@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.
Files changed (735) hide show
  1. package/dist/cdk/TestApp.d.ts +5 -0
  2. package/dist/cdk/TestApp.js +12 -0
  3. package/dist/cdk/TestStack.d.ts +14 -0
  4. package/dist/cdk/TestStack.js +44 -0
  5. package/dist/cdk/baseLayer.d.ts +2 -0
  6. package/dist/cdk/baseLayer.js +7 -0
  7. package/dist/cdk/e2e.d.ts +1 -0
  8. package/dist/cdk/e2e.js +11 -0
  9. package/dist/cdk/lambda-updated.d.ts +2 -0
  10. package/dist/cdk/lambda-updated.js +4 -0
  11. package/dist/cdk/lambda-with-subpath.d.ts +2 -0
  12. package/dist/cdk/lambda-with-subpath.js +7 -0
  13. package/dist/cdk/lambda.d.ts +2 -0
  14. package/dist/cdk/lambda.js +4 -0
  15. package/dist/cdk/packTestLambdas.d.ts +6 -0
  16. package/dist/cdk/packTestLambdas.js +14 -0
  17. package/dist/cdk/update-lambdas.d.ts +1 -0
  18. package/dist/cdk/update-lambdas.js +21 -0
  19. package/dist/e2e-updated.spec.d.ts +1 -0
  20. package/dist/e2e-updated.spec.js +17 -0
  21. package/dist/e2e.spec.d.ts +1 -0
  22. package/dist/e2e.spec.js +27 -0
  23. package/dist/lambdas/test.zip +0 -0
  24. package/dist/lambdas/testAliasImports.zip +0 -0
  25. package/dist/layers/baseLayer/nodejs/node_modules/.package-lock.json +21 -0
  26. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/Alt/package.json +6 -0
  27. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/Alternative/package.json +6 -0
  28. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/Applicative/package.json +6 -0
  29. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/Apply/package.json +6 -0
  30. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/Array/package.json +6 -0
  31. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/Bifunctor/package.json +6 -0
  32. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/BooleanAlgebra/package.json +6 -0
  33. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/Bounded/package.json +6 -0
  34. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/BoundedDistributiveLattice/package.json +6 -0
  35. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/BoundedJoinSemilattice/package.json +6 -0
  36. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/BoundedLattice/package.json +6 -0
  37. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/BoundedMeetSemilattice/package.json +6 -0
  38. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/CHANGELOG.md +3375 -0
  39. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/Category/package.json +6 -0
  40. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/Chain/package.json +6 -0
  41. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/ChainRec/package.json +6 -0
  42. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/Choice/package.json +6 -0
  43. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/Comonad/package.json +6 -0
  44. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/Compactable/package.json +6 -0
  45. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/Console/package.json +6 -0
  46. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/Const/package.json +6 -0
  47. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/Contravariant/package.json +6 -0
  48. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/Date/package.json +6 -0
  49. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/DistributiveLattice/package.json +6 -0
  50. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/Either/package.json +6 -0
  51. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/EitherT/package.json +6 -0
  52. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/Endomorphism/package.json +6 -0
  53. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/Eq/package.json +6 -0
  54. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/Extend/package.json +6 -0
  55. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/Field/package.json +6 -0
  56. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/Filterable/package.json +6 -0
  57. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/FilterableWithIndex/package.json +6 -0
  58. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/Foldable/package.json +6 -0
  59. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/FoldableWithIndex/package.json +6 -0
  60. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/FromEither/package.json +6 -0
  61. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/FromIO/package.json +6 -0
  62. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/FromReader/package.json +6 -0
  63. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/FromState/package.json +6 -0
  64. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/FromTask/package.json +6 -0
  65. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/FromThese/package.json +6 -0
  66. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/Functor/package.json +6 -0
  67. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/FunctorWithIndex/package.json +6 -0
  68. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/Group/package.json +6 -0
  69. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/HKT/package.json +6 -0
  70. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/HKT.d.ts +94 -0
  71. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/HeytingAlgebra/package.json +6 -0
  72. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/IO/package.json +6 -0
  73. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/IOEither/package.json +6 -0
  74. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/IOOption/package.json +6 -0
  75. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/IORef/package.json +6 -0
  76. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/Identity/package.json +6 -0
  77. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/Invariant/package.json +6 -0
  78. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/JoinSemilattice/package.json +6 -0
  79. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/Json/package.json +6 -0
  80. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/LICENSE +21 -0
  81. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/Lattice/package.json +6 -0
  82. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/Magma/package.json +6 -0
  83. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/Map/package.json +6 -0
  84. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/MeetSemilattice/package.json +6 -0
  85. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/Monad/package.json +6 -0
  86. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/MonadIO/package.json +6 -0
  87. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/MonadTask/package.json +6 -0
  88. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/MonadThrow/package.json +6 -0
  89. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/Monoid/package.json +6 -0
  90. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/NaturalTransformation/package.json +6 -0
  91. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/NonEmptyArray/package.json +6 -0
  92. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/Option/package.json +6 -0
  93. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/OptionT/package.json +6 -0
  94. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/Ord/package.json +6 -0
  95. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/Ordering/package.json +6 -0
  96. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/Pointed/package.json +6 -0
  97. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/Predicate/package.json +6 -0
  98. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/Profunctor/package.json +6 -0
  99. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/README.md +110 -0
  100. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/Random/package.json +6 -0
  101. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/Reader/package.json +6 -0
  102. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/ReaderEither/package.json +6 -0
  103. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/ReaderIO/package.json +6 -0
  104. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/ReaderT/package.json +6 -0
  105. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/ReaderTask/package.json +6 -0
  106. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/ReaderTaskEither/package.json +6 -0
  107. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/ReadonlyArray/package.json +6 -0
  108. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/ReadonlyMap/package.json +6 -0
  109. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/ReadonlyNonEmptyArray/package.json +6 -0
  110. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/ReadonlyRecord/package.json +6 -0
  111. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/ReadonlySet/package.json +6 -0
  112. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/ReadonlyTuple/package.json +6 -0
  113. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/Record/package.json +6 -0
  114. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/Refinement/package.json +6 -0
  115. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/Ring/package.json +6 -0
  116. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/Semigroup/package.json +6 -0
  117. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/Semigroupoid/package.json +6 -0
  118. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/Semiring/package.json +6 -0
  119. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/Separated/package.json +6 -0
  120. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/Set/package.json +6 -0
  121. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/Show/package.json +6 -0
  122. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/State/package.json +6 -0
  123. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/StateReaderTaskEither/package.json +6 -0
  124. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/StateT/package.json +6 -0
  125. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/Store/package.json +6 -0
  126. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/Strong/package.json +6 -0
  127. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/Task/package.json +6 -0
  128. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/TaskEither/package.json +6 -0
  129. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/TaskOption/package.json +6 -0
  130. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/TaskThese/package.json +6 -0
  131. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/These/package.json +6 -0
  132. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/TheseT/package.json +6 -0
  133. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/Traced/package.json +6 -0
  134. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/Traversable/package.json +6 -0
  135. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/TraversableWithIndex/package.json +6 -0
  136. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/Tree/package.json +6 -0
  137. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/Tuple/package.json +6 -0
  138. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/Unfoldable/package.json +6 -0
  139. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/ValidationT/package.json +6 -0
  140. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/Witherable/package.json +6 -0
  141. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/Writer/package.json +6 -0
  142. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/WriterT/package.json +6 -0
  143. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/Zero/package.json +6 -0
  144. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/boolean/package.json +6 -0
  145. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/Alt.d.ts +86 -0
  146. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/Alt.js +3 -0
  147. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/Alternative.d.ts +108 -0
  148. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/Alternative.js +33 -0
  149. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/Applicative.d.ts +267 -0
  150. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/Applicative.js +39 -0
  151. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/Apply.d.ts +658 -0
  152. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/Apply.js +178 -0
  153. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/Array.d.ts +2215 -0
  154. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/Array.js +2517 -0
  155. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/Bifunctor.d.ts +60 -0
  156. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/Bifunctor.js +1 -0
  157. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/BooleanAlgebra.d.ts +43 -0
  158. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/BooleanAlgebra.js +78 -0
  159. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/Bounded.d.ts +41 -0
  160. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/Bounded.js +51 -0
  161. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/BoundedDistributiveLattice.d.ts +20 -0
  162. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/BoundedDistributiveLattice.js +17 -0
  163. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/BoundedJoinSemilattice.d.ts +15 -0
  164. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/BoundedJoinSemilattice.js +1 -0
  165. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/BoundedLattice.d.ts +15 -0
  166. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/BoundedLattice.js +1 -0
  167. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/BoundedMeetSemilattice.d.ts +15 -0
  168. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/BoundedMeetSemilattice.js +1 -0
  169. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/Category.d.ts +33 -0
  170. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/Category.js +1 -0
  171. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/Chain.d.ts +172 -0
  172. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/Chain.js +14 -0
  173. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/ChainRec.d.ts +59 -0
  174. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/ChainRec.js +10 -0
  175. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/Choice.d.ts +174 -0
  176. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/Choice.js +16 -0
  177. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/Comonad.d.ts +54 -0
  178. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/Comonad.js +1 -0
  179. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/Compactable.d.ts +320 -0
  180. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/Compactable.js +21 -0
  181. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/Console.d.ts +20 -0
  182. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/Console.js +32 -0
  183. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/Const.d.ts +169 -0
  184. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/Const.js +176 -0
  185. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/Contravariant.d.ts +62 -0
  186. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/Contravariant.js +1 -0
  187. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/Date.d.ts +49 -0
  188. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/Date.js +61 -0
  189. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/DistributiveLattice.d.ts +20 -0
  190. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/DistributiveLattice.js +14 -0
  191. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/Either.d.ts +1354 -0
  192. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/Either.js +1480 -0
  193. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/EitherT.d.ts +669 -0
  194. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/EitherT.js +137 -0
  195. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/Endomorphism.d.ts +40 -0
  196. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/Endomorphism.js +28 -0
  197. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/Eq.d.ts +206 -0
  198. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/Eq.js +214 -0
  199. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/Extend.d.ts +54 -0
  200. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/Extend.js +1 -0
  201. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/Field.d.ts +36 -0
  202. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/Field.js +43 -0
  203. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/Filterable.d.ts +628 -0
  204. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/Filterable.js +52 -0
  205. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/FilterableWithIndex.d.ts +255 -0
  206. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/FilterableWithIndex.js +1 -0
  207. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/Foldable.d.ts +423 -0
  208. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/Foldable.js +64 -0
  209. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/FoldableWithIndex.d.ts +290 -0
  210. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/FoldableWithIndex.js +49 -0
  211. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/FromEither.d.ts +337 -0
  212. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/FromEither.js +56 -0
  213. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/FromIO.d.ts +152 -0
  214. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/FromIO.js +25 -0
  215. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/FromReader.d.ts +136 -0
  216. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/FromReader.js +30 -0
  217. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/FromState.d.ts +128 -0
  218. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/FromState.js +21 -0
  219. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/FromTask.d.ts +144 -0
  220. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/FromTask.js +25 -0
  221. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/FromThese.d.ts +73 -0
  222. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/FromThese.js +9 -0
  223. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/Functor.d.ts +452 -0
  224. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/Functor.js +53 -0
  225. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/FunctorWithIndex.d.ts +203 -0
  226. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/FunctorWithIndex.js +27 -0
  227. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/Group.d.ts +15 -0
  228. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/Group.js +1 -0
  229. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/HKT/index.js +6 -0
  230. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/HKT/package.json +3 -0
  231. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/HeytingAlgebra.d.ts +32 -0
  232. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/HeytingAlgebra.js +1 -0
  233. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/IO.d.ts +311 -0
  234. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/IO.js +340 -0
  235. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/IOEither.d.ts +1042 -0
  236. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/IOEither.js +1062 -0
  237. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/IOOption.d.ts +616 -0
  238. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/IOOption.js +626 -0
  239. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/IORef.d.ts +37 -0
  240. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/IORef.js +46 -0
  241. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/Identity.d.ts +295 -0
  242. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/Identity.js +340 -0
  243. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/Invariant.d.ts +62 -0
  244. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/Invariant.js +1 -0
  245. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/JoinSemilattice.d.ts +19 -0
  246. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/JoinSemilattice.js +13 -0
  247. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/Json.d.ts +54 -0
  248. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/Json.js +49 -0
  249. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/Lattice.d.ts +15 -0
  250. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/Lattice.js +1 -0
  251. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/Magma.d.ts +58 -0
  252. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/Magma.js +75 -0
  253. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/Map.d.ts +421 -0
  254. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/Map.js +750 -0
  255. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/MeetSemilattice.d.ts +19 -0
  256. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/MeetSemilattice.js +13 -0
  257. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/Monad.d.ts +61 -0
  258. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/Monad.js +1 -0
  259. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/MonadIO.d.ts +43 -0
  260. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/MonadIO.js +1 -0
  261. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/MonadTask.d.ts +43 -0
  262. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/MonadTask.js +1 -0
  263. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/MonadThrow.d.ts +61 -0
  264. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/MonadThrow.js +1 -0
  265. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/Monoid.d.ts +268 -0
  266. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/Monoid.js +278 -0
  267. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/NaturalTransformation.d.ts +132 -0
  268. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/NaturalTransformation.js +1 -0
  269. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/NonEmptyArray.d.ts +855 -0
  270. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/NonEmptyArray.js +1152 -0
  271. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/Option.d.ts +1150 -0
  272. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/Option.js +1224 -0
  273. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/OptionT.d.ts +551 -0
  274. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/OptionT.js +94 -0
  275. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/Ord.d.ts +355 -0
  276. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/Ord.js +429 -0
  277. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/Ordering.d.ts +84 -0
  278. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/Ordering.js +92 -0
  279. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/Pointed.d.ts +62 -0
  280. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/Pointed.js +1 -0
  281. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/Predicate.d.ts +68 -0
  282. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/Predicate.js +84 -0
  283. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/Profunctor.d.ts +49 -0
  284. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/Profunctor.js +1 -0
  285. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/Random.d.ts +36 -0
  286. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/Random.js +45 -0
  287. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/Reader.d.ts +492 -0
  288. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/Reader.js +535 -0
  289. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/ReaderEither.d.ts +1057 -0
  290. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/ReaderEither.js +956 -0
  291. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/ReaderIO.d.ts +499 -0
  292. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/ReaderIO.js +472 -0
  293. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/ReaderT.d.ts +298 -0
  294. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/ReaderT.js +42 -0
  295. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/ReaderTask.d.ts +787 -0
  296. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/ReaderTask.js +781 -0
  297. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/ReaderTaskEither.d.ts +1773 -0
  298. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/ReaderTaskEither.js +1605 -0
  299. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/ReadonlyArray.d.ts +1716 -0
  300. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/ReadonlyArray.js +2125 -0
  301. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/ReadonlyMap.d.ts +476 -0
  302. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/ReadonlyMap.js +959 -0
  303. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/ReadonlyNonEmptyArray.d.ts +933 -0
  304. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/ReadonlyNonEmptyArray.js +1224 -0
  305. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/ReadonlyRecord.d.ts +1385 -0
  306. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/ReadonlyRecord.js +1365 -0
  307. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/ReadonlySet.d.ts +258 -0
  308. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/ReadonlySet.js +448 -0
  309. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/ReadonlyTuple.d.ts +203 -0
  310. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/ReadonlyTuple.js +329 -0
  311. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/Record.d.ts +1334 -0
  312. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/Record.js +1139 -0
  313. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/Refinement.d.ts +55 -0
  314. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/Refinement.js +73 -0
  315. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/Ring.d.ts +53 -0
  316. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/Ring.js +76 -0
  317. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/Semigroup.d.ts +302 -0
  318. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/Semigroup.js +373 -0
  319. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/Semigroupoid.d.ts +54 -0
  320. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/Semigroupoid.js +1 -0
  321. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/Semiring.d.ts +18 -0
  322. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/Semiring.js +35 -0
  323. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/Separated.d.ts +91 -0
  324. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/Separated.js +97 -0
  325. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/Set.d.ts +231 -0
  326. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/Set.js +387 -0
  327. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/Show.d.ts +64 -0
  328. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/Show.js +93 -0
  329. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/State.d.ts +291 -0
  330. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/State.js +322 -0
  331. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/StateReaderTaskEither.d.ts +1241 -0
  332. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/StateReaderTaskEither.js +1144 -0
  333. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/StateT.d.ts +313 -0
  334. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/StateT.js +69 -0
  335. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/Store.d.ts +117 -0
  336. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/Store.js +101 -0
  337. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/Strong.d.ts +172 -0
  338. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/Strong.js +18 -0
  339. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/Task.d.ts +500 -0
  340. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/Task.js +592 -0
  341. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/TaskEither.d.ts +1437 -0
  342. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/TaskEither.js +1464 -0
  343. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/TaskOption.d.ts +767 -0
  344. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/TaskOption.js +871 -0
  345. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/TaskThese.d.ts +401 -0
  346. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/TaskThese.js +457 -0
  347. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/These.d.ts +468 -0
  348. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/These.js +663 -0
  349. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/TheseT.d.ts +463 -0
  350. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/TheseT.js +91 -0
  351. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/Traced.d.ts +85 -0
  352. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/Traced.js +93 -0
  353. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/Traversable.d.ts +550 -0
  354. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/Traversable.js +38 -0
  355. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/TraversableWithIndex.d.ts +191 -0
  356. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/TraversableWithIndex.js +1 -0
  357. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/Tree.d.ts +393 -0
  358. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/Tree.js +482 -0
  359. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/Tuple.d.ts +198 -0
  360. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/Tuple.js +316 -0
  361. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/Unfoldable.d.ts +65 -0
  362. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/Unfoldable.js +1 -0
  363. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/ValidationT.d.ts +73 -0
  364. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/ValidationT.js +21 -0
  365. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/Witherable.d.ts +575 -0
  366. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/Witherable.js +19 -0
  367. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/Writer.d.ts +141 -0
  368. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/Writer.js +192 -0
  369. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/WriterT.d.ts +147 -0
  370. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/WriterT.js +59 -0
  371. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/Zero.d.ts +83 -0
  372. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/Zero.js +3 -0
  373. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/boolean.d.ts +139 -0
  374. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/boolean.js +162 -0
  375. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/function.d.ts +579 -0
  376. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/function.js +345 -0
  377. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/index.d.ts +718 -0
  378. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/index.js +717 -0
  379. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/internal.d.ts +1 -0
  380. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/internal.js +120 -0
  381. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/number.d.ts +99 -0
  382. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/number.js +126 -0
  383. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/pipeable.d.ts +2275 -0
  384. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/pipeable.js +198 -0
  385. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/string.d.ts +226 -0
  386. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/string.js +266 -0
  387. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/struct.d.ts +42 -0
  388. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/struct.js +61 -0
  389. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/void.d.ts +15 -0
  390. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/es6/void.js +17 -0
  391. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/function/package.json +6 -0
  392. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/internal/package.json +6 -0
  393. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/Alt.d.ts +86 -0
  394. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/Alt.js +6 -0
  395. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/Alternative.d.ts +108 -0
  396. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/Alternative.js +37 -0
  397. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/Applicative.d.ts +267 -0
  398. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/Applicative.js +43 -0
  399. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/Apply.d.ts +658 -0
  400. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/Apply.js +210 -0
  401. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/Array.d.ts +2215 -0
  402. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/Array.js +2621 -0
  403. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/Bifunctor.d.ts +60 -0
  404. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/Bifunctor.js +2 -0
  405. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/BooleanAlgebra.d.ts +43 -0
  406. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/BooleanAlgebra.js +82 -0
  407. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/Bounded.d.ts +41 -0
  408. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/Bounded.js +79 -0
  409. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/BoundedDistributiveLattice.d.ts +20 -0
  410. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/BoundedDistributiveLattice.js +20 -0
  411. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/BoundedJoinSemilattice.d.ts +15 -0
  412. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/BoundedJoinSemilattice.js +2 -0
  413. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/BoundedLattice.d.ts +15 -0
  414. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/BoundedLattice.js +2 -0
  415. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/BoundedMeetSemilattice.d.ts +15 -0
  416. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/BoundedMeetSemilattice.js +2 -0
  417. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/Category.d.ts +33 -0
  418. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/Category.js +2 -0
  419. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/Chain.d.ts +172 -0
  420. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/Chain.js +19 -0
  421. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/ChainRec.d.ts +59 -0
  422. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/ChainRec.js +14 -0
  423. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/Choice.d.ts +174 -0
  424. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/Choice.js +22 -0
  425. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/Comonad.d.ts +54 -0
  426. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/Comonad.js +2 -0
  427. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/Compactable.d.ts +320 -0
  428. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/Compactable.js +49 -0
  429. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/Console.d.ts +20 -0
  430. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/Console.js +39 -0
  431. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/Const.d.ts +169 -0
  432. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/Const.js +186 -0
  433. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/Contravariant.d.ts +62 -0
  434. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/Contravariant.js +2 -0
  435. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/Date.d.ts +49 -0
  436. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/Date.js +89 -0
  437. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/DistributiveLattice.d.ts +20 -0
  438. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/DistributiveLattice.js +17 -0
  439. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/Either.d.ts +1354 -0
  440. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/Either.js +1542 -0
  441. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/EitherT.d.ts +669 -0
  442. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/EitherT.js +189 -0
  443. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/Endomorphism.d.ts +40 -0
  444. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/Endomorphism.js +33 -0
  445. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/Eq.d.ts +206 -0
  446. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/Eq.js +223 -0
  447. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/Extend.d.ts +54 -0
  448. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/Extend.js +2 -0
  449. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/Field.d.ts +36 -0
  450. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/Field.js +48 -0
  451. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/Filterable.d.ts +628 -0
  452. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/Filterable.js +59 -0
  453. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/FilterableWithIndex.d.ts +255 -0
  454. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/FilterableWithIndex.js +2 -0
  455. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/Foldable.d.ts +423 -0
  456. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/Foldable.js +76 -0
  457. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/FoldableWithIndex.d.ts +290 -0
  458. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/FoldableWithIndex.js +55 -0
  459. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/FromEither.d.ts +337 -0
  460. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/FromEither.js +90 -0
  461. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/FromIO.d.ts +152 -0
  462. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/FromIO.js +31 -0
  463. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/FromReader.d.ts +136 -0
  464. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/FromReader.js +61 -0
  465. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/FromState.d.ts +128 -0
  466. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/FromState.js +52 -0
  467. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/FromTask.d.ts +144 -0
  468. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/FromTask.js +31 -0
  469. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/FromThese.d.ts +73 -0
  470. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/FromThese.js +12 -0
  471. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/Functor.d.ts +452 -0
  472. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/Functor.js +57 -0
  473. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/FunctorWithIndex.d.ts +203 -0
  474. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/FunctorWithIndex.js +31 -0
  475. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/Group.d.ts +15 -0
  476. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/Group.js +2 -0
  477. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/HKT/index.js +7 -0
  478. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/HKT/package.json +3 -0
  479. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/HeytingAlgebra.d.ts +32 -0
  480. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/HeytingAlgebra.js +2 -0
  481. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/IO.d.ts +311 -0
  482. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/IO.js +366 -0
  483. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/IOEither.d.ts +1042 -0
  484. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/IOEither.js +1102 -0
  485. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/IOOption.d.ts +616 -0
  486. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/IOOption.js +650 -0
  487. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/IORef.d.ts +37 -0
  488. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/IORef.js +50 -0
  489. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/Identity.d.ts +295 -0
  490. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/Identity.js +370 -0
  491. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/Invariant.d.ts +62 -0
  492. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/Invariant.js +2 -0
  493. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/JoinSemilattice.d.ts +19 -0
  494. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/JoinSemilattice.js +14 -0
  495. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/Json.d.ts +54 -0
  496. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/Json.js +54 -0
  497. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/Lattice.d.ts +15 -0
  498. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/Lattice.js +2 -0
  499. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/Magma.d.ts +58 -0
  500. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/Magma.js +83 -0
  501. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/Map.d.ts +421 -0
  502. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/Map.js +814 -0
  503. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/MeetSemilattice.d.ts +19 -0
  504. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/MeetSemilattice.js +14 -0
  505. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/Monad.d.ts +61 -0
  506. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/Monad.js +2 -0
  507. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/MonadIO.d.ts +43 -0
  508. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/MonadIO.js +2 -0
  509. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/MonadTask.d.ts +43 -0
  510. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/MonadTask.js +2 -0
  511. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/MonadThrow.d.ts +61 -0
  512. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/MonadThrow.js +2 -0
  513. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/Monoid.d.ts +268 -0
  514. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/Monoid.js +311 -0
  515. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/NaturalTransformation.d.ts +132 -0
  516. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/NaturalTransformation.js +2 -0
  517. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/NonEmptyArray.d.ts +855 -0
  518. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/NonEmptyArray.js +1234 -0
  519. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/Option.d.ts +1150 -0
  520. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/Option.js +1286 -0
  521. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/OptionT.d.ts +551 -0
  522. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/OptionT.js +138 -0
  523. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/Ord.d.ts +355 -0
  524. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/Ord.js +448 -0
  525. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/Ordering.d.ts +84 -0
  526. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/Ordering.js +98 -0
  527. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/Pointed.d.ts +62 -0
  528. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/Pointed.js +2 -0
  529. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/Predicate.d.ts +68 -0
  530. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/Predicate.js +95 -0
  531. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/Profunctor.d.ts +49 -0
  532. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/Profunctor.js +2 -0
  533. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/Random.d.ts +36 -0
  534. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/Random.js +52 -0
  535. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/Reader.d.ts +492 -0
  536. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/Reader.js +572 -0
  537. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/ReaderEither.d.ts +1057 -0
  538. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/ReaderEither.js +988 -0
  539. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/ReaderIO.d.ts +499 -0
  540. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/ReaderIO.js +502 -0
  541. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/ReaderT.d.ts +298 -0
  542. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/ReaderT.js +52 -0
  543. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/ReaderTask.d.ts +787 -0
  544. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/ReaderTask.js +811 -0
  545. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/ReaderTaskEither.d.ts +1773 -0
  546. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/ReaderTaskEither.js +1654 -0
  547. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/ReadonlyArray.d.ts +1716 -0
  548. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/ReadonlyArray.js +2253 -0
  549. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/ReadonlyMap.d.ts +476 -0
  550. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/ReadonlyMap.js +1041 -0
  551. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/ReadonlyNonEmptyArray.d.ts +933 -0
  552. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/ReadonlyNonEmptyArray.js +1316 -0
  553. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/ReadonlyRecord.d.ts +1385 -0
  554. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/ReadonlyRecord.js +1470 -0
  555. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/ReadonlySet.d.ts +258 -0
  556. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/ReadonlySet.js +485 -0
  557. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/ReadonlyTuple.d.ts +203 -0
  558. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/ReadonlyTuple.js +350 -0
  559. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/Record.d.ts +1334 -0
  560. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/Record.js +1201 -0
  561. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/Refinement.d.ts +55 -0
  562. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/Refinement.js +107 -0
  563. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/Ring.d.ts +53 -0
  564. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/Ring.js +81 -0
  565. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/Semigroup.d.ts +302 -0
  566. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/Semigroup.js +409 -0
  567. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/Semigroupoid.d.ts +54 -0
  568. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/Semigroupoid.js +2 -0
  569. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/Semiring.d.ts +18 -0
  570. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/Semiring.js +38 -0
  571. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/Separated.d.ts +91 -0
  572. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/Separated.js +106 -0
  573. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/Set.d.ts +231 -0
  574. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/Set.js +436 -0
  575. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/Show.d.ts +64 -0
  576. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/Show.js +121 -0
  577. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/State.d.ts +291 -0
  578. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/State.js +358 -0
  579. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/StateReaderTaskEither.d.ts +1241 -0
  580. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/StateReaderTaskEither.js +1195 -0
  581. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/StateT.d.ts +313 -0
  582. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/StateT.js +81 -0
  583. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/Store.d.ts +117 -0
  584. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/Store.js +111 -0
  585. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/Strong.d.ts +172 -0
  586. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/Strong.js +24 -0
  587. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/Task.d.ts +500 -0
  588. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/Task.js +627 -0
  589. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/TaskEither.d.ts +1437 -0
  590. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/TaskEither.js +1510 -0
  591. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/TaskOption.d.ts +767 -0
  592. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/TaskOption.js +902 -0
  593. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/TaskThese.d.ts +401 -0
  594. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/TaskThese.js +493 -0
  595. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/These.d.ts +468 -0
  596. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/These.js +724 -0
  597. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/TheseT.d.ts +463 -0
  598. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/TheseT.js +131 -0
  599. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/Traced.d.ts +85 -0
  600. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/Traced.js +102 -0
  601. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/Traversable.d.ts +550 -0
  602. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/Traversable.js +43 -0
  603. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/TraversableWithIndex.d.ts +191 -0
  604. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/TraversableWithIndex.js +2 -0
  605. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/Tree.d.ts +393 -0
  606. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/Tree.js +525 -0
  607. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/Tuple.d.ts +198 -0
  608. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/Tuple.js +355 -0
  609. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/Unfoldable.d.ts +65 -0
  610. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/Unfoldable.js +2 -0
  611. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/ValidationT.d.ts +73 -0
  612. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/ValidationT.js +47 -0
  613. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/Witherable.d.ts +575 -0
  614. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/Witherable.js +47 -0
  615. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/Writer.d.ts +141 -0
  616. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/Writer.js +210 -0
  617. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/WriterT.d.ts +147 -0
  618. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/WriterT.js +62 -0
  619. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/Zero.d.ts +83 -0
  620. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/Zero.js +6 -0
  621. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/boolean.d.ts +139 -0
  622. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/boolean.js +167 -0
  623. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/function.d.ts +579 -0
  624. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/function.js +369 -0
  625. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/index.d.ts +718 -0
  626. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/index.js +273 -0
  627. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/internal.d.ts +1 -0
  628. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/internal.js +143 -0
  629. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/number.d.ts +99 -0
  630. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/number.js +130 -0
  631. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/pipeable.d.ts +2275 -0
  632. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/pipeable.js +227 -0
  633. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/string.d.ts +226 -0
  634. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/string.js +283 -0
  635. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/struct.d.ts +42 -0
  636. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/struct.js +89 -0
  637. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/void.d.ts +15 -0
  638. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/lib/void.js +43 -0
  639. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/number/package.json +6 -0
  640. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/package.json +29 -0
  641. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/pipeable/package.json +6 -0
  642. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/string/package.json +6 -0
  643. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/struct/package.json +6 -0
  644. package/dist/layers/baseLayer/nodejs/node_modules/fp-ts/void/package.json +6 -0
  645. package/dist/layers/baseLayer/nodejs/node_modules/id128/CHANGES +20 -0
  646. package/dist/layers/baseLayer/nodejs/node_modules/id128/LICENSE +18 -0
  647. package/dist/layers/baseLayer/nodejs/node_modules/id128/README.md +853 -0
  648. package/dist/layers/baseLayer/nodejs/node_modules/id128/index.d.ts +167 -0
  649. package/dist/layers/baseLayer/nodejs/node_modules/id128/index.js +49 -0
  650. package/dist/layers/baseLayer/nodejs/node_modules/id128/package.json +68 -0
  651. package/dist/layers/baseLayer/nodejs/node_modules/id128/src/coder/base.js +53 -0
  652. package/dist/layers/baseLayer/nodejs/node_modules/id128/src/coder/crockford32.js +114 -0
  653. package/dist/layers/baseLayer/nodejs/node_modules/id128/src/coder/hex.js +63 -0
  654. package/dist/layers/baseLayer/nodejs/node_modules/id128/src/coder/uuid.js +77 -0
  655. package/dist/layers/baseLayer/nodejs/node_modules/id128/src/common/byte-array.js +26 -0
  656. package/dist/layers/baseLayer/nodejs/node_modules/id128/src/common/epoch-converter.js +32 -0
  657. package/dist/layers/baseLayer/nodejs/node_modules/id128/src/common/exception.js +18 -0
  658. package/dist/layers/baseLayer/nodejs/node_modules/id128/src/common/fake-machine.js +26 -0
  659. package/dist/layers/baseLayer/nodejs/node_modules/id128/src/common/machine.js +37 -0
  660. package/dist/layers/baseLayer/nodejs/node_modules/id128/src/common/random-bytes-browser.js +9 -0
  661. package/dist/layers/baseLayer/nodejs/node_modules/id128/src/common/random-bytes.js +17 -0
  662. package/dist/layers/baseLayer/nodejs/node_modules/id128/src/factory/id.js +96 -0
  663. package/dist/layers/baseLayer/nodejs/node_modules/id128/src/factory/versioned-id.js +72 -0
  664. package/dist/layers/baseLayer/nodejs/node_modules/id128/src/id/base.js +39 -0
  665. package/dist/layers/baseLayer/nodejs/node_modules/id128/src/id/ulid-monotonic.js +71 -0
  666. package/dist/layers/baseLayer/nodejs/node_modules/id128/src/id/ulid.js +64 -0
  667. package/dist/layers/baseLayer/nodejs/node_modules/id128/src/id/uuid-1.js +149 -0
  668. package/dist/layers/baseLayer/nodejs/node_modules/id128/src/id/uuid-4.js +24 -0
  669. package/dist/layers/baseLayer/nodejs/node_modules/id128/src/id/uuid-6.js +146 -0
  670. package/dist/layers/baseLayer/nodejs/node_modules/id128/src/id/uuid-nil.js +33 -0
  671. package/dist/layers/baseLayer/nodejs/node_modules/id128/src/id/uuid.js +58 -0
  672. package/dist/layers/baseLayer/nodejs/node_modules/id128/utils.js +35 -0
  673. package/dist/layers/baseLayer/nodejs/package-lock.json +6702 -0
  674. package/dist/layers/baseLayer/nodejs/package.json +1 -0
  675. package/dist/layers/baseLayer.zip +0 -0
  676. package/dist/package.json +132 -0
  677. package/dist/src/IoTActionRole.d.ts +10 -0
  678. package/dist/src/IoTActionRole.js +28 -0
  679. package/dist/src/LambdaLogGroup.d.ts +6 -0
  680. package/dist/src/LambdaLogGroup.js +22 -0
  681. package/dist/src/LambdaSource.d.ts +7 -0
  682. package/dist/src/LambdaSource.js +12 -0
  683. package/dist/src/PackedLambdaFn.d.ts +25 -0
  684. package/dist/src/PackedLambdaFn.js +55 -0
  685. package/dist/src/cdk.d.ts +4 -0
  686. package/dist/src/cdk.js +4 -0
  687. package/dist/src/checkSumOfFiles.spec.d.ts +1 -0
  688. package/dist/src/checkSumOfFiles.spec.js +16 -0
  689. package/dist/src/checksumOfFiles.d.ts +5 -0
  690. package/dist/src/checksumOfFiles.js +40 -0
  691. package/dist/src/commonParent.d.ts +4 -0
  692. package/dist/src/commonParent.js +14 -0
  693. package/dist/src/commonParent.spec.d.ts +1 -0
  694. package/dist/src/commonParent.spec.js +20 -0
  695. package/dist/src/findDependencies.d.ts +22 -0
  696. package/dist/src/findDependencies.js +114 -0
  697. package/dist/src/findDependencies.spec.d.ts +1 -0
  698. package/dist/src/findDependencies.spec.js +37 -0
  699. package/dist/src/isTest.d.ts +2 -0
  700. package/dist/src/isTest.js +1 -0
  701. package/dist/src/isTest.spec.d.ts +1 -0
  702. package/dist/src/isTest.spec.js +16 -0
  703. package/dist/src/lambda.d.ts +2 -0
  704. package/dist/src/lambda.js +2 -0
  705. package/dist/src/layer.d.ts +1 -0
  706. package/dist/src/layer.js +1 -0
  707. package/dist/src/module-folder-named-like-handler-bug.spec.d.ts +1 -0
  708. package/dist/src/module-folder-named-like-handler-bug.spec.js +19 -0
  709. package/dist/src/packLambda.d.ts +29 -0
  710. package/dist/src/packLambda.js +101 -0
  711. package/dist/src/packLambda.spec.d.ts +1 -0
  712. package/dist/src/packLambda.spec.js +25 -0
  713. package/dist/src/packLambdaFromPath.d.ts +20 -0
  714. package/dist/src/packLambdaFromPath.js +31 -0
  715. package/dist/src/packLayer.d.ts +23 -0
  716. package/dist/src/packLayer.js +113 -0
  717. package/dist/src/packLayer.spec.d.ts +1 -0
  718. package/dist/src/packLayer.spec.js +22 -0
  719. package/dist/src/test/getFileFromZip.d.ts +1 -0
  720. package/dist/src/test/getFileFromZip.js +25 -0
  721. package/dist/src/test-data/resolve-paths/foo/1.d.ts +1 -0
  722. package/dist/src/test-data/resolve-paths/foo/1.js +1 -0
  723. package/dist/src/test-data/resolve-paths/foo/2.d.ts +1 -0
  724. package/dist/src/test-data/resolve-paths/foo/2.js +1 -0
  725. package/dist/src/test-data/resolve-paths/foo/index.d.ts +1 -0
  726. package/dist/src/test-data/resolve-paths/foo/index.js +1 -0
  727. package/dist/src/updateImports.d.ts +1 -0
  728. package/dist/src/updateImports.js +1 -0
  729. package/dist/src/updateImports.spec.d.ts +1 -0
  730. package/dist/src/updateImports.spec.js +10 -0
  731. package/dist/src/updateLambdaCode.d.ts +7 -0
  732. package/dist/src/updateLambdaCode.js +75 -0
  733. package/dist/src/util.d.ts +5 -0
  734. package/dist/src/util.js +5 -0
  735. 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>