@fncts/base 0.0.39 → 0.0.41

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 (722) hide show
  1. package/_cjs/collection/AsyncIterable/api.cjs +384 -0
  2. package/_cjs/collection/AsyncIterable/api.cjs.map +1 -0
  3. package/_cjs/collection/AsyncIterable/definition.cjs +2 -0
  4. package/_cjs/collection/AsyncIterable/definition.cjs.map +1 -0
  5. package/_cjs/collection/{compat/Array.cjs → AsyncIterable.cjs} +3 -3
  6. package/_cjs/collection/AsyncIterable.cjs.map +1 -0
  7. package/_cjs/collection/Iterable/api/traverseConc.cjs +1 -2
  8. package/_cjs/collection/Iterable/api/traverseConc.cjs.map +1 -1
  9. package/_cjs/collection/Iterable/api.cjs +180 -137
  10. package/_cjs/collection/Iterable/api.cjs.map +1 -1
  11. package/_cjs/collection/Iterable/constructors.cjs.map +1 -1
  12. package/_cjs/collection/compat/ArrayLike/api.cjs +1 -2
  13. package/_cjs/collection/compat/ArrayLike/api.cjs.map +1 -1
  14. package/_cjs/collection/compat/ArrayLike/definition.cjs +0 -4
  15. package/_cjs/collection/compat/Map/definition.cjs +0 -4
  16. package/_cjs/collection/compat/Set/definition.cjs +0 -4
  17. package/_cjs/collection/compat.cjs +0 -4
  18. package/_cjs/collection/immutable/Conc/api/makeBy.cjs +1 -2
  19. package/_cjs/collection/immutable/Conc/api/makeBy.cjs.map +1 -1
  20. package/_cjs/collection/immutable/Conc/api/replicate.cjs +1 -2
  21. package/_cjs/collection/immutable/Conc/api/replicate.cjs.map +1 -1
  22. package/_cjs/collection/immutable/Conc/api.cjs +1 -2
  23. package/_cjs/collection/immutable/Conc/api.cjs.map +1 -1
  24. package/_cjs/collection/immutable/Conc/constructors.cjs +3 -4
  25. package/_cjs/collection/immutable/Conc/constructors.cjs.map +1 -1
  26. package/_cjs/collection/immutable/Conc/definition.cjs +3 -3
  27. package/_cjs/collection/immutable/Conc/definition.cjs.map +1 -1
  28. package/_cjs/collection/immutable/Dictionary/api.cjs +1 -2
  29. package/_cjs/collection/immutable/Dictionary/api.cjs.map +1 -1
  30. package/_cjs/collection/immutable/Dictionary/definition.cjs +1 -2
  31. package/_cjs/collection/immutable/Dictionary/definition.cjs.map +1 -1
  32. package/_cjs/collection/immutable/HashMap/api.cjs +1 -2
  33. package/_cjs/collection/immutable/HashMap/api.cjs.map +1 -1
  34. package/_cjs/collection/immutable/HashMap/definition.cjs +1 -2
  35. package/_cjs/collection/immutable/HashMap/definition.cjs.map +1 -1
  36. package/_cjs/collection/immutable/HashMap/internal.cjs +1 -2
  37. package/_cjs/collection/immutable/HashMap/internal.cjs.map +1 -1
  38. package/_cjs/collection/immutable/HashSet/api.cjs +1 -2
  39. package/_cjs/collection/immutable/HashSet/api.cjs.map +1 -1
  40. package/_cjs/collection/immutable/HashSet/definition.cjs +1 -2
  41. package/_cjs/collection/immutable/HashSet/definition.cjs.map +1 -1
  42. package/_cjs/collection/immutable/List/api/foldLeft.cjs +1 -2
  43. package/_cjs/collection/immutable/List/api/foldLeft.cjs.map +1 -1
  44. package/_cjs/collection/immutable/List/api/unsafeTail.cjs +1 -2
  45. package/_cjs/collection/immutable/List/api/unsafeTail.cjs.map +1 -1
  46. package/_cjs/collection/immutable/List/api.cjs +3 -4
  47. package/_cjs/collection/immutable/List/api.cjs.map +1 -1
  48. package/_cjs/collection/immutable/List/constructors.cjs +1 -2
  49. package/_cjs/collection/immutable/List/constructors.cjs.map +1 -1
  50. package/_cjs/collection/immutable/List/definition.cjs +1 -2
  51. package/_cjs/collection/immutable/List/definition.cjs.map +1 -1
  52. package/_cjs/collection/immutable/Queue/api.cjs +1 -2
  53. package/_cjs/collection/immutable/Queue/api.cjs.map +1 -1
  54. package/_cjs/collection/immutable/Queue/constructors.cjs +1 -2
  55. package/_cjs/collection/immutable/Queue/constructors.cjs.map +1 -1
  56. package/_cjs/collection/immutable/Queue/definition.cjs +1 -2
  57. package/_cjs/collection/immutable/Queue/definition.cjs.map +1 -1
  58. package/_cjs/collection/immutable/Queue/guards.cjs +1 -2
  59. package/_cjs/collection/immutable/Queue/guards.cjs.map +1 -1
  60. package/_cjs/collection/immutable/ReadonlyArray/api/chunksOf.cjs +18 -0
  61. package/_cjs/collection/immutable/ReadonlyArray/api/chunksOf.cjs.map +1 -0
  62. package/_cjs/collection/immutable/ReadonlyArray/api/splitAt.cjs +15 -0
  63. package/_cjs/collection/immutable/ReadonlyArray/api/splitAt.cjs.map +1 -0
  64. package/_cjs/collection/immutable/ReadonlyArray/api/splitWhere.cjs +26 -0
  65. package/_cjs/collection/immutable/ReadonlyArray/api/splitWhere.cjs.map +1 -0
  66. package/_cjs/collection/immutable/{ImmutableArray → ReadonlyArray}/api.cjs +562 -538
  67. package/_cjs/collection/immutable/ReadonlyArray/api.cjs.map +1 -0
  68. package/_cjs/collection/immutable/ReadonlyArray/constructors.cjs +55 -0
  69. package/_cjs/collection/immutable/ReadonlyArray/constructors.cjs.map +1 -0
  70. package/_cjs/collection/immutable/ReadonlyArray/definition.cjs.map +1 -0
  71. package/_cjs/collection/immutable/{ImmutableArray → ReadonlyArray}/instances.cjs +5 -7
  72. package/_cjs/collection/immutable/ReadonlyArray/instances.cjs.map +1 -0
  73. package/_cjs/collection/immutable/{ImmutableArray.cjs → ReadonlyArray.cjs} +8 -19
  74. package/_cjs/collection/immutable/ReadonlyArray.cjs.map +1 -0
  75. package/_cjs/collection/immutable/ReadonlyNonEmptyArray/api.cjs +472 -0
  76. package/_cjs/collection/immutable/ReadonlyNonEmptyArray/api.cjs.map +1 -0
  77. package/_cjs/collection/immutable/ReadonlyNonEmptyArray/constructors.cjs +79 -0
  78. package/_cjs/collection/immutable/ReadonlyNonEmptyArray/constructors.cjs.map +1 -0
  79. package/_cjs/collection/immutable/ReadonlyNonEmptyArray/definition.cjs +2 -0
  80. package/_cjs/collection/immutable/ReadonlyNonEmptyArray/definition.cjs.map +1 -0
  81. package/_cjs/collection/immutable/ReadonlyNonEmptyArray/destructors.cjs +49 -0
  82. package/_cjs/collection/immutable/ReadonlyNonEmptyArray/destructors.cjs.map +1 -0
  83. package/_cjs/collection/immutable/{ImmutableNonEmptyArray → ReadonlyNonEmptyArray}/instances.cjs +3 -4
  84. package/_cjs/collection/immutable/ReadonlyNonEmptyArray/instances.cjs.map +1 -0
  85. package/_cjs/collection/immutable/{ImmutableNonEmptyArray.cjs → ReadonlyNonEmptyArray.cjs} +6 -6
  86. package/_cjs/collection/immutable/ReadonlyNonEmptyArray.cjs.map +1 -0
  87. package/_cjs/collection/immutable/RoseTree/api.cjs +1 -2
  88. package/_cjs/collection/immutable/RoseTree/api.cjs.map +1 -1
  89. package/_cjs/collection/immutable/RoseTree/definition.cjs +1 -2
  90. package/_cjs/collection/immutable/RoseTree/definition.cjs.map +1 -1
  91. package/_cjs/collection/immutable/SortedMap/api.cjs +1 -2
  92. package/_cjs/collection/immutable/SortedMap/api.cjs.map +1 -1
  93. package/_cjs/collection/immutable/SortedMap/iterator.cjs +1 -2
  94. package/_cjs/collection/immutable/SortedMap/iterator.cjs.map +1 -1
  95. package/_cjs/collection/immutable/Vector/api.cjs +229 -230
  96. package/_cjs/collection/immutable/Vector/api.cjs.map +1 -1
  97. package/_cjs/collection/immutable/Vector/definition.cjs +1 -2
  98. package/_cjs/collection/immutable/Vector/definition.cjs.map +1 -1
  99. package/_cjs/collection/immutable.cjs +0 -4
  100. package/_cjs/collection/internal.cjs +0 -4
  101. package/_cjs/collection/mutable/ArrayDeque.cjs +1 -2
  102. package/_cjs/collection/mutable/ArrayDeque.cjs.map +1 -1
  103. package/_cjs/collection/mutable/HashMap.cjs +1 -2
  104. package/_cjs/collection/mutable/HashMap.cjs.map +1 -1
  105. package/_cjs/collection/mutable/HashSet.cjs +1 -2
  106. package/_cjs/collection/mutable/HashSet.cjs.map +1 -1
  107. package/_cjs/collection/mutable/ListBuffer.cjs +1 -2
  108. package/_cjs/collection/mutable/ListBuffer.cjs.map +1 -1
  109. package/_cjs/collection/mutable.cjs +0 -4
  110. package/_cjs/collection/weak/IterableWeakMap.cjs +1 -2
  111. package/_cjs/collection/weak/IterableWeakMap.cjs.map +1 -1
  112. package/_cjs/collection/weak.cjs +0 -4
  113. package/_cjs/collection.cjs +0 -4
  114. package/_cjs/control/Eval/api.cjs +89 -41
  115. package/_cjs/control/Eval/api.cjs.map +1 -1
  116. package/_cjs/control/Eval/constructors.cjs +5 -1
  117. package/_cjs/control/Eval/constructors.cjs.map +1 -1
  118. package/_cjs/control/Eval/instance.cjs +1 -2
  119. package/_cjs/control/Eval/instance.cjs.map +1 -1
  120. package/_cjs/control/Eval/run.cjs +1 -2
  121. package/_cjs/control/Eval/run.cjs.map +1 -1
  122. package/_cjs/control/Pure/api.cjs +1 -2
  123. package/_cjs/control/Pure/api.cjs.map +1 -1
  124. package/_cjs/control/Pure/definition.cjs +1 -2
  125. package/_cjs/control/Pure/definition.cjs.map +1 -1
  126. package/_cjs/control/Pure/instances.cjs +1 -2
  127. package/_cjs/control/Pure/instances.cjs.map +1 -1
  128. package/_cjs/control/Pure/runtime.cjs +15 -10
  129. package/_cjs/control/Pure/runtime.cjs.map +1 -1
  130. package/_cjs/control.cjs +0 -4
  131. package/_cjs/data/Byte.cjs +0 -4
  132. package/_cjs/data/CaseClass.cjs +11 -14
  133. package/_cjs/data/CaseClass.cjs.map +1 -1
  134. package/_cjs/data/Cause/api/fold.cjs +33 -34
  135. package/_cjs/data/Cause/api/fold.cjs.map +1 -1
  136. package/_cjs/data/Cause/api/isEmpty.cjs +1 -2
  137. package/_cjs/data/Cause/api/isEmpty.cjs.map +1 -1
  138. package/_cjs/data/Cause/api/linearize.cjs +1 -2
  139. package/_cjs/data/Cause/api/linearize.cjs.map +1 -1
  140. package/_cjs/data/Cause/api/prettyPrint.cjs +1 -2
  141. package/_cjs/data/Cause/api/prettyPrint.cjs.map +1 -1
  142. package/_cjs/data/Cause/api/unified.cjs +1 -2
  143. package/_cjs/data/Cause/api/unified.cjs.map +1 -1
  144. package/_cjs/data/Cause/api.cjs +1 -2
  145. package/_cjs/data/Cause/api.cjs.map +1 -1
  146. package/_cjs/data/Cause/definition.cjs +1 -2
  147. package/_cjs/data/Cause/definition.cjs.map +1 -1
  148. package/_cjs/data/Const/api.cjs +7 -7
  149. package/_cjs/data/Const/api.cjs.map +1 -1
  150. package/_cjs/data/Const/instances.cjs +12 -13
  151. package/_cjs/data/Const/instances.cjs.map +1 -1
  152. package/_cjs/data/Data.cjs +1 -2
  153. package/_cjs/data/Data.cjs.map +1 -1
  154. package/_cjs/data/Date/definition.cjs +0 -4
  155. package/_cjs/data/Datum/api.cjs +110 -113
  156. package/_cjs/data/Datum/api.cjs.map +1 -1
  157. package/_cjs/data/Datum/definition.cjs +1 -2
  158. package/_cjs/data/Datum/definition.cjs.map +1 -1
  159. package/_cjs/data/Datum/instances.cjs +1 -2
  160. package/_cjs/data/Datum/instances.cjs.map +1 -1
  161. package/_cjs/data/Datum.cjs +39 -0
  162. package/_cjs/data/Datum.cjs.map +1 -0
  163. package/_cjs/data/DatumEither/api.cjs +56 -57
  164. package/_cjs/data/DatumEither/api.cjs.map +1 -1
  165. package/_cjs/data/Duration/api.cjs +1 -2
  166. package/_cjs/data/Duration/api.cjs.map +1 -1
  167. package/_cjs/data/Duration/definition.cjs +1 -2
  168. package/_cjs/data/Duration/definition.cjs.map +1 -1
  169. package/_cjs/data/Either/api/align.cjs +1 -2
  170. package/_cjs/data/Either/api/align.cjs.map +1 -1
  171. package/_cjs/data/Either/api/alignWith.cjs +1 -2
  172. package/_cjs/data/Either/api/alignWith.cjs.map +1 -1
  173. package/_cjs/data/Either/api.cjs +53 -55
  174. package/_cjs/data/Either/api.cjs.map +1 -1
  175. package/_cjs/data/Either/constructors.cjs +21 -22
  176. package/_cjs/data/Either/constructors.cjs.map +1 -1
  177. package/_cjs/data/Either/definition.cjs +1 -2
  178. package/_cjs/data/Either/definition.cjs.map +1 -1
  179. package/_cjs/data/Either/instances.cjs +1 -2
  180. package/_cjs/data/Either/instances.cjs.map +1 -1
  181. package/_cjs/data/EitherT/api.cjs +28 -29
  182. package/_cjs/data/EitherT/api.cjs.map +1 -1
  183. package/_cjs/data/Environment/api.cjs +1 -2
  184. package/_cjs/data/Environment/api.cjs.map +1 -1
  185. package/_cjs/data/Environment/definition.cjs +1 -2
  186. package/_cjs/data/Environment/definition.cjs.map +1 -1
  187. package/_cjs/data/EnvironmentPatch.cjs +2 -3
  188. package/_cjs/data/EnvironmentPatch.cjs.map +1 -1
  189. package/_cjs/data/Eq/api.cjs +189 -5
  190. package/_cjs/data/Eq/api.cjs.map +1 -1
  191. package/_cjs/data/Eq/derivations.cjs +10 -21
  192. package/_cjs/data/Eq/derivations.cjs.map +1 -1
  193. package/_cjs/data/Equatable/api.cjs +1 -2
  194. package/_cjs/data/Equatable/api.cjs.map +1 -1
  195. package/_cjs/data/Equatable/definition.cjs +1 -2
  196. package/_cjs/data/Equatable/definition.cjs.map +1 -1
  197. package/_cjs/data/Exit/api.cjs +90 -80
  198. package/_cjs/data/Exit/api.cjs.map +1 -1
  199. package/_cjs/data/Exit/constructors.cjs +1 -2
  200. package/_cjs/data/Exit/constructors.cjs.map +1 -1
  201. package/_cjs/data/Exit/definition.cjs +1 -2
  202. package/_cjs/data/Exit/definition.cjs.map +1 -1
  203. package/_cjs/data/FiberId/api.cjs +1 -2
  204. package/_cjs/data/FiberId/api.cjs.map +1 -1
  205. package/_cjs/data/FiberId/definition.cjs +1 -2
  206. package/_cjs/data/FiberId/definition.cjs.map +1 -1
  207. package/_cjs/data/Guard/api.cjs +13 -17
  208. package/_cjs/data/Guard/api.cjs.map +1 -1
  209. package/_cjs/data/HashEq.cjs +1 -2
  210. package/_cjs/data/HashEq.cjs.map +1 -1
  211. package/_cjs/data/Hashable/definition.cjs +1 -2
  212. package/_cjs/data/Hashable/definition.cjs.map +1 -1
  213. package/_cjs/data/Hashable/hash.cjs +1 -2
  214. package/_cjs/data/Hashable/hash.cjs.map +1 -1
  215. package/_cjs/data/Identity/api.cjs +1 -2
  216. package/_cjs/data/Identity/api.cjs.map +1 -1
  217. package/_cjs/data/Identity/definition.cjs +1 -2
  218. package/_cjs/data/Identity/definition.cjs.map +1 -1
  219. package/_cjs/data/Identity/instances.cjs +1 -2
  220. package/_cjs/data/Identity/instances.cjs.map +1 -1
  221. package/_cjs/data/Interval.cjs +1 -2
  222. package/_cjs/data/Interval.cjs.map +1 -1
  223. package/_cjs/data/Intervals.cjs +1 -2
  224. package/_cjs/data/Intervals.cjs.map +1 -1
  225. package/_cjs/data/Maybe/api.cjs +73 -60
  226. package/_cjs/data/Maybe/api.cjs.map +1 -1
  227. package/_cjs/data/Maybe/constructors.cjs +37 -38
  228. package/_cjs/data/Maybe/constructors.cjs.map +1 -1
  229. package/_cjs/data/Maybe/definition.cjs +1 -2
  230. package/_cjs/data/Maybe/definition.cjs.map +1 -1
  231. package/_cjs/data/Maybe/instances.cjs +1 -2
  232. package/_cjs/data/Maybe/instances.cjs.map +1 -1
  233. package/_cjs/data/Newtype.cjs +1 -2
  234. package/_cjs/data/Newtype.cjs.map +1 -1
  235. package/_cjs/data/Ord/api.cjs +1 -2
  236. package/_cjs/data/Ord/api.cjs.map +1 -1
  237. package/_cjs/data/Ord/definition.cjs +1 -2
  238. package/_cjs/data/Ord/definition.cjs.map +1 -1
  239. package/_cjs/data/Ord/instances.cjs +1 -2
  240. package/_cjs/data/Ord/instances.cjs.map +1 -1
  241. package/_cjs/data/Predicate/definition.cjs +0 -4
  242. package/_cjs/data/Predicate/match.cjs +0 -4
  243. package/_cjs/data/Refinement/definition.cjs +0 -4
  244. package/_cjs/data/Showable/definition.cjs +1 -2
  245. package/_cjs/data/Showable/definition.cjs.map +1 -1
  246. package/_cjs/data/Showable/show.cjs +1 -2
  247. package/_cjs/data/Showable/show.cjs.map +1 -1
  248. package/_cjs/data/Showable/styles.cjs +1 -2
  249. package/_cjs/data/Showable/styles.cjs.map +1 -1
  250. package/_cjs/data/Showable/util.cjs +1 -2
  251. package/_cjs/data/Showable/util.cjs.map +1 -1
  252. package/_cjs/data/Struct/api.cjs +5 -7
  253. package/_cjs/data/Struct/api.cjs.map +1 -1
  254. package/_cjs/data/Struct/definition.cjs +1 -2
  255. package/_cjs/data/Struct/definition.cjs.map +1 -1
  256. package/_cjs/data/Tag/constructors.cjs +1 -2
  257. package/_cjs/data/Tag/constructors.cjs.map +1 -1
  258. package/_cjs/data/Tag/definition.cjs +1 -2
  259. package/_cjs/data/Tag/definition.cjs.map +1 -1
  260. package/_cjs/data/These/api.cjs +86 -87
  261. package/_cjs/data/These/api.cjs.map +1 -1
  262. package/_cjs/data/These/constructors.cjs +1 -2
  263. package/_cjs/data/These/constructors.cjs.map +1 -1
  264. package/_cjs/data/These/definition.cjs +1 -2
  265. package/_cjs/data/These/definition.cjs.map +1 -1
  266. package/_cjs/data/These/destructors.cjs +1 -2
  267. package/_cjs/data/These/destructors.cjs.map +1 -1
  268. package/_cjs/data/These/instances.cjs +1 -2
  269. package/_cjs/data/These/instances.cjs.map +1 -1
  270. package/_cjs/data/Trace/api.cjs +1 -2
  271. package/_cjs/data/Trace/api.cjs.map +1 -1
  272. package/_cjs/data/Trace/constructors.cjs +1 -2
  273. package/_cjs/data/Trace/constructors.cjs.map +1 -1
  274. package/_cjs/data/Zipped.cjs +1 -2
  275. package/_cjs/data/Zipped.cjs.map +1 -1
  276. package/_cjs/data/bigint/definition.cjs +0 -4
  277. package/_cjs/data/bigint/instances.cjs +1 -2
  278. package/_cjs/data/bigint/instances.cjs.map +1 -1
  279. package/_cjs/data/boolean/definition.cjs +0 -4
  280. package/_cjs/data/boolean/instances.cjs +1 -2
  281. package/_cjs/data/boolean/instances.cjs.map +1 -1
  282. package/_cjs/data/exceptions/IOError.cjs +1 -2
  283. package/_cjs/data/exceptions/IOError.cjs.map +1 -1
  284. package/_cjs/data/exceptions/InterruptedException.cjs +1 -2
  285. package/_cjs/data/exceptions/InterruptedException.cjs.map +1 -1
  286. package/_cjs/data/exceptions/RuntimeError.cjs +0 -4
  287. package/_cjs/data/function/definition.cjs +0 -4
  288. package/_cjs/data/number/definition.cjs +0 -4
  289. package/_cjs/data/number/instances.cjs +1 -2
  290. package/_cjs/data/number/instances.cjs.map +1 -1
  291. package/_cjs/data/object/definition.cjs +0 -4
  292. package/_cjs/data/object/instances.cjs +1 -2
  293. package/_cjs/data/object/instances.cjs.map +1 -1
  294. package/_cjs/data/string/api.cjs +1 -2
  295. package/_cjs/data/string/api.cjs.map +1 -1
  296. package/_cjs/data/string/definition.cjs +0 -4
  297. package/_cjs/data/string/instances.cjs +1 -2
  298. package/_cjs/data/string/instances.cjs.map +1 -1
  299. package/_cjs/data.cjs +0 -4
  300. package/_cjs/global.cjs +0 -4
  301. package/_cjs/index.cjs +0 -4
  302. package/_cjs/internal/Stack.cjs +7 -2
  303. package/_cjs/internal/Stack.cjs.map +1 -1
  304. package/_cjs/json.cjs +0 -4
  305. package/_cjs/optics/At/api.cjs +1 -2
  306. package/_cjs/optics/At/api.cjs.map +1 -1
  307. package/_cjs/optics/At/definition.cjs +1 -2
  308. package/_cjs/optics/At/definition.cjs.map +1 -1
  309. package/_cjs/optics/Index/api.cjs +3 -4
  310. package/_cjs/optics/Index/api.cjs.map +1 -1
  311. package/_cjs/optics/Iso/api.cjs +1 -2
  312. package/_cjs/optics/Iso/api.cjs.map +1 -1
  313. package/_cjs/optics/Iso/definition.cjs +1 -2
  314. package/_cjs/optics/Iso/definition.cjs.map +1 -1
  315. package/_cjs/optics/Lens/api.cjs +2 -3
  316. package/_cjs/optics/Lens/api.cjs.map +1 -1
  317. package/_cjs/optics/Lens/definition.cjs +1 -2
  318. package/_cjs/optics/Lens/definition.cjs.map +1 -1
  319. package/_cjs/optics/Optional/api/compose.cjs +1 -2
  320. package/_cjs/optics/Optional/api/compose.cjs.map +1 -1
  321. package/_cjs/optics/Optional/api/focus.cjs +1 -2
  322. package/_cjs/optics/Optional/api/focus.cjs.map +1 -1
  323. package/_cjs/optics/Optional/api.cjs +1 -2
  324. package/_cjs/optics/Optional/api.cjs.map +1 -1
  325. package/_cjs/optics/Optional/definition.cjs +1 -2
  326. package/_cjs/optics/Optional/definition.cjs.map +1 -1
  327. package/_cjs/optics/Prism/api/compose.cjs +1 -2
  328. package/_cjs/optics/Prism/api/compose.cjs.map +1 -1
  329. package/_cjs/optics/Prism/api/focus.cjs +1 -2
  330. package/_cjs/optics/Prism/api/focus.cjs.map +1 -1
  331. package/_cjs/optics/Prism/api/fromNullable.cjs +1 -2
  332. package/_cjs/optics/Prism/api/fromNullable.cjs.map +1 -1
  333. package/_cjs/optics/Prism/api/just.cjs +1 -2
  334. package/_cjs/optics/Prism/api/just.cjs.map +1 -1
  335. package/_cjs/optics/Prism/definition.cjs +1 -2
  336. package/_cjs/optics/Prism/definition.cjs.map +1 -1
  337. package/_cjs/optics/Traversal/api/compose.cjs +1 -2
  338. package/_cjs/optics/Traversal/api/compose.cjs.map +1 -1
  339. package/_cjs/optics/Traversal/api/focus.cjs +1 -2
  340. package/_cjs/optics/Traversal/api/focus.cjs.map +1 -1
  341. package/_cjs/optics/Traversal/api/fromTraversable.cjs +1 -2
  342. package/_cjs/optics/Traversal/api/fromTraversable.cjs.map +1 -1
  343. package/_cjs/optics/Traversal/definition.cjs +1 -2
  344. package/_cjs/optics/Traversal/definition.cjs.map +1 -1
  345. package/_cjs/optics.cjs +0 -4
  346. package/_cjs/typeclass/ApplicativeExcept.cjs +1 -2
  347. package/_cjs/typeclass/ApplicativeExcept.cjs.map +1 -1
  348. package/_cjs/typeclass/Apply.cjs +1 -14
  349. package/_cjs/typeclass/Apply.cjs.map +1 -1
  350. package/_cjs/typeclass/Chain.cjs +1 -2
  351. package/_cjs/typeclass/Chain.cjs.map +1 -1
  352. package/_cjs/typeclass/Fail.cjs +0 -4
  353. package/_cjs/typeclass/MonadExcept.cjs +1 -2
  354. package/_cjs/typeclass/MonadExcept.cjs.map +1 -1
  355. package/_cjs/typeclass/Monoid.cjs +1 -2
  356. package/_cjs/typeclass/Monoid.cjs.map +1 -1
  357. package/_cjs/typeclass/Nil.cjs +0 -4
  358. package/_cjs/typeclass/Semialign.cjs +1 -2
  359. package/_cjs/typeclass/Semialign.cjs.map +1 -1
  360. package/_cjs/typeclass/Semigroup/api.cjs +1 -2
  361. package/_cjs/typeclass/Semigroup/api.cjs.map +1 -1
  362. package/_cjs/typeclass/Semigroup/derivations.cjs +1 -2
  363. package/_cjs/typeclass/Semigroup/derivations.cjs.map +1 -1
  364. package/_cjs/typeclass/Witherable.cjs +1 -2
  365. package/_cjs/typeclass/Witherable.cjs.map +1 -1
  366. package/_cjs/typeclass/WitherableWithIndex.cjs +1 -2
  367. package/_cjs/typeclass/WitherableWithIndex.cjs.map +1 -1
  368. package/_cjs/typeclass/builtin/Symbol.cjs +0 -4
  369. package/_cjs/types/extractions.cjs +0 -4
  370. package/_cjs/types/utility.cjs +0 -4
  371. package/_cjs/util/AnsiFormat.cjs +1 -2
  372. package/_cjs/util/AnsiFormat.cjs.map +1 -1
  373. package/_cjs/util/assert.cjs +1 -1
  374. package/_cjs/util/assert.cjs.map +1 -1
  375. package/_cjs/util/pattern.cjs.map +1 -1
  376. package/_cjs/util/rand/distribution/Distribution.cjs +0 -4
  377. package/_cjs/util/rand/generator/RandomGenerator.cjs.map +1 -1
  378. package/_cjs/util.cjs +0 -4
  379. package/_mjs/collection/AsyncIterable/api.mjs +366 -0
  380. package/_mjs/collection/AsyncIterable/api.mjs.map +1 -0
  381. package/_mjs/collection/AsyncIterable/definition.mjs +2 -0
  382. package/_mjs/collection/AsyncIterable/definition.mjs.map +1 -0
  383. package/_mjs/collection/AsyncIterable.mjs +4 -0
  384. package/_mjs/collection/AsyncIterable.mjs.map +1 -0
  385. package/_mjs/collection/Iterable/api.mjs +175 -134
  386. package/_mjs/collection/Iterable/api.mjs.map +1 -1
  387. package/_mjs/collection/Iterable/constructors.mjs.map +1 -1
  388. package/_mjs/collection/compat/ArrayLike/definition.mjs +1 -1
  389. package/_mjs/collection/compat/Map/definition.mjs +1 -1
  390. package/_mjs/collection/compat/Set/definition.mjs +1 -1
  391. package/_mjs/collection/compat.mjs +1 -1
  392. package/_mjs/collection/immutable/Conc/constructors.mjs +2 -2
  393. package/_mjs/collection/immutable/Conc/constructors.mjs.map +1 -1
  394. package/_mjs/collection/immutable/Conc/definition.mjs +1 -1
  395. package/_mjs/collection/immutable/Conc/definition.mjs.map +1 -1
  396. package/_mjs/collection/immutable/List/api.mjs +2 -2
  397. package/_mjs/collection/immutable/List/api.mjs.map +1 -1
  398. package/_mjs/collection/immutable/{ImmutableArray → ReadonlyArray}/api/chunksOf.mjs +3 -3
  399. package/_mjs/collection/immutable/ReadonlyArray/api/chunksOf.mjs.map +1 -0
  400. package/_mjs/collection/immutable/ReadonlyArray/api/splitAt.mjs +9 -0
  401. package/_mjs/collection/immutable/ReadonlyArray/api/splitAt.mjs.map +1 -0
  402. package/_mjs/collection/immutable/ReadonlyArray/api/splitWhere.mjs +19 -0
  403. package/_mjs/collection/immutable/ReadonlyArray/api/splitWhere.mjs.map +1 -0
  404. package/_mjs/collection/immutable/ReadonlyArray/api.mjs +1302 -0
  405. package/_mjs/collection/immutable/ReadonlyArray/api.mjs.map +1 -0
  406. package/_mjs/collection/immutable/ReadonlyArray/constructors.mjs +44 -0
  407. package/_mjs/collection/immutable/ReadonlyArray/constructors.mjs.map +1 -0
  408. package/_mjs/collection/immutable/ReadonlyArray/definition.mjs.map +1 -0
  409. package/_mjs/collection/immutable/{ImmutableArray → ReadonlyArray}/instances.mjs +4 -5
  410. package/_mjs/collection/immutable/ReadonlyArray/instances.mjs.map +1 -0
  411. package/_mjs/collection/immutable/ReadonlyArray.mjs +11 -0
  412. package/_mjs/collection/immutable/ReadonlyArray.mjs.map +1 -0
  413. package/_mjs/collection/immutable/ReadonlyNonEmptyArray/api.mjs +433 -0
  414. package/_mjs/collection/immutable/ReadonlyNonEmptyArray/api.mjs.map +1 -0
  415. package/_mjs/collection/immutable/{ImmutableNonEmptyArray → ReadonlyNonEmptyArray}/constructors.mjs +16 -15
  416. package/_mjs/collection/immutable/ReadonlyNonEmptyArray/constructors.mjs.map +1 -0
  417. package/_mjs/collection/immutable/ReadonlyNonEmptyArray/definition.mjs +2 -0
  418. package/_mjs/collection/immutable/ReadonlyNonEmptyArray/definition.mjs.map +1 -0
  419. package/_mjs/collection/immutable/ReadonlyNonEmptyArray/destructors.mjs +41 -0
  420. package/_mjs/collection/immutable/ReadonlyNonEmptyArray/destructors.mjs.map +1 -0
  421. package/_mjs/collection/immutable/{ImmutableNonEmptyArray → ReadonlyNonEmptyArray}/instances.mjs +2 -2
  422. package/_mjs/collection/immutable/ReadonlyNonEmptyArray/instances.mjs.map +1 -0
  423. package/_mjs/collection/immutable/ReadonlyNonEmptyArray.mjs +7 -0
  424. package/_mjs/collection/immutable/ReadonlyNonEmptyArray.mjs.map +1 -0
  425. package/_mjs/collection/immutable/Vector/api.mjs +224 -224
  426. package/_mjs/collection/immutable/Vector/api.mjs.map +1 -1
  427. package/_mjs/collection/immutable.mjs +1 -1
  428. package/_mjs/collection/internal.mjs +1 -1
  429. package/_mjs/collection/mutable.mjs +1 -1
  430. package/_mjs/collection/weak.mjs +1 -1
  431. package/_mjs/collection.mjs +1 -1
  432. package/_mjs/control/Eval/api.mjs +83 -15
  433. package/_mjs/control/Eval/api.mjs.map +1 -1
  434. package/_mjs/control/Eval/constructors.mjs +4 -0
  435. package/_mjs/control/Eval/constructors.mjs.map +1 -1
  436. package/_mjs/control/Pure/runtime.mjs +14 -8
  437. package/_mjs/control/Pure/runtime.mjs.map +1 -1
  438. package/_mjs/control.mjs +1 -1
  439. package/_mjs/data/Byte.mjs +1 -1
  440. package/_mjs/data/CaseClass.mjs +10 -12
  441. package/_mjs/data/CaseClass.mjs.map +1 -1
  442. package/_mjs/data/Cause/api/fold.mjs +32 -32
  443. package/_mjs/data/Cause/api/fold.mjs.map +1 -1
  444. package/_mjs/data/Const/api.mjs +7 -7
  445. package/_mjs/data/Const/api.mjs.map +1 -1
  446. package/_mjs/data/Const/instances.mjs +11 -11
  447. package/_mjs/data/Const/instances.mjs.map +1 -1
  448. package/_mjs/data/Date/definition.mjs +1 -1
  449. package/_mjs/data/Datum/api.mjs +107 -108
  450. package/_mjs/data/Datum/api.mjs.map +1 -1
  451. package/_mjs/data/Datum.mjs +5 -0
  452. package/_mjs/data/Datum.mjs.map +1 -0
  453. package/_mjs/data/DatumEither/api.mjs +53 -53
  454. package/_mjs/data/DatumEither/api.mjs.map +1 -1
  455. package/_mjs/data/Either/api.mjs +42 -42
  456. package/_mjs/data/Either/api.mjs.map +1 -1
  457. package/_mjs/data/Either/constructors.mjs +20 -20
  458. package/_mjs/data/Either/constructors.mjs.map +1 -1
  459. package/_mjs/data/EitherT/api.mjs +27 -27
  460. package/_mjs/data/EitherT/api.mjs.map +1 -1
  461. package/_mjs/data/Environment/api.mjs.map +1 -1
  462. package/_mjs/data/EnvironmentPatch.mjs +1 -1
  463. package/_mjs/data/Eq/api.mjs +175 -3
  464. package/_mjs/data/Eq/api.mjs.map +1 -1
  465. package/_mjs/data/Eq/derivations.mjs +8 -19
  466. package/_mjs/data/Eq/derivations.mjs.map +1 -1
  467. package/_mjs/data/Exit/api.mjs +88 -78
  468. package/_mjs/data/Exit/api.mjs.map +1 -1
  469. package/_mjs/data/Guard/api.mjs +12 -15
  470. package/_mjs/data/Guard/api.mjs.map +1 -1
  471. package/_mjs/data/Maybe/api.mjs +71 -58
  472. package/_mjs/data/Maybe/api.mjs.map +1 -1
  473. package/_mjs/data/Maybe/constructors.mjs +36 -36
  474. package/_mjs/data/Maybe/constructors.mjs.map +1 -1
  475. package/_mjs/data/Predicate/definition.mjs +1 -1
  476. package/_mjs/data/Predicate/match.mjs +1 -1
  477. package/_mjs/data/Refinement/definition.mjs +1 -1
  478. package/_mjs/data/Showable/util.mjs.map +1 -1
  479. package/_mjs/data/Struct/api.mjs +4 -5
  480. package/_mjs/data/Struct/api.mjs.map +1 -1
  481. package/_mjs/data/These/api.mjs +85 -85
  482. package/_mjs/data/These/api.mjs.map +1 -1
  483. package/_mjs/data/bigint/definition.mjs +1 -1
  484. package/_mjs/data/boolean/definition.mjs +1 -1
  485. package/_mjs/data/exceptions/RuntimeError.mjs +1 -1
  486. package/_mjs/data/function/definition.mjs +1 -1
  487. package/_mjs/data/number/definition.mjs +1 -1
  488. package/_mjs/data/object/definition.mjs +1 -1
  489. package/_mjs/data/string/definition.mjs +1 -1
  490. package/_mjs/data.mjs +1 -1
  491. package/_mjs/global.mjs +1 -1
  492. package/_mjs/index.mjs +1 -1
  493. package/_mjs/internal/Stack.mjs +7 -2
  494. package/_mjs/internal/Stack.mjs.map +1 -1
  495. package/_mjs/json.mjs +1 -1
  496. package/_mjs/optics/Index/api.mjs +2 -2
  497. package/_mjs/optics/Index/api.mjs.map +1 -1
  498. package/_mjs/optics/Lens/api.mjs +1 -1
  499. package/_mjs/optics.mjs +1 -1
  500. package/_mjs/typeclass/Apply.mjs +0 -12
  501. package/_mjs/typeclass/Apply.mjs.map +1 -1
  502. package/_mjs/typeclass/Fail.mjs +1 -1
  503. package/_mjs/typeclass/Nil.mjs +1 -1
  504. package/_mjs/typeclass/builtin/Symbol.mjs +1 -1
  505. package/_mjs/types/extractions.mjs +1 -1
  506. package/_mjs/types/utility.mjs +1 -1
  507. package/_mjs/util/assert.mjs +1 -1
  508. package/_mjs/util/assert.mjs.map +1 -1
  509. package/_mjs/util/pattern.mjs.map +1 -1
  510. package/_mjs/util/rand/distribution/Distribution.mjs +1 -1
  511. package/_mjs/util/rand/generator/RandomGenerator.mjs.map +1 -1
  512. package/_mjs/util.mjs +1 -1
  513. package/_src/collection/AsyncIterable/api.ts +369 -0
  514. package/_src/collection/AsyncIterable/definition.ts +7 -0
  515. package/_src/collection/AsyncIterable.ts +4 -0
  516. package/_src/collection/Iterable/api.ts +215 -162
  517. package/_src/collection/Iterable/constructors.ts +0 -2
  518. package/_src/collection/compat/ArrayLike/definition.ts +2 -2
  519. package/_src/collection/compat.ts +0 -1
  520. package/_src/collection/immutable/Conc/constructors.ts +1 -2
  521. package/_src/collection/immutable/Conc/definition.ts +7 -6
  522. package/_src/collection/immutable/List/api.ts +2 -2
  523. package/_src/collection/immutable/ReadonlyArray/api/chunksOf.ts +8 -0
  524. package/_src/collection/immutable/ReadonlyArray/api/splitAt.ts +8 -0
  525. package/_src/collection/immutable/{ImmutableArray → ReadonlyArray}/api/splitWhere.ts +3 -3
  526. package/_src/collection/immutable/ReadonlyArray/api.ts +1536 -0
  527. package/_src/collection/immutable/ReadonlyArray/constructors.ts +47 -0
  528. package/_src/collection/{compat/Array → immutable/ReadonlyArray}/definition.ts +8 -0
  529. package/_src/collection/immutable/{ImmutableArray → ReadonlyArray}/instances.ts +22 -22
  530. package/_src/collection/immutable/ReadonlyArray.ts +12 -0
  531. package/_src/collection/immutable/ReadonlyNonEmptyArray/api.ts +481 -0
  532. package/_src/collection/immutable/ReadonlyNonEmptyArray/constructors.ts +76 -0
  533. package/_src/collection/immutable/ReadonlyNonEmptyArray/definition.ts +22 -0
  534. package/_src/collection/immutable/ReadonlyNonEmptyArray/destructors.ts +41 -0
  535. package/_src/collection/immutable/{ImmutableNonEmptyArray → ReadonlyNonEmptyArray}/instances.ts +13 -13
  536. package/_src/collection/immutable/ReadonlyNonEmptyArray.ts +7 -0
  537. package/_src/collection/immutable/Vector/api.ts +310 -309
  538. package/_src/collection/immutable.ts +11 -11
  539. package/_src/collection.ts +6 -5
  540. package/_src/control/Eval/api.ts +109 -16
  541. package/_src/control/Eval/constructors.ts +5 -0
  542. package/_src/control/Pure/runtime.ts +8 -2
  543. package/_src/data/CaseClass.ts +5 -5
  544. package/_src/data/Cause/api/fold.ts +2 -2
  545. package/_src/data/Const/api.ts +8 -8
  546. package/_src/data/Const/instances.ts +10 -10
  547. package/_src/data/Datum/api.ts +113 -113
  548. package/_src/data/Datum.ts +5 -0
  549. package/_src/data/DatumEither/api.ts +41 -43
  550. package/_src/data/Either/api.ts +47 -47
  551. package/_src/data/Either/constructors.ts +14 -16
  552. package/_src/data/EitherT/api.ts +111 -110
  553. package/_src/data/Environment/api.ts +6 -3
  554. package/_src/data/Eq/api.ts +193 -4
  555. package/_src/data/Eq/derivations.ts +12 -19
  556. package/_src/data/Exit/api.ts +89 -77
  557. package/_src/data/Guard/api.ts +11 -11
  558. package/_src/data/Maybe/api.ts +82 -73
  559. package/_src/data/Maybe/constructors.ts +34 -36
  560. package/_src/data/Showable/util.ts +1 -1
  561. package/_src/data/Struct/api.ts +1 -1
  562. package/_src/data/These/api.ts +93 -92
  563. package/_src/data.ts +1 -0
  564. package/_src/global.ts +7 -12
  565. package/_src/internal/Stack.ts +6 -2
  566. package/_src/optics/Index/api.ts +1 -1
  567. package/_src/typeclass/Apply.ts +6 -18
  568. package/_src/util/assert.ts +2 -2
  569. package/_src/util/pattern.ts +8 -90
  570. package/_src/util/rand/generator/RandomGenerator.ts +1 -0
  571. package/collection/AsyncIterable/api.d.ts +71 -0
  572. package/collection/AsyncIterable/definition.d.ts +9 -0
  573. package/collection/AsyncIterable.d.ts +2 -0
  574. package/collection/Iterable/api/traverseConc.d.ts +1 -1
  575. package/collection/Iterable/api.d.ts +40 -25
  576. package/collection/compat/ArrayLike/definition.d.ts +2 -2
  577. package/collection/compat.d.ts +0 -1
  578. package/collection/immutable/Conc/definition.d.ts +1 -1
  579. package/collection/immutable/ReadonlyArray/api/chunksOf.d.ts +5 -0
  580. package/collection/immutable/ReadonlyArray/api/splitAt.d.ts +5 -0
  581. package/collection/immutable/ReadonlyArray/api/splitWhere.d.ts +6 -0
  582. package/collection/immutable/ReadonlyArray/api.d.ts +614 -0
  583. package/collection/immutable/ReadonlyArray/constructors.d.ts +30 -0
  584. package/collection/{compat/Array → immutable/ReadonlyArray}/definition.d.ts +8 -0
  585. package/collection/immutable/ReadonlyArray/instances.d.ts +87 -0
  586. package/collection/immutable/ReadonlyArray.d.ts +7 -0
  587. package/collection/immutable/ReadonlyNonEmptyArray/api.d.ts +186 -0
  588. package/collection/immutable/ReadonlyNonEmptyArray/constructors.d.ts +45 -0
  589. package/collection/immutable/ReadonlyNonEmptyArray/definition.d.ts +21 -0
  590. package/collection/immutable/ReadonlyNonEmptyArray/destructors.d.ts +31 -0
  591. package/collection/immutable/ReadonlyNonEmptyArray/instances.d.ts +52 -0
  592. package/collection/immutable/ReadonlyNonEmptyArray.d.ts +5 -0
  593. package/collection/immutable/Vector/api.d.ts +93 -93
  594. package/collection/immutable.d.ts +2 -2
  595. package/collection.d.ts +1 -0
  596. package/control/Eval/api.d.ts +27 -5
  597. package/control/Eval/constructors.d.ts +5 -0
  598. package/data/CaseClass.d.ts +2 -3
  599. package/data/Const/api.d.ts +5 -5
  600. package/data/Const/instances.d.ts +4 -4
  601. package/data/Datum/api.d.ts +64 -64
  602. package/data/Datum.d.ts +3 -0
  603. package/data/DatumEither/api.d.ts +25 -25
  604. package/data/Either/api.d.ts +24 -24
  605. package/data/Either/constructors.d.ts +12 -12
  606. package/data/EitherT/api.d.ts +16 -16
  607. package/data/Environment/api.d.ts +4 -2
  608. package/data/Eq/api.d.ts +89 -2
  609. package/data/Eq/derivations.d.ts +7 -0
  610. package/data/Exit/api.d.ts +43 -37
  611. package/data/Guard/api.d.ts +7 -8
  612. package/data/Maybe/api.d.ts +38 -33
  613. package/data/Maybe/constructors.d.ts +16 -16
  614. package/data/Showable/util.d.ts +1 -1
  615. package/data/These/api.d.ts +26 -26
  616. package/data.d.ts +1 -0
  617. package/global.d.ts +4 -8
  618. package/internal/Stack.d.ts +2 -0
  619. package/optics/Lens/api.d.ts +1 -1
  620. package/optics/Traversal/api/fromTraversable.d.ts +1 -1
  621. package/package.json +3 -3
  622. package/typeclass/Apply.d.ts +0 -6
  623. package/util/assert.d.ts +1 -1
  624. package/_cjs/collection/compat/Array/api.cjs +0 -142
  625. package/_cjs/collection/compat/Array/api.cjs.map +0 -1
  626. package/_cjs/collection/compat/Array/definition.cjs.map +0 -1
  627. package/_cjs/collection/compat/Array.cjs.map +0 -1
  628. package/_cjs/collection/immutable/ImmutableArray/api/chunksOf.cjs +0 -19
  629. package/_cjs/collection/immutable/ImmutableArray/api/chunksOf.cjs.map +0 -1
  630. package/_cjs/collection/immutable/ImmutableArray/api/slice.cjs +0 -18
  631. package/_cjs/collection/immutable/ImmutableArray/api/slice.cjs.map +0 -1
  632. package/_cjs/collection/immutable/ImmutableArray/api/splitAt.cjs +0 -18
  633. package/_cjs/collection/immutable/ImmutableArray/api/splitAt.cjs.map +0 -1
  634. package/_cjs/collection/immutable/ImmutableArray/api/splitWhere.cjs +0 -28
  635. package/_cjs/collection/immutable/ImmutableArray/api/splitWhere.cjs.map +0 -1
  636. package/_cjs/collection/immutable/ImmutableArray/api.cjs.map +0 -1
  637. package/_cjs/collection/immutable/ImmutableArray/constructors.cjs +0 -59
  638. package/_cjs/collection/immutable/ImmutableArray/constructors.cjs.map +0 -1
  639. package/_cjs/collection/immutable/ImmutableArray/definition.cjs +0 -44
  640. package/_cjs/collection/immutable/ImmutableArray/definition.cjs.map +0 -1
  641. package/_cjs/collection/immutable/ImmutableArray/instances.cjs.map +0 -1
  642. package/_cjs/collection/immutable/ImmutableArray.cjs.map +0 -1
  643. package/_cjs/collection/immutable/ImmutableNonEmptyArray/api.cjs +0 -474
  644. package/_cjs/collection/immutable/ImmutableNonEmptyArray/api.cjs.map +0 -1
  645. package/_cjs/collection/immutable/ImmutableNonEmptyArray/constructors.cjs +0 -79
  646. package/_cjs/collection/immutable/ImmutableNonEmptyArray/constructors.cjs.map +0 -1
  647. package/_cjs/collection/immutable/ImmutableNonEmptyArray/definition.cjs +0 -36
  648. package/_cjs/collection/immutable/ImmutableNonEmptyArray/definition.cjs.map +0 -1
  649. package/_cjs/collection/immutable/ImmutableNonEmptyArray/destructors.cjs +0 -53
  650. package/_cjs/collection/immutable/ImmutableNonEmptyArray/destructors.cjs.map +0 -1
  651. package/_cjs/collection/immutable/ImmutableNonEmptyArray/instances.cjs.map +0 -1
  652. package/_cjs/collection/immutable/ImmutableNonEmptyArray.cjs.map +0 -1
  653. package/_cjs/control/Eval/api/sequenceArray.cjs +0 -17
  654. package/_cjs/control/Eval/api/sequenceArray.cjs.map +0 -1
  655. package/_mjs/collection/compat/Array/api.mjs +0 -125
  656. package/_mjs/collection/compat/Array/api.mjs.map +0 -1
  657. package/_mjs/collection/compat/Array/definition.mjs.map +0 -1
  658. package/_mjs/collection/compat/Array.mjs +0 -4
  659. package/_mjs/collection/compat/Array.mjs.map +0 -1
  660. package/_mjs/collection/immutable/ImmutableArray/api/chunksOf.mjs.map +0 -1
  661. package/_mjs/collection/immutable/ImmutableArray/api/slice.mjs +0 -10
  662. package/_mjs/collection/immutable/ImmutableArray/api/slice.mjs.map +0 -1
  663. package/_mjs/collection/immutable/ImmutableArray/api/splitAt.mjs +0 -10
  664. package/_mjs/collection/immutable/ImmutableArray/api/splitAt.mjs.map +0 -1
  665. package/_mjs/collection/immutable/ImmutableArray/api/splitWhere.mjs +0 -20
  666. package/_mjs/collection/immutable/ImmutableArray/api/splitWhere.mjs.map +0 -1
  667. package/_mjs/collection/immutable/ImmutableArray/api.mjs +0 -1284
  668. package/_mjs/collection/immutable/ImmutableArray/api.mjs.map +0 -1
  669. package/_mjs/collection/immutable/ImmutableArray/constructors.mjs +0 -46
  670. package/_mjs/collection/immutable/ImmutableArray/constructors.mjs.map +0 -1
  671. package/_mjs/collection/immutable/ImmutableArray/definition.mjs +0 -35
  672. package/_mjs/collection/immutable/ImmutableArray/definition.mjs.map +0 -1
  673. package/_mjs/collection/immutable/ImmutableArray/instances.mjs.map +0 -1
  674. package/_mjs/collection/immutable/ImmutableArray.mjs +0 -12
  675. package/_mjs/collection/immutable/ImmutableArray.mjs.map +0 -1
  676. package/_mjs/collection/immutable/ImmutableNonEmptyArray/api.mjs +0 -437
  677. package/_mjs/collection/immutable/ImmutableNonEmptyArray/api.mjs.map +0 -1
  678. package/_mjs/collection/immutable/ImmutableNonEmptyArray/constructors.mjs.map +0 -1
  679. package/_mjs/collection/immutable/ImmutableNonEmptyArray/definition.mjs +0 -25
  680. package/_mjs/collection/immutable/ImmutableNonEmptyArray/definition.mjs.map +0 -1
  681. package/_mjs/collection/immutable/ImmutableNonEmptyArray/destructors.mjs +0 -43
  682. package/_mjs/collection/immutable/ImmutableNonEmptyArray/destructors.mjs.map +0 -1
  683. package/_mjs/collection/immutable/ImmutableNonEmptyArray/instances.mjs.map +0 -1
  684. package/_mjs/collection/immutable/ImmutableNonEmptyArray.mjs +0 -7
  685. package/_mjs/collection/immutable/ImmutableNonEmptyArray.mjs.map +0 -1
  686. package/_mjs/control/Eval/api/sequenceArray.mjs +0 -9
  687. package/_mjs/control/Eval/api/sequenceArray.mjs.map +0 -1
  688. package/_src/collection/compat/Array/api.ts +0 -134
  689. package/_src/collection/compat/Array.ts +0 -4
  690. package/_src/collection/immutable/ImmutableArray/api/chunksOf.ts +0 -8
  691. package/_src/collection/immutable/ImmutableArray/api/slice.ts +0 -8
  692. package/_src/collection/immutable/ImmutableArray/api/splitAt.ts +0 -8
  693. package/_src/collection/immutable/ImmutableArray/api.ts +0 -1526
  694. package/_src/collection/immutable/ImmutableArray/constructors.ts +0 -47
  695. package/_src/collection/immutable/ImmutableArray/definition.ts +0 -48
  696. package/_src/collection/immutable/ImmutableArray.ts +0 -13
  697. package/_src/collection/immutable/ImmutableNonEmptyArray/api.ts +0 -483
  698. package/_src/collection/immutable/ImmutableNonEmptyArray/constructors.ts +0 -83
  699. package/_src/collection/immutable/ImmutableNonEmptyArray/definition.ts +0 -47
  700. package/_src/collection/immutable/ImmutableNonEmptyArray/destructors.ts +0 -41
  701. package/_src/collection/immutable/ImmutableNonEmptyArray.ts +0 -7
  702. package/_src/control/Eval/api/sequenceArray.ts +0 -6
  703. package/collection/compat/Array/api.d.ts +0 -62
  704. package/collection/compat/Array.d.ts +0 -2
  705. package/collection/immutable/ImmutableArray/api/chunksOf.d.ts +0 -6
  706. package/collection/immutable/ImmutableArray/api/slice.d.ts +0 -6
  707. package/collection/immutable/ImmutableArray/api/splitAt.d.ts +0 -6
  708. package/collection/immutable/ImmutableArray/api/splitWhere.d.ts +0 -7
  709. package/collection/immutable/ImmutableArray/api.d.ts +0 -602
  710. package/collection/immutable/ImmutableArray/constructors.d.ts +0 -32
  711. package/collection/immutable/ImmutableArray/definition.d.ts +0 -34
  712. package/collection/immutable/ImmutableArray/instances.d.ts +0 -87
  713. package/collection/immutable/ImmutableArray.d.ts +0 -8
  714. package/collection/immutable/ImmutableNonEmptyArray/api.d.ts +0 -186
  715. package/collection/immutable/ImmutableNonEmptyArray/constructors.d.ts +0 -46
  716. package/collection/immutable/ImmutableNonEmptyArray/definition.d.ts +0 -40
  717. package/collection/immutable/ImmutableNonEmptyArray/destructors.d.ts +0 -32
  718. package/collection/immutable/ImmutableNonEmptyArray/instances.d.ts +0 -52
  719. package/collection/immutable/ImmutableNonEmptyArray.d.ts +0 -5
  720. package/control/Eval/api/sequenceArray.d.ts +0 -6
  721. /package/_cjs/collection/{compat/Array → immutable/ReadonlyArray}/definition.cjs +0 -0
  722. /package/_mjs/collection/{compat/Array → immutable/ReadonlyArray}/definition.mjs +0 -0
