.. | ||
example | ||
lib | ||
test | ||
.gitignore | ||
analysis_options.yaml | ||
AUTHORS.md | ||
CHANGELOG.md | ||
LICENSE | ||
mono_pkg.yaml | ||
pubspec.yaml | ||
README.md |
jael_preprocessor
A pre-processor for resolving blocks and includes within Jael templates.
Installation
In your pubspec.yaml
:
dependencies:
jael_prepreprocessor: ^1.0.0-alpha
Usage
It is unlikely that you will directly use this package, as it is
more of an implementation detail than a requirement. However, it
is responsible for handling include
and block
directives
(template inheritance), so you are a package maintainer and want
to support Jael, read on.
To keep things simple, just use the resolve
function, which will
take care of inheritance for you.
import 'package:jael_preprocessor/jael_preprocessor.dart' as jael;
myFunction() async {
var doc = await parseTemplateSomehow();
var resolved = await jael.resolve(doc, dir, onError: (e) => doSomething());
}
You may occasionally need to manually patch in functionality that is not
available through the official Jael packages. To achieve this, simply
provide an Iterable
of Patcher
functions:
myOtherFunction(jael.Document doc) {
return jael.resolve(doc, dir, onError: errorHandler, patch: [
syntactic(),
sugar(),
etc(),
]);
}
This package uses package:file
, rather than dart:io
.