vasille-jsx
Version:
The first Developer eXperience Orientated front-end framework (JSX components)
18 lines (17 loc) • 777 B
TypeScript
import { IValue, Reactive, Reference } from "vasille";
export declare class ProxyReference extends Reference<unknown> {
forceUpdate(): void;
}
export declare function proxyObject(obj: object, proxyRef: ProxyReference): object;
export declare function proxy(o: unknown): unknown;
export declare function reactiveObject<T extends object>(node: Reactive, o: T, name?: string): {
[K in keyof T]: T[K] extends IValue<unknown> ? T[K] : IValue<T[K]>;
};
export declare function reactiveObjectProxy<T extends {
[k: string | symbol]: IValue<unknown>;
}>(o: T): {
[K in keyof T]: T[K] extends IValue<infer R> ? R : never;
};
export declare function storeReactiveObject<T extends object>(o: T): {
[K in keyof T]: T[K] extends IValue<unknown> ? T[K] : IValue<T[K]>;
};