@@ -1,14 +1,14 @@
1
1
  /* eslint-disable simple-import-sort/exports */
2
2
  // codegen:start { preset: type-barrel, include: ./immutable/*.ts }
3
- export type {} from "./immutable/Vector.js";
4
- export type {} from "./immutable/SortedMap.js";
5
- export type {} from "./immutable/RoseTree.js";
6
- export type {} from "./immutable/Queue.js";
7
- export type {} from "./immutable/List.js";
8
- export type {} from "./immutable/ImmutableNonEmptyArray.js";
9
- export type {} from "./immutable/ImmutableArray.js";
10
- export type {} from "./immutable/HashSet.js";
11
- export type {} from "./immutable/HashMap.js";
12
- export type {} from "./immutable/Dictionary.js";
13
- export type {} from "./immutable/Conc.js";
3
+ export type {} from "./immutable/Vector.js"
4
+ export type {} from "./immutable/SortedMap.js"
5
+ export type {} from "./immutable/RoseTree.js"
6
+ export type {} from "./immutable/ReadonlyNonEmptyArray.js"
7
+ export type {} from "./immutable/ReadonlyArray.js"
8
+ export type {} from "./immutable/Queue.js"
9
+ export type {} from "./immutable/List.js"
10
+ export type {} from "./immutable/HashSet.js"
11
+ export type {} from "./immutable/HashMap.js"
12
+ export type {} from "./immutable/Dictionary.js"
13
+ export type {} from "./immutable/Conc.js"
14
14
  // codegen:end
