@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
|
@@ -1,162 +1,154 @@
|
|
|
1
1
|
import * as tsplus_module_1 from "@fncts/base/collection/immutable/Vector";
|
|
2
2
|
import * as tsplus_module_2 from "@fncts/base/collection/immutable/Vector/internal";
|
|
3
|
-
import * as tsplus_module_3 from "@fncts/base/
|
|
3
|
+
import * as tsplus_module_3 from "@fncts/base/data/Equatable/api";
|
|
4
4
|
import * as tsplus_module_4 from "@fncts/base/collection/immutable/Vector/definition";
|
|
5
5
|
import * as tsplus_module_5 from "@fncts/base/data/Maybe/constructors";
|
|
6
6
|
import * as tsplus_module_6 from "@fncts/base/collection/mutable/ListBuffer";
|
|
7
|
-
import * as tsplus_module_7 from "@fncts/base/
|
|
8
|
-
|
|
9
|
-
export const
|
|
10
|
-
export const
|
|
11
|
-
export const dropRepeatsWith_ = dropRepeatsWith_1;
|
|
7
|
+
import * as tsplus_module_7 from "@fncts/base/data/Maybe/definition";
|
|
8
|
+
export const append = append_1;
|
|
9
|
+
export const concat = concat_1;
|
|
10
|
+
export const dropRepeatsWith = dropRepeatsWith_1;
|
|
12
11
|
export const empty = empty_1;
|
|
13
12
|
export const emptyPushable = emptyPushable_1;
|
|
14
|
-
export const
|
|
15
|
-
export const
|
|
13
|
+
export const some = some_1;
|
|
14
|
+
export const findIndex = findIndex_1;
|
|
16
15
|
export const flatten = flatten_1;
|
|
17
|
-
export const
|
|
18
|
-
export const
|
|
19
|
-
export const
|
|
20
|
-
export const
|
|
21
|
-
export const
|
|
22
|
-
export const
|
|
23
|
-
export const
|
|
16
|
+
export const foldLeft = foldLeft_1;
|
|
17
|
+
export const foldLeftWithIndex = foldLeftWithIndex_1;
|
|
18
|
+
export const foldMapWithIndex = foldMapWithIndex_1;
|
|
19
|
+
export const foldRightWithIndex = foldRightWithIndex_1;
|
|
20
|
+
export const forEach = forEach_1;
|
|
21
|
+
export const map = map_1;
|
|
22
|
+
export const mapWithIndex = mapWithIndex_1;
|
|
24
23
|
export const mutableClone = mutableClone_1;
|
|
25
24
|
export const pop = pop_1;
|
|
26
|
-
export const
|
|
27
|
-
export const
|
|
28
|
-
export const
|
|
29
|
-
export const
|
|
30
|
-
export const
|
|
31
|
-
export const
|
|
32
|
-
export const
|
|
25
|
+
export const prepend = prepend_1;
|
|
26
|
+
export const slice = slice_1;
|
|
27
|
+
export const sortWith = sortWith_1;
|
|
28
|
+
export const splitAt = splitAt_1;
|
|
29
|
+
export const _traverseWithIndex = _traverseWithIndex_1;
|
|
30
|
+
export const unsafeFind = unsafeFind_1;
|
|
31
|
+
export const unsafeFindLast = unsafeFindLast_1;
|
|
32
|
+
export const unsafeGet = unsafeGet_1;
|
|
33
33
|
export const unsafeHead = unsafeHead_1;
|
|
34
34
|
export const unsafeLast = unsafeLast_1;
|
|
35
|
-
export const
|
|
35
|
+
export const updateAt = updateAt_1;
|
|
36
36
|
export const vector = vector_1;
|
|
37
|
-
import { affixPush, appendNodeToTree, arrayPush, branchBits, concatAffixes, concatBuffer, concatSubTree, copyArray, emptyAffix, foldLeftCb, foldLeftNode, foldLeftPrefix, foldLeftSuffix, foldRightCb, foldRightNode, foldRightPrefix, foldRightSuffix, getDepth, getHeight, getPrefixSize, getSuffixSize, handleOffset, incrementPrefix, incrementSuffix, mapAffix, mapNode, mapPrefix, mask, newAffix, newOffset, nodeNth, nodeNthDense, prependNodeToTree,
|
|
37
|
+
import { affixPush, appendNodeToTree, arrayPush, branchBits, concatAffixes, concatBuffer, concatSubTree, copyArray, emptyAffix, foldLeftCb, foldLeftNode, foldLeftPrefix, foldLeftSuffix, foldRightCb, foldRightNode, foldRightPrefix, foldRightSuffix, getDepth, getHeight, getPrefixSize, getSuffixSize, handleOffset, incrementPrefix, incrementSuffix, mapAffix, mapNode, mapPrefix, mask, newAffix, newOffset, nodeNth, nodeNthDense, prependNodeToTree, reverseArray, setDepth, setPrefix, setSizes, setSuffix, sliceLeft, sliceRight, sliceTreeVector, updateNode, zeroOffset } from "@fncts/base/collection/immutable/Vector/internal";
|
|
38
38
|
/**
|
|
39
39
|
* Appends an element to the end of a Vector and returns the new Vector.
|
|
40
40
|
*
|
|
41
41
|
* @complexity O(n)
|
|
42
42
|
*
|
|
43
|
-
* @tsplus
|
|
44
|
-
* @tsplus operator fncts.Vector +
|
|
43
|
+
* @tsplus pipeable fncts.Vector append
|
|
44
|
+
* @tsplus pipeable-operator fncts.Vector +
|
|
45
45
|
*/
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
return newVector;
|
|
46
|
+
function append_1(a) {
|
|
47
|
+
return self => {
|
|
48
|
+
const suffixSize = getSuffixSize(self);
|
|
49
|
+
if (suffixSize < 32) {
|
|
50
|
+
return new tsplus_module_1.Vector(incrementSuffix(self.bits), self.offset, self.length + 1, self.prefix, self.root, affixPush(a, self.suffix, suffixSize));
|
|
51
|
+
}
|
|
52
|
+
const newSuffix = [a];
|
|
53
|
+
const newVector = mutableClone_1(self);
|
|
54
|
+
appendNodeToTree(newVector, self.suffix);
|
|
55
|
+
newVector.suffix = newSuffix;
|
|
56
|
+
newVector.length++;
|
|
57
|
+
newVector.bits = setSuffix(1, newVector.bits);
|
|
58
|
+
return newVector;
|
|
59
|
+
};
|
|
61
60
|
}
|
|
62
61
|
/**
|
|
63
62
|
* Maps a function over a Vector and concatenates all the resulting
|
|
64
63
|
* Vectors together.
|
|
65
64
|
*
|
|
66
|
-
* @tsplus
|
|
65
|
+
* @tsplus pipeable fncts.Vector flatMap
|
|
67
66
|
*/
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
67
|
+
export function flatMap(f) {
|
|
68
|
+
return self => {
|
|
69
|
+
return flatten_1(map_1(f)(self));
|
|
70
|
+
};
|
|
72
71
|
}
|
|
73
72
|
/**
|
|
74
73
|
* Splits the Vector into chunks of the given size.
|
|
75
74
|
*
|
|
76
|
-
* @tsplus
|
|
77
|
-
*/
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
}
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
}
|
|
102
|
-
}
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
}
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
}
|
|
113
|
-
|
|
114
|
-
const newSize = self.length + that.length;
|
|
115
|
-
const rightSuffixSize = getSuffixSize(that);
|
|
116
|
-
let newVector = mutableClone_1(self);
|
|
117
|
-
|
|
118
|
-
if (that.root === undefined) {
|
|
119
|
-
// right is nothing but a prefix and a suffix
|
|
120
|
-
const nrOfAffixes = concatAffixes(self, that);
|
|
121
|
-
|
|
122
|
-
for (let i = 0; i < nrOfAffixes; ++i) {
|
|
123
|
-
newVector = appendNodeToTree(newVector, concatBuffer[i]);
|
|
124
|
-
newVector.length += concatBuffer[i].length; // wipe pointer, otherwise it might end up keeping the array alive
|
|
125
|
-
|
|
126
|
-
concatBuffer[i] = undefined;
|
|
75
|
+
* @tsplus pipeable fncts.Vector chunksOf
|
|
76
|
+
*/
|
|
77
|
+
export function chunksOf(size) {
|
|
78
|
+
return self => {
|
|
79
|
+
const {
|
|
80
|
+
buffer,
|
|
81
|
+
l2
|
|
82
|
+
} = foldLeft_1({
|
|
83
|
+
l2: emptyPushable_1(),
|
|
84
|
+
buffer: emptyPushable_1()
|
|
85
|
+
}, ({
|
|
86
|
+
buffer,
|
|
87
|
+
l2
|
|
88
|
+
}, elem) => {
|
|
89
|
+
tsplus_module_2.push(elem)(buffer);
|
|
90
|
+
if (buffer.length === size) {
|
|
91
|
+
return {
|
|
92
|
+
l2: tsplus_module_2.push(buffer)(l2),
|
|
93
|
+
buffer: emptyPushable_1()
|
|
94
|
+
};
|
|
95
|
+
} else {
|
|
96
|
+
return {
|
|
97
|
+
l2,
|
|
98
|
+
buffer
|
|
99
|
+
};
|
|
100
|
+
}
|
|
101
|
+
})(self);
|
|
102
|
+
return buffer.length === 0 ? l2 : tsplus_module_2.push(buffer)(l2);
|
|
103
|
+
};
|
|
104
|
+
}
|
|
105
|
+
function concat_1(that) {
|
|
106
|
+
return self => {
|
|
107
|
+
if (self.length === 0) {
|
|
108
|
+
return that;
|
|
109
|
+
} else if (that.length === 0) {
|
|
110
|
+
return self;
|
|
127
111
|
}
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
newVector
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
112
|
+
const newSize = self.length + that.length;
|
|
113
|
+
const rightSuffixSize = getSuffixSize(that);
|
|
114
|
+
let newVector = mutableClone_1(self);
|
|
115
|
+
if (that.root === undefined) {
|
|
116
|
+
// right is nothing but a prefix and a suffix
|
|
117
|
+
const nrOfAffixes = concatAffixes(self, that);
|
|
118
|
+
for (let i = 0; i < nrOfAffixes; ++i) {
|
|
119
|
+
newVector = appendNodeToTree(newVector, concatBuffer[i]);
|
|
120
|
+
newVector.length += concatBuffer[i].length;
|
|
121
|
+
// wipe pointer, otherwise it might end up keeping the array alive
|
|
122
|
+
concatBuffer[i] = undefined;
|
|
123
|
+
}
|
|
124
|
+
newVector.length = newSize;
|
|
125
|
+
newVector.suffix = concatBuffer[nrOfAffixes];
|
|
126
|
+
newVector.bits = setSuffix(concatBuffer[nrOfAffixes].length, newVector.bits);
|
|
127
|
+
concatBuffer[nrOfAffixes] = undefined;
|
|
128
|
+
return newVector;
|
|
129
|
+
} else {
|
|
130
|
+
const leftSuffixSize = getSuffixSize(self);
|
|
131
|
+
if (leftSuffixSize > 0) {
|
|
132
|
+
newVector = appendNodeToTree(newVector, self.suffix.slice(0, leftSuffixSize));
|
|
133
|
+
newVector.length += leftSuffixSize;
|
|
134
|
+
}
|
|
135
|
+
newVector = appendNodeToTree(newVector, that.prefix.slice(0, getPrefixSize(that)).reverse());
|
|
136
|
+
const newNode = concatSubTree(newVector.root, getDepth(newVector), that.root, getDepth(that), true);
|
|
137
|
+
const newDepth = getHeight(newNode);
|
|
138
|
+
setSizes(newNode, newDepth);
|
|
139
|
+
newVector.root = newNode;
|
|
140
|
+
newVector.offset &= ~(mask << getDepth(self) * branchBits);
|
|
141
|
+
newVector.length = newSize;
|
|
142
|
+
newVector.bits = setSuffix(rightSuffixSize, setDepth(newDepth, newVector.bits));
|
|
143
|
+
newVector.suffix = that.suffix;
|
|
144
|
+
return newVector;
|
|
140
145
|
}
|
|
141
|
-
|
|
142
|
-
newVector = appendNodeToTree(newVector, that.prefix.slice(0, getPrefixSize(that)).reverse());
|
|
143
|
-
const newNode = concatSubTree(newVector.root, getDepth(newVector), that.root, getDepth(that), true);
|
|
144
|
-
const newDepth = getHeight(newNode);
|
|
145
|
-
setSizes(newNode, newDepth);
|
|
146
|
-
newVector.root = newNode;
|
|
147
|
-
newVector.offset &= ~(mask << getDepth(self) * branchBits);
|
|
148
|
-
newVector.length = newSize;
|
|
149
|
-
newVector.bits = setSuffix(rightSuffixSize, setDepth(newDepth, newVector.bits));
|
|
150
|
-
newVector.suffix = that.suffix;
|
|
151
|
-
return newVector;
|
|
152
|
-
}
|
|
146
|
+
};
|
|
153
147
|
}
|
|
154
|
-
|
|
155
148
|
const containsState = {
|
|
156
149
|
element: undefined,
|
|
157
150
|
result: false
|
|
158
151
|
};
|
|
159
|
-
|
|
160
152
|
function containsCb(value, state) {
|
|
161
153
|
return !(state.result = value === state.element);
|
|
162
154
|
}
|
|
@@ -165,34 +157,36 @@ function containsCb(value, state) {
|
|
|
165
157
|
* Otherwise it returns `false`.
|
|
166
158
|
*
|
|
167
159
|
* @complexity O(n)
|
|
168
|
-
* @tsplus
|
|
160
|
+
* @tsplus pipeable fncts.Vector contains
|
|
169
161
|
*/
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
162
|
+
export function contains(element) {
|
|
163
|
+
return self => {
|
|
164
|
+
containsState.element = element;
|
|
165
|
+
containsState.result = false;
|
|
166
|
+
return foldLeftCb(containsCb, containsState, self).result;
|
|
167
|
+
};
|
|
176
168
|
}
|
|
177
169
|
/**
|
|
178
170
|
* Returns a new Vector without the first `n` elements.
|
|
179
171
|
*
|
|
180
172
|
* @complexity `O(log(n))`
|
|
181
|
-
* @tsplus
|
|
173
|
+
* @tsplus pipeable fncts.Vector drop
|
|
182
174
|
*/
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
175
|
+
export function drop(n) {
|
|
176
|
+
return self => {
|
|
177
|
+
return slice_1(n, self.length)(self);
|
|
178
|
+
};
|
|
186
179
|
}
|
|
187
180
|
/**
|
|
188
181
|
* Returns a new Vector without the last `n` elements.
|
|
189
182
|
*
|
|
190
183
|
* @complexity `O(log(n))`
|
|
191
|
-
* @tsplus
|
|
184
|
+
* @tsplus pipeable fncts.Vector dropLast
|
|
192
185
|
*/
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
186
|
+
export function dropLast(n) {
|
|
187
|
+
return self => {
|
|
188
|
+
return slice_1(0, self.length - n)(self);
|
|
189
|
+
};
|
|
196
190
|
}
|
|
197
191
|
/**
|
|
198
192
|
* Returns a new Vector without repeated elements.
|
|
@@ -200,22 +194,21 @@ export function dropLast_(as, n) {
|
|
|
200
194
|
* @complexity `O(n)`
|
|
201
195
|
* @tsplus getter fncts.Vector dropRepeats
|
|
202
196
|
*/
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
return dropRepeatsWith_1(as, tsplus_module_3.strictEquals);
|
|
197
|
+
export function dropRepeats(self) {
|
|
198
|
+
return dropRepeatsWith_1(tsplus_module_3.strictEquals)(self);
|
|
206
199
|
}
|
|
207
200
|
/**
|
|
208
201
|
* Returns a new Vector without repeated elements by using the given
|
|
209
202
|
* function to determine when elements are equal.
|
|
210
203
|
*
|
|
211
204
|
* @complexity `O(n)`
|
|
212
|
-
* @tsplus
|
|
205
|
+
* @tsplus pipeable fncts.Vector dropRepeatsWith
|
|
213
206
|
*/
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
207
|
+
function dropRepeatsWith_1(predicate) {
|
|
208
|
+
return self => {
|
|
209
|
+
return foldLeft_1(emptyPushable_1(), (acc, a) => acc.length !== 0 && predicate(unsafeLast_1(acc), a) ? acc : tsplus_module_2.push(a)(acc))(self);
|
|
210
|
+
};
|
|
217
211
|
}
|
|
218
|
-
|
|
219
212
|
function findNotIndexCb(value, state) {
|
|
220
213
|
if (state.predicate(value)) {
|
|
221
214
|
++state.index;
|
|
@@ -230,61 +223,57 @@ function findNotIndexCb(value, state) {
|
|
|
230
223
|
*
|
|
231
224
|
* @complexity `O(k + log(n))` where `k` is the number of elements
|
|
232
225
|
* satisfying the predicate.
|
|
233
|
-
* @tsplus
|
|
234
|
-
*/
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
}
|
|
246
|
-
|
|
226
|
+
* @tsplus pipeable fncts.Vector dropWhile
|
|
227
|
+
*/
|
|
228
|
+
export function dropWhile(predicate) {
|
|
229
|
+
return self => {
|
|
230
|
+
const {
|
|
231
|
+
index
|
|
232
|
+
} = foldLeftCb(findNotIndexCb, {
|
|
233
|
+
predicate,
|
|
234
|
+
index: 0
|
|
235
|
+
}, self);
|
|
236
|
+
return slice_1(index, self.length)(self);
|
|
237
|
+
};
|
|
238
|
+
}
|
|
247
239
|
function elemCb(value, state) {
|
|
248
|
-
return !(state.result = state.equals(
|
|
240
|
+
return !(state.result = state.equals(state.element)(value));
|
|
249
241
|
}
|
|
250
242
|
/**
|
|
251
|
-
* @tsplus
|
|
243
|
+
* @tsplus pipeable fncts.Vector elem
|
|
252
244
|
*/
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
return a => {
|
|
263
|
-
elemState.element = a;
|
|
264
|
-
return foldLeftCb(elemCb, elemState, self).result;
|
|
265
|
-
};
|
|
245
|
+
export function elem(a, /** @tsplus auto */E) {
|
|
246
|
+
const elemState = {
|
|
247
|
+
equals: E.equals,
|
|
248
|
+
element: undefined,
|
|
249
|
+
result: false
|
|
250
|
+
};
|
|
251
|
+
return self => {
|
|
252
|
+
elemState.element = a;
|
|
253
|
+
return foldLeftCb(elemCb, elemState, self).result;
|
|
266
254
|
};
|
|
267
255
|
}
|
|
268
256
|
/**
|
|
269
257
|
* Returns true if the two Vectors are equivalent.
|
|
270
258
|
*
|
|
271
259
|
* @complexity O(n)
|
|
272
|
-
* @tsplus
|
|
260
|
+
* @tsplus pipeable fncts.Vector equals
|
|
273
261
|
*/
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
262
|
+
export function equals(that) {
|
|
263
|
+
return self => {
|
|
264
|
+
return tsplus_module_4.corresponds(that, tsplus_module_3.strictEquals)(self);
|
|
265
|
+
};
|
|
277
266
|
}
|
|
278
|
-
|
|
279
267
|
function everyCb(value, state) {
|
|
280
268
|
return state.result = state.predicate(value);
|
|
281
269
|
}
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
270
|
+
export function every(predicate) {
|
|
271
|
+
return self => {
|
|
272
|
+
return foldLeftCb(everyCb, {
|
|
273
|
+
predicate,
|
|
274
|
+
result: true
|
|
275
|
+
}, self).result;
|
|
276
|
+
};
|
|
288
277
|
}
|
|
289
278
|
/**
|
|
290
279
|
* Creates an empty Vector.
|
|
@@ -292,20 +281,16 @@ export function every_(as, predicate) {
|
|
|
292
281
|
* @complexity O(1)
|
|
293
282
|
* @tsplus static fncts.VectorOps empty
|
|
294
283
|
*/
|
|
295
|
-
|
|
296
284
|
function empty_1() {
|
|
297
285
|
return new tsplus_module_1.Vector(0, 0, 0, emptyAffix, undefined, emptyAffix);
|
|
298
286
|
}
|
|
299
287
|
/**
|
|
300
288
|
* @tsplus static fncts.VectorOps emptyPushable
|
|
301
289
|
*/
|
|
302
|
-
|
|
303
|
-
|
|
304
290
|
function emptyPushable_1() {
|
|
305
291
|
return new tsplus_module_1.Vector(0, 0, 0, [], undefined, []);
|
|
306
292
|
}
|
|
307
|
-
|
|
308
|
-
function existsCb(value, state) {
|
|
293
|
+
function someCb(value, state) {
|
|
309
294
|
return !(state.result = state.predicate(value));
|
|
310
295
|
}
|
|
311
296
|
/**
|
|
@@ -314,29 +299,28 @@ function existsCb(value, state) {
|
|
|
314
299
|
*
|
|
315
300
|
* @complexity O(n)
|
|
316
301
|
*
|
|
317
|
-
* @tsplus
|
|
302
|
+
* @tsplus pipeable fncts.Vector some
|
|
318
303
|
*/
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
result
|
|
325
|
-
}
|
|
304
|
+
function some_1(predicate) {
|
|
305
|
+
return self => {
|
|
306
|
+
return foldLeftCb(someCb, {
|
|
307
|
+
predicate,
|
|
308
|
+
result: false
|
|
309
|
+
}, self).result;
|
|
310
|
+
};
|
|
326
311
|
}
|
|
327
312
|
/**
|
|
328
313
|
* Returns the _first_ element for which the predicate returns `true`.
|
|
329
314
|
* If no such element is found the function returns `undefined`.
|
|
330
315
|
*
|
|
331
316
|
* @complexity O(n)
|
|
332
|
-
* @tsplus
|
|
317
|
+
* @tsplus pipeable fncts.Vector find
|
|
333
318
|
*/
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
|
|
319
|
+
export function find(predicate) {
|
|
320
|
+
return self => {
|
|
321
|
+
return tsplus_module_5.fromNullable(unsafeFind_1(predicate)(self));
|
|
322
|
+
};
|
|
338
323
|
}
|
|
339
|
-
|
|
340
324
|
function findIndexCb(value, state) {
|
|
341
325
|
++state.index;
|
|
342
326
|
return !(state.found = state.predicate(value));
|
|
@@ -347,32 +331,32 @@ function findIndexCb(value, state) {
|
|
|
347
331
|
* `-1`.
|
|
348
332
|
*
|
|
349
333
|
* @complexity O(n)
|
|
350
|
-
* @tsplus
|
|
351
|
-
*/
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
|
|
334
|
+
* @tsplus pipeable fncts.Vector findIndex
|
|
335
|
+
*/
|
|
336
|
+
function findIndex_1(predicate) {
|
|
337
|
+
return self => {
|
|
338
|
+
const {
|
|
339
|
+
found,
|
|
340
|
+
index
|
|
341
|
+
} = foldLeftCb(findIndexCb, {
|
|
342
|
+
predicate,
|
|
343
|
+
found: false,
|
|
344
|
+
index: -1
|
|
345
|
+
}, self);
|
|
346
|
+
return found ? index : -1;
|
|
347
|
+
};
|
|
364
348
|
}
|
|
365
349
|
/**
|
|
366
350
|
* Returns the _last_ element for which the predicate returns `true`.
|
|
367
351
|
* If no such element is found the function returns `undefined`.
|
|
368
352
|
*
|
|
369
353
|
* @complexity O(n)
|
|
370
|
-
* @tsplus
|
|
354
|
+
* @tsplus pipeable fncts.Vector findLast
|
|
371
355
|
*/
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
|
|
375
|
-
|
|
356
|
+
export function findLast(predicate) {
|
|
357
|
+
return self => {
|
|
358
|
+
return tsplus_module_5.fromNullable(unsafeFindLast_1(predicate)(self));
|
|
359
|
+
};
|
|
376
360
|
}
|
|
377
361
|
/**
|
|
378
362
|
* Returns the index of the `last` element for which the predicate
|
|
@@ -380,19 +364,20 @@ export function findLast_(as, predicate) {
|
|
|
380
364
|
* `-1`.
|
|
381
365
|
*
|
|
382
366
|
* @complexity O(n)
|
|
383
|
-
* @tsplus
|
|
384
|
-
*/
|
|
385
|
-
|
|
386
|
-
|
|
387
|
-
|
|
388
|
-
|
|
389
|
-
|
|
390
|
-
|
|
391
|
-
|
|
392
|
-
|
|
393
|
-
|
|
394
|
-
|
|
395
|
-
|
|
367
|
+
* @tsplus pipeable fncts.Vector findLastIndex
|
|
368
|
+
*/
|
|
369
|
+
export function findLastIndex(predicate) {
|
|
370
|
+
return self => {
|
|
371
|
+
const {
|
|
372
|
+
found,
|
|
373
|
+
index
|
|
374
|
+
} = foldRightCb(findIndexCb, {
|
|
375
|
+
predicate,
|
|
376
|
+
found: false,
|
|
377
|
+
index: -0
|
|
378
|
+
}, self);
|
|
379
|
+
return found ? index : -1;
|
|
380
|
+
};
|
|
396
381
|
}
|
|
397
382
|
/**
|
|
398
383
|
* Flattens a Vector of Vectors into a Vector. Note that this function does
|
|
@@ -402,53 +387,47 @@ export function findLastIndex_(as, predicate) {
|
|
|
402
387
|
*
|
|
403
388
|
* @tsplus getter fncts.Vector flatten
|
|
404
389
|
*/
|
|
405
|
-
|
|
406
|
-
|
|
407
|
-
return foldLeft_1(mma, empty_1(), (acc, a) => concat_1(acc, a));
|
|
390
|
+
function flatten_1(self) {
|
|
391
|
+
return foldLeft_1(empty_1(), (acc, a) => concat_1(a)(acc))(self);
|
|
408
392
|
}
|
|
409
|
-
|
|
410
393
|
export function from(sequence) {
|
|
411
394
|
const l = emptyPushable_1();
|
|
412
|
-
|
|
413
395
|
if (sequence.length > 0 && (sequence[0] !== undefined || 0 in sequence)) {
|
|
414
396
|
for (let i = 0; i < sequence.length; ++i) {
|
|
415
|
-
tsplus_module_2.push(
|
|
397
|
+
tsplus_module_2.push(sequence[i])(l);
|
|
416
398
|
}
|
|
417
399
|
} else if (Symbol.iterator in sequence) {
|
|
418
400
|
const iterator = sequence[Symbol.iterator]();
|
|
419
401
|
let cur;
|
|
420
|
-
|
|
421
402
|
while (!(cur = iterator.next()).done) {
|
|
422
|
-
tsplus_module_2.push(
|
|
403
|
+
tsplus_module_2.push(cur.value)(l);
|
|
423
404
|
}
|
|
424
405
|
}
|
|
425
|
-
|
|
426
406
|
return l;
|
|
427
407
|
}
|
|
428
408
|
/**
|
|
429
409
|
* Folds a function over a Vector. Left-associative.
|
|
430
410
|
*
|
|
431
|
-
* @tsplus
|
|
411
|
+
* @tsplus pipeable fncts.Vector foldLeft
|
|
432
412
|
*/
|
|
433
|
-
|
|
434
|
-
|
|
435
|
-
|
|
413
|
+
function foldLeft_1(initial, f) {
|
|
414
|
+
return self => {
|
|
415
|
+
return foldLeftWithIndex_1(initial, (_, b, a) => f(b, a))(self);
|
|
416
|
+
};
|
|
436
417
|
}
|
|
437
418
|
/**
|
|
438
|
-
* @tsplus
|
|
419
|
+
* @tsplus pipeable fncts.Vector foldLeftWithIndex
|
|
439
420
|
*/
|
|
440
|
-
|
|
441
|
-
|
|
442
|
-
|
|
443
|
-
|
|
444
|
-
|
|
445
|
-
|
|
446
|
-
|
|
447
|
-
|
|
448
|
-
|
|
449
|
-
}
|
|
450
|
-
|
|
451
|
-
return foldLeftSuffix(f, acc, fa.suffix, suffixSize, index)[0];
|
|
421
|
+
function foldLeftWithIndex_1(b, f) {
|
|
422
|
+
return self => {
|
|
423
|
+
const suffixSize = getSuffixSize(self);
|
|
424
|
+
const prefixSize = getPrefixSize(self);
|
|
425
|
+
let [acc, index] = foldLeftPrefix(f, b, self.prefix, prefixSize);
|
|
426
|
+
if (self.root !== undefined) {
|
|
427
|
+
[acc, index] = foldLeftNode(f, acc, self.root, getDepth(self), index);
|
|
428
|
+
}
|
|
429
|
+
return foldLeftSuffix(f, acc, self.suffix, suffixSize, index)[0];
|
|
430
|
+
};
|
|
452
431
|
}
|
|
453
432
|
/**
|
|
454
433
|
* Similar to `foldl`. But, for each element it calls the predicate function
|
|
@@ -464,89 +443,83 @@ function foldLeftWithIndex_1(fa, b, f) {
|
|
|
464
443
|
* const ys = V.vector(2, 4, 6);
|
|
465
444
|
* foldlWhile(isOdd, (n, m) => n + m, 111, ys) //=> 111
|
|
466
445
|
*/
|
|
467
|
-
|
|
468
|
-
|
|
469
446
|
function foldWhileCb(a, state, i) {
|
|
470
447
|
if (state.predicate(state.result) === false) {
|
|
471
448
|
return false;
|
|
472
449
|
}
|
|
473
|
-
|
|
474
450
|
state.result = state.f(i, state.result, a);
|
|
475
451
|
return true;
|
|
476
452
|
}
|
|
477
453
|
/**
|
|
478
|
-
* @tsplus
|
|
454
|
+
* @tsplus pipeable fncts.Vector foldLeftWhile
|
|
479
455
|
*/
|
|
480
|
-
|
|
481
|
-
|
|
482
|
-
|
|
483
|
-
|
|
484
|
-
|
|
485
|
-
|
|
486
|
-
|
|
487
|
-
|
|
488
|
-
|
|
489
|
-
|
|
490
|
-
|
|
491
|
-
}, fa).result;
|
|
456
|
+
export function foldLeftWhile(b, cont, f) {
|
|
457
|
+
return self => {
|
|
458
|
+
if (!cont(b)) {
|
|
459
|
+
return b;
|
|
460
|
+
}
|
|
461
|
+
return foldLeftCb(foldWhileCb, {
|
|
462
|
+
predicate: cont,
|
|
463
|
+
f,
|
|
464
|
+
result: b
|
|
465
|
+
}, self).result;
|
|
466
|
+
};
|
|
492
467
|
}
|
|
493
468
|
/**
|
|
494
|
-
* @tsplus
|
|
469
|
+
* @tsplus pipeable fncts.Vector foldRightWhile
|
|
495
470
|
*/
|
|
496
|
-
|
|
497
|
-
|
|
498
|
-
|
|
499
|
-
|
|
500
|
-
|
|
501
|
-
|
|
502
|
-
|
|
471
|
+
export function foldRightWhile(b, cont, f) {
|
|
472
|
+
return self => {
|
|
473
|
+
return foldRightCb(foldWhileCb, {
|
|
474
|
+
predicate: cont,
|
|
475
|
+
result: b,
|
|
476
|
+
f: (i, b, a) => f(i, a, b)
|
|
477
|
+
}, self).result;
|
|
478
|
+
};
|
|
503
479
|
}
|
|
504
480
|
/**
|
|
505
|
-
* @tsplus
|
|
481
|
+
* @tsplus pipeable fncts.Vector foldMap
|
|
506
482
|
*/
|
|
507
|
-
|
|
508
|
-
|
|
509
|
-
|
|
510
|
-
|
|
511
|
-
return foldMapWithIndex_1(self, (_, a) => f(a), M);
|
|
483
|
+
export function foldMap(f, /** @tsplus auto */M) {
|
|
484
|
+
return self => {
|
|
485
|
+
return foldMapWithIndex_1((_, a) => f(a), M)(self);
|
|
486
|
+
};
|
|
512
487
|
}
|
|
513
488
|
/**
|
|
514
|
-
* @tsplus
|
|
489
|
+
* @tsplus pipeable fncts.Vector foldMapWithIndex
|
|
515
490
|
*/
|
|
516
|
-
|
|
517
|
-
|
|
518
|
-
|
|
519
|
-
|
|
520
|
-
return foldLeftWithIndex_1(self, M.nat, (i, b, a) => M.combine(b, f(i, a)));
|
|
491
|
+
function foldMapWithIndex_1(f, /** @tsplus auto */M) {
|
|
492
|
+
return self => {
|
|
493
|
+
return foldLeftWithIndex_1(M.nat, (i, b, a) => M.combine(f(i, a))(b))(self);
|
|
494
|
+
};
|
|
521
495
|
}
|
|
522
496
|
/**
|
|
523
497
|
* Folds a function over a Vector. Right-associative.
|
|
524
498
|
*
|
|
525
499
|
* @complexity O(n)
|
|
526
|
-
* @tsplus
|
|
500
|
+
* @tsplus pipeable fncts.Vector foldRight
|
|
527
501
|
*/
|
|
528
|
-
|
|
529
|
-
|
|
530
|
-
|
|
531
|
-
|
|
502
|
+
export function foldRight(initial, f) {
|
|
503
|
+
return self => {
|
|
504
|
+
return foldRightWithIndex_1(initial, (_, a, b) => f(a, b))(self);
|
|
505
|
+
};
|
|
532
506
|
}
|
|
533
507
|
/**
|
|
534
508
|
* Folds a function over a Vector. Right-associative.
|
|
535
509
|
*
|
|
536
510
|
* @complexity O(n)
|
|
537
|
-
* @tsplus
|
|
538
|
-
*/
|
|
539
|
-
|
|
540
|
-
|
|
541
|
-
|
|
542
|
-
|
|
543
|
-
|
|
544
|
-
|
|
545
|
-
|
|
546
|
-
|
|
547
|
-
|
|
548
|
-
|
|
549
|
-
return foldRightPrefix(f, acc, fa.prefix, prefixSize, j)[0];
|
|
511
|
+
* @tsplus pipeable fncts.Vector foldRightWithIndex
|
|
512
|
+
*/
|
|
513
|
+
function foldRightWithIndex_1(b, f) {
|
|
514
|
+
return self => {
|
|
515
|
+
const suffixSize = getSuffixSize(self);
|
|
516
|
+
const prefixSize = getPrefixSize(self);
|
|
517
|
+
let [acc, j] = foldRightSuffix(f, b, self.suffix, suffixSize, self.length - 1);
|
|
518
|
+
if (self.root !== undefined) {
|
|
519
|
+
[acc, j] = foldRightNode(f, acc, self.root, getDepth(self), j);
|
|
520
|
+
}
|
|
521
|
+
return foldRightPrefix(f, acc, self.prefix, prefixSize, j)[0];
|
|
522
|
+
};
|
|
550
523
|
}
|
|
551
524
|
/**
|
|
552
525
|
* Invokes a given callback for each element in the Vector from left to
|
|
@@ -558,31 +531,32 @@ function foldRightWithIndex_1(fa, b, f) {
|
|
|
558
531
|
* makes `forEach` faster when the new Vector is unneeded.
|
|
559
532
|
*
|
|
560
533
|
* @complexity O(n)
|
|
561
|
-
* @tsplus
|
|
534
|
+
* @tsplus pipeable fncts.Vector forEach
|
|
562
535
|
*/
|
|
563
|
-
|
|
564
|
-
|
|
565
|
-
|
|
566
|
-
|
|
536
|
+
function forEach_1(f) {
|
|
537
|
+
return self => {
|
|
538
|
+
foldLeft_1(undefined, (_, element) => f(element))(self);
|
|
539
|
+
};
|
|
567
540
|
}
|
|
568
541
|
/**
|
|
569
|
-
* @tsplus
|
|
542
|
+
* @tsplus pipeable fncts.Vector forEachWithIndex
|
|
570
543
|
*/
|
|
571
|
-
|
|
572
|
-
|
|
573
|
-
|
|
574
|
-
|
|
544
|
+
export function forEachWithIndex(f) {
|
|
545
|
+
return self => {
|
|
546
|
+
foldLeftWithIndex_1(undefined, (index, _, element) => f(index, element))(self);
|
|
547
|
+
};
|
|
575
548
|
}
|
|
576
549
|
/**
|
|
577
550
|
* Gets the nth element of the Vector. If `n` is out of bounds
|
|
578
551
|
* `undefined` is returned.
|
|
579
552
|
*
|
|
580
553
|
* @complexity O(log(n))
|
|
581
|
-
* @tsplus
|
|
554
|
+
* @tsplus pipeable fncts.Vector get
|
|
582
555
|
*/
|
|
583
|
-
|
|
584
|
-
|
|
585
|
-
|
|
556
|
+
export function get(index) {
|
|
557
|
+
return self => {
|
|
558
|
+
return tsplus_module_5.fromNullable(unsafeGet_1(index)(self));
|
|
559
|
+
};
|
|
586
560
|
}
|
|
587
561
|
/**
|
|
588
562
|
* Returns a Vector of Vectors where each subvector's elements are pairwise
|
|
@@ -592,21 +566,21 @@ export function get_(self, index) {
|
|
|
592
566
|
* equal elements should be grouped together the Vector should be sorted
|
|
593
567
|
* before grouping.
|
|
594
568
|
*
|
|
595
|
-
* @tsplus
|
|
569
|
+
* @tsplus pipeable fncts.Vector groupWith
|
|
596
570
|
*/
|
|
597
|
-
|
|
598
|
-
|
|
599
|
-
|
|
600
|
-
|
|
601
|
-
|
|
602
|
-
|
|
603
|
-
|
|
604
|
-
|
|
605
|
-
|
|
606
|
-
|
|
607
|
-
|
|
608
|
-
|
|
609
|
-
|
|
571
|
+
export function groupWith(f) {
|
|
572
|
+
return self => {
|
|
573
|
+
const result = emptyPushable_1();
|
|
574
|
+
let buffer = emptyPushable_1();
|
|
575
|
+
forEach_1(a => {
|
|
576
|
+
if (buffer.length !== 0 && !f(unsafeLast_1(buffer), a)) {
|
|
577
|
+
tsplus_module_2.push(buffer)(result);
|
|
578
|
+
buffer = emptyPushable_1();
|
|
579
|
+
}
|
|
580
|
+
tsplus_module_2.push(a)(buffer);
|
|
581
|
+
})(self);
|
|
582
|
+
return buffer.length === 0 ? result : tsplus_module_2.push(buffer)(result);
|
|
583
|
+
};
|
|
610
584
|
}
|
|
611
585
|
/**
|
|
612
586
|
* Returns the first element of the Vector.
|
|
@@ -614,11 +588,9 @@ export function groupWith_(as, f) {
|
|
|
614
588
|
* @complexity O(1)
|
|
615
589
|
* @tsplus getter fncts.Vector head
|
|
616
590
|
*/
|
|
617
|
-
|
|
618
591
|
export function head(self) {
|
|
619
592
|
return tsplus_module_5.fromNullable(unsafeHead_1(self));
|
|
620
593
|
}
|
|
621
|
-
|
|
622
594
|
function indexOfCb(value, state) {
|
|
623
595
|
++state.index;
|
|
624
596
|
return !(state.found = tsplus_module_3.strictEquals(value, state.element));
|
|
@@ -628,70 +600,72 @@ function indexOfCb(value, state) {
|
|
|
628
600
|
* to the given element. If no such element is found `-1` is returned.
|
|
629
601
|
*
|
|
630
602
|
* @complexity O(n)
|
|
631
|
-
* @tsplus
|
|
632
|
-
*/
|
|
633
|
-
|
|
634
|
-
|
|
635
|
-
|
|
636
|
-
|
|
637
|
-
|
|
638
|
-
|
|
639
|
-
|
|
603
|
+
* @tsplus pipeable fncts.Vector indexOf
|
|
604
|
+
*/
|
|
605
|
+
export function indexOf(element) {
|
|
606
|
+
return self => {
|
|
607
|
+
const state = {
|
|
608
|
+
element,
|
|
609
|
+
found: false,
|
|
610
|
+
index: -1
|
|
611
|
+
};
|
|
612
|
+
foldLeftCb(indexOfCb, state, self);
|
|
613
|
+
return state.found ? state.index : -1;
|
|
640
614
|
};
|
|
641
|
-
foldLeftCb(indexOfCb, state, as);
|
|
642
|
-
return state.found ? state.index : -1;
|
|
643
615
|
}
|
|
644
616
|
/**
|
|
645
617
|
* Inserts the given element at the given index in the Vector.
|
|
646
618
|
*
|
|
647
619
|
* @complexity O(log(n))
|
|
648
|
-
* @tsplus
|
|
620
|
+
* @tsplus pipeable fncts.Vector insertAt
|
|
649
621
|
*/
|
|
650
|
-
|
|
651
|
-
|
|
652
|
-
|
|
622
|
+
export function insertAt(index, element) {
|
|
623
|
+
return self => {
|
|
624
|
+
return concat_1(slice_1(index, self.length)(self))(append_1(element)(slice_1(0, index)(self)));
|
|
625
|
+
};
|
|
653
626
|
}
|
|
654
627
|
/**
|
|
655
628
|
* Inserts the given Vector of elements at the given index in the Vector.
|
|
656
629
|
*
|
|
657
630
|
* @complexity `O(log(n))`
|
|
658
|
-
* @tsplus
|
|
631
|
+
* @tsplus pipeable fncts.Vector insertAllAt
|
|
659
632
|
*/
|
|
660
|
-
|
|
661
|
-
|
|
662
|
-
|
|
633
|
+
export function insertAllAt(index, elements) {
|
|
634
|
+
return self => {
|
|
635
|
+
return concat_1(slice_1(index, self.length)(self))(concat_1(elements)(slice_1(0, index)(self)));
|
|
636
|
+
};
|
|
663
637
|
}
|
|
664
638
|
/**
|
|
665
639
|
* Inserts a separator between each element in a Vector.
|
|
666
640
|
*
|
|
667
|
-
* @tsplus
|
|
641
|
+
* @tsplus pipeable fncts.Vector intersperse
|
|
668
642
|
*/
|
|
669
|
-
|
|
670
|
-
|
|
671
|
-
|
|
643
|
+
export function intersperse(separator) {
|
|
644
|
+
return self => {
|
|
645
|
+
return pop_1(foldLeft_1(emptyPushable_1(), (l2, a) => tsplus_module_2.push(separator)(tsplus_module_2.push(a)(l2)))(self));
|
|
646
|
+
};
|
|
672
647
|
}
|
|
673
648
|
/**
|
|
674
649
|
* @tsplus fluent fncts.Vector isEmpty
|
|
675
650
|
*/
|
|
676
|
-
|
|
677
|
-
|
|
678
|
-
return l.length === 0;
|
|
651
|
+
export function isEmpty(self) {
|
|
652
|
+
return self.length === 0;
|
|
679
653
|
}
|
|
680
654
|
/**
|
|
681
655
|
* @tsplus fluent fncts.Vector isNonEmpty
|
|
682
656
|
*/
|
|
683
|
-
|
|
684
|
-
|
|
685
|
-
return l.length > 0;
|
|
657
|
+
export function isNonEmpty(self) {
|
|
658
|
+
return self.length > 0;
|
|
686
659
|
}
|
|
687
660
|
/**
|
|
688
661
|
* Concatenates the strings in the Vector separated by a specified separator.
|
|
689
662
|
*
|
|
690
|
-
* @tsplus
|
|
663
|
+
* @tsplus pipeable fncts.Vector join
|
|
691
664
|
*/
|
|
692
|
-
|
|
693
|
-
|
|
694
|
-
|
|
665
|
+
export function join(separator) {
|
|
666
|
+
return self => {
|
|
667
|
+
return foldLeft_1("", (a, b) => a.length === 0 ? b : a + separator + b)(self);
|
|
668
|
+
};
|
|
695
669
|
}
|
|
696
670
|
/**
|
|
697
671
|
* Returns the last element of the Vector.
|
|
@@ -699,26 +673,26 @@ export function join_(as, separator) {
|
|
|
699
673
|
* @complexity O(1)
|
|
700
674
|
* @tsplus getter fncts.Vector last
|
|
701
675
|
*/
|
|
702
|
-
|
|
703
|
-
|
|
704
|
-
return tsplus_module_5.fromNullable(unsafeLast_1(l));
|
|
676
|
+
export function last(self) {
|
|
677
|
+
return tsplus_module_5.fromNullable(unsafeLast_1(self));
|
|
705
678
|
}
|
|
706
679
|
/**
|
|
707
680
|
* Returns the index of the _last_ element in the Vector that is equal
|
|
708
681
|
* to the given element. If no such element is found `-1` is returned.
|
|
709
682
|
*
|
|
710
683
|
* @complexity O(n)
|
|
711
|
-
* @tsplus
|
|
712
|
-
*/
|
|
713
|
-
|
|
714
|
-
|
|
715
|
-
|
|
716
|
-
|
|
717
|
-
|
|
718
|
-
|
|
684
|
+
* @tsplus pipeable fncts.Vector lastIndexOf
|
|
685
|
+
*/
|
|
686
|
+
export function lastIndexOf(element) {
|
|
687
|
+
return self => {
|
|
688
|
+
const state = {
|
|
689
|
+
element,
|
|
690
|
+
found: false,
|
|
691
|
+
index: 0
|
|
692
|
+
};
|
|
693
|
+
foldRightCb(indexOfCb, state, self);
|
|
694
|
+
return state.found ? self.length - state.index : -1;
|
|
719
695
|
};
|
|
720
|
-
foldRightCb(indexOfCb, state, as);
|
|
721
|
-
return state.found ? as.length - state.index : -1;
|
|
722
696
|
}
|
|
723
697
|
/**
|
|
724
698
|
* Generates a new Vector by calling a function with the current index
|
|
@@ -727,57 +701,54 @@ export function lastIndexOf_(as, element) {
|
|
|
727
701
|
* @complexity O(n)
|
|
728
702
|
* @tsplus static fncts.VectorOps makeBy
|
|
729
703
|
*/
|
|
730
|
-
|
|
731
704
|
export function makeBy(n, f) {
|
|
732
705
|
const l = emptyPushable_1();
|
|
733
|
-
|
|
734
706
|
for (let i = 0; i < n; i++) {
|
|
735
|
-
tsplus_module_2.push(
|
|
707
|
+
tsplus_module_2.push(f(i))(l);
|
|
736
708
|
}
|
|
737
|
-
|
|
738
709
|
return l;
|
|
739
710
|
}
|
|
740
711
|
/**
|
|
741
|
-
* @tsplus
|
|
712
|
+
* @tsplus pipeable fncts.Vector mapAccum
|
|
742
713
|
*/
|
|
743
|
-
|
|
744
|
-
|
|
745
|
-
|
|
746
|
-
|
|
747
|
-
|
|
748
|
-
|
|
749
|
-
|
|
714
|
+
export function mapAccum(s, f) {
|
|
715
|
+
return self => {
|
|
716
|
+
return foldLeft_1([emptyPushable_1(), s], ([acc, s], a) => {
|
|
717
|
+
const r = f(s, a);
|
|
718
|
+
tsplus_module_2.push(r[0])(acc);
|
|
719
|
+
return [acc, r[1]];
|
|
720
|
+
})(self);
|
|
721
|
+
};
|
|
750
722
|
}
|
|
751
723
|
/**
|
|
752
724
|
* Applies a function to each element in the given Vector and returns a
|
|
753
725
|
* new Vector of the values that the function return.
|
|
754
726
|
*
|
|
755
727
|
* @complexity O(n)
|
|
756
|
-
* @tsplus
|
|
728
|
+
* @tsplus pipeable fncts.Vector map
|
|
757
729
|
*/
|
|
758
|
-
|
|
759
|
-
|
|
760
|
-
|
|
730
|
+
function map_1(f) {
|
|
731
|
+
return self => {
|
|
732
|
+
return mapWithIndex_1((_, a) => f(a))(self);
|
|
733
|
+
};
|
|
761
734
|
}
|
|
762
735
|
/**
|
|
763
736
|
* Applies a function to each element in the given Vector and returns a
|
|
764
737
|
* new Vector of the values that the function return.
|
|
765
738
|
*
|
|
766
739
|
* @complexity O(n)
|
|
767
|
-
* @tsplus
|
|
740
|
+
* @tsplus pipeable fncts.Vector mapWithIndex
|
|
768
741
|
*/
|
|
769
|
-
|
|
770
|
-
|
|
771
|
-
|
|
772
|
-
|
|
742
|
+
function mapWithIndex_1(f) {
|
|
743
|
+
return self => {
|
|
744
|
+
return new tsplus_module_1.Vector(self.bits, self.offset, self.length, mapPrefix(f, self.prefix, getPrefixSize(self)), self.root === undefined ? undefined : mapNode(f, self.root, getDepth(self), getPrefixSize(self), 1)[0], mapAffix(f, self.suffix, getSuffixSize(self), self.length));
|
|
745
|
+
};
|
|
773
746
|
}
|
|
774
747
|
/**
|
|
775
748
|
* @tsplus getter fncts.Vector mutableClone
|
|
776
749
|
*/
|
|
777
|
-
|
|
778
|
-
|
|
779
|
-
function mutableClone_1(as) {
|
|
780
|
-
return new tsplus_module_1.Vector(as.bits, as.offset, as.length, as.prefix, as.root, as.suffix);
|
|
750
|
+
function mutableClone_1(self) {
|
|
751
|
+
return new tsplus_module_1.Vector(self.bits, self.offset, self.length, self.prefix, self.root, self.suffix);
|
|
781
752
|
}
|
|
782
753
|
/**
|
|
783
754
|
* Returns a Vector that has the entry specified by the index replaced with
|
|
@@ -788,16 +759,15 @@ function mutableClone_1(as) {
|
|
|
788
759
|
*
|
|
789
760
|
* @complexity `O(log(n))`
|
|
790
761
|
*
|
|
791
|
-
* @tsplus
|
|
762
|
+
* @tsplus pipeable fncts.Vector modifyAt
|
|
792
763
|
*/
|
|
793
|
-
|
|
794
|
-
|
|
795
|
-
|
|
796
|
-
|
|
797
|
-
|
|
798
|
-
|
|
799
|
-
|
|
800
|
-
return updateAt_1(as, i, f(unsafeGet_1(as, i)));
|
|
764
|
+
export function modifyAt(i, f) {
|
|
765
|
+
return self => {
|
|
766
|
+
if (i < 0 || self.length <= i) {
|
|
767
|
+
return self;
|
|
768
|
+
}
|
|
769
|
+
return updateAt_1(i, f(unsafeGet_1(i)(self)))(self);
|
|
770
|
+
};
|
|
801
771
|
}
|
|
802
772
|
/**
|
|
803
773
|
* Returns `true` if and only if the predicate function returns
|
|
@@ -805,11 +775,12 @@ export function modifyAt_(as, i, f) {
|
|
|
805
775
|
*
|
|
806
776
|
* @complexity O(n)
|
|
807
777
|
*
|
|
808
|
-
* @tsplus
|
|
778
|
+
* @tsplus pipeable fncts.Vector none
|
|
809
779
|
*/
|
|
810
|
-
|
|
811
|
-
|
|
812
|
-
|
|
780
|
+
export function none(predicate) {
|
|
781
|
+
return self => {
|
|
782
|
+
return !some_1(predicate)(self);
|
|
783
|
+
};
|
|
813
784
|
}
|
|
814
785
|
/**
|
|
815
786
|
* Takes two arguments and returns a Vector that contains them.
|
|
@@ -817,7 +788,6 @@ export function none_(as, predicate) {
|
|
|
817
788
|
* @complexity O(1)
|
|
818
789
|
* @tsplus static fncts.VectorOps pair
|
|
819
790
|
*/
|
|
820
|
-
|
|
821
791
|
export function pair(first, second) {
|
|
822
792
|
return new tsplus_module_1.Vector(2, 0, 2, emptyAffix, undefined, [first, second]);
|
|
823
793
|
}
|
|
@@ -828,41 +798,37 @@ export function pair(first, second) {
|
|
|
828
798
|
* @complexity `O(1)`
|
|
829
799
|
* @tsplus getter fncts.Vector pop
|
|
830
800
|
*/
|
|
831
|
-
|
|
832
|
-
|
|
833
|
-
return slice_1(as, 0, -1);
|
|
801
|
+
function pop_1(self) {
|
|
802
|
+
return slice_1(0, -1)(self);
|
|
834
803
|
}
|
|
835
804
|
/**
|
|
836
805
|
* Prepends an element to the front of a Vector and returns the new Vector.
|
|
837
806
|
*
|
|
838
807
|
* @complexity O(1)
|
|
839
808
|
*
|
|
840
|
-
* @tsplus
|
|
809
|
+
* @tsplus pipeable fncts.Vector prepend
|
|
841
810
|
*/
|
|
842
|
-
|
|
843
|
-
|
|
844
|
-
|
|
845
|
-
|
|
846
|
-
|
|
847
|
-
|
|
848
|
-
|
|
849
|
-
|
|
850
|
-
|
|
851
|
-
|
|
852
|
-
|
|
853
|
-
|
|
854
|
-
|
|
855
|
-
|
|
856
|
-
|
|
857
|
-
}
|
|
811
|
+
function prepend_1(a) {
|
|
812
|
+
return self => {
|
|
813
|
+
const prefixSize = getPrefixSize(self);
|
|
814
|
+
if (prefixSize < 32) {
|
|
815
|
+
return new tsplus_module_1.Vector(incrementPrefix(self.bits), self.offset, self.length + 1, affixPush(a, self.prefix, prefixSize), self.root, self.suffix);
|
|
816
|
+
} else {
|
|
817
|
+
const newVector = mutableClone_1(self);
|
|
818
|
+
prependNodeToTree(newVector, reverseArray(self.prefix));
|
|
819
|
+
const newPrefix = [a];
|
|
820
|
+
newVector.prefix = newPrefix;
|
|
821
|
+
newVector.length++;
|
|
822
|
+
newVector.bits = setPrefix(1, newVector.bits);
|
|
823
|
+
return newVector;
|
|
824
|
+
}
|
|
825
|
+
};
|
|
858
826
|
}
|
|
859
827
|
/**
|
|
860
828
|
* @tsplus operator fncts.Vector +
|
|
861
829
|
*/
|
|
862
|
-
|
|
863
|
-
|
|
864
|
-
export function prependOperator(a, as) {
|
|
865
|
-
return prepend_1(as, a);
|
|
830
|
+
export function prependOperator(a, self) {
|
|
831
|
+
return prepend_1(a)(self);
|
|
866
832
|
}
|
|
867
833
|
/**
|
|
868
834
|
* Returns a Vector of numbers between an inclusive lower bound and an exclusive upper bound.
|
|
@@ -870,14 +836,11 @@ export function prependOperator(a, as) {
|
|
|
870
836
|
* @complexity O(n)
|
|
871
837
|
* @tsplus static fncts.VectorOps range
|
|
872
838
|
*/
|
|
873
|
-
|
|
874
839
|
export function range(start, end) {
|
|
875
840
|
const vec = emptyPushable_1();
|
|
876
|
-
|
|
877
841
|
for (let i = start; i < end; ++i) {
|
|
878
|
-
tsplus_module_2.push(
|
|
842
|
+
tsplus_module_2.push(i)(vec);
|
|
879
843
|
}
|
|
880
|
-
|
|
881
844
|
return vec;
|
|
882
845
|
}
|
|
883
846
|
/**
|
|
@@ -887,11 +850,12 @@ export function range(start, end) {
|
|
|
887
850
|
*
|
|
888
851
|
* @complexity `O(log(n))`
|
|
889
852
|
*
|
|
890
|
-
* @tsplus
|
|
853
|
+
* @tsplus pipeable fncts.Vector remove
|
|
891
854
|
*/
|
|
892
|
-
|
|
893
|
-
|
|
894
|
-
|
|
855
|
+
export function remove(from, amount) {
|
|
856
|
+
return self => {
|
|
857
|
+
return concat_1(slice_1(from + amount, self.length)(self))(slice_1(0, from)(self));
|
|
858
|
+
};
|
|
895
859
|
}
|
|
896
860
|
/**
|
|
897
861
|
* Returns a Vector of a given length that contains the specified value
|
|
@@ -900,33 +864,30 @@ export function remove_(as, from, amount) {
|
|
|
900
864
|
* @complexity O(n)
|
|
901
865
|
* @tsplus static fncts.VectorOps replicate
|
|
902
866
|
*/
|
|
903
|
-
|
|
904
867
|
export function replicate(n, a) {
|
|
905
868
|
let t = n;
|
|
906
869
|
const l = emptyPushable_1();
|
|
907
|
-
|
|
908
870
|
while (--t >= 0) {
|
|
909
|
-
tsplus_module_2.push(
|
|
871
|
+
tsplus_module_2.push(a)(l);
|
|
910
872
|
}
|
|
911
|
-
|
|
912
873
|
return l;
|
|
913
874
|
}
|
|
914
875
|
/**
|
|
915
876
|
* @tsplus getter fncts.Vector reverse
|
|
916
877
|
*/
|
|
917
|
-
|
|
918
878
|
export function reverse(self) {
|
|
919
|
-
return foldLeft_1(
|
|
879
|
+
return foldLeft_1(empty_1(), (vec, elem) => prepend_1(elem)(vec))(self);
|
|
920
880
|
}
|
|
921
881
|
/**
|
|
922
882
|
* Folds a function over a Vector from left to right while collecting
|
|
923
883
|
* all the intermediate steps in a resulting Vector.
|
|
924
884
|
*
|
|
925
|
-
* @tsplus
|
|
885
|
+
* @tsplus pipeable fncts.Vector scanLeft
|
|
926
886
|
*/
|
|
927
|
-
|
|
928
|
-
|
|
929
|
-
|
|
887
|
+
export function scanLeft(initial, f) {
|
|
888
|
+
return self => {
|
|
889
|
+
return foldLeft_1(tsplus_module_2.push(initial)(emptyPushable_1()), (l2, a) => tsplus_module_2.push(f(unsafeLast_1(l2), a))(l2))(self);
|
|
890
|
+
};
|
|
930
891
|
}
|
|
931
892
|
/**
|
|
932
893
|
* Takes a single arguments and returns a singleton Vector that contains it.
|
|
@@ -934,7 +895,6 @@ export function scanLeft_(as, initial, f) {
|
|
|
934
895
|
* @complexity O(1)
|
|
935
896
|
* @tsplus static fncts.VectorOps single
|
|
936
897
|
*/
|
|
937
|
-
|
|
938
898
|
export function single(a) {
|
|
939
899
|
return vector_1(a);
|
|
940
900
|
}
|
|
@@ -944,114 +904,100 @@ export function single(a) {
|
|
|
944
904
|
* from the right end of the Vector.
|
|
945
905
|
*
|
|
946
906
|
* @complexity `O(log(n))`
|
|
947
|
-
* @tsplus
|
|
948
|
-
*/
|
|
949
|
-
|
|
950
|
-
|
|
951
|
-
|
|
952
|
-
|
|
953
|
-
|
|
954
|
-
|
|
955
|
-
|
|
956
|
-
|
|
957
|
-
|
|
958
|
-
|
|
959
|
-
|
|
960
|
-
|
|
961
|
-
|
|
962
|
-
|
|
963
|
-
|
|
964
|
-
|
|
965
|
-
|
|
966
|
-
|
|
967
|
-
|
|
968
|
-
|
|
969
|
-
|
|
970
|
-
|
|
971
|
-
|
|
972
|
-
|
|
973
|
-
|
|
974
|
-
|
|
975
|
-
|
|
976
|
-
|
|
977
|
-
|
|
978
|
-
|
|
979
|
-
|
|
980
|
-
|
|
981
|
-
|
|
982
|
-
|
|
983
|
-
|
|
984
|
-
|
|
985
|
-
|
|
986
|
-
|
|
987
|
-
|
|
988
|
-
|
|
989
|
-
|
|
990
|
-
|
|
991
|
-
|
|
992
|
-
|
|
993
|
-
|
|
994
|
-
|
|
995
|
-
|
|
996
|
-
|
|
997
|
-
|
|
998
|
-
|
|
999
|
-
|
|
1000
|
-
|
|
1001
|
-
|
|
1002
|
-
|
|
1003
|
-
|
|
1004
|
-
|
|
1005
|
-
|
|
1006
|
-
|
|
1007
|
-
|
|
1008
|
-
|
|
1009
|
-
|
|
1010
|
-
|
|
1011
|
-
newVector.offset = newOffset;
|
|
1012
|
-
|
|
1013
|
-
if (newVector.root === undefined) {
|
|
1014
|
-
bits = setDepth(0, bits);
|
|
907
|
+
* @tsplus pipeable fncts.Vector slice
|
|
908
|
+
*/
|
|
909
|
+
function slice_1(from, to) {
|
|
910
|
+
return self => {
|
|
911
|
+
let {
|
|
912
|
+
bits,
|
|
913
|
+
length
|
|
914
|
+
} = self;
|
|
915
|
+
let _to = to;
|
|
916
|
+
let _from = from;
|
|
917
|
+
_to = Math.min(length, to);
|
|
918
|
+
// Handle negative indices
|
|
919
|
+
if (_from < 0) {
|
|
920
|
+
_from = length + from;
|
|
921
|
+
}
|
|
922
|
+
if (_to < 0) {
|
|
923
|
+
_to = length + to;
|
|
924
|
+
}
|
|
925
|
+
// Should we just return the empty Vector?
|
|
926
|
+
if (_to <= _from || _to <= 0 || length <= _from) {
|
|
927
|
+
return empty_1();
|
|
928
|
+
}
|
|
929
|
+
// Return Vector unchanged if we are slicing nothing off
|
|
930
|
+
if (_from <= 0 && length <= _to) {
|
|
931
|
+
return self;
|
|
932
|
+
}
|
|
933
|
+
const newLength = _to - _from;
|
|
934
|
+
let prefixSize = getPrefixSize(self);
|
|
935
|
+
const suffixSize = getSuffixSize(self);
|
|
936
|
+
// Both indices lie in the prefix
|
|
937
|
+
if (_to <= prefixSize) {
|
|
938
|
+
return new tsplus_module_1.Vector(setPrefix(newLength, 0), 0, newLength, self.prefix.slice(prefixSize - _to, prefixSize - _from), undefined, emptyAffix);
|
|
939
|
+
}
|
|
940
|
+
const suffixStart = length - suffixSize;
|
|
941
|
+
// Both indices lie in the suffix
|
|
942
|
+
if (suffixStart <= _from) {
|
|
943
|
+
return new tsplus_module_1.Vector(setSuffix(newLength, 0), 0, newLength, emptyAffix, undefined, self.suffix.slice(_from - suffixStart, _to - suffixStart));
|
|
944
|
+
}
|
|
945
|
+
const newVector = mutableClone_1(self);
|
|
946
|
+
newVector.length = newLength;
|
|
947
|
+
// Both indices lie in the tree
|
|
948
|
+
if (prefixSize <= _from && _to <= suffixStart) {
|
|
949
|
+
sliceTreeVector(_from - prefixSize + self.offset, _to - prefixSize + self.offset - 1, self.root, getDepth(self), self.offset, newVector);
|
|
950
|
+
return newVector;
|
|
951
|
+
}
|
|
952
|
+
if (0 < _from) {
|
|
953
|
+
// we need _to slice something off of the left
|
|
954
|
+
if (_from < prefixSize) {
|
|
955
|
+
// shorten the prefix even though it's not strictly needed,
|
|
956
|
+
// so that referenced items can be GC'd
|
|
957
|
+
newVector.prefix = self.prefix.slice(0, prefixSize - _from);
|
|
958
|
+
bits = setPrefix(prefixSize - _from, bits);
|
|
959
|
+
} else {
|
|
960
|
+
// if we're here `_to` can't lie in the tree, so we can set the
|
|
961
|
+
// root
|
|
962
|
+
zeroOffset();
|
|
963
|
+
newVector.root = sliceLeft(newVector.root, getDepth(self), _from - prefixSize, self.offset, true);
|
|
964
|
+
newVector.offset = newOffset;
|
|
965
|
+
if (newVector.root === undefined) {
|
|
966
|
+
bits = setDepth(0, bits);
|
|
967
|
+
}
|
|
968
|
+
bits = setPrefix(newAffix.length, bits);
|
|
969
|
+
prefixSize = newAffix.length;
|
|
970
|
+
newVector.prefix = newAffix;
|
|
1015
971
|
}
|
|
1016
|
-
|
|
1017
|
-
bits = setPrefix(newAffix.length, bits);
|
|
1018
|
-
prefixSize = newAffix.length;
|
|
1019
|
-
newVector.prefix = newAffix;
|
|
1020
972
|
}
|
|
1021
|
-
|
|
1022
|
-
|
|
1023
|
-
|
|
1024
|
-
|
|
1025
|
-
|
|
1026
|
-
|
|
1027
|
-
|
|
1028
|
-
|
|
1029
|
-
|
|
1030
|
-
|
|
1031
|
-
|
|
1032
|
-
|
|
1033
|
-
|
|
1034
|
-
bits =
|
|
1035
|
-
newVector.
|
|
973
|
+
if (_to < length) {
|
|
974
|
+
// we need _to slice something off of the right
|
|
975
|
+
if (length - _to < suffixSize) {
|
|
976
|
+
bits = setSuffix(suffixSize - (length - _to), bits);
|
|
977
|
+
// slice the suffix even though it's not strictly needed,
|
|
978
|
+
// _to allow the removed items _to be GC'd
|
|
979
|
+
newVector.suffix = self.suffix.slice(0, suffixSize - (length - _to));
|
|
980
|
+
} else {
|
|
981
|
+
newVector.root = sliceRight(newVector.root, getDepth(self), _to - prefixSize - 1, newVector.offset);
|
|
982
|
+
if (newVector.root === undefined) {
|
|
983
|
+
bits = setDepth(0, bits);
|
|
984
|
+
newVector.offset = 0;
|
|
985
|
+
}
|
|
986
|
+
bits = setSuffix(newAffix.length, bits);
|
|
987
|
+
newVector.suffix = newAffix;
|
|
1036
988
|
}
|
|
1037
|
-
|
|
1038
|
-
bits = setSuffix(newAffix.length, bits);
|
|
1039
|
-
newVector.suffix = newAffix;
|
|
1040
989
|
}
|
|
1041
|
-
|
|
1042
|
-
|
|
1043
|
-
|
|
1044
|
-
return newVector;
|
|
990
|
+
newVector.bits = bits;
|
|
991
|
+
return newVector;
|
|
992
|
+
};
|
|
1045
993
|
}
|
|
1046
994
|
/**
|
|
1047
|
-
* @tsplus
|
|
995
|
+
* @tsplus pipeable fncts.Vector sort
|
|
1048
996
|
*/
|
|
1049
|
-
|
|
1050
|
-
|
|
1051
|
-
|
|
1052
|
-
|
|
1053
|
-
O) {
|
|
1054
|
-
return sortWith_1(self, O.compare);
|
|
997
|
+
export function sort( /** @tsplus auto */O) {
|
|
998
|
+
return self => {
|
|
999
|
+
return sortWith_1((a, b) => O.compare(b)(a))(self);
|
|
1000
|
+
};
|
|
1055
1001
|
}
|
|
1056
1002
|
/**
|
|
1057
1003
|
* Sort the given Vector by comparing values using the given function.
|
|
@@ -1062,33 +1008,32 @@ O) {
|
|
|
1062
1008
|
*
|
|
1063
1009
|
* @complexity O(n * log(n))
|
|
1064
1010
|
*
|
|
1065
|
-
* @tsplus
|
|
1066
|
-
*/
|
|
1067
|
-
|
|
1068
|
-
|
|
1069
|
-
|
|
1070
|
-
|
|
1071
|
-
|
|
1072
|
-
|
|
1073
|
-
|
|
1074
|
-
|
|
1075
|
-
|
|
1076
|
-
|
|
1077
|
-
|
|
1078
|
-
|
|
1079
|
-
|
|
1080
|
-
|
|
1081
|
-
|
|
1082
|
-
|
|
1083
|
-
|
|
1084
|
-
|
|
1085
|
-
|
|
1086
|
-
|
|
1087
|
-
|
|
1088
|
-
|
|
1089
|
-
|
|
1090
|
-
|
|
1091
|
-
return newL;
|
|
1011
|
+
* @tsplus pipeable fncts.Vector sortWith
|
|
1012
|
+
*/
|
|
1013
|
+
function sortWith_1(compare) {
|
|
1014
|
+
return self => {
|
|
1015
|
+
const arr = [];
|
|
1016
|
+
let i = 0;
|
|
1017
|
+
forEach_1(elm => arr.push({
|
|
1018
|
+
idx: i++,
|
|
1019
|
+
elm
|
|
1020
|
+
}))(self);
|
|
1021
|
+
arr.sort(({
|
|
1022
|
+
elm: a,
|
|
1023
|
+
idx: i
|
|
1024
|
+
}, {
|
|
1025
|
+
elm: b,
|
|
1026
|
+
idx: j
|
|
1027
|
+
}) => {
|
|
1028
|
+
const c = compare(a, b);
|
|
1029
|
+
return c !== 0 ? c : i < j ? -1 : 1;
|
|
1030
|
+
});
|
|
1031
|
+
const newL = emptyPushable_1();
|
|
1032
|
+
for (let i = 0; i < arr.length; ++i) {
|
|
1033
|
+
tsplus_module_2.push(arr[i].elm)(newL);
|
|
1034
|
+
}
|
|
1035
|
+
return newL;
|
|
1036
|
+
};
|
|
1092
1037
|
}
|
|
1093
1038
|
/**
|
|
1094
1039
|
* Splits a Vector at the given index and return the two sides in a pair.
|
|
@@ -1098,12 +1043,12 @@ function sortWith_1(as, compare) {
|
|
|
1098
1043
|
*
|
|
1099
1044
|
* @complexity `O(log(n))`
|
|
1100
1045
|
*
|
|
1101
|
-
* @tsplus
|
|
1046
|
+
* @tsplus pipeable fncts.Vector splitAt
|
|
1102
1047
|
*/
|
|
1103
|
-
|
|
1104
|
-
|
|
1105
|
-
|
|
1106
|
-
|
|
1048
|
+
function splitAt_1(index) {
|
|
1049
|
+
return self => {
|
|
1050
|
+
return [slice_1(0, index)(self), slice_1(index, self.length)(self)];
|
|
1051
|
+
};
|
|
1107
1052
|
}
|
|
1108
1053
|
/**
|
|
1109
1054
|
* Splits a Vector at the first element in the Vector for which the given
|
|
@@ -1111,13 +1056,13 @@ function splitAt_1(as, index) {
|
|
|
1111
1056
|
*
|
|
1112
1057
|
* @complexity `O(n)`
|
|
1113
1058
|
*
|
|
1114
|
-
* @tsplus
|
|
1059
|
+
* @tsplus pipeable fncts.Vector splitWhen
|
|
1115
1060
|
*/
|
|
1116
|
-
|
|
1117
|
-
|
|
1118
|
-
|
|
1119
|
-
|
|
1120
|
-
|
|
1061
|
+
export function splitWhen(predicate) {
|
|
1062
|
+
return self => {
|
|
1063
|
+
const idx = findIndex_1(predicate)(self);
|
|
1064
|
+
return idx === -1 ? [self, empty_1()] : splitAt_1(idx)(self);
|
|
1065
|
+
};
|
|
1121
1066
|
}
|
|
1122
1067
|
/**
|
|
1123
1068
|
* Returns a new Vector with the first element removed. If the Vector is
|
|
@@ -1127,19 +1072,19 @@ export function splitWhen_(as, predicate) {
|
|
|
1127
1072
|
*
|
|
1128
1073
|
* @tsplus getter fncts.Vector tail
|
|
1129
1074
|
*/
|
|
1130
|
-
|
|
1131
|
-
|
|
1132
|
-
return slice_1(as, 1, as.length);
|
|
1075
|
+
export function tail(self) {
|
|
1076
|
+
return slice_1(1, self.length)(self);
|
|
1133
1077
|
}
|
|
1134
1078
|
/**
|
|
1135
1079
|
* Takes the first `n` elements from a Vector and returns them in a new Vector.
|
|
1136
1080
|
*
|
|
1137
1081
|
* @complexity `O(log(n))`
|
|
1138
|
-
* @tsplus
|
|
1082
|
+
* @tsplus pipeable fncts.Vector take
|
|
1139
1083
|
*/
|
|
1140
|
-
|
|
1141
|
-
|
|
1142
|
-
|
|
1084
|
+
export function take(n) {
|
|
1085
|
+
return self => {
|
|
1086
|
+
return slice_1(0, n)(self);
|
|
1087
|
+
};
|
|
1143
1088
|
}
|
|
1144
1089
|
/**
|
|
1145
1090
|
* Takes the first elements in the Vector for which the predicate returns
|
|
@@ -1148,28 +1093,30 @@ export function take_(as, n) {
|
|
|
1148
1093
|
* @complexity `O(k + log(n))` where `k` is the number of elements satisfying
|
|
1149
1094
|
* the predicate.
|
|
1150
1095
|
*
|
|
1151
|
-
* @tsplus
|
|
1152
|
-
*/
|
|
1153
|
-
|
|
1154
|
-
|
|
1155
|
-
|
|
1156
|
-
|
|
1157
|
-
|
|
1158
|
-
|
|
1159
|
-
|
|
1160
|
-
|
|
1161
|
-
|
|
1096
|
+
* @tsplus pipeable fncts.Vector takeWhile
|
|
1097
|
+
*/
|
|
1098
|
+
export function takeWhile(predicate) {
|
|
1099
|
+
return self => {
|
|
1100
|
+
const {
|
|
1101
|
+
index
|
|
1102
|
+
} = foldLeftCb(findNotIndexCb, {
|
|
1103
|
+
predicate,
|
|
1104
|
+
index: 0
|
|
1105
|
+
}, self);
|
|
1106
|
+
return slice_1(0, index)(self);
|
|
1107
|
+
};
|
|
1162
1108
|
}
|
|
1163
1109
|
/**
|
|
1164
1110
|
* Takes the last `n` elements from a Vector and returns them in a new
|
|
1165
1111
|
* Vector.
|
|
1166
1112
|
*
|
|
1167
1113
|
* @complexity `O(log(n))`
|
|
1168
|
-
* @tsplus
|
|
1114
|
+
* @tsplus pipeable fncts.Vector takeLast
|
|
1169
1115
|
*/
|
|
1170
|
-
|
|
1171
|
-
|
|
1172
|
-
|
|
1116
|
+
export function takeLast(n) {
|
|
1117
|
+
return self => {
|
|
1118
|
+
return slice_1(self.length - n, self.length)(self);
|
|
1119
|
+
};
|
|
1173
1120
|
}
|
|
1174
1121
|
/**
|
|
1175
1122
|
* Takes the last elements in the Vector for which the predicate returns
|
|
@@ -1178,17 +1125,18 @@ export function takeLast_(as, n) {
|
|
|
1178
1125
|
* @complexity `O(k + log(n))` where `k` is the number of elements
|
|
1179
1126
|
* satisfying the predicate.
|
|
1180
1127
|
*
|
|
1181
|
-
* @tsplus
|
|
1182
|
-
*/
|
|
1183
|
-
|
|
1184
|
-
|
|
1185
|
-
|
|
1186
|
-
|
|
1187
|
-
|
|
1188
|
-
|
|
1189
|
-
|
|
1190
|
-
|
|
1191
|
-
|
|
1128
|
+
* @tsplus pipeable fncts.Vector takeLastWhile
|
|
1129
|
+
*/
|
|
1130
|
+
export function takeLastWhile(predicate) {
|
|
1131
|
+
return self => {
|
|
1132
|
+
const {
|
|
1133
|
+
index
|
|
1134
|
+
} = foldRightCb(findNotIndexCb, {
|
|
1135
|
+
predicate,
|
|
1136
|
+
index: 0
|
|
1137
|
+
}, self);
|
|
1138
|
+
return slice_1(self.length - index, self.length)(self);
|
|
1139
|
+
};
|
|
1192
1140
|
}
|
|
1193
1141
|
/**
|
|
1194
1142
|
* Converts a Vector into an array.
|
|
@@ -1196,9 +1144,8 @@ export function takeLastWhile_(as, predicate) {
|
|
|
1196
1144
|
* @complexity `O(n)`
|
|
1197
1145
|
* @tsplus getter fncts.Vector toArray
|
|
1198
1146
|
*/
|
|
1199
|
-
|
|
1200
1147
|
export function toArray(self) {
|
|
1201
|
-
return foldLeft_1(
|
|
1148
|
+
return foldLeft_1([], arrayPush)(self);
|
|
1202
1149
|
}
|
|
1203
1150
|
/**
|
|
1204
1151
|
* Converts a Vector into a List.
|
|
@@ -1206,64 +1153,56 @@ export function toArray(self) {
|
|
|
1206
1153
|
* @complexity `O(n)`
|
|
1207
1154
|
* @tsplus getter fncts.Vector toList
|
|
1208
1155
|
*/
|
|
1209
|
-
|
|
1210
1156
|
export function toList(self) {
|
|
1211
1157
|
const buffer = new tsplus_module_6.ListBuffer();
|
|
1212
|
-
forEach_1(
|
|
1158
|
+
forEach_1(a => {
|
|
1213
1159
|
buffer.append(a);
|
|
1214
|
-
});
|
|
1160
|
+
})(self);
|
|
1215
1161
|
return buffer.toList;
|
|
1216
1162
|
}
|
|
1217
|
-
|
|
1218
|
-
|
|
1219
|
-
|
|
1220
|
-
|
|
1221
|
-
const traverseWithIndex_1 = /*#__PURE__*/tsplus_module_7.mkTraverseWithIndex_()(() => self => G => f => {
|
|
1222
|
-
return foldLeftWithIndex_1(self, G.pure(emptyPushable_1()), (i, b, a) => G.zipWith(b, f(i, a), (v, b) => {
|
|
1223
|
-
push(v, b);
|
|
1163
|
+
function _traverseWithIndex_1(self) {
|
|
1164
|
+
return G => f => foldLeftWithIndex_1(G.pure(emptyPushable_1()), (i, b, a) => G.zipWith(f(i, a), (v, b) => {
|
|
1165
|
+
tsplus_module_2.push(b)(v);
|
|
1224
1166
|
return v;
|
|
1225
|
-
}));
|
|
1226
|
-
}
|
|
1227
|
-
export const traverseWithIndex = traverseWithIndex_1;
|
|
1167
|
+
})(b))(self);
|
|
1168
|
+
}
|
|
1228
1169
|
/**
|
|
1229
1170
|
* @tsplus getter fncts.Vector traverse
|
|
1230
1171
|
*/
|
|
1231
|
-
|
|
1232
|
-
|
|
1172
|
+
export function _traverse(self) {
|
|
1173
|
+
return G => f => _traverseWithIndex_1(self)(G)((_, a) => f(a));
|
|
1174
|
+
}
|
|
1175
|
+
export const traverseWithIndex = G => f => self => _traverseWithIndex_1(self)(G)(f);
|
|
1176
|
+
export const traverse = G => f => self => _traverseWithIndex_1(self)(G)((_, a) => f(a));
|
|
1233
1177
|
/**
|
|
1234
1178
|
* Returns a new Vector without repeated elements by using the given
|
|
1235
1179
|
* Eq instance to determine when elements are equal
|
|
1236
1180
|
*
|
|
1237
1181
|
* @complexity `O(n)`
|
|
1238
|
-
* @tsplus
|
|
1182
|
+
* @tsplus pipeable fncts.Vector uniq
|
|
1239
1183
|
*/
|
|
1240
|
-
|
|
1241
|
-
|
|
1242
|
-
return E => dropRepeatsWith_1(as, E.equals);
|
|
1184
|
+
export function uniq(E) {
|
|
1185
|
+
return self => dropRepeatsWith_1((a, b) => E.equals(b)(a))(self);
|
|
1243
1186
|
}
|
|
1244
1187
|
/**
|
|
1245
1188
|
* @tsplus static fncts.VectorOps unfold
|
|
1246
1189
|
*/
|
|
1247
|
-
|
|
1248
1190
|
export function unfold(b, f) {
|
|
1249
1191
|
const out = emptyPushable_1();
|
|
1250
|
-
let state = b;
|
|
1251
|
-
|
|
1192
|
+
let state = b;
|
|
1193
|
+
// eslint-disable-next-line no-constant-condition
|
|
1252
1194
|
while (true) {
|
|
1253
1195
|
const mt = f(state);
|
|
1254
|
-
|
|
1255
|
-
if (tsplus_module_8.isJust(mt)) {
|
|
1196
|
+
if (tsplus_module_7.isJust(mt)) {
|
|
1256
1197
|
const [a, b] = mt.value;
|
|
1257
|
-
tsplus_module_2.push(
|
|
1198
|
+
tsplus_module_2.push(a)(out);
|
|
1258
1199
|
state = b;
|
|
1259
1200
|
} else {
|
|
1260
1201
|
break;
|
|
1261
1202
|
}
|
|
1262
1203
|
}
|
|
1263
|
-
|
|
1264
1204
|
return out;
|
|
1265
1205
|
}
|
|
1266
|
-
|
|
1267
1206
|
function findCb(value, state) {
|
|
1268
1207
|
if (state.predicate(value)) {
|
|
1269
1208
|
state.result = value;
|
|
@@ -1277,59 +1216,57 @@ function findCb(value, state) {
|
|
|
1277
1216
|
* If no such element is found the function returns `undefined`.
|
|
1278
1217
|
*
|
|
1279
1218
|
* @complexity O(n)
|
|
1280
|
-
* @tsplus
|
|
1281
|
-
*/
|
|
1282
|
-
|
|
1283
|
-
|
|
1284
|
-
|
|
1285
|
-
|
|
1286
|
-
|
|
1287
|
-
result
|
|
1288
|
-
}
|
|
1219
|
+
* @tsplus pipeable fncts.Vector unsafeFind
|
|
1220
|
+
*/
|
|
1221
|
+
function unsafeFind_1(predicate) {
|
|
1222
|
+
return self => {
|
|
1223
|
+
return foldLeftCb(findCb, {
|
|
1224
|
+
predicate,
|
|
1225
|
+
result: undefined
|
|
1226
|
+
}, self).result;
|
|
1227
|
+
};
|
|
1289
1228
|
}
|
|
1290
1229
|
/**
|
|
1291
1230
|
* Returns the _last_ element for which the predicate returns `true`.
|
|
1292
1231
|
* If no such element is found the function returns `undefined`.
|
|
1293
1232
|
*
|
|
1294
1233
|
* @complexity O(n)
|
|
1295
|
-
* @tsplus
|
|
1296
|
-
*/
|
|
1297
|
-
|
|
1298
|
-
|
|
1299
|
-
|
|
1300
|
-
|
|
1301
|
-
|
|
1302
|
-
result
|
|
1303
|
-
}
|
|
1234
|
+
* @tsplus pipeable fncts.Vector unsafeFindLast
|
|
1235
|
+
*/
|
|
1236
|
+
function unsafeFindLast_1(predicate) {
|
|
1237
|
+
return self => {
|
|
1238
|
+
return foldRightCb(findCb, {
|
|
1239
|
+
predicate,
|
|
1240
|
+
result: undefined
|
|
1241
|
+
}, self).result;
|
|
1242
|
+
};
|
|
1304
1243
|
}
|
|
1305
1244
|
/**
|
|
1306
1245
|
* Gets the nth element of the Vector. If `n` is out of bounds
|
|
1307
1246
|
* `undefined` is returned.
|
|
1308
1247
|
*
|
|
1309
1248
|
* @complexity O(log(n))
|
|
1310
|
-
* @tsplus
|
|
1249
|
+
* @tsplus pipeable fncts.Vector unsafeGet
|
|
1250
|
+
* @tsplus pipeable-index fncts.Vector
|
|
1311
1251
|
*/
|
|
1312
|
-
|
|
1313
|
-
|
|
1314
|
-
|
|
1315
|
-
|
|
1316
|
-
|
|
1317
|
-
|
|
1318
|
-
|
|
1319
|
-
|
|
1320
|
-
|
|
1321
|
-
|
|
1322
|
-
|
|
1323
|
-
|
|
1324
|
-
|
|
1325
|
-
|
|
1326
|
-
|
|
1327
|
-
|
|
1328
|
-
|
|
1329
|
-
|
|
1330
|
-
} = l;
|
|
1331
|
-
const depth = getDepth(l);
|
|
1332
|
-
return l.root.sizes === undefined ? nodeNthDense(l.root, depth, offset === 0 ? index - prefixSize : handleOffset(depth, offset, index - prefixSize)) : nodeNth(l.root, depth, offset, index - prefixSize);
|
|
1252
|
+
function unsafeGet_1(index) {
|
|
1253
|
+
return self => {
|
|
1254
|
+
if (index < 0 || self.length <= index) {
|
|
1255
|
+
return undefined;
|
|
1256
|
+
}
|
|
1257
|
+
const prefixSize = getPrefixSize(self);
|
|
1258
|
+
const suffixSize = getSuffixSize(self);
|
|
1259
|
+
if (index < prefixSize) {
|
|
1260
|
+
return self.prefix[prefixSize - index - 1];
|
|
1261
|
+
} else if (index >= self.length - suffixSize) {
|
|
1262
|
+
return self.suffix[index - (self.length - suffixSize)];
|
|
1263
|
+
}
|
|
1264
|
+
const {
|
|
1265
|
+
offset
|
|
1266
|
+
} = self;
|
|
1267
|
+
const depth = getDepth(self);
|
|
1268
|
+
return self.root.sizes === undefined ? nodeNthDense(self.root, depth, offset === 0 ? index - prefixSize : handleOffset(depth, offset, index - prefixSize)) : nodeNth(self.root, depth, offset, index - prefixSize);
|
|
1269
|
+
};
|
|
1333
1270
|
}
|
|
1334
1271
|
/**
|
|
1335
1272
|
* Returns the first element of the Vector. If the Vector is empty the
|
|
@@ -1338,11 +1275,9 @@ function unsafeGet_1(l, index) {
|
|
|
1338
1275
|
* @complexity O(1)
|
|
1339
1276
|
* @tsplus getter fncts.Vector unsafeHead
|
|
1340
1277
|
*/
|
|
1341
|
-
|
|
1342
|
-
|
|
1343
|
-
|
|
1344
|
-
const prefixSize = getPrefixSize(l);
|
|
1345
|
-
return prefixSize !== 0 ? l.prefix[prefixSize - 1] : l.length !== 0 ? l.suffix[0] : undefined;
|
|
1278
|
+
function unsafeHead_1(self) {
|
|
1279
|
+
const prefixSize = getPrefixSize(self);
|
|
1280
|
+
return prefixSize !== 0 ? self.prefix[prefixSize - 1] : self.length !== 0 ? self.suffix[0] : undefined;
|
|
1346
1281
|
}
|
|
1347
1282
|
/**
|
|
1348
1283
|
* Returns the last element of the Vector. If the Vector is empty the
|
|
@@ -1351,11 +1286,9 @@ function unsafeHead_1(l) {
|
|
|
1351
1286
|
* @complexity O(1)
|
|
1352
1287
|
* @tsplus getter fncts.Vector unsafeLast
|
|
1353
1288
|
*/
|
|
1354
|
-
|
|
1355
|
-
|
|
1356
|
-
|
|
1357
|
-
const suffixSize = getSuffixSize(l);
|
|
1358
|
-
return suffixSize !== 0 ? l.suffix[suffixSize - 1] : l.length !== 0 ? l.prefix[0] : undefined;
|
|
1289
|
+
function unsafeLast_1(self) {
|
|
1290
|
+
const suffixSize = getSuffixSize(self);
|
|
1291
|
+
return suffixSize !== 0 ? self.suffix[suffixSize - 1] : self.length !== 0 ? self.prefix[0] : undefined;
|
|
1359
1292
|
}
|
|
1360
1293
|
/**
|
|
1361
1294
|
* Returns a Vector that has the entry specified by the index replaced with the given value.
|
|
@@ -1363,45 +1296,38 @@ function unsafeLast_1(l) {
|
|
|
1363
1296
|
* If the index is out of bounds the given Vector is returned unchanged.
|
|
1364
1297
|
*
|
|
1365
1298
|
* @complexity O(log(n))
|
|
1366
|
-
* @tsplus
|
|
1299
|
+
* @tsplus pipeable fncts.Vector updateAt
|
|
1367
1300
|
*/
|
|
1368
|
-
|
|
1369
|
-
|
|
1370
|
-
|
|
1371
|
-
|
|
1372
|
-
|
|
1373
|
-
|
|
1374
|
-
|
|
1375
|
-
|
|
1376
|
-
|
|
1377
|
-
|
|
1378
|
-
|
|
1379
|
-
|
|
1380
|
-
|
|
1381
|
-
|
|
1382
|
-
|
|
1383
|
-
|
|
1384
|
-
|
|
1385
|
-
|
|
1386
|
-
|
|
1387
|
-
|
|
1388
|
-
|
|
1389
|
-
}
|
|
1390
|
-
|
|
1391
|
-
return newVector;
|
|
1301
|
+
function updateAt_1(i, a) {
|
|
1302
|
+
return self => {
|
|
1303
|
+
if (i < 0 || self.length <= i) {
|
|
1304
|
+
return self;
|
|
1305
|
+
}
|
|
1306
|
+
const prefixSize = getPrefixSize(self);
|
|
1307
|
+
const suffixSize = getSuffixSize(self);
|
|
1308
|
+
const newVector = mutableClone_1(self);
|
|
1309
|
+
if (i < prefixSize) {
|
|
1310
|
+
const newPrefix = copyArray(newVector.prefix);
|
|
1311
|
+
newPrefix[newPrefix.length - i - 1] = a;
|
|
1312
|
+
newVector.prefix = newPrefix;
|
|
1313
|
+
} else if (i >= self.length - suffixSize) {
|
|
1314
|
+
const newSuffix = copyArray(newVector.suffix);
|
|
1315
|
+
newSuffix[i - (self.length - suffixSize)] = a;
|
|
1316
|
+
newVector.suffix = newSuffix;
|
|
1317
|
+
} else {
|
|
1318
|
+
newVector.root = updateNode(self.root, getDepth(self), i - prefixSize, self.offset, a);
|
|
1319
|
+
}
|
|
1320
|
+
return newVector;
|
|
1321
|
+
};
|
|
1392
1322
|
}
|
|
1393
1323
|
/**
|
|
1394
1324
|
* @tsplus static fncts.VectorOps __call
|
|
1395
1325
|
*/
|
|
1396
|
-
|
|
1397
|
-
|
|
1398
1326
|
function vector_1(...elements) {
|
|
1399
1327
|
const v = emptyPushable_1();
|
|
1400
|
-
|
|
1401
1328
|
for (const element of elements) {
|
|
1402
|
-
tsplus_module_2.push(
|
|
1329
|
+
tsplus_module_2.push(element)(v);
|
|
1403
1330
|
}
|
|
1404
|
-
|
|
1405
1331
|
return v;
|
|
1406
1332
|
}
|
|
1407
1333
|
//# sourceMappingURL=api.mjs.map
|