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