@fncts/base 0.0.12 → 0.0.13
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/Record/instances.cjs +67 -16
- package/_cjs/collection/compat/Record/instances.cjs.map +1 -1
- 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/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 +136 -153
- package/_cjs/collection/immutable/ImmutableArray/api.cjs.map +1 -1
- package/_cjs/collection/immutable/ImmutableArray/definition.cjs +10 -12
- package/_cjs/collection/immutable/ImmutableArray/definition.cjs.map +1 -1
- package/_cjs/collection/immutable/ImmutableArray/instances.cjs +11 -9
- package/_cjs/collection/immutable/ImmutableArray/instances.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/definition.cjs +3 -9
- package/_cjs/collection/immutable/ImmutableNonEmptyArray/definition.cjs.map +1 -1
- package/_cjs/collection/immutable/ImmutableNonEmptyArray/instances.cjs +8 -2
- package/_cjs/collection/immutable/ImmutableNonEmptyArray/instances.cjs.map +1 -1
- 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/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/control/Eval/api.cjs +9 -3
- package/_cjs/control/Eval/api.cjs.map +1 -1
- package/_cjs/control/Eval/definition.cjs +0 -7
- 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 +9 -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 +15 -13
- package/_cjs/control/Z/runtime.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 +7 -5
- 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 +3 -3
- package/_cjs/data/DecodeError/definition.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.cjs +21 -5
- package/_cjs/data/Either/api.cjs.map +1 -1
- package/_cjs/data/Either/definition.cjs +3 -10
- 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/Struct/definition.cjs +2 -4
- package/_cjs/data/Struct/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/optics/Optional/definition.cjs +4 -6
- package/_cjs/optics/Optional/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 +3 -3
- package/_cjs/optics/Traversal/definition.cjs.map +1 -1
- 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/MonadExcept.cjs +2 -10
- package/_cjs/typeclass/MonadExcept.cjs.map +1 -1
- package/_cjs/typeclass/Nil.cjs +0 -10
- package/_cjs/typeclass/Nil.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/_mjs/collection/Iterable/api/traverseConc.mjs +16 -21
- package/_mjs/collection/Iterable/api/traverseConc.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/immutable/Conc/api.mjs +7 -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/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/ImmutableArray/api.mjs +128 -147
- package/_mjs/collection/immutable/ImmutableArray/api.mjs.map +1 -1
- package/_mjs/collection/immutable/ImmutableArray/definition.mjs +10 -11
- package/_mjs/collection/immutable/ImmutableArray/definition.mjs.map +1 -1
- package/_mjs/collection/immutable/ImmutableArray/instances.mjs +9 -8
- package/_mjs/collection/immutable/ImmutableArray/instances.mjs.map +1 -1
- package/_mjs/collection/immutable/ImmutableNonEmptyArray/api.mjs +18 -19
- package/_mjs/collection/immutable/ImmutableNonEmptyArray/api.mjs.map +1 -1
- package/_mjs/collection/immutable/ImmutableNonEmptyArray/definition.mjs +0 -2
- package/_mjs/collection/immutable/ImmutableNonEmptyArray/definition.mjs.map +1 -1
- package/_mjs/collection/immutable/ImmutableNonEmptyArray/instances.mjs +4 -3
- package/_mjs/collection/immutable/ImmutableNonEmptyArray/instances.mjs.map +1 -1
- package/_mjs/collection/immutable/RoseTree/definition.mjs +13 -14
- package/_mjs/collection/immutable/RoseTree/definition.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/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/control/Eval/api.mjs +9 -4
- package/_mjs/control/Eval/api.mjs.map +1 -1
- package/_mjs/control/Eval/definition.mjs +0 -1
- 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/Z/api.mjs +16 -15
- package/_mjs/control/Z/api.mjs.map +1 -1
- package/_mjs/control/Z/definition.mjs +4 -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 +14 -13
- package/_mjs/control/Z/runtime.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 +6 -5
- package/_mjs/data/Const/instances.mjs.map +1 -1
- package/_mjs/data/Datum/api.mjs +403 -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 +3 -3
- package/_mjs/data/DecodeError/definition.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.mjs +16 -3
- package/_mjs/data/Either/api.mjs.map +1 -1
- package/_mjs/data/Either/definition.mjs +0 -2
- package/_mjs/data/Either/definition.mjs.map +1 -1
- package/_mjs/data/Either/instances.mjs +23 -22
- 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/Struct/definition.mjs +2 -3
- package/_mjs/data/Struct/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/optics/Optional/definition.mjs +4 -5
- package/_mjs/optics/Optional/definition.mjs.map +1 -1
- package/_mjs/optics/Traversal/api/compose.mjs +1 -1
- package/_mjs/optics/Traversal/api/compose.mjs.map +1 -1
- package/_mjs/optics/Traversal/api/fromTraversable.mjs +1 -1
- package/_mjs/optics/Traversal/api/fromTraversable.mjs.map +1 -1
- package/_mjs/optics/Traversal/definition.mjs +3 -3
- package/_mjs/optics/Traversal/definition.mjs.map +1 -1
- 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/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/definition.mjs +0 -2
- package/_mjs/typeclass/Guard/definition.mjs.map +1 -1
- package/_mjs/typeclass/MonadExcept.mjs +2 -9
- package/_mjs/typeclass/MonadExcept.mjs.map +1 -1
- package/_mjs/typeclass/Nil.mjs +1 -8
- package/_mjs/typeclass/Nil.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/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/_src/collection/Iterable/api/traverseConc.ts +24 -21
- package/_src/collection/compat/Record/instances.ts +44 -0
- package/_src/collection/immutable/Conc/api.ts +9 -11
- package/_src/collection/immutable/Conc/definition.ts +9 -5
- 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 +56 -113
- package/_src/collection/immutable/ImmutableArray/definition.ts +8 -5
- package/_src/collection/immutable/ImmutableArray/instances.ts +42 -42
- package/_src/collection/immutable/ImmutableNonEmptyArray/api.ts +13 -11
- package/_src/collection/immutable/ImmutableNonEmptyArray/definition.ts +8 -3
- package/_src/collection/immutable/ImmutableNonEmptyArray/instances.ts +24 -25
- 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 +9 -9
- package/_src/collection/weak/IterableWeakMap.ts +50 -5
- package/_src/collection/weak/IterableWeakSet.ts +57 -9
- package/_src/control/Eval/api.ts +5 -2
- package/_src/control/Eval/definition.ts +7 -4
- package/_src/control/Eval/instance.ts +7 -7
- package/_src/control/Z/api.ts +16 -25
- package/_src/control/Z/definition.ts +32 -31
- package/_src/control/Z/instances.ts +3 -3
- package/_src/control/Z/runtime.ts +7 -7
- 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 +3 -3
- package/_src/data/Decoder/definition.ts +7 -4
- package/_src/data/Either/api.ts +12 -2
- package/_src/data/Either/definition.ts +9 -14
- 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 +7 -4
- 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/Zipped.ts +52 -0
- package/_src/data/function/api.ts +8 -0
- package/_src/data/object/instances.ts +11 -1
- 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/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 +8 -10
- 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/collection/Iterable/api/traverseConc.d.ts +4 -6
- package/collection/compat/Record/instances.d.ts +12 -0
- package/collection/immutable/Conc/api.d.ts +4 -6
- package/collection/immutable/Conc/definition.d.ts +9 -6
- 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 +16 -18
- package/collection/immutable/ImmutableArray/definition.d.ts +8 -6
- package/collection/immutable/ImmutableArray/instances.d.ts +17 -17
- package/collection/immutable/ImmutableNonEmptyArray/api.d.ts +6 -5
- package/collection/immutable/ImmutableNonEmptyArray/definition.d.ts +7 -3
- package/collection/immutable/ImmutableNonEmptyArray/instances.d.ts +10 -10
- 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 +8 -9
- package/collection/weak/IterableWeakMap.d.ts +9 -3
- package/collection/weak/IterableWeakSet.d.ts +10 -4
- 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 +8 -6
- package/control/Z/definition.d.ts +38 -32
- package/control/Z/instances.d.ts +2 -2
- package/control/Z/runtime.d.ts +5 -4
- 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/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 +7 -4
- 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/optics/Traversal/api/fromTraversable.d.ts +1 -1
- package/optics/Traversal/definition.d.ts +2 -4
- 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/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
|
@@ -84,8 +84,8 @@ export function crossWith_<A, B, C>(
|
|
|
84
84
|
/**
|
|
85
85
|
* @tsplus fluent fncts.ImmutableArray cross
|
|
86
86
|
*/
|
|
87
|
-
export function cross_<A, B>(self: ImmutableArray<A>, fb: ImmutableArray<B>): ImmutableArray<
|
|
88
|
-
return self.crossWith(fb,
|
|
87
|
+
export function cross_<A, B>(self: ImmutableArray<A>, fb: ImmutableArray<B>): ImmutableArray<Zipped.Make<A, B>> {
|
|
88
|
+
return self.crossWith(fb, (a, b) => Zipped(a, b));
|
|
89
89
|
}
|
|
90
90
|
|
|
91
91
|
/**
|
|
@@ -228,7 +228,9 @@ function comprehensionLoop<A, R>(
|
|
|
228
228
|
if (input.length === 0) {
|
|
229
229
|
return g(...scope) ? Eval.now(ImmutableArray(f(...scope))) : Eval.now(ImmutableArray.empty());
|
|
230
230
|
} else {
|
|
231
|
-
return input[0]
|
|
231
|
+
return input[0]!
|
|
232
|
+
.traverse(Eval.Applicative)((a) => comprehensionLoop(scope.append(a), input.slice(1), f, g))
|
|
233
|
+
.map((rs) => rs.flatten);
|
|
232
234
|
}
|
|
233
235
|
}
|
|
234
236
|
|
|
@@ -1164,16 +1166,20 @@ export function takeWhile_<A>(self: ImmutableArray<A>, p: Predicate<A>): Immutab
|
|
|
1164
1166
|
}
|
|
1165
1167
|
|
|
1166
1168
|
/**
|
|
1167
|
-
* @tsplus
|
|
1169
|
+
* @tsplus getter fncts.ImmutableArray traverseWithIndex
|
|
1168
1170
|
*/
|
|
1169
|
-
export const traverseWithIndex_
|
|
1170
|
-
|
|
1171
|
+
export const traverseWithIndex_ = P.TraversableWithIndex.makeTraverseWithIndex<ImmutableArrayF>()(
|
|
1172
|
+
() => (ta) => (G) => (f) =>
|
|
1173
|
+
ta.foldLeftWithIndex(G.pure(ImmutableArray.empty()), (i, fbs, a) =>
|
|
1174
|
+
G.zipWith(fbs, f(i, a), (bs, b) => bs.append(b)),
|
|
1175
|
+
),
|
|
1176
|
+
);
|
|
1171
1177
|
|
|
1172
1178
|
/**
|
|
1173
|
-
* @tsplus
|
|
1179
|
+
* @tsplus getter fncts.ImmutableArray traverse
|
|
1174
1180
|
*/
|
|
1175
|
-
export const traverse_: P.Traversable<ImmutableArrayF>["traverse"] = (self
|
|
1176
|
-
self.traverseWithIndex((_, a) => f(a)
|
|
1181
|
+
export const traverse_: P.Traversable<ImmutableArrayF>["traverse"] = (self) => (G) => (f) =>
|
|
1182
|
+
self.traverseWithIndex(G)((_, a) => f(a));
|
|
1177
1183
|
|
|
1178
1184
|
/**
|
|
1179
1185
|
* @tsplus fluent fncts.ImmutableArray union
|
|
@@ -1292,122 +1298,59 @@ export function updateAt_<A>(as: ImmutableArray<A>, i: number, a: A): Maybe<Immu
|
|
|
1292
1298
|
}
|
|
1293
1299
|
|
|
1294
1300
|
/**
|
|
1295
|
-
* @tsplus
|
|
1296
|
-
*/
|
|
1297
|
-
export
|
|
1298
|
-
self
|
|
1299
|
-
|
|
1300
|
-
|
|
1301
|
-
|
|
1302
|
-
|
|
1303
|
-
|
|
1304
|
-
|
|
1305
|
-
|
|
1306
|
-
|
|
1307
|
-
|
|
1308
|
-
|
|
1309
|
-
|
|
1310
|
-
|
|
1311
|
-
|
|
1312
|
-
SG,
|
|
1313
|
-
RG,
|
|
1314
|
-
EG,
|
|
1315
|
-
readonly [B[], B1[]]
|
|
1316
|
-
>,
|
|
1317
|
-
(fbs, a) =>
|
|
1318
|
-
f(a).zipWith(
|
|
1319
|
-
fbs,
|
|
1320
|
-
(eb, r) =>
|
|
1321
|
-
eb.match(
|
|
1322
|
-
(b1) => {
|
|
1323
|
-
r[0].push(b1);
|
|
1324
|
-
return r;
|
|
1325
|
-
},
|
|
1326
|
-
(b2) => {
|
|
1327
|
-
r[1].push(b2);
|
|
1328
|
-
return r;
|
|
1329
|
-
},
|
|
1330
|
-
),
|
|
1331
|
-
G,
|
|
1332
|
-
),
|
|
1333
|
-
)
|
|
1334
|
-
.map(([b1s, b2s]) => [b1s.asImmutableArray, b2s.asImmutableArray], G);
|
|
1335
|
-
}
|
|
1336
|
-
|
|
1337
|
-
export function wiltWithIndex_<G extends HKT, KG, QG, WG, XG, IG, SG, RG, EG, B1, A, B>(
|
|
1338
|
-
self: ImmutableArray<A>,
|
|
1339
|
-
f: (i: number, a: A) => HKT.Kind<G, KG, QG, WG, XG, IG, SG, RG, EG, Either<B, B1>>,
|
|
1340
|
-
/** @tsplus auto */
|
|
1341
|
-
G: P.Applicative<G>,
|
|
1342
|
-
): HKT.Kind<G, KG, QG, WG, XG, IG, SG, RG, EG, readonly [ImmutableArray<B>, ImmutableArray<B1>]> {
|
|
1343
|
-
return self
|
|
1344
|
-
.foldLeftWithIndex(
|
|
1345
|
-
G.pure([[] as Array<B>, [] as Array<B1>] as const) as HKT.Kind<
|
|
1346
|
-
G,
|
|
1347
|
-
KG,
|
|
1348
|
-
QG,
|
|
1349
|
-
WG,
|
|
1350
|
-
XG,
|
|
1351
|
-
IG,
|
|
1352
|
-
SG,
|
|
1353
|
-
RG,
|
|
1354
|
-
EG,
|
|
1355
|
-
readonly [B[], B1[]]
|
|
1356
|
-
>,
|
|
1357
|
-
(i, fbs, a) =>
|
|
1358
|
-
f(i, a).zipWith(
|
|
1359
|
-
fbs,
|
|
1360
|
-
(eb, r) =>
|
|
1361
|
-
eb.match(
|
|
1362
|
-
(b1) => {
|
|
1363
|
-
r[0].push(b1);
|
|
1364
|
-
return r;
|
|
1365
|
-
},
|
|
1366
|
-
(b2) => {
|
|
1367
|
-
r[1].push(b2);
|
|
1368
|
-
return r;
|
|
1369
|
-
},
|
|
1370
|
-
),
|
|
1371
|
-
G,
|
|
1301
|
+
* @tsplus getter fncts.ImmutableArray wiltWithIndex
|
|
1302
|
+
*/
|
|
1303
|
+
export const wiltWithIndex = P.WitherableWithIndex.makeWiltWithIndex<ImmutableArrayF>()(
|
|
1304
|
+
(_) => (self) => (G) => (f) =>
|
|
1305
|
+
G.map(
|
|
1306
|
+
self.foldLeftWithIndex(G.pure([[] as Array<typeof _["B"]>, [] as Array<typeof _["B1"]>] as const), (i, fbs, a) =>
|
|
1307
|
+
G.zipWith(f(i, a), fbs, (eb, r) =>
|
|
1308
|
+
eb.match(
|
|
1309
|
+
(b1) => {
|
|
1310
|
+
r[0].push(b1);
|
|
1311
|
+
return r;
|
|
1312
|
+
},
|
|
1313
|
+
(b2) => {
|
|
1314
|
+
r[1].push(b2);
|
|
1315
|
+
return r;
|
|
1316
|
+
},
|
|
1317
|
+
),
|
|
1372
1318
|
),
|
|
1373
|
-
|
|
1374
|
-
|
|
1375
|
-
|
|
1319
|
+
),
|
|
1320
|
+
([b1s, b2s]) => [b1s.asImmutableArray, b2s.asImmutableArray],
|
|
1321
|
+
),
|
|
1322
|
+
);
|
|
1376
1323
|
|
|
1377
1324
|
/**
|
|
1378
|
-
* @tsplus
|
|
1325
|
+
* @tsplus getter fncts.ImmutableArray wilt
|
|
1379
1326
|
*/
|
|
1380
|
-
export
|
|
1381
|
-
self
|
|
1382
|
-
f: (a: A) => HKT.Kind<G, KG, QG, WG, XG, IG, SG, RG, EG, Maybe<B>>,
|
|
1383
|
-
/** @tsplus auto */ G: P.Applicative<G>,
|
|
1384
|
-
): HKT.Kind<G, KG, QG, WG, XG, IG, SG, RG, EG, ImmutableArray<B>> {
|
|
1385
|
-
return self.witherWithIndex((_, a) => f(a));
|
|
1386
|
-
}
|
|
1327
|
+
export const wilt: P.WitherableWithIndex<ImmutableArrayF>["wilt"] = (self) => (G) => (f) =>
|
|
1328
|
+
self.wiltWithIndex(G)((_, a) => f(a));
|
|
1387
1329
|
|
|
1388
1330
|
/**
|
|
1389
|
-
* @tsplus
|
|
1331
|
+
* @tsplus getter fncts.ImmutableArray witherWithIndex
|
|
1390
1332
|
*/
|
|
1391
|
-
export
|
|
1392
|
-
self
|
|
1393
|
-
|
|
1394
|
-
|
|
1395
|
-
|
|
1396
|
-
return self
|
|
1397
|
-
.foldLeftWithIndex(G.pure([] as Array<B>) as HKT.Kind<G, KG, QG, WG, XG, IG, SG, RG, EG, B[]>, (i, b, a) =>
|
|
1398
|
-
f(i, a).zipWith(
|
|
1399
|
-
b,
|
|
1400
|
-
(maybeB, bs) => {
|
|
1333
|
+
export const witherWithIndex = P.WitherableWithIndex.makeWitherWithIndex<ImmutableArrayF>()(
|
|
1334
|
+
(_) => (self) => (G) => (f) => {
|
|
1335
|
+
return G.map(
|
|
1336
|
+
self.foldLeftWithIndex(G.pure([] as Array<typeof _["B"]>), (i, b, a) =>
|
|
1337
|
+
G.zipWith(f(i, a), b, (maybeB, bs) => {
|
|
1401
1338
|
if (maybeB.isJust()) {
|
|
1402
1339
|
bs.push(maybeB.value);
|
|
1403
1340
|
}
|
|
1404
1341
|
return bs;
|
|
1405
|
-
},
|
|
1406
|
-
G,
|
|
1342
|
+
}),
|
|
1407
1343
|
),
|
|
1408
|
-
|
|
1409
|
-
|
|
1410
|
-
}
|
|
1344
|
+
(bs) => bs.asImmutableArray,
|
|
1345
|
+
);
|
|
1346
|
+
},
|
|
1347
|
+
);
|
|
1348
|
+
|
|
1349
|
+
/**
|
|
1350
|
+
* @tsplus getter fncts.ImmutableArray wither
|
|
1351
|
+
*/
|
|
1352
|
+
export const wither: P.Witherable<ImmutableArrayF>["wither"] = (self) => (G) => (f) =>
|
|
1353
|
+
self.witherWithIndex(G)((_, a) => f(a));
|
|
1411
1354
|
|
|
1412
1355
|
/**
|
|
1413
1356
|
* @tsplus fluent fncts.ImmutableArray zip
|
|
@@ -1,7 +1,13 @@
|
|
|
1
1
|
export const ImmutableArrayTypeId = Symbol.for("fncts.ImmutableArray");
|
|
2
2
|
export type ImmutableArrayTypeId = typeof ImmutableArrayTypeId;
|
|
3
3
|
|
|
4
|
-
export interface ImmutableArrayF extends
|
|
4
|
+
export interface ImmutableArrayF extends HKT {
|
|
5
|
+
type: ImmutableArray<this["A"]>;
|
|
6
|
+
variance: {
|
|
7
|
+
A: "+";
|
|
8
|
+
};
|
|
9
|
+
index: number;
|
|
10
|
+
}
|
|
5
11
|
|
|
6
12
|
/**
|
|
7
13
|
* @tsplus type fncts.ImmutableArray
|
|
@@ -9,10 +15,7 @@ export interface ImmutableArrayF extends ImmutableArray<any> {}
|
|
|
9
15
|
*/
|
|
10
16
|
export class ImmutableArray<A> implements Equatable, Hashable, Iterable<A> {
|
|
11
17
|
readonly _typeId: ImmutableArrayTypeId = ImmutableArrayTypeId;
|
|
12
|
-
|
|
13
|
-
[HKT.A]?: () => A;
|
|
14
|
-
[HKT.T]?: ImmutableArray<HKT._A<this>>;
|
|
15
|
-
[HKT.Ix]?: number;
|
|
18
|
+
readonly _A!: () => A;
|
|
16
19
|
constructor(readonly _array: ReadonlyArray<A>) {}
|
|
17
20
|
|
|
18
21
|
[Symbol.equals](that: unknown): boolean {
|
|
@@ -23,168 +23,168 @@ import {
|
|
|
23
23
|
partitionWithIndex_,
|
|
24
24
|
traverse_,
|
|
25
25
|
traverseWithIndex_,
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
26
|
+
wilt,
|
|
27
|
+
wiltWithIndex,
|
|
28
|
+
wither,
|
|
29
|
+
witherWithIndex,
|
|
30
30
|
} from "@fncts/base/collection/immutable/ImmutableArray/api";
|
|
31
31
|
import { empty } from "@fncts/base/collection/immutable/ImmutableArray/constructors";
|
|
32
32
|
|
|
33
33
|
/**
|
|
34
34
|
* @tsplus implicit
|
|
35
35
|
*/
|
|
36
|
-
export const Align
|
|
36
|
+
export const Align = HKT.instance<P.Align<ImmutableArrayF>>({
|
|
37
37
|
map: map_,
|
|
38
38
|
alignWith: alignWith_,
|
|
39
39
|
nil: empty,
|
|
40
|
-
};
|
|
40
|
+
});
|
|
41
41
|
|
|
42
42
|
/**
|
|
43
43
|
* @tsplus implicit
|
|
44
44
|
*/
|
|
45
|
-
export const Functor
|
|
45
|
+
export const Functor = HKT.instance<P.Functor<ImmutableArrayF>>({
|
|
46
46
|
map: map_,
|
|
47
|
-
};
|
|
47
|
+
});
|
|
48
48
|
|
|
49
49
|
/**
|
|
50
50
|
* @tsplus implicit
|
|
51
51
|
*/
|
|
52
|
-
export const FunctorWithIndex
|
|
52
|
+
export const FunctorWithIndex = HKT.instance<P.FunctorWithIndex<ImmutableArrayF>>({
|
|
53
53
|
map: map_,
|
|
54
54
|
mapWithIndex: mapWithIndex_,
|
|
55
|
-
};
|
|
55
|
+
});
|
|
56
56
|
|
|
57
57
|
/**
|
|
58
58
|
* @tsplus implicit
|
|
59
59
|
*/
|
|
60
|
-
export const Apply
|
|
60
|
+
export const Apply = HKT.instance<P.Apply<ImmutableArrayF>>({
|
|
61
61
|
map: map_,
|
|
62
62
|
zip: cross_,
|
|
63
63
|
zipWith: crossWith_,
|
|
64
|
-
};
|
|
64
|
+
});
|
|
65
65
|
|
|
66
66
|
/**
|
|
67
67
|
* @tsplus implicit
|
|
68
68
|
*/
|
|
69
|
-
export const Applicative
|
|
69
|
+
export const Applicative = HKT.instance<P.Applicative<ImmutableArrayF>>({
|
|
70
70
|
map: map_,
|
|
71
71
|
zip: cross_,
|
|
72
72
|
zipWith: crossWith_,
|
|
73
73
|
pure: (a) => ImmutableArray(a),
|
|
74
|
-
};
|
|
74
|
+
});
|
|
75
75
|
|
|
76
76
|
/**
|
|
77
77
|
* @tsplus implicit
|
|
78
78
|
*/
|
|
79
|
-
export const Alt
|
|
79
|
+
export const Alt = HKT.instance<P.Alt<ImmutableArrayF>>({
|
|
80
80
|
map: map_,
|
|
81
81
|
alt: alt_,
|
|
82
|
-
};
|
|
82
|
+
});
|
|
83
83
|
|
|
84
84
|
/**
|
|
85
85
|
* @tsplus implicit
|
|
86
86
|
*/
|
|
87
|
-
export const Alternative
|
|
87
|
+
export const Alternative = HKT.instance<P.Alternative<ImmutableArrayF>>({
|
|
88
88
|
map: map_,
|
|
89
89
|
zip: cross_,
|
|
90
90
|
zipWith: crossWith_,
|
|
91
91
|
pure: (a) => ImmutableArray(a),
|
|
92
92
|
alt: alt_,
|
|
93
93
|
nil: empty,
|
|
94
|
-
};
|
|
94
|
+
});
|
|
95
95
|
|
|
96
96
|
/**
|
|
97
97
|
* @tsplus implicit
|
|
98
98
|
*/
|
|
99
|
-
export const Filterable
|
|
99
|
+
export const Filterable = HKT.instance<P.Filterable<ImmutableArrayF>>({
|
|
100
100
|
map: map_,
|
|
101
101
|
filter: filter_,
|
|
102
102
|
filterMap: filterMap_,
|
|
103
103
|
partition: partition_,
|
|
104
104
|
partitionMap: partitionMap_,
|
|
105
|
-
};
|
|
105
|
+
});
|
|
106
106
|
|
|
107
107
|
/**
|
|
108
108
|
* @tsplus implicit
|
|
109
109
|
*/
|
|
110
|
-
export const FilterableWithIndex
|
|
110
|
+
export const FilterableWithIndex = HKT.instance<P.FilterableWithIndex<ImmutableArrayF>>({
|
|
111
111
|
...FunctorWithIndex,
|
|
112
112
|
...Filterable,
|
|
113
113
|
filterWithIndex: filterWithIndex_,
|
|
114
114
|
filterMapWithIndex: filterMapWithIndex_,
|
|
115
115
|
partitionWithIndex: partitionWithIndex_,
|
|
116
116
|
partitionMapWithIndex: partitionMapWithIndex_,
|
|
117
|
-
};
|
|
117
|
+
});
|
|
118
118
|
|
|
119
119
|
/**
|
|
120
120
|
* @tsplus implicit
|
|
121
121
|
*/
|
|
122
|
-
export const Foldable
|
|
122
|
+
export const Foldable = HKT.instance<P.Foldable<ImmutableArrayF>>({
|
|
123
123
|
foldLeft: foldLeft_,
|
|
124
124
|
foldRight: foldRight_,
|
|
125
|
-
};
|
|
125
|
+
});
|
|
126
126
|
|
|
127
127
|
/**
|
|
128
128
|
* @tsplus implicit
|
|
129
129
|
*/
|
|
130
|
-
export const FoldableWithIndex
|
|
130
|
+
export const FoldableWithIndex = HKT.instance<P.FoldableWithIndex<ImmutableArrayF>>({
|
|
131
131
|
...Foldable,
|
|
132
132
|
foldLeftWithIndex: foldLeftWithIndex_,
|
|
133
133
|
foldRightWithIndex: foldRightWithIndex_,
|
|
134
|
-
};
|
|
134
|
+
});
|
|
135
135
|
|
|
136
136
|
/**
|
|
137
137
|
* @tsplus implicit
|
|
138
138
|
*/
|
|
139
|
-
export const FlatMap
|
|
139
|
+
export const FlatMap = HKT.instance<P.FlatMap<ImmutableArrayF>>({
|
|
140
140
|
...Functor,
|
|
141
141
|
flatMap: flatMap_,
|
|
142
|
-
};
|
|
142
|
+
});
|
|
143
143
|
|
|
144
144
|
/**
|
|
145
145
|
* @tsplus implicit
|
|
146
146
|
*/
|
|
147
|
-
export const Monad
|
|
147
|
+
export const Monad = HKT.instance<P.Monad<ImmutableArrayF>>({
|
|
148
148
|
...Applicative,
|
|
149
149
|
...FlatMap,
|
|
150
|
-
};
|
|
150
|
+
});
|
|
151
151
|
|
|
152
152
|
/**
|
|
153
153
|
* @tsplus implicit
|
|
154
154
|
*/
|
|
155
|
-
export const Traversable
|
|
155
|
+
export const Traversable = HKT.instance<P.Traversable<ImmutableArrayF>>({
|
|
156
156
|
...Functor,
|
|
157
157
|
...Foldable,
|
|
158
158
|
traverse: traverse_,
|
|
159
|
-
};
|
|
159
|
+
});
|
|
160
160
|
|
|
161
161
|
/**
|
|
162
162
|
* @tsplus implicit
|
|
163
163
|
*/
|
|
164
|
-
export const TraversableWithIndex
|
|
164
|
+
export const TraversableWithIndex = HKT.instance<P.TraversableWithIndex<ImmutableArrayF>>({
|
|
165
165
|
...Traversable,
|
|
166
166
|
...FoldableWithIndex,
|
|
167
167
|
...FunctorWithIndex,
|
|
168
168
|
traverseWithIndex: traverseWithIndex_,
|
|
169
|
-
};
|
|
169
|
+
});
|
|
170
170
|
|
|
171
171
|
/**
|
|
172
172
|
* @tsplus implicit
|
|
173
173
|
*/
|
|
174
|
-
export const Witherable
|
|
174
|
+
export const Witherable = HKT.instance<P.Witherable<ImmutableArrayF>>({
|
|
175
175
|
...Traversable,
|
|
176
176
|
...Filterable,
|
|
177
|
-
wither
|
|
178
|
-
wilt
|
|
179
|
-
};
|
|
177
|
+
wither,
|
|
178
|
+
wilt,
|
|
179
|
+
});
|
|
180
180
|
|
|
181
181
|
/**
|
|
182
182
|
* @tsplus implicit
|
|
183
183
|
*/
|
|
184
|
-
export const WitherableWithIndex
|
|
184
|
+
export const WitherableWithIndex = HKT.instance<P.WitherableWithIndex<ImmutableArrayF>>({
|
|
185
185
|
...TraversableWithIndex,
|
|
186
186
|
...FilterableWithIndex,
|
|
187
187
|
...Witherable,
|
|
188
|
-
witherWithIndex
|
|
189
|
-
wiltWithIndex
|
|
190
|
-
};
|
|
188
|
+
witherWithIndex,
|
|
189
|
+
wiltWithIndex,
|
|
190
|
+
});
|
|
@@ -174,8 +174,8 @@ export function crossWith_<A, B, C>(
|
|
|
174
174
|
export function cross_<A, B>(
|
|
175
175
|
self: ImmutableNonEmptyArray<A>,
|
|
176
176
|
fb: ImmutableNonEmptyArray<B>,
|
|
177
|
-
): ImmutableNonEmptyArray<
|
|
178
|
-
return self.crossWith(fb, (a, b) =>
|
|
177
|
+
): ImmutableNonEmptyArray<Zipped.Make<A, B>> {
|
|
178
|
+
return self.crossWith(fb, (a, b) => Zipped(a, b));
|
|
179
179
|
}
|
|
180
180
|
|
|
181
181
|
/**
|
|
@@ -394,19 +394,21 @@ export function sort<A>(self: ImmutableNonEmptyArray<A>, /** @tsplus auto */ O:
|
|
|
394
394
|
}
|
|
395
395
|
|
|
396
396
|
/**
|
|
397
|
-
* @tsplus
|
|
397
|
+
* @tsplus getter fncts.ImmutableNonEmptyArray traverseWithIndex
|
|
398
398
|
*/
|
|
399
|
-
export const
|
|
400
|
-
self
|
|
401
|
-
|
|
402
|
-
|
|
403
|
-
|
|
399
|
+
export const traverseWithIndex = P.TraversableWithIndex.makeTraverseWithIndex<ImmutableNonEmptyArrayF>()(
|
|
400
|
+
() => (self) => (G) => (f) =>
|
|
401
|
+
self.tail.foldLeftWithIndex(
|
|
402
|
+
G.map(f(0, self.head), (b) => ImmutableNonEmptyArray(b)),
|
|
403
|
+
(i, fbs, a) => G.zipWith(fbs, f(i + 1, a), (bs, b) => bs.append(b)),
|
|
404
|
+
),
|
|
405
|
+
);
|
|
404
406
|
|
|
405
407
|
/**
|
|
406
|
-
* @tsplus
|
|
408
|
+
* @tsplus getter fncts.ImmutableNonEmptyArray traverse
|
|
407
409
|
*/
|
|
408
|
-
export const
|
|
409
|
-
self.traverseWithIndex((_, a) => f(a)
|
|
410
|
+
export const traverse: P.Traversable<ImmutableNonEmptyArrayF>["traverse"] = (self) => (G) => (f) =>
|
|
411
|
+
self.traverseWithIndex(G)((_, a) => f(a));
|
|
410
412
|
|
|
411
413
|
/**
|
|
412
414
|
* @tsplus fluent fncts.ImmutableNonEmptyArray uniq
|
|
@@ -1,14 +1,19 @@
|
|
|
1
1
|
import { ImmutableArray } from "@fncts/base/collection/immutable/ImmutableArray/definition";
|
|
2
2
|
|
|
3
|
-
export interface ImmutableNonEmptyArrayF extends
|
|
3
|
+
export interface ImmutableNonEmptyArrayF extends HKT {
|
|
4
|
+
type: ImmutableNonEmptyArray<this["A"]>;
|
|
5
|
+
variance: {
|
|
6
|
+
A: "+";
|
|
7
|
+
};
|
|
8
|
+
index: number;
|
|
9
|
+
}
|
|
4
10
|
|
|
5
11
|
/**
|
|
6
12
|
* @tsplus type fncts.ImmutableNonEmptyArray
|
|
7
13
|
* @tsplus companion fncts.ImmutableNonEmptyArrayOps
|
|
8
14
|
*/
|
|
9
15
|
export class ImmutableNonEmptyArray<A> extends ImmutableArray<A> {
|
|
10
|
-
|
|
11
|
-
[HKT.T]!: ImmutableNonEmptyArray<HKT._A<this>>;
|
|
16
|
+
readonly _A!: () => A;
|
|
12
17
|
constructor(readonly _array: ReadonlyNonEmptyArray<A>) {
|
|
13
18
|
super(_array);
|
|
14
19
|
}
|
|
@@ -4,7 +4,6 @@ import type * as P from "@fncts/base/typeclass";
|
|
|
4
4
|
import {
|
|
5
5
|
align_,
|
|
6
6
|
alignWith_,
|
|
7
|
-
ap_,
|
|
8
7
|
cross_,
|
|
9
8
|
crossWith_,
|
|
10
9
|
flatMap_,
|
|
@@ -14,92 +13,92 @@ import {
|
|
|
14
13
|
foldRightWithIndex_,
|
|
15
14
|
map_,
|
|
16
15
|
mapWithIndex_,
|
|
17
|
-
|
|
18
|
-
|
|
16
|
+
traverse,
|
|
17
|
+
traverseWithIndex,
|
|
19
18
|
} from "@fncts/base/collection/immutable/ImmutableNonEmptyArray/api";
|
|
20
19
|
import { make } from "@fncts/base/collection/immutable/ImmutableNonEmptyArray/constructors";
|
|
21
20
|
|
|
22
21
|
/**
|
|
23
22
|
* @tsplus static fncts.ImmutableNonEmptyArrayOps Semialign
|
|
24
23
|
*/
|
|
25
|
-
export const Semialign
|
|
24
|
+
export const Semialign = HKT.instance<P.Semialign<ImmutableNonEmptyArrayF>>({
|
|
26
25
|
map: map_,
|
|
27
26
|
alignWith: alignWith_,
|
|
28
|
-
};
|
|
27
|
+
});
|
|
29
28
|
|
|
30
29
|
/**
|
|
31
30
|
* @tsplus static fncts.ImmutableNonEmptyArrayOps Functor
|
|
32
31
|
*/
|
|
33
|
-
export const Functor
|
|
32
|
+
export const Functor = HKT.instance<P.Functor<ImmutableNonEmptyArrayF>>({
|
|
34
33
|
map: map_,
|
|
35
|
-
};
|
|
34
|
+
});
|
|
36
35
|
|
|
37
36
|
/**
|
|
38
37
|
* @tsplus static fncts.ImmutableNonEmptyArrayOps FunctorWithIndex
|
|
39
38
|
*/
|
|
40
|
-
export const FunctorWithIndex
|
|
39
|
+
export const FunctorWithIndex = HKT.instance<P.FunctorWithIndex<ImmutableNonEmptyArrayF>>({
|
|
41
40
|
map: map_,
|
|
42
41
|
mapWithIndex: mapWithIndex_,
|
|
43
|
-
};
|
|
42
|
+
});
|
|
44
43
|
|
|
45
44
|
/**
|
|
46
45
|
* @tsplus static fncts.ImmutableNonEmptyArrayOps Apply
|
|
47
46
|
*/
|
|
48
|
-
export const Apply
|
|
47
|
+
export const Apply = HKT.instance<P.Apply<ImmutableNonEmptyArrayF>>({
|
|
49
48
|
...Functor,
|
|
50
49
|
zip: cross_,
|
|
51
50
|
zipWith: crossWith_,
|
|
52
|
-
};
|
|
51
|
+
});
|
|
53
52
|
|
|
54
53
|
/**
|
|
55
54
|
* @tsplus static fncts.ImmutableNonEmptyArrayOps Applicative
|
|
56
55
|
*/
|
|
57
|
-
export const Applicative
|
|
56
|
+
export const Applicative = HKT.instance<P.Applicative<ImmutableNonEmptyArrayF>>({
|
|
58
57
|
...Apply,
|
|
59
58
|
pure: make,
|
|
60
|
-
};
|
|
59
|
+
});
|
|
61
60
|
|
|
62
61
|
/**
|
|
63
62
|
* @tsplus static fncts.ImmutableNonEmptyArrayOps Monad
|
|
64
63
|
*/
|
|
65
|
-
export const Monad
|
|
64
|
+
export const Monad = HKT.instance<P.Monad<ImmutableNonEmptyArrayF>>({
|
|
66
65
|
...Applicative,
|
|
67
66
|
flatMap: flatMap_,
|
|
68
|
-
};
|
|
67
|
+
});
|
|
69
68
|
|
|
70
69
|
/**
|
|
71
70
|
* @tsplus static fncts.ImmutableNonEmptyArrayOps Foldable
|
|
72
71
|
*/
|
|
73
|
-
export const Foldable
|
|
72
|
+
export const Foldable = HKT.instance<P.Foldable<ImmutableNonEmptyArrayF>>({
|
|
74
73
|
foldLeft: foldLeft_,
|
|
75
74
|
foldRight: foldRight_,
|
|
76
|
-
};
|
|
75
|
+
});
|
|
77
76
|
|
|
78
77
|
/**
|
|
79
78
|
* @tsplus static fncts.ImmutableNonEmptyArrayOps FoldableWithIndex
|
|
80
79
|
*/
|
|
81
|
-
export const FoldableWithIndex
|
|
80
|
+
export const FoldableWithIndex = HKT.instance<P.FoldableWithIndex<ImmutableNonEmptyArrayF>>({
|
|
82
81
|
...Foldable,
|
|
83
82
|
foldLeftWithIndex: foldLeftWithIndex_,
|
|
84
83
|
foldRightWithIndex: foldRightWithIndex_,
|
|
85
|
-
};
|
|
84
|
+
});
|
|
86
85
|
|
|
87
86
|
/**
|
|
88
87
|
* @tsplus static fncts.ImmutableNonEmptyArrayOps Traversable
|
|
89
88
|
*/
|
|
90
|
-
export const Traversable
|
|
89
|
+
export const Traversable = HKT.instance<P.Traversable<ImmutableNonEmptyArrayF>>({
|
|
91
90
|
...Functor,
|
|
92
91
|
...Foldable,
|
|
93
|
-
traverse:
|
|
94
|
-
};
|
|
92
|
+
traverse: traverse,
|
|
93
|
+
});
|
|
95
94
|
|
|
96
95
|
/**
|
|
97
96
|
* @tsplus static fncts.ImmutableNonEmptyArrayOps TraversableWithIndex
|
|
98
97
|
*/
|
|
99
|
-
export const TraversableWithIndex
|
|
98
|
+
export const TraversableWithIndex = HKT.instance<P.TraversableWithIndex<ImmutableNonEmptyArrayF>>({
|
|
100
99
|
...Functor,
|
|
101
100
|
...FunctorWithIndex,
|
|
102
101
|
...FoldableWithIndex,
|
|
103
102
|
...Traversable,
|
|
104
|
-
traverseWithIndex:
|
|
105
|
-
};
|
|
103
|
+
traverseWithIndex: traverseWithIndex,
|
|
104
|
+
});
|
|
@@ -1,7 +1,12 @@
|
|
|
1
1
|
export const RoseTreeTypeId = Symbol.for("fncts.RoseTree");
|
|
2
2
|
export type RoseTreeTypeId = typeof RoseTreeTypeId;
|
|
3
3
|
|
|
4
|
-
export interface RoseTreeF extends
|
|
4
|
+
export interface RoseTreeF extends HKT {
|
|
5
|
+
type: RoseTree<this["A"]>;
|
|
6
|
+
variance: {
|
|
7
|
+
A: "+";
|
|
8
|
+
};
|
|
9
|
+
}
|
|
5
10
|
|
|
6
11
|
/**
|
|
7
12
|
* @tsplus type fncts.RoseTree
|
|
@@ -9,9 +14,7 @@ export interface RoseTreeF extends RoseTree<any> {}
|
|
|
9
14
|
*/
|
|
10
15
|
export class RoseTree<A> implements Hashable, Equatable {
|
|
11
16
|
readonly _typeId: RoseTreeTypeId = RoseTreeTypeId;
|
|
12
|
-
|
|
13
|
-
readonly [HKT.A]!: () => A;
|
|
14
|
-
readonly [HKT.T]!: RoseTree<HKT._A<this>>;
|
|
17
|
+
declare _A: () => A;
|
|
15
18
|
constructor(readonly value: A, readonly forest: Vector<RoseTree<A>>) {}
|
|
16
19
|
[Symbol.equals](that: unknown): boolean {
|
|
17
20
|
return isRoseTree(that) ? Equatable.strictEquals(this.value, that.value) && this.forest == that.forest : false;
|