UNPKG

@modern-kit/utils

Version:
1 lines 1.03 kB
{"version":3,"file":"index.mjs","sources":["../../../src/object/objectKeys/index.ts"],"sourcesContent":["export type ObjectKeys<T extends Record<PropertyKey, any>> = Exclude<\n keyof T,\n symbol\n>;\n\n/**\n * @description `Object.keys()`와 동일하게 동작하지만 `key` 타입을 지켜주는 함수입니다.\n *\n * 이때, `symbol` 프로퍼티는 열거형이 아니기 때문에 제외됩니다.\n *\n * @template T -객체의 타입입니다.\n * @param {T} obj - 키를 추출할 대상 객체입니다.\n * @returns {(keyof T)[]} - 객체의 키를 포함하는 배열을 반환합니다.\n *\n * @example\n * const obj = { a: 1, b: 2, c: 3, [Symbol('d')]: 4 };\n * const keys = objectKeys(obj); // ['a', 'b', 'c']\n * // const keys: ('a' | 'b' | 'c')[]\n */\nexport function objectKeys<T extends Record<PropertyKey, any>>(\n obj: T\n): ObjectKeys<T>[] {\n return Object.keys(obj) as ObjectKeys<T>[];\n}\n"],"names":[],"mappings":"AAmBO,SAAS,WACd,GAAA,EACiB;AACjB,EAAA,OAAO,MAAA,CAAO,KAAK,GAAG,CAAA;AACxB;;;;"}