@fncts/base 0.0.31 → 0.0.33

Sign up to get free protection for your applications and to get access to all the features.
Files changed (1210) hide show
  1. package/_cjs/collection/Iterable/api/traverseConc.cjs +3 -4
  2. package/_cjs/collection/Iterable/api/traverseConc.cjs.map +1 -1
  3. package/_cjs/collection/Iterable/api.cjs +14 -26
  4. package/_cjs/collection/Iterable/api.cjs.map +1 -1
  5. package/_cjs/collection/Iterable/constructors.cjs +2 -4
  6. package/_cjs/collection/Iterable/constructors.cjs.map +1 -1
  7. package/_cjs/collection/Iterable/definition.cjs +1 -2
  8. package/_cjs/collection/Iterable/definition.cjs.map +1 -1
  9. package/_cjs/collection/Iterable.cjs +8 -8
  10. package/_cjs/collection/Iterable.cjs.map +1 -1
  11. package/_cjs/collection/compat/Array/api.cjs +54 -2
  12. package/_cjs/collection/compat/Array/api.cjs.map +1 -1
  13. package/_cjs/collection/compat/Array/definition.cjs +1 -2
  14. package/_cjs/collection/compat/Array/definition.cjs.map +1 -1
  15. package/_cjs/collection/compat/Array.cjs +8 -8
  16. package/_cjs/collection/compat/Array.cjs.map +1 -1
  17. package/_cjs/collection/compat/ArrayLike/api.cjs +2 -2
  18. package/_cjs/collection/compat/ArrayLike/api.cjs.map +1 -1
  19. package/_cjs/collection/immutable/Conc/api/makeBy.cjs +2 -2
  20. package/_cjs/collection/immutable/Conc/api/makeBy.cjs.map +1 -1
  21. package/_cjs/collection/immutable/Conc/api/replicate.cjs +2 -2
  22. package/_cjs/collection/immutable/Conc/api.cjs +45 -74
  23. package/_cjs/collection/immutable/Conc/api.cjs.map +1 -1
  24. package/_cjs/collection/immutable/Conc/constructors.cjs +2 -2
  25. package/_cjs/collection/immutable/Conc/constructors.cjs.map +1 -1
  26. package/_cjs/collection/immutable/Conc/definition.cjs +11 -20
  27. package/_cjs/collection/immutable/Conc/definition.cjs.map +1 -1
  28. package/_cjs/collection/immutable/Conc.cjs +16 -16
  29. package/_cjs/collection/immutable/Conc.cjs.map +1 -1
  30. package/_cjs/collection/immutable/Dictionary/api.cjs +57 -18
  31. package/_cjs/collection/immutable/Dictionary/api.cjs.map +1 -1
  32. package/_cjs/collection/immutable/Dictionary/definition.cjs +3 -4
  33. package/_cjs/collection/immutable/Dictionary/definition.cjs.map +1 -1
  34. package/_cjs/collection/immutable/Dictionary.cjs +8 -8
  35. package/_cjs/collection/immutable/Dictionary.cjs.map +1 -1
  36. package/_cjs/collection/immutable/HashMap/api.cjs +103 -70
  37. package/_cjs/collection/immutable/HashMap/api.cjs.map +1 -1
  38. package/_cjs/collection/immutable/HashMap/definition.cjs +7 -10
  39. package/_cjs/collection/immutable/HashMap/definition.cjs.map +1 -1
  40. package/_cjs/collection/immutable/HashMap/internal.cjs +13 -21
  41. package/_cjs/collection/immutable/HashMap/internal.cjs.map +1 -1
  42. package/_cjs/collection/immutable/HashMap.cjs +8 -8
  43. package/_cjs/collection/immutable/HashMap.cjs.map +1 -1
  44. package/_cjs/collection/immutable/HashSet/api.cjs +23 -31
  45. package/_cjs/collection/immutable/HashSet/api.cjs.map +1 -1
  46. package/_cjs/collection/immutable/HashSet/definition.cjs +6 -10
  47. package/_cjs/collection/immutable/HashSet/definition.cjs.map +1 -1
  48. package/_cjs/collection/immutable/HashSet.cjs +8 -8
  49. package/_cjs/collection/immutable/HashSet.cjs.map +1 -1
  50. package/_cjs/collection/immutable/ImmutableArray/api/chunksOf.cjs +2 -2
  51. package/_cjs/collection/immutable/ImmutableArray/api/slice.cjs +2 -2
  52. package/_cjs/collection/immutable/ImmutableArray/api/splitAt.cjs +2 -2
  53. package/_cjs/collection/immutable/ImmutableArray/api/splitWhere.cjs +3 -3
  54. package/_cjs/collection/immutable/ImmutableArray/api/splitWhere.cjs.map +1 -1
  55. package/_cjs/collection/immutable/ImmutableArray/api.cjs +111 -158
  56. package/_cjs/collection/immutable/ImmutableArray/api.cjs.map +1 -1
  57. package/_cjs/collection/immutable/ImmutableArray/constructors.cjs +4 -6
  58. package/_cjs/collection/immutable/ImmutableArray/constructors.cjs.map +1 -1
  59. package/_cjs/collection/immutable/ImmutableArray/definition.cjs +5 -8
  60. package/_cjs/collection/immutable/ImmutableArray/definition.cjs.map +1 -1
  61. package/_cjs/collection/immutable/ImmutableArray/instances.cjs +23 -39
  62. package/_cjs/collection/immutable/ImmutableArray/instances.cjs.map +1 -1
  63. package/_cjs/collection/immutable/ImmutableArray.cjs +31 -31
  64. package/_cjs/collection/immutable/ImmutableArray.cjs.map +1 -1
  65. package/_cjs/collection/immutable/ImmutableNonEmptyArray/api.cjs +39 -54
  66. package/_cjs/collection/immutable/ImmutableNonEmptyArray/api.cjs.map +1 -1
  67. package/_cjs/collection/immutable/ImmutableNonEmptyArray/constructors.cjs +10 -11
  68. package/_cjs/collection/immutable/ImmutableNonEmptyArray/constructors.cjs.map +1 -1
  69. package/_cjs/collection/immutable/ImmutableNonEmptyArray/definition.cjs +6 -5
  70. package/_cjs/collection/immutable/ImmutableNonEmptyArray/definition.cjs.map +1 -1
  71. package/_cjs/collection/immutable/ImmutableNonEmptyArray/destructors.cjs +7 -11
  72. package/_cjs/collection/immutable/ImmutableNonEmptyArray/destructors.cjs.map +1 -1
  73. package/_cjs/collection/immutable/ImmutableNonEmptyArray/instances.cjs +12 -22
  74. package/_cjs/collection/immutable/ImmutableNonEmptyArray/instances.cjs.map +1 -1
  75. package/_cjs/collection/immutable/ImmutableNonEmptyArray.cjs +16 -16
  76. package/_cjs/collection/immutable/ImmutableNonEmptyArray.cjs.map +1 -1
  77. package/_cjs/collection/immutable/List/api/foldLeft.cjs +2 -2
  78. package/_cjs/collection/immutable/List/api/foldLeft.cjs.map +1 -1
  79. package/_cjs/collection/immutable/List/api/unsafeTail.cjs +2 -2
  80. package/_cjs/collection/immutable/List/api/unsafeTail.cjs.map +1 -1
  81. package/_cjs/collection/immutable/List/api.cjs +19 -23
  82. package/_cjs/collection/immutable/List/api.cjs.map +1 -1
  83. package/_cjs/collection/immutable/List/constructors.cjs +4 -4
  84. package/_cjs/collection/immutable/List/constructors.cjs.map +1 -1
  85. package/_cjs/collection/immutable/List/definition.cjs +6 -10
  86. package/_cjs/collection/immutable/List/definition.cjs.map +1 -1
  87. package/_cjs/collection/immutable/List.cjs +16 -16
  88. package/_cjs/collection/immutable/List.cjs.map +1 -1
  89. package/_cjs/collection/immutable/Queue/api.cjs +6 -10
  90. package/_cjs/collection/immutable/Queue/api.cjs.map +1 -1
  91. package/_cjs/collection/immutable/Queue/constructors.cjs +2 -2
  92. package/_cjs/collection/immutable/Queue/constructors.cjs.map +1 -1
  93. package/_cjs/collection/immutable/Queue/definition.cjs +3 -4
  94. package/_cjs/collection/immutable/Queue/definition.cjs.map +1 -1
  95. package/_cjs/collection/immutable/Queue/guards.cjs +2 -2
  96. package/_cjs/collection/immutable/Queue.cjs +16 -16
  97. package/_cjs/collection/immutable/Queue.cjs.map +1 -1
  98. package/_cjs/collection/immutable/RoseTree/api.cjs +6 -10
  99. package/_cjs/collection/immutable/RoseTree/api.cjs.map +1 -1
  100. package/_cjs/collection/immutable/RoseTree/definition.cjs +4 -6
  101. package/_cjs/collection/immutable/RoseTree/definition.cjs.map +1 -1
  102. package/_cjs/collection/immutable/RoseTree.cjs +8 -8
  103. package/_cjs/collection/immutable/RoseTree.cjs.map +1 -1
  104. package/_cjs/collection/immutable/SortedMap/api.cjs +11 -17
  105. package/_cjs/collection/immutable/SortedMap/api.cjs.map +1 -1
  106. package/_cjs/collection/immutable/SortedMap/definition.cjs +1 -2
  107. package/_cjs/collection/immutable/SortedMap/definition.cjs.map +1 -1
  108. package/_cjs/collection/immutable/SortedMap/internal.cjs +0 -1
  109. package/_cjs/collection/immutable/SortedMap/internal.cjs.map +1 -1
  110. package/_cjs/collection/immutable/SortedMap/iterator.cjs +8 -8
  111. package/_cjs/collection/immutable/SortedMap/iterator.cjs.map +1 -1
  112. package/_cjs/collection/immutable/SortedMap/node.cjs +1 -2
  113. package/_cjs/collection/immutable/SortedMap/node.cjs.map +1 -1
  114. package/_cjs/collection/immutable/SortedMap.cjs +16 -16
  115. package/_cjs/collection/immutable/SortedMap.cjs.map +1 -1
  116. package/_cjs/collection/immutable/Vector/api.cjs +118 -149
  117. package/_cjs/collection/immutable/Vector/api.cjs.map +1 -1
  118. package/_cjs/collection/immutable/Vector/definition.cjs +5 -8
  119. package/_cjs/collection/immutable/Vector/definition.cjs.map +1 -1
  120. package/_cjs/collection/immutable/Vector/internal.cjs +6 -15
  121. package/_cjs/collection/immutable/Vector/internal.cjs.map +1 -1
  122. package/_cjs/collection/immutable/Vector.cjs +8 -8
  123. package/_cjs/collection/immutable/Vector.cjs.map +1 -1
  124. package/_cjs/collection/internal.cjs +6 -0
  125. package/_cjs/collection/internal.cjs.map +1 -0
  126. package/_cjs/collection/mutable/ArrayDeque.cjs +214 -0
  127. package/_cjs/collection/mutable/ArrayDeque.cjs.map +1 -0
  128. package/_cjs/collection/mutable/HashMap.cjs +2 -2
  129. package/_cjs/collection/mutable/HashMap.cjs.map +1 -1
  130. package/_cjs/collection/mutable/HashSet.cjs +2 -2
  131. package/_cjs/collection/mutable/HashSet.cjs.map +1 -1
  132. package/_cjs/collection/mutable/ListBuffer.cjs +6 -5
  133. package/_cjs/collection/mutable/ListBuffer.cjs.map +1 -1
  134. package/_cjs/collection/mutable/Queue.cjs +21 -0
  135. package/_cjs/collection/mutable/Queue.cjs.map +1 -0
  136. package/_cjs/collection/mutable/internal.cjs.map +1 -1
  137. package/_cjs/collection/weak/IterableWeakMap.cjs +2 -2
  138. package/_cjs/collection/weak/IterableWeakMap.cjs.map +1 -1
  139. package/_cjs/collection/weak/IterableWeakSet.cjs.map +1 -1
  140. package/_cjs/control/Eval/api/sequenceArray.cjs +2 -2
  141. package/_cjs/control/Eval/api.cjs +6 -8
  142. package/_cjs/control/Eval/api.cjs.map +1 -1
  143. package/_cjs/control/Eval/constructors.cjs +3 -6
  144. package/_cjs/control/Eval/constructors.cjs.map +1 -1
  145. package/_cjs/control/Eval/definition.cjs +3 -6
  146. package/_cjs/control/Eval/definition.cjs.map +1 -1
  147. package/_cjs/control/Eval/instance.cjs +5 -8
  148. package/_cjs/control/Eval/instance.cjs.map +1 -1
  149. package/_cjs/control/Eval/run.cjs +4 -3
  150. package/_cjs/control/Eval/run.cjs.map +1 -1
  151. package/_cjs/control/Eval.cjs +16 -16
  152. package/_cjs/control/Eval.cjs.map +1 -1
  153. package/_cjs/control/InterruptiblePromise.cjs +23 -0
  154. package/_cjs/control/InterruptiblePromise.cjs.map +1 -0
  155. package/_cjs/control/Pure/api.cjs +49 -65
  156. package/_cjs/control/Pure/api.cjs.map +1 -1
  157. package/_cjs/control/Pure/definition.cjs +5 -8
  158. package/_cjs/control/Pure/definition.cjs.map +1 -1
  159. package/_cjs/control/Pure/instances.cjs +3 -4
  160. package/_cjs/control/Pure/instances.cjs.map +1 -1
  161. package/_cjs/control/Pure/runtime.cjs +5 -8
  162. package/_cjs/control/Pure/runtime.cjs.map +1 -1
  163. package/_cjs/control/Pure.cjs +16 -16
  164. package/_cjs/control/Pure.cjs.map +1 -1
  165. package/_cjs/data/Branded/definition.cjs.map +1 -1
  166. package/_cjs/data/Branded.cjs.map +1 -1
  167. package/_cjs/data/CaseClass.cjs +9 -8
  168. package/_cjs/data/CaseClass.cjs.map +1 -1
  169. package/_cjs/data/Cause/api/fold.cjs +2 -2
  170. package/_cjs/data/Cause/api/fold.cjs.map +1 -1
  171. package/_cjs/data/Cause/api/isEmpty.cjs +2 -2
  172. package/_cjs/data/Cause/api/isEmpty.cjs.map +1 -1
  173. package/_cjs/data/Cause/api/linearize.cjs +2 -2
  174. package/_cjs/data/Cause/api/linearize.cjs.map +1 -1
  175. package/_cjs/data/Cause/api/prettyPrint.cjs +2 -2
  176. package/_cjs/data/Cause/api/prettyPrint.cjs.map +1 -1
  177. package/_cjs/data/Cause/api/unified.cjs +2 -2
  178. package/_cjs/data/Cause/api/unified.cjs.map +1 -1
  179. package/_cjs/data/Cause/api.cjs +93 -111
  180. package/_cjs/data/Cause/api.cjs.map +1 -1
  181. package/_cjs/data/Cause/definition.cjs +6 -19
  182. package/_cjs/data/Cause/definition.cjs.map +1 -1
  183. package/_cjs/data/Cause.cjs +24 -24
  184. package/_cjs/data/Cause.cjs.map +1 -1
  185. package/_cjs/data/Const/instances.cjs +3 -4
  186. package/_cjs/data/Const/instances.cjs.map +1 -1
  187. package/_cjs/data/Const.cjs +8 -8
  188. package/_cjs/data/Const.cjs.map +1 -1
  189. package/_cjs/data/Date.cjs.map +1 -1
  190. package/_cjs/data/Datum/api.cjs +26 -33
  191. package/_cjs/data/Datum/api.cjs.map +1 -1
  192. package/_cjs/data/Datum/definition.cjs +5 -11
  193. package/_cjs/data/Datum/definition.cjs.map +1 -1
  194. package/_cjs/data/Datum/instances.cjs +7 -12
  195. package/_cjs/data/Datum/instances.cjs.map +1 -1
  196. package/_cjs/data/DatumEither/api.cjs +26 -36
  197. package/_cjs/data/DatumEither/api.cjs.map +1 -1
  198. package/_cjs/data/DatumEither/definition.cjs +1 -2
  199. package/_cjs/data/DatumEither/definition.cjs.map +1 -1
  200. package/_cjs/data/DatumEither.cjs +8 -8
  201. package/_cjs/data/DatumEither.cjs.map +1 -1
  202. package/_cjs/data/DecodeError/definition.cjs +3 -4
  203. package/_cjs/data/DecodeError/definition.cjs.map +1 -1
  204. package/_cjs/data/DecodeError.cjs +8 -8
  205. package/_cjs/data/DecodeError.cjs.map +1 -1
  206. package/_cjs/data/Decoder/api.cjs +44 -50
  207. package/_cjs/data/Decoder/api.cjs.map +1 -1
  208. package/_cjs/data/Decoder/definition.cjs +1 -2
  209. package/_cjs/data/Decoder/definition.cjs.map +1 -1
  210. package/_cjs/data/Decoder.cjs +8 -8
  211. package/_cjs/data/Decoder.cjs.map +1 -1
  212. package/_cjs/data/Duration/api.cjs +34 -13
  213. package/_cjs/data/Duration/api.cjs.map +1 -1
  214. package/_cjs/data/Duration/definition.cjs +3 -4
  215. package/_cjs/data/Duration/definition.cjs.map +1 -1
  216. package/_cjs/data/Duration.cjs +8 -8
  217. package/_cjs/data/Duration.cjs.map +1 -1
  218. package/_cjs/data/Either/api/align.cjs +2 -2
  219. package/_cjs/data/Either/api/align.cjs.map +1 -1
  220. package/_cjs/data/Either/api/alignWith.cjs +3 -3
  221. package/_cjs/data/Either/api/alignWith.cjs.map +1 -1
  222. package/_cjs/data/Either/api.cjs +38 -22
  223. package/_cjs/data/Either/api.cjs.map +1 -1
  224. package/_cjs/data/Either/constructors.cjs +6 -10
  225. package/_cjs/data/Either/constructors.cjs.map +1 -1
  226. package/_cjs/data/Either/definition.cjs +4 -8
  227. package/_cjs/data/Either/definition.cjs.map +1 -1
  228. package/_cjs/data/Either/destructors.cjs +3 -3
  229. package/_cjs/data/Either/destructors.cjs.map +1 -1
  230. package/_cjs/data/Either/instances.cjs +17 -9
  231. package/_cjs/data/Either/instances.cjs.map +1 -1
  232. package/_cjs/data/Either.cjs +16 -16
  233. package/_cjs/data/Either.cjs.map +1 -1
  234. package/_cjs/data/EitherT/api.cjs +10 -4
  235. package/_cjs/data/EitherT/api.cjs.map +1 -1
  236. package/_cjs/data/EitherT/definition.cjs +1 -2
  237. package/_cjs/data/EitherT/definition.cjs.map +1 -1
  238. package/_cjs/data/Encoder/api.cjs +23 -32
  239. package/_cjs/data/Encoder/api.cjs.map +1 -1
  240. package/_cjs/data/Encoder/definition.cjs +1 -2
  241. package/_cjs/data/Encoder/definition.cjs.map +1 -1
  242. package/_cjs/data/Encoder.cjs +8 -8
  243. package/_cjs/data/Encoder.cjs.map +1 -1
  244. package/_cjs/data/Environment/ServiceNotFoundError.cjs +14 -0
  245. package/_cjs/data/Environment/ServiceNotFoundError.cjs.map +1 -0
  246. package/_cjs/data/Environment/api.cjs +8 -14
  247. package/_cjs/data/Environment/api.cjs.map +1 -1
  248. package/_cjs/data/Environment/definition.cjs +4 -6
  249. package/_cjs/data/Environment/definition.cjs.map +1 -1
  250. package/_cjs/data/Environment.cjs +15 -4
  251. package/_cjs/data/Environment.cjs.map +1 -1
  252. package/_cjs/data/EnvironmentPatch.cjs +6 -10
  253. package/_cjs/data/EnvironmentPatch.cjs.map +1 -1
  254. package/_cjs/data/Eq/api.cjs +2 -2
  255. package/_cjs/data/Eq/definition.cjs +1 -2
  256. package/_cjs/data/Eq/definition.cjs.map +1 -1
  257. package/_cjs/data/Eq/derivations.cjs +3 -2
  258. package/_cjs/data/Eq/derivations.cjs.map +1 -1
  259. package/_cjs/data/Equatable/api.cjs +12 -13
  260. package/_cjs/data/Equatable/api.cjs.map +1 -1
  261. package/_cjs/data/Equatable/definition.cjs +4 -6
  262. package/_cjs/data/Equatable/definition.cjs.map +1 -1
  263. package/_cjs/data/Equatable/fast-equals.cjs +1 -2
  264. package/_cjs/data/Equatable/fast-equals.cjs.map +1 -1
  265. package/_cjs/data/Equatable.cjs +8 -8
  266. package/_cjs/data/Equatable.cjs.map +1 -1
  267. package/_cjs/data/ExecutionStrategy.cjs +3 -6
  268. package/_cjs/data/ExecutionStrategy.cjs.map +1 -1
  269. package/_cjs/data/Exit/api.cjs +7 -12
  270. package/_cjs/data/Exit/api.cjs.map +1 -1
  271. package/_cjs/data/Exit/constructors.cjs +10 -11
  272. package/_cjs/data/Exit/constructors.cjs.map +1 -1
  273. package/_cjs/data/Exit/definition.cjs +8 -16
  274. package/_cjs/data/Exit/definition.cjs.map +1 -1
  275. package/_cjs/data/Exit.cjs +8 -8
  276. package/_cjs/data/Exit.cjs.map +1 -1
  277. package/_cjs/data/FiberId/api.cjs +3 -4
  278. package/_cjs/data/FiberId/api.cjs.map +1 -1
  279. package/_cjs/data/FiberId/constructors.cjs +2 -4
  280. package/_cjs/data/FiberId/constructors.cjs.map +1 -1
  281. package/_cjs/data/FiberId/definition.cjs +8 -14
  282. package/_cjs/data/FiberId/definition.cjs.map +1 -1
  283. package/_cjs/data/FiberId.cjs +8 -8
  284. package/_cjs/data/FiberId.cjs.map +1 -1
  285. package/_cjs/data/Global.cjs +22 -0
  286. package/_cjs/data/Global.cjs.map +1 -0
  287. package/_cjs/data/Guard/api.cjs +24 -34
  288. package/_cjs/data/Guard/api.cjs.map +1 -1
  289. package/_cjs/data/Guard/definition.cjs +2 -4
  290. package/_cjs/data/Guard/definition.cjs.map +1 -1
  291. package/_cjs/data/Guard.cjs +8 -8
  292. package/_cjs/data/Guard.cjs.map +1 -1
  293. package/_cjs/data/Hash.cjs +1 -2
  294. package/_cjs/data/Hash.cjs.map +1 -1
  295. package/_cjs/data/HashEq.cjs +6 -10
  296. package/_cjs/data/HashEq.cjs.map +1 -1
  297. package/_cjs/data/Hashable/definition.cjs +4 -6
  298. package/_cjs/data/Hashable/definition.cjs.map +1 -1
  299. package/_cjs/data/Hashable/hash.cjs +7 -8
  300. package/_cjs/data/Hashable/hash.cjs.map +1 -1
  301. package/_cjs/data/Hashable.cjs +8 -8
  302. package/_cjs/data/Hashable.cjs.map +1 -1
  303. package/_cjs/data/Identity/api.cjs +3 -4
  304. package/_cjs/data/Identity/api.cjs.map +1 -1
  305. package/_cjs/data/Identity/definition.cjs +3 -4
  306. package/_cjs/data/Identity/definition.cjs.map +1 -1
  307. package/_cjs/data/Identity/instances.cjs +5 -8
  308. package/_cjs/data/Identity/instances.cjs.map +1 -1
  309. package/_cjs/data/Identity.cjs +8 -8
  310. package/_cjs/data/Identity.cjs.map +1 -1
  311. package/_cjs/data/Interval.cjs +7 -11
  312. package/_cjs/data/Interval.cjs.map +1 -1
  313. package/_cjs/data/Intervals.cjs +5 -8
  314. package/_cjs/data/Intervals.cjs.map +1 -1
  315. package/_cjs/data/Maybe/api.cjs +8 -7
  316. package/_cjs/data/Maybe/api.cjs.map +1 -1
  317. package/_cjs/data/Maybe/constructors.cjs +6 -10
  318. package/_cjs/data/Maybe/constructors.cjs.map +1 -1
  319. package/_cjs/data/Maybe/definition.cjs +7 -14
  320. package/_cjs/data/Maybe/definition.cjs.map +1 -1
  321. package/_cjs/data/Maybe/instances.cjs +8 -14
  322. package/_cjs/data/Maybe/instances.cjs.map +1 -1
  323. package/_cjs/data/Maybe.cjs +16 -16
  324. package/_cjs/data/Maybe.cjs.map +1 -1
  325. package/_cjs/data/Newtype.cjs +3 -4
  326. package/_cjs/data/Newtype.cjs.map +1 -1
  327. package/_cjs/data/Ord/api/max.cjs.map +1 -1
  328. package/_cjs/data/Ord/api/min.cjs.map +1 -1
  329. package/_cjs/data/Ord/api.cjs +8 -8
  330. package/_cjs/data/Ord/api.cjs.map +1 -1
  331. package/_cjs/data/Ord/definition.cjs +3 -4
  332. package/_cjs/data/Ord/definition.cjs.map +1 -1
  333. package/_cjs/data/Ord/instances.cjs +5 -5
  334. package/_cjs/data/Ord/instances.cjs.map +1 -1
  335. package/_cjs/data/Ord.cjs +8 -8
  336. package/_cjs/data/Ord.cjs.map +1 -1
  337. package/_cjs/data/Ordering.cjs +4 -8
  338. package/_cjs/data/Ordering.cjs.map +1 -1
  339. package/_cjs/data/Predicate.cjs +8 -8
  340. package/_cjs/data/Predicate.cjs.map +1 -1
  341. package/_cjs/data/Refinement.cjs +8 -8
  342. package/_cjs/data/Refinement.cjs.map +1 -1
  343. package/_cjs/data/Showable/definition.cjs +5 -8
  344. package/_cjs/data/Showable/definition.cjs.map +1 -1
  345. package/_cjs/data/Showable/show.cjs +5 -4
  346. package/_cjs/data/Showable/show.cjs.map +1 -1
  347. package/_cjs/data/Showable/styles.cjs +3 -4
  348. package/_cjs/data/Showable/styles.cjs.map +1 -1
  349. package/_cjs/data/Showable/util.cjs +21 -41
  350. package/_cjs/data/Showable/util.cjs.map +1 -1
  351. package/_cjs/data/Struct/api.cjs +3 -4
  352. package/_cjs/data/Struct/api.cjs.map +1 -1
  353. package/_cjs/data/Struct/definition.cjs +3 -4
  354. package/_cjs/data/Struct/definition.cjs.map +1 -1
  355. package/_cjs/data/Struct.cjs +8 -8
  356. package/_cjs/data/Struct.cjs.map +1 -1
  357. package/_cjs/data/Tag/constructors.cjs +2 -2
  358. package/_cjs/data/Tag/constructors.cjs.map +1 -1
  359. package/_cjs/data/Tag/definition.cjs +10 -8
  360. package/_cjs/data/Tag/definition.cjs.map +1 -1
  361. package/_cjs/data/Tag.cjs +8 -8
  362. package/_cjs/data/Tag.cjs.map +1 -1
  363. package/_cjs/data/These/api.cjs +3 -4
  364. package/_cjs/data/These/api.cjs.map +1 -1
  365. package/_cjs/data/These/constructors.cjs +4 -6
  366. package/_cjs/data/These/constructors.cjs.map +1 -1
  367. package/_cjs/data/These/definition.cjs +4 -6
  368. package/_cjs/data/These/definition.cjs.map +1 -1
  369. package/_cjs/data/These/destructors.cjs +3 -4
  370. package/_cjs/data/These/destructors.cjs.map +1 -1
  371. package/_cjs/data/These/instances.cjs +2 -2
  372. package/_cjs/data/These/instances.cjs.map +1 -1
  373. package/_cjs/data/These.cjs +16 -16
  374. package/_cjs/data/These.cjs.map +1 -1
  375. package/_cjs/data/Trace/api.cjs +2 -2
  376. package/_cjs/data/Trace/constructors.cjs +3 -4
  377. package/_cjs/data/Trace/constructors.cjs.map +1 -1
  378. package/_cjs/data/Trace/definition.cjs.map +1 -1
  379. package/_cjs/data/Trace.cjs +8 -8
  380. package/_cjs/data/Trace.cjs.map +1 -1
  381. package/_cjs/data/TraceElement/definition.cjs +3 -6
  382. package/_cjs/data/TraceElement/definition.cjs.map +1 -1
  383. package/_cjs/data/TraceElement.cjs.map +1 -1
  384. package/_cjs/data/Zipped.cjs +5 -8
  385. package/_cjs/data/Zipped.cjs.map +1 -1
  386. package/_cjs/data/bigint/instances.cjs +3 -4
  387. package/_cjs/data/bigint/instances.cjs.map +1 -1
  388. package/_cjs/data/bigint.cjs +8 -8
  389. package/_cjs/data/bigint.cjs.map +1 -1
  390. package/_cjs/data/boolean/instances.cjs +3 -4
  391. package/_cjs/data/boolean/instances.cjs.map +1 -1
  392. package/_cjs/data/boolean.cjs +8 -8
  393. package/_cjs/data/boolean.cjs.map +1 -1
  394. package/_cjs/data/exceptions/ArrayIndexOutOfBoundsError.cjs +1 -2
  395. package/_cjs/data/exceptions/ArrayIndexOutOfBoundsError.cjs.map +1 -1
  396. package/_cjs/data/exceptions/IOError.cjs +3 -4
  397. package/_cjs/data/exceptions/IOError.cjs.map +1 -1
  398. package/_cjs/data/exceptions/IllegalArgumentError.cjs +1 -2
  399. package/_cjs/data/exceptions/IllegalArgumentError.cjs.map +1 -1
  400. package/_cjs/data/exceptions/IllegalStateError.cjs +1 -2
  401. package/_cjs/data/exceptions/IllegalStateError.cjs.map +1 -1
  402. package/_cjs/data/exceptions/IndexOutOfBoundsError.cjs +1 -2
  403. package/_cjs/data/exceptions/IndexOutOfBoundsError.cjs.map +1 -1
  404. package/_cjs/data/exceptions/InterruptedException.cjs +3 -4
  405. package/_cjs/data/exceptions/InterruptedException.cjs.map +1 -1
  406. package/_cjs/data/exceptions/NoSuchElementError.cjs +1 -2
  407. package/_cjs/data/exceptions/NoSuchElementError.cjs.map +1 -1
  408. package/_cjs/data/exceptions.cjs +35 -35
  409. package/_cjs/data/exceptions.cjs.map +1 -1
  410. package/_cjs/data/function/pipe.cjs.map +1 -1
  411. package/_cjs/data/function.cjs +8 -8
  412. package/_cjs/data/function.cjs.map +1 -1
  413. package/_cjs/data/number/instances.cjs +5 -8
  414. package/_cjs/data/number/instances.cjs.map +1 -1
  415. package/_cjs/data/number.cjs +8 -8
  416. package/_cjs/data/number.cjs.map +1 -1
  417. package/_cjs/data/object/instances.cjs +3 -4
  418. package/_cjs/data/object/instances.cjs.map +1 -1
  419. package/_cjs/data/object.cjs +8 -8
  420. package/_cjs/data/object.cjs.map +1 -1
  421. package/_cjs/data/string/api.cjs +6 -10
  422. package/_cjs/data/string/api.cjs.map +1 -1
  423. package/_cjs/data/string/instances.cjs +7 -12
  424. package/_cjs/data/string/instances.cjs.map +1 -1
  425. package/_cjs/data/string.cjs +8 -8
  426. package/_cjs/data/string.cjs.map +1 -1
  427. package/_cjs/internal/AtomicReference.cjs.map +1 -1
  428. package/_cjs/internal/Stack.cjs.map +1 -1
  429. package/_cjs/json/EitherJson.cjs +3 -4
  430. package/_cjs/json/EitherJson.cjs.map +1 -1
  431. package/_cjs/json/MaybeJson.cjs +3 -4
  432. package/_cjs/json/MaybeJson.cjs.map +1 -1
  433. package/_cjs/json/TheseJson.cjs +3 -4
  434. package/_cjs/json/TheseJson.cjs.map +1 -1
  435. package/_cjs/optics/At/api.cjs +4 -3
  436. package/_cjs/optics/At/api.cjs.map +1 -1
  437. package/_cjs/optics/At/definition.cjs +3 -4
  438. package/_cjs/optics/At/definition.cjs.map +1 -1
  439. package/_cjs/optics/At.cjs +8 -8
  440. package/_cjs/optics/At.cjs.map +1 -1
  441. package/_cjs/optics/Fold/api/focus.cjs +15 -0
  442. package/_cjs/optics/Fold/api/focus.cjs.map +1 -0
  443. package/_cjs/optics/Fold/definition.cjs +1 -2
  444. package/_cjs/optics/Fold/definition.cjs.map +1 -1
  445. package/_cjs/optics/Fold.cjs.map +1 -1
  446. package/_cjs/optics/Getter/definition.cjs +1 -2
  447. package/_cjs/optics/Getter/definition.cjs.map +1 -1
  448. package/_cjs/optics/Getter.cjs.map +1 -1
  449. package/_cjs/optics/Index/api.cjs +21 -3
  450. package/_cjs/optics/Index/api.cjs.map +1 -1
  451. package/_cjs/optics/Index/definition.cjs +1 -2
  452. package/_cjs/optics/Index/definition.cjs.map +1 -1
  453. package/_cjs/optics/Index.cjs +8 -8
  454. package/_cjs/optics/Index.cjs.map +1 -1
  455. package/_cjs/optics/Iso/api.cjs +16 -3
  456. package/_cjs/optics/Iso/api.cjs.map +1 -1
  457. package/_cjs/optics/Iso/definition.cjs +4 -6
  458. package/_cjs/optics/Iso/definition.cjs.map +1 -1
  459. package/_cjs/optics/Iso.cjs +8 -8
  460. package/_cjs/optics/Iso.cjs.map +1 -1
  461. package/_cjs/optics/Lens/api.cjs +53 -32
  462. package/_cjs/optics/Lens/api.cjs.map +1 -1
  463. package/_cjs/optics/Lens/definition.cjs +6 -9
  464. package/_cjs/optics/Lens/definition.cjs.map +1 -1
  465. package/_cjs/optics/Lens.cjs +8 -8
  466. package/_cjs/optics/Lens.cjs.map +1 -1
  467. package/_cjs/optics/Optional/api/compose.cjs +4 -3
  468. package/_cjs/optics/Optional/api/compose.cjs.map +1 -1
  469. package/_cjs/optics/Optional/api/focus.cjs +21 -0
  470. package/_cjs/optics/Optional/api/focus.cjs.map +1 -0
  471. package/_cjs/optics/Optional/api.cjs +16 -0
  472. package/_cjs/optics/Optional/api.cjs.map +1 -0
  473. package/_cjs/optics/Optional/definition.cjs +9 -9
  474. package/_cjs/optics/Optional/definition.cjs.map +1 -1
  475. package/_cjs/optics/Optional.cjs +22 -0
  476. package/_cjs/optics/Optional.cjs.map +1 -1
  477. package/_cjs/optics/Prism/api/compose.cjs +4 -3
  478. package/_cjs/optics/Prism/api/compose.cjs.map +1 -1
  479. package/_cjs/optics/Prism/api/focus.cjs +19 -0
  480. package/_cjs/optics/Prism/api/focus.cjs.map +1 -0
  481. package/_cjs/optics/Prism/api/fromNullable.cjs +4 -3
  482. package/_cjs/optics/Prism/api/fromNullable.cjs.map +1 -1
  483. package/_cjs/optics/Prism/api/just.cjs +4 -3
  484. package/_cjs/optics/Prism/api/just.cjs.map +1 -1
  485. package/_cjs/optics/Prism/definition.cjs +9 -9
  486. package/_cjs/optics/Prism/definition.cjs.map +1 -1
  487. package/_cjs/optics/Prism.cjs +19 -8
  488. package/_cjs/optics/Prism.cjs.map +1 -1
  489. package/_cjs/optics/Setter/api/focus.cjs +16 -0
  490. package/_cjs/optics/Setter/api/focus.cjs.map +1 -0
  491. package/_cjs/optics/Setter/definition.cjs +2 -4
  492. package/_cjs/optics/Setter/definition.cjs.map +1 -1
  493. package/_cjs/optics/Setter.cjs.map +1 -1
  494. package/_cjs/optics/Traversal/api/compose.cjs +4 -3
  495. package/_cjs/optics/Traversal/api/compose.cjs.map +1 -1
  496. package/_cjs/optics/Traversal/api/focus.cjs +21 -0
  497. package/_cjs/optics/Traversal/api/focus.cjs.map +1 -0
  498. package/_cjs/optics/Traversal/api/fromTraversable.cjs +4 -3
  499. package/_cjs/optics/Traversal/api/fromTraversable.cjs.map +1 -1
  500. package/_cjs/optics/Traversal/definition.cjs +4 -6
  501. package/_cjs/optics/Traversal/definition.cjs.map +1 -1
  502. package/_cjs/optics/Traversal.cjs +19 -8
  503. package/_cjs/optics/Traversal.cjs.map +1 -1
  504. package/_cjs/typeclass/Align.cjs +1 -2
  505. package/_cjs/typeclass/Align.cjs.map +1 -1
  506. package/_cjs/typeclass/Alt.cjs +1 -2
  507. package/_cjs/typeclass/Alt.cjs.map +1 -1
  508. package/_cjs/typeclass/Alternative.cjs +1 -2
  509. package/_cjs/typeclass/Alternative.cjs.map +1 -1
  510. package/_cjs/typeclass/Applicative.cjs +1 -2
  511. package/_cjs/typeclass/Applicative.cjs.map +1 -1
  512. package/_cjs/typeclass/ApplicativeExcept.cjs +3 -4
  513. package/_cjs/typeclass/ApplicativeExcept.cjs.map +1 -1
  514. package/_cjs/typeclass/Apply.cjs +4 -6
  515. package/_cjs/typeclass/Apply.cjs.map +1 -1
  516. package/_cjs/typeclass/Chain.cjs +3 -4
  517. package/_cjs/typeclass/Chain.cjs.map +1 -1
  518. package/_cjs/typeclass/Closure.cjs +1 -2
  519. package/_cjs/typeclass/Closure.cjs.map +1 -1
  520. package/_cjs/typeclass/Filterable.cjs +1 -2
  521. package/_cjs/typeclass/Filterable.cjs.map +1 -1
  522. package/_cjs/typeclass/FilterableWithIndex.cjs +1 -2
  523. package/_cjs/typeclass/FilterableWithIndex.cjs.map +1 -1
  524. package/_cjs/typeclass/Foldable.cjs +1 -2
  525. package/_cjs/typeclass/Foldable.cjs.map +1 -1
  526. package/_cjs/typeclass/FoldableWithIndex.cjs +1 -2
  527. package/_cjs/typeclass/FoldableWithIndex.cjs.map +1 -1
  528. package/_cjs/typeclass/Functor.cjs +1 -2
  529. package/_cjs/typeclass/Functor.cjs.map +1 -1
  530. package/_cjs/typeclass/FunctorWithIndex.cjs +1 -2
  531. package/_cjs/typeclass/FunctorWithIndex.cjs.map +1 -1
  532. package/_cjs/typeclass/Monad.cjs +1 -2
  533. package/_cjs/typeclass/Monad.cjs.map +1 -1
  534. package/_cjs/typeclass/MonadExcept.cjs +7 -5
  535. package/_cjs/typeclass/MonadExcept.cjs.map +1 -1
  536. package/_cjs/typeclass/Monoid.cjs +5 -6
  537. package/_cjs/typeclass/Monoid.cjs.map +1 -1
  538. package/_cjs/typeclass/Pointed.cjs +1 -2
  539. package/_cjs/typeclass/Pointed.cjs.map +1 -1
  540. package/_cjs/typeclass/Semialign.cjs +4 -6
  541. package/_cjs/typeclass/Semialign.cjs.map +1 -1
  542. package/_cjs/typeclass/Semigroup/api.cjs +4 -3
  543. package/_cjs/typeclass/Semigroup/api.cjs.map +1 -1
  544. package/_cjs/typeclass/Semigroup/definition.cjs +2 -4
  545. package/_cjs/typeclass/Semigroup/definition.cjs.map +1 -1
  546. package/_cjs/typeclass/Semigroup/derivations.cjs +5 -3
  547. package/_cjs/typeclass/Semigroup/derivations.cjs.map +1 -1
  548. package/_cjs/typeclass/Semigroup.cjs +8 -8
  549. package/_cjs/typeclass/Semigroup.cjs.map +1 -1
  550. package/_cjs/typeclass/Semimonoidal.cjs +1 -2
  551. package/_cjs/typeclass/Semimonoidal.cjs.map +1 -1
  552. package/_cjs/typeclass/Traversable.cjs +1 -2
  553. package/_cjs/typeclass/Traversable.cjs.map +1 -1
  554. package/_cjs/typeclass/TraversableWithIndex.cjs +1 -2
  555. package/_cjs/typeclass/TraversableWithIndex.cjs.map +1 -1
  556. package/_cjs/typeclass/Witherable.cjs +3 -4
  557. package/_cjs/typeclass/Witherable.cjs.map +1 -1
  558. package/_cjs/typeclass/WitherableWithIndex.cjs +3 -4
  559. package/_cjs/typeclass/WitherableWithIndex.cjs.map +1 -1
  560. package/_cjs/typeclass/builtin.cjs.map +1 -1
  561. package/_cjs/typeclass.cjs +116 -116
  562. package/_cjs/typeclass.cjs.map +1 -1
  563. package/_cjs/types.cjs +8 -8
  564. package/_cjs/types.cjs.map +1 -1
  565. package/_cjs/util/AnsiFormat.cjs +26 -50
  566. package/_cjs/util/AnsiFormat.cjs.map +1 -1
  567. package/_cjs/util/PCGRandom.cjs +0 -1
  568. package/_cjs/util/PCGRandom.cjs.map +1 -1
  569. package/_cjs/util/assert.cjs.map +1 -1
  570. package/_cjs/util/pattern.cjs +2 -4
  571. package/_cjs/util/pattern.cjs.map +1 -1
  572. package/_cjs/util/rand/Random.cjs.map +1 -1
  573. package/_cjs/util/rand/distribution/UniformArrayIntDistribution.cjs.map +1 -1
  574. package/_cjs/util/rand/distribution/UniformBigIntDistribution.cjs.map +1 -1
  575. package/_cjs/util/rand/distribution/UniformIntDistribution.cjs.map +1 -1
  576. package/_cjs/util/rand/distribution/internals/ArrayInt.cjs.map +1 -1
  577. package/_cjs/util/rand/distribution/internals/UniformArrayIntDistributionInternal.cjs.map +1 -1
  578. package/_cjs/util/rand/distribution/internals/UniformIntDistributionInternal.cjs +0 -1
  579. package/_cjs/util/rand/distribution/internals/UniformIntDistributionInternal.cjs.map +1 -1
  580. package/_cjs/util/rand/generator/MersenneTwister.cjs.map +1 -1
  581. package/_cjs/util/rand/generator/RandomGenerator.cjs.map +1 -1
  582. package/_mjs/collection/Iterable/api/traverseConc.mjs.map +1 -1
  583. package/_mjs/collection/Iterable/api.mjs.map +1 -1
  584. package/_mjs/collection/Iterable/constructors.mjs.map +1 -1
  585. package/_mjs/collection/Iterable.mjs +3 -2
  586. package/_mjs/collection/Iterable.mjs.map +1 -1
  587. package/_mjs/collection/compat/Array/api.mjs +48 -0
  588. package/_mjs/collection/compat/Array/api.mjs.map +1 -1
  589. package/_mjs/collection/compat/Array.mjs +2 -1
  590. package/_mjs/collection/compat/Array.mjs.map +1 -1
  591. package/_mjs/collection/compat/ArrayLike/api.mjs.map +1 -1
  592. package/_mjs/collection/immutable/Conc/api/makeBy.mjs.map +1 -1
  593. package/_mjs/collection/immutable/Conc/api.mjs +8 -5
  594. package/_mjs/collection/immutable/Conc/api.mjs.map +1 -1
  595. package/_mjs/collection/immutable/Conc/definition.mjs.map +1 -1
  596. package/_mjs/collection/immutable/Conc.mjs +6 -4
  597. package/_mjs/collection/immutable/Conc.mjs.map +1 -1
  598. package/_mjs/collection/immutable/Dictionary/api.mjs +47 -5
  599. package/_mjs/collection/immutable/Dictionary/api.mjs.map +1 -1
  600. package/_mjs/collection/immutable/Dictionary.mjs +2 -1
  601. package/_mjs/collection/immutable/Dictionary.mjs.map +1 -1
  602. package/_mjs/collection/immutable/HashMap/api.mjs +67 -10
  603. package/_mjs/collection/immutable/HashMap/api.mjs.map +1 -1
  604. package/_mjs/collection/immutable/HashMap/definition.mjs +2 -2
  605. package/_mjs/collection/immutable/HashMap/definition.mjs.map +1 -1
  606. package/_mjs/collection/immutable/HashMap/internal.mjs +5 -7
  607. package/_mjs/collection/immutable/HashMap/internal.mjs.map +1 -1
  608. package/_mjs/collection/immutable/HashMap.mjs +2 -1
  609. package/_mjs/collection/immutable/HashMap.mjs.map +1 -1
  610. package/_mjs/collection/immutable/HashSet/api.mjs +7 -4
  611. package/_mjs/collection/immutable/HashSet/api.mjs.map +1 -1
  612. package/_mjs/collection/immutable/HashSet/definition.mjs.map +1 -1
  613. package/_mjs/collection/immutable/HashSet.mjs +2 -1
  614. package/_mjs/collection/immutable/HashSet.mjs.map +1 -1
  615. package/_mjs/collection/immutable/ImmutableArray/api/splitWhere.mjs +1 -1
  616. package/_mjs/collection/immutable/ImmutableArray/api/splitWhere.mjs.map +1 -1
  617. package/_mjs/collection/immutable/ImmutableArray/api.mjs +58 -54
  618. package/_mjs/collection/immutable/ImmutableArray/api.mjs.map +1 -1
  619. package/_mjs/collection/immutable/ImmutableArray/constructors.mjs.map +1 -1
  620. package/_mjs/collection/immutable/ImmutableArray.mjs +8 -6
  621. package/_mjs/collection/immutable/ImmutableArray.mjs.map +1 -1
  622. package/_mjs/collection/immutable/ImmutableNonEmptyArray/api.mjs +13 -13
  623. package/_mjs/collection/immutable/ImmutableNonEmptyArray/api.mjs.map +1 -1
  624. package/_mjs/collection/immutable/ImmutableNonEmptyArray/constructors.mjs.map +1 -1
  625. package/_mjs/collection/immutable/ImmutableNonEmptyArray/definition.mjs +3 -3
  626. package/_mjs/collection/immutable/ImmutableNonEmptyArray/definition.mjs.map +1 -1
  627. package/_mjs/collection/immutable/ImmutableNonEmptyArray/destructors.mjs +1 -1
  628. package/_mjs/collection/immutable/ImmutableNonEmptyArray.mjs +5 -4
  629. package/_mjs/collection/immutable/ImmutableNonEmptyArray.mjs.map +1 -1
  630. package/_mjs/collection/immutable/List/api/foldLeft.mjs.map +1 -1
  631. package/_mjs/collection/immutable/List/api/unsafeTail.mjs.map +1 -1
  632. package/_mjs/collection/immutable/List/api.mjs.map +1 -1
  633. package/_mjs/collection/immutable/List/constructors.mjs.map +1 -1
  634. package/_mjs/collection/immutable/List/definition.mjs.map +1 -1
  635. package/_mjs/collection/immutable/List.mjs +5 -3
  636. package/_mjs/collection/immutable/List.mjs.map +1 -1
  637. package/_mjs/collection/immutable/Queue/api.mjs.map +1 -1
  638. package/_mjs/collection/immutable/Queue.mjs +4 -3
  639. package/_mjs/collection/immutable/Queue.mjs.map +1 -1
  640. package/_mjs/collection/immutable/RoseTree/api.mjs.map +1 -1
  641. package/_mjs/collection/immutable/RoseTree/definition.mjs.map +1 -1
  642. package/_mjs/collection/immutable/RoseTree.mjs +2 -1
  643. package/_mjs/collection/immutable/RoseTree.mjs.map +1 -1
  644. package/_mjs/collection/immutable/SortedMap/api.mjs.map +1 -1
  645. package/_mjs/collection/immutable/SortedMap/definition.mjs.map +1 -1
  646. package/_mjs/collection/immutable/SortedMap/internal.mjs +0 -1
  647. package/_mjs/collection/immutable/SortedMap/internal.mjs.map +1 -1
  648. package/_mjs/collection/immutable/SortedMap/iterator.mjs +6 -6
  649. package/_mjs/collection/immutable/SortedMap/iterator.mjs.map +1 -1
  650. package/_mjs/collection/immutable/SortedMap.mjs +5 -4
  651. package/_mjs/collection/immutable/SortedMap.mjs.map +1 -1
  652. package/_mjs/collection/immutable/Vector/api.mjs.map +1 -1
  653. package/_mjs/collection/immutable/Vector/definition.mjs.map +1 -1
  654. package/_mjs/collection/immutable/Vector/internal.mjs +0 -3
  655. package/_mjs/collection/immutable/Vector/internal.mjs.map +1 -1
  656. package/_mjs/collection/immutable/Vector.mjs +3 -2
  657. package/_mjs/collection/immutable/Vector.mjs.map +1 -1
  658. package/_mjs/collection/internal.mjs +2 -0
  659. package/_mjs/collection/internal.mjs.map +1 -0
  660. package/_mjs/collection/mutable/ArrayDeque.mjs +205 -0
  661. package/_mjs/collection/mutable/ArrayDeque.mjs.map +1 -0
  662. package/_mjs/collection/mutable/HashMap.mjs.map +1 -1
  663. package/_mjs/collection/mutable/HashSet.mjs.map +1 -1
  664. package/_mjs/collection/mutable/ListBuffer.mjs.map +1 -1
  665. package/_mjs/collection/mutable/Queue.mjs +14 -0
  666. package/_mjs/collection/mutable/Queue.mjs.map +1 -0
  667. package/_mjs/collection/mutable/internal.mjs.map +1 -1
  668. package/_mjs/collection/weak/IterableWeakMap.mjs.map +1 -1
  669. package/_mjs/collection/weak/IterableWeakSet.mjs.map +1 -1
  670. package/_mjs/control/Eval/api.mjs +1 -0
  671. package/_mjs/control/Eval/api.mjs.map +1 -1
  672. package/_mjs/control/Eval/run.mjs.map +1 -1
  673. package/_mjs/control/Eval.mjs +5 -4
  674. package/_mjs/control/Eval.mjs.map +1 -1
  675. package/_mjs/control/InterruptiblePromise.mjs +15 -0
  676. package/_mjs/control/InterruptiblePromise.mjs.map +1 -0
  677. package/_mjs/control/Pure/api.mjs +20 -8
  678. package/_mjs/control/Pure/api.mjs.map +1 -1
  679. package/_mjs/control/Pure/runtime.mjs.map +1 -1
  680. package/_mjs/control/Pure.mjs +4 -3
  681. package/_mjs/control/Pure.mjs.map +1 -1
  682. package/_mjs/data/Branded/definition.mjs.map +1 -1
  683. package/_mjs/data/Branded.mjs +1 -0
  684. package/_mjs/data/Branded.mjs.map +1 -1
  685. package/_mjs/data/CaseClass.mjs +6 -4
  686. package/_mjs/data/CaseClass.mjs.map +1 -1
  687. package/_mjs/data/Cause/api/fold.mjs.map +1 -1
  688. package/_mjs/data/Cause/api/isEmpty.mjs.map +1 -1
  689. package/_mjs/data/Cause/api/linearize.mjs.map +1 -1
  690. package/_mjs/data/Cause/api/prettyPrint.mjs.map +1 -1
  691. package/_mjs/data/Cause/api/unified.mjs.map +1 -1
  692. package/_mjs/data/Cause/api.mjs +66 -59
  693. package/_mjs/data/Cause/api.mjs.map +1 -1
  694. package/_mjs/data/Cause/definition.mjs +0 -9
  695. package/_mjs/data/Cause/definition.mjs.map +1 -1
  696. package/_mjs/data/Cause.mjs +7 -5
  697. package/_mjs/data/Cause.mjs.map +1 -1
  698. package/_mjs/data/Const.mjs +3 -2
  699. package/_mjs/data/Const.mjs.map +1 -1
  700. package/_mjs/data/Date.mjs +1 -0
  701. package/_mjs/data/Date.mjs.map +1 -1
  702. package/_mjs/data/Datum/api.mjs +8 -2
  703. package/_mjs/data/Datum/api.mjs.map +1 -1
  704. package/_mjs/data/Datum/definition.mjs +0 -3
  705. package/_mjs/data/Datum/definition.mjs.map +1 -1
  706. package/_mjs/data/DatumEither/api.mjs +8 -2
  707. package/_mjs/data/DatumEither/api.mjs.map +1 -1
  708. package/_mjs/data/DatumEither.mjs +2 -1
  709. package/_mjs/data/DatumEither.mjs.map +1 -1
  710. package/_mjs/data/DecodeError/definition.mjs.map +1 -1
  711. package/_mjs/data/DecodeError.mjs +2 -1
  712. package/_mjs/data/DecodeError.mjs.map +1 -1
  713. package/_mjs/data/Decoder/api.mjs +24 -15
  714. package/_mjs/data/Decoder/api.mjs.map +1 -1
  715. package/_mjs/data/Decoder/definition.mjs.map +1 -1
  716. package/_mjs/data/Decoder.mjs +2 -1
  717. package/_mjs/data/Decoder.mjs.map +1 -1
  718. package/_mjs/data/Duration/api.mjs +27 -6
  719. package/_mjs/data/Duration/api.mjs.map +1 -1
  720. package/_mjs/data/Duration.mjs +2 -1
  721. package/_mjs/data/Duration.mjs.map +1 -1
  722. package/_mjs/data/Either/api/alignWith.mjs +1 -1
  723. package/_mjs/data/Either/api/alignWith.mjs.map +1 -1
  724. package/_mjs/data/Either/api.mjs +26 -7
  725. package/_mjs/data/Either/api.mjs.map +1 -1
  726. package/_mjs/data/Either/constructors.mjs.map +1 -1
  727. package/_mjs/data/Either/definition.mjs +0 -2
  728. package/_mjs/data/Either/definition.mjs.map +1 -1
  729. package/_mjs/data/Either/destructors.mjs +3 -3
  730. package/_mjs/data/Either/destructors.mjs.map +1 -1
  731. package/_mjs/data/Either/instances.mjs +10 -1
  732. package/_mjs/data/Either/instances.mjs.map +1 -1
  733. package/_mjs/data/Either.mjs +6 -5
  734. package/_mjs/data/Either.mjs.map +1 -1
  735. package/_mjs/data/EitherT/api.mjs +8 -2
  736. package/_mjs/data/EitherT/api.mjs.map +1 -1
  737. package/_mjs/data/Encoder/api.mjs +6 -0
  738. package/_mjs/data/Encoder/api.mjs.map +1 -1
  739. package/_mjs/data/Encoder.mjs +2 -1
  740. package/_mjs/data/Encoder.mjs.map +1 -1
  741. package/_mjs/data/Environment/ServiceNotFoundError.mjs +7 -0
  742. package/_mjs/data/Environment/ServiceNotFoundError.mjs.map +1 -0
  743. package/_mjs/data/Environment/api.mjs +2 -4
  744. package/_mjs/data/Environment/api.mjs.map +1 -1
  745. package/_mjs/data/Environment/definition.mjs.map +1 -1
  746. package/_mjs/data/Environment.mjs +3 -1
  747. package/_mjs/data/Environment.mjs.map +1 -1
  748. package/_mjs/data/EnvironmentPatch.mjs +0 -4
  749. package/_mjs/data/EnvironmentPatch.mjs.map +1 -1
  750. package/_mjs/data/Eq/derivations.mjs +1 -0
  751. package/_mjs/data/Eq/derivations.mjs.map +1 -1
  752. package/_mjs/data/Equatable/api.mjs.map +1 -1
  753. package/_mjs/data/Equatable/fast-equals.mjs.map +1 -1
  754. package/_mjs/data/Equatable.mjs +3 -2
  755. package/_mjs/data/Equatable.mjs.map +1 -1
  756. package/_mjs/data/ExecutionStrategy.mjs.map +1 -1
  757. package/_mjs/data/Exit/api.mjs.map +1 -1
  758. package/_mjs/data/Exit/constructors.mjs +4 -1
  759. package/_mjs/data/Exit/constructors.mjs.map +1 -1
  760. package/_mjs/data/Exit/definition.mjs +0 -2
  761. package/_mjs/data/Exit/definition.mjs.map +1 -1
  762. package/_mjs/data/Exit.mjs +3 -2
  763. package/_mjs/data/Exit.mjs.map +1 -1
  764. package/_mjs/data/FiberId/api.mjs.map +1 -1
  765. package/_mjs/data/FiberId/definition.mjs.map +1 -1
  766. package/_mjs/data/FiberId.mjs +3 -2
  767. package/_mjs/data/FiberId.mjs.map +1 -1
  768. package/_mjs/data/Global.mjs +15 -0
  769. package/_mjs/data/Global.mjs.map +1 -0
  770. package/_mjs/data/Guard/api.mjs +5 -3
  771. package/_mjs/data/Guard/api.mjs.map +1 -1
  772. package/_mjs/data/Guard.mjs +2 -1
  773. package/_mjs/data/Guard.mjs.map +1 -1
  774. package/_mjs/data/Hashable/hash.mjs.map +1 -1
  775. package/_mjs/data/Hashable.mjs +2 -1
  776. package/_mjs/data/Hashable.mjs.map +1 -1
  777. package/_mjs/data/Identity.mjs +3 -2
  778. package/_mjs/data/Identity.mjs.map +1 -1
  779. package/_mjs/data/Interval.mjs +1 -1
  780. package/_mjs/data/Interval.mjs.map +1 -1
  781. package/_mjs/data/Intervals.mjs.map +1 -1
  782. package/_mjs/data/Maybe/api.mjs +4 -1
  783. package/_mjs/data/Maybe/api.mjs.map +1 -1
  784. package/_mjs/data/Maybe/constructors.mjs.map +1 -1
  785. package/_mjs/data/Maybe/definition.mjs +0 -2
  786. package/_mjs/data/Maybe/definition.mjs.map +1 -1
  787. package/_mjs/data/Maybe/instances.mjs.map +1 -1
  788. package/_mjs/data/Maybe.mjs +6 -5
  789. package/_mjs/data/Maybe.mjs.map +1 -1
  790. package/_mjs/data/Ord/api/max.mjs.map +1 -1
  791. package/_mjs/data/Ord/api/min.mjs.map +1 -1
  792. package/_mjs/data/Ord/api.mjs +3 -2
  793. package/_mjs/data/Ord/api.mjs.map +1 -1
  794. package/_mjs/data/Ord.mjs +3 -2
  795. package/_mjs/data/Ord.mjs.map +1 -1
  796. package/_mjs/data/Ordering.mjs.map +1 -1
  797. package/_mjs/data/Predicate.mjs +2 -1
  798. package/_mjs/data/Predicate.mjs.map +1 -1
  799. package/_mjs/data/Refinement.mjs +2 -1
  800. package/_mjs/data/Refinement.mjs.map +1 -1
  801. package/_mjs/data/Showable/show.mjs.map +1 -1
  802. package/_mjs/data/Showable/util.mjs +0 -2
  803. package/_mjs/data/Showable/util.mjs.map +1 -1
  804. package/_mjs/data/Struct/api.mjs.map +1 -1
  805. package/_mjs/data/Struct.mjs +2 -1
  806. package/_mjs/data/Struct.mjs.map +1 -1
  807. package/_mjs/data/Tag/constructors.mjs.map +1 -1
  808. package/_mjs/data/Tag/definition.mjs +6 -2
  809. package/_mjs/data/Tag/definition.mjs.map +1 -1
  810. package/_mjs/data/Tag.mjs +2 -1
  811. package/_mjs/data/Tag.mjs.map +1 -1
  812. package/_mjs/data/These/api.mjs.map +1 -1
  813. package/_mjs/data/These/definition.mjs +0 -3
  814. package/_mjs/data/These/definition.mjs.map +1 -1
  815. package/_mjs/data/These/destructors.mjs.map +1 -1
  816. package/_mjs/data/These/instances.mjs.map +1 -1
  817. package/_mjs/data/These.mjs +6 -5
  818. package/_mjs/data/These.mjs.map +1 -1
  819. package/_mjs/data/Trace/definition.mjs.map +1 -1
  820. package/_mjs/data/Trace.mjs +3 -2
  821. package/_mjs/data/Trace.mjs.map +1 -1
  822. package/_mjs/data/TraceElement/definition.mjs.map +1 -1
  823. package/_mjs/data/TraceElement.mjs +1 -0
  824. package/_mjs/data/TraceElement.mjs.map +1 -1
  825. package/_mjs/data/Zipped.mjs.map +1 -1
  826. package/_mjs/data/bigint.mjs +2 -1
  827. package/_mjs/data/bigint.mjs.map +1 -1
  828. package/_mjs/data/boolean.mjs +2 -1
  829. package/_mjs/data/boolean.mjs.map +1 -1
  830. package/_mjs/data/exceptions/IllegalArgumentError.mjs.map +1 -1
  831. package/_mjs/data/exceptions.mjs +8 -7
  832. package/_mjs/data/exceptions.mjs.map +1 -1
  833. package/_mjs/data/function/pipe.mjs.map +1 -1
  834. package/_mjs/data/function.mjs +4 -3
  835. package/_mjs/data/function.mjs.map +1 -1
  836. package/_mjs/data/number/instances.mjs.map +1 -1
  837. package/_mjs/data/number.mjs +3 -2
  838. package/_mjs/data/number.mjs.map +1 -1
  839. package/_mjs/data/object.mjs +2 -1
  840. package/_mjs/data/object.mjs.map +1 -1
  841. package/_mjs/data/string/instances.mjs.map +1 -1
  842. package/_mjs/data/string.mjs +3 -2
  843. package/_mjs/data/string.mjs.map +1 -1
  844. package/_mjs/internal/AtomicReference.mjs.map +1 -1
  845. package/_mjs/internal/Stack.mjs.map +1 -1
  846. package/_mjs/optics/At/definition.mjs.map +1 -1
  847. package/_mjs/optics/At.mjs +2 -1
  848. package/_mjs/optics/At.mjs.map +1 -1
  849. package/_mjs/optics/Fold/api/focus.mjs +9 -0
  850. package/_mjs/optics/Fold/api/focus.mjs.map +1 -0
  851. package/_mjs/optics/Fold/definition.mjs.map +1 -1
  852. package/_mjs/optics/Fold.mjs +1 -0
  853. package/_mjs/optics/Fold.mjs.map +1 -1
  854. package/_mjs/optics/Getter/definition.mjs.map +1 -1
  855. package/_mjs/optics/Getter.mjs +1 -0
  856. package/_mjs/optics/Getter.mjs.map +1 -1
  857. package/_mjs/optics/Index/api.mjs +16 -0
  858. package/_mjs/optics/Index/api.mjs.map +1 -1
  859. package/_mjs/optics/Index.mjs +2 -1
  860. package/_mjs/optics/Index.mjs.map +1 -1
  861. package/_mjs/optics/Iso/api.mjs +11 -0
  862. package/_mjs/optics/Iso/api.mjs.map +1 -1
  863. package/_mjs/optics/Iso/definition.mjs.map +1 -1
  864. package/_mjs/optics/Iso.mjs +2 -1
  865. package/_mjs/optics/Iso.mjs.map +1 -1
  866. package/_mjs/optics/Lens/api.mjs +44 -22
  867. package/_mjs/optics/Lens/api.mjs.map +1 -1
  868. package/_mjs/optics/Lens/definition.mjs +1 -1
  869. package/_mjs/optics/Lens/definition.mjs.map +1 -1
  870. package/_mjs/optics/Lens.mjs +2 -1
  871. package/_mjs/optics/Lens.mjs.map +1 -1
  872. package/_mjs/optics/Optional/api/focus.mjs +13 -0
  873. package/_mjs/optics/Optional/api/focus.mjs.map +1 -0
  874. package/_mjs/optics/Optional/api.mjs +8 -0
  875. package/_mjs/optics/Optional/api.mjs.map +1 -0
  876. package/_mjs/optics/Optional/definition.mjs +4 -1
  877. package/_mjs/optics/Optional/definition.mjs.map +1 -1
  878. package/_mjs/optics/Optional.mjs +4 -0
  879. package/_mjs/optics/Optional.mjs.map +1 -1
  880. package/_mjs/optics/Prism/api/focus.mjs +11 -0
  881. package/_mjs/optics/Prism/api/focus.mjs.map +1 -0
  882. package/_mjs/optics/Prism/definition.mjs +4 -1
  883. package/_mjs/optics/Prism/definition.mjs.map +1 -1
  884. package/_mjs/optics/Prism.mjs +5 -2
  885. package/_mjs/optics/Prism.mjs.map +1 -1
  886. package/_mjs/optics/Setter/api/focus.mjs +10 -0
  887. package/_mjs/optics/Setter/api/focus.mjs.map +1 -0
  888. package/_mjs/optics/Setter/definition.mjs.map +1 -1
  889. package/_mjs/optics/Setter.mjs +1 -0
  890. package/_mjs/optics/Setter.mjs.map +1 -1
  891. package/_mjs/optics/Traversal/api/focus.mjs +13 -0
  892. package/_mjs/optics/Traversal/api/focus.mjs.map +1 -0
  893. package/_mjs/optics/Traversal/definition.mjs.map +1 -1
  894. package/_mjs/optics/Traversal.mjs +4 -1
  895. package/_mjs/optics/Traversal.mjs.map +1 -1
  896. package/_mjs/typeclass/Apply.mjs.map +1 -1
  897. package/_mjs/typeclass/MonadExcept.mjs +4 -1
  898. package/_mjs/typeclass/MonadExcept.mjs.map +1 -1
  899. package/_mjs/typeclass/Monoid.mjs +1 -0
  900. package/_mjs/typeclass/Monoid.mjs.map +1 -1
  901. package/_mjs/typeclass/Semigroup/derivations.mjs +1 -0
  902. package/_mjs/typeclass/Semigroup/derivations.mjs.map +1 -1
  903. package/_mjs/typeclass/Semigroup.mjs +2 -1
  904. package/_mjs/typeclass/Semigroup.mjs.map +1 -1
  905. package/_mjs/typeclass/builtin.mjs +1 -0
  906. package/_mjs/typeclass/builtin.mjs.map +1 -1
  907. package/_mjs/typeclass.mjs +29 -28
  908. package/_mjs/typeclass.mjs.map +1 -1
  909. package/_mjs/types.mjs +2 -1
  910. package/_mjs/types.mjs.map +1 -1
  911. package/_mjs/util/PCGRandom.mjs +0 -1
  912. package/_mjs/util/PCGRandom.mjs.map +1 -1
  913. package/_mjs/util/assert.mjs.map +1 -1
  914. package/_mjs/util/rand/Random.mjs +1 -2
  915. package/_mjs/util/rand/Random.mjs.map +1 -1
  916. package/_mjs/util/rand/distribution/UniformArrayIntDistribution.mjs.map +1 -1
  917. package/_mjs/util/rand/distribution/UniformBigIntDistribution.mjs.map +1 -1
  918. package/_mjs/util/rand/distribution/UniformIntDistribution.mjs.map +1 -1
  919. package/_mjs/util/rand/distribution/internals/ArrayInt.mjs.map +1 -1
  920. package/_mjs/util/rand/distribution/internals/UniformArrayIntDistributionInternal.mjs.map +1 -1
  921. package/_mjs/util/rand/distribution/internals/UniformIntDistributionInternal.mjs +0 -1
  922. package/_mjs/util/rand/distribution/internals/UniformIntDistributionInternal.mjs.map +1 -1
  923. package/_mjs/util/rand/generator/MersenneTwister.mjs.map +1 -1
  924. package/_mjs/util/rand/generator/RandomGenerator.mjs.map +1 -1
  925. package/_src/collection/Iterable/api.ts +2 -2
  926. package/_src/collection/Iterable.ts +3 -2
  927. package/_src/collection/compat/Array/api.ts +51 -0
  928. package/_src/collection/compat/Array.ts +2 -1
  929. package/_src/collection/compat.ts +1 -0
  930. package/_src/collection/immutable/Conc/api.ts +17 -7
  931. package/_src/collection/immutable/Conc/definition.ts +9 -2
  932. package/_src/collection/immutable/Conc.ts +6 -4
  933. package/_src/collection/immutable/Dictionary/api.ts +40 -0
  934. package/_src/collection/immutable/Dictionary.ts +2 -1
  935. package/_src/collection/immutable/HashMap/api.ts +80 -4
  936. package/_src/collection/immutable/HashMap/definition.ts +4 -1
  937. package/_src/collection/immutable/HashMap/internal.ts +21 -4
  938. package/_src/collection/immutable/HashMap.ts +2 -1
  939. package/_src/collection/immutable/HashSet/api.ts +4 -4
  940. package/_src/collection/immutable/HashSet/definition.ts +24 -5
  941. package/_src/collection/immutable/HashSet.ts +2 -1
  942. package/_src/collection/immutable/ImmutableArray/api.ts +4 -4
  943. package/_src/collection/immutable/ImmutableArray.ts +8 -6
  944. package/_src/collection/immutable/ImmutableNonEmptyArray.ts +5 -4
  945. package/_src/collection/immutable/List/definition.ts +4 -1
  946. package/_src/collection/immutable/List.ts +5 -3
  947. package/_src/collection/immutable/Queue.ts +4 -3
  948. package/_src/collection/immutable/RoseTree/definition.ts +4 -1
  949. package/_src/collection/immutable/RoseTree.ts +2 -1
  950. package/_src/collection/immutable/SortedMap/definition.ts +4 -1
  951. package/_src/collection/immutable/SortedMap/iterator.ts +5 -1
  952. package/_src/collection/immutable/SortedMap.ts +5 -4
  953. package/_src/collection/immutable/Vector/internal.ts +8 -2
  954. package/_src/collection/immutable/Vector.ts +3 -2
  955. package/_src/collection/immutable.ts +11 -10
  956. package/_src/collection/internal.ts +0 -0
  957. package/_src/collection/mutable/ArrayDeque.ts +235 -0
  958. package/_src/collection/mutable/HashMap.ts +10 -2
  959. package/_src/collection/mutable/HashSet.ts +9 -2
  960. package/_src/collection/mutable/Queue.ts +14 -0
  961. package/_src/collection/mutable.ts +5 -2
  962. package/_src/collection/weak.ts +2 -1
  963. package/_src/collection.ts +5 -4
  964. package/_src/control/Eval/api.ts +1 -0
  965. package/_src/control/Eval.ts +5 -4
  966. package/_src/control/InterruptiblePromise.ts +23 -0
  967. package/_src/control/Pure/api.ts +7 -4
  968. package/_src/control/Pure.ts +4 -3
  969. package/_src/control.ts +5 -3
  970. package/_src/data/Branded/definition.ts +16 -12
  971. package/_src/data/Branded.ts +1 -0
  972. package/_src/data/CaseClass.ts +2 -0
  973. package/_src/data/Cause/api/linearize.ts +1 -1
  974. package/_src/data/Cause/api.ts +37 -24
  975. package/_src/data/Cause/definition.ts +29 -7
  976. package/_src/data/Cause.ts +7 -5
  977. package/_src/data/Const.ts +3 -2
  978. package/_src/data/Date.ts +1 -0
  979. package/_src/data/Datum/api.ts +8 -8
  980. package/_src/data/DatumEither/api.ts +8 -8
  981. package/_src/data/DatumEither.ts +2 -1
  982. package/_src/data/DecodeError/definition.ts +40 -10
  983. package/_src/data/DecodeError.ts +2 -1
  984. package/_src/data/Decoder/api.ts +11 -1
  985. package/_src/data/Decoder/definition.ts +4 -1
  986. package/_src/data/Decoder.ts +2 -1
  987. package/_src/data/Duration/api.ts +30 -7
  988. package/_src/data/Duration.ts +2 -1
  989. package/_src/data/Either/api/alignWith.ts +2 -2
  990. package/_src/data/Either/api.ts +20 -19
  991. package/_src/data/Either/definition.ts +8 -2
  992. package/_src/data/Either/destructors.ts +3 -3
  993. package/_src/data/Either/instances.ts +12 -12
  994. package/_src/data/Either.ts +6 -5
  995. package/_src/data/EitherT/api.ts +8 -8
  996. package/_src/data/Encoder/api.ts +7 -1
  997. package/_src/data/Encoder.ts +2 -1
  998. package/_src/data/Environment/ServiceNotFoundError.ts +5 -0
  999. package/_src/data/Environment/api.ts +13 -6
  1000. package/_src/data/Environment/definition.ts +4 -1
  1001. package/_src/data/Environment.ts +3 -1
  1002. package/_src/data/EnvironmentPatch.ts +12 -3
  1003. package/_src/data/Eq/derivations.ts +1 -0
  1004. package/_src/data/Equatable.ts +3 -2
  1005. package/_src/data/Exit/constructors.ts +1 -1
  1006. package/_src/data/Exit/definition.ts +8 -2
  1007. package/_src/data/Exit.ts +3 -2
  1008. package/_src/data/FiberId/definition.ts +5 -1
  1009. package/_src/data/FiberId.ts +3 -2
  1010. package/_src/data/Global.ts +17 -0
  1011. package/_src/data/Guard/api.ts +3 -0
  1012. package/_src/data/Guard.ts +2 -1
  1013. package/_src/data/Hashable.ts +2 -1
  1014. package/_src/data/Identity.ts +3 -2
  1015. package/_src/data/Interval.ts +4 -1
  1016. package/_src/data/Maybe/api.ts +4 -4
  1017. package/_src/data/Maybe/definition.ts +4 -1
  1018. package/_src/data/Maybe.ts +6 -5
  1019. package/_src/data/Ord/api/max.ts +1 -1
  1020. package/_src/data/Ord/api/min.ts +1 -1
  1021. package/_src/data/Ord/api.ts +3 -2
  1022. package/_src/data/Ord.ts +3 -2
  1023. package/_src/data/Predicate.ts +2 -1
  1024. package/_src/data/Refinement.ts +2 -1
  1025. package/_src/data/Struct.ts +2 -1
  1026. package/_src/data/Tag/constructors.ts +1 -1
  1027. package/_src/data/Tag/definition.ts +14 -2
  1028. package/_src/data/Tag.ts +2 -1
  1029. package/_src/data/These/definition.ts +4 -1
  1030. package/_src/data/These/instances.ts +2 -2
  1031. package/_src/data/These.ts +6 -5
  1032. package/_src/data/Trace/definition.ts +4 -1
  1033. package/_src/data/Trace.ts +3 -2
  1034. package/_src/data/TraceElement.ts +1 -0
  1035. package/_src/data/Zipped.ts +2 -2
  1036. package/_src/data/bigint.ts +2 -1
  1037. package/_src/data/boolean.ts +2 -1
  1038. package/_src/data/exceptions/IllegalArgumentError.ts +4 -1
  1039. package/_src/data/exceptions.ts +8 -7
  1040. package/_src/data/function.ts +4 -3
  1041. package/_src/data/number/instances.ts +1 -1
  1042. package/_src/data/number.ts +3 -2
  1043. package/_src/data/object.ts +2 -1
  1044. package/_src/data/string/instances.ts +1 -1
  1045. package/_src/data/string.ts +3 -2
  1046. package/_src/data.ts +45 -43
  1047. package/_src/json.ts +3 -2
  1048. package/_src/optics/At.ts +2 -1
  1049. package/_src/optics/Fold/api/focus.ts +10 -0
  1050. package/_src/optics/Fold/definition.ts +9 -0
  1051. package/_src/optics/Fold.ts +1 -0
  1052. package/_src/optics/Getter/definition.ts +9 -1
  1053. package/_src/optics/Getter.ts +1 -0
  1054. package/_src/optics/Index/api.ts +15 -1
  1055. package/_src/optics/Index.ts +2 -1
  1056. package/_src/optics/Iso/api.ts +14 -0
  1057. package/_src/optics/Iso/definition.ts +6 -1
  1058. package/_src/optics/Iso.ts +2 -1
  1059. package/_src/optics/Lens/api.ts +34 -9
  1060. package/_src/optics/Lens/definition.ts +4 -1
  1061. package/_src/optics/Lens.ts +2 -1
  1062. package/_src/optics/Optional/api/focus.ts +14 -0
  1063. package/_src/optics/Optional/api.ts +10 -0
  1064. package/_src/optics/Optional/definition.ts +23 -4
  1065. package/_src/optics/Optional.ts +4 -0
  1066. package/_src/optics/Prism/api/focus.ts +12 -0
  1067. package/_src/optics/Prism/definition.ts +6 -2
  1068. package/_src/optics/Prism.ts +5 -2
  1069. package/_src/optics/Setter/api/focus.ts +11 -0
  1070. package/_src/optics/Setter/definition.ts +13 -0
  1071. package/_src/optics/Setter.ts +1 -0
  1072. package/_src/optics/Traversal/api/focus.ts +14 -0
  1073. package/_src/optics/Traversal/definition.ts +10 -0
  1074. package/_src/optics/Traversal.ts +4 -1
  1075. package/_src/optics.ts +10 -9
  1076. package/_src/typeclass/MonadExcept.ts +1 -1
  1077. package/_src/typeclass/Monoid.ts +1 -0
  1078. package/_src/typeclass/Semigroup/derivations.ts +1 -0
  1079. package/_src/typeclass/Semigroup.ts +2 -1
  1080. package/_src/typeclass/builtin.ts +1 -0
  1081. package/_src/typeclass.ts +29 -28
  1082. package/_src/types.ts +2 -1
  1083. package/_src/util.ts +5 -4
  1084. package/collection/Iterable/api.d.ts +1 -1
  1085. package/collection/Iterable.d.ts +2 -2
  1086. package/collection/compat/Array/api.d.ts +19 -0
  1087. package/collection/compat/Array.d.ts +1 -1
  1088. package/collection/immutable/Conc/api.d.ts +15 -15
  1089. package/collection/immutable/Conc.d.ts +4 -4
  1090. package/collection/immutable/Dictionary/api.d.ts +23 -2
  1091. package/collection/immutable/Dictionary.d.ts +1 -1
  1092. package/collection/immutable/HashMap/api.d.ts +37 -13
  1093. package/collection/immutable/HashMap.d.ts +1 -1
  1094. package/collection/immutable/HashSet.d.ts +1 -1
  1095. package/collection/immutable/ImmutableArray/api/chunksOf.d.ts +1 -1
  1096. package/collection/immutable/ImmutableArray/api/slice.d.ts +1 -1
  1097. package/collection/immutable/ImmutableArray/api/splitAt.d.ts +1 -1
  1098. package/collection/immutable/ImmutableArray/api.d.ts +17 -17
  1099. package/collection/immutable/ImmutableArray.d.ts +6 -6
  1100. package/collection/immutable/ImmutableNonEmptyArray/api.d.ts +6 -6
  1101. package/collection/immutable/ImmutableNonEmptyArray.d.ts +4 -4
  1102. package/collection/immutable/List/api.d.ts +4 -4
  1103. package/collection/immutable/List.d.ts +3 -3
  1104. package/collection/immutable/Queue/api.d.ts +2 -2
  1105. package/collection/immutable/Queue.d.ts +3 -3
  1106. package/collection/immutable/RoseTree.d.ts +1 -1
  1107. package/collection/immutable/SortedMap/api.d.ts +5 -5
  1108. package/collection/immutable/SortedMap.d.ts +4 -4
  1109. package/collection/immutable/Vector/api.d.ts +10 -10
  1110. package/collection/immutable/Vector.d.ts +1 -1
  1111. package/collection/immutable.d.ts +10 -10
  1112. package/collection/internal.d.ts +1 -0
  1113. package/collection/mutable/ArrayDeque.d.ts +41 -0
  1114. package/collection/mutable/Queue.d.ts +9 -0
  1115. package/collection/mutable.d.ts +4 -2
  1116. package/collection/weak.d.ts +1 -1
  1117. package/collection.d.ts +3 -3
  1118. package/control/Eval/api.d.ts +2 -2
  1119. package/control/Eval.d.ts +4 -4
  1120. package/control/InterruptiblePromise.d.ts +12 -0
  1121. package/control/Pure/api.d.ts +34 -34
  1122. package/control/Pure/runtime.d.ts +5 -5
  1123. package/control/Pure.d.ts +3 -3
  1124. package/control.d.ts +4 -3
  1125. package/data/Cause/api.d.ts +3 -2
  1126. package/data/Cause.d.ts +5 -5
  1127. package/data/Const.d.ts +2 -2
  1128. package/data/Datum/api.d.ts +3 -3
  1129. package/data/DatumEither/api.d.ts +7 -7
  1130. package/data/DatumEither.d.ts +1 -1
  1131. package/data/DecodeError.d.ts +1 -1
  1132. package/data/Decoder/api.d.ts +1 -1
  1133. package/data/Decoder.d.ts +1 -1
  1134. package/data/Duration/api.d.ts +18 -5
  1135. package/data/Duration.d.ts +1 -1
  1136. package/data/Either/api/align.d.ts +1 -1
  1137. package/data/Either/api/alignWith.d.ts +1 -1
  1138. package/data/Either/api.d.ts +15 -15
  1139. package/data/Either/constructors.d.ts +1 -1
  1140. package/data/Either/destructors.d.ts +4 -1
  1141. package/data/Either.d.ts +4 -4
  1142. package/data/EitherT/api.d.ts +1 -1
  1143. package/data/Encoder.d.ts +1 -1
  1144. package/data/Environment/ServiceNotFoundError.d.ts +5 -0
  1145. package/data/Environment/api.d.ts +7 -7
  1146. package/data/Environment.d.ts +2 -1
  1147. package/data/EnvironmentPatch.d.ts +1 -1
  1148. package/data/Equatable.d.ts +2 -2
  1149. package/data/Exit/api.d.ts +13 -13
  1150. package/data/Exit.d.ts +2 -2
  1151. package/data/FiberId.d.ts +2 -2
  1152. package/data/Global.d.ts +4 -0
  1153. package/data/Guard.d.ts +1 -1
  1154. package/data/Hashable.d.ts +1 -1
  1155. package/data/Identity/api.d.ts +2 -2
  1156. package/data/Identity.d.ts +2 -2
  1157. package/data/Maybe/api.d.ts +4 -4
  1158. package/data/Maybe.d.ts +4 -4
  1159. package/data/Newtype.d.ts +1 -1
  1160. package/data/Ord/api.d.ts +2 -2
  1161. package/data/Ord.d.ts +2 -2
  1162. package/data/Predicate.d.ts +1 -1
  1163. package/data/Refinement/api.d.ts +2 -2
  1164. package/data/Refinement.d.ts +1 -1
  1165. package/data/Struct.d.ts +1 -1
  1166. package/data/Tag/constructors.d.ts +1 -1
  1167. package/data/Tag/definition.d.ts +12 -1
  1168. package/data/Tag.d.ts +1 -1
  1169. package/data/These/api.d.ts +6 -6
  1170. package/data/These.d.ts +4 -4
  1171. package/data/Trace.d.ts +2 -2
  1172. package/data/bigint.d.ts +1 -1
  1173. package/data/boolean.d.ts +1 -1
  1174. package/data/exceptions.d.ts +7 -7
  1175. package/data/function.d.ts +2 -2
  1176. package/data/number.d.ts +2 -2
  1177. package/data/object.d.ts +1 -1
  1178. package/data/string.d.ts +2 -2
  1179. package/data.d.ts +44 -43
  1180. package/json.d.ts +2 -2
  1181. package/optics/At.d.ts +1 -1
  1182. package/optics/Fold/api/focus.d.ts +6 -0
  1183. package/optics/Fold/definition.d.ts +6 -0
  1184. package/optics/Getter/definition.d.ts +7 -1
  1185. package/optics/Index/api.d.ts +5 -0
  1186. package/optics/Index.d.ts +1 -1
  1187. package/optics/Iso/api.d.ts +6 -0
  1188. package/optics/Iso/definition.d.ts +4 -1
  1189. package/optics/Iso.d.ts +1 -1
  1190. package/optics/Lens/api.d.ts +13 -2
  1191. package/optics/Lens/definition.d.ts +4 -1
  1192. package/optics/Lens.d.ts +1 -1
  1193. package/optics/Optional/api/focus.d.ts +6 -0
  1194. package/optics/Optional/api.d.ts +6 -0
  1195. package/optics/Optional/definition.d.ts +15 -0
  1196. package/optics/Optional.d.ts +2 -0
  1197. package/optics/Prism/api/focus.d.ts +6 -0
  1198. package/optics/Prism/definition.d.ts +4 -1
  1199. package/optics/Prism.d.ts +3 -2
  1200. package/optics/Setter/api/focus.d.ts +6 -0
  1201. package/optics/Setter/definition.d.ts +10 -0
  1202. package/optics/Traversal/api/focus.d.ts +6 -0
  1203. package/optics/Traversal/definition.d.ts +5 -0
  1204. package/optics/Traversal.d.ts +2 -1
  1205. package/optics.d.ts +9 -9
  1206. package/package.json +3 -3
  1207. package/typeclass/Semigroup.d.ts +1 -1
  1208. package/typeclass.d.ts +27 -27
  1209. package/types.d.ts +1 -1
  1210. package/util.d.ts +4 -4
