@fncts/base 0.0.12 → 0.0.15

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 (734) hide show
  1. package/_cjs/collection/Iterable/api/traverseConc.cjs +16 -21
  2. package/_cjs/collection/Iterable/api/traverseConc.cjs.map +1 -1
  3. package/_cjs/collection/compat/Array/api.cjs +10 -10
  4. package/_cjs/collection/compat/Array/derivations.cjs +96 -0
  5. package/_cjs/collection/compat/Array/derivations.cjs.map +1 -0
  6. package/_cjs/collection/compat/Array.cjs +13 -0
  7. package/_cjs/collection/compat/Array.cjs.map +1 -1
  8. package/_cjs/collection/compat/Record/instances.cjs +67 -16
  9. package/_cjs/collection/compat/Record/instances.cjs.map +1 -1
  10. package/_cjs/collection/compat.cjs +6 -0
  11. package/_cjs/collection/compat.cjs.map +1 -0
  12. package/_cjs/collection/immutable/Conc/api.cjs +9 -12
  13. package/_cjs/collection/immutable/Conc/api.cjs.map +1 -1
  14. package/_cjs/collection/immutable/Conc/definition.cjs +41 -43
  15. package/_cjs/collection/immutable/Conc/definition.cjs.map +1 -1
  16. package/_cjs/collection/immutable/Conc/derivations.cjs +45 -0
  17. package/_cjs/collection/immutable/Conc/derivations.cjs.map +1 -0
  18. package/_cjs/collection/immutable/Conc.cjs +13 -0
  19. package/_cjs/collection/immutable/Conc.cjs.map +1 -1
  20. package/_cjs/collection/immutable/Dictionary/definition.cjs +2 -4
  21. package/_cjs/collection/immutable/Dictionary/definition.cjs.map +1 -1
  22. package/_cjs/collection/immutable/HashMap/api.cjs +26 -29
  23. package/_cjs/collection/immutable/HashMap/api.cjs.map +1 -1
  24. package/_cjs/collection/immutable/HashMap/definition.cjs +15 -17
  25. package/_cjs/collection/immutable/HashMap/definition.cjs.map +1 -1
  26. package/_cjs/collection/immutable/ImmutableArray/api.cjs +142 -159
  27. package/_cjs/collection/immutable/ImmutableArray/api.cjs.map +1 -1
  28. package/_cjs/collection/immutable/ImmutableArray/constructors.cjs +2 -2
  29. package/_cjs/collection/immutable/ImmutableArray/definition.cjs +18 -15
  30. package/_cjs/collection/immutable/ImmutableArray/definition.cjs.map +1 -1
  31. package/_cjs/collection/immutable/ImmutableArray/derivations.cjs +41 -0
  32. package/_cjs/collection/immutable/ImmutableArray/derivations.cjs.map +1 -0
  33. package/_cjs/collection/immutable/ImmutableArray/instances.cjs +11 -9
  34. package/_cjs/collection/immutable/ImmutableArray/instances.cjs.map +1 -1
  35. package/_cjs/collection/immutable/ImmutableArray.cjs +13 -0
  36. package/_cjs/collection/immutable/ImmutableArray.cjs.map +1 -1
  37. package/_cjs/collection/immutable/ImmutableNonEmptyArray/api.cjs +21 -22
  38. package/_cjs/collection/immutable/ImmutableNonEmptyArray/api.cjs.map +1 -1
  39. package/_cjs/collection/immutable/ImmutableNonEmptyArray/constructors.cjs +2 -2
  40. package/_cjs/collection/immutable/ImmutableNonEmptyArray/definition.cjs +3 -9
  41. package/_cjs/collection/immutable/ImmutableNonEmptyArray/definition.cjs.map +1 -1
  42. package/_cjs/collection/immutable/ImmutableNonEmptyArray/derivations.cjs +62 -0
  43. package/_cjs/collection/immutable/ImmutableNonEmptyArray/derivations.cjs.map +1 -0
  44. package/_cjs/collection/immutable/ImmutableNonEmptyArray/instances.cjs +8 -2
  45. package/_cjs/collection/immutable/ImmutableNonEmptyArray/instances.cjs.map +1 -1
  46. package/_cjs/collection/immutable/ImmutableNonEmptyArray.cjs +13 -0
  47. package/_cjs/collection/immutable/ImmutableNonEmptyArray.cjs.map +1 -1
  48. package/_cjs/collection/immutable/List/definition.cjs +2 -2
  49. package/_cjs/collection/immutable/RoseTree/definition.cjs +13 -15
  50. package/_cjs/collection/immutable/RoseTree/definition.cjs.map +1 -1
  51. package/_cjs/collection/immutable/Vector/api.cjs +8 -12
  52. package/_cjs/collection/immutable/Vector/api.cjs.map +1 -1
  53. package/_cjs/collection/immutable/Vector/definition.cjs +11 -13
  54. package/_cjs/collection/immutable/Vector/definition.cjs.map +1 -1
  55. package/_cjs/collection/immutable/Vector/internal.cjs +1 -1
  56. package/_cjs/collection/immutable.cjs +6 -0
  57. package/_cjs/collection/immutable.cjs.map +1 -0
  58. package/_cjs/collection/mutable/HashMap.cjs +4 -0
  59. package/_cjs/collection/mutable/HashMap.cjs.map +1 -1
  60. package/_cjs/collection/mutable.cjs +6 -0
  61. package/_cjs/collection/mutable.cjs.map +1 -0
  62. package/_cjs/collection/weak/IterableWeakMap.cjs +51 -2
  63. package/_cjs/collection/weak/IterableWeakMap.cjs.map +1 -1
  64. package/_cjs/collection/weak/IterableWeakSet.cjs +59 -7
  65. package/_cjs/collection/weak/IterableWeakSet.cjs.map +1 -1
  66. package/_cjs/collection/weak.cjs +6 -0
  67. package/_cjs/collection/weak.cjs.map +1 -0
  68. package/_cjs/collection.cjs +6 -0
  69. package/_cjs/collection.cjs.map +1 -0
  70. package/_cjs/control/Eval/api.cjs +9 -3
  71. package/_cjs/control/Eval/api.cjs.map +1 -1
  72. package/_cjs/control/Eval/definition.cjs +1 -8
  73. package/_cjs/control/Eval/definition.cjs.map +1 -1
  74. package/_cjs/control/Eval/instance.cjs +6 -0
  75. package/_cjs/control/Eval/instance.cjs.map +1 -1
  76. package/_cjs/control/Z/api.cjs +16 -14
  77. package/_cjs/control/Z/api.cjs.map +1 -1
  78. package/_cjs/control/Z/definition.cjs +8 -14
  79. package/_cjs/control/Z/definition.cjs.map +1 -1
  80. package/_cjs/control/Z/instances.cjs +6 -0
  81. package/_cjs/control/Z/instances.cjs.map +1 -1
  82. package/_cjs/control/Z/runtime.cjs +17 -13
  83. package/_cjs/control/Z/runtime.cjs.map +1 -1
  84. package/_cjs/control.cjs +6 -0
  85. package/_cjs/control.cjs.map +1 -0
  86. package/_cjs/data/Cause/api/isEmpty.cjs +2 -0
  87. package/_cjs/data/Cause/api/isEmpty.cjs.map +1 -1
  88. package/_cjs/data/Cause/api/linearize.cjs +2 -0
  89. package/_cjs/data/Cause/api/linearize.cjs.map +1 -1
  90. package/_cjs/data/Cause/api.cjs +2 -0
  91. package/_cjs/data/Cause/api.cjs.map +1 -1
  92. package/_cjs/data/Const/definition.cjs +0 -7
  93. package/_cjs/data/Const/definition.cjs.map +1 -1
  94. package/_cjs/data/Const/instances.cjs +11 -8
  95. package/_cjs/data/Const/instances.cjs.map +1 -1
  96. package/_cjs/data/Datum/api.cjs +479 -0
  97. package/_cjs/data/Datum/api.cjs.map +1 -0
  98. package/_cjs/data/Datum/definition.cjs +142 -0
  99. package/_cjs/data/Datum/definition.cjs.map +1 -0
  100. package/_cjs/data/Datum/instances.cjs +69 -0
  101. package/_cjs/data/Datum/instances.cjs.map +1 -0
  102. package/_cjs/data/DatumEither/api.cjs +365 -0
  103. package/_cjs/data/DatumEither/api.cjs.map +1 -0
  104. package/_cjs/data/DatumEither/definition.cjs +9 -0
  105. package/_cjs/data/DatumEither/definition.cjs.map +1 -0
  106. package/_cjs/data/DecodeError/definition.cjs +16 -4
  107. package/_cjs/data/DecodeError/definition.cjs.map +1 -1
  108. package/_cjs/data/DecodeError/instances.cjs +6 -0
  109. package/_cjs/data/DecodeError/instances.cjs.map +1 -0
  110. package/_cjs/data/DecodeError.cjs +13 -0
  111. package/_cjs/data/DecodeError.cjs.map +1 -1
  112. package/_cjs/data/Decoder/definition.cjs +3 -10
  113. package/_cjs/data/Decoder/definition.cjs.map +1 -1
  114. package/_cjs/data/Either/api/alignWith.cjs +2 -0
  115. package/_cjs/data/Either/api/alignWith.cjs.map +1 -1
  116. package/_cjs/data/Either/api.cjs +21 -5
  117. package/_cjs/data/Either/api.cjs.map +1 -1
  118. package/_cjs/data/Either/definition.cjs +4 -11
  119. package/_cjs/data/Either/definition.cjs.map +1 -1
  120. package/_cjs/data/Either/instances.cjs +25 -23
  121. package/_cjs/data/Either/instances.cjs.map +1 -1
  122. package/_cjs/data/EitherT/api.cjs +106 -0
  123. package/_cjs/data/EitherT/api.cjs.map +1 -0
  124. package/_cjs/data/EitherT/definition.cjs +9 -0
  125. package/_cjs/data/EitherT/definition.cjs.map +1 -0
  126. package/_cjs/data/Environment/api.cjs +15 -14
  127. package/_cjs/data/Environment/api.cjs.map +1 -1
  128. package/_cjs/data/Environment/definition.cjs.map +1 -1
  129. package/_cjs/data/Identity/api.cjs +3 -1
  130. package/_cjs/data/Identity/api.cjs.map +1 -1
  131. package/_cjs/data/Identity/definition.cjs +2 -4
  132. package/_cjs/data/Identity/definition.cjs.map +1 -1
  133. package/_cjs/data/Identity/instances.cjs +6 -0
  134. package/_cjs/data/Identity/instances.cjs.map +1 -1
  135. package/_cjs/data/Intervals.cjs +292 -0
  136. package/_cjs/data/Intervals.cjs.map +1 -0
  137. package/_cjs/data/Maybe/api.cjs +3 -1
  138. package/_cjs/data/Maybe/api.cjs.map +1 -1
  139. package/_cjs/data/Maybe/definition.cjs +11 -13
  140. package/_cjs/data/Maybe/definition.cjs.map +1 -1
  141. package/_cjs/data/Maybe/instances.cjs +13 -11
  142. package/_cjs/data/Maybe/instances.cjs.map +1 -1
  143. package/_cjs/data/Newtype.cjs +3 -5
  144. package/_cjs/data/Newtype.cjs.map +1 -1
  145. package/_cjs/data/Patch/api.cjs +2 -0
  146. package/_cjs/data/Patch/api.cjs.map +1 -1
  147. package/_cjs/data/Struct/api.cjs +2 -0
  148. package/_cjs/data/Struct/api.cjs.map +1 -1
  149. package/_cjs/data/Struct/definition.cjs +2 -4
  150. package/_cjs/data/Struct/definition.cjs.map +1 -1
  151. package/_cjs/data/These/definition.cjs +1 -1
  152. package/_cjs/data/These/definition.cjs.map +1 -1
  153. package/_cjs/data/Zipped.cjs +55 -0
  154. package/_cjs/data/Zipped.cjs.map +1 -0
  155. package/_cjs/data/function/api.cjs +10 -0
  156. package/_cjs/data/function/api.cjs.map +1 -1
  157. package/_cjs/data/object/instances.cjs +9 -1
  158. package/_cjs/data/object/instances.cjs.map +1 -1
  159. package/_cjs/data/string/api.cjs +1 -1
  160. package/_cjs/data.cjs +6 -0
  161. package/_cjs/data.cjs.map +1 -0
  162. package/_cjs/global.cjs +6 -0
  163. package/_cjs/global.cjs.map +1 -0
  164. package/_cjs/index.cjs +6 -0
  165. package/_cjs/index.cjs.map +1 -0
  166. package/_cjs/json.cjs +6 -0
  167. package/_cjs/json.cjs.map +1 -0
  168. package/_cjs/optics/At/definition.cjs +2 -0
  169. package/_cjs/optics/At/definition.cjs.map +1 -1
  170. package/_cjs/optics/Iso/definition.cjs +4 -0
  171. package/_cjs/optics/Iso/definition.cjs.map +1 -1
  172. package/_cjs/optics/Lens/definition.cjs +4 -0
  173. package/_cjs/optics/Lens/definition.cjs.map +1 -1
  174. package/_cjs/optics/Optional/definition.cjs +5 -5
  175. package/_cjs/optics/Optional/definition.cjs.map +1 -1
  176. package/_cjs/optics/Prism/definition.cjs +2 -0
  177. package/_cjs/optics/Prism/definition.cjs.map +1 -1
  178. package/_cjs/optics/Traversal/api/compose.cjs +1 -1
  179. package/_cjs/optics/Traversal/api/compose.cjs.map +1 -1
  180. package/_cjs/optics/Traversal/api/fromTraversable.cjs +1 -1
  181. package/_cjs/optics/Traversal/api/fromTraversable.cjs.map +1 -1
  182. package/_cjs/optics/Traversal/definition.cjs +7 -3
  183. package/_cjs/optics/Traversal/definition.cjs.map +1 -1
  184. package/_cjs/optics.cjs +6 -0
  185. package/_cjs/optics.cjs.map +1 -0
  186. package/_cjs/typeclass/Alt.cjs +0 -7
  187. package/_cjs/typeclass/Alt.cjs.map +1 -1
  188. package/_cjs/typeclass/ApplicativeExcept.cjs +9 -35
  189. package/_cjs/typeclass/ApplicativeExcept.cjs.map +1 -1
  190. package/_cjs/typeclass/Apply.cjs +39 -66
  191. package/_cjs/typeclass/Apply.cjs.map +1 -1
  192. package/_cjs/typeclass/Chain.cjs +6 -28
  193. package/_cjs/typeclass/Chain.cjs.map +1 -1
  194. package/_cjs/typeclass/Fail.cjs +0 -10
  195. package/_cjs/typeclass/Fail.cjs.map +1 -1
  196. package/_cjs/typeclass/Filterable.cjs +0 -36
  197. package/_cjs/typeclass/Filterable.cjs.map +1 -1
  198. package/_cjs/typeclass/Foldable.cjs +4 -34
  199. package/_cjs/typeclass/Foldable.cjs.map +1 -1
  200. package/_cjs/typeclass/FoldableWithIndex.cjs +4 -34
  201. package/_cjs/typeclass/FoldableWithIndex.cjs.map +1 -1
  202. package/_cjs/typeclass/Functor.cjs +3 -18
  203. package/_cjs/typeclass/Functor.cjs.map +1 -1
  204. package/_cjs/typeclass/Guard/definition.cjs +3 -10
  205. package/_cjs/typeclass/Guard/definition.cjs.map +1 -1
  206. package/_cjs/typeclass/HashEq.cjs +2 -0
  207. package/_cjs/typeclass/HashEq.cjs.map +1 -1
  208. package/_cjs/typeclass/MonadExcept.cjs +2 -10
  209. package/_cjs/typeclass/MonadExcept.cjs.map +1 -1
  210. package/_cjs/typeclass/Monoid.cjs +2 -0
  211. package/_cjs/typeclass/Monoid.cjs.map +1 -1
  212. package/_cjs/typeclass/Nil.cjs +0 -10
  213. package/_cjs/typeclass/Nil.cjs.map +1 -1
  214. package/_cjs/typeclass/Ord/definition.cjs +2 -0
  215. package/_cjs/typeclass/Ord/definition.cjs.map +1 -1
  216. package/_cjs/typeclass/Ord/instances.cjs +4 -3
  217. package/_cjs/typeclass/Ord/instances.cjs.map +1 -1
  218. package/_cjs/typeclass/Pointed.cjs +0 -11
  219. package/_cjs/typeclass/Pointed.cjs.map +1 -1
  220. package/_cjs/typeclass/Semialign.cjs +18 -46
  221. package/_cjs/typeclass/Semialign.cjs.map +1 -1
  222. package/_cjs/typeclass/Semimonoidal.cjs +0 -11
  223. package/_cjs/typeclass/Semimonoidal.cjs.map +1 -1
  224. package/_cjs/typeclass/Showable/show.cjs +12 -12
  225. package/_cjs/typeclass/Showable/show.cjs.map +1 -1
  226. package/_cjs/typeclass/Traversable.cjs +7 -26
  227. package/_cjs/typeclass/Traversable.cjs.map +1 -1
  228. package/_cjs/typeclass/TraversableWithIndex.cjs +3 -7
  229. package/_cjs/typeclass/TraversableWithIndex.cjs.map +1 -1
  230. package/_cjs/typeclass/Witherable.cjs +3 -45
  231. package/_cjs/typeclass/Witherable.cjs.map +1 -1
  232. package/_cjs/typeclass/WitherableWithIndex.cjs +8 -44
  233. package/_cjs/typeclass/WitherableWithIndex.cjs.map +1 -1
  234. package/_cjs/util.cjs +6 -0
  235. package/_cjs/util.cjs.map +1 -0
  236. package/_mjs/collection/Iterable/api/traverseConc.mjs +16 -21
  237. package/_mjs/collection/Iterable/api/traverseConc.mjs.map +1 -1
  238. package/_mjs/collection/compat/Array/api.mjs +10 -10
  239. package/_mjs/collection/compat/Array/derivations.mjs +70 -0
  240. package/_mjs/collection/compat/Array/derivations.mjs.map +1 -0
  241. package/_mjs/collection/compat/Array.mjs +1 -0
  242. package/_mjs/collection/compat/Array.mjs.map +1 -1
  243. package/_mjs/collection/compat/Record/instances.mjs +62 -16
  244. package/_mjs/collection/compat/Record/instances.mjs.map +1 -1
  245. package/_mjs/collection/compat.mjs +2 -0
  246. package/_mjs/collection/compat.mjs.map +1 -0
  247. package/_mjs/collection/immutable/Conc/api.mjs +8 -11
  248. package/_mjs/collection/immutable/Conc/api.mjs.map +1 -1
  249. package/_mjs/collection/immutable/Conc/definition.mjs +41 -42
  250. package/_mjs/collection/immutable/Conc/definition.mjs.map +1 -1
  251. package/_mjs/collection/immutable/Conc/derivations.mjs +27 -0
  252. package/_mjs/collection/immutable/Conc/derivations.mjs.map +1 -0
  253. package/_mjs/collection/immutable/Conc.mjs +2 -1
  254. package/_mjs/collection/immutable/Conc.mjs.map +1 -1
  255. package/_mjs/collection/immutable/Dictionary/definition.mjs +2 -3
  256. package/_mjs/collection/immutable/Dictionary/definition.mjs.map +1 -1
  257. package/_mjs/collection/immutable/HashMap/api.mjs +18 -20
  258. package/_mjs/collection/immutable/HashMap/api.mjs.map +1 -1
  259. package/_mjs/collection/immutable/HashMap/definition.mjs +15 -16
  260. package/_mjs/collection/immutable/HashMap/definition.mjs.map +1 -1
  261. package/_mjs/collection/immutable/HashSet/api.mjs +1 -0
  262. package/_mjs/collection/immutable/HashSet/api.mjs.map +1 -1
  263. package/_mjs/collection/immutable/ImmutableArray/api.mjs +134 -153
  264. package/_mjs/collection/immutable/ImmutableArray/api.mjs.map +1 -1
  265. package/_mjs/collection/immutable/ImmutableArray/constructors.mjs +2 -2
  266. package/_mjs/collection/immutable/ImmutableArray/definition.mjs +16 -12
  267. package/_mjs/collection/immutable/ImmutableArray/definition.mjs.map +1 -1
  268. package/_mjs/collection/immutable/ImmutableArray/derivations.mjs +25 -0
  269. package/_mjs/collection/immutable/ImmutableArray/derivations.mjs.map +1 -0
  270. package/_mjs/collection/immutable/ImmutableArray/instances.mjs +9 -8
  271. package/_mjs/collection/immutable/ImmutableArray/instances.mjs.map +1 -1
  272. package/_mjs/collection/immutable/ImmutableArray.mjs +1 -0
  273. package/_mjs/collection/immutable/ImmutableArray.mjs.map +1 -1
  274. package/_mjs/collection/immutable/ImmutableNonEmptyArray/api.mjs +19 -19
  275. package/_mjs/collection/immutable/ImmutableNonEmptyArray/api.mjs.map +1 -1
  276. package/_mjs/collection/immutable/ImmutableNonEmptyArray/constructors.mjs +2 -2
  277. package/_mjs/collection/immutable/ImmutableNonEmptyArray/definition.mjs +0 -2
  278. package/_mjs/collection/immutable/ImmutableNonEmptyArray/definition.mjs.map +1 -1
  279. package/_mjs/collection/immutable/ImmutableNonEmptyArray/derivations.mjs +39 -0
  280. package/_mjs/collection/immutable/ImmutableNonEmptyArray/derivations.mjs.map +1 -0
  281. package/_mjs/collection/immutable/ImmutableNonEmptyArray/instances.mjs +4 -3
  282. package/_mjs/collection/immutable/ImmutableNonEmptyArray/instances.mjs.map +1 -1
  283. package/_mjs/collection/immutable/ImmutableNonEmptyArray.mjs +1 -0
  284. package/_mjs/collection/immutable/ImmutableNonEmptyArray.mjs.map +1 -1
  285. package/_mjs/collection/immutable/List/definition.mjs +2 -2
  286. package/_mjs/collection/immutable/RoseTree/definition.mjs +13 -14
  287. package/_mjs/collection/immutable/RoseTree/definition.mjs.map +1 -1
  288. package/_mjs/collection/immutable/SortedMap/api.mjs +1 -0
  289. package/_mjs/collection/immutable/SortedMap/api.mjs.map +1 -1
  290. package/_mjs/collection/immutable/Vector/api.mjs +8 -12
  291. package/_mjs/collection/immutable/Vector/api.mjs.map +1 -1
  292. package/_mjs/collection/immutable/Vector/definition.mjs +11 -12
  293. package/_mjs/collection/immutable/Vector/definition.mjs.map +1 -1
  294. package/_mjs/collection/immutable/Vector/internal.mjs +1 -1
  295. package/_mjs/collection/immutable.mjs +2 -0
  296. package/_mjs/collection/immutable.mjs.map +1 -0
  297. package/_mjs/collection/mutable/HashMap.mjs +4 -0
  298. package/_mjs/collection/mutable/HashMap.mjs.map +1 -1
  299. package/_mjs/collection/mutable.mjs +2 -0
  300. package/_mjs/collection/mutable.mjs.map +1 -0
  301. package/_mjs/collection/weak/IterableWeakMap.mjs +51 -2
  302. package/_mjs/collection/weak/IterableWeakMap.mjs.map +1 -1
  303. package/_mjs/collection/weak/IterableWeakSet.mjs +59 -7
  304. package/_mjs/collection/weak/IterableWeakSet.mjs.map +1 -1
  305. package/_mjs/collection/weak.mjs +2 -0
  306. package/_mjs/collection/weak.mjs.map +1 -0
  307. package/_mjs/collection.mjs +2 -0
  308. package/_mjs/collection.mjs.map +1 -0
  309. package/_mjs/control/Eval/api.mjs +9 -4
  310. package/_mjs/control/Eval/api.mjs.map +1 -1
  311. package/_mjs/control/Eval/definition.mjs +1 -2
  312. package/_mjs/control/Eval/definition.mjs.map +1 -1
  313. package/_mjs/control/Eval/instance.mjs +1 -0
  314. package/_mjs/control/Eval/instance.mjs.map +1 -1
  315. package/_mjs/control/Eval/run.mjs +1 -0
  316. package/_mjs/control/Eval/run.mjs.map +1 -1
  317. package/_mjs/control/Z/api.mjs +16 -15
  318. package/_mjs/control/Z/api.mjs.map +1 -1
  319. package/_mjs/control/Z/definition.mjs +3 -5
  320. package/_mjs/control/Z/definition.mjs.map +1 -1
  321. package/_mjs/control/Z/instances.mjs +1 -0
  322. package/_mjs/control/Z/instances.mjs.map +1 -1
  323. package/_mjs/control/Z/runtime.mjs +15 -13
  324. package/_mjs/control/Z/runtime.mjs.map +1 -1
  325. package/_mjs/control.mjs +2 -0
  326. package/_mjs/control.mjs.map +1 -0
  327. package/_mjs/data/Branded/derivations.mjs +1 -0
  328. package/_mjs/data/Branded/derivations.mjs.map +1 -1
  329. package/_mjs/data/Cause/api/isEmpty.mjs +1 -0
  330. package/_mjs/data/Cause/api/isEmpty.mjs.map +1 -1
  331. package/_mjs/data/Cause/api/linearize.mjs +1 -0
  332. package/_mjs/data/Cause/api/linearize.mjs.map +1 -1
  333. package/_mjs/data/Cause/api.mjs +2 -1
  334. package/_mjs/data/Cause/api.mjs.map +1 -1
  335. package/_mjs/data/Const/definition.mjs +0 -3
  336. package/_mjs/data/Const/definition.mjs.map +1 -1
  337. package/_mjs/data/Const/instances.mjs +7 -5
  338. package/_mjs/data/Const/instances.mjs.map +1 -1
  339. package/_mjs/data/Datum/api.mjs +404 -0
  340. package/_mjs/data/Datum/api.mjs.map +1 -0
  341. package/_mjs/data/Datum/definition.mjs +112 -0
  342. package/_mjs/data/Datum/definition.mjs.map +1 -0
  343. package/_mjs/data/Datum/instances.mjs +52 -0
  344. package/_mjs/data/Datum/instances.mjs.map +1 -0
  345. package/_mjs/data/DatumEither/api.mjs +290 -0
  346. package/_mjs/data/DatumEither/api.mjs.map +1 -0
  347. package/_mjs/data/DatumEither/definition.mjs +2 -0
  348. package/_mjs/data/DatumEither/definition.mjs.map +1 -0
  349. package/_mjs/data/DecodeError/definition.mjs +12 -3
  350. package/_mjs/data/DecodeError/definition.mjs.map +1 -1
  351. package/_mjs/data/DecodeError/instances.mjs +2 -0
  352. package/_mjs/data/DecodeError/instances.mjs.map +1 -0
  353. package/_mjs/data/DecodeError.mjs +1 -0
  354. package/_mjs/data/DecodeError.mjs.map +1 -1
  355. package/_mjs/data/Decoder/api.mjs +1 -0
  356. package/_mjs/data/Decoder/api.mjs.map +1 -1
  357. package/_mjs/data/Decoder/definition.mjs +0 -2
  358. package/_mjs/data/Decoder/definition.mjs.map +1 -1
  359. package/_mjs/data/Either/api/alignWith.mjs +1 -0
  360. package/_mjs/data/Either/api/alignWith.mjs.map +1 -1
  361. package/_mjs/data/Either/api.mjs +17 -4
  362. package/_mjs/data/Either/api.mjs.map +1 -1
  363. package/_mjs/data/Either/definition.mjs +1 -3
  364. package/_mjs/data/Either/definition.mjs.map +1 -1
  365. package/_mjs/data/Either/instances.mjs +24 -23
  366. package/_mjs/data/Either/instances.mjs.map +1 -1
  367. package/_mjs/data/EitherT/api.mjs +73 -0
  368. package/_mjs/data/EitherT/api.mjs.map +1 -0
  369. package/_mjs/data/EitherT/definition.mjs +2 -0
  370. package/_mjs/data/EitherT/definition.mjs.map +1 -0
  371. package/_mjs/data/Environment/api.mjs +12 -13
  372. package/_mjs/data/Environment/api.mjs.map +1 -1
  373. package/_mjs/data/Environment/definition.mjs.map +1 -1
  374. package/_mjs/data/Identity/api.mjs +2 -1
  375. package/_mjs/data/Identity/api.mjs.map +1 -1
  376. package/_mjs/data/Identity/definition.mjs +2 -3
  377. package/_mjs/data/Identity/definition.mjs.map +1 -1
  378. package/_mjs/data/Identity/instances.mjs +1 -0
  379. package/_mjs/data/Identity/instances.mjs.map +1 -1
  380. package/_mjs/data/Intervals.mjs +257 -0
  381. package/_mjs/data/Intervals.mjs.map +1 -0
  382. package/_mjs/data/Maybe/api.mjs +2 -1
  383. package/_mjs/data/Maybe/api.mjs.map +1 -1
  384. package/_mjs/data/Maybe/definition.mjs +8 -10
  385. package/_mjs/data/Maybe/definition.mjs.map +1 -1
  386. package/_mjs/data/Maybe/instances.mjs +12 -11
  387. package/_mjs/data/Maybe/instances.mjs.map +1 -1
  388. package/_mjs/data/Newtype.mjs +3 -4
  389. package/_mjs/data/Newtype.mjs.map +1 -1
  390. package/_mjs/data/Patch/api.mjs +1 -0
  391. package/_mjs/data/Patch/api.mjs.map +1 -1
  392. package/_mjs/data/Struct/api.mjs +1 -0
  393. package/_mjs/data/Struct/api.mjs.map +1 -1
  394. package/_mjs/data/Struct/definition.mjs +2 -3
  395. package/_mjs/data/Struct/definition.mjs.map +1 -1
  396. package/_mjs/data/These/definition.mjs +1 -1
  397. package/_mjs/data/These/definition.mjs.map +1 -1
  398. package/_mjs/data/Zipped.mjs +37 -0
  399. package/_mjs/data/Zipped.mjs.map +1 -0
  400. package/_mjs/data/function/api.mjs +8 -0
  401. package/_mjs/data/function/api.mjs.map +1 -1
  402. package/_mjs/data/object/instances.mjs +7 -1
  403. package/_mjs/data/object/instances.mjs.map +1 -1
  404. package/_mjs/data/string/api.mjs +1 -1
  405. package/_mjs/data.mjs +2 -0
  406. package/_mjs/data.mjs.map +1 -0
  407. package/_mjs/global.mjs +2 -0
  408. package/_mjs/global.mjs.map +1 -0
  409. package/_mjs/index.mjs +2 -0
  410. package/_mjs/index.mjs.map +1 -0
  411. package/_mjs/json.mjs +2 -0
  412. package/_mjs/json.mjs.map +1 -0
  413. package/_mjs/optics/At/api.mjs +1 -0
  414. package/_mjs/optics/At/api.mjs.map +1 -1
  415. package/_mjs/optics/At/definition.mjs +1 -0
  416. package/_mjs/optics/At/definition.mjs.map +1 -1
  417. package/_mjs/optics/Index/api.mjs +1 -0
  418. package/_mjs/optics/Index/api.mjs.map +1 -1
  419. package/_mjs/optics/Iso/api.mjs +1 -0
  420. package/_mjs/optics/Iso/api.mjs.map +1 -1
  421. package/_mjs/optics/Iso/definition.mjs +2 -0
  422. package/_mjs/optics/Iso/definition.mjs.map +1 -1
  423. package/_mjs/optics/Lens/api.mjs +1 -0
  424. package/_mjs/optics/Lens/api.mjs.map +1 -1
  425. package/_mjs/optics/Lens/definition.mjs +2 -0
  426. package/_mjs/optics/Lens/definition.mjs.map +1 -1
  427. package/_mjs/optics/Optional/api/compose.mjs +1 -0
  428. package/_mjs/optics/Optional/api/compose.mjs.map +1 -1
  429. package/_mjs/optics/Optional/definition.mjs +5 -5
  430. package/_mjs/optics/Optional/definition.mjs.map +1 -1
  431. package/_mjs/optics/Prism/api/compose.mjs +1 -0
  432. package/_mjs/optics/Prism/api/compose.mjs.map +1 -1
  433. package/_mjs/optics/Prism/api/fromNullable.mjs +1 -0
  434. package/_mjs/optics/Prism/api/fromNullable.mjs.map +1 -1
  435. package/_mjs/optics/Prism/api/just.mjs +1 -0
  436. package/_mjs/optics/Prism/api/just.mjs.map +1 -1
  437. package/_mjs/optics/Prism/definition.mjs +1 -0
  438. package/_mjs/optics/Prism/definition.mjs.map +1 -1
  439. package/_mjs/optics/Traversal/api/compose.mjs +2 -1
  440. package/_mjs/optics/Traversal/api/compose.mjs.map +1 -1
  441. package/_mjs/optics/Traversal/api/fromTraversable.mjs +2 -1
  442. package/_mjs/optics/Traversal/api/fromTraversable.mjs.map +1 -1
  443. package/_mjs/optics/Traversal/definition.mjs +5 -3
  444. package/_mjs/optics/Traversal/definition.mjs.map +1 -1
  445. package/_mjs/optics.mjs +2 -0
  446. package/_mjs/optics.mjs.map +1 -0
  447. package/_mjs/typeclass/Alt.mjs +0 -5
  448. package/_mjs/typeclass/Alt.mjs.map +1 -1
  449. package/_mjs/typeclass/ApplicativeExcept.mjs +7 -32
  450. package/_mjs/typeclass/ApplicativeExcept.mjs.map +1 -1
  451. package/_mjs/typeclass/Apply.mjs +35 -65
  452. package/_mjs/typeclass/Apply.mjs.map +1 -1
  453. package/_mjs/typeclass/Chain.mjs +4 -25
  454. package/_mjs/typeclass/Chain.mjs.map +1 -1
  455. package/_mjs/typeclass/Eq/derivations.mjs +1 -0
  456. package/_mjs/typeclass/Eq/derivations.mjs.map +1 -1
  457. package/_mjs/typeclass/Fail.mjs +1 -8
  458. package/_mjs/typeclass/Fail.mjs.map +1 -1
  459. package/_mjs/typeclass/Filterable.mjs +0 -28
  460. package/_mjs/typeclass/Filterable.mjs.map +1 -1
  461. package/_mjs/typeclass/Foldable.mjs +3 -30
  462. package/_mjs/typeclass/Foldable.mjs.map +1 -1
  463. package/_mjs/typeclass/FoldableWithIndex.mjs +3 -30
  464. package/_mjs/typeclass/FoldableWithIndex.mjs.map +1 -1
  465. package/_mjs/typeclass/Functor.mjs +3 -16
  466. package/_mjs/typeclass/Functor.mjs.map +1 -1
  467. package/_mjs/typeclass/Guard/api.mjs +1 -0
  468. package/_mjs/typeclass/Guard/api.mjs.map +1 -1
  469. package/_mjs/typeclass/Guard/definition.mjs +0 -2
  470. package/_mjs/typeclass/Guard/definition.mjs.map +1 -1
  471. package/_mjs/typeclass/HashEq.mjs +1 -0
  472. package/_mjs/typeclass/HashEq.mjs.map +1 -1
  473. package/_mjs/typeclass/MonadExcept.mjs +2 -9
  474. package/_mjs/typeclass/MonadExcept.mjs.map +1 -1
  475. package/_mjs/typeclass/Monoid.mjs +1 -0
  476. package/_mjs/typeclass/Monoid.mjs.map +1 -1
  477. package/_mjs/typeclass/Nil.mjs +1 -8
  478. package/_mjs/typeclass/Nil.mjs.map +1 -1
  479. package/_mjs/typeclass/Ord/definition.mjs +1 -0
  480. package/_mjs/typeclass/Ord/definition.mjs.map +1 -1
  481. package/_mjs/typeclass/Ord/instances.mjs +3 -0
  482. package/_mjs/typeclass/Ord/instances.mjs.map +1 -1
  483. package/_mjs/typeclass/Pointed.mjs +0 -9
  484. package/_mjs/typeclass/Pointed.mjs.map +1 -1
  485. package/_mjs/typeclass/Semialign.mjs +17 -45
  486. package/_mjs/typeclass/Semialign.mjs.map +1 -1
  487. package/_mjs/typeclass/Semigroup/api.mjs +1 -0
  488. package/_mjs/typeclass/Semigroup/api.mjs.map +1 -1
  489. package/_mjs/typeclass/Semigroup/derivations.mjs +1 -0
  490. package/_mjs/typeclass/Semigroup/derivations.mjs.map +1 -1
  491. package/_mjs/typeclass/Semimonoidal.mjs +0 -9
  492. package/_mjs/typeclass/Semimonoidal.mjs.map +1 -1
  493. package/_mjs/typeclass/Showable/show.mjs +12 -12
  494. package/_mjs/typeclass/Showable/show.mjs.map +1 -1
  495. package/_mjs/typeclass/Traversable.mjs +6 -25
  496. package/_mjs/typeclass/Traversable.mjs.map +1 -1
  497. package/_mjs/typeclass/TraversableWithIndex.mjs +2 -6
  498. package/_mjs/typeclass/TraversableWithIndex.mjs.map +1 -1
  499. package/_mjs/typeclass/Witherable.mjs +3 -40
  500. package/_mjs/typeclass/Witherable.mjs.map +1 -1
  501. package/_mjs/typeclass/WitherableWithIndex.mjs +6 -41
  502. package/_mjs/typeclass/WitherableWithIndex.mjs.map +1 -1
  503. package/_mjs/util.mjs +2 -0
  504. package/_mjs/util.mjs.map +1 -0
  505. package/_src/collection/Iterable/api/traverseConc.ts +24 -21
  506. package/_src/collection/compat/Array/api.ts +10 -10
  507. package/_src/collection/compat/Array/definition.ts +3 -3
  508. package/_src/collection/compat/Array/derivations.ts +85 -0
  509. package/_src/collection/compat/Array.ts +1 -0
  510. package/_src/collection/compat/Record/instances.ts +43 -0
  511. package/_src/collection/compat.ts +4 -0
  512. package/_src/collection/immutable/Conc/api.ts +9 -11
  513. package/_src/collection/immutable/Conc/definition.ts +18 -13
  514. package/_src/collection/immutable/Conc/derivations.ts +28 -0
  515. package/_src/collection/immutable/Conc.ts +1 -0
  516. package/_src/collection/immutable/Dictionary/definition.ts +1 -1
  517. package/_src/collection/immutable/HashMap/api.ts +20 -17
  518. package/_src/collection/immutable/HashMap/definition.ts +10 -6
  519. package/_src/collection/immutable/ImmutableArray/api.ts +62 -119
  520. package/_src/collection/immutable/ImmutableArray/constructors.ts +2 -2
  521. package/_src/collection/immutable/ImmutableArray/definition.ts +11 -5
  522. package/_src/collection/immutable/ImmutableArray/derivations.ts +28 -0
  523. package/_src/collection/immutable/ImmutableArray/instances.ts +47 -42
  524. package/_src/collection/immutable/ImmutableArray.ts +1 -0
  525. package/_src/collection/immutable/ImmutableNonEmptyArray/api.ts +13 -11
  526. package/_src/collection/immutable/ImmutableNonEmptyArray/constructors.ts +2 -2
  527. package/_src/collection/immutable/ImmutableNonEmptyArray/definition.ts +10 -5
  528. package/_src/collection/immutable/ImmutableNonEmptyArray/derivations.ts +44 -0
  529. package/_src/collection/immutable/ImmutableNonEmptyArray/instances.ts +24 -25
  530. package/_src/collection/immutable/ImmutableNonEmptyArray.ts +1 -0
  531. package/_src/collection/immutable/List/definition.ts +2 -2
  532. package/_src/collection/immutable/RoseTree/definition.ts +7 -4
  533. package/_src/collection/immutable/Vector/api.ts +12 -16
  534. package/_src/collection/immutable/Vector/definition.ts +10 -10
  535. package/_src/collection/immutable/Vector/internal.ts +1 -1
  536. package/_src/collection/immutable.ts +12 -0
  537. package/_src/collection/mutable/HashMap.ts +4 -0
  538. package/_src/collection/mutable.ts +6 -0
  539. package/_src/collection/weak/IterableWeakMap.ts +50 -5
  540. package/_src/collection/weak/IterableWeakSet.ts +57 -9
  541. package/_src/collection/weak.ts +4 -0
  542. package/_src/collection.ts +7 -0
  543. package/_src/control/Eval/api.ts +5 -2
  544. package/_src/control/Eval/definition.ts +8 -5
  545. package/_src/control/Eval/instance.ts +7 -7
  546. package/_src/control/Z/api.ts +40 -52
  547. package/_src/control/Z/definition.ts +36 -36
  548. package/_src/control/Z/instances.ts +3 -3
  549. package/_src/control/Z/runtime.ts +11 -11
  550. package/_src/control.ts +5 -0
  551. package/_src/data/Const/definition.ts +9 -17
  552. package/_src/data/Const/instances.ts +5 -5
  553. package/_src/data/Datum/api.ts +376 -0
  554. package/_src/data/Datum/definition.ts +102 -0
  555. package/_src/data/Datum/instances.ts +34 -0
  556. package/_src/data/DatumEither/api.ts +348 -0
  557. package/_src/data/DatumEither/definition.ts +20 -0
  558. package/_src/data/DecodeError/definition.ts +11 -3
  559. package/_src/data/DecodeError/instances.ts +0 -0
  560. package/_src/data/DecodeError.ts +1 -0
  561. package/_src/data/Decoder/definition.ts +7 -4
  562. package/_src/data/Either/api.ts +12 -2
  563. package/_src/data/Either/definition.ts +10 -15
  564. package/_src/data/Either/instances.ts +6 -6
  565. package/_src/data/EitherT/api.ts +239 -0
  566. package/_src/data/EitherT/definition.ts +23 -0
  567. package/_src/data/Environment/api.ts +8 -6
  568. package/_src/data/Environment/definition.ts +2 -2
  569. package/_src/data/Identity/api.ts +2 -2
  570. package/_src/data/Identity/definition.ts +2 -2
  571. package/_src/data/Identity/instances.ts +7 -7
  572. package/_src/data/Intervals.ts +126 -0
  573. package/_src/data/Maybe/api.ts +2 -2
  574. package/_src/data/Maybe/definition.ts +8 -5
  575. package/_src/data/Maybe/instances.ts +10 -10
  576. package/_src/data/Newtype.ts +32 -11
  577. package/_src/data/Struct/definition.ts +1 -1
  578. package/_src/data/Tag/definition.ts +2 -2
  579. package/_src/data/These/definition.ts +1 -1
  580. package/_src/data/Zipped.ts +52 -0
  581. package/_src/data/function/api.ts +8 -0
  582. package/_src/data/object/instances.ts +11 -1
  583. package/_src/data/string/api.ts +1 -1
  584. package/_src/data.ts +35 -0
  585. package/_src/global.ts +252 -0
  586. package/_src/index.ts +8 -0
  587. package/_src/json.ts +5 -0
  588. package/_src/optics/Optional/definition.ts +2 -2
  589. package/_src/optics/Traversal/api/compose.ts +1 -1
  590. package/_src/optics/Traversal/api/fromTraversable.ts +11 -11
  591. package/_src/optics/Traversal/definition.ts +13 -12
  592. package/_src/optics.ts +12 -0
  593. package/_src/typeclass/Align.ts +1 -1
  594. package/_src/typeclass/Alt.ts +24 -54
  595. package/_src/typeclass/Alternative.ts +1 -1
  596. package/_src/typeclass/Applicative.ts +6 -1
  597. package/_src/typeclass/ApplicativeExcept.ts +55 -81
  598. package/_src/typeclass/Apply.ts +224 -253
  599. package/_src/typeclass/Chain.ts +71 -98
  600. package/_src/typeclass/Fail.ts +10 -28
  601. package/_src/typeclass/Filterable.ts +13 -67
  602. package/_src/typeclass/FilterableWithIndex.ts +13 -13
  603. package/_src/typeclass/Foldable.ts +16 -35
  604. package/_src/typeclass/FoldableWithIndex.ts +14 -37
  605. package/_src/typeclass/Functor.ts +11 -21
  606. package/_src/typeclass/FunctorWithIndex.ts +4 -4
  607. package/_src/typeclass/Guard/definition.ts +1 -3
  608. package/_src/typeclass/Monad.ts +1 -1
  609. package/_src/typeclass/MonadExcept.ts +11 -7
  610. package/_src/typeclass/Nil.ts +10 -27
  611. package/_src/typeclass/Pointed.ts +11 -30
  612. package/_src/typeclass/Semialign.ts +285 -253
  613. package/_src/typeclass/Semimonoidal.ts +23 -54
  614. package/_src/typeclass/Showable/show.ts +10 -12
  615. package/_src/typeclass/Traversable.ts +45 -63
  616. package/_src/typeclass/TraversableWithIndex.ts +37 -34
  617. package/_src/typeclass/Witherable.ts +28 -115
  618. package/_src/typeclass/WitherableWithIndex.ts +82 -115
  619. package/_src/types/extractions.ts +1 -1
  620. package/_src/util.ts +8 -0
  621. package/collection/Iterable/api/traverseConc.d.ts +4 -6
  622. package/collection/compat/Array/api.d.ts +10 -10
  623. package/collection/compat/Array/definition.d.ts +3 -3
  624. package/collection/compat/Array/derivations.d.ts +24 -0
  625. package/collection/compat/Array.d.ts +1 -0
  626. package/collection/compat/Record/instances.d.ts +12 -0
  627. package/collection/compat.d.ts +2 -0
  628. package/collection/immutable/Conc/api.d.ts +4 -6
  629. package/collection/immutable/Conc/definition.d.ts +24 -20
  630. package/collection/immutable/Conc/derivations.d.ts +14 -0
  631. package/collection/immutable/Conc.d.ts +1 -0
  632. package/collection/immutable/Dictionary/definition.d.ts +1 -1
  633. package/collection/immutable/HashMap/api.d.ts +13 -13
  634. package/collection/immutable/HashMap/definition.d.ts +10 -7
  635. package/collection/immutable/ImmutableArray/api.d.ts +22 -24
  636. package/collection/immutable/ImmutableArray/constructors.d.ts +2 -2
  637. package/collection/immutable/ImmutableArray/definition.d.ts +12 -6
  638. package/collection/immutable/ImmutableArray/derivations.d.ts +14 -0
  639. package/collection/immutable/ImmutableArray/instances.d.ts +17 -17
  640. package/collection/immutable/ImmutableArray.d.ts +1 -0
  641. package/collection/immutable/ImmutableNonEmptyArray/api.d.ts +6 -5
  642. package/collection/immutable/ImmutableNonEmptyArray/constructors.d.ts +2 -2
  643. package/collection/immutable/ImmutableNonEmptyArray/definition.d.ts +9 -5
  644. package/collection/immutable/ImmutableNonEmptyArray/derivations.d.ts +14 -0
  645. package/collection/immutable/ImmutableNonEmptyArray/instances.d.ts +10 -10
  646. package/collection/immutable/ImmutableNonEmptyArray.d.ts +1 -0
  647. package/collection/immutable/List/definition.d.ts +2 -2
  648. package/collection/immutable/RoseTree/definition.d.ts +7 -5
  649. package/collection/immutable/Vector/api.d.ts +4 -4
  650. package/collection/immutable/Vector/definition.d.ts +9 -10
  651. package/collection/immutable/Vector/internal.d.ts +1 -1
  652. package/collection/immutable.d.ts +10 -0
  653. package/collection/mutable/HashMap.d.ts +1 -0
  654. package/collection/mutable.d.ts +4 -0
  655. package/collection/weak/IterableWeakMap.d.ts +9 -3
  656. package/collection/weak/IterableWeakSet.d.ts +10 -4
  657. package/collection/weak.d.ts +2 -0
  658. package/collection.d.ts +5 -0
  659. package/control/Eval/api.d.ts +6 -1
  660. package/control/Eval/definition.d.ts +6 -4
  661. package/control/Eval/instance.d.ts +3 -3
  662. package/control/Z/api.d.ts +32 -30
  663. package/control/Z/definition.d.ts +43 -37
  664. package/control/Z/instances.d.ts +2 -2
  665. package/control/Z/runtime.d.ts +9 -8
  666. package/control.d.ts +3 -0
  667. package/data/Const/definition.d.ts +8 -16
  668. package/data/Const/instances.d.ts +4 -3
  669. package/data/Datum/api.d.ts +188 -0
  670. package/data/Datum/definition.d.ts +75 -0
  671. package/data/Datum/instances.d.ts +32 -0
  672. package/data/DatumEither/api.d.ts +169 -0
  673. package/data/DatumEither/definition.d.ts +21 -0
  674. package/data/DecodeError/definition.d.ts +6 -0
  675. package/data/DecodeError/instances.d.ts +1 -0
  676. package/data/DecodeError.d.ts +1 -0
  677. package/data/Decoder/definition.d.ts +6 -4
  678. package/data/Either/api.d.ts +10 -0
  679. package/data/Either/definition.d.ts +8 -14
  680. package/data/Either/instances.d.ts +4 -3
  681. package/data/EitherT/api.d.ts +60 -0
  682. package/data/EitherT/definition.d.ts +12 -0
  683. package/data/Environment/api.d.ts +7 -5
  684. package/data/Environment/definition.d.ts +3 -3
  685. package/data/Identity/api.d.ts +2 -1
  686. package/data/Identity/definition.d.ts +2 -2
  687. package/data/Identity/instances.d.ts +3 -3
  688. package/data/Intervals.d.ts +53 -0
  689. package/data/Maybe/api.d.ts +2 -1
  690. package/data/Maybe/definition.d.ts +10 -5
  691. package/data/Maybe/instances.d.ts +6 -6
  692. package/data/Newtype.d.ts +9 -8
  693. package/data/Struct/definition.d.ts +1 -1
  694. package/data/Tag/definition.d.ts +2 -2
  695. package/data/Zipped.d.ts +24 -0
  696. package/data/function/api.d.ts +6 -0
  697. package/data/object/instances.d.ts +6 -1
  698. package/data/string/api.d.ts +1 -1
  699. package/data.d.ts +33 -0
  700. package/global.d.ts +237 -0
  701. package/index.d.ts +8 -0
  702. package/json.d.ts +3 -0
  703. package/optics/Traversal/api/fromTraversable.d.ts +1 -1
  704. package/optics/Traversal/definition.d.ts +2 -4
  705. package/optics.d.ts +10 -0
  706. package/package.json +6 -2
  707. package/typeclass/Align.d.ts +1 -1
  708. package/typeclass/Alt.d.ts +2 -4
  709. package/typeclass/Alternative.d.ts +1 -1
  710. package/typeclass/Applicative.d.ts +2 -1
  711. package/typeclass/ApplicativeExcept.d.ts +5 -13
  712. package/typeclass/Apply.d.ts +20 -32
  713. package/typeclass/Chain.d.ts +5 -13
  714. package/typeclass/Fail.d.ts +2 -7
  715. package/typeclass/Filterable.d.ts +7 -31
  716. package/typeclass/FilterableWithIndex.d.ts +7 -7
  717. package/typeclass/Foldable.d.ts +6 -19
  718. package/typeclass/FoldableWithIndex.d.ts +6 -19
  719. package/typeclass/Functor.d.ts +4 -11
  720. package/typeclass/FunctorWithIndex.d.ts +2 -2
  721. package/typeclass/Guard/definition.d.ts +1 -4
  722. package/typeclass/Monad.d.ts +1 -1
  723. package/typeclass/MonadExcept.d.ts +3 -4
  724. package/typeclass/Nil.d.ts +2 -7
  725. package/typeclass/Pointed.d.ts +2 -7
  726. package/typeclass/Semialign.d.ts +26 -32
  727. package/typeclass/Semimonoidal.d.ts +3 -8
  728. package/typeclass/Showable/show.d.ts +1 -1
  729. package/typeclass/Traversable.d.ts +21 -12
  730. package/typeclass/TraversableWithIndex.d.ts +19 -6
  731. package/typeclass/Witherable.d.ts +5 -19
  732. package/typeclass/WitherableWithIndex.d.ts +33 -19
  733. package/types/extractions.d.ts +1 -1
  734. package/util.d.ts +6 -0
@@ -1,33 +1,14 @@
1
- export const traverse = traverse_1;
2
1
  import { identity } from "@fncts/base/data/function";
3
2
  export const Traversable = {};
4
- /**
5
- * @tsplus fluent fncts.Kind traverse
6
- */
7
-
8
- function traverse_1(ta, f,
9
- /** @tsplus auto */
10
- F,
11
- /** @tsplus auto */
12
- G) {
13
- return F.traverse(ta, f, G);
3
+ export function mkTraverse_() {
4
+ return i => i();
14
5
  }
15
6
  /**
16
- * @tsplus fluent fncts.Kind sequence
7
+ * @tsplus static fncts.TraversableOps sequence
17
8
  */
18
9
 
19
-
20
- export function sequence(ta,
21
- /** @tsplus auto */
22
- F,
23
- /** @tsplus auto */
24
- G) {
25
- const G_1 =
26
- /** @tsplus auto */
27
- G;
28
- const F_1 =
29
- /** @tsplus auto */
30
- F;
31
- return traverse_1(ta, identity, F_1, G_1);
10
+ export function sequence(F) {
11
+ // @ts-expect-error
12
+ return ta => G => F.traverse(ta)(G)(identity);
32
13
  }
33
14
  //# sourceMappingURL=Traversable.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"Traversable.mjs","mappings":"aA2BgBA,QAAQ;AAvBxB,SAASC,QAAT,QAAyB,2BAAzB;AAkBA,OAAO,MAAMC,WAAW,GAAmB,EAApC;AAEP;;;;AAGA,oBAsBEC,EAtBF,EAuBEC,CAvBF;AAwBE;AAAoBC,CAxBtB;AAyBE;AAAoBC,CAzBtB,EAyBuC;EAErC,OAAOD,CAAC,CAACL,QAAF,CAAWG,EAAX,EAAeC,CAAf,EAAkBE,CAAlB,CAAP;AACD;AAED;;;;;AAGA,OAAM,SAAUC,QAAV,CAqBJJ,EArBI;AAsBJ;AAAoBE,CAtBhB;AAuBJ;AAAoBC,CAvBhB,EAuBiC;;EAArC;EAAoBA;;EADpB;EAAoBD;EAGpB,OAAOG,eAAYP,QAAZ,EAAoBQ,GAApB,EAAoBC,GAApB,CAAP;AACD","names":["traverse","identity","Traversable","ta","f","F","G","sequence","traverse_1","F_1","G_1"],"sourceRoot":"","sources":["../../_src/typeclass/Traversable.ts"],"sourcesContent":[null]}
1
+ {"version":3,"file":"Traversable.mjs","mappings":"AAIA,SAASA,QAAT,QAAyB,2BAAzB;AAoBA,OAAO,MAAMC,WAAW,GAAmB,EAApC;AAwBP,OAAM,SAAUC,WAAV,GAAqB;EACzB,OAAQC,CAAD,IAAYA,CAAC,EAApB;AACD;AAED;;;;AAGA,OAAM,SAAUC,QAAV,CACJC,CADI,EACiB;EAUrB;EACA,OAAQC,EAAD,IAASC,CAAD,IAAOF,CAAC,CAACG,QAAF,CAAWF,EAAX,EAAeC,CAAf,EAAkBP,QAAlB,CAAtB;AACD","names":["identity","Traversable","mkTraverse_","i","sequence","F","ta","G","traverse"],"sourceRoot":"","sources":["../../_src/typeclass/Traversable.ts"],"sourcesContent":[null]}
@@ -1,9 +1,5 @@
1
1
  export const TraversableWithIndex = {};
2
- export function traverseWithIndex(ta, f,
3
- /** @tsplus auto */
4
- F,
5
- /** @tsplus auto */
6
- G) {
7
- return F.traverseWithIndex(ta, f, G);
2
+ export function mkTraverseWithIndex_() {
3
+ return i => i();
8
4
  }
9
5
  //# sourceMappingURL=TraversableWithIndex.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"TraversableWithIndex.mjs","mappings":"AAqBA,OAAO,MAAMA,oBAAoB,GAA4B,EAAtD;AAEP,OAAM,SAAUC,iBAAV,CAsBJC,EAtBI,EAuBJC,CAvBI;AAwBJ;AAAoBC,CAxBhB;AAyBJ;AAAoBC,CAzBhB,EAyBiC;EAErC,OAAOD,CAAC,CAACH,iBAAF,CAAoBC,EAApB,EAAwBC,CAAxB,EAA2BE,CAA3B,CAAP;AACD","names":["TraversableWithIndex","traverseWithIndex","ta","f","F","G"],"sourceRoot":"","sources":["../../_src/typeclass/TraversableWithIndex.ts"],"sourcesContent":[null]}
1
+ {"version":3,"file":"TraversableWithIndex.mjs","mappings":"AA0BA,OAAO,MAAMA,oBAAoB,GAA4B,EAAtD;AA0BP,OAAM,SAAUC,oBAAV,GAA8B;EAClC,OAAQC,CAAD,IAAYA,CAAC,EAApB;AACD","names":["TraversableWithIndex","mkTraverseWithIndex_","i"],"sourceRoot":"","sources":["../../_src/typeclass/TraversableWithIndex.ts"],"sourcesContent":[null]}
@@ -1,47 +1,10 @@
1
1
  import * as tsplus_module_1 from "@fncts/base/data/Maybe/constructors";
2
- import * as tsplus_module_2 from "@fncts/base/typeclass/Functor";
3
- export const wither = wither_1;
4
2
  export const Witherable = {};
5
3
  /**
6
- * @tsplus fluent fncts.Kind wither
4
+ * @tsplus static fncts.WitherableOps filterA
7
5
  */
8
6
 
9
- function wither_1(wa, f,
10
- /** @tsplus auto */
11
- F,
12
- /** @tsplus auto */
13
- G) {
14
- const G_1 =
15
- /** @tsplus auto */
16
- G;
17
- return F.wither(wa, f, G_1);
18
- }
19
-
20
- export function wilt(wa, f,
21
- /** @tsplus auto */
22
- F,
23
- /** @tsplus auto */
24
- G) {
25
- const G_2 =
26
- /** @tsplus auto */
27
- G;
28
- return F.wilt(wa, f, G_2);
29
- }
30
- /**
31
- * @tsplus fluent fncts.Kind filterA
32
- */
33
-
34
- export function filterA(fa, p,
35
- /** @tsplus auto */
36
- F,
37
- /** @tsplus auto */
38
- G) {
39
- const G_3 =
40
- /** @tsplus auto */
41
- G;
42
- const F_1 =
43
- /** @tsplus auto */
44
- F;
45
- return wither_1(fa, a => tsplus_module_2.map(p(a), bb => bb ? tsplus_module_1.just(a) : tsplus_module_1.nothing(), G), F_1, G_3);
7
+ export function filterA(F) {
8
+ return fa => G => p => F.wither(fa)(G)(a => G.map(p(a), bb => bb ? tsplus_module_1.just(a) : tsplus_module_1.nothing()));
46
9
  }
47
10
  //# sourceMappingURL=Witherable.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"Witherable.mjs","mappings":";;aAyCgBA,MAAM;AALtB,OAAO,MAAMC,UAAU,GAAkB,EAAlC;AAEP;;;;AAGA,kBAsBEC,EAtBF,EAuBEC,CAvBF;AAwBE;AAAoBC,CAxBtB;AAyBE;AAAoBC,CAzBtB,EAyBuC;;EAArC;EAAoBA;EAEpB,OAAOD,CAAC,CAACJ,MAAF,CAASE,EAAT,EAAaC,CAAb,EAAcG,GAAd,CAAP;AACD;;AAED,OAAM,SAAUC,IAAV,CAuBJL,EAvBI,EAwBJC,CAxBI;AAyBJ;AAAoBC,CAzBhB;AA0BJ;AAAoBC,CA1BhB,EA0BiC;;EAArC;EAAoBA;EAapB,OAAOD,CAAC,CAACG,IAAF,CAAOL,EAAP,EAAWC,CAAX,EAAYK,GAAZ,CAAP;AACD;AAED;;;;AAGA,OAAM,SAAUC,OAAV,CAqBJC,EArBI,EAsBJC,CAtBI;AAuBJ;AAAoBP,CAvBhB;AAwBJ;AAAoBC,CAxBhB,EAwBiC;;EAArC;EAAoBA;;EADpB;EAAoBD;EAGpB,OAAOQ,aAAWC,CAAD,IAAOC,qBAAC,CAACD,CAAD,CAAD,EAAUE,EAAD,IAASA,EAAE,GAAGC,qBAAKH,CAAL,CAAH,GAAaG,yBAAjC,EAA6CX,CAA7C,CAAjB,EAAgEY,GAAhE,EAAgEC,GAAhE,CAAP;AACD","names":["wither","Witherable","wa","f","F","G","G_1","wilt","G_2","filterA","fa","p","wither_1","a","tsplus_module_2","bb","tsplus_module_1","F_1","G_3"],"sourceRoot":"","sources":["../../_src/typeclass/Witherable.ts"],"sourcesContent":[null]}
1
+ {"version":3,"file":"Witherable.mjs","mappings":";AAyCA,OAAO,MAAMA,UAAU,GAAkB,EAAlC;AAEP;;;;AAGA,OAAM,SAAUC,OAAV,CACJC,CADI,EACgB;EAQpB,OAAQC,EAAD,IAASC,CAAD,IAAQC,CAAD,IAAOH,CAAC,CAACI,MAAF,CAASH,EAAT,EAAaC,CAAb,EAAiBG,CAAD,IAAOH,CAAC,CAACI,GAAF,CAAMH,CAAC,CAACE,CAAD,CAAP,EAAaE,EAAD,IAASA,EAAE,GAAGC,qBAAKH,CAAL,CAAH,GAAaG,yBAApC,CAAvB,CAA7B;AACD","names":["Witherable","filterA","F","fa","G","p","wither","a","map","bb","tsplus_module_1"],"sourceRoot":"","sources":["../../_src/typeclass/Witherable.ts"],"sourcesContent":[null]}
@@ -1,47 +1,12 @@
1
1
  import * as tsplus_module_1 from "@fncts/base/data/Maybe/constructors";
2
- import * as tsplus_module_2 from "@fncts/base/typeclass/Functor";
3
- export const witherWithIndex = witherWithIndex_1;
4
2
  export const WitherableWithIndex = {};
5
- /**
6
- * @tsplus fluent fncts.Kind witherWithIndex
7
- */
8
-
9
- function witherWithIndex_1(wa, f,
10
- /** @tsplus auto */
11
- F,
12
- /** @tsplus auto */
13
- G) {
14
- const G_1 =
15
- /** @tsplus auto */
16
- G;
17
- return F.witherWithIndex(wa, f, G_1);
3
+ export function makeWitherWithIndex() {
4
+ return i => i();
18
5
  }
19
- /**
20
- * @tsplus fluent fncts.Kind wiltWithIndex
21
- */
22
-
23
-
24
- export function wiltWithIndex(wa, f,
25
- /** @tsplus auto */
26
- F,
27
- /** @tsplus auto */
28
- G) {
29
- const G_2 =
30
- /** @tsplus auto */
31
- G;
32
- return F.wiltWithIndex(wa, f, G_2);
6
+ export function makeWiltWithIndex() {
7
+ return i => i();
33
8
  }
34
- export function filterWithIndexA(fa, p,
35
- /** @tsplus auto */
36
- F,
37
- /** @tsplus auto */
38
- G) {
39
- const G_3 =
40
- /** @tsplus auto */
41
- G;
42
- const F_1 =
43
- /** @tsplus auto */
44
- F;
45
- return witherWithIndex_1(fa, (i, a) => tsplus_module_2.map(p(i, a), bb => bb ? tsplus_module_1.just(a) : tsplus_module_1.nothing(), G), F_1, G_3);
9
+ export function filterWithIndexA(F) {
10
+ return fa => G => p => F.witherWithIndex(fa)(G)((i, a) => G.map(p(i, a), bb => bb ? tsplus_module_1.just(a) : tsplus_module_1.nothing()));
46
11
  }
47
12
  //# sourceMappingURL=WitherableWithIndex.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"WitherableWithIndex.mjs","mappings":";;aA6CgBA,eAAe;AAL/B,OAAO,MAAMC,mBAAmB,GAA2B,EAApD;AAEP;;;;AAGA,2BAsBEC,EAtBF,EAuBEC,CAvBF;AAwBE;AACAC,CAzBF;AA0BE;AACAC,CA3BF,EA2BmB;;EADjB;EACAA;EAEA,OAAOD,CAAC,CAACJ,eAAF,CAAkBE,EAAlB,EAAsBC,CAAtB,EAAuBG,GAAvB,CAAP;AACD;AAED;;;;;AAGA,OAAM,SAAUC,aAAV,CAuBJL,EAvBI,EAwBJC,CAxBI;AAyBJ;AACAC,CA1BI;AA2BJ;AAAoBC,CA3BhB,EA2BiC;;EAArC;EAAoBA;EAapB,OAAOD,CAAC,CAACG,aAAF,CAAgBL,EAAhB,EAAoBC,CAApB,EAAqBK,GAArB,CAAP;AACD;AAED,OAAM,SAAUC,gBAAV,CAqBJC,EArBI,EAsBJC,CAtBI;AAuBJ;AAAoBP,CAvBhB;AAwBJ;AAAoBC,CAxBhB,EAwBiC;;EAArC;EAAoBA;;EADpB;EAAoBD;EAGpB,OAAOQ,sBAAmB,CAACC,CAAD,EAAIC,CAAJ,KAAUC,qBAAC,CAACF,CAAD,EAAIC,CAAJ,CAAD,EAAaE,EAAD,IAASA,EAAE,GAAGC,qBAAKH,CAAL,CAAH,GAAaG,yBAApC,EAAgDZ,CAAhD,CAA7B,EAA+Ea,GAA/E,EAA+EC,GAA/E,CAAP;AACD","names":["witherWithIndex","WitherableWithIndex","wa","f","F","G","G_1","wiltWithIndex","G_2","filterWithIndexA","fa","p","witherWithIndex_1","i","a","tsplus_module_2","bb","tsplus_module_1","F_1","G_3"],"sourceRoot":"","sources":["../../_src/typeclass/WitherableWithIndex.ts"],"sourcesContent":[null]}
1
+ {"version":3,"file":"WitherableWithIndex.mjs","mappings":";AA6CA,OAAO,MAAMA,mBAAmB,GAA2B,EAApD;AA0BP,OAAM,SAAUC,mBAAV,GAA6B;EACjC,OAAQC,CAAD,IAAYA,CAAC,EAApB;AACD;AA8BD,OAAM,SAAUC,iBAAV,GAA2B;EAC/B,OAAQD,CAAD,IAAYA,CAAC,EAApB;AACD;AAED,OAAM,SAAUE,gBAAV,CACJC,CADI,EACyB;EAQ7B,OAAQC,EAAD,IAASC,CAAD,IAAQC,CAAD,IAAOH,CAAC,CAACI,eAAF,CAAkBH,EAAlB,EAAsBC,CAAtB,EAAyB,CAACL,CAAD,EAAIQ,CAAJ,KAAUH,CAAC,CAACI,GAAF,CAAMH,CAAC,CAACN,CAAD,EAAIQ,CAAJ,CAAP,EAAgBE,EAAD,IAASA,EAAE,GAAGC,qBAAKH,CAAL,CAAH,GAAaG,yBAAvC,CAAnC,CAA7B;AACD","names":["WitherableWithIndex","makeWitherWithIndex","i","makeWiltWithIndex","filterWithIndexA","F","fa","G","p","witherWithIndex","a","map","bb","tsplus_module_1"],"sourceRoot":"","sources":["../../_src/typeclass/WitherableWithIndex.ts"],"sourcesContent":[null]}
package/_mjs/util.mjs ADDED
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=util.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"util.mjs","mappings":"","names":[],"sourceRoot":"","sources":[],"sourcesContent":[]}
@@ -1,32 +1,35 @@
1
1
  import type * as P from "@fncts/base/typeclass";
2
2
 
3
3
  /**
4
- * @tsplus fluent fncts.Iterable traverseToConcWithIndex
4
+ * @tsplus getter fncts.Iterable traverseToConcWithIndex
5
5
  */
6
- export function traverseToConcWithIndex_<G extends HKT, K, Q, W, X, I, S, R, E, A, B>(
7
- ta: Iterable<A>,
8
- f: (i: number, a: A) => HKT.Kind<G, K, Q, W, X, I, S, R, E, B>,
9
- /** @tsplus auto */ G: P.Applicative<G>,
10
- ): HKT.Kind<G, K, Q, W, X, I, S, R, E, Conc<B>> {
11
- let output = G.pure<Conc<B>, K, Q, W, X, I, S, R, E>(Conc.empty<B>());
12
- const iterator = ta[Symbol.iterator]();
13
- let result: IteratorResult<A>;
14
- let i = 0;
15
- while (!(result = iterator.next()).done) {
16
- output = G.zipWith(output, f(i, result.value), (bs, b) => bs.append(b));
17
- i++;
18
- }
6
+ export function traverseToConcWithIndex_<A>(ta: Iterable<A>) {
7
+ return <G extends HKT, GC = HKT.None>(G: P.Applicative<G, GC>) =>
8
+ <K, Q, W, X, I, S, R, E, B>(
9
+ f: (i: number, a: A) => HKT.Kind<G, GC, K, Q, W, X, I, S, R, E, B>,
10
+ ): HKT.Kind<G, GC, K, Q, W, X, I, S, R, E, Conc<B>> => {
11
+ let output = G.pure<Conc<B>, K, Q, W, X, I, S, R, E>(Conc.empty<B>());
12
+ const iterator = ta[Symbol.iterator]();
13
+ let result: IteratorResult<A>;
14
+ let i = 0;
15
+ while (!(result = iterator.next()).done) {
16
+ output = G.zipWith(output, f(i, result.value), (bs, b) => bs.append(b)) as typeof output;
17
+ i++;
18
+ }
19
19
 
20
- return output;
20
+ return output;
21
+ };
21
22
  }
22
23
 
23
24
  /**
24
- * @tsplus fluent fncts.Iterable traverseToConc
25
+ * @tsplus getter fncts.Iterable traverseToConc
25
26
  */
26
- export function traverseToConc_<G extends HKT, K, Q, W, X, I, S, R, E, A, B>(
27
+ export function traverseToConc_<A>(
27
28
  ta: Iterable<A>,
28
- f: (a: A) => HKT.Kind<G, K, Q, W, X, I, S, R, E, B>,
29
- /** @tsplus auto */ G: P.Applicative<G>,
30
- ): HKT.Kind<G, K, Q, W, X, I, S, R, E, Conc<B>> {
31
- return ta.traverseToConcWithIndex((_, a) => f(a));
29
+ ): <G extends HKT, GC = HKT.None>(
30
+ G: P.Applicative<G, GC>,
31
+ ) => <K, Q, W, X, I, S, R, E, B>(
32
+ f: (a: A) => HKT.Kind<G, GC, K, Q, W, X, I, S, R, E, B>,
33
+ ) => HKT.Kind<G, GC, K, Q, W, X, I, S, R, E, Conc<B>> {
34
+ return (G) => (f) => ta.traverseToConcWithIndex(G)((_, a) => f(a));
32
35
  }
@@ -1,8 +1,8 @@
1
1
  import type { Eq } from "@fncts/base/typeclass";
2
2
 
3
3
  /**
4
- * @tsplus getter fncts.base.Array elem
5
- * @tsplus getter fncts.base.ReadonlyArray elem
4
+ * @tsplus getter fncts.Array elem
5
+ * @tsplus getter fncts.ReadonlyArray elem
6
6
  */
7
7
  export function elem<A>(self: ReadonlyArray<A>) {
8
8
  return (eq: Eq<A>) =>
@@ -17,32 +17,32 @@ export function elem<A>(self: ReadonlyArray<A>) {
17
17
  }
18
18
 
19
19
  /**
20
- * @tsplus fluent fncts.base.Array isEmpty
21
- * @tsplus fluent fncts.base.ReadonlyArray isEmpty
20
+ * @tsplus fluent fncts.Array isEmpty
21
+ * @tsplus fluent fncts.ReadonlyArray isEmpty
22
22
  */
23
23
  export function isEmpty<A>(self: ReadonlyArray<A>): boolean {
24
24
  return self.length === 0;
25
25
  }
26
26
 
27
27
  /**
28
- * @tsplus fluent fncts.base.Array isNonEmpty
29
- * @tsplus fluent fncts.base.ReadonlyArray isNonEmpty
28
+ * @tsplus fluent fncts.Array isNonEmpty
29
+ * @tsplus fluent fncts.ReadonlyArray isNonEmpty
30
30
  */
31
31
  export function isNonEmpty<A>(self: ReadonlyArray<A>): self is ReadonlyNonEmptyArray<A> {
32
32
  return self.length > 0;
33
33
  }
34
34
 
35
35
  /**
36
- * @tsplus fluent fncts.base.Array foldLeft
37
- * @tsplus fluent fncts.base.ReadonlyArray foldLeft
36
+ * @tsplus fluent fncts.Array foldLeft
37
+ * @tsplus fluent fncts.ReadonlyArray foldLeft
38
38
  */
39
39
  export function foldLeft<A, B>(self: ReadonlyArray<A>, b: B, f: (b: B, a: A) => B): B {
40
40
  return self.foldLeftWithIndex(b, (_, b, a) => f(b, a));
41
41
  }
42
42
 
43
43
  /**
44
- * @tsplus fluent fncts.base.Array foldLeftWithIndex
45
- * @tsplus fluent fncts.base.ReadonlyArray foldLeftWithIndex
44
+ * @tsplus fluent fncts.Array foldLeftWithIndex
45
+ * @tsplus fluent fncts.ReadonlyArray foldLeftWithIndex
46
46
  */
47
47
  export function foldLeftWithIndex<A, B>(self: ReadonlyArray<A>, b: B, f: (i: number, b: B, a: A) => B): B {
48
48
  let out = b;
@@ -1,16 +1,16 @@
1
1
  declare global {
2
2
  /**
3
- * @tsplus type fncts.base.ReadonlyArray
3
+ * @tsplus type fncts.ReadonlyArray
4
4
  */
5
5
  export interface ReadonlyArray<T> {}
6
6
 
7
7
  /**
8
- * @tsplus type fncts.base.Array
8
+ * @tsplus type fncts.Array
9
9
  */
10
10
  export interface Array<T> {}
11
11
 
12
12
  /**
13
- * @tsplus type fncts.base.ArrayOps
13
+ * @tsplus type fncts.ArrayOps
14
14
  */
15
15
  export interface ArrayConstructor {}
16
16
  }
@@ -0,0 +1,85 @@
1
+ import type { DecodeError } from "@fncts/base/data/DecodeError";
2
+ import type { Check } from "@fncts/typelevel/Check";
3
+
4
+ import { CompoundError, OptionalIndexError, PrimitiveError } from "@fncts/base/data/DecodeError";
5
+
6
+ /**
7
+ * @tsplus derive fncts.Guard[fncts.Array]<_> 10
8
+ */
9
+ export function deriveGuard<A extends Array<any>>(
10
+ ...[element]: [A] extends [Array<infer _A>]
11
+ ? Check<Check.IsEqual<A, Array<_A>>> extends Check.True
12
+ ? [element: Guard<_A>]
13
+ : never
14
+ : never
15
+ ): Guard<A> {
16
+ return Guard((u): u is A => {
17
+ if (Array.isArray(u)) {
18
+ return u.every(element.is);
19
+ }
20
+ return false;
21
+ });
22
+ }
23
+
24
+ /**
25
+ * @tsplus derive fncts.Guard[fncts.ReadonlyArray]<_> 10
26
+ */
27
+ export const deriveReadonlyArrayGuard: <A extends ReadonlyArray<any>>(
28
+ ...[element]: [A] extends [ReadonlyArray<infer _A>]
29
+ ? Check<Check.IsEqual<A, ReadonlyArray<_A>>> extends Check.True
30
+ ? [element: Guard<_A>]
31
+ : never
32
+ : never
33
+ ) => Guard<A> = deriveGuard.unsafeCoerce();
34
+
35
+ /**
36
+ * @tsplus derive fncts.Decoder[fncts.Array]<_> 10
37
+ */
38
+ export function deriveDecoder<A extends Array<any>>(
39
+ ...[element]: [A] extends [Array<infer _A>]
40
+ ? Check<Check.IsEqual<A, Array<_A>>> extends Check.True
41
+ ? [element: Decoder<_A>]
42
+ : never
43
+ : never
44
+ ): Decoder<A> {
45
+ return Decoder((u) => {
46
+ if (Array.isArray(u)) {
47
+ const errors = Vector.emptyPushable<DecodeError>();
48
+ let failed = false;
49
+ const out = Array(u.length);
50
+ for (let i = 0; i < u.length; i++) {
51
+ const decoded = element.decode(u[i]!);
52
+ decoded.match2(
53
+ (err) => {
54
+ failed = true;
55
+ errors.push(new OptionalIndexError(i, err));
56
+ },
57
+ (warning, value) => {
58
+ out[i] = value;
59
+ if (warning.isJust()) {
60
+ errors.push(warning.value);
61
+ }
62
+ },
63
+ );
64
+ }
65
+ if (failed) {
66
+ return These.left(new CompoundError("Array", errors));
67
+ }
68
+ return These.rightOrBoth(errors.length > 0 ? Just(new CompoundError("Array", errors)) : Nothing(), out as A);
69
+ }
70
+ return These.left(new PrimitiveError(u, "Array"));
71
+ }, `Array<${element.label}>`);
72
+ }
73
+
74
+ /**
75
+ * @tsplus derive fncts.Decoder[fncts.ReadonlyArray]<_> 10
76
+ */
77
+ export function deriveReadonlyArrayDecoder<A extends ReadonlyArray<any>>(
78
+ ...[element]: [A] extends [ReadonlyArray<infer _A>]
79
+ ? Check<Check.IsEqual<A, ReadonlyArray<_A>>> extends Check.True
80
+ ? [element: Decoder<_A>]
81
+ : never
82
+ : never
83
+ ): Decoder<A> {
84
+ return Decoder((u) => deriveDecoder(element).decode(u) as These<DecodeError, A>, `ReadonlyArray<${element.label}>`);
85
+ }
@@ -1,4 +1,5 @@
1
1
  // codegen:start { preset: barrel, include: ./Array/*.ts }
2
2
  export * from "./Array/api.js";
3
3
  export * from "./Array/definition.js";
4
+ export * from "./Array/derivations.js";
4
5
  // codegen:end
@@ -2,6 +2,49 @@ import type { Check } from "@fncts/typelevel/Check";
2
2
 
3
3
  import { CompoundError, MissingKeyError, OptionalKeyError, RequiredKeyError } from "@fncts/base/data/DecodeError";
4
4
 
5
+ /**
6
+ * @tsplus derive fncts.Guard<_> 15
7
+ */
8
+ export function deriveDictionaryGuard<A extends Record<string, any>>(
9
+ ...[value]: Check<Check.IsDictionary<A>> extends Check.True ? [value: Guard<A[keyof A]>] : never
10
+ ): Guard<A> {
11
+ return Guard((u): u is A => {
12
+ if (!Derive<Guard<{}>>().is(u)) {
13
+ return false;
14
+ }
15
+ for (const k of Object.keys(u)) {
16
+ if (!value.is(u[k])) {
17
+ return false;
18
+ }
19
+ }
20
+ return true;
21
+ });
22
+ }
23
+
24
+ /**
25
+ * @tsplus derive fncts.Guard<_> 15
26
+ */
27
+ export function deriveGuard<A extends Record<string, any>>(
28
+ ...[key, value, requiredKeys]: Check<Check.IsRecord<A>> extends Check.True
29
+ ? [key: Guard<keyof A>, value: Guard<A[keyof A]>, requiredKeys: { [k in keyof A]: 0 }]
30
+ : never
31
+ ): Guard<A> {
32
+ const requiredKeysSet = new Set(Object.keys(requiredKeys));
33
+ return Guard((record): record is A => {
34
+ const missing = new Set(requiredKeysSet);
35
+ if (!Derive<Guard<{}>>().is(record)) {
36
+ return false;
37
+ }
38
+ for (const k of Object.keys(record)) {
39
+ if (requiredKeysSet.has(k) && !value.is(record[k])) {
40
+ return false;
41
+ }
42
+ missing.delete(k);
43
+ }
44
+ return missing.size === 0;
45
+ });
46
+ }
47
+
5
48
  /**
6
49
  * @tsplus derive fncts.Decoder<_> 15
7
50
  */
@@ -0,0 +1,4 @@
1
+ // codegen:start { preset: type-barrel, include: ./compat/*.ts }
2
+ export type {} from "./compat/Array.js";
3
+ export type {} from "./compat/Record.js";
4
+ // codegen:end
@@ -1,6 +1,5 @@
1
1
  import type { Concat, ConcF } from "@fncts/base/collection/immutable/Conc/definition";
2
2
  import type { Eq } from "@fncts/base/typeclass";
3
- import type * as P from "@fncts/base/typeclass";
4
3
 
5
4
  import {
6
5
  _Empty,
@@ -14,6 +13,7 @@ import {
14
13
  import { EitherTag } from "@fncts/base/data/Either";
15
14
  import { identity, tuple } from "@fncts/base/data/function";
16
15
  import { Stack } from "@fncts/base/internal/Stack";
16
+ import * as P from "@fncts/base/typeclass";
17
17
 
18
18
  /**
19
19
  * @tsplus fluent fncts.Conc align
@@ -978,20 +978,18 @@ export function takeWhile_<A>(self: Conc<A>, p: Predicate<A>): Conc<A> {
978
978
  }
979
979
 
980
980
  /**
981
- * @tsplus fluent fncts.Conc traverse
981
+ * @tsplus getter fncts.Conc traverse
982
982
  */
983
- export const traverse: P.Traversable<ConcF>["traverse"] = (self, f, G) => self.traverseWithIndex((_, a) => f(a), G);
983
+ export const traverse: P.Traversable<ConcF>["traverse"] = (self) => (G) => (f) =>
984
+ self.traverseWithIndex(G)((_, a) => f(a));
984
985
 
985
986
  /**
986
- * @tsplus fluent fncts.Conc traverseWithIndex
987
+ * @tsplus getter fncts.Conc traverseWithIndex
987
988
  */
988
- export function traverseWithIndex<G extends HKT, KG, QG, WG, XG, IG, SG, RG, EG, A, B>(
989
- self: Conc<A>,
990
- f: (i: number, a: A) => HKT.Kind<G, KG, QG, WG, XG, IG, SG, RG, EG, B>,
991
- /** @tsplus auto */ G: P.Applicative<G>,
992
- ): HKT.Kind<G, KG, QG, WG, XG, IG, SG, RG, EG, Conc<B>> {
993
- return self.foldLeftWithIndex(G.pure(Conc.empty()), (i, fbs, a) => fbs.zipWith(f(i, a), (bs, b) => bs.append(b), G));
994
- }
989
+ export const traverseWithIndex = P.TraversableWithIndex.makeTraverseWithIndex<ConcF>()(
990
+ () => (self) => (G) => (f) =>
991
+ self.foldLeftWithIndex(G.pure(Conc.empty()), (i, fbs, a) => G.zipWith(fbs, f(i, a), (bs, b) => bs.append(b))),
992
+ );
995
993
 
996
994
  /**
997
995
  * @tsplus getter fncts.Conc toBuffer
@@ -19,17 +19,20 @@ export const enum ConcTag {
19
19
  ByteChunk = "ByteChunk",
20
20
  }
21
21
 
22
- export interface ConcF extends Conc<any> {}
22
+ export interface ConcF extends HKT {
23
+ type: Conc<this["A"]>;
24
+ variance: {
25
+ A: "+";
26
+ };
27
+ index: number;
28
+ }
23
29
 
24
30
  /**
25
31
  * @tsplus type fncts.Conc
26
32
  * @tsplus companion fncts.ConcOps
27
33
  */
28
34
  export abstract class Conc<A> implements Iterable<A>, Hashable, Equatable {
29
- [HKT.F]?: ConcF;
30
- [HKT.A]?: () => A;
31
- [HKT.T]?: Conc<HKT._A<this>>;
32
- [HKT.Ix]?: number;
35
+ declare _A: () => A;
33
36
 
34
37
  readonly _typeId: ConcTypeId = ConcTypeId;
35
38
  abstract readonly length: number;
@@ -40,18 +43,19 @@ export abstract class Conc<A> implements Iterable<A>, Hashable, Equatable {
40
43
  }
41
44
 
42
45
  [Symbol.equals](that: unknown): boolean {
43
- return Conc.isConc(that) && (this as Conc<A>).corresponds(that, Equatable.strictEquals);
46
+ return Conc.is(that) && (this as Conc<A>).corresponds(that, Equatable.strictEquals);
44
47
  }
45
48
  }
46
49
 
47
50
  abstract class ConcImplementation<A> implements Iterable<A> {
48
51
  readonly _typeId: ConcTypeId = ConcTypeId;
52
+ declare _A: () => A;
49
53
  get [Symbol.hash](): number {
50
54
  return Hashable.iterator(this[Symbol.iterator]());
51
55
  }
52
56
 
53
57
  [Symbol.equals](that: unknown): boolean {
54
- return Conc.isConc(that) && (this as Conc<A>).corresponds(that, Equatable.strictEquals);
58
+ return Conc.is(that) && (this as Conc<A>).corresponds(that, Equatable.strictEquals);
55
59
  }
56
60
 
57
61
  abstract readonly length: number;
@@ -104,8 +108,8 @@ abstract class ConcImplementation<A> implements Iterable<A> {
104
108
  }
105
109
 
106
110
  concat<B>(that: ConcImplementation<B>): ConcImplementation<A | B> {
107
- concrete<A>(this);
108
- concrete<B>(that);
111
+ concrete(this);
112
+ concrete(that);
109
113
  if (this._tag === ConcTag.Empty) {
110
114
  return that;
111
115
  }
@@ -122,7 +126,7 @@ abstract class ConcImplementation<A> implements Iterable<A> {
122
126
  }
123
127
  const diff = that.depth - this.depth;
124
128
  if (Math.abs(diff) <= 1) {
125
- return new Concat(this, that);
129
+ return new Concat<A | B>(this, that);
126
130
  } else if (diff < -1) {
127
131
  if (this.left.depth >= this.right.depth) {
128
132
  const nr = this.right.concat(that);
@@ -161,7 +165,7 @@ abstract class ConcImplementation<A> implements Iterable<A> {
161
165
  } else if (n >= this.length) {
162
166
  return this;
163
167
  } else {
164
- concrete<A>(this);
168
+ concrete(this);
165
169
  switch (this._tag) {
166
170
  case ConcTag.Empty:
167
171
  return _Empty;
@@ -263,9 +267,10 @@ export class Empty<A> extends ConcImplementation<A> {
263
267
  }
264
268
  }
265
269
 
266
- export const _Empty = new Empty<any>();
270
+ export const _Empty = new Empty<never>();
267
271
 
268
272
  export class Concat<A> extends ConcImplementation<A> {
273
+ declare _A: () => A;
269
274
  readonly _tag = ConcTag.Concat;
270
275
 
271
276
  length = this.left.length + this.right.length;
@@ -725,7 +730,7 @@ export function fromArray<A>(array: ArrayLike<A>): ConcImplementation<A> {
725
730
  }
726
731
 
727
732
  /**
728
- * @tsplus static fncts.ConcOps isConc
733
+ * @tsplus static fncts.ConcOps is
729
734
  */
730
735
  export function isConc<A>(u: Iterable<A>): u is Conc<A>;
731
736
  export function isConc(u: unknown): u is Conc<unknown>;
@@ -0,0 +1,28 @@
1
+ import type { Check } from "@fncts/typelevel/Check";
2
+
3
+ /**
4
+ * @tsplus derive fncts.Guard[fncts.Conc]<_> 10
5
+ */
6
+ export function deriveGuard<A extends Conc<any>>(
7
+ ...[elem]: [A] extends [Conc<infer _A>] ? [elem: Guard<_A>] : never
8
+ ): Guard<A> {
9
+ return Guard((u): u is A => {
10
+ if (Conc.is(u)) {
11
+ return u.every(elem.is);
12
+ }
13
+ return false;
14
+ });
15
+ }
16
+
17
+ /**
18
+ * @tsplus derive fncts.Decoder[fncts.Conc]<_> 10
19
+ */
20
+ export function deriveDecoder<A extends Conc<any>>(
21
+ ...[array, elem]: [A] extends [Conc<infer _A>]
22
+ ? Check<Check.IsEqual<A, Conc<_A>>> extends Check.True
23
+ ? [array: Decoder<Array<_A>>, elem: Decoder<_A>]
24
+ : never
25
+ : never
26
+ ): Decoder<A> {
27
+ return Decoder((u) => array.decode(u).map((a) => Conc.from(a) as A), `Conc<${elem.label}>`);
28
+ }
@@ -2,6 +2,7 @@
2
2
  export * from "./Conc/api.js";
3
3
  export * from "./Conc/constructors.js";
4
4
  export * from "./Conc/definition.js";
5
+ export * from "./Conc/derivations.js";
5
6
  // codegen:end
6
7
 
7
8
  // codegen:start { preset: barrel, include: ./Conc/api/*.ts }