@fncts/base 0.0.2 → 0.0.5

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