@fncts/base 0.0.3 → 0.0.6

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 (812) 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/chunksOf.cjs +22 -0
  20. package/_cjs/collection/immutable/ImmutableArray/api/chunksOf.cjs.map +1 -0
  21. package/_cjs/collection/immutable/ImmutableArray/api/slice.cjs +20 -0
  22. package/_cjs/collection/immutable/ImmutableArray/api/slice.cjs.map +1 -0
  23. package/_cjs/collection/immutable/ImmutableArray/api/splitAt.cjs +20 -0
  24. package/_cjs/collection/immutable/ImmutableArray/api/splitAt.cjs.map +1 -0
  25. package/_cjs/collection/immutable/ImmutableArray/api/splitWhere.cjs +33 -0
  26. package/_cjs/collection/immutable/ImmutableArray/api/splitWhere.cjs.map +1 -0
  27. package/_cjs/collection/immutable/ImmutableArray/api.cjs +252 -409
  28. package/_cjs/collection/immutable/ImmutableArray/api.cjs.map +1 -1
  29. package/_cjs/collection/immutable/ImmutableArray/definition.cjs +12 -10
  30. package/_cjs/collection/immutable/ImmutableArray/definition.cjs.map +1 -1
  31. package/_cjs/collection/immutable/ImmutableArray/instances.cjs +153 -157
  32. package/_cjs/collection/immutable/ImmutableArray/instances.cjs.map +1 -1
  33. package/_cjs/collection/immutable/ImmutableArray.cjs +52 -0
  34. package/_cjs/collection/immutable/ImmutableArray.cjs.map +1 -1
  35. package/_cjs/collection/immutable/ImmutableNonEmptyArray/api.cjs +125 -184
  36. package/_cjs/collection/immutable/ImmutableNonEmptyArray/api.cjs.map +1 -1
  37. package/_cjs/collection/immutable/ImmutableNonEmptyArray/constructors.cjs +2 -4
  38. package/_cjs/collection/immutable/ImmutableNonEmptyArray/constructors.cjs.map +1 -1
  39. package/_cjs/collection/immutable/ImmutableNonEmptyArray/definition.cjs +25 -2
  40. package/_cjs/collection/immutable/ImmutableNonEmptyArray/definition.cjs.map +1 -1
  41. package/_cjs/collection/immutable/ImmutableNonEmptyArray/destructors.cjs +5 -3
  42. package/_cjs/collection/immutable/ImmutableNonEmptyArray/destructors.cjs.map +1 -1
  43. package/_cjs/collection/immutable/ImmutableNonEmptyArray/instances.cjs +45 -81
  44. package/_cjs/collection/immutable/ImmutableNonEmptyArray/instances.cjs.map +1 -1
  45. package/_cjs/collection/immutable/List/api.cjs +4 -7
  46. package/_cjs/collection/immutable/List/api.cjs.map +1 -1
  47. package/_cjs/collection/immutable/RoseTree/api.cjs +484 -0
  48. package/_cjs/collection/immutable/RoseTree/api.cjs.map +1 -0
  49. package/_cjs/collection/immutable/RoseTree/definition.cjs +58 -0
  50. package/_cjs/collection/immutable/RoseTree/definition.cjs.map +1 -0
  51. package/_cjs/collection/immutable/RoseTree.cjs +32 -0
  52. package/_cjs/collection/immutable/RoseTree.cjs.map +1 -0
  53. package/_cjs/collection/immutable/SortedMap/api.cjs +65 -65
  54. package/_cjs/collection/immutable/SortedMap/api.cjs.map +1 -1
  55. package/_cjs/collection/immutable/Vector/api.cjs +70 -15
  56. package/_cjs/collection/immutable/Vector/api.cjs.map +1 -1
  57. package/_cjs/collection/immutable/Vector/definition.cjs +13 -11
  58. package/_cjs/collection/immutable/Vector/definition.cjs.map +1 -1
  59. package/_cjs/collection/mutable/HashMap.cjs +5 -5
  60. package/_cjs/collection/mutable/HashMap.cjs.map +1 -1
  61. package/_cjs/collection/mutable/HashSet.cjs +4 -4
  62. package/_cjs/collection/mutable/HashSet.cjs.map +1 -1
  63. package/_cjs/control/Eval/api.cjs +6 -0
  64. package/_cjs/control/Eval/api.cjs.map +1 -1
  65. package/_cjs/control/Eval/definition.cjs +7 -0
  66. package/_cjs/control/Eval/definition.cjs.map +1 -1
  67. package/_cjs/control/Eval/instance.cjs +14 -25
  68. package/_cjs/control/Eval/instance.cjs.map +1 -1
  69. package/_cjs/control/Z/definition.cjs +9 -3
  70. package/_cjs/control/Z/definition.cjs.map +1 -1
  71. package/_cjs/control/Z/instances.cjs +6 -13
  72. package/_cjs/control/Z/instances.cjs.map +1 -1
  73. package/_cjs/data/Branded/definition.cjs +29 -0
  74. package/_cjs/data/Branded/definition.cjs.map +1 -0
  75. package/_cjs/data/Branded/derivations.cjs +58 -0
  76. package/_cjs/data/Branded/derivations.cjs.map +1 -0
  77. package/_cjs/data/Branded.cjs +32 -0
  78. package/_cjs/data/Branded.cjs.map +1 -0
  79. package/_cjs/data/CaseClass.cjs +4 -2
  80. package/_cjs/data/CaseClass.cjs.map +1 -1
  81. package/_cjs/data/Cause/api/fold.cjs +2 -0
  82. package/_cjs/data/Cause/api/fold.cjs.map +1 -1
  83. package/_cjs/data/Cause/api.cjs +23 -0
  84. package/_cjs/data/Cause/api.cjs.map +1 -1
  85. package/_cjs/data/Const/api.cjs +3 -7
  86. package/_cjs/data/Const/api.cjs.map +1 -1
  87. package/_cjs/data/Const/definition.cjs +19 -1
  88. package/_cjs/data/Const/definition.cjs.map +1 -1
  89. package/_cjs/data/Const/instances.cjs +9 -20
  90. package/_cjs/data/Const/instances.cjs.map +1 -1
  91. package/_cjs/data/DecodeError/definition.cjs +308 -0
  92. package/_cjs/data/DecodeError/definition.cjs.map +1 -0
  93. package/_cjs/data/DecodeError.cjs +19 -0
  94. package/_cjs/data/DecodeError.cjs.map +1 -0
  95. package/_cjs/data/Decoder/api.cjs +217 -0
  96. package/_cjs/data/Decoder/api.cjs.map +1 -0
  97. package/_cjs/data/Decoder/definition.cjs +41 -0
  98. package/_cjs/data/Decoder/definition.cjs.map +1 -0
  99. package/_cjs/data/Decoder.cjs +32 -0
  100. package/_cjs/data/Decoder.cjs.map +1 -0
  101. package/_cjs/data/Duration/api.cjs +22 -9
  102. package/_cjs/data/Duration/api.cjs.map +1 -1
  103. package/_cjs/data/Either/api/alignWith.cjs +2 -0
  104. package/_cjs/data/Either/api/alignWith.cjs.map +1 -1
  105. package/_cjs/data/Either/api.cjs +105 -42
  106. package/_cjs/data/Either/api.cjs.map +1 -1
  107. package/_cjs/data/Either/definition.cjs +39 -10
  108. package/_cjs/data/Either/definition.cjs.map +1 -1
  109. package/_cjs/data/Either/destructors.cjs +2 -0
  110. package/_cjs/data/Either/destructors.cjs.map +1 -1
  111. package/_cjs/data/Either/instances.cjs +123 -40
  112. package/_cjs/data/Either/instances.cjs.map +1 -1
  113. package/_cjs/data/Environment/api.cjs +29 -8
  114. package/_cjs/data/Environment/api.cjs.map +1 -1
  115. package/_cjs/data/Identity/api.cjs +35 -6
  116. package/_cjs/data/Identity/api.cjs.map +1 -1
  117. package/_cjs/data/Identity/definition.cjs +10 -1
  118. package/_cjs/data/Identity/definition.cjs.map +1 -1
  119. package/_cjs/data/Identity/instances.cjs +11 -25
  120. package/_cjs/data/Identity/instances.cjs.map +1 -1
  121. package/_cjs/data/Interval.cjs +154 -0
  122. package/_cjs/data/Interval.cjs.map +1 -0
  123. package/_cjs/data/Maybe/api.cjs +30 -43
  124. package/_cjs/data/Maybe/api.cjs.map +1 -1
  125. package/_cjs/data/Maybe/definition.cjs +45 -18
  126. package/_cjs/data/Maybe/definition.cjs.map +1 -1
  127. package/_cjs/data/Maybe/destructors.cjs +1 -0
  128. package/_cjs/data/Maybe/destructors.cjs.map +1 -1
  129. package/_cjs/data/Maybe/instances.cjs +62 -42
  130. package/_cjs/data/Maybe/instances.cjs.map +1 -1
  131. package/_cjs/data/Newtype.cjs +5 -3
  132. package/_cjs/data/Newtype.cjs.map +1 -1
  133. package/_cjs/data/Patch/api.cjs +1 -1
  134. package/_cjs/data/Patch/api.cjs.map +1 -1
  135. package/_cjs/data/Refinement/api.cjs +0 -4
  136. package/_cjs/data/Refinement/api.cjs.map +1 -1
  137. package/_cjs/data/Struct/definition.cjs +4 -2
  138. package/_cjs/data/Struct/definition.cjs.map +1 -1
  139. package/_cjs/data/These/api.cjs +299 -0
  140. package/_cjs/data/These/api.cjs.map +1 -0
  141. package/_cjs/data/These/constructors.cjs +24 -4
  142. package/_cjs/data/These/constructors.cjs.map +1 -1
  143. package/_cjs/data/These/definition.cjs +16 -0
  144. package/_cjs/data/These/definition.cjs.map +1 -1
  145. package/_cjs/data/These/destructors.cjs +70 -0
  146. package/_cjs/data/These/destructors.cjs.map +1 -1
  147. package/_cjs/data/These/instances.cjs +54 -0
  148. package/_cjs/data/These/instances.cjs.map +1 -0
  149. package/_cjs/data/These.cjs +13 -0
  150. package/_cjs/data/These.cjs.map +1 -1
  151. package/_cjs/data/bigint/definition.cjs +6 -0
  152. package/_cjs/data/bigint/definition.cjs.map +1 -0
  153. package/_cjs/data/bigint/instances.cjs +24 -0
  154. package/_cjs/data/bigint/instances.cjs.map +1 -0
  155. package/_cjs/data/bigint.cjs +32 -0
  156. package/_cjs/data/bigint.cjs.map +1 -0
  157. package/_cjs/data/boolean/definition.cjs +6 -0
  158. package/_cjs/data/boolean/definition.cjs.map +1 -0
  159. package/_cjs/data/boolean/instances.cjs +24 -0
  160. package/_cjs/data/boolean/instances.cjs.map +1 -0
  161. package/_cjs/data/boolean.cjs +32 -0
  162. package/_cjs/data/boolean.cjs.map +1 -0
  163. package/_cjs/data/number/instances.cjs +18 -5
  164. package/_cjs/data/number/instances.cjs.map +1 -1
  165. package/_cjs/data/object/instances.cjs +24 -0
  166. package/_cjs/data/object/instances.cjs.map +1 -0
  167. package/_cjs/data/string/instances.cjs +24 -9
  168. package/_cjs/data/string/instances.cjs.map +1 -1
  169. package/_cjs/internal/Stack.cjs +4 -0
  170. package/_cjs/internal/Stack.cjs.map +1 -1
  171. package/_cjs/json/EitherJson.cjs +33 -0
  172. package/_cjs/json/EitherJson.cjs.map +1 -0
  173. package/_cjs/json/MaybeJson.cjs +31 -0
  174. package/_cjs/json/MaybeJson.cjs.map +1 -0
  175. package/_cjs/json/TheseJson.cjs +37 -0
  176. package/_cjs/json/TheseJson.cjs.map +1 -0
  177. package/_cjs/optics/Optional/definition.cjs +6 -4
  178. package/_cjs/optics/Optional/definition.cjs.map +1 -1
  179. package/_cjs/optics/Traversal/api/compose.cjs +1 -1
  180. package/_cjs/optics/Traversal/api/compose.cjs.map +1 -1
  181. package/_cjs/optics/Traversal/api/fromTraversable.cjs +4 -4
  182. package/_cjs/optics/Traversal/api/fromTraversable.cjs.map +1 -1
  183. package/_cjs/optics/Traversal/definition.cjs +17 -12
  184. package/_cjs/optics/Traversal/definition.cjs.map +1 -1
  185. package/_cjs/typeclass/Align.cjs +0 -20
  186. package/_cjs/typeclass/Align.cjs.map +1 -1
  187. package/_cjs/typeclass/Alt.cjs +5 -15
  188. package/_cjs/typeclass/Alt.cjs.map +1 -1
  189. package/_cjs/typeclass/Alternative.cjs +0 -23
  190. package/_cjs/typeclass/Alternative.cjs.map +1 -1
  191. package/_cjs/typeclass/Applicative.cjs +0 -22
  192. package/_cjs/typeclass/Applicative.cjs.map +1 -1
  193. package/_cjs/typeclass/ApplicativeExcept.cjs +40 -34
  194. package/_cjs/typeclass/ApplicativeExcept.cjs.map +1 -1
  195. package/_cjs/typeclass/Apply.cjs +93 -49
  196. package/_cjs/typeclass/Apply.cjs.map +1 -1
  197. package/_cjs/typeclass/Chain.cjs +40 -17
  198. package/_cjs/typeclass/Chain.cjs.map +1 -1
  199. package/_cjs/typeclass/Closure.cjs +1 -4
  200. package/_cjs/typeclass/Closure.cjs.map +1 -1
  201. package/_cjs/typeclass/Eq/definition.cjs +18 -0
  202. package/_cjs/typeclass/Eq/definition.cjs.map +1 -0
  203. package/_cjs/typeclass/Eq/derivations.cjs +59 -0
  204. package/_cjs/typeclass/Eq/derivations.cjs.map +1 -0
  205. package/_cjs/typeclass/Eq.cjs +11 -13
  206. package/_cjs/typeclass/Eq.cjs.map +1 -1
  207. package/_cjs/typeclass/Fail.cjs +6 -12
  208. package/_cjs/typeclass/Fail.cjs.map +1 -1
  209. package/_cjs/typeclass/Filterable.cjs +31 -18
  210. package/_cjs/typeclass/Filterable.cjs.map +1 -1
  211. package/_cjs/typeclass/FilterableWithIndex.cjs +0 -26
  212. package/_cjs/typeclass/FilterableWithIndex.cjs.map +1 -1
  213. package/_cjs/typeclass/Foldable.cjs +33 -19
  214. package/_cjs/typeclass/Foldable.cjs.map +1 -1
  215. package/_cjs/typeclass/FoldableWithIndex.cjs +33 -21
  216. package/_cjs/typeclass/FoldableWithIndex.cjs.map +1 -1
  217. package/_cjs/typeclass/Functor.cjs +19 -16
  218. package/_cjs/typeclass/Functor.cjs.map +1 -1
  219. package/_cjs/typeclass/FunctorWithIndex.cjs +0 -21
  220. package/_cjs/typeclass/FunctorWithIndex.cjs.map +1 -1
  221. package/_cjs/typeclass/Guard/api.cjs +40 -0
  222. package/_cjs/typeclass/Guard/api.cjs.map +1 -0
  223. package/_cjs/typeclass/Guard/definition.cjs +40 -0
  224. package/_cjs/typeclass/Guard/definition.cjs.map +1 -0
  225. package/_cjs/typeclass/Guard/derivations.cjs +85 -0
  226. package/_cjs/typeclass/Guard/derivations.cjs.map +1 -0
  227. package/_cjs/typeclass/Guard.cjs +32 -0
  228. package/_cjs/typeclass/Guard.cjs.map +1 -0
  229. package/_cjs/typeclass/HashEq.cjs +3 -3
  230. package/_cjs/typeclass/HashEq.cjs.map +1 -1
  231. package/_cjs/typeclass/Monad.cjs +0 -22
  232. package/_cjs/typeclass/Monad.cjs.map +1 -1
  233. package/_cjs/typeclass/MonadExcept.cjs +12 -19
  234. package/_cjs/typeclass/MonadExcept.cjs.map +1 -1
  235. package/_cjs/typeclass/Monoid.cjs +56 -2
  236. package/_cjs/typeclass/Monoid.cjs.map +1 -1
  237. package/_cjs/typeclass/Nil.cjs +10 -0
  238. package/_cjs/typeclass/Nil.cjs.map +1 -1
  239. package/_cjs/typeclass/Ord/api/contramap.cjs +2 -4
  240. package/_cjs/typeclass/Ord/api/contramap.cjs.map +1 -1
  241. package/_cjs/typeclass/Ord/api/max.cjs +1 -1
  242. package/_cjs/typeclass/Ord/api/max.cjs.map +1 -1
  243. package/_cjs/typeclass/Ord/api/min.cjs +1 -1
  244. package/_cjs/typeclass/Ord/api/min.cjs.map +1 -1
  245. package/_cjs/typeclass/Ord/definition.cjs +2 -3
  246. package/_cjs/typeclass/Ord/definition.cjs.map +1 -1
  247. package/_cjs/typeclass/Ord/instances.cjs +7 -7
  248. package/_cjs/typeclass/Ord/instances.cjs.map +1 -1
  249. package/_cjs/typeclass/Pointed.cjs +6 -11
  250. package/_cjs/typeclass/Pointed.cjs.map +1 -1
  251. package/_cjs/typeclass/Semialign.cjs +77 -94
  252. package/_cjs/typeclass/Semialign.cjs.map +1 -1
  253. package/_cjs/typeclass/Semigroup/api.cjs +2 -2
  254. package/_cjs/typeclass/Semigroup/api.cjs.map +1 -1
  255. package/_cjs/typeclass/Semigroup/definition.cjs.map +1 -1
  256. package/_cjs/typeclass/Semigroup/derivations.cjs +63 -0
  257. package/_cjs/typeclass/Semigroup/derivations.cjs.map +1 -0
  258. package/_cjs/typeclass/Semimonoidal.cjs +9 -13
  259. package/_cjs/typeclass/Semimonoidal.cjs.map +1 -1
  260. package/_cjs/typeclass/Showable/show.cjs +11 -11
  261. package/_cjs/typeclass/Showable/show.cjs.map +1 -1
  262. package/_cjs/typeclass/Traversable.cjs +26 -34
  263. package/_cjs/typeclass/Traversable.cjs.map +1 -1
  264. package/_cjs/typeclass/TraversableWithIndex.cjs +7 -38
  265. package/_cjs/typeclass/TraversableWithIndex.cjs.map +1 -1
  266. package/_cjs/typeclass/Witherable.cjs +41 -42
  267. package/_cjs/typeclass/Witherable.cjs.map +1 -1
  268. package/_cjs/typeclass/WitherableWithIndex.cjs +41 -50
  269. package/_cjs/typeclass/WitherableWithIndex.cjs.map +1 -1
  270. package/_cjs/typeclass.cjs +13 -0
  271. package/_cjs/typeclass.cjs.map +1 -1
  272. package/_cjs/util/predicates.cjs +5 -0
  273. package/_cjs/util/predicates.cjs.map +1 -1
  274. package/_mjs/collection/Iterable/api/traverseConc.mjs +20 -15
  275. package/_mjs/collection/Iterable/api/traverseConc.mjs.map +1 -1
  276. package/_mjs/collection/Iterable/api.mjs +21 -31
  277. package/_mjs/collection/Iterable/api.mjs.map +1 -1
  278. package/_mjs/collection/compat/Array/api.mjs +1 -1
  279. package/_mjs/collection/compat/Array/api.mjs.map +1 -1
  280. package/_mjs/collection/immutable/Conc/api.mjs +35 -36
  281. package/_mjs/collection/immutable/Conc/api.mjs.map +1 -1
  282. package/_mjs/collection/immutable/Conc/definition.mjs +48 -39
  283. package/_mjs/collection/immutable/Conc/definition.mjs.map +1 -1
  284. package/_mjs/collection/immutable/Dictionary/definition.mjs +3 -2
  285. package/_mjs/collection/immutable/Dictionary/definition.mjs.map +1 -1
  286. package/_mjs/collection/immutable/HashMap/api.mjs +26 -66
  287. package/_mjs/collection/immutable/HashMap/api.mjs.map +1 -1
  288. package/_mjs/collection/immutable/HashMap/definition.mjs +18 -15
  289. package/_mjs/collection/immutable/HashMap/definition.mjs.map +1 -1
  290. package/_mjs/collection/immutable/HashSet/api.mjs +5 -5
  291. package/_mjs/collection/immutable/HashSet/api.mjs.map +1 -1
  292. package/_mjs/collection/immutable/ImmutableArray/api/chunksOf.mjs +10 -0
  293. package/_mjs/collection/immutable/ImmutableArray/api/chunksOf.mjs.map +1 -0
  294. package/_mjs/collection/immutable/ImmutableArray/api/slice.mjs +9 -0
  295. package/_mjs/collection/immutable/ImmutableArray/api/slice.mjs.map +1 -0
  296. package/_mjs/collection/immutable/ImmutableArray/api/splitAt.mjs +9 -0
  297. package/_mjs/collection/immutable/ImmutableArray/api/splitAt.mjs.map +1 -0
  298. package/_mjs/collection/immutable/ImmutableArray/api/splitWhere.mjs +21 -0
  299. package/_mjs/collection/immutable/ImmutableArray/api/splitWhere.mjs.map +1 -0
  300. package/_mjs/collection/immutable/ImmutableArray/api.mjs +229 -326
  301. package/_mjs/collection/immutable/ImmutableArray/api.mjs.map +1 -1
  302. package/_mjs/collection/immutable/ImmutableArray/definition.mjs +11 -10
  303. package/_mjs/collection/immutable/ImmutableArray/definition.mjs.map +1 -1
  304. package/_mjs/collection/immutable/ImmutableArray/instances.mjs +151 -138
  305. package/_mjs/collection/immutable/ImmutableArray/instances.mjs.map +1 -1
  306. package/_mjs/collection/immutable/ImmutableArray.mjs +7 -1
  307. package/_mjs/collection/immutable/ImmutableArray.mjs.map +1 -1
  308. package/_mjs/collection/immutable/ImmutableNonEmptyArray/api.mjs +113 -145
  309. package/_mjs/collection/immutable/ImmutableNonEmptyArray/api.mjs.map +1 -1
  310. package/_mjs/collection/immutable/ImmutableNonEmptyArray/constructors.mjs +7 -7
  311. package/_mjs/collection/immutable/ImmutableNonEmptyArray/constructors.mjs.map +1 -1
  312. package/_mjs/collection/immutable/ImmutableNonEmptyArray/definition.mjs +20 -2
  313. package/_mjs/collection/immutable/ImmutableNonEmptyArray/definition.mjs.map +1 -1
  314. package/_mjs/collection/immutable/ImmutableNonEmptyArray/destructors.mjs +4 -3
  315. package/_mjs/collection/immutable/ImmutableNonEmptyArray/destructors.mjs.map +1 -1
  316. package/_mjs/collection/immutable/ImmutableNonEmptyArray/instances.mjs +46 -67
  317. package/_mjs/collection/immutable/ImmutableNonEmptyArray/instances.mjs.map +1 -1
  318. package/_mjs/collection/immutable/List/api.mjs +4 -5
  319. package/_mjs/collection/immutable/List/api.mjs.map +1 -1
  320. package/_mjs/collection/immutable/RoseTree/api.mjs +447 -0
  321. package/_mjs/collection/immutable/RoseTree/api.mjs.map +1 -0
  322. package/_mjs/collection/immutable/RoseTree/definition.mjs +35 -0
  323. package/_mjs/collection/immutable/RoseTree/definition.mjs.map +1 -0
  324. package/_mjs/collection/immutable/RoseTree.mjs +4 -0
  325. package/_mjs/collection/immutable/RoseTree.mjs.map +1 -0
  326. package/_mjs/collection/immutable/SortedMap/api.mjs +65 -65
  327. package/_mjs/collection/immutable/SortedMap/api.mjs.map +1 -1
  328. package/_mjs/collection/immutable/Vector/api.mjs +59 -15
  329. package/_mjs/collection/immutable/Vector/api.mjs.map +1 -1
  330. package/_mjs/collection/immutable/Vector/definition.mjs +12 -11
  331. package/_mjs/collection/immutable/Vector/definition.mjs.map +1 -1
  332. package/_mjs/collection/mutable/HashMap.mjs +5 -5
  333. package/_mjs/collection/mutable/HashMap.mjs.map +1 -1
  334. package/_mjs/collection/mutable/HashSet.mjs +4 -4
  335. package/_mjs/collection/mutable/HashSet.mjs.map +1 -1
  336. package/_mjs/control/Eval/api.mjs +5 -2
  337. package/_mjs/control/Eval/api.mjs.map +1 -1
  338. package/_mjs/control/Eval/definition.mjs +1 -0
  339. package/_mjs/control/Eval/definition.mjs.map +1 -1
  340. package/_mjs/control/Eval/instance.mjs +15 -18
  341. package/_mjs/control/Eval/instance.mjs.map +1 -1
  342. package/_mjs/control/Z/definition.mjs +2 -0
  343. package/_mjs/control/Z/definition.mjs.map +1 -1
  344. package/_mjs/control/Z/instances.mjs +7 -8
  345. package/_mjs/control/Z/instances.mjs.map +1 -1
  346. package/_mjs/data/Branded/definition.mjs +18 -0
  347. package/_mjs/data/Branded/definition.mjs.map +1 -0
  348. package/_mjs/data/Branded/derivations.mjs +39 -0
  349. package/_mjs/data/Branded/derivations.mjs.map +1 -0
  350. package/_mjs/data/Branded.mjs +4 -0
  351. package/_mjs/data/Branded.mjs.map +1 -0
  352. package/_mjs/data/CaseClass.mjs +3 -2
  353. package/_mjs/data/CaseClass.mjs.map +1 -1
  354. package/_mjs/data/Cause/api/fold.mjs +2 -0
  355. package/_mjs/data/Cause/api/fold.mjs.map +1 -1
  356. package/_mjs/data/Cause/api.mjs +20 -0
  357. package/_mjs/data/Cause/api.mjs.map +1 -1
  358. package/_mjs/data/Const/api.mjs +3 -3
  359. package/_mjs/data/Const/api.mjs.map +1 -1
  360. package/_mjs/data/Const/definition.mjs +13 -1
  361. package/_mjs/data/Const/definition.mjs.map +1 -1
  362. package/_mjs/data/Const/instances.mjs +7 -15
  363. package/_mjs/data/Const/instances.mjs.map +1 -1
  364. package/_mjs/data/DecodeError/definition.mjs +226 -0
  365. package/_mjs/data/DecodeError/definition.mjs.map +1 -0
  366. package/_mjs/data/DecodeError.mjs +3 -0
  367. package/_mjs/data/DecodeError.mjs.map +1 -0
  368. package/_mjs/data/Decoder/api.mjs +179 -0
  369. package/_mjs/data/Decoder/api.mjs.map +1 -0
  370. package/_mjs/data/Decoder/definition.mjs +24 -0
  371. package/_mjs/data/Decoder/definition.mjs.map +1 -0
  372. package/_mjs/data/Decoder.mjs +4 -0
  373. package/_mjs/data/Decoder.mjs.map +1 -0
  374. package/_mjs/data/Duration/api.mjs +17 -8
  375. package/_mjs/data/Duration/api.mjs.map +1 -1
  376. package/_mjs/data/Either/api/alignWith.mjs +2 -0
  377. package/_mjs/data/Either/api/alignWith.mjs.map +1 -1
  378. package/_mjs/data/Either/api.mjs +91 -21
  379. package/_mjs/data/Either/api.mjs.map +1 -1
  380. package/_mjs/data/Either/definition.mjs +25 -5
  381. package/_mjs/data/Either/definition.mjs.map +1 -1
  382. package/_mjs/data/Either/destructors.mjs +2 -0
  383. package/_mjs/data/Either/destructors.mjs.map +1 -1
  384. package/_mjs/data/Either/instances.mjs +109 -39
  385. package/_mjs/data/Either/instances.mjs.map +1 -1
  386. package/_mjs/data/Environment/api.mjs +23 -7
  387. package/_mjs/data/Environment/api.mjs.map +1 -1
  388. package/_mjs/data/Identity/api.mjs +24 -5
  389. package/_mjs/data/Identity/api.mjs.map +1 -1
  390. package/_mjs/data/Identity/definition.mjs +3 -1
  391. package/_mjs/data/Identity/definition.mjs.map +1 -1
  392. package/_mjs/data/Identity/instances.mjs +12 -18
  393. package/_mjs/data/Identity/instances.mjs.map +1 -1
  394. package/_mjs/data/Interval.mjs +114 -0
  395. package/_mjs/data/Interval.mjs.map +1 -0
  396. package/_mjs/data/Maybe/api.mjs +30 -35
  397. package/_mjs/data/Maybe/api.mjs.map +1 -1
  398. package/_mjs/data/Maybe/definition.mjs +37 -14
  399. package/_mjs/data/Maybe/definition.mjs.map +1 -1
  400. package/_mjs/data/Maybe/destructors.mjs +1 -0
  401. package/_mjs/data/Maybe/destructors.mjs.map +1 -1
  402. package/_mjs/data/Maybe/instances.mjs +56 -39
  403. package/_mjs/data/Maybe/instances.mjs.map +1 -1
  404. package/_mjs/data/Newtype.mjs +4 -3
  405. package/_mjs/data/Newtype.mjs.map +1 -1
  406. package/_mjs/data/Patch/api.mjs +1 -1
  407. package/_mjs/data/Patch/api.mjs.map +1 -1
  408. package/_mjs/data/Refinement/api.mjs +0 -4
  409. package/_mjs/data/Refinement/api.mjs.map +1 -1
  410. package/_mjs/data/Struct/definition.mjs +3 -2
  411. package/_mjs/data/Struct/definition.mjs.map +1 -1
  412. package/_mjs/data/These/api.mjs +262 -0
  413. package/_mjs/data/These/api.mjs.map +1 -0
  414. package/_mjs/data/These/constructors.mjs +14 -2
  415. package/_mjs/data/These/constructors.mjs.map +1 -1
  416. package/_mjs/data/These/definition.mjs +8 -0
  417. package/_mjs/data/These/definition.mjs.map +1 -1
  418. package/_mjs/data/These/destructors.mjs +53 -0
  419. package/_mjs/data/These/destructors.mjs.map +1 -1
  420. package/_mjs/data/These/instances.mjs +36 -0
  421. package/_mjs/data/These/instances.mjs.map +1 -0
  422. package/_mjs/data/These.mjs +1 -0
  423. package/_mjs/data/These.mjs.map +1 -1
  424. package/_mjs/data/bigint/definition.mjs +2 -0
  425. package/_mjs/data/bigint/definition.mjs.map +1 -0
  426. package/_mjs/data/bigint/instances.mjs +10 -0
  427. package/_mjs/data/bigint/instances.mjs.map +1 -0
  428. package/_mjs/data/bigint.mjs +4 -0
  429. package/_mjs/data/bigint.mjs.map +1 -0
  430. package/_mjs/data/boolean/definition.mjs +2 -0
  431. package/_mjs/data/boolean/definition.mjs.map +1 -0
  432. package/_mjs/data/boolean/instances.mjs +10 -0
  433. package/_mjs/data/boolean/instances.mjs.map +1 -0
  434. package/_mjs/data/boolean.mjs +4 -0
  435. package/_mjs/data/boolean.mjs.map +1 -0
  436. package/_mjs/data/number/instances.mjs +14 -4
  437. package/_mjs/data/number/instances.mjs.map +1 -1
  438. package/_mjs/data/object/instances.mjs +10 -0
  439. package/_mjs/data/object/instances.mjs.map +1 -0
  440. package/_mjs/data/string/instances.mjs +20 -8
  441. package/_mjs/data/string/instances.mjs.map +1 -1
  442. package/_mjs/internal/Stack.mjs +4 -0
  443. package/_mjs/internal/Stack.mjs.map +1 -1
  444. package/_mjs/json/EitherJson.mjs +18 -0
  445. package/_mjs/json/EitherJson.mjs.map +1 -0
  446. package/_mjs/json/MaybeJson.mjs +16 -0
  447. package/_mjs/json/MaybeJson.mjs.map +1 -0
  448. package/_mjs/json/TheseJson.mjs +22 -0
  449. package/_mjs/json/TheseJson.mjs.map +1 -0
  450. package/_mjs/optics/Optional/definition.mjs +5 -4
  451. package/_mjs/optics/Optional/definition.mjs.map +1 -1
  452. package/_mjs/optics/Traversal/api/compose.mjs +1 -1
  453. package/_mjs/optics/Traversal/api/compose.mjs.map +1 -1
  454. package/_mjs/optics/Traversal/api/fromTraversable.mjs +5 -4
  455. package/_mjs/optics/Traversal/api/fromTraversable.mjs.map +1 -1
  456. package/_mjs/optics/Traversal/definition.mjs +14 -12
  457. package/_mjs/optics/Traversal/definition.mjs.map +1 -1
  458. package/_mjs/typeclass/Align.mjs +0 -11
  459. package/_mjs/typeclass/Align.mjs.map +1 -1
  460. package/_mjs/typeclass/Alt.mjs +4 -7
  461. package/_mjs/typeclass/Alt.mjs.map +1 -1
  462. package/_mjs/typeclass/Alternative.mjs +0 -13
  463. package/_mjs/typeclass/Alternative.mjs.map +1 -1
  464. package/_mjs/typeclass/Applicative.mjs +0 -12
  465. package/_mjs/typeclass/Applicative.mjs.map +1 -1
  466. package/_mjs/typeclass/ApplicativeExcept.mjs +32 -24
  467. package/_mjs/typeclass/ApplicativeExcept.mjs.map +1 -1
  468. package/_mjs/typeclass/Apply.mjs +85 -42
  469. package/_mjs/typeclass/Apply.mjs.map +1 -1
  470. package/_mjs/typeclass/Chain.mjs +33 -12
  471. package/_mjs/typeclass/Chain.mjs.map +1 -1
  472. package/_mjs/typeclass/Closure.mjs +1 -4
  473. package/_mjs/typeclass/Closure.mjs.map +1 -1
  474. package/_mjs/typeclass/Eq/definition.mjs +9 -0
  475. package/_mjs/typeclass/Eq/definition.mjs.map +1 -0
  476. package/_mjs/typeclass/Eq/derivations.mjs +46 -0
  477. package/_mjs/typeclass/Eq/derivations.mjs.map +1 -0
  478. package/_mjs/typeclass/Eq.mjs +1 -11
  479. package/_mjs/typeclass/Eq.mjs.map +1 -1
  480. package/_mjs/typeclass/Fail.mjs +5 -7
  481. package/_mjs/typeclass/Fail.mjs.map +1 -1
  482. package/_mjs/typeclass/Filterable.mjs +27 -13
  483. package/_mjs/typeclass/Filterable.mjs.map +1 -1
  484. package/_mjs/typeclass/FilterableWithIndex.mjs +0 -16
  485. package/_mjs/typeclass/FilterableWithIndex.mjs.map +1 -1
  486. package/_mjs/typeclass/Foldable.mjs +29 -12
  487. package/_mjs/typeclass/Foldable.mjs.map +1 -1
  488. package/_mjs/typeclass/FoldableWithIndex.mjs +29 -13
  489. package/_mjs/typeclass/FoldableWithIndex.mjs.map +1 -1
  490. package/_mjs/typeclass/Functor.mjs +16 -9
  491. package/_mjs/typeclass/Functor.mjs.map +1 -1
  492. package/_mjs/typeclass/FunctorWithIndex.mjs +0 -12
  493. package/_mjs/typeclass/FunctorWithIndex.mjs.map +1 -1
  494. package/_mjs/typeclass/Guard/api.mjs +23 -0
  495. package/_mjs/typeclass/Guard/api.mjs.map +1 -0
  496. package/_mjs/typeclass/Guard/definition.mjs +23 -0
  497. package/_mjs/typeclass/Guard/definition.mjs.map +1 -0
  498. package/_mjs/typeclass/Guard/derivations.mjs +67 -0
  499. package/_mjs/typeclass/Guard/derivations.mjs.map +1 -0
  500. package/_mjs/typeclass/Guard.mjs +4 -0
  501. package/_mjs/typeclass/Guard.mjs.map +1 -0
  502. package/_mjs/typeclass/HashEq.mjs +3 -3
  503. package/_mjs/typeclass/HashEq.mjs.map +1 -1
  504. package/_mjs/typeclass/Monad.mjs +0 -12
  505. package/_mjs/typeclass/Monad.mjs.map +1 -1
  506. package/_mjs/typeclass/MonadExcept.mjs +9 -13
  507. package/_mjs/typeclass/MonadExcept.mjs.map +1 -1
  508. package/_mjs/typeclass/Monoid.mjs +50 -1
  509. package/_mjs/typeclass/Monoid.mjs.map +1 -1
  510. package/_mjs/typeclass/Nil.mjs +8 -1
  511. package/_mjs/typeclass/Nil.mjs.map +1 -1
  512. package/_mjs/typeclass/Ord/api/contramap.mjs +2 -4
  513. package/_mjs/typeclass/Ord/api/contramap.mjs.map +1 -1
  514. package/_mjs/typeclass/Ord/api/max.mjs +1 -1
  515. package/_mjs/typeclass/Ord/api/max.mjs.map +1 -1
  516. package/_mjs/typeclass/Ord/api/min.mjs +1 -1
  517. package/_mjs/typeclass/Ord/api/min.mjs.map +1 -1
  518. package/_mjs/typeclass/Ord/definition.mjs +2 -3
  519. package/_mjs/typeclass/Ord/definition.mjs.map +1 -1
  520. package/_mjs/typeclass/Ord/instances.mjs +7 -7
  521. package/_mjs/typeclass/Ord/instances.mjs.map +1 -1
  522. package/_mjs/typeclass/Pointed.mjs +5 -4
  523. package/_mjs/typeclass/Pointed.mjs.map +1 -1
  524. package/_mjs/typeclass/Semialign.mjs +67 -74
  525. package/_mjs/typeclass/Semialign.mjs.map +1 -1
  526. package/_mjs/typeclass/Semigroup/api.mjs +2 -2
  527. package/_mjs/typeclass/Semigroup/api.mjs.map +1 -1
  528. package/_mjs/typeclass/Semigroup/definition.mjs.map +1 -1
  529. package/_mjs/typeclass/Semigroup/derivations.mjs +50 -0
  530. package/_mjs/typeclass/Semigroup/derivations.mjs.map +1 -0
  531. package/_mjs/typeclass/Semigroup.mjs +1 -1
  532. package/_mjs/typeclass/Semimonoidal.mjs +8 -6
  533. package/_mjs/typeclass/Semimonoidal.mjs.map +1 -1
  534. package/_mjs/typeclass/Showable/show.mjs +11 -11
  535. package/_mjs/typeclass/Showable/show.mjs.map +1 -1
  536. package/_mjs/typeclass/Traversable.mjs +25 -24
  537. package/_mjs/typeclass/Traversable.mjs.map +1 -1
  538. package/_mjs/typeclass/TraversableWithIndex.mjs +6 -24
  539. package/_mjs/typeclass/TraversableWithIndex.mjs.map +1 -1
  540. package/_mjs/typeclass/Witherable.mjs +39 -32
  541. package/_mjs/typeclass/Witherable.mjs.map +1 -1
  542. package/_mjs/typeclass/WitherableWithIndex.mjs +39 -37
  543. package/_mjs/typeclass/WitherableWithIndex.mjs.map +1 -1
  544. package/_mjs/typeclass.mjs +1 -0
  545. package/_mjs/typeclass.mjs.map +1 -1
  546. package/_mjs/util/predicates.mjs +3 -0
  547. package/_mjs/util/predicates.mjs.map +1 -1
  548. package/_src/collection/Iterable/api/traverseConc.ts +21 -29
  549. package/_src/collection/Iterable/api.ts +20 -34
  550. package/_src/collection/compat/Array/api.ts +1 -1
  551. package/_src/collection/immutable/Conc/api.ts +26 -46
  552. package/_src/collection/immutable/Conc/definition.ts +19 -8
  553. package/_src/collection/immutable/Dictionary/definition.ts +1 -1
  554. package/_src/collection/immutable/HashMap/api.ts +24 -81
  555. package/_src/collection/immutable/HashMap/definition.ts +7 -9
  556. package/_src/collection/immutable/HashMap/internal.ts +1 -1
  557. package/_src/collection/immutable/HashSet/api.ts +4 -4
  558. package/_src/collection/immutable/ImmutableArray/api/chunksOf.ts +6 -0
  559. package/_src/collection/immutable/ImmutableArray/api/slice.ts +6 -0
  560. package/_src/collection/immutable/ImmutableArray/api/splitAt.ts +6 -0
  561. package/_src/collection/immutable/ImmutableArray/api/splitWhere.ts +18 -0
  562. package/_src/collection/immutable/ImmutableArray/api.ts +181 -267
  563. package/_src/collection/immutable/ImmutableArray/definition.ts +6 -8
  564. package/_src/collection/immutable/ImmutableArray/instances.ts +156 -134
  565. package/_src/collection/immutable/ImmutableArray.ts +7 -0
  566. package/_src/collection/immutable/ImmutableNonEmptyArray/api.ts +87 -157
  567. package/_src/collection/immutable/ImmutableNonEmptyArray/constructors.ts +2 -0
  568. package/_src/collection/immutable/ImmutableNonEmptyArray/definition.ts +18 -6
  569. package/_src/collection/immutable/ImmutableNonEmptyArray/instances.ts +39 -49
  570. package/_src/collection/immutable/List/api.ts +2 -6
  571. package/_src/collection/immutable/RoseTree/api.ts +272 -0
  572. package/_src/collection/immutable/RoseTree/definition.ts +29 -0
  573. package/_src/collection/immutable/RoseTree.ts +4 -0
  574. package/_src/collection/immutable/SortedMap/api.ts +56 -53
  575. package/_src/collection/immutable/Vector/api.ts +57 -17
  576. package/_src/collection/immutable/Vector/definition.ts +10 -0
  577. package/_src/collection/mutable/HashMap.ts +5 -5
  578. package/_src/collection/mutable/HashSet.ts +4 -4
  579. package/_src/control/Eval/api.ts +5 -1
  580. package/_src/control/Eval/definition.ts +5 -8
  581. package/_src/control/Eval/instance.ts +16 -15
  582. package/_src/control/Z/definition.ts +26 -19
  583. package/_src/control/Z/instances.ts +9 -8
  584. package/_src/data/Branded/definition.ts +47 -0
  585. package/_src/data/Branded/derivations.ts +57 -0
  586. package/_src/data/Branded.ts +4 -0
  587. package/_src/data/CaseClass.ts +2 -2
  588. package/_src/data/Cause/api/fold.ts +1 -0
  589. package/_src/data/Cause/api.ts +18 -0
  590. package/_src/data/Const/api.ts +3 -3
  591. package/_src/data/Const/definition.ts +22 -5
  592. package/_src/data/Const/instances.ts +12 -21
  593. package/_src/data/DecodeError/definition.ts +227 -0
  594. package/_src/data/DecodeError.ts +3 -0
  595. package/_src/data/Decoder/api.ts +198 -0
  596. package/_src/data/Decoder/definition.ts +25 -0
  597. package/_src/data/Decoder.ts +4 -0
  598. package/_src/data/Duration/api.ts +21 -14
  599. package/_src/data/Either/api/alignWith.ts +2 -0
  600. package/_src/data/Either/api.ts +85 -30
  601. package/_src/data/Either/definition.ts +41 -19
  602. package/_src/data/Either/destructors.ts +1 -0
  603. package/_src/data/Either/instances.ts +102 -51
  604. package/_src/data/Environment/api.ts +19 -4
  605. package/_src/data/Identity/api.ts +19 -4
  606. package/_src/data/Identity/definition.ts +7 -3
  607. package/_src/data/Identity/instances.ts +15 -8
  608. package/_src/data/Interval.ts +103 -0
  609. package/_src/data/Maybe/api.ts +21 -31
  610. package/_src/data/Maybe/definition.ts +31 -19
  611. package/_src/data/Maybe/destructors.ts +1 -0
  612. package/_src/data/Maybe/instances.ts +61 -34
  613. package/_src/data/Newtype.ts +11 -32
  614. package/_src/data/Patch/api.ts +1 -1
  615. package/_src/data/Refinement/api.ts +4 -2
  616. package/_src/data/Struct/definition.ts +1 -1
  617. package/_src/data/These/api.ts +184 -0
  618. package/_src/data/These/constructors.ts +10 -0
  619. package/_src/data/These/definition.ts +7 -0
  620. package/_src/data/These/destructors.ts +45 -0
  621. package/_src/data/These/instances.ts +43 -0
  622. package/_src/data/These.ts +1 -0
  623. package/_src/data/bigint/definition.ts +13 -0
  624. package/_src/data/bigint/instances.ts +8 -0
  625. package/_src/data/bigint.ts +4 -0
  626. package/_src/data/boolean/definition.ts +13 -0
  627. package/_src/data/boolean/instances.ts +8 -0
  628. package/_src/data/boolean.ts +4 -0
  629. package/_src/data/number/instances.ts +13 -3
  630. package/_src/data/object/instances.ts +7 -0
  631. package/_src/data/string/instances.ts +17 -5
  632. package/_src/internal/Stack.ts +4 -0
  633. package/_src/json/EitherJson.ts +28 -0
  634. package/_src/json/MaybeJson.ts +27 -0
  635. package/_src/json/TheseJson.ts +31 -0
  636. package/_src/optics/Optional/definition.ts +2 -2
  637. package/_src/optics/Traversal/api/compose.ts +1 -1
  638. package/_src/optics/Traversal/api/fromTraversable.ts +15 -41
  639. package/_src/optics/Traversal/definition.ts +21 -23
  640. package/_src/typeclass/Align.ts +4 -18
  641. package/_src/typeclass/Alt.ts +59 -90
  642. package/_src/typeclass/Alternative.ts +4 -20
  643. package/_src/typeclass/Applicative.ts +3 -23
  644. package/_src/typeclass/ApplicativeExcept.ts +94 -193
  645. package/_src/typeclass/Apply.ts +319 -509
  646. package/_src/typeclass/Chain.ts +127 -199
  647. package/_src/typeclass/Closure.ts +4 -20
  648. package/_src/typeclass/Eq/definition.ts +20 -0
  649. package/_src/typeclass/Eq/derivations.ts +61 -0
  650. package/_src/typeclass/Eq.ts +2 -36
  651. package/_src/typeclass/Fail.ts +28 -27
  652. package/_src/typeclass/Filterable.ts +70 -117
  653. package/_src/typeclass/FilterableWithIndex.ts +27 -131
  654. package/_src/typeclass/Foldable.ts +35 -52
  655. package/_src/typeclass/FoldableWithIndex.ts +40 -75
  656. package/_src/typeclass/Functor.ts +21 -59
  657. package/_src/typeclass/FunctorWithIndex.ts +6 -34
  658. package/_src/typeclass/Guard/api.ts +32 -0
  659. package/_src/typeclass/Guard/definition.ts +23 -0
  660. package/_src/typeclass/Guard/derivations.ts +80 -0
  661. package/_src/typeclass/Guard.ts +5 -0
  662. package/_src/typeclass/HashEq.ts +3 -4
  663. package/_src/typeclass/Monad.ts +3 -18
  664. package/_src/typeclass/MonadExcept.ts +9 -32
  665. package/_src/typeclass/Monoid.ts +60 -2
  666. package/_src/typeclass/Nil.ts +26 -17
  667. package/_src/typeclass/Ord/api/contramap.ts +2 -4
  668. package/_src/typeclass/Ord/api/max.ts +1 -1
  669. package/_src/typeclass/Ord/api/min.ts +1 -1
  670. package/_src/typeclass/Ord/definition.ts +3 -19
  671. package/_src/typeclass/Ord/instances.ts +6 -6
  672. package/_src/typeclass/Pointed.ts +29 -25
  673. package/_src/typeclass/Semialign.ts +308 -444
  674. package/_src/typeclass/Semigroup/api.ts +2 -2
  675. package/_src/typeclass/Semigroup/definition.ts +2 -6
  676. package/_src/typeclass/Semigroup/derivations.ts +64 -0
  677. package/_src/typeclass/Semigroup.ts +1 -1
  678. package/_src/typeclass/Semimonoidal.ts +55 -84
  679. package/_src/typeclass/Showable/show.ts +6 -8
  680. package/_src/typeclass/Traversable.ts +67 -157
  681. package/_src/typeclass/TraversableWithIndex.ts +37 -127
  682. package/_src/typeclass/Witherable.ts +120 -279
  683. package/_src/typeclass/WitherableWithIndex.ts +129 -337
  684. package/_src/typeclass.ts +2 -0
  685. package/_src/util/predicates.ts +4 -0
  686. package/collection/Iterable/api/traverseConc.d.ts +6 -4
  687. package/collection/Iterable/api.d.ts +5 -13
  688. package/collection/immutable/Conc/api.d.ts +15 -23
  689. package/collection/immutable/Conc/definition.d.ts +14 -7
  690. package/collection/immutable/Dictionary/definition.d.ts +1 -1
  691. package/collection/immutable/HashMap/api.d.ts +15 -27
  692. package/collection/immutable/HashMap/definition.d.ts +7 -9
  693. package/collection/immutable/HashMap/internal.d.ts +2 -2
  694. package/collection/immutable/HashSet/definition.d.ts +1 -0
  695. package/collection/immutable/ImmutableArray/api/chunksOf.d.ts +6 -0
  696. package/collection/immutable/ImmutableArray/api/slice.d.ts +6 -0
  697. package/collection/immutable/ImmutableArray/api/splitAt.d.ts +6 -0
  698. package/collection/immutable/ImmutableArray/api/splitWhere.d.ts +7 -0
  699. package/collection/immutable/ImmutableArray/api.d.ts +42 -119
  700. package/collection/immutable/ImmutableArray/definition.d.ts +6 -7
  701. package/collection/immutable/ImmutableArray/instances.d.ts +86 -17
  702. package/collection/immutable/ImmutableArray.d.ts +4 -0
  703. package/collection/immutable/ImmutableNonEmptyArray/api.d.ts +27 -48
  704. package/collection/immutable/ImmutableNonEmptyArray/constructors.d.ts +2 -1
  705. package/collection/immutable/ImmutableNonEmptyArray/definition.d.ts +15 -7
  706. package/collection/immutable/ImmutableNonEmptyArray/instances.d.ts +1 -1
  707. package/collection/immutable/List/api.d.ts +1 -2
  708. package/collection/immutable/RoseTree/api.d.ts +63 -0
  709. package/collection/immutable/RoseTree/definition.d.ts +24 -0
  710. package/collection/immutable/RoseTree.d.ts +2 -0
  711. package/collection/immutable/SortedMap/api.d.ts +2 -1
  712. package/collection/immutable/SortedMap/iterator.d.ts +1 -1
  713. package/collection/immutable/Vector/api.d.ts +31 -8
  714. package/collection/immutable/Vector/definition.d.ts +13 -0
  715. package/collection/mutable/HashMap.d.ts +2 -1
  716. package/collection/mutable/HashSet.d.ts +1 -0
  717. package/collection/mutable/ListBuffer.d.ts +1 -0
  718. package/control/Eval/api.d.ts +1 -0
  719. package/control/Eval/definition.d.ts +5 -7
  720. package/control/Eval/instance.d.ts +4 -1
  721. package/control/Z/definition.d.ts +23 -17
  722. package/control/Z/instances.d.ts +4 -3
  723. package/data/Branded/definition.d.ts +36 -0
  724. package/data/Branded/derivations.d.ts +24 -0
  725. package/data/Branded.d.ts +2 -0
  726. package/data/Cause/api.d.ts +7 -1
  727. package/data/Const/api.d.ts +1 -1
  728. package/data/Const/definition.d.ts +24 -7
  729. package/data/Const/instances.d.ts +4 -12
  730. package/data/DecodeError/definition.d.ts +141 -0
  731. package/data/DecodeError.d.ts +1 -0
  732. package/data/Decoder/api.d.ts +65 -0
  733. package/data/Decoder/definition.d.ts +25 -0
  734. package/data/Decoder.d.ts +2 -0
  735. package/data/Duration/api.d.ts +12 -8
  736. package/data/Either/api.d.ts +29 -17
  737. package/data/Either/definition.d.ts +32 -14
  738. package/data/Either/instances.d.ts +26 -11
  739. package/data/Environment/api.d.ts +5 -0
  740. package/data/Exit/definition.d.ts +1 -0
  741. package/data/Identity/api.d.ts +11 -0
  742. package/data/Identity/definition.d.ts +8 -2
  743. package/data/Identity/instances.d.ts +5 -9
  744. package/data/Interval.d.ts +71 -0
  745. package/data/Maybe/api.d.ts +3 -17
  746. package/data/Maybe/definition.d.ts +23 -14
  747. package/data/Maybe/instances.d.ts +14 -8
  748. package/data/Newtype.d.ts +8 -9
  749. package/data/Refinement/api.d.ts +2 -0
  750. package/data/Struct/definition.d.ts +1 -1
  751. package/data/These/api.d.ts +73 -0
  752. package/data/These/constructors.d.ts +7 -1
  753. package/data/These/definition.d.ts +5 -0
  754. package/data/These/destructors.d.ts +27 -1
  755. package/data/These/instances.d.ts +13 -0
  756. package/data/These.d.ts +1 -0
  757. package/data/bigint/definition.d.ts +13 -0
  758. package/data/bigint/instances.d.ts +7 -0
  759. package/data/bigint.d.ts +2 -0
  760. package/data/boolean/definition.d.ts +13 -0
  761. package/data/boolean/instances.d.ts +7 -0
  762. package/data/boolean.d.ts +2 -0
  763. package/data/number/instances.d.ts +8 -0
  764. package/data/object/instances.d.ts +7 -0
  765. package/data/string/instances.d.ts +10 -0
  766. package/internal/Stack.d.ts +1 -0
  767. package/json/EitherJson.d.ts +24 -0
  768. package/json/MaybeJson.d.ts +23 -0
  769. package/json/TheseJson.d.ts +26 -0
  770. package/optics/Traversal/api/fromTraversable.d.ts +1 -1
  771. package/optics/Traversal/definition.d.ts +4 -9
  772. package/package.json +2 -2
  773. package/typeclass/Align.d.ts +3 -10
  774. package/typeclass/Alt.d.ts +6 -19
  775. package/typeclass/Alternative.d.ts +4 -12
  776. package/typeclass/Applicative.d.ts +3 -12
  777. package/typeclass/ApplicativeExcept.d.ts +14 -39
  778. package/typeclass/Apply.d.ts +41 -72
  779. package/typeclass/Chain.d.ts +18 -28
  780. package/typeclass/Closure.d.ts +2 -12
  781. package/typeclass/Eq/definition.d.ts +17 -0
  782. package/typeclass/Eq/derivations.d.ts +24 -0
  783. package/typeclass/Eq.d.ts +2 -27
  784. package/typeclass/Fail.d.ts +4 -10
  785. package/typeclass/Filterable.d.ts +30 -51
  786. package/typeclass/FilterableWithIndex.d.ts +10 -53
  787. package/typeclass/Foldable.d.ts +19 -31
  788. package/typeclass/FoldableWithIndex.d.ts +20 -33
  789. package/typeclass/Functor.d.ts +11 -22
  790. package/typeclass/FunctorWithIndex.d.ts +3 -19
  791. package/typeclass/Guard/api.d.ts +20 -0
  792. package/typeclass/Guard/definition.d.ts +23 -0
  793. package/typeclass/Guard/derivations.d.ts +36 -0
  794. package/typeclass/Guard.d.ts +2 -0
  795. package/typeclass/HashEq.d.ts +1 -2
  796. package/typeclass/Monad.d.ts +3 -11
  797. package/typeclass/MonadExcept.d.ts +6 -17
  798. package/typeclass/Monoid.d.ts +24 -2
  799. package/typeclass/Nil.d.ts +7 -8
  800. package/typeclass/Ord/definition.d.ts +2 -14
  801. package/typeclass/Pointed.d.ts +4 -10
  802. package/typeclass/Semialign.d.ts +51 -63
  803. package/typeclass/Semigroup/definition.d.ts +3 -5
  804. package/typeclass/Semigroup/derivations.d.ts +25 -0
  805. package/typeclass/Semimonoidal.d.ts +5 -14
  806. package/typeclass/Showable/show.d.ts +1 -0
  807. package/typeclass/Traversable.d.ts +17 -57
  808. package/typeclass/TraversableWithIndex.d.ts +9 -52
  809. package/typeclass/Witherable.d.ts +22 -82
  810. package/typeclass/WitherableWithIndex.d.ts +26 -98
  811. package/typeclass.d.ts +1 -0
  812. package/util/predicates.d.ts +1 -0
