@fncts/base 0.0.12 → 0.0.15
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 +16 -21
- package/_cjs/collection/Iterable/api/traverseConc.cjs.map +1 -1
- package/_cjs/collection/compat/Array/api.cjs +10 -10
- package/_cjs/collection/compat/Array/derivations.cjs +96 -0
- package/_cjs/collection/compat/Array/derivations.cjs.map +1 -0
- package/_cjs/collection/compat/Array.cjs +13 -0
- package/_cjs/collection/compat/Array.cjs.map +1 -1
- package/_cjs/collection/compat/Record/instances.cjs +67 -16
- package/_cjs/collection/compat/Record/instances.cjs.map +1 -1
- package/_cjs/collection/compat.cjs +6 -0
- package/_cjs/collection/compat.cjs.map +1 -0
- package/_cjs/collection/immutable/Conc/api.cjs +9 -12
- package/_cjs/collection/immutable/Conc/api.cjs.map +1 -1
- package/_cjs/collection/immutable/Conc/definition.cjs +41 -43
- package/_cjs/collection/immutable/Conc/definition.cjs.map +1 -1
- package/_cjs/collection/immutable/Conc/derivations.cjs +45 -0
- package/_cjs/collection/immutable/Conc/derivations.cjs.map +1 -0
- package/_cjs/collection/immutable/Conc.cjs +13 -0
- package/_cjs/collection/immutable/Conc.cjs.map +1 -1
- package/_cjs/collection/immutable/Dictionary/definition.cjs +2 -4
- package/_cjs/collection/immutable/Dictionary/definition.cjs.map +1 -1
- package/_cjs/collection/immutable/HashMap/api.cjs +26 -29
- package/_cjs/collection/immutable/HashMap/api.cjs.map +1 -1
- package/_cjs/collection/immutable/HashMap/definition.cjs +15 -17
- package/_cjs/collection/immutable/HashMap/definition.cjs.map +1 -1
- package/_cjs/collection/immutable/ImmutableArray/api.cjs +142 -159
- package/_cjs/collection/immutable/ImmutableArray/api.cjs.map +1 -1
- package/_cjs/collection/immutable/ImmutableArray/constructors.cjs +2 -2
- package/_cjs/collection/immutable/ImmutableArray/definition.cjs +18 -15
- package/_cjs/collection/immutable/ImmutableArray/definition.cjs.map +1 -1
- package/_cjs/collection/immutable/ImmutableArray/derivations.cjs +41 -0
- package/_cjs/collection/immutable/ImmutableArray/derivations.cjs.map +1 -0
- package/_cjs/collection/immutable/ImmutableArray/instances.cjs +11 -9
- package/_cjs/collection/immutable/ImmutableArray/instances.cjs.map +1 -1
- package/_cjs/collection/immutable/ImmutableArray.cjs +13 -0
- package/_cjs/collection/immutable/ImmutableArray.cjs.map +1 -1
- package/_cjs/collection/immutable/ImmutableNonEmptyArray/api.cjs +21 -22
- package/_cjs/collection/immutable/ImmutableNonEmptyArray/api.cjs.map +1 -1
- package/_cjs/collection/immutable/ImmutableNonEmptyArray/constructors.cjs +2 -2
- package/_cjs/collection/immutable/ImmutableNonEmptyArray/definition.cjs +3 -9
- package/_cjs/collection/immutable/ImmutableNonEmptyArray/definition.cjs.map +1 -1
- package/_cjs/collection/immutable/ImmutableNonEmptyArray/derivations.cjs +62 -0
- package/_cjs/collection/immutable/ImmutableNonEmptyArray/derivations.cjs.map +1 -0
- package/_cjs/collection/immutable/ImmutableNonEmptyArray/instances.cjs +8 -2
- package/_cjs/collection/immutable/ImmutableNonEmptyArray/instances.cjs.map +1 -1
- package/_cjs/collection/immutable/ImmutableNonEmptyArray.cjs +13 -0
- package/_cjs/collection/immutable/ImmutableNonEmptyArray.cjs.map +1 -1
- package/_cjs/collection/immutable/List/definition.cjs +2 -2
- package/_cjs/collection/immutable/RoseTree/definition.cjs +13 -15
- package/_cjs/collection/immutable/RoseTree/definition.cjs.map +1 -1
- package/_cjs/collection/immutable/Vector/api.cjs +8 -12
- package/_cjs/collection/immutable/Vector/api.cjs.map +1 -1
- package/_cjs/collection/immutable/Vector/definition.cjs +11 -13
- package/_cjs/collection/immutable/Vector/definition.cjs.map +1 -1
- package/_cjs/collection/immutable/Vector/internal.cjs +1 -1
- package/_cjs/collection/immutable.cjs +6 -0
- package/_cjs/collection/immutable.cjs.map +1 -0
- package/_cjs/collection/mutable/HashMap.cjs +4 -0
- package/_cjs/collection/mutable/HashMap.cjs.map +1 -1
- package/_cjs/collection/mutable.cjs +6 -0
- package/_cjs/collection/mutable.cjs.map +1 -0
- package/_cjs/collection/weak/IterableWeakMap.cjs +51 -2
- package/_cjs/collection/weak/IterableWeakMap.cjs.map +1 -1
- package/_cjs/collection/weak/IterableWeakSet.cjs +59 -7
- package/_cjs/collection/weak/IterableWeakSet.cjs.map +1 -1
- package/_cjs/collection/weak.cjs +6 -0
- package/_cjs/collection/weak.cjs.map +1 -0
- package/_cjs/collection.cjs +6 -0
- package/_cjs/collection.cjs.map +1 -0
- package/_cjs/control/Eval/api.cjs +9 -3
- package/_cjs/control/Eval/api.cjs.map +1 -1
- package/_cjs/control/Eval/definition.cjs +1 -8
- package/_cjs/control/Eval/definition.cjs.map +1 -1
- package/_cjs/control/Eval/instance.cjs +6 -0
- package/_cjs/control/Eval/instance.cjs.map +1 -1
- package/_cjs/control/Z/api.cjs +16 -14
- package/_cjs/control/Z/api.cjs.map +1 -1
- package/_cjs/control/Z/definition.cjs +8 -14
- package/_cjs/control/Z/definition.cjs.map +1 -1
- package/_cjs/control/Z/instances.cjs +6 -0
- package/_cjs/control/Z/instances.cjs.map +1 -1
- package/_cjs/control/Z/runtime.cjs +17 -13
- package/_cjs/control/Z/runtime.cjs.map +1 -1
- package/_cjs/control.cjs +6 -0
- package/_cjs/control.cjs.map +1 -0
- package/_cjs/data/Cause/api/isEmpty.cjs +2 -0
- package/_cjs/data/Cause/api/isEmpty.cjs.map +1 -1
- package/_cjs/data/Cause/api/linearize.cjs +2 -0
- package/_cjs/data/Cause/api/linearize.cjs.map +1 -1
- package/_cjs/data/Cause/api.cjs +2 -0
- package/_cjs/data/Cause/api.cjs.map +1 -1
- package/_cjs/data/Const/definition.cjs +0 -7
- package/_cjs/data/Const/definition.cjs.map +1 -1
- package/_cjs/data/Const/instances.cjs +11 -8
- package/_cjs/data/Const/instances.cjs.map +1 -1
- package/_cjs/data/Datum/api.cjs +479 -0
- package/_cjs/data/Datum/api.cjs.map +1 -0
- package/_cjs/data/Datum/definition.cjs +142 -0
- package/_cjs/data/Datum/definition.cjs.map +1 -0
- package/_cjs/data/Datum/instances.cjs +69 -0
- package/_cjs/data/Datum/instances.cjs.map +1 -0
- package/_cjs/data/DatumEither/api.cjs +365 -0
- package/_cjs/data/DatumEither/api.cjs.map +1 -0
- package/_cjs/data/DatumEither/definition.cjs +9 -0
- package/_cjs/data/DatumEither/definition.cjs.map +1 -0
- package/_cjs/data/DecodeError/definition.cjs +16 -4
- package/_cjs/data/DecodeError/definition.cjs.map +1 -1
- package/_cjs/data/DecodeError/instances.cjs +6 -0
- package/_cjs/data/DecodeError/instances.cjs.map +1 -0
- package/_cjs/data/DecodeError.cjs +13 -0
- package/_cjs/data/DecodeError.cjs.map +1 -1
- package/_cjs/data/Decoder/definition.cjs +3 -10
- package/_cjs/data/Decoder/definition.cjs.map +1 -1
- package/_cjs/data/Either/api/alignWith.cjs +2 -0
- package/_cjs/data/Either/api/alignWith.cjs.map +1 -1
- package/_cjs/data/Either/api.cjs +21 -5
- package/_cjs/data/Either/api.cjs.map +1 -1
- package/_cjs/data/Either/definition.cjs +4 -11
- package/_cjs/data/Either/definition.cjs.map +1 -1
- package/_cjs/data/Either/instances.cjs +25 -23
- package/_cjs/data/Either/instances.cjs.map +1 -1
- package/_cjs/data/EitherT/api.cjs +106 -0
- package/_cjs/data/EitherT/api.cjs.map +1 -0
- package/_cjs/data/EitherT/definition.cjs +9 -0
- package/_cjs/data/EitherT/definition.cjs.map +1 -0
- package/_cjs/data/Environment/api.cjs +15 -14
- package/_cjs/data/Environment/api.cjs.map +1 -1
- package/_cjs/data/Environment/definition.cjs.map +1 -1
- package/_cjs/data/Identity/api.cjs +3 -1
- package/_cjs/data/Identity/api.cjs.map +1 -1
- package/_cjs/data/Identity/definition.cjs +2 -4
- package/_cjs/data/Identity/definition.cjs.map +1 -1
- package/_cjs/data/Identity/instances.cjs +6 -0
- package/_cjs/data/Identity/instances.cjs.map +1 -1
- package/_cjs/data/Intervals.cjs +292 -0
- package/_cjs/data/Intervals.cjs.map +1 -0
- package/_cjs/data/Maybe/api.cjs +3 -1
- package/_cjs/data/Maybe/api.cjs.map +1 -1
- package/_cjs/data/Maybe/definition.cjs +11 -13
- package/_cjs/data/Maybe/definition.cjs.map +1 -1
- package/_cjs/data/Maybe/instances.cjs +13 -11
- package/_cjs/data/Maybe/instances.cjs.map +1 -1
- package/_cjs/data/Newtype.cjs +3 -5
- package/_cjs/data/Newtype.cjs.map +1 -1
- package/_cjs/data/Patch/api.cjs +2 -0
- package/_cjs/data/Patch/api.cjs.map +1 -1
- package/_cjs/data/Struct/api.cjs +2 -0
- package/_cjs/data/Struct/api.cjs.map +1 -1
- package/_cjs/data/Struct/definition.cjs +2 -4
- package/_cjs/data/Struct/definition.cjs.map +1 -1
- package/_cjs/data/These/definition.cjs +1 -1
- package/_cjs/data/These/definition.cjs.map +1 -1
- package/_cjs/data/Zipped.cjs +55 -0
- package/_cjs/data/Zipped.cjs.map +1 -0
- package/_cjs/data/function/api.cjs +10 -0
- package/_cjs/data/function/api.cjs.map +1 -1
- package/_cjs/data/object/instances.cjs +9 -1
- package/_cjs/data/object/instances.cjs.map +1 -1
- package/_cjs/data/string/api.cjs +1 -1
- package/_cjs/data.cjs +6 -0
- package/_cjs/data.cjs.map +1 -0
- package/_cjs/global.cjs +6 -0
- package/_cjs/global.cjs.map +1 -0
- package/_cjs/index.cjs +6 -0
- package/_cjs/index.cjs.map +1 -0
- package/_cjs/json.cjs +6 -0
- package/_cjs/json.cjs.map +1 -0
- package/_cjs/optics/At/definition.cjs +2 -0
- package/_cjs/optics/At/definition.cjs.map +1 -1
- package/_cjs/optics/Iso/definition.cjs +4 -0
- package/_cjs/optics/Iso/definition.cjs.map +1 -1
- package/_cjs/optics/Lens/definition.cjs +4 -0
- package/_cjs/optics/Lens/definition.cjs.map +1 -1
- package/_cjs/optics/Optional/definition.cjs +5 -5
- package/_cjs/optics/Optional/definition.cjs.map +1 -1
- package/_cjs/optics/Prism/definition.cjs +2 -0
- package/_cjs/optics/Prism/definition.cjs.map +1 -1
- package/_cjs/optics/Traversal/api/compose.cjs +1 -1
- package/_cjs/optics/Traversal/api/compose.cjs.map +1 -1
- package/_cjs/optics/Traversal/api/fromTraversable.cjs +1 -1
- package/_cjs/optics/Traversal/api/fromTraversable.cjs.map +1 -1
- package/_cjs/optics/Traversal/definition.cjs +7 -3
- package/_cjs/optics/Traversal/definition.cjs.map +1 -1
- package/_cjs/optics.cjs +6 -0
- package/_cjs/optics.cjs.map +1 -0
- package/_cjs/typeclass/Alt.cjs +0 -7
- package/_cjs/typeclass/Alt.cjs.map +1 -1
- package/_cjs/typeclass/ApplicativeExcept.cjs +9 -35
- package/_cjs/typeclass/ApplicativeExcept.cjs.map +1 -1
- package/_cjs/typeclass/Apply.cjs +39 -66
- package/_cjs/typeclass/Apply.cjs.map +1 -1
- package/_cjs/typeclass/Chain.cjs +6 -28
- package/_cjs/typeclass/Chain.cjs.map +1 -1
- package/_cjs/typeclass/Fail.cjs +0 -10
- package/_cjs/typeclass/Fail.cjs.map +1 -1
- package/_cjs/typeclass/Filterable.cjs +0 -36
- package/_cjs/typeclass/Filterable.cjs.map +1 -1
- package/_cjs/typeclass/Foldable.cjs +4 -34
- package/_cjs/typeclass/Foldable.cjs.map +1 -1
- package/_cjs/typeclass/FoldableWithIndex.cjs +4 -34
- package/_cjs/typeclass/FoldableWithIndex.cjs.map +1 -1
- package/_cjs/typeclass/Functor.cjs +3 -18
- package/_cjs/typeclass/Functor.cjs.map +1 -1
- package/_cjs/typeclass/Guard/definition.cjs +3 -10
- package/_cjs/typeclass/Guard/definition.cjs.map +1 -1
- package/_cjs/typeclass/HashEq.cjs +2 -0
- package/_cjs/typeclass/HashEq.cjs.map +1 -1
- package/_cjs/typeclass/MonadExcept.cjs +2 -10
- package/_cjs/typeclass/MonadExcept.cjs.map +1 -1
- package/_cjs/typeclass/Monoid.cjs +2 -0
- package/_cjs/typeclass/Monoid.cjs.map +1 -1
- package/_cjs/typeclass/Nil.cjs +0 -10
- package/_cjs/typeclass/Nil.cjs.map +1 -1
- package/_cjs/typeclass/Ord/definition.cjs +2 -0
- package/_cjs/typeclass/Ord/definition.cjs.map +1 -1
- package/_cjs/typeclass/Ord/instances.cjs +4 -3
- package/_cjs/typeclass/Ord/instances.cjs.map +1 -1
- package/_cjs/typeclass/Pointed.cjs +0 -11
- package/_cjs/typeclass/Pointed.cjs.map +1 -1
- package/_cjs/typeclass/Semialign.cjs +18 -46
- package/_cjs/typeclass/Semialign.cjs.map +1 -1
- package/_cjs/typeclass/Semimonoidal.cjs +0 -11
- package/_cjs/typeclass/Semimonoidal.cjs.map +1 -1
- package/_cjs/typeclass/Showable/show.cjs +12 -12
- package/_cjs/typeclass/Showable/show.cjs.map +1 -1
- package/_cjs/typeclass/Traversable.cjs +7 -26
- package/_cjs/typeclass/Traversable.cjs.map +1 -1
- package/_cjs/typeclass/TraversableWithIndex.cjs +3 -7
- package/_cjs/typeclass/TraversableWithIndex.cjs.map +1 -1
- package/_cjs/typeclass/Witherable.cjs +3 -45
- package/_cjs/typeclass/Witherable.cjs.map +1 -1
- package/_cjs/typeclass/WitherableWithIndex.cjs +8 -44
- package/_cjs/typeclass/WitherableWithIndex.cjs.map +1 -1
- package/_cjs/util.cjs +6 -0
- package/_cjs/util.cjs.map +1 -0
- package/_mjs/collection/Iterable/api/traverseConc.mjs +16 -21
- package/_mjs/collection/Iterable/api/traverseConc.mjs.map +1 -1
- package/_mjs/collection/compat/Array/api.mjs +10 -10
- package/_mjs/collection/compat/Array/derivations.mjs +70 -0
- package/_mjs/collection/compat/Array/derivations.mjs.map +1 -0
- package/_mjs/collection/compat/Array.mjs +1 -0
- package/_mjs/collection/compat/Array.mjs.map +1 -1
- package/_mjs/collection/compat/Record/instances.mjs +62 -16
- package/_mjs/collection/compat/Record/instances.mjs.map +1 -1
- package/_mjs/collection/compat.mjs +2 -0
- package/_mjs/collection/compat.mjs.map +1 -0
- package/_mjs/collection/immutable/Conc/api.mjs +8 -11
- package/_mjs/collection/immutable/Conc/api.mjs.map +1 -1
- package/_mjs/collection/immutable/Conc/definition.mjs +41 -42
- package/_mjs/collection/immutable/Conc/definition.mjs.map +1 -1
- package/_mjs/collection/immutable/Conc/derivations.mjs +27 -0
- package/_mjs/collection/immutable/Conc/derivations.mjs.map +1 -0
- package/_mjs/collection/immutable/Conc.mjs +2 -1
- package/_mjs/collection/immutable/Conc.mjs.map +1 -1
- package/_mjs/collection/immutable/Dictionary/definition.mjs +2 -3
- package/_mjs/collection/immutable/Dictionary/definition.mjs.map +1 -1
- package/_mjs/collection/immutable/HashMap/api.mjs +18 -20
- package/_mjs/collection/immutable/HashMap/api.mjs.map +1 -1
- package/_mjs/collection/immutable/HashMap/definition.mjs +15 -16
- package/_mjs/collection/immutable/HashMap/definition.mjs.map +1 -1
- package/_mjs/collection/immutable/HashSet/api.mjs +1 -0
- package/_mjs/collection/immutable/HashSet/api.mjs.map +1 -1
- package/_mjs/collection/immutable/ImmutableArray/api.mjs +134 -153
- package/_mjs/collection/immutable/ImmutableArray/api.mjs.map +1 -1
- package/_mjs/collection/immutable/ImmutableArray/constructors.mjs +2 -2
- package/_mjs/collection/immutable/ImmutableArray/definition.mjs +16 -12
- package/_mjs/collection/immutable/ImmutableArray/definition.mjs.map +1 -1
- package/_mjs/collection/immutable/ImmutableArray/derivations.mjs +25 -0
- package/_mjs/collection/immutable/ImmutableArray/derivations.mjs.map +1 -0
- package/_mjs/collection/immutable/ImmutableArray/instances.mjs +9 -8
- package/_mjs/collection/immutable/ImmutableArray/instances.mjs.map +1 -1
- package/_mjs/collection/immutable/ImmutableArray.mjs +1 -0
- package/_mjs/collection/immutable/ImmutableArray.mjs.map +1 -1
- package/_mjs/collection/immutable/ImmutableNonEmptyArray/api.mjs +19 -19
- package/_mjs/collection/immutable/ImmutableNonEmptyArray/api.mjs.map +1 -1
- package/_mjs/collection/immutable/ImmutableNonEmptyArray/constructors.mjs +2 -2
- package/_mjs/collection/immutable/ImmutableNonEmptyArray/definition.mjs +0 -2
- package/_mjs/collection/immutable/ImmutableNonEmptyArray/definition.mjs.map +1 -1
- package/_mjs/collection/immutable/ImmutableNonEmptyArray/derivations.mjs +39 -0
- package/_mjs/collection/immutable/ImmutableNonEmptyArray/derivations.mjs.map +1 -0
- package/_mjs/collection/immutable/ImmutableNonEmptyArray/instances.mjs +4 -3
- package/_mjs/collection/immutable/ImmutableNonEmptyArray/instances.mjs.map +1 -1
- package/_mjs/collection/immutable/ImmutableNonEmptyArray.mjs +1 -0
- package/_mjs/collection/immutable/ImmutableNonEmptyArray.mjs.map +1 -1
- package/_mjs/collection/immutable/List/definition.mjs +2 -2
- package/_mjs/collection/immutable/RoseTree/definition.mjs +13 -14
- package/_mjs/collection/immutable/RoseTree/definition.mjs.map +1 -1
- package/_mjs/collection/immutable/SortedMap/api.mjs +1 -0
- package/_mjs/collection/immutable/SortedMap/api.mjs.map +1 -1
- package/_mjs/collection/immutable/Vector/api.mjs +8 -12
- package/_mjs/collection/immutable/Vector/api.mjs.map +1 -1
- package/_mjs/collection/immutable/Vector/definition.mjs +11 -12
- package/_mjs/collection/immutable/Vector/definition.mjs.map +1 -1
- package/_mjs/collection/immutable/Vector/internal.mjs +1 -1
- package/_mjs/collection/immutable.mjs +2 -0
- package/_mjs/collection/immutable.mjs.map +1 -0
- package/_mjs/collection/mutable/HashMap.mjs +4 -0
- package/_mjs/collection/mutable/HashMap.mjs.map +1 -1
- package/_mjs/collection/mutable.mjs +2 -0
- package/_mjs/collection/mutable.mjs.map +1 -0
- package/_mjs/collection/weak/IterableWeakMap.mjs +51 -2
- package/_mjs/collection/weak/IterableWeakMap.mjs.map +1 -1
- package/_mjs/collection/weak/IterableWeakSet.mjs +59 -7
- package/_mjs/collection/weak/IterableWeakSet.mjs.map +1 -1
- package/_mjs/collection/weak.mjs +2 -0
- package/_mjs/collection/weak.mjs.map +1 -0
- package/_mjs/collection.mjs +2 -0
- package/_mjs/collection.mjs.map +1 -0
- package/_mjs/control/Eval/api.mjs +9 -4
- package/_mjs/control/Eval/api.mjs.map +1 -1
- package/_mjs/control/Eval/definition.mjs +1 -2
- package/_mjs/control/Eval/definition.mjs.map +1 -1
- package/_mjs/control/Eval/instance.mjs +1 -0
- package/_mjs/control/Eval/instance.mjs.map +1 -1
- package/_mjs/control/Eval/run.mjs +1 -0
- package/_mjs/control/Eval/run.mjs.map +1 -1
- package/_mjs/control/Z/api.mjs +16 -15
- package/_mjs/control/Z/api.mjs.map +1 -1
- package/_mjs/control/Z/definition.mjs +3 -5
- package/_mjs/control/Z/definition.mjs.map +1 -1
- package/_mjs/control/Z/instances.mjs +1 -0
- package/_mjs/control/Z/instances.mjs.map +1 -1
- package/_mjs/control/Z/runtime.mjs +15 -13
- package/_mjs/control/Z/runtime.mjs.map +1 -1
- package/_mjs/control.mjs +2 -0
- package/_mjs/control.mjs.map +1 -0
- package/_mjs/data/Branded/derivations.mjs +1 -0
- package/_mjs/data/Branded/derivations.mjs.map +1 -1
- package/_mjs/data/Cause/api/isEmpty.mjs +1 -0
- package/_mjs/data/Cause/api/isEmpty.mjs.map +1 -1
- package/_mjs/data/Cause/api/linearize.mjs +1 -0
- package/_mjs/data/Cause/api/linearize.mjs.map +1 -1
- package/_mjs/data/Cause/api.mjs +2 -1
- package/_mjs/data/Cause/api.mjs.map +1 -1
- package/_mjs/data/Const/definition.mjs +0 -3
- package/_mjs/data/Const/definition.mjs.map +1 -1
- package/_mjs/data/Const/instances.mjs +7 -5
- package/_mjs/data/Const/instances.mjs.map +1 -1
- package/_mjs/data/Datum/api.mjs +404 -0
- package/_mjs/data/Datum/api.mjs.map +1 -0
- package/_mjs/data/Datum/definition.mjs +112 -0
- package/_mjs/data/Datum/definition.mjs.map +1 -0
- package/_mjs/data/Datum/instances.mjs +52 -0
- package/_mjs/data/Datum/instances.mjs.map +1 -0
- package/_mjs/data/DatumEither/api.mjs +290 -0
- package/_mjs/data/DatumEither/api.mjs.map +1 -0
- package/_mjs/data/DatumEither/definition.mjs +2 -0
- package/_mjs/data/DatumEither/definition.mjs.map +1 -0
- package/_mjs/data/DecodeError/definition.mjs +12 -3
- package/_mjs/data/DecodeError/definition.mjs.map +1 -1
- package/_mjs/data/DecodeError/instances.mjs +2 -0
- package/_mjs/data/DecodeError/instances.mjs.map +1 -0
- package/_mjs/data/DecodeError.mjs +1 -0
- package/_mjs/data/DecodeError.mjs.map +1 -1
- package/_mjs/data/Decoder/api.mjs +1 -0
- package/_mjs/data/Decoder/api.mjs.map +1 -1
- package/_mjs/data/Decoder/definition.mjs +0 -2
- package/_mjs/data/Decoder/definition.mjs.map +1 -1
- package/_mjs/data/Either/api/alignWith.mjs +1 -0
- package/_mjs/data/Either/api/alignWith.mjs.map +1 -1
- package/_mjs/data/Either/api.mjs +17 -4
- package/_mjs/data/Either/api.mjs.map +1 -1
- package/_mjs/data/Either/definition.mjs +1 -3
- package/_mjs/data/Either/definition.mjs.map +1 -1
- package/_mjs/data/Either/instances.mjs +24 -23
- package/_mjs/data/Either/instances.mjs.map +1 -1
- package/_mjs/data/EitherT/api.mjs +73 -0
- package/_mjs/data/EitherT/api.mjs.map +1 -0
- package/_mjs/data/EitherT/definition.mjs +2 -0
- package/_mjs/data/EitherT/definition.mjs.map +1 -0
- package/_mjs/data/Environment/api.mjs +12 -13
- package/_mjs/data/Environment/api.mjs.map +1 -1
- package/_mjs/data/Environment/definition.mjs.map +1 -1
- package/_mjs/data/Identity/api.mjs +2 -1
- package/_mjs/data/Identity/api.mjs.map +1 -1
- package/_mjs/data/Identity/definition.mjs +2 -3
- package/_mjs/data/Identity/definition.mjs.map +1 -1
- package/_mjs/data/Identity/instances.mjs +1 -0
- package/_mjs/data/Identity/instances.mjs.map +1 -1
- package/_mjs/data/Intervals.mjs +257 -0
- package/_mjs/data/Intervals.mjs.map +1 -0
- package/_mjs/data/Maybe/api.mjs +2 -1
- package/_mjs/data/Maybe/api.mjs.map +1 -1
- package/_mjs/data/Maybe/definition.mjs +8 -10
- package/_mjs/data/Maybe/definition.mjs.map +1 -1
- package/_mjs/data/Maybe/instances.mjs +12 -11
- package/_mjs/data/Maybe/instances.mjs.map +1 -1
- package/_mjs/data/Newtype.mjs +3 -4
- package/_mjs/data/Newtype.mjs.map +1 -1
- package/_mjs/data/Patch/api.mjs +1 -0
- package/_mjs/data/Patch/api.mjs.map +1 -1
- package/_mjs/data/Struct/api.mjs +1 -0
- package/_mjs/data/Struct/api.mjs.map +1 -1
- package/_mjs/data/Struct/definition.mjs +2 -3
- package/_mjs/data/Struct/definition.mjs.map +1 -1
- package/_mjs/data/These/definition.mjs +1 -1
- package/_mjs/data/These/definition.mjs.map +1 -1
- package/_mjs/data/Zipped.mjs +37 -0
- package/_mjs/data/Zipped.mjs.map +1 -0
- package/_mjs/data/function/api.mjs +8 -0
- package/_mjs/data/function/api.mjs.map +1 -1
- package/_mjs/data/object/instances.mjs +7 -1
- package/_mjs/data/object/instances.mjs.map +1 -1
- package/_mjs/data/string/api.mjs +1 -1
- package/_mjs/data.mjs +2 -0
- package/_mjs/data.mjs.map +1 -0
- package/_mjs/global.mjs +2 -0
- package/_mjs/global.mjs.map +1 -0
- package/_mjs/index.mjs +2 -0
- package/_mjs/index.mjs.map +1 -0
- package/_mjs/json.mjs +2 -0
- package/_mjs/json.mjs.map +1 -0
- package/_mjs/optics/At/api.mjs +1 -0
- package/_mjs/optics/At/api.mjs.map +1 -1
- package/_mjs/optics/At/definition.mjs +1 -0
- package/_mjs/optics/At/definition.mjs.map +1 -1
- package/_mjs/optics/Index/api.mjs +1 -0
- package/_mjs/optics/Index/api.mjs.map +1 -1
- package/_mjs/optics/Iso/api.mjs +1 -0
- package/_mjs/optics/Iso/api.mjs.map +1 -1
- package/_mjs/optics/Iso/definition.mjs +2 -0
- package/_mjs/optics/Iso/definition.mjs.map +1 -1
- package/_mjs/optics/Lens/api.mjs +1 -0
- package/_mjs/optics/Lens/api.mjs.map +1 -1
- package/_mjs/optics/Lens/definition.mjs +2 -0
- package/_mjs/optics/Lens/definition.mjs.map +1 -1
- package/_mjs/optics/Optional/api/compose.mjs +1 -0
- package/_mjs/optics/Optional/api/compose.mjs.map +1 -1
- package/_mjs/optics/Optional/definition.mjs +5 -5
- package/_mjs/optics/Optional/definition.mjs.map +1 -1
- package/_mjs/optics/Prism/api/compose.mjs +1 -0
- package/_mjs/optics/Prism/api/compose.mjs.map +1 -1
- package/_mjs/optics/Prism/api/fromNullable.mjs +1 -0
- package/_mjs/optics/Prism/api/fromNullable.mjs.map +1 -1
- package/_mjs/optics/Prism/api/just.mjs +1 -0
- package/_mjs/optics/Prism/api/just.mjs.map +1 -1
- package/_mjs/optics/Prism/definition.mjs +1 -0
- package/_mjs/optics/Prism/definition.mjs.map +1 -1
- package/_mjs/optics/Traversal/api/compose.mjs +2 -1
- package/_mjs/optics/Traversal/api/compose.mjs.map +1 -1
- package/_mjs/optics/Traversal/api/fromTraversable.mjs +2 -1
- package/_mjs/optics/Traversal/api/fromTraversable.mjs.map +1 -1
- package/_mjs/optics/Traversal/definition.mjs +5 -3
- package/_mjs/optics/Traversal/definition.mjs.map +1 -1
- package/_mjs/optics.mjs +2 -0
- package/_mjs/optics.mjs.map +1 -0
- package/_mjs/typeclass/Alt.mjs +0 -5
- package/_mjs/typeclass/Alt.mjs.map +1 -1
- package/_mjs/typeclass/ApplicativeExcept.mjs +7 -32
- package/_mjs/typeclass/ApplicativeExcept.mjs.map +1 -1
- package/_mjs/typeclass/Apply.mjs +35 -65
- package/_mjs/typeclass/Apply.mjs.map +1 -1
- package/_mjs/typeclass/Chain.mjs +4 -25
- package/_mjs/typeclass/Chain.mjs.map +1 -1
- package/_mjs/typeclass/Eq/derivations.mjs +1 -0
- package/_mjs/typeclass/Eq/derivations.mjs.map +1 -1
- package/_mjs/typeclass/Fail.mjs +1 -8
- package/_mjs/typeclass/Fail.mjs.map +1 -1
- package/_mjs/typeclass/Filterable.mjs +0 -28
- package/_mjs/typeclass/Filterable.mjs.map +1 -1
- package/_mjs/typeclass/Foldable.mjs +3 -30
- package/_mjs/typeclass/Foldable.mjs.map +1 -1
- package/_mjs/typeclass/FoldableWithIndex.mjs +3 -30
- package/_mjs/typeclass/FoldableWithIndex.mjs.map +1 -1
- package/_mjs/typeclass/Functor.mjs +3 -16
- package/_mjs/typeclass/Functor.mjs.map +1 -1
- package/_mjs/typeclass/Guard/api.mjs +1 -0
- package/_mjs/typeclass/Guard/api.mjs.map +1 -1
- package/_mjs/typeclass/Guard/definition.mjs +0 -2
- package/_mjs/typeclass/Guard/definition.mjs.map +1 -1
- package/_mjs/typeclass/HashEq.mjs +1 -0
- package/_mjs/typeclass/HashEq.mjs.map +1 -1
- package/_mjs/typeclass/MonadExcept.mjs +2 -9
- package/_mjs/typeclass/MonadExcept.mjs.map +1 -1
- package/_mjs/typeclass/Monoid.mjs +1 -0
- package/_mjs/typeclass/Monoid.mjs.map +1 -1
- package/_mjs/typeclass/Nil.mjs +1 -8
- package/_mjs/typeclass/Nil.mjs.map +1 -1
- package/_mjs/typeclass/Ord/definition.mjs +1 -0
- package/_mjs/typeclass/Ord/definition.mjs.map +1 -1
- package/_mjs/typeclass/Ord/instances.mjs +3 -0
- package/_mjs/typeclass/Ord/instances.mjs.map +1 -1
- package/_mjs/typeclass/Pointed.mjs +0 -9
- package/_mjs/typeclass/Pointed.mjs.map +1 -1
- package/_mjs/typeclass/Semialign.mjs +17 -45
- package/_mjs/typeclass/Semialign.mjs.map +1 -1
- package/_mjs/typeclass/Semigroup/api.mjs +1 -0
- package/_mjs/typeclass/Semigroup/api.mjs.map +1 -1
- package/_mjs/typeclass/Semigroup/derivations.mjs +1 -0
- package/_mjs/typeclass/Semigroup/derivations.mjs.map +1 -1
- package/_mjs/typeclass/Semimonoidal.mjs +0 -9
- package/_mjs/typeclass/Semimonoidal.mjs.map +1 -1
- package/_mjs/typeclass/Showable/show.mjs +12 -12
- package/_mjs/typeclass/Showable/show.mjs.map +1 -1
- package/_mjs/typeclass/Traversable.mjs +6 -25
- package/_mjs/typeclass/Traversable.mjs.map +1 -1
- package/_mjs/typeclass/TraversableWithIndex.mjs +2 -6
- package/_mjs/typeclass/TraversableWithIndex.mjs.map +1 -1
- package/_mjs/typeclass/Witherable.mjs +3 -40
- package/_mjs/typeclass/Witherable.mjs.map +1 -1
- package/_mjs/typeclass/WitherableWithIndex.mjs +6 -41
- package/_mjs/typeclass/WitherableWithIndex.mjs.map +1 -1
- package/_mjs/util.mjs +2 -0
- package/_mjs/util.mjs.map +1 -0
- package/_src/collection/Iterable/api/traverseConc.ts +24 -21
- package/_src/collection/compat/Array/api.ts +10 -10
- package/_src/collection/compat/Array/definition.ts +3 -3
- package/_src/collection/compat/Array/derivations.ts +85 -0
- package/_src/collection/compat/Array.ts +1 -0
- package/_src/collection/compat/Record/instances.ts +43 -0
- package/_src/collection/compat.ts +4 -0
- package/_src/collection/immutable/Conc/api.ts +9 -11
- package/_src/collection/immutable/Conc/definition.ts +18 -13
- package/_src/collection/immutable/Conc/derivations.ts +28 -0
- package/_src/collection/immutable/Conc.ts +1 -0
- package/_src/collection/immutable/Dictionary/definition.ts +1 -1
- package/_src/collection/immutable/HashMap/api.ts +20 -17
- package/_src/collection/immutable/HashMap/definition.ts +10 -6
- package/_src/collection/immutable/ImmutableArray/api.ts +62 -119
- package/_src/collection/immutable/ImmutableArray/constructors.ts +2 -2
- package/_src/collection/immutable/ImmutableArray/definition.ts +11 -5
- package/_src/collection/immutable/ImmutableArray/derivations.ts +28 -0
- package/_src/collection/immutable/ImmutableArray/instances.ts +47 -42
- package/_src/collection/immutable/ImmutableArray.ts +1 -0
- package/_src/collection/immutable/ImmutableNonEmptyArray/api.ts +13 -11
- package/_src/collection/immutable/ImmutableNonEmptyArray/constructors.ts +2 -2
- package/_src/collection/immutable/ImmutableNonEmptyArray/definition.ts +10 -5
- package/_src/collection/immutable/ImmutableNonEmptyArray/derivations.ts +44 -0
- package/_src/collection/immutable/ImmutableNonEmptyArray/instances.ts +24 -25
- package/_src/collection/immutable/ImmutableNonEmptyArray.ts +1 -0
- package/_src/collection/immutable/List/definition.ts +2 -2
- package/_src/collection/immutable/RoseTree/definition.ts +7 -4
- package/_src/collection/immutable/Vector/api.ts +12 -16
- package/_src/collection/immutable/Vector/definition.ts +10 -10
- package/_src/collection/immutable/Vector/internal.ts +1 -1
- package/_src/collection/immutable.ts +12 -0
- package/_src/collection/mutable/HashMap.ts +4 -0
- package/_src/collection/mutable.ts +6 -0
- package/_src/collection/weak/IterableWeakMap.ts +50 -5
- package/_src/collection/weak/IterableWeakSet.ts +57 -9
- package/_src/collection/weak.ts +4 -0
- package/_src/collection.ts +7 -0
- package/_src/control/Eval/api.ts +5 -2
- package/_src/control/Eval/definition.ts +8 -5
- package/_src/control/Eval/instance.ts +7 -7
- package/_src/control/Z/api.ts +40 -52
- package/_src/control/Z/definition.ts +36 -36
- package/_src/control/Z/instances.ts +3 -3
- package/_src/control/Z/runtime.ts +11 -11
- package/_src/control.ts +5 -0
- package/_src/data/Const/definition.ts +9 -17
- package/_src/data/Const/instances.ts +5 -5
- package/_src/data/Datum/api.ts +376 -0
- package/_src/data/Datum/definition.ts +102 -0
- package/_src/data/Datum/instances.ts +34 -0
- package/_src/data/DatumEither/api.ts +348 -0
- package/_src/data/DatumEither/definition.ts +20 -0
- package/_src/data/DecodeError/definition.ts +11 -3
- package/_src/data/DecodeError/instances.ts +0 -0
- package/_src/data/DecodeError.ts +1 -0
- package/_src/data/Decoder/definition.ts +7 -4
- package/_src/data/Either/api.ts +12 -2
- package/_src/data/Either/definition.ts +10 -15
- package/_src/data/Either/instances.ts +6 -6
- package/_src/data/EitherT/api.ts +239 -0
- package/_src/data/EitherT/definition.ts +23 -0
- package/_src/data/Environment/api.ts +8 -6
- package/_src/data/Environment/definition.ts +2 -2
- package/_src/data/Identity/api.ts +2 -2
- package/_src/data/Identity/definition.ts +2 -2
- package/_src/data/Identity/instances.ts +7 -7
- package/_src/data/Intervals.ts +126 -0
- package/_src/data/Maybe/api.ts +2 -2
- package/_src/data/Maybe/definition.ts +8 -5
- package/_src/data/Maybe/instances.ts +10 -10
- package/_src/data/Newtype.ts +32 -11
- package/_src/data/Struct/definition.ts +1 -1
- package/_src/data/Tag/definition.ts +2 -2
- package/_src/data/These/definition.ts +1 -1
- package/_src/data/Zipped.ts +52 -0
- package/_src/data/function/api.ts +8 -0
- package/_src/data/object/instances.ts +11 -1
- package/_src/data/string/api.ts +1 -1
- package/_src/data.ts +35 -0
- package/_src/global.ts +252 -0
- package/_src/index.ts +8 -0
- package/_src/json.ts +5 -0
- package/_src/optics/Optional/definition.ts +2 -2
- package/_src/optics/Traversal/api/compose.ts +1 -1
- package/_src/optics/Traversal/api/fromTraversable.ts +11 -11
- package/_src/optics/Traversal/definition.ts +13 -12
- package/_src/optics.ts +12 -0
- package/_src/typeclass/Align.ts +1 -1
- package/_src/typeclass/Alt.ts +24 -54
- package/_src/typeclass/Alternative.ts +1 -1
- package/_src/typeclass/Applicative.ts +6 -1
- package/_src/typeclass/ApplicativeExcept.ts +55 -81
- package/_src/typeclass/Apply.ts +224 -253
- package/_src/typeclass/Chain.ts +71 -98
- package/_src/typeclass/Fail.ts +10 -28
- package/_src/typeclass/Filterable.ts +13 -67
- package/_src/typeclass/FilterableWithIndex.ts +13 -13
- package/_src/typeclass/Foldable.ts +16 -35
- package/_src/typeclass/FoldableWithIndex.ts +14 -37
- package/_src/typeclass/Functor.ts +11 -21
- package/_src/typeclass/FunctorWithIndex.ts +4 -4
- package/_src/typeclass/Guard/definition.ts +1 -3
- package/_src/typeclass/Monad.ts +1 -1
- package/_src/typeclass/MonadExcept.ts +11 -7
- package/_src/typeclass/Nil.ts +10 -27
- package/_src/typeclass/Pointed.ts +11 -30
- package/_src/typeclass/Semialign.ts +285 -253
- package/_src/typeclass/Semimonoidal.ts +23 -54
- package/_src/typeclass/Showable/show.ts +10 -12
- package/_src/typeclass/Traversable.ts +45 -63
- package/_src/typeclass/TraversableWithIndex.ts +37 -34
- package/_src/typeclass/Witherable.ts +28 -115
- package/_src/typeclass/WitherableWithIndex.ts +82 -115
- package/_src/types/extractions.ts +1 -1
- package/_src/util.ts +8 -0
- package/collection/Iterable/api/traverseConc.d.ts +4 -6
- package/collection/compat/Array/api.d.ts +10 -10
- package/collection/compat/Array/definition.d.ts +3 -3
- package/collection/compat/Array/derivations.d.ts +24 -0
- package/collection/compat/Array.d.ts +1 -0
- package/collection/compat/Record/instances.d.ts +12 -0
- package/collection/compat.d.ts +2 -0
- package/collection/immutable/Conc/api.d.ts +4 -6
- package/collection/immutable/Conc/definition.d.ts +24 -20
- package/collection/immutable/Conc/derivations.d.ts +14 -0
- package/collection/immutable/Conc.d.ts +1 -0
- package/collection/immutable/Dictionary/definition.d.ts +1 -1
- package/collection/immutable/HashMap/api.d.ts +13 -13
- package/collection/immutable/HashMap/definition.d.ts +10 -7
- package/collection/immutable/ImmutableArray/api.d.ts +22 -24
- package/collection/immutable/ImmutableArray/constructors.d.ts +2 -2
- package/collection/immutable/ImmutableArray/definition.d.ts +12 -6
- package/collection/immutable/ImmutableArray/derivations.d.ts +14 -0
- package/collection/immutable/ImmutableArray/instances.d.ts +17 -17
- package/collection/immutable/ImmutableArray.d.ts +1 -0
- package/collection/immutable/ImmutableNonEmptyArray/api.d.ts +6 -5
- package/collection/immutable/ImmutableNonEmptyArray/constructors.d.ts +2 -2
- package/collection/immutable/ImmutableNonEmptyArray/definition.d.ts +9 -5
- package/collection/immutable/ImmutableNonEmptyArray/derivations.d.ts +14 -0
- package/collection/immutable/ImmutableNonEmptyArray/instances.d.ts +10 -10
- package/collection/immutable/ImmutableNonEmptyArray.d.ts +1 -0
- package/collection/immutable/List/definition.d.ts +2 -2
- package/collection/immutable/RoseTree/definition.d.ts +7 -5
- package/collection/immutable/Vector/api.d.ts +4 -4
- package/collection/immutable/Vector/definition.d.ts +9 -10
- package/collection/immutable/Vector/internal.d.ts +1 -1
- package/collection/immutable.d.ts +10 -0
- package/collection/mutable/HashMap.d.ts +1 -0
- package/collection/mutable.d.ts +4 -0
- package/collection/weak/IterableWeakMap.d.ts +9 -3
- package/collection/weak/IterableWeakSet.d.ts +10 -4
- package/collection/weak.d.ts +2 -0
- package/collection.d.ts +5 -0
- package/control/Eval/api.d.ts +6 -1
- package/control/Eval/definition.d.ts +6 -4
- package/control/Eval/instance.d.ts +3 -3
- package/control/Z/api.d.ts +32 -30
- package/control/Z/definition.d.ts +43 -37
- package/control/Z/instances.d.ts +2 -2
- package/control/Z/runtime.d.ts +9 -8
- package/control.d.ts +3 -0
- package/data/Const/definition.d.ts +8 -16
- package/data/Const/instances.d.ts +4 -3
- package/data/Datum/api.d.ts +188 -0
- package/data/Datum/definition.d.ts +75 -0
- package/data/Datum/instances.d.ts +32 -0
- package/data/DatumEither/api.d.ts +169 -0
- package/data/DatumEither/definition.d.ts +21 -0
- package/data/DecodeError/definition.d.ts +6 -0
- package/data/DecodeError/instances.d.ts +1 -0
- package/data/DecodeError.d.ts +1 -0
- package/data/Decoder/definition.d.ts +6 -4
- package/data/Either/api.d.ts +10 -0
- package/data/Either/definition.d.ts +8 -14
- package/data/Either/instances.d.ts +4 -3
- package/data/EitherT/api.d.ts +60 -0
- package/data/EitherT/definition.d.ts +12 -0
- package/data/Environment/api.d.ts +7 -5
- package/data/Environment/definition.d.ts +3 -3
- package/data/Identity/api.d.ts +2 -1
- package/data/Identity/definition.d.ts +2 -2
- package/data/Identity/instances.d.ts +3 -3
- package/data/Intervals.d.ts +53 -0
- package/data/Maybe/api.d.ts +2 -1
- package/data/Maybe/definition.d.ts +10 -5
- package/data/Maybe/instances.d.ts +6 -6
- package/data/Newtype.d.ts +9 -8
- package/data/Struct/definition.d.ts +1 -1
- package/data/Tag/definition.d.ts +2 -2
- package/data/Zipped.d.ts +24 -0
- package/data/function/api.d.ts +6 -0
- package/data/object/instances.d.ts +6 -1
- package/data/string/api.d.ts +1 -1
- package/data.d.ts +33 -0
- package/global.d.ts +237 -0
- package/index.d.ts +8 -0
- package/json.d.ts +3 -0
- package/optics/Traversal/api/fromTraversable.d.ts +1 -1
- package/optics/Traversal/definition.d.ts +2 -4
- package/optics.d.ts +10 -0
- package/package.json +6 -2
- package/typeclass/Align.d.ts +1 -1
- package/typeclass/Alt.d.ts +2 -4
- package/typeclass/Alternative.d.ts +1 -1
- package/typeclass/Applicative.d.ts +2 -1
- package/typeclass/ApplicativeExcept.d.ts +5 -13
- package/typeclass/Apply.d.ts +20 -32
- package/typeclass/Chain.d.ts +5 -13
- package/typeclass/Fail.d.ts +2 -7
- package/typeclass/Filterable.d.ts +7 -31
- package/typeclass/FilterableWithIndex.d.ts +7 -7
- package/typeclass/Foldable.d.ts +6 -19
- package/typeclass/FoldableWithIndex.d.ts +6 -19
- package/typeclass/Functor.d.ts +4 -11
- package/typeclass/FunctorWithIndex.d.ts +2 -2
- package/typeclass/Guard/definition.d.ts +1 -4
- package/typeclass/Monad.d.ts +1 -1
- package/typeclass/MonadExcept.d.ts +3 -4
- package/typeclass/Nil.d.ts +2 -7
- package/typeclass/Pointed.d.ts +2 -7
- package/typeclass/Semialign.d.ts +26 -32
- package/typeclass/Semimonoidal.d.ts +3 -8
- package/typeclass/Showable/show.d.ts +1 -1
- package/typeclass/Traversable.d.ts +21 -12
- package/typeclass/TraversableWithIndex.d.ts +19 -6
- package/typeclass/Witherable.d.ts +5 -19
- package/typeclass/WitherableWithIndex.d.ts +33 -19
- package/types/extractions.d.ts +1 -1
- package/util.d.ts +6 -0
|
@@ -55,8 +55,8 @@ export function makeDefault<K, V>(): HashMap<K, V> {
|
|
|
55
55
|
*
|
|
56
56
|
* @tsplus fluent fncts.HashMapOps fromFoldable
|
|
57
57
|
*/
|
|
58
|
-
export function fromFoldable<F extends HKT, C, K, A>(config: P.HashEq<K>, S: P.Semigroup<A>, F: P.Foldable<F>) {
|
|
59
|
-
return <K_, Q, W, X, I, S, R, E>(fka: HKT.Kind<F, K_, Q, W, X, I, S, R, E, readonly [K, A]>): HashMap<K, A> => {
|
|
58
|
+
export function fromFoldable<F extends HKT, C, K, A>(config: P.HashEq<K>, S: P.Semigroup<A>, F: P.Foldable<F, C>) {
|
|
59
|
+
return <K_, Q, W, X, I, S, R, E>(fka: HKT.Kind<F, C, K_, Q, W, X, I, S, R, E, readonly [K, A]>): HashMap<K, A> => {
|
|
60
60
|
return F.foldLeft(fka, makeWith(config), (b, [k, a]) => {
|
|
61
61
|
const oa = b.get(k);
|
|
62
62
|
if (oa.isJust()) {
|
|
@@ -529,15 +529,18 @@ export function foldLeft_<K, V, Z>(map: HashMap<K, V>, z: Z, f: (z: Z, v: V) =>
|
|
|
529
529
|
}
|
|
530
530
|
|
|
531
531
|
/**
|
|
532
|
-
* @tsplus
|
|
532
|
+
* @tsplus getter fncts.HashMap traverseWithIndex
|
|
533
533
|
*/
|
|
534
|
-
export const
|
|
535
|
-
|
|
534
|
+
export const traverseWithIndex = P.TraversableWithIndex.makeTraverseWithIndex<HashMapF>()(
|
|
535
|
+
() => (ta) => (G) => (f) =>
|
|
536
|
+
ta.foldLeftWithIndex(G.pure(makeWith(ta.config)), (k, b, a) => G.zipWith(b, f(k, a), (map, b) => map.set(k, b))),
|
|
537
|
+
);
|
|
536
538
|
|
|
537
539
|
/**
|
|
538
|
-
* @tsplus
|
|
540
|
+
* @tsplus getter fncts.HashMap traverse
|
|
539
541
|
*/
|
|
540
|
-
export const
|
|
542
|
+
export const traverse: P.Traversable<HashMapF>["traverse"] = (ta) => (G) => (f) =>
|
|
543
|
+
ta.traverseWithIndex(G)((_, a) => f(a));
|
|
541
544
|
|
|
542
545
|
/**
|
|
543
546
|
* @tsplus fluent fncts.HashMap unsafeGet
|
|
@@ -547,26 +550,26 @@ export function unsafeGet_<K, V>(self: HashMap<K, V>, key: K): V | undefined {
|
|
|
547
550
|
}
|
|
548
551
|
|
|
549
552
|
/**
|
|
550
|
-
* @tsplus
|
|
553
|
+
* @tsplus getter fncts.HashMap witherWithIndex
|
|
551
554
|
*/
|
|
552
|
-
export const
|
|
553
|
-
wa.traverseWithIndex(
|
|
555
|
+
export const witherWithIndex: P.WitherableWithIndex<HashMapF>["witherWithIndex"] = (wa) => (G) => (f) =>
|
|
556
|
+
G.map(wa.traverseWithIndex(G)(f), compact);
|
|
554
557
|
|
|
555
558
|
/**
|
|
556
|
-
* @tsplus
|
|
559
|
+
* @tsplus getter fncts.HashMap wither
|
|
557
560
|
*/
|
|
558
|
-
export const
|
|
561
|
+
export const wither: P.Witherable<HashMapF>["wither"] = (wa) => (G) => (f) => wa.witherWithIndex(G)((_, a) => f(a));
|
|
559
562
|
|
|
560
563
|
/**
|
|
561
|
-
* @tsplus
|
|
564
|
+
* @tsplus getter fncts.HashMap wiltWithIndex
|
|
562
565
|
*/
|
|
563
|
-
export const
|
|
564
|
-
wa.traverseWithIndex(
|
|
566
|
+
export const wiltWithIndex: P.WitherableWithIndex<HashMapF>["wiltWithIndex"] = (wa) => (G) => (f) =>
|
|
567
|
+
G.map(wa.traverseWithIndex(G)(f), separate);
|
|
565
568
|
|
|
566
569
|
/**
|
|
567
|
-
* @tsplus
|
|
570
|
+
* @tsplus getter fncts.HashMap wilt
|
|
568
571
|
*/
|
|
569
|
-
export const
|
|
572
|
+
export const wilt: P.Witherable<HashMapF>["wilt"] = (wa) => (G) => (f) => wa.wiltWithIndex(G)((_, a) => f(a));
|
|
570
573
|
|
|
571
574
|
/**
|
|
572
575
|
* @tsplus fluent fncts.HashMap unionWith
|
|
@@ -4,18 +4,22 @@ import type { HashEq } from "@fncts/base/typeclass";
|
|
|
4
4
|
import { isEmptyNode } from "@fncts/base/collection/immutable/HashMap/internal";
|
|
5
5
|
import { identity, tuple } from "@fncts/base/data/function";
|
|
6
6
|
|
|
7
|
-
export interface HashMapF extends
|
|
7
|
+
export interface HashMapF extends HKT {
|
|
8
|
+
type: HashMap<this["K"], this["A"]>;
|
|
9
|
+
variance: {
|
|
10
|
+
K: "+";
|
|
11
|
+
A: "+";
|
|
12
|
+
};
|
|
13
|
+
index: this["K"];
|
|
14
|
+
}
|
|
8
15
|
|
|
9
16
|
/**
|
|
10
17
|
* @tsplus type fncts.HashMap
|
|
11
18
|
* @tsplus companion fncts.HashMapOps
|
|
12
19
|
*/
|
|
13
20
|
export class HashMap<K, V> implements Iterable<readonly [K, V]>, Hashable, Equatable {
|
|
14
|
-
readonly
|
|
15
|
-
readonly
|
|
16
|
-
readonly [HKT.A]!: () => V;
|
|
17
|
-
readonly [HKT.T]!: HashMap<HKT._K<this>, HKT._A<this>>;
|
|
18
|
-
readonly [HKT.Ix]!: K;
|
|
21
|
+
readonly _K!: () => K;
|
|
22
|
+
readonly _A!: () => V;
|
|
19
23
|
|
|
20
24
|
constructor(
|
|
21
25
|
public editable: boolean,
|
|
@@ -84,8 +84,8 @@ export function crossWith_<A, B, C>(
|
|
|
84
84
|
/**
|
|
85
85
|
* @tsplus fluent fncts.ImmutableArray cross
|
|
86
86
|
*/
|
|
87
|
-
export function cross_<A, B>(self: ImmutableArray<A>, fb: ImmutableArray<B>): ImmutableArray<
|
|
88
|
-
return self.crossWith(fb,
|
|
87
|
+
export function cross_<A, B>(self: ImmutableArray<A>, fb: ImmutableArray<B>): ImmutableArray<Zipped.Make<A, B>> {
|
|
88
|
+
return self.crossWith(fb, (a, b) => Zipped(a, b));
|
|
89
89
|
}
|
|
90
90
|
|
|
91
91
|
/**
|
|
@@ -228,7 +228,9 @@ function comprehensionLoop<A, R>(
|
|
|
228
228
|
if (input.length === 0) {
|
|
229
229
|
return g(...scope) ? Eval.now(ImmutableArray(f(...scope))) : Eval.now(ImmutableArray.empty());
|
|
230
230
|
} else {
|
|
231
|
-
return input[0]
|
|
231
|
+
return input[0]!
|
|
232
|
+
.traverse(Eval.Applicative)((a) => comprehensionLoop(scope.append(a), input.slice(1), f, g))
|
|
233
|
+
.map((rs) => rs.flatten);
|
|
232
234
|
}
|
|
233
235
|
}
|
|
234
236
|
|
|
@@ -536,7 +538,7 @@ export function findLastMapWithIndex_<A, B>(as: ImmutableArray<A>, f: (i: number
|
|
|
536
538
|
|
|
537
539
|
/**
|
|
538
540
|
* @tsplus fluent fncts.ImmutableArray foldLeftWithIndex
|
|
539
|
-
* @tsplus fluent fncts.
|
|
541
|
+
* @tsplus fluent fncts.MutableArray foldLeftWithIndex
|
|
540
542
|
*/
|
|
541
543
|
export function foldLeftWithIndex_<A, B>(self: ImmutableArray<A>, b: B, f: (i: number, b: B, a: A) => B): B {
|
|
542
544
|
const len = self.length;
|
|
@@ -549,7 +551,7 @@ export function foldLeftWithIndex_<A, B>(self: ImmutableArray<A>, b: B, f: (i: n
|
|
|
549
551
|
|
|
550
552
|
/**
|
|
551
553
|
* @tsplus fluent fncts.ImmutableArray foldLeft
|
|
552
|
-
* @tsplus fluent fncts.
|
|
554
|
+
* @tsplus fluent fncts.MutableArray foldLeft
|
|
553
555
|
*/
|
|
554
556
|
export function foldLeft_<A, B>(self: ImmutableArray<A>, b: B, f: (b: B, a: A) => B): B {
|
|
555
557
|
return self.foldLeftWithIndex(b, (_, b, a) => f(b, a));
|
|
@@ -557,7 +559,7 @@ export function foldLeft_<A, B>(self: ImmutableArray<A>, b: B, f: (b: B, a: A) =
|
|
|
557
559
|
|
|
558
560
|
/**
|
|
559
561
|
* @tsplus fluent fncts.ImmutableArray foldLeftWhile
|
|
560
|
-
* @tsplus fluent fncts.
|
|
562
|
+
* @tsplus fluent fncts.MutableArray foldLeftWhile
|
|
561
563
|
*/
|
|
562
564
|
export function foldLeftWhile_<A, B>(self: ImmutableArray<A>, b: B, p: Predicate<B>, f: (b: B, a: A) => B): B {
|
|
563
565
|
return self.foldLeftWithIndexWhile(b, p, (_, b, a) => f(b, a));
|
|
@@ -565,7 +567,7 @@ export function foldLeftWhile_<A, B>(self: ImmutableArray<A>, b: B, p: Predicate
|
|
|
565
567
|
|
|
566
568
|
/**
|
|
567
569
|
* @tsplus fluent fncts.ImmutableArray foldLeftWithIndexWhile
|
|
568
|
-
* @tsplus fluent fncts.
|
|
570
|
+
* @tsplus fluent fncts.MutableArray foldLeftWithIndexWhile
|
|
569
571
|
*/
|
|
570
572
|
export function foldLeftWithIndexWhile_<A, B>(
|
|
571
573
|
self: ImmutableArray<A>,
|
|
@@ -659,7 +661,7 @@ export function forEach_<A, B>(self: ImmutableArray<A>, f: (a: A) => B): void {
|
|
|
659
661
|
|
|
660
662
|
/**
|
|
661
663
|
* @tsplus fluent fncts.ImmutableArray get
|
|
662
|
-
* @tsplus fluent fncts.
|
|
664
|
+
* @tsplus fluent fncts.MutableArray get
|
|
663
665
|
*/
|
|
664
666
|
export function get_<A>(self: ImmutableArray<A>, i: number): Maybe<A> {
|
|
665
667
|
return self.isOutOfBound(i) ? Nothing() : Just(self._array[i]!);
|
|
@@ -952,7 +954,7 @@ export function prepend_<A, B>(self: ImmutableArray<A>, head: B): ImmutableArray
|
|
|
952
954
|
|
|
953
955
|
/**
|
|
954
956
|
* @tsplus fluent fncts.ImmutableArray prependAll
|
|
955
|
-
* @tsplus fluent fncts.
|
|
957
|
+
* @tsplus fluent fncts.MutableArray prependAll
|
|
956
958
|
*/
|
|
957
959
|
export function prependAll_<A>(self: ImmutableArray<A>, a: A): ImmutableArray<A> {
|
|
958
960
|
const out: Array<A> = [];
|
|
@@ -1164,16 +1166,20 @@ export function takeWhile_<A>(self: ImmutableArray<A>, p: Predicate<A>): Immutab
|
|
|
1164
1166
|
}
|
|
1165
1167
|
|
|
1166
1168
|
/**
|
|
1167
|
-
* @tsplus
|
|
1169
|
+
* @tsplus getter fncts.ImmutableArray traverseWithIndex
|
|
1168
1170
|
*/
|
|
1169
|
-
export const traverseWithIndex_
|
|
1170
|
-
|
|
1171
|
+
export const traverseWithIndex_ = P.TraversableWithIndex.makeTraverseWithIndex<ImmutableArrayF>()(
|
|
1172
|
+
() => (ta) => (G) => (f) =>
|
|
1173
|
+
ta.foldLeftWithIndex(G.pure(ImmutableArray.empty()), (i, fbs, a) =>
|
|
1174
|
+
G.zipWith(fbs, f(i, a), (bs, b) => bs.append(b)),
|
|
1175
|
+
),
|
|
1176
|
+
);
|
|
1171
1177
|
|
|
1172
1178
|
/**
|
|
1173
|
-
* @tsplus
|
|
1179
|
+
* @tsplus getter fncts.ImmutableArray traverse
|
|
1174
1180
|
*/
|
|
1175
|
-
export const traverse_: P.Traversable<ImmutableArrayF>["traverse"] = (self
|
|
1176
|
-
self.traverseWithIndex((_, a) => f(a)
|
|
1181
|
+
export const traverse_: P.Traversable<ImmutableArrayF>["traverse"] = (self) => (G) => (f) =>
|
|
1182
|
+
self.traverseWithIndex(G)((_, a) => f(a));
|
|
1177
1183
|
|
|
1178
1184
|
/**
|
|
1179
1185
|
* @tsplus fluent fncts.ImmutableArray union
|
|
@@ -1292,122 +1298,59 @@ export function updateAt_<A>(as: ImmutableArray<A>, i: number, a: A): Maybe<Immu
|
|
|
1292
1298
|
}
|
|
1293
1299
|
|
|
1294
1300
|
/**
|
|
1295
|
-
* @tsplus
|
|
1296
|
-
*/
|
|
1297
|
-
export
|
|
1298
|
-
self
|
|
1299
|
-
|
|
1300
|
-
|
|
1301
|
-
|
|
1302
|
-
|
|
1303
|
-
|
|
1304
|
-
|
|
1305
|
-
|
|
1306
|
-
|
|
1307
|
-
|
|
1308
|
-
|
|
1309
|
-
|
|
1310
|
-
|
|
1311
|
-
|
|
1312
|
-
SG,
|
|
1313
|
-
RG,
|
|
1314
|
-
EG,
|
|
1315
|
-
readonly [B[], B1[]]
|
|
1316
|
-
>,
|
|
1317
|
-
(fbs, a) =>
|
|
1318
|
-
f(a).zipWith(
|
|
1319
|
-
fbs,
|
|
1320
|
-
(eb, r) =>
|
|
1321
|
-
eb.match(
|
|
1322
|
-
(b1) => {
|
|
1323
|
-
r[0].push(b1);
|
|
1324
|
-
return r;
|
|
1325
|
-
},
|
|
1326
|
-
(b2) => {
|
|
1327
|
-
r[1].push(b2);
|
|
1328
|
-
return r;
|
|
1329
|
-
},
|
|
1330
|
-
),
|
|
1331
|
-
G,
|
|
1332
|
-
),
|
|
1333
|
-
)
|
|
1334
|
-
.map(([b1s, b2s]) => [b1s.asImmutableArray, b2s.asImmutableArray], G);
|
|
1335
|
-
}
|
|
1336
|
-
|
|
1337
|
-
export function wiltWithIndex_<G extends HKT, KG, QG, WG, XG, IG, SG, RG, EG, B1, A, B>(
|
|
1338
|
-
self: ImmutableArray<A>,
|
|
1339
|
-
f: (i: number, a: A) => HKT.Kind<G, KG, QG, WG, XG, IG, SG, RG, EG, Either<B, B1>>,
|
|
1340
|
-
/** @tsplus auto */
|
|
1341
|
-
G: P.Applicative<G>,
|
|
1342
|
-
): HKT.Kind<G, KG, QG, WG, XG, IG, SG, RG, EG, readonly [ImmutableArray<B>, ImmutableArray<B1>]> {
|
|
1343
|
-
return self
|
|
1344
|
-
.foldLeftWithIndex(
|
|
1345
|
-
G.pure([[] as Array<B>, [] as Array<B1>] as const) as HKT.Kind<
|
|
1346
|
-
G,
|
|
1347
|
-
KG,
|
|
1348
|
-
QG,
|
|
1349
|
-
WG,
|
|
1350
|
-
XG,
|
|
1351
|
-
IG,
|
|
1352
|
-
SG,
|
|
1353
|
-
RG,
|
|
1354
|
-
EG,
|
|
1355
|
-
readonly [B[], B1[]]
|
|
1356
|
-
>,
|
|
1357
|
-
(i, fbs, a) =>
|
|
1358
|
-
f(i, a).zipWith(
|
|
1359
|
-
fbs,
|
|
1360
|
-
(eb, r) =>
|
|
1361
|
-
eb.match(
|
|
1362
|
-
(b1) => {
|
|
1363
|
-
r[0].push(b1);
|
|
1364
|
-
return r;
|
|
1365
|
-
},
|
|
1366
|
-
(b2) => {
|
|
1367
|
-
r[1].push(b2);
|
|
1368
|
-
return r;
|
|
1369
|
-
},
|
|
1370
|
-
),
|
|
1371
|
-
G,
|
|
1301
|
+
* @tsplus getter fncts.ImmutableArray wiltWithIndex
|
|
1302
|
+
*/
|
|
1303
|
+
export const wiltWithIndex = P.WitherableWithIndex.makeWiltWithIndex<ImmutableArrayF>()(
|
|
1304
|
+
(_) => (self) => (G) => (f) =>
|
|
1305
|
+
G.map(
|
|
1306
|
+
self.foldLeftWithIndex(G.pure([[] as Array<typeof _["B"]>, [] as Array<typeof _["B1"]>] as const), (i, fbs, a) =>
|
|
1307
|
+
G.zipWith(f(i, a), fbs, (eb, r) =>
|
|
1308
|
+
eb.match(
|
|
1309
|
+
(b1) => {
|
|
1310
|
+
r[0].push(b1);
|
|
1311
|
+
return r;
|
|
1312
|
+
},
|
|
1313
|
+
(b2) => {
|
|
1314
|
+
r[1].push(b2);
|
|
1315
|
+
return r;
|
|
1316
|
+
},
|
|
1317
|
+
),
|
|
1372
1318
|
),
|
|
1373
|
-
|
|
1374
|
-
|
|
1375
|
-
|
|
1319
|
+
),
|
|
1320
|
+
([b1s, b2s]) => [b1s.asImmutableArray, b2s.asImmutableArray],
|
|
1321
|
+
),
|
|
1322
|
+
);
|
|
1376
1323
|
|
|
1377
1324
|
/**
|
|
1378
|
-
* @tsplus
|
|
1325
|
+
* @tsplus getter fncts.ImmutableArray wilt
|
|
1379
1326
|
*/
|
|
1380
|
-
export
|
|
1381
|
-
self
|
|
1382
|
-
f: (a: A) => HKT.Kind<G, KG, QG, WG, XG, IG, SG, RG, EG, Maybe<B>>,
|
|
1383
|
-
/** @tsplus auto */ G: P.Applicative<G>,
|
|
1384
|
-
): HKT.Kind<G, KG, QG, WG, XG, IG, SG, RG, EG, ImmutableArray<B>> {
|
|
1385
|
-
return self.witherWithIndex((_, a) => f(a));
|
|
1386
|
-
}
|
|
1327
|
+
export const wilt: P.WitherableWithIndex<ImmutableArrayF>["wilt"] = (self) => (G) => (f) =>
|
|
1328
|
+
self.wiltWithIndex(G)((_, a) => f(a));
|
|
1387
1329
|
|
|
1388
1330
|
/**
|
|
1389
|
-
* @tsplus
|
|
1331
|
+
* @tsplus getter fncts.ImmutableArray witherWithIndex
|
|
1390
1332
|
*/
|
|
1391
|
-
export
|
|
1392
|
-
self
|
|
1393
|
-
|
|
1394
|
-
|
|
1395
|
-
|
|
1396
|
-
return self
|
|
1397
|
-
.foldLeftWithIndex(G.pure([] as Array<B>) as HKT.Kind<G, KG, QG, WG, XG, IG, SG, RG, EG, B[]>, (i, b, a) =>
|
|
1398
|
-
f(i, a).zipWith(
|
|
1399
|
-
b,
|
|
1400
|
-
(maybeB, bs) => {
|
|
1333
|
+
export const witherWithIndex = P.WitherableWithIndex.makeWitherWithIndex<ImmutableArrayF>()(
|
|
1334
|
+
(_) => (self) => (G) => (f) => {
|
|
1335
|
+
return G.map(
|
|
1336
|
+
self.foldLeftWithIndex(G.pure([] as Array<typeof _["B"]>), (i, b, a) =>
|
|
1337
|
+
G.zipWith(f(i, a), b, (maybeB, bs) => {
|
|
1401
1338
|
if (maybeB.isJust()) {
|
|
1402
1339
|
bs.push(maybeB.value);
|
|
1403
1340
|
}
|
|
1404
1341
|
return bs;
|
|
1405
|
-
},
|
|
1406
|
-
G,
|
|
1342
|
+
}),
|
|
1407
1343
|
),
|
|
1408
|
-
|
|
1409
|
-
|
|
1410
|
-
}
|
|
1344
|
+
(bs) => bs.asImmutableArray,
|
|
1345
|
+
);
|
|
1346
|
+
},
|
|
1347
|
+
);
|
|
1348
|
+
|
|
1349
|
+
/**
|
|
1350
|
+
* @tsplus getter fncts.ImmutableArray wither
|
|
1351
|
+
*/
|
|
1352
|
+
export const wither: P.Witherable<ImmutableArrayF>["wither"] = (self) => (G) => (f) =>
|
|
1353
|
+
self.witherWithIndex(G)((_, a) => f(a));
|
|
1411
1354
|
|
|
1412
1355
|
/**
|
|
1413
1356
|
* @tsplus fluent fncts.ImmutableArray zip
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* @tsplus getter fncts.
|
|
3
|
-
* @tsplus getter fncts.
|
|
2
|
+
* @tsplus getter fncts.ReadonlyArray asImmutableArray
|
|
3
|
+
* @tsplus getter fncts.Array asImmutableArray
|
|
4
4
|
*/
|
|
5
5
|
export function asImmutableArray<A>(self: ReadonlyArray<A>): ImmutableArray<A> {
|
|
6
6
|
return new ImmutableArray(self);
|
|
@@ -1,7 +1,13 @@
|
|
|
1
1
|
export const ImmutableArrayTypeId = Symbol.for("fncts.ImmutableArray");
|
|
2
2
|
export type ImmutableArrayTypeId = typeof ImmutableArrayTypeId;
|
|
3
3
|
|
|
4
|
-
export interface ImmutableArrayF extends
|
|
4
|
+
export interface ImmutableArrayF extends HKT {
|
|
5
|
+
type: ImmutableArray<this["A"]>;
|
|
6
|
+
variance: {
|
|
7
|
+
A: "+";
|
|
8
|
+
};
|
|
9
|
+
index: number;
|
|
10
|
+
}
|
|
5
11
|
|
|
6
12
|
/**
|
|
7
13
|
* @tsplus type fncts.ImmutableArray
|
|
@@ -9,10 +15,7 @@ export interface ImmutableArrayF extends ImmutableArray<any> {}
|
|
|
9
15
|
*/
|
|
10
16
|
export class ImmutableArray<A> implements Equatable, Hashable, Iterable<A> {
|
|
11
17
|
readonly _typeId: ImmutableArrayTypeId = ImmutableArrayTypeId;
|
|
12
|
-
|
|
13
|
-
[HKT.A]?: () => A;
|
|
14
|
-
[HKT.T]?: ImmutableArray<HKT._A<this>>;
|
|
15
|
-
[HKT.Ix]?: number;
|
|
18
|
+
readonly _A!: () => A;
|
|
16
19
|
constructor(readonly _array: ReadonlyArray<A>) {}
|
|
17
20
|
|
|
18
21
|
[Symbol.equals](that: unknown): boolean {
|
|
@@ -32,6 +35,9 @@ export class ImmutableArray<A> implements Equatable, Hashable, Iterable<A> {
|
|
|
32
35
|
}
|
|
33
36
|
}
|
|
34
37
|
|
|
38
|
+
/**
|
|
39
|
+
* @tsplus static fncts.ImmutableArrayOps is
|
|
40
|
+
*/
|
|
35
41
|
export function isImmutableArray(u: unknown): u is ImmutableArray<unknown> {
|
|
36
42
|
return hasTypeId(u, ImmutableArrayTypeId);
|
|
37
43
|
}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import type { Check } from "@fncts/typelevel/Check";
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* @tsplus derive fncts.Guard[fncts.ImmutableArray]<_> 10
|
|
5
|
+
*/
|
|
6
|
+
export function deriveGuard<A extends ImmutableArray<any>>(
|
|
7
|
+
...[element]: [A] extends [ImmutableArray<infer A>] ? [element: Guard<A>] : never
|
|
8
|
+
): Guard<A> {
|
|
9
|
+
return Guard((u): u is A => {
|
|
10
|
+
if (ImmutableArray.is(u)) {
|
|
11
|
+
return u._array.every(element.is);
|
|
12
|
+
}
|
|
13
|
+
return false;
|
|
14
|
+
});
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
/**
|
|
18
|
+
* @tsplus derive fncts.Decoder[fncts.ImmutableArray]<_> 10
|
|
19
|
+
*/
|
|
20
|
+
export function deriveDecoder<A extends ImmutableArray<any>>(
|
|
21
|
+
...[array, elem]: [A] extends [ImmutableArray<infer _A>]
|
|
22
|
+
? Check<Check.IsEqual<A, ImmutableArray<_A>>> extends Check.True
|
|
23
|
+
? [array: Decoder<Array<_A>>, elem: Decoder<_A>]
|
|
24
|
+
: never
|
|
25
|
+
: never
|
|
26
|
+
): Decoder<A> {
|
|
27
|
+
return Decoder((u) => array.decode(u).map((as) => new ImmutableArray(as) as A), `ImmutableArray<${elem.label}>`);
|
|
28
|
+
}
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
import type { ImmutableArrayF } from "@fncts/base/collection/immutable/ImmutableArray/definition";
|
|
2
|
+
import type { DecodeError } from "@fncts/base/data/DecodeError";
|
|
2
3
|
import type * as P from "@fncts/base/typeclass";
|
|
4
|
+
import type { Check } from "@fncts/typelevel/Check";
|
|
3
5
|
|
|
4
6
|
import {
|
|
5
7
|
alignWith_,
|
|
@@ -23,168 +25,171 @@ import {
|
|
|
23
25
|
partitionWithIndex_,
|
|
24
26
|
traverse_,
|
|
25
27
|
traverseWithIndex_,
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
28
|
+
wilt,
|
|
29
|
+
wiltWithIndex,
|
|
30
|
+
wither,
|
|
31
|
+
witherWithIndex,
|
|
30
32
|
} from "@fncts/base/collection/immutable/ImmutableArray/api";
|
|
31
33
|
import { empty } from "@fncts/base/collection/immutable/ImmutableArray/constructors";
|
|
34
|
+
import { isImmutableArray } from "@fncts/base/collection/immutable/ImmutableArray/definition";
|
|
35
|
+
import { CompoundError, OptionalIndexError, PrimitiveError } from "@fncts/base/data/DecodeError";
|
|
36
|
+
import { Decoder } from "@fncts/base/data/Decoder";
|
|
32
37
|
|
|
33
38
|
/**
|
|
34
39
|
* @tsplus implicit
|
|
35
40
|
*/
|
|
36
|
-
export const Align
|
|
41
|
+
export const Align = HKT.instance<P.Align<ImmutableArrayF>>({
|
|
37
42
|
map: map_,
|
|
38
43
|
alignWith: alignWith_,
|
|
39
44
|
nil: empty,
|
|
40
|
-
};
|
|
45
|
+
});
|
|
41
46
|
|
|
42
47
|
/**
|
|
43
48
|
* @tsplus implicit
|
|
44
49
|
*/
|
|
45
|
-
export const Functor
|
|
50
|
+
export const Functor = HKT.instance<P.Functor<ImmutableArrayF>>({
|
|
46
51
|
map: map_,
|
|
47
|
-
};
|
|
52
|
+
});
|
|
48
53
|
|
|
49
54
|
/**
|
|
50
55
|
* @tsplus implicit
|
|
51
56
|
*/
|
|
52
|
-
export const FunctorWithIndex
|
|
57
|
+
export const FunctorWithIndex = HKT.instance<P.FunctorWithIndex<ImmutableArrayF>>({
|
|
53
58
|
map: map_,
|
|
54
59
|
mapWithIndex: mapWithIndex_,
|
|
55
|
-
};
|
|
60
|
+
});
|
|
56
61
|
|
|
57
62
|
/**
|
|
58
63
|
* @tsplus implicit
|
|
59
64
|
*/
|
|
60
|
-
export const Apply
|
|
65
|
+
export const Apply = HKT.instance<P.Apply<ImmutableArrayF>>({
|
|
61
66
|
map: map_,
|
|
62
67
|
zip: cross_,
|
|
63
68
|
zipWith: crossWith_,
|
|
64
|
-
};
|
|
69
|
+
});
|
|
65
70
|
|
|
66
71
|
/**
|
|
67
72
|
* @tsplus implicit
|
|
68
73
|
*/
|
|
69
|
-
export const Applicative
|
|
74
|
+
export const Applicative = HKT.instance<P.Applicative<ImmutableArrayF>>({
|
|
70
75
|
map: map_,
|
|
71
76
|
zip: cross_,
|
|
72
77
|
zipWith: crossWith_,
|
|
73
78
|
pure: (a) => ImmutableArray(a),
|
|
74
|
-
};
|
|
79
|
+
});
|
|
75
80
|
|
|
76
81
|
/**
|
|
77
82
|
* @tsplus implicit
|
|
78
83
|
*/
|
|
79
|
-
export const Alt
|
|
84
|
+
export const Alt = HKT.instance<P.Alt<ImmutableArrayF>>({
|
|
80
85
|
map: map_,
|
|
81
86
|
alt: alt_,
|
|
82
|
-
};
|
|
87
|
+
});
|
|
83
88
|
|
|
84
89
|
/**
|
|
85
90
|
* @tsplus implicit
|
|
86
91
|
*/
|
|
87
|
-
export const Alternative
|
|
92
|
+
export const Alternative = HKT.instance<P.Alternative<ImmutableArrayF>>({
|
|
88
93
|
map: map_,
|
|
89
94
|
zip: cross_,
|
|
90
95
|
zipWith: crossWith_,
|
|
91
96
|
pure: (a) => ImmutableArray(a),
|
|
92
97
|
alt: alt_,
|
|
93
98
|
nil: empty,
|
|
94
|
-
};
|
|
99
|
+
});
|
|
95
100
|
|
|
96
101
|
/**
|
|
97
102
|
* @tsplus implicit
|
|
98
103
|
*/
|
|
99
|
-
export const Filterable
|
|
104
|
+
export const Filterable = HKT.instance<P.Filterable<ImmutableArrayF>>({
|
|
100
105
|
map: map_,
|
|
101
106
|
filter: filter_,
|
|
102
107
|
filterMap: filterMap_,
|
|
103
108
|
partition: partition_,
|
|
104
109
|
partitionMap: partitionMap_,
|
|
105
|
-
};
|
|
110
|
+
});
|
|
106
111
|
|
|
107
112
|
/**
|
|
108
113
|
* @tsplus implicit
|
|
109
114
|
*/
|
|
110
|
-
export const FilterableWithIndex
|
|
115
|
+
export const FilterableWithIndex = HKT.instance<P.FilterableWithIndex<ImmutableArrayF>>({
|
|
111
116
|
...FunctorWithIndex,
|
|
112
117
|
...Filterable,
|
|
113
118
|
filterWithIndex: filterWithIndex_,
|
|
114
119
|
filterMapWithIndex: filterMapWithIndex_,
|
|
115
120
|
partitionWithIndex: partitionWithIndex_,
|
|
116
121
|
partitionMapWithIndex: partitionMapWithIndex_,
|
|
117
|
-
};
|
|
122
|
+
});
|
|
118
123
|
|
|
119
124
|
/**
|
|
120
125
|
* @tsplus implicit
|
|
121
126
|
*/
|
|
122
|
-
export const Foldable
|
|
127
|
+
export const Foldable = HKT.instance<P.Foldable<ImmutableArrayF>>({
|
|
123
128
|
foldLeft: foldLeft_,
|
|
124
129
|
foldRight: foldRight_,
|
|
125
|
-
};
|
|
130
|
+
});
|
|
126
131
|
|
|
127
132
|
/**
|
|
128
133
|
* @tsplus implicit
|
|
129
134
|
*/
|
|
130
|
-
export const FoldableWithIndex
|
|
135
|
+
export const FoldableWithIndex = HKT.instance<P.FoldableWithIndex<ImmutableArrayF>>({
|
|
131
136
|
...Foldable,
|
|
132
137
|
foldLeftWithIndex: foldLeftWithIndex_,
|
|
133
138
|
foldRightWithIndex: foldRightWithIndex_,
|
|
134
|
-
};
|
|
139
|
+
});
|
|
135
140
|
|
|
136
141
|
/**
|
|
137
142
|
* @tsplus implicit
|
|
138
143
|
*/
|
|
139
|
-
export const FlatMap
|
|
144
|
+
export const FlatMap = HKT.instance<P.FlatMap<ImmutableArrayF>>({
|
|
140
145
|
...Functor,
|
|
141
146
|
flatMap: flatMap_,
|
|
142
|
-
};
|
|
147
|
+
});
|
|
143
148
|
|
|
144
149
|
/**
|
|
145
150
|
* @tsplus implicit
|
|
146
151
|
*/
|
|
147
|
-
export const Monad
|
|
152
|
+
export const Monad = HKT.instance<P.Monad<ImmutableArrayF>>({
|
|
148
153
|
...Applicative,
|
|
149
154
|
...FlatMap,
|
|
150
|
-
};
|
|
155
|
+
});
|
|
151
156
|
|
|
152
157
|
/**
|
|
153
158
|
* @tsplus implicit
|
|
154
159
|
*/
|
|
155
|
-
export const Traversable
|
|
160
|
+
export const Traversable = HKT.instance<P.Traversable<ImmutableArrayF>>({
|
|
156
161
|
...Functor,
|
|
157
162
|
...Foldable,
|
|
158
163
|
traverse: traverse_,
|
|
159
|
-
};
|
|
164
|
+
});
|
|
160
165
|
|
|
161
166
|
/**
|
|
162
167
|
* @tsplus implicit
|
|
163
168
|
*/
|
|
164
|
-
export const TraversableWithIndex
|
|
169
|
+
export const TraversableWithIndex = HKT.instance<P.TraversableWithIndex<ImmutableArrayF>>({
|
|
165
170
|
...Traversable,
|
|
166
171
|
...FoldableWithIndex,
|
|
167
172
|
...FunctorWithIndex,
|
|
168
173
|
traverseWithIndex: traverseWithIndex_,
|
|
169
|
-
};
|
|
174
|
+
});
|
|
170
175
|
|
|
171
176
|
/**
|
|
172
177
|
* @tsplus implicit
|
|
173
178
|
*/
|
|
174
|
-
export const Witherable
|
|
179
|
+
export const Witherable = HKT.instance<P.Witherable<ImmutableArrayF>>({
|
|
175
180
|
...Traversable,
|
|
176
181
|
...Filterable,
|
|
177
|
-
wither
|
|
178
|
-
wilt
|
|
179
|
-
};
|
|
182
|
+
wither,
|
|
183
|
+
wilt,
|
|
184
|
+
});
|
|
180
185
|
|
|
181
186
|
/**
|
|
182
187
|
* @tsplus implicit
|
|
183
188
|
*/
|
|
184
|
-
export const WitherableWithIndex
|
|
189
|
+
export const WitherableWithIndex = HKT.instance<P.WitherableWithIndex<ImmutableArrayF>>({
|
|
185
190
|
...TraversableWithIndex,
|
|
186
191
|
...FilterableWithIndex,
|
|
187
192
|
...Witherable,
|
|
188
|
-
witherWithIndex
|
|
189
|
-
wiltWithIndex
|
|
190
|
-
};
|
|
193
|
+
witherWithIndex,
|
|
194
|
+
wiltWithIndex,
|
|
195
|
+
});
|