feat: add .isWeakRef
This commit is contained in:
parent
65ea91297e
commit
9d2121e436
5 changed files with 22 additions and 5 deletions
|
|
@ -56,11 +56,11 @@
|
||||||
"ava": "^3.3.0",
|
"ava": "^3.3.0",
|
||||||
"del-cli": "^2.0.0",
|
"del-cli": "^2.0.0",
|
||||||
"eslint-config-xo-typescript": "^0.26.0",
|
"eslint-config-xo-typescript": "^0.26.0",
|
||||||
"jsdom": "^16.0.1",
|
"jsdom": "^19.0.0",
|
||||||
"rxjs": "^6.4.0",
|
"rxjs": "^6.4.0",
|
||||||
"tempy": "^0.4.0",
|
"tempy": "^0.4.0",
|
||||||
"ts-node": "^8.3.0",
|
"ts-node": "^8.3.0",
|
||||||
"typescript": "~3.8.2",
|
"typescript": "^4.6.2",
|
||||||
"xo": "^0.26.1",
|
"xo": "^0.26.1",
|
||||||
"zen-observable": "^0.8.8"
|
"zen-observable": "^0.8.8"
|
||||||
},
|
},
|
||||||
|
|
|
||||||
|
|
@ -198,6 +198,7 @@ is.boundFunction(function () {});
|
||||||
##### .set(value)
|
##### .set(value)
|
||||||
##### .weakMap(value)
|
##### .weakMap(value)
|
||||||
##### .weakSet(value)
|
##### .weakSet(value)
|
||||||
|
##### .weakRef(value)
|
||||||
|
|
||||||
#### Typed arrays
|
#### Typed arrays
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -43,6 +43,7 @@ const objectTypeNames = [
|
||||||
'Set',
|
'Set',
|
||||||
'WeakMap',
|
'WeakMap',
|
||||||
'WeakSet',
|
'WeakSet',
|
||||||
|
'WeakRef',
|
||||||
'ArrayBuffer',
|
'ArrayBuffer',
|
||||||
'SharedArrayBuffer',
|
'SharedArrayBuffer',
|
||||||
'DataView',
|
'DataView',
|
||||||
|
|
@ -216,6 +217,7 @@ is.map = <Key = unknown, Value = unknown>(value: unknown): value is Map<Key, Val
|
||||||
is.set = <T = unknown>(value: unknown): value is Set<T> => isObjectOfType<Set<T>>('Set')(value);
|
is.set = <T = unknown>(value: unknown): value is Set<T> => isObjectOfType<Set<T>>('Set')(value);
|
||||||
is.weakMap = <Key extends object = object, Value = unknown>(value: unknown): value is WeakMap<Key, Value> => isObjectOfType<WeakMap<Key, Value>>('WeakMap')(value);
|
is.weakMap = <Key extends object = object, Value = unknown>(value: unknown): value is WeakMap<Key, Value> => isObjectOfType<WeakMap<Key, Value>>('WeakMap')(value);
|
||||||
is.weakSet = (value: unknown): value is WeakSet<object> => isObjectOfType<WeakSet<object>>('WeakSet')(value);
|
is.weakSet = (value: unknown): value is WeakSet<object> => isObjectOfType<WeakSet<object>>('WeakSet')(value);
|
||||||
|
is.weakRef = (value: unknown): value is WeakRef<object> => isObjectOfType<WeakRef<object>>('WeakRef')(value);
|
||||||
|
|
||||||
is.int8Array = isObjectOfType<Int8Array>('Int8Array');
|
is.int8Array = isObjectOfType<Int8Array>('Int8Array');
|
||||||
is.uint8Array = isObjectOfType<Uint8Array>('Uint8Array');
|
is.uint8Array = isObjectOfType<Uint8Array>('Uint8Array');
|
||||||
|
|
@ -494,6 +496,7 @@ interface Assert {
|
||||||
set: <T = unknown>(value: unknown) => asserts value is Set<T>;
|
set: <T = unknown>(value: unknown) => asserts value is Set<T>;
|
||||||
weakMap: <Key extends object = object, Value = unknown>(value: unknown) => asserts value is WeakMap<Key, Value>;
|
weakMap: <Key extends object = object, Value = unknown>(value: unknown) => asserts value is WeakMap<Key, Value>;
|
||||||
weakSet: <T extends object = object>(value: unknown) => asserts value is WeakSet<T>;
|
weakSet: <T extends object = object>(value: unknown) => asserts value is WeakSet<T>;
|
||||||
|
weakRef: <T extends object = object>(value: unknown) => asserts value is WeakRef<T>;
|
||||||
int8Array: (value: unknown) => asserts value is Int8Array;
|
int8Array: (value: unknown) => asserts value is Int8Array;
|
||||||
uint8Array: (value: unknown) => asserts value is Uint8Array;
|
uint8Array: (value: unknown) => asserts value is Uint8Array;
|
||||||
uint8ClampedArray: (value: unknown) => asserts value is Uint8ClampedArray;
|
uint8ClampedArray: (value: unknown) => asserts value is Uint8ClampedArray;
|
||||||
|
|
@ -597,6 +600,7 @@ export const assert: Assert = {
|
||||||
set: <T = unknown>(value: unknown): asserts value is Set<T> => assertType(is.set(value), 'Set', value),
|
set: <T = unknown>(value: unknown): asserts value is Set<T> => assertType(is.set(value), 'Set', value),
|
||||||
weakMap: <Key extends object = object, Value = unknown>(value: unknown): asserts value is WeakMap<Key, Value> => assertType(is.weakMap(value), 'WeakMap', value),
|
weakMap: <Key extends object = object, Value = unknown>(value: unknown): asserts value is WeakMap<Key, Value> => assertType(is.weakMap(value), 'WeakMap', value),
|
||||||
weakSet: <T extends object = object>(value: unknown): asserts value is WeakSet<T> => assertType(is.weakSet(value), 'WeakSet', value),
|
weakSet: <T extends object = object>(value: unknown): asserts value is WeakSet<T> => assertType(is.weakSet(value), 'WeakSet', value),
|
||||||
|
weakRef: <T extends object = object>(value: unknown): asserts value is WeakRef<T> => assertType(is.weakRef(value), 'WeakRef', value),
|
||||||
int8Array: (value: unknown): asserts value is Int8Array => assertType(is.int8Array(value), 'Int8Array', value),
|
int8Array: (value: unknown): asserts value is Int8Array => assertType(is.int8Array(value), 'Int8Array', value),
|
||||||
uint8Array: (value: unknown): asserts value is Uint8Array => assertType(is.uint8Array(value), 'Uint8Array', value),
|
uint8Array: (value: unknown): asserts value is Uint8Array => assertType(is.uint8Array(value), 'Uint8Array', value),
|
||||||
uint8ClampedArray: (value: unknown): asserts value is Uint8ClampedArray => assertType(is.uint8ClampedArray(value), 'Uint8ClampedArray', value),
|
uint8ClampedArray: (value: unknown): asserts value is Uint8ClampedArray => assertType(is.uint8ClampedArray(value), 'Uint8ClampedArray', value),
|
||||||
|
|
|
||||||
14
test/test.ts
14
test/test.ts
|
|
@ -335,6 +335,14 @@ const types = new Map<string, Test>([
|
||||||
],
|
],
|
||||||
typename: 'WeakSet'
|
typename: 'WeakSet'
|
||||||
}],
|
}],
|
||||||
|
['weakRef', {
|
||||||
|
is: is.weakRef,
|
||||||
|
assert: assert.weakRef,
|
||||||
|
fixtures: [
|
||||||
|
new window.WeakRef({})
|
||||||
|
],
|
||||||
|
typename: 'WeakRef'
|
||||||
|
}],
|
||||||
['weakMap', {
|
['weakMap', {
|
||||||
is: is.weakMap,
|
is: is.weakMap,
|
||||||
assert: assert.weakMap,
|
assert: assert.weakMap,
|
||||||
|
|
@ -792,6 +800,10 @@ test('is.weakSet', t => {
|
||||||
testType(t, 'weakSet');
|
testType(t, 'weakSet');
|
||||||
});
|
});
|
||||||
|
|
||||||
|
test('is.weakRef', t => {
|
||||||
|
testType(t, 'weakRef');
|
||||||
|
});
|
||||||
|
|
||||||
test('is.int8Array', t => {
|
test('is.int8Array', t => {
|
||||||
testType(t, 'int8Array');
|
testType(t, 'int8Array');
|
||||||
});
|
});
|
||||||
|
|
@ -1203,7 +1215,7 @@ test('is.arrayLike', t => {
|
||||||
t.false(is.arrayLike(new Map()));
|
t.false(is.arrayLike(new Map()));
|
||||||
|
|
||||||
(function () {
|
(function () {
|
||||||
t.notThrows(() => {
|
t.notThrows(function () {
|
||||||
assert.arrayLike(arguments); // eslint-disable-line prefer-rest-params
|
assert.arrayLike(arguments); // eslint-disable-line prefer-rest-params
|
||||||
});
|
});
|
||||||
})();
|
})();
|
||||||
|
|
|
||||||
|
|
@ -2,9 +2,9 @@
|
||||||
"extends": "@sindresorhus/tsconfig",
|
"extends": "@sindresorhus/tsconfig",
|
||||||
"compilerOptions": {
|
"compilerOptions": {
|
||||||
"outDir": "dist",
|
"outDir": "dist",
|
||||||
"target": "es2018",
|
"target": "ESNext",
|
||||||
"lib": [
|
"lib": [
|
||||||
"es2018",
|
"ESNext",
|
||||||
"dom"
|
"dom"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue