tracked-instance
Version:
Build large forms and track all changes
17 lines (16 loc) • 965 B
TypeScript
export type DeepPartial<Value> = Value extends object ? Value extends Array<infer ArrayValue> ? Array<DeepPartial<ArrayValue>> : {
[Property in keyof Value]?: DeepPartial<Value[Property]>;
} : Value;
export interface NestedProxyPathItem {
target: Record<string, any>;
property: string;
receiver?: Record<string, any>;
}
export declare const isObject: (value: unknown) => boolean;
export declare const isEmpty: (value: object) => boolean;
export declare const iterateObject: (source: Record<string, any>, params?: {
goDeepCondition?: (path: string[], value: any) => boolean;
includeParent?: boolean;
}) => Generator<[string[], any], void, any>;
export declare const createNestedRef: <Source extends Record<string, any>>(source: Source, handler: <InnerSource extends Record<string, any>>(path: NestedProxyPathItem[]) => ProxyHandler<InnerSource>) => import("vue").Ref<Source, Source>;
export declare const cloneDeep: (inputValue: any) => any;