UNPKG

ember-source

Version:

A JavaScript framework for creating ambitious web applications

44 lines 1.53 kB
declare module '@ember/template-compiler/lib/types' { import type { ASTPluginEnvironment, builders, PrecompileOptions, PrecompileOptionsWithLexicalScope } from "@glimmer/syntax"; export type Builders = typeof builders; export type PluginFunc = NonNullable<NonNullable<PrecompileOptionsWithLexicalScope["plugins"]>["ast"]>[number]; export type LexicalScope = NonNullable<PrecompileOptionsWithLexicalScope["lexicalScope"]>; interface Plugins { ast: PluginFunc[]; } export interface EmberPrecompileOptions extends PrecompileOptions { isProduction?: boolean; moduleName?: string; plugins?: Plugins; lexicalScope?: LexicalScope; /** * This supports template blocks defined in class bodies. * * Manual form: * * ```ts * class MyComponent { * static { * template(templateContent, { * component: this, * eval: () => eval(arguments[0]) * }) * } * } * ``` * * GJS form (compiled to the manual form via `content-tag`): * * ```ts * class MyComponent { * <template>Template Content</template> * } * ``` */ component?: object; eval?: (value: string) => unknown; scope?: () => Record<string, unknown>; } export type EmberASTPluginEnvironment = ASTPluginEnvironment & EmberPrecompileOptions; export {}; }