@fncts/base 0.0.2 → 0.0.5

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 (873) 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/chunksOf.cjs +22 -0
  26. package/_cjs/collection/immutable/ImmutableArray/api/chunksOf.cjs.map +1 -0
  27. package/_cjs/collection/immutable/ImmutableArray/api/slice.cjs +20 -0
  28. package/_cjs/collection/immutable/ImmutableArray/api/slice.cjs.map +1 -0
  29. package/_cjs/collection/immutable/ImmutableArray/api/splitAt.cjs +20 -0
  30. package/_cjs/collection/immutable/ImmutableArray/api/splitAt.cjs.map +1 -0
  31. package/_cjs/collection/immutable/ImmutableArray/api/splitWhere.cjs +33 -0
  32. package/_cjs/collection/immutable/ImmutableArray/api/splitWhere.cjs.map +1 -0
  33. package/_cjs/collection/immutable/ImmutableArray/api.cjs +252 -409
  34. package/_cjs/collection/immutable/ImmutableArray/api.cjs.map +1 -1
  35. package/_cjs/collection/immutable/ImmutableArray/definition.cjs +12 -10
  36. package/_cjs/collection/immutable/ImmutableArray/definition.cjs.map +1 -1
  37. package/_cjs/collection/immutable/ImmutableArray/instances.cjs +153 -157
  38. package/_cjs/collection/immutable/ImmutableArray/instances.cjs.map +1 -1
  39. package/_cjs/collection/immutable/ImmutableArray.cjs +56 -4
  40. package/_cjs/collection/immutable/ImmutableArray.cjs.map +1 -1
  41. package/_cjs/collection/immutable/ImmutableNonEmptyArray/api.cjs +125 -184
  42. package/_cjs/collection/immutable/ImmutableNonEmptyArray/api.cjs.map +1 -1
  43. package/_cjs/collection/immutable/ImmutableNonEmptyArray/constructors.cjs +2 -4
  44. package/_cjs/collection/immutable/ImmutableNonEmptyArray/constructors.cjs.map +1 -1
  45. package/_cjs/collection/immutable/ImmutableNonEmptyArray/definition.cjs +25 -2
  46. package/_cjs/collection/immutable/ImmutableNonEmptyArray/definition.cjs.map +1 -1
  47. package/_cjs/collection/immutable/ImmutableNonEmptyArray/destructors.cjs +5 -3
  48. package/_cjs/collection/immutable/ImmutableNonEmptyArray/destructors.cjs.map +1 -1
  49. package/_cjs/collection/immutable/ImmutableNonEmptyArray/instances.cjs +45 -81
  50. package/_cjs/collection/immutable/ImmutableNonEmptyArray/instances.cjs.map +1 -1
  51. package/_cjs/collection/immutable/ImmutableNonEmptyArray.cjs +5 -5
  52. package/_cjs/collection/immutable/List/api.cjs +4 -7
  53. package/_cjs/collection/immutable/List/api.cjs.map +1 -1
  54. package/_cjs/collection/immutable/List/constructors.cjs +1 -1
  55. package/_cjs/collection/immutable/List.cjs +5 -5
  56. package/_cjs/collection/immutable/Queue.cjs +4 -4
  57. package/_cjs/collection/immutable/RoseTree/api.cjs +484 -0
  58. package/_cjs/collection/immutable/RoseTree/api.cjs.map +1 -0
  59. package/_cjs/collection/immutable/RoseTree/definition.cjs +58 -0
  60. package/_cjs/collection/immutable/RoseTree/definition.cjs.map +1 -0
  61. package/_cjs/collection/immutable/RoseTree.cjs +32 -0
  62. package/_cjs/collection/immutable/RoseTree.cjs.map +1 -0
  63. package/_cjs/collection/immutable/SortedMap/api.cjs +65 -65
  64. package/_cjs/collection/immutable/SortedMap/api.cjs.map +1 -1
  65. package/_cjs/collection/immutable/SortedMap.cjs +5 -5
  66. package/_cjs/collection/immutable/Vector/api.cjs +70 -15
  67. package/_cjs/collection/immutable/Vector/api.cjs.map +1 -1
  68. package/_cjs/collection/immutable/Vector/definition.cjs +13 -11
  69. package/_cjs/collection/immutable/Vector/definition.cjs.map +1 -1
  70. package/_cjs/collection/immutable/Vector.cjs +2 -2
  71. package/_cjs/collection/mutable/HashMap.cjs +5 -5
  72. package/_cjs/collection/mutable/HashMap.cjs.map +1 -1
  73. package/_cjs/collection/mutable/HashSet.cjs +4 -4
  74. package/_cjs/collection/mutable/HashSet.cjs.map +1 -1
  75. package/_cjs/control/Eval/api.cjs +7 -1
  76. package/_cjs/control/Eval/api.cjs.map +1 -1
  77. package/_cjs/control/Eval/definition.cjs +7 -0
  78. package/_cjs/control/Eval/definition.cjs.map +1 -1
  79. package/_cjs/control/Eval/instance.cjs +14 -25
  80. package/_cjs/control/Eval/instance.cjs.map +1 -1
  81. package/_cjs/control/Eval.cjs +5 -5
  82. package/_cjs/control/Z/api.cjs +2 -2
  83. package/_cjs/control/Z/definition.cjs +10 -4
  84. package/_cjs/control/Z/definition.cjs.map +1 -1
  85. package/_cjs/control/Z/instances.cjs +7 -14
  86. package/_cjs/control/Z/instances.cjs.map +1 -1
  87. package/_cjs/control/Z/runtime.cjs +2 -2
  88. package/_cjs/control/Z.cjs +4 -4
  89. package/_cjs/data/Branded/definition.cjs +29 -0
  90. package/_cjs/data/Branded/definition.cjs.map +1 -0
  91. package/_cjs/data/Branded/derivations.cjs +58 -0
  92. package/_cjs/data/Branded/derivations.cjs.map +1 -0
  93. package/_cjs/data/Branded.cjs +32 -0
  94. package/_cjs/data/Branded.cjs.map +1 -0
  95. package/_cjs/data/CaseClass.cjs +4 -2
  96. package/_cjs/data/CaseClass.cjs.map +1 -1
  97. package/_cjs/data/Cause/api/fold.cjs +2 -0
  98. package/_cjs/data/Cause/api/fold.cjs.map +1 -1
  99. package/_cjs/data/Cause/api/unified.cjs +2 -2
  100. package/_cjs/data/Cause/api.cjs +30 -7
  101. package/_cjs/data/Cause/api.cjs.map +1 -1
  102. package/_cjs/data/Cause/definition.cjs +3 -3
  103. package/_cjs/data/Cause.cjs +2 -2
  104. package/_cjs/data/Const/api.cjs +3 -7
  105. package/_cjs/data/Const/api.cjs.map +1 -1
  106. package/_cjs/data/Const/definition.cjs +19 -1
  107. package/_cjs/data/Const/definition.cjs.map +1 -1
  108. package/_cjs/data/Const/instances.cjs +9 -20
  109. package/_cjs/data/Const/instances.cjs.map +1 -1
  110. package/_cjs/data/Const.cjs +3 -3
  111. package/_cjs/data/DecodeError/definition.cjs +308 -0
  112. package/_cjs/data/DecodeError/definition.cjs.map +1 -0
  113. package/_cjs/data/DecodeError.cjs +19 -0
  114. package/_cjs/data/DecodeError.cjs.map +1 -0
  115. package/_cjs/data/Decoder/api.cjs +217 -0
  116. package/_cjs/data/Decoder/api.cjs.map +1 -0
  117. package/_cjs/data/Decoder/definition.cjs +41 -0
  118. package/_cjs/data/Decoder/definition.cjs.map +1 -0
  119. package/_cjs/data/Decoder.cjs +32 -0
  120. package/_cjs/data/Decoder.cjs.map +1 -0
  121. package/_cjs/data/Duration/api.cjs +22 -9
  122. package/_cjs/data/Duration/api.cjs.map +1 -1
  123. package/_cjs/data/Duration/definition.cjs +1 -1
  124. package/_cjs/data/Duration.cjs +2 -2
  125. package/_cjs/data/Either/api/align.cjs +1 -1
  126. package/_cjs/data/Either/api/alignWith.cjs +2 -0
  127. package/_cjs/data/Either/api/alignWith.cjs.map +1 -1
  128. package/_cjs/data/Either/api.cjs +110 -47
  129. package/_cjs/data/Either/api.cjs.map +1 -1
  130. package/_cjs/data/Either/constructors.cjs +1 -1
  131. package/_cjs/data/Either/definition.cjs +39 -10
  132. package/_cjs/data/Either/definition.cjs.map +1 -1
  133. package/_cjs/data/Either/destructors.cjs +2 -0
  134. package/_cjs/data/Either/destructors.cjs.map +1 -1
  135. package/_cjs/data/Either/instances.cjs +123 -40
  136. package/_cjs/data/Either/instances.cjs.map +1 -1
  137. package/_cjs/data/Either.cjs +5 -5
  138. package/_cjs/data/Environment/api.cjs +29 -8
  139. package/_cjs/data/Environment/api.cjs.map +1 -1
  140. package/_cjs/data/Environment.cjs +2 -2
  141. package/_cjs/data/Exit/api.cjs +1 -1
  142. package/_cjs/data/Exit/constructors.cjs +1 -1
  143. package/_cjs/data/Exit/definition.cjs +2 -2
  144. package/_cjs/data/Exit.cjs +3 -3
  145. package/_cjs/data/FiberId/api.cjs +1 -1
  146. package/_cjs/data/FiberId/constructors.cjs +2 -2
  147. package/_cjs/data/FiberId/definition.cjs +1 -1
  148. package/_cjs/data/FiberId.cjs +3 -3
  149. package/_cjs/data/Identity/api.cjs +35 -6
  150. package/_cjs/data/Identity/api.cjs.map +1 -1
  151. package/_cjs/data/Identity/definition.cjs +10 -1
  152. package/_cjs/data/Identity/definition.cjs.map +1 -1
  153. package/_cjs/data/Identity/instances.cjs +12 -26
  154. package/_cjs/data/Identity/instances.cjs.map +1 -1
  155. package/_cjs/data/Identity.cjs +3 -3
  156. package/_cjs/data/Interval.cjs +154 -0
  157. package/_cjs/data/Interval.cjs.map +1 -0
  158. package/_cjs/data/Maybe/api.cjs +31 -44
  159. package/_cjs/data/Maybe/api.cjs.map +1 -1
  160. package/_cjs/data/Maybe/definition.cjs +46 -19
  161. package/_cjs/data/Maybe/definition.cjs.map +1 -1
  162. package/_cjs/data/Maybe/destructors.cjs +1 -0
  163. package/_cjs/data/Maybe/destructors.cjs.map +1 -1
  164. package/_cjs/data/Maybe/instances.cjs +62 -42
  165. package/_cjs/data/Maybe/instances.cjs.map +1 -1
  166. package/_cjs/data/Maybe.cjs +5 -5
  167. package/_cjs/data/Newtype.cjs +5 -3
  168. package/_cjs/data/Newtype.cjs.map +1 -1
  169. package/_cjs/data/Patch/api.cjs +1 -1
  170. package/_cjs/data/Patch/api.cjs.map +1 -1
  171. package/_cjs/data/Patch.cjs +2 -2
  172. package/_cjs/data/Predicate.cjs +2 -2
  173. package/_cjs/data/Refinement/api.cjs +0 -4
  174. package/_cjs/data/Refinement/api.cjs.map +1 -1
  175. package/_cjs/data/Refinement.cjs +2 -2
  176. package/_cjs/data/Struct/api.cjs +1 -1
  177. package/_cjs/data/Struct/definition.cjs +4 -2
  178. package/_cjs/data/Struct/definition.cjs.map +1 -1
  179. package/_cjs/data/Tag.cjs +2 -2
  180. package/_cjs/data/These/api.cjs +299 -0
  181. package/_cjs/data/These/api.cjs.map +1 -0
  182. package/_cjs/data/These/constructors.cjs +25 -5
  183. package/_cjs/data/These/constructors.cjs.map +1 -1
  184. package/_cjs/data/These/definition.cjs +16 -0
  185. package/_cjs/data/These/definition.cjs.map +1 -1
  186. package/_cjs/data/These/destructors.cjs +70 -0
  187. package/_cjs/data/These/destructors.cjs.map +1 -1
  188. package/_cjs/data/These/instances.cjs +54 -0
  189. package/_cjs/data/These/instances.cjs.map +1 -0
  190. package/_cjs/data/These.cjs +16 -3
  191. package/_cjs/data/These.cjs.map +1 -1
  192. package/_cjs/data/Trace.cjs +3 -3
  193. package/_cjs/data/TraceElement.cjs +1 -1
  194. package/_cjs/data/bigint/definition.cjs +6 -0
  195. package/_cjs/data/bigint/definition.cjs.map +1 -0
  196. package/_cjs/data/bigint/instances.cjs +24 -0
  197. package/_cjs/data/bigint/instances.cjs.map +1 -0
  198. package/_cjs/data/bigint.cjs +32 -0
  199. package/_cjs/data/bigint.cjs.map +1 -0
  200. package/_cjs/data/boolean/definition.cjs +6 -0
  201. package/_cjs/data/boolean/definition.cjs.map +1 -0
  202. package/_cjs/data/boolean/instances.cjs +24 -0
  203. package/_cjs/data/boolean/instances.cjs.map +1 -0
  204. package/_cjs/data/boolean.cjs +32 -0
  205. package/_cjs/data/boolean.cjs.map +1 -0
  206. package/_cjs/data/exceptions/InterruptedException.cjs +1 -1
  207. package/_cjs/data/exceptions.cjs +7 -7
  208. package/_cjs/data/function.cjs +3 -3
  209. package/_cjs/data/number/instances.cjs +19 -6
  210. package/_cjs/data/number/instances.cjs.map +1 -1
  211. package/_cjs/data/number.cjs +3 -3
  212. package/_cjs/data/object/instances.cjs +24 -0
  213. package/_cjs/data/object/instances.cjs.map +1 -0
  214. package/_cjs/data/object.cjs +1 -1
  215. package/_cjs/data/string/instances.cjs +25 -10
  216. package/_cjs/data/string/instances.cjs.map +1 -1
  217. package/_cjs/data/string.cjs +3 -3
  218. package/_cjs/internal/AtomicBoolean.cjs +1 -1
  219. package/_cjs/internal/AtomicNumber.cjs +1 -1
  220. package/_cjs/internal/Stack.cjs +4 -0
  221. package/_cjs/internal/Stack.cjs.map +1 -1
  222. package/_cjs/json/EitherJson.cjs +33 -0
  223. package/_cjs/json/EitherJson.cjs.map +1 -0
  224. package/_cjs/json/MaybeJson.cjs +31 -0
  225. package/_cjs/json/MaybeJson.cjs.map +1 -0
  226. package/_cjs/json/TheseJson.cjs +37 -0
  227. package/_cjs/json/TheseJson.cjs.map +1 -0
  228. package/_cjs/optics/At.cjs +2 -2
  229. package/_cjs/optics/Fold.cjs +1 -1
  230. package/_cjs/optics/Getter.cjs +1 -1
  231. package/_cjs/optics/Index.cjs +2 -2
  232. package/_cjs/optics/Iso.cjs +2 -2
  233. package/_cjs/optics/Lens.cjs +2 -2
  234. package/_cjs/optics/Optional/definition.cjs +6 -4
  235. package/_cjs/optics/Optional/definition.cjs.map +1 -1
  236. package/_cjs/optics/Optional.cjs +2 -2
  237. package/_cjs/optics/Prism.cjs +4 -4
  238. package/_cjs/optics/Setter.cjs +1 -1
  239. package/_cjs/optics/Traversal/api/compose.cjs +1 -1
  240. package/_cjs/optics/Traversal/api/compose.cjs.map +1 -1
  241. package/_cjs/optics/Traversal/api/fromTraversable.cjs +4 -4
  242. package/_cjs/optics/Traversal/api/fromTraversable.cjs.map +1 -1
  243. package/_cjs/optics/Traversal/definition.cjs +17 -12
  244. package/_cjs/optics/Traversal/definition.cjs.map +1 -1
  245. package/_cjs/optics/Traversal.cjs +3 -3
  246. package/_cjs/typeclass/Align.cjs +0 -20
  247. package/_cjs/typeclass/Align.cjs.map +1 -1
  248. package/_cjs/typeclass/Alt.cjs +5 -15
  249. package/_cjs/typeclass/Alt.cjs.map +1 -1
  250. package/_cjs/typeclass/Alternative.cjs +0 -23
  251. package/_cjs/typeclass/Alternative.cjs.map +1 -1
  252. package/_cjs/typeclass/Applicative.cjs +0 -22
  253. package/_cjs/typeclass/Applicative.cjs.map +1 -1
  254. package/_cjs/typeclass/ApplicativeExcept.cjs +40 -34
  255. package/_cjs/typeclass/ApplicativeExcept.cjs.map +1 -1
  256. package/_cjs/typeclass/Apply.cjs +93 -49
  257. package/_cjs/typeclass/Apply.cjs.map +1 -1
  258. package/_cjs/typeclass/Chain.cjs +40 -17
  259. package/_cjs/typeclass/Chain.cjs.map +1 -1
  260. package/_cjs/typeclass/Closure.cjs +1 -4
  261. package/_cjs/typeclass/Closure.cjs.map +1 -1
  262. package/_cjs/typeclass/Eq/definition.cjs +18 -0
  263. package/_cjs/typeclass/Eq/definition.cjs.map +1 -0
  264. package/_cjs/typeclass/Eq/derivations.cjs +59 -0
  265. package/_cjs/typeclass/Eq/derivations.cjs.map +1 -0
  266. package/_cjs/typeclass/Eq.cjs +11 -13
  267. package/_cjs/typeclass/Eq.cjs.map +1 -1
  268. package/_cjs/typeclass/Equatable.cjs +3 -3
  269. package/_cjs/typeclass/Fail.cjs +6 -12
  270. package/_cjs/typeclass/Fail.cjs.map +1 -1
  271. package/_cjs/typeclass/Filterable.cjs +31 -18
  272. package/_cjs/typeclass/Filterable.cjs.map +1 -1
  273. package/_cjs/typeclass/FilterableWithIndex.cjs +0 -26
  274. package/_cjs/typeclass/FilterableWithIndex.cjs.map +1 -1
  275. package/_cjs/typeclass/Foldable.cjs +33 -19
  276. package/_cjs/typeclass/Foldable.cjs.map +1 -1
  277. package/_cjs/typeclass/FoldableWithIndex.cjs +33 -21
  278. package/_cjs/typeclass/FoldableWithIndex.cjs.map +1 -1
  279. package/_cjs/typeclass/Functor.cjs +19 -16
  280. package/_cjs/typeclass/Functor.cjs.map +1 -1
  281. package/_cjs/typeclass/FunctorWithIndex.cjs +0 -21
  282. package/_cjs/typeclass/FunctorWithIndex.cjs.map +1 -1
  283. package/_cjs/typeclass/Guard/api.cjs +40 -0
  284. package/_cjs/typeclass/Guard/api.cjs.map +1 -0
  285. package/_cjs/typeclass/Guard/definition.cjs +40 -0
  286. package/_cjs/typeclass/Guard/definition.cjs.map +1 -0
  287. package/_cjs/typeclass/Guard/derivations.cjs +85 -0
  288. package/_cjs/typeclass/Guard/derivations.cjs.map +1 -0
  289. package/_cjs/typeclass/Guard.cjs +32 -0
  290. package/_cjs/typeclass/Guard.cjs.map +1 -0
  291. package/_cjs/typeclass/HashEq.cjs +3 -3
  292. package/_cjs/typeclass/HashEq.cjs.map +1 -1
  293. package/_cjs/typeclass/Hashable.cjs +2 -2
  294. package/_cjs/typeclass/Monad.cjs +0 -22
  295. package/_cjs/typeclass/Monad.cjs.map +1 -1
  296. package/_cjs/typeclass/MonadExcept.cjs +12 -19
  297. package/_cjs/typeclass/MonadExcept.cjs.map +1 -1
  298. package/_cjs/typeclass/Monoid.cjs +56 -2
  299. package/_cjs/typeclass/Monoid.cjs.map +1 -1
  300. package/_cjs/typeclass/Nil.cjs +10 -0
  301. package/_cjs/typeclass/Nil.cjs.map +1 -1
  302. package/_cjs/typeclass/Ord/api/contramap.cjs +2 -4
  303. package/_cjs/typeclass/Ord/api/contramap.cjs.map +1 -1
  304. package/_cjs/typeclass/Ord/api/max.cjs +1 -1
  305. package/_cjs/typeclass/Ord/api/max.cjs.map +1 -1
  306. package/_cjs/typeclass/Ord/api/min.cjs +1 -1
  307. package/_cjs/typeclass/Ord/api/min.cjs.map +1 -1
  308. package/_cjs/typeclass/Ord/api.cjs +3 -3
  309. package/_cjs/typeclass/Ord/definition.cjs +2 -3
  310. package/_cjs/typeclass/Ord/definition.cjs.map +1 -1
  311. package/_cjs/typeclass/Ord/instances.cjs +7 -7
  312. package/_cjs/typeclass/Ord/instances.cjs.map +1 -1
  313. package/_cjs/typeclass/Ord.cjs +3 -3
  314. package/_cjs/typeclass/Pointed.cjs +6 -11
  315. package/_cjs/typeclass/Pointed.cjs.map +1 -1
  316. package/_cjs/typeclass/Semialign.cjs +77 -94
  317. package/_cjs/typeclass/Semialign.cjs.map +1 -1
  318. package/_cjs/typeclass/Semigroup/api.cjs +2 -2
  319. package/_cjs/typeclass/Semigroup/api.cjs.map +1 -1
  320. package/_cjs/typeclass/Semigroup/definition.cjs.map +1 -1
  321. package/_cjs/typeclass/Semigroup/derivations.cjs +63 -0
  322. package/_cjs/typeclass/Semigroup/derivations.cjs.map +1 -0
  323. package/_cjs/typeclass/Semigroup.cjs +2 -2
  324. package/_cjs/typeclass/Semimonoidal.cjs +9 -13
  325. package/_cjs/typeclass/Semimonoidal.cjs.map +1 -1
  326. package/_cjs/typeclass/Showable/show.cjs +11 -11
  327. package/_cjs/typeclass/Showable/show.cjs.map +1 -1
  328. package/_cjs/typeclass/Showable.cjs +2 -2
  329. package/_cjs/typeclass/Traversable.cjs +26 -34
  330. package/_cjs/typeclass/Traversable.cjs.map +1 -1
  331. package/_cjs/typeclass/TraversableWithIndex.cjs +7 -38
  332. package/_cjs/typeclass/TraversableWithIndex.cjs.map +1 -1
  333. package/_cjs/typeclass/Witherable.cjs +41 -42
  334. package/_cjs/typeclass/Witherable.cjs.map +1 -1
  335. package/_cjs/typeclass/WitherableWithIndex.cjs +41 -50
  336. package/_cjs/typeclass/WitherableWithIndex.cjs.map +1 -1
  337. package/_cjs/typeclass/builtin.cjs +1 -1
  338. package/_cjs/typeclass.cjs +49 -36
  339. package/_cjs/typeclass.cjs.map +1 -1
  340. package/_cjs/types.cjs +3 -3
  341. package/_cjs/util/predicates.cjs +5 -0
  342. package/_cjs/util/predicates.cjs.map +1 -1
  343. package/_mjs/collection/Iterable/api/traverseConc.mjs +20 -15
  344. package/_mjs/collection/Iterable/api/traverseConc.mjs.map +1 -1
  345. package/_mjs/collection/Iterable/api.mjs +21 -31
  346. package/_mjs/collection/Iterable/api.mjs.map +1 -1
  347. package/_mjs/collection/compat/Array/api.mjs +1 -1
  348. package/_mjs/collection/compat/Array/api.mjs.map +1 -1
  349. package/_mjs/collection/immutable/Conc/api.mjs +35 -36
  350. package/_mjs/collection/immutable/Conc/api.mjs.map +1 -1
  351. package/_mjs/collection/immutable/Conc/definition.mjs +48 -39
  352. package/_mjs/collection/immutable/Conc/definition.mjs.map +1 -1
  353. package/_mjs/collection/immutable/Dictionary/definition.mjs +3 -2
  354. package/_mjs/collection/immutable/Dictionary/definition.mjs.map +1 -1
  355. package/_mjs/collection/immutable/HashMap/api.mjs +26 -66
  356. package/_mjs/collection/immutable/HashMap/api.mjs.map +1 -1
  357. package/_mjs/collection/immutable/HashMap/definition.mjs +18 -15
  358. package/_mjs/collection/immutable/HashMap/definition.mjs.map +1 -1
  359. package/_mjs/collection/immutable/HashSet/api.mjs +5 -5
  360. package/_mjs/collection/immutable/HashSet/api.mjs.map +1 -1
  361. package/_mjs/collection/immutable/ImmutableArray/api/chunksOf.mjs +10 -0
  362. package/_mjs/collection/immutable/ImmutableArray/api/chunksOf.mjs.map +1 -0
  363. package/_mjs/collection/immutable/ImmutableArray/api/slice.mjs +9 -0
  364. package/_mjs/collection/immutable/ImmutableArray/api/slice.mjs.map +1 -0
  365. package/_mjs/collection/immutable/ImmutableArray/api/splitAt.mjs +9 -0
  366. package/_mjs/collection/immutable/ImmutableArray/api/splitAt.mjs.map +1 -0
  367. package/_mjs/collection/immutable/ImmutableArray/api/splitWhere.mjs +21 -0
  368. package/_mjs/collection/immutable/ImmutableArray/api/splitWhere.mjs.map +1 -0
  369. package/_mjs/collection/immutable/ImmutableArray/api.mjs +229 -326
  370. package/_mjs/collection/immutable/ImmutableArray/api.mjs.map +1 -1
  371. package/_mjs/collection/immutable/ImmutableArray/definition.mjs +11 -10
  372. package/_mjs/collection/immutable/ImmutableArray/definition.mjs.map +1 -1
  373. package/_mjs/collection/immutable/ImmutableArray/instances.mjs +151 -138
  374. package/_mjs/collection/immutable/ImmutableArray/instances.mjs.map +1 -1
  375. package/_mjs/collection/immutable/ImmutableArray.mjs +7 -1
  376. package/_mjs/collection/immutable/ImmutableArray.mjs.map +1 -1
  377. package/_mjs/collection/immutable/ImmutableNonEmptyArray/api.mjs +113 -145
  378. package/_mjs/collection/immutable/ImmutableNonEmptyArray/api.mjs.map +1 -1
  379. package/_mjs/collection/immutable/ImmutableNonEmptyArray/constructors.mjs +7 -7
  380. package/_mjs/collection/immutable/ImmutableNonEmptyArray/constructors.mjs.map +1 -1
  381. package/_mjs/collection/immutable/ImmutableNonEmptyArray/definition.mjs +20 -2
  382. package/_mjs/collection/immutable/ImmutableNonEmptyArray/definition.mjs.map +1 -1
  383. package/_mjs/collection/immutable/ImmutableNonEmptyArray/destructors.mjs +4 -3
  384. package/_mjs/collection/immutable/ImmutableNonEmptyArray/destructors.mjs.map +1 -1
  385. package/_mjs/collection/immutable/ImmutableNonEmptyArray/instances.mjs +46 -67
  386. package/_mjs/collection/immutable/ImmutableNonEmptyArray/instances.mjs.map +1 -1
  387. package/_mjs/collection/immutable/List/api.mjs +4 -5
  388. package/_mjs/collection/immutable/List/api.mjs.map +1 -1
  389. package/_mjs/collection/immutable/RoseTree/api.mjs +447 -0
  390. package/_mjs/collection/immutable/RoseTree/api.mjs.map +1 -0
  391. package/_mjs/collection/immutable/RoseTree/definition.mjs +35 -0
  392. package/_mjs/collection/immutable/RoseTree/definition.mjs.map +1 -0
  393. package/_mjs/collection/immutable/RoseTree.mjs +4 -0
  394. package/_mjs/collection/immutable/RoseTree.mjs.map +1 -0
  395. package/_mjs/collection/immutable/SortedMap/api.mjs +65 -65
  396. package/_mjs/collection/immutable/SortedMap/api.mjs.map +1 -1
  397. package/_mjs/collection/immutable/Vector/api.mjs +59 -15
  398. package/_mjs/collection/immutable/Vector/api.mjs.map +1 -1
  399. package/_mjs/collection/immutable/Vector/definition.mjs +12 -11
  400. package/_mjs/collection/immutable/Vector/definition.mjs.map +1 -1
  401. package/_mjs/collection/mutable/HashMap.mjs +5 -5
  402. package/_mjs/collection/mutable/HashMap.mjs.map +1 -1
  403. package/_mjs/collection/mutable/HashSet.mjs +4 -4
  404. package/_mjs/collection/mutable/HashSet.mjs.map +1 -1
  405. package/_mjs/control/Eval/api.mjs +5 -2
  406. package/_mjs/control/Eval/api.mjs.map +1 -1
  407. package/_mjs/control/Eval/definition.mjs +1 -0
  408. package/_mjs/control/Eval/definition.mjs.map +1 -1
  409. package/_mjs/control/Eval/instance.mjs +15 -18
  410. package/_mjs/control/Eval/instance.mjs.map +1 -1
  411. package/_mjs/control/Z/definition.mjs +2 -0
  412. package/_mjs/control/Z/definition.mjs.map +1 -1
  413. package/_mjs/control/Z/instances.mjs +7 -8
  414. package/_mjs/control/Z/instances.mjs.map +1 -1
  415. package/_mjs/data/Branded/definition.mjs +18 -0
  416. package/_mjs/data/Branded/definition.mjs.map +1 -0
  417. package/_mjs/data/Branded/derivations.mjs +39 -0
  418. package/_mjs/data/Branded/derivations.mjs.map +1 -0
  419. package/_mjs/data/Branded.mjs +4 -0
  420. package/_mjs/data/Branded.mjs.map +1 -0
  421. package/_mjs/data/CaseClass.mjs +3 -2
  422. package/_mjs/data/CaseClass.mjs.map +1 -1
  423. package/_mjs/data/Cause/api/fold.mjs +2 -0
  424. package/_mjs/data/Cause/api/fold.mjs.map +1 -1
  425. package/_mjs/data/Cause/api.mjs +20 -0
  426. package/_mjs/data/Cause/api.mjs.map +1 -1
  427. package/_mjs/data/Const/api.mjs +3 -3
  428. package/_mjs/data/Const/api.mjs.map +1 -1
  429. package/_mjs/data/Const/definition.mjs +13 -1
  430. package/_mjs/data/Const/definition.mjs.map +1 -1
  431. package/_mjs/data/Const/instances.mjs +7 -15
  432. package/_mjs/data/Const/instances.mjs.map +1 -1
  433. package/_mjs/data/DecodeError/definition.mjs +226 -0
  434. package/_mjs/data/DecodeError/definition.mjs.map +1 -0
  435. package/_mjs/data/DecodeError.mjs +3 -0
  436. package/_mjs/data/DecodeError.mjs.map +1 -0
  437. package/_mjs/data/Decoder/api.mjs +179 -0
  438. package/_mjs/data/Decoder/api.mjs.map +1 -0
  439. package/_mjs/data/Decoder/definition.mjs +24 -0
  440. package/_mjs/data/Decoder/definition.mjs.map +1 -0
  441. package/_mjs/data/Decoder.mjs +4 -0
  442. package/_mjs/data/Decoder.mjs.map +1 -0
  443. package/_mjs/data/Duration/api.mjs +17 -8
  444. package/_mjs/data/Duration/api.mjs.map +1 -1
  445. package/_mjs/data/Either/api/alignWith.mjs +2 -0
  446. package/_mjs/data/Either/api/alignWith.mjs.map +1 -1
  447. package/_mjs/data/Either/api.mjs +91 -21
  448. package/_mjs/data/Either/api.mjs.map +1 -1
  449. package/_mjs/data/Either/definition.mjs +25 -5
  450. package/_mjs/data/Either/definition.mjs.map +1 -1
  451. package/_mjs/data/Either/destructors.mjs +2 -0
  452. package/_mjs/data/Either/destructors.mjs.map +1 -1
  453. package/_mjs/data/Either/instances.mjs +109 -39
  454. package/_mjs/data/Either/instances.mjs.map +1 -1
  455. package/_mjs/data/Environment/api.mjs +23 -7
  456. package/_mjs/data/Environment/api.mjs.map +1 -1
  457. package/_mjs/data/Identity/api.mjs +24 -5
  458. package/_mjs/data/Identity/api.mjs.map +1 -1
  459. package/_mjs/data/Identity/definition.mjs +3 -1
  460. package/_mjs/data/Identity/definition.mjs.map +1 -1
  461. package/_mjs/data/Identity/instances.mjs +12 -18
  462. package/_mjs/data/Identity/instances.mjs.map +1 -1
  463. package/_mjs/data/Interval.mjs +114 -0
  464. package/_mjs/data/Interval.mjs.map +1 -0
  465. package/_mjs/data/Maybe/api.mjs +30 -35
  466. package/_mjs/data/Maybe/api.mjs.map +1 -1
  467. package/_mjs/data/Maybe/definition.mjs +37 -14
  468. package/_mjs/data/Maybe/definition.mjs.map +1 -1
  469. package/_mjs/data/Maybe/destructors.mjs +1 -0
  470. package/_mjs/data/Maybe/destructors.mjs.map +1 -1
  471. package/_mjs/data/Maybe/instances.mjs +56 -39
  472. package/_mjs/data/Maybe/instances.mjs.map +1 -1
  473. package/_mjs/data/Newtype.mjs +4 -3
  474. package/_mjs/data/Newtype.mjs.map +1 -1
  475. package/_mjs/data/Patch/api.mjs +1 -1
  476. package/_mjs/data/Patch/api.mjs.map +1 -1
  477. package/_mjs/data/Refinement/api.mjs +0 -4
  478. package/_mjs/data/Refinement/api.mjs.map +1 -1
  479. package/_mjs/data/Struct/definition.mjs +3 -2
  480. package/_mjs/data/Struct/definition.mjs.map +1 -1
  481. package/_mjs/data/These/api.mjs +262 -0
  482. package/_mjs/data/These/api.mjs.map +1 -0
  483. package/_mjs/data/These/constructors.mjs +14 -2
  484. package/_mjs/data/These/constructors.mjs.map +1 -1
  485. package/_mjs/data/These/definition.mjs +8 -0
  486. package/_mjs/data/These/definition.mjs.map +1 -1
  487. package/_mjs/data/These/destructors.mjs +53 -0
  488. package/_mjs/data/These/destructors.mjs.map +1 -1
  489. package/_mjs/data/These/instances.mjs +36 -0
  490. package/_mjs/data/These/instances.mjs.map +1 -0
  491. package/_mjs/data/These.mjs +1 -0
  492. package/_mjs/data/These.mjs.map +1 -1
  493. package/_mjs/data/bigint/definition.mjs +2 -0
  494. package/_mjs/data/bigint/definition.mjs.map +1 -0
  495. package/_mjs/data/bigint/instances.mjs +10 -0
  496. package/_mjs/data/bigint/instances.mjs.map +1 -0
  497. package/_mjs/data/bigint.mjs +4 -0
  498. package/_mjs/data/bigint.mjs.map +1 -0
  499. package/_mjs/data/boolean/definition.mjs +2 -0
  500. package/_mjs/data/boolean/definition.mjs.map +1 -0
  501. package/_mjs/data/boolean/instances.mjs +10 -0
  502. package/_mjs/data/boolean/instances.mjs.map +1 -0
  503. package/_mjs/data/boolean.mjs +4 -0
  504. package/_mjs/data/boolean.mjs.map +1 -0
  505. package/_mjs/data/number/instances.mjs +14 -4
  506. package/_mjs/data/number/instances.mjs.map +1 -1
  507. package/_mjs/data/object/instances.mjs +10 -0
  508. package/_mjs/data/object/instances.mjs.map +1 -0
  509. package/_mjs/data/string/instances.mjs +20 -8
  510. package/_mjs/data/string/instances.mjs.map +1 -1
  511. package/_mjs/internal/Stack.mjs +4 -0
  512. package/_mjs/internal/Stack.mjs.map +1 -1
  513. package/_mjs/json/EitherJson.mjs +18 -0
  514. package/_mjs/json/EitherJson.mjs.map +1 -0
  515. package/_mjs/json/MaybeJson.mjs +16 -0
  516. package/_mjs/json/MaybeJson.mjs.map +1 -0
  517. package/_mjs/json/TheseJson.mjs +22 -0
  518. package/_mjs/json/TheseJson.mjs.map +1 -0
  519. package/_mjs/optics/Optional/definition.mjs +5 -4
  520. package/_mjs/optics/Optional/definition.mjs.map +1 -1
  521. package/_mjs/optics/Traversal/api/compose.mjs +1 -1
  522. package/_mjs/optics/Traversal/api/compose.mjs.map +1 -1
  523. package/_mjs/optics/Traversal/api/fromTraversable.mjs +5 -4
  524. package/_mjs/optics/Traversal/api/fromTraversable.mjs.map +1 -1
  525. package/_mjs/optics/Traversal/definition.mjs +14 -12
  526. package/_mjs/optics/Traversal/definition.mjs.map +1 -1
  527. package/_mjs/typeclass/Align.mjs +0 -11
  528. package/_mjs/typeclass/Align.mjs.map +1 -1
  529. package/_mjs/typeclass/Alt.mjs +4 -7
  530. package/_mjs/typeclass/Alt.mjs.map +1 -1
  531. package/_mjs/typeclass/Alternative.mjs +0 -13
  532. package/_mjs/typeclass/Alternative.mjs.map +1 -1
  533. package/_mjs/typeclass/Applicative.mjs +0 -12
  534. package/_mjs/typeclass/Applicative.mjs.map +1 -1
  535. package/_mjs/typeclass/ApplicativeExcept.mjs +32 -24
  536. package/_mjs/typeclass/ApplicativeExcept.mjs.map +1 -1
  537. package/_mjs/typeclass/Apply.mjs +85 -42
  538. package/_mjs/typeclass/Apply.mjs.map +1 -1
  539. package/_mjs/typeclass/Chain.mjs +33 -12
  540. package/_mjs/typeclass/Chain.mjs.map +1 -1
  541. package/_mjs/typeclass/Closure.mjs +1 -4
  542. package/_mjs/typeclass/Closure.mjs.map +1 -1
  543. package/_mjs/typeclass/Eq/definition.mjs +9 -0
  544. package/_mjs/typeclass/Eq/definition.mjs.map +1 -0
  545. package/_mjs/typeclass/Eq/derivations.mjs +46 -0
  546. package/_mjs/typeclass/Eq/derivations.mjs.map +1 -0
  547. package/_mjs/typeclass/Eq.mjs +1 -11
  548. package/_mjs/typeclass/Eq.mjs.map +1 -1
  549. package/_mjs/typeclass/Fail.mjs +5 -7
  550. package/_mjs/typeclass/Fail.mjs.map +1 -1
  551. package/_mjs/typeclass/Filterable.mjs +27 -13
  552. package/_mjs/typeclass/Filterable.mjs.map +1 -1
  553. package/_mjs/typeclass/FilterableWithIndex.mjs +0 -16
  554. package/_mjs/typeclass/FilterableWithIndex.mjs.map +1 -1
  555. package/_mjs/typeclass/Foldable.mjs +29 -12
  556. package/_mjs/typeclass/Foldable.mjs.map +1 -1
  557. package/_mjs/typeclass/FoldableWithIndex.mjs +29 -13
  558. package/_mjs/typeclass/FoldableWithIndex.mjs.map +1 -1
  559. package/_mjs/typeclass/Functor.mjs +16 -9
  560. package/_mjs/typeclass/Functor.mjs.map +1 -1
  561. package/_mjs/typeclass/FunctorWithIndex.mjs +0 -12
  562. package/_mjs/typeclass/FunctorWithIndex.mjs.map +1 -1
  563. package/_mjs/typeclass/Guard/api.mjs +23 -0
  564. package/_mjs/typeclass/Guard/api.mjs.map +1 -0
  565. package/_mjs/typeclass/Guard/definition.mjs +23 -0
  566. package/_mjs/typeclass/Guard/definition.mjs.map +1 -0
  567. package/_mjs/typeclass/Guard/derivations.mjs +67 -0
  568. package/_mjs/typeclass/Guard/derivations.mjs.map +1 -0
  569. package/_mjs/typeclass/Guard.mjs +4 -0
  570. package/_mjs/typeclass/Guard.mjs.map +1 -0
  571. package/_mjs/typeclass/HashEq.mjs +3 -3
  572. package/_mjs/typeclass/HashEq.mjs.map +1 -1
  573. package/_mjs/typeclass/Monad.mjs +0 -12
  574. package/_mjs/typeclass/Monad.mjs.map +1 -1
  575. package/_mjs/typeclass/MonadExcept.mjs +9 -13
  576. package/_mjs/typeclass/MonadExcept.mjs.map +1 -1
  577. package/_mjs/typeclass/Monoid.mjs +50 -1
  578. package/_mjs/typeclass/Monoid.mjs.map +1 -1
  579. package/_mjs/typeclass/Nil.mjs +8 -1
  580. package/_mjs/typeclass/Nil.mjs.map +1 -1
  581. package/_mjs/typeclass/Ord/api/contramap.mjs +2 -4
  582. package/_mjs/typeclass/Ord/api/contramap.mjs.map +1 -1
  583. package/_mjs/typeclass/Ord/api/max.mjs +1 -1
  584. package/_mjs/typeclass/Ord/api/max.mjs.map +1 -1
  585. package/_mjs/typeclass/Ord/api/min.mjs +1 -1
  586. package/_mjs/typeclass/Ord/api/min.mjs.map +1 -1
  587. package/_mjs/typeclass/Ord/definition.mjs +2 -3
  588. package/_mjs/typeclass/Ord/definition.mjs.map +1 -1
  589. package/_mjs/typeclass/Ord/instances.mjs +7 -7
  590. package/_mjs/typeclass/Ord/instances.mjs.map +1 -1
  591. package/_mjs/typeclass/Pointed.mjs +5 -4
  592. package/_mjs/typeclass/Pointed.mjs.map +1 -1
  593. package/_mjs/typeclass/Semialign.mjs +67 -74
  594. package/_mjs/typeclass/Semialign.mjs.map +1 -1
  595. package/_mjs/typeclass/Semigroup/api.mjs +2 -2
  596. package/_mjs/typeclass/Semigroup/api.mjs.map +1 -1
  597. package/_mjs/typeclass/Semigroup/definition.mjs.map +1 -1
  598. package/_mjs/typeclass/Semigroup/derivations.mjs +50 -0
  599. package/_mjs/typeclass/Semigroup/derivations.mjs.map +1 -0
  600. package/_mjs/typeclass/Semigroup.mjs +1 -1
  601. package/_mjs/typeclass/Semimonoidal.mjs +8 -6
  602. package/_mjs/typeclass/Semimonoidal.mjs.map +1 -1
  603. package/_mjs/typeclass/Showable/show.mjs +11 -11
  604. package/_mjs/typeclass/Showable/show.mjs.map +1 -1
  605. package/_mjs/typeclass/Traversable.mjs +25 -24
  606. package/_mjs/typeclass/Traversable.mjs.map +1 -1
  607. package/_mjs/typeclass/TraversableWithIndex.mjs +6 -24
  608. package/_mjs/typeclass/TraversableWithIndex.mjs.map +1 -1
  609. package/_mjs/typeclass/Witherable.mjs +39 -32
  610. package/_mjs/typeclass/Witherable.mjs.map +1 -1
  611. package/_mjs/typeclass/WitherableWithIndex.mjs +39 -37
  612. package/_mjs/typeclass/WitherableWithIndex.mjs.map +1 -1
  613. package/_mjs/typeclass.mjs +1 -0
  614. package/_mjs/typeclass.mjs.map +1 -1
  615. package/_mjs/util/predicates.mjs +3 -0
  616. package/_mjs/util/predicates.mjs.map +1 -1
  617. package/_src/collection/Iterable/api/traverseConc.ts +21 -29
  618. package/_src/collection/Iterable/api.ts +20 -34
  619. package/_src/collection/compat/Array/api.ts +1 -1
  620. package/_src/collection/immutable/Conc/api.ts +26 -46
  621. package/_src/collection/immutable/Conc/definition.ts +19 -8
  622. package/_src/collection/immutable/Dictionary/definition.ts +1 -1
  623. package/_src/collection/immutable/HashMap/api.ts +24 -81
  624. package/_src/collection/immutable/HashMap/definition.ts +7 -9
  625. package/_src/collection/immutable/HashMap/internal.ts +1 -1
  626. package/_src/collection/immutable/HashSet/api.ts +4 -4
  627. package/_src/collection/immutable/ImmutableArray/api/chunksOf.ts +6 -0
  628. package/_src/collection/immutable/ImmutableArray/api/slice.ts +6 -0
  629. package/_src/collection/immutable/ImmutableArray/api/splitAt.ts +6 -0
  630. package/_src/collection/immutable/ImmutableArray/api/splitWhere.ts +18 -0
  631. package/_src/collection/immutable/ImmutableArray/api.ts +181 -267
  632. package/_src/collection/immutable/ImmutableArray/definition.ts +6 -8
  633. package/_src/collection/immutable/ImmutableArray/instances.ts +156 -134
  634. package/_src/collection/immutable/ImmutableArray.ts +7 -0
  635. package/_src/collection/immutable/ImmutableNonEmptyArray/api.ts +87 -157
  636. package/_src/collection/immutable/ImmutableNonEmptyArray/constructors.ts +2 -0
  637. package/_src/collection/immutable/ImmutableNonEmptyArray/definition.ts +18 -6
  638. package/_src/collection/immutable/ImmutableNonEmptyArray/instances.ts +39 -49
  639. package/_src/collection/immutable/List/api.ts +2 -6
  640. package/_src/collection/immutable/RoseTree/api.ts +272 -0
  641. package/_src/collection/immutable/RoseTree/definition.ts +29 -0
  642. package/_src/collection/immutable/RoseTree.ts +4 -0
  643. package/_src/collection/immutable/SortedMap/api.ts +56 -53
  644. package/_src/collection/immutable/Vector/api.ts +57 -17
  645. package/_src/collection/immutable/Vector/definition.ts +10 -0
  646. package/_src/collection/mutable/HashMap.ts +5 -5
  647. package/_src/collection/mutable/HashSet.ts +4 -4
  648. package/_src/control/Eval/api.ts +5 -1
  649. package/_src/control/Eval/definition.ts +5 -8
  650. package/_src/control/Eval/instance.ts +16 -15
  651. package/_src/control/Z/definition.ts +26 -19
  652. package/_src/control/Z/instances.ts +9 -8
  653. package/_src/data/Branded/definition.ts +47 -0
  654. package/_src/data/Branded/derivations.ts +57 -0
  655. package/_src/data/Branded.ts +4 -0
  656. package/_src/data/Cause/api/fold.ts +1 -0
  657. package/_src/data/Cause/api.ts +18 -0
  658. package/_src/data/Const/api.ts +3 -3
  659. package/_src/data/Const/definition.ts +22 -5
  660. package/_src/data/Const/instances.ts +12 -21
  661. package/_src/data/DecodeError/definition.ts +227 -0
  662. package/_src/data/DecodeError.ts +3 -0
  663. package/_src/data/Decoder/api.ts +198 -0
  664. package/_src/data/Decoder/definition.ts +25 -0
  665. package/_src/data/Decoder.ts +4 -0
  666. package/_src/data/Duration/api.ts +21 -14
  667. package/_src/data/Either/api/alignWith.ts +2 -0
  668. package/_src/data/Either/api.ts +85 -30
  669. package/_src/data/Either/definition.ts +41 -19
  670. package/_src/data/Either/destructors.ts +1 -0
  671. package/_src/data/Either/instances.ts +102 -51
  672. package/_src/data/Environment/api.ts +19 -4
  673. package/_src/data/Identity/api.ts +19 -4
  674. package/_src/data/Identity/definition.ts +7 -3
  675. package/_src/data/Identity/instances.ts +15 -8
  676. package/_src/data/Interval.ts +103 -0
  677. package/_src/data/Maybe/api.ts +21 -31
  678. package/_src/data/Maybe/definition.ts +31 -19
  679. package/_src/data/Maybe/destructors.ts +1 -0
  680. package/_src/data/Maybe/instances.ts +61 -34
  681. package/_src/data/Newtype.ts +11 -32
  682. package/_src/data/Patch/api.ts +1 -1
  683. package/_src/data/Refinement/api.ts +4 -2
  684. package/_src/data/Struct/definition.ts +1 -1
  685. package/_src/data/These/api.ts +184 -0
  686. package/_src/data/These/constructors.ts +10 -0
  687. package/_src/data/These/definition.ts +7 -0
  688. package/_src/data/These/destructors.ts +45 -0
  689. package/_src/data/These/instances.ts +43 -0
  690. package/_src/data/These.ts +1 -0
  691. package/_src/data/bigint/definition.ts +13 -0
  692. package/_src/data/bigint/instances.ts +8 -0
  693. package/_src/data/bigint.ts +4 -0
  694. package/_src/data/boolean/definition.ts +13 -0
  695. package/_src/data/boolean/instances.ts +8 -0
  696. package/_src/data/boolean.ts +4 -0
  697. package/_src/data/number/instances.ts +13 -3
  698. package/_src/data/object/instances.ts +7 -0
  699. package/_src/data/string/instances.ts +17 -5
  700. package/_src/internal/Stack.ts +4 -0
  701. package/_src/json/EitherJson.ts +28 -0
  702. package/_src/json/MaybeJson.ts +27 -0
  703. package/_src/json/TheseJson.ts +31 -0
  704. package/_src/optics/Optional/definition.ts +2 -2
  705. package/_src/optics/Traversal/api/compose.ts +1 -1
  706. package/_src/optics/Traversal/api/fromTraversable.ts +15 -41
  707. package/_src/optics/Traversal/definition.ts +21 -23
  708. package/_src/typeclass/Align.ts +4 -18
  709. package/_src/typeclass/Alt.ts +59 -90
  710. package/_src/typeclass/Alternative.ts +4 -20
  711. package/_src/typeclass/Applicative.ts +3 -23
  712. package/_src/typeclass/ApplicativeExcept.ts +94 -193
  713. package/_src/typeclass/Apply.ts +319 -509
  714. package/_src/typeclass/Chain.ts +127 -199
  715. package/_src/typeclass/Closure.ts +4 -20
  716. package/_src/typeclass/Eq/definition.ts +20 -0
  717. package/_src/typeclass/Eq/derivations.ts +61 -0
  718. package/_src/typeclass/Eq.ts +2 -36
  719. package/_src/typeclass/Fail.ts +28 -27
  720. package/_src/typeclass/Filterable.ts +70 -117
  721. package/_src/typeclass/FilterableWithIndex.ts +27 -131
  722. package/_src/typeclass/Foldable.ts +35 -52
  723. package/_src/typeclass/FoldableWithIndex.ts +40 -75
  724. package/_src/typeclass/Functor.ts +21 -59
  725. package/_src/typeclass/FunctorWithIndex.ts +6 -34
  726. package/_src/typeclass/Guard/api.ts +32 -0
  727. package/_src/typeclass/Guard/definition.ts +23 -0
  728. package/_src/typeclass/Guard/derivations.ts +80 -0
  729. package/_src/typeclass/Guard.ts +5 -0
  730. package/_src/typeclass/HashEq.ts +3 -4
  731. package/_src/typeclass/Monad.ts +3 -18
  732. package/_src/typeclass/MonadExcept.ts +9 -32
  733. package/_src/typeclass/Monoid.ts +60 -2
  734. package/_src/typeclass/Nil.ts +26 -17
  735. package/_src/typeclass/Ord/api/contramap.ts +2 -4
  736. package/_src/typeclass/Ord/api/max.ts +1 -1
  737. package/_src/typeclass/Ord/api/min.ts +1 -1
  738. package/_src/typeclass/Ord/definition.ts +3 -19
  739. package/_src/typeclass/Ord/instances.ts +6 -6
  740. package/_src/typeclass/Pointed.ts +29 -25
  741. package/_src/typeclass/Semialign.ts +308 -444
  742. package/_src/typeclass/Semigroup/api.ts +2 -2
  743. package/_src/typeclass/Semigroup/definition.ts +2 -6
  744. package/_src/typeclass/Semigroup/derivations.ts +64 -0
  745. package/_src/typeclass/Semigroup.ts +1 -1
  746. package/_src/typeclass/Semimonoidal.ts +55 -84
  747. package/_src/typeclass/Showable/show.ts +6 -8
  748. package/_src/typeclass/Traversable.ts +67 -157
  749. package/_src/typeclass/TraversableWithIndex.ts +37 -127
  750. package/_src/typeclass/Witherable.ts +120 -279
  751. package/_src/typeclass/WitherableWithIndex.ts +129 -337
  752. package/_src/typeclass.ts +2 -0
  753. package/_src/util/predicates.ts +4 -0
  754. package/collection/Iterable/api/traverseConc.d.ts +6 -4
  755. package/collection/Iterable/api.d.ts +5 -13
  756. package/collection/immutable/Conc/api.d.ts +15 -23
  757. package/collection/immutable/Conc/definition.d.ts +10 -7
  758. package/collection/immutable/Dictionary/definition.d.ts +1 -1
  759. package/collection/immutable/HashMap/api.d.ts +15 -27
  760. package/collection/immutable/HashMap/definition.d.ts +6 -9
  761. package/collection/immutable/HashMap/internal.d.ts +1 -1
  762. package/collection/immutable/ImmutableArray/api/chunksOf.d.ts +6 -0
  763. package/collection/immutable/ImmutableArray/api/slice.d.ts +6 -0
  764. package/collection/immutable/ImmutableArray/api/splitAt.d.ts +6 -0
  765. package/collection/immutable/ImmutableArray/api/splitWhere.d.ts +7 -0
  766. package/collection/immutable/ImmutableArray/api.d.ts +42 -119
  767. package/collection/immutable/ImmutableArray/definition.d.ts +6 -8
  768. package/collection/immutable/ImmutableArray/instances.d.ts +86 -17
  769. package/collection/immutable/ImmutableArray.d.ts +4 -0
  770. package/collection/immutable/ImmutableNonEmptyArray/api.d.ts +27 -48
  771. package/collection/immutable/ImmutableNonEmptyArray/constructors.d.ts +2 -1
  772. package/collection/immutable/ImmutableNonEmptyArray/definition.d.ts +15 -8
  773. package/collection/immutable/ImmutableNonEmptyArray/instances.d.ts +1 -1
  774. package/collection/immutable/List/api.d.ts +1 -2
  775. package/collection/immutable/RoseTree/api.d.ts +63 -0
  776. package/collection/immutable/RoseTree/definition.d.ts +23 -0
  777. package/collection/immutable/RoseTree.d.ts +2 -0
  778. package/collection/immutable/SortedMap/api.d.ts +2 -1
  779. package/collection/immutable/Vector/api.d.ts +31 -8
  780. package/collection/immutable/Vector/definition.d.ts +10 -0
  781. package/control/Eval/api.d.ts +1 -0
  782. package/control/Eval/definition.d.ts +5 -8
  783. package/control/Eval/instance.d.ts +4 -1
  784. package/control/Z/definition.d.ts +23 -18
  785. package/control/Z/instances.d.ts +4 -3
  786. package/data/Branded/definition.d.ts +36 -0
  787. package/data/Branded/derivations.d.ts +24 -0
  788. package/data/Branded.d.ts +2 -0
  789. package/data/Cause/api.d.ts +7 -1
  790. package/data/Const/api.d.ts +1 -1
  791. package/data/Const/definition.d.ts +23 -7
  792. package/data/Const/instances.d.ts +4 -12
  793. package/data/DecodeError/definition.d.ts +141 -0
  794. package/data/DecodeError.d.ts +1 -0
  795. package/data/Decoder/api.d.ts +65 -0
  796. package/data/Decoder/definition.d.ts +24 -0
  797. package/data/Decoder.d.ts +2 -0
  798. package/data/Duration/api.d.ts +12 -8
  799. package/data/Either/api.d.ts +29 -17
  800. package/data/Either/definition.d.ts +31 -14
  801. package/data/Either/instances.d.ts +26 -11
  802. package/data/Environment/api.d.ts +5 -0
  803. package/data/Identity/api.d.ts +11 -0
  804. package/data/Identity/definition.d.ts +7 -2
  805. package/data/Identity/instances.d.ts +5 -9
  806. package/data/Interval.d.ts +71 -0
  807. package/data/Maybe/api.d.ts +3 -17
  808. package/data/Maybe/definition.d.ts +20 -14
  809. package/data/Maybe/instances.d.ts +14 -8
  810. package/data/Newtype.d.ts +8 -9
  811. package/data/Refinement/api.d.ts +2 -0
  812. package/data/Struct/definition.d.ts +1 -1
  813. package/data/These/api.d.ts +73 -0
  814. package/data/These/constructors.d.ts +7 -1
  815. package/data/These/definition.d.ts +5 -0
  816. package/data/These/destructors.d.ts +27 -1
  817. package/data/These/instances.d.ts +13 -0
  818. package/data/These.d.ts +1 -0
  819. package/data/bigint/definition.d.ts +13 -0
  820. package/data/bigint/instances.d.ts +7 -0
  821. package/data/bigint.d.ts +2 -0
  822. package/data/boolean/definition.d.ts +13 -0
  823. package/data/boolean/instances.d.ts +7 -0
  824. package/data/boolean.d.ts +2 -0
  825. package/data/number/instances.d.ts +8 -0
  826. package/data/object/instances.d.ts +7 -0
  827. package/data/string/instances.d.ts +10 -0
  828. package/internal/Stack.d.ts +1 -0
  829. package/json/EitherJson.d.ts +24 -0
  830. package/json/MaybeJson.d.ts +23 -0
  831. package/json/TheseJson.d.ts +26 -0
  832. package/optics/Traversal/api/fromTraversable.d.ts +1 -1
  833. package/optics/Traversal/definition.d.ts +4 -9
  834. package/package.json +2 -2
  835. package/typeclass/Align.d.ts +3 -10
  836. package/typeclass/Alt.d.ts +6 -19
  837. package/typeclass/Alternative.d.ts +4 -12
  838. package/typeclass/Applicative.d.ts +3 -12
  839. package/typeclass/ApplicativeExcept.d.ts +14 -39
  840. package/typeclass/Apply.d.ts +41 -72
  841. package/typeclass/Chain.d.ts +18 -28
  842. package/typeclass/Closure.d.ts +2 -12
  843. package/typeclass/Eq/definition.d.ts +17 -0
  844. package/typeclass/Eq/derivations.d.ts +24 -0
  845. package/typeclass/Eq.d.ts +2 -27
  846. package/typeclass/Fail.d.ts +4 -10
  847. package/typeclass/Filterable.d.ts +30 -51
  848. package/typeclass/FilterableWithIndex.d.ts +10 -53
  849. package/typeclass/Foldable.d.ts +19 -31
  850. package/typeclass/FoldableWithIndex.d.ts +20 -33
  851. package/typeclass/Functor.d.ts +11 -22
  852. package/typeclass/FunctorWithIndex.d.ts +3 -19
  853. package/typeclass/Guard/api.d.ts +20 -0
  854. package/typeclass/Guard/definition.d.ts +22 -0
  855. package/typeclass/Guard/derivations.d.ts +36 -0
  856. package/typeclass/Guard.d.ts +2 -0
  857. package/typeclass/HashEq.d.ts +1 -2
  858. package/typeclass/Monad.d.ts +3 -11
  859. package/typeclass/MonadExcept.d.ts +6 -17
  860. package/typeclass/Monoid.d.ts +24 -2
  861. package/typeclass/Nil.d.ts +7 -8
  862. package/typeclass/Ord/definition.d.ts +2 -14
  863. package/typeclass/Pointed.d.ts +4 -10
  864. package/typeclass/Semialign.d.ts +51 -63
  865. package/typeclass/Semigroup/definition.d.ts +3 -5
  866. package/typeclass/Semigroup/derivations.d.ts +25 -0
  867. package/typeclass/Semimonoidal.d.ts +5 -14
  868. package/typeclass/Traversable.d.ts +17 -57
  869. package/typeclass/TraversableWithIndex.d.ts +9 -52
  870. package/typeclass/Witherable.d.ts +22 -82
  871. package/typeclass/WitherableWithIndex.d.ts +26 -98
  872. package/typeclass.d.ts +1 -0
  873. package/util/predicates.d.ts +1 -0
