@textbus/core
Version:
Textbus is a rich text editor and framework that is highly customizable and extensible to achieve rich wysiwyg effects.
19 lines (18 loc) • 949 B
TypeScript
import { ChangeMarker } from './change-marker';
import { ObjectProxyHandler } from './object-proxy-handler';
import { ArrayProxyHandler } from './array-proxy-handler';
import { Slot } from '../model/slot';
export declare const rawToProxyCache: WeakMap<object, Model>;
export declare const proxyToRawCache: WeakMap<Model, object>;
export declare const objectChangeMarkerCache: WeakMap<object, ChangeMarker>;
export declare function toRaw<T>(value: T): T;
export declare function toRaws(items: any[]): any[];
export declare const defaultObjectReactiveHandler: ObjectProxyHandler<object>;
export declare const defaultArrayReactiveHandler: ArrayProxyHandler<any[]>;
export interface Model {
__changeMarker__: ChangeMarker;
}
export type ProxyModel<T extends object> = {
[Key in keyof T]: T[Key] extends Slot ? T[Key] : T[Key] extends object ? ProxyModel<T[Key]> : T[Key];
} & Model;
export declare function observe<T extends object>(raw: T): T;