flattener-kit
Version:
An object flatten/unflatten utility with OOP approach and transform support.
28 lines • 1.14 kB
TypeScript
type Payload = Record<string, any> | any[];
export type FlattenConfig = {
delimiter?: string;
safe?: boolean;
safes?: string[];
depth?: number;
transformKey?: (key: string) => string;
};
export type UnflattenConfig = {
delimiter?: string;
overwrite?: boolean;
object?: boolean;
transformKey?: (key: string) => string;
};
export declare class Flattener {
private readonly payload;
private readonly defaultFlattenConfig;
private readonly defaultUnflattenConfig;
constructor(payload: Payload);
flatten(config?: FlattenConfig): Record<string, any>;
unflatten(config?: UnflattenConfig): Record<string, any>;
static _flatten(payload: Payload, config: Required<FlattenConfig>, prefix?: string, step?: number): Record<string, any>;
static _unflatten(flat: Record<string, any>, config: Required<UnflattenConfig>): Record<string, any>;
static flatten(payload: Payload, config?: FlattenConfig): Record<string, any>;
static unflatten(flat: Record<string, any>, config?: UnflattenConfig): Record<string, any>;
}
export default Flattener;
//# sourceMappingURL=index.d.ts.map