@fncts/base 0.0.40 → 0.0.41
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/AsyncIterable/api.cjs +384 -0
- package/_cjs/collection/AsyncIterable/api.cjs.map +1 -0
- package/_cjs/collection/AsyncIterable/definition.cjs +2 -0
- package/_cjs/collection/AsyncIterable/definition.cjs.map +1 -0
- package/_cjs/collection/{compat/Array.cjs → AsyncIterable.cjs} +3 -3
- package/_cjs/collection/AsyncIterable.cjs.map +1 -0
- package/_cjs/collection/Iterable/api/traverseConc.cjs +1 -2
- package/_cjs/collection/Iterable/api/traverseConc.cjs.map +1 -1
- package/_cjs/collection/Iterable/api.cjs +180 -137
- package/_cjs/collection/Iterable/api.cjs.map +1 -1
- package/_cjs/collection/Iterable/constructors.cjs.map +1 -1
- package/_cjs/collection/compat/ArrayLike/api.cjs +1 -2
- package/_cjs/collection/compat/ArrayLike/api.cjs.map +1 -1
- package/_cjs/collection/immutable/Conc/api/makeBy.cjs +1 -2
- package/_cjs/collection/immutable/Conc/api/makeBy.cjs.map +1 -1
- package/_cjs/collection/immutable/Conc/api/replicate.cjs +1 -2
- package/_cjs/collection/immutable/Conc/api/replicate.cjs.map +1 -1
- package/_cjs/collection/immutable/Conc/api.cjs +1 -2
- package/_cjs/collection/immutable/Conc/api.cjs.map +1 -1
- package/_cjs/collection/immutable/Conc/constructors.cjs +3 -4
- package/_cjs/collection/immutable/Conc/constructors.cjs.map +1 -1
- package/_cjs/collection/immutable/Conc/definition.cjs +3 -3
- package/_cjs/collection/immutable/Conc/definition.cjs.map +1 -1
- package/_cjs/collection/immutable/Dictionary/api.cjs +1 -2
- package/_cjs/collection/immutable/Dictionary/api.cjs.map +1 -1
- package/_cjs/collection/immutable/Dictionary/definition.cjs +1 -2
- package/_cjs/collection/immutable/Dictionary/definition.cjs.map +1 -1
- package/_cjs/collection/immutable/HashMap/api.cjs +1 -2
- package/_cjs/collection/immutable/HashMap/api.cjs.map +1 -1
- package/_cjs/collection/immutable/HashMap/definition.cjs +1 -2
- package/_cjs/collection/immutable/HashMap/definition.cjs.map +1 -1
- package/_cjs/collection/immutable/HashMap/internal.cjs +1 -2
- package/_cjs/collection/immutable/HashMap/internal.cjs.map +1 -1
- package/_cjs/collection/immutable/HashSet/api.cjs +1 -2
- package/_cjs/collection/immutable/HashSet/api.cjs.map +1 -1
- package/_cjs/collection/immutable/HashSet/definition.cjs +1 -2
- package/_cjs/collection/immutable/HashSet/definition.cjs.map +1 -1
- package/_cjs/collection/immutable/List/api/foldLeft.cjs +1 -2
- package/_cjs/collection/immutable/List/api/foldLeft.cjs.map +1 -1
- package/_cjs/collection/immutable/List/api/unsafeTail.cjs +1 -2
- package/_cjs/collection/immutable/List/api/unsafeTail.cjs.map +1 -1
- package/_cjs/collection/immutable/List/api.cjs +3 -4
- package/_cjs/collection/immutable/List/api.cjs.map +1 -1
- package/_cjs/collection/immutable/List/constructors.cjs +1 -2
- package/_cjs/collection/immutable/List/constructors.cjs.map +1 -1
- package/_cjs/collection/immutable/List/definition.cjs +1 -2
- package/_cjs/collection/immutable/List/definition.cjs.map +1 -1
- package/_cjs/collection/immutable/Queue/api.cjs +1 -2
- package/_cjs/collection/immutable/Queue/api.cjs.map +1 -1
- package/_cjs/collection/immutable/Queue/constructors.cjs +1 -2
- package/_cjs/collection/immutable/Queue/constructors.cjs.map +1 -1
- package/_cjs/collection/immutable/Queue/definition.cjs +1 -2
- package/_cjs/collection/immutable/Queue/definition.cjs.map +1 -1
- package/_cjs/collection/immutable/Queue/guards.cjs +1 -2
- package/_cjs/collection/immutable/Queue/guards.cjs.map +1 -1
- package/_cjs/collection/immutable/ReadonlyArray/api/chunksOf.cjs +18 -0
- package/_cjs/collection/immutable/ReadonlyArray/api/chunksOf.cjs.map +1 -0
- package/_cjs/collection/immutable/ReadonlyArray/api/splitAt.cjs +15 -0
- package/_cjs/collection/immutable/ReadonlyArray/api/splitAt.cjs.map +1 -0
- package/_cjs/collection/immutable/ReadonlyArray/api/splitWhere.cjs +26 -0
- package/_cjs/collection/immutable/ReadonlyArray/api/splitWhere.cjs.map +1 -0
- package/_cjs/collection/immutable/{ImmutableArray → ReadonlyArray}/api.cjs +562 -538
- package/_cjs/collection/immutable/ReadonlyArray/api.cjs.map +1 -0
- package/_cjs/collection/immutable/ReadonlyArray/constructors.cjs +55 -0
- package/_cjs/collection/immutable/ReadonlyArray/constructors.cjs.map +1 -0
- package/_cjs/collection/immutable/ReadonlyArray/definition.cjs.map +1 -0
- package/_cjs/collection/immutable/{ImmutableArray → ReadonlyArray}/instances.cjs +5 -7
- package/_cjs/collection/immutable/ReadonlyArray/instances.cjs.map +1 -0
- package/_cjs/collection/immutable/{ImmutableArray.cjs → ReadonlyArray.cjs} +8 -19
- package/_cjs/collection/immutable/ReadonlyArray.cjs.map +1 -0
- package/_cjs/collection/immutable/ReadonlyNonEmptyArray/api.cjs +472 -0
- package/_cjs/collection/immutable/ReadonlyNonEmptyArray/api.cjs.map +1 -0
- package/_cjs/collection/immutable/ReadonlyNonEmptyArray/constructors.cjs +79 -0
- package/_cjs/collection/immutable/ReadonlyNonEmptyArray/constructors.cjs.map +1 -0
- package/_cjs/collection/immutable/ReadonlyNonEmptyArray/definition.cjs +2 -0
- package/_cjs/collection/immutable/ReadonlyNonEmptyArray/definition.cjs.map +1 -0
- package/_cjs/collection/immutable/ReadonlyNonEmptyArray/destructors.cjs +49 -0
- package/_cjs/collection/immutable/ReadonlyNonEmptyArray/destructors.cjs.map +1 -0
- package/_cjs/collection/immutable/{ImmutableNonEmptyArray → ReadonlyNonEmptyArray}/instances.cjs +3 -4
- package/_cjs/collection/immutable/ReadonlyNonEmptyArray/instances.cjs.map +1 -0
- package/_cjs/collection/immutable/{ImmutableNonEmptyArray.cjs → ReadonlyNonEmptyArray.cjs} +6 -6
- package/_cjs/collection/immutable/ReadonlyNonEmptyArray.cjs.map +1 -0
- package/_cjs/collection/immutable/RoseTree/api.cjs +1 -2
- package/_cjs/collection/immutable/RoseTree/api.cjs.map +1 -1
- package/_cjs/collection/immutable/RoseTree/definition.cjs +1 -2
- package/_cjs/collection/immutable/RoseTree/definition.cjs.map +1 -1
- package/_cjs/collection/immutable/SortedMap/api.cjs +1 -2
- package/_cjs/collection/immutable/SortedMap/api.cjs.map +1 -1
- package/_cjs/collection/immutable/SortedMap/iterator.cjs +1 -2
- package/_cjs/collection/immutable/SortedMap/iterator.cjs.map +1 -1
- package/_cjs/collection/immutable/Vector/api.cjs +229 -230
- package/_cjs/collection/immutable/Vector/api.cjs.map +1 -1
- package/_cjs/collection/immutable/Vector/definition.cjs +1 -2
- package/_cjs/collection/immutable/Vector/definition.cjs.map +1 -1
- package/_cjs/collection/mutable/ArrayDeque.cjs +1 -2
- package/_cjs/collection/mutable/ArrayDeque.cjs.map +1 -1
- package/_cjs/collection/mutable/HashMap.cjs +1 -2
- package/_cjs/collection/mutable/HashMap.cjs.map +1 -1
- package/_cjs/collection/mutable/HashSet.cjs +1 -2
- package/_cjs/collection/mutable/HashSet.cjs.map +1 -1
- package/_cjs/collection/mutable/ListBuffer.cjs +1 -2
- package/_cjs/collection/mutable/ListBuffer.cjs.map +1 -1
- package/_cjs/collection/weak/IterableWeakMap.cjs +1 -2
- package/_cjs/collection/weak/IterableWeakMap.cjs.map +1 -1
- package/_cjs/control/Eval/api.cjs +89 -41
- package/_cjs/control/Eval/api.cjs.map +1 -1
- package/_cjs/control/Eval/constructors.cjs +5 -1
- package/_cjs/control/Eval/constructors.cjs.map +1 -1
- package/_cjs/control/Eval/instance.cjs +1 -2
- package/_cjs/control/Eval/instance.cjs.map +1 -1
- package/_cjs/control/Eval/run.cjs +1 -2
- package/_cjs/control/Eval/run.cjs.map +1 -1
- package/_cjs/control/Pure/api.cjs +1 -2
- package/_cjs/control/Pure/api.cjs.map +1 -1
- package/_cjs/control/Pure/definition.cjs +1 -2
- package/_cjs/control/Pure/definition.cjs.map +1 -1
- package/_cjs/control/Pure/instances.cjs +1 -2
- package/_cjs/control/Pure/instances.cjs.map +1 -1
- package/_cjs/control/Pure/runtime.cjs +15 -10
- package/_cjs/control/Pure/runtime.cjs.map +1 -1
- package/_cjs/data/CaseClass.cjs +11 -14
- package/_cjs/data/CaseClass.cjs.map +1 -1
- package/_cjs/data/Cause/api/fold.cjs +33 -34
- package/_cjs/data/Cause/api/fold.cjs.map +1 -1
- package/_cjs/data/Cause/api/isEmpty.cjs +1 -2
- package/_cjs/data/Cause/api/isEmpty.cjs.map +1 -1
- package/_cjs/data/Cause/api/linearize.cjs +1 -2
- package/_cjs/data/Cause/api/linearize.cjs.map +1 -1
- package/_cjs/data/Cause/api/prettyPrint.cjs +1 -2
- package/_cjs/data/Cause/api/prettyPrint.cjs.map +1 -1
- package/_cjs/data/Cause/api/unified.cjs +1 -2
- package/_cjs/data/Cause/api/unified.cjs.map +1 -1
- package/_cjs/data/Cause/api.cjs +1 -2
- package/_cjs/data/Cause/api.cjs.map +1 -1
- package/_cjs/data/Cause/definition.cjs +1 -2
- package/_cjs/data/Cause/definition.cjs.map +1 -1
- package/_cjs/data/Const/api.cjs +7 -7
- package/_cjs/data/Const/api.cjs.map +1 -1
- package/_cjs/data/Const/instances.cjs +12 -13
- package/_cjs/data/Const/instances.cjs.map +1 -1
- package/_cjs/data/Data.cjs +1 -2
- package/_cjs/data/Data.cjs.map +1 -1
- package/_cjs/data/Datum/api.cjs +110 -113
- package/_cjs/data/Datum/api.cjs.map +1 -1
- package/_cjs/data/Datum/definition.cjs +1 -2
- package/_cjs/data/Datum/definition.cjs.map +1 -1
- package/_cjs/data/Datum/instances.cjs +1 -2
- package/_cjs/data/Datum/instances.cjs.map +1 -1
- package/_cjs/data/Datum.cjs +39 -0
- package/_cjs/data/Datum.cjs.map +1 -0
- package/_cjs/data/DatumEither/api.cjs +56 -57
- package/_cjs/data/DatumEither/api.cjs.map +1 -1
- package/_cjs/data/Duration/api.cjs +1 -2
- package/_cjs/data/Duration/api.cjs.map +1 -1
- package/_cjs/data/Duration/definition.cjs +1 -2
- package/_cjs/data/Duration/definition.cjs.map +1 -1
- package/_cjs/data/Either/api/align.cjs +1 -2
- package/_cjs/data/Either/api/align.cjs.map +1 -1
- package/_cjs/data/Either/api/alignWith.cjs +1 -2
- package/_cjs/data/Either/api/alignWith.cjs.map +1 -1
- package/_cjs/data/Either/api.cjs +53 -55
- package/_cjs/data/Either/api.cjs.map +1 -1
- package/_cjs/data/Either/constructors.cjs +21 -22
- package/_cjs/data/Either/constructors.cjs.map +1 -1
- package/_cjs/data/Either/definition.cjs +1 -2
- package/_cjs/data/Either/definition.cjs.map +1 -1
- package/_cjs/data/Either/instances.cjs +1 -2
- package/_cjs/data/Either/instances.cjs.map +1 -1
- package/_cjs/data/EitherT/api.cjs +28 -29
- package/_cjs/data/EitherT/api.cjs.map +1 -1
- package/_cjs/data/Environment/api.cjs +1 -2
- package/_cjs/data/Environment/api.cjs.map +1 -1
- package/_cjs/data/Environment/definition.cjs +1 -2
- package/_cjs/data/Environment/definition.cjs.map +1 -1
- package/_cjs/data/EnvironmentPatch.cjs +2 -3
- package/_cjs/data/EnvironmentPatch.cjs.map +1 -1
- package/_cjs/data/Eq/api.cjs +189 -5
- package/_cjs/data/Eq/api.cjs.map +1 -1
- package/_cjs/data/Eq/derivations.cjs +10 -21
- package/_cjs/data/Eq/derivations.cjs.map +1 -1
- package/_cjs/data/Equatable/api.cjs +1 -2
- package/_cjs/data/Equatable/api.cjs.map +1 -1
- package/_cjs/data/Equatable/definition.cjs +1 -2
- package/_cjs/data/Equatable/definition.cjs.map +1 -1
- package/_cjs/data/Exit/api.cjs +90 -80
- package/_cjs/data/Exit/api.cjs.map +1 -1
- package/_cjs/data/Exit/constructors.cjs +1 -2
- package/_cjs/data/Exit/constructors.cjs.map +1 -1
- package/_cjs/data/Exit/definition.cjs +1 -2
- package/_cjs/data/Exit/definition.cjs.map +1 -1
- package/_cjs/data/FiberId/api.cjs +1 -2
- package/_cjs/data/FiberId/api.cjs.map +1 -1
- package/_cjs/data/FiberId/definition.cjs +1 -2
- package/_cjs/data/FiberId/definition.cjs.map +1 -1
- package/_cjs/data/Guard/api.cjs +13 -17
- package/_cjs/data/Guard/api.cjs.map +1 -1
- package/_cjs/data/HashEq.cjs +1 -2
- package/_cjs/data/HashEq.cjs.map +1 -1
- package/_cjs/data/Hashable/definition.cjs +1 -2
- package/_cjs/data/Hashable/definition.cjs.map +1 -1
- package/_cjs/data/Hashable/hash.cjs +1 -2
- package/_cjs/data/Hashable/hash.cjs.map +1 -1
- package/_cjs/data/Identity/api.cjs +1 -2
- package/_cjs/data/Identity/api.cjs.map +1 -1
- package/_cjs/data/Identity/definition.cjs +1 -2
- package/_cjs/data/Identity/definition.cjs.map +1 -1
- package/_cjs/data/Identity/instances.cjs +1 -2
- package/_cjs/data/Identity/instances.cjs.map +1 -1
- package/_cjs/data/Interval.cjs +1 -2
- package/_cjs/data/Interval.cjs.map +1 -1
- package/_cjs/data/Intervals.cjs +1 -2
- package/_cjs/data/Intervals.cjs.map +1 -1
- package/_cjs/data/Maybe/api.cjs +73 -60
- package/_cjs/data/Maybe/api.cjs.map +1 -1
- package/_cjs/data/Maybe/constructors.cjs +37 -38
- package/_cjs/data/Maybe/constructors.cjs.map +1 -1
- package/_cjs/data/Maybe/definition.cjs +1 -2
- package/_cjs/data/Maybe/definition.cjs.map +1 -1
- package/_cjs/data/Maybe/instances.cjs +1 -2
- package/_cjs/data/Maybe/instances.cjs.map +1 -1
- package/_cjs/data/Newtype.cjs +1 -2
- package/_cjs/data/Newtype.cjs.map +1 -1
- package/_cjs/data/Ord/api.cjs +1 -2
- package/_cjs/data/Ord/api.cjs.map +1 -1
- package/_cjs/data/Ord/definition.cjs +1 -2
- package/_cjs/data/Ord/definition.cjs.map +1 -1
- package/_cjs/data/Ord/instances.cjs +1 -2
- package/_cjs/data/Ord/instances.cjs.map +1 -1
- package/_cjs/data/Showable/definition.cjs +1 -2
- package/_cjs/data/Showable/definition.cjs.map +1 -1
- package/_cjs/data/Showable/show.cjs +1 -2
- package/_cjs/data/Showable/show.cjs.map +1 -1
- package/_cjs/data/Showable/styles.cjs +1 -2
- package/_cjs/data/Showable/styles.cjs.map +1 -1
- package/_cjs/data/Showable/util.cjs +1 -2
- package/_cjs/data/Showable/util.cjs.map +1 -1
- package/_cjs/data/Struct/api.cjs +5 -7
- package/_cjs/data/Struct/api.cjs.map +1 -1
- package/_cjs/data/Struct/definition.cjs +1 -2
- package/_cjs/data/Struct/definition.cjs.map +1 -1
- package/_cjs/data/Tag/constructors.cjs +1 -2
- package/_cjs/data/Tag/constructors.cjs.map +1 -1
- package/_cjs/data/Tag/definition.cjs +1 -2
- package/_cjs/data/Tag/definition.cjs.map +1 -1
- package/_cjs/data/These/api.cjs +86 -87
- package/_cjs/data/These/api.cjs.map +1 -1
- package/_cjs/data/These/constructors.cjs +1 -2
- package/_cjs/data/These/constructors.cjs.map +1 -1
- package/_cjs/data/These/definition.cjs +1 -2
- package/_cjs/data/These/definition.cjs.map +1 -1
- package/_cjs/data/These/destructors.cjs +1 -2
- package/_cjs/data/These/destructors.cjs.map +1 -1
- package/_cjs/data/These/instances.cjs +1 -2
- package/_cjs/data/These/instances.cjs.map +1 -1
- package/_cjs/data/Trace/api.cjs +1 -2
- package/_cjs/data/Trace/api.cjs.map +1 -1
- package/_cjs/data/Trace/constructors.cjs +1 -2
- package/_cjs/data/Trace/constructors.cjs.map +1 -1
- package/_cjs/data/Zipped.cjs +1 -2
- package/_cjs/data/Zipped.cjs.map +1 -1
- package/_cjs/data/bigint/instances.cjs +1 -2
- package/_cjs/data/bigint/instances.cjs.map +1 -1
- package/_cjs/data/boolean/instances.cjs +1 -2
- package/_cjs/data/boolean/instances.cjs.map +1 -1
- package/_cjs/data/exceptions/IOError.cjs +1 -2
- package/_cjs/data/exceptions/IOError.cjs.map +1 -1
- package/_cjs/data/exceptions/InterruptedException.cjs +1 -2
- package/_cjs/data/exceptions/InterruptedException.cjs.map +1 -1
- package/_cjs/data/number/instances.cjs +1 -2
- package/_cjs/data/number/instances.cjs.map +1 -1
- package/_cjs/data/object/instances.cjs +1 -2
- package/_cjs/data/object/instances.cjs.map +1 -1
- package/_cjs/data/string/api.cjs +1 -2
- package/_cjs/data/string/api.cjs.map +1 -1
- package/_cjs/data/string/instances.cjs +1 -2
- package/_cjs/data/string/instances.cjs.map +1 -1
- package/_cjs/internal/Stack.cjs +7 -2
- package/_cjs/internal/Stack.cjs.map +1 -1
- package/_cjs/optics/At/api.cjs +1 -2
- package/_cjs/optics/At/api.cjs.map +1 -1
- package/_cjs/optics/At/definition.cjs +1 -2
- package/_cjs/optics/At/definition.cjs.map +1 -1
- package/_cjs/optics/Index/api.cjs +3 -4
- package/_cjs/optics/Index/api.cjs.map +1 -1
- package/_cjs/optics/Iso/api.cjs +1 -2
- package/_cjs/optics/Iso/api.cjs.map +1 -1
- package/_cjs/optics/Iso/definition.cjs +1 -2
- package/_cjs/optics/Iso/definition.cjs.map +1 -1
- package/_cjs/optics/Lens/api.cjs +2 -3
- package/_cjs/optics/Lens/api.cjs.map +1 -1
- package/_cjs/optics/Lens/definition.cjs +1 -2
- package/_cjs/optics/Lens/definition.cjs.map +1 -1
- package/_cjs/optics/Optional/api/compose.cjs +1 -2
- package/_cjs/optics/Optional/api/compose.cjs.map +1 -1
- package/_cjs/optics/Optional/api/focus.cjs +1 -2
- package/_cjs/optics/Optional/api/focus.cjs.map +1 -1
- package/_cjs/optics/Optional/api.cjs +1 -2
- package/_cjs/optics/Optional/api.cjs.map +1 -1
- package/_cjs/optics/Optional/definition.cjs +1 -2
- package/_cjs/optics/Optional/definition.cjs.map +1 -1
- package/_cjs/optics/Prism/api/compose.cjs +1 -2
- package/_cjs/optics/Prism/api/compose.cjs.map +1 -1
- package/_cjs/optics/Prism/api/focus.cjs +1 -2
- package/_cjs/optics/Prism/api/focus.cjs.map +1 -1
- package/_cjs/optics/Prism/api/fromNullable.cjs +1 -2
- package/_cjs/optics/Prism/api/fromNullable.cjs.map +1 -1
- package/_cjs/optics/Prism/api/just.cjs +1 -2
- package/_cjs/optics/Prism/api/just.cjs.map +1 -1
- package/_cjs/optics/Prism/definition.cjs +1 -2
- package/_cjs/optics/Prism/definition.cjs.map +1 -1
- package/_cjs/optics/Traversal/api/compose.cjs +1 -2
- package/_cjs/optics/Traversal/api/compose.cjs.map +1 -1
- package/_cjs/optics/Traversal/api/focus.cjs +1 -2
- package/_cjs/optics/Traversal/api/focus.cjs.map +1 -1
- package/_cjs/optics/Traversal/api/fromTraversable.cjs +1 -2
- package/_cjs/optics/Traversal/api/fromTraversable.cjs.map +1 -1
- package/_cjs/optics/Traversal/definition.cjs +1 -2
- package/_cjs/optics/Traversal/definition.cjs.map +1 -1
- package/_cjs/typeclass/ApplicativeExcept.cjs +1 -2
- package/_cjs/typeclass/ApplicativeExcept.cjs.map +1 -1
- package/_cjs/typeclass/Apply.cjs +1 -2
- package/_cjs/typeclass/Apply.cjs.map +1 -1
- package/_cjs/typeclass/Chain.cjs +1 -2
- package/_cjs/typeclass/Chain.cjs.map +1 -1
- package/_cjs/typeclass/MonadExcept.cjs +1 -2
- package/_cjs/typeclass/MonadExcept.cjs.map +1 -1
- package/_cjs/typeclass/Monoid.cjs +1 -2
- package/_cjs/typeclass/Monoid.cjs.map +1 -1
- package/_cjs/typeclass/Semialign.cjs +1 -2
- package/_cjs/typeclass/Semialign.cjs.map +1 -1
- package/_cjs/typeclass/Semigroup/api.cjs +1 -2
- package/_cjs/typeclass/Semigroup/api.cjs.map +1 -1
- package/_cjs/typeclass/Semigroup/derivations.cjs +1 -2
- package/_cjs/typeclass/Semigroup/derivations.cjs.map +1 -1
- package/_cjs/typeclass/Witherable.cjs +1 -2
- package/_cjs/typeclass/Witherable.cjs.map +1 -1
- package/_cjs/typeclass/WitherableWithIndex.cjs +1 -2
- package/_cjs/typeclass/WitherableWithIndex.cjs.map +1 -1
- package/_cjs/util/AnsiFormat.cjs +1 -2
- package/_cjs/util/AnsiFormat.cjs.map +1 -1
- package/_cjs/util/assert.cjs +1 -1
- package/_cjs/util/assert.cjs.map +1 -1
- package/_cjs/util/pattern.cjs.map +1 -1
- package/_cjs/util/rand/generator/RandomGenerator.cjs.map +1 -1
- package/_mjs/collection/AsyncIterable/api.mjs +366 -0
- package/_mjs/collection/AsyncIterable/api.mjs.map +1 -0
- package/_mjs/collection/AsyncIterable/definition.mjs +2 -0
- package/_mjs/collection/AsyncIterable/definition.mjs.map +1 -0
- package/_mjs/collection/AsyncIterable.mjs +4 -0
- package/_mjs/collection/AsyncIterable.mjs.map +1 -0
- package/_mjs/collection/Iterable/api.mjs +175 -134
- package/_mjs/collection/Iterable/api.mjs.map +1 -1
- package/_mjs/collection/Iterable/constructors.mjs.map +1 -1
- package/_mjs/collection/immutable/Conc/constructors.mjs +2 -2
- package/_mjs/collection/immutable/Conc/constructors.mjs.map +1 -1
- package/_mjs/collection/immutable/Conc/definition.mjs +1 -1
- package/_mjs/collection/immutable/Conc/definition.mjs.map +1 -1
- package/_mjs/collection/immutable/List/api.mjs +2 -2
- package/_mjs/collection/immutable/List/api.mjs.map +1 -1
- package/_mjs/collection/immutable/{ImmutableArray → ReadonlyArray}/api/chunksOf.mjs +3 -3
- package/_mjs/collection/immutable/ReadonlyArray/api/chunksOf.mjs.map +1 -0
- package/_mjs/collection/immutable/ReadonlyArray/api/splitAt.mjs +9 -0
- package/_mjs/collection/immutable/ReadonlyArray/api/splitAt.mjs.map +1 -0
- package/_mjs/collection/immutable/ReadonlyArray/api/splitWhere.mjs +19 -0
- package/_mjs/collection/immutable/ReadonlyArray/api/splitWhere.mjs.map +1 -0
- package/_mjs/collection/immutable/ReadonlyArray/api.mjs +1302 -0
- package/_mjs/collection/immutable/ReadonlyArray/api.mjs.map +1 -0
- package/_mjs/collection/immutable/ReadonlyArray/constructors.mjs +44 -0
- package/_mjs/collection/immutable/ReadonlyArray/constructors.mjs.map +1 -0
- package/_mjs/collection/immutable/ReadonlyArray/definition.mjs.map +1 -0
- package/_mjs/collection/immutable/{ImmutableArray → ReadonlyArray}/instances.mjs +4 -5
- package/_mjs/collection/immutable/ReadonlyArray/instances.mjs.map +1 -0
- package/_mjs/collection/immutable/ReadonlyArray.mjs +11 -0
- package/_mjs/collection/immutable/ReadonlyArray.mjs.map +1 -0
- package/_mjs/collection/immutable/ReadonlyNonEmptyArray/api.mjs +433 -0
- package/_mjs/collection/immutable/ReadonlyNonEmptyArray/api.mjs.map +1 -0
- package/_mjs/collection/immutable/{ImmutableNonEmptyArray → ReadonlyNonEmptyArray}/constructors.mjs +16 -15
- package/_mjs/collection/immutable/ReadonlyNonEmptyArray/constructors.mjs.map +1 -0
- package/_mjs/collection/immutable/ReadonlyNonEmptyArray/definition.mjs +2 -0
- package/_mjs/collection/immutable/ReadonlyNonEmptyArray/definition.mjs.map +1 -0
- package/_mjs/collection/immutable/ReadonlyNonEmptyArray/destructors.mjs +41 -0
- package/_mjs/collection/immutable/ReadonlyNonEmptyArray/destructors.mjs.map +1 -0
- package/_mjs/collection/immutable/{ImmutableNonEmptyArray → ReadonlyNonEmptyArray}/instances.mjs +2 -2
- package/_mjs/collection/immutable/ReadonlyNonEmptyArray/instances.mjs.map +1 -0
- package/_mjs/collection/immutable/ReadonlyNonEmptyArray.mjs +7 -0
- package/_mjs/collection/immutable/ReadonlyNonEmptyArray.mjs.map +1 -0
- package/_mjs/collection/immutable/Vector/api.mjs +224 -224
- package/_mjs/collection/immutable/Vector/api.mjs.map +1 -1
- package/_mjs/control/Eval/api.mjs +83 -15
- package/_mjs/control/Eval/api.mjs.map +1 -1
- package/_mjs/control/Eval/constructors.mjs +4 -0
- package/_mjs/control/Eval/constructors.mjs.map +1 -1
- package/_mjs/control/Pure/runtime.mjs +14 -8
- package/_mjs/control/Pure/runtime.mjs.map +1 -1
- package/_mjs/data/CaseClass.mjs +10 -12
- package/_mjs/data/CaseClass.mjs.map +1 -1
- package/_mjs/data/Cause/api/fold.mjs +32 -32
- package/_mjs/data/Cause/api/fold.mjs.map +1 -1
- package/_mjs/data/Const/api.mjs +7 -7
- package/_mjs/data/Const/api.mjs.map +1 -1
- package/_mjs/data/Const/instances.mjs +11 -11
- package/_mjs/data/Const/instances.mjs.map +1 -1
- package/_mjs/data/Datum/api.mjs +107 -108
- package/_mjs/data/Datum/api.mjs.map +1 -1
- package/_mjs/data/Datum.mjs +5 -0
- package/_mjs/data/Datum.mjs.map +1 -0
- package/_mjs/data/DatumEither/api.mjs +53 -53
- package/_mjs/data/DatumEither/api.mjs.map +1 -1
- package/_mjs/data/Either/api.mjs +42 -42
- package/_mjs/data/Either/api.mjs.map +1 -1
- package/_mjs/data/Either/constructors.mjs +20 -20
- package/_mjs/data/Either/constructors.mjs.map +1 -1
- package/_mjs/data/EitherT/api.mjs +27 -27
- package/_mjs/data/EitherT/api.mjs.map +1 -1
- package/_mjs/data/Environment/api.mjs.map +1 -1
- package/_mjs/data/EnvironmentPatch.mjs +1 -1
- package/_mjs/data/Eq/api.mjs +175 -3
- package/_mjs/data/Eq/api.mjs.map +1 -1
- package/_mjs/data/Eq/derivations.mjs +8 -19
- package/_mjs/data/Eq/derivations.mjs.map +1 -1
- package/_mjs/data/Exit/api.mjs +88 -78
- package/_mjs/data/Exit/api.mjs.map +1 -1
- package/_mjs/data/Guard/api.mjs +12 -15
- package/_mjs/data/Guard/api.mjs.map +1 -1
- package/_mjs/data/Maybe/api.mjs +71 -58
- package/_mjs/data/Maybe/api.mjs.map +1 -1
- package/_mjs/data/Maybe/constructors.mjs +36 -36
- package/_mjs/data/Maybe/constructors.mjs.map +1 -1
- package/_mjs/data/Struct/api.mjs +4 -5
- package/_mjs/data/Struct/api.mjs.map +1 -1
- package/_mjs/data/These/api.mjs +85 -85
- package/_mjs/data/These/api.mjs.map +1 -1
- package/_mjs/internal/Stack.mjs +7 -2
- package/_mjs/internal/Stack.mjs.map +1 -1
- package/_mjs/optics/Index/api.mjs +2 -2
- package/_mjs/optics/Index/api.mjs.map +1 -1
- package/_mjs/optics/Lens/api.mjs +1 -1
- package/_mjs/util/assert.mjs +1 -1
- package/_mjs/util/assert.mjs.map +1 -1
- package/_mjs/util/pattern.mjs.map +1 -1
- package/_mjs/util/rand/generator/RandomGenerator.mjs.map +1 -1
- package/_src/collection/AsyncIterable/api.ts +369 -0
- package/_src/collection/AsyncIterable/definition.ts +7 -0
- package/_src/collection/AsyncIterable.ts +4 -0
- package/_src/collection/Iterable/api.ts +215 -162
- package/_src/collection/Iterable/constructors.ts +0 -2
- package/_src/collection/compat/ArrayLike/definition.ts +2 -2
- package/_src/collection/compat.ts +0 -1
- package/_src/collection/immutable/Conc/constructors.ts +1 -2
- package/_src/collection/immutable/Conc/definition.ts +7 -6
- package/_src/collection/immutable/List/api.ts +2 -2
- package/_src/collection/immutable/ReadonlyArray/api/chunksOf.ts +8 -0
- package/_src/collection/immutable/ReadonlyArray/api/splitAt.ts +8 -0
- package/_src/collection/immutable/{ImmutableArray → ReadonlyArray}/api/splitWhere.ts +3 -3
- package/_src/collection/immutable/ReadonlyArray/api.ts +1536 -0
- package/_src/collection/immutable/ReadonlyArray/constructors.ts +47 -0
- package/_src/collection/{compat/Array → immutable/ReadonlyArray}/definition.ts +8 -0
- package/_src/collection/immutable/{ImmutableArray → ReadonlyArray}/instances.ts +22 -22
- package/_src/collection/immutable/ReadonlyArray.ts +12 -0
- package/_src/collection/immutable/ReadonlyNonEmptyArray/api.ts +481 -0
- package/_src/collection/immutable/ReadonlyNonEmptyArray/constructors.ts +76 -0
- package/_src/collection/immutable/ReadonlyNonEmptyArray/definition.ts +22 -0
- package/_src/collection/immutable/ReadonlyNonEmptyArray/destructors.ts +41 -0
- package/_src/collection/immutable/{ImmutableNonEmptyArray → ReadonlyNonEmptyArray}/instances.ts +13 -13
- package/_src/collection/immutable/ReadonlyNonEmptyArray.ts +7 -0
- package/_src/collection/immutable/Vector/api.ts +310 -309
- package/_src/collection/immutable.ts +11 -11
- package/_src/collection.ts +6 -5
- package/_src/control/Eval/api.ts +109 -16
- package/_src/control/Eval/constructors.ts +5 -0
- package/_src/control/Pure/runtime.ts +8 -2
- package/_src/data/CaseClass.ts +5 -5
- package/_src/data/Cause/api/fold.ts +2 -2
- package/_src/data/Const/api.ts +8 -8
- package/_src/data/Const/instances.ts +10 -10
- package/_src/data/Datum/api.ts +113 -113
- package/_src/data/Datum.ts +5 -0
- package/_src/data/DatumEither/api.ts +41 -43
- package/_src/data/Either/api.ts +47 -47
- package/_src/data/Either/constructors.ts +14 -16
- package/_src/data/EitherT/api.ts +111 -110
- package/_src/data/Environment/api.ts +6 -3
- package/_src/data/Eq/api.ts +193 -4
- package/_src/data/Eq/derivations.ts +12 -19
- package/_src/data/Exit/api.ts +89 -77
- package/_src/data/Guard/api.ts +11 -11
- package/_src/data/Maybe/api.ts +82 -73
- package/_src/data/Maybe/constructors.ts +34 -36
- package/_src/data/Struct/api.ts +1 -1
- package/_src/data/These/api.ts +93 -92
- package/_src/data.ts +1 -0
- package/_src/global.ts +7 -12
- package/_src/internal/Stack.ts +6 -2
- package/_src/optics/Index/api.ts +1 -1
- package/_src/util/assert.ts +2 -2
- package/_src/util/pattern.ts +8 -90
- package/_src/util/rand/generator/RandomGenerator.ts +1 -0
- package/collection/AsyncIterable/api.d.ts +71 -0
- package/collection/AsyncIterable/definition.d.ts +9 -0
- package/collection/AsyncIterable.d.ts +2 -0
- package/collection/Iterable/api.d.ts +40 -25
- package/collection/compat/ArrayLike/definition.d.ts +2 -2
- package/collection/compat.d.ts +0 -1
- package/collection/immutable/Conc/definition.d.ts +1 -1
- package/collection/immutable/ReadonlyArray/api/chunksOf.d.ts +5 -0
- package/collection/immutable/ReadonlyArray/api/splitAt.d.ts +5 -0
- package/collection/immutable/ReadonlyArray/api/splitWhere.d.ts +6 -0
- package/collection/immutable/ReadonlyArray/api.d.ts +614 -0
- package/collection/immutable/ReadonlyArray/constructors.d.ts +30 -0
- package/collection/{compat/Array → immutable/ReadonlyArray}/definition.d.ts +8 -0
- package/collection/immutable/ReadonlyArray/instances.d.ts +87 -0
- package/collection/immutable/ReadonlyArray.d.ts +7 -0
- package/collection/immutable/ReadonlyNonEmptyArray/api.d.ts +186 -0
- package/collection/immutable/ReadonlyNonEmptyArray/constructors.d.ts +45 -0
- package/collection/immutable/ReadonlyNonEmptyArray/definition.d.ts +21 -0
- package/collection/immutable/ReadonlyNonEmptyArray/destructors.d.ts +31 -0
- package/collection/immutable/ReadonlyNonEmptyArray/instances.d.ts +52 -0
- package/collection/immutable/ReadonlyNonEmptyArray.d.ts +5 -0
- package/collection/immutable/Vector/api.d.ts +93 -93
- package/collection/immutable.d.ts +2 -2
- package/collection.d.ts +1 -0
- package/control/Eval/api.d.ts +27 -5
- package/control/Eval/constructors.d.ts +5 -0
- package/data/CaseClass.d.ts +2 -3
- package/data/Const/api.d.ts +5 -5
- package/data/Const/instances.d.ts +4 -4
- package/data/Datum/api.d.ts +64 -64
- package/data/Datum.d.ts +3 -0
- package/data/DatumEither/api.d.ts +25 -25
- package/data/Either/api.d.ts +24 -24
- package/data/Either/constructors.d.ts +12 -12
- package/data/EitherT/api.d.ts +16 -16
- package/data/Environment/api.d.ts +4 -2
- package/data/Eq/api.d.ts +89 -2
- package/data/Eq/derivations.d.ts +7 -0
- package/data/Exit/api.d.ts +43 -37
- package/data/Guard/api.d.ts +7 -8
- package/data/Maybe/api.d.ts +38 -33
- package/data/Maybe/constructors.d.ts +16 -16
- package/data/These/api.d.ts +26 -26
- package/data.d.ts +1 -0
- package/global.d.ts +4 -8
- package/internal/Stack.d.ts +2 -0
- package/optics/Lens/api.d.ts +1 -1
- package/package.json +3 -3
- package/util/assert.d.ts +1 -1
- package/_cjs/collection/compat/Array/api.cjs +0 -142
- package/_cjs/collection/compat/Array/api.cjs.map +0 -1
- package/_cjs/collection/compat/Array/definition.cjs.map +0 -1
- package/_cjs/collection/compat/Array.cjs.map +0 -1
- package/_cjs/collection/immutable/ImmutableArray/api/chunksOf.cjs +0 -19
- package/_cjs/collection/immutable/ImmutableArray/api/chunksOf.cjs.map +0 -1
- package/_cjs/collection/immutable/ImmutableArray/api/slice.cjs +0 -18
- package/_cjs/collection/immutable/ImmutableArray/api/slice.cjs.map +0 -1
- package/_cjs/collection/immutable/ImmutableArray/api/splitAt.cjs +0 -18
- package/_cjs/collection/immutable/ImmutableArray/api/splitAt.cjs.map +0 -1
- package/_cjs/collection/immutable/ImmutableArray/api/splitWhere.cjs +0 -28
- package/_cjs/collection/immutable/ImmutableArray/api/splitWhere.cjs.map +0 -1
- package/_cjs/collection/immutable/ImmutableArray/api.cjs.map +0 -1
- package/_cjs/collection/immutable/ImmutableArray/constructors.cjs +0 -59
- package/_cjs/collection/immutable/ImmutableArray/constructors.cjs.map +0 -1
- package/_cjs/collection/immutable/ImmutableArray/definition.cjs +0 -44
- package/_cjs/collection/immutable/ImmutableArray/definition.cjs.map +0 -1
- package/_cjs/collection/immutable/ImmutableArray/instances.cjs.map +0 -1
- package/_cjs/collection/immutable/ImmutableArray.cjs.map +0 -1
- package/_cjs/collection/immutable/ImmutableNonEmptyArray/api.cjs +0 -474
- package/_cjs/collection/immutable/ImmutableNonEmptyArray/api.cjs.map +0 -1
- package/_cjs/collection/immutable/ImmutableNonEmptyArray/constructors.cjs +0 -79
- package/_cjs/collection/immutable/ImmutableNonEmptyArray/constructors.cjs.map +0 -1
- package/_cjs/collection/immutable/ImmutableNonEmptyArray/definition.cjs +0 -36
- package/_cjs/collection/immutable/ImmutableNonEmptyArray/definition.cjs.map +0 -1
- package/_cjs/collection/immutable/ImmutableNonEmptyArray/destructors.cjs +0 -53
- package/_cjs/collection/immutable/ImmutableNonEmptyArray/destructors.cjs.map +0 -1
- package/_cjs/collection/immutable/ImmutableNonEmptyArray/instances.cjs.map +0 -1
- package/_cjs/collection/immutable/ImmutableNonEmptyArray.cjs.map +0 -1
- package/_cjs/control/Eval/api/sequenceArray.cjs +0 -17
- package/_cjs/control/Eval/api/sequenceArray.cjs.map +0 -1
- package/_mjs/collection/compat/Array/api.mjs +0 -125
- package/_mjs/collection/compat/Array/api.mjs.map +0 -1
- package/_mjs/collection/compat/Array/definition.mjs.map +0 -1
- package/_mjs/collection/compat/Array.mjs +0 -4
- package/_mjs/collection/compat/Array.mjs.map +0 -1
- package/_mjs/collection/immutable/ImmutableArray/api/chunksOf.mjs.map +0 -1
- package/_mjs/collection/immutable/ImmutableArray/api/slice.mjs +0 -10
- package/_mjs/collection/immutable/ImmutableArray/api/slice.mjs.map +0 -1
- package/_mjs/collection/immutable/ImmutableArray/api/splitAt.mjs +0 -10
- package/_mjs/collection/immutable/ImmutableArray/api/splitAt.mjs.map +0 -1
- package/_mjs/collection/immutable/ImmutableArray/api/splitWhere.mjs +0 -20
- package/_mjs/collection/immutable/ImmutableArray/api/splitWhere.mjs.map +0 -1
- package/_mjs/collection/immutable/ImmutableArray/api.mjs +0 -1284
- package/_mjs/collection/immutable/ImmutableArray/api.mjs.map +0 -1
- package/_mjs/collection/immutable/ImmutableArray/constructors.mjs +0 -46
- package/_mjs/collection/immutable/ImmutableArray/constructors.mjs.map +0 -1
- package/_mjs/collection/immutable/ImmutableArray/definition.mjs +0 -35
- package/_mjs/collection/immutable/ImmutableArray/definition.mjs.map +0 -1
- package/_mjs/collection/immutable/ImmutableArray/instances.mjs.map +0 -1
- package/_mjs/collection/immutable/ImmutableArray.mjs +0 -12
- package/_mjs/collection/immutable/ImmutableArray.mjs.map +0 -1
- package/_mjs/collection/immutable/ImmutableNonEmptyArray/api.mjs +0 -437
- package/_mjs/collection/immutable/ImmutableNonEmptyArray/api.mjs.map +0 -1
- package/_mjs/collection/immutable/ImmutableNonEmptyArray/constructors.mjs.map +0 -1
- package/_mjs/collection/immutable/ImmutableNonEmptyArray/definition.mjs +0 -25
- package/_mjs/collection/immutable/ImmutableNonEmptyArray/definition.mjs.map +0 -1
- package/_mjs/collection/immutable/ImmutableNonEmptyArray/destructors.mjs +0 -43
- package/_mjs/collection/immutable/ImmutableNonEmptyArray/destructors.mjs.map +0 -1
- package/_mjs/collection/immutable/ImmutableNonEmptyArray/instances.mjs.map +0 -1
- package/_mjs/collection/immutable/ImmutableNonEmptyArray.mjs +0 -7
- package/_mjs/collection/immutable/ImmutableNonEmptyArray.mjs.map +0 -1
- package/_mjs/control/Eval/api/sequenceArray.mjs +0 -9
- package/_mjs/control/Eval/api/sequenceArray.mjs.map +0 -1
- package/_src/collection/compat/Array/api.ts +0 -134
- package/_src/collection/compat/Array.ts +0 -4
- package/_src/collection/immutable/ImmutableArray/api/chunksOf.ts +0 -8
- package/_src/collection/immutable/ImmutableArray/api/slice.ts +0 -8
- package/_src/collection/immutable/ImmutableArray/api/splitAt.ts +0 -8
- package/_src/collection/immutable/ImmutableArray/api.ts +0 -1526
- package/_src/collection/immutable/ImmutableArray/constructors.ts +0 -47
- package/_src/collection/immutable/ImmutableArray/definition.ts +0 -48
- package/_src/collection/immutable/ImmutableArray.ts +0 -13
- package/_src/collection/immutable/ImmutableNonEmptyArray/api.ts +0 -483
- package/_src/collection/immutable/ImmutableNonEmptyArray/constructors.ts +0 -83
- package/_src/collection/immutable/ImmutableNonEmptyArray/definition.ts +0 -47
- package/_src/collection/immutable/ImmutableNonEmptyArray/destructors.ts +0 -41
- package/_src/collection/immutable/ImmutableNonEmptyArray.ts +0 -7
- package/_src/control/Eval/api/sequenceArray.ts +0 -6
- package/collection/compat/Array/api.d.ts +0 -62
- package/collection/compat/Array.d.ts +0 -2
- package/collection/immutable/ImmutableArray/api/chunksOf.d.ts +0 -6
- package/collection/immutable/ImmutableArray/api/slice.d.ts +0 -6
- package/collection/immutable/ImmutableArray/api/splitAt.d.ts +0 -6
- package/collection/immutable/ImmutableArray/api/splitWhere.d.ts +0 -7
- package/collection/immutable/ImmutableArray/api.d.ts +0 -602
- package/collection/immutable/ImmutableArray/constructors.d.ts +0 -32
- package/collection/immutable/ImmutableArray/definition.d.ts +0 -34
- package/collection/immutable/ImmutableArray/instances.d.ts +0 -87
- package/collection/immutable/ImmutableArray.d.ts +0 -8
- package/collection/immutable/ImmutableNonEmptyArray/api.d.ts +0 -186
- package/collection/immutable/ImmutableNonEmptyArray/constructors.d.ts +0 -46
- package/collection/immutable/ImmutableNonEmptyArray/definition.d.ts +0 -40
- package/collection/immutable/ImmutableNonEmptyArray/destructors.d.ts +0 -32
- package/collection/immutable/ImmutableNonEmptyArray/instances.d.ts +0 -52
- package/collection/immutable/ImmutableNonEmptyArray.d.ts +0 -5
- package/control/Eval/api/sequenceArray.d.ts +0 -6
- /package/_cjs/collection/{compat/Array → immutable/ReadonlyArray}/definition.cjs +0 -0
- /package/_mjs/collection/{compat/Array → immutable/ReadonlyArray}/definition.mjs +0 -0
package/_src/data/Maybe/api.ts
CHANGED
@@ -15,19 +15,6 @@ export function ap<A>(fa: Maybe<A>) {
|
|
15
15
|
};
|
16
16
|
}
|
17
17
|
|
18
|
-
/**
|
19
|
-
* Applies `f` to the value contained in `Maybe` if it is `Just` and returns the result,
|
20
|
-
* otherwise returns `Nothing`.
|
21
|
-
*
|
22
|
-
* @tsplus pipeable fncts.Maybe flatMap
|
23
|
-
*/
|
24
|
-
export function flatMap<A, B>(f: (a: A) => Maybe<B>) {
|
25
|
-
return (self: Maybe<A>): Maybe<B> => {
|
26
|
-
self.concrete();
|
27
|
-
return self._tag === MaybeTag.Just ? f(self.value) : (self as Nothing);
|
28
|
-
};
|
29
|
-
}
|
30
|
-
|
31
18
|
/**
|
32
19
|
* @tsplus pipeable fncts.Maybe elem
|
33
20
|
*/
|
@@ -38,28 +25,17 @@ export function elem<A>(elem: A, /** @tsplus auto */ E: Eq<A>) {
|
|
38
25
|
};
|
39
26
|
}
|
40
27
|
|
41
|
-
/**
|
42
|
-
* @tsplus pipeable fncts.Maybe some
|
43
|
-
*/
|
44
|
-
export function some<A>(p: Predicate<A>) {
|
45
|
-
return (self: Maybe<A>): boolean => {
|
46
|
-
self.concrete();
|
47
|
-
return self._tag === MaybeTag.Just ? p(self.value) : false;
|
48
|
-
};
|
49
|
-
}
|
50
|
-
|
51
28
|
/**
|
52
29
|
* @tsplus pipeable fncts.Maybe filter
|
53
30
|
*/
|
54
|
-
export function filter<A>(p: Predicate<A>):
|
31
|
+
export function filter<A>(p: Predicate<A>): (self: Maybe<A>) => Maybe<A>;
|
55
32
|
export function filter<A, B extends A>(p: Refinement<A, B>): (self: Maybe<A>) => Maybe<B>;
|
56
33
|
export function filter<A>(p: Predicate<A>) {
|
57
|
-
return
|
34
|
+
return (self: Maybe<A>): Maybe<A> => {
|
58
35
|
self.concrete();
|
59
36
|
return self._tag === MaybeTag.Just && p(self.value) ? self : Nothing();
|
60
37
|
};
|
61
38
|
}
|
62
|
-
|
63
39
|
/**
|
64
40
|
* @tsplus pipeable fncts.Maybe filter
|
65
41
|
*/
|
@@ -68,41 +44,24 @@ export function filterMap<A, B>(f: (a: A) => Maybe<B>) {
|
|
68
44
|
return self.flatMap(f);
|
69
45
|
};
|
70
46
|
}
|
71
|
-
|
72
47
|
/**
|
73
|
-
*
|
74
|
-
|
75
|
-
|
76
|
-
|
77
|
-
}
|
78
|
-
|
79
|
-
/**
|
80
|
-
* @tsplus pipeable fncts.Maybe partition
|
48
|
+
* Applies `f` to the value contained in `Maybe` if it is `Just` and returns the result,
|
49
|
+
* otherwise returns `Nothing`.
|
50
|
+
*
|
51
|
+
* @tsplus pipeable fncts.Maybe flatMap
|
81
52
|
*/
|
82
|
-
export function
|
83
|
-
|
84
|
-
export function partition<A>(p: Predicate<A>) {
|
85
|
-
return (self: Maybe<A>): readonly [Maybe<A>, Maybe<A>] => {
|
53
|
+
export function flatMap<A, B>(f: (a: A) => Maybe<B>) {
|
54
|
+
return (self: Maybe<A>): Maybe<B> => {
|
86
55
|
self.concrete();
|
87
|
-
return self._tag === MaybeTag.Just
|
56
|
+
return self._tag === MaybeTag.Just ? f(self.value) : (self as Nothing);
|
88
57
|
};
|
89
58
|
}
|
90
59
|
|
91
60
|
/**
|
92
|
-
* @tsplus
|
61
|
+
* @tsplus getter fncts.Maybe flatten
|
93
62
|
*/
|
94
|
-
export function
|
95
|
-
return (
|
96
|
-
self.concrete();
|
97
|
-
if (self._tag === MaybeTag.Just) {
|
98
|
-
return f(self.value).match(
|
99
|
-
(b) => [Just(b), Nothing()],
|
100
|
-
(c) => [Nothing(), Just(c)],
|
101
|
-
);
|
102
|
-
} else {
|
103
|
-
return [Nothing(), Nothing()];
|
104
|
-
}
|
105
|
-
};
|
63
|
+
export function flatten<A>(self: Maybe<Maybe<A>>): Maybe<A> {
|
64
|
+
return self.flatMap(identity);
|
106
65
|
}
|
107
66
|
|
108
67
|
/**
|
@@ -116,25 +75,23 @@ export function foldLeft<A, B>(b: B, f: (b: B, a: A) => B) {
|
|
116
75
|
}
|
117
76
|
|
118
77
|
/**
|
119
|
-
* @tsplus pipeable fncts.Maybe
|
78
|
+
* @tsplus pipeable fncts.Maybe foldMap
|
120
79
|
*/
|
121
|
-
export function
|
122
|
-
return (self: Maybe<A>):
|
80
|
+
export function foldMap<A, M>(f: (a: A) => M, /** @tsplus auto */ M: Monoid<M>) {
|
81
|
+
return (self: Maybe<A>): M => {
|
123
82
|
self.concrete();
|
124
|
-
return self._tag === MaybeTag.Just ? f(self.value
|
83
|
+
return self._tag === MaybeTag.Just ? f(self.value) : M.nat;
|
125
84
|
};
|
126
85
|
}
|
127
|
-
|
128
86
|
/**
|
129
|
-
* @tsplus pipeable fncts.Maybe
|
87
|
+
* @tsplus pipeable fncts.Maybe foldRight
|
130
88
|
*/
|
131
|
-
export function
|
132
|
-
return (self: Maybe<A>):
|
89
|
+
export function foldRight<A, B>(b: B, f: (a: A, b: B) => B) {
|
90
|
+
return (self: Maybe<A>): B => {
|
133
91
|
self.concrete();
|
134
|
-
return self._tag === MaybeTag.Just ? f(self.value) :
|
92
|
+
return self._tag === MaybeTag.Just ? f(self.value, b) : b;
|
135
93
|
};
|
136
94
|
}
|
137
|
-
|
138
95
|
/**
|
139
96
|
* Extracts the value from `Maybe` if it exists, or returns the result of `orElse`.
|
140
97
|
*
|
@@ -147,6 +104,19 @@ export function getOrElse<B>(orElse: Lazy<B>) {
|
|
147
104
|
};
|
148
105
|
}
|
149
106
|
|
107
|
+
/**
|
108
|
+
* @tsplus getter fncts.Maybe getOrThrow
|
109
|
+
*/
|
110
|
+
export function getOrThrow<A>(self: Maybe<A>): A {
|
111
|
+
self.concrete();
|
112
|
+
switch (self._tag) {
|
113
|
+
case MaybeTag.Nothing:
|
114
|
+
throw new NoSuchElementError("getOrThrow called on Nothing");
|
115
|
+
case MaybeTag.Just:
|
116
|
+
return self.value;
|
117
|
+
}
|
118
|
+
}
|
119
|
+
|
150
120
|
/**
|
151
121
|
* Applies `f` to the value contained in `Maybe` if it is `Just`, otherwise returns `Nothing`.
|
152
122
|
*
|
@@ -160,7 +130,7 @@ export function map<A, B>(f: (a: A) => B) {
|
|
160
130
|
}
|
161
131
|
|
162
132
|
/**
|
163
|
-
* `
|
133
|
+
* `flatMap(fromNullable)`
|
164
134
|
*
|
165
135
|
* @tsplus pipeable fncts.Maybe mapNullable
|
166
136
|
*/
|
@@ -179,6 +149,45 @@ export function orElse<B>(fb: Lazy<Maybe<B>>) {
|
|
179
149
|
return self._tag === MaybeTag.Nothing ? fb() : self;
|
180
150
|
};
|
181
151
|
}
|
152
|
+
/**
|
153
|
+
* @tsplus pipeable fncts.Maybe partition
|
154
|
+
*/
|
155
|
+
export function partition<A>(p: Predicate<A>): (self: Maybe<A>) => readonly [Maybe<A>, Maybe<A>];
|
156
|
+
export function partition<A, B extends A>(p: Refinement<A, B>): (self: Maybe<A>) => readonly [Maybe<A>, Maybe<B>];
|
157
|
+
|
158
|
+
export function partition<A>(p: Predicate<A>) {
|
159
|
+
return (self: Maybe<A>): readonly [Maybe<A>, Maybe<A>] => {
|
160
|
+
self.concrete();
|
161
|
+
return self._tag === MaybeTag.Just && p(self.value) ? [Nothing(), self] : [self, Nothing()];
|
162
|
+
};
|
163
|
+
}
|
164
|
+
|
165
|
+
/**
|
166
|
+
* @tsplus pipeable fncts.Maybe partitionMap
|
167
|
+
*/
|
168
|
+
export function partitionMap<A, B, C>(f: (a: A) => Either<B, C>) {
|
169
|
+
return (self: Maybe<A>): readonly [Maybe<B>, Maybe<C>] => {
|
170
|
+
self.concrete();
|
171
|
+
if (self._tag === MaybeTag.Just) {
|
172
|
+
return f(self.value).match(
|
173
|
+
(b) => [Just(b), Nothing()],
|
174
|
+
(c) => [Nothing(), Just(c)],
|
175
|
+
);
|
176
|
+
} else {
|
177
|
+
return [Nothing(), Nothing()];
|
178
|
+
}
|
179
|
+
};
|
180
|
+
}
|
181
|
+
|
182
|
+
/**
|
183
|
+
* @tsplus pipeable fncts.Maybe some
|
184
|
+
*/
|
185
|
+
export function some<A>(p: Predicate<A>) {
|
186
|
+
return (self: Maybe<A>): boolean => {
|
187
|
+
self.concrete();
|
188
|
+
return self._tag === MaybeTag.Just ? p(self.value) : false;
|
189
|
+
};
|
190
|
+
}
|
182
191
|
|
183
192
|
/**
|
184
193
|
* Extracts the value from `Maybe` if it is `Just`, otherwise returns `undefined`
|
@@ -189,6 +198,15 @@ export function toUndefined<A>(self: Maybe<A>): A | undefined {
|
|
189
198
|
return self.match(() => undefined, identity);
|
190
199
|
}
|
191
200
|
|
201
|
+
/**
|
202
|
+
* @tsplus pipeable fncts.Maybe zip
|
203
|
+
*/
|
204
|
+
export function zip<B>(that: Maybe<B>) {
|
205
|
+
return <A>(self: Maybe<A>): Maybe<Zipped.Make<A, B>> => {
|
206
|
+
return self.zipWith(that, (a, b) => Zipped(a, b));
|
207
|
+
};
|
208
|
+
}
|
209
|
+
|
192
210
|
/**
|
193
211
|
* @tsplus pipeable fncts.Maybe zipWith
|
194
212
|
*/
|
@@ -199,12 +217,3 @@ export function zipWith<A, B, C>(fb: Maybe<B>, f: (a: A, b: B) => C) {
|
|
199
217
|
return self._tag === MaybeTag.Just && fb._tag === MaybeTag.Just ? Just(f(self.value, fb.value)) : Nothing();
|
200
218
|
};
|
201
219
|
}
|
202
|
-
|
203
|
-
/**
|
204
|
-
* @tsplus pipeable fncts.Maybe zip
|
205
|
-
*/
|
206
|
-
export function zip<B>(that: Maybe<B>) {
|
207
|
-
return <A>(self: Maybe<A>): Maybe<Zipped.Make<A, B>> => {
|
208
|
-
return self.zipWith(that, (a, b) => Zipped(a, b));
|
209
|
-
};
|
210
|
-
}
|
@@ -1,21 +1,5 @@
|
|
1
1
|
import type { Nullable } from "@fncts/base/types";
|
2
2
|
|
3
|
-
/**
|
4
|
-
* @tsplus static fncts.MaybeOps just
|
5
|
-
* @tsplus static fncts.JustOps __call
|
6
|
-
*/
|
7
|
-
export function just<A>(a: A, __tsplusTrace?: string): Maybe<A> {
|
8
|
-
return new Just(a, __tsplusTrace);
|
9
|
-
}
|
10
|
-
|
11
|
-
/**
|
12
|
-
* @tsplus static fncts.MaybeOps nothing
|
13
|
-
* @tsplus static fncts.NothingOps __call
|
14
|
-
*/
|
15
|
-
export function nothing<A = never>(__tsplusTrace?: string): Maybe<A> {
|
16
|
-
return new Nothing(__tsplusTrace);
|
17
|
-
}
|
18
|
-
|
19
3
|
/**
|
20
4
|
* @tsplus static fncts.MaybeOps fromNullable
|
21
5
|
*/
|
@@ -38,31 +22,19 @@ export function fromPredicate<A, B extends A>(a: A, p: Refinement<A, B>): Maybe<
|
|
38
22
|
export function fromPredicate<A>(a: A, p: Predicate<A>): Maybe<A> {
|
39
23
|
return p(a) ? Just(a) : Nothing();
|
40
24
|
}
|
41
|
-
|
42
25
|
/**
|
43
|
-
* @tsplus static fncts.MaybeOps
|
26
|
+
* @tsplus static fncts.MaybeOps just
|
27
|
+
* @tsplus static fncts.JustOps __call
|
44
28
|
*/
|
45
|
-
export function
|
46
|
-
|
47
|
-
return Just(thunk());
|
48
|
-
} catch {
|
49
|
-
return Nothing();
|
50
|
-
}
|
29
|
+
export function just<A>(a: A, __tsplusTrace?: string): Maybe<A> {
|
30
|
+
return new Just(a, __tsplusTrace);
|
51
31
|
}
|
52
|
-
|
53
32
|
/**
|
54
|
-
* @tsplus static fncts.MaybeOps
|
33
|
+
* @tsplus static fncts.MaybeOps nothing
|
34
|
+
* @tsplus static fncts.NothingOps __call
|
55
35
|
*/
|
56
|
-
export function
|
57
|
-
return
|
58
|
-
}
|
59
|
-
|
60
|
-
class PartialException {
|
61
|
-
readonly _tag = "PartialException";
|
62
|
-
}
|
63
|
-
|
64
|
-
function raisePartial(): never {
|
65
|
-
throw new PartialException();
|
36
|
+
export function nothing<A = never>(__tsplusTrace?: string): Maybe<A> {
|
37
|
+
return new Nothing(__tsplusTrace);
|
66
38
|
}
|
67
39
|
|
68
40
|
/**
|
@@ -80,3 +52,29 @@ export function partial<P extends ReadonlyArray<unknown>, A>(f: (miss: () => nev
|
|
80
52
|
}
|
81
53
|
};
|
82
54
|
}
|
55
|
+
|
56
|
+
class PartialException {
|
57
|
+
readonly _tag = "PartialException";
|
58
|
+
}
|
59
|
+
|
60
|
+
function raisePartial(): never {
|
61
|
+
throw new PartialException();
|
62
|
+
}
|
63
|
+
|
64
|
+
/**
|
65
|
+
* @tsplus static fncts.MaybeOps tryCatch
|
66
|
+
*/
|
67
|
+
export function tryCatch<A>(thunk: () => A): Maybe<A> {
|
68
|
+
try {
|
69
|
+
return Just(thunk());
|
70
|
+
} catch {
|
71
|
+
return Nothing();
|
72
|
+
}
|
73
|
+
}
|
74
|
+
|
75
|
+
/**
|
76
|
+
* @tsplus static fncts.MaybeOps tryCatchK
|
77
|
+
*/
|
78
|
+
export function tryCatchK<P extends ReadonlyArray<unknown>, A>(f: (...params: P) => A) {
|
79
|
+
return (...params: P): Maybe<A> => tryCatch(() => f(...params));
|
80
|
+
}
|
package/_src/data/Struct/api.ts
CHANGED
@@ -101,7 +101,7 @@ export function omit<A extends {}, N extends ReadonlyArray<keyof A>>(keys: [...N
|
|
101
101
|
): Struct<{
|
102
102
|
readonly [P in Exclude<keyof A, N[number]>]: A[P];
|
103
103
|
}> => {
|
104
|
-
const newKeys = keys.
|
104
|
+
const newKeys = keys.asReadonlyArray.difference(self.keys, Eq({ equals: (y) => (x) => x === y }));
|
105
105
|
const out = {} as any;
|
106
106
|
for (const key of newKeys) {
|
107
107
|
out[key] = self.getStruct[key];
|
package/_src/data/These/api.ts
CHANGED
@@ -2,18 +2,87 @@ import type { Both, Left, Right } from "@fncts/base/data/These/definition";
|
|
2
2
|
import type * as P from "@fncts/base/typeclass";
|
3
3
|
|
4
4
|
import { TheseTag } from "@fncts/base/data/These/definition";
|
5
|
+
|
5
6
|
/**
|
6
|
-
* @tsplus
|
7
|
+
* @tsplus pipeable fncts.These ap
|
7
8
|
*/
|
8
|
-
export function
|
9
|
-
return self
|
9
|
+
export function ap<E, A>(that: These<E, A>, /** @tsplus auto */ S: P.Semigroup<E>) {
|
10
|
+
return <B>(self: These<E, (a: A) => B>): These<E, B> => {
|
11
|
+
return self.zipWith(that, (f, a) => f(a), S);
|
12
|
+
};
|
10
13
|
}
|
11
14
|
|
12
15
|
/**
|
13
|
-
* @tsplus
|
16
|
+
* @tsplus pipeable fncts.These bimap
|
14
17
|
*/
|
15
|
-
export function
|
16
|
-
return self
|
18
|
+
export function bimap<E, A, E1, B>(f: (e: E) => E1, g: (a: A) => B) {
|
19
|
+
return (self: These<E, A>): These<E1, B> => {
|
20
|
+
switch (self._tag) {
|
21
|
+
case TheseTag.Left:
|
22
|
+
return These.left(f(self.left));
|
23
|
+
case TheseTag.Right:
|
24
|
+
return These.right(g(self.right));
|
25
|
+
case TheseTag.Both:
|
26
|
+
return These.both(f(self.left), g(self.right));
|
27
|
+
}
|
28
|
+
};
|
29
|
+
}
|
30
|
+
|
31
|
+
/**
|
32
|
+
* @tsplus pipeable fncts.These catchAll
|
33
|
+
*/
|
34
|
+
export function catchAll<E, B>(f: (e: E) => These<E, B>) {
|
35
|
+
return <A>(self: These<E, A>): These<E, A | B> => {
|
36
|
+
if (self._tag === TheseTag.Left) {
|
37
|
+
return f(self.left);
|
38
|
+
}
|
39
|
+
return self;
|
40
|
+
};
|
41
|
+
}
|
42
|
+
|
43
|
+
/**
|
44
|
+
* @tsplus getter fncts.These condemn
|
45
|
+
*/
|
46
|
+
export function condemn<E, A>(self: These<E, A>): These<E, A> {
|
47
|
+
if (self._tag === TheseTag.Both) {
|
48
|
+
return These.left(self.left);
|
49
|
+
}
|
50
|
+
return self;
|
51
|
+
}
|
52
|
+
|
53
|
+
/**
|
54
|
+
* @tsplus pipeable fncts.These condemnWhen
|
55
|
+
*/
|
56
|
+
export function condemnWhen<E>(p: Predicate<E>) {
|
57
|
+
return <A>(self: These<E, A>): These<E, A> => {
|
58
|
+
if (self._tag === TheseTag.Both && p(self.left)) {
|
59
|
+
return These.left(self.left);
|
60
|
+
}
|
61
|
+
return self;
|
62
|
+
};
|
63
|
+
}
|
64
|
+
|
65
|
+
/**
|
66
|
+
* @tsplus pipeable fncts.These flatMap
|
67
|
+
*/
|
68
|
+
export function flatMap<E, A, B>(f: (a: A) => These<E, B>, /** @tsplus auto */ S: P.Semigroup<E>) {
|
69
|
+
return (self: These<E, A>): These<E, B> => {
|
70
|
+
if (self._tag === TheseTag.Left) {
|
71
|
+
return self;
|
72
|
+
}
|
73
|
+
if (self._tag === TheseTag.Right) {
|
74
|
+
return f(self.right);
|
75
|
+
}
|
76
|
+
const that = f(self.right);
|
77
|
+
switch (that._tag) {
|
78
|
+
case TheseTag.Left:
|
79
|
+
return These.left(S.combine(that.left)(self.left));
|
80
|
+
case TheseTag.Right:
|
81
|
+
return These.both(self.left, that.right);
|
82
|
+
case TheseTag.Both:
|
83
|
+
return These.both(S.combine(that.left)(self.left), that.right);
|
84
|
+
}
|
85
|
+
};
|
17
86
|
}
|
18
87
|
|
19
88
|
/**
|
@@ -23,6 +92,20 @@ export function isBoth<E, A>(self: These<E, A>): self is Both<E, A> {
|
|
23
92
|
return self._tag === TheseTag.Both;
|
24
93
|
}
|
25
94
|
|
95
|
+
/**
|
96
|
+
* @tsplus fluent fncts.These isLeft
|
97
|
+
*/
|
98
|
+
export function isLeft<E, A>(self: These<E, A>): self is Left<E> {
|
99
|
+
return self._tag === TheseTag.Left;
|
100
|
+
}
|
101
|
+
|
102
|
+
/**
|
103
|
+
* @tsplus fluent fncts.These isRight
|
104
|
+
*/
|
105
|
+
export function isRight<E, A>(self: These<E, A>): self is Right<A> {
|
106
|
+
return self._tag === TheseTag.Right;
|
107
|
+
}
|
108
|
+
|
26
109
|
/**
|
27
110
|
* @tsplus pipeable fncts.These map
|
28
111
|
*/
|
@@ -56,18 +139,11 @@ export function mapLeft<E, E1>(f: (e: E) => E1) {
|
|
56
139
|
}
|
57
140
|
|
58
141
|
/**
|
59
|
-
* @tsplus pipeable fncts.These
|
142
|
+
* @tsplus pipeable fncts.These zip
|
60
143
|
*/
|
61
|
-
export function
|
62
|
-
return (self: These<E, A>): These<
|
63
|
-
|
64
|
-
case TheseTag.Left:
|
65
|
-
return These.left(f(self.left));
|
66
|
-
case TheseTag.Right:
|
67
|
-
return These.right(g(self.right));
|
68
|
-
case TheseTag.Both:
|
69
|
-
return These.both(f(self.left), g(self.right));
|
70
|
-
}
|
144
|
+
export function zip<E, B>(that: These<E, B>, /** @tsplus auto */ S: P.Semigroup<E>) {
|
145
|
+
return <A>(self: These<E, A>): These<E, readonly [A, B]> => {
|
146
|
+
return self.zipWith(that, (a, b) => [a, b], S);
|
71
147
|
};
|
72
148
|
}
|
73
149
|
|
@@ -107,78 +183,3 @@ export function zipWith<E, A, B, C>(that: These<E, B>, f: (a: A, b: B) => C, /**
|
|
107
183
|
}
|
108
184
|
};
|
109
185
|
}
|
110
|
-
|
111
|
-
/**
|
112
|
-
* @tsplus pipeable fncts.These zip
|
113
|
-
*/
|
114
|
-
export function zip<E, B>(that: These<E, B>, /** @tsplus auto */ S: P.Semigroup<E>) {
|
115
|
-
return <A>(self: These<E, A>): These<E, readonly [A, B]> => {
|
116
|
-
return self.zipWith(that, (a, b) => [a, b], S);
|
117
|
-
};
|
118
|
-
}
|
119
|
-
|
120
|
-
/**
|
121
|
-
* @tsplus pipeable fncts.These ap
|
122
|
-
*/
|
123
|
-
export function ap<E, A>(that: These<E, A>, /** @tsplus auto */ S: P.Semigroup<E>) {
|
124
|
-
return <B>(self: These<E, (a: A) => B>): These<E, B> => {
|
125
|
-
return self.zipWith(that, (f, a) => f(a), S);
|
126
|
-
};
|
127
|
-
}
|
128
|
-
|
129
|
-
/**
|
130
|
-
* @tsplus pipeable fncts.These flatMap
|
131
|
-
*/
|
132
|
-
export function flatMap<E, A, B>(f: (a: A) => These<E, B>, /** @tsplus auto */ S: P.Semigroup<E>) {
|
133
|
-
return (self: These<E, A>): These<E, B> => {
|
134
|
-
if (self._tag === TheseTag.Left) {
|
135
|
-
return self;
|
136
|
-
}
|
137
|
-
if (self._tag === TheseTag.Right) {
|
138
|
-
return f(self.right);
|
139
|
-
}
|
140
|
-
const that = f(self.right);
|
141
|
-
switch (that._tag) {
|
142
|
-
case TheseTag.Left:
|
143
|
-
return These.left(S.combine(that.left)(self.left));
|
144
|
-
case TheseTag.Right:
|
145
|
-
return These.both(self.left, that.right);
|
146
|
-
case TheseTag.Both:
|
147
|
-
return These.both(S.combine(that.left)(self.left), that.right);
|
148
|
-
}
|
149
|
-
};
|
150
|
-
}
|
151
|
-
|
152
|
-
/**
|
153
|
-
* @tsplus pipeable fncts.These catchAll
|
154
|
-
*/
|
155
|
-
export function catchAll<E, B>(f: (e: E) => These<E, B>) {
|
156
|
-
return <A>(self: These<E, A>): These<E, A | B> => {
|
157
|
-
if (self._tag === TheseTag.Left) {
|
158
|
-
return f(self.left);
|
159
|
-
}
|
160
|
-
return self;
|
161
|
-
};
|
162
|
-
}
|
163
|
-
|
164
|
-
/**
|
165
|
-
* @tsplus getter fncts.These condemn
|
166
|
-
*/
|
167
|
-
export function condemn<E, A>(self: These<E, A>): These<E, A> {
|
168
|
-
if (self._tag === TheseTag.Both) {
|
169
|
-
return These.left(self.left);
|
170
|
-
}
|
171
|
-
return self;
|
172
|
-
}
|
173
|
-
|
174
|
-
/**
|
175
|
-
* @tsplus pipeable fncts.These condemnWhen
|
176
|
-
*/
|
177
|
-
export function condemnWhen<E>(p: Predicate<E>) {
|
178
|
-
return <A>(self: These<E, A>): These<E, A> => {
|
179
|
-
if (self._tag === TheseTag.Both && p(self.left)) {
|
180
|
-
return These.left(self.left);
|
181
|
-
}
|
182
|
-
return self;
|
183
|
-
};
|
184
|
-
}
|
package/_src/data.ts
CHANGED
@@ -38,6 +38,7 @@ export type {} from "./data/Environment.js";
|
|
38
38
|
export type {} from "./data/Either.js";
|
39
39
|
export type {} from "./data/Duration.js";
|
40
40
|
export type {} from "./data/DatumEither.js";
|
41
|
+
export type {} from "./data/Datum.js";
|
41
42
|
export type {} from "./data/Date.js";
|
42
43
|
export type {} from "./data/Data.js";
|
43
44
|
export type {} from "./data/Const.js";
|
package/_src/global.ts
CHANGED
@@ -3,10 +3,6 @@
|
|
3
3
|
*/
|
4
4
|
import type {} from "@fncts/base";
|
5
5
|
|
6
|
-
/**
|
7
|
-
* @tsplus global
|
8
|
-
*/
|
9
|
-
import {} from "@fncts/base/collection/compat/Array";
|
10
6
|
/**
|
11
7
|
* @tsplus global
|
12
8
|
*/
|
@@ -26,23 +22,22 @@ import { HashSet } from "@fncts/base/collection/immutable/HashSet/definition";
|
|
26
22
|
/**
|
27
23
|
* @tsplus global
|
28
24
|
*/
|
29
|
-
import {
|
25
|
+
import { Cons, List, Nil } from "@fncts/base/collection/immutable/List/definition";
|
30
26
|
/**
|
31
27
|
* @tsplus global
|
32
28
|
*/
|
33
|
-
import {
|
34
|
-
ImmutableNonEmptyArray,
|
35
|
-
NonEmptyArray,
|
36
|
-
ReadonlyNonEmptyArray,
|
37
|
-
} from "@fncts/base/collection/immutable/ImmutableNonEmptyArray/definition";
|
29
|
+
import { Queue as ImmutableQueue } from "@fncts/base/collection/immutable/Queue/definition";
|
38
30
|
/**
|
39
31
|
* @tsplus global
|
40
32
|
*/
|
41
|
-
import {
|
33
|
+
import {} from "@fncts/base/collection/immutable/ReadonlyArray/definition";
|
42
34
|
/**
|
43
35
|
* @tsplus global
|
44
36
|
*/
|
45
|
-
import {
|
37
|
+
import {
|
38
|
+
NonEmptyArray,
|
39
|
+
ReadonlyNonEmptyArray,
|
40
|
+
} from "@fncts/base/collection/immutable/ReadonlyNonEmptyArray/definition";
|
46
41
|
/**
|
47
42
|
* @tsplus global
|
48
43
|
*/
|
package/_src/internal/Stack.ts
CHANGED
@@ -13,6 +13,9 @@ export class Stack<A> {
|
|
13
13
|
get isEmpty(): boolean {
|
14
14
|
return !this.hasNext;
|
15
15
|
}
|
16
|
+
get size(): number {
|
17
|
+
return this.node?.size ?? 0;
|
18
|
+
}
|
16
19
|
peek(): A | undefined {
|
17
20
|
if (this.node) {
|
18
21
|
return this.node.value;
|
@@ -26,13 +29,14 @@ export class Stack<A> {
|
|
26
29
|
}
|
27
30
|
}
|
28
31
|
push(value: A): void {
|
29
|
-
this.node = { value, previous: this.node };
|
32
|
+
this.node = { value, previous: this.node, size: (this.node?.size ?? 0) + 1 };
|
30
33
|
}
|
31
34
|
}
|
32
35
|
|
33
36
|
interface Node<A> {
|
34
37
|
readonly value: A;
|
35
38
|
readonly previous?: Node<A>;
|
39
|
+
readonly size: number;
|
36
40
|
}
|
37
41
|
|
38
42
|
/**
|
@@ -46,5 +50,5 @@ export function makeStack<A>(): Stack<A> {
|
|
46
50
|
* @tsplus static fncts.StackOps single
|
47
51
|
*/
|
48
52
|
export function single<A>(value: A): Stack<A> {
|
49
|
-
return new Stack({ value });
|
53
|
+
return new Stack({ value, size: 1 });
|
50
54
|
}
|
package/_src/optics/Index/api.ts
CHANGED
@@ -27,7 +27,7 @@ export function array<A = never>(): Index<ReadonlyArray<A>, number, A> {
|
|
27
27
|
index: (i) =>
|
28
28
|
Optional({
|
29
29
|
getOrModify: (s) => (i in s ? Either.right(s[i]!) : Either.left(s)),
|
30
|
-
set: (a) => (s) => s.
|
30
|
+
set: (a) => (s) => s.unsafeUpdateAt(i, a),
|
31
31
|
}),
|
32
32
|
});
|
33
33
|
}
|
package/_src/util/assert.ts
CHANGED
@@ -3,8 +3,8 @@ export class AssertionError extends Error {
|
|
3
3
|
super(`Assertion Failed: ${message}`);
|
4
4
|
}
|
5
5
|
}
|
6
|
-
export function assert(assertion: boolean, message
|
6
|
+
export function assert(assertion: boolean, message?: string): asserts assertion {
|
7
7
|
if (!assertion) {
|
8
|
-
throw new AssertionError(message);
|
8
|
+
throw new AssertionError(message ?? "");
|
9
9
|
}
|
10
10
|
}
|