@fncts/base 0.0.31 → 0.0.33

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