UNPKG

marko

Version:

Optimized runtime for Marko templates.

46 lines (45 loc) • 1.75 kB
import { types as t } from "@marko/compiler"; import { type Binding } from "../../util/bindings"; import { type ParamsTree } from "../../util/params-tree"; import { preAnalyze } from "./pre-analyze"; declare module "@marko/compiler/dist/types" { interface ProgramExtra { /** Client code reads something of its own after resume (a section, or a * renderer it registers), so a page bundles it. */ hasResumes?: boolean; /** What the template reads of its params (its input is the first), the * contract its callers keep. */ paramsTree?: ParamsTree; /** The names every compile of the template exports its parts under. */ exportNames?: { template: string; walks: string; setup: string; /** The signal of each of the template's param bindings, a property of * one included. */ params: Map<Binding, string>; /** The `_dynamic_tag_content` signal of each binding only a name-only * dynamic tag reads. */ directContent: Map<Binding, string>; }; styleFile?: string; } } declare const _default: { migrate: { enter(this: unknown, program: t.NodePath<t.Program>): void; exit(this: unknown, program: t.NodePath<t.Program>): void; }; transform: { exit: typeof preAnalyze; }; analyze: { enter(this: unknown, program: t.NodePath<t.Program>): void; exit(this: unknown, program: t.NodePath<t.Program>): void; }; translate: { enter(this: unknown, program: t.NodePath<t.Program>): void; exit(this: unknown, program: t.NodePath<t.Program>): void; }; }; export default _default;