diff options
author | toasted-nutbread <toasted-nutbread@users.noreply.github.com> | 2024-02-05 06:11:08 -0500 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-02-05 11:11:08 +0000 |
commit | 71c3aff53173cc83a96d7d2715b7918bdbc2d8a5 (patch) | |
tree | d13cc4a90ef26bb6476daca1edc1999208f4fadc /dev/lib/handlebars/src/handlebars.ts | |
parent | 0e7531bc5b443461d7e76e20877464ccf48a3ef5 (diff) |
kbn-handlebars dependency update (#613)
* Update kbn-handlebars dependency
* Move handlebars dependency to dev
* Update package
* Update readme
* Update readme
* Ignore legal file
Diffstat (limited to 'dev/lib/handlebars/src/handlebars.ts')
-rw-r--r-- | dev/lib/handlebars/src/handlebars.ts | 47 |
1 files changed, 0 insertions, 47 deletions
diff --git a/dev/lib/handlebars/src/handlebars.ts b/dev/lib/handlebars/src/handlebars.ts deleted file mode 100644 index 358d1b73..00000000 --- a/dev/lib/handlebars/src/handlebars.ts +++ /dev/null @@ -1,47 +0,0 @@ -/* - * Elasticsearch B.V licenses this file to you under the MIT License. - * See `packages/kbn-handlebars/LICENSE` for more information. - */ - -// The handlebars module uses `export =`, so we should technically use `import Handlebars = require('handlebars')`, but Babel will not allow this: -// https://www.typescriptlang.org/docs/handbook/modules.html#export--and-import--require -import Handlebars = require('handlebars'); - -import type { CompileOptions, RuntimeOptions, TemplateDelegate } from './types'; -import { ElasticHandlebarsVisitor } from './visitor'; - -const originalCreate = Handlebars.create; - -export { Handlebars }; - -/** - * Creates an isolated Handlebars environment. - * - * Each environment has its own helpers. - * This is only necessary for use cases that demand distinct helpers. - * Most use cases can use the root Handlebars environment directly. - * - * @returns A sandboxed/scoped version of the @kbn/handlebars module - */ -Handlebars.create = function (): typeof Handlebars { - const SandboxedHandlebars = originalCreate.call(Handlebars) as typeof Handlebars; - // When creating new Handlebars environments, ensure the custom compileAST function is present in the new environment as well - SandboxedHandlebars.compileAST = Handlebars.compileAST; - return SandboxedHandlebars; -}; - -Handlebars.compileAST = function ( - input: string | hbs.AST.Program, - options?: CompileOptions -): TemplateDelegate { - if (input == null || (typeof input !== 'string' && input.type !== 'Program')) { - throw new Handlebars.Exception( - `You must pass a string or Handlebars AST to Handlebars.compileAST. You passed ${input}` - ); - } - - // If `Handlebars.compileAST` is reassigned, `this` will be undefined. - const visitor = new ElasticHandlebarsVisitor(this ?? Handlebars, input, options); - - return (context: any, runtimeOptions?: RuntimeOptions) => visitor.render(context, runtimeOptions); -}; |