@@ -0,0 +1,7 @@
1
+ import * as P from "@fncts/base/typeclass";
2
+ /**
3
+ * @tsplus static fncts.BigIntOps Guard
4
+ * @tsplus implicit
5
+ * @tsplus location "@fncts/base/data/bigint/instances"
6
+ */
7
+ export declare const Guard: P.Guard<bigint>;
@@ -0,0 +1,2 @@
1
+ export * from "./bigint/definition.js";
2
+ export * from "./bigint/instances.js";
@@ -0,0 +1,13 @@
1
+ declare global {
2
+ /**
3
+ * @tsplus type fncts.Boolean
4
+ */
5
+ export interface Boolean {
6
+ }
7
+ /**
8
+ * @tsplus type fncts.BooleanOps
9
+ */
10
+ export interface BooleanConstructor {
11
+ }
12
+ }
13
+ export {};
@@ -0,0 +1,7 @@
1
+ import * as P from "@fncts/base/typeclass";
2
+ /**
3
+ * @tsplus static fncts.BooleanOps Guard
4
+ * @tsplus implicit
5
+ * @tsplus location "@fncts/base/data/boolean/instances"
6
+ */
7
+ export declare const Guard: P.Guard<boolean>;
@@ -0,0 +1,2 @@
1
+ export * from "./boolean/definition.js";
2
+ export * from "./boolean/instances.js";
@@ -1,11 +1,19 @@
1
1
  import * as P from "../../typeclass.js";
