@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
@@ -1,12 +1,7 @@
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";
4
- export interface FlatMap<F extends HKT, FC = HKT.None> extends Functor<F, FC> {
5
- readonly flatMap_: flatMap_<F, FC>;
6
- readonly flatMap: flatMap<F, FC>;
7
- readonly flatten: flatten<F, FC>;
8
- readonly tap_: tap_<F, FC>;
9
- readonly tap: tap<F, FC>;
2
+ import type { Functor } from "@fncts/base/typeclass/Functor";
3
+ export interface FlatMap<F extends HKT> extends Functor<F> {
4
+ flatMap<K1, Q1, W1, X1, I1, S1, R1, E1, A, K2, Q2, W2, X2, I2, S2, R2, E2, B>(ma: HKT.Kind<F, K1, Q1, W1, X1, I1, S1, R1, E1, A>, f: (a: A) => 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]>, B>;
10
5
  }
11
6
  /**
12
7
  * @tsplus type fncts.FlatMapOps
@@ -14,26 +9,21 @@ export interface FlatMap<F extends HKT, FC = HKT.None> extends Functor<F, FC> {
14
9
  export interface FlatMapOps {
15
10
  }
16
11
  export declare const FlatMap: FlatMapOps;
17
- export declare type ChainMin<F extends HKT, FC = HKT.None> = {
18
- readonly flatMap_: flatMap_<F, FC>;
19
- } & FunctorMin<F, FC>;
20
12
  /**
21
- * @tsplus static fncts.FlatMapOps __call
13
+ * @tsplus fluent fncts.Kind flatMap
22
14
  * @tsplus location "@fncts/base/typeclass/Chain"
23
15
  */
24
- export declare function mkFlatMap<F extends HKT, FC = HKT.None>(F: ChainMin<F, FC>): FlatMap<F, FC>;
25
- export interface flatMap_<F extends HKT, FC = HKT.None> {
26
- <K1, Q1, W1, X1, I1, S1, R1, E1, A, K2, Q2, W2, X2, I2, S2, R2, E2, B>(ma: HKT.Kind<F, FC, K1, Q1, W1, X1, I1, S1, R1, E1, A>, f: (a: A) => 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>;
27
- }
28
- export interface flatMap<F extends HKT, TC = HKT.None> {
29
- <K2, Q2, W2, X2, I2, S2, R2, E2, B, A>(f: (a: A) => HKT.Kind<F, TC, K2, Q2, W2, X2, I2, S2, R2, E2, B>): <K1, Q1, W1, X1, I1, S1, R1, E1>(ma: HKT.Kind<F, TC, HKT.Intro<F, "K", K2, K1>, HKT.Intro<F, "Q", Q2, Q1>, HKT.Intro<F, "W", W2, W1>, HKT.Intro<F, "X", X2, X1>, HKT.Intro<F, "I", I2, I1>, HKT.Intro<F, "S", S2, S1>, HKT.Intro<F, "R", R2, R1>, HKT.Intro<F, "E", E2, E1>, A>) => HKT.Kind<F, TC, HKT.Mix<F, "K", [K2, K1]>, HKT.Mix<F, "Q", [Q2, Q1]>, HKT.Mix<F, "W", [W2, W1]>, HKT.Mix<F, "X", [X2, X1]>, HKT.Mix<F, "I", [I2, I1]>, HKT.Mix<F, "S", [S2, S1]>, HKT.Mix<F, "R", [R2, R1]>, HKT.Mix<F, "E", [E2, E1]>, B>;
30
- }
31
- export interface flatten<F extends HKT, FC = HKT.None> {
32
- <K1, Q1, W1, X1, I1, S1, R1, E1, A, K2, Q2, W2, X2, I2, S2, R2, E2>(mma: HKT.Kind<F, FC, K2, Q2, W2, X2, I2, S2, R2, E2, HKT.Kind<F, FC, HKT.Intro<F, "K", K2, K1>, HKT.Intro<F, "Q", Q2, Q1>, HKT.Intro<F, "W", W2, W1>, HKT.Intro<F, "X", X2, X1>, HKT.Intro<F, "I", I2, I1>, HKT.Intro<F, "S", S2, S1>, HKT.Intro<F, "R", R2, R1>, HKT.Intro<F, "E", E2, E1>, A>>): HKT.Kind<F, FC, HKT.Mix<F, "K", [K2, K1]>, HKT.Mix<F, "Q", [Q2, Q1]>, HKT.Mix<F, "W", [W2, W1]>, HKT.Mix<F, "X", [X2, X1]>, HKT.Mix<F, "I", [I2, I1]>, HKT.Mix<F, "S", [S2, S1]>, HKT.Mix<F, "R", [R2, R1]>, HKT.Mix<F, "E", [E2, E1]>, A>;
33
- }
34
- export interface tap_<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>(ma: HKT.Kind<F, FC, K1, Q1, W1, X1, I1, S1, R1, E1, A>, f: (a: A) => 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>;
36
- }
37
- export interface tap<F extends HKT, TC = HKT.None> {
38
- <K2, Q2, W2, X2, I2, S2, R2, E2, B, A>(f: (a: A) => HKT.Kind<F, TC, K2, Q2, W2, X2, I2, S2, R2, E2, B>): <K1, Q1, W1, X1, I1, S1, R1, E1>(ma: HKT.Kind<F, TC, HKT.Intro<F, "K", K2, K1>, HKT.Intro<F, "Q", Q2, Q1>, HKT.Intro<F, "W", W2, W1>, HKT.Intro<F, "X", X2, X1>, HKT.Intro<F, "I", I2, I1>, HKT.Intro<F, "S", S2, S1>, HKT.Intro<F, "R", R2, R1>, HKT.Intro<F, "E", E2, E1>, A>) => HKT.Kind<F, TC, HKT.Mix<F, "K", [K2, K1]>, HKT.Mix<F, "Q", [Q2, Q1]>, HKT.Mix<F, "W", [W2, W1]>, HKT.Mix<F, "X", [X2, X1]>, HKT.Mix<F, "I", [I2, I1]>, HKT.Mix<F, "S", [S2, S1]>, HKT.Mix<F, "R", [R2, R1]>, HKT.Mix<F, "E", [E2, E1]>, A>;
39
- }
16
+ export declare function flatMap<F extends HKT, K1, Q1, W1, X1, I1, S1, R1, E1, A, K2, Q2, W2, X2, I2, S2, R2, E2, B>(ma: HKT.Kind<F, K1, Q1, W1, X1, I1, S1, R1, E1, A>, f: (a: A) => 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>,
17
+ /** @tsplus auto */ F: FlatMap<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>;
18
+ /**
19
+ * @tsplus fluent fncts.Kind flatten
20
+ * @tsplus location "@fncts/base/typeclass/Chain"
21
+ */
22
+ export declare function flatten<F extends HKT, K1, Q1, W1, X1, I1, S1, R1, E1, A, K2, Q2, W2, X2, I2, S2, R2, E2>(mma: HKT.Kind<F, K2, Q2, W2, X2, I2, S2, R2, E2, HKT.Kind<F, HKT.Intro<"K", K2, K1>, HKT.Intro<"Q", Q2, Q1>, HKT.Intro<"W", W2, W1>, HKT.Intro<"X", X2, X1>, HKT.Intro<"I", I2, I1>, HKT.Intro<"S", S2, S1>, HKT.Intro<"R", R2, R1>, HKT.Intro<"E", E2, E1>, A>>,
23
+ /** @tsplus auto */ F: FlatMap<F>): HKT.Kind<F, HKT.Mix<"K", [K2, K1]>, HKT.Mix<"Q", [Q2, Q1]>, HKT.Mix<"W", [W2, W1]>, HKT.Mix<"X", [X2, X1]>, HKT.Mix<"I", [I2, I1]>, HKT.Mix<"S", [S2, S1]>, HKT.Mix<"R", [R2, R1]>, HKT.Mix<"E", [E2, E1]>, A>;
24
+ /**
25
+ * @tsplus fluent fncts.Kind tap
26
+ * @tsplus location "@fncts/base/typeclass/Chain"
27
+ */
28
+ export declare function tap<F extends HKT, K1, Q1, W1, X1, I1, S1, R1, E1, A, K2, Q2, W2, X2, I2, S2, R2, E2, B>(ma: HKT.Kind<F, K1, Q1, W1, X1, I1, S1, R1, E1, A>, f: (a: A) => 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>,
29
+ /** @tsplus auto */ F: FlatMap<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>;
@@ -2,8 +2,7 @@
2
2
  * @tsplus type fncts.Closure
3
3
  */
4
4
  export interface Closure<A> {
5
- readonly combine_: (x: A, y: A) => A;
6
- readonly combine: (y: A) => (x: A) => A;
5
+ readonly combine: (x: A, y: A) => A;
7
6
  }
8
7
  /**
9
8
  * @tsplus type fncts.ClosureOps
@@ -11,17 +10,8 @@ export interface Closure<A> {
11
10
  export interface ClosureOps {
12
11
  }
13
12
  export declare const Closure: ClosureOps;
14
- export declare type ClosureMin<A> = {
15
- combine_: combine_<A>;
16
- };
17
13
  /**
18
14
  * @tsplus static fncts.ClosureOps __call
19
15
  * @tsplus location "@fncts/base/typeclass/Closure"
20
16
  */
21
- export declare function mkClosure<A>(F: ClosureMin<A>): Closure<A>;
22
- export interface combine_<A> {
23
- (x: A, y: A): A;
24
- }
25
- export interface combine<A> {
26
- (y: A): (x: A) => A;
27
- }
17
+ export declare function mkClosure<A>(F: Closure<A>): Closure<A>;
@@ -0,0 +1,17 @@
1
+ /**
2
+ * @tsplus type fncts.Eq
3
+ */
4
+ export interface Eq<A> {
5
+ readonly equals: (x: A, y: A) => boolean;
6
+ }
7
+ /**
8
+ * @tsplus type fncts.EqOps
9
+ */
10
+ export interface EqOps {
11
+ }
12
+ export declare const Eq: EqOps;
13
+ /**
14
+ * @tsplus static fncts.EqOps __call
15
+ * @tsplus location "@fncts/base/typeclass/Eq/definition"
16
+ */
17
+ export declare function mkEq<A>(E: Eq<A>): Eq<A>;
@@ -0,0 +1,24 @@
1
+ import type { Check } from "@fncts/typelevel/Check";
2
+ import type { OptionalKeys, RequiredKeys } from "@fncts/typelevel/Object";
3
+ import { Eq } from "@fncts/base/typeclass/Eq/definition";
4
+ /**
5
+ * @tsplus derive fncts.Eq lazy
6
+ * @tsplus location "@fncts/base/typeclass/Eq/derivations"
7
+ */
8
+ export declare function deriveLazy<A>(fn: (_: Eq<A>) => Eq<A>): Eq<A>;
9
+ /**
10
+ * @tsplus derive fncts.Eq<_> 20
11
+ * @tsplus location "@fncts/base/typeclass/Eq/derivations"
12
+ */
13
+ export declare function deriveStruct<A extends Record<string, any>>(...[requiredFields, optionalFields]: Check<Check.IsStruct<A>> extends Check.True ? [
14
+ ...[
15
+ requiredFields: {
16
+ [K in RequiredKeys<A>]: Eq<A[K]>;
17
+ }
18
+ ],
19
+ ...([OptionalKeys<A>] extends [never] ? [] : [
20
+ optionalFields: {
21
+ [K in OptionalKeys<A>]: Eq<NonNullable<A[K]>>;
22
+ }
23
+ ])
24
+ ] : never): Eq<A>;
package/typeclass/Eq.d.ts CHANGED
@@ -1,27 +1,2 @@
1
- /**
2
- * @tsplus type fncts.Eq
3
- */
4
- export interface Eq<A> {
5
- readonly equals_: equals_<A>;
6
- readonly equals: equals<A>;
7
- }
8
- /**
9
- * @tsplus type fncts.EqOps
10
- */
11
- export interface EqOps {
12
- }
13
- export declare const Eq: EqOps;
14
- export declare type EqMin<A> = {
15
- readonly equals_: equals_<A>;
16
- };
17
- /**
18
- * @tsplus static fncts.EqOps __call
19
- * @tsplus location "@fncts/base/typeclass/Eq"
20
- */
21
- export declare function mkEq<A>(F: EqMin<A>): Eq<A>;
22
- export interface equals_<A> {
23
- (x: A, y: A): boolean;
24
- }
25
- export interface equals<A> {
26
- (y: A): (x: A) => boolean;
27
- }
1
+ export * from "./Eq/definition.js";
2
+ export {} from "./Eq/derivations.js";
@@ -2,22 +2,16 @@ import { HKT } from "@fncts/typelevel/HKT";
2
2
  /**
3
3
  * @tsplus type fncts.Fail
4
4
  */
5
- export interface Fail<F extends HKT, TC = HKT.None> extends HKT.Typeclass<F, TC> {
6
- readonly fail: fail<F, TC>;
5
+ export interface Fail<F extends HKT> extends HKT.Typeclass<F> {
6
+ fail<E, 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">, A = never>(e: E): HKT.Kind<F, K, Q, W, X, I, S, R, E, A>;
7
7
  }
8
8
  /**
9
9
  * @tsplus type fncts.FailOps
10
10
  */
11
11
  export interface FailOps {
12
12
  }
13
- export declare type FailMin<F extends HKT, C = HKT.None> = {
14
- readonly fail: fail<F, C>;
15
- };
16
13
  /**
17
- * @tsplus static fncts.FailOps __call
14
+ * @tsplus static fncts.FailOps fail
18
15
  * @tsplus location "@fncts/base/typeclass/Fail"
19
16
  */
20
- export declare function mkFail<F extends HKT, C = HKT.None>(F: FailMin<F, C>): Fail<F, C>;
21
- export interface fail<F extends HKT, C = HKT.None> {
22
- <E, 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">, A = never>(e: HKT.OrFix<C, "E", E>): HKT.Kind<F, C, K, Q, W, X, I, S, R, E, A>;
23
- }
17
+ export declare function fail<F extends HKT, E, 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">, A = never>(e: E, /** @tsplus auto */ F: Fail<F>): HKT.Kind<F, K, Q, W, X, I, S, R, E, A>;
@@ -1,22 +1,19 @@
1
1
  import { HKT } from "@fncts/typelevel/HKT";
2
- import { Predicate } from "@fncts/base/data/Predicate/definition";
3
2
  import { Refinement } from "@fncts/base/data/Refinement/definition";
3
+ import { Predicate } from "@fncts/base/data/Predicate/definition";
4
4
  import { Maybe } from "@fncts/base/data/Maybe/definition";
5
5
  import { Either } from "@fncts/base/data/Either/definition";
6
- import type { FunctorMin } from "@fncts/base/typeclass/Functor";
7
- import { Functor } from "@fncts/base/typeclass/Functor";
6
+ import type { Functor } from "@fncts/base/typeclass/Functor";
8
7
  /**
9
8
  * @tsplus type fncts.Filterable
10
9
  */
11
- export interface Filterable<F extends HKT, FC = HKT.None> extends Functor<F, FC> {
12
- readonly filter_: filter_<F, FC>;
13
- readonly filter: filter<F, FC>;
14
- readonly filterMap_: filterMap_<F, FC>;
15
- readonly filterMap: filterMap<F, FC>;
16
- readonly partition_: partition_<F, FC>;
17
- readonly partition: partition<F, FC>;
18
- readonly partitionMap_: partitionMap_<F, FC>;
19
- readonly partitionMap: partitionMap<F, FC>;
10
+ export interface Filterable<F extends HKT> extends Functor<F> {
11
+ filter<K, Q, W, X, I, S, R, E, A, B extends A>(fa: HKT.Kind<F, K, Q, W, X, I, S, R, E, A>, refinement: Refinement<A, B>): HKT.Kind<F, K, Q, W, X, I, S, R, E, B>;
12
+ filter<K, Q, W, X, I, S, R, E, A>(fa: HKT.Kind<F, K, Q, W, X, I, S, R, E, A>, predicate: Predicate<A>): HKT.Kind<F, K, Q, W, X, I, S, R, E, A>;
13
+ filterMap<K, Q, W, X, I, S, R, E, A, B>(fa: HKT.Kind<F, K, Q, W, X, I, S, R, E, A>, f: (a: A) => Maybe<B>): HKT.Kind<F, K, Q, W, X, I, S, R, E, B>;
14
+ partition<K, Q, W, X, I, S, R, E, A, B extends A>(fa: HKT.Kind<F, K, Q, W, X, I, S, R, E, A>, refinement: Refinement<A, B>): readonly [HKT.Kind<F, K, Q, W, X, I, S, R, E, A>, HKT.Kind<F, K, Q, W, X, I, S, R, E, B>];
15
+ partition<K, Q, W, X, I, S, R, E, A>(fa: HKT.Kind<F, K, Q, W, X, I, S, R, E, A>, predicate: Predicate<A>): readonly [HKT.Kind<F, K, Q, W, X, I, S, R, E, A>, HKT.Kind<F, K, Q, W, X, I, S, R, E, A>];
16
+ partitionMap<K, Q, W, X, I, S, R, E, A, B, B1>(fa: HKT.Kind<F, K, Q, W, X, I, S, R, E, A>, f: (a: A) => Either<B, B1>): readonly [HKT.Kind<F, K, Q, W, X, I, S, R, E, B>, HKT.Kind<F, K, Q, W, X, I, S, R, E, B1>];
20
17
  }
21
18
  /**
22
19
  * @tsplus type fncts.FilterableOps
@@ -24,45 +21,27 @@ export interface Filterable<F extends HKT, FC = HKT.None> extends Functor<F, FC>
24
21
  export interface FilterableOps {
25
22
  }
26
23
  export declare const Filterable: FilterableOps;
27
- export declare type FilterableMin<F extends HKT, FC = HKT.None> = FunctorMin<F, FC> & {
28
- readonly filter_: filter_<F, FC>;
29
- readonly filterMap_: filterMap_<F, FC>;
30
- readonly partition_: partition_<F, FC>;
31
- readonly partitionMap_: partitionMap_<F, FC>;
32
- };
33
24
  /**
34
- * @tsplus static fncts.FilterableOps __call
25
+ * @tsplus fluent fncts.Kind filter
35
26
  * @tsplus location "@fncts/base/typeclass/Filterable"
36
27
  */
37
- export declare function mkFilterable<F extends HKT, FC = HKT.None>(F: FilterableMin<F, FC>): Filterable<F, FC>;
38
- export interface filter_<F extends HKT, C = HKT.None> {
39
- <K, Q, W, X, I, S, R, E, A, B extends A>(fa: HKT.Kind<F, C, K, Q, W, X, I, S, R, E, A>, refinement: Refinement<A, B>): HKT.Kind<F, C, K, Q, W, X, I, S, R, E, B>;
40
- <K, Q, W, X, I, S, R, E, A>(fa: HKT.Kind<F, C, K, Q, W, X, I, S, R, E, A>, predicate: Predicate<A>): HKT.Kind<F, C, K, Q, W, X, I, S, R, E, A>;
41
- }
42
- export interface filter<F extends HKT, C = HKT.None> {
43
- <A, B extends A>(refinement: Refinement<A, B>): <K, Q, W, X, I, S, R, E>(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, E, B>;
44
- <A>(predicate: Predicate<A>): <K, Q, W, X, I, S, R, E>(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, E, A>;
45
- }
46
- export interface filterMap_<F extends HKT, C = HKT.None> {
47
- <K, Q, W, X, I, S, R, E, A, B>(fa: HKT.Kind<F, C, K, Q, W, X, I, S, R, E, A>, f: (a: A) => Maybe<B>): HKT.Kind<F, C, K, Q, W, X, I, S, R, E, B>;
48
- }
49
- export interface filterMap<F extends HKT, C = HKT.None> {
50
- <A, B>(f: (a: A) => Maybe<B>): <K, Q, W, X, I, S, R, E>(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, E, B>;
51
- }
52
- export interface partition_<F extends HKT, C = HKT.None> {
53
- <K, Q, W, X, I, S, R, E, A, B extends A>(fa: HKT.Kind<F, C, K, Q, W, X, I, S, R, E, A>, refinement: Refinement<A, B>): readonly [HKT.Kind<F, C, K, Q, W, X, I, S, R, E, A>, HKT.Kind<F, C, K, Q, W, X, I, S, R, E, B>];
54
- <K, Q, W, X, I, S, R, E, A>(fa: HKT.Kind<F, C, K, Q, W, X, I, S, R, E, A>, predicate: Predicate<A>): readonly [
55
- HKT.Kind<F, C, K, Q, W, X, I, S, R, E, A>,
56
- HKT.Kind<F, C, K, Q, W, X, I, S, R, E, A>
57
- ];
58
- }
59
- export interface partition<F extends HKT, C = HKT.None> {
60
- <A, B extends A>(refinement: Refinement<A, B>): <K, Q, W, X, I, S, R, E>(fa: HKT.Kind<F, C, K, Q, W, X, I, S, R, E, A>) => readonly [HKT.Kind<F, C, K, Q, W, X, I, S, R, E, A>, HKT.Kind<F, C, K, Q, W, X, I, S, R, E, B>];
61
- <A>(predicate: Predicate<A>): <K, Q, W, X, I, S, R, E>(fa: HKT.Kind<F, C, K, Q, W, X, I, S, R, E, A>) => readonly [HKT.Kind<F, C, K, Q, W, X, I, S, R, E, A>, HKT.Kind<F, C, K, Q, W, X, I, S, R, E, A>];
62
- }
63
- export interface partitionMap_<F extends HKT, C = HKT.None> {
64
- <K, Q, W, X, I, S, R, E, A, B, B1>(fa: HKT.Kind<F, C, K, Q, W, X, I, S, R, E, A>, f: (a: A) => Either<B, B1>): readonly [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, B1>];
65
- }
66
- export interface partitionMap<F extends HKT, C = HKT.None> {
67
- <A, B, B1>(f: (a: A) => Either<B, B1>): <K, Q, W, X, I, S, R, E>(fa: HKT.Kind<F, C, K, Q, W, X, I, S, R, E, A>) => readonly [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, B1>];
68
- }
28
+ export declare function filter<F extends HKT, K, Q, W, X, I, S, R, E, A, B extends A>(fa: HKT.Kind<F, K, Q, W, X, I, S, R, E, A>, refinement: Refinement<A, B>,
29
+ /** @tsplus auto */ F: Filterable<F>): HKT.Kind<F, K, Q, W, X, I, S, R, E, B>;
30
+ /**
31
+ * @tsplus fluent fncts.Kind filterMap
32
+ * @tsplus location "@fncts/base/typeclass/Filterable"
33
+ */
34
+ export declare function filterMap<F extends HKT, K, Q, W, X, I, S, R, E, A, B>(fa: HKT.Kind<F, K, Q, W, X, I, S, R, E, A>, f: (a: A) => Maybe<B>,
35
+ /** @tsplus auto */ F: Filterable<F>): HKT.Kind<F, K, Q, W, X, I, S, R, E, B>;
36
+ /**
37
+ * @tsplus fluent fncts.Kind partition
38
+ * @tsplus location "@fncts/base/typeclass/Filterable"
39
+ */
40
+ export declare function partition<F extends HKT, K, Q, W, X, I, S, R, E, A, B extends A>(fa: HKT.Kind<F, K, Q, W, X, I, S, R, E, A>, refinement: Refinement<A, B>,
41
+ /** @tsplus auto */ F: Filterable<F>): readonly [HKT.Kind<F, K, Q, W, X, I, S, R, E, A>, HKT.Kind<F, K, Q, W, X, I, S, R, E, B>];
42
+ /**
43
+ * @tsplus fluent fncts.Kind partitionMap
44
+ * @tsplus location "@fncts/base/typeclass/Filterable"
45
+ */
46
+ export declare function partitionMap<F extends HKT, K, Q, W, X, I, S, R, E, A, B, B1>(fa: HKT.Kind<F, K, Q, W, X, I, S, R, E, A>, f: (a: A) => Either<B, B1>,
47
+ /** @tsplus auto */ F: Filterable<F>): readonly [HKT.Kind<F, K, Q, W, X, I, S, R, E, B>, HKT.Kind<F, K, Q, W, X, I, S, R, E, B1>];
@@ -1,24 +1,20 @@
1
1
  import { HKT } from "@fncts/typelevel/HKT";
2
- import { PredicateWithIndex } from "@fncts/base/data/Predicate/definition";
3
2
  import { RefinementWithIndex } from "@fncts/base/data/Refinement/definition";
3
+ import { PredicateWithIndex } from "@fncts/base/data/Predicate/definition";
4
4
  import { Maybe } from "@fncts/base/data/Maybe/definition";
5
5
  import { Either } from "@fncts/base/data/Either/definition";
6
- import type { FilterableMin } from "@fncts/base/typeclass/Filterable";
7
- import type { FunctorWithIndexMin } from "@fncts/base/typeclass/FunctorWithIndex";
8
- import { Filterable } from "@fncts/base/typeclass/Filterable";
9
- import { FunctorWithIndex } from "@fncts/base/typeclass/FunctorWithIndex";
6
+ import type { Filterable } from "@fncts/base/typeclass/Filterable";
7
+ import type { FunctorWithIndex } from "@fncts/base/typeclass/FunctorWithIndex";
10
8
  /**
11
9
  * @tsplus type fncts.FilterableWithIndex
12
10
  */
13
- export interface FilterableWithIndex<F extends HKT, FC = HKT.None> extends FunctorWithIndex<F, FC>, Filterable<F, FC> {
14
- readonly filterWithIndex_: filterWithIndex_<F, FC>;
15
- readonly filterWithIndex: filterWithIndex<F, FC>;
16
- readonly filterMapWithIndex_: filterMapWithIndex_<F, FC>;
17
- readonly filterMapWithIndex: filterMapWithIndex<F, FC>;
18
- readonly partitionWithIndex_: partitionWithIndex_<F, FC>;
19
- readonly partitionWithIndex: partitionWithIndex<F, FC>;
20
- readonly partitionMapWithIndex_: partitionMapWithIndex_<F, FC>;
21
- readonly partitionMapWithIndex: partitionMapWithIndex<F, FC>;
11
+ export interface FilterableWithIndex<F extends HKT> extends FunctorWithIndex<F>, Filterable<F> {
12
+ filterWithIndex<K, Q, W, X, I, S, R, E, A, B extends A>(fa: HKT.Kind<F, K, Q, W, X, I, S, R, E, A>, refinement: RefinementWithIndex<HKT.IndexFor<F, K>, A, B>): HKT.Kind<F, K, Q, W, X, I, S, R, E, B>;
13
+ filterWithIndex<K, Q, W, X, I, S, R, E, A>(fa: HKT.Kind<F, K, Q, W, X, I, S, R, E, A>, predicate: PredicateWithIndex<HKT.IndexFor<F, K>, A>): HKT.Kind<F, K, Q, W, X, I, S, R, E, A>;
14
+ filterMapWithIndex<K, Q, W, X, I, S, R, E, A, B>(fa: HKT.Kind<F, K, Q, W, X, I, S, R, E, A>, f: (i: HKT.IndexFor<F, K>, a: A) => Maybe<B>): HKT.Kind<F, K, Q, W, X, I, S, R, E, B>;
15
+ partitionWithIndex<K, Q, W, X, I, S, R, E, A, B extends A>(fa: HKT.Kind<F, K, Q, W, X, I, S, R, E, A>, refinement: RefinementWithIndex<HKT.IndexFor<F, K>, A, B>): readonly [HKT.Kind<F, K, Q, W, X, I, S, R, E, A>, HKT.Kind<F, K, Q, W, X, I, S, R, E, B>];
16
+ partitionWithIndex<K, Q, W, X, I, S, R, E, A>(fa: HKT.Kind<F, K, Q, W, X, I, S, R, E, A>, predicate: PredicateWithIndex<HKT.IndexFor<F, K>, A>): readonly [HKT.Kind<F, K, Q, W, X, I, S, R, E, A>, HKT.Kind<F, K, Q, W, X, I, S, R, E, A>];
17
+ partitionMapWithIndex<K, Q, W, X, I, S, R, E, A, B, B1>(fa: HKT.Kind<F, K, Q, W, X, I, S, R, E, A>, f: (i: HKT.IndexFor<F, K>, a: A) => Either<B, B1>): readonly [HKT.Kind<F, K, Q, W, X, I, S, R, E, B>, HKT.Kind<F, K, Q, W, X, I, S, R, E, B1>];
22
18
  }
23
19
  /**
24
20
  * @tsplus type fncts.FilterableWithIndexOps
@@ -26,42 +22,3 @@ export interface FilterableWithIndex<F extends HKT, FC = HKT.None> extends Funct
26
22
  export interface FilterableWithIndexOps {
27
23
  }
28
24
  export declare const FilterableWithIndex: FilterableWithIndexOps;
29
- export declare type FilterableWithIndexMin<F extends HKT, FC = HKT.None> = FunctorWithIndexMin<F, FC> & FilterableMin<F, FC> & {
30
- readonly filterWithIndex_: filterWithIndex_<F, FC>;
31
- readonly filterMapWithIndex_: filterMapWithIndex_<F, FC>;
32
- readonly partitionWithIndex_: partitionWithIndex_<F, FC>;
33
- readonly partitionMapWithIndex_: partitionMapWithIndex_<F, FC>;
34
- };
35
- /**
36
- * @tsplus static fncts.FilterableWithIndexOps __call
37
- * @tsplus location "@fncts/base/typeclass/FilterableWithIndex"
38
- */
39
- export declare function mkFilterableWithIndex<F extends HKT, FC = HKT.None>(F: FilterableWithIndexMin<F, FC>): FilterableWithIndex<F, FC>;
40
- export interface filterWithIndex_<F extends HKT, FC = HKT.None> {
41
- <K, Q, W, X, I, S, R, E, A, B extends A>(fa: HKT.Kind<F, FC, K, Q, W, X, I, S, R, E, A>, refinement: RefinementWithIndex<HKT.IndexFor<F, HKT.OrFix<FC, "K", K>>, A, B>): HKT.Kind<F, FC, K, Q, W, X, I, S, R, E, B>;
42
- <K, Q, W, X, I, S, R, E, A>(fa: HKT.Kind<F, FC, K, Q, W, X, I, S, R, E, A>, predicate: PredicateWithIndex<HKT.IndexFor<F, HKT.OrFix<FC, "K", K>>, A>): HKT.Kind<F, FC, K, Q, W, X, I, S, R, E, A>;
43
- }
44
- export interface filterWithIndex<F extends HKT, FC = HKT.None> {
45
- <K, A, B extends A>(refinement: RefinementWithIndex<HKT.IndexFor<F, HKT.OrFix<FC, "K", K>>, A, B>): <Q, W, X, I, S, R, E>(fa: HKT.Kind<F, FC, K, Q, W, X, I, S, R, E, A>) => HKT.Kind<F, FC, K, Q, W, X, I, S, R, E, B>;
46
- <K, A>(predicate: PredicateWithIndex<HKT.IndexFor<F, HKT.OrFix<FC, "K", K>>, A>): <Q, W, X, I, S, R, E>(fa: HKT.Kind<F, FC, K, Q, W, X, I, S, R, E, A>) => HKT.Kind<F, FC, K, Q, W, X, I, S, R, E, A>;
47
- }
48
- export interface filterMapWithIndex_<F extends HKT, FC = HKT.None> {
49
- <K, Q, W, X, I, S, R, E, A, B>(fa: 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) => Maybe<B>): HKT.Kind<F, FC, K, Q, W, X, I, S, R, E, B>;
50
- }
51
- export interface filterMapWithIndex<F extends HKT, FC = HKT.None> {
52
- <K, A, B>(f: (i: HKT.IndexFor<F, HKT.OrFix<FC, "K", K>>, a: A) => Maybe<B>): <Q, W, X, I, S, R, E>(fa: HKT.Kind<F, FC, K, Q, W, X, I, S, R, E, A>) => HKT.Kind<F, FC, K, Q, W, X, I, S, R, E, B>;
53
- }
54
- export interface partitionWithIndex_<F extends HKT, FC = HKT.None> {
55
- <K, Q, W, X, I, S, R, E, A, B extends A>(fa: HKT.Kind<F, FC, K, Q, W, X, I, S, R, E, A>, refinement: RefinementWithIndex<HKT.IndexFor<F, HKT.OrFix<FC, "K", K>>, A, B>): readonly [HKT.Kind<F, FC, K, Q, W, X, I, S, R, E, A>, HKT.Kind<F, FC, K, Q, W, X, I, S, R, E, B>];
56
- <K, Q, W, X, I, S, R, E, A>(fa: HKT.Kind<F, FC, K, Q, W, X, I, S, R, E, A>, predicate: PredicateWithIndex<HKT.IndexFor<F, HKT.OrFix<FC, "K", K>>, A>): readonly [HKT.Kind<F, FC, K, Q, W, X, I, S, R, E, A>, HKT.Kind<F, FC, K, Q, W, X, I, S, R, E, A>];
57
- }
58
- export interface partitionWithIndex<F extends HKT, FC = HKT.None> {
59
- <K, A, B extends A>(refinement: RefinementWithIndex<HKT.IndexFor<F, HKT.OrFix<FC, "K", K>>, A, B>): <Q, W, X, I, S, R, E>(fa: HKT.Kind<F, FC, K, Q, W, X, I, S, R, E, A>) => readonly [HKT.Kind<F, FC, K, Q, W, X, I, S, R, E, A>, HKT.Kind<F, FC, K, Q, W, X, I, S, R, E, B>];
60
- <K, A>(predicate: PredicateWithIndex<HKT.IndexFor<F, HKT.OrFix<FC, "K", K>>, A>): <K, Q, W, X, I, S, R, E>(fa: HKT.Kind<F, FC, K, Q, W, X, I, S, R, E, A>) => readonly [HKT.Kind<F, FC, K, Q, W, X, I, S, R, E, A>, HKT.Kind<F, FC, K, Q, W, X, I, S, R, E, A>];
61
- }
62
- export interface partitionMapWithIndex_<F extends HKT, FC = HKT.None> {
63
- <K, Q, W, X, I, S, R, E, A, B, B1>(fa: 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) => Either<B, B1>): readonly [HKT.Kind<F, FC, K, Q, W, X, I, S, R, E, B>, HKT.Kind<F, FC, K, Q, W, X, I, S, R, E, B1>];
64
- }
65
- export interface partitionMapWithIndex<F extends HKT, FC = HKT.None> {
66
- <K, A, B, B1>(f: (i: HKT.IndexFor<F, HKT.OrFix<FC, "K", K>>, a: A) => Either<B, B1>): <Q, W, X, I, S, R, E>(fa: HKT.Kind<F, FC, K, Q, W, X, I, S, R, E, A>) => readonly [HKT.Kind<F, FC, K, Q, W, X, I, S, R, E, B>, HKT.Kind<F, FC, K, Q, W, X, I, S, R, E, B1>];
67
- }
@@ -4,13 +4,9 @@ import type { Monoid } from "@fncts/base/typeclass/Monoid";
4
4
  /**
5
5
  * @tsplus type fncts.Foldable
6
6
  */
7
- export interface Foldable<F extends HKT, FC = HKT.None> extends HKT.Typeclass<F, FC> {
8
- readonly foldLeft_: foldLeft_<F, FC>;
9
- readonly foldLeft: foldLeft<F, FC>;
10
- readonly foldRight_: foldRight_<F, FC>;
11
- readonly foldRight: foldRight<F, FC>;
12
- readonly foldMap_: foldMap_<F, FC>;
13
- readonly foldMap: foldMap<F, FC>;
7
+ export interface Foldable<F extends HKT> extends HKT.Typeclass<F> {
8
+ foldLeft<K, Q, W, X, I, S, R, E, A, B>(fa: HKT.Kind<F, K, Q, W, X, I, S, R, E, A>, b: B, f: (b: B, a: A) => B): B;
9
+ foldRight<K, Q, W, X, I, S, R, E, A, B>(fa: HKT.Kind<F, K, Q, W, X, I, S, R, E, A>, b: Eval<B>, f: (a: A, b: Eval<B>) => Eval<B>): Eval<B>;
14
10
  }
15
11
  /**
16
12
  * @tsplus type fncts.FoldableOps
@@ -18,30 +14,22 @@ export interface Foldable<F extends HKT, FC = HKT.None> extends HKT.Typeclass<F,
18
14
  export interface FoldableOps {
19
15
  }
20
16
  export declare const Foldable: FoldableOps;
21
- export declare type FoldableMin<F extends HKT, FC = HKT.None> = {
22
- readonly foldLeft_: foldLeft_<F, FC>;
23
- readonly foldRight_: foldRight_<F, FC>;
24
- };
25
17
  /**
26
- * @tsplus static fncts.FoldableOps __call
18
+ * @tsplus fluent fncts.Kind foldLeft
27
19
  * @tsplus location "@fncts/base/typeclass/Foldable"
28
20
  */
29
- export declare function mkFoldable<F extends HKT, FC = HKT.None>(F: FoldableMin<F, FC>): Foldable<F, FC>;
30
- export interface foldLeft_<F extends HKT, FC = HKT.None> {
31
- <K, Q, W, X, I, S, R, E, A, B>(fa: HKT.Kind<F, FC, K, Q, W, X, I, S, R, E, A>, b: B, f: (b: B, a: A) => B): B;
32
- }
33
- export interface foldLeft<F extends HKT, FC = HKT.None> {
34
- <A, B>(b: B, f: (b: B, a: A) => B): <K, Q, W, X, I, S, R, E>(fa: HKT.Kind<F, FC, K, Q, W, X, I, S, R, E, A>) => B;
35
- }
36
- export interface foldRight_<F extends HKT, FC = HKT.None> {
37
- <K, Q, W, X, I, S, R, E, A, B>(fa: HKT.Kind<F, FC, K, Q, W, X, I, S, R, E, A>, b: Eval<B>, f: (a: A, b: Eval<B>) => Eval<B>): Eval<B>;
38
- }
39
- export interface foldRight<F extends HKT, FC = HKT.None> {
40
- <A, B>(b: Eval<B>, f: (a: A, b: Eval<B>) => Eval<B>): <K, Q, W, X, I, S, R, E>(fa: HKT.Kind<F, FC, K, Q, W, X, I, S, R, E, A>) => Eval<B>;
41
- }
42
- export interface foldMap_<F extends HKT, C = HKT.None> {
43
- <M>(M: Monoid<M>): <K, Q, W, X, I, S, R, E, A>(fa: HKT.Kind<F, C, K, Q, W, X, I, S, R, E, A>, f: (a: A) => M) => M;
44
- }
45
- export interface foldMap<F extends HKT, C = HKT.None> {
46
- <M>(M: Monoid<M>): <A>(f: (a: A) => M) => <K, Q, W, X, I, S, R, E>(fa: HKT.Kind<F, C, K, Q, W, X, I, S, R, E, A>) => M;
47
- }
21
+ export declare function foldLeft<F extends HKT, K, Q, W, X, I, S, R, E, A, B>(fa: HKT.Kind<F, K, Q, W, X, I, S, R, E, A>, b: B, f: (b: B, a: A) => B,
22
+ /** @tsplus auto */ F: Foldable<F>): B;
23
+ /**
24
+ * @tsplus fluent fncts.Kind foldRight
25
+ * @tsplus location "@fncts/base/typeclass/Foldable"
26
+ */
27
+ export declare function foldRight<F extends HKT, K, Q, W, X, I, S, R, E, A, B>(fa: HKT.Kind<F, K, Q, W, X, I, S, R, E, A>, b: Eval<B>, f: (a: A, b: Eval<B>) => Eval<B>,
28
+ /** @tsplus auto */ F: Foldable<F>): Eval<B>;
29
+ /**
30
+ * @tsplus fluent fncts.Kind foldMap
31
+ * @tsplus location "@fncts/base/typeclass/Foldable"
32
+ */
33
+ export declare function foldMap<F extends HKT, K, Q, W, X, I, S, R, E, A, M>(fa: HKT.Kind<F, K, Q, W, X, I, S, R, E, A>, f: (a: A) => M,
34
+ /** @tsplus auto */ F: Foldable<F>,
35
+ /** @tsplus auto */ M: Monoid<M>): M;
@@ -1,18 +1,13 @@
1
1
  import { HKT } from "@fncts/typelevel/HKT";
2
2
  import { Eval } from "@fncts/base/control/Eval/definition";
3
- import type { FoldableMin } from "@fncts/base/typeclass/Foldable";
3
+ import type { Foldable } from "@fncts/base/typeclass/Foldable";
4
4
  import type { Monoid } from "@fncts/base/typeclass/Monoid";
5
- import { Foldable } from "@fncts/base/typeclass/Foldable";
6
5
  /**
7
6
  * @tsplus type fncts.FoldableWithIndex
8
7
  */
9
- export interface FoldableWithIndex<F extends HKT, FC = HKT.None> extends Foldable<F, FC> {
10
- readonly foldLeftWithIndex_: foldLeftWithIndex_<F, FC>;
11
- readonly foldLeftWithIndex: foldLeftWithIndex<F, FC>;
12
- readonly foldRightWithIndex_: foldRightWithIndex_<F, FC>;
13
- readonly foldRightWithIndex: foldRightWithIndex<F, FC>;
14
- readonly foldMapWithIndex_: foldMapWithIndex_<F, FC>;
15
- readonly foldMapWithIndex: foldMapWithIndex<F, FC>;
8
+ export interface FoldableWithIndex<F extends HKT> extends Foldable<F> {
9
+ foldLeftWithIndex<K, Q, W, X, I, S, R, E, A, B>(fa: HKT.Kind<F, K, Q, W, X, I, S, R, E, A>, b: B, f: (i: HKT.IndexFor<F, K>, b: B, a: A) => B): B;
10
+ foldRightWithIndex<K, Q, W, X, I, S, R, E, A, B>(fa: HKT.Kind<F, K, Q, W, X, I, S, R, E, A>, b: Eval<B>, f: (i: HKT.IndexFor<F, K>, a: A, b: Eval<B>) => Eval<B>): Eval<B>;
16
11
  }
17
12
  /**
18
13
  * @tsplus type fncts.FoldableWithIndexOps
@@ -20,30 +15,22 @@ export interface FoldableWithIndex<F extends HKT, FC = HKT.None> extends Foldabl
20
15
  export interface FoldableWithIndexOps {
21
16
  }
22
17
  export declare const FoldableWithIndex: FoldableWithIndexOps;
23
- export declare type FoldableWithIndexMin<F extends HKT, FC = HKT.None> = FoldableMin<F, FC> & {
24
- readonly foldLeftWithIndex_: foldLeftWithIndex_<F, FC>;
25
- readonly foldRightWithIndex_: foldRightWithIndex_<F, FC>;
26
- };
27
18
  /**
28
- * @tsplus static fncts.FoldableWithIndexOps __call
19
+ * @tsplus fluent fncts.Kind foldLeftWithIndex
29
20
  * @tsplus location "@fncts/base/typeclass/FoldableWithIndex"
30
21
  */
31
- export declare function mkFoldableWithIndex<F extends HKT, FC = HKT.None>(F: FoldableWithIndexMin<F, FC>): FoldableWithIndex<F, FC>;
32
- export interface foldLeftWithIndex_<F extends HKT, FC = HKT.None> {
33
- <K, Q, W, X, I, S, R, E, A, B>(fa: HKT.Kind<F, FC, K, Q, W, X, I, S, R, E, A>, b: B, f: (i: HKT.IndexFor<F, HKT.OrFix<FC, "K", K>>, b: B, a: A) => B): B;
34
- }
35
- export interface foldLeftWithIndex<F extends HKT, FC = HKT.None> {
36
- <K, A, B>(b: B, f: (i: HKT.IndexFor<F, HKT.OrFix<FC, "K", K>>, b: B, a: A) => B): <Q, W, X, I, S, R, E>(fa: HKT.Kind<F, FC, K, Q, W, X, I, S, R, E, A>) => B;
37
- }
38
- export interface foldRightWithIndex_<F extends HKT, C = HKT.None> {
39
- <K, Q, W, X, I, S, R, E, A, B>(fa: HKT.Kind<F, C, K, Q, W, X, I, S, R, E, A>, b: Eval<B>, f: (i: HKT.IndexFor<F, HKT.OrFix<C, "K", K>>, a: A, b: Eval<B>) => Eval<B>): Eval<B>;
40
- }
41
- export interface foldRightWithIndex<F extends HKT, C = HKT.None> {
42
- <K, A, B>(b: Eval<B>, f: (i: HKT.IndexFor<F, HKT.OrFix<C, "K", K>>, a: A, b: Eval<B>) => Eval<B>): <Q, W, X, I, S, R, E>(fa: HKT.Kind<F, C, K, Q, W, X, I, S, R, E, A>) => Eval<B>;
43
- }
44
- export interface foldMapWithIndex_<F extends HKT, C = HKT.None> {
45
- <M>(M: Monoid<M>): <K, Q, W, X, I, S, R, E, A>(fa: HKT.Kind<F, C, K, Q, W, X, I, S, R, E, A>, f: (k: HKT.IndexFor<F, HKT.OrFix<C, "K", K>>, a: A) => M) => M;
46
- }
47
- export interface foldMapWithIndex<F extends HKT, C = HKT.None> {
48
- <M>(M: Monoid<M>): <K, A>(f: (i: HKT.IndexFor<F, HKT.OrFix<C, "K", K>>, a: A) => M) => <Q, W, X, I, S, R, E>(fa: HKT.Kind<F, C, K, Q, W, X, I, S, R, E, A>) => M;
49
- }
22
+ export declare function foldLeftWithIndex<F extends HKT, K, Q, W, X, I, S, R, E, A, B>(fa: HKT.Kind<F, K, Q, W, X, I, S, R, E, A>, b: B, f: (i: HKT.IndexFor<F, K>, b: B, a: A) => B,
23
+ /** @tsplus auto */ F: FoldableWithIndex<F>): B;
24
+ /**
25
+ * @tsplus fluent fncts.Kind foldRightWithIndex
26
+ * @tsplus location "@fncts/base/typeclass/FoldableWithIndex"
27
+ */
28
+ export declare function foldRightWithIndex<F extends HKT, K, Q, W, X, I, S, R, E, A, B>(fa: HKT.Kind<F, K, Q, W, X, I, S, R, E, A>, b: Eval<B>, f: (i: HKT.IndexFor<F, K>, a: A, b: Eval<B>) => Eval<B>,
29
+ /** @tsplus auto */ F: FoldableWithIndex<F>): Eval<B>;
30
+ /**
31
+ * @tsplus fluent fncts.Kind foldMapWithIndex
32
+ * @tsplus location "@fncts/base/typeclass/FoldableWithIndex"
33
+ */
34
+ export declare function foldMapWithIndex<F extends HKT, K, Q, W, X, I, S, R, E, A, M>(fa: HKT.Kind<F, K, Q, W, X, I, S, R, E, A>, f: (k: HKT.IndexFor<F, K>, a: A) => M,
35
+ /** @tsplus auto */ M: Monoid<M>,
36
+ /** @tsplus auto */ F: FoldableWithIndex<F>): M;
@@ -3,11 +3,8 @@ import { Lazy } from "@fncts/base/data/function/definition";
3
3
  /**
4
4
  * @tsplus type fncts.Functor
5
5
  */
6
- export interface Functor<F extends HKT, C = HKT.None> extends HKT.Typeclass<F, C> {
7
- readonly map_: map_<F, C>;
8
- readonly map: map<F, C>;
9
- readonly as_: as_<F, C>;
10
- readonly as: as<F, C>;
6
+ export interface Functor<F extends HKT> extends HKT.Typeclass<F> {
7
+ map<K, Q, W, X, I, S, R, E, A, B>(fa: HKT.Kind<F, K, Q, W, X, I, S, R, E, A>, f: (a: A) => B): HKT.Kind<F, K, Q, W, X, I, S, R, E, B>;
11
8
  }
12
9
  /**
13
10
  * @tsplus type fncts.FunctorOps
@@ -15,23 +12,15 @@ export interface Functor<F extends HKT, C = HKT.None> extends HKT.Typeclass<F, C
15
12
  export interface FunctorOps {
16
13
  }
17
14
  export declare const Functor: FunctorOps;
18
- export declare type FunctorMin<F extends HKT, C = HKT.None> = {
19
- readonly map_: map_<F, C>;
20
- };
21
15
  /**
22
- * @tsplus static fncts.FunctorOps __call
16
+ * @tsplus fluent fncts.Kind map
23
17
  * @tsplus location "@fncts/base/typeclass/Functor"
24
18
  */
25
- export declare function mkFunctor<F extends HKT, C = HKT.None>(F: FunctorMin<F, C>): Functor<F, C>;
26
- export interface map_<F extends HKT, C = HKT.None> {
27
- <K, Q, W, X, I, S, R, E, A, B>(fa: HKT.Kind<F, C, K, Q, W, X, I, S, R, E, A>, f: (a: A) => B): HKT.Kind<F, C, K, Q, W, X, I, S, R, E, B>;
28
- }
29
- export interface map<F extends HKT, C = HKT.None> {
30
- <A, B>(f: (a: A) => B): <K, Q, W, X, I, S, R, E>(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, E, B>;
31
- }
32
- export interface as_<F extends HKT, C = HKT.None> {
33
- <K, Q, W, X, I, S, R, E, A, B>(fa: HKT.Kind<F, C, K, Q, W, X, I, S, R, E, A>, b: Lazy<B>): HKT.Kind<F, C, K, Q, W, X, I, S, R, E, B>;
34
- }
35
- export interface as<F extends HKT, C = HKT.None> {
36
- <B>(b: Lazy<B>): <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, E, B>;
37
- }
19
+ export declare function map<F extends HKT, K, Q, W, X, I, S, R, E, A, B>(fa: HKT.Kind<F, K, Q, W, X, I, S, R, E, A>, f: (a: A) => B,
20
+ /** @tsplus auto */ F: Functor<F>): HKT.Kind<F, K, Q, W, X, I, S, R, E, B>;
21
+ /**
22
+ * @tsplus fluent fncts.Kind as
23
+ * @tsplus location "@fncts/base/typeclass/Functor"
24
+ */
25
+ export declare function as<F extends HKT, K, Q, W, X, I, S, R, E, A, B>(fa: HKT.Kind<F, K, Q, W, X, I, S, R, E, A>, b: Lazy<B>,
26
+ /** @tsplus auto */ F: Functor<F>): HKT.Kind<F, K, Q, W, X, I, S, R, E, B>;
@@ -1,27 +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";
4
- export interface FunctorWithIndex<F extends HKT, C = HKT.None> extends Functor<F, C> {
5
- readonly mapWithIndex_: mapWithIndex_<F, C>;
6
- readonly mapWithIndex: mapWithIndex<F, C>;
2
+ import type { Functor } from "@fncts/base/typeclass/Functor";
3
+ export interface FunctorWithIndex<F extends HKT> extends Functor<F> {
4
+ mapWithIndex<K, W, Q, X, I, S, R, E, A, B>(fa: HKT.Kind<F, K, W, Q, X, I, S, R, E, A>, f: (i: HKT.IndexFor<F, K>, a: A) => B): HKT.Kind<F, K, W, Q, X, I, S, R, E, B>;
7
5
  }
8
- export declare type FunctorWithIndexMin<F extends HKT, FC = HKT.None> = FunctorMin<F, FC> & {
9
- readonly mapWithIndex_: mapWithIndex_<F, FC>;
10
- };
11
6
  /**
12
7
  * @tsplus type fncts.FunctorWithIndexOps
13
8
  */
14
9
  export interface FunctorWithIndexOps {
15
10
  }
16
11
  export declare const FunctorWithIndex: FunctorWithIndexOps;
17
- /**
18
- * @tsplus static fncts.FunctorWithIndexOps __call
19
- * @tsplus location "@fncts/base/typeclass/FunctorWithIndex"
20
- */
21
- export declare function mkFunctorWithIndex<F extends HKT, C = HKT.None>(F: FunctorWithIndexMin<F, C>): FunctorWithIndex<F, C>;
22
- export interface mapWithIndex_<F extends HKT, C = HKT.None> {
23
- <K, W, Q, X, I, S, R, E, A, B>(fa: HKT.Kind<F, C, K, W, Q, X, I, S, R, E, A>, f: (i: HKT.IndexFor<F, HKT.OrFix<C, "K", K>>, a: A) => B): HKT.Kind<F, C, K, W, Q, X, I, S, R, E, B>;
24
- }
25
- export interface mapWithIndex<F extends HKT, C = HKT.None> {
26
- <K, A, B>(f: (i: HKT.IndexFor<F, HKT.OrFix<C, "K", K>>, a: A) => B): <W, Q, X, I, S, R, E>(fa: HKT.Kind<F, C, K, W, Q, X, I, S, R, E, A>) => HKT.Kind<F, C, K, W, Q, X, I, S, R, E, B>;
27
- }