@fncts/base 0.0.3 → 0.0.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (760) 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/compat/Array/api.cjs +1 -1
  6. package/_cjs/collection/compat/Array/api.cjs.map +1 -1
  7. package/_cjs/collection/immutable/Conc/api.cjs +41 -53
  8. package/_cjs/collection/immutable/Conc/api.cjs.map +1 -1
  9. package/_cjs/collection/immutable/Conc/definition.cjs +49 -39
  10. package/_cjs/collection/immutable/Conc/definition.cjs.map +1 -1
  11. package/_cjs/collection/immutable/Dictionary/definition.cjs +4 -2
  12. package/_cjs/collection/immutable/Dictionary/definition.cjs.map +1 -1
  13. package/_cjs/collection/immutable/HashMap/api.cjs +35 -108
  14. package/_cjs/collection/immutable/HashMap/api.cjs.map +1 -1
  15. package/_cjs/collection/immutable/HashMap/definition.cjs +19 -15
  16. package/_cjs/collection/immutable/HashMap/definition.cjs.map +1 -1
  17. package/_cjs/collection/immutable/HashSet/api.cjs +10 -10
  18. package/_cjs/collection/immutable/HashSet/api.cjs.map +1 -1
  19. package/_cjs/collection/immutable/ImmutableArray/api.cjs +153 -248
  20. package/_cjs/collection/immutable/ImmutableArray/api.cjs.map +1 -1
  21. package/_cjs/collection/immutable/ImmutableArray/definition.cjs +12 -10
  22. package/_cjs/collection/immutable/ImmutableArray/definition.cjs.map +1 -1
  23. package/_cjs/collection/immutable/ImmutableArray/instances.cjs +153 -157
  24. package/_cjs/collection/immutable/ImmutableArray/instances.cjs.map +1 -1
  25. package/_cjs/collection/immutable/ImmutableNonEmptyArray/api.cjs +118 -181
  26. package/_cjs/collection/immutable/ImmutableNonEmptyArray/api.cjs.map +1 -1
  27. package/_cjs/collection/immutable/ImmutableNonEmptyArray/definition.cjs +3 -0
  28. package/_cjs/collection/immutable/ImmutableNonEmptyArray/definition.cjs.map +1 -1
  29. package/_cjs/collection/immutable/ImmutableNonEmptyArray/instances.cjs +45 -81
  30. package/_cjs/collection/immutable/ImmutableNonEmptyArray/instances.cjs.map +1 -1
  31. package/_cjs/collection/immutable/List/api.cjs +4 -7
  32. package/_cjs/collection/immutable/List/api.cjs.map +1 -1
  33. package/_cjs/collection/immutable/RoseTree/api.cjs +485 -0
  34. package/_cjs/collection/immutable/RoseTree/api.cjs.map +1 -0
  35. package/_cjs/collection/immutable/RoseTree/definition.cjs +58 -0
  36. package/_cjs/collection/immutable/RoseTree/definition.cjs.map +1 -0
  37. package/_cjs/collection/immutable/RoseTree.cjs +32 -0
  38. package/_cjs/collection/immutable/RoseTree.cjs.map +1 -0
  39. package/_cjs/collection/immutable/SortedMap/api.cjs +65 -65
  40. package/_cjs/collection/immutable/SortedMap/api.cjs.map +1 -1
  41. package/_cjs/collection/immutable/Vector/api.cjs +70 -15
  42. package/_cjs/collection/immutable/Vector/api.cjs.map +1 -1
  43. package/_cjs/collection/immutable/Vector/definition.cjs +13 -11
  44. package/_cjs/collection/immutable/Vector/definition.cjs.map +1 -1
  45. package/_cjs/collection/mutable/HashMap.cjs +5 -5
  46. package/_cjs/collection/mutable/HashMap.cjs.map +1 -1
  47. package/_cjs/collection/mutable/HashSet.cjs +4 -4
  48. package/_cjs/collection/mutable/HashSet.cjs.map +1 -1
  49. package/_cjs/control/Eval/api.cjs +6 -0
  50. package/_cjs/control/Eval/api.cjs.map +1 -1
  51. package/_cjs/control/Eval/definition.cjs +7 -0
  52. package/_cjs/control/Eval/definition.cjs.map +1 -1
  53. package/_cjs/control/Eval/instance.cjs +14 -25
  54. package/_cjs/control/Eval/instance.cjs.map +1 -1
  55. package/_cjs/control/Z/definition.cjs +9 -3
  56. package/_cjs/control/Z/definition.cjs.map +1 -1
  57. package/_cjs/control/Z/instances.cjs +6 -13
  58. package/_cjs/control/Z/instances.cjs.map +1 -1
  59. package/_cjs/data/Branded/definition.cjs +29 -0
  60. package/_cjs/data/Branded/definition.cjs.map +1 -0
  61. package/_cjs/data/Branded/derivations.cjs +58 -0
  62. package/_cjs/data/Branded/derivations.cjs.map +1 -0
  63. package/_cjs/data/Branded.cjs +32 -0
  64. package/_cjs/data/Branded.cjs.map +1 -0
  65. package/_cjs/data/Cause/api/fold.cjs +2 -0
  66. package/_cjs/data/Cause/api/fold.cjs.map +1 -1
  67. package/_cjs/data/Cause/api.cjs +23 -0
  68. package/_cjs/data/Cause/api.cjs.map +1 -1
  69. package/_cjs/data/Const/api.cjs +3 -7
  70. package/_cjs/data/Const/api.cjs.map +1 -1
  71. package/_cjs/data/Const/definition.cjs +19 -1
  72. package/_cjs/data/Const/definition.cjs.map +1 -1
  73. package/_cjs/data/Const/instances.cjs +9 -20
  74. package/_cjs/data/Const/instances.cjs.map +1 -1
  75. package/_cjs/data/DecodeError/definition.cjs +308 -0
  76. package/_cjs/data/DecodeError/definition.cjs.map +1 -0
  77. package/_cjs/data/DecodeError.cjs +19 -0
  78. package/_cjs/data/DecodeError.cjs.map +1 -0
  79. package/_cjs/data/Decoder/api.cjs +217 -0
  80. package/_cjs/data/Decoder/api.cjs.map +1 -0
  81. package/_cjs/data/Decoder/definition.cjs +41 -0
  82. package/_cjs/data/Decoder/definition.cjs.map +1 -0
  83. package/_cjs/data/Decoder.cjs +32 -0
  84. package/_cjs/data/Decoder.cjs.map +1 -0
  85. package/_cjs/data/Duration/api.cjs +22 -9
  86. package/_cjs/data/Duration/api.cjs.map +1 -1
  87. package/_cjs/data/Either/api/alignWith.cjs +2 -0
  88. package/_cjs/data/Either/api/alignWith.cjs.map +1 -1
  89. package/_cjs/data/Either/api.cjs +105 -42
  90. package/_cjs/data/Either/api.cjs.map +1 -1
  91. package/_cjs/data/Either/definition.cjs +39 -10
  92. package/_cjs/data/Either/definition.cjs.map +1 -1
  93. package/_cjs/data/Either/destructors.cjs +2 -0
  94. package/_cjs/data/Either/destructors.cjs.map +1 -1
  95. package/_cjs/data/Either/instances.cjs +123 -40
  96. package/_cjs/data/Either/instances.cjs.map +1 -1
  97. package/_cjs/data/Environment/api.cjs +29 -8
  98. package/_cjs/data/Environment/api.cjs.map +1 -1
  99. package/_cjs/data/Identity/api.cjs +35 -6
  100. package/_cjs/data/Identity/api.cjs.map +1 -1
  101. package/_cjs/data/Identity/definition.cjs +10 -1
  102. package/_cjs/data/Identity/definition.cjs.map +1 -1
  103. package/_cjs/data/Identity/instances.cjs +11 -25
  104. package/_cjs/data/Identity/instances.cjs.map +1 -1
  105. package/_cjs/data/Interval.cjs +154 -0
  106. package/_cjs/data/Interval.cjs.map +1 -0
  107. package/_cjs/data/Maybe/api.cjs +30 -43
  108. package/_cjs/data/Maybe/api.cjs.map +1 -1
  109. package/_cjs/data/Maybe/definition.cjs +45 -18
  110. package/_cjs/data/Maybe/definition.cjs.map +1 -1
  111. package/_cjs/data/Maybe/destructors.cjs +1 -0
  112. package/_cjs/data/Maybe/destructors.cjs.map +1 -1
  113. package/_cjs/data/Maybe/instances.cjs +62 -42
  114. package/_cjs/data/Maybe/instances.cjs.map +1 -1
  115. package/_cjs/data/Newtype.cjs +5 -3
  116. package/_cjs/data/Newtype.cjs.map +1 -1
  117. package/_cjs/data/Patch/api.cjs +1 -1
  118. package/_cjs/data/Patch/api.cjs.map +1 -1
  119. package/_cjs/data/Refinement/api.cjs +0 -4
  120. package/_cjs/data/Refinement/api.cjs.map +1 -1
  121. package/_cjs/data/Struct/definition.cjs +4 -2
  122. package/_cjs/data/Struct/definition.cjs.map +1 -1
  123. package/_cjs/data/These/api.cjs +299 -0
  124. package/_cjs/data/These/api.cjs.map +1 -0
  125. package/_cjs/data/These/constructors.cjs +24 -4
  126. package/_cjs/data/These/constructors.cjs.map +1 -1
  127. package/_cjs/data/These/definition.cjs +16 -0
  128. package/_cjs/data/These/definition.cjs.map +1 -1
  129. package/_cjs/data/These/destructors.cjs +70 -0
  130. package/_cjs/data/These/destructors.cjs.map +1 -1
  131. package/_cjs/data/These/instances.cjs +54 -0
  132. package/_cjs/data/These/instances.cjs.map +1 -0
  133. package/_cjs/data/These.cjs +13 -0
  134. package/_cjs/data/These.cjs.map +1 -1
  135. package/_cjs/data/bigint/definition.cjs +6 -0
  136. package/_cjs/data/bigint/definition.cjs.map +1 -0
  137. package/_cjs/data/bigint/instances.cjs +24 -0
  138. package/_cjs/data/bigint/instances.cjs.map +1 -0
  139. package/_cjs/data/bigint.cjs +32 -0
  140. package/_cjs/data/bigint.cjs.map +1 -0
  141. package/_cjs/data/boolean/definition.cjs +6 -0
  142. package/_cjs/data/boolean/definition.cjs.map +1 -0
  143. package/_cjs/data/boolean/instances.cjs +24 -0
  144. package/_cjs/data/boolean/instances.cjs.map +1 -0
  145. package/_cjs/data/boolean.cjs +32 -0
  146. package/_cjs/data/boolean.cjs.map +1 -0
  147. package/_cjs/data/number/instances.cjs +18 -5
  148. package/_cjs/data/number/instances.cjs.map +1 -1
  149. package/_cjs/data/object/instances.cjs +24 -0
  150. package/_cjs/data/object/instances.cjs.map +1 -0
  151. package/_cjs/data/string/instances.cjs +24 -9
  152. package/_cjs/data/string/instances.cjs.map +1 -1
  153. package/_cjs/internal/Stack.cjs +4 -0
  154. package/_cjs/internal/Stack.cjs.map +1 -1
  155. package/_cjs/json/EitherJson.cjs +33 -0
  156. package/_cjs/json/EitherJson.cjs.map +1 -0
  157. package/_cjs/json/MaybeJson.cjs +31 -0
  158. package/_cjs/json/MaybeJson.cjs.map +1 -0
  159. package/_cjs/json/TheseJson.cjs +37 -0
  160. package/_cjs/json/TheseJson.cjs.map +1 -0
  161. package/_cjs/optics/Optional/definition.cjs +6 -4
  162. package/_cjs/optics/Optional/definition.cjs.map +1 -1
  163. package/_cjs/optics/Traversal/api/compose.cjs +1 -1
  164. package/_cjs/optics/Traversal/api/compose.cjs.map +1 -1
  165. package/_cjs/optics/Traversal/api/fromTraversable.cjs +4 -4
  166. package/_cjs/optics/Traversal/api/fromTraversable.cjs.map +1 -1
  167. package/_cjs/optics/Traversal/definition.cjs +17 -12
  168. package/_cjs/optics/Traversal/definition.cjs.map +1 -1
  169. package/_cjs/typeclass/Align.cjs +0 -20
  170. package/_cjs/typeclass/Align.cjs.map +1 -1
  171. package/_cjs/typeclass/Alt.cjs +5 -15
  172. package/_cjs/typeclass/Alt.cjs.map +1 -1
  173. package/_cjs/typeclass/Alternative.cjs +0 -23
  174. package/_cjs/typeclass/Alternative.cjs.map +1 -1
  175. package/_cjs/typeclass/Applicative.cjs +0 -22
  176. package/_cjs/typeclass/Applicative.cjs.map +1 -1
  177. package/_cjs/typeclass/ApplicativeExcept.cjs +40 -34
  178. package/_cjs/typeclass/ApplicativeExcept.cjs.map +1 -1
  179. package/_cjs/typeclass/Apply.cjs +93 -49
  180. package/_cjs/typeclass/Apply.cjs.map +1 -1
  181. package/_cjs/typeclass/Chain.cjs +40 -17
  182. package/_cjs/typeclass/Chain.cjs.map +1 -1
  183. package/_cjs/typeclass/Closure.cjs +1 -4
  184. package/_cjs/typeclass/Closure.cjs.map +1 -1
  185. package/_cjs/typeclass/Eq/definition.cjs +18 -0
  186. package/_cjs/typeclass/Eq/definition.cjs.map +1 -0
  187. package/_cjs/typeclass/Eq/derivations.cjs +59 -0
  188. package/_cjs/typeclass/Eq/derivations.cjs.map +1 -0
  189. package/_cjs/typeclass/Eq.cjs +11 -13
  190. package/_cjs/typeclass/Eq.cjs.map +1 -1
  191. package/_cjs/typeclass/Fail.cjs +6 -12
  192. package/_cjs/typeclass/Fail.cjs.map +1 -1
  193. package/_cjs/typeclass/Filterable.cjs +31 -18
  194. package/_cjs/typeclass/Filterable.cjs.map +1 -1
  195. package/_cjs/typeclass/FilterableWithIndex.cjs +0 -26
  196. package/_cjs/typeclass/FilterableWithIndex.cjs.map +1 -1
  197. package/_cjs/typeclass/Foldable.cjs +33 -19
  198. package/_cjs/typeclass/Foldable.cjs.map +1 -1
  199. package/_cjs/typeclass/FoldableWithIndex.cjs +33 -21
  200. package/_cjs/typeclass/FoldableWithIndex.cjs.map +1 -1
  201. package/_cjs/typeclass/Functor.cjs +19 -16
  202. package/_cjs/typeclass/Functor.cjs.map +1 -1
  203. package/_cjs/typeclass/FunctorWithIndex.cjs +0 -21
  204. package/_cjs/typeclass/FunctorWithIndex.cjs.map +1 -1
  205. package/_cjs/typeclass/Guard/api.cjs +40 -0
  206. package/_cjs/typeclass/Guard/api.cjs.map +1 -0
  207. package/_cjs/typeclass/Guard/definition.cjs +40 -0
  208. package/_cjs/typeclass/Guard/definition.cjs.map +1 -0
  209. package/_cjs/typeclass/Guard/derivations.cjs +85 -0
  210. package/_cjs/typeclass/Guard/derivations.cjs.map +1 -0
  211. package/_cjs/typeclass/Guard.cjs +32 -0
  212. package/_cjs/typeclass/Guard.cjs.map +1 -0
  213. package/_cjs/typeclass/HashEq.cjs +3 -3
  214. package/_cjs/typeclass/HashEq.cjs.map +1 -1
  215. package/_cjs/typeclass/Monad.cjs +0 -22
  216. package/_cjs/typeclass/Monad.cjs.map +1 -1
  217. package/_cjs/typeclass/MonadExcept.cjs +12 -19
  218. package/_cjs/typeclass/MonadExcept.cjs.map +1 -1
  219. package/_cjs/typeclass/Monoid.cjs +56 -2
  220. package/_cjs/typeclass/Monoid.cjs.map +1 -1
  221. package/_cjs/typeclass/Nil.cjs +10 -0
  222. package/_cjs/typeclass/Nil.cjs.map +1 -1
  223. package/_cjs/typeclass/Ord/api/contramap.cjs +2 -4
  224. package/_cjs/typeclass/Ord/api/contramap.cjs.map +1 -1
  225. package/_cjs/typeclass/Ord/api/max.cjs +1 -1
  226. package/_cjs/typeclass/Ord/api/max.cjs.map +1 -1
  227. package/_cjs/typeclass/Ord/api/min.cjs +1 -1
  228. package/_cjs/typeclass/Ord/api/min.cjs.map +1 -1
  229. package/_cjs/typeclass/Ord/definition.cjs +2 -3
  230. package/_cjs/typeclass/Ord/definition.cjs.map +1 -1
  231. package/_cjs/typeclass/Ord/instances.cjs +7 -7
  232. package/_cjs/typeclass/Ord/instances.cjs.map +1 -1
  233. package/_cjs/typeclass/Pointed.cjs +6 -11
  234. package/_cjs/typeclass/Pointed.cjs.map +1 -1
  235. package/_cjs/typeclass/Semialign.cjs +77 -94
  236. package/_cjs/typeclass/Semialign.cjs.map +1 -1
  237. package/_cjs/typeclass/Semigroup/api.cjs +2 -2
  238. package/_cjs/typeclass/Semigroup/api.cjs.map +1 -1
  239. package/_cjs/typeclass/Semigroup/definition.cjs.map +1 -1
  240. package/_cjs/typeclass/Semigroup/derivations.cjs +63 -0
  241. package/_cjs/typeclass/Semigroup/derivations.cjs.map +1 -0
  242. package/_cjs/typeclass/Semimonoidal.cjs +9 -13
  243. package/_cjs/typeclass/Semimonoidal.cjs.map +1 -1
  244. package/_cjs/typeclass/Showable/show.cjs +11 -11
  245. package/_cjs/typeclass/Showable/show.cjs.map +1 -1
  246. package/_cjs/typeclass/Traversable.cjs +26 -34
  247. package/_cjs/typeclass/Traversable.cjs.map +1 -1
  248. package/_cjs/typeclass/TraversableWithIndex.cjs +7 -38
  249. package/_cjs/typeclass/TraversableWithIndex.cjs.map +1 -1
  250. package/_cjs/typeclass/Witherable.cjs +41 -42
  251. package/_cjs/typeclass/Witherable.cjs.map +1 -1
  252. package/_cjs/typeclass/WitherableWithIndex.cjs +41 -50
  253. package/_cjs/typeclass/WitherableWithIndex.cjs.map +1 -1
  254. package/_cjs/typeclass.cjs +13 -0
  255. package/_cjs/typeclass.cjs.map +1 -1
  256. package/_cjs/util/predicates.cjs +5 -0
  257. package/_cjs/util/predicates.cjs.map +1 -1
  258. package/_mjs/collection/Iterable/api/traverseConc.mjs +20 -15
  259. package/_mjs/collection/Iterable/api/traverseConc.mjs.map +1 -1
  260. package/_mjs/collection/Iterable/api.mjs +21 -31
  261. package/_mjs/collection/Iterable/api.mjs.map +1 -1
  262. package/_mjs/collection/compat/Array/api.mjs +1 -1
  263. package/_mjs/collection/compat/Array/api.mjs.map +1 -1
  264. package/_mjs/collection/immutable/Conc/api.mjs +35 -36
  265. package/_mjs/collection/immutable/Conc/api.mjs.map +1 -1
  266. package/_mjs/collection/immutable/Conc/definition.mjs +48 -39
  267. package/_mjs/collection/immutable/Conc/definition.mjs.map +1 -1
  268. package/_mjs/collection/immutable/Dictionary/definition.mjs +3 -2
  269. package/_mjs/collection/immutable/Dictionary/definition.mjs.map +1 -1
  270. package/_mjs/collection/immutable/HashMap/api.mjs +26 -66
  271. package/_mjs/collection/immutable/HashMap/api.mjs.map +1 -1
  272. package/_mjs/collection/immutable/HashMap/definition.mjs +18 -15
  273. package/_mjs/collection/immutable/HashMap/definition.mjs.map +1 -1
  274. package/_mjs/collection/immutable/HashSet/api.mjs +5 -5
  275. package/_mjs/collection/immutable/HashSet/api.mjs.map +1 -1
  276. package/_mjs/collection/immutable/ImmutableArray/api.mjs +135 -177
  277. package/_mjs/collection/immutable/ImmutableArray/api.mjs.map +1 -1
  278. package/_mjs/collection/immutable/ImmutableArray/definition.mjs +11 -10
  279. package/_mjs/collection/immutable/ImmutableArray/definition.mjs.map +1 -1
  280. package/_mjs/collection/immutable/ImmutableArray/instances.mjs +151 -138
  281. package/_mjs/collection/immutable/ImmutableArray/instances.mjs.map +1 -1
  282. package/_mjs/collection/immutable/ImmutableNonEmptyArray/api.mjs +108 -142
  283. package/_mjs/collection/immutable/ImmutableNonEmptyArray/api.mjs.map +1 -1
  284. package/_mjs/collection/immutable/ImmutableNonEmptyArray/definition.mjs +2 -0
  285. package/_mjs/collection/immutable/ImmutableNonEmptyArray/definition.mjs.map +1 -1
  286. package/_mjs/collection/immutable/ImmutableNonEmptyArray/instances.mjs +46 -67
  287. package/_mjs/collection/immutable/ImmutableNonEmptyArray/instances.mjs.map +1 -1
  288. package/_mjs/collection/immutable/List/api.mjs +4 -5
  289. package/_mjs/collection/immutable/List/api.mjs.map +1 -1
  290. package/_mjs/collection/immutable/RoseTree/api.mjs +447 -0
  291. package/_mjs/collection/immutable/RoseTree/api.mjs.map +1 -0
  292. package/_mjs/collection/immutable/RoseTree/definition.mjs +35 -0
  293. package/_mjs/collection/immutable/RoseTree/definition.mjs.map +1 -0
  294. package/_mjs/collection/immutable/RoseTree.mjs +4 -0
  295. package/_mjs/collection/immutable/RoseTree.mjs.map +1 -0
  296. package/_mjs/collection/immutable/SortedMap/api.mjs +65 -65
  297. package/_mjs/collection/immutable/SortedMap/api.mjs.map +1 -1
  298. package/_mjs/collection/immutable/Vector/api.mjs +59 -15
  299. package/_mjs/collection/immutable/Vector/api.mjs.map +1 -1
  300. package/_mjs/collection/immutable/Vector/definition.mjs +12 -11
  301. package/_mjs/collection/immutable/Vector/definition.mjs.map +1 -1
  302. package/_mjs/collection/mutable/HashMap.mjs +5 -5
  303. package/_mjs/collection/mutable/HashMap.mjs.map +1 -1
  304. package/_mjs/collection/mutable/HashSet.mjs +4 -4
  305. package/_mjs/collection/mutable/HashSet.mjs.map +1 -1
  306. package/_mjs/control/Eval/api.mjs +5 -2
  307. package/_mjs/control/Eval/api.mjs.map +1 -1
  308. package/_mjs/control/Eval/definition.mjs +1 -0
  309. package/_mjs/control/Eval/definition.mjs.map +1 -1
  310. package/_mjs/control/Eval/instance.mjs +15 -18
  311. package/_mjs/control/Eval/instance.mjs.map +1 -1
  312. package/_mjs/control/Z/definition.mjs +2 -0
  313. package/_mjs/control/Z/definition.mjs.map +1 -1
  314. package/_mjs/control/Z/instances.mjs +7 -8
  315. package/_mjs/control/Z/instances.mjs.map +1 -1
  316. package/_mjs/data/Branded/definition.mjs +18 -0
  317. package/_mjs/data/Branded/definition.mjs.map +1 -0
  318. package/_mjs/data/Branded/derivations.mjs +39 -0
  319. package/_mjs/data/Branded/derivations.mjs.map +1 -0
  320. package/_mjs/data/Branded.mjs +4 -0
  321. package/_mjs/data/Branded.mjs.map +1 -0
  322. package/_mjs/data/Cause/api/fold.mjs +2 -0
  323. package/_mjs/data/Cause/api/fold.mjs.map +1 -1
  324. package/_mjs/data/Cause/api.mjs +20 -0
  325. package/_mjs/data/Cause/api.mjs.map +1 -1
  326. package/_mjs/data/Const/api.mjs +3 -3
  327. package/_mjs/data/Const/api.mjs.map +1 -1
  328. package/_mjs/data/Const/definition.mjs +13 -1
  329. package/_mjs/data/Const/definition.mjs.map +1 -1
  330. package/_mjs/data/Const/instances.mjs +7 -15
  331. package/_mjs/data/Const/instances.mjs.map +1 -1
  332. package/_mjs/data/DecodeError/definition.mjs +226 -0
  333. package/_mjs/data/DecodeError/definition.mjs.map +1 -0
  334. package/_mjs/data/DecodeError.mjs +3 -0
  335. package/_mjs/data/DecodeError.mjs.map +1 -0
  336. package/_mjs/data/Decoder/api.mjs +179 -0
  337. package/_mjs/data/Decoder/api.mjs.map +1 -0
  338. package/_mjs/data/Decoder/definition.mjs +24 -0
  339. package/_mjs/data/Decoder/definition.mjs.map +1 -0
  340. package/_mjs/data/Decoder.mjs +4 -0
  341. package/_mjs/data/Decoder.mjs.map +1 -0
  342. package/_mjs/data/Duration/api.mjs +17 -8
  343. package/_mjs/data/Duration/api.mjs.map +1 -1
  344. package/_mjs/data/Either/api/alignWith.mjs +2 -0
  345. package/_mjs/data/Either/api/alignWith.mjs.map +1 -1
  346. package/_mjs/data/Either/api.mjs +91 -21
  347. package/_mjs/data/Either/api.mjs.map +1 -1
  348. package/_mjs/data/Either/definition.mjs +25 -5
  349. package/_mjs/data/Either/definition.mjs.map +1 -1
  350. package/_mjs/data/Either/destructors.mjs +2 -0
  351. package/_mjs/data/Either/destructors.mjs.map +1 -1
  352. package/_mjs/data/Either/instances.mjs +109 -39
  353. package/_mjs/data/Either/instances.mjs.map +1 -1
  354. package/_mjs/data/Environment/api.mjs +23 -7
  355. package/_mjs/data/Environment/api.mjs.map +1 -1
  356. package/_mjs/data/Identity/api.mjs +24 -5
  357. package/_mjs/data/Identity/api.mjs.map +1 -1
  358. package/_mjs/data/Identity/definition.mjs +3 -1
  359. package/_mjs/data/Identity/definition.mjs.map +1 -1
  360. package/_mjs/data/Identity/instances.mjs +12 -18
  361. package/_mjs/data/Identity/instances.mjs.map +1 -1
  362. package/_mjs/data/Interval.mjs +114 -0
  363. package/_mjs/data/Interval.mjs.map +1 -0
  364. package/_mjs/data/Maybe/api.mjs +30 -35
  365. package/_mjs/data/Maybe/api.mjs.map +1 -1
  366. package/_mjs/data/Maybe/definition.mjs +37 -14
  367. package/_mjs/data/Maybe/definition.mjs.map +1 -1
  368. package/_mjs/data/Maybe/destructors.mjs +1 -0
  369. package/_mjs/data/Maybe/destructors.mjs.map +1 -1
  370. package/_mjs/data/Maybe/instances.mjs +56 -39
  371. package/_mjs/data/Maybe/instances.mjs.map +1 -1
  372. package/_mjs/data/Newtype.mjs +4 -3
  373. package/_mjs/data/Newtype.mjs.map +1 -1
  374. package/_mjs/data/Patch/api.mjs +1 -1
  375. package/_mjs/data/Patch/api.mjs.map +1 -1
  376. package/_mjs/data/Refinement/api.mjs +0 -4
  377. package/_mjs/data/Refinement/api.mjs.map +1 -1
  378. package/_mjs/data/Struct/definition.mjs +3 -2
  379. package/_mjs/data/Struct/definition.mjs.map +1 -1
  380. package/_mjs/data/These/api.mjs +262 -0
  381. package/_mjs/data/These/api.mjs.map +1 -0
  382. package/_mjs/data/These/constructors.mjs +14 -2
  383. package/_mjs/data/These/constructors.mjs.map +1 -1
  384. package/_mjs/data/These/definition.mjs +8 -0
  385. package/_mjs/data/These/definition.mjs.map +1 -1
  386. package/_mjs/data/These/destructors.mjs +53 -0
  387. package/_mjs/data/These/destructors.mjs.map +1 -1
  388. package/_mjs/data/These/instances.mjs +36 -0
  389. package/_mjs/data/These/instances.mjs.map +1 -0
  390. package/_mjs/data/These.mjs +1 -0
  391. package/_mjs/data/These.mjs.map +1 -1
  392. package/_mjs/data/bigint/definition.mjs +2 -0
  393. package/_mjs/data/bigint/definition.mjs.map +1 -0
  394. package/_mjs/data/bigint/instances.mjs +10 -0
  395. package/_mjs/data/bigint/instances.mjs.map +1 -0
  396. package/_mjs/data/bigint.mjs +4 -0
  397. package/_mjs/data/bigint.mjs.map +1 -0
  398. package/_mjs/data/boolean/definition.mjs +2 -0
  399. package/_mjs/data/boolean/definition.mjs.map +1 -0
  400. package/_mjs/data/boolean/instances.mjs +10 -0
  401. package/_mjs/data/boolean/instances.mjs.map +1 -0
  402. package/_mjs/data/boolean.mjs +4 -0
  403. package/_mjs/data/boolean.mjs.map +1 -0
  404. package/_mjs/data/number/instances.mjs +14 -4
  405. package/_mjs/data/number/instances.mjs.map +1 -1
  406. package/_mjs/data/object/instances.mjs +10 -0
  407. package/_mjs/data/object/instances.mjs.map +1 -0
  408. package/_mjs/data/string/instances.mjs +20 -8
  409. package/_mjs/data/string/instances.mjs.map +1 -1
  410. package/_mjs/internal/Stack.mjs +4 -0
  411. package/_mjs/internal/Stack.mjs.map +1 -1
  412. package/_mjs/json/EitherJson.mjs +18 -0
  413. package/_mjs/json/EitherJson.mjs.map +1 -0
  414. package/_mjs/json/MaybeJson.mjs +16 -0
  415. package/_mjs/json/MaybeJson.mjs.map +1 -0
  416. package/_mjs/json/TheseJson.mjs +22 -0
  417. package/_mjs/json/TheseJson.mjs.map +1 -0
  418. package/_mjs/optics/Optional/definition.mjs +5 -4
  419. package/_mjs/optics/Optional/definition.mjs.map +1 -1
  420. package/_mjs/optics/Traversal/api/compose.mjs +1 -1
  421. package/_mjs/optics/Traversal/api/compose.mjs.map +1 -1
  422. package/_mjs/optics/Traversal/api/fromTraversable.mjs +5 -4
  423. package/_mjs/optics/Traversal/api/fromTraversable.mjs.map +1 -1
  424. package/_mjs/optics/Traversal/definition.mjs +14 -12
  425. package/_mjs/optics/Traversal/definition.mjs.map +1 -1
  426. package/_mjs/typeclass/Align.mjs +0 -11
  427. package/_mjs/typeclass/Align.mjs.map +1 -1
  428. package/_mjs/typeclass/Alt.mjs +4 -7
  429. package/_mjs/typeclass/Alt.mjs.map +1 -1
  430. package/_mjs/typeclass/Alternative.mjs +0 -13
  431. package/_mjs/typeclass/Alternative.mjs.map +1 -1
  432. package/_mjs/typeclass/Applicative.mjs +0 -12
  433. package/_mjs/typeclass/Applicative.mjs.map +1 -1
  434. package/_mjs/typeclass/ApplicativeExcept.mjs +32 -24
  435. package/_mjs/typeclass/ApplicativeExcept.mjs.map +1 -1
  436. package/_mjs/typeclass/Apply.mjs +85 -42
  437. package/_mjs/typeclass/Apply.mjs.map +1 -1
  438. package/_mjs/typeclass/Chain.mjs +33 -12
  439. package/_mjs/typeclass/Chain.mjs.map +1 -1
  440. package/_mjs/typeclass/Closure.mjs +1 -4
  441. package/_mjs/typeclass/Closure.mjs.map +1 -1
  442. package/_mjs/typeclass/Eq/definition.mjs +9 -0
  443. package/_mjs/typeclass/Eq/definition.mjs.map +1 -0
  444. package/_mjs/typeclass/Eq/derivations.mjs +46 -0
  445. package/_mjs/typeclass/Eq/derivations.mjs.map +1 -0
  446. package/_mjs/typeclass/Eq.mjs +1 -11
  447. package/_mjs/typeclass/Eq.mjs.map +1 -1
  448. package/_mjs/typeclass/Fail.mjs +5 -7
  449. package/_mjs/typeclass/Fail.mjs.map +1 -1
  450. package/_mjs/typeclass/Filterable.mjs +27 -13
  451. package/_mjs/typeclass/Filterable.mjs.map +1 -1
  452. package/_mjs/typeclass/FilterableWithIndex.mjs +0 -16
  453. package/_mjs/typeclass/FilterableWithIndex.mjs.map +1 -1
  454. package/_mjs/typeclass/Foldable.mjs +29 -12
  455. package/_mjs/typeclass/Foldable.mjs.map +1 -1
  456. package/_mjs/typeclass/FoldableWithIndex.mjs +29 -13
  457. package/_mjs/typeclass/FoldableWithIndex.mjs.map +1 -1
  458. package/_mjs/typeclass/Functor.mjs +16 -9
  459. package/_mjs/typeclass/Functor.mjs.map +1 -1
  460. package/_mjs/typeclass/FunctorWithIndex.mjs +0 -12
  461. package/_mjs/typeclass/FunctorWithIndex.mjs.map +1 -1
  462. package/_mjs/typeclass/Guard/api.mjs +23 -0
  463. package/_mjs/typeclass/Guard/api.mjs.map +1 -0
  464. package/_mjs/typeclass/Guard/definition.mjs +23 -0
  465. package/_mjs/typeclass/Guard/definition.mjs.map +1 -0
  466. package/_mjs/typeclass/Guard/derivations.mjs +67 -0
  467. package/_mjs/typeclass/Guard/derivations.mjs.map +1 -0
  468. package/_mjs/typeclass/Guard.mjs +4 -0
  469. package/_mjs/typeclass/Guard.mjs.map +1 -0
  470. package/_mjs/typeclass/HashEq.mjs +3 -3
  471. package/_mjs/typeclass/HashEq.mjs.map +1 -1
  472. package/_mjs/typeclass/Monad.mjs +0 -12
  473. package/_mjs/typeclass/Monad.mjs.map +1 -1
  474. package/_mjs/typeclass/MonadExcept.mjs +9 -13
  475. package/_mjs/typeclass/MonadExcept.mjs.map +1 -1
  476. package/_mjs/typeclass/Monoid.mjs +50 -1
  477. package/_mjs/typeclass/Monoid.mjs.map +1 -1
  478. package/_mjs/typeclass/Nil.mjs +8 -1
  479. package/_mjs/typeclass/Nil.mjs.map +1 -1
  480. package/_mjs/typeclass/Ord/api/contramap.mjs +2 -4
  481. package/_mjs/typeclass/Ord/api/contramap.mjs.map +1 -1
  482. package/_mjs/typeclass/Ord/api/max.mjs +1 -1
  483. package/_mjs/typeclass/Ord/api/max.mjs.map +1 -1
  484. package/_mjs/typeclass/Ord/api/min.mjs +1 -1
  485. package/_mjs/typeclass/Ord/api/min.mjs.map +1 -1
  486. package/_mjs/typeclass/Ord/definition.mjs +2 -3
  487. package/_mjs/typeclass/Ord/definition.mjs.map +1 -1
  488. package/_mjs/typeclass/Ord/instances.mjs +7 -7
  489. package/_mjs/typeclass/Ord/instances.mjs.map +1 -1
  490. package/_mjs/typeclass/Pointed.mjs +5 -4
  491. package/_mjs/typeclass/Pointed.mjs.map +1 -1
  492. package/_mjs/typeclass/Semialign.mjs +67 -74
  493. package/_mjs/typeclass/Semialign.mjs.map +1 -1
  494. package/_mjs/typeclass/Semigroup/api.mjs +2 -2
  495. package/_mjs/typeclass/Semigroup/api.mjs.map +1 -1
  496. package/_mjs/typeclass/Semigroup/definition.mjs.map +1 -1
  497. package/_mjs/typeclass/Semigroup/derivations.mjs +50 -0
  498. package/_mjs/typeclass/Semigroup/derivations.mjs.map +1 -0
  499. package/_mjs/typeclass/Semigroup.mjs +1 -1
  500. package/_mjs/typeclass/Semimonoidal.mjs +8 -6
  501. package/_mjs/typeclass/Semimonoidal.mjs.map +1 -1
  502. package/_mjs/typeclass/Showable/show.mjs +11 -11
  503. package/_mjs/typeclass/Showable/show.mjs.map +1 -1
  504. package/_mjs/typeclass/Traversable.mjs +25 -24
  505. package/_mjs/typeclass/Traversable.mjs.map +1 -1
  506. package/_mjs/typeclass/TraversableWithIndex.mjs +6 -24
  507. package/_mjs/typeclass/TraversableWithIndex.mjs.map +1 -1
  508. package/_mjs/typeclass/Witherable.mjs +39 -32
  509. package/_mjs/typeclass/Witherable.mjs.map +1 -1
  510. package/_mjs/typeclass/WitherableWithIndex.mjs +39 -37
  511. package/_mjs/typeclass/WitherableWithIndex.mjs.map +1 -1
  512. package/_mjs/typeclass.mjs +1 -0
  513. package/_mjs/typeclass.mjs.map +1 -1
  514. package/_mjs/util/predicates.mjs +3 -0
  515. package/_mjs/util/predicates.mjs.map +1 -1
  516. package/_src/collection/Iterable/api/traverseConc.ts +21 -29
  517. package/_src/collection/Iterable/api.ts +20 -34
  518. package/_src/collection/compat/Array/api.ts +1 -1
  519. package/_src/collection/immutable/Conc/api.ts +26 -46
  520. package/_src/collection/immutable/Conc/definition.ts +19 -8
  521. package/_src/collection/immutable/Dictionary/definition.ts +1 -1
  522. package/_src/collection/immutable/HashMap/api.ts +24 -81
  523. package/_src/collection/immutable/HashMap/definition.ts +7 -9
  524. package/_src/collection/immutable/HashMap/internal.ts +1 -1
  525. package/_src/collection/immutable/HashSet/api.ts +4 -4
  526. package/_src/collection/immutable/ImmutableArray/api.ts +180 -219
  527. package/_src/collection/immutable/ImmutableArray/definition.ts +6 -8
  528. package/_src/collection/immutable/ImmutableArray/instances.ts +156 -134
  529. package/_src/collection/immutable/ImmutableNonEmptyArray/api.ts +87 -158
  530. package/_src/collection/immutable/ImmutableNonEmptyArray/definition.ts +4 -8
  531. package/_src/collection/immutable/ImmutableNonEmptyArray/instances.ts +39 -49
  532. package/_src/collection/immutable/List/api.ts +2 -6
  533. package/_src/collection/immutable/RoseTree/api.ts +278 -0
  534. package/_src/collection/immutable/RoseTree/definition.ts +29 -0
  535. package/_src/collection/immutable/RoseTree.ts +4 -0
  536. package/_src/collection/immutable/SortedMap/api.ts +56 -53
  537. package/_src/collection/immutable/Vector/api.ts +57 -17
  538. package/_src/collection/immutable/Vector/definition.ts +10 -0
  539. package/_src/collection/mutable/HashMap.ts +5 -5
  540. package/_src/collection/mutable/HashSet.ts +4 -4
  541. package/_src/control/Eval/api.ts +5 -1
  542. package/_src/control/Eval/definition.ts +5 -8
  543. package/_src/control/Eval/instance.ts +16 -15
  544. package/_src/control/Z/definition.ts +26 -19
  545. package/_src/control/Z/instances.ts +9 -8
  546. package/_src/data/Branded/definition.ts +47 -0
  547. package/_src/data/Branded/derivations.ts +57 -0
  548. package/_src/data/Branded.ts +4 -0
  549. package/_src/data/Cause/api/fold.ts +1 -0
  550. package/_src/data/Cause/api.ts +18 -0
  551. package/_src/data/Const/api.ts +3 -3
  552. package/_src/data/Const/definition.ts +22 -5
  553. package/_src/data/Const/instances.ts +12 -21
  554. package/_src/data/DecodeError/definition.ts +227 -0
  555. package/_src/data/DecodeError.ts +3 -0
  556. package/_src/data/Decoder/api.ts +198 -0
  557. package/_src/data/Decoder/definition.ts +25 -0
  558. package/_src/data/Decoder.ts +4 -0
  559. package/_src/data/Duration/api.ts +21 -14
  560. package/_src/data/Either/api/alignWith.ts +2 -0
  561. package/_src/data/Either/api.ts +85 -30
  562. package/_src/data/Either/definition.ts +41 -19
  563. package/_src/data/Either/destructors.ts +1 -0
  564. package/_src/data/Either/instances.ts +102 -51
  565. package/_src/data/Environment/api.ts +19 -4
  566. package/_src/data/Identity/api.ts +19 -4
  567. package/_src/data/Identity/definition.ts +7 -3
  568. package/_src/data/Identity/instances.ts +15 -8
  569. package/_src/data/Interval.ts +103 -0
  570. package/_src/data/Maybe/api.ts +21 -31
  571. package/_src/data/Maybe/definition.ts +31 -19
  572. package/_src/data/Maybe/destructors.ts +1 -0
  573. package/_src/data/Maybe/instances.ts +61 -34
  574. package/_src/data/Newtype.ts +11 -32
  575. package/_src/data/Patch/api.ts +1 -1
  576. package/_src/data/Refinement/api.ts +4 -2
  577. package/_src/data/Struct/definition.ts +1 -1
  578. package/_src/data/These/api.ts +184 -0
  579. package/_src/data/These/constructors.ts +10 -0
  580. package/_src/data/These/definition.ts +7 -0
  581. package/_src/data/These/destructors.ts +45 -0
  582. package/_src/data/These/instances.ts +43 -0
  583. package/_src/data/These.ts +1 -0
  584. package/_src/data/bigint/definition.ts +13 -0
  585. package/_src/data/bigint/instances.ts +8 -0
  586. package/_src/data/bigint.ts +4 -0
  587. package/_src/data/boolean/definition.ts +13 -0
  588. package/_src/data/boolean/instances.ts +8 -0
  589. package/_src/data/boolean.ts +4 -0
  590. package/_src/data/number/instances.ts +13 -3
  591. package/_src/data/object/instances.ts +7 -0
  592. package/_src/data/string/instances.ts +17 -5
  593. package/_src/internal/Stack.ts +4 -0
  594. package/_src/json/EitherJson.ts +28 -0
  595. package/_src/json/MaybeJson.ts +27 -0
  596. package/_src/json/TheseJson.ts +31 -0
  597. package/_src/optics/Optional/definition.ts +2 -2
  598. package/_src/optics/Traversal/api/compose.ts +1 -1
  599. package/_src/optics/Traversal/api/fromTraversable.ts +15 -41
  600. package/_src/optics/Traversal/definition.ts +21 -23
  601. package/_src/typeclass/Align.ts +4 -18
  602. package/_src/typeclass/Alt.ts +59 -90
  603. package/_src/typeclass/Alternative.ts +4 -20
  604. package/_src/typeclass/Applicative.ts +3 -23
  605. package/_src/typeclass/ApplicativeExcept.ts +94 -193
  606. package/_src/typeclass/Apply.ts +319 -509
  607. package/_src/typeclass/Chain.ts +127 -199
  608. package/_src/typeclass/Closure.ts +4 -20
  609. package/_src/typeclass/Eq/definition.ts +20 -0
  610. package/_src/typeclass/Eq/derivations.ts +61 -0
  611. package/_src/typeclass/Eq.ts +2 -36
  612. package/_src/typeclass/Fail.ts +28 -27
  613. package/_src/typeclass/Filterable.ts +70 -117
  614. package/_src/typeclass/FilterableWithIndex.ts +27 -131
  615. package/_src/typeclass/Foldable.ts +35 -52
  616. package/_src/typeclass/FoldableWithIndex.ts +40 -75
  617. package/_src/typeclass/Functor.ts +21 -59
  618. package/_src/typeclass/FunctorWithIndex.ts +6 -34
  619. package/_src/typeclass/Guard/api.ts +32 -0
  620. package/_src/typeclass/Guard/definition.ts +23 -0
  621. package/_src/typeclass/Guard/derivations.ts +80 -0
  622. package/_src/typeclass/Guard.ts +5 -0
  623. package/_src/typeclass/HashEq.ts +3 -4
  624. package/_src/typeclass/Monad.ts +3 -18
  625. package/_src/typeclass/MonadExcept.ts +9 -32
  626. package/_src/typeclass/Monoid.ts +60 -2
  627. package/_src/typeclass/Nil.ts +26 -17
  628. package/_src/typeclass/Ord/api/contramap.ts +2 -4
  629. package/_src/typeclass/Ord/api/max.ts +1 -1
  630. package/_src/typeclass/Ord/api/min.ts +1 -1
  631. package/_src/typeclass/Ord/definition.ts +3 -19
  632. package/_src/typeclass/Ord/instances.ts +6 -6
  633. package/_src/typeclass/Pointed.ts +29 -25
  634. package/_src/typeclass/Semialign.ts +308 -444
  635. package/_src/typeclass/Semigroup/api.ts +2 -2
  636. package/_src/typeclass/Semigroup/definition.ts +2 -6
  637. package/_src/typeclass/Semigroup/derivations.ts +64 -0
  638. package/_src/typeclass/Semigroup.ts +1 -1
  639. package/_src/typeclass/Semimonoidal.ts +55 -84
  640. package/_src/typeclass/Showable/show.ts +6 -8
  641. package/_src/typeclass/Traversable.ts +67 -157
  642. package/_src/typeclass/TraversableWithIndex.ts +37 -127
  643. package/_src/typeclass/Witherable.ts +120 -279
  644. package/_src/typeclass/WitherableWithIndex.ts +129 -337
  645. package/_src/typeclass.ts +2 -0
  646. package/_src/util/predicates.ts +4 -0
  647. package/collection/Iterable/api/traverseConc.d.ts +6 -4
  648. package/collection/Iterable/api.d.ts +5 -13
  649. package/collection/immutable/Conc/api.d.ts +15 -23
  650. package/collection/immutable/Conc/definition.d.ts +10 -7
  651. package/collection/immutable/Dictionary/definition.d.ts +1 -1
  652. package/collection/immutable/HashMap/api.d.ts +15 -27
  653. package/collection/immutable/HashMap/definition.d.ts +6 -9
  654. package/collection/immutable/HashMap/internal.d.ts +1 -1
  655. package/collection/immutable/ImmutableArray/api.d.ts +42 -94
  656. package/collection/immutable/ImmutableArray/definition.d.ts +6 -8
  657. package/collection/immutable/ImmutableArray/instances.d.ts +86 -17
  658. package/collection/immutable/ImmutableNonEmptyArray/api.d.ts +26 -47
  659. package/collection/immutable/ImmutableNonEmptyArray/definition.d.ts +4 -8
  660. package/collection/immutable/ImmutableNonEmptyArray/instances.d.ts +1 -1
  661. package/collection/immutable/List/api.d.ts +1 -2
  662. package/collection/immutable/RoseTree/api.d.ts +63 -0
  663. package/collection/immutable/RoseTree/definition.d.ts +23 -0
  664. package/collection/immutable/RoseTree.d.ts +2 -0
  665. package/collection/immutable/SortedMap/api.d.ts +2 -1
  666. package/collection/immutable/Vector/api.d.ts +31 -8
  667. package/collection/immutable/Vector/definition.d.ts +10 -0
  668. package/control/Eval/api.d.ts +1 -0
  669. package/control/Eval/definition.d.ts +5 -8
  670. package/control/Eval/instance.d.ts +4 -1
  671. package/control/Z/definition.d.ts +23 -18
  672. package/control/Z/instances.d.ts +4 -3
  673. package/data/Branded/definition.d.ts +36 -0
  674. package/data/Branded/derivations.d.ts +24 -0
  675. package/data/Branded.d.ts +2 -0
  676. package/data/Cause/api.d.ts +7 -1
  677. package/data/Const/api.d.ts +1 -1
  678. package/data/Const/definition.d.ts +23 -7
  679. package/data/Const/instances.d.ts +4 -12
  680. package/data/DecodeError/definition.d.ts +141 -0
  681. package/data/DecodeError.d.ts +1 -0
  682. package/data/Decoder/api.d.ts +65 -0
  683. package/data/Decoder/definition.d.ts +24 -0
  684. package/data/Decoder.d.ts +2 -0
  685. package/data/Duration/api.d.ts +12 -8
  686. package/data/Either/api.d.ts +29 -17
  687. package/data/Either/definition.d.ts +31 -14
  688. package/data/Either/instances.d.ts +26 -11
  689. package/data/Environment/api.d.ts +5 -0
  690. package/data/Identity/api.d.ts +11 -0
  691. package/data/Identity/definition.d.ts +7 -2
  692. package/data/Identity/instances.d.ts +5 -9
  693. package/data/Interval.d.ts +71 -0
  694. package/data/Maybe/api.d.ts +3 -17
  695. package/data/Maybe/definition.d.ts +20 -14
  696. package/data/Maybe/instances.d.ts +14 -8
  697. package/data/Newtype.d.ts +8 -9
  698. package/data/Refinement/api.d.ts +2 -0
  699. package/data/Struct/definition.d.ts +1 -1
  700. package/data/These/api.d.ts +73 -0
  701. package/data/These/constructors.d.ts +7 -1
  702. package/data/These/definition.d.ts +5 -0
  703. package/data/These/destructors.d.ts +27 -1
  704. package/data/These/instances.d.ts +13 -0
  705. package/data/These.d.ts +1 -0
  706. package/data/bigint/definition.d.ts +13 -0
  707. package/data/bigint/instances.d.ts +7 -0
  708. package/data/bigint.d.ts +2 -0
  709. package/data/boolean/definition.d.ts +13 -0
  710. package/data/boolean/instances.d.ts +7 -0
  711. package/data/boolean.d.ts +2 -0
  712. package/data/number/instances.d.ts +8 -0
  713. package/data/object/instances.d.ts +7 -0
  714. package/data/string/instances.d.ts +10 -0
  715. package/internal/Stack.d.ts +1 -0
  716. package/json/EitherJson.d.ts +24 -0
  717. package/json/MaybeJson.d.ts +23 -0
  718. package/json/TheseJson.d.ts +26 -0
  719. package/optics/Traversal/api/fromTraversable.d.ts +1 -1
  720. package/optics/Traversal/definition.d.ts +4 -9
  721. package/package.json +2 -2
  722. package/typeclass/Align.d.ts +3 -10
  723. package/typeclass/Alt.d.ts +6 -19
  724. package/typeclass/Alternative.d.ts +4 -12
  725. package/typeclass/Applicative.d.ts +3 -12
  726. package/typeclass/ApplicativeExcept.d.ts +14 -39
  727. package/typeclass/Apply.d.ts +41 -72
  728. package/typeclass/Chain.d.ts +18 -28
  729. package/typeclass/Closure.d.ts +2 -12
  730. package/typeclass/Eq/definition.d.ts +17 -0
  731. package/typeclass/Eq/derivations.d.ts +24 -0
  732. package/typeclass/Eq.d.ts +2 -27
  733. package/typeclass/Fail.d.ts +4 -10
  734. package/typeclass/Filterable.d.ts +30 -51
  735. package/typeclass/FilterableWithIndex.d.ts +10 -53
  736. package/typeclass/Foldable.d.ts +19 -31
  737. package/typeclass/FoldableWithIndex.d.ts +20 -33
  738. package/typeclass/Functor.d.ts +11 -22
  739. package/typeclass/FunctorWithIndex.d.ts +3 -19
  740. package/typeclass/Guard/api.d.ts +20 -0
  741. package/typeclass/Guard/definition.d.ts +22 -0
  742. package/typeclass/Guard/derivations.d.ts +36 -0
  743. package/typeclass/Guard.d.ts +2 -0
  744. package/typeclass/HashEq.d.ts +1 -2
  745. package/typeclass/Monad.d.ts +3 -11
  746. package/typeclass/MonadExcept.d.ts +6 -17
  747. package/typeclass/Monoid.d.ts +24 -2
  748. package/typeclass/Nil.d.ts +7 -8
  749. package/typeclass/Ord/definition.d.ts +2 -14
  750. package/typeclass/Pointed.d.ts +4 -10
  751. package/typeclass/Semialign.d.ts +51 -63
  752. package/typeclass/Semigroup/definition.d.ts +3 -5
  753. package/typeclass/Semigroup/derivations.d.ts +25 -0
  754. package/typeclass/Semimonoidal.d.ts +5 -14
  755. package/typeclass/Traversable.d.ts +17 -57
  756. package/typeclass/TraversableWithIndex.d.ts +9 -52
  757. package/typeclass/Witherable.d.ts +22 -82
  758. package/typeclass/WitherableWithIndex.d.ts +26 -98
  759. package/typeclass.d.ts +1 -0
  760. package/util/predicates.d.ts +1 -0
@@ -0,0 +1,2 @@
1
+ export * from "./Branded/definition.js";
2
+ export * from "./Branded/derivations.js";
@@ -6,7 +6,7 @@ import { Either } from "@fncts/base/data/Either/definition";
6
6
  import { Maybe } from "@fncts/base/data/Maybe/definition";
7
7
  import { Predicate } from "@fncts/base/data/Predicate/definition";
8
8
  import { FiberId } from "@fncts/base/data/FiberId/definition";
9
- import { Both, Cause, Fail, Halt, Then } from "./definition.js";
9
+ import { Both, Cause, Fail, Halt, Interrupt, Then } from "./definition.js";
10
10
  /**
11
11
  * @tsplus fluent fncts.Cause as
12
12
  * @tsplus location "@fncts/base/data/Cause/api"
@@ -181,6 +181,12 @@ export declare function isHalt<E>(self: Cause<E>): self is Halt;
181
181
  * @tsplus location "@fncts/base/data/Cause/api"
182
182
  */
183
183
  export declare function isThen<E>(self: Cause<E>): self is Then<E>;
184
+ /**
185
+ * A type-guard matching `Interrupt`
186
+ * @tsplus fluent fncts.Cause isInterrupt
187
+ * @tsplus location "@fncts/base/data/Cause/api"
188
+ */
189
+ export declare function isInterrupt<E>(self: Cause<E>): self is Interrupt;
184
190
  /**
185
191
  * A type-guard matching `Traced`
186
192
  * @tsplus getter fncts.Cause isTraced
@@ -1,4 +1,4 @@
1
- import type { Const } from "./definition.js";
1
+ import { Const } from "./definition.js";
2
2
  /**
3
3
  * @tsplus fluent fncts.Const map
4
4
  * @tsplus location "@fncts/base/data/Const/api"
@@ -1,12 +1,28 @@
1
1
  /**
2
- * @tsplus type fncts.Const
2
+ * @tsplus type fncts.ConstF
3
3
  */
