@fncts/base 0.0.19 → 0.0.21

Sign up to get free protection for your applications and to get access to all the features.
Files changed (995) hide show
  1. package/_cjs/collection/Iterable/api/traverseConc.cjs +8 -8
  2. package/_cjs/collection/Iterable/api/traverseConc.cjs.map +1 -1
  3. package/_cjs/collection/Iterable/api.cjs +497 -444
  4. package/_cjs/collection/Iterable/api.cjs.map +1 -1
  5. package/_cjs/collection/Iterable/constructors.cjs +7 -7
  6. package/_cjs/collection/Iterable/constructors.cjs.map +1 -1
  7. package/_cjs/collection/compat/Array/api.cjs +16 -12
  8. package/_cjs/collection/compat/Array/api.cjs.map +1 -1
  9. package/_cjs/collection/compat/Array/derivations.cjs +41 -19
  10. package/_cjs/collection/compat/Array/derivations.cjs.map +1 -1
  11. package/_cjs/collection/compat/ArrayLike/api.cjs +1 -1
  12. package/_cjs/collection/compat/ArrayLike/api.cjs.map +1 -1
  13. package/_cjs/collection/compat/Record/instances.cjs +39 -3
  14. package/_cjs/collection/compat/Record/instances.cjs.map +1 -1
  15. package/_cjs/collection/immutable/Conc/api/makeBy.cjs +1 -1
  16. package/_cjs/collection/immutable/Conc/api/makeBy.cjs.map +1 -1
  17. package/_cjs/collection/immutable/Conc/api.cjs +866 -765
  18. package/_cjs/collection/immutable/Conc/api.cjs.map +1 -1
  19. package/_cjs/collection/immutable/Conc/definition.cjs +55 -53
  20. package/_cjs/collection/immutable/Conc/definition.cjs.map +1 -1
  21. package/_cjs/collection/immutable/Conc/derivations.cjs +13 -2
  22. package/_cjs/collection/immutable/Conc/derivations.cjs.map +1 -1
  23. package/_cjs/collection/immutable/Conc.cjs.map +1 -1
  24. package/_cjs/collection/immutable/Dictionary/api.cjs +57 -44
  25. package/_cjs/collection/immutable/Dictionary/api.cjs.map +1 -1
  26. package/_cjs/collection/immutable/HashMap/api.cjs +351 -258
  27. package/_cjs/collection/immutable/HashMap/api.cjs.map +1 -1
  28. package/_cjs/collection/immutable/HashMap/definition.cjs +1 -1
  29. package/_cjs/collection/immutable/HashMap/definition.cjs.map +1 -1
  30. package/_cjs/collection/immutable/HashMap/internal.cjs.map +1 -1
  31. package/_cjs/collection/immutable/HashSet/api.cjs +230 -192
  32. package/_cjs/collection/immutable/HashSet/api.cjs.map +1 -1
  33. package/_cjs/collection/immutable/HashSet/definition.cjs +1 -1
  34. package/_cjs/collection/immutable/HashSet/definition.cjs.map +1 -1
  35. package/_cjs/collection/immutable/ImmutableArray/api/chunksOf.cjs +6 -4
  36. package/_cjs/collection/immutable/ImmutableArray/api/chunksOf.cjs.map +1 -1
  37. package/_cjs/collection/immutable/ImmutableArray/api/slice.cjs +6 -4
  38. package/_cjs/collection/immutable/ImmutableArray/api/slice.cjs.map +1 -1
  39. package/_cjs/collection/immutable/ImmutableArray/api/splitAt.cjs +6 -4
  40. package/_cjs/collection/immutable/ImmutableArray/api/splitAt.cjs.map +1 -1
  41. package/_cjs/collection/immutable/ImmutableArray/api/splitWhere.cjs +15 -13
  42. package/_cjs/collection/immutable/ImmutableArray/api/splitWhere.cjs.map +1 -1
  43. package/_cjs/collection/immutable/ImmutableArray/api.cjs +943 -749
  44. package/_cjs/collection/immutable/ImmutableArray/api.cjs.map +1 -1
  45. package/_cjs/collection/immutable/ImmutableArray/derivations.cjs +12 -1
  46. package/_cjs/collection/immutable/ImmutableArray/derivations.cjs.map +1 -1
  47. package/_cjs/collection/immutable/ImmutableArray/instances.cjs +33 -33
  48. package/_cjs/collection/immutable/ImmutableArray/instances.cjs.map +1 -1
  49. package/_cjs/collection/immutable/ImmutableArray.cjs.map +1 -1
  50. package/_cjs/collection/immutable/ImmutableNonEmptyArray/api.cjs +338 -273
  51. package/_cjs/collection/immutable/ImmutableNonEmptyArray/api.cjs.map +1 -1
  52. package/_cjs/collection/immutable/ImmutableNonEmptyArray/constructors.cjs.map +1 -1
  53. package/_cjs/collection/immutable/ImmutableNonEmptyArray/definition.cjs.map +1 -1
  54. package/_cjs/collection/immutable/ImmutableNonEmptyArray/derivations.cjs +15 -4
  55. package/_cjs/collection/immutable/ImmutableNonEmptyArray/derivations.cjs.map +1 -1
  56. package/_cjs/collection/immutable/ImmutableNonEmptyArray/destructors.cjs +2 -2
  57. package/_cjs/collection/immutable/ImmutableNonEmptyArray/destructors.cjs.map +1 -1
  58. package/_cjs/collection/immutable/ImmutableNonEmptyArray/instances.cjs +12 -12
  59. package/_cjs/collection/immutable/ImmutableNonEmptyArray/instances.cjs.map +1 -1
  60. package/_cjs/collection/immutable/List/api/foldLeft.cjs +12 -10
  61. package/_cjs/collection/immutable/List/api/foldLeft.cjs.map +1 -1
  62. package/_cjs/collection/immutable/List/api.cjs +164 -141
  63. package/_cjs/collection/immutable/List/api.cjs.map +1 -1
  64. package/_cjs/collection/immutable/List.cjs.map +1 -1
  65. package/_cjs/collection/immutable/Queue/api.cjs +64 -48
  66. package/_cjs/collection/immutable/Queue/api.cjs.map +1 -1
  67. package/_cjs/collection/immutable/Queue/definition.cjs +1 -1
  68. package/_cjs/collection/immutable/Queue/definition.cjs.map +1 -1
  69. package/_cjs/collection/immutable/RoseTree/api.cjs +50 -36
  70. package/_cjs/collection/immutable/RoseTree/api.cjs.map +1 -1
  71. package/_cjs/collection/immutable/RoseTree/definition.cjs.map +1 -1
  72. package/_cjs/collection/immutable/SortedMap/api.cjs +408 -368
  73. package/_cjs/collection/immutable/SortedMap/api.cjs.map +1 -1
  74. package/_cjs/collection/immutable/Vector/api.cjs +723 -608
  75. package/_cjs/collection/immutable/Vector/api.cjs.map +1 -1
  76. package/_cjs/collection/immutable/Vector/definition.cjs +18 -16
  77. package/_cjs/collection/immutable/Vector/definition.cjs.map +1 -1
  78. package/_cjs/collection/immutable/Vector/internal.cjs +40 -39
  79. package/_cjs/collection/immutable/Vector/internal.cjs.map +1 -1
  80. package/_cjs/collection/mutable/HashMap.cjs +3 -5
  81. package/_cjs/collection/mutable/HashMap.cjs.map +1 -1
  82. package/_cjs/collection/mutable/HashSet.cjs.map +1 -1
  83. package/_cjs/collection/mutable/ListBuffer.cjs +2 -2
  84. package/_cjs/collection/mutable/ListBuffer.cjs.map +1 -1
  85. package/_cjs/collection/mutable/internal.cjs +0 -2
  86. package/_cjs/collection/mutable/internal.cjs.map +1 -1
  87. package/_cjs/collection/weak/IterableWeakMap.cjs +7 -7
  88. package/_cjs/collection/weak/IterableWeakMap.cjs.map +1 -1
  89. package/_cjs/collection/weak/IterableWeakSet.cjs +7 -7
  90. package/_cjs/collection/weak/IterableWeakSet.cjs.map +1 -1
  91. package/_cjs/control/Eval/api.cjs +55 -43
  92. package/_cjs/control/Eval/api.cjs.map +1 -1
  93. package/_cjs/control/Eval/instance.cjs +4 -4
  94. package/_cjs/control/Eval/instance.cjs.map +1 -1
  95. package/_cjs/control/Eval/run.cjs +1 -1
  96. package/_cjs/control/Eval/run.cjs.map +1 -1
  97. package/_cjs/control/Z/api.cjs +241 -172
  98. package/_cjs/control/Z/api.cjs.map +1 -1
  99. package/_cjs/control/Z/instances.cjs +3 -3
  100. package/_cjs/control/Z/instances.cjs.map +1 -1
  101. package/_cjs/control/Z/runtime.cjs +250 -241
  102. package/_cjs/control/Z/runtime.cjs.map +1 -1
  103. package/_cjs/data/Branded/definition.cjs.map +1 -1
  104. package/_cjs/data/Branded/derivations.cjs +3 -3
  105. package/_cjs/data/Branded/derivations.cjs.map +1 -1
  106. package/_cjs/data/CaseClass.cjs.map +1 -1
  107. package/_cjs/data/Cause/api/fold.cjs +20 -18
  108. package/_cjs/data/Cause/api/fold.cjs.map +1 -1
  109. package/_cjs/data/Cause/api/isEmpty.cjs +1 -1
  110. package/_cjs/data/Cause/api/isEmpty.cjs.map +1 -1
  111. package/_cjs/data/Cause/api/linearize.cjs +8 -8
  112. package/_cjs/data/Cause/api/linearize.cjs.map +1 -1
  113. package/_cjs/data/Cause/api/prettyPrint.cjs +1 -1
  114. package/_cjs/data/Cause/api/prettyPrint.cjs.map +1 -1
  115. package/_cjs/data/Cause/api.cjs +160 -140
  116. package/_cjs/data/Cause/api.cjs.map +1 -1
  117. package/_cjs/data/Cause/definition.cjs +18 -18
  118. package/_cjs/data/Cause/definition.cjs.map +1 -1
  119. package/_cjs/data/Cause.cjs.map +1 -1
  120. package/_cjs/data/Const/api.cjs +8 -6
  121. package/_cjs/data/Const/api.cjs.map +1 -1
  122. package/_cjs/data/Const/instances.cjs +4 -4
  123. package/_cjs/data/Const/instances.cjs.map +1 -1
  124. package/_cjs/data/Datum/api.cjs +219 -176
  125. package/_cjs/data/Datum/api.cjs.map +1 -1
  126. package/_cjs/data/Datum/definition.cjs.map +1 -1
  127. package/_cjs/data/DatumEither/api.cjs +165 -133
  128. package/_cjs/data/DatumEither/api.cjs.map +1 -1
  129. package/_cjs/data/DecodeError/definition.cjs +14 -14
  130. package/_cjs/data/DecodeError/definition.cjs.map +1 -1
  131. package/_cjs/data/Decoder/api.cjs +9 -7
  132. package/_cjs/data/Decoder/api.cjs.map +1 -1
  133. package/_cjs/data/Duration/api.cjs +18 -12
  134. package/_cjs/data/Duration/api.cjs.map +1 -1
  135. package/_cjs/data/Either/api/align.cjs +8 -3
  136. package/_cjs/data/Either/api/align.cjs.map +1 -1
  137. package/_cjs/data/Either/api/alignWith.cjs +14 -12
  138. package/_cjs/data/Either/api/alignWith.cjs.map +1 -1
  139. package/_cjs/data/Either/api.cjs +206 -169
  140. package/_cjs/data/Either/api.cjs.map +1 -1
  141. package/_cjs/data/Either/constructors.cjs +11 -9
  142. package/_cjs/data/Either/constructors.cjs.map +1 -1
  143. package/_cjs/data/Either/destructors.cjs +16 -14
  144. package/_cjs/data/Either/destructors.cjs.map +1 -1
  145. package/_cjs/data/Either/instances.cjs +8 -8
  146. package/_cjs/data/Either/instances.cjs.map +1 -1
  147. package/_cjs/data/EitherT/api.cjs +8 -8
  148. package/_cjs/data/EitherT/api.cjs.map +1 -1
  149. package/_cjs/data/Encoder/api.cjs +134 -0
  150. package/_cjs/data/Encoder/api.cjs.map +1 -0
  151. package/_cjs/data/Encoder/definition.cjs +25 -0
  152. package/_cjs/data/Encoder/definition.cjs.map +1 -0
  153. package/_cjs/data/{Patch.cjs → Encoder.cjs} +3 -3
  154. package/_cjs/data/Encoder.cjs.map +1 -0
  155. package/_cjs/data/Environment/api.cjs +45 -33
  156. package/_cjs/data/Environment/api.cjs.map +1 -1
  157. package/_cjs/data/Environment/definition.cjs.map +1 -1
  158. package/_cjs/data/{Patch/api.cjs → EnvironmentPatch.cjs} +134 -38
  159. package/_cjs/data/EnvironmentPatch.cjs.map +1 -0
  160. package/_cjs/data/ExecutionStrategy.cjs +21 -29
  161. package/_cjs/data/ExecutionStrategy.cjs.map +1 -1
  162. package/_cjs/data/Exit/api.cjs +159 -127
  163. package/_cjs/data/Exit/api.cjs.map +1 -1
  164. package/_cjs/data/Exit/constructors.cjs +4 -4
  165. package/_cjs/data/Exit/constructors.cjs.map +1 -1
  166. package/_cjs/data/FiberId/api.cjs +23 -21
  167. package/_cjs/data/FiberId/api.cjs.map +1 -1
  168. package/_cjs/data/FiberId/constructors.cjs.map +1 -1
  169. package/_cjs/data/Identity/api.cjs +26 -18
  170. package/_cjs/data/Identity/api.cjs.map +1 -1
  171. package/_cjs/data/Identity/instances.cjs +3 -3
  172. package/_cjs/data/Identity/instances.cjs.map +1 -1
  173. package/_cjs/data/Interval.cjs +43 -33
  174. package/_cjs/data/Interval.cjs.map +1 -1
  175. package/_cjs/data/Intervals.cjs +35 -27
  176. package/_cjs/data/Intervals.cjs.map +1 -1
  177. package/_cjs/data/Maybe/api.cjs +160 -125
  178. package/_cjs/data/Maybe/api.cjs.map +1 -1
  179. package/_cjs/data/Maybe/constructors.cjs +2 -2
  180. package/_cjs/data/Maybe/constructors.cjs.map +1 -1
  181. package/_cjs/data/Maybe/definition.cjs.map +1 -1
  182. package/_cjs/data/Maybe/destructors.cjs +9 -7
  183. package/_cjs/data/Maybe/destructors.cjs.map +1 -1
  184. package/_cjs/data/Maybe/instances.cjs +11 -11
  185. package/_cjs/data/Maybe/instances.cjs.map +1 -1
  186. package/_cjs/data/Predicate/api.cjs +10 -8
  187. package/_cjs/data/Predicate/api.cjs.map +1 -1
  188. package/_cjs/data/Refinement/api.cjs +15 -9
  189. package/_cjs/data/Refinement/api.cjs.map +1 -1
  190. package/_cjs/data/Struct/api.cjs +62 -50
  191. package/_cjs/data/Struct/api.cjs.map +1 -1
  192. package/_cjs/data/Tag/constructors.cjs +3 -2
  193. package/_cjs/data/Tag/constructors.cjs.map +1 -1
  194. package/_cjs/data/Tag/definition.cjs +0 -3
  195. package/_cjs/data/Tag/definition.cjs.map +1 -1
  196. package/_cjs/data/These/api.cjs +188 -170
  197. package/_cjs/data/These/api.cjs.map +1 -1
  198. package/_cjs/data/These/constructors.cjs +1 -1
  199. package/_cjs/data/These/constructors.cjs.map +1 -1
  200. package/_cjs/data/These/destructors.cjs +39 -35
  201. package/_cjs/data/These/destructors.cjs.map +1 -1
  202. package/_cjs/data/These/instances.cjs +1 -1
  203. package/_cjs/data/These/instances.cjs.map +1 -1
  204. package/_cjs/data/Trace/api.cjs +7 -5
  205. package/_cjs/data/Trace/api.cjs.map +1 -1
  206. package/_cjs/data/Zipped.cjs.map +1 -1
  207. package/_cjs/data/function/api.cjs +6 -4
  208. package/_cjs/data/function/api.cjs.map +1 -1
  209. package/_cjs/data/function/pipe.cjs +9 -0
  210. package/_cjs/data/function/pipe.cjs.map +1 -1
  211. package/_cjs/data/string/api.cjs +53 -96
  212. package/_cjs/data/string/api.cjs.map +1 -1
  213. package/_cjs/global/api.cjs +4 -2
  214. package/_cjs/global/api.cjs.map +1 -1
  215. package/_cjs/internal/AtomicBoolean.cjs.map +1 -1
  216. package/_cjs/internal/AtomicNumber.cjs.map +1 -1
  217. package/_cjs/internal/AtomicReference.cjs.map +1 -1
  218. package/_cjs/internal/Stack.cjs +2 -2
  219. package/_cjs/internal/Stack.cjs.map +1 -1
  220. package/_cjs/optics/At/api.cjs +1 -1
  221. package/_cjs/optics/At/api.cjs.map +1 -1
  222. package/_cjs/optics/At/definition.cjs +2 -2
  223. package/_cjs/optics/At/definition.cjs.map +1 -1
  224. package/_cjs/optics/Fold/definition.cjs +3 -4
  225. package/_cjs/optics/Fold/definition.cjs.map +1 -1
  226. package/_cjs/optics/Getter/definition.cjs +2 -3
  227. package/_cjs/optics/Getter/definition.cjs.map +1 -1
  228. package/_cjs/optics/Index/api.cjs +4 -4
  229. package/_cjs/optics/Index/api.cjs.map +1 -1
  230. package/_cjs/optics/Index/definition.cjs +2 -2
  231. package/_cjs/optics/Index/definition.cjs.map +1 -1
  232. package/_cjs/optics/Iso/api.cjs +9 -7
  233. package/_cjs/optics/Iso/api.cjs.map +1 -1
  234. package/_cjs/optics/Iso/definition.cjs +12 -12
  235. package/_cjs/optics/Iso/definition.cjs.map +1 -1
  236. package/_cjs/optics/Lens/api.cjs +54 -44
  237. package/_cjs/optics/Lens/api.cjs.map +1 -1
  238. package/_cjs/optics/Lens/definition.cjs +10 -10
  239. package/_cjs/optics/Lens/definition.cjs.map +1 -1
  240. package/_cjs/optics/Optional/api/compose.cjs +9 -7
  241. package/_cjs/optics/Optional/api/compose.cjs.map +1 -1
  242. package/_cjs/optics/Optional/definition.cjs +12 -13
  243. package/_cjs/optics/Optional/definition.cjs.map +1 -1
  244. package/_cjs/optics/Optional.cjs.map +1 -1
  245. package/_cjs/optics/Prism/api/compose.cjs +9 -7
  246. package/_cjs/optics/Prism/api/compose.cjs.map +1 -1
  247. package/_cjs/optics/Prism/api/fromNullable.cjs +2 -2
  248. package/_cjs/optics/Prism/api/fromNullable.cjs.map +1 -1
  249. package/_cjs/optics/Prism/api/just.cjs +2 -2
  250. package/_cjs/optics/Prism/api/just.cjs.map +1 -1
  251. package/_cjs/optics/Prism/definition.cjs +9 -9
  252. package/_cjs/optics/Prism/definition.cjs.map +1 -1
  253. package/_cjs/optics/Prism.cjs.map +1 -1
  254. package/_cjs/optics/Setter/definition.cjs +8 -13
  255. package/_cjs/optics/Setter/definition.cjs.map +1 -1
  256. package/_cjs/optics/Traversal/api/compose.cjs +8 -6
  257. package/_cjs/optics/Traversal/api/compose.cjs.map +1 -1
  258. package/_cjs/optics/Traversal/api/fromTraversable.cjs +2 -2
  259. package/_cjs/optics/Traversal/api/fromTraversable.cjs.map +1 -1
  260. package/_cjs/optics/Traversal/definition.cjs +12 -12
  261. package/_cjs/optics/Traversal/definition.cjs.map +1 -1
  262. package/_cjs/optics/Traversal.cjs.map +1 -1
  263. package/_cjs/typeclass/Align.cjs.map +1 -1
  264. package/_cjs/typeclass/Alt.cjs.map +1 -1
  265. package/_cjs/typeclass/Applicative.cjs.map +1 -1
  266. package/_cjs/typeclass/ApplicativeExcept.cjs +5 -10
  267. package/_cjs/typeclass/ApplicativeExcept.cjs.map +1 -1
  268. package/_cjs/typeclass/Apply.cjs +8 -8
  269. package/_cjs/typeclass/Apply.cjs.map +1 -1
  270. package/_cjs/typeclass/Chain.cjs +4 -4
  271. package/_cjs/typeclass/Chain.cjs.map +1 -1
  272. package/_cjs/typeclass/Eq/definition.cjs.map +1 -1
  273. package/_cjs/typeclass/Eq/derivations.cjs.map +1 -1
  274. package/_cjs/typeclass/Equatable/api.cjs.map +1 -1
  275. package/_cjs/typeclass/Equatable/definition.cjs.map +1 -1
  276. package/_cjs/typeclass/Equatable/fast-equals.cjs.map +1 -1
  277. package/_cjs/typeclass/Filterable.cjs.map +1 -1
  278. package/_cjs/typeclass/FilterableWithIndex.cjs.map +1 -1
  279. package/_cjs/typeclass/Foldable.cjs +1 -1
  280. package/_cjs/typeclass/Foldable.cjs.map +1 -1
  281. package/_cjs/typeclass/FoldableWithIndex.cjs +1 -1
  282. package/_cjs/typeclass/FoldableWithIndex.cjs.map +1 -1
  283. package/_cjs/typeclass/Functor.cjs.map +1 -1
  284. package/_cjs/typeclass/FunctorWithIndex.cjs.map +1 -1
  285. package/_cjs/typeclass/Guard/api.cjs +18 -10
  286. package/_cjs/typeclass/Guard/api.cjs.map +1 -1
  287. package/_cjs/typeclass/Guard/definition.cjs.map +1 -1
  288. package/_cjs/typeclass/Guard/derivations.cjs.map +1 -1
  289. package/_cjs/typeclass/Has.cjs +7 -5
  290. package/_cjs/typeclass/Has.cjs.map +1 -1
  291. package/_cjs/typeclass/HashEq.cjs.map +1 -1
  292. package/_cjs/typeclass/Hashable/definition.cjs.map +1 -1
  293. package/_cjs/typeclass/Hashable/hash.cjs.map +1 -1
  294. package/_cjs/typeclass/MonadExcept.cjs +1 -1
  295. package/_cjs/typeclass/MonadExcept.cjs.map +1 -1
  296. package/_cjs/typeclass/Ord/api/contramap.cjs +7 -5
  297. package/_cjs/typeclass/Ord/api/contramap.cjs.map +1 -1
  298. package/_cjs/typeclass/Ord/api/max.cjs.map +1 -1
  299. package/_cjs/typeclass/Ord/api/min.cjs.map +1 -1
  300. package/_cjs/typeclass/Ord/definition.cjs.map +1 -1
  301. package/_cjs/typeclass/Ord/instances.cjs.map +1 -1
  302. package/_cjs/typeclass/Ordering.cjs.map +1 -1
  303. package/_cjs/typeclass/Semialign.cjs +7 -7
  304. package/_cjs/typeclass/Semialign.cjs.map +1 -1
  305. package/_cjs/typeclass/Semigroup/api.cjs.map +1 -1
  306. package/_cjs/typeclass/Semigroup/definition.cjs.map +1 -1
  307. package/_cjs/typeclass/Semigroup/derivations.cjs.map +1 -1
  308. package/_cjs/typeclass/Semimonoidal.cjs.map +1 -1
  309. package/_cjs/typeclass/Showable/definition.cjs.map +1 -1
  310. package/_cjs/typeclass/Showable/show.cjs +107 -107
  311. package/_cjs/typeclass/Showable/show.cjs.map +1 -1
  312. package/_cjs/typeclass/Showable/styles.cjs.map +1 -1
  313. package/_cjs/typeclass/Showable/util.cjs +1 -1
  314. package/_cjs/typeclass/Showable/util.cjs.map +1 -1
  315. package/_cjs/typeclass/Traversable.cjs +1 -2
  316. package/_cjs/typeclass/Traversable.cjs.map +1 -1
  317. package/_cjs/typeclass/TraversableWithIndex.cjs.map +1 -1
  318. package/_cjs/typeclass/Witherable.cjs +3 -1
  319. package/_cjs/typeclass/Witherable.cjs.map +1 -1
  320. package/_cjs/typeclass/WitherableWithIndex.cjs +3 -1
  321. package/_cjs/typeclass/WitherableWithIndex.cjs.map +1 -1
  322. package/_cjs/util/AnsiFormat.cjs +11 -11
  323. package/_cjs/util/AnsiFormat.cjs.map +1 -1
  324. package/_cjs/util/PCGRandom.cjs.map +1 -1
  325. package/_cjs/util/assert.cjs.map +1 -1
  326. package/_cjs/util/pattern.cjs.map +1 -1
  327. package/_cjs/util/predicates.cjs.map +1 -1
  328. package/_cjs/util/rand/Random.cjs.map +1 -1
  329. package/_cjs/util/rand/distribution/UniformArrayIntDistribution.cjs.map +1 -1
  330. package/_cjs/util/rand/distribution/UniformBigIntDistribution.cjs.map +1 -1
  331. package/_cjs/util/rand/distribution/UniformIntDistribution.cjs.map +1 -1
  332. package/_cjs/util/rand/distribution/internals/ArrayInt.cjs.map +1 -1
  333. package/_cjs/util/rand/distribution/internals/UniformArrayIntDistributionInternal.cjs.map +1 -1
  334. package/_cjs/util/rand/distribution/internals/UniformIntDistributionInternal.cjs.map +1 -1
  335. package/_cjs/util/rand/generator/MersenneTwister.cjs.map +1 -1
  336. package/_cjs/util/rand/generator/RandomGenerator.cjs.map +1 -1
  337. package/_cjs/util/rand.cjs.map +1 -1
  338. package/_mjs/collection/Iterable/api/traverseConc.mjs +5 -5
  339. package/_mjs/collection/Iterable/api/traverseConc.mjs.map +1 -1
  340. package/_mjs/collection/Iterable/api.mjs +465 -411
  341. package/_mjs/collection/Iterable/api.mjs.map +1 -1
  342. package/_mjs/collection/Iterable/constructors.mjs +5 -5
  343. package/_mjs/collection/Iterable/constructors.mjs.map +1 -1
  344. package/_mjs/collection/compat/Array/api.mjs +16 -12
  345. package/_mjs/collection/compat/Array/api.mjs.map +1 -1
  346. package/_mjs/collection/compat/Array/derivations.mjs +35 -19
  347. package/_mjs/collection/compat/Array/derivations.mjs.map +1 -1
  348. package/_mjs/collection/compat/ArrayLike/api.mjs +1 -1
  349. package/_mjs/collection/compat/ArrayLike/api.mjs.map +1 -1
  350. package/_mjs/collection/compat/Record/instances.mjs +34 -3
  351. package/_mjs/collection/compat/Record/instances.mjs.map +1 -1
  352. package/_mjs/collection/immutable/Conc/api/makeBy.mjs +1 -1
  353. package/_mjs/collection/immutable/Conc/api/makeBy.mjs.map +1 -1
  354. package/_mjs/collection/immutable/Conc/api.mjs +795 -697
  355. package/_mjs/collection/immutable/Conc/api.mjs.map +1 -1
  356. package/_mjs/collection/immutable/Conc/definition.mjs +53 -51
  357. package/_mjs/collection/immutable/Conc/definition.mjs.map +1 -1
  358. package/_mjs/collection/immutable/Conc/derivations.mjs +10 -2
  359. package/_mjs/collection/immutable/Conc/derivations.mjs.map +1 -1
  360. package/_mjs/collection/immutable/Conc.mjs.map +1 -1
  361. package/_mjs/collection/immutable/Dictionary/api.mjs +47 -35
  362. package/_mjs/collection/immutable/Dictionary/api.mjs.map +1 -1
  363. package/_mjs/collection/immutable/HashMap/api.mjs +295 -217
  364. package/_mjs/collection/immutable/HashMap/api.mjs.map +1 -1
  365. package/_mjs/collection/immutable/HashMap/definition.mjs +1 -1
  366. package/_mjs/collection/immutable/HashMap/definition.mjs.map +1 -1
  367. package/_mjs/collection/immutable/HashMap/internal.mjs.map +1 -1
  368. package/_mjs/collection/immutable/HashSet/api.mjs +206 -168
  369. package/_mjs/collection/immutable/HashSet/api.mjs.map +1 -1
  370. package/_mjs/collection/immutable/HashSet/definition.mjs +1 -1
  371. package/_mjs/collection/immutable/HashSet/definition.mjs.map +1 -1
  372. package/_mjs/collection/immutable/ImmutableArray/api/chunksOf.mjs +5 -3
  373. package/_mjs/collection/immutable/ImmutableArray/api/chunksOf.mjs.map +1 -1
  374. package/_mjs/collection/immutable/ImmutableArray/api/slice.mjs +5 -3
  375. package/_mjs/collection/immutable/ImmutableArray/api/slice.mjs.map +1 -1
  376. package/_mjs/collection/immutable/ImmutableArray/api/splitAt.mjs +5 -3
  377. package/_mjs/collection/immutable/ImmutableArray/api/splitAt.mjs.map +1 -1
  378. package/_mjs/collection/immutable/ImmutableArray/api/splitWhere.mjs +13 -11
  379. package/_mjs/collection/immutable/ImmutableArray/api/splitWhere.mjs.map +1 -1
  380. package/_mjs/collection/immutable/ImmutableArray/api.mjs +816 -629
  381. package/_mjs/collection/immutable/ImmutableArray/api.mjs.map +1 -1
  382. package/_mjs/collection/immutable/ImmutableArray/derivations.mjs +9 -1
  383. package/_mjs/collection/immutable/ImmutableArray/derivations.mjs.map +1 -1
  384. package/_mjs/collection/immutable/ImmutableArray/instances.mjs +34 -34
  385. package/_mjs/collection/immutable/ImmutableArray/instances.mjs.map +1 -1
  386. package/_mjs/collection/immutable/ImmutableArray.mjs.map +1 -1
  387. package/_mjs/collection/immutable/ImmutableNonEmptyArray/api.mjs +301 -239
  388. package/_mjs/collection/immutable/ImmutableNonEmptyArray/api.mjs.map +1 -1
  389. package/_mjs/collection/immutable/ImmutableNonEmptyArray/constructors.mjs.map +1 -1
  390. package/_mjs/collection/immutable/ImmutableNonEmptyArray/definition.mjs.map +1 -1
  391. package/_mjs/collection/immutable/ImmutableNonEmptyArray/derivations.mjs +12 -4
  392. package/_mjs/collection/immutable/ImmutableNonEmptyArray/derivations.mjs.map +1 -1
  393. package/_mjs/collection/immutable/ImmutableNonEmptyArray/destructors.mjs +2 -2
  394. package/_mjs/collection/immutable/ImmutableNonEmptyArray/destructors.mjs.map +1 -1
  395. package/_mjs/collection/immutable/ImmutableNonEmptyArray/instances.mjs +13 -13
  396. package/_mjs/collection/immutable/ImmutableNonEmptyArray/instances.mjs.map +1 -1
  397. package/_mjs/collection/immutable/List/api/foldLeft.mjs +11 -9
  398. package/_mjs/collection/immutable/List/api/foldLeft.mjs.map +1 -1
  399. package/_mjs/collection/immutable/List/api.mjs +157 -133
  400. package/_mjs/collection/immutable/List/api.mjs.map +1 -1
  401. package/_mjs/collection/immutable/List.mjs.map +1 -1
  402. package/_mjs/collection/immutable/Queue/api.mjs +55 -39
  403. package/_mjs/collection/immutable/Queue/api.mjs.map +1 -1
  404. package/_mjs/collection/immutable/Queue/definition.mjs +1 -1
  405. package/_mjs/collection/immutable/Queue/definition.mjs.map +1 -1
  406. package/_mjs/collection/immutable/RoseTree/api.mjs +50 -36
  407. package/_mjs/collection/immutable/RoseTree/api.mjs.map +1 -1
  408. package/_mjs/collection/immutable/RoseTree/definition.mjs.map +1 -1
  409. package/_mjs/collection/immutable/SortedMap/api.mjs +398 -358
  410. package/_mjs/collection/immutable/SortedMap/api.mjs.map +1 -1
  411. package/_mjs/collection/immutable/Vector/api.mjs +650 -538
  412. package/_mjs/collection/immutable/Vector/api.mjs.map +1 -1
  413. package/_mjs/collection/immutable/Vector/definition.mjs +16 -14
  414. package/_mjs/collection/immutable/Vector/definition.mjs.map +1 -1
  415. package/_mjs/collection/immutable/Vector/internal.mjs +40 -39
  416. package/_mjs/collection/immutable/Vector/internal.mjs.map +1 -1
  417. package/_mjs/collection/mutable/HashMap.mjs +3 -5
  418. package/_mjs/collection/mutable/HashMap.mjs.map +1 -1
  419. package/_mjs/collection/mutable/HashSet.mjs.map +1 -1
  420. package/_mjs/collection/mutable/ListBuffer.mjs +2 -2
  421. package/_mjs/collection/mutable/ListBuffer.mjs.map +1 -1
  422. package/_mjs/collection/mutable/internal.mjs +0 -2
  423. package/_mjs/collection/mutable/internal.mjs.map +1 -1
  424. package/_mjs/collection/weak/IterableWeakMap.mjs +7 -7
  425. package/_mjs/collection/weak/IterableWeakMap.mjs.map +1 -1
  426. package/_mjs/collection/weak/IterableWeakSet.mjs +7 -7
  427. package/_mjs/collection/weak/IterableWeakSet.mjs.map +1 -1
  428. package/_mjs/control/Eval/api.mjs +40 -28
  429. package/_mjs/control/Eval/api.mjs.map +1 -1
  430. package/_mjs/control/Eval/instance.mjs +5 -5
  431. package/_mjs/control/Eval/instance.mjs.map +1 -1
  432. package/_mjs/control/Eval/run.mjs +1 -1
  433. package/_mjs/control/Eval/run.mjs.map +1 -1
  434. package/_mjs/control/Z/api.mjs +196 -128
  435. package/_mjs/control/Z/api.mjs.map +1 -1
  436. package/_mjs/control/Z/instances.mjs +4 -4
  437. package/_mjs/control/Z/instances.mjs.map +1 -1
  438. package/_mjs/control/Z/runtime.mjs +244 -234
  439. package/_mjs/control/Z/runtime.mjs.map +1 -1
  440. package/_mjs/data/Branded/definition.mjs.map +1 -1
  441. package/_mjs/data/Branded/derivations.mjs +3 -3
  442. package/_mjs/data/Branded/derivations.mjs.map +1 -1
  443. package/_mjs/data/CaseClass.mjs.map +1 -1
  444. package/_mjs/data/Cause/api/fold.mjs +19 -17
  445. package/_mjs/data/Cause/api/fold.mjs.map +1 -1
  446. package/_mjs/data/Cause/api/isEmpty.mjs +1 -1
  447. package/_mjs/data/Cause/api/isEmpty.mjs.map +1 -1
  448. package/_mjs/data/Cause/api/linearize.mjs +8 -8
  449. package/_mjs/data/Cause/api/linearize.mjs.map +1 -1
  450. package/_mjs/data/Cause/api/prettyPrint.mjs +1 -1
  451. package/_mjs/data/Cause/api/prettyPrint.mjs.map +1 -1
  452. package/_mjs/data/Cause/api.mjs +149 -129
  453. package/_mjs/data/Cause/api.mjs.map +1 -1
  454. package/_mjs/data/Cause/definition.mjs +18 -18
  455. package/_mjs/data/Cause/definition.mjs.map +1 -1
  456. package/_mjs/data/Cause.mjs.map +1 -1
  457. package/_mjs/data/Const/api.mjs +6 -4
  458. package/_mjs/data/Const/api.mjs.map +1 -1
  459. package/_mjs/data/Const/instances.mjs +4 -4
  460. package/_mjs/data/Const/instances.mjs.map +1 -1
  461. package/_mjs/data/Datum/api.mjs +220 -179
  462. package/_mjs/data/Datum/api.mjs.map +1 -1
  463. package/_mjs/data/Datum/definition.mjs.map +1 -1
  464. package/_mjs/data/DatumEither/api.mjs +163 -132
  465. package/_mjs/data/DatumEither/api.mjs.map +1 -1
  466. package/_mjs/data/DecodeError/definition.mjs +14 -14
  467. package/_mjs/data/DecodeError/definition.mjs.map +1 -1
  468. package/_mjs/data/Decoder/api.mjs +9 -7
  469. package/_mjs/data/Decoder/api.mjs.map +1 -1
  470. package/_mjs/data/Duration/api.mjs +16 -10
  471. package/_mjs/data/Duration/api.mjs.map +1 -1
  472. package/_mjs/data/Either/api/align.mjs +8 -2
  473. package/_mjs/data/Either/api/align.mjs.map +1 -1
  474. package/_mjs/data/Either/api/alignWith.mjs +13 -11
  475. package/_mjs/data/Either/api/alignWith.mjs.map +1 -1
  476. package/_mjs/data/Either/api.mjs +175 -136
  477. package/_mjs/data/Either/api.mjs.map +1 -1
  478. package/_mjs/data/Either/constructors.mjs +7 -5
  479. package/_mjs/data/Either/constructors.mjs.map +1 -1
  480. package/_mjs/data/Either/destructors.mjs +15 -13
  481. package/_mjs/data/Either/destructors.mjs.map +1 -1
  482. package/_mjs/data/Either/instances.mjs +9 -9
  483. package/_mjs/data/Either/instances.mjs.map +1 -1
  484. package/_mjs/data/EitherT/api.mjs +8 -8
  485. package/_mjs/data/EitherT/api.mjs.map +1 -1
  486. package/_mjs/data/Encoder/api.mjs +102 -0
  487. package/_mjs/data/Encoder/api.mjs.map +1 -0
  488. package/_mjs/data/Encoder/definition.mjs +15 -0
  489. package/_mjs/data/Encoder/definition.mjs.map +1 -0
  490. package/_mjs/data/Encoder.mjs +4 -0
  491. package/_mjs/data/Encoder.mjs.map +1 -0
  492. package/_mjs/data/Environment/api.mjs +45 -33
  493. package/_mjs/data/Environment/api.mjs.map +1 -1
  494. package/_mjs/data/Environment/definition.mjs.map +1 -1
  495. package/_mjs/data/EnvironmentPatch.mjs +188 -0
  496. package/_mjs/data/EnvironmentPatch.mjs.map +1 -0
  497. package/_mjs/data/ExecutionStrategy.mjs +19 -27
  498. package/_mjs/data/ExecutionStrategy.mjs.map +1 -1
  499. package/_mjs/data/Exit/api.mjs +140 -108
  500. package/_mjs/data/Exit/api.mjs.map +1 -1
  501. package/_mjs/data/Exit/constructors.mjs +3 -3
  502. package/_mjs/data/Exit/constructors.mjs.map +1 -1
  503. package/_mjs/data/FiberId/api.mjs +22 -20
  504. package/_mjs/data/FiberId/api.mjs.map +1 -1
  505. package/_mjs/data/FiberId/constructors.mjs.map +1 -1
  506. package/_mjs/data/Identity/api.mjs +21 -13
  507. package/_mjs/data/Identity/api.mjs.map +1 -1
  508. package/_mjs/data/Identity/instances.mjs +4 -4
  509. package/_mjs/data/Identity/instances.mjs.map +1 -1
  510. package/_mjs/data/Interval.mjs +38 -28
  511. package/_mjs/data/Interval.mjs.map +1 -1
  512. package/_mjs/data/Intervals.mjs +35 -27
  513. package/_mjs/data/Intervals.mjs.map +1 -1
  514. package/_mjs/data/Maybe/api.mjs +141 -106
  515. package/_mjs/data/Maybe/api.mjs.map +1 -1
  516. package/_mjs/data/Maybe/constructors.mjs +1 -1
  517. package/_mjs/data/Maybe/constructors.mjs.map +1 -1
  518. package/_mjs/data/Maybe/definition.mjs.map +1 -1
  519. package/_mjs/data/Maybe/destructors.mjs +8 -6
  520. package/_mjs/data/Maybe/destructors.mjs.map +1 -1
  521. package/_mjs/data/Maybe/instances.mjs +12 -12
  522. package/_mjs/data/Maybe/instances.mjs.map +1 -1
  523. package/_mjs/data/Predicate/api.mjs +10 -8
  524. package/_mjs/data/Predicate/api.mjs.map +1 -1
  525. package/_mjs/data/Refinement/api.mjs +15 -9
  526. package/_mjs/data/Refinement/api.mjs.map +1 -1
  527. package/_mjs/data/Struct/api.mjs +56 -44
  528. package/_mjs/data/Struct/api.mjs.map +1 -1
  529. package/_mjs/data/Tag/constructors.mjs +3 -2
  530. package/_mjs/data/Tag/constructors.mjs.map +1 -1
  531. package/_mjs/data/Tag/definition.mjs +0 -2
  532. package/_mjs/data/Tag/definition.mjs.map +1 -1
  533. package/_mjs/data/These/api.mjs +187 -169
  534. package/_mjs/data/These/api.mjs.map +1 -1
  535. package/_mjs/data/These/constructors.mjs +1 -1
  536. package/_mjs/data/These/constructors.mjs.map +1 -1
  537. package/_mjs/data/These/destructors.mjs +35 -31
  538. package/_mjs/data/These/destructors.mjs.map +1 -1
  539. package/_mjs/data/These/instances.mjs +1 -1
  540. package/_mjs/data/These/instances.mjs.map +1 -1
  541. package/_mjs/data/Trace/api.mjs +6 -4
  542. package/_mjs/data/Trace/api.mjs.map +1 -1
  543. package/_mjs/data/Zipped.mjs.map +1 -1
  544. package/_mjs/data/function/api.mjs +5 -3
  545. package/_mjs/data/function/api.mjs.map +1 -1
  546. package/_mjs/data/function/pipe.mjs +7 -0
  547. package/_mjs/data/function/pipe.mjs.map +1 -1
  548. package/_mjs/data/string/api.mjs +46 -66
  549. package/_mjs/data/string/api.mjs.map +1 -1
  550. package/_mjs/global/api.mjs +4 -2
  551. package/_mjs/global/api.mjs.map +1 -1
  552. package/_mjs/internal/AtomicBoolean.mjs.map +1 -1
  553. package/_mjs/internal/AtomicNumber.mjs.map +1 -1
  554. package/_mjs/internal/AtomicReference.mjs.map +1 -1
  555. package/_mjs/internal/Stack.mjs +1 -1
  556. package/_mjs/internal/Stack.mjs.map +1 -1
  557. package/_mjs/optics/At/api.mjs +1 -1
  558. package/_mjs/optics/At/api.mjs.map +1 -1
  559. package/_mjs/optics/At/definition.mjs +2 -2
  560. package/_mjs/optics/At/definition.mjs.map +1 -1
  561. package/_mjs/optics/Fold/definition.mjs +2 -3
  562. package/_mjs/optics/Fold/definition.mjs.map +1 -1
  563. package/_mjs/optics/Getter/definition.mjs +1 -2
  564. package/_mjs/optics/Getter/definition.mjs.map +1 -1
  565. package/_mjs/optics/Index/api.mjs +4 -4
  566. package/_mjs/optics/Index/api.mjs.map +1 -1
  567. package/_mjs/optics/Index/definition.mjs +1 -1
  568. package/_mjs/optics/Index/definition.mjs.map +1 -1
  569. package/_mjs/optics/Iso/api.mjs +8 -6
  570. package/_mjs/optics/Iso/api.mjs.map +1 -1
  571. package/_mjs/optics/Iso/definition.mjs +9 -9
  572. package/_mjs/optics/Iso/definition.mjs.map +1 -1
  573. package/_mjs/optics/Lens/api.mjs +49 -39
  574. package/_mjs/optics/Lens/api.mjs.map +1 -1
  575. package/_mjs/optics/Lens/definition.mjs +7 -7
  576. package/_mjs/optics/Lens/definition.mjs.map +1 -1
  577. package/_mjs/optics/Optional/api/compose.mjs +8 -6
  578. package/_mjs/optics/Optional/api/compose.mjs.map +1 -1
  579. package/_mjs/optics/Optional/definition.mjs +8 -10
  580. package/_mjs/optics/Optional/definition.mjs.map +1 -1
  581. package/_mjs/optics/Optional.mjs.map +1 -1
  582. package/_mjs/optics/Prism/api/compose.mjs +8 -6
  583. package/_mjs/optics/Prism/api/compose.mjs.map +1 -1
  584. package/_mjs/optics/Prism/api/fromNullable.mjs +2 -2
  585. package/_mjs/optics/Prism/api/fromNullable.mjs.map +1 -1
  586. package/_mjs/optics/Prism/api/just.mjs +2 -2
  587. package/_mjs/optics/Prism/api/just.mjs.map +1 -1
  588. package/_mjs/optics/Prism/definition.mjs +6 -6
  589. package/_mjs/optics/Prism/definition.mjs.map +1 -1
  590. package/_mjs/optics/Prism.mjs.map +1 -1
  591. package/_mjs/optics/Setter/definition.mjs +5 -10
  592. package/_mjs/optics/Setter/definition.mjs.map +1 -1
  593. package/_mjs/optics/Traversal/api/compose.mjs +7 -5
  594. package/_mjs/optics/Traversal/api/compose.mjs.map +1 -1
  595. package/_mjs/optics/Traversal/api/fromTraversable.mjs +2 -2
  596. package/_mjs/optics/Traversal/api/fromTraversable.mjs.map +1 -1
  597. package/_mjs/optics/Traversal/definition.mjs +9 -9
  598. package/_mjs/optics/Traversal/definition.mjs.map +1 -1
  599. package/_mjs/optics/Traversal.mjs.map +1 -1
  600. package/_mjs/typeclass/Align.mjs.map +1 -1
  601. package/_mjs/typeclass/Alt.mjs.map +1 -1
  602. package/_mjs/typeclass/Applicative.mjs.map +1 -1
  603. package/_mjs/typeclass/ApplicativeExcept.mjs +6 -10
  604. package/_mjs/typeclass/ApplicativeExcept.mjs.map +1 -1
  605. package/_mjs/typeclass/Apply.mjs +9 -9
  606. package/_mjs/typeclass/Apply.mjs.map +1 -1
  607. package/_mjs/typeclass/Chain.mjs +5 -5
  608. package/_mjs/typeclass/Chain.mjs.map +1 -1
  609. package/_mjs/typeclass/Eq/definition.mjs.map +1 -1
  610. package/_mjs/typeclass/Eq/derivations.mjs.map +1 -1
  611. package/_mjs/typeclass/Equatable/api.mjs.map +1 -1
  612. package/_mjs/typeclass/Equatable/definition.mjs.map +1 -1
  613. package/_mjs/typeclass/Equatable/fast-equals.mjs.map +1 -1
  614. package/_mjs/typeclass/Filterable.mjs.map +1 -1
  615. package/_mjs/typeclass/FilterableWithIndex.mjs.map +1 -1
  616. package/_mjs/typeclass/Foldable.mjs +1 -1
  617. package/_mjs/typeclass/Foldable.mjs.map +1 -1
  618. package/_mjs/typeclass/FoldableWithIndex.mjs +1 -1
  619. package/_mjs/typeclass/FoldableWithIndex.mjs.map +1 -1
  620. package/_mjs/typeclass/Functor.mjs.map +1 -1
  621. package/_mjs/typeclass/FunctorWithIndex.mjs.map +1 -1
  622. package/_mjs/typeclass/Guard/api.mjs +18 -10
  623. package/_mjs/typeclass/Guard/api.mjs.map +1 -1
  624. package/_mjs/typeclass/Guard/definition.mjs.map +1 -1
  625. package/_mjs/typeclass/Guard/derivations.mjs.map +1 -1
  626. package/_mjs/typeclass/Has.mjs +7 -5
  627. package/_mjs/typeclass/Has.mjs.map +1 -1
  628. package/_mjs/typeclass/HashEq.mjs.map +1 -1
  629. package/_mjs/typeclass/Hashable/definition.mjs.map +1 -1
  630. package/_mjs/typeclass/Hashable/hash.mjs.map +1 -1
  631. package/_mjs/typeclass/MonadExcept.mjs +1 -1
  632. package/_mjs/typeclass/MonadExcept.mjs.map +1 -1
  633. package/_mjs/typeclass/Ord/api/contramap.mjs +7 -5
  634. package/_mjs/typeclass/Ord/api/contramap.mjs.map +1 -1
  635. package/_mjs/typeclass/Ord/api/max.mjs.map +1 -1
  636. package/_mjs/typeclass/Ord/api/min.mjs.map +1 -1
  637. package/_mjs/typeclass/Ord/definition.mjs.map +1 -1
  638. package/_mjs/typeclass/Ord/instances.mjs.map +1 -1
  639. package/_mjs/typeclass/Ordering.mjs.map +1 -1
  640. package/_mjs/typeclass/Semialign.mjs +7 -7
  641. package/_mjs/typeclass/Semialign.mjs.map +1 -1
  642. package/_mjs/typeclass/Semigroup/api.mjs.map +1 -1
  643. package/_mjs/typeclass/Semigroup/definition.mjs.map +1 -1
  644. package/_mjs/typeclass/Semigroup/derivations.mjs.map +1 -1
  645. package/_mjs/typeclass/Semimonoidal.mjs.map +1 -1
  646. package/_mjs/typeclass/Showable/definition.mjs.map +1 -1
  647. package/_mjs/typeclass/Showable/show.mjs +107 -107
  648. package/_mjs/typeclass/Showable/show.mjs.map +1 -1
  649. package/_mjs/typeclass/Showable/styles.mjs.map +1 -1
  650. package/_mjs/typeclass/Showable/util.mjs +1 -1
  651. package/_mjs/typeclass/Showable/util.mjs.map +1 -1
  652. package/_mjs/typeclass/Traversable.mjs +1 -2
  653. package/_mjs/typeclass/Traversable.mjs.map +1 -1
  654. package/_mjs/typeclass/TraversableWithIndex.mjs.map +1 -1
  655. package/_mjs/typeclass/Witherable.mjs +2 -1
  656. package/_mjs/typeclass/Witherable.mjs.map +1 -1
  657. package/_mjs/typeclass/WitherableWithIndex.mjs +2 -1
  658. package/_mjs/typeclass/WitherableWithIndex.mjs.map +1 -1
  659. package/_mjs/util/AnsiFormat.mjs +11 -11
  660. package/_mjs/util/AnsiFormat.mjs.map +1 -1
  661. package/_mjs/util/PCGRandom.mjs.map +1 -1
  662. package/_mjs/util/assert.mjs.map +1 -1
  663. package/_mjs/util/pattern.mjs.map +1 -1
  664. package/_mjs/util/predicates.mjs.map +1 -1
  665. package/_mjs/util/rand/Random.mjs.map +1 -1
  666. package/_mjs/util/rand/distribution/UniformArrayIntDistribution.mjs.map +1 -1
  667. package/_mjs/util/rand/distribution/UniformBigIntDistribution.mjs.map +1 -1
  668. package/_mjs/util/rand/distribution/UniformIntDistribution.mjs.map +1 -1
  669. package/_mjs/util/rand/distribution/internals/ArrayInt.mjs.map +1 -1
  670. package/_mjs/util/rand/distribution/internals/UniformArrayIntDistributionInternal.mjs.map +1 -1
  671. package/_mjs/util/rand/distribution/internals/UniformIntDistributionInternal.mjs.map +1 -1
  672. package/_mjs/util/rand/generator/MersenneTwister.mjs.map +1 -1
  673. package/_mjs/util/rand/generator/RandomGenerator.mjs.map +1 -1
  674. package/_mjs/util/rand.mjs.map +1 -1
  675. package/_src/collection/Iterable/api/traverseConc.ts +3 -3
  676. package/_src/collection/Iterable/api.ts +445 -408
  677. package/_src/collection/Iterable/constructors.ts +1 -1
  678. package/_src/collection/compat/Array/api.ts +16 -13
  679. package/_src/collection/compat/Array/derivations.ts +27 -1
  680. package/_src/collection/compat/Record/instances.ts +51 -2
  681. package/_src/collection/immutable/Conc/api.ts +716 -607
  682. package/_src/collection/immutable/Conc/definition.ts +60 -68
  683. package/_src/collection/immutable/Conc/derivations.ts +13 -0
  684. package/_src/collection/immutable/Conc.ts +0 -1
  685. package/_src/collection/immutable/Dictionary/api.ts +44 -32
  686. package/_src/collection/immutable/HashMap/api.ts +338 -224
  687. package/_src/collection/immutable/HashMap/internal.ts +3 -7
  688. package/_src/collection/immutable/HashSet/api.ts +193 -158
  689. package/_src/collection/immutable/ImmutableArray/api/chunksOf.ts +5 -3
  690. package/_src/collection/immutable/ImmutableArray/api/slice.ts +5 -3
  691. package/_src/collection/immutable/ImmutableArray/api/splitAt.ts +5 -3
  692. package/_src/collection/immutable/ImmutableArray/api/splitWhere.ts +13 -14
  693. package/_src/collection/immutable/ImmutableArray/api.ts +870 -722
  694. package/_src/collection/immutable/ImmutableArray/derivations.ts +13 -0
  695. package/_src/collection/immutable/ImmutableArray/instances.ts +54 -73
  696. package/_src/collection/immutable/ImmutableArray.ts +0 -1
  697. package/_src/collection/immutable/ImmutableNonEmptyArray/api.ts +311 -273
  698. package/_src/collection/immutable/ImmutableNonEmptyArray/constructors.ts +19 -4
  699. package/_src/collection/immutable/ImmutableNonEmptyArray/definition.ts +0 -1
  700. package/_src/collection/immutable/ImmutableNonEmptyArray/derivations.ts +13 -0
  701. package/_src/collection/immutable/ImmutableNonEmptyArray/instances.ts +22 -23
  702. package/_src/collection/immutable/List/api/foldLeft.ts +11 -9
  703. package/_src/collection/immutable/List/api.ts +147 -133
  704. package/_src/collection/immutable/List.ts +0 -1
  705. package/_src/collection/immutable/Queue/api.ts +53 -37
  706. package/_src/collection/immutable/Queue/definition.ts +0 -1
  707. package/_src/collection/immutable/RoseTree/api.ts +38 -32
  708. package/_src/collection/immutable/RoseTree/definition.ts +2 -0
  709. package/_src/collection/immutable/SortedMap/api.ts +364 -332
  710. package/_src/collection/immutable/Vector/api.ts +608 -482
  711. package/_src/collection/immutable/Vector/definition.ts +11 -12
  712. package/_src/collection/immutable/Vector/internal.ts +37 -38
  713. package/_src/collection/mutable/HashMap.ts +1 -4
  714. package/_src/collection/mutable/HashSet.ts +1 -2
  715. package/_src/collection/mutable/ListBuffer.ts +1 -1
  716. package/_src/collection/mutable/internal.ts +0 -2
  717. package/_src/collection/weak/IterableWeakMap.ts +11 -7
  718. package/_src/collection/weak/IterableWeakSet.ts +10 -5
  719. package/_src/control/Eval/api.ts +35 -19
  720. package/_src/control/Eval/instance.ts +5 -5
  721. package/_src/control/Z/api.ts +191 -208
  722. package/_src/control/Z/instances.ts +4 -5
  723. package/_src/control/Z/runtime.ts +190 -189
  724. package/_src/data/Branded/definition.ts +11 -12
  725. package/_src/data/Branded/derivations.ts +2 -2
  726. package/_src/data/CaseClass.ts +4 -1
  727. package/_src/data/Cause/api/fold.ts +13 -14
  728. package/_src/data/Cause/api.ts +125 -105
  729. package/_src/data/Cause.ts +0 -1
  730. package/_src/data/Const/api.ts +6 -4
  731. package/_src/data/Const/instances.ts +3 -3
  732. package/_src/data/Datum/api.ts +229 -197
  733. package/_src/data/Datum/definition.ts +2 -5
  734. package/_src/data/DatumEither/api.ts +208 -193
  735. package/_src/data/Decoder/api.ts +5 -3
  736. package/_src/data/Duration/api.ts +19 -15
  737. package/_src/data/Either/api/align.ts +7 -2
  738. package/_src/data/Either/api/alignWith.ts +13 -15
  739. package/_src/data/Either/api.ts +141 -119
  740. package/_src/data/Either/constructors.ts +12 -10
  741. package/_src/data/Either/destructors.ts +11 -9
  742. package/_src/data/Either/instances.ts +24 -20
  743. package/_src/data/EitherT/api.ts +43 -49
  744. package/_src/data/Encoder/api.ts +123 -0
  745. package/_src/data/Encoder/definition.ts +12 -0
  746. package/_src/data/Encoder.ts +4 -0
  747. package/_src/data/Environment/api.ts +52 -44
  748. package/_src/data/Environment/definition.ts +6 -0
  749. package/_src/data/EnvironmentPatch.ts +137 -0
  750. package/_src/data/ExecutionStrategy.ts +14 -24
  751. package/_src/data/Exit/api.ts +104 -73
  752. package/_src/data/Exit/constructors.ts +2 -2
  753. package/_src/data/FiberId/api.ts +19 -17
  754. package/_src/data/FiberId/constructors.ts +1 -2
  755. package/_src/data/Identity/api.ts +20 -12
  756. package/_src/data/Identity/instances.ts +4 -7
  757. package/_src/data/Interval.ts +39 -29
  758. package/_src/data/Intervals.ts +31 -23
  759. package/_src/data/Maybe/api.ts +112 -79
  760. package/_src/data/Maybe/constructors.ts +3 -3
  761. package/_src/data/Maybe/definition.ts +11 -1
  762. package/_src/data/Maybe/destructors.ts +6 -4
  763. package/_src/data/Maybe/instances.ts +10 -21
  764. package/_src/data/Predicate/api.ts +14 -8
  765. package/_src/data/Refinement/api.ts +19 -13
  766. package/_src/data/Struct/api.ts +75 -55
  767. package/_src/data/Tag/constructors.ts +1 -2
  768. package/_src/data/Tag/definition.ts +0 -1
  769. package/_src/data/These/api.ts +114 -114
  770. package/_src/data/These/destructors.ts +23 -24
  771. package/_src/data/Trace/api.ts +5 -3
  772. package/_src/data/Zipped.ts +3 -4
  773. package/_src/data/function/api.ts +6 -7
  774. package/_src/data/function/pipe.ts +9 -1
  775. package/_src/data/string/api.ts +40 -60
  776. package/_src/data.ts +2 -1
  777. package/_src/global/api.ts +7 -12
  778. package/_src/global.ts +8 -0
  779. package/_src/internal/AtomicBoolean.ts +0 -1
  780. package/_src/internal/AtomicNumber.ts +0 -7
  781. package/_src/internal/AtomicReference.ts +0 -4
  782. package/_src/internal/Stack.ts +1 -7
  783. package/_src/optics/At/definition.ts +5 -3
  784. package/_src/optics/Fold/definition.ts +3 -10
  785. package/_src/optics/Getter/definition.ts +1 -2
  786. package/_src/optics/Index/definition.ts +1 -1
  787. package/_src/optics/Iso/api.ts +8 -6
  788. package/_src/optics/Iso/definition.ts +3 -3
  789. package/_src/optics/Lens/api.ts +44 -42
  790. package/_src/optics/Lens/definition.ts +5 -5
  791. package/_src/optics/Optional/api/compose.ts +9 -9
  792. package/_src/optics/Optional/definition.ts +9 -16
  793. package/_src/optics/Optional.ts +0 -1
  794. package/_src/optics/Prism/api/compose.ts +9 -6
  795. package/_src/optics/Prism/definition.ts +3 -3
  796. package/_src/optics/Prism.ts +0 -1
  797. package/_src/optics/Setter/definition.ts +3 -23
  798. package/_src/optics/Traversal/api/compose.ts +7 -8
  799. package/_src/optics/Traversal/api/fromTraversable.ts +1 -1
  800. package/_src/optics/Traversal/definition.ts +10 -15
  801. package/_src/optics/Traversal.ts +0 -1
  802. package/_src/typeclass/Align.ts +0 -3
  803. package/_src/typeclass/Alt.ts +2 -1
  804. package/_src/typeclass/Applicative.ts +0 -1
  805. package/_src/typeclass/ApplicativeExcept.ts +15 -10
  806. package/_src/typeclass/Apply.ts +30 -33
  807. package/_src/typeclass/Chain.ts +9 -12
  808. package/_src/typeclass/Eq/definition.ts +0 -3
  809. package/_src/typeclass/Eq/derivations.ts +0 -2
  810. package/_src/typeclass/Equatable/api.ts +0 -2
  811. package/_src/typeclass/Equatable/definition.ts +0 -4
  812. package/_src/typeclass/Equatable/fast-equals.ts +11 -93
  813. package/_src/typeclass/Filterable.ts +19 -13
  814. package/_src/typeclass/FilterableWithIndex.ts +19 -13
  815. package/_src/typeclass/Foldable.ts +7 -10
  816. package/_src/typeclass/FoldableWithIndex.ts +7 -10
  817. package/_src/typeclass/Functor.ts +6 -4
  818. package/_src/typeclass/FunctorWithIndex.ts +3 -2
  819. package/_src/typeclass/Guard/api.ts +21 -16
  820. package/_src/typeclass/Guard/definition.ts +0 -3
  821. package/_src/typeclass/Guard/derivations.ts +5 -6
  822. package/_src/typeclass/Has.ts +6 -4
  823. package/_src/typeclass/HashEq.ts +0 -7
  824. package/_src/typeclass/Hashable/definition.ts +0 -4
  825. package/_src/typeclass/Hashable/hash.ts +0 -26
  826. package/_src/typeclass/MonadExcept.ts +1 -1
  827. package/_src/typeclass/Ord/api/contramap.ts +7 -6
  828. package/_src/typeclass/Ord/api/max.ts +0 -1
  829. package/_src/typeclass/Ord/api/min.ts +0 -1
  830. package/_src/typeclass/Ord/definition.ts +0 -4
  831. package/_src/typeclass/Ord/instances.ts +0 -2
  832. package/_src/typeclass/Ordering.ts +2 -0
  833. package/_src/typeclass/Semialign.ts +43 -32
  834. package/_src/typeclass/Semigroup/api.ts +0 -2
  835. package/_src/typeclass/Semigroup/definition.ts +0 -4
  836. package/_src/typeclass/Semigroup/derivations.ts +0 -2
  837. package/_src/typeclass/Semimonoidal.ts +3 -2
  838. package/_src/typeclass/Showable/definition.ts +0 -6
  839. package/_src/typeclass/Showable/show.ts +1 -57
  840. package/_src/typeclass/Showable/styles.ts +0 -8
  841. package/_src/typeclass/Showable/util.ts +22 -57
  842. package/_src/typeclass/Traversable.ts +13 -18
  843. package/_src/typeclass/TraversableWithIndex.ts +5 -7
  844. package/_src/typeclass/Witherable.ts +21 -13
  845. package/_src/typeclass/WitherableWithIndex.ts +26 -17
  846. package/_src/typeclass/builtin/Symbol.ts +0 -1
  847. package/_src/types/extractions.ts +12 -3
  848. package/_src/types/utility.ts +3 -5
  849. package/_src/util/AnsiFormat.ts +0 -25
  850. package/_src/util/PCGRandom.ts +4 -9
  851. package/_src/util/assert.ts +1 -2
  852. package/_src/util/pattern.ts +91 -12
  853. package/_src/util/predicates.ts +3 -1
  854. package/_src/util/rand/Random.ts +12 -16
  855. package/_src/util/rand/distribution/Distribution.ts +0 -1
  856. package/_src/util/rand/distribution/UniformArrayIntDistribution.ts +0 -3
  857. package/_src/util/rand/distribution/UniformBigIntDistribution.ts +0 -5
  858. package/_src/util/rand/distribution/UniformIntDistribution.ts +0 -7
  859. package/_src/util/rand/distribution/internals/ArrayInt.ts +3 -13
  860. package/_src/util/rand/distribution/internals/UniformArrayIntDistributionInternal.ts +0 -3
  861. package/_src/util/rand/distribution/internals/UniformIntDistributionInternal.ts +0 -4
  862. package/_src/util/rand/generator/MersenneTwister.ts +6 -29
  863. package/_src/util/rand/generator/RandomGenerator.ts +0 -3
  864. package/_src/util/rand.ts +0 -2
  865. package/collection/Iterable/api/traverseConc.d.ts +2 -2
  866. package/collection/Iterable/api.d.ts +64 -64
  867. package/collection/Iterable/constructors.d.ts +1 -1
  868. package/collection/compat/Array/api.d.ts +6 -6
  869. package/collection/compat/Array/derivations.d.ts +11 -0
  870. package/collection/compat/Record/instances.d.ts +30 -6
  871. package/collection/immutable/Conc/api.d.ts +108 -105
  872. package/collection/immutable/Conc/definition.d.ts +2 -2
  873. package/collection/immutable/Conc/derivations.d.ts +6 -0
  874. package/collection/immutable/Dictionary/api.d.ts +12 -12
  875. package/collection/immutable/HashMap/api.d.ts +76 -70
  876. package/collection/immutable/HashSet/api.d.ts +45 -41
  877. package/collection/immutable/ImmutableArray/api/chunksOf.d.ts +2 -2
  878. package/collection/immutable/ImmutableArray/api/slice.d.ts +2 -2
  879. package/collection/immutable/ImmutableArray/api/splitAt.d.ts +2 -2
  880. package/collection/immutable/ImmutableArray/api/splitWhere.d.ts +3 -3
  881. package/collection/immutable/ImmutableArray/api.d.ts +206 -206
  882. package/collection/immutable/ImmutableArray/derivations.d.ts +6 -0
  883. package/collection/immutable/ImmutableNonEmptyArray/api.d.ts +64 -63
  884. package/collection/immutable/ImmutableNonEmptyArray/derivations.d.ts +6 -0
  885. package/collection/immutable/List/api/foldLeft.d.ts +2 -2
  886. package/collection/immutable/List/api.d.ts +24 -24
  887. package/collection/immutable/Queue/api.d.ts +16 -16
  888. package/collection/immutable/RoseTree/api.d.ts +14 -14
  889. package/collection/immutable/SortedMap/api.d.ts +41 -41
  890. package/collection/immutable/Vector/api.d.ts +121 -117
  891. package/collection/immutable/Vector/definition.d.ts +2 -2
  892. package/collection/immutable/Vector/internal.d.ts +2 -2
  893. package/collection/mutable/ListBuffer.d.ts +1 -1
  894. package/control/Eval/api.d.ts +12 -12
  895. package/control/Z/api.d.ts +68 -68
  896. package/control/Z/runtime.d.ts +10 -10
  897. package/data/Branded/derivations.d.ts +2 -2
  898. package/data/Cause/api/fold.d.ts +3 -3
  899. package/data/Cause/api.d.ts +20 -20
  900. package/data/Const/api.d.ts +3 -3
  901. package/data/Datum/api.d.ts +43 -41
  902. package/data/DatumEither/api.d.ts +48 -46
  903. package/data/Decoder/api.d.ts +2 -2
  904. package/data/Duration/api.d.ts +7 -7
  905. package/data/Either/api/align.d.ts +5 -1
  906. package/data/Either/api/alignWith.d.ts +2 -2
  907. package/data/Either/api.d.ts +40 -46
  908. package/data/Either/constructors.d.ts +6 -6
  909. package/data/Either/destructors.d.ts +2 -2
  910. package/data/EitherT/api.d.ts +6 -6
  911. package/data/Encoder/api.d.ts +73 -0
  912. package/data/Encoder/definition.d.ts +12 -0
  913. package/data/Encoder.d.ts +2 -0
  914. package/data/Environment/api.d.ts +14 -14
  915. package/data/Environment/definition.d.ts +4 -0
  916. package/data/EnvironmentPatch.d.ts +73 -0
  917. package/data/ExecutionStrategy.d.ts +1 -6
  918. package/data/Exit/api.d.ts +32 -32
  919. package/data/Exit/constructors.d.ts +2 -2
  920. package/data/FiberId/api.d.ts +2 -2
  921. package/data/Identity/api.d.ts +8 -8
  922. package/data/Interval.d.ts +11 -11
  923. package/data/Intervals.d.ts +11 -11
  924. package/data/Maybe/api.d.ts +36 -37
  925. package/data/Maybe/constructors.d.ts +2 -2
  926. package/data/Maybe/definition.d.ts +7 -3
  927. package/data/Maybe/destructors.d.ts +2 -2
  928. package/data/Predicate/api.d.ts +5 -5
  929. package/data/Refinement/api.d.ts +9 -9
  930. package/data/Struct/api.d.ts +13 -23
  931. package/data/Tag/constructors.d.ts +1 -2
  932. package/data/Tag/definition.d.ts +0 -1
  933. package/data/These/api.d.ts +18 -22
  934. package/data/These/destructors.d.ts +4 -4
  935. package/data/Trace/api.d.ts +2 -2
  936. package/data/function/api.d.ts +3 -3
  937. package/data/function/pipe.d.ts +7 -1
  938. package/data/string/api.d.ts +9 -49
  939. package/data.d.ts +2 -1
  940. package/global/api.d.ts +3 -3
  941. package/global.d.ts +8 -0
  942. package/internal/Stack.d.ts +1 -1
  943. package/optics/At/definition.d.ts +1 -1
  944. package/optics/Fold/definition.d.ts +2 -6
  945. package/optics/Getter/definition.d.ts +1 -1
  946. package/optics/Index/definition.d.ts +1 -1
  947. package/optics/Iso/api.d.ts +2 -2
  948. package/optics/Iso/definition.d.ts +2 -2
  949. package/optics/Lens/api.d.ts +10 -10
  950. package/optics/Lens/definition.d.ts +4 -4
  951. package/optics/Optional/api/compose.d.ts +2 -2
  952. package/optics/Optional/definition.d.ts +4 -8
  953. package/optics/Prism/api/compose.d.ts +2 -2
  954. package/optics/Prism/definition.d.ts +2 -2
  955. package/optics/Setter/definition.d.ts +2 -14
  956. package/optics/Traversal/api/compose.d.ts +2 -2
  957. package/optics/Traversal/definition.d.ts +4 -4
  958. package/package.json +1 -1
  959. package/typeclass/Alt.d.ts +1 -1
  960. package/typeclass/ApplicativeExcept.d.ts +2 -6
  961. package/typeclass/Apply.d.ts +5 -5
  962. package/typeclass/Chain.d.ts +4 -4
  963. package/typeclass/Filterable.d.ts +6 -6
  964. package/typeclass/FilterableWithIndex.d.ts +6 -6
  965. package/typeclass/Foldable.d.ts +4 -4
  966. package/typeclass/FoldableWithIndex.d.ts +4 -4
  967. package/typeclass/Functor.d.ts +2 -2
  968. package/typeclass/FunctorWithIndex.d.ts +1 -1
  969. package/typeclass/Guard/api.d.ts +7 -7
  970. package/typeclass/Has.d.ts +3 -3
  971. package/typeclass/Ord/api/contramap.d.ts +2 -2
  972. package/typeclass/Semialign.d.ts +14 -14
  973. package/typeclass/Semimonoidal.d.ts +1 -1
  974. package/typeclass/Traversable.d.ts +4 -6
  975. package/typeclass/TraversableWithIndex.d.ts +2 -2
  976. package/typeclass/Witherable.d.ts +3 -3
  977. package/typeclass/WitherableWithIndex.d.ts +5 -5
  978. package/types/extractions.d.ts +10 -6
  979. package/util/assert.d.ts +1 -1
  980. package/_cjs/data/Patch/api.cjs.map +0 -1
  981. package/_cjs/data/Patch/definition.cjs +0 -88
  982. package/_cjs/data/Patch/definition.cjs.map +0 -1
  983. package/_cjs/data/Patch.cjs.map +0 -1
  984. package/_mjs/data/Patch/api.mjs +0 -112
  985. package/_mjs/data/Patch/api.mjs.map +0 -1
  986. package/_mjs/data/Patch/definition.mjs +0 -61
  987. package/_mjs/data/Patch/definition.mjs.map +0 -1
  988. package/_mjs/data/Patch.mjs +0 -4
  989. package/_mjs/data/Patch.mjs.map +0 -1
  990. package/_src/data/Patch/api.ts +0 -75
  991. package/_src/data/Patch/definition.ts +0 -58
  992. package/_src/data/Patch.ts +0 -4
  993. package/data/Patch/api.d.ts +0 -24
  994. package/data/Patch/definition.d.ts +0 -44
  995. package/data/Patch.d.ts +0 -2
