@fncts/base 0.0.12 → 0.0.15
Sign up to get free protection for your applications and to get access to all the features.
- 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
@@ -1,23 +1,23 @@
|
|
1
1
|
import type * as P from "../../typeclass.js";
|
2
|
-
import type {
|
2
|
+
import type { ConstF } from "@fncts/base/data/Const/definition";
|
3
3
|
|
4
4
|
import { Const } from "@fncts/base/data/Const/definition";
|
5
5
|
|
6
6
|
/**
|
7
7
|
* @tsplus static fncts.ConstOps getApply
|
8
8
|
*/
|
9
|
-
export function getApply<E>(S: P.Semigroup<E>)
|
10
|
-
return {
|
9
|
+
export function getApply<E>(S: P.Semigroup<E>) {
|
10
|
+
return HKT.instance<P.Apply<ConstF, HKT.Fix<"E", E>>>({
|
11
11
|
map: (fa, f) => fa.map(f),
|
12
12
|
zip: (self, that) => Const(S.combine(self.getConst, that.getConst)),
|
13
13
|
zipWith: (self, that, _f) => Const(S.combine(self.getConst, that.getConst)),
|
14
|
-
};
|
14
|
+
});
|
15
15
|
}
|
16
16
|
|
17
17
|
/**
|
18
18
|
* @tsplus static fncts.ConstOps getApplicative
|
19
19
|
*/
|
20
|
-
export function getApplicative<E>(M: P.Monoid<E>): P.Applicative<
|
20
|
+
export function getApplicative<E>(M: P.Monoid<E>): P.Applicative<ConstF, HKT.Fix<"E", E>> {
|
21
21
|
return {
|
22
22
|
...getApply(M),
|
23
23
|
pure: <A>() => Const<E, A>(M.nat),
|
@@ -0,0 +1,376 @@
|
|
1
|
+
import type { DatumF } from "@fncts/base/data/Datum/definition";
|
2
|
+
import type * as P from "@fncts/base/typeclass";
|
3
|
+
import type { Eq } from "@fncts/base/typeclass/Eq";
|
4
|
+
|
5
|
+
import { DatumTag, Initial, Pending, Refresh, Replete } from "@fncts/base/data/Datum/definition";
|
6
|
+
import { Zipped } from "@fncts/base/data/Zipped";
|
7
|
+
|
8
|
+
import { TheseTag } from "../These.js";
|
9
|
+
|
10
|
+
const _Initial = new Initial();
|
11
|
+
|
12
|
+
/**
|
13
|
+
* @tsplus static fncts.DatumOps initial
|
14
|
+
* @tsplus static fncts.Datum.InitialOps __call
|
15
|
+
*/
|
16
|
+
export function initial<A = never>(): Datum<A> {
|
17
|
+
return _Initial;
|
18
|
+
}
|
19
|
+
|
20
|
+
const _Pending = new Pending();
|
21
|
+
|
22
|
+
/**
|
23
|
+
* @tsplus static fncts.DatumOps pending
|
24
|
+
* @tsplus static fncts.Datum.PendingOps __call
|
25
|
+
*/
|
26
|
+
export function pending<A = never>(): Datum<A> {
|
27
|
+
return _Pending;
|
28
|
+
}
|
29
|
+
|
30
|
+
/**
|
31
|
+
* @tsplus static fncts.DatumOps refresh
|
32
|
+
* @tsplus static fncts.Datum.RefreshOps __call
|
33
|
+
*/
|
34
|
+
export function refresh<A>(value: A): Datum<A> {
|
35
|
+
return new Refresh(value);
|
36
|
+
}
|
37
|
+
|
38
|
+
/**
|
39
|
+
* @tsplus static fncts.DatumOps replete
|
40
|
+
* @tsplus static fncts.Datum.RepleteOps __call
|
41
|
+
*/
|
42
|
+
export function replete<A>(value: A): Datum<A> {
|
43
|
+
return new Replete(value);
|
44
|
+
}
|
45
|
+
|
46
|
+
/**
|
47
|
+
* @tsplus getter fncts.Datum value
|
48
|
+
*/
|
49
|
+
export function left<E, A>(self: Datum<A>): A | undefined {
|
50
|
+
return self.isNonEmpty() ? self.value : undefined;
|
51
|
+
}
|
52
|
+
|
53
|
+
/**
|
54
|
+
* @tsplus fluent fncts.Datum isInitial
|
55
|
+
*/
|
56
|
+
export function isInitial<A>(self: Datum<A>): self is Initial {
|
57
|
+
return self._tag === DatumTag.Initial;
|
58
|
+
}
|
59
|
+
|
60
|
+
/**
|
61
|
+
* @tsplus fluent fncts.Datum isPending
|
62
|
+
*/
|
63
|
+
export function isPending<A>(self: Datum<A>): self is Pending {
|
64
|
+
return self._tag === DatumTag.Pending;
|
65
|
+
}
|
66
|
+
|
67
|
+
/**
|
68
|
+
* @tsplus fluent fncts.Datum isRefresh
|
69
|
+
*/
|
70
|
+
export function isRefresh<A>(self: Datum<A>): self is Refresh<A> {
|
71
|
+
return self._tag === DatumTag.Refresh;
|
72
|
+
}
|
73
|
+
|
74
|
+
/**
|
75
|
+
* @tsplus fluent fncts.Datum isReplete
|
76
|
+
*/
|
77
|
+
export function isReplete<A>(self: Datum<A>): self is Replete<A> {
|
78
|
+
return self._tag === DatumTag.Replete;
|
79
|
+
}
|
80
|
+
|
81
|
+
/**
|
82
|
+
* @tsplus fluent fncts.Datum isEmpty
|
83
|
+
*/
|
84
|
+
export function isEmpty<A>(self: Datum<A>): self is Initial | Pending {
|
85
|
+
return self.isInitial() || self.isPending();
|
86
|
+
}
|
87
|
+
|
88
|
+
/**
|
89
|
+
* @tsplus fluent fncts.Datum isNonEmpty
|
90
|
+
*/
|
91
|
+
export function isNonEmpty<A>(self: Datum<A>): self is Refresh<A> | Replete<A> {
|
92
|
+
return self.isRefresh() || self.isReplete();
|
93
|
+
}
|
94
|
+
|
95
|
+
/**
|
96
|
+
* @tsplus fluent fncts.Datum isLoading
|
97
|
+
*/
|
98
|
+
export function isLoading<A>(self: Datum<A>): self is Pending | Refresh<A> {
|
99
|
+
return self.isPending() || self.isRefresh();
|
100
|
+
}
|
101
|
+
|
102
|
+
/**
|
103
|
+
* @tsplus fluent fncts.Datum elem
|
104
|
+
*/
|
105
|
+
export function elem<A>(self: Datum<A>, a: A, /** @tsplus auto */ E: Eq<A>): boolean {
|
106
|
+
return self.match({
|
107
|
+
Initial: () => false,
|
108
|
+
Pending: () => false,
|
109
|
+
Refresh: (value) => E.equals(a, value),
|
110
|
+
Replete: (value) => E.equals(a, value),
|
111
|
+
});
|
112
|
+
}
|
113
|
+
|
114
|
+
/**
|
115
|
+
* @tsplus fluent fncts.Datum exists
|
116
|
+
*/
|
117
|
+
export function exists<A, B extends A>(self: Datum<A>, p: Refinement<A, B>): self is Datum<B>;
|
118
|
+
export function exists<A>(self: Datum<A>, p: Predicate<A>): boolean;
|
119
|
+
export function exists<A>(self: Datum<A>, p: Predicate<A>): boolean {
|
120
|
+
return self.match({
|
121
|
+
Initial: () => false,
|
122
|
+
Pending: () => false,
|
123
|
+
Refresh: p,
|
124
|
+
Replete: p,
|
125
|
+
});
|
126
|
+
}
|
127
|
+
|
128
|
+
/**
|
129
|
+
* @tsplus fluent fncts.Datum extend
|
130
|
+
*/
|
131
|
+
export function extend<A, B>(self: Datum<A>, f: (wa: Datum<A>) => B): Datum<B> {
|
132
|
+
return Replete(f(self));
|
133
|
+
}
|
134
|
+
|
135
|
+
/**
|
136
|
+
* @tsplus fluent fncts.Datum filter
|
137
|
+
*/
|
138
|
+
export function filter<A, B extends A>(self: Datum<A>, p: Refinement<A, B>): Datum<B>;
|
139
|
+
export function filter<A>(self: Datum<A>, p: Predicate<A>): Datum<A>;
|
140
|
+
export function filter<A>(self: Datum<A>, p: Predicate<A>): Datum<A> {
|
141
|
+
return self.match({
|
142
|
+
Initial: () => self,
|
143
|
+
Pending: () => self,
|
144
|
+
Refresh: (a) => (p(a) ? self : Initial()),
|
145
|
+
Replete: (a) => (p(a) ? self : Initial()),
|
146
|
+
});
|
147
|
+
}
|
148
|
+
|
149
|
+
/**
|
150
|
+
* @tsplus fluent fncts.Datum filterMap
|
151
|
+
*/
|
152
|
+
export function filterMap<A, B>(self: Datum<A>, f: (a: A) => Maybe<B>): Datum<B> {
|
153
|
+
return self.match({
|
154
|
+
Initial: () => unsafeCoerce(self),
|
155
|
+
Pending: () => unsafeCoerce(self),
|
156
|
+
Refresh: (value) =>
|
157
|
+
f(value).match(
|
158
|
+
() => Initial(),
|
159
|
+
(b) => Refresh(b),
|
160
|
+
),
|
161
|
+
Replete: (value) =>
|
162
|
+
f(value).match(
|
163
|
+
() => Initial(),
|
164
|
+
(b) => Replete(b),
|
165
|
+
),
|
166
|
+
});
|
167
|
+
}
|
168
|
+
|
169
|
+
/**
|
170
|
+
* @tsplus fluent fncts.Datum flatMap
|
171
|
+
*/
|
172
|
+
export function flatMap<A, B>(self: Datum<A>, f: (a: A) => Datum<B>): Datum<B> {
|
173
|
+
if (self.isEmpty()) {
|
174
|
+
return self;
|
175
|
+
}
|
176
|
+
const that = f(self.value);
|
177
|
+
|
178
|
+
if (that.isEmpty()) {
|
179
|
+
return that;
|
180
|
+
}
|
181
|
+
return self.isRefresh() || that.isRefresh() ? Refresh(that.value!) : Replete(that.value!);
|
182
|
+
}
|
183
|
+
|
184
|
+
/**
|
185
|
+
* @tsplus fluent fncts.Datum foldLeft
|
186
|
+
*/
|
187
|
+
export function foldLeft<A, B>(self: Datum<A>, b: B, f: (b: B, a: A) => B): B {
|
188
|
+
return self.match({
|
189
|
+
Initial: () => b,
|
190
|
+
Pending: () => b,
|
191
|
+
Refresh: (a) => f(b, a),
|
192
|
+
Replete: (a) => f(b, a),
|
193
|
+
});
|
194
|
+
}
|
195
|
+
|
196
|
+
/**
|
197
|
+
* @tsplus fluent fncts.Datum foldMap
|
198
|
+
*/
|
199
|
+
export function foldMap<A, M>(self: Datum<A>, f: (a: A) => M, /** @tsplus auto */ M: P.Monoid<M>): M {
|
200
|
+
return self.match({
|
201
|
+
Initial: () => M.nat,
|
202
|
+
Pending: () => M.nat,
|
203
|
+
Refresh: f,
|
204
|
+
Replete: f,
|
205
|
+
});
|
206
|
+
}
|
207
|
+
|
208
|
+
/**
|
209
|
+
* @tsplus fluent fncts.Datum foldRight
|
210
|
+
*/
|
211
|
+
export function foldRight<A, B>(self: Datum<A>, b: B, f: (a: A, b: B) => B): B {
|
212
|
+
return self.match({
|
213
|
+
Initial: () => b,
|
214
|
+
Pending: () => b,
|
215
|
+
Refresh: (a) => f(a, b),
|
216
|
+
Replete: (a) => f(a, b),
|
217
|
+
});
|
218
|
+
}
|
219
|
+
|
220
|
+
/**
|
221
|
+
* @tsplus fluent fncts.Datum getOrElse
|
222
|
+
*/
|
223
|
+
export function getOrElse<A, B>(self: Datum<A>, b: Lazy<B>): A | B {
|
224
|
+
return self.match({
|
225
|
+
Initial: b,
|
226
|
+
Pending: b,
|
227
|
+
Refresh: Function.identity,
|
228
|
+
Replete: Function.identity,
|
229
|
+
});
|
230
|
+
}
|
231
|
+
|
232
|
+
/**
|
233
|
+
* @tsplus fluent fncts.Datum match
|
234
|
+
*/
|
235
|
+
export function match<A, B, C, D, E>(
|
236
|
+
self: Datum<A>,
|
237
|
+
cases: {
|
238
|
+
Initial: () => B;
|
239
|
+
Pending: () => C;
|
240
|
+
Refresh: (a: A) => D;
|
241
|
+
Replete: (a: A) => E;
|
242
|
+
},
|
243
|
+
): B | C | D | E {
|
244
|
+
switch (self._tag) {
|
245
|
+
case DatumTag.Initial:
|
246
|
+
return cases.Initial();
|
247
|
+
case DatumTag.Pending:
|
248
|
+
return cases.Pending();
|
249
|
+
case DatumTag.Refresh:
|
250
|
+
return cases.Refresh(self.value);
|
251
|
+
case DatumTag.Replete:
|
252
|
+
return cases.Replete(self.value);
|
253
|
+
}
|
254
|
+
}
|
255
|
+
|
256
|
+
/**
|
257
|
+
* @tsplus fluent fncts.Datum match2
|
258
|
+
*/
|
259
|
+
export function match2<A, B, C>(
|
260
|
+
self: Datum<A>,
|
261
|
+
onEmpty: (isLoading: boolean) => B,
|
262
|
+
onValue: (a: A, isLoading: boolean) => C,
|
263
|
+
): B | C {
|
264
|
+
switch (self._tag) {
|
265
|
+
case DatumTag.Initial:
|
266
|
+
return onEmpty(false);
|
267
|
+
case DatumTag.Pending:
|
268
|
+
return onEmpty(true);
|
269
|
+
case DatumTag.Refresh:
|
270
|
+
return onValue(self.value, true);
|
271
|
+
case DatumTag.Replete:
|
272
|
+
return onValue(self.value, false);
|
273
|
+
}
|
274
|
+
}
|
275
|
+
|
276
|
+
/**
|
277
|
+
* @tsplus fluent fncts.Datum map
|
278
|
+
*/
|
279
|
+
export function map<A, B>(self: Datum<A>, f: (a: A) => B): Datum<B> {
|
280
|
+
switch (self._tag) {
|
281
|
+
case DatumTag.Initial:
|
282
|
+
case DatumTag.Pending:
|
283
|
+
return self;
|
284
|
+
case DatumTag.Refresh:
|
285
|
+
return Refresh(f(self.value));
|
286
|
+
case DatumTag.Replete:
|
287
|
+
return Replete(f(self.value));
|
288
|
+
}
|
289
|
+
}
|
290
|
+
|
291
|
+
/**
|
292
|
+
* @tsplus fluent fncts.Datum orElse
|
293
|
+
*/
|
294
|
+
export function orElse<A, B>(self: Datum<A>, that: Lazy<Datum<B>>): Datum<A | B> {
|
295
|
+
return self.match({
|
296
|
+
Initial: that,
|
297
|
+
Pending: that,
|
298
|
+
Refresh: () => self,
|
299
|
+
Replete: () => self,
|
300
|
+
});
|
301
|
+
}
|
302
|
+
|
303
|
+
/**
|
304
|
+
* @tsplus fluent fncts.Datum partition
|
305
|
+
*/
|
306
|
+
export function partition<A, B extends A>(self: Datum<A>, p: Refinement<A, B>): [Datum<A>, Datum<B>];
|
307
|
+
export function partition<A>(self: Datum<A>, p: Predicate<A>): [Datum<A>, Datum<A>];
|
308
|
+
export function partition<A>(self: Datum<A>, p: Predicate<A>): [Datum<A>, Datum<A>] {
|
309
|
+
return [self.filter(p.invert), self.filter(p)];
|
310
|
+
}
|
311
|
+
|
312
|
+
/**
|
313
|
+
* @tsplus fluent fncts.Datum partitionMap
|
314
|
+
*/
|
315
|
+
export function partitionMap<A, B, C>(self: Datum<A>, f: (a: A) => Either<B, C>): [Datum<B>, Datum<C>] {
|
316
|
+
return self.match({
|
317
|
+
Initial: () => [Initial(), Initial()],
|
318
|
+
Pending: () => [Pending(), Pending()],
|
319
|
+
Refresh: (a) =>
|
320
|
+
f(a).match(
|
321
|
+
(b) => [Refresh(b), Initial()],
|
322
|
+
(c) => [Initial(), Refresh(c)],
|
323
|
+
),
|
324
|
+
Replete: (a) =>
|
325
|
+
f(a).match(
|
326
|
+
(b) => [Replete(b), Initial()],
|
327
|
+
(c) => [Initial(), Replete(c)],
|
328
|
+
),
|
329
|
+
});
|
330
|
+
}
|
331
|
+
|
332
|
+
/**
|
333
|
+
* @tsplus getter fncts.Datum toPending
|
334
|
+
*/
|
335
|
+
export function toPending<A>(self: Datum<A>): Datum<A> {
|
336
|
+
return self.isEmpty() ? self : Refresh(self.value);
|
337
|
+
}
|
338
|
+
|
339
|
+
/**
|
340
|
+
* @tsplus getter fncts.Datum toReplete
|
341
|
+
*/
|
342
|
+
export function toReplete<A>(self: Datum<A>): Datum<A> {
|
343
|
+
return self.isEmpty() ? self : Replete(self.value);
|
344
|
+
}
|
345
|
+
|
346
|
+
/**
|
347
|
+
* @tsplus fluent fncts.Datum traverse
|
348
|
+
*/
|
349
|
+
export const traverse: P.Traversable<DatumF>["traverse"] = (self) => (A) => (f) =>
|
350
|
+
self.match({
|
351
|
+
Initial: () => A.pure(Initial()),
|
352
|
+
Pending: () => A.pure(Pending()),
|
353
|
+
Refresh: (a) => A.map(f(a), (b) => Refresh(b)),
|
354
|
+
Replete: (a) => A.map(f(a), (b) => Replete(b)),
|
355
|
+
});
|
356
|
+
|
357
|
+
/**
|
358
|
+
* @tsplus fluent fncts.Datum zip
|
359
|
+
*/
|
360
|
+
export function zip<A, B>(self: Datum<A>, that: Datum<B>): Datum<Zipped.Make<A, B>> {
|
361
|
+
return self.zipWith(that, (a, b) => Zipped(a, b));
|
362
|
+
}
|
363
|
+
|
364
|
+
/**
|
365
|
+
* @tsplus fluent fncts.Datum zipWith
|
366
|
+
*/
|
367
|
+
export function zipWith<A, B, C>(self: Datum<A>, that: Datum<B>, f: (a: A, b: B) => C): Datum<C> {
|
368
|
+
if (self.isEmpty()) {
|
369
|
+
return self;
|
370
|
+
}
|
371
|
+
if (that.isEmpty()) {
|
372
|
+
return that;
|
373
|
+
}
|
374
|
+
const c = f(self.value, that.value);
|
375
|
+
return self.isRefresh() || that.isRefresh() ? Refresh(c) : Replete(c);
|
376
|
+
}
|
@@ -0,0 +1,102 @@
|
|
1
|
+
export const enum DatumTag {
|
2
|
+
Initial = "Initial",
|
3
|
+
Pending = "Pending",
|
4
|
+
Refresh = "Refresh",
|
5
|
+
Replete = "Replete",
|
6
|
+
}
|
7
|
+
|
8
|
+
export const DatumTypeId = Symbol.for("fncts.Datum");
|
9
|
+
export type DatumTypeId = typeof DatumTypeId;
|
10
|
+
|
11
|
+
export interface DatumF extends HKT {
|
12
|
+
type: Datum<this["A"]>;
|
13
|
+
variance: {
|
14
|
+
A: "+";
|
15
|
+
};
|
16
|
+
}
|
17
|
+
|
18
|
+
/**
|
19
|
+
* @tsplus type fncts.Datum
|
20
|
+
*/
|
21
|
+
export type Datum<A> = Initial | Pending | Refresh<A> | Replete<A>;
|
22
|
+
|
23
|
+
/**
|
24
|
+
* @tsplus type fncts.DatumOps
|
25
|
+
*/
|
26
|
+
export interface DatumOps {}
|
27
|
+
|
28
|
+
export const Datum: DatumOps = {};
|
29
|
+
|
30
|
+
const datumHash = Hashable.string("fncts.Datum");
|
31
|
+
|
32
|
+
const initialHash = Hashable.combine(datumHash, Hashable.string(DatumTag.Initial));
|
33
|
+
|
34
|
+
/**
|
35
|
+
* @tsplus type fncts.Datum.Initial
|
36
|
+
* @tsplus companion fncts.Datum.InitialOps
|
37
|
+
*/
|
38
|
+
export class Initial implements Hashable, Equatable {
|
39
|
+
readonly _tag = DatumTag.Initial;
|
40
|
+
get [Symbol.hash](): number {
|
41
|
+
return initialHash;
|
42
|
+
}
|
43
|
+
[Symbol.equals](that: unknown): boolean {
|
44
|
+
return isDatum(that) && that._tag === this._tag;
|
45
|
+
}
|
46
|
+
}
|
47
|
+
|
48
|
+
const pendingHash = Hashable.combine(datumHash, Hashable.string(DatumTag.Pending));
|
49
|
+
|
50
|
+
/**
|
51
|
+
* @tsplus type fncts.Datum.Pending
|
52
|
+
* @tsplus companion fncts.Datum.PendingOps
|
53
|
+
*/
|
54
|
+
export class Pending implements Hashable, Equatable {
|
55
|
+
readonly _typeId: DatumTypeId = DatumTypeId;
|
56
|
+
readonly _tag = DatumTag.Pending;
|
57
|
+
get [Symbol.hash](): number {
|
58
|
+
return pendingHash;
|
59
|
+
}
|
60
|
+
[Symbol.equals](that: unknown): boolean {
|
61
|
+
return isDatum(that) && that._tag === this._tag;
|
62
|
+
}
|
63
|
+
}
|
64
|
+
|
65
|
+
/**
|
66
|
+
* @tsplus type fncts.Datum.Refresh
|
67
|
+
* @tsplus companion fncts.Datum.RefreshOps
|
68
|
+
*/
|
69
|
+
export class Refresh<A> implements Hashable, Equatable {
|
70
|
+
readonly _typeId: DatumTypeId = DatumTypeId;
|
71
|
+
readonly _tag = DatumTag.Refresh;
|
72
|
+
constructor(readonly value: A) {}
|
73
|
+
get [Symbol.hash](): number {
|
74
|
+
return Hashable.combine(Hashable.combine(datumHash, Hashable.string(this._tag)), Hashable.unknown(this.value));
|
75
|
+
}
|
76
|
+
[Symbol.equals](that: unknown): boolean {
|
77
|
+
return isDatum(that) && this._tag === that._tag && Equatable.strictEquals(this.value, that.value);
|
78
|
+
}
|
79
|
+
}
|
80
|
+
|
81
|
+
/**
|
82
|
+
* @tsplus type fncts.Datum.Replete
|
83
|
+
* @tsplus companion fncts.Datum.RepleteOps
|
84
|
+
*/
|
85
|
+
export class Replete<A> implements Hashable, Equatable {
|
86
|
+
readonly _typeId: DatumTypeId = DatumTypeId;
|
87
|
+
readonly _tag = DatumTag.Replete;
|
88
|
+
constructor(readonly value: A) {}
|
89
|
+
get [Symbol.hash](): number {
|
90
|
+
return Hashable.combine(Hashable.combine(datumHash, Hashable.string(this._tag)), Hashable.unknown(this.value));
|
91
|
+
}
|
92
|
+
[Symbol.equals](that: unknown): boolean {
|
93
|
+
return isDatum(that) && this._tag === that._tag && Equatable.strictEquals(this.value, that.value);
|
94
|
+
}
|
95
|
+
}
|
96
|
+
|
97
|
+
/**
|
98
|
+
* @tsplus static fncts.DatumOps is
|
99
|
+
*/
|
100
|
+
export function isDatum(u: unknown): u is Datum<unknown> {
|
101
|
+
return hasTypeId(u, DatumTypeId);
|
102
|
+
}
|
@@ -0,0 +1,34 @@
|
|
1
|
+
import type { DatumF } from "./definition.js";
|
2
|
+
import type * as P from "@fncts/base/typeclass";
|
3
|
+
|
4
|
+
import { flatMap, map, replete, zip, zipWith } from "@fncts/base/data/Datum/api";
|
5
|
+
|
6
|
+
/**
|
7
|
+
* @tsplus static fncts.DatumOps Functor
|
8
|
+
* @tsplus implicit
|
9
|
+
*/
|
10
|
+
export const Functor = HKT.instance<P.Functor<DatumF>>({ map });
|
11
|
+
|
12
|
+
/**
|
13
|
+
* @tsplus static fncts.DatumOps Semimonoidal
|
14
|
+
* @tsplus implicit
|
15
|
+
*/
|
16
|
+
export const Semimonoidal = HKT.instance<P.Semimonoidal<DatumF>>({ zip });
|
17
|
+
|
18
|
+
/**
|
19
|
+
* @tsplus static fncts.DatumOps Apply
|
20
|
+
* @tsplus implicit
|
21
|
+
*/
|
22
|
+
export const Apply = HKT.instance<P.Apply<DatumF>>({ map, zip, zipWith });
|
23
|
+
|
24
|
+
/**
|
25
|
+
* @tsplus static fncts.DatumOps Applicative
|
26
|
+
* @tsplus implicit
|
27
|
+
*/
|
28
|
+
export const Applicative = HKT.instance<P.Applicative<DatumF>>({ map, zip, zipWith, pure: replete });
|
29
|
+
|
30
|
+
/**
|
31
|
+
* @tsplus static fncts.DatumOps Monad
|
32
|
+
* @tsplus implicit
|
33
|
+
*/
|
34
|
+
export const Monad = HKT.instance<P.Monad<DatumF>>({ map, zip, zipWith, pure: replete, flatMap });
|