@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
@@ -1,21 +1,17 @@
1
- import { HKT } from "@fncts/typelevel/HKT";
2
- import { Identity } from "@fncts/base/data/Identity/definition";
3
- import * as P from "../../typeclass.js";
4
- export interface IdentityF extends HKT {
5
- readonly type: Identity<this["A"]>;
6
- }
1
+ import type * as P from "../../typeclass.js";
2
+ import type { IdentityN } from "@fncts/base/data/Identity/definition";
7
3
  /**
8
4
  * @tsplus static fncts.IdentityOps Functor
9
5
  * @tsplus location "@fncts/base/data/Identity/instances"
10
6
  */
11
- export declare const Functor: P.Functor<IdentityF, import("@fncts/typelevel/HKT.js").HKT.None>;
7
+ export declare const Functor: P.Functor<IdentityN>;
12
8
  /**
13
9
  * @tsplus static fncts.IdentityOps Apply
14
10
  * @tsplus location "@fncts/base/data/Identity/instances"
15
11
  */
16
- export declare const Apply: P.Apply<IdentityF, import("@fncts/typelevel/HKT.js").HKT.None>;
12
+ export declare const Apply: P.Apply<IdentityN>;
17
13
  /**
18
14
  * @tsplus static fncts.IdentityOps Applicative
19
15
  * @tsplus location "@fncts/base/data/Identity/instances"
20
16
  */
21
- export declare const Applicative: P.Applicative<IdentityF, import("@fncts/typelevel/HKT.js").HKT.None>;
17
+ export declare const Applicative: P.Applicative<IdentityN>;
@@ -0,0 +1,71 @@
1
+ import { Maybe } from "@fncts/base/data/Maybe/definition";
2
+ /**
3
+ * @tsplus type fncts.io.Schedule.Interval
4
+ * @tsplus companion fncts.io.Schedule.IntervalOps
5
+ */
6
+ export declare class Interval {
7
+ readonly startMilliseconds: number;
8
+ readonly endMilliseconds: number;
9
+ constructor(startMilliseconds: number, endMilliseconds: number);
10
+ }
11
+ /**
12
+ * @tsplus static fncts.io.Schedule.IntervalOps after
13
+ * @tsplus location "@fncts/base/data/Interval"
14
+ */
15
+ export declare function after(start: number): Interval;
16
+ /**
17
+ * @tsplus static fncts.io.Schedule.IntervalOps before
18
+ * @tsplus location "@fncts/base/data/Interval"
19
+ */
20
+ export declare function before(end: number): Interval;
21
+ /**
22
+ * @tsplus static fncts.io.Schedule.IntervalOps empty
23
+ * @tsplus location "@fncts/base/data/Interval"
24
+ */
25
+ export declare const empty: Interval;
26
+ /**
27
+ * @tsplus getter fncts.io.Schedule.Interval isEmpty
28
+ * @tsplus location "@fncts/base/data/Interval"
29
+ */
30
+ export declare function isEmpty(self: Interval): boolean;
31
+ /**
32
+ * @tsplus fluent fncts.io.Schedule.Interval intersect
33
+ * @tsplus location "@fncts/base/data/Interval"
34
+ */
35
+ export declare function intersect_(self: Interval, that: Interval): Interval;
36
+ /**
37
+ * @tsplus fluent fncts.io.Schedule.Interval lt
38
+ * @tsplus operator fncts.io.Schedule.Interval <
39
+ * @tsplus location "@fncts/base/data/Interval"
40
+ */
41
+ export declare function lt_(self: Interval, that: Interval): boolean;
42
+ /**
43
+ * @tsplus static fncts.io.Schedule.IntervalOps __call
44
+ * @tsplus location "@fncts/base/data/Interval"
45
+ */
46
+ export declare function makeInterval(start: number, end: number): Interval;
47
+ /**
48
+ * @tsplus fluent fncts.io.Schedule.Interval max
49
+ * @tsplus location "@fncts/base/data/Interval"
50
+ */
51
+ export declare function max_(self: Interval, that: Interval): Interval;
52
+ /**
53
+ * @tsplus fluent fncts.io.Schedule.Interval min
54
+ * @tsplus location "@fncts/base/data/Interval"
55
+ */
56
+ export declare function min_(self: Interval, that: Interval): Interval;
57
+ /**
58
+ * @tsplus getter fncts.io.Schedule.Interval isNonEmpty
59
+ * @tsplus location "@fncts/base/data/Interval"
60
+ */
61
+ export declare function isNonEmpty(self: Interval): boolean;
62
+ /**
63
+ * @tsplus getter fncts.io.Schedule.Interval size
64
+ * @tsplus location "@fncts/base/data/Interval"
65
+ */
66
+ export declare function size(self: Interval): number;
67
+ /**
68
+ * @tsplus fluent fncts.io.Schedule.Interval union
69
+ * @tsplus location "@fncts/base/data/Interval"
70
+ */
71
+ export declare function union_(self: Interval, that: Interval): Maybe<Interval>;
@@ -3,7 +3,6 @@ import { Predicate } from "@fncts/base/data/Predicate/definition";
3
3
  import { Refinement } from "@fncts/base/data/Refinement/definition";
