@utilify/object
Version:
These functions simplify many common operations in JavaScript/TypeScript development when working with objects and data structures.
35 lines (20 loc) • 1.69 kB
TypeScript
declare function omit<T extends Record<string, any>, K extends keyof T>(obj: T, keys: K[]): Omit<T, K>;
declare function pick<T extends Record<string, any>, K extends keyof T>(obj: T, keys: K[]): Pick<T, K>;
declare function merge(...values: Record<string, any>[]): Record<string, any>;
declare function merge(...values: any[][]): any[];
declare function deepClone<T extends Record<string, any>>(value: T): T;
declare function deepClone<T extends any[]>(value: T): T;
declare function deepMerge(...values: Record<string, any>[]): Record<string, any>;
declare function deepMerge(...values: any[][]): any[];
declare function isEqual(value1: any, value2: any): boolean;
declare function isDeepEqual(value1: Record<string, any>, value2: Record<string, any>): boolean;
declare function isDeepEqual(value1: any[], value2: any[]): boolean;
declare function flattenObj(obj: Record<string, any>, separator?: string, path?: string): Record<string, any>;
declare function clone<T extends Record<string, any>>(value: T): T;
declare function clone<T extends any[]>(value: T): T;
declare function freeze(obj: Record<string, any>): Record<string, any>;
declare function deepFreeze(obj: Record<string, any>): Record<string, any>;
declare function interpolate<T extends Record<string, any>>(obj: T, data: Record<string, any>): T;
declare function unflattenObj(obj: Record<string, any>, separator?: string): Record<string, any>;
declare function sanitizeObj(obj: Record<string, any>, values: any[], replace?: any): Record<string, any>;
export { clone, deepClone, deepFreeze, deepMerge, flattenObj, freeze, interpolate, isDeepEqual, isEqual, merge, omit, pick, sanitizeObj, unflattenObj };