@fncts/base 0.0.26 → 0.0.28

Sign up to get free protection for your applications and to get access to all the features.
Files changed (301) hide show
  1. package/_cjs/collection/Iterable/api.cjs +3 -2
  2. package/_cjs/collection/Iterable/api.cjs.map +1 -1
  3. package/_cjs/collection/immutable/Conc/api.cjs +25 -12
  4. package/_cjs/collection/immutable/Conc/api.cjs.map +1 -1
  5. package/_cjs/collection/immutable/HashMap/api.cjs +20 -8
  6. package/_cjs/collection/immutable/HashMap/api.cjs.map +1 -1
  7. package/_cjs/collection/immutable/HashMap/definition.cjs +3 -2
  8. package/_cjs/collection/immutable/HashMap/definition.cjs.map +1 -1
  9. package/_cjs/collection/immutable/HashMap/internal.cjs +9 -7
  10. package/_cjs/collection/immutable/HashMap/internal.cjs.map +1 -1
  11. package/_cjs/collection/immutable/HashSet/api.cjs +7 -6
  12. package/_cjs/collection/immutable/HashSet/api.cjs.map +1 -1
  13. package/_cjs/collection/immutable/ImmutableArray/api.cjs +18 -17
  14. package/_cjs/collection/immutable/ImmutableArray/api.cjs.map +1 -1
  15. package/_cjs/collection/immutable/ImmutableNonEmptyArray/constructors.cjs +2 -1
  16. package/_cjs/collection/immutable/ImmutableNonEmptyArray/constructors.cjs.map +1 -1
  17. package/_cjs/collection/immutable/List/api.cjs +3 -2
  18. package/_cjs/collection/immutable/List/api.cjs.map +1 -1
  19. package/_cjs/collection/immutable/List/definition.cjs +19 -4
  20. package/_cjs/collection/immutable/List/definition.cjs.map +1 -1
  21. package/_cjs/collection/immutable/Queue/api.cjs +7 -6
  22. package/_cjs/collection/immutable/Queue/api.cjs.map +1 -1
  23. package/_cjs/collection/immutable/RoseTree/api.cjs +1 -1
  24. package/_cjs/collection/immutable/RoseTree/api.cjs.map +1 -1
  25. package/_cjs/collection/immutable/SortedMap/api.cjs +23 -22
  26. package/_cjs/collection/immutable/SortedMap/api.cjs.map +1 -1
  27. package/_cjs/collection/immutable/SortedMap/iterator.cjs +7 -6
  28. package/_cjs/collection/immutable/SortedMap/iterator.cjs.map +1 -1
  29. package/_cjs/collection/immutable/Vector/api.cjs +62 -19
  30. package/_cjs/collection/immutable/Vector/api.cjs.map +1 -1
  31. package/_cjs/collection/immutable/Vector/definition.cjs.map +1 -1
  32. package/_cjs/collection/mutable/HashMap.cjs +6 -19
  33. package/_cjs/collection/mutable/HashMap.cjs.map +1 -1
  34. package/_cjs/control/CompletablePromise.cjs +21 -0
  35. package/_cjs/control/CompletablePromise.cjs.map +1 -0
  36. package/_cjs/control/Z/api.cjs +1 -1
  37. package/_cjs/control/Z/api.cjs.map +1 -1
  38. package/_cjs/control/Z/runtime.cjs +2 -2
  39. package/_cjs/control/Z/runtime.cjs.map +1 -1
  40. package/_cjs/data/Branded/definition.cjs +4 -3
  41. package/_cjs/data/Branded/definition.cjs.map +1 -1
  42. package/_cjs/data/Cause/api/fold.cjs +8 -7
  43. package/_cjs/data/Cause/api/fold.cjs.map +1 -1
  44. package/_cjs/data/Cause/api.cjs +124 -128
  45. package/_cjs/data/Cause/api.cjs.map +1 -1
  46. package/_cjs/data/DatumEither/api.cjs +5 -4
  47. package/_cjs/data/DatumEither/api.cjs.map +1 -1
  48. package/_cjs/data/Decoder/api.cjs +2 -1
  49. package/_cjs/data/Decoder/api.cjs.map +1 -1
  50. package/_cjs/data/Either/api/alignWith.cjs +2 -1
  51. package/_cjs/data/Either/api/alignWith.cjs.map +1 -1
  52. package/_cjs/data/Either/api.cjs +25 -16
  53. package/_cjs/data/Either/api.cjs.map +1 -1
  54. package/_cjs/data/Either/constructors.cjs +10 -9
  55. package/_cjs/data/Either/constructors.cjs.map +1 -1
  56. package/_cjs/data/Either/definition.cjs +34 -6
  57. package/_cjs/data/Either/definition.cjs.map +1 -1
  58. package/_cjs/data/Either/instances.cjs +7 -6
  59. package/_cjs/data/Either/instances.cjs.map +1 -1
  60. package/_cjs/data/EitherT/api.cjs +4 -3
  61. package/_cjs/data/EitherT/api.cjs.map +1 -1
  62. package/_cjs/data/Eq/api.cjs +20 -0
  63. package/_cjs/data/Eq/api.cjs.map +1 -0
  64. package/_cjs/data/Eq.cjs +11 -0
  65. package/_cjs/data/Eq.cjs.map +1 -1
  66. package/_cjs/data/Equatable/api.cjs +39 -11
  67. package/_cjs/data/Equatable/api.cjs.map +1 -1
  68. package/_cjs/data/Equatable/definition.cjs +1 -1
  69. package/_cjs/data/Equatable/definition.cjs.map +1 -1
  70. package/_cjs/data/Exit/api.cjs +32 -6
  71. package/_cjs/data/Exit/api.cjs.map +1 -1
  72. package/_cjs/data/Exit/constructors.cjs +13 -12
  73. package/_cjs/data/Exit/constructors.cjs.map +1 -1
  74. package/_cjs/data/Exit/definition.cjs +11 -6
  75. package/_cjs/data/Exit/definition.cjs.map +1 -1
  76. package/_cjs/data/FiberId/api.cjs +16 -15
  77. package/_cjs/data/FiberId/api.cjs.map +1 -1
  78. package/_cjs/data/Interval.cjs +2 -1
  79. package/_cjs/data/Interval.cjs.map +1 -1
  80. package/_cjs/data/Maybe/api.cjs +8 -7
  81. package/_cjs/data/Maybe/api.cjs.map +1 -1
  82. package/_cjs/data/Maybe/constructors.cjs +11 -11
  83. package/_cjs/data/Maybe/constructors.cjs.map +1 -1
  84. package/_cjs/data/Maybe/definition.cjs +10 -5
  85. package/_cjs/data/Maybe/definition.cjs.map +1 -1
  86. package/_cjs/data/Maybe/instances.cjs +30 -8
  87. package/_cjs/data/Maybe/instances.cjs.map +1 -1
  88. package/_cjs/data/Showable/show.cjs +2 -2
  89. package/_cjs/data/Showable/show.cjs.map +1 -1
  90. package/_cjs/data/These/destructors.cjs +3 -2
  91. package/_cjs/data/These/destructors.cjs.map +1 -1
  92. package/_cjs/data/exceptions/IOError.cjs +25 -0
  93. package/_cjs/data/exceptions/IOError.cjs.map +1 -0
  94. package/_cjs/data/exceptions/NoSuchElementError.cjs.map +1 -1
  95. package/_cjs/data/exceptions.cjs +11 -0
  96. package/_cjs/data/exceptions.cjs.map +1 -1
  97. package/_cjs/optics/Lens/definition.cjs +2 -1
  98. package/_cjs/optics/Lens/definition.cjs.map +1 -1
  99. package/_cjs/optics/Prism/api/just.cjs +2 -1
  100. package/_cjs/optics/Prism/api/just.cjs.map +1 -1
  101. package/_cjs/typeclass/ApplicativeExcept.cjs +2 -1
  102. package/_cjs/typeclass/ApplicativeExcept.cjs.map +1 -1
  103. package/_cjs/typeclass/Semialign.cjs +2 -1
  104. package/_cjs/typeclass/Semialign.cjs.map +1 -1
  105. package/_cjs/typeclass/Witherable.cjs +2 -1
  106. package/_cjs/typeclass/Witherable.cjs.map +1 -1
  107. package/_cjs/typeclass/WitherableWithIndex.cjs +2 -1
  108. package/_cjs/typeclass/WitherableWithIndex.cjs.map +1 -1
  109. package/_cjs/typeclass.cjs +2 -2
  110. package/_cjs/types.cjs +0 -11
  111. package/_cjs/types.cjs.map +1 -1
  112. package/_cjs/util/predicates.cjs +4 -0
  113. package/_cjs/util/predicates.cjs.map +1 -1
  114. package/_cjs/util/rand/Random.cjs.map +1 -1
  115. package/_mjs/collection/Iterable/api.mjs +3 -2
  116. package/_mjs/collection/Iterable/api.mjs.map +1 -1
  117. package/_mjs/collection/immutable/Conc/api.mjs +24 -12
  118. package/_mjs/collection/immutable/Conc/api.mjs.map +1 -1
  119. package/_mjs/collection/immutable/HashMap/api.mjs +19 -8
  120. package/_mjs/collection/immutable/HashMap/api.mjs.map +1 -1
  121. package/_mjs/collection/immutable/HashMap/definition.mjs +3 -2
  122. package/_mjs/collection/immutable/HashMap/definition.mjs.map +1 -1
  123. package/_mjs/collection/immutable/HashMap/internal.mjs +8 -7
  124. package/_mjs/collection/immutable/HashMap/internal.mjs.map +1 -1
  125. package/_mjs/collection/immutable/HashSet/api.mjs +7 -6
  126. package/_mjs/collection/immutable/HashSet/api.mjs.map +1 -1
  127. package/_mjs/collection/immutable/ImmutableArray/api.mjs +18 -17
  128. package/_mjs/collection/immutable/ImmutableArray/api.mjs.map +1 -1
  129. package/_mjs/collection/immutable/ImmutableNonEmptyArray/constructors.mjs +2 -1
  130. package/_mjs/collection/immutable/ImmutableNonEmptyArray/constructors.mjs.map +1 -1
  131. package/_mjs/collection/immutable/List/api.mjs +3 -2
  132. package/_mjs/collection/immutable/List/api.mjs.map +1 -1
  133. package/_mjs/collection/immutable/List/definition.mjs +13 -2
  134. package/_mjs/collection/immutable/List/definition.mjs.map +1 -1
  135. package/_mjs/collection/immutable/Queue/api.mjs +7 -6
  136. package/_mjs/collection/immutable/Queue/api.mjs.map +1 -1
  137. package/_mjs/collection/immutable/RoseTree/api.mjs +1 -1
  138. package/_mjs/collection/immutable/RoseTree/api.mjs.map +1 -1
  139. package/_mjs/collection/immutable/SortedMap/api.mjs +23 -22
  140. package/_mjs/collection/immutable/SortedMap/api.mjs.map +1 -1
  141. package/_mjs/collection/immutable/SortedMap/iterator.mjs +7 -6
  142. package/_mjs/collection/immutable/SortedMap/iterator.mjs.map +1 -1
  143. package/_mjs/collection/immutable/Vector/api.mjs +54 -16
  144. package/_mjs/collection/immutable/Vector/api.mjs.map +1 -1
  145. package/_mjs/collection/immutable/Vector/definition.mjs.map +1 -1
  146. package/_mjs/collection/mutable/HashMap.mjs +6 -5
  147. package/_mjs/collection/mutable/HashMap.mjs.map +1 -1
  148. package/_mjs/control/CompletablePromise.mjs +15 -0
  149. package/_mjs/control/CompletablePromise.mjs.map +1 -0
  150. package/_mjs/control/Z/api.mjs +1 -1
  151. package/_mjs/control/Z/api.mjs.map +1 -1
  152. package/_mjs/control/Z/runtime.mjs +2 -2
  153. package/_mjs/control/Z/runtime.mjs.map +1 -1
  154. package/_mjs/data/Branded/definition.mjs +4 -3
  155. package/_mjs/data/Branded/definition.mjs.map +1 -1
  156. package/_mjs/data/Cause/api/fold.mjs +8 -7
  157. package/_mjs/data/Cause/api/fold.mjs.map +1 -1
  158. package/_mjs/data/Cause/api.mjs +123 -127
  159. package/_mjs/data/Cause/api.mjs.map +1 -1
  160. package/_mjs/data/DatumEither/api.mjs +5 -4
  161. package/_mjs/data/DatumEither/api.mjs.map +1 -1
  162. package/_mjs/data/Decoder/api.mjs +2 -1
  163. package/_mjs/data/Decoder/api.mjs.map +1 -1
  164. package/_mjs/data/Either/api/alignWith.mjs +2 -1
  165. package/_mjs/data/Either/api/alignWith.mjs.map +1 -1
  166. package/_mjs/data/Either/api.mjs +22 -15
  167. package/_mjs/data/Either/api.mjs.map +1 -1
  168. package/_mjs/data/Either/constructors.mjs +10 -9
  169. package/_mjs/data/Either/constructors.mjs.map +1 -1
  170. package/_mjs/data/Either/definition.mjs +30 -4
  171. package/_mjs/data/Either/definition.mjs.map +1 -1
  172. package/_mjs/data/Either/instances.mjs +7 -6
  173. package/_mjs/data/Either/instances.mjs.map +1 -1
  174. package/_mjs/data/EitherT/api.mjs +4 -3
  175. package/_mjs/data/EitherT/api.mjs.map +1 -1
  176. package/_mjs/data/Eq/api.mjs +12 -0
  177. package/_mjs/data/Eq/api.mjs.map +1 -0
  178. package/_mjs/data/Eq.mjs +1 -0
  179. package/_mjs/data/Eq.mjs.map +1 -1
  180. package/_mjs/data/Equatable/api.mjs +35 -8
  181. package/_mjs/data/Equatable/api.mjs.map +1 -1
  182. package/_mjs/data/Equatable/definition.mjs +1 -1
  183. package/_mjs/data/Equatable/definition.mjs.map +1 -1
  184. package/_mjs/data/Exit/api.mjs +30 -6
  185. package/_mjs/data/Exit/api.mjs.map +1 -1
  186. package/_mjs/data/Exit/constructors.mjs +13 -12
  187. package/_mjs/data/Exit/constructors.mjs.map +1 -1
  188. package/_mjs/data/Exit/definition.mjs +11 -6
  189. package/_mjs/data/Exit/definition.mjs.map +1 -1
  190. package/_mjs/data/FiberId/api.mjs +16 -15
  191. package/_mjs/data/FiberId/api.mjs.map +1 -1
  192. package/_mjs/data/Interval.mjs +2 -1
  193. package/_mjs/data/Interval.mjs.map +1 -1
  194. package/_mjs/data/Maybe/api.mjs +8 -7
  195. package/_mjs/data/Maybe/api.mjs.map +1 -1
  196. package/_mjs/data/Maybe/constructors.mjs +11 -11
  197. package/_mjs/data/Maybe/constructors.mjs.map +1 -1
  198. package/_mjs/data/Maybe/definition.mjs +10 -5
  199. package/_mjs/data/Maybe/definition.mjs.map +1 -1
  200. package/_mjs/data/Maybe/instances.mjs +30 -8
  201. package/_mjs/data/Maybe/instances.mjs.map +1 -1
  202. package/_mjs/data/Showable/show.mjs +2 -2
  203. package/_mjs/data/Showable/show.mjs.map +1 -1
  204. package/_mjs/data/These/destructors.mjs +3 -2
  205. package/_mjs/data/These/destructors.mjs.map +1 -1
  206. package/_mjs/data/exceptions/IOError.mjs +14 -0
  207. package/_mjs/data/exceptions/IOError.mjs.map +1 -0
  208. package/_mjs/data/exceptions/NoSuchElementError.mjs.map +1 -1
  209. package/_mjs/data/exceptions.mjs +1 -0
  210. package/_mjs/data/exceptions.mjs.map +1 -1
  211. package/_mjs/optics/Lens/definition.mjs +2 -1
  212. package/_mjs/optics/Lens/definition.mjs.map +1 -1
  213. package/_mjs/optics/Prism/api/just.mjs +2 -1
  214. package/_mjs/optics/Prism/api/just.mjs.map +1 -1
  215. package/_mjs/typeclass/ApplicativeExcept.mjs +2 -1
  216. package/_mjs/typeclass/ApplicativeExcept.mjs.map +1 -1
  217. package/_mjs/typeclass/Semialign.mjs +2 -1
  218. package/_mjs/typeclass/Semialign.mjs.map +1 -1
  219. package/_mjs/typeclass/Witherable.mjs +2 -1
  220. package/_mjs/typeclass/Witherable.mjs.map +1 -1
  221. package/_mjs/typeclass/WitherableWithIndex.mjs +2 -1
  222. package/_mjs/typeclass/WitherableWithIndex.mjs.map +1 -1
  223. package/_mjs/typeclass.mjs +1 -1
  224. package/_mjs/typeclass.mjs.map +1 -1
  225. package/_mjs/types.mjs +0 -1
  226. package/_mjs/types.mjs.map +1 -1
  227. package/_mjs/util/predicates.mjs +3 -0
  228. package/_mjs/util/predicates.mjs.map +1 -1
  229. package/_mjs/util/rand/Random.mjs +2 -1
  230. package/_mjs/util/rand/Random.mjs.map +1 -1
  231. package/_src/collection/immutable/Conc/api.ts +12 -0
  232. package/_src/collection/immutable/HashMap/api.ts +11 -0
  233. package/_src/collection/immutable/HashMap/internal.ts +1 -1
  234. package/_src/collection/immutable/HashSet/api.ts +4 -4
  235. package/_src/collection/immutable/List/definition.ts +14 -2
  236. package/_src/collection/immutable/RoseTree/api.ts +1 -1
  237. package/_src/collection/immutable/Vector/api.ts +64 -2
  238. package/_src/collection/immutable/Vector/definition.ts +1 -0
  239. package/_src/control/CompletablePromise.ts +23 -0
  240. package/_src/control.ts +1 -0
  241. package/_src/data/Branded/definition.ts +3 -3
  242. package/_src/data/Cause/api.ts +33 -40
  243. package/_src/data/Either/api.ts +10 -0
  244. package/_src/data/Either/constructors.ts +4 -4
  245. package/_src/data/Either/definition.ts +29 -2
  246. package/_src/data/Eq/api.ts +8 -0
  247. package/_src/data/Eq.ts +1 -0
  248. package/_src/data/Equatable/api.ts +33 -8
  249. package/_src/data/Equatable/definition.ts +6 -2
  250. package/_src/data/Exit/api.ts +26 -0
  251. package/_src/data/Exit/constructors.ts +7 -7
  252. package/_src/data/Exit/definition.ts +9 -4
  253. package/_src/data/FiberId/api.ts +5 -5
  254. package/_src/data/Maybe/constructors.ts +4 -6
  255. package/_src/data/Maybe/definition.ts +9 -1
  256. package/_src/data/Maybe/instances.ts +18 -0
  257. package/_src/data/Showable/show.ts +2 -2
  258. package/_src/data/exceptions/IOError.ts +11 -0
  259. package/_src/data/exceptions/NoSuchElementError.ts +1 -1
  260. package/_src/data/exceptions.ts +1 -0
  261. package/_src/data.ts +1 -0
  262. package/_src/typeclass.ts +1 -1
  263. package/_src/types.ts +0 -1
  264. package/_src/util/predicates.ts +4 -0
  265. package/collection/immutable/Conc/api.d.ts +5 -0
  266. package/collection/immutable/HashMap/api.d.ts +5 -0
  267. package/collection/immutable/HashMap/internal.d.ts +1 -2
  268. package/collection/immutable/List/definition.d.ts +9 -0
  269. package/collection/immutable/Vector/api.d.ts +30 -3
  270. package/collection/immutable/Vector/definition.d.ts +1 -0
  271. package/control/CompletablePromise.d.ts +13 -0
  272. package/control.d.ts +1 -0
  273. package/data/Branded/definition.d.ts +3 -2
  274. package/data/Cause/api.d.ts +1 -1
  275. package/data/Either/api.d.ts +5 -0
  276. package/data/Either/constructors.d.ts +2 -2
  277. package/data/Either/definition.d.ts +15 -2
  278. package/data/Eq/api.d.ts +6 -0
  279. package/data/Eq.d.ts +1 -0
  280. package/data/Equatable/api.d.ts +7 -1
  281. package/data/Equatable/definition.d.ts +4 -1
  282. package/data/Exit/api.d.ts +12 -0
  283. package/data/Exit/constructors.d.ts +5 -5
  284. package/data/Exit/definition.d.ts +9 -2
  285. package/data/Maybe/constructors.d.ts +2 -2
  286. package/data/Maybe/definition.d.ts +9 -1
  287. package/data/Maybe/instances.d.ts +24 -0
  288. package/data/exceptions/IOError.d.ts +9 -0
  289. package/data/exceptions/NoSuchElementError.d.ts +1 -1
  290. package/data/exceptions.d.ts +1 -0
  291. package/data.d.ts +1 -0
  292. package/package.json +1 -1
  293. package/typeclass.d.ts +1 -1
  294. package/types.d.ts +0 -1
  295. package/util/predicates.d.ts +1 -0
  296. package/_cjs/types/test.cjs +0 -6
  297. package/_cjs/types/test.cjs.map +0 -1
  298. package/_mjs/types/test.mjs +0 -2
  299. package/_mjs/types/test.mjs.map +0 -1
  300. package/_src/types/test.ts +0 -0
  301. package/types/test.d.ts +0 -1