@@ -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";
@@ -1,16 +1,38 @@
1
+ import { HKT } from "@fncts/typelevel/HKT";
1
2
  export declare const enum EitherTag {
2
3
  Left = "Left",
3
4
  Right = "Right"
4
5
  }
5
6
  export declare const EitherTypeId: unique symbol;
6
7
  export declare type EitherTypeId = typeof EitherTypeId;
8
+ export interface EitherF extends Either<any, any> {
9
+ }
10
+ export interface Either1F<E> extends Either1<E, any> {
11
+ }
12
+ /**
13
+ * @tsplus type fncts.Either
14
+ * @tsplus companion fncts.EitherOps
15
+ */
16
+ export declare class Either<E, A> {
17
+ readonly _typeId: EitherTypeId;
18
+ readonly [HKT.F]: EitherF;
19
+ readonly [HKT.E]: () => E;
20
+ readonly [HKT.A]: () => A;
21
+ readonly [HKT.T]: Either<HKT._E<this>, HKT._A<this>>;
22
+ }
23
+ export interface Either1<E, A> {
24
+ readonly _typeId: EitherTypeId;
25
+ readonly [HKT.F]: EitherF;
26
+ readonly [HKT.E]: () => E;
27
+ readonly [HKT.A]: () => A;
28
+ readonly [HKT.T]: Either<E, HKT._A<this>>;
29
+ }
7
30
  /**
8
31
  * @tsplus type fncts.Either.Left
9
32
  * @tsplus companion fncts.Either.LeftOps
10
33
  */
