0.3.0 • Published 5 years ago
@perfective/value v0.3.0
Value
The @perfective/value package provides functions to work with undefined and null values
and utility types
(similar to the TS NonNullable<T>
to describe some of such values.
- Utility types:
type Defined<T> = T extends undefined ? never : T;type Undefined<T> = T extends undefined ? T : never;type NotNull<T> = T extends null ? never : T;type Null<T> = T extends null ? T : never;type Present<T> = T extends null | undefined ? never : T— same asNonNullable<T>, but is used in the project for consistency with the type guards;type Absent<T> = T extends null | undefined ? T : never.
- Type Guards:
isDefined<T>(value: T | undefined): value is T;isUndefined<T>(value: T | undefined): value is undefined;isNotNull<T>(value: T | null): value is T;isNull<T>(value: T | null): value is null;isPresent<T>(value: T | null | undefined): value is T;isAbsent<T>(value: T | null | undefined): value is null | undefined.
typeoftypes and functions:EcmaType— is one ofundefined,boolean,number,bigint,string,symbol,function, orobject.TsType— is one ofEcmaTypeornull,array, andunknown.TypeOf<T>— a conditional type that returnsTsTypedynamically.typeOf<T>(value: T | null | undefined): TypeOf<T> & TsType.isTypeOf<T>(type: TypeOf): (value: T | null | undefined) => boolean;isNotTypeOf<T>(type: TypeOf): (value: T | null | undefined) => boolean.
- Handling
void:voidable<T>(value: T | void): T | null | undefined.
Full documentation is available in the repository.
0.3.0
5 years ago
0.2.1
5 years ago
0.2.0
5 years ago
0.2.0-beta
5 years ago
0.2.0-alpha.1
5 years ago
0.2.0-alpha
5 years ago
0.1.0
5 years ago