@meframe/core
Version:
Next generation media processing framework based on WebCodecs
34 lines • 1.35 kB
TypeScript
/**
* Deep merge two objects recursively
* Later values override earlier ones
* Supports merging objects with different but compatible types
*/
export declare function deepMerge<T = any>(target: any, ...sources: any[]): T;
/**
* Type-safe deep merge for configuration objects
* Ensures the result conforms to the target type structure
*/
export declare function deepMergeConfig<T extends Record<string, any>>(defaults: T, ...overrides: Array<Partial<Record<keyof T, any>>>): T;
/**
* Get a nested value from an object using a path
* @param obj The object to query
* @param path Path to the value (e.g., 'a.b.c' or ['a', 'b', 'c'])
* @param defaultValue Default value if path doesn't exist
*/
export declare function get<T = any>(obj: any, path: string | string[], defaultValue?: T): T;
/**
* Set a nested value in an object using a path
* @param obj The object to modify
* @param path Path to the value (e.g., 'a.b.c' or ['a', 'b', 'c'])
* @param value The value to set
*/
export declare function set<T extends Record<string, any>>(obj: T, path: string | string[], value: any): T;
/**
* Check if a value is a plain object
*/
export declare function isPlainObject(value: any): value is Record<string, any>;
/**
* Clone an object deeply
*/
export declare function cloneDeep<T>(obj: T): T;
//# sourceMappingURL=object-utils.d.ts.map