@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,2621 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ Object.defineProperty(exports, "__esModule", { value: true });
26
+ exports.rotate = exports.intersperse = exports.prependAll = exports.unzip = exports.zipWith = exports.sort = exports.lefts = exports.rights = exports.reverse = exports.modifyAt = exports.deleteAt = exports.updateAt = exports.insertAt = exports.copy = exports.findLastIndex = exports.findLastMap = exports.findFirstMap = exports.findIndex = exports.dropRight = exports.dropLeft = exports.takeRight = exports.takeLeft = exports.init = exports.tail = exports.last = exports.head = exports.lookup = exports.isOutOfBound = exports.size = exports.scanRight = exports.scanLeft = exports.chainWithIndex = exports.foldRight = exports.matchRight = exports.matchRightW = exports.foldLeft = exports.matchLeft = exports.matchLeftW = exports.match = exports.matchW = exports.fromEither = exports.fromOption = exports.replicate = exports.makeBy = exports.appendW = exports.append = exports.prependW = exports.prepend = exports.isNonEmpty = exports.isEmpty = void 0;
27
+ exports.getUnionMonoid = exports.getUnionSemigroup = exports.getOrd = exports.getEq = exports.getMonoid = exports.getSemigroup = exports.getShow = exports.URI = exports.unfold = exports.wilt = exports.wither = exports.traverseWithIndex = exports.sequence = exports.traverse = exports.reduceRightWithIndex = exports.reduceRight = exports.reduceWithIndex = exports.reduce = exports.foldMapWithIndex = exports.foldMap = exports.duplicate = exports.extend = exports.filterWithIndex = exports.alt = exports.altW = exports.partitionMapWithIndex = exports.partitionMap = exports.partitionWithIndex = exports.partition = exports.filter = exports.separate = exports.compact = exports.filterMap = exports.filterMapWithIndex = exports.mapWithIndex = exports.flatten = exports.flatMap = exports.ap = exports.map = exports.zero = exports.of = exports.concat = exports.concatW = exports.fromOptionK = exports.chunksOf = exports.splitAt = exports.chop = exports.sortBy = exports.uniq = exports.elem = void 0;
28
+ exports.cons = exports.empty = exports.range = exports.chain = exports.apS = exports.bind = exports.let = exports.bindTo = exports.Do = exports.intercalate = exports.exists = exports.some = exports.every = exports.unsafeDeleteAt = exports.unsafeUpdateAt = exports.unsafeInsertAt = exports.fromEitherK = exports.FromEither = exports.filterE = exports.ChainRecBreadthFirst = exports.chainRecBreadthFirst = exports.ChainRecDepthFirst = exports.chainRecDepthFirst = exports.Witherable = exports.TraversableWithIndex = exports.Traversable = exports.FoldableWithIndex = exports.Foldable = exports.FilterableWithIndex = exports.Filterable = exports.Compactable = exports.Extend = exports.Alternative = exports.guard = exports.Zero = exports.Alt = exports.Unfoldable = exports.Monad = exports.chainFirst = exports.Chain = exports.Applicative = exports.apSecond = exports.apFirst = exports.Apply = exports.FunctorWithIndex = exports.Pointed = exports.flap = exports.Functor = exports.getDifferenceMagma = exports.getIntersectionSemigroup = void 0;
29
+ exports.array = exports.prependToAll = exports.snoc = void 0;
30
+ exports.fromPredicate = fromPredicate;
31
+ exports.takeLeftWhile = takeLeftWhile;
32
+ exports.spanLeft = spanLeft;
33
+ exports.dropLeftWhile = dropLeftWhile;
34
+ exports.findFirst = findFirst;
35
+ exports.findLast = findLast;
36
+ exports.zip = zip;
37
+ exports.comprehension = comprehension;
38
+ exports.union = union;
39
+ exports.intersection = intersection;
40
+ exports.difference = difference;
41
+ var Apply_1 = require("./Apply");
42
+ var Chain_1 = require("./Chain");
43
+ var FromEither_1 = require("./FromEither");
44
+ var function_1 = require("./function");
45
+ var Functor_1 = require("./Functor");
46
+ var _ = __importStar(require("./internal"));
47
+ var NEA = __importStar(require("./NonEmptyArray"));
48
+ var RA = __importStar(require("./ReadonlyArray"));
49
+ var Separated_1 = require("./Separated");
50
+ var Witherable_1 = require("./Witherable");
51
+ var Zero_1 = require("./Zero");
52
+ // -------------------------------------------------------------------------------------
53
+ // refinements
54
+ // -------------------------------------------------------------------------------------
55
+ /**
56
+ * Test whether an array is empty
57
+ *
58
+ * @example
59
+ * import { isEmpty } from 'fp-ts/Array'
60
+ *
61
+ * assert.strictEqual(isEmpty([]), true)
62
+ * assert.strictEqual(isEmpty(['a']), false)
63
+ *
64
+ * @category refinements
65
+ * @since 2.0.0
66
+ */
67
+ var isEmpty = function (as) { return as.length === 0; };
68
+ exports.isEmpty = isEmpty;
69
+ /**
70
+ * Test whether an array is non empty narrowing down the type to `NonEmptyArray<A>`
71
+ *
72
+ * @example
73
+ * import { isNonEmpty } from 'fp-ts/Array'
74
+ *
75
+ * assert.strictEqual(isNonEmpty([]), false)
76
+ * assert.strictEqual(isNonEmpty(['a']), true)
77
+ *
78
+ * @category refinements
79
+ * @since 2.0.0
80
+ */
81
+ exports.isNonEmpty = NEA.isNonEmpty;
82
+ // -------------------------------------------------------------------------------------
83
+ // constructors
84
+ // -------------------------------------------------------------------------------------
85
+ /**
86
+ * Prepend an element to the front of a `Array`, creating a new `NonEmptyArray`.
87
+ *
88
+ * @example
89
+ * import { prepend } from 'fp-ts/Array'
90
+ * import { pipe } from 'fp-ts/function'
91
+ *
92
+ * assert.deepStrictEqual(pipe([2, 3, 4], prepend(1)), [1, 2, 3, 4])
93
+ *
94
+ * @since 2.10.0
95
+ */
96
+ exports.prepend = NEA.prepend;
97
+ /**
98
+ * Less strict version of [`prepend`](#prepend).
99
+ *
100
+ * @example
101
+ * import { prependW } from 'fp-ts/Array'
102
+ * import { pipe } from 'fp-ts/function'
103
+ *
104
+ * assert.deepStrictEqual(pipe([2, 3, 4], prependW("a")), ["a", 2, 3, 4]);
105
+ *
106
+ * @since 2.11.0
107
+ */
108
+ exports.prependW = NEA.prependW;
109
+ /**
110
+ * Append an element to the end of a `Array`, creating a new `NonEmptyArray`.
111
+ *
112
+ * @example
113
+ * import { append } from 'fp-ts/Array'
114
+ * import { pipe } from 'fp-ts/function'
115
+ *
116
+ * assert.deepStrictEqual(pipe([1, 2, 3], append(4)), [1, 2, 3, 4])
117
+ *
118
+ * @since 2.10.0
119
+ */
120
+ exports.append = NEA.append;
121
+ /**
122
+ * Less strict version of [`append`](#append).
123
+ *
124
+ * @example
125
+ * import { appendW } from 'fp-ts/Array'
126
+ * import { pipe } from 'fp-ts/function'
127
+ *
128
+ * assert.deepStrictEqual(pipe([1, 2, 3], appendW("d")), [1, 2, 3, "d"]);
129
+ *
130
+ * @since 2.11.0
131
+ */
132
+ exports.appendW = NEA.appendW;
133
+ /**
134
+ * Return a `Array` of length `n` with element `i` initialized with `f(i)`.
135
+ *
136
+ * **Note**. `n` is normalized to a non negative integer.
137
+ *
138
+ * @example
139
+ * import { makeBy } from 'fp-ts/Array'
140
+ *
141
+ * const double = (i: number): number => i * 2
142
+ * assert.deepStrictEqual(makeBy(5, double), [0, 2, 4, 6, 8])
143
+ * assert.deepStrictEqual(makeBy(-3, double), [])
144
+ * assert.deepStrictEqual(makeBy(4.32164, double), [0, 2, 4, 6])
145
+ *
146
+ * @category constructors
147
+ * @since 2.0.0
148
+ */
149
+ var makeBy = function (n, f) { return (n <= 0 ? [] : NEA.makeBy(f)(n)); };
150
+ exports.makeBy = makeBy;
151
+ /**
152
+ * Create a `Array` containing a value repeated the specified number of times.
153
+ *
154
+ * **Note**. `n` is normalized to a non negative integer.
155
+ *
156
+ * @example
157
+ * import { replicate } from 'fp-ts/Array'
158
+ *
159
+ * assert.deepStrictEqual(replicate(3, 'a'), ['a', 'a', 'a'])
160
+ * assert.deepStrictEqual(replicate(-3, 'a'), [])
161
+ * assert.deepStrictEqual(replicate(2.985647, 'a'), ['a', 'a'])
162
+ *
163
+ * @category constructors
164
+ * @since 2.0.0
165
+ */
166
+ var replicate = function (n, a) { return (0, exports.makeBy)(n, function () { return a; }); };
167
+ exports.replicate = replicate;
168
+ function fromPredicate(predicate) {
169
+ return function (a) { return (predicate(a) ? [a] : []); };
170
+ }
171
+ // -------------------------------------------------------------------------------------
172
+ // conversions
173
+ // -------------------------------------------------------------------------------------
174
+ /**
175
+ * Create an array from an `Option`. The resulting array will contain the content of the
176
+ * `Option` if it is `Some` and it will be empty if the `Option` is `None`.
177
+ *
178
+ * @example
179
+ * import { fromOption } from 'fp-ts/Array'
180
+ * import { option } from "fp-ts";
181
+ * import { pipe } from 'fp-ts/function'
182
+ *
183
+ * assert.deepStrictEqual(pipe(option.some("a"), fromOption),["a"])
184
+ * assert.deepStrictEqual(pipe(option.none, fromOption),[])
185
+ *
186
+ * @category conversions
187
+ * @since 2.11.0
188
+ */
189
+ var fromOption = function (ma) { return (_.isNone(ma) ? [] : [ma.value]); };
190
+ exports.fromOption = fromOption;
191
+ /**
192
+ * Create an array from an `Either`. The resulting array will contain the content of the
193
+ * `Either` if it is `Right` and it will be empty if the `Either` is `Left`.
194
+ *
195
+ * @example
196
+ * import { fromEither } from 'fp-ts/Array'
197
+ * import { either } from "fp-ts";
198
+ * import { pipe } from 'fp-ts/function'
199
+ *
200
+ * assert.deepStrictEqual(pipe(either.right("r"), fromEither), ["r"]);
201
+ * assert.deepStrictEqual(pipe(either.left("l"), fromEither), []);
202
+ *
203
+ * @category conversions
204
+ * @since 2.11.0
205
+ */
206
+ var fromEither = function (e) { return (_.isLeft(e) ? [] : [e.right]); };
207
+ exports.fromEither = fromEither;
208
+ /**
209
+ * Less strict version of [`match`](#match).
210
+ *
211
+ * The `W` suffix (short for **W**idening) means that the handler return types will be merged.
212
+ *
213
+ * @example
214
+ * import { matchW } from 'fp-ts/Array'
215
+ * import { pipe } from 'fp-ts/function'
216
+ *
217
+ * const matcherW = matchW(
218
+ * () => "No elements",
219
+ * (as) => as.length
220
+ * );
221
+ * assert.deepStrictEqual(pipe([1, 2, 3, 4], matcherW), 4);
222
+ * assert.deepStrictEqual(pipe([], matcherW), "No elements");
223
+ *
224
+ * @category pattern matching
225
+ * @since 2.11.0
226
+ */
227
+ var matchW = function (onEmpty, onNonEmpty) {
228
+ return function (as) {
229
+ return (0, exports.isNonEmpty)(as) ? onNonEmpty(as) : onEmpty();
230
+ };
231
+ };
232
+ exports.matchW = matchW;
233
+ /**
234
+ * Takes an array, if the array is empty it returns the result of `onEmpty`, otherwise
235
+ * it passes the array to `onNonEmpty` and returns the result.
236
+ *
237
+ * @example
238
+ * import { match } from 'fp-ts/Array'
239
+ * import { pipe } from 'fp-ts/function'
240
+ *
241
+ * const matcher = match(
242
+ * () => "No elements",
243
+ * (as) => `Found ${as.length} element(s)`
244
+ * );
245
+ * assert.deepStrictEqual(pipe([1, 2, 3, 4], matcher), "Found 4 element(s)");
246
+ * assert.deepStrictEqual(pipe([], matcher), "No elements");
247
+ *
248
+ * @category pattern matching
249
+ * @since 2.11.0
250
+ */
251
+ exports.match = exports.matchW;
252
+ /**
253
+ * Less strict version of [`matchLeft`](#matchleft). It will work when `onEmpty` and
254
+ * `onNonEmpty` have different return types.
255
+ *
256
+ * @example
257
+ * import { matchLeftW } from 'fp-ts/Array'
258
+ *
259
+ * const f = matchLeftW(
260
+ * () => 0,
261
+ * (head: string, tail: string[]) => `Found "${head}" followed by ${tail.length} elements`
262
+ * );
263
+ * assert.strictEqual(f(["a", "b", "c"]), 'Found "a" followed by 2 elements');
264
+ * assert.strictEqual(f([]), 0);
265
+ *
266
+ * @category pattern matching
267
+ * @since 2.11.0
268
+ */
269
+ var matchLeftW = function (onEmpty, onNonEmpty) {
270
+ return function (as) {
271
+ return (0, exports.isNonEmpty)(as) ? onNonEmpty(NEA.head(as), NEA.tail(as)) : onEmpty();
272
+ };
273
+ };
274
+ exports.matchLeftW = matchLeftW;
275
+ /**
276
+ * Takes an array, if the array is empty it returns the result of `onEmpty`, otherwise
277
+ * it passes the array to `onNonEmpty` broken into its first element and remaining elements.
278
+ *
279
+ * @example
280
+ * import { matchLeft } from 'fp-ts/Array'
281
+ *
282
+ * const len: <A>(as: Array<A>) => number = matchLeft(() => 0, (_, tail) => 1 + len(tail))
283
+ * assert.strictEqual(len([1, 2, 3]), 3)
284
+ *
285
+ * @category pattern matching
286
+ * @since 2.10.0
287
+ */
288
+ exports.matchLeft = exports.matchLeftW;
289
+ /**
290
+ * Alias of [`matchLeft`](#matchleft).
291
+ *
292
+ * @category pattern matching
293
+ * @since 2.0.0
294
+ */
295
+ exports.foldLeft = exports.matchLeft;
296
+ /**
297
+ * Less strict version of [`matchRight`](#matchright). It will work when `onEmpty` and
298
+ * `onNonEmpty` have different return types.
299
+ *
300
+ * @example
301
+ * import { matchRightW } from 'fp-ts/Array'
302
+ *
303
+ * const f = matchRightW(
304
+ * () => 0,
305
+ * (head: string[], tail: string) => `Found ${head.length} elements folllowed by "${tail}"`
306
+ * );
307
+ * assert.strictEqual(f(["a", "b", "c"]), 'Found 2 elements folllowed by "c"');
308
+ * assert.strictEqual(f([]), 0);
309
+ *
310
+ * @category pattern matching
311
+ * @since 2.11.0
312
+ */
313
+ var matchRightW = function (onEmpty, onNonEmpty) {
314
+ return function (as) {
315
+ return (0, exports.isNonEmpty)(as) ? onNonEmpty(NEA.init(as), NEA.last(as)) : onEmpty();
316
+ };
317
+ };
318
+ exports.matchRightW = matchRightW;
319
+ /**
320
+ * Takes an array, if the array is empty it returns the result of `onEmpty`, otherwise
321
+ * it passes the array to `onNonEmpty` broken into its initial elements and the last element.
322
+ *
323
+ * @example
324
+ * import { matchRight } from 'fp-ts/Array'
325
+ *
326
+ * const len: <A>(as: Array<A>) => number = matchRight(
327
+ * () => 0,
328
+ * (head, _) => 1 + len(head)
329
+ * );
330
+ * assert.strictEqual(len([1, 2, 3]), 3);
331
+ *
332
+ * @category pattern matching
333
+ * @since 2.10.0
334
+ */
335
+ exports.matchRight = exports.matchRightW;
336
+ /**
337
+ * Alias of [`matchRight`](#matchright).
338
+ *
339
+ * @category pattern matching
340
+ * @since 2.0.0
341
+ */
342
+ exports.foldRight = exports.matchRight;
343
+ // -------------------------------------------------------------------------------------
344
+ // combinators
345
+ // -------------------------------------------------------------------------------------
346
+ /**
347
+ * Same as [`chain`](#chain), but passing also the index to the iterating function.
348
+ *
349
+ * @example
350
+ * import { chainWithIndex, replicate } from 'fp-ts/Array'
351
+ * import { pipe } from 'fp-ts/function'
352
+ *
353
+ * const f = (index: number, x: string) => replicate(2, `${x}${index}`);
354
+ * assert.deepStrictEqual(pipe(["a", "b", "c"], chainWithIndex(f)), ["a0", "a0", "b1", "b1", "c2", "c2"]);
355
+ *
356
+ * @category sequencing
357
+ * @since 2.7.0
358
+ */
359
+ var chainWithIndex = function (f) {
360
+ return function (as) {
361
+ var out = [];
362
+ for (var i = 0; i < as.length; i++) {
363
+ var bs = f(i, as[i]);
364
+ for (var j = 0; j < bs.length; j++) {
365
+ out.push(bs[j]);
366
+ }
367
+ }
368
+ return out;
369
+ };
370
+ };
371
+ exports.chainWithIndex = chainWithIndex;
372
+ /**
373
+ * Same as `reduce` but it carries over the intermediate steps
374
+ *
375
+ * @example
376
+ * import { scanLeft } from 'fp-ts/Array'
377
+ *
378
+ * assert.deepStrictEqual(scanLeft(10, (b, a: number) => b - a)([1, 2, 3]), [10, 9, 7, 4])
379
+ *
380
+ * @since 2.0.0
381
+ */
382
+ var scanLeft = function (b, f) {
383
+ return function (as) {
384
+ var len = as.length;
385
+ var out = new Array(len + 1);
386
+ out[0] = b;
387
+ for (var i = 0; i < len; i++) {
388
+ out[i + 1] = f(out[i], as[i]);
389
+ }
390
+ return out;
391
+ };
392
+ };
393
+ exports.scanLeft = scanLeft;
394
+ /**
395
+ * Fold an array from the right, keeping all intermediate results instead of only the final result
396
+ *
397
+ * @example
398
+ * import { scanRight } from 'fp-ts/Array'
399
+ *
400
+ * assert.deepStrictEqual(scanRight(10, (a: number, b) => b - a)([1, 2, 3]), [4, 5, 7, 10])
401
+ *
402
+ * @since 2.0.0
403
+ */
404
+ var scanRight = function (b, f) {
405
+ return function (as) {
406
+ var len = as.length;
407
+ var out = new Array(len + 1);
408
+ out[len] = b;
409
+ for (var i = len - 1; i >= 0; i--) {
410
+ out[i] = f(as[i], out[i + 1]);
411
+ }
412
+ return out;
413
+ };
414
+ };
415
+ exports.scanRight = scanRight;
416
+ /**
417
+ * Calculate the number of elements in a `Array`.
418
+ *
419
+ * @example
420
+ * import { size } from 'fp-ts/Array'
421
+ *
422
+ * assert.strictEqual(size(["a","b","c"]),3)
423
+ *
424
+ * @since 2.10.0
425
+ */
426
+ var size = function (as) { return as.length; };
427
+ exports.size = size;
428
+ /**
429
+ * Test whether an array contains a particular index
430
+ *
431
+ * @example
432
+ * import { isOutOfBound } from 'fp-ts/Array'
433
+ *
434
+ * assert.strictEqual(isOutOfBound(1,["a","b","c"]),false)
435
+ * assert.strictEqual(isOutOfBound(-1,["a","b","c"]),true)
436
+ * assert.strictEqual(isOutOfBound(3,["a","b","c"]),true)
437
+ *
438
+ * @since 2.0.0
439
+ */
440
+ exports.isOutOfBound = NEA.isOutOfBound;
441
+ // TODO: remove non-curried overloading in v3
442
+ /**
443
+ * This function provides a safe way to read a value at a particular index from an array.
444
+ * It returns a `none` if the index is out of bounds, and a `some` of the element if the
445
+ * index is valid.
446
+ *
447
+ * @example
448
+ * import { lookup } from 'fp-ts/Array'
449
+ * import { some, none } from 'fp-ts/Option'
450
+ * import { pipe } from 'fp-ts/function'
451
+ *
452
+ * assert.deepStrictEqual(pipe([1, 2, 3], lookup(1)), some(2))
453
+ * assert.deepStrictEqual(pipe([1, 2, 3], lookup(3)), none)
454
+ *
455
+ * @since 2.0.0
456
+ */
457
+ exports.lookup = RA.lookup;
458
+ /**
459
+ * Get the first element in an array, or `None` if the array is empty
460
+ *
461
+ * @example
462
+ * import { head } from 'fp-ts/Array'
463
+ * import { some, none } from 'fp-ts/Option'
464
+ *
465
+ * assert.deepStrictEqual(head([1, 2, 3]), some(1))
466
+ * assert.deepStrictEqual(head([]), none)
467
+ *
468
+ * @since 2.0.0
469
+ */
470
+ exports.head = RA.head;
471
+ /**
472
+ * Get the last element in an array, or `None` if the array is empty
473
+ *
474
+ * @example
475
+ * import { last } from 'fp-ts/Array'
476
+ * import { some, none } from 'fp-ts/Option'
477
+ *
478
+ * assert.deepStrictEqual(last([1, 2, 3]), some(3))
479
+ * assert.deepStrictEqual(last([]), none)
480
+ *
481
+ * @since 2.0.0
482
+ */
483
+ exports.last = RA.last;
484
+ /**
485
+ * Get all but the first element of an array, creating a new array, or `None` if the array is empty
486
+ *
487
+ * @example
488
+ * import { tail } from 'fp-ts/Array'
489
+ * import { some, none } from 'fp-ts/Option'
490
+ *
491
+ * assert.deepStrictEqual(tail([1, 2, 3]), some([2, 3]))
492
+ * assert.deepStrictEqual(tail([]), none)
493
+ *
494
+ * @since 2.0.0
495
+ */
496
+ var tail = function (as) { return ((0, exports.isNonEmpty)(as) ? _.some(NEA.tail(as)) : _.none); };
497
+ exports.tail = tail;
498
+ /**
499
+ * Get all but the last element of an array, creating a new array, or `None` if the array is empty
500
+ *
501
+ * @example
502
+ * import { init } from 'fp-ts/Array'
503
+ * import { some, none } from 'fp-ts/Option'
504
+ *
505
+ * assert.deepStrictEqual(init([1, 2, 3]), some([1, 2]))
506
+ * assert.deepStrictEqual(init([]), none)
507
+ *
508
+ * @since 2.0.0
509
+ */
510
+ var init = function (as) { return ((0, exports.isNonEmpty)(as) ? _.some(NEA.init(as)) : _.none); };
511
+ exports.init = init;
512
+ /**
513
+ * Keep only a max number of elements from the start of an `Array`, creating a new `Array`.
514
+ *
515
+ * **Note**. `n` is normalized to a non negative integer.
516
+ *
517
+ * @example
518
+ * import { takeLeft } from 'fp-ts/Array'
519
+ *
520
+ * assert.deepStrictEqual(takeLeft(2)([1, 2, 3, 4, 5]), [1, 2]);
521
+ * assert.deepStrictEqual(takeLeft(7)([1, 2, 3, 4, 5]), [1, 2, 3, 4, 5]);
522
+ * assert.deepStrictEqual(takeLeft(0)([1, 2, 3, 4, 5]), []);
523
+ * assert.deepStrictEqual(takeLeft(-1)([1, 2, 3, 4, 5]), [1, 2, 3, 4, 5]);
524
+ *
525
+ * @since 2.0.0
526
+ */
527
+ var takeLeft = function (n) {
528
+ return function (as) {
529
+ return (0, exports.isOutOfBound)(n, as) ? (0, exports.copy)(as) : as.slice(0, n);
530
+ };
531
+ };
532
+ exports.takeLeft = takeLeft;
533
+ /**
534
+ * Keep only a max number of elements from the end of an `Array`, creating a new `Array`.
535
+ *
536
+ * **Note**. `n` is normalized to a non negative integer.
537
+ *
538
+ * @example
539
+ * import { takeRight } from 'fp-ts/Array'
540
+ *
541
+ * assert.deepStrictEqual(takeRight(2)([1, 2, 3, 4, 5]), [4, 5]);
542
+ * assert.deepStrictEqual(takeRight(7)([1, 2, 3, 4, 5]), [1, 2, 3, 4, 5]);
543
+ * assert.deepStrictEqual(takeRight(0)([1, 2, 3, 4, 5]), []);
544
+ * assert.deepStrictEqual(takeRight(-1)([1, 2, 3, 4, 5]), [1, 2, 3, 4, 5]);
545
+ *
546
+ * @since 2.0.0
547
+ */
548
+ var takeRight = function (n) {
549
+ return function (as) {
550
+ return (0, exports.isOutOfBound)(n, as) ? (0, exports.copy)(as) : n === 0 ? [] : as.slice(-n);
551
+ };
552
+ };
553
+ exports.takeRight = takeRight;
554
+ function takeLeftWhile(predicate) {
555
+ return function (as) {
556
+ var out = [];
557
+ for (var _i = 0, as_1 = as; _i < as_1.length; _i++) {
558
+ var a = as_1[_i];
559
+ if (!predicate(a)) {
560
+ break;
561
+ }
562
+ out.push(a);
563
+ }
564
+ return out;
565
+ };
566
+ }
567
+ var spanLeftIndex = function (as, predicate) {
568
+ var l = as.length;
569
+ var i = 0;
570
+ for (; i < l; i++) {
571
+ if (!predicate(as[i])) {
572
+ break;
573
+ }
574
+ }
575
+ return i;
576
+ };
577
+ function spanLeft(predicate) {
578
+ return function (as) {
579
+ var _a = (0, exports.splitAt)(spanLeftIndex(as, predicate))(as), init = _a[0], rest = _a[1];
580
+ return { init: init, rest: rest };
581
+ };
582
+ }
583
+ /**
584
+ * Creates a new `Array` which is a copy of the input dropping a max number of elements from the start.
585
+ *
586
+ * **Note**. `n` is normalized to a non negative integer.
587
+ *
588
+ * @example
589
+ * import { dropLeft } from 'fp-ts/Array'
590
+ *
591
+ * assert.deepStrictEqual(dropLeft(2)([1, 2, 3]), [3]);
592
+ * assert.deepStrictEqual(dropLeft(5)([1, 2, 3]), []);
593
+ * assert.deepStrictEqual(dropLeft(0)([1, 2, 3]), [1, 2, 3]);
594
+ * assert.deepStrictEqual(dropLeft(-2)([1, 2, 3]), [1, 2, 3]);
595
+ *
596
+ * @since 2.0.0
597
+ */
598
+ var dropLeft = function (n) {
599
+ return function (as) {
600
+ return n <= 0 || (0, exports.isEmpty)(as) ? (0, exports.copy)(as) : n >= as.length ? [] : as.slice(n, as.length);
601
+ };
602
+ };
603
+ exports.dropLeft = dropLeft;
604
+ /**
605
+ * Creates a new `Array` which is a copy of the input dropping a max number of elements from the end.
606
+ *
607
+ * **Note**. `n` is normalized to a non negative integer.
608
+ *
609
+ * @example
610
+ * import { dropRight } from 'fp-ts/Array'
611
+ *
612
+ * assert.deepStrictEqual(dropRight(2)([1, 2, 3]), [1]);
613
+ * assert.deepStrictEqual(dropRight(5)([1, 2, 3]), []);
614
+ * assert.deepStrictEqual(dropRight(0)([1, 2, 3]), [1, 2, 3]);
615
+ * assert.deepStrictEqual(dropRight(-2)([1, 2, 3]), [1, 2, 3]);
616
+ *
617
+ * @since 2.0.0
618
+ */
619
+ var dropRight = function (n) {
620
+ return function (as) {
621
+ return n <= 0 || (0, exports.isEmpty)(as) ? (0, exports.copy)(as) : n >= as.length ? [] : as.slice(0, as.length - n);
622
+ };
623
+ };
624
+ exports.dropRight = dropRight;
625
+ function dropLeftWhile(predicate) {
626
+ return function (as) { return as.slice(spanLeftIndex(as, predicate)); };
627
+ }
628
+ /**
629
+ * `findIndex` returns an `Option` containing the first index for which a predicate holds.
630
+ * It returns `None` if no element satisfies the predicate.
631
+ * Similar to [`findFirst`](#findFirst) but returning the index instead of the element.
632
+ *
633
+ * @example
634
+ * import { findIndex } from 'fp-ts/Array'
635
+ * import { some, none } from 'fp-ts/Option'
636
+ *
637
+ * assert.deepStrictEqual(findIndex((n: number) => n === 2)([1, 2, 3]), some(1))
638
+ * assert.deepStrictEqual(findIndex((n: number) => n === 2)([]), none)
639
+ *
640
+ * @since 2.0.0
641
+ */
642
+ exports.findIndex = RA.findIndex;
643
+ function findFirst(predicate) {
644
+ return RA.findFirst(predicate);
645
+ }
646
+ /**
647
+ * Given a selector function which takes an element and returns an option,
648
+ * this function applies the selector to each element of the array and
649
+ * returns the first `Some` result. Otherwise it returns `None`.
650
+ *
651
+ * @example
652
+ * import { findFirstMap } from 'fp-ts/Array'
653
+ * import { some, none } from 'fp-ts/Option'
654
+ *
655
+ * interface Person {
656
+ * readonly name: string;
657
+ * readonly age: number;
658
+ * }
659
+ *
660
+ * const persons: Array<Person> = [
661
+ * { name: "John", age: 16 },
662
+ * { name: "Mary", age: 45 },
663
+ * { name: "Joey", age: 28 },
664
+ * ];
665
+ *
666
+ * const nameOfPersonAbove18 = (p: Person) => (p.age <= 18 ? none : some(p.name));
667
+ * const nameOfPersonAbove70 = (p: Person) => (p.age <= 70 ? none : some(p.name));
668
+ * assert.deepStrictEqual(findFirstMap(nameOfPersonAbove18)(persons), some("Mary"));
669
+ * assert.deepStrictEqual(findFirstMap(nameOfPersonAbove70)(persons), none);
670
+ *
671
+ * @since 2.0.0
672
+ */
673
+ exports.findFirstMap = RA.findFirstMap;
674
+ function findLast(predicate) {
675
+ return RA.findLast(predicate);
676
+ }
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
+ exports.findLastMap = RA.findLastMap;
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
+ exports.findLastIndex = RA.findLastIndex;
724
+ /**
725
+ * This function takes an array and makes a new array containing the same elements.
726
+ *
727
+ * @since 2.0.0
728
+ */
729
+ var copy = function (as) { return as.slice(); };
730
+ exports.copy = copy;
731
+ /**
732
+ * Insert an element at the specified index, creating a new array,
733
+ * or returning `None` if the index is out of bounds.
734
+ *
735
+ * @example
736
+ * import { insertAt } from 'fp-ts/Array'
737
+ * import { some } from 'fp-ts/Option'
738
+ *
739
+ * assert.deepStrictEqual(insertAt(2, 5)([1, 2, 3, 4]), some([1, 2, 5, 3, 4]))
740
+ *
741
+ * @since 2.0.0
742
+ */
743
+ var insertAt = function (i, a) {
744
+ return function (as) {
745
+ return i < 0 || i > as.length ? _.none : _.some((0, exports.unsafeInsertAt)(i, a, as));
746
+ };
747
+ };
748
+ exports.insertAt = insertAt;
749
+ /**
750
+ * Change the element at the specified index, creating a new array,
751
+ * or returning `None` if the index is out of bounds.
752
+ *
753
+ * @example
754
+ * import { updateAt } from 'fp-ts/Array'
755
+ * import { some, none } from 'fp-ts/Option'
756
+ *
757
+ * assert.deepStrictEqual(updateAt(1, 1)([1, 2, 3]), some([1, 1, 3]))
758
+ * assert.deepStrictEqual(updateAt(1, 1)([]), none)
759
+ *
760
+ * @since 2.0.0
761
+ */
762
+ var updateAt = function (i, a) { return (0, exports.modifyAt)(i, function () { return a; }); };
763
+ exports.updateAt = updateAt;
764
+ /**
765
+ * Delete the element at the specified index, creating a new array, or returning `None` if the index is out of bounds.
766
+ *
767
+ * @example
768
+ * import { deleteAt } from 'fp-ts/Array'
769
+ * import { some, none } from 'fp-ts/Option'
770
+ *
771
+ * assert.deepStrictEqual(deleteAt(0)([1, 2, 3]), some([2, 3]))
772
+ * assert.deepStrictEqual(deleteAt(1)([]), none)
773
+ *
774
+ * @since 2.0.0
775
+ */
776
+ var deleteAt = function (i) {
777
+ return function (as) {
778
+ return (0, exports.isOutOfBound)(i, as) ? _.none : _.some((0, exports.unsafeDeleteAt)(i, as));
779
+ };
780
+ };
781
+ exports.deleteAt = deleteAt;
782
+ /**
783
+ * Apply a function to the element at the specified index, creating a new array, or returning `None` if the index is out
784
+ * of bounds.
785
+ *
786
+ * @example
787
+ * import { modifyAt } from 'fp-ts/Array'
788
+ * import { some, none } from 'fp-ts/Option'
789
+ *
790
+ * const double = (x: number): number => x * 2
791
+ * assert.deepStrictEqual(modifyAt(1, double)([1, 2, 3]), some([1, 4, 3]))
792
+ * assert.deepStrictEqual(modifyAt(1, double)([]), none)
793
+ *
794
+ * @since 2.0.0
795
+ */
796
+ var modifyAt = function (i, f) {
797
+ return function (as) {
798
+ return (0, exports.isOutOfBound)(i, as) ? _.none : _.some((0, exports.unsafeUpdateAt)(i, f(as[i]), as));
799
+ };
800
+ };
801
+ exports.modifyAt = modifyAt;
802
+ /**
803
+ * Reverse an array, creating a new array
804
+ *
805
+ * @example
806
+ * import { reverse } from 'fp-ts/Array'
807
+ *
808
+ * assert.deepStrictEqual(reverse([1, 2, 3]), [3, 2, 1])
809
+ *
810
+ * @since 2.0.0
811
+ */
812
+ var reverse = function (as) { return ((0, exports.isEmpty)(as) ? [] : as.slice().reverse()); };
813
+ exports.reverse = reverse;
814
+ /**
815
+ * Takes an `Array` of `Either` and produces a new `Array` containing
816
+ * the values of all the `Right` elements in the same order.
817
+ *
818
+ * @example
819
+ * import { rights } from 'fp-ts/Array'
820
+ * import { right, left } from 'fp-ts/Either'
821
+ *
822
+ * assert.deepStrictEqual(rights([right(1), left('foo'), right(2)]), [1, 2])
823
+ *
824
+ * @since 2.0.0
825
+ */
826
+ var rights = function (as) {
827
+ var r = [];
828
+ for (var i = 0; i < as.length; i++) {
829
+ var a = as[i];
830
+ if (a._tag === 'Right') {
831
+ r.push(a.right);
832
+ }
833
+ }
834
+ return r;
835
+ };
836
+ exports.rights = rights;
837
+ /**
838
+ * Takes an `Array` of `Either` and produces a new `Array` containing
839
+ * the values of all the `Left` elements in the same order.
840
+ *
841
+ * @example
842
+ * import { lefts } from 'fp-ts/Array'
843
+ * import { left, right } from 'fp-ts/Either'
844
+ *
845
+ * assert.deepStrictEqual(lefts([right(1), left('foo'), right(2)]), ['foo'])
846
+ *
847
+ * @since 2.0.0
848
+ */
849
+ var lefts = function (as) {
850
+ var r = [];
851
+ for (var i = 0; i < as.length; i++) {
852
+ var a = as[i];
853
+ if (a._tag === 'Left') {
854
+ r.push(a.left);
855
+ }
856
+ }
857
+ return r;
858
+ };
859
+ exports.lefts = lefts;
860
+ /**
861
+ * Sort the elements of an array in increasing order, creating a new array
862
+ *
863
+ * @example
864
+ * import { sort } from 'fp-ts/Array'
865
+ * import * as N from 'fp-ts/number'
866
+ *
867
+ * assert.deepStrictEqual(sort(N.Ord)([3, 2, 1]), [1, 2, 3])
868
+ *
869
+ * @since 2.0.0
870
+ */
871
+ var sort = function (O) {
872
+ return function (as) {
873
+ return as.length <= 1 ? (0, exports.copy)(as) : as.slice().sort(O.compare);
874
+ };
875
+ };
876
+ exports.sort = sort;
877
+ /**
878
+ * Apply a function to pairs of elements at the same index in two arrays, collecting the results in a new array. If one
879
+ * input array is short, excess elements of the longer array are discarded.
880
+ *
881
+ * @example
882
+ * import { zipWith } from 'fp-ts/Array'
883
+ *
884
+ * assert.deepStrictEqual(zipWith([1, 2, 3], ['a', 'b', 'c', 'd'], (n, s) => s + n), ['a1', 'b2', 'c3'])
885
+ *
886
+ * @since 2.0.0
887
+ */
888
+ var zipWith = function (fa, fb, f) {
889
+ var fc = [];
890
+ var len = Math.min(fa.length, fb.length);
891
+ for (var i = 0; i < len; i++) {
892
+ fc[i] = f(fa[i], fb[i]);
893
+ }
894
+ return fc;
895
+ };
896
+ exports.zipWith = zipWith;
897
+ function zip(as, bs) {
898
+ if (bs === undefined) {
899
+ return function (bs) { return zip(bs, as); };
900
+ }
901
+ return (0, exports.zipWith)(as, bs, function (a, b) { return [a, b]; });
902
+ }
903
+ /**
904
+ * The function is reverse of `zip`. Takes an array of pairs and return two corresponding arrays
905
+ *
906
+ * @example
907
+ * import { unzip } from 'fp-ts/Array'
908
+ *
909
+ * assert.deepStrictEqual(unzip([[1, 'a'], [2, 'b'], [3, 'c']]), [[1, 2, 3], ['a', 'b', 'c']])
910
+ *
911
+ * @since 2.0.0
912
+ */
913
+ var unzip = function (as) {
914
+ var fa = [];
915
+ var fb = [];
916
+ for (var i = 0; i < as.length; i++) {
917
+ fa[i] = as[i][0];
918
+ fb[i] = as[i][1];
919
+ }
920
+ return [fa, fb];
921
+ };
922
+ exports.unzip = unzip;
923
+ /**
924
+ * Creates a new `Array`, prepending an element to every member of the input `Array`.
925
+ *
926
+ * @example
927
+ * import { prependAll } from 'fp-ts/Array'
928
+ *
929
+ * assert.deepStrictEqual(prependAll(9)([1, 2, 3, 4]), [9, 1, 9, 2, 9, 3, 9, 4])
930
+ *
931
+ * @since 2.10.0
932
+ */
933
+ var prependAll = function (middle) {
934
+ var f = NEA.prependAll(middle);
935
+ return function (as) { return ((0, exports.isNonEmpty)(as) ? f(as) : []); };
936
+ };
937
+ exports.prependAll = prependAll;
938
+ /**
939
+ * Creates a new `Array` placing an element in between members of the input `Array`.
940
+ *
941
+ * @example
942
+ * import { intersperse } from 'fp-ts/Array'
943
+ *
944
+ * assert.deepStrictEqual(intersperse(9)([1, 2, 3, 4]), [1, 9, 2, 9, 3, 9, 4])
945
+ *
946
+ * @since 2.9.0
947
+ */
948
+ var intersperse = function (middle) {
949
+ var f = NEA.intersperse(middle);
950
+ return function (as) { return ((0, exports.isNonEmpty)(as) ? f(as) : (0, exports.copy)(as)); };
951
+ };
952
+ exports.intersperse = intersperse;
953
+ /**
954
+ * Creates a new `Array` rotating the input `Array` by `n` steps.
955
+ *
956
+ * @example
957
+ * import { rotate } from 'fp-ts/Array'
958
+ *
959
+ * assert.deepStrictEqual(rotate(2)([1, 2, 3, 4, 5]), [4, 5, 1, 2, 3])
960
+ *
961
+ * @since 2.0.0
962
+ */
963
+ var rotate = function (n) {
964
+ var f = NEA.rotate(n);
965
+ return function (as) { return ((0, exports.isNonEmpty)(as) ? f(as) : (0, exports.copy)(as)); };
966
+ };
967
+ exports.rotate = rotate;
968
+ // TODO: remove non-curried overloading in v3
969
+ /**
970
+ * Test if a value is a member of an `Array`. Takes a `Eq<A>` as a single
971
+ * argument which returns the function to use to search for a value of type `A` in
972
+ * an `Array<A>`.
973
+ *
974
+ * @example
975
+ * import { elem } from 'fp-ts/Array'
976
+ * import * as N from 'fp-ts/number'
977
+ * import { pipe } from 'fp-ts/function'
978
+ *
979
+ * assert.strictEqual(pipe([1, 2, 3], elem(N.Eq)(2)), true)
980
+ * assert.strictEqual(pipe([1, 2, 3], elem(N.Eq)(0)), false)
981
+ *
982
+ * @since 2.0.0
983
+ */
984
+ exports.elem = RA.elem;
985
+ /**
986
+ * Creates a new `Array` removing duplicate elements, keeping the first occurrence of an element,
987
+ * based on a `Eq<A>`.
988
+ *
989
+ * @example
990
+ * import { uniq } from 'fp-ts/Array'
991
+ * import * as N from 'fp-ts/number'
992
+ *
993
+ * assert.deepStrictEqual(uniq(N.Eq)([1, 2, 1]), [1, 2])
994
+ *
995
+ * @since 2.0.0
996
+ */
997
+ var uniq = function (E) {
998
+ var f = NEA.uniq(E);
999
+ return function (as) { return ((0, exports.isNonEmpty)(as) ? f(as) : (0, exports.copy)(as)); };
1000
+ };
1001
+ exports.uniq = uniq;
1002
+ /**
1003
+ * Sort the elements of an array in increasing order, where elements are compared using first `ords[0]`, then `ords[1]`,
1004
+ * etc...
1005
+ *
1006
+ * @example
1007
+ * import { sortBy } from 'fp-ts/Array'
1008
+ * import { contramap } from 'fp-ts/Ord'
1009
+ * import * as S from 'fp-ts/string'
1010
+ * import * as N from 'fp-ts/number'
1011
+ * import { pipe } from 'fp-ts/function'
1012
+ *
1013
+ * interface Person {
1014
+ * readonly name: string
1015
+ * readonly age: number
1016
+ * }
1017
+ * const byName = pipe(S.Ord, contramap((p: Person) => p.name))
1018
+ * const byAge = pipe(N.Ord, contramap((p: Person) => p.age))
1019
+ *
1020
+ * const sortByNameByAge = sortBy([byName, byAge])
1021
+ *
1022
+ * const persons = [{ name: 'a', age: 1 }, { name: 'b', age: 3 }, { name: 'c', age: 2 }, { name: 'b', age: 2 }]
1023
+ * assert.deepStrictEqual(sortByNameByAge(persons), [
1024
+ * { name: 'a', age: 1 },
1025
+ * { name: 'b', age: 2 },
1026
+ * { name: 'b', age: 3 },
1027
+ * { name: 'c', age: 2 }
1028
+ * ])
1029
+ *
1030
+ * @since 2.0.0
1031
+ */
1032
+ var sortBy = function (ords) {
1033
+ var f = NEA.sortBy(ords);
1034
+ return function (as) { return ((0, exports.isNonEmpty)(as) ? f(as) : (0, exports.copy)(as)); };
1035
+ };
1036
+ exports.sortBy = sortBy;
1037
+ /**
1038
+ * A useful recursion pattern for processing an array to produce a new array, often used for "chopping" up the input
1039
+ * array. Typically chop is called with some function that will consume an initial prefix of the array and produce a
1040
+ * value and the rest of the array.
1041
+ *
1042
+ * @example
1043
+ * import { Eq } from 'fp-ts/Eq'
1044
+ * import * as A from 'fp-ts/Array'
1045
+ * import * as N from 'fp-ts/number'
1046
+ * import { pipe } from 'fp-ts/function'
1047
+ *
1048
+ * const group = <A>(S: Eq<A>): ((as: Array<A>) => Array<Array<A>>) => {
1049
+ * return A.chop(as => {
1050
+ * const { init, rest } = pipe(as, A.spanLeft((a: A) => S.equals(a, as[0])))
1051
+ * return [init, rest]
1052
+ * })
1053
+ * }
1054
+ * assert.deepStrictEqual(group(N.Eq)([1, 1, 2, 3, 3, 4]), [[1, 1], [2], [3, 3], [4]])
1055
+ *
1056
+ * @since 2.0.0
1057
+ */
1058
+ var chop = function (f) {
1059
+ var g = NEA.chop(f);
1060
+ return function (as) { return ((0, exports.isNonEmpty)(as) ? g(as) : []); };
1061
+ };
1062
+ exports.chop = chop;
1063
+ /**
1064
+ * Splits an `Array` into two pieces, the first piece has max `n` elements.
1065
+ *
1066
+ * @example
1067
+ * import { splitAt } from 'fp-ts/Array'
1068
+ *
1069
+ * assert.deepStrictEqual(splitAt(2)([1, 2, 3, 4, 5]), [[1, 2], [3, 4, 5]])
1070
+ *
1071
+ * @since 2.0.0
1072
+ */
1073
+ var splitAt = function (n) {
1074
+ return function (as) {
1075
+ return n >= 1 && (0, exports.isNonEmpty)(as) ? NEA.splitAt(n)(as) : (0, exports.isEmpty)(as) ? [(0, exports.copy)(as), []] : [[], (0, exports.copy)(as)];
1076
+ };
1077
+ };
1078
+ exports.splitAt = splitAt;
1079
+ /**
1080
+ * Splits an array into length-`n` pieces. The last piece will be shorter if `n` does not evenly divide the length of
1081
+ * the array. Note that `chunksOf(n)([])` is `[]`, not `[[]]`. This is intentional, and is consistent with a recursive
1082
+ * definition of `chunksOf`; it satisfies the property that
1083
+ *
1084
+ * ```ts
1085
+ * chunksOf(n)(xs).concat(chunksOf(n)(ys)) == chunksOf(n)(xs.concat(ys)))
1086
+ * ```
1087
+ *
1088
+ * whenever `n` evenly divides the length of `xs`.
1089
+ *
1090
+ * @example
1091
+ * import { chunksOf } from 'fp-ts/Array'
1092
+ *
1093
+ * assert.deepStrictEqual(chunksOf(2)([1, 2, 3, 4, 5]), [[1, 2], [3, 4], [5]])
1094
+ *
1095
+ * @since 2.0.0
1096
+ */
1097
+ var chunksOf = function (n) {
1098
+ var f = NEA.chunksOf(n);
1099
+ return function (as) { return ((0, exports.isNonEmpty)(as) ? f(as) : []); };
1100
+ };
1101
+ exports.chunksOf = chunksOf;
1102
+ /**
1103
+ * @category lifting
1104
+ * @since 2.11.0
1105
+ */
1106
+ var fromOptionK = function (f) {
1107
+ return function () {
1108
+ var a = [];
1109
+ for (var _i = 0; _i < arguments.length; _i++) {
1110
+ a[_i] = arguments[_i];
1111
+ }
1112
+ return (0, exports.fromOption)(f.apply(void 0, a));
1113
+ };
1114
+ };
1115
+ exports.fromOptionK = fromOptionK;
1116
+ function comprehension(input, f, g) {
1117
+ if (g === void 0) { g = function () { return true; }; }
1118
+ var go = function (scope, input) {
1119
+ return (0, exports.isNonEmpty)(input)
1120
+ ? (0, exports.flatMap)(NEA.head(input), function (a) { return go((0, function_1.pipe)(scope, (0, exports.append)(a)), NEA.tail(input)); })
1121
+ : g.apply(void 0, scope) ? [f.apply(void 0, scope)]
1122
+ : [];
1123
+ };
1124
+ return go([], input);
1125
+ }
1126
+ /**
1127
+ * @since 2.11.0
1128
+ */
1129
+ var concatW = function (second) {
1130
+ return function (first) {
1131
+ return (0, exports.isEmpty)(first) ? (0, exports.copy)(second) : (0, exports.isEmpty)(second) ? (0, exports.copy)(first) : first.concat(second);
1132
+ };
1133
+ };
1134
+ exports.concatW = concatW;
1135
+ /**
1136
+ * @since 2.11.0
1137
+ */
1138
+ exports.concat = exports.concatW;
1139
+ function union(E) {
1140
+ var unionE = NEA.union(E);
1141
+ return function (first, second) {
1142
+ if (second === undefined) {
1143
+ var unionE_1 = union(E);
1144
+ return function (second) { return unionE_1(second, first); };
1145
+ }
1146
+ return (0, exports.isNonEmpty)(first) && (0, exports.isNonEmpty)(second)
1147
+ ? unionE(second)(first)
1148
+ : (0, exports.isNonEmpty)(first)
1149
+ ? (0, exports.copy)(first)
1150
+ : (0, exports.copy)(second);
1151
+ };
1152
+ }
1153
+ function intersection(E) {
1154
+ var elemE = (0, exports.elem)(E);
1155
+ return function (xs, ys) {
1156
+ if (ys === undefined) {
1157
+ var intersectionE_1 = intersection(E);
1158
+ return function (ys) { return intersectionE_1(ys, xs); };
1159
+ }
1160
+ return xs.filter(function (a) { return elemE(a, ys); });
1161
+ };
1162
+ }
1163
+ function difference(E) {
1164
+ var elemE = (0, exports.elem)(E);
1165
+ return function (xs, ys) {
1166
+ if (ys === undefined) {
1167
+ var differenceE_1 = difference(E);
1168
+ return function (ys) { return differenceE_1(ys, xs); };
1169
+ }
1170
+ return xs.filter(function (a) { return !elemE(a, ys); });
1171
+ };
1172
+ }
1173
+ var _map = function (fa, f) { return (0, function_1.pipe)(fa, (0, exports.map)(f)); };
1174
+ /* istanbul ignore next */
1175
+ var _mapWithIndex = function (fa, f) { return (0, function_1.pipe)(fa, (0, exports.mapWithIndex)(f)); };
1176
+ var _ap = function (fab, fa) { return (0, function_1.pipe)(fab, (0, exports.ap)(fa)); };
1177
+ /* istanbul ignore next */
1178
+ var _filter = function (fa, predicate) { return (0, function_1.pipe)(fa, (0, exports.filter)(predicate)); };
1179
+ /* istanbul ignore next */
1180
+ var _filterMap = function (fa, f) { return (0, function_1.pipe)(fa, (0, exports.filterMap)(f)); };
1181
+ /* istanbul ignore next */
1182
+ var _partition = function (fa, predicate) {
1183
+ return (0, function_1.pipe)(fa, (0, exports.partition)(predicate));
1184
+ };
1185
+ /* istanbul ignore next */
1186
+ var _partitionMap = function (fa, f) { return (0, function_1.pipe)(fa, (0, exports.partitionMap)(f)); };
1187
+ /* istanbul ignore next */
1188
+ var _partitionWithIndex = function (fa, predicateWithIndex) { return (0, function_1.pipe)(fa, (0, exports.partitionWithIndex)(predicateWithIndex)); };
1189
+ /* istanbul ignore next */
1190
+ var _partitionMapWithIndex = function (fa, f) { return (0, function_1.pipe)(fa, (0, exports.partitionMapWithIndex)(f)); };
1191
+ /* istanbul ignore next */
1192
+ var _alt = function (fa, that) { return (0, function_1.pipe)(fa, (0, exports.alt)(that)); };
1193
+ var _reduce = function (fa, b, f) { return (0, function_1.pipe)(fa, (0, exports.reduce)(b, f)); };
1194
+ /* istanbul ignore next */
1195
+ var _foldMap = function (M) {
1196
+ var foldMapM = (0, exports.foldMap)(M);
1197
+ return function (fa, f) { return (0, function_1.pipe)(fa, foldMapM(f)); };
1198
+ };
1199
+ /* istanbul ignore next */
1200
+ var _reduceRight = function (fa, b, f) { return (0, function_1.pipe)(fa, (0, exports.reduceRight)(b, f)); };
1201
+ /* istanbul ignore next */
1202
+ var _reduceWithIndex = function (fa, b, f) {
1203
+ return (0, function_1.pipe)(fa, (0, exports.reduceWithIndex)(b, f));
1204
+ };
1205
+ /* istanbul ignore next */
1206
+ var _foldMapWithIndex = function (M) {
1207
+ var foldMapWithIndexM = (0, exports.foldMapWithIndex)(M);
1208
+ return function (fa, f) { return (0, function_1.pipe)(fa, foldMapWithIndexM(f)); };
1209
+ };
1210
+ /* istanbul ignore next */
1211
+ var _reduceRightWithIndex = function (fa, b, f) {
1212
+ return (0, function_1.pipe)(fa, (0, exports.reduceRightWithIndex)(b, f));
1213
+ };
1214
+ /* istanbul ignore next */
1215
+ var _filterMapWithIndex = function (fa, f) { return (0, function_1.pipe)(fa, (0, exports.filterMapWithIndex)(f)); };
1216
+ /* istanbul ignore next */
1217
+ var _filterWithIndex = function (fa, predicateWithIndex) { return (0, function_1.pipe)(fa, (0, exports.filterWithIndex)(predicateWithIndex)); };
1218
+ /* istanbul ignore next */
1219
+ var _extend = function (fa, f) { return (0, function_1.pipe)(fa, (0, exports.extend)(f)); };
1220
+ /* istanbul ignore next */
1221
+ var _traverse = function (F) {
1222
+ var traverseF = (0, exports.traverse)(F);
1223
+ return function (ta, f) { return (0, function_1.pipe)(ta, traverseF(f)); };
1224
+ };
1225
+ /* istanbul ignore next */
1226
+ var _traverseWithIndex = function (F) {
1227
+ var traverseWithIndexF = (0, exports.traverseWithIndex)(F);
1228
+ return function (ta, f) { return (0, function_1.pipe)(ta, traverseWithIndexF(f)); };
1229
+ };
1230
+ var _chainRecDepthFirst = RA._chainRecDepthFirst;
1231
+ var _chainRecBreadthFirst = RA._chainRecBreadthFirst;
1232
+ /**
1233
+ * Given an element of the base type, `of` builds an `Array` containing just that
1234
+ * element of the base type (this is useful for building a `Monad`).
1235
+ *
1236
+ * @example
1237
+ * import { of } from 'fp-ts/Array'
1238
+ *
1239
+ * assert.deepStrictEqual(of("a"), ["a"]);
1240
+ *
1241
+ * @category constructors
1242
+ * @since 2.0.0
1243
+ */
1244
+ exports.of = NEA.of;
1245
+ /**
1246
+ * Makes an empty `Array`, useful for building a [`Monoid`](#Monoid)
1247
+ *
1248
+ * @since 2.7.0
1249
+ */
1250
+ var zero = function () { return []; };
1251
+ exports.zero = zero;
1252
+ /**
1253
+ * `map` can be used to turn functions `(a: A) => B` into functions `(fa: Array<A>) => Array<B>`.
1254
+ * In practice it applies the base function to each element of the array and collects the
1255
+ * results in a new array.
1256
+ *
1257
+ * @example
1258
+ * import { map } from 'fp-ts/Array'
1259
+ * import { pipe } from 'fp-ts/function'
1260
+ *
1261
+ * const f = (n: number) => n * 2;
1262
+ * assert.deepStrictEqual(pipe([1, 2, 3], map(f)), [2, 4, 6]);
1263
+ *
1264
+ * @category mapping
1265
+ * @since 2.0.0
1266
+ */
1267
+ var map = function (f) { return function (fa) { return fa.map(function (a) { return f(a); }); }; };
1268
+ exports.map = map;
1269
+ /**
1270
+ * @example
1271
+ * import { ap, map, of } from 'fp-ts/Array'
1272
+ * import { pipe } from 'fp-ts/function'
1273
+ *
1274
+ * // a curried function with 3 input parameteres
1275
+ * const f = (s1: string) => (n: number) => (s2: string) => s1 + n + s2;
1276
+ *
1277
+ * // let's use `ap` to iterate `f` over an array for each input parameter
1278
+ * assert.deepStrictEqual(pipe(["a", "b"], map(f), ap([1, 2]), ap(["😀", "😫", "😎"])), [
1279
+ * "a1😀", "a1😫", "a1😎",
1280
+ * "a2😀", "a2😫", "a2😎",
1281
+ * "b1😀", "b1😫", "b1😎",
1282
+ * "b2😀", "b2😫", "b2😎",
1283
+ * ]);
1284
+ *
1285
+ * // given Array implements the Applicative interface with the `of` method,
1286
+ * // we can write exactly the same thing in a more symmetric way
1287
+ * // using `of` on `f` and `ap` on each array in input
1288
+ * assert.deepStrictEqual(
1289
+ * pipe(of(f), ap(["a", "b"]), ap([1, 2]), ap(["😀", "😫", "😎"])),
1290
+ * pipe(["a", "b"], map(f), ap([1, 2]), ap(["😀", "😫", "😎"]))
1291
+ * );
1292
+ *
1293
+ * @since 2.0.0
1294
+ */
1295
+ var ap = function (fa) {
1296
+ return (0, exports.flatMap)(function (f) { return (0, function_1.pipe)(fa, (0, exports.map)(f)); });
1297
+ };
1298
+ exports.ap = ap;
1299
+ /**
1300
+ * Composes computations in sequence, using the return value of one computation to
1301
+ * determine the next computation.
1302
+ *
1303
+ * In other words it takes a function `f` that produces an array from a single element of
1304
+ * the base type `A` and returns a new function which applies `f` to each element of the
1305
+ * input array (like [`map`](#map)) and, instead of returning an array of arrays, concatenates the
1306
+ * results into a single array (like [`flatten`](#flatten)).
1307
+ *
1308
+ * @example
1309
+ * import { flatMap, map, replicate } from 'fp-ts/Array'
1310
+ * import { pipe } from 'fp-ts/function'
1311
+ *
1312
+ * const f = (n: number) => replicate(n, `${n}`);
1313
+ * assert.deepStrictEqual(pipe([1, 2, 3], map(f)), [["1"], ["2", "2"], ["3", "3", "3"]]);
1314
+ * assert.deepStrictEqual(pipe([1, 2, 3], flatMap(f)), ["1", "2", "2", "3", "3", "3"]);
1315
+ *
1316
+ * @category sequencing
1317
+ * @since 2.14.0
1318
+ */
1319
+ exports.flatMap = (0, function_1.dual)(2, function (ma, f) {
1320
+ return (0, function_1.pipe)(ma, (0, exports.chainWithIndex)(function (i, a) { return f(a, i); }));
1321
+ });
1322
+ /**
1323
+ * Takes an array of arrays of `A` and flattens them into an array of `A`
1324
+ * by concatenating the elements of each array in order.
1325
+ *
1326
+ * @example
1327
+ * import { flatten } from 'fp-ts/Array'
1328
+ *
1329
+ * assert.deepStrictEqual(flatten([["a"], ["b", "c"], ["d", "e", "f"]]), ["a", "b", "c", "d", "e", "f"]);
1330
+ *
1331
+ * @category sequencing
1332
+ * @since 2.5.0
1333
+ */
1334
+ exports.flatten = (0, exports.flatMap)(function_1.identity);
1335
+ /**
1336
+ * Same as [`map`](#map), but the iterating function takes both the index and the value
1337
+ * of the element.
1338
+ *
1339
+ * @example
1340
+ * import { mapWithIndex } from 'fp-ts/Array'
1341
+ * import { pipe } from 'fp-ts/function'
1342
+ *
1343
+ * const f = (i: number, s: string) => `${s} - ${i}`;
1344
+ * assert.deepStrictEqual(pipe(["a", "b", "c"], mapWithIndex(f)), ["a - 0", "b - 1", "c - 2"]);
1345
+ *
1346
+ * @category mapping
1347
+ * @since 2.0.0
1348
+ */
1349
+ var mapWithIndex = function (f) { return function (fa) {
1350
+ return fa.map(function (a, i) { return f(i, a); });
1351
+ }; };
1352
+ exports.mapWithIndex = mapWithIndex;
1353
+ /**
1354
+ * Maps an array with an iterating function that takes the index and the value of
1355
+ * each element and returns an `Option`. It keeps only the `Some` values discarding
1356
+ * the `None`s.
1357
+ *
1358
+ * Same as [`filterMap`](#filterMap), but with an iterating function which takes also
1359
+ * the index as input.
1360
+ *
1361
+ * @example
1362
+ * import { filterMapWithIndex } from 'fp-ts/Array'
1363
+ * import { pipe } from 'fp-ts/function'
1364
+ * import { option } from "fp-ts";
1365
+ *
1366
+ * const f = (i: number, s: string) => (i % 2 === 1 ? option.some(s.toUpperCase()) : option.none);
1367
+ * assert.deepStrictEqual(pipe(["a", "no", "neither", "b"], filterMapWithIndex(f)), ["NO", "B"]);
1368
+ *
1369
+ * @category filtering
1370
+ * @since 2.0.0
1371
+ */
1372
+ var filterMapWithIndex = function (f) {
1373
+ return function (fa) {
1374
+ var out = [];
1375
+ for (var i = 0; i < fa.length; i++) {
1376
+ var optionB = f(i, fa[i]);
1377
+ if (_.isSome(optionB)) {
1378
+ out.push(optionB.value);
1379
+ }
1380
+ }
1381
+ return out;
1382
+ };
1383
+ };
1384
+ exports.filterMapWithIndex = filterMapWithIndex;
1385
+ /**
1386
+ * Maps an array with an iterating function that returns an `Option`
1387
+ * and it keeps only the `Some` values discarding the `None`s.
1388
+ *
1389
+ * @example
1390
+ * import { filterMap } from 'fp-ts/Array'
1391
+ * import { pipe } from 'fp-ts/function'
1392
+ * import { option } from "fp-ts";
1393
+ *
1394
+ * const f = (s: string) => s.length === 1 ? option.some(s.toUpperCase()) : option.none;
1395
+ * assert.deepStrictEqual(pipe(["a", "no", "neither", "b"], filterMap(f)), ["A", "B"]);
1396
+ *
1397
+ * @category filtering
1398
+ * @since 2.0.0
1399
+ */
1400
+ var filterMap = function (f) {
1401
+ return (0, exports.filterMapWithIndex)(function (_, a) { return f(a); });
1402
+ };
1403
+ exports.filterMap = filterMap;
1404
+ /**
1405
+ * Compact an array of `Option`s discarding the `None` values and
1406
+ * keeping the `Some` values. It returns a new array containing the values of
1407
+ * the `Some` options.
1408
+ *
1409
+ * @example
1410
+ * import { compact } from 'fp-ts/Array'
1411
+ * import { option } from "fp-ts";
1412
+ *
1413
+ * assert.deepStrictEqual(compact([option.some("a"), option.none, option.some("b")]), ["a", "b"]);
1414
+ *
1415
+ * @category filtering
1416
+ * @since 2.0.0
1417
+ */
1418
+ exports.compact = (0, exports.filterMap)(function_1.identity);
1419
+ /**
1420
+ * Separate an array of `Either`s into `Left`s and `Right`s, creating two new arrays:
1421
+ * one containing all the left values and one containing all the right values.
1422
+ *
1423
+ * @example
1424
+ * import { separate } from 'fp-ts/Array'
1425
+ * import { either } from "fp-ts";
1426
+ *
1427
+ * assert.deepStrictEqual(separate([either.right("r1"), either.left("l1"), either.right("r2")]), {
1428
+ * left: ["l1"],
1429
+ * right: ["r1", "r2"],
1430
+ * });
1431
+ *
1432
+ * @category filtering
1433
+ * @since 2.0.0
1434
+ */
1435
+ var separate = function (fa) {
1436
+ var left = [];
1437
+ var right = [];
1438
+ for (var _i = 0, fa_1 = fa; _i < fa_1.length; _i++) {
1439
+ var e = fa_1[_i];
1440
+ if (e._tag === 'Left') {
1441
+ left.push(e.left);
1442
+ }
1443
+ else {
1444
+ right.push(e.right);
1445
+ }
1446
+ }
1447
+ return (0, Separated_1.separated)(left, right);
1448
+ };
1449
+ exports.separate = separate;
1450
+ /**
1451
+ * Given an iterating function that is a `Predicate` or a `Refinement`,
1452
+ * `filter` creates a new `Array` containing the elements of the original
1453
+ * `Array` for which the iterating function is `true`.
1454
+ *
1455
+ * @example
1456
+ * import { filter } from 'fp-ts/Array'
1457
+ * import { isString } from "fp-ts/string";
1458
+ *
1459
+ * assert.deepStrictEqual(filter(isString)(["a", 1, {}, "b", 5]), ["a", "b"]);
1460
+ * assert.deepStrictEqual(filter((x:number) => x > 0)([-3, 1, -2, 5]), [1, 5]);
1461
+ *
1462
+ * @category filtering
1463
+ * @since 2.0.0
1464
+ */
1465
+ var filter = function (predicate) {
1466
+ return function (as) {
1467
+ return as.filter(predicate);
1468
+ };
1469
+ };
1470
+ exports.filter = filter;
1471
+ /**
1472
+ * Given an iterating function that is a `Predicate` or a `Refinement`,
1473
+ * `partition` creates two new `Array`s: `right` containing the elements of the original
1474
+ * `Array` for which the iterating function is `true`, `left` containing the elements
1475
+ * for which it is false.
1476
+ *
1477
+ * @example
1478
+ * import { partition } from 'fp-ts/Array'
1479
+ * import { isString } from "fp-ts/string";
1480
+ *
1481
+ * assert.deepStrictEqual(partition(isString)(["a", 1, {}, "b", 5]), { left: [1, {}, 5], right: ["a", "b"] });
1482
+ * assert.deepStrictEqual(partition((x: number) => x > 0)([-3, 1, -2, 5]), { left: [-3, -2], right: [1, 5] });
1483
+ *
1484
+ * @category filtering
1485
+ * @since 2.0.0
1486
+ */
1487
+ var partition = function (predicate) {
1488
+ return (0, exports.partitionWithIndex)(function (_, a) { return predicate(a); });
1489
+ };
1490
+ exports.partition = partition;
1491
+ /**
1492
+ * Same as [`partition`](#partition), but passing also the index to the iterating function.
1493
+ *
1494
+ * @example
1495
+ * import { partitionWithIndex } from 'fp-ts/Array'
1496
+ *
1497
+ * assert.deepStrictEqual(partitionWithIndex((index, x: number) => index < 3 && x > 0)([-2, 5, 6, 7]), {
1498
+ * left: [-2, 7],
1499
+ * right: [5, 6],
1500
+ * });
1501
+ *
1502
+ * @category filtering
1503
+ * @since 2.0.0
1504
+ */
1505
+ var partitionWithIndex = function (predicateWithIndex) {
1506
+ return function (as) {
1507
+ var left = [];
1508
+ var right = [];
1509
+ for (var i = 0; i < as.length; i++) {
1510
+ var b = as[i];
1511
+ if (predicateWithIndex(i, b)) {
1512
+ right.push(b);
1513
+ }
1514
+ else {
1515
+ left.push(b);
1516
+ }
1517
+ }
1518
+ return (0, Separated_1.separated)(left, right);
1519
+ };
1520
+ };
1521
+ exports.partitionWithIndex = partitionWithIndex;
1522
+ /**
1523
+ * Given an iterating function that returns an `Either`,
1524
+ * `partitionMap` applies the iterating function to each element and it creates two `Array`s:
1525
+ * `right` containing the values of `Right` results, `left` containing the values of `Left` results.
1526
+ *
1527
+ * @example
1528
+ * import { partitionMap } from 'fp-ts/Array'
1529
+ * import { Either, left, right } from "fp-ts/Either";
1530
+ *
1531
+ * const upperIfString = <B>(x: B): Either<B, string> =>
1532
+ * typeof x === "string" ? right(x.toUpperCase()) : left(x);
1533
+ * assert.deepStrictEqual(partitionMap(upperIfString)([-2, "hello", 6, 7, "world"]), {
1534
+ * left: [-2, 6, 7],
1535
+ * right: [ 'HELLO', 'WORLD' ],
1536
+ * });
1537
+ *
1538
+ * @category filtering
1539
+ * @since 2.0.0
1540
+ */
1541
+ var partitionMap = function (f) { return (0, exports.partitionMapWithIndex)(function (_, a) { return f(a); }); };
1542
+ exports.partitionMap = partitionMap;
1543
+ /**
1544
+ * Same as [`partitionMap`](#partitionMap), but passing also the index to the iterating function.
1545
+ *
1546
+ * @example
1547
+ * import { partitionMapWithIndex } from 'fp-ts/Array'
1548
+ * import { Either, left, right } from "fp-ts/Either";
1549
+ *
1550
+ * const upperIfStringBefore3 = <B>(index: number, x: B): Either<B, string> =>
1551
+ * index < 3 && typeof x === "string" ? right(x.toUpperCase()) : left(x);
1552
+ * assert.deepStrictEqual(partitionMapWithIndex(upperIfStringBefore3)([-2, "hello", 6, 7, "world"]), {
1553
+ * left: [-2, 6, 7, "world"],
1554
+ * right: ["HELLO"],
1555
+ * });
1556
+ *
1557
+ * @category filtering
1558
+ * @since 2.0.0
1559
+ */
1560
+ var partitionMapWithIndex = function (f) {
1561
+ return function (fa) {
1562
+ var left = [];
1563
+ var right = [];
1564
+ for (var i = 0; i < fa.length; i++) {
1565
+ var e = f(i, fa[i]);
1566
+ if (e._tag === 'Left') {
1567
+ left.push(e.left);
1568
+ }
1569
+ else {
1570
+ right.push(e.right);
1571
+ }
1572
+ }
1573
+ return (0, Separated_1.separated)(left, right);
1574
+ };
1575
+ };
1576
+ exports.partitionMapWithIndex = partitionMapWithIndex;
1577
+ /**
1578
+ * Less strict version of [`alt`](#alt).
1579
+ *
1580
+ * The `W` suffix (short for **W**idening) means that the return types will be merged.
1581
+ *
1582
+ * @example
1583
+ * import * as A from 'fp-ts/Array'
1584
+ * import { pipe } from 'fp-ts/function'
1585
+ *
1586
+ * assert.deepStrictEqual(
1587
+ * pipe(
1588
+ * [1, 2, 3],
1589
+ * A.altW(() => ['a', 'b'])
1590
+ * ),
1591
+ * [1, 2, 3, 'a', 'b']
1592
+ * )
1593
+ *
1594
+ * @category error handling
1595
+ * @since 2.9.0
1596
+ */
1597
+ var altW = function (that) {
1598
+ return function (fa) {
1599
+ return fa.concat(that());
1600
+ };
1601
+ };
1602
+ exports.altW = altW;
1603
+ /**
1604
+ * Identifies an associative operation on a type constructor. It is similar to `Semigroup`, except that it applies to
1605
+ * types of kind `* -> *`.
1606
+ *
1607
+ * In case of `Array` concatenates the inputs into a single array.
1608
+ *
1609
+ * @example
1610
+ * import * as A from 'fp-ts/Array'
1611
+ * import { pipe } from 'fp-ts/function'
1612
+ *
1613
+ * assert.deepStrictEqual(
1614
+ * pipe(
1615
+ * [1, 2, 3],
1616
+ * A.alt(() => [4, 5])
1617
+ * ),
1618
+ * [1, 2, 3, 4, 5]
1619
+ * )
1620
+ *
1621
+ * @category error handling
1622
+ * @since 2.0.0
1623
+ */
1624
+ exports.alt = exports.altW;
1625
+ /**
1626
+ * Same as [`filter`](#filter), but passing also the index to the iterating function.
1627
+ *
1628
+ * @example
1629
+ * import { filterWithIndex } from 'fp-ts/Array';
1630
+ *
1631
+ * const f = (index: number, x: number) => x > 0 && index <= 2;
1632
+ * assert.deepStrictEqual(filterWithIndex(f)([-3, 1, -2, 5]), [1]);
1633
+ *
1634
+ * @category filtering
1635
+ * @since 2.0.0
1636
+ */
1637
+ var filterWithIndex = function (predicateWithIndex) {
1638
+ return function (as) {
1639
+ return as.filter(function (b, i) { return predicateWithIndex(i, b); });
1640
+ };
1641
+ };
1642
+ exports.filterWithIndex = filterWithIndex;
1643
+ /**
1644
+ * Given an iterating function that takes `Array<A>` as input, `extend` returns
1645
+ * an array containing the results of the iterating function applied to the whole input
1646
+ * `Array`, then to the input `Array` without the first element, then to the input
1647
+ * `Array` without the first two elements, etc.
1648
+ *
1649
+ * @example
1650
+ * import { extend } from 'fp-ts/Array'
1651
+ *
1652
+ * const f = (a: string[]) => a.join(",");
1653
+ * assert.deepStrictEqual(extend(f)(["a", "b", "c"]), ["a,b,c", "b,c", "c"]);
1654
+ *
1655
+ * @since 2.0.0
1656
+ */
1657
+ var extend = function (f) { return function (wa) {
1658
+ return wa.map(function (_, i) { return f(wa.slice(i)); });
1659
+ }; };
1660
+ exports.extend = extend;
1661
+ /**
1662
+ * `duplicate` returns an array containing the whole input `Array`,
1663
+ * then to the input `Array` dropping the first element, then to the input
1664
+ * `Array` dropping the first two elements, etc.
1665
+ *
1666
+ * @example
1667
+ * import { duplicate } from 'fp-ts/Array'
1668
+ *
1669
+ * assert.deepStrictEqual(duplicate(["a", "b", "c"]), [["a", "b", "c"], ["b", "c"], ["c"]]);
1670
+ *
1671
+ * @since 2.0.0
1672
+ */
1673
+ exports.duplicate = (0, exports.extend)(function_1.identity);
1674
+ /**
1675
+ * Map and fold an `Array`.
1676
+ * Map the `Array` passing each value to the iterating function.
1677
+ * Then fold the results using the provided `Monoid`.
1678
+ *
1679
+ * @example
1680
+ * import { foldMap } from 'fp-ts/Array'
1681
+ *
1682
+ * const monoid = { concat: (a: string, b: string) => a + b, empty: "" };
1683
+ * const f = (s: string) => s.toUpperCase()
1684
+ * assert.deepStrictEqual(foldMap(monoid)(f)(["a", "b", "c"]), "ABC");
1685
+ *
1686
+ * @category folding
1687
+ * @since 2.0.0
1688
+ */
1689
+ exports.foldMap = RA.foldMap;
1690
+ /**
1691
+ * Same as [`foldMap`](#foldMap) but passing also the index to the iterating function.
1692
+ *
1693
+ * @example
1694
+ * import { foldMapWithIndex } from 'fp-ts/Array'
1695
+ *
1696
+ * const monoid = { concat: (a: string, b: string) => a + b, empty: "" };
1697
+ * const f = (index:number, s: string) => `${s.toUpperCase()}(${index})`
1698
+ * assert.deepStrictEqual(foldMapWithIndex(monoid)(f)(["a", "b", "c"]), "A(0)B(1)C(2)");
1699
+ *
1700
+ * @category folding
1701
+ * @since 2.0.0
1702
+ */
1703
+ exports.foldMapWithIndex = RA.foldMapWithIndex;
1704
+ /**
1705
+ * Reduces an `Array`.
1706
+ *
1707
+ * `reduce` executes the supplied iterating function on each element of the array,
1708
+ * in order, passing in the element and the return value from the calculation on the preceding element.
1709
+ *
1710
+ * The first time that the iterating function is called there is no "return value of the
1711
+ * previous calculation", the initial value is used in its place.
1712
+ *
1713
+ * @example
1714
+ * import { reduce } from 'fp-ts/Array'
1715
+ *
1716
+ * assert.deepStrictEqual(reduce(5, (acc: number, cur: number) => acc * cur)([2, 3]), 5 * 2 * 3);
1717
+ *
1718
+ * @category folding
1719
+ * @since 2.0.0
1720
+ */
1721
+ exports.reduce = RA.reduce;
1722
+ /**
1723
+ * Same as [`reduce`](#reduce) but passing also the index to the iterating function.
1724
+ *
1725
+ * @example
1726
+ * import { reduceWithIndex } from 'fp-ts/Array'
1727
+ *
1728
+ * const f = (index: number, acc: string, cur: unknown) =>
1729
+ * acc + (typeof cur === "string" ? cur.toUpperCase() + index : "");
1730
+ * assert.deepStrictEqual(reduceWithIndex("", f)([2, "a", "b", null]), "A1B2");
1731
+ *
1732
+ * @category folding
1733
+ * @since 2.0.0
1734
+ */
1735
+ exports.reduceWithIndex = RA.reduceWithIndex;
1736
+ /**
1737
+ * Same as [`reduce`](#reduce) but applied from the end to the start.
1738
+ *
1739
+ * *Note*: the iterating function in this case takes the accumulator as the last argument.
1740
+ *
1741
+ * @example
1742
+ * import { reduceRight } from 'fp-ts/Array'
1743
+ *
1744
+ * assert.deepStrictEqual(reduceRight("", (cur: string, acc: string) => acc + cur)(["a", "b", "c"]), "cba");
1745
+ *
1746
+ * @category folding
1747
+ * @since 2.0.0
1748
+ */
1749
+ exports.reduceRight = RA.reduceRight;
1750
+ /**
1751
+ * Same as [`reduceRight`](#reduceRight) but passing also the index to the iterating function.
1752
+ *
1753
+ * @example
1754
+ * import { reduceRightWithIndex } from 'fp-ts/Array'
1755
+ *
1756
+ * const f = (index: number, cur: unknown, acc: string) =>
1757
+ * acc + (typeof cur === "string" ? cur.toUpperCase() + index : "");
1758
+ * assert.deepStrictEqual(reduceRightWithIndex("", f)([2, "a", "b", null]), "B2A1");
1759
+ *
1760
+ * @category folding
1761
+ * @since 2.0.0
1762
+ */
1763
+ exports.reduceRightWithIndex = RA.reduceRightWithIndex;
1764
+ /**
1765
+ * Given an iterating function that returns a `HKT` (higher kinded type), `traverse`
1766
+ * applies the iterating function to each element of the `Array` and then [`sequence`](#sequence)-s
1767
+ * the results using the provided `Applicative`.
1768
+ *
1769
+ * E.g. suppose you have an `Array` and you want to format each element with a function
1770
+ * that returns a result or an error as `f = (a: A) => Either<Error, B>`, using `traverse`
1771
+ * you can apply `f` to all elements and directly obtain as a result an `Either<Error,Array<B>>`
1772
+ * i.e. an `Array<B>` if all the results are `B`, or an `Error` if some of the results
1773
+ * are `Error`s.
1774
+ *
1775
+ * @example
1776
+ * import { traverse } from 'fp-ts/Array'
1777
+ * import { Applicative, left, right } from "fp-ts/Either";
1778
+ *
1779
+ * const f = (x: unknown) =>
1780
+ * typeof x === "string" ? right(x.toUpperCase()) : left(new Error("not a string"));
1781
+ * assert.deepStrictEqual(traverse(Applicative)(f)(["a", "b"]), right(["A", "B"]));
1782
+ * assert.deepStrictEqual(traverse(Applicative)(f)(["a", 5]), left(new Error("not a string")));
1783
+ *
1784
+ * @category traversing
1785
+ * @since 2.6.3
1786
+ */
1787
+ var traverse = function (F) {
1788
+ var traverseWithIndexF = (0, exports.traverseWithIndex)(F);
1789
+ return function (f) { return traverseWithIndexF(function (_, a) { return f(a); }); };
1790
+ };
1791
+ exports.traverse = traverse;
1792
+ /**
1793
+ * `sequence` takes an `Array` where elements are `HKT<A>` (higher kinded type) and,
1794
+ * using an applicative of that `HKT`, returns an `HKT` of `Array<A>`.
1795
+ * E.g. it can turn an `Array<Either<Error, string>>` into an `Either<Error, Array<string>>`.
1796
+ *
1797
+ * `sequence` requires an `Applicative` of the `HKT` you are targeting, e.g. to turn an
1798
+ * `Array<Either<E, A>>` into an `Either<E, Array<A>>`, it needs an
1799
+ * `Applicative` for `Either`, to to turn an `Array<Option<A>>` into an `Option<Array<A>>`,
1800
+ * it needs an `Applicative` for `Option`.
1801
+ *
1802
+ * @example
1803
+ * import { sequence } from 'fp-ts/Array'
1804
+ * import { Applicative, left, right } from "fp-ts/Either";
1805
+ *
1806
+ * assert.deepStrictEqual(sequence(Applicative)([right("a"), right("b")]), right(["a", "b"]));
1807
+ * assert.deepStrictEqual(
1808
+ * sequence(Applicative)([right("a"), left(new Error("not a string"))]),
1809
+ * left(new Error("not a string"))
1810
+ * );
1811
+ *
1812
+ * @category traversing
1813
+ * @since 2.6.3
1814
+ */
1815
+ var sequence = function (F) {
1816
+ return function (ta) {
1817
+ return _reduce(ta, F.of((0, exports.zero)()), function (fas, fa) {
1818
+ return F.ap(F.map(fas, function (as) { return function (a) { return (0, function_1.pipe)(as, (0, exports.append)(a)); }; }), fa);
1819
+ });
1820
+ };
1821
+ };
1822
+ exports.sequence = sequence;
1823
+ /**
1824
+ * Same as [`traverse`](#traverse) but passing also the index to the iterating function.
1825
+ *
1826
+ * @example
1827
+ * import { traverseWithIndex } from 'fp-ts/Array'
1828
+ * import { Applicative, left, right } from "fp-ts/Either";
1829
+ *
1830
+ * const f = (index:number, x:unknown) =>
1831
+ * typeof x === "string" ? right(x.toUpperCase() + index) : left(new Error("not a string"));
1832
+ * assert.deepStrictEqual(traverseWithIndex(Applicative)(f)(["a", "b"]), right(["A0", "B1"]));
1833
+ * assert.deepStrictEqual(traverseWithIndex(Applicative)(f)(["a", 5]), left(new Error("not a string")));
1834
+ *
1835
+ * @category sequencing
1836
+ * @since 2.6.3
1837
+ */
1838
+ var traverseWithIndex = function (F) {
1839
+ return function (f) {
1840
+ return (0, exports.reduceWithIndex)(F.of((0, exports.zero)()), function (i, fbs, a) {
1841
+ return F.ap(F.map(fbs, function (bs) { return function (b) { return (0, function_1.pipe)(bs, (0, exports.append)(b)); }; }), f(i, a));
1842
+ });
1843
+ };
1844
+ };
1845
+ exports.traverseWithIndex = traverseWithIndex;
1846
+ /**
1847
+ * @category filtering
1848
+ * @since 2.6.5
1849
+ */
1850
+ var wither = function (F) {
1851
+ var _witherF = _wither(F);
1852
+ return function (f) { return function (fa) { return _witherF(fa, f); }; };
1853
+ };
1854
+ exports.wither = wither;
1855
+ /**
1856
+ * @category filtering
1857
+ * @since 2.6.5
1858
+ */
1859
+ var wilt = function (F) {
1860
+ var _wiltF = _wilt(F);
1861
+ return function (f) { return function (fa) { return _wiltF(fa, f); }; };
1862
+ };
1863
+ exports.wilt = wilt;
1864
+ /**
1865
+ * `unfold` takes a function `f` which returns an `Option` of a tuple containing an outcome
1866
+ * value and an input for the following iteration.
1867
+ * `unfold` applies `f` to the initial value `b` and then recursively to the second
1868
+ * element of the tuple contained in the returned `option` of the previous
1869
+ * calculation until `f` returns `Option.none`.
1870
+ *
1871
+ * @example
1872
+ * import { unfold } from 'fp-ts/Array'
1873
+ * import { option } from 'fp-ts'
1874
+ *
1875
+ * const f = (n: number) => {
1876
+ * if (n <= 0) return option.none;
1877
+ * const returnValue = n * 2;
1878
+ * const inputForNextRound = n - 1;
1879
+ * return option.some([returnValue, inputForNextRound] as const);
1880
+ * };
1881
+ * assert.deepStrictEqual(unfold(5, f), [10, 8, 6, 4, 2]);
1882
+ *
1883
+ * @since 2.6.6
1884
+ */
1885
+ var unfold = function (b, f) {
1886
+ var out = [];
1887
+ var bb = b;
1888
+ // eslint-disable-next-line no-constant-condition
1889
+ while (true) {
1890
+ var mt = f(bb);
1891
+ if (_.isSome(mt)) {
1892
+ var _a = mt.value, a = _a[0], b_1 = _a[1];
1893
+ out.push(a);
1894
+ bb = b_1;
1895
+ }
1896
+ else {
1897
+ break;
1898
+ }
1899
+ }
1900
+ return out;
1901
+ };
1902
+ exports.unfold = unfold;
1903
+ /**
1904
+ * @category type lambdas
1905
+ * @since 2.0.0
1906
+ */
1907
+ exports.URI = 'Array';
1908
+ /**
1909
+ * `getShow` makes a `Show` for an `Array<A>` from a `Show` for
1910
+ * an `A`.
1911
+ *
1912
+ * @example
1913
+ * import { getShow } from 'fp-ts/Array'
1914
+ *
1915
+ * const numShow = { show: (n: number) => (n >= 0 ? `${n}` : `(${-n})`) };
1916
+ * assert.deepStrictEqual(getShow(numShow).show([-2, -1, 0, 1]), "[(2), (1), 0, 1]");
1917
+ *
1918
+ * @category instances
1919
+ * @since 2.0.0
1920
+ */
1921
+ exports.getShow = RA.getShow;
1922
+ /**
1923
+ * Get a `Semigroup` based on the concatenation of `Array`s.
1924
+ * See also [`getMonoid`](#getMonoid).
1925
+ *
1926
+ * @example
1927
+ * import { getSemigroup } from 'fp-ts/Array'
1928
+ *
1929
+ * const S = getSemigroup<number>();
1930
+ * assert.deepStrictEqual(S.concat([1, 2], [2, 3]), [1, 2, 2, 3]);
1931
+ *
1932
+ * @category instances
1933
+ * @since 2.10.0
1934
+ */
1935
+ var getSemigroup = function () { return ({
1936
+ concat: function (first, second) { return first.concat(second); }
1937
+ }); };
1938
+ exports.getSemigroup = getSemigroup;
1939
+ /**
1940
+ * Returns a `Monoid` for `Array<A>` based on the concatenation of `Array`s.
1941
+ *
1942
+ * @example
1943
+ * import { getMonoid } from 'fp-ts/Array'
1944
+ *
1945
+ * const M = getMonoid<number>()
1946
+ * assert.deepStrictEqual(M.concat([1, 2], [3, 4]), [1, 2, 3, 4])
1947
+ *
1948
+ * @category instances
1949
+ * @since 2.0.0
1950
+ */
1951
+ var getMonoid = function () { return ({
1952
+ concat: (0, exports.getSemigroup)().concat,
1953
+ empty: []
1954
+ }); };
1955
+ exports.getMonoid = getMonoid;
1956
+ /**
1957
+ * Derives an `Eq` over the `Array` of a given element type from the `Eq` of that type. The derived `Eq` defines two
1958
+ * arrays as equal if all elements of both arrays are compared equal pairwise with the given `E`. In case of arrays of
1959
+ * different lengths, the result is non equality.
1960
+ *
1961
+ * @example
1962
+ * import * as S from 'fp-ts/string'
1963
+ * import { getEq } from 'fp-ts/Array'
1964
+ *
1965
+ * const E = getEq(S.Eq)
1966
+ * assert.strictEqual(E.equals(['a', 'b'], ['a', 'b']), true)
1967
+ * assert.strictEqual(E.equals(['a'], []), false)
1968
+ *
1969
+ * @category instances
1970
+ * @since 2.0.0
1971
+ */
1972
+ exports.getEq = RA.getEq;
1973
+ /**
1974
+ * Derives an `Ord` over the `Array` of a given element type from the `Ord` of that type. The ordering between two such
1975
+ * arrays is equal to: the first non equal comparison of each arrays elements taken pairwise in increasing order, in
1976
+ * case of equality over all the pairwise elements; the longest array is considered the greatest, if both arrays have
1977
+ * the same length, the result is equality.
1978
+ *
1979
+ * @example
1980
+ * import { getOrd } from 'fp-ts/Array'
1981
+ * import * as S from 'fp-ts/string'
1982
+ *
1983
+ * const O = getOrd(S.Ord)
1984
+ * assert.strictEqual(O.compare(['b'], ['a']), 1)
1985
+ * assert.strictEqual(O.compare(['a'], ['a']), 0)
1986
+ * assert.strictEqual(O.compare(['a'], ['b']), -1)
1987
+ *
1988
+ * @category instances
1989
+ * @since 2.0.0
1990
+ */
1991
+ exports.getOrd = RA.getOrd;
1992
+ /**
1993
+ * Get a `Semigroup` based on the union of the elements of `Array`s.
1994
+ * Elements which equal according to the provided `Eq` are included
1995
+ * only once in the result.
1996
+ * See also [`getUnionMonoid`](#getUnionMonoid).
1997
+ *
1998
+ * @example
1999
+ * import { getUnionSemigroup } from 'fp-ts/Array';
2000
+ * import { Eq } from 'fp-ts/number';
2001
+ *
2002
+ * const S = getUnionSemigroup<number>(Eq);
2003
+ * assert.deepStrictEqual(S.concat([1, 2], [2, 3]), [1, 2, 3]);
2004
+ *
2005
+ * @category instances
2006
+ * @since 2.11.0
2007
+ */
2008
+ var getUnionSemigroup = function (E) {
2009
+ var unionE = union(E);
2010
+ return {
2011
+ concat: function (first, second) { return unionE(second)(first); }
2012
+ };
2013
+ };
2014
+ exports.getUnionSemigroup = getUnionSemigroup;
2015
+ /**
2016
+ * Get a `Monoid` based on the union of the elements of `Array`s.
2017
+ * Elements which equal according to the provided `Eq` are included
2018
+ * only once in the result.
2019
+ *
2020
+ * @example
2021
+ * import { getUnionMonoid } from 'fp-ts/Array'
2022
+ * import { Eq } from 'fp-ts/number';
2023
+ *
2024
+ * const M = getUnionMonoid<number>(Eq);
2025
+ * assert.deepStrictEqual(M.concat([1, 2], [2, 3]), [1, 2, 3]);
2026
+ * assert.deepStrictEqual(M.empty,[]);
2027
+ *
2028
+ * @category instances
2029
+ * @since 2.11.0
2030
+ */
2031
+ var getUnionMonoid = function (E) { return ({
2032
+ concat: (0, exports.getUnionSemigroup)(E).concat,
2033
+ empty: []
2034
+ }); };
2035
+ exports.getUnionMonoid = getUnionMonoid;
2036
+ /**
2037
+ * Get a `Semigroup` based on the intersection of the elements of `Array`s.
2038
+ * Only elements present in the two arrays which are equal according to the
2039
+ * provided `Eq` are included in the result.
2040
+ *
2041
+ * @example
2042
+ * import { getIntersectionSemigroup } from 'fp-ts/Array'
2043
+ * import { Eq } from 'fp-ts/number';
2044
+ *
2045
+ * const S = getIntersectionSemigroup<number>(Eq);
2046
+ * assert.deepStrictEqual(S.concat([1, 2], [2, 3]), [2]);
2047
+ *
2048
+ * @category instances
2049
+ * @since 2.11.0
2050
+ */
2051
+ var getIntersectionSemigroup = function (E) {
2052
+ var intersectionE = intersection(E);
2053
+ return {
2054
+ concat: function (first, second) { return intersectionE(second)(first); }
2055
+ };
2056
+ };
2057
+ exports.getIntersectionSemigroup = getIntersectionSemigroup;
2058
+ /**
2059
+ * Get a `Magma` for `Array` where the `concat` function is the differnce between
2060
+ * the first and the second array, i.e. the result contains all the elements of the
2061
+ * first array for which their is no equal element in the second array according
2062
+ * to the `Eq` provided.
2063
+ *
2064
+ *
2065
+ * @example
2066
+ * import { getDifferenceMagma } from 'fp-ts/Array'
2067
+ * import { Eq } from 'fp-ts/number';
2068
+ *
2069
+ * const S = getDifferenceMagma<number>(Eq);
2070
+ * assert.deepStrictEqual(S.concat([1, 2], [2, 3]), [1]);
2071
+ *
2072
+ * @category instances
2073
+ * @since 2.11.0
2074
+ */
2075
+ var getDifferenceMagma = function (E) {
2076
+ var differenceE = difference(E);
2077
+ return {
2078
+ concat: function (first, second) { return differenceE(second)(first); }
2079
+ };
2080
+ };
2081
+ exports.getDifferenceMagma = getDifferenceMagma;
2082
+ /**
2083
+ * @category instances
2084
+ * @since 2.7.0
2085
+ */
2086
+ exports.Functor = {
2087
+ URI: exports.URI,
2088
+ map: _map
2089
+ };
2090
+ /**
2091
+ * Given an input an `Array` of functions, `flap` returns an `Array` containing
2092
+ * the results of applying each function to the given input.
2093
+ *
2094
+ * @example
2095
+ * import { flap } from 'fp-ts/Array'
2096
+ *
2097
+ * const funs = [
2098
+ * (n: number) => `Double: ${n * 2}`,
2099
+ * (n: number) => `Triple: ${n * 3}`,
2100
+ * (n: number) => `Square: ${n * n}`,
2101
+ * ];
2102
+ * assert.deepStrictEqual(flap(4)(funs), ['Double: 8', 'Triple: 12', 'Square: 16']);
2103
+ *
2104
+ * @category mapping
2105
+ * @since 2.10.0
2106
+ */
2107
+ exports.flap = (0, Functor_1.flap)(exports.Functor);
2108
+ /**
2109
+ * @category instances
2110
+ * @since 2.10.0
2111
+ */
2112
+ exports.Pointed = {
2113
+ URI: exports.URI,
2114
+ of: exports.of
2115
+ };
2116
+ /**
2117
+ * @category instances
2118
+ * @since 2.7.0
2119
+ */
2120
+ exports.FunctorWithIndex = {
2121
+ URI: exports.URI,
2122
+ map: _map,
2123
+ mapWithIndex: _mapWithIndex
2124
+ };
2125
+ /**
2126
+ * @category instances
2127
+ * @since 2.10.0
2128
+ */
2129
+ exports.Apply = {
2130
+ URI: exports.URI,
2131
+ map: _map,
2132
+ ap: _ap
2133
+ };
2134
+ /**
2135
+ * Combine two effectful actions, keeping only the result of the first.
2136
+ *
2137
+ * @since 2.5.0
2138
+ */
2139
+ exports.apFirst = (0, Apply_1.apFirst)(exports.Apply);
2140
+ /**
2141
+ * Combine two effectful actions, keeping only the result of the second.
2142
+ *
2143
+ * @since 2.5.0
2144
+ */
2145
+ exports.apSecond = (0, Apply_1.apSecond)(exports.Apply);
2146
+ /**
2147
+ * @category instances
2148
+ * @since 2.7.0
2149
+ */
2150
+ exports.Applicative = {
2151
+ URI: exports.URI,
2152
+ map: _map,
2153
+ ap: _ap,
2154
+ of: exports.of
2155
+ };
2156
+ /**
2157
+ * @category instances
2158
+ * @since 2.10.0
2159
+ */
2160
+ exports.Chain = {
2161
+ URI: exports.URI,
2162
+ map: _map,
2163
+ ap: _ap,
2164
+ chain: exports.flatMap
2165
+ };
2166
+ /**
2167
+ * Composes computations in sequence, using the return value of one computation to determine the next computation and
2168
+ * keeping only the result of the first.
2169
+ *
2170
+ * @example
2171
+ * import * as A from 'fp-ts/Array'
2172
+ * import { pipe } from 'fp-ts/function'
2173
+ *
2174
+ * assert.deepStrictEqual(
2175
+ * pipe(
2176
+ * [1, 2, 3],
2177
+ * A.chainFirst(() => ['a', 'b'])
2178
+ * ),
2179
+ * [1, 1, 2, 2, 3, 3]
2180
+ * )
2181
+ * assert.deepStrictEqual(
2182
+ * pipe(
2183
+ * [1, 2, 3],
2184
+ * A.chainFirst(() => [])
2185
+ * ),
2186
+ * []
2187
+ * )
2188
+ *
2189
+ * @category sequencing
2190
+ * @since 2.0.0
2191
+ */
2192
+ exports.chainFirst =
2193
+ /*#__PURE__*/ (0, Chain_1.chainFirst)(exports.Chain);
2194
+ /**
2195
+ * @category instances
2196
+ * @since 2.7.0
2197
+ */
2198
+ exports.Monad = {
2199
+ URI: exports.URI,
2200
+ map: _map,
2201
+ ap: _ap,
2202
+ of: exports.of,
2203
+ chain: exports.flatMap
2204
+ };
2205
+ /**
2206
+ * @category instances
2207
+ * @since 2.7.0
2208
+ */
2209
+ exports.Unfoldable = {
2210
+ URI: exports.URI,
2211
+ unfold: exports.unfold
2212
+ };
2213
+ /**
2214
+ * @category instances
2215
+ * @since 2.7.0
2216
+ */
2217
+ exports.Alt = {
2218
+ URI: exports.URI,
2219
+ map: _map,
2220
+ alt: _alt
2221
+ };
2222
+ /**
2223
+ * @category instances
2224
+ * @since 2.11.0
2225
+ */
2226
+ exports.Zero = {
2227
+ URI: exports.URI,
2228
+ zero: exports.zero
2229
+ };
2230
+ /**
2231
+ * @category do notation
2232
+ * @since 2.11.0
2233
+ */
2234
+ exports.guard = (0, Zero_1.guard)(exports.Zero, exports.Pointed);
2235
+ /**
2236
+ * @category instances
2237
+ * @since 2.7.0
2238
+ */
2239
+ exports.Alternative = {
2240
+ URI: exports.URI,
2241
+ map: _map,
2242
+ ap: _ap,
2243
+ of: exports.of,
2244
+ alt: _alt,
2245
+ zero: exports.zero
2246
+ };
2247
+ /**
2248
+ * @category instances
2249
+ * @since 2.7.0
2250
+ */
2251
+ exports.Extend = {
2252
+ URI: exports.URI,
2253
+ map: _map,
2254
+ extend: _extend
2255
+ };
2256
+ /**
2257
+ * @category instances
2258
+ * @since 2.7.0
2259
+ */
2260
+ exports.Compactable = {
2261
+ URI: exports.URI,
2262
+ compact: exports.compact,
2263
+ separate: exports.separate
2264
+ };
2265
+ /**
2266
+ * @category instances
2267
+ * @since 2.7.0
2268
+ */
2269
+ exports.Filterable = {
2270
+ URI: exports.URI,
2271
+ map: _map,
2272
+ compact: exports.compact,
2273
+ separate: exports.separate,
2274
+ filter: _filter,
2275
+ filterMap: _filterMap,
2276
+ partition: _partition,
2277
+ partitionMap: _partitionMap
2278
+ };
2279
+ /**
2280
+ * @category instances
2281
+ * @since 2.7.0
2282
+ */
2283
+ exports.FilterableWithIndex = {
2284
+ URI: exports.URI,
2285
+ map: _map,
2286
+ mapWithIndex: _mapWithIndex,
2287
+ compact: exports.compact,
2288
+ separate: exports.separate,
2289
+ filter: _filter,
2290
+ filterMap: _filterMap,
2291
+ partition: _partition,
2292
+ partitionMap: _partitionMap,
2293
+ partitionMapWithIndex: _partitionMapWithIndex,
2294
+ partitionWithIndex: _partitionWithIndex,
2295
+ filterMapWithIndex: _filterMapWithIndex,
2296
+ filterWithIndex: _filterWithIndex
2297
+ };
2298
+ /**
2299
+ * @category instances
2300
+ * @since 2.7.0
2301
+ */
2302
+ exports.Foldable = {
2303
+ URI: exports.URI,
2304
+ reduce: _reduce,
2305
+ foldMap: _foldMap,
2306
+ reduceRight: _reduceRight
2307
+ };
2308
+ /**
2309
+ * @category instances
2310
+ * @since 2.7.0
2311
+ */
2312
+ exports.FoldableWithIndex = {
2313
+ URI: exports.URI,
2314
+ reduce: _reduce,
2315
+ foldMap: _foldMap,
2316
+ reduceRight: _reduceRight,
2317
+ reduceWithIndex: _reduceWithIndex,
2318
+ foldMapWithIndex: _foldMapWithIndex,
2319
+ reduceRightWithIndex: _reduceRightWithIndex
2320
+ };
2321
+ /**
2322
+ * @category instances
2323
+ * @since 2.7.0
2324
+ */
2325
+ exports.Traversable = {
2326
+ URI: exports.URI,
2327
+ map: _map,
2328
+ reduce: _reduce,
2329
+ foldMap: _foldMap,
2330
+ reduceRight: _reduceRight,
2331
+ traverse: _traverse,
2332
+ sequence: exports.sequence
2333
+ };
2334
+ /**
2335
+ * @category instances
2336
+ * @since 2.7.0
2337
+ */
2338
+ exports.TraversableWithIndex = {
2339
+ URI: exports.URI,
2340
+ map: _map,
2341
+ mapWithIndex: _mapWithIndex,
2342
+ reduce: _reduce,
2343
+ foldMap: _foldMap,
2344
+ reduceRight: _reduceRight,
2345
+ reduceWithIndex: _reduceWithIndex,
2346
+ foldMapWithIndex: _foldMapWithIndex,
2347
+ reduceRightWithIndex: _reduceRightWithIndex,
2348
+ traverse: _traverse,
2349
+ sequence: exports.sequence,
2350
+ traverseWithIndex: _traverseWithIndex
2351
+ };
2352
+ var _wither = /*#__PURE__*/ (0, Witherable_1.witherDefault)(exports.Traversable, exports.Compactable);
2353
+ var _wilt = /*#__PURE__*/ (0, Witherable_1.wiltDefault)(exports.Traversable, exports.Compactable);
2354
+ /**
2355
+ * @category instances
2356
+ * @since 2.7.0
2357
+ */
2358
+ exports.Witherable = {
2359
+ URI: exports.URI,
2360
+ map: _map,
2361
+ compact: exports.compact,
2362
+ separate: exports.separate,
2363
+ filter: _filter,
2364
+ filterMap: _filterMap,
2365
+ partition: _partition,
2366
+ partitionMap: _partitionMap,
2367
+ reduce: _reduce,
2368
+ foldMap: _foldMap,
2369
+ reduceRight: _reduceRight,
2370
+ traverse: _traverse,
2371
+ sequence: exports.sequence,
2372
+ wither: _wither,
2373
+ wilt: _wilt
2374
+ };
2375
+ /**
2376
+ * @category sequencing
2377
+ * @since 2.11.0
2378
+ */
2379
+ exports.chainRecDepthFirst = RA.chainRecDepthFirst;
2380
+ /**
2381
+ * @category instances
2382
+ * @since 2.11.0
2383
+ */
2384
+ exports.ChainRecDepthFirst = {
2385
+ URI: exports.URI,
2386
+ map: _map,
2387
+ ap: _ap,
2388
+ chain: exports.flatMap,
2389
+ chainRec: _chainRecDepthFirst
2390
+ };
2391
+ /**
2392
+ * @category sequencing
2393
+ * @since 2.11.0
2394
+ */
2395
+ exports.chainRecBreadthFirst = RA.chainRecBreadthFirst;
2396
+ /**
2397
+ * @category instances
2398
+ * @since 2.11.0
2399
+ */
2400
+ exports.ChainRecBreadthFirst = {
2401
+ URI: exports.URI,
2402
+ map: _map,
2403
+ ap: _ap,
2404
+ chain: exports.flatMap,
2405
+ chainRec: _chainRecBreadthFirst
2406
+ };
2407
+ /**
2408
+ * Filter values inside a context.
2409
+ *
2410
+ * @since 2.11.0
2411
+ */
2412
+ exports.filterE = (0, Witherable_1.filterE)(exports.Witherable);
2413
+ /**
2414
+ * @category instances
2415
+ * @since 2.11.0
2416
+ */
2417
+ exports.FromEither = {
2418
+ URI: exports.URI,
2419
+ fromEither: exports.fromEither
2420
+ };
2421
+ /**
2422
+ * @category lifting
2423
+ * @since 2.11.0
2424
+ */
2425
+ exports.fromEitherK = (0, FromEither_1.fromEitherK)(exports.FromEither);
2426
+ // -------------------------------------------------------------------------------------
2427
+ // unsafe
2428
+ // -------------------------------------------------------------------------------------
2429
+ /**
2430
+ * @category unsafe
2431
+ * @since 2.0.0
2432
+ */
2433
+ exports.unsafeInsertAt = NEA.unsafeInsertAt;
2434
+ /**
2435
+ * @category unsafe
2436
+ * @since 2.0.0
2437
+ */
2438
+ var unsafeUpdateAt = function (i, a, as) {
2439
+ return (0, exports.isNonEmpty)(as) ? NEA.unsafeUpdateAt(i, a, as) : [];
2440
+ };
2441
+ exports.unsafeUpdateAt = unsafeUpdateAt;
2442
+ /**
2443
+ * @category unsafe
2444
+ * @since 2.0.0
2445
+ */
2446
+ var unsafeDeleteAt = function (i, as) {
2447
+ var xs = as.slice();
2448
+ xs.splice(i, 1);
2449
+ return xs;
2450
+ };
2451
+ exports.unsafeDeleteAt = unsafeDeleteAt;
2452
+ // -------------------------------------------------------------------------------------
2453
+ // utils
2454
+ // -------------------------------------------------------------------------------------
2455
+ /**
2456
+ * `every` tells if the provided predicate holds true for every element in the `Array`.
2457
+ *
2458
+ * @example
2459
+ * import { every } from 'fp-ts/Array'
2460
+ *
2461
+ * assert.equal(every((x: number) => x >= 0)([1, 2, 3]), true);
2462
+ * assert.equal(every((x: number) => x >= 0)([-1, 2, 3]), false);
2463
+ *
2464
+ * @since 2.9.0
2465
+ */
2466
+ exports.every = RA.every;
2467
+ /**
2468
+ * `some` tells if the provided predicate holds true at least for one element in the `Array`.
2469
+ *
2470
+ * @example
2471
+ * import { some } from 'fp-ts/Array'
2472
+ *
2473
+ * assert.equal(some((x: number) => x >= 0)([1, 2, 3]), true);
2474
+ * assert.equal(some((x: number) => x >= 10)([1, 2, 3]), false);
2475
+ *
2476
+ * @since 2.9.0
2477
+ */
2478
+ var some = function (predicate) {
2479
+ return function (as) {
2480
+ return as.some(predicate);
2481
+ };
2482
+ };
2483
+ exports.some = some;
2484
+ /**
2485
+ * Alias of [`some`](#some)
2486
+ *
2487
+ * @since 2.11.0
2488
+ */
2489
+ exports.exists = exports.some;
2490
+ /**
2491
+ * Places an element in between members of an `Array`, then folds the results using the provided `Monoid`.
2492
+ *
2493
+ * @example
2494
+ * import * as S from 'fp-ts/string'
2495
+ * import { intercalate } from 'fp-ts/Array'
2496
+ *
2497
+ * assert.deepStrictEqual(intercalate(S.Monoid)('-')(['a', 'b', 'c']), 'a-b-c')
2498
+ *
2499
+ * @since 2.12.0
2500
+ */
2501
+ exports.intercalate = RA.intercalate;
2502
+ // -------------------------------------------------------------------------------------
2503
+ // do notation
2504
+ // -------------------------------------------------------------------------------------
2505
+ /**
2506
+ * @category do notation
2507
+ * @since 2.9.0
2508
+ */
2509
+ exports.Do = (0, exports.of)(_.emptyRecord);
2510
+ /**
2511
+ * @category do notation
2512
+ * @since 2.8.0
2513
+ */
2514
+ exports.bindTo = (0, Functor_1.bindTo)(exports.Functor);
2515
+ var let_ = /*#__PURE__*/ (0, Functor_1.let)(exports.Functor);
2516
+ exports.let = let_;
2517
+ /**
2518
+ * @category do notation
2519
+ * @since 2.8.0
2520
+ */
2521
+ exports.bind = (0, Chain_1.bind)(exports.Chain);
2522
+ /**
2523
+ * @category do notation
2524
+ * @since 2.8.0
2525
+ */
2526
+ exports.apS = (0, Apply_1.apS)(exports.Apply);
2527
+ // -------------------------------------------------------------------------------------
2528
+ // legacy
2529
+ // -------------------------------------------------------------------------------------
2530
+ /**
2531
+ * Alias of `flatMap`.
2532
+ *
2533
+ * @category legacy
2534
+ * @since 2.0.0
2535
+ */
2536
+ exports.chain = exports.flatMap;
2537
+ // -------------------------------------------------------------------------------------
2538
+ // deprecated
2539
+ // -------------------------------------------------------------------------------------
2540
+ /**
2541
+ * Use `NonEmptyArray` module instead.
2542
+ *
2543
+ * @category zone of death
2544
+ * @since 2.0.0
2545
+ * @deprecated
2546
+ */
2547
+ exports.range = NEA.range;
2548
+ /**
2549
+ * Use a new `[]` instead.
2550
+ *
2551
+ * @category zone of death
2552
+ * @since 2.0.0
2553
+ * @deprecated
2554
+ */
2555
+ exports.empty = [];
2556
+ /**
2557
+ * Use `prepend` instead.
2558
+ *
2559
+ * @category zone of death
2560
+ * @since 2.0.0
2561
+ * @deprecated
2562
+ */
2563
+ exports.cons = NEA.cons;
2564
+ /**
2565
+ * Use `append` instead.
2566
+ *
2567
+ * @category zone of death
2568
+ * @since 2.0.0
2569
+ * @deprecated
2570
+ */
2571
+ exports.snoc = NEA.snoc;
2572
+ /**
2573
+ * Use `prependAll` instead
2574
+ *
2575
+ * @category zone of death
2576
+ * @since 2.9.0
2577
+ * @deprecated
2578
+ */
2579
+ exports.prependToAll = exports.prependAll;
2580
+ /**
2581
+ * This instance is deprecated, use small, specific instances instead.
2582
+ * For example if a function needs a `Functor` instance, pass `A.Functor` instead of `A.array`
2583
+ * (where `A` is from `import A from 'fp-ts/Array'`)
2584
+ *
2585
+ * @category zone of death
2586
+ * @since 2.0.0
2587
+ * @deprecated
2588
+ */
2589
+ exports.array = {
2590
+ URI: exports.URI,
2591
+ compact: exports.compact,
2592
+ separate: exports.separate,
2593
+ map: _map,
2594
+ ap: _ap,
2595
+ of: exports.of,
2596
+ chain: exports.flatMap,
2597
+ filter: _filter,
2598
+ filterMap: _filterMap,
2599
+ partition: _partition,
2600
+ partitionMap: _partitionMap,
2601
+ mapWithIndex: _mapWithIndex,
2602
+ partitionMapWithIndex: _partitionMapWithIndex,
2603
+ partitionWithIndex: _partitionWithIndex,
2604
+ filterMapWithIndex: _filterMapWithIndex,
2605
+ filterWithIndex: _filterWithIndex,
2606
+ alt: _alt,
2607
+ zero: exports.zero,
2608
+ unfold: exports.unfold,
2609
+ reduce: _reduce,
2610
+ foldMap: _foldMap,
2611
+ reduceRight: _reduceRight,
2612
+ traverse: _traverse,
2613
+ sequence: exports.sequence,
2614
+ reduceWithIndex: _reduceWithIndex,
2615
+ foldMapWithIndex: _foldMapWithIndex,
2616
+ reduceRightWithIndex: _reduceRightWithIndex,
2617
+ traverseWithIndex: _traverseWithIndex,
2618
+ extend: _extend,
2619
+ wither: _wither,
2620
+ wilt: _wilt
2621
+ };