@fncts/base 0.0.22 → 0.0.23
Sign up to get free protection for your applications and to get access to all the features.
- package/_cjs/collection/immutable/Conc/definition.cjs +6 -5
- package/_cjs/collection/immutable/Conc/definition.cjs.map +1 -1
- package/_cjs/collection/immutable/HashMap/definition.cjs +9 -6
- package/_cjs/collection/immutable/HashMap/definition.cjs.map +1 -1
- package/_cjs/collection/immutable/HashSet/definition.cjs +9 -6
- package/_cjs/collection/immutable/HashSet/definition.cjs.map +1 -1
- package/_cjs/collection/immutable/ImmutableArray/definition.cjs +7 -4
- package/_cjs/collection/immutable/ImmutableArray/definition.cjs.map +1 -1
- package/_cjs/collection/immutable/RoseTree/definition.cjs +7 -4
- package/_cjs/collection/immutable/RoseTree/definition.cjs.map +1 -1
- package/_cjs/collection/immutable/SortedMap/definition.cjs +3 -2
- package/_cjs/collection/immutable/SortedMap/definition.cjs.map +1 -1
- package/_cjs/collection/immutable/Vector/definition.cjs +7 -4
- package/_cjs/collection/immutable/Vector/definition.cjs.map +1 -1
- package/_cjs/control/Eval/definition.cjs +11 -5
- package/_cjs/control/Eval/definition.cjs.map +1 -1
- package/_cjs/control/Z/definition.cjs +16 -9
- package/_cjs/control/Z/definition.cjs.map +1 -1
- package/_cjs/data/CaseClass.cjs +1 -1
- package/_cjs/data/CaseClass.cjs.map +1 -1
- package/_cjs/data/Cause/api.cjs +26 -1
- package/_cjs/data/Cause/api.cjs.map +1 -1
- package/_cjs/data/Cause/definition.cjs +3 -1
- package/_cjs/data/Cause/definition.cjs.map +1 -1
- package/_cjs/data/Datum/definition.cjs +10 -9
- package/_cjs/data/Datum/definition.cjs.map +1 -1
- package/_cjs/data/DatumEither/definition.cjs.map +1 -1
- package/_cjs/data/DatumEither.cjs +28 -0
- package/_cjs/data/DatumEither.cjs.map +1 -0
- package/_cjs/data/DecodeError/definition.cjs +3 -1
- package/_cjs/data/DecodeError/definition.cjs.map +1 -1
- package/_cjs/data/Decoder/definition.cjs +4 -2
- package/_cjs/data/Decoder/definition.cjs.map +1 -1
- package/_cjs/data/Duration/definition.cjs +5 -4
- package/_cjs/data/Duration/definition.cjs.map +1 -1
- package/_cjs/data/Either/api.cjs +6 -6
- package/_cjs/data/Either/api.cjs.map +1 -1
- package/_cjs/data/Either/definition.cjs +7 -3
- package/_cjs/data/Either/definition.cjs.map +1 -1
- package/_cjs/data/Encoder/definition.cjs +3 -1
- package/_cjs/data/Encoder/definition.cjs.map +1 -1
- package/_cjs/data/Environment/api.cjs +5 -15
- package/_cjs/data/Environment/api.cjs.map +1 -1
- package/_cjs/data/Environment/definition.cjs +9 -10
- package/_cjs/data/Environment/definition.cjs.map +1 -1
- package/_cjs/data/EnvironmentPatch.cjs +6 -2
- package/_cjs/data/EnvironmentPatch.cjs.map +1 -1
- package/_cjs/data/Exit/definition.cjs +12 -9
- package/_cjs/data/Exit/definition.cjs.map +1 -1
- package/_cjs/data/FiberId/definition.cjs +9 -8
- package/_cjs/data/FiberId/definition.cjs.map +1 -1
- package/_cjs/data/Guard/definition.cjs +7 -3
- package/_cjs/data/Guard/definition.cjs.map +1 -1
- package/_cjs/data/Maybe/definition.cjs +8 -4
- package/_cjs/data/Maybe/definition.cjs.map +1 -1
- package/_cjs/data/Tag/definition.cjs +7 -4
- package/_cjs/data/Tag/definition.cjs.map +1 -1
- package/_cjs/data/These/definition.cjs +10 -6
- package/_cjs/data/These/definition.cjs.map +1 -1
- package/_cjs/data/exceptions/InterruptedException.cjs +7 -3
- package/_cjs/data/exceptions/InterruptedException.cjs.map +1 -1
- package/_cjs/util/predicates.cjs +1 -1
- package/_cjs/util/predicates.cjs.map +1 -1
- package/_mjs/collection/immutable/Conc/definition.mjs +6 -5
- package/_mjs/collection/immutable/Conc/definition.mjs.map +1 -1
- package/_mjs/collection/immutable/HashMap/definition.mjs +6 -4
- package/_mjs/collection/immutable/HashMap/definition.mjs.map +1 -1
- package/_mjs/collection/immutable/HashSet/definition.mjs +6 -4
- package/_mjs/collection/immutable/HashSet/definition.mjs.map +1 -1
- package/_mjs/collection/immutable/ImmutableArray/definition.mjs +5 -3
- package/_mjs/collection/immutable/ImmutableArray/definition.mjs.map +1 -1
- package/_mjs/collection/immutable/RoseTree/definition.mjs +5 -3
- package/_mjs/collection/immutable/RoseTree/definition.mjs.map +1 -1
- package/_mjs/collection/immutable/SortedMap/definition.mjs +3 -2
- package/_mjs/collection/immutable/SortedMap/definition.mjs.map +1 -1
- package/_mjs/collection/immutable/Vector/definition.mjs +5 -3
- package/_mjs/collection/immutable/Vector/definition.mjs.map +1 -1
- package/_mjs/control/Eval/definition.mjs +9 -3
- package/_mjs/control/Eval/definition.mjs.map +1 -1
- package/_mjs/control/Z/definition.mjs +11 -7
- package/_mjs/control/Z/definition.mjs.map +1 -1
- package/_mjs/data/CaseClass.mjs +1 -1
- package/_mjs/data/CaseClass.mjs.map +1 -1
- package/_mjs/data/Cause/api.mjs +22 -0
- package/_mjs/data/Cause/api.mjs.map +1 -1
- package/_mjs/data/Cause/definition.mjs +1 -0
- package/_mjs/data/Cause/definition.mjs.map +1 -1
- package/_mjs/data/Datum/definition.mjs +10 -9
- package/_mjs/data/Datum/definition.mjs.map +1 -1
- package/_mjs/data/DatumEither/definition.mjs.map +1 -1
- package/_mjs/data/DatumEither.mjs +4 -0
- package/_mjs/data/DatumEither.mjs.map +1 -0
- package/_mjs/data/DecodeError/definition.mjs +3 -1
- package/_mjs/data/DecodeError/definition.mjs.map +1 -1
- package/_mjs/data/Decoder/definition.mjs +3 -1
- package/_mjs/data/Decoder/definition.mjs.map +1 -1
- package/_mjs/data/Duration/definition.mjs +5 -4
- package/_mjs/data/Duration/definition.mjs.map +1 -1
- package/_mjs/data/Either/api.mjs +6 -6
- package/_mjs/data/Either/api.mjs.map +1 -1
- package/_mjs/data/Either/definition.mjs +4 -1
- package/_mjs/data/Either/definition.mjs.map +1 -1
- package/_mjs/data/Encoder/definition.mjs +3 -1
- package/_mjs/data/Encoder/definition.mjs.map +1 -1
- package/_mjs/data/Environment/api.mjs +4 -12
- package/_mjs/data/Environment/api.mjs.map +1 -1
- package/_mjs/data/Environment/definition.mjs +6 -8
- package/_mjs/data/Environment/definition.mjs.map +1 -1
- package/_mjs/data/EnvironmentPatch.mjs +4 -1
- package/_mjs/data/EnvironmentPatch.mjs.map +1 -1
- package/_mjs/data/Exit/definition.mjs +10 -8
- package/_mjs/data/Exit/definition.mjs.map +1 -1
- package/_mjs/data/FiberId/definition.mjs +9 -8
- package/_mjs/data/FiberId/definition.mjs.map +1 -1
- package/_mjs/data/Guard/definition.mjs +4 -1
- package/_mjs/data/Guard/definition.mjs.map +1 -1
- package/_mjs/data/Maybe/definition.mjs +5 -2
- package/_mjs/data/Maybe/definition.mjs.map +1 -1
- package/_mjs/data/Tag/definition.mjs +5 -3
- package/_mjs/data/Tag/definition.mjs.map +1 -1
- package/_mjs/data/These/definition.mjs +10 -4
- package/_mjs/data/These/definition.mjs.map +1 -1
- package/_mjs/data/exceptions/InterruptedException.mjs +5 -3
- package/_mjs/data/exceptions/InterruptedException.mjs.map +1 -1
- package/_mjs/util/predicates.mjs +1 -1
- package/_mjs/util/predicates.mjs.map +1 -1
- package/_src/collection/immutable/Conc/definition.ts +3 -3
- package/_src/collection/immutable/HashMap/definition.ts +12 -7
- package/_src/collection/immutable/HashSet/definition.ts +11 -5
- package/_src/collection/immutable/ImmutableArray/definition.ts +8 -3
- package/_src/collection/immutable/RoseTree/definition.ts +8 -3
- package/_src/collection/immutable/SortedMap/definition.ts +1 -1
- package/_src/collection/immutable/Vector/definition.ts +12 -5
- package/_src/control/Eval/definition.ts +22 -10
- package/_src/control/Z/definition.ts +17 -14
- package/_src/data/CaseClass.ts +1 -1
- package/_src/data/Cause/api.ts +24 -0
- package/_src/data/Cause/definition.ts +25 -15
- package/_src/data/Datum/definition.ts +8 -7
- package/_src/data/DatumEither/definition.ts +0 -1
- package/_src/data/DatumEither.ts +4 -0
- package/_src/data/DecodeError/definition.ts +1 -1
- package/_src/data/Decoder/definition.ts +1 -1
- package/_src/data/Duration/definition.ts +2 -4
- package/_src/data/Either/api.ts +1 -3
- package/_src/data/Either/definition.ts +8 -3
- package/_src/data/Encoder/definition.ts +1 -1
- package/_src/data/Environment/api.ts +0 -11
- package/_src/data/Environment/definition.ts +9 -8
- package/_src/data/EnvironmentPatch.ts +8 -3
- package/_src/data/Exit/definition.ts +16 -12
- package/_src/data/FiberId/definition.ts +7 -9
- package/_src/data/Guard/definition.ts +7 -2
- package/_src/data/Maybe/definition.ts +11 -18
- package/_src/data/Tag/definition.ts +7 -4
- package/_src/data/These/definition.ts +7 -7
- package/_src/data/exceptions/InterruptedException.ts +2 -4
- package/_src/data.ts +1 -0
- package/_src/util/predicates.ts +2 -2
- package/collection/immutable/Conc/definition.d.ts +2 -2
- package/collection/immutable/HashMap/definition.d.ts +10 -6
- package/collection/immutable/HashSet/definition.d.ts +9 -4
- package/collection/immutable/ImmutableArray/definition.d.ts +6 -2
- package/collection/immutable/RoseTree/definition.d.ts +6 -2
- package/collection/immutable/SortedMap/definition.d.ts +1 -1
- package/collection/immutable/Vector/definition.d.ts +10 -4
- package/control/Eval/definition.d.ts +18 -7
- package/control/Z/definition.d.ts +12 -8
- package/data/Cause/api.d.ts +12 -0
- package/data/Cause/definition.d.ts +23 -7
- package/data/Datum/definition.d.ts +4 -3
- package/data/DatumEither/definition.d.ts +0 -1
- package/data/DatumEither.d.ts +2 -0
- package/data/DecodeError/definition.d.ts +1 -1
- package/data/Decoder/definition.d.ts +1 -1
- package/data/Duration/definition.d.ts +1 -1
- package/data/Either/definition.d.ts +7 -3
- package/data/EitherT/api.d.ts +2 -2
- package/data/Encoder/definition.d.ts +1 -1
- package/data/Environment/api.d.ts +0 -5
- package/data/Environment/definition.d.ts +8 -8
- package/data/EnvironmentPatch.d.ts +7 -3
- package/data/Exit/definition.d.ts +12 -6
- package/data/FiberId/definition.d.ts +3 -3
- package/data/Guard/definition.d.ts +6 -2
- package/data/Maybe/definition.d.ts +13 -11
- package/data/Tag/definition.d.ts +6 -2
- package/data/These/definition.d.ts +3 -3
- package/data/exceptions/InterruptedException.d.ts +1 -1
- package/data.d.ts +1 -0
- package/package.json +1 -1
- package/util/predicates.d.ts +1 -1
@@ -1,3 +1,4 @@
|
|
1
|
+
var _a, _b, _c;
|
1
2
|
import * as tsplus_module_1 from "@fncts/base/util/predicates";
|
2
3
|
export const TheseTypeId = /*#__PURE__*/Symbol.for("fncts.data.These");
|
3
4
|
/**
|
@@ -6,20 +7,24 @@ export const TheseTypeId = /*#__PURE__*/Symbol.for("fncts.data.These");
|
|
6
7
|
export class Left {
|
7
8
|
constructor(left) {
|
8
9
|
this.left = left;
|
9
|
-
this
|
10
|
+
this[_a] = TheseTypeId;
|
10
11
|
this._tag = "Left" /* TheseTag.Left */;
|
11
12
|
}
|
12
13
|
}
|
14
|
+
|
15
|
+
_a = TheseTypeId;
|
13
16
|
/**
|
14
17
|
* @tsplus type fncts.These.Right
|
15
18
|
*/
|
16
19
|
export class Right {
|
17
20
|
constructor(right) {
|
18
21
|
this.right = right;
|
19
|
-
this
|
22
|
+
this[_b] = TheseTypeId;
|
20
23
|
this._tag = "Right" /* TheseTag.Right */;
|
21
24
|
}
|
22
25
|
}
|
26
|
+
|
27
|
+
_b = TheseTypeId;
|
23
28
|
/**
|
24
29
|
* @tsplus type fncts.These.Both
|
25
30
|
*/
|
@@ -27,16 +32,17 @@ export class Both {
|
|
27
32
|
constructor(left, right) {
|
28
33
|
this.left = left;
|
29
34
|
this.right = right;
|
30
|
-
this
|
35
|
+
this[_c] = TheseTypeId;
|
31
36
|
this._tag = "Both" /* TheseTag.Both */;
|
32
37
|
}
|
33
38
|
}
|
34
39
|
|
40
|
+
_c = TheseTypeId;
|
35
41
|
export const These = {};
|
36
42
|
/**
|
37
43
|
* @tsplus static fncts.TheseOps isThese
|
38
44
|
*/
|
39
45
|
export function isThese(u) {
|
40
|
-
return tsplus_module_1.
|
46
|
+
return tsplus_module_1.isObject(u) && TheseTypeId in u;
|
41
47
|
}
|
42
48
|
//# sourceMappingURL=definition.mjs.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"definition.mjs","mappings":"
|
1
|
+
{"version":3,"file":"definition.mjs","mappings":";;AAMA,OAAO,MAAMA,WAAW,gBAAGC,MAAM,CAACC,GAAG,CAAC,kBAAkB,CAAC;AAGzD;;;AAGA,OAAM,MAAOC,IAAI;EAGfC,YAAqBC,IAAO;IAAP,SAAI,GAAJA,IAAI;IAFhB,QAAa,GAAgBL,WAAW;IACxC,SAAI;EACkB;;;KAFrBA,WAAW;AAKvB;;;AAGA,OAAM,MAAOM,KAAK;EAGhBF,YAAqBG,KAAQ;IAAR,UAAK,GAALA,KAAK;IAFjB,QAAa,GAAgBP,WAAW;IACxC,SAAI;EACmB;;;KAFtBA,WAAW;AAKvB;;;AAGA,OAAM,MAAOQ,IAAI;EAGfJ,YAAqBC,IAAO,EAAWE,KAAQ;IAA1B,SAAI,GAAJF,IAAI;IAAc,UAAK,GAALE,KAAK;IAFnC,QAAa,GAAgBP,WAAW;IACxC,SAAI;EACqC;;;KAFxCA,WAAW;AAevB,OAAO,MAAMS,KAAK,GAAa,EAAE;AAEjC;;;AAGA,OAAM,SAAUC,OAAO,CAACC,CAAU;EAChC,OAAOC,wBAAQ,CAACD,CAAC,CAAC,IAAIX,WAAW,IAAIW,CAAC;AACxC","names":["TheseTypeId","Symbol","for","Left","constructor","left","Right","right","Both","These","isThese","u","tsplus_module_1"],"sourceRoot":"","sources":["../../../_src/data/These/definition.ts"],"sourcesContent":[null]}
|
@@ -1,12 +1,14 @@
|
|
1
|
-
|
1
|
+
var _a;
|
2
|
+
import * as tsplus_module_1 from "@fncts/base/util/predicates";
|
2
3
|
export const InterruptedExceptionTypeId = /*#__PURE__*/Symbol.for("fncts.InterruptedException");
|
3
4
|
export class InterruptedException {
|
4
5
|
constructor(message) {
|
5
6
|
this.message = message;
|
6
|
-
this
|
7
|
+
this[_a] = InterruptedExceptionTypeId;
|
7
8
|
}
|
8
9
|
}
|
10
|
+
_a = InterruptedExceptionTypeId;
|
9
11
|
export function isInterruptedException(u) {
|
10
|
-
return
|
12
|
+
return tsplus_module_1.isObject(u) && InterruptedExceptionTypeId in u;
|
11
13
|
}
|
12
14
|
//# sourceMappingURL=InterruptedException.mjs.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"InterruptedException.mjs","mappings":"AAAA,
|
1
|
+
{"version":3,"file":"InterruptedException.mjs","mappings":";;AAAA,OAAO,MAAMA,0BAA0B,gBAAGC,MAAM,CAACC,GAAG,CAAC,4BAA4B,CAAC;AAGlF,OAAM,MAAOC,oBAAoB;EAE/BC,YAAqBC,OAAgB;IAAhB,YAAO,GAAPA,OAAO;IADnB,QAA4B,GAA+BL,0BAA0B;EACtD;;KAD9BA,0BAA0B;AAItC,OAAM,SAAUM,sBAAsB,CAACC,CAAU;EAC/C,OAAOC,wBAAQ,CAACD,CAAC,CAAC,IAAIP,0BAA0B,IAAIO,CAAC;AACvD","names":["InterruptedExceptionTypeId","Symbol","for","InterruptedException","constructor","message","isInterruptedException","u","tsplus_module_1"],"sourceRoot":"","sources":["../../../_src/data/exceptions/InterruptedException.ts"],"sourcesContent":[null]}
|
package/_mjs/util/predicates.mjs
CHANGED
@@ -26,7 +26,7 @@ export function isObject(value) {
|
|
26
26
|
return typeof value === "object" && value !== null;
|
27
27
|
}
|
28
28
|
export function hasTypeId(value, typeId) {
|
29
|
-
return isObject(value) &&
|
29
|
+
return isObject(value) && typeId in value;
|
30
30
|
}
|
31
31
|
export function isFunction(value) {
|
32
32
|
return typeof value === "function";
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"predicates.mjs","mappings":"AAEA,OAAM,SAAUA,SAAS,CAAIC,KAAoB;EAC/C,OAAOA,KAAK,KAAKC,SAAS;AAC5B;AAEA,OAAM,SAAUC,WAAW,CAAIF,KAAoB;EACjD,OAAOA,KAAK,KAAKC,SAAS;AAC5B;AAEA,OAAM,SAAUE,SAAS,CAAIH,KAAe;EAC1C,OAAOA,KAAK,KAAK,IAAI;AACvB;AAEA,OAAM,SAAUI,MAAM,CAAIJ,KAAe;EACvC,OAAOA,KAAK,KAAK,IAAI;AACvB;AAEA,OAAM,SAAUK,aAAa,CAAIL,KAA2B;EAC1D,OAAOA,KAAK,IAAI,IAAI;AACtB;AAEA,OAAM,SAAUM,UAAU,CAAIN,KAA2B;EACvD,OAAOA,KAAK,IAAI,IAAI;AACtB;AAEA,OAAM,SAAUO,UAAU,CAAIP,KAAc;EAC1C,OAAOQ,QAAQ,CAACR,KAAK,CAAC,IAAIS,MAAM,CAACC,QAAQ,IAAIV,KAAK;AACpD;AAIA,OAAM,SAAUW,OAAO,CAACX,KAAc;EACpC,OAAOY,KAAK,CAACD,OAAO,CAACX,KAAK,CAAC;AAC7B;AAKA,OAAM,SAAUQ,QAAQ,CAAIR,KAAoB;EAC9C,OAAO,OAAOA,KAAK,KAAK,QAAQ,IAAIA,KAAK,KAAK,IAAI;AACpD;AAEA,OAAM,SAAUa,SAAS,CACvBb,KAAc,EACdc,MAAS;EAIT,OAAON,QAAQ,CAACR,KAAK,CAAC,
|
1
|
+
{"version":3,"file":"predicates.mjs","mappings":"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","names":["isDefined","value","undefined","isUndefined","isNonNull","isNull","isNonNullable","isNullable","isIterable","isObject","Symbol","iterator","isArray","Array","hasTypeId","typeId","isFunction","isBoolean","isString","isNumber","isBigInt","isByte","n","Number","isInteger","isSymbol","isPlain","constructor","Object","isInstanceOf","type","isMap","u","Map","isWeakMap","WeakMap","isPromise","Promise","isSet","Set","isWeakSet","WeakSet","isDate","Date","TypedArrayConstructor","getPrototypeOf","Uint8Array","isTypedArray","isRegExp","getTag","RegExp","isAnyArrayBuffer","ArrayBuffer","SharedArrayBuffer","isArrayBuffer","isDataView","DataView","prototype","toString","call"],"sourceRoot":"","sources":["../../_src/util/predicates.ts"],"sourcesContent":[null]}
|
@@ -30,7 +30,7 @@ export interface ConcF extends HKT {
|
|
30
30
|
export abstract class Conc<A> implements Iterable<A>, Hashable, Equatable {
|
31
31
|
declare _A: () => A;
|
32
32
|
|
33
|
-
readonly
|
33
|
+
readonly [ConcTypeId]: ConcTypeId = ConcTypeId;
|
34
34
|
abstract readonly length: number;
|
35
35
|
abstract [Symbol.iterator](): Iterator<A>;
|
36
36
|
|
@@ -44,7 +44,7 @@ export abstract class Conc<A> implements Iterable<A>, Hashable, Equatable {
|
|
44
44
|
}
|
45
45
|
|
46
46
|
abstract class ConcImplementation<A> implements Iterable<A> {
|
47
|
-
readonly
|
47
|
+
readonly [ConcTypeId]: ConcTypeId = ConcTypeId;
|
48
48
|
declare _A: () => A;
|
49
49
|
get [Symbol.hash](): number {
|
50
50
|
return Hashable.iterator(this[Symbol.iterator]());
|
@@ -731,7 +731,7 @@ export function fromArray<A>(array: ArrayLike<A>): ConcImplementation<A> {
|
|
731
731
|
export function isConc<A>(u: Iterable<A>): u is Conc<A>;
|
732
732
|
export function isConc(u: unknown): u is Conc<unknown>;
|
733
733
|
export function isConc(u: unknown): u is Conc<unknown> {
|
734
|
-
return isObject(u) &&
|
734
|
+
return isObject(u) && ConcTypeId in u;
|
735
735
|
}
|
736
736
|
|
737
737
|
/**
|
@@ -13,18 +13,23 @@ export interface HashMapF extends HKT {
|
|
13
13
|
index: this["K"];
|
14
14
|
}
|
15
15
|
|
16
|
-
export const
|
17
|
-
export type
|
16
|
+
export const HashMapVariance = Symbol.for("fncts.HashMap.Variance");
|
17
|
+
export type HashMapVariance = typeof HashMapVariance;
|
18
|
+
|
19
|
+
export const HashMapTypeId = Symbol.for("fncts.HashMap");
|
20
|
+
export type HashMapTypeId = typeof HashMapTypeId;
|
18
21
|
|
19
22
|
/**
|
20
23
|
* @tsplus type fncts.HashMap
|
21
24
|
* @tsplus companion fncts.HashMapOps
|
22
25
|
*/
|
23
|
-
export class HashMap<K, V> implements Iterable<readonly [K, V]>, Hashable, Equatable {
|
24
|
-
readonly
|
26
|
+
export class HashMap<in out K, in out V> implements Iterable<readonly [K, V]>, Hashable, Equatable {
|
27
|
+
readonly [HashMapTypeId]: HashMapTypeId = HashMapTypeId;
|
25
28
|
|
26
|
-
declare
|
27
|
-
|
29
|
+
declare [HashMapVariance]: {
|
30
|
+
readonly _K: (_: K) => K;
|
31
|
+
readonly _A: (_: V) => V;
|
32
|
+
};
|
28
33
|
|
29
34
|
constructor(
|
30
35
|
public editable: boolean,
|
@@ -59,7 +64,7 @@ export class HashMap<K, V> implements Iterable<readonly [K, V]>, Hashable, Equat
|
|
59
64
|
export function isHashMap<K, V>(u: Iterable<readonly [K, V]>): u is HashMap<K, V>;
|
60
65
|
export function isHashMap(u: unknown): u is HashMap<unknown, unknown>;
|
61
66
|
export function isHashMap(u: unknown): u is HashMap<unknown, unknown> {
|
62
|
-
return
|
67
|
+
return isObject(u) && HashMapTypeId in u;
|
63
68
|
}
|
64
69
|
|
65
70
|
export class HashMapIterator<K, V, T> implements IterableIterator<T> {
|
@@ -12,15 +12,21 @@ import {
|
|
12
12
|
import { identity } from "@fncts/base/data/function";
|
13
13
|
import * as P from "@fncts/base/typeclass";
|
14
14
|
|
15
|
-
export const
|
16
|
-
export type
|
15
|
+
export const HashSetVariance = Symbol.for("fncts.HashSet.Variance");
|
16
|
+
export type HashSetVariance = typeof HashSetVariance;
|
17
|
+
|
18
|
+
export const HashSetTypeId = Symbol.for("fncts.HashSet");
|
19
|
+
export type HashSetTypeId = typeof HashSetTypeId;
|
17
20
|
|
18
21
|
/**
|
19
22
|
* @tsplus type fncts.HashSet
|
20
23
|
* @tsplus companion fncts.HashSetOps
|
21
24
|
*/
|
22
|
-
export class HashSet<A> implements Iterable<A>, P.Hashable, P.Equatable {
|
23
|
-
readonly
|
25
|
+
export class HashSet<in out A> implements Iterable<A>, P.Hashable, P.Equatable {
|
26
|
+
readonly [HashSetTypeId]: HashSetTypeId = HashSetTypeId;
|
27
|
+
declare [HashSetVariance]: {
|
28
|
+
readonly _A: (_: A) => A;
|
29
|
+
};
|
24
30
|
|
25
31
|
constructor(
|
26
32
|
/**
|
@@ -72,7 +78,7 @@ export class HashSet<A> implements Iterable<A>, P.Hashable, P.Equatable {
|
|
72
78
|
export function isHashSet<A>(u: Iterable<A>): u is HashSet<A>;
|
73
79
|
export function isHashSet(u: unknown): u is HashSet<unknown>;
|
74
80
|
export function isHashSet(u: unknown): u is HashSet<unknown> {
|
75
|
-
return
|
81
|
+
return isObject(u) && HashSetTypeId in u;
|
76
82
|
}
|
77
83
|
|
78
84
|
class HashSetIterator<A, T> implements IterableIterator<T> {
|
@@ -1,3 +1,6 @@
|
|
1
|
+
export const ImmutableArrayVariance = Symbol.for("fncts.ImmutableArray.Variance");
|
2
|
+
export type ImmutableArrayVariance = typeof ImmutableArrayVariance;
|
3
|
+
|
1
4
|
export const ImmutableArrayTypeId = Symbol.for("fncts.ImmutableArray");
|
2
5
|
export type ImmutableArrayTypeId = typeof ImmutableArrayTypeId;
|
3
6
|
|
@@ -14,8 +17,10 @@ export interface ImmutableArrayF extends HKT {
|
|
14
17
|
* @tsplus companion fncts.ImmutableArrayOps
|
15
18
|
*/
|
16
19
|
export class ImmutableArray<A> implements Equatable, Hashable, Iterable<A> {
|
17
|
-
readonly
|
18
|
-
|
20
|
+
readonly [ImmutableArrayTypeId]: ImmutableArrayTypeId = ImmutableArrayTypeId;
|
21
|
+
declare [ImmutableArrayVariance]: {
|
22
|
+
readonly _A: (_: never) => A;
|
23
|
+
};
|
19
24
|
constructor(readonly _array: ReadonlyArray<A>) {}
|
20
25
|
|
21
26
|
[Symbol.equals](that: unknown): boolean {
|
@@ -39,5 +44,5 @@ export class ImmutableArray<A> implements Equatable, Hashable, Iterable<A> {
|
|
39
44
|
* @tsplus static fncts.ImmutableArrayOps is
|
40
45
|
*/
|
41
46
|
export function isImmutableArray(u: unknown): u is ImmutableArray<unknown> {
|
42
|
-
return
|
47
|
+
return isObject(u) && ImmutableArrayTypeId in u;
|
43
48
|
}
|
@@ -1,3 +1,6 @@
|
|
1
|
+
export const RoseTreeVariance = Symbol.for("fncts.RoseTree.Variance");
|
2
|
+
export type RoseTreeVariance = typeof RoseTreeVariance;
|
3
|
+
|
1
4
|
export const RoseTreeTypeId = Symbol.for("fncts.RoseTree");
|
2
5
|
export type RoseTreeTypeId = typeof RoseTreeTypeId;
|
3
6
|
|
@@ -13,8 +16,10 @@ export interface RoseTreeF extends HKT {
|
|
13
16
|
* @tsplus companion fncts.RoseTreeOps
|
14
17
|
*/
|
15
18
|
export class RoseTree<A> implements Hashable, Equatable {
|
16
|
-
readonly
|
17
|
-
declare
|
19
|
+
readonly [RoseTreeTypeId]: RoseTreeTypeId = RoseTreeTypeId;
|
20
|
+
declare [RoseTreeVariance]: {
|
21
|
+
readonly _A: (_: never) => A;
|
22
|
+
};
|
18
23
|
constructor(readonly value: A, readonly forest: Vector<RoseTree<A>>) {}
|
19
24
|
|
20
25
|
[Symbol.equals](that: unknown): boolean {
|
@@ -30,5 +35,5 @@ export class RoseTree<A> implements Hashable, Equatable {
|
|
30
35
|
}
|
31
36
|
|
32
37
|
export function isRoseTree(u: unknown): u is RoseTree<unknown> {
|
33
|
-
return
|
38
|
+
return isObject(u) && RoseTreeTypeId in u;
|
34
39
|
}
|
@@ -12,7 +12,7 @@ export type TypeId = typeof TypeId;
|
|
12
12
|
* @tsplus companion fncts.SortedMapOps
|
13
13
|
*/
|
14
14
|
export class SortedMap<K, V> implements SortedMapIterable<K, V> {
|
15
|
-
readonly
|
15
|
+
readonly [TypeId]: TypeId = TypeId;
|
16
16
|
|
17
17
|
constructor(readonly ord: Ord<K>, readonly root: RBNode<K, V>) {}
|
18
18
|
|
@@ -5,6 +5,9 @@ import type { Node } from "@fncts/base/collection/immutable/Vector/internal";
|
|
5
5
|
import { foldLeftCb } from "@fncts/base/collection/immutable/Vector/internal";
|
6
6
|
import { ForwardVectorIterator } from "@fncts/base/collection/immutable/Vector/internal";
|
7
7
|
|
8
|
+
export const VectorVariance = Symbol.for("fncts.Vector.Variance");
|
9
|
+
export type VectorVariance = typeof VectorVariance;
|
10
|
+
|
8
11
|
export const VectorTypeId = Symbol.for("fncts.Vector");
|
9
12
|
export type VectorTypeId = typeof VectorTypeId;
|
10
13
|
|
@@ -23,8 +26,10 @@ export interface VectorF extends HKT {
|
|
23
26
|
* @tsplus companion fncts.VectorOps
|
24
27
|
*/
|
25
28
|
export class Vector<A> implements Iterable<A> {
|
26
|
-
readonly
|
27
|
-
|
29
|
+
readonly [VectorTypeId]: VectorTypeId = VectorTypeId;
|
30
|
+
declare [VectorVariance]: {
|
31
|
+
readonly _A: (_: never) => A;
|
32
|
+
};
|
28
33
|
constructor(
|
29
34
|
/** @private */
|
30
35
|
readonly bits: number,
|
@@ -53,8 +58,10 @@ export class Vector<A> implements Iterable<A> {
|
|
53
58
|
* @tsplus type fncts.MutableVector
|
54
59
|
*/
|
55
60
|
export interface MutableVector<A> {
|
56
|
-
readonly
|
57
|
-
readonly
|
61
|
+
readonly [VectorTypeId]: VectorTypeId;
|
62
|
+
readonly [VectorVariance]: {
|
63
|
+
readonly _A: (_: never) => A;
|
64
|
+
};
|
58
65
|
bits: number;
|
59
66
|
offset: number;
|
60
67
|
length: number;
|
@@ -72,7 +79,7 @@ export interface MutableVector<A> {
|
|
72
79
|
}
|
73
80
|
|
74
81
|
export function isVector(u: unknown): u is Vector<unknown> {
|
75
|
-
return
|
82
|
+
return isObject(u) && VectorTypeId in u;
|
76
83
|
}
|
77
84
|
|
78
85
|
/**
|
@@ -1,3 +1,6 @@
|
|
1
|
+
export const EvalVariance = Symbol.for("fncts.Eval.Variance");
|
2
|
+
export type EvalVariance = typeof EvalVariance;
|
3
|
+
|
1
4
|
export const EvalTypeId = Symbol.for("@fncts/control/Eval");
|
2
5
|
export type EvalTypeId = typeof EvalTypeId;
|
3
6
|
|
@@ -12,8 +15,10 @@ export interface EvalF extends HKT {
|
|
12
15
|
* @tsplus type fncts.control.Eval
|
13
16
|
*/
|
14
17
|
export interface Eval<A> {
|
15
|
-
readonly
|
16
|
-
readonly
|
18
|
+
readonly [EvalTypeId]: EvalTypeId;
|
19
|
+
readonly [EvalVariance]: {
|
20
|
+
readonly _A: (_: never) => A;
|
21
|
+
};
|
17
22
|
}
|
18
23
|
|
19
24
|
/**
|
@@ -30,23 +35,30 @@ export const enum EvalTag {
|
|
30
35
|
}
|
31
36
|
|
32
37
|
export class Value<A> implements Eval<A> {
|
33
|
-
readonly _tag
|
34
|
-
readonly
|
35
|
-
|
38
|
+
readonly _tag = EvalTag.Value;
|
39
|
+
readonly [EvalTypeId]: EvalTypeId = EvalTypeId;
|
40
|
+
declare [EvalVariance]: {
|
41
|
+
readonly _A: (_: never) => A;
|
42
|
+
};
|
36
43
|
constructor(readonly value: A) {}
|
37
44
|
}
|
38
45
|
|
39
46
|
export class Defer<A> implements Eval<A> {
|
40
|
-
readonly
|
41
|
-
|
47
|
+
readonly [EvalTypeId]: EvalTypeId = EvalTypeId;
|
48
|
+
declare [EvalVariance]: {
|
49
|
+
readonly _A: (_: never) => A;
|
50
|
+
};
|
51
|
+
readonly _tag = EvalTag.Defer;
|
42
52
|
readonly _A!: () => A;
|
43
53
|
constructor(readonly make: () => Eval<A>) {}
|
44
54
|
}
|
45
55
|
|
46
56
|
export class Chain<A, B> implements Eval<B> {
|
47
|
-
readonly
|
48
|
-
|
49
|
-
|
57
|
+
readonly [EvalTypeId]: EvalTypeId = EvalTypeId;
|
58
|
+
declare [EvalVariance]: {
|
59
|
+
readonly _A: (_: never) => B;
|
60
|
+
};
|
61
|
+
readonly _tag = EvalTag.Chain;
|
50
62
|
constructor(readonly self: Eval<A>, readonly f: (a: A) => Eval<B>) {}
|
51
63
|
}
|
52
64
|
|
@@ -1,5 +1,3 @@
|
|
1
|
-
import { hasTypeId } from "../../util/predicates.js";
|
2
|
-
|
3
1
|
export interface ZF extends HKT {
|
4
2
|
type: Z<this["W"], this["S"], this["S"], this["R"], this["E"], this["A"]>;
|
5
3
|
variance: {
|
@@ -11,7 +9,10 @@ export interface ZF extends HKT {
|
|
11
9
|
};
|
12
10
|
}
|
13
11
|
|
14
|
-
export const
|
12
|
+
export const ZVariance = Symbol.for("fncts.Z.Variance");
|
13
|
+
export type ZVariance = typeof ZVariance;
|
14
|
+
|
15
|
+
export const ZTypeId = Symbol.for("fncts.Z");
|
15
16
|
export type ZTypeId = typeof ZTypeId;
|
16
17
|
|
17
18
|
/**
|
@@ -28,13 +29,15 @@ export type ZTypeId = typeof ZTypeId;
|
|
28
29
|
* @tsplus companion fncts.control.ZOps
|
29
30
|
*/
|
30
31
|
export abstract class Z<W, S1, S2, R, E, A> {
|
31
|
-
readonly
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
32
|
+
readonly [ZTypeId]: ZTypeId = ZTypeId;
|
33
|
+
declare [ZVariance]: {
|
34
|
+
readonly _W: (_: never) => W;
|
35
|
+
readonly _S1: (_: S1) => void;
|
36
|
+
readonly _S2: (_: never) => S2;
|
37
|
+
readonly _R: (_: never) => R;
|
38
|
+
readonly _E: (_: never) => E;
|
39
|
+
readonly _A: (_: never) => A;
|
40
|
+
};
|
38
41
|
}
|
39
42
|
|
40
43
|
/**
|
@@ -57,7 +60,7 @@ export function unifyZ<X extends Z<any, any, any, any, any, any>>(
|
|
57
60
|
* @tsplus static fncts.control.ZOps isZ
|
58
61
|
*/
|
59
62
|
export function isZ(u: unknown): u is Z<unknown, unknown, unknown, unknown, unknown, unknown> {
|
60
|
-
return
|
63
|
+
return isObject(u) && ZTypeId in u;
|
61
64
|
}
|
62
65
|
|
63
66
|
export const enum ZTag {
|
@@ -183,14 +186,14 @@ export function concrete(_: Z<any, any, any, any, any, any>): asserts _ is Concr
|
|
183
186
|
//
|
184
187
|
}
|
185
188
|
|
186
|
-
export const ZErrorTypeId = Symbol.for("
|
189
|
+
export const ZErrorTypeId = Symbol.for("fncts.Z.ZError");
|
187
190
|
export type ZErrorTypeId = typeof ZErrorTypeId;
|
188
191
|
|
189
192
|
export class ZError<E> {
|
190
|
-
readonly
|
193
|
+
readonly [ZErrorTypeId]: ZErrorTypeId = ZErrorTypeId;
|
191
194
|
constructor(readonly cause: Cause<E>) {}
|
192
195
|
}
|
193
196
|
|
194
197
|
export function isZError(u: unknown): u is ZError<unknown> {
|
195
|
-
return
|
198
|
+
return isObject(u) && ZErrorTypeId in u;
|
196
199
|
}
|
package/_src/data/CaseClass.ts
CHANGED
package/_src/data/Cause/api.ts
CHANGED
@@ -663,6 +663,30 @@ export function isInterrupted<E>(self: Cause<E>): boolean {
|
|
663
663
|
return self.find((cause) => (cause.isInterrupt() ? Just(cause) : Nothing())).isJust();
|
664
664
|
}
|
665
665
|
|
666
|
+
/**
|
667
|
+
* Determines if the `Cause` contains only interruptions and not any `Die` or
|
668
|
+
* `Fail` causes.
|
669
|
+
* @tsplus getter fncts.Cause isInterruptedOnly
|
670
|
+
*/
|
671
|
+
export function isInterruptedOnly<E>(self: Cause<E>): boolean {
|
672
|
+
return self.fold({
|
673
|
+
Empty: () => true,
|
674
|
+
Fail: () => false,
|
675
|
+
Halt: () => false,
|
676
|
+
Interrupt: () => true,
|
677
|
+
Both: (left, right) => left && right,
|
678
|
+
Then: (left, right) => left && right,
|
679
|
+
Stackless: (value) => value,
|
680
|
+
});
|
681
|
+
}
|
682
|
+
|
683
|
+
/**
|
684
|
+
* @tsplus getter fncts.Cause isFailure
|
685
|
+
*/
|
686
|
+
export function isFailure<E>(self: Cause<E>): boolean {
|
687
|
+
return self.failureMaybe.isJust();
|
688
|
+
}
|
689
|
+
|
666
690
|
/**
|
667
691
|
* A type-guard matching `Traced`
|
668
692
|
*
|
@@ -3,6 +3,9 @@ import { Hashable } from "../../typeclass.js";
|
|
3
3
|
import { isObject } from "../../util/predicates.js";
|
4
4
|
import { tuple } from "../function.js";
|
5
5
|
|
6
|
+
export const CauseVariance = Symbol.for("fncts.Cause.Variance");
|
7
|
+
export type CauseVariance = typeof CauseVariance;
|
8
|
+
|
6
9
|
export const CauseTypeId = Symbol.for("fncts.Cause");
|
7
10
|
export type CauseTypeId = typeof CauseTypeId;
|
8
11
|
|
@@ -38,9 +41,10 @@ const _emptyHash = Hashable.string("fncts.Cause");
|
|
38
41
|
* @tsplus companion fncts.Cause.EmptyOps
|
39
42
|
*/
|
40
43
|
export class Empty {
|
41
|
-
readonly _E!: () => never;
|
42
|
-
|
43
44
|
readonly [CauseTypeId]: CauseTypeId = CauseTypeId;
|
45
|
+
declare [CauseVariance]: {
|
46
|
+
readonly _E: (_: never) => never;
|
47
|
+
};
|
44
48
|
readonly _tag = CauseTag.Empty;
|
45
49
|
|
46
50
|
get [Symbol.hash](): number {
|
@@ -71,9 +75,10 @@ export const _Empty = new Empty();
|
|
71
75
|
* @tsplus companion fncts.Cause.FailOps
|
72
76
|
*/
|
73
77
|
export class Fail<E> {
|
74
|
-
readonly _E!: () => E;
|
75
|
-
|
76
78
|
readonly [CauseTypeId]: CauseTypeId = CauseTypeId;
|
79
|
+
declare [CauseVariance]: {
|
80
|
+
readonly _E: (_: never) => E;
|
81
|
+
};
|
77
82
|
readonly _tag = CauseTag.Fail;
|
78
83
|
|
79
84
|
constructor(readonly value: E, readonly trace: Trace) {}
|
@@ -108,9 +113,10 @@ export class Fail<E> {
|
|
108
113
|
* @tsplus companion fncts.Cause.HaltOps
|
109
114
|
*/
|
110
115
|
export class Halt {
|
111
|
-
readonly _E!: () => never;
|
112
|
-
|
113
116
|
readonly [CauseTypeId]: CauseTypeId = CauseTypeId;
|
117
|
+
declare [CauseVariance]: {
|
118
|
+
readonly _E: (_: never) => never;
|
119
|
+
};
|
114
120
|
readonly _tag = CauseTag.Halt;
|
115
121
|
|
116
122
|
constructor(readonly value: unknown, readonly trace: Trace) {}
|
@@ -145,9 +151,10 @@ export class Halt {
|
|
145
151
|
* @tsplus companion fncts.Cause.InterruptOps
|
146
152
|
*/
|
147
153
|
export class Interrupt {
|
148
|
-
readonly _E!: () => never;
|
149
|
-
|
150
154
|
readonly [CauseTypeId]: CauseTypeId = CauseTypeId;
|
155
|
+
declare [CauseVariance]: {
|
156
|
+
readonly _E: (_: never) => never;
|
157
|
+
};
|
151
158
|
readonly _tag = CauseTag.Interrupt;
|
152
159
|
|
153
160
|
constructor(readonly id: FiberId, readonly trace: Trace) {}
|
@@ -183,9 +190,10 @@ export class Interrupt {
|
|
183
190
|
* @tsplus companion fncts.Cause.ThenOps
|
184
191
|
*/
|
185
192
|
export class Then<E> {
|
186
|
-
readonly _E!: () => E;
|
187
|
-
|
188
193
|
readonly [CauseTypeId]: CauseTypeId = CauseTypeId;
|
194
|
+
declare [CauseVariance]: {
|
195
|
+
readonly _E: (_: never) => E;
|
196
|
+
};
|
189
197
|
readonly _tag = CauseTag.Then;
|
190
198
|
|
191
199
|
constructor(readonly left: Cause<E>, readonly right: Cause<E>) {}
|
@@ -216,9 +224,10 @@ export class Then<E> {
|
|
216
224
|
* @tsplus companion fncts.Cause.BothOps
|
217
225
|
*/
|
218
226
|
export class Both<E> {
|
219
|
-
readonly _E!: () => E;
|
220
|
-
|
221
227
|
readonly [CauseTypeId]: CauseTypeId = CauseTypeId;
|
228
|
+
declare [CauseVariance]: {
|
229
|
+
readonly _E: (_: never) => E;
|
230
|
+
};
|
222
231
|
readonly _tag = CauseTag.Both;
|
223
232
|
|
224
233
|
constructor(readonly left: Cause<E>, readonly right: Cause<E>) {}
|
@@ -249,9 +258,10 @@ export class Both<E> {
|
|
249
258
|
* @tsplus companion fncts.Cause.StacklessOps
|
250
259
|
*/
|
251
260
|
export class Stackless<E> {
|
252
|
-
readonly _E!: () => E;
|
253
|
-
|
254
261
|
readonly [CauseTypeId]: CauseTypeId = CauseTypeId;
|
262
|
+
declare [CauseVariance]: {
|
263
|
+
readonly _E: (_: never) => E;
|
264
|
+
};
|
255
265
|
readonly _tag = CauseTag.Stackless;
|
256
266
|
|
257
267
|
constructor(readonly cause: Cause<E>, readonly stackless: boolean) {}
|
@@ -279,7 +289,7 @@ export class Unified {
|
|
279
289
|
* -------------------------------------------------------------------------------------------------
|
280
290
|
*/
|
281
291
|
|
282
|
-
function structuralSymmetric<
|
292
|
+
function structuralSymmetric<A>(
|
283
293
|
f: (x: Cause<A>, y: Cause<A>) => Eval<boolean>,
|
284
294
|
): (x: Cause<A>, y: Cause<A>) => Eval<boolean> {
|
285
295
|
return (x, y) => f(x, y).zipWith(f(y, x), (a, b) => a || b);
|
@@ -34,6 +34,7 @@ const initialHash = Hashable.combine(datumHash, Hashable.string(DatumTag.Ini
|
|
34
34
|
*/
|
35
35
|
export class Initial implements Hashable, Equatable {
|
36
36
|
readonly _tag = DatumTag.Initial;
|
37
|
+
readonly [DatumTypeId]: DatumTypeId = DatumTypeId;
|
37
38
|
get [Symbol.hash](): number {
|
38
39
|
return initialHash;
|
39
40
|
}
|
@@ -49,8 +50,8 @@ const pendingHash = Hashable.combine(datumHash, Hashable.string(DatumTag.Pending
|
|
49
50
|
* @tsplus companion fncts.Datum.PendingOps
|
50
51
|
*/
|
51
52
|
export class Pending implements Hashable, Equatable {
|
52
|
-
readonly
|
53
|
-
readonly _tag
|
53
|
+
readonly [DatumTypeId]: DatumTypeId = DatumTypeId;
|
54
|
+
readonly _tag = DatumTag.Pending;
|
54
55
|
get [Symbol.hash](): number {
|
55
56
|
return pendingHash;
|
56
57
|
}
|
@@ -64,8 +65,8 @@ export class Pending implements Hashable, Equatable {
|
|
64
65
|
* @tsplus companion fncts.Datum.RefreshOps
|
65
66
|
*/
|
66
67
|
export class Refresh<A> implements Hashable, Equatable {
|
67
|
-
readonly
|
68
|
-
readonly _tag
|
68
|
+
readonly [DatumTypeId]: DatumTypeId = DatumTypeId;
|
69
|
+
readonly _tag = DatumTag.Refresh;
|
69
70
|
constructor(readonly value: A) {}
|
70
71
|
get [Symbol.hash](): number {
|
71
72
|
return Hashable.combine(Hashable.combine(datumHash, Hashable.string(this._tag)), Hashable.unknown(this.value));
|
@@ -80,8 +81,8 @@ export class Refresh<A> implements Hashable, Equatable {
|
|
80
81
|
* @tsplus companion fncts.Datum.RepleteOps
|
81
82
|
*/
|
82
83
|
export class Replete<A> implements Hashable, Equatable {
|
83
|
-
readonly
|
84
|
-
readonly _tag
|
84
|
+
readonly [DatumTypeId]: DatumTypeId = DatumTypeId;
|
85
|
+
readonly _tag = DatumTag.Replete;
|
85
86
|
constructor(readonly value: A) {}
|
86
87
|
get [Symbol.hash](): number {
|
87
88
|
return Hashable.combine(Hashable.combine(datumHash, Hashable.string(this._tag)), Hashable.unknown(this.value));
|
@@ -95,5 +96,5 @@ export class Replete<A> implements Hashable, Equatable {
|
|
95
96
|
* @tsplus static fncts.DatumOps is
|
96
97
|
*/
|
97
98
|
export function isDatum(u: unknown): u is Datum<unknown> {
|
98
|
-
return
|
99
|
+
return isObject(u) && DatumTypeId in u;
|
99
100
|
}
|