@@ -3,77 +3,79 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.append_ = void 0;
7
- exports.chunksOf_ = chunksOf_;
8
- exports.concat_ = void 0;
9
- exports.contains_ = contains_;
10
- exports.dropLast_ = dropLast_;
6
+ exports._traverse = _traverse;
7
+ exports.append = exports._traverseWithIndex = void 0;
8
+ exports.chunksOf = chunksOf;
9
+ exports.concat = void 0;
10
+ exports.contains = contains;
11
+ exports.drop = drop;
12
+ exports.dropLast = dropLast;
11
13
  exports.dropRepeats = dropRepeats;
12
- exports.dropRepeatsWith_ = void 0;
13
- exports.dropWhile_ = dropWhile_;
14
- exports.drop_ = drop_;
15
- exports.elem_ = elem_;
14
+ exports.dropRepeatsWith = void 0;
15
+ exports.dropWhile = dropWhile;
16
+ exports.elem = elem;
16
17
  exports.emptyPushable = exports.empty = void 0;
17
- exports.equals_ = equals_;
18
- exports.every_ = every_;
19
- exports.findIndex_ = exports.exists_ = void 0;
20
- exports.findLastIndex_ = findLastIndex_;
21
- exports.findLast_ = findLast_;
22
- exports.find_ = find_;
23
- exports.flatMap_ = flatMap_;
24
- exports.flatten = void 0;
25
- exports.foldLeftWhile_ = foldLeftWhile_;
26
- exports.foldMapWithIndex_ = exports.foldLeft_ = exports.foldLeftWithIndex_ = void 0;
27
- exports.foldMap_ = foldMap_;
28
- exports.foldRightWhile_ = foldRightWhile_;
29
- exports.foldRightWithIndex_ = void 0;
30
- exports.foldRight_ = foldRight_;
31
- exports.forEachWithIndex_ = forEachWithIndex_;
32
- exports.forEach_ = void 0;
18
+ exports.equals = equals;
19
+ exports.every = every;
20
+ exports.exists = void 0;
21
+ exports.find = find;
22
+ exports.findIndex = void 0;
23
+ exports.findLast = findLast;
24
+ exports.findLastIndex = findLastIndex;
25
+ exports.flatMap = flatMap;
26
+ exports.foldLeft = exports.flatten = void 0;
27
+ exports.foldLeftWhile = foldLeftWhile;
28
+ exports.foldLeftWithIndex = void 0;
29
+ exports.foldMap = foldMap;
30
+ exports.foldMapWithIndex = void 0;
31
+ exports.foldRight = foldRight;
32
+ exports.foldRightWhile = foldRightWhile;
33
+ exports.forEach = exports.foldRightWithIndex = void 0;
34
+ exports.forEachWithIndex = forEachWithIndex;
33
35
  exports.from = from;
