UNPKG

marko

Version:

Optimized runtime for Marko templates.

23 lines (22 loc) 1.85 kB
import { type Accessor, AccessorProp, type BranchScope, RendererProp, type Scope } from "../common/types"; import { type Signal, type SignalFn } from "./signals"; export type Renderer = { [RendererProp.Id]: string; [RendererProp.Setup]: undefined | SetupFn; [RendererProp.Clone]: (branch: BranchScope, ns: string) => void; [RendererProp.Params]: Signal<unknown> | undefined; [RendererProp.Owner]: Scope | undefined; [RendererProp.Accessor]: Accessor | undefined; [RendererProp.LocalClosures]?: Record<Accessor, Signal<unknown>>; [RendererProp.LocalClosureValues]?: Record<Accessor, unknown>; }; export type SetupFn = (scope: Scope) => void; export declare function createBranch($global: Scope[AccessorProp.Global], renderer: Renderer | string, parentScope: Scope | undefined, parentNode: ParentNode): BranchScope; export declare function setParentBranch(branch: BranchScope, parentBranch: BranchScope | undefined): void; export declare function createAndSetupBranch($global: Scope[AccessorProp.Global], renderer: Renderer, parentScope: Scope | undefined, parentNode: ParentNode): BranchScope; export declare function setupBranch(renderer: Renderer, branch: BranchScope): BranchScope; export declare function _content(id: string, template?: string | 0, walks?: string | 0, setup?: { _: Signal<unknown>; } | SetupFn | 0, params?: Signal<unknown> | 0, dynamicScopesAccessor?: Accessor): (owner?: Scope) => Renderer; export declare function _content_resume(id: string, template: string | 0, walks?: string | 0, setup?: SetupFn | 0, params?: Signal<unknown> | 0, dynamicScopesAccessor?: Accessor): (owner?: Scope) => Renderer; export declare function _content_closures(renderer: ReturnType<typeof _content>, closureFns: Record<Accessor, SignalFn>): (owner: Scope, closureValues: Record<Accessor, unknown>) => Renderer;