UNPKG

@maddimathon/utility-typescript

Version:

TypeScript utilities (types, functions, classes) to use in various projects.

45 lines (44 loc) 1.27 kB
/** * @since 2.0.0-beta.2 * * @packageDocumentation */ /*! * @maddimathon/utility-typescript@2.0.0-beta.5 * @license MIT */ import type { RecursiveRecord } from '../../types/objects/records.js'; /** * Returns a single-level object record with kebab/snake/etc. case keys based on * nested object keys. * * @category Functions – Object * * @since 2.0.0-beta.2 */ export declare function objectFlatten<T_Keys extends keyof any, T_Values extends any, T_Obj extends RecursiveRecord<T_Keys, T_Values> = RecursiveRecord<T_Keys, T_Values>>(obj: T_Obj, args?: Partial<objectFlatten.Args>): { [key: string]: T_Values; }; /** * Utilities for the {@link objectFlatten} function. * * @category Functions – Object * * @since 2.0.0-beta.2 */ export declare namespace objectFlatten { /** * Optional params for the {@link objectFlatten} function. * * @since 2.0.0-beta.2 */ type Args = { prefix?: undefined | string; separator?: undefined | string; suffix?: undefined | string; }; function parseArgs(args?: Partial<objectFlatten.Args>): Required<objectFlatten.Args> & { key_addSuffix: (key: number | string) => string; key_validate_addPrefix: (key: number | string) => string; }; }