34
- exports.get_ = get_;
35
- exports.groupWith_ = groupWith_;
36
+ exports.get = get;
37
+ exports.groupWith = groupWith;
36
38
  exports.head = head;
37
- exports.indexOf_ = indexOf_;
38
- exports.insertAllAt_ = insertAllAt_;
39
- exports.insertAt_ = insertAt_;
40
- exports.intersperse_ = intersperse_;
39
+ exports.indexOf = indexOf;
40
+ exports.insertAllAt = insertAllAt;
41
+ exports.insertAt = insertAt;
42
+ exports.intersperse = intersperse;
41
43
  exports.isEmpty = isEmpty;
42
44
  exports.isNonEmpty = isNonEmpty;
43
- exports.join_ = join_;
45
+ exports.join = join;
44
46
  exports.last = last;
45
- exports.lastIndexOf_ = lastIndexOf_;
47
+ exports.lastIndexOf = lastIndexOf;
46
48
  exports.makeBy = makeBy;
47
- exports.mapAccum_ = mapAccum_;
48
- exports.map_ = exports.mapWithIndex_ = void 0;
49
- exports.modifyAt_ = modifyAt_;
49
+ exports.map = void 0;
50
+ exports.mapAccum = mapAccum;
51
+ exports.mapWithIndex = void 0;
52
+ exports.modifyAt = modifyAt;
50
53
  exports.mutableClone = void 0;