2
2
  /**
3
3
  * @tsplus static fncts.NumberOps Eq
4
+ * @tsplus implicit
4
5
  * @tsplus location "@fncts/base/data/number/instances"
5
6
  */
6
7
  export declare const Eq: P.Eq<number>;
7
8
  /**
8
9
  * @tsplus static fncts.NumberOps Ord
10
+ * @tsplus implicit
9
11
  * @tsplus location "@fncts/base/data/number/instances"
10
12
  */
11
13
  export declare const Ord: P.Ord<number>;
14
+ /**
15
+ * @tsplus static fncts.NumberOps Guard
16
+ * @tsplus implicit
17
+ * @tsplus location "@fncts/base/data/number/instances"
18
+ */
19
+ export declare const Guard: P.Guard<number>;
@@ -0,0 +1,7 @@
1
+ import * as P from "@fncts/base/typeclass";
2
+ /**
3
+ * @tsplus implicit
4
+ * @tsplus static fncts.globalOps Guard
5
+ * @tsplus location "@fncts/base/data/object/instances"
6
+ */
7
+ export declare const Guard: P.Guard<{}>;
@@ -1,21 +1,31 @@
1
1
  import * as P from "../../typeclass.js";
2
2
  /**
3
3
  * @tsplus static fncts.StringOps Eq
4
+ * @tsplus implicit
4
5
  * @tsplus location "@fncts/base/data/string/instances"
5
6
  */