@@ -1,8 +1,9 @@
1
1
  /* eslint-disable simple-import-sort/exports */
2
2
  // codegen:start { preset: type-barrel, include: ./collection/*.ts, exclude: collection/internal.ts }
3
- export type {} from "./collection/weak.js";
4
- export type {} from "./collection/mutable.js";
5
- export type {} from "./collection/immutable.js";
6
- export type {} from "./collection/compat.js";
7
- export type {} from "./collection/Iterable.js";
3
+ export type {} from "./collection/weak.js"
4
+ export type {} from "./collection/mutable.js"
5
+ export type {} from "./collection/immutable.js"
6
+ export type {} from "./collection/compat.js"
7
+ export type {} from "./collection/Iterable.js"
8
+ export type {} from "./collection/AsyncIterable.js"
8
9
  // codegen:end
@@ -3,6 +3,15 @@ import type { _A } from "@fncts/base/types";
3
3
  import { EvalPrimitive, EvalTag } from "@fncts/base/control/Eval/definition";
4
4
  import { identity } from "@fncts/base/data/function";
5
5
 
6
+ /**
7
+ * @tsplus pipeable fncts.control.Eval ap
8
+ */
9
+ export function ap<A>(fa: Eval<A>) {
10
+ return <B>(self: Eval<(a: A) => B>): Eval<B> => {
11
+ return self.zipWith(fa, (f, a) => f(a));
12
+ };
13
+ }
14
+
6
15
  /**
7
16
  * @tsplus pipeable fncts.control.Eval and
8
17
  */
