mirror of
https://github.com/FlipsideCrypto/DefinitelyTyped.git
synced 2026-02-06 10:56:53 +00:00
* [@types/nunjucks] Fix function signiatures in Environment * [@types/nunjucks] Add tests for improved Environment function signiatures
70 lines
1.9 KiB
TypeScript
70 lines
1.9 KiB
TypeScript
import nunjucks = require("nunjucks");
|
|
|
|
nunjucks.configure({ autoescape: false });
|
|
|
|
let rendered = nunjucks.render("./noexists.html");
|
|
|
|
nunjucks.render('foo.html', { username: 'James' });
|
|
nunjucks.render(
|
|
'async.html',
|
|
(err: nunjucks.lib.TemplateError | null, res: string | null) => {},
|
|
);
|
|
|
|
const ctx = { items: ["Hello", "this", "is", "for", "testing"] };
|
|
const src = "{% for item in items %}{{item}}{% endfor %}";
|
|
|
|
rendered = nunjucks.renderString(src, ctx);
|
|
nunjucks.renderString('Hello {{ username }}', { username: 'James' });
|
|
|
|
const compiled = nunjucks.compile(src);
|
|
rendered = compiled.render(ctx);
|
|
nunjucks.compile('Hello {{ username }}').render({ username: 'James' });
|
|
|
|
rendered = nunjucks.precompileString(src, {
|
|
name: "TestyWesty"
|
|
});
|
|
|
|
const template = new nunjucks.Template(src);
|
|
rendered = template.render(ctx);
|
|
|
|
let env = nunjucks.configure({ autoescape: false });
|
|
nunjucks.configure('/views');
|
|
nunjucks.configure('views', {
|
|
autoescape: true,
|
|
watch: true
|
|
});
|
|
rendered = env.renderString(src, ctx);
|
|
|
|
let extension: nunjucks.Extension = {
|
|
tags: ["glitter", "star wars", "Age of Empires"],
|
|
parse(parser, nodes, lexer) {
|
|
return "The parser api is complicated";
|
|
}
|
|
};
|
|
env = env.addExtension("SpawnGlitter", extension);
|
|
const hasExtension: boolean = env.hasExtension('SpawnGlitter');
|
|
extension = env.getExtension('SpawnGlitter');
|
|
env.removeExtension('SpawnGlitter');
|
|
|
|
env = env.addGlobal('key', 'value');
|
|
const value = env.getGlobal('key');
|
|
|
|
env = env.addFilter('testFilter', arg => arg, false);
|
|
const testFilter: ((arg: any) => any) = env.getFilter('testFilter');
|
|
|
|
nunjucks.installJinjaCompat();
|
|
|
|
class MyLoader extends nunjucks.Loader implements nunjucks.ILoader {
|
|
getSource(name: string): nunjucks.LoaderSource {
|
|
return {
|
|
src: "Amadala",
|
|
path: "The Right One",
|
|
noCache: false
|
|
};
|
|
}
|
|
}
|
|
|
|
env = new nunjucks.Environment(new MyLoader());
|
|
|
|
new nunjucks.runtime.SafeString("an unsafe string");
|