UNPKG

marko

Version:

Optimized runtime for Marko templates.

17 lines (16 loc) • 1.18 kB
import { types as t } from "@marko/compiler"; import { type Binding } from "./bindings"; import { type Reason, type Reasons } from "./reasons"; import { type Section } from "./sections"; import { type Sources } from "./sources"; export declare function isSameReason(a: Reason | undefined, b: Reason | undefined): boolean; export declare function buildGroupMask(groups: { value: number | t.Expression | undefined; names: string; }[]): t.Expression | undefined; export declare function getScopeReasonStatement(section: Section): t.Statement; export declare function getWriteReason(binding: Binding): Sources | undefined; export declare function getBranchWriteReason(section: Section): Sources | undefined; export declare function getWriteGuard(section: Section, reason: undefined | Reason, omitUnconditional: boolean): t.Expression | undefined; export declare function getWriteGuardForAny(section: Section, reasons: undefined | Reasons, omitUnconditional: boolean): t.Expression | undefined; export declare function getExprIfWritten<T extends undefined | Reason, R extends (T extends {} ? t.Expression : undefined)>(section: Section, reason: T, expr: t.Expression): R;