UNPKG

taggedjs

Version:

tagged template reactive html

50 lines (49 loc) 1.69 kB
import { State } from '../state/index.js'; import { InterpolatedTemplates } from '../interpolations/interpolations.js'; import { TemplaterResult } from './TemplaterResult.class.js'; import { TagValues } from './html.js'; import { ValueTypes } from './ValueTypes.enum.js'; import { DomMetaMap, LikeObjectChildren } from '../interpolations/optimizers/LikeObjectElement.type.js'; import { AnySupport } from './Support.class.js'; import { StringTag } from './StringTag.type.js'; export { StringTag }; export declare const variablePrefix = ":tagvar"; export declare const variableSuffix = ":"; export type EventCallback = (event: Event) => any; export type EventMem = { elm: Element; callback: EventCallback; }; export type TagMemory = { state: State; }; export interface TagTemplate { interpolation: InterpolatedTemplates; string: string; strings: string[]; values: unknown[]; domMetaMap?: DomMetaMap; } export type Tag = { values: unknown[]; tagJsType?: typeof ValueTypes.tag | typeof ValueTypes.dom; templater?: TemplaterResult; ownerSupport?: AnySupport; arrayValue?: any; }; export type KeyFunction = (arrayValue: unknown) => StringTag; export declare function getStringTag(strings: string[], values: unknown[]): StringTag; export type DomTag = Tag & { children?: { dom: LikeObjectChildren; values: TagValues; }; dom: LikeObjectChildren; values: unknown[]; key: (arrayValue: unknown) => DomTag; html: { dom: (dom: LikeObjectChildren, // ObjectChildren values: TagValues) => DomTag; }; }; export declare function getDomTag(dom: LikeObjectChildren, values: unknown[]): DomTag;