51
- exports.none_ = none_;
54
+ exports.none = none;
52
55
  exports.pair = pair;
53
- exports.pop = void 0;
56
+ exports.prepend = exports.pop = void 0;
54
57
  exports.prependOperator = prependOperator;
55
- exports.prepend_ = void 0;
56
58
  exports.range = range;
57
- exports.remove_ = remove_;
59
+ exports.remove = remove;
58
60
  exports.replicate = replicate;
59
61
  exports.reverse = reverse;
60
- exports.scanLeft_ = scanLeft_;
62
+ exports.scanLeft = scanLeft;
61
63
  exports.single = single;
62
- exports.sortWith_ = exports.slice_ = void 0;
63
- exports.sort_ = sort_;
64
- exports.splitAt_ = void 0;
65
- exports.splitWhen_ = splitWhen_;
64
+ exports.slice = void 0;
65
+ exports.sort = sort;
66
+ exports.splitAt = exports.sortWith = void 0;
67
+ exports.splitWhen = splitWhen;
66
68
  exports.tail = tail;
67
- exports.takeLastWhile_ = takeLastWhile_;
68
- exports.takeLast_ = takeLast_;
69
- exports.takeWhile_ = takeWhile_;
70
- exports.take_ = take_;
69
+ exports.take = take;
70
+ exports.takeLast = takeLast;
71
+ exports.takeLastWhile = takeLastWhile;
72
+ exports.takeWhile = takeWhile;
71
73
  exports.toArray = toArray;
72
74
  exports.toList = toList;
73
75
  exports.traverseWithIndex = exports.traverse = void 0;
74
76
  exports.unfold = unfold;
75
77
  exports.uniq = uniq;
76
- exports.vector = exports.updateAt_ = exports.unsafeLast = exports.unsafeHead = exports.unsafeGet_ = exports.unsafeFind_ = exports.unsafeFindLast_ = void 0;
78
+ exports.vector = exports.updateAt = exports.unsafeLast = exports.unsafeHead = exports.unsafeGet = exports.unsafeFindLast = exports.unsafeFind = void 0;
77
79
 
78
80
  var tsplus_module_1 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/base/collection/immutable/Vector"));
79
81
 
@@ -87,68 +89,68 @@ var tsplus_module_5 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require
87
89
 
88
90
  var tsplus_module_6 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/base/collection/mutable/ListBuffer"));
89
91
 
90
- var tsplus_module_7 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/base/typeclass/TraversableWithIndex"));
91
-
92
- var tsplus_module_8 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/base/data/Maybe/definition"));
92
+ var tsplus_module_7 = /*#__PURE__*/_interopRequireWildcard( /*#__PURE__*/require("@fncts/base/data/Maybe/definition"));
93
93
 
94
94
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
95
95
 
96
96
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
97
97
 
98
- const append_ = append_1;
99
- exports.append_ = append_;
100
- const concat_ = concat_1;
101
- exports.concat_ = concat_;
102
- const dropRepeatsWith_ = dropRepeatsWith_1;
103
- exports.dropRepeatsWith_ = dropRepeatsWith_;
98
+ const append = append_1;
99
+ exports.append = append;
100
+ const concat = concat_1;
101
+ exports.concat = concat;
102
+ const dropRepeatsWith = dropRepeatsWith_1;
103
+ exports.dropRepeatsWith = dropRepeatsWith;
104
104
  const empty = empty_1;
105
105
  exports.empty = empty;
106
106
  const emptyPushable = emptyPushable_1;
107
107
  exports.emptyPushable = emptyPushable;
108
- const exists_ = exists_1;
109
- exports.exists_ = exists_;
110
- const findIndex_ = findIndex_1;
111
- exports.findIndex_ = findIndex_;
108
+ const exists = exists_1;
109
+ exports.exists = exists;
110
+ const findIndex = findIndex_1;
111
+ exports.findIndex = findIndex;
112
112
  const flatten = flatten_1;
113
113
  exports.flatten = flatten;
