@fncts/base 0.0.20 → 0.0.22

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