forked from orbit-oss/is
Extract necessary functions from type-fest (#120)
This commit is contained in:
parent
4b35ad5bec
commit
e31db97eab
2 changed files with 52 additions and 28 deletions
|
|
@ -2,7 +2,9 @@
|
|||
/// <reference lib="dom"/>
|
||||
/// <reference types="node"/>
|
||||
|
||||
export type Class<T = unknown> = new (...args: any[]) => T;
|
||||
import {Class, TypedArray, ObservableLike, Primitive} from './types';
|
||||
|
||||
export {Class, TypedArray, ObservableLike, Primitive};
|
||||
|
||||
const typedArrayTypeNames = [
|
||||
'Int8Array',
|
||||
|
|
@ -18,19 +20,6 @@ const typedArrayTypeNames = [
|
|||
'BigUint64Array'
|
||||
] as const;
|
||||
|
||||
export type TypedArray =
|
||||
| Int8Array
|
||||
| Uint8Array
|
||||
| Uint8ClampedArray
|
||||
| Int16Array
|
||||
| Uint16Array
|
||||
| Int32Array
|
||||
| Uint32Array
|
||||
| Float32Array
|
||||
| Float64Array
|
||||
| BigInt64Array
|
||||
| BigUint64Array;
|
||||
|
||||
type TypedArrayTypeName = typeof typedArrayTypeNames[number];
|
||||
|
||||
function isTypedArrayName(name: unknown): name is TypedArrayTypeName {
|
||||
|
|
@ -80,15 +69,6 @@ const primitiveTypeNames = [
|
|||
'symbol'
|
||||
] as const;
|
||||
|
||||
export type Primitive =
|
||||
| null
|
||||
| undefined
|
||||
| string
|
||||
| number
|
||||
| bigint
|
||||
| boolean
|
||||
| symbol;
|
||||
|
||||
type PrimitiveTypeName = typeof primitiveTypeNames[number];
|
||||
|
||||
function isPrimitiveTypeName(name: unknown): name is PrimitiveTypeName {
|
||||
|
|
@ -319,11 +299,6 @@ is.domElement = (value: unknown): value is HTMLElement => {
|
|||
DOM_PROPERTIES_TO_CHECK.every(property => property in value);
|
||||
};
|
||||
|
||||
export interface ObservableLike {
|
||||
subscribe(observer: (value: unknown) => void): void;
|
||||
[Symbol.observable](): ObservableLike;
|
||||
}
|
||||
|
||||
is.observable = (value: unknown): value is ObservableLike => {
|
||||
if (!value) {
|
||||
return false;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue