@fncts/base 0.0.1 → 0.0.4

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 (830) hide show
  1. package/_cjs/collection/Iterable/api/traverseConc.cjs +21 -15
  2. package/_cjs/collection/Iterable/api/traverseConc.cjs.map +1 -1
  3. package/_cjs/collection/Iterable/api.cjs +23 -37
  4. package/_cjs/collection/Iterable/api.cjs.map +1 -1
  5. package/_cjs/collection/Iterable.cjs +3 -3
  6. package/_cjs/collection/compat/Array/api.cjs +1 -1
  7. package/_cjs/collection/compat/Array/api.cjs.map +1 -1
  8. package/_cjs/collection/compat/Array.cjs +2 -2
  9. package/_cjs/collection/immutable/Conc/api.cjs +41 -53
  10. package/_cjs/collection/immutable/Conc/api.cjs.map +1 -1
  11. package/_cjs/collection/immutable/Conc/constructors.cjs +1 -1
  12. package/_cjs/collection/immutable/Conc/definition.cjs +49 -39
  13. package/_cjs/collection/immutable/Conc/definition.cjs.map +1 -1
  14. package/_cjs/collection/immutable/Conc.cjs +6 -6
  15. package/_cjs/collection/immutable/Dictionary/definition.cjs +4 -2
  16. package/_cjs/collection/immutable/Dictionary/definition.cjs.map +1 -1
  17. package/_cjs/collection/immutable/HashMap/api.cjs +35 -108
  18. package/_cjs/collection/immutable/HashMap/api.cjs.map +1 -1
  19. package/_cjs/collection/immutable/HashMap/definition.cjs +19 -15
  20. package/_cjs/collection/immutable/HashMap/definition.cjs.map +1 -1
  21. package/_cjs/collection/immutable/HashMap.cjs +2 -2
  22. package/_cjs/collection/immutable/HashSet/api.cjs +10 -10
  23. package/_cjs/collection/immutable/HashSet/api.cjs.map +1 -1
  24. package/_cjs/collection/immutable/HashSet.cjs +2 -2
  25. package/_cjs/collection/immutable/ImmutableArray/api.cjs +153 -248
  26. package/_cjs/collection/immutable/ImmutableArray/api.cjs.map +1 -1
  27. package/_cjs/collection/immutable/ImmutableArray/definition.cjs +12 -10
  28. package/_cjs/collection/immutable/ImmutableArray/definition.cjs.map +1 -1
  29. package/_cjs/collection/immutable/ImmutableArray/instances.cjs +153 -157
  30. package/_cjs/collection/immutable/ImmutableArray/instances.cjs.map +1 -1
  31. package/_cjs/collection/immutable/ImmutableArray.cjs +4 -4
  32. package/_cjs/collection/immutable/ImmutableNonEmptyArray/api.cjs +118 -181
  33. package/_cjs/collection/immutable/ImmutableNonEmptyArray/api.cjs.map +1 -1
  34. package/_cjs/collection/immutable/ImmutableNonEmptyArray/definition.cjs +3 -0
  35. package/_cjs/collection/immutable/ImmutableNonEmptyArray/definition.cjs.map +1 -1
  36. package/_cjs/collection/immutable/ImmutableNonEmptyArray/instances.cjs +45 -81
  37. package/_cjs/collection/immutable/ImmutableNonEmptyArray/instances.cjs.map +1 -1
  38. package/_cjs/collection/immutable/ImmutableNonEmptyArray.cjs +5 -5
  39. package/_cjs/collection/immutable/List/api.cjs +4 -7
  40. package/_cjs/collection/immutable/List/api.cjs.map +1 -1
  41. package/_cjs/collection/immutable/List/constructors.cjs +1 -1
  42. package/_cjs/collection/immutable/List.cjs +5 -5
  43. package/_cjs/collection/immutable/Queue.cjs +4 -4
  44. package/_cjs/collection/immutable/RoseTree/api.cjs +485 -0
  45. package/_cjs/collection/immutable/RoseTree/api.cjs.map +1 -0
  46. package/_cjs/collection/immutable/RoseTree/definition.cjs +58 -0
  47. package/_cjs/collection/immutable/RoseTree/definition.cjs.map +1 -0
  48. package/_cjs/collection/immutable/RoseTree.cjs +32 -0
  49. package/_cjs/collection/immutable/RoseTree.cjs.map +1 -0
  50. package/_cjs/collection/immutable/SortedMap/api.cjs +65 -65
  51. package/_cjs/collection/immutable/SortedMap/api.cjs.map +1 -1
  52. package/_cjs/collection/immutable/SortedMap.cjs +5 -5
  53. package/_cjs/collection/immutable/Vector/api.cjs +70 -15
  54. package/_cjs/collection/immutable/Vector/api.cjs.map +1 -1
  55. package/_cjs/collection/immutable/Vector/definition.cjs +13 -11
  56. package/_cjs/collection/immutable/Vector/definition.cjs.map +1 -1
  57. package/_cjs/collection/immutable/Vector.cjs +2 -2
  58. package/_cjs/collection/mutable/HashMap.cjs +5 -5
  59. package/_cjs/collection/mutable/HashMap.cjs.map +1 -1
  60. package/_cjs/collection/mutable/HashSet.cjs +4 -4
  61. package/_cjs/collection/mutable/HashSet.cjs.map +1 -1
  62. package/_cjs/control/Eval/api.cjs +7 -1
  63. package/_cjs/control/Eval/api.cjs.map +1 -1
  64. package/_cjs/control/Eval/definition.cjs +7 -0
  65. package/_cjs/control/Eval/definition.cjs.map +1 -1
  66. package/_cjs/control/Eval/instance.cjs +14 -25
  67. package/_cjs/control/Eval/instance.cjs.map +1 -1
  68. package/_cjs/control/Eval.cjs +5 -5
  69. package/_cjs/control/Z/api.cjs +2 -2
  70. package/_cjs/control/Z/definition.cjs +10 -4
  71. package/_cjs/control/Z/definition.cjs.map +1 -1
  72. package/_cjs/control/Z/instances.cjs +7 -14
  73. package/_cjs/control/Z/instances.cjs.map +1 -1
  74. package/_cjs/control/Z/runtime.cjs +2 -2
  75. package/_cjs/control/Z.cjs +4 -4
  76. package/_cjs/data/Branded/definition.cjs +29 -0
  77. package/_cjs/data/Branded/definition.cjs.map +1 -0
  78. package/_cjs/data/Branded/derivations.cjs +58 -0
  79. package/_cjs/data/Branded/derivations.cjs.map +1 -0
  80. package/_cjs/data/Branded.cjs +32 -0
  81. package/_cjs/data/Branded.cjs.map +1 -0
  82. package/_cjs/data/Cause/api/fold.cjs +2 -0
  83. package/_cjs/data/Cause/api/fold.cjs.map +1 -1
  84. package/_cjs/data/Cause/api/unified.cjs +2 -2
  85. package/_cjs/data/Cause/api.cjs +30 -7
  86. package/_cjs/data/Cause/api.cjs.map +1 -1
  87. package/_cjs/data/Cause/definition.cjs +3 -3
  88. package/_cjs/data/Cause.cjs +2 -2
  89. package/_cjs/data/Const/api.cjs +3 -7
  90. package/_cjs/data/Const/api.cjs.map +1 -1
  91. package/_cjs/data/Const/definition.cjs +19 -1
  92. package/_cjs/data/Const/definition.cjs.map +1 -1
  93. package/_cjs/data/Const/instances.cjs +9 -20
  94. package/_cjs/data/Const/instances.cjs.map +1 -1
  95. package/_cjs/data/Const.cjs +3 -3
  96. package/_cjs/data/DecodeError/definition.cjs +308 -0
  97. package/_cjs/data/DecodeError/definition.cjs.map +1 -0
  98. package/_cjs/data/DecodeError.cjs +19 -0
  99. package/_cjs/data/DecodeError.cjs.map +1 -0
  100. package/_cjs/data/Decoder/api.cjs +217 -0
  101. package/_cjs/data/Decoder/api.cjs.map +1 -0
  102. package/_cjs/data/Decoder/definition.cjs +41 -0
  103. package/_cjs/data/Decoder/definition.cjs.map +1 -0
  104. package/_cjs/data/Decoder.cjs +32 -0
  105. package/_cjs/data/Decoder.cjs.map +1 -0
  106. package/_cjs/data/Duration/api.cjs +22 -9
  107. package/_cjs/data/Duration/api.cjs.map +1 -1
  108. package/_cjs/data/Duration/definition.cjs +1 -1
  109. package/_cjs/data/Duration.cjs +2 -2
  110. package/_cjs/data/Either/api/align.cjs +1 -1
  111. package/_cjs/data/Either/api/alignWith.cjs +2 -0
  112. package/_cjs/data/Either/api/alignWith.cjs.map +1 -1
  113. package/_cjs/data/Either/api.cjs +110 -47
  114. package/_cjs/data/Either/api.cjs.map +1 -1
  115. package/_cjs/data/Either/constructors.cjs +1 -1
  116. package/_cjs/data/Either/definition.cjs +39 -10
  117. package/_cjs/data/Either/definition.cjs.map +1 -1
  118. package/_cjs/data/Either/destructors.cjs +2 -0
  119. package/_cjs/data/Either/destructors.cjs.map +1 -1
  120. package/_cjs/data/Either/instances.cjs +123 -40
  121. package/_cjs/data/Either/instances.cjs.map +1 -1
  122. package/_cjs/data/Either.cjs +5 -5
  123. package/_cjs/data/Environment/api.cjs +29 -8
  124. package/_cjs/data/Environment/api.cjs.map +1 -1
  125. package/_cjs/data/Environment.cjs +2 -2
  126. package/_cjs/data/Exit/api.cjs +1 -1
  127. package/_cjs/data/Exit/constructors.cjs +1 -1
  128. package/_cjs/data/Exit/definition.cjs +2 -2
  129. package/_cjs/data/Exit.cjs +3 -3
  130. package/_cjs/data/FiberId/api.cjs +1 -1
  131. package/_cjs/data/FiberId/constructors.cjs +2 -2
  132. package/_cjs/data/FiberId/definition.cjs +1 -1
  133. package/_cjs/data/FiberId.cjs +3 -3
  134. package/_cjs/data/Identity/api.cjs +35 -6
  135. package/_cjs/data/Identity/api.cjs.map +1 -1
  136. package/_cjs/data/Identity/definition.cjs +10 -1
  137. package/_cjs/data/Identity/definition.cjs.map +1 -1
  138. package/_cjs/data/Identity/instances.cjs +12 -26
  139. package/_cjs/data/Identity/instances.cjs.map +1 -1
  140. package/_cjs/data/Identity.cjs +3 -3
  141. package/_cjs/data/Interval.cjs +154 -0
  142. package/_cjs/data/Interval.cjs.map +1 -0
  143. package/_cjs/data/Maybe/api.cjs +31 -44
  144. package/_cjs/data/Maybe/api.cjs.map +1 -1
  145. package/_cjs/data/Maybe/definition.cjs +46 -19
  146. package/_cjs/data/Maybe/definition.cjs.map +1 -1
  147. package/_cjs/data/Maybe/destructors.cjs +1 -0
  148. package/_cjs/data/Maybe/destructors.cjs.map +1 -1
  149. package/_cjs/data/Maybe/instances.cjs +62 -42
  150. package/_cjs/data/Maybe/instances.cjs.map +1 -1
  151. package/_cjs/data/Maybe.cjs +5 -5
  152. package/_cjs/data/Newtype.cjs +5 -3
  153. package/_cjs/data/Newtype.cjs.map +1 -1
  154. package/_cjs/data/Patch/api.cjs +1 -1
  155. package/_cjs/data/Patch/api.cjs.map +1 -1
  156. package/_cjs/data/Patch.cjs +2 -2
  157. package/_cjs/data/Predicate.cjs +2 -2
  158. package/_cjs/data/Refinement/api.cjs +0 -4
  159. package/_cjs/data/Refinement/api.cjs.map +1 -1
  160. package/_cjs/data/Refinement.cjs +2 -2
  161. package/_cjs/data/Struct/api.cjs +1 -1
  162. package/_cjs/data/Struct/definition.cjs +4 -2
  163. package/_cjs/data/Struct/definition.cjs.map +1 -1
  164. package/_cjs/data/Tag.cjs +2 -2
  165. package/_cjs/data/These/api.cjs +299 -0
  166. package/_cjs/data/These/api.cjs.map +1 -0
  167. package/_cjs/data/These/constructors.cjs +25 -5
  168. package/_cjs/data/These/constructors.cjs.map +1 -1
  169. package/_cjs/data/These/definition.cjs +16 -0
  170. package/_cjs/data/These/definition.cjs.map +1 -1
  171. package/_cjs/data/These/destructors.cjs +70 -0
  172. package/_cjs/data/These/destructors.cjs.map +1 -1
  173. package/_cjs/data/These/instances.cjs +54 -0
  174. package/_cjs/data/These/instances.cjs.map +1 -0
  175. package/_cjs/data/These.cjs +16 -3
  176. package/_cjs/data/These.cjs.map +1 -1
  177. package/_cjs/data/Trace.cjs +3 -3
  178. package/_cjs/data/TraceElement.cjs +1 -1
  179. package/_cjs/data/bigint/definition.cjs +6 -0
  180. package/_cjs/data/bigint/definition.cjs.map +1 -0
  181. package/_cjs/data/bigint/instances.cjs +24 -0
  182. package/_cjs/data/bigint/instances.cjs.map +1 -0
  183. package/_cjs/data/bigint.cjs +32 -0
  184. package/_cjs/data/bigint.cjs.map +1 -0
  185. package/_cjs/data/boolean/definition.cjs +6 -0
  186. package/_cjs/data/boolean/definition.cjs.map +1 -0
  187. package/_cjs/data/boolean/instances.cjs +24 -0
  188. package/_cjs/data/boolean/instances.cjs.map +1 -0
  189. package/_cjs/data/boolean.cjs +32 -0
  190. package/_cjs/data/boolean.cjs.map +1 -0
  191. package/_cjs/data/exceptions/InterruptedException.cjs +1 -1
  192. package/_cjs/data/exceptions.cjs +7 -7
  193. package/_cjs/data/function.cjs +3 -3
  194. package/_cjs/data/number/instances.cjs +19 -6
  195. package/_cjs/data/number/instances.cjs.map +1 -1
  196. package/_cjs/data/number.cjs +3 -3
  197. package/_cjs/data/object/instances.cjs +24 -0
  198. package/_cjs/data/object/instances.cjs.map +1 -0
  199. package/_cjs/data/object.cjs +1 -1
  200. package/_cjs/data/string/instances.cjs +25 -10
  201. package/_cjs/data/string/instances.cjs.map +1 -1
  202. package/_cjs/data/string.cjs +3 -3
  203. package/_cjs/internal/AtomicBoolean.cjs +1 -1
  204. package/_cjs/internal/AtomicNumber.cjs +1 -1
  205. package/_cjs/internal/Stack.cjs +4 -0
  206. package/_cjs/internal/Stack.cjs.map +1 -1
  207. package/_cjs/json/EitherJson.cjs +33 -0
  208. package/_cjs/json/EitherJson.cjs.map +1 -0
  209. package/_cjs/json/MaybeJson.cjs +31 -0
  210. package/_cjs/json/MaybeJson.cjs.map +1 -0
  211. package/_cjs/json/TheseJson.cjs +37 -0
  212. package/_cjs/json/TheseJson.cjs.map +1 -0
  213. package/_cjs/optics/At.cjs +2 -2
  214. package/_cjs/optics/Fold.cjs +1 -1
  215. package/_cjs/optics/Getter.cjs +1 -1
  216. package/_cjs/optics/Index.cjs +2 -2
  217. package/_cjs/optics/Iso.cjs +2 -2
  218. package/_cjs/optics/Lens.cjs +2 -2
  219. package/_cjs/optics/Optional/definition.cjs +6 -4
  220. package/_cjs/optics/Optional/definition.cjs.map +1 -1
  221. package/_cjs/optics/Optional.cjs +2 -2
  222. package/_cjs/optics/Prism.cjs +4 -4
  223. package/_cjs/optics/Setter.cjs +1 -1
  224. package/_cjs/optics/Traversal/api/compose.cjs +1 -1
  225. package/_cjs/optics/Traversal/api/compose.cjs.map +1 -1
  226. package/_cjs/optics/Traversal/api/fromTraversable.cjs +4 -4
  227. package/_cjs/optics/Traversal/api/fromTraversable.cjs.map +1 -1
  228. package/_cjs/optics/Traversal/definition.cjs +17 -12
  229. package/_cjs/optics/Traversal/definition.cjs.map +1 -1
  230. package/_cjs/optics/Traversal.cjs +3 -3
  231. package/_cjs/typeclass/Align.cjs +0 -20
  232. package/_cjs/typeclass/Align.cjs.map +1 -1
  233. package/_cjs/typeclass/Alt.cjs +5 -15
  234. package/_cjs/typeclass/Alt.cjs.map +1 -1
  235. package/_cjs/typeclass/Alternative.cjs +0 -23
  236. package/_cjs/typeclass/Alternative.cjs.map +1 -1
  237. package/_cjs/typeclass/Applicative.cjs +0 -22
  238. package/_cjs/typeclass/Applicative.cjs.map +1 -1
  239. package/_cjs/typeclass/ApplicativeExcept.cjs +40 -34
  240. package/_cjs/typeclass/ApplicativeExcept.cjs.map +1 -1
  241. package/_cjs/typeclass/Apply.cjs +93 -49
  242. package/_cjs/typeclass/Apply.cjs.map +1 -1
  243. package/_cjs/typeclass/Chain.cjs +40 -17
  244. package/_cjs/typeclass/Chain.cjs.map +1 -1
  245. package/_cjs/typeclass/Closure.cjs +1 -4
  246. package/_cjs/typeclass/Closure.cjs.map +1 -1
  247. package/_cjs/typeclass/Eq/definition.cjs +18 -0
  248. package/_cjs/typeclass/Eq/definition.cjs.map +1 -0
  249. package/_cjs/typeclass/Eq/derivations.cjs +59 -0
  250. package/_cjs/typeclass/Eq/derivations.cjs.map +1 -0
  251. package/_cjs/typeclass/Eq.cjs +11 -13
  252. package/_cjs/typeclass/Eq.cjs.map +1 -1
  253. package/_cjs/typeclass/Equatable.cjs +3 -3
  254. package/_cjs/typeclass/Fail.cjs +6 -12
  255. package/_cjs/typeclass/Fail.cjs.map +1 -1
  256. package/_cjs/typeclass/Filterable.cjs +31 -18
  257. package/_cjs/typeclass/Filterable.cjs.map +1 -1
  258. package/_cjs/typeclass/FilterableWithIndex.cjs +0 -26
  259. package/_cjs/typeclass/FilterableWithIndex.cjs.map +1 -1
  260. package/_cjs/typeclass/Foldable.cjs +33 -19
  261. package/_cjs/typeclass/Foldable.cjs.map +1 -1
  262. package/_cjs/typeclass/FoldableWithIndex.cjs +33 -21
  263. package/_cjs/typeclass/FoldableWithIndex.cjs.map +1 -1
  264. package/_cjs/typeclass/Functor.cjs +19 -16
  265. package/_cjs/typeclass/Functor.cjs.map +1 -1
  266. package/_cjs/typeclass/FunctorWithIndex.cjs +0 -21
  267. package/_cjs/typeclass/FunctorWithIndex.cjs.map +1 -1
  268. package/_cjs/typeclass/Guard/api.cjs +40 -0
  269. package/_cjs/typeclass/Guard/api.cjs.map +1 -0
  270. package/_cjs/typeclass/Guard/definition.cjs +40 -0
  271. package/_cjs/typeclass/Guard/definition.cjs.map +1 -0
  272. package/_cjs/typeclass/Guard/derivations.cjs +85 -0
  273. package/_cjs/typeclass/Guard/derivations.cjs.map +1 -0
  274. package/_cjs/typeclass/Guard.cjs +32 -0
  275. package/_cjs/typeclass/Guard.cjs.map +1 -0
  276. package/_cjs/typeclass/HashEq.cjs +3 -3
  277. package/_cjs/typeclass/HashEq.cjs.map +1 -1
  278. package/_cjs/typeclass/Hashable.cjs +2 -2
  279. package/_cjs/typeclass/Monad.cjs +0 -22
  280. package/_cjs/typeclass/Monad.cjs.map +1 -1
  281. package/_cjs/typeclass/MonadExcept.cjs +12 -19
  282. package/_cjs/typeclass/MonadExcept.cjs.map +1 -1
  283. package/_cjs/typeclass/Monoid.cjs +56 -2
  284. package/_cjs/typeclass/Monoid.cjs.map +1 -1
  285. package/_cjs/typeclass/Nil.cjs +10 -0
  286. package/_cjs/typeclass/Nil.cjs.map +1 -1
  287. package/_cjs/typeclass/Ord/api/contramap.cjs +2 -4
  288. package/_cjs/typeclass/Ord/api/contramap.cjs.map +1 -1
  289. package/_cjs/typeclass/Ord/api/max.cjs +1 -1
  290. package/_cjs/typeclass/Ord/api/max.cjs.map +1 -1
  291. package/_cjs/typeclass/Ord/api/min.cjs +1 -1
  292. package/_cjs/typeclass/Ord/api/min.cjs.map +1 -1
  293. package/_cjs/typeclass/Ord/api.cjs +3 -3
  294. package/_cjs/typeclass/Ord/definition.cjs +2 -3
  295. package/_cjs/typeclass/Ord/definition.cjs.map +1 -1
  296. package/_cjs/typeclass/Ord/instances.cjs +7 -7
  297. package/_cjs/typeclass/Ord/instances.cjs.map +1 -1
  298. package/_cjs/typeclass/Ord.cjs +3 -3
  299. package/_cjs/typeclass/Pointed.cjs +6 -11
  300. package/_cjs/typeclass/Pointed.cjs.map +1 -1
  301. package/_cjs/typeclass/Semialign.cjs +77 -94
  302. package/_cjs/typeclass/Semialign.cjs.map +1 -1
  303. package/_cjs/typeclass/Semigroup/api.cjs +2 -2
  304. package/_cjs/typeclass/Semigroup/api.cjs.map +1 -1
  305. package/_cjs/typeclass/Semigroup/definition.cjs.map +1 -1
  306. package/_cjs/typeclass/Semigroup/derivations.cjs +63 -0
  307. package/_cjs/typeclass/Semigroup/derivations.cjs.map +1 -0
  308. package/_cjs/typeclass/Semigroup.cjs +2 -2
  309. package/_cjs/typeclass/Semimonoidal.cjs +9 -13
  310. package/_cjs/typeclass/Semimonoidal.cjs.map +1 -1
  311. package/_cjs/typeclass/Showable/show.cjs +11 -11
  312. package/_cjs/typeclass/Showable/show.cjs.map +1 -1
  313. package/_cjs/typeclass/Showable.cjs +2 -2
  314. package/_cjs/typeclass/Traversable.cjs +26 -34
  315. package/_cjs/typeclass/Traversable.cjs.map +1 -1
  316. package/_cjs/typeclass/TraversableWithIndex.cjs +7 -38
  317. package/_cjs/typeclass/TraversableWithIndex.cjs.map +1 -1
  318. package/_cjs/typeclass/Witherable.cjs +41 -42
  319. package/_cjs/typeclass/Witherable.cjs.map +1 -1
  320. package/_cjs/typeclass/WitherableWithIndex.cjs +41 -50
  321. package/_cjs/typeclass/WitherableWithIndex.cjs.map +1 -1
  322. package/_cjs/typeclass/builtin.cjs +1 -1
  323. package/_cjs/typeclass.cjs +49 -36
  324. package/_cjs/typeclass.cjs.map +1 -1
  325. package/_cjs/types.cjs +3 -3
  326. package/_cjs/util/predicates.cjs +5 -0
  327. package/_cjs/util/predicates.cjs.map +1 -1
  328. package/_mjs/collection/Iterable/api/traverseConc.mjs +20 -15
  329. package/_mjs/collection/Iterable/api/traverseConc.mjs.map +1 -1
  330. package/_mjs/collection/Iterable/api.mjs +21 -31
  331. package/_mjs/collection/Iterable/api.mjs.map +1 -1
  332. package/_mjs/collection/compat/Array/api.mjs +1 -1
  333. package/_mjs/collection/compat/Array/api.mjs.map +1 -1
  334. package/_mjs/collection/immutable/Conc/api.mjs +35 -36
  335. package/_mjs/collection/immutable/Conc/api.mjs.map +1 -1
  336. package/_mjs/collection/immutable/Conc/definition.mjs +48 -39
  337. package/_mjs/collection/immutable/Conc/definition.mjs.map +1 -1
  338. package/_mjs/collection/immutable/Dictionary/definition.mjs +3 -2
  339. package/_mjs/collection/immutable/Dictionary/definition.mjs.map +1 -1
  340. package/_mjs/collection/immutable/HashMap/api.mjs +26 -66
  341. package/_mjs/collection/immutable/HashMap/api.mjs.map +1 -1
  342. package/_mjs/collection/immutable/HashMap/definition.mjs +18 -15
  343. package/_mjs/collection/immutable/HashMap/definition.mjs.map +1 -1
  344. package/_mjs/collection/immutable/HashSet/api.mjs +5 -5
  345. package/_mjs/collection/immutable/HashSet/api.mjs.map +1 -1
  346. package/_mjs/collection/immutable/ImmutableArray/api.mjs +135 -177
  347. package/_mjs/collection/immutable/ImmutableArray/api.mjs.map +1 -1
  348. package/_mjs/collection/immutable/ImmutableArray/definition.mjs +11 -10
  349. package/_mjs/collection/immutable/ImmutableArray/definition.mjs.map +1 -1
  350. package/_mjs/collection/immutable/ImmutableArray/instances.mjs +151 -138
  351. package/_mjs/collection/immutable/ImmutableArray/instances.mjs.map +1 -1
  352. package/_mjs/collection/immutable/ImmutableNonEmptyArray/api.mjs +108 -142
  353. package/_mjs/collection/immutable/ImmutableNonEmptyArray/api.mjs.map +1 -1
  354. package/_mjs/collection/immutable/ImmutableNonEmptyArray/definition.mjs +2 -0
  355. package/_mjs/collection/immutable/ImmutableNonEmptyArray/definition.mjs.map +1 -1
  356. package/_mjs/collection/immutable/ImmutableNonEmptyArray/instances.mjs +46 -67
  357. package/_mjs/collection/immutable/ImmutableNonEmptyArray/instances.mjs.map +1 -1
  358. package/_mjs/collection/immutable/List/api.mjs +4 -5
  359. package/_mjs/collection/immutable/List/api.mjs.map +1 -1
  360. package/_mjs/collection/immutable/RoseTree/api.mjs +447 -0
  361. package/_mjs/collection/immutable/RoseTree/api.mjs.map +1 -0
  362. package/_mjs/collection/immutable/RoseTree/definition.mjs +35 -0
  363. package/_mjs/collection/immutable/RoseTree/definition.mjs.map +1 -0
  364. package/_mjs/collection/immutable/RoseTree.mjs +4 -0
  365. package/_mjs/collection/immutable/RoseTree.mjs.map +1 -0
  366. package/_mjs/collection/immutable/SortedMap/api.mjs +65 -65
  367. package/_mjs/collection/immutable/SortedMap/api.mjs.map +1 -1
  368. package/_mjs/collection/immutable/Vector/api.mjs +59 -15
  369. package/_mjs/collection/immutable/Vector/api.mjs.map +1 -1
  370. package/_mjs/collection/immutable/Vector/definition.mjs +12 -11
  371. package/_mjs/collection/immutable/Vector/definition.mjs.map +1 -1
  372. package/_mjs/collection/mutable/HashMap.mjs +5 -5
  373. package/_mjs/collection/mutable/HashMap.mjs.map +1 -1
  374. package/_mjs/collection/mutable/HashSet.mjs +4 -4
  375. package/_mjs/collection/mutable/HashSet.mjs.map +1 -1
  376. package/_mjs/control/Eval/api.mjs +5 -2
  377. package/_mjs/control/Eval/api.mjs.map +1 -1
  378. package/_mjs/control/Eval/definition.mjs +1 -0
  379. package/_mjs/control/Eval/definition.mjs.map +1 -1
  380. package/_mjs/control/Eval/instance.mjs +15 -18
  381. package/_mjs/control/Eval/instance.mjs.map +1 -1
  382. package/_mjs/control/Z/definition.mjs +2 -0
  383. package/_mjs/control/Z/definition.mjs.map +1 -1
  384. package/_mjs/control/Z/instances.mjs +7 -8
  385. package/_mjs/control/Z/instances.mjs.map +1 -1
  386. package/_mjs/data/Branded/definition.mjs +18 -0
  387. package/_mjs/data/Branded/definition.mjs.map +1 -0
  388. package/_mjs/data/Branded/derivations.mjs +39 -0
  389. package/_mjs/data/Branded/derivations.mjs.map +1 -0
  390. package/_mjs/data/Branded.mjs +4 -0
  391. package/_mjs/data/Branded.mjs.map +1 -0
  392. package/_mjs/data/Cause/api/fold.mjs +2 -0
  393. package/_mjs/data/Cause/api/fold.mjs.map +1 -1
  394. package/_mjs/data/Cause/api.mjs +20 -0
  395. package/_mjs/data/Cause/api.mjs.map +1 -1
  396. package/_mjs/data/Const/api.mjs +3 -3
  397. package/_mjs/data/Const/api.mjs.map +1 -1
  398. package/_mjs/data/Const/definition.mjs +13 -1
  399. package/_mjs/data/Const/definition.mjs.map +1 -1
  400. package/_mjs/data/Const/instances.mjs +7 -15
  401. package/_mjs/data/Const/instances.mjs.map +1 -1
  402. package/_mjs/data/DecodeError/definition.mjs +226 -0
  403. package/_mjs/data/DecodeError/definition.mjs.map +1 -0
  404. package/_mjs/data/DecodeError.mjs +3 -0
  405. package/_mjs/data/DecodeError.mjs.map +1 -0
  406. package/_mjs/data/Decoder/api.mjs +179 -0
  407. package/_mjs/data/Decoder/api.mjs.map +1 -0
  408. package/_mjs/data/Decoder/definition.mjs +24 -0
  409. package/_mjs/data/Decoder/definition.mjs.map +1 -0
  410. package/_mjs/data/Decoder.mjs +4 -0
  411. package/_mjs/data/Decoder.mjs.map +1 -0
  412. package/_mjs/data/Duration/api.mjs +17 -8
  413. package/_mjs/data/Duration/api.mjs.map +1 -1
  414. package/_mjs/data/Either/api/alignWith.mjs +2 -0
  415. package/_mjs/data/Either/api/alignWith.mjs.map +1 -1
  416. package/_mjs/data/Either/api.mjs +91 -21
  417. package/_mjs/data/Either/api.mjs.map +1 -1
  418. package/_mjs/data/Either/definition.mjs +25 -5
  419. package/_mjs/data/Either/definition.mjs.map +1 -1
  420. package/_mjs/data/Either/destructors.mjs +2 -0
  421. package/_mjs/data/Either/destructors.mjs.map +1 -1
  422. package/_mjs/data/Either/instances.mjs +109 -39
  423. package/_mjs/data/Either/instances.mjs.map +1 -1
  424. package/_mjs/data/Environment/api.mjs +23 -7
  425. package/_mjs/data/Environment/api.mjs.map +1 -1
  426. package/_mjs/data/Identity/api.mjs +24 -5
  427. package/_mjs/data/Identity/api.mjs.map +1 -1
  428. package/_mjs/data/Identity/definition.mjs +3 -1
  429. package/_mjs/data/Identity/definition.mjs.map +1 -1
  430. package/_mjs/data/Identity/instances.mjs +12 -18
  431. package/_mjs/data/Identity/instances.mjs.map +1 -1
  432. package/_mjs/data/Interval.mjs +114 -0
  433. package/_mjs/data/Interval.mjs.map +1 -0
  434. package/_mjs/data/Maybe/api.mjs +30 -35
  435. package/_mjs/data/Maybe/api.mjs.map +1 -1
  436. package/_mjs/data/Maybe/definition.mjs +37 -14
  437. package/_mjs/data/Maybe/definition.mjs.map +1 -1
  438. package/_mjs/data/Maybe/destructors.mjs +1 -0
  439. package/_mjs/data/Maybe/destructors.mjs.map +1 -1
  440. package/_mjs/data/Maybe/instances.mjs +56 -39
  441. package/_mjs/data/Maybe/instances.mjs.map +1 -1
  442. package/_mjs/data/Newtype.mjs +4 -3
  443. package/_mjs/data/Newtype.mjs.map +1 -1
  444. package/_mjs/data/Patch/api.mjs +1 -1
  445. package/_mjs/data/Patch/api.mjs.map +1 -1
  446. package/_mjs/data/Refinement/api.mjs +0 -4
  447. package/_mjs/data/Refinement/api.mjs.map +1 -1
  448. package/_mjs/data/Struct/definition.mjs +3 -2
  449. package/_mjs/data/Struct/definition.mjs.map +1 -1
  450. package/_mjs/data/These/api.mjs +262 -0
  451. package/_mjs/data/These/api.mjs.map +1 -0
  452. package/_mjs/data/These/constructors.mjs +14 -2
  453. package/_mjs/data/These/constructors.mjs.map +1 -1
  454. package/_mjs/data/These/definition.mjs +8 -0
  455. package/_mjs/data/These/definition.mjs.map +1 -1
  456. package/_mjs/data/These/destructors.mjs +53 -0
  457. package/_mjs/data/These/destructors.mjs.map +1 -1
  458. package/_mjs/data/These/instances.mjs +36 -0
  459. package/_mjs/data/These/instances.mjs.map +1 -0
  460. package/_mjs/data/These.mjs +1 -0
  461. package/_mjs/data/These.mjs.map +1 -1
  462. package/_mjs/data/bigint/definition.mjs +2 -0
  463. package/_mjs/data/bigint/definition.mjs.map +1 -0
  464. package/_mjs/data/bigint/instances.mjs +10 -0
  465. package/_mjs/data/bigint/instances.mjs.map +1 -0
  466. package/_mjs/data/bigint.mjs +4 -0
  467. package/_mjs/data/bigint.mjs.map +1 -0
  468. package/_mjs/data/boolean/definition.mjs +2 -0
  469. package/_mjs/data/boolean/definition.mjs.map +1 -0
  470. package/_mjs/data/boolean/instances.mjs +10 -0
  471. package/_mjs/data/boolean/instances.mjs.map +1 -0
  472. package/_mjs/data/boolean.mjs +4 -0
  473. package/_mjs/data/boolean.mjs.map +1 -0
  474. package/_mjs/data/number/instances.mjs +14 -4
  475. package/_mjs/data/number/instances.mjs.map +1 -1
  476. package/_mjs/data/object/instances.mjs +10 -0
  477. package/_mjs/data/object/instances.mjs.map +1 -0
  478. package/_mjs/data/string/instances.mjs +20 -8
  479. package/_mjs/data/string/instances.mjs.map +1 -1
  480. package/_mjs/internal/Stack.mjs +4 -0
  481. package/_mjs/internal/Stack.mjs.map +1 -1
  482. package/_mjs/json/EitherJson.mjs +18 -0
  483. package/_mjs/json/EitherJson.mjs.map +1 -0
  484. package/_mjs/json/MaybeJson.mjs +16 -0
  485. package/_mjs/json/MaybeJson.mjs.map +1 -0
  486. package/_mjs/json/TheseJson.mjs +22 -0
  487. package/_mjs/json/TheseJson.mjs.map +1 -0
  488. package/_mjs/optics/Optional/definition.mjs +5 -4
  489. package/_mjs/optics/Optional/definition.mjs.map +1 -1
  490. package/_mjs/optics/Traversal/api/compose.mjs +1 -1
  491. package/_mjs/optics/Traversal/api/compose.mjs.map +1 -1
  492. package/_mjs/optics/Traversal/api/fromTraversable.mjs +5 -4
  493. package/_mjs/optics/Traversal/api/fromTraversable.mjs.map +1 -1
  494. package/_mjs/optics/Traversal/definition.mjs +14 -12
  495. package/_mjs/optics/Traversal/definition.mjs.map +1 -1
  496. package/_mjs/typeclass/Align.mjs +0 -11
  497. package/_mjs/typeclass/Align.mjs.map +1 -1
  498. package/_mjs/typeclass/Alt.mjs +4 -7
  499. package/_mjs/typeclass/Alt.mjs.map +1 -1
  500. package/_mjs/typeclass/Alternative.mjs +0 -13
  501. package/_mjs/typeclass/Alternative.mjs.map +1 -1
  502. package/_mjs/typeclass/Applicative.mjs +0 -12
  503. package/_mjs/typeclass/Applicative.mjs.map +1 -1
  504. package/_mjs/typeclass/ApplicativeExcept.mjs +32 -24
  505. package/_mjs/typeclass/ApplicativeExcept.mjs.map +1 -1
  506. package/_mjs/typeclass/Apply.mjs +85 -42
  507. package/_mjs/typeclass/Apply.mjs.map +1 -1
  508. package/_mjs/typeclass/Chain.mjs +33 -12
  509. package/_mjs/typeclass/Chain.mjs.map +1 -1
  510. package/_mjs/typeclass/Closure.mjs +1 -4
  511. package/_mjs/typeclass/Closure.mjs.map +1 -1
  512. package/_mjs/typeclass/Eq/definition.mjs +9 -0
  513. package/_mjs/typeclass/Eq/definition.mjs.map +1 -0
  514. package/_mjs/typeclass/Eq/derivations.mjs +46 -0
  515. package/_mjs/typeclass/Eq/derivations.mjs.map +1 -0
  516. package/_mjs/typeclass/Eq.mjs +1 -11
  517. package/_mjs/typeclass/Eq.mjs.map +1 -1
  518. package/_mjs/typeclass/Fail.mjs +5 -7
  519. package/_mjs/typeclass/Fail.mjs.map +1 -1
  520. package/_mjs/typeclass/Filterable.mjs +27 -13
  521. package/_mjs/typeclass/Filterable.mjs.map +1 -1
  522. package/_mjs/typeclass/FilterableWithIndex.mjs +0 -16
  523. package/_mjs/typeclass/FilterableWithIndex.mjs.map +1 -1
  524. package/_mjs/typeclass/Foldable.mjs +29 -12
  525. package/_mjs/typeclass/Foldable.mjs.map +1 -1
  526. package/_mjs/typeclass/FoldableWithIndex.mjs +29 -13
  527. package/_mjs/typeclass/FoldableWithIndex.mjs.map +1 -1
  528. package/_mjs/typeclass/Functor.mjs +16 -9
  529. package/_mjs/typeclass/Functor.mjs.map +1 -1
  530. package/_mjs/typeclass/FunctorWithIndex.mjs +0 -12
  531. package/_mjs/typeclass/FunctorWithIndex.mjs.map +1 -1
  532. package/_mjs/typeclass/Guard/api.mjs +23 -0
  533. package/_mjs/typeclass/Guard/api.mjs.map +1 -0
  534. package/_mjs/typeclass/Guard/definition.mjs +23 -0
  535. package/_mjs/typeclass/Guard/definition.mjs.map +1 -0
  536. package/_mjs/typeclass/Guard/derivations.mjs +67 -0
  537. package/_mjs/typeclass/Guard/derivations.mjs.map +1 -0
  538. package/_mjs/typeclass/Guard.mjs +4 -0
  539. package/_mjs/typeclass/Guard.mjs.map +1 -0
  540. package/_mjs/typeclass/HashEq.mjs +3 -3
  541. package/_mjs/typeclass/HashEq.mjs.map +1 -1
  542. package/_mjs/typeclass/Monad.mjs +0 -12
  543. package/_mjs/typeclass/Monad.mjs.map +1 -1
  544. package/_mjs/typeclass/MonadExcept.mjs +9 -13
  545. package/_mjs/typeclass/MonadExcept.mjs.map +1 -1
  546. package/_mjs/typeclass/Monoid.mjs +50 -1
  547. package/_mjs/typeclass/Monoid.mjs.map +1 -1
  548. package/_mjs/typeclass/Nil.mjs +8 -1
  549. package/_mjs/typeclass/Nil.mjs.map +1 -1
  550. package/_mjs/typeclass/Ord/api/contramap.mjs +2 -4
  551. package/_mjs/typeclass/Ord/api/contramap.mjs.map +1 -1
  552. package/_mjs/typeclass/Ord/api/max.mjs +1 -1
  553. package/_mjs/typeclass/Ord/api/max.mjs.map +1 -1
  554. package/_mjs/typeclass/Ord/api/min.mjs +1 -1
  555. package/_mjs/typeclass/Ord/api/min.mjs.map +1 -1
  556. package/_mjs/typeclass/Ord/definition.mjs +2 -3
  557. package/_mjs/typeclass/Ord/definition.mjs.map +1 -1
  558. package/_mjs/typeclass/Ord/instances.mjs +7 -7
  559. package/_mjs/typeclass/Ord/instances.mjs.map +1 -1
  560. package/_mjs/typeclass/Pointed.mjs +5 -4
  561. package/_mjs/typeclass/Pointed.mjs.map +1 -1
  562. package/_mjs/typeclass/Semialign.mjs +67 -74
  563. package/_mjs/typeclass/Semialign.mjs.map +1 -1
  564. package/_mjs/typeclass/Semigroup/api.mjs +2 -2
  565. package/_mjs/typeclass/Semigroup/api.mjs.map +1 -1
  566. package/_mjs/typeclass/Semigroup/definition.mjs.map +1 -1
  567. package/_mjs/typeclass/Semigroup/derivations.mjs +50 -0
  568. package/_mjs/typeclass/Semigroup/derivations.mjs.map +1 -0
  569. package/_mjs/typeclass/Semigroup.mjs +1 -1
  570. package/_mjs/typeclass/Semimonoidal.mjs +8 -6
  571. package/_mjs/typeclass/Semimonoidal.mjs.map +1 -1
  572. package/_mjs/typeclass/Showable/show.mjs +11 -11
  573. package/_mjs/typeclass/Showable/show.mjs.map +1 -1
  574. package/_mjs/typeclass/Traversable.mjs +25 -24
  575. package/_mjs/typeclass/Traversable.mjs.map +1 -1
  576. package/_mjs/typeclass/TraversableWithIndex.mjs +6 -24
  577. package/_mjs/typeclass/TraversableWithIndex.mjs.map +1 -1
  578. package/_mjs/typeclass/Witherable.mjs +39 -32
  579. package/_mjs/typeclass/Witherable.mjs.map +1 -1
  580. package/_mjs/typeclass/WitherableWithIndex.mjs +39 -37
  581. package/_mjs/typeclass/WitherableWithIndex.mjs.map +1 -1
  582. package/_mjs/typeclass.mjs +1 -0
  583. package/_mjs/typeclass.mjs.map +1 -1
  584. package/_mjs/util/predicates.mjs +3 -0
  585. package/_mjs/util/predicates.mjs.map +1 -1
  586. package/_src/collection/Iterable/api/traverseConc.ts +21 -29
  587. package/_src/collection/Iterable/api.ts +20 -34
  588. package/_src/collection/compat/Array/api.ts +1 -1
  589. package/_src/collection/immutable/Conc/api.ts +26 -46
  590. package/_src/collection/immutable/Conc/definition.ts +19 -8
  591. package/_src/collection/immutable/Dictionary/definition.ts +1 -1
  592. package/_src/collection/immutable/HashMap/api.ts +24 -81
  593. package/_src/collection/immutable/HashMap/definition.ts +7 -9
  594. package/_src/collection/immutable/HashMap/internal.ts +1 -1
  595. package/_src/collection/immutable/HashSet/api.ts +4 -4
  596. package/_src/collection/immutable/ImmutableArray/api.ts +180 -219
  597. package/_src/collection/immutable/ImmutableArray/definition.ts +6 -8
  598. package/_src/collection/immutable/ImmutableArray/instances.ts +156 -134
  599. package/_src/collection/immutable/ImmutableNonEmptyArray/api.ts +87 -158
  600. package/_src/collection/immutable/ImmutableNonEmptyArray/definition.ts +4 -8
  601. package/_src/collection/immutable/ImmutableNonEmptyArray/instances.ts +39 -49
  602. package/_src/collection/immutable/List/api.ts +2 -6
  603. package/_src/collection/immutable/RoseTree/api.ts +278 -0
  604. package/_src/collection/immutable/RoseTree/definition.ts +29 -0
  605. package/_src/collection/immutable/RoseTree.ts +4 -0
  606. package/_src/collection/immutable/SortedMap/api.ts +56 -53
  607. package/_src/collection/immutable/Vector/api.ts +57 -17
  608. package/_src/collection/immutable/Vector/definition.ts +10 -0
  609. package/_src/collection/mutable/HashMap.ts +5 -5
  610. package/_src/collection/mutable/HashSet.ts +4 -4
  611. package/_src/control/Eval/api.ts +5 -1
  612. package/_src/control/Eval/definition.ts +5 -8
  613. package/_src/control/Eval/instance.ts +16 -15
  614. package/_src/control/Z/definition.ts +26 -19
  615. package/_src/control/Z/instances.ts +9 -8
  616. package/_src/data/Branded/definition.ts +47 -0
  617. package/_src/data/Branded/derivations.ts +57 -0
  618. package/_src/data/Branded.ts +4 -0
  619. package/_src/data/Cause/api/fold.ts +1 -0
  620. package/_src/data/Cause/api.ts +18 -0
  621. package/_src/data/Const/api.ts +3 -3
  622. package/_src/data/Const/definition.ts +22 -5
  623. package/_src/data/Const/instances.ts +12 -21
  624. package/_src/data/DecodeError/definition.ts +227 -0
  625. package/_src/data/DecodeError.ts +3 -0
  626. package/_src/data/Decoder/api.ts +198 -0
  627. package/_src/data/Decoder/definition.ts +25 -0
  628. package/_src/data/Decoder.ts +4 -0
  629. package/_src/data/Duration/api.ts +21 -14
  630. package/_src/data/Either/api/alignWith.ts +2 -0
  631. package/_src/data/Either/api.ts +85 -30
  632. package/_src/data/Either/definition.ts +41 -19
  633. package/_src/data/Either/destructors.ts +1 -0
  634. package/_src/data/Either/instances.ts +102 -51
  635. package/_src/data/Environment/api.ts +19 -4
  636. package/_src/data/Identity/api.ts +19 -4
  637. package/_src/data/Identity/definition.ts +7 -3
  638. package/_src/data/Identity/instances.ts +15 -8
  639. package/_src/data/Interval.ts +103 -0
  640. package/_src/data/Maybe/api.ts +21 -31
  641. package/_src/data/Maybe/definition.ts +31 -19
  642. package/_src/data/Maybe/destructors.ts +1 -0
  643. package/_src/data/Maybe/instances.ts +61 -34
  644. package/_src/data/Newtype.ts +11 -32
  645. package/_src/data/Patch/api.ts +1 -1
  646. package/_src/data/Refinement/api.ts +4 -2
  647. package/_src/data/Struct/definition.ts +1 -1
  648. package/_src/data/These/api.ts +184 -0
  649. package/_src/data/These/constructors.ts +10 -0
  650. package/_src/data/These/definition.ts +7 -0
  651. package/_src/data/These/destructors.ts +45 -0
  652. package/_src/data/These/instances.ts +43 -0
  653. package/_src/data/These.ts +1 -0
  654. package/_src/data/bigint/definition.ts +13 -0
  655. package/_src/data/bigint/instances.ts +8 -0
  656. package/_src/data/bigint.ts +4 -0
  657. package/_src/data/boolean/definition.ts +13 -0
  658. package/_src/data/boolean/instances.ts +8 -0
  659. package/_src/data/boolean.ts +4 -0
  660. package/_src/data/number/instances.ts +13 -3
  661. package/_src/data/object/instances.ts +7 -0
  662. package/_src/data/string/instances.ts +17 -5
  663. package/_src/internal/Stack.ts +4 -0
  664. package/_src/json/EitherJson.ts +28 -0
  665. package/_src/json/MaybeJson.ts +27 -0
  666. package/_src/json/TheseJson.ts +31 -0
  667. package/_src/optics/Optional/definition.ts +2 -2
  668. package/_src/optics/Traversal/api/compose.ts +1 -1
  669. package/_src/optics/Traversal/api/fromTraversable.ts +15 -41
  670. package/_src/optics/Traversal/definition.ts +21 -23
  671. package/_src/typeclass/Align.ts +4 -18
  672. package/_src/typeclass/Alt.ts +59 -90
  673. package/_src/typeclass/Alternative.ts +4 -20
  674. package/_src/typeclass/Applicative.ts +3 -23
  675. package/_src/typeclass/ApplicativeExcept.ts +94 -193
  676. package/_src/typeclass/Apply.ts +319 -509
  677. package/_src/typeclass/Chain.ts +127 -199
  678. package/_src/typeclass/Closure.ts +4 -20
  679. package/_src/typeclass/Eq/definition.ts +20 -0
  680. package/_src/typeclass/Eq/derivations.ts +61 -0
  681. package/_src/typeclass/Eq.ts +2 -36
  682. package/_src/typeclass/Fail.ts +28 -27
  683. package/_src/typeclass/Filterable.ts +70 -117
  684. package/_src/typeclass/FilterableWithIndex.ts +27 -131
  685. package/_src/typeclass/Foldable.ts +35 -52
  686. package/_src/typeclass/FoldableWithIndex.ts +40 -75
  687. package/_src/typeclass/Functor.ts +21 -59
  688. package/_src/typeclass/FunctorWithIndex.ts +6 -34
  689. package/_src/typeclass/Guard/api.ts +32 -0
  690. package/_src/typeclass/Guard/definition.ts +23 -0
  691. package/_src/typeclass/Guard/derivations.ts +80 -0
  692. package/_src/typeclass/Guard.ts +5 -0
  693. package/_src/typeclass/HashEq.ts +3 -4
  694. package/_src/typeclass/Monad.ts +3 -18
  695. package/_src/typeclass/MonadExcept.ts +9 -32
  696. package/_src/typeclass/Monoid.ts +60 -2
  697. package/_src/typeclass/Nil.ts +26 -17
  698. package/_src/typeclass/Ord/api/contramap.ts +2 -4
  699. package/_src/typeclass/Ord/api/max.ts +1 -1
  700. package/_src/typeclass/Ord/api/min.ts +1 -1
  701. package/_src/typeclass/Ord/definition.ts +3 -19
  702. package/_src/typeclass/Ord/instances.ts +6 -6
  703. package/_src/typeclass/Pointed.ts +29 -25
  704. package/_src/typeclass/Semialign.ts +308 -444
  705. package/_src/typeclass/Semigroup/api.ts +2 -2
  706. package/_src/typeclass/Semigroup/definition.ts +2 -6
  707. package/_src/typeclass/Semigroup/derivations.ts +64 -0
  708. package/_src/typeclass/Semigroup.ts +1 -1
  709. package/_src/typeclass/Semimonoidal.ts +55 -84
  710. package/_src/typeclass/Showable/show.ts +6 -8
  711. package/_src/typeclass/Traversable.ts +67 -157
  712. package/_src/typeclass/TraversableWithIndex.ts +37 -127
  713. package/_src/typeclass/Witherable.ts +120 -279
  714. package/_src/typeclass/WitherableWithIndex.ts +129 -337
  715. package/_src/typeclass.ts +2 -0
  716. package/_src/util/predicates.ts +4 -0
  717. package/collection/Iterable/api/traverseConc.d.ts +6 -4
  718. package/collection/Iterable/api.d.ts +5 -13
  719. package/collection/immutable/Conc/api.d.ts +15 -23
  720. package/collection/immutable/Conc/definition.d.ts +10 -7
  721. package/collection/immutable/Dictionary/definition.d.ts +1 -1
  722. package/collection/immutable/HashMap/api.d.ts +15 -27
  723. package/collection/immutable/HashMap/definition.d.ts +6 -9
  724. package/collection/immutable/HashMap/internal.d.ts +1 -1
  725. package/collection/immutable/ImmutableArray/api.d.ts +42 -94
  726. package/collection/immutable/ImmutableArray/definition.d.ts +6 -8
  727. package/collection/immutable/ImmutableArray/instances.d.ts +86 -17
  728. package/collection/immutable/ImmutableNonEmptyArray/api.d.ts +26 -47
  729. package/collection/immutable/ImmutableNonEmptyArray/definition.d.ts +4 -8
  730. package/collection/immutable/ImmutableNonEmptyArray/instances.d.ts +1 -1
  731. package/collection/immutable/List/api.d.ts +1 -2
  732. package/collection/immutable/RoseTree/api.d.ts +63 -0
  733. package/collection/immutable/RoseTree/definition.d.ts +23 -0
  734. package/collection/immutable/RoseTree.d.ts +2 -0
  735. package/collection/immutable/SortedMap/api.d.ts +2 -1
  736. package/collection/immutable/Vector/api.d.ts +31 -8
  737. package/collection/immutable/Vector/definition.d.ts +10 -0
  738. package/control/Eval/api.d.ts +1 -0
  739. package/control/Eval/definition.d.ts +5 -8
  740. package/control/Eval/instance.d.ts +4 -1
  741. package/control/Z/definition.d.ts +23 -18
  742. package/control/Z/instances.d.ts +4 -3
  743. package/data/Branded/definition.d.ts +36 -0
  744. package/data/Branded/derivations.d.ts +24 -0
  745. package/data/Branded.d.ts +2 -0
  746. package/data/Cause/api.d.ts +7 -1
  747. package/data/Const/api.d.ts +1 -1
  748. package/data/Const/definition.d.ts +23 -7
  749. package/data/Const/instances.d.ts +4 -12
  750. package/data/DecodeError/definition.d.ts +141 -0
  751. package/data/DecodeError.d.ts +1 -0
  752. package/data/Decoder/api.d.ts +65 -0
  753. package/data/Decoder/definition.d.ts +24 -0
  754. package/data/Decoder.d.ts +2 -0
  755. package/data/Duration/api.d.ts +12 -8
  756. package/data/Either/api.d.ts +29 -17
  757. package/data/Either/definition.d.ts +31 -14
  758. package/data/Either/instances.d.ts +26 -11
  759. package/data/Environment/api.d.ts +5 -0
  760. package/data/Identity/api.d.ts +11 -0
  761. package/data/Identity/definition.d.ts +7 -2
  762. package/data/Identity/instances.d.ts +5 -9
  763. package/data/Interval.d.ts +71 -0
  764. package/data/Maybe/api.d.ts +3 -17
  765. package/data/Maybe/definition.d.ts +20 -14
  766. package/data/Maybe/instances.d.ts +14 -8
  767. package/data/Newtype.d.ts +8 -9
  768. package/data/Refinement/api.d.ts +2 -0
  769. package/data/Struct/definition.d.ts +1 -1
  770. package/data/These/api.d.ts +73 -0
  771. package/data/These/constructors.d.ts +7 -1
  772. package/data/These/definition.d.ts +5 -0
  773. package/data/These/destructors.d.ts +27 -1
  774. package/data/These/instances.d.ts +13 -0
  775. package/data/These.d.ts +1 -0
  776. package/data/bigint/definition.d.ts +13 -0
  777. package/data/bigint/instances.d.ts +7 -0
  778. package/data/bigint.d.ts +2 -0
  779. package/data/boolean/definition.d.ts +13 -0
  780. package/data/boolean/instances.d.ts +7 -0
  781. package/data/boolean.d.ts +2 -0
  782. package/data/number/instances.d.ts +8 -0
  783. package/data/object/instances.d.ts +7 -0
  784. package/data/string/instances.d.ts +10 -0
  785. package/internal/Stack.d.ts +1 -0
  786. package/json/EitherJson.d.ts +24 -0
  787. package/json/MaybeJson.d.ts +23 -0
  788. package/json/TheseJson.d.ts +26 -0
  789. package/optics/Traversal/api/fromTraversable.d.ts +1 -1
  790. package/optics/Traversal/definition.d.ts +4 -9
  791. package/package.json +4 -4
  792. package/typeclass/Align.d.ts +3 -10
  793. package/typeclass/Alt.d.ts +6 -19
  794. package/typeclass/Alternative.d.ts +4 -12
  795. package/typeclass/Applicative.d.ts +3 -12
  796. package/typeclass/ApplicativeExcept.d.ts +14 -39
  797. package/typeclass/Apply.d.ts +41 -72
  798. package/typeclass/Chain.d.ts +18 -28
  799. package/typeclass/Closure.d.ts +2 -12
  800. package/typeclass/Eq/definition.d.ts +17 -0
  801. package/typeclass/Eq/derivations.d.ts +24 -0
  802. package/typeclass/Eq.d.ts +2 -27
  803. package/typeclass/Fail.d.ts +4 -10
  804. package/typeclass/Filterable.d.ts +30 -51
  805. package/typeclass/FilterableWithIndex.d.ts +10 -53
  806. package/typeclass/Foldable.d.ts +19 -31
  807. package/typeclass/FoldableWithIndex.d.ts +20 -33
  808. package/typeclass/Functor.d.ts +11 -22
  809. package/typeclass/FunctorWithIndex.d.ts +3 -19
  810. package/typeclass/Guard/api.d.ts +20 -0
  811. package/typeclass/Guard/definition.d.ts +22 -0
  812. package/typeclass/Guard/derivations.d.ts +36 -0
  813. package/typeclass/Guard.d.ts +2 -0
  814. package/typeclass/HashEq.d.ts +1 -2
  815. package/typeclass/Monad.d.ts +3 -11
  816. package/typeclass/MonadExcept.d.ts +6 -17
  817. package/typeclass/Monoid.d.ts +24 -2
  818. package/typeclass/Nil.d.ts +7 -8
  819. package/typeclass/Ord/definition.d.ts +2 -14
  820. package/typeclass/Pointed.d.ts +4 -10
  821. package/typeclass/Semialign.d.ts +51 -63
  822. package/typeclass/Semigroup/definition.d.ts +3 -5
  823. package/typeclass/Semigroup/derivations.d.ts +25 -0
  824. package/typeclass/Semimonoidal.d.ts +5 -14
  825. package/typeclass/Traversable.d.ts +17 -57
  826. package/typeclass/TraversableWithIndex.d.ts +9 -52
  827. package/typeclass/Witherable.d.ts +22 -82
  828. package/typeclass/WitherableWithIndex.d.ts +26 -98
  829. package/typeclass.d.ts +1 -0
  830. package/util/predicates.d.ts +1 -0
