ts-keyof
TypeScript icon, indicating that this package has built-in type declarations

1.3.0 • Public • Published

ts-keyof

Use variable name as a string over key in object. Little alternative to ts-nameof with zero-configs, but works in runtime!

Installation

For Yarn

yarn add ts-keyof

For NPM

npm install ts-keyof

Features

Get variable name as string

import { keyof } from 'ts-keyof';

const someVariable = 'value';

keyof({ someVariable }) === 'someVariable'; // Mission completion!

Simple Refactoring

const MyReactComponent = () => {}; // You need only to rename variable

MyReactComponent.displayName = keyof({ MyReactComponent });

// You don't need to think about strings
// MyReactComponent.displayName = 'MyReactComponent';

Types and Errors

const one = 1;
const two = 2;

const result = keyof({ one, two }); // result is `unknown` for TypeScript

result === undefined; // It's true in runtime

// You cannot use type `unknown` by accident. TypeScript checks it.
parseInt(result); // parseInt works only with strings.
// TypeScript emits error here: "Argument of type 'unknown' is not assignable
// to parameter of type 'string'. ts(2345)". It's good!
// We don't use type `never` or `any` which you can use by accident.

About unknown, never and any: github/typescript-website/type-compatibility

Readme

Keywords

Package Sidebar

Install

npm i ts-keyof

Weekly Downloads

232

Version

1.3.0

License

MIT

Unpacked Size

5.71 kB

Total Files

8

Last publish

Collaborators

  • sotnikov