New Research: Supply Chain Attack on Axios Pulls Malicious Dependency from npm.Details →
Socket
Book a DemoSign in
Socket

ts-keyof

Package Overview
Dependencies
Maintainers
1
Versions
5
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

ts-keyof

latest
Source
npmnpm
Version
1.3.0
Version published
Maintainers
1
Created
Source

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

Keywords

typescript

FAQs

Package last updated on 15 Jan 2022

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts