@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
@@ -10,6 +10,7 @@ import {
10
10
  SIZE,
11
11
  toBitmap,
12
12
  } from "@fncts/base/collection/immutable/HashMap/internal";
13
+ import { pipe } from "@fncts/base/data/function";
13
14
  import * as P from "@fncts/base/typeclass";
14
15
 
15
16
  /**
@@ -17,8 +18,8 @@ import * as P from "@fncts/base/typeclass";
17
18
  *
18
19
  * @tsplus getter fncts.HashMap isEmpty
19
20
  */
20
- export function isEmpty<K, V>(map: HashMap<K, V>): boolean {
21
- return map && isEmptyNode(map.root);
21
+ export function isEmpty<K, V>(self: HashMap<K, V>): boolean {
22
+ return self && isEmptyNode(self.root);
22
23
  }
23
24
 
24
25
  /**
@@ -33,8 +34,8 @@ export function makeWith<K, V>(config: P.HashEq<K>): HashMap<K, V> {
33
34
  /**
34
35
  * @tsplus static fncts.HashMapOps __call
35
36
  */
36
- export function make<K, V>(...items: readonly (readonly [K, V])[]): HashMap<K, V> {
37
- return makeDefault<K, V>().mutate((map) => {
37
+ export function make<K, V>(...items: ReadonlyArray<readonly [K, V]>): HashMap<K, V> {
38
+ return HashMap.empty<any, any>().mutate((map) => {
38
39
  for (const [key, value] of items) {
39
40
  map.set(key, value);
40
41
  }
@@ -44,64 +45,75 @@ export function make<K, V>(...items: readonly (readonly [K, V])[]): HashMap<K, V
44
45
  /**
45
46
  * Make a new map that has randomly cached hash and structural equality
46
47
  *
47
- * @tsplus static fncts.HashMapOps makeDefault
48
+ * @tsplus static fncts.HashMapOps empty
48
49
  */
49
- export function makeDefault<K, V>(): HashMap<K, V> {
50
- return makeWith<K, V>(P.HashEq.StructuralStrict);
50
+ export function empty<K, V>(): HashMap<K, V> {
51
+ return HashMap.makeWith<K, V>(P.HashEq.StructuralStrict);
51
52
  }
52
53
 
53
54
  /**
54
55
  * Makes a new map from a Foldable of key-value pairs
55
56
  *
56
- * @tsplus fluent fncts.HashMapOps fromFoldable
57
+ * @tsplus pipeable fncts.HashMapOps fromFoldable
57
58
  */
58
59
  export function fromFoldable<F extends HKT, C, K, A>(config: P.HashEq<K>, S: P.Semigroup<A>, F: P.Foldable<F, C>) {
59
- return <K_, Q, W, X, I, S, R, E>(fka: HKT.Kind<F, C, K_, Q, W, X, I, S, R, E, readonly [K, A]>): HashMap<K, A> => {
60
- return F.foldLeft(fka, makeWith(config), (b, [k, a]) => {
61
- const oa = b.get(k);
62
- if (oa.isJust()) {
63
- return b.set(k, S.combine(oa.value, a));
64
- } else {
65
- return b.set(k, a);
66
- }
67
- });
60
+ return <K_, Q, W, X, I, S, R, E>(self: HKT.Kind<F, C, K_, Q, W, X, I, S, R, E, readonly [K, A]>): HashMap<K, A> => {
61
+ return pipe(
62
+ self,
63
+ F.foldLeft(makeWith(config), (b, [k, a]) => {
64
+ const oa: Maybe<A> = b.get(k);
65
+ if (oa.isJust()) {
66
+ return b.set(k, S.combine(a)(oa.value));
67
+ } else {
68
+ return b.set(k, a);
69
+ }
70
+ }),
71
+ );
68
72
  };
69
73
  }
70
74
 
71
75
  /**
72
76
  * Lookup the value for `key` in `map` using custom hash.
73
77
  *
74
- * @tsplus fluent fncts.HashMap getHash
78
+ * @tsplus pipeable fncts.HashMap getHash
75
79
  */
76
- export function getHash_<K, V>(map: HashMap<K, V>, key: K, hash: number): Maybe<V> {
77
- return tryGetHash(map, key, hash);
80
+ export function getHash<K>(key: K, hash: number) {
81
+ return <V>(self: HashMap<K, V>): Maybe<V> => {
82
+ return tryGetHash(self, key, hash);
83
+ };
78
84
  }
79
85
 
80
86
  /**
81
87
  * Lookup the value for `key` in `map` using internal hash function.
82
88
  *
83
- * @tsplus fluent fncts.HashMap get
89
+ * @tsplus pipeable fncts.HashMap get
84
90
  */
85
- export function get_<K, V>(map: HashMap<K, V>, key: K): Maybe<V> {
86
- return tryGetHash(map, key, map.config.hash(key));
91
+ export function get<K>(key: K) {
92
+ return <V>(self: HashMap<K, V>): Maybe<V> => {
93
+ return tryGetHash(self, key, self.config.hash(key));
94
+ };
87
95
  }
88
96
 
89
97
  /**
90
98
  * Does an entry exist for `key` in `map`? Uses custom `hash`.
91
99
  *
92
- * @tsplus fluent fncts.HashMap hashHash
100
+ * @tsplus pipeable fncts.HashMap hasHash
93
101
  */
94
- export function hasHash_<K, V>(map: HashMap<K, V>, key: K, hash: number): boolean {
95
- return tryGetHash(map, key, hash).isJust();
102
+ export function hasHash<K>(key: K, hash: number) {
103
+ return <V>(self: HashMap<K, V>): boolean => {
104
+ return tryGetHash(self, key, hash).isJust();
105
+ };
96
106
  }
97
107
 
98
108
  /**
99
109
  * Does an entry exist for `key` in `map`? Uses internal hash function.
100
110
  *
101
- * @tsplus fluent fncts.HashMap has
111
+ * @tsplus pipeable fncts.HashMap has
102
112
  */
103
- export function has_<K, V>(map: HashMap<K, V>, key: K): boolean {
104
- return tryGetHash(map, key, map.config.hash(key)).isJust();
113
+ export function has<K>(key: K) {
114
+ return <V>(self: HashMap<K, V>): boolean => {
115
+ return tryGetHash(self, key, self.config.hash(key)).isJust();
116
+ };
105
117
  }
106
118
 
107
119
  /**
@@ -113,12 +125,14 @@ export function has_<K, V>(map: HashMap<K, V>, key: K): boolean {
113
125
  * `modify` will always either update or insert a value into the map.
114
126
  * Returns a map with the modified value. Does not alter `map`.
115
127
  *
116
- * @tsplus fluent fncts.HashMap modifyHash
128
+ * @tsplus pipeable fncts.HashMap modifyHash
117
129
  */
118
- export function modifyHash_<K, V>(map: HashMap<K, V>, key: K, hash: number, f: UpdateFn<V>): HashMap<K, V> {
119
- const size = { value: map.size };
120
- const newRoot = map.root.modify(map.editable ? map.edit : NaN, map.config.equals, 0, f, hash, key, size);
121
- return setTree(map, newRoot, size.value);
130
+ export function modifyHash<K, V>(key: K, hash: number, f: UpdateFn<V>) {
131
+ return (self: HashMap<K, V>): HashMap<K, V> => {
132
+ const size = { value: self.size };
133
+ const newRoot = self.root.modify(self.editable ? self.edit : NaN, self.config.equals, 0, f, hash, key, size);
134
+ return setTree(self, newRoot, size.value);
135
+ };
122
136
  }
123
137
 
124
138
  /**
@@ -130,41 +144,49 @@ export function modifyHash_<K, V>(map: HashMap<K, V>, key: K, hash: number, f: U
130
144
  * `modify` will always either update or insert a value into the map.
131
145
  * Returns a map with the modified value. Does not alter `map`.
132
146
  *
133
- * @tsplus fluent fncts.HashMap modify
147
+ * @tsplus pipeable fncts.HashMap modify
134
148
  */
135
- export function modify_<K, V>(map: HashMap<K, V>, key: K, f: UpdateFn<V>): HashMap<K, V> {
136
- return map.modifyHash(key, map.config.hash(key), f);
149
+ export function modify<K, V>(key: K, f: UpdateFn<V>) {
150
+ return (self: HashMap<K, V>): HashMap<K, V> => {
151
+ return self.modifyHash(key, self.config.hash(key), f);
152
+ };
137
153
  }
138
154
 
139
155
  /**
140
156
  * Store `value` for `key` in `map` using internal hash function.
141
157
  *
142
- * @tsplus fluent fncts.HashMap set
158
+ * @tsplus pipeable fncts.HashMap set
143
159
  */
144
- export function set_<K, V>(map: HashMap<K, V>, key: K, value: V): HashMap<K, V> {
145
- return map.modify(key, () => Just(value));
160
+ export function set<K, V>(key: K, value: V) {
161
+ return (self: HashMap<K, V>): HashMap<K, V> => {
162
+ return self.modify(key, () => Just(value));
163
+ };
146
164
  }
147
165
 
148
166
  /**
149
167
  * Remove the entry for `key` in `map` using internal hash.
150
168
  *
151
- * @tsplus fluent fncts.HashMap remove
169
+ * @tsplus pipeable fncts.HashMap remove
152
170
  */
153
- export function remove_<K, V>(map: HashMap<K, V>, key: K): HashMap<K, V> {
154
- return map.modify(key, () => Nothing());
171
+ export function remove<K>(key: K) {
172
+ return <V>(self: HashMap<K, V>): HashMap<K, V> => {
173
+ return self.modify(key, () => Nothing());
174
+ };
155
175
  }
156
176
 
157
177
  /**
158
178
  * Remove many keys
159
179
  *
160
- * @tsplus fluent fncts.HashMap removeMany
180
+ * @tsplus pipeable fncts.HashMap removeMany
161
181
  */
162
- export function removeMany_<K, V>(map: HashMap<K, V>, keys: Iterable<K>): HashMap<K, V> {
163
- return mutate_(map, (m) => {
164
- for (const k of keys) {
165
- m.remove(k);
166
- }
167
- });
182
+ export function removeMany<K>(keys: Iterable<K>) {
183
+ return <V>(self: HashMap<K, V>): HashMap<K, V> => {
184
+ return self.mutate((m) => {
185
+ for (const k of keys) {
186
+ m.remove(k);
187
+ }
188
+ });
189
+ };
168
190
  }
169
191
 
170
192
  /**
@@ -172,8 +194,8 @@ export function removeMany_<K, V>(map: HashMap<K, V>, keys: Iterable<K>): HashMa
172
194
  *
173
195
  * @tsplus getter fncts.HashMap beginMutation
174
196
  */
175
- export function beginMutation<K, V>(map: HashMap<K, V>): HashMap<K, V> {
176
- return new HashMap(true, map.edit + 1, map.config, map.root, map.size);
197
+ export function beginMutation<K, V>(self: HashMap<K, V>): HashMap<K, V> {
198
+ return new HashMap(true, self.edit + 1, self.config, self.root, self.size);
177
199
  }
178
200
 
179
201
  /**
@@ -181,20 +203,22 @@ export function beginMutation<K, V>(map: HashMap<K, V>): HashMap<K, V> {
181
203
  *
182
204
  * @tsplus getter fncts.HashMap endMutation
183
205
  */
184
- export function endMutation<K, V>(map: HashMap<K, V>): HashMap<K, V> {
185
- map.editable = false;
186
- return map;
206
+ export function endMutation<K, V>(self: HashMap<K, V>): HashMap<K, V> {
207
+ self.editable = false;
208
+ return self;
187
209
  }
188
210
 
189
211
  /**
190
212
  * Mutate `map` within the context of `f`.
191
213
  *
192
- * @tsplus fluent fncts.HashMap mutate
214
+ * @tsplus pipeable fncts.HashMap mutate
193
215
  */
194
- export function mutate_<K, V>(map: HashMap<K, V>, f: (map: HashMap<K, V>) => void): HashMap<K, V> {
195
- const transient = map.beginMutation;
196
- f(transient);
197
- return transient.endMutation;
216
+ export function mutate<K, V>(f: (map: HashMap<K, V>) => void) {
217
+ return (self: HashMap<K, V>): HashMap<K, V> => {
218
+ const transient = self.beginMutation;
219
+ f(transient);
220
+ return transient.endMutation;
221
+ };
198
222
  }
199
223
 
200
224
  /**
@@ -202,8 +226,8 @@ export function mutate_<K, V>(map: HashMap<K, V>, f: (map: HashMap<K, V>) => voi
202
226
  *
203
227
  * @tsplus getter fncts.HashMap keys
204
228
  */
205
- export function keys<K, V>(map: HashMap<K, V>): IterableIterator<K> {
206
- return new HashMapIterator(map, ([k]) => k);
229
+ export function keys<K, V>(self: HashMap<K, V>): IterableIterator<K> {
230
+ return new HashMapIterator(self, ([k]) => k);
207
231
  }
208
232
 
209
233
  /**
@@ -212,7 +236,7 @@ export function keys<K, V>(map: HashMap<K, V>): IterableIterator<K> {
212
236
  * @tsplus getter fncts.HashMap keySet
213
237
  */
214
238
  export function keySet<K, V>(self: HashMap<K, V>): HashSet<K> {
215
- return HashSet.make(self.config).mutate((set) => {
239
+ return HashSet.emptyWith(self.config).mutate((set) => {
216
240
  self.forEachWithIndex((k) => {
217
241
  set.add(k);
218
242
  });
@@ -222,11 +246,11 @@ export function keySet<K, V>(self: HashMap<K, V>): HashSet<K> {
222
246
  /**
223
247
  * Get the set of values
224
248
  *
225
- * @tsplus getter fncts.HashMap keySetDefault
249
+ * @tsplus getter fncts.HashMap toSet
226
250
  */
227
- export function toSetDefault<K, V>(map: HashMap<K, V>): HashSet<V> {
228
- return HashSet.makeDefault<V>().mutate((set) => {
229
- map.forEach((v) => {
251
+ export function toSet<K, V>(self: HashMap<K, V>): HashSet<V> {
252
+ return HashSet.empty<V>().mutate((set) => {
253
+ self.forEach((v) => {
230
254
  set.add(v);
231
255
  });
232
256
  });
@@ -237,9 +261,9 @@ export function toSetDefault<K, V>(map: HashMap<K, V>): HashSet<V> {
237
261
  *
238
262
  * @tsplus getter fncts.HashMap toList
239
263
  */
240
- export function toList<K, V>(map: HashMap<K, V>): List<readonly [K, V]> {
264
+ export function toList<K, V>(self: HashMap<K, V>): List<readonly [K, V]> {
241
265
  const buffer = new ListBuffer<readonly [K, V]>();
242
- map.forEachWithIndex((k, v) => {
266
+ self.forEachWithIndex((k, v) => {
243
267
  buffer.append([k, v]);
244
268
  });
245
269
  return buffer.toList;
@@ -250,10 +274,10 @@ export function toList<K, V>(map: HashMap<K, V>): List<readonly [K, V]> {
250
274
  *
251
275
  * @tsplus getter fncts.HashMap toArray
252
276
  */
253
- export function toArray<K, V>(map: HashMap<K, V>): Array<readonly [K, V]> {
254
- const buffer: Array<readonly [K, V]> = Array(map.size);
277
+ export function toArray<K, V>(self: HashMap<K, V>): Array<readonly [K, V]> {
278
+ const buffer: Array<readonly [K, V]> = Array(self.size);
255
279
  let i = 0;
256
- map.forEachWithIndex((k, v) => {
280
+ self.forEachWithIndex((k, v) => {
257
281
  buffer[i] = [k, v];
258
282
  i++;
259
283
  });
@@ -265,77 +289,91 @@ export function toArray<K, V>(map: HashMap<K, V>): Array<readonly [K, V]> {
265
289
  *
266
290
  * @tsplus getter fncts.HashMap values
267
291
  */
268
- export function values<K, V>(map: HashMap<K, V>): IterableIterator<V> {
269
- return new HashMapIterator(map, ([, v]) => v);
292
+ export function values<K, V>(self: HashMap<K, V>): IterableIterator<V> {
293
+ return new HashMapIterator(self, ([, v]) => v);
270
294
  }
271
295
 
272
296
  /**
273
297
  * Update a value if exists
274
298
  *
275
- * @tsplus fluent fncts.HashMap update
299
+ * @tsplus pipeable fncts.HashMap update
276
300
  */
277
- export function update_<K, V>(map: HashMap<K, V>, key: K, f: (v: V) => V): HashMap<K, V> {
278
- return map.modify(key, (v) => v.map(f));
301
+ export function update<K, V>(key: K, f: (v: V) => V) {
302
+ return (self: HashMap<K, V>): HashMap<K, V> => {
303
+ return self.modify(key, (v) => v.map(f));
304
+ };
279
305
  }
280
306
 
281
307
  /**
282
308
  * Apply f to each element
283
309
  *
284
- * @tsplus fluent fncts.HashMap forEachWithIndex
310
+ * @tsplus pipeable fncts.HashMap forEachWithIndex
285
311
  */
286
- export function forEachWithIndex_<K, V>(map: HashMap<K, V>, f: (k: K, v: V, m: HashMap<K, V>) => void): void {
287
- map.foldLeftWithIndex(undefined as void, (key, _, value) => f(key, value, map));
312
+ export function forEachWithIndex<K, V>(f: (k: K, v: V, m: HashMap<K, V>) => void) {
313
+ return (self: HashMap<K, V>): void => {
314
+ self.foldLeftWithIndex(undefined as void, (key, _, value) => f(key, value, self));
315
+ };
288
316
  }
289
317
 
290
318
  /**
291
319
  * Apply f to each element
292
320
  *
293
- * @tsplus fluent fncts.HashMap forEach
321
+ * @tsplus pipeable fncts.HashMap forEach
294
322
  */
295
- export function forEach_<K, V>(map: HashMap<K, V>, f: (v: V, m: HashMap<K, V>) => void): void {
296
- return map.forEachWithIndex((_, v, m) => f(v, m));
323
+ export function forEach<K, V>(f: (v: V, m: HashMap<K, V>) => void) {
324
+ return (self: HashMap<K, V>): void => {
325
+ return self.forEachWithIndex((_, v, m) => f(v, m));
326
+ };
297
327
  }
298
328
 
299
329
  /**
300
330
  * Maps over the map entries
301
331
  *
302
- * @tsplus fluent fncts.HashMap mapWithIndex
332
+ * @tsplus pipeable fncts.HashMap mapWithIndex
303
333
  */
304
- export function mapWithIndex_<K, V, A>(fa: HashMap<K, V>, f: (k: K, v: V) => A): HashMap<K, A> {
305
- return fa.foldLeftWithIndex(makeWith<K, A>(fa.config), (k, z, v) => z.set(k, f(k, v)));
334
+ export function mapWithIndex<K, V, A>(f: (k: K, v: V) => A) {
335
+ return (self: HashMap<K, V>): HashMap<K, A> => {
336
+ return self.foldLeftWithIndex(makeWith<K, A>(self.config), (k, z, v) => z.set(k, f(k, v)));
337
+ };
306
338
  }
307
339
 
308
340
  /**
309
341
  * Maps over the map entries
310
342
  *
311
- * @tsplus fluent fncts.HashMap map
343
+ * @tsplus pipeable fncts.HashMap map
312
344
  */
313
- export function map_<K, V, A>(fa: HashMap<K, V>, f: (v: V) => A): HashMap<K, A> {
314
- return fa.mapWithIndex((_, a) => f(a));
345
+ export function map<V, A>(f: (v: V) => A) {
346
+ return <K>(self: HashMap<K, V>): HashMap<K, A> => {
347
+ return self.mapWithIndex((_, a) => f(a));
348
+ };
315
349
  }
316
350
 
317
351
  /**
318
352
  * Chain over the map entries, the hash and equal of the 2 maps has to be the same
319
353
  *
320
- * @tsplus fluent fncts.HashMap flatMapWithIndex
354
+ * @tsplus pipeable fncts.HashMap flatMapWithIndex
321
355
  */
322
- export function flatMapWithIndex_<K, V, A>(ma: HashMap<K, V>, f: (k: K, v: V) => HashMap<K, A>): HashMap<K, A> {
323
- return ma.foldLeftWithIndex(makeWith<K, A>(ma.config), (k, z, v) =>
324
- z.mutate((m) => {
325
- f(k, v).forEachWithIndex((k1, a1) => {
326
- m.set(k1, a1);
327
- });
328
- }),
329
- );
356
+ export function flatMapWithIndex<K, V, A>(f: (k: K, v: V) => HashMap<K, A>) {
357
+ return (self: HashMap<K, V>): HashMap<K, A> => {
358
+ return self.foldLeftWithIndex(makeWith<K, A>(self.config), (k, z, v) =>
359
+ z.mutate((m) => {
360
+ f(k, v).forEachWithIndex((k1, a1) => {
361
+ m.set(k1, a1);
362
+ });
363
+ }),
364
+ );
365
+ };
330
366
  }
331
367
 
332
368
  /**
333
369
  * Chain over the map entries, the hash and equal of the 2 maps has to be the same
334
370
  *
335
- * @tsplus fluent fncts.HashMap flatMap
371
+ * @tsplus pipeable fncts.HashMap flatMap
336
372
  */
337
- export function flatMap_<K, V, A>(ma: HashMap<K, V>, f: (v: V) => HashMap<K, A>): HashMap<K, A> {
338
- return ma.flatMapWithIndex((_, a) => f(a));
373
+ export function flatMap<K, V, A>(f: (v: V) => HashMap<K, A>) {
374
+ return (self: HashMap<K, V>): HashMap<K, A> => {
375
+ return self.flatMapWithIndex((_, a) => f(a));
376
+ };
339
377
  }
340
378
 
341
379
  /**
@@ -343,8 +381,8 @@ export function flatMap_<K, V, A>(ma: HashMap<K, V>, f: (v: V) => HashMap<K, A>)
343
381
  *
344
382
  * @tsplus getter fncts.HashMap compact
345
383
  */
346
- export function compact<K, A>(map: HashMap<K, Maybe<A>>): HashMap<K, A> {
347
- return map.filterMap(Function.identity);
384
+ export function compact<K, A>(self: HashMap<K, Maybe<A>>): HashMap<K, A> {
385
+ return self.filterMap(Function.identity);
348
386
  }
349
387
 
350
388
  /**
@@ -352,268 +390,338 @@ export function compact<K, A>(map: HashMap<K, Maybe<A>>): HashMap<K, A> {
352
390
  *
353
391
  * @tsplus getter fncts.HashMap separate
354
392
  */
355
- export function separate<K, A, B>(map: HashMap<K, Either<A, B>>): readonly [HashMap<K, A>, HashMap<K, B>] {
356
- return map.partitionMap(Function.identity);
393
+ export function separate<K, A, B>(self: HashMap<K, Either<A, B>>): readonly [HashMap<K, A>, HashMap<K, B>] {
394
+ return self.partitionMap(Function.identity);
357
395
  }
358
396
 
359
397
  /**
360
398
  * Filter out None and map
361
399
  *
362
- * @tsplus fluent fncts.HashMap filterMapWithIndex
400
+ * @tsplus pipeable fncts.HashMap filterMapWithIndex
363
401
  */
364
- export function filterMapWithIndex_<K, A, B>(map: HashMap<K, A>, f: (k: K, a: A) => Maybe<B>): HashMap<K, B> {
365
- return makeWith<K, B>(map.config).mutate((m) => {
366
- for (const [k, a] of map) {
367
- const o = f(k, a);
368
- if (o.isJust()) {
369
- m.set(k, o.value);
402
+ export function filterMapWithIndex<K, A, B>(f: (k: K, a: A) => Maybe<B>) {
403
+ return (self: HashMap<K, A>): HashMap<K, B> => {
404
+ return makeWith<K, B>(self.config).mutate((m) => {
405
+ for (const [k, a] of self) {
406
+ const o = f(k, a);
407
+ if (o.isJust()) {
408
+ m.set(k, o.value);
409
+ }
370
410
  }
371
- }
372
- });
411
+ });
412
+ };
373
413
  }
374
414
 
375
415
  /**
376
416
  * Filter out None and map
377
417
  *
378
- * @tsplus fluent fncts.HashMap filterMap
418
+ * @tsplus pipeable fncts.HashMap filterMap
379
419
  */
380
- export function filterMap_<K, A, B>(map: HashMap<K, A>, f: (a: A) => Maybe<B>): HashMap<K, B> {
381
- return map.filterMapWithIndex((_, a) => f(a));
420
+ export function filterMap<A, B>(f: (a: A) => Maybe<B>) {
421
+ return <K>(self: HashMap<K, A>): HashMap<K, B> => {
422
+ return self.filterMapWithIndex((_, a) => f(a));
423
+ };
382
424
  }
383
425
 
384
426
  /**
385
427
  * Filter out by predicate
386
428
  *
387
- * @tsplus fluent fncts.HashMap filterWithIndex
429
+ * @tsplus pipeable fncts.HashMap filterWithIndex
388
430
  */
389
- export function filterWithIndex_<K, A, B extends A>(
390
- map: HashMap<K, A>,
431
+ export function filterWithIndex<K, A, B extends A>(
391
432
  refinement: RefinementWithIndex<K, A, B>,
392
- ): HashMap<K, B>;
393
- export function filterWithIndex_<K, A>(map: HashMap<K, A>, predicate: PredicateWithIndex<K, A>): HashMap<K, A>;
394
- export function filterWithIndex_<K, A>(map: HashMap<K, A>, predicate: PredicateWithIndex<K, A>): HashMap<K, A> {
395
- return makeWith<K, A>(map.config).mutate((m) => {
396
- for (const [k, a] of map) {
397
- if (predicate(k, a)) {
398
- m.set(k, a);
433
+ ): (self: HashMap<K, A>) => HashMap<K, B>;
434
+ export function filterWithIndex<K, A>(predicate: PredicateWithIndex<K, A>): (self: HashMap<K, A>) => HashMap<K, A>;
435
+ export function filterWithIndex<K, A>(predicate: PredicateWithIndex<K, A>) {
436
+ return (self: HashMap<K, A>): HashMap<K, A> => {
437
+ return makeWith<K, A>(self.config).mutate((m) => {
438
+ for (const [k, a] of self) {
439
+ if (predicate(k, a)) {
440
+ m.set(k, a);
441
+ }
399
442
  }
400
- }
401
- });
443
+ });
444
+ };
402
445
  }
403
446
 
404
447
  /**
405
448
  * Filter out by predicate
406
449
  *
407
- * @tsplus fluent fncts.HashMap filter
450
+ * @tsplus pipeable fncts.HashMap filter
408
451
  */
409
- export function filter_<K, A, B extends A>(map: HashMap<K, A>, refinement: Refinement<A, B>): HashMap<K, B>;
410
- export function filter_<K, A>(map: HashMap<K, A>, predicate: Predicate<A>): HashMap<K, A>;
411
- export function filter_<K, A>(map: HashMap<K, A>, predicate: Predicate<A>): HashMap<K, A> {
412
- return map.filterWithIndex((_, a) => predicate(a));
452
+ export function filter<A, B extends A>(refinement: Refinement<A, B>): <K>(self: HashMap<K, A>) => HashMap<K, B>;
453
+ export function filter<A>(predicate: Predicate<A>): <K>(self: HashMap<K, A>) => HashMap<K, A>;
454
+ export function filter<A>(predicate: Predicate<A>) {
455
+ return <K>(self: HashMap<K, A>): HashMap<K, A> => {
456
+ return self.filterWithIndex((_, a) => predicate(a));
457
+ };
413
458
  }
414
459
 
415
460
  /**
416
- * @tsplus fluent fncts.HashMap partitionMapWithIndex
461
+ * @tsplus pipeable fncts.HashMap partitionMapWithIndex
417
462
  */
418
- export function partitionMapWithIndex_<K, V, A, B>(
419
- map: HashMap<K, V>,
420
- f: (i: K, a: V) => Either<A, B>,
421
- ): readonly [HashMap<K, A>, HashMap<K, B>] {
422
- const left = makeWith<K, A>(map.config).beginMutation;
423
- const right = makeWith<K, B>(map.config).beginMutation;
424
-
425
- map.forEachWithIndex((k, v) => {
426
- f(k, v).match(
427
- (a) => {
428
- left.set(k, a);
429
- },
430
- (b) => {
431
- right.set(k, b);
432
- },
433
- );
434
- });
435
-
436
- return [left.endMutation, right.endMutation];
463
+ export function partitionMapWithIndex<K, V, A, B>(f: (i: K, a: V) => Either<A, B>) {
464
+ return (self: HashMap<K, V>): readonly [HashMap<K, A>, HashMap<K, B>] => {
465
+ const left = makeWith<K, A>(self.config).beginMutation;
466
+ const right = makeWith<K, B>(self.config).beginMutation;
467
+ self.forEachWithIndex((k, v) => {
468
+ f(k, v).match(
469
+ (a) => {
470
+ left.set(k, a);
471
+ },
472
+ (b) => {
473
+ right.set(k, b);
474
+ },
475
+ );
476
+ });
477
+ return [left.endMutation, right.endMutation];
478
+ };
437
479
  }
438
480
 
439
481
  /**
440
- * @tsplus fluent fncts.HashMap partitionMap
482
+ * @tsplus pipeable fncts.HashMap partitionMap
441
483
  */
442
- export function partitionMap_<K, V, A, B>(
443
- map: HashMap<K, V>,
444
- f: (a: V) => Either<A, B>,
445
- ): readonly [HashMap<K, A>, HashMap<K, B>] {
446
- return map.partitionMapWithIndex((_, a) => f(a));
484
+ export function partitionMap<V, A, B>(f: (a: V) => Either<A, B>) {
485
+ return <K>(self: HashMap<K, V>): readonly [HashMap<K, A>, HashMap<K, B>] => {
486
+ return self.partitionMapWithIndex((_, a) => f(a));
487
+ };
447
488
  }
448
489
 
449
490
  /**
450
- * @tsplus fluent fncts.HashMap partitionWithIndex
491
+ * @tsplus pipeable fncts.HashMap partitionWithIndex
451
492
  */
452
- export function partitionWithIndex_<K, V, B extends V>(
453
- map: HashMap<K, V>,
493
+ export function partitionWithIndex<K, V, B extends V>(
454
494
  refinement: RefinementWithIndex<K, V, B>,
455
- ): readonly [HashMap<K, V>, HashMap<K, B>];
456
- export function partitionWithIndex_<K, V>(
457
- map: HashMap<K, V>,
458
- predicate: PredicateWithIndex<K, V>,
459
- ): readonly [HashMap<K, V>, HashMap<K, V>];
460
- export function partitionWithIndex_<K, V>(
461
- map: HashMap<K, V>,
495
+ ): (self: HashMap<K, V>) => readonly [HashMap<K, V>, HashMap<K, B>];
496
+ export function partitionWithIndex<K, V>(
462
497
  predicate: PredicateWithIndex<K, V>,
463
- ): readonly [HashMap<K, V>, HashMap<K, V>] {
464
- const left = makeWith<K, V>(map.config).beginMutation;
465
- const right = makeWith<K, V>(map.config).beginMutation;
466
-
467
- map.forEachWithIndex((k, v) => {
468
- if (predicate(k, v)) {
469
- right.set(k, v);
470
- } else {
471
- left.set(k, v);
472
- }
473
- });
474
-
475
- return [left.endMutation, right.endMutation];
498
+ ): (self: HashMap<K, V>) => readonly [HashMap<K, V>, HashMap<K, V>];
499
+ export function partitionWithIndex<K, V>(predicate: PredicateWithIndex<K, V>) {
500
+ return (self: HashMap<K, V>): readonly [HashMap<K, V>, HashMap<K, V>] => {
501
+ const left = makeWith<K, V>(self.config).beginMutation;
502
+ const right = makeWith<K, V>(self.config).beginMutation;
503
+ self.forEachWithIndex((k, v) => {
504
+ if (predicate(k, v)) {
505
+ right.set(k, v);
506
+ } else {
507
+ left.set(k, v);
508
+ }
509
+ });
510
+ return [left.endMutation, right.endMutation];
511
+ };
476
512
  }
477
513
 
478
514
  /**
479
- * @tsplus fluent fncts.HashMap partition
515
+ * @tsplus pipeable fncts.HashMap partition
480
516
  */
481
- export function partition_<K, V, B extends V>(
482
- map: HashMap<K, V>,
517
+ export function partition<V, B extends V>(
483
518
  refinement: Refinement<V, B>,
484
- ): readonly [HashMap<K, V>, HashMap<K, B>];
485
- export function partition_<K, V>(map: HashMap<K, V>, predicate: Predicate<V>): readonly [HashMap<K, V>, HashMap<K, V>];
486
- export function partition_<K, V>(map: HashMap<K, V>, predicate: Predicate<V>): readonly [HashMap<K, V>, HashMap<K, V>] {
487
- return map.partitionWithIndex((_, a) => predicate(a));
519
+ ): <K>(self: HashMap<K, V>) => readonly [HashMap<K, V>, HashMap<K, B>];
520
+ export function partition<V>(
521
+ predicate: Predicate<V>,
522
+ ): <K>(self: HashMap<K, V>) => readonly [HashMap<K, V>, HashMap<K, V>];
523
+ export function partition<V>(predicate: Predicate<V>) {
524
+ return <K>(self: HashMap<K, V>): readonly [HashMap<K, V>, HashMap<K, V>] => {
525
+ return self.partitionWithIndex((_, a) => predicate(a));
526
+ };
488
527
  }
489
528
 
490
529
  /**
491
530
  * Reduce a state over the map entries
492
531
  *
493
- * @tsplus fluent fncts.HashMap foldLeftWithIndex
532
+ * @tsplus pipeable fncts.HashMap foldLeftWithIndex
494
533
  */
495
- export function foldLeftWithIndex_<K, V, Z>(map: HashMap<K, V>, z: Z, f: (k: K, z: Z, v: V) => Z): Z {
496
- const root = map.root;
497
- if (root._tag === "LeafNode") return root.value.isJust() ? f(root.key, z, root.value.value) : z;
498
- if (root._tag === "EmptyNode") {
499
- return z;
500
- }
501
- const toVisit = [root.children];
502
- let children;
503
- let acc = z;
504
- while ((children = toVisit.pop())) {
505
- for (let i = 0, len = children.length; i < len; ) {
506
- const child = children[i++];
507
- if (child && !isEmptyNode(child)) {
508
- if (child._tag === "LeafNode") {
509
- if (child.value.isJust()) {
510
- // eslint-disable-next-line no-param-reassign
511
- acc = f(child.key, acc, child.value.value);
534
+ export function foldLeftWithIndex<K, V, Z>(z: Z, f: (k: K, z: Z, v: V) => Z) {
535
+ return (self: HashMap<K, V>): Z => {
536
+ const root = self.root;
537
+ if (root._tag === "LeafNode") return root.value.isJust() ? f(root.key, z, root.value.value) : z;
538
+ if (root._tag === "EmptyNode") {
539
+ return z;
540
+ }
541
+ const toVisit = [root.children];
542
+ let children;
543
+ let acc = z;
544
+ while ((children = toVisit.pop())) {
545
+ for (let i = 0, len = children.length; i < len; ) {
546
+ const child = children[i++];
547
+ if (child && !isEmptyNode(child)) {
548
+ if (child._tag === "LeafNode") {
549
+ if (child.value.isJust()) {
550
+ // eslint-disable-next-line no-param-reassign
551
+ acc = f(child.key, acc, child.value.value);
552
+ }
553
+ } else {
554
+ toVisit.push(child.children);
512
555
  }
513
- } else {
514
- toVisit.push(child.children);
515
556
  }
516
557
  }
517
558
  }
518
- }
519
- return acc;
559
+ return acc;
560
+ };
520
561
  }
521
562
 
522
563
  /**
523
564
  * Reduce a state over the map entries
524
565
  *
525
- * @tsplus fluent fncts.HashMap foldLeft
566
+ * @tsplus pipeable fncts.HashMap foldLeft
526
567
  */
527
- export function foldLeft_<K, V, Z>(map: HashMap<K, V>, z: Z, f: (z: Z, v: V) => Z): Z {
528
- return map.foldLeftWithIndex(z, (_, b, a) => f(b, a));
568
+ export function foldLeft<V, Z>(z: Z, f: (z: Z, v: V) => Z) {
569
+ return <K>(self: HashMap<K, V>): Z => {
570
+ return self.foldLeftWithIndex(z, (_, b, a) => f(b, a));
571
+ };
529
572
  }
530
573
 
531
574
  /**
532
575
  * @tsplus getter fncts.HashMap traverseWithIndex
533
576
  */
534
- export const traverseWithIndex = P.TraversableWithIndex.makeTraverseWithIndex<HashMapF>()(
535
- () => (ta) => (G) => (f) =>
536
- ta.foldLeftWithIndex(G.pure(makeWith(ta.config)), (k, b, a) => G.zipWith(b, f(k, a), (map, b) => map.set(k, b))),
537
- );
577
+ export function _traverseWithIndex<K, A>(
578
+ self: HashMap<K, A>,
579
+ ): <G extends HKT, GC = HKT.None>(
580
+ G: P.Applicative<G, GC>,
581
+ ) => <K1, Q, W, X, I, S, R, E, B>(
582
+ f: (i: K, a: A) => HKT.Kind<G, GC, K1, Q, W, X, I, S, R, E, B>,
583
+ ) => HKT.Kind<G, GC, K1, Q, W, X, I, S, R, E, HashMap<K, B>>;
584
+ export function _traverseWithIndex<K, A>(
585
+ self: HashMap<K, A>,
586
+ ): <G>(G: P.Applicative<HKT.F<G>>) => <B>(f: (i: K, a: A) => HKT.FK1<G, B>) => HKT.FK1<G, HashMap<K, B>> {
587
+ return (G) => (f) =>
588
+ self.foldLeftWithIndex(G.pure(HashMap.makeWith(self.config)), (k, b, a) =>
589
+ pipe(
590
+ b,
591
+ G.zipWith(f(k, a), (map, b) => map.set(k, b)),
592
+ ),
593
+ );
594
+ }
538
595
 
539
596
  /**
540
597
  * @tsplus getter fncts.HashMap traverse
541
598
  */
542
- export const traverse: P.Traversable<HashMapF>["traverse"] = (ta) => (G) => (f) =>
599
+ export function _traverse<K, A>(
600
+ self: HashMap<K, A>,
601
+ ): <G extends HKT, GC = HKT.None>(
602
+ G: P.Applicative<G, GC>,
603
+ ) => <K1, Q, W, X, I, S, R, E, B>(
604
+ f: (a: A) => HKT.Kind<G, GC, K1, Q, W, X, I, S, R, E, B>,
605
+ ) => HKT.Kind<G, GC, K1, Q, W, X, I, S, R, E, HashMap<K, B>> {
606
+ return (G) => (f) => self.traverseWithIndex(G)((_, a) => f(a));
607
+ }
608
+
609
+ export const traverseWithIndex: P.TraversableWithIndex<HashMapF>["traverseWithIndex"] = (G) => (f) => (ta) =>
610
+ ta.traverseWithIndex(G)(f);
611
+
612
+ export const traverse: P.Traversable<HashMapF>["traverse"] = (G) => (f) => (ta) =>
543
613
  ta.traverseWithIndex(G)((_, a) => f(a));
544
614
 
545
615
  /**
546
- * @tsplus fluent fncts.HashMap unsafeGet
616
+ * @tsplus pipeable fncts.HashMap unsafeGet
547
617
  */
548
- export function unsafeGet_<K, V>(self: HashMap<K, V>, key: K): V | undefined {
549
- return self.getHash(key, self.config.hash(key)).value;
618
+ export function unsafeGet<K>(key: K) {
619
+ return <V>(self: HashMap<K, V>): V | undefined => {
620
+ return self.getHash(key, self.config.hash(key)).value;
621
+ };
550
622
  }
551
623
 
552
624
  /**
553
625
  * @tsplus getter fncts.HashMap witherWithIndex
554
626
  */
555
- export const witherWithIndex: P.WitherableWithIndex<HashMapF>["witherWithIndex"] = (wa) => (G) => (f) =>
556
- G.map(wa.traverseWithIndex(G)(f), compact);
627
+ export function _witherWithIndex<K, A>(
628
+ self: HashMap<K, A>,
629
+ ): <G extends HKT, GC = HKT.None>(
630
+ G: P.Applicative<G, GC>,
631
+ ) => <K1, Q, W, X, I, S, R, E, B>(
632
+ f: (i: K, a: A) => HKT.Kind<G, GC, K1, Q, W, X, I, S, R, E, Maybe<B>>,
633
+ ) => HKT.Kind<G, GC, K1, Q, W, X, I, S, R, E, HashMap<K, B>> {
634
+ return (G) => (f) => self.traverseWithIndex(G)(f).pipe(G.map(compact));
635
+ }
557
636
 
558
637
  /**
559
638
  * @tsplus getter fncts.HashMap wither
560
639
  */
561
- export const wither: P.Witherable<HashMapF>["wither"] = (wa) => (G) => (f) => wa.witherWithIndex(G)((_, a) => f(a));
640
+ export function _wither<K, A>(
641
+ self: HashMap<K, A>,
642
+ ): <G extends HKT, GC = HKT.None>(
643
+ G: P.Applicative<G, GC>,
644
+ ) => <K1, Q, W, X, I, S, R, E, B>(
645
+ f: (a: A) => HKT.Kind<G, GC, K1, Q, W, X, I, S, R, E, Maybe<B>>,
646
+ ) => HKT.Kind<G, GC, K1, Q, W, X, I, S, R, E, HashMap<K, B>> {
647
+ return (G) => (f) => self.witherWithIndex(G)((_, a) => f(a));
648
+ }
649
+
650
+ export const witherWithIndex: P.WitherableWithIndex<HashMapF>["witherWithIndex"] = (G) => (f) => (wa) =>
651
+ wa.witherWithIndex(G)(f);
652
+
653
+ export const wither: P.Witherable<HashMapF>["wither"] = (G) => (f) => (wa) => wa.witherWithIndex(G)((_, a) => f(a));
562
654
 
563
655
  /**
564
656
  * @tsplus getter fncts.HashMap wiltWithIndex
565
657
  */
566
- export const wiltWithIndex: P.WitherableWithIndex<HashMapF>["wiltWithIndex"] = (wa) => (G) => (f) =>
567
- G.map(wa.traverseWithIndex(G)(f), separate);
658
+ export function _wiltWithIndex<K, A>(
659
+ self: HashMap<K, A>,
660
+ ): <G extends HKT, GC = HKT.None>(
661
+ G: P.Applicative<G, GC>,
662
+ ) => <K1, Q, W, X, I, S, R, E, B, B2>(
663
+ f: (i: K, a: A) => HKT.Kind<G, GC, K1, Q, W, X, I, S, R, E, Either<B, B2>>,
664
+ ) => HKT.Kind<G, GC, K1, Q, W, X, I, S, R, E, readonly [HashMap<K, B>, HashMap<K, B2>]> {
665
+ return (G) => (f) => self.traverseWithIndex(G)(f).pipe(G.map(separate));
666
+ }
568
667
 
569
668
  /**
570
669
  * @tsplus getter fncts.HashMap wilt
571
670
  */
572
- export const wilt: P.Witherable<HashMapF>["wilt"] = (wa) => (G) => (f) => wa.wiltWithIndex(G)((_, a) => f(a));
573
-
574
- /**
575
- * @tsplus fluent fncts.HashMap unionWith
576
- */
577
- export function unionWith_<K, A>(
671
+ export function _wilt<K, A>(
578
672
  self: HashMap<K, A>,
579
- that: Iterable<readonly [K, A]>,
580
- f: (x: A, y: A) => A,
581
- ): HashMap<K, A> {
582
- return self.mutate((m) => {
583
- for (const [k, a] of that) {
584
- m.modify(k, (v) =>
585
- v.match(
586
- () => Just(a),
587
- (a0) => Just(f(a0, a)),
588
- ),
589
- );
590
- }
591
- });
673
+ ): <G extends HKT, GC = HKT.None>(
674
+ G: P.Applicative<G, GC>,
675
+ ) => <K1, Q, W, X, I, S, R, E, B, B2>(
676
+ f: (a: A) => HKT.Kind<G, GC, K1, Q, W, X, I, S, R, E, Either<B, B2>>,
677
+ ) => HKT.Kind<G, GC, K1, Q, W, X, I, S, R, E, readonly [HashMap<K, B>, HashMap<K, B2>]> {
678
+ return (G) => (f) => self.wiltWithIndex(G)((_, a) => f(a));
592
679
  }
593
680
 
681
+ export const wiltWithIndex: P.WitherableWithIndex<HashMapF>["wiltWithIndex"] = (G) => (f) => (wa) =>
682
+ wa.wiltWithIndex(G)(f);
683
+
684
+ export const wilt: P.Witherable<HashMapF>["wilt"] = (G) => (f) => (wa) => wa.wiltWithIndex(G)((_, a) => f(a));
685
+
594
686
  /**
595
- * @tsplus fluent fncts.HashMap union
687
+ * @tsplus pipeable fncts.HashMap unionWith
596
688
  */
597
- export function union_<K, A>(self: HashMap<K, A>, that: Iterable<readonly [K, A]>): HashMap<K, A> {
598
- return self.mutate((m) => {
599
- for (const [k, a] of that) {
600
- m.set(k, a);
601
- }
602
- });
689
+ export function unionWith<K, A>(that: Iterable<readonly [K, A]>, f: (x: A, y: A) => A) {
690
+ return (self: HashMap<K, A>): HashMap<K, A> => {
691
+ return self.mutate((m) => {
692
+ for (const [k, a] of that) {
693
+ m.modify(k, (v) =>
694
+ v.match(
695
+ () => Just(a),
696
+ (a0) => Just(f(a0, a)),
697
+ ),
698
+ );
699
+ }
700
+ });
701
+ };
603
702
  }
604
703
 
605
704
  /**
606
- * @tsplus fluent fncts.HashMap pop
705
+ * @tsplus pipeable fncts.HashMap union
607
706
  */
608
- export function pop_<K, A>(map: HashMap<K, A>, k: K): Maybe<readonly [A, HashMap<K, A>]> {
609
- return map.get(k).map((a) => [a, map.remove(k)]);
707
+ export function union<K, A>(that: Iterable<readonly [K, A]>) {
708
+ return (self: HashMap<K, A>): HashMap<K, A> => {
709
+ return self.mutate((m) => {
710
+ for (const [k, a] of that) {
711
+ m.set(k, a);
712
+ }
713
+ });
714
+ };
610
715
  }
611
716
 
612
- /*
613
- * -------------------------------------------------------------------------------------------------
614
- * internal
615
- * -------------------------------------------------------------------------------------------------
717
+ /**
718
+ * @tsplus pipeable fncts.HashMap pop
616
719
  */
720
+ export function pop<K>(k: K) {
721
+ return <A>(self: HashMap<K, A>): Maybe<readonly [A, HashMap<K, A>]> => {
722
+ return self.get(k).map((a) => [a, self.remove(k)]);
723
+ };
724
+ }
617
725
 
618
726
  /**
619
727
  * Set the root of the map
@@ -639,14 +747,14 @@ function tryGetHash<K, V>(map: HashMap<K, V>, key: K, hash: number): Maybe<V> {
639
747
  while (true) {
640
748
  switch (node._tag) {
641
749
  case "LeafNode": {
642
- return keyEq(node.key, key) ? node.value : Nothing();
750
+ return keyEq(key)(node.key) ? node.value : Nothing();
643
751
  }
644
752
  case "CollisionNode": {
645
753
  if (hash === node.hash) {
646
754
  const children = node.children;
647
755
  for (let i = 0, len = children.length; i < len; ++i) {
648
756
  const child = children[i]!;
649
- if ("key" in child && keyEq(child.key, key)) return child.value;
757
+ if ("key" in child && keyEq(key)(child.key)) return child.value;
650
758
  }
651
759
  }
652
760
  return Nothing();