@fncts/base 0.0.27 → 0.0.29

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 (854) hide show
  1. package/_cjs/collection/Iterable/api/traverseConc.cjs.map +1 -1
  2. package/_cjs/collection/Iterable/api.cjs +3 -2
  3. package/_cjs/collection/Iterable/api.cjs.map +1 -1
  4. package/_cjs/collection/Iterable/constructors.cjs.map +1 -1
  5. package/_cjs/collection/Iterable/definition.cjs.map +1 -1
  6. package/_cjs/collection/Iterable.cjs.map +1 -1
  7. package/_cjs/collection/compat/Array/api.cjs.map +1 -1
  8. package/_cjs/collection/compat/Array/definition.cjs.map +1 -1
  9. package/_cjs/collection/compat/Array.cjs.map +1 -1
  10. package/_cjs/collection/compat/ArrayLike/api.cjs.map +1 -1
  11. package/_cjs/collection/compat/ArrayLike/definition.cjs.map +1 -1
  12. package/_cjs/collection/compat.cjs.map +1 -1
  13. package/_cjs/collection/immutable/Conc/api/empty.cjs.map +1 -1
  14. package/_cjs/collection/immutable/Conc/api/makeBy.cjs.map +1 -1
  15. package/_cjs/collection/immutable/Conc/api/replicate.cjs.map +1 -1
  16. package/_cjs/collection/immutable/Conc/api.cjs +25 -12
  17. package/_cjs/collection/immutable/Conc/api.cjs.map +1 -1
  18. package/_cjs/collection/immutable/Conc/constructors.cjs.map +1 -1
  19. package/_cjs/collection/immutable/Conc/definition.cjs.map +1 -1
  20. package/_cjs/collection/immutable/Conc.cjs.map +1 -1
  21. package/_cjs/collection/immutable/Dictionary/api.cjs.map +1 -1
  22. package/_cjs/collection/immutable/Dictionary/definition.cjs.map +1 -1
  23. package/_cjs/collection/immutable/Dictionary.cjs.map +1 -1
  24. package/_cjs/collection/immutable/HashMap/api.cjs +9 -8
  25. package/_cjs/collection/immutable/HashMap/api.cjs.map +1 -1
  26. package/_cjs/collection/immutable/HashMap/definition.cjs +3 -2
  27. package/_cjs/collection/immutable/HashMap/definition.cjs.map +1 -1
  28. package/_cjs/collection/immutable/HashMap/internal.cjs +7 -6
  29. package/_cjs/collection/immutable/HashMap/internal.cjs.map +1 -1
  30. package/_cjs/collection/immutable/HashMap.cjs.map +1 -1
  31. package/_cjs/collection/immutable/HashSet/api.cjs +7 -6
  32. package/_cjs/collection/immutable/HashSet/api.cjs.map +1 -1
  33. package/_cjs/collection/immutable/HashSet/definition.cjs.map +1 -1
  34. package/_cjs/collection/immutable/HashSet.cjs.map +1 -1
  35. package/_cjs/collection/immutable/ImmutableArray/api/chunksOf.cjs.map +1 -1
  36. package/_cjs/collection/immutable/ImmutableArray/api/slice.cjs.map +1 -1
  37. package/_cjs/collection/immutable/ImmutableArray/api/splitAt.cjs.map +1 -1
  38. package/_cjs/collection/immutable/ImmutableArray/api/splitWhere.cjs.map +1 -1
  39. package/_cjs/collection/immutable/ImmutableArray/api.cjs +18 -17
  40. package/_cjs/collection/immutable/ImmutableArray/api.cjs.map +1 -1
  41. package/_cjs/collection/immutable/ImmutableArray/constructors.cjs.map +1 -1
  42. package/_cjs/collection/immutable/ImmutableArray/definition.cjs.map +1 -1
  43. package/_cjs/collection/immutable/ImmutableArray/instances.cjs.map +1 -1
  44. package/_cjs/collection/immutable/ImmutableArray.cjs.map +1 -1
  45. package/_cjs/collection/immutable/ImmutableNonEmptyArray/api.cjs.map +1 -1
  46. package/_cjs/collection/immutable/ImmutableNonEmptyArray/constructors.cjs +2 -1
  47. package/_cjs/collection/immutable/ImmutableNonEmptyArray/constructors.cjs.map +1 -1
  48. package/_cjs/collection/immutable/ImmutableNonEmptyArray/definition.cjs.map +1 -1
  49. package/_cjs/collection/immutable/ImmutableNonEmptyArray/destructors.cjs.map +1 -1
  50. package/_cjs/collection/immutable/ImmutableNonEmptyArray/instances.cjs.map +1 -1
  51. package/_cjs/collection/immutable/ImmutableNonEmptyArray.cjs.map +1 -1
  52. package/_cjs/collection/immutable/List/api/foldLeft.cjs.map +1 -1
  53. package/_cjs/collection/immutable/List/api/unsafeTail.cjs.map +1 -1
  54. package/_cjs/collection/immutable/List/api.cjs +3 -2
  55. package/_cjs/collection/immutable/List/api.cjs.map +1 -1
  56. package/_cjs/collection/immutable/List/constructors.cjs.map +1 -1
  57. package/_cjs/collection/immutable/List/definition.cjs.map +1 -1
  58. package/_cjs/collection/immutable/List.cjs.map +1 -1
  59. package/_cjs/collection/immutable/Queue/api.cjs +7 -6
  60. package/_cjs/collection/immutable/Queue/api.cjs.map +1 -1
  61. package/_cjs/collection/immutable/Queue/constructors.cjs.map +1 -1
  62. package/_cjs/collection/immutable/Queue/definition.cjs.map +1 -1
  63. package/_cjs/collection/immutable/Queue/guards.cjs.map +1 -1
  64. package/_cjs/collection/immutable/Queue.cjs.map +1 -1
  65. package/_cjs/collection/immutable/RoseTree/api.cjs.map +1 -1
  66. package/_cjs/collection/immutable/RoseTree/definition.cjs.map +1 -1
  67. package/_cjs/collection/immutable/RoseTree.cjs.map +1 -1
  68. package/_cjs/collection/immutable/SortedMap/api.cjs +23 -22
  69. package/_cjs/collection/immutable/SortedMap/api.cjs.map +1 -1
  70. package/_cjs/collection/immutable/SortedMap/definition.cjs.map +1 -1
  71. package/_cjs/collection/immutable/SortedMap/internal.cjs.map +1 -1
  72. package/_cjs/collection/immutable/SortedMap/iterator.cjs +7 -6
  73. package/_cjs/collection/immutable/SortedMap/iterator.cjs.map +1 -1
  74. package/_cjs/collection/immutable/SortedMap/node.cjs.map +1 -1
  75. package/_cjs/collection/immutable/SortedMap.cjs.map +1 -1
  76. package/_cjs/collection/immutable/Vector/api.cjs.map +1 -1
  77. package/_cjs/collection/immutable/Vector/definition.cjs.map +1 -1
  78. package/_cjs/collection/immutable/Vector/internal.cjs.map +1 -1
  79. package/_cjs/collection/immutable/Vector.cjs.map +1 -1
  80. package/_cjs/collection/immutable.cjs.map +1 -1
  81. package/_cjs/collection/mutable/HashMap.cjs +7 -5
  82. package/_cjs/collection/mutable/HashMap.cjs.map +1 -1
  83. package/_cjs/collection/mutable/HashSet.cjs.map +1 -1
  84. package/_cjs/collection/mutable/ListBuffer.cjs.map +1 -1
  85. package/_cjs/collection/mutable/internal.cjs.map +1 -1
  86. package/_cjs/collection/mutable.cjs.map +1 -1
  87. package/_cjs/collection/weak/IterableWeakMap.cjs.map +1 -1
  88. package/_cjs/collection/weak/IterableWeakSet.cjs.map +1 -1
  89. package/_cjs/collection/weak.cjs.map +1 -1
  90. package/_cjs/collection.cjs.map +1 -1
  91. package/_cjs/control/CompletablePromise.cjs +21 -0
  92. package/_cjs/control/CompletablePromise.cjs.map +1 -0
  93. package/_cjs/control/Eval/api/sequenceArray.cjs.map +1 -1
  94. package/_cjs/control/Eval/api.cjs.map +1 -1
  95. package/_cjs/control/Eval/constructors.cjs.map +1 -1
  96. package/_cjs/control/Eval/definition.cjs.map +1 -1
  97. package/_cjs/control/Eval/instance.cjs.map +1 -1
  98. package/_cjs/control/Eval/run.cjs.map +1 -1
  99. package/_cjs/control/Eval.cjs.map +1 -1
  100. package/_cjs/control/LazyValue.cjs.map +1 -1
  101. package/_cjs/control/Z/api.cjs +1 -1
  102. package/_cjs/control/Z/api.cjs.map +1 -1
  103. package/_cjs/control/Z/definition.cjs.map +1 -1
  104. package/_cjs/control/Z/instances.cjs.map +1 -1
  105. package/_cjs/control/Z/runtime.cjs +2 -2
  106. package/_cjs/control/Z/runtime.cjs.map +1 -1
  107. package/_cjs/control/Z.cjs.map +1 -1
  108. package/_cjs/control.cjs.map +1 -1
  109. package/_cjs/data/Branded/definition.cjs.map +1 -1
  110. package/_cjs/data/Branded.cjs.map +1 -1
  111. package/_cjs/data/Byte.cjs.map +1 -1
  112. package/_cjs/data/CaseClass.cjs.map +1 -1
  113. package/_cjs/data/Cause/api/fold.cjs +10 -9
  114. package/_cjs/data/Cause/api/fold.cjs.map +1 -1
  115. package/_cjs/data/Cause/api/isEmpty.cjs +2 -2
  116. package/_cjs/data/Cause/api/isEmpty.cjs.map +1 -1
  117. package/_cjs/data/Cause/api/linearize.cjs +1 -1
  118. package/_cjs/data/Cause/api/linearize.cjs.map +1 -1
  119. package/_cjs/data/Cause/api/prettyPrint.cjs.map +1 -1
  120. package/_cjs/data/Cause/api/unified.cjs +2 -2
  121. package/_cjs/data/Cause/api/unified.cjs.map +1 -1
  122. package/_cjs/data/Cause/api.cjs +117 -116
  123. package/_cjs/data/Cause/api.cjs.map +1 -1
  124. package/_cjs/data/Cause/definition.cjs +32 -32
  125. package/_cjs/data/Cause/definition.cjs.map +1 -1
  126. package/_cjs/data/Cause.cjs.map +1 -1
  127. package/_cjs/data/Const/api.cjs.map +1 -1
  128. package/_cjs/data/Const/definition.cjs.map +1 -1
  129. package/_cjs/data/Const/instances.cjs.map +1 -1
  130. package/_cjs/data/Const.cjs.map +1 -1
  131. package/_cjs/data/Datum/api.cjs.map +1 -1
  132. package/_cjs/data/Datum/definition.cjs.map +1 -1
  133. package/_cjs/data/Datum/instances.cjs.map +1 -1
  134. package/_cjs/data/DatumEither/api.cjs +5 -4
  135. package/_cjs/data/DatumEither/api.cjs.map +1 -1
  136. package/_cjs/data/DatumEither/definition.cjs.map +1 -1
  137. package/_cjs/data/DatumEither.cjs.map +1 -1
  138. package/_cjs/data/DecodeError/definition.cjs.map +1 -1
  139. package/_cjs/data/DecodeError/instances.cjs.map +1 -1
  140. package/_cjs/data/DecodeError.cjs.map +1 -1
  141. package/_cjs/data/Decoder/api.cjs +3 -2
  142. package/_cjs/data/Decoder/api.cjs.map +1 -1
  143. package/_cjs/data/Decoder/definition.cjs.map +1 -1
  144. package/_cjs/data/Decoder.cjs.map +1 -1
  145. package/_cjs/data/Duration/api.cjs +10 -0
  146. package/_cjs/data/Duration/api.cjs.map +1 -1
  147. package/_cjs/data/Duration/definition.cjs.map +1 -1
  148. package/_cjs/data/Duration.cjs.map +1 -1
  149. package/_cjs/data/Either/api/align.cjs.map +1 -1
  150. package/_cjs/data/Either/api/alignWith.cjs +2 -1
  151. package/_cjs/data/Either/api/alignWith.cjs.map +1 -1
  152. package/_cjs/data/Either/api.cjs +17 -16
  153. package/_cjs/data/Either/api.cjs.map +1 -1
  154. package/_cjs/data/Either/constructors.cjs +10 -9
  155. package/_cjs/data/Either/constructors.cjs.map +1 -1
  156. package/_cjs/data/Either/definition.cjs +16 -12
  157. package/_cjs/data/Either/definition.cjs.map +1 -1
  158. package/_cjs/data/Either/destructors.cjs.map +1 -1
  159. package/_cjs/data/Either/instances.cjs +7 -6
  160. package/_cjs/data/Either/instances.cjs.map +1 -1
  161. package/_cjs/data/Either.cjs.map +1 -1
  162. package/_cjs/data/EitherT/api.cjs +4 -3
  163. package/_cjs/data/EitherT/api.cjs.map +1 -1
  164. package/_cjs/data/EitherT/definition.cjs.map +1 -1
  165. package/_cjs/data/Encoder/api.cjs +1 -1
  166. package/_cjs/data/Encoder/api.cjs.map +1 -1
  167. package/_cjs/data/Encoder/definition.cjs.map +1 -1
  168. package/_cjs/data/Encoder.cjs.map +1 -1
  169. package/_cjs/data/Environment/api.cjs.map +1 -1
  170. package/_cjs/data/Environment/definition.cjs.map +1 -1
  171. package/_cjs/data/Environment.cjs.map +1 -1
  172. package/_cjs/data/EnvironmentPatch.cjs.map +1 -1
  173. package/_cjs/data/Eq/api.cjs +20 -0
  174. package/_cjs/data/Eq/api.cjs.map +1 -0
  175. package/_cjs/data/Eq/definition.cjs.map +1 -1
  176. package/_cjs/data/Eq/derivations.cjs.map +1 -1
  177. package/_cjs/data/Eq.cjs +11 -0
  178. package/_cjs/data/Eq.cjs.map +1 -1
  179. package/_cjs/data/Equatable/api.cjs +27 -8
  180. package/_cjs/data/Equatable/api.cjs.map +1 -1
  181. package/_cjs/data/Equatable/definition.cjs +1 -1
  182. package/_cjs/data/Equatable/definition.cjs.map +1 -1
  183. package/_cjs/data/Equatable/fast-equals.cjs.map +1 -1
  184. package/_cjs/data/Equatable.cjs.map +1 -1
  185. package/_cjs/data/ExecutionStrategy.cjs.map +1 -1
  186. package/_cjs/data/Exit/api.cjs +40 -14
  187. package/_cjs/data/Exit/api.cjs.map +1 -1
  188. package/_cjs/data/Exit/constructors.cjs +13 -12
  189. package/_cjs/data/Exit/constructors.cjs.map +1 -1
  190. package/_cjs/data/Exit/definition.cjs +11 -6
  191. package/_cjs/data/Exit/definition.cjs.map +1 -1
  192. package/_cjs/data/Exit.cjs.map +1 -1
  193. package/_cjs/data/FiberId/api.cjs.map +1 -1
  194. package/_cjs/data/FiberId/constructors.cjs.map +1 -1
  195. package/_cjs/data/FiberId/definition.cjs.map +1 -1
  196. package/_cjs/data/FiberId.cjs.map +1 -1
  197. package/_cjs/data/Guard/api.cjs +1 -1
  198. package/_cjs/data/Guard/api.cjs.map +1 -1
  199. package/_cjs/data/Guard/definition.cjs.map +1 -1
  200. package/_cjs/data/Guard.cjs.map +1 -1
  201. package/_cjs/data/Hash.cjs.map +1 -1
  202. package/_cjs/data/HashEq.cjs.map +1 -1
  203. package/_cjs/data/Hashable/definition.cjs.map +1 -1
  204. package/_cjs/data/Hashable/hash.cjs.map +1 -1
  205. package/_cjs/data/Hashable.cjs.map +1 -1
  206. package/_cjs/data/Identity/api.cjs.map +1 -1
  207. package/_cjs/data/Identity/definition.cjs.map +1 -1
  208. package/_cjs/data/Identity/instances.cjs.map +1 -1
  209. package/_cjs/data/Identity.cjs.map +1 -1
  210. package/_cjs/data/Interval.cjs +2 -1
  211. package/_cjs/data/Interval.cjs.map +1 -1
  212. package/_cjs/data/Intervals.cjs.map +1 -1
  213. package/_cjs/data/Maybe/api.cjs +8 -7
  214. package/_cjs/data/Maybe/api.cjs.map +1 -1
  215. package/_cjs/data/Maybe/constructors.cjs +11 -11
  216. package/_cjs/data/Maybe/constructors.cjs.map +1 -1
  217. package/_cjs/data/Maybe/definition.cjs +10 -5
  218. package/_cjs/data/Maybe/definition.cjs.map +1 -1
  219. package/_cjs/data/Maybe/destructors.cjs.map +1 -1
  220. package/_cjs/data/Maybe/instances.cjs +2 -1
  221. package/_cjs/data/Maybe/instances.cjs.map +1 -1
  222. package/_cjs/data/Maybe.cjs.map +1 -1
  223. package/_cjs/data/Newtype.cjs.map +1 -1
  224. package/_cjs/data/Ord/api/contramap.cjs.map +1 -1
  225. package/_cjs/data/Ord/api/max.cjs.map +1 -1
  226. package/_cjs/data/Ord/api/min.cjs.map +1 -1
  227. package/_cjs/data/Ord/api.cjs.map +1 -1
  228. package/_cjs/data/Ord/definition.cjs.map +1 -1
  229. package/_cjs/data/Ord/instances.cjs.map +1 -1
  230. package/_cjs/data/Ord.cjs.map +1 -1
  231. package/_cjs/data/Ordering.cjs.map +1 -1
  232. package/_cjs/data/Predicate/api.cjs.map +1 -1
  233. package/_cjs/data/Predicate/definition.cjs.map +1 -1
  234. package/_cjs/data/Predicate.cjs.map +1 -1
  235. package/_cjs/data/Refinement/api.cjs.map +1 -1
  236. package/_cjs/data/Refinement/definition.cjs.map +1 -1
  237. package/_cjs/data/Refinement.cjs.map +1 -1
  238. package/_cjs/data/Showable/definition.cjs.map +1 -1
  239. package/_cjs/data/Showable/show.cjs.map +1 -1
  240. package/_cjs/data/Showable/styles.cjs.map +1 -1
  241. package/_cjs/data/Showable/util.cjs.map +1 -1
  242. package/_cjs/data/Showable.cjs.map +1 -1
  243. package/_cjs/data/Struct/api.cjs.map +1 -1
  244. package/_cjs/data/Struct/definition.cjs.map +1 -1
  245. package/_cjs/data/Struct.cjs.map +1 -1
  246. package/_cjs/data/Tag/constructors.cjs.map +1 -1
  247. package/_cjs/data/Tag/definition.cjs.map +1 -1
  248. package/_cjs/data/Tag.cjs.map +1 -1
  249. package/_cjs/data/These/api.cjs.map +1 -1
  250. package/_cjs/data/These/constructors.cjs.map +1 -1
  251. package/_cjs/data/These/definition.cjs.map +1 -1
  252. package/_cjs/data/These/destructors.cjs +3 -2
  253. package/_cjs/data/These/destructors.cjs.map +1 -1
  254. package/_cjs/data/These/instances.cjs.map +1 -1
  255. package/_cjs/data/These.cjs.map +1 -1
  256. package/_cjs/data/Trace/api.cjs.map +1 -1
  257. package/_cjs/data/Trace/constructors.cjs.map +1 -1
  258. package/_cjs/data/Trace/definition.cjs.map +1 -1
  259. package/_cjs/data/Trace.cjs.map +1 -1
  260. package/_cjs/data/TraceElement/definition.cjs.map +1 -1
  261. package/_cjs/data/TraceElement.cjs.map +1 -1
  262. package/_cjs/data/Zipped.cjs.map +1 -1
  263. package/_cjs/data/bigint/definition.cjs.map +1 -1
  264. package/_cjs/data/bigint/instances.cjs.map +1 -1
  265. package/_cjs/data/bigint.cjs.map +1 -1
  266. package/_cjs/data/boolean/definition.cjs.map +1 -1
  267. package/_cjs/data/boolean/instances.cjs.map +1 -1
  268. package/_cjs/data/boolean.cjs.map +1 -1
  269. package/_cjs/data/exceptions/ArrayIndexOutOfBoundsError.cjs.map +1 -1
  270. package/_cjs/data/exceptions/IOError.cjs +25 -0
  271. package/_cjs/data/exceptions/IOError.cjs.map +1 -0
  272. package/_cjs/data/exceptions/IllegalArgumentError.cjs.map +1 -1
  273. package/_cjs/data/exceptions/IllegalStateError.cjs.map +1 -1
  274. package/_cjs/data/exceptions/IndexOutOfBoundsError.cjs.map +1 -1
  275. package/_cjs/data/exceptions/InterruptedException.cjs.map +1 -1
  276. package/_cjs/data/exceptions/InvalidCapacityError.cjs.map +1 -1
  277. package/_cjs/data/exceptions/NoSuchElementError.cjs.map +1 -1
  278. package/_cjs/data/exceptions/RuntimeError.cjs.map +1 -1
  279. package/_cjs/data/exceptions.cjs +11 -0
  280. package/_cjs/data/exceptions.cjs.map +1 -1
  281. package/_cjs/data/function/api.cjs.map +1 -1
  282. package/_cjs/data/function/definition.cjs.map +1 -1
  283. package/_cjs/data/function/pipe.cjs.map +1 -1
  284. package/_cjs/data/function.cjs.map +1 -1
  285. package/_cjs/data/number/api.cjs.map +1 -1
  286. package/_cjs/data/number/definition.cjs.map +1 -1
  287. package/_cjs/data/number/instances.cjs.map +1 -1
  288. package/_cjs/data/number.cjs.map +1 -1
  289. package/_cjs/data/object/definition.cjs.map +1 -1
  290. package/_cjs/data/object/instances.cjs.map +1 -1
  291. package/_cjs/data/object.cjs.map +1 -1
  292. package/_cjs/data/string/api.cjs.map +1 -1
  293. package/_cjs/data/string/definition.cjs.map +1 -1
  294. package/_cjs/data/string/instances.cjs.map +1 -1
  295. package/_cjs/data/string.cjs.map +1 -1
  296. package/_cjs/data.cjs.map +1 -1
  297. package/_cjs/global/api.cjs.map +1 -1
  298. package/_cjs/global.cjs.map +1 -1
  299. package/_cjs/index.cjs.map +1 -1
  300. package/_cjs/internal/AtomicBoolean.cjs.map +1 -1
  301. package/_cjs/internal/AtomicNumber.cjs.map +1 -1
  302. package/_cjs/internal/AtomicReference.cjs.map +1 -1
  303. package/_cjs/internal/Stack.cjs.map +1 -1
  304. package/_cjs/json/EitherJson.cjs.map +1 -1
  305. package/_cjs/json/MaybeJson.cjs.map +1 -1
  306. package/_cjs/json/TheseJson.cjs.map +1 -1
  307. package/_cjs/json.cjs.map +1 -1
  308. package/_cjs/optics/At/api.cjs.map +1 -1
  309. package/_cjs/optics/At/definition.cjs.map +1 -1
  310. package/_cjs/optics/At.cjs.map +1 -1
  311. package/_cjs/optics/Fold/definition.cjs.map +1 -1
  312. package/_cjs/optics/Fold.cjs.map +1 -1
  313. package/_cjs/optics/Getter/definition.cjs.map +1 -1
  314. package/_cjs/optics/Getter.cjs.map +1 -1
  315. package/_cjs/optics/Index/api.cjs.map +1 -1
  316. package/_cjs/optics/Index/definition.cjs.map +1 -1
  317. package/_cjs/optics/Index.cjs.map +1 -1
  318. package/_cjs/optics/Iso/api.cjs.map +1 -1
  319. package/_cjs/optics/Iso/definition.cjs.map +1 -1
  320. package/_cjs/optics/Iso.cjs.map +1 -1
  321. package/_cjs/optics/Lens/api.cjs.map +1 -1
  322. package/_cjs/optics/Lens/definition.cjs +2 -1
  323. package/_cjs/optics/Lens/definition.cjs.map +1 -1
  324. package/_cjs/optics/Lens.cjs.map +1 -1
  325. package/_cjs/optics/Optional/api/compose.cjs.map +1 -1
  326. package/_cjs/optics/Optional/definition.cjs.map +1 -1
  327. package/_cjs/optics/Optional.cjs.map +1 -1
  328. package/_cjs/optics/Prism/api/compose.cjs.map +1 -1
  329. package/_cjs/optics/Prism/api/fromNullable.cjs.map +1 -1
  330. package/_cjs/optics/Prism/api/just.cjs +2 -1
  331. package/_cjs/optics/Prism/api/just.cjs.map +1 -1
  332. package/_cjs/optics/Prism/definition.cjs.map +1 -1
  333. package/_cjs/optics/Prism.cjs.map +1 -1
  334. package/_cjs/optics/Setter/definition.cjs.map +1 -1
  335. package/_cjs/optics/Setter.cjs.map +1 -1
  336. package/_cjs/optics/Traversal/api/compose.cjs.map +1 -1
  337. package/_cjs/optics/Traversal/api/fromTraversable.cjs.map +1 -1
  338. package/_cjs/optics/Traversal/definition.cjs.map +1 -1
  339. package/_cjs/optics/Traversal.cjs.map +1 -1
  340. package/_cjs/optics.cjs.map +1 -1
  341. package/_cjs/typeclass/Align.cjs.map +1 -1
  342. package/_cjs/typeclass/Alt.cjs.map +1 -1
  343. package/_cjs/typeclass/Alternative.cjs.map +1 -1
  344. package/_cjs/typeclass/Applicative.cjs.map +1 -1
  345. package/_cjs/typeclass/ApplicativeExcept.cjs +2 -1
  346. package/_cjs/typeclass/ApplicativeExcept.cjs.map +1 -1
  347. package/_cjs/typeclass/Apply.cjs.map +1 -1
  348. package/_cjs/typeclass/Chain.cjs.map +1 -1
  349. package/_cjs/typeclass/Closure.cjs.map +1 -1
  350. package/_cjs/typeclass/Fail.cjs.map +1 -1
  351. package/_cjs/typeclass/Filterable.cjs.map +1 -1
  352. package/_cjs/typeclass/FilterableWithIndex.cjs.map +1 -1
  353. package/_cjs/typeclass/Foldable.cjs.map +1 -1
  354. package/_cjs/typeclass/FoldableWithIndex.cjs.map +1 -1
  355. package/_cjs/typeclass/Functor.cjs.map +1 -1
  356. package/_cjs/typeclass/FunctorWithIndex.cjs.map +1 -1
  357. package/_cjs/typeclass/Has.cjs.map +1 -1
  358. package/_cjs/typeclass/Monad.cjs.map +1 -1
  359. package/_cjs/typeclass/MonadExcept.cjs.map +1 -1
  360. package/_cjs/typeclass/Monoid.cjs.map +1 -1
  361. package/_cjs/typeclass/Nil.cjs.map +1 -1
  362. package/_cjs/typeclass/Pointed.cjs.map +1 -1
  363. package/_cjs/typeclass/Semialign.cjs +2 -1
  364. package/_cjs/typeclass/Semialign.cjs.map +1 -1
  365. package/_cjs/typeclass/Semigroup/api.cjs.map +1 -1
  366. package/_cjs/typeclass/Semigroup/definition.cjs.map +1 -1
  367. package/_cjs/typeclass/Semigroup/derivations.cjs.map +1 -1
  368. package/_cjs/typeclass/Semigroup.cjs.map +1 -1
  369. package/_cjs/typeclass/Semimonoidal.cjs.map +1 -1
  370. package/_cjs/typeclass/Traversable.cjs.map +1 -1
  371. package/_cjs/typeclass/TraversableWithIndex.cjs.map +1 -1
  372. package/_cjs/typeclass/Witherable.cjs +2 -1
  373. package/_cjs/typeclass/Witherable.cjs.map +1 -1
  374. package/_cjs/typeclass/WitherableWithIndex.cjs +2 -1
  375. package/_cjs/typeclass/WitherableWithIndex.cjs.map +1 -1
  376. package/_cjs/typeclass/builtin/Symbol.cjs.map +1 -1
  377. package/_cjs/typeclass/builtin.cjs.map +1 -1
  378. package/_cjs/typeclass.cjs.map +1 -1
  379. package/_cjs/types/extractions.cjs.map +1 -1
  380. package/_cjs/types/utility.cjs.map +1 -1
  381. package/_cjs/types.cjs +0 -11
  382. package/_cjs/types.cjs.map +1 -1
  383. package/_cjs/util/AnsiFormat.cjs.map +1 -1
  384. package/_cjs/util/PCGRandom.cjs.map +1 -1
  385. package/_cjs/util/assert.cjs.map +1 -1
  386. package/_cjs/util/pattern.cjs.map +1 -1
  387. package/_cjs/util/predicates.cjs.map +1 -1
  388. package/_cjs/util/rand/Random.cjs.map +1 -1
  389. package/_cjs/util/rand/distribution/Distribution.cjs.map +1 -1
  390. package/_cjs/util/rand/distribution/UniformArrayIntDistribution.cjs.map +1 -1
  391. package/_cjs/util/rand/distribution/UniformBigIntDistribution.cjs.map +1 -1
  392. package/_cjs/util/rand/distribution/UniformIntDistribution.cjs.map +1 -1
  393. package/_cjs/util/rand/distribution/internals/ArrayInt.cjs.map +1 -1
  394. package/_cjs/util/rand/distribution/internals/UniformArrayIntDistributionInternal.cjs.map +1 -1
  395. package/_cjs/util/rand/distribution/internals/UniformIntDistributionInternal.cjs.map +1 -1
  396. package/_cjs/util/rand/generator/MersenneTwister.cjs.map +1 -1
  397. package/_cjs/util/rand/generator/RandomGenerator.cjs.map +1 -1
  398. package/_cjs/util/rand.cjs.map +1 -1
  399. package/_cjs/util.cjs.map +1 -1
  400. package/_mjs/collection/Iterable/api/traverseConc.mjs.map +1 -1
  401. package/_mjs/collection/Iterable/api.mjs +3 -2
  402. package/_mjs/collection/Iterable/api.mjs.map +1 -1
  403. package/_mjs/collection/Iterable/constructors.mjs.map +1 -1
  404. package/_mjs/collection/Iterable/definition.mjs.map +1 -1
  405. package/_mjs/collection/Iterable.mjs.map +1 -1
  406. package/_mjs/collection/compat/Array/api.mjs.map +1 -1
  407. package/_mjs/collection/compat/Array/definition.mjs.map +1 -1
  408. package/_mjs/collection/compat/Array.mjs.map +1 -1
  409. package/_mjs/collection/compat/ArrayLike/api.mjs.map +1 -1
  410. package/_mjs/collection/compat/ArrayLike/definition.mjs.map +1 -1
  411. package/_mjs/collection/compat.mjs.map +1 -1
  412. package/_mjs/collection/immutable/Conc/api/empty.mjs.map +1 -1
  413. package/_mjs/collection/immutable/Conc/api/makeBy.mjs.map +1 -1
  414. package/_mjs/collection/immutable/Conc/api/replicate.mjs.map +1 -1
  415. package/_mjs/collection/immutable/Conc/api.mjs +24 -12
  416. package/_mjs/collection/immutable/Conc/api.mjs.map +1 -1
  417. package/_mjs/collection/immutable/Conc/constructors.mjs.map +1 -1
  418. package/_mjs/collection/immutable/Conc/definition.mjs.map +1 -1
  419. package/_mjs/collection/immutable/Conc.mjs.map +1 -1
  420. package/_mjs/collection/immutable/Dictionary/api.mjs.map +1 -1
  421. package/_mjs/collection/immutable/Dictionary/definition.mjs.map +1 -1
  422. package/_mjs/collection/immutable/Dictionary.mjs.map +1 -1
  423. package/_mjs/collection/immutable/HashMap/api.mjs +9 -8
  424. package/_mjs/collection/immutable/HashMap/api.mjs.map +1 -1
  425. package/_mjs/collection/immutable/HashMap/definition.mjs +3 -2
  426. package/_mjs/collection/immutable/HashMap/definition.mjs.map +1 -1
  427. package/_mjs/collection/immutable/HashMap/internal.mjs +7 -6
  428. package/_mjs/collection/immutable/HashMap/internal.mjs.map +1 -1
  429. package/_mjs/collection/immutable/HashMap.mjs.map +1 -1
  430. package/_mjs/collection/immutable/HashSet/api.mjs +7 -6
  431. package/_mjs/collection/immutable/HashSet/api.mjs.map +1 -1
  432. package/_mjs/collection/immutable/HashSet/definition.mjs.map +1 -1
  433. package/_mjs/collection/immutable/HashSet.mjs.map +1 -1
  434. package/_mjs/collection/immutable/ImmutableArray/api/chunksOf.mjs.map +1 -1
  435. package/_mjs/collection/immutable/ImmutableArray/api/slice.mjs.map +1 -1
  436. package/_mjs/collection/immutable/ImmutableArray/api/splitAt.mjs.map +1 -1
  437. package/_mjs/collection/immutable/ImmutableArray/api/splitWhere.mjs.map +1 -1
  438. package/_mjs/collection/immutable/ImmutableArray/api.mjs +18 -17
  439. package/_mjs/collection/immutable/ImmutableArray/api.mjs.map +1 -1
  440. package/_mjs/collection/immutable/ImmutableArray/constructors.mjs.map +1 -1
  441. package/_mjs/collection/immutable/ImmutableArray/definition.mjs.map +1 -1
  442. package/_mjs/collection/immutable/ImmutableArray/instances.mjs.map +1 -1
  443. package/_mjs/collection/immutable/ImmutableArray.mjs.map +1 -1
  444. package/_mjs/collection/immutable/ImmutableNonEmptyArray/api.mjs.map +1 -1
  445. package/_mjs/collection/immutable/ImmutableNonEmptyArray/constructors.mjs +2 -1
  446. package/_mjs/collection/immutable/ImmutableNonEmptyArray/constructors.mjs.map +1 -1
  447. package/_mjs/collection/immutable/ImmutableNonEmptyArray/definition.mjs.map +1 -1
  448. package/_mjs/collection/immutable/ImmutableNonEmptyArray/destructors.mjs.map +1 -1
  449. package/_mjs/collection/immutable/ImmutableNonEmptyArray/instances.mjs.map +1 -1
  450. package/_mjs/collection/immutable/ImmutableNonEmptyArray.mjs.map +1 -1
  451. package/_mjs/collection/immutable/List/api/foldLeft.mjs.map +1 -1
  452. package/_mjs/collection/immutable/List/api/unsafeTail.mjs.map +1 -1
  453. package/_mjs/collection/immutable/List/api.mjs +3 -2
  454. package/_mjs/collection/immutable/List/api.mjs.map +1 -1
  455. package/_mjs/collection/immutable/List/constructors.mjs.map +1 -1
  456. package/_mjs/collection/immutable/List/definition.mjs.map +1 -1
  457. package/_mjs/collection/immutable/List.mjs.map +1 -1
  458. package/_mjs/collection/immutable/Queue/api.mjs +7 -6
  459. package/_mjs/collection/immutable/Queue/api.mjs.map +1 -1
  460. package/_mjs/collection/immutable/Queue/constructors.mjs.map +1 -1
  461. package/_mjs/collection/immutable/Queue/definition.mjs.map +1 -1
  462. package/_mjs/collection/immutable/Queue/guards.mjs.map +1 -1
  463. package/_mjs/collection/immutable/Queue.mjs.map +1 -1
  464. package/_mjs/collection/immutable/RoseTree/api.mjs.map +1 -1
  465. package/_mjs/collection/immutable/RoseTree/definition.mjs.map +1 -1
  466. package/_mjs/collection/immutable/RoseTree.mjs.map +1 -1
  467. package/_mjs/collection/immutable/SortedMap/api.mjs +23 -22
  468. package/_mjs/collection/immutable/SortedMap/api.mjs.map +1 -1
  469. package/_mjs/collection/immutable/SortedMap/definition.mjs.map +1 -1
  470. package/_mjs/collection/immutable/SortedMap/internal.mjs.map +1 -1
  471. package/_mjs/collection/immutable/SortedMap/iterator.mjs +7 -6
  472. package/_mjs/collection/immutable/SortedMap/iterator.mjs.map +1 -1
  473. package/_mjs/collection/immutable/SortedMap/node.mjs.map +1 -1
  474. package/_mjs/collection/immutable/SortedMap.mjs.map +1 -1
  475. package/_mjs/collection/immutable/Vector/api.mjs.map +1 -1
  476. package/_mjs/collection/immutable/Vector/definition.mjs.map +1 -1
  477. package/_mjs/collection/immutable/Vector/internal.mjs.map +1 -1
  478. package/_mjs/collection/immutable/Vector.mjs.map +1 -1
  479. package/_mjs/collection/immutable.mjs.map +1 -1
  480. package/_mjs/collection/mutable/HashMap.mjs +6 -5
  481. package/_mjs/collection/mutable/HashMap.mjs.map +1 -1
  482. package/_mjs/collection/mutable/HashSet.mjs.map +1 -1
  483. package/_mjs/collection/mutable/ListBuffer.mjs.map +1 -1
  484. package/_mjs/collection/mutable/internal.mjs.map +1 -1
  485. package/_mjs/collection/mutable.mjs.map +1 -1
  486. package/_mjs/collection/weak/IterableWeakMap.mjs.map +1 -1
  487. package/_mjs/collection/weak/IterableWeakSet.mjs.map +1 -1
  488. package/_mjs/collection/weak.mjs.map +1 -1
  489. package/_mjs/collection.mjs.map +1 -1
  490. package/_mjs/control/CompletablePromise.mjs +15 -0
  491. package/_mjs/control/CompletablePromise.mjs.map +1 -0
  492. package/_mjs/control/Eval/api/sequenceArray.mjs.map +1 -1
  493. package/_mjs/control/Eval/api.mjs.map +1 -1
  494. package/_mjs/control/Eval/constructors.mjs.map +1 -1
  495. package/_mjs/control/Eval/definition.mjs.map +1 -1
  496. package/_mjs/control/Eval/instance.mjs.map +1 -1
  497. package/_mjs/control/Eval/run.mjs.map +1 -1
  498. package/_mjs/control/Eval.mjs.map +1 -1
  499. package/_mjs/control/LazyValue.mjs.map +1 -1
  500. package/_mjs/control/Z/api.mjs +1 -1
  501. package/_mjs/control/Z/api.mjs.map +1 -1
  502. package/_mjs/control/Z/definition.mjs.map +1 -1
  503. package/_mjs/control/Z/instances.mjs.map +1 -1
  504. package/_mjs/control/Z/runtime.mjs +2 -2
  505. package/_mjs/control/Z/runtime.mjs.map +1 -1
  506. package/_mjs/control/Z.mjs.map +1 -1
  507. package/_mjs/control.mjs.map +1 -1
  508. package/_mjs/data/Branded/definition.mjs.map +1 -1
  509. package/_mjs/data/Branded.mjs.map +1 -1
  510. package/_mjs/data/Byte.mjs.map +1 -1
  511. package/_mjs/data/CaseClass.mjs.map +1 -1
  512. package/_mjs/data/Cause/api/fold.mjs +10 -9
  513. package/_mjs/data/Cause/api/fold.mjs.map +1 -1
  514. package/_mjs/data/Cause/api/isEmpty.mjs +2 -2
  515. package/_mjs/data/Cause/api/isEmpty.mjs.map +1 -1
  516. package/_mjs/data/Cause/api/linearize.mjs +2 -2
  517. package/_mjs/data/Cause/api/linearize.mjs.map +1 -1
  518. package/_mjs/data/Cause/api/prettyPrint.mjs.map +1 -1
  519. package/_mjs/data/Cause/api/unified.mjs +2 -2
  520. package/_mjs/data/Cause/api/unified.mjs.map +1 -1
  521. package/_mjs/data/Cause/api.mjs +113 -112
  522. package/_mjs/data/Cause/api.mjs.map +1 -1
  523. package/_mjs/data/Cause/definition.mjs +29 -29
  524. package/_mjs/data/Cause/definition.mjs.map +1 -1
  525. package/_mjs/data/Cause.mjs.map +1 -1
  526. package/_mjs/data/Const/api.mjs.map +1 -1
  527. package/_mjs/data/Const/definition.mjs.map +1 -1
  528. package/_mjs/data/Const/instances.mjs.map +1 -1
  529. package/_mjs/data/Const.mjs.map +1 -1
  530. package/_mjs/data/Datum/api.mjs.map +1 -1
  531. package/_mjs/data/Datum/definition.mjs.map +1 -1
  532. package/_mjs/data/Datum/instances.mjs.map +1 -1
  533. package/_mjs/data/DatumEither/api.mjs +5 -4
  534. package/_mjs/data/DatumEither/api.mjs.map +1 -1
  535. package/_mjs/data/DatumEither/definition.mjs.map +1 -1
  536. package/_mjs/data/DatumEither.mjs.map +1 -1
  537. package/_mjs/data/DecodeError/definition.mjs.map +1 -1
  538. package/_mjs/data/DecodeError/instances.mjs.map +1 -1
  539. package/_mjs/data/DecodeError.mjs.map +1 -1
  540. package/_mjs/data/Decoder/api.mjs +3 -2
  541. package/_mjs/data/Decoder/api.mjs.map +1 -1
  542. package/_mjs/data/Decoder/definition.mjs.map +1 -1
  543. package/_mjs/data/Decoder.mjs.map +1 -1
  544. package/_mjs/data/Duration/api.mjs +9 -0
  545. package/_mjs/data/Duration/api.mjs.map +1 -1
  546. package/_mjs/data/Duration/definition.mjs.map +1 -1
  547. package/_mjs/data/Duration.mjs.map +1 -1
  548. package/_mjs/data/Either/api/align.mjs.map +1 -1
  549. package/_mjs/data/Either/api/alignWith.mjs +2 -1
  550. package/_mjs/data/Either/api/alignWith.mjs.map +1 -1
  551. package/_mjs/data/Either/api.mjs +17 -16
  552. package/_mjs/data/Either/api.mjs.map +1 -1
  553. package/_mjs/data/Either/constructors.mjs +10 -9
  554. package/_mjs/data/Either/constructors.mjs.map +1 -1
  555. package/_mjs/data/Either/definition.mjs +15 -11
  556. package/_mjs/data/Either/definition.mjs.map +1 -1
  557. package/_mjs/data/Either/destructors.mjs.map +1 -1
  558. package/_mjs/data/Either/instances.mjs +7 -6
  559. package/_mjs/data/Either/instances.mjs.map +1 -1
  560. package/_mjs/data/Either.mjs.map +1 -1
  561. package/_mjs/data/EitherT/api.mjs +4 -3
  562. package/_mjs/data/EitherT/api.mjs.map +1 -1
  563. package/_mjs/data/EitherT/definition.mjs.map +1 -1
  564. package/_mjs/data/Encoder/api.mjs +1 -1
  565. package/_mjs/data/Encoder/api.mjs.map +1 -1
  566. package/_mjs/data/Encoder/definition.mjs.map +1 -1
  567. package/_mjs/data/Encoder.mjs.map +1 -1
  568. package/_mjs/data/Environment/api.mjs.map +1 -1
  569. package/_mjs/data/Environment/definition.mjs.map +1 -1
  570. package/_mjs/data/Environment.mjs.map +1 -1
  571. package/_mjs/data/EnvironmentPatch.mjs.map +1 -1
  572. package/_mjs/data/Eq/api.mjs +12 -0
  573. package/_mjs/data/Eq/api.mjs.map +1 -0
  574. package/_mjs/data/Eq/definition.mjs.map +1 -1
  575. package/_mjs/data/Eq/derivations.mjs.map +1 -1
  576. package/_mjs/data/Eq.mjs +1 -0
  577. package/_mjs/data/Eq.mjs.map +1 -1
  578. package/_mjs/data/Equatable/api.mjs +26 -7
  579. package/_mjs/data/Equatable/api.mjs.map +1 -1
  580. package/_mjs/data/Equatable/definition.mjs +1 -1
  581. package/_mjs/data/Equatable/definition.mjs.map +1 -1
  582. package/_mjs/data/Equatable/fast-equals.mjs.map +1 -1
  583. package/_mjs/data/Equatable.mjs.map +1 -1
  584. package/_mjs/data/ExecutionStrategy.mjs.map +1 -1
  585. package/_mjs/data/Exit/api.mjs +38 -14
  586. package/_mjs/data/Exit/api.mjs.map +1 -1
  587. package/_mjs/data/Exit/constructors.mjs +13 -12
  588. package/_mjs/data/Exit/constructors.mjs.map +1 -1
  589. package/_mjs/data/Exit/definition.mjs +11 -6
  590. package/_mjs/data/Exit/definition.mjs.map +1 -1
  591. package/_mjs/data/Exit.mjs.map +1 -1
  592. package/_mjs/data/FiberId/api.mjs.map +1 -1
  593. package/_mjs/data/FiberId/constructors.mjs.map +1 -1
  594. package/_mjs/data/FiberId/definition.mjs.map +1 -1
  595. package/_mjs/data/FiberId.mjs.map +1 -1
  596. package/_mjs/data/Guard/api.mjs +1 -1
  597. package/_mjs/data/Guard/api.mjs.map +1 -1
  598. package/_mjs/data/Guard/definition.mjs.map +1 -1
  599. package/_mjs/data/Guard.mjs.map +1 -1
  600. package/_mjs/data/Hash.mjs.map +1 -1
  601. package/_mjs/data/HashEq.mjs.map +1 -1
  602. package/_mjs/data/Hashable/definition.mjs.map +1 -1
  603. package/_mjs/data/Hashable/hash.mjs.map +1 -1
  604. package/_mjs/data/Hashable.mjs.map +1 -1
  605. package/_mjs/data/Identity/api.mjs.map +1 -1
  606. package/_mjs/data/Identity/definition.mjs.map +1 -1
  607. package/_mjs/data/Identity/instances.mjs.map +1 -1
  608. package/_mjs/data/Identity.mjs.map +1 -1
  609. package/_mjs/data/Interval.mjs +2 -1
  610. package/_mjs/data/Interval.mjs.map +1 -1
  611. package/_mjs/data/Intervals.mjs.map +1 -1
  612. package/_mjs/data/Maybe/api.mjs +8 -7
  613. package/_mjs/data/Maybe/api.mjs.map +1 -1
  614. package/_mjs/data/Maybe/constructors.mjs +11 -11
  615. package/_mjs/data/Maybe/constructors.mjs.map +1 -1
  616. package/_mjs/data/Maybe/definition.mjs +10 -5
  617. package/_mjs/data/Maybe/definition.mjs.map +1 -1
  618. package/_mjs/data/Maybe/destructors.mjs.map +1 -1
  619. package/_mjs/data/Maybe/instances.mjs +2 -1
  620. package/_mjs/data/Maybe/instances.mjs.map +1 -1
  621. package/_mjs/data/Maybe.mjs.map +1 -1
  622. package/_mjs/data/Newtype.mjs.map +1 -1
  623. package/_mjs/data/Ord/api/contramap.mjs.map +1 -1
  624. package/_mjs/data/Ord/api/max.mjs.map +1 -1
  625. package/_mjs/data/Ord/api/min.mjs.map +1 -1
  626. package/_mjs/data/Ord/api.mjs.map +1 -1
  627. package/_mjs/data/Ord/definition.mjs.map +1 -1
  628. package/_mjs/data/Ord/instances.mjs.map +1 -1
  629. package/_mjs/data/Ord.mjs.map +1 -1
  630. package/_mjs/data/Ordering.mjs.map +1 -1
  631. package/_mjs/data/Predicate/api.mjs.map +1 -1
  632. package/_mjs/data/Predicate/definition.mjs.map +1 -1
  633. package/_mjs/data/Predicate.mjs.map +1 -1
  634. package/_mjs/data/Refinement/api.mjs.map +1 -1
  635. package/_mjs/data/Refinement/definition.mjs.map +1 -1
  636. package/_mjs/data/Refinement.mjs.map +1 -1
  637. package/_mjs/data/Showable/definition.mjs.map +1 -1
  638. package/_mjs/data/Showable/show.mjs.map +1 -1
  639. package/_mjs/data/Showable/styles.mjs.map +1 -1
  640. package/_mjs/data/Showable/util.mjs.map +1 -1
  641. package/_mjs/data/Showable.mjs.map +1 -1
  642. package/_mjs/data/Struct/api.mjs.map +1 -1
  643. package/_mjs/data/Struct/definition.mjs.map +1 -1
  644. package/_mjs/data/Struct.mjs.map +1 -1
  645. package/_mjs/data/Tag/constructors.mjs.map +1 -1
  646. package/_mjs/data/Tag/definition.mjs.map +1 -1
  647. package/_mjs/data/Tag.mjs.map +1 -1
  648. package/_mjs/data/These/api.mjs.map +1 -1
  649. package/_mjs/data/These/constructors.mjs.map +1 -1
  650. package/_mjs/data/These/definition.mjs.map +1 -1
  651. package/_mjs/data/These/destructors.mjs +3 -2
  652. package/_mjs/data/These/destructors.mjs.map +1 -1
  653. package/_mjs/data/These/instances.mjs.map +1 -1
  654. package/_mjs/data/These.mjs.map +1 -1
  655. package/_mjs/data/Trace/api.mjs.map +1 -1
  656. package/_mjs/data/Trace/constructors.mjs.map +1 -1
  657. package/_mjs/data/Trace/definition.mjs.map +1 -1
  658. package/_mjs/data/Trace.mjs.map +1 -1
  659. package/_mjs/data/TraceElement/definition.mjs.map +1 -1
  660. package/_mjs/data/TraceElement.mjs.map +1 -1
  661. package/_mjs/data/Zipped.mjs.map +1 -1
  662. package/_mjs/data/bigint/definition.mjs.map +1 -1
  663. package/_mjs/data/bigint/instances.mjs.map +1 -1
  664. package/_mjs/data/bigint.mjs.map +1 -1
  665. package/_mjs/data/boolean/definition.mjs.map +1 -1
  666. package/_mjs/data/boolean/instances.mjs.map +1 -1
  667. package/_mjs/data/boolean.mjs.map +1 -1
  668. package/_mjs/data/exceptions/ArrayIndexOutOfBoundsError.mjs.map +1 -1
  669. package/_mjs/data/exceptions/IOError.mjs +14 -0
  670. package/_mjs/data/exceptions/IOError.mjs.map +1 -0
  671. package/_mjs/data/exceptions/IllegalArgumentError.mjs.map +1 -1
  672. package/_mjs/data/exceptions/IllegalStateError.mjs.map +1 -1
  673. package/_mjs/data/exceptions/IndexOutOfBoundsError.mjs.map +1 -1
  674. package/_mjs/data/exceptions/InterruptedException.mjs.map +1 -1
  675. package/_mjs/data/exceptions/InvalidCapacityError.mjs.map +1 -1
  676. package/_mjs/data/exceptions/NoSuchElementError.mjs.map +1 -1
  677. package/_mjs/data/exceptions/RuntimeError.mjs.map +1 -1
  678. package/_mjs/data/exceptions.mjs +1 -0
  679. package/_mjs/data/exceptions.mjs.map +1 -1
  680. package/_mjs/data/function/api.mjs.map +1 -1
  681. package/_mjs/data/function/definition.mjs.map +1 -1
  682. package/_mjs/data/function/pipe.mjs.map +1 -1
  683. package/_mjs/data/function.mjs.map +1 -1
  684. package/_mjs/data/number/api.mjs.map +1 -1
  685. package/_mjs/data/number/definition.mjs.map +1 -1
  686. package/_mjs/data/number/instances.mjs.map +1 -1
  687. package/_mjs/data/number.mjs.map +1 -1
  688. package/_mjs/data/object/definition.mjs.map +1 -1
  689. package/_mjs/data/object/instances.mjs.map +1 -1
  690. package/_mjs/data/object.mjs.map +1 -1
  691. package/_mjs/data/string/api.mjs.map +1 -1
  692. package/_mjs/data/string/definition.mjs.map +1 -1
  693. package/_mjs/data/string/instances.mjs.map +1 -1
  694. package/_mjs/data/string.mjs.map +1 -1
  695. package/_mjs/data.mjs.map +1 -1
  696. package/_mjs/global/api.mjs.map +1 -1
  697. package/_mjs/global.mjs.map +1 -1
  698. package/_mjs/index.mjs.map +1 -1
  699. package/_mjs/internal/AtomicBoolean.mjs.map +1 -1
  700. package/_mjs/internal/AtomicNumber.mjs.map +1 -1
  701. package/_mjs/internal/AtomicReference.mjs.map +1 -1
  702. package/_mjs/internal/Stack.mjs.map +1 -1
  703. package/_mjs/json/EitherJson.mjs.map +1 -1
  704. package/_mjs/json/MaybeJson.mjs.map +1 -1
  705. package/_mjs/json/TheseJson.mjs.map +1 -1
  706. package/_mjs/json.mjs.map +1 -1
  707. package/_mjs/optics/At/api.mjs.map +1 -1
  708. package/_mjs/optics/At/definition.mjs.map +1 -1
  709. package/_mjs/optics/At.mjs.map +1 -1
  710. package/_mjs/optics/Fold/definition.mjs.map +1 -1
  711. package/_mjs/optics/Fold.mjs.map +1 -1
  712. package/_mjs/optics/Getter/definition.mjs.map +1 -1
  713. package/_mjs/optics/Getter.mjs.map +1 -1
  714. package/_mjs/optics/Index/api.mjs.map +1 -1
  715. package/_mjs/optics/Index/definition.mjs.map +1 -1
  716. package/_mjs/optics/Index.mjs.map +1 -1
  717. package/_mjs/optics/Iso/api.mjs.map +1 -1
  718. package/_mjs/optics/Iso/definition.mjs.map +1 -1
  719. package/_mjs/optics/Iso.mjs.map +1 -1
  720. package/_mjs/optics/Lens/api.mjs.map +1 -1
  721. package/_mjs/optics/Lens/definition.mjs +2 -1
  722. package/_mjs/optics/Lens/definition.mjs.map +1 -1
  723. package/_mjs/optics/Lens.mjs.map +1 -1
  724. package/_mjs/optics/Optional/api/compose.mjs.map +1 -1
  725. package/_mjs/optics/Optional/definition.mjs.map +1 -1
  726. package/_mjs/optics/Optional.mjs.map +1 -1
  727. package/_mjs/optics/Prism/api/compose.mjs.map +1 -1
  728. package/_mjs/optics/Prism/api/fromNullable.mjs.map +1 -1
  729. package/_mjs/optics/Prism/api/just.mjs +2 -1
  730. package/_mjs/optics/Prism/api/just.mjs.map +1 -1
  731. package/_mjs/optics/Prism/definition.mjs.map +1 -1
  732. package/_mjs/optics/Prism.mjs.map +1 -1
  733. package/_mjs/optics/Setter/definition.mjs.map +1 -1
  734. package/_mjs/optics/Setter.mjs.map +1 -1
  735. package/_mjs/optics/Traversal/api/compose.mjs.map +1 -1
  736. package/_mjs/optics/Traversal/api/fromTraversable.mjs.map +1 -1
  737. package/_mjs/optics/Traversal/definition.mjs.map +1 -1
  738. package/_mjs/optics/Traversal.mjs.map +1 -1
  739. package/_mjs/optics.mjs.map +1 -1
  740. package/_mjs/typeclass/Align.mjs.map +1 -1
  741. package/_mjs/typeclass/Alt.mjs.map +1 -1
  742. package/_mjs/typeclass/Alternative.mjs.map +1 -1
  743. package/_mjs/typeclass/Applicative.mjs.map +1 -1
  744. package/_mjs/typeclass/ApplicativeExcept.mjs +2 -1
  745. package/_mjs/typeclass/ApplicativeExcept.mjs.map +1 -1
  746. package/_mjs/typeclass/Apply.mjs.map +1 -1
  747. package/_mjs/typeclass/Chain.mjs.map +1 -1
  748. package/_mjs/typeclass/Closure.mjs.map +1 -1
  749. package/_mjs/typeclass/Fail.mjs.map +1 -1
  750. package/_mjs/typeclass/Filterable.mjs.map +1 -1
  751. package/_mjs/typeclass/FilterableWithIndex.mjs.map +1 -1
  752. package/_mjs/typeclass/Foldable.mjs.map +1 -1
  753. package/_mjs/typeclass/FoldableWithIndex.mjs.map +1 -1
  754. package/_mjs/typeclass/Functor.mjs.map +1 -1
  755. package/_mjs/typeclass/FunctorWithIndex.mjs.map +1 -1
  756. package/_mjs/typeclass/Has.mjs.map +1 -1
  757. package/_mjs/typeclass/Monad.mjs.map +1 -1
  758. package/_mjs/typeclass/MonadExcept.mjs.map +1 -1
  759. package/_mjs/typeclass/Monoid.mjs.map +1 -1
  760. package/_mjs/typeclass/Nil.mjs.map +1 -1
  761. package/_mjs/typeclass/Pointed.mjs.map +1 -1
  762. package/_mjs/typeclass/Semialign.mjs +2 -1
  763. package/_mjs/typeclass/Semialign.mjs.map +1 -1
  764. package/_mjs/typeclass/Semigroup/api.mjs.map +1 -1
  765. package/_mjs/typeclass/Semigroup/definition.mjs.map +1 -1
  766. package/_mjs/typeclass/Semigroup/derivations.mjs.map +1 -1
  767. package/_mjs/typeclass/Semigroup.mjs.map +1 -1
  768. package/_mjs/typeclass/Semimonoidal.mjs.map +1 -1
  769. package/_mjs/typeclass/Traversable.mjs.map +1 -1
  770. package/_mjs/typeclass/TraversableWithIndex.mjs.map +1 -1
  771. package/_mjs/typeclass/Witherable.mjs +2 -1
  772. package/_mjs/typeclass/Witherable.mjs.map +1 -1
  773. package/_mjs/typeclass/WitherableWithIndex.mjs +2 -1
  774. package/_mjs/typeclass/WitherableWithIndex.mjs.map +1 -1
  775. package/_mjs/typeclass/builtin/Symbol.mjs.map +1 -1
  776. package/_mjs/typeclass/builtin.mjs.map +1 -1
  777. package/_mjs/typeclass.mjs.map +1 -1
  778. package/_mjs/types/extractions.mjs.map +1 -1
  779. package/_mjs/types/utility.mjs.map +1 -1
  780. package/_mjs/types.mjs +0 -1
  781. package/_mjs/types.mjs.map +1 -1
  782. package/_mjs/util/AnsiFormat.mjs.map +1 -1
  783. package/_mjs/util/PCGRandom.mjs.map +1 -1
  784. package/_mjs/util/assert.mjs.map +1 -1
  785. package/_mjs/util/pattern.mjs.map +1 -1
  786. package/_mjs/util/predicates.mjs.map +1 -1
  787. package/_mjs/util/rand/Random.mjs.map +1 -1
  788. package/_mjs/util/rand/distribution/Distribution.mjs.map +1 -1
  789. package/_mjs/util/rand/distribution/UniformArrayIntDistribution.mjs.map +1 -1
  790. package/_mjs/util/rand/distribution/UniformBigIntDistribution.mjs.map +1 -1
  791. package/_mjs/util/rand/distribution/UniformIntDistribution.mjs.map +1 -1
  792. package/_mjs/util/rand/distribution/internals/ArrayInt.mjs.map +1 -1
  793. package/_mjs/util/rand/distribution/internals/UniformArrayIntDistributionInternal.mjs.map +1 -1
  794. package/_mjs/util/rand/distribution/internals/UniformIntDistributionInternal.mjs.map +1 -1
  795. package/_mjs/util/rand/generator/MersenneTwister.mjs.map +1 -1
  796. package/_mjs/util/rand/generator/RandomGenerator.mjs.map +1 -1
  797. package/_mjs/util/rand.mjs.map +1 -1
  798. package/_mjs/util.mjs.map +1 -1
  799. package/_src/collection/immutable/Conc/api.ts +12 -0
  800. package/_src/control/CompletablePromise.ts +23 -0
  801. package/_src/control.ts +1 -0
  802. package/_src/data/Cause/api/fold.ts +2 -2
  803. package/_src/data/Cause/api/isEmpty.ts +2 -2
  804. package/_src/data/Cause/api/linearize.ts +2 -2
  805. package/_src/data/Cause/api/unified.ts +2 -2
  806. package/_src/data/Cause/api.ts +66 -55
  807. package/_src/data/Cause/definition.ts +59 -59
  808. package/_src/data/Decoder/api.ts +1 -1
  809. package/_src/data/Duration/api.ts +10 -0
  810. package/_src/data/Either/constructors.ts +4 -4
  811. package/_src/data/Either/definition.ts +13 -6
  812. package/_src/data/Encoder/api.ts +1 -1
  813. package/_src/data/Eq/api.ts +8 -0
  814. package/_src/data/Eq.ts +1 -0
  815. package/_src/data/Equatable/api.ts +27 -10
  816. package/_src/data/Equatable/definition.ts +6 -2
  817. package/_src/data/Exit/api.ts +38 -8
  818. package/_src/data/Exit/constructors.ts +7 -7
  819. package/_src/data/Exit/definition.ts +9 -4
  820. package/_src/data/Guard/api.ts +1 -1
  821. package/_src/data/Maybe/constructors.ts +4 -6
  822. package/_src/data/Maybe/definition.ts +9 -1
  823. package/_src/data/exceptions/IOError.ts +11 -0
  824. package/_src/data/exceptions/NoSuchElementError.ts +1 -1
  825. package/_src/data/exceptions.ts +1 -0
  826. package/_src/types.ts +0 -1
  827. package/collection/immutable/Conc/api.d.ts +5 -0
  828. package/control/CompletablePromise.d.ts +13 -0
  829. package/control.d.ts +1 -0
  830. package/data/Cause/api.d.ts +9 -9
  831. package/data/Cause/definition.d.ts +15 -14
  832. package/data/Duration/api.d.ts +6 -0
  833. package/data/Either/constructors.d.ts +2 -2
  834. package/data/Either/definition.d.ts +12 -5
  835. package/data/Eq/api.d.ts +6 -0
  836. package/data/Eq.d.ts +1 -0
  837. package/data/Equatable/api.d.ts +1 -1
  838. package/data/Equatable/definition.d.ts +4 -1
  839. package/data/Exit/api.d.ts +12 -0
  840. package/data/Exit/constructors.d.ts +5 -5
  841. package/data/Exit/definition.d.ts +9 -2
  842. package/data/Maybe/constructors.d.ts +2 -2
  843. package/data/Maybe/definition.d.ts +9 -1
  844. package/data/exceptions/IOError.d.ts +9 -0
  845. package/data/exceptions/NoSuchElementError.d.ts +1 -1
  846. package/data/exceptions.d.ts +1 -0
  847. package/package.json +1 -1
  848. package/types.d.ts +0 -1
  849. package/_cjs/types/test.cjs +0 -6
  850. package/_cjs/types/test.cjs.map +0 -1
  851. package/_mjs/types/test.mjs +0 -2
  852. package/_mjs/types/test.mjs.map +0 -1
  853. package/_src/types/test.ts +0 -0
  854. package/types/test.d.ts +0 -1