6
7
  export declare const Eq: P.Eq<string>;
7
8
  /**
8
9
  * @tsplus static fncts.StringOps Semigroup
10
+ * @tsplus implicit
9
11
  * @tsplus location "@fncts/base/data/string/instances"
10
12
  */
11
13
  export declare const Semigroup: P.Semigroup<string>;
12
14
  /**
13
15
  * @tsplus static fncts.StringOps Monoid
16
+ * @tsplus implicit
14
17
  * @tsplus location "@fncts/base/data/string/instances"
15
18
  */
16
19
  export declare const Monoid: P.Monoid<string>;
17
20
  /**
18
21
  * @tsplus static fncts.StringOps Ord
22
+ * @tsplus implicit
19
23
  * @tsplus location "@fncts/base/data/string/instances"
20
24
  */
21
25
  export declare const Ord: P.Ord<string>;
26
+ /**
27
+ * @tsplus static fncts.StringOps Guard
28
+ * @tsplus implicit
29
+ * @tsplus location "@fncts/base/data/string/instances"
30
+ */
31
+ export declare const Guard: P.Guard<string>;
@@ -7,6 +7,7 @@ export declare class Stack<A> {
7
7
  constructor(node?: Node<A> | undefined);
8
8
  clone(): Stack<A>;
9
9
  get hasNext(): boolean;
10
+ get isEmpty(): boolean;
10
11
  peek(): A | undefined;
11
12
  pop(): A | undefined;
12
13
  push(value: A): void;
@@ -0,0 +1,24 @@
1
+ import { Decoder } from "@fncts/base/data/Decoder";
2
+ export interface RightJson<A> {
3
+ readonly _tag: "Right";
4
+ readonly right: A;
5
+ }
6
+ export interface LeftJson<E> {
7
+ readonly _tag: "Left";
8
+ readonly left: E;
9
+ }
10
+ /**
11
+ * @tsplus type fncts.EitherJson
12
+ */
13
+ export declare type EitherJson<E, A> = LeftJson<E> | RightJson<A>;
14
+ /**
15
+ * @tsplus type fncts.EitherJsonOps
16
+ */
17
+ export interface EitherJsonOps {
18
+ }
19
+ export declare const EitherJson: EitherJsonOps;
20
+ /**
21
+ * @tsplus static fncts.EitherJsonOps getDecoder
22
+ * @tsplus location "@fncts/base/json/EitherJson"
23
+ */
24
+ export declare function getDecoder<E, A>(left: Decoder<E>, right: Decoder<A>): Decoder<EitherJson<E, A>>;
@@ -0,0 +1,23 @@
1
+ import { Decoder } from "@fncts/base/data/Decoder";
2
+ export interface NothingJson {
3
+ readonly _tag: "Nothing";
4
+ }
5
+ export interface JustJson<A> {
6
+ readonly _tag: "Just";
7
+ readonly value: A;
8
+ }
9
+ /**
10
+ * @tsplus type fncts.MaybeJson
11
+ */
12
+ export declare type MaybeJson<A> = NothingJson | JustJson<A>;
13
+ /**
14
+ * @tsplus type fncts.MaybeJsonOps
15
+ */
16
+ export interface MaybeJsonOps {
17
+ }
18
+ export declare const MaybeJson: MaybeJsonOps;
19
+ /**
20
+ * @tsplus static fncts.MaybeJsonOps getDecoder
21
+ * @tsplus location "@fncts/base/json/MaybeJson"
22
+ */
23
+ export declare function getDecoder<A>(value: Decoder<A>): Decoder<MaybeJson<A>>;
@@ -0,0 +1,26 @@
1
+ import { Decoder } from "@fncts/base/data/Decoder";
2
+ export interface LeftJson<E> {
3
+ readonly _tag: "Left";
4
+ readonly left: E;
5
+ }
6
+ export interface RightJson<A> {
7
+ readonly _tag: "Right";
8
+ readonly right: A;
9
+ }
10
+ export interface BothJson<E, A> {
11
+ readonly _tag: "Both";
12
+ readonly left: E;
13
+ readonly right: A;
14
+ }
15
+ export declare type TheseJson<E, A> = LeftJson<E> | RightJson<A> | BothJson<E, A>;
16
+ /**
17
+ * @tsplus type fncts.TheseJsonOps
18
+ */
19
+ export interface TheseJsonOps {
20
+ }
21
+ export declare const TheseJson: TheseJsonOps;
22
+ /**
23
+ * @tsplus static fncts.TheseJsonOps getDecoder
24
+ * @tsplus location "@fncts/base/json/TheseJson"
25
+ */
26
+ export declare function getDecoder<E, A>(left: Decoder<E>, right: Decoder<A>): Decoder<TheseJson<E, A>>;
@@ -5,4 +5,4 @@ import { PTraversal } from "@fncts/base/optics/Traversal/definition";
5
5
  * @tsplus static fncts.optics.PTraversalOps fromTraversable
6
6
  * @tsplus location "@fncts/base/optics/Traversal/api/fromTraversable"
7
7
  */
8
- export declare function fromTraversable<T extends HKT, C = HKT.None>(T: P.Traversable<T, C>): <A, B, K = HKT.Low<T, "K">, Q = HKT.Low<T, "Q">, W = HKT.Low<T, "W">, X = HKT.Low<T, "X">, I = HKT.Low<T, "I">, S = HKT.Low<T, "S">, R = HKT.Low<T, "R">, E = HKT.Low<T, "E">, K1 = HKT.Low<T, "K">, Q1 = HKT.Low<T, "Q">, W1 = HKT.Low<T, "W">, X1 = HKT.Low<T, "X">, I1 = HKT.Low<T, "I">, S1 = HKT.Low<T, "S">, R1 = HKT.Low<T, "R">, E1 = HKT.Low<T, "E">>() => PTraversal<HKT.Kind<T, C, K, Q, W, X, I, S, R, E, A>, HKT.Kind<T, C, K1, Q1, W1, X1, I1, S1, R1, E1, B>, A, B>;
8
+ export declare function fromTraversable<T extends HKT>(T: P.Traversable<T>): <A, B, K = any, Q = unknown, W = never, X = never, I = any, S = any, R = unknown, E = never>() => PTraversal<import("@fncts/typelevel/HKT").HKT.Kind<T, K, Q, W, X, I, S, R, E, A>, import("@fncts/typelevel/HKT").HKT.Kind<T, K, Q, W, X, I, S, R, E, B>, A, B>;
@@ -6,11 +6,12 @@ import { PSetter } from "@fncts/base/optics/Setter";
6
6
  * @tsplus type fncts.optics.PTraversal
7
7
  */
8
8
  export interface PTraversal<S, T, A, B> extends PSetter<S, T, A, B>, Fold<S, A> {
9
- readonly modifyA_: modifyA_<S, T, A, B>;
10
- readonly modifyA: modifyA<S, T, A, B>;
9
+ modifyA<F extends HKT, K, Q, W, X, I, _S, R, E>(s: S, f: (a: A) => HKT.Kind<F, K, Q, W, X, I, _S, R, E, B>,
10
+ /** @tsplus auto */ F: Applicative<F>): HKT.Kind<F, K, Q, W, X, I, _S, R, E, T>;
11
11
  }
12
12
  export interface PTraversalMin<S, T, A, B> {
13
- readonly modifyA_: modifyA_<S, T, A, B>;
13
+ modifyA<F extends HKT, K, Q, W, X, I, _S, R, E>(s: S, f: (a: A) => HKT.Kind<F, K, Q, W, X, I, _S, R, E, B>,
14
+ /** @tsplus auto */ F: Applicative<F>): HKT.Kind<F, K, Q, W, X, I, _S, R, E, T>;
14
15
  }
15
16
  /**
16
17
  * @tsplus type fncts.optics.PTraversalOps
@@ -38,9 +39,3 @@ export interface TraversalOps extends PTraversalOps {
38
39
  * @tsplus location "@fncts/base/optics/Traversal/definition"
39
40
  */
40
41
  export declare function mkTraversal<S, A>(F: PTraversalMin<S, S, A, A>): Traversal<S, A>;
41
- export interface modifyA_<S, T, A, B> {
42
- <F extends HKT, C = HKT.None>(F: Applicative<F, C>): <K, Q, W, X, I, _S, R, E>(s: S, f: (a: A) => HKT.Kind<F, C, K, Q, W, X, I, _S, R, E, B>) => HKT.Kind<F, C, K, Q, W, X, I, _S, R, E, T>;
43
- }
44
- export interface modifyA<S, T, A, B> {
45
- <F extends HKT, C = HKT.None>(F: Applicative<F, C>): <K, Q, W, X, I, _S, R, E>(f: (a: A) => HKT.Kind<F, C, K, Q, W, X, I, _S, R, E, B>) => (s: S) => HKT.Kind<F, C, K, Q, W, X, I, _S, R, E, T>;
46
- }
package/package.json CHANGED
@@ -1,8 +1,8 @@
1
1
  {
2
2
  "name": "@fncts/base",
3
- "version": "0.0.2",
3
+ "version": "0.0.5",
4
4
  "dependencies": {
5
- "@fncts/typelevel": "0.0.2"
5
+ "@fncts/typelevel": "0.0.5"
6
6
  },
7
7
  "exports": {
8
8
  "./*": {
@@ -1,11 +1,10 @@
1
1
  import { HKT } from "@fncts/typelevel/HKT";
2
- import type { Nil, NilMin } from "@fncts/base/typeclass/Nil";
3
- import type { SemialignMin } from "@fncts/base/typeclass/Semialign";
4
- import { Semialign } from "@fncts/base/typeclass/Semialign";
2
+ import type { Nil } from "@fncts/base/typeclass/Nil";
3
+ import type { Semialign } from "@fncts/base/typeclass/Semialign";
5
4
  /**
6
5
  * @tsplus type fncts.Align
7
6
  */
8
- export interface Align<F extends HKT, FC = HKT.None> extends Semialign<F, FC>, Nil<F, FC> {
7
+ export interface Align<F extends HKT> extends Semialign<F>, Nil<F> {
9
8
  }
10
9
  /**
11
10
  * @tsplus type fncts.AlignOps
@@ -13,9 +12,3 @@ export interface Align<F extends HKT, FC = HKT.None> extends Semialign<F, FC>, N
13
12
  export interface AlignOps {
14
13
  }
15
14
  export declare const Align: AlignOps;
16
- export declare type AlignMin<F extends HKT, FC = HKT.None> = SemialignMin<F, FC> & NilMin<F, FC>;
17
- /**
18
- * @tsplus static fncts.AlignOps __call
19
- * @tsplus location "@fncts/base/typeclass/Align"
20
- */
21
- export declare function mkAlign<F extends HKT, FC = HKT.None>(F: AlignMin<F, FC>): Align<F, FC>;
@@ -1,12 +1,11 @@
1
1
  import { HKT } from "@fncts/typelevel/HKT";
2
- import type { FunctorMin } from "@fncts/base/typeclass/Functor";
3
- import { Functor } from "@fncts/base/typeclass/Functor";
2
+ import { Lazy } from "@fncts/base/data/function/definition";
3
+ import type { Functor } from "@fncts/base/typeclass/Functor";
4
4
  /**
5
5
  * @tsplus type fncts.Alt
6
6
  */
7
- export interface Alt<F extends HKT, FC = HKT.None> extends Functor<F, FC> {
8
- readonly alt_: alt_<F, FC>;
9
- readonly alt: alt<F, FC>;
7
+ export interface Alt<F extends HKT> extends Functor<F> {
8
+ alt<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>, that: Lazy<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>, HKT.Intro<"A", A, 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]>, HKT.Mix<"A", [A, B]>>;
10
9
  }
11
10
  /**
12
11
  * @tsplus type fncts.AltOps
@@ -14,17 +13,5 @@ export interface Alt<F extends HKT, FC = HKT.None> extends Functor<F, FC> {
14
13
  export interface AltOps {
15
14
  }
16
15
  export declare const Alt: AltOps;
17
- export declare type AltMin<F extends HKT, FC = HKT.None> = FunctorMin<F, FC> & {
18
- readonly alt_: alt_<F, FC>;
19
- };
20
- /**
21
- * @tsplus static fncts.AltOps __call
22
- * @tsplus location "@fncts/base/typeclass/Alt"
23
- */
24
- export declare function mkAlt<F extends HKT, C = HKT.None>(F: AltMin<F, C>): Alt<F, C>;
25
- export interface alt<F extends HKT, C = HKT.None> {
26
- <K1, Q1, W1, X1, I1, S1, R1, E1, B>(that: () => 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>, HKT.Intro<F, "A", B, 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]>, HKT.Mix<F, "A", [B, A]>>;
27
- }
28
- export interface alt_<F extends HKT, C = HKT.None> {
29
- <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>, that: () => 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>, HKT.Intro<F, "A", A, 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]>, HKT.Mix<F, "A", [A, B]>>;
30
- }
16
+ export declare function alt<F extends HKT, K, Q, W, X, I, S, R, E, A, K1, Q1, W1, X1, I1, S1, R1, E1, B>(self: HKT.Kind<F, K, Q, W, X, I, S, R, E, A>, that: Lazy<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>, HKT.Intro<"A", A, B>>>,
17
+ /** @tsplus auto */ F: Alt<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]>, HKT.Mix<"A", [A, B]>>;
@@ -1,13 +1,11 @@
1
1
  import { HKT } from "@fncts/typelevel/HKT";
2
- import type { AltMin } from "@fncts/base/typeclass/Alt";
3
- import type { ApplicativeMin } from "@fncts/base/typeclass/Applicative";
4
- import type { Nil, NilMin } from "@fncts/base/typeclass/Nil";
5
- import { Alt } from "@fncts/base/typeclass/Alt";
6
- import { Applicative } from "@fncts/base/typeclass/Applicative";
2
+ import type { Alt } from "@fncts/base/typeclass/Alt";
3
+ import type { Applicative } from "@fncts/base/typeclass/Applicative";
4
+ import type { Nil } from "@fncts/base/typeclass/Nil";
7
5
  /**
8
6
  * @tsplus type fncts.Alternative
9
7
  */
10
- export interface Alternative<F extends HKT, FC = HKT.None> extends Applicative<F, FC>, Nil<F, FC>, Alt<F, FC> {
8
+ export interface Alternative<F extends HKT> extends Applicative<F>, Nil<F>, Alt<F> {
11
9
  }
12
10
  /**
13
11
  * @tsplus type fncts.AlternativeOps
@@ -15,9 +13,3 @@ export interface Alternative<F extends HKT, FC = HKT.None> extends Applicative<F
15
13
  export interface AlternativeOps {
16
14
  }
17
15
  export declare const Alternative: AlternativeOps;
18
- export declare type AlternativeMin<F extends HKT, FC = HKT.None> = ApplicativeMin<F, FC> & NilMin<F, FC> & AltMin<F, FC>;
19
- /**
20
- * @tsplus static fncts.AlternativeOps __call
21
- * @tsplus location "@fncts/base/typeclass/Alternative"
22
- */
23
- export declare function mkAlternative<F extends HKT, C = HKT.None>(F: AlternativeMin<F, C>): Alternative<F, C>;
@@ -1,9 +1,7 @@
1
1
  import { HKT } from "@fncts/typelevel/HKT";
2
- import type { ApplyMin } from "@fncts/base/typeclass/Apply";
3
- import type { PointedMin } from "@fncts/base/typeclass/Pointed";
4
- import { Apply } from "@fncts/base/typeclass/Apply";
5
- import { Pointed } from "@fncts/base/typeclass/Pointed";
6
- export interface Applicative<F extends HKT, FC = HKT.None> extends Apply<F, FC>, Pointed<F, FC> {
2
+ import type { Apply } from "@fncts/base/typeclass/Apply";
3
+ import type { Pointed } from "@fncts/base/typeclass/Pointed";
4
+ export interface Applicative<F extends HKT> extends Apply<F>, Pointed<F> {
7
5
  }
8
6
  /**
9
7
  * @tsplus type fncts.ApplicativeOps
@@ -11,10 +9,3 @@ export interface Applicative<F extends HKT, FC = HKT.None> extends Apply<F, FC>,
11
9
  export interface ApplicativeOps {
12
10
  }
13
11
  export declare const Applicative: ApplicativeOps;
14
- export declare type ApplicativeMin<F extends HKT, FC = HKT.None> = ApplyMin<F, FC> & PointedMin<F, FC>;
15
- /**
16
- * @tsplus static fncts.ApplicativeOps __call
17
- * @tsplus location "@fncts/base/typeclass/Applicative"
18
- */
19
- export declare function mkApplicative<F extends HKT, FC = HKT.None>(F: ApplicativeMin<F, FC>): Applicative<F, FC>;
20
- export declare type CompatibleApplicative<F extends HKT, C, A> = Applicative<F, C> & ([A] extends [HKT.Kind<F, any, any, any, any, any, any, any, any, any, any>] ? unknown : ["invalid Applicative instance for", A]);
@@ -1,18 +1,13 @@
1
- import { Maybe } from "@fncts/base/data/Maybe/definition";
2
1
  import { HKT } from "@fncts/typelevel/HKT";
2
+ import { Maybe } from "@fncts/base/data/Maybe/definition";
3
3
  import { Either } from "@fncts/base/data/Either/definition";
4
- import type { ApplicativeMin } from "@fncts/base/typeclass/Applicative";
5
- import type { Fail, FailMin } from "@fncts/base/typeclass/Fail";
6
- import { Applicative } from "@fncts/base/typeclass/Applicative";
4
+ import type { Applicative } from "@fncts/base/typeclass/Applicative";
5
+ import type { Fail } from "@fncts/base/typeclass/Fail";
7
6
  /**
8
7
  * @tsplus type fncts.ApplicativeExcept
9
8
  */
10
- export interface ApplicativeExcept<F extends HKT.CovariantE, C = HKT.None> extends Applicative<F, C>, Fail<F, C> {
11
- readonly catchAll_: CatchAllFn_<F, C>;
12
- readonly catchAll: CatchAllFn<F, C>;
13
- readonly catchJust_: CatchJustFn_<F, C>;
14
- readonly catchJust: CatchJustFn<F, C>;
15
- readonly either: EitherFn<F, C>;
9
+ export interface ApplicativeExcept<F extends HKT> extends Applicative<F>, Fail<F> {
10
+ catchAll<K, Q, W, X, I, S, R, E, A, K1, Q1, W1, X1, I1, S1, R1, E1, A1>(fa: HKT.Kind<F, K, Q, W, X, I, S, R, E, A>, f: (e: E) => 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>, A1>): 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]>, E1, A | A1>;
16
11
  }
17
12
  /**
18
13
  * @tsplus type fncts.ApplicativeExceptOps
@@ -20,41 +15,21 @@ export interface ApplicativeExcept<F extends HKT.CovariantE, C = HKT.None> exten
20
15
  export interface ApplicativeExceptOps {
21
16
  }
22
17
  export declare const ApplicativeExcept: ApplicativeExceptOps;
23
- export declare type ApplicativeExceptMin<F extends HKT.CovariantE, C = HKT.None> = ApplicativeMin<F, C> & FailMin<F, C> & {
24
- readonly catchAll_: CatchAllFn_<F, C>;
25
- };
26
- /**
27
- * @tsplus static fncts.ApplicativeExceptOps __call
28
- * @tsplus location "@fncts/base/typeclass/ApplicativeExcept"
29
- */
30
- export declare function mkApplicativeExcept<F extends HKT.CovariantE, C = HKT.None>(F: ApplicativeExceptMin<F, C>): ApplicativeExcept<F, C>;
31
- export interface CatchAllFn_<F extends HKT.CovariantE, C = HKT.None> {
32
- <K, Q, W, X, I, S, R, E, A, K1, Q1, W1, X1, I1, S1, R1, E1, A1>(fa: HKT.Kind<F, C, K, Q, W, X, I, S, R, E, A>, f: (e: HKT.OrFix<C, "E", E>) => 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>, A1>): 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]>, E1, A | A1>;
33
- }
34
- export interface CatchAllFn<F extends HKT.CovariantE, C = HKT.None> {
35
- <E, K1, Q1, W1, X1, I1, S1, R1, E1, A1>(f: (e: HKT.OrFix<C, "E", E>) => HKT.Kind<F, C, K1, Q1, W1, X1, I1, S1, R1, E1, A1>): <K, Q, W, X, I, S, R, 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]>, E1, A | A1>;
36
- }
37
- export interface CatchJustFn_<F extends HKT.CovariantE, C = HKT.None> {
38
- <K, Q, W, X, I, S, R, E, A, K1, Q1, W1, X1, I1, S1, R1, E1, A1>(fa: HKT.Kind<F, C, K, Q, W, X, I, S, R, E, A>, f: (e: HKT.OrFix<C, "E", E>) => Maybe<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>, A1>>): 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 | A1>;
39
- }
40
18
  /**
41
- * @tsplus static fncts.ApplicativeExceptOps catchJustF_
19
+ * @tsplus fluent fncts.Kind catchAll
42
20
  * @tsplus location "@fncts/base/typeclass/ApplicativeExcept"
43
21
  */
44
- export declare function catchJustF_<F extends HKT.CovariantE, C = HKT.None>(F: ApplicativeExceptMin<F, C>): CatchJustFn_<F, C>;
45
- export interface CatchJustFn<F extends HKT, C = HKT.None> {
46
- <E, K1, Q1, W1, X1, I1, S1, R1, E1, A1>(f: (e: HKT.OrFix<C, "E", E>) => Maybe<HKT.Kind<F, C, K1, Q1, W1, X1, I1, S1, R1, E1, A1>>): <K, Q, W, X, I, S, R, 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]>, A | A1>;
47
- }
22
+ export declare function catchAll<F extends HKT, K, Q, W, X, I, S, R, E, A, K1, Q1, W1, X1, I1, S1, R1, E1, A1>(fa: HKT.Kind<F, K, Q, W, X, I, S, R, E, A>, f: (e: E) => 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>, A1>,
23
+ /** @tsplus auto */ F: ApplicativeExcept<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]>, E1, A | A1>;
48
24
  /**
49
- * @tsplus static fncts.ApplicativeExceptOps catchJustF
25
+ * @tsplus fluent fncts.Kind catchJust
50
26
  * @tsplus location "@fncts/base/typeclass/ApplicativeExcept"
51
27
  */
52
- export declare function catchJustF<F extends HKT.CovariantE, C = HKT.None>(F: ApplicativeExceptMin<F, C>): CatchJustFn<F, C>;
53
- export interface EitherFn<F extends HKT, C = HKT.None> {
54
- <K, Q, W, X, I, S, R, E, A>(fa: HKT.Kind<F, C, K, Q, W, X, I, S, R, E, A>): HKT.Kind<F, C, K, Q, W, X, I, S, R, never, Either<HKT.OrFix<C, "E", E>, A>>;
55
- }
28
+ export declare function catchJust<F extends HKT, K, Q, W, X, I, S, R, E, A, K1, Q1, W1, X1, I1, S1, R1, E1, A1>(fa: HKT.Kind<F, K, Q, W, X, I, S, R, E, A>, f: (e: E) => Maybe<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>, A1>>,
29
+ /** @tsplus auto */ F: ApplicativeExcept<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]>, A | A1>;
56
30
  /**
57
- * @tsplus static fncts.ApplicativeExceptOps eitherF
31
+ * @tsplus fluent fncts.Kind either
58
32
  * @tsplus location "@fncts/base/typeclass/ApplicativeExcept"
59
33
  */
60
- export declare function eitherF<F extends HKT.CovariantE, C = HKT.None>(F: ApplicativeExceptMin<F, C>): EitherFn<F, C>;
34
+ export declare function either<F extends HKT, K, Q, W, X, I, S, R, E, A>(self: HKT.Kind<F, K, Q, W, X, I, S, R, E, A>,
35
+ /** @tsplus auto */ F: ApplicativeExcept<F>): HKT.Kind<F, K, Q, W, X, I, S, R, never, Either<E, A>>;
@@ -1,20 +1,12 @@
1
1
  import { HKT } from "@fncts/typelevel/HKT";
2
- import type { FunctorMin } from "@fncts/base/typeclass/Functor";
2
+ import type { Functor } from "@fncts/base/typeclass/Functor";
3
3
  import type { Semimonoidal } from "@fncts/base/typeclass/Semimonoidal";
4
4
  import type { Object } from "@fncts/typelevel";
5
- import { Functor } from "@fncts/base/typeclass/Functor";
6
5
  /**
7
6
  * @tsplus type fncts.Apply
8
7
  */
9
- export interface Apply<F extends HKT, FC = HKT.None> extends Semimonoidal<F, FC>, Functor<F, FC> {
10
- readonly ap_: ap_<F, FC>;
11
- readonly ap: ap<F, FC>;
12
- readonly apFirst_: apFirst_<F, FC>;
13
- readonly apFirst: apFirst<F, FC>;
14
- readonly apSecond_: apSecond_<F, FC>;
15
- readonly apSecond: apSecond<F, FC>;
16
- readonly zipWith_: zipWith_<F, FC>;
17
- readonly zipWith: zipWith<F, FC>;
8
+ export interface Apply<F extends HKT> extends Semimonoidal<F>, Functor<F> {
9
+ zipWith<K1, Q1, W1, X1, I1, S1, R1, E1, A, K2, Q2, W2, X2, I2, S2, R2, E2, B, D>(self: HKT.Kind<F, K1, Q1, W1, X1, I1, S1, R1, E1, A>, that: 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>, f: (a: A, b: B) => D): 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]>, D>;
18
10
  }
19
11
  /**
20
12
  * @tsplus type fncts.ApplyOps
@@ -22,82 +14,59 @@ export interface Apply<F extends HKT, FC = HKT.None> extends Semimonoidal<F, FC>
22
14
  export interface ApplyOps {
23
15
  }
24
16
  export declare const Apply: ApplyOps;
25
- export declare type ApplyMin<F extends HKT, FC = HKT.None> = {
26
- readonly ap_: ap_<F, FC>;
27
- zipWith_: zipWith_<F, FC>;
28
- } & FunctorMin<F, FC>;
29
17
  /**
30
- * @tsplus static fncts.ApplyOps __call
18
+ * @tsplus fluent fncts.Kind zipWith
31
19
  * @tsplus location "@fncts/base/typeclass/Apply"
32
20
  */
33
- export declare function mkApply<F extends HKT, FC = HKT.None>(F: ApplyMin<F, FC>): Apply<F, FC>;
34
- export interface ap_<F extends HKT, FC = HKT.None> {
35
- <K1, Q1, W1, X1, I1, S1, R1, E1, A, K2, Q2, W2, X2, I2, S2, R2, E2, B>(fab: HKT.Kind<F, FC, K1, Q1, W1, X1, I1, S1, R1, E1, (a: A) => B>, fa: HKT.Kind<F, FC, 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, FC, 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]>, B>;
36
- }
37
- export interface ap<F extends HKT, FC = HKT.None> {
38
- <K1, Q1, W1, X1, I1, S1, R1, E1, A>(fa: HKT.Kind<F, FC, K1, Q1, W1, X1, I1, S1, R1, E1, A>): <K2, Q2, W2, X2, I2, S2, R2, E2, B>(fab: HKT.Kind<F, FC, 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: A) => B>) => HKT.Kind<F, FC, 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]>, B>;
39
- }
40
- export interface apFirst_<F extends HKT, FC = HKT.None> {
41
- <K1, Q1, W1, X1, I1, S1, R1, E1, A, K2, Q2, W2, X2, I2, S2, R2, E2, B>(fa: HKT.Kind<F, FC, K1, Q1, W1, X1, I1, S1, R1, E1, A>, fb: HKT.Kind<F, FC, 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, FC, 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]>, A>;
42
- }
43
- export interface apFirst<F extends HKT, FC = HKT.None> {
44
- <K1, Q1, W1, X1, I1, S1, R1, E1, B>(fb: HKT.Kind<F, FC, K1, Q1, W1, X1, I1, S1, R1, E1, B>): <K2, Q2, W2, X2, I2, S2, R2, E2, A>(fa: HKT.Kind<F, FC, 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, FC, 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]>, A>;
45
- }
46
- export interface apSecond_<F extends HKT, FC = HKT.None> {
47
- <K1, Q1, W1, X1, I1, S1, R1, E1, A, K2, Q2, W2, X2, I2, S2, R2, E2, B>(fa: HKT.Kind<F, FC, K1, Q1, W1, X1, I1, S1, R1, E1, A>, fb: HKT.Kind<F, FC, 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, FC, 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]>, B>;
48
- }
49
- export interface apSecond<F extends HKT, FC = HKT.None> {
50
- <K1, Q1, W1, X1, I1, S1, R1, E1, B>(fb: HKT.Kind<F, FC, K1, Q1, W1, X1, I1, S1, R1, E1, B>): <K2, Q2, W2, X2, I2, S2, R2, E2, A>(fa: HKT.Kind<F, FC, 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, FC, 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]>, B>;
51
- }
52
- export interface zipWith_<F extends HKT, FC = HKT.None> {
53
- <K1, Q1, W1, X1, I1, S1, R1, E1, A, K2, Q2, W2, X2, I2, S2, R2, E2, B, C>(fa: HKT.Kind<F, FC, K1, Q1, W1, X1, I1, S1, R1, E1, A>, fb: HKT.Kind<F, FC, 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>, f: (a: A, b: B) => C): HKT.Kind<F, FC, 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]>, C>;
54
- }
55
- export interface zipWith<F extends HKT, FC = HKT.None> {
56
- <A, K1, Q1, W1, X1, I1, S1, R1, E1, B, C>(fb: HKT.Kind<F, FC, K1, Q1, W1, X1, I1, S1, R1, E1, B>, f: (a: A, b: B) => C): <K2, Q2, W2, X2, I2, S2, R2, E2>(fa: HKT.Kind<F, FC, 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, FC, 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]>, C>;
57
- }
58
- export interface apS_<F extends HKT, FC = HKT.None> {
59
- <K1, Q1, W1, X1, I1, S1, R1, E1, A, BN extends string, K2, Q2, W2, X2, I2, S2, R2, E2, B>(fa: HKT.Kind<F, FC, K1, Q1, W1, X1, I1, S1, R1, E1, A>, name: Exclude<BN, keyof A>, fb: HKT.Kind<F, FC, 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, FC, 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]>, {
60
- [K in keyof A | BN]: K extends keyof A ? A[K] : B;
61
- }>;
62
- }
63
- export interface apS<F extends HKT, FC = HKT.None> {
64
- <BN extends string, K1, Q1, W1, X1, I1, S1, R1, E1, A1, A>(name: Exclude<BN, keyof A>, fb: HKT.Kind<F, FC, K1, Q1, W1, X1, I1, S1, R1, E1, A1>): <K, Q, W, X, I, S, R, E>(fa: HKT.Kind<F, FC, 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, FC, 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]>, {
65
- [K in keyof A | BN]: K extends keyof A ? A[K] : A1;
66
- }>;
67
- }
68
- export interface sequenceS<F extends HKT, FC = HKT.None> {
69
- <KS extends Readonly<Record<string, HKT.Kind<F, FC, HKT.Intro<F, "K", K, any>, HKT.Intro<F, "Q", Q, any>, HKT.Intro<F, "W", W, any>, HKT.Intro<F, "X", X, any>, HKT.Intro<F, "I", I, any>, HKT.Intro<F, "S", S, any>, HKT.Intro<F, "R", R, any>, HKT.Intro<F, "E", E, any>, A>>>, 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">>(r: Object.EnforceNonEmpty<KS> & Readonly<Record<string, HKT.Kind<F, FC, HKT.Intro<F, "K", K, any>, HKT.Intro<F, "Q", Q, any>, HKT.Intro<F, "W", W, any>, HKT.Intro<F, "X", X, any>, HKT.Intro<F, "I", I, any>, HKT.Intro<F, "S", S, any>, HKT.Intro<F, "R", R, any>, HKT.Intro<F, "E", E, any>, A>>>): HKT.Kind<F, FC, InferMixStruct<F, FC, "K", K, KS>, InferMixStruct<F, FC, "Q", Q, KS>, InferMixStruct<F, FC, "W", W, KS>, InferMixStruct<F, FC, "X", X, KS>, InferMixStruct<F, FC, "I", I, KS>, InferMixStruct<F, FC, "S", S, KS>, InferMixStruct<F, FC, "R", R, KS>, InferMixStruct<F, FC, "E", E, KS>, {
70
- [K in keyof KS]: HKT.Infer<F, FC, "A", KS[K]>;
71
- }>;
72
- }
21
+ export declare function zipWith<F extends HKT, K1, Q1, W1, X1, I1, S1, R1, E1, A, K2, Q2, W2, X2, I2, S2, R2, E2, B, D>(self: HKT.Kind<F, K1, Q1, W1, X1, I1, S1, R1, E1, A>, that: 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>, f: (a: A, b: B) => D,
22
+ /** @tsplus auto */ F: Apply<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]>, D>;
73
23
  /**
74
- * @tsplus static fncts.ApplyOps sequenceSF
24
+ * @tsplus fluent fncts.Kind ap
75
25
  * @tsplus location "@fncts/base/typeclass/Apply"
76
26
  */
