sindresorhus / type-fest
- пятница, 15 марта 2019 г. в 00:16:50
TypeScript
A collection of essential TypeScript types
Many of the types here should have been built-in. You can help by suggesting some of them to the TypeScript project.
Either add this package as a dependency or copy-paste the needed types. No credit required.
PR welcome for additional commonly needed types and docs improvements. Read the contributing guidelines first.
$ npm install type-fest
import {Omit} from 'type-fest';
type Foo = {
unicorn: string;
rainbow: boolean;
};
type FooWithoutRainbow = Omit<Foo, 'rainbow'>;
//=> {unicorn: string}See the types file for complete docs.
Primitive - Matches any primitive value.Class - Matches a class constructor.TypedArray - Matches any typed array, like Uint8Array or Float64Array.JSONObject - Matches a JSON object.JSONArray - Matches a JSON array.JSONValue - Matches any valid JSON value.ObservableLike - Matches a value that is like an Observable.Omit - Create a type from an object type without certain keys.Merge - Merge two types into a new type. Keys of the second type overrides keys of the first type.If we decline a type addition, we will make sure to document the better solution here.
There are many advanced types most users don't know about.
Partial<T> - Make all properties in T optional.Required<T> - Make all properties in T required.Readonly<T> - Make all properties in T readonly.Pick<T, K> - From T, pick a set of properties whose keys are in the union K.Record<K, T> - Construct a type with a set of properties K of type T.Exclude<T, U> - Exclude from T those types that are assignable to U.Extract<T, U> - Extract from T those types that are assignable to U.NonNullable<T> - Exclude null and undefined from T.Parameters<T> - Obtain the parameters of a function type in a tuple.ConstructorParameters<T> - Obtain the parameters of a constructor function type in a tuple.ReturnType<T> – Obtain the return type of a function type.InstanceType<T> – Obtain the instance type of a constructor function type.You can find some examples in the TypeScript docs.
(MIT OR CC0-1.0)