@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,12 +1,16 @@
1
1
  import { HKT } from "@fncts/typelevel/HKT";
2
2
  export declare const EvalTypeId: unique symbol;
3
3
  export declare type EvalTypeId = typeof EvalTypeId;
4
+ export interface EvalF extends Eval<any> {
5
+ }
4
6
  /**
5
7
  * @tsplus type fncts.control.Eval
6
8
  */
7
9
  export interface Eval<A> {
8
10
  readonly _typeId: EvalTypeId;
9
- readonly _A: () => A;
11
+ [HKT.F]?: EvalF;
12
+ [HKT.A]?: () => A;
13
+ [HKT.T]?: Eval<HKT._A<this>>;
10
14
  }
11
15
  /**
12
16
  * @tsplus type fncts.control.EvalOps
@@ -50,10 +54,4 @@ export declare function concrete(_: Eval<any>): asserts _ is Concrete;
50
54
  * @tsplus unify fncts.control.Eval
51
55
  */
52
56
  export declare function unifyEval<X extends Eval<any>>(self: X): Eval<[X] extends [Eval<infer A>] ? A : never>;
53
- export interface EvalF extends HKT {
54
- readonly type: Eval<this["A"]>;
55
- readonly variance: {
56
- readonly A: "-";
57
- };
58
- }
59
57
  export {};
@@ -1,17 +1,20 @@
1
1
  import type { EvalF } from "@fncts/base/control/Eval/definition";
2
- import * as P from "@fncts/base/typeclass";
2
+ import type * as P from "@fncts/base/typeclass";
3
3
  /**
4
4
  * @tsplus static fncts.control.EvalOps Functor
5
+ * @tsplus implicit
5
6
  * @tsplus location "@fncts/base/control/Eval/instance"
6
7
  */
7
8
  export declare const Functor: P.Functor<EvalF>;
8
9
  /**
9
10
  * @tsplus static fncts.control.EvalOps Apply
11
+ * @tsplus implicit
10
12
  * @tsplus location "@fncts/base/control/Eval/instance"
11
13
  */
12
14
  export declare const Apply: P.Apply<EvalF>;
13
15
  /**
14
16
  * @tsplus static fncts.control.EvalOps Applicative
17
+ * @tsplus implicit
15
18
  * @tsplus location "@fncts/base/control/Eval/instance"
16
19
  */
17
20
  export declare const Applicative: P.Applicative<EvalF>;
@@ -1,16 +1,9 @@
1
1
  import { HKT } from "@fncts/typelevel/HKT";
2
2
  import { Cause } from "@fncts/base/data/Cause/definition";
3
3
  import { Conc } from "@fncts/base/collection/immutable/Conc";
