UNPKG

vasille-jsx

Version:

The same framework which is designed to build bulletproof frontends (JSX components)

13 lines (12 loc) 1.51 kB
import { App, Fragment, Reactive } from "vasille"; import { DevReactive, StaticPosition } from "vasille/dev"; import { IDevRunner } from "vasille/dev"; import { CompositionProps } from "../compose.js"; import { DevRunner, DevTagOptions, Inspector } from "vasille/dev"; export type DevComposed<Node, Element, TagOptions extends object, In extends CompositionProps, Out> = ($: In & { callback?(data: Out | undefined): void; }, node?: Fragment<Node, Element, TagOptions, IDevRunner<Node, Element, TagOptions>>, slot?: In["slot"], usage?: StaticPosition) => void; export declare function devView<Node, Element, TagOptions extends object, In extends CompositionProps, Out>(renderer: (node: Fragment<Node, Element, TagOptions, IDevRunner<Node, Element, TagOptions>>, input: In) => Out, declaration: StaticPosition, name: string): DevComposed<Node, Element, TagOptions, In, Out>; export declare function devStore<Out extends object>(fn: (ctx: Reactive) => Out, declaration: StaticPosition, name: string): Out; export declare function devModel<In extends object, Out extends object>(fn: (ctx: DevReactive<IDevRunner<unknown, unknown, object>>, o: In) => Out, declaration: StaticPosition, name: string): (o: In, parent: Reactive | undefined, usage: StaticPosition) => Out; export declare function devMount<T>(tag: Element, view: ($: T, node: Fragment<Node, Element, DevTagOptions, IDevRunner<Node, Element, DevTagOptions>>) => unknown, runner: DevRunner, $: T, inspector: Inspector): App<Node, Element, DevTagOptions>;