@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
|
@@ -1,16 +1,19 @@
|
|
|
1
|
-
export const EvalTypeId = Symbol.for("@fncts
|
|
1
|
+
export const EvalTypeId = Symbol.for("@fncts/control/Eval");
|
|
2
2
|
export type EvalTypeId = typeof EvalTypeId;
|
|
3
3
|
|
|
4
|
-
export interface EvalF extends
|
|
4
|
+
export interface EvalF extends HKT {
|
|
5
|
+
type: Eval<this["A"]>;
|
|
6
|
+
variance: {
|
|
7
|
+
A: "+";
|
|
8
|
+
};
|
|
9
|
+
}
|
|
5
10
|
|
|
6
11
|
/**
|
|
7
12
|
* @tsplus type fncts.control.Eval
|
|
8
13
|
*/
|
|
9
14
|
export interface Eval<A> {
|
|
10
15
|
readonly _typeId: EvalTypeId;
|
|
11
|
-
|
|
12
|
-
[HKT.A]?: () => A;
|
|
13
|
-
[HKT.T]?: Eval<HKT._A<this>>;
|
|
16
|
+
readonly _A: () => A;
|
|
14
17
|
}
|
|
15
18
|
|
|
16
19
|
/**
|
|
@@ -1,32 +1,32 @@
|
|
|
1
1
|
import type { EvalF } from "@fncts/base/control/Eval/definition";
|
|
2
2
|
import type * as P from "@fncts/base/typeclass";
|
|
3
3
|
|
|
4
|
-
import {
|
|
4
|
+
import { map_, zip_, zipWith_ } from "@fncts/base/control/Eval/api";
|
|
5
5
|
import { now } from "@fncts/base/control/Eval/constructors";
|
|
6
6
|
|
|
7
7
|
/**
|
|
8
8
|
* @tsplus static fncts.control.EvalOps Functor
|
|
9
9
|
* @tsplus implicit
|
|
10
10
|
*/
|
|
11
|
-
export const Functor
|
|
11
|
+
export const Functor = HKT.instance<P.Functor<EvalF>>({
|
|
12
12
|
map: map_,
|
|
13
|
-
};
|
|
13
|
+
});
|
|
14
14
|
|
|
15
15
|
/**
|
|
16
16
|
* @tsplus static fncts.control.EvalOps Apply
|
|
17
17
|
* @tsplus implicit
|
|
18
18
|
*/
|
|
19
|
-
export const Apply
|
|
19
|
+
export const Apply = HKT.instance<P.Apply<EvalF>>({
|
|
20
20
|
map: map_,
|
|
21
21
|
zip: zip_,
|
|
22
22
|
zipWith: zipWith_,
|
|
23
|
-
};
|
|
23
|
+
});
|
|
24
24
|
|
|
25
25
|
/**
|
|
26
26
|
* @tsplus static fncts.control.EvalOps Applicative
|
|
27
27
|
* @tsplus implicit
|
|
28
28
|
*/
|
|
29
|
-
export const Applicative
|
|
29
|
+
export const Applicative = HKT.instance<P.Applicative<EvalF>>({
|
|
30
30
|
...Apply,
|
|
31
31
|
pure: now,
|
|
32
|
-
};
|
|
32
|
+
});
|
package/_src/control/Z/api.ts
CHANGED
|
@@ -1,17 +1,5 @@
|
|
|
1
1
|
import { identity, tuple } from "../../data/function.js";
|
|
2
|
-
import {
|
|
3
|
-
Chain,
|
|
4
|
-
Defer,
|
|
5
|
-
Environment,
|
|
6
|
-
Fail,
|
|
7
|
-
MapLog,
|
|
8
|
-
Match,
|
|
9
|
-
Modify,
|
|
10
|
-
Provide,
|
|
11
|
-
Succeed,
|
|
12
|
-
SucceedNow,
|
|
13
|
-
Tell,
|
|
14
|
-
} from "./definition.js";
|
|
2
|
+
import { Access, Chain, Defer, Fail, MapLog, Match, Modify, Provide, Succeed, SucceedNow, Tell } from "./definition.js";
|
|
15
3
|
|
|
16
4
|
/**
|
|
17
5
|
* @tsplus getter fncts.control.Z absolve
|
|
@@ -72,7 +60,7 @@ export function bimap_<W, S1, S2, R, E, A, G, B>(
|
|
|
72
60
|
export function catchAll_<W, S1, S2, R, E, A, S3, R1, E1, B>(
|
|
73
61
|
fa: Z<W, S1, S2, R, E, A>,
|
|
74
62
|
onFailure: (e: E) => Z<W, S1, S3, R1, E1, B>,
|
|
75
|
-
): Z<W, S1, S3, R
|
|
63
|
+
): Z<W, S1, S3, R | R1, E1, A | B> {
|
|
76
64
|
return fa.matchZ(onFailure, Z.succeedNow);
|
|
77
65
|
}
|
|
78
66
|
|
|
@@ -82,7 +70,7 @@ export function catchAll_<W, S1, S2, R, E, A, S3, R1, E1, B>(
|
|
|
82
70
|
export function catchJust_<W, S1, S2, R, E, A, S3, R1, E1, B>(
|
|
83
71
|
fa: Z<W, S1, S2, R, E, A>,
|
|
84
72
|
f: (e: E) => Maybe<Z<W, S1, S3, R1, E1, B>>,
|
|
85
|
-
): Z<W, S1, S2 | S3, R
|
|
73
|
+
): Z<W, S1, S2 | S3, R | R1, E | E1, A | B> {
|
|
86
74
|
return fa.catchAll((e) => f(e).getOrElse(fa));
|
|
87
75
|
}
|
|
88
76
|
|
|
@@ -101,9 +89,9 @@ export function flatMap_<W, S1, S2, R, E, A, W1, S3, R1, E1, B>(
|
|
|
101
89
|
*/
|
|
102
90
|
export function contramapEnvironment_<R0, W, S1, S2, R, E, A>(
|
|
103
91
|
ma: Z<W, S1, S2, R, E, A>,
|
|
104
|
-
f: (r0: R0) => R
|
|
92
|
+
f: (r0: Environment<R0>) => Environment<R>,
|
|
105
93
|
): Z<W, S1, S2, R0, E, A> {
|
|
106
|
-
return Z.environmentWithZ((r
|
|
94
|
+
return Z.environmentWithZ((r) => ma.provideEnvironment(f(r)));
|
|
107
95
|
}
|
|
108
96
|
|
|
109
97
|
/**
|
|
@@ -164,24 +152,24 @@ export function either<W, S1, S2, R, E, A>(fa: Z<W, S1, S2, R, E, A>): Z<W, S1,
|
|
|
164
152
|
/**
|
|
165
153
|
* @tsplus static fncts.control.ZOps environment
|
|
166
154
|
*/
|
|
167
|
-
export function environment<R>(): Z<never, unknown, never, R, never, R
|
|
168
|
-
return new
|
|
155
|
+
export function environment<R>(): Z<never, unknown, never, R, never, Environment<R>> {
|
|
156
|
+
return new Access((r) => Z.succeedNow(r));
|
|
169
157
|
}
|
|
170
158
|
|
|
171
159
|
/**
|
|
172
160
|
* @tsplus static fncts.control.ZOps environmentWith
|
|
173
161
|
*/
|
|
174
|
-
export function environmentWith<R0, A>(f: (r: R0) => A): Z<never, unknown, never, R0, never, A> {
|
|
175
|
-
return new
|
|
162
|
+
export function environmentWith<R0, A>(f: (r: Environment<R0>) => A): Z<never, unknown, never, R0, never, A> {
|
|
163
|
+
return new Access((r) => succeed(f(r)));
|
|
176
164
|
}
|
|
177
165
|
|
|
178
166
|
/**
|
|
179
167
|
* @tsplus static fncts.control.ZOps environmentWithZ
|
|
180
168
|
*/
|
|
181
169
|
export function environmentWithZ<R0, W, S1, S2, R, E, A>(
|
|
182
|
-
f: (r: R0) => Z<W, S1, S2, R, E, A>,
|
|
183
|
-
): Z<W, S1, S2, R
|
|
184
|
-
return new
|
|
170
|
+
f: (r: Environment<R0>) => Z<W, S1, S2, R, E, A>,
|
|
171
|
+
): Z<W, S1, S2, R | R0, E, A> {
|
|
172
|
+
return new Access(f);
|
|
185
173
|
}
|
|
186
174
|
|
|
187
175
|
/**
|
|
@@ -196,31 +184,28 @@ export function erase<W, S1, S2, R, E, A>(wa: Z<W, S1, S2, R, E, A>): Z<never, S
|
|
|
196
184
|
/**
|
|
197
185
|
* @tsplus static fncts.control.ZOps fail
|
|
198
186
|
*/
|
|
199
|
-
export function fail<E>(e: Lazy<E>, __tsplusTrace?: string): Z<never, unknown, never,
|
|
187
|
+
export function fail<E>(e: Lazy<E>, __tsplusTrace?: string): Z<never, unknown, never, never, E, never> {
|
|
200
188
|
return Z.failCause(Cause.fail(e()));
|
|
201
189
|
}
|
|
202
190
|
|
|
203
191
|
/**
|
|
204
192
|
* @tsplus static fncts.control.ZOps failNow
|
|
205
193
|
*/
|
|
206
|
-
export function failNow<E>(e: E, __tsplusTrace?: string): Z<never, unknown, never,
|
|
194
|
+
export function failNow<E>(e: E, __tsplusTrace?: string): Z<never, unknown, never, never, E, never> {
|
|
207
195
|
return Z.failCauseNow(Cause.fail(e));
|
|
208
196
|
}
|
|
209
197
|
|
|
210
198
|
/**
|
|
211
199
|
* @tsplus static fncts.control.ZOps failCause
|
|
212
200
|
*/
|
|
213
|
-
export function failCause<E>(
|
|
214
|
-
cause: Lazy<Cause<E>>,
|
|
215
|
-
__tsplusTrace?: string,
|
|
216
|
-
): Z<never, unknown, never, unknown, E, never> {
|
|
201
|
+
export function failCause<E>(cause: Lazy<Cause<E>>, __tsplusTrace?: string): Z<never, unknown, never, never, E, never> {
|
|
217
202
|
return Z.defer(Z.failCauseNow(cause()));
|
|
218
203
|
}
|
|
219
204
|
|
|
220
205
|
/**
|
|
221
206
|
* @tsplus static fncts.control.ZOps failCauseNow
|
|
222
207
|
*/
|
|
223
|
-
export function failCauseNow<E>(cause: Cause<E>, __tsplusTrace?: string): Z<never, unknown, never,
|
|
208
|
+
export function failCauseNow<E>(cause: Cause<E>, __tsplusTrace?: string): Z<never, unknown, never, never, E, never> {
|
|
224
209
|
return new Fail(cause);
|
|
225
210
|
}
|
|
226
211
|
|
|
@@ -238,14 +223,14 @@ export function flatten<W, S1, S2, R, E, A, W1, S3, R1, E1>(
|
|
|
238
223
|
*
|
|
239
224
|
* @tsplus static fncts.control.ZOps get
|
|
240
225
|
*/
|
|
241
|
-
export function get<S>(): Z<never, S, S,
|
|
226
|
+
export function get<S>(): Z<never, S, S, never, never, S> {
|
|
242
227
|
return Z.modify((s) => [s, s]);
|
|
243
228
|
}
|
|
244
229
|
|
|
245
230
|
/**
|
|
246
231
|
* @tsplus static fncts.control.ZOps gets
|
|
247
232
|
*/
|
|
248
|
-
export function gets<S, A>(f: (s: S) => A): Z<never, S, S,
|
|
233
|
+
export function gets<S, A>(f: (s: S) => A): Z<never, S, S, never, never, A> {
|
|
249
234
|
return Z.modify((s) => [f(s), s]);
|
|
250
235
|
}
|
|
251
236
|
|
|
@@ -259,14 +244,14 @@ export function getsZ<S, W, R, E, A>(f: (s: S) => Z<W, S, S, R, E, A>): Z<W, S,
|
|
|
259
244
|
/**
|
|
260
245
|
* @tsplus static fncts.control.ZOps halt
|
|
261
246
|
*/
|
|
262
|
-
export function halt(defect: Lazy<unknown>, __tsplusTrace?: string): Z<never, unknown, never,
|
|
247
|
+
export function halt(defect: Lazy<unknown>, __tsplusTrace?: string): Z<never, unknown, never, never, never, never> {
|
|
263
248
|
return Z.failCause(Cause.halt(defect()));
|
|
264
249
|
}
|
|
265
250
|
|
|
266
251
|
/**
|
|
267
252
|
* @tsplus static fncts.control.ZOps haltNow
|
|
268
253
|
*/
|
|
269
|
-
export function haltNow(defect: unknown, __tsplusTrace?: string): Z<never, unknown, never,
|
|
254
|
+
export function haltNow(defect: unknown, __tsplusTrace?: string): Z<never, unknown, never, never, never, never> {
|
|
270
255
|
return Z.failCauseNow(Cause.halt(defect));
|
|
271
256
|
}
|
|
272
257
|
|
|
@@ -353,7 +338,7 @@ export function matchZ_<W, S1, S5, S2, R, E, A, W1, S3, R1, E1, B, W2, S4, R2, E
|
|
|
353
338
|
fa: Z<W, S1, S2, R, E, A>,
|
|
354
339
|
onFailure: (e: E) => Z<W1, S5, S3, R1, E1, B>,
|
|
355
340
|
onSuccess: (a: A) => Z<W2, S2, S4, R2, E2, C>,
|
|
356
|
-
): Z<W | W1 | W2, S1 & S5, S3 | S4, R
|
|
341
|
+
): Z<W | W1 | W2, S1 & S5, S3 | S4, R | R1 | R2, E1 | E2, B | C> {
|
|
357
342
|
return fa.matchCauseZ((cause) => cause.failureOrCause.match(onFailure, Z.failCauseNow), onSuccess);
|
|
358
343
|
}
|
|
359
344
|
|
|
@@ -364,7 +349,7 @@ export function matchCauseZ_<W, S1, S2, R, E, A, W1, S0, S3, R1, E1, B, W2, S4,
|
|
|
364
349
|
fa: Z<W, S1, S2, R, E, A>,
|
|
365
350
|
onFailure: (e: Cause<E>) => Z<W1, S0, S3, R1, E1, B>,
|
|
366
351
|
onSuccess: (a: A) => Z<W2, S2, S4, R2, E2, C>,
|
|
367
|
-
): Z<W | W1 | W2, S0 & S1, S3 | S4, R
|
|
352
|
+
): Z<W | W1 | W2, S0 & S1, S3 | S4, R | R1 | R2, E1 | E2, B | C> {
|
|
368
353
|
return matchLogCauseZ_(
|
|
369
354
|
fa,
|
|
370
355
|
(ws, e) => onFailure(e).mapLog((w1s) => ws.concat(w1s)),
|
|
@@ -379,7 +364,7 @@ export function matchLogZ_<W, S1, S5, S2, R, E, A, W1, S3, R1, E1, B, W2, S4, R2
|
|
|
379
364
|
fa: Z<W, S1, S2, R, E, A>,
|
|
380
365
|
onFailure: (ws: Conc<W>, e: E) => Z<W1, S5, S3, R1, E1, B>,
|
|
381
366
|
onSuccess: (ws: Conc<W>, a: A) => Z<W2, S2, S4, R2, E2, C>,
|
|
382
|
-
): Z<W | W1 | W2, S1 & S5, S3 | S4, R
|
|
367
|
+
): Z<W | W1 | W2, S1 & S5, S3 | S4, R | R1 | R2, E1 | E2, B | C> {
|
|
383
368
|
return matchLogCauseZ_(
|
|
384
369
|
fa,
|
|
385
370
|
(ws, cause) => cause.failureOrCause.match((e) => onFailure(ws, e), Z.failCauseNow),
|
|
@@ -410,7 +395,7 @@ export function matchLogCauseZ_<W, S1, S2, R, E, A, W1, S0, S3, R1, E1, B, W2, S
|
|
|
410
395
|
*
|
|
411
396
|
* @tsplus static fncts.control.ZOps modify
|
|
412
397
|
*/
|
|
413
|
-
export function modify<S1, S2, A>(f: (s: S1) => readonly [A, S2]): Z<never, S1, S2,
|
|
398
|
+
export function modify<S1, S2, A>(f: (s: S1) => readonly [A, S2]): Z<never, S1, S2, never, never, A> {
|
|
414
399
|
return new Modify(f);
|
|
415
400
|
}
|
|
416
401
|
|
|
@@ -419,7 +404,7 @@ export function modify<S1, S2, A>(f: (s: S1) => readonly [A, S2]): Z<never, S1,
|
|
|
419
404
|
*
|
|
420
405
|
* @tsplus static fncts.control.ZOps modifyEither
|
|
421
406
|
*/
|
|
422
|
-
export function modifyEither<S1, S2, E, A>(f: (s: S1) => Either<E, readonly [A, S2]>): Z<never, S1, S2,
|
|
407
|
+
export function modifyEither<S1, S2, E, A>(f: (s: S1) => Either<E, readonly [A, S2]>): Z<never, S1, S2, never, E, A> {
|
|
423
408
|
return Z.get<S1>()
|
|
424
409
|
.map(f)
|
|
425
410
|
.flatMap((r) => r.match(Z.failNow, ([a, s2]) => Z.succeedNow(a).mapState(() => s2)));
|
|
@@ -431,7 +416,7 @@ export function modifyEither<S1, S2, E, A>(f: (s: S1) => Either<E, readonly [A,
|
|
|
431
416
|
export function orElse_<W, S1, S2, R, E, A, W1, S3, R1, E1, A1>(
|
|
432
417
|
fa: Z<W, S1, S2, R, E, A>,
|
|
433
418
|
fb: Lazy<Z<W1, S1, S3, R1, E1, A1>>,
|
|
434
|
-
): Z<W | W1, S1, S2 | S3, R
|
|
419
|
+
): Z<W | W1, S1, S2 | S3, R | R1, E | E1, A | A1> {
|
|
435
420
|
return fa.matchZ(() => fb(), Z.succeedNow);
|
|
436
421
|
}
|
|
437
422
|
|
|
@@ -444,7 +429,7 @@ export function orElse_<W, S1, S2, R, E, A, W1, S3, R1, E1, A1>(
|
|
|
444
429
|
export function orElseEither_<W, S1, S2, R, E, A, S3, S4, R1, E1, A1>(
|
|
445
430
|
fa: Z<W, S1, S2, R, E, A>,
|
|
446
431
|
that: Lazy<Z<W, S3, S4, R1, E1, A1>>,
|
|
447
|
-
): Z<W, S1 & S3, S2 | S4, R
|
|
432
|
+
): Z<W, S1 & S3, S2 | S4, R | R1, E1, Either<A, A1>> {
|
|
448
433
|
return fa.matchZ(
|
|
449
434
|
() => that().map(Either.right),
|
|
450
435
|
(a) => Z.succeedNow(Either.left(a)),
|
|
@@ -454,7 +439,10 @@ export function orElseEither_<W, S1, S2, R, E, A, S3, S4, R1, E1, A1>(
|
|
|
454
439
|
/**
|
|
455
440
|
* @tsplus fluent fncts.control.Z provideEnvironment
|
|
456
441
|
*/
|
|
457
|
-
export function provideEnvironment_<W, S1, S2, R, E, A>(
|
|
442
|
+
export function provideEnvironment_<W, S1, S2, R, E, A>(
|
|
443
|
+
fa: Z<W, S1, S2, R, E, A>,
|
|
444
|
+
r: Environment<R>,
|
|
445
|
+
): Z<W, S1, S2, never, E, A> {
|
|
458
446
|
return new Provide(fa, r);
|
|
459
447
|
}
|
|
460
448
|
|
|
@@ -463,7 +451,7 @@ export function provideEnvironment_<W, S1, S2, R, E, A>(fa: Z<W, S1, S2, R, E, A
|
|
|
463
451
|
*
|
|
464
452
|
* @tsplus static fncts.control.ZOps put
|
|
465
453
|
*/
|
|
466
|
-
export function put<S>(s: S): Z<never, unknown, S,
|
|
454
|
+
export function put<S>(s: S): Z<never, unknown, S, never, never, void> {
|
|
467
455
|
return Z.modify(() => [undefined, s]);
|
|
468
456
|
}
|
|
469
457
|
|
|
@@ -496,7 +484,7 @@ export function repeatUntil_<W, S1, S2 extends S1, R, E, A>(
|
|
|
496
484
|
export function succeed<A, W = never, S1 = unknown, S2 = never>(
|
|
497
485
|
effect: Lazy<A>,
|
|
498
486
|
__tsplusTrace?: string,
|
|
499
|
-
): Z<W, S1, S2,
|
|
487
|
+
): Z<W, S1, S2, never, never, A> {
|
|
500
488
|
return new Succeed(effect);
|
|
501
489
|
}
|
|
502
490
|
|
|
@@ -506,7 +494,7 @@ export function succeed<A, W = never, S1 = unknown, S2 = never>(
|
|
|
506
494
|
export function succeedNow<A, W = never, S1 = unknown, S2 = never>(
|
|
507
495
|
a: A,
|
|
508
496
|
__tsplusTrace?: string,
|
|
509
|
-
): Z<W, S1, S2,
|
|
497
|
+
): Z<W, S1, S2, never, never, A> {
|
|
510
498
|
return new SucceedNow(a);
|
|
511
499
|
}
|
|
512
500
|
|
|
@@ -523,14 +511,14 @@ export function tap_<W, S1, S2, R, E, A, W1, S3, R1, E1, B>(
|
|
|
523
511
|
/**
|
|
524
512
|
* @tsplus static fncts.control.ZOps tell
|
|
525
513
|
*/
|
|
526
|
-
export function tell<W>(w: W): Z<W, unknown, never,
|
|
514
|
+
export function tell<W>(w: W): Z<W, unknown, never, never, never, void> {
|
|
527
515
|
return Z.tellAll(Conc.single(w));
|
|
528
516
|
}
|
|
529
517
|
|
|
530
518
|
/**
|
|
531
519
|
* @tsplus static fncts.control.ZOps tellAll
|
|
532
520
|
*/
|
|
533
|
-
export function tellAll<W>(ws: Conc<W>): Z<W, unknown, never,
|
|
521
|
+
export function tellAll<W>(ws: Conc<W>): Z<W, unknown, never, never, never, void> {
|
|
534
522
|
return new Tell(ws);
|
|
535
523
|
}
|
|
536
524
|
|
|
@@ -549,14 +537,14 @@ export function transform_<W, S1, S2, R, E, A, S3, B>(
|
|
|
549
537
|
/**
|
|
550
538
|
* @tsplus static fncts.control.ZOps unit
|
|
551
539
|
*/
|
|
552
|
-
export const unit: Z<never, unknown, never,
|
|
540
|
+
export const unit: Z<never, unknown, never, never, never, void> = Z.succeedNow(undefined);
|
|
553
541
|
|
|
554
542
|
/**
|
|
555
543
|
* Constructs a computation from the specified update function.
|
|
556
544
|
*
|
|
557
545
|
* @tsplus static fncts.control.ZOps update
|
|
558
546
|
*/
|
|
559
|
-
export function update<S1, S2>(f: (s: S1) => S2): Z<never, S1, S2,
|
|
547
|
+
export function update<S1, S2>(f: (s: S1) => S2): Z<never, S1, S2, never, never, void> {
|
|
560
548
|
return Z.modify((s) => [undefined, f(s)]);
|
|
561
549
|
}
|
|
562
550
|
|
|
@@ -583,8 +571,8 @@ export function writeAll_<W, S1, S2, R, E, A, W1>(
|
|
|
583
571
|
export function zip_<W, S1, S2, R, E, A, W1, S3, Q, D, B>(
|
|
584
572
|
fa: Z<W, S1, S2, R, E, A>,
|
|
585
573
|
fb: Z<W1, S2, S3, Q, D, B>,
|
|
586
|
-
): Z<W | W1, S1, S3, Q & R, D | E,
|
|
587
|
-
return fa.zipWith(fb,
|
|
574
|
+
): Z<W | W1, S1, S3, Q & R, D | E, Zipped.Make<A, B>> {
|
|
575
|
+
return fa.zipWith(fb, (a, b) => Zipped(a, b));
|
|
588
576
|
}
|
|
589
577
|
|
|
590
578
|
/**
|
|
@@ -1,8 +1,15 @@
|
|
|
1
1
|
import { hasTypeId } from "../../util/predicates.js";
|
|
2
2
|
|
|
3
|
-
export interface ZF extends
|
|
4
|
-
|
|
5
|
-
|
|
3
|
+
export interface ZF extends HKT {
|
|
4
|
+
type: Z<this["W"], this["S"], this["S"], this["R"], this["E"], this["A"]>;
|
|
5
|
+
variance: {
|
|
6
|
+
W: "+";
|
|
7
|
+
S: "_";
|
|
8
|
+
R: "-";
|
|
9
|
+
E: "+";
|
|
10
|
+
A: "+";
|
|
11
|
+
};
|
|
12
|
+
}
|
|
6
13
|
|
|
7
14
|
export const ZTypeId = Symbol.for("@principia/base/Z");
|
|
8
15
|
export type ZTypeId = typeof ZTypeId;
|
|
@@ -22,26 +29,12 @@ export type ZTypeId = typeof ZTypeId;
|
|
|
22
29
|
*/
|
|
23
30
|
export abstract class Z<W, S1, S2, R, E, A> {
|
|
24
31
|
readonly _typeId: ZTypeId = ZTypeId;
|
|
25
|
-
readonly
|
|
26
|
-
readonly
|
|
27
|
-
readonly
|
|
28
|
-
readonly
|
|
29
|
-
readonly
|
|
30
|
-
readonly
|
|
31
|
-
readonly [HKT.A]!: () => A;
|
|
32
|
-
readonly [HKT.T]!: Z<HKT._W<this>, HKT._Q<this>, HKT._S<this>, HKT._R<this>, HKT._E<this>, HKT._A<this>>;
|
|
33
|
-
}
|
|
34
|
-
|
|
35
|
-
export interface ZFixed<W, S, R, E, A> {
|
|
36
|
-
readonly _typeId: ZTypeId;
|
|
37
|
-
readonly [HKT.F]: ZF;
|
|
38
|
-
readonly [HKT.W]: () => W;
|
|
39
|
-
readonly [HKT.Q]: (_: S) => void;
|
|
40
|
-
readonly [HKT.S]: () => S;
|
|
41
|
-
readonly [HKT.R]: (_: R) => void;
|
|
42
|
-
readonly [HKT.E]: () => E;
|
|
43
|
-
readonly [HKT.A]: () => A;
|
|
44
|
-
readonly [HKT.T]: Z<HKT._W<this>, HKT._S<this>, HKT._S<this>, HKT._R<this>, HKT._E<this>, HKT._A<this>>;
|
|
32
|
+
readonly _W!: () => W;
|
|
33
|
+
readonly _S1!: (_: S1) => void;
|
|
34
|
+
readonly _S2!: () => S2;
|
|
35
|
+
readonly _R!: () => R;
|
|
36
|
+
readonly _E!: () => E;
|
|
37
|
+
readonly _A!: () => A;
|
|
45
38
|
}
|
|
46
39
|
|
|
47
40
|
/**
|
|
@@ -49,7 +42,14 @@ export interface ZFixed<W, S, R, E, A> {
|
|
|
49
42
|
*/
|
|
50
43
|
export function unifyZ<X extends Z<any, any, any, any, any, any>>(
|
|
51
44
|
_: X,
|
|
52
|
-
): Z<
|
|
45
|
+
): Z<
|
|
46
|
+
[X] extends [Z<infer W, any, any, any, any, any>] ? W : never,
|
|
47
|
+
[X] extends [Z<any, infer S1, any, any, any, any>] ? S1 : never,
|
|
48
|
+
[X] extends [Z<any, any, infer S2, any, any, any>] ? S2 : never,
|
|
49
|
+
[X] extends [Z<any, any, any, infer R, any, any>] ? R : never,
|
|
50
|
+
[X] extends [Z<any, any, any, any, infer E, any>] ? E : never,
|
|
51
|
+
[X] extends [Z<any, any, any, any, any, infer A>] ? A : never
|
|
52
|
+
> {
|
|
53
53
|
return _;
|
|
54
54
|
}
|
|
55
55
|
|
|
@@ -68,21 +68,21 @@ export const enum ZTag {
|
|
|
68
68
|
Modify = "Modify",
|
|
69
69
|
Chain = "Chain",
|
|
70
70
|
Match = "Match",
|
|
71
|
-
|
|
71
|
+
Access = "Access",
|
|
72
72
|
Provide = "Provide",
|
|
73
73
|
Tell = "Tell",
|
|
74
74
|
Listen = "Listen",
|
|
75
75
|
MapLog = "MapLog",
|
|
76
76
|
}
|
|
77
77
|
|
|
78
|
-
export class SucceedNow<A> extends Z<never, unknown, never,
|
|
78
|
+
export class SucceedNow<A> extends Z<never, unknown, never, never, never, A> {
|
|
79
79
|
readonly _tag = ZTag.SucceedNow;
|
|
80
80
|
constructor(readonly value: A) {
|
|
81
81
|
super();
|
|
82
82
|
}
|
|
83
83
|
}
|
|
84
84
|
|
|
85
|
-
export class Succeed<A> extends Z<never, unknown, never,
|
|
85
|
+
export class Succeed<A> extends Z<never, unknown, never, never, never, A> {
|
|
86
86
|
readonly _tag = ZTag.Succeed;
|
|
87
87
|
constructor(readonly effect: () => A) {
|
|
88
88
|
super();
|
|
@@ -96,14 +96,14 @@ export class Defer<W, S1, S2, R, E, A> extends Z<W, S1, S2, R, E, A> {
|
|
|
96
96
|
}
|
|
97
97
|
}
|
|
98
98
|
|
|
99
|
-
export class Fail<E> extends Z<never, unknown, never,
|
|
99
|
+
export class Fail<E> extends Z<never, unknown, never, never, E, never> {
|
|
100
100
|
readonly _tag = ZTag.Fail;
|
|
101
101
|
constructor(readonly cause: Cause<E>) {
|
|
102
102
|
super();
|
|
103
103
|
}
|
|
104
104
|
}
|
|
105
105
|
|
|
106
|
-
export class Modify<S1, S2, A> extends Z<never, S1, S2,
|
|
106
|
+
export class Modify<S1, S2, A> extends Z<never, S1, S2, never, never, A> {
|
|
107
107
|
readonly _tag = ZTag.Modify;
|
|
108
108
|
constructor(readonly run: (s1: S1) => readonly [A, S2]) {
|
|
109
109
|
super();
|
|
@@ -135,21 +135,21 @@ export class Match<W, S1, S2, S5, R, E, A, W1, S3, R1, E1, B, W2, S4, R2, E2, C>
|
|
|
135
135
|
}
|
|
136
136
|
}
|
|
137
137
|
|
|
138
|
-
export class
|
|
139
|
-
readonly _tag = ZTag.
|
|
140
|
-
constructor(readonly asks: (r: R0) => Z<W, S1, S2, R, E, A>) {
|
|
138
|
+
export class Access<W, R0, S1, S2, R, E, A> extends Z<W, S1, S2, R0 | R, E, A> {
|
|
139
|
+
readonly _tag = ZTag.Access;
|
|
140
|
+
constructor(readonly asks: (r: Environment<R0>) => Z<W, S1, S2, R, E, A>) {
|
|
141
141
|
super();
|
|
142
142
|
}
|
|
143
143
|
}
|
|
144
144
|
|
|
145
|
-
export class Provide<W, S1, S2, R, E, A> extends Z<W, S1, S2,
|
|
145
|
+
export class Provide<W, S1, S2, R, E, A> extends Z<W, S1, S2, never, E, A> {
|
|
146
146
|
readonly _tag = ZTag.Provide;
|
|
147
|
-
constructor(readonly ma: Z<W, S1, S2, R, E, A>, readonly env: R) {
|
|
147
|
+
constructor(readonly ma: Z<W, S1, S2, R, E, A>, readonly env: Environment<R>) {
|
|
148
148
|
super();
|
|
149
149
|
}
|
|
150
150
|
}
|
|
151
151
|
|
|
152
|
-
export class Tell<W> extends Z<W, unknown, never,
|
|
152
|
+
export class Tell<W> extends Z<W, unknown, never, never, never, void> {
|
|
153
153
|
readonly _tag = ZTag.Tell;
|
|
154
154
|
constructor(readonly log: Conc<W>) {
|
|
155
155
|
super();
|
|
@@ -169,7 +169,7 @@ export type Concrete =
|
|
|
169
169
|
| Modify<any, any, any>
|
|
170
170
|
| Chain<any, any, any, any, any, any, any, any, any, any, any>
|
|
171
171
|
| Match<any, any, any, any, any, any, any, any, any, any, any, any, any, any, any, any, any>
|
|
172
|
-
|
|
|
172
|
+
| Access<any, any, any, any, any, any, any>
|
|
173
173
|
| Provide<any, any, any, any, any, any>
|
|
174
174
|
| Defer<any, any, any, any, any, any>
|
|
175
175
|
| Succeed<any>
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type * as P from "../../typeclass.js";
|
|
2
|
-
import type {
|
|
2
|
+
import type { ZF } from "./definition.js";
|
|
3
3
|
|
|
4
4
|
import { map_, succeedNow, zip_, zipWith_ } from "./api.js";
|
|
5
5
|
|
|
@@ -7,9 +7,9 @@ import { map_, succeedNow, zip_, zipWith_ } from "./api.js";
|
|
|
7
7
|
* @tsplus static fncts.control.ZOps Applicative
|
|
8
8
|
* @tsplus implicit
|
|
9
9
|
*/
|
|
10
|
-
export const Applicative
|
|
10
|
+
export const Applicative = HKT.instance<P.Applicative<ZF>>({
|
|
11
11
|
map: map_,
|
|
12
12
|
zip: zip_,
|
|
13
13
|
zipWith: zipWith_,
|
|
14
14
|
pure: succeedNow,
|
|
15
|
-
};
|
|
15
|
+
});
|
|
@@ -24,13 +24,13 @@ type Frame = MatchFrame | ApplyFrame;
|
|
|
24
24
|
* @tsplus fluent fncts.control.Z unsafeRunAll
|
|
25
25
|
*/
|
|
26
26
|
export function unsafeRunAll_<W, S1, S2, E, A>(
|
|
27
|
-
ma: Z<W, S1, S2,
|
|
27
|
+
ma: Z<W, S1, S2, never, E, A>,
|
|
28
28
|
s: S1,
|
|
29
29
|
): readonly [Conc<W>, Exit<E, readonly [S2, A]>] {
|
|
30
30
|
const stack: Stack<Frame> = Stack();
|
|
31
31
|
let s0 = s as any;
|
|
32
32
|
let result: any = null;
|
|
33
|
-
const environment = Stack<unknown
|
|
33
|
+
const environment = Stack<Environment<unknown>>();
|
|
34
34
|
let failed = false;
|
|
35
35
|
let current = ma as Z<any, any, any, any, any, any> | undefined;
|
|
36
36
|
let log = Conc.empty<W>();
|
|
@@ -141,8 +141,8 @@ export function unsafeRunAll_<W, S1, S2, E, A>(
|
|
|
141
141
|
);
|
|
142
142
|
break;
|
|
143
143
|
}
|
|
144
|
-
case ZTag.
|
|
145
|
-
current = currZ.asks(environment.peek() ??
|
|
144
|
+
case ZTag.Access: {
|
|
145
|
+
current = currZ.asks(environment.peek() ?? Environment());
|
|
146
146
|
break;
|
|
147
147
|
}
|
|
148
148
|
case ZTag.Provide: {
|
|
@@ -215,7 +215,7 @@ export function unsafeRunAll_<W, S1, S2, E, A>(
|
|
|
215
215
|
*
|
|
216
216
|
* @tsplus fluent fncts.control.Z unsafeRun
|
|
217
217
|
*/
|
|
218
|
-
export function unsafeRun_<W, S1, S2, A>(ma: Z<W, S1, S2,
|
|
218
|
+
export function unsafeRun_<W, S1, S2, A>(ma: Z<W, S1, S2, never, never, A>, s: S1): readonly [S2, A] {
|
|
219
219
|
return ma.unsafeRunAll(s)[1].match((cause) => {
|
|
220
220
|
// throw cause.squash
|
|
221
221
|
throw new Error();
|
|
@@ -227,7 +227,7 @@ export function unsafeRun_<W, S1, S2, A>(ma: Z<W, S1, S2, unknown, never, A>, s:
|
|
|
227
227
|
*
|
|
228
228
|
* @tsplus getter fncts.control.Z unsafeRunResult
|
|
229
229
|
*/
|
|
230
|
-
export function unsafeRunResult<W, A>(ma: Z<W, unknown, unknown,
|
|
230
|
+
export function unsafeRunResult<W, A>(ma: Z<W, unknown, unknown, never, never, A>): A {
|
|
231
231
|
return unsafeRun_(ma, {})[1];
|
|
232
232
|
}
|
|
233
233
|
|
|
@@ -236,7 +236,7 @@ export function unsafeRunResult<W, A>(ma: Z<W, unknown, unknown, unknown, never,
|
|
|
236
236
|
*
|
|
237
237
|
* @tsplus fluent fncts.control.Z unsafeRunReader
|
|
238
238
|
*/
|
|
239
|
-
export function unsafeRunReader_<W, R, A>(ma: Z<W, unknown, never, R, never, A>, r: R): A {
|
|
239
|
+
export function unsafeRunReader_<W, R, A>(ma: Z<W, unknown, never, R, never, A>, r: Environment<R>): A {
|
|
240
240
|
return unsafeRunResult(ma.provideEnvironment(r));
|
|
241
241
|
}
|
|
242
242
|
|
|
@@ -246,7 +246,7 @@ export function unsafeRunReader_<W, R, A>(ma: Z<W, unknown, never, R, never, A>,
|
|
|
246
246
|
*
|
|
247
247
|
* @tsplus fluent fncts.control.Z unsafeRunState
|
|
248
248
|
*/
|
|
249
|
-
export function unsafeRunState_<W, S1, S2, A>(ma: Z<W, S1, S2,
|
|
249
|
+
export function unsafeRunState_<W, S1, S2, A>(ma: Z<W, S1, S2, never, never, A>, s: S1): S2 {
|
|
250
250
|
return ma.unsafeRun(s)[0];
|
|
251
251
|
}
|
|
252
252
|
|
|
@@ -256,7 +256,7 @@ export function unsafeRunState_<W, S1, S2, A>(ma: Z<W, S1, S2, unknown, never, A
|
|
|
256
256
|
*
|
|
257
257
|
* @tsplus fluent fncts.control.Z unsafeRunStateResult
|
|
258
258
|
*/
|
|
259
|
-
export function unsafeRunStateResult_<W, S1, S2, A>(ma: Z<W, S1, S2,
|
|
259
|
+
export function unsafeRunStateResult_<W, S1, S2, A>(ma: Z<W, S1, S2, never, never, A>, s: S1): A {
|
|
260
260
|
return ma.unsafeRunAll(s)[1].match(
|
|
261
261
|
(cause) => {
|
|
262
262
|
// throw cause.squash
|
|
@@ -271,7 +271,7 @@ export function unsafeRunStateResult_<W, S1, S2, A>(ma: Z<W, S1, S2, unknown, ne
|
|
|
271
271
|
*
|
|
272
272
|
* @tsplus getter fncts.control.Z unsafeRunExit
|
|
273
273
|
*/
|
|
274
|
-
export function unsafeRunExit<E, A>(ma: Z<never, unknown, unknown,
|
|
274
|
+
export function unsafeRunExit<E, A>(ma: Z<never, unknown, unknown, never, E, A>): Exit<E, A> {
|
|
275
275
|
return ma.unsafeRunAll({} as never)[1].map(([_, a]) => a);
|
|
276
276
|
}
|
|
277
277
|
|
|
@@ -279,7 +279,7 @@ export function unsafeRunExit<E, A>(ma: Z<never, unknown, unknown, unknown, E, A
|
|
|
279
279
|
*
|
|
280
280
|
* @tsplus getter fncts.control.Z unsafeRunWriter
|
|
281
281
|
*/
|
|
282
|
-
export function unsafeRunWriter<W, A>(ma: Z<W, unknown, unknown,
|
|
282
|
+
export function unsafeRunWriter<W, A>(ma: Z<W, unknown, unknown, never, never, A>): readonly [Conc<W>, A] {
|
|
283
283
|
const [w, exit] = ma.unsafeRunAll({});
|
|
284
284
|
return exit.match(
|
|
285
285
|
() => {
|
package/_src/control.ts
ADDED
|
@@ -1,28 +1,20 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @tsplus type fncts.ConstF
|
|
3
3
|
*/
|
|
4
|
-
export interface ConstF extends
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
4
|
+
export interface ConstF extends HKT {
|
|
5
|
+
type: Const<this["E"], this["A"]>;
|
|
6
|
+
variance: {
|
|
7
|
+
E: "_";
|
|
8
|
+
A: "+";
|
|
9
|
+
};
|
|
10
|
+
}
|
|
10
11
|
|
|
11
12
|
/**
|
|
12
13
|
* @tsplus type fncts.Const
|
|
13
14
|
* @tsplus companion fncts.ConstOps
|
|
14
15
|
*/
|
|
15
16
|
export class Const<E, A> {
|
|
16
|
-
readonly
|
|
17
|
-
readonly
|
|
18
|
-
readonly [HKT.A]!: () => A;
|
|
19
|
-
readonly [HKT.T]!: Const<HKT._E<this>, HKT._A<this>>;
|
|
17
|
+
readonly _E!: () => E;
|
|
18
|
+
readonly _A!: () => A;
|
|
20
19
|
constructor(readonly getConst: E) {}
|
|
21
20
|
}
|
|
22
|
-
|
|
23
|
-
export interface Const1<E, A> {
|
|
24
|
-
readonly [HKT.F]: ConstF;
|
|
25
|
-
readonly [HKT.E]: () => E;
|
|
26
|
-
readonly [HKT.A]: () => A;
|
|
27
|
-
readonly [HKT.T]: Const<E, HKT._A<this>>;
|
|
28
|
-
}
|