@fncts/base 0.0.26 → 0.0.28
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/_cjs/collection/Iterable/api.cjs +3 -2
- package/_cjs/collection/Iterable/api.cjs.map +1 -1
- package/_cjs/collection/immutable/Conc/api.cjs +25 -12
- package/_cjs/collection/immutable/Conc/api.cjs.map +1 -1
- package/_cjs/collection/immutable/HashMap/api.cjs +20 -8
- package/_cjs/collection/immutable/HashMap/api.cjs.map +1 -1
- package/_cjs/collection/immutable/HashMap/definition.cjs +3 -2
- package/_cjs/collection/immutable/HashMap/definition.cjs.map +1 -1
- package/_cjs/collection/immutable/HashMap/internal.cjs +9 -7
- package/_cjs/collection/immutable/HashMap/internal.cjs.map +1 -1
- package/_cjs/collection/immutable/HashSet/api.cjs +7 -6
- package/_cjs/collection/immutable/HashSet/api.cjs.map +1 -1
- package/_cjs/collection/immutable/ImmutableArray/api.cjs +18 -17
- package/_cjs/collection/immutable/ImmutableArray/api.cjs.map +1 -1
- package/_cjs/collection/immutable/ImmutableNonEmptyArray/constructors.cjs +2 -1
- package/_cjs/collection/immutable/ImmutableNonEmptyArray/constructors.cjs.map +1 -1
- package/_cjs/collection/immutable/List/api.cjs +3 -2
- package/_cjs/collection/immutable/List/api.cjs.map +1 -1
- package/_cjs/collection/immutable/List/definition.cjs +19 -4
- package/_cjs/collection/immutable/List/definition.cjs.map +1 -1
- package/_cjs/collection/immutable/Queue/api.cjs +7 -6
- package/_cjs/collection/immutable/Queue/api.cjs.map +1 -1
- package/_cjs/collection/immutable/RoseTree/api.cjs +1 -1
- package/_cjs/collection/immutable/RoseTree/api.cjs.map +1 -1
- package/_cjs/collection/immutable/SortedMap/api.cjs +23 -22
- package/_cjs/collection/immutable/SortedMap/api.cjs.map +1 -1
- package/_cjs/collection/immutable/SortedMap/iterator.cjs +7 -6
- package/_cjs/collection/immutable/SortedMap/iterator.cjs.map +1 -1
- package/_cjs/collection/immutable/Vector/api.cjs +62 -19
- package/_cjs/collection/immutable/Vector/api.cjs.map +1 -1
- package/_cjs/collection/immutable/Vector/definition.cjs.map +1 -1
- package/_cjs/collection/mutable/HashMap.cjs +6 -19
- package/_cjs/collection/mutable/HashMap.cjs.map +1 -1
- package/_cjs/control/CompletablePromise.cjs +21 -0
- package/_cjs/control/CompletablePromise.cjs.map +1 -0
- package/_cjs/control/Z/api.cjs +1 -1
- package/_cjs/control/Z/api.cjs.map +1 -1
- package/_cjs/control/Z/runtime.cjs +2 -2
- package/_cjs/control/Z/runtime.cjs.map +1 -1
- package/_cjs/data/Branded/definition.cjs +4 -3
- package/_cjs/data/Branded/definition.cjs.map +1 -1
- package/_cjs/data/Cause/api/fold.cjs +8 -7
- package/_cjs/data/Cause/api/fold.cjs.map +1 -1
- package/_cjs/data/Cause/api.cjs +124 -128
- package/_cjs/data/Cause/api.cjs.map +1 -1
- package/_cjs/data/DatumEither/api.cjs +5 -4
- package/_cjs/data/DatumEither/api.cjs.map +1 -1
- package/_cjs/data/Decoder/api.cjs +2 -1
- package/_cjs/data/Decoder/api.cjs.map +1 -1
- package/_cjs/data/Either/api/alignWith.cjs +2 -1
- package/_cjs/data/Either/api/alignWith.cjs.map +1 -1
- package/_cjs/data/Either/api.cjs +25 -16
- package/_cjs/data/Either/api.cjs.map +1 -1
- package/_cjs/data/Either/constructors.cjs +10 -9
- package/_cjs/data/Either/constructors.cjs.map +1 -1
- package/_cjs/data/Either/definition.cjs +34 -6
- package/_cjs/data/Either/definition.cjs.map +1 -1
- package/_cjs/data/Either/instances.cjs +7 -6
- package/_cjs/data/Either/instances.cjs.map +1 -1
- package/_cjs/data/EitherT/api.cjs +4 -3
- package/_cjs/data/EitherT/api.cjs.map +1 -1
- package/_cjs/data/Eq/api.cjs +20 -0
- package/_cjs/data/Eq/api.cjs.map +1 -0
- package/_cjs/data/Eq.cjs +11 -0
- package/_cjs/data/Eq.cjs.map +1 -1
- package/_cjs/data/Equatable/api.cjs +39 -11
- package/_cjs/data/Equatable/api.cjs.map +1 -1
- package/_cjs/data/Equatable/definition.cjs +1 -1
- package/_cjs/data/Equatable/definition.cjs.map +1 -1
- package/_cjs/data/Exit/api.cjs +32 -6
- package/_cjs/data/Exit/api.cjs.map +1 -1
- package/_cjs/data/Exit/constructors.cjs +13 -12
- package/_cjs/data/Exit/constructors.cjs.map +1 -1
- package/_cjs/data/Exit/definition.cjs +11 -6
- package/_cjs/data/Exit/definition.cjs.map +1 -1
- package/_cjs/data/FiberId/api.cjs +16 -15
- package/_cjs/data/FiberId/api.cjs.map +1 -1
- package/_cjs/data/Interval.cjs +2 -1
- package/_cjs/data/Interval.cjs.map +1 -1
- package/_cjs/data/Maybe/api.cjs +8 -7
- package/_cjs/data/Maybe/api.cjs.map +1 -1
- package/_cjs/data/Maybe/constructors.cjs +11 -11
- package/_cjs/data/Maybe/constructors.cjs.map +1 -1
- package/_cjs/data/Maybe/definition.cjs +10 -5
- package/_cjs/data/Maybe/definition.cjs.map +1 -1
- package/_cjs/data/Maybe/instances.cjs +30 -8
- package/_cjs/data/Maybe/instances.cjs.map +1 -1
- package/_cjs/data/Showable/show.cjs +2 -2
- package/_cjs/data/Showable/show.cjs.map +1 -1
- package/_cjs/data/These/destructors.cjs +3 -2
- package/_cjs/data/These/destructors.cjs.map +1 -1
- package/_cjs/data/exceptions/IOError.cjs +25 -0
- package/_cjs/data/exceptions/IOError.cjs.map +1 -0
- package/_cjs/data/exceptions/NoSuchElementError.cjs.map +1 -1
- package/_cjs/data/exceptions.cjs +11 -0
- package/_cjs/data/exceptions.cjs.map +1 -1
- package/_cjs/optics/Lens/definition.cjs +2 -1
- package/_cjs/optics/Lens/definition.cjs.map +1 -1
- package/_cjs/optics/Prism/api/just.cjs +2 -1
- package/_cjs/optics/Prism/api/just.cjs.map +1 -1
- package/_cjs/typeclass/ApplicativeExcept.cjs +2 -1
- package/_cjs/typeclass/ApplicativeExcept.cjs.map +1 -1
- package/_cjs/typeclass/Semialign.cjs +2 -1
- package/_cjs/typeclass/Semialign.cjs.map +1 -1
- package/_cjs/typeclass/Witherable.cjs +2 -1
- package/_cjs/typeclass/Witherable.cjs.map +1 -1
- package/_cjs/typeclass/WitherableWithIndex.cjs +2 -1
- package/_cjs/typeclass/WitherableWithIndex.cjs.map +1 -1
- package/_cjs/typeclass.cjs +2 -2
- package/_cjs/types.cjs +0 -11
- package/_cjs/types.cjs.map +1 -1
- package/_cjs/util/predicates.cjs +4 -0
- package/_cjs/util/predicates.cjs.map +1 -1
- package/_cjs/util/rand/Random.cjs.map +1 -1
- package/_mjs/collection/Iterable/api.mjs +3 -2
- package/_mjs/collection/Iterable/api.mjs.map +1 -1
- package/_mjs/collection/immutable/Conc/api.mjs +24 -12
- package/_mjs/collection/immutable/Conc/api.mjs.map +1 -1
- package/_mjs/collection/immutable/HashMap/api.mjs +19 -8
- package/_mjs/collection/immutable/HashMap/api.mjs.map +1 -1
- package/_mjs/collection/immutable/HashMap/definition.mjs +3 -2
- package/_mjs/collection/immutable/HashMap/definition.mjs.map +1 -1
- package/_mjs/collection/immutable/HashMap/internal.mjs +8 -7
- package/_mjs/collection/immutable/HashMap/internal.mjs.map +1 -1
- package/_mjs/collection/immutable/HashSet/api.mjs +7 -6
- package/_mjs/collection/immutable/HashSet/api.mjs.map +1 -1
- package/_mjs/collection/immutable/ImmutableArray/api.mjs +18 -17
- package/_mjs/collection/immutable/ImmutableArray/api.mjs.map +1 -1
- package/_mjs/collection/immutable/ImmutableNonEmptyArray/constructors.mjs +2 -1
- package/_mjs/collection/immutable/ImmutableNonEmptyArray/constructors.mjs.map +1 -1
- package/_mjs/collection/immutable/List/api.mjs +3 -2
- package/_mjs/collection/immutable/List/api.mjs.map +1 -1
- package/_mjs/collection/immutable/List/definition.mjs +13 -2
- package/_mjs/collection/immutable/List/definition.mjs.map +1 -1
- package/_mjs/collection/immutable/Queue/api.mjs +7 -6
- package/_mjs/collection/immutable/Queue/api.mjs.map +1 -1
- package/_mjs/collection/immutable/RoseTree/api.mjs +1 -1
- package/_mjs/collection/immutable/RoseTree/api.mjs.map +1 -1
- package/_mjs/collection/immutable/SortedMap/api.mjs +23 -22
- package/_mjs/collection/immutable/SortedMap/api.mjs.map +1 -1
- package/_mjs/collection/immutable/SortedMap/iterator.mjs +7 -6
- package/_mjs/collection/immutable/SortedMap/iterator.mjs.map +1 -1
- package/_mjs/collection/immutable/Vector/api.mjs +54 -16
- package/_mjs/collection/immutable/Vector/api.mjs.map +1 -1
- package/_mjs/collection/immutable/Vector/definition.mjs.map +1 -1
- package/_mjs/collection/mutable/HashMap.mjs +6 -5
- package/_mjs/collection/mutable/HashMap.mjs.map +1 -1
- package/_mjs/control/CompletablePromise.mjs +15 -0
- package/_mjs/control/CompletablePromise.mjs.map +1 -0
- package/_mjs/control/Z/api.mjs +1 -1
- package/_mjs/control/Z/api.mjs.map +1 -1
- package/_mjs/control/Z/runtime.mjs +2 -2
- package/_mjs/control/Z/runtime.mjs.map +1 -1
- package/_mjs/data/Branded/definition.mjs +4 -3
- package/_mjs/data/Branded/definition.mjs.map +1 -1
- package/_mjs/data/Cause/api/fold.mjs +8 -7
- package/_mjs/data/Cause/api/fold.mjs.map +1 -1
- package/_mjs/data/Cause/api.mjs +123 -127
- package/_mjs/data/Cause/api.mjs.map +1 -1
- package/_mjs/data/DatumEither/api.mjs +5 -4
- package/_mjs/data/DatumEither/api.mjs.map +1 -1
- package/_mjs/data/Decoder/api.mjs +2 -1
- package/_mjs/data/Decoder/api.mjs.map +1 -1
- package/_mjs/data/Either/api/alignWith.mjs +2 -1
- package/_mjs/data/Either/api/alignWith.mjs.map +1 -1
- package/_mjs/data/Either/api.mjs +22 -15
- package/_mjs/data/Either/api.mjs.map +1 -1
- package/_mjs/data/Either/constructors.mjs +10 -9
- package/_mjs/data/Either/constructors.mjs.map +1 -1
- package/_mjs/data/Either/definition.mjs +30 -4
- package/_mjs/data/Either/definition.mjs.map +1 -1
- package/_mjs/data/Either/instances.mjs +7 -6
- package/_mjs/data/Either/instances.mjs.map +1 -1
- package/_mjs/data/EitherT/api.mjs +4 -3
- package/_mjs/data/EitherT/api.mjs.map +1 -1
- package/_mjs/data/Eq/api.mjs +12 -0
- package/_mjs/data/Eq/api.mjs.map +1 -0
- package/_mjs/data/Eq.mjs +1 -0
- package/_mjs/data/Eq.mjs.map +1 -1
- package/_mjs/data/Equatable/api.mjs +35 -8
- package/_mjs/data/Equatable/api.mjs.map +1 -1
- package/_mjs/data/Equatable/definition.mjs +1 -1
- package/_mjs/data/Equatable/definition.mjs.map +1 -1
- package/_mjs/data/Exit/api.mjs +30 -6
- package/_mjs/data/Exit/api.mjs.map +1 -1
- package/_mjs/data/Exit/constructors.mjs +13 -12
- package/_mjs/data/Exit/constructors.mjs.map +1 -1
- package/_mjs/data/Exit/definition.mjs +11 -6
- package/_mjs/data/Exit/definition.mjs.map +1 -1
- package/_mjs/data/FiberId/api.mjs +16 -15
- package/_mjs/data/FiberId/api.mjs.map +1 -1
- package/_mjs/data/Interval.mjs +2 -1
- package/_mjs/data/Interval.mjs.map +1 -1
- package/_mjs/data/Maybe/api.mjs +8 -7
- package/_mjs/data/Maybe/api.mjs.map +1 -1
- package/_mjs/data/Maybe/constructors.mjs +11 -11
- package/_mjs/data/Maybe/constructors.mjs.map +1 -1
- package/_mjs/data/Maybe/definition.mjs +10 -5
- package/_mjs/data/Maybe/definition.mjs.map +1 -1
- package/_mjs/data/Maybe/instances.mjs +30 -8
- package/_mjs/data/Maybe/instances.mjs.map +1 -1
- package/_mjs/data/Showable/show.mjs +2 -2
- package/_mjs/data/Showable/show.mjs.map +1 -1
- package/_mjs/data/These/destructors.mjs +3 -2
- package/_mjs/data/These/destructors.mjs.map +1 -1
- package/_mjs/data/exceptions/IOError.mjs +14 -0
- package/_mjs/data/exceptions/IOError.mjs.map +1 -0
- package/_mjs/data/exceptions/NoSuchElementError.mjs.map +1 -1
- package/_mjs/data/exceptions.mjs +1 -0
- package/_mjs/data/exceptions.mjs.map +1 -1
- package/_mjs/optics/Lens/definition.mjs +2 -1
- package/_mjs/optics/Lens/definition.mjs.map +1 -1
- package/_mjs/optics/Prism/api/just.mjs +2 -1
- package/_mjs/optics/Prism/api/just.mjs.map +1 -1
- package/_mjs/typeclass/ApplicativeExcept.mjs +2 -1
- package/_mjs/typeclass/ApplicativeExcept.mjs.map +1 -1
- package/_mjs/typeclass/Semialign.mjs +2 -1
- package/_mjs/typeclass/Semialign.mjs.map +1 -1
- package/_mjs/typeclass/Witherable.mjs +2 -1
- package/_mjs/typeclass/Witherable.mjs.map +1 -1
- package/_mjs/typeclass/WitherableWithIndex.mjs +2 -1
- package/_mjs/typeclass/WitherableWithIndex.mjs.map +1 -1
- package/_mjs/typeclass.mjs +1 -1
- package/_mjs/typeclass.mjs.map +1 -1
- package/_mjs/types.mjs +0 -1
- package/_mjs/types.mjs.map +1 -1
- package/_mjs/util/predicates.mjs +3 -0
- package/_mjs/util/predicates.mjs.map +1 -1
- package/_mjs/util/rand/Random.mjs +2 -1
- package/_mjs/util/rand/Random.mjs.map +1 -1
- package/_src/collection/immutable/Conc/api.ts +12 -0
- package/_src/collection/immutable/HashMap/api.ts +11 -0
- package/_src/collection/immutable/HashMap/internal.ts +1 -1
- package/_src/collection/immutable/HashSet/api.ts +4 -4
- package/_src/collection/immutable/List/definition.ts +14 -2
- package/_src/collection/immutable/RoseTree/api.ts +1 -1
- package/_src/collection/immutable/Vector/api.ts +64 -2
- package/_src/collection/immutable/Vector/definition.ts +1 -0
- package/_src/control/CompletablePromise.ts +23 -0
- package/_src/control.ts +1 -0
- package/_src/data/Branded/definition.ts +3 -3
- package/_src/data/Cause/api.ts +33 -40
- package/_src/data/Either/api.ts +10 -0
- package/_src/data/Either/constructors.ts +4 -4
- package/_src/data/Either/definition.ts +29 -2
- package/_src/data/Eq/api.ts +8 -0
- package/_src/data/Eq.ts +1 -0
- package/_src/data/Equatable/api.ts +33 -8
- package/_src/data/Equatable/definition.ts +6 -2
- package/_src/data/Exit/api.ts +26 -0
- package/_src/data/Exit/constructors.ts +7 -7
- package/_src/data/Exit/definition.ts +9 -4
- package/_src/data/FiberId/api.ts +5 -5
- package/_src/data/Maybe/constructors.ts +4 -6
- package/_src/data/Maybe/definition.ts +9 -1
- package/_src/data/Maybe/instances.ts +18 -0
- package/_src/data/Showable/show.ts +2 -2
- package/_src/data/exceptions/IOError.ts +11 -0
- package/_src/data/exceptions/NoSuchElementError.ts +1 -1
- package/_src/data/exceptions.ts +1 -0
- package/_src/data.ts +1 -0
- package/_src/typeclass.ts +1 -1
- package/_src/types.ts +0 -1
- package/_src/util/predicates.ts +4 -0
- package/collection/immutable/Conc/api.d.ts +5 -0
- package/collection/immutable/HashMap/api.d.ts +5 -0
- package/collection/immutable/HashMap/internal.d.ts +1 -2
- package/collection/immutable/List/definition.d.ts +9 -0
- package/collection/immutable/Vector/api.d.ts +30 -3
- package/collection/immutable/Vector/definition.d.ts +1 -0
- package/control/CompletablePromise.d.ts +13 -0
- package/control.d.ts +1 -0
- package/data/Branded/definition.d.ts +3 -2
- package/data/Cause/api.d.ts +1 -1
- package/data/Either/api.d.ts +5 -0
- package/data/Either/constructors.d.ts +2 -2
- package/data/Either/definition.d.ts +15 -2
- package/data/Eq/api.d.ts +6 -0
- package/data/Eq.d.ts +1 -0
- package/data/Equatable/api.d.ts +7 -1
- package/data/Equatable/definition.d.ts +4 -1
- package/data/Exit/api.d.ts +12 -0
- package/data/Exit/constructors.d.ts +5 -5
- package/data/Exit/definition.d.ts +9 -2
- package/data/Maybe/constructors.d.ts +2 -2
- package/data/Maybe/definition.d.ts +9 -1
- package/data/Maybe/instances.d.ts +24 -0
- package/data/exceptions/IOError.d.ts +9 -0
- package/data/exceptions/NoSuchElementError.d.ts +1 -1
- package/data/exceptions.d.ts +1 -0
- package/data.d.ts +1 -0
- package/package.json +1 -1
- package/typeclass.d.ts +1 -1
- package/types.d.ts +0 -1
- package/util/predicates.d.ts +1 -0
- package/_cjs/types/test.cjs +0 -6
- package/_cjs/types/test.cjs.map +0 -1
- package/_mjs/types/test.mjs +0 -2
- package/_mjs/types/test.mjs.map +0 -1
- package/_src/types/test.ts +0 -0
- package/types/test.d.ts +0 -1
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
const fileName_1 = "(@fncts/base) src/optics/Lens/definition.ts";
|
|
1
2
|
import * as tsplus_module_1 from "@fncts/base/data/Either/constructors";
|
|
2
3
|
import * as tsplus_module_2 from "@fncts/base/optics/Optional/definition";
|
|
3
4
|
import * as tsplus_module_3 from "@fncts/base/optics/Getter/definition";
|
|
@@ -12,7 +13,7 @@ function makePLens_1(F) {
|
|
|
12
13
|
return {
|
|
13
14
|
...tsplus_module_2.makePOptional({
|
|
14
15
|
set: F.set,
|
|
15
|
-
getOrModify: s => tsplus_module_1.right(F.get(s))
|
|
16
|
+
getOrModify: s => tsplus_module_1.right(F.get(s), fileName_1 + ":29:64")
|
|
16
17
|
}),
|
|
17
18
|
...tsplus_module_3.makeGetter({
|
|
18
19
|
get: F.get
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"definition.mjs","mappings":"
|
|
1
|
+
{"version":3,"file":"definition.mjs","mappings":";;;;aA0BgBA,SAAS;AAvBzB,SAASC,MAAM,QAAQ,2BAA2B;AAClD,SAASC,SAAS,QAAQ,6BAA6B;AAYvD,OAAO,MAAMC,KAAK,GAAa,EAAE;AAOjC;;;AAGA,qBAAsCC,CAAuB;EAC3D,OAAO;IACL,GAAGC,8BAAU;MAAEC,GAAG,EAAEF,CAAC,CAACE,GAAG;MAAEC,WAAW,EAAGC,CAAC,IAAKC,sBAAaL,CAAC,CAACM,GAAG,CAACF,CAAC,CAAC;IAAC,CAAE,CAAC;IACxE,GAAGG,2BAAO;MAAED,GAAG,EAAEN,CAAC,CAACM;IAAG,CAAE;GACzB;AACH;AAYA,OAAO,MAAME,IAAI,GAAY,EAAE;AAE/B;;;AAGA,OAAM,SAAUC,QAAQ,CAAOT,CAAuB;EACpD,OAAOU,YAAMV,CAAC,CAAC;AACjB","names":["makePLens","Getter","POptional","PLens","F","tsplus_module_2","set","getOrModify","s","tsplus_module_1","get","tsplus_module_3","Lens","makeLens","makePLens_1"],"sourceRoot":"","sources":["../../../_src/optics/Lens/definition.ts"],"sourcesContent":[null]}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
const fileName_1 = "(@fncts/base) src/optics/Prism/api/just.ts";
|
|
1
2
|
import * as tsplus_module_1 from "@fncts/base/data/Maybe/constructors";
|
|
2
3
|
import * as tsplus_module_2 from "@fncts/base/data/Either/constructors";
|
|
3
4
|
import * as tsplus_module_3 from "@fncts/base/data/Maybe/destructors";
|
|
@@ -8,7 +9,7 @@ import { Prism } from "@fncts/base/optics/Prism/definition";
|
|
|
8
9
|
*/
|
|
9
10
|
export function just() {
|
|
10
11
|
return tsplus_module_4.makePrism({
|
|
11
|
-
getOrModify: s => tsplus_module_3.match(() => tsplus_module_2.left(tsplus_module_1.nothing()), tsplus_module_2.right)(s),
|
|
12
|
+
getOrModify: s => tsplus_module_3.match(() => tsplus_module_2.left(tsplus_module_1.nothing(fileName_1 + ":8:58"), fileName_1 + ":8:50"), tsplus_module_2.right)(s),
|
|
12
13
|
reverseGet: tsplus_module_1.just
|
|
13
14
|
});
|
|
14
15
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"just.mjs","mappings":"
|
|
1
|
+
{"version":3,"file":"just.mjs","mappings":";;;;;AAAA,SAASA,KAAK,QAAQ,qCAAqC;AAE3D;;;AAGA,OAAM,SAAUC,IAAI;EAClB,OAAOC,0BAAM;IACXC,WAAW,EAAGC,CAAC,IAAKC,sBAAQ,MAAMC,qBAAYC,6CAAS,uBAAC,yBAApCH,CAAC,CAAkD;IACvEI,UAAU;GACX,CAAC;AACJ","names":["Prism","just","tsplus_module_4","getOrModify","s","tsplus_module_3","tsplus_module_2","tsplus_module_1","reverseGet"],"sourceRoot":"","sources":["../../../../_src/optics/Prism/api/just.ts"],"sourcesContent":[null]}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
const fileName_1 = "(@fncts/base) src/typeclass/ApplicativeExcept.ts";
|
|
1
2
|
import * as tsplus_module_1 from "@fncts/base/data/Maybe/destructors";
|
|
2
3
|
import * as tsplus_module_2 from "@fncts/base/data/Either/constructors";
|
|
3
4
|
import { identity, pipe } from "@fncts/base/data/function";
|
|
@@ -7,6 +8,6 @@ export function catchJust(F) {
|
|
|
7
8
|
return f => F.catchAll(e => tsplus_module_1.match(() => F.fail(e), identity)(f(e)));
|
|
8
9
|
}
|
|
9
10
|
export function either(F) {
|
|
10
|
-
return self => F.catchAll(e => F.pure(tsplus_module_2.left(e)))(F.map(tsplus_module_2.right)(self));
|
|
11
|
+
return self => F.catchAll(e => F.pure(tsplus_module_2.left(e, fileName_1 + ":104:43")))(F.map(tsplus_module_2.right)(self));
|
|
11
12
|
}
|
|
12
13
|
//# sourceMappingURL=ApplicativeExcept.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ApplicativeExcept.mjs","mappings":"
|
|
1
|
+
{"version":3,"file":"ApplicativeExcept.mjs","mappings":";;;AAGA,SAASA,QAAQ,EAAEC,IAAI,QAAQ,2BAA2B;AA4C1D,OAAO,MAAMC,iBAAiB,GAAyB,EAAE;AAEzD,OAAM,SAAUC,SAAS,CACvBC,CAA2B;EAkC3B;EACA,OAAQC,CAAC,IAAKD,CAAC,CAACE,QAAQ,CAAEC,CAAC,IAAKC,sBAAW,MAAMJ,CAAC,CAACK,IAAI,CAACF,CAAC,CAAC,EAAEP,QAAQ,EAApCK,CAAC,CAACE,CAAC,CAAC,CAAiC,CAAC;AACxE;AAUA,OAAM,SAAUG,MAAM,CACpBN,CAAiC;EAEjC,OAAQO,IAAI,IAIRP,CAAC,CAACE,QAAQ,CAAEC,CAAC,IAAKH,CAAC,CAACQ,IAAI,CAACC,qBAAYN,CAAC,yBAAC,CAAC,CAAC,CADzCH,CAAC,CAACU,GAAG,uBAAc,CADnBH,IAAI,EAGL;AACL","names":["identity","pipe","ApplicativeExcept","catchJust","F","f","catchAll","e","tsplus_module_1","fail","either","self","pure","tsplus_module_2","map"],"sourceRoot":"","sources":["../../_src/typeclass/ApplicativeExcept.ts"],"sourcesContent":[null]}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
const fileName_1 = "(@fncts/base) src/typeclass/Semialign.ts";
|
|
1
2
|
import * as tsplus_module_1 from "@fncts/base/data/These/destructors";
|
|
2
3
|
import * as tsplus_module_2 from "@fncts/base/data/Maybe/constructors";
|
|
3
4
|
export const padZipWith = padZipWith_1;
|
|
@@ -31,7 +32,7 @@ export function padZip(F) {
|
|
|
31
32
|
* @tsplus static fncts.SemialignOps padZipWith
|
|
32
33
|
*/
|
|
33
34
|
function padZipWith_1(F) {
|
|
34
|
-
return (fb, f) => F.alignWith(fb, th => tsplus_module_1.match(a => f([tsplus_module_2.just(a), tsplus_module_2.nothing()]), b => f([tsplus_module_2.nothing(), tsplus_module_2.just(b)]), (a, b) => f([tsplus_module_2.just(a), tsplus_module_2.just(b)]))(th));
|
|
35
|
+
return (fb, f) => F.alignWith(fb, th => tsplus_module_1.match(a => f([tsplus_module_2.just(a, fileName_1 + ":371:23"), tsplus_module_2.nothing(fileName_1 + ":371:35")]), b => f([tsplus_module_2.nothing(fileName_1 + ":372:26"), tsplus_module_2.just(b, fileName_1 + ":372:34")]), (a, b) => f([tsplus_module_2.just(a, fileName_1 + ":373:26"), tsplus_module_2.just(b, fileName_1 + ":373:35")]))(th));
|
|
35
36
|
}
|
|
36
37
|
/**
|
|
37
38
|
* @tsplus static fncts.SemialignOps zipAll
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Semialign.mjs","mappings":"
|
|
1
|
+
{"version":3,"file":"Semialign.mjs","mappings":";;;aA+UgBA,UAAU;AA5U1B,SAASC,QAAQ,EAAEC,KAAK,QAAQ,2BAA2B;AAc3D,OAAO,MAAMC,SAAS,GAAiB,EAAE;AAkCzC;;;AAGA,OAAM,SAAUC,KAAK,CACnBC,CAAmB;EA8BnB,OAAQC,EAAE,IAAKD,CAAC,CAACE,SAAS,CAACD,EAAE,EAAEL,QAAQ,CAAC;AAC1C;AAmCA;;;AAGA,OAAM,SAAUM,SAAS,CACvBF,CAAmB;EA+BnB,OAAO,CAACC,EAAE,EAAEE,CAAC,KAAKH,CAAC,CAACE,SAAS,CAACD,EAAE,EAAEE,CAAC,CAAC;AACtC;AAmCA;;;AAGA,OAAM,SAAUC,YAAY,CAC1BJ,CAAmB;EA+BnB,OAAO,CAACK,IAAI,EAAEC,CAAC,KAAKN,CAAC,CAACE,SAAS,CAACG,IAAI,EAAGE,EAAE,IAAKC,sBAASZ,QAAQ,EAAEA,QAAQ,EAAE,CAACa,CAAC,EAAEC,CAAC,KAAKJ,CAAC,CAACK,OAAO,CAACD,CAAC,CAAC,CAACD,CAAC,CAAC,EAAtDF,EAAE,CAAqD,CAAC;AACxG;AAkCA;;;AAGA,OAAM,SAAUK,MAAM,CACpBZ,CAAmB;EA8BnB,OAAQC,EAAE,IAAKY,aAAqBb,CAAC,CAAC,CAACC,EAAE,EAAEL,QAAQ,CAAC;AACtD;AAmCA;;;AAGA,sBACEI,CAAmB;EA+BnB,OAAO,CAACC,EAAE,EAAEE,CAAC,KACXH,CAAC,CAACE,SAAS,CAACD,EAAE,EAAGM,EAAE,IACjBC,sBACGC,CAAC,IAAKN,CAAC,CAAC,CAACW,qBAAKL,CAAC,yBAAC,EAAEK,+CAAS,CAAC,CAAC,EAC7BJ,CAAC,IAAKP,CAAC,CAAC,CAACW,+CAAS,EAAEA,qBAAKJ,CAAC,yBAAC,CAAC,CAAC,EAC9B,CAACD,CAAC,EAAEC,CAAC,KAAKP,CAAC,CAAC,CAACW,qBAAKL,CAAC,yBAAC,EAAEK,qBAAKJ,CAAC,yBAAC,CAAC,CAAC,EAHjCH,EAAE,CAID,CACF;AACL;AAmCA;;;AAGA,OAAM,SAAUQ,MAAM,CACpBf,CAAmB;EAgCnB,OAAO,CAACC,EAAE,EAAEQ,CAAC,EAAEC,CAAC,KACdV,CAAC,CAACE,SAAS,CAACD,EAAE,EAAGM,EAAE,IACjBC,sBACGQ,CAAC,IAAK,CAACA,CAAC,EAAEN,CAAC,CAAC,EACZM,CAAC,IAAK,CAACP,CAAC,EAAEO,CAAC,CAAC,EACbnB,KAAK,EAHPU,EAAE,CAID,CACF;AACL","names":["padZipWith","identity","tuple","Semialign","align","F","fb","alignWith","f","alignCombine","that","S","th","tsplus_module_1","a","b","combine","padZip","padZipWith_1","tsplus_module_2","zipAll","x"],"sourceRoot":"","sources":["../../_src/typeclass/Semialign.ts"],"sourcesContent":[null]}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
const fileName_1 = "(@fncts/base) src/typeclass/Witherable.ts";
|
|
1
2
|
import * as tsplus_module_1 from "@fncts/base/data/Maybe/constructors";
|
|
2
3
|
import { pipe } from "@fncts/base/data/function";
|
|
3
4
|
export const Witherable = {};
|
|
@@ -5,6 +6,6 @@ export const Witherable = {};
|
|
|
5
6
|
* @tsplus static fncts.WitherableOps filterA
|
|
6
7
|
*/
|
|
7
8
|
export function filterA(F) {
|
|
8
|
-
return G => p => F.wither(G)(a => G.map(bb => bb ? tsplus_module_1.just(a) : tsplus_module_1.nothing())(p(a)));
|
|
9
|
+
return G => p => F.wither(G)(a => G.map(bb => bb ? tsplus_module_1.just(a, fileName_1 + ":62:33") : tsplus_module_1.nothing(fileName_1 + ":62:46"))(p(a)));
|
|
9
10
|
}
|
|
10
11
|
//# sourceMappingURL=Witherable.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Witherable.mjs","mappings":"
|
|
1
|
+
{"version":3,"file":"Witherable.mjs","mappings":";;AAIA,SAASA,IAAI,QAAQ,2BAA2B;AAuChD,OAAO,MAAMC,UAAU,GAAkB,EAAE;AAE3C;;;AAGA,OAAM,SAAUC,OAAO,CACrBC,CAAoB;EAQpB,OAAQC,CAAC,IAAMC,CAAC,IACdF,CAAC,CAACG,MAAM,CAACF,CAAC,CAAC,CAAEG,CAAC,IAGVH,CAAC,CAACI,GAAG,CAAEC,EAAE,IAAMA,EAAE,GAAGC,qBAAKH,CAAC,wBAAC,GAAGG,8CAAU,CAAC,CADzCL,CAAC,CAACE,CAAC,CAAC,CAEL,CACF;AACL","names":["pipe","Witherable","filterA","F","G","p","wither","a","map","bb","tsplus_module_1"],"sourceRoot":"","sources":["../../_src/typeclass/Witherable.ts"],"sourcesContent":[null]}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
const fileName_1 = "(@fncts/base) src/typeclass/WitherableWithIndex.ts";
|
|
1
2
|
import * as tsplus_module_1 from "@fncts/base/data/Maybe/constructors";
|
|
2
3
|
import { pipe } from "@fncts/base/data/function";
|
|
3
4
|
export const WitherableWithIndex = {};
|
|
@@ -8,6 +9,6 @@ export function makeWiltWithIndex() {
|
|
|
8
9
|
return i => i();
|
|
9
10
|
}
|
|
10
11
|
export function filterWithIndexA(F) {
|
|
11
|
-
return G => p => F.witherWithIndex(G)((i, a) => G.map(bb => bb ? tsplus_module_1.just(a) : tsplus_module_1.nothing())(p(i, a)));
|
|
12
|
+
return G => p => F.witherWithIndex(G)((i, a) => G.map(bb => bb ? tsplus_module_1.just(a, fileName_1 + ":124:33") : tsplus_module_1.nothing(fileName_1 + ":124:46"))(p(i, a)));
|
|
12
13
|
}
|
|
13
14
|
//# sourceMappingURL=WitherableWithIndex.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WitherableWithIndex.mjs","mappings":"
|
|
1
|
+
{"version":3,"file":"WitherableWithIndex.mjs","mappings":";;AAKA,SAASA,IAAI,QAAQ,2BAA2B;AA2ChD,OAAO,MAAMC,mBAAmB,GAA2B,EAAE;AA0B7D,OAAM,SAAUC,mBAAmB;EACjC,OAAQC,CAAM,IAAKA,CAAC,EAAE;AACxB;AA8BA,OAAM,SAAUC,iBAAiB;EAC/B,OAAQD,CAAM,IAAKA,CAAC,EAAE;AACxB;AAEA,OAAM,SAAUE,gBAAgB,CAC9BC,CAA6B;EAQ7B,OAAQC,CAAC,IAAMC,CAAC,IACdF,CAAC,CAACG,eAAe,CAACF,CAAC,CAAC,CAAC,CAACJ,CAAC,EAAEO,CAAC,KAGtBH,CAAC,CAACI,GAAG,CAAEC,EAAE,IAAMA,EAAE,GAAGC,qBAAKH,CAAC,yBAAC,GAAGG,+CAAU,CAAC,CADzCL,CAAC,CAACL,CAAC,EAAEO,CAAC,CAAC,CAER,CACF;AACL","names":["pipe","WitherableWithIndex","makeWitherWithIndex","i","makeWiltWithIndex","filterWithIndexA","F","G","p","witherWithIndex","a","map","bb","tsplus_module_1"],"sourceRoot":"","sources":["../../_src/typeclass/WitherableWithIndex.ts"],"sourcesContent":[null]}
|
package/_mjs/typeclass.mjs
CHANGED
|
@@ -31,7 +31,7 @@ export * from "./typeclass/WitherableWithIndex.mjs";
|
|
|
31
31
|
// codegen:end
|
|
32
32
|
export { Eq } from "./data/Eq.mjs";
|
|
33
33
|
export { Equatable } from "./data/Equatable.mjs";
|
|
34
|
-
export { Guard } from "./data/Guard.mjs";
|
|
34
|
+
export { Guard } from "./data/Guard/definition.mjs";
|
|
35
35
|
export { Hash } from "./data/Hash.mjs";
|
|
36
36
|
export { Hashable } from "./data/Hashable.mjs";
|
|
37
37
|
export { HashEq } from "./data/HashEq.mjs";
|
package/_mjs/typeclass.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"typeclass.mjs","mappings":"AAAA;AACA,cAAc,uBAAsB;AACpC,cAAc,qBAAoB;AAClC,cAAc,6BAA4B;AAC1C,cAAc,6BAA4B;AAC1C,cAAc,mCAAkC;AAChD,cAAc,uBAAsB;AACpC,cAAc,yBAAwB;AACtC,cAAc,uBAAsB;AACpC,cAAc,yBAAwB;AACtC,cAAc,sBAAqB;AACnC,cAAc,4BAA2B;AACzC,cAAc,qCAAoC;AAClD,cAAc,0BAAyB;AACvC,cAAc,mCAAkC;AAChD,cAAc,yBAAwB;AACtC,cAAc,kCAAiC;AAC/C,cAAc,qBAAoB;AAClC,cAAc,uBAAsB;AACpC,cAAc,6BAA4B;AAC1C,cAAc,wBAAuB;AACrC,cAAc,qBAAoB;AAClC,cAAc,yBAAwB;AACtC,cAAc,2BAA0B;AACxC,cAAc,2BAA0B;AACxC,cAAc,8BAA6B;AAC3C,cAAc,6BAA4B;AAC1C,cAAc,sCAAqC;AACnD,cAAc,4BAA2B;AACzC,cAAc,qCAAoC;AAClD;AAEA,SAASA,EAAE,QAAQ,eAAc;AACjC,SAASC,SAAS,QAAQ,sBAAqB;AAC/C,SAASC,KAAK,QAAQ,
|
|
1
|
+
{"version":3,"file":"typeclass.mjs","mappings":"AAAA;AACA,cAAc,uBAAsB;AACpC,cAAc,qBAAoB;AAClC,cAAc,6BAA4B;AAC1C,cAAc,6BAA4B;AAC1C,cAAc,mCAAkC;AAChD,cAAc,uBAAsB;AACpC,cAAc,yBAAwB;AACtC,cAAc,uBAAsB;AACpC,cAAc,yBAAwB;AACtC,cAAc,sBAAqB;AACnC,cAAc,4BAA2B;AACzC,cAAc,qCAAoC;AAClD,cAAc,0BAAyB;AACvC,cAAc,mCAAkC;AAChD,cAAc,yBAAwB;AACtC,cAAc,kCAAiC;AAC/C,cAAc,qBAAoB;AAClC,cAAc,uBAAsB;AACpC,cAAc,6BAA4B;AAC1C,cAAc,wBAAuB;AACrC,cAAc,qBAAoB;AAClC,cAAc,yBAAwB;AACtC,cAAc,2BAA0B;AACxC,cAAc,2BAA0B;AACxC,cAAc,8BAA6B;AAC3C,cAAc,6BAA4B;AAC1C,cAAc,sCAAqC;AACnD,cAAc,4BAA2B;AACzC,cAAc,qCAAoC;AAClD;AAEA,SAASA,EAAE,QAAQ,eAAc;AACjC,SAASC,SAAS,QAAQ,sBAAqB;AAC/C,SAASC,KAAK,QAAQ,6BAA4B;AAClD,SAASC,IAAI,QAAQ,iBAAgB;AACrC,SAASC,QAAQ,QAAQ,qBAAoB;AAC7C,SAASC,MAAM,QAAQ,mBAAkB;AACzC,SAASC,GAAG,QAAQ,gBAAe;AACnC,SAASC,QAAQ,QAAQ,qBAAoB","names":["Eq","Equatable","Guard","Hash","Hashable","HashEq","Ord","Ordering"],"sourceRoot":"","sources":["../_src/typeclass.ts"],"sourcesContent":[null]}
|
package/_mjs/types.mjs
CHANGED
package/_mjs/types.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.mjs","mappings":"AAAA;AACA,cAAc,yBAAwB;AACtC,cAAc,
|
|
1
|
+
{"version":3,"file":"types.mjs","mappings":"AAAA;AACA,cAAc,yBAAwB;AACtC,cAAc,qBAAoB","names":[],"sourceRoot":"","sources":["../_src/types.ts"],"sourcesContent":[null]}
|
package/_mjs/util/predicates.mjs
CHANGED
|
@@ -25,6 +25,9 @@ export function isArray(value) {
|
|
|
25
25
|
export function isObject(value) {
|
|
26
26
|
return typeof value === "object" && value !== null;
|
|
27
27
|
}
|
|
28
|
+
export function isRecord(value) {
|
|
29
|
+
return isObject(value) && !Array.isArray(value);
|
|
30
|
+
}
|
|
28
31
|
export function hasTypeId(value, typeId) {
|
|
29
32
|
return isObject(value) && typeId in value;
|
|
30
33
|
}
|
|
@@ -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,
|
|
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,QAAQ,CAACb,KAAc;EACrC,OAAOQ,QAAQ,CAACR,KAAK,CAAC,IAAI,CAACY,KAAK,CAACD,OAAO,CAACX,KAAK,CAAC;AACjD;AAEA,OAAM,SAAUc,SAAS,CACvBd,KAAc,EACde,MAAS;EAIT,OAAOP,QAAQ,CAACR,KAAK,CAAC,IAAIe,MAAM,IAAIf,KAAK;AAC3C;AAEA,OAAM,SAAUgB,UAAU,CAAChB,KAAc;EACvC,OAAO,OAAOA,KAAK,KAAK,UAAU;AACpC;AAEA,OAAM,SAAUiB,SAAS,CAACjB,KAAc;EACtC,OAAO,OAAOA,KAAK,KAAK,SAAS;AACnC;AAEA,OAAM,SAAUkB,QAAQ,CAAClB,KAAc;EACrC,OAAO,OAAOA,KAAK,KAAK,QAAQ;AAClC;AAEA,OAAM,SAAUmB,QAAQ,CAACnB,KAAc;EACrC,OAAO,OAAOA,KAAK,KAAK,QAAQ;AAClC;AAEA,OAAM,SAAUoB,QAAQ,CAACpB,KAAc;EACrC,OAAO,OAAOA,KAAK,KAAK,QAAQ;AAClC;AAEA,OAAM,SAAUqB,MAAM,CAACC,CAAU;EAC/B,OAAO,OAAOA,CAAC,KAAK,QAAQ,IAAIC,MAAM,CAACC,SAAS,CAACF,CAAC,CAAC,IAAIA,CAAC,IAAI,CAAC,IAAIA,CAAC,IAAI,GAAG;AAC3E;AAEA,OAAM,SAAUG,QAAQ,CAACzB,KAAc;EACrC,OAAO,OAAOA,KAAK,KAAK,QAAQ;AAClC;AAEA,OAAM,SAAU0B,OAAO,CAAC1B,KAAc;EACpC,OAAOQ,QAAQ,CAACR,KAAK,CAAC,IAAIA,KAAK,CAAC2B,WAAW,KAAKC,MAAM;AACxD;AAEA,OAAM,SAAUC,YAAY,CAA8BC,IAAO;EAC/D,OAAQ9B,KAAK,IAAiBA,KAAK,YAAY8B,IAAI;AACrD;AAEA,OAAM,SAAUC,KAAK,CAACC,CAAU;EAC9B,OAAOA,CAAC,YAAYC,GAAG;AACzB;AAEA,OAAM,SAAUC,SAAS,CAACF,CAAU;EAClC,OAAOA,CAAC,YAAYG,OAAO;AAC7B;AAEA,OAAM,SAAUC,SAAS,CAACJ,CAAU;EAClC,OAAOA,CAAC,YAAYK,OAAO;AAC7B;AAEA,OAAM,SAAUC,KAAK,CAACN,CAAU;EAC9B,OAAOA,CAAC,YAAYO,GAAG;AACzB;AAEA,OAAM,SAAUC,SAAS,CAACR,CAAU;EAClC,OAAOA,CAAC,YAAYS,OAAO;AAC7B;AAEA,OAAM,SAAUC,MAAM,CAACV,CAAU;EAC/B,OAAOA,CAAC,YAAYW,IAAI;AAC1B;AAeA,MAAMC,qBAAqB,gBAAGhB,MAAM,CAACiB,cAAc,CAACC,UAAU,CAAC;AAE/D,OAAM,SAAUC,YAAY,CAACf,CAAU;EACrC,OAAOA,CAAC,YAAYY,qBAAqB;AAC3C;AAEA,OAAM,SAAUI,QAAQ,CAAChB,CAAU;EACjC,OAAOxB,QAAQ,CAACwB,CAAC,CAAC,KAAKiB,MAAM,CAACjB,CAAC,CAAC,KAAK,iBAAiB,IAAIA,CAAC,YAAYkB,MAAM,CAAC;AAChF;AAEA,OAAM,SAAUC,gBAAgB,CAACnB,CAAU;EACzC,OAAOA,CAAC,YAAYoB,WAAW,IAAIpB,CAAC,YAAYqB,iBAAiB;AACnE;AAEA,OAAM,SAAUC,aAAa,CAACtB,CAAU;EACtC,OAAOA,CAAC,YAAYoB,WAAW;AACjC;AAEA,OAAM,SAAUG,UAAU,CAACvB,CAAU;EACnC,OAAOA,CAAC,YAAYwB,QAAQ;AAC9B;AAEA,SAASP,MAAM,CAACjD,KAAa;EAC3B,OAAO4B,MAAM,CAAC6B,SAAS,CAACC,QAAQ,CAACC,IAAI,CAAC3D,KAAK,CAAC;AAC9C","names":["isDefined","value","undefined","isUndefined","isNonNull","isNull","isNonNullable","isNullable","isIterable","isObject","Symbol","iterator","isArray","Array","isRecord","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]}
|
|
@@ -7,7 +7,7 @@ import { uniformIntDistribution } from "@fncts/base/util/rand/distribution/Unifo
|
|
|
7
7
|
*
|
|
8
8
|
* @public
|
|
9
9
|
*/
|
|
10
|
-
|
|
10
|
+
class MutableRandom {
|
|
11
11
|
/**
|
|
12
12
|
* Create a mutable random number generator
|
|
13
13
|
* @param internalRng - Immutable random generator from pure-rand library
|
|
@@ -72,4 +72,5 @@ MutableRandom.MIN_INT = 0x80000000 | 0;
|
|
|
72
72
|
MutableRandom.MAX_INT = 0x7fffffff | 0;
|
|
73
73
|
MutableRandom.DBL_FACTOR = /*#__PURE__*/Math.pow(2, 27);
|
|
74
74
|
MutableRandom.DBL_DIVISOR = /*#__PURE__*/Math.pow(2, -53);
|
|
75
|
+
export { MutableRandom };
|
|
75
76
|
//# sourceMappingURL=Random.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Random.mjs","mappings":"AAEA,SAASA,2BAA2B,QAAQ,gEAAgE;AAC5G,SAASC,yBAAyB,QAAQ,8DAA8D;AACxG,SAASC,sBAAsB,QAAQ,2DAA2D;AAClG;;;;;;AAMA,
|
|
1
|
+
{"version":3,"file":"Random.mjs","mappings":"AAEA,SAASA,2BAA2B,QAAQ,gEAAgE;AAC5G,SAASC,yBAAyB,QAAQ,8DAA8D;AACxG,SAASC,sBAAsB,QAAQ,2DAA2D;AAClG;;;;;;AAMA,MAAaC,aAAa;EAKxB;;;;EAIAC,YAAoBC,WAA4B;IAA5B,gBAAW,GAAXA,WAAW;EAAoB;EACnD;;;EAGAC,KAAK;IACH,OAAO,IAAIH,aAAa,CAAC,IAAI,CAACE,WAAW,CAAC;EAC5C;EACQE,SAAS,CAACC,QAAgB,EAAEC,QAAgB;IAClD,OAAOP,sBAAsB,CAACM,QAAQ,EAAEC,QAAQ,EAAE,IAAI,CAACJ,WAAW,CAAC;EACrE;EACA;;;;EAIAK,IAAI,CAACC,IAAY;IACf,OAAO,IAAI,CAACJ,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,IAAII,IAAI,IAAI,CAAC,CAAC;EAC3C;EACA;;;EAGAC,WAAW;IACT,OAAO,IAAI,CAACL,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC;EACnC;EAWAM,OAAO,CAACC,GAAY,EAAEC,GAAY;IAChC,OAAO,IAAI,CAACR,SAAS,CAACO,GAAG,IAAI,IAAI,GAAGX,aAAa,CAACa,OAAO,GAAGF,GAAG,EAAEC,GAAG,IAAI,IAAI,GAAGZ,aAAa,CAACc,OAAO,GAAGF,GAAG,CAAC;EAC7G;EACA;;;;;EAKAG,UAAU,CAACJ,GAAW,EAAEC,GAAW;IACjC,OAAOd,yBAAyB,CAACa,GAAG,EAAEC,GAAG,EAAE,IAAI,CAACV,WAAW,CAAC;EAC9D;EACA;;;;;EAKAc,YAAY,CACVL,GAGC,EACDC,GAGC;IAKD,OAAOf,2BAA2B,CAACc,GAAG,EAAEC,GAAG,EAAE,IAAI,CAACV,WAAW,CAAC;EAChE;EACA;;;EAGAe,UAAU;IACR,MAAMC,CAAC,GAAG,IAAI,CAACX,IAAI,CAAC,EAAE,CAAC;IACvB,MAAMY,CAAC,GAAG,IAAI,CAACZ,IAAI,CAAC,EAAE,CAAC;IACvB,OAAO,CAACW,CAAC,GAAGlB,aAAa,CAACoB,UAAU,GAAGD,CAAC,IAAInB,aAAa,CAACqB,WAAW;EACvE;EACAC,OAAO,CAACC,IAAY;IAClB,IAAI,CAACrB,WAAW,CAACoB,OAAO,CAACC,IAAI,CAAC;EAChC;;AAlFevB,qBAAO,GAAe,UAAU,GAAG,CAAC;AACpCA,qBAAO,GAAe,UAAU,GAAG,CAAC;AACpCA,wBAAU,gBAAYwB,IAAI,CAACC,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC;AACrCzB,yBAAW,gBAAWwB,IAAI,CAACC,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;SAJ1CzB,aAAa","names":["uniformArrayIntDistribution","uniformBigIntDistribution","uniformIntDistribution","MutableRandom","constructor","internalRng","clone","uniformIn","rangeMin","rangeMax","next","bits","nextBoolean","nextInt","min","max","MIN_INT","MAX_INT","nextBigInt","nextArrayInt","nextDouble","a","b","DBL_FACTOR","DBL_DIVISOR","setSeed","seed","Math","pow"],"sourceRoot":"","sources":["../../../_src/util/rand/Random.ts"],"sourcesContent":[null]}
|
|
@@ -951,6 +951,18 @@ export function separate<E, A>(self: Conc<Either<E, A>>): readonly [Conc<E>, Con
|
|
|
951
951
|
return self.partitionMap(identity);
|
|
952
952
|
}
|
|
953
953
|
|
|
954
|
+
/**
|
|
955
|
+
* @tsplus pipeable fncts.Conc slice
|
|
956
|
+
*/
|
|
957
|
+
export function slice(from: number, to: number) {
|
|
958
|
+
return <A>(self: Conc<A>): Conc<A> => {
|
|
959
|
+
concrete(self);
|
|
960
|
+
const start = from < 0 ? 0 : from > self.length ? self.length : from;
|
|
961
|
+
const end = to < start ? start : to > self.length ? self.length : to;
|
|
962
|
+
return new Slice(self, start, end - start);
|
|
963
|
+
};
|
|
964
|
+
}
|
|
965
|
+
|
|
954
966
|
/**
|
|
955
967
|
* @tsplus pipeable fncts.Conc splitAt
|
|
956
968
|
*/
|
|
@@ -42,6 +42,17 @@ export function make<K, V>(...items: ReadonlyArray<readonly [K, V]>): HashMap<K,
|
|
|
42
42
|
});
|
|
43
43
|
}
|
|
44
44
|
|
|
45
|
+
/**
|
|
46
|
+
* @tsplus static fncts.HashMapOps from
|
|
47
|
+
*/
|
|
48
|
+
export function from<K, V>(items: Iterable<readonly [K, V]>): HashMap<K, V> {
|
|
49
|
+
return HashMap.empty<K, V>().mutate((map) => {
|
|
50
|
+
for (const [key, value] of items) {
|
|
51
|
+
map.set(key, value);
|
|
52
|
+
}
|
|
53
|
+
});
|
|
54
|
+
}
|
|
55
|
+
|
|
45
56
|
/**
|
|
46
57
|
* Make a new map that has randomly cached hash and structural equality
|
|
47
58
|
*
|
|
@@ -225,7 +225,7 @@ function updateCollisionList<K, V>(
|
|
|
225
225
|
return arrayUpdate(mutate, len, new LeafNode(edit, hash, key, newValue), list);
|
|
226
226
|
}
|
|
227
227
|
|
|
228
|
-
class IndexedNode<K, V> {
|
|
228
|
+
export class IndexedNode<K, V> {
|
|
229
229
|
readonly _tag = "IndexedNode";
|
|
230
230
|
constructor(public edit: number, public mask: number, public children: Array<Node<K, V>>) {}
|
|
231
231
|
|
|
@@ -107,12 +107,12 @@ export function remove<A>(value: A) {
|
|
|
107
107
|
*/
|
|
108
108
|
export function removeMany<A>(values: Iterable<A>) {
|
|
109
109
|
return (self: HashSet<A>): HashSet<A> => {
|
|
110
|
-
const out = self.beginMutation
|
|
110
|
+
const out = self.beginMutation;
|
|
111
111
|
for (const v of values) {
|
|
112
|
-
out.remove(v)
|
|
112
|
+
out.remove(v);
|
|
113
113
|
}
|
|
114
|
-
return out.endMutation
|
|
115
|
-
}
|
|
114
|
+
return out.endMutation;
|
|
115
|
+
};
|
|
116
116
|
}
|
|
117
117
|
|
|
118
118
|
/**
|
|
@@ -12,12 +12,16 @@
|
|
|
12
12
|
* for more information regarding copyright ownership
|
|
13
13
|
*/
|
|
14
14
|
|
|
15
|
+
export const ListTypeId = Symbol.for("fncts.List");
|
|
16
|
+
export type ListTypeId = typeof ListTypeId;
|
|
17
|
+
|
|
15
18
|
/**
|
|
16
19
|
* @tsplus type fncts.List.Cons
|
|
17
20
|
* @tsplus companion fncts.ConsOps
|
|
18
21
|
*/
|
|
19
22
|
export class Cons<A> implements Iterable<A> {
|
|
20
|
-
readonly _tag
|
|
23
|
+
readonly _tag = "Cons";
|
|
24
|
+
readonly [ListTypeId]: ListTypeId = ListTypeId;
|
|
21
25
|
constructor(readonly head: A, public tail: List<A> = _Nil) {}
|
|
22
26
|
|
|
23
27
|
[Symbol.iterator](): Iterator<A> {
|
|
@@ -52,7 +56,8 @@ export class Cons<A> implements Iterable<A> {
|
|
|
52
56
|
* @tsplus companion fncts.NilOps
|
|
53
57
|
*/
|
|
54
58
|
export class Nil<A> implements Iterable<A> {
|
|
55
|
-
readonly _tag
|
|
59
|
+
readonly _tag = "Nil";
|
|
60
|
+
readonly [ListTypeId]: ListTypeId = ListTypeId;
|
|
56
61
|
[Symbol.iterator](): Iterator<A> {
|
|
57
62
|
return {
|
|
58
63
|
next() {
|
|
@@ -62,6 +67,13 @@ export class Nil<A> implements Iterable<A> {
|
|
|
62
67
|
}
|
|
63
68
|
}
|
|
64
69
|
|
|
70
|
+
/**
|
|
71
|
+
* @tsplus static fncts.ListOps is
|
|
72
|
+
*/
|
|
73
|
+
export function isList(u: unknown): u is List<unknown> {
|
|
74
|
+
return isObject(u) && ListTypeId in u;
|
|
75
|
+
}
|
|
76
|
+
|
|
65
77
|
export const _Nil = new Nil<never>();
|
|
66
78
|
|
|
67
79
|
/**
|
|
@@ -21,7 +21,7 @@ export function foldLeft<A, B>(b: B, f: (b: B, a: A) => B) {
|
|
|
21
21
|
*/
|
|
22
22
|
export function foldRight<A, B>(b: B, f: (a: A, b: B) => B) {
|
|
23
23
|
return (self: RoseTree<A>): B => {
|
|
24
|
-
return self.foldLeft(Vector<A>(), (b, a) => b.prepend(a)).foldLeft(b, (b, a) => f(a, b));
|
|
24
|
+
return self.foldLeft(Vector.empty<A>(), (b, a) => b.prepend(a)).foldLeft(b, (b, a) => f(a, b));
|
|
25
25
|
};
|
|
26
26
|
}
|
|
27
27
|
|
|
@@ -81,6 +81,53 @@ export function append<A>(a: A) {
|
|
|
81
81
|
};
|
|
82
82
|
}
|
|
83
83
|
|
|
84
|
+
/**
|
|
85
|
+
* @tsplus pipeable fncts.Vector filterMapWithIndex
|
|
86
|
+
*/
|
|
87
|
+
export function filterMapWithIndex<A, B>(f: (i: number, a: A) => Maybe<B>) {
|
|
88
|
+
return (self: Vector<A>): Vector<B> => {
|
|
89
|
+
return self.foldLeftWithIndex(Vector.emptyPushable(), (i, acc, a) =>
|
|
90
|
+
f(i, a).match(
|
|
91
|
+
() => acc,
|
|
92
|
+
(b) => acc.push(b),
|
|
93
|
+
),
|
|
94
|
+
);
|
|
95
|
+
};
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
/**
|
|
99
|
+
* @tsplus pipeable fncts.Vector filterMap
|
|
100
|
+
*/
|
|
101
|
+
export function filterMap<A, B>(f: (a: A) => Maybe<B>) {
|
|
102
|
+
return (self: Vector<A>): Vector<B> => {
|
|
103
|
+
return self.filterMapWithIndex((_, a) => f(a));
|
|
104
|
+
};
|
|
105
|
+
}
|
|
106
|
+
|
|
107
|
+
/**
|
|
108
|
+
* @tsplus pipeable fncts.Vector filterWithIndex
|
|
109
|
+
*/
|
|
110
|
+
export function filterWithIndex<A, B extends A>(
|
|
111
|
+
refinement: RefinementWithIndex<number, A, B>,
|
|
112
|
+
): (self: Vector<A>) => Vector<B>;
|
|
113
|
+
export function filterWithIndex<A>(predicate: PredicateWithIndex<number, A>): (self: Vector<A>) => Vector<A>;
|
|
114
|
+
export function filterWithIndex<A>(predicate: PredicateWithIndex<number, A>) {
|
|
115
|
+
return (self: Vector<A>): Vector<A> => {
|
|
116
|
+
return self.foldLeftWithIndex(Vector.emptyPushable(), (i, acc, a) => (predicate(i, a) ? acc.push(a) : acc));
|
|
117
|
+
};
|
|
118
|
+
}
|
|
119
|
+
|
|
120
|
+
/**
|
|
121
|
+
* @tsplus pipeable fncts.Vector filter
|
|
122
|
+
*/
|
|
123
|
+
export function filter<A, B extends A>(refinement: Refinement<A, B>): (self: Vector<A>) => Vector<B>;
|
|
124
|
+
export function filter<A>(predicate: Predicate<A>): (self: Vector<A>) => Vector<A>;
|
|
125
|
+
export function filter<A>(predicate: Predicate<A>) {
|
|
126
|
+
return (self: Vector<A>): Vector<A> => {
|
|
127
|
+
return self.filterWithIndex((_, a) => predicate(a));
|
|
128
|
+
};
|
|
129
|
+
}
|
|
130
|
+
|
|
84
131
|
/**
|
|
85
132
|
* Maps a function over a Vector and concatenates all the resulting
|
|
86
133
|
* Vectors together.
|
|
@@ -669,6 +716,19 @@ export function head<A>(self: Vector<A>): Maybe<NonNullable<A>> {
|
|
|
669
716
|
return Maybe.fromNullable(self.unsafeHead);
|
|
670
717
|
}
|
|
671
718
|
|
|
719
|
+
/**
|
|
720
|
+
* @tsplus pipeable fncts.Vector includes
|
|
721
|
+
*/
|
|
722
|
+
export function includes<A>(element: A) {
|
|
723
|
+
return (self: Vector<A>): boolean => {
|
|
724
|
+
return self.foldLeftWhile(
|
|
725
|
+
false,
|
|
726
|
+
(found) => !found,
|
|
727
|
+
(_, __, a) => a === element,
|
|
728
|
+
);
|
|
729
|
+
};
|
|
730
|
+
}
|
|
731
|
+
|
|
672
732
|
type IndexOfState = {
|
|
673
733
|
element: any;
|
|
674
734
|
found: boolean;
|
|
@@ -1488,8 +1548,10 @@ export function updateAt<A>(i: number, a: A) {
|
|
|
1488
1548
|
/**
|
|
1489
1549
|
* @tsplus static fncts.VectorOps __call
|
|
1490
1550
|
*/
|
|
1491
|
-
export function vector<A
|
|
1492
|
-
|
|
1551
|
+
export function vector<A extends ReadonlyArray<any>>(
|
|
1552
|
+
...elements: A
|
|
1553
|
+
): Vector<[A] extends [ReadonlyArray<infer X>] ? X : never> {
|
|
1554
|
+
const v = Vector.emptyPushable<any>();
|
|
1493
1555
|
for (const element of elements) {
|
|
1494
1556
|
v.push(element);
|
|
1495
1557
|
}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @tsplus type fncts.CompletablePromise
|
|
3
|
+
* @tsplus companion fncts.CompletablePromiseOps
|
|
4
|
+
*/
|
|
5
|
+
export interface CompletablePromise<A> extends Promise<A> {
|
|
6
|
+
resolve: (a: A) => void;
|
|
7
|
+
reject: (reason: unknown) => void;
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
/**
|
|
11
|
+
* @tsplus static fncts.CompletablePromiseOps __call
|
|
12
|
+
*/
|
|
13
|
+
export function make<A>(): CompletablePromise<A> {
|
|
14
|
+
let outerResolve: (a: A) => void = () => {};
|
|
15
|
+
let outerReject: (reason: unknown) => void = () => {};
|
|
16
|
+
const promise: CompletablePromise<A> = new Promise((resolve, reject) => {
|
|
17
|
+
outerResolve = resolve;
|
|
18
|
+
outerReject = reject;
|
|
19
|
+
}) as any;
|
|
20
|
+
promise.resolve = outerResolve;
|
|
21
|
+
promise.reject = outerReject;
|
|
22
|
+
return promise;
|
|
23
|
+
}
|
package/_src/control.ts
CHANGED
|
@@ -42,12 +42,12 @@ export declare namespace Brand {
|
|
|
42
42
|
* @tsplus derive nominal
|
|
43
43
|
*/
|
|
44
44
|
export class Validation<in out A, in out K extends string> {
|
|
45
|
-
constructor(readonly validate: Refinement<A, A & Brand.Valid<A, K
|
|
45
|
+
constructor(readonly validate: Refinement<A, A & Brand.Valid<A, K>>, readonly name: K) {}
|
|
46
46
|
}
|
|
47
47
|
|
|
48
48
|
/**
|
|
49
49
|
* @tsplus static fncts.ValidationOps __call
|
|
50
50
|
*/
|
|
51
|
-
export function makeValidation<A, K extends string>(p: Predicate<A
|
|
52
|
-
return new Validation(p as Refinement<A, A & Brand.Valid<A, K
|
|
51
|
+
export function makeValidation<A, K extends string>(p: Predicate<A>, name: K): Validation<A, K> {
|
|
52
|
+
return new Validation(p as Refinement<A, A & Brand.Valid<A, K>>, name);
|
|
53
53
|
}
|
package/_src/data/Cause/api.ts
CHANGED
|
@@ -7,40 +7,12 @@ import { _Empty, Both, Cause, CauseTag, Empty, Fail, Halt, Interrupt, Stackless,
|
|
|
7
7
|
/**
|
|
8
8
|
* @tsplus pipeable fncts.Cause as
|
|
9
9
|
*/
|
|
10
|
-
export function
|
|
10
|
+
export function as<B>(b: Lazy<B>) {
|
|
11
11
|
return <A>(self: Cause<A>): Cause<B> => {
|
|
12
12
|
return self.map(() => b());
|
|
13
13
|
};
|
|
14
14
|
}
|
|
15
15
|
|
|
16
|
-
/**
|
|
17
|
-
* @internal
|
|
18
|
-
*/
|
|
19
|
-
function chainEval<E, D>(self: Cause<E>, f: (e: E) => Cause<D>): Eval<Cause<D>> {
|
|
20
|
-
switch (self._tag) {
|
|
21
|
-
case CauseTag.Empty:
|
|
22
|
-
return Eval.now(Cause.empty());
|
|
23
|
-
case CauseTag.Fail:
|
|
24
|
-
return Eval.now(Cause.traced(f(self.value), self.trace));
|
|
25
|
-
case CauseTag.Halt:
|
|
26
|
-
return Eval.now(self);
|
|
27
|
-
case CauseTag.Interrupt:
|
|
28
|
-
return Eval.now(self);
|
|
29
|
-
case CauseTag.Then:
|
|
30
|
-
return Eval.defer(() => chainEval(self.left, f)).zipWith(
|
|
31
|
-
Eval.defer(() => chainEval(self.right, f)),
|
|
32
|
-
Cause.then,
|
|
33
|
-
);
|
|
34
|
-
case CauseTag.Both:
|
|
35
|
-
return Eval.defer(() => chainEval(self.left, f)).zipWith(
|
|
36
|
-
Eval.defer(() => chainEval(self.right, f)),
|
|
37
|
-
Cause.both,
|
|
38
|
-
);
|
|
39
|
-
case CauseTag.Stackless:
|
|
40
|
-
return Eval.defer(chainEval(self.cause, f));
|
|
41
|
-
}
|
|
42
|
-
}
|
|
43
|
-
|
|
44
16
|
/**
|
|
45
17
|
* Constructs a `Cause` from two `Cause`s, representing parallel failures.
|
|
46
18
|
*
|
|
@@ -60,10 +32,38 @@ export function both<E, E1>(left: Cause<E>, right: Cause<E1>): Cause<E | E1> {
|
|
|
60
32
|
*/
|
|
61
33
|
export function flatMap<E, D>(f: (e: E) => Cause<D>) {
|
|
62
34
|
return (self: Cause<E>): Cause<D> => {
|
|
63
|
-
return
|
|
35
|
+
return flatMapEval(self, f).run;
|
|
64
36
|
};
|
|
65
37
|
}
|
|
66
38
|
|
|
39
|
+
/**
|
|
40
|
+
* @internal
|
|
41
|
+
*/
|
|
42
|
+
function flatMapEval<E, D>(self: Cause<E>, f: (e: E) => Cause<D>): Eval<Cause<D>> {
|
|
43
|
+
switch (self._tag) {
|
|
44
|
+
case CauseTag.Empty:
|
|
45
|
+
return Eval.now(Cause.empty());
|
|
46
|
+
case CauseTag.Fail:
|
|
47
|
+
return Eval.now(Cause.traced(f(self.value), self.trace));
|
|
48
|
+
case CauseTag.Halt:
|
|
49
|
+
return Eval.now(self);
|
|
50
|
+
case CauseTag.Interrupt:
|
|
51
|
+
return Eval.now(self);
|
|
52
|
+
case CauseTag.Then:
|
|
53
|
+
return Eval.defer(() => flatMapEval(self.left, f)).zipWith(
|
|
54
|
+
Eval.defer(() => flatMapEval(self.right, f)),
|
|
55
|
+
Cause.then,
|
|
56
|
+
);
|
|
57
|
+
case CauseTag.Both:
|
|
58
|
+
return Eval.defer(() => flatMapEval(self.left, f)).zipWith(
|
|
59
|
+
Eval.defer(() => flatMapEval(self.right, f)),
|
|
60
|
+
Cause.both,
|
|
61
|
+
);
|
|
62
|
+
case CauseTag.Stackless:
|
|
63
|
+
return Eval.defer(flatMapEval(self.cause, f));
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
|
|
67
67
|
/**
|
|
68
68
|
* Determines whether a `Cause` contains or is equal to the specified cause.
|
|
69
69
|
*
|
|
@@ -79,16 +79,9 @@ export function contains<E, E1 extends E = E>(that: Cause<E1>) {
|
|
|
79
79
|
* @internal
|
|
80
80
|
*/
|
|
81
81
|
function containsEval<E, E1 extends E = E>(self: Cause<E>, that: Cause<E1>): Eval<boolean> {
|
|
82
|
-
return
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
}
|
|
86
|
-
return yield* _(
|
|
87
|
-
self.foldLeft(Eval.now(false), (computation, c) =>
|
|
88
|
-
Just(computation.flatMap((b) => (b ? Eval.now(b) : c.equalsEval(that)))),
|
|
89
|
-
),
|
|
90
|
-
);
|
|
91
|
-
});
|
|
82
|
+
return self.foldLeft(self.equalsEval(that), (computation, innerCause) =>
|
|
83
|
+
Just(computation.flatMap((b) => (b ? Eval.now(b) : innerCause.equalsEval(that)))),
|
|
84
|
+
);
|
|
92
85
|
}
|
|
93
86
|
|
|
94
87
|
/**
|
package/_src/data/Either/api.ts
CHANGED
|
@@ -284,6 +284,16 @@ export function partition<E, A>(p: Predicate<A>, /** @tsplus auto */ M: P.Monoid
|
|
|
284
284
|
};
|
|
285
285
|
}
|
|
286
286
|
|
|
287
|
+
/**
|
|
288
|
+
* @tsplus getter fncts.Either toMaybe
|
|
289
|
+
*/
|
|
290
|
+
export function toMaybe<E, A>(self: Either<E, A>): Maybe<A> {
|
|
291
|
+
return self.match(
|
|
292
|
+
() => Nothing(),
|
|
293
|
+
(a) => Just(a),
|
|
294
|
+
);
|
|
295
|
+
}
|
|
296
|
+
|
|
287
297
|
// codegen:start { preset: barrel, include: api/*.ts }
|
|
288
298
|
export * from "./api/align.js";
|
|
289
299
|
export * from "./api/alignWith.js";
|
|
@@ -6,16 +6,16 @@ import { Either, Left, Right } from "./definition.js";
|
|
|
6
6
|
* @tsplus static fncts.EitherOps left
|
|
7
7
|
* @tsplus static fncts.Either.LeftOps __call
|
|
8
8
|
*/
|
|
9
|
-
export function left<E = never, A = never>(e: E): Either<E, A> {
|
|
10
|
-
return new Left(e);
|
|
9
|
+
export function left<E = never, A = never>(e: E, __tsplusTrace?: string): Either<E, A> {
|
|
10
|
+
return new Left(e, __tsplusTrace);
|
|
11
11
|
}
|
|
12
12
|
|
|
13
13
|
/**
|
|
14
14
|
* @tsplus static fncts.EitherOps right
|
|
15
15
|
* @tsplus static fncts.Either.RightOps __call
|
|
16
16
|
*/
|
|
17
|
-
export function right<E = never, A = never>(a: A): Either<E, A> {
|
|
18
|
-
return new Right(a);
|
|
17
|
+
export function right<E = never, A = never>(a: A, __tsplusTrace?: string): Either<E, A> {
|
|
18
|
+
return new Right(a, __tsplusTrace);
|
|
19
19
|
}
|
|
20
20
|
|
|
21
21
|
/**
|