UNPKG

es-toolkit

Version:

A state-of-the-art, high-performance JavaScript utility library with a small bundle size and strong type annotations.

52 lines (51 loc) 1.54 kB
import { ToKebabCaseKeys } from "../types/ToKebabCaseKeys.js"; //#region src/object/toKebabCaseKeys.d.ts /** * Creates a new object composed of the properties with keys converted to kebab-case. * * This function takes an object and returns a new object that includes the same properties, * but with all keys converted to kebab-case format. * * @template T - The type of object. * @param obj - The object to convert keys from. * @returns A new object with all keys converted to kebab-case. * * @example * // Example with objects * const obj = { userId: 1, firstName: 'John' }; * const result = toKebabCaseKeys(obj); * // result will be { 'user-id': 1, 'first-name': 'John' } * * // Example with arrays of objects * const arr = [ * { userId: 1, firstName: 'John' }, * { userId: 2, firstName: 'Jane' } * ]; * const arrResult = toKebabCaseKeys(arr); * // arrResult will be [{ 'user-id': 1, 'first-name': 'John' }, { 'user-id': 2, 'first-name': 'Jane' }] * * // Example with nested objects * const nested = { * userData: { * userId: 1, * userAddress: { * streetName: 'Main St', * zipCode: '12345' * } * } * }; * const nestedResult = toKebabCaseKeys(nested); * // nestedResult will be: * // { * // 'user-data': { * // 'user-id': 1, * // 'user-address': { * // 'street-name': 'Main St', * // 'zip-code': '12345' * // } * // } * // } */ declare function toKebabCaseKeys<T>(obj: T): ToKebabCaseKeys<T>; //#endregion export { toKebabCaseKeys };