vasille-jsx
Version:
The first Developer eXperience Orientated front-end framework (JSX components)
33 lines (32 loc) • 1.85 kB
TypeScript
import { IValue, Reactive, KindOfIValue, Expression } from "vasille";
import { reactiveObject, storeReactiveObject } from "./objects.js";
import { ContextMap, ContextSet } from "./models.js";
export declare const internal: {
/** create an expression (without context), use it for OwningPointer */
ex<T, Args extends unknown[]>(func: (...args: Args) => T, values: KindOfIValue<Args>): Expression<T, Args>;
/** create a forward-only pointer (without context), use it for OwningPointer */
fo<T>(v: IValue<T>): IValue<T>;
/** create a reference (without context), use it for default composing props values */
r<T>(v: T): IValue<T>;
rv<T>(v: T | IValue<T>): T;
/** create a reactive object proxy, use it for sending reactive objects to child components */
rop<T extends {
[k: string | symbol]: IValue<unknown>;
}>(o: T): { [K in keyof T]: T[K] extends IValue<infer R> ? R : never; };
/** translate `{...}` to `$.ro(this, {...})` */
ro: typeof reactiveObject;
/** translate `new Set(#)` to `$.sm(this, #)` */
sm(node: Reactive, data?: unknown[], name?: string): ContextSet<unknown>;
/** translate `new Map(#)` to `$.mm(this, #)` */
mm(node: Reactive, data?: [unknown, unknown][], name?: string): ContextMap<unknown, unknown>;
/** translate `[...]` to `$.am(this, [...])` */
am(node: Reactive, data?: unknown[], name?: string): import("vasille").ArrayModel<unknown>;
/** translate `{...} to $.sro({...})` */
sro: typeof storeReactiveObject;
/** translate `new Set(#)` to `$.ssm(#)` */
ssm(data?: unknown[]): ContextSet<unknown>;
/** translate `new Map(#)` to `$.smm(#)` */
smm(data?: [unknown, unknown][]): ContextMap<unknown, unknown>;
/** translate `[...]` to `$.sam([...])` */
sam(data?: unknown[]): import("vasille").ArrayModel<unknown>;
};