forked from orbit-oss/is
Add type guard for is.truthy and is.falsy (#151)
This commit is contained in:
parent
73daee6648
commit
63d75d68ee
2 changed files with 5 additions and 4 deletions
|
|
@ -2,7 +2,7 @@
|
||||||
/// <reference lib="dom"/>
|
/// <reference lib="dom"/>
|
||||||
/// <reference types="node"/>
|
/// <reference types="node"/>
|
||||||
|
|
||||||
import {Class, TypedArray, ObservableLike, Primitive} from './types';
|
import {Class, Falsy, TypedArray, ObservableLike, Primitive} from './types';
|
||||||
|
|
||||||
const typedArrayTypeNames = [
|
const typedArrayTypeNames = [
|
||||||
'Int8Array',
|
'Int8Array',
|
||||||
|
|
@ -248,11 +248,10 @@ is.urlString = (value: unknown): value is string => {
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
// TODO: Use the `not` operator with a type guard here when it's available.
|
|
||||||
// Example: `is.truthy = (value: unknown): value is (not false | not 0 | not '' | not undefined | not null) => Boolean(value);`
|
// Example: `is.truthy = (value: unknown): value is (not false | not 0 | not '' | not undefined | not null) => Boolean(value);`
|
||||||
is.truthy = (value: unknown) => Boolean(value);
|
is.truthy = <T>(value: T | Falsy): value is T => Boolean(value);
|
||||||
// Example: `is.falsy = (value: unknown): value is (not true | 0 | '' | undefined | null) => Boolean(value);`
|
// Example: `is.falsy = (value: unknown): value is (not true | 0 | '' | undefined | null) => Boolean(value);`
|
||||||
is.falsy = (value: unknown) => !value;
|
is.falsy = <T>(value: T | Falsy): value is Falsy => !value;
|
||||||
|
|
||||||
is.nan = (value: unknown) => Number.isNaN(value as number);
|
is.nan = (value: unknown) => Number.isNaN(value as number);
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -47,3 +47,5 @@ export interface ObservableLike {
|
||||||
subscribe(observer: (value: unknown) => void): void;
|
subscribe(observer: (value: unknown) => void): void;
|
||||||
[Symbol.observable](): ObservableLike;
|
[Symbol.observable](): ObservableLike;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
export type Falsy = false | 0 | 0n | '' | null | undefined;
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue