@fncts/base 0.0.12 → 0.0.15

Sign up to get free protection for your applications and to get access to all the features.
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
@@ -6,21 +6,26 @@ import type { Witherable } from "@fncts/base/typeclass/Witherable";
6
6
  /**
7
7
  * @tsplus type fncts.WitherableWithIndex
8
8
  */
9
- export interface WitherableWithIndex<F extends HKT>
10
- extends FilterableWithIndex<F>,
11
- TraversableWithIndex<F>,
12
- Witherable<F> {
13
- witherWithIndex<G extends HKT, KF, QF, WF, XF, IF, SF, RF, EF, KG, QG, WG, XG, IG, SG, RG, EG, A, B>(
14
- wa: HKT.Kind<F, KF, QF, WF, XF, IF, SF, RF, EF, A>,
15
- f: (k: HKT.IndexFor<F, KF>, a: A) => HKT.Kind<G, KG, QG, WG, XG, IG, SG, RG, EG, Maybe<B>>,
16
- /** @tsplus auto */ G: Applicative<G>,
17
- ): HKT.Kind<G, KG, QG, WG, XG, IG, SG, RG, EG, HKT.Kind<F, KF, QF, WF, XF, IF, SF, RF, EF, B>>;
18
- wiltWithIndex<G extends HKT, KF, QF, WF, XF, IF, SF, RF, EF, KG, QG, WG, XG, IG, SG, RG, EG, A, B, B2>(
19
- wa: HKT.Kind<F, KF, QF, WF, XF, IF, SF, RF, EF, A>,
20
- f: (k: HKT.IndexFor<F, KF>, a: A) => HKT.Kind<G, KG, QG, WG, XG, IG, SG, RG, EG, Either<B, B2>>,
21
- /** @tsplus auto */ G: Applicative<G>,
22
- ): HKT.Kind<
9
+ export interface WitherableWithIndex<F extends HKT, FC = HKT.None>
10
+ extends FilterableWithIndex<F, FC>,
11
+ TraversableWithIndex<F, FC>,
12
+ Witherable<F, FC> {
13
+ witherWithIndex: <KF, QF, WF, XF, IF, SF, RF, EF, A>(
14
+ wa: HKT.Kind<F, FC, KF, QF, WF, XF, IF, SF, RF, EF, A>,
15
+ ) => <G extends HKT, GC = HKT.None>(
16
+ G: Applicative<G, GC>,
17
+ ) => <KG, QG, WG, XG, IG, SG, RG, EG, B>(
18
+ f: (k: HKT.IndexFor<F, KF>, a: A) => HKT.Kind<G, GC, KG, QG, WG, XG, IG, SG, RG, EG, Maybe<B>>,
19
+ ) => HKT.Kind<G, GC, KG, QG, WG, XG, IG, SG, RG, EG, HKT.Kind<F, FC, KF, QF, WF, XF, IF, SF, RF, EF, B>>;
20
+ wiltWithIndex: <KF, QF, WF, XF, IF, SF, RF, EF, A, B, B2>(
21
+ wa: HKT.Kind<F, FC, KF, QF, WF, XF, IF, SF, RF, EF, A>,
22
+ ) => <G extends HKT, GC = HKT.None>(
23
+ G: Applicative<G, GC>,
24
+ ) => <KG, QG, WG, XG, IG, SG, RG, EG, B, B2>(
25
+ f: (k: HKT.IndexFor<F, KF>, a: A) => HKT.Kind<G, GC, KG, QG, WG, XG, IG, SG, RG, EG, Either<B, B2>>,
26
+ ) => HKT.Kind<
23
27
  G,
28
+ GC,
24
29
  KG,
25
30
  QG,
26
31
  WG,
@@ -29,7 +34,7 @@ export interface WitherableWithIndex<F extends HKT>
29
34
  SG,
30
35
  RG,
31
36
  EG,
32
- readonly [HKT.Kind<F, KF, QF, WF, XF, IF, SF, RF, EF, B>, HKT.Kind<F, KF, QF, WF, XF, IF, SF, RF, EF, B2>]
37
+ readonly [HKT.Kind<F, FC, KF, QF, WF, XF, IF, SF, RF, EF, B>, HKT.Kind<F, FC, KF, QF, WF, XF, IF, SF, RF, EF, B2>]
33
38
  >;
34
39
  }
35
40
 
@@ -41,111 +46,73 @@ export interface WitherableWithIndexOps {}
41
46
  export const WitherableWithIndex: WitherableWithIndexOps = {};
42
47
 
43
48
  /**
44
- * @tsplus fluent fncts.Kind witherWithIndex
49
+ * @tsplus static fncts.WitherableWithIndexOps makeWitherWithIndex
45
50
  */
46
- export function witherWithIndex<
47
- F extends HKT,
48
- G extends HKT,
49
- KF,
50
- QF,
51
- WF,
52
- XF,
53
- IF,
54
- SF,
55
- RF,
56
- EF,
57
- KG,
58
- QG,
59
- WG,
60
- XG,
61
- IG,
62
- SG,
63
- RG,
64
- EG,
65
- A,
66
- B,
67
- >(
68
- wa: HKT.Kind<F, KF, QF, WF, XF, IF, SF, RF, EF, A>,
69
- f: (k: HKT.IndexFor<F, KF>, a: A) => HKT.Kind<G, KG, QG, WG, XG, IG, SG, RG, EG, Maybe<B>>,
70
- /** @tsplus auto */
71
- F: WitherableWithIndex<F>,
72
- /** @tsplus auto */
73
- G: Applicative<G>,
74
- ): HKT.Kind<G, KG, QG, WG, XG, IG, SG, RG, EG, HKT.Kind<F, KF, QF, WF, XF, IF, SF, RF, EF, B>> {
75
- return F.witherWithIndex(wa, f);
51
+ export function makeWitherWithIndex<F extends HKT, FC = HKT.None>(): (
52
+ i: <KF, QF, WF, XF, IF, SF, RF, EF, A, B, G>(_: {
53
+ A: A;
54
+ B: B;
55
+ G: G;
56
+ FK: KF;
57
+ FQ: QF;
58
+ FW: WF;
59
+ FX: XF;
60
+ FI: IF;
61
+ FS: SF;
62
+ FR: RF;
63
+ FE: EF;
64
+ }) => (
65
+ wa: HKT.Kind<F, FC, KF, QF, WF, XF, IF, SF, RF, EF, A>,
66
+ ) => (
67
+ G: Applicative<HKT.F<G>>,
68
+ ) => (
69
+ f: (i: HKT.IndexFor<F, HKT.OrFix<FC, "K", KF>>, a: A) => HKT.FK1<G, Maybe<B>>,
70
+ ) => HKT.FK1<G, HKT.Kind<F, FC, KF, QF, WF, XF, IF, SF, RF, EF, B>>,
71
+ ) => WitherableWithIndex<F, FC>["witherWithIndex"];
72
+ export function makeWitherWithIndex() {
73
+ return (i: any) => i();
76
74
  }
77
75
 
78
76
  /**
79
- * @tsplus fluent fncts.Kind wiltWithIndex
77
+ * @tsplus static fncts.WitherableWithIndexOps makeWiltWithIndex
80
78
  */
81
- export function wiltWithIndex<
82
- F extends HKT,
83
- G extends HKT,
84
- KF,
85
- QF,
86
- WF,
87
- XF,
88
- IF,
89
- SF,
90
- RF,
91
- EF,
92
- KG,
93
- QG,
94
- WG,
95
- XG,
96
- IG,
97
- SG,
98
- RG,
99
- EG,
100
- A,
101
- B,
102
- B2,
103
- >(
104
- wa: HKT.Kind<F, KF, QF, WF, XF, IF, SF, RF, EF, A>,
105
- f: (k: HKT.IndexFor<F, KF>, a: A) => HKT.Kind<G, KG, QG, WG, XG, IG, SG, RG, EG, Either<B, B2>>,
106
- /** @tsplus auto */
107
- F: WitherableWithIndex<F>,
108
- /** @tsplus auto */ G: Applicative<G>,
109
- ): HKT.Kind<
110
- G,
111
- KG,
112
- QG,
113
- WG,
114
- XG,
115
- IG,
116
- SG,
117
- RG,
118
- EG,
119
- readonly [HKT.Kind<F, KF, QF, WF, XF, IF, SF, RF, EF, B>, HKT.Kind<F, KF, QF, WF, XF, IF, SF, RF, EF, B2>]
120
- > {
121
- return F.wiltWithIndex(wa, f);
79
+ export function makeWiltWithIndex<F extends HKT, FC = HKT.None>(): (
80
+ i: <KF, QF, WF, XF, IF, SF, RF, EF, A, B, B1, G>(_: {
81
+ G: G;
82
+ FK: KF;
83
+ FQ: QF;
84
+ FW: WF;
85
+ FX: XF;
86
+ FI: IF;
87
+ FS: SF;
88
+ FR: RF;
89
+ FE: EF;
90
+ A: A;
91
+ B: B;
92
+ B1: B1;
93
+ }) => (
94
+ wa: HKT.Kind<F, FC, KF, QF, WF, XF, IF, SF, RF, EF, A>,
95
+ ) => (
96
+ G: Applicative<HKT.F<G>>,
97
+ ) => (
98
+ f: (i: HKT.IndexFor<F, HKT.OrFix<FC, "K", KF>>, a: A) => HKT.FK1<G, Either<B, B1>>,
99
+ ) => HKT.FK1<
100
+ G,
101
+ readonly [HKT.Kind<F, FC, KF, QF, WF, XF, IF, SF, RF, EF, B>, HKT.Kind<F, FC, KF, QF, WF, XF, IF, SF, RF, EF, B1>]
102
+ >,
103
+ ) => WitherableWithIndex<F, FC>["wiltWithIndex"];
104
+ export function makeWiltWithIndex() {
105
+ return (i: any) => i();
122
106
  }
123
107
 
124
- export function filterWithIndexA<
125
- F extends HKT,
126
- G extends HKT,
127
- KF,
128
- QF,
129
- WF,
130
- XF,
131
- IF,
132
- SF,
133
- RF,
134
- EF,
135
- AF,
136
- KG,
137
- QG,
138
- WG,
139
- XG,
140
- IG,
141
- SG,
142
- RG,
143
- EG,
144
- >(
145
- fa: HKT.Kind<F, KF, QF, WF, XF, IF, SF, RF, EF, AF>,
146
- p: (i: HKT.IndexFor<F, KF>, a: AF) => HKT.Kind<G, KG, QG, WG, XG, IG, SG, RG, EG, boolean>,
147
- /** @tsplus auto */ F: WitherableWithIndex<F>,
148
- /** @tsplus auto */ G: Applicative<G>,
149
- ): HKT.Kind<G, KG, QG, WG, XG, IG, SG, RG, EG, HKT.Kind<F, KF, QF, WF, XF, IF, SF, RF, EF, AF>> {
150
- return fa.witherWithIndex((i, a) => p(i, a).map((bb) => (bb ? Just(a) : Nothing()), G));
108
+ export function filterWithIndexA<F extends HKT, FC = HKT.None>(
109
+ F: WitherableWithIndex<F, FC>,
110
+ ): <KF, QF, WF, XF, IF, SF, RF, EF, AF>(
111
+ fa: HKT.Kind<F, FC, KF, QF, WF, XF, IF, SF, RF, EF, AF>,
112
+ ) => <G extends HKT, GC = HKT.None>(
113
+ G: Applicative<G, GC>,
114
+ ) => <KG, QG, WG, XG, IG, SG, RG, EG>(
115
+ p: (i: HKT.IndexFor<F, KF>, a: AF) => HKT.Kind<G, GC, KG, QG, WG, XG, IG, SG, RG, EG, boolean>,
116
+ ) => HKT.Kind<G, GC, KG, QG, WG, XG, IG, SG, RG, EG, HKT.Kind<F, FC, KF, QF, WF, XF, IF, SF, RF, EF, AF>> {
117
+ return (fa) => (G) => (p) => F.witherWithIndex(fa)(G)((i, a) => G.map(p(i, a), (bb) => (bb ? Just(a) : Nothing())));
151
118
  }
@@ -6,6 +6,6 @@ export type ExtractCovariantPhantom<A, P extends PropertyKey> = [A] extends [{ [
6
6
  export type _W<A> = ExtractCovariantPhantom<A, "_W">;
7
7
  export type _S1<A> = ExtractContravariantPhantom<A, "_S1">;
8
8
  export type _S2<A> = ExtractCovariantPhantom<A, "_S2">;
9
- export type _R<A> = ExtractContravariantPhantom<A, "_R">;
9
+ export type _R<A> = ExtractCovariantPhantom<A, "_R">;
10
10
  export type _E<A> = ExtractCovariantPhantom<A, "_E">;
11
11
  export type _A<A> = ExtractCovariantPhantom<A, "_A">;
package/_src/util.ts ADDED
@@ -0,0 +1,8 @@
1
+ // codegen:start { preset: type-barrel, include: ./util/*.ts }
2
+ export type {} from "./util/AnsiFormat.js";
3
+ export type {} from "./util/assert.js";
4
+ export type {} from "./util/pattern.js";
5
+ export type {} from "./util/PCGRandom.js";
6
+ export type {} from "./util/predicates.js";
7
+ export type {} from "./util/rand.js";
8
+ // codegen:end
@@ -2,14 +2,12 @@ import { HKT } from "@fncts/typelevel/HKT";
2
2
  import { Conc } from "@fncts/base/collection/immutable/Conc";
3
3
  import type * as P from "@fncts/base/typeclass";
4
4
  /**
5
- * @tsplus fluent fncts.Iterable traverseToConcWithIndex
5
+ * @tsplus getter fncts.Iterable traverseToConcWithIndex
6
6
  * @tsplus location "@fncts/base/collection/Iterable/api/traverseConc"
7
7
  */
8
- export declare function traverseToConcWithIndex_<G extends HKT, K, Q, W, X, I, S, R, E, A, B>(ta: Iterable<A>, f: (i: number, a: A) => HKT.Kind<G, K, Q, W, X, I, S, R, E, B>,
9
- /** @tsplus auto */ G: P.Applicative<G>): HKT.Kind<G, K, Q, W, X, I, S, R, E, Conc<B>>;
8
+ export declare function traverseToConcWithIndex_<A>(ta: Iterable<A>): <G extends import("@fncts/typelevel/HKT").HKT, GC = import("@fncts/typelevel/HKT").HKT.None>(G: P.Applicative<G, GC>) => <K, Q, W, X, I, S, R, E, B>(f: (i: number, a: A) => import("@fncts/typelevel/HKT").HKT.Kind<G, GC, K, Q, W, X, I, S, R, E, B>) => import("@fncts/typelevel/HKT").HKT.Kind<G, GC, K, Q, W, X, I, S, R, E, import("../../immutable/Conc").Conc<B>>;
10
9
  /**
11
- * @tsplus fluent fncts.Iterable traverseToConc
10
+ * @tsplus getter fncts.Iterable traverseToConc
12
11
  * @tsplus location "@fncts/base/collection/Iterable/api/traverseConc"
13
12
  */
14
- export declare function traverseToConc_<G extends HKT, K, Q, W, X, I, S, R, E, A, B>(ta: Iterable<A>, f: (a: A) => HKT.Kind<G, K, Q, W, X, I, S, R, E, B>,
15
- /** @tsplus auto */ G: P.Applicative<G>): HKT.Kind<G, K, Q, W, X, I, S, R, E, Conc<B>>;
13
+ export declare function traverseToConc_<A>(ta: Iterable<A>): <G extends HKT, GC = HKT.None>(G: P.Applicative<G, GC>) => <K, Q, W, X, I, S, R, E, B>(f: (a: A) => HKT.Kind<G, GC, K, Q, W, X, I, S, R, E, B>) => HKT.Kind<G, GC, K, Q, W, X, I, S, R, E, Conc<B>>;
@@ -1,32 +1,32 @@
1
1
  import { ReadonlyNonEmptyArray } from "@fncts/base/collection/immutable/ImmutableNonEmptyArray/definition";
2
2
  import type { Eq } from "@fncts/base/typeclass";
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
  * @tsplus location "@fncts/base/collection/compat/Array/api"
7
7
  */
8
8
  export declare function elem<A>(self: ReadonlyArray<A>): (eq: Eq<A>) => (a: A) => boolean;
9
9
  /**
10
- * @tsplus fluent fncts.base.Array isEmpty
11
- * @tsplus fluent fncts.base.ReadonlyArray isEmpty
10
+ * @tsplus fluent fncts.Array isEmpty
11
+ * @tsplus fluent fncts.ReadonlyArray isEmpty
12
12
  * @tsplus location "@fncts/base/collection/compat/Array/api"
13
13
  */
14
14
  export declare function isEmpty<A>(self: ReadonlyArray<A>): boolean;
15
15
  /**
16
- * @tsplus fluent fncts.base.Array isNonEmpty
17
- * @tsplus fluent fncts.base.ReadonlyArray isNonEmpty
16
+ * @tsplus fluent fncts.Array isNonEmpty
17
+ * @tsplus fluent fncts.ReadonlyArray isNonEmpty
18
18
  * @tsplus location "@fncts/base/collection/compat/Array/api"
19
19
  */
20
20
  export declare function isNonEmpty<A>(self: ReadonlyArray<A>): self is ReadonlyNonEmptyArray<A>;
21
21
  /**
22
- * @tsplus fluent fncts.base.Array foldLeft
23
- * @tsplus fluent fncts.base.ReadonlyArray foldLeft
22
+ * @tsplus fluent fncts.Array foldLeft
23
+ * @tsplus fluent fncts.ReadonlyArray foldLeft
24
24
  * @tsplus location "@fncts/base/collection/compat/Array/api"
25
25
  */
26
26
  export declare function foldLeft<A, B>(self: ReadonlyArray<A>, b: B, f: (b: B, a: A) => B): B;
27
27
  /**
28
- * @tsplus fluent fncts.base.Array foldLeftWithIndex
29
- * @tsplus fluent fncts.base.ReadonlyArray foldLeftWithIndex
28
+ * @tsplus fluent fncts.Array foldLeftWithIndex
29
+ * @tsplus fluent fncts.ReadonlyArray foldLeftWithIndex
30
30
  * @tsplus location "@fncts/base/collection/compat/Array/api"
31
31
  */
32
32
  export declare function foldLeftWithIndex<A, B>(self: ReadonlyArray<A>, b: B, f: (i: number, b: B, a: A) => B): 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,24 @@
1
+ import { Guard } from "@fncts/base/typeclass/Guard";
2
+ import { Decoder } from "@fncts/base/data/Decoder";
3
+ import { These } from "@fncts/base/data/These";
4
+ import type { Check } from "@fncts/typelevel/Check";
5
+ /**
6
+ * @tsplus derive fncts.Guard[fncts.Array]<_> 10
7
+ * @tsplus location "@fncts/base/collection/compat/Array/derivations"
8
+ */
9
+ export declare function deriveGuard<A extends Array<any>>(...[element]: [A] extends [Array<infer _A>] ? Check<Check.IsEqual<A, Array<_A>>> extends Check.True ? [element: Guard<_A>] : never : never): Guard<A>;
10
+ /**
11
+ * @tsplus derive fncts.Guard[fncts.ReadonlyArray]<_> 10
12
+ * @tsplus location "@fncts/base/collection/compat/Array/derivations"
13
+ */
14
+ export declare const deriveReadonlyArrayGuard: <A extends ReadonlyArray<any>>(...[element]: [A] extends [ReadonlyArray<infer _A>] ? Check<Check.IsEqual<A, ReadonlyArray<_A>>> extends Check.True ? [element: Guard<_A>] : never : never) => Guard<A>;
15
+ /**
16
+ * @tsplus derive fncts.Decoder[fncts.Array]<_> 10
17
+ * @tsplus location "@fncts/base/collection/compat/Array/derivations"
18
+ */
19
+ export declare function deriveDecoder<A extends Array<any>>(...[element]: [A] extends [Array<infer _A>] ? Check<Check.IsEqual<A, Array<_A>>> extends Check.True ? [element: Decoder<_A>] : never : never): Decoder<A>;
20
+ /**
21
+ * @tsplus derive fncts.Decoder[fncts.ReadonlyArray]<_> 10
22
+ * @tsplus location "@fncts/base/collection/compat/Array/derivations"
23
+ */
24
+ export declare function deriveReadonlyArrayDecoder<A extends ReadonlyArray<any>>(...[element]: [A] extends [ReadonlyArray<infer _A>] ? Check<Check.IsEqual<A, ReadonlyArray<_A>>> extends Check.True ? [element: Decoder<_A>] : never : never): Decoder<A>;
@@ -1,2 +1,3 @@
1
1
  export * from "./Array/api.js";
2
2
  export * from "./Array/definition.js";
3
+ export * from "./Array/derivations.js";
@@ -1,6 +1,18 @@
1
1
  import { Guard } from "@fncts/base/typeclass/Guard";
2
2
  import { Decoder } from "@fncts/base/data/Decoder";
3
3
  import type { Check } from "@fncts/typelevel/Check";
4
+ /**
5
+ * @tsplus derive fncts.Guard<_> 15
6
+ * @tsplus location "@fncts/base/collection/compat/Record/instances"
7
+ */
8
+ export declare function deriveDictionaryGuard<A extends Record<string, any>>(...[value]: Check<Check.IsDictionary<A>> extends Check.True ? [value: Guard<A[keyof A]>] : never): Guard<A>;
9
+ /**
10
+ * @tsplus derive fncts.Guard<_> 15
11
+ * @tsplus location "@fncts/base/collection/compat/Record/instances"
12
+ */
13
+ export declare function deriveGuard<A extends Record<string, any>>(...[key, value, requiredKeys]: Check<Check.IsRecord<A>> extends Check.True ? [key: Guard<keyof A>, value: Guard<A[keyof A]>, requiredKeys: {
14
+ [k in keyof A]: 0;
15
+ }] : never): Guard<A>;
4
16
  /**
5
17
  * @tsplus derive fncts.Decoder<_> 15
6
18
  * @tsplus location "@fncts/base/collection/compat/Record/instances"
@@ -0,0 +1,2 @@
1
+ export type {} from "./compat/Array.js";
2
+ export type {} from "./compat/Record.js";
@@ -4,11 +4,10 @@ import { Either } from "@fncts/base/data/Either/definition";
4
4
  import { Maybe } from "@fncts/base/data/Maybe/definition";
5
5
  import { Predicate, PredicateWithIndex } from "@fncts/base/data/Predicate/definition";
6
6
  import { Refinement, RefinementWithIndex } from "@fncts/base/data/Refinement/definition";
7
- import { HKT } from "@fncts/typelevel/HKT";
8
7
  import { Byte } from "@fncts/base/data/Byte";
9
8
  import type { ConcF } from "@fncts/base/collection/immutable/Conc/definition";
10
9
  import type { Eq } from "@fncts/base/typeclass";
11
- import type * as P from "@fncts/base/typeclass";
10
+ import * as P from "@fncts/base/typeclass";
12
11
  /**
13
12
  * @tsplus fluent fncts.Conc align
14
13
  * @tsplus location "@fncts/base/collection/immutable/Conc/api"
@@ -295,16 +294,15 @@ export declare function take_<A>(self: Conc<A>, n: number): Conc<A>;
295
294
  */
296
295
  export declare function takeWhile_<A>(self: Conc<A>, p: Predicate<A>): Conc<A>;
297
296
  /**
298
- * @tsplus fluent fncts.Conc traverse
297
+ * @tsplus getter fncts.Conc traverse
299
298
  * @tsplus location "@fncts/base/collection/immutable/Conc/api"
300
299
  */
301
300
  export declare const traverse: P.Traversable<ConcF>["traverse"];
302
301
  /**
303
- * @tsplus fluent fncts.Conc traverseWithIndex
302
+ * @tsplus getter fncts.Conc traverseWithIndex
304
303
  * @tsplus location "@fncts/base/collection/immutable/Conc/api"
305
304
  */
306
- export declare function traverseWithIndex<G extends HKT, KG, QG, WG, XG, IG, SG, RG, EG, A, B>(self: Conc<A>, f: (i: number, a: A) => HKT.Kind<G, KG, QG, WG, XG, IG, SG, RG, EG, B>,
307
- /** @tsplus auto */ G: P.Applicative<G>): HKT.Kind<G, KG, QG, WG, XG, IG, SG, RG, EG, Conc<B>>;
305
+ export declare const traverseWithIndex: <KF, QF, WF, XF, IF, SF, RF, EF, A>(ta: import("@fncts/base/collection/immutable/Conc/definition").Conc<A>) => <G extends import("@fncts/typelevel/HKT").HKT, GC = import("@fncts/typelevel/HKT").HKT.None>(G: P.Applicative<G, GC>) => <KG, QG, WG, XG, IG, SG, RG, EG, B>(f: (i: number, a: A) => import("@fncts/typelevel/HKT").HKT.Kind<G, GC, KG, QG, WG, XG, IG, SG, RG, EG, B>) => import("@fncts/typelevel/HKT").HKT.Kind<G, GC, KG, QG, WG, XG, IG, SG, RG, EG, import("@fncts/base/collection/immutable/Conc/definition").Conc<B>>;
308
306
  /**
309
307
  * @tsplus getter fncts.Conc toBuffer
310
308
  * @tsplus location "@fncts/base/collection/immutable/Conc/api"
@@ -1,6 +1,6 @@
1
+ import { HKT } from "@fncts/typelevel/HKT";
1
2
  import { Hashable } from "@fncts/base/typeclass/Hashable";
2
3
  import { Equatable } from "@fncts/base/typeclass/Equatable";
3
- import { HKT } from "@fncts/typelevel/HKT";
4
4
  import { isByte } from "@fncts/base/util/predicates";
5
5
  import { IndexOutOfBoundsError, ArrayIndexOutOfBoundsError } from "@fncts/base/data/exceptions";
6
6
  import { unsafeCoerce } from "@fncts/base/data/function/api";
@@ -19,17 +19,19 @@ export declare const enum ConcTag {
19
19
  Chunk = "Chunk",
20
20
  ByteChunk = "ByteChunk"
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;
23
28
  }
24
29
  /**
25
30
  * @tsplus type fncts.Conc
26
31
  * @tsplus companion fncts.ConcOps
27
32
  */
28
33
  export declare 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;
34
+ _A: () => A;
33
35
  readonly _typeId: ConcTypeId;
34
36
  abstract readonly length: number;
35
37
  abstract [Symbol.iterator](): Iterator<A>;
@@ -38,6 +40,7 @@ export declare abstract class Conc<A> implements Iterable<A>, Hashable, Equatabl
38
40
  }
39
41
  declare abstract class ConcImplementation<A> implements Iterable<A> {
40
42
  readonly _typeId: ConcTypeId;
43
+ _A: () => A;
41
44
  get [Symbol.hash](): number;
42
45
  [Symbol.equals](that: unknown): boolean;
43
46
  abstract readonly length: number;
@@ -80,10 +83,11 @@ export declare class Empty<A> extends ConcImplementation<A> {
80
83
  arrayIterator(): Iterator<Array<A>>;
81
84
  reverseArrayIterator(): Iterator<Array<A>>;
82
85
  }
83
- export declare const _Empty: Empty<any>;
86
+ export declare const _Empty: Empty<never>;
84
87
  export declare class Concat<A> extends ConcImplementation<A> {
85
88
  readonly left: ConcImplementation<A>;
86
89
  readonly right: ConcImplementation<A>;
90
+ _A: () => A;
87
91
  readonly _tag = ConcTag.Concat;
88
92
  length: number;
89
93
  depth: number;
@@ -104,8 +108,8 @@ declare class AppendN<A> extends ConcImplementation<A> {
104
108
  readonly _tag = ConcTag.AppendN;
105
109
  length: number;
106
110
  depth: number;
107
- left: Empty<any>;
108
- right: Empty<any>;
111
+ left: Empty<never>;
112
+ right: Empty<never>;
109
113
  constructor(start: ConcImplementation<A>, buffer: Array<unknown> | Uint8Array, bufferUsed: number, binary: boolean);
110
114
  [Symbol.iterator](): Iterator<A>;
111
115
  append<A1>(a: A1): ConcImplementation<A | A1>;
@@ -120,8 +124,8 @@ declare class PrependN<A> extends ConcImplementation<A> {
120
124
  readonly binary: boolean;
121
125
  readonly _tag = ConcTag.PrependN;
122
126
  length: number;
123
- left: Empty<any>;
124
- right: Empty<any>;
127
+ left: Empty<never>;
128
+ right: Empty<never>;
125
129
  constructor(end: ConcImplementation<A>, buffer: Array<unknown> | Uint8Array, bufferUsed: number, binary: boolean);
126
130
  [Symbol.iterator](): Iterator<A>;
127
131
  prepend<A1>(a: A1): ConcImplementation<A | A1>;
@@ -134,8 +138,8 @@ export declare class Singleton<A> extends ConcImplementation<A> {
134
138
  readonly _tag = ConcTag.Singleton;
135
139
  length: number;
136
140
  depth: number;
137
- left: Empty<any>;
138
- right: Empty<any>;
141
+ left: Empty<never>;
142
+ right: Empty<never>;
139
143
  binary: boolean;
140
144
  constructor(value: A);
141
145
  get(n: number): A;
@@ -153,8 +157,8 @@ export declare class Slice<A> extends ConcImplementation<A> {
153
157
  length: number;
154
158
  binary: boolean;
155
159
  depth: number;
156
- left: Empty<any>;
157
- right: Empty<any>;
160
+ left: Empty<never>;
161
+ right: Empty<never>;
158
162
  constructor(conc: ConcImplementation<A>, offset: number, l: number);
159
163
  get(n: number): A;
160
164
  forEach<B>(startIndex: number, f: (i: number, a: A) => B): void;
@@ -165,8 +169,8 @@ export declare class Chunk<A> extends ConcImplementation<A> {
165
169
  readonly _tag = ConcTag.Chunk;
166
170
  length: number;
167
171
  depth: number;
168
- left: Empty<any>;
169
- right: Empty<any>;
172
+ left: Empty<never>;
173
+ right: Empty<never>;
170
174
  binary: boolean;
171
175
  constructor(_array: ReadonlyArray<A>);
172
176
  get(n: number): A;
@@ -181,8 +185,8 @@ export declare class ByteChunk<A> extends ConcImplementation<A> {
181
185
  readonly _tag = ConcTag.ByteChunk;
182
186
  length: number;
183
187
  depth: number;
184
- left: Empty<any>;
185
- right: Empty<any>;
188
+ left: Empty<never>;
189
+ right: Empty<never>;
186
190
  binary: boolean;
187
191
  constructor(_array: Uint8Array);
188
192
  get(n: number): A;
@@ -202,7 +206,7 @@ export declare function concrete<A>(_: Conc<A>): asserts _ is Empty<A> | Singlet
202
206
  */
203
207
  export declare function fromArray<A>(array: ArrayLike<A>): ConcImplementation<A>;
204
208
  /**
205
- * @tsplus static fncts.ConcOps isConc
209
+ * @tsplus static fncts.ConcOps is
206
210
  * @tsplus location "@fncts/base/collection/immutable/Conc/definition"
207
211
  */
208
212
  export declare function isConc<A>(u: Iterable<A>): u is Conc<A>;
@@ -0,0 +1,14 @@
1
+ import { Conc } from "@fncts/base/collection/immutable/Conc";
2
+ import { Guard } from "@fncts/base/typeclass/Guard";
3
+ import { Decoder } from "@fncts/base/data/Decoder";
4
+ import type { Check } from "@fncts/typelevel/Check";
5
+ /**
6
+ * @tsplus derive fncts.Guard[fncts.Conc]<_> 10
7
+ * @tsplus location "@fncts/base/collection/immutable/Conc/derivations"
8
+ */
9
+ export declare function deriveGuard<A extends Conc<any>>(...[elem]: [A] extends [Conc<infer _A>] ? [elem: Guard<_A>] : never): Guard<A>;
10
+ /**
11
+ * @tsplus derive fncts.Decoder[fncts.Conc]<_> 10
12
+ * @tsplus location "@fncts/base/collection/immutable/Conc/derivations"
13
+ */
14
+ export declare function deriveDecoder<A extends Conc<any>>(...[array, elem]: [A] extends [Conc<infer _A>] ? Check<Check.IsEqual<A, Conc<_A>>> extends Check.True ? [array: Decoder<Array<_A>>, elem: Decoder<_A>] : never : never): Decoder<A>;
@@ -1,6 +1,7 @@
1
1
  export * from "./Conc/api.js";
2
2
  export * from "./Conc/constructors.js";
3
3
  export * from "./Conc/definition.js";
4
+ export * from "./Conc/derivations.js";
4
5
  export * from "./Conc/api/empty.js";
5
6
  export * from "./Conc/api/makeBy.js";
6
7
  export * from "./Conc/api/replicate.js";
@@ -1,7 +1,7 @@
1
1
  import { HKT } from "@fncts/typelevel/HKT";
2
2
  import { Newtype, NewtypeIso } from "@fncts/base/data/Newtype";
3
3
  interface DictionaryN extends HKT {
4
- readonly [HKT.T]: Dictionary<HKT._A<this>>;
4
+ readonly type: Dictionary<this["A"]>;
5
5
  }
6
6
  /**
7
7
  * @tsplus type fncts.Dictionary
@@ -37,7 +37,7 @@ export declare function makeDefault<K, V>(): HashMap<K, V>;
37
37
  * @tsplus fluent fncts.HashMapOps fromFoldable
38
38
  * @tsplus location "@fncts/base/collection/immutable/HashMap/api"
39
39
  */
40
- export declare function fromFoldable<F extends HKT, C, K, A>(config: P.HashEq<K>, S: P.Semigroup<A>, F: P.Foldable<F>): <K_, Q, W, X, I, S, R, E>(fka: import("@fncts/typelevel/HKT.js").HKT.Kind<F, K_, Q, W, X, I, S, R, E, readonly [K, A]>) => HashMap<K, A>;
40
+ export declare function fromFoldable<F extends HKT, C, K, A>(config: P.HashEq<K>, S: P.Semigroup<A>, F: P.Foldable<F, C>): <K_, Q, W, X, I, S, R, E>(fka: import("@fncts/typelevel/HKT.js").HKT.Kind<F, C, K_, Q, W, X, I, S, R, E, readonly [K, A]>) => HashMap<K, A>;
41
41
  /**
42
42
  * Lookup the value for `key` in `map` using custom hash.
43
43
  * @tsplus fluent fncts.HashMap getHash
@@ -273,40 +273,40 @@ export declare function foldLeftWithIndex_<K, V, Z>(map: HashMap<K, V>, z: Z, f:
273
273
  */
274
274
  export declare function foldLeft_<K, V, Z>(map: HashMap<K, V>, z: Z, f: (z: Z, v: V) => Z): Z;
275
275
  /**
276
- * @tsplus fluent fncts.HashMap traverseWithIndex
276
+ * @tsplus getter fncts.HashMap traverseWithIndex
277
277
  * @tsplus location "@fncts/base/collection/immutable/HashMap/api"
278
278
  */
279
- export declare const traverseWithIndex_: P.TraversableWithIndex<HashMapF>["traverseWithIndex"];
279
+ export declare const traverseWithIndex: <KF, QF, WF, XF, IF, SF, RF, EF, A>(ta: import("@fncts/base/collection/immutable/HashMap/definition").HashMap<KF, A>) => <G extends import("@fncts/typelevel/HKT.js").HKT, GC = import("@fncts/typelevel/HKT.js").HKT.None>(G: P.Applicative<G, GC>) => <KG, QG, WG, XG, IG, SG, RG, EG, B>(f: (i: unknown, a: A) => import("@fncts/typelevel/HKT.js").HKT.Kind<G, GC, KG, QG, WG, XG, IG, SG, RG, EG, B>) => import("@fncts/typelevel/HKT.js").HKT.Kind<G, GC, KG, QG, WG, XG, IG, SG, RG, EG, import("@fncts/base/collection/immutable/HashMap/definition").HashMap<KF, B>>;
280
280
  /**
281
- * @tsplus fluent fncts.HashMap traverse
281
+ * @tsplus getter fncts.HashMap traverse
282
282
  * @tsplus location "@fncts/base/collection/immutable/HashMap/api"
283
283
  */
284
- export declare const traverse_: P.Traversable<HashMapF>["traverse"];
284
+ export declare const traverse: P.Traversable<HashMapF>["traverse"];
285
285
  /**
286
286
  * @tsplus fluent fncts.HashMap unsafeGet
287
287
  * @tsplus location "@fncts/base/collection/immutable/HashMap/api"
288
288
  */
289
289
  export declare function unsafeGet_<K, V>(self: HashMap<K, V>, key: K): V | undefined;
290
290
  /**
291
- * @tsplus fluent fncts.HashMap witherWithIndex
291
+ * @tsplus getter fncts.HashMap witherWithIndex
292
292
  * @tsplus location "@fncts/base/collection/immutable/HashMap/api"
293
293
  */
294
- export declare const witherWithIndex_: P.WitherableWithIndex<HashMapF>["witherWithIndex"];
294
+ export declare const witherWithIndex: P.WitherableWithIndex<HashMapF>["witherWithIndex"];
295
295
  /**
296
- * @tsplus fluent fncts.HashMap wither
296
+ * @tsplus getter fncts.HashMap wither
297
297
  * @tsplus location "@fncts/base/collection/immutable/HashMap/api"
298
298
  */
299
- export declare const wither_: P.Witherable<HashMapF>["wither"];
299
+ export declare const wither: P.Witherable<HashMapF>["wither"];
300
300
  /**
301
- * @tsplus fluent fncts.HashMap wiltWithIndex
301
+ * @tsplus getter fncts.HashMap wiltWithIndex
302
302
  * @tsplus location "@fncts/base/collection/immutable/HashMap/api"
303
303
  */
304
- export declare const wiltWithIndex_: P.WitherableWithIndex<HashMapF>["wiltWithIndex"];
304
+ export declare const wiltWithIndex: P.WitherableWithIndex<HashMapF>["wiltWithIndex"];
305
305
  /**
306
- * @tsplus fluent fncts.HashMap wilt
306
+ * @tsplus getter fncts.HashMap wilt
307
307
  * @tsplus location "@fncts/base/collection/immutable/HashMap/api"
308
308
  */
309
- export declare const wilt_: P.Witherable<HashMapF>["wilt"];
309
+ export declare const wilt: P.Witherable<HashMapF>["wilt"];
310
310
  /**
311
311
  * @tsplus fluent fncts.HashMap unionWith
312
312
  * @tsplus location "@fncts/base/collection/immutable/HashMap/api"