.. | ||
example | ||
lib | ||
test | ||
analysis_options.yaml | ||
AUTHORS.md | ||
CHANGELOG.md | ||
LICENSE | ||
melos_jael3_preprocessor.iml | ||
mono_pkg.yaml | ||
pubspec.yaml | ||
README.md |
Jael Ppreprocessor
A pre-processor for resolving blocks and includes within Jael 3 templates.
Installation
In your pubspec.yaml
:
dependencies:
jael3_prepreprocessor: ^4.2.0
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:jael3_preprocessor/jael3_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
.