114
- const foldLeft_ = foldLeft_1;
115
- exports.foldLeft_ = foldLeft_;
116
- const foldLeftWithIndex_ = foldLeftWithIndex_1;
117
- exports.foldLeftWithIndex_ = foldLeftWithIndex_;
118
- const foldMapWithIndex_ = foldMapWithIndex_1;
119
- exports.foldMapWithIndex_ = foldMapWithIndex_;
120
- const foldRightWithIndex_ = foldRightWithIndex_1;
121
- exports.foldRightWithIndex_ = foldRightWithIndex_;
122
- const forEach_ = forEach_1;
123
- exports.forEach_ = forEach_;
124
- const map_ = map_1;
125
- exports.map_ = map_;
126
- const mapWithIndex_ = mapWithIndex_1;
127
- exports.mapWithIndex_ = mapWithIndex_;
114
+ const foldLeft = foldLeft_1;
115
+ exports.foldLeft = foldLeft;
116
+ const foldLeftWithIndex = foldLeftWithIndex_1;
117
+ exports.foldLeftWithIndex = foldLeftWithIndex;
118
+ const foldMapWithIndex = foldMapWithIndex_1;
119
+ exports.foldMapWithIndex = foldMapWithIndex;
120
+ const foldRightWithIndex = foldRightWithIndex_1;
121
+ exports.foldRightWithIndex = foldRightWithIndex;
122
+ const forEach = forEach_1;
123
+ exports.forEach = forEach;
124
+ const map = map_1;
125
+ exports.map = map;
126
+ const mapWithIndex = mapWithIndex_1;
127
+ exports.mapWithIndex = mapWithIndex;
128
128
  const mutableClone = mutableClone_1;
129
129
  exports.mutableClone = mutableClone;
130
130
  const pop = pop_1;
131
131
  exports.pop = pop;
132
- const prepend_ = prepend_1;
133
- exports.prepend_ = prepend_;
134
- const slice_ = slice_1;
135
- exports.slice_ = slice_;
136
- const sortWith_ = sortWith_1;
137
- exports.sortWith_ = sortWith_;
138
- const splitAt_ = splitAt_1;
139
- exports.splitAt_ = splitAt_;
140
- const unsafeFind_ = unsafeFind_1;
141
- exports.unsafeFind_ = unsafeFind_;
142
- const unsafeFindLast_ = unsafeFindLast_1;
143
- exports.unsafeFindLast_ = unsafeFindLast_;
144
- const unsafeGet_ = unsafeGet_1;
145
- exports.unsafeGet_ = unsafeGet_;
132
+ const prepend = prepend_1;
133
+ exports.prepend = prepend;
134
+ const slice = slice_1;
135
+ exports.slice = slice;
136
+ const sortWith = sortWith_1;
137
+ exports.sortWith = sortWith;
138
+ const splitAt = splitAt_1;
139
+ exports.splitAt = splitAt;
140
+ const _traverseWithIndex = _traverseWithIndex_1;
141
+ exports._traverseWithIndex = _traverseWithIndex;
142
+ const unsafeFind = unsafeFind_1;
143
+ exports.unsafeFind = unsafeFind;
144
+ const unsafeFindLast = unsafeFindLast_1;
145
+ exports.unsafeFindLast = unsafeFindLast;
146
+ const unsafeGet = unsafeGet_1;
147
+ exports.unsafeGet = unsafeGet;
146
148
  const unsafeHead = unsafeHead_1;
147
149
  exports.unsafeHead = unsafeHead;
148
150
  const unsafeLast = unsafeLast_1;
149
151
  exports.unsafeLast = unsafeLast;
150
- const updateAt_ = updateAt_1;
151
- exports.updateAt_ = updateAt_;
152
+ const updateAt = updateAt_1;
153
+ exports.updateAt = updateAt;
152
154
  const vector = vector_1;
153
155
  exports.vector = vector;
154
156
 
@@ -157,116 +159,124 @@ exports.vector = vector;
157
159
  *
158
160
  * @complexity O(n)
159
161
  *
160
- * @tsplus fluent fncts.Vector append
161
- * @tsplus operator fncts.Vector +
162
+ * @tsplus pipeable fncts.Vector append
163
+ * @tsplus pipeable-operator fncts.Vector +
162
164
  */
