@rhombus-toolkit/type-guards 1.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.heft/build-cache/heft-jest-data.json +7 -0
- package/.rush/temp/package-deps_build.json +24 -0
- package/.rush/temp/shrinkwrap-deps.json +873 -0
- package/config/rig.json +6 -0
- package/lib/assert-never.d.ts +2 -0
- package/lib/assert-never.d.ts.map +1 -0
- package/lib/assert-never.js +4 -0
- package/lib/assert-never.js.map +1 -0
- package/lib/index.d.ts +8 -0
- package/lib/index.d.ts.map +1 -0
- package/lib/index.js +8 -0
- package/lib/index.js.map +1 -0
- package/lib/is-array.d.ts +2 -0
- package/lib/is-array.d.ts.map +1 -0
- package/lib/is-array.js +4 -0
- package/lib/is-array.js.map +1 -0
- package/lib/is-defined.d.ts +3 -0
- package/lib/is-defined.d.ts.map +1 -0
- package/lib/is-defined.js +7 -0
- package/lib/is-defined.js.map +1 -0
- package/lib/is-function.d.ts +2 -0
- package/lib/is-function.d.ts.map +1 -0
- package/lib/is-function.js +4 -0
- package/lib/is-function.js.map +1 -0
- package/lib/is-promise.d.ts +2 -0
- package/lib/is-promise.d.ts.map +1 -0
- package/lib/is-promise.js +7 -0
- package/lib/is-promise.js.map +1 -0
- package/lib/is-url.d.ts +2 -0
- package/lib/is-url.d.ts.map +1 -0
- package/lib/is-url.js +4 -0
- package/lib/is-url.js.map +1 -0
- package/lib/iterables/_isIterator.d.ts +2 -0
- package/lib/iterables/_isIterator.d.ts.map +1 -0
- package/lib/iterables/_isIterator.js +9 -0
- package/lib/iterables/_isIterator.js.map +1 -0
- package/lib/iterables/index.d.ts +7 -0
- package/lib/iterables/index.d.ts.map +1 -0
- package/lib/iterables/index.js +7 -0
- package/lib/iterables/index.js.map +1 -0
- package/lib/iterables/is-async-generator.d.ts +2 -0
- package/lib/iterables/is-async-generator.d.ts.map +1 -0
- package/lib/iterables/is-async-generator.js +10 -0
- package/lib/iterables/is-async-generator.js.map +1 -0
- package/lib/iterables/is-async-iterable.d.ts +2 -0
- package/lib/iterables/is-async-iterable.d.ts.map +1 -0
- package/lib/iterables/is-async-iterable.js +4 -0
- package/lib/iterables/is-async-iterable.js.map +1 -0
- package/lib/iterables/is-async-iterator.d.ts +2 -0
- package/lib/iterables/is-async-iterator.d.ts.map +1 -0
- package/lib/iterables/is-async-iterator.js +6 -0
- package/lib/iterables/is-async-iterator.js.map +1 -0
- package/lib/iterables/is-generator.d.ts +2 -0
- package/lib/iterables/is-generator.d.ts.map +1 -0
- package/lib/iterables/is-generator.js +10 -0
- package/lib/iterables/is-generator.js.map +1 -0
- package/lib/iterables/is-iterable.d.ts +2 -0
- package/lib/iterables/is-iterable.d.ts.map +1 -0
- package/lib/iterables/is-iterable.js +4 -0
- package/lib/iterables/is-iterable.js.map +1 -0
- package/lib/iterables/is-iterator.d.ts +2 -0
- package/lib/iterables/is-iterator.d.ts.map +1 -0
- package/lib/iterables/is-iterator.js +6 -0
- package/lib/iterables/is-iterator.js.map +1 -0
- package/lib-commonjs/assert-never.js +8 -0
- package/lib-commonjs/assert-never.js.map +1 -0
- package/lib-commonjs/index.js +11 -0
- package/lib-commonjs/index.js.map +1 -0
- package/lib-commonjs/is-array.js +8 -0
- package/lib-commonjs/is-array.js.map +1 -0
- package/lib-commonjs/is-defined.js +12 -0
- package/lib-commonjs/is-defined.js.map +1 -0
- package/lib-commonjs/is-function.js +8 -0
- package/lib-commonjs/is-function.js.map +1 -0
- package/lib-commonjs/is-promise.js +11 -0
- package/lib-commonjs/is-promise.js.map +1 -0
- package/lib-commonjs/is-url.js +8 -0
- package/lib-commonjs/is-url.js.map +1 -0
- package/lib-commonjs/iterables/_isIterator.js +13 -0
- package/lib-commonjs/iterables/_isIterator.js.map +1 -0
- package/lib-commonjs/iterables/index.js +10 -0
- package/lib-commonjs/iterables/index.js.map +1 -0
- package/lib-commonjs/iterables/is-async-generator.js +14 -0
- package/lib-commonjs/iterables/is-async-generator.js.map +1 -0
- package/lib-commonjs/iterables/is-async-iterable.js +8 -0
- package/lib-commonjs/iterables/is-async-iterable.js.map +1 -0
- package/lib-commonjs/iterables/is-async-iterator.js +10 -0
- package/lib-commonjs/iterables/is-async-iterator.js.map +1 -0
- package/lib-commonjs/iterables/is-generator.js +14 -0
- package/lib-commonjs/iterables/is-generator.js.map +1 -0
- package/lib-commonjs/iterables/is-iterable.js +8 -0
- package/lib-commonjs/iterables/is-iterable.js.map +1 -0
- package/lib-commonjs/iterables/is-iterator.js +10 -0
- package/lib-commonjs/iterables/is-iterator.js.map +1 -0
- package/package.json +27 -0
- package/src/assert-never.ts +3 -0
- package/src/index.ts +7 -0
- package/src/is-array.ts +3 -0
- package/src/is-defined.ts +8 -0
- package/src/is-function.ts +3 -0
- package/src/is-promise.ts +7 -0
- package/src/is-url.ts +4 -0
- package/src/iterables/_isIterator.ts +11 -0
- package/src/iterables/index.ts +6 -0
- package/src/iterables/is-async-generator.ts +10 -0
- package/src/iterables/is-async-iterable.ts +4 -0
- package/src/iterables/is-async-iterator.ts +6 -0
- package/src/iterables/is-generator.ts +10 -0
- package/src/iterables/is-iterable.ts +3 -0
- package/src/iterables/is-iterator.ts +6 -0
- package/tsconfig.json +4 -0
- package/type-guards.build.log +21 -0
package/package.json
ADDED
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@rhombus-toolkit/type-guards",
|
|
3
|
+
"version": "1.1.0",
|
|
4
|
+
"description": "",
|
|
5
|
+
"repository": {
|
|
6
|
+
"type": "git",
|
|
7
|
+
"url": "https://github.com/rhombus-toolkit/ts.git",
|
|
8
|
+
"directory": "libraries/type-guards"
|
|
9
|
+
},
|
|
10
|
+
"main": "lib/index.js",
|
|
11
|
+
"sideEffects": false,
|
|
12
|
+
"scripts": {
|
|
13
|
+
"test": "heft test --clean",
|
|
14
|
+
"build": "heft build --clean",
|
|
15
|
+
"build:watch": "heft build"
|
|
16
|
+
},
|
|
17
|
+
"keywords": [],
|
|
18
|
+
"author": "Thomas Butler",
|
|
19
|
+
"dependencies": {
|
|
20
|
+
"@rhombus-toolkit/func": "1.1.0"
|
|
21
|
+
},
|
|
22
|
+
"devDependencies": {
|
|
23
|
+
"@rushstack/heft-web-rig": "^0.10.24",
|
|
24
|
+
|
|
25
|
+
"@rushstack/heft": "^0.46.6"
|
|
26
|
+
}
|
|
27
|
+
}
|
package/src/index.ts
ADDED
package/src/is-array.ts
ADDED
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { isFunction } from './is-function';
|
|
2
|
+
|
|
3
|
+
export function isPromiseLike(value: any): value is PromiseLike<any> {
|
|
4
|
+
return value instanceof Promise
|
|
5
|
+
|| /\bPromise\b/.test(Object.prototype.toString.call(value))
|
|
6
|
+
|| 'then' in value && isFunction(value?.then);
|
|
7
|
+
}
|
package/src/is-url.ts
ADDED
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { isFunction } from '../is-function';
|
|
2
|
+
|
|
3
|
+
export function _isIterator(value: any): value is Iterator<any> {
|
|
4
|
+
if (value?.[Symbol.toStringTag]?.split(/\s+/)?.includes('Iterator'))
|
|
5
|
+
return true;
|
|
6
|
+
|
|
7
|
+
if (/\bIterator\b/.test(Object.prototype.toString.call(value)))
|
|
8
|
+
return true;
|
|
9
|
+
|
|
10
|
+
return isFunction(value?.next);
|
|
11
|
+
}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { isAsyncIterator } from "./is-async-iterator";
|
|
2
|
+
|
|
3
|
+
const AsyncGeneratorFunction = (async function* () { }()).constructor as AsyncGeneratorFunction;
|
|
4
|
+
export function isAsyncGenerator(value: any): value is AsyncGenerator<any, any, any> {
|
|
5
|
+
if (value?.constructor === AsyncGeneratorFunction)
|
|
6
|
+
return true;
|
|
7
|
+
if (/\bAsyncGenerator\b/.test(Object.prototype.toString.call(value)))
|
|
8
|
+
return true;
|
|
9
|
+
return isAsyncIterator(value) && value?.next?.length === 1;
|
|
10
|
+
}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { isIterator } from "./is-iterator";
|
|
2
|
+
const GeneratorFunction = (function* () { }()).constructor as GeneratorFunction;
|
|
3
|
+
|
|
4
|
+
export function isGenerator(value: any): value is Generator<any, any, any> {
|
|
5
|
+
if (value?.constructor === GeneratorFunction)
|
|
6
|
+
return true;
|
|
7
|
+
if (/\bGenerator\b/.test(Object.prototype.toString.call(value)))
|
|
8
|
+
return true;
|
|
9
|
+
return isIterator(value) && value?.next?.length === 1;
|
|
10
|
+
}
|
package/tsconfig.json
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
Invoking: heft build --clean
|
|
2
|
+
Using local Heft from /home/tom/src/rhombus-toolkit/ts/libraries/type-guards/node_modules/@rushstack/heft
|
|
3
|
+
|
|
4
|
+
Project build folder is "/home/tom/src/rhombus-toolkit/ts/libraries/type-guards"
|
|
5
|
+
Using rig configuration from ./node_modules/@rushstack/heft-web-rig/profiles/library
|
|
6
|
+
Starting build
|
|
7
|
+
---- Clean started ----
|
|
8
|
+
---- Clean finished (4ms) ----
|
|
9
|
+
---- Pre-compile started ----
|
|
10
|
+
---- Pre-compile finished (41ms) ----
|
|
11
|
+
---- Compile started ----
|
|
12
|
+
[typescript] Using TypeScript version 4.6.4
|
|
13
|
+
---- Compile finished (9412ms) ----
|
|
14
|
+
---- Bundle started ----
|
|
15
|
+
---- Bundle finished (3ms) ----
|
|
16
|
+
---- Post-build started ----
|
|
17
|
+
---- Post-build finished (35ms) ----
|
|
18
|
+
-------------------- Finished (11.261s) --------------------
|
|
19
|
+
Project: @rhombus-toolkit/type-guards@1.1.0
|
|
20
|
+
Heft version: 0.46.6
|
|
21
|
+
Node version: v16.16.0
|