mirror of
https://github.com/gosticks/DefinitelyTyped.git
synced 2026-08-16 23:10:29 +00:00
[@types/nunjucks] Fix types for functions in Environment (#40026)
* [@types/nunjucks] Fix function signiatures in Environment * [@types/nunjucks] Add tests for improved Environment function signiatures
This commit is contained in:
committed by
Nathan Shively-Sanders
parent
62ef71cd97
commit
1cb82bdd9f
Vendored
+7
-5
@@ -1,6 +1,7 @@
|
||||
// Type definitions for nunjucks 3.1
|
||||
// Project: http://mozilla.github.io/nunjucks/, https://github.com/mozilla/nunjucks
|
||||
// Definitions by: Ruben Slabbert <https://github.com/RubenSlabbert>
|
||||
// Matthew Burstein <https://github.com/MatthewBurstein>
|
||||
// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped
|
||||
// TypeScript Version: 2.2
|
||||
|
||||
@@ -74,15 +75,16 @@ export class Environment {
|
||||
renderString(name: string, context: object): string;
|
||||
renderString(name: string, context: object, callback?: TemplateCallback<string>): void;
|
||||
|
||||
addFilter(name: string, func: (...args: any[]) => any, async?: boolean): void;
|
||||
getFilter(name: string): void;
|
||||
addFilter(name: string, func: (...args: any[]) => any, async?: boolean): Environment;
|
||||
getFilter(name: string): (...args: any[]) => any;
|
||||
|
||||
addExtension(name: string, ext: Extension): void;
|
||||
addExtension(name: string, ext: Extension): Environment;
|
||||
removeExtension(name: string): void;
|
||||
getExtension(name: string): Extension;
|
||||
hasExtension(name: string): void;
|
||||
hasExtension(name: string): boolean;
|
||||
|
||||
addGlobal(name: string, value: any): void;
|
||||
addGlobal(name: string, value: any): Environment;
|
||||
getGlobal(name: string): any;
|
||||
|
||||
getTemplate(name: string, eagerCompile?: boolean): Template;
|
||||
getTemplate(name: string, eagerCompile?: boolean, callback?: Callback<Error, Template>): void;
|
||||
|
||||
@@ -35,12 +35,22 @@ nunjucks.configure('views', {
|
||||
});
|
||||
rendered = env.renderString(src, ctx);
|
||||
|
||||
env.addExtension("SpawnGlitter", {
|
||||
tags: ["glitter", "star wars", "Age of Empires"],
|
||||
parse(parser, nodes, lexer) {
|
||||
return "The parser api is complicated";
|
||||
}
|
||||
});
|
||||
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();
|
||||
|
||||
|
||||
Reference in New Issue
Block a user