163
- function append_1(as, a) {
164
- const suffixSize = (0, tsplus_module_2.getSuffixSize)(as);
165
+ function append_1(a) {
166
+ return as => {
167
+ const suffixSize = (0, tsplus_module_2.getSuffixSize)(as);
165
168
 
166
- if (suffixSize < 32) {
167
- return new tsplus_module_1.Vector((0, tsplus_module_2.incrementSuffix)(as.bits), as.offset, as.length + 1, as.prefix, as.root, (0, tsplus_module_2.affixPush)(a, as.suffix, suffixSize));
168
- }
169
+ if (suffixSize < 32) {
170
+ return new tsplus_module_1.Vector((0, tsplus_module_2.incrementSuffix)(as.bits), as.offset, as.length + 1, as.prefix, as.root, (0, tsplus_module_2.affixPush)(a, as.suffix, suffixSize));
171
+ }
169
172
 
170
- const newSuffix = [a];
171
- const newVector = mutableClone_1(as);
172
- (0, tsplus_module_2.appendNodeToTree)(newVector, as.suffix);
173
- newVector.suffix = newSuffix;
174
- newVector.length++;
175
- newVector.bits = (0, tsplus_module_2.setSuffix)(1, newVector.bits);
176
- return newVector;
173
+ const newSuffix = [a];
174
+ const newVector = mutableClone_1(as);
175
+ (0, tsplus_module_2.appendNodeToTree)(newVector, as.suffix);
176
+ newVector.suffix = newSuffix;
177
+ newVector.length++;
178
+ newVector.bits = (0, tsplus_module_2.setSuffix)(1, newVector.bits);
179
+ return newVector;
180
+ };
177
181
  }
178
182
  /**
179
183
  * Maps a function over a Vector and concatenates all the resulting
180
184
  * Vectors together.
181
185
  *
182
- * @tsplus fluent fncts.Vector flatMap
186
+ * @tsplus pipeable fncts.Vector flatMap
183
187
  */
184
188
 
185
189
 
186
- function flatMap_(ma, f) {
187
- return flatten_1(map_1(ma, f));
190
+ function flatMap(f) {
191
+ return ma => {
192
+ return flatten_1(map_1(f)(ma));
193
+ };
188
194
  }
189
195
  /**
190
196
  * Splits the Vector into chunks of the given size.
191
197
  *
192
- * @tsplus fluent fncts.Vector chunksOf
193
- */
194
-
195
-
196
- function chunksOf_(as, size) {
197
- const {
198
- buffer,
199
- l2
200
- } = foldLeft_1(as, {
201
- l2: emptyPushable_1(),
202
- buffer: emptyPushable_1()
203
- }, ({
204
- buffer,
205
- l2
206
- }, elem) => {
207
- tsplus_module_2.push(buffer, elem);
198
+ * @tsplus pipeable fncts.Vector chunksOf
199
+ */
200
+
201
+
202
+ function chunksOf(size) {
203
+ return as => {
204
+ const {
205
+ buffer,
206
+ l2
207
+ } = foldLeft_1({
208
+ l2: emptyPushable_1(),
209
+ buffer: emptyPushable_1()
210
+ }, ({
211
+ buffer,
212
+ l2
213
+ }, elem) => {
214
+ tsplus_module_2.push(elem)(buffer);
215
+
216
+ if (buffer.length === size) {
217
+ return {
218
+ l2: tsplus_module_2.push(buffer)(l2),
219
+ buffer: emptyPushable_1()
220
+ };
221
+ } else {
222
+ return {
223
+ l2,
224
+ buffer
225
+ };
226
+ }
227
+ })(as);
228
+ return buffer.length === 0 ? l2 : tsplus_module_2.push(buffer)(l2);
229
+ };
230
+ }
208
231
 
209
- if (buffer.length === size) {
210
- return {
211
- l2: tsplus_module_2.push(l2, buffer),
212
- buffer: emptyPushable_1()
213
- };
214
- } else {
215
- return {
216
- l2,
217
- buffer
218
- };
232
+ function concat_1(that) {
233
+ return self => {
234
+ if (self.length === 0) {
235
+ return that;
236
+ } else if (that.length === 0) {
237
+ return self;
219
238
  }
220
- });
221
- return buffer.length === 0 ? l2 : tsplus_module_2.push(l2, buffer);
222
- }
223
239
 
224
- function concat_1(self, that) {
225
- if (self.length === 0) {
226
- return that;
227
- } else if (that.length === 0) {
228
- return self;
229
- }
240
+ const newSize = self.length + that.length;
241
+ const rightSuffixSize = (0, tsplus_module_2.getSuffixSize)(that);
242
+ let newVector = mutableClone_1(self);
230
243
 
231
- const newSize = self.length + that.length;
232
- const rightSuffixSize = (0, tsplus_module_2.getSuffixSize)(that);
233
- let newVector = mutableClone_1(self);
244
+ if (that.root === undefined) {
245
+ // right is nothing but a prefix and a suffix
246
+ const nrOfAffixes = (0, tsplus_module_2.concatAffixes)(self, that);
234
247
 
235
- if (that.root === undefined) {
236
- // right is nothing but a prefix and a suffix
237
- const nrOfAffixes = (0, tsplus_module_2.concatAffixes)(self, that);
248
+ for (let i = 0; i < nrOfAffixes; ++i) {
249
+ newVector = (0, tsplus_module_2.appendNodeToTree)(newVector, tsplus_module_2.concatBuffer[i]);
250
+ newVector.length += tsplus_module_2.concatBuffer[i].length; // wipe pointer, otherwise it might end up keeping the array alive
238
251
 
239
- for (let i = 0; i < nrOfAffixes; ++i) {
240
- newVector = (0, tsplus_module_2.appendNodeToTree)(newVector, tsplus_module_2.concatBuffer[i]);
241
- newVector.length += tsplus_module_2.concatBuffer[i].length; // wipe pointer, otherwise it might end up keeping the array alive
252
+ tsplus_module_2.concatBuffer[i] = undefined;
253
+ }
242
254
 
243
- tsplus_module_2.concatBuffer[i] = undefined;
244
- }
255
+ newVector.length = newSize;
256
+ newVector.suffix = tsplus_module_2.concatBuffer[nrOfAffixes];
257
+ newVector.bits = (0, tsplus_module_2.setSuffix)(tsplus_module_2.concatBuffer[nrOfAffixes].length, newVector.bits);
258
+ tsplus_module_2.concatBuffer[nrOfAffixes] = undefined;
259
+ return newVector;
260
+ } else {
261
+ const leftSuffixSize = (0, tsplus_module_2.getSuffixSize)(self);
245
262
 
246
- newVector.length = newSize;
247
- newVector.suffix = tsplus_module_2.concatBuffer[nrOfAffixes];
248
- newVector.bits = (0, tsplus_module_2.setSuffix)(tsplus_module_2.concatBuffer[nrOfAffixes].length, newVector.bits);
249
- tsplus_module_2.concatBuffer[nrOfAffixes] = undefined;
250
- return newVector;
251
- } else {
252
- const leftSuffixSize = (0, tsplus_module_2.getSuffixSize)(self);
263
+ if (leftSuffixSize > 0) {
264
+ newVector = (0, tsplus_module_2.appendNodeToTree)(newVector, self.suffix.slice(0, leftSuffixSize));
265
+ newVector.length += leftSuffixSize;
266
+ }
253
267
 
254
- if (leftSuffixSize > 0) {
255
- newVector = (0, tsplus_module_2.appendNodeToTree)(newVector, self.suffix.slice(0, leftSuffixSize));
256
- newVector.length += leftSuffixSize;
268
+ newVector = (0, tsplus_module_2.appendNodeToTree)(newVector, that.prefix.slice(0, (0, tsplus_module_2.getPrefixSize)(that)).reverse());
269
+ const newNode = (0, tsplus_module_2.concatSubTree)(newVector.root, (0, tsplus_module_2.getDepth)(newVector), that.root, (0, tsplus_module_2.getDepth)(that), true);
270
+ const newDepth = (0, tsplus_module_2.getHeight)(newNode);
271
+ (0, tsplus_module_2.setSizes)(newNode, newDepth);
272
+ newVector.root = newNode;
273
+ newVector.offset &= ~(tsplus_module_2.mask << (0, tsplus_module_2.getDepth)(self) * tsplus_module_2.branchBits);
274
+ newVector.length = newSize;
275
+ newVector.bits = (0, tsplus_module_2.setSuffix)(rightSuffixSize, (0, tsplus_module_2.setDepth)(newDepth, newVector.bits));
276
+ newVector.suffix = that.suffix;
277
+ return newVector;
257
278
  }
258
-
259
- newVector = (0, tsplus_module_2.appendNodeToTree)(newVector, that.prefix.slice(0, (0, tsplus_module_2.getPrefixSize)(that)).reverse());
260
- const newNode = (0, tsplus_module_2.concatSubTree)(newVector.root, (0, tsplus_module_2.getDepth)(newVector), that.root, (0, tsplus_module_2.getDepth)(that), true);
261
- const newDepth = (0, tsplus_module_2.getHeight)(newNode);
262
- (0, tsplus_module_2.setSizes)(newNode, newDepth);
263
- newVector.root = newNode;
264
- newVector.offset &= ~(tsplus_module_2.mask << (0, tsplus_module_2.getDepth)(self) * tsplus_module_2.branchBits);
265
- newVector.length = newSize;
266
- newVector.bits = (0, tsplus_module_2.setSuffix)(rightSuffixSize, (0, tsplus_module_2.setDepth)(newDepth, newVector.bits));
267
- newVector.suffix = that.suffix;
268
- return newVector;
269
- }
279
+ };
270
280
  }
271
281
 
272
282
  const containsState = {
@@ -282,36 +292,42 @@ function containsCb(value, state) {
282
292
  * Otherwise it returns `false`.
283
293
  *
284
294
  * @complexity O(n)
285
- * @tsplus fluent fncts.Vector contains
295
+ * @tsplus pipeable fncts.Vector contains
286
296
  */
287
297
 
288
298
 
289
- function contains_(as, element) {
290
- containsState.element = element;
291
- containsState.result = false;
292
- return (0, tsplus_module_2.foldLeftCb)(containsCb, containsState, as).result;
299
+ function contains(element) {
300
+ return as => {
301
+ containsState.element = element;
302
+ containsState.result = false;
303
+ return (0, tsplus_module_2.foldLeftCb)(containsCb, containsState, as).result;
304
+ };
293
305
  }
294
306
  /**
295
307
  * Returns a new Vector without the first `n` elements.
296
308
  *
297
309
  * @complexity `O(log(n))`
298
- * @tsplus fluent fncts.Vector drop
310
+ * @tsplus pipeable fncts.Vector drop
299
311
  */
300
312
 
301
313
 
302
- function drop_(as, n) {
303
- return slice_1(as, n, as.length);
314
+ function drop(n) {
315
+ return as => {
316
+ return slice_1(n, as.length)(as);
317
+ };
304
318
  }
305
319
  /**
306
320
  * Returns a new Vector without the last `n` elements.
307
321
  *
308
322
  * @complexity `O(log(n))`
309
- * @tsplus fluent fncts.Vector dropLast
323
+ * @tsplus pipeable fncts.Vector dropLast
310
324
  */
311
325
 
312
326
 
313
- function dropLast_(as, n) {
314
- return slice_1(as, 0, as.length - n);
327
+ function dropLast(n) {
328
+ return as => {
329
+ return slice_1(0, as.length - n)(as);
330
+ };
315
331
  }
316
332
  /**
317
333
  * Returns a new Vector without repeated elements.
@@ -322,19 +338,21 @@ function dropLast_(as, n) {
322
338
 
323
339
 
324
340
  function dropRepeats(as) {
325
- return dropRepeatsWith_1(as, tsplus_module_3.strictEquals);
341
+ return dropRepeatsWith_1(tsplus_module_3.strictEquals)(as);
326
342
  }
327
343
  /**
328
344
  * Returns a new Vector without repeated elements by using the given
329
345
  * function to determine when elements are equal.
330
346
  *
331
347
  * @complexity `O(n)`
332
- * @tsplus fluent fncts.Vector dropRepeatsWith
348
+ * @tsplus pipeable fncts.Vector dropRepeatsWith
333
349
  */
334
350
 
335
351
 
336
- function dropRepeatsWith_1(as, predicate) {
337
- return foldLeft_1(as, emptyPushable_1(), (acc, a) => acc.length !== 0 && predicate(unsafeLast_1(acc), a) ? acc : tsplus_module_2.push(acc, a));
352
+ function dropRepeatsWith_1(predicate) {
353
+ return as => {
354
+ return foldLeft_1(emptyPushable_1(), (acc, a) => acc.length !== 0 && predicate(unsafeLast_1(acc), a) ? acc : tsplus_module_2.push(a)(acc))(as);
355
+ };
338
356
  }
339
357
 
340
358
  function findNotIndexCb(value, state) {
@@ -351,62 +369,68 @@ function findNotIndexCb(value, state) {
351
369
  *
352
370
  * @complexity `O(k + log(n))` where `k` is the number of elements
353
371
  * satisfying the predicate.
354
- * @tsplus fluent fncts.Vector dropWhile
372
+ * @tsplus pipeable fncts.Vector dropWhile
355
373
  */
356
374
 
357
375
 
358
- function dropWhile_(as, predicate) {
359
- const {
360
- index
361
- } = (0, tsplus_module_2.foldLeftCb)(findNotIndexCb, {
362
- predicate,
363
- index: 0
364
- }, as);
365
- return slice_1(as, index, as.length);
376
+ function dropWhile(predicate) {
377
+ return as => {
378
+ const {
379
+ index
380
+ } = (0, tsplus_module_2.foldLeftCb)(findNotIndexCb, {
381
+ predicate,
382
+ index: 0
383
+ }, as);
384
+ return slice_1(index, as.length)(as);
385
+ };
366
386
  }
367
387
 
368
388
  function elemCb(value, state) {
369
389
  return !(state.result = state.equals(value, state.element));
370
390
  }
371
391
  /**
372
- * @tsplus getter fncts.Vector elem
392
+ * @tsplus pipeable fncts.Vector elem
373
393
  */
374
394
 
375
395
 
376
- function elem_(self) {
377
- return E => {
378
- const elemState = {
379
- equals: E.equals,
380
- element: undefined,
381
- result: false
382
- };
383
- return a => {
384
- elemState.element = a;
385
- return (0, tsplus_module_2.foldLeftCb)(elemCb, elemState, self).result;
386
- };
396
+ function elem(a,
397
+ /** @tsplus auto */
398
+ E) {
399
+ const elemState = {
400
+ equals: E.equals,
401
+ element: undefined,
402
+ result: false
403
+ };
404
+ return self => {
405
+ elemState.element = a;
406
+ return (0, tsplus_module_2.foldLeftCb)(elemCb, elemState, self).result;
387
407
  };
388
408
  }
389
409
  /**
390
410
  * Returns true if the two Vectors are equivalent.
391
411
  *
392
412
  * @complexity O(n)
393
- * @tsplus fluent fncts.Vector equals
413
+ * @tsplus pipeable fncts.Vector equals
394
414
  */
395
415
 
396
416
 
397
- function equals_(self, that) {
398
- return tsplus_module_4.corresponds_(self, that, tsplus_module_3.strictEquals);
417
+ function equals(that) {
418
+ return self => {
419
+ return tsplus_module_4.corresponds(that, tsplus_module_3.strictEquals)(self);
420
+ };
399
421
  }
400
422
 
401
423
  function everyCb(value, state) {
402
424
  return state.result = state.predicate(value);
403
425
  }
404
426
 
405
- function every_(as, predicate) {
406
- return (0, tsplus_module_2.foldLeftCb)(everyCb, {
407
- predicate,
408
- result: true
409
- }, as).result;
427
+ function every(predicate) {
428
+ return as => {
429
+ return (0, tsplus_module_2.foldLeftCb)(everyCb, {
430
+ predicate,
431
+ result: true
432
+ }, as).result;
433
+ };
410
434
  }
411
435
  /**
412
436
  * Creates an empty Vector.
@@ -437,27 +461,31 @@ function existsCb(value, state) {
437
461
  *
438
462
  * @complexity O(n)
439
463
  *
440
- * @tsplus fluent fncts.Vector exists
464
+ * @tsplus pipeable fncts.Vector exists
441
465
  */
442
466
 
443
467
 
444
- function exists_1(as, predicate) {
445
- return (0, tsplus_module_2.foldLeftCb)(existsCb, {
446
- predicate,
447
- result: false
448
- }, as).result;
468
+ function exists_1(predicate) {
469
+ return as => {
470
+ return (0, tsplus_module_2.foldLeftCb)(existsCb, {
471
+ predicate,
472
+ result: false
473
+ }, as).result;
474
+ };
449
475
  }
450
476
  /**
451
477
  * Returns the _first_ element for which the predicate returns `true`.
452
478
  * If no such element is found the function returns `undefined`.
453
479
  *
454
480
  * @complexity O(n)
455
- * @tsplus fluent fncts.Vector find
481
+ * @tsplus pipeable fncts.Vector find
456
482
  */
457
483
 
458
484
 
459
- function find_(as, predicate) {
460
- return tsplus_module_5.fromNullable(unsafeFind_1(as, predicate));
485
+ function find(predicate) {
486
+ return as => {
487
+ return tsplus_module_5.fromNullable(unsafeFind_1(predicate)(as));
488
+ };
461
489
  }
462
490
 
463
491
  function findIndexCb(value, state) {
@@ -470,32 +498,36 @@ function findIndexCb(value, state) {
470
498
  * `-1`.
471
499
  *
472
500
  * @complexity O(n)
473
- * @tsplus fluent fncts.Vector findIndex
501
+ * @tsplus pipeable fncts.Vector findIndex
474
502
  */
475
503
 
476
504
 
477
- function findIndex_1(as, predicate) {
478
- const {
479
- found,
480
- index
481
- } = (0, tsplus_module_2.foldLeftCb)(findIndexCb, {
482
- predicate,
483
- found: false,
484
- index: -1
485
- }, as);
486
- return found ? index : -1;
505
+ function findIndex_1(predicate) {
506
+ return as => {
507
+ const {
508
+ found,
509
+ index
510
+ } = (0, tsplus_module_2.foldLeftCb)(findIndexCb, {
511
+ predicate,
512
+ found: false,
513
+ index: -1
514
+ }, as);
515
+ return found ? index : -1;
516
+ };
487
517
  }
488
518
  /**
489
519
  * Returns the _last_ element for which the predicate returns `true`.
490
520
  * If no such element is found the function returns `undefined`.
491
521
  *
492
522
  * @complexity O(n)
493
- * @tsplus fluent fncts.Vector findLast
523
+ * @tsplus pipeable fncts.Vector findLast
494
524
  */
495
525
 
496
526
 
497
- function findLast_(as, predicate) {
498
- return tsplus_module_5.fromNullable(unsafeFindLast_1(as, predicate));
527
+ function findLast(predicate) {
528
+ return as => {
529
+ return tsplus_module_5.fromNullable(unsafeFindLast_1(predicate)(as));
530
+ };
499
531
  }
500
532
  /**
501
533
  * Returns the index of the `last` element for which the predicate
@@ -503,20 +535,22 @@ function findLast_(as, predicate) {
503
535
  * `-1`.
504
536
  *
505
537
  * @complexity O(n)
506
- * @tsplus fluent fncts.Vector findLastIndex
538
+ * @tsplus pipeable fncts.Vector findLastIndex
507
539
  */
508
540
 
509
541
 
510
- function findLastIndex_(as, predicate) {
511
- const {
512
- found,
513
- index
514
- } = (0, tsplus_module_2.foldRightCb)(findIndexCb, {
515
- predicate,
516
- found: false,
517
- index: -0
518
- }, as);
519
- return found ? index : -1;
542
+ function findLastIndex(predicate) {
543
+ return as => {
544
+ const {
545
+ found,
546
+ index
547
+ } = (0, tsplus_module_2.foldRightCb)(findIndexCb, {
548
+ predicate,
549
+ found: false,
550
+ index: -0
551
+ }, as);
552
+ return found ? index : -1;
553
+ };
520
554
  }
521
555
  /**
522
556
  * Flattens a Vector of Vectors into a Vector. Note that this function does
@@ -529,7 +563,7 @@ function findLastIndex_(as, predicate) {
529
563
 
530
564
 
531
565
  function flatten_1(mma) {
532
- return foldLeft_1(mma, empty_1(), (acc, a) => concat_1(acc, a));
566
+ return foldLeft_1(empty_1(), (acc, a) => concat_1(a)(acc))(mma);
533
567
  }
534
568
 
535
569
  function from(sequence) {
@@ -537,14 +571,14 @@ function from(sequence) {
537
571
 
538
572
  if (sequence.length > 0 && (sequence[0] !== undefined || 0 in sequence)) {
539
573
  for (let i = 0; i < sequence.length; ++i) {
540
- tsplus_module_2.push(l, sequence[i]);
574
+ tsplus_module_2.push(sequence[i])(l);
541
575
  }
542
576
  } else if (Symbol.iterator in sequence) {
543
577
  const iterator = sequence[Symbol.iterator]();
544
578
  let cur;
545
579
 
546
580
  while (!(cur = iterator.next()).done) {
547
- tsplus_module_2.push(l, cur.value);
581
+ tsplus_module_2.push(cur.value)(l);
548
582
  }
549
583
  }
550
584
 
@@ -553,28 +587,32 @@ function from(sequence) {
553
587
  /**
554
588
  * Folds a function over a Vector. Left-associative.
555
589
  *
556
- * @tsplus fluent fncts.Vector foldLeft
590
+ * @tsplus pipeable fncts.Vector foldLeft
557
591
  */
558
592
 
559
593
 
560
- function foldLeft_1(fa, initial, f) {
561
- return foldLeftWithIndex_1(fa, initial, (_, b, a) => f(b, a));
594
+ function foldLeft_1(initial, f) {
595
+ return fa => {
596
+ return foldLeftWithIndex_1(initial, (_, b, a) => f(b, a))(fa);
597
+ };
562
598
  }
563
599
  /**
564
- * @tsplus fluent fncts.Vector foldLeftWithIndex
600
+ * @tsplus pipeable fncts.Vector foldLeftWithIndex
565
601
  */
566
602
 
567
603
 
568
- function foldLeftWithIndex_1(fa, b, f) {
569
- const suffixSize = (0, tsplus_module_2.getSuffixSize)(fa);
570
- const prefixSize = (0, tsplus_module_2.getPrefixSize)(fa);
571
- let [acc, index] = (0, tsplus_module_2.foldLeftPrefix)(f, b, fa.prefix, prefixSize);
604
+ function foldLeftWithIndex_1(b, f) {
605
+ return fa => {
606
+ const suffixSize = (0, tsplus_module_2.getSuffixSize)(fa);
607
+ const prefixSize = (0, tsplus_module_2.getPrefixSize)(fa);
608
+ let [acc, index] = (0, tsplus_module_2.foldLeftPrefix)(f, b, fa.prefix, prefixSize);
572
609
 
573
- if (fa.root !== undefined) {
574
- [acc, index] = (0, tsplus_module_2.foldLeftNode)(f, acc, fa.root, (0, tsplus_module_2.getDepth)(fa), index);
575
- }
610
+ if (fa.root !== undefined) {
611
+ [acc, index] = (0, tsplus_module_2.foldLeftNode)(f, acc, fa.root, (0, tsplus_module_2.getDepth)(fa), index);
612
+ }
576
613
 
577
- return (0, tsplus_module_2.foldLeftSuffix)(f, acc, fa.suffix, suffixSize, index)[0];
614
+ return (0, tsplus_module_2.foldLeftSuffix)(f, acc, fa.suffix, suffixSize, index)[0];
615
+ };
578
616
  }
579
617
  /**
580
618
  * Similar to `foldl`. But, for each element it calls the predicate function
@@ -601,82 +639,94 @@ function foldWhileCb(a, state, i) {
601
639
  return true;
602
640
  }
603
641
  /**
604
- * @tsplus fluent fncts.Vector foldLeftWhile
642
+ * @tsplus pipeable fncts.Vector foldLeftWhile
605
643
  */
606
644
 
607
645
 
608
- function foldLeftWhile_(fa, b, cont, f) {
609
- if (!cont(b)) {
610
- return b;
611
- }
646
+ function foldLeftWhile(b, cont, f) {
647
+ return fa => {
648
+ if (!cont(b)) {
649
+ return b;
650
+ }
612
651
 
613
- return (0, tsplus_module_2.foldLeftCb)(foldWhileCb, {
614
- predicate: cont,
615
- f,
616
- result: b
617
- }, fa).result;
652
+ return (0, tsplus_module_2.foldLeftCb)(foldWhileCb, {
653
+ predicate: cont,
654
+ f,
655
+ result: b
656
+ }, fa).result;
657
+ };
618
658
  }
619
659
  /**
620
- * @tsplus fluent fncts.Vector foldRightWhile
660
+ * @tsplus pipeable fncts.Vector foldRightWhile
621
661
  */
622
662
 
623
663
 
624
- function foldRightWhile_(fa, b, cont, f) {
625
- return (0, tsplus_module_2.foldRightCb)(foldWhileCb, {
626
- predicate: cont,
627
- result: b,
628
- f: (i, b, a) => f(i, a, b)
629
- }, fa).result;
664
+ function foldRightWhile(b, cont, f) {
665
+ return fa => {
666
+ return (0, tsplus_module_2.foldRightCb)(foldWhileCb, {
667
+ predicate: cont,
668
+ result: b,
669
+ f: (i, b, a) => f(i, a, b)
670
+ }, fa).result;
671
+ };
630
672
  }
631
673
  /**
632
- * @tsplus fluent fncts.Vector foldMap
674
+ * @tsplus pipeable fncts.Vector foldMap
633
675
  */
634
676
 
635
677
 
636
- function foldMap_(self, f,
678
+ function foldMap(f,
637
679
  /** @tsplus auto */
638
680
  M) {
639
- return foldMapWithIndex_1(self, (_, a) => f(a), M);
681
+ return self => {
682
+ return foldMapWithIndex_1((_, a) => f(a), M)(self);
683
+ };
640
684
  }
641
685
  /**
642
- * @tsplus fluent fncts.Vector foldMapWithIndex
686
+ * @tsplus pipeable fncts.Vector foldMapWithIndex
643
687
  */
644
688
 
645
689
 
646
- function foldMapWithIndex_1(self, f,
690
+ function foldMapWithIndex_1(f,
647
691
  /** @tsplus auto */
648
692
  M) {
649
- return foldLeftWithIndex_1(self, M.nat, (i, b, a) => M.combine(b, f(i, a)));
693
+ return self => {
694
+ return foldLeftWithIndex_1(M.nat, (i, b, a) => M.combine(b, f(i, a)))(self);
695
+ };
650
696
  }
651
697
  /**
652
698
  * Folds a function over a Vector. Right-associative.
653
699
  *
654
700
  * @complexity O(n)
655
- * @tsplus fluent fncts.Vector foldRight
701
+ * @tsplus pipeable fncts.Vector foldRight
656
702
  */
657
703
 
658
704
 
659
- function foldRight_(fa, initial, f) {
660
- return foldRightWithIndex_1(fa, initial, (_, a, b) => f(a, b));
705
+ function foldRight(initial, f) {
706
+ return fa => {
707
+ return foldRightWithIndex_1(initial, (_, a, b) => f(a, b))(fa);
708
+ };
661
709
  }
662
710
  /**
663
711
  * Folds a function over a Vector. Right-associative.
664
712
  *
665
713
  * @complexity O(n)
666
- * @tsplus fluent fncts.Vector foldRightWithIndex
714
+ * @tsplus pipeable fncts.Vector foldRightWithIndex
667
715
  */
668
716
 
669
717
 
670
- function foldRightWithIndex_1(fa, b, f) {
671
- const suffixSize = (0, tsplus_module_2.getSuffixSize)(fa);
672
- const prefixSize = (0, tsplus_module_2.getPrefixSize)(fa);
673
- let [acc, j] = (0, tsplus_module_2.foldRightSuffix)(f, b, fa.suffix, suffixSize, fa.length - 1);
718
+ function foldRightWithIndex_1(b, f) {
719
+ return fa => {
720
+ const suffixSize = (0, tsplus_module_2.getSuffixSize)(fa);
721
+ const prefixSize = (0, tsplus_module_2.getPrefixSize)(fa);
722
+ let [acc, j] = (0, tsplus_module_2.foldRightSuffix)(f, b, fa.suffix, suffixSize, fa.length - 1);
674
723
 
675
- if (fa.root !== undefined) {
676
- [acc, j] = (0, tsplus_module_2.foldRightNode)(f, acc, fa.root, (0, tsplus_module_2.getDepth)(fa), j);
677
- }
724
+ if (fa.root !== undefined) {
725
+ [acc, j] = (0, tsplus_module_2.foldRightNode)(f, acc, fa.root, (0, tsplus_module_2.getDepth)(fa), j);
726
+ }
678
727
 
679
- return (0, tsplus_module_2.foldRightPrefix)(f, acc, fa.prefix, prefixSize, j)[0];
728
+ return (0, tsplus_module_2.foldRightPrefix)(f, acc, fa.prefix, prefixSize, j)[0];
729
+ };
680
730
  }
681
731
  /**
682
732
  * Invokes a given callback for each element in the Vector from left to
@@ -688,32 +738,38 @@ function foldRightWithIndex_1(fa, b, f) {
688
738
  * makes `forEach` faster when the new Vector is unneeded.
689
739
  *
690
740
  * @complexity O(n)
691
- * @tsplus fluent fncts.Vector forEach
741
+ * @tsplus pipeable fncts.Vector forEach
692
742
  */
693
743
 
694
744
 
695
- function forEach_1(as, f) {
696
- foldLeft_1(as, undefined, (_, element) => f(element));
745
+ function forEach_1(f) {
746
+ return as => {
747
+ foldLeft_1(undefined, (_, element) => f(element))(as);
748
+ };
697
749
  }
698
750
  /**
699
- * @tsplus fluent fncts.Vector forEachWithIndex
751
+ * @tsplus pipeable fncts.Vector forEachWithIndex
700
752
  */
701
753
 
702
754
 
703
- function forEachWithIndex_(as, f) {
704
- foldLeftWithIndex_1(as, undefined, (index, _, element) => f(index, element));
755
+ function forEachWithIndex(f) {
756
+ return as => {
757
+ foldLeftWithIndex_1(undefined, (index, _, element) => f(index, element))(as);
758
+ };
705
759
  }
706
760
  /**
707
761
  * Gets the nth element of the Vector. If `n` is out of bounds
708
762
  * `undefined` is returned.
709
763
  *
710
764
  * @complexity O(log(n))
711
- * @tsplus fluent fncts.Vector get
765
+ * @tsplus pipeable fncts.Vector get
712
766
  */
713
767
 
714
768
 
715
- function get_(self, index) {
716
- return tsplus_module_5.fromNullable(unsafeGet_1(self, index));
769
+ function get(index) {
770
+ return self => {
771
+ return tsplus_module_5.fromNullable(unsafeGet_1(index)(self));
772
+ };
717
773
  }
718
774
  /**
719
775
  * Returns a Vector of Vectors where each subvector's elements are pairwise
@@ -723,22 +779,24 @@ function get_(self, index) {
723
779
  * equal elements should be grouped together the Vector should be sorted
724
780
  * before grouping.
725
781
  *
726
- * @tsplus fluent fncts.Vector groupWith
782
+ * @tsplus pipeable fncts.Vector groupWith
727
783
  */
728
784
 
729
785
 
730
- function groupWith_(as, f) {
731
- const result = emptyPushable_1();
732
- let buffer = emptyPushable_1();
733
- forEach_1(as, a => {
734
- if (buffer.length !== 0 && !f(unsafeLast_1(buffer), a)) {
735
- tsplus_module_2.push(result, buffer);
736
- buffer = emptyPushable_1();
737
- }
786
+ function groupWith(f) {
787
+ return as => {
788
+ const result = emptyPushable_1();
789
+ let buffer = emptyPushable_1();
790
+ forEach_1(a => {
791
+ if (buffer.length !== 0 && !f(unsafeLast_1(buffer), a)) {
792
+ tsplus_module_2.push(buffer)(result);
793
+ buffer = emptyPushable_1();
794
+ }
738
795
 
739
- tsplus_module_2.push(buffer, a);
740
- });
741
- return buffer.length === 0 ? result : tsplus_module_2.push(result, buffer);
796
+ tsplus_module_2.push(a)(buffer);
797
+ })(as);
798
+ return buffer.length === 0 ? result : tsplus_module_2.push(buffer)(result);
799
+ };
742
800
  }
743
801
  /**
744
802
  * Returns the first element of the Vector.
@@ -761,50 +819,58 @@ function indexOfCb(value, state) {
761
819
  * to the given element. If no such element is found `-1` is returned.
762
820
  *
763
821
  * @complexity O(n)
764
- * @tsplus fluent fncts.Vector indexOf
822
+ * @tsplus pipeable fncts.Vector indexOf
765
823
  */
766
824
 
767
825
 
768
- function indexOf_(as, element) {
769
- const state = {
770
- element,
771
- found: false,
772
- index: -1
826
+ function indexOf(element) {
827
+ return as => {
828
+ const state = {
829
+ element,
830
+ found: false,
831
+ index: -1
832
+ };
833
+ (0, tsplus_module_2.foldLeftCb)(indexOfCb, state, as);
834
+ return state.found ? state.index : -1;
773
835
  };
774
- (0, tsplus_module_2.foldLeftCb)(indexOfCb, state, as);
775
- return state.found ? state.index : -1;
776
836
  }
777
837
  /**
778
838
  * Inserts the given element at the given index in the Vector.
779
839
  *
780
840
  * @complexity O(log(n))
781
- * @tsplus fluent fncts.Vector insertAt
841
+ * @tsplus pipeable fncts.Vector insertAt
782
842
  */
783
843
 
784
844
 
785
- function insertAt_(as, index, element) {
786
- return concat_1(append_1(slice_1(as, 0, index), element), slice_1(as, index, as.length));
845
+ function insertAt(index, element) {
846
+ return as => {
847
+ return concat_1(slice_1(index, as.length)(as))(append_1(element)(slice_1(0, index)(as)));
848
+ };
787
849
  }
788
850
  /**
789
851
  * Inserts the given Vector of elements at the given index in the Vector.
790
852
  *
791
853
  * @complexity `O(log(n))`
792
- * @tsplus fluent fncts.Vector insertAllAt
854
+ * @tsplus pipeable fncts.Vector insertAllAt
793
855
  */
794
856
 
795
857
 
796
- function insertAllAt_(as, index, elements) {
797
- return concat_1(concat_1(slice_1(as, 0, index), elements), slice_1(as, index, as.length));
858
+ function insertAllAt(index, elements) {
859
+ return as => {
860
+ return concat_1(slice_1(index, as.length)(as))(concat_1(elements)(slice_1(0, index)(as)));
861
+ };
798
862
  }
799
863
  /**
800
864
  * Inserts a separator between each element in a Vector.
801
865
  *
802
- * @tsplus fluent fncts.Vector intersperse
866
+ * @tsplus pipeable fncts.Vector intersperse
803
867
  */
804
868
 
805
869
 
806
- function intersperse_(as, separator) {
807
- return pop_1(foldLeft_1(as, emptyPushable_1(), (l2, a) => tsplus_module_2.push(tsplus_module_2.push(l2, a), separator)));
870
+ function intersperse(separator) {
871
+ return as => {
872
+ return pop_1(foldLeft_1(emptyPushable_1(), (l2, a) => tsplus_module_2.push(separator)(tsplus_module_2.push(a)(l2)))(as));
873
+ };
808
874
  }
809
875
  /**
810
876
  * @tsplus fluent fncts.Vector isEmpty
@@ -825,12 +891,14 @@ function isNonEmpty(l) {
825
891
  /**
826
892
  * Concatenates the strings in the Vector separated by a specified separator.
827
893
  *
828
- * @tsplus fluent fncts.Vector join
894
+ * @tsplus pipeable fncts.Vector join
829
895
  */
830
896
 
831
897
 
832
- function join_(as, separator) {
833
- return foldLeft_1(as, "", (a, b) => a.length === 0 ? b : a + separator + b);
898
+ function join(separator) {
899
+ return as => {
900
+ return foldLeft_1("", (a, b) => a.length === 0 ? b : a + separator + b)(as);
901
+ };
834
902
  }
835
903
  /**
836
904
  * Returns the last element of the Vector.
@@ -848,18 +916,20 @@ function last(l) {
848
916
  * to the given element. If no such element is found `-1` is returned.
849
917
  *
850
918
  * @complexity O(n)
851
- * @tsplus fluent fncts.Vector lastIndexOf
919
+ * @tsplus pipeable fncts.Vector lastIndexOf
852
920
  */
853
921
 
854
922
 
855
- function lastIndexOf_(as, element) {
856
- const state = {
857
- element,
858
- found: false,
859
- index: 0
923
+ function lastIndexOf(element) {
924
+ return as => {
925
+ const state = {
926
+ element,
927
+ found: false,
928
+ index: 0
929
+ };
930
+ (0, tsplus_module_2.foldRightCb)(indexOfCb, state, as);
931
+ return state.found ? as.length - state.index : -1;
860
932
  };
861
- (0, tsplus_module_2.foldRightCb)(indexOfCb, state, as);
862
- return state.found ? as.length - state.index : -1;
863
933
  }
864
934
  /**
865
935
  * Generates a new Vector by calling a function with the current index
@@ -874,46 +944,52 @@ function makeBy(n, f) {
874
944
  const l = emptyPushable_1();
875
945
 
876
946
  for (let i = 0; i < n; i++) {
877
- tsplus_module_2.push(l, f(i));
947
+ tsplus_module_2.push(f(i))(l);
878
948
  }
879
949
 
880
950
  return l;
881
951
  }
882
952
  /**
883
- * @tsplus fluent fncts.Vector mapAccum
953
+ * @tsplus pipeable fncts.Vector mapAccum
884
954
  */
885
955
 
886
956
 
887
- function mapAccum_(fa, s, f) {
888
- return foldLeft_1(fa, [emptyPushable_1(), s], ([acc, s], a) => {
889
- const r = f(s, a);
890
- tsplus_module_2.push(acc, r[0]);
891
- return [acc, r[1]];
892
- });
957
+ function mapAccum(s, f) {
958
+ return fa => {
959
+ return foldLeft_1([emptyPushable_1(), s], ([acc, s], a) => {
960
+ const r = f(s, a);
961
+ tsplus_module_2.push(r[0])(acc);
962
+ return [acc, r[1]];
963
+ })(fa);
964
+ };
893
965
  }
894
966
  /**
895
967
  * Applies a function to each element in the given Vector and returns a
896
968
  * new Vector of the values that the function return.
897
969
  *
898
970
  * @complexity O(n)
899
- * @tsplus fluent fncts.Vector map
971
+ * @tsplus pipeable fncts.Vector map
900
972
  */
901
973
 
902
974
 
903
- function map_1(fa, f) {
904
- return mapWithIndex_1(fa, (_, a) => f(a));
975
+ function map_1(f) {
976
+ return fa => {
977
+ return mapWithIndex_1((_, a) => f(a))(fa);
978
+ };
905
979
  }
906
980
  /**
907
981
  * Applies a function to each element in the given Vector and returns a
908
982
  * new Vector of the values that the function return.
909
983
  *
910
984
  * @complexity O(n)
911
- * @tsplus fluent fncts.Vector mapWithIndex
985
+ * @tsplus pipeable fncts.Vector mapWithIndex
912
986
  */
913
987
 
914
988
 
915
- function mapWithIndex_1(fa, f) {
916
- return new tsplus_module_1.Vector(fa.bits, fa.offset, fa.length, (0, tsplus_module_2.mapPrefix)(f, fa.prefix, (0, tsplus_module_2.getPrefixSize)(fa)), fa.root === undefined ? undefined : (0, tsplus_module_2.mapNode)(f, fa.root, (0, tsplus_module_2.getDepth)(fa), (0, tsplus_module_2.getPrefixSize)(fa), 1)[0], (0, tsplus_module_2.mapAffix)(f, fa.suffix, (0, tsplus_module_2.getSuffixSize)(fa), fa.length));
989
+ function mapWithIndex_1(f) {
990
+ return fa => {
991
+ return new tsplus_module_1.Vector(fa.bits, fa.offset, fa.length, (0, tsplus_module_2.mapPrefix)(f, fa.prefix, (0, tsplus_module_2.getPrefixSize)(fa)), fa.root === undefined ? undefined : (0, tsplus_module_2.mapNode)(f, fa.root, (0, tsplus_module_2.getDepth)(fa), (0, tsplus_module_2.getPrefixSize)(fa), 1)[0], (0, tsplus_module_2.mapAffix)(f, fa.suffix, (0, tsplus_module_2.getSuffixSize)(fa), fa.length));
992
+ };
917
993
  }
918
994
  /**
919
995
  * @tsplus getter fncts.Vector mutableClone
@@ -932,16 +1008,18 @@ function mutableClone_1(as) {
932
1008
  *
933
1009
  * @complexity `O(log(n))`
934
1010
  *
935
- * @tsplus fluent fncts.Vector modifyAt
1011
+ * @tsplus pipeable fncts.Vector modifyAt
936
1012
  */
937
1013
 
938
1014
 
939
- function modifyAt_(as, i, f) {
940
- if (i < 0 || as.length <= i) {
941
- return as;
942
- }
1015
+ function modifyAt(i, f) {
1016
+ return as => {
1017
+ if (i < 0 || as.length <= i) {
1018
+ return as;
1019
+ }
943
1020
 
944
- return updateAt_1(as, i, f(unsafeGet_1(as, i)));
1021
+ return updateAt_1(i, f(unsafeGet_1(i)(as)))(as);
1022
+ };
945
1023
  }
946
1024
  /**
947
1025
  * Returns `true` if and only if the predicate function returns
@@ -949,12 +1027,14 @@ function modifyAt_(as, i, f) {
949
1027
  *
950
1028
  * @complexity O(n)
951
1029
  *
952
- * @tsplus fluent fncts.Vector none
1030
+ * @tsplus pipeable fncts.Vector none
953
1031
  */
954
1032
 
955
1033
 
956
- function none_(as, predicate) {
957
- return !exists_1(as, predicate);
1034
+ function none(predicate) {
1035
+ return as => {
1036
+ return !exists_1(predicate)(as);
1037
+ };
958
1038
  }
959
1039
  /**
960
1040
  * Takes two arguments and returns a Vector that contains them.
@@ -977,31 +1057,33 @@ function pair(first, second) {
977
1057
 
978
1058
 
979
1059
  function pop_1(as) {
980
- return slice_1(as, 0, -1);
1060
+ return slice_1(0, -1)(as);
981
1061
  }
982
1062
  /**
983
1063
  * Prepends an element to the front of a Vector and returns the new Vector.
984
1064
  *
985
1065
  * @complexity O(1)
986
1066
  *
987
- * @tsplus fluent fncts.Vector prepend
1067
+ * @tsplus pipeable fncts.Vector prepend
988
1068
  */
989
1069
 
990
1070
 
991
- function prepend_1(as, a) {
992
- const prefixSize = (0, tsplus_module_2.getPrefixSize)(as);
1071
+ function prepend_1(a) {
1072
+ return as => {
1073
+ const prefixSize = (0, tsplus_module_2.getPrefixSize)(as);
993
1074
 
994
- if (prefixSize < 32) {
995
- return new tsplus_module_1.Vector((0, tsplus_module_2.incrementPrefix)(as.bits), as.offset, as.length + 1, (0, tsplus_module_2.affixPush)(a, as.prefix, prefixSize), as.root, as.suffix);
996
- } else {
997
- const newVector = mutableClone_1(as);
998
- (0, tsplus_module_2.prependNodeToTree)(newVector, (0, tsplus_module_2.reverseArray)(as.prefix));
999
- const newPrefix = [a];
1000
- newVector.prefix = newPrefix;
1001
- newVector.length++;
1002
- newVector.bits = (0, tsplus_module_2.setPrefix)(1, newVector.bits);
1003
- return newVector;
1004
- }
1075
+ if (prefixSize < 32) {
1076
+ return new tsplus_module_1.Vector((0, tsplus_module_2.incrementPrefix)(as.bits), as.offset, as.length + 1, (0, tsplus_module_2.affixPush)(a, as.prefix, prefixSize), as.root, as.suffix);
1077
+ } else {
1078
+ const newVector = mutableClone_1(as);
1079
+ (0, tsplus_module_2.prependNodeToTree)(newVector, (0, tsplus_module_2.reverseArray)(as.prefix));
1080
+ const newPrefix = [a];
1081
+ newVector.prefix = newPrefix;
1082
+ newVector.length++;
1083
+ newVector.bits = (0, tsplus_module_2.setPrefix)(1, newVector.bits);
1084
+ return newVector;
1085
+ }
1086
+ };
1005
1087
  }
1006
1088
  /**
1007
1089
  * @tsplus operator fncts.Vector +
@@ -1009,7 +1091,7 @@ function prepend_1(as, a) {
1009
1091
 
1010
1092
 
1011
1093
  function prependOperator(a, as) {
1012
- return prepend_1(as, a);
1094
+ return prepend_1(a)(as);
1013
1095
  }
1014
1096
  /**
1015
1097
  * Returns a Vector of numbers between an inclusive lower bound and an exclusive upper bound.
@@ -1023,7 +1105,7 @@ function range(start, end) {
1023
1105
  const vec = emptyPushable_1();
1024
1106
 
1025
1107
  for (let i = start; i < end; ++i) {
1026
- tsplus_module_2.push(vec, i);
1108
+ tsplus_module_2.push(i)(vec);
1027
1109
  }
1028
1110
 
1029
1111
  return vec;
@@ -1035,12 +1117,14 @@ function range(start, end) {
1035
1117
  *
1036
1118
  * @complexity `O(log(n))`
1037
1119
  *
1038
- * @tsplus fluent fncts.Vector remove
1120
+ * @tsplus pipeable fncts.Vector remove
1039
1121
  */
1040
1122
 
1041
1123
 
1042
- function remove_(as, from, amount) {
1043
- return concat_1(slice_1(as, 0, from), slice_1(as, from + amount, as.length));
1124
+ function remove(from, amount) {
1125
+ return as => {
1126
+ return concat_1(slice_1(from + amount, as.length)(as))(slice_1(0, from)(as));
1127
+ };
1044
1128
  }
1045
1129
  /**
1046
1130
  * Returns a Vector of a given length that contains the specified value
@@ -1056,7 +1140,7 @@ function replicate(n, a) {
1056
1140
  const l = emptyPushable_1();
1057
1141
 
1058
1142
  while (--t >= 0) {
1059
- tsplus_module_2.push(l, a);
1143
+ tsplus_module_2.push(a)(l);
1060
1144
  }
1061
1145
 
1062
1146
  return l;
@@ -1067,18 +1151,20 @@ function replicate(n, a) {
1067
1151
 
1068
1152
 
1069
1153
  function reverse(self) {
1070
- return foldLeft_1(self, empty_1(), (vec, elem) => prepend_1(vec, elem));
1154
+ return foldLeft_1(empty_1(), (vec, elem) => prepend_1(elem)(vec))(self);
1071
1155
  }
1072
1156
  /**
1073
1157
  * Folds a function over a Vector from left to right while collecting
1074
1158
  * all the intermediate steps in a resulting Vector.
1075
1159
  *
1076
- * @tsplus fluent fncts.Vector scanLeft
1160
+ * @tsplus pipeable fncts.Vector scanLeft
1077
1161
  */
1078
1162
 
1079
1163
 
1080
- function scanLeft_(as, initial, f) {
1081
- return foldLeft_1(as, tsplus_module_2.push(emptyPushable_1(), initial), (l2, a) => tsplus_module_2.push(l2, f(unsafeLast_1(l2), a)));
1164
+ function scanLeft(initial, f) {
1165
+ return as => {
1166
+ return foldLeft_1(tsplus_module_2.push(initial)(emptyPushable_1()), (l2, a) => tsplus_module_2.push(f(unsafeLast_1(l2), a))(l2))(as);
1167
+ };
1082
1168
  }
1083
1169
  /**
1084
1170
  * Takes a single arguments and returns a singleton Vector that contains it.
@@ -1097,115 +1183,119 @@ function single(a) {
1097
1183
  * from the right end of the Vector.
1098
1184
  *
1099
1185
  * @complexity `O(log(n))`
1100
- * @tsplus fluent fncts.Vector slice
1186
+ * @tsplus pipeable fncts.Vector slice
1101
1187
  */
1102
1188
 
1103
1189
 
1104
- function slice_1(as, from, to) {
1105
- let {
1106
- bits,
1107
- length
1108
- } = as;
1109
- let _to = to;
1110
- let _from = from;
1111
- _to = Math.min(length, to); // Handle negative indices
1190
+ function slice_1(from, to) {
1191
+ return as => {
1192
+ let {
1193
+ bits,
1194
+ length
1195
+ } = as;
1196
+ let _to = to;
1197
+ let _from = from;
1198
+ _to = Math.min(length, to); // Handle negative indices
1112
1199
 
1113
- if (_from < 0) {
1114
- _from = length + from;
1115
- }
1200
+ if (_from < 0) {
1201
+ _from = length + from;
1202
+ }
1116
1203
 
1117
- if (_to < 0) {
1118
- _to = length + to;
1119
- } // Should we just return the empty Vector?
1204
+ if (_to < 0) {
1205
+ _to = length + to;
1206
+ } // Should we just return the empty Vector?
1120
1207
 
1121
1208
 
1122
- if (_to <= _from || _to <= 0 || length <= _from) {
1123
- return empty_1();
1124
- } // Return Vector unchanged if we are slicing nothing off
1209
+ if (_to <= _from || _to <= 0 || length <= _from) {
1210
+ return empty_1();
1211
+ } // Return Vector unchanged if we are slicing nothing off
1125
1212
 
1126
1213
 
1127
- if (_from <= 0 && length <= _to) {
1128
- return as;
1129
- }
1214
+ if (_from <= 0 && length <= _to) {
1215
+ return as;
1216
+ }
1130
1217
 
1131
- const newLength = _to - _from;
1132
- let prefixSize = (0, tsplus_module_2.getPrefixSize)(as);
1133
- const suffixSize = (0, tsplus_module_2.getSuffixSize)(as); // Both indices lie in the prefix
1218
+ const newLength = _to - _from;
1219
+ let prefixSize = (0, tsplus_module_2.getPrefixSize)(as);
1220
+ const suffixSize = (0, tsplus_module_2.getSuffixSize)(as); // Both indices lie in the prefix
1134
1221
 
1135
- if (_to <= prefixSize) {
1136
- return new tsplus_module_1.Vector((0, tsplus_module_2.setPrefix)(newLength, 0), 0, newLength, as.prefix.slice(prefixSize - _to, prefixSize - _from), undefined, tsplus_module_2.emptyAffix);
1137
- }
1222
+ if (_to <= prefixSize) {
1223
+ return new tsplus_module_1.Vector((0, tsplus_module_2.setPrefix)(newLength, 0), 0, newLength, as.prefix.slice(prefixSize - _to, prefixSize - _from), undefined, tsplus_module_2.emptyAffix);
1224
+ }
1138
1225
 
1139
- const suffixStart = length - suffixSize; // Both indices lie in the suffix
1226
+ const suffixStart = length - suffixSize; // Both indices lie in the suffix
1140
1227
 
1141
- if (suffixStart <= _from) {
1142
- return new tsplus_module_1.Vector((0, tsplus_module_2.setSuffix)(newLength, 0), 0, newLength, tsplus_module_2.emptyAffix, undefined, as.suffix.slice(_from - suffixStart, _to - suffixStart));
1143
- }
1228
+ if (suffixStart <= _from) {
1229
+ return new tsplus_module_1.Vector((0, tsplus_module_2.setSuffix)(newLength, 0), 0, newLength, tsplus_module_2.emptyAffix, undefined, as.suffix.slice(_from - suffixStart, _to - suffixStart));
1230
+ }
1144
1231
 
1145
- const newVector = mutableClone_1(as);
1146
- newVector.length = newLength; // Both indices lie in the tree
1232
+ const newVector = mutableClone_1(as);
1233
+ newVector.length = newLength; // Both indices lie in the tree
1147
1234
 
1148
- if (prefixSize <= _from && _to <= suffixStart) {
1149
- (0, tsplus_module_2.sliceTreeVector)(_from - prefixSize + as.offset, _to - prefixSize + as.offset - 1, as.root, (0, tsplus_module_2.getDepth)(as), as.offset, newVector);
1150
- return newVector;
1151
- }
1235
+ if (prefixSize <= _from && _to <= suffixStart) {
1236
+ (0, tsplus_module_2.sliceTreeVector)(_from - prefixSize + as.offset, _to - prefixSize + as.offset - 1, as.root, (0, tsplus_module_2.getDepth)(as), as.offset, newVector);
1237
+ return newVector;
1238
+ }
1152
1239
 
1153
- if (0 < _from) {
1154
- // we need _to slice something off of the left
1155
- if (_from < prefixSize) {
1156
- // shorten the prefix even though it's not strictly needed,
1157
- // so that referenced items can be GC'd
1158
- newVector.prefix = as.prefix.slice(0, prefixSize - _from);
1159
- bits = (0, tsplus_module_2.setPrefix)(prefixSize - _from, bits);
1160
- } else {
1161
- // if we're here `_to` can't lie in the tree, so we can set the
1162
- // root
1163
- (0, tsplus_module_2.zeroOffset)();
1164
- newVector.root = (0, tsplus_module_2.sliceLeft)(newVector.root, (0, tsplus_module_2.getDepth)(as), _from - prefixSize, as.offset, true);
1165
- newVector.offset = tsplus_module_2.newOffset;
1166
-
1167
- if (newVector.root === undefined) {
1168
- bits = (0, tsplus_module_2.setDepth)(0, bits);
1240
+ if (0 < _from) {
1241
+ // we need _to slice something off of the left
1242
+ if (_from < prefixSize) {
1243
+ // shorten the prefix even though it's not strictly needed,
1244
+ // so that referenced items can be GC'd
1245
+ newVector.prefix = as.prefix.slice(0, prefixSize - _from);
1246
+ bits = (0, tsplus_module_2.setPrefix)(prefixSize - _from, bits);
1247
+ } else {
1248
+ // if we're here `_to` can't lie in the tree, so we can set the
1249
+ // root
1250
+ (0, tsplus_module_2.zeroOffset)();
1251
+ newVector.root = (0, tsplus_module_2.sliceLeft)(newVector.root, (0, tsplus_module_2.getDepth)(as), _from - prefixSize, as.offset, true);
1252
+ newVector.offset = tsplus_module_2.newOffset;
1253
+
1254
+ if (newVector.root === undefined) {
1255
+ bits = (0, tsplus_module_2.setDepth)(0, bits);
1256
+ }
1257
+
1258
+ bits = (0, tsplus_module_2.setPrefix)(tsplus_module_2.newAffix.length, bits);
1259
+ prefixSize = tsplus_module_2.newAffix.length;
1260
+ newVector.prefix = tsplus_module_2.newAffix;
1169
1261
  }
1170
-
1171
- bits = (0, tsplus_module_2.setPrefix)(tsplus_module_2.newAffix.length, bits);
1172
- prefixSize = tsplus_module_2.newAffix.length;
1173
- newVector.prefix = tsplus_module_2.newAffix;
1174
1262
  }
1175
- }
1176
1263
 
1177
- if (_to < length) {
1178
- // we need _to slice something off of the right
1179
- if (length - _to < suffixSize) {
1180
- bits = (0, tsplus_module_2.setSuffix)(suffixSize - (length - _to), bits); // slice the suffix even though it's not strictly needed,
1181
- // _to allow the removed items _to be GC'd
1264
+ if (_to < length) {
1265
+ // we need _to slice something off of the right
1266
+ if (length - _to < suffixSize) {
1267
+ bits = (0, tsplus_module_2.setSuffix)(suffixSize - (length - _to), bits); // slice the suffix even though it's not strictly needed,
1268
+ // _to allow the removed items _to be GC'd
1182
1269
 
1183
- newVector.suffix = as.suffix.slice(0, suffixSize - (length - _to));
1184
- } else {
1185
- newVector.root = (0, tsplus_module_2.sliceRight)(newVector.root, (0, tsplus_module_2.getDepth)(as), _to - prefixSize - 1, newVector.offset);
1270
+ newVector.suffix = as.suffix.slice(0, suffixSize - (length - _to));
1271
+ } else {
1272
+ newVector.root = (0, tsplus_module_2.sliceRight)(newVector.root, (0, tsplus_module_2.getDepth)(as), _to - prefixSize - 1, newVector.offset);
1186
1273
 
1187
- if (newVector.root === undefined) {
1188
- bits = (0, tsplus_module_2.setDepth)(0, bits);
1189
- newVector.offset = 0;
1190
- }
1274
+ if (newVector.root === undefined) {
1275
+ bits = (0, tsplus_module_2.setDepth)(0, bits);
1276
+ newVector.offset = 0;
1277
+ }
1191
1278
 
1192
- bits = (0, tsplus_module_2.setSuffix)(tsplus_module_2.newAffix.length, bits);
1193
- newVector.suffix = tsplus_module_2.newAffix;
1279
+ bits = (0, tsplus_module_2.setSuffix)(tsplus_module_2.newAffix.length, bits);
1280
+ newVector.suffix = tsplus_module_2.newAffix;
1281
+ }
1194
1282
  }
1195
- }
1196
1283
 
1197
- newVector.bits = bits;
1198
- return newVector;
1284
+ newVector.bits = bits;
1285
+ return newVector;
1286
+ };
1199
1287
  }
1200
1288
  /**
1201
- * @tsplus fluent fncts.Vector sort
1289
+ * @tsplus pipeable fncts.Vector sort
1202
1290
  */
1203
1291
 
1204
1292
 
1205
- function sort_(self,
1293
+ function sort(
1206
1294
  /** @tsplus auto */
1207
1295
  O) {
1208
- return sortWith_1(self, O.compare);
1296
+ return self => {
1297
+ return sortWith_1(O.compare)(self);
1298
+ };
1209
1299
  }
1210
1300
  /**
1211
1301
  * Sort the given Vector by comparing values using the given function.
@@ -1216,34 +1306,36 @@ O) {
1216
1306
  *
1217
1307
  * @complexity O(n * log(n))
1218
1308
  *
1219
- * @tsplus fluent fncts.Vector sortWith
1220
- */
1221
-
1222
-
1223
- function sortWith_1(as, compare) {
1224
- const arr = [];
1225
- let i = 0;
1226
- forEach_1(as, elm => arr.push({
1227
- idx: i++,
1228
- elm
1229
- }));
1230
- arr.sort(({
1231
- elm: a,
1232
- idx: i
1233
- }, {
1234
- elm: b,
1235
- idx: j
1236
- }) => {
1237
- const c = compare(a, b);
1238
- return c !== 0 ? c : i < j ? -1 : 1;
1239
- });
1240
- const newL = emptyPushable_1();
1241
-
1242
- for (let i = 0; i < arr.length; ++i) {
1243
- tsplus_module_2.push(newL, arr[i].elm);
1244
- }
1309
+ * @tsplus pipeable fncts.Vector sortWith
1310
+ */
1311
+
1312
+
1313
+ function sortWith_1(compare) {
1314
+ return as => {
1315
+ const arr = [];
1316
+ let i = 0;
1317
+ forEach_1(elm => arr.push({
1318
+ idx: i++,
1319
+ elm
1320
+ }))(as);
1321
+ arr.sort(({
1322
+ elm: a,
1323
+ idx: i
1324
+ }, {
1325
+ elm: b,
1326
+ idx: j
1327
+ }) => {
1328
+ const c = compare(a, b);
1329
+ return c !== 0 ? c : i < j ? -1 : 1;
1330
+ });
1331
+ const newL = emptyPushable_1();
1332
+
1333
+ for (let i = 0; i < arr.length; ++i) {
1334
+ tsplus_module_2.push(arr[i].elm)(newL);
1335
+ }
1245
1336
 
1246
- return newL;
1337
+ return newL;
1338
+ };
1247
1339
  }
1248
1340
  /**
1249
1341
  * Splits a Vector at the given index and return the two sides in a pair.
@@ -1253,12 +1345,14 @@ function sortWith_1(as, compare) {
1253
1345
  *
1254
1346
  * @complexity `O(log(n))`
1255
1347
  *
1256
- * @tsplus fluent fncts.Vector splitAt
1348
+ * @tsplus pipeable fncts.Vector splitAt
1257
1349
  */
1258
1350
 
1259
1351
 
1260
- function splitAt_1(as, index) {
1261
- return [slice_1(as, 0, index), slice_1(as, index, as.length)];
1352
+ function splitAt_1(index) {
1353
+ return as => {
1354
+ return [slice_1(0, index)(as), slice_1(index, as.length)(as)];
1355
+ };
1262
1356
  }
1263
1357
  /**
1264
1358
  * Splits a Vector at the first element in the Vector for which the given
@@ -1266,13 +1360,15 @@ function splitAt_1(as, index) {
1266
1360
  *
1267
1361
  * @complexity `O(n)`
1268
1362
  *
1269
- * @tsplus fluent fncts.Vector splitWhen
1363
+ * @tsplus pipeable fncts.Vector splitWhen
1270
1364
  */
1271
1365
 
1272
1366
 
1273
- function splitWhen_(as, predicate) {
1274
- const idx = findIndex_1(as, predicate);
1275
- return idx === -1 ? [as, empty_1()] : splitAt_1(as, idx);
1367
+ function splitWhen(predicate) {
1368
+ return as => {
1369
+ const idx = findIndex_1(predicate)(as);
1370
+ return idx === -1 ? [as, empty_1()] : splitAt_1(idx)(as);
1371
+ };
1276
1372
  }
1277
1373
  /**
1278
1374
  * Returns a new Vector with the first element removed. If the Vector is
@@ -1285,18 +1381,20 @@ function splitWhen_(as, predicate) {
1285
1381
 
1286
1382
 
1287
1383
  function tail(as) {
1288
- return slice_1(as, 1, as.length);
1384
+ return slice_1(1, as.length)(as);
1289
1385
  }
1290
1386
  /**
1291
1387
  * Takes the first `n` elements from a Vector and returns them in a new Vector.
1292
1388
  *
1293
1389
  * @complexity `O(log(n))`
1294
- * @tsplus fluent fncts.Vector take
1390
+ * @tsplus pipeable fncts.Vector take
1295
1391
  */
1296
1392
 
1297
1393
 
1298
- function take_(as, n) {
1299
- return slice_1(as, 0, n);
1394
+ function take(n) {
1395
+ return as => {
1396
+ return slice_1(0, n)(as);
1397
+ };
1300
1398
  }
1301
1399
  /**
1302
1400
  * Takes the first elements in the Vector for which the predicate returns
@@ -1305,30 +1403,34 @@ function take_(as, n) {
1305
1403
  * @complexity `O(k + log(n))` where `k` is the number of elements satisfying
1306
1404
  * the predicate.
1307
1405
  *
1308
- * @tsplus fluent fncts.Vector takeWhile
1406
+ * @tsplus pipeable fncts.Vector takeWhile
1309
1407
  */
1310
1408
 
1311
1409
 
1312
- function takeWhile_(as, predicate) {
1313
- const {
1314
- index
1315
- } = (0, tsplus_module_2.foldLeftCb)(findNotIndexCb, {
1316
- predicate,
1317
- index: 0
1318
- }, as);
1319
- return slice_1(as, 0, index);
1410
+ function takeWhile(predicate) {
1411
+ return as => {
1412
+ const {
1413
+ index
1414
+ } = (0, tsplus_module_2.foldLeftCb)(findNotIndexCb, {
1415
+ predicate,
1416
+ index: 0
1417
+ }, as);
1418
+ return slice_1(0, index)(as);
1419
+ };
1320
1420
  }
1321
1421
  /**
1322
1422
  * Takes the last `n` elements from a Vector and returns them in a new
1323
1423
  * Vector.
1324
1424
  *
1325
1425
  * @complexity `O(log(n))`
1326
- * @tsplus fluent fncts.Vector takeLast
1426
+ * @tsplus pipeable fncts.Vector takeLast
1327
1427
  */
1328
1428
 
1329
1429
 
1330
- function takeLast_(as, n) {
1331
- return slice_1(as, as.length - n, as.length);
1430
+ function takeLast(n) {
1431
+ return as => {
1432
+ return slice_1(as.length - n, as.length)(as);
1433
+ };
1332
1434
  }
1333
1435
  /**
1334
1436
  * Takes the last elements in the Vector for which the predicate returns
@@ -1337,18 +1439,20 @@ function takeLast_(as, n) {
1337
1439
  * @complexity `O(k + log(n))` where `k` is the number of elements
1338
1440
  * satisfying the predicate.
1339
1441
  *
1340
- * @tsplus fluent fncts.Vector takeLastWhile
1442
+ * @tsplus pipeable fncts.Vector takeLastWhile
1341
1443
  */
1342
1444
 
1343
1445
 
1344
- function takeLastWhile_(as, predicate) {
1345
- const {
1346
- index
1347
- } = (0, tsplus_module_2.foldRightCb)(findNotIndexCb, {
1348
- predicate,
1349
- index: 0
1350
- }, as);
1351
- return slice_1(as, as.length - index, as.length);
1446
+ function takeLastWhile(predicate) {
1447
+ return as => {
1448
+ const {
1449
+ index
1450
+ } = (0, tsplus_module_2.foldRightCb)(findNotIndexCb, {
1451
+ predicate,
1452
+ index: 0
1453
+ }, as);
1454
+ return slice_1(as.length - index, as.length)(as);
1455
+ };
1352
1456
  }
1353
1457
  /**
1354
1458
  * Converts a Vector into an array.
@@ -1359,7 +1463,7 @@ function takeLastWhile_(as, predicate) {
1359
1463
 
1360
1464
 
1361
1465
  function toArray(self) {
1362
- return foldLeft_1(self, [], tsplus_module_2.arrayPush);
1466
+ return foldLeft_1([], tsplus_module_2.arrayPush)(self);
1363
1467
  }
1364
1468
  /**
1365
1469
  * Converts a Vector into a List.
@@ -1371,30 +1475,32 @@ function toArray(self) {
1371
1475
 
1372
1476
  function toList(self) {
1373
1477
  const buffer = new tsplus_module_6.ListBuffer();
1374
- forEach_1(self, a => {
1478
+ forEach_1(a => {
1375
1479
  buffer.append(a);
1376
- });
1480
+ })(self);
1377
1481
  return buffer.toList;
1378
1482
  }
1379
- /**
1380
- * @tsplus getter fncts.Vector traverseWithIndex
1381
- */
1382
-
1383
1483
 
1384
- const traverseWithIndex_1 = /*#__PURE__*/tsplus_module_7.mkTraverseWithIndex_()(() => self => G => f => {
1385
- return foldLeftWithIndex_1(self, G.pure(emptyPushable_1()), (i, b, a) => G.zipWith(b, f(i, a), (v, b) => {
1386
- (0, tsplus_module_2.push)(v, b);
1484
+ function _traverseWithIndex_1(self) {
1485
+ return G => f => foldLeftWithIndex_1(G.pure(emptyPushable_1()), (i, b, a) => G.zipWith(f(i, a), (v, b) => {
1486
+ tsplus_module_2.push(b)(v);
1387
1487
  return v;
1388
- }));
1389
- });
1390
- const traverseWithIndex = traverseWithIndex_1;
1488
+ })(b))(self);
1489
+ }
1391
1490
  /**
1392
1491
  * @tsplus getter fncts.Vector traverse
1393
1492
  */
1394
1493
 
1494
+
1495
+ function _traverse(self) {
1496
+ return G => f => _traverseWithIndex_1(self)(G)((_, a) => f(a));
1497
+ }
1498
+
1499
+ const traverseWithIndex = G => f => self => _traverseWithIndex_1(self)(G)(f);
1500
+
1395
1501
  exports.traverseWithIndex = traverseWithIndex;
1396
1502
 
1397
- const traverse = self => G => f => traverseWithIndex_1(self)(G)((_, a) => f(a));
1503
+ const traverse = G => f => self => _traverseWithIndex_1(self)(G)((_, a) => f(a));
1398
1504
  /**
1399
1505
  * Returns a new Vector without repeated elements by using the given
1400
1506
  * Eq instance to determine when elements are equal
@@ -1407,7 +1513,7 @@ const traverse = self => G => f => traverseWithIndex_1(self)(G)((_, a) => f(a));
1407
1513
  exports.traverse = traverse;
1408
1514
 
1409
1515
  function uniq(as) {
1410
- return E => dropRepeatsWith_1(as, E.equals);
1516
+ return E => dropRepeatsWith_1(E.equals)(as);
1411
1517
  }
1412
1518
  /**
1413
1519
  * @tsplus static fncts.VectorOps unfold
@@ -1421,9 +1527,9 @@ function unfold(b, f) {
1421
1527
  while (true) {
1422
1528
  const mt = f(state);
1423
1529
 
1424
- if (tsplus_module_8.isJust(mt)) {
1530
+ if (tsplus_module_7.isJust(mt)) {
1425
1531
  const [a, b] = mt.value;
1426
- tsplus_module_2.push(out, a);
1532
+ tsplus_module_2.push(a)(out);
1427
1533
  state = b;
1428
1534
  } else {
1429
1535
  break;
@@ -1446,59 +1552,66 @@ function findCb(value, state) {
1446
1552
  * If no such element is found the function returns `undefined`.
1447
1553
  *
1448
1554
  * @complexity O(n)
1449
- * @tsplus fluent fncts.Vector unsafeFind
1555
+ * @tsplus pipeable fncts.Vector unsafeFind
1450
1556
  */
1451
1557
 
1452
1558
 
1453
- function unsafeFind_1(as, predicate) {
1454
- return (0, tsplus_module_2.foldLeftCb)(findCb, {
1455
- predicate,
1456
- result: undefined
1457
- }, as).result;
1559
+ function unsafeFind_1(predicate) {
1560
+ return as => {
1561
+ return (0, tsplus_module_2.foldLeftCb)(findCb, {
1562
+ predicate,
1563
+ result: undefined
1564
+ }, as).result;
1565
+ };
1458
1566
  }
1459
1567
  /**
1460
1568
  * Returns the _last_ element for which the predicate returns `true`.
1461
1569
  * If no such element is found the function returns `undefined`.
1462
1570
  *
1463
1571
  * @complexity O(n)
1464
- * @tsplus fluent fncts.Vector unsafeFindLast
1572
+ * @tsplus pipeable fncts.Vector unsafeFindLast
1465
1573
  */
1466
1574
 
1467
1575
 
1468
- function unsafeFindLast_1(as, predicate) {
1469
- return (0, tsplus_module_2.foldRightCb)(findCb, {
1470
- predicate,
1471
- result: undefined
1472
- }, as).result;
1576
+ function unsafeFindLast_1(predicate) {
1577
+ return as => {
1578
+ return (0, tsplus_module_2.foldRightCb)(findCb, {
1579
+ predicate,
1580
+ result: undefined
1581
+ }, as).result;
1582
+ };
1473
1583
  }
1474
1584
  /**
1475
1585
  * Gets the nth element of the Vector. If `n` is out of bounds
1476
1586
  * `undefined` is returned.
1477
1587
  *
1478
1588
  * @complexity O(log(n))
1479
- * @tsplus fluent fncts.Vector unsafeGet
1589
+ * @tsplus pipeable fncts.Vector unsafeGet
1590
+ * @tsplus pipeable-index fncts.Vector
1480
1591
  */
1481
1592
 
1482
1593
 
1483
- function unsafeGet_1(l, index) {
1484
- if (index < 0 || l.length <= index) {
1485
- return undefined;
1486
- }
1594
+ function unsafeGet_1(index) {
1595
+ return l => {
1596
+ if (index < 0 || l.length <= index) {
1597
+ return undefined;
1598
+ }
1487
1599
 
1488
- const prefixSize = (0, tsplus_module_2.getPrefixSize)(l);
1489
- const suffixSize = (0, tsplus_module_2.getSuffixSize)(l);
1600
+ const prefixSize = (0, tsplus_module_2.getPrefixSize)(l);
1601
+ const suffixSize = (0, tsplus_module_2.getSuffixSize)(l);
1490
1602
 
1491
- if (index < prefixSize) {
1492
- return l.prefix[prefixSize - index - 1];
1493
- } else if (index >= l.length - suffixSize) {
1494
- return l.suffix[index - (l.length - suffixSize)];
1495
- }
1603
+ if (index < prefixSize) {
1604
+ return l.prefix[prefixSize - index - 1];
1605
+ } else if (index >= l.length - suffixSize) {
1606
+ return l.suffix[index - (l.length - suffixSize)];
1607
+ }
1496
1608
 
1497
- const {
1498
- offset
1499
- } = l;
1500
- const depth = (0, tsplus_module_2.getDepth)(l);
1501
- return l.root.sizes === undefined ? (0, tsplus_module_2.nodeNthDense)(l.root, depth, offset === 0 ? index - prefixSize : (0, tsplus_module_2.handleOffset)(depth, offset, index - prefixSize)) : (0, tsplus_module_2.nodeNth)(l.root, depth, offset, index - prefixSize);
1609
+ const {
1610
+ offset
1611
+ } = l;
1612
+ const depth = (0, tsplus_module_2.getDepth)(l);
1613
+ return l.root.sizes === undefined ? (0, tsplus_module_2.nodeNthDense)(l.root, depth, offset === 0 ? index - prefixSize : (0, tsplus_module_2.handleOffset)(depth, offset, index - prefixSize)) : (0, tsplus_module_2.nodeNth)(l.root, depth, offset, index - prefixSize);
1614
+ };
1502
1615
  }
1503
1616
  /**
1504
1617
  * Returns the first element of the Vector. If the Vector is empty the
@@ -1532,32 +1645,34 @@ function unsafeLast_1(l) {
1532
1645
  * If the index is out of bounds the given Vector is returned unchanged.
1533
1646
  *
1534
1647
  * @complexity O(log(n))
1535
- * @tsplus fluent fncts.Vector updateAt
1648
+ * @tsplus pipeable fncts.Vector updateAt
1536
1649
  */
1537
1650
 
1538
1651
 
1539
- function updateAt_1(as, i, a) {
1540
- if (i < 0 || as.length <= i) {
1541
- return as;
1542
- }
1652
+ function updateAt_1(i, a) {
1653
+ return as => {
1654
+ if (i < 0 || as.length <= i) {
1655
+ return as;
1656
+ }
1543
1657
 
1544
- const prefixSize = (0, tsplus_module_2.getPrefixSize)(as);
1545
- const suffixSize = (0, tsplus_module_2.getSuffixSize)(as);
1546
- const newVector = mutableClone_1(as);
1547
-
1548
- if (i < prefixSize) {
1549
- const newPrefix = (0, tsplus_module_2.copyArray)(newVector.prefix);
1550
- newPrefix[newPrefix.length - i - 1] = a;
1551
- newVector.prefix = newPrefix;
1552
- } else if (i >= as.length - suffixSize) {
1553
- const newSuffix = (0, tsplus_module_2.copyArray)(newVector.suffix);
1554
- newSuffix[i - (as.length - suffixSize)] = a;
1555
- newVector.suffix = newSuffix;
1556
- } else {
1557
- newVector.root = (0, tsplus_module_2.updateNode)(as.root, (0, tsplus_module_2.getDepth)(as), i - prefixSize, as.offset, a);
1558
- }
1658
+ const prefixSize = (0, tsplus_module_2.getPrefixSize)(as);
1659
+ const suffixSize = (0, tsplus_module_2.getSuffixSize)(as);
1660
+ const newVector = mutableClone_1(as);
1559
1661
 
1560
- return newVector;
1662
+ if (i < prefixSize) {
1663
+ const newPrefix = (0, tsplus_module_2.copyArray)(newVector.prefix);
1664
+ newPrefix[newPrefix.length - i - 1] = a;
1665
+ newVector.prefix = newPrefix;
1666
+ } else if (i >= as.length - suffixSize) {
1667
+ const newSuffix = (0, tsplus_module_2.copyArray)(newVector.suffix);
1668
+ newSuffix[i - (as.length - suffixSize)] = a;
1669
+ newVector.suffix = newSuffix;
1670
+ } else {
1671
+ newVector.root = (0, tsplus_module_2.updateNode)(as.root, (0, tsplus_module_2.getDepth)(as), i - prefixSize, as.offset, a);
1672
+ }
1673
+
1674
+ return newVector;
1675
+ };
1561
1676
  }
1562
1677
  /**
1563
1678
  * @tsplus static fncts.VectorOps __call
@@ -1568,7 +1683,7 @@ function vector_1(...elements) {
1568
1683
  const v = emptyPushable_1();
1569
1684
 
1570
1685
  for (const element of elements) {
1571
- tsplus_module_2.push(v, element);
1686
+ tsplus_module_2.push(element)(v);
1572
1687
  }
1573
1688
 
1574
1689
  return v;