@fncts/base 0.0.11 → 0.0.14
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 +2 -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
|
-
}
|