77
- export declare function sequenceSF<F extends HKT, C = HKT.None>(F: ApplyMin<F, C>): sequenceS<F, C>;
78
- export interface sequenceT<F extends HKT, FC = HKT.None> {
79
- <KT extends readonly [
80
- HKT.Kind<F, FC, HKT.Intro<F, "K", K, any>, HKT.Intro<F, "Q", Q, any>, HKT.Intro<F, "W", W, any>, HKT.Intro<F, "X", X, any>, HKT.Intro<F, "I", I, any>, HKT.Intro<F, "S", S, any>, HKT.Intro<F, "R", R, any>, HKT.Intro<F, "E", E, any>, unknown>,
81
- ...ReadonlyArray<HKT.Kind<F, FC, HKT.Intro<F, "K", K, any>, HKT.Intro<F, "Q", Q, any>, HKT.Intro<F, "W", W, any>, HKT.Intro<F, "X", X, any>, HKT.Intro<F, "I", I, any>, HKT.Intro<F, "S", S, any>, HKT.Intro<F, "R", R, any>, HKT.Intro<F, "E", E, any>, unknown>>
82
- ], 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">>(...t: KT): HKT.Kind<F, FC, InferMixTuple<F, FC, "K", K, KT>, InferMixTuple<F, FC, "Q", Q, KT>, InferMixTuple<F, FC, "W", W, KT>, InferMixTuple<F, FC, "X", X, KT>, InferMixTuple<F, FC, "I", I, KT>, InferMixTuple<F, FC, "S", S, KT>, InferMixTuple<F, FC, "R", R, KT>, InferMixTuple<F, FC, "E", E, KT>, {
83
- [K in keyof KT]: HKT.Infer<F, FC, "A", KT[K]>;
84
- }>;
85
- }
27
+ export declare function ap<F extends HKT, K1, Q1, W1, X1, I1, S1, R1, E1, A, K2, Q2, W2, X2, I2, S2, R2, E2, B>(fab: HKT.Kind<F, K1, Q1, W1, X1, I1, S1, R1, E1, (a: A) => B>, fa: 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>, A>,
28
+ /** @tsplus auto */ F: Apply<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]>, B>;
29
+ /**
30
+ * @tsplus fluent fncts.Kind apFirst
31
+ * @tsplus location "@fncts/base/typeclass/Apply"
32
+ */
33
+ export declare function apFirst<F extends HKT, 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>,
34
+ /** @tsplus auto */ F: Apply<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]>, A>;
35
+ /**
36
+ * @tsplus fluent fncts.Kind apSecond
37
+ * @tsplus location "@fncts/base/typeclass/Apply"
38
+ */
39
+ export declare function apSecond<F extends HKT, 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>,
40
+ /** @tsplus auto */ F: Apply<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]>, B>;
41
+ export declare function apS<F extends HKT, K1, Q1, W1, X1, I1, S1, R1, E1, A, BN extends string, K2, Q2, W2, X2, I2, S2, R2, E2, B>(fa: HKT.Kind<F, K1, Q1, W1, X1, I1, S1, R1, E1, A>, name: Exclude<BN, keyof 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>,
42
+ /** @tsplus auto */ F: Apply<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]>, {
43
+ [K in keyof A | BN]: K extends keyof A ? A[K] : B;
44
+ }>;
86
45
  /**
87
- * @tsplus static fncts.ApplyOps sequenceTF
46
+ * @tsplus static fncts.ApplyOps sequenceS
88
47
  * @tsplus location "@fncts/base/typeclass/Apply"
89
48
  */
