@fncts/base 0.0.20 → 0.0.22
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/traverseConc.cjs +8 -19
- package/_cjs/collection/Iterable/api/traverseConc.cjs.map +1 -1
- package/_cjs/collection/Iterable/api.cjs +500 -610
- package/_cjs/collection/Iterable/api.cjs.map +1 -1
- package/_cjs/collection/Iterable/constructors.cjs +7 -25
- package/_cjs/collection/Iterable/constructors.cjs.map +1 -1
- package/_cjs/collection/Iterable/definition.cjs.map +1 -1
- package/_cjs/collection/Iterable.cjs +0 -6
- package/_cjs/collection/Iterable.cjs.map +1 -1
- package/_cjs/collection/compat/Array/api.cjs +17 -26
- package/_cjs/collection/compat/Array/api.cjs.map +1 -1
- package/_cjs/collection/compat/Array/definition.cjs.map +1 -1
- package/_cjs/collection/compat/Array.cjs +0 -17
- package/_cjs/collection/compat/Array.cjs.map +1 -1
- package/_cjs/collection/compat/ArrayLike/api.cjs +4 -13
- package/_cjs/collection/compat/ArrayLike/api.cjs.map +1 -1
- package/_cjs/collection/immutable/Conc/api/empty.cjs +0 -2
- package/_cjs/collection/immutable/Conc/api/empty.cjs.map +1 -1
- package/_cjs/collection/immutable/Conc/api/makeBy.cjs +1 -9
- package/_cjs/collection/immutable/Conc/api/makeBy.cjs.map +1 -1
- package/_cjs/collection/immutable/Conc/api/replicate.cjs +0 -4
- package/_cjs/collection/immutable/Conc/api/replicate.cjs.map +1 -1
- package/_cjs/collection/immutable/Conc/api.cjs +801 -1039
- package/_cjs/collection/immutable/Conc/api.cjs.map +1 -1
- package/_cjs/collection/immutable/Conc/constructors.cjs +0 -14
- package/_cjs/collection/immutable/Conc/constructors.cjs.map +1 -1
- package/_cjs/collection/immutable/Conc/definition.cjs +76 -273
- package/_cjs/collection/immutable/Conc/definition.cjs.map +1 -1
- package/_cjs/collection/immutable/Conc.cjs +0 -25
- package/_cjs/collection/immutable/Conc.cjs.map +1 -1
- package/_cjs/collection/immutable/Dictionary/api.cjs +57 -70
- package/_cjs/collection/immutable/Dictionary/api.cjs.map +1 -1
- package/_cjs/collection/immutable/Dictionary/definition.cjs +0 -4
- package/_cjs/collection/immutable/Dictionary/definition.cjs.map +1 -1
- package/_cjs/collection/immutable/Dictionary.cjs +28 -0
- package/_cjs/collection/immutable/Dictionary.cjs.map +1 -0
- package/_cjs/collection/immutable/HashMap/api.cjs +371 -432
- package/_cjs/collection/immutable/HashMap/api.cjs.map +1 -1
- package/_cjs/collection/immutable/HashMap/definition.cjs +20 -43
- package/_cjs/collection/immutable/HashMap/definition.cjs.map +1 -1
- package/_cjs/collection/immutable/HashMap/internal.cjs +3 -88
- package/_cjs/collection/immutable/HashMap/internal.cjs.map +1 -1
- package/_cjs/collection/immutable/HashMap.cjs +0 -4
- package/_cjs/collection/immutable/HashMap.cjs.map +1 -1
- package/_cjs/collection/immutable/HashSet/api.cjs +283 -339
- package/_cjs/collection/immutable/HashSet/api.cjs.map +1 -1
- package/_cjs/collection/immutable/HashSet/definition.cjs +18 -92
- package/_cjs/collection/immutable/HashSet/definition.cjs.map +1 -1
- package/_cjs/collection/immutable/HashSet.cjs +0 -4
- package/_cjs/collection/immutable/HashSet.cjs.map +1 -1
- package/_cjs/collection/immutable/ImmutableArray/api/chunksOf.cjs +6 -9
- package/_cjs/collection/immutable/ImmutableArray/api/chunksOf.cjs.map +1 -1
- package/_cjs/collection/immutable/ImmutableArray/api/slice.cjs +6 -8
- package/_cjs/collection/immutable/ImmutableArray/api/slice.cjs.map +1 -1
- package/_cjs/collection/immutable/ImmutableArray/api/splitAt.cjs +6 -8
- package/_cjs/collection/immutable/ImmutableArray/api/splitAt.cjs.map +1 -1
- package/_cjs/collection/immutable/ImmutableArray/api/splitWhere.cjs +14 -19
- package/_cjs/collection/immutable/ImmutableArray/api/splitWhere.cjs.map +1 -1
- package/_cjs/collection/immutable/ImmutableArray/api.cjs +939 -1138
- package/_cjs/collection/immutable/ImmutableArray/api.cjs.map +1 -1
- package/_cjs/collection/immutable/ImmutableArray/constructors.cjs +0 -18
- package/_cjs/collection/immutable/ImmutableArray/constructors.cjs.map +1 -1
- package/_cjs/collection/immutable/ImmutableArray/definition.cjs +4 -21
- package/_cjs/collection/immutable/ImmutableArray/definition.cjs.map +1 -1
- package/_cjs/collection/immutable/ImmutableArray/instances.cjs +49 -63
- package/_cjs/collection/immutable/ImmutableArray/instances.cjs.map +1 -1
- package/_cjs/collection/immutable/ImmutableArray.cjs +0 -29
- package/_cjs/collection/immutable/ImmutableArray.cjs.map +1 -1
- package/_cjs/collection/immutable/ImmutableNonEmptyArray/api.cjs +335 -420
- package/_cjs/collection/immutable/ImmutableNonEmptyArray/api.cjs.map +1 -1
- package/_cjs/collection/immutable/ImmutableNonEmptyArray/constructors.cjs +0 -24
- package/_cjs/collection/immutable/ImmutableNonEmptyArray/constructors.cjs.map +1 -1
- package/_cjs/collection/immutable/ImmutableNonEmptyArray/definition.cjs +0 -9
- package/_cjs/collection/immutable/ImmutableNonEmptyArray/definition.cjs.map +1 -1
- package/_cjs/collection/immutable/ImmutableNonEmptyArray/destructors.cjs +2 -19
- package/_cjs/collection/immutable/ImmutableNonEmptyArray/destructors.cjs.map +1 -1
- package/_cjs/collection/immutable/ImmutableNonEmptyArray/instances.cjs +24 -33
- package/_cjs/collection/immutable/ImmutableNonEmptyArray/instances.cjs.map +1 -1
- package/_cjs/collection/immutable/ImmutableNonEmptyArray.cjs +0 -23
- package/_cjs/collection/immutable/ImmutableNonEmptyArray.cjs.map +1 -1
- package/_cjs/collection/immutable/List/api/foldLeft.cjs +12 -16
- package/_cjs/collection/immutable/List/api/foldLeft.cjs.map +1 -1
- package/_cjs/collection/immutable/List/api/unsafeTail.cjs +0 -6
- package/_cjs/collection/immutable/List/api/unsafeTail.cjs.map +1 -1
- package/_cjs/collection/immutable/List/api.cjs +167 -239
- package/_cjs/collection/immutable/List/api.cjs.map +1 -1
- package/_cjs/collection/immutable/List/constructors.cjs +1 -19
- package/_cjs/collection/immutable/List/constructors.cjs.map +1 -1
- package/_cjs/collection/immutable/List/definition.cjs +2 -25
- package/_cjs/collection/immutable/List/definition.cjs.map +1 -1
- package/_cjs/collection/immutable/List.cjs +0 -10
- package/_cjs/collection/immutable/List.cjs.map +1 -1
- package/_cjs/collection/immutable/Queue/api.cjs +87 -118
- package/_cjs/collection/immutable/Queue/api.cjs.map +1 -1
- package/_cjs/collection/immutable/Queue/constructors.cjs +0 -8
- package/_cjs/collection/immutable/Queue/constructors.cjs.map +1 -1
- package/_cjs/collection/immutable/Queue/definition.cjs +3 -13
- package/_cjs/collection/immutable/Queue/definition.cjs.map +1 -1
- package/_cjs/collection/immutable/Queue/guards.cjs +2 -6
- package/_cjs/collection/immutable/Queue/guards.cjs.map +1 -1
- package/_cjs/collection/immutable/Queue.cjs +0 -8
- package/_cjs/collection/immutable/Queue.cjs.map +1 -1
- package/_cjs/collection/immutable/RoseTree/api.cjs +76 -118
- package/_cjs/collection/immutable/RoseTree/api.cjs.map +1 -1
- package/_cjs/collection/immutable/RoseTree/definition.cjs +4 -19
- package/_cjs/collection/immutable/RoseTree/definition.cjs.map +1 -1
- package/_cjs/collection/immutable/RoseTree.cjs +0 -4
- package/_cjs/collection/immutable/RoseTree.cjs.map +1 -1
- package/_cjs/collection/immutable/SortedMap/api.cjs +439 -536
- package/_cjs/collection/immutable/SortedMap/api.cjs.map +1 -1
- package/_cjs/collection/immutable/SortedMap/definition.cjs +4 -6
- package/_cjs/collection/immutable/SortedMap/definition.cjs.map +1 -1
- package/_cjs/collection/immutable/SortedMap/internal.cjs +55 -226
- package/_cjs/collection/immutable/SortedMap/internal.cjs.map +1 -1
- package/_cjs/collection/immutable/SortedMap/iterator.cjs +16 -107
- package/_cjs/collection/immutable/SortedMap/iterator.cjs.map +1 -1
- package/_cjs/collection/immutable/SortedMap/node.cjs +0 -3
- package/_cjs/collection/immutable/SortedMap/node.cjs.map +1 -1
- package/_cjs/collection/immutable/SortedMap.cjs +0 -10
- package/_cjs/collection/immutable/SortedMap.cjs.map +1 -1
- package/_cjs/collection/immutable/Vector/api.cjs +751 -885
- package/_cjs/collection/immutable/Vector/api.cjs.map +1 -1
- package/_cjs/collection/immutable/Vector/definition.cjs +27 -50
- package/_cjs/collection/immutable/Vector/definition.cjs.map +1 -1
- package/_cjs/collection/immutable/Vector/internal.cjs +79 -398
- package/_cjs/collection/immutable/Vector/internal.cjs.map +1 -1
- package/_cjs/collection/immutable/Vector.cjs +0 -4
- package/_cjs/collection/immutable/Vector.cjs.map +1 -1
- package/_cjs/collection/mutable/HashMap.cjs +10 -89
- package/_cjs/collection/mutable/HashMap.cjs.map +1 -1
- package/_cjs/collection/mutable/HashSet.cjs +6 -67
- package/_cjs/collection/mutable/HashSet.cjs.map +1 -1
- package/_cjs/collection/mutable/ListBuffer.cjs +3 -35
- package/_cjs/collection/mutable/ListBuffer.cjs.map +1 -1
- package/_cjs/collection/mutable/internal.cjs +0 -8
- package/_cjs/collection/mutable/internal.cjs.map +1 -1
- package/_cjs/collection/weak/IterableWeakMap.cjs +6 -32
- package/_cjs/collection/weak/IterableWeakMap.cjs.map +1 -1
- package/_cjs/collection/weak/IterableWeakSet.cjs +6 -28
- package/_cjs/collection/weak/IterableWeakSet.cjs.map +1 -1
- package/_cjs/control/Eval/api/sequenceArray.cjs +0 -5
- package/_cjs/control/Eval/api/sequenceArray.cjs.map +1 -1
- package/_cjs/control/Eval/api.cjs +56 -76
- package/_cjs/control/Eval/api.cjs.map +1 -1
- package/_cjs/control/Eval/constructors.cjs +0 -9
- package/_cjs/control/Eval/constructors.cjs.map +1 -1
- package/_cjs/control/Eval/definition.cjs +5 -23
- package/_cjs/control/Eval/definition.cjs.map +1 -1
- package/_cjs/control/Eval/instance.cjs +6 -13
- package/_cjs/control/Eval/instance.cjs.map +1 -1
- package/_cjs/control/Eval/run.cjs +5 -28
- package/_cjs/control/Eval/run.cjs.map +1 -1
- package/_cjs/control/Eval.cjs +0 -10
- package/_cjs/control/Eval.cjs.map +1 -1
- package/_cjs/control/LazyValue.cjs +0 -6
- package/_cjs/control/LazyValue.cjs.map +1 -1
- package/_cjs/control/Z/api.cjs +241 -306
- package/_cjs/control/Z/api.cjs.map +1 -1
- package/_cjs/control/Z/definition.cjs +13 -84
- package/_cjs/control/Z/definition.cjs.map +1 -1
- package/_cjs/control/Z/instances.cjs +3 -8
- package/_cjs/control/Z/instances.cjs.map +1 -1
- package/_cjs/control/Z/runtime.cjs +206 -290
- package/_cjs/control/Z/runtime.cjs.map +1 -1
- package/_cjs/control/Z.cjs +0 -8
- package/_cjs/control/Z.cjs.map +1 -1
- package/_cjs/data/Branded/definition.cjs +0 -5
- package/_cjs/data/Branded/definition.cjs.map +1 -1
- package/_cjs/data/Branded.cjs +0 -15
- package/_cjs/data/Branded.cjs.map +1 -1
- package/_cjs/data/CaseClass.cjs +13 -45
- package/_cjs/data/CaseClass.cjs.map +1 -1
- package/_cjs/data/Cause/api/fold.cjs +31 -75
- package/_cjs/data/Cause/api/fold.cjs.map +1 -1
- package/_cjs/data/Cause/api/isEmpty.cjs +7 -33
- package/_cjs/data/Cause/api/isEmpty.cjs.map +1 -1
- package/_cjs/data/Cause/api/linearize.cjs +9 -16
- package/_cjs/data/Cause/api/linearize.cjs.map +1 -1
- package/_cjs/data/Cause/api/prettyPrint.cjs +1 -14
- package/_cjs/data/Cause/api/prettyPrint.cjs.map +1 -1
- package/_cjs/data/Cause/api/unified.cjs +14 -54
- package/_cjs/data/Cause/api/unified.cjs.map +1 -1
- package/_cjs/data/Cause/api.cjs +221 -543
- package/_cjs/data/Cause/api.cjs.map +1 -1
- package/_cjs/data/Cause/definition.cjs +63 -300
- package/_cjs/data/Cause/definition.cjs.map +1 -1
- package/_cjs/data/Cause.cjs +0 -14
- package/_cjs/data/Cause.cjs.map +1 -1
- package/_cjs/data/Const/api.cjs +8 -10
- package/_cjs/data/Const/api.cjs.map +1 -1
- package/_cjs/data/Const/definition.cjs +0 -3
- package/_cjs/data/Const/definition.cjs.map +1 -1
- package/_cjs/data/Const/instances.cjs +6 -14
- package/_cjs/data/Const/instances.cjs.map +1 -1
- package/_cjs/data/Const.cjs +0 -6
- package/_cjs/data/Const.cjs.map +1 -1
- package/_cjs/data/Datum/api.cjs +200 -279
- package/_cjs/data/Datum/api.cjs.map +1 -1
- package/_cjs/data/Datum/definition.cjs +10 -50
- package/_cjs/data/Datum/definition.cjs.map +1 -1
- package/_cjs/data/Datum/instances.cjs +0 -9
- package/_cjs/data/Datum/instances.cjs.map +1 -1
- package/_cjs/data/DatumEither/api.cjs +161 -224
- package/_cjs/data/DatumEither/api.cjs.map +1 -1
- package/_cjs/data/DatumEither/definition.cjs.map +1 -1
- package/_cjs/data/DecodeError/definition.cjs +15 -96
- package/_cjs/data/DecodeError/definition.cjs.map +1 -1
- package/_cjs/data/DecodeError.cjs +0 -4
- package/_cjs/data/DecodeError.cjs.map +1 -1
- package/_cjs/data/Decoder/api.cjs +431 -76
- package/_cjs/data/Decoder/api.cjs.map +1 -1
- package/_cjs/data/Decoder/definition.cjs +0 -6
- package/_cjs/data/Decoder/definition.cjs.map +1 -1
- package/_cjs/data/Decoder.cjs +0 -4
- package/_cjs/data/Decoder.cjs.map +1 -1
- package/_cjs/data/Duration/api.cjs +24 -36
- package/_cjs/data/Duration/api.cjs.map +1 -1
- package/_cjs/data/Duration/definition.cjs +3 -17
- package/_cjs/data/Duration/definition.cjs.map +1 -1
- package/_cjs/data/Duration.cjs +0 -4
- package/_cjs/data/Duration.cjs.map +1 -1
- package/_cjs/data/Either/api/align.cjs +8 -8
- package/_cjs/data/Either/api/align.cjs.map +1 -1
- package/_cjs/data/Either/api/alignWith.cjs +8 -18
- package/_cjs/data/Either/api/alignWith.cjs.map +1 -1
- package/_cjs/data/Either/api.cjs +171 -262
- package/_cjs/data/Either/api.cjs.map +1 -1
- package/_cjs/data/Either/constructors.cjs +11 -28
- package/_cjs/data/Either/constructors.cjs.map +1 -1
- package/_cjs/data/Either/definition.cjs +4 -23
- package/_cjs/data/Either/definition.cjs.map +1 -1
- package/_cjs/data/Either/destructors.cjs +12 -17
- package/_cjs/data/Either/destructors.cjs.map +1 -1
- package/_cjs/data/Either/instances.cjs +21 -74
- package/_cjs/data/Either/instances.cjs.map +1 -1
- package/_cjs/data/Either.cjs +0 -10
- package/_cjs/data/Either.cjs.map +1 -1
- package/_cjs/data/EitherT/api.cjs +8 -32
- package/_cjs/data/EitherT/api.cjs.map +1 -1
- package/_cjs/data/EitherT/definition.cjs.map +1 -1
- package/_cjs/data/Encoder/api.cjs +324 -0
- package/_cjs/data/Encoder/api.cjs.map +1 -0
- package/_cjs/data/Encoder/definition.cjs +21 -0
- package/_cjs/data/Encoder/definition.cjs.map +1 -0
- package/_cjs/data/Encoder.cjs +28 -0
- package/_cjs/data/Encoder.cjs.map +1 -0
- package/_cjs/data/Environment/api.cjs +47 -65
- package/_cjs/data/Environment/api.cjs.map +1 -1
- package/_cjs/data/Environment/definition.cjs +5 -21
- package/_cjs/data/Environment/definition.cjs.map +1 -1
- package/_cjs/data/Environment.cjs +0 -4
- package/_cjs/data/Environment.cjs.map +1 -1
- package/_cjs/data/EnvironmentPatch.cjs +31 -93
- package/_cjs/data/EnvironmentPatch.cjs.map +1 -1
- package/_cjs/{typeclass → data}/Eq/definition.cjs +2 -4
- package/_cjs/data/Eq/definition.cjs.map +1 -0
- package/_cjs/{typeclass → data}/Eq/derivations.cjs +9 -18
- package/_cjs/data/Eq/derivations.cjs.map +1 -0
- package/_cjs/{typeclass → data}/Eq.cjs +0 -2
- package/_cjs/data/Eq.cjs.map +1 -0
- package/_cjs/{typeclass → data}/Equatable/api.cjs +2 -10
- package/_cjs/data/Equatable/api.cjs.map +1 -0
- package/_cjs/{typeclass → data}/Equatable/definition.cjs +0 -6
- package/_cjs/data/Equatable/definition.cjs.map +1 -0
- package/_cjs/{typeclass → data}/Equatable/fast-equals.cjs +1 -83
- package/_cjs/data/Equatable/fast-equals.cjs.map +1 -0
- package/_cjs/{typeclass → data}/Equatable.cjs +0 -6
- package/_cjs/data/Equatable.cjs.map +1 -0
- package/_cjs/data/ExecutionStrategy.cjs +20 -37
- package/_cjs/data/ExecutionStrategy.cjs.map +1 -1
- package/_cjs/data/Exit/api.cjs +143 -178
- package/_cjs/data/Exit/api.cjs.map +1 -1
- package/_cjs/data/Exit/constructors.cjs +4 -26
- package/_cjs/data/Exit/constructors.cjs.map +1 -1
- package/_cjs/data/Exit/definition.cjs +8 -48
- package/_cjs/data/Exit/definition.cjs.map +1 -1
- package/_cjs/data/Exit.cjs +0 -6
- package/_cjs/data/Exit.cjs.map +1 -1
- package/_cjs/data/FiberId/api.cjs +24 -38
- package/_cjs/data/FiberId/api.cjs.map +1 -1
- package/_cjs/data/FiberId/constructors.cjs +5 -19
- package/_cjs/data/FiberId/constructors.cjs.map +1 -1
- package/_cjs/data/FiberId/definition.cjs +7 -38
- package/_cjs/data/FiberId/definition.cjs.map +1 -1
- package/_cjs/data/FiberId.cjs +0 -6
- package/_cjs/data/FiberId.cjs.map +1 -1
- package/_cjs/data/Guard/api.cjs +419 -0
- package/_cjs/data/Guard/api.cjs.map +1 -0
- package/_cjs/{typeclass → data}/Guard/definition.cjs +0 -6
- package/_cjs/data/Guard/definition.cjs.map +1 -0
- package/_cjs/{typeclass → data}/Guard.cjs +0 -4
- package/_cjs/data/Guard.cjs.map +1 -0
- package/_cjs/{typeclass → data}/Hash.cjs +0 -2
- package/_cjs/data/Hash.cjs.map +1 -0
- package/_cjs/{typeclass → data}/HashEq.cjs +14 -25
- package/_cjs/data/HashEq.cjs.map +1 -0
- package/_cjs/{typeclass → data}/Hashable/definition.cjs +0 -6
- package/_cjs/data/Hashable/definition.cjs.map +1 -0
- package/_cjs/{typeclass → data}/Hashable/hash.cjs +3 -65
- package/_cjs/data/Hashable/hash.cjs.map +1 -0
- package/_cjs/{typeclass → data}/Hashable.cjs +0 -4
- package/_cjs/data/Hashable.cjs.map +1 -0
- package/_cjs/data/Identity/api.cjs +26 -35
- package/_cjs/data/Identity/api.cjs.map +1 -1
- package/_cjs/data/Identity/definition.cjs +0 -4
- package/_cjs/data/Identity/definition.cjs.map +1 -1
- package/_cjs/data/Identity/instances.cjs +7 -12
- package/_cjs/data/Identity/instances.cjs.map +1 -1
- package/_cjs/data/Identity.cjs +0 -6
- package/_cjs/data/Identity.cjs.map +1 -1
- package/_cjs/data/Interval.cjs +46 -67
- package/_cjs/data/Interval.cjs.map +1 -1
- package/_cjs/data/Intervals.cjs +45 -76
- package/_cjs/data/Intervals.cjs.map +1 -1
- package/_cjs/data/Maybe/api.cjs +126 -171
- package/_cjs/data/Maybe/api.cjs.map +1 -1
- package/_cjs/data/Maybe/constructors.cjs +2 -26
- package/_cjs/data/Maybe/constructors.cjs.map +1 -1
- package/_cjs/data/Maybe/definition.cjs +10 -51
- package/_cjs/data/Maybe/definition.cjs.map +1 -1
- package/_cjs/data/Maybe/destructors.cjs +7 -8
- package/_cjs/data/Maybe/destructors.cjs.map +1 -1
- package/_cjs/data/Maybe/instances.cjs +41 -35
- package/_cjs/data/Maybe/instances.cjs.map +1 -1
- package/_cjs/data/Maybe.cjs +0 -10
- package/_cjs/data/Maybe.cjs.map +1 -1
- package/_cjs/data/Newtype.cjs +0 -7
- package/_cjs/data/Newtype.cjs.map +1 -1
- package/_cjs/data/Ord/api/contramap.cjs +18 -0
- package/_cjs/data/Ord/api/contramap.cjs.map +1 -0
- package/_cjs/{typeclass → data}/Ord/api/max.cjs +3 -4
- package/_cjs/data/Ord/api/max.cjs.map +1 -0
- package/_cjs/{typeclass → data}/Ord/api/min.cjs +3 -4
- package/_cjs/data/Ord/api/min.cjs.map +1 -0
- package/_cjs/{typeclass → data}/Ord/api.cjs +0 -6
- package/_cjs/data/Ord/api.cjs.map +1 -0
- package/_cjs/{typeclass → data}/Ord/definition.cjs +5 -12
- package/_cjs/data/Ord/definition.cjs.map +1 -0
- package/_cjs/{typeclass → data}/Ord/instances.cjs +13 -23
- package/_cjs/data/Ord/instances.cjs.map +1 -0
- package/_cjs/{typeclass → data}/Ord.cjs +0 -6
- package/_cjs/data/Ord.cjs.map +1 -0
- package/_cjs/{typeclass → data}/Ordering.cjs +0 -9
- package/_cjs/data/Ordering.cjs.map +1 -0
- package/_cjs/data/Predicate/api.cjs +10 -15
- package/_cjs/data/Predicate/api.cjs.map +1 -1
- package/_cjs/data/Predicate.cjs +0 -4
- package/_cjs/data/Predicate.cjs.map +1 -1
- package/_cjs/data/Refinement/api.cjs +15 -16
- package/_cjs/data/Refinement/api.cjs.map +1 -1
- package/_cjs/data/Refinement.cjs +0 -4
- package/_cjs/data/Refinement.cjs.map +1 -1
- package/_cjs/{typeclass → data}/Showable/definition.cjs +4 -11
- package/_cjs/data/Showable/definition.cjs.map +1 -0
- package/_cjs/{typeclass → data}/Showable/show.cjs +118 -271
- package/_cjs/data/Showable/show.cjs.map +1 -0
- package/_cjs/{typeclass → data}/Showable/styles.cjs +0 -6
- package/_cjs/data/Showable/styles.cjs.map +1 -0
- package/_cjs/{typeclass → data}/Showable/util.cjs +51 -113
- package/_cjs/data/Showable/util.cjs.map +1 -0
- package/_cjs/{typeclass → data}/Showable.cjs +0 -4
- package/_cjs/data/Showable.cjs.map +1 -0
- package/_cjs/data/Struct/api.cjs +65 -85
- package/_cjs/data/Struct/api.cjs.map +1 -1
- package/_cjs/data/Struct/definition.cjs +0 -4
- package/_cjs/data/Struct/definition.cjs.map +1 -1
- package/_cjs/data/Tag/constructors.cjs +1 -7
- package/_cjs/data/Tag/constructors.cjs.map +1 -1
- package/_cjs/data/Tag/definition.cjs +3 -21
- package/_cjs/data/Tag/definition.cjs.map +1 -1
- package/_cjs/data/Tag.cjs +0 -4
- package/_cjs/data/Tag.cjs.map +1 -1
- package/_cjs/data/These/api.cjs +119 -226
- package/_cjs/data/These/api.cjs.map +1 -1
- package/_cjs/data/These/constructors.cjs +1 -13
- package/_cjs/data/These/constructors.cjs.map +1 -1
- package/_cjs/data/These/definition.cjs +3 -27
- package/_cjs/data/These/definition.cjs.map +1 -1
- package/_cjs/data/These/destructors.cjs +24 -52
- package/_cjs/data/These/destructors.cjs.map +1 -1
- package/_cjs/data/These/instances.cjs +2 -16
- package/_cjs/data/These/instances.cjs.map +1 -1
- package/_cjs/data/These.cjs +0 -10
- package/_cjs/data/These.cjs.map +1 -1
- package/_cjs/data/Trace/api.cjs +7 -14
- package/_cjs/data/Trace/api.cjs.map +1 -1
- package/_cjs/data/Trace/constructors.cjs +0 -8
- package/_cjs/data/Trace/constructors.cjs.map +1 -1
- package/_cjs/data/Trace/definition.cjs +0 -3
- package/_cjs/data/Trace/definition.cjs.map +1 -1
- package/_cjs/data/Trace.cjs +0 -6
- package/_cjs/data/Trace.cjs.map +1 -1
- package/_cjs/data/TraceElement/definition.cjs +0 -11
- package/_cjs/data/TraceElement/definition.cjs.map +1 -1
- package/_cjs/data/TraceElement.cjs +0 -2
- package/_cjs/data/TraceElement.cjs.map +1 -1
- package/_cjs/data/Zipped.cjs +2 -13
- package/_cjs/data/Zipped.cjs.map +1 -1
- package/_cjs/data/bigint/instances.cjs +2 -7
- package/_cjs/data/bigint/instances.cjs.map +1 -1
- package/_cjs/data/bigint.cjs +0 -4
- package/_cjs/data/bigint.cjs.map +1 -1
- package/_cjs/data/boolean/instances.cjs +2 -7
- package/_cjs/data/boolean/instances.cjs.map +1 -1
- package/_cjs/data/boolean.cjs +0 -4
- package/_cjs/data/boolean.cjs.map +1 -1
- package/_cjs/data/exceptions/ArrayIndexOutOfBoundsError.cjs +0 -3
- package/_cjs/data/exceptions/ArrayIndexOutOfBoundsError.cjs.map +1 -1
- package/_cjs/data/exceptions/IllegalArgumentError.cjs +0 -3
- package/_cjs/data/exceptions/IllegalArgumentError.cjs.map +1 -1
- package/_cjs/data/exceptions/IllegalStateError.cjs +0 -3
- package/_cjs/data/exceptions/IllegalStateError.cjs.map +1 -1
- package/_cjs/data/exceptions/IndexOutOfBoundsError.cjs +0 -3
- package/_cjs/data/exceptions/IndexOutOfBoundsError.cjs.map +1 -1
- package/_cjs/data/exceptions/InterruptedException.cjs +0 -6
- package/_cjs/data/exceptions/InterruptedException.cjs.map +1 -1
- package/_cjs/data/exceptions/InvalidCapacityError.cjs +0 -4
- package/_cjs/data/exceptions/InvalidCapacityError.cjs.map +1 -1
- package/_cjs/data/exceptions/NoSuchElementError.cjs +0 -3
- package/_cjs/data/exceptions/NoSuchElementError.cjs.map +1 -1
- package/_cjs/data/exceptions.cjs +0 -16
- package/_cjs/data/exceptions.cjs.map +1 -1
- package/_cjs/data/function/api.cjs +6 -15
- package/_cjs/data/function/api.cjs.map +1 -1
- package/_cjs/data/function/pipe.cjs +8 -21
- package/_cjs/data/function/pipe.cjs.map +1 -1
- package/_cjs/data/function.cjs +0 -6
- package/_cjs/data/function.cjs.map +1 -1
- package/_cjs/data/number/api.cjs +0 -1
- package/_cjs/data/number/api.cjs.map +1 -1
- package/_cjs/data/number/instances.cjs +10 -19
- package/_cjs/data/number/instances.cjs.map +1 -1
- package/_cjs/data/number.cjs +0 -6
- package/_cjs/data/number.cjs.map +1 -1
- package/_cjs/data/object/instances.cjs +1 -16
- package/_cjs/data/object/instances.cjs.map +1 -1
- package/_cjs/data/object.cjs +0 -4
- package/_cjs/data/object.cjs.map +1 -1
- package/_cjs/data/string/api.cjs +54 -130
- package/_cjs/data/string/api.cjs.map +1 -1
- package/_cjs/data/string/instances.cjs +11 -24
- package/_cjs/data/string/instances.cjs.map +1 -1
- package/_cjs/data/string.cjs +0 -6
- package/_cjs/data/string.cjs.map +1 -1
- package/_cjs/global/api.cjs +4 -3
- package/_cjs/global/api.cjs.map +1 -1
- package/_cjs/internal/AtomicBoolean.cjs +0 -4
- package/_cjs/internal/AtomicBoolean.cjs.map +1 -1
- package/_cjs/internal/AtomicNumber.cjs +0 -7
- package/_cjs/internal/AtomicNumber.cjs.map +1 -1
- package/_cjs/internal/AtomicReference.cjs +0 -8
- package/_cjs/internal/AtomicReference.cjs.map +1 -1
- package/_cjs/internal/Stack.cjs +2 -15
- package/_cjs/internal/Stack.cjs.map +1 -1
- package/_cjs/json/EitherJson.cjs +1 -7
- package/_cjs/json/EitherJson.cjs.map +1 -1
- package/_cjs/json/MaybeJson.cjs +1 -7
- package/_cjs/json/MaybeJson.cjs.map +1 -1
- package/_cjs/json/TheseJson.cjs +1 -7
- package/_cjs/json/TheseJson.cjs.map +1 -1
- package/_cjs/optics/At/api.cjs +1 -6
- package/_cjs/optics/At/api.cjs.map +1 -1
- package/_cjs/optics/At/definition.cjs +2 -9
- package/_cjs/optics/At/definition.cjs.map +1 -1
- package/_cjs/optics/At.cjs +0 -4
- package/_cjs/optics/At.cjs.map +1 -1
- package/_cjs/optics/Fold/definition.cjs +3 -6
- package/_cjs/optics/Fold/definition.cjs.map +1 -1
- package/_cjs/optics/Fold.cjs +0 -2
- package/_cjs/optics/Fold.cjs.map +1 -1
- package/_cjs/optics/Getter/definition.cjs +2 -5
- package/_cjs/optics/Getter/definition.cjs.map +1 -1
- package/_cjs/optics/Getter.cjs +0 -2
- package/_cjs/optics/Getter.cjs.map +1 -1
- package/_cjs/optics/Index/api.cjs +4 -12
- package/_cjs/optics/Index/api.cjs.map +1 -1
- package/_cjs/optics/Index/definition.cjs +2 -4
- package/_cjs/optics/Index/definition.cjs.map +1 -1
- package/_cjs/optics/Index.cjs +0 -4
- package/_cjs/optics/Index.cjs.map +1 -1
- package/_cjs/optics/Iso/api.cjs +9 -12
- package/_cjs/optics/Iso/api.cjs.map +1 -1
- package/_cjs/optics/Iso/definition.cjs +13 -25
- package/_cjs/optics/Iso/definition.cjs.map +1 -1
- package/_cjs/optics/Iso.cjs +0 -4
- package/_cjs/optics/Iso.cjs.map +1 -1
- package/_cjs/optics/Lens/api.cjs +53 -78
- package/_cjs/optics/Lens/api.cjs.map +1 -1
- package/_cjs/optics/Lens/definition.cjs +11 -23
- package/_cjs/optics/Lens/definition.cjs.map +1 -1
- package/_cjs/optics/Lens.cjs +0 -4
- package/_cjs/optics/Lens.cjs.map +1 -1
- package/_cjs/optics/Optional/api/compose.cjs +9 -13
- package/_cjs/optics/Optional/api/compose.cjs.map +1 -1
- package/_cjs/optics/Optional/definition.cjs +11 -27
- package/_cjs/optics/Optional/definition.cjs.map +1 -1
- package/_cjs/optics/Optional.cjs +0 -4
- package/_cjs/optics/Optional.cjs.map +1 -1
- package/_cjs/optics/Prism/api/compose.cjs +9 -14
- package/_cjs/optics/Prism/api/compose.cjs.map +1 -1
- package/_cjs/optics/Prism/api/fromNullable.cjs +2 -8
- package/_cjs/optics/Prism/api/fromNullable.cjs.map +1 -1
- package/_cjs/optics/Prism/api/just.cjs +2 -9
- package/_cjs/optics/Prism/api/just.cjs.map +1 -1
- package/_cjs/optics/Prism/definition.cjs +9 -21
- package/_cjs/optics/Prism/definition.cjs.map +1 -1
- package/_cjs/optics/Prism.cjs +0 -8
- package/_cjs/optics/Prism.cjs.map +1 -1
- package/_cjs/optics/Setter/definition.cjs +8 -17
- package/_cjs/optics/Setter/definition.cjs.map +1 -1
- package/_cjs/optics/Setter.cjs +0 -2
- package/_cjs/optics/Setter.cjs.map +1 -1
- package/_cjs/optics/Traversal/api/compose.cjs +8 -10
- package/_cjs/optics/Traversal/api/compose.cjs.map +1 -1
- package/_cjs/optics/Traversal/api/fromTraversable.cjs +2 -6
- package/_cjs/optics/Traversal/api/fromTraversable.cjs.map +1 -1
- package/_cjs/optics/Traversal/definition.cjs +12 -28
- package/_cjs/optics/Traversal/definition.cjs.map +1 -1
- package/_cjs/optics/Traversal.cjs +0 -6
- package/_cjs/optics/Traversal.cjs.map +1 -1
- package/_cjs/typeclass/Align.cjs.map +1 -1
- package/_cjs/typeclass/Alt.cjs.map +1 -1
- package/_cjs/typeclass/Alternative.cjs.map +1 -1
- package/_cjs/typeclass/Applicative.cjs.map +1 -1
- package/_cjs/typeclass/ApplicativeExcept.cjs +5 -18
- package/_cjs/typeclass/ApplicativeExcept.cjs.map +1 -1
- package/_cjs/typeclass/Apply.cjs +15 -47
- package/_cjs/typeclass/Apply.cjs.map +1 -1
- package/_cjs/typeclass/Chain.cjs +4 -13
- package/_cjs/typeclass/Chain.cjs.map +1 -1
- package/_cjs/typeclass/Closure.cjs +2 -4
- package/_cjs/typeclass/Closure.cjs.map +1 -1
- package/_cjs/typeclass/Filterable.cjs.map +1 -1
- package/_cjs/typeclass/FilterableWithIndex.cjs.map +1 -1
- package/_cjs/typeclass/Foldable.cjs +1 -3
- package/_cjs/typeclass/Foldable.cjs.map +1 -1
- package/_cjs/typeclass/FoldableWithIndex.cjs +1 -3
- package/_cjs/typeclass/FoldableWithIndex.cjs.map +1 -1
- package/_cjs/typeclass/Functor.cjs +0 -2
- package/_cjs/typeclass/Functor.cjs.map +1 -1
- package/_cjs/typeclass/FunctorWithIndex.cjs.map +1 -1
- package/_cjs/typeclass/Has.cjs +8 -6
- package/_cjs/typeclass/Has.cjs.map +1 -1
- package/_cjs/typeclass/Monad.cjs.map +1 -1
- package/_cjs/typeclass/MonadExcept.cjs +1 -6
- package/_cjs/typeclass/MonadExcept.cjs.map +1 -1
- package/_cjs/typeclass/Monoid.cjs +6 -23
- package/_cjs/typeclass/Monoid.cjs.map +1 -1
- package/_cjs/typeclass/Pointed.cjs.map +1 -1
- package/_cjs/typeclass/Semialign.cjs +7 -25
- package/_cjs/typeclass/Semialign.cjs.map +1 -1
- package/_cjs/typeclass/Semigroup/api.cjs +6 -14
- package/_cjs/typeclass/Semigroup/api.cjs.map +1 -1
- package/_cjs/typeclass/Semigroup/definition.cjs +3 -6
- package/_cjs/typeclass/Semigroup/definition.cjs.map +1 -1
- package/_cjs/typeclass/Semigroup/derivations.cjs +7 -18
- package/_cjs/typeclass/Semigroup/derivations.cjs.map +1 -1
- package/_cjs/typeclass/Semigroup.cjs +0 -4
- package/_cjs/typeclass/Semigroup.cjs.map +1 -1
- package/_cjs/typeclass/Semimonoidal.cjs.map +1 -1
- package/_cjs/typeclass/Traversable.cjs +1 -7
- package/_cjs/typeclass/Traversable.cjs.map +1 -1
- package/_cjs/typeclass/TraversableWithIndex.cjs +0 -1
- package/_cjs/typeclass/TraversableWithIndex.cjs.map +1 -1
- package/_cjs/typeclass/Witherable.cjs +2 -7
- package/_cjs/typeclass/Witherable.cjs.map +1 -1
- package/_cjs/typeclass/WitherableWithIndex.cjs +2 -8
- package/_cjs/typeclass/WitherableWithIndex.cjs.map +1 -1
- package/_cjs/typeclass/builtin.cjs +0 -2
- package/_cjs/typeclass/builtin.cjs.map +1 -1
- package/_cjs/typeclass.cjs +95 -162
- package/_cjs/typeclass.cjs.map +1 -1
- package/_cjs/types.cjs +0 -6
- package/_cjs/types.cjs.map +1 -1
- package/_cjs/util/AnsiFormat.cjs +15 -57
- package/_cjs/util/AnsiFormat.cjs.map +1 -1
- package/_cjs/util/PCGRandom.cjs +16 -46
- package/_cjs/util/PCGRandom.cjs.map +1 -1
- package/_cjs/util/assert.cjs +0 -4
- package/_cjs/util/assert.cjs.map +1 -1
- package/_cjs/util/pattern.cjs +0 -4
- package/_cjs/util/pattern.cjs.map +1 -1
- package/_cjs/util/predicates.cjs +0 -32
- package/_cjs/util/predicates.cjs.map +1 -1
- package/_cjs/util/rand/Random.cjs +0 -21
- package/_cjs/util/rand/Random.cjs.map +1 -1
- package/_cjs/util/rand/distribution/UniformArrayIntDistribution.cjs +0 -5
- package/_cjs/util/rand/distribution/UniformArrayIntDistribution.cjs.map +1 -1
- package/_cjs/util/rand/distribution/UniformBigIntDistribution.cjs +4 -12
- package/_cjs/util/rand/distribution/UniformBigIntDistribution.cjs.map +1 -1
- package/_cjs/util/rand/distribution/UniformIntDistribution.cjs +0 -12
- package/_cjs/util/rand/distribution/UniformIntDistribution.cjs.map +1 -1
- package/_cjs/util/rand/distribution/internals/ArrayInt.cjs +6 -42
- package/_cjs/util/rand/distribution/internals/ArrayInt.cjs.map +1 -1
- package/_cjs/util/rand/distribution/internals/UniformArrayIntDistributionInternal.cjs +6 -10
- package/_cjs/util/rand/distribution/internals/UniformArrayIntDistributionInternal.cjs.map +1 -1
- package/_cjs/util/rand/distribution/internals/UniformIntDistributionInternal.cjs +8 -14
- package/_cjs/util/rand/distribution/internals/UniformIntDistributionInternal.cjs.map +1 -1
- package/_cjs/util/rand/generator/MersenneTwister.cjs +5 -25
- package/_cjs/util/rand/generator/MersenneTwister.cjs.map +1 -1
- package/_cjs/util/rand/generator/RandomGenerator.cjs +0 -4
- package/_cjs/util/rand/generator/RandomGenerator.cjs.map +1 -1
- package/_cjs/util/rand.cjs +0 -9
- package/_cjs/util/rand.cjs.map +1 -1
- package/_mjs/collection/Iterable/api/traverseConc.mjs +5 -10
- package/_mjs/collection/Iterable/api/traverseConc.mjs.map +1 -1
- package/_mjs/collection/Iterable/api.mjs +466 -551
- package/_mjs/collection/Iterable/api.mjs.map +1 -1
- package/_mjs/collection/Iterable/constructors.mjs +5 -20
- package/_mjs/collection/Iterable/constructors.mjs.map +1 -1
- package/_mjs/collection/Iterable/definition.mjs.map +1 -1
- package/_mjs/collection/Iterable.mjs.map +1 -1
- package/_mjs/collection/compat/Array/api.mjs +17 -21
- package/_mjs/collection/compat/Array/api.mjs.map +1 -1
- package/_mjs/collection/compat/Array/definition.mjs.map +1 -1
- package/_mjs/collection/compat/Array.mjs +0 -1
- package/_mjs/collection/compat/Array.mjs.map +1 -1
- package/_mjs/collection/compat/ArrayLike/api.mjs +3 -9
- package/_mjs/collection/compat/ArrayLike/api.mjs.map +1 -1
- package/_mjs/collection/immutable/Conc/api/empty.mjs +0 -1
- package/_mjs/collection/immutable/Conc/api/empty.mjs.map +1 -1
- package/_mjs/collection/immutable/Conc/api/makeBy.mjs +1 -5
- package/_mjs/collection/immutable/Conc/api/makeBy.mjs.map +1 -1
- package/_mjs/collection/immutable/Conc/api/replicate.mjs +0 -1
- package/_mjs/collection/immutable/Conc/api/replicate.mjs.map +1 -1
- package/_mjs/collection/immutable/Conc/api.mjs +733 -919
- package/_mjs/collection/immutable/Conc/api.mjs.map +1 -1
- package/_mjs/collection/immutable/Conc/constructors.mjs +0 -5
- package/_mjs/collection/immutable/Conc/constructors.mjs.map +1 -1
- package/_mjs/collection/immutable/Conc/definition.mjs +74 -242
- package/_mjs/collection/immutable/Conc/definition.mjs.map +1 -1
- package/_mjs/collection/immutable/Conc.mjs +1 -2
- package/_mjs/collection/immutable/Conc.mjs.map +1 -1
- package/_mjs/collection/immutable/Dictionary/api.mjs +47 -50
- package/_mjs/collection/immutable/Dictionary/api.mjs.map +1 -1
- package/_mjs/collection/immutable/Dictionary/definition.mjs.map +1 -1
- package/_mjs/collection/immutable/Dictionary.mjs +4 -0
- package/_mjs/collection/immutable/Dictionary.mjs.map +1 -0
- package/_mjs/collection/immutable/HashMap/api.mjs +328 -352
- package/_mjs/collection/immutable/HashMap/api.mjs.map +1 -1
- package/_mjs/collection/immutable/HashMap/definition.mjs +17 -28
- package/_mjs/collection/immutable/HashMap/definition.mjs.map +1 -1
- package/_mjs/collection/immutable/HashMap/internal.mjs +4 -66
- package/_mjs/collection/immutable/HashMap/internal.mjs.map +1 -1
- package/_mjs/collection/immutable/HashMap.mjs.map +1 -1
- package/_mjs/collection/immutable/HashSet/api.mjs +249 -275
- package/_mjs/collection/immutable/HashSet/api.mjs.map +1 -1
- package/_mjs/collection/immutable/HashSet/definition.mjs +14 -67
- package/_mjs/collection/immutable/HashSet/definition.mjs.map +1 -1
- package/_mjs/collection/immutable/HashSet.mjs.map +1 -1
- package/_mjs/collection/immutable/ImmutableArray/api/chunksOf.mjs +5 -4
- package/_mjs/collection/immutable/ImmutableArray/api/chunksOf.mjs.map +1 -1
- package/_mjs/collection/immutable/ImmutableArray/api/slice.mjs +5 -4
- package/_mjs/collection/immutable/ImmutableArray/api/slice.mjs.map +1 -1
- package/_mjs/collection/immutable/ImmutableArray/api/splitAt.mjs +5 -4
- package/_mjs/collection/immutable/ImmutableArray/api/splitAt.mjs.map +1 -1
- package/_mjs/collection/immutable/ImmutableArray/api/splitWhere.mjs +13 -14
- package/_mjs/collection/immutable/ImmutableArray/api/splitWhere.mjs.map +1 -1
- package/_mjs/collection/immutable/ImmutableArray/api.mjs +826 -942
- package/_mjs/collection/immutable/ImmutableArray/api.mjs.map +1 -1
- package/_mjs/collection/immutable/ImmutableArray/constructors.mjs +0 -10
- package/_mjs/collection/immutable/ImmutableArray/constructors.mjs.map +1 -1
- package/_mjs/collection/immutable/ImmutableArray/definition.mjs +4 -10
- package/_mjs/collection/immutable/ImmutableArray/definition.mjs.map +1 -1
- package/_mjs/collection/immutable/ImmutableArray/instances.mjs +50 -59
- package/_mjs/collection/immutable/ImmutableArray/instances.mjs.map +1 -1
- package/_mjs/collection/immutable/ImmutableArray.mjs +2 -3
- package/_mjs/collection/immutable/ImmutableArray.mjs.map +1 -1
- package/_mjs/collection/immutable/ImmutableNonEmptyArray/api.mjs +303 -355
- package/_mjs/collection/immutable/ImmutableNonEmptyArray/api.mjs.map +1 -1
- package/_mjs/collection/immutable/ImmutableNonEmptyArray/constructors.mjs +0 -12
- package/_mjs/collection/immutable/ImmutableNonEmptyArray/constructors.mjs.map +1 -1
- package/_mjs/collection/immutable/ImmutableNonEmptyArray/definition.mjs +0 -5
- package/_mjs/collection/immutable/ImmutableNonEmptyArray/definition.mjs.map +1 -1
- package/_mjs/collection/immutable/ImmutableNonEmptyArray/destructors.mjs +2 -12
- package/_mjs/collection/immutable/ImmutableNonEmptyArray/destructors.mjs.map +1 -1
- package/_mjs/collection/immutable/ImmutableNonEmptyArray/instances.mjs +25 -29
- package/_mjs/collection/immutable/ImmutableNonEmptyArray/instances.mjs.map +1 -1
- package/_mjs/collection/immutable/ImmutableNonEmptyArray.mjs +0 -1
- package/_mjs/collection/immutable/ImmutableNonEmptyArray.mjs.map +1 -1
- package/_mjs/collection/immutable/List/api/foldLeft.mjs +11 -12
- package/_mjs/collection/immutable/List/api/foldLeft.mjs.map +1 -1
- package/_mjs/collection/immutable/List/api/unsafeTail.mjs +0 -2
- package/_mjs/collection/immutable/List/api/unsafeTail.mjs.map +1 -1
- package/_mjs/collection/immutable/List/api.mjs +155 -203
- package/_mjs/collection/immutable/List/api.mjs.map +1 -1
- package/_mjs/collection/immutable/List/constructors.mjs +1 -11
- package/_mjs/collection/immutable/List/constructors.mjs.map +1 -1
- package/_mjs/collection/immutable/List/definition.mjs +2 -18
- package/_mjs/collection/immutable/List/definition.mjs.map +1 -1
- package/_mjs/collection/immutable/List.mjs +2 -2
- package/_mjs/collection/immutable/List.mjs.map +1 -1
- package/_mjs/collection/immutable/Queue/api.mjs +78 -88
- package/_mjs/collection/immutable/Queue/api.mjs.map +1 -1
- package/_mjs/collection/immutable/Queue/constructors.mjs +0 -2
- package/_mjs/collection/immutable/Queue/constructors.mjs.map +1 -1
- package/_mjs/collection/immutable/Queue/definition.mjs +3 -9
- package/_mjs/collection/immutable/Queue/definition.mjs.map +1 -1
- package/_mjs/collection/immutable/Queue/guards.mjs +2 -3
- package/_mjs/collection/immutable/Queue/guards.mjs.map +1 -1
- package/_mjs/collection/immutable/Queue.mjs.map +1 -1
- package/_mjs/collection/immutable/RoseTree/api.mjs +76 -103
- package/_mjs/collection/immutable/RoseTree/api.mjs.map +1 -1
- package/_mjs/collection/immutable/RoseTree/definition.mjs +4 -8
- package/_mjs/collection/immutable/RoseTree/definition.mjs.map +1 -1
- package/_mjs/collection/immutable/RoseTree.mjs.map +1 -1
- package/_mjs/collection/immutable/SortedMap/api.mjs +423 -493
- package/_mjs/collection/immutable/SortedMap/api.mjs.map +1 -1
- package/_mjs/collection/immutable/SortedMap/definition.mjs +2 -3
- package/_mjs/collection/immutable/SortedMap/definition.mjs.map +1 -1
- package/_mjs/collection/immutable/SortedMap/internal.mjs +56 -222
- package/_mjs/collection/immutable/SortedMap/internal.mjs.map +1 -1
- package/_mjs/collection/immutable/SortedMap/iterator.mjs +16 -97
- package/_mjs/collection/immutable/SortedMap/iterator.mjs.map +1 -1
- package/_mjs/collection/immutable/SortedMap/node.mjs +0 -1
- package/_mjs/collection/immutable/SortedMap/node.mjs.map +1 -1
- package/_mjs/collection/immutable/SortedMap.mjs.map +1 -1
- package/_mjs/collection/immutable/Vector/api.mjs +682 -756
- package/_mjs/collection/immutable/Vector/api.mjs.map +1 -1
- package/_mjs/collection/immutable/Vector/definition.mjs +25 -35
- package/_mjs/collection/immutable/Vector/definition.mjs.map +1 -1
- package/_mjs/collection/immutable/Vector/internal.mjs +79 -350
- package/_mjs/collection/immutable/Vector/internal.mjs.map +1 -1
- package/_mjs/collection/immutable/Vector.mjs.map +1 -1
- package/_mjs/collection/mutable/HashMap.mjs +9 -79
- package/_mjs/collection/mutable/HashMap.mjs.map +1 -1
- package/_mjs/collection/mutable/HashSet.mjs +5 -59
- package/_mjs/collection/mutable/HashSet.mjs.map +1 -1
- package/_mjs/collection/mutable/ListBuffer.mjs +2 -28
- package/_mjs/collection/mutable/ListBuffer.mjs.map +1 -1
- package/_mjs/collection/mutable/internal.mjs +0 -4
- package/_mjs/collection/mutable/internal.mjs.map +1 -1
- package/_mjs/collection/weak/IterableWeakMap.mjs +6 -28
- package/_mjs/collection/weak/IterableWeakMap.mjs.map +1 -1
- package/_mjs/collection/weak/IterableWeakSet.mjs +6 -26
- package/_mjs/collection/weak/IterableWeakSet.mjs.map +1 -1
- package/_mjs/control/Eval/api/sequenceArray.mjs +0 -1
- package/_mjs/control/Eval/api/sequenceArray.mjs.map +1 -1
- package/_mjs/control/Eval/api.mjs +41 -48
- package/_mjs/control/Eval/api.mjs.map +1 -1
- package/_mjs/control/Eval/constructors.mjs +0 -6
- package/_mjs/control/Eval/constructors.mjs.map +1 -1
- package/_mjs/control/Eval/definition.mjs +6 -15
- package/_mjs/control/Eval/definition.mjs.map +1 -1
- package/_mjs/control/Eval/instance.mjs +7 -9
- package/_mjs/control/Eval/instance.mjs.map +1 -1
- package/_mjs/control/Eval/run.mjs +5 -24
- package/_mjs/control/Eval/run.mjs.map +1 -1
- package/_mjs/control/Eval.mjs.map +1 -1
- package/_mjs/control/LazyValue.mjs +0 -3
- package/_mjs/control/LazyValue.mjs.map +1 -1
- package/_mjs/control/Z/api.mjs +196 -216
- package/_mjs/control/Z/api.mjs.map +1 -1
- package/_mjs/control/Z/definition.mjs +23 -51
- package/_mjs/control/Z/definition.mjs.map +1 -1
- package/_mjs/control/Z/instances.mjs +4 -5
- package/_mjs/control/Z/instances.mjs.map +1 -1
- package/_mjs/control/Z/runtime.mjs +200 -266
- package/_mjs/control/Z/runtime.mjs.map +1 -1
- package/_mjs/control/Z.mjs.map +1 -1
- package/_mjs/data/Branded/definition.mjs +0 -2
- package/_mjs/data/Branded/definition.mjs.map +1 -1
- package/_mjs/data/Branded.mjs +0 -1
- package/_mjs/data/Branded.mjs.map +1 -1
- package/_mjs/data/CaseClass.mjs +13 -32
- package/_mjs/data/CaseClass.mjs.map +1 -1
- package/_mjs/data/Cause/api/fold.mjs +30 -65
- package/_mjs/data/Cause/api/fold.mjs.map +1 -1
- package/_mjs/data/Cause/api/isEmpty.mjs +7 -29
- package/_mjs/data/Cause/api/isEmpty.mjs.map +1 -1
- package/_mjs/data/Cause/api/linearize.mjs +9 -10
- package/_mjs/data/Cause/api/linearize.mjs.map +1 -1
- package/_mjs/data/Cause/api/prettyPrint.mjs +1 -8
- package/_mjs/data/Cause/api/prettyPrint.mjs.map +1 -1
- package/_mjs/data/Cause/api/unified.mjs +14 -44
- package/_mjs/data/Cause/api/unified.mjs.map +1 -1
- package/_mjs/data/Cause/api.mjs +212 -490
- package/_mjs/data/Cause/api.mjs.map +1 -1
- package/_mjs/data/Cause/definition.mjs +63 -262
- package/_mjs/data/Cause/definition.mjs.map +1 -1
- package/_mjs/data/Cause.mjs +2 -2
- package/_mjs/data/Cause.mjs.map +1 -1
- package/_mjs/data/Const/api.mjs +6 -6
- package/_mjs/data/Const/api.mjs.map +1 -1
- package/_mjs/data/Const/definition.mjs +0 -1
- package/_mjs/data/Const/definition.mjs.map +1 -1
- package/_mjs/data/Const/instances.mjs +6 -8
- package/_mjs/data/Const/instances.mjs.map +1 -1
- package/_mjs/data/Const.mjs.map +1 -1
- package/_mjs/data/Datum/api.mjs +198 -250
- package/_mjs/data/Datum/api.mjs.map +1 -1
- package/_mjs/data/Datum/definition.mjs +10 -35
- package/_mjs/data/Datum/definition.mjs.map +1 -1
- package/_mjs/data/Datum/instances.mjs +0 -5
- package/_mjs/data/Datum/instances.mjs.map +1 -1
- package/_mjs/data/DatumEither/api.mjs +158 -191
- package/_mjs/data/DatumEither/api.mjs.map +1 -1
- package/_mjs/data/DatumEither/definition.mjs.map +1 -1
- package/_mjs/data/DecodeError/definition.mjs +15 -43
- package/_mjs/data/DecodeError/definition.mjs.map +1 -1
- package/_mjs/data/DecodeError.mjs.map +1 -1
- package/_mjs/data/Decoder/api.mjs +400 -53
- package/_mjs/data/Decoder/api.mjs.map +1 -1
- package/_mjs/data/Decoder/definition.mjs +0 -3
- package/_mjs/data/Decoder/definition.mjs.map +1 -1
- package/_mjs/data/Decoder.mjs.map +1 -1
- package/_mjs/data/Duration/api.mjs +20 -21
- package/_mjs/data/Duration/api.mjs.map +1 -1
- package/_mjs/data/Duration/definition.mjs +3 -7
- package/_mjs/data/Duration/definition.mjs.map +1 -1
- package/_mjs/data/Duration.mjs.map +1 -1
- package/_mjs/data/Either/api/align.mjs +7 -2
- package/_mjs/data/Either/api/align.mjs.map +1 -1
- package/_mjs/data/Either/api/alignWith.mjs +7 -12
- package/_mjs/data/Either/api/alignWith.mjs.map +1 -1
- package/_mjs/data/Either/api.mjs +139 -188
- package/_mjs/data/Either/api.mjs.map +1 -1
- package/_mjs/data/Either/constructors.mjs +7 -16
- package/_mjs/data/Either/constructors.mjs.map +1 -1
- package/_mjs/data/Either/definition.mjs +4 -15
- package/_mjs/data/Either/definition.mjs.map +1 -1
- package/_mjs/data/Either/destructors.mjs +11 -15
- package/_mjs/data/Either/destructors.mjs.map +1 -1
- package/_mjs/data/Either/instances.mjs +22 -56
- package/_mjs/data/Either/instances.mjs.map +1 -1
- package/_mjs/data/Either.mjs.map +1 -1
- package/_mjs/data/EitherT/api.mjs +8 -17
- package/_mjs/data/EitherT/api.mjs.map +1 -1
- package/_mjs/data/EitherT/definition.mjs.map +1 -1
- package/_mjs/data/Encoder/api.mjs +273 -0
- package/_mjs/data/Encoder/api.mjs.map +1 -0
- package/_mjs/data/Encoder/definition.mjs +13 -0
- package/_mjs/data/Encoder/definition.mjs.map +1 -0
- package/_mjs/data/Encoder.mjs +4 -0
- package/_mjs/data/Encoder.mjs.map +1 -0
- package/_mjs/data/Environment/api.mjs +47 -50
- package/_mjs/data/Environment/api.mjs.map +1 -1
- package/_mjs/data/Environment/definition.mjs +5 -10
- package/_mjs/data/Environment/definition.mjs.map +1 -1
- package/_mjs/data/Environment.mjs.map +1 -1
- package/_mjs/data/EnvironmentPatch.mjs +35 -68
- package/_mjs/data/EnvironmentPatch.mjs.map +1 -1
- package/_mjs/{typeclass → data}/Eq/definition.mjs +1 -2
- package/_mjs/data/Eq/definition.mjs.map +1 -0
- package/_mjs/{typeclass → data}/Eq/derivations.mjs +9 -15
- package/_mjs/data/Eq/derivations.mjs.map +1 -0
- package/_mjs/{typeclass → data}/Eq.mjs +0 -0
- package/_mjs/data/Eq.mjs.map +1 -0
- package/_mjs/{typeclass → data}/Equatable/api.mjs +3 -6
- package/_mjs/data/Equatable/api.mjs.map +1 -0
- package/_mjs/{typeclass → data}/Equatable/definition.mjs +0 -1
- package/_mjs/data/Equatable/definition.mjs.map +1 -0
- package/_mjs/{typeclass → data}/Equatable/fast-equals.mjs +1 -63
- package/_mjs/data/Equatable/fast-equals.mjs.map +1 -0
- package/_mjs/{typeclass → data}/Equatable.mjs +0 -0
- package/_mjs/data/Equatable.mjs.map +1 -0
- package/_mjs/data/ExecutionStrategy.mjs +17 -30
- package/_mjs/data/ExecutionStrategy.mjs.map +1 -1
- package/_mjs/data/Exit/api.mjs +124 -135
- package/_mjs/data/Exit/api.mjs.map +1 -1
- package/_mjs/data/Exit/constructors.mjs +3 -14
- package/_mjs/data/Exit/constructors.mjs.map +1 -1
- package/_mjs/data/Exit/definition.mjs +8 -33
- package/_mjs/data/Exit/definition.mjs.map +1 -1
- package/_mjs/data/Exit.mjs.map +1 -1
- package/_mjs/data/FiberId/api.mjs +23 -31
- package/_mjs/data/FiberId/api.mjs.map +1 -1
- package/_mjs/data/FiberId/constructors.mjs +3 -9
- package/_mjs/data/FiberId/constructors.mjs.map +1 -1
- package/_mjs/data/FiberId/definition.mjs +7 -26
- package/_mjs/data/FiberId/definition.mjs.map +1 -1
- package/_mjs/data/FiberId.mjs.map +1 -1
- package/_mjs/data/Guard/api.mjs +369 -0
- package/_mjs/data/Guard/api.mjs.map +1 -0
- package/_mjs/{typeclass → data}/Guard/definition.mjs +0 -3
- package/_mjs/data/Guard/definition.mjs.map +1 -0
- package/_mjs/data/Guard.mjs +4 -0
- package/_mjs/data/Guard.mjs.map +1 -0
- package/_mjs/{typeclass → data}/Hash.mjs +0 -1
- package/_mjs/data/Hash.mjs.map +1 -0
- package/_mjs/data/HashEq.mjs +30 -0
- package/_mjs/data/HashEq.mjs.map +1 -0
- package/_mjs/{typeclass → data}/Hashable/definition.mjs +0 -1
- package/_mjs/data/Hashable/definition.mjs.map +1 -0
- package/_mjs/{typeclass → data}/Hashable/hash.mjs +4 -59
- package/_mjs/data/Hashable/hash.mjs.map +1 -0
- package/_mjs/{typeclass → data}/Hashable.mjs +0 -0
- package/_mjs/data/Hashable.mjs.map +1 -0
- package/_mjs/data/Identity/api.mjs +21 -20
- package/_mjs/data/Identity/api.mjs.map +1 -1
- package/_mjs/data/Identity/definition.mjs.map +1 -1
- package/_mjs/data/Identity/instances.mjs +8 -9
- package/_mjs/data/Identity/instances.mjs.map +1 -1
- package/_mjs/data/Identity.mjs.map +1 -1
- package/_mjs/data/Interval.mjs +41 -47
- package/_mjs/data/Interval.mjs.map +1 -1
- package/_mjs/data/Intervals.mjs +45 -60
- package/_mjs/data/Intervals.mjs.map +1 -1
- package/_mjs/data/Maybe/api.mjs +107 -128
- package/_mjs/data/Maybe/api.mjs.map +1 -1
- package/_mjs/data/Maybe/constructors.mjs +1 -18
- package/_mjs/data/Maybe/constructors.mjs.map +1 -1
- package/_mjs/data/Maybe/definition.mjs +10 -36
- package/_mjs/data/Maybe/definition.mjs.map +1 -1
- package/_mjs/data/Maybe/destructors.mjs +6 -6
- package/_mjs/data/Maybe/destructors.mjs.map +1 -1
- package/_mjs/data/Maybe/instances.mjs +40 -21
- package/_mjs/data/Maybe/instances.mjs.map +1 -1
- package/_mjs/data/Maybe.mjs.map +1 -1
- package/_mjs/data/Newtype.mjs +0 -1
- package/_mjs/data/Newtype.mjs.map +1 -1
- package/_mjs/data/Ord/api/contramap.mjs +12 -0
- package/_mjs/data/Ord/api/contramap.mjs.map +1 -0
- package/_mjs/data/Ord/api/max.mjs +8 -0
- package/_mjs/data/Ord/api/max.mjs.map +1 -0
- package/_mjs/data/Ord/api/min.mjs +8 -0
- package/_mjs/data/Ord/api/min.mjs.map +1 -0
- package/_mjs/{typeclass → data}/Ord/api.mjs +0 -0
- package/_mjs/data/Ord/api.mjs.map +1 -0
- package/_mjs/data/Ord/definition.mjs +12 -0
- package/_mjs/data/Ord/definition.mjs.map +1 -0
- package/_mjs/data/Ord/instances.mjs +34 -0
- package/_mjs/data/Ord/instances.mjs.map +1 -0
- package/_mjs/{typeclass → data}/Ord.mjs +0 -0
- package/_mjs/data/Ord.mjs.map +1 -0
- package/_mjs/{typeclass → data}/Ordering.mjs +0 -6
- package/_mjs/data/Ordering.mjs.map +1 -0
- package/_mjs/data/Predicate/api.mjs +10 -11
- package/_mjs/data/Predicate/api.mjs.map +1 -1
- package/_mjs/data/Predicate.mjs.map +1 -1
- package/_mjs/data/Refinement/api.mjs +15 -12
- package/_mjs/data/Refinement/api.mjs.map +1 -1
- package/_mjs/data/Refinement.mjs.map +1 -1
- package/_mjs/{typeclass → data}/Showable/definition.mjs +2 -3
- package/_mjs/data/Showable/definition.mjs.map +1 -0
- package/_mjs/{typeclass → data}/Showable/show.mjs +119 -245
- package/_mjs/data/Showable/show.mjs.map +1 -0
- package/_mjs/{typeclass → data}/Showable/styles.mjs +0 -0
- package/_mjs/data/Showable/styles.mjs.map +1 -0
- package/_mjs/{typeclass → data}/Showable/util.mjs +53 -93
- package/_mjs/data/Showable/util.mjs.map +1 -0
- package/_mjs/{typeclass → data}/Showable.mjs +0 -0
- package/_mjs/data/Showable.mjs.map +1 -0
- package/_mjs/data/Struct/api.mjs +59 -63
- package/_mjs/data/Struct/api.mjs.map +1 -1
- package/_mjs/data/Struct/definition.mjs.map +1 -1
- package/_mjs/data/Tag/constructors.mjs +1 -3
- package/_mjs/data/Tag/constructors.mjs.map +1 -1
- package/_mjs/data/Tag/definition.mjs +3 -11
- package/_mjs/data/Tag/definition.mjs.map +1 -1
- package/_mjs/data/Tag.mjs.map +1 -1
- package/_mjs/data/These/api.mjs +118 -209
- package/_mjs/data/These/api.mjs.map +1 -1
- package/_mjs/data/These/constructors.mjs +1 -7
- package/_mjs/data/These/constructors.mjs.map +1 -1
- package/_mjs/data/These/definition.mjs +4 -16
- package/_mjs/data/These/definition.mjs.map +1 -1
- package/_mjs/data/These/destructors.mjs +23 -41
- package/_mjs/data/These/destructors.mjs.map +1 -1
- package/_mjs/data/These/instances.mjs +2 -7
- package/_mjs/data/These/instances.mjs.map +1 -1
- package/_mjs/data/These.mjs.map +1 -1
- package/_mjs/data/Trace/api.mjs +6 -6
- package/_mjs/data/Trace/api.mjs.map +1 -1
- package/_mjs/data/Trace/constructors.mjs +0 -2
- package/_mjs/data/Trace/constructors.mjs.map +1 -1
- package/_mjs/data/Trace/definition.mjs +0 -1
- package/_mjs/data/Trace/definition.mjs.map +1 -1
- package/_mjs/data/Trace.mjs.map +1 -1
- package/_mjs/data/TraceElement/definition.mjs +0 -9
- package/_mjs/data/TraceElement/definition.mjs.map +1 -1
- package/_mjs/data/TraceElement.mjs.map +1 -1
- package/_mjs/data/Zipped.mjs +2 -7
- package/_mjs/data/Zipped.mjs.map +1 -1
- package/_mjs/data/bigint/instances.mjs +2 -2
- package/_mjs/data/bigint/instances.mjs.map +1 -1
- package/_mjs/data/bigint.mjs.map +1 -1
- package/_mjs/data/boolean/instances.mjs +2 -2
- package/_mjs/data/boolean/instances.mjs.map +1 -1
- package/_mjs/data/boolean.mjs.map +1 -1
- package/_mjs/data/exceptions/ArrayIndexOutOfBoundsError.mjs +0 -1
- package/_mjs/data/exceptions/ArrayIndexOutOfBoundsError.mjs.map +1 -1
- package/_mjs/data/exceptions/IllegalArgumentError.mjs +0 -1
- package/_mjs/data/exceptions/IllegalArgumentError.mjs.map +1 -1
- package/_mjs/data/exceptions/IllegalStateError.mjs +0 -1
- package/_mjs/data/exceptions/IllegalStateError.mjs.map +1 -1
- package/_mjs/data/exceptions/IndexOutOfBoundsError.mjs +0 -1
- package/_mjs/data/exceptions/IndexOutOfBoundsError.mjs.map +1 -1
- package/_mjs/data/exceptions/InterruptedException.mjs +0 -1
- package/_mjs/data/exceptions/InterruptedException.mjs.map +1 -1
- package/_mjs/data/exceptions/InvalidCapacityError.mjs +0 -1
- package/_mjs/data/exceptions/InvalidCapacityError.mjs.map +1 -1
- package/_mjs/data/exceptions/NoSuchElementError.mjs +0 -1
- package/_mjs/data/exceptions/NoSuchElementError.mjs.map +1 -1
- package/_mjs/data/exceptions.mjs.map +1 -1
- package/_mjs/data/function/api.mjs +5 -8
- package/_mjs/data/function/api.mjs.map +1 -1
- package/_mjs/data/function/pipe.mjs +7 -20
- package/_mjs/data/function/pipe.mjs.map +1 -1
- package/_mjs/data/function.mjs.map +1 -1
- package/_mjs/data/number/api.mjs.map +1 -1
- package/_mjs/data/number/instances.mjs +10 -13
- package/_mjs/data/number/instances.mjs.map +1 -1
- package/_mjs/data/number.mjs.map +1 -1
- package/_mjs/data/object/instances.mjs +1 -9
- package/_mjs/data/object/instances.mjs.map +1 -1
- package/_mjs/data/object.mjs.map +1 -1
- package/_mjs/data/string/api.mjs +45 -83
- package/_mjs/data/string/api.mjs.map +1 -1
- package/_mjs/data/string/instances.mjs +11 -15
- package/_mjs/data/string/instances.mjs.map +1 -1
- package/_mjs/data/string.mjs.map +1 -1
- package/_mjs/global/api.mjs +4 -2
- package/_mjs/global/api.mjs.map +1 -1
- package/_mjs/internal/AtomicBoolean.mjs +0 -1
- package/_mjs/internal/AtomicBoolean.mjs.map +1 -1
- package/_mjs/internal/AtomicNumber.mjs +0 -4
- package/_mjs/internal/AtomicNumber.mjs.map +1 -1
- package/_mjs/internal/AtomicReference.mjs +0 -6
- package/_mjs/internal/AtomicReference.mjs.map +1 -1
- package/_mjs/internal/Stack.mjs +1 -10
- package/_mjs/internal/Stack.mjs.map +1 -1
- package/_mjs/json/EitherJson.mjs +1 -2
- package/_mjs/json/EitherJson.mjs.map +1 -1
- package/_mjs/json/MaybeJson.mjs +1 -2
- package/_mjs/json/MaybeJson.mjs.map +1 -1
- package/_mjs/json/TheseJson.mjs +1 -2
- package/_mjs/json/TheseJson.mjs.map +1 -1
- package/_mjs/optics/At/api.mjs +1 -2
- package/_mjs/optics/At/api.mjs.map +1 -1
- package/_mjs/optics/At/definition.mjs +2 -3
- package/_mjs/optics/At/definition.mjs.map +1 -1
- package/_mjs/optics/At.mjs.map +1 -1
- package/_mjs/optics/Fold/definition.mjs +2 -4
- package/_mjs/optics/Fold/definition.mjs.map +1 -1
- package/_mjs/optics/Fold.mjs.map +1 -1
- package/_mjs/optics/Getter/definition.mjs +1 -3
- package/_mjs/optics/Getter/definition.mjs.map +1 -1
- package/_mjs/optics/Getter.mjs.map +1 -1
- package/_mjs/optics/Index/api.mjs +4 -6
- package/_mjs/optics/Index/api.mjs.map +1 -1
- package/_mjs/optics/Index/definition.mjs +1 -2
- package/_mjs/optics/Index/definition.mjs.map +1 -1
- package/_mjs/optics/Index.mjs.map +1 -1
- package/_mjs/optics/Iso/api.mjs +8 -7
- package/_mjs/optics/Iso/api.mjs.map +1 -1
- package/_mjs/optics/Iso/definition.mjs +10 -12
- package/_mjs/optics/Iso/definition.mjs.map +1 -1
- package/_mjs/optics/Iso.mjs.map +1 -1
- package/_mjs/optics/Lens/api.mjs +48 -60
- package/_mjs/optics/Lens/api.mjs.map +1 -1
- package/_mjs/optics/Lens/definition.mjs +8 -10
- package/_mjs/optics/Lens/definition.mjs.map +1 -1
- package/_mjs/optics/Lens.mjs.map +1 -1
- package/_mjs/optics/Optional/api/compose.mjs +8 -7
- package/_mjs/optics/Optional/api/compose.mjs.map +1 -1
- package/_mjs/optics/Optional/definition.mjs +8 -14
- package/_mjs/optics/Optional/definition.mjs.map +1 -1
- package/_mjs/optics/Optional.mjs +2 -2
- package/_mjs/optics/Optional.mjs.map +1 -1
- package/_mjs/optics/Prism/api/compose.mjs +8 -7
- package/_mjs/optics/Prism/api/compose.mjs.map +1 -1
- package/_mjs/optics/Prism/api/fromNullable.mjs +2 -3
- package/_mjs/optics/Prism/api/fromNullable.mjs.map +1 -1
- package/_mjs/optics/Prism/api/just.mjs +2 -3
- package/_mjs/optics/Prism/api/just.mjs.map +1 -1
- package/_mjs/optics/Prism/definition.mjs +6 -9
- package/_mjs/optics/Prism/definition.mjs.map +1 -1
- package/_mjs/optics/Prism.mjs +2 -2
- package/_mjs/optics/Prism.mjs.map +1 -1
- package/_mjs/optics/Setter/definition.mjs +5 -13
- package/_mjs/optics/Setter/definition.mjs.map +1 -1
- package/_mjs/optics/Setter.mjs.map +1 -1
- package/_mjs/optics/Traversal/api/compose.mjs +7 -6
- package/_mjs/optics/Traversal/api/compose.mjs.map +1 -1
- package/_mjs/optics/Traversal/api/fromTraversable.mjs +2 -3
- package/_mjs/optics/Traversal/api/fromTraversable.mjs.map +1 -1
- package/_mjs/optics/Traversal/definition.mjs +9 -12
- package/_mjs/optics/Traversal/definition.mjs.map +1 -1
- package/_mjs/optics/Traversal.mjs +2 -2
- package/_mjs/optics/Traversal.mjs.map +1 -1
- package/_mjs/typeclass/Align.mjs.map +1 -1
- package/_mjs/typeclass/Alt.mjs.map +1 -1
- package/_mjs/typeclass/Alternative.mjs.map +1 -1
- package/_mjs/typeclass/Applicative.mjs.map +1 -1
- package/_mjs/typeclass/ApplicativeExcept.mjs +6 -10
- package/_mjs/typeclass/ApplicativeExcept.mjs.map +1 -1
- package/_mjs/typeclass/Apply.mjs +14 -35
- package/_mjs/typeclass/Apply.mjs.map +1 -1
- package/_mjs/typeclass/Chain.mjs +5 -7
- package/_mjs/typeclass/Chain.mjs.map +1 -1
- package/_mjs/typeclass/Closure.mjs +1 -2
- package/_mjs/typeclass/Closure.mjs.map +1 -1
- package/_mjs/typeclass/Filterable.mjs.map +1 -1
- package/_mjs/typeclass/FilterableWithIndex.mjs.map +1 -1
- package/_mjs/typeclass/Foldable.mjs +1 -2
- package/_mjs/typeclass/Foldable.mjs.map +1 -1
- package/_mjs/typeclass/FoldableWithIndex.mjs +1 -2
- package/_mjs/typeclass/FoldableWithIndex.mjs.map +1 -1
- package/_mjs/typeclass/Functor.mjs +0 -1
- package/_mjs/typeclass/Functor.mjs.map +1 -1
- package/_mjs/typeclass/FunctorWithIndex.mjs.map +1 -1
- package/_mjs/typeclass/Has.mjs +8 -5
- package/_mjs/typeclass/Has.mjs.map +1 -1
- package/_mjs/typeclass/Monad.mjs.map +1 -1
- package/_mjs/typeclass/MonadExcept.mjs +1 -1
- package/_mjs/typeclass/MonadExcept.mjs.map +1 -1
- package/_mjs/typeclass/Monoid.mjs +6 -15
- package/_mjs/typeclass/Monoid.mjs.map +1 -1
- package/_mjs/typeclass/Pointed.mjs.map +1 -1
- package/_mjs/typeclass/Semialign.mjs +7 -14
- package/_mjs/typeclass/Semialign.mjs.map +1 -1
- package/_mjs/typeclass/Semigroup/api.mjs +6 -8
- package/_mjs/typeclass/Semigroup/api.mjs.map +1 -1
- package/_mjs/typeclass/Semigroup/definition.mjs +2 -3
- package/_mjs/typeclass/Semigroup/definition.mjs.map +1 -1
- package/_mjs/typeclass/Semigroup/derivations.mjs +7 -14
- package/_mjs/typeclass/Semigroup/derivations.mjs.map +1 -1
- package/_mjs/typeclass/Semigroup.mjs.map +1 -1
- package/_mjs/typeclass/Semimonoidal.mjs.map +1 -1
- package/_mjs/typeclass/Traversable.mjs +1 -3
- package/_mjs/typeclass/Traversable.mjs.map +1 -1
- package/_mjs/typeclass/TraversableWithIndex.mjs.map +1 -1
- package/_mjs/typeclass/Witherable.mjs +2 -2
- 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/builtin.mjs.map +1 -1
- package/_mjs/typeclass.mjs +9 -8
- package/_mjs/typeclass.mjs.map +1 -1
- package/_mjs/types.mjs.map +1 -1
- package/_mjs/util/AnsiFormat.mjs +15 -42
- package/_mjs/util/AnsiFormat.mjs.map +1 -1
- package/_mjs/util/PCGRandom.mjs +16 -43
- package/_mjs/util/PCGRandom.mjs.map +1 -1
- package/_mjs/util/assert.mjs +0 -1
- package/_mjs/util/assert.mjs.map +1 -1
- package/_mjs/util/pattern.mjs.map +1 -1
- package/_mjs/util/predicates.mjs +0 -1
- package/_mjs/util/predicates.mjs.map +1 -1
- package/_mjs/util/rand/Random.mjs +0 -17
- package/_mjs/util/rand/Random.mjs.map +1 -1
- package/_mjs/util/rand/distribution/UniformArrayIntDistribution.mjs +0 -4
- package/_mjs/util/rand/distribution/UniformArrayIntDistribution.mjs.map +1 -1
- package/_mjs/util/rand/distribution/UniformBigIntDistribution.mjs +4 -12
- package/_mjs/util/rand/distribution/UniformBigIntDistribution.mjs.map +1 -1
- package/_mjs/util/rand/distribution/UniformIntDistribution.mjs +0 -9
- package/_mjs/util/rand/distribution/UniformIntDistribution.mjs.map +1 -1
- package/_mjs/util/rand/distribution/internals/ArrayInt.mjs +6 -36
- package/_mjs/util/rand/distribution/internals/ArrayInt.mjs.map +1 -1
- package/_mjs/util/rand/distribution/internals/UniformArrayIntDistributionInternal.mjs +6 -9
- package/_mjs/util/rand/distribution/internals/UniformArrayIntDistributionInternal.mjs.map +1 -1
- package/_mjs/util/rand/distribution/internals/UniformIntDistributionInternal.mjs +8 -13
- package/_mjs/util/rand/distribution/internals/UniformIntDistributionInternal.mjs.map +1 -1
- package/_mjs/util/rand/generator/MersenneTwister.mjs +5 -23
- package/_mjs/util/rand/generator/MersenneTwister.mjs.map +1 -1
- package/_mjs/util/rand/generator/RandomGenerator.mjs +0 -4
- package/_mjs/util/rand/generator/RandomGenerator.mjs.map +1 -1
- package/_mjs/util/rand.mjs.map +1 -1
- package/_src/collection/Iterable/api/traverseConc.ts +3 -3
- package/_src/collection/Iterable/api.ts +458 -414
- package/_src/collection/Iterable/constructors.ts +3 -1
- package/_src/collection/compat/Array/api.ts +17 -14
- package/_src/collection/compat/Array.ts +0 -1
- package/_src/collection/compat/ArrayLike/api.ts +2 -2
- package/_src/collection/compat.ts +0 -1
- package/_src/collection/immutable/Conc/api.ts +716 -607
- package/_src/collection/immutable/Conc/definition.ts +62 -70
- package/_src/collection/immutable/Conc.ts +0 -1
- package/_src/collection/immutable/Dictionary/api.ts +44 -32
- package/_src/collection/immutable/Dictionary.ts +4 -0
- package/_src/collection/immutable/HashMap/api.ts +371 -263
- package/_src/collection/immutable/HashMap/definition.ts +17 -3
- package/_src/collection/immutable/HashMap/internal.ts +5 -9
- package/_src/collection/immutable/HashSet/api.ts +237 -190
- package/_src/collection/immutable/HashSet/definition.ts +23 -9
- package/_src/collection/immutable/ImmutableArray/api/chunksOf.ts +5 -3
- package/_src/collection/immutable/ImmutableArray/api/slice.ts +5 -3
- package/_src/collection/immutable/ImmutableArray/api/splitAt.ts +5 -3
- package/_src/collection/immutable/ImmutableArray/api/splitWhere.ts +13 -14
- package/_src/collection/immutable/ImmutableArray/api.ts +873 -723
- package/_src/collection/immutable/ImmutableArray/instances.ts +54 -73
- package/_src/collection/immutable/ImmutableArray.ts +0 -1
- package/_src/collection/immutable/ImmutableNonEmptyArray/api.ts +311 -273
- package/_src/collection/immutable/ImmutableNonEmptyArray/constructors.ts +19 -4
- package/_src/collection/immutable/ImmutableNonEmptyArray/definition.ts +0 -1
- package/_src/collection/immutable/ImmutableNonEmptyArray/instances.ts +22 -23
- package/_src/collection/immutable/ImmutableNonEmptyArray.ts +0 -1
- package/_src/collection/immutable/List/api/foldLeft.ts +11 -9
- package/_src/collection/immutable/List/api.ts +156 -132
- package/_src/collection/immutable/List/constructors.ts +1 -1
- package/_src/collection/immutable/List.ts +0 -1
- package/_src/collection/immutable/Queue/api.ts +77 -61
- package/_src/collection/immutable/Queue/definition.ts +0 -1
- package/_src/collection/immutable/Queue/guards.ts +2 -2
- package/_src/collection/immutable/RoseTree/api.ts +38 -32
- package/_src/collection/immutable/RoseTree/definition.ts +2 -0
- package/_src/collection/immutable/SortedMap/api.ts +412 -381
- package/_src/collection/immutable/SortedMap/definition.ts +5 -0
- package/_src/collection/immutable/Vector/api.ts +640 -514
- package/_src/collection/immutable/Vector/definition.ts +11 -12
- package/_src/collection/immutable/Vector/internal.ts +37 -38
- package/_src/collection/immutable.ts +1 -0
- package/_src/collection/mutable/HashMap.ts +8 -11
- package/_src/collection/mutable/HashSet.ts +7 -8
- package/_src/collection/mutable/ListBuffer.ts +1 -1
- package/_src/collection/mutable/internal.ts +0 -2
- package/_src/collection/weak/IterableWeakMap.ts +11 -7
- package/_src/collection/weak/IterableWeakSet.ts +10 -5
- package/_src/control/Eval/api.ts +35 -19
- package/_src/control/Eval/instance.ts +5 -5
- package/_src/control/Z/api.ts +191 -208
- package/_src/control/Z/instances.ts +4 -5
- package/_src/control/Z/runtime.ts +190 -189
- package/_src/data/Branded/definition.ts +11 -12
- package/_src/data/Branded.ts +0 -1
- package/_src/data/CaseClass.ts +4 -1
- package/_src/data/Cause/api/fold.ts +13 -14
- package/_src/data/Cause/api/linearize.ts +4 -4
- package/_src/data/Cause/api/unified.ts +1 -1
- package/_src/data/Cause/api.ts +126 -108
- package/_src/data/Cause/definition.ts +2 -2
- package/_src/data/Cause.ts +0 -1
- package/_src/data/Const/api.ts +6 -4
- package/_src/data/Const/instances.ts +3 -3
- package/_src/data/Datum/api.ts +228 -198
- package/_src/data/Datum/definition.ts +2 -5
- package/_src/data/DatumEither/api.ts +208 -193
- package/_src/data/DecodeError/definition.ts +4 -2
- package/_src/data/Decoder/api.ts +498 -11
- package/_src/data/Duration/api.ts +24 -15
- package/_src/data/Either/api/align.ts +7 -2
- package/_src/data/Either/api/alignWith.ts +13 -15
- package/_src/data/Either/api.ts +141 -119
- package/_src/data/Either/constructors.ts +12 -10
- package/_src/data/Either/destructors.ts +11 -9
- package/_src/data/Either/instances.ts +27 -23
- package/_src/data/EitherT/api.ts +43 -49
- package/_src/data/Encoder/api.ts +375 -0
- package/_src/data/Encoder/definition.ts +16 -0
- package/_src/data/Encoder.ts +4 -0
- package/_src/data/Environment/api.ts +53 -45
- package/_src/data/Environment/definition.ts +1 -4
- package/_src/data/EnvironmentPatch.ts +10 -9
- package/_src/{typeclass → data}/Eq/definition.ts +2 -2
- package/_src/{typeclass → data}/Eq/derivations.ts +6 -6
- package/_src/{typeclass → data}/Eq.ts +0 -0
- package/_src/{typeclass → data}/Equatable/api.ts +2 -2
- package/_src/{typeclass → data}/Equatable/definition.ts +0 -0
- package/_src/{typeclass → data}/Equatable/fast-equals.ts +8 -61
- package/_src/{typeclass → data}/Equatable.ts +0 -0
- package/_src/data/ExecutionStrategy.ts +14 -24
- package/_src/data/Exit/api.ts +106 -75
- package/_src/data/Exit/constructors.ts +2 -2
- package/_src/data/FiberId/api.ts +21 -19
- package/_src/data/FiberId/constructors.ts +4 -5
- package/_src/data/FiberId/definition.ts +4 -1
- package/_src/data/Guard/api.ts +457 -0
- package/_src/{typeclass → data}/Guard/definition.ts +3 -1
- package/_src/data/Guard.ts +4 -0
- package/_src/{typeclass → data}/Hash.ts +0 -0
- package/_src/{typeclass → data}/HashEq.ts +4 -6
- package/_src/{typeclass → data}/Hashable/definition.ts +0 -0
- package/_src/{typeclass → data}/Hashable/hash.ts +1 -2
- package/_src/{typeclass → data}/Hashable.ts +0 -0
- package/_src/data/Identity/api.ts +20 -12
- package/_src/data/Identity/instances.ts +4 -7
- package/_src/data/Interval.ts +41 -31
- package/_src/data/Intervals.ts +31 -23
- package/_src/data/Maybe/api.ts +112 -79
- package/_src/data/Maybe/constructors.ts +3 -3
- package/_src/data/Maybe/definition.ts +11 -1
- package/_src/data/Maybe/destructors.ts +6 -4
- package/_src/data/Maybe/instances.ts +31 -21
- package/_src/data/Ord/api/contramap.ts +11 -0
- package/_src/data/Ord/api/max.ts +7 -0
- package/_src/data/Ord/api/min.ts +7 -0
- package/_src/{typeclass → data}/Ord/api.ts +0 -0
- package/_src/{typeclass → data}/Ord/definition.ts +2 -6
- package/_src/{typeclass → data}/Ord/instances.ts +6 -8
- package/_src/{typeclass → data}/Ord.ts +0 -0
- package/_src/{typeclass → data}/Ordering.ts +2 -0
- package/_src/data/Predicate/api.ts +14 -8
- package/_src/data/Refinement/api.ts +19 -13
- package/_src/{typeclass → data}/Showable/definition.ts +4 -4
- package/_src/{typeclass → data}/Showable/show.ts +23 -38
- package/_src/{typeclass → data}/Showable/styles.ts +0 -8
- package/_src/{typeclass → data}/Showable/util.ts +22 -57
- package/_src/{typeclass → data}/Showable.ts +0 -0
- package/_src/data/Struct/api.ts +75 -55
- package/_src/data/Tag/constructors.ts +1 -2
- package/_src/data/Tag/definition.ts +0 -1
- package/_src/data/These/api.ts +114 -114
- package/_src/data/These/destructors.ts +23 -24
- package/_src/data/Trace/api.ts +5 -3
- package/_src/data/Zipped.ts +3 -4
- package/_src/data/bigint/instances.ts +1 -0
- package/_src/data/boolean/instances.ts +1 -0
- package/_src/data/function/api.ts +6 -7
- package/_src/data/function/pipe.ts +9 -1
- package/_src/data/number/instances.ts +5 -5
- package/_src/data/object/instances.ts +0 -11
- package/_src/data/string/api.ts +40 -62
- package/_src/data/string/instances.ts +4 -4
- package/_src/data.ts +10 -0
- package/_src/global/api.ts +7 -12
- package/_src/global.ts +28 -12
- package/_src/internal/AtomicBoolean.ts +0 -1
- package/_src/internal/AtomicNumber.ts +0 -7
- package/_src/internal/AtomicReference.ts +0 -4
- package/_src/internal/Stack.ts +1 -7
- package/_src/optics/At/definition.ts +5 -3
- package/_src/optics/Fold/definition.ts +3 -10
- package/_src/optics/Getter/definition.ts +1 -2
- package/_src/optics/Index/definition.ts +1 -1
- package/_src/optics/Iso/api.ts +8 -6
- package/_src/optics/Iso/definition.ts +3 -3
- package/_src/optics/Lens/api.ts +44 -42
- package/_src/optics/Lens/definition.ts +5 -5
- package/_src/optics/Optional/api/compose.ts +9 -9
- package/_src/optics/Optional/definition.ts +9 -16
- package/_src/optics/Optional.ts +0 -1
- package/_src/optics/Prism/api/compose.ts +9 -6
- package/_src/optics/Prism/definition.ts +3 -3
- package/_src/optics/Prism.ts +0 -1
- package/_src/optics/Setter/definition.ts +3 -23
- package/_src/optics/Traversal/api/compose.ts +7 -8
- package/_src/optics/Traversal/api/fromTraversable.ts +1 -1
- package/_src/optics/Traversal/definition.ts +10 -15
- package/_src/optics/Traversal.ts +0 -1
- package/_src/typeclass/Align.ts +0 -3
- package/_src/typeclass/Alt.ts +2 -1
- package/_src/typeclass/Applicative.ts +0 -1
- package/_src/typeclass/ApplicativeExcept.ts +15 -10
- package/_src/typeclass/Apply.ts +34 -36
- package/_src/typeclass/Chain.ts +9 -12
- package/_src/typeclass/Closure.ts +2 -2
- package/_src/typeclass/Filterable.ts +19 -13
- package/_src/typeclass/FilterableWithIndex.ts +19 -13
- package/_src/typeclass/Foldable.ts +7 -10
- package/_src/typeclass/FoldableWithIndex.ts +7 -10
- package/_src/typeclass/Functor.ts +6 -4
- package/_src/typeclass/FunctorWithIndex.ts +3 -2
- package/_src/typeclass/Has.ts +6 -4
- package/_src/typeclass/MonadExcept.ts +1 -1
- package/_src/typeclass/Monoid.ts +2 -2
- package/_src/typeclass/Semialign.ts +43 -32
- package/_src/typeclass/Semigroup/api.ts +0 -2
- package/_src/typeclass/Semigroup/definition.ts +2 -2
- package/_src/typeclass/Semigroup/derivations.ts +5 -5
- package/_src/typeclass/Semimonoidal.ts +3 -2
- package/_src/typeclass/Traversable.ts +13 -18
- package/_src/typeclass/TraversableWithIndex.ts +5 -7
- package/_src/typeclass/Witherable.ts +21 -13
- package/_src/typeclass/WitherableWithIndex.ts +26 -17
- package/_src/typeclass/builtin/Symbol.ts +0 -1
- package/_src/typeclass.ts +9 -8
- package/_src/types/extractions.ts +12 -3
- package/_src/types/utility.ts +3 -5
- package/_src/util/AnsiFormat.ts +0 -25
- package/_src/util/PCGRandom.ts +4 -9
- package/_src/util/assert.ts +1 -2
- package/_src/util/pattern.ts +91 -12
- package/_src/util/predicates.ts +3 -1
- package/_src/util/rand/Random.ts +12 -16
- package/_src/util/rand/distribution/Distribution.ts +0 -1
- package/_src/util/rand/distribution/UniformArrayIntDistribution.ts +0 -3
- package/_src/util/rand/distribution/UniformBigIntDistribution.ts +0 -5
- package/_src/util/rand/distribution/UniformIntDistribution.ts +0 -7
- package/_src/util/rand/distribution/internals/ArrayInt.ts +3 -13
- package/_src/util/rand/distribution/internals/UniformArrayIntDistributionInternal.ts +0 -3
- package/_src/util/rand/distribution/internals/UniformIntDistributionInternal.ts +0 -4
- package/_src/util/rand/generator/MersenneTwister.ts +6 -29
- package/_src/util/rand/generator/RandomGenerator.ts +0 -3
- package/_src/util/rand.ts +0 -2
- package/collection/Iterable/api/traverseConc.d.ts +2 -2
- package/collection/Iterable/api.d.ts +71 -66
- package/collection/Iterable/constructors.d.ts +1 -1
- package/collection/compat/Array/api.d.ts +6 -6
- package/collection/compat/Array.d.ts +0 -1
- package/collection/compat/ArrayLike/api.d.ts +2 -2
- package/collection/compat.d.ts +0 -1
- package/collection/immutable/Conc/api.d.ts +108 -105
- package/collection/immutable/Conc/definition.d.ts +4 -4
- package/collection/immutable/Conc.d.ts +0 -1
- package/collection/immutable/Dictionary/api.d.ts +12 -12
- package/collection/immutable/Dictionary.d.ts +2 -0
- package/collection/immutable/HashMap/api.d.ts +91 -85
- package/collection/immutable/HashMap/definition.d.ts +13 -4
- package/collection/immutable/HashSet/api.d.ts +66 -51
- package/collection/immutable/HashSet/definition.d.ts +15 -6
- package/collection/immutable/ImmutableArray/api/chunksOf.d.ts +2 -2
- package/collection/immutable/ImmutableArray/api/slice.d.ts +2 -2
- package/collection/immutable/ImmutableArray/api/splitAt.d.ts +2 -2
- package/collection/immutable/ImmutableArray/api/splitWhere.d.ts +3 -3
- package/collection/immutable/ImmutableArray/api.d.ts +206 -206
- package/collection/immutable/ImmutableArray/definition.d.ts +2 -2
- package/collection/immutable/ImmutableArray.d.ts +0 -1
- package/collection/immutable/ImmutableNonEmptyArray/api.d.ts +64 -63
- package/collection/immutable/ImmutableNonEmptyArray.d.ts +0 -1
- package/collection/immutable/List/api/foldLeft.d.ts +2 -2
- package/collection/immutable/List/api.d.ts +28 -26
- package/collection/immutable/List/constructors.d.ts +1 -1
- package/collection/immutable/Queue/api.d.ts +23 -23
- package/collection/immutable/Queue/guards.d.ts +1 -1
- package/collection/immutable/RoseTree/api.d.ts +14 -14
- package/collection/immutable/RoseTree/definition.d.ts +2 -2
- package/collection/immutable/SortedMap/api.d.ts +47 -46
- package/collection/immutable/SortedMap/definition.d.ts +3 -0
- package/collection/immutable/Vector/api.d.ts +136 -132
- package/collection/immutable/Vector/definition.d.ts +4 -4
- package/collection/immutable/Vector/internal.d.ts +2 -2
- package/collection/immutable.d.ts +1 -0
- package/collection/mutable/HashMap.d.ts +2 -2
- package/collection/mutable/HashSet.d.ts +2 -2
- package/collection/mutable/ListBuffer.d.ts +1 -1
- package/control/Eval/api.d.ts +12 -12
- package/control/Z/api.d.ts +68 -68
- package/control/Z/runtime.d.ts +10 -10
- package/data/Branded.d.ts +0 -1
- package/data/CaseClass.d.ts +2 -2
- package/data/Cause/api/fold.d.ts +3 -3
- package/data/Cause/api.d.ts +20 -20
- package/data/Const/api.d.ts +3 -3
- package/data/Datum/api.d.ts +44 -43
- package/data/Datum/definition.d.ts +2 -2
- package/data/DatumEither/api.d.ts +48 -46
- package/data/DecodeError/definition.d.ts +2 -1
- package/data/Decoder/api.d.ts +154 -6
- package/data/Duration/api.d.ts +12 -7
- package/data/Duration/definition.d.ts +2 -2
- package/data/Either/api/align.d.ts +5 -1
- package/data/Either/api/alignWith.d.ts +2 -2
- package/data/Either/api.d.ts +40 -46
- package/data/Either/constructors.d.ts +6 -6
- package/data/Either/destructors.d.ts +2 -2
- package/data/Either/instances.d.ts +1 -1
- package/data/EitherT/api.d.ts +6 -6
- package/data/Encoder/api.d.ts +214 -0
- package/data/Encoder/definition.d.ts +16 -0
- package/data/Encoder.d.ts +2 -0
- package/data/Environment/api.d.ts +14 -14
- package/data/Environment/definition.d.ts +2 -2
- package/data/EnvironmentPatch.d.ts +4 -4
- package/{typeclass → data}/Eq/definition.d.ts +3 -3
- package/{typeclass → data}/Eq/derivations.d.ts +3 -3
- package/{typeclass → data}/Eq.d.ts +0 -0
- package/{typeclass → data}/Equatable/api.d.ts +2 -2
- package/{typeclass → data}/Equatable/definition.d.ts +1 -1
- package/{typeclass → data}/Equatable/fast-equals.d.ts +0 -0
- package/{typeclass → data}/Equatable.d.ts +0 -0
- package/data/ExecutionStrategy.d.ts +1 -6
- package/data/Exit/api.d.ts +34 -34
- package/data/Exit/constructors.d.ts +2 -2
- package/data/Exit/definition.d.ts +1 -1
- package/data/FiberId/api.d.ts +2 -2
- package/data/FiberId/constructors.d.ts +1 -2
- package/data/FiberId/definition.d.ts +7 -5
- package/data/Guard/api.d.ts +242 -0
- package/{typeclass → data}/Guard/definition.d.ts +4 -2
- package/{typeclass → data}/Guard.d.ts +0 -0
- package/{typeclass → data}/Hash.d.ts +1 -1
- package/{typeclass → data}/HashEq.d.ts +6 -7
- package/{typeclass → data}/Hashable/definition.d.ts +1 -1
- package/{typeclass → data}/Hashable/hash.d.ts +11 -11
- package/{typeclass → data}/Hashable.d.ts +0 -0
- package/data/Identity/api.d.ts +8 -8
- package/data/Interval.d.ts +13 -12
- package/data/Intervals.d.ts +11 -11
- package/data/Maybe/api.d.ts +36 -37
- package/data/Maybe/constructors.d.ts +2 -2
- package/data/Maybe/definition.d.ts +9 -5
- package/data/Maybe/destructors.d.ts +2 -2
- package/data/Maybe/instances.d.ts +7 -1
- package/data/Ord/api/contramap.d.ts +6 -0
- package/data/Ord/api/max.d.ts +7 -0
- package/data/Ord/api/min.d.ts +7 -0
- package/{typeclass → data}/Ord/api.d.ts +0 -0
- package/data/Ord/definition.d.ts +19 -0
- package/{typeclass → data}/Ord/instances.d.ts +3 -3
- package/{typeclass → data}/Ord.d.ts +0 -0
- package/{typeclass → data}/Ordering.d.ts +5 -5
- package/data/Predicate/api.d.ts +5 -5
- package/data/Refinement/api.d.ts +9 -9
- package/data/Showable/definition.d.ts +17 -0
- package/{typeclass → data}/Showable/show.d.ts +1 -1
- package/{typeclass → data}/Showable/styles.d.ts +0 -0
- package/{typeclass → data}/Showable/util.d.ts +0 -0
- package/{typeclass → data}/Showable.d.ts +0 -0
- package/data/Struct/api.d.ts +13 -23
- package/data/Tag/constructors.d.ts +1 -2
- package/data/Tag/definition.d.ts +2 -3
- package/data/These/api.d.ts +18 -22
- package/data/These/destructors.d.ts +4 -4
- package/data/These/instances.d.ts +1 -1
- package/data/Trace/api.d.ts +2 -2
- package/data/bigint/instances.d.ts +1 -0
- package/data/boolean/instances.d.ts +1 -0
- package/data/function/api.d.ts +3 -3
- package/data/function/pipe.d.ts +7 -1
- package/data/number/instances.d.ts +1 -1
- package/data/object/instances.d.ts +0 -6
- package/data/string/api.d.ts +9 -49
- package/data.d.ts +10 -0
- package/global/api.d.ts +3 -3
- package/global.d.ts +28 -12
- package/internal/Stack.d.ts +1 -1
- package/optics/At/definition.d.ts +1 -1
- package/optics/Fold/definition.d.ts +2 -6
- package/optics/Getter/definition.d.ts +1 -1
- package/optics/Index/definition.d.ts +1 -1
- package/optics/Iso/api.d.ts +2 -2
- package/optics/Iso/definition.d.ts +2 -2
- package/optics/Lens/api.d.ts +10 -10
- package/optics/Lens/definition.d.ts +4 -4
- package/optics/Optional/api/compose.d.ts +2 -2
- package/optics/Optional/definition.d.ts +4 -8
- package/optics/Prism/api/compose.d.ts +2 -2
- package/optics/Prism/definition.d.ts +2 -2
- package/optics/Setter/definition.d.ts +2 -14
- package/optics/Traversal/api/compose.d.ts +2 -2
- package/optics/Traversal/definition.d.ts +4 -4
- package/package.json +2 -2
- package/typeclass/Alt.d.ts +1 -1
- package/typeclass/ApplicativeExcept.d.ts +2 -6
- package/typeclass/Apply.d.ts +7 -7
- package/typeclass/Chain.d.ts +4 -4
- package/typeclass/Closure.d.ts +2 -2
- package/typeclass/Filterable.d.ts +6 -6
- package/typeclass/FilterableWithIndex.d.ts +6 -6
- package/typeclass/Foldable.d.ts +4 -4
- package/typeclass/FoldableWithIndex.d.ts +4 -4
- package/typeclass/Functor.d.ts +2 -2
- package/typeclass/FunctorWithIndex.d.ts +1 -1
- package/typeclass/Has.d.ts +3 -3
- package/typeclass/Semialign.d.ts +14 -14
- package/typeclass/Semigroup/api.d.ts +1 -1
- package/typeclass/Semigroup/definition.d.ts +2 -2
- package/typeclass/Semimonoidal.d.ts +1 -1
- package/typeclass/Traversable.d.ts +4 -6
- package/typeclass/TraversableWithIndex.d.ts +2 -2
- package/typeclass/Witherable.d.ts +3 -3
- package/typeclass/WitherableWithIndex.d.ts +5 -5
- package/typeclass.d.ts +8 -8
- package/types/extractions.d.ts +10 -6
- package/util/assert.d.ts +1 -1
- package/_cjs/collection/compat/Array/derivations.cjs +0 -96
- package/_cjs/collection/compat/Array/derivations.cjs.map +0 -1
- package/_cjs/collection/compat/Record/instances.cjs +0 -128
- package/_cjs/collection/compat/Record/instances.cjs.map +0 -1
- package/_cjs/collection/compat/Record.cjs +0 -19
- package/_cjs/collection/compat/Record.cjs.map +0 -1
- package/_cjs/collection/immutable/Conc/derivations.cjs +0 -45
- package/_cjs/collection/immutable/Conc/derivations.cjs.map +0 -1
- package/_cjs/collection/immutable/ImmutableArray/derivations.cjs +0 -41
- package/_cjs/collection/immutable/ImmutableArray/derivations.cjs.map +0 -1
- package/_cjs/collection/immutable/ImmutableNonEmptyArray/derivations.cjs +0 -62
- package/_cjs/collection/immutable/ImmutableNonEmptyArray/derivations.cjs.map +0 -1
- package/_cjs/data/Branded/derivations.cjs +0 -58
- package/_cjs/data/Branded/derivations.cjs.map +0 -1
- package/_cjs/typeclass/Eq/definition.cjs.map +0 -1
- package/_cjs/typeclass/Eq/derivations.cjs.map +0 -1
- package/_cjs/typeclass/Eq.cjs.map +0 -1
- package/_cjs/typeclass/Equatable/api.cjs.map +0 -1
- package/_cjs/typeclass/Equatable/definition.cjs.map +0 -1
- package/_cjs/typeclass/Equatable/fast-equals.cjs.map +0 -1
- package/_cjs/typeclass/Equatable.cjs.map +0 -1
- package/_cjs/typeclass/Guard/api.cjs +0 -40
- package/_cjs/typeclass/Guard/api.cjs.map +0 -1
- package/_cjs/typeclass/Guard/definition.cjs.map +0 -1
- package/_cjs/typeclass/Guard/derivations.cjs +0 -85
- package/_cjs/typeclass/Guard/derivations.cjs.map +0 -1
- package/_cjs/typeclass/Guard.cjs.map +0 -1
- package/_cjs/typeclass/Hash.cjs.map +0 -1
- package/_cjs/typeclass/HashEq.cjs.map +0 -1
- package/_cjs/typeclass/Hashable/definition.cjs.map +0 -1
- package/_cjs/typeclass/Hashable/hash.cjs.map +0 -1
- package/_cjs/typeclass/Hashable.cjs.map +0 -1
- package/_cjs/typeclass/Ord/api/contramap.cjs +0 -17
- package/_cjs/typeclass/Ord/api/contramap.cjs.map +0 -1
- package/_cjs/typeclass/Ord/api/max.cjs.map +0 -1
- package/_cjs/typeclass/Ord/api/min.cjs.map +0 -1
- package/_cjs/typeclass/Ord/api.cjs.map +0 -1
- package/_cjs/typeclass/Ord/definition.cjs.map +0 -1
- package/_cjs/typeclass/Ord/instances.cjs.map +0 -1
- package/_cjs/typeclass/Ord.cjs.map +0 -1
- package/_cjs/typeclass/Ordering.cjs.map +0 -1
- package/_cjs/typeclass/Showable/definition.cjs.map +0 -1
- package/_cjs/typeclass/Showable/show.cjs.map +0 -1
- package/_cjs/typeclass/Showable/styles.cjs.map +0 -1
- package/_cjs/typeclass/Showable/util.cjs.map +0 -1
- package/_cjs/typeclass/Showable.cjs.map +0 -1
- package/_mjs/collection/compat/Array/derivations.mjs +0 -70
- package/_mjs/collection/compat/Array/derivations.mjs.map +0 -1
- package/_mjs/collection/compat/Record/instances.mjs +0 -105
- package/_mjs/collection/compat/Record/instances.mjs.map +0 -1
- package/_mjs/collection/compat/Record.mjs +0 -3
- package/_mjs/collection/compat/Record.mjs.map +0 -1
- package/_mjs/collection/immutable/Conc/derivations.mjs +0 -27
- package/_mjs/collection/immutable/Conc/derivations.mjs.map +0 -1
- package/_mjs/collection/immutable/ImmutableArray/derivations.mjs +0 -25
- package/_mjs/collection/immutable/ImmutableArray/derivations.mjs.map +0 -1
- package/_mjs/collection/immutable/ImmutableNonEmptyArray/derivations.mjs +0 -39
- package/_mjs/collection/immutable/ImmutableNonEmptyArray/derivations.mjs.map +0 -1
- package/_mjs/data/Branded/derivations.mjs +0 -40
- package/_mjs/data/Branded/derivations.mjs.map +0 -1
- package/_mjs/typeclass/Eq/definition.mjs.map +0 -1
- package/_mjs/typeclass/Eq/derivations.mjs.map +0 -1
- package/_mjs/typeclass/Eq.mjs.map +0 -1
- package/_mjs/typeclass/Equatable/api.mjs.map +0 -1
- package/_mjs/typeclass/Equatable/definition.mjs.map +0 -1
- package/_mjs/typeclass/Equatable/fast-equals.mjs.map +0 -1
- package/_mjs/typeclass/Equatable.mjs.map +0 -1
- package/_mjs/typeclass/Guard/api.mjs +0 -24
- package/_mjs/typeclass/Guard/api.mjs.map +0 -1
- package/_mjs/typeclass/Guard/definition.mjs.map +0 -1
- package/_mjs/typeclass/Guard/derivations.mjs +0 -67
- package/_mjs/typeclass/Guard/derivations.mjs.map +0 -1
- package/_mjs/typeclass/Guard.mjs +0 -4
- package/_mjs/typeclass/Guard.mjs.map +0 -1
- package/_mjs/typeclass/Hash.mjs.map +0 -1
- package/_mjs/typeclass/HashEq.mjs +0 -33
- package/_mjs/typeclass/HashEq.mjs.map +0 -1
- package/_mjs/typeclass/Hashable/definition.mjs.map +0 -1
- package/_mjs/typeclass/Hashable/hash.mjs.map +0 -1
- package/_mjs/typeclass/Hashable.mjs.map +0 -1
- package/_mjs/typeclass/Ord/api/contramap.mjs +0 -10
- package/_mjs/typeclass/Ord/api/contramap.mjs.map +0 -1
- package/_mjs/typeclass/Ord/api/max.mjs +0 -8
- package/_mjs/typeclass/Ord/api/max.mjs.map +0 -1
- package/_mjs/typeclass/Ord/api/min.mjs +0 -8
- package/_mjs/typeclass/Ord/api/min.mjs.map +0 -1
- package/_mjs/typeclass/Ord/api.mjs.map +0 -1
- package/_mjs/typeclass/Ord/definition.mjs +0 -13
- package/_mjs/typeclass/Ord/definition.mjs.map +0 -1
- package/_mjs/typeclass/Ord/instances.mjs +0 -37
- package/_mjs/typeclass/Ord/instances.mjs.map +0 -1
- package/_mjs/typeclass/Ord.mjs.map +0 -1
- package/_mjs/typeclass/Ordering.mjs.map +0 -1
- package/_mjs/typeclass/Showable/definition.mjs.map +0 -1
- package/_mjs/typeclass/Showable/show.mjs.map +0 -1
- package/_mjs/typeclass/Showable/styles.mjs.map +0 -1
- package/_mjs/typeclass/Showable/util.mjs.map +0 -1
- package/_mjs/typeclass/Showable.mjs.map +0 -1
- package/_src/collection/compat/Array/derivations.ts +0 -85
- package/_src/collection/compat/Record/instances.ts +0 -102
- package/_src/collection/compat/Record.ts +0 -3
- package/_src/collection/immutable/Conc/derivations.ts +0 -28
- package/_src/collection/immutable/ImmutableArray/derivations.ts +0 -28
- package/_src/collection/immutable/ImmutableNonEmptyArray/derivations.ts +0 -44
- package/_src/data/Branded/derivations.ts +0 -58
- package/_src/typeclass/Guard/api.ts +0 -32
- package/_src/typeclass/Guard/derivations.ts +0 -81
- package/_src/typeclass/Guard.ts +0 -4
- package/_src/typeclass/Ord/api/contramap.ts +0 -11
- package/_src/typeclass/Ord/api/max.ts +0 -9
- package/_src/typeclass/Ord/api/min.ts +0 -9
- package/collection/compat/Array/derivations.d.ts +0 -24
- package/collection/compat/Record/instances.d.ts +0 -22
- package/collection/compat/Record.d.ts +0 -1
- package/collection/immutable/Conc/derivations.d.ts +0 -14
- package/collection/immutable/ImmutableArray/derivations.d.ts +0 -14
- package/collection/immutable/ImmutableNonEmptyArray/derivations.d.ts +0 -14
- package/data/Branded/derivations.d.ts +0 -24
- package/typeclass/Guard/api.d.ts +0 -20
- package/typeclass/Guard/derivations.d.ts +0 -36
- package/typeclass/Ord/api/contramap.d.ts +0 -6
- package/typeclass/Ord/api/max.d.ts +0 -7
- package/typeclass/Ord/api/min.d.ts +0 -7
- package/typeclass/Ord/definition.d.ts +0 -19
- package/typeclass/Showable/definition.d.ts +0 -17
|
@@ -3,7 +3,6 @@
|
|
|
3
3
|
* Internal
|
|
4
4
|
* -------------------------------------------------------------------------------------------------
|
|
5
5
|
*/
|
|
6
|
-
|
|
7
6
|
/**
|
|
8
7
|
* @internal
|
|
9
8
|
*/
|
|
@@ -17,48 +16,39 @@ export class VectorIterator {
|
|
|
17
16
|
this.idx = direction === 1 ? -1 : l.length;
|
|
18
17
|
this.prefixSize = getPrefixSize(l);
|
|
19
18
|
this.middleSize = l.length - getSuffixSize(l);
|
|
20
|
-
|
|
21
19
|
if (l.root !== undefined) {
|
|
22
20
|
const depth = getDepth(l);
|
|
23
21
|
this.stack = new Array(depth + 1);
|
|
24
22
|
this.indices = new Array(depth + 1);
|
|
25
23
|
let currentNode = l.root.array;
|
|
26
|
-
|
|
27
24
|
for (let i = depth; 0 <= i; --i) {
|
|
28
25
|
this.stack[i] = currentNode;
|
|
29
26
|
const idx = direction === 1 ? 0 : currentNode.length - 1;
|
|
30
27
|
this.indices[i] = idx;
|
|
31
28
|
currentNode = currentNode[idx].array;
|
|
32
29
|
}
|
|
33
|
-
|
|
34
30
|
this.indices[0] -= direction;
|
|
35
31
|
}
|
|
36
32
|
}
|
|
37
|
-
|
|
38
33
|
}
|
|
39
34
|
/**
|
|
40
35
|
* @internal
|
|
41
36
|
*/
|
|
42
|
-
|
|
43
37
|
export class ForwardVectorIterator extends VectorIterator {
|
|
44
38
|
constructor(l) {
|
|
45
39
|
super(l, 1);
|
|
46
40
|
}
|
|
47
|
-
|
|
48
41
|
nextInTree() {
|
|
49
42
|
for (var i = 0; ++this.indices[i] === this.stack[i].length; ++i) {
|
|
50
43
|
this.indices[i] = 0;
|
|
51
44
|
}
|
|
52
|
-
|
|
53
45
|
for (; 0 < i; --i) {
|
|
54
46
|
this.stack[i - 1] = this.stack[i][this.indices[i]].array;
|
|
55
47
|
}
|
|
56
48
|
}
|
|
57
|
-
|
|
58
49
|
next() {
|
|
59
50
|
let newVal;
|
|
60
51
|
const idx = ++this.idx;
|
|
61
|
-
|
|
62
52
|
if (idx < this.prefixSize) {
|
|
63
53
|
newVal = this.l.prefix[this.prefixSize - idx - 1];
|
|
64
54
|
} else if (idx < this.middleSize) {
|
|
@@ -69,38 +59,31 @@ export class ForwardVectorIterator extends VectorIterator {
|
|
|
69
59
|
} else {
|
|
70
60
|
this.result.done = true;
|
|
71
61
|
}
|
|
72
|
-
|
|
73
62
|
this.result.value = newVal;
|
|
74
63
|
return this.result;
|
|
75
64
|
}
|
|
76
|
-
|
|
77
65
|
}
|
|
78
66
|
/**
|
|
79
67
|
* @internal
|
|
80
68
|
*/
|
|
81
|
-
|
|
82
69
|
export class BackwardVectorIterator extends VectorIterator {
|
|
83
70
|
constructor(l) {
|
|
84
71
|
super(l, -1);
|
|
85
72
|
}
|
|
86
|
-
|
|
87
73
|
prevInTree() {
|
|
88
|
-
for (var i = 0; this.indices[i] === 0; ++i) {
|
|
74
|
+
for (var i = 0; this.indices[i] === 0; ++i) {
|
|
75
|
+
//
|
|
89
76
|
}
|
|
90
|
-
|
|
91
77
|
--this.indices[i];
|
|
92
|
-
|
|
93
78
|
for (; 0 < i; --i) {
|
|
94
79
|
const n = this.stack[i][this.indices[i]].array;
|
|
95
80
|
this.stack[i - 1] = n;
|
|
96
81
|
this.indices[i - 1] = n.length - 1;
|
|
97
82
|
}
|
|
98
83
|
}
|
|
99
|
-
|
|
100
84
|
next() {
|
|
101
85
|
let newVal;
|
|
102
86
|
const idx = --this.idx;
|
|
103
|
-
|
|
104
87
|
if (this.middleSize <= idx) {
|
|
105
88
|
newVal = this.l.suffix[idx - this.middleSize];
|
|
106
89
|
} else if (this.prefixSize <= idx) {
|
|
@@ -111,76 +94,59 @@ export class BackwardVectorIterator extends VectorIterator {
|
|
|
111
94
|
} else {
|
|
112
95
|
this.result.done = true;
|
|
113
96
|
}
|
|
114
|
-
|
|
115
97
|
this.result.value = newVal;
|
|
116
98
|
return this.result;
|
|
117
99
|
}
|
|
118
|
-
|
|
119
100
|
}
|
|
120
101
|
/**
|
|
121
102
|
* @internal
|
|
122
103
|
*/
|
|
123
|
-
|
|
124
104
|
const branchingFactor = 32;
|
|
125
105
|
/**
|
|
126
106
|
* @internal
|
|
127
107
|
*/
|
|
128
|
-
|
|
129
108
|
export const branchBits = 5;
|
|
130
109
|
/**
|
|
131
110
|
* @internal
|
|
132
111
|
*/
|
|
133
|
-
|
|
134
112
|
export const mask = 31;
|
|
135
113
|
/** @internal */
|
|
136
|
-
|
|
137
114
|
export class Node {
|
|
138
115
|
constructor(sizes, array) {
|
|
139
116
|
this.sizes = sizes;
|
|
140
117
|
this.array = array;
|
|
141
118
|
}
|
|
142
|
-
|
|
143
119
|
}
|
|
144
120
|
/**
|
|
145
121
|
* @internal
|
|
146
122
|
*/
|
|
147
|
-
|
|
148
123
|
function elementEquals(a, b) {
|
|
149
124
|
return a === b;
|
|
150
125
|
}
|
|
151
126
|
/**
|
|
152
127
|
* @internal
|
|
153
128
|
*/
|
|
154
|
-
|
|
155
|
-
|
|
156
129
|
function createPath(depth, value) {
|
|
157
130
|
let current = value;
|
|
158
|
-
|
|
159
131
|
for (let i = 0; i < depth; ++i) {
|
|
160
132
|
current = new Node(undefined, [current]);
|
|
161
133
|
}
|
|
162
|
-
|
|
163
134
|
return current;
|
|
164
|
-
}
|
|
165
|
-
|
|
135
|
+
}
|
|
136
|
+
// Array Helpers
|
|
166
137
|
/**
|
|
167
138
|
* @internal
|
|
168
139
|
*/
|
|
169
|
-
|
|
170
|
-
|
|
171
140
|
export function copyArray(source) {
|
|
172
141
|
const array = [];
|
|
173
|
-
|
|
174
142
|
for (let i = 0; i < source.length; ++i) {
|
|
175
143
|
array[i] = source[i];
|
|
176
144
|
}
|
|
177
|
-
|
|
178
145
|
return array;
|
|
179
146
|
}
|
|
180
147
|
/**
|
|
181
148
|
* @internal
|
|
182
149
|
*/
|
|
183
|
-
|
|
184
150
|
function pushElements(source, target, offset, amount) {
|
|
185
151
|
for (let i = offset; i < offset + amount; ++i) {
|
|
186
152
|
target.push(source[i]);
|
|
@@ -189,8 +155,6 @@ function pushElements(source, target, offset, amount) {
|
|
|
189
155
|
/**
|
|
190
156
|
* @internal
|
|
191
157
|
*/
|
|
192
|
-
|
|
193
|
-
|
|
194
158
|
function copyIndices(source, sourceStart, target, targetStart, length) {
|
|
195
159
|
for (let i = 0; i < length; ++i) {
|
|
196
160
|
target[targetStart + i] = source[sourceStart + i];
|
|
@@ -199,44 +163,34 @@ function copyIndices(source, sourceStart, target, targetStart, length) {
|
|
|
199
163
|
/**
|
|
200
164
|
* @internal
|
|
201
165
|
*/
|
|
202
|
-
|
|
203
|
-
|
|
204
166
|
function arrayPrepend(value, array) {
|
|
205
167
|
const newLength = array.length + 1;
|
|
206
168
|
const result = new Array(newLength);
|
|
207
169
|
result[0] = value;
|
|
208
|
-
|
|
209
170
|
for (let i = 1; i < newLength; ++i) {
|
|
210
171
|
result[i] = array[i - 1];
|
|
211
172
|
}
|
|
212
|
-
|
|
213
173
|
return result;
|
|
214
174
|
}
|
|
215
175
|
/**
|
|
216
176
|
* Create a reverse _copy_ of an array.
|
|
217
177
|
* @internal
|
|
218
178
|
*/
|
|
219
|
-
|
|
220
|
-
|
|
221
179
|
export function reverseArray(array) {
|
|
222
180
|
return array.slice().reverse();
|
|
223
181
|
}
|
|
224
182
|
/**
|
|
225
183
|
* @internal
|
|
226
184
|
*/
|
|
227
|
-
|
|
228
185
|
function arrayFirst(array) {
|
|
229
186
|
return array[0];
|
|
230
187
|
}
|
|
231
188
|
/**
|
|
232
189
|
* @internal
|
|
233
190
|
*/
|
|
234
|
-
|
|
235
|
-
|
|
236
191
|
function arrayLast(array) {
|
|
237
192
|
return array[array.length - 1];
|
|
238
193
|
}
|
|
239
|
-
|
|
240
194
|
const pathResult = {
|
|
241
195
|
path: 0,
|
|
242
196
|
index: 0,
|
|
@@ -245,27 +199,21 @@ const pathResult = {
|
|
|
245
199
|
/**
|
|
246
200
|
* @internal
|
|
247
201
|
*/
|
|
248
|
-
|
|
249
202
|
function getPath(index, offset, depth, sizes) {
|
|
250
203
|
let i = index;
|
|
251
|
-
|
|
252
204
|
if (sizes === undefined && offset !== 0) {
|
|
253
205
|
pathResult.updatedOffset = 0;
|
|
254
206
|
i = handleOffset(depth, offset, i);
|
|
255
207
|
}
|
|
256
|
-
|
|
257
208
|
let path = i >> depth * branchBits & mask;
|
|
258
|
-
|
|
259
209
|
if (sizes !== undefined) {
|
|
260
210
|
while (sizes[path] <= i) {
|
|
261
211
|
path++;
|
|
262
212
|
}
|
|
263
|
-
|
|
264
213
|
const traversed = path === 0 ? 0 : sizes[path - 1];
|
|
265
214
|
i -= traversed;
|
|
266
215
|
pathResult.updatedOffset = offset;
|
|
267
216
|
}
|
|
268
|
-
|
|
269
217
|
pathResult.path = path;
|
|
270
218
|
pathResult.index = i;
|
|
271
219
|
return pathResult;
|
|
@@ -273,8 +221,6 @@ function getPath(index, offset, depth, sizes) {
|
|
|
273
221
|
/**
|
|
274
222
|
* @internal
|
|
275
223
|
*/
|
|
276
|
-
|
|
277
|
-
|
|
278
224
|
export function updateNode(node, depth, index, offset, value) {
|
|
279
225
|
const {
|
|
280
226
|
path,
|
|
@@ -288,201 +234,174 @@ export function updateNode(node, depth, index, offset, value) {
|
|
|
288
234
|
/**
|
|
289
235
|
* @internal
|
|
290
236
|
*/
|
|
291
|
-
|
|
292
237
|
function cloneNode({
|
|
293
238
|
sizes,
|
|
294
239
|
array
|
|
295
240
|
}) {
|
|
296
241
|
return new Node(sizes === undefined ? undefined : copyArray(sizes), copyArray(array));
|
|
297
|
-
}
|
|
242
|
+
}
|
|
243
|
+
// This array should not be mutated. Thus a dummy element is placed in
|
|
298
244
|
// it. Thus the affix will not be owned and thus not mutated.
|
|
299
|
-
|
|
300
245
|
/**
|
|
301
246
|
* @internal
|
|
302
247
|
*/
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
export const emptyAffix = [0]; // We store a bit field in Vector. From right to left, the first five
|
|
248
|
+
export const emptyAffix = [0];
|
|
249
|
+
// We store a bit field in Vector. From right to left, the first five
|
|
306
250
|
// bits are suffix length, the next five are prefix length and the
|
|
307
251
|
// rest is depth. The functions below are for working with the bits in
|
|
308
252
|
// a sane way.
|
|
309
|
-
|
|
310
253
|
/**
|
|
311
254
|
* @internal
|
|
312
255
|
*/
|
|
313
|
-
|
|
314
256
|
const affixBits = 6;
|
|
315
257
|
/**
|
|
316
258
|
* @internal
|
|
317
259
|
*/
|
|
318
|
-
|
|
319
260
|
const affixMask = 0b111111;
|
|
320
261
|
/**
|
|
321
262
|
* @internal
|
|
322
263
|
*/
|
|
323
|
-
|
|
324
264
|
export function getSuffixSize(l) {
|
|
325
265
|
return l.bits & affixMask;
|
|
326
266
|
}
|
|
327
267
|
/**
|
|
328
268
|
* @internal
|
|
329
269
|
*/
|
|
330
|
-
|
|
331
270
|
export function getPrefixSize(l) {
|
|
332
271
|
return l.bits >> affixBits & affixMask;
|
|
333
272
|
}
|
|
334
273
|
/**
|
|
335
274
|
* @internal
|
|
336
275
|
*/
|
|
337
|
-
|
|
338
276
|
export function getDepth(l) {
|
|
339
277
|
return l.bits >> affixBits * 2;
|
|
340
278
|
}
|
|
341
279
|
/**
|
|
342
280
|
* @internal
|
|
343
281
|
*/
|
|
344
|
-
|
|
345
282
|
export function setPrefix(size, bits) {
|
|
346
283
|
return size << affixBits | bits & ~(affixMask << affixBits);
|
|
347
284
|
}
|
|
348
285
|
/**
|
|
349
286
|
* @internal
|
|
350
287
|
*/
|
|
351
|
-
|
|
352
288
|
export function setSuffix(size, bits) {
|
|
353
289
|
return size | bits & ~affixMask;
|
|
354
290
|
}
|
|
355
291
|
/**
|
|
356
292
|
* @internal
|
|
357
293
|
*/
|
|
358
|
-
|
|
359
294
|
export function setDepth(depth, bits) {
|
|
360
295
|
return depth << affixBits * 2 | bits & (affixMask | affixMask << affixBits);
|
|
361
296
|
}
|
|
362
297
|
/**
|
|
363
298
|
* @internal
|
|
364
299
|
*/
|
|
365
|
-
|
|
366
300
|
export function incrementPrefix(bits) {
|
|
367
301
|
return bits + (1 << affixBits);
|
|
368
302
|
}
|
|
369
303
|
/**
|
|
370
304
|
* @internal
|
|
371
305
|
*/
|
|
372
|
-
|
|
373
306
|
export function incrementSuffix(bits) {
|
|
374
307
|
return bits + 1;
|
|
375
308
|
}
|
|
376
309
|
/**
|
|
377
310
|
* @internal
|
|
378
311
|
*/
|
|
379
|
-
|
|
380
312
|
export function incrementDepth(bits) {
|
|
381
313
|
return bits + (1 << affixBits * 2);
|
|
382
314
|
}
|
|
383
315
|
/**
|
|
384
316
|
* @internal
|
|
385
317
|
*/
|
|
386
|
-
|
|
387
318
|
export function decrementDepth(bits) {
|
|
388
319
|
return bits - (1 << affixBits * 2);
|
|
389
320
|
}
|
|
390
321
|
/**
|
|
391
322
|
* Appends the value to the Vector by _mutating_ the Vector and its content.
|
|
392
323
|
*
|
|
393
|
-
* @tsplus
|
|
324
|
+
* @tsplus pipeable fncts.MutableVector push
|
|
394
325
|
*/
|
|
395
|
-
|
|
396
|
-
|
|
397
|
-
|
|
398
|
-
|
|
399
|
-
|
|
400
|
-
|
|
401
|
-
|
|
402
|
-
|
|
403
|
-
|
|
404
|
-
l.
|
|
405
|
-
|
|
406
|
-
|
|
407
|
-
|
|
408
|
-
|
|
409
|
-
|
|
410
|
-
|
|
411
|
-
|
|
412
|
-
|
|
413
|
-
|
|
414
|
-
|
|
415
|
-
|
|
416
|
-
|
|
417
|
-
|
|
418
|
-
|
|
419
|
-
|
|
420
|
-
|
|
421
|
-
|
|
422
|
-
|
|
423
|
-
|
|
424
|
-
current.array.push(createPath(depth - 1, newNode));
|
|
425
|
-
break;
|
|
326
|
+
export function push(value) {
|
|
327
|
+
return l => {
|
|
328
|
+
const suffixSize = getSuffixSize(l);
|
|
329
|
+
if (l.length === 0) {
|
|
330
|
+
l.bits = setPrefix(1, l.bits);
|
|
331
|
+
l.prefix = [value];
|
|
332
|
+
} else if (suffixSize < 32) {
|
|
333
|
+
l.bits = incrementSuffix(l.bits);
|
|
334
|
+
l.suffix.push(value);
|
|
335
|
+
} else if (l.root === undefined) {
|
|
336
|
+
l.root = new Node(undefined, l.suffix);
|
|
337
|
+
l.suffix = [value];
|
|
338
|
+
l.bits = setSuffix(1, l.bits);
|
|
339
|
+
} else {
|
|
340
|
+
const newNode = new Node(undefined, l.suffix);
|
|
341
|
+
const index = l.length - 1 - 32 + 1;
|
|
342
|
+
let current = l.root;
|
|
343
|
+
let depth = getDepth(l);
|
|
344
|
+
l.suffix = [value];
|
|
345
|
+
l.bits = setSuffix(1, l.bits);
|
|
346
|
+
if (index - 1 < branchingFactor ** (depth + 1)) {
|
|
347
|
+
for (; depth >= 0; --depth) {
|
|
348
|
+
const path = index >> depth * branchBits & mask;
|
|
349
|
+
if (path < current.array.length) {
|
|
350
|
+
current = current.array[path];
|
|
351
|
+
} else {
|
|
352
|
+
current.array.push(createPath(depth - 1, newNode));
|
|
353
|
+
break;
|
|
354
|
+
}
|
|
426
355
|
}
|
|
356
|
+
} else {
|
|
357
|
+
l.bits = incrementDepth(l.bits);
|
|
358
|
+
l.root = new Node(undefined, [l.root, createPath(depth, newNode)]);
|
|
427
359
|
}
|
|
428
|
-
} else {
|
|
429
|
-
l.bits = incrementDepth(l.bits);
|
|
430
|
-
l.root = new Node(undefined, [l.root, createPath(depth, newNode)]);
|
|
431
360
|
}
|
|
432
|
-
|
|
433
|
-
|
|
434
|
-
|
|
435
|
-
return l;
|
|
361
|
+
l.length++;
|
|
362
|
+
return l;
|
|
363
|
+
};
|
|
436
364
|
}
|
|
437
365
|
/**
|
|
438
366
|
* @internal
|
|
439
367
|
*/
|
|
440
|
-
|
|
441
368
|
export function nodeNthDense(node, depth, index) {
|
|
442
|
-
let current = node;
|
|
443
|
-
|
|
369
|
+
let current = node;
|
|
370
|
+
// eslint-disable-next-line no-param-reassign
|
|
444
371
|
for (; depth >= 0; --depth) {
|
|
445
372
|
current = current.array[index >> depth * branchBits & mask];
|
|
446
373
|
}
|
|
447
|
-
|
|
448
374
|
return current;
|
|
449
375
|
}
|
|
450
376
|
/**
|
|
451
377
|
* @internal
|
|
452
378
|
*/
|
|
453
|
-
|
|
454
379
|
export function handleOffset(depth, offset, index) {
|
|
455
380
|
let i = index;
|
|
456
|
-
i += offset;
|
|
457
|
-
|
|
381
|
+
i += offset;
|
|
382
|
+
// eslint-disable-next-line no-param-reassign
|
|
458
383
|
for (; depth >= 0; --depth) {
|
|
459
384
|
i = index - (offset & mask << depth * branchBits);
|
|
460
|
-
|
|
461
385
|
if ((index >> depth * branchBits & mask) !== 0) {
|
|
462
386
|
break;
|
|
463
387
|
}
|
|
464
388
|
}
|
|
465
|
-
|
|
466
389
|
return i;
|
|
467
390
|
}
|
|
468
391
|
/**
|
|
469
392
|
* @internal
|
|
470
393
|
*/
|
|
471
|
-
|
|
472
394
|
export function nodeNth(node, depth, offset, index) {
|
|
473
395
|
let path;
|
|
474
396
|
let current = node;
|
|
475
397
|
let i = index;
|
|
476
398
|
let ofs = offset;
|
|
477
399
|
let dep = depth;
|
|
478
|
-
|
|
479
400
|
while (current.sizes !== undefined) {
|
|
480
401
|
path = i >> dep * branchBits & mask;
|
|
481
|
-
|
|
482
402
|
while (current.sizes[path] <= i) {
|
|
483
403
|
path++;
|
|
484
404
|
}
|
|
485
|
-
|
|
486
405
|
if (path !== 0) {
|
|
487
406
|
i -= current.sizes[path - 1];
|
|
488
407
|
ofs = 0; // Offset is discarded if the left spine isn't traversed
|
|
@@ -491,22 +410,18 @@ export function nodeNth(node, depth, offset, index) {
|
|
|
491
410
|
dep--;
|
|
492
411
|
current = current.array[path];
|
|
493
412
|
}
|
|
494
|
-
|
|
495
413
|
return nodeNthDense(current, dep, ofs === 0 ? i : handleOffset(dep, ofs, i));
|
|
496
414
|
}
|
|
497
415
|
/**
|
|
498
416
|
* @internal
|
|
499
417
|
*/
|
|
500
|
-
|
|
501
418
|
export function setSizes(node, height) {
|
|
502
419
|
let sum = 0;
|
|
503
420
|
const sizeTable = [];
|
|
504
|
-
|
|
505
421
|
for (let i = 0; i < node.array.length; ++i) {
|
|
506
422
|
sum += sizeOfSubtree(node.array[i], height - 1);
|
|
507
423
|
sizeTable[i] = sum;
|
|
508
424
|
}
|
|
509
|
-
|
|
510
425
|
node.sizes = sizeTable;
|
|
511
426
|
return node;
|
|
512
427
|
}
|
|
@@ -515,7 +430,6 @@ export function setSizes(node, height) {
|
|
|
515
430
|
*
|
|
516
431
|
* @internal
|
|
517
432
|
*/
|
|
518
|
-
|
|
519
433
|
function sizeOfSubtree(node, height) {
|
|
520
434
|
if (height !== 0) {
|
|
521
435
|
if (node.sizes !== undefined) {
|
|
@@ -528,13 +442,11 @@ function sizeOfSubtree(node, height) {
|
|
|
528
442
|
} else {
|
|
529
443
|
return node.array.length;
|
|
530
444
|
}
|
|
531
|
-
}
|
|
532
|
-
|
|
445
|
+
}
|
|
446
|
+
// prepend & append
|
|
533
447
|
/**
|
|
534
448
|
* @internal
|
|
535
449
|
*/
|
|
536
|
-
|
|
537
|
-
|
|
538
450
|
export function affixPush(a, array, length) {
|
|
539
451
|
if (array.length === length) {
|
|
540
452
|
array.push(a);
|
|
@@ -552,27 +464,21 @@ export function affixPush(a, array, length) {
|
|
|
552
464
|
*
|
|
553
465
|
* @internal
|
|
554
466
|
*/
|
|
555
|
-
|
|
556
467
|
function copyLeft(l, k) {
|
|
557
468
|
let currentNode = cloneNode(l.root); // copy root
|
|
558
|
-
|
|
559
469
|
l.root = currentNode; // install copy of root
|
|
560
|
-
|
|
561
470
|
for (let i = 1; i < k; ++i) {
|
|
562
471
|
const index = 0; // go left
|
|
563
|
-
|
|
564
472
|
if (currentNode.sizes !== undefined) {
|
|
565
473
|
for (let i = 0; i < currentNode.sizes.length; ++i) {
|
|
566
474
|
currentNode.sizes[i] += 32;
|
|
567
475
|
}
|
|
568
476
|
}
|
|
569
|
-
|
|
570
|
-
|
|
571
|
-
|
|
477
|
+
const newNode = cloneNode(currentNode.array[index]);
|
|
478
|
+
// Install the copied node
|
|
572
479
|
currentNode.array[index] = newNode;
|
|
573
480
|
currentNode = newNode;
|
|
574
481
|
}
|
|
575
|
-
|
|
576
482
|
return currentNode;
|
|
577
483
|
}
|
|
578
484
|
/**
|
|
@@ -580,21 +486,16 @@ function copyLeft(l, k) {
|
|
|
580
486
|
*
|
|
581
487
|
* @internal
|
|
582
488
|
*/
|
|
583
|
-
|
|
584
|
-
|
|
585
489
|
function nodePrepend(value, size, node) {
|
|
586
490
|
const array = arrayPrepend(value, node.array);
|
|
587
491
|
let sizes = undefined;
|
|
588
|
-
|
|
589
492
|
if (node.sizes !== undefined) {
|
|
590
493
|
sizes = new Array(node.sizes.length + 1);
|
|
591
494
|
sizes[0] = size;
|
|
592
|
-
|
|
593
495
|
for (let i = 0; i < node.sizes.length; ++i) {
|
|
594
496
|
sizes[i + 1] = node.sizes[i] + size;
|
|
595
497
|
}
|
|
596
498
|
}
|
|
597
|
-
|
|
598
499
|
return new Node(sizes, array);
|
|
599
500
|
}
|
|
600
501
|
/**
|
|
@@ -603,11 +504,8 @@ function nodePrepend(value, size, node) {
|
|
|
603
504
|
*
|
|
604
505
|
* @internal
|
|
605
506
|
*/
|
|
606
|
-
|
|
607
|
-
|
|
608
507
|
function prependTopTree(l, depth, node) {
|
|
609
508
|
let newOffset;
|
|
610
|
-
|
|
611
509
|
if (l.root.array.length < branchingFactor) {
|
|
612
510
|
// There is space in the root, there is never a size table in this
|
|
613
511
|
// case
|
|
@@ -620,7 +518,6 @@ function prependTopTree(l, depth, node) {
|
|
|
620
518
|
newOffset = depth === 0 ? 0 : 32 ** (depth + 1) - 32;
|
|
621
519
|
l.root = new Node(sizes, [createPath(depth, node), l.root]);
|
|
622
520
|
}
|
|
623
|
-
|
|
624
521
|
return newOffset;
|
|
625
522
|
}
|
|
626
523
|
/**
|
|
@@ -629,8 +526,6 @@ function prependTopTree(l, depth, node) {
|
|
|
629
526
|
*
|
|
630
527
|
* @internal
|
|
631
528
|
*/
|
|
632
|
-
|
|
633
|
-
|
|
634
529
|
export function prependNodeToTree(l, array) {
|
|
635
530
|
if (l.root === undefined) {
|
|
636
531
|
if (getSuffixSize(l) === 0) {
|
|
@@ -640,13 +535,11 @@ export function prependNodeToTree(l, array) {
|
|
|
640
535
|
} else {
|
|
641
536
|
l.root = new Node(undefined, array);
|
|
642
537
|
}
|
|
643
|
-
|
|
644
538
|
return l;
|
|
645
539
|
} else {
|
|
646
540
|
const node = new Node(undefined, array);
|
|
647
541
|
const depth = getDepth(l);
|
|
648
542
|
let newOffset = 0;
|
|
649
|
-
|
|
650
543
|
if (l.root.sizes === undefined) {
|
|
651
544
|
if (l.offset !== 0) {
|
|
652
545
|
newOffset = l.offset - branchingFactor;
|
|
@@ -658,30 +551,24 @@ export function prependNodeToTree(l, array) {
|
|
|
658
551
|
}
|
|
659
552
|
} else {
|
|
660
553
|
// represents how many nodes _with size-tables_ that we should copy.
|
|
661
|
-
let copyableCount = 0;
|
|
662
|
-
|
|
554
|
+
let copyableCount = 0;
|
|
555
|
+
// go down while there is size tables
|
|
663
556
|
let nodesTraversed = 0;
|
|
664
557
|
let currentNode = l.root;
|
|
665
|
-
|
|
666
558
|
while (currentNode.sizes !== undefined && nodesTraversed < depth) {
|
|
667
559
|
++nodesTraversed;
|
|
668
|
-
|
|
669
560
|
if (currentNode.array.length < 32) {
|
|
670
561
|
// there is room if offset is > 0 or if the first node does not
|
|
671
562
|
// contain as many nodes as it possibly can
|
|
672
563
|
copyableCount = nodesTraversed;
|
|
673
564
|
}
|
|
674
|
-
|
|
675
565
|
currentNode = currentNode.array[0];
|
|
676
566
|
}
|
|
677
|
-
|
|
678
567
|
if (l.offset !== 0) {
|
|
679
568
|
const copiedNode = copyLeft(l, nodesTraversed);
|
|
680
|
-
|
|
681
569
|
for (let i = 0; i < copiedNode.sizes.length; ++i) {
|
|
682
570
|
copiedNode.sizes[i] += branchingFactor;
|
|
683
571
|
}
|
|
684
|
-
|
|
685
572
|
copiedNode.array[0] = prependDense(copiedNode.array[0], depth - nodesTraversed, l.offset, node);
|
|
686
573
|
l.offset = l.offset - branchingFactor;
|
|
687
574
|
return l;
|
|
@@ -690,8 +577,8 @@ export function prependNodeToTree(l, array) {
|
|
|
690
577
|
l.offset = prependTopTree(l, depth, node);
|
|
691
578
|
} else {
|
|
692
579
|
let parent;
|
|
693
|
-
let prependableNode;
|
|
694
|
-
|
|
580
|
+
let prependableNode;
|
|
581
|
+
// Copy the part of the path with size tables
|
|
695
582
|
if (copyableCount > 1) {
|
|
696
583
|
parent = copyLeft(l, copyableCount - 1);
|
|
697
584
|
prependableNode = parent.array[0];
|
|
@@ -699,23 +586,19 @@ export function prependNodeToTree(l, array) {
|
|
|
699
586
|
parent = undefined;
|
|
700
587
|
prependableNode = l.root;
|
|
701
588
|
}
|
|
702
|
-
|
|
703
|
-
|
|
704
|
-
|
|
589
|
+
const path = createPath(depth - copyableCount, node);
|
|
590
|
+
// add offset
|
|
705
591
|
l.offset = 32 ** (depth - copyableCount + 1) - 32;
|
|
706
592
|
const prepended = nodePrepend(path, 32, prependableNode);
|
|
707
|
-
|
|
708
593
|
if (parent === undefined) {
|
|
709
594
|
l.root = prepended;
|
|
710
595
|
} else {
|
|
711
596
|
parent.array[0] = prepended;
|
|
712
597
|
}
|
|
713
598
|
}
|
|
714
|
-
|
|
715
599
|
return l;
|
|
716
600
|
}
|
|
717
601
|
}
|
|
718
|
-
|
|
719
602
|
l.offset = newOffset;
|
|
720
603
|
return l;
|
|
721
604
|
}
|
|
@@ -725,12 +608,10 @@ export function prependNodeToTree(l, array) {
|
|
|
725
608
|
*
|
|
726
609
|
* @internal
|
|
727
610
|
*/
|
|
728
|
-
|
|
729
611
|
function prependDense(node, depth, offset, value) {
|
|
730
612
|
// We're indexing down `offset - 1`. At each step `path` is either 0 or -1.
|
|
731
613
|
const curOffset = offset >> depth * branchBits & mask;
|
|
732
614
|
const path = (offset - 1 >> depth * branchBits & mask) - curOffset;
|
|
733
|
-
|
|
734
615
|
if (path < 0) {
|
|
735
616
|
return new Node(undefined, arrayPrepend(createPath(depth - 1, value), node.array));
|
|
736
617
|
} else {
|
|
@@ -745,8 +626,6 @@ function prependDense(node, depth, offset, value) {
|
|
|
745
626
|
*
|
|
746
627
|
* @internal
|
|
747
628
|
*/
|
|
748
|
-
|
|
749
|
-
|
|
750
629
|
export function appendNodeToTree(l, array) {
|
|
751
630
|
if (l.root === undefined) {
|
|
752
631
|
// The old Vector has no content in tree, all content is in affixes
|
|
@@ -756,26 +635,20 @@ export function appendNodeToTree(l, array) {
|
|
|
756
635
|
} else {
|
|
757
636
|
l.root = new Node(undefined, array);
|
|
758
637
|
}
|
|
759
|
-
|
|
760
638
|
return l;
|
|
761
639
|
}
|
|
762
|
-
|
|
763
640
|
const depth = getDepth(l);
|
|
764
641
|
let index = handleOffset(depth, l.offset, l.length - 1 - getPrefixSize(l));
|
|
765
642
|
let nodesToCopy = 0;
|
|
766
643
|
let nodesVisited = 0;
|
|
767
644
|
let shift = depth * 5;
|
|
768
645
|
let currentNode = l.root;
|
|
769
|
-
|
|
770
646
|
if (32 ** (depth + 1) < index) {
|
|
771
647
|
shift = 0; // there is no room
|
|
772
|
-
|
|
773
648
|
nodesVisited = depth;
|
|
774
649
|
}
|
|
775
|
-
|
|
776
650
|
while (shift > 5) {
|
|
777
651
|
let childIndex;
|
|
778
|
-
|
|
779
652
|
if (currentNode.sizes === undefined) {
|
|
780
653
|
// does not have size table
|
|
781
654
|
childIndex = index >> shift & mask;
|
|
@@ -784,17 +657,13 @@ export function appendNodeToTree(l, array) {
|
|
|
784
657
|
childIndex = currentNode.array.length - 1;
|
|
785
658
|
index -= currentNode.sizes[childIndex - 1];
|
|
786
659
|
}
|
|
787
|
-
|
|
788
660
|
nodesVisited++;
|
|
789
|
-
|
|
790
661
|
if (childIndex < mask) {
|
|
791
662
|
// we are not going down the far right path, this implies that
|
|
792
663
|
// there is still room in the current node
|
|
793
664
|
nodesToCopy = nodesVisited;
|
|
794
665
|
}
|
|
795
|
-
|
|
796
666
|
currentNode = currentNode.array[childIndex];
|
|
797
|
-
|
|
798
667
|
if (currentNode === undefined) {
|
|
799
668
|
// This will only happened in a pvec subtree. The index does not
|
|
800
669
|
// exist so we'll have to create a new path from here on.
|
|
@@ -804,18 +673,14 @@ export function appendNodeToTree(l, array) {
|
|
|
804
673
|
|
|
805
674
|
shift -= 5;
|
|
806
675
|
}
|
|
807
|
-
|
|
808
676
|
if (shift !== 0) {
|
|
809
677
|
nodesVisited++;
|
|
810
|
-
|
|
811
678
|
if (currentNode.array.length < branchingFactor) {
|
|
812
679
|
// there is room in the found node
|
|
813
680
|
nodesToCopy = nodesVisited;
|
|
814
681
|
}
|
|
815
682
|
}
|
|
816
|
-
|
|
817
683
|
const node = new Node(undefined, array);
|
|
818
|
-
|
|
819
684
|
if (nodesToCopy === 0) {
|
|
820
685
|
// there was no room in the found node
|
|
821
686
|
const newPath = nodesVisited === 0 ? node : createPath(nodesVisited, node);
|
|
@@ -826,7 +691,6 @@ export function appendNodeToTree(l, array) {
|
|
|
826
691
|
const copiedNode = copyFirstK(l, nodesToCopy, array.length);
|
|
827
692
|
copiedNode.array.push(createPath(depth - nodesToCopy, node));
|
|
828
693
|
}
|
|
829
|
-
|
|
830
694
|
return l;
|
|
831
695
|
}
|
|
832
696
|
/**
|
|
@@ -834,51 +698,38 @@ export function appendNodeToTree(l, array) {
|
|
|
834
698
|
*
|
|
835
699
|
* @internal
|
|
836
700
|
*/
|
|
837
|
-
|
|
838
701
|
function copyFirstK(newVector, k, leafSize) {
|
|
839
702
|
let currentNode = cloneNode(newVector.root); // copy root
|
|
840
|
-
|
|
841
703
|
newVector.root = currentNode; // install root
|
|
842
|
-
|
|
843
704
|
for (let i = 1; i < k; ++i) {
|
|
844
705
|
const index = currentNode.array.length - 1;
|
|
845
|
-
|
|
846
706
|
if (currentNode.sizes !== undefined) {
|
|
847
707
|
currentNode.sizes[index] += leafSize;
|
|
848
708
|
}
|
|
849
|
-
|
|
850
|
-
|
|
851
|
-
|
|
709
|
+
const newNode = cloneNode(currentNode.array[index]);
|
|
710
|
+
// Install the copied node
|
|
852
711
|
currentNode.array[index] = newNode;
|
|
853
712
|
currentNode = newNode;
|
|
854
713
|
}
|
|
855
|
-
|
|
856
714
|
if (currentNode.sizes !== undefined) {
|
|
857
715
|
currentNode.sizes.push(arrayLast(currentNode.sizes) + leafSize);
|
|
858
716
|
}
|
|
859
|
-
|
|
860
717
|
return currentNode;
|
|
861
718
|
}
|
|
862
|
-
|
|
863
719
|
const eMax = 2;
|
|
864
720
|
/**
|
|
865
721
|
* @internal
|
|
866
722
|
*/
|
|
867
|
-
|
|
868
723
|
function createConcatPlan(array) {
|
|
869
724
|
const sizes = [];
|
|
870
725
|
let sum = 0;
|
|
871
|
-
|
|
872
726
|
for (let i = 0; i < array.length; ++i) {
|
|
873
727
|
sum += array[i].array.length; // FIXME: maybe only access array once
|
|
874
|
-
|
|
875
728
|
sizes[i] = array[i].array.length;
|
|
876
729
|
}
|
|
877
|
-
|
|
878
730
|
const optimalLength = Math.ceil(sum / branchingFactor);
|
|
879
731
|
let n = array.length;
|
|
880
732
|
let i = 0;
|
|
881
|
-
|
|
882
733
|
if (optimalLength + eMax >= n) {
|
|
883
734
|
return undefined; // no rebalancing needed
|
|
884
735
|
}
|
|
@@ -887,27 +738,22 @@ function createConcatPlan(array) {
|
|
|
887
738
|
while (sizes[i] > branchingFactor - eMax / 2) {
|
|
888
739
|
// Skip nodes that are already sufficiently balanced
|
|
889
740
|
++i;
|
|
890
|
-
}
|
|
891
|
-
|
|
892
|
-
|
|
741
|
+
}
|
|
742
|
+
// the node at this index is too short
|
|
893
743
|
let remaining = sizes[i]; // number of elements to re-distribute
|
|
894
|
-
|
|
895
744
|
do {
|
|
896
745
|
const size = Math.min(remaining + sizes[i + 1], branchingFactor);
|
|
897
746
|
sizes[i] = size;
|
|
898
747
|
remaining = remaining - (size - sizes[i + 1]);
|
|
899
748
|
++i;
|
|
900
|
-
} while (remaining > 0);
|
|
901
|
-
|
|
902
|
-
|
|
749
|
+
} while (remaining > 0);
|
|
750
|
+
// Shift nodes after
|
|
903
751
|
for (let j = i; j <= n - 1; ++j) {
|
|
904
752
|
sizes[j] = sizes[j + 1];
|
|
905
753
|
}
|
|
906
|
-
|
|
907
754
|
--i;
|
|
908
755
|
--n;
|
|
909
756
|
}
|
|
910
|
-
|
|
911
757
|
sizes.length = n;
|
|
912
758
|
return sizes;
|
|
913
759
|
}
|
|
@@ -918,55 +764,42 @@ function createConcatPlan(array) {
|
|
|
918
764
|
*
|
|
919
765
|
* @internal
|
|
920
766
|
*/
|
|
921
|
-
|
|
922
|
-
|
|
923
767
|
function concatNodeMerge(left, center, right) {
|
|
924
768
|
const array = [];
|
|
925
|
-
|
|
926
769
|
if (left !== undefined) {
|
|
927
770
|
for (let i = 0; i < left.array.length - 1; ++i) {
|
|
928
771
|
array.push(left.array[i]);
|
|
929
772
|
}
|
|
930
773
|
}
|
|
931
|
-
|
|
932
774
|
for (let i = 0; i < center.array.length; ++i) {
|
|
933
775
|
array.push(center.array[i]);
|
|
934
776
|
}
|
|
935
|
-
|
|
936
777
|
if (right !== undefined) {
|
|
937
778
|
for (let i = 1; i < right.array.length; ++i) {
|
|
938
779
|
array.push(right.array[i]);
|
|
939
780
|
}
|
|
940
781
|
}
|
|
941
|
-
|
|
942
782
|
return array;
|
|
943
783
|
}
|
|
944
784
|
/**
|
|
945
785
|
* @internal
|
|
946
786
|
*/
|
|
947
|
-
|
|
948
|
-
|
|
949
787
|
function executeConcatPlan(merged, plan, height) {
|
|
950
788
|
const result = [];
|
|
951
789
|
let sourceIdx = 0; // the current node we're copying from
|
|
952
|
-
|
|
953
790
|
let offset = 0; // elements in source already used
|
|
954
|
-
|
|
955
791
|
for (let toMove of plan) {
|
|
956
792
|
let source = merged[sourceIdx].array;
|
|
957
|
-
|
|
958
793
|
if (toMove === source.length && offset === 0) {
|
|
959
794
|
// source matches target exactly, reuse source
|
|
960
795
|
result.push(merged[sourceIdx]);
|
|
961
796
|
++sourceIdx;
|
|
962
797
|
} else {
|
|
963
798
|
const node = new Node(undefined, []);
|
|
964
|
-
|
|
965
799
|
while (toMove > 0) {
|
|
966
800
|
const available = source.length - offset;
|
|
967
801
|
const itemsToCopy = Math.min(toMove, available);
|
|
968
802
|
pushElements(source, node.array, offset, itemsToCopy);
|
|
969
|
-
|
|
970
803
|
if (toMove >= available) {
|
|
971
804
|
++sourceIdx;
|
|
972
805
|
source = merged[sourceIdx].array;
|
|
@@ -974,19 +807,15 @@ function executeConcatPlan(merged, plan, height) {
|
|
|
974
807
|
} else {
|
|
975
808
|
offset += itemsToCopy;
|
|
976
809
|
}
|
|
977
|
-
|
|
978
810
|
toMove -= itemsToCopy;
|
|
979
811
|
}
|
|
980
|
-
|
|
981
812
|
if (height > 1) {
|
|
982
813
|
// Set sizes on children unless they are leaf nodes
|
|
983
814
|
setSizes(node, height - 1);
|
|
984
815
|
}
|
|
985
|
-
|
|
986
816
|
result.push(node);
|
|
987
817
|
}
|
|
988
818
|
}
|
|
989
|
-
|
|
990
819
|
return result;
|
|
991
820
|
}
|
|
992
821
|
/**
|
|
@@ -996,13 +825,10 @@ function executeConcatPlan(merged, plan, height) {
|
|
|
996
825
|
*
|
|
997
826
|
* @internal
|
|
998
827
|
*/
|
|
999
|
-
|
|
1000
|
-
|
|
1001
828
|
function rebalance(left, center, right, height, top) {
|
|
1002
829
|
const merged = concatNodeMerge(left, center, right);
|
|
1003
830
|
const plan = createConcatPlan(merged);
|
|
1004
831
|
const balanced = plan !== undefined ? executeConcatPlan(merged, plan, height) : merged;
|
|
1005
|
-
|
|
1006
832
|
if (balanced.length <= branchingFactor) {
|
|
1007
833
|
if (top === true) {
|
|
1008
834
|
return new Node(undefined, balanced);
|
|
@@ -1018,8 +844,6 @@ function rebalance(left, center, right, height, top) {
|
|
|
1018
844
|
/**
|
|
1019
845
|
* @internal
|
|
1020
846
|
*/
|
|
1021
|
-
|
|
1022
|
-
|
|
1023
847
|
export function concatSubTree(left, lDepth, right, rDepth, isTop) {
|
|
1024
848
|
if (lDepth > rDepth) {
|
|
1025
849
|
const c = concatSubTree(arrayLast(left.array), lDepth - 1, right, rDepth, false);
|
|
@@ -1037,12 +861,10 @@ export function concatSubTree(left, lDepth, right, rDepth, isTop) {
|
|
|
1037
861
|
/**
|
|
1038
862
|
* @internal
|
|
1039
863
|
*/
|
|
1040
|
-
|
|
1041
864
|
export const concatBuffer = /*#__PURE__*/new Array(3);
|
|
1042
865
|
/**
|
|
1043
866
|
* @internal
|
|
1044
867
|
*/
|
|
1045
|
-
|
|
1046
868
|
export function concatAffixes(left, right) {
|
|
1047
869
|
// TODO: Try and find a neat way to reduce the LOC here
|
|
1048
870
|
let nr = 0;
|
|
@@ -1050,41 +872,32 @@ export function concatAffixes(left, right) {
|
|
|
1050
872
|
let i = 0;
|
|
1051
873
|
let length = getSuffixSize(left);
|
|
1052
874
|
concatBuffer[nr] = [];
|
|
1053
|
-
|
|
1054
875
|
for (i = 0; i < length; ++i) {
|
|
1055
876
|
concatBuffer[nr][arrIdx++] = left.suffix[i];
|
|
1056
877
|
}
|
|
1057
|
-
|
|
1058
878
|
length = getPrefixSize(right);
|
|
1059
|
-
|
|
1060
879
|
for (i = 0; i < length; ++i) {
|
|
1061
880
|
if (arrIdx === 32) {
|
|
1062
881
|
arrIdx = 0;
|
|
1063
882
|
++nr;
|
|
1064
883
|
concatBuffer[nr] = [];
|
|
1065
884
|
}
|
|
1066
|
-
|
|
1067
885
|
concatBuffer[nr][arrIdx++] = right.prefix[length - 1 - i];
|
|
1068
886
|
}
|
|
1069
|
-
|
|
1070
887
|
length = getSuffixSize(right);
|
|
1071
|
-
|
|
1072
888
|
for (i = 0; i < length; ++i) {
|
|
1073
889
|
if (arrIdx === 32) {
|
|
1074
890
|
arrIdx = 0;
|
|
1075
891
|
++nr;
|
|
1076
892
|
concatBuffer[nr] = [];
|
|
1077
893
|
}
|
|
1078
|
-
|
|
1079
894
|
concatBuffer[nr][arrIdx++] = right.suffix[i];
|
|
1080
895
|
}
|
|
1081
|
-
|
|
1082
896
|
return nr;
|
|
1083
897
|
}
|
|
1084
898
|
/**
|
|
1085
899
|
* @internal
|
|
1086
900
|
*/
|
|
1087
|
-
|
|
1088
901
|
export function getHeight(node) {
|
|
1089
902
|
if (node.array[0] instanceof Node) {
|
|
1090
903
|
return 1 + getHeight(node.array[0]);
|
|
@@ -1095,28 +908,22 @@ export function getHeight(node) {
|
|
|
1095
908
|
/**
|
|
1096
909
|
* @internal
|
|
1097
910
|
*/
|
|
1098
|
-
|
|
1099
|
-
|
|
911
|
+
export let newAffix;
|
|
912
|
+
// function getBitsForDepth(n: number, depth: number): number {
|
|
1100
913
|
// return n & ~(~0 << ((depth + 1) * branchBits));
|
|
1101
914
|
// }
|
|
1102
|
-
|
|
1103
915
|
function sliceNode(node, index, depth, pathLeft, pathRight, childLeft, childRight) {
|
|
1104
916
|
const array = node.array.slice(pathLeft, pathRight + 1);
|
|
1105
|
-
|
|
1106
917
|
if (childLeft !== undefined) {
|
|
1107
918
|
array[0] = childLeft;
|
|
1108
919
|
}
|
|
1109
|
-
|
|
1110
920
|
if (childRight !== undefined) {
|
|
1111
921
|
array[array.length - 1] = childRight;
|
|
1112
922
|
}
|
|
1113
|
-
|
|
1114
923
|
let sizes = node.sizes;
|
|
1115
|
-
|
|
1116
924
|
if (sizes !== undefined) {
|
|
1117
925
|
sizes = sizes.slice(pathLeft, pathRight + 1);
|
|
1118
926
|
let slicedOffLeft = pathLeft !== 0 ? node.sizes[pathLeft - 1] : 0;
|
|
1119
|
-
|
|
1120
927
|
if (childLeft !== undefined) {
|
|
1121
928
|
// If the left child has been sliced into a new child we need to know
|
|
1122
929
|
// how many elements have been removed from the child.
|
|
@@ -1135,24 +942,19 @@ function sliceNode(node, index, depth, pathLeft, pathRight, childLeft, childRigh
|
|
|
1135
942
|
slicedOffLeft += (index - slicedOffLeft & ~0b011111) + 32;
|
|
1136
943
|
}
|
|
1137
944
|
}
|
|
1138
|
-
|
|
1139
945
|
for (let i = 0; i < sizes.length; ++i) {
|
|
1140
946
|
sizes[i] -= slicedOffLeft;
|
|
1141
947
|
}
|
|
1142
|
-
|
|
1143
948
|
if (childRight !== undefined) {
|
|
1144
949
|
const slicedOffRight = sizeOfSubtree(node.array[pathRight], depth - 1) - sizeOfSubtree(childRight, depth - 1);
|
|
1145
950
|
sizes[sizes.length - 1] -= slicedOffRight;
|
|
1146
951
|
}
|
|
1147
952
|
}
|
|
1148
|
-
|
|
1149
953
|
return new Node(sizes, array);
|
|
1150
954
|
}
|
|
1151
955
|
/**
|
|
1152
956
|
* @internal
|
|
1153
957
|
*/
|
|
1154
|
-
|
|
1155
|
-
|
|
1156
958
|
export let newOffset = 0;
|
|
1157
959
|
export function sliceLeft(tree, depth, index, offset, top) {
|
|
1158
960
|
let {
|
|
@@ -1160,80 +962,65 @@ export function sliceLeft(tree, depth, index, offset, top) {
|
|
|
1160
962
|
path,
|
|
1161
963
|
updatedOffset
|
|
1162
964
|
} = getPath(index, offset, depth, tree.sizes);
|
|
1163
|
-
|
|
1164
965
|
if (depth === 0) {
|
|
1165
|
-
newAffix = tree.array.slice(path).reverse();
|
|
966
|
+
newAffix = tree.array.slice(path).reverse();
|
|
967
|
+
// This leaf node is moved up as a suffix so there is nothing here
|
|
1166
968
|
// after slicing
|
|
1167
|
-
|
|
1168
969
|
return undefined;
|
|
1169
970
|
} else {
|
|
1170
971
|
const child = sliceLeft(tree.array[path], depth - 1, newIndex, updatedOffset, false);
|
|
1171
|
-
|
|
1172
972
|
if (child === undefined) {
|
|
1173
973
|
// There is nothing in the child after slicing so we don't include it
|
|
1174
974
|
++path;
|
|
1175
|
-
|
|
1176
975
|
if (path === tree.array.length) {
|
|
1177
976
|
return undefined;
|
|
1178
977
|
}
|
|
1179
|
-
}
|
|
1180
|
-
|
|
1181
|
-
|
|
978
|
+
}
|
|
979
|
+
// If we've sliced something away and it's not a the root, update offset
|
|
1182
980
|
if (tree.sizes === undefined && top === false) {
|
|
1183
981
|
newOffset |= 32 - (tree.array.length - path) << depth * branchBits;
|
|
1184
982
|
}
|
|
1185
|
-
|
|
1186
983
|
return sliceNode(tree, index, depth, path, tree.array.length - 1, child, undefined);
|
|
1187
984
|
}
|
|
1188
985
|
}
|
|
1189
986
|
/** Slice elements off of a tree from the right */
|
|
1190
|
-
|
|
1191
987
|
export function sliceRight(node, depth, index, offset) {
|
|
1192
988
|
let {
|
|
1193
989
|
index: newIndex,
|
|
1194
990
|
path
|
|
1195
991
|
} = getPath(index, offset, depth, node.sizes);
|
|
1196
|
-
|
|
1197
992
|
if (depth === 0) {
|
|
1198
|
-
newAffix = node.array.slice(0, path + 1);
|
|
993
|
+
newAffix = node.array.slice(0, path + 1);
|
|
994
|
+
// this leaf node is moved up as a suffix so there is nothing here
|
|
1199
995
|
// after slicing
|
|
1200
|
-
|
|
1201
996
|
return undefined;
|
|
1202
997
|
} else {
|
|
1203
998
|
// slice the child, note that we subtract 1 then the radix lookup
|
|
1204
999
|
// algorithm can find the last element that we want to include
|
|
1205
1000
|
// and sliceRight will do a slice that is inclusive on the index.
|
|
1206
1001
|
const child = sliceRight(node.array[path], depth - 1, newIndex, path === 0 ? offset : 0);
|
|
1207
|
-
|
|
1208
1002
|
if (child === undefined) {
|
|
1209
1003
|
// there is nothing in the child after slicing so we don't include it
|
|
1210
1004
|
--path;
|
|
1211
|
-
|
|
1212
1005
|
if (path === -1) {
|
|
1213
1006
|
return undefined;
|
|
1214
1007
|
}
|
|
1215
|
-
}
|
|
1008
|
+
}
|
|
1009
|
+
// note that we add 1 to the path since we want the slice to be
|
|
1216
1010
|
// inclusive on the end index. Only at the leaf level do we want
|
|
1217
1011
|
// to do an exclusive slice.
|
|
1218
|
-
|
|
1219
|
-
|
|
1220
1012
|
const array = node.array.slice(0, path + 1);
|
|
1221
|
-
|
|
1222
1013
|
if (child !== undefined) {
|
|
1223
1014
|
array[array.length - 1] = child;
|
|
1224
1015
|
}
|
|
1225
|
-
|
|
1226
1016
|
let sizes = node.sizes;
|
|
1227
|
-
|
|
1228
1017
|
if (sizes !== undefined) {
|
|
1229
1018
|
sizes = sizes.slice(0, path + 1);
|
|
1230
|
-
|
|
1231
1019
|
if (child !== undefined) {
|
|
1232
1020
|
const slicedOff = sizeOfSubtree(node.array[path], depth - 1) - sizeOfSubtree(child, depth - 1);
|
|
1233
1021
|
sizes[sizes.length - 1] -= slicedOff;
|
|
1234
1022
|
}
|
|
1235
1023
|
}
|
|
1236
|
-
|
|
1237
1024
|
return new Node(sizes, array);
|
|
1238
1025
|
}
|
|
1239
1026
|
}
|
|
@@ -1247,7 +1034,6 @@ export function sliceTreeVector(from, to, tree, depth, offset, l) {
|
|
|
1247
1034
|
index: newTo,
|
|
1248
1035
|
path: pathRight
|
|
1249
1036
|
} = getPath(to, offset, depth, sizes);
|
|
1250
|
-
|
|
1251
1037
|
if (depth === 0) {
|
|
1252
1038
|
// we are slicing a piece off a leaf node
|
|
1253
1039
|
l.prefix = emptyAffix;
|
|
@@ -1264,21 +1050,17 @@ export function sliceTreeVector(from, to, tree, depth, offset, l) {
|
|
|
1264
1050
|
const childRight = sliceRight(tree.array[pathRight], depth - 1, newTo, 0);
|
|
1265
1051
|
l.bits = setSuffix(newAffix.length, l.bits);
|
|
1266
1052
|
l.suffix = newAffix;
|
|
1267
|
-
|
|
1268
1053
|
if (childRight === undefined) {
|
|
1269
1054
|
--pathRight;
|
|
1270
1055
|
}
|
|
1271
|
-
|
|
1272
1056
|
newOffset = 0;
|
|
1273
1057
|
const childLeft = sliceLeft(tree.array[pathLeft], depth - 1, newFrom, pathLeft === 0 ? offset : 0, pathLeft === pathRight);
|
|
1274
1058
|
l.offset = newOffset;
|
|
1275
1059
|
l.bits = setPrefix(newAffix.length, l.bits);
|
|
1276
1060
|
l.prefix = newAffix;
|
|
1277
|
-
|
|
1278
1061
|
if (childLeft === undefined) {
|
|
1279
1062
|
++pathLeft;
|
|
1280
1063
|
}
|
|
1281
|
-
|
|
1282
1064
|
if (pathLeft >= pathRight) {
|
|
1283
1065
|
if (pathLeft > pathRight) {
|
|
1284
1066
|
// This only happens when `pathLeft` originally was equal to
|
|
@@ -1295,54 +1077,44 @@ export function sliceTreeVector(from, to, tree, depth, offset, l) {
|
|
|
1295
1077
|
} else {
|
|
1296
1078
|
l.root = sliceNode(tree, from, depth, pathLeft, pathRight, childLeft, childRight);
|
|
1297
1079
|
}
|
|
1298
|
-
|
|
1299
1080
|
return l;
|
|
1300
1081
|
}
|
|
1301
1082
|
}
|
|
1302
1083
|
/**
|
|
1303
1084
|
* @internal
|
|
1304
1085
|
*/
|
|
1305
|
-
|
|
1306
1086
|
export function zeroOffset() {
|
|
1307
1087
|
newOffset = 0;
|
|
1308
1088
|
}
|
|
1309
|
-
|
|
1310
1089
|
function foldLeftArrayCb(cb, state, array, from, to, offset) {
|
|
1311
|
-
for (var i = from; i < to && cb(array[i], state, i + offset); ++i) {
|
|
1090
|
+
for (var i = from; i < to && cb(array[i], state, i + offset); ++i) {
|
|
1091
|
+
//
|
|
1312
1092
|
}
|
|
1313
|
-
|
|
1314
1093
|
return [i === to, i + offset + 1];
|
|
1315
1094
|
}
|
|
1316
|
-
|
|
1317
1095
|
function foldRightArrayCb(cb, state, array, from, to, offset) {
|
|
1318
1096
|
// eslint-disable-next-line no-param-reassign
|
|
1319
|
-
for (var i = from - 1; to <= i && cb(array[i], state, offset); --i, offset--) {
|
|
1097
|
+
for (var i = from - 1; to <= i && cb(array[i], state, offset); --i, offset--) {
|
|
1098
|
+
//
|
|
1320
1099
|
}
|
|
1321
|
-
|
|
1322
1100
|
return [i === to - 1, offset];
|
|
1323
1101
|
}
|
|
1324
|
-
|
|
1325
1102
|
function foldLeftNodeCb(cb, state, node, depth, offset) {
|
|
1326
1103
|
const {
|
|
1327
1104
|
array
|
|
1328
1105
|
} = node;
|
|
1329
|
-
|
|
1330
1106
|
if (depth === 0) {
|
|
1331
1107
|
return foldLeftArrayCb(cb, state, array, 0, array.length, offset);
|
|
1332
1108
|
}
|
|
1333
|
-
|
|
1334
1109
|
const to = array.length;
|
|
1335
1110
|
let j = offset;
|
|
1336
1111
|
let cont;
|
|
1337
|
-
|
|
1338
1112
|
for (let i = 0; i < to; ++i) {
|
|
1339
1113
|
[cont, j] = foldLeftNodeCb(cb, state, array[i], depth - 1, j);
|
|
1340
|
-
|
|
1341
1114
|
if (!cont) {
|
|
1342
1115
|
return [false, j];
|
|
1343
1116
|
}
|
|
1344
1117
|
}
|
|
1345
|
-
|
|
1346
1118
|
return [true, j];
|
|
1347
1119
|
}
|
|
1348
1120
|
/**
|
|
@@ -1352,75 +1124,57 @@ function foldLeftNodeCb(cb, state, node, depth, offset) {
|
|
|
1352
1124
|
* to continue the fold. `true` indicates that the folding should
|
|
1353
1125
|
* continue.
|
|
1354
1126
|
*/
|
|
1355
|
-
|
|
1356
|
-
|
|
1357
1127
|
export function foldLeftCb(cb, state, l) {
|
|
1358
1128
|
const prefixSize = getPrefixSize(l);
|
|
1359
1129
|
let i = prefixSize - 1;
|
|
1360
1130
|
let cont = true;
|
|
1361
1131
|
[cont, i] = foldRightArrayCb(cb, state, l.prefix, prefixSize, 0, i);
|
|
1362
|
-
|
|
1363
1132
|
if (!cont) {
|
|
1364
1133
|
return state;
|
|
1365
1134
|
}
|
|
1366
|
-
|
|
1367
1135
|
i = prefixSize;
|
|
1368
|
-
|
|
1369
1136
|
if (l.root !== undefined) {
|
|
1370
1137
|
[cont, i] = foldLeftNodeCb(cb, state, l.root, getDepth(l), i);
|
|
1371
|
-
|
|
1372
1138
|
if (!cont) {
|
|
1373
1139
|
return state;
|
|
1374
1140
|
}
|
|
1375
1141
|
}
|
|
1376
|
-
|
|
1377
1142
|
const suffixSize = getSuffixSize(l);
|
|
1378
1143
|
foldLeftArrayCb(cb, state, l.suffix, 0, suffixSize, i);
|
|
1379
1144
|
return state;
|
|
1380
1145
|
}
|
|
1381
|
-
|
|
1382
1146
|
function foldRightNodeCb(cb, state, node, depth, offset) {
|
|
1383
1147
|
const {
|
|
1384
1148
|
array
|
|
1385
1149
|
} = node;
|
|
1386
|
-
|
|
1387
1150
|
if (depth === 0) {
|
|
1388
1151
|
return foldRightArrayCb(cb, state, array, array.length, 0, offset);
|
|
1389
1152
|
}
|
|
1390
|
-
|
|
1391
1153
|
let j = offset;
|
|
1392
1154
|
let cont;
|
|
1393
|
-
|
|
1394
1155
|
for (let i = array.length - 1; 0 <= i; --i) {
|
|
1395
1156
|
[cont, j] = foldRightNodeCb(cb, state, array[i], depth - 1, j);
|
|
1396
|
-
|
|
1397
1157
|
if (!cont) {
|
|
1398
1158
|
return [false, j];
|
|
1399
1159
|
}
|
|
1400
1160
|
}
|
|
1401
|
-
|
|
1402
1161
|
return [true, j];
|
|
1403
1162
|
}
|
|
1404
|
-
|
|
1405
1163
|
export function foldRightCb(cb, state, l) {
|
|
1406
1164
|
const suffixSize = getSuffixSize(l);
|
|
1407
1165
|
const prefixSize = getPrefixSize(l);
|
|
1408
1166
|
let i = l.length - 1;
|
|
1409
1167
|
let cont = true;
|
|
1410
1168
|
[cont, i] = foldRightArrayCb(cb, state, l.suffix, suffixSize, 0, i);
|
|
1411
|
-
|
|
1412
1169
|
if (!cont) {
|
|
1413
1170
|
return state;
|
|
1414
1171
|
}
|
|
1415
|
-
|
|
1416
1172
|
if (l.root !== undefined) {
|
|
1417
1173
|
[cont, i] = foldRightNodeCb(cb, state, l.root, getDepth(l), i);
|
|
1418
|
-
|
|
1419
1174
|
if (!cont) {
|
|
1420
1175
|
return state;
|
|
1421
1176
|
}
|
|
1422
1177
|
}
|
|
1423
|
-
|
|
1424
1178
|
const prefix = l.prefix;
|
|
1425
1179
|
foldLeftArrayCb(cb, state, l.prefix, prefix.length - prefixSize, prefix.length, prefix.length - 1);
|
|
1426
1180
|
return state;
|
|
@@ -1428,11 +1182,9 @@ export function foldRightCb(cb, state, l) {
|
|
|
1428
1182
|
export function foldLeftPrefix(f, b, array, length) {
|
|
1429
1183
|
let acc = b;
|
|
1430
1184
|
let j = 0;
|
|
1431
|
-
|
|
1432
1185
|
for (let i = length - 1; 0 <= i; --i, j++) {
|
|
1433
1186
|
acc = f(j, acc, array[i]);
|
|
1434
1187
|
}
|
|
1435
|
-
|
|
1436
1188
|
return [acc, j];
|
|
1437
1189
|
}
|
|
1438
1190
|
export function foldLeftNode(f, b, node, depth, offset) {
|
|
@@ -1441,35 +1193,28 @@ export function foldLeftNode(f, b, node, depth, offset) {
|
|
|
1441
1193
|
} = node;
|
|
1442
1194
|
let acc = b;
|
|
1443
1195
|
let j = offset;
|
|
1444
|
-
|
|
1445
1196
|
if (depth === 0) {
|
|
1446
1197
|
return foldLeftSuffix(f, b, array, array.length, offset);
|
|
1447
1198
|
}
|
|
1448
|
-
|
|
1449
1199
|
for (let i = 0; i < array.length; ++i) {
|
|
1450
1200
|
[acc, j] = foldLeftNode(f, acc, array[i], depth - 1, j);
|
|
1451
1201
|
}
|
|
1452
|
-
|
|
1453
1202
|
return [acc, j];
|
|
1454
1203
|
}
|
|
1455
1204
|
export function foldLeftSuffix(f, b, array, length, offset) {
|
|
1456
1205
|
let acc = b;
|
|
1457
1206
|
let j = offset;
|
|
1458
|
-
|
|
1459
1207
|
for (let i = 0; i < length; ++i, j++) {
|
|
1460
1208
|
acc = f(j, acc, array[i]);
|
|
1461
1209
|
}
|
|
1462
|
-
|
|
1463
1210
|
return [acc, j];
|
|
1464
1211
|
}
|
|
1465
1212
|
export function foldRightPrefix(f, b, array, length, offset) {
|
|
1466
1213
|
let acc = b;
|
|
1467
1214
|
let j = offset;
|
|
1468
|
-
|
|
1469
1215
|
for (let i = 0; i < length; ++i, j--) {
|
|
1470
1216
|
acc = f(j, array[i], acc);
|
|
1471
1217
|
}
|
|
1472
|
-
|
|
1473
1218
|
return [acc, j];
|
|
1474
1219
|
}
|
|
1475
1220
|
export function foldRightNode(f, b, node, depth, offset) {
|
|
@@ -1478,38 +1223,29 @@ export function foldRightNode(f, b, node, depth, offset) {
|
|
|
1478
1223
|
} = node;
|
|
1479
1224
|
let acc = b;
|
|
1480
1225
|
let j = offset;
|
|
1481
|
-
|
|
1482
1226
|
if (depth === 0) {
|
|
1483
1227
|
return foldRightSuffix(f, b, array, array.length, offset);
|
|
1484
1228
|
}
|
|
1485
|
-
|
|
1486
1229
|
for (let i = array.length - 1; 0 <= i; --i) {
|
|
1487
1230
|
[acc, j] = foldRightNode(f, acc, array[i], depth - 1, j);
|
|
1488
1231
|
}
|
|
1489
|
-
|
|
1490
1232
|
return [acc, j];
|
|
1491
1233
|
}
|
|
1492
1234
|
export function foldRightSuffix(f, b, array, length, offset) {
|
|
1493
1235
|
let acc = b;
|
|
1494
1236
|
let j = offset;
|
|
1495
|
-
|
|
1496
1237
|
for (let i = length - 1; 0 <= i; --i, j--) {
|
|
1497
1238
|
acc = f(j, array[i], acc);
|
|
1498
1239
|
}
|
|
1499
|
-
|
|
1500
1240
|
return [acc, j];
|
|
1501
1241
|
}
|
|
1502
|
-
|
|
1503
1242
|
function mapArray(f, array, offset) {
|
|
1504
1243
|
const result = new Array(array.length);
|
|
1505
|
-
|
|
1506
1244
|
for (let i = 0; i < array.length; ++i) {
|
|
1507
1245
|
result[i] = f(offset + i, array[i]);
|
|
1508
1246
|
}
|
|
1509
|
-
|
|
1510
1247
|
return [result, offset + array.length];
|
|
1511
1248
|
}
|
|
1512
|
-
|
|
1513
1249
|
export function mapNode(f, node, depth, offset, adjust) {
|
|
1514
1250
|
if (depth !== 0) {
|
|
1515
1251
|
const {
|
|
@@ -1517,13 +1253,11 @@ export function mapNode(f, node, depth, offset, adjust) {
|
|
|
1517
1253
|
} = node;
|
|
1518
1254
|
let innerOffset = offset;
|
|
1519
1255
|
const result = new Array(array.length);
|
|
1520
|
-
|
|
1521
1256
|
for (let i = 0; i < array.length; ++i) {
|
|
1522
1257
|
const [res, newOffset] = mapNode(f, array[i], depth - 1, innerOffset, adjust * 32);
|
|
1523
1258
|
innerOffset = newOffset;
|
|
1524
1259
|
result[i] = res;
|
|
1525
1260
|
}
|
|
1526
|
-
|
|
1527
1261
|
return [new Node(node.sizes, result), innerOffset];
|
|
1528
1262
|
} else {
|
|
1529
1263
|
const [res, newOffset] = mapArray(f, node.array, offset);
|
|
@@ -1532,24 +1266,19 @@ export function mapNode(f, node, depth, offset, adjust) {
|
|
|
1532
1266
|
}
|
|
1533
1267
|
export function mapPrefix(f, prefix, length) {
|
|
1534
1268
|
const newPrefix = new Array(length);
|
|
1535
|
-
|
|
1536
1269
|
for (let i = length - 1; 0 <= i; --i) {
|
|
1537
1270
|
newPrefix[i] = f(length - 1 - i, prefix[i]);
|
|
1538
1271
|
}
|
|
1539
|
-
|
|
1540
1272
|
return newPrefix;
|
|
1541
1273
|
}
|
|
1542
1274
|
export function mapAffix(f, suffix, length, totalLength) {
|
|
1543
1275
|
const priorLength = totalLength - length;
|
|
1544
1276
|
const newSuffix = new Array(length);
|
|
1545
|
-
|
|
1546
1277
|
for (let i = 0; i < length; ++i) {
|
|
1547
1278
|
newSuffix[i] = f(priorLength + i, suffix[i]);
|
|
1548
1279
|
}
|
|
1549
|
-
|
|
1550
1280
|
return newSuffix;
|
|
1551
|
-
}
|
|
1552
|
-
|
|
1281
|
+
}
|
|
1553
1282
|
export function arrayPush(array, a) {
|
|
1554
1283
|
array.push(a);
|
|
1555
1284
|
return array;
|