@@ -24,6 +33,43 @@ export function flatMap<A, B>(f: (a: A) => Eval<B>) {
24
33
  };
25
34
  }
26
35
 
36
+ /**
37
+ * @tsplus static fncts.control.EvalOps whileLoop
38
+ */
39
+ export function whileLoop<A>(check: Lazy<boolean>, body: Lazy<Eval<A>>, process: (a: A) => void): Eval<void> {
40
+ return Eval.defer(() => {
41
+ if (check()) {
42
+ return body().flatMap((a) => {
43
+ process(a);
44
+ return whileLoop(check, body, process);
45
+ });
46
+ } else {
47
+ return Eval.unit;
48
+ }
49
+ });
50
+ }
51
+
52
+ /**
53
+ * @tsplus static fncts.control.EvalOps forEach
54
+ */
55
+ export function forEach<A, B>(as: Iterable<A>, f: (a: A) => Eval<B>): Eval<Conc<B>> {
56
+ return Eval.defer(() => {
57
+ const iterator = as[Symbol.iterator]();
58
+ let value: IteratorResult<A> = iterator.next();
59
+
60
+ const out = new ConcBuilder<B>();
61
+
62
+ return Eval.whileLoop(
63
+ () => !value?.done,
64
+ () => f(value!.value),
65
+ (b) => {
66
+ out.append(b);
67
+ value = iterator.next();
68
+ },
69
+ ).map(() => out.result());
70
+ });
71
+ }
72
+
27
73
  /**
28
74
  * @tsplus getter fncts.control.Eval flatten
29
75
  */
@@ -58,24 +104,75 @@ export function zip<B>(fb: Eval<B>) {
58
104
  };
59
105
  }
60
106
 
107
+ export function foreachWithIndex<A, B>(as: Iterable<A>, f: (index: number, a: A) => Eval<B>): Eval<ReadonlyArray<B>> {
108
+ return Eval.defer(() => {
109
+ const it = as[Symbol.iterator]();
110
+ let i = 0;
111
+ let result: IteratorResult<A> = it.next();
112
+
113
+ const out: Array<B> = [];
114
+
115
+ return Eval.whileLoop(
116
+ () => !result.done,
117
+ () => f(i, result.value),
118
+ (b) => {
119
+ i++;
120
+ result = it.next();
121
+ out.push(b);
122
+ },
123
+ ).map(() => out);
124
+ });
125
+ }
126
+
61
127
  /**
62
- * @tsplus pipeable fncts.control.Eval ap
128
+ * @tsplus static fncts.control.EvalOps foreach
63
129
  */
64
- export function ap<A>(fa: Eval<A>) {
65
- return <B>(self: Eval<(a: A) => B>): Eval<B> => {
66
- return self.zipWith(fa, (f, a) => f(a));
67
- };
130
+ export function foreach<A, B>(as: Iterable<A>, f: (a: A) => Eval<B>): Eval<ReadonlyArray<B>> {
131
+ return Eval.defer(() => {
132
+ const it = as[Symbol.iterator]();
133
+ let result: IteratorResult<A> = it.next();
134
+ const out: Array<B> = [];
135
+ return Eval.whileLoop(
136
+ () => !result.done,
137
+ () => f(result.value),
138
+ (b) => {
139
+ result = it.next();
140
+ out.push(b);
141
+ },
142
+ ).map(() => out);
143
+ });
68
144
  }
69
145
 
70
146
  /**
71
- * @tsplus static fncts.control.EvalOps sequenceT
147
+ * @tsplus static fncts.control.EvalOps all
72
148
  */
73
- export function sequenceT<A extends Array<Eval<any>>>(
74
- ...computations: A
75
- ): Eval<{
76
- [K in keyof A]: _A<A[K]>;
77
- }> {
78
- return Eval.defer(Eval.now(computations.map((e) => e.run)) as Eval<any>);
149
+ export function all<A extends ReadonlyArray<Eval<any>>>(...computations: A): Eval<{ [K in keyof A]: _A<A[K]> }>;
150
+ export function all<A extends Iterable<Eval<any>>>(
151
+ computations: A,
152
+ ): [A] extends [Iterable<infer A>] ? Eval<ReadonlyArray<_A<A>>> : never;
153
+ export function all<A extends Record<string, Eval<any>>>(computations: A): Eval<{ [K in keyof A]: _A<A[K]> }>;
154
+ export function all(
155
+ ...args: [Record<string, Eval<any>>] | [Iterable<Eval<any>>] | ReadonlyArray<Eval<any>>
156
+ ): Eval<any> {
157
+ if (args.length === 1) {
158
+ const arg = args[0];
159
+ if (Symbol.iterator in arg) {
160
+ return Eval.foreach(<Iterable<Eval<any>>>arg, identity);
161
+ } else {
162
+ return Eval.foreach(
163
+ Object.entries(arg).map(([k, computation]) => (<Eval<any>>computation).map((value) => [k, value] as const)),
164
+ identity,
165
+ ).map((result) => {
166
+ const out: Record<string, any> = {};
167
+ for (const [k, v] of result) {
168
+ out[k] = v;
169
+ }
170
+ return out;
171
+ });
172
+ }
173
+ } else {
174
+ return Eval.foreach(<Iterable<Eval<any>>>args, identity);
175
+ }
79
176
  }
80
177
 
81
178
  class GenEval<A> {
@@ -113,7 +210,3 @@ export function gen<T extends GenEval<any>, A>(
113
210
  return runGenEval(state, iterator);
114
211
  });
115
212
  }
116
-
117
- // codegen:start { preset: barrel, include: api/*.ts }
118
- export * from "./api/sequenceArray.js";
119
- // codegen:end
@@ -26,6 +26,11 @@ export function always<A>(make: Lazy<A>): Eval<A> {
26
26
  return Eval.defer(Eval.now(make()));
27
27
  }
28
28
 
29
+ /**
30
+ * @tsplus static fncts.control.EvalOps unit
31
+ */
32
+ export const unit: Eval<void> = Eval.now(undefined);
33
+
29
34
  const UNSET = Symbol.for("@tsplus/base/control/Eval/UNSET");
30
35
 
31
36
  /**
@@ -143,8 +143,14 @@ export function unsafeRunAll<S1>(s: S1) {
143
143
  environment.push(currPure.i1);
144
144
  current = new PurePrimitive(PureTag.Match) as any;
145
145
  (current as any).i0 = currPure;
146
- (current as any).i1 = (e: any) => Pure.succeedNow(environment.pop()).flatMap(() => Pure.failNow(e));
147
- (current as any).i2 = (a: any) => Pure.succeedNow(environment.pop()).flatMap(() => Pure.succeedNow(a));
146
+ (current as any).i1 = (log: Conc<any>, e: Cause<any>) => {
147
+ environment.pop();
148
+ return Pure.failCauseNow(e).writeAll(log);
149
+ };
150
+ (current as any).i2 = (a: any) => {
151
+ environment.pop();
152
+ return Pure.succeedNow(a);
153
+ };
148
154
  break;
149
155
  }
150
156
  case PureTag.Modify: {
@@ -8,7 +8,7 @@ const keysSymbol = Symbol.for("fncts.CaseClass.keys");
8
8
  const argsSymbol = Symbol.for("fncts.CaseClass.args");
9
9
 
10
10
  export interface CaseArgs {
11
- readonly [CaseClassTypeId]: ImmutableArray<string>;
11
+ readonly [CaseClassTypeId]: ReadonlyArray<string>;
12
12
  }
13
13
 
14
14
  export interface Copy<T> {
@@ -16,7 +16,7 @@ export interface Copy<T> {
16
16
  }
17
17
 
18
18
  export interface CaseConstructor {
19
- [CaseClassTypeId]: ImmutableArray<string>;
19
+ [CaseClassTypeId]: ReadonlyArray<string>;
20
20
  new <T>(args: Equals<T, {}> extends True ? void : T): T & Copy<T> & CaseArgs;
21
21
  }
22
22
 
@@ -31,14 +31,14 @@ export const CaseClass: CaseConstructor = class<T extends Record<PropertyKey, an
31
31
  implements Hashable, Equatable, CaseArgs
32
32
  {
33
33
  private [argsSymbol]: T;
34
- private [keysSymbol]: ImmutableArray<string> = ImmutableArray.empty();
34
+ private [keysSymbol]: ReadonlyArray<string> = [];
35
35
  constructor(args: T) {
36
36
  this[argsSymbol] = args;
37
- this[keysSymbol] = args ? Object.keys(args).asImmutableArray : ImmutableArray.empty();
37
+ this[keysSymbol] = args ? Object.keys(args) : [];
38
38
  Object.assign(this, args);
39
39
  }
40
40
 
41
- get [CaseClassTypeId](): ImmutableArray<string> {
41
+ get [CaseClassTypeId](): ReadonlyArray<string> {
42
42
  return this[keysSymbol];
43
43
  }
44
44
 
@@ -36,8 +36,8 @@ function foldLoop<E, Z>(
36
36
  out: List<Either<CauseCase, Z>>,
37
37
  ): List<Z> {
38
38
  if (inp.isNonEmpty()) {
39
- const head = inp.unsafeHead;
40
- const causes = inp.unsafeTail;
39
+ const head = inp.head;
40
+ const causes = inp.tail;
41
41
  switch (head._tag) {
42
42
  case CauseTag.Empty:
43
43
  return foldLoop(cases, causes, out.prepend(Either.right(cases.Empty())));
@@ -1,5 +1,13 @@
1
1
  import { Const } from "./definition.js";
2
2
 
3
+ /**
4
+ * @tsplus static fncts.ConstOps make
5
+ * @tsplus static fncts.ConstOps __call
6
+ */
7
+ export function makeConst<E, A = never>(e: E): Const<E, A> {
8
+ return new Const(e);
9
+ }
10
+
3
11
  /**
4
12
  * @tsplus pipeable fncts.Const map
5
13
  */
@@ -8,11 +16,3 @@ export function map<A, B>(_f: (a: A) => B) {
8
16
  return self.unsafeCoerce();
9
17
  };
10
18
  }
11
-
12
- /**
13
- * @tsplus static fncts.ConstOps make
14
- * @tsplus static fncts.ConstOps __call
15
- */
16
- export function makeConst<E, A = never>(e: E): Const<E, A> {
17
- return new Const(e);
18
- }
@@ -3,6 +3,16 @@ import type { ConstF } from "@fncts/base/data/Const/definition";
3
3
 
4
4
  import { Const } from "@fncts/base/data/Const/definition";
5
5
 
6
+ /**
7
+ * @tsplus static fncts.ConstOps getApplicative
8
+ */
9
+ export function getApplicative<E>(M: P.Monoid<E>): P.Applicative<ConstF, HKT.Fix<"E", E>> {
10
+ return {
11
+ ...getApply(M),
12
+ pure: <A>() => Const<E, A>(M.nat),
13
+ };
14
+ }
15
+
6
16
  /**
7
17
  * @tsplus static fncts.ConstOps getApply
8
18
  */
@@ -13,13 +23,3 @@ export function getApply<E>(S: P.Semigroup<E>) {
13
23
  zipWith: (that, _f) => (self) => Const(S.combine(that.getConst)(self.getConst)),
14
24
  });
15
25
  }
16
-
17
- /**
18
- * @tsplus static fncts.ConstOps getApplicative
19
- */
20
- export function getApplicative<E>(M: P.Monoid<E>): P.Applicative<ConstF, HKT.Fix<"E", E>> {
21
- return {
22
- ...getApply(M),
23
- pure: <A>() => Const<E, A>(M.nat),
24
- };
25
- }
@@ -17,86 +17,6 @@ export function initial<A = never>(): Datum<A> {
17
17
 
18
18
  const _Pending = new Pending();
19
19
 
20
- /**
21
- * @tsplus static fncts.DatumOps pending
22
- * @tsplus static fncts.Datum.PendingOps __call
23
- */
24
- export function pending<A = never>(): Datum<A> {
25
- return _Pending;
26
- }
27
-
28
- /**
29
- * @tsplus static fncts.DatumOps refresh
30
- * @tsplus static fncts.Datum.RefreshOps __call
31
- */
32
- export function refresh<A>(value: A): Datum<A> {
33
- return new Refresh(value);
34
- }
35
-
36
- /**
37
- * @tsplus static fncts.DatumOps replete
38
- * @tsplus static fncts.Datum.RepleteOps __call
39
- */
40
- export function replete<A>(value: A): Datum<A> {
41
- return new Replete(value);
42
- }
43
-
44
- /**
45
- * @tsplus getter fncts.Datum value
46
- */
47
- export function left<E, A>(self: Datum<A>): A | undefined {
48
- return self.isNonEmpty() ? self.value : undefined;
49
- }
50
-
51
- /**
52
- * @tsplus fluent fncts.Datum isInitial
53
- */
54
- export function isInitial<A>(self: Datum<A>): self is Initial {
55
- return self._tag === DatumTag.Initial;
56
- }
57
-
58
- /**
59
- * @tsplus fluent fncts.Datum isPending
60
- */
61
- export function isPending<A>(self: Datum<A>): self is Pending {
62
- return self._tag === DatumTag.Pending;
63
- }
64
-
65
- /**
66
- * @tsplus fluent fncts.Datum isRefresh
67
- */
68
- export function isRefresh<A>(self: Datum<A>): self is Refresh<A> {
69
- return self._tag === DatumTag.Refresh;
70
- }
71
-
72
- /**
73
- * @tsplus fluent fncts.Datum isReplete
74
- */
75
- export function isReplete<A>(self: Datum<A>): self is Replete<A> {
76
- return self._tag === DatumTag.Replete;
77
- }
78
-
79
- /**
80
- * @tsplus fluent fncts.Datum isEmpty
81
- */
82
- export function isEmpty<A>(self: Datum<A>): self is Initial | Pending {
83
- return self.isInitial() || self.isPending();
84
- }
85
-
86
- /**
87
- * @tsplus fluent fncts.Datum isNonEmpty
88
- */
89
- export function isNonEmpty<A>(self: Datum<A>): self is Refresh<A> | Replete<A> {
90
- return self.isRefresh() || self.isReplete();
91
- }
92
-
93
- /**
94
- * @tsplus fluent fncts.Datum isLoading
95
- */
96
- export function isLoading<A>(self: Datum<A>): self is Pending | Refresh<A> {
97
- return self.isPending() || self.isRefresh();
98
- }
99
-
100
20
  /**
101
21
  * @tsplus pipeable fncts.Datum elem
102
22
  */
@@ -111,20 +31,6 @@ export function elem<A>(a: A, /** @tsplus auto */ E: Eq<A>) {
111
31
  };
112
32
  }
