dev-utils-plus
Version:
Type-safe utility functions for JavaScript/TypeScript: string, array, object, date, validation, crypto, format, math
52 lines • 1.87 kB
TypeScript
/**
* Object utility functions for common operations
*/
/**
* Deep clones an object
*/
export declare function deepClone<T>(obj: T): T;
/**
* Merges multiple objects deeply
*/
export declare function deepMerge<T extends Record<string, any>>(...objects: T[]): T;
/**
* Picks specific keys from an object
*/
export declare function pick<T extends Record<string, any>, K extends keyof T>(obj: T, keys: K[]): Pick<T, K>;
/**
* Omits specific keys from an object
*/
export declare function omit<T extends Record<string, any>, K extends keyof T>(obj: T, keys: K[]): Omit<T, K>;
/**
* Checks if an object is empty
*/
export declare function isEmpty(obj: Record<string, any>): boolean;
/**
* Gets nested object property value using dot notation
*/
export declare function get<T>(obj: Record<string, any>, path: string, defaultValue?: T): T | undefined;
/**
* Sets nested object property value using dot notation
*/
export declare function set<T extends Record<string, any>>(obj: T, path: string, value: any): T;
/**
* Flattens a nested object into a single level
*/
export declare function flattenObject(obj: Record<string, any>, prefix?: string, separator?: string): Record<string, any>;
/**
* Inverts object keys and values
*/
export declare function invert<T extends Record<string, any>>(obj: T): Record<string, string>;
/**
* Creates an object from an array of key-value pairs
*/
export declare function fromEntries<K extends string | number, V>(entries: [K, V][]): Record<K, V>;
/**
* Converts an object to an array of key-value pairs
*/
export declare function entries<K extends string | number, V>(obj: Record<K, V>): [K, V][];
/**
* Maps object values using a transformation function
*/
export declare function mapValues<T, U>(obj: Record<string, T>, fn: (value: T, key: string) => U): Record<string, U>;
//# sourceMappingURL=index.d.ts.map