@@ -12,7 +12,7 @@ export type CauseTypeId = typeof CauseTypeId;
12
12
  /**
13
13
  * @tsplus type fncts.Cause
14
14
  */
15
- export type Cause<E> = Empty | Halt | Interrupt | Fail<E> | Then<E> | Both<E> | Stackless<E>;
15
+ export type Cause<E> = Empty | Halt | Interrupt | Fail<E> | Sequential<E> | Parallel<E> | Stackless<E>;
16
16
 
17
17
  /**
18
18
  * @tsplus type fncts.CauseOps
@@ -30,8 +30,8 @@ export const enum CauseTag {
30
30
  Fail = "Fail",
31
31
  Halt = "Halt",
32
32
  Interrupt = "Interrupt",
33
- Then = "Then",
34
- Both = "Both",
33
+ Sequential = "Sequential",
34
+ Parallel = "Parallel",
35
35
  Stackless = "Stackless",
36
36
  }
37
37
 
@@ -40,7 +40,7 @@ const _emptyHash = Hashable.string("fncts.Cause");
40
40
  /**
41
41
  * @tsplus companion fncts.Cause.EmptyOps
42
42
  */
43
- export class Empty {
43
+ export class Empty implements Equatable {
44
44
  readonly [CauseTypeId]: CauseTypeId = CauseTypeId;
45
45
  declare [CauseVariance]: {
46
46
  readonly _E: (_: never) => never;
@@ -58,8 +58,8 @@ export class Empty {
58
58
  switch (that._tag) {
59
59
  case CauseTag.Empty:
60
60
  return Eval.now(true);
61
- case CauseTag.Then:
62
- case CauseTag.Both:
61
+ case CauseTag.Sequential:
62
+ case CauseTag.Parallel:
63
63
  return this.equalsEval(that.left).zipWith(this.equalsEval(that.right), (x, y) => x && y);
64
64
  case CauseTag.Stackless:
65
65
  return this.equalsEval(that.cause);
@@ -74,7 +74,7 @@ export const _Empty = new Empty();
74
74
  /**
75
75
  * @tsplus companion fncts.Cause.FailOps
76
76
  */
77
- export class Fail<E> {
77
+ export class Fail<E> implements Equatable {
78
78
  readonly [CauseTypeId]: CauseTypeId = CauseTypeId;
79
79
  declare [CauseVariance]: {
80
80
  readonly _E: (_: never) => E;
@@ -97,8 +97,8 @@ export class Fail<E> {
97
97
  switch (that._tag) {
98
98
  case CauseTag.Fail:
99
99
  return P.Equatable.strictEquals(self.value, that.value);
100
- case CauseTag.Both:
101
- case CauseTag.Then:
100
+ case CauseTag.Parallel:
101
+ case CauseTag.Sequential:
102
102
  return yield* _(structuralSymmetric(structuralEqualEmpty)(self, that));
103
103
  case CauseTag.Stackless:
104
104
  return yield* _(self.equalsEval(that.cause));
@@ -112,7 +112,7 @@ export class Fail<E> {
112
112
  /**
113
113
  * @tsplus companion fncts.Cause.HaltOps
114
114
  */
115
- export class Halt {
115
+ export class Halt implements Equatable {
116
116
  readonly [CauseTypeId]: CauseTypeId = CauseTypeId;
117
117
  declare [CauseVariance]: {
118
118
  readonly _E: (_: never) => never;
@@ -135,8 +135,8 @@ export class Halt {
135
135
  switch (that._tag) {
136
136
  case CauseTag.Halt:
137
137
  return P.Equatable.strictEquals(self.value, that.value);
138
- case CauseTag.Then:
139
- case CauseTag.Both:
138
+ case CauseTag.Sequential:
139
+ case CauseTag.Parallel:
140
140
  return yield* _(structuralSymmetric(structuralEqualEmpty)(self, that));
141
141
  case CauseTag.Stackless:
142
142
  return yield* _(self.equalsEval(that.cause));
@@ -150,7 +150,7 @@ export class Halt {
150
150
  /**
151
151
  * @tsplus companion fncts.Cause.InterruptOps
152
152
  */
153
- export class Interrupt {
153
+ export class Interrupt implements Equatable {
154
154
  readonly [CauseTypeId]: CauseTypeId = CauseTypeId;
155
155
  declare [CauseVariance]: {
156
156
  readonly _E: (_: never) => never;
@@ -174,8 +174,8 @@ export class Interrupt {
174
174
  switch (that._tag) {
175
175
  case CauseTag.Interrupt:
176
176
  return P.Equatable.strictEquals(self.id, that.id);
177
- case CauseTag.Then:
178
- case CauseTag.Both:
177
+ case CauseTag.Sequential:
178
+ case CauseTag.Parallel:
179
179
  return yield* _(structuralSymmetric(structuralEqualEmpty)(self, that));
180
180
  case CauseTag.Stackless:
181
181
  return yield* _(self.equalsEval(that.cause));
@@ -187,14 +187,14 @@ export class Interrupt {
187
187
  }
188
188
 
189
189
  /**
190
- * @tsplus companion fncts.Cause.ThenOps
190
+ * @tsplus companion fncts.Cause.SequentialOps
191
191
  */
192
- export class Then<E> {
192
+ export class Sequential<E> implements Equatable {
193
193
  readonly [CauseTypeId]: CauseTypeId = CauseTypeId;
194
194
  declare [CauseVariance]: {
195
195
  readonly _E: (_: never) => E;
196
196
  };
197
- readonly _tag = CauseTag.Then;
197
+ readonly _tag = CauseTag.Sequential;
198
198
 
199
199
  constructor(readonly left: Cause<E>, readonly right: Cause<E>) {}
200
200
 
@@ -221,14 +221,14 @@ export class Then<E> {
221
221
  }
222
222
 
223
223
  /**
224
- * @tsplus companion fncts.Cause.BothOps
224
+ * @tsplus companion fncts.Cause.ParallelOps
225
225
  */
226
- export class Both<E> {
226
+ export class Parallel<E> implements Equatable {
227
227
  readonly [CauseTypeId]: CauseTypeId = CauseTypeId;
228
228
  declare [CauseVariance]: {
229
229
  readonly _E: (_: never) => E;
230
230
  };
231
- readonly _tag = CauseTag.Both;
231
+ readonly _tag = CauseTag.Parallel;
232
232
 
233
233
  constructor(readonly left: Cause<E>, readonly right: Cause<E>) {}
234
234
 
@@ -257,7 +257,7 @@ export class Both<E> {
257
257
  /**
258
258
  * @tsplus companion fncts.Cause.StacklessOps
259
259
  */
260
- export class Stackless<E> {
260
+ export class Stackless<E> implements Equatable {
261
261
  readonly [CauseTypeId]: CauseTypeId = CauseTypeId;
262
262
  declare [CauseVariance]: {
263
263
  readonly _E: (_: never) => E;
@@ -296,7 +296,7 @@ function structuralSymmetric<A>(
296
296
  }
297
297
 
298
298
  function structuralEqualEmpty<A>(l: Cause<A>, r: Cause<A>): Eval<boolean> {
299
- if (l._tag === CauseTag.Then || l._tag === CauseTag.Both) {
299
+ if (l._tag === CauseTag.Sequential || l._tag === CauseTag.Parallel) {
300
300
  if (l.left._tag === CauseTag.Empty) {
301
301
  return l.right.equalsEval(r);
302
302
  } else if (l.right._tag === CauseTag.Empty) {
@@ -311,10 +311,10 @@ function structuralEqualEmpty<A>(l: Cause<A>, r: Cause<A>): Eval<boolean> {
311
311
 
312
312
  function structuralThenAssociate<A>(l: Cause<A>, r: Cause<A>): Eval<boolean> {
313
313
  if (
314
- l._tag === CauseTag.Then &&
315
- l.left._tag === CauseTag.Then &&
316
- r._tag === CauseTag.Then &&
317
- r.right._tag === CauseTag.Then
314
+ l._tag === CauseTag.Sequential &&
315
+ l.left._tag === CauseTag.Sequential &&
316
+ r._tag === CauseTag.Sequential &&
317
+ r.right._tag === CauseTag.Sequential
318
318
  ) {
319
319
  return l.left.left
320
320
  .equalsEval(r.left)
@@ -327,11 +327,11 @@ function structuralThenAssociate<A>(l: Cause<A>, r: Cause<A>): Eval<boolean> {
327
327
 
328
328
  function strcturalThenDistribute<A>(l: Cause<A>, r: Cause<A>): Eval<boolean> {
329
329
  if (
330
- l._tag === CauseTag.Then &&
331
- l.right._tag === CauseTag.Both &&
332
- r._tag === CauseTag.Both &&
333
- r.right._tag === CauseTag.Then &&
334
- r.left._tag === CauseTag.Then
330
+ l._tag === CauseTag.Sequential &&
331
+ l.right._tag === CauseTag.Parallel &&
332
+ r._tag === CauseTag.Parallel &&
333
+ r.right._tag === CauseTag.Sequential &&
334
+ r.left._tag === CauseTag.Sequential
335
335
  ) {
336
336
  return r.left.left
337
337
  .equalsEval(r.right.left)
@@ -339,11 +339,11 @@ function strcturalThenDistribute<A>(l: Cause<A>, r: Cause<A>): Eval<boolean> {
339
339
  .and(l.right.left.equalsEval(r.left.right))
340
340
  .and(l.right.right.equalsEval(r.right.right));
341
341
  } else if (
342
- l._tag === CauseTag.Then &&
343
- l.left._tag === CauseTag.Both &&
344
- r._tag === CauseTag.Both &&
345
- r.left._tag === CauseTag.Then &&
346
- r.right._tag === CauseTag.Then
342
+ l._tag === CauseTag.Sequential &&
343
+ l.left._tag === CauseTag.Parallel &&
344
+ r._tag === CauseTag.Parallel &&
345
+ r.left._tag === CauseTag.Sequential &&
346
+ r.right._tag === CauseTag.Sequential
347
347
  ) {
348
348
  return r.left.right
349
349
  .equalsEval(r.right.right)
@@ -356,7 +356,7 @@ function strcturalThenDistribute<A>(l: Cause<A>, r: Cause<A>): Eval<boolean> {
356
356
  }
357
357
 
358
358
  function structuralEqualThen<A>(l: Cause<A>, r: Cause<A>): Eval<boolean> {
359
- if (l._tag === CauseTag.Then && r._tag === CauseTag.Then) {
359
+ if (l._tag === CauseTag.Sequential && r._tag === CauseTag.Sequential) {
360
360
  return l.left.equalsEval(r.left).zipWith(l.right.equalsEval(r.right), (a, b) => a && b);
361
361
  } else {
362
362
  return Eval.now(false);
@@ -365,10 +365,10 @@ function structuralEqualThen<A>(l: Cause<A>, r: Cause<A>): Eval<boolean> {
365
365
 
366
366
  function structuralBothAssociate<A>(l: Cause<A>, r: Cause<A>): Eval<boolean> {
367
367
  if (
368
- l._tag === CauseTag.Both &&
369
- l.left._tag === CauseTag.Both &&
370
- r._tag === CauseTag.Both &&
371
- r.right._tag === CauseTag.Both
368
+ l._tag === CauseTag.Parallel &&
369
+ l.left._tag === CauseTag.Parallel &&
370
+ r._tag === CauseTag.Parallel &&
371
+ r.right._tag === CauseTag.Parallel
372
372
  ) {
373
373
  return l.left.left
374
374
  .equalsEval(r.left)
@@ -381,11 +381,11 @@ function structuralBothAssociate<A>(l: Cause<A>, r: Cause<A>): Eval<boolean> {
381
381
 
382
382
  function structuralBothDistribute<A>(l: Cause<A>, r: Cause<A>): Eval<boolean> {
383
383
  if (
384
- l._tag === CauseTag.Both &&
385
- l.left._tag === CauseTag.Then &&
386
- l.right._tag === CauseTag.Then &&
387
- r._tag === CauseTag.Then &&
388
- r.right._tag === CauseTag.Both
384
+ l._tag === CauseTag.Parallel &&
385
+ l.left._tag === CauseTag.Sequential &&
386
+ l.right._tag === CauseTag.Sequential &&
387
+ r._tag === CauseTag.Sequential &&
388
+ r.right._tag === CauseTag.Parallel
389
389
  ) {
390
390
  return l.left.left
391
391
  .equalsEval(l.right.left)
@@ -393,11 +393,11 @@ function structuralBothDistribute<A>(l: Cause<A>, r: Cause<A>): Eval<boolean> {
393
393
  .and(l.left.right.equalsEval(r.right.left))
394
394
  .and(l.right.right.equalsEval(r.right.right));
395
395
  } else if (
396
- l._tag === CauseTag.Both &&
397
- l.left._tag === CauseTag.Then &&
398
- l.right._tag === CauseTag.Then &&
399
- r._tag === CauseTag.Then &&
400
- r.left._tag === CauseTag.Both
396
+ l._tag === CauseTag.Parallel &&
397
+ l.left._tag === CauseTag.Sequential &&
398
+ l.right._tag === CauseTag.Sequential &&
399
+ r._tag === CauseTag.Sequential &&
400
+ r.left._tag === CauseTag.Parallel
401
401
  ) {
402
402
  return l.left.right
403
403
  .equalsEval(l.right.right)
@@ -410,7 +410,7 @@ function structuralBothDistribute<A>(l: Cause<A>, r: Cause<A>): Eval<boolean> {
410
410
  }
411
411
 
412
412
  function structuralEqualBoth<A>(l: Cause<A>, r: Cause<A>): Eval<boolean> {
413
- if (l._tag === CauseTag.Both && r._tag === CauseTag.Both) {
413
+ if (l._tag === CauseTag.Parallel && r._tag === CauseTag.Parallel) {
414
414
  return l.left.equalsEval(r.left).zipWith(l.right.equalsEval(r.right), (a, b) => a && b);
415
415
  } else {
416
416
  return Eval.now(false);
@@ -442,7 +442,7 @@ function stepLoop<A>(
442
442
  }
443
443
  break;
444
444
  }
445
- case CauseTag.Then: {
445
+ case CauseTag.Sequential: {
446
446
  const left = cause.left;
447
447
  const right = cause.right;
448
448
  switch (left._tag) {
@@ -450,12 +450,12 @@ function stepLoop<A>(
450
450
  cause = right;
451
451
  break;
452
452
  }
453
- case CauseTag.Then: {
454
- cause = new Then(left.left, new Then(left.right, right));
453
+ case CauseTag.Sequential: {
454
+ cause = new Sequential(left.left, new Sequential(left.right, right));
455
455
  break;
456
456
  }
457
- case CauseTag.Both: {
458
- cause = new Both(new Then(left.left, right), new Then(left.right, right));
457
+ case CauseTag.Parallel: {
458
+ cause = new Parallel(new Sequential(left.left, right), new Sequential(left.right, right));
459
459
  break;
460
460
  }
461
461
  default: {
@@ -465,7 +465,7 @@ function stepLoop<A>(
465
465
  }
466
466
  break;
467
467
  }
468
- case CauseTag.Both: {
468
+ case CauseTag.Parallel: {
469
469
  stack = stack.prepend(cause.right);
470
470
  cause = cause.left;
471
471
  break;
@@ -682,5 +682,5 @@ export function deriveTuple<A extends ReadonlyArray<unknown>>(
682
682
  * @tsplus static fncts.DecoderOps tuple
683
683
  */
684
684
  export function tuple<A extends ReadonlyArray<unknown>>(...components: { [K in keyof A]: Decoder<A[K]> }): Decoder<A> {
685
- return deriveTuple(components.unsafeCoerce()).unsafeCoerce();
685
+ return deriveTuple(components as [never]).unsafeCoerce()
686
686
  }
@@ -83,3 +83,13 @@ export function fromInterval(start: number, end: number): Duration {
83
83
  * @tsplus static fncts.DurationOps zero
84
84
  */
85
85
  export const zero: Duration = (0).milliseconds;
86
+
87
+ /**
88
+ * @tsplus fluent fncts.Duration lessThanOrEqualTo
89
+ * @tsplus pipeable-operator fncts.Duration <=
90
+ */
91
+ export function lessThanOrEqualTo(that: Duration) {
92
+ return (self: Duration): boolean => {
93
+ return self.milliseconds <= that.milliseconds;
94
+ };
95
+ }
@@ -6,16 +6,16 @@ import { Either, Left, Right } from "./definition.js";
6
6
  * @tsplus static fncts.EitherOps left
7
7
  * @tsplus static fncts.Either.LeftOps __call
8
8
  */
9
- export function left<E = never, A = never>(e: E): Either<E, A> {
10
- return new Left(e);
9
+ export function left<E = never, A = never>(e: E, __tsplusTrace?: string): Either<E, A> {
10
+ return new Left(e, __tsplusTrace);
11
11
  }
12
12
 
13
13
  /**
14
14
  * @tsplus static fncts.EitherOps right
15
15
  * @tsplus static fncts.Either.RightOps __call
16
16
  */
17
- export function right<E = never, A = never>(a: A): Either<E, A> {
18
- return new Right(a);
17
+ export function right<E = never, A = never>(a: A, __tsplusTrace?: string): Either<E, A> {
18
+ return new Right(a, __tsplusTrace);
19
19
  }
20
20
 
21
21
  /**
@@ -1,3 +1,5 @@
1
+ import type { EqualsContext } from "@fncts/base/data/Equatable";
2
+
1
3
  export const enum EitherTag {
2
4
  Left = "Left",
3
5
  Right = "Right",
@@ -17,12 +19,17 @@ export interface EitherF extends HKT {
17
19
  };
18
20
  }
19
21
 
22
+ const IOTypeId = Symbol.for("fncts.io.IO");
23
+ type IOTypeId = typeof IOTypeId;
24
+
20
25
  /**
21
26
  * @tsplus type fncts.Either
22
27
  * @tsplus companion fncts.EitherOps
23
28
  */
24
29
  export class Either<E, A> {
25
30
  readonly [EitherTypeId]: EitherTypeId = EitherTypeId;
31
+ readonly [IOTypeId]: IOTypeId = IOTypeId;
32
+ readonly trace?: string | undefined = undefined;
26
33
  declare [EitherVariance]: {
27
34
  readonly _E: (_: never) => E;
28
35
  readonly _A: (_: never) => A;
@@ -37,7 +44,7 @@ const leftHash = Hashable.string(EitherTag.Left);
37
44
  */
38
45
  export class Left<E> extends Either<E, never> {
39
46
  readonly _tag = EitherTag.Left;
40
- constructor(readonly left: E) {
47
+ constructor(readonly left: E, readonly trace?: string) {
41
48
  super();
42
49
  }
43
50
 
@@ -45,8 +52,8 @@ export class Left<E> extends Either<E, never> {
45
52
  return Hashable.combine(leftHash, Hashable.unknown(this.left));
46
53
  }
47
54
 
48
- [Symbol.equals](that: unknown): boolean {
49
- return Either.isEither(that) && that.isLeft() && Equatable.strictEquals(this.left, that.left);
55
+ [Symbol.equals](that: unknown, context: EqualsContext): boolean {
56
+ return Either.isEither(that) && that.isLeft() && context.comparator(this.left, that.left);
50
57
  }
51
58
  }
52
59
 
@@ -58,7 +65,7 @@ const rightHash = Hashable.string(EitherTag.Right);
58
65
  */
59
66
  export class Right<A> extends Either<never, A> {
60
67
  readonly _tag = EitherTag.Right;
61
- constructor(readonly right: A) {
68
+ constructor(readonly right: A, readonly trace?: string) {
62
69
  super();
63
70
  }
64
71
 
@@ -66,8 +73,8 @@ export class Right<A> extends Either<never, A> {
66
73
  return Hashable.combine(rightHash, Hashable.unknown(this.left));
67
74
  }
68
75
 
69
- [Symbol.equals](that: unknown): boolean {
70
- return Either.isEither(that) && that.isRight() && Equatable.strictEquals(this.right, that.right);
76
+ [Symbol.equals](that: unknown, context: EqualsContext): boolean {
77
+ return Either.isEither(that) && that.isRight() && context.comparator(this.right, that.right);
71
78
  }
72
79
  }
73
80
 
@@ -371,5 +371,5 @@ export function deriveTuple<A extends ReadonlyArray<unknown>>(
371
371
  * @tsplus static fncts.EncoderOps tuple
372
372
  */
373
373
  export function tuple<A extends ReadonlyArray<unknown>>(...components: { [K in keyof A]: Encoder<A[K]> }): Encoder<A> {
374
- return deriveTuple(components.unsafeCoerce()).unsafeCoerce();
374
+ return deriveTuple(components as [never]).unsafeCoerce()
375
375
  }
@@ -0,0 +1,8 @@
1
+ /**
2
+ * @tsplus pipeable fncts.Eq contramap
3
+ */
4
+ export function contramap<A, B>(f: (b: B) => A) {
5
+ return (self: Eq<A>): Eq<B> => {
6
+ return Eq({ equals: (b2) => (b1) => self.equals(f(b2))(f(b1)) });
7
+ };
8
+ }
package/_src/data/Eq.ts CHANGED
@@ -1,2 +1,3 @@
1
+ export * from "./Eq/api.js";
1
2
  export * from "./Eq/definition.js";
2
3
  export {} from "./Eq/derivations.js";
@@ -1,3 +1,5 @@
1
+ import type { EqualsContext } from "@fncts/base/data/Equatable/definition";
2
+
1
3
  import { isEquatable } from "@fncts/base/data/Equatable/definition";
2
4
  import {
3
5
  createCircularEqualCreator,
@@ -5,30 +7,45 @@ import {
5
7
  sameValueZeroEqual,
6
8
  } from "@fncts/base/data/Equatable/fast-equals";
7
9
 
8
- /**
9
- * @tsplus static fncts.EquatableOps deepEquals
10
- */
11
- export const deepEquals = createComparator(
10
+ const deepEqualsComparator = createComparator(
12
11
  createCircularEqualCreator((eq) => (a, b, meta) => {
12
+ const equalsContext: EqualsContext = { comparator: deepEquals };
13
13
  if (isEquatable(a)) {
14
- return a[Symbol.equals](b);
14
+ return a[Symbol.equals](b, equalsContext);
15
15
  } else if (isEquatable(b)) {
16
- return b[Symbol.equals](a);
16
+ return b[Symbol.equals](a, equalsContext);
17
17
  } else {
18
18
  return eq(a, b, meta);
19
19
  }
20
20
  }),
21
21
  );
22
22
 
23
+ /**
24
+ * @tsplus static fncts.EquatableOps deepEquals
25
+ */
26
+ export function deepEquals<A>(a: A, b: unknown): boolean {
27
+ const context: EqualsContext = { comparator: deepEquals };
28
+ if (isEquatable(a)) {
29
+ return a[Symbol.equals](b, context);
30
+ } else if (isEquatable(b)) {
31
+ return b[Symbol.equals](a, context);
32
+ } else {
33
+ return deepEqualsComparator(a, b);
34
+ }
35
+ }
36
+
23
37
  /**
24
38
  * @tsplus static fncts.EquatableOps strictEquals
25
39
  * @tsplus operator fncts.Equatable ==
26
40
  */
27
41
  export function strictEquals<A>(a: A, b: unknown): boolean {
42
+ const context: EqualsContext = {
43
+ comparator: strictEquals,
44
+ };
28
45
  if (isEquatable(a)) {
29
- return a[Symbol.equals](b);
46
+ return a[Symbol.equals](b, context);
30
47
  } else if (isEquatable(b)) {
31
- return b[Symbol.equals](a);
48
+ return b[Symbol.equals](a, context);
32
49
  }
33
50
  return sameValueZeroEqual(a, b);
34
51
  }
@@ -38,5 +55,5 @@ export function strictEquals<A>(a: A, b: unknown): boolean {
38
55
  * @tsplus operator fncts.Equatable !=
39
56
  */
40
57
  export function strictNotEquals<A>(a: A, b: unknown): boolean {
41
- return !strictEquals(a, b)
42
- }
58
+ return !strictEquals(a, b);
59
+ }
@@ -3,15 +3,19 @@
3
3
  */
4
4
  export const equalsSymbol: unique symbol = Symbol.for("fncts.Equatable");
5
5
 
6
+ export interface EqualsContext {
7
+ comparator: (a: unknown, b: unknown) => boolean;
8
+ }
9
+
6
10
  /**
7
11
  * @tsplus type fncts.Equatable
8
12
  */
9
13
  export interface Equatable {
10
- [equalsSymbol](that: unknown): boolean;
14
+ [equalsSymbol](that: unknown, context: EqualsContext): boolean;
11
15
  }
12
16
 
13
17
  export function isEquatable(u: unknown): u is Equatable {
14
- return isObject(u) && Symbol.equals in u;
18
+ return isObject(u) && typeof u[Symbol.equals] === "function";
15
19
  }
16
20
 
17
21
  /**
@@ -1,3 +1,5 @@
1
+ import { IOError } from "@fncts/base/data/exceptions";
2
+
1
3
  import { identity, tuple } from "../function.js";
2
4
  import { ExitTag } from "./definition.js";
3
5
 
@@ -15,7 +17,7 @@ export function ap<E, A>(that: Exit<E, A>) {
15
17
  */
16
18
  export function zipLeft<G, B>(that: Exit<G, B>) {
17
19
  return <E, A>(self: Exit<E, A>): Exit<E | G, A> => {
18
- return self.zipWithCause(that, (a, _) => a, Cause.then);
20
+ return self.zipWithCause(that, (a, _) => a, Cause.sequential);
19
21
  };
20
22
  }
21
23
 
@@ -24,7 +26,7 @@ export function zipLeft<G, B>(that: Exit<G, B>) {
24
26
  */
25
27
  export function zipRight<G, B>(that: Exit<G, B>) {
26
28
  return <E, A>(self: Exit<E, A>): Exit<E | G, B> => {
27
- return self.zipWithCause(that, (_, b) => b, Cause.then);
29
+ return self.zipWithCause(that, (_, b) => b, Cause.sequential);
28
30
  };
29
31
  }
30
32
 
@@ -33,7 +35,7 @@ export function zipRight<G, B>(that: Exit<G, B>) {
33
35
  */
34
36
  export function zipLeftConcurrent<G, B>(that: Exit<G, B>) {
35
37
  return <E, A>(self: Exit<E, A>): Exit<E | G, A> => {
36
- return self.zipWithCause(that, (a, _) => a, Cause.both);
38
+ return self.zipWithCause(that, (a, _) => a, Cause.parallel);
37
39
  };
38
40
  }
39
41
 
@@ -42,7 +44,7 @@ export function zipLeftConcurrent<G, B>(that: Exit<G, B>) {
42
44
  */
43
45
  export function zipRightConcurrent<G, B>(that: Exit<G, B>) {
44
46
  return <E, A>(self: Exit<E, A>): Exit<E | G, B> => {
45
- return self.zipWithCause(that, (_, b) => b, Cause.both);
47
+ return self.zipWithCause(that, (_, b) => b, Cause.parallel);
46
48
  };
47
49
  }
48
50
 
@@ -69,7 +71,9 @@ export function bimap<E1, A, E2, B>(f: (e: E1) => E2, g: (a: A) => B) {
69
71
  */
70
72
  export function collectAll<E, A>(exits: Conc<Exit<E, A>>): Maybe<Exit<E, Conc<A>>> {
71
73
  return exits.head.map((head) =>
72
- exits.drop(1).foldLeft(head.map(Conc.single), (acc, el) => acc.zipWithCause(el, (c, a) => c.append(a), Cause.then)),
74
+ exits
75
+ .drop(1)
76
+ .foldLeft(head.map(Conc.single), (acc, el) => acc.zipWithCause(el, (c, a) => c.append(a), Cause.sequential)),
73
77
  );
74
78
  }
75
79
 
@@ -78,7 +82,9 @@ export function collectAll<E, A>(exits: Conc<Exit<E, A>>): Maybe<Exit<E, Conc<A>
78
82
  */
79
83
  export function collectAllConcurrent<E, A>(exits: Conc<Exit<E, A>>): Maybe<Exit<E, Conc<A>>> {
80
84
  return exits.head.map((head) =>
81
- exits.drop(1).foldLeft(head.map(Conc.single), (acc, el) => acc.zipWithCause(el, (c, a) => c.append(a), Cause.both)),
85
+ exits
86
+ .drop(1)
87
+ .foldLeft(head.map(Conc.single), (acc, el) => acc.zipWithCause(el, (c, a) => c.append(a), Cause.parallel)),
82
88
  );
83
89
  }
84
90
 
@@ -137,7 +143,7 @@ export function match<E, A, B, C>(onFailure: (e: Cause<E>) => B, onSuccess: (a:
137
143
  */
138
144
  export function zipWith<A, EB, B, C>(fb: Exit<EB, B>, f: (a: A, b: B) => C) {
139
145
  return <EA>(fa: Exit<EA, A>): Exit<EA | EB, C> => {
140
- return fa.zipWithCause(fb, f, Cause.then);
146
+ return fa.zipWithCause(fb, f, Cause.sequential);
141
147
  };
142
148
  }
143
149
 
@@ -155,7 +161,7 @@ export function zip<EB, B>(that: Exit<EB, B>) {
155
161
  */
156
162
  export function zipWithConcurrent<A, EB, B, C>(fb: Exit<EB, B>, f: (a: A, b: B) => C) {
157
163
  return <EA>(fa: Exit<EA, A>): Exit<EA | EB, C> => {
158
- return fa.zipWithCause(fb, f, Cause.both);
164
+ return fa.zipWithCause(fb, f, Cause.parallel);
159
165
  };
160
166
  }
161
167
 
@@ -201,3 +207,27 @@ export function zipWithCause<E, A, G, B, C>(
201
207
  }
202
208
  };
203
209
  }
210
+
211
+ /**
212
+ * Returns the Exit's Success value if it exists
213
+ *
214
+ * @tsplus getter fncts.Exit value
215
+ */
216
+ export function value<E, A>(self: Exit<E, A>): A | undefined {
217
+ if (self.isFailure()) {
218
+ return undefined;
219
+ }
220
+ return self.value;
221
+ }
222
+
223
+ /**
224
+ * Returns the Exit's Success value if it exists, or throws the pretty-printed Cause if it doesn't
225
+ *
226
+ * @tsplus getter fncts.Exit valueOrThrow
227
+ */
228
+ export function valueOrThrow<E, A>(self: Exit<E, A>): A {
229
+ if (self.isFailure()) {
230
+ throw new IOError(self.cause);
231
+ }
232
+ return self.value;
233
+ }
@@ -3,14 +3,14 @@ import { Failure, Success } from "./definition.js";
3
3
  /**
4
4
  * @tsplus static fncts.ExitOps halt
5
5
  */
6
- export function halt(defect: unknown): Exit<never, never> {
6
+ export function halt(defect: unknown, __tsplusTrace?: string): Exit<never, never> {
7
7
  return failCause(Cause.halt(defect));
8
8
  }
9
9
 
10
10
  /**
11
11
  * @tsplus static fncts.ExitOps fail
12
12
  */
13
- export function fail<E = never, A = never>(e: E): Exit<E, A> {
13
+ export function fail<E = never, A = never>(e: E, __tsplusTrace?: string): Exit<E, A> {
14
14
  return failCause(Cause.fail(e));
15
15
  }
16
16
 
@@ -31,22 +31,22 @@ export function fromMaybe<E, A>(fa: Maybe<A>, onNothing: () => E): Exit<E, A> {
31
31
  /**
32
32
  * @tsplus static fncts.ExitOps failCause
33
33
  */
34
- export function failCause<E = never, A = never>(cause: Cause<E>): Exit<E, A> {
35
- return new Failure(cause);
34
+ export function failCause<E = never, A = never>(cause: Cause<E>, __tsplusTrace?: string): Exit<E, A> {
35
+ return new Failure(cause, __tsplusTrace);
36
36
  }
37
37
 
38
38
  /**
39
39
  * @tsplus static fncts.ExitOps interrupt
40
40
  */
41
- export function interrupt(id: FiberId): Exit<never, never> {
41
+ export function interrupt(id: FiberId, __tsplusTrace?: string): Exit<never, never> {
42
42
  return failCause(Cause.interrupt(id));
43
43
  }
44
44
 
45
45
  /**
46
46
  * @tsplus static fncts.ExitOps succeed
47
47
  */
48
- export function succeed<E = never, A = never>(value: A): Exit<E, A> {
49
- return new Success(value);
48
+ export function succeed<E = never, A = never>(value: A, __tsplusTrace?: string): Exit<E, A> {
49
+ return new Success(value, __tsplusTrace);
50
50
  }
51
51
 
52
52
  /**