sveltekit-superforms
Version:
Making SvelteKit forms a pleasure to use!
22 lines (21 loc) • 1.23 kB
TypeScript
export type PathData = {
parent: any;
key: string;
value: any;
path: (string | number | symbol)[];
isLeaf: boolean;
set: (value: any) => 'skip';
};
export declare function pathExists<T extends object>(obj: T, path: (string | number | symbol)[], options?: {
value?: (value: unknown) => boolean;
modifier?: (data: PathData) => undefined | unknown | void;
}): PathData | undefined;
export declare function traversePath<T extends object>(obj: T, realPath: (string | number | symbol)[], modifier?: (data: PathData) => undefined | unknown | void): PathData | undefined;
type TraverseStatus = 'abort' | 'skip' | unknown | void;
export declare function traversePaths<T extends object>(parent: T, modifier: (data: PathData) => TraverseStatus, path?: (string | number | symbol)[]): TraverseStatus;
/**
* Compare two objects and return the differences as paths.
*/
export declare function comparePaths(newObj: unknown, oldObj: unknown): (string | number | symbol)[][];
export declare function setPaths(obj: Record<string, unknown>, paths: (string | number | symbol)[][], value: NonNullable<unknown> | ((path: (string | number | symbol)[], data: PathData) => unknown) | null | undefined): void;
export {};