@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,7 +3,6 @@
3
3
  * Internal
4
4
  * -------------------------------------------------------------------------------------------------
5
5
  */
6
-
7
6
  /**
8
7
  * @internal
9
8
  */
@@ -17,48 +16,39 @@ export class VectorIterator {
17
16
  this.idx = direction === 1 ? -1 : l.length;
18
17
  this.prefixSize = getPrefixSize(l);
19
18
  this.middleSize = l.length - getSuffixSize(l);
20
-
21
19
  if (l.root !== undefined) {
22
20
  const depth = getDepth(l);
23
21
  this.stack = new Array(depth + 1);
24
22
  this.indices = new Array(depth + 1);
25
23
  let currentNode = l.root.array;
26
-
27
24
  for (let i = depth; 0 <= i; --i) {
28
25
  this.stack[i] = currentNode;
29
26
  const idx = direction === 1 ? 0 : currentNode.length - 1;
30
27
  this.indices[i] = idx;
31
28
  currentNode = currentNode[idx].array;
32
29
  }
33
-
34
30
  this.indices[0] -= direction;
35
31
  }
36
32
  }
37
-
38
33
  }
39
34
  /**
40
35
  * @internal
41
36
  */
42
-
43
37
  export class ForwardVectorIterator extends VectorIterator {
44
38
  constructor(l) {
45
39
  super(l, 1);
46
40
  }
47
-
48
41
  nextInTree() {
49
42
  for (var i = 0; ++this.indices[i] === this.stack[i].length; ++i) {
50
43
  this.indices[i] = 0;
51
44
  }
52
-
53
45
  for (; 0 < i; --i) {
54
46
  this.stack[i - 1] = this.stack[i][this.indices[i]].array;
55
47
  }
56
48
  }
57
-
58
49
  next() {
59
50
  let newVal;
60
51
  const idx = ++this.idx;
61
-
62
52
  if (idx < this.prefixSize) {
63
53
  newVal = this.l.prefix[this.prefixSize - idx - 1];
64
54
  } else if (idx < this.middleSize) {
@@ -69,38 +59,31 @@ export class ForwardVectorIterator extends VectorIterator {
69
59
  } else {
70
60
  this.result.done = true;
71
61
  }
72
-
73
62
  this.result.value = newVal;
74
63
  return this.result;
75
64
  }
76
-
77
65
  }
78
66
  /**
79
67
  * @internal
80
68
  */
81
-
82
69
  export class BackwardVectorIterator extends VectorIterator {
83
70
  constructor(l) {
84
71
  super(l, -1);
85
72
  }
86
-
87
73
  prevInTree() {
88
- for (var i = 0; this.indices[i] === 0; ++i) {//
74
+ for (var i = 0; this.indices[i] === 0; ++i) {
75
+ //
89
76
  }
90
-
91
77
  --this.indices[i];
92
-
93
78
  for (; 0 < i; --i) {
94
79
  const n = this.stack[i][this.indices[i]].array;
95
80
  this.stack[i - 1] = n;
96
81
  this.indices[i - 1] = n.length - 1;
97
82
  }
98
83
  }
99
-
100
84
  next() {
101
85
  let newVal;
102
86
  const idx = --this.idx;
103
-
104
87
  if (this.middleSize <= idx) {
105
88
  newVal = this.l.suffix[idx - this.middleSize];
106
89
  } else if (this.prefixSize <= idx) {
@@ -111,76 +94,59 @@ export class BackwardVectorIterator extends VectorIterator {
111
94
  } else {
112
95
  this.result.done = true;
113
96
  }
114
-
115
97
  this.result.value = newVal;
116
98
  return this.result;
117
99
  }
118
-
119
100
  }
120
101
  /**
121
102
  * @internal
122
103
  */
123
-
124
104
  const branchingFactor = 32;
125
105
  /**
126
106
  * @internal
127
107
  */
128
-
129
108
  export const branchBits = 5;
130
109
  /**
131
110
  * @internal
132
111
  */
133
-
134
112
  export const mask = 31;
135
113
  /** @internal */
136
-
137
114
  export class Node {
138
115
  constructor(sizes, array) {
139
116
  this.sizes = sizes;
140
117
  this.array = array;
141
118
  }
142
-
143
119
  }
144
120
  /**
145
121
  * @internal
146
122
  */
147
-
148
123
  function elementEquals(a, b) {
149
124
  return a === b;
150
125
  }
151
126
  /**
152
127
  * @internal
153
128
  */
154
-
155
-
156
129
  function createPath(depth, value) {
157
130
  let current = value;
158
-
159
131
  for (let i = 0; i < depth; ++i) {
160
132
  current = new Node(undefined, [current]);
161
133
  }
162
-
163
134
  return current;
164
- } // Array Helpers
165
-
135
+ }
136
+ // Array Helpers
166
137
  /**
167
138
  * @internal
168
139
  */
169
-
170
-
171
140
  export function copyArray(source) {
172
141
  const array = [];
173
-
174
142
  for (let i = 0; i < source.length; ++i) {
175
143
  array[i] = source[i];
176
144
  }
177
-
178
145
  return array;
179
146
  }
180
147
  /**
181
148
  * @internal
182
149
  */
183
-
184
150
  function pushElements(source, target, offset, amount) {
185
151
  for (let i = offset; i < offset + amount; ++i) {
186
152
  target.push(source[i]);
@@ -189,8 +155,6 @@ function pushElements(source, target, offset, amount) {
189
155
  /**
190
156
  * @internal
191
157
  */
192
-
193
-
194
158
  function copyIndices(source, sourceStart, target, targetStart, length) {
195
159
  for (let i = 0; i < length; ++i) {
196
160
  target[targetStart + i] = source[sourceStart + i];
@@ -199,44 +163,34 @@ function copyIndices(source, sourceStart, target, targetStart, length) {
199
163
  /**
200
164
  * @internal
201
165
  */
202
-
203
-
204
166
  function arrayPrepend(value, array) {
205
167
  const newLength = array.length + 1;
206
168
  const result = new Array(newLength);
207
169
  result[0] = value;
208
-
209
170
  for (let i = 1; i < newLength; ++i) {
210
171
  result[i] = array[i - 1];
211
172
  }
212
-
213
173
  return result;
214
174
  }
215
175
  /**
216
176
  * Create a reverse _copy_ of an array.
217
177
  * @internal
218
178
  */
219
-
220
-
221
179
  export function reverseArray(array) {
222
180
  return array.slice().reverse();
223
181
  }
224
182
  /**
225
183
  * @internal
226
184
  */
227
-
228
185
  function arrayFirst(array) {
229
186
  return array[0];
230
187
  }
231
188
  /**
232
189
  * @internal
233
190
  */
234
-
235
-
236
191
  function arrayLast(array) {
237
192
  return array[array.length - 1];
238
193
  }
239
-
240
194
  const pathResult = {
241
195
  path: 0,
242
196
  index: 0,
@@ -245,27 +199,21 @@ const pathResult = {
245
199
  /**
246
200
  * @internal
247
201
  */
248
-
249
202
  function getPath(index, offset, depth, sizes) {
250
203
  let i = index;
251
-
252
204
  if (sizes === undefined && offset !== 0) {
253
205
  pathResult.updatedOffset = 0;
254
206
  i = handleOffset(depth, offset, i);
255
207
  }
256
-
257
208
  let path = i >> depth * branchBits & mask;
258
-
259
209
  if (sizes !== undefined) {
260
210
  while (sizes[path] <= i) {
261
211
  path++;
262
212
  }
263
-
264
213
  const traversed = path === 0 ? 0 : sizes[path - 1];
265
214
  i -= traversed;
266
215
  pathResult.updatedOffset = offset;
267
216
  }
268
-
269
217
  pathResult.path = path;
270
218
  pathResult.index = i;
271
219
  return pathResult;
@@ -273,8 +221,6 @@ function getPath(index, offset, depth, sizes) {
273
221
  /**
274
222
  * @internal
275
223
  */
276
-
277
-
278
224
  export function updateNode(node, depth, index, offset, value) {
279
225
  const {
280
226
  path,
@@ -288,201 +234,174 @@ export function updateNode(node, depth, index, offset, value) {
288
234
  /**
289
235
  * @internal
290
236
  */
291
-
292
237
  function cloneNode({
293
238
  sizes,
294
239
  array
295
240
  }) {
296
241
  return new Node(sizes === undefined ? undefined : copyArray(sizes), copyArray(array));
297
- } // This array should not be mutated. Thus a dummy element is placed in
242
+ }
243
+ // This array should not be mutated. Thus a dummy element is placed in
298
244
  // it. Thus the affix will not be owned and thus not mutated.
299
-
300
245
  /**
301
246
  * @internal
302
247
  */
303
-
304
-
305
- export const emptyAffix = [0]; // We store a bit field in Vector. From right to left, the first five
248
+ export const emptyAffix = [0];
249
+ // We store a bit field in Vector. From right to left, the first five
306
250
  // bits are suffix length, the next five are prefix length and the
307
251
  // rest is depth. The functions below are for working with the bits in
308
252
  // a sane way.
309
-
310
253
  /**
311
254
  * @internal
312
255
  */
313
-
314
256
  const affixBits = 6;
315
257
  /**
316
258
  * @internal
317
259
  */
318
-
319
260
  const affixMask = 0b111111;
320
261
  /**
321
262
  * @internal
322
263
  */
323
-
324
264
  export function getSuffixSize(l) {
325
265
  return l.bits & affixMask;
326
266
  }
327
267
  /**
328
268
  * @internal
329
269
  */
330
-
331
270
  export function getPrefixSize(l) {
332
271
  return l.bits >> affixBits & affixMask;
333
272
  }
334
273
  /**
335
274
  * @internal
336
275
  */
337
-
338
276
  export function getDepth(l) {
339
277
  return l.bits >> affixBits * 2;
340
278
  }
341
279
  /**
342
280
  * @internal
343
281
  */
344
-
345
282
  export function setPrefix(size, bits) {
346
283
  return size << affixBits | bits & ~(affixMask << affixBits);
347
284
  }
348
285
  /**
349
286
  * @internal
350
287
  */
351
-
352
288
  export function setSuffix(size, bits) {
353
289
  return size | bits & ~affixMask;
354
290
  }
355
291
  /**
356
292
  * @internal
357
293
  */
358
-
359
294
  export function setDepth(depth, bits) {
360
295
  return depth << affixBits * 2 | bits & (affixMask | affixMask << affixBits);
361
296
  }
362
297
  /**
363
298
  * @internal
364
299
  */
365
-
366
300
  export function incrementPrefix(bits) {
367
301
  return bits + (1 << affixBits);
368
302
  }
369
303
  /**
370
304
  * @internal
371
305
  */
372
-
373
306
  export function incrementSuffix(bits) {
374
307
  return bits + 1;
375
308
  }
376
309
  /**
377
310
  * @internal
378
311
  */
379
-
380
312
  export function incrementDepth(bits) {
381
313
  return bits + (1 << affixBits * 2);
382
314
  }
383
315
  /**
384
316
  * @internal
385
317
  */
386
-
387
318
  export function decrementDepth(bits) {
388
319
  return bits - (1 << affixBits * 2);
389
320
  }
390
321
  /**
391
322
  * Appends the value to the Vector by _mutating_ the Vector and its content.
392
323
  *
393
- * @tsplus fluent fncts.MutableVector push
324
+ * @tsplus pipeable fncts.MutableVector push
394
325
  */
395
-
396
- export function push(l, value) {
397
- const suffixSize = getSuffixSize(l);
398
-
399
- if (l.length === 0) {
400
- l.bits = setPrefix(1, l.bits);
401
- l.prefix = [value];
402
- } else if (suffixSize < 32) {
403
- l.bits = incrementSuffix(l.bits);
404
- l.suffix.push(value);
405
- } else if (l.root === undefined) {
406
- l.root = new Node(undefined, l.suffix);
407
- l.suffix = [value];
408
- l.bits = setSuffix(1, l.bits);
409
- } else {
410
- const newNode = new Node(undefined, l.suffix);
411
- const index = l.length - 1 - 32 + 1;
412
- let current = l.root;
413
- let depth = getDepth(l);
414
- l.suffix = [value];
415
- l.bits = setSuffix(1, l.bits);
416
-
417
- if (index - 1 < branchingFactor ** (depth + 1)) {
418
- for (; depth >= 0; --depth) {
419
- const path = index >> depth * branchBits & mask;
420
-
421
- if (path < current.array.length) {
422
- current = current.array[path];
423
- } else {
424
- current.array.push(createPath(depth - 1, newNode));
425
- break;
326
+ export function push(value) {
327
+ return l => {
328
+ const suffixSize = getSuffixSize(l);
329
+ if (l.length === 0) {
330
+ l.bits = setPrefix(1, l.bits);
331
+ l.prefix = [value];
332
+ } else if (suffixSize < 32) {
333
+ l.bits = incrementSuffix(l.bits);
334
+ l.suffix.push(value);
335
+ } else if (l.root === undefined) {
336
+ l.root = new Node(undefined, l.suffix);
337
+ l.suffix = [value];
338
+ l.bits = setSuffix(1, l.bits);
339
+ } else {
340
+ const newNode = new Node(undefined, l.suffix);
341
+ const index = l.length - 1 - 32 + 1;
342
+ let current = l.root;
343
+ let depth = getDepth(l);
344
+ l.suffix = [value];
345
+ l.bits = setSuffix(1, l.bits);
346
+ if (index - 1 < branchingFactor ** (depth + 1)) {
347
+ for (; depth >= 0; --depth) {
348
+ const path = index >> depth * branchBits & mask;
349
+ if (path < current.array.length) {
350
+ current = current.array[path];
351
+ } else {
352
+ current.array.push(createPath(depth - 1, newNode));
353
+ break;
354
+ }
426
355
  }
356
+ } else {
357
+ l.bits = incrementDepth(l.bits);
358
+ l.root = new Node(undefined, [l.root, createPath(depth, newNode)]);
427
359
  }
428
- } else {
429
- l.bits = incrementDepth(l.bits);
430
- l.root = new Node(undefined, [l.root, createPath(depth, newNode)]);
431
360
  }
432
- }
433
-
434
- l.length++;
435
- return l;
361
+ l.length++;
362
+ return l;
363
+ };
436
364
  }
437
365
  /**
438
366
  * @internal
439
367
  */
440
-
441
368
  export function nodeNthDense(node, depth, index) {
442
- let current = node; // eslint-disable-next-line no-param-reassign
443
-
369
+ let current = node;
370
+ // eslint-disable-next-line no-param-reassign
444
371
  for (; depth >= 0; --depth) {
445
372
  current = current.array[index >> depth * branchBits & mask];
446
373
  }
447
-
448
374
  return current;
449
375
  }
450
376
  /**
451
377
  * @internal
452
378
  */
453
-
454
379
  export function handleOffset(depth, offset, index) {
455
380
  let i = index;
456
- i += offset; // eslint-disable-next-line no-param-reassign
457
-
381
+ i += offset;
382
+ // eslint-disable-next-line no-param-reassign
458
383
  for (; depth >= 0; --depth) {
459
384
  i = index - (offset & mask << depth * branchBits);
460
-
461
385
  if ((index >> depth * branchBits & mask) !== 0) {
462
386
  break;
463
387
  }
464
388
  }
465
-
466
389
  return i;
467
390
  }
468
391
  /**
469
392
  * @internal
470
393
  */
471
-
472
394
  export function nodeNth(node, depth, offset, index) {
473
395
  let path;
474
396
  let current = node;
475
397
  let i = index;
476
398
  let ofs = offset;
477
399
  let dep = depth;
478
-
479
400
  while (current.sizes !== undefined) {
480
401
  path = i >> dep * branchBits & mask;
481
-
482
402
  while (current.sizes[path] <= i) {
483
403
  path++;
484
404
  }
485
-
486
405
  if (path !== 0) {
487
406
  i -= current.sizes[path - 1];
488
407
  ofs = 0; // Offset is discarded if the left spine isn't traversed
@@ -491,22 +410,18 @@ export function nodeNth(node, depth, offset, index) {
491
410
  dep--;
492
411
  current = current.array[path];
493
412
  }
494
-
495
413
  return nodeNthDense(current, dep, ofs === 0 ? i : handleOffset(dep, ofs, i));
496
414
  }
497
415
  /**
498
416
  * @internal
499
417
  */
500
-
501
418
  export function setSizes(node, height) {
502
419
  let sum = 0;
503
420
  const sizeTable = [];
504
-
505
421
  for (let i = 0; i < node.array.length; ++i) {
506
422
  sum += sizeOfSubtree(node.array[i], height - 1);
507
423
  sizeTable[i] = sum;
508
424
  }
509
-
510
425
  node.sizes = sizeTable;
511
426
  return node;
512
427
  }
@@ -515,7 +430,6 @@ export function setSizes(node, height) {
515
430
  *
516
431
  * @internal
517
432
  */
518
-
519
433
  function sizeOfSubtree(node, height) {
520
434
  if (height !== 0) {
521
435
  if (node.sizes !== undefined) {
@@ -528,13 +442,11 @@ function sizeOfSubtree(node, height) {
528
442
  } else {
529
443
  return node.array.length;
530
444
  }
531
- } // prepend & append
532
-
445
+ }
446
+ // prepend & append
533
447
  /**
534
448
  * @internal
535
449
  */
536
-
537
-
538
450
  export function affixPush(a, array, length) {
539
451
  if (array.length === length) {
540
452
  array.push(a);
@@ -552,27 +464,21 @@ export function affixPush(a, array, length) {
552
464
  *
553
465
  * @internal
554
466
  */
555
-
556
467
  function copyLeft(l, k) {
557
468
  let currentNode = cloneNode(l.root); // copy root
558
-
559
469
  l.root = currentNode; // install copy of root
560
-
561
470
  for (let i = 1; i < k; ++i) {
562
471
  const index = 0; // go left
563
-
564
472
  if (currentNode.sizes !== undefined) {
565
473
  for (let i = 0; i < currentNode.sizes.length; ++i) {
566
474
  currentNode.sizes[i] += 32;
567
475
  }
568
476
  }
569
-
570
- const newNode = cloneNode(currentNode.array[index]); // Install the copied node
571
-
477
+ const newNode = cloneNode(currentNode.array[index]);
478
+ // Install the copied node
572
479
  currentNode.array[index] = newNode;
573
480
  currentNode = newNode;
574
481
  }
575
-
576
482
  return currentNode;
577
483
  }
578
484
  /**
@@ -580,21 +486,16 @@ function copyLeft(l, k) {
580
486
  *
581
487
  * @internal
582
488
  */
583
-
584
-
585
489
  function nodePrepend(value, size, node) {
586
490
  const array = arrayPrepend(value, node.array);
587
491
  let sizes = undefined;
588
-
589
492
  if (node.sizes !== undefined) {
590
493
  sizes = new Array(node.sizes.length + 1);
591
494
  sizes[0] = size;
592
-
593
495
  for (let i = 0; i < node.sizes.length; ++i) {
594
496
  sizes[i + 1] = node.sizes[i] + size;
595
497
  }
596
498
  }
597
-
598
499
  return new Node(sizes, array);
599
500
  }
600
501
  /**
@@ -603,11 +504,8 @@ function nodePrepend(value, size, node) {
603
504
  *
604
505
  * @internal
605
506
  */
606
-
607
-
608
507
  function prependTopTree(l, depth, node) {
609
508
  let newOffset;
610
-
611
509
  if (l.root.array.length < branchingFactor) {
612
510
  // There is space in the root, there is never a size table in this
613
511
  // case
@@ -620,7 +518,6 @@ function prependTopTree(l, depth, node) {
620
518
  newOffset = depth === 0 ? 0 : 32 ** (depth + 1) - 32;
621
519
  l.root = new Node(sizes, [createPath(depth, node), l.root]);
622
520
  }
623
-
624
521
  return newOffset;
625
522
  }
626
523
  /**
@@ -629,8 +526,6 @@ function prependTopTree(l, depth, node) {
629
526
  *
630
527
  * @internal
631
528
  */
632
-
633
-
634
529
  export function prependNodeToTree(l, array) {
635
530
  if (l.root === undefined) {
636
531
  if (getSuffixSize(l) === 0) {
@@ -640,13 +535,11 @@ export function prependNodeToTree(l, array) {
640
535
  } else {
641
536
  l.root = new Node(undefined, array);
642
537
  }
643
-
644
538
  return l;
645
539
  } else {
646
540
  const node = new Node(undefined, array);
647
541
  const depth = getDepth(l);
648
542
  let newOffset = 0;
649
-
650
543
  if (l.root.sizes === undefined) {
651
544
  if (l.offset !== 0) {
652
545
  newOffset = l.offset - branchingFactor;
@@ -658,30 +551,24 @@ export function prependNodeToTree(l, array) {
658
551
  }
659
552
  } else {
660
553
  // represents how many nodes _with size-tables_ that we should copy.
661
- let copyableCount = 0; // go down while there is size tables
662
-
554
+ let copyableCount = 0;
555
+ // go down while there is size tables
663
556
  let nodesTraversed = 0;
664
557
  let currentNode = l.root;
665
-
666
558
  while (currentNode.sizes !== undefined && nodesTraversed < depth) {
667
559
  ++nodesTraversed;
668
-
669
560
  if (currentNode.array.length < 32) {
670
561
  // there is room if offset is > 0 or if the first node does not
671
562
  // contain as many nodes as it possibly can
672
563
  copyableCount = nodesTraversed;
673
564
  }
674
-
675
565
  currentNode = currentNode.array[0];
676
566
  }
677
-
678
567
  if (l.offset !== 0) {
679
568
  const copiedNode = copyLeft(l, nodesTraversed);
680
-
681
569
  for (let i = 0; i < copiedNode.sizes.length; ++i) {
682
570
  copiedNode.sizes[i] += branchingFactor;
683
571
  }
684
-
685
572
  copiedNode.array[0] = prependDense(copiedNode.array[0], depth - nodesTraversed, l.offset, node);
686
573
  l.offset = l.offset - branchingFactor;
687
574
  return l;
@@ -690,8 +577,8 @@ export function prependNodeToTree(l, array) {
690
577
  l.offset = prependTopTree(l, depth, node);
691
578
  } else {
692
579
  let parent;
693
- let prependableNode; // Copy the part of the path with size tables
694
-
580
+ let prependableNode;
581
+ // Copy the part of the path with size tables
695
582
  if (copyableCount > 1) {
696
583
  parent = copyLeft(l, copyableCount - 1);
697
584
  prependableNode = parent.array[0];
@@ -699,23 +586,19 @@ export function prependNodeToTree(l, array) {
699
586
  parent = undefined;
700
587
  prependableNode = l.root;
701
588
  }
702
-
703
- const path = createPath(depth - copyableCount, node); // add offset
704
-
589
+ const path = createPath(depth - copyableCount, node);
590
+ // add offset
705
591
  l.offset = 32 ** (depth - copyableCount + 1) - 32;
706
592
  const prepended = nodePrepend(path, 32, prependableNode);
707
-
708
593
  if (parent === undefined) {
709
594
  l.root = prepended;
710
595
  } else {
711
596
  parent.array[0] = prepended;
712
597
  }
713
598
  }
714
-
715
599
  return l;
716
600
  }
717
601
  }
718
-
719
602
  l.offset = newOffset;
720
603
  return l;
721
604
  }
@@ -725,12 +608,10 @@ export function prependNodeToTree(l, array) {
725
608
  *
726
609
  * @internal
727
610
  */
728
-
729
611
  function prependDense(node, depth, offset, value) {
730
612
  // We're indexing down `offset - 1`. At each step `path` is either 0 or -1.
731
613
  const curOffset = offset >> depth * branchBits & mask;
732
614
  const path = (offset - 1 >> depth * branchBits & mask) - curOffset;
733
-
734
615
  if (path < 0) {
735
616
  return new Node(undefined, arrayPrepend(createPath(depth - 1, value), node.array));
736
617
  } else {
@@ -745,8 +626,6 @@ function prependDense(node, depth, offset, value) {
745
626
  *
746
627
  * @internal
747
628
  */
748
-
749
-
750
629
  export function appendNodeToTree(l, array) {
751
630
  if (l.root === undefined) {
752
631
  // The old Vector has no content in tree, all content is in affixes
@@ -756,26 +635,20 @@ export function appendNodeToTree(l, array) {
756
635
  } else {
757
636
  l.root = new Node(undefined, array);
758
637
  }
759
-
760
638
  return l;
761
639
  }
762
-
763
640
  const depth = getDepth(l);
764
641
  let index = handleOffset(depth, l.offset, l.length - 1 - getPrefixSize(l));
765
642
  let nodesToCopy = 0;
766
643
  let nodesVisited = 0;
767
644
  let shift = depth * 5;
768
645
  let currentNode = l.root;
769
-
770
646
  if (32 ** (depth + 1) < index) {
771
647
  shift = 0; // there is no room
772
-
773
648
  nodesVisited = depth;
774
649
  }
775
-
776
650
  while (shift > 5) {
777
651
  let childIndex;
778
-
779
652
  if (currentNode.sizes === undefined) {
780
653
  // does not have size table
781
654
  childIndex = index >> shift & mask;
@@ -784,17 +657,13 @@ export function appendNodeToTree(l, array) {
784
657
  childIndex = currentNode.array.length - 1;
785
658
  index -= currentNode.sizes[childIndex - 1];
786
659
  }
787
-
788
660
  nodesVisited++;
789
-
790
661
  if (childIndex < mask) {
791
662
  // we are not going down the far right path, this implies that
792
663
  // there is still room in the current node
793
664
  nodesToCopy = nodesVisited;
794
665
  }
795
-
796
666
  currentNode = currentNode.array[childIndex];
797
-
798
667
  if (currentNode === undefined) {
799
668
  // This will only happened in a pvec subtree. The index does not
800
669
  // exist so we'll have to create a new path from here on.
@@ -804,18 +673,14 @@ export function appendNodeToTree(l, array) {
804
673
 
805
674
  shift -= 5;
806
675
  }
807
-
808
676
  if (shift !== 0) {
809
677
  nodesVisited++;
810
-
811
678
  if (currentNode.array.length < branchingFactor) {
812
679
  // there is room in the found node
813
680
  nodesToCopy = nodesVisited;
814
681
  }
815
682
  }
816
-
817
683
  const node = new Node(undefined, array);
818
-
819
684
  if (nodesToCopy === 0) {
820
685
  // there was no room in the found node
821
686
  const newPath = nodesVisited === 0 ? node : createPath(nodesVisited, node);
@@ -826,7 +691,6 @@ export function appendNodeToTree(l, array) {
826
691
  const copiedNode = copyFirstK(l, nodesToCopy, array.length);
827
692
  copiedNode.array.push(createPath(depth - nodesToCopy, node));
828
693
  }
829
-
830
694
  return l;
831
695
  }
832
696
  /**
@@ -834,51 +698,38 @@ export function appendNodeToTree(l, array) {
834
698
  *
835
699
  * @internal
836
700
  */
837
-
838
701
  function copyFirstK(newVector, k, leafSize) {
839
702
  let currentNode = cloneNode(newVector.root); // copy root
840
-
841
703
  newVector.root = currentNode; // install root
842
-
843
704
  for (let i = 1; i < k; ++i) {
844
705
  const index = currentNode.array.length - 1;
845
-
846
706
  if (currentNode.sizes !== undefined) {
847
707
  currentNode.sizes[index] += leafSize;
848
708
  }
849
-
850
- const newNode = cloneNode(currentNode.array[index]); // Install the copied node
851
-
709
+ const newNode = cloneNode(currentNode.array[index]);
710
+ // Install the copied node
852
711
  currentNode.array[index] = newNode;
853
712
  currentNode = newNode;
854
713
  }
855
-
856
714
  if (currentNode.sizes !== undefined) {
857
715
  currentNode.sizes.push(arrayLast(currentNode.sizes) + leafSize);
858
716
  }
859
-
860
717
  return currentNode;
861
718
  }
862
-
863
719
  const eMax = 2;
864
720
  /**
865
721
  * @internal
866
722
  */
867
-
868
723
  function createConcatPlan(array) {
869
724
  const sizes = [];
870
725
  let sum = 0;
871
-
872
726
  for (let i = 0; i < array.length; ++i) {
873
727
  sum += array[i].array.length; // FIXME: maybe only access array once
874
-
875
728
  sizes[i] = array[i].array.length;
876
729
  }
877
-
878
730
  const optimalLength = Math.ceil(sum / branchingFactor);
879
731
  let n = array.length;
880
732
  let i = 0;
881
-
882
733
  if (optimalLength + eMax >= n) {
883
734
  return undefined; // no rebalancing needed
884
735
  }
@@ -887,27 +738,22 @@ function createConcatPlan(array) {
887
738
  while (sizes[i] > branchingFactor - eMax / 2) {
888
739
  // Skip nodes that are already sufficiently balanced
889
740
  ++i;
890
- } // the node at this index is too short
891
-
892
-
741
+ }
742
+ // the node at this index is too short
893
743
  let remaining = sizes[i]; // number of elements to re-distribute
894
-
895
744
  do {
896
745
  const size = Math.min(remaining + sizes[i + 1], branchingFactor);
897
746
  sizes[i] = size;
898
747
  remaining = remaining - (size - sizes[i + 1]);
899
748
  ++i;
900
- } while (remaining > 0); // Shift nodes after
901
-
902
-
749
+ } while (remaining > 0);
750
+ // Shift nodes after
903
751
  for (let j = i; j <= n - 1; ++j) {
904
752
  sizes[j] = sizes[j + 1];
905
753
  }
906
-
907
754
  --i;
908
755
  --n;
909
756
  }
910
-
911
757
  sizes.length = n;
912
758
  return sizes;
913
759
  }
@@ -918,55 +764,42 @@ function createConcatPlan(array) {
918
764
  *
919
765
  * @internal
920
766
  */
921
-
922
-
923
767
  function concatNodeMerge(left, center, right) {
924
768
  const array = [];
925
-
926
769
  if (left !== undefined) {
927
770
  for (let i = 0; i < left.array.length - 1; ++i) {
928
771
  array.push(left.array[i]);
929
772
  }
930
773
  }
931
-
932
774
  for (let i = 0; i < center.array.length; ++i) {
933
775
  array.push(center.array[i]);
934
776
  }
935
-
936
777
  if (right !== undefined) {
937
778
  for (let i = 1; i < right.array.length; ++i) {
938
779
  array.push(right.array[i]);
939
780
  }
940
781
  }
941
-
942
782
  return array;
943
783
  }
944
784
  /**
945
785
  * @internal
946
786
  */
947
-
948
-
949
787
  function executeConcatPlan(merged, plan, height) {
950
788
  const result = [];
951
789
  let sourceIdx = 0; // the current node we're copying from
952
-
953
790
  let offset = 0; // elements in source already used
954
-
955
791
  for (let toMove of plan) {
956
792
  let source = merged[sourceIdx].array;
957
-
958
793
  if (toMove === source.length && offset === 0) {
959
794
  // source matches target exactly, reuse source
960
795
  result.push(merged[sourceIdx]);
961
796
  ++sourceIdx;
962
797
  } else {
963
798
  const node = new Node(undefined, []);
964
-
965
799
  while (toMove > 0) {
966
800
  const available = source.length - offset;
967
801
  const itemsToCopy = Math.min(toMove, available);
968
802
  pushElements(source, node.array, offset, itemsToCopy);
969
-
970
803
  if (toMove >= available) {
971
804
  ++sourceIdx;
972
805
  source = merged[sourceIdx].array;
@@ -974,19 +807,15 @@ function executeConcatPlan(merged, plan, height) {
974
807
  } else {
975
808
  offset += itemsToCopy;
976
809
  }
977
-
978
810
  toMove -= itemsToCopy;
979
811
  }
980
-
981
812
  if (height > 1) {
982
813
  // Set sizes on children unless they are leaf nodes
983
814
  setSizes(node, height - 1);
984
815
  }
985
-
986
816
  result.push(node);
987
817
  }
988
818
  }
989
-
990
819
  return result;
991
820
  }
992
821
  /**
@@ -996,13 +825,10 @@ function executeConcatPlan(merged, plan, height) {
996
825
  *
997
826
  * @internal
998
827
  */
999
-
1000
-
1001
828
  function rebalance(left, center, right, height, top) {
1002
829
  const merged = concatNodeMerge(left, center, right);
1003
830
  const plan = createConcatPlan(merged);
1004
831
  const balanced = plan !== undefined ? executeConcatPlan(merged, plan, height) : merged;
1005
-
1006
832
  if (balanced.length <= branchingFactor) {
1007
833
  if (top === true) {
1008
834
  return new Node(undefined, balanced);
@@ -1018,8 +844,6 @@ function rebalance(left, center, right, height, top) {
1018
844
  /**
1019
845
  * @internal
1020
846
  */
1021
-
1022
-
1023
847
  export function concatSubTree(left, lDepth, right, rDepth, isTop) {
1024
848
  if (lDepth > rDepth) {
1025
849
  const c = concatSubTree(arrayLast(left.array), lDepth - 1, right, rDepth, false);
@@ -1037,12 +861,10 @@ export function concatSubTree(left, lDepth, right, rDepth, isTop) {
1037
861
  /**
1038
862
  * @internal
1039
863
  */
1040
-
1041
864
  export const concatBuffer = /*#__PURE__*/new Array(3);
1042
865
  /**
1043
866
  * @internal
1044
867
  */
1045
-
1046
868
  export function concatAffixes(left, right) {
1047
869
  // TODO: Try and find a neat way to reduce the LOC here
1048
870
  let nr = 0;
@@ -1050,41 +872,32 @@ export function concatAffixes(left, right) {
1050
872
  let i = 0;
1051
873
  let length = getSuffixSize(left);
1052
874
  concatBuffer[nr] = [];
1053
-
1054
875
  for (i = 0; i < length; ++i) {
1055
876
  concatBuffer[nr][arrIdx++] = left.suffix[i];
1056
877
  }
1057
-
1058
878
  length = getPrefixSize(right);
1059
-
1060
879
  for (i = 0; i < length; ++i) {
1061
880
  if (arrIdx === 32) {
1062
881
  arrIdx = 0;
1063
882
  ++nr;
1064
883
  concatBuffer[nr] = [];
1065
884
  }
1066
-
1067
885
  concatBuffer[nr][arrIdx++] = right.prefix[length - 1 - i];
1068
886
  }
1069
-
1070
887
  length = getSuffixSize(right);
1071
-
1072
888
  for (i = 0; i < length; ++i) {
1073
889
  if (arrIdx === 32) {
1074
890
  arrIdx = 0;
1075
891
  ++nr;
1076
892
  concatBuffer[nr] = [];
1077
893
  }
1078
-
1079
894
  concatBuffer[nr][arrIdx++] = right.suffix[i];
1080
895
  }
1081
-
1082
896
  return nr;
1083
897
  }
1084
898
  /**
1085
899
  * @internal
1086
900
  */
1087
-
1088
901
  export function getHeight(node) {
1089
902
  if (node.array[0] instanceof Node) {
1090
903
  return 1 + getHeight(node.array[0]);
@@ -1095,28 +908,22 @@ export function getHeight(node) {
1095
908
  /**
1096
909
  * @internal
1097
910
  */
1098
-
1099
- export let newAffix; // function getBitsForDepth(n: number, depth: number): number {
911
+ export let newAffix;
912
+ // function getBitsForDepth(n: number, depth: number): number {
1100
913
  // return n & ~(~0 << ((depth + 1) * branchBits));
1101
914
  // }
1102
-
1103
915
  function sliceNode(node, index, depth, pathLeft, pathRight, childLeft, childRight) {
1104
916
  const array = node.array.slice(pathLeft, pathRight + 1);
1105
-
1106
917
  if (childLeft !== undefined) {
1107
918
  array[0] = childLeft;
1108
919
  }
1109
-
1110
920
  if (childRight !== undefined) {
1111
921
  array[array.length - 1] = childRight;
1112
922
  }
1113
-
1114
923
  let sizes = node.sizes;
1115
-
1116
924
  if (sizes !== undefined) {
1117
925
  sizes = sizes.slice(pathLeft, pathRight + 1);
1118
926
  let slicedOffLeft = pathLeft !== 0 ? node.sizes[pathLeft - 1] : 0;
1119
-
1120
927
  if (childLeft !== undefined) {
1121
928
  // If the left child has been sliced into a new child we need to know
1122
929
  // how many elements have been removed from the child.
@@ -1135,24 +942,19 @@ function sliceNode(node, index, depth, pathLeft, pathRight, childLeft, childRigh
1135
942
  slicedOffLeft += (index - slicedOffLeft & ~0b011111) + 32;
1136
943
  }
1137
944
  }
1138
-
1139
945
  for (let i = 0; i < sizes.length; ++i) {
1140
946
  sizes[i] -= slicedOffLeft;
1141
947
  }
1142
-
1143
948
  if (childRight !== undefined) {
1144
949
  const slicedOffRight = sizeOfSubtree(node.array[pathRight], depth - 1) - sizeOfSubtree(childRight, depth - 1);
1145
950
  sizes[sizes.length - 1] -= slicedOffRight;
1146
951
  }
1147
952
  }
1148
-
1149
953
  return new Node(sizes, array);
1150
954
  }
1151
955
  /**
1152
956
  * @internal
1153
957
  */
1154
-
1155
-
1156
958
  export let newOffset = 0;
1157
959
  export function sliceLeft(tree, depth, index, offset, top) {
1158
960
  let {
@@ -1160,80 +962,65 @@ export function sliceLeft(tree, depth, index, offset, top) {
1160
962
  path,
1161
963
  updatedOffset
1162
964
  } = getPath(index, offset, depth, tree.sizes);
1163
-
1164
965
  if (depth === 0) {
1165
- newAffix = tree.array.slice(path).reverse(); // This leaf node is moved up as a suffix so there is nothing here
966
+ newAffix = tree.array.slice(path).reverse();
967
+ // This leaf node is moved up as a suffix so there is nothing here
1166
968
  // after slicing
1167
-
1168
969
  return undefined;
1169
970
  } else {
1170
971
  const child = sliceLeft(tree.array[path], depth - 1, newIndex, updatedOffset, false);
1171
-
1172
972
  if (child === undefined) {
1173
973
  // There is nothing in the child after slicing so we don't include it
1174
974
  ++path;
1175
-
1176
975
  if (path === tree.array.length) {
1177
976
  return undefined;
1178
977
  }
1179
- } // If we've sliced something away and it's not a the root, update offset
1180
-
1181
-
978
+ }
979
+ // If we've sliced something away and it's not a the root, update offset
1182
980
  if (tree.sizes === undefined && top === false) {
1183
981
  newOffset |= 32 - (tree.array.length - path) << depth * branchBits;
1184
982
  }
1185
-
1186
983
  return sliceNode(tree, index, depth, path, tree.array.length - 1, child, undefined);
1187
984
  }
1188
985
  }
1189
986
  /** Slice elements off of a tree from the right */
1190
-
1191
987
  export function sliceRight(node, depth, index, offset) {
1192
988
  let {
1193
989
  index: newIndex,
1194
990
  path
1195
991
  } = getPath(index, offset, depth, node.sizes);
1196
-
1197
992
  if (depth === 0) {
1198
- newAffix = node.array.slice(0, path + 1); // this leaf node is moved up as a suffix so there is nothing here
993
+ newAffix = node.array.slice(0, path + 1);
994
+ // this leaf node is moved up as a suffix so there is nothing here
1199
995
  // after slicing
1200
-
1201
996
  return undefined;
1202
997
  } else {
1203
998
  // slice the child, note that we subtract 1 then the radix lookup
1204
999
  // algorithm can find the last element that we want to include
1205
1000
  // and sliceRight will do a slice that is inclusive on the index.
1206
1001
  const child = sliceRight(node.array[path], depth - 1, newIndex, path === 0 ? offset : 0);
1207
-
1208
1002
  if (child === undefined) {
1209
1003
  // there is nothing in the child after slicing so we don't include it
1210
1004
  --path;
1211
-
1212
1005
  if (path === -1) {
1213
1006
  return undefined;
1214
1007
  }
1215
- } // note that we add 1 to the path since we want the slice to be
1008
+ }
1009
+ // note that we add 1 to the path since we want the slice to be
1216
1010
  // inclusive on the end index. Only at the leaf level do we want
1217
1011
  // to do an exclusive slice.
1218
-
1219
-
1220
1012
  const array = node.array.slice(0, path + 1);
1221
-
1222
1013
  if (child !== undefined) {
1223
1014
  array[array.length - 1] = child;
1224
1015
  }
1225
-
1226
1016
  let sizes = node.sizes;
1227
-
1228
1017
  if (sizes !== undefined) {
1229
1018
  sizes = sizes.slice(0, path + 1);
1230
-
1231
1019
  if (child !== undefined) {
1232
1020
  const slicedOff = sizeOfSubtree(node.array[path], depth - 1) - sizeOfSubtree(child, depth - 1);
1233
1021
  sizes[sizes.length - 1] -= slicedOff;
1234
1022
  }
1235
1023
  }
1236
-
1237
1024
  return new Node(sizes, array);
1238
1025
  }
1239
1026
  }
@@ -1247,7 +1034,6 @@ export function sliceTreeVector(from, to, tree, depth, offset, l) {
1247
1034
  index: newTo,
1248
1035
  path: pathRight
1249
1036
  } = getPath(to, offset, depth, sizes);
1250
-
1251
1037
  if (depth === 0) {
1252
1038
  // we are slicing a piece off a leaf node
1253
1039
  l.prefix = emptyAffix;
@@ -1264,21 +1050,17 @@ export function sliceTreeVector(from, to, tree, depth, offset, l) {
1264
1050
  const childRight = sliceRight(tree.array[pathRight], depth - 1, newTo, 0);
1265
1051
  l.bits = setSuffix(newAffix.length, l.bits);
1266
1052
  l.suffix = newAffix;
1267
-
1268
1053
  if (childRight === undefined) {
1269
1054
  --pathRight;
1270
1055
  }
1271
-
1272
1056
  newOffset = 0;
1273
1057
  const childLeft = sliceLeft(tree.array[pathLeft], depth - 1, newFrom, pathLeft === 0 ? offset : 0, pathLeft === pathRight);
1274
1058
  l.offset = newOffset;
1275
1059
  l.bits = setPrefix(newAffix.length, l.bits);
1276
1060
  l.prefix = newAffix;
1277
-
1278
1061
  if (childLeft === undefined) {
1279
1062
  ++pathLeft;
1280
1063
  }
1281
-
1282
1064
  if (pathLeft >= pathRight) {
1283
1065
  if (pathLeft > pathRight) {
1284
1066
  // This only happens when `pathLeft` originally was equal to
@@ -1295,54 +1077,44 @@ export function sliceTreeVector(from, to, tree, depth, offset, l) {
1295
1077
  } else {
1296
1078
  l.root = sliceNode(tree, from, depth, pathLeft, pathRight, childLeft, childRight);
1297
1079
  }
1298
-
1299
1080
  return l;
1300
1081
  }
1301
1082
  }
1302
1083
  /**
1303
1084
  * @internal
1304
1085
  */
1305
-
1306
1086
  export function zeroOffset() {
1307
1087
  newOffset = 0;
1308
1088
  }
1309
-
1310
1089
  function foldLeftArrayCb(cb, state, array, from, to, offset) {
1311
- for (var i = from; i < to && cb(array[i], state, i + offset); ++i) {//
1090
+ for (var i = from; i < to && cb(array[i], state, i + offset); ++i) {
1091
+ //
1312
1092
  }
1313
-
1314
1093
  return [i === to, i + offset + 1];
1315
1094
  }
1316
-
1317
1095
  function foldRightArrayCb(cb, state, array, from, to, offset) {
1318
1096
  // eslint-disable-next-line no-param-reassign
1319
- for (var i = from - 1; to <= i && cb(array[i], state, offset); --i, offset--) {//
1097
+ for (var i = from - 1; to <= i && cb(array[i], state, offset); --i, offset--) {
1098
+ //
1320
1099
  }
1321
-
1322
1100
  return [i === to - 1, offset];
1323
1101
  }
1324
-
1325
1102
  function foldLeftNodeCb(cb, state, node, depth, offset) {
1326
1103
  const {
1327
1104
  array
1328
1105
  } = node;
1329
-
1330
1106
  if (depth === 0) {
1331
1107
  return foldLeftArrayCb(cb, state, array, 0, array.length, offset);
1332
1108
  }
1333
-
1334
1109
  const to = array.length;
1335
1110
  let j = offset;
1336
1111
  let cont;
1337
-
1338
1112
  for (let i = 0; i < to; ++i) {
1339
1113
  [cont, j] = foldLeftNodeCb(cb, state, array[i], depth - 1, j);
1340
-
1341
1114
  if (!cont) {
1342
1115
  return [false, j];
1343
1116
  }
1344
1117
  }
1345
-
1346
1118
  return [true, j];
1347
1119
  }
1348
1120
  /**
@@ -1352,75 +1124,57 @@ function foldLeftNodeCb(cb, state, node, depth, offset) {
1352
1124
  * to continue the fold. `true` indicates that the folding should
1353
1125
  * continue.
1354
1126
  */
1355
-
1356
-
1357
1127
  export function foldLeftCb(cb, state, l) {
1358
1128
  const prefixSize = getPrefixSize(l);
1359
1129
  let i = prefixSize - 1;
1360
1130
  let cont = true;
1361
1131
  [cont, i] = foldRightArrayCb(cb, state, l.prefix, prefixSize, 0, i);
1362
-
1363
1132
  if (!cont) {
1364
1133
  return state;
1365
1134
  }
1366
-
1367
1135
  i = prefixSize;
1368
-
1369
1136
  if (l.root !== undefined) {
1370
1137
  [cont, i] = foldLeftNodeCb(cb, state, l.root, getDepth(l), i);
1371
-
1372
1138
  if (!cont) {
1373
1139
  return state;
1374
1140
  }
1375
1141
  }
1376
-
1377
1142
  const suffixSize = getSuffixSize(l);
1378
1143
  foldLeftArrayCb(cb, state, l.suffix, 0, suffixSize, i);
1379
1144
  return state;
1380
1145
  }
1381
-
1382
1146
  function foldRightNodeCb(cb, state, node, depth, offset) {
1383
1147
  const {
1384
1148
  array
1385
1149
  } = node;
1386
-
1387
1150
  if (depth === 0) {
1388
1151
  return foldRightArrayCb(cb, state, array, array.length, 0, offset);
1389
1152
  }
1390
-
1391
1153
  let j = offset;
1392
1154
  let cont;
1393
-
1394
1155
  for (let i = array.length - 1; 0 <= i; --i) {
1395
1156
  [cont, j] = foldRightNodeCb(cb, state, array[i], depth - 1, j);
1396
-
1397
1157
  if (!cont) {
1398
1158
  return [false, j];
1399
1159
  }
1400
1160
  }
1401
-
1402
1161
  return [true, j];
1403
1162
  }
1404
-
1405
1163
  export function foldRightCb(cb, state, l) {
1406
1164
  const suffixSize = getSuffixSize(l);
1407
1165
  const prefixSize = getPrefixSize(l);
1408
1166
  let i = l.length - 1;
1409
1167
  let cont = true;
1410
1168
  [cont, i] = foldRightArrayCb(cb, state, l.suffix, suffixSize, 0, i);
1411
-
1412
1169
  if (!cont) {
1413
1170
  return state;
1414
1171
  }
1415
-
1416
1172
  if (l.root !== undefined) {
1417
1173
  [cont, i] = foldRightNodeCb(cb, state, l.root, getDepth(l), i);
1418
-
1419
1174
  if (!cont) {
1420
1175
  return state;
1421
1176
  }
1422
1177
  }
1423
-
1424
1178
  const prefix = l.prefix;
1425
1179
  foldLeftArrayCb(cb, state, l.prefix, prefix.length - prefixSize, prefix.length, prefix.length - 1);
1426
1180
  return state;
@@ -1428,11 +1182,9 @@ export function foldRightCb(cb, state, l) {
1428
1182
  export function foldLeftPrefix(f, b, array, length) {
1429
1183
  let acc = b;
1430
1184
  let j = 0;
1431
-
1432
1185
  for (let i = length - 1; 0 <= i; --i, j++) {
1433
1186
  acc = f(j, acc, array[i]);
1434
1187
  }
1435
-
1436
1188
  return [acc, j];
1437
1189
  }
1438
1190
  export function foldLeftNode(f, b, node, depth, offset) {
@@ -1441,35 +1193,28 @@ export function foldLeftNode(f, b, node, depth, offset) {
1441
1193
  } = node;
1442
1194
  let acc = b;
1443
1195
  let j = offset;
1444
-
1445
1196
  if (depth === 0) {
1446
1197
  return foldLeftSuffix(f, b, array, array.length, offset);
1447
1198
  }
1448
-
1449
1199
  for (let i = 0; i < array.length; ++i) {
1450
1200
  [acc, j] = foldLeftNode(f, acc, array[i], depth - 1, j);
1451
1201
  }
1452
-
1453
1202
  return [acc, j];
1454
1203
  }
1455
1204
  export function foldLeftSuffix(f, b, array, length, offset) {
1456
1205
  let acc = b;
1457
1206
  let j = offset;
1458
-
1459
1207
  for (let i = 0; i < length; ++i, j++) {
1460
1208
  acc = f(j, acc, array[i]);
1461
1209
  }
1462
-
1463
1210
  return [acc, j];
1464
1211
  }
1465
1212
  export function foldRightPrefix(f, b, array, length, offset) {
1466
1213
  let acc = b;
1467
1214
  let j = offset;
1468
-
1469
1215
  for (let i = 0; i < length; ++i, j--) {
1470
1216
  acc = f(j, array[i], acc);
1471
1217
  }
1472
-
1473
1218
  return [acc, j];
1474
1219
  }
1475
1220
  export function foldRightNode(f, b, node, depth, offset) {
@@ -1478,38 +1223,29 @@ export function foldRightNode(f, b, node, depth, offset) {
1478
1223
  } = node;
1479
1224
  let acc = b;
1480
1225
  let j = offset;
1481
-
1482
1226
  if (depth === 0) {
1483
1227
  return foldRightSuffix(f, b, array, array.length, offset);
1484
1228
  }
1485
-
1486
1229
  for (let i = array.length - 1; 0 <= i; --i) {
1487
1230
  [acc, j] = foldRightNode(f, acc, array[i], depth - 1, j);
1488
1231
  }
1489
-
1490
1232
  return [acc, j];
1491
1233
  }
1492
1234
  export function foldRightSuffix(f, b, array, length, offset) {
1493
1235
  let acc = b;
1494
1236
  let j = offset;
1495
-
1496
1237
  for (let i = length - 1; 0 <= i; --i, j--) {
1497
1238
  acc = f(j, array[i], acc);
1498
1239
  }
1499
-
1500
1240
  return [acc, j];
1501
1241
  }
1502
-
1503
1242
  function mapArray(f, array, offset) {
1504
1243
  const result = new Array(array.length);
1505
-
1506
1244
  for (let i = 0; i < array.length; ++i) {
1507
1245
  result[i] = f(offset + i, array[i]);
1508
1246
  }
1509
-
1510
1247
  return [result, offset + array.length];
1511
1248
  }
1512
-
1513
1249
  export function mapNode(f, node, depth, offset, adjust) {
1514
1250
  if (depth !== 0) {
1515
1251
  const {
@@ -1517,13 +1253,11 @@ export function mapNode(f, node, depth, offset, adjust) {
1517
1253
  } = node;
1518
1254
  let innerOffset = offset;
1519
1255
  const result = new Array(array.length);
1520
-
1521
1256
  for (let i = 0; i < array.length; ++i) {
1522
1257
  const [res, newOffset] = mapNode(f, array[i], depth - 1, innerOffset, adjust * 32);
1523
1258
  innerOffset = newOffset;
1524
1259
  result[i] = res;
1525
1260
  }
1526
-
1527
1261
  return [new Node(node.sizes, result), innerOffset];
1528
1262
  } else {
1529
1263
  const [res, newOffset] = mapArray(f, node.array, offset);
@@ -1532,24 +1266,19 @@ export function mapNode(f, node, depth, offset, adjust) {
1532
1266
  }
1533
1267
  export function mapPrefix(f, prefix, length) {
1534
1268
  const newPrefix = new Array(length);
1535
-
1536
1269
  for (let i = length - 1; 0 <= i; --i) {
1537
1270
  newPrefix[i] = f(length - 1 - i, prefix[i]);
1538
1271
  }
1539
-
1540
1272
  return newPrefix;
1541
1273
  }
1542
1274
  export function mapAffix(f, suffix, length, totalLength) {
1543
1275
  const priorLength = totalLength - length;
1544
1276
  const newSuffix = new Array(length);
1545
-
1546
1277
  for (let i = 0; i < length; ++i) {
1547
1278
  newSuffix[i] = f(priorLength + i, suffix[i]);
1548
1279
  }
1549
-
1550
1280
  return newSuffix;
1551
- } // functions based on foldlCb
1552
-
1281
+ }
1553
1282
  export function arrayPush(array, a) {
1554
1283
  array.push(a);
1555
1284
  return array;