4
- export declare type Const<E, A> = E & {
5
- readonly _A: A;
6
- };
4
+ export interface ConstF extends Const<any, any> {
5
+ }
7
6
  /**
8
- * @tsplus type fncts.ConstOps
7
+ * @tsplus type fncts.ConstF
9
8
  */
10
- export interface ConstOps {
9
+ export interface Const1F<E> extends Const1<E, any> {
10
+ }
11
+ /**
12
+ * @tsplus type fncts.Const
13
+ * @tsplus companion fncts.ConstOps
14
+ */
15
+ export declare class Const<E, A> {
16
+ readonly getConst: E;
17
+ readonly [HKT.F]: ConstF;
18
+ readonly [HKT.E]: () => E;
19
+ readonly [HKT.A]: () => A;
20
+ readonly [HKT.T]: Const<HKT._E<this>, HKT._A<this>>;
21
+ constructor(getConst: E);
22
+ }
23
+ export interface Const1<E, A> {
24
+ readonly [HKT.F]: ConstF;
25
+ readonly [HKT.E]: () => E;
26
+ readonly [HKT.A]: () => A;
27
+ readonly [HKT.T]: Const<E, HKT._A<this>>;
11
28
  }
12
- export declare const Const: ConstOps;
@@ -1,20 +1,12 @@
1
- import { HKT } from "@fncts/typelevel/HKT";
2
- import { Const } from "@fncts/base/data/Const/definition";
3
- import * as P from "../../typeclass.js";
4
- export interface ConstF extends HKT {
5
- readonly type: Const<this["E"], this["A"]>;
6
- readonly variance: {
7
- E: "_";
8
- A: "_";
9
- };
10
- }
1
+ import type * as P from "../../typeclass.js";
2
+ import type { Const1F } from "@fncts/base/data/Const/definition";
11
3
  /**
12
4
  * @tsplus static fncts.ConstOps getApply
13
5
  * @tsplus location "@fncts/base/data/Const/instances"
14
6
  */
15
- export declare function getApply<E>(S: P.Semigroup<E>): P.Apply<ConstF, HKT.Fix<"E", E>>;
7
+ export declare function getApply<E>(S: P.Semigroup<E>): P.Apply<Const1F<E>>;
16
8
  /**
17
9
  * @tsplus static fncts.ConstOps getApplicative
18
10
  * @tsplus location "@fncts/base/data/Const/instances"
19
11
  */
20
- export declare function getApplicative<E>(M: P.Monoid<E>): P.Applicative<ConstF, HKT.Fix<"E", E>>;
12
+ export declare function getApplicative<E>(M: P.Monoid<E>): P.Applicative<Const1F<E>>;
@@ -0,0 +1,141 @@
1
+ import { Eval } from "@fncts/base/control/Eval/definition";
2
+ import { RoseTree } from "@fncts/base/collection/immutable/RoseTree";
3
+ import { Vector } from "@fncts/base/collection/immutable/Vector";
4
+ export declare const DecodeErrorTypeId: unique symbol;
5
+ export declare type DecodeErrorTypeId = typeof DecodeErrorTypeId;
6
+ export declare abstract class DecodeError {
7
+ readonly _typeId: DecodeErrorTypeId;
8
+ abstract render: Eval<RoseTree<string>>;
9
+ }
10
+ export declare class RequiredKeyError extends DecodeError {
11
+ readonly key: string;
12
+ readonly error: DecodeError;
13
+ readonly _tag = "RequiredKey";
14
+ constructor(key: string, error: DecodeError);
15
+ render: import("../../control/Eval").Eval<import("../../collection/immutable/RoseTree").RoseTree<string>>;
16
+ }
17
+ export declare class OptionalKeyError extends DecodeError {
18
+ readonly key: PropertyKey;
19
+ readonly error: DecodeError;
20
+ readonly _tag = "OptionalKey";
21
+ constructor(key: PropertyKey, error: DecodeError);
22
+ render: import("../../control/Eval").Eval<import("../../collection/immutable/RoseTree").RoseTree<string>>;
23
+ }
24
+ export declare class RequiredIndexError<I, E extends DecodeError> extends DecodeError {
25
+ readonly index: I;
26
+ readonly error: E;
27
+ readonly _tag = "RequiredIndex";
28
+ constructor(index: I, error: E);
29
+ render: import("../../control/Eval").Eval<import("../../collection/immutable/RoseTree").RoseTree<string>>;
30
+ }
31
+ export declare class OptionalIndexError<I, E extends DecodeError> extends DecodeError {
32
+ readonly index: I;
33
+ readonly error: E;
34
+ readonly _tag = "RequiredIndex";
35
+ constructor(index: I, error: E);
36
+ render: import("../../control/Eval").Eval<import("../../collection/immutable/RoseTree").RoseTree<string>>;
37
+ }
38
+ export declare class LazyError<E extends DecodeError> extends DecodeError {
39
+ readonly error: E;
40
+ readonly _tag = "Lazy";
41
+ constructor(error: E);
42
+ render: import("../../control/Eval").Eval<import("../../collection/immutable/RoseTree").RoseTree<string>>;
43
+ }
44
+ export declare class MemberError extends DecodeError {
45
+ readonly label: string;
46
+ readonly error: DecodeError;
47
+ readonly _tag = "Member";
48
+ constructor(label: string, error: DecodeError);
49
+ render: import("../../control/Eval").Eval<import("../../collection/immutable/RoseTree").RoseTree<string>>;
50
+ }
51
+ export declare class CompoundError<E extends DecodeError> extends DecodeError {
52
+ readonly name: string;
53
+ readonly errors: Vector<E>;
54
+ readonly _tag = "Compound";
55
+ constructor(name: string, errors: Vector<E>);
56
+ render: import("../../control/Eval").Eval<import("../../collection/immutable/RoseTree").RoseTree<string>>;
57
+ }
58
+ export declare class CompositionError<E extends DecodeError> extends DecodeError {
59
+ readonly errors: Vector<E>;
60
+ readonly _tag = "Composition";
61
+ constructor(errors: Vector<E>);
62
+ render: import("../../control/Eval").Eval<import("../../collection/immutable/RoseTree").RoseTree<string>>;
63
+ }
64
+ export declare class StringError extends DecodeError {
65
+ readonly actual: unknown;
66
+ readonly _tag = "String";
67
+ constructor(actual: unknown);
68
+ render: import("../../control/Eval").Eval<import("../../collection/immutable/RoseTree").RoseTree<string>>;
69
+ }
70
+ export declare class NumberError extends DecodeError {
71
+ readonly actual: unknown;
72
+ readonly _tag = "Number";
73
+ constructor(actual: unknown);
74
+ render: import("../../control/Eval").Eval<import("../../collection/immutable/RoseTree").RoseTree<string>>;
75
+ }
76
+ export declare class NaNError extends DecodeError {
77
+ readonly _tag = "NaN";
78
+ render: import("../../control/Eval").Eval<import("../../collection/immutable/RoseTree").RoseTree<string>>;
79
+ }
80
+ export declare class InfinityError extends DecodeError {
81
+ readonly _tag = "Infinity";
82
+ render: import("../../control/Eval").Eval<import("../../collection/immutable/RoseTree").RoseTree<string>>;
83
+ }
84
+ export declare class BooleanError extends DecodeError {
85
+ readonly actual: unknown;
86
+ readonly _tag = "Boolean";
87
+ constructor(actual: unknown);
88
+ render: import("../../control/Eval").Eval<import("../../collection/immutable/RoseTree").RoseTree<string>>;
89
+ }
90
+ export declare class PrimitiveError extends DecodeError {
91
+ readonly actual: unknown;
92
+ readonly name: string;
93
+ readonly _tag = "Primitive";
94
+ constructor(actual: unknown, name: string);
95
+ render: import("../../control/Eval").Eval<import("../../collection/immutable/RoseTree").RoseTree<string>>;
96
+ }
97
+ export declare class LiteralError<A extends string | number | boolean> extends DecodeError {
98
+ readonly actual: unknown;
99
+ readonly literals: Vector<A>;
100
+ readonly _tag = "Literal";
101
+ constructor(actual: unknown, literals: Vector<A>);
102
+ render: import("../../control/Eval").Eval<import("../../collection/immutable/RoseTree").RoseTree<string>>;
103
+ }
104
+ export declare class UnexpectedKeysError extends DecodeError {
105
+ readonly keys: Vector<string>;
106
+ readonly _tag = "UnexpectedKeys";
107
+ constructor(keys: Vector<string>);
108
+ render: import("../../control/Eval").Eval<import("../../collection/immutable/RoseTree").RoseTree<string>>;
109
+ }
110
+ export declare class UnexpectedIndicesError extends DecodeError {
111
+ readonly indices: Vector<number>;
112
+ readonly _tag = "UnexpectedIndices";
113
+ constructor(indices: Vector<number>);
114
+ render: import("../../control/Eval").Eval<import("../../collection/immutable/RoseTree").RoseTree<string>>;
115
+ }
116
+ export declare class MissingKeyError extends DecodeError {
117
+ readonly key: PropertyKey;
118
+ readonly _tag = "MissingKeys";
119
+ constructor(key: PropertyKey);
120
+ render: import("../../control/Eval").Eval<import("../../collection/immutable/RoseTree").RoseTree<string>>;
121
+ }
122
+ export declare class MissingIndicesError extends DecodeError {
123
+ readonly keys: Vector<PropertyKey>;
124
+ readonly _tag = "MissingIndices";
125
+ constructor(keys: Vector<PropertyKey>);
126
+ render: import("../../control/Eval").Eval<import("../../collection/immutable/RoseTree").RoseTree<string>>;
127
+ }
128
+ export declare class BrandedError extends DecodeError {
129
+ readonly name: string;
130
+ readonly brands: Vector<string>;
131
+ readonly _tag = "BrandedError";
132
+ constructor(name: string, brands: Vector<string>);
133
+ render: import("../../control/Eval").Eval<import("../../collection/immutable/RoseTree").RoseTree<string>>;
134
+ }
135
+ export declare class UnionError extends DecodeError {
136
+ readonly label: string;
137
+ readonly errors: Vector<DecodeError>;
138
+ readonly _tag = "UnionError";
139
+ constructor(label: string, errors: Vector<DecodeError>);
140
+ render: import("../../control/Eval").Eval<import("../../collection/immutable/RoseTree").RoseTree<string>>;
141
+ }
@@ -0,0 +1 @@
1
+ export * from "./DecodeError/definition.js";
@@ -0,0 +1,65 @@
1
+ import { These } from "@fncts/base/data/These";
2
+ import { Guard } from "@fncts/base/typeclass/Guard";
3
+ import type { DecodeError } from "@fncts/base/data/DecodeError";
4
+ import type { Check } from "@fncts/typelevel/Check";
5
+ import type { OptionalKeys, RequiredKeys } from "@fncts/typelevel/Object";
6
+ import { Decoder } from "@fncts/base/data/Decoder/definition";
7
+ /**
8
+ * @tsplus fluent fncts.Decoder __call
9
+ * @tsplus location "@fncts/base/data/Decoder/api"
10
+ */
11
+ export declare function decode<I, E, A>(self: Decoder<A>, input: unknown): These<DecodeError, A>;
12
+ export declare function fromGuard<A>(guard: Guard<A>, onFalse: (i: unknown) => DecodeError, label: string): Decoder<A>;
13
+ /**
14
+ * @tsplus implicit
15
+ * @tsplus location "@fncts/base/data/Decoder/api"
16
+ */
17
+ export declare const string: Decoder<string>;
18
+ /**
19
+ * @tsplus implicit
20
+ * @tsplus location "@fncts/base/data/Decoder/api"
21
+ */
22
+ export declare const number: Decoder<number>;
23
+ /**
24
+ * @tsplus implicit
25
+ * @tsplus location "@fncts/base/data/Decoder/api"
26
+ */
27
+ export declare const boolean: Decoder<boolean>;
28
+ /**
29
+ * @tsplus implicit
30
+ * @tsplus location "@fncts/base/data/Decoder/api"
31
+ */
32
+ export declare const record: Decoder<{}>;
33
+ /**
34
+ * @tsplus derive fncts.Decoder lazy
35
+ * @tsplus location "@fncts/base/data/Decoder/api"
36
+ */
37
+ export declare function deriveLazy<A>(f: (_: Decoder<A>) => Decoder<A>): Decoder<A>;
38
+ /**
39
+ * @tsplus derive fncts.Decoder<_> 20
40
+ * @tsplus location "@fncts/base/data/Decoder/api"
41
+ */
42
+ export declare function deriveLiteral<A extends string | number | boolean>(...[value]: Check<Check.IsLiteral<A> & Check.Not<Check.IsUnion<A>>> extends Check.True ? [value: A] : never): Decoder<A>;
43
+ /**
44
+ * @tsplus derive fncts.Decoder<|> 30
45
+ * @tsplus location "@fncts/base/data/Decoder/api"
46
+ */
47
+ export declare function deriveUnion<A extends ReadonlyArray<unknown>>(...elements: {
48
+ [K in keyof A]: Decoder<A[K]>;
49
+ }): Decoder<A[number]>;
50
+ /**
51
+ * @tsplus derive fncts.Decoder<_> 10
52
+ * @tsplus location "@fncts/base/data/Decoder/api"
53
+ */
54
+ export declare function deriveStruct<A extends Record<string, any>>(...[requiredFields, optionalFields]: Check<Check.IsStruct<A>> extends Check.True ? [
55
+ ...[
56
+ requiredFields: {
57
+ [k in RequiredKeys<A>]: Decoder<A[k]>;
58
+ }
59
+ ],
60
+ ...([OptionalKeys<A>] extends [never] ? [] : [
61
+ optionalFields: {
62
+ [k in OptionalKeys<A>]: Decoder<NonNullable<A[k]>>;
63
+ }
64
+ ])
65
+ ] : never): Decoder<A>;
@@ -0,0 +1,24 @@
1
+ import { These } from "@fncts/base/data/These";
2
+ import type { DecodeError } from "@fncts/base/data/DecodeError";
3
+ export declare const DecoderTypeId: unique symbol;
4
+ export declare type DecoderTypeId = typeof DecoderTypeId;
5
+ export interface DecoderF extends Decoder<any> {
6
+ }
7
+ /**
8
+ * @tsplus type fncts.Decoder
9
+ * @tsplus companion fncts.DecoderOps
10
+ */
11
+ export declare class Decoder<A> {
12
+ readonly decode: (input: unknown) => These<DecodeError, A>;
13
+ readonly label: string;
14
+ readonly _typeId: DecoderTypeId;
15
+ readonly [HKT.F]: DecoderF;
16
+ readonly [HKT.A]: () => A;
17
+ readonly [HKT.T]: Decoder<HKT._A<this>>;
18
+ constructor(decode: (input: unknown) => These<DecodeError, A>, label: string);
19
+ }
20
+ /**
21
+ * @tsplus static fncts.DecoderOps __call
22
+ * @tsplus location "@fncts/base/data/Decoder/definition"
23
+ */
24
+ export declare function makeDecoder<A>(decode: (input: unknown) => These<DecodeError, A>, label: string): Decoder<A>;
@@ -0,0 +1,2 @@
1
+ export * from "./Decoder/api.js";
2
+ export * from "./Decoder/definition.js";
@@ -1,45 +1,44 @@
1
1
  import { Duration } from "@fncts/base/data/Duration/definition";
2
- import type { IsInt } from "@fncts/base/types";
3
2
  /**
4
3
  * @tsplus getter fncts.Number milliseconds
5
4
  * @tsplus static fncts.DurationOps milliseconds
6
5
  * @tsplus location "@fncts/base/data/Duration/api"
7
6
  */
8
- export declare function milliseconds<N extends number>(self: IsInt<N>): Duration;
7
+ export declare function milliseconds(self: number): Duration;
9
8
  /**
10
9
  * @tsplus getter fncts.Number seconds
11
10
  * @tsplus static fncts.DurationOps seconds
12
11
  * @tsplus location "@fncts/base/data/Duration/api"
13
12
  */
14
- export declare function seconds<N extends number>(self: IsInt<N>): Duration;
13
+ export declare function seconds(self: number): Duration;
15
14
  /**
16
15
  * @tsplus getter fncts.Number minutes
17
16
  * @tsplus static fncts.DurationOps minutes
18
17
  * @tsplus location "@fncts/base/data/Duration/api"
19
18
  */
20
- export declare function minutes<N extends number>(self: IsInt<N>): Duration;
19
+ export declare function minutes(self: number): Duration;
21
20
  /**
22
21
  * @tsplus getter fncts.Number hours
23
22
  * @tsplus static fncts.DurationOps hours
24
23
  * @tsplus location "@fncts/base/data/Duration/api"
25
24
  */
26
- export declare function hours<N extends number>(self: IsInt<N>): Duration;
25
+ export declare function hours(self: number): Duration;
27
26
  /**
28
27
  * @tsplus getter fncts.Number days
29
28
  * @tsplus static fncts.DurationOps days
30
29
  * @tsplus location "@fncts/base/data/Duration/api"
31
30
  */
32
- export declare function days<N extends number>(self: IsInt<N>): Duration;
31
+ export declare function days(self: number): Duration;
33
32
  /**
34
33
  * @tsplus operator fncts.Duration *
35
34
  * @tsplus location "@fncts/base/data/Duration/api"
36
35
  */
37
- export declare function mult<N extends number>(self: Duration, multiplicand: IsInt<N>): import("./definition").Duration;
36
+ export declare function mult(self: Duration, multiplicand: number): import("./definition").Duration;
38
37
  /**
39
38
  * @tsplus operator fncts.Duration *
40
39
  * @tsplus location "@fncts/base/data/Duration/api"
41
40
  */
42
- export declare function multInverted<N extends number>(multiplicand: IsInt<N>, self: Duration): import("./definition").Duration;
41
+ export declare function multInverted(multiplicand: number, self: Duration): import("./definition").Duration;
43
42
  /**
44
43
  * @tsplus operator fncts.Duration +
45
44
  * @tsplus location "@fncts/base/data/Duration/api"
@@ -50,3 +49,8 @@ export declare function sum(self: Duration, that: Duration): Duration;
50
49
  * @tsplus location "@fncts/base/data/Duration/api"
51
50
  */
52
51
  export declare function difference(self: Duration, that: Duration): Duration;
52
+ /**
53
+ * @tsplus static fncts.DurationOps fromInterval
54
+ * @tsplus location "@fncts/base/data/Duration/api"
55
+ */
56
+ export declare function fromInterval(start: number, end: number): Duration;
@@ -1,8 +1,9 @@
1
1
  import { Either } from "@fncts/base/data/Either/definition";
2
2
  import { Maybe } from "@fncts/base/data/Maybe/definition";
3
3
  import { Lazy } from "@fncts/base/data/function/definition";
4
+ import { Predicate } from "@fncts/base/data/Predicate/definition";
4
5
  import type * as P from "../../typeclass.js";
5
- import type { EitherF } from "./instances.js";
6
+ import type { EitherF } from "./definition.js";
6
7
  import { Left, Right } from "./definition.js";
7
8
  /**
8
9
  * @tsplus fluent fncts.Either ap
@@ -45,14 +46,10 @@ export declare function foldLeft_<E, A, B>(self: Either<E, A>, b: B, f: (b: B, a
45
46
  */
46
47
  export declare function foldRight_<E, A, B>(self: Either<E, A>, b: B, f: (a: A, b: B) => B): B;
47
48
  /**
48
- * @constrained
49
- */
50
- export declare function foldMap_<M>(M: P.Monoid<M>): <E, A>(self: import("./definition.js").Either<E, A>, f: (a: A) => M) => M;
51
- /**
52
- * @tsplus getter fncts.Either foldMap
49
+ * @tsplus fluent fncts.Either foldMap
53
50
  * @tsplus location "@fncts/base/data/Either/api"
54
51
  */
55
- export declare function foldMapSelf<E, A>(self: Either<E, A>): <M>(M: P.Monoid<M>) => (f: (a: A) => M) => M;
52
+ export declare function foldMap_<E, A, M>(self: Either<E, A>, f: (a: A) => M, /** @tsplus auto */ M: P.Monoid<M>): M;
56
53
  /**
57
54
  * @tsplus getter fncts.Either getLeft
58
55
  * @tsplus location "@fncts/base/data/Either/api"
@@ -105,24 +102,39 @@ export declare function merge<E, A>(self: Either<E, A>): E | A;
105
102
  * @tsplus location "@fncts/base/data/Either/api"
106
103
  */
107
104
  export declare function orElse_<E1, A, E2, B>(self: Either<E1, A>, that: Lazy<Either<E2, B>>): Either<E1 | E2, A | B>;
108
- export declare const sequence: P.sequence<EitherF>;
109
- /**
110
- * @tsplus getter fncts.Either sequence
111
- * @tsplus location "@fncts/base/data/Either/api"
112
- */
113
- export declare const sequenceSelf: P.sequenceSelf<EitherF>;
114
105
  /**
115
106
  * @tsplus getter fncts.Either swap
116
107
  * @tsplus location "@fncts/base/data/Either/api"
117
108
  */
118
109
  export declare function swap<E, A>(self: Either<E, A>): Either<A, E>;
119
- export declare const traverse_: P.traverse_<EitherF>;
120
- export declare const traverse: P.traverse<EitherF>;
121
110
  /**
122
- * @tsplus getter fncts.Either traverse
111
+ * @tsplus fluent fncts.Either traverse
123
112
  * @tsplus location "@fncts/base/data/Either/api"
124
113
  */
125
- export declare const traverseSelf: P.traverseSelf<EitherF>;
114
+ export declare const traverse_: P.Traversable<EitherF>["traverse"];
126
115
  export declare function zipWith_<E1, A, E2, B, C>(self: Either<E1, A>, fb: Either<E2, B>, f: (a: A, b: B) => C): Either<E1 | E2, C>;
116
+ /**
117
+ * @tsplus fluent fncts.Either filterMap
118
+ * @tsplus location "@fncts/base/data/Either/api"
119
+ */
120
+ export declare function filterMap<E, A, B>(self: Either<E, A>, f: (a: A) => Maybe<B>,
121
+ /** @tsplus auto */ M: P.Monoid<E>): Either<E, B>;
122
+ /**
123
+ * @tsplus fluent fncts.Either filter
124
+ * @tsplus location "@fncts/base/data/Either/api"
125
+ */
126
+ export declare function filter<E, A>(self: Either<E, A>, f: Predicate<A>, /** @tsplus auto */ M: P.Monoid<E>): Either<E, A>;
127
+ /**
128
+ * @tsplus fluent fncts.Either partitionMap
129
+ * @tsplus location "@fncts/base/data/Either/api"
130
+ */
131
+ export declare function partitionMap<E, A, B, C>(self: Either<E, A>, f: (a: A) => Either<B, C>,
132
+ /** @tsplus auto */ M: P.Monoid<E>): readonly [Either<E, B>, Either<E, C>];
133
+ /**
134
+ * @tsplus fluent fncts.Either partition
135
+ * @tsplus location "@fncts/base/data/Either/api"
136
+ */
137
+ export declare function partition<E, A>(self: Either<E, A>, p: Predicate<A>,
138
+ /** @tsplus auto */ M: P.Monoid<E>): readonly [Either<E, A>, Either<E, A>];
127
139
  export * from "./api/align.js";
128
140
  export * from "./api/alignWith.js";
@@ -4,13 +4,34 @@ export declare const enum EitherTag {
4
4
  }
5
5
  export declare const EitherTypeId: unique symbol;
6
6
  export declare type EitherTypeId = typeof EitherTypeId;
7
+ export interface EitherF extends Either<any, any> {
8
+ }
9
+ export interface Either1F<E> extends Either1<E, any> {
10
+ }
11
+ /**
12
+ * @tsplus type fncts.Either
13
+ * @tsplus companion fncts.EitherOps
14
+ */
15
+ export declare class Either<E, A> {
16
+ readonly _typeId: EitherTypeId;
17
+ readonly [HKT.F]: EitherF;
18
+ readonly [HKT.E]: () => E;
19
+ readonly [HKT.A]: () => A;
20
+ readonly [HKT.T]: Either<HKT._E<this>, HKT._A<this>>;
21
+ }
22
+ export interface Either1<E, A> {
23
+ readonly _typeId: EitherTypeId;
24
+ readonly [HKT.F]: EitherF;
25
+ readonly [HKT.E]: () => E;
26
+ readonly [HKT.A]: () => A;
27
+ readonly [HKT.T]: Either<E, HKT._A<this>>;
28
+ }
7
29
  /**
8
30
  * @tsplus type fncts.Either.Left
9
31
  * @tsplus companion fncts.Either.LeftOps
10
32
  */
11
- export declare class Left<E> {
33
+ export declare class Left<E> extends Either<E, never> {
12
34
  readonly left: E;
13
- readonly _typeId: EitherTypeId;
14
35
  readonly _tag = EitherTag.Left;
15
36
  constructor(left: E);
16
37
  }
@@ -18,23 +39,19 @@ export declare class Left<E> {
18
39
  * @tsplus type fncts.Either.Right
19
40
  * @tsplus companion fncts.Either.RightOps
20
41
  */
21
- export declare class Right<A> {
42
+ export declare class Right<A> extends Either<never, A> {
22
43
  readonly right: A;
23
- readonly _typeId: EitherTypeId;
24
44
  readonly _tag = EitherTag.Right;
25
45
  constructor(right: A);
26
46
  }
27
- /**
28
- * @tsplus type fncts.Either
29
- */
30
- export declare type Either<E, A> = Left<E> | Right<A>;
31
- /**
32
- * @tsplus type fncts.EitherOps
33
- */
34
- export interface EitherOps {
35
- }
36
- export declare const Either: EitherOps;
37
47
  /**
38
48
  * @tsplus unify fncts.Either
39
49
  */
40
50
  export declare function unifyEither<X extends Either<any, any>>(self: X): Either<[X] extends [Either<infer E, any>] ? E : never, [X] extends [Either<any, infer A>] ? A : never>;
51
+ /**
52
+ * @tsplus fluent fncts.Either concrete
53
+ * @tsplus static fncts.EitherOps concrete
54
+ * @tsplus macro remove
55
+ * @tsplus location "@fncts/base/data/Either/definition"
56
+ */
57
+ export declare function concrete<E, A>(self: Either<E, A>): asserts self is Left<E> | Right<A>;
@@ -1,21 +1,36 @@
1
- import { HKT } from "@fncts/typelevel/HKT";
2
- import { Either } from "@fncts/base/data/Either/definition";
3
1
  import { Predicate } from "@fncts/base/data/Predicate/definition";
2
+ import { Guard } from "@fncts/base/typeclass/Guard";
3
+ import { Decoder } from "@fncts/base/data/Decoder";
4
+ import type { Either1F, EitherF } from "@fncts/base/data/Either/definition.js";
5
+ import { Either } from "@fncts/base/data/Either/definition";
4
6
  import * as P from "../../typeclass.js";
5
- export interface EitherF extends HKT {
6
- readonly type: Either<this["E"], this["A"]>;
7
- readonly variance: {
8
- E: "+";
9
- A: "+";
10
- };
11
- }
7
+ /**
8
+ * @tsplus implicit
9
+ * @tsplus location "@fncts/base/data/Either/instances"
10
+ */
11
+ export declare const Functor: P.Functor<EitherF>;
12
12
  /**
13
13
  * @tsplus static fncts.EitherOps getEq
14
14
  * @tsplus location "@fncts/base/data/Either/instances"
15
15
  */
16
16
  export declare function getEq<E, A>(EE: P.Eq<E>, EA: P.Eq<A>): P.Eq<Either<E, A>>;
17
17
  /**
18
- * @tsplus static fncts.EitherOps getEq
18
+ * @tsplus derive fncts.Eq[fncts.Either]<_> 10
19
+ * @tsplus location "@fncts/base/data/Either/instances"
20
+ */
21
+ export declare function deriveEq<A extends Either<any, any>>(...[left, right]: [A] extends [Either<infer E, infer A>] ? [left: P.Eq<E>, right: P.Eq<A>] : never): P.Eq<A>;
22
+ /**
23
+ * @tsplus static fncts.EitherOps getFilterable
24
+ * @tsplus location "@fncts/base/data/Either/instances"
25
+ */
26
+ export declare function getFilerable<E>(/** @tsplus auto */ ME: P.Monoid<E>): P.Filterable<Either1F<E>>;
27
+ /**
28
+ * @tsplus derive fncts.Guard[fncts.Either]<_> 10
29
+ * @tsplus location "@fncts/base/data/Either/instances"
30
+ */
31
+ export declare function deriveGuard<A extends Either<any, any>>(...[left, right]: [A] extends [Either<infer E, infer A>] ? [left: Guard<E>, right: Guard<A>] : never): Guard<A>;
32
+ /**
33
+ * @tsplus derive fncts.Decoder[fncts.Either]<_> 10
19
34
  * @tsplus location "@fncts/base/data/Either/instances"
20
35
  */
21
- export declare function getFilerable<E>(ME: P.Monoid<E>): P.Filterable<EitherF, import("@fncts/typelevel/HKT.js").HKT.Fix<"E", E>>;
36
+ export declare function deriveDecoder<A extends Either<any, any>>(...[left, right]: [A] extends [Either<infer E, infer A>] ? [left: Decoder<E>, right: Decoder<A>] : never): Decoder<A>;
@@ -33,6 +33,11 @@ export declare function make(): Environment<unknown>;
33
33
  * @tsplus location "@fncts/base/data/Environment/api"
34
34
  */
35
35
  export declare function union<R, R1>(self: Environment<R>, that: Environment<R1>): Environment<R & R1>;
36
+ /**
37
+ * @tsplus getter fncts.Environment clean
38
+ * @tsplus location "@fncts/base/data/Environment/api"
39
+ */
40
+ export declare function clean<R>(self: Environment<R>): Environment<R>;
36
41
  /**
37
42
  * @tsplus fluent fncts.Environment unsafeGet
38
43
  * @tsplus location "@fncts/base/data/Environment/api"
@@ -20,3 +20,14 @@ export declare function pure<A>(a: A): Identity<A>;
20
20
  * @tsplus location "@fncts/base/data/Identity/api"
21
21
  */
22
22
  export declare function zipWith_<A, B, C>(fa: Identity<A>, fb: Identity<B>, f: (a: A, b: B) => C): Identity<C>;
23
+ /**
24
+ * @tsplus fluent fncts.Identity zip
25
+ * @tsplus location "@fncts/base/data/Identity/api"
26
+ */
27
+ export declare function zip_<A, B>(fa: Identity<A>, fb: Identity<B>): Identity<readonly [A, B]>;
28
+ /**
29
+ * @tsplus getter fncts.Identity getIdentity
30
+ * @tsplus macro identity
31
+ * @tsplus location "@fncts/base/data/Identity/api"
32
+ */
33
+ export declare function getIdentity<A>(self: Identity<A>): A;
@@ -1,10 +1,15 @@
1
+ import { Newtype, NewtypeIso } from "@fncts/base/data/Newtype";
2
+ export interface IdentityN {
3
+ readonly [HKT.T]: Identity<HKT._A<this>>;
4
+ }
1
5
  /**
2
6
  * @tsplus type fncts.Identity
3
7
  */
4
- export declare type Identity<A> = A;
8
+ export interface Identity<A> extends Newtype<"Identity", A> {
9
+ }
5
10
  /**
6
11
  * @tsplus type fncts.IdentityOps
7
12
  */
8
- export interface IdentityOps {
13
+ export interface IdentityOps extends NewtypeIso<IdentityN> {
9
14
  }
10
15
  export declare const Identity: IdentityOps;