@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
|
@@ -2,90 +2,96 @@ import type { ImmutableArrayF } from "@fncts/base/collection/immutable/Immutable
|
|
|
2
2
|
import type { Monoid } from "@fncts/base/typeclass";
|
|
3
3
|
|
|
4
4
|
import { EitherTag } from "@fncts/base/data/Either";
|
|
5
|
-
import { identity, tuple } from "@fncts/base/data/function";
|
|
5
|
+
import { identity, pipe, tuple } from "@fncts/base/data/function";
|
|
6
6
|
import * as P from "@fncts/base/typeclass";
|
|
7
7
|
|
|
8
8
|
/**
|
|
9
|
-
* @tsplus
|
|
9
|
+
* @tsplus pipeable fncts.ImmutableArray alignWith
|
|
10
10
|
*/
|
|
11
|
-
export function
|
|
12
|
-
self: ImmutableArray<A
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
const ret = Array<C>(maxlen);
|
|
21
|
-
for (let i = 0; i < minlen; i++) {
|
|
22
|
-
ret[i] = f(These.both(selfArray[i]!, thatArray[i]!));
|
|
23
|
-
}
|
|
24
|
-
if (minlen === maxlen) {
|
|
25
|
-
return ret.asImmutableArray;
|
|
26
|
-
} else if (selfArray.length > thatArray.length) {
|
|
27
|
-
for (let i = minlen; i < maxlen; i++) {
|
|
28
|
-
ret[i] = f(These.left(selfArray[i]!));
|
|
11
|
+
export function alignWith<A, B, C>(fb: ImmutableArray<B>, f: (_: These<A, B>) => C) {
|
|
12
|
+
return (self: ImmutableArray<A>): ImmutableArray<C> => {
|
|
13
|
+
const selfArray = self._array;
|
|
14
|
+
const thatArray = fb._array;
|
|
15
|
+
const minlen = Math.min(selfArray.length, thatArray.length);
|
|
16
|
+
const maxlen = Math.max(selfArray.length, thatArray.length);
|
|
17
|
+
const ret = Array<C>(maxlen);
|
|
18
|
+
for (let i = 0; i < minlen; i++) {
|
|
19
|
+
ret[i] = f(These.both(selfArray[i]!, thatArray[i]!));
|
|
29
20
|
}
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
21
|
+
if (minlen === maxlen) {
|
|
22
|
+
return ret.asImmutableArray;
|
|
23
|
+
} else if (selfArray.length > thatArray.length) {
|
|
24
|
+
for (let i = minlen; i < maxlen; i++) {
|
|
25
|
+
ret[i] = f(These.left(selfArray[i]!));
|
|
26
|
+
}
|
|
27
|
+
} else {
|
|
28
|
+
for (let i = minlen; i < maxlen; i++) {
|
|
29
|
+
ret[i] = f(These.right(thatArray[i]!));
|
|
30
|
+
}
|
|
33
31
|
}
|
|
34
|
-
|
|
35
|
-
|
|
32
|
+
return ret.asImmutableArray;
|
|
33
|
+
};
|
|
36
34
|
}
|
|
37
35
|
|
|
38
36
|
/**
|
|
39
|
-
* @tsplus
|
|
37
|
+
* @tsplus pipeable fncts.ImmutableArray align
|
|
40
38
|
*/
|
|
41
|
-
export function
|
|
42
|
-
return self
|
|
39
|
+
export function align<B>(fb: ImmutableArray<B>) {
|
|
40
|
+
return <A>(self: ImmutableArray<A>): ImmutableArray<These<A, B>> => {
|
|
41
|
+
return self.alignWith(fb, identity);
|
|
42
|
+
};
|
|
43
43
|
}
|
|
44
44
|
|
|
45
45
|
/**
|
|
46
|
-
* @tsplus
|
|
46
|
+
* @tsplus pipeable fncts.ImmutableArray alt
|
|
47
47
|
*/
|
|
48
|
-
export function
|
|
49
|
-
return self
|
|
48
|
+
export function alt<B>(that: Lazy<ImmutableArray<B>>) {
|
|
49
|
+
return <A>(self: ImmutableArray<A>): ImmutableArray<A | B> => {
|
|
50
|
+
return self.concat(that());
|
|
51
|
+
};
|
|
50
52
|
}
|
|
51
53
|
|
|
52
54
|
/**
|
|
53
|
-
* @tsplus
|
|
55
|
+
* @tsplus pipeable fncts.ImmutableArray ap
|
|
54
56
|
*/
|
|
55
|
-
export function
|
|
56
|
-
return self
|
|
57
|
+
export function ap<A>(fa: ImmutableArray<A>) {
|
|
58
|
+
return <B>(self: ImmutableArray<(a: A) => B>): ImmutableArray<B> => {
|
|
59
|
+
return self.flatMap((f) => fa.map(f));
|
|
60
|
+
};
|
|
57
61
|
}
|
|
58
62
|
|
|
59
63
|
/**
|
|
60
|
-
* @tsplus
|
|
64
|
+
* @tsplus pipeable fncts.ImmutableArray append
|
|
61
65
|
*/
|
|
62
|
-
export function
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
66
|
+
export function append<B>(last: B) {
|
|
67
|
+
return <A>(self: ImmutableArray<A>): ImmutableArray<A | B> => {
|
|
68
|
+
const selfArray = self._array;
|
|
69
|
+
const len = selfArray.length;
|
|
70
|
+
const r = Array<A | B>(len + 1);
|
|
71
|
+
r[len] = last;
|
|
72
|
+
for (let i = 0; i < len; i++) {
|
|
73
|
+
r[i] = selfArray[i]!;
|
|
74
|
+
}
|
|
75
|
+
return r.asImmutableArray;
|
|
76
|
+
};
|
|
71
77
|
}
|
|
72
78
|
|
|
73
79
|
/**
|
|
74
|
-
* @tsplus
|
|
80
|
+
* @tsplus pipeable fncts.ImmutableArray crossWith
|
|
75
81
|
*/
|
|
76
|
-
export function
|
|
77
|
-
self: ImmutableArray<A
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
): ImmutableArray<C> {
|
|
81
|
-
return self.flatMap((a) => fb.map((b) => f(a, b)));
|
|
82
|
+
export function crossWith<A, B, C>(fb: ImmutableArray<B>, f: (a: A, b: B) => C) {
|
|
83
|
+
return (self: ImmutableArray<A>): ImmutableArray<C> => {
|
|
84
|
+
return self.flatMap((a) => fb.map((b) => f(a, b)));
|
|
85
|
+
};
|
|
82
86
|
}
|
|
83
87
|
|
|
84
88
|
/**
|
|
85
|
-
* @tsplus
|
|
89
|
+
* @tsplus pipeable fncts.ImmutableArray cross
|
|
86
90
|
*/
|
|
87
|
-
export function
|
|
88
|
-
return self.
|
|
91
|
+
export function cross<B>(fb: ImmutableArray<B>) {
|
|
92
|
+
return <A>(self: ImmutableArray<A>): ImmutableArray<Zipped.Make<A, B>> => {
|
|
93
|
+
return self.crossWith(fb, (a, b) => Zipped(a, b));
|
|
94
|
+
};
|
|
89
95
|
}
|
|
90
96
|
|
|
91
97
|
/**
|
|
@@ -137,40 +143,41 @@ export function chainRecBreadthFirst<A, B>(a: A, f: (a: A) => ImmutableArray<Eit
|
|
|
137
143
|
}
|
|
138
144
|
|
|
139
145
|
/**
|
|
140
|
-
* @tsplus
|
|
146
|
+
* @tsplus pipeable fncts.ImmutableArray flatMapWithIndex
|
|
141
147
|
*/
|
|
142
|
-
export function
|
|
143
|
-
self: ImmutableArray<A
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
outLen += arr.length;
|
|
154
|
-
temp[i] = arr! as Array<B>;
|
|
155
|
-
}
|
|
156
|
-
const out = Array<B>(outLen);
|
|
157
|
-
let start = 0;
|
|
158
|
-
for (let i = 0; i < len; i++) {
|
|
159
|
-
const arr = temp[i]!;
|
|
160
|
-
const l = arr.length;
|
|
161
|
-
for (let j = 0; j < l; j++) {
|
|
162
|
-
out[j + start] = arr[j]!;
|
|
148
|
+
export function flatMapWithIndex<A, B>(f: (i: number, a: A) => ImmutableArray<B>) {
|
|
149
|
+
return (self: ImmutableArray<A>): ImmutableArray<B> => {
|
|
150
|
+
let outLen = 0;
|
|
151
|
+
const selfArray = self._array;
|
|
152
|
+
const len = selfArray.length;
|
|
153
|
+
const temp = Array<Array<B>>(len);
|
|
154
|
+
for (let i = 0; i < len; i++) {
|
|
155
|
+
const e = selfArray[i]!;
|
|
156
|
+
const arr = f(i, e)._array;
|
|
157
|
+
outLen += arr.length;
|
|
158
|
+
temp[i] = arr! as Array<B>;
|
|
163
159
|
}
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
160
|
+
const out = Array<B>(outLen);
|
|
161
|
+
let start = 0;
|
|
162
|
+
for (let i = 0; i < len; i++) {
|
|
163
|
+
const arr = temp[i]!;
|
|
164
|
+
const l = arr.length;
|
|
165
|
+
for (let j = 0; j < l; j++) {
|
|
166
|
+
out[j + start] = arr[j]!;
|
|
167
|
+
}
|
|
168
|
+
start += l;
|
|
169
|
+
}
|
|
170
|
+
return out.asImmutableArray;
|
|
171
|
+
};
|
|
167
172
|
}
|
|
168
173
|
|
|
169
174
|
/**
|
|
170
|
-
* @tsplus
|
|
175
|
+
* @tsplus pipeable fncts.ImmutableArray flatMap
|
|
171
176
|
*/
|
|
172
|
-
export function
|
|
173
|
-
return self
|
|
177
|
+
export function flatMap<A, B>(f: (a: A) => ImmutableArray<B>) {
|
|
178
|
+
return (self: ImmutableArray<A>): ImmutableArray<B> => {
|
|
179
|
+
return self.flatMapWithIndex((_, a) => f(a));
|
|
180
|
+
};
|
|
174
181
|
}
|
|
175
182
|
|
|
176
183
|
/**
|
|
@@ -185,38 +192,37 @@ export function flatten<A>(self: ImmutableArray<ImmutableArray<A>>): ImmutableAr
|
|
|
185
192
|
* often used for "chopping" up the input `Array`. Typically chop is called with some function
|
|
186
193
|
* that will consume an initial prefix of the `Array` and produce a value and the rest of the `Array`.
|
|
187
194
|
*
|
|
188
|
-
* @tsplus
|
|
189
|
-
*/
|
|
190
|
-
export function
|
|
191
|
-
as: ImmutableArray<A
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
}
|
|
201
|
-
return result.asImmutableArray;
|
|
195
|
+
* @tsplus pipeable fncts.ImmutableArray chop
|
|
196
|
+
*/
|
|
197
|
+
export function chop<A, B>(f: (as: ImmutableNonEmptyArray<A>) => readonly [B, ImmutableArray<A>]) {
|
|
198
|
+
return (as: ImmutableArray<A>): ImmutableArray<B> => {
|
|
199
|
+
const result: Array<B> = [];
|
|
200
|
+
let cs: ImmutableArray<A> = as;
|
|
201
|
+
while (cs.isNonEmpty()) {
|
|
202
|
+
const [b, c] = f(cs);
|
|
203
|
+
result.push(b);
|
|
204
|
+
cs = c;
|
|
205
|
+
}
|
|
206
|
+
return result.asImmutableArray;
|
|
207
|
+
};
|
|
202
208
|
}
|
|
203
209
|
|
|
204
|
-
export const chop = Pipeable(chop_);
|
|
205
|
-
|
|
206
210
|
/**
|
|
207
|
-
* @tsplus
|
|
211
|
+
* @tsplus pipeable fncts.ImmutableArray collectWhile
|
|
208
212
|
*/
|
|
209
|
-
export function
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
213
|
+
export function collectWhile<A, B>(f: (a: A) => Maybe<B>) {
|
|
214
|
+
return (as: ImmutableArray<A>): ImmutableArray<B> => {
|
|
215
|
+
const result: Array<B> = [];
|
|
216
|
+
for (let i = 0; i < as.length; i++) {
|
|
217
|
+
const o = f(as._array[i]!);
|
|
218
|
+
if (o.isJust()) {
|
|
219
|
+
result.push(o.value);
|
|
220
|
+
} else {
|
|
221
|
+
break;
|
|
222
|
+
}
|
|
217
223
|
}
|
|
218
|
-
|
|
219
|
-
|
|
224
|
+
return result.asImmutableArray;
|
|
225
|
+
};
|
|
220
226
|
}
|
|
221
227
|
|
|
222
228
|
function comprehensionLoop<A, R>(
|
|
@@ -266,72 +272,82 @@ export function comprehension<A, R>(
|
|
|
266
272
|
}
|
|
267
273
|
|
|
268
274
|
/**
|
|
269
|
-
* @tsplus
|
|
270
|
-
* @tsplus operator fncts.ImmutableArray +
|
|
275
|
+
* @tsplus pipeable fncts.ImmutableArray concat
|
|
276
|
+
* @tsplus pipeable-operator fncts.ImmutableArray +
|
|
271
277
|
*/
|
|
272
|
-
export function
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
278
|
+
export function concat<B>(that: ImmutableArray<B>) {
|
|
279
|
+
return <A>(self: ImmutableArray<A>): ImmutableArray<A | B> => {
|
|
280
|
+
const lenx = self._array.length;
|
|
281
|
+
if (lenx === 0) {
|
|
282
|
+
return that;
|
|
283
|
+
}
|
|
284
|
+
const leny = that._array.length;
|
|
285
|
+
if (leny === 0) {
|
|
286
|
+
return self;
|
|
287
|
+
}
|
|
288
|
+
const r = Array<A | B>(lenx + leny);
|
|
289
|
+
for (let i = 0; i < lenx; i++) {
|
|
290
|
+
r[i] = self._array[i]!;
|
|
291
|
+
}
|
|
292
|
+
for (let i = 0; i < leny; i++) {
|
|
293
|
+
r[i + lenx] = that._array[i]!;
|
|
294
|
+
}
|
|
295
|
+
return r.asImmutableArray;
|
|
296
|
+
};
|
|
289
297
|
}
|
|
290
298
|
|
|
291
299
|
/**
|
|
292
|
-
* @tsplus
|
|
300
|
+
* @tsplus pipeable fncts.ImmutableArray deleteAt
|
|
293
301
|
*/
|
|
294
|
-
export function
|
|
295
|
-
return as
|
|
302
|
+
export function deleteAt(i: number) {
|
|
303
|
+
return <A>(as: ImmutableArray<A>): Maybe<ImmutableArray<A>> => {
|
|
304
|
+
return as.isOutOfBound(i) ? Nothing() : Just(as.unsafeDeleteAt(i));
|
|
305
|
+
};
|
|
296
306
|
}
|
|
297
307
|
|
|
298
308
|
/**
|
|
299
|
-
* @tsplus
|
|
309
|
+
* @tsplus pipeable fncts.ImmutableArray difference
|
|
300
310
|
*/
|
|
301
|
-
export function
|
|
302
|
-
self: ImmutableArray<A
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
): ImmutableArray<A> {
|
|
306
|
-
return self.filter((a) => !ys.elem(a, E));
|
|
311
|
+
export function difference<A>(ys: ImmutableArray<A>, /** @tsplus auto */ E: P.Eq<A>) {
|
|
312
|
+
return (self: ImmutableArray<A>): ImmutableArray<A> => {
|
|
313
|
+
return self.filter((a) => !ys.elem(a, E));
|
|
314
|
+
};
|
|
307
315
|
}
|
|
308
316
|
|
|
309
317
|
/**
|
|
310
|
-
* @tsplus
|
|
318
|
+
* @tsplus pipeable fncts.ImmutableArray drop
|
|
311
319
|
*/
|
|
312
|
-
export function
|
|
313
|
-
return self
|
|
320
|
+
export function drop(n: number) {
|
|
321
|
+
return <A>(self: ImmutableArray<A>): ImmutableArray<A> => {
|
|
322
|
+
return self.slice(n);
|
|
323
|
+
};
|
|
314
324
|
}
|
|
315
325
|
|
|
316
326
|
/**
|
|
317
|
-
* @tsplus
|
|
327
|
+
* @tsplus pipeable fncts.ImmutableArray dropLast
|
|
318
328
|
*/
|
|
319
|
-
export function
|
|
320
|
-
return
|
|
329
|
+
export function dropLast(n: number) {
|
|
330
|
+
return <A>(self: ImmutableArray<A>): ImmutableArray<A> => {
|
|
331
|
+
return self.slice(0, self.length - n);
|
|
332
|
+
};
|
|
321
333
|
}
|
|
322
334
|
|
|
323
335
|
/**
|
|
324
|
-
* @tsplus
|
|
336
|
+
* @tsplus pipeable fncts.ImmutableArray dropWhile
|
|
325
337
|
*/
|
|
326
|
-
export function
|
|
327
|
-
return
|
|
338
|
+
export function dropWhile<A>(p: Predicate<A>) {
|
|
339
|
+
return (self: ImmutableArray<A>): ImmutableArray<A> => {
|
|
340
|
+
return self.slice(self.spanIndexLeft(p));
|
|
341
|
+
};
|
|
328
342
|
}
|
|
329
343
|
|
|
330
344
|
/**
|
|
331
|
-
* @tsplus
|
|
345
|
+
* @tsplus pipeable fncts.ImmutableArray dropLastWhile
|
|
332
346
|
*/
|
|
333
|
-
export function
|
|
334
|
-
return as
|
|
347
|
+
export function dropLastWhile<A>(p: Predicate<A>) {
|
|
348
|
+
return (as: ImmutableArray<A>): ImmutableArray<A> => {
|
|
349
|
+
return as.slice(0, as.spanIndexRight(p) + 1);
|
|
350
|
+
};
|
|
335
351
|
}
|
|
336
352
|
|
|
337
353
|
/**
|
|
@@ -339,334 +355,383 @@ export function dropLastWhile_<A>(as: ImmutableArray<A>, p: Predicate<A>): Immut
|
|
|
339
355
|
* argument which returns the function to use to search for a value of type `A` in
|
|
340
356
|
* an array of type `ImmutableArray<A>`.
|
|
341
357
|
*
|
|
342
|
-
* @tsplus
|
|
343
|
-
*/
|
|
344
|
-
export function
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
|
|
358
|
+
* @tsplus pipeable fncts.ImmutableArray elem
|
|
359
|
+
*/
|
|
360
|
+
export function elem<A>(a: A, /** @tsplus auto */ E: P.Eq<A>) {
|
|
361
|
+
return (as: ImmutableArray<A>): boolean => {
|
|
362
|
+
const predicate = (element: A) => E.equals(a)(element);
|
|
363
|
+
const len = as.length;
|
|
364
|
+
for (let i = 0; i < len; i++) {
|
|
365
|
+
if (predicate(as._array[i]!)) {
|
|
366
|
+
return true;
|
|
367
|
+
}
|
|
350
368
|
}
|
|
351
|
-
|
|
352
|
-
|
|
369
|
+
return false;
|
|
370
|
+
};
|
|
353
371
|
}
|
|
354
372
|
|
|
355
373
|
/**
|
|
356
|
-
* @tsplus
|
|
374
|
+
* @tsplus pipeable fncts.ImmutableArray every
|
|
357
375
|
*/
|
|
358
|
-
export function
|
|
359
|
-
export function
|
|
360
|
-
export function
|
|
361
|
-
return self
|
|
376
|
+
export function every<A, B extends A>(p: Refinement<A, B>): (self: ImmutableArray<A>) => self is ImmutableArray<B>;
|
|
377
|
+
export function every<A>(p: Predicate<A>): (self: ImmutableArray<A>) => boolean;
|
|
378
|
+
export function every<A>(p: Predicate<A>) {
|
|
379
|
+
return (self: ImmutableArray<A>): boolean => {
|
|
380
|
+
return self.everyWithIndex((_, a) => p(a));
|
|
381
|
+
};
|
|
362
382
|
}
|
|
363
383
|
|
|
364
384
|
/**
|
|
365
|
-
* @tsplus
|
|
385
|
+
* @tsplus pipeable fncts.ImmutableArray everyWithIndex
|
|
366
386
|
*/
|
|
367
|
-
export function
|
|
368
|
-
self: ImmutableArray<A>,
|
|
387
|
+
export function everyWithIndex<A, B extends A>(
|
|
369
388
|
p: RefinementWithIndex<number, A, B>,
|
|
370
|
-
): self is ImmutableArray<B>;
|
|
371
|
-
export function
|
|
372
|
-
export function
|
|
373
|
-
|
|
374
|
-
|
|
375
|
-
|
|
376
|
-
result
|
|
377
|
-
|
|
378
|
-
|
|
379
|
-
|
|
389
|
+
): (self: ImmutableArray<A>) => self is ImmutableArray<B>;
|
|
390
|
+
export function everyWithIndex<A>(p: PredicateWithIndex<number, A>): (self: ImmutableArray<A>) => boolean;
|
|
391
|
+
export function everyWithIndex<A>(p: PredicateWithIndex<number, A>) {
|
|
392
|
+
return (self: ImmutableArray<A>): boolean => {
|
|
393
|
+
let result = true;
|
|
394
|
+
let i = 0;
|
|
395
|
+
while (result && i < self.length) {
|
|
396
|
+
result = p(i, self._array[i]!);
|
|
397
|
+
i++;
|
|
398
|
+
}
|
|
399
|
+
return result;
|
|
400
|
+
};
|
|
380
401
|
}
|
|
381
402
|
|
|
382
403
|
/**
|
|
383
|
-
* @tsplus
|
|
404
|
+
* @tsplus pipeable fncts.ImmutableArray some
|
|
384
405
|
*/
|
|
385
|
-
export function
|
|
386
|
-
|
|
387
|
-
|
|
388
|
-
|
|
389
|
-
result
|
|
390
|
-
|
|
391
|
-
|
|
392
|
-
|
|
406
|
+
export function some<A>(p: Predicate<A>) {
|
|
407
|
+
return (self: ImmutableArray<A>): self is ImmutableNonEmptyArray<A> => {
|
|
408
|
+
let result = false;
|
|
409
|
+
let i = 0;
|
|
410
|
+
while (!result && i < self.length) {
|
|
411
|
+
result = p(self._array[i]!);
|
|
412
|
+
i++;
|
|
413
|
+
}
|
|
414
|
+
return result;
|
|
415
|
+
};
|
|
393
416
|
}
|
|
394
417
|
|
|
395
418
|
/**
|
|
396
|
-
* @tsplus
|
|
419
|
+
* @tsplus pipeable fncts.ImmutableArray filter
|
|
397
420
|
*/
|
|
398
|
-
export function
|
|
399
|
-
export function
|
|
400
|
-
export function
|
|
401
|
-
return self
|
|
421
|
+
export function filter<A, B extends A>(p: Refinement<A, B>): (self: ImmutableArray<A>) => ImmutableArray<B>;
|
|
422
|
+
export function filter<A>(p: Predicate<A>): (self: ImmutableArray<A>) => ImmutableArray<A>;
|
|
423
|
+
export function filter<A>(p: Predicate<A>) {
|
|
424
|
+
return (self: ImmutableArray<A>): ImmutableArray<A> => {
|
|
425
|
+
return self.filterWithIndex((_, a) => p(a));
|
|
426
|
+
};
|
|
402
427
|
}
|
|
403
428
|
|
|
404
429
|
/**
|
|
405
|
-
* @tsplus
|
|
430
|
+
* @tsplus pipeable fncts.ImmutableArray filterWithIndex
|
|
406
431
|
*/
|
|
407
|
-
export function
|
|
408
|
-
self: ImmutableArray<A>,
|
|
432
|
+
export function filterWithIndex<A, B extends A>(
|
|
409
433
|
p: RefinementWithIndex<number, A, B>,
|
|
410
|
-
): ImmutableArray<B>;
|
|
411
|
-
export function
|
|
412
|
-
export function
|
|
413
|
-
|
|
414
|
-
|
|
415
|
-
|
|
416
|
-
|
|
417
|
-
|
|
434
|
+
): (self: ImmutableArray<A>) => ImmutableArray<B>;
|
|
435
|
+
export function filterWithIndex<A>(p: PredicateWithIndex<number, A>): (self: ImmutableArray<A>) => ImmutableArray<A>;
|
|
436
|
+
export function filterWithIndex<A>(p: PredicateWithIndex<number, A>) {
|
|
437
|
+
return (self: ImmutableArray<A>): ImmutableArray<A> => {
|
|
438
|
+
const result: Array<A> = [];
|
|
439
|
+
for (let i = 0; i < self.length; i++) {
|
|
440
|
+
const a = self._array[i]!;
|
|
441
|
+
if (p(i, a)) {
|
|
442
|
+
result.push(a);
|
|
443
|
+
}
|
|
418
444
|
}
|
|
419
|
-
|
|
420
|
-
|
|
445
|
+
return result.asImmutableArray;
|
|
446
|
+
};
|
|
421
447
|
}
|
|
422
448
|
|
|
423
449
|
/**
|
|
424
|
-
* @tsplus
|
|
450
|
+
* @tsplus pipeable fncts.ImmutableArray filterMapWithIndex
|
|
425
451
|
*/
|
|
426
|
-
export function
|
|
427
|
-
|
|
428
|
-
|
|
429
|
-
|
|
430
|
-
|
|
431
|
-
|
|
452
|
+
export function filterMapWithIndex<A, B>(f: (i: number, a: A) => Maybe<B>) {
|
|
453
|
+
return (fa: ImmutableArray<A>): ImmutableArray<B> => {
|
|
454
|
+
const result = [];
|
|
455
|
+
for (let i = 0; i < fa.length; i++) {
|
|
456
|
+
const maybeB = f(i, fa[i]!);
|
|
457
|
+
if (maybeB.isJust()) {
|
|
458
|
+
result.push(maybeB.value);
|
|
459
|
+
}
|
|
432
460
|
}
|
|
433
|
-
|
|
434
|
-
|
|
461
|
+
return result.asImmutableArray;
|
|
462
|
+
};
|
|
435
463
|
}
|
|
436
464
|
|
|
437
465
|
/**
|
|
438
|
-
* @tsplus
|
|
466
|
+
* @tsplus pipeable fncts.ImmutableArray filterMap
|
|
439
467
|
*/
|
|
440
|
-
export function
|
|
441
|
-
return self
|
|
468
|
+
export function filterMap<A, B>(f: (a: A) => Maybe<B>) {
|
|
469
|
+
return (self: ImmutableArray<A>): ImmutableArray<B> => {
|
|
470
|
+
return self.filterMapWithIndex((_, a) => f(a));
|
|
471
|
+
};
|
|
442
472
|
}
|
|
443
473
|
|
|
444
474
|
/**
|
|
445
|
-
* @tsplus
|
|
475
|
+
* @tsplus pipeable fncts.ImmutableArray find
|
|
446
476
|
*/
|
|
447
|
-
export function
|
|
448
|
-
export function
|
|
449
|
-
export function
|
|
450
|
-
return self
|
|
477
|
+
export function find<A, B extends A>(p: Refinement<A, B>): (self: ImmutableArray<A>) => Maybe<B>;
|
|
478
|
+
export function find<A>(p: Predicate<A>): (self: ImmutableArray<A>) => Maybe<A>;
|
|
479
|
+
export function find<A>(p: Predicate<A>) {
|
|
480
|
+
return (self: ImmutableArray<A>): Maybe<A> => {
|
|
481
|
+
return self.findWithIndex((_, a) => p(a));
|
|
482
|
+
};
|
|
451
483
|
}
|
|
452
484
|
|
|
453
485
|
/**
|
|
454
|
-
* @tsplus
|
|
486
|
+
* @tsplus pipeable fncts.ImmutableArray findIndex
|
|
455
487
|
*/
|
|
456
|
-
export function
|
|
457
|
-
return as
|
|
488
|
+
export function findIndex<A>(predicate: Predicate<A>) {
|
|
489
|
+
return (as: ImmutableArray<A>): Maybe<number> => {
|
|
490
|
+
return as.findMapWithIndex((i, a) => (predicate(a) ? Just(i) : Nothing()));
|
|
491
|
+
};
|
|
458
492
|
}
|
|
459
493
|
|
|
460
494
|
/**
|
|
461
|
-
* @tsplus
|
|
495
|
+
* @tsplus pipeable fncts.ImmutableArray findWithIndex
|
|
462
496
|
*/
|
|
463
|
-
export function
|
|
464
|
-
|
|
465
|
-
|
|
466
|
-
|
|
467
|
-
|
|
468
|
-
|
|
469
|
-
|
|
497
|
+
export function findWithIndex<A, B extends A>(
|
|
498
|
+
p: RefinementWithIndex<number, A, B>,
|
|
499
|
+
): (as: ImmutableArray<A>) => Maybe<B>;
|
|
500
|
+
export function findWithIndex<A>(p: PredicateWithIndex<number, A>): (as: ImmutableArray<A>) => Maybe<A>;
|
|
501
|
+
export function findWithIndex<A>(p: PredicateWithIndex<number, A>) {
|
|
502
|
+
return (as: ImmutableArray<A>): Maybe<A> => {
|
|
503
|
+
const len = as.length;
|
|
504
|
+
for (let i = 0; i < len; i++) {
|
|
505
|
+
if (p(i, as._array[i]!)) {
|
|
506
|
+
return Just(as._array[i]!);
|
|
507
|
+
}
|
|
470
508
|
}
|
|
471
|
-
|
|
472
|
-
|
|
509
|
+
return Nothing();
|
|
510
|
+
};
|
|
473
511
|
}
|
|
474
512
|
|
|
475
513
|
/**
|
|
476
|
-
* @tsplus
|
|
514
|
+
* @tsplus pipeable fncts.ImmutableArray findMap
|
|
477
515
|
*/
|
|
478
|
-
export function
|
|
479
|
-
return as
|
|
516
|
+
export function findMap<A, B>(f: (a: A) => Maybe<B>) {
|
|
517
|
+
return (as: ImmutableArray<A>): Maybe<B> => {
|
|
518
|
+
return as.findMapWithIndex((_, a) => f(a));
|
|
519
|
+
};
|
|
480
520
|
}
|
|
481
521
|
|
|
482
522
|
/**
|
|
483
|
-
* @tsplus
|
|
523
|
+
* @tsplus pipeable fncts.ImmutableArray findMapWithIndex
|
|
484
524
|
*/
|
|
485
|
-
export function
|
|
486
|
-
|
|
487
|
-
|
|
488
|
-
|
|
489
|
-
|
|
490
|
-
|
|
525
|
+
export function findMapWithIndex<A, B>(f: (index: number, a: A) => Maybe<B>) {
|
|
526
|
+
return (as: ImmutableArray<A>): Maybe<B> => {
|
|
527
|
+
const len = as.length;
|
|
528
|
+
for (let i = 0; i < len; i++) {
|
|
529
|
+
const v = f(i, as._array[i]!);
|
|
530
|
+
if (v.isJust()) {
|
|
531
|
+
return v;
|
|
532
|
+
}
|
|
491
533
|
}
|
|
492
|
-
|
|
493
|
-
|
|
534
|
+
return Nothing();
|
|
535
|
+
};
|
|
494
536
|
}
|
|
495
537
|
|
|
496
538
|
/**
|
|
497
|
-
* @tsplus
|
|
539
|
+
* @tsplus pipeable fncts.ImmutableArray findLast
|
|
498
540
|
*/
|
|
499
|
-
export function
|
|
500
|
-
export function
|
|
501
|
-
export function
|
|
502
|
-
|
|
503
|
-
|
|
504
|
-
|
|
505
|
-
|
|
541
|
+
export function findLast<A, B extends A>(p: Refinement<A, B>): (as: ImmutableArray<A>) => Maybe<B>;
|
|
542
|
+
export function findLast<A>(p: Predicate<A>): (as: ImmutableArray<A>) => Maybe<A>;
|
|
543
|
+
export function findLast<A>(p: Predicate<A>) {
|
|
544
|
+
return (as: ImmutableArray<A>): Maybe<A> => {
|
|
545
|
+
const len = as.length;
|
|
546
|
+
for (let i = len - 1; i >= 0; i--) {
|
|
547
|
+
if (p(as._array[i]!)) {
|
|
548
|
+
return Just(as._array[i]!);
|
|
549
|
+
}
|
|
506
550
|
}
|
|
507
|
-
|
|
508
|
-
|
|
551
|
+
return Nothing();
|
|
552
|
+
};
|
|
509
553
|
}
|
|
510
554
|
|
|
511
555
|
/**
|
|
512
|
-
* @tsplus
|
|
556
|
+
* @tsplus pipeable fncts.ImmutableArray findLastIndex
|
|
513
557
|
*/
|
|
514
|
-
export function
|
|
515
|
-
return self
|
|
558
|
+
export function findLastIndex<A>(p: Predicate<A>) {
|
|
559
|
+
return (self: ImmutableArray<A>): Maybe<number> => {
|
|
560
|
+
return self.findLastMapWithIndex((i, a) => (p(a) ? Just(i) : Nothing()));
|
|
561
|
+
};
|
|
516
562
|
}
|
|
517
563
|
|
|
518
564
|
/**
|
|
519
|
-
* @tsplus
|
|
565
|
+
* @tsplus pipeable fncts.ImmutableArray findLastMap
|
|
520
566
|
*/
|
|
521
|
-
export function
|
|
522
|
-
return as
|
|
567
|
+
export function findLastMap<A, B>(f: (a: A) => Maybe<B>) {
|
|
568
|
+
return (as: ImmutableArray<A>): Maybe<B> => {
|
|
569
|
+
return as.findLastMapWithIndex((_, a) => f(a));
|
|
570
|
+
};
|
|
523
571
|
}
|
|
524
572
|
|
|
525
573
|
/**
|
|
526
|
-
* @tsplus
|
|
574
|
+
* @tsplus pipeable fncts.ImmutableArray findLastMapWithIndex
|
|
527
575
|
*/
|
|
528
|
-
export function
|
|
529
|
-
|
|
530
|
-
|
|
531
|
-
|
|
532
|
-
|
|
533
|
-
|
|
576
|
+
export function findLastMapWithIndex<A, B>(f: (i: number, a: A) => Maybe<B>) {
|
|
577
|
+
return (as: ImmutableArray<A>): Maybe<B> => {
|
|
578
|
+
const len = as.length;
|
|
579
|
+
for (let i = len - 1; i >= 0; i--) {
|
|
580
|
+
const v = f(i, as._array[i]!);
|
|
581
|
+
if (v.isJust()) {
|
|
582
|
+
return v;
|
|
583
|
+
}
|
|
534
584
|
}
|
|
535
|
-
|
|
536
|
-
|
|
585
|
+
return Nothing();
|
|
586
|
+
};
|
|
537
587
|
}
|
|
538
588
|
|
|
539
589
|
/**
|
|
540
|
-
* @tsplus
|
|
541
|
-
* @tsplus
|
|
590
|
+
* @tsplus pipeable fncts.ImmutableArray foldLeftWithIndex
|
|
591
|
+
* @tsplus pipeable fncts.MutableArray foldLeftWithIndex
|
|
542
592
|
*/
|
|
543
|
-
export function
|
|
544
|
-
|
|
545
|
-
|
|
546
|
-
|
|
547
|
-
|
|
548
|
-
|
|
549
|
-
|
|
593
|
+
export function foldLeftWithIndex<A, B>(b: B, f: (i: number, b: B, a: A) => B) {
|
|
594
|
+
return (self: ImmutableArray<A>): B => {
|
|
595
|
+
const len = self.length;
|
|
596
|
+
let r = b;
|
|
597
|
+
for (let i = 0; i < len; i++) {
|
|
598
|
+
r = f(i, r, self._array[i]!);
|
|
599
|
+
}
|
|
600
|
+
return r;
|
|
601
|
+
};
|
|
550
602
|
}
|
|
551
603
|
|
|
552
604
|
/**
|
|
553
|
-
* @tsplus
|
|
554
|
-
* @tsplus
|
|
605
|
+
* @tsplus pipeable fncts.ImmutableArray foldLeft
|
|
606
|
+
* @tsplus pipeable fncts.MutableArray foldLeft
|
|
555
607
|
*/
|
|
556
|
-
export function
|
|
557
|
-
return self
|
|
608
|
+
export function foldLeft<A, B>(b: B, f: (b: B, a: A) => B) {
|
|
609
|
+
return (self: ImmutableArray<A>): B => {
|
|
610
|
+
return self.foldLeftWithIndex(b, (_, b, a) => f(b, a));
|
|
611
|
+
};
|
|
558
612
|
}
|
|
559
613
|
|
|
560
614
|
/**
|
|
561
|
-
* @tsplus
|
|
562
|
-
* @tsplus
|
|
615
|
+
* @tsplus pipeable fncts.ImmutableArray foldLeftWhile
|
|
616
|
+
* @tsplus pipeable fncts.MutableArray foldLeftWhile
|
|
563
617
|
*/
|
|
564
|
-
export function
|
|
565
|
-
return self
|
|
618
|
+
export function foldLeftWhile<A, B>(b: B, p: Predicate<B>, f: (b: B, a: A) => B) {
|
|
619
|
+
return (self: ImmutableArray<A>): B => {
|
|
620
|
+
return self.foldLeftWithIndexWhile(b, p, (_, b, a) => f(b, a));
|
|
621
|
+
};
|
|
566
622
|
}
|
|
567
623
|
|
|
568
624
|
/**
|
|
569
|
-
* @tsplus
|
|
570
|
-
* @tsplus
|
|
625
|
+
* @tsplus pipeable fncts.ImmutableArray foldLeftWithIndexWhile
|
|
626
|
+
* @tsplus pipeable fncts.MutableArray foldLeftWithIndexWhile
|
|
571
627
|
*/
|
|
572
|
-
export function
|
|
573
|
-
self: ImmutableArray<A
|
|
574
|
-
b
|
|
575
|
-
|
|
576
|
-
|
|
577
|
-
|
|
578
|
-
|
|
579
|
-
|
|
580
|
-
|
|
581
|
-
|
|
582
|
-
cont = p(out);
|
|
583
|
-
}
|
|
584
|
-
return out;
|
|
628
|
+
export function foldLeftWithIndexWhile<A, B>(b: B, p: Predicate<B>, f: (i: number, b: B, a: A) => B) {
|
|
629
|
+
return (self: ImmutableArray<A>): B => {
|
|
630
|
+
let out = b;
|
|
631
|
+
let cont = p(out);
|
|
632
|
+
for (let i = 0; cont && i < self.length; i++) {
|
|
633
|
+
out = f(i, out, self._array[i]!);
|
|
634
|
+
cont = p(out);
|
|
635
|
+
}
|
|
636
|
+
return out;
|
|
637
|
+
};
|
|
585
638
|
}
|
|
586
639
|
|
|
587
640
|
/**
|
|
588
|
-
* @tsplus
|
|
641
|
+
* @tsplus pipeable fncts.ImmutableArray fold
|
|
589
642
|
*/
|
|
590
|
-
export function fold<M>(
|
|
591
|
-
return self
|
|
643
|
+
export function fold<M>(/** @tsplus auto */ M: Monoid<M>) {
|
|
644
|
+
return (self: ImmutableArray<M>): M => {
|
|
645
|
+
return self.foldLeft(M.nat, (b, a) => M.combine(a)(b));
|
|
646
|
+
};
|
|
592
647
|
}
|
|
593
648
|
|
|
594
649
|
/**
|
|
595
|
-
* @tsplus
|
|
650
|
+
* @tsplus pipeable fncts.ImmutableArray foldMapWithIndex
|
|
596
651
|
*/
|
|
597
|
-
export function
|
|
598
|
-
self: ImmutableArray<A
|
|
599
|
-
|
|
600
|
-
|
|
601
|
-
): M {
|
|
602
|
-
return self.foldLeftWithIndex(M.nat, (i, b, a) => M.combine(b, f(i, a)));
|
|
652
|
+
export function foldMapWithIndex<A, M>(f: (i: number, a: A) => M, /** @tsplus auto */ M: Monoid<M>) {
|
|
653
|
+
return (self: ImmutableArray<A>): M => {
|
|
654
|
+
return self.foldLeftWithIndex(M.nat, (i, b, a) => M.combine(f(i, a))(b));
|
|
655
|
+
};
|
|
603
656
|
}
|
|
604
657
|
|
|
605
658
|
/**
|
|
606
|
-
* @tsplus
|
|
659
|
+
* @tsplus pipeable fncts.ImmutableArray foldMap
|
|
607
660
|
*/
|
|
608
|
-
export function
|
|
609
|
-
return self
|
|
661
|
+
export function foldMap<A, M>(f: (a: A) => M, /** @tsplus auto */ M: Monoid<M>) {
|
|
662
|
+
return (self: ImmutableArray<A>): M => {
|
|
663
|
+
return self.foldMapWithIndex((_, a) => f(a), M);
|
|
664
|
+
};
|
|
610
665
|
}
|
|
611
666
|
|
|
612
667
|
/**
|
|
613
|
-
* @tsplus
|
|
668
|
+
* @tsplus pipeable fncts.ImmutableArray foldRightWithIndex
|
|
614
669
|
*/
|
|
615
|
-
export function
|
|
616
|
-
|
|
617
|
-
|
|
618
|
-
|
|
619
|
-
|
|
620
|
-
|
|
670
|
+
export function foldRightWithIndex<A, B>(b: B, f: (i: number, a: A, b: B) => B) {
|
|
671
|
+
return (self: ImmutableArray<A>): B => {
|
|
672
|
+
let r = b;
|
|
673
|
+
for (let i = self.length - 1; i >= 0; i--) {
|
|
674
|
+
r = f(i, self._array[i]!, r);
|
|
675
|
+
}
|
|
676
|
+
return r;
|
|
677
|
+
};
|
|
621
678
|
}
|
|
622
679
|
|
|
623
680
|
/**
|
|
624
|
-
* @tsplus
|
|
681
|
+
* @tsplus pipeable fncts.ImmutableArray foldRight
|
|
625
682
|
*/
|
|
626
|
-
export function
|
|
627
|
-
return self
|
|
683
|
+
export function foldRight<A, B>(b: B, f: (a: A, b: B) => B) {
|
|
684
|
+
return (self: ImmutableArray<A>): B => {
|
|
685
|
+
return self.foldRightWithIndex(b, (_, a, b) => f(a, b));
|
|
686
|
+
};
|
|
628
687
|
}
|
|
629
688
|
|
|
630
689
|
/**
|
|
631
|
-
* @tsplus
|
|
690
|
+
* @tsplus pipeable fncts.ImmutableArray foldRighWhile
|
|
632
691
|
*/
|
|
633
|
-
export function
|
|
634
|
-
return self
|
|
692
|
+
export function foldRightWhile<A, B>(b: B, p: Predicate<B>, f: (a: A, b: B) => B) {
|
|
693
|
+
return (self: ImmutableArray<A>): B => {
|
|
694
|
+
return self.foldRightWithIndexWhile(b, p, (_, a, b) => f(a, b));
|
|
695
|
+
};
|
|
635
696
|
}
|
|
636
697
|
|
|
637
698
|
/**
|
|
638
|
-
* @tsplus
|
|
699
|
+
* @tsplus pipeable fncts.ImmutableArray foldRightWithIndexWhile
|
|
639
700
|
*/
|
|
640
|
-
export function
|
|
641
|
-
self: ImmutableArray<A
|
|
642
|
-
b
|
|
643
|
-
|
|
644
|
-
|
|
645
|
-
|
|
646
|
-
|
|
647
|
-
|
|
648
|
-
|
|
649
|
-
|
|
650
|
-
cont = predicate(out);
|
|
651
|
-
}
|
|
652
|
-
return out;
|
|
701
|
+
export function foldRightWithIndexWhile<A, B>(b: B, predicate: Predicate<B>, f: (i: number, a: A, b: B) => B) {
|
|
702
|
+
return (self: ImmutableArray<A>): B => {
|
|
703
|
+
let out = b;
|
|
704
|
+
let cont = predicate(out);
|
|
705
|
+
for (let i = self.length - 1; cont && i >= 0; i--) {
|
|
706
|
+
out = f(i, self._array[i]!, out);
|
|
707
|
+
cont = predicate(out);
|
|
708
|
+
}
|
|
709
|
+
return out;
|
|
710
|
+
};
|
|
653
711
|
}
|
|
654
712
|
|
|
655
713
|
/**
|
|
656
|
-
* @tsplus
|
|
714
|
+
* @tsplus pipeable fncts.ImmutableArray forEach
|
|
657
715
|
*/
|
|
658
|
-
export function
|
|
659
|
-
return self
|
|
716
|
+
export function forEach<A, B>(f: (a: A) => B) {
|
|
717
|
+
return (self: ImmutableArray<A>): void => {
|
|
718
|
+
return self.forEach(f);
|
|
719
|
+
};
|
|
660
720
|
}
|
|
661
721
|
|
|
662
722
|
/**
|
|
663
|
-
* @tsplus
|
|
664
|
-
* @tsplus
|
|
723
|
+
* @tsplus pipeable fncts.ImmutableArray get
|
|
724
|
+
* @tsplus pipeable fncts.MutableArray get
|
|
665
725
|
*/
|
|
666
|
-
export function
|
|
667
|
-
return self
|
|
726
|
+
export function get(i: number) {
|
|
727
|
+
return <A>(self: ImmutableArray<A>): Maybe<A> => {
|
|
728
|
+
return self.isOutOfBound(i) ? Nothing() : Just(self._array[i]!);
|
|
729
|
+
};
|
|
668
730
|
}
|
|
669
731
|
|
|
732
|
+
/**
|
|
733
|
+
* @tsplus pipeable fncts.ImmutableArray group
|
|
734
|
+
*/
|
|
670
735
|
export function group<A>(E: P.Eq<A>): (self: ImmutableArray<A>) => ImmutableArray<ImmutableNonEmptyArray<A>> {
|
|
671
736
|
return chop((self) => {
|
|
672
737
|
const h = self._array[0]!;
|
|
@@ -674,7 +739,7 @@ export function group<A>(E: P.Eq<A>): (self: ImmutableArray<A>) => ImmutableArra
|
|
|
674
739
|
let i = 1;
|
|
675
740
|
for (; i < self.length; i++) {
|
|
676
741
|
const a = self._array[i]!;
|
|
677
|
-
if (E.equals(
|
|
742
|
+
if (E.equals(h)(a)) {
|
|
678
743
|
out.push(a);
|
|
679
744
|
} else {
|
|
680
745
|
break;
|
|
@@ -685,30 +750,22 @@ export function group<A>(E: P.Eq<A>): (self: ImmutableArray<A>) => ImmutableArra
|
|
|
685
750
|
}
|
|
686
751
|
|
|
687
752
|
/**
|
|
688
|
-
* @tsplus
|
|
753
|
+
* @tsplus pipeable fncts.ImmutableArray groupBy
|
|
689
754
|
*/
|
|
690
|
-
export function
|
|
691
|
-
return
|
|
692
|
-
}
|
|
693
|
-
|
|
694
|
-
|
|
695
|
-
|
|
696
|
-
|
|
697
|
-
|
|
698
|
-
|
|
699
|
-
|
|
700
|
-
|
|
701
|
-
const out: Record<string, NonEmptyArray<A>> = {};
|
|
702
|
-
for (let i = 0; i < self.length; i++) {
|
|
703
|
-
const a = self._array[i]!;
|
|
704
|
-
const k = f(a);
|
|
705
|
-
if (Object.prototype.hasOwnProperty.call(out, k)) {
|
|
706
|
-
out[k]!.push(a);
|
|
707
|
-
} else {
|
|
708
|
-
out[k] = [a];
|
|
755
|
+
export function groupBy<A>(f: (a: A) => string) {
|
|
756
|
+
return (self: ImmutableArray<A>): Readonly<Record<string, ImmutableNonEmptyArray<A>>> => {
|
|
757
|
+
const out: Record<string, NonEmptyArray<A>> = {};
|
|
758
|
+
for (let i = 0; i < self.length; i++) {
|
|
759
|
+
const a = self._array[i]!;
|
|
760
|
+
const k = f(a);
|
|
761
|
+
if (Object.prototype.hasOwnProperty.call(out, k)) {
|
|
762
|
+
out[k]!.push(a);
|
|
763
|
+
} else {
|
|
764
|
+
out[k] = [a];
|
|
765
|
+
}
|
|
709
766
|
}
|
|
710
|
-
|
|
711
|
-
|
|
767
|
+
return Dictionary.get(out).map(ImmutableNonEmptyArray.from).toRecord;
|
|
768
|
+
};
|
|
712
769
|
}
|
|
713
770
|
|
|
714
771
|
/**
|
|
@@ -727,26 +784,31 @@ export function init<A>(self: ImmutableArray<A>): Maybe<ImmutableArray<A>> {
|
|
|
727
784
|
}
|
|
728
785
|
|
|
729
786
|
/**
|
|
730
|
-
* @tsplus
|
|
787
|
+
* @tsplus pipeable fncts.ImmutableArray insertAt
|
|
731
788
|
*/
|
|
732
|
-
export function
|
|
733
|
-
return self
|
|
789
|
+
export function insertAt<A>(i: number, a: A) {
|
|
790
|
+
return (self: ImmutableArray<A>): Maybe<ImmutableNonEmptyArray<A>> => {
|
|
791
|
+
return self.isOutOfBound(i) ? Nothing() : Just(self.unsafeInsertAt(i, a));
|
|
792
|
+
};
|
|
734
793
|
}
|
|
735
794
|
|
|
736
795
|
/**
|
|
737
|
-
* @tsplus
|
|
796
|
+
* @tsplus pipeable fncts.ImmutableArray intersection
|
|
738
797
|
*/
|
|
739
|
-
export function
|
|
740
|
-
self: ImmutableArray<A
|
|
741
|
-
|
|
742
|
-
|
|
743
|
-
): ImmutableArray<A> {
|
|
744
|
-
return self.filter((a) => that.elem(a, E));
|
|
798
|
+
export function intersection<A>(that: ImmutableArray<A>, /** @tsplus auto */ E: P.Eq<A>) {
|
|
799
|
+
return (self: ImmutableArray<A>): ImmutableArray<A> => {
|
|
800
|
+
return self.filter((a) => that.elem(a, E));
|
|
801
|
+
};
|
|
745
802
|
}
|
|
746
803
|
|
|
747
|
-
|
|
748
|
-
|
|
749
|
-
|
|
804
|
+
/**
|
|
805
|
+
* @tsplus pipeable fncts.ImmutableArray intersperse
|
|
806
|
+
*/
|
|
807
|
+
export function intersperse<A>(a: A) {
|
|
808
|
+
return (self: ImmutableArray<A>): ImmutableArray<A> => {
|
|
809
|
+
const len = self.length;
|
|
810
|
+
return len === 0 ? self : self.slice(1, len).prependAll(a).prepend(self[0]!);
|
|
811
|
+
};
|
|
750
812
|
}
|
|
751
813
|
|
|
752
814
|
/**
|
|
@@ -757,17 +819,21 @@ export function isEmpty<A>(self: ImmutableArray<A>): boolean {
|
|
|
757
819
|
}
|
|
758
820
|
|
|
759
821
|
/**
|
|
760
|
-
* @tsplus
|
|
822
|
+
* @tsplus pipeable fncts.ImmutableArray isOutOfBound
|
|
761
823
|
*/
|
|
762
|
-
export function
|
|
763
|
-
return
|
|
824
|
+
export function isOutOfBound(i: number) {
|
|
825
|
+
return <A>(self: ImmutableArray<A>): boolean => {
|
|
826
|
+
return i < 0 || i >= self.length;
|
|
827
|
+
};
|
|
764
828
|
}
|
|
765
829
|
|
|
766
830
|
/**
|
|
767
|
-
* @tsplus
|
|
831
|
+
* @tsplus pipeable fncts.ImmutableArray join
|
|
768
832
|
*/
|
|
769
|
-
export function join(
|
|
770
|
-
return self
|
|
833
|
+
export function join(separator: string) {
|
|
834
|
+
return (self: ImmutableArray<string>): string => {
|
|
835
|
+
return self._array.join(separator);
|
|
836
|
+
};
|
|
771
837
|
}
|
|
772
838
|
|
|
773
839
|
/**
|
|
@@ -800,56 +866,62 @@ export function lefts<E, A>(self: ImmutableArray<Either<E, A>>): ImmutableArray<
|
|
|
800
866
|
}
|
|
801
867
|
|
|
802
868
|
/**
|
|
803
|
-
* @tsplus
|
|
869
|
+
* @tsplus pipeable fncts.ImmutableArray map
|
|
804
870
|
*/
|
|
805
|
-
export function
|
|
806
|
-
return self
|
|
871
|
+
export function map<A, B>(f: (a: A) => B) {
|
|
872
|
+
return (self: ImmutableArray<A>): ImmutableArray<B> => {
|
|
873
|
+
return self.mapWithIndex((_, a) => f(a));
|
|
874
|
+
};
|
|
807
875
|
}
|
|
808
876
|
|
|
809
877
|
/**
|
|
810
|
-
* @tsplus
|
|
878
|
+
* @tsplus pipeable fncts.ImmutableArray mapAccum
|
|
811
879
|
*/
|
|
812
|
-
export function
|
|
813
|
-
self: ImmutableArray<A>,
|
|
814
|
-
|
|
815
|
-
|
|
816
|
-
|
|
817
|
-
|
|
818
|
-
|
|
819
|
-
|
|
820
|
-
|
|
821
|
-
bs
|
|
822
|
-
|
|
823
|
-
}
|
|
824
|
-
return [bs.asImmutableArray, state];
|
|
880
|
+
export function mapAccum<A, S, B>(s: S, f: (s: S, a: A) => readonly [B, S]) {
|
|
881
|
+
return (self: ImmutableArray<A>): readonly [ImmutableArray<B>, S] => {
|
|
882
|
+
const bs = Array<B>(self.length);
|
|
883
|
+
let state = s;
|
|
884
|
+
for (let i = 0; i < self.length; i++) {
|
|
885
|
+
const result = f(state, self._array[i]!);
|
|
886
|
+
bs[i] = result[0];
|
|
887
|
+
state = result[1];
|
|
888
|
+
}
|
|
889
|
+
return [bs.asImmutableArray, state];
|
|
890
|
+
};
|
|
825
891
|
}
|
|
826
892
|
|
|
827
893
|
/**
|
|
828
|
-
* @tsplus
|
|
894
|
+
* @tsplus pipeable fncts.ImmutableArray mapWithIndex
|
|
829
895
|
*/
|
|
830
|
-
export function
|
|
831
|
-
|
|
832
|
-
|
|
833
|
-
|
|
834
|
-
|
|
835
|
-
|
|
836
|
-
|
|
896
|
+
export function mapWithIndex<A, B>(f: (i: number, a: A) => B) {
|
|
897
|
+
return (self: ImmutableArray<A>): ImmutableArray<B> => {
|
|
898
|
+
const len = self._array.length;
|
|
899
|
+
const bs = Array<B>(len);
|
|
900
|
+
for (let i = 0; i < len; i++) {
|
|
901
|
+
bs[i] = f(i, self._array[i]!);
|
|
902
|
+
}
|
|
903
|
+
return bs.asImmutableArray;
|
|
904
|
+
};
|
|
837
905
|
}
|
|
838
906
|
|
|
839
907
|
/**
|
|
840
|
-
* @tsplus
|
|
908
|
+
* @tsplus pipeable fncts.ImmutableArray modifyAt
|
|
841
909
|
*/
|
|
842
|
-
export function
|
|
843
|
-
return self
|
|
910
|
+
export function modifyAt<A>(i: number, f: (a: A) => A) {
|
|
911
|
+
return (self: ImmutableArray<A>): Maybe<ImmutableArray<A>> => {
|
|
912
|
+
return self.isOutOfBound(i) ? Nothing() : Just(self.unsafeModifyAt(i, f));
|
|
913
|
+
};
|
|
844
914
|
}
|
|
845
915
|
|
|
846
916
|
/**
|
|
847
|
-
* @tsplus
|
|
917
|
+
* @tsplus pipeable fncts.ImmutableArray mutate
|
|
848
918
|
*/
|
|
849
|
-
export function
|
|
850
|
-
|
|
851
|
-
|
|
852
|
-
|
|
919
|
+
export function mutate<A>(f: (self: Array<A>) => void) {
|
|
920
|
+
return (self: ImmutableArray<A>): ImmutableArray<A> => {
|
|
921
|
+
const mut = mutableClone(self);
|
|
922
|
+
f(mut);
|
|
923
|
+
return mut.asImmutableArray;
|
|
924
|
+
};
|
|
853
925
|
}
|
|
854
926
|
|
|
855
927
|
/**
|
|
@@ -860,108 +932,103 @@ export function mutableClone<A>(self: ImmutableArray<A>): Array<A> {
|
|
|
860
932
|
}
|
|
861
933
|
|
|
862
934
|
/**
|
|
863
|
-
* @tsplus
|
|
935
|
+
* @tsplus pipeable fncts.ImmutableArray partitionWithIndex
|
|
864
936
|
*/
|
|
865
|
-
export function
|
|
866
|
-
self: ImmutableArray<A>,
|
|
937
|
+
export function partitionWithIndex<A, B extends A>(
|
|
867
938
|
p: RefinementWithIndex<number, A, B>,
|
|
868
|
-
): readonly [ImmutableArray<A>, ImmutableArray<B>];
|
|
869
|
-
export function
|
|
870
|
-
self: ImmutableArray<A>,
|
|
939
|
+
): (self: ImmutableArray<A>) => readonly [ImmutableArray<A>, ImmutableArray<B>];
|
|
940
|
+
export function partitionWithIndex<A>(
|
|
871
941
|
p: PredicateWithIndex<number, A>,
|
|
872
|
-
): readonly [ImmutableArray<A>, ImmutableArray<A>];
|
|
873
|
-
export function
|
|
874
|
-
self: ImmutableArray<A>,
|
|
875
|
-
|
|
876
|
-
|
|
877
|
-
|
|
878
|
-
|
|
879
|
-
|
|
880
|
-
|
|
881
|
-
|
|
882
|
-
|
|
883
|
-
|
|
884
|
-
left.push(a);
|
|
942
|
+
): (self: ImmutableArray<A>) => readonly [ImmutableArray<A>, ImmutableArray<A>];
|
|
943
|
+
export function partitionWithIndex<A>(p: PredicateWithIndex<number, A>) {
|
|
944
|
+
return (self: ImmutableArray<A>): readonly [ImmutableArray<A>, ImmutableArray<A>] => {
|
|
945
|
+
const left: Array<A> = [];
|
|
946
|
+
const right: Array<A> = [];
|
|
947
|
+
for (let i = 0; i < self.length; i++) {
|
|
948
|
+
const a = self._array[i]!;
|
|
949
|
+
if (p(i, a)) {
|
|
950
|
+
right.push(a);
|
|
951
|
+
} else {
|
|
952
|
+
left.push(a);
|
|
953
|
+
}
|
|
885
954
|
}
|
|
886
|
-
|
|
887
|
-
|
|
955
|
+
return [left.asImmutableArray, right.asImmutableArray];
|
|
956
|
+
};
|
|
888
957
|
}
|
|
889
958
|
|
|
890
959
|
/**
|
|
891
|
-
* @tsplus
|
|
960
|
+
* @tsplus pipeable fncts.ImmutableArray partition
|
|
892
961
|
*/
|
|
893
|
-
export function
|
|
894
|
-
self: ImmutableArray<A>,
|
|
962
|
+
export function partition<A, B extends A>(
|
|
895
963
|
p: Refinement<A, B>,
|
|
896
|
-
): readonly [ImmutableArray<A>, ImmutableArray<B>];
|
|
897
|
-
export function
|
|
898
|
-
self: ImmutableArray<A>,
|
|
899
|
-
p: Predicate<A>,
|
|
900
|
-
): readonly [ImmutableArray<A>, ImmutableArray<A>];
|
|
901
|
-
export function partition_<A>(
|
|
902
|
-
self: ImmutableArray<A>,
|
|
964
|
+
): (self: ImmutableArray<A>) => readonly [ImmutableArray<A>, ImmutableArray<B>];
|
|
965
|
+
export function partition<A>(
|
|
903
966
|
p: Predicate<A>,
|
|
904
|
-
): readonly [ImmutableArray<A>, ImmutableArray<A>]
|
|
905
|
-
|
|
906
|
-
|
|
907
|
-
|
|
908
|
-
|
|
909
|
-
|
|
910
|
-
|
|
911
|
-
|
|
912
|
-
|
|
913
|
-
|
|
914
|
-
|
|
915
|
-
|
|
916
|
-
|
|
917
|
-
|
|
918
|
-
|
|
919
|
-
|
|
920
|
-
|
|
921
|
-
|
|
922
|
-
|
|
923
|
-
|
|
924
|
-
|
|
925
|
-
|
|
926
|
-
|
|
967
|
+
): (self: ImmutableArray<A>) => readonly [ImmutableArray<A>, ImmutableArray<A>];
|
|
968
|
+
export function partition<A>(p: Predicate<A>) {
|
|
969
|
+
return (self: ImmutableArray<A>): readonly [ImmutableArray<A>, ImmutableArray<A>] => {
|
|
970
|
+
return self.partitionWithIndex((_, a) => p(a));
|
|
971
|
+
};
|
|
972
|
+
}
|
|
973
|
+
|
|
974
|
+
/**
|
|
975
|
+
* @tsplus pipeable fncts.ImmutableArray partitionMapWithIndex
|
|
976
|
+
*/
|
|
977
|
+
export function partitionMapWithIndex<A, B, C>(f: (i: number, a: A) => Either<B, C>) {
|
|
978
|
+
return (self: ImmutableArray<A>): readonly [ImmutableArray<B>, ImmutableArray<C>] => {
|
|
979
|
+
const left = [] as Array<B>;
|
|
980
|
+
const right = [] as Array<C>;
|
|
981
|
+
for (let i = 0; i < self.length; i++) {
|
|
982
|
+
const ea = f(i, self._array[i]!);
|
|
983
|
+
Either.concrete(ea);
|
|
984
|
+
switch (ea._tag) {
|
|
985
|
+
case EitherTag.Left:
|
|
986
|
+
left.push(ea.left);
|
|
987
|
+
break;
|
|
988
|
+
case EitherTag.Right:
|
|
989
|
+
right.push(ea.right);
|
|
990
|
+
break;
|
|
991
|
+
}
|
|
927
992
|
}
|
|
928
|
-
|
|
929
|
-
|
|
993
|
+
return [left.asImmutableArray, right.asImmutableArray];
|
|
994
|
+
};
|
|
930
995
|
}
|
|
931
996
|
|
|
932
997
|
/**
|
|
933
|
-
* @tsplus
|
|
998
|
+
* @tsplus pipeable fncts.ImmutableArray partitionMap
|
|
934
999
|
*/
|
|
935
|
-
export function
|
|
936
|
-
self: ImmutableArray<A>,
|
|
937
|
-
|
|
938
|
-
|
|
939
|
-
return self.partitionMapWithIndex((_, a) => f(a));
|
|
1000
|
+
export function partitionMap<A, B, C>(f: (a: A) => Either<B, C>) {
|
|
1001
|
+
return (self: ImmutableArray<A>): readonly [ImmutableArray<B>, ImmutableArray<C>] => {
|
|
1002
|
+
return self.partitionMapWithIndex((_, a) => f(a));
|
|
1003
|
+
};
|
|
940
1004
|
}
|
|
941
1005
|
|
|
942
1006
|
/**
|
|
943
|
-
* @tsplus
|
|
1007
|
+
* @tsplus pipeable fncts.ImmutableArray prepend
|
|
944
1008
|
*/
|
|
945
|
-
export function
|
|
946
|
-
|
|
947
|
-
|
|
948
|
-
|
|
949
|
-
|
|
950
|
-
|
|
951
|
-
|
|
952
|
-
|
|
1009
|
+
export function prepend<B>(head: B) {
|
|
1010
|
+
return <A>(self: ImmutableArray<A>): ImmutableArray<A | B> => {
|
|
1011
|
+
const len = self.length;
|
|
1012
|
+
const out = Array<A | B>(len + 1);
|
|
1013
|
+
out[0] = head;
|
|
1014
|
+
for (let i = 0; i < len; i++) {
|
|
1015
|
+
out[i + 1] = self._array[i]!;
|
|
1016
|
+
}
|
|
1017
|
+
return out.asImmutableArray;
|
|
1018
|
+
};
|
|
953
1019
|
}
|
|
954
1020
|
|
|
955
1021
|
/**
|
|
956
|
-
* @tsplus
|
|
957
|
-
* @tsplus fluent fncts.MutableArray prependAll
|
|
1022
|
+
* @tsplus pipeable fncts.ImmutableArray prependAll
|
|
958
1023
|
*/
|
|
959
|
-
export function
|
|
960
|
-
|
|
961
|
-
|
|
962
|
-
|
|
963
|
-
|
|
964
|
-
|
|
1024
|
+
export function prependAll<A>(a: A) {
|
|
1025
|
+
return (self: ImmutableArray<A>): ImmutableArray<A> => {
|
|
1026
|
+
const out: Array<A> = [];
|
|
1027
|
+
for (let i = 0; i < self.length; i++) {
|
|
1028
|
+
out.push(a, self._array[i]!);
|
|
1029
|
+
}
|
|
1030
|
+
return out.asImmutableArray;
|
|
1031
|
+
};
|
|
965
1032
|
}
|
|
966
1033
|
|
|
967
1034
|
/**
|
|
@@ -997,137 +1064,150 @@ export function rights<E, A>(self: ImmutableArray<Either<E, A>>): ImmutableArray
|
|
|
997
1064
|
}
|
|
998
1065
|
|
|
999
1066
|
/**
|
|
1000
|
-
* @tsplus
|
|
1067
|
+
* @tsplus pipeable fncts.ImmutableArray rotate
|
|
1001
1068
|
*/
|
|
1002
|
-
export function
|
|
1003
|
-
|
|
1004
|
-
|
|
1005
|
-
|
|
1006
|
-
|
|
1007
|
-
|
|
1008
|
-
|
|
1009
|
-
|
|
1010
|
-
|
|
1069
|
+
export function rotate(n: number) {
|
|
1070
|
+
return <A>(self: ImmutableArray<A>): ImmutableArray<A> => {
|
|
1071
|
+
const len = self.length;
|
|
1072
|
+
if (n === 0 || len <= 1 || len === Math.abs(n)) {
|
|
1073
|
+
return self;
|
|
1074
|
+
} else if (n < 0) {
|
|
1075
|
+
return self.rotate(len + n);
|
|
1076
|
+
} else {
|
|
1077
|
+
return self.slice(-n).concat(self.slice(0, len - n));
|
|
1078
|
+
}
|
|
1079
|
+
};
|
|
1011
1080
|
}
|
|
1012
1081
|
|
|
1013
1082
|
/**
|
|
1014
|
-
* @tsplus
|
|
1083
|
+
* @tsplus pipeable fncts.ImmutableArray scanLeft
|
|
1015
1084
|
*/
|
|
1016
|
-
export function
|
|
1017
|
-
|
|
1018
|
-
|
|
1019
|
-
|
|
1020
|
-
|
|
1021
|
-
|
|
1022
|
-
|
|
1023
|
-
|
|
1085
|
+
export function scanLeft<A, B>(b: B, f: (b: B, a: A) => B) {
|
|
1086
|
+
return (self: ImmutableArray<A>): ImmutableArray<B> => {
|
|
1087
|
+
const l = self.length;
|
|
1088
|
+
const r = Array(l + 1);
|
|
1089
|
+
r[0] = b;
|
|
1090
|
+
for (let i = 0; i < l; i++) {
|
|
1091
|
+
r[i + 1] = f(r[i]!, self._array[i]!);
|
|
1092
|
+
}
|
|
1093
|
+
return r.asImmutableArray;
|
|
1094
|
+
};
|
|
1024
1095
|
}
|
|
1025
1096
|
|
|
1026
1097
|
/**
|
|
1027
|
-
* @tsplus
|
|
1098
|
+
* @tsplus pipeable fncts.ImmutableArray scanRight
|
|
1028
1099
|
*/
|
|
1029
|
-
export function
|
|
1030
|
-
|
|
1031
|
-
|
|
1032
|
-
|
|
1033
|
-
|
|
1034
|
-
|
|
1035
|
-
|
|
1036
|
-
|
|
1100
|
+
export function scanRight<A, B>(b: B, f: (a: A, b: B) => B) {
|
|
1101
|
+
return (self: ImmutableArray<A>): ImmutableArray<B> => {
|
|
1102
|
+
const l = self.length;
|
|
1103
|
+
const r = Array(l + 1);
|
|
1104
|
+
r[l] = b;
|
|
1105
|
+
for (let i = l - 1; i >= 0; i--) {
|
|
1106
|
+
r[i] = f(self._array[i]!, r[i + 1]!);
|
|
1107
|
+
}
|
|
1108
|
+
return r.asImmutableArray;
|
|
1109
|
+
};
|
|
1037
1110
|
}
|
|
1038
1111
|
|
|
1039
1112
|
/**
|
|
1040
|
-
* @tsplus
|
|
1113
|
+
* @tsplus pipeable fncts.ImmutableArray sort
|
|
1041
1114
|
*/
|
|
1042
|
-
export function sort<A>(
|
|
1043
|
-
return
|
|
1115
|
+
export function sort<A>(/** @tsplus auto */ O: P.Ord<A>) {
|
|
1116
|
+
return (self: ImmutableArray<A>): ImmutableArray<A> => {
|
|
1117
|
+
return self.isEmpty() || self.length === 1
|
|
1118
|
+
? self
|
|
1119
|
+
: self._array.slice().sort((a, b) => O.compare(b)(a)).asImmutableArray;
|
|
1120
|
+
};
|
|
1044
1121
|
}
|
|
1045
1122
|
|
|
1046
1123
|
/**
|
|
1047
|
-
* @tsplus
|
|
1124
|
+
* @tsplus pipeable fncts.ImmutableArray sortBy
|
|
1048
1125
|
*/
|
|
1049
|
-
export function sortBy<A>(
|
|
1050
|
-
return self
|
|
1126
|
+
export function sortBy<A>(Os: ImmutableArray<P.Ord<A>>) {
|
|
1127
|
+
return (self: ImmutableArray<A>): ImmutableArray<A> => {
|
|
1128
|
+
return self.sort(Os.fold(P.Ord.getMonoid()));
|
|
1129
|
+
};
|
|
1051
1130
|
}
|
|
1052
1131
|
|
|
1053
1132
|
/**
|
|
1054
|
-
* @tsplus
|
|
1133
|
+
* @tsplus pipeable fncts.ImmutableArray spanLeft
|
|
1055
1134
|
*/
|
|
1056
|
-
export function
|
|
1057
|
-
self: ImmutableArray<A>,
|
|
1135
|
+
export function spanLeft<A, B extends A>(
|
|
1058
1136
|
p: Refinement<A, B>,
|
|
1059
|
-
): readonly [ImmutableArray<B>, ImmutableArray<A>];
|
|
1060
|
-
export function
|
|
1061
|
-
export function spanLeft_<A>(
|
|
1062
|
-
self: ImmutableArray<A>,
|
|
1137
|
+
): (self: ImmutableArray<A>) => readonly [ImmutableArray<B>, ImmutableArray<A>];
|
|
1138
|
+
export function spanLeft<A>(
|
|
1063
1139
|
p: Predicate<A>,
|
|
1064
|
-
): readonly [ImmutableArray<A>, ImmutableArray<A>]
|
|
1065
|
-
|
|
1066
|
-
|
|
1067
|
-
|
|
1068
|
-
init
|
|
1069
|
-
|
|
1070
|
-
|
|
1071
|
-
|
|
1072
|
-
|
|
1073
|
-
rest
|
|
1074
|
-
|
|
1075
|
-
|
|
1140
|
+
): (self: ImmutableArray<A>) => readonly [ImmutableArray<A>, ImmutableArray<A>];
|
|
1141
|
+
export function spanLeft<A>(p: Predicate<A>) {
|
|
1142
|
+
return (self: ImmutableArray<A>): readonly [ImmutableArray<A>, ImmutableArray<A>] => {
|
|
1143
|
+
const i = self.spanIndexLeft(p);
|
|
1144
|
+
const init = Array<A>(i);
|
|
1145
|
+
for (let j = 0; j < i; j++) {
|
|
1146
|
+
init[j] = self._array[j]!;
|
|
1147
|
+
}
|
|
1148
|
+
const l = self.length;
|
|
1149
|
+
const rest = Array<A>(l - i);
|
|
1150
|
+
for (let j = i; j < l; j++) {
|
|
1151
|
+
rest[j - i] = self._array[j]!;
|
|
1152
|
+
}
|
|
1153
|
+
return [init.asImmutableArray, rest.asImmutableArray];
|
|
1154
|
+
};
|
|
1076
1155
|
}
|
|
1077
1156
|
|
|
1078
1157
|
/**
|
|
1079
|
-
* @tsplus
|
|
1158
|
+
* @tsplus pipeable fncts.ImmutableArray spanRight
|
|
1080
1159
|
*/
|
|
1081
|
-
export function
|
|
1082
|
-
self: ImmutableArray<A>,
|
|
1160
|
+
export function spanRight<A, B extends A>(
|
|
1083
1161
|
p: Refinement<A, B>,
|
|
1084
|
-
): readonly [ImmutableArray<A>, ImmutableArray<B>];
|
|
1085
|
-
export function
|
|
1086
|
-
self: ImmutableArray<A>,
|
|
1087
|
-
p: Predicate<A>,
|
|
1088
|
-
): readonly [ImmutableArray<A>, ImmutableArray<A>];
|
|
1089
|
-
export function spanRight_<A>(
|
|
1090
|
-
self: ImmutableArray<A>,
|
|
1162
|
+
): (self: ImmutableArray<A>) => readonly [ImmutableArray<A>, ImmutableArray<B>];
|
|
1163
|
+
export function spanRight<A>(
|
|
1091
1164
|
p: Predicate<A>,
|
|
1092
|
-
): readonly [ImmutableArray<A>, ImmutableArray<A>]
|
|
1093
|
-
|
|
1094
|
-
|
|
1095
|
-
|
|
1096
|
-
|
|
1097
|
-
tail
|
|
1098
|
-
|
|
1099
|
-
|
|
1100
|
-
|
|
1101
|
-
rest
|
|
1102
|
-
|
|
1103
|
-
|
|
1165
|
+
): (self: ImmutableArray<A>) => readonly [ImmutableArray<A>, ImmutableArray<A>];
|
|
1166
|
+
export function spanRight<A>(p: Predicate<A>) {
|
|
1167
|
+
return (self: ImmutableArray<A>): readonly [ImmutableArray<A>, ImmutableArray<A>] => {
|
|
1168
|
+
const i = self.spanIndexRight(p);
|
|
1169
|
+
const l = self.length;
|
|
1170
|
+
const tail = Array<A>(l - i - 1);
|
|
1171
|
+
for (let j = l - 1; j > i; j--) {
|
|
1172
|
+
tail[j - i - 1] = self._array[j]!;
|
|
1173
|
+
}
|
|
1174
|
+
const rest = Array<A>(i);
|
|
1175
|
+
for (let j = i; j >= 0; j--) {
|
|
1176
|
+
rest[j] = self._array[j]!;
|
|
1177
|
+
}
|
|
1178
|
+
return [rest.asImmutableArray, tail.asImmutableArray];
|
|
1179
|
+
};
|
|
1104
1180
|
}
|
|
1105
1181
|
|
|
1106
1182
|
/**
|
|
1107
|
-
* @tsplus
|
|
1183
|
+
* @tsplus pipeable fncts.ImmutableArray spanIndexLeft
|
|
1108
1184
|
*/
|
|
1109
|
-
export function
|
|
1110
|
-
|
|
1111
|
-
|
|
1112
|
-
|
|
1113
|
-
|
|
1114
|
-
|
|
1185
|
+
export function spanIndexLeft<A>(p: Predicate<A>) {
|
|
1186
|
+
return (self: ImmutableArray<A>): number => {
|
|
1187
|
+
const l = self.length;
|
|
1188
|
+
let i = 0;
|
|
1189
|
+
for (; i < l; i++) {
|
|
1190
|
+
if (!p(self._array[i]!)) {
|
|
1191
|
+
break;
|
|
1192
|
+
}
|
|
1115
1193
|
}
|
|
1116
|
-
|
|
1117
|
-
|
|
1194
|
+
return i;
|
|
1195
|
+
};
|
|
1118
1196
|
}
|
|
1119
1197
|
|
|
1120
1198
|
/**
|
|
1121
|
-
* @tsplus
|
|
1199
|
+
* @tsplus pipeable fncts.ImmutableArray spanIndexRight
|
|
1122
1200
|
*/
|
|
1123
|
-
export function
|
|
1124
|
-
|
|
1125
|
-
|
|
1126
|
-
|
|
1127
|
-
|
|
1201
|
+
export function spanIndexRight<A>(predicate: Predicate<A>) {
|
|
1202
|
+
return (as: ImmutableArray<A>): number => {
|
|
1203
|
+
let i = as.length - 1;
|
|
1204
|
+
for (; i >= 0; i--) {
|
|
1205
|
+
if (!predicate(as._array[i]!)) {
|
|
1206
|
+
break;
|
|
1207
|
+
}
|
|
1128
1208
|
}
|
|
1129
|
-
|
|
1130
|
-
|
|
1209
|
+
return i;
|
|
1210
|
+
};
|
|
1131
1211
|
}
|
|
1132
1212
|
|
|
1133
1213
|
/**
|
|
@@ -1138,76 +1218,107 @@ export function tail<A>(self: ImmutableArray<A>): Maybe<ImmutableArray<A>> {
|
|
|
1138
1218
|
}
|
|
1139
1219
|
|
|
1140
1220
|
/**
|
|
1141
|
-
* @tsplus
|
|
1221
|
+
* @tsplus pipeable fncts.ImmutableArray take
|
|
1142
1222
|
*/
|
|
1143
|
-
export function
|
|
1144
|
-
return self
|
|
1223
|
+
export function take(n: number) {
|
|
1224
|
+
return <A>(self: ImmutableArray<A>): ImmutableArray<A> => {
|
|
1225
|
+
return self.slice(0, n);
|
|
1226
|
+
};
|
|
1145
1227
|
}
|
|
1146
1228
|
|
|
1147
1229
|
/**
|
|
1148
|
-
* @tsplus
|
|
1230
|
+
* @tsplus pipeable fncts.ImmutableArray takeLast
|
|
1149
1231
|
*/
|
|
1150
|
-
export function
|
|
1151
|
-
return
|
|
1232
|
+
export function takeLast(n: number) {
|
|
1233
|
+
return <A>(as: ImmutableArray<A>): ImmutableArray<A> => {
|
|
1234
|
+
return isEmpty(as) ? ImmutableArray.empty() : as.slice(-n);
|
|
1235
|
+
};
|
|
1152
1236
|
}
|
|
1153
1237
|
|
|
1154
1238
|
/**
|
|
1155
|
-
* @tsplus
|
|
1239
|
+
* @tsplus pipeable fncts.ImmutableArray takeWhile
|
|
1156
1240
|
*/
|
|
1157
|
-
export function
|
|
1158
|
-
export function
|
|
1159
|
-
export function
|
|
1160
|
-
|
|
1161
|
-
|
|
1162
|
-
|
|
1163
|
-
|
|
1164
|
-
|
|
1165
|
-
|
|
1241
|
+
export function takeWhile<A, B extends A>(p: Refinement<A, B>): (self: ImmutableArray<A>) => ImmutableArray<B>;
|
|
1242
|
+
export function takeWhile<A>(p: Predicate<A>): (self: ImmutableArray<A>) => ImmutableArray<A>;
|
|
1243
|
+
export function takeWhile<A>(p: Predicate<A>) {
|
|
1244
|
+
return (self: ImmutableArray<A>): ImmutableArray<A> => {
|
|
1245
|
+
const i = self.spanIndexLeft(p);
|
|
1246
|
+
const init = Array<A>(i);
|
|
1247
|
+
for (let j = 0; j < i; j++) {
|
|
1248
|
+
init[j] = self._array[j]!;
|
|
1249
|
+
}
|
|
1250
|
+
return init.asImmutableArray;
|
|
1251
|
+
};
|
|
1166
1252
|
}
|
|
1167
1253
|
|
|
1168
1254
|
/**
|
|
1169
1255
|
* @tsplus getter fncts.ImmutableArray traverseWithIndex
|
|
1170
1256
|
*/
|
|
1171
|
-
export
|
|
1172
|
-
|
|
1173
|
-
|
|
1174
|
-
|
|
1175
|
-
|
|
1176
|
-
)
|
|
1257
|
+
export function _traverseWithIndex<A>(
|
|
1258
|
+
self: ImmutableArray<A>,
|
|
1259
|
+
): <G extends HKT, GC = HKT.None>(
|
|
1260
|
+
G: P.Applicative<G, GC>,
|
|
1261
|
+
) => <K, Q, W, X, I, S, R, E, B>(
|
|
1262
|
+
f: (i: number, a: A) => HKT.Kind<G, GC, K, Q, W, X, I, S, R, E, B>,
|
|
1263
|
+
) => HKT.Kind<G, GC, K, Q, W, X, I, S, R, E, ImmutableArray<B>>;
|
|
1264
|
+
export function _traverseWithIndex<A>(
|
|
1265
|
+
self: ImmutableArray<A>,
|
|
1266
|
+
): <G>(G: P.Applicative<HKT.F<G>>) => <B>(f: (i: number, a: A) => HKT.FK1<G, B>) => HKT.FK1<G, ImmutableArray<B>> {
|
|
1267
|
+
return (G) => (f) =>
|
|
1268
|
+
self.foldLeftWithIndex(G.pure(ImmutableArray.empty()), (i, fbs, a) =>
|
|
1269
|
+
pipe(
|
|
1270
|
+
fbs,
|
|
1271
|
+
G.zipWith(f(i, a), (bs, b) => bs.append(b)),
|
|
1272
|
+
),
|
|
1273
|
+
);
|
|
1274
|
+
}
|
|
1177
1275
|
|
|
1178
1276
|
/**
|
|
1179
1277
|
* @tsplus getter fncts.ImmutableArray traverse
|
|
1180
1278
|
*/
|
|
1181
|
-
export
|
|
1279
|
+
export function _traverse<A>(
|
|
1280
|
+
self: ImmutableArray<A>,
|
|
1281
|
+
): <G extends HKT, GC = HKT.None>(
|
|
1282
|
+
G: P.Applicative<G, GC>,
|
|
1283
|
+
) => <K, Q, W, X, I, S, R, E, B>(
|
|
1284
|
+
f: (a: A) => HKT.Kind<G, GC, K, Q, W, X, I, S, R, E, B>,
|
|
1285
|
+
) => HKT.Kind<G, GC, K, Q, W, X, I, S, R, E, ImmutableArray<B>> {
|
|
1286
|
+
return (G) => (f) => self.traverseWithIndex(G)((_, a) => f(a));
|
|
1287
|
+
}
|
|
1288
|
+
|
|
1289
|
+
export const traverseWithIndex: P.TraversableWithIndex<ImmutableArrayF>["traverseWithIndex"] = (G) => (f) => (self) =>
|
|
1290
|
+
self.traverseWithIndex(G)(f);
|
|
1291
|
+
|
|
1292
|
+
export const traverse: P.Traversable<ImmutableArrayF>["traverse"] = (G) => (f) => (self) =>
|
|
1182
1293
|
self.traverseWithIndex(G)((_, a) => f(a));
|
|
1183
1294
|
|
|
1184
1295
|
/**
|
|
1185
|
-
* @tsplus
|
|
1296
|
+
* @tsplus pipeable fncts.ImmutableArray union
|
|
1186
1297
|
*/
|
|
1187
|
-
export function
|
|
1188
|
-
self: ImmutableArray<A
|
|
1189
|
-
|
|
1190
|
-
|
|
1191
|
-
): ImmutableArray<A> {
|
|
1192
|
-
return self.concat(that.filter((a) => !self.elem(a, E)));
|
|
1298
|
+
export function union<A>(that: ImmutableArray<A>, /** @tsplus auto */ E: P.Eq<A>) {
|
|
1299
|
+
return (self: ImmutableArray<A>): ImmutableArray<A> => {
|
|
1300
|
+
return self.concat(that.filter((a) => !self.elem(a, E)));
|
|
1301
|
+
};
|
|
1193
1302
|
}
|
|
1194
1303
|
|
|
1195
1304
|
/**
|
|
1196
|
-
* @tsplus
|
|
1305
|
+
* @tsplus pipeable fncts.ImmutableArray uniq
|
|
1197
1306
|
*/
|
|
1198
|
-
export function uniq<A>(
|
|
1199
|
-
|
|
1200
|
-
|
|
1201
|
-
|
|
1202
|
-
const out = [] as Array<A>;
|
|
1203
|
-
const len = self.length;
|
|
1204
|
-
for (let i = 0; i < len; i++) {
|
|
1205
|
-
const a = self._array[i]!;
|
|
1206
|
-
if (!out.asImmutableArray.elem(a, E)) {
|
|
1207
|
-
out.push(a);
|
|
1307
|
+
export function uniq<A>(/** @tsplus auto */ E: P.Eq<A>) {
|
|
1308
|
+
return (self: ImmutableArray<A>): ImmutableArray<A> => {
|
|
1309
|
+
if (self.length === 1) {
|
|
1310
|
+
return self;
|
|
1208
1311
|
}
|
|
1209
|
-
|
|
1210
|
-
|
|
1312
|
+
const out = [] as Array<A>;
|
|
1313
|
+
const len = self.length;
|
|
1314
|
+
for (let i = 0; i < len; i++) {
|
|
1315
|
+
const a = self._array[i]!;
|
|
1316
|
+
if (!out.asImmutableArray.elem(a, E)) {
|
|
1317
|
+
out.push(a);
|
|
1318
|
+
}
|
|
1319
|
+
}
|
|
1320
|
+
return out.asImmutableArray;
|
|
1321
|
+
};
|
|
1211
1322
|
}
|
|
1212
1323
|
|
|
1213
1324
|
/**
|
|
@@ -1232,47 +1343,55 @@ export function unsafeAsMutable<A>(self: ImmutableArray<A>): Array<A> {
|
|
|
1232
1343
|
}
|
|
1233
1344
|
|
|
1234
1345
|
/**
|
|
1235
|
-
* @tsplus
|
|
1346
|
+
* @tsplus pipeable fncts.ImmutableArray unsafeDeleteAt
|
|
1236
1347
|
*/
|
|
1237
|
-
export function
|
|
1238
|
-
return self
|
|
1239
|
-
|
|
1240
|
-
|
|
1348
|
+
export function unsafeDeleteAt(i: number) {
|
|
1349
|
+
return <A>(self: ImmutableArray<A>): ImmutableArray<A> => {
|
|
1350
|
+
return self.mutate((xs) => {
|
|
1351
|
+
xs.splice(i, 1);
|
|
1352
|
+
});
|
|
1353
|
+
};
|
|
1241
1354
|
}
|
|
1242
1355
|
|
|
1243
1356
|
/**
|
|
1244
|
-
* @tsplus
|
|
1357
|
+
* @tsplus pipeable fncts.ImmutableArray unsafeInsertAt
|
|
1245
1358
|
*/
|
|
1246
|
-
export function
|
|
1247
|
-
return as
|
|
1248
|
-
|
|
1249
|
-
|
|
1359
|
+
export function unsafeInsertAt<A>(i: number, a: A) {
|
|
1360
|
+
return (as: ImmutableArray<A>): ImmutableNonEmptyArray<A> => {
|
|
1361
|
+
return as.mutate((xs) => {
|
|
1362
|
+
xs.splice(i, 0, a);
|
|
1363
|
+
}) as unknown as ImmutableNonEmptyArray<A>;
|
|
1364
|
+
};
|
|
1250
1365
|
}
|
|
1251
1366
|
|
|
1252
1367
|
/**
|
|
1253
|
-
* @tsplus
|
|
1368
|
+
* @tsplus pipeable fncts.ImmutableArray unsafeModifyAt
|
|
1254
1369
|
*/
|
|
1255
|
-
export function
|
|
1256
|
-
|
|
1257
|
-
|
|
1258
|
-
|
|
1259
|
-
|
|
1260
|
-
|
|
1261
|
-
xs
|
|
1262
|
-
|
|
1370
|
+
export function unsafeModifyAt<A>(i: number, f: (a: A) => A) {
|
|
1371
|
+
return (as: ImmutableArray<A>): ImmutableArray<A> => {
|
|
1372
|
+
const next = f(as[i]!);
|
|
1373
|
+
if (as[i] === next) {
|
|
1374
|
+
return as;
|
|
1375
|
+
}
|
|
1376
|
+
return as.mutate((xs) => {
|
|
1377
|
+
xs[i] = next;
|
|
1378
|
+
});
|
|
1379
|
+
};
|
|
1263
1380
|
}
|
|
1264
1381
|
|
|
1265
1382
|
/**
|
|
1266
|
-
* @tsplus
|
|
1383
|
+
* @tsplus pipeable fncts.ImmutableArray unsafeUpdateAt
|
|
1267
1384
|
*/
|
|
1268
|
-
export function
|
|
1269
|
-
|
|
1270
|
-
|
|
1271
|
-
|
|
1272
|
-
|
|
1273
|
-
xs
|
|
1274
|
-
|
|
1275
|
-
|
|
1385
|
+
export function unsafeUpdateAt<A>(i: number, a: A) {
|
|
1386
|
+
return (as: ImmutableArray<A>): ImmutableArray<A> => {
|
|
1387
|
+
if (as[i] === a) {
|
|
1388
|
+
return as;
|
|
1389
|
+
} else {
|
|
1390
|
+
return as.mutate((xs) => {
|
|
1391
|
+
xs[i] = a;
|
|
1392
|
+
});
|
|
1393
|
+
}
|
|
1394
|
+
};
|
|
1276
1395
|
}
|
|
1277
1396
|
|
|
1278
1397
|
/**
|
|
@@ -1291,86 +1410,117 @@ export function unzip<A, B>(self: ImmutableArray<readonly [A, B]>): readonly [Im
|
|
|
1291
1410
|
}
|
|
1292
1411
|
|
|
1293
1412
|
/**
|
|
1294
|
-
* @tsplus
|
|
1413
|
+
* @tsplus pipeable fncts.ImmutableArray updateAt
|
|
1295
1414
|
*/
|
|
1296
|
-
export function
|
|
1297
|
-
return as
|
|
1415
|
+
export function updateAt<A>(i: number, a: A) {
|
|
1416
|
+
return (as: ImmutableArray<A>): Maybe<ImmutableArray<A>> => {
|
|
1417
|
+
return as.isOutOfBound(i) ? Nothing() : Just(as.unsafeUpdateAt(i, a));
|
|
1418
|
+
};
|
|
1298
1419
|
}
|
|
1299
1420
|
|
|
1300
1421
|
/**
|
|
1301
1422
|
* @tsplus getter fncts.ImmutableArray wiltWithIndex
|
|
1302
1423
|
*/
|
|
1303
|
-
export
|
|
1304
|
-
|
|
1305
|
-
|
|
1306
|
-
|
|
1307
|
-
|
|
1308
|
-
|
|
1309
|
-
|
|
1310
|
-
|
|
1311
|
-
|
|
1312
|
-
|
|
1313
|
-
|
|
1314
|
-
|
|
1315
|
-
|
|
1316
|
-
|
|
1424
|
+
export function _wiltWithIndex<A>(self: ImmutableArray<A>) {
|
|
1425
|
+
return <G extends HKT, GC = HKT.None>(G: P.Applicative<G, GC>) =>
|
|
1426
|
+
<K, Q, W, X, I, S, R, E, B, B2>(
|
|
1427
|
+
f: (i: number, a: A) => HKT.Kind<G, GC, K, Q, W, X, I, S, R, E, Either<B, B2>>,
|
|
1428
|
+
): HKT.Kind<G, GC, K, Q, W, X, I, S, R, E, readonly [ImmutableArray<B>, ImmutableArray<B2>]> =>
|
|
1429
|
+
self
|
|
1430
|
+
.foldLeftWithIndex(G.pure([[] as Array<B>, [] as Array<B2>] as const), (i, fbs, a) =>
|
|
1431
|
+
f(i, a).pipe(
|
|
1432
|
+
G.zipWith(fbs, (eb, r) =>
|
|
1433
|
+
eb.match(
|
|
1434
|
+
(b1) => {
|
|
1435
|
+
r[0].push(b1);
|
|
1436
|
+
return r;
|
|
1437
|
+
},
|
|
1438
|
+
(b2) => {
|
|
1439
|
+
r[1].push(b2);
|
|
1440
|
+
return r;
|
|
1441
|
+
},
|
|
1442
|
+
),
|
|
1443
|
+
),
|
|
1317
1444
|
),
|
|
1318
|
-
)
|
|
1319
|
-
|
|
1320
|
-
|
|
1321
|
-
),
|
|
1322
|
-
);
|
|
1445
|
+
)
|
|
1446
|
+
.pipe(G.map(([b1s, b2s]) => [b1s.asImmutableArray, b2s.asImmutableArray]));
|
|
1447
|
+
}
|
|
1323
1448
|
|
|
1324
1449
|
/**
|
|
1325
1450
|
* @tsplus getter fncts.ImmutableArray wilt
|
|
1326
1451
|
*/
|
|
1327
|
-
export
|
|
1328
|
-
|
|
1452
|
+
export function _wilt<A>(self: ImmutableArray<A>) {
|
|
1453
|
+
return <G extends HKT, GC = HKT.None>(G: P.Applicative<G, GC>) =>
|
|
1454
|
+
<K, Q, W, X, I, S, R, E, B, B2>(
|
|
1455
|
+
f: (a: A) => HKT.Kind<G, GC, K, Q, W, X, I, S, R, E, Either<B, B2>>,
|
|
1456
|
+
): HKT.Kind<G, GC, K, Q, W, X, I, S, R, E, readonly [ImmutableArray<B>, ImmutableArray<B2>]> =>
|
|
1457
|
+
self.wiltWithIndex(G)((_, a) => f(a));
|
|
1458
|
+
}
|
|
1329
1459
|
|
|
1330
1460
|
/**
|
|
1331
1461
|
* @tsplus getter fncts.ImmutableArray witherWithIndex
|
|
1332
1462
|
*/
|
|
1333
|
-
export
|
|
1334
|
-
|
|
1335
|
-
|
|
1336
|
-
|
|
1337
|
-
|
|
1338
|
-
|
|
1339
|
-
|
|
1340
|
-
|
|
1341
|
-
|
|
1342
|
-
|
|
1343
|
-
|
|
1344
|
-
|
|
1345
|
-
|
|
1346
|
-
|
|
1347
|
-
)
|
|
1463
|
+
export function _witherWithIndex<A>(self: ImmutableArray<A>) {
|
|
1464
|
+
return <G extends HKT, GC = HKT.None>(G: P.Applicative<G, GC>) =>
|
|
1465
|
+
<K, Q, W, X, I, S, R, E, B>(
|
|
1466
|
+
f: (i: number, a: A) => HKT.Kind<G, GC, K, Q, W, X, I, S, R, E, Maybe<B>>,
|
|
1467
|
+
): HKT.Kind<G, GC, K, Q, W, X, I, S, R, E, ImmutableArray<B>> =>
|
|
1468
|
+
self
|
|
1469
|
+
.foldLeftWithIndex(G.pure([] as Array<B>), (i, b, a) =>
|
|
1470
|
+
f(i, a).pipe(
|
|
1471
|
+
G.zipWith(b, (maybeB, bs) => {
|
|
1472
|
+
if (maybeB.isJust()) {
|
|
1473
|
+
bs.push(maybeB.value);
|
|
1474
|
+
}
|
|
1475
|
+
return bs;
|
|
1476
|
+
}),
|
|
1477
|
+
),
|
|
1478
|
+
)
|
|
1479
|
+
.pipe(G.map((bs) => bs.asImmutableArray));
|
|
1480
|
+
}
|
|
1348
1481
|
|
|
1349
1482
|
/**
|
|
1350
1483
|
* @tsplus getter fncts.ImmutableArray wither
|
|
1351
1484
|
*/
|
|
1352
|
-
export
|
|
1485
|
+
export function _wither<A>(self: ImmutableArray<A>) {
|
|
1486
|
+
return <G extends HKT, GC = HKT.None>(G: P.Applicative<G, GC>) =>
|
|
1487
|
+
<K, Q, W, X, I, S, R, E, B>(
|
|
1488
|
+
f: (a: A) => HKT.Kind<G, GC, K, Q, W, X, I, S, R, E, Maybe<B>>,
|
|
1489
|
+
): HKT.Kind<G, GC, K, Q, W, X, I, S, R, E, ImmutableArray<B>> =>
|
|
1490
|
+
self.witherWithIndex(G)((_, a) => f(a));
|
|
1491
|
+
}
|
|
1492
|
+
|
|
1493
|
+
export const wiltWithIndex: P.WitherableWithIndex<ImmutableArrayF>["wiltWithIndex"] = (G) => (f) => (self) =>
|
|
1494
|
+
self.wiltWithIndex(G)(f);
|
|
1495
|
+
|
|
1496
|
+
export const wilt: P.WitherableWithIndex<ImmutableArrayF>["wilt"] = (G) => (f) => (self) =>
|
|
1497
|
+
self.wiltWithIndex(G)((_, a) => f(a));
|
|
1498
|
+
|
|
1499
|
+
export const witherWithIndex: P.WitherableWithIndex<ImmutableArrayF>["witherWithIndex"] = (G) => (f) => (self) =>
|
|
1500
|
+
self.witherWithIndex(G)(f);
|
|
1501
|
+
|
|
1502
|
+
export const wither: P.Witherable<ImmutableArrayF>["wither"] = (G) => (f) => (self) =>
|
|
1353
1503
|
self.witherWithIndex(G)((_, a) => f(a));
|
|
1354
1504
|
|
|
1355
1505
|
/**
|
|
1356
|
-
* @tsplus
|
|
1506
|
+
* @tsplus pipeable fncts.ImmutableArray zip
|
|
1357
1507
|
*/
|
|
1358
|
-
export function
|
|
1359
|
-
return self
|
|
1508
|
+
export function zip<B>(that: ImmutableArray<B>) {
|
|
1509
|
+
return <A>(self: ImmutableArray<A>): ImmutableArray<readonly [A, B]> => {
|
|
1510
|
+
return self.zipWith(that, tuple);
|
|
1511
|
+
};
|
|
1360
1512
|
}
|
|
1361
1513
|
|
|
1362
1514
|
/**
|
|
1363
|
-
* @tsplus
|
|
1515
|
+
* @tsplus pipeable fncts.ImmutableArray zipWith
|
|
1364
1516
|
*/
|
|
1365
|
-
export function
|
|
1366
|
-
self: ImmutableArray<A
|
|
1367
|
-
|
|
1368
|
-
|
|
1369
|
-
|
|
1370
|
-
|
|
1371
|
-
|
|
1372
|
-
|
|
1373
|
-
|
|
1374
|
-
}
|
|
1375
|
-
return fc.asImmutableArray;
|
|
1517
|
+
export function zipWith<A, B, C>(fb: ImmutableArray<B>, f: (a: A, b: B) => C) {
|
|
1518
|
+
return (self: ImmutableArray<A>): ImmutableArray<C> => {
|
|
1519
|
+
const len = Math.min(self.length, fb.length);
|
|
1520
|
+
const fc = Array<C>(len);
|
|
1521
|
+
for (let i = 0; i < len; i++) {
|
|
1522
|
+
fc[i] = f(self._array[i]!, fb._array[i]!);
|
|
1523
|
+
}
|
|
1524
|
+
return fc.asImmutableArray;
|
|
1525
|
+
};
|
|
1376
1526
|
}
|