UNPKG

ts-extras

Version:

Essential utilities for TypeScript projects

22 lines (16 loc) 778 B
/* eslint-disable @typescript-eslint/no-restricted-types */ /** A strongly-typed version of `Object.keys()`. This is useful since `Object.keys()` always returns an array of strings. This function returns a strongly-typed array of the keys of the given object. - [Explanation](https://stackoverflow.com/questions/55012174/why-doesnt-object-keys-return-a-keyof-type-in-typescript) - [TypeScript issues about this](https://github.com/microsoft/TypeScript/issues/45390) @example ``` import {objectKeys} from 'ts-extras'; const stronglyTypedItems = objectKeys({a: 1, b: 2, c: 3}); // => Array<'a' | 'b' | 'c'> const untypedItems = Object.keys({a: 1, b: 2, c: 3}); // => Array<string> ``` @category Improved builtin @category Type guard */ export const objectKeys = Object.keys;