Refactor to use type-fest
Signed-off-by: Richie Bendall <richiebendall@gmail.com>
This commit is contained in:
parent
4b35ad5bec
commit
8dd3a34bed
2 changed files with 4 additions and 28 deletions
|
|
@ -46,6 +46,9 @@
|
||||||
"typeguards",
|
"typeguards",
|
||||||
"types"
|
"types"
|
||||||
],
|
],
|
||||||
|
"dependencies": {
|
||||||
|
"type-fest": "^0.16.0"
|
||||||
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"@sindresorhus/tsconfig": "^0.7.0",
|
"@sindresorhus/tsconfig": "^0.7.0",
|
||||||
"@types/jsdom": "^16.1.0",
|
"@types/jsdom": "^16.1.0",
|
||||||
|
|
|
||||||
|
|
@ -2,7 +2,7 @@
|
||||||
/// <reference lib="dom"/>
|
/// <reference lib="dom"/>
|
||||||
/// <reference types="node"/>
|
/// <reference types="node"/>
|
||||||
|
|
||||||
export type Class<T = unknown> = new (...args: any[]) => T;
|
import {Class, TypedArray, ObservableLike, Primitive} from 'type-fest';
|
||||||
|
|
||||||
const typedArrayTypeNames = [
|
const typedArrayTypeNames = [
|
||||||
'Int8Array',
|
'Int8Array',
|
||||||
|
|
@ -18,19 +18,6 @@ const typedArrayTypeNames = [
|
||||||
'BigUint64Array'
|
'BigUint64Array'
|
||||||
] as const;
|
] as const;
|
||||||
|
|
||||||
export type TypedArray =
|
|
||||||
| Int8Array
|
|
||||||
| Uint8Array
|
|
||||||
| Uint8ClampedArray
|
|
||||||
| Int16Array
|
|
||||||
| Uint16Array
|
|
||||||
| Int32Array
|
|
||||||
| Uint32Array
|
|
||||||
| Float32Array
|
|
||||||
| Float64Array
|
|
||||||
| BigInt64Array
|
|
||||||
| BigUint64Array;
|
|
||||||
|
|
||||||
type TypedArrayTypeName = typeof typedArrayTypeNames[number];
|
type TypedArrayTypeName = typeof typedArrayTypeNames[number];
|
||||||
|
|
||||||
function isTypedArrayName(name: unknown): name is TypedArrayTypeName {
|
function isTypedArrayName(name: unknown): name is TypedArrayTypeName {
|
||||||
|
|
@ -80,15 +67,6 @@ const primitiveTypeNames = [
|
||||||
'symbol'
|
'symbol'
|
||||||
] as const;
|
] as const;
|
||||||
|
|
||||||
export type Primitive =
|
|
||||||
| null
|
|
||||||
| undefined
|
|
||||||
| string
|
|
||||||
| number
|
|
||||||
| bigint
|
|
||||||
| boolean
|
|
||||||
| symbol;
|
|
||||||
|
|
||||||
type PrimitiveTypeName = typeof primitiveTypeNames[number];
|
type PrimitiveTypeName = typeof primitiveTypeNames[number];
|
||||||
|
|
||||||
function isPrimitiveTypeName(name: unknown): name is PrimitiveTypeName {
|
function isPrimitiveTypeName(name: unknown): name is PrimitiveTypeName {
|
||||||
|
|
@ -319,11 +297,6 @@ is.domElement = (value: unknown): value is HTMLElement => {
|
||||||
DOM_PROPERTIES_TO_CHECK.every(property => property in value);
|
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 => {
|
is.observable = (value: unknown): value is ObservableLike => {
|
||||||
if (!value) {
|
if (!value) {
|
||||||
return false;
|
return false;
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue