Collection of typescript types
This package is work in progress and semantic versioning is not yet guaranteed. If you use this package, please make sure to set explcit version number in your package json.
npm install ts-powertypes
import type { Flatten } from 'ts-powertypes';
type Book = {
title: string;
chapters: {
title: string;
content: Record<string, string>;
}[];
};
type FlatBook = Flatten<Book>;
/*
{
title: string;
[x: `chapters.${number}.title`]: string;
[x: `chapters.${number}.content.${string}]: string;
}
*/
-
Primitive
union of all primitive typescript types -
Key
union of primitive types that can be used as object keys -
ElementType
gets the type of the elements of an Array, Map or Record -
KeyOf
union of the keys of an object -
ValueOf
union of the value types of an object -
ObjectKeys
strong type for the return type ofObject.keys()
-
ObjectValues
strong type for the return type ofObject.values()
-
ObjectEntries
strong type for the return type ofObject.entries()
-
Split
splits a string constant on a given separator -
Join
joins a string constant on a given separator -
Flatten
flattens an object structure -
ObjectPaths
union of all key paths of an object -
ValuesAtPath
value type of an object at a given patch -
IsAny
evaluates totrue
if the given type isany
, elsefalse
See changelog