90
- export declare function sequenceTF<F extends HKT, FC = HKT.None>(F: ApplyMin<F, FC>): sequenceT<F, FC>;
49
+ export declare function sequenceS<F extends HKT, KS extends Readonly<Record<string, HKT.Kind<F, HKT.Intro<"K", K, any>, HKT.Intro<"Q", Q, any>, HKT.Intro<"W", W, any>, HKT.Intro<"Q", Q, any>, HKT.Intro<"I", I, any>, HKT.Intro<"S", S, any>, HKT.Intro<"R", R, any>, HKT.Intro<"E", E, any>, A>>>, A, K = HKT.Low<"K">, Q = HKT.Low<"Q">, W = HKT.Low<"W">, I = HKT.Low<"I">, S = HKT.Low<"S">, R = HKT.Low<"R">, E = HKT.Low<"E">>(r: Object.EnforceNonEmpty<KS> & Readonly<Record<string, HKT.Kind<F, HKT.Intro<"K", K, any>, HKT.Intro<"Q", Q, any>, HKT.Intro<"W", W, any>, HKT.Intro<"Q", Q, any>, HKT.Intro<"I", I, any>, HKT.Intro<"S", S, any>, HKT.Intro<"R", R, any>, HKT.Intro<"E", E, any>, A>>>,
50
+ /** @tsplus auto */ F: Apply<F>): HKT.Kind<F, InferMixStruct<F, "K", K, KS>, InferMixStruct<F, "Q", Q, KS>, InferMixStruct<F, "W", W, KS>, InferMixStruct<F, "Q", Q, KS>, InferMixStruct<F, "I", I, KS>, InferMixStruct<F, "S", S, KS>, InferMixStruct<F, "R", R, KS>, InferMixStruct<F, "E", E, KS>, {
51
+ [K in keyof KS]: HKT.Infer<F, "A", KS[K]>;
52
+ }>;
53
+ export declare function sequenceT<F extends HKT, KT extends readonly [
54
+ HKT.Kind<F, HKT.Intro<"K", K, any>, HKT.Intro<"Q", Q, any>, HKT.Intro<"W", W, any>, HKT.Intro<"Q", Q, any>, HKT.Intro<"I", I, any>, HKT.Intro<"S", S, any>, HKT.Intro<"R", R, any>, HKT.Intro<"E", E, any>, unknown>,
55
+ ...ReadonlyArray<HKT.Kind<F, HKT.Intro<"K", K, any>, HKT.Intro<"Q", Q, any>, HKT.Intro<"W", W, any>, HKT.Intro<"Q", Q, any>, HKT.Intro<"I", I, any>, HKT.Intro<"S", S, any>, HKT.Intro<"R", R, any>, HKT.Intro<"E", E, any>, unknown>>
56
+ ], K = HKT.Low<"K">, Q = HKT.Low<"Q">, W = HKT.Low<"W">, I = HKT.Low<"I">, S = HKT.Low<"S">, R = HKT.Low<"R">, E = HKT.Low<"E">>(t: [...KT],
57
+ /** @tsplus auto */ F: Apply<F>): HKT.Kind<F, InferMixTuple<F, "K", K, KT>, InferMixTuple<F, "Q", Q, KT>, InferMixTuple<F, "W", W, KT>, InferMixTuple<F, "Q", Q, KT>, InferMixTuple<F, "I", I, KT>, InferMixTuple<F, "S", S, KT>, InferMixTuple<F, "R", R, KT>, InferMixTuple<F, "E", E, KT>, {
58
+ [K in keyof KT]: HKT.Infer<F, "A", KT[K]>;
59
+ }>;
91
60
  /**
92
61
  * @internal
93
62
  */
94
- declare type InferMixStruct<F extends HKT, FC, P extends HKT.ParamName, T, KS> = HKT.MixStruct<F, P, T, {
95
- [K in keyof KS]: HKT.Infer<F, FC, P, KS[K]>;
63
+ declare type InferMixStruct<F extends HKT, P extends HKT.ParamName, T, KS> = HKT.MixStruct<P, T, {
64
+ [K in keyof KS]: HKT.Infer<F, P, KS[K]>;
96
65
  }>;
97
66
  /**
98
67
  * @internal
99
68
  */
100
- declare type InferMixTuple<F extends HKT, FC, P extends HKT.ParamName, T, KT> = HKT.MixStruct<F, P, T, {
101
- [K in keyof KT & number]: HKT.Infer<F, FC, P, KT[K]>;
69
+ declare type InferMixTuple<F extends HKT, P extends HKT.ParamName, T, KT> = HKT.MixStruct<P, T, {
70
+ [K in keyof KT & number]: HKT.Infer<F, P, KT[K]>;
102
71
  }>;
103
72
  export {};