vasille-jsx
Version:
The first Developer eXperience Orientated front-end framework (JSX components)
13 lines (12 loc) • 1.35 kB
TypeScript
import { Fragment, App, Runner } from "vasille";
interface CompositionProps {
slot?: (...args: any[]) => void;
}
export type Composed<Node, Element, TagOptions extends object, In extends CompositionProps, Out> = ($: In & {
callback?(data: Out | undefined): void;
}, node?: Fragment<Node, Element, TagOptions>, slot?: In["slot"]) => void;
export declare function mvvmView<Node, Element, TagOptions extends object, In extends CompositionProps, Out>(renderer: (node: Fragment<Node, Element, TagOptions>, input: In) => Out, name: string): Composed<Node, Element, TagOptions, In, Out>;
export declare function mvcView<Node, Element, TagOptions extends object, In extends CompositionProps, Out>(renderer: (node: Fragment<Node, Element, TagOptions>, input: In) => Out, name: string): Composed<Node, Element, TagOptions, In, Out>;
export declare function hybridView<Node, Element, TagOptions extends object, In extends CompositionProps, Out>(renderer: (node: Fragment<Node, Element, TagOptions>, input: In) => Out, modelProps: string[], name: string): Composed<Node, Element, TagOptions, In, Out>;
export declare function mount<Node, Element, TagOptions extends object, T>(tag: Element, view: ($: T, node: Fragment<Node, Element, TagOptions>) => unknown, runner: Runner<Node, Element, TagOptions>, $: T): App<Node, Element, TagOptions>;
export {};