aboutsummaryrefslogtreecommitdiff
path: root/dev/lib/handlebars/index.ts
diff options
context:
space:
mode:
Diffstat (limited to 'dev/lib/handlebars/index.ts')
-rw-r--r--dev/lib/handlebars/index.ts33
1 files changed, 33 insertions, 0 deletions
diff --git a/dev/lib/handlebars/index.ts b/dev/lib/handlebars/index.ts
new file mode 100644
index 00000000..16030445
--- /dev/null
+++ b/dev/lib/handlebars/index.ts
@@ -0,0 +1,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';