diff options
Diffstat (limited to 'dev/lib/handlebars/src/utils.ts')
-rw-r--r-- | dev/lib/handlebars/src/utils.ts | 69 |
1 files changed, 0 insertions, 69 deletions
diff --git a/dev/lib/handlebars/src/utils.ts b/dev/lib/handlebars/src/utils.ts deleted file mode 100644 index f55bd98a..00000000 --- a/dev/lib/handlebars/src/utils.ts +++ /dev/null @@ -1,69 +0,0 @@ -/* - * Elasticsearch B.V licenses this file to you under the MIT License. - * See `packages/kbn-handlebars/LICENSE` for more information. - */ - -// @ts-expect-error: Could not find a declaration file for module -import { createFrame } from 'handlebars/dist/cjs/handlebars/utils'; - -import type { AmbiguousHelperOptions, DecoratorOptions } from './types'; - -export function isBlock(node: hbs.AST.Node): node is hbs.AST.BlockStatement { - return 'program' in node || 'inverse' in node; -} - -export function isDecorator( - node: hbs.AST.Node -): node is hbs.AST.Decorator | hbs.AST.DecoratorBlock { - return node.type === 'Decorator' || node.type === 'DecoratorBlock'; -} - -export function toDecoratorOptions(options: AmbiguousHelperOptions) { - // There's really no tests/documentation on this, but to match the upstream codebase we'll remove `lookupProperty` from the decorator context - delete (options as any).lookupProperty; - - return options as DecoratorOptions; -} - -export function noop() { - return ''; -} - -// liftet from handlebars lib/handlebars/runtime.js -export function initData(context: any, data: any) { - if (!data || !('root' in data)) { - data = data ? createFrame(data) : {}; - data.root = context; - } - return data; -} - -// liftet from handlebars lib/handlebars/compiler/compiler.js -export function transformLiteralToPath(node: { path: hbs.AST.PathExpression | hbs.AST.Literal }) { - const pathIsLiteral = 'parts' in node.path === false; - - if (pathIsLiteral) { - const literal = node.path; - // @ts-expect-error: Not all `hbs.AST.Literal` sub-types has an `original` property, but that's ok, in that case we just want `undefined` - const original = literal.original; - // Casting to string here to make false and 0 literal values play nicely with the rest - // of the system. - node.path = { - type: 'PathExpression', - data: false, - depth: 0, - parts: [original + ''], - original: original + '', - loc: literal.loc, - }; - } -} - -export function allowUnsafeEval() { - try { - new Function(); - return true; - } catch (e) { - return false; - } -} |