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