4
4
  import { Either } from "@fncts/base/data/Either/definition";
5
5
  import { Lazy } from "@fncts/base/data/function/definition";
6
- import type { MaybeF } from "./instances.js";
7
6
  import type { Eq, Monoid } from "@fncts/base/typeclass";
8
7
  import type { Nullable } from "@fncts/base/types";
9
8
  /**
@@ -11,11 +10,6 @@ import type { Nullable } from "@fncts/base/types";
11
10
  * @tsplus location "@fncts/base/data/Maybe/api"
12
11
  */
13
12
  export declare function ap_<A, B>(self: Maybe<(a: A) => B>, fa: Maybe<A>): Maybe<B>;
14
- /**
15
- * @tsplus static fncts.MaybeOps sequenceS
16
- * @tsplus location "@fncts/base/data/Maybe/api"
17
- */
18
- export declare const sequenceS: import("@fncts/base/typeclass").sequenceS<MaybeF, import("@fncts/typelevel/HKT.js").HKT.None>;
19
13
  /**
20
14
  * Applies `f` to the value contained in `Maybe` if it is `Just` and returns the result,
21
15
  * otherwise returns `Nothing`.
@@ -23,15 +17,11 @@ export declare const sequenceS: import("@fncts/base/typeclass").sequenceS<MaybeF
23
17
  * @tsplus location "@fncts/base/data/Maybe/api"
24
18
  */
25
19
  export declare function flatMap_<A, B>(self: Maybe<A>, f: (a: A) => Maybe<B>): Maybe<B>;
26
- /**
27
- * @constrained
28
- */
29
- export declare function elem_<A>(E: Eq<A>): (self: Maybe<A>, elem: A) => boolean;
30
20
  /**
31
21
  * @tsplus fluent fncts.Maybe elem
32
22
  * @tsplus location "@fncts/base/data/Maybe/api"
33
23
  */
34
- export declare function elemSelf<A>(self: Maybe<A>): (E: Eq<A>) => (elem: A) => boolean;
24
+ export declare function elem_<A>(self: Maybe<A>, elem: A, E: Eq<A>): boolean;
35
25
  /**
36
26
  * @constrained
37
27
  * @tsplus fluent fncts.Maybe exists
@@ -76,14 +66,10 @@ export declare function foldLeft_<A, B>(self: Maybe<A>, b: B, f: (b: B, a: A) =>
76
66
  */
77
67
  export declare function foldRight_<A, B>(self: Maybe<A>, b: B, f: (a: A, b: B) => B): B;
78
68
  /**
79
- * @constrained
80
- */
81
- export declare function foldMap_<M>(M: Monoid<M>): <A>(self: import("./definition.js").Maybe<A>, f: (a: A) => M) => M;
82
- /**
83
- * @tsplus getter fncts.Maybe foldMap
69
+ * @tsplus fluent fncts.Maybe foldMap
84
70
  * @tsplus location "@fncts/base/data/Maybe/api"
85
71
  */
