type-plus 4.18.1 → 5.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/README.md +1 -0
- package/cjs/class/isConstructor.d.ts +15 -0
- package/cjs/class/isConstructor.d.ts.map +1 -1
- package/cjs/class/isConstructor.js +19 -1
- package/cjs/class/isConstructor.js.map +1 -1
- package/cjs/class/isConstructor.spec.js +27 -0
- package/cjs/class/isConstructor.spec.js.map +1 -1
- package/cjs/predicates/isType.d.ts +0 -5
- package/cjs/predicates/isType.d.ts.map +1 -1
- package/cjs/predicates/isType.js +1 -8
- package/cjs/predicates/isType.js.map +1 -1
- package/cjs/predicates/isType.spec.js +0 -27
- package/cjs/predicates/isType.spec.js.map +1 -1
- package/cjs/promise/PromiseValue.d.ts +1 -0
- package/cjs/promise/PromiseValue.d.ts.map +1 -1
- package/cjs/utils/index.d.ts +1 -0
- package/cjs/utils/index.d.ts.map +1 -1
- package/cjs/utils/index.js +1 -0
- package/cjs/utils/index.js.map +1 -1
- package/cjs/utils/inspect.d.ts +5 -0
- package/cjs/utils/inspect.d.ts.map +1 -0
- package/cjs/utils/inspect.js +12 -0
- package/cjs/utils/inspect.js.map +1 -0
- package/cjs/utils/inspect.spec.d.ts +2 -0
- package/cjs/utils/inspect.spec.d.ts.map +1 -0
- package/cjs/utils/inspect.spec.js +17 -0
- package/cjs/utils/inspect.spec.js.map +1 -0
- package/esm/class/isConstructor.d.ts +15 -0
- package/esm/class/isConstructor.d.ts.map +1 -1
- package/esm/class/isConstructor.js +17 -0
- package/esm/class/isConstructor.js.map +1 -1
- package/esm/class/isConstructor.spec.js +20 -1
- package/esm/class/isConstructor.spec.js.map +1 -1
- package/esm/predicates/isType.d.ts +0 -5
- package/esm/predicates/isType.d.ts.map +1 -1
- package/esm/predicates/isType.js +1 -8
- package/esm/predicates/isType.js.map +1 -1
- package/esm/predicates/isType.spec.js +0 -19
- package/esm/predicates/isType.spec.js.map +1 -1
- package/esm/promise/PromiseValue.d.ts +1 -0
- package/esm/promise/PromiseValue.d.ts.map +1 -1
- package/esm/utils/index.d.ts +1 -0
- package/esm/utils/index.d.ts.map +1 -1
- package/esm/utils/index.js +1 -0
- package/esm/utils/index.js.map +1 -1
- package/esm/utils/inspect.d.ts +5 -0
- package/esm/utils/inspect.d.ts.map +1 -0
- package/esm/utils/inspect.js +8 -0
- package/esm/utils/inspect.js.map +1 -0
- package/esm/utils/inspect.spec.d.ts +2 -0
- package/esm/utils/inspect.spec.d.ts.map +1 -0
- package/esm/utils/inspect.spec.js +15 -0
- package/esm/utils/inspect.spec.js.map +1 -0
- package/package.json +34 -34
- package/ts/class/isConstructor.ts +18 -0
- package/ts/predicates/isType.ts +2 -13
- package/ts/promise/PromiseValue.ts +1 -0
- package/ts/utils/index.ts +1 -0
- package/ts/utils/inspect.ts +7 -0
package/README.md
CHANGED
|
@@ -557,6 +557,7 @@ nominalMatch(b1, b2) // false
|
|
|
557
557
|
- `AnyFunction<P, R>`: a generic type for any function
|
|
558
558
|
- `ExtractFunction<F>`: extract the function signature from a type `F`.
|
|
559
559
|
- `extractFunction(fn: F)`: adjust type of `fn` to its function signature only.
|
|
560
|
+
- `inspect<T>(value: T, inspector: (v: T) => void)`: inspect a value and return it.
|
|
560
561
|
|
|
561
562
|
## Functional Types
|
|
562
563
|
|
|
@@ -1,3 +1,18 @@
|
|
|
1
1
|
import type { AnyConstructor } from './AnyConstructor.js';
|
|
2
|
+
/**
|
|
3
|
+
* Is the subject a constructor function.
|
|
4
|
+
*
|
|
5
|
+
* @deprecated this is not a failsafe test,
|
|
6
|
+
* it will return true for any function that can be called with `new`.
|
|
7
|
+
*
|
|
8
|
+
* If the subject is an arrow function,
|
|
9
|
+
* it can still return true after compilation.
|
|
10
|
+
*
|
|
11
|
+
* Thus this function is not safe to use.
|
|
12
|
+
*/
|
|
2
13
|
export declare function isConstructor(subject: unknown): subject is AnyConstructor;
|
|
14
|
+
/**
|
|
15
|
+
* instanceof type guard for unknown value.
|
|
16
|
+
*/
|
|
17
|
+
export declare function isInstanceof<T extends AnyConstructor>(subject: unknown, constructor: T): subject is InstanceType<T>;
|
|
3
18
|
//# sourceMappingURL=isConstructor.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"isConstructor.d.ts","sourceRoot":"","sources":["../../ts/class/isConstructor.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAA;AAEzD,wBAAgB,aAAa,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,IAAI,cAAc,CAWzE"}
|
|
1
|
+
{"version":3,"file":"isConstructor.d.ts","sourceRoot":"","sources":["../../ts/class/isConstructor.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAA;AAEzD;;;;;;;;;;GAUG;AACH,wBAAgB,aAAa,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,IAAI,cAAc,CAWzE;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,CAAC,SAAS,cAAc,EAAE,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,CAAC,GAAG,OAAO,IAAI,YAAY,CAAC,CAAC,CAAC,CAEnH"}
|
|
@@ -1,6 +1,17 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.isConstructor = void 0;
|
|
3
|
+
exports.isInstanceof = exports.isConstructor = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* Is the subject a constructor function.
|
|
6
|
+
*
|
|
7
|
+
* @deprecated this is not a failsafe test,
|
|
8
|
+
* it will return true for any function that can be called with `new`.
|
|
9
|
+
*
|
|
10
|
+
* If the subject is an arrow function,
|
|
11
|
+
* it can still return true after compilation.
|
|
12
|
+
*
|
|
13
|
+
* Thus this function is not safe to use.
|
|
14
|
+
*/
|
|
4
15
|
function isConstructor(subject) {
|
|
5
16
|
try {
|
|
6
17
|
new subject();
|
|
@@ -14,4 +25,11 @@ function isConstructor(subject) {
|
|
|
14
25
|
return true;
|
|
15
26
|
}
|
|
16
27
|
exports.isConstructor = isConstructor;
|
|
28
|
+
/**
|
|
29
|
+
* instanceof type guard for unknown value.
|
|
30
|
+
*/
|
|
31
|
+
function isInstanceof(subject, constructor) {
|
|
32
|
+
return subject instanceof constructor;
|
|
33
|
+
}
|
|
34
|
+
exports.isInstanceof = isInstanceof;
|
|
17
35
|
//# sourceMappingURL=isConstructor.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"isConstructor.js","sourceRoot":"","sources":["../../ts/class/isConstructor.ts"],"names":[],"mappings":";;;AAEA,SAAgB,aAAa,CAAC,OAAgB;IAC5C,IAAI;QACF,IAAK,OAA0B,EAAE,CAAA;KAClC;IACD,OAAO,GAAQ,EAAE;QACf,IAAM,GAAG,GAAG,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,OAA6B,CAAA;QAC9C,IAAI,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,sBAAsB,CAAC,IAAI,CAAC,EAAE;YACnD,OAAO,KAAK,CAAA;SACb;KACF;IACD,OAAO,IAAI,CAAA;AACb,CAAC;AAXD,sCAWC"}
|
|
1
|
+
{"version":3,"file":"isConstructor.js","sourceRoot":"","sources":["../../ts/class/isConstructor.ts"],"names":[],"mappings":";;;AAEA;;;;;;;;;;GAUG;AACH,SAAgB,aAAa,CAAC,OAAgB;IAC5C,IAAI;QACF,IAAK,OAA0B,EAAE,CAAA;KAClC;IACD,OAAO,GAAQ,EAAE;QACf,IAAM,GAAG,GAAG,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,OAA6B,CAAA;QAC9C,IAAI,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,sBAAsB,CAAC,IAAI,CAAC,EAAE;YACnD,OAAO,KAAK,CAAA;SACb;KACF;IACD,OAAO,IAAI,CAAA;AACb,CAAC;AAXD,sCAWC;AAED;;GAEG;AACH,SAAgB,YAAY,CAA2B,OAAgB,EAAE,WAAc;IACrF,OAAO,OAAO,YAAY,WAAW,CAAA;AACvC,CAAC;AAFD,oCAEC"}
|
|
@@ -53,4 +53,31 @@ test('class with params returns true', function () {
|
|
|
53
53
|
}());
|
|
54
54
|
expect((0, index_js_1.isConstructor)(Boo)).toBe(true);
|
|
55
55
|
});
|
|
56
|
+
describe('isInstanceof()', function () {
|
|
57
|
+
test('Class as validator', function () {
|
|
58
|
+
var s = new Error();
|
|
59
|
+
if ((0, index_js_1.isInstanceof)(s, Error))
|
|
60
|
+
(0, index_js_1.assertType)(s);
|
|
61
|
+
});
|
|
62
|
+
test('Class as validator fails', function () {
|
|
63
|
+
var Foo = /** @class */ (function () {
|
|
64
|
+
function Foo() {
|
|
65
|
+
}
|
|
66
|
+
Object.defineProperty(Foo.prototype, "a", {
|
|
67
|
+
enumerable: false,
|
|
68
|
+
configurable: true,
|
|
69
|
+
writable: true,
|
|
70
|
+
value: function () { }
|
|
71
|
+
});
|
|
72
|
+
return Foo;
|
|
73
|
+
}());
|
|
74
|
+
var s = 1;
|
|
75
|
+
if ((0, index_js_1.isInstanceof)(s, Foo)) {
|
|
76
|
+
(0, index_js_1.assertType)(s);
|
|
77
|
+
}
|
|
78
|
+
else {
|
|
79
|
+
(0, index_js_1.assertType)(s);
|
|
80
|
+
}
|
|
81
|
+
});
|
|
82
|
+
});
|
|
56
83
|
//# sourceMappingURL=isConstructor.spec.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"isConstructor.spec.js","sourceRoot":"","sources":["../../ts/class/isConstructor.spec.ts"],"names":[],"mappings":";;AAAA,
|
|
1
|
+
{"version":3,"file":"isConstructor.spec.js","sourceRoot":"","sources":["../../ts/class/isConstructor.spec.ts"],"names":[],"mappings":";;AAAA,wCAAqF;AAErF,IAAI,CAAC,mBAAmB,EAAE;IACxB,IAAM,CAAC,GAAY,KAAK,CAAA;IACxB,IAAI,IAAA,wBAAa,EAAC,CAAC,CAAC;QAClB,IAAA,qBAAU,EAAiB,CAAC,CAAC,CAAA;AACjC,CAAC,CAAC,CAAA;AAEF,IAAI,CAAC,uBAAuB,EAAE;IAC5B,MAAM,CAAC,IAAA,wBAAa,EAAC,cAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;AAC9C,CAAC,CAAC,CAAA;AAEF,IAAI,CAAC,sBAAsB,EAAE;IAC3B,MAAM,CAAC,IAAA,wBAAa,EAAC,cAAQ,MAAM,IAAI,KAAK,EAAE,CAAA,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;AAChE,CAAC,CAAC,CAAA;AAEF,IAAI,CAAC,0CAA0C,EAAE;IAC/C;QAAY;YAAgB,MAAM,IAAI,KAAK,EAAE,CAAA;QAAC,CAAC;QAAC,UAAC;IAAD,CAAC,AAAjD,IAAiD;IACjD,MAAM,CAAC,IAAA,wBAAa,EAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;AACvC,CAAC,CAAC,CAAA;AAEF,IAAI,CAAC,gCAAgC,EAAE;IACrC;QAAY;YAAgB,MAAM,KAAK,CAAA;QAAC,CAAC;QAAC,UAAC;IAAD,CAAC,AAA3C,IAA2C;IAC3C,MAAM,CAAC,IAAA,wBAAa,EAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;AACvC,CAAC,CAAC,CAAA;AAEF,IAAI,CAAC,gCAAgC,EAAE;IACrC;QAAY;YAAgB,MAAM,SAAS,CAAA;QAAC,CAAC;QAAC,UAAC;IAAD,CAAC,AAA/C,IAA+C;IAC/C,MAAM,CAAC,IAAA,wBAAa,EAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;AACvC,CAAC,CAAC,CAAA;AAEF,IAAI,CAAC,gCAAgC,EAAE;IACrC;QAAY,aAAmB,CAAS;;;;;uBAAT;;QAAa,CAAC;QAAC,UAAC;IAAD,CAAC,AAA/C,IAA+C;IAC/C,MAAM,CAAC,IAAA,wBAAa,EAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;AACvC,CAAC,CAAC,CAAA;AAEF,QAAQ,CAAC,gBAAgB,EAAE;IACzB,IAAI,CAAC,oBAAoB,EAAE;QACzB,IAAM,CAAC,GAAY,IAAI,KAAK,EAAE,CAAA;QAC9B,IAAI,IAAA,uBAAY,EAAC,CAAC,EAAE,KAAK,CAAC;YACxB,IAAA,qBAAU,EAAQ,CAAC,CAAC,CAAA;IACxB,CAAC,CAAC,CAAA;IACF,IAAI,CAAC,0BAA0B,EAAE;QAC/B;YAAA;YAAoB,CAAC;;;;;uBAAT,cAAM,CAAC;;YAAC,UAAC;QAAD,CAAC,AAArB,IAAqB;QACrB,IAAM,CAAC,GAAiB,CAAC,CAAA;QACzB,IAAI,IAAA,uBAAY,EAAC,CAAC,EAAE,GAAG,CAAC,EAAE;YACxB,IAAA,qBAAU,EAAM,CAAC,CAAC,CAAA;SACnB;aACI;YACH,IAAA,qBAAU,EAAS,CAAC,CAAC,CAAA;SACtB;IACH,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA"}
|
|
@@ -1,13 +1,8 @@
|
|
|
1
|
-
import { AnyConstructor } from '../class/index.js';
|
|
2
1
|
import type { Equal } from './Equal.js';
|
|
3
2
|
/**
|
|
4
3
|
* Is the subject of type T
|
|
5
4
|
*/
|
|
6
5
|
export declare function isType<T>(subject: T): subject is T;
|
|
7
|
-
/**
|
|
8
|
-
* Is the subject a class of T
|
|
9
|
-
*/
|
|
10
|
-
export declare function isType<T extends AnyConstructor>(subject: unknown, constructor: T): subject is InstanceType<T>;
|
|
11
6
|
/**
|
|
12
7
|
* Is the subject of type T, satisfying the supplied validator
|
|
13
8
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"isType.d.ts","sourceRoot":"","sources":["../../ts/predicates/isType.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"isType.d.ts","sourceRoot":"","sources":["../../ts/predicates/isType.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAA;AAEvC;;GAEG;AACH,wBAAgB,MAAM,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,GAAG,OAAO,IAAI,CAAC,CAAA;AACnD;;GAEG;AACH,wBAAgB,MAAM,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,OAAO,GAAG,OAAO,IAAI,CAAC,CAAA;yBAAvE,MAAM"}
|
package/cjs/predicates/isType.js
CHANGED
|
@@ -1,15 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.isType = void 0;
|
|
4
|
-
var index_js_1 = require("../class/index.js");
|
|
5
4
|
function isType(subject, validator) {
|
|
6
|
-
|
|
7
|
-
if ((0, index_js_1.isConstructor)(validator))
|
|
8
|
-
return subject instanceof validator;
|
|
9
|
-
else
|
|
10
|
-
return !!validator(subject);
|
|
11
|
-
}
|
|
12
|
-
return true;
|
|
5
|
+
return validator ? !!validator(subject) : true;
|
|
13
6
|
}
|
|
14
7
|
exports.isType = isType;
|
|
15
8
|
isType.t = function (subject) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"isType.js","sourceRoot":"","sources":["../../ts/predicates/isType.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"isType.js","sourceRoot":"","sources":["../../ts/predicates/isType.ts"],"names":[],"mappings":";;;AAUA,SAAgB,MAAM,CAAC,OAAgB,EAAE,SAAmC;IAC1E,OAAO,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA;AAChD,CAAC;AAFD,wBAEC;AAED,MAAM,CAAC,CAAC,GAAG,UAA0B,OAAW;IAC9C,OAAO,OAAO,KAAK,SAAS,IAAI,OAAO,KAAK,IAAI,CAAA;AAClD,CAAC,CAAA;AACD,MAAM,CAAC,CAAC,GAAG,UAA2B,OAAW;IAC/C,OAAO,OAAO,KAAK,SAAS,IAAI,OAAO,KAAK,KAAK,CAAA;AACnD,CAAC,CAAA;AAED;;;;GAIG;AACH,6DAA6D;AAC7D,MAAM,CAAC,KAAK,GAAG,cAA2C,CAAC,CAAA"}
|
|
@@ -45,33 +45,6 @@ describe('isType()', function () {
|
|
|
45
45
|
(0, index_js_1.assertType)(s);
|
|
46
46
|
}
|
|
47
47
|
});
|
|
48
|
-
});
|
|
49
|
-
describe('with class', function () {
|
|
50
|
-
test('Class as validator', function () {
|
|
51
|
-
var s = new Error();
|
|
52
|
-
if ((0, index_js_1.isType)(s, Error))
|
|
53
|
-
(0, index_js_1.assertType)(s);
|
|
54
|
-
});
|
|
55
|
-
test('Class as validator fails', function () {
|
|
56
|
-
var Foo = /** @class */ (function () {
|
|
57
|
-
function Foo() {
|
|
58
|
-
}
|
|
59
|
-
Object.defineProperty(Foo.prototype, "a", {
|
|
60
|
-
enumerable: false,
|
|
61
|
-
configurable: true,
|
|
62
|
-
writable: true,
|
|
63
|
-
value: function () { }
|
|
64
|
-
});
|
|
65
|
-
return Foo;
|
|
66
|
-
}());
|
|
67
|
-
var s = 1;
|
|
68
|
-
if ((0, index_js_1.isType)(s, Foo)) {
|
|
69
|
-
(0, index_js_1.assertType)(s);
|
|
70
|
-
}
|
|
71
|
-
else {
|
|
72
|
-
(0, index_js_1.assertType)(s);
|
|
73
|
-
}
|
|
74
|
-
});
|
|
75
48
|
test('subject can be type any', function () {
|
|
76
49
|
var s = false;
|
|
77
50
|
if ((0, index_js_1.isType)(s, function (s) { return typeof s === 'boolean'; }))
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"isType.spec.js","sourceRoot":"","sources":["../../ts/predicates/isType.spec.ts"],"names":[],"mappings":";;AAAA,wCAAuD;AAEvD,QAAQ,CAAC,UAAU,EAAE;IACnB,QAAQ,CAAC,mBAAmB,EAAE;QAC5B,IAAI,CAAC,yCAAyC,EAAE;YAC9C,IAAM,OAAO,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAW,CAAA;YACvC,IAAI,IAAA,iBAAM,EAAW,OAAO,CAAC,EAAE;gBAC7B,IAAA,qBAAU,EAAW,OAAO,CAAC,CAAA;aAC9B;QACH,CAAC,CAAC,CAAA;QACF,IAAI,CAAC,4CAA4C,EAAE;YACjD,IAAM,CAAC,GAAG,EAAE,CAAA;YACZ,IAAI,IAAA,iBAAM,EAAK,CAAC,CAAC,EAAE;gBACjB,IAAA,qBAAU,EAAK,CAAC,CAAC,CAAA;aAClB;QACH,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;IACF,QAAQ,CAAC,yBAAyB,EAAE;QAClC,IAAI,CAAC,oCAAoC,EAAE;YACzC,IAAM,CAAC,GAAY,KAAK,CAAA;YACxB,IAAI,IAAA,iBAAM,EAAC,CAAC,EAAE,UAAC,CAAU,IAAK,OAAA,OAAO,CAAC,KAAK,SAAS,EAAtB,CAAsB,CAAC;gBACnD,IAAA,qBAAU,EAAU,CAAC,CAAC,CAAA;QAC1B,CAAC,CAAC,CAAA;QACF,IAAI,CAAC,+BAA+B,EAAE;YACpC,IAAM,CAAC,GAAY,KAAK,CAAA;YACxB,IAAI,IAAA,iBAAM,EAAU,CAAC,EAAE,UAAA,CAAC,IAAI,OAAA,OAAO,CAAC,KAAK,SAAS,EAAtB,CAAsB,CAAC;gBACjD,IAAA,qBAAU,EAAU,CAAC,CAAC,CAAA;QAC1B,CAAC,CAAC,CAAA;QACF,IAAI,CAAC,kCAAkC,EAAE;YACvC,IAAM,CAAC,GAAoB,CAAC,CAAA;YAC5B,IAAI,IAAA,iBAAM,EAAS,CAAC,EAAE,UAAA,CAAC,IAAI,OAAA,OAAO,CAAC,KAAK,QAAQ,EAArB,CAAqB,CAAC,EAAE;gBACjD,IAAA,qBAAU,EAAS,CAAC,CAAC,CAAA;aACtB;iBACI;gBACH,IAAA,qBAAU,EAAS,CAAC,CAAC,CAAA;aACtB;QACH,CAAC,CAAC,CAAA;QAEF,EAAE,CAAC,4BAA4B,EAAE;YAC/B,IAAM,CAAC,GAAQ,EAAE,CAAC,EAAE,CAAC,EAAE,CAAA;YACvB,IAAI,IAAA,iBAAM,EAAgB,CAAC,EAAE,UAAA,CAAC,IAAI,OAAA,CAAC,CAAC,CAAC,EAAH,CAAG,CAAC,EAAE;gBACtC,IAAA,qBAAU,EAAgB,CAAC,CAAC,CAAA;aAC7B;iBACI;gBACH,IAAA,qBAAU,EAAS,CAAC,CAAC,CAAA;aACtB;QACH,CAAC,CAAC,CAAA;
|
|
1
|
+
{"version":3,"file":"isType.spec.js","sourceRoot":"","sources":["../../ts/predicates/isType.spec.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PromiseValue.d.ts","sourceRoot":"","sources":["../../ts/promise/PromiseValue.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"PromiseValue.d.ts","sourceRoot":"","sources":["../../ts/promise/PromiseValue.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,MAAM,YAAY,CAAC,CAAC,SAAS,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,KAAK,CAAA"}
|
package/cjs/utils/index.d.ts
CHANGED
package/cjs/utils/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../ts/utils/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAA;AACvB,YAAY,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AAC3C,YAAY,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AACrD,YAAY,EAAE,KAAK,EAAE,MAAM,YAAY,CAAA;AAEvC;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,MAAM,YAAY,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,IAAI,EAAE,CAAC,GAAG,IAAI,IAAI,CAAC,SAAS,IAAI,GAC/D,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GACb,CAAC,CAAC,SAAS,IAAI,GACb,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAC7C,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GACf,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAC7C,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAC7C,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CACd,CAAA;AAEH;;;;;;;;;;;;;;;;;GAiBG;AACF,MAAM,MAAM,SAAS,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,IAAI,EAAE,CAAC,GAAG,IAAI,IAAI,YAAY,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../ts/utils/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAA;AACvB,cAAc,cAAc,CAAA;AAC5B,YAAY,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AAC3C,YAAY,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AACrD,YAAY,EAAE,KAAK,EAAE,MAAM,YAAY,CAAA;AAEvC;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,MAAM,YAAY,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,IAAI,EAAE,CAAC,GAAG,IAAI,IAAI,CAAC,SAAS,IAAI,GAC/D,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GACb,CAAC,CAAC,SAAS,IAAI,GACb,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAC7C,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GACf,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAC7C,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAC7C,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CACd,CAAA;AAEH;;;;;;;;;;;;;;;;;GAiBG;AACF,MAAM,MAAM,SAAS,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,IAAI,EAAE,CAAC,GAAG,IAAI,IAAI,YAAY,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAA"}
|
package/cjs/utils/index.js
CHANGED
|
@@ -15,4 +15,5 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
15
15
|
};
|
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
17
|
__exportStar(require("./as.js"), exports);
|
|
18
|
+
__exportStar(require("./inspect.js"), exports);
|
|
18
19
|
//# sourceMappingURL=index.js.map
|
package/cjs/utils/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../ts/utils/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,0CAAuB"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../ts/utils/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,0CAAuB;AACvB,+CAA4B"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"inspect.d.ts","sourceRoot":"","sources":["../../ts/utils/inspect.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,wBAAgB,OAAO,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,IAAI,GAAG,CAAC,CAGrE"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.inspect = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* Inspects the value and returns it.
|
|
6
|
+
*/
|
|
7
|
+
function inspect(value, inspector) {
|
|
8
|
+
inspector(value);
|
|
9
|
+
return value;
|
|
10
|
+
}
|
|
11
|
+
exports.inspect = inspect;
|
|
12
|
+
//# sourceMappingURL=inspect.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"inspect.js","sourceRoot":"","sources":["../../ts/utils/inspect.ts"],"names":[],"mappings":";;;AAAA;;GAEG;AACH,SAAgB,OAAO,CAAI,KAAQ,EAAE,SAA6B;IAChE,SAAS,CAAC,KAAK,CAAC,CAAA;IAChB,OAAO,KAAK,CAAA;AACd,CAAC;AAHD,0BAGC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"inspect.spec.d.ts","sourceRoot":"","sources":["../../ts/utils/inspect.spec.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
var globals_1 = require("@jest/globals");
|
|
4
|
+
var index_js_1 = require("./index.js");
|
|
5
|
+
describe("".concat(index_js_1.inspect.name, "()"), function () {
|
|
6
|
+
it('should return the same value', function () {
|
|
7
|
+
var value = { a: 1, b: 2 };
|
|
8
|
+
expect((0, index_js_1.inspect)(value, function () { })).toBe(value);
|
|
9
|
+
});
|
|
10
|
+
it('should call the inspector', function () {
|
|
11
|
+
var value = { a: 1, b: 2 };
|
|
12
|
+
var spy = globals_1.jest.fn();
|
|
13
|
+
(0, index_js_1.inspect)(value, spy);
|
|
14
|
+
expect(spy).toBeCalledWith(value);
|
|
15
|
+
});
|
|
16
|
+
});
|
|
17
|
+
//# sourceMappingURL=inspect.spec.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"inspect.spec.js","sourceRoot":"","sources":["../../ts/utils/inspect.spec.ts"],"names":[],"mappings":";;AAAA,yCAAoC;AACpC,uCAAoC;AAEpC,QAAQ,CAAC,UAAG,kBAAO,CAAC,IAAI,OAAI,EAAE;IAC5B,EAAE,CAAC,8BAA8B,EAAE;QACjC,IAAM,KAAK,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAA;QAC5B,MAAM,CAAC,IAAA,kBAAO,EAAC,KAAK,EAAE,cAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;IAC/C,CAAC,CAAC,CAAA;IACF,EAAE,CAAC,2BAA2B,EAAE;QAC9B,IAAM,KAAK,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAA;QAC5B,IAAM,GAAG,GAAG,cAAI,CAAC,EAAE,EAAE,CAAA;QACrB,IAAA,kBAAO,EAAC,KAAK,EAAE,GAAG,CAAC,CAAA;QACnB,MAAM,CAAC,GAAG,CAAC,CAAC,cAAc,CAAC,KAAK,CAAC,CAAA;IACnC,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA"}
|
|
@@ -1,3 +1,18 @@
|
|
|
1
1
|
import type { AnyConstructor } from './AnyConstructor.js';
|
|
2
|
+
/**
|
|
3
|
+
* Is the subject a constructor function.
|
|
4
|
+
*
|
|
5
|
+
* @deprecated this is not a failsafe test,
|
|
6
|
+
* it will return true for any function that can be called with `new`.
|
|
7
|
+
*
|
|
8
|
+
* If the subject is an arrow function,
|
|
9
|
+
* it can still return true after compilation.
|
|
10
|
+
*
|
|
11
|
+
* Thus this function is not safe to use.
|
|
12
|
+
*/
|
|
2
13
|
export declare function isConstructor(subject: unknown): subject is AnyConstructor;
|
|
14
|
+
/**
|
|
15
|
+
* instanceof type guard for unknown value.
|
|
16
|
+
*/
|
|
17
|
+
export declare function isInstanceof<T extends AnyConstructor>(subject: unknown, constructor: T): subject is InstanceType<T>;
|
|
3
18
|
//# sourceMappingURL=isConstructor.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"isConstructor.d.ts","sourceRoot":"","sources":["../../ts/class/isConstructor.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAA;AAEzD,wBAAgB,aAAa,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,IAAI,cAAc,CAWzE"}
|
|
1
|
+
{"version":3,"file":"isConstructor.d.ts","sourceRoot":"","sources":["../../ts/class/isConstructor.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAA;AAEzD;;;;;;;;;;GAUG;AACH,wBAAgB,aAAa,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,IAAI,cAAc,CAWzE;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,CAAC,SAAS,cAAc,EAAE,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,CAAC,GAAG,OAAO,IAAI,YAAY,CAAC,CAAC,CAAC,CAEnH"}
|
|
@@ -1,3 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Is the subject a constructor function.
|
|
3
|
+
*
|
|
4
|
+
* @deprecated this is not a failsafe test,
|
|
5
|
+
* it will return true for any function that can be called with `new`.
|
|
6
|
+
*
|
|
7
|
+
* If the subject is an arrow function,
|
|
8
|
+
* it can still return true after compilation.
|
|
9
|
+
*
|
|
10
|
+
* Thus this function is not safe to use.
|
|
11
|
+
*/
|
|
1
12
|
export function isConstructor(subject) {
|
|
2
13
|
try {
|
|
3
14
|
new subject();
|
|
@@ -10,4 +21,10 @@ export function isConstructor(subject) {
|
|
|
10
21
|
}
|
|
11
22
|
return true;
|
|
12
23
|
}
|
|
24
|
+
/**
|
|
25
|
+
* instanceof type guard for unknown value.
|
|
26
|
+
*/
|
|
27
|
+
export function isInstanceof(subject, constructor) {
|
|
28
|
+
return subject instanceof constructor;
|
|
29
|
+
}
|
|
13
30
|
//# sourceMappingURL=isConstructor.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"isConstructor.js","sourceRoot":"","sources":["../../ts/class/isConstructor.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,aAAa,CAAC,OAAgB;IAC5C,IAAI;QACF,IAAK,OAA0B,EAAE,CAAA;KAClC;IACD,OAAO,GAAQ,EAAE;QACf,MAAM,GAAG,GAAG,GAAG,EAAE,OAA6B,CAAA;QAC9C,IAAI,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,sBAAsB,CAAC,IAAI,CAAC,EAAE;YACnD,OAAO,KAAK,CAAA;SACb;KACF;IACD,OAAO,IAAI,CAAA;AACb,CAAC"}
|
|
1
|
+
{"version":3,"file":"isConstructor.js","sourceRoot":"","sources":["../../ts/class/isConstructor.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;GAUG;AACH,MAAM,UAAU,aAAa,CAAC,OAAgB;IAC5C,IAAI;QACF,IAAK,OAA0B,EAAE,CAAA;KAClC;IACD,OAAO,GAAQ,EAAE;QACf,MAAM,GAAG,GAAG,GAAG,EAAE,OAA6B,CAAA;QAC9C,IAAI,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,sBAAsB,CAAC,IAAI,CAAC,EAAE;YACnD,OAAO,KAAK,CAAA;SACb;KACF;IACD,OAAO,IAAI,CAAA;AACb,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,YAAY,CAA2B,OAAgB,EAAE,WAAc;IACrF,OAAO,OAAO,YAAY,WAAW,CAAA;AACvC,CAAC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { assertType, isConstructor } from '../index.js';
|
|
1
|
+
import { assertType, isConstructor, isInstanceof } from '../index.js';
|
|
2
2
|
test('check constructor', () => {
|
|
3
3
|
const x = Error;
|
|
4
4
|
if (isConstructor(x))
|
|
@@ -41,4 +41,23 @@ test('class with params returns true', () => {
|
|
|
41
41
|
}
|
|
42
42
|
expect(isConstructor(Boo)).toBe(true);
|
|
43
43
|
});
|
|
44
|
+
describe('isInstanceof()', () => {
|
|
45
|
+
test('Class as validator', () => {
|
|
46
|
+
const s = new Error();
|
|
47
|
+
if (isInstanceof(s, Error))
|
|
48
|
+
assertType(s);
|
|
49
|
+
});
|
|
50
|
+
test('Class as validator fails', () => {
|
|
51
|
+
class Foo {
|
|
52
|
+
a() { }
|
|
53
|
+
}
|
|
54
|
+
const s = 1;
|
|
55
|
+
if (isInstanceof(s, Foo)) {
|
|
56
|
+
assertType(s);
|
|
57
|
+
}
|
|
58
|
+
else {
|
|
59
|
+
assertType(s);
|
|
60
|
+
}
|
|
61
|
+
});
|
|
62
|
+
});
|
|
44
63
|
//# sourceMappingURL=isConstructor.spec.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"isConstructor.spec.js","sourceRoot":"","sources":["../../ts/class/isConstructor.spec.ts"],"names":[],"mappings":"AAAA,OAAO,EAAkB,UAAU,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;
|
|
1
|
+
{"version":3,"file":"isConstructor.spec.js","sourceRoot":"","sources":["../../ts/class/isConstructor.spec.ts"],"names":[],"mappings":"AAAA,OAAO,EAAkB,UAAU,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAErF,IAAI,CAAC,mBAAmB,EAAE,GAAG,EAAE;IAC7B,MAAM,CAAC,GAAY,KAAK,CAAA;IACxB,IAAI,aAAa,CAAC,CAAC,CAAC;QAClB,UAAU,CAAiB,CAAC,CAAC,CAAA;AACjC,CAAC,CAAC,CAAA;AAEF,IAAI,CAAC,uBAAuB,EAAE,GAAG,EAAE;IACjC,MAAM,CAAC,aAAa,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;AAC9C,CAAC,CAAC,CAAA;AAEF,IAAI,CAAC,sBAAsB,EAAE,GAAG,EAAE;IAChC,MAAM,CAAC,aAAa,CAAC,GAAG,EAAE,GAAG,MAAM,IAAI,KAAK,EAAE,CAAA,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;AAChE,CAAC,CAAC,CAAA;AAEF,IAAI,CAAC,0CAA0C,EAAE,GAAG,EAAE;IACpD,MAAM,GAAG;QAAG,gBAAgB,MAAM,IAAI,KAAK,EAAE,CAAA,CAAC,CAAC;KAAE;IACjD,MAAM,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;AACvC,CAAC,CAAC,CAAA;AAEF,IAAI,CAAC,gCAAgC,EAAE,GAAG,EAAE;IAC1C,MAAM,GAAG;QAAG,gBAAgB,MAAM,KAAK,CAAA,CAAC,CAAC;KAAE;IAC3C,MAAM,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;AACvC,CAAC,CAAC,CAAA;AAEF,IAAI,CAAC,gCAAgC,EAAE,GAAG,EAAE;IAC1C,MAAM,GAAG;QAAG,gBAAgB,MAAM,SAAS,CAAA,CAAC,CAAC;KAAE;IAC/C,MAAM,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;AACvC,CAAC,CAAC,CAAA;AAEF,IAAI,CAAC,gCAAgC,EAAE,GAAG,EAAE;IAC1C,MAAM,GAAG;QAAG,YAAmB,CAAS;;;;;uBAAT;;QAAa,CAAC;KAAE;IAC/C,MAAM,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;AACvC,CAAC,CAAC,CAAA;AAEF,QAAQ,CAAC,gBAAgB,EAAE,GAAG,EAAE;IAC9B,IAAI,CAAC,oBAAoB,EAAE,GAAG,EAAE;QAC9B,MAAM,CAAC,GAAY,IAAI,KAAK,EAAE,CAAA;QAC9B,IAAI,YAAY,CAAC,CAAC,EAAE,KAAK,CAAC;YACxB,UAAU,CAAQ,CAAC,CAAC,CAAA;IACxB,CAAC,CAAC,CAAA;IACF,IAAI,CAAC,0BAA0B,EAAE,GAAG,EAAE;QACpC,MAAM,GAAG;YAAG,CAAC,KAAK,CAAC;SAAE;QACrB,MAAM,CAAC,GAAiB,CAAC,CAAA;QACzB,IAAI,YAAY,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE;YACxB,UAAU,CAAM,CAAC,CAAC,CAAA;SACnB;aACI;YACH,UAAU,CAAS,CAAC,CAAC,CAAA;SACtB;IACH,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA"}
|
|
@@ -1,13 +1,8 @@
|
|
|
1
|
-
import { AnyConstructor } from '../class/index.js';
|
|
2
1
|
import type { Equal } from './Equal.js';
|
|
3
2
|
/**
|
|
4
3
|
* Is the subject of type T
|
|
5
4
|
*/
|
|
6
5
|
export declare function isType<T>(subject: T): subject is T;
|
|
7
|
-
/**
|
|
8
|
-
* Is the subject a class of T
|
|
9
|
-
*/
|
|
10
|
-
export declare function isType<T extends AnyConstructor>(subject: unknown, constructor: T): subject is InstanceType<T>;
|
|
11
6
|
/**
|
|
12
7
|
* Is the subject of type T, satisfying the supplied validator
|
|
13
8
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"isType.d.ts","sourceRoot":"","sources":["../../ts/predicates/isType.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"isType.d.ts","sourceRoot":"","sources":["../../ts/predicates/isType.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAA;AAEvC;;GAEG;AACH,wBAAgB,MAAM,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,GAAG,OAAO,IAAI,CAAC,CAAA;AACnD;;GAEG;AACH,wBAAgB,MAAM,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,OAAO,GAAG,OAAO,IAAI,CAAC,CAAA;yBAAvE,MAAM"}
|
package/esm/predicates/isType.js
CHANGED
|
@@ -1,12 +1,5 @@
|
|
|
1
|
-
import { isConstructor } from '../class/index.js';
|
|
2
1
|
export function isType(subject, validator) {
|
|
3
|
-
|
|
4
|
-
if (isConstructor(validator))
|
|
5
|
-
return subject instanceof validator;
|
|
6
|
-
else
|
|
7
|
-
return !!validator(subject);
|
|
8
|
-
}
|
|
9
|
-
return true;
|
|
2
|
+
return validator ? !!validator(subject) : true;
|
|
10
3
|
}
|
|
11
4
|
isType.t = function (subject) {
|
|
12
5
|
return subject === undefined || subject === true;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"isType.js","sourceRoot":"","sources":["../../ts/predicates/isType.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"isType.js","sourceRoot":"","sources":["../../ts/predicates/isType.ts"],"names":[],"mappings":"AAUA,MAAM,UAAU,MAAM,CAAC,OAAgB,EAAE,SAAmC;IAC1E,OAAO,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA;AAChD,CAAC;AAED,MAAM,CAAC,CAAC,GAAG,UAA0B,OAAW;IAC9C,OAAO,OAAO,KAAK,SAAS,IAAI,OAAO,KAAK,IAAI,CAAA;AAClD,CAAC,CAAA;AACD,MAAM,CAAC,CAAC,GAAG,UAA2B,OAAW;IAC/C,OAAO,OAAO,KAAK,SAAS,IAAI,OAAO,KAAK,KAAK,CAAA;AACnD,CAAC,CAAA;AAED;;;;GAIG;AACH,6DAA6D;AAC7D,MAAM,CAAC,KAAK,GAAG,cAA2C,CAAC,CAAA"}
|
|
@@ -43,25 +43,6 @@ describe('isType()', () => {
|
|
|
43
43
|
assertType(s);
|
|
44
44
|
}
|
|
45
45
|
});
|
|
46
|
-
});
|
|
47
|
-
describe('with class', () => {
|
|
48
|
-
test('Class as validator', () => {
|
|
49
|
-
const s = new Error();
|
|
50
|
-
if (isType(s, Error))
|
|
51
|
-
assertType(s);
|
|
52
|
-
});
|
|
53
|
-
test('Class as validator fails', () => {
|
|
54
|
-
class Foo {
|
|
55
|
-
a() { }
|
|
56
|
-
}
|
|
57
|
-
const s = 1;
|
|
58
|
-
if (isType(s, Foo)) {
|
|
59
|
-
assertType(s);
|
|
60
|
-
}
|
|
61
|
-
else {
|
|
62
|
-
assertType(s);
|
|
63
|
-
}
|
|
64
|
-
});
|
|
65
46
|
test('subject can be type any', () => {
|
|
66
47
|
const s = false;
|
|
67
48
|
if (isType(s, s => typeof s === 'boolean'))
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"isType.spec.js","sourceRoot":"","sources":["../../ts/predicates/isType.spec.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAS,MAAM,EAAE,MAAM,aAAa,CAAA;AAEvD,QAAQ,CAAC,UAAU,EAAE,GAAG,EAAE;IACxB,QAAQ,CAAC,mBAAmB,EAAE,GAAG,EAAE;QACjC,IAAI,CAAC,yCAAyC,EAAE,GAAG,EAAE;YACnD,MAAM,OAAO,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAW,CAAA;YACvC,IAAI,MAAM,CAAW,OAAO,CAAC,EAAE;gBAC7B,UAAU,CAAW,OAAO,CAAC,CAAA;aAC9B;QACH,CAAC,CAAC,CAAA;QACF,IAAI,CAAC,4CAA4C,EAAE,GAAG,EAAE;YACtD,MAAM,CAAC,GAAG,EAAE,CAAA;YACZ,IAAI,MAAM,CAAK,CAAC,CAAC,EAAE;gBACjB,UAAU,CAAK,CAAC,CAAC,CAAA;aAClB;QACH,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;IACF,QAAQ,CAAC,yBAAyB,EAAE,GAAG,EAAE;QACvC,IAAI,CAAC,oCAAoC,EAAE,GAAG,EAAE;YAC9C,MAAM,CAAC,GAAY,KAAK,CAAA;YACxB,IAAI,MAAM,CAAC,CAAC,EAAE,CAAC,CAAU,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,SAAS,CAAC;gBACnD,UAAU,CAAU,CAAC,CAAC,CAAA;QAC1B,CAAC,CAAC,CAAA;QACF,IAAI,CAAC,+BAA+B,EAAE,GAAG,EAAE;YACzC,MAAM,CAAC,GAAY,KAAK,CAAA;YACxB,IAAI,MAAM,CAAU,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,KAAK,SAAS,CAAC;gBACjD,UAAU,CAAU,CAAC,CAAC,CAAA;QAC1B,CAAC,CAAC,CAAA;QACF,IAAI,CAAC,kCAAkC,EAAE,GAAG,EAAE;YAC5C,MAAM,CAAC,GAAoB,CAAC,CAAA;YAC5B,IAAI,MAAM,CAAS,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC,EAAE;gBACjD,UAAU,CAAS,CAAC,CAAC,CAAA;aACtB;iBACI;gBACH,UAAU,CAAS,CAAC,CAAC,CAAA;aACtB;QACH,CAAC,CAAC,CAAA;QAEF,EAAE,CAAC,4BAA4B,EAAE,GAAG,EAAE;YACpC,MAAM,CAAC,GAAQ,EAAE,CAAC,EAAE,CAAC,EAAE,CAAA;YACvB,IAAI,MAAM,CAAgB,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE;gBACtC,UAAU,CAAgB,CAAC,CAAC,CAAA;aAC7B;iBACI;gBACH,UAAU,CAAS,CAAC,CAAC,CAAA;aACtB;QACH,CAAC,CAAC,CAAA;
|
|
1
|
+
{"version":3,"file":"isType.spec.js","sourceRoot":"","sources":["../../ts/predicates/isType.spec.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PromiseValue.d.ts","sourceRoot":"","sources":["../../ts/promise/PromiseValue.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"PromiseValue.d.ts","sourceRoot":"","sources":["../../ts/promise/PromiseValue.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,MAAM,YAAY,CAAC,CAAC,SAAS,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,KAAK,CAAA"}
|
package/esm/utils/index.d.ts
CHANGED
package/esm/utils/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../ts/utils/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAA;AACvB,YAAY,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AAC3C,YAAY,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AACrD,YAAY,EAAE,KAAK,EAAE,MAAM,YAAY,CAAA;AAEvC;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,MAAM,YAAY,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,IAAI,EAAE,CAAC,GAAG,IAAI,IAAI,CAAC,SAAS,IAAI,GAC/D,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GACb,CAAC,CAAC,SAAS,IAAI,GACb,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAC7C,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GACf,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAC7C,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAC7C,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CACd,CAAA;AAEH;;;;;;;;;;;;;;;;;GAiBG;AACF,MAAM,MAAM,SAAS,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,IAAI,EAAE,CAAC,GAAG,IAAI,IAAI,YAAY,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../ts/utils/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAA;AACvB,cAAc,cAAc,CAAA;AAC5B,YAAY,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AAC3C,YAAY,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAA;AACrD,YAAY,EAAE,KAAK,EAAE,MAAM,YAAY,CAAA;AAEvC;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,MAAM,YAAY,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,IAAI,EAAE,CAAC,GAAG,IAAI,IAAI,CAAC,SAAS,IAAI,GAC/D,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GACb,CAAC,CAAC,SAAS,IAAI,GACb,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAC7C,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GACf,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAC7C,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAC7C,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CACd,CAAA;AAEH;;;;;;;;;;;;;;;;;GAiBG;AACF,MAAM,MAAM,SAAS,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,IAAI,EAAE,CAAC,GAAG,IAAI,IAAI,YAAY,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAA"}
|
package/esm/utils/index.js
CHANGED
package/esm/utils/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../ts/utils/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../ts/utils/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAA;AACvB,cAAc,cAAc,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"inspect.d.ts","sourceRoot":"","sources":["../../ts/utils/inspect.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,wBAAgB,OAAO,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,IAAI,GAAG,CAAC,CAGrE"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"inspect.js","sourceRoot":"","sources":["../../ts/utils/inspect.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,UAAU,OAAO,CAAI,KAAQ,EAAE,SAA6B;IAChE,SAAS,CAAC,KAAK,CAAC,CAAA;IAChB,OAAO,KAAK,CAAA;AACd,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"inspect.spec.d.ts","sourceRoot":"","sources":["../../ts/utils/inspect.spec.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { jest } from '@jest/globals';
|
|
2
|
+
import { inspect } from './index.js';
|
|
3
|
+
describe(`${inspect.name}()`, () => {
|
|
4
|
+
it('should return the same value', () => {
|
|
5
|
+
const value = { a: 1, b: 2 };
|
|
6
|
+
expect(inspect(value, () => { })).toBe(value);
|
|
7
|
+
});
|
|
8
|
+
it('should call the inspector', () => {
|
|
9
|
+
const value = { a: 1, b: 2 };
|
|
10
|
+
const spy = jest.fn();
|
|
11
|
+
inspect(value, spy);
|
|
12
|
+
expect(spy).toBeCalledWith(value);
|
|
13
|
+
});
|
|
14
|
+
});
|
|
15
|
+
//# sourceMappingURL=inspect.spec.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"inspect.spec.js","sourceRoot":"","sources":["../../ts/utils/inspect.spec.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,eAAe,CAAA;AACpC,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAA;AAEpC,QAAQ,CAAC,GAAG,OAAO,CAAC,IAAI,IAAI,EAAE,GAAG,EAAE;IACjC,EAAE,CAAC,8BAA8B,EAAE,GAAG,EAAE;QACtC,MAAM,KAAK,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAA;QAC5B,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;IAC/C,CAAC,CAAC,CAAA;IACF,EAAE,CAAC,2BAA2B,EAAE,GAAG,EAAE;QACnC,MAAM,KAAK,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAA;QAC5B,MAAM,GAAG,GAAG,IAAI,CAAC,EAAE,EAAE,CAAA;QACrB,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAA;QACnB,MAAM,CAAC,GAAG,CAAC,CAAC,cAAc,CAAC,KAAK,CAAC,CAAA;IACnC,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "type-plus",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "5.1.0",
|
|
4
4
|
"description": "Provides additional types for TypeScript.",
|
|
5
5
|
"homepage": "https://github.com/unional/type-plus",
|
|
6
6
|
"bugs": {
|
|
@@ -31,58 +31,37 @@
|
|
|
31
31
|
"!ts/types",
|
|
32
32
|
"!ts/type-checker"
|
|
33
33
|
],
|
|
34
|
-
"scripts": {
|
|
35
|
-
"build": "run-p build:cjs build:esm build:tslib",
|
|
36
|
-
"build:cjs": "tsc -p tsconfig.cjs.json && ncp package.cjs.json cjs/package.json",
|
|
37
|
-
"build:esm": "tsc -p tsconfig.esm.json",
|
|
38
|
-
"build:tslib": "tsc -p tsconfig.tslib.json && ncp package.cjs.json tslib/package.json",
|
|
39
|
-
"build:doc": "typedoc",
|
|
40
|
-
"clean": "rimraf cjs coverage esm lib libm tslib",
|
|
41
|
-
"coverage": "jest --coverage",
|
|
42
|
-
"depcheck": "depcheck",
|
|
43
|
-
"lint": "eslint --ext=ts,js .",
|
|
44
|
-
"nuke": "pnpm clean && rimraf node_modules",
|
|
45
|
-
"_postinstall": "husky install",
|
|
46
|
-
"prepack": "pinst --disable",
|
|
47
|
-
"postpack": "pinst --enable",
|
|
48
|
-
"release": "semantic-release",
|
|
49
|
-
"size": "size-limit",
|
|
50
|
-
"test": "jest",
|
|
51
|
-
"verify": "npm-run-all clean -p build depcheck lint coverage -p size",
|
|
52
|
-
"watch": "pnpm test --watch"
|
|
53
|
-
},
|
|
54
34
|
"dependencies": {
|
|
55
|
-
"tersify": "^3.
|
|
56
|
-
"unpartial": "^1.0.
|
|
35
|
+
"tersify": "^3.11.1",
|
|
36
|
+
"unpartial": "^1.0.4"
|
|
57
37
|
},
|
|
58
38
|
"devDependencies": {
|
|
39
|
+
"@changesets/cli": "^2.25.2",
|
|
59
40
|
"@commitlint/cli": "^17.0.2",
|
|
60
41
|
"@commitlint/config-conventional": "^17.0.2",
|
|
61
|
-
"@
|
|
62
|
-
"@
|
|
63
|
-
"@semantic-release/git": "^10.0.1",
|
|
64
|
-
"@semantic-release/github": "^8.0.5",
|
|
65
|
-
"@semantic-release/npm": "^9.0.1",
|
|
42
|
+
"@jest/globals": "^29.3.1",
|
|
43
|
+
"@repobuddy/jest": "^2.1.0",
|
|
66
44
|
"@size-limit/preset-small-lib": "^8.0.0",
|
|
67
45
|
"@types/jest": "^29.0.0",
|
|
68
|
-
"@types/node": "^
|
|
46
|
+
"@types/node": "^18.0.0",
|
|
69
47
|
"@typescript-eslint/eslint-plugin": "^5.28.0",
|
|
48
|
+
"@typescript-eslint/parser": "^5.48.0",
|
|
70
49
|
"@unional/fixture": "^3.0.0",
|
|
71
50
|
"assertron": "^11.0.1",
|
|
51
|
+
"cross-env": "^7.0.3",
|
|
72
52
|
"depcheck": "^1.4.3",
|
|
73
53
|
"eslint": "^8.17.0",
|
|
74
54
|
"eslint-plugin-harmony": "^7.1.0",
|
|
75
55
|
"husky": "^8.0.1",
|
|
76
56
|
"jest": "^29.0.0",
|
|
77
57
|
"jest-watch-suspend": "^1.1.2",
|
|
78
|
-
"jest-watch-toggle-config": "^2.0
|
|
58
|
+
"jest-watch-toggle-config-2": "^2.1.0",
|
|
79
59
|
"jest-watch-typeahead": "^2.0.0",
|
|
80
60
|
"ncp": "^2.0.0",
|
|
81
61
|
"npm-run-all": "^4.1.5",
|
|
82
62
|
"pinst": "^3.0.0",
|
|
83
63
|
"rimraf": "^3.0.2",
|
|
84
64
|
"satisfier": "^5.2.2",
|
|
85
|
-
"semantic-release": "^19.0.3",
|
|
86
65
|
"size-limit": "^8.0.0",
|
|
87
66
|
"ts-jest": "^29.0.0",
|
|
88
67
|
"tslib": "^2.4.0",
|
|
@@ -90,7 +69,7 @@
|
|
|
90
69
|
"typedoc-plugin-extras": "^2.2.3",
|
|
91
70
|
"typescript": "4.9.4"
|
|
92
71
|
},
|
|
93
|
-
"packageManager": "pnpm@7.
|
|
72
|
+
"packageManager": "pnpm@7.22.0",
|
|
94
73
|
"size-limit": [
|
|
95
74
|
{
|
|
96
75
|
"path": "./cjs/index.js",
|
|
@@ -104,5 +83,26 @@
|
|
|
104
83
|
"path": "./tslib/index.js",
|
|
105
84
|
"limit": "15 kb"
|
|
106
85
|
}
|
|
107
|
-
]
|
|
108
|
-
|
|
86
|
+
],
|
|
87
|
+
"scripts": {
|
|
88
|
+
"build": "run-p build:cjs build:esm build:tslib",
|
|
89
|
+
"build:cjs": "tsc -p tsconfig.cjs.json && ncp package.cjs.json cjs/package.json",
|
|
90
|
+
"build:esm": "tsc -p tsconfig.esm.json",
|
|
91
|
+
"build:tslib": "tsc -p tsconfig.tslib.json && ncp package.cjs.json tslib/package.json",
|
|
92
|
+
"build:doc": "typedoc",
|
|
93
|
+
"clean": "rimraf cjs coverage esm lib libm tslib",
|
|
94
|
+
"coverage": "cross-env NODE_OPTIONS=--experimental-vm-modules NODE_NO_WARNINGS=1 jest --coverage",
|
|
95
|
+
"cs": "changeset",
|
|
96
|
+
"depcheck": "depcheck",
|
|
97
|
+
"lint": "eslint --ext=ts,js .",
|
|
98
|
+
"nuke": "pnpm clean && rimraf node_modules",
|
|
99
|
+
"_postinstall": "husky install",
|
|
100
|
+
"release": "changeset publish",
|
|
101
|
+
"size": "size-limit",
|
|
102
|
+
"test": "cross-env NODE_OPTIONS=--experimental-vm-modules NODE_NO_WARNINGS=1 jest",
|
|
103
|
+
"test:watch": "cross-env NODE_OPTIONS=--experimental-vm-modules NODE_NO_WARNINGS=1 jest --watch",
|
|
104
|
+
"verify": "npm-run-all clean -p build depcheck lint coverage -p size",
|
|
105
|
+
"version": "changeset version",
|
|
106
|
+
"watch": "jest --watch"
|
|
107
|
+
}
|
|
108
|
+
}
|
|
@@ -1,5 +1,16 @@
|
|
|
1
1
|
import type { AnyConstructor } from './AnyConstructor.js'
|
|
2
2
|
|
|
3
|
+
/**
|
|
4
|
+
* Is the subject a constructor function.
|
|
5
|
+
*
|
|
6
|
+
* @deprecated this is not a failsafe test,
|
|
7
|
+
* it will return true for any function that can be called with `new`.
|
|
8
|
+
*
|
|
9
|
+
* If the subject is an arrow function,
|
|
10
|
+
* it can still return true after compilation.
|
|
11
|
+
*
|
|
12
|
+
* Thus this function is not safe to use.
|
|
13
|
+
*/
|
|
3
14
|
export function isConstructor(subject: unknown): subject is AnyConstructor {
|
|
4
15
|
try {
|
|
5
16
|
new (subject as AnyConstructor)()
|
|
@@ -12,3 +23,10 @@ export function isConstructor(subject: unknown): subject is AnyConstructor {
|
|
|
12
23
|
}
|
|
13
24
|
return true
|
|
14
25
|
}
|
|
26
|
+
|
|
27
|
+
/**
|
|
28
|
+
* instanceof type guard for unknown value.
|
|
29
|
+
*/
|
|
30
|
+
export function isInstanceof<T extends AnyConstructor>(subject: unknown, constructor: T): subject is InstanceType<T> {
|
|
31
|
+
return subject instanceof constructor
|
|
32
|
+
}
|
package/ts/predicates/isType.ts
CHANGED
|
@@ -1,26 +1,15 @@
|
|
|
1
|
-
import { AnyConstructor, isConstructor } from '../class/index.js'
|
|
2
1
|
import type { Equal } from './Equal.js'
|
|
3
2
|
|
|
4
3
|
/**
|
|
5
4
|
* Is the subject of type T
|
|
6
5
|
*/
|
|
7
6
|
export function isType<T>(subject: T): subject is T
|
|
8
|
-
/**
|
|
9
|
-
* Is the subject a class of T
|
|
10
|
-
*/
|
|
11
|
-
export function isType<T extends AnyConstructor>(subject: unknown, constructor: T): subject is InstanceType<T>
|
|
12
7
|
/**
|
|
13
8
|
* Is the subject of type T, satisfying the supplied validator
|
|
14
9
|
*/
|
|
15
10
|
export function isType<T>(subject: unknown, validator: (s: T) => unknown): subject is T
|
|
16
|
-
export function isType(subject: unknown, validator?:
|
|
17
|
-
|
|
18
|
-
if (isConstructor(validator))
|
|
19
|
-
return subject instanceof validator
|
|
20
|
-
else
|
|
21
|
-
return !!validator(subject)
|
|
22
|
-
}
|
|
23
|
-
return true
|
|
11
|
+
export function isType(subject: unknown, validator?: (s: unknown) => unknown) {
|
|
12
|
+
return validator ? !!validator(subject) : true
|
|
24
13
|
}
|
|
25
14
|
|
|
26
15
|
isType.t = function <T extends true>(subject?: T) {
|
package/ts/utils/index.ts
CHANGED