@fncts/base 0.0.41 → 0.0.43
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 +5 -5
- package/_cjs/collection/Iterable/api.cjs.map +1 -1
- package/_cjs/collection/immutable/Conc/api.cjs +14 -7
- package/_cjs/collection/immutable/Conc/api.cjs.map +1 -1
- package/_cjs/collection/immutable/Conc/definition.cjs +80 -50
- package/_cjs/collection/immutable/Conc/definition.cjs.map +1 -1
- package/_cjs/collection/immutable/HashMap/definition.cjs +13 -6
- package/_cjs/collection/immutable/HashMap/definition.cjs.map +1 -1
- package/_cjs/collection/immutable/HashMap/internal.cjs +18 -7
- package/_cjs/collection/immutable/HashMap/internal.cjs.map +1 -1
- package/_cjs/collection/immutable/HashSet/api.cjs +6 -7
- package/_cjs/collection/immutable/HashSet/api.cjs.map +1 -1
- package/_cjs/collection/immutable/HashSet/definition.cjs +27 -10
- package/_cjs/collection/immutable/HashSet/definition.cjs.map +1 -1
- package/_cjs/collection/immutable/List/definition.cjs +25 -26
- package/_cjs/collection/immutable/List/definition.cjs.map +1 -1
- package/_cjs/collection/immutable/Queue/definition.cjs +2 -0
- package/_cjs/collection/immutable/Queue/definition.cjs.map +1 -1
- package/_cjs/collection/immutable/RoseTree/definition.cjs +5 -4
- package/_cjs/collection/immutable/RoseTree/definition.cjs.map +1 -1
- package/_cjs/collection/immutable/SortedMap/definition.cjs +4 -3
- package/_cjs/collection/immutable/SortedMap/definition.cjs.map +1 -1
- package/_cjs/collection/immutable/SortedMap/iterator.cjs +4 -1
- package/_cjs/collection/immutable/SortedMap/iterator.cjs.map +1 -1
- package/_cjs/collection/immutable/SortedMap/node.cjs +6 -0
- package/_cjs/collection/immutable/SortedMap/node.cjs.map +1 -1
- package/_cjs/collection/immutable/Vector/api.cjs +1 -0
- package/_cjs/collection/immutable/Vector/api.cjs.map +1 -1
- package/_cjs/collection/immutable/Vector/definition.cjs +25 -8
- package/_cjs/collection/immutable/Vector/definition.cjs.map +1 -1
- package/_cjs/collection/immutable/Vector/internal.cjs +18 -4
- package/_cjs/collection/immutable/Vector/internal.cjs.map +1 -1
- package/_cjs/collection/mutable/ArrayDeque.cjs +3 -0
- package/_cjs/collection/mutable/ArrayDeque.cjs.map +1 -1
- package/_cjs/collection/mutable/HashMap.cjs +16 -3
- package/_cjs/collection/mutable/HashMap.cjs.map +1 -1
- package/_cjs/collection/mutable/HashSet.cjs +15 -3
- package/_cjs/collection/mutable/HashSet.cjs.map +1 -1
- package/_cjs/collection/mutable/ListBuffer.cjs +3 -5
- package/_cjs/collection/mutable/ListBuffer.cjs.map +1 -1
- package/_cjs/collection/weak/IterableWeakMap.cjs +3 -3
- package/_cjs/collection/weak/IterableWeakMap.cjs.map +1 -1
- package/_cjs/collection/weak/IterableWeakSet.cjs +3 -3
- package/_cjs/collection/weak/IterableWeakSet.cjs.map +1 -1
- package/_cjs/control/Eval/api.cjs +2 -0
- package/_cjs/control/Eval/api.cjs.map +1 -1
- package/_cjs/control/Eval/constructors.cjs +1 -0
- package/_cjs/control/Eval/constructors.cjs.map +1 -1
- package/_cjs/control/Eval/definition.cjs +4 -5
- package/_cjs/control/Eval/definition.cjs.map +1 -1
- package/_cjs/control/LazyValue.cjs +1 -0
- package/_cjs/control/LazyValue.cjs.map +1 -1
- package/_cjs/control/Pure/definition.cjs +10 -14
- package/_cjs/control/Pure/definition.cjs.map +1 -1
- package/_cjs/control/Pure/runtime.cjs +5 -2
- package/_cjs/control/Pure/runtime.cjs.map +1 -1
- package/_cjs/data/Branded/definition.cjs +7 -0
- package/_cjs/data/Branded/definition.cjs.map +1 -1
- package/_cjs/data/CaseClass.cjs +5 -14
- package/_cjs/data/CaseClass.cjs.map +1 -1
- package/_cjs/data/Cause/api/fold.cjs +4 -7
- package/_cjs/data/Cause/api/fold.cjs.map +1 -1
- package/_cjs/data/Cause/api.cjs +72 -66
- package/_cjs/data/Cause/api.cjs.map +1 -1
- package/_cjs/data/Cause/definition.cjs +36 -24
- package/_cjs/data/Cause/definition.cjs.map +1 -1
- package/_cjs/data/Const/definition.cjs +3 -0
- package/_cjs/data/Const/definition.cjs.map +1 -1
- package/_cjs/data/Data.cjs +6 -19
- package/_cjs/data/Data.cjs.map +1 -1
- package/_cjs/data/Datum/api.cjs.map +1 -1
- package/_cjs/data/Datum/definition.cjs +14 -17
- package/_cjs/data/Datum/definition.cjs.map +1 -1
- package/_cjs/data/Duration/definition.cjs +3 -3
- package/_cjs/data/Duration/definition.cjs.map +1 -1
- package/_cjs/data/Either/definition.cjs +10 -10
- package/_cjs/data/Either/definition.cjs.map +1 -1
- package/_cjs/data/EitherT/api.cjs +1 -1
- package/_cjs/data/EitherT/api.cjs.map +1 -1
- package/_cjs/data/Environment/ServiceNotFoundError.cjs +1 -0
- package/_cjs/data/Environment/ServiceNotFoundError.cjs.map +1 -1
- package/_cjs/data/Environment/definition.cjs +4 -3
- package/_cjs/data/Environment/definition.cjs.map +1 -1
- package/_cjs/data/EnvironmentPatch.cjs +13 -13
- package/_cjs/data/EnvironmentPatch.cjs.map +1 -1
- package/_cjs/data/Equatable/api.cjs +27 -3
- package/_cjs/data/Equatable/api.cjs.map +1 -1
- package/_cjs/data/Exit/definition.cjs +14 -11
- package/_cjs/data/Exit/definition.cjs.map +1 -1
- package/_cjs/data/FiberId/definition.cjs +13 -12
- package/_cjs/data/FiberId/definition.cjs.map +1 -1
- package/_cjs/data/Guard/definition.cjs +3 -4
- package/_cjs/data/Guard/definition.cjs.map +1 -1
- package/_cjs/data/Interval.cjs +2 -0
- package/_cjs/data/Interval.cjs.map +1 -1
- package/_cjs/data/Intervals.cjs +1 -0
- package/_cjs/data/Intervals.cjs.map +1 -1
- package/_cjs/data/Maybe/api.cjs +4 -4
- package/_cjs/data/Maybe/api.cjs.map +1 -1
- package/_cjs/data/Maybe/constructors.cjs +1 -3
- package/_cjs/data/Maybe/constructors.cjs.map +1 -1
- package/_cjs/data/Maybe/definition.cjs +15 -17
- package/_cjs/data/Maybe/definition.cjs.map +1 -1
- package/_cjs/data/Showable/show.cjs +1 -1
- package/_cjs/data/Showable/show.cjs.map +1 -1
- package/_cjs/data/Tag/definition.cjs +7 -7
- package/_cjs/data/Tag/definition.cjs.map +1 -1
- package/_cjs/data/These/definition.cjs +12 -12
- package/_cjs/data/These/definition.cjs.map +1 -1
- package/_cjs/data/Trace/definition.cjs +2 -0
- package/_cjs/data/Trace/definition.cjs.map +1 -1
- package/_cjs/data/exceptions/ArrayIndexOutOfBoundsError.cjs +1 -1
- package/_cjs/data/exceptions/ArrayIndexOutOfBoundsError.cjs.map +1 -1
- package/_cjs/data/exceptions/IOError.cjs +2 -3
- package/_cjs/data/exceptions/IOError.cjs.map +1 -1
- package/_cjs/data/exceptions/IllegalArgumentError.cjs +2 -1
- package/_cjs/data/exceptions/IllegalArgumentError.cjs.map +1 -1
- package/_cjs/data/exceptions/IllegalStateError.cjs +1 -1
- package/_cjs/data/exceptions/IllegalStateError.cjs.map +1 -1
- package/_cjs/data/exceptions/IndexOutOfBoundsError.cjs +1 -1
- package/_cjs/data/exceptions/IndexOutOfBoundsError.cjs.map +1 -1
- package/_cjs/data/exceptions/InterruptedException.cjs +2 -3
- package/_cjs/data/exceptions/InterruptedException.cjs.map +1 -1
- package/_cjs/data/exceptions/InvalidCapacityError.cjs +1 -1
- package/_cjs/data/exceptions/InvalidCapacityError.cjs.map +1 -1
- package/_cjs/data/exceptions/NoSuchElementError.cjs +1 -1
- package/_cjs/data/exceptions/NoSuchElementError.cjs.map +1 -1
- package/_cjs/internal/AtomicReference.cjs +2 -0
- package/_cjs/internal/AtomicReference.cjs.map +1 -1
- package/_cjs/internal/Stack.cjs +1 -0
- package/_cjs/internal/Stack.cjs.map +1 -1
- package/_cjs/util/PCGRandom.cjs +2 -0
- package/_cjs/util/PCGRandom.cjs.map +1 -1
- package/_cjs/util/assert.cjs +1 -0
- package/_cjs/util/assert.cjs.map +1 -1
- package/_cjs/util/rand/Random.cjs +5 -4
- package/_cjs/util/rand/Random.cjs.map +1 -1
- package/_cjs/util/rand/generator/MersenneTwister.cjs +2 -0
- package/_cjs/util/rand/generator/MersenneTwister.cjs.map +1 -1
- package/_mjs/collection/Iterable/api.mjs +5 -5
- package/_mjs/collection/Iterable/api.mjs.map +1 -1
- package/_mjs/collection/immutable/Conc/api.mjs +14 -7
- package/_mjs/collection/immutable/Conc/api.mjs.map +1 -1
- package/_mjs/collection/immutable/Conc/definition.mjs +80 -50
- package/_mjs/collection/immutable/Conc/definition.mjs.map +1 -1
- package/_mjs/collection/immutable/HashMap/definition.mjs +13 -6
- package/_mjs/collection/immutable/HashMap/definition.mjs.map +1 -1
- package/_mjs/collection/immutable/HashMap/internal.mjs +18 -7
- package/_mjs/collection/immutable/HashMap/internal.mjs.map +1 -1
- package/_mjs/collection/immutable/HashSet/api.mjs +6 -7
- package/_mjs/collection/immutable/HashSet/api.mjs.map +1 -1
- package/_mjs/collection/immutable/HashSet/definition.mjs +27 -10
- package/_mjs/collection/immutable/HashSet/definition.mjs.map +1 -1
- package/_mjs/collection/immutable/List/definition.mjs +24 -24
- package/_mjs/collection/immutable/List/definition.mjs.map +1 -1
- package/_mjs/collection/immutable/Queue/definition.mjs +2 -0
- package/_mjs/collection/immutable/Queue/definition.mjs.map +1 -1
- package/_mjs/collection/immutable/RoseTree/definition.mjs +5 -4
- package/_mjs/collection/immutable/RoseTree/definition.mjs.map +1 -1
- package/_mjs/collection/immutable/SortedMap/definition.mjs +4 -3
- package/_mjs/collection/immutable/SortedMap/definition.mjs.map +1 -1
- package/_mjs/collection/immutable/SortedMap/iterator.mjs +4 -1
- package/_mjs/collection/immutable/SortedMap/iterator.mjs.map +1 -1
- package/_mjs/collection/immutable/SortedMap/node.mjs +6 -0
- package/_mjs/collection/immutable/SortedMap/node.mjs.map +1 -1
- package/_mjs/collection/immutable/Vector/api.mjs +1 -0
- package/_mjs/collection/immutable/Vector/api.mjs.map +1 -1
- package/_mjs/collection/immutable/Vector/definition.mjs +25 -8
- package/_mjs/collection/immutable/Vector/definition.mjs.map +1 -1
- package/_mjs/collection/immutable/Vector/internal.mjs +18 -4
- package/_mjs/collection/immutable/Vector/internal.mjs.map +1 -1
- package/_mjs/collection/mutable/ArrayDeque.mjs +3 -0
- package/_mjs/collection/mutable/ArrayDeque.mjs.map +1 -1
- package/_mjs/collection/mutable/HashMap.mjs +16 -3
- package/_mjs/collection/mutable/HashMap.mjs.map +1 -1
- package/_mjs/collection/mutable/HashSet.mjs +15 -3
- package/_mjs/collection/mutable/HashSet.mjs.map +1 -1
- package/_mjs/collection/mutable/ListBuffer.mjs +3 -5
- package/_mjs/collection/mutable/ListBuffer.mjs.map +1 -1
- package/_mjs/collection/weak/IterableWeakMap.mjs +3 -3
- package/_mjs/collection/weak/IterableWeakMap.mjs.map +1 -1
- package/_mjs/collection/weak/IterableWeakSet.mjs +3 -3
- package/_mjs/collection/weak/IterableWeakSet.mjs.map +1 -1
- package/_mjs/control/Eval/api.mjs +2 -0
- package/_mjs/control/Eval/api.mjs.map +1 -1
- package/_mjs/control/Eval/constructors.mjs +1 -0
- package/_mjs/control/Eval/constructors.mjs.map +1 -1
- package/_mjs/control/Eval/definition.mjs +4 -5
- package/_mjs/control/Eval/definition.mjs.map +1 -1
- package/_mjs/control/LazyValue.mjs +1 -0
- package/_mjs/control/LazyValue.mjs.map +1 -1
- package/_mjs/control/Pure/definition.mjs +8 -12
- package/_mjs/control/Pure/definition.mjs.map +1 -1
- package/_mjs/control/Pure/runtime.mjs +5 -2
- package/_mjs/control/Pure/runtime.mjs.map +1 -1
- package/_mjs/data/Branded/definition.mjs +6 -0
- package/_mjs/data/Branded/definition.mjs.map +1 -1
- package/_mjs/data/CaseClass.mjs +5 -14
- package/_mjs/data/CaseClass.mjs.map +1 -1
- package/_mjs/data/Cause/api/fold.mjs +4 -7
- package/_mjs/data/Cause/api/fold.mjs.map +1 -1
- package/_mjs/data/Cause/api.mjs +72 -66
- package/_mjs/data/Cause/api.mjs.map +1 -1
- package/_mjs/data/Cause/definition.mjs +36 -24
- package/_mjs/data/Cause/definition.mjs.map +1 -1
- package/_mjs/data/Const/definition.mjs +3 -0
- package/_mjs/data/Const/definition.mjs.map +1 -1
- package/_mjs/data/Data.mjs +6 -19
- package/_mjs/data/Data.mjs.map +1 -1
- package/_mjs/data/Datum/api.mjs.map +1 -1
- package/_mjs/data/Datum/definition.mjs +14 -17
- package/_mjs/data/Datum/definition.mjs.map +1 -1
- package/_mjs/data/Duration/definition.mjs +3 -3
- package/_mjs/data/Duration/definition.mjs.map +1 -1
- package/_mjs/data/Either/definition.mjs +10 -10
- package/_mjs/data/Either/definition.mjs.map +1 -1
- package/_mjs/data/EitherT/api.mjs +1 -1
- package/_mjs/data/EitherT/api.mjs.map +1 -1
- package/_mjs/data/Environment/ServiceNotFoundError.mjs +1 -0
- package/_mjs/data/Environment/ServiceNotFoundError.mjs.map +1 -1
- package/_mjs/data/Environment/definition.mjs +4 -3
- package/_mjs/data/Environment/definition.mjs.map +1 -1
- package/_mjs/data/EnvironmentPatch.mjs +13 -13
- package/_mjs/data/EnvironmentPatch.mjs.map +1 -1
- package/_mjs/data/Equatable/api.mjs +26 -2
- package/_mjs/data/Equatable/api.mjs.map +1 -1
- package/_mjs/data/Exit/definition.mjs +14 -11
- package/_mjs/data/Exit/definition.mjs.map +1 -1
- package/_mjs/data/FiberId/definition.mjs +13 -12
- package/_mjs/data/FiberId/definition.mjs.map +1 -1
- package/_mjs/data/Guard/definition.mjs +2 -3
- package/_mjs/data/Guard/definition.mjs.map +1 -1
- package/_mjs/data/Interval.mjs +2 -0
- package/_mjs/data/Interval.mjs.map +1 -1
- package/_mjs/data/Intervals.mjs +1 -0
- package/_mjs/data/Intervals.mjs.map +1 -1
- package/_mjs/data/Maybe/api.mjs +4 -4
- package/_mjs/data/Maybe/api.mjs.map +1 -1
- package/_mjs/data/Maybe/constructors.mjs +1 -3
- package/_mjs/data/Maybe/constructors.mjs.map +1 -1
- package/_mjs/data/Maybe/definition.mjs +14 -16
- package/_mjs/data/Maybe/definition.mjs.map +1 -1
- package/_mjs/data/Showable/show.mjs +1 -1
- package/_mjs/data/Showable/show.mjs.map +1 -1
- package/_mjs/data/Tag/definition.mjs +7 -7
- package/_mjs/data/Tag/definition.mjs.map +1 -1
- package/_mjs/data/These/definition.mjs +10 -10
- package/_mjs/data/These/definition.mjs.map +1 -1
- package/_mjs/data/Trace/definition.mjs +2 -0
- package/_mjs/data/Trace/definition.mjs.map +1 -1
- package/_mjs/data/exceptions/ArrayIndexOutOfBoundsError.mjs +1 -1
- package/_mjs/data/exceptions/ArrayIndexOutOfBoundsError.mjs.map +1 -1
- package/_mjs/data/exceptions/IOError.mjs +2 -3
- package/_mjs/data/exceptions/IOError.mjs.map +1 -1
- package/_mjs/data/exceptions/IllegalArgumentError.mjs +2 -1
- package/_mjs/data/exceptions/IllegalArgumentError.mjs.map +1 -1
- package/_mjs/data/exceptions/IllegalStateError.mjs +1 -1
- package/_mjs/data/exceptions/IllegalStateError.mjs.map +1 -1
- package/_mjs/data/exceptions/IndexOutOfBoundsError.mjs +1 -1
- package/_mjs/data/exceptions/IndexOutOfBoundsError.mjs.map +1 -1
- package/_mjs/data/exceptions/InterruptedException.mjs +2 -3
- package/_mjs/data/exceptions/InterruptedException.mjs.map +1 -1
- package/_mjs/data/exceptions/InvalidCapacityError.mjs +1 -1
- package/_mjs/data/exceptions/InvalidCapacityError.mjs.map +1 -1
- package/_mjs/data/exceptions/NoSuchElementError.mjs +1 -1
- package/_mjs/data/exceptions/NoSuchElementError.mjs.map +1 -1
- package/_mjs/internal/AtomicReference.mjs +2 -0
- package/_mjs/internal/AtomicReference.mjs.map +1 -1
- package/_mjs/internal/Stack.mjs +1 -0
- package/_mjs/internal/Stack.mjs.map +1 -1
- package/_mjs/util/PCGRandom.mjs +2 -0
- package/_mjs/util/PCGRandom.mjs.map +1 -1
- package/_mjs/util/assert.mjs +1 -0
- package/_mjs/util/assert.mjs.map +1 -1
- package/_mjs/util/rand/Random.mjs +5 -4
- package/_mjs/util/rand/Random.mjs.map +1 -1
- package/_mjs/util/rand/generator/MersenneTwister.mjs +2 -0
- package/_mjs/util/rand/generator/MersenneTwister.mjs.map +1 -1
- package/_src/collection/Iterable/api.ts +0 -1
- package/_src/collection/immutable/Conc/definition.ts +12 -5
- package/_src/collection/immutable/HashMap/definition.ts +4 -1
- package/_src/collection/immutable/HashSet/api.ts +2 -3
- package/_src/collection/immutable/List/definition.ts +24 -2
- package/_src/collection/immutable/Vector/api.ts +4 -6
- package/_src/collection/immutable/Vector/definition.ts +14 -3
- package/_src/collection/immutable/Vector/internal.ts +14 -8
- package/_src/collection/weak/IterableWeakMap.ts +4 -4
- package/_src/collection/weak/IterableWeakSet.ts +4 -4
- package/_src/control/Eval/constructors.ts +1 -0
- package/_src/data/Branded/definition.ts +6 -1
- package/_src/data/CaseClass.ts +0 -1
- package/_src/data/Cause/api.ts +8 -16
- package/_src/data/Data.ts +0 -1
- package/_src/data/Datum/api.ts +0 -2
- package/_src/data/EitherT/api.ts +0 -1
- package/_src/data/Equatable/api.ts +29 -2
- package/_src/data/Maybe/api.ts +0 -1
- package/_src/data/Maybe/definition.ts +6 -4
- package/_src/data/Showable/show.ts +1 -1
- package/_src/util/PCGRandom.ts +1 -0
- package/collection/immutable/Conc/definition.d.ts +5 -5
- package/collection/immutable/List/definition.d.ts +12 -2
- package/collection/immutable/Vector/definition.d.ts +8 -3
- package/collection/weak/IterableWeakMap.d.ts +4 -4
- package/collection/weak/IterableWeakSet.d.ts +4 -4
- package/data/Branded/definition.d.ts +4 -1
- package/data/Equatable/api.d.ts +10 -0
- package/data/Equatable/fast-equals.d.ts +1 -1
- package/data/Maybe/definition.d.ts +4 -3
- package/package.json +3 -3
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AtomicReference.mjs","names":["AtomicReference","
|
|
1
|
+
{"version":3,"file":"AtomicReference.mjs","names":["AtomicReference","initial","current","constructor","get","set","value","compareAndSet","old","getAndSet","previous"],"sources":["../../_src/internal/AtomicReference.ts"],"sourcesContent":[null],"mappings":"AAAA,OAAM,MAAOA,eAAe;EAELC,OAAA;EADbC,OAAO;EACfC,YAAqBF,OAAU;IAAV,KAAAA,OAAO,GAAPA,OAAO;IAC1B,IAAI,CAACC,OAAO,GAAGD,OAAO;EACxB;EACA,IAAIG,GAAGA,CAAA;IACL,OAAO,IAAI,CAACF,OAAO;EACrB;EACAG,GAAGA,CAACC,KAAQ;IACV,IAAI,CAACJ,OAAO,GAAGI,KAAK;EACtB;EACAC,aAAaA,CAACC,GAAM,EAAEF,KAAQ;IAC5B,IAAI,IAAI,CAACF,GAAG,KAAKI,GAAG,EAAE;MACpB,IAAI,CAACH,GAAG,CAACC,KAAK,CAAC;MACf,OAAO,IAAI;IACb;IACA,OAAO,KAAK;EACd;EACAG,SAASA,CAACH,KAAQ;IAChB,MAAMI,QAAQ,GAAG,IAAI,CAACR,OAAO;IAC7B,IAAI,CAACA,OAAO,GAAKI,KAAK;IACtB,OAAOI,QAAQ;EACjB","ignoreList":[]}
|
package/_mjs/internal/Stack.mjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Stack.mjs","names":["Stack","
|
|
1
|
+
{"version":3,"file":"Stack.mjs","names":["Stack","node","constructor","clone","hasNext","isEmpty","size","peek","value","pop","previous","push","makeStack","single"],"sources":["../../_src/internal/Stack.ts"],"sourcesContent":[null],"mappings":"AAAA;;;;AAIA,OAAM,MAAOA,KAAK;EACIC,IAAA;EAApBC,YAAoBD,IAAc;IAAd,KAAAA,IAAI,GAAJA,IAAI;EAAa;EACrCE,KAAKA,CAAA;IACH,OAAO,IAAIH,KAAK,CAAC,IAAI,CAACC,IAAI,CAAC;EAC7B;EACA,IAAIG,OAAOA,CAAA;IACT,OAAO,CAAC,CAAC,IAAI,CAACH,IAAI;EACpB;EACA,IAAII,OAAOA,CAAA;IACT,OAAO,CAAC,IAAI,CAACD,OAAO;EACtB;EACA,IAAIE,IAAIA,CAAA;IACN,OAAO,IAAI,CAACL,IAAI,EAAEK,IAAI,IAAI,CAAC;EAC7B;EACAC,IAAIA,CAAA;IACF,IAAI,IAAI,CAACN,IAAI,EAAE;MACb,OAAO,IAAI,CAACA,IAAI,CAACO,KAAK;IACxB;EACF;EACAC,GAAGA,CAAA;IACD,IAAI,IAAI,CAACR,IAAI,EAAE;MACb,MAAMO,KAAK,GAAG,IAAI,CAACP,IAAI,CAACO,KAAK;MAC7B,IAAI,CAACP,IAAI,GAAK,IAAI,CAACA,IAAI,CAACS,QAAQ;MAChC,OAAOF,KAAK;IACd;EACF;EACAG,IAAIA,CAACH,KAAQ;IACX,IAAI,CAACP,IAAI,GAAG;MAAEO,KAAK;MAAEE,QAAQ,EAAE,IAAI,CAACT,IAAI;MAAEK,IAAI,EAAE,CAAC,IAAI,CAACL,IAAI,EAAEK,IAAI,IAAI,CAAC,IAAI;IAAC,CAAE;EAC9E;;AASF;;;AAGA,OAAM,SAAUM,SAASA,CAAA;EACvB,OAAO,IAAIZ,KAAK,EAAE;AACpB;AAEA;;;AAGA,OAAM,SAAUa,MAAMA,CAAIL,KAAQ;EAChC,OAAO,IAAIR,KAAK,CAAC;IAAEQ,KAAK;IAAEF,IAAI,EAAE;EAAC,CAAE,CAAC;AACtC","ignoreList":[]}
|
package/_mjs/util/PCGRandom.mjs
CHANGED
|
@@ -22,6 +22,7 @@ const BIT_27 = 134217728.0;
|
|
|
22
22
|
* many general-purpose RNGs, they are also hard to predict.
|
|
23
23
|
*/
|
|
24
24
|
export class PCGRandom {
|
|
25
|
+
_state;
|
|
25
26
|
constructor(seedHi, seedLo, incHi, incLo) {
|
|
26
27
|
if (isNothing(seedLo) && isNothing(seedHi)) {
|
|
27
28
|
seedLo = Math.random() * 0xffffffff >>> 0;
|
|
@@ -88,6 +89,7 @@ export class PCGRandom {
|
|
|
88
89
|
if ((max & max - 1) === 0) {
|
|
89
90
|
return this._next() & max - 1; // fast path for power of 2
|
|
90
91
|
}
|
|
92
|
+
// eslint-disable-next-line no-useless-assignment
|
|
91
93
|
let num = 0;
|
|
92
94
|
const skew = (-max >>> 0) % max >>> 0;
|
|
93
95
|
for (num = this._next(); num < skew; num = this._next()) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PCGRandom.mjs","names":["isNothing","value","defaultIncHi","defaultIncLo","MUL_HI","MUL_LO","BIT_53","BIT_27","PCGRandom","constructor","seedHi","seedLo","incHi","incLo","Math","random","
|
|
1
|
+
{"version":3,"file":"PCGRandom.mjs","names":["isNothing","value","defaultIncHi","defaultIncLo","MUL_HI","MUL_LO","BIT_53","BIT_27","PCGRandom","_state","constructor","seedHi","seedLo","incHi","incLo","Math","random","Int32Array","_next","add64","getState","setState","state","oldHi","oldLo","mul64","xsHi","xsLo","xorshifted","rot","rot2","integer","max","num","skew","number","hi","lo","out","aHi","aLo","bHi","bLo","c1","c0","imul"],"sources":["../../_src/util/PCGRandom.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
package/_mjs/util/assert.mjs
CHANGED
package/_mjs/util/assert.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"assert.mjs","names":["AssertionError","Error","
|
|
1
|
+
{"version":3,"file":"assert.mjs","names":["AssertionError","Error","message","constructor","assert","assertion"],"sources":["../../_src/util/assert.ts"],"sourcesContent":[null],"mappings":"AAAA,OAAM,MAAOA,cAAe,SAAQC,KAAK;EAClBC,OAAA;EAArBC,YAAqBD,OAAe;IAClC,KAAK,CAAC,qBAAqBA,OAAO,EAAE,CAAC;IADlB,KAAAA,OAAO,GAAPA,OAAO;EAE5B;;AAEF,OAAM,SAAUE,MAAMA,CAACC,SAAkB,EAAEH,OAAgB;EACzD,IAAI,CAACG,SAAS,EAAE;IACd,MAAM,IAAIL,cAAc,CAACE,OAAO,IAAI,EAAE,CAAC;EACzC;AACF","ignoreList":[]}
|
|
@@ -8,6 +8,11 @@ import { uniformIntDistribution } from "@fncts/base/util/rand/distribution/Unifo
|
|
|
8
8
|
* @public
|
|
9
9
|
*/
|
|
10
10
|
export class MutableRandom {
|
|
11
|
+
internalRng;
|
|
12
|
+
static MIN_INT = 0x80000000 | 0;
|
|
13
|
+
static MAX_INT = 0x7fffffff | 0;
|
|
14
|
+
static DBL_FACTOR = /*#__PURE__*/Math.pow(2, 27);
|
|
15
|
+
static DBL_DIVISOR = /*#__PURE__*/Math.pow(2, -53);
|
|
11
16
|
/**
|
|
12
17
|
* Create a mutable random number generator
|
|
13
18
|
* @param internalRng - Immutable random generator from pure-rand library
|
|
@@ -68,8 +73,4 @@ export class MutableRandom {
|
|
|
68
73
|
this.internalRng.setSeed(seed);
|
|
69
74
|
}
|
|
70
75
|
}
|
|
71
|
-
MutableRandom.MIN_INT = 0x80000000 | 0;
|
|
72
|
-
MutableRandom.MAX_INT = 0x7fffffff | 0;
|
|
73
|
-
MutableRandom.DBL_FACTOR = /*#__PURE__*/Math.pow(2, 27);
|
|
74
|
-
MutableRandom.DBL_DIVISOR = /*#__PURE__*/Math.pow(2, -53);
|
|
75
76
|
//# sourceMappingURL=Random.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Random.mjs","names":["uniformArrayIntDistribution","uniformBigIntDistribution","uniformIntDistribution","MutableRandom","
|
|
1
|
+
{"version":3,"file":"Random.mjs","names":["uniformArrayIntDistribution","uniformBigIntDistribution","uniformIntDistribution","MutableRandom","internalRng","MIN_INT","MAX_INT","DBL_FACTOR","Math","pow","DBL_DIVISOR","constructor","clone","uniformIn","rangeMin","rangeMax","next","bits","nextBoolean","nextInt","min","max","nextBigInt","nextArrayInt","nextDouble","a","b","setSeed","seed"],"sources":["../../../_src/util/rand/Random.ts"],"sourcesContent":[null],"mappings":"AAEA,SAASA,2BAA2B,QAAQ,gEAAgE;AAC5G,SAASC,yBAAyB,QAAQ,8DAA8D;AACxG,SAASC,sBAAsB,QAAQ,2DAA2D;AAClG;;;;;;AAMA,OAAM,MAAOC,aAAa;EASJC,WAAA;EARZ,OAAOC,OAAO,GAAe,UAAU,GAAG,CAAC;EAC3C,OAAOC,OAAO,GAAe,UAAU,GAAG,CAAC;EAC3C,OAAOC,UAAU,gBAAYC,IAAI,CAACC,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC;EAC5C,OAAOC,WAAW,gBAAWF,IAAI,CAACC,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;EACrD;;;;EAIAE,YAAoBP,WAA4B;IAA5B,KAAAA,WAAW,GAAXA,WAAW;EAAoB;EACnD;;;EAGAQ,KAAKA,CAAA;IACH,OAAO,IAAIT,aAAa,CAAC,IAAI,CAACC,WAAW,CAAC;EAC5C;EACQS,SAASA,CAACC,QAAgB,EAAEC,QAAgB;IAClD,OAAOb,sBAAsB,CAACY,QAAQ,EAAEC,QAAQ,EAAE,IAAI,CAACX,WAAW,CAAC;EACrE;EACA;;;;EAIAY,IAAIA,CAACC,IAAY;IACf,OAAO,IAAI,CAACJ,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,IAAII,IAAI,IAAI,CAAC,CAAC;EAC3C;EACA;;;EAGAC,WAAWA,CAAA;IACT,OAAO,IAAI,CAACL,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC;EACnC;EAWAM,OAAOA,CAACC,GAAY,EAAEC,GAAY;IAChC,OAAO,IAAI,CAACR,SAAS,CAACO,GAAG,IAAI,IAAI,GAAGjB,aAAa,CAACE,OAAO,GAAGe,GAAG,EAAEC,GAAG,IAAI,IAAI,GAAGlB,aAAa,CAACG,OAAO,GAAGe,GAAG,CAAC;EAC7G;EACA;;;;;EAKAC,UAAUA,CAACF,GAAW,EAAEC,GAAW;IACjC,OAAOpB,yBAAyB,CAACmB,GAAG,EAAEC,GAAG,EAAE,IAAI,CAACjB,WAAW,CAAC;EAC9D;EACA;;;;;EAKAmB,YAAYA,CACVH,GAGC,EACDC,GAGC;IAKD,OAAOrB,2BAA2B,CAACoB,GAAG,EAAEC,GAAG,EAAE,IAAI,CAACjB,WAAW,CAAC;EAChE;EACA;;;EAGAoB,UAAUA,CAAA;IACR,MAAMC,CAAC,GAAG,IAAI,CAACT,IAAI,CAAC,EAAE,CAAC;IACvB,MAAMU,CAAC,GAAG,IAAI,CAACV,IAAI,CAAC,EAAE,CAAC;IACvB,OAAO,CAACS,CAAC,GAAGtB,aAAa,CAACI,UAAU,GAAGmB,CAAC,IAAIvB,aAAa,CAACO,WAAW;EACvE;EACAiB,OAAOA,CAACC,IAAY;IAClB,IAAI,CAACxB,WAAW,CAACuB,OAAO,CAACC,IAAI,CAAC;EAChC","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MersenneTwister.mjs","names":["MAX_INT","N","M","UPPER_MASK","LOWER_MASK","MATRIX_A","MersenneTwister","
|
|
1
|
+
{"version":3,"file":"MersenneTwister.mjs","names":["MAX_INT","N","M","UPPER_MASK","LOWER_MASK","MATRIX_A","MersenneTwister","mt","mti","constructor","seed","Array","setSeed","Date","now","s","seedArray","vector","i","j","k","length","next","y","kk","mag01","min","max"],"sources":["../../../../_src/util/rand/generator/MersenneTwister.ts"],"sourcesContent":[null],"mappings":"AA8CA,MAAMA,OAAO,GAAM,YAAY;AAC/B,MAAMC,CAAC,GAAY,GAAG;AACtB,MAAMC,CAAC,GAAY,GAAG;AACtB,MAAMC,UAAU,GAAG,UAAU;AAC7B,MAAMC,UAAU,GAAG,UAAU;AAC7B,MAAMC,QAAQ,GAAK,UAAU;AAC7B,OAAM,MAAOC,eAAe;EAClBC,EAAE;EACFC,GAAG;EACXC,YAAYC,IAAa;IACvB,IAAI,CAACH,EAAE,GAAI,IAAII,KAAK,CAACV,CAAC,CAAC;IACvB,IAAI,CAACO,GAAG,GAAGP,CAAC,GAAG,CAAC;IAChB,IAAI,CAACW,OAAO,CAACF,IAAI,IAAIG,IAAI,CAACC,GAAG,EAAE,CAAC;EAClC;EACAF,OAAOA,CAACF,IAAY;IAClB,IAAIK,CAAS;IACb,IAAI,CAACR,EAAE,CAAC,CAAC,CAAC,GAAGG,IAAI,KAAK,CAAC;IACvB,KAAK,IAAI,CAACF,GAAG,GAAG,CAAC,EAAE,IAAI,CAACA,GAAG,GAAGP,CAAC,EAAE,IAAI,CAACO,GAAG,EAAE,EAAE;MAC3CO,CAAC,GAAsB,IAAI,CAACR,EAAE,CAAC,IAAI,CAACC,GAAG,GAAG,CAAC,CAAE,GAAI,IAAI,CAACD,EAAE,CAAC,IAAI,CAACC,GAAG,GAAG,CAAC,CAAE,KAAK,EAAG;MAC/E,IAAI,CAACD,EAAE,CAAC,IAAI,CAACC,GAAG,CAAC,GAAM,CAAE,CAAC,CAACO,CAAC,GAAG,UAAU,MAAM,EAAE,IAAI,UAAU,IAAK,EAAE,IAAI,CAACA,CAAC,GAAG,UAAU,IAAI,UAAU,GAAG,IAAI,CAACP,GAAG;MAClH,IAAI,CAACD,EAAE,CAAC,IAAI,CAACC,GAAG,CAAC,MAAM,CAAC;IAC1B;EACF;EACAQ,SAASA,CAACC,MAA6B;IACrC,IAAIC,CAAC,GAAG,CAAC;MACPC,CAAC,GAAG,CAAC;MACLC,CAAC,GAAGnB,CAAC,GAAGgB,MAAM,CAACI,MAAM,GAAGpB,CAAC,GAAGgB,MAAM,CAACI,MAAM;MACzCN,CAAS;IACX,IAAI,CAACH,OAAO,CAAC,QAAQ,CAAC;IACtB,OAAOQ,CAAC,GAAG,CAAC,EAAEA,CAAC,EAAE,EAAE;MACjBL,CAAC,GAAG,IAAI,CAACR,EAAE,CAACW,CAAC,GAAG,CAAC,CAAE,GAAI,IAAI,CAACX,EAAE,CAACW,CAAC,GAAG,CAAC,CAAE,KAAK,EAAG;MAC9C,IAAI,CAACX,EAAE,CAACW,CAAC,CAAC,GACR,CAAC,IAAI,CAACX,EAAE,CAACW,CAAC,CAAE,GAAI,CAAE,CAAC,CAACH,CAAC,GAAG,UAAU,MAAM,EAAE,IAAI,OAAO,IAAK,EAAE,IAAI,CAACA,CAAC,GAAG,UAAU,IAAI,OAAQ,IAAIE,MAAM,CAACE,CAAC,CAAE,GAAGA,CAAC;MAC/G,IAAI,CAACZ,EAAE,CAACW,CAAC,CAAC,MAAM,CAAC;MACjBA,CAAC,EAAE;MACHC,CAAC,EAAE;MACH,IAAID,CAAC,IAAIjB,CAAC,EAAE;QACV,IAAI,CAACM,EAAE,CAAC,CAAC,CAAC,GAAG,IAAI,CAACA,EAAE,CAACN,CAAC,GAAG,CAAC,CAAE;QAC5BiB,CAAC,GAAY,CAAC;MAChB;MACA,IAAIC,CAAC,IAAIF,MAAM,CAACI,MAAM,EAAE;QACtBF,CAAC,GAAG,CAAC;MACP;IACF;IACA,KAAKC,CAAC,GAAGnB,CAAC,GAAG,CAAC,EAAEmB,CAAC,EAAEA,CAAC,EAAE,EAAE;MACtBL,CAAC,GAAG,IAAI,CAACR,EAAE,CAACW,CAAC,GAAG,CAAC,CAAE,GAAI,IAAI,CAACX,EAAE,CAACW,CAAC,GAAG,CAAC,CAAE,KAAK,EAAG;MAC9C,IAAI,CAACX,EAAE,CAACW,CAAC,CAAC,GACR,CAAC,IAAI,CAACX,EAAE,CAACW,CAAC,CAAE,GAAI,CAAE,CAAC,CAACH,CAAC,GAAG,UAAU,MAAM,EAAE,IAAI,UAAU,IAAK,EAAE,IAAI,CAACA,CAAC,GAAG,UAAU,IAAI,UAAW,IAAIG,CAAC;MACxG,IAAI,CAACX,EAAE,CAACW,CAAC,CAAC,MAAM,CAAC;MACjBA,CAAC,EAAE;MACH,IAAIA,CAAC,IAAIjB,CAAC,EAAE;QACV,IAAI,CAACM,EAAE,CAAC,CAAC,CAAC,GAAG,IAAI,CAACA,EAAE,CAACN,CAAC,GAAG,CAAC,CAAE;QAC5BiB,CAAC,GAAY,CAAC;MAChB;IACF;IACA,IAAI,CAACX,EAAE,CAAC,CAAC,CAAC,GAAG,UAAU;EACzB;EACAe,IAAIA,CAAA;IACF,IAAIC,CAAS;MACXC,EAAU;MACVC,KAAK,GAAqB,CAAC,CAAC,EAAEpB,QAAQ,CAAC;IACzC,IAAI,IAAI,CAACG,GAAG,IAAIP,CAAC,EAAE;MACjB,IAAI,IAAI,CAACO,GAAG,KAAKP,CAAC,GAAG,CAAC,EAAE;QACtB,IAAI,CAACW,OAAO,CAAC,IAAI,CAAC;MACpB;MACA,KAAKY,EAAE,GAAG,CAAC,EAAEA,EAAE,GAAGvB,CAAC,GAAGC,CAAC,EAAEsB,EAAE,EAAE,EAAE;QAC7BD,CAAC,GAAc,IAAI,CAAChB,EAAE,CAACiB,EAAE,CAAE,GAAGrB,UAAU,GAAK,IAAI,CAACI,EAAE,CAACiB,EAAE,GAAG,CAAC,CAAE,GAAGpB,UAAW;QAC3E,IAAI,CAACG,EAAE,CAACiB,EAAE,CAAC,GAAG,IAAI,CAACjB,EAAE,CAACiB,EAAE,GAAGtB,CAAC,CAAE,GAAIqB,CAAC,KAAK,CAAE,GAAGE,KAAK,CAACF,CAAC,GAAG,CAAC,CAAE;MAC5D;MACA,OAAOC,EAAE,GAAGvB,CAAC,GAAG,CAAC,EAAEuB,EAAE,EAAE,EAAE;QACvBD,CAAC,GAAc,IAAI,CAAChB,EAAE,CAACiB,EAAE,CAAE,GAAGrB,UAAU,GAAK,IAAI,CAACI,EAAE,CAACiB,EAAE,GAAG,CAAC,CAAE,GAAGpB,UAAW;QAC3E,IAAI,CAACG,EAAE,CAACiB,EAAE,CAAC,GAAG,IAAI,CAACjB,EAAE,CAACiB,EAAE,IAAItB,CAAC,GAAGD,CAAC,CAAC,CAAE,GAAIsB,CAAC,KAAK,CAAE,GAAGE,KAAK,CAACF,CAAC,GAAG,CAAC,CAAE;MAClE;MACAA,CAAC,GAAiB,IAAI,CAAChB,EAAE,CAACN,CAAC,GAAG,CAAC,CAAE,GAAGE,UAAU,GAAK,IAAI,CAACI,EAAE,CAAC,CAAC,CAAE,GAAGH,UAAW;MAC5E,IAAI,CAACG,EAAE,CAACN,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CAACM,EAAE,CAACL,CAAC,GAAG,CAAC,CAAE,GAAIqB,CAAC,KAAK,CAAE,GAAGE,KAAK,CAACF,CAAC,GAAG,CAAC,CAAE;MAC5D,IAAI,CAACf,GAAG,GAAS,CAAC;IACpB;IACAe,CAAC,GAAI,IAAI,CAAChB,EAAE,CAAC,IAAI,CAACC,GAAG,EAAE,CAAE;IACzBe,CAAC,IAAIA,CAAC,KAAK,EAAE;IACbA,CAAC,IAAKA,CAAC,IAAI,CAAC,GAAI,UAAU;IAC1BA,CAAC,IAAKA,CAAC,IAAI,EAAE,GAAI,UAAU;IAC3BA,CAAC,IAAIA,CAAC,KAAK,EAAE;IACb,OAAOA,CAAC,KAAK,CAAC;EAChB;EACAG,GAAGA,CAAA;IACD,OAAO,CAAC;EACV;EACAC,GAAGA,CAAA;IACD,OAAO,UAAU;EACnB","ignoreList":[]}
|
|
@@ -257,7 +257,6 @@ export function filterWithIndex<A>(p: PredicateWithIndex<number, A>) {
|
|
|
257
257
|
*/
|
|
258
258
|
export function find<A, B extends A>(refinement: Refinement<A, B>): (self: Iterable<A>) => Maybe<B>;
|
|
259
259
|
export function find<A>(predicate: Predicate<A>): (self: Iterable<A>) => Maybe<A>;
|
|
260
|
-
|
|
261
260
|
export function find<A>(predicate: Predicate<A>) {
|
|
262
261
|
return (self: Iterable<A>): Maybe<A> => {
|
|
263
262
|
for (const value of self) {
|
|
@@ -268,14 +268,19 @@ export const _Empty = new Empty<never>();
|
|
|
268
268
|
export class Concat<A> extends ConcImplementation<A> {
|
|
269
269
|
declare _A: () => A;
|
|
270
270
|
readonly _tag = ConcTag.Concat;
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
271
|
+
|
|
272
|
+
readonly length: number;
|
|
273
|
+
readonly depth: number;
|
|
274
|
+
readonly binary: boolean;
|
|
275
|
+
|
|
274
276
|
constructor(
|
|
275
277
|
readonly left: ConcImplementation<A>,
|
|
276
278
|
readonly right: ConcImplementation<A>,
|
|
277
279
|
) {
|
|
278
280
|
super();
|
|
281
|
+
this.length = this.left.length + this.right.length;
|
|
282
|
+
this.depth = 1 + Math.max(this.left.depth, this.right.depth);
|
|
283
|
+
this.binary = this.left.binary && this.right.binary;
|
|
279
284
|
}
|
|
280
285
|
get(n: number): A {
|
|
281
286
|
return n < this.left.length ? this.left.get(n) : this.right.get(n - this.left.length);
|
|
@@ -306,8 +311,9 @@ export class Concat<A> extends ConcImplementation<A> {
|
|
|
306
311
|
class AppendN<A> extends ConcImplementation<A> {
|
|
307
312
|
readonly _tag = ConcTag.AppendN;
|
|
308
313
|
|
|
309
|
-
length: number;
|
|
310
|
-
|
|
314
|
+
readonly length: number;
|
|
315
|
+
readonly depth: number;
|
|
316
|
+
|
|
311
317
|
left = _Empty;
|
|
312
318
|
right = _Empty;
|
|
313
319
|
|
|
@@ -319,6 +325,7 @@ class AppendN<A> extends ConcImplementation<A> {
|
|
|
319
325
|
) {
|
|
320
326
|
super();
|
|
321
327
|
this.length = this.start.length + this.bufferUsed;
|
|
328
|
+
this.depth = this.start.depth + 1;
|
|
322
329
|
}
|
|
323
330
|
|
|
324
331
|
[Symbol.iterator](): Iterator<A> {
|
|
@@ -53,7 +53,10 @@ export class HashMap<in out K, in out V> implements Iterable<readonly [K, V]>, H
|
|
|
53
53
|
return (
|
|
54
54
|
isHashMap(other) &&
|
|
55
55
|
other.size === this.size &&
|
|
56
|
-
(this as Iterable<readonly [K, V]>).corresponds(
|
|
56
|
+
(this as Iterable<readonly [K, V]>).corresponds(
|
|
57
|
+
other,
|
|
58
|
+
([ka, va], [kb, vb]) => Equatable.strictEquals(ka, kb) && Equatable.strictEquals(va, vb),
|
|
59
|
+
)
|
|
57
60
|
);
|
|
58
61
|
}
|
|
59
62
|
}
|
|
@@ -365,9 +365,8 @@ export function join(separator: string) {
|
|
|
365
365
|
let result: IteratorResult<string>;
|
|
366
366
|
while (!(result = iterator.next()).done) {
|
|
367
367
|
if (first) {
|
|
368
|
-
first
|
|
369
|
-
s
|
|
370
|
-
result = iterator.next();
|
|
368
|
+
first = false;
|
|
369
|
+
s += result.value;
|
|
371
370
|
} else {
|
|
372
371
|
s += separator;
|
|
373
372
|
s += result.value;
|
|
@@ -12,6 +12,8 @@
|
|
|
12
12
|
* for more information regarding copyright ownership
|
|
13
13
|
*/
|
|
14
14
|
|
|
15
|
+
import type { EqualsContext } from "@fncts/base/data/Equatable";
|
|
16
|
+
|
|
15
17
|
export const ListTypeId = Symbol.for("fncts.List");
|
|
16
18
|
export type ListTypeId = typeof ListTypeId;
|
|
17
19
|
|
|
@@ -19,7 +21,7 @@ export type ListTypeId = typeof ListTypeId;
|
|
|
19
21
|
* @tsplus type fncts.List.Cons
|
|
20
22
|
* @tsplus companion fncts.ConsOps
|
|
21
23
|
*/
|
|
22
|
-
export class Cons<A> implements Iterable<A
|
|
24
|
+
export class Cons<A> implements Iterable<A>, Equatable {
|
|
23
25
|
readonly _tag = "Cons";
|
|
24
26
|
readonly [ListTypeId]: ListTypeId = ListTypeId;
|
|
25
27
|
constructor(
|
|
@@ -27,6 +29,18 @@ export class Cons<A> implements Iterable<A> {
|
|
|
27
29
|
public tail: List<A> = _Nil,
|
|
28
30
|
) {}
|
|
29
31
|
|
|
32
|
+
[Symbol.equals](that: unknown, context: EqualsContext): boolean {
|
|
33
|
+
return (
|
|
34
|
+
isList(that) &&
|
|
35
|
+
that._tag === "Cons" &&
|
|
36
|
+
context.comparator(this.head, that.head) &&
|
|
37
|
+
context.comparator(this.tail, that.tail)
|
|
38
|
+
);
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
/**
|
|
42
|
+
* Iterates elements from this node through the tail.
|
|
43
|
+
*/
|
|
30
44
|
[Symbol.iterator](): Iterator<A> {
|
|
31
45
|
let done = false;
|
|
32
46
|
|
|
@@ -58,9 +72,17 @@ export class Cons<A> implements Iterable<A> {
|
|
|
58
72
|
* @tsplus type fncts.List.Nil
|
|
59
73
|
* @tsplus companion fncts.NilOps
|
|
60
74
|
*/
|
|
61
|
-
export class Nil<A> implements Iterable<A
|
|
75
|
+
export class Nil<A> implements Iterable<A>, Equatable {
|
|
62
76
|
readonly _tag = "Nil";
|
|
63
77
|
readonly [ListTypeId]: ListTypeId = ListTypeId;
|
|
78
|
+
|
|
79
|
+
[Symbol.equals](that: unknown, context: EqualsContext): boolean {
|
|
80
|
+
return isList(that) && that._tag === "Nil";
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
/**
|
|
84
|
+
* Returns an iterator that is immediately done.
|
|
85
|
+
*/
|
|
64
86
|
[Symbol.iterator](): Iterator<A> {
|
|
65
87
|
return {
|
|
66
88
|
next() {
|
|
@@ -158,7 +158,6 @@ export function concat<A>(that: Vector<A>) {
|
|
|
158
158
|
* @tsplus pipeable fncts.Vector filter
|
|
159
159
|
*/
|
|
160
160
|
export function filter<A, B extends A>(refinement: Refinement<A, B>): (self: Vector<A>) => Vector<B>;
|
|
161
|
-
|
|
162
161
|
export function filter<A>(predicate: Predicate<A>): (self: Vector<A>) => Vector<A>;
|
|
163
162
|
export function filter<A>(predicate: Predicate<A>) {
|
|
164
163
|
return (self: Vector<A>): Vector<A> => {
|
|
@@ -194,7 +193,6 @@ export function filterMapWithIndex<A, B>(f: (i: number, a: A) => Maybe<B>) {
|
|
|
194
193
|
export function filterWithIndex<A, B extends A>(
|
|
195
194
|
refinement: RefinementWithIndex<number, A, B>,
|
|
196
195
|
): (self: Vector<A>) => Vector<B>;
|
|
197
|
-
|
|
198
196
|
export function filterWithIndex<A>(predicate: PredicateWithIndex<number, A>): (self: Vector<A>) => Vector<A>;
|
|
199
197
|
export function filterWithIndex<A>(predicate: PredicateWithIndex<number, A>) {
|
|
200
198
|
return (self: Vector<A>): Vector<A> => {
|
|
@@ -1078,9 +1076,10 @@ export function single<A>(a: A): Vector<A> {
|
|
|
1078
1076
|
export function slice(from: number, to: number) {
|
|
1079
1077
|
return <A>(self: Vector<A>): Vector<A> => {
|
|
1080
1078
|
let { bits, length } = self;
|
|
1081
|
-
|
|
1082
|
-
let
|
|
1083
|
-
|
|
1079
|
+
// eslint-disable-next-line no-useless-assignment
|
|
1080
|
+
let _to = to;
|
|
1081
|
+
let _from = from;
|
|
1082
|
+
_to = Math.min(length, to);
|
|
1084
1083
|
// Handle negative indices
|
|
1085
1084
|
if (_from < 0) {
|
|
1086
1085
|
_from = length + from;
|
|
@@ -1381,7 +1380,6 @@ export function traverseWithIndex_<A>(
|
|
|
1381
1380
|
) => <K, Q, W, X, I, S, R, E, B>(
|
|
1382
1381
|
f: (i: number, a: A) => HKT.Kind<G, GC, K, Q, W, X, I, S, R, E, B>,
|
|
1383
1382
|
) => HKT.Kind<G, GC, K, Q, W, X, I, S, R, E, Vector<B>>;
|
|
1384
|
-
|
|
1385
1383
|
export function traverseWithIndex_<A>(
|
|
1386
1384
|
self: Vector<A>,
|
|
1387
1385
|
): <G>(G: P.Applicative<HKT.F<G>>) => <B>(f: (i: number, a: A) => HKT.FK1<G, B>) => HKT.FK1<G, Vector<B>> {
|
|
@@ -1,7 +1,10 @@
|
|
|
1
1
|
import type { Node } from "@fncts/base/collection/immutable/Vector/internal";
|
|
2
|
+
import type { EqualsContext } from "@fncts/base/data/Equatable";
|
|
3
|
+
import type { ShowComputationExternal } from "@fncts/base/data/Showable";
|
|
2
4
|
|
|
3
5
|
import { foldLeftCb } from "@fncts/base/collection/immutable/Vector/internal";
|
|
4
6
|
import { ForwardVectorIterator } from "@fncts/base/collection/immutable/Vector/internal";
|
|
7
|
+
import { _show, showComputationComplex } from "@fncts/base/data/Showable";
|
|
5
8
|
|
|
6
9
|
export const VectorVariance = Symbol.for("fncts.Vector.Variance");
|
|
7
10
|
export type VectorVariance = typeof VectorVariance;
|
|
@@ -23,7 +26,7 @@ export interface VectorF extends HKT {
|
|
|
23
26
|
* @tsplus type fncts.Vector
|
|
24
27
|
* @tsplus companion fncts.VectorOps
|
|
25
28
|
*/
|
|
26
|
-
export class Vector<A> implements Iterable<A
|
|
29
|
+
export class Vector<A> implements Iterable<A>, Equatable {
|
|
27
30
|
readonly [VectorTypeId]: VectorTypeId = VectorTypeId;
|
|
28
31
|
declare [VectorVariance]: {
|
|
29
32
|
readonly _A: (_: never) => A;
|
|
@@ -47,8 +50,15 @@ export class Vector<A> implements Iterable<A> {
|
|
|
47
50
|
get [Symbol.hash](): number {
|
|
48
51
|
return Hashable.iterator(this[Symbol.iterator]());
|
|
49
52
|
}
|
|
50
|
-
[Symbol.equals](that: unknown): boolean {
|
|
51
|
-
return isVector(that) && (this as Vector<A>).corresponds(that,
|
|
53
|
+
[Symbol.equals](that: unknown, context: EqualsContext): boolean {
|
|
54
|
+
return isVector(that) && (this as Vector<A>).corresponds(that, context.comparator);
|
|
55
|
+
}
|
|
56
|
+
get [Symbol.showable](): ShowComputationExternal {
|
|
57
|
+
return showComputationComplex({
|
|
58
|
+
base: Pure.succeedNow("Vector"),
|
|
59
|
+
braces: ["[", "]"],
|
|
60
|
+
indices: this.traverseToConc(Pure.Applicative)((a) => _show(a)),
|
|
61
|
+
});
|
|
52
62
|
}
|
|
53
63
|
}
|
|
54
64
|
|
|
@@ -70,6 +80,7 @@ export interface MutableVector<A> {
|
|
|
70
80
|
[Symbol.iterator]: () => Iterator<A>;
|
|
71
81
|
[Symbol.hash]: number;
|
|
72
82
|
[Symbol.equals](that: unknown): boolean;
|
|
83
|
+
get [Symbol.showable](): ShowComputationExternal;
|
|
73
84
|
/**
|
|
74
85
|
* This property doesn't exist at run-time. It exists to prevent a
|
|
75
86
|
* MutableVector from being assignable to a Vector.
|
|
@@ -590,8 +590,9 @@ export function prependNodeToTree<A>(l: MutableVector<A>, array: A[]): Vector<A>
|
|
|
590
590
|
}
|
|
591
591
|
return l;
|
|
592
592
|
} else {
|
|
593
|
-
const node
|
|
594
|
-
const depth
|
|
593
|
+
const node = new Node(undefined, array);
|
|
594
|
+
const depth = getDepth(l);
|
|
595
|
+
// eslint-disable-next-line no-useless-assignment
|
|
595
596
|
let newOffset = 0;
|
|
596
597
|
if (l.root.sizes === undefined) {
|
|
597
598
|
if (l.offset !== 0) {
|
|
@@ -935,8 +936,9 @@ export const concatBuffer = new Array(3);
|
|
|
935
936
|
*/
|
|
936
937
|
export function concatAffixes<A>(left: Vector<A>, right: Vector<A>): number {
|
|
937
938
|
// TODO: Try and find a neat way to reduce the LOC here
|
|
938
|
-
let nr
|
|
939
|
-
let arrIdx
|
|
939
|
+
let nr = 0;
|
|
940
|
+
let arrIdx = 0;
|
|
941
|
+
// eslint-disable-next-line no-useless-assignment
|
|
940
942
|
let i = 0;
|
|
941
943
|
let length = getSuffixSize(left);
|
|
942
944
|
concatBuffer[nr] = [];
|
|
@@ -1237,8 +1239,10 @@ function foldLeftNodeCb<A, B>(
|
|
|
1237
1239
|
export function foldLeftCb<A, B>(cb: FoldCb<A, B>, state: B, l: Vector<A>): B {
|
|
1238
1240
|
const prefixSize = getPrefixSize(l);
|
|
1239
1241
|
let i = prefixSize - 1;
|
|
1240
|
-
|
|
1241
|
-
|
|
1242
|
+
// eslint-disable-next-line no-useless-assignment
|
|
1243
|
+
let cont = true;
|
|
1244
|
+
// eslint-disable-next-line no-useless-assignment
|
|
1245
|
+
[cont, i] = foldRightArrayCb(cb, state, l.prefix, prefixSize, 0, i);
|
|
1242
1246
|
if (!cont) {
|
|
1243
1247
|
return state;
|
|
1244
1248
|
}
|
|
@@ -1280,12 +1284,14 @@ export function foldRightCb<A, B>(cb: FoldCb<A, B>, state: B, l: Vector<A>): B {
|
|
|
1280
1284
|
const suffixSize = getSuffixSize(l);
|
|
1281
1285
|
const prefixSize = getPrefixSize(l);
|
|
1282
1286
|
let i = l.length - 1;
|
|
1283
|
-
|
|
1284
|
-
|
|
1287
|
+
// eslint-disable-next-line no-useless-assignment
|
|
1288
|
+
let cont = true;
|
|
1289
|
+
[cont, i] = foldRightArrayCb(cb, state, l.suffix, suffixSize, 0, i);
|
|
1285
1290
|
if (!cont) {
|
|
1286
1291
|
return state;
|
|
1287
1292
|
}
|
|
1288
1293
|
if (l.root !== undefined) {
|
|
1294
|
+
// eslint-disable-next-line no-useless-assignment
|
|
1289
1295
|
[cont, i] = foldRightNodeCb(cb, state, l.root, getDepth(l), i);
|
|
1290
1296
|
if (!cont) {
|
|
1291
1297
|
return state;
|
|
@@ -82,14 +82,14 @@ export class IterableWeakMap<K extends object, V> implements Iterable<readonly [
|
|
|
82
82
|
return n;
|
|
83
83
|
}
|
|
84
84
|
|
|
85
|
-
[Symbol.iterator](this: this):
|
|
85
|
+
[Symbol.iterator](this: this): MapIterator<[K, V]> {
|
|
86
86
|
return this.entries();
|
|
87
87
|
}
|
|
88
88
|
get [Symbol.toStringTag](): string {
|
|
89
89
|
return this.weakMap[Symbol.toStringTag];
|
|
90
90
|
}
|
|
91
91
|
|
|
92
|
-
*entries(this: this):
|
|
92
|
+
*entries(this: this): MapIterator<[K, V]> {
|
|
93
93
|
for (const ref of this.refSet) {
|
|
94
94
|
const key = ref.deref();
|
|
95
95
|
if (!key) continue;
|
|
@@ -98,13 +98,13 @@ export class IterableWeakMap<K extends object, V> implements Iterable<readonly [
|
|
|
98
98
|
}
|
|
99
99
|
}
|
|
100
100
|
|
|
101
|
-
*keys(this: this):
|
|
101
|
+
*keys(this: this): MapIterator<K> {
|
|
102
102
|
for (const [key] of this) {
|
|
103
103
|
yield key;
|
|
104
104
|
}
|
|
105
105
|
}
|
|
106
106
|
|
|
107
|
-
*values():
|
|
107
|
+
*values(): MapIterator<V> {
|
|
108
108
|
for (const [, value] of this) {
|
|
109
109
|
yield value;
|
|
110
110
|
}
|
|
@@ -50,11 +50,11 @@ export class IterableWeakSet<A extends object> implements Iterable<A>, Set<A> {
|
|
|
50
50
|
return this.weakMap.has(value);
|
|
51
51
|
}
|
|
52
52
|
|
|
53
|
-
keys():
|
|
53
|
+
keys(): MapIterator<A> {
|
|
54
54
|
return this[Symbol.iterator]();
|
|
55
55
|
}
|
|
56
56
|
|
|
57
|
-
values():
|
|
57
|
+
values(): MapIterator<A> {
|
|
58
58
|
return this[Symbol.iterator]();
|
|
59
59
|
}
|
|
60
60
|
|
|
@@ -87,7 +87,7 @@ export class IterableWeakSet<A extends object> implements Iterable<A>, Set<A> {
|
|
|
87
87
|
return n;
|
|
88
88
|
}
|
|
89
89
|
|
|
90
|
-
*[Symbol.iterator](this: this):
|
|
90
|
+
*[Symbol.iterator](this: this): MapIterator<A> {
|
|
91
91
|
for (const ref of this.refSet) {
|
|
92
92
|
const key = ref.deref();
|
|
93
93
|
if (!key) continue;
|
|
@@ -99,7 +99,7 @@ export class IterableWeakSet<A extends object> implements Iterable<A>, Set<A> {
|
|
|
99
99
|
return this.refSet[Symbol.toStringTag];
|
|
100
100
|
}
|
|
101
101
|
|
|
102
|
-
*entries(this: this):
|
|
102
|
+
*entries(this: this): MapIterator<[A, A]> {
|
|
103
103
|
for (const ref of this.refSet) {
|
|
104
104
|
const key = ref.deref();
|
|
105
105
|
if (!key) continue;
|
|
@@ -38,5 +38,6 @@ const UNSET = Symbol.for("@tsplus/base/control/Eval/UNSET");
|
|
|
38
38
|
*/
|
|
39
39
|
export function later<A>(make: Lazy<A>): Eval<A> {
|
|
40
40
|
let v: A | typeof UNSET = UNSET;
|
|
41
|
+
// eslint-disable-next-line no-useless-assignment
|
|
41
42
|
return Eval(v === UNSET ? (((v = make()), (make = null!)), v) : v);
|
|
42
43
|
}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { EqualsContext } from "@fncts/base/data/Equatable";
|
|
1
2
|
import type { Union } from "@fncts/typelevel";
|
|
2
3
|
declare const validSym: unique symbol;
|
|
3
4
|
export declare namespace Brand {
|
|
@@ -42,11 +43,15 @@ export declare namespace Brand {
|
|
|
42
43
|
* @tsplus companion fncts.ValidationOps
|
|
43
44
|
* @tsplus derive nominal
|
|
44
45
|
*/
|
|
45
|
-
export class Validation<in out A, in out K extends string> {
|
|
46
|
+
export class Validation<in out A, in out K extends string> implements Equatable {
|
|
46
47
|
constructor(
|
|
47
48
|
readonly validate: Refinement<A, A & Brand.Valid<A, K>>,
|
|
48
49
|
readonly name: K,
|
|
49
50
|
) {}
|
|
51
|
+
|
|
52
|
+
[Symbol.equals](that: unknown, context: EqualsContext): boolean {
|
|
53
|
+
return that instanceof Validation && this.name === that.name && context.comparator(this.validate, that.validate);
|
|
54
|
+
}
|
|
50
55
|
}
|
|
51
56
|
|
|
52
57
|
/**
|
package/_src/data/CaseClass.ts
CHANGED
|
@@ -102,7 +102,6 @@ export function Tagged<Tag extends string | symbol, Key extends string | symbol>
|
|
|
102
102
|
): CaseConstructorTagged<Tag, string> {
|
|
103
103
|
if (key) {
|
|
104
104
|
class X extends CaseClass<{}> {
|
|
105
|
-
// @ts-expect-error
|
|
106
105
|
readonly [key] = tag;
|
|
107
106
|
}
|
|
108
107
|
// @ts-expect-error
|
package/_src/data/Cause/api.ts
CHANGED
|
@@ -506,18 +506,14 @@ export function flipCauseOption<E>(self: Cause<Maybe<E>>): Maybe<Cause<E>> {
|
|
|
506
506
|
|
|
507
507
|
if (l.isJust() && result.isJust()) {
|
|
508
508
|
result = Just(Cause.sequential(l.value, result.value));
|
|
509
|
-
}
|
|
510
|
-
|
|
511
|
-
if (l.isNothing() && result.isJust()) {
|
|
509
|
+
} else if (l.isNothing() && result.isJust()) {
|
|
512
510
|
result = Just(result.value);
|
|
513
|
-
}
|
|
514
|
-
|
|
515
|
-
if (l.isJust() && result.isNothing()) {
|
|
511
|
+
} else if (l.isJust() && result.isNothing()) {
|
|
516
512
|
result = Just(l.value);
|
|
513
|
+
} else {
|
|
514
|
+
result = Nothing();
|
|
517
515
|
}
|
|
518
516
|
|
|
519
|
-
result = Nothing();
|
|
520
|
-
|
|
521
517
|
continue popping;
|
|
522
518
|
}
|
|
523
519
|
case "FCOStackFrameBothLeft":
|
|
@@ -529,18 +525,14 @@ export function flipCauseOption<E>(self: Cause<Maybe<E>>): Maybe<Cause<E>> {
|
|
|
529
525
|
|
|
530
526
|
if (l.isJust() && result.isJust()) {
|
|
531
527
|
result = Just(Cause.parallel(l.value, result.value));
|
|
532
|
-
}
|
|
533
|
-
|
|
534
|
-
if (l.isNothing() && result.isJust()) {
|
|
528
|
+
} else if (l.isNothing() && result.isJust()) {
|
|
535
529
|
result = Just(result.value);
|
|
536
|
-
}
|
|
537
|
-
|
|
538
|
-
if (l.isJust() && result.isNothing()) {
|
|
530
|
+
} else if (l.isJust() && result.isNothing()) {
|
|
539
531
|
result = Just(l.value);
|
|
532
|
+
} else {
|
|
533
|
+
result = Nothing();
|
|
540
534
|
}
|
|
541
535
|
|
|
542
|
-
result = Nothing();
|
|
543
|
-
|
|
544
536
|
continue popping;
|
|
545
537
|
}
|
|
546
538
|
}
|
package/_src/data/Data.ts
CHANGED
|
@@ -102,7 +102,6 @@ export const TaggedClass = <Tag extends string | symbol, Key extends string | sy
|
|
|
102
102
|
): TaggedDataClassConstructor<Tag, Key> => {
|
|
103
103
|
if (key) {
|
|
104
104
|
class Base extends Structural<any> {
|
|
105
|
-
// @ts-expect-error
|
|
106
105
|
readonly [key] = tag;
|
|
107
106
|
}
|
|
108
107
|
return Base as any;
|
package/_src/data/Datum/api.ts
CHANGED
|
@@ -44,9 +44,7 @@ export function extend<A, B>(f: (wa: Datum<A>) => B) {
|
|
|
44
44
|
* @tsplus pipeable fncts.Datum filter
|
|
45
45
|
*/
|
|
46
46
|
export function filter<A, B extends A>(p: Refinement<A, B>): (self: Datum<A>) => Datum<B>;
|
|
47
|
-
|
|
48
47
|
export function filter<A>(p: Predicate<A>): (self: Datum<A>) => Datum<A>;
|
|
49
|
-
|
|
50
48
|
export function filter<A>(p: Predicate<A>) {
|
|
51
49
|
return (self: Datum<A>): Datum<A> => {
|
|
52
50
|
return self.match({
|
package/_src/data/EitherT/api.ts
CHANGED