@@ -1,14 +1,11 @@
1
1
  import { HKT } from "@fncts/typelevel/HKT";
2
2
  import { Either } from "@fncts/base/data/Either/definition";
3
- import type { ApplicativeExceptMin } from "@fncts/base/typeclass/ApplicativeExcept";
4
- import type { MonadMin } from "@fncts/base/typeclass/Monad";
5
- import { ApplicativeExcept } from "@fncts/base/typeclass/ApplicativeExcept";
6
- import { Monad } from "@fncts/base/typeclass/Monad";
3
+ import type { ApplicativeExcept } from "@fncts/base/typeclass/ApplicativeExcept";
4
+ import type { Monad } from "@fncts/base/typeclass/Monad";
7
5
  /**
8
6
  * @tsplus type fncts.MonadExcept
9
7
  */
10
- export interface MonadExcept<F extends HKT.CovariantE, FC = HKT.None> extends Monad<F, FC>, ApplicativeExcept<F, FC> {
11
- readonly absolve: absolve<F, FC>;
8
+ export interface MonadExcept<F> extends Monad<F>, ApplicativeExcept<F> {
12
9
  }
13
10
  /**
14
11
  * @tsplus type fncts.MonadExceptOps
@@ -16,17 +13,9 @@ export interface MonadExcept<F extends HKT.CovariantE, FC = HKT.None> extends Mo
16
13
  export interface MonadExceptOps {
17
14
  }
18
15
  export declare const MonadExcept: MonadExceptOps;
19
- export declare type MonadExceptMin<F extends HKT.CovariantE, FC = HKT.None> = MonadMin<F, FC> & ApplicativeExceptMin<F, FC>;
20
16
  /**
21
- * @tsplus static fncts.MonadExceptOps __call
17
+ * @tsplus fluent fncts.Kind absolve
22
18
  * @tsplus location "@fncts/base/typeclass/MonadExcept"
23
19
  */
24
- export declare function mkMonadExcept<F extends HKT.CovariantE, FC = HKT.None>(F: MonadExceptMin<F, FC>): MonadExcept<F, FC>;
25
- export interface absolve<F extends HKT, FC = HKT.None> {
26
- <K, Q, W, X, I, S, R, E, E1, A>(fa: HKT.Kind<F, FC, K, Q, W, X, I, S, R, E, Either<HKT.OrFix<FC, "E", E1>, A>>): HKT.Kind<F, FC, K, Q, W, X, I, S, R, HKT.Mix<F, "E", [E, E1]>, A>;
27
- }
28
- /**
29
- * @tsplus static fncts.MonadExceptOps absolveF
30
- * @tsplus location "@fncts/base/typeclass/MonadExcept"
31
- */
32
- export declare function absolveF<F extends HKT.CovariantE, FC = HKT.None>(F: MonadExceptMin<F, FC>): absolve<F, FC>;
20
+ export declare function absolve<F extends HKT, K, Q, W, X, I, S, R, E, E1, A>(fa: HKT.Kind<F, K, Q, W, X, I, S, R, E, Either<E1, A>>,
21
+ /** @tsplus auto */ F: MonadExcept<F>): HKT.Kind<F, K, Q, W, X, I, S, R, HKT.Mix<"E", [E, E1]>, A>;
@@ -1,4 +1,5 @@
1
- import type { SemigroupMin } from "@fncts/base/typeclass/Semigroup";
1
+ import type { Check } from "@fncts/typelevel/Check";
2
+ import type { OptionalKeys, RequiredKeys } from "@fncts/typelevel/Object";
2
3
  import { Semigroup } from "@fncts/base/typeclass/Semigroup";
3
4
  /**
4
5
  * @tsplus type fncts.Monoid
@@ -12,7 +13,7 @@ export interface Monoid<A> extends Semigroup<A> {
12
13
  export interface MonoidOps {
13
14
  }
14
15
  export declare const Monoid: MonoidOps;
15
- export declare type MonoidMin<A> = SemigroupMin<A> & {
16
+ export declare type MonoidMin<A> = Semigroup<A> & {
16
17
  readonly nat: A;
17
18
  };
18
19
  /**
@@ -20,3 +21,24 @@ export declare type MonoidMin<A> = SemigroupMin<A> & {
20
21
  * @tsplus location "@fncts/base/typeclass/Monoid"
21
22
  */
22
23
  export declare function mkMonoid<A>(F: MonoidMin<A>): Monoid<A>;
24
+ /**
25
+ * @tsplus derive fncts.Monoid lazy
26
+ * @tsplus location "@fncts/base/typeclass/Monoid"
27
+ */
28
+ export declare function deriveLazy<A>(fn: (_: Monoid<A>) => Monoid<A>): Monoid<A>;
29
+ /**
30
+ * @tsplus derive fncts.Monoid<_> 20
31
+ * @tsplus location "@fncts/base/typeclass/Monoid"
32
+ */
33
+ export declare function deriveStruct<A extends Record<string, any>>(...args: Check<Check.IsStruct<A>> extends Check.True ? [
34
+ ...[
35
+ requiredFields: {
36
+ [K in RequiredKeys<A>]: Monoid<A[K]>;
37
+ }
38
+ ],
39
+ ...([OptionalKeys<A>] extends [never] ? [] : [
40
+ optionalFields: {
41
+ [K in OptionalKeys<A>]: Monoid<NonNullable<A[K]>>;
42
+ }
43
+ ])
44
+ ] : never): Monoid<A>;
@@ -2,12 +2,11 @@ import { HKT } from "@fncts/typelevel/HKT";
2
2
  /**
3
3
  * @tsplus type fncts.Nil
4
4
  */
5
- export interface Nil<F extends HKT, FC = HKT.None> extends HKT.Typeclass<F, FC> {
6
- readonly nil: nil<F, FC>;
7
- }
8
- export declare type NilMin<F extends HKT, FC = HKT.None> = {
9
- readonly nil: nil<F, FC>;
10
- };
11
- export interface nil<F extends HKT, FC = HKT.None> {
12
- <K = HKT.Low<F, "K">, Q = HKT.Low<F, "Q">, W = HKT.Low<F, "W">, X = HKT.Low<F, "X">, I = HKT.Low<F, "I">, S = HKT.Low<F, "S">, R = HKT.Low<F, "R">, E = HKT.Low<F, "E">>(): HKT.Kind<F, FC, K, Q, W, X, I, S, R, E, never>;
5
+ export interface Nil<F extends HKT> extends HKT.Typeclass<F> {
6
+ nil<K = HKT.Low<"K">, Q = HKT.Low<"Q">, W = HKT.Low<"W">, X = HKT.Low<"X">, I = HKT.Low<"I">, S = HKT.Low<"S">, R = HKT.Low<"R">, E = HKT.Low<"E">>(): HKT.Kind<F, K, Q, W, X, I, S, R, E, never>;
13
7
  }
8
+ /**
9
+ * @tsplus fluent fncts.Kind nil
10
+ * @tsplus location "@fncts/base/typeclass/Nil"
11
+ */
12
+ export declare function nil<F extends HKT, K = HKT.Low<"K">, Q = HKT.Low<"Q">, W = HKT.Low<"W">, X = HKT.Low<"X">, I = HKT.Low<"I">, S = HKT.Low<"S">, R = HKT.Low<"R">, E = HKT.Low<"E">>(/** @tsplus auto */ F: Nil<F>): HKT.Kind<F, K, Q, W, X, I, S, R, E, never>;
@@ -1,12 +1,10 @@
1
- import type { equals_ } from "@fncts/base/typeclass/Eq";
2
1
  import type { Ordering } from "@fncts/base/typeclass/Ordering";
3
2
  import { Eq } from "@fncts/base/typeclass/Eq";
4
3
  /**
5
4
  * @tsplus type fncts.Ord
6
5
  */
7
6
  export interface Ord<A> extends Eq<A> {
8
- readonly compare_: compare_<A>;
9
- readonly compare: compare<A>;
7
+ readonly compare: (x: A, y: A) => Ordering;
10
8
  }
11
9
  /**
12
10
  * @tsplus type fncts.OrdOps
@@ -14,18 +12,8 @@ export interface Ord<A> extends Eq<A> {
14
12
  export interface OrdOps {
15
13
  }
16
14
  export declare const Ord: OrdOps;
17
- export declare type OrdMin<A> = {
18
- compare_: compare_<A>;
19
- equals_: equals_<A>;
20
- };
21
15
  /**
22
16
  * @tsplus static fncts.OrdOps __call
23
17
  * @tsplus location "@fncts/base/typeclass/Ord/definition"
24
18
  */
25
- export declare function mkOrd<A>(O: OrdMin<A>): Ord<A>;
26
- export interface compare_<A> {
27
- (x: A, y: A): Ordering;
28
- }
29
- export interface compare<A> {
30
- (y: A): (x: A) => Ordering;
31
- }
19
+ export declare function mkOrd<A>(O: Ord<A>): Ord<A>;
@@ -1,10 +1,7 @@
1
1
  import { HKT } from "@fncts/typelevel/HKT";
2
- export interface Pointed<F extends HKT, FC = HKT.None> extends HKT.Typeclass<F, FC> {
3
- readonly pure: pure<F, FC>;
2
+ export interface Pointed<F extends HKT> extends HKT.Typeclass<F> {
3
+ pure<A, K = HKT.Low<"K">, Q = HKT.Low<"Q">, W = HKT.Low<"W">, X = HKT.Low<"X">, I = HKT.Low<"I">, S = HKT.Low<"S">, R = HKT.Low<"R">, E = HKT.Low<"E">>(a: A): HKT.Kind<F, K, Q, W, X, I, S, R, E, A>;
4
4
  }
5
- export declare type PointedMin<F extends HKT, FC = HKT.None> = {
6
- readonly pure: pure<F, FC>;
7
- };
8
5
  /**
9
6
  * @tsplus type fncts.PointedOps
10
7
  */
@@ -12,10 +9,7 @@ export interface PointedOps {
12
9
  }
13
10
  export declare const Pointed: PointedOps;
14
11
  /**
15
- * @tsplus static fncts.PointedOps __call
12
+ * @tsplus static fncts.PointedOps pure
16
13
  * @tsplus location "@fncts/base/typeclass/Pointed"
17
14
  */
18
- export declare function mkPointed<F extends HKT, FC = HKT.None>(F: PointedMin<F, FC>): Pointed<F, FC>;
19
- export interface pure<F extends HKT, C = HKT.None> {
20
- <A, K = HKT.Low<F, "K">, Q = HKT.Low<F, "Q">, W = HKT.Low<F, "W">, X = HKT.Low<F, "X">, I = HKT.Low<F, "I">, S = HKT.Low<F, "S">, R = HKT.Low<F, "R">, E = HKT.Low<F, "E">>(a: A): HKT.Kind<F, C, K, Q, W, X, I, S, R, E, A>;
21
- }
15
+ export declare function pure<F extends HKT, C, A, K = HKT.Low<"K">, Q = HKT.Low<"Q">, W = HKT.Low<"W">, X = HKT.Low<"X">, I = HKT.Low<"I">, S = HKT.Low<"S">, R = HKT.Low<"R">, E = HKT.Low<"E">>(a: A, /** @tsplus auto */ F: Pointed<F>): HKT.Kind<F, K, Q, W, X, I, S, R, E, A>;
@@ -1,25 +1,13 @@
1
1
  import { HKT } from "@fncts/typelevel/HKT";
2
- import { These } from "@fncts/base/data/These/definition";
2
+ import { These } from "@fncts/base/data/These";
3
3
  import { Maybe } from "@fncts/base/data/Maybe/definition";
4
- import type { FunctorMin } from "@fncts/base/typeclass/Functor";
4
+ import type { Functor } from "@fncts/base/typeclass/Functor";
5
5
  import type { Semigroup } from "@fncts/base/typeclass/Semigroup";
6
- import { Functor } from "@fncts/base/typeclass/Functor";
7
6
  /**
8
7
  * @tsplus type fncts.Semialign
9
8
  */
10
- export interface Semialign<F extends HKT, C = HKT.None> extends Functor<F, C> {
11
- readonly alignWith_: alignWith_<F, C>;
12
- readonly alignWith: alignWith<F, C>;
13
- readonly align_: align_<F, C>;
14
- readonly align: align<F, C>;
15
- readonly alignCombine_: alignCombine_<F, C>;
16
- readonly alignCombine: alignCombine<F, C>;
17
- readonly padZip_: padZip_<F, C>;
18
- readonly padZip: padZip<F, C>;
19
- readonly padZipWith_: padZipWith_<F, C>;
20
- readonly padZipWith: padZipWith<F, C>;
21
- readonly zipAll_: zipAll_<F, C>;
22
- readonly zipAll: zipAll<F, C>;
9
+ export interface Semialign<F extends HKT> extends Functor<F> {
10
+ readonly alignWith: alignWith<F>;
23
11
  }
24
12
  /**
25
13
  * @tsplus type fncts.SemialignOps
@@ -27,58 +15,58 @@ export interface Semialign<F extends HKT, C = HKT.None> extends Functor<F, C> {
27
15
  export interface SemialignOps {
28
16
  }
29
17
  export declare const Semialign: SemialignOps;
30
- export declare type SemialignMin<F extends HKT, C = HKT.None> = ({
31
- readonly alignWith_: alignWith_<F, C>;
32
- } | {
33
- readonly align_: align_<F, C>;
34
- }) & FunctorMin<F, C>;
18
+ export interface align<F extends HKT> {
19
+ <K, Q, W, X, I, S, R, E, A, K1, Q1, W1, X1, I1, S1, R1, E1, B>(fa: HKT.Kind<F, K, Q, W, X, I, S, R, E, A>, fb: HKT.Kind<F, HKT.Intro<"K", K, K1>, HKT.Intro<"Q", Q, Q1>, HKT.Intro<"W", W, W1>, HKT.Intro<"X", X, X1>, HKT.Intro<"I", I, I1>, HKT.Intro<"S", S, S1>, HKT.Intro<"R", R, R1>, HKT.Intro<"E", E, E1>, B>): HKT.Kind<F, HKT.Mix<"K", [K, K1]>, HKT.Mix<"Q", [Q, Q1]>, HKT.Mix<"W", [W, W1]>, HKT.Mix<"X", [X, X1]>, HKT.Mix<"I", [I, I1]>, HKT.Mix<"S", [S, S1]>, HKT.Mix<"R", [R, R1]>, HKT.Mix<"E", [E, E1]>, These<A, B>>;
20
+ }
35
21
  /**
36
- * @tsplus static fncts.SemialignOps __call
22
+ * @tsplus fluent fncts.Kind align
37
23
  * @tsplus location "@fncts/base/typeclass/Semialign"
38
24
  */
39
- export declare function mkSemialign<F extends HKT, C = HKT.None>(F: SemialignMin<F, C>): Semialign<F, C>;
40
- export interface align_<F extends HKT, C = HKT.None> {
41
- <K, Q, W, X, I, S, R, E, A, K1, Q1, W1, X1, I1, S1, R1, E1, B>(fa: HKT.Kind<F, C, K, Q, W, X, I, S, R, E, A>, fb: HKT.Kind<F, C, HKT.Intro<F, "K", K, K1>, HKT.Intro<F, "Q", Q, Q1>, HKT.Intro<F, "W", W, W1>, HKT.Intro<F, "X", X, X1>, HKT.Intro<F, "I", I, I1>, HKT.Intro<F, "S", S, S1>, HKT.Intro<F, "R", R, R1>, HKT.Intro<F, "E", E, E1>, B>): HKT.Kind<F, C, HKT.Mix<F, "K", [K, K1]>, HKT.Mix<F, "Q", [Q, Q1]>, HKT.Mix<F, "W", [W, W1]>, HKT.Mix<F, "X", [X, X1]>, HKT.Mix<F, "I", [I, I1]>, HKT.Mix<F, "S", [S, S1]>, HKT.Mix<F, "R", [R, R1]>, HKT.Mix<F, "E", [E, E1]>, These<A, B>>;
42
- }
43
- export interface align<F extends HKT, C = HKT.None> {
44
- <K1, Q1, W1, X1, I1, S1, R1, E1, B>(fb: HKT.Kind<F, C, K1, Q1, W1, X1, I1, S1, R1, E1, B>): <K, Q, W, X, I, S, R, E, A>(fa: HKT.Kind<F, C, HKT.Intro<F, "K", K1, K>, HKT.Intro<F, "Q", Q1, Q>, HKT.Intro<F, "W", W1, W>, HKT.Intro<F, "X", X1, X>, HKT.Intro<F, "I", I1, I>, HKT.Intro<F, "S", S1, S>, HKT.Intro<F, "R", R1, R>, HKT.Intro<F, "E", E1, E>, A>) => HKT.Kind<F, C, HKT.Mix<F, "K", [K1, K]>, HKT.Mix<F, "Q", [Q1, Q]>, HKT.Mix<F, "W", [W1, W]>, HKT.Mix<F, "X", [X1, X]>, HKT.Mix<F, "I", [I1, I]>, HKT.Mix<F, "S", [S1, S]>, HKT.Mix<F, "R", [R1, R]>, HKT.Mix<F, "E", [E1, E]>, These<A, B>>;
45
- }
46
- export interface alignWith_<F extends HKT, TC = HKT.None> {
47
- <K, Q, W, X, I, S, R, E, A, K1, Q1, W1, X1, I1, S1, R1, E1, B, C>(fa: HKT.Kind<F, TC, K, Q, W, X, I, S, R, E, A>, fb: HKT.Kind<F, TC, HKT.Intro<F, "K", K, K1>, HKT.Intro<F, "Q", Q, Q1>, HKT.Intro<F, "W", W, W1>, HKT.Intro<F, "X", X, X1>, HKT.Intro<F, "I", I, I1>, HKT.Intro<F, "S", S, S1>, HKT.Intro<F, "R", R, R1>, HKT.Intro<F, "E", E, E1>, B>, f: (th: These<A, B>) => C): HKT.Kind<F, TC, HKT.Mix<F, "K", [K, K1]>, HKT.Mix<F, "Q", [Q, Q1]>, HKT.Mix<F, "W", [W, W1]>, HKT.Mix<F, "X", [X, X1]>, HKT.Mix<F, "I", [I, I1]>, HKT.Mix<F, "S", [S, S1]>, HKT.Mix<F, "R", [R, R1]>, HKT.Mix<F, "E", [E, E1]>, C>;
48
- }
49
- export interface alignWith<F extends HKT, TC = HKT.None> {
50
- <A, K1, Q1, W1, X1, I1, S1, R1, E1, B, C>(fb: HKT.Kind<F, TC, K1, Q1, W1, X1, I1, S1, R1, E1, B>, f: (th: These<A, B>) => C): <K, Q, W, X, I, S, R, E>(fa: HKT.Kind<F, TC, HKT.Intro<F, "K", K1, K>, HKT.Intro<F, "Q", Q1, Q>, HKT.Intro<F, "W", W1, W>, HKT.Intro<F, "X", X1, X>, HKT.Intro<F, "I", I1, I>, HKT.Intro<F, "S", S1, S>, HKT.Intro<F, "R", R1, R>, HKT.Intro<F, "E", E1, E>, A>) => HKT.Kind<F, TC, HKT.Mix<F, "K", [K1, K]>, HKT.Mix<F, "Q", [Q1, Q]>, HKT.Mix<F, "W", [W1, W]>, HKT.Mix<F, "X", [X1, X]>, HKT.Mix<F, "I", [I1, I]>, HKT.Mix<F, "S", [S1, S]>, HKT.Mix<F, "R", [R1, R]>, HKT.Mix<F, "E", [E1, E]>, C>;
51
- }
52
- export declare function alignWithF_<F extends HKT, C = HKT.None>(F: SemialignMin<F, C>): alignWith_<F, C>;
53
- export interface alignCombine_<F extends HKT, C = HKT.None> {
54
- <A>(S: Semigroup<A>): <K, Q, W, X, I, S, R, E, K1, Q1, W1, X1, I1, S1, R1, E1>(fa1: HKT.Kind<F, C, K, Q, W, X, I, S, R, E, A>, fa2: HKT.Kind<F, C, HKT.Intro<F, "K", K, K1>, HKT.Intro<F, "Q", Q, Q1>, HKT.Intro<F, "W", W, W1>, HKT.Intro<F, "X", X, X1>, HKT.Intro<F, "I", I, I1>, HKT.Intro<F, "S", S, S1>, HKT.Intro<F, "R", R, R1>, HKT.Intro<F, "E", E, E1>, A>) => HKT.Kind<F, C, HKT.Mix<F, "K", [K, K1]>, HKT.Mix<F, "Q", [Q, Q1]>, HKT.Mix<F, "W", [W, W1]>, HKT.Mix<F, "X", [X, X1]>, HKT.Mix<F, "I", [I, I1]>, HKT.Mix<F, "S", [S, S1]>, HKT.Mix<F, "R", [R, R1]>, HKT.Mix<F, "E", [E, E1]>, A>;
55
- }
56
- export interface alignCombine<F extends HKT, C = HKT.None> {
57
- <A>(S: Semigroup<A>): <K1, Q1, W1, X1, I1, S1, R1, E1>(fb: HKT.Kind<F, C, K1, Q1, W1, X1, I1, S1, R1, E1, A>) => <K, Q, W, X, I, S, R, E>(fa: HKT.Kind<F, C, HKT.Intro<F, "K", K1, K>, HKT.Intro<F, "Q", Q1, Q>, HKT.Intro<F, "W", W1, W>, HKT.Intro<F, "X", X1, X>, HKT.Intro<F, "I", I1, I>, HKT.Intro<F, "S", S1, S>, HKT.Intro<F, "R", R1, R>, HKT.Intro<F, "E", E1, E>, A>) => HKT.Kind<F, C, HKT.Mix<F, "K", [K1, K]>, HKT.Mix<F, "Q", [Q1, Q]>, HKT.Mix<F, "W", [W1, W]>, HKT.Mix<F, "X", [X1, X]>, HKT.Mix<F, "I", [I1, I]>, HKT.Mix<F, "S", [S1, S]>, HKT.Mix<F, "R", [R1, R]>, HKT.Mix<F, "E", [E1, E]>, A>;
25
+ export declare function align<F extends HKT, K, Q, W, X, I, S, R, E, A, K1, Q1, W1, X1, I1, S1, R1, E1, B>(fa: HKT.Kind<F, K, Q, W, X, I, S, R, E, A>, fb: HKT.Kind<F, HKT.Intro<"K", K, K1>, HKT.Intro<"Q", Q, Q1>, HKT.Intro<"W", W, W1>, HKT.Intro<"X", X, X1>, HKT.Intro<"I", I, I1>, HKT.Intro<"S", S, S1>, HKT.Intro<"R", R, R1>, HKT.Intro<"E", E, E1>, B>,
26
+ /** @tsplus auto */ F: Semialign<F>): HKT.Kind<F, HKT.Mix<"K", [K, K1]>, HKT.Mix<"Q", [Q, Q1]>, HKT.Mix<"W", [W, W1]>, HKT.Mix<"X", [X, X1]>, HKT.Mix<"I", [I, I1]>, HKT.Mix<"S", [S, S1]>, HKT.Mix<"R", [R, R1]>, HKT.Mix<"E", [E, E1]>, These<A, B>>;
27
+ export interface alignWith<F extends HKT> {
28
+ <K, Q, W, X, I, S, R, E, A, K1, Q1, W1, X1, I1, S1, R1, E1, B, C>(fa: HKT.Kind<F, K, Q, W, X, I, S, R, E, A>, fb: HKT.Kind<F, HKT.Intro<"K", K, K1>, HKT.Intro<"Q", Q, Q1>, HKT.Intro<"W", W, W1>, HKT.Intro<"X", X, X1>, HKT.Intro<"I", I, I1>, HKT.Intro<"S", S, S1>, HKT.Intro<"R", R, R1>, HKT.Intro<"E", E, E1>, B>, f: (th: These<A, B>) => C): HKT.Kind<F, HKT.Mix<"K", [K, K1]>, HKT.Mix<"Q", [Q, Q1]>, HKT.Mix<"W", [W, W1]>, HKT.Mix<"X", [X, X1]>, HKT.Mix<"I", [I, I1]>, HKT.Mix<"S", [S, S1]>, HKT.Mix<"R", [R, R1]>, HKT.Mix<"E", [E, E1]>, C>;
58
29
  }
59
- export declare function alignCombineF_<F extends HKT, C = HKT.None>(F: SemialignMin<F, C>): alignCombine_<F, C>;
60
- export declare function alignCombineF<F extends HKT, C = HKT.None>(F: SemialignMin<F, C>): alignCombine<F, C>;
61
- export interface padZip_<F extends HKT, C = HKT.None> {
62
- <K, Q, W, X, I, S, R, E, A, K1, Q1, W1, X1, I1, S1, R1, E1, B>(fa: HKT.Kind<F, C, K, Q, W, X, I, S, R, E, A>, fb: HKT.Kind<F, C, HKT.Intro<F, "K", K, K1>, HKT.Intro<F, "Q", Q, Q1>, HKT.Intro<F, "W", W, W1>, HKT.Intro<F, "X", X, X1>, HKT.Intro<F, "I", I, I1>, HKT.Intro<F, "S", S, S1>, HKT.Intro<F, "R", R, R1>, HKT.Intro<F, "E", E, E1>, B>): HKT.Kind<F, C, HKT.Mix<F, "K", [K, K1]>, HKT.Mix<F, "Q", [Q, Q1]>, HKT.Mix<F, "W", [W, W1]>, HKT.Mix<F, "X", [X, X1]>, HKT.Mix<F, "I", [I, I1]>, HKT.Mix<F, "S", [S, S1]>, HKT.Mix<F, "R", [R, R1]>, HKT.Mix<F, "E", [E, E1]>, readonly [Maybe<A>, Maybe<B>]>;
63
- }
64
- export interface padZip<F extends HKT, C = HKT.None> {
65
- <K1, Q1, W1, X1, I1, S1, R1, E1, B>(fb: HKT.Kind<F, C, K1, Q1, W1, X1, I1, S1, R1, E1, B>): <K, Q, W, X, I, S, R, E, A>(fa: HKT.Kind<F, C, HKT.Intro<F, "K", K1, K>, HKT.Intro<F, "Q", Q1, Q>, HKT.Intro<F, "W", W1, W>, HKT.Intro<F, "X", X1, X>, HKT.Intro<F, "I", I1, I>, HKT.Intro<F, "S", S1, S>, HKT.Intro<F, "R", R1, R>, HKT.Intro<F, "E", E1, E>, A>) => HKT.Kind<F, C, HKT.Mix<F, "K", [K1, K]>, HKT.Mix<F, "Q", [Q1, Q]>, HKT.Mix<F, "W", [W1, W]>, HKT.Mix<F, "X", [X1, X]>, HKT.Mix<F, "I", [I1, I]>, HKT.Mix<F, "S", [S1, S]>, HKT.Mix<F, "R", [R1, R]>, HKT.Mix<F, "E", [E1, E]>, readonly [Maybe<A>, Maybe<B>]>;
66
- }
67
- export declare function padZipF_<F extends HKT, C = HKT.None>(F: SemialignMin<F, C>): padZip_<F, C>;
68
- export declare function padZipF<F extends HKT, C = HKT.None>(F: SemialignMin<F, C>): padZip<F, C>;
69
- export interface padZipWith_<F extends HKT, C = HKT.None> {
70
- <K, Q, W, X, I, S, R, E, A, K1, Q1, W1, X1, I1, S1, R1, E1, B, D>(fa: HKT.Kind<F, C, K, Q, W, X, I, S, R, E, A>, fb: HKT.Kind<F, C, HKT.Intro<F, "K", K, K1>, HKT.Intro<F, "Q", Q, Q1>, HKT.Intro<F, "W", W, W1>, HKT.Intro<F, "X", X, X1>, HKT.Intro<F, "I", I, I1>, HKT.Intro<F, "S", S, S1>, HKT.Intro<F, "R", R, R1>, HKT.Intro<F, "E", E, E1>, B>, f: (_: readonly [Maybe<A>, Maybe<B>]) => D): HKT.Kind<F, C, HKT.Mix<F, "K", [K, K1]>, HKT.Mix<F, "Q", [Q, Q1]>, HKT.Mix<F, "W", [W, W1]>, HKT.Mix<F, "X", [X, X1]>, HKT.Mix<F, "I", [I, I1]>, HKT.Mix<F, "S", [S, S1]>, HKT.Mix<F, "R", [R, R1]>, HKT.Mix<F, "E", [E, E1]>, D>;
30
+ /**
31
+ * @tsplus fluent fncts.Kind alignWith
32
+ * @tsplus location "@fncts/base/typeclass/Semialign"
33
+ */
34
+ export declare function alignWith<F extends HKT, K, Q, W, X, I, S, R, E, A, K1, Q1, W1, X1, I1, S1, R1, E1, B, C>(fa: HKT.Kind<F, K, Q, W, X, I, S, R, E, A>, fb: HKT.Kind<F, HKT.Intro<"K", K, K1>, HKT.Intro<"Q", Q, Q1>, HKT.Intro<"W", W, W1>, HKT.Intro<"X", X, X1>, HKT.Intro<"I", I, I1>, HKT.Intro<"S", S, S1>, HKT.Intro<"R", R, R1>, HKT.Intro<"E", E, E1>, B>, f: (th: These<A, B>) => C,
35
+ /** @tsplus auto */ F: Semialign<F>): HKT.Kind<F, HKT.Mix<"K", [K, K1]>, HKT.Mix<"Q", [Q, Q1]>, HKT.Mix<"W", [W, W1]>, HKT.Mix<"X", [X, X1]>, HKT.Mix<"I", [I, I1]>, HKT.Mix<"S", [S, S1]>, HKT.Mix<"R", [R, R1]>, HKT.Mix<"E", [E, E1]>, C>;
36
+ export interface alignCombine<F extends HKT> {
37
+ <K, Q, W, X, I, S, R, E, A, K1, Q1, W1, X1, I1, S1, R1, E1>(self: HKT.Kind<F, K, Q, W, X, I, S, R, E, A>, that: HKT.Kind<F, HKT.Intro<"K", K, K1>, HKT.Intro<"Q", Q, Q1>, HKT.Intro<"W", W, W1>, HKT.Intro<"X", X, X1>, HKT.Intro<"I", I, I1>, HKT.Intro<"S", S, S1>, HKT.Intro<"R", R, R1>, HKT.Intro<"E", E, E1>, A>, S: Semigroup<A>): HKT.Kind<F, HKT.Mix<"K", [K, K1]>, HKT.Mix<"Q", [Q, Q1]>, HKT.Mix<"W", [W, W1]>, HKT.Mix<"X", [X, X1]>, HKT.Mix<"I", [I, I1]>, HKT.Mix<"S", [S, S1]>, HKT.Mix<"R", [R, R1]>, HKT.Mix<"E", [E, E1]>, A>;
71
38
  }
72
- export interface padZipWith<F extends HKT, C = HKT.None> {
73
- <A, K1, Q1, W1, X1, I1, S1, R1, E1, B, D>(fb: HKT.Kind<F, C, K1, Q1, W1, X1, I1, S1, R1, E1, B>, f: (_: readonly [Maybe<A>, Maybe<B>]) => D): <K, Q, W, X, I, S, R, E>(fa: HKT.Kind<F, C, HKT.Intro<F, "K", K1, K>, HKT.Intro<F, "Q", Q1, Q>, HKT.Intro<F, "W", W1, W>, HKT.Intro<F, "X", X1, X>, HKT.Intro<F, "I", I1, I>, HKT.Intro<F, "S", S1, S>, HKT.Intro<F, "R", R1, R>, HKT.Intro<F, "E", E1, E>, A>) => HKT.Kind<F, C, HKT.Mix<F, "K", [K1, K]>, HKT.Mix<F, "Q", [Q1, Q]>, HKT.Mix<F, "W", [W1, W]>, HKT.Mix<F, "X", [X1, X]>, HKT.Mix<F, "I", [I1, I]>, HKT.Mix<F, "S", [S1, S]>, HKT.Mix<F, "R", [R1, R]>, HKT.Mix<F, "E", [E1, E]>, D>;
39
+ /**
40
+ * @tsplus fluent fncts.Kind alignCombine
41
+ * @tsplus location "@fncts/base/typeclass/Semialign"
42
+ */
43
+ export declare function alignCombine<F extends HKT, K, Q, W, X, I, S, R, E, A, K1, Q1, W1, X1, I1, S1, R1, E1>(self: HKT.Kind<F, K, Q, W, X, I, S, R, E, A>, that: HKT.Kind<F, HKT.Intro<"K", K, K1>, HKT.Intro<"Q", Q, Q1>, HKT.Intro<"W", W, W1>, HKT.Intro<"X", X, X1>, HKT.Intro<"I", I, I1>, HKT.Intro<"S", S, S1>, HKT.Intro<"R", R, R1>, HKT.Intro<"E", E, E1>, A>,
44
+ /** @tsplus auto */ F: Semialign<F>,
45
+ /** @tsplus auto */ S: Semigroup<A>): HKT.Kind<F, HKT.Mix<"K", [K, K1]>, HKT.Mix<"Q", [Q, Q1]>, HKT.Mix<"W", [W, W1]>, HKT.Mix<"X", [X, X1]>, HKT.Mix<"I", [I, I1]>, HKT.Mix<"S", [S, S1]>, HKT.Mix<"R", [R, R1]>, HKT.Mix<"E", [E, E1]>, A>;
46
+ export interface padZip<F extends HKT> {
47
+ <K, Q, W, X, I, S, R, E, A, K1, Q1, W1, X1, I1, S1, R1, E1, B>(fa: HKT.Kind<F, K, Q, W, X, I, S, R, E, A>, fb: HKT.Kind<F, HKT.Intro<"K", K, K1>, HKT.Intro<"Q", Q, Q1>, HKT.Intro<"W", W, W1>, HKT.Intro<"X", X, X1>, HKT.Intro<"I", I, I1>, HKT.Intro<"S", S, S1>, HKT.Intro<"R", R, R1>, HKT.Intro<"E", E, E1>, B>): HKT.Kind<F, HKT.Mix<"K", [K, K1]>, HKT.Mix<"Q", [Q, Q1]>, HKT.Mix<"W", [W, W1]>, HKT.Mix<"X", [X, X1]>, HKT.Mix<"I", [I, I1]>, HKT.Mix<"S", [S, S1]>, HKT.Mix<"R", [R, R1]>, HKT.Mix<"E", [E, E1]>, readonly [Maybe<A>, Maybe<B>]>;
74
48
  }
75
- export declare function padZipWithF_<F extends HKT, C = HKT.None>(F: SemialignMin<F, C>): padZipWith_<F, C>;
76
- export declare function padZipWithF<F extends HKT, C = HKT.None>(F: SemialignMin<F, C>): padZipWith<F, C>;
77
- export interface zipAll_<F extends HKT, C = HKT.None> {
78
- <K, Q, W, X, I, S, R, E, A, K1, Q1, W1, X1, I1, S1, R1, E1, B>(fa: HKT.Kind<F, C, K, Q, W, X, I, S, R, E, A>, fb: HKT.Kind<F, C, HKT.Intro<F, "K", K, K1>, HKT.Intro<F, "Q", Q, Q1>, HKT.Intro<F, "W", W, W1>, HKT.Intro<F, "X", X, X1>, HKT.Intro<F, "I", I, I1>, HKT.Intro<F, "S", S, S1>, HKT.Intro<F, "R", R, R1>, HKT.Intro<F, "E", E, E1>, B>, a: A, b: B): HKT.Kind<F, C, HKT.Mix<F, "K", [K, K1]>, HKT.Mix<F, "Q", [Q, Q1]>, HKT.Mix<F, "W", [W, W1]>, HKT.Mix<F, "X", [X, X1]>, HKT.Mix<F, "I", [I, I1]>, HKT.Mix<F, "S", [S, S1]>, HKT.Mix<F, "R", [R, R1]>, HKT.Mix<F, "E", [E, E1]>, readonly [A, B]>;
49
+ /**
50
+ * @tsplus fluent fncts.Kind padZip
51
+ * @tsplus location "@fncts/base/typeclass/Semialign"
52
+ */
53
+ export declare function padZip<F extends HKT, K, Q, W, X, I, S, R, E, A, K1, Q1, W1, X1, I1, S1, R1, E1, B>(fa: HKT.Kind<F, K, Q, W, X, I, S, R, E, A>, fb: HKT.Kind<F, HKT.Intro<"K", K, K1>, HKT.Intro<"Q", Q, Q1>, HKT.Intro<"W", W, W1>, HKT.Intro<"X", X, X1>, HKT.Intro<"I", I, I1>, HKT.Intro<"S", S, S1>, HKT.Intro<"R", R, R1>, HKT.Intro<"E", E, E1>, B>,
54
+ /** @tsplus auto */ F: Semialign<F>): HKT.Kind<F, HKT.Mix<"K", [K, K1]>, HKT.Mix<"Q", [Q, Q1]>, HKT.Mix<"W", [W, W1]>, HKT.Mix<"X", [X, X1]>, HKT.Mix<"I", [I, I1]>, HKT.Mix<"S", [S, S1]>, HKT.Mix<"R", [R, R1]>, HKT.Mix<"E", [E, E1]>, readonly [Maybe<A>, Maybe<B>]>;
55
+ export interface padZipWith<F extends HKT> {
56
+ <K, Q, W, X, I, S, R, E, A, K1, Q1, W1, X1, I1, S1, R1, E1, B, D>(fa: HKT.Kind<F, K, Q, W, X, I, S, R, E, A>, fb: HKT.Kind<F, HKT.Intro<"K", K, K1>, HKT.Intro<"Q", Q, Q1>, HKT.Intro<"W", W, W1>, HKT.Intro<"X", X, X1>, HKT.Intro<"I", I, I1>, HKT.Intro<"S", S, S1>, HKT.Intro<"R", R, R1>, HKT.Intro<"E", E, E1>, B>, f: (_: readonly [Maybe<A>, Maybe<B>]) => D): HKT.Kind<F, HKT.Mix<"K", [K, K1]>, HKT.Mix<"Q", [Q, Q1]>, HKT.Mix<"W", [W, W1]>, HKT.Mix<"X", [X, X1]>, HKT.Mix<"I", [I, I1]>, HKT.Mix<"S", [S, S1]>, HKT.Mix<"R", [R, R1]>, HKT.Mix<"E", [E, E1]>, D>;
79
57
  }
80
- export interface zipAll<F extends HKT, C = HKT.None> {
81
- <A, K1, Q1, W1, X1, I1, S1, R1, E1, B>(fb: HKT.Kind<F, C, K1, Q1, W1, X1, I1, S1, R1, E1, B>, a: A, b: B): <K, Q, W, X, I, S, R, E>(fa: HKT.Kind<F, C, HKT.Intro<F, "K", K1, K>, HKT.Intro<F, "Q", Q1, Q>, HKT.Intro<F, "W", W1, W>, HKT.Intro<F, "X", X1, X>, HKT.Intro<F, "I", I1, I>, HKT.Intro<F, "S", S1, S>, HKT.Intro<F, "R", R1, R>, HKT.Intro<F, "E", E1, E>, A>) => HKT.Kind<F, C, HKT.Mix<F, "K", [K1, K]>, HKT.Mix<F, "Q", [Q1, Q]>, HKT.Mix<F, "W", [W1, W]>, HKT.Mix<F, "X", [X1, X]>, HKT.Mix<F, "I", [I1, I]>, HKT.Mix<F, "S", [S1, S]>, HKT.Mix<F, "R", [R1, R]>, HKT.Mix<F, "E", [E1, E]>, readonly [A, B]>;
58
+ /**
59
+ * @tsplus fluent fncts.Kind padZipWith
60
+ * @tsplus location "@fncts/base/typeclass/Semialign"
61
+ */
62
+ export declare function padZipWith<F extends HKT, K, Q, W, X, I, S, R, E, A, K1, Q1, W1, X1, I1, S1, R1, E1, B, D>(fa: HKT.Kind<F, K, Q, W, X, I, S, R, E, A>, fb: HKT.Kind<F, HKT.Intro<"K", K, K1>, HKT.Intro<"Q", Q, Q1>, HKT.Intro<"W", W, W1>, HKT.Intro<"X", X, X1>, HKT.Intro<"I", I, I1>, HKT.Intro<"S", S, S1>, HKT.Intro<"R", R, R1>, HKT.Intro<"E", E, E1>, B>, f: (_: readonly [Maybe<A>, Maybe<B>]) => D,
63
+ /** @tsplus auto */ F: Semialign<F>): HKT.Kind<F, HKT.Mix<"K", [K, K1]>, HKT.Mix<"Q", [Q, Q1]>, HKT.Mix<"W", [W, W1]>, HKT.Mix<"X", [X, X1]>, HKT.Mix<"I", [I, I1]>, HKT.Mix<"S", [S, S1]>, HKT.Mix<"R", [R, R1]>, HKT.Mix<"E", [E, E1]>, D>;
64
+ export interface zipAll<F extends HKT> {
65
+ <K, Q, W, X, I, S, R, E, A, K1, Q1, W1, X1, I1, S1, R1, E1, B>(fa: HKT.Kind<F, K, Q, W, X, I, S, R, E, A>, fb: HKT.Kind<F, HKT.Intro<"K", K, K1>, HKT.Intro<"Q", Q, Q1>, HKT.Intro<"W", W, W1>, HKT.Intro<"X", X, X1>, HKT.Intro<"I", I, I1>, HKT.Intro<"S", S, S1>, HKT.Intro<"R", R, R1>, HKT.Intro<"E", E, E1>, B>, a: A, b: B): HKT.Kind<F, HKT.Mix<"K", [K, K1]>, HKT.Mix<"Q", [Q, Q1]>, HKT.Mix<"W", [W, W1]>, HKT.Mix<"X", [X, X1]>, HKT.Mix<"I", [I, I1]>, HKT.Mix<"S", [S, S1]>, HKT.Mix<"R", [R, R1]>, HKT.Mix<"E", [E, E1]>, readonly [A, B]>;
82
66
  }
83
- export declare function zipAllF_<F extends HKT, C = HKT.None>(F: SemialignMin<F, C>): zipAll_<F, C>;
84
- export declare function zipAllF<F extends HKT, C = HKT.None>(F: SemialignMin<F, C>): zipAll<F, C>;
67
+ /**
68
+ * @tsplus fluent fncts.Kind zipAll
69
+ * @tsplus location "@fncts/base/typeclass/Semialign"
70
+ */
71
+ export declare function zipAll<F extends HKT, K, Q, W, X, I, S, R, E, A, K1, Q1, W1, X1, I1, S1, R1, E1, B>(fa: HKT.Kind<F, K, Q, W, X, I, S, R, E, A>, fb: HKT.Kind<F, HKT.Intro<"K", K, K1>, HKT.Intro<"Q", Q, Q1>, HKT.Intro<"W", W, W1>, HKT.Intro<"X", X, X1>, HKT.Intro<"I", I, I1>, HKT.Intro<"S", S, S1>, HKT.Intro<"R", R, R1>, HKT.Intro<"E", E, E1>, B>, a: A, b: B,
72
+ /** @tsplus auto */ F: Semialign<F>): HKT.Kind<F, HKT.Mix<"K", [K, K1]>, HKT.Mix<"Q", [Q, Q1]>, HKT.Mix<"W", [W, W1]>, HKT.Mix<"X", [X, X1]>, HKT.Mix<"I", [I, I1]>, HKT.Mix<"S", [S, S1]>, HKT.Mix<"R", [R, R1]>, HKT.Mix<"E", [E, E1]>, readonly [A, B]>;
@@ -1,4 +1,5 @@
1
- import type { Closure, combine_ } from "@fncts/base/typeclass/Closure";
1
+ import type { Closure } from "@fncts/base/typeclass/Closure";
2
+ import { mkClosure } from "@fncts/base/typeclass/Closure";
2
3
  /**
3
4
  * @tsplus type fncts.Semigroup
4
5
  */
@@ -10,11 +11,8 @@ export interface Semigroup<A> extends Closure<A> {
10
11
  export interface SemigroupOps {
11
12
  }
12
13
  export declare const Semigroup: SemigroupOps;
13
- export declare type SemigroupMin<A> = {
14
- combine_: combine_<A>;
15
- };
16
14
  /**
17
15
  * @tsplus static fncts.SemigroupOps __call
18
16
  * @tsplus location "@fncts/base/typeclass/Semigroup/definition"
19
17
  */
20
- export declare const mkSemigroup: <A>(F: SemigroupMin<A>) => Semigroup<A>;
18
+ export declare const mkSemigroup: typeof mkClosure;
@@ -0,0 +1,25 @@
1
+ import type { Check } from "@fncts/typelevel/Check";
2
+ import type { OptionalKeys, RequiredKeys } from "@fncts/typelevel/Object";
3
+ import { Semigroup } from "@fncts/base/typeclass/Semigroup/definition";
4
+ /**
5
+ * @tsplus derive fncts.Semigroup lazy
6
+ * @tsplus location "@fncts/base/typeclass/Semigroup/derivations"
7
+ */
8
+ export declare function deriveLazy<A>(fn: (_: Semigroup<A>) => Semigroup<A>): Semigroup<A>;
9
+ /**
10
+ * @tsplus derive fncts.Semigroup<_> 20
11
+ * @tsplus static fncts.SemigroupOps deriveStruct
12
+ * @tsplus location "@fncts/base/typeclass/Semigroup/derivations"
13
+ */
14
+ export declare function deriveStruct<A extends Record<string, any>>(...[requiredFields, optionalFields]: Check<Check.IsStruct<A>> extends Check.True ? [
15
+ ...[
16
+ requiredFields: {
17
+ [K in RequiredKeys<A>]: Semigroup<A[K]>;
18
+ }
19
+ ],
20
+ ...([OptionalKeys<A>] extends [never] ? [] : [
21
+ optionalFields: {
22
+ [K in OptionalKeys<A>]: Semigroup<NonNullable<A[K]>>;
23
+ }
24
+ ])
25
+ ] : never): Semigroup<A>;
@@ -1,11 +1,7 @@
1
1
  import { HKT } from "@fncts/typelevel/HKT";
2
- export interface Semimonoidal<F extends HKT, C = HKT.None> extends HKT.Typeclass<F, C> {
3
- readonly zip_: zip_<F, C>;
4
- readonly zip: zip<F, C>;
2
+ export interface Semimonoidal<F extends HKT> extends HKT.Typeclass<F> {
3
+ zip<K1, Q1, W1, X1, I1, S1, R1, E1, A, K2, Q2, W2, X2, I2, S2, R2, E2, B>(fa: HKT.Kind<F, K1, Q1, W1, X1, I1, S1, R1, E1, A>, fb: HKT.Kind<F, HKT.Intro<"K", K1, K2>, HKT.Intro<"Q", Q1, Q2>, HKT.Intro<"W", W1, W2>, HKT.Intro<"X", X1, X2>, HKT.Intro<"I", I1, I2>, HKT.Intro<"S", S1, S2>, HKT.Intro<"R", R1, R2>, HKT.Intro<"E", E1, E2>, B>): HKT.Kind<F, HKT.Mix<"K", [K1, K2]>, HKT.Mix<"Q", [Q1, Q2]>, HKT.Mix<"W", [W1, W2]>, HKT.Mix<"X", [X1, X2]>, HKT.Mix<"I", [I1, I2]>, HKT.Mix<"S", [S1, S2]>, HKT.Mix<"R", [R1, R2]>, HKT.Mix<"E", [E1, E2]>, readonly [A, B]>;
5
4
  }
6
- export declare type SemimonoidalMin<F extends HKT, C = HKT.None> = {
7
- readonly zip_: zip_<F, C>;
8
- };
9
5
  /**
10
6
  * @tsplus type fncts.SemimonoidalOps
11
7
  */
@@ -13,13 +9,8 @@ export interface SemimonoidalOps {
13
9
  }
14
10
  export declare const Semimonoidal: SemimonoidalOps;
15
11
  /**
16
- * @tsplus static fncts.SemimonoidalOps __call
12
+ * @tsplus fluent fncts.Kind zip
17
13
  * @tsplus location "@fncts/base/typeclass/Semimonoidal"
18
14
  */
19
- export declare function mkSemimonoidal<F extends HKT, C = HKT.None>(F: SemimonoidalMin<F, C>): Semimonoidal<F, C>;
20
- export interface zip_<F extends HKT, C = HKT.None> {
21
- <K1, Q1, W1, X1, I1, S1, R1, E1, A, K2, Q2, W2, X2, I2, S2, R2, E2, B>(fa: HKT.Kind<F, C, K1, Q1, W1, X1, I1, S1, R1, E1, A>, fb: HKT.Kind<F, C, HKT.Intro<F, "K", K1, K2>, HKT.Intro<F, "Q", Q1, Q2>, HKT.Intro<F, "W", W1, W2>, HKT.Intro<F, "X", X1, X2>, HKT.Intro<F, "I", I1, I2>, HKT.Intro<F, "S", S1, S2>, HKT.Intro<F, "R", R1, R2>, HKT.Intro<F, "E", E1, E2>, B>): HKT.Kind<F, C, HKT.Mix<F, "K", [K1, K2]>, HKT.Mix<F, "Q", [Q1, Q2]>, HKT.Mix<F, "W", [W1, W2]>, HKT.Mix<F, "X", [X1, X2]>, HKT.Mix<F, "I", [I1, I2]>, HKT.Mix<F, "S", [S1, S2]>, HKT.Mix<F, "R", [R1, R2]>, HKT.Mix<F, "E", [E1, E2]>, readonly [A, B]>;
22
- }
23
- export interface zip<F extends HKT, C = HKT.None> {
24
- <K1, Q1, W1, X1, I1, S1, R1, E1, B>(fb: HKT.Kind<F, C, K1, Q1, W1, X1, I1, S1, R1, E1, B>): <K2, Q2, W2, X2, I2, S2, R2, E2, A>(fa: HKT.Kind<F, C, HKT.Intro<F, "K", K1, K2>, HKT.Intro<F, "Q", Q1, Q2>, HKT.Intro<F, "W", W1, W2>, HKT.Intro<F, "X", X1, X2>, HKT.Intro<F, "I", I1, I2>, HKT.Intro<F, "S", S1, S2>, HKT.Intro<F, "R", R1, R2>, HKT.Intro<F, "E", E1, E2>, A>) => HKT.Kind<F, C, HKT.Mix<F, "K", [K1, K2]>, HKT.Mix<F, "Q", [Q1, Q2]>, HKT.Mix<F, "W", [W1, W2]>, HKT.Mix<F, "X", [X1, X2]>, HKT.Mix<F, "I", [I1, I2]>, HKT.Mix<F, "S", [S1, S2]>, HKT.Mix<F, "R", [R1, R2]>, HKT.Mix<F, "E", [E1, E2]>, readonly [A, B]>;
25
- }
15
+ export declare function zip<F extends HKT, C, K1, Q1, W1, X1, I1, S1, R1, E1, A, K2, Q2, W2, X2, I2, S2, R2, E2, B>(fa: HKT.Kind<F, K1, Q1, W1, X1, I1, S1, R1, E1, A>, fb: HKT.Kind<F, HKT.Intro<"K", K1, K2>, HKT.Intro<"Q", Q1, Q2>, HKT.Intro<"W", W1, W2>, HKT.Intro<"X", X1, X2>, HKT.Intro<"I", I1, I2>, HKT.Intro<"S", S1, S2>, HKT.Intro<"R", R1, R2>, HKT.Intro<"E", E1, E2>, B>,
16
+ /** @tsplus auto */ F: Semimonoidal<F>): HKT.Kind<F, HKT.Mix<"K", [K1, K2]>, HKT.Mix<"Q", [Q1, Q2]>, HKT.Mix<"W", [W1, W2]>, HKT.Mix<"X", [X1, X2]>, HKT.Mix<"I", [I1, I2]>, HKT.Mix<"S", [S1, S2]>, HKT.Mix<"R", [R1, R2]>, HKT.Mix<"E", [E1, E2]>, readonly [A, B]>;
@@ -1,16 +1,13 @@
1
1
  import { HKT } from "@fncts/typelevel/HKT";
2
- import type { Applicative, CompatibleApplicative } from "@fncts/base/typeclass/Applicative";
3
- import type { FoldableMin } from "@fncts/base/typeclass/Foldable";
4
- import type { FunctorMin } from "@fncts/base/typeclass/Functor";
5
- import { Foldable } from "@fncts/base/typeclass/Foldable";
6
- import { Functor } from "@fncts/base/typeclass/Functor";
2
+ import type { Applicative } from "@fncts/base/typeclass/Applicative";
3
+ import type { Foldable } from "@fncts/base/typeclass/Foldable";
4
+ import type { Functor } from "@fncts/base/typeclass/Functor";
7
5
  /**
8
6
  * @tsplus type fncts.Traversable
9
7
  */
10
- export interface Traversable<F extends HKT, FC = HKT.None> extends Functor<F, FC>, Foldable<F, FC> {
11
- readonly traverse_: traverse_<F, FC>;
12
- readonly traverse: traverse<F, FC>;
13
- readonly sequence: sequence<F, FC>;
8
+ export interface Traversable<F extends HKT> extends Functor<F>, Foldable<F> {
9
+ traverse<G extends HKT, KF, QF, WF, XF, IF, SF, RF, EF, KG, QG, WG, XG, IG, SG, RG, EG, A, B>(ta: HKT.Kind<F, KF, QF, WF, XF, IF, SF, RF, EF, A>, f: (a: A) => HKT.Kind<G, KG, QG, WG, XG, IG, SG, RG, EG, B>,
10
+ /** @tsplus auto */ G: Applicative<G>): HKT.Kind<G, KG, QG, WG, XG, IG, SG, RG, EG, HKT.Kind<F, KF, QF, WF, XF, IF, SF, RF, EF, B>>;
14
11
  }
15
12
  /**
16
13
  * @tsplus type fncts.TraversableOps
@@ -18,54 +15,17 @@ export interface Traversable<F extends HKT, FC = HKT.None> extends Functor<F, FC
18
15
  export interface TraversableOps {
19
16
  }
20
17
  export declare const Traversable: TraversableOps;
21
- export declare type TraversableMin<F extends HKT, FC = HKT.None> = FunctorMin<F, FC> & FoldableMin<F, FC> & {
22
- readonly traverse_: traverse_<F, FC>;
23
- };
24
18
  /**
25
- * @tsplus static fncts.TraversableOps __call
19
+ * @tsplus fluent fncts.Kind traverse
26
20
  * @tsplus location "@fncts/base/typeclass/Traversable"
27
21
  */
28
- export declare function mkTraversable<F extends HKT, FC = HKT.None>(F: TraversableMin<F, FC>): Traversable<F, FC>;
29
- export interface traverse_<F extends HKT, FC = HKT.None> {
30
- <G extends HKT, GC = HKT.None>(A: Applicative<G, GC>): <KF, QF, WF, XF, IF, SF, RF, EF, KG, QG, WG, XG, IG, SG, RG, EG, A, B>(ta: HKT.Kind<F, FC, KF, QF, WF, XF, IF, SF, RF, EF, A>, f: (a: A) => HKT.Kind<G, GC, KG, QG, WG, XG, IG, SG, RG, EG, B>) => 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>>;
31
- }
32
- export interface traverseSelf<F extends HKT, FC = HKT.None> {
33
- <KF, QF, WF, XF, IF, SF, RF, EF, A>(ta: HKT.Kind<F, FC, KF, QF, WF, XF, IF, SF, RF, EF, A>): <G extends HKT, GC = HKT.None>(A: Applicative<G, GC>) => <KG, QG, WG, XG, IG, SG, RG, EG, B>(f: (a: A) => HKT.Kind<G, GC, KG, QG, WG, XG, IG, SG, RG, EG, B>) => 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>>;
34
- }
35
- export interface traverse<F extends HKT, FC = HKT.None> {
36
- <G extends HKT, GC = HKT.None>(A: Applicative<G, GC>): <KG, QG, WG, XG, IG, SG, RG, EG, A, B>(f: (a: A) => HKT.Kind<G, GC, KG, QG, WG, XG, IG, SG, RG, EG, B>) => <KF, QF, WF, XF, IF, SF, RF, EF>(ta: HKT.Kind<F, FC, KF, QF, WF, XF, IF, SF, RF, EF, A>) => 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>>;
37
- }
38
- export declare function mkTraverse_<F extends HKT, FC = HKT.None>(): (i: <K, Q, W, X, I, S, R, E, A, B, G>(_: {
39
- A: A;
40
- B: B;
41
- G: G;
42
- K: K;
43
- Q: Q;
44
- W: W;
45
- X: X;
46
- I: I;
47
- S: S;
48
- R: R;
49
- E: E;
50
- }) => (G: Applicative<HKT.F<G>>) => (ta: HKT.Kind<F, FC, K, Q, W, X, I, S, R, E, A>, f: (a: A) => HKT.FK1<G, B>) => HKT.FK1<G, HKT.Kind<F, FC, K, Q, W, X, I, S, R, E, B>>) => traverse_<F, FC>;
51
- export declare function mkTraverse<F extends HKT, FC = HKT.None>(): (i: <K, Q, W, X, I, S, R, E, A, B, G>(_: {
52
- A: A;
53
- B: B;
54
- G: G;
55
- K: K;
56
- Q: Q;
57
- W: W;
58
- X: X;
59
- I: I;
60
- S: S;
61
- R: R;
62
- E: E;
63
- }) => (G: Applicative<HKT.F<G>>) => (f: (a: A) => HKT.FK1<G, B>) => (ta: HKT.Kind<F, FC, K, Q, W, X, I, S, R, E, A>) => HKT.FK1<G, HKT.Kind<F, FC, K, Q, W, X, I, S, R, E, B>>) => traverse<F, FC>;
64
- export interface sequence<F extends HKT, FC = HKT.None> {
65
- <G extends HKT, GC = HKT.None>(A: Applicative<G, GC>): <KF, QF, WF, XF, IF, SF, RF, EF, KG, QG, WG, XG, IG, SG, RG, EG, A>(ta: HKT.Kind<F, FC, KF, QF, WF, XF, IF, SF, RF, EF, HKT.Kind<G, GC, KG, QG, WG, XG, IG, SG, RG, EG, A>>) => HKT.Kind<G, GC, KG, QG, WG, XG, IG, SG, RG, EG, HKT.Kind<F, FC, KF, QF, WF, XF, IF, SF, RF, EF, A>>;
66
- }
67
- export interface sequenceSelf<F extends HKT, FC = HKT.None> {
68
- <KF, QF, WF, XF, IF, SF, RF, EF, A>(self: HKT.Kind<F, FC, KF, QF, WF, XF, IF, SF, RF, EF, A>): <G extends HKT, GC = HKT.None>(A: CompatibleApplicative<G, GC, A>) => [A] extends [
69
- HKT.Kind<G, GC, infer KG, infer QG, infer WG, infer XG, infer IG, infer SG, infer RG, infer EG, infer B>
70
- ] ? 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>> : never;
71
- }
22
+ export declare function traverse<F extends HKT, G extends HKT, KF, QF, WF, XF, IF, SF, RF, EF, KG, QG, WG, XG, IG, SG, RG, EG, A, B>(ta: HKT.Kind<F, KF, QF, WF, XF, IF, SF, RF, EF, A>, f: (a: A) => HKT.Kind<G, KG, QG, WG, XG, IG, SG, RG, EG, B>,
23
+ /** @tsplus auto */ F: Traversable<F>,
24
+ /** @tsplus auto */ G: Applicative<G>): HKT.Kind<G, KG, QG, WG, XG, IG, SG, RG, EG, HKT.Kind<F, KF, QF, WF, XF, IF, SF, RF, EF, B>>;
25
+ /**
26
+ * @tsplus fluent fncts.Kind sequence
27
+ * @tsplus location "@fncts/base/typeclass/Traversable"
28
+ */
29
+ export declare function sequence<F extends HKT, G extends HKT, KF, QF, WF, XF, IF, SF, RF, EF, KG, QG, WG, XG, IG, SG, RG, EG, A>(ta: HKT.Kind<F, KF, QF, WF, XF, IF, SF, RF, EF, HKT.Kind<G, KG, QG, WG, XG, IG, SG, RG, EG, A>>,
30
+ /** @tsplus auto */ F: Traversable<F>,
31
+ /** @tsplus auto */ G: Applicative<G>): HKT.Kind<G, KG, QG, WG, XG, IG, SG, RG, EG, HKT.Kind<F, KF, QF, WF, XF, IF, SF, RF, EF, A>>;
@@ -1,17 +1,14 @@
1
1
  import { HKT } from "@fncts/typelevel/HKT";
2
2
  import type { Applicative } from "@fncts/base/typeclass/Applicative";
3
- import type { FoldableWithIndexMin } from "@fncts/base/typeclass/FoldableWithIndex";
4
- import type { FunctorWithIndexMin } from "@fncts/base/typeclass/FunctorWithIndex";
5
- import type { TraversableMin } from "@fncts/base/typeclass/Traversable";
6
- import { FoldableWithIndex } from "@fncts/base/typeclass/FoldableWithIndex";
7
- import { FunctorWithIndex } from "@fncts/base/typeclass/FunctorWithIndex";
8
- import { Traversable } from "@fncts/base/typeclass/Traversable";
3
+ import type { FoldableWithIndex } from "@fncts/base/typeclass/FoldableWithIndex";
4
+ import type { FunctorWithIndex } from "@fncts/base/typeclass/FunctorWithIndex";
5
+ import type { Traversable } from "@fncts/base/typeclass/Traversable";
9
6
  /**
10
7
  * @tsplus type fncts.TraversableWithIndex
11
8
  */
12
- export interface TraversableWithIndex<F extends HKT, FC = HKT.None> extends FunctorWithIndex<F, FC>, FoldableWithIndex<F, FC>, Traversable<F, FC> {
13
- readonly traverseWithIndex_: traverseWithIndex_<F, FC>;
14
- readonly traverseWithIndex: traverseWithIndex<F, FC>;
9
+ export interface TraversableWithIndex<F extends HKT> extends FunctorWithIndex<F>, FoldableWithIndex<F>, Traversable<F> {
10
+ traverseWithIndex<G extends HKT, KG, QG, WG, XG, IG, SG, RG, EG, KF, QF, WF, XF, IF, SF, RF, EF, A, B>(ta: HKT.Kind<F, KF, QF, WF, XF, IF, SF, RF, EF, A>, f: (i: HKT.IndexFor<F, KF>, a: A) => HKT.Kind<G, KG, QG, WG, XG, IG, SG, RG, EG, B>,
11
+ /** @tsplus auto */ G: Applicative<G>): HKT.Kind<G, KG, QG, WG, XG, IG, SG, RG, EG, HKT.Kind<F, KF, QF, WF, XF, IF, SF, RF, EF, B>>;
15
12
  }
16
13
  /**
17
14
  * @tsplus type fncts.TraversableWithIndexOps
@@ -19,46 +16,6 @@ export interface TraversableWithIndex<F extends HKT, FC = HKT.None> extends Func
19
16
  export interface TraversableWithIndexOps {
20
17
  }
21
18
  export declare const TraversableWithIndex: TraversableWithIndexOps;
22
- export declare type TraversableWithIndexMin<F extends HKT, FC = HKT.None> = FunctorWithIndexMin<F, FC> & FoldableWithIndexMin<F, FC> & TraversableMin<F, FC> & {
23
- readonly traverseWithIndex_: traverseWithIndex_<F, FC>;
24
- };
25
- /**
26
- * @tsplus static fncts.TraversableWithIndexOps __call
27
- * @tsplus location "@fncts/base/typeclass/TraversableWithIndex"
28
- */
29
- export declare function mkTraversableWithIndex<F extends HKT, FC = HKT.None>(F: TraversableWithIndexMin<F, FC>): TraversableWithIndex<F, FC>;
30
- export interface traverseWithIndex_<F extends HKT, FC = HKT.None> {
31
- <G extends HKT, CG = HKT.None>(A: Applicative<G, CG>): <KG, QG, WG, XG, IG, SG, RG, EG, KF, QF, WF, XF, IF, SF, RF, EF, A, B>(ta: HKT.Kind<F, FC, KF, QF, WF, XF, IF, SF, RF, EF, A>, f: (i: HKT.IndexFor<F, HKT.OrFix<FC, "K", KF>>, a: A) => HKT.Kind<G, CG, KG, QG, WG, XG, IG, SG, RG, EG, B>) => HKT.Kind<G, CG, KG, QG, WG, XG, IG, SG, RG, EG, HKT.Kind<F, FC, KF, QF, WF, XF, IF, SF, RF, EF, B>>;
32
- }
33
- export interface traverseWithIndex<F extends HKT, FC = HKT.None> {
34
- <G extends HKT, GC = HKT.None>(A: Applicative<G, GC>): <KG, QG, WG, XG, IG, SG, RG, EG, KF, A, B>(f: (i: HKT.IndexFor<F, HKT.OrFix<FC, "K", KF>>, a: A) => HKT.Kind<G, GC, KG, QG, WG, XG, IG, SG, RG, EG, B>) => <QF, WF, XF, IF, SF, RF, EF>(ta: HKT.Kind<F, FC, KF, QF, WF, XF, IF, SF, RF, EF, A>) => 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>>;
35
- }
36
- export interface traverseWithIndexSelf<F extends HKT, FC = HKT.None> {
37
- <KF, QF, WF, XF, IF, SF, RF, EF, A>(ta: HKT.Kind<F, FC, KF, QF, WF, XF, IF, SF, RF, EF, A>): <G extends HKT, GC = HKT.None>(A: Applicative<G, GC>) => <KG, QG, WG, XG, IG, SG, RG, EG, B>(f: (i: HKT.IndexFor<F, HKT.OrFix<FC, "K", KF>>, a: A) => HKT.Kind<G, GC, KG, QG, WG, XG, IG, SG, RG, EG, B>) => 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>>;
38
- }
39
- export declare function mkTraverseWithIndex<F extends HKT, FC = HKT.None>(): (i: <K, Q, W, X, I, S, R, E, A, B, G>(_: {
40
- A: A;
41
- B: B;
42
- G: G;
43
- K: K;
44
- Q: Q;
45
- W: W;
46
- X: X;
47
- I: I;
48
- S: S;
49
- R: R;
50
- E: E;
51
- }) => (A: Applicative<HKT.F<G>>) => (f: (i: HKT.IndexFor<F, HKT.OrFix<FC, "K", K>>, a: A) => HKT.FK1<G, B>) => (ta: HKT.Kind<F, FC, K, Q, W, X, I, S, R, E, A>) => HKT.FK1<G, HKT.Kind<F, FC, K, Q, W, X, I, S, R, E, B>>) => traverseWithIndex_<F, FC>;
52
- export declare function mkTraverseWithIndex_<F extends HKT, FC = HKT.None>(): (i: <K, Q, W, X, I, S, R, E, A, B, G>(_: {
53
- A: A;
54
- B: B;
55
- G: G;
56
- K: HKT.OrFix<FC, "K", K>;
57
- Q: Q;
58
- W: W;
59
- X: X;
60
- I: I;
61
- S: S;
62
- R: R;
63
- E: E;
64
- }) => (G: Applicative<HKT.F<G>>) => (ta: HKT.Kind<F, FC, K, Q, W, X, I, S, R, E, A>, f: (i: HKT.IndexFor<F, HKT.OrFix<FC, "K", K>>, a: A) => HKT.FK1<G, B>) => HKT.FK1<G, HKT.Kind<F, FC, K, Q, W, X, I, S, R, E, B>>) => traverseWithIndex_<F, FC>;
19
+ export declare function traverseWithIndex<F extends HKT, G extends HKT, KG, QG, WG, XG, IG, SG, RG, EG, KF, QF, WF, XF, IF, SF, RF, EF, A, B>(ta: HKT.Kind<F, KF, QF, WF, XF, IF, SF, RF, EF, A>, f: (i: HKT.IndexFor<F, KF>, a: A) => HKT.Kind<G, KG, QG, WG, XG, IG, SG, RG, EG, B>,
20
+ /** @tsplus auto */ F: TraversableWithIndex<F>,
21
+ /** @tsplus auto */ G: Applicative<G>): HKT.Kind<G, KG, QG, WG, XG, IG, SG, RG, EG, HKT.Kind<F, KF, QF, WF, XF, IF, SF, RF, EF, B>>;