11
- export declare class Left<E> {
34
+ export declare class Left<E> extends Either<E, never> {
12
35
  readonly left: E;
13
- readonly _typeId: EitherTypeId;
14
36
  readonly _tag = EitherTag.Left;
15
37
  constructor(left: E);
16
38
  }
@@ -18,23 +40,19 @@ export declare class Left<E> {
18
40
  * @tsplus type fncts.Either.Right
19
41
  * @tsplus companion fncts.Either.RightOps
20
42
  */
21
- export declare class Right<A> {
43
+ export declare class Right<A> extends Either<never, A> {
22
44
  readonly right: A;
23
- readonly _typeId: EitherTypeId;
24
45
  readonly _tag = EitherTag.Right;
25
46
  constructor(right: A);
26
47
  }
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
48
  /**
38
49
  * @tsplus unify fncts.Either
39
50
  */
40
51
  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>;
52
+ /**
53
+ * @tsplus fluent fncts.Either concrete
54
+ * @tsplus static fncts.EitherOps concrete
55
+ * @tsplus macro remove
56
+ * @tsplus location "@fncts/base/data/Either/definition"
57
+ */
58
+ 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"
@@ -1,4 +1,5 @@
1
1
  import { Cause } from "@fncts/base/data/Cause/definition";
2
+ import { Hashable } from "@fncts/base/typeclass/Hashable";
2
3
  import * as P from "../../typeclass.js";
3
4
  export declare const ExitTypeId: unique symbol;
4
5
  export declare type ExitTypeId = typeof ExitTypeId;
@@ -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,16 @@
1
+ import { HKT } from "@fncts/typelevel/HKT";
2
+ import { Newtype, NewtypeIso } from "@fncts/base/data/Newtype";
3
+ export interface IdentityN {
4
+ readonly [HKT.T]: Identity<HKT._A<this>>;
5
+ }
1
6
  /**
2
7
  * @tsplus type fncts.Identity
3
8
  */
4
- export declare type Identity<A> = A;
9
+ export interface Identity<A> extends Newtype<"Identity", A> {
10
+ }
5
11
  /**
6
12
  * @tsplus type fncts.IdentityOps
7
13
  */
8
- export interface IdentityOps {
14
+ export interface IdentityOps extends NewtypeIso<IdentityN> {
9
15
  }
10
16
  export declare const Identity: IdentityOps;
@@ -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
@@ -1,16 +1,29 @@
1
+ import { HKT } from "@fncts/typelevel/HKT";
2
+ import { Equatable } from "@fncts/base/typeclass/Equatable";
3
+ import { Hashable } from "@fncts/base/typeclass/Hashable";
1
4
  export declare const enum MaybeTag {
2
5
  Just = "Just",
3
6
  Nothing = "Nothing"
4
7
  }
5
8
  export declare const MaybeTypeId: unique symbol;
6
9
  export declare type MaybeTypdId = typeof MaybeTypeId;
10
+ export declare type MaybeF = Maybe<any>;
11
+ /**
12
+ * @tsplus type fncts.Maybe
13
+ * @tsplus companion fncts.MaybeOps
14
+ */
15
+ export declare class Maybe<A> {
16
+ readonly _typeId: MaybeTypdId;
17
+ readonly [HKT.F]: MaybeF;
18
+ readonly [HKT.A]: () => A;
19
+ readonly [HKT.T]: Maybe<HKT._A<this>>;
20
+ }
7
21
  /**
8
22
  * @tsplus type fncts.Just
9
23
  * @tsplus companion fncts.JustOps
10
24
  */
11
- export declare class Just<A> {
25
+ export declare class Just<A> extends Maybe<A> {
12
26
  readonly value: A;
13
- readonly _typeId: MaybeTypdId;
14
27
  readonly _tag = MaybeTag.Just;
15
28
  constructor(value: A);
16
29
  [Symbol.equals](that: unknown): boolean;
@@ -20,22 +33,11 @@ export declare class Just<A> {
20
33
  * @tsplus type fncts.Nothing
21
34
  * @tsplus companion fncts.NothingOps
22
35
  */
23
- export declare class Nothing {
24
- readonly _typeId: MaybeTypdId;
36
+ export declare class Nothing extends Maybe<never> {
25
37
  readonly _tag = MaybeTag.Nothing;
26
38
  [Symbol.equals](that: unknown): boolean;
27
39
  get [Symbol.hash](): number;
28
40
  }
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
41
  /**
40
42
  * @tsplus unify fncts.Maybe
41
43
  */
@@ -57,3 +59,10 @@ export declare function isJust<A>(self: Maybe<A>): self is Just<A>;
57
59
  * @tsplus location "@fncts/base/data/Maybe/definition"
58
60
  */
59
61
  export declare function isNothing<A>(self: Maybe<A>): self is Nothing;
62
+ /**
63
+ * @tsplus fluent fncts.Maybe concrete
64
+ * @tsplus static fncts.MaybeOps concrete
65
+ * @tsplus macro remove
66
+ * @tsplus location "@fncts/base/data/Maybe/definition"
67
+ */
68
+ 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>;