19 lines
1.0 KiB
TypeScript
19 lines
1.0 KiB
TypeScript
|
|
||
|
export const van:{
|
||
|
readonly state: <T>(initVal: T)=> Van.State<T>
|
||
|
readonly derive: <T>(f: () => T) => Van.State<T>
|
||
|
readonly add: (dom: Element, ...children: readonly Van.ChildDom[]) => Element
|
||
|
readonly tags: Van.Tags & ((namespaceURI: string) => Readonly<Record<string, Van.TagFunc<Element>>>)
|
||
|
readonly hydrate: <T extends Node>(dom: T, f: (dom: T) => T | null | undefined) => T
|
||
|
}
|
||
|
export const vanX: {
|
||
|
readonly calc: <R>(f: () => R) => R
|
||
|
readonly reactive: <T extends object>(obj: T) => T
|
||
|
readonly noreactive: <T extends object>(obj: T) => T
|
||
|
readonly stateFields: <T extends object>(obj: T) => VanX.StateOf<T>
|
||
|
readonly raw: <T extends object>(obj: T) => T
|
||
|
readonly list: <T extends object, ElementType extends Element>(container: (() => ElementType) | ElementType, items: T,itemFunc: (v: Van.State<VanX.ValueType<T>>, deleter: () => void, k: VanX.KeyType<T>) => Node) => ElementType
|
||
|
readonly replace: <T extends object>(obj: T, replacement: VanX.ReplacementFunc<T> | T) => T
|
||
|
readonly compact: <T extends object>(obj: T) => T
|
||
|
}
|