113
33
 
114
- /**
115
- * @tsplus pipeable fncts.Datum some
116
- */
117
- export function some<A>(p: Predicate<A>) {
118
- return (self: Datum<A>): boolean => {
119
- return self.match({
120
- Initial: () => false,
121
- Pending: () => false,
122
- Refresh: p,
123
- Replete: p,
124
- });
125
- };
126
- }
127
-
128
34
  /**
129
35
  * @tsplus pipeable fncts.Datum extend
130
36
  */
@@ -138,7 +44,9 @@ export function extend<A, B>(f: (wa: Datum<A>) => B) {
138
44
  * @tsplus pipeable fncts.Datum filter
139
45
  */
140
46
  export function filter<A, B extends A>(p: Refinement<A, B>): (self: Datum<A>) => Datum<B>;
47
+
141
48
  export function filter<A>(p: Predicate<A>): (self: Datum<A>) => Datum<A>;
49
+
142
50
  export function filter<A>(p: Predicate<A>) {
143
51
  return (self: Datum<A>): Datum<A> => {
144
52
  return self.match({
@@ -244,6 +152,70 @@ export function getOrElse<B>(b: Lazy<B>) {
244
152
  };
245
153
  }
246
154
 
155
+ /**
156
+ * @tsplus fluent fncts.Datum isEmpty
157
+ */
158
+ export function isEmpty<A>(self: Datum<A>): self is Initial | Pending {
159
+ return self.isInitial() || self.isPending();
160
+ }
161
+
162
+ /**
163
+ * @tsplus fluent fncts.Datum isInitial
164
+ */
165
+ export function isInitial<A>(self: Datum<A>): self is Initial {
166
+ return self._tag === DatumTag.Initial;
167
+ }
168
+
169
+ /**
170
+ * @tsplus fluent fncts.Datum isLoading
171
+ */
172
+ export function isLoading<A>(self: Datum<A>): self is Pending | Refresh<A> {
173
+ return self.isPending() || self.isRefresh();
174
+ }
175
+
176
+ /**
177
+ * @tsplus fluent fncts.Datum isNonEmpty
178
+ */
179
+ export function isNonEmpty<A>(self: Datum<A>): self is Refresh<A> | Replete<A> {
180
+ return self.isRefresh() || self.isReplete();
181
+ }
182
+ /**
183
+ * @tsplus fluent fncts.Datum isPending
184
+ */
185
+ export function isPending<A>(self: Datum<A>): self is Pending {
186
+ return self._tag === DatumTag.Pending;
187
+ }
188
+ /**
189
+ * @tsplus fluent fncts.Datum isRefresh
190
+ */
191
+ export function isRefresh<A>(self: Datum<A>): self is Refresh<A> {
192
+ return self._tag === DatumTag.Refresh;
193
+ }
194
+
195
+ /**
196
+ * @tsplus fluent fncts.Datum isReplete
197
+ */
198
+ export function isReplete<A>(self: Datum<A>): self is Replete<A> {
199
+ return self._tag === DatumTag.Replete;
200
+ }
201
+
202
+ /**
203
+ * @tsplus pipeable fncts.Datum map
204
+ */
205
+ export function map<A, B>(f: (a: A) => B) {
206
+ return (self: Datum<A>): Datum<B> => {
207
+ switch (self._tag) {
208
+ case DatumTag.Initial:
209
+ case DatumTag.Pending:
210
+ return self;
211
+ case DatumTag.Refresh:
212
+ return Refresh(f(self.value));
213
+ case DatumTag.Replete:
214
+ return Replete(f(self.value));
215
+ }
216
+ };
217
+ }
218
+
247
219
  /**
248
220
  * @tsplus pipeable fncts.Datum match
249
221
  */
@@ -285,23 +257,6 @@ export function match2<A, B, C>(onEmpty: (isLoading: boolean) => B, onValue: (a:
285
257
  };
286
258
  }
287
259
 
288
- /**
289
- * @tsplus pipeable fncts.Datum map
290
- */
291
- export function map<A, B>(f: (a: A) => B) {
292
- return (self: Datum<A>): Datum<B> => {
293
- switch (self._tag) {
294
- case DatumTag.Initial:
295
- case DatumTag.Pending:
296
- return self;
297
- case DatumTag.Refresh:
298
- return Refresh(f(self.value));
299
- case DatumTag.Replete:
300
- return Replete(f(self.value));
301
- }
302
- };
303
- }
304
-
305
260
  /**
306
261
  * @tsplus pipeable fncts.Datum orElse
307
262
  */
@@ -349,6 +304,44 @@ export function partitionMap<A, B, C>(f: (a: A) => Either<B, C>) {
349
304
  };
350
305
  }
351
306
 
307
+ /**
308
+ * @tsplus static fncts.DatumOps pending
309
+ * @tsplus static fncts.Datum.PendingOps __call
310
+ */
311
+ export function pending<A = never>(): Datum<A> {
312
+ return _Pending;
313
+ }
314
+
315
+ /**
316
+ * @tsplus static fncts.DatumOps refresh
317
+ * @tsplus static fncts.Datum.RefreshOps __call
318
+ */
319
+ export function refresh<A>(value: A): Datum<A> {
320
+ return new Refresh(value);
321
+ }
322
+
323
+ /**
324
+ * @tsplus static fncts.DatumOps replete
325
+ * @tsplus static fncts.Datum.RepleteOps __call
326
+ */
327
+ export function replete<A>(value: A): Datum<A> {
328
+ return new Replete(value);
329
+ }
330
+
331
+ /**
332
+ * @tsplus pipeable fncts.Datum some
333
+ */
334
+ export function some<A>(p: Predicate<A>) {
335
+ return (self: Datum<A>): boolean => {
336
+ return self.match({
337
+ Initial: () => false,
338
+ Pending: () => false,
339
+ Refresh: p,
340
+ Replete: p,
341
+ });
342
+ };
343
+ }
344
+
352
345
  /**
353
346
  * @tsplus getter fncts.Datum toPending
354
347
  */
@@ -362,7 +355,6 @@ export function toPending<A>(self: Datum<A>): Datum<A> {
362
355
  case DatumTag.Replete:
363
356
  return Refresh(self.value);
364
357
  }
365
- // return self.isEmpty() ? self : Refresh(self.value);
366
358
  }
367
359
 
368
360
  /**
@@ -375,7 +367,7 @@ export function toReplete<A>(self: Datum<A>): Datum<A> {
375
367
  /**
376
368
  * @tsplus getter fncts.Datum traverse
377
369
  */
378
- export function _traverse<A>(self: Datum<A>) {
370
+ export function traverse_<A>(self: Datum<A>) {
379
371
  return <G extends HKT, GC = HKT.None>(G: P.Applicative<G, GC>) =>
380
372
  <K, Q, W, X, I, S, R, E1, B>(
381
373
  f: (a: A) => HKT.Kind<G, GC, K, Q, W, X, I, S, R, E1, B>,
@@ -388,6 +380,13 @@ export function _traverse<A>(self: Datum<A>) {
388
380
  });
389
381
  }
390
382
 
383
+ /**
384
+ * @tsplus getter fncts.Datum value
385
+ */
386
+ export function value<A>(self: Datum<A>): A | undefined {
387
+ return self.isNonEmpty() ? self.value : undefined;
388
+ }
389
+
391
390
  export const traverse: P.Traversable<DatumF>["traverse"] = (G) => (f) => (self) => self.traverse(G)(f);
392
391
 
393
392
  /**
@@ -398,6 +397,7 @@ export function zip<B>(that: Datum<B>) {
398
397
  return self.zipWith(that, (a, b) => Zipped(a, b));
399
398
  };
400
399
  }
400
+
401
401
  /**
402
402
  * @tsplus pipeable fncts.Datum zipWith
403
403
  */
@@ -0,0 +1,5 @@
1
+ // codegen:start { preset: barrel, include: ./Datum/*.ts }
2
+ export * from "./Datum/api.js"
3
+ export * from "./Datum/definition.js"
4
+ export * from "./Datum/instances.js"
5
+ // codegen:end