UNPKG

vasille

Version:

The same framework which is designed to build bulletproof frontends (core library).

23 lines (22 loc) 1.06 kB
import { Fragment } from "../node/node.js"; import { Runner } from "../node/runner.js"; export interface RepeatNodeOptions<Node, Element, TagOptions extends object, T, IdT> { slot?: (ctx: Fragment<Node, Element, TagOptions>, value: T, index: IdT) => void; } /** * Repeat node repeats its children * @class RepeatNode * @extends Fragment */ export declare class RepeatNode<Node, Element, TagOptions extends object, IdT, T, Opts extends RepeatNodeOptions<Node, Element, TagOptions, T, IdT> = RepeatNodeOptions<Node, Element, TagOptions, T, IdT>> extends Fragment<Node, Element, TagOptions> { /** * Children node hash * @type {Map} */ protected nodes: Map<IdT, Fragment<Node, Element, TagOptions>>; protected slot: ((ctx: Fragment<Node, Element, TagOptions>, value: T, index: IdT) => void) | undefined; constructor(input: Opts, runner: Runner<Node, Element, TagOptions>); createChild(id: IdT, item: T, before?: Fragment<Node, Element, TagOptions>): any; destroyChild(id: IdT, item: T): void; destroy(): void; }