@@ -29,11 +29,12 @@ export declare namespace Brand {
29
29
  */
30
30
  export declare class Validation<in out A, in out K extends string> {
31
31
  readonly validate: Refinement<A, A & Brand.Valid<A, K>>;
32
- constructor(validate: Refinement<A, A & Brand.Valid<A, K>>);
32
+ readonly name: K;
33
+ constructor(validate: Refinement<A, A & Brand.Valid<A, K>>, name: K);
33
34
  }
34
35
  /**
35
36
  * @tsplus static fncts.ValidationOps __call
36
37
  * @tsplus location "@fncts/base/data/Branded/definition"
37
38
  */
38
- export declare function makeValidation<A, K extends string>(p: Predicate<A>): Validation<A, K>;
39
+ export declare function makeValidation<A, K extends string>(p: Predicate<A>, name: K): Validation<A, K>;
39
40
  export {};
@@ -12,7 +12,7 @@ import { Both, Cause, Fail, Halt, Interrupt, Then } from "./definition.js";
12
12
  * @tsplus pipeable fncts.Cause as
13
13
  * @tsplus location "@fncts/base/data/Cause/api"
14
14
  */
15
- export declare function as_<B>(b: Lazy<B>): <A>(self: Cause<A>) => Cause<B>;
15
+ export declare function as<B>(b: Lazy<B>): <A>(self: Cause<A>) => Cause<B>;
16
16
  /**
17
17
  * Constructs a `Cause` from two `Cause`s, representing parallel failures.
18
18
  * @note If one of the `Cause`s is `Empty`, the non-empty `Cause` is returned
@@ -146,5 +146,10 @@ export declare function partitionMap<E, A, B, C>(f: (a: A) => Either<B, C>, /**
146
146
  * @tsplus location "@fncts/base/data/Either/api"
147
147
  */
148
148
  export declare function partition<E, A>(p: Predicate<A>, /** @tsplus auto */ M: P.Monoid<E>): (self: Either<E, A>) => readonly [Either<E, A>, Either<E, A>];
149
+ /**
150
+ * @tsplus getter fncts.Either toMaybe
151
+ * @tsplus location "@fncts/base/data/Either/api"
152
+ */
153
+ export declare function toMaybe<E, A>(self: Either<E, A>): Maybe<A>;
149
154
  export * from "./api/align.js";
150
155
  export * from "./api/alignWith.js";
@@ -9,13 +9,13 @@ import { Either } from "./definition.js";
9
9
  * @tsplus static fncts.Either.LeftOps __call
10
10
  * @tsplus location "@fncts/base/data/Either/constructors"
11
11
  */
12
- export declare function left<E = never, A = never>(e: E): Either<E, A>;
12
+ export declare function left<E = never, A = never>(e: E, __tsplusTrace?: string): Either<E, A>;
13
13
  /**
14
14
  * @tsplus static fncts.EitherOps right
15
15
  * @tsplus static fncts.Either.RightOps __call
16
16
  * @tsplus location "@fncts/base/data/Either/constructors"
17
17
  */
18
- export declare function right<E = never, A = never>(a: A): Either<E, A>;
18
+ export declare function right<E = never, A = never>(a: A, __tsplusTrace?: string): Either<E, A>;
19
19
  /**
20
20
  * @tsplus static fncts.EitherOps fromMaybe
21
21
  * @tsplus pipeable fncts.Maybe toEither
@@ -1,4 +1,6 @@
1
1
  import { HKT } from "@fncts/typelevel/HKT";
2
+ import { Hashable } from "@fncts/base/data/Hashable";
3
+ import type { EqualsContext } from "@fncts/base/data/Equatable";
2
4
  export declare const enum EitherTag {
3
5
  Left = "Left",
4
6
  Right = "Right"
@@ -14,12 +16,16 @@ export interface EitherF extends HKT {
14
16
  A: "+";
15
17
  };
16
18
  }
19
+ declare const IOTypeId: unique symbol;
20
+ type IOTypeId = typeof IOTypeId;
17
21
  /**
18
22
  * @tsplus type fncts.Either
19
23
  * @tsplus companion fncts.EitherOps
20
24
  */
21
25
  export declare class Either<E, A> {
22
26
  readonly [EitherTypeId]: EitherTypeId;
27
+ readonly [IOTypeId]: IOTypeId;
28
+ readonly trace?: string | undefined;
23
29
  [EitherVariance]: {
24
30
  readonly _E: (_: never) => E;
25
31
  readonly _A: (_: never) => A;
@@ -31,8 +37,11 @@ export declare class Either<E, A> {
31
37
  */
32
38
  export declare class Left<E> extends Either<E, never> {
33
39
  readonly left: E;
40
+ readonly trace?: string | undefined;
34
41
  readonly _tag = EitherTag.Left;
35
- constructor(left: E);
42
+ constructor(left: E, trace?: string | undefined);
43
+ get [Symbol.hash](): number;
44
+ [Symbol.equals](that: unknown, context: EqualsContext): boolean;
36
45
  }
37
46
  /**
38
47
  * @tsplus type fncts.Either.Right
@@ -40,8 +49,11 @@ export declare class Left<E> extends Either<E, never> {
40
49
  */
41
50
  export declare class Right<A> extends Either<never, A> {
42
51
  readonly right: A;
52
+ readonly trace?: string | undefined;
43
53
  readonly _tag = EitherTag.Right;
44
- constructor(right: A);
54
+ constructor(right: A, trace?: string | undefined);
55
+ get [Symbol.hash](): number;
56
+ [Symbol.equals](that: unknown, context: EqualsContext): boolean;
45
57
  }
46
58
  /**
47
59
  * @tsplus unify fncts.Either
@@ -54,3 +66,4 @@ export declare function unifyEither<X extends Either<any, any>>(self: X): Either
54
66
  * @tsplus location "@fncts/base/data/Either/definition"
55
67
  */
56
68
  export declare function concrete<E, A>(self: Either<E, A>): asserts self is Left<E> | Right<A>;
69
+ export {};
@@ -0,0 +1,6 @@
1
+ import { Eq } from "@fncts/base/data/Eq/definition";
2
+ /**
3
+ * @tsplus pipeable fncts.Eq contramap
4
+ * @tsplus location "@fncts/base/data/Eq/api"
5
+ */
6
+ export declare function contramap<A, B>(f: (b: B) => A): (self: Eq<A>) => Eq<B>;
package/data/Eq.d.ts CHANGED
@@ -1,2 +1,3 @@
1
+ export * from "./Eq/api.js";
1
2
  export * from "./Eq/definition.js";
2
3
  export {} from "./Eq/derivations.js";
@@ -2,10 +2,16 @@
2
2
  * @tsplus static fncts.EquatableOps deepEquals
3
3
  * @tsplus location "@fncts/base/data/Equatable/api"
4
4
  */
5
- export declare const deepEquals: (a: any, b: any, meta?: any) => boolean;
5
+ export declare function deepEquals<A>(a: A, b: unknown): boolean;
6
6
  /**
7
7
  * @tsplus static fncts.EquatableOps strictEquals
8
8
  * @tsplus operator fncts.Equatable ==
9
9
  * @tsplus location "@fncts/base/data/Equatable/api"
10
10
  */
11
11
  export declare function strictEquals<A>(a: A, b: unknown): boolean;
12
+ /**
13
+ * @tsplus static fncts.EquatableOps strictNotEquals
14
+ * @tsplus operator fncts.Equatable !=
15
+ * @tsplus location "@fncts/base/data/Equatable/api"
16
+ */
17
+ export declare function strictNotEquals<A>(a: A, b: unknown): boolean;
@@ -3,11 +3,14 @@
3
3
  * @tsplus location "@fncts/base/data/Equatable/definition"
4
4
  */
5
5
  export declare const equalsSymbol: unique symbol;
6
+ export interface EqualsContext {
7
+ comparator: (a: unknown, b: unknown) => boolean;
8
+ }
6
9
  /**
7
10
  * @tsplus type fncts.Equatable
8
11
  */
9
12
  export interface Equatable {
10
- [equalsSymbol](that: unknown): boolean;
13
+ [equalsSymbol](that: unknown, context: EqualsContext): boolean;
11
14
  }
12
15
  export declare function isEquatable(u: unknown): u is Equatable;
13
16
  /**
@@ -97,3 +97,15 @@ export declare function zipConcurrent<EB, B>(that: Exit<EB, B>): <EA, A>(self: i
97
97
  * @tsplus location "@fncts/base/data/Exit/api"
98
98
  */
99
99
  export declare function zipWithCause<E, A, G, B, C>(fb: Exit<G, B>, f: (a: A, b: B) => C, g: (ea: Cause<E>, eb: Cause<G>) => Cause<E | G>): (fa: Exit<E, A>) => Exit<E | G, C>;
100
+ /**
101
+ * Returns the Exit's Success value if it exists
102
+ * @tsplus getter fncts.Exit value
103
+ * @tsplus location "@fncts/base/data/Exit/api"
104
+ */
105
+ export declare function value<E, A>(self: Exit<E, A>): A | undefined;
106
+ /**
107
+ * Returns the Exit's Success value if it exists, or throws the pretty-printed Cause if it doesn't
108
+ * @tsplus getter fncts.Exit valueOrThrow
109
+ * @tsplus location "@fncts/base/data/Exit/api"
110
+ */
111
+ export declare function valueOrThrow<E, A>(self: Exit<E, A>): A;
@@ -7,12 +7,12 @@ import { FiberId } from "@fncts/base/data/FiberId/definition";
7
7
  * @tsplus static fncts.ExitOps halt
8
8
  * @tsplus location "@fncts/base/data/Exit/constructors"
9
9
  */
10
- export declare function halt(defect: unknown): Exit<never, never>;
10
+ export declare function halt(defect: unknown, __tsplusTrace?: string): Exit<never, never>;
11
11
  /**
12
12
  * @tsplus static fncts.ExitOps fail
13
13
  * @tsplus location "@fncts/base/data/Exit/constructors"
14
14
  */
15
- export declare function fail<E = never, A = never>(e: E): Exit<E, A>;
15
+ export declare function fail<E = never, A = never>(e: E, __tsplusTrace?: string): Exit<E, A>;
16
16
  /**
17
17
  * @tsplus static fncts.ExitOps fromEither
18
18
  * @tsplus location "@fncts/base/data/Exit/constructors"
@@ -27,17 +27,17 @@ export declare function fromMaybe<E, A>(fa: Maybe<A>, onNothing: () => E): Exit<
27
27
  * @tsplus static fncts.ExitOps failCause
28
28
  * @tsplus location "@fncts/base/data/Exit/constructors"
29
29
  */
30
- export declare function failCause<E = never, A = never>(cause: Cause<E>): Exit<E, A>;
30
+ export declare function failCause<E = never, A = never>(cause: Cause<E>, __tsplusTrace?: string): Exit<E, A>;
31
31
  /**
32
32
  * @tsplus static fncts.ExitOps interrupt
33
33
  * @tsplus location "@fncts/base/data/Exit/constructors"
34
34
  */
35
- export declare function interrupt(id: FiberId): Exit<never, never>;
35
+ export declare function interrupt(id: FiberId, __tsplusTrace?: string): Exit<never, never>;
36
36
  /**
37
37
  * @tsplus static fncts.ExitOps succeed
38
38
  * @tsplus location "@fncts/base/data/Exit/constructors"
39
39
  */
40
- export declare function succeed<E = never, A = never>(value: A): Exit<E, A>;
40
+ export declare function succeed<E = never, A = never>(value: A, __tsplusTrace?: string): Exit<E, A>;
41
41
  /**
42
42
  * @tsplus static fncts.ExitOps unit
43
43
  * @tsplus location "@fncts/base/data/Exit/constructors"
@@ -19,19 +19,23 @@ export declare const enum ExitTag {
19
19
  Success = "Success",
20
20
  Failure = "Failure"
21
21
  }
22
+ declare const IOTypeId: unique symbol;
23
+ type IOTypeId = typeof IOTypeId;
22
24
  /**
23
25
  * @tsplus type fncts.Exit.Failure
24
26
  * @tsplus companion fncts.Exit.FailureOps
25
27
  */
26
28
  export declare class Failure<E> {
27
29
  readonly cause: Cause<E>;
30
+ readonly trace?: string | undefined;
28
31
  readonly [ExitTypeId]: ExitTypeId;
29
32
  [ExitVariance]: {
30
33
  readonly _E: (_: never) => E;
31
34
  readonly _A: (_: never) => never;
32
35
  };
36
+ readonly [IOTypeId]: IOTypeId;
33
37
  readonly _tag = ExitTag.Failure;
34
- constructor(cause: Cause<E>);
38
+ constructor(cause: Cause<E>, trace?: string | undefined);
35
39
  get [Symbol.hash](): number;
36
40
  [Symbol.equals](that: unknown): boolean;
37
41
  }
@@ -41,13 +45,15 @@ export declare class Failure<E> {
41
45
  */
42
46
  export declare class Success<A> implements P.Hashable, P.Equatable {
43
47
  readonly value: A;
48
+ readonly trace?: string | undefined;
44
49
  readonly [ExitTypeId]: ExitTypeId;
45
50
  [ExitVariance]: {
46
51
  readonly _E: (_: never) => never;
47
52
  readonly _A: (_: never) => A;
48
53
  };
54
+ readonly [IOTypeId]: IOTypeId;
49
55
  readonly _tag = ExitTag.Success;
50
- constructor(value: A);
56
+ constructor(value: A, trace?: string | undefined);
51
57
  get [Symbol.hash](): number;
52
58
  [Symbol.equals](that: unknown): boolean;
53
59
  }
@@ -75,3 +81,4 @@ export declare function isSuccess<E, A>(exit: Exit<E, A>): exit is Success<A>;
75
81
  * @tsplus unify fncts.Exit
76
82
  */
77
83
  export declare function unifyExit<X extends Exit<any, any>>(_: X): Exit<[X] extends [Exit<infer E, any>] ? E : never, [X] extends [Exit<any, infer A>] ? A : never>;
84
+ export {};
@@ -7,13 +7,13 @@ import type { Nullable } from "@fncts/base/types";
7
7
  * @tsplus static fncts.JustOps __call
8
8
  * @tsplus location "@fncts/base/data/Maybe/constructors"
9
9
  */
10
- export declare function just<A>(a: A): Maybe<A>;
10
+ export declare function just<A>(a: A, __tsplusTrace?: string): Maybe<A>;
11
11
  /**
12
12
  * @tsplus static fncts.MaybeOps nothing
13
13
  * @tsplus static fncts.NothingOps __call
14
14
  * @tsplus location "@fncts/base/data/Maybe/constructors"
15
15
  */
16
- export declare function nothing<A = never>(): Maybe<A>;
16
+ export declare function nothing<A = never>(__tsplusTrace?: string): Maybe<A>;
17
17
  /**
18
18
  * @tsplus static fncts.MaybeOps fromNullable
19
19
  * @tsplus location "@fncts/base/data/Maybe/constructors"
@@ -9,6 +9,8 @@ export declare const MaybeVariance: unique symbol;
9
9
  export type MaybeVariance = typeof MaybeVariance;
10
10
  export declare const MaybeTypeId: unique symbol;
11
11
  export type MaybeTypeId = typeof MaybeTypeId;
12
+ declare const IOTypeId: unique symbol;
13
+ type IOTypeId = typeof IOTypeId;
12
14
  export interface MaybeF extends HKT {
13
15
  type: Maybe<this["A"]>;
14
16
  variance: {
@@ -24,6 +26,8 @@ export declare abstract class Maybe<A> {
24
26
  readonly _A: (_: never) => A;
25
27
  };
26
28
  readonly [MaybeTypeId]: MaybeTypeId;
29
+ readonly [IOTypeId]: IOTypeId;
30
+ readonly trace?: string | undefined;
27
31
  }
28
32
  /**
29
33
  * @tsplus type fncts.Just
@@ -31,8 +35,9 @@ export declare abstract class Maybe<A> {
31
35
  */
32
36
  export declare class Just<A> extends Maybe<A> {
33
37
  readonly value: A;
38
+ readonly trace?: string | undefined;
34
39
  readonly _tag = MaybeTag.Just;
35
- constructor(value: A);
40
+ constructor(value: A, trace?: string | undefined);
36
41
  [Symbol.equals](that: unknown): boolean;
37
42
  get [Symbol.hash](): number;
38
43
  }
@@ -41,7 +46,9 @@ export declare class Just<A> extends Maybe<A> {
41
46
  * @tsplus companion fncts.NothingOps
42
47
  */
43
48
  export declare class Nothing extends Maybe<never> {
49
+ readonly trace?: string | undefined;
44
50
  readonly _tag = MaybeTag.Nothing;
51
+ constructor(trace?: string | undefined);
45
52
  [Symbol.equals](that: unknown): boolean;
46
53
  get [Symbol.hash](): number;
47
54
  }
@@ -77,3 +84,4 @@ export declare function isNothing<A>(self: Maybe<A>): self is Nothing;
77
84
  * @tsplus location "@fncts/base/data/Maybe/definition"
78
85
  */
79
86
  export declare function concrete<A>(self: Maybe<A>): asserts self is Just<A> | Nothing;
87
+ export {};
@@ -4,11 +4,35 @@ import { Decoder } from "@fncts/base/data/Decoder/definition";
4
4
  import { Encoder } from "@fncts/base/data/Encoder/definition";
5
5
  import type * as P from "../../typeclass.js";
6
6
  import type { MaybeF } from "@fncts/base/data/Maybe/definition";
7
+ /**
8
+ * @tsplus static fncts.MaybeOps Functor
9
+ * @tsplus location "@fncts/base/data/Maybe/instances"
10
+ */
7
11
  export declare const Functor: P.Functor<MaybeF, import("@fncts/typelevel/HKT.js").HKT.None>;
12
+ /**
13
+ * @tsplus static fncts.MaybeOps Apply
14
+ * @tsplus location "@fncts/base/data/Maybe/instances"
15
+ */
8
16
  export declare const Apply: P.Apply<MaybeF, import("@fncts/typelevel/HKT.js").HKT.None>;
17
+ /**
18
+ * @tsplus static fncts.MaybeOps Applicative
19
+ * @tsplus location "@fncts/base/data/Maybe/instances"
20
+ */
9
21
  export declare const Applicative: P.Applicative<MaybeF, import("@fncts/typelevel/HKT.js").HKT.None>;
22
+ /**
23
+ * @tsplus static fncts.MaybeOps Monad
24
+ * @tsplus location "@fncts/base/data/Maybe/instances"
25
+ */
10
26
  export declare const Monad: P.Monad<MaybeF, import("@fncts/typelevel/HKT.js").HKT.None>;
27
+ /**
28
+ * @tsplus static fncts.MaybeOps Foldable
29
+ * @tsplus location "@fncts/base/data/Maybe/instances"
30
+ */
11
31
  export declare const Foldable: P.Foldable<MaybeF, import("@fncts/typelevel/HKT.js").HKT.None>;
32
+ /**
33
+ * @tsplus static fncts.MaybeOps Filterable
34
+ * @tsplus location "@fncts/base/data/Maybe/instances"
35
+ */
12
36
  export declare const Filterable: P.Filterable<MaybeF, import("@fncts/typelevel/HKT.js").HKT.None>;
13
37
  /**
14
38
  * @tsplus derive fncts.Guard[fncts.Maybe]<_> 10
@@ -0,0 +1,9 @@
1
+ import { Cause } from "@fncts/base/data/Cause/definition";
2
+ export declare const IOErrorTypeId: unique symbol;
3
+ export type IOErrorTypeId = typeof IOErrorTypeId;
4
+ export declare class IOError<E> {
5
+ readonly cause: Cause<E>;
6
+ readonly [IOErrorTypeId]: IOErrorTypeId;
7
+ constructor(cause: Cause<E>);
8
+ }
9
+ export declare function isIOError(u: unknown): u is IOError<unknown>;
@@ -1,5 +1,5 @@
1
1
  export declare const NoSuchElementErrorTag = "NoSuchElementError";
2
2
  export declare class NoSuchElementError extends Error {
3
3
  readonly _tag = "NoSuchElementError";
4
- constructor(message: string);
4
+ constructor(message?: string);
5
5
  }
@@ -4,5 +4,6 @@ export * from "./exceptions/IllegalStateError.js";
4
4
  export * from "./exceptions/IndexOutOfBoundsError.js";
5
5
  export * from "./exceptions/InterruptedException.js";
6
6
  export * from "./exceptions/InvalidCapacityError.js";
7
+ export * from "./exceptions/IOError.js";
7
8
  export * from "./exceptions/NoSuchElementError.js";
8
9
  export * from "./exceptions/RuntimeError.js";
package/data.d.ts CHANGED
@@ -37,6 +37,7 @@ export type {} from "./data/Predicate.js";
37
37
  export type {} from "./data/Refinement.js";
38
38
  export type {} from "./data/Showable.js";
39
39
  export type {} from "./data/string.js";
40
+ export type {} from "./data/Struct.js";
40
41
  export type {} from "./data/Tag.js";
41
42
  export type {} from "./data/These.js";
42
43
  export type {} from "./data/Trace.js";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fncts/base",
3
- "version": "0.0.26",
3
+ "version": "0.0.28",
4
4
  "dependencies": {
5
5
  "@fncts/typelevel": "0.0.15",
6
6
  "uuid": "^9.0.0"
package/typeclass.d.ts CHANGED
@@ -29,7 +29,7 @@ export * from "./typeclass/Witherable.js";
29
29
  export * from "./typeclass/WitherableWithIndex.js";
30
30
  export { Eq } from "./data/Eq.js";
31
31
  export { Equatable } from "./data/Equatable.js";
32
- export { Guard } from "./data/Guard.js";
32
+ export { Guard } from "./data/Guard/definition.js";
33
33
  export { Hash } from "./data/Hash.js";
34
34
  export { Hashable } from "./data/Hashable.js";
35
35
  export { HashEq } from "./data/HashEq.js";
package/types.d.ts CHANGED
@@ -1,3 +1,2 @@
1
1
  export * from "./types/extractions.js";
2
- export * from "./types/test.js";
3
2
  export * from "./types/utility.js";
@@ -11,6 +11,7 @@ export declare function isArray<A>(value: unknown): value is Array<A>;
11
11
  export declare function isObject<A extends Function>(value: A): false;
12
12
  export declare function isObject(value: unknown): value is object & Record<PropertyKey, any>;
13
13
  export declare function isObject<A>(value: A | Primitive): value is A & Record<PropertyKey, unknown>;
14
+ export declare function isRecord(value: unknown): value is object & Record<PropertyKey, unknown>;
14
15
  export declare function hasTypeId<X extends symbol>(value: unknown, typeId: X): value is {
15
16
  readonly [K in X]: X;
16
17
  } & Record<PropertyKey, unknown>;
@@ -1,6 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- //# sourceMappingURL=test.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"test.cjs","mappings":"","names":[],"sourceRoot":"","sources":[],"sourcesContent":[]}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=test.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"test.mjs","mappings":"","names":[],"sourceRoot":"","sources":[],"sourcesContent":[]}
File without changes
package/types/test.d.ts DELETED
@@ -1 +0,0 @@
1
- export {};