@@ -181,6 +181,7 @@ export function struct<A extends Record<string, any>>(fields: {
181
181
  errors.push(new RequiredKeyError(key, new MissingKeyError(key)));
182
182
  errored = true;
183
183
  } else {
184
+ // @ts-expect-error
184
185
  const res = (fields[key] as Decoder<any>).decode(input[key as string]);
185
186
  res.match2(
186
187
  (e) => {
@@ -237,7 +238,9 @@ export function partial<A extends Record<string, any>>(fields: {
237
238
  const errors: Array<RequiredKeyError | OptionalKeyError> = [];
238
239
  const decoded = {} as A;
239
240
  for (const key in fields) {
241
+ // @ts-expect-error
240
242
  if (key in input && typeof input[key as string] !== "undefined") {
243
+ // @ts-expect-error
241
244
  const res = (fields[key] as Decoder<any>).decode(input[key as string]);
242
245
  res.match2(
243
246
  (e) => {
@@ -288,8 +291,10 @@ export function deriveStruct<A extends Record<string, any>>(
288
291
  let first = true;
289
292
  for (const k in requiredFields) {
290
293
  if (first) {
294
+ // @ts-expect-error
291
295
  label += ` ${k}: ${(requiredFields[k] as Decoder<any>).label}`;
292
296
  } else {
297
+ // @ts-expect-error
293
298
  label += `, ${k}: ${(requiredFields[k] as Decoder<any>).label}`;
294
299
  }
295
300
  first = false;
@@ -322,6 +327,7 @@ export function deriveStruct<A extends Record<string, any>>(
322
327
  errors.push(new RequiredKeyError(key, new MissingKeyError(key)));
323
328
  errored = true;
324
329
  } else {
330
+ // @ts-expect-error
325
331
  const res = (requiredFields[key] as Decoder<any>).decode(input[key]);
326
332
  res.match2(
327
333
  (e) => {
@@ -339,7 +345,9 @@ export function deriveStruct<A extends Record<string, any>>(
339
345
  }
340
346
  if (optionalFields) {
341
347
  for (const key in optionalFields) {
348
+ // @ts-expect-error
342
349
  if (key in input && typeof input[key as string] !== "undefined") {
350
+ // @ts-expect-error
343
351
  const res = (optionalFields[key] as Decoder<any>).decode(input[key as string]);
344
352
  res.match2(
345
353
  (e) => {
@@ -460,6 +468,7 @@ export function deriveRecord<A extends Record<string, any>>(
460
468
  const res = {};
461
469
  for (const k in asRecord) {
462
470
  if (keyGuard.is(k)) {
471
+ // @ts-expect-error
463
472
  const valueResult = valueDecoder.decode(asRecord[k]);
464
473
  valueResult.match2(
465
474
  (e) => {
@@ -468,6 +477,7 @@ export function deriveRecord<A extends Record<string, any>>(
468
477
  },
469
478
  (warning, a) => {
470
479
  missing.delete(k);
480
+ // @ts-expect-error
471
481
  res[k] = a;
472
482
  if (warning.isJust()) {
473
483
  errors.push(new (k in requiredKeysRecord ? RequiredKeyError : OptionalKeyError)(k, warning.value));
@@ -682,5 +692,5 @@ export function deriveTuple<A extends ReadonlyArray<unknown>>(
682
692
  * @tsplus static fncts.DecoderOps tuple
683
693
  */
684
694
  export function tuple<A extends ReadonlyArray<unknown>>(...components: { [K in keyof A]: Decoder<A[K]> }): Decoder<A> {
685
- return deriveTuple(components as [never]).unsafeCoerce()
695
+ return deriveTuple(components as [never]).unsafeCoerce();
686
696
  }
@@ -17,7 +17,10 @@ export interface DecoderF extends HKT {
17
17
  */
18
18
  export class Decoder<in out A> {
19
19
  readonly [DecoderTypeId]: DecoderTypeId = DecoderTypeId;
20
- constructor(readonly decode: (input: unknown) => These<DecodeError, A>, readonly label: string) {}
20
+ constructor(
21
+ readonly decode: (input: unknown) => These<DecodeError, A>,
22
+ readonly label: string,
23
+ ) {}
21
24
  }
22
25
 
23
26
  /**
@@ -1,4 +1,5 @@
1
+ /* eslint-disable simple-import-sort/exports */
1
2
  // codegen:start { preset: barrel, include: "./Decoder/*.ts" }
2
- export * from "./Decoder/api.js";
3
3
  export * from "./Decoder/definition.js";
4
+ export * from "./Decoder/api.js";
4
5
  // codegen:end
@@ -47,13 +47,6 @@ export function product(multiplicand: number) {
47
47
  };
48
48
  }
49
49
 
50
- /**
51
- * @tsplus operator fncts.Duration *
52
- */
53
- export function multiplyInverted(multiplicand: number, self: Duration) {
54
- return new Duration(Math.round(self.milliseconds) * multiplicand);
55
- }
56
-
57
50
  /**
58
51
  * @tsplus pipeable-operator fncts.Duration +
59
52
  */
@@ -93,3 +86,33 @@ export function lessThanOrEqualTo(that: Duration) {
93
86
  return self.milliseconds <= that.milliseconds;
94
87
  };
95
88
  }
89
+
90
+ /**
91
+ * @tsplus fluent fncts.Duration greaterThanOrEqualTo
92
+ * @tsplus pipeable-operator fncts.Duration >=
93
+ */
94
+ export function greaterThanOrEqualTo(that: Duration) {
95
+ return (self: Duration): boolean => {
96
+ return self.milliseconds >= that.milliseconds;
97
+ };
98
+ }
99
+
100
+ /**
101
+ * @tsplus fluent fncts.Duration lessThan
102
+ * @tsplus pipeable-operator fncts.Duration <
103
+ */
104
+ export function lessThan(that: Duration) {
105
+ return (self: Duration): boolean => {
106
+ return self.milliseconds < that.milliseconds;
107
+ };
108
+ }
109
+
110
+ /**
111
+ * @tsplus fluent fncts.Duration greaterThan
112
+ * @tsplus pipeable-operator fncts.Duration >
113
+ */
114
+ export function greaterThan(that: Duration) {
115
+ return (self: Duration): boolean => {
116
+ return self.milliseconds > that.milliseconds;
117
+ };
118
+ }
@@ -1,4 +1,5 @@
1
+ /* eslint-disable simple-import-sort/exports */
1
2
  // codegen:start { preset: barrel, include: ./Duration/*.ts }
2
- export * from "./Duration/api.js";
3
3
  export * from "./Duration/definition.js";
4
+ export * from "./Duration/api.js";
4
5
  // codegen:end
@@ -15,7 +15,7 @@ export function alignWith<A, E2, B, C>(fb: Either<E2, B>, f: (_: These<A, B>) =>
15
15
  ? self
16
16
  : Right(f(These.right(fb.right)))
17
17
  : fb._tag === EitherTag.Left
18
- ? Right(f(These.left(self.right)))
19
- : Right(f(These.both(self.right, fb.right)));
18
+ ? Right(f(These.left(self.right)))
19
+ : Right(f(These.both(self.right, fb.right)));
20
20
  };
21
21
  }
@@ -97,20 +97,20 @@ export function foldMap<A, M>(f: (a: A) => M, /** @tsplus auto */ M: P.Monoid<M>
97
97
  * @tsplus getter fncts.Either getLeft
98
98
  */
99
99
  export function getLeft<E, A>(self: Either<E, A>): Maybe<E> {
100
- return self.match(
101
- (e) => Just(e),
102
- (_a) => Nothing(),
103
- );
100
+ return self.match({
101
+ Left: (e) => Just(e),
102
+ Right: (_a) => Nothing(),
103
+ });
104
104
  }
105
105
 
106
106
  /**
107
107
  * @tsplus getter fncts.Either getRight
108
108
  */
109
109
  export function getRight<E, A>(self: Either<E, A>): Maybe<A> {
110
- return self.match(
111
- (_e) => Nothing(),
112
- (a) => Just(a),
113
- );
110
+ return self.match({
111
+ Left: (_e) => Nothing(),
112
+ Right: (a) => Just(a),
113
+ });
114
114
  }
115
115
 
116
116
  /**
@@ -118,7 +118,7 @@ export function getRight<E, A>(self: Either<E, A>): Maybe<A> {
118
118
  */
119
119
  export function getOrElse<E, B>(orElse: (e: E) => B) {
120
120
  return <A>(self: Either<E, A>): A | B => {
121
- return self.match(orElse, identity);
121
+ return self.match({ Left: orElse, Right: identity });
122
122
  };
123
123
  }
124
124
 
@@ -172,7 +172,7 @@ export function mapLeft<E1, E2>(f: (e: E1) => E2) {
172
172
  * @tsplus getter fncts.Either value
173
173
  */
174
174
  export function merge<E, A>(self: Either<E, A>): E | A {
175
- return self.match(identity, identity);
175
+ return self.match({ Left: identity, Right: identity });
176
176
  }
177
177
 
178
178
  /**
@@ -201,10 +201,10 @@ export function _traverse<E, A>(self: Either<E, A>) {
201
201
  <K, Q, W, X, I, S, R, E1, B>(
202
202
  f: (a: A) => HKT.Kind<G, GC, K, Q, W, X, I, S, R, E1, B>,
203
203
  ): HKT.Kind<G, GC, K, Q, W, X, I, S, R, E1, Either<E, B>> =>
204
- self.match(
205
- (e) => G.pure(Left(e)),
206
- (a) => f(a).pipe(G.map((b) => Right(b))),
207
- );
204
+ self.match({
205
+ Left: (e) => G.pure(Left(e)),
206
+ Right: (a) => f(a).pipe(G.map((b) => Right(b))),
207
+ });
208
208
  }
209
209
 
210
210
  export const traverse_: P.Traversable<EitherF>["traverse"] = (A) => (f) => (self) => self.traverse(A)(f);
@@ -288,13 +288,14 @@ export function partition<E, A>(p: Predicate<A>, /** @tsplus auto */ M: P.Monoid
288
288
  * @tsplus getter fncts.Either toMaybe
289
289
  */
290
290
  export function toMaybe<E, A>(self: Either<E, A>): Maybe<A> {
291
- return self.match(
292
- () => Nothing(),
293
- (a) => Just(a),
294
- );
291
+ return self.match({
292
+ Left: () => Nothing(),
293
+ Right: (a) => Just(a),
294
+ });
295
295
  }
296
296
 
297
+ /* eslint-disable simple-import-sort/exports */
297
298
  // codegen:start { preset: barrel, include: api/*.ts }
298
- export * from "./api/align.js";
299
299
  export * from "./api/alignWith.js";
300
+ export * from "./api/align.js";
300
301
  // codegen:end
@@ -44,7 +44,10 @@ const leftHash = Hashable.string(EitherTag.Left);
44
44
  */
45
45
  export class Left<E> extends Either<E, never> {
46
46
  readonly _tag = EitherTag.Left;
47
- constructor(readonly left: E, readonly trace?: string) {
47
+ constructor(
48
+ readonly left: E,
49
+ readonly trace?: string,
50
+ ) {
48
51
  super();
49
52
  }
50
53
 
@@ -65,7 +68,10 @@ const rightHash = Hashable.string(EitherTag.Right);
65
68
  */
66
69
  export class Right<A> extends Either<never, A> {
67
70
  readonly _tag = EitherTag.Right;
68
- constructor(readonly right: A, readonly trace?: string) {
71
+ constructor(
72
+ readonly right: A,
73
+ readonly trace?: string,
74
+ ) {
69
75
  super();
70
76
  }
71
77
 
@@ -3,14 +3,14 @@ import { EitherTag } from "./definition.js";
3
3
  /**
4
4
  * @tsplus pipeable fncts.Either match
5
5
  */
6
- export function match<E, A, B, C>(left: (e: E) => B, right: (a: A) => C) {
6
+ export function match<E, A, B, C>(cases: { Left: (e: E) => B; Right: (a: A) => C }) {
7
7
  return (self: Either<E, A>): B | C => {
8
8
  self.concrete();
9
9
  switch (self._tag) {
10
10
  case EitherTag.Left:
11
- return left(self.left);
11
+ return cases.Left(self.left);
12
12
  case EitherTag.Right:
13
- return right(self.right);
13
+ return cases.Right(self.right);
14
14
  }
15
15
  };
16
16
  }
@@ -20,18 +20,18 @@ export function getEq<E, A>(EE: P.Eq<E>, EA: P.Eq<A>): P.Eq<Either<E, A>> {
20
20
  return P.Eq({
21
21
  equals: (y) => (x) =>
22
22
  x === y ||
23
- x.match(
24
- (e1) =>
25
- y.match(
26
- (e2) => EE.equals(e2)(e1),
27
- () => false,
28
- ),
29
- (a1) =>
30
- y.match(
31
- () => false,
32
- (a2) => EA.equals(a2)(a1),
33
- ),
34
- ),
23
+ x.match({
24
+ Left: (e1) =>
25
+ y.match({
26
+ Left: (e2) => EE.equals(e2)(e1),
27
+ Right: () => false,
28
+ }),
29
+ Right: (a1) =>
30
+ y.match({
31
+ Left: () => false,
32
+ Right: (a2) => EA.equals(a2)(a1),
33
+ }),
34
+ }),
35
35
  });
36
36
  }
37
37
 
@@ -1,7 +1,8 @@
1
- // codegen:start {preset: barrel, include: Either/*.ts}
2
- export * from "./Either/api.js";
3
- export * from "./Either/constructors.js";
4
- export * from "./Either/definition.js";
5
- export * from "./Either/destructors.js";
1
+ /* eslint-disable simple-import-sort/exports */
2
+ // codegen:start { preset: barrel, include: Either/*.ts}
6
3
  export * from "./Either/instances.js";
4
+ export * from "./Either/destructors.js";
5
+ export * from "./Either/definition.js";
6
+ export * from "./Either/constructors.js";
7
+ export * from "./Either/api.js";
7
8
  // codegen:end
@@ -122,10 +122,10 @@ export function flatMap<F extends HKT, FC>(F: P.Monad<F, FC>) {
122
122
  >) =>
123
123
  F.flatMap(
124
124
  (either) =>
125
- either.match(
126
- (e) => F.pure(Either.left(e)),
127
- (a) => f(a),
128
- ) as HKT.Kind<
125
+ either.match({
126
+ Left: (e) => F.pure(Either.left(e)),
127
+ Right: (a) => f(a),
128
+ }) as HKT.Kind<
129
129
  F,
130
130
  FC,
131
131
  HKT.Intro<F, "K", K, K1>,
@@ -225,9 +225,9 @@ export function orElse<F>(F: P.Monad<HKT.F1<F>>) {
225
225
  that: Lazy<HKT.FK1<F, Either<E1, B>>>,
226
226
  ): ((self: HKT.FK1<F, Either<E, A>>) => HKT.FK1<F, Either<E | E1, A | B>>) =>
227
227
  F.flatMap((either) =>
228
- either.match(
229
- () => that(),
230
- () => F.pure(either),
231
- ),
228
+ either.match({
229
+ Left: () => that(),
230
+ Right: () => F.pure(either),
231
+ }),
232
232
  );
233
233
  }
@@ -118,11 +118,13 @@ export function deriveStruct<A extends Record<string, any>>(
118
118
  return Encoder((inp) => {
119
119
  const encoded = {};
120
120
  for (const field of Object.keys(requiredFields)) {
121
+ // @ts-expect-error
121
122
  encoded[field] = (requiredFields[field] as Encoder<unknown>).encode(inp[field]);
122
123
  }
123
124
  if (optionalFields) {
124
125
  for (const field of Object.keys(optionalFields)) {
125
126
  if (field in inp && typeof inp[field] !== undefined) {
127
+ // @ts-expect-error
126
128
  encoded[field] = (optionalFields[field] as Encoder<unknown>).encode(inp[field]);
127
129
  }
128
130
  }
@@ -140,6 +142,7 @@ export function struct<A extends Record<string, any>>(fields: {
140
142
  return Encoder((inp) => {
141
143
  const encoded = {};
142
144
  for (const field of Object.keys(fields)) {
145
+ // @ts-expect-error
143
146
  encoded[field] = fields[field]!.encode(inp[field]);
144
147
  }
145
148
  return encoded;
@@ -156,6 +159,7 @@ export function partial<A extends Record<string, any>>(fields: {
156
159
  const encoded = {};
157
160
  for (const field of Object.keys(fields)) {
158
161
  if (field in inp && typeof inp[field] !== undefined) {
162
+ // @ts-expect-error
159
163
  encoded[field] = fields[field]!.encode(inp[field]!);
160
164
  }
161
165
  }
@@ -238,6 +242,7 @@ export function deriveDictionary<A extends Record<string, any>>(
238
242
  return Encoder((inp) => {
239
243
  const encoded = {};
240
244
  for (const k of Object.keys(inp)) {
245
+ // @ts-expect-error
241
246
  encoded[k] = value.encode(inp[k]);
242
247
  }
243
248
  return encoded;
@@ -260,6 +265,7 @@ export function deriveRecord<A extends Record<string, any>>(
260
265
  return Encoder((inp) => {
261
266
  const encoded = {};
262
267
  for (const k of Object.keys(requiredKeys)) {
268
+ // @ts-expect-error
263
269
  encoded[k] = value.encode(inp[k]);
264
270
  }
265
271
  return encoded;
@@ -371,5 +377,5 @@ export function deriveTuple<A extends ReadonlyArray<unknown>>(
371
377
  * @tsplus static fncts.EncoderOps tuple
372
378
  */
373
379
  export function tuple<A extends ReadonlyArray<unknown>>(...components: { [K in keyof A]: Encoder<A[K]> }): Encoder<A> {
374
- return deriveTuple(components as [never]).unsafeCoerce()
380
+ return deriveTuple(components as [never]).unsafeCoerce();
375
381
  }
@@ -1,4 +1,5 @@
1
+ /* eslint-disable simple-import-sort/exports */
1
2
  // codegen:start { preset: barrel, include: ./Encoder/*.ts }
2
- export * from "./Encoder/api.js";
3
3
  export * from "./Encoder/definition.js";
4
+ export * from "./Encoder/api.js";
4
5
  // codegen:end
@@ -0,0 +1,5 @@
1
+ export class ServiceNotFoundError extends Error {
2
+ constructor(readonly tag: Tag<any, any>) {
3
+ super(`Service not found: ${tag.id}`);
4
+ }
5
+ }
@@ -1,6 +1,13 @@
1
+ import { ServiceNotFoundError } from "@fncts/base/data/Environment/ServiceNotFoundError";
2
+
1
3
  /**
2
4
  * @tsplus pipeable fncts.Environment add
3
5
  */
6
+ export function add<H extends S, S = H>(service: H, tag: Tag<S>): <R>(self: Environment<R>) => Environment<R | S>;
7
+ export function add<H extends S, S = H, I = S>(
8
+ service: H,
9
+ tag: Tag<S, I>,
10
+ ): <R>(self: Environment<R>) => Environment<R | I>;
4
11
  export function add<H extends S, S = H>(service: H, tag: Tag<S>) {
5
12
  return <R>(self: Environment<R>): Environment<R | S> => {
6
13
  return new Environment(self.map.set(tag, service));
@@ -12,13 +19,13 @@ export function add<H extends S, S = H>(service: H, tag: Tag<S>) {
12
19
  */
13
20
  export const empty = Environment();
14
21
 
15
- type Tags<R> = R extends infer S ? Tag<S> : never;
22
+ type Tags<R> = R extends infer S ? Tag<any, S> : never;
16
23
 
17
24
  /**
18
25
  * @tsplus pipeable fncts.Environment get
19
26
  */
20
27
  export function get<R, T extends Tags<R>>(tag: T) {
21
- return (self: Environment<R>): T extends Tag<infer S> ? S : never => {
28
+ return (self: Environment<R>): Tag.Service<T> => {
22
29
  return unsafeCoerce(self.unsafeGet(tag));
23
30
  };
24
31
  }
@@ -26,8 +33,8 @@ export function get<R, T extends Tags<R>>(tag: T) {
26
33
  /**
27
34
  * @tsplus pipeable fncts.Environment getMaybe
28
35
  */
29
- export function getMaybe<S>(tag: Tag<S>) {
30
- return <R extends Has<S>>(self: Environment<R>): Maybe<S> => {
36
+ export function getMaybe<S, I>(tag: Tag<S, I>) {
37
+ return <R>(self: Environment<R>): Maybe<S> => {
31
38
  return self.cache.get(tag) as Maybe<S>;
32
39
  };
33
40
  }
@@ -52,7 +59,7 @@ export function union<R1>(that: Environment<R1>) {
52
59
  /**
53
60
  * @tsplus pipeable fncts.Environment unsafeGet
54
61
  */
55
- export function unsafeGet<S>(tag: Tag<S>) {
62
+ export function unsafeGet<S, I>(tag: Tag<S, I>) {
56
63
  return <R>(self: Environment<R>): S => {
57
64
  return self.cache.get(tag).match(
58
65
  () => {
@@ -65,7 +72,7 @@ export function unsafeGet<S>(tag: Tag<S>) {
65
72
  service = curService as S;
66
73
  }
67
74
  }
68
- if (service === null) throw new Error("Defect in Environment: Could not find tag in map");
75
+ if (service === null) throw new ServiceNotFoundError(tag);
69
76
  else {
70
77
  self.cache = self.cache.set(tag, service);
71
78
  return service;
@@ -15,7 +15,10 @@ export class Environment<R> implements Hashable, Equatable {
15
15
  declare [EnvironmentVariance]: {
16
16
  _R: (_: never) => R;
17
17
  };
18
- constructor(readonly map: HashMap<Tag<any>, unknown>, public cache: HashMap<Tag<any>, unknown> = HashMap.empty()) {}
18
+ constructor(
19
+ readonly map: HashMap<Tag<any>, unknown>,
20
+ public cache: HashMap<Tag<any>, unknown> = HashMap.empty(),
21
+ ) {}
19
22
 
20
23
  get [Symbol.hash](): number {
21
24
  return Hashable.unknown(this.cache);
@@ -1,4 +1,6 @@
1
+ /* eslint-disable simple-import-sort/exports */
1
2
  // codegen:start { preset: barrel, include: "./Environment/*.ts" }
2
- export * from "./Environment/api.js";
3
3
  export * from "./Environment/definition.js";
4
+ export * from "./Environment/api.js";
5
+ export * from "./Environment/ServiceNotFoundError.js";
4
6
  // codegen:end
@@ -26,14 +26,20 @@ export abstract class EnvironmentPatch<In, Out> {
26
26
 
27
27
  export class AddService<Env, Service> extends EnvironmentPatch<Env, Env & Has<Service>> {
28
28
  readonly _tag = EnvironmentPatchTag.AddService;
29
- constructor(readonly service: Service, readonly tag: Tag<Service>) {
29
+ constructor(
30
+ readonly service: Service,
31
+ readonly tag: Tag<Service>,
32
+ ) {
30
33
  super();
31
34
  }
32
35
  }
33
36
 
34
37
  export class Combine<In, Out, Out2> extends EnvironmentPatch<In, Out2> {
35
38
  readonly _tag = EnvironmentPatchTag.Combine;
36
- constructor(readonly first: EnvironmentPatch<In, Out>, readonly second: EnvironmentPatch<Out, Out2>) {
39
+ constructor(
40
+ readonly first: EnvironmentPatch<In, Out>,
41
+ readonly second: EnvironmentPatch<Out, Out2>,
42
+ ) {
37
43
  super();
38
44
  }
39
45
  }
@@ -51,7 +57,10 @@ export class RemoveService<Env, Service> extends EnvironmentPatch<Env & Has<Serv
51
57
 
52
58
  export class UpdateService<Env, Service> extends EnvironmentPatch<Env & Has<Service>, Env & Has<Service>> {
53
59
  readonly _tag = EnvironmentPatchTag.UpdateService;
54
- constructor(readonly update: (_: Service) => Service, readonly tag: Tag<Service>) {
60
+ constructor(
61
+ readonly update: (_: Service) => Service,
62
+ readonly tag: Tag<Service>,
63
+ ) {
55
64
  super();
56
65
  }
57
66
  }
@@ -43,6 +43,7 @@ export function deriveStruct<A extends Record<string, any>>(
43
43
  return Eq({
44
44
  equals: (y) => (x) => {
45
45
  for (const field in requiredFields) {
46
+ // @ts-expect-error
46
47
  if (!(requiredFields[field] as Eq<any>).equals(y[field])(x[field])) {
47
48
  return false;
48
49
  }
@@ -1,5 +1,6 @@
1
+ /* eslint-disable simple-import-sort/exports */
1
2
  // codegen:start { preset: barrel, include: Equatable/*.ts }
2
- export * from "./Equatable/api.js";
3
- export * from "./Equatable/definition.js";
4
3
  export * from "./Equatable/fast-equals.js";
4
+ export * from "./Equatable/definition.js";
5
+ export * from "./Equatable/api.js";
5
6
  // codegen:end
@@ -18,7 +18,7 @@ export function fail<E = never, A = never>(e: E, __tsplusTrace?: string): Exit<E
18
18
  * @tsplus static fncts.ExitOps fromEither
19
19
  */
20
20
  export function fromEither<E = never, A = never>(e: Either<E, A>): Exit<E, A> {
21
- return e.match(fail, succeed);
21
+ return e.match({ Left: fail, Right: succeed });
22
22
  }
23
23
 
24
24
  /**
@@ -41,7 +41,10 @@ export class Failure<E> {
41
41
  };
42
42
  readonly [IOTypeId]: IOTypeId = IOTypeId;
43
43
  readonly _tag = ExitTag.Failure;
44
- constructor(readonly cause: Cause<E>, readonly trace?: string) {}
44
+ constructor(
45
+ readonly cause: Cause<E>,
46
+ readonly trace?: string,
47
+ ) {}
45
48
 
46
49
  get [Symbol.hash](): number {
47
50
  return Hashable.combine(_failureHash, Hashable.unknown(this.cause));
@@ -63,7 +66,10 @@ export class Success<A> implements P.Hashable, P.Equatable {
63
66
  };
64
67
  readonly [IOTypeId]: IOTypeId = IOTypeId;
65
68
  readonly _tag = ExitTag.Success;
66
- constructor(readonly value: A, readonly trace?: string) {}
69
+ constructor(
70
+ readonly value: A,
71
+ readonly trace?: string,
72
+ ) {}
67
73
 
68
74
  get [Symbol.hash](): number {
69
75
  return Hashable.combine(_successHash, Hashable.unknown(this.value));
package/_src/data/Exit.ts CHANGED
@@ -1,5 +1,6 @@
1
+ /* eslint-disable simple-import-sort/exports */
1
2
  // codegen:start { preset: barrel, include: Exit/*.ts }
2
- export * from "./Exit/api.js";
3
- export * from "./Exit/constructors.js";
4
3
  export * from "./Exit/definition.js";
4
+ export * from "./Exit/constructors.js";
5
+ export * from "./Exit/api.js";
5
6
  // codegen:end
@@ -19,7 +19,11 @@ const _hashRuntime = Hashable.string("fncts.FiberId.Runtime");
19
19
  export class Runtime implements Hashable, Equatable {
20
20
  readonly [FiberIdTypeId]: FiberIdTypeId = FiberIdTypeId;
21
21
  readonly _tag = "Runtime";
22
- constructor(readonly id: number, readonly startTime: number, readonly location?: string) {}
22
+ constructor(
23
+ readonly id: number,
24
+ readonly startTime: number,
25
+ readonly location?: string,
26
+ ) {}
23
27
  get [Symbol.hash]() {
24
28
  return Hashable.combine(Hashable.combine(_hashRuntime, Hashable.number(this.id)), Hashable.unknown(this.location));
25
29
  }
@@ -1,5 +1,6 @@
1
+ /* eslint-disable simple-import-sort/exports */
1
2
  // codegen:start { preset: barrel, include: FiberId/*.ts }
2
- export * from "./FiberId/api.js";
3
- export * from "./FiberId/constructors.js";
4
3
  export * from "./FiberId/definition.js";
4
+ export * from "./FiberId/constructors.js";
5
+ export * from "./FiberId/api.js";
5
6
  // codegen:end
@@ -0,0 +1,17 @@
1
+ const globalStoreId = Symbol.for("fncts.GlobalStore");
2
+
3
+ if (!(globalStoreId in globalThis)) {
4
+ (globalThis as any)[globalStoreId] = new Map();
5
+ }
6
+
7
+ const globalStore = (globalThis as any)[globalStoreId] as Map<unknown, any>;
8
+
9
+ /**
10
+ * @since 1.0.0
11
+ */
12
+ export const globalValue = <A>(id: unknown, compute: () => A): A => {
13
+ if (!globalStore.has(id)) {
14
+ globalStore.set(id, compute());
15
+ }
16
+ return globalStore.get(id)!;
17
+ };