aboutsummaryrefslogtreecommitdiff
path: root/dev/lib/handlebars/index.ts
blob: 1603044589776bbbe7a74f585e4b89b021e469b9 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
/*
 * Elasticsearch B.V licenses this file to you under the MIT License.
 * See `packages/kbn-handlebars/LICENSE` for more information.
 */

import { Handlebars } from './src/handlebars';
import { allowUnsafeEval } from './src/utils';

// The handlebars module uses `export =`, so it can't be re-exported using `export *`.
// However, because of Babel, we're not allowed to use `export =` ourselves.
// So we have to resort to using `exports default` even though eslint doesn't like it.
//
// eslint-disable-next-line import/no-default-export
globalThis.Handlebars = Handlebars;

/**
 * If the `unsafe-eval` CSP is set, this string constant will be `compile`,
 * otherwise `compileAST`.
 *
 * This can be used to call the more optimized `compile` function in
 * environments that support it, or fall back to `compileAST` on environments
 * that don't.
 */
globalThis.handlebarsCompileFnName = allowUnsafeEval() ? 'compile' : 'compileAST';

export type {
  CompileOptions,
  RuntimeOptions,
  HelperDelegate,
  TemplateDelegate,
  DecoratorDelegate,
  HelperOptions,
} from './src/types';