@bifravst/aws-cdk-lambda-helpers 5.0.0 → 5.0.1
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/dist/cdk/TestApp.d.ts +5 -0
- package/dist/cdk/TestApp.js +12 -0
- package/dist/cdk/TestStack.d.ts +14 -0
- package/dist/cdk/TestStack.js +44 -0
- package/dist/cdk/baseLayer.d.ts +2 -0
- package/dist/cdk/baseLayer.js +7 -0
- package/dist/cdk/e2e.d.ts +1 -0
- package/dist/cdk/e2e.js +11 -0
- package/dist/cdk/lambda-updated.d.ts +2 -0
- package/dist/cdk/lambda-updated.js +4 -0
- package/dist/cdk/lambda-with-subpath.d.ts +2 -0
- package/dist/cdk/lambda-with-subpath.js +7 -0
- package/dist/cdk/lambda.d.ts +2 -0
- package/dist/cdk/lambda.js +4 -0
- package/dist/cdk/packTestLambdas.d.ts +6 -0
- package/dist/cdk/packTestLambdas.js +14 -0
- package/dist/cdk/update-lambdas.d.ts +1 -0
- package/dist/cdk/update-lambdas.js +21 -0
- package/dist/e2e-updated.spec.d.ts +1 -0
- package/dist/e2e-updated.spec.js +17 -0
- package/dist/e2e.spec.d.ts +1 -0
- package/dist/e2e.spec.js +27 -0
- package/dist/lambdas/test.zip +0 -0
- package/dist/lambdas/testAliasImports.zip +0 -0
- package/dist/layers/baseLayer/nodejs/node_modules/.package-lock.json +21 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/Alt/package.json +6 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/Alternative/package.json +6 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/Applicative/package.json +6 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/Apply/package.json +6 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/Array/package.json +6 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/Bifunctor/package.json +6 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/BooleanAlgebra/package.json +6 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/Bounded/package.json +6 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/BoundedDistributiveLattice/package.json +6 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/BoundedJoinSemilattice/package.json +6 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/BoundedLattice/package.json +6 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/BoundedMeetSemilattice/package.json +6 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/CHANGELOG.md +3375 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/Category/package.json +6 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/Chain/package.json +6 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/ChainRec/package.json +6 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/Choice/package.json +6 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/Comonad/package.json +6 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/Compactable/package.json +6 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/Console/package.json +6 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/Const/package.json +6 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/Contravariant/package.json +6 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/Date/package.json +6 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/DistributiveLattice/package.json +6 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/Either/package.json +6 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/EitherT/package.json +6 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/Endomorphism/package.json +6 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/Eq/package.json +6 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/Extend/package.json +6 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/Field/package.json +6 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/Filterable/package.json +6 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/FilterableWithIndex/package.json +6 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/Foldable/package.json +6 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/FoldableWithIndex/package.json +6 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/FromEither/package.json +6 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/FromIO/package.json +6 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/FromReader/package.json +6 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/FromState/package.json +6 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/FromTask/package.json +6 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/FromThese/package.json +6 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/Functor/package.json +6 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/FunctorWithIndex/package.json +6 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/Group/package.json +6 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/HKT/package.json +6 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/HKT.d.ts +94 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/HeytingAlgebra/package.json +6 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/IO/package.json +6 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/IOEither/package.json +6 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/IOOption/package.json +6 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/IORef/package.json +6 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/Identity/package.json +6 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/Invariant/package.json +6 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/JoinSemilattice/package.json +6 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/Json/package.json +6 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/LICENSE +21 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/Lattice/package.json +6 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/Magma/package.json +6 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/Map/package.json +6 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/MeetSemilattice/package.json +6 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/Monad/package.json +6 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/MonadIO/package.json +6 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/MonadTask/package.json +6 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/MonadThrow/package.json +6 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/Monoid/package.json +6 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/NaturalTransformation/package.json +6 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/NonEmptyArray/package.json +6 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/Option/package.json +6 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/OptionT/package.json +6 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/Ord/package.json +6 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/Ordering/package.json +6 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/Pointed/package.json +6 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/Predicate/package.json +6 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/Profunctor/package.json +6 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/README.md +110 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/Random/package.json +6 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/Reader/package.json +6 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/ReaderEither/package.json +6 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/ReaderIO/package.json +6 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/ReaderT/package.json +6 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/ReaderTask/package.json +6 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/ReaderTaskEither/package.json +6 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/ReadonlyArray/package.json +6 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/ReadonlyMap/package.json +6 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/ReadonlyNonEmptyArray/package.json +6 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/ReadonlyRecord/package.json +6 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/ReadonlySet/package.json +6 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/ReadonlyTuple/package.json +6 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/Record/package.json +6 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/Refinement/package.json +6 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/Ring/package.json +6 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/Semigroup/package.json +6 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/Semigroupoid/package.json +6 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/Semiring/package.json +6 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/Separated/package.json +6 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/Set/package.json +6 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/Show/package.json +6 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/State/package.json +6 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/StateReaderTaskEither/package.json +6 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/StateT/package.json +6 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/Store/package.json +6 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/Strong/package.json +6 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/Task/package.json +6 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/TaskEither/package.json +6 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/TaskOption/package.json +6 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/TaskThese/package.json +6 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/These/package.json +6 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/TheseT/package.json +6 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/Traced/package.json +6 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/Traversable/package.json +6 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/TraversableWithIndex/package.json +6 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/Tree/package.json +6 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/Tuple/package.json +6 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/Unfoldable/package.json +6 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/ValidationT/package.json +6 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/Witherable/package.json +6 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/Writer/package.json +6 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/WriterT/package.json +6 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/Zero/package.json +6 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/boolean/package.json +6 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/Alt.d.ts +86 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/Alt.js +3 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/Alternative.d.ts +108 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/Alternative.js +33 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/Applicative.d.ts +267 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/Applicative.js +39 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/Apply.d.ts +658 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/Apply.js +178 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/Array.d.ts +2215 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/Array.js +2517 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/Bifunctor.d.ts +60 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/Bifunctor.js +1 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/BooleanAlgebra.d.ts +43 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/BooleanAlgebra.js +78 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/Bounded.d.ts +41 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/Bounded.js +51 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/BoundedDistributiveLattice.d.ts +20 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/BoundedDistributiveLattice.js +17 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/BoundedJoinSemilattice.d.ts +15 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/BoundedJoinSemilattice.js +1 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/BoundedLattice.d.ts +15 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/BoundedLattice.js +1 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/BoundedMeetSemilattice.d.ts +15 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/BoundedMeetSemilattice.js +1 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/Category.d.ts +33 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/Category.js +1 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/Chain.d.ts +172 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/Chain.js +14 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/ChainRec.d.ts +59 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/ChainRec.js +10 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/Choice.d.ts +174 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/Choice.js +16 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/Comonad.d.ts +54 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/Comonad.js +1 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/Compactable.d.ts +320 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/Compactable.js +21 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/Console.d.ts +20 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/Console.js +32 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/Const.d.ts +169 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/Const.js +176 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/Contravariant.d.ts +62 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/Contravariant.js +1 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/Date.d.ts +49 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/Date.js +61 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/DistributiveLattice.d.ts +20 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/DistributiveLattice.js +14 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/Either.d.ts +1354 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/Either.js +1480 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/EitherT.d.ts +669 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/EitherT.js +137 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/Endomorphism.d.ts +40 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/Endomorphism.js +28 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/Eq.d.ts +206 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/Eq.js +214 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/Extend.d.ts +54 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/Extend.js +1 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/Field.d.ts +36 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/Field.js +43 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/Filterable.d.ts +628 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/Filterable.js +52 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/FilterableWithIndex.d.ts +255 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/FilterableWithIndex.js +1 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/Foldable.d.ts +423 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/Foldable.js +64 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/FoldableWithIndex.d.ts +290 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/FoldableWithIndex.js +49 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/FromEither.d.ts +337 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/FromEither.js +56 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/FromIO.d.ts +152 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/FromIO.js +25 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/FromReader.d.ts +136 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/FromReader.js +30 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/FromState.d.ts +128 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/FromState.js +21 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/FromTask.d.ts +144 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/FromTask.js +25 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/FromThese.d.ts +73 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/FromThese.js +9 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/Functor.d.ts +452 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/Functor.js +53 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/FunctorWithIndex.d.ts +203 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/FunctorWithIndex.js +27 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/Group.d.ts +15 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/Group.js +1 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/HKT/index.js +6 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/HKT/package.json +3 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/HeytingAlgebra.d.ts +32 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/HeytingAlgebra.js +1 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/IO.d.ts +311 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/IO.js +340 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/IOEither.d.ts +1042 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/IOEither.js +1062 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/IOOption.d.ts +616 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/IOOption.js +626 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/IORef.d.ts +37 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/IORef.js +46 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/Identity.d.ts +295 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/Identity.js +340 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/Invariant.d.ts +62 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/Invariant.js +1 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/JoinSemilattice.d.ts +19 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/JoinSemilattice.js +13 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/Json.d.ts +54 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/Json.js +49 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/Lattice.d.ts +15 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/Lattice.js +1 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/Magma.d.ts +58 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/Magma.js +75 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/Map.d.ts +421 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/Map.js +750 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/MeetSemilattice.d.ts +19 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/MeetSemilattice.js +13 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/Monad.d.ts +61 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/Monad.js +1 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/MonadIO.d.ts +43 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/MonadIO.js +1 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/MonadTask.d.ts +43 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/MonadTask.js +1 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/MonadThrow.d.ts +61 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/MonadThrow.js +1 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/Monoid.d.ts +268 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/Monoid.js +278 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/NaturalTransformation.d.ts +132 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/NaturalTransformation.js +1 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/NonEmptyArray.d.ts +855 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/NonEmptyArray.js +1152 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/Option.d.ts +1150 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/Option.js +1224 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/OptionT.d.ts +551 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/OptionT.js +94 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/Ord.d.ts +355 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/Ord.js +429 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/Ordering.d.ts +84 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/Ordering.js +92 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/Pointed.d.ts +62 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/Pointed.js +1 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/Predicate.d.ts +68 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/Predicate.js +84 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/Profunctor.d.ts +49 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/Profunctor.js +1 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/Random.d.ts +36 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/Random.js +45 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/Reader.d.ts +492 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/Reader.js +535 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/ReaderEither.d.ts +1057 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/ReaderEither.js +956 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/ReaderIO.d.ts +499 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/ReaderIO.js +472 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/ReaderT.d.ts +298 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/ReaderT.js +42 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/ReaderTask.d.ts +787 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/ReaderTask.js +781 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/ReaderTaskEither.d.ts +1773 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/ReaderTaskEither.js +1605 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/ReadonlyArray.d.ts +1716 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/ReadonlyArray.js +2125 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/ReadonlyMap.d.ts +476 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/ReadonlyMap.js +959 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/ReadonlyNonEmptyArray.d.ts +933 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/ReadonlyNonEmptyArray.js +1224 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/ReadonlyRecord.d.ts +1385 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/ReadonlyRecord.js +1365 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/ReadonlySet.d.ts +258 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/ReadonlySet.js +448 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/ReadonlyTuple.d.ts +203 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/ReadonlyTuple.js +329 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/Record.d.ts +1334 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/Record.js +1139 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/Refinement.d.ts +55 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/Refinement.js +73 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/Ring.d.ts +53 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/Ring.js +76 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/Semigroup.d.ts +302 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/Semigroup.js +373 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/Semigroupoid.d.ts +54 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/Semigroupoid.js +1 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/Semiring.d.ts +18 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/Semiring.js +35 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/Separated.d.ts +91 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/Separated.js +97 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/Set.d.ts +231 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/Set.js +387 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/Show.d.ts +64 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/Show.js +93 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/State.d.ts +291 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/State.js +322 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/StateReaderTaskEither.d.ts +1241 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/StateReaderTaskEither.js +1144 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/StateT.d.ts +313 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/StateT.js +69 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/Store.d.ts +117 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/Store.js +101 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/Strong.d.ts +172 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/Strong.js +18 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/Task.d.ts +500 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/Task.js +592 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/TaskEither.d.ts +1437 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/TaskEither.js +1464 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/TaskOption.d.ts +767 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/TaskOption.js +871 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/TaskThese.d.ts +401 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/TaskThese.js +457 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/These.d.ts +468 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/These.js +663 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/TheseT.d.ts +463 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/TheseT.js +91 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/Traced.d.ts +85 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/Traced.js +93 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/Traversable.d.ts +550 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/Traversable.js +38 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/TraversableWithIndex.d.ts +191 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/TraversableWithIndex.js +1 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/Tree.d.ts +393 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/Tree.js +482 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/Tuple.d.ts +198 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/Tuple.js +316 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/Unfoldable.d.ts +65 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/Unfoldable.js +1 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/ValidationT.d.ts +73 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/ValidationT.js +21 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/Witherable.d.ts +575 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/Witherable.js +19 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/Writer.d.ts +141 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/Writer.js +192 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/WriterT.d.ts +147 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/WriterT.js +59 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/Zero.d.ts +83 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/Zero.js +3 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/boolean.d.ts +139 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/boolean.js +162 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/function.d.ts +579 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/function.js +345 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/index.d.ts +718 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/index.js +717 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/internal.d.ts +1 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/internal.js +120 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/number.d.ts +99 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/number.js +126 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/pipeable.d.ts +2275 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/pipeable.js +198 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/string.d.ts +226 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/string.js +266 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/struct.d.ts +42 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/struct.js +61 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/void.d.ts +15 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/void.js +17 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/function/package.json +6 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/internal/package.json +6 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/Alt.d.ts +86 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/Alt.js +6 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/Alternative.d.ts +108 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/Alternative.js +37 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/Applicative.d.ts +267 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/Applicative.js +43 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/Apply.d.ts +658 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/Apply.js +210 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/Array.d.ts +2215 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/Array.js +2621 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/Bifunctor.d.ts +60 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/Bifunctor.js +2 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/BooleanAlgebra.d.ts +43 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/BooleanAlgebra.js +82 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/Bounded.d.ts +41 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/Bounded.js +79 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/BoundedDistributiveLattice.d.ts +20 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/BoundedDistributiveLattice.js +20 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/BoundedJoinSemilattice.d.ts +15 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/BoundedJoinSemilattice.js +2 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/BoundedLattice.d.ts +15 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/BoundedLattice.js +2 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/BoundedMeetSemilattice.d.ts +15 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/BoundedMeetSemilattice.js +2 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/Category.d.ts +33 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/Category.js +2 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/Chain.d.ts +172 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/Chain.js +19 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/ChainRec.d.ts +59 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/ChainRec.js +14 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/Choice.d.ts +174 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/Choice.js +22 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/Comonad.d.ts +54 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/Comonad.js +2 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/Compactable.d.ts +320 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/Compactable.js +49 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/Console.d.ts +20 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/Console.js +39 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/Const.d.ts +169 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/Const.js +186 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/Contravariant.d.ts +62 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/Contravariant.js +2 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/Date.d.ts +49 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/Date.js +89 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/DistributiveLattice.d.ts +20 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/DistributiveLattice.js +17 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/Either.d.ts +1354 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/Either.js +1542 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/EitherT.d.ts +669 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/EitherT.js +189 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/Endomorphism.d.ts +40 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/Endomorphism.js +33 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/Eq.d.ts +206 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/Eq.js +223 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/Extend.d.ts +54 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/Extend.js +2 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/Field.d.ts +36 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/Field.js +48 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/Filterable.d.ts +628 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/Filterable.js +59 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/FilterableWithIndex.d.ts +255 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/FilterableWithIndex.js +2 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/Foldable.d.ts +423 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/Foldable.js +76 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/FoldableWithIndex.d.ts +290 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/FoldableWithIndex.js +55 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/FromEither.d.ts +337 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/FromEither.js +90 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/FromIO.d.ts +152 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/FromIO.js +31 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/FromReader.d.ts +136 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/FromReader.js +61 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/FromState.d.ts +128 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/FromState.js +52 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/FromTask.d.ts +144 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/FromTask.js +31 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/FromThese.d.ts +73 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/FromThese.js +12 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/Functor.d.ts +452 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/Functor.js +57 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/FunctorWithIndex.d.ts +203 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/FunctorWithIndex.js +31 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/Group.d.ts +15 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/Group.js +2 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/HKT/index.js +7 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/HKT/package.json +3 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/HeytingAlgebra.d.ts +32 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/HeytingAlgebra.js +2 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/IO.d.ts +311 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/IO.js +366 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/IOEither.d.ts +1042 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/IOEither.js +1102 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/IOOption.d.ts +616 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/IOOption.js +650 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/IORef.d.ts +37 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/IORef.js +50 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/Identity.d.ts +295 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/Identity.js +370 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/Invariant.d.ts +62 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/Invariant.js +2 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/JoinSemilattice.d.ts +19 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/JoinSemilattice.js +14 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/Json.d.ts +54 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/Json.js +54 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/Lattice.d.ts +15 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/Lattice.js +2 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/Magma.d.ts +58 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/Magma.js +83 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/Map.d.ts +421 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/Map.js +814 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/MeetSemilattice.d.ts +19 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/MeetSemilattice.js +14 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/Monad.d.ts +61 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/Monad.js +2 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/MonadIO.d.ts +43 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/MonadIO.js +2 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/MonadTask.d.ts +43 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/MonadTask.js +2 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/MonadThrow.d.ts +61 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/MonadThrow.js +2 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/Monoid.d.ts +268 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/Monoid.js +311 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/NaturalTransformation.d.ts +132 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/NaturalTransformation.js +2 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/NonEmptyArray.d.ts +855 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/NonEmptyArray.js +1234 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/Option.d.ts +1150 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/Option.js +1286 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/OptionT.d.ts +551 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/OptionT.js +138 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/Ord.d.ts +355 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/Ord.js +448 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/Ordering.d.ts +84 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/Ordering.js +98 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/Pointed.d.ts +62 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/Pointed.js +2 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/Predicate.d.ts +68 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/Predicate.js +95 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/Profunctor.d.ts +49 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/Profunctor.js +2 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/Random.d.ts +36 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/Random.js +52 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/Reader.d.ts +492 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/Reader.js +572 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/ReaderEither.d.ts +1057 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/ReaderEither.js +988 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/ReaderIO.d.ts +499 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/ReaderIO.js +502 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/ReaderT.d.ts +298 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/ReaderT.js +52 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/ReaderTask.d.ts +787 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/ReaderTask.js +811 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/ReaderTaskEither.d.ts +1773 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/ReaderTaskEither.js +1654 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/ReadonlyArray.d.ts +1716 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/ReadonlyArray.js +2253 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/ReadonlyMap.d.ts +476 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/ReadonlyMap.js +1041 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/ReadonlyNonEmptyArray.d.ts +933 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/ReadonlyNonEmptyArray.js +1316 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/ReadonlyRecord.d.ts +1385 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/ReadonlyRecord.js +1470 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/ReadonlySet.d.ts +258 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/ReadonlySet.js +485 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/ReadonlyTuple.d.ts +203 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/ReadonlyTuple.js +350 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/Record.d.ts +1334 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/Record.js +1201 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/Refinement.d.ts +55 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/Refinement.js +107 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/Ring.d.ts +53 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/Ring.js +81 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/Semigroup.d.ts +302 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/Semigroup.js +409 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/Semigroupoid.d.ts +54 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/Semigroupoid.js +2 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/Semiring.d.ts +18 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/Semiring.js +38 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/Separated.d.ts +91 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/Separated.js +106 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/Set.d.ts +231 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/Set.js +436 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/Show.d.ts +64 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/Show.js +121 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/State.d.ts +291 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/State.js +358 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/StateReaderTaskEither.d.ts +1241 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/StateReaderTaskEither.js +1195 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/StateT.d.ts +313 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/StateT.js +81 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/Store.d.ts +117 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/Store.js +111 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/Strong.d.ts +172 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/Strong.js +24 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/Task.d.ts +500 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/Task.js +627 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/TaskEither.d.ts +1437 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/TaskEither.js +1510 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/TaskOption.d.ts +767 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/TaskOption.js +902 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/TaskThese.d.ts +401 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/TaskThese.js +493 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/These.d.ts +468 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/These.js +724 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/TheseT.d.ts +463 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/TheseT.js +131 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/Traced.d.ts +85 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/Traced.js +102 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/Traversable.d.ts +550 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/Traversable.js +43 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/TraversableWithIndex.d.ts +191 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/TraversableWithIndex.js +2 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/Tree.d.ts +393 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/Tree.js +525 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/Tuple.d.ts +198 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/Tuple.js +355 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/Unfoldable.d.ts +65 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/Unfoldable.js +2 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/ValidationT.d.ts +73 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/ValidationT.js +47 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/Witherable.d.ts +575 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/Witherable.js +47 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/Writer.d.ts +141 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/Writer.js +210 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/WriterT.d.ts +147 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/WriterT.js +62 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/Zero.d.ts +83 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/Zero.js +6 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/boolean.d.ts +139 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/boolean.js +167 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/function.d.ts +579 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/function.js +369 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/index.d.ts +718 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/index.js +273 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/internal.d.ts +1 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/internal.js +143 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/number.d.ts +99 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/number.js +130 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/pipeable.d.ts +2275 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/pipeable.js +227 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/string.d.ts +226 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/string.js +283 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/struct.d.ts +42 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/struct.js +89 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/void.d.ts +15 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/void.js +43 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/number/package.json +6 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/package.json +29 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/pipeable/package.json +6 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/string/package.json +6 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/struct/package.json +6 -0
- package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/void/package.json +6 -0
- package/dist/layers/baseLayer/nodejs/node_modules/id128/CHANGES +20 -0
- package/dist/layers/baseLayer/nodejs/node_modules/id128/LICENSE +18 -0
- package/dist/layers/baseLayer/nodejs/node_modules/id128/README.md +853 -0
- package/dist/layers/baseLayer/nodejs/node_modules/id128/index.d.ts +167 -0
- package/dist/layers/baseLayer/nodejs/node_modules/id128/index.js +49 -0
- package/dist/layers/baseLayer/nodejs/node_modules/id128/package.json +68 -0
- package/dist/layers/baseLayer/nodejs/node_modules/id128/src/coder/base.js +53 -0
- package/dist/layers/baseLayer/nodejs/node_modules/id128/src/coder/crockford32.js +114 -0
- package/dist/layers/baseLayer/nodejs/node_modules/id128/src/coder/hex.js +63 -0
- package/dist/layers/baseLayer/nodejs/node_modules/id128/src/coder/uuid.js +77 -0
- package/dist/layers/baseLayer/nodejs/node_modules/id128/src/common/byte-array.js +26 -0
- package/dist/layers/baseLayer/nodejs/node_modules/id128/src/common/epoch-converter.js +32 -0
- package/dist/layers/baseLayer/nodejs/node_modules/id128/src/common/exception.js +18 -0
- package/dist/layers/baseLayer/nodejs/node_modules/id128/src/common/fake-machine.js +26 -0
- package/dist/layers/baseLayer/nodejs/node_modules/id128/src/common/machine.js +37 -0
- package/dist/layers/baseLayer/nodejs/node_modules/id128/src/common/random-bytes-browser.js +9 -0
- package/dist/layers/baseLayer/nodejs/node_modules/id128/src/common/random-bytes.js +17 -0
- package/dist/layers/baseLayer/nodejs/node_modules/id128/src/factory/id.js +96 -0
- package/dist/layers/baseLayer/nodejs/node_modules/id128/src/factory/versioned-id.js +72 -0
- package/dist/layers/baseLayer/nodejs/node_modules/id128/src/id/base.js +39 -0
- package/dist/layers/baseLayer/nodejs/node_modules/id128/src/id/ulid-monotonic.js +71 -0
- package/dist/layers/baseLayer/nodejs/node_modules/id128/src/id/ulid.js +64 -0
- package/dist/layers/baseLayer/nodejs/node_modules/id128/src/id/uuid-1.js +149 -0
- package/dist/layers/baseLayer/nodejs/node_modules/id128/src/id/uuid-4.js +24 -0
- package/dist/layers/baseLayer/nodejs/node_modules/id128/src/id/uuid-6.js +146 -0
- package/dist/layers/baseLayer/nodejs/node_modules/id128/src/id/uuid-nil.js +33 -0
- package/dist/layers/baseLayer/nodejs/node_modules/id128/src/id/uuid.js +58 -0
- package/dist/layers/baseLayer/nodejs/node_modules/id128/utils.js +35 -0
- package/dist/layers/baseLayer/nodejs/package-lock.json +6702 -0
- package/dist/layers/baseLayer/nodejs/package.json +1 -0
- package/dist/layers/baseLayer.zip +0 -0
- package/dist/package.json +132 -0
- package/dist/src/IoTActionRole.d.ts +10 -0
- package/dist/src/IoTActionRole.js +28 -0
- package/dist/src/LambdaLogGroup.d.ts +6 -0
- package/dist/src/LambdaLogGroup.js +22 -0
- package/dist/src/LambdaSource.d.ts +7 -0
- package/dist/src/LambdaSource.js +12 -0
- package/dist/src/PackedLambdaFn.d.ts +25 -0
- package/dist/src/PackedLambdaFn.js +55 -0
- package/dist/src/cdk.d.ts +4 -0
- package/dist/src/cdk.js +4 -0
- package/dist/src/checkSumOfFiles.spec.d.ts +1 -0
- package/dist/src/checkSumOfFiles.spec.js +16 -0
- package/dist/src/checksumOfFiles.d.ts +5 -0
- package/dist/src/checksumOfFiles.js +40 -0
- package/dist/src/commonParent.d.ts +4 -0
- package/dist/src/commonParent.js +14 -0
- package/dist/src/commonParent.spec.d.ts +1 -0
- package/dist/src/commonParent.spec.js +20 -0
- package/dist/src/findDependencies.d.ts +22 -0
- package/dist/src/findDependencies.js +114 -0
- package/dist/src/findDependencies.spec.d.ts +1 -0
- package/dist/src/findDependencies.spec.js +37 -0
- package/dist/src/isTest.d.ts +2 -0
- package/dist/src/isTest.js +1 -0
- package/dist/src/isTest.spec.d.ts +1 -0
- package/dist/src/isTest.spec.js +16 -0
- package/dist/src/lambda.d.ts +2 -0
- package/dist/src/lambda.js +2 -0
- package/dist/src/layer.d.ts +1 -0
- package/dist/src/layer.js +1 -0
- package/dist/src/module-folder-named-like-handler-bug.spec.d.ts +1 -0
- package/dist/src/module-folder-named-like-handler-bug.spec.js +19 -0
- package/dist/src/packLambda.d.ts +29 -0
- package/dist/src/packLambda.js +101 -0
- package/dist/src/packLambda.spec.d.ts +1 -0
- package/dist/src/packLambda.spec.js +25 -0
- package/dist/src/packLambdaFromPath.d.ts +20 -0
- package/dist/src/packLambdaFromPath.js +31 -0
- package/dist/src/packLayer.d.ts +23 -0
- package/dist/src/packLayer.js +113 -0
- package/dist/src/packLayer.spec.d.ts +1 -0
- package/dist/src/packLayer.spec.js +22 -0
- package/dist/src/test/getFileFromZip.d.ts +1 -0
- package/dist/src/test/getFileFromZip.js +25 -0
- package/dist/src/test-data/resolve-paths/foo/1.d.ts +1 -0
- package/dist/src/test-data/resolve-paths/foo/1.js +1 -0
- package/dist/src/test-data/resolve-paths/foo/2.d.ts +1 -0
- package/dist/src/test-data/resolve-paths/foo/2.js +1 -0
- package/dist/src/test-data/resolve-paths/foo/index.d.ts +1 -0
- package/dist/src/test-data/resolve-paths/foo/index.js +1 -0
- package/dist/src/updateImports.d.ts +1 -0
- package/dist/src/updateImports.js +1 -0
- package/dist/src/updateImports.spec.d.ts +1 -0
- package/dist/src/updateImports.spec.js +10 -0
- package/dist/src/updateLambdaCode.d.ts +7 -0
- package/dist/src/updateLambdaCode.js +75 -0
- package/dist/src/util.d.ts +5 -0
- package/dist/src/util.js +5 -0
- package/package.json +6 -6
|
@@ -0,0 +1,2215 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The Array module provides tools for working with Typescript's Array<T> type in a functional way.
|
|
3
|
+
*
|
|
4
|
+
* In functional jargon, this module provides a monadic interface over Typescript's Array<T>.
|
|
5
|
+
*
|
|
6
|
+
* @since 2.0.0
|
|
7
|
+
*/
|
|
8
|
+
import { Alt1 } from './Alt'
|
|
9
|
+
import { Alternative1 } from './Alternative'
|
|
10
|
+
import { Applicative1 } from './Applicative'
|
|
11
|
+
import { Apply1 } from './Apply'
|
|
12
|
+
import { Chain1 } from './Chain'
|
|
13
|
+
import { ChainRec1 } from './ChainRec'
|
|
14
|
+
import { Compactable1 } from './Compactable'
|
|
15
|
+
import { Either } from './Either'
|
|
16
|
+
import { Eq } from './Eq'
|
|
17
|
+
import { Extend1 } from './Extend'
|
|
18
|
+
import { Filterable1 } from './Filterable'
|
|
19
|
+
import { FilterableWithIndex1, PredicateWithIndex, RefinementWithIndex } from './FilterableWithIndex'
|
|
20
|
+
import { Foldable1 } from './Foldable'
|
|
21
|
+
import { FoldableWithIndex1 } from './FoldableWithIndex'
|
|
22
|
+
import { FromEither1 } from './FromEither'
|
|
23
|
+
import { LazyArg } from './function'
|
|
24
|
+
import { Functor1 } from './Functor'
|
|
25
|
+
import { FunctorWithIndex1 } from './FunctorWithIndex'
|
|
26
|
+
import { Magma } from './Magma'
|
|
27
|
+
import { Monad1 } from './Monad'
|
|
28
|
+
import { Monoid } from './Monoid'
|
|
29
|
+
import * as NEA from './NonEmptyArray'
|
|
30
|
+
import { Option } from './Option'
|
|
31
|
+
import { Ord } from './Ord'
|
|
32
|
+
import { Pointed1 } from './Pointed'
|
|
33
|
+
import { Predicate } from './Predicate'
|
|
34
|
+
import { Refinement } from './Refinement'
|
|
35
|
+
import { Semigroup } from './Semigroup'
|
|
36
|
+
import { Separated } from './Separated'
|
|
37
|
+
import { Show } from './Show'
|
|
38
|
+
import { PipeableTraverse1, Traversable1 } from './Traversable'
|
|
39
|
+
import { PipeableTraverseWithIndex1, TraversableWithIndex1 } from './TraversableWithIndex'
|
|
40
|
+
import { Unfoldable1 } from './Unfoldable'
|
|
41
|
+
import { PipeableWilt1, PipeableWither1, Witherable1 } from './Witherable'
|
|
42
|
+
import { Zero1 } from './Zero'
|
|
43
|
+
import NonEmptyArray = NEA.NonEmptyArray
|
|
44
|
+
/**
|
|
45
|
+
* Test whether an array is empty
|
|
46
|
+
*
|
|
47
|
+
* @example
|
|
48
|
+
* import { isEmpty } from 'fp-ts/Array'
|
|
49
|
+
*
|
|
50
|
+
* assert.strictEqual(isEmpty([]), true)
|
|
51
|
+
* assert.strictEqual(isEmpty(['a']), false)
|
|
52
|
+
*
|
|
53
|
+
* @category refinements
|
|
54
|
+
* @since 2.0.0
|
|
55
|
+
*/
|
|
56
|
+
export declare const isEmpty: <A>(as: Array<A>) => as is []
|
|
57
|
+
/**
|
|
58
|
+
* Test whether an array is non empty narrowing down the type to `NonEmptyArray<A>`
|
|
59
|
+
*
|
|
60
|
+
* @example
|
|
61
|
+
* import { isNonEmpty } from 'fp-ts/Array'
|
|
62
|
+
*
|
|
63
|
+
* assert.strictEqual(isNonEmpty([]), false)
|
|
64
|
+
* assert.strictEqual(isNonEmpty(['a']), true)
|
|
65
|
+
*
|
|
66
|
+
* @category refinements
|
|
67
|
+
* @since 2.0.0
|
|
68
|
+
*/
|
|
69
|
+
export declare const isNonEmpty: <A>(as: Array<A>) => as is NonEmptyArray<A>
|
|
70
|
+
/**
|
|
71
|
+
* Prepend an element to the front of a `Array`, creating a new `NonEmptyArray`.
|
|
72
|
+
*
|
|
73
|
+
* @example
|
|
74
|
+
* import { prepend } from 'fp-ts/Array'
|
|
75
|
+
* import { pipe } from 'fp-ts/function'
|
|
76
|
+
*
|
|
77
|
+
* assert.deepStrictEqual(pipe([2, 3, 4], prepend(1)), [1, 2, 3, 4])
|
|
78
|
+
*
|
|
79
|
+
* @since 2.10.0
|
|
80
|
+
*/
|
|
81
|
+
export declare const prepend: <A>(head: A) => (tail: Array<A>) => NEA.NonEmptyArray<A>
|
|
82
|
+
/**
|
|
83
|
+
* Less strict version of [`prepend`](#prepend).
|
|
84
|
+
*
|
|
85
|
+
* @example
|
|
86
|
+
* import { prependW } from 'fp-ts/Array'
|
|
87
|
+
* import { pipe } from 'fp-ts/function'
|
|
88
|
+
*
|
|
89
|
+
* assert.deepStrictEqual(pipe([2, 3, 4], prependW("a")), ["a", 2, 3, 4]);
|
|
90
|
+
*
|
|
91
|
+
* @since 2.11.0
|
|
92
|
+
*/
|
|
93
|
+
export declare const prependW: <A, B>(head: B) => (tail: Array<A>) => NEA.NonEmptyArray<A | B>
|
|
94
|
+
/**
|
|
95
|
+
* Append an element to the end of a `Array`, creating a new `NonEmptyArray`.
|
|
96
|
+
*
|
|
97
|
+
* @example
|
|
98
|
+
* import { append } from 'fp-ts/Array'
|
|
99
|
+
* import { pipe } from 'fp-ts/function'
|
|
100
|
+
*
|
|
101
|
+
* assert.deepStrictEqual(pipe([1, 2, 3], append(4)), [1, 2, 3, 4])
|
|
102
|
+
*
|
|
103
|
+
* @since 2.10.0
|
|
104
|
+
*/
|
|
105
|
+
export declare const append: <A>(end: A) => (init: Array<A>) => NEA.NonEmptyArray<A>
|
|
106
|
+
/**
|
|
107
|
+
* Less strict version of [`append`](#append).
|
|
108
|
+
*
|
|
109
|
+
* @example
|
|
110
|
+
* import { appendW } from 'fp-ts/Array'
|
|
111
|
+
* import { pipe } from 'fp-ts/function'
|
|
112
|
+
*
|
|
113
|
+
* assert.deepStrictEqual(pipe([1, 2, 3], appendW("d")), [1, 2, 3, "d"]);
|
|
114
|
+
*
|
|
115
|
+
* @since 2.11.0
|
|
116
|
+
*/
|
|
117
|
+
export declare const appendW: <A, B>(end: B) => (init: Array<A>) => NEA.NonEmptyArray<A | B>
|
|
118
|
+
/**
|
|
119
|
+
* Return a `Array` of length `n` with element `i` initialized with `f(i)`.
|
|
120
|
+
*
|
|
121
|
+
* **Note**. `n` is normalized to a non negative integer.
|
|
122
|
+
*
|
|
123
|
+
* @example
|
|
124
|
+
* import { makeBy } from 'fp-ts/Array'
|
|
125
|
+
*
|
|
126
|
+
* const double = (i: number): number => i * 2
|
|
127
|
+
* assert.deepStrictEqual(makeBy(5, double), [0, 2, 4, 6, 8])
|
|
128
|
+
* assert.deepStrictEqual(makeBy(-3, double), [])
|
|
129
|
+
* assert.deepStrictEqual(makeBy(4.32164, double), [0, 2, 4, 6])
|
|
130
|
+
*
|
|
131
|
+
* @category constructors
|
|
132
|
+
* @since 2.0.0
|
|
133
|
+
*/
|
|
134
|
+
export declare const makeBy: <A>(n: number, f: (i: number) => A) => Array<A>
|
|
135
|
+
/**
|
|
136
|
+
* Create a `Array` containing a value repeated the specified number of times.
|
|
137
|
+
*
|
|
138
|
+
* **Note**. `n` is normalized to a non negative integer.
|
|
139
|
+
*
|
|
140
|
+
* @example
|
|
141
|
+
* import { replicate } from 'fp-ts/Array'
|
|
142
|
+
*
|
|
143
|
+
* assert.deepStrictEqual(replicate(3, 'a'), ['a', 'a', 'a'])
|
|
144
|
+
* assert.deepStrictEqual(replicate(-3, 'a'), [])
|
|
145
|
+
* assert.deepStrictEqual(replicate(2.985647, 'a'), ['a', 'a'])
|
|
146
|
+
*
|
|
147
|
+
* @category constructors
|
|
148
|
+
* @since 2.0.0
|
|
149
|
+
*/
|
|
150
|
+
export declare const replicate: <A>(n: number, a: A) => Array<A>
|
|
151
|
+
/**
|
|
152
|
+
* Create an array with one element, if the element satisfies the predicate, otherwise
|
|
153
|
+
* it returns an empty array.
|
|
154
|
+
*
|
|
155
|
+
* @example
|
|
156
|
+
* import { fromPredicate } from 'fp-ts/Array'
|
|
157
|
+
* import { pipe } from 'fp-ts/function'
|
|
158
|
+
* import { isString } from "fp-ts/string";
|
|
159
|
+
*
|
|
160
|
+
* assert.deepStrictEqual(pipe("a", fromPredicate(isString)), ["a"]);
|
|
161
|
+
* assert.deepStrictEqual(pipe(7, fromPredicate(isString)), []);
|
|
162
|
+
*
|
|
163
|
+
* assert.deepStrictEqual(pipe(7, fromPredicate((x)=> x > 0)), [7]);
|
|
164
|
+
* assert.deepStrictEqual(pipe(-3, fromPredicate((x)=> x > 0)), []);
|
|
165
|
+
*
|
|
166
|
+
* @category lifting
|
|
167
|
+
* @since 2.11.0
|
|
168
|
+
*/
|
|
169
|
+
export declare function fromPredicate<A, B extends A>(refinement: Refinement<A, B>): (a: A) => Array<B>
|
|
170
|
+
export declare function fromPredicate<A>(predicate: Predicate<A>): <B extends A>(b: B) => Array<B>
|
|
171
|
+
export declare function fromPredicate<A>(predicate: Predicate<A>): (a: A) => Array<A>
|
|
172
|
+
/**
|
|
173
|
+
* Create an array from an `Option`. The resulting array will contain the content of the
|
|
174
|
+
* `Option` if it is `Some` and it will be empty if the `Option` is `None`.
|
|
175
|
+
*
|
|
176
|
+
* @example
|
|
177
|
+
* import { fromOption } from 'fp-ts/Array'
|
|
178
|
+
* import { option } from "fp-ts";
|
|
179
|
+
* import { pipe } from 'fp-ts/function'
|
|
180
|
+
*
|
|
181
|
+
* assert.deepStrictEqual(pipe(option.some("a"), fromOption),["a"])
|
|
182
|
+
* assert.deepStrictEqual(pipe(option.none, fromOption),[])
|
|
183
|
+
*
|
|
184
|
+
* @category conversions
|
|
185
|
+
* @since 2.11.0
|
|
186
|
+
*/
|
|
187
|
+
export declare const fromOption: <A>(fa: Option<A>) => Array<A>
|
|
188
|
+
/**
|
|
189
|
+
* Create an array from an `Either`. The resulting array will contain the content of the
|
|
190
|
+
* `Either` if it is `Right` and it will be empty if the `Either` is `Left`.
|
|
191
|
+
*
|
|
192
|
+
* @example
|
|
193
|
+
* import { fromEither } from 'fp-ts/Array'
|
|
194
|
+
* import { either } from "fp-ts";
|
|
195
|
+
* import { pipe } from 'fp-ts/function'
|
|
196
|
+
*
|
|
197
|
+
* assert.deepStrictEqual(pipe(either.right("r"), fromEither), ["r"]);
|
|
198
|
+
* assert.deepStrictEqual(pipe(either.left("l"), fromEither), []);
|
|
199
|
+
*
|
|
200
|
+
* @category conversions
|
|
201
|
+
* @since 2.11.0
|
|
202
|
+
*/
|
|
203
|
+
export declare const fromEither: <A>(fa: Either<unknown, A>) => Array<A>
|
|
204
|
+
/**
|
|
205
|
+
* Less strict version of [`match`](#match).
|
|
206
|
+
*
|
|
207
|
+
* The `W` suffix (short for **W**idening) means that the handler return types will be merged.
|
|
208
|
+
*
|
|
209
|
+
* @example
|
|
210
|
+
* import { matchW } from 'fp-ts/Array'
|
|
211
|
+
* import { pipe } from 'fp-ts/function'
|
|
212
|
+
*
|
|
213
|
+
* const matcherW = matchW(
|
|
214
|
+
* () => "No elements",
|
|
215
|
+
* (as) => as.length
|
|
216
|
+
* );
|
|
217
|
+
* assert.deepStrictEqual(pipe([1, 2, 3, 4], matcherW), 4);
|
|
218
|
+
* assert.deepStrictEqual(pipe([], matcherW), "No elements");
|
|
219
|
+
*
|
|
220
|
+
* @category pattern matching
|
|
221
|
+
* @since 2.11.0
|
|
222
|
+
*/
|
|
223
|
+
export declare const matchW: <B, A, C>(
|
|
224
|
+
onEmpty: LazyArg<B>,
|
|
225
|
+
onNonEmpty: (as: NonEmptyArray<A>) => C
|
|
226
|
+
) => (as: Array<A>) => B | C
|
|
227
|
+
/**
|
|
228
|
+
* Takes an array, if the array is empty it returns the result of `onEmpty`, otherwise
|
|
229
|
+
* it passes the array to `onNonEmpty` and returns the result.
|
|
230
|
+
*
|
|
231
|
+
* @example
|
|
232
|
+
* import { match } from 'fp-ts/Array'
|
|
233
|
+
* import { pipe } from 'fp-ts/function'
|
|
234
|
+
*
|
|
235
|
+
* const matcher = match(
|
|
236
|
+
* () => "No elements",
|
|
237
|
+
* (as) => `Found ${as.length} element(s)`
|
|
238
|
+
* );
|
|
239
|
+
* assert.deepStrictEqual(pipe([1, 2, 3, 4], matcher), "Found 4 element(s)");
|
|
240
|
+
* assert.deepStrictEqual(pipe([], matcher), "No elements");
|
|
241
|
+
*
|
|
242
|
+
* @category pattern matching
|
|
243
|
+
* @since 2.11.0
|
|
244
|
+
*/
|
|
245
|
+
export declare const match: <B, A>(onEmpty: LazyArg<B>, onNonEmpty: (as: NonEmptyArray<A>) => B) => (as: Array<A>) => B
|
|
246
|
+
/**
|
|
247
|
+
* Less strict version of [`matchLeft`](#matchleft). It will work when `onEmpty` and
|
|
248
|
+
* `onNonEmpty` have different return types.
|
|
249
|
+
*
|
|
250
|
+
* @example
|
|
251
|
+
* import { matchLeftW } from 'fp-ts/Array'
|
|
252
|
+
*
|
|
253
|
+
* const f = matchLeftW(
|
|
254
|
+
* () => 0,
|
|
255
|
+
* (head: string, tail: string[]) => `Found "${head}" followed by ${tail.length} elements`
|
|
256
|
+
* );
|
|
257
|
+
* assert.strictEqual(f(["a", "b", "c"]), 'Found "a" followed by 2 elements');
|
|
258
|
+
* assert.strictEqual(f([]), 0);
|
|
259
|
+
*
|
|
260
|
+
* @category pattern matching
|
|
261
|
+
* @since 2.11.0
|
|
262
|
+
*/
|
|
263
|
+
export declare const matchLeftW: <B, A, C>(
|
|
264
|
+
onEmpty: LazyArg<B>,
|
|
265
|
+
onNonEmpty: (head: A, tail: Array<A>) => C
|
|
266
|
+
) => (as: Array<A>) => B | C
|
|
267
|
+
/**
|
|
268
|
+
* Takes an array, if the array is empty it returns the result of `onEmpty`, otherwise
|
|
269
|
+
* it passes the array to `onNonEmpty` broken into its first element and remaining elements.
|
|
270
|
+
*
|
|
271
|
+
* @example
|
|
272
|
+
* import { matchLeft } from 'fp-ts/Array'
|
|
273
|
+
*
|
|
274
|
+
* const len: <A>(as: Array<A>) => number = matchLeft(() => 0, (_, tail) => 1 + len(tail))
|
|
275
|
+
* assert.strictEqual(len([1, 2, 3]), 3)
|
|
276
|
+
*
|
|
277
|
+
* @category pattern matching
|
|
278
|
+
* @since 2.10.0
|
|
279
|
+
*/
|
|
280
|
+
export declare const matchLeft: <B, A>(
|
|
281
|
+
onEmpty: LazyArg<B>,
|
|
282
|
+
onNonEmpty: (head: A, tail: Array<A>) => B
|
|
283
|
+
) => (as: Array<A>) => B
|
|
284
|
+
/**
|
|
285
|
+
* Alias of [`matchLeft`](#matchleft).
|
|
286
|
+
*
|
|
287
|
+
* @category pattern matching
|
|
288
|
+
* @since 2.0.0
|
|
289
|
+
*/
|
|
290
|
+
export declare const foldLeft: <A, B>(
|
|
291
|
+
onEmpty: LazyArg<B>,
|
|
292
|
+
onNonEmpty: (head: A, tail: Array<A>) => B
|
|
293
|
+
) => (as: Array<A>) => B
|
|
294
|
+
/**
|
|
295
|
+
* Less strict version of [`matchRight`](#matchright). It will work when `onEmpty` and
|
|
296
|
+
* `onNonEmpty` have different return types.
|
|
297
|
+
*
|
|
298
|
+
* @example
|
|
299
|
+
* import { matchRightW } from 'fp-ts/Array'
|
|
300
|
+
*
|
|
301
|
+
* const f = matchRightW(
|
|
302
|
+
* () => 0,
|
|
303
|
+
* (head: string[], tail: string) => `Found ${head.length} elements folllowed by "${tail}"`
|
|
304
|
+
* );
|
|
305
|
+
* assert.strictEqual(f(["a", "b", "c"]), 'Found 2 elements folllowed by "c"');
|
|
306
|
+
* assert.strictEqual(f([]), 0);
|
|
307
|
+
*
|
|
308
|
+
* @category pattern matching
|
|
309
|
+
* @since 2.11.0
|
|
310
|
+
*/
|
|
311
|
+
export declare const matchRightW: <B, A, C>(
|
|
312
|
+
onEmpty: LazyArg<B>,
|
|
313
|
+
onNonEmpty: (init: Array<A>, last: A) => C
|
|
314
|
+
) => (as: Array<A>) => B | C
|
|
315
|
+
/**
|
|
316
|
+
* Takes an array, if the array is empty it returns the result of `onEmpty`, otherwise
|
|
317
|
+
* it passes the array to `onNonEmpty` broken into its initial elements and the last element.
|
|
318
|
+
*
|
|
319
|
+
* @example
|
|
320
|
+
* import { matchRight } from 'fp-ts/Array'
|
|
321
|
+
*
|
|
322
|
+
* const len: <A>(as: Array<A>) => number = matchRight(
|
|
323
|
+
* () => 0,
|
|
324
|
+
* (head, _) => 1 + len(head)
|
|
325
|
+
* );
|
|
326
|
+
* assert.strictEqual(len([1, 2, 3]), 3);
|
|
327
|
+
*
|
|
328
|
+
* @category pattern matching
|
|
329
|
+
* @since 2.10.0
|
|
330
|
+
*/
|
|
331
|
+
export declare const matchRight: <B, A>(
|
|
332
|
+
onEmpty: LazyArg<B>,
|
|
333
|
+
onNonEmpty: (init: Array<A>, last: A) => B
|
|
334
|
+
) => (as: Array<A>) => B
|
|
335
|
+
/**
|
|
336
|
+
* Alias of [`matchRight`](#matchright).
|
|
337
|
+
*
|
|
338
|
+
* @category pattern matching
|
|
339
|
+
* @since 2.0.0
|
|
340
|
+
*/
|
|
341
|
+
export declare const foldRight: <A, B>(
|
|
342
|
+
onEmpty: LazyArg<B>,
|
|
343
|
+
onNonEmpty: (init: Array<A>, last: A) => B
|
|
344
|
+
) => (as: Array<A>) => B
|
|
345
|
+
/**
|
|
346
|
+
* Same as [`chain`](#chain), but passing also the index to the iterating function.
|
|
347
|
+
*
|
|
348
|
+
* @example
|
|
349
|
+
* import { chainWithIndex, replicate } from 'fp-ts/Array'
|
|
350
|
+
* import { pipe } from 'fp-ts/function'
|
|
351
|
+
*
|
|
352
|
+
* const f = (index: number, x: string) => replicate(2, `${x}${index}`);
|
|
353
|
+
* assert.deepStrictEqual(pipe(["a", "b", "c"], chainWithIndex(f)), ["a0", "a0", "b1", "b1", "c2", "c2"]);
|
|
354
|
+
*
|
|
355
|
+
* @category sequencing
|
|
356
|
+
* @since 2.7.0
|
|
357
|
+
*/
|
|
358
|
+
export declare const chainWithIndex: <A, B>(f: (i: number, a: A) => Array<B>) => (as: Array<A>) => Array<B>
|
|
359
|
+
/**
|
|
360
|
+
* Same as `reduce` but it carries over the intermediate steps
|
|
361
|
+
*
|
|
362
|
+
* @example
|
|
363
|
+
* import { scanLeft } from 'fp-ts/Array'
|
|
364
|
+
*
|
|
365
|
+
* assert.deepStrictEqual(scanLeft(10, (b, a: number) => b - a)([1, 2, 3]), [10, 9, 7, 4])
|
|
366
|
+
*
|
|
367
|
+
* @since 2.0.0
|
|
368
|
+
*/
|
|
369
|
+
export declare const scanLeft: <A, B>(b: B, f: (b: B, a: A) => B) => (as: Array<A>) => NonEmptyArray<B>
|
|
370
|
+
/**
|
|
371
|
+
* Fold an array from the right, keeping all intermediate results instead of only the final result
|
|
372
|
+
*
|
|
373
|
+
* @example
|
|
374
|
+
* import { scanRight } from 'fp-ts/Array'
|
|
375
|
+
*
|
|
376
|
+
* assert.deepStrictEqual(scanRight(10, (a: number, b) => b - a)([1, 2, 3]), [4, 5, 7, 10])
|
|
377
|
+
*
|
|
378
|
+
* @since 2.0.0
|
|
379
|
+
*/
|
|
380
|
+
export declare const scanRight: <A, B>(b: B, f: (a: A, b: B) => B) => (as: Array<A>) => NonEmptyArray<B>
|
|
381
|
+
/**
|
|
382
|
+
* Calculate the number of elements in a `Array`.
|
|
383
|
+
*
|
|
384
|
+
* @example
|
|
385
|
+
* import { size } from 'fp-ts/Array'
|
|
386
|
+
*
|
|
387
|
+
* assert.strictEqual(size(["a","b","c"]),3)
|
|
388
|
+
*
|
|
389
|
+
* @since 2.10.0
|
|
390
|
+
*/
|
|
391
|
+
export declare const size: <A>(as: Array<A>) => number
|
|
392
|
+
/**
|
|
393
|
+
* Test whether an array contains a particular index
|
|
394
|
+
*
|
|
395
|
+
* @example
|
|
396
|
+
* import { isOutOfBound } from 'fp-ts/Array'
|
|
397
|
+
*
|
|
398
|
+
* assert.strictEqual(isOutOfBound(1,["a","b","c"]),false)
|
|
399
|
+
* assert.strictEqual(isOutOfBound(-1,["a","b","c"]),true)
|
|
400
|
+
* assert.strictEqual(isOutOfBound(3,["a","b","c"]),true)
|
|
401
|
+
*
|
|
402
|
+
* @since 2.0.0
|
|
403
|
+
*/
|
|
404
|
+
export declare const isOutOfBound: <A>(i: number, as: Array<A>) => boolean
|
|
405
|
+
/**
|
|
406
|
+
* This function provides a safe way to read a value at a particular index from an array.
|
|
407
|
+
* It returns a `none` if the index is out of bounds, and a `some` of the element if the
|
|
408
|
+
* index is valid.
|
|
409
|
+
*
|
|
410
|
+
* @example
|
|
411
|
+
* import { lookup } from 'fp-ts/Array'
|
|
412
|
+
* import { some, none } from 'fp-ts/Option'
|
|
413
|
+
* import { pipe } from 'fp-ts/function'
|
|
414
|
+
*
|
|
415
|
+
* assert.deepStrictEqual(pipe([1, 2, 3], lookup(1)), some(2))
|
|
416
|
+
* assert.deepStrictEqual(pipe([1, 2, 3], lookup(3)), none)
|
|
417
|
+
*
|
|
418
|
+
* @since 2.0.0
|
|
419
|
+
*/
|
|
420
|
+
export declare const lookup: {
|
|
421
|
+
(i: number): <A>(as: Array<A>) => Option<A>
|
|
422
|
+
<A>(i: number, as: Array<A>): Option<A>
|
|
423
|
+
}
|
|
424
|
+
/**
|
|
425
|
+
* Get the first element in an array, or `None` if the array is empty
|
|
426
|
+
*
|
|
427
|
+
* @example
|
|
428
|
+
* import { head } from 'fp-ts/Array'
|
|
429
|
+
* import { some, none } from 'fp-ts/Option'
|
|
430
|
+
*
|
|
431
|
+
* assert.deepStrictEqual(head([1, 2, 3]), some(1))
|
|
432
|
+
* assert.deepStrictEqual(head([]), none)
|
|
433
|
+
*
|
|
434
|
+
* @since 2.0.0
|
|
435
|
+
*/
|
|
436
|
+
export declare const head: <A>(as: Array<A>) => Option<A>
|
|
437
|
+
/**
|
|
438
|
+
* Get the last element in an array, or `None` if the array is empty
|
|
439
|
+
*
|
|
440
|
+
* @example
|
|
441
|
+
* import { last } from 'fp-ts/Array'
|
|
442
|
+
* import { some, none } from 'fp-ts/Option'
|
|
443
|
+
*
|
|
444
|
+
* assert.deepStrictEqual(last([1, 2, 3]), some(3))
|
|
445
|
+
* assert.deepStrictEqual(last([]), none)
|
|
446
|
+
*
|
|
447
|
+
* @since 2.0.0
|
|
448
|
+
*/
|
|
449
|
+
export declare const last: <A>(as: Array<A>) => Option<A>
|
|
450
|
+
/**
|
|
451
|
+
* Get all but the first element of an array, creating a new array, or `None` if the array is empty
|
|
452
|
+
*
|
|
453
|
+
* @example
|
|
454
|
+
* import { tail } from 'fp-ts/Array'
|
|
455
|
+
* import { some, none } from 'fp-ts/Option'
|
|
456
|
+
*
|
|
457
|
+
* assert.deepStrictEqual(tail([1, 2, 3]), some([2, 3]))
|
|
458
|
+
* assert.deepStrictEqual(tail([]), none)
|
|
459
|
+
*
|
|
460
|
+
* @since 2.0.0
|
|
461
|
+
*/
|
|
462
|
+
export declare const tail: <A>(as: Array<A>) => Option<Array<A>>
|
|
463
|
+
/**
|
|
464
|
+
* Get all but the last element of an array, creating a new array, or `None` if the array is empty
|
|
465
|
+
*
|
|
466
|
+
* @example
|
|
467
|
+
* import { init } from 'fp-ts/Array'
|
|
468
|
+
* import { some, none } from 'fp-ts/Option'
|
|
469
|
+
*
|
|
470
|
+
* assert.deepStrictEqual(init([1, 2, 3]), some([1, 2]))
|
|
471
|
+
* assert.deepStrictEqual(init([]), none)
|
|
472
|
+
*
|
|
473
|
+
* @since 2.0.0
|
|
474
|
+
*/
|
|
475
|
+
export declare const init: <A>(as: Array<A>) => Option<Array<A>>
|
|
476
|
+
/**
|
|
477
|
+
* Keep only a max number of elements from the start of an `Array`, creating a new `Array`.
|
|
478
|
+
*
|
|
479
|
+
* **Note**. `n` is normalized to a non negative integer.
|
|
480
|
+
*
|
|
481
|
+
* @example
|
|
482
|
+
* import { takeLeft } from 'fp-ts/Array'
|
|
483
|
+
*
|
|
484
|
+
* assert.deepStrictEqual(takeLeft(2)([1, 2, 3, 4, 5]), [1, 2]);
|
|
485
|
+
* assert.deepStrictEqual(takeLeft(7)([1, 2, 3, 4, 5]), [1, 2, 3, 4, 5]);
|
|
486
|
+
* assert.deepStrictEqual(takeLeft(0)([1, 2, 3, 4, 5]), []);
|
|
487
|
+
* assert.deepStrictEqual(takeLeft(-1)([1, 2, 3, 4, 5]), [1, 2, 3, 4, 5]);
|
|
488
|
+
*
|
|
489
|
+
* @since 2.0.0
|
|
490
|
+
*/
|
|
491
|
+
export declare const takeLeft: (n: number) => <A>(as: Array<A>) => Array<A>
|
|
492
|
+
/**
|
|
493
|
+
* Keep only a max number of elements from the end of an `Array`, creating a new `Array`.
|
|
494
|
+
*
|
|
495
|
+
* **Note**. `n` is normalized to a non negative integer.
|
|
496
|
+
*
|
|
497
|
+
* @example
|
|
498
|
+
* import { takeRight } from 'fp-ts/Array'
|
|
499
|
+
*
|
|
500
|
+
* assert.deepStrictEqual(takeRight(2)([1, 2, 3, 4, 5]), [4, 5]);
|
|
501
|
+
* assert.deepStrictEqual(takeRight(7)([1, 2, 3, 4, 5]), [1, 2, 3, 4, 5]);
|
|
502
|
+
* assert.deepStrictEqual(takeRight(0)([1, 2, 3, 4, 5]), []);
|
|
503
|
+
* assert.deepStrictEqual(takeRight(-1)([1, 2, 3, 4, 5]), [1, 2, 3, 4, 5]);
|
|
504
|
+
*
|
|
505
|
+
* @since 2.0.0
|
|
506
|
+
*/
|
|
507
|
+
export declare const takeRight: (n: number) => <A>(as: Array<A>) => Array<A>
|
|
508
|
+
/**
|
|
509
|
+
* Calculate the longest initial subarray for which all element satisfy the specified predicate, creating a new array
|
|
510
|
+
*
|
|
511
|
+
* @example
|
|
512
|
+
* import { takeLeftWhile } from 'fp-ts/Array'
|
|
513
|
+
*
|
|
514
|
+
* assert.deepStrictEqual(takeLeftWhile((n: number) => n % 2 === 0)([2, 4, 3, 6]), [2, 4])
|
|
515
|
+
*
|
|
516
|
+
* @since 2.0.0
|
|
517
|
+
*/
|
|
518
|
+
export declare function takeLeftWhile<A, B extends A>(refinement: Refinement<A, B>): (as: Array<A>) => Array<B>
|
|
519
|
+
export declare function takeLeftWhile<A>(predicate: Predicate<A>): <B extends A>(bs: Array<B>) => Array<B>
|
|
520
|
+
export declare function takeLeftWhile<A>(predicate: Predicate<A>): (as: Array<A>) => Array<A>
|
|
521
|
+
/**
|
|
522
|
+
* Type returned by [`spanLeft`](#spanLeft) composed of an `init` array and a `rest` array.
|
|
523
|
+
*
|
|
524
|
+
* @since 2.10.0
|
|
525
|
+
*/
|
|
526
|
+
export interface Spanned<I, R> {
|
|
527
|
+
init: Array<I>
|
|
528
|
+
rest: Array<R>
|
|
529
|
+
}
|
|
530
|
+
/**
|
|
531
|
+
* Split an array into two parts:
|
|
532
|
+
* 1. the longest initial subarray for which all elements satisfy the specified predicate
|
|
533
|
+
* 2. the remaining elements
|
|
534
|
+
*
|
|
535
|
+
* @example
|
|
536
|
+
* import { spanLeft } from 'fp-ts/Array'
|
|
537
|
+
*
|
|
538
|
+
* const isOdd = (n: number) => n % 2 === 1;
|
|
539
|
+
* assert.deepStrictEqual(spanLeft(isOdd)([1, 3, 2, 4, 5]), { init: [1, 3], rest: [2, 4, 5] });
|
|
540
|
+
* assert.deepStrictEqual(spanLeft(isOdd)([0, 2, 4, 5]), { init: [], rest: [0, 2, 4, 5] });
|
|
541
|
+
* assert.deepStrictEqual(spanLeft(isOdd)([1, 3, 5]), { init: [1, 3, 5], rest: [] });
|
|
542
|
+
*
|
|
543
|
+
* @since 2.0.0
|
|
544
|
+
*/
|
|
545
|
+
export declare function spanLeft<A, B extends A>(refinement: Refinement<A, B>): (as: Array<A>) => Spanned<B, A>
|
|
546
|
+
export declare function spanLeft<A>(predicate: Predicate<A>): <B extends A>(bs: Array<B>) => Spanned<B, B>
|
|
547
|
+
export declare function spanLeft<A>(predicate: Predicate<A>): (as: Array<A>) => Spanned<A, A>
|
|
548
|
+
/**
|
|
549
|
+
* Creates a new `Array` which is a copy of the input dropping a max number of elements from the start.
|
|
550
|
+
*
|
|
551
|
+
* **Note**. `n` is normalized to a non negative integer.
|
|
552
|
+
*
|
|
553
|
+
* @example
|
|
554
|
+
* import { dropLeft } from 'fp-ts/Array'
|
|
555
|
+
*
|
|
556
|
+
* assert.deepStrictEqual(dropLeft(2)([1, 2, 3]), [3]);
|
|
557
|
+
* assert.deepStrictEqual(dropLeft(5)([1, 2, 3]), []);
|
|
558
|
+
* assert.deepStrictEqual(dropLeft(0)([1, 2, 3]), [1, 2, 3]);
|
|
559
|
+
* assert.deepStrictEqual(dropLeft(-2)([1, 2, 3]), [1, 2, 3]);
|
|
560
|
+
*
|
|
561
|
+
* @since 2.0.0
|
|
562
|
+
*/
|
|
563
|
+
export declare const dropLeft: (n: number) => <A>(as: Array<A>) => Array<A>
|
|
564
|
+
/**
|
|
565
|
+
* Creates a new `Array` which is a copy of the input dropping a max number of elements from the end.
|
|
566
|
+
*
|
|
567
|
+
* **Note**. `n` is normalized to a non negative integer.
|
|
568
|
+
*
|
|
569
|
+
* @example
|
|
570
|
+
* import { dropRight } from 'fp-ts/Array'
|
|
571
|
+
*
|
|
572
|
+
* assert.deepStrictEqual(dropRight(2)([1, 2, 3]), [1]);
|
|
573
|
+
* assert.deepStrictEqual(dropRight(5)([1, 2, 3]), []);
|
|
574
|
+
* assert.deepStrictEqual(dropRight(0)([1, 2, 3]), [1, 2, 3]);
|
|
575
|
+
* assert.deepStrictEqual(dropRight(-2)([1, 2, 3]), [1, 2, 3]);
|
|
576
|
+
*
|
|
577
|
+
* @since 2.0.0
|
|
578
|
+
*/
|
|
579
|
+
export declare const dropRight: (n: number) => <A>(as: Array<A>) => Array<A>
|
|
580
|
+
/**
|
|
581
|
+
* Creates a new `Array` which is a copy of the input dropping the longest initial subarray for
|
|
582
|
+
* which all element satisfy the specified predicate.
|
|
583
|
+
*
|
|
584
|
+
* @example
|
|
585
|
+
* import { dropLeftWhile } from 'fp-ts/Array'
|
|
586
|
+
*
|
|
587
|
+
* assert.deepStrictEqual(dropLeftWhile((n: number) => n % 2 === 1)([1, 3, 2, 4, 5]), [2, 4, 5])
|
|
588
|
+
*
|
|
589
|
+
* @since 2.0.0
|
|
590
|
+
*/
|
|
591
|
+
export declare function dropLeftWhile<A, B extends A>(refinement: Refinement<A, B>): (as: Array<A>) => Array<B>
|
|
592
|
+
export declare function dropLeftWhile<A>(predicate: Predicate<A>): <B extends A>(bs: Array<B>) => Array<B>
|
|
593
|
+
export declare function dropLeftWhile<A>(predicate: Predicate<A>): (as: Array<A>) => Array<A>
|
|
594
|
+
/**
|
|
595
|
+
* `findIndex` returns an `Option` containing the first index for which a predicate holds.
|
|
596
|
+
* It returns `None` if no element satisfies the predicate.
|
|
597
|
+
* Similar to [`findFirst`](#findFirst) but returning the index instead of the element.
|
|
598
|
+
*
|
|
599
|
+
* @example
|
|
600
|
+
* import { findIndex } from 'fp-ts/Array'
|
|
601
|
+
* import { some, none } from 'fp-ts/Option'
|
|
602
|
+
*
|
|
603
|
+
* assert.deepStrictEqual(findIndex((n: number) => n === 2)([1, 2, 3]), some(1))
|
|
604
|
+
* assert.deepStrictEqual(findIndex((n: number) => n === 2)([]), none)
|
|
605
|
+
*
|
|
606
|
+
* @since 2.0.0
|
|
607
|
+
*/
|
|
608
|
+
export declare const findIndex: <A>(predicate: Predicate<A>) => (as: Array<A>) => Option<number>
|
|
609
|
+
/**
|
|
610
|
+
* Find the first element which satisfies a predicate (or a refinement) function.
|
|
611
|
+
* It returns an `Option` containing the element or `None` if not found.
|
|
612
|
+
*
|
|
613
|
+
* @example
|
|
614
|
+
* import { findFirst } from 'fp-ts/Array'
|
|
615
|
+
* import { some } from 'fp-ts/Option'
|
|
616
|
+
*
|
|
617
|
+
* type X = {
|
|
618
|
+
* readonly a: number
|
|
619
|
+
* readonly b: number
|
|
620
|
+
* }
|
|
621
|
+
*
|
|
622
|
+
* assert.deepStrictEqual(findFirst((x: X) => x.a === 1)([{ a: 1, b: 1 }, { a: 1, b: 2 }]), some({ a: 1, b: 1 }))
|
|
623
|
+
*
|
|
624
|
+
* @since 2.0.0
|
|
625
|
+
*/
|
|
626
|
+
export declare function findFirst<A, B extends A>(refinement: Refinement<A, B>): (as: Array<A>) => Option<B>
|
|
627
|
+
export declare function findFirst<A>(predicate: Predicate<A>): <B extends A>(bs: Array<B>) => Option<B>
|
|
628
|
+
export declare function findFirst<A>(predicate: Predicate<A>): (as: Array<A>) => Option<A>
|
|
629
|
+
/**
|
|
630
|
+
* Given a selector function which takes an element and returns an option,
|
|
631
|
+
* this function applies the selector to each element of the array and
|
|
632
|
+
* returns the first `Some` result. Otherwise it returns `None`.
|
|
633
|
+
*
|
|
634
|
+
* @example
|
|
635
|
+
* import { findFirstMap } from 'fp-ts/Array'
|
|
636
|
+
* import { some, none } from 'fp-ts/Option'
|
|
637
|
+
*
|
|
638
|
+
* interface Person {
|
|
639
|
+
* readonly name: string;
|
|
640
|
+
* readonly age: number;
|
|
641
|
+
* }
|
|
642
|
+
*
|
|
643
|
+
* const persons: Array<Person> = [
|
|
644
|
+
* { name: "John", age: 16 },
|
|
645
|
+
* { name: "Mary", age: 45 },
|
|
646
|
+
* { name: "Joey", age: 28 },
|
|
647
|
+
* ];
|
|
648
|
+
*
|
|
649
|
+
* const nameOfPersonAbove18 = (p: Person) => (p.age <= 18 ? none : some(p.name));
|
|
650
|
+
* const nameOfPersonAbove70 = (p: Person) => (p.age <= 70 ? none : some(p.name));
|
|
651
|
+
* assert.deepStrictEqual(findFirstMap(nameOfPersonAbove18)(persons), some("Mary"));
|
|
652
|
+
* assert.deepStrictEqual(findFirstMap(nameOfPersonAbove70)(persons), none);
|
|
653
|
+
*
|
|
654
|
+
* @since 2.0.0
|
|
655
|
+
*/
|
|
656
|
+
export declare const findFirstMap: <A, B>(f: (a: A) => Option<B>) => (as: Array<A>) => Option<B>
|
|
657
|
+
/**
|
|
658
|
+
* Find the last element which satisfies a predicate function.
|
|
659
|
+
* It returns an `Option` containing the element or `None` if not found.
|
|
660
|
+
*
|
|
661
|
+
* @example
|
|
662
|
+
* import { findLast } from 'fp-ts/Array'
|
|
663
|
+
* import { some } from 'fp-ts/Option'
|
|
664
|
+
*
|
|
665
|
+
* type X = {
|
|
666
|
+
* readonly a: number
|
|
667
|
+
* readonly b: number
|
|
668
|
+
* }
|
|
669
|
+
*
|
|
670
|
+
* assert.deepStrictEqual(findLast((x: X) => x.a === 1)([{ a: 1, b: 1 }, { a: 1, b: 2 }]), some({ a: 1, b: 2 }))
|
|
671
|
+
*
|
|
672
|
+
* @since 2.0.0
|
|
673
|
+
*/
|
|
674
|
+
export declare function findLast<A, B extends A>(refinement: Refinement<A, B>): (as: Array<A>) => Option<B>
|
|
675
|
+
export declare function findLast<A>(predicate: Predicate<A>): <B extends A>(bs: Array<B>) => Option<B>
|
|
676
|
+
export declare function findLast<A>(predicate: Predicate<A>): (as: Array<A>) => Option<A>
|
|
677
|
+
/**
|
|
678
|
+
* Given a selector function which takes an element and returns an option,
|
|
679
|
+
* this function applies the selector to each element of the array starting from the
|
|
680
|
+
* end and returns the last `Some` result. Otherwise it returns `None`.
|
|
681
|
+
*
|
|
682
|
+
* @example
|
|
683
|
+
* import { findLastMap } from 'fp-ts/Array'
|
|
684
|
+
* import { some, none } from 'fp-ts/Option'
|
|
685
|
+
*
|
|
686
|
+
* interface Person {
|
|
687
|
+
* readonly name: string;
|
|
688
|
+
* readonly age: number;
|
|
689
|
+
* }
|
|
690
|
+
*
|
|
691
|
+
* const persons: Array<Person> = [
|
|
692
|
+
* { name: "John", age: 16 },
|
|
693
|
+
* { name: "Mary", age: 45 },
|
|
694
|
+
* { name: "Joey", age: 28 },
|
|
695
|
+
* ];
|
|
696
|
+
*
|
|
697
|
+
* const nameOfPersonAbove18 = (p: Person) => (p.age <= 18 ? none : some(p.name));
|
|
698
|
+
* const nameOfPersonAbove70 = (p: Person) => (p.age <= 70 ? none : some(p.name));
|
|
699
|
+
* assert.deepStrictEqual(findLastMap(nameOfPersonAbove18)(persons), some("Joey"));
|
|
700
|
+
* assert.deepStrictEqual(findLastMap(nameOfPersonAbove70)(persons), none);
|
|
701
|
+
*
|
|
702
|
+
* @since 2.0.0
|
|
703
|
+
*/
|
|
704
|
+
export declare const findLastMap: <A, B>(f: (a: A) => Option<B>) => (as: Array<A>) => Option<B>
|
|
705
|
+
/**
|
|
706
|
+
* Returns the index of the last element of the list which matches the predicate.
|
|
707
|
+
* It returns an `Option` containing the index or `None` if not found.
|
|
708
|
+
*
|
|
709
|
+
* @example
|
|
710
|
+
* import { findLastIndex } from 'fp-ts/Array'
|
|
711
|
+
* import { some, none } from 'fp-ts/Option'
|
|
712
|
+
*
|
|
713
|
+
* interface X {
|
|
714
|
+
* readonly a: number
|
|
715
|
+
* readonly b: number
|
|
716
|
+
* }
|
|
717
|
+
* const xs: Array<X> = [{ a: 1, b: 0 }, { a: 1, b: 1 }]
|
|
718
|
+
* assert.deepStrictEqual(findLastIndex((x: { readonly a: number }) => x.a === 1)(xs), some(1))
|
|
719
|
+
* assert.deepStrictEqual(findLastIndex((x: { readonly a: number }) => x.a === 4)(xs), none)
|
|
720
|
+
*
|
|
721
|
+
* @since 2.0.0
|
|
722
|
+
*/
|
|
723
|
+
export declare const findLastIndex: <A>(predicate: Predicate<A>) => (as: Array<A>) => Option<number>
|
|
724
|
+
/**
|
|
725
|
+
* This function takes an array and makes a new array containing the same elements.
|
|
726
|
+
*
|
|
727
|
+
* @since 2.0.0
|
|
728
|
+
*/
|
|
729
|
+
export declare const copy: <A>(as: Array<A>) => Array<A>
|
|
730
|
+
/**
|
|
731
|
+
* Insert an element at the specified index, creating a new array,
|
|
732
|
+
* or returning `None` if the index is out of bounds.
|
|
733
|
+
*
|
|
734
|
+
* @example
|
|
735
|
+
* import { insertAt } from 'fp-ts/Array'
|
|
736
|
+
* import { some } from 'fp-ts/Option'
|
|
737
|
+
*
|
|
738
|
+
* assert.deepStrictEqual(insertAt(2, 5)([1, 2, 3, 4]), some([1, 2, 5, 3, 4]))
|
|
739
|
+
*
|
|
740
|
+
* @since 2.0.0
|
|
741
|
+
*/
|
|
742
|
+
export declare const insertAt: <A>(i: number, a: A) => (as: Array<A>) => Option<NonEmptyArray<A>>
|
|
743
|
+
/**
|
|
744
|
+
* Change the element at the specified index, creating a new array,
|
|
745
|
+
* or returning `None` if the index is out of bounds.
|
|
746
|
+
*
|
|
747
|
+
* @example
|
|
748
|
+
* import { updateAt } from 'fp-ts/Array'
|
|
749
|
+
* import { some, none } from 'fp-ts/Option'
|
|
750
|
+
*
|
|
751
|
+
* assert.deepStrictEqual(updateAt(1, 1)([1, 2, 3]), some([1, 1, 3]))
|
|
752
|
+
* assert.deepStrictEqual(updateAt(1, 1)([]), none)
|
|
753
|
+
*
|
|
754
|
+
* @since 2.0.0
|
|
755
|
+
*/
|
|
756
|
+
export declare const updateAt: <A>(i: number, a: A) => (as: Array<A>) => Option<Array<A>>
|
|
757
|
+
/**
|
|
758
|
+
* Delete the element at the specified index, creating a new array, or returning `None` if the index is out of bounds.
|
|
759
|
+
*
|
|
760
|
+
* @example
|
|
761
|
+
* import { deleteAt } from 'fp-ts/Array'
|
|
762
|
+
* import { some, none } from 'fp-ts/Option'
|
|
763
|
+
*
|
|
764
|
+
* assert.deepStrictEqual(deleteAt(0)([1, 2, 3]), some([2, 3]))
|
|
765
|
+
* assert.deepStrictEqual(deleteAt(1)([]), none)
|
|
766
|
+
*
|
|
767
|
+
* @since 2.0.0
|
|
768
|
+
*/
|
|
769
|
+
export declare const deleteAt: (i: number) => <A>(as: Array<A>) => Option<Array<A>>
|
|
770
|
+
/**
|
|
771
|
+
* Apply a function to the element at the specified index, creating a new array, or returning `None` if the index is out
|
|
772
|
+
* of bounds.
|
|
773
|
+
*
|
|
774
|
+
* @example
|
|
775
|
+
* import { modifyAt } from 'fp-ts/Array'
|
|
776
|
+
* import { some, none } from 'fp-ts/Option'
|
|
777
|
+
*
|
|
778
|
+
* const double = (x: number): number => x * 2
|
|
779
|
+
* assert.deepStrictEqual(modifyAt(1, double)([1, 2, 3]), some([1, 4, 3]))
|
|
780
|
+
* assert.deepStrictEqual(modifyAt(1, double)([]), none)
|
|
781
|
+
*
|
|
782
|
+
* @since 2.0.0
|
|
783
|
+
*/
|
|
784
|
+
export declare const modifyAt: <A>(i: number, f: (a: A) => A) => (as: Array<A>) => Option<Array<A>>
|
|
785
|
+
/**
|
|
786
|
+
* Reverse an array, creating a new array
|
|
787
|
+
*
|
|
788
|
+
* @example
|
|
789
|
+
* import { reverse } from 'fp-ts/Array'
|
|
790
|
+
*
|
|
791
|
+
* assert.deepStrictEqual(reverse([1, 2, 3]), [3, 2, 1])
|
|
792
|
+
*
|
|
793
|
+
* @since 2.0.0
|
|
794
|
+
*/
|
|
795
|
+
export declare const reverse: <A>(as: Array<A>) => Array<A>
|
|
796
|
+
/**
|
|
797
|
+
* Takes an `Array` of `Either` and produces a new `Array` containing
|
|
798
|
+
* the values of all the `Right` elements in the same order.
|
|
799
|
+
*
|
|
800
|
+
* @example
|
|
801
|
+
* import { rights } from 'fp-ts/Array'
|
|
802
|
+
* import { right, left } from 'fp-ts/Either'
|
|
803
|
+
*
|
|
804
|
+
* assert.deepStrictEqual(rights([right(1), left('foo'), right(2)]), [1, 2])
|
|
805
|
+
*
|
|
806
|
+
* @since 2.0.0
|
|
807
|
+
*/
|
|
808
|
+
export declare const rights: <E, A>(as: Array<Either<E, A>>) => Array<A>
|
|
809
|
+
/**
|
|
810
|
+
* Takes an `Array` of `Either` and produces a new `Array` containing
|
|
811
|
+
* the values of all the `Left` elements in the same order.
|
|
812
|
+
*
|
|
813
|
+
* @example
|
|
814
|
+
* import { lefts } from 'fp-ts/Array'
|
|
815
|
+
* import { left, right } from 'fp-ts/Either'
|
|
816
|
+
*
|
|
817
|
+
* assert.deepStrictEqual(lefts([right(1), left('foo'), right(2)]), ['foo'])
|
|
818
|
+
*
|
|
819
|
+
* @since 2.0.0
|
|
820
|
+
*/
|
|
821
|
+
export declare const lefts: <E, A>(as: Array<Either<E, A>>) => Array<E>
|
|
822
|
+
/**
|
|
823
|
+
* Sort the elements of an array in increasing order, creating a new array
|
|
824
|
+
*
|
|
825
|
+
* @example
|
|
826
|
+
* import { sort } from 'fp-ts/Array'
|
|
827
|
+
* import * as N from 'fp-ts/number'
|
|
828
|
+
*
|
|
829
|
+
* assert.deepStrictEqual(sort(N.Ord)([3, 2, 1]), [1, 2, 3])
|
|
830
|
+
*
|
|
831
|
+
* @since 2.0.0
|
|
832
|
+
*/
|
|
833
|
+
export declare const sort: <B>(O: Ord<B>) => <A extends B>(as: Array<A>) => Array<A>
|
|
834
|
+
/**
|
|
835
|
+
* Apply a function to pairs of elements at the same index in two arrays, collecting the results in a new array. If one
|
|
836
|
+
* input array is short, excess elements of the longer array are discarded.
|
|
837
|
+
*
|
|
838
|
+
* @example
|
|
839
|
+
* import { zipWith } from 'fp-ts/Array'
|
|
840
|
+
*
|
|
841
|
+
* assert.deepStrictEqual(zipWith([1, 2, 3], ['a', 'b', 'c', 'd'], (n, s) => s + n), ['a1', 'b2', 'c3'])
|
|
842
|
+
*
|
|
843
|
+
* @since 2.0.0
|
|
844
|
+
*/
|
|
845
|
+
export declare const zipWith: <A, B, C>(fa: Array<A>, fb: Array<B>, f: (a: A, b: B) => C) => Array<C>
|
|
846
|
+
/**
|
|
847
|
+
* Takes two arrays and returns an array of corresponding pairs. If one input array is short, excess elements of the
|
|
848
|
+
* longer array are discarded
|
|
849
|
+
*
|
|
850
|
+
* @example
|
|
851
|
+
* import { zip } from 'fp-ts/Array'
|
|
852
|
+
* import { pipe } from 'fp-ts/function'
|
|
853
|
+
*
|
|
854
|
+
* assert.deepStrictEqual(pipe([1, 2, 3], zip(['a', 'b', 'c', 'd'])), [[1, 'a'], [2, 'b'], [3, 'c']])
|
|
855
|
+
*
|
|
856
|
+
* @since 2.0.0
|
|
857
|
+
*/
|
|
858
|
+
export declare function zip<B>(bs: Array<B>): <A>(as: Array<A>) => Array<[A, B]>
|
|
859
|
+
export declare function zip<A, B>(as: Array<A>, bs: Array<B>): Array<[A, B]>
|
|
860
|
+
/**
|
|
861
|
+
* The function is reverse of `zip`. Takes an array of pairs and return two corresponding arrays
|
|
862
|
+
*
|
|
863
|
+
* @example
|
|
864
|
+
* import { unzip } from 'fp-ts/Array'
|
|
865
|
+
*
|
|
866
|
+
* assert.deepStrictEqual(unzip([[1, 'a'], [2, 'b'], [3, 'c']]), [[1, 2, 3], ['a', 'b', 'c']])
|
|
867
|
+
*
|
|
868
|
+
* @since 2.0.0
|
|
869
|
+
*/
|
|
870
|
+
export declare const unzip: <A, B>(as: Array<[A, B]>) => [Array<A>, Array<B>]
|
|
871
|
+
/**
|
|
872
|
+
* Creates a new `Array`, prepending an element to every member of the input `Array`.
|
|
873
|
+
*
|
|
874
|
+
* @example
|
|
875
|
+
* import { prependAll } from 'fp-ts/Array'
|
|
876
|
+
*
|
|
877
|
+
* assert.deepStrictEqual(prependAll(9)([1, 2, 3, 4]), [9, 1, 9, 2, 9, 3, 9, 4])
|
|
878
|
+
*
|
|
879
|
+
* @since 2.10.0
|
|
880
|
+
*/
|
|
881
|
+
export declare const prependAll: <A>(middle: A) => (as: Array<A>) => Array<A>
|
|
882
|
+
/**
|
|
883
|
+
* Creates a new `Array` placing an element in between members of the input `Array`.
|
|
884
|
+
*
|
|
885
|
+
* @example
|
|
886
|
+
* import { intersperse } from 'fp-ts/Array'
|
|
887
|
+
*
|
|
888
|
+
* assert.deepStrictEqual(intersperse(9)([1, 2, 3, 4]), [1, 9, 2, 9, 3, 9, 4])
|
|
889
|
+
*
|
|
890
|
+
* @since 2.9.0
|
|
891
|
+
*/
|
|
892
|
+
export declare const intersperse: <A>(middle: A) => (as: Array<A>) => Array<A>
|
|
893
|
+
/**
|
|
894
|
+
* Creates a new `Array` rotating the input `Array` by `n` steps.
|
|
895
|
+
*
|
|
896
|
+
* @example
|
|
897
|
+
* import { rotate } from 'fp-ts/Array'
|
|
898
|
+
*
|
|
899
|
+
* assert.deepStrictEqual(rotate(2)([1, 2, 3, 4, 5]), [4, 5, 1, 2, 3])
|
|
900
|
+
*
|
|
901
|
+
* @since 2.0.0
|
|
902
|
+
*/
|
|
903
|
+
export declare const rotate: (n: number) => <A>(as: Array<A>) => Array<A>
|
|
904
|
+
/**
|
|
905
|
+
* Test if a value is a member of an `Array`. Takes a `Eq<A>` as a single
|
|
906
|
+
* argument which returns the function to use to search for a value of type `A` in
|
|
907
|
+
* an `Array<A>`.
|
|
908
|
+
*
|
|
909
|
+
* @example
|
|
910
|
+
* import { elem } from 'fp-ts/Array'
|
|
911
|
+
* import * as N from 'fp-ts/number'
|
|
912
|
+
* import { pipe } from 'fp-ts/function'
|
|
913
|
+
*
|
|
914
|
+
* assert.strictEqual(pipe([1, 2, 3], elem(N.Eq)(2)), true)
|
|
915
|
+
* assert.strictEqual(pipe([1, 2, 3], elem(N.Eq)(0)), false)
|
|
916
|
+
*
|
|
917
|
+
* @since 2.0.0
|
|
918
|
+
*/
|
|
919
|
+
export declare const elem: <A>(E: Eq<A>) => {
|
|
920
|
+
(a: A): (as: Array<A>) => boolean
|
|
921
|
+
(a: A, as: Array<A>): boolean
|
|
922
|
+
}
|
|
923
|
+
/**
|
|
924
|
+
* Creates a new `Array` removing duplicate elements, keeping the first occurrence of an element,
|
|
925
|
+
* based on a `Eq<A>`.
|
|
926
|
+
*
|
|
927
|
+
* @example
|
|
928
|
+
* import { uniq } from 'fp-ts/Array'
|
|
929
|
+
* import * as N from 'fp-ts/number'
|
|
930
|
+
*
|
|
931
|
+
* assert.deepStrictEqual(uniq(N.Eq)([1, 2, 1]), [1, 2])
|
|
932
|
+
*
|
|
933
|
+
* @since 2.0.0
|
|
934
|
+
*/
|
|
935
|
+
export declare const uniq: <A>(E: Eq<A>) => (as: Array<A>) => Array<A>
|
|
936
|
+
/**
|
|
937
|
+
* Sort the elements of an array in increasing order, where elements are compared using first `ords[0]`, then `ords[1]`,
|
|
938
|
+
* etc...
|
|
939
|
+
*
|
|
940
|
+
* @example
|
|
941
|
+
* import { sortBy } from 'fp-ts/Array'
|
|
942
|
+
* import { contramap } from 'fp-ts/Ord'
|
|
943
|
+
* import * as S from 'fp-ts/string'
|
|
944
|
+
* import * as N from 'fp-ts/number'
|
|
945
|
+
* import { pipe } from 'fp-ts/function'
|
|
946
|
+
*
|
|
947
|
+
* interface Person {
|
|
948
|
+
* readonly name: string
|
|
949
|
+
* readonly age: number
|
|
950
|
+
* }
|
|
951
|
+
* const byName = pipe(S.Ord, contramap((p: Person) => p.name))
|
|
952
|
+
* const byAge = pipe(N.Ord, contramap((p: Person) => p.age))
|
|
953
|
+
*
|
|
954
|
+
* const sortByNameByAge = sortBy([byName, byAge])
|
|
955
|
+
*
|
|
956
|
+
* const persons = [{ name: 'a', age: 1 }, { name: 'b', age: 3 }, { name: 'c', age: 2 }, { name: 'b', age: 2 }]
|
|
957
|
+
* assert.deepStrictEqual(sortByNameByAge(persons), [
|
|
958
|
+
* { name: 'a', age: 1 },
|
|
959
|
+
* { name: 'b', age: 2 },
|
|
960
|
+
* { name: 'b', age: 3 },
|
|
961
|
+
* { name: 'c', age: 2 }
|
|
962
|
+
* ])
|
|
963
|
+
*
|
|
964
|
+
* @since 2.0.0
|
|
965
|
+
*/
|
|
966
|
+
export declare const sortBy: <B>(ords: Array<Ord<B>>) => <A extends B>(as: Array<A>) => Array<A>
|
|
967
|
+
/**
|
|
968
|
+
* A useful recursion pattern for processing an array to produce a new array, often used for "chopping" up the input
|
|
969
|
+
* array. Typically chop is called with some function that will consume an initial prefix of the array and produce a
|
|
970
|
+
* value and the rest of the array.
|
|
971
|
+
*
|
|
972
|
+
* @example
|
|
973
|
+
* import { Eq } from 'fp-ts/Eq'
|
|
974
|
+
* import * as A from 'fp-ts/Array'
|
|
975
|
+
* import * as N from 'fp-ts/number'
|
|
976
|
+
* import { pipe } from 'fp-ts/function'
|
|
977
|
+
*
|
|
978
|
+
* const group = <A>(S: Eq<A>): ((as: Array<A>) => Array<Array<A>>) => {
|
|
979
|
+
* return A.chop(as => {
|
|
980
|
+
* const { init, rest } = pipe(as, A.spanLeft((a: A) => S.equals(a, as[0])))
|
|
981
|
+
* return [init, rest]
|
|
982
|
+
* })
|
|
983
|
+
* }
|
|
984
|
+
* assert.deepStrictEqual(group(N.Eq)([1, 1, 2, 3, 3, 4]), [[1, 1], [2], [3, 3], [4]])
|
|
985
|
+
*
|
|
986
|
+
* @since 2.0.0
|
|
987
|
+
*/
|
|
988
|
+
export declare const chop: <A, B>(f: (as: NonEmptyArray<A>) => [B, Array<A>]) => (as: Array<A>) => Array<B>
|
|
989
|
+
/**
|
|
990
|
+
* Splits an `Array` into two pieces, the first piece has max `n` elements.
|
|
991
|
+
*
|
|
992
|
+
* @example
|
|
993
|
+
* import { splitAt } from 'fp-ts/Array'
|
|
994
|
+
*
|
|
995
|
+
* assert.deepStrictEqual(splitAt(2)([1, 2, 3, 4, 5]), [[1, 2], [3, 4, 5]])
|
|
996
|
+
*
|
|
997
|
+
* @since 2.0.0
|
|
998
|
+
*/
|
|
999
|
+
export declare const splitAt: (n: number) => <A>(as: Array<A>) => [Array<A>, Array<A>]
|
|
1000
|
+
/**
|
|
1001
|
+
* Splits an array into length-`n` pieces. The last piece will be shorter if `n` does not evenly divide the length of
|
|
1002
|
+
* the array. Note that `chunksOf(n)([])` is `[]`, not `[[]]`. This is intentional, and is consistent with a recursive
|
|
1003
|
+
* definition of `chunksOf`; it satisfies the property that
|
|
1004
|
+
*
|
|
1005
|
+
* ```ts
|
|
1006
|
+
* chunksOf(n)(xs).concat(chunksOf(n)(ys)) == chunksOf(n)(xs.concat(ys)))
|
|
1007
|
+
* ```
|
|
1008
|
+
*
|
|
1009
|
+
* whenever `n` evenly divides the length of `xs`.
|
|
1010
|
+
*
|
|
1011
|
+
* @example
|
|
1012
|
+
* import { chunksOf } from 'fp-ts/Array'
|
|
1013
|
+
*
|
|
1014
|
+
* assert.deepStrictEqual(chunksOf(2)([1, 2, 3, 4, 5]), [[1, 2], [3, 4], [5]])
|
|
1015
|
+
*
|
|
1016
|
+
* @since 2.0.0
|
|
1017
|
+
*/
|
|
1018
|
+
export declare const chunksOf: (n: number) => <A>(as: Array<A>) => Array<NonEmptyArray<A>>
|
|
1019
|
+
/**
|
|
1020
|
+
* @category lifting
|
|
1021
|
+
* @since 2.11.0
|
|
1022
|
+
*/
|
|
1023
|
+
export declare const fromOptionK: <A extends ReadonlyArray<unknown>, B>(
|
|
1024
|
+
f: (...a: A) => Option<B>
|
|
1025
|
+
) => (...a: A) => Array<B>
|
|
1026
|
+
/**
|
|
1027
|
+
* `Array` comprehension.
|
|
1028
|
+
*
|
|
1029
|
+
* ```
|
|
1030
|
+
* [ f(x, y, ...) | x ← xs, y ← ys, ..., g(x, y, ...) ]
|
|
1031
|
+
* ```
|
|
1032
|
+
*
|
|
1033
|
+
* @example
|
|
1034
|
+
* import { comprehension } from 'fp-ts/Array'
|
|
1035
|
+
* import { tuple } from 'fp-ts/function'
|
|
1036
|
+
*
|
|
1037
|
+
* assert.deepStrictEqual(comprehension([[1, 2, 3], ['a', 'b']], tuple, (a, b) => (a + b.length) % 2 === 0), [
|
|
1038
|
+
* [1, 'a'],
|
|
1039
|
+
* [1, 'b'],
|
|
1040
|
+
* [3, 'a'],
|
|
1041
|
+
* [3, 'b']
|
|
1042
|
+
* ])
|
|
1043
|
+
*
|
|
1044
|
+
* @since 2.0.0
|
|
1045
|
+
*/
|
|
1046
|
+
export declare function comprehension<A, B, C, D, R>(
|
|
1047
|
+
input: [Array<A>, Array<B>, Array<C>, Array<D>],
|
|
1048
|
+
f: (a: A, b: B, c: C, d: D) => R,
|
|
1049
|
+
g?: (a: A, b: B, c: C, d: D) => boolean
|
|
1050
|
+
): Array<R>
|
|
1051
|
+
export declare function comprehension<A, B, C, R>(
|
|
1052
|
+
input: [Array<A>, Array<B>, Array<C>],
|
|
1053
|
+
f: (a: A, b: B, c: C) => R,
|
|
1054
|
+
g?: (a: A, b: B, c: C) => boolean
|
|
1055
|
+
): Array<R>
|
|
1056
|
+
export declare function comprehension<A, B, R>(
|
|
1057
|
+
input: [Array<A>, Array<B>],
|
|
1058
|
+
f: (a: A, b: B) => R,
|
|
1059
|
+
g?: (a: A, b: B) => boolean
|
|
1060
|
+
): Array<R>
|
|
1061
|
+
export declare function comprehension<A, R>(input: [Array<A>], f: (a: A) => R, g?: (a: A) => boolean): Array<R>
|
|
1062
|
+
/**
|
|
1063
|
+
* @since 2.11.0
|
|
1064
|
+
*/
|
|
1065
|
+
export declare const concatW: <B>(second: Array<B>) => <A>(first: Array<A>) => Array<A | B>
|
|
1066
|
+
/**
|
|
1067
|
+
* @since 2.11.0
|
|
1068
|
+
*/
|
|
1069
|
+
export declare const concat: <A>(second: Array<A>) => (first: Array<A>) => Array<A>
|
|
1070
|
+
/**
|
|
1071
|
+
* Creates an array of unique values, in order, from all given arrays using a `Eq` for equality comparisons
|
|
1072
|
+
*
|
|
1073
|
+
* @example
|
|
1074
|
+
* import { union } from 'fp-ts/Array'
|
|
1075
|
+
* import * as N from 'fp-ts/number'
|
|
1076
|
+
* import { pipe } from 'fp-ts/function'
|
|
1077
|
+
*
|
|
1078
|
+
* assert.deepStrictEqual(pipe([1, 2], union(N.Eq)([2, 3])), [1, 2, 3])
|
|
1079
|
+
*
|
|
1080
|
+
* @since 2.0.0
|
|
1081
|
+
*/
|
|
1082
|
+
export declare function union<A>(E: Eq<A>): {
|
|
1083
|
+
(xs: Array<A>): (ys: Array<A>) => Array<A>
|
|
1084
|
+
(xs: Array<A>, ys: Array<A>): Array<A>
|
|
1085
|
+
}
|
|
1086
|
+
/**
|
|
1087
|
+
* Creates an array of unique values that are included in all given arrays using a `Eq` for equality
|
|
1088
|
+
* comparisons. The order and references of result values are determined by the first array.
|
|
1089
|
+
*
|
|
1090
|
+
* @example
|
|
1091
|
+
* import { intersection } from 'fp-ts/Array'
|
|
1092
|
+
* import * as N from 'fp-ts/number'
|
|
1093
|
+
* import { pipe } from 'fp-ts/function'
|
|
1094
|
+
*
|
|
1095
|
+
* assert.deepStrictEqual(pipe([1, 2], intersection(N.Eq)([2, 3])), [2])
|
|
1096
|
+
*
|
|
1097
|
+
* @since 2.0.0
|
|
1098
|
+
*/
|
|
1099
|
+
export declare function intersection<A>(E: Eq<A>): {
|
|
1100
|
+
(xs: Array<A>): (ys: Array<A>) => Array<A>
|
|
1101
|
+
(xs: Array<A>, ys: Array<A>): Array<A>
|
|
1102
|
+
}
|
|
1103
|
+
/**
|
|
1104
|
+
* Creates an array of array values not included in the other given array using a `Eq` for equality
|
|
1105
|
+
* comparisons. The order and references of result values are determined by the first array.
|
|
1106
|
+
*
|
|
1107
|
+
* @example
|
|
1108
|
+
* import { difference } from 'fp-ts/Array'
|
|
1109
|
+
* import * as N from 'fp-ts/number'
|
|
1110
|
+
* import { pipe } from 'fp-ts/function'
|
|
1111
|
+
*
|
|
1112
|
+
* assert.deepStrictEqual(pipe([1, 2], difference(N.Eq)([2, 3])), [1])
|
|
1113
|
+
*
|
|
1114
|
+
* @since 2.0.0
|
|
1115
|
+
*/
|
|
1116
|
+
export declare function difference<A>(E: Eq<A>): {
|
|
1117
|
+
(xs: Array<A>): (ys: Array<A>) => Array<A>
|
|
1118
|
+
(xs: Array<A>, ys: Array<A>): Array<A>
|
|
1119
|
+
}
|
|
1120
|
+
/**
|
|
1121
|
+
* Given an element of the base type, `of` builds an `Array` containing just that
|
|
1122
|
+
* element of the base type (this is useful for building a `Monad`).
|
|
1123
|
+
*
|
|
1124
|
+
* @example
|
|
1125
|
+
* import { of } from 'fp-ts/Array'
|
|
1126
|
+
*
|
|
1127
|
+
* assert.deepStrictEqual(of("a"), ["a"]);
|
|
1128
|
+
*
|
|
1129
|
+
* @category constructors
|
|
1130
|
+
* @since 2.0.0
|
|
1131
|
+
*/
|
|
1132
|
+
export declare const of: <A>(a: A) => Array<A>
|
|
1133
|
+
/**
|
|
1134
|
+
* Makes an empty `Array`, useful for building a [`Monoid`](#Monoid)
|
|
1135
|
+
*
|
|
1136
|
+
* @since 2.7.0
|
|
1137
|
+
*/
|
|
1138
|
+
export declare const zero: <A>() => Array<A>
|
|
1139
|
+
/**
|
|
1140
|
+
* `map` can be used to turn functions `(a: A) => B` into functions `(fa: Array<A>) => Array<B>`.
|
|
1141
|
+
* In practice it applies the base function to each element of the array and collects the
|
|
1142
|
+
* results in a new array.
|
|
1143
|
+
*
|
|
1144
|
+
* @example
|
|
1145
|
+
* import { map } from 'fp-ts/Array'
|
|
1146
|
+
* import { pipe } from 'fp-ts/function'
|
|
1147
|
+
*
|
|
1148
|
+
* const f = (n: number) => n * 2;
|
|
1149
|
+
* assert.deepStrictEqual(pipe([1, 2, 3], map(f)), [2, 4, 6]);
|
|
1150
|
+
*
|
|
1151
|
+
* @category mapping
|
|
1152
|
+
* @since 2.0.0
|
|
1153
|
+
*/
|
|
1154
|
+
export declare const map: <A, B>(f: (a: A) => B) => (fa: Array<A>) => Array<B>
|
|
1155
|
+
/**
|
|
1156
|
+
* @example
|
|
1157
|
+
* import { ap, map, of } from 'fp-ts/Array'
|
|
1158
|
+
* import { pipe } from 'fp-ts/function'
|
|
1159
|
+
*
|
|
1160
|
+
* // a curried function with 3 input parameteres
|
|
1161
|
+
* const f = (s1: string) => (n: number) => (s2: string) => s1 + n + s2;
|
|
1162
|
+
*
|
|
1163
|
+
* // let's use `ap` to iterate `f` over an array for each input parameter
|
|
1164
|
+
* assert.deepStrictEqual(pipe(["a", "b"], map(f), ap([1, 2]), ap(["😀", "😫", "😎"])), [
|
|
1165
|
+
* "a1😀", "a1😫", "a1😎",
|
|
1166
|
+
* "a2😀", "a2😫", "a2😎",
|
|
1167
|
+
* "b1😀", "b1😫", "b1😎",
|
|
1168
|
+
* "b2😀", "b2😫", "b2😎",
|
|
1169
|
+
* ]);
|
|
1170
|
+
*
|
|
1171
|
+
* // given Array implements the Applicative interface with the `of` method,
|
|
1172
|
+
* // we can write exactly the same thing in a more symmetric way
|
|
1173
|
+
* // using `of` on `f` and `ap` on each array in input
|
|
1174
|
+
* assert.deepStrictEqual(
|
|
1175
|
+
* pipe(of(f), ap(["a", "b"]), ap([1, 2]), ap(["😀", "😫", "😎"])),
|
|
1176
|
+
* pipe(["a", "b"], map(f), ap([1, 2]), ap(["😀", "😫", "😎"]))
|
|
1177
|
+
* );
|
|
1178
|
+
*
|
|
1179
|
+
* @since 2.0.0
|
|
1180
|
+
*/
|
|
1181
|
+
export declare const ap: <A>(fa: Array<A>) => <B>(fab: Array<(a: A) => B>) => Array<B>
|
|
1182
|
+
/**
|
|
1183
|
+
* Composes computations in sequence, using the return value of one computation to
|
|
1184
|
+
* determine the next computation.
|
|
1185
|
+
*
|
|
1186
|
+
* In other words it takes a function `f` that produces an array from a single element of
|
|
1187
|
+
* the base type `A` and returns a new function which applies `f` to each element of the
|
|
1188
|
+
* input array (like [`map`](#map)) and, instead of returning an array of arrays, concatenates the
|
|
1189
|
+
* results into a single array (like [`flatten`](#flatten)).
|
|
1190
|
+
*
|
|
1191
|
+
* @example
|
|
1192
|
+
* import { flatMap, map, replicate } from 'fp-ts/Array'
|
|
1193
|
+
* import { pipe } from 'fp-ts/function'
|
|
1194
|
+
*
|
|
1195
|
+
* const f = (n: number) => replicate(n, `${n}`);
|
|
1196
|
+
* assert.deepStrictEqual(pipe([1, 2, 3], map(f)), [["1"], ["2", "2"], ["3", "3", "3"]]);
|
|
1197
|
+
* assert.deepStrictEqual(pipe([1, 2, 3], flatMap(f)), ["1", "2", "2", "3", "3", "3"]);
|
|
1198
|
+
*
|
|
1199
|
+
* @category sequencing
|
|
1200
|
+
* @since 2.14.0
|
|
1201
|
+
*/
|
|
1202
|
+
export declare const flatMap: {
|
|
1203
|
+
<A, B>(f: (a: A, i: number) => Array<B>): (ma: Array<A>) => Array<B>
|
|
1204
|
+
<A, B>(ma: Array<A>, f: (a: A, i: number) => Array<B>): Array<B>
|
|
1205
|
+
}
|
|
1206
|
+
/**
|
|
1207
|
+
* Takes an array of arrays of `A` and flattens them into an array of `A`
|
|
1208
|
+
* by concatenating the elements of each array in order.
|
|
1209
|
+
*
|
|
1210
|
+
* @example
|
|
1211
|
+
* import { flatten } from 'fp-ts/Array'
|
|
1212
|
+
*
|
|
1213
|
+
* assert.deepStrictEqual(flatten([["a"], ["b", "c"], ["d", "e", "f"]]), ["a", "b", "c", "d", "e", "f"]);
|
|
1214
|
+
*
|
|
1215
|
+
* @category sequencing
|
|
1216
|
+
* @since 2.5.0
|
|
1217
|
+
*/
|
|
1218
|
+
export declare const flatten: <A>(mma: Array<Array<A>>) => Array<A>
|
|
1219
|
+
/**
|
|
1220
|
+
* Same as [`map`](#map), but the iterating function takes both the index and the value
|
|
1221
|
+
* of the element.
|
|
1222
|
+
*
|
|
1223
|
+
* @example
|
|
1224
|
+
* import { mapWithIndex } from 'fp-ts/Array'
|
|
1225
|
+
* import { pipe } from 'fp-ts/function'
|
|
1226
|
+
*
|
|
1227
|
+
* const f = (i: number, s: string) => `${s} - ${i}`;
|
|
1228
|
+
* assert.deepStrictEqual(pipe(["a", "b", "c"], mapWithIndex(f)), ["a - 0", "b - 1", "c - 2"]);
|
|
1229
|
+
*
|
|
1230
|
+
* @category mapping
|
|
1231
|
+
* @since 2.0.0
|
|
1232
|
+
*/
|
|
1233
|
+
export declare const mapWithIndex: <A, B>(f: (i: number, a: A) => B) => (fa: Array<A>) => Array<B>
|
|
1234
|
+
/**
|
|
1235
|
+
* Maps an array with an iterating function that takes the index and the value of
|
|
1236
|
+
* each element and returns an `Option`. It keeps only the `Some` values discarding
|
|
1237
|
+
* the `None`s.
|
|
1238
|
+
*
|
|
1239
|
+
* Same as [`filterMap`](#filterMap), but with an iterating function which takes also
|
|
1240
|
+
* the index as input.
|
|
1241
|
+
*
|
|
1242
|
+
* @example
|
|
1243
|
+
* import { filterMapWithIndex } from 'fp-ts/Array'
|
|
1244
|
+
* import { pipe } from 'fp-ts/function'
|
|
1245
|
+
* import { option } from "fp-ts";
|
|
1246
|
+
*
|
|
1247
|
+
* const f = (i: number, s: string) => (i % 2 === 1 ? option.some(s.toUpperCase()) : option.none);
|
|
1248
|
+
* assert.deepStrictEqual(pipe(["a", "no", "neither", "b"], filterMapWithIndex(f)), ["NO", "B"]);
|
|
1249
|
+
*
|
|
1250
|
+
* @category filtering
|
|
1251
|
+
* @since 2.0.0
|
|
1252
|
+
*/
|
|
1253
|
+
export declare const filterMapWithIndex: <A, B>(f: (i: number, a: A) => Option<B>) => (fa: Array<A>) => Array<B>
|
|
1254
|
+
/**
|
|
1255
|
+
* Maps an array with an iterating function that returns an `Option`
|
|
1256
|
+
* and it keeps only the `Some` values discarding the `None`s.
|
|
1257
|
+
*
|
|
1258
|
+
* @example
|
|
1259
|
+
* import { filterMap } from 'fp-ts/Array'
|
|
1260
|
+
* import { pipe } from 'fp-ts/function'
|
|
1261
|
+
* import { option } from "fp-ts";
|
|
1262
|
+
*
|
|
1263
|
+
* const f = (s: string) => s.length === 1 ? option.some(s.toUpperCase()) : option.none;
|
|
1264
|
+
* assert.deepStrictEqual(pipe(["a", "no", "neither", "b"], filterMap(f)), ["A", "B"]);
|
|
1265
|
+
*
|
|
1266
|
+
* @category filtering
|
|
1267
|
+
* @since 2.0.0
|
|
1268
|
+
*/
|
|
1269
|
+
export declare const filterMap: <A, B>(f: (a: A) => Option<B>) => (fa: Array<A>) => Array<B>
|
|
1270
|
+
/**
|
|
1271
|
+
* Compact an array of `Option`s discarding the `None` values and
|
|
1272
|
+
* keeping the `Some` values. It returns a new array containing the values of
|
|
1273
|
+
* the `Some` options.
|
|
1274
|
+
*
|
|
1275
|
+
* @example
|
|
1276
|
+
* import { compact } from 'fp-ts/Array'
|
|
1277
|
+
* import { option } from "fp-ts";
|
|
1278
|
+
*
|
|
1279
|
+
* assert.deepStrictEqual(compact([option.some("a"), option.none, option.some("b")]), ["a", "b"]);
|
|
1280
|
+
*
|
|
1281
|
+
* @category filtering
|
|
1282
|
+
* @since 2.0.0
|
|
1283
|
+
*/
|
|
1284
|
+
export declare const compact: <A>(fa: Array<Option<A>>) => Array<A>
|
|
1285
|
+
/**
|
|
1286
|
+
* Separate an array of `Either`s into `Left`s and `Right`s, creating two new arrays:
|
|
1287
|
+
* one containing all the left values and one containing all the right values.
|
|
1288
|
+
*
|
|
1289
|
+
* @example
|
|
1290
|
+
* import { separate } from 'fp-ts/Array'
|
|
1291
|
+
* import { either } from "fp-ts";
|
|
1292
|
+
*
|
|
1293
|
+
* assert.deepStrictEqual(separate([either.right("r1"), either.left("l1"), either.right("r2")]), {
|
|
1294
|
+
* left: ["l1"],
|
|
1295
|
+
* right: ["r1", "r2"],
|
|
1296
|
+
* });
|
|
1297
|
+
*
|
|
1298
|
+
* @category filtering
|
|
1299
|
+
* @since 2.0.0
|
|
1300
|
+
*/
|
|
1301
|
+
export declare const separate: <A, B>(fa: Array<Either<A, B>>) => Separated<Array<A>, Array<B>>
|
|
1302
|
+
/**
|
|
1303
|
+
* Given an iterating function that is a `Predicate` or a `Refinement`,
|
|
1304
|
+
* `filter` creates a new `Array` containing the elements of the original
|
|
1305
|
+
* `Array` for which the iterating function is `true`.
|
|
1306
|
+
*
|
|
1307
|
+
* @example
|
|
1308
|
+
* import { filter } from 'fp-ts/Array'
|
|
1309
|
+
* import { isString } from "fp-ts/string";
|
|
1310
|
+
*
|
|
1311
|
+
* assert.deepStrictEqual(filter(isString)(["a", 1, {}, "b", 5]), ["a", "b"]);
|
|
1312
|
+
* assert.deepStrictEqual(filter((x:number) => x > 0)([-3, 1, -2, 5]), [1, 5]);
|
|
1313
|
+
*
|
|
1314
|
+
* @category filtering
|
|
1315
|
+
* @since 2.0.0
|
|
1316
|
+
*/
|
|
1317
|
+
export declare const filter: {
|
|
1318
|
+
<A, B extends A>(refinement: Refinement<A, B>): (as: Array<A>) => Array<B>
|
|
1319
|
+
<A>(predicate: Predicate<A>): <B extends A>(bs: Array<B>) => Array<B>
|
|
1320
|
+
<A>(predicate: Predicate<A>): (as: Array<A>) => Array<A>
|
|
1321
|
+
}
|
|
1322
|
+
/**
|
|
1323
|
+
* Given an iterating function that is a `Predicate` or a `Refinement`,
|
|
1324
|
+
* `partition` creates two new `Array`s: `right` containing the elements of the original
|
|
1325
|
+
* `Array` for which the iterating function is `true`, `left` containing the elements
|
|
1326
|
+
* for which it is false.
|
|
1327
|
+
*
|
|
1328
|
+
* @example
|
|
1329
|
+
* import { partition } from 'fp-ts/Array'
|
|
1330
|
+
* import { isString } from "fp-ts/string";
|
|
1331
|
+
*
|
|
1332
|
+
* assert.deepStrictEqual(partition(isString)(["a", 1, {}, "b", 5]), { left: [1, {}, 5], right: ["a", "b"] });
|
|
1333
|
+
* assert.deepStrictEqual(partition((x: number) => x > 0)([-3, 1, -2, 5]), { left: [-3, -2], right: [1, 5] });
|
|
1334
|
+
*
|
|
1335
|
+
* @category filtering
|
|
1336
|
+
* @since 2.0.0
|
|
1337
|
+
*/
|
|
1338
|
+
export declare const partition: {
|
|
1339
|
+
<A, B extends A>(refinement: Refinement<A, B>): (as: Array<A>) => Separated<Array<A>, Array<B>>
|
|
1340
|
+
<A>(predicate: Predicate<A>): <B extends A>(bs: Array<B>) => Separated<Array<B>, Array<B>>
|
|
1341
|
+
<A>(predicate: Predicate<A>): (as: Array<A>) => Separated<Array<A>, Array<A>>
|
|
1342
|
+
}
|
|
1343
|
+
/**
|
|
1344
|
+
* Same as [`partition`](#partition), but passing also the index to the iterating function.
|
|
1345
|
+
*
|
|
1346
|
+
* @example
|
|
1347
|
+
* import { partitionWithIndex } from 'fp-ts/Array'
|
|
1348
|
+
*
|
|
1349
|
+
* assert.deepStrictEqual(partitionWithIndex((index, x: number) => index < 3 && x > 0)([-2, 5, 6, 7]), {
|
|
1350
|
+
* left: [-2, 7],
|
|
1351
|
+
* right: [5, 6],
|
|
1352
|
+
* });
|
|
1353
|
+
*
|
|
1354
|
+
* @category filtering
|
|
1355
|
+
* @since 2.0.0
|
|
1356
|
+
*/
|
|
1357
|
+
export declare const partitionWithIndex: {
|
|
1358
|
+
<A, B extends A>(refinementWithIndex: RefinementWithIndex<number, A, B>): (
|
|
1359
|
+
as: Array<A>
|
|
1360
|
+
) => Separated<Array<A>, Array<B>>
|
|
1361
|
+
<A>(predicateWithIndex: PredicateWithIndex<number, A>): <B extends A>(bs: Array<B>) => Separated<Array<B>, Array<B>>
|
|
1362
|
+
<A>(predicateWithIndex: PredicateWithIndex<number, A>): (as: Array<A>) => Separated<Array<A>, Array<A>>
|
|
1363
|
+
}
|
|
1364
|
+
/**
|
|
1365
|
+
* Given an iterating function that returns an `Either`,
|
|
1366
|
+
* `partitionMap` applies the iterating function to each element and it creates two `Array`s:
|
|
1367
|
+
* `right` containing the values of `Right` results, `left` containing the values of `Left` results.
|
|
1368
|
+
*
|
|
1369
|
+
* @example
|
|
1370
|
+
* import { partitionMap } from 'fp-ts/Array'
|
|
1371
|
+
* import { Either, left, right } from "fp-ts/Either";
|
|
1372
|
+
*
|
|
1373
|
+
* const upperIfString = <B>(x: B): Either<B, string> =>
|
|
1374
|
+
* typeof x === "string" ? right(x.toUpperCase()) : left(x);
|
|
1375
|
+
* assert.deepStrictEqual(partitionMap(upperIfString)([-2, "hello", 6, 7, "world"]), {
|
|
1376
|
+
* left: [-2, 6, 7],
|
|
1377
|
+
* right: [ 'HELLO', 'WORLD' ],
|
|
1378
|
+
* });
|
|
1379
|
+
*
|
|
1380
|
+
* @category filtering
|
|
1381
|
+
* @since 2.0.0
|
|
1382
|
+
*/
|
|
1383
|
+
export declare const partitionMap: <A, B, C>(
|
|
1384
|
+
f: (a: A) => Either<B, C>
|
|
1385
|
+
) => (fa: Array<A>) => Separated<Array<B>, Array<C>>
|
|
1386
|
+
/**
|
|
1387
|
+
* Same as [`partitionMap`](#partitionMap), but passing also the index to the iterating function.
|
|
1388
|
+
*
|
|
1389
|
+
* @example
|
|
1390
|
+
* import { partitionMapWithIndex } from 'fp-ts/Array'
|
|
1391
|
+
* import { Either, left, right } from "fp-ts/Either";
|
|
1392
|
+
*
|
|
1393
|
+
* const upperIfStringBefore3 = <B>(index: number, x: B): Either<B, string> =>
|
|
1394
|
+
* index < 3 && typeof x === "string" ? right(x.toUpperCase()) : left(x);
|
|
1395
|
+
* assert.deepStrictEqual(partitionMapWithIndex(upperIfStringBefore3)([-2, "hello", 6, 7, "world"]), {
|
|
1396
|
+
* left: [-2, 6, 7, "world"],
|
|
1397
|
+
* right: ["HELLO"],
|
|
1398
|
+
* });
|
|
1399
|
+
*
|
|
1400
|
+
* @category filtering
|
|
1401
|
+
* @since 2.0.0
|
|
1402
|
+
*/
|
|
1403
|
+
export declare const partitionMapWithIndex: <A, B, C>(
|
|
1404
|
+
f: (i: number, a: A) => Either<B, C>
|
|
1405
|
+
) => (fa: Array<A>) => Separated<Array<B>, Array<C>>
|
|
1406
|
+
/**
|
|
1407
|
+
* Less strict version of [`alt`](#alt).
|
|
1408
|
+
*
|
|
1409
|
+
* The `W` suffix (short for **W**idening) means that the return types will be merged.
|
|
1410
|
+
*
|
|
1411
|
+
* @example
|
|
1412
|
+
* import * as A from 'fp-ts/Array'
|
|
1413
|
+
* import { pipe } from 'fp-ts/function'
|
|
1414
|
+
*
|
|
1415
|
+
* assert.deepStrictEqual(
|
|
1416
|
+
* pipe(
|
|
1417
|
+
* [1, 2, 3],
|
|
1418
|
+
* A.altW(() => ['a', 'b'])
|
|
1419
|
+
* ),
|
|
1420
|
+
* [1, 2, 3, 'a', 'b']
|
|
1421
|
+
* )
|
|
1422
|
+
*
|
|
1423
|
+
* @category error handling
|
|
1424
|
+
* @since 2.9.0
|
|
1425
|
+
*/
|
|
1426
|
+
export declare const altW: <B>(that: LazyArg<Array<B>>) => <A>(fa: Array<A>) => Array<A | B>
|
|
1427
|
+
/**
|
|
1428
|
+
* Identifies an associative operation on a type constructor. It is similar to `Semigroup`, except that it applies to
|
|
1429
|
+
* types of kind `* -> *`.
|
|
1430
|
+
*
|
|
1431
|
+
* In case of `Array` concatenates the inputs into a single array.
|
|
1432
|
+
*
|
|
1433
|
+
* @example
|
|
1434
|
+
* import * as A from 'fp-ts/Array'
|
|
1435
|
+
* import { pipe } from 'fp-ts/function'
|
|
1436
|
+
*
|
|
1437
|
+
* assert.deepStrictEqual(
|
|
1438
|
+
* pipe(
|
|
1439
|
+
* [1, 2, 3],
|
|
1440
|
+
* A.alt(() => [4, 5])
|
|
1441
|
+
* ),
|
|
1442
|
+
* [1, 2, 3, 4, 5]
|
|
1443
|
+
* )
|
|
1444
|
+
*
|
|
1445
|
+
* @category error handling
|
|
1446
|
+
* @since 2.0.0
|
|
1447
|
+
*/
|
|
1448
|
+
export declare const alt: <A>(that: LazyArg<Array<A>>) => (fa: Array<A>) => Array<A>
|
|
1449
|
+
/**
|
|
1450
|
+
* Same as [`filter`](#filter), but passing also the index to the iterating function.
|
|
1451
|
+
*
|
|
1452
|
+
* @example
|
|
1453
|
+
* import { filterWithIndex } from 'fp-ts/Array';
|
|
1454
|
+
*
|
|
1455
|
+
* const f = (index: number, x: number) => x > 0 && index <= 2;
|
|
1456
|
+
* assert.deepStrictEqual(filterWithIndex(f)([-3, 1, -2, 5]), [1]);
|
|
1457
|
+
*
|
|
1458
|
+
* @category filtering
|
|
1459
|
+
* @since 2.0.0
|
|
1460
|
+
*/
|
|
1461
|
+
export declare const filterWithIndex: {
|
|
1462
|
+
<A, B extends A>(refinementWithIndex: RefinementWithIndex<number, A, B>): (as: Array<A>) => Array<B>
|
|
1463
|
+
<A>(predicateWithIndex: PredicateWithIndex<number, A>): <B extends A>(bs: Array<B>) => Array<B>
|
|
1464
|
+
<A>(predicateWithIndex: PredicateWithIndex<number, A>): (as: Array<A>) => Array<A>
|
|
1465
|
+
}
|
|
1466
|
+
/**
|
|
1467
|
+
* Given an iterating function that takes `Array<A>` as input, `extend` returns
|
|
1468
|
+
* an array containing the results of the iterating function applied to the whole input
|
|
1469
|
+
* `Array`, then to the input `Array` without the first element, then to the input
|
|
1470
|
+
* `Array` without the first two elements, etc.
|
|
1471
|
+
*
|
|
1472
|
+
* @example
|
|
1473
|
+
* import { extend } from 'fp-ts/Array'
|
|
1474
|
+
*
|
|
1475
|
+
* const f = (a: string[]) => a.join(",");
|
|
1476
|
+
* assert.deepStrictEqual(extend(f)(["a", "b", "c"]), ["a,b,c", "b,c", "c"]);
|
|
1477
|
+
*
|
|
1478
|
+
* @since 2.0.0
|
|
1479
|
+
*/
|
|
1480
|
+
export declare const extend: <A, B>(f: (as: Array<A>) => B) => (as: Array<A>) => Array<B>
|
|
1481
|
+
/**
|
|
1482
|
+
* `duplicate` returns an array containing the whole input `Array`,
|
|
1483
|
+
* then to the input `Array` dropping the first element, then to the input
|
|
1484
|
+
* `Array` dropping the first two elements, etc.
|
|
1485
|
+
*
|
|
1486
|
+
* @example
|
|
1487
|
+
* import { duplicate } from 'fp-ts/Array'
|
|
1488
|
+
*
|
|
1489
|
+
* assert.deepStrictEqual(duplicate(["a", "b", "c"]), [["a", "b", "c"], ["b", "c"], ["c"]]);
|
|
1490
|
+
*
|
|
1491
|
+
* @since 2.0.0
|
|
1492
|
+
*/
|
|
1493
|
+
export declare const duplicate: <A>(wa: Array<A>) => Array<Array<A>>
|
|
1494
|
+
/**
|
|
1495
|
+
* Map and fold an `Array`.
|
|
1496
|
+
* Map the `Array` passing each value to the iterating function.
|
|
1497
|
+
* Then fold the results using the provided `Monoid`.
|
|
1498
|
+
*
|
|
1499
|
+
* @example
|
|
1500
|
+
* import { foldMap } from 'fp-ts/Array'
|
|
1501
|
+
*
|
|
1502
|
+
* const monoid = { concat: (a: string, b: string) => a + b, empty: "" };
|
|
1503
|
+
* const f = (s: string) => s.toUpperCase()
|
|
1504
|
+
* assert.deepStrictEqual(foldMap(monoid)(f)(["a", "b", "c"]), "ABC");
|
|
1505
|
+
*
|
|
1506
|
+
* @category folding
|
|
1507
|
+
* @since 2.0.0
|
|
1508
|
+
*/
|
|
1509
|
+
export declare const foldMap: <M>(M: Monoid<M>) => <A>(f: (a: A) => M) => (fa: Array<A>) => M
|
|
1510
|
+
/**
|
|
1511
|
+
* Same as [`foldMap`](#foldMap) but passing also the index to the iterating function.
|
|
1512
|
+
*
|
|
1513
|
+
* @example
|
|
1514
|
+
* import { foldMapWithIndex } from 'fp-ts/Array'
|
|
1515
|
+
*
|
|
1516
|
+
* const monoid = { concat: (a: string, b: string) => a + b, empty: "" };
|
|
1517
|
+
* const f = (index:number, s: string) => `${s.toUpperCase()}(${index})`
|
|
1518
|
+
* assert.deepStrictEqual(foldMapWithIndex(monoid)(f)(["a", "b", "c"]), "A(0)B(1)C(2)");
|
|
1519
|
+
*
|
|
1520
|
+
* @category folding
|
|
1521
|
+
* @since 2.0.0
|
|
1522
|
+
*/
|
|
1523
|
+
export declare const foldMapWithIndex: <M>(M: Monoid<M>) => <A>(f: (i: number, a: A) => M) => (fa: Array<A>) => M
|
|
1524
|
+
/**
|
|
1525
|
+
* Reduces an `Array`.
|
|
1526
|
+
*
|
|
1527
|
+
* `reduce` executes the supplied iterating function on each element of the array,
|
|
1528
|
+
* in order, passing in the element and the return value from the calculation on the preceding element.
|
|
1529
|
+
*
|
|
1530
|
+
* The first time that the iterating function is called there is no "return value of the
|
|
1531
|
+
* previous calculation", the initial value is used in its place.
|
|
1532
|
+
*
|
|
1533
|
+
* @example
|
|
1534
|
+
* import { reduce } from 'fp-ts/Array'
|
|
1535
|
+
*
|
|
1536
|
+
* assert.deepStrictEqual(reduce(5, (acc: number, cur: number) => acc * cur)([2, 3]), 5 * 2 * 3);
|
|
1537
|
+
*
|
|
1538
|
+
* @category folding
|
|
1539
|
+
* @since 2.0.0
|
|
1540
|
+
*/
|
|
1541
|
+
export declare const reduce: <A, B>(b: B, f: (b: B, a: A) => B) => (fa: Array<A>) => B
|
|
1542
|
+
/**
|
|
1543
|
+
* Same as [`reduce`](#reduce) but passing also the index to the iterating function.
|
|
1544
|
+
*
|
|
1545
|
+
* @example
|
|
1546
|
+
* import { reduceWithIndex } from 'fp-ts/Array'
|
|
1547
|
+
*
|
|
1548
|
+
* const f = (index: number, acc: string, cur: unknown) =>
|
|
1549
|
+
* acc + (typeof cur === "string" ? cur.toUpperCase() + index : "");
|
|
1550
|
+
* assert.deepStrictEqual(reduceWithIndex("", f)([2, "a", "b", null]), "A1B2");
|
|
1551
|
+
*
|
|
1552
|
+
* @category folding
|
|
1553
|
+
* @since 2.0.0
|
|
1554
|
+
*/
|
|
1555
|
+
export declare const reduceWithIndex: <A, B>(b: B, f: (i: number, b: B, a: A) => B) => (fa: Array<A>) => B
|
|
1556
|
+
/**
|
|
1557
|
+
* Same as [`reduce`](#reduce) but applied from the end to the start.
|
|
1558
|
+
*
|
|
1559
|
+
* *Note*: the iterating function in this case takes the accumulator as the last argument.
|
|
1560
|
+
*
|
|
1561
|
+
* @example
|
|
1562
|
+
* import { reduceRight } from 'fp-ts/Array'
|
|
1563
|
+
*
|
|
1564
|
+
* assert.deepStrictEqual(reduceRight("", (cur: string, acc: string) => acc + cur)(["a", "b", "c"]), "cba");
|
|
1565
|
+
*
|
|
1566
|
+
* @category folding
|
|
1567
|
+
* @since 2.0.0
|
|
1568
|
+
*/
|
|
1569
|
+
export declare const reduceRight: <A, B>(b: B, f: (a: A, b: B) => B) => (fa: Array<A>) => B
|
|
1570
|
+
/**
|
|
1571
|
+
* Same as [`reduceRight`](#reduceRight) but passing also the index to the iterating function.
|
|
1572
|
+
*
|
|
1573
|
+
* @example
|
|
1574
|
+
* import { reduceRightWithIndex } from 'fp-ts/Array'
|
|
1575
|
+
*
|
|
1576
|
+
* const f = (index: number, cur: unknown, acc: string) =>
|
|
1577
|
+
* acc + (typeof cur === "string" ? cur.toUpperCase() + index : "");
|
|
1578
|
+
* assert.deepStrictEqual(reduceRightWithIndex("", f)([2, "a", "b", null]), "B2A1");
|
|
1579
|
+
*
|
|
1580
|
+
* @category folding
|
|
1581
|
+
* @since 2.0.0
|
|
1582
|
+
*/
|
|
1583
|
+
export declare const reduceRightWithIndex: <A, B>(b: B, f: (i: number, a: A, b: B) => B) => (fa: Array<A>) => B
|
|
1584
|
+
/**
|
|
1585
|
+
* Given an iterating function that returns a `HKT` (higher kinded type), `traverse`
|
|
1586
|
+
* applies the iterating function to each element of the `Array` and then [`sequence`](#sequence)-s
|
|
1587
|
+
* the results using the provided `Applicative`.
|
|
1588
|
+
*
|
|
1589
|
+
* E.g. suppose you have an `Array` and you want to format each element with a function
|
|
1590
|
+
* that returns a result or an error as `f = (a: A) => Either<Error, B>`, using `traverse`
|
|
1591
|
+
* you can apply `f` to all elements and directly obtain as a result an `Either<Error,Array<B>>`
|
|
1592
|
+
* i.e. an `Array<B>` if all the results are `B`, or an `Error` if some of the results
|
|
1593
|
+
* are `Error`s.
|
|
1594
|
+
*
|
|
1595
|
+
* @example
|
|
1596
|
+
* import { traverse } from 'fp-ts/Array'
|
|
1597
|
+
* import { Applicative, left, right } from "fp-ts/Either";
|
|
1598
|
+
*
|
|
1599
|
+
* const f = (x: unknown) =>
|
|
1600
|
+
* typeof x === "string" ? right(x.toUpperCase()) : left(new Error("not a string"));
|
|
1601
|
+
* assert.deepStrictEqual(traverse(Applicative)(f)(["a", "b"]), right(["A", "B"]));
|
|
1602
|
+
* assert.deepStrictEqual(traverse(Applicative)(f)(["a", 5]), left(new Error("not a string")));
|
|
1603
|
+
*
|
|
1604
|
+
* @category traversing
|
|
1605
|
+
* @since 2.6.3
|
|
1606
|
+
*/
|
|
1607
|
+
export declare const traverse: PipeableTraverse1<URI>
|
|
1608
|
+
/**
|
|
1609
|
+
* `sequence` takes an `Array` where elements are `HKT<A>` (higher kinded type) and,
|
|
1610
|
+
* using an applicative of that `HKT`, returns an `HKT` of `Array<A>`.
|
|
1611
|
+
* E.g. it can turn an `Array<Either<Error, string>>` into an `Either<Error, Array<string>>`.
|
|
1612
|
+
*
|
|
1613
|
+
* `sequence` requires an `Applicative` of the `HKT` you are targeting, e.g. to turn an
|
|
1614
|
+
* `Array<Either<E, A>>` into an `Either<E, Array<A>>`, it needs an
|
|
1615
|
+
* `Applicative` for `Either`, to to turn an `Array<Option<A>>` into an `Option<Array<A>>`,
|
|
1616
|
+
* it needs an `Applicative` for `Option`.
|
|
1617
|
+
*
|
|
1618
|
+
* @example
|
|
1619
|
+
* import { sequence } from 'fp-ts/Array'
|
|
1620
|
+
* import { Applicative, left, right } from "fp-ts/Either";
|
|
1621
|
+
*
|
|
1622
|
+
* assert.deepStrictEqual(sequence(Applicative)([right("a"), right("b")]), right(["a", "b"]));
|
|
1623
|
+
* assert.deepStrictEqual(
|
|
1624
|
+
* sequence(Applicative)([right("a"), left(new Error("not a string"))]),
|
|
1625
|
+
* left(new Error("not a string"))
|
|
1626
|
+
* );
|
|
1627
|
+
*
|
|
1628
|
+
* @category traversing
|
|
1629
|
+
* @since 2.6.3
|
|
1630
|
+
*/
|
|
1631
|
+
export declare const sequence: Traversable1<URI>['sequence']
|
|
1632
|
+
/**
|
|
1633
|
+
* Same as [`traverse`](#traverse) but passing also the index to the iterating function.
|
|
1634
|
+
*
|
|
1635
|
+
* @example
|
|
1636
|
+
* import { traverseWithIndex } from 'fp-ts/Array'
|
|
1637
|
+
* import { Applicative, left, right } from "fp-ts/Either";
|
|
1638
|
+
*
|
|
1639
|
+
* const f = (index:number, x:unknown) =>
|
|
1640
|
+
* typeof x === "string" ? right(x.toUpperCase() + index) : left(new Error("not a string"));
|
|
1641
|
+
* assert.deepStrictEqual(traverseWithIndex(Applicative)(f)(["a", "b"]), right(["A0", "B1"]));
|
|
1642
|
+
* assert.deepStrictEqual(traverseWithIndex(Applicative)(f)(["a", 5]), left(new Error("not a string")));
|
|
1643
|
+
*
|
|
1644
|
+
* @category sequencing
|
|
1645
|
+
* @since 2.6.3
|
|
1646
|
+
*/
|
|
1647
|
+
export declare const traverseWithIndex: PipeableTraverseWithIndex1<URI, number>
|
|
1648
|
+
/**
|
|
1649
|
+
* @category filtering
|
|
1650
|
+
* @since 2.6.5
|
|
1651
|
+
*/
|
|
1652
|
+
export declare const wither: PipeableWither1<URI>
|
|
1653
|
+
/**
|
|
1654
|
+
* @category filtering
|
|
1655
|
+
* @since 2.6.5
|
|
1656
|
+
*/
|
|
1657
|
+
export declare const wilt: PipeableWilt1<URI>
|
|
1658
|
+
/**
|
|
1659
|
+
* `unfold` takes a function `f` which returns an `Option` of a tuple containing an outcome
|
|
1660
|
+
* value and an input for the following iteration.
|
|
1661
|
+
* `unfold` applies `f` to the initial value `b` and then recursively to the second
|
|
1662
|
+
* element of the tuple contained in the returned `option` of the previous
|
|
1663
|
+
* calculation until `f` returns `Option.none`.
|
|
1664
|
+
*
|
|
1665
|
+
* @example
|
|
1666
|
+
* import { unfold } from 'fp-ts/Array'
|
|
1667
|
+
* import { option } from 'fp-ts'
|
|
1668
|
+
*
|
|
1669
|
+
* const f = (n: number) => {
|
|
1670
|
+
* if (n <= 0) return option.none;
|
|
1671
|
+
* const returnValue = n * 2;
|
|
1672
|
+
* const inputForNextRound = n - 1;
|
|
1673
|
+
* return option.some([returnValue, inputForNextRound] as const);
|
|
1674
|
+
* };
|
|
1675
|
+
* assert.deepStrictEqual(unfold(5, f), [10, 8, 6, 4, 2]);
|
|
1676
|
+
*
|
|
1677
|
+
* @since 2.6.6
|
|
1678
|
+
*/
|
|
1679
|
+
export declare const unfold: <A, B>(b: B, f: (b: B) => Option<readonly [A, B]>) => Array<A>
|
|
1680
|
+
/**
|
|
1681
|
+
* @category type lambdas
|
|
1682
|
+
* @since 2.0.0
|
|
1683
|
+
*/
|
|
1684
|
+
export declare const URI = 'Array'
|
|
1685
|
+
/**
|
|
1686
|
+
* @category type lambdas
|
|
1687
|
+
* @since 2.0.0
|
|
1688
|
+
*/
|
|
1689
|
+
export type URI = typeof URI
|
|
1690
|
+
declare module './HKT' {
|
|
1691
|
+
interface URItoKind<A> {
|
|
1692
|
+
readonly [URI]: Array<A>
|
|
1693
|
+
}
|
|
1694
|
+
}
|
|
1695
|
+
/**
|
|
1696
|
+
* `getShow` makes a `Show` for an `Array<A>` from a `Show` for
|
|
1697
|
+
* an `A`.
|
|
1698
|
+
*
|
|
1699
|
+
* @example
|
|
1700
|
+
* import { getShow } from 'fp-ts/Array'
|
|
1701
|
+
*
|
|
1702
|
+
* const numShow = { show: (n: number) => (n >= 0 ? `${n}` : `(${-n})`) };
|
|
1703
|
+
* assert.deepStrictEqual(getShow(numShow).show([-2, -1, 0, 1]), "[(2), (1), 0, 1]");
|
|
1704
|
+
*
|
|
1705
|
+
* @category instances
|
|
1706
|
+
* @since 2.0.0
|
|
1707
|
+
*/
|
|
1708
|
+
export declare const getShow: <A>(S: Show<A>) => Show<Array<A>>
|
|
1709
|
+
/**
|
|
1710
|
+
* Get a `Semigroup` based on the concatenation of `Array`s.
|
|
1711
|
+
* See also [`getMonoid`](#getMonoid).
|
|
1712
|
+
*
|
|
1713
|
+
* @example
|
|
1714
|
+
* import { getSemigroup } from 'fp-ts/Array'
|
|
1715
|
+
*
|
|
1716
|
+
* const S = getSemigroup<number>();
|
|
1717
|
+
* assert.deepStrictEqual(S.concat([1, 2], [2, 3]), [1, 2, 2, 3]);
|
|
1718
|
+
*
|
|
1719
|
+
* @category instances
|
|
1720
|
+
* @since 2.10.0
|
|
1721
|
+
*/
|
|
1722
|
+
export declare const getSemigroup: <A = never>() => Semigroup<Array<A>>
|
|
1723
|
+
/**
|
|
1724
|
+
* Returns a `Monoid` for `Array<A>` based on the concatenation of `Array`s.
|
|
1725
|
+
*
|
|
1726
|
+
* @example
|
|
1727
|
+
* import { getMonoid } from 'fp-ts/Array'
|
|
1728
|
+
*
|
|
1729
|
+
* const M = getMonoid<number>()
|
|
1730
|
+
* assert.deepStrictEqual(M.concat([1, 2], [3, 4]), [1, 2, 3, 4])
|
|
1731
|
+
*
|
|
1732
|
+
* @category instances
|
|
1733
|
+
* @since 2.0.0
|
|
1734
|
+
*/
|
|
1735
|
+
export declare const getMonoid: <A = never>() => Monoid<Array<A>>
|
|
1736
|
+
/**
|
|
1737
|
+
* Derives an `Eq` over the `Array` of a given element type from the `Eq` of that type. The derived `Eq` defines two
|
|
1738
|
+
* arrays as equal if all elements of both arrays are compared equal pairwise with the given `E`. In case of arrays of
|
|
1739
|
+
* different lengths, the result is non equality.
|
|
1740
|
+
*
|
|
1741
|
+
* @example
|
|
1742
|
+
* import * as S from 'fp-ts/string'
|
|
1743
|
+
* import { getEq } from 'fp-ts/Array'
|
|
1744
|
+
*
|
|
1745
|
+
* const E = getEq(S.Eq)
|
|
1746
|
+
* assert.strictEqual(E.equals(['a', 'b'], ['a', 'b']), true)
|
|
1747
|
+
* assert.strictEqual(E.equals(['a'], []), false)
|
|
1748
|
+
*
|
|
1749
|
+
* @category instances
|
|
1750
|
+
* @since 2.0.0
|
|
1751
|
+
*/
|
|
1752
|
+
export declare const getEq: <A>(E: Eq<A>) => Eq<Array<A>>
|
|
1753
|
+
/**
|
|
1754
|
+
* Derives an `Ord` over the `Array` of a given element type from the `Ord` of that type. The ordering between two such
|
|
1755
|
+
* arrays is equal to: the first non equal comparison of each arrays elements taken pairwise in increasing order, in
|
|
1756
|
+
* case of equality over all the pairwise elements; the longest array is considered the greatest, if both arrays have
|
|
1757
|
+
* the same length, the result is equality.
|
|
1758
|
+
*
|
|
1759
|
+
* @example
|
|
1760
|
+
* import { getOrd } from 'fp-ts/Array'
|
|
1761
|
+
* import * as S from 'fp-ts/string'
|
|
1762
|
+
*
|
|
1763
|
+
* const O = getOrd(S.Ord)
|
|
1764
|
+
* assert.strictEqual(O.compare(['b'], ['a']), 1)
|
|
1765
|
+
* assert.strictEqual(O.compare(['a'], ['a']), 0)
|
|
1766
|
+
* assert.strictEqual(O.compare(['a'], ['b']), -1)
|
|
1767
|
+
*
|
|
1768
|
+
* @category instances
|
|
1769
|
+
* @since 2.0.0
|
|
1770
|
+
*/
|
|
1771
|
+
export declare const getOrd: <A>(O: Ord<A>) => Ord<Array<A>>
|
|
1772
|
+
/**
|
|
1773
|
+
* Get a `Semigroup` based on the union of the elements of `Array`s.
|
|
1774
|
+
* Elements which equal according to the provided `Eq` are included
|
|
1775
|
+
* only once in the result.
|
|
1776
|
+
* See also [`getUnionMonoid`](#getUnionMonoid).
|
|
1777
|
+
*
|
|
1778
|
+
* @example
|
|
1779
|
+
* import { getUnionSemigroup } from 'fp-ts/Array';
|
|
1780
|
+
* import { Eq } from 'fp-ts/number';
|
|
1781
|
+
*
|
|
1782
|
+
* const S = getUnionSemigroup<number>(Eq);
|
|
1783
|
+
* assert.deepStrictEqual(S.concat([1, 2], [2, 3]), [1, 2, 3]);
|
|
1784
|
+
*
|
|
1785
|
+
* @category instances
|
|
1786
|
+
* @since 2.11.0
|
|
1787
|
+
*/
|
|
1788
|
+
export declare const getUnionSemigroup: <A>(E: Eq<A>) => Semigroup<Array<A>>
|
|
1789
|
+
/**
|
|
1790
|
+
* Get a `Monoid` based on the union of the elements of `Array`s.
|
|
1791
|
+
* Elements which equal according to the provided `Eq` are included
|
|
1792
|
+
* only once in the result.
|
|
1793
|
+
*
|
|
1794
|
+
* @example
|
|
1795
|
+
* import { getUnionMonoid } from 'fp-ts/Array'
|
|
1796
|
+
* import { Eq } from 'fp-ts/number';
|
|
1797
|
+
*
|
|
1798
|
+
* const M = getUnionMonoid<number>(Eq);
|
|
1799
|
+
* assert.deepStrictEqual(M.concat([1, 2], [2, 3]), [1, 2, 3]);
|
|
1800
|
+
* assert.deepStrictEqual(M.empty,[]);
|
|
1801
|
+
*
|
|
1802
|
+
* @category instances
|
|
1803
|
+
* @since 2.11.0
|
|
1804
|
+
*/
|
|
1805
|
+
export declare const getUnionMonoid: <A>(E: Eq<A>) => Monoid<Array<A>>
|
|
1806
|
+
/**
|
|
1807
|
+
* Get a `Semigroup` based on the intersection of the elements of `Array`s.
|
|
1808
|
+
* Only elements present in the two arrays which are equal according to the
|
|
1809
|
+
* provided `Eq` are included in the result.
|
|
1810
|
+
*
|
|
1811
|
+
* @example
|
|
1812
|
+
* import { getIntersectionSemigroup } from 'fp-ts/Array'
|
|
1813
|
+
* import { Eq } from 'fp-ts/number';
|
|
1814
|
+
*
|
|
1815
|
+
* const S = getIntersectionSemigroup<number>(Eq);
|
|
1816
|
+
* assert.deepStrictEqual(S.concat([1, 2], [2, 3]), [2]);
|
|
1817
|
+
*
|
|
1818
|
+
* @category instances
|
|
1819
|
+
* @since 2.11.0
|
|
1820
|
+
*/
|
|
1821
|
+
export declare const getIntersectionSemigroup: <A>(E: Eq<A>) => Semigroup<Array<A>>
|
|
1822
|
+
/**
|
|
1823
|
+
* Get a `Magma` for `Array` where the `concat` function is the differnce between
|
|
1824
|
+
* the first and the second array, i.e. the result contains all the elements of the
|
|
1825
|
+
* first array for which their is no equal element in the second array according
|
|
1826
|
+
* to the `Eq` provided.
|
|
1827
|
+
*
|
|
1828
|
+
*
|
|
1829
|
+
* @example
|
|
1830
|
+
* import { getDifferenceMagma } from 'fp-ts/Array'
|
|
1831
|
+
* import { Eq } from 'fp-ts/number';
|
|
1832
|
+
*
|
|
1833
|
+
* const S = getDifferenceMagma<number>(Eq);
|
|
1834
|
+
* assert.deepStrictEqual(S.concat([1, 2], [2, 3]), [1]);
|
|
1835
|
+
*
|
|
1836
|
+
* @category instances
|
|
1837
|
+
* @since 2.11.0
|
|
1838
|
+
*/
|
|
1839
|
+
export declare const getDifferenceMagma: <A>(E: Eq<A>) => Magma<Array<A>>
|
|
1840
|
+
/**
|
|
1841
|
+
* @category instances
|
|
1842
|
+
* @since 2.7.0
|
|
1843
|
+
*/
|
|
1844
|
+
export declare const Functor: Functor1<URI>
|
|
1845
|
+
/**
|
|
1846
|
+
* Given an input an `Array` of functions, `flap` returns an `Array` containing
|
|
1847
|
+
* the results of applying each function to the given input.
|
|
1848
|
+
*
|
|
1849
|
+
* @example
|
|
1850
|
+
* import { flap } from 'fp-ts/Array'
|
|
1851
|
+
*
|
|
1852
|
+
* const funs = [
|
|
1853
|
+
* (n: number) => `Double: ${n * 2}`,
|
|
1854
|
+
* (n: number) => `Triple: ${n * 3}`,
|
|
1855
|
+
* (n: number) => `Square: ${n * n}`,
|
|
1856
|
+
* ];
|
|
1857
|
+
* assert.deepStrictEqual(flap(4)(funs), ['Double: 8', 'Triple: 12', 'Square: 16']);
|
|
1858
|
+
*
|
|
1859
|
+
* @category mapping
|
|
1860
|
+
* @since 2.10.0
|
|
1861
|
+
*/
|
|
1862
|
+
export declare const flap: <A>(
|
|
1863
|
+
a: A
|
|
1864
|
+
) => <B>(fab: import('./HKT').Kind<'Array', (a: A) => B>) => import('./HKT').Kind<'Array', B>
|
|
1865
|
+
/**
|
|
1866
|
+
* @category instances
|
|
1867
|
+
* @since 2.10.0
|
|
1868
|
+
*/
|
|
1869
|
+
export declare const Pointed: Pointed1<URI>
|
|
1870
|
+
/**
|
|
1871
|
+
* @category instances
|
|
1872
|
+
* @since 2.7.0
|
|
1873
|
+
*/
|
|
1874
|
+
export declare const FunctorWithIndex: FunctorWithIndex1<URI, number>
|
|
1875
|
+
/**
|
|
1876
|
+
* @category instances
|
|
1877
|
+
* @since 2.10.0
|
|
1878
|
+
*/
|
|
1879
|
+
export declare const Apply: Apply1<URI>
|
|
1880
|
+
/**
|
|
1881
|
+
* Combine two effectful actions, keeping only the result of the first.
|
|
1882
|
+
*
|
|
1883
|
+
* @since 2.5.0
|
|
1884
|
+
*/
|
|
1885
|
+
export declare const apFirst: <B>(
|
|
1886
|
+
second: B[]
|
|
1887
|
+
) => <A>(first: import('./HKT').Kind<'Array', A>) => import('./HKT').Kind<'Array', A>
|
|
1888
|
+
/**
|
|
1889
|
+
* Combine two effectful actions, keeping only the result of the second.
|
|
1890
|
+
*
|
|
1891
|
+
* @since 2.5.0
|
|
1892
|
+
*/
|
|
1893
|
+
export declare const apSecond: <B>(
|
|
1894
|
+
second: B[]
|
|
1895
|
+
) => <A>(first: import('./HKT').Kind<'Array', A>) => import('./HKT').Kind<'Array', B>
|
|
1896
|
+
/**
|
|
1897
|
+
* @category instances
|
|
1898
|
+
* @since 2.7.0
|
|
1899
|
+
*/
|
|
1900
|
+
export declare const Applicative: Applicative1<URI>
|
|
1901
|
+
/**
|
|
1902
|
+
* @category instances
|
|
1903
|
+
* @since 2.10.0
|
|
1904
|
+
*/
|
|
1905
|
+
export declare const Chain: Chain1<URI>
|
|
1906
|
+
/**
|
|
1907
|
+
* Composes computations in sequence, using the return value of one computation to determine the next computation and
|
|
1908
|
+
* keeping only the result of the first.
|
|
1909
|
+
*
|
|
1910
|
+
* @example
|
|
1911
|
+
* import * as A from 'fp-ts/Array'
|
|
1912
|
+
* import { pipe } from 'fp-ts/function'
|
|
1913
|
+
*
|
|
1914
|
+
* assert.deepStrictEqual(
|
|
1915
|
+
* pipe(
|
|
1916
|
+
* [1, 2, 3],
|
|
1917
|
+
* A.chainFirst(() => ['a', 'b'])
|
|
1918
|
+
* ),
|
|
1919
|
+
* [1, 1, 2, 2, 3, 3]
|
|
1920
|
+
* )
|
|
1921
|
+
* assert.deepStrictEqual(
|
|
1922
|
+
* pipe(
|
|
1923
|
+
* [1, 2, 3],
|
|
1924
|
+
* A.chainFirst(() => [])
|
|
1925
|
+
* ),
|
|
1926
|
+
* []
|
|
1927
|
+
* )
|
|
1928
|
+
*
|
|
1929
|
+
* @category sequencing
|
|
1930
|
+
* @since 2.0.0
|
|
1931
|
+
*/
|
|
1932
|
+
export declare const chainFirst: <A, B>(f: (a: A) => Array<B>) => (first: Array<A>) => Array<A>
|
|
1933
|
+
/**
|
|
1934
|
+
* @category instances
|
|
1935
|
+
* @since 2.7.0
|
|
1936
|
+
*/
|
|
1937
|
+
export declare const Monad: Monad1<URI>
|
|
1938
|
+
/**
|
|
1939
|
+
* @category instances
|
|
1940
|
+
* @since 2.7.0
|
|
1941
|
+
*/
|
|
1942
|
+
export declare const Unfoldable: Unfoldable1<URI>
|
|
1943
|
+
/**
|
|
1944
|
+
* @category instances
|
|
1945
|
+
* @since 2.7.0
|
|
1946
|
+
*/
|
|
1947
|
+
export declare const Alt: Alt1<URI>
|
|
1948
|
+
/**
|
|
1949
|
+
* @category instances
|
|
1950
|
+
* @since 2.11.0
|
|
1951
|
+
*/
|
|
1952
|
+
export declare const Zero: Zero1<URI>
|
|
1953
|
+
/**
|
|
1954
|
+
* @category do notation
|
|
1955
|
+
* @since 2.11.0
|
|
1956
|
+
*/
|
|
1957
|
+
export declare const guard: (b: boolean) => import('./HKT').Kind<'Array', void>
|
|
1958
|
+
/**
|
|
1959
|
+
* @category instances
|
|
1960
|
+
* @since 2.7.0
|
|
1961
|
+
*/
|
|
1962
|
+
export declare const Alternative: Alternative1<URI>
|
|
1963
|
+
/**
|
|
1964
|
+
* @category instances
|
|
1965
|
+
* @since 2.7.0
|
|
1966
|
+
*/
|
|
1967
|
+
export declare const Extend: Extend1<URI>
|
|
1968
|
+
/**
|
|
1969
|
+
* @category instances
|
|
1970
|
+
* @since 2.7.0
|
|
1971
|
+
*/
|
|
1972
|
+
export declare const Compactable: Compactable1<URI>
|
|
1973
|
+
/**
|
|
1974
|
+
* @category instances
|
|
1975
|
+
* @since 2.7.0
|
|
1976
|
+
*/
|
|
1977
|
+
export declare const Filterable: Filterable1<URI>
|
|
1978
|
+
/**
|
|
1979
|
+
* @category instances
|
|
1980
|
+
* @since 2.7.0
|
|
1981
|
+
*/
|
|
1982
|
+
export declare const FilterableWithIndex: FilterableWithIndex1<URI, number>
|
|
1983
|
+
/**
|
|
1984
|
+
* @category instances
|
|
1985
|
+
* @since 2.7.0
|
|
1986
|
+
*/
|
|
1987
|
+
export declare const Foldable: Foldable1<URI>
|
|
1988
|
+
/**
|
|
1989
|
+
* @category instances
|
|
1990
|
+
* @since 2.7.0
|
|
1991
|
+
*/
|
|
1992
|
+
export declare const FoldableWithIndex: FoldableWithIndex1<URI, number>
|
|
1993
|
+
/**
|
|
1994
|
+
* @category instances
|
|
1995
|
+
* @since 2.7.0
|
|
1996
|
+
*/
|
|
1997
|
+
export declare const Traversable: Traversable1<URI>
|
|
1998
|
+
/**
|
|
1999
|
+
* @category instances
|
|
2000
|
+
* @since 2.7.0
|
|
2001
|
+
*/
|
|
2002
|
+
export declare const TraversableWithIndex: TraversableWithIndex1<URI, number>
|
|
2003
|
+
/**
|
|
2004
|
+
* @category instances
|
|
2005
|
+
* @since 2.7.0
|
|
2006
|
+
*/
|
|
2007
|
+
export declare const Witherable: Witherable1<URI>
|
|
2008
|
+
/**
|
|
2009
|
+
* @category sequencing
|
|
2010
|
+
* @since 2.11.0
|
|
2011
|
+
*/
|
|
2012
|
+
export declare const chainRecDepthFirst: <A, B>(f: (a: A) => Array<Either<A, B>>) => (a: A) => Array<B>
|
|
2013
|
+
/**
|
|
2014
|
+
* @category instances
|
|
2015
|
+
* @since 2.11.0
|
|
2016
|
+
*/
|
|
2017
|
+
export declare const ChainRecDepthFirst: ChainRec1<URI>
|
|
2018
|
+
/**
|
|
2019
|
+
* @category sequencing
|
|
2020
|
+
* @since 2.11.0
|
|
2021
|
+
*/
|
|
2022
|
+
export declare const chainRecBreadthFirst: <A, B>(f: (a: A) => Array<Either<A, B>>) => (a: A) => Array<B>
|
|
2023
|
+
/**
|
|
2024
|
+
* @category instances
|
|
2025
|
+
* @since 2.11.0
|
|
2026
|
+
*/
|
|
2027
|
+
export declare const ChainRecBreadthFirst: ChainRec1<URI>
|
|
2028
|
+
/**
|
|
2029
|
+
* Filter values inside a context.
|
|
2030
|
+
*
|
|
2031
|
+
* @since 2.11.0
|
|
2032
|
+
*/
|
|
2033
|
+
export declare const filterE: import('./Witherable').FilterE1<'Array'>
|
|
2034
|
+
/**
|
|
2035
|
+
* @category instances
|
|
2036
|
+
* @since 2.11.0
|
|
2037
|
+
*/
|
|
2038
|
+
export declare const FromEither: FromEither1<URI>
|
|
2039
|
+
/**
|
|
2040
|
+
* @category lifting
|
|
2041
|
+
* @since 2.11.0
|
|
2042
|
+
*/
|
|
2043
|
+
export declare const fromEitherK: <E, A extends ReadonlyArray<unknown>, B>(
|
|
2044
|
+
f: (...a: A) => Either<E, B>
|
|
2045
|
+
) => (...a: A) => Array<B>
|
|
2046
|
+
/**
|
|
2047
|
+
* @category unsafe
|
|
2048
|
+
* @since 2.0.0
|
|
2049
|
+
*/
|
|
2050
|
+
export declare const unsafeInsertAt: <A>(i: number, a: A, as: Array<A>) => NonEmptyArray<A>
|
|
2051
|
+
/**
|
|
2052
|
+
* @category unsafe
|
|
2053
|
+
* @since 2.0.0
|
|
2054
|
+
*/
|
|
2055
|
+
export declare const unsafeUpdateAt: <A>(i: number, a: A, as: Array<A>) => Array<A>
|
|
2056
|
+
/**
|
|
2057
|
+
* @category unsafe
|
|
2058
|
+
* @since 2.0.0
|
|
2059
|
+
*/
|
|
2060
|
+
export declare const unsafeDeleteAt: <A>(i: number, as: Array<A>) => Array<A>
|
|
2061
|
+
/**
|
|
2062
|
+
* `every` tells if the provided predicate holds true for every element in the `Array`.
|
|
2063
|
+
*
|
|
2064
|
+
* @example
|
|
2065
|
+
* import { every } from 'fp-ts/Array'
|
|
2066
|
+
*
|
|
2067
|
+
* assert.equal(every((x: number) => x >= 0)([1, 2, 3]), true);
|
|
2068
|
+
* assert.equal(every((x: number) => x >= 0)([-1, 2, 3]), false);
|
|
2069
|
+
*
|
|
2070
|
+
* @since 2.9.0
|
|
2071
|
+
*/
|
|
2072
|
+
export declare const every: {
|
|
2073
|
+
<A, B extends A>(refinement: Refinement<A, B>): Refinement<Array<A>, Array<B>>
|
|
2074
|
+
<A>(predicate: Predicate<A>): Predicate<Array<A>>
|
|
2075
|
+
}
|
|
2076
|
+
/**
|
|
2077
|
+
* `some` tells if the provided predicate holds true at least for one element in the `Array`.
|
|
2078
|
+
*
|
|
2079
|
+
* @example
|
|
2080
|
+
* import { some } from 'fp-ts/Array'
|
|
2081
|
+
*
|
|
2082
|
+
* assert.equal(some((x: number) => x >= 0)([1, 2, 3]), true);
|
|
2083
|
+
* assert.equal(some((x: number) => x >= 10)([1, 2, 3]), false);
|
|
2084
|
+
*
|
|
2085
|
+
* @since 2.9.0
|
|
2086
|
+
*/
|
|
2087
|
+
export declare const some: <A>(predicate: Predicate<A>) => (as: Array<A>) => as is NonEmptyArray<A>
|
|
2088
|
+
/**
|
|
2089
|
+
* Alias of [`some`](#some)
|
|
2090
|
+
*
|
|
2091
|
+
* @since 2.11.0
|
|
2092
|
+
*/
|
|
2093
|
+
export declare const exists: <A>(predicate: Predicate<A>) => (as: Array<A>) => as is NEA.NonEmptyArray<A>
|
|
2094
|
+
/**
|
|
2095
|
+
* Places an element in between members of an `Array`, then folds the results using the provided `Monoid`.
|
|
2096
|
+
*
|
|
2097
|
+
* @example
|
|
2098
|
+
* import * as S from 'fp-ts/string'
|
|
2099
|
+
* import { intercalate } from 'fp-ts/Array'
|
|
2100
|
+
*
|
|
2101
|
+
* assert.deepStrictEqual(intercalate(S.Monoid)('-')(['a', 'b', 'c']), 'a-b-c')
|
|
2102
|
+
*
|
|
2103
|
+
* @since 2.12.0
|
|
2104
|
+
*/
|
|
2105
|
+
export declare const intercalate: <A>(M: Monoid<A>) => (middle: A) => (as: Array<A>) => A
|
|
2106
|
+
/**
|
|
2107
|
+
* @category do notation
|
|
2108
|
+
* @since 2.9.0
|
|
2109
|
+
*/
|
|
2110
|
+
export declare const Do: Array<{}>
|
|
2111
|
+
/**
|
|
2112
|
+
* @category do notation
|
|
2113
|
+
* @since 2.8.0
|
|
2114
|
+
*/
|
|
2115
|
+
export declare const bindTo: <N extends string>(
|
|
2116
|
+
name: N
|
|
2117
|
+
) => <A>(fa: import('./HKT').Kind<'Array', A>) => import('./HKT').Kind<'Array', { readonly [K in N]: A }>
|
|
2118
|
+
declare const let_: <N extends string, A, B>(
|
|
2119
|
+
name: Exclude<N, keyof A>,
|
|
2120
|
+
f: (a: A) => B
|
|
2121
|
+
) => (
|
|
2122
|
+
fa: import('./HKT').Kind<'Array', A>
|
|
2123
|
+
) => import('./HKT').Kind<'Array', { readonly [K in keyof A | N]: K extends keyof A ? A[K] : B }>
|
|
2124
|
+
export {
|
|
2125
|
+
/**
|
|
2126
|
+
* @category do notation
|
|
2127
|
+
* @since 2.13.0
|
|
2128
|
+
*/
|
|
2129
|
+
let_ as let
|
|
2130
|
+
}
|
|
2131
|
+
/**
|
|
2132
|
+
* @category do notation
|
|
2133
|
+
* @since 2.8.0
|
|
2134
|
+
*/
|
|
2135
|
+
export declare const bind: <N extends string, A, B>(
|
|
2136
|
+
name: Exclude<N, keyof A>,
|
|
2137
|
+
f: (a: A) => import('./HKT').Kind<'Array', B>
|
|
2138
|
+
) => (
|
|
2139
|
+
ma: import('./HKT').Kind<'Array', A>
|
|
2140
|
+
) => import('./HKT').Kind<'Array', { readonly [K in keyof A | N]: K extends keyof A ? A[K] : B }>
|
|
2141
|
+
/**
|
|
2142
|
+
* @category do notation
|
|
2143
|
+
* @since 2.8.0
|
|
2144
|
+
*/
|
|
2145
|
+
export declare const apS: <N extends string, A, B>(
|
|
2146
|
+
name: Exclude<N, keyof A>,
|
|
2147
|
+
fb: B[]
|
|
2148
|
+
) => (
|
|
2149
|
+
fa: import('./HKT').Kind<'Array', A>
|
|
2150
|
+
) => import('./HKT').Kind<'Array', { readonly [K in keyof A | N]: K extends keyof A ? A[K] : B }>
|
|
2151
|
+
/**
|
|
2152
|
+
* Alias of `flatMap`.
|
|
2153
|
+
*
|
|
2154
|
+
* @category legacy
|
|
2155
|
+
* @since 2.0.0
|
|
2156
|
+
*/
|
|
2157
|
+
export declare const chain: <A, B>(f: (a: A) => Array<B>) => (ma: Array<A>) => Array<B>
|
|
2158
|
+
/**
|
|
2159
|
+
* Use `NonEmptyArray` module instead.
|
|
2160
|
+
*
|
|
2161
|
+
* @category zone of death
|
|
2162
|
+
* @since 2.0.0
|
|
2163
|
+
* @deprecated
|
|
2164
|
+
*/
|
|
2165
|
+
export declare const range: (start: number, end: number) => NonEmptyArray<number>
|
|
2166
|
+
/**
|
|
2167
|
+
* Use a new `[]` instead.
|
|
2168
|
+
*
|
|
2169
|
+
* @category zone of death
|
|
2170
|
+
* @since 2.0.0
|
|
2171
|
+
* @deprecated
|
|
2172
|
+
*/
|
|
2173
|
+
export declare const empty: Array<never>
|
|
2174
|
+
/**
|
|
2175
|
+
* Use `prepend` instead.
|
|
2176
|
+
*
|
|
2177
|
+
* @category zone of death
|
|
2178
|
+
* @since 2.0.0
|
|
2179
|
+
* @deprecated
|
|
2180
|
+
*/
|
|
2181
|
+
export declare const cons: typeof NEA.cons
|
|
2182
|
+
/**
|
|
2183
|
+
* Use `append` instead.
|
|
2184
|
+
*
|
|
2185
|
+
* @category zone of death
|
|
2186
|
+
* @since 2.0.0
|
|
2187
|
+
* @deprecated
|
|
2188
|
+
*/
|
|
2189
|
+
export declare const snoc: <A>(init: Array<A>, end: A) => NonEmptyArray<A>
|
|
2190
|
+
/**
|
|
2191
|
+
* Use `prependAll` instead
|
|
2192
|
+
*
|
|
2193
|
+
* @category zone of death
|
|
2194
|
+
* @since 2.9.0
|
|
2195
|
+
* @deprecated
|
|
2196
|
+
*/
|
|
2197
|
+
export declare const prependToAll: <A>(middle: A) => (as: Array<A>) => Array<A>
|
|
2198
|
+
/**
|
|
2199
|
+
* This instance is deprecated, use small, specific instances instead.
|
|
2200
|
+
* For example if a function needs a `Functor` instance, pass `A.Functor` instead of `A.array`
|
|
2201
|
+
* (where `A` is from `import A from 'fp-ts/Array'`)
|
|
2202
|
+
*
|
|
2203
|
+
* @category zone of death
|
|
2204
|
+
* @since 2.0.0
|
|
2205
|
+
* @deprecated
|
|
2206
|
+
*/
|
|
2207
|
+
export declare const array: FunctorWithIndex1<URI, number> &
|
|
2208
|
+
Monad1<URI> &
|
|
2209
|
+
Unfoldable1<URI> &
|
|
2210
|
+
Alternative1<URI> &
|
|
2211
|
+
Extend1<URI> &
|
|
2212
|
+
FilterableWithIndex1<URI, number> &
|
|
2213
|
+
FoldableWithIndex1<URI, number> &
|
|
2214
|
+
TraversableWithIndex1<URI, number> &
|
|
2215
|
+
Witherable1<URI>
|