86
- export declare function foldMapSelf<A>(self: Maybe<A>): <M>(M: Monoid<M>) => (f: (a: A) => M) => M;
72
+ export declare function foldMap_<A, M>(self: Maybe<A>, f: (a: A) => M, /** @tsplus auto */ M: Monoid<M>): M;
87
73
  /**
88
74
  * Extracts the value from `Maybe` if it exists, or returns the result of `orElse`.
89
75
  * @tsplus fluent fncts.Maybe getOrElse
@@ -4,13 +4,23 @@ export declare const enum MaybeTag {
4
4
  }
5
5
  export declare const MaybeTypeId: unique symbol;
6
6
  export declare type MaybeTypdId = typeof MaybeTypeId;
7
+ export declare type MaybeF = Maybe<any>;
8
+ /**
9
+ * @tsplus type fncts.Maybe
10
+ * @tsplus companion fncts.MaybeOps
11
+ */
12
+ export declare class Maybe<A> {
13
+ readonly _typeId: MaybeTypdId;
14
+ readonly [HKT.F]: MaybeF;
15
+ readonly [HKT.A]: () => A;
16
+ readonly [HKT.T]: Maybe<HKT._A<this>>;
17
+ }
7
18
  /**
8
19
  * @tsplus type fncts.Just
9
20
  * @tsplus companion fncts.JustOps
10
21
  */