4
- import type { _A, _E, _R, _S1, _S2, _W } from "../../types.js";
5
- export interface ZF extends HKT {
6
- readonly type: Z<this["W"], this["S"], this["S"], this["R"], this["E"], this["A"]>;
7
- readonly variance: {
8
- readonly W: "_";
9
- readonly S: "_";
10
- readonly R: "-";
11
- readonly E: "+";
12
- readonly A: "+";
13
- };
4
+ export interface ZF extends Z<any, any, any, any, any, any> {
5
+ }
6
+ export interface ZFixedF extends ZFixed<any, any, any, any, any> {
14
7
  }
15
8
  export declare const ZTypeId: unique symbol;
16
9
  export declare type ZTypeId = typeof ZTypeId;
@@ -29,17 +22,30 @@ export declare type ZTypeId = typeof ZTypeId;
29
22
  */
30
23
  export declare abstract class Z<W, S1, S2, R, E, A> {
31
24
  readonly _typeId: ZTypeId;
32
- readonly _W: () => W;
33
- readonly _S1: (_: S1) => void;
34
- readonly _S2: () => S2;
35
- readonly _R: (_: R) => void;
36
- readonly _E: () => E;
37
- readonly _A: () => A;
25
+ readonly [HKT.F]: ZF;
26
+ readonly [HKT.W]: () => W;
27
+ readonly [HKT.Q]: (_: S1) => void;
28
+ readonly [HKT.S]: () => S2;
29
+ readonly [HKT.R]: (_: R) => void;
30
+ readonly [HKT.E]: () => E;
31
+ readonly [HKT.A]: () => A;
32
+ readonly [HKT.T]: Z<HKT._W<this>, HKT._Q<this>, HKT._S<this>, HKT._R<this>, HKT._E<this>, HKT._A<this>>;
33
+ }
34
+ export interface ZFixed<W, S, R, E, A> {
35
+ readonly _typeId: ZTypeId;
36
+ readonly [HKT.F]: ZF;
37
+ readonly [HKT.W]: () => W;
38
+ readonly [HKT.Q]: (_: S) => void;
39
+ readonly [HKT.S]: () => S;
40
+ readonly [HKT.R]: (_: R) => void;
41
+ readonly [HKT.E]: () => E;
42
+ readonly [HKT.A]: () => A;
43
+ readonly [HKT.T]: Z<HKT._W<this>, HKT._S<this>, HKT._S<this>, HKT._R<this>, HKT._E<this>, HKT._A<this>>;
38
44
  }
39
45
  /**
40
46
  * @tsplus unify fncts.control.Z
41
47
  */
42
- export declare function unifyZ<X extends Z<any, any, any, any, any, any>>(_: X): Z<_W<X>, _S1<X>, _S2<X>, _R<X>, _E<X>, _A<X>>;
48
+ export declare function unifyZ<X extends Z<any, any, any, any, any, any>>(_: X): Z<HKT._W<X>, HKT._Q<X>, HKT._S<X>, HKT._R<X>, HKT._E<X>, HKT._A<X>>;
43
49
  /**
44
50
  * @tsplus static fncts.control.ZOps isZ
45
51
  * @tsplus location "@fncts/base/control/Z/definition"
@@ -1,7 +1,8 @@
1
- import type { ZF } from "./definition.js";
2
- import * as P from "../../typeclass.js";
1
+ import type * as P from "../../typeclass.js";
2
+ import type { ZFixedF } from "./definition.js";
3
3
  /**
4
4
  * @tsplus static fncts.control.ZOps Applicative
5
+ * @tsplus implicit
5
6
  * @tsplus location "@fncts/base/control/Z/instances"
6
7
  */
7
- export declare const Applicative: P.Applicative<ZF>;
8
+ export declare const Applicative: P.Applicative<ZFixedF>;
@@ -0,0 +1,36 @@
1
+ import { Refinement } from "@fncts/base/data/Refinement/definition";
2
+ import { Predicate } from "@fncts/base/data/Predicate/definition";
3
+ import type { Union } from "@fncts/typelevel";
4
+ declare type Brand_<A, K extends string> = Brand<A, K>;
5
+ export declare namespace Branded {
6
+ const Symbol: unique symbol;
7
+ type Symbol = typeof Symbol;
8
+ interface Brand<A, K extends string> {
9
+ readonly [Branded.Symbol]: {
10
+ [_ in K]: A;
11
+ };
12
+ }
13
+ type Type<A extends Brand_<any, any>> = [A] extends [Brand_<infer A, infer K>] ? Validated<A, K> : never;
14
+ type Validated<A, K extends string> = A & Brand<A, K>;
15
+ type IsValidated<P extends Brand<any, any>> = {
16
+ [K in keyof P[Branded.Symbol]]: P extends P[Branded.Symbol][K] ? 0 : 1;
17
+ }[keyof P[Branded.Symbol]] extends 0 ? unknown : never;
18
+ type Unbrand<P extends Brand<any, any>> = P extends infer Q & Brands<P> ? Q : P;
19
+ type Brands<P extends Brand<any, any>> = Union.IntersectionOf<{
20
+ [K in keyof P[Branded.Symbol]]: P extends P[Branded.Symbol][K] ? K extends string ? Brand<P[Branded.Symbol][K], K> : never : never;
21
+ }[keyof P[Branded.Symbol]]>;
22
+ }
23
+ /**
24
+ * @tsplus type fncts.Brand
25
+ * @tsplus companion fncts.BrandOps
26
+ */
27
+ export declare class Brand<A, K extends string> {
28
+ readonly validate: Refinement<A, A & Branded.Brand<A, K>>;
29
+ constructor(validate: Refinement<A, A & Branded.Brand<A, K>>);
30
+ }
31
+ /**
32
+ * @tsplus static fncts.BrandOps __call
33
+ * @tsplus location "@fncts/base/data/Branded/definition"
34
+ */
35
+ export declare function makeBrand<A, K extends string>(p: Predicate<A>): Brand<A, K>;
36
+ export {};
@@ -0,0 +1,24 @@
1
+ import { Guard } from "@fncts/base/typeclass/Guard";
2
+ import type { Brand, Branded } from "@fncts/base/data/Branded/definition";
3
+ import type { Check } from "@fncts/typelevel/Check";
4
+ import { Decoder } from "@fncts/base/data/Decoder/definition";
5
+ /**
6
+ * @tsplus derive fncts.Guard<_> 10
7
+ * @tsplus location "@fncts/base/data/Branded/derivations"
8
+ */
9
+ export declare function deriveGuard<A extends Branded.Brand<any, any>>(...[base, brands]: Check<Branded.IsValidated<A>> extends Check.True ? [
10
+ base: Guard<Branded.Unbrand<A>>,
11
+ brands: {
12
+ [K in keyof A[Branded.Symbol] & string]: Brand<A[Branded.Symbol][K], K>;
13
+ }
14
+ ] : never): Guard<A>;
15
+ /**
16
+ * @tsplus derive fncts.Decoder<_> 10
17
+ * @tsplus location "@fncts/base/data/Branded/derivations"
18
+ */
19
+ export declare function deriveDecoder<A extends Branded.Brand<any, any>>(...[base, brands]: Check<Branded.IsValidated<A>> extends Check.True ? [
20
+ base: Decoder<Branded.Unbrand<A>>,
21
+ brands: {
22
+ [K in keyof A[Branded.Symbol] & string]: Brand<A[Branded.Symbol][K], K>;
23
+ }
24
+ ] : never): Decoder<A>;
@@ -0,0 +1,2 @@
1
+ export * from "./Branded/definition.js";
2
+ export * from "./Branded/derivations.js";
@@ -6,7 +6,7 @@ import { Either } from "@fncts/base/data/Either/definition";
6
6
  import { Maybe } from "@fncts/base/data/Maybe/definition";
7
7
  import { Predicate } from "@fncts/base/data/Predicate/definition";
8
8
  import { FiberId } from "@fncts/base/data/FiberId/definition";
9
- import { Both, Cause, Fail, Halt, Then } from "./definition.js";
9
+ import { Both, Cause, Fail, Halt, Interrupt, Then } from "./definition.js";
10
10
  /**
11
11
  * @tsplus fluent fncts.Cause as
12
12
  * @tsplus location "@fncts/base/data/Cause/api"
@@ -181,6 +181,12 @@ export declare function isHalt<E>(self: Cause<E>): self is Halt;
181
181
  * @tsplus location "@fncts/base/data/Cause/api"
182
182
  */
183
183
  export declare function isThen<E>(self: Cause<E>): self is Then<E>;
184
+ /**
185
+ * A type-guard matching `Interrupt`
186
+ * @tsplus fluent fncts.Cause isInterrupt
187
+ * @tsplus location "@fncts/base/data/Cause/api"
188
+ */
189
+ export declare function isInterrupt<E>(self: Cause<E>): self is Interrupt;
184
190
  /**
185
191
  * A type-guard matching `Traced`
186
192
  * @tsplus getter fncts.Cause isTraced
@@ -1,4 +1,4 @@
1
- import type { Const } from "./definition.js";
1
+ import { Const } from "./definition.js";
2
2
  /**
3
3
  * @tsplus fluent fncts.Const map
4
4
  * @tsplus location "@fncts/base/data/Const/api"
@@ -1,12 +1,29 @@
1
+ import { HKT } from "@fncts/typelevel/HKT";
1
2
  /**
2
- * @tsplus type fncts.Const
3
+ * @tsplus type fncts.ConstF
3
4
  */
4
- export declare type Const<E, A> = E & {
5
- readonly _A: A;
6
- };
5
+ export interface ConstF extends Const<any, any> {
6
+ }
7
7
  /**
8
- * @tsplus type fncts.ConstOps
8
+ * @tsplus type fncts.ConstF
9
9
  */
10
- export interface ConstOps {
10
+ export interface Const1F<E> extends Const1<E, any> {
11
+ }
12
+ /**
13
+ * @tsplus type fncts.Const
14
+ * @tsplus companion fncts.ConstOps
15
+ */
16
+ export declare class Const<E, A> {
17
+ readonly getConst: E;
18
+ readonly [HKT.F]: ConstF;
19
+ readonly [HKT.E]: () => E;
20
+ readonly [HKT.A]: () => A;
21
+ readonly [HKT.T]: Const<HKT._E<this>, HKT._A<this>>;
22
+ constructor(getConst: E);
23
+ }
24
+ export interface Const1<E, A> {
25
+ readonly [HKT.F]: ConstF;
26
+ readonly [HKT.E]: () => E;
27
+ readonly [HKT.A]: () => A;
28
+ readonly [HKT.T]: Const<E, HKT._A<this>>;
11
29
  }
12
- export declare const Const: ConstOps;
@@ -1,20 +1,12 @@
1
- import { HKT } from "@fncts/typelevel/HKT";
2
- import { Const } from "@fncts/base/data/Const/definition";
3
- import * as P from "../../typeclass.js";
4
- export interface ConstF extends HKT {
5
- readonly type: Const<this["E"], this["A"]>;
6
- readonly variance: {
7
- E: "_";
8
- A: "_";
9
- };
10
- }
1
+ import type * as P from "../../typeclass.js";
2
+ import type { Const1F } from "@fncts/base/data/Const/definition";
11
3
  /**
12
4
  * @tsplus static fncts.ConstOps getApply
13
5
  * @tsplus location "@fncts/base/data/Const/instances"
14
6
  */
15
- export declare function getApply<E>(S: P.Semigroup<E>): P.Apply<ConstF, HKT.Fix<"E", E>>;
7
+ export declare function getApply<E>(S: P.Semigroup<E>): P.Apply<Const1F<E>>;
16
8
  /**
17
9
  * @tsplus static fncts.ConstOps getApplicative
18
10
  * @tsplus location "@fncts/base/data/Const/instances"
19
11
  */
20
- export declare function getApplicative<E>(M: P.Monoid<E>): P.Applicative<ConstF, HKT.Fix<"E", E>>;
12
+ export declare function getApplicative<E>(M: P.Monoid<E>): P.Applicative<Const1F<E>>;
@@ -0,0 +1,141 @@
1
+ import { Eval } from "@fncts/base/control/Eval/definition";
2
+ import { RoseTree } from "@fncts/base/collection/immutable/RoseTree";
3
+ import { Vector } from "@fncts/base/collection/immutable/Vector";
4
+ export declare const DecodeErrorTypeId: unique symbol;
5
+ export declare type DecodeErrorTypeId = typeof DecodeErrorTypeId;
6
+ export declare abstract class DecodeError {
7
+ readonly _typeId: DecodeErrorTypeId;
8
+ abstract render: Eval<RoseTree<string>>;
9
+ }
10
+ export declare class RequiredKeyError extends DecodeError {
11
+ readonly key: string;
12
+ readonly error: DecodeError;
13
+ readonly _tag = "RequiredKey";
14
+ constructor(key: string, error: DecodeError);
15
+ render: import("../../control/Eval").Eval<import("../../collection/immutable/RoseTree").RoseTree<string>>;
16
+ }
17
+ export declare class OptionalKeyError extends DecodeError {
18
+ readonly key: PropertyKey;
19
+ readonly error: DecodeError;
20
+ readonly _tag = "OptionalKey";
21
+ constructor(key: PropertyKey, error: DecodeError);
22
+ render: import("../../control/Eval").Eval<import("../../collection/immutable/RoseTree").RoseTree<string>>;
23
+ }
24
+ export declare class RequiredIndexError<I, E extends DecodeError> extends DecodeError {
25
+ readonly index: I;
26
+ readonly error: E;
27
+ readonly _tag = "RequiredIndex";
28
+ constructor(index: I, error: E);
29
+ render: import("../../control/Eval").Eval<import("../../collection/immutable/RoseTree").RoseTree<string>>;
30
+ }
31
+ export declare class OptionalIndexError<I, E extends DecodeError> extends DecodeError {
32
+ readonly index: I;
33
+ readonly error: E;
34
+ readonly _tag = "RequiredIndex";
35
+ constructor(index: I, error: E);
36
+ render: import("../../control/Eval").Eval<import("../../collection/immutable/RoseTree").RoseTree<string>>;
37
+ }
38
+ export declare class LazyError<E extends DecodeError> extends DecodeError {
39
+ readonly error: E;
40
+ readonly _tag = "Lazy";
41
+ constructor(error: E);
42
+ render: import("../../control/Eval").Eval<import("../../collection/immutable/RoseTree").RoseTree<string>>;
43
+ }
44
+ export declare class MemberError extends DecodeError {
45
+ readonly label: string;
46
+ readonly error: DecodeError;
47
+ readonly _tag = "Member";
48
+ constructor(label: string, error: DecodeError);
49
+ render: import("../../control/Eval").Eval<import("../../collection/immutable/RoseTree").RoseTree<string>>;
50
+ }
51
+ export declare class CompoundError<E extends DecodeError> extends DecodeError {
52
+ readonly name: string;
53
+ readonly errors: Vector<E>;
54
+ readonly _tag = "Compound";
55
+ constructor(name: string, errors: Vector<E>);
56
+ render: import("../../control/Eval").Eval<import("../../collection/immutable/RoseTree").RoseTree<string>>;
57
+ }
58
+ export declare class CompositionError<E extends DecodeError> extends DecodeError {
59
+ readonly errors: Vector<E>;
60
+ readonly _tag = "Composition";
61
+ constructor(errors: Vector<E>);
62
+ render: import("../../control/Eval").Eval<import("../../collection/immutable/RoseTree").RoseTree<string>>;
63
+ }
64
+ export declare class StringError extends DecodeError {
65
+ readonly actual: unknown;
66
+ readonly _tag = "String";
67
+ constructor(actual: unknown);
68
+ render: import("../../control/Eval").Eval<import("../../collection/immutable/RoseTree").RoseTree<string>>;
69
+ }
70
+ export declare class NumberError extends DecodeError {
71
+ readonly actual: unknown;
72
+ readonly _tag = "Number";
73
+ constructor(actual: unknown);
74
+ render: import("../../control/Eval").Eval<import("../../collection/immutable/RoseTree").RoseTree<string>>;
75
+ }
76
+ export declare class NaNError extends DecodeError {
77
+ readonly _tag = "NaN";
78
+ render: import("../../control/Eval").Eval<import("../../collection/immutable/RoseTree").RoseTree<string>>;
79
+ }
80
+ export declare class InfinityError extends DecodeError {
81
+ readonly _tag = "Infinity";
82
+ render: import("../../control/Eval").Eval<import("../../collection/immutable/RoseTree").RoseTree<string>>;
83
+ }
84
+ export declare class BooleanError extends DecodeError {
85
+ readonly actual: unknown;
86
+ readonly _tag = "Boolean";
87
+ constructor(actual: unknown);
88
+ render: import("../../control/Eval").Eval<import("../../collection/immutable/RoseTree").RoseTree<string>>;
89
+ }
90
+ export declare class PrimitiveError extends DecodeError {
91
+ readonly actual: unknown;
92
+ readonly name: string;
93
+ readonly _tag = "Primitive";
94
+ constructor(actual: unknown, name: string);
95
+ render: import("../../control/Eval").Eval<import("../../collection/immutable/RoseTree").RoseTree<string>>;
96
+ }
97
+ export declare class LiteralError<A extends string | number | boolean> extends DecodeError {
98
+ readonly actual: unknown;
99
+ readonly literals: Vector<A>;
100
+ readonly _tag = "Literal";
101
+ constructor(actual: unknown, literals: Vector<A>);
102
+ render: import("../../control/Eval").Eval<import("../../collection/immutable/RoseTree").RoseTree<string>>;
103
+ }
104
+ export declare class UnexpectedKeysError extends DecodeError {
105
+ readonly keys: Vector<string>;
106
+ readonly _tag = "UnexpectedKeys";
107
+ constructor(keys: Vector<string>);
108
+ render: import("../../control/Eval").Eval<import("../../collection/immutable/RoseTree").RoseTree<string>>;
109
+ }
110
+ export declare class UnexpectedIndicesError extends DecodeError {
111
+ readonly indices: Vector<number>;
112
+ readonly _tag = "UnexpectedIndices";
113
+ constructor(indices: Vector<number>);
114
+ render: import("../../control/Eval").Eval<import("../../collection/immutable/RoseTree").RoseTree<string>>;
115
+ }
116
+ export declare class MissingKeyError extends DecodeError {
117
+ readonly key: PropertyKey;
118
+ readonly _tag = "MissingKeys";
119
+ constructor(key: PropertyKey);
120
+ render: import("../../control/Eval").Eval<import("../../collection/immutable/RoseTree").RoseTree<string>>;
121
+ }
122
+ export declare class MissingIndicesError extends DecodeError {
123
+ readonly keys: Vector<PropertyKey>;
124
+ readonly _tag = "MissingIndices";
125
+ constructor(keys: Vector<PropertyKey>);
126
+ render: import("../../control/Eval").Eval<import("../../collection/immutable/RoseTree").RoseTree<string>>;
127
+ }
128
+ export declare class BrandedError extends DecodeError {
129
+ readonly name: string;
130
+ readonly brands: Vector<string>;
131
+ readonly _tag = "BrandedError";
132
+ constructor(name: string, brands: Vector<string>);
133
+ render: import("../../control/Eval").Eval<import("../../collection/immutable/RoseTree").RoseTree<string>>;
134
+ }
135
+ export declare class UnionError extends DecodeError {
136
+ readonly label: string;
137
+ readonly errors: Vector<DecodeError>;
138
+ readonly _tag = "UnionError";
139
+ constructor(label: string, errors: Vector<DecodeError>);
140
+ render: import("../../control/Eval").Eval<import("../../collection/immutable/RoseTree").RoseTree<string>>;
141
+ }
@@ -0,0 +1 @@
1
+ export * from "./DecodeError/definition.js";
@@ -0,0 +1,65 @@
1
+ import { These } from "@fncts/base/data/These";
2
+ import { Guard } from "@fncts/base/typeclass/Guard";
3
+ import type { DecodeError } from "@fncts/base/data/DecodeError";
4
+ import type { Check } from "@fncts/typelevel/Check";
5
+ import type { OptionalKeys, RequiredKeys } from "@fncts/typelevel/Object";
6
+ import { Decoder } from "@fncts/base/data/Decoder/definition";
7
+ /**
8
+ * @tsplus fluent fncts.Decoder __call
9
+ * @tsplus location "@fncts/base/data/Decoder/api"
10
+ */
11
+ export declare function decode<I, E, A>(self: Decoder<A>, input: unknown): These<DecodeError, A>;
12
+ export declare function fromGuard<A>(guard: Guard<A>, onFalse: (i: unknown) => DecodeError, label: string): Decoder<A>;
13
+ /**
14
+ * @tsplus implicit
15
+ * @tsplus location "@fncts/base/data/Decoder/api"
16
+ */
17
+ export declare const string: Decoder<string>;
18
+ /**
19
+ * @tsplus implicit
20
+ * @tsplus location "@fncts/base/data/Decoder/api"
21
+ */
22
+ export declare const number: Decoder<number>;
23
+ /**
24
+ * @tsplus implicit
25
+ * @tsplus location "@fncts/base/data/Decoder/api"
26
+ */
27
+ export declare const boolean: Decoder<boolean>;
28
+ /**
29
+ * @tsplus implicit
30
+ * @tsplus location "@fncts/base/data/Decoder/api"
31
+ */
32
+ export declare const record: Decoder<{}>;
33
+ /**
34
+ * @tsplus derive fncts.Decoder lazy
35
+ * @tsplus location "@fncts/base/data/Decoder/api"
36
+ */
37
+ export declare function deriveLazy<A>(f: (_: Decoder<A>) => Decoder<A>): Decoder<A>;
38
+ /**
39
+ * @tsplus derive fncts.Decoder<_> 20
40
+ * @tsplus location "@fncts/base/data/Decoder/api"
41
+ */
42
+ export declare function deriveLiteral<A extends string | number | boolean>(...[value]: Check<Check.IsLiteral<A> & Check.Not<Check.IsUnion<A>>> extends Check.True ? [value: A] : never): Decoder<A>;
43
+ /**
44
+ * @tsplus derive fncts.Decoder<|> 30
45
+ * @tsplus location "@fncts/base/data/Decoder/api"
46
+ */
47
+ export declare function deriveUnion<A extends ReadonlyArray<unknown>>(...elements: {
48
+ [K in keyof A]: Decoder<A[K]>;
49
+ }): Decoder<A[number]>;
50
+ /**
51
+ * @tsplus derive fncts.Decoder<_> 10
52
+ * @tsplus location "@fncts/base/data/Decoder/api"
53
+ */
54
+ export declare function deriveStruct<A extends Record<string, any>>(...[requiredFields, optionalFields]: Check<Check.IsStruct<A>> extends Check.True ? [
55
+ ...[
56
+ requiredFields: {
57
+ [k in RequiredKeys<A>]: Decoder<A[k]>;
58
+ }
59
+ ],
60
+ ...([OptionalKeys<A>] extends [never] ? [] : [
61
+ optionalFields: {
62
+ [k in OptionalKeys<A>]: Decoder<NonNullable<A[k]>>;
63
+ }
64
+ ])
65
+ ] : never): Decoder<A>;
@@ -0,0 +1,25 @@
1
+ import { HKT } from "@fncts/typelevel/HKT";
2
+ import { These } from "@fncts/base/data/These";
3
+ import type { DecodeError } from "@fncts/base/data/DecodeError";
4
+ export declare const DecoderTypeId: unique symbol;
5
+ export declare type DecoderTypeId = typeof DecoderTypeId;
6
+ export interface DecoderF extends Decoder<any> {
7
+ }
8
+ /**
9
+ * @tsplus type fncts.Decoder
10
+ * @tsplus companion fncts.DecoderOps
11
+ */
12
+ export declare class Decoder<A> {
13
+ readonly decode: (input: unknown) => These<DecodeError, A>;
14
+ readonly label: string;
15
+ readonly _typeId: DecoderTypeId;
16
+ readonly [HKT.F]: DecoderF;
17
+ readonly [HKT.A]: () => A;
18
+ readonly [HKT.T]: Decoder<HKT._A<this>>;
19
+ constructor(decode: (input: unknown) => These<DecodeError, A>, label: string);
20
+ }
21
+ /**
22
+ * @tsplus static fncts.DecoderOps __call
23
+ * @tsplus location "@fncts/base/data/Decoder/definition"
24
+ */
25
+ export declare function makeDecoder<A>(decode: (input: unknown) => These<DecodeError, A>, label: string): Decoder<A>;
@@ -0,0 +1,2 @@
1
+ export * from "./Decoder/api.js";
2
+ export * from "./Decoder/definition.js";
@@ -1,45 +1,44 @@
1
1
  import { Duration } from "@fncts/base/data/Duration/definition";
2
- import type { IsInt } from "@fncts/base/types";
3
2
  /**
4
3
  * @tsplus getter fncts.Number milliseconds
5
4
  * @tsplus static fncts.DurationOps milliseconds
6
5
  * @tsplus location "@fncts/base/data/Duration/api"
7
6
  */
8
- export declare function milliseconds<N extends number>(self: IsInt<N>): Duration;
7
+ export declare function milliseconds(self: number): Duration;
9
8
  /**
10
9
  * @tsplus getter fncts.Number seconds
11
10
  * @tsplus static fncts.DurationOps seconds
12
11
  * @tsplus location "@fncts/base/data/Duration/api"
13
12
  */
14
- export declare function seconds<N extends number>(self: IsInt<N>): Duration;
13
+ export declare function seconds(self: number): Duration;
15
14
  /**
16
15
  * @tsplus getter fncts.Number minutes
17
16
  * @tsplus static fncts.DurationOps minutes
18
17
  * @tsplus location "@fncts/base/data/Duration/api"
19
18
  */
20
- export declare function minutes<N extends number>(self: IsInt<N>): Duration;
19
+ export declare function minutes(self: number): Duration;
21
20
  /**
22
21
  * @tsplus getter fncts.Number hours
23
22
  * @tsplus static fncts.DurationOps hours
24
23
  * @tsplus location "@fncts/base/data/Duration/api"
25
24
  */
26
- export declare function hours<N extends number>(self: IsInt<N>): Duration;
25
+ export declare function hours(self: number): Duration;
27
26
  /**
28
27
  * @tsplus getter fncts.Number days
29
28
  * @tsplus static fncts.DurationOps days
30
29
  * @tsplus location "@fncts/base/data/Duration/api"
31
30
  */
32
- export declare function days<N extends number>(self: IsInt<N>): Duration;
31
+ export declare function days(self: number): Duration;
33
32
  /**
34
33
  * @tsplus operator fncts.Duration *
35
34
  * @tsplus location "@fncts/base/data/Duration/api"
36
35
  */
37
- export declare function mult<N extends number>(self: Duration, multiplicand: IsInt<N>): import("./definition").Duration;
36
+ export declare function mult(self: Duration, multiplicand: number): import("./definition").Duration;
38
37
  /**
39
38
  * @tsplus operator fncts.Duration *
40
39
  * @tsplus location "@fncts/base/data/Duration/api"
41
40
  */
42
- export declare function multInverted<N extends number>(multiplicand: IsInt<N>, self: Duration): import("./definition").Duration;
41
+ export declare function multInverted(multiplicand: number, self: Duration): import("./definition").Duration;
43
42
  /**
44
43
  * @tsplus operator fncts.Duration +
45
44
  * @tsplus location "@fncts/base/data/Duration/api"
@@ -50,3 +49,8 @@ export declare function sum(self: Duration, that: Duration): Duration;
50
49
  * @tsplus location "@fncts/base/data/Duration/api"
51
50
  */
52
51
  export declare function difference(self: Duration, that: Duration): Duration;
52
+ /**
53
+ * @tsplus static fncts.DurationOps fromInterval
54
+ * @tsplus location "@fncts/base/data/Duration/api"
55
+ */
56
+ export declare function fromInterval(start: number, end: number): Duration;