11
- export declare class Just<A> {
22
+ export declare class Just<A> extends Maybe<A> {
12
23
  readonly value: A;
13
- readonly _typeId: MaybeTypdId;
14
24
  readonly _tag = MaybeTag.Just;
15
25
  constructor(value: A);
16
26
  [Symbol.equals](that: unknown): boolean;
@@ -20,22 +30,11 @@ export declare class Just<A> {
20
30
  * @tsplus type fncts.Nothing
21
31
  * @tsplus companion fncts.NothingOps
22
32
  */
23
- export declare class Nothing {
24
- readonly _typeId: MaybeTypdId;
33
+ export declare class Nothing extends Maybe<never> {
25
34
  readonly _tag = MaybeTag.Nothing;
26
35
  [Symbol.equals](that: unknown): boolean;
27
36
  get [Symbol.hash](): number;
28
37
  }
29
- /**
30
- * @tsplus type fncts.Maybe
31
- */
32
- export declare type Maybe<A> = Just<A> | Nothing;
33
- /**
34
- * @tsplus type fncts.MaybeOps
35
- */
36
- export interface MaybeOps {
37
- }
38
- export declare const Maybe: MaybeOps;
39
38
  /**
40
39
  * @tsplus unify fncts.Maybe
41
40
  */
@@ -57,3 +56,10 @@ export declare function isJust<A>(self: Maybe<A>): self is Just<A>;
57
56
  * @tsplus location "@fncts/base/data/Maybe/definition"
58
57
  */
59
58
  export declare function isNothing<A>(self: Maybe<A>): self is Nothing;
59
+ /**
60
+ * @tsplus fluent fncts.Maybe concrete
61
+ * @tsplus static fncts.MaybeOps concrete
62
+ * @tsplus macro remove
63
+ * @tsplus location "@fncts/base/data/Maybe/definition"
64
+ */
65
+ export declare function concrete<A>(self: Maybe<A>): asserts self is Just<A> | Nothing;
@@ -1,15 +1,21 @@
1
- import { HKT } from "@fncts/typelevel/HKT";
2
1
  import { Maybe } from "@fncts/base/data/Maybe/definition";
3
- import * as P from "../../typeclass.js";
4
- export interface MaybeF extends HKT {
5
- readonly type: Maybe<this["A"]>;
6
- readonly variance: {
7
- readonly A: "-";
8
- };
9
- }
2
+ import { Guard } from "@fncts/base/typeclass/Guard";
3
+ import { Decoder } from "@fncts/base/data/Decoder";
4
+ import type * as P from "../../typeclass.js";
5
+ import type { MaybeF } from "@fncts/base/data/Maybe/definition";
10
6
  export declare const Functor: P.Functor<MaybeF>;
11
7
  export declare const Apply: P.Apply<MaybeF>;
12
8
  export declare const Applicative: P.Applicative<MaybeF>;
13
9
  export declare const Monad: P.Monad<MaybeF>;
14
10
  export declare const Foldable: P.Foldable<MaybeF>;
15
11
  export declare const Filterable: P.Filterable<MaybeF>;
12
+ /**
13
+ * @tsplus derive fncts.Guard[fncts.Maybe]<_> 10
14
+ * @tsplus location "@fncts/base/data/Maybe/instances"
15
+ */
16
+ export declare function deriveGuard<A extends Maybe<any>>(...[guard]: [A] extends [Maybe<infer A>] ? [guard: Guard<A>] : never): Guard<A>;
17
+ /**
18
+ * @tsplus derive fncts.Decoder[fncts.Maybe]<_> 10
19
+ * @tsplus location "@fncts/base/data/Maybe/instances"
20
+ */
21
+ export declare function deriveDecoder<A extends Maybe<any>>(...[value]: [A] extends [Maybe<infer A>] ? [value: Decoder<A>] : never): Decoder<A>;
package/data/Newtype.d.ts CHANGED
@@ -2,13 +2,12 @@ import { HKT } from "@fncts/typelevel/HKT";
2
2
  /**
3
3
  * @tsplus type fncts.Newtype
4
4
  */
5
- export interface Newtype<URI, A, C = HKT.None> {
5
+ export interface Newtype<URI, A> {
6
6
  readonly _URI: URI;
7
- readonly _A: A;
8
- readonly _C: C;
7
+ readonly [HKT.A]: A;
9
8
  }
10
9
  export declare namespace Newtype {
11
- type Iso<N extends NewtypeHKT, C = N["type"]["_C"]> = NewtypeIso<N, C>;
10
+ type Iso<N extends NewtypeHKT> = NewtypeIso<N>;
12
11
  }
13
12
  /**
14
13
  * @tsplus type fncts.NewtypeOps
@@ -17,20 +16,20 @@ export interface NewtypeOps {
17
16
  }
18
17
  export declare const Newtype: NewtypeOps;
19
18
  export interface NewtypeHKT extends HKT {
20
- readonly type: Newtype<any, any>;
19
+ readonly [HKT.T]: Newtype<any, any>;
21
20
  }
22
- export interface NewtypeIso<N extends NewtypeHKT, C = N["type"]["_C"]> {
21
+ export interface NewtypeIso<N extends NewtypeHKT> {
23
22
  /**
24
23
  * @tsplus macro identity
25
24
  */
26
- get: <K extends HKT.GetExtends<C, "K", any>, Q extends HKT.GetExtends<C, "Q", any>, W extends HKT.GetExtends<C, "W", any>, X extends HKT.GetExtends<C, "X", any>, I extends HKT.GetExtends<C, "I", any>, S extends HKT.GetExtends<C, "S", any>, R extends HKT.GetExtends<C, "E", any>, E extends HKT.GetExtends<C, "E", any>, A extends HKT.GetExtends<C, "A", any>>(_: HKT.Kind<N, N["type"]["_C"], K, Q, W, X, I, S, R, E, A>["_A"]) => HKT.Kind<N, HKT.None, K, Q, W, X, I, S, R, E, A>;
25
+ get: <K, Q, W, X, I, S, R, E, A>(_: HKT.Kind<N, K, Q, W, X, I, S, R, E, A>[HKT.A]) => HKT.Kind<N, K, Q, W, X, I, S, R, E, A>;
27
26
  /**
28
27
  * @tsplus macro identity
29
28
  */
30
- reverseGet: <K extends HKT.GetExtends<C, "K", any>, Q extends HKT.GetExtends<C, "Q", any>, W extends HKT.GetExtends<C, "W", any>, X extends HKT.GetExtends<C, "X", any>, I extends HKT.GetExtends<C, "I", any>, S extends HKT.GetExtends<C, "S", any>, R extends HKT.GetExtends<C, "E", any>, E extends HKT.GetExtends<C, "E", any>, A extends HKT.GetExtends<C, "A", any>>(_: HKT.Kind<N, HKT.None, K, Q, W, X, I, S, R, E, A>) => HKT.Kind<N, HKT.None, K, Q, W, X, I, S, R, E, A>["_A"];
29
+ reverseGet: <K, Q, W, X, I, S, R, E, A>(_: HKT.Kind<N, K, Q, W, X, I, S, R, E, A>) => HKT.Kind<N, K, Q, W, X, I, S, R, E, A>[HKT.A];
31
30
  }
32
31
  /**
33
32
  * @tsplus static fncts.NewtypeOps __call
34
33
  * @tsplus location "@fncts/base/data/Newtype"
35
34
  */
36
- export declare const newtype: <N extends NewtypeHKT>() => NewtypeIso<N, N["type"]["_C"]>;
35
+ export declare const newtype: <N extends NewtypeHKT>() => NewtypeIso<N>;
@@ -1,10 +1,12 @@
1
1
  import { Refinement } from "@fncts/base/data/Refinement/definition";
2
+ import { Predicate } from "@fncts/base/data/Predicate/definition";
2
3
  /**
3
4
  * @tsplus fluent fncts.Refinement and
4
5
  * @tsplus operator fncts.Refinement &&
5
6
  * @tsplus location "@fncts/base/data/Refinement/api"
6
7
  */
7
8
  export declare function and<A, B extends A, C extends B>(self: Refinement<A, B>, that: Refinement<B, C>): Refinement<A, C>;
9
+ export declare function and<A, B extends A>(self: Refinement<A, B>, that: Predicate<B>): Refinement<A, B>;
8
10
  /**
9
11
  * @tsplus fluent fncts.Refinement contramap
10
12
  * @tsplus location "@fncts/base/data/Refinement/api"
@@ -1,7 +1,7 @@
1
1
  import { HKT } from "@fncts/typelevel/HKT";
2
2
  import { Newtype, NewtypeIso } from "@fncts/base/data/Newtype";
3
3
  interface StructN extends HKT {
4
- readonly type: Struct<this["A"]>;
4
+ readonly [HKT.T]: Struct<HKT._A<this>>;
5
5
  }
6
6
  /**
7
7
  * @tsplus type fncts.Struct
@@ -0,0 +1,73 @@
1
+ import { These } from "@fncts/base/data/These";
2
+ import { Predicate } from "@fncts/base/data/Predicate/definition";
3
+ import type { Both, Left, Right } from "@fncts/base/data/These/definition";
4
+ import type * as P from "@fncts/base/typeclass";
5
+ /**
6
+ * @tsplus fluent fncts.These isLeft
7
+ * @tsplus location "@fncts/base/data/These/api"
8
+ */
9
+ export declare function isLeft<E, A>(self: These<E, A>): self is Left<E>;
10
+ /**
11
+ * @tsplus fluent fncts.These isRight
12
+ * @tsplus location "@fncts/base/data/These/api"
13
+ */
14
+ export declare function isRight<E, A>(self: These<E, A>): self is Right<A>;
15
+ /**
16
+ * @tsplus fluent fncts.These isBoth
17
+ * @tsplus location "@fncts/base/data/These/api"
18
+ */
19
+ export declare function isBoth<E, A>(self: These<E, A>): self is Both<E, A>;
20
+ /**
21
+ * @tsplus fluent fncts.These map
22
+ * @tsplus location "@fncts/base/data/These/api"
23
+ */
24
+ export declare function map<E, A, B>(self: These<E, A>, f: (a: A) => B): These<E, B>;
25
+ /**
26
+ * @tsplus fluent fncts.These mapLeft
27
+ * @tsplus location "@fncts/base/data/These/api"
28
+ */
29
+ export declare function mapLeft<E, A, E1>(self: These<E, A>, f: (e: E) => E1): These<E1, A>;
30
+ /**
31
+ * @tsplus fluent fncts.These bimap
32
+ * @tsplus location "@fncts/base/data/These/api"
33
+ */
34
+ export declare function bimap<E, A, E1, B>(self: These<E, A>, f: (e: E) => E1, g: (a: A) => B): These<E1, B>;
35
+ /**
36
+ * @tsplus fluent fncts.These zipWith
37
+ * @tsplus location "@fncts/base/data/These/api"
38
+ */
39
+ export declare function zipWith<E, A, B, C>(self: These<E, A>, that: These<E, B>, f: (a: A, b: B) => C,
40
+ /** @tsplus auto */ S: P.Semigroup<E>): These<E, C>;
41
+ /**
42
+ * @tsplus fluent fncts.These zip
43
+ * @tsplus location "@fncts/base/data/These/api"
44
+ */
45
+ export declare function zip<E, A, B>(self: These<E, A>, that: These<E, B>,
46
+ /** @tsplus auto */ S: P.Semigroup<E>): These<E, readonly [A, B]>;
47
+ /**
48
+ * @tsplus fluent fncts.These ap
49
+ * @tsplus location "@fncts/base/data/These/api"
50
+ */
51
+ export declare function ap<E, A, B>(self: These<E, (a: A) => B>, that: These<E, A>,
52
+ /** @tsplus auto */ S: P.Semigroup<E>): These<E, B>;
53
+ /**
54
+ * @tsplus fluent fncts.These flatMap
55
+ * @tsplus location "@fncts/base/data/These/api"
56
+ */
57
+ export declare function flatMap<E, A, B>(self: These<E, A>, f: (a: A) => These<E, B>,
58
+ /** @tsplus auto */ S: P.Semigroup<E>): These<E, B>;
59
+ /**
60
+ * @tsplus fluent fncts.These catchAll
61
+ * @tsplus location "@fncts/base/data/These/api"
62
+ */
63
+ export declare function catchAll_<E, A, B>(self: These<E, A>, f: (e: E) => These<E, B>): These<E, A | B>;
64
+ /**
65
+ * @tsplus getter fncts.These condemn
66
+ * @tsplus location "@fncts/base/data/These/api"
67
+ */
68
+ export declare function condemn<E, A>(self: These<E, A>): These<E, A>;
69
+ /**
70
+ * @tsplus fluent fncts.These condemnWhen
71
+ * @tsplus location "@fncts/base/data/These/api"
72
+ */
73
+ export declare function condemnWhen<E, A>(self: These<E, A>, p: Predicate<E>): These<E, A>;
@@ -1,4 +1,5 @@
1
- import { These } from "@fncts/base/data/These/definition";
1
+ import { These } from "@fncts/base/data/These";
2
+ import { Maybe } from "@fncts/base/data/Maybe/definition";
2
3
  /**
3
4
  * @tsplus static fncts.TheseOps left
4
5
  * @tsplus static fncts.These.Left __call
@@ -17,3 +18,8 @@ export declare function right<E = never, A = never>(a: A): These<E, A>;
17
18
  * @tsplus location "@fncts/base/data/These/constructors"
18
19
  */
19
20
  export declare function both<E = never, A = never>(e: E, a: A): These<E, A>;
21
+ /**
22
+ * @tsplus static fncts.TheseOps rightOrBoth
23
+ * @tsplus location "@fncts/base/data/These/constructors"
24
+ */
25
+ export declare function rightOrBoth<E = never, A = never>(e: Maybe<E>, a: A): These<E, A>;
@@ -43,3 +43,8 @@ export declare type These<E, A> = Left<E> | Right<A> | Both<E, A>;
43
43
  export interface TheseOps {
44
44
  }
45
45
  export declare const These: TheseOps;
46
+ /**
47
+ * @tsplus static fncts.TheseOps isThese
48
+ * @tsplus location "@fncts/base/data/These/definition"
49
+ */
50
+ export declare function isThese(u: unknown): u is These<unknown, unknown>;
@@ -1,6 +1,32 @@
1
- import { These } from "@fncts/base/data/These/definition";
1
+ import { These } from "@fncts/base/data/These";
2
+ import { Maybe } from "@fncts/base/data/Maybe/definition";
3
+ /**
4
+ * @tsplus getter fncts.These right
5
+ * @tsplus location "@fncts/base/data/These/destructors"
6
+ */
7
+ export declare function unsafeGetRight<E, A>(self: These<E, A>): A | undefined;
8
+ /**
9
+ * @tsplus getter fncts.These left
10
+ * @tsplus location "@fncts/base/data/These/destructors"
11
+ */
12
+ export declare function unsafeGetLeft<E, A>(self: These<E, A>): E | undefined;
13
+ /**
14
+ * @tsplus getter fncts.These rightMaybe
15
+ * @tsplus location "@fncts/base/data/These/destructors"
16
+ */
17
+ export declare function rightMaybe<E, A>(self: These<E, A>): Maybe<A>;
18
+ /**
19
+ * @tsplus getter fncts.These leftMaybe
20
+ * @tsplus location "@fncts/base/data/These/destructors"
21
+ */
22
+ export declare function leftMaybe<E, A>(self: These<E, A>): Maybe<E>;
2
23
  /**
3
24
  * @tsplus fluent fncts.These match
4
25
  * @tsplus location "@fncts/base/data/These/destructors"
5
26
  */
6
27
  export declare function match_<E, A, B, C, D>(self: These<E, A>, left: (e: E) => B, right: (a: A) => C, both: (e: E, a: A) => D): B | C | D;
28
+ /**
29
+ * @tsplus fluent fncts.These match2
30
+ * @tsplus location "@fncts/base/data/These/destructors"
31
+ */
32
+ export declare function match2<E, A, B, C>(self: These<E, A>, left: (e: E) => B, right: (e: Maybe<E>, a: A) => C): B | C;
@@ -0,0 +1,13 @@
1
+ import { These } from "@fncts/base/data/These";
2
+ import { Guard } from "@fncts/base/typeclass/Guard";
3
+ import { Decoder } from "@fncts/base/data/Decoder";
4
+ /**
5
+ * @tsplus derive fncts.Guard[fncts.These]<_> 10
6
+ * @tsplus location "@fncts/base/data/These/instances"
7
+ */
8
+ export declare function deriveGuard<A extends These<any, any>>(...[left, right]: [A] extends [These<infer E, infer A>] ? [left: Guard<E>, right: Guard<A>] : never): Guard<A>;
9
+ /**
10
+ * @tsplus derive fncts.Decoder[fncts.These]<_> 10
11
+ * @tsplus location "@fncts/base/data/These/instances"
12
+ */
13
+ export declare function deriveDecoder<A extends These<any, any>>(...[left, right]: [A] extends [These<infer E, infer A>] ? [left: Decoder<E>, right: Decoder<A>] : never): Decoder<A>;
package/data/These.d.ts CHANGED
@@ -1,3 +1,4 @@
1
+ export * from "./These/api.js";
1
2
  export * from "./These/constructors.js";
2
3
  export * from "./These/definition.js";
3
4
  export * from "./These/destructors.js";
@@ -0,0 +1,13 @@
1
+ declare global {
2
+ /**
3
+ * @tsplus type fncts.BigInt
4
+ */
5
+ interface BigInt {
6
+ }
7
+ /**
8
+ * @tsplus type fncts.BigIntOps
9
+ */
10
+ interface BigIntConstructor {
11
+ }
12
+ }
13
+ export {};
@@ -0,0 +1,7 @@
1
+ import * as P from "@fncts/base/typeclass";
2
+ /**
3
+ * @tsplus static fncts.BigIntOps Guard
4
+ * @tsplus implicit
5
+ * @tsplus location "@fncts/base/data/bigint/instances"
6
+ */
7
+ export declare const Guard: P.Guard<bigint>;
@@ -0,0 +1,2 @@
1
+ export * from "./bigint/definition.js";
2
+ export * from "./bigint/instances.js";
@@ -0,0 +1,13 @@
1
+ declare global {
2
+ /**
3
+ * @tsplus type fncts.Boolean
4
+ */
5
+ export interface Boolean {
6
+ }
7
+ /**
8
+ * @tsplus type fncts.BooleanOps
9
+ */
10
+ export interface BooleanConstructor {
11
+ }
12
+ }
13
+ export {};
@@ -0,0 +1,7 @@
1
+ import * as P from "@fncts/base/typeclass";
2
+ /**
3
+ * @tsplus static fncts.BooleanOps Guard
4
+ * @tsplus implicit
5
+ * @tsplus location "@fncts/base/data/boolean/instances"
6
+ */
7
+ export declare const Guard: P.Guard<boolean>;
@@ -0,0 +1,2 @@
1
+ export * from "./boolean/definition.js";
2
+ export * from "./boolean/instances.js";
@@ -1,11 +1,19 @@
1
1
  import * as P from "../../typeclass.js";
2
2
  /**
3
3
  * @tsplus static fncts.NumberOps Eq
4
+ * @tsplus implicit
4
5
  * @tsplus location "@fncts/base/data/number/instances"
5
6
  */
6
7
  export declare const Eq: P.Eq<number>;
7
8
  /**
8
9
  * @tsplus static fncts.NumberOps Ord
10
+ * @tsplus implicit
9
11
  * @tsplus location "@fncts/base/data/number/instances"
10
12
  */
11
13
  export declare const Ord: P.Ord<number>;
14
+ /**
15
+ * @tsplus static fncts.NumberOps Guard
16
+ * @tsplus implicit
17
+ * @tsplus location "@fncts/base/data/number/instances"
18
+ */
19
+ export declare const Guard: P.Guard<number>;
@@ -0,0 +1,7 @@
1
+ import * as P from "@fncts/base/typeclass";
2
+ /**
3
+ * @tsplus implicit
4
+ * @tsplus static fncts.globalOps Guard
5
+ * @tsplus location "@fncts/base/data/object/instances"
6
+ */
7
+ export declare const Guard: P.Guard<{}>;
@@ -1,21 +1,31 @@
1
1
  import * as P from "../../typeclass.js";
2
2
  /**
3
3
  * @tsplus static fncts.StringOps Eq
4
+ * @tsplus implicit
4
5
  * @tsplus location "@fncts/base/data/string/instances"
5
6
  */
6
7
  export declare const Eq: P.Eq<string>;
7
8
  /**
8
9
  * @tsplus static fncts.StringOps Semigroup
10
+ * @tsplus implicit
9
11
  * @tsplus location "@fncts/base/data/string/instances"
10
12
  */
11
13
  export declare const Semigroup: P.Semigroup<string>;
12
14
  /**
13
15
  * @tsplus static fncts.StringOps Monoid
16
+ * @tsplus implicit
14
17
  * @tsplus location "@fncts/base/data/string/instances"
15
18
  */
16
19
  export declare const Monoid: P.Monoid<string>;
17
20
  /**
18
21
  * @tsplus static fncts.StringOps Ord
22
+ * @tsplus implicit
19
23
  * @tsplus location "@fncts/base/data/string/instances"
20
24
  */
21
25
  export declare const Ord: P.Ord<string>;
26
+ /**
27
+ * @tsplus static fncts.StringOps Guard
28
+ * @tsplus implicit
29
+ * @tsplus location "@fncts/base/data/string/instances"
30
+ */
31
+ export declare const Guard: P.Guard<string>;
@@ -7,6 +7,7 @@ export declare class Stack<A> {
7
7
  constructor(node?: Node<A> | undefined);
8
8
  clone(): Stack<A>;
9
9
  get hasNext(): boolean;
10
+ get isEmpty(): boolean;
10
11
  peek(): A | undefined;
11
12
  pop(): A | undefined;
12
13
  push(value: A): void;
@@ -0,0 +1,24 @@
1
+ import { Decoder } from "@fncts/base/data/Decoder";
2
+ export interface RightJson<A> {
3
+ readonly _tag: "Right";
4
+ readonly right: A;
5
+ }
6
+ export interface LeftJson<E> {
7
+ readonly _tag: "Left";
8
+ readonly left: E;
9
+ }
10
+ /**
11
+ * @tsplus type fncts.EitherJson
12
+ */
13
+ export declare type EitherJson<E, A> = LeftJson<E> | RightJson<A>;
14
+ /**
15
+ * @tsplus type fncts.EitherJsonOps
16
+ */
17
+ export interface EitherJsonOps {
18
+ }
19
+ export declare const EitherJson: EitherJsonOps;
20
+ /**
21
+ * @tsplus static fncts.EitherJsonOps getDecoder
22
+ * @tsplus location "@fncts/base/json/EitherJson"
23
+ */
24
+ export declare function getDecoder<E, A>(left: Decoder<E>, right: Decoder<A>): Decoder<EitherJson<E, A>>;
@@ -0,0 +1,23 @@
1
+ import { Decoder } from "@fncts/base/data/Decoder";
2
+ export interface NothingJson {
3
+ readonly _tag: "Nothing";
4
+ }
5
+ export interface JustJson<A> {
6
+ readonly _tag: "Just";
7
+ readonly value: A;
8
+ }
9
+ /**
10
+ * @tsplus type fncts.MaybeJson
11
+ */
12
+ export declare type MaybeJson<A> = NothingJson | JustJson<A>;
13
+ /**
14
+ * @tsplus type fncts.MaybeJsonOps
15
+ */
16
+ export interface MaybeJsonOps {
17
+ }
18
+ export declare const MaybeJson: MaybeJsonOps;
19
+ /**
20
+ * @tsplus static fncts.MaybeJsonOps getDecoder
21
+ * @tsplus location "@fncts/base/json/MaybeJson"
22
+ */
23
+ export declare function getDecoder<A>(value: Decoder<A>): Decoder<MaybeJson<A>>;