@satoshibits/functional 1.1.3 → 1.2.0

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 (77) hide show
  1. package/dist/array-utils.test.d.ts +2 -0
  2. package/dist/array-utils.test.d.ts.map +1 -0
  3. package/dist/array-utils.test.js +256 -0
  4. package/dist/array-utils.test.js.map +1 -0
  5. package/dist/composition.test.d.ts +2 -0
  6. package/dist/composition.test.d.ts.map +1 -0
  7. package/dist/composition.test.js +409 -0
  8. package/dist/composition.test.js.map +1 -0
  9. package/dist/integration.test.d.mts +2 -0
  10. package/dist/integration.test.d.mts.map +1 -0
  11. package/dist/integration.test.mjs +486 -0
  12. package/dist/integration.test.mjs.map +1 -0
  13. package/dist/io.test.d.mts +2 -0
  14. package/dist/io.test.d.mts.map +1 -0
  15. package/dist/io.test.mjs +373 -0
  16. package/dist/io.test.mjs.map +1 -0
  17. package/dist/laws.test.d.mts +2 -0
  18. package/dist/laws.test.d.mts.map +1 -0
  19. package/dist/laws.test.mjs +614 -0
  20. package/dist/laws.test.mjs.map +1 -0
  21. package/dist/object-utils.test.d.ts +2 -0
  22. package/dist/object-utils.test.d.ts.map +1 -0
  23. package/dist/object-utils.test.js +286 -0
  24. package/dist/object-utils.test.js.map +1 -0
  25. package/dist/option-additions.test.d.mts +2 -0
  26. package/dist/option-additions.test.d.mts.map +1 -0
  27. package/dist/option-additions.test.mjs +325 -0
  28. package/dist/option-additions.test.mjs.map +1 -0
  29. package/dist/option.test.d.ts +6 -0
  30. package/dist/option.test.d.ts.map +1 -0
  31. package/dist/option.test.js +606 -0
  32. package/dist/option.test.js.map +1 -0
  33. package/dist/performance.test.d.ts +2 -0
  34. package/dist/performance.test.d.ts.map +1 -0
  35. package/dist/performance.test.js +424 -0
  36. package/dist/performance.test.js.map +1 -0
  37. package/dist/pipeline.test.d.ts +2 -0
  38. package/dist/pipeline.test.d.ts.map +1 -0
  39. package/dist/pipeline.test.js +445 -0
  40. package/dist/pipeline.test.js.map +1 -0
  41. package/dist/predicates.test.d.ts +2 -0
  42. package/dist/predicates.test.d.ts.map +1 -0
  43. package/dist/predicates.test.js +375 -0
  44. package/dist/predicates.test.js.map +1 -0
  45. package/dist/reader-result.d.mts +72 -0
  46. package/dist/reader-result.d.mts.map +1 -1
  47. package/dist/reader-result.mjs +89 -0
  48. package/dist/reader-result.mjs.map +1 -1
  49. package/dist/reader-result.test.d.ts +2 -0
  50. package/dist/reader-result.test.d.ts.map +1 -0
  51. package/dist/reader-result.test.js +1397 -0
  52. package/dist/reader-result.test.js.map +1 -0
  53. package/dist/reader.test.d.mts +2 -0
  54. package/dist/reader.test.d.mts.map +1 -0
  55. package/dist/reader.test.mjs +288 -0
  56. package/dist/reader.test.mjs.map +1 -0
  57. package/dist/result-additions.test.d.mts +2 -0
  58. package/dist/result-additions.test.d.mts.map +1 -0
  59. package/dist/result-additions.test.mjs +325 -0
  60. package/dist/result-additions.test.mjs.map +1 -0
  61. package/dist/result.test.d.ts +2 -0
  62. package/dist/result.test.d.ts.map +1 -0
  63. package/dist/result.test.js +453 -0
  64. package/dist/result.test.js.map +1 -0
  65. package/dist/task.test.d.mts +2 -0
  66. package/dist/task.test.d.mts.map +1 -0
  67. package/dist/task.test.mjs +1004 -0
  68. package/dist/task.test.mjs.map +1 -0
  69. package/dist/types.test.d.ts +6 -0
  70. package/dist/types.test.d.ts.map +1 -0
  71. package/dist/types.test.js +447 -0
  72. package/dist/types.test.js.map +1 -0
  73. package/dist/validation.test.d.ts +2 -0
  74. package/dist/validation.test.d.ts.map +1 -0
  75. package/dist/validation.test.js +518 -0
  76. package/dist/validation.test.js.map +1 -0
  77. package/package.json +13 -12
@@ -0,0 +1,325 @@
1
+ "use strict";
2
+ import { describe, expect, it, vi } from "vitest";
3
+ import { Result } from "./result.mjs";
4
+ describe("Result additions", function () {
5
+ describe("traverse", function () {
6
+ it("should map and sequence, returning all values on success", function () {
7
+ var fn = function (n) {
8
+ return n > 0 ? Result.ok(n * 2) : Result.err("negative");
9
+ };
10
+ var traverseFn = Result.traverse(fn);
11
+ expect(traverseFn([1, 2, 3])).toEqual(Result.ok([2, 4, 6]));
12
+ });
13
+ it("should return first error on failure", function () {
14
+ var fn = function (n) {
15
+ return n > 0 ? Result.ok(n * 2) : Result.err("negative: ".concat(n));
16
+ };
17
+ var traverseFn = Result.traverse(fn);
18
+ expect(traverseFn([1, -2, 3, -4])).toEqual(Result.err("negative: -2"));
19
+ });
20
+ it("should handle empty array", function () {
21
+ var fn = function (n) { return Result.ok(n * 2); };
22
+ var traverseFn = Result.traverse(fn);
23
+ expect(traverseFn([])).toEqual(Result.ok([]));
24
+ });
25
+ it("should short-circuit on first error", function () {
26
+ var calls = [];
27
+ var fn = function (n) {
28
+ calls.push(n);
29
+ return n === 2 ? Result.err("stop") : Result.ok(n);
30
+ };
31
+ var traverseFn = Result.traverse(fn);
32
+ var result = traverseFn([1, 2, 3, 4]);
33
+ expect(result).toEqual(Result.err("stop"));
34
+ expect(calls).toEqual([1, 2]); // should not call fn for 3 and 4
35
+ });
36
+ });
37
+ describe("ap", function () {
38
+ it("should apply ok function to ok value", function () {
39
+ var add = function (a) { return function (b) { return a + b; }; };
40
+ var resultFn = Result.ok(add(5));
41
+ var resultValue = Result.ok(3);
42
+ var result = Result.ap(resultValue)(resultFn);
43
+ expect(result).toEqual(Result.ok(8));
44
+ });
45
+ it("should propagate error from function", function () {
46
+ var resultFn = Result.err("fn error");
47
+ var resultValue = Result.ok(3);
48
+ var result = Result.ap(resultValue)(resultFn);
49
+ expect(result).toEqual(Result.err("fn error"));
50
+ });
51
+ it("should propagate error from value", function () {
52
+ var resultFn = Result.ok(function (n) { return n * 2; });
53
+ var resultValue = Result.err("value error");
54
+ var result = Result.ap(resultValue)(resultFn);
55
+ expect(result).toEqual(Result.err("value error"));
56
+ });
57
+ it("should return first error when both are errors", function () {
58
+ var resultFn = Result.err("fn error");
59
+ var resultValue = Result.err("value error");
60
+ var result = Result.ap(resultValue)(resultFn);
61
+ expect(result).toEqual(Result.err("fn error"));
62
+ });
63
+ });
64
+ describe("bimap", function () {
65
+ it("should transform success value", function () {
66
+ var transform = Result.bimap(function (n) { return "ok: ".concat(n); }, function (s) { return "err: ".concat(s); });
67
+ expect(transform(Result.ok(10))).toEqual(Result.ok("ok: 10"));
68
+ });
69
+ it("should transform error value", function () {
70
+ var transform = Result.bimap(function (n) { return "ok: ".concat(n); }, function (s) { return "err: ".concat(s); });
71
+ expect(transform(Result.err("bad"))).toEqual(Result.err("err: bad"));
72
+ });
73
+ it("should work with different types", function () {
74
+ var transform = Result.bimap(function (n) { return n > 0; }, function (e) { return e.message; });
75
+ expect(transform(Result.ok(10))).toEqual(Result.ok(true));
76
+ expect(transform(Result.err(new Error("fail")))).toEqual(Result.err("fail"));
77
+ });
78
+ });
79
+ describe("chainFirst", function () {
80
+ it("should execute side effect and return original value on success", function () {
81
+ var sideEffect = vi.fn(function (n) { return Result.ok("logged: ".concat(n)); });
82
+ var result = Result.chainFirst(sideEffect)(Result.ok(42));
83
+ expect(result).toEqual(Result.ok(42));
84
+ expect(sideEffect).toHaveBeenCalledWith(42);
85
+ });
86
+ it("should not execute side effect on error", function () {
87
+ var sideEffect = vi.fn(function (n) { return Result.ok("logged: ".concat(n)); });
88
+ var result = Result.chainFirst(sideEffect)(Result.err("initial error"));
89
+ expect(result).toEqual(Result.err("initial error"));
90
+ expect(sideEffect).not.toHaveBeenCalled();
91
+ });
92
+ it("should propagate error from side effect", function () {
93
+ var sideEffect = function (_n) {
94
+ return Result.err("side effect error");
95
+ };
96
+ var result = Result.chainFirst(sideEffect)(Result.ok(42));
97
+ expect(result).toEqual(Result.err("side effect error"));
98
+ });
99
+ });
100
+ describe("sequenceT", function () {
101
+ it("should combine tuple of successful Results", function () {
102
+ var r1 = Result.ok(1);
103
+ var r2 = Result.ok("hello");
104
+ var r3 = Result.ok(true);
105
+ var combined = Result.sequenceT(r1, r2, r3);
106
+ expect(combined).toEqual(Result.ok([1, "hello", true]));
107
+ });
108
+ it("should return first error", function () {
109
+ var r1 = Result.ok(1);
110
+ var r2 = Result.err("error2");
111
+ var r3 = Result.err("error3");
112
+ var combined = Result.sequenceT(r1, r2, r3);
113
+ expect(combined).toEqual(Result.err("error2"));
114
+ });
115
+ it("should handle empty tuple", function () {
116
+ var combined = Result.sequenceT();
117
+ expect(combined).toEqual(Result.ok([]));
118
+ });
119
+ it("should short-circuit on error", function () {
120
+ var createResult = vi.fn(function (val, isOk) {
121
+ return isOk ? Result.ok(val) : Result.err("error");
122
+ });
123
+ var r1 = createResult(1, true);
124
+ var r2 = createResult(2, false);
125
+ var r3 = createResult(3, true); // This shouldn't be evaluated in sequenceT
126
+ var combined = Result.sequenceT(r1, r2, r3);
127
+ expect(combined).toEqual(Result.err("error"));
128
+ expect(createResult).toHaveBeenCalledTimes(3); // All created upfront
129
+ });
130
+ });
131
+ describe("sequenceS", function () {
132
+ it("should combine record of successful Results", function () {
133
+ var results = {
134
+ user: Result.ok({ name: "Alice" }),
135
+ count: Result.ok(42),
136
+ enabled: Result.ok(true),
137
+ };
138
+ var combined = Result.sequenceS(results);
139
+ expect(combined).toEqual(Result.ok({
140
+ user: { name: "Alice" },
141
+ count: 42,
142
+ enabled: true,
143
+ }));
144
+ });
145
+ it("should return first error", function () {
146
+ var results = {
147
+ a: Result.ok(1),
148
+ b: Result.err("error b"),
149
+ c: Result.err("error c"),
150
+ };
151
+ var combined = Result.sequenceS(results);
152
+ expect(combined).toEqual(Result.err("error b"));
153
+ });
154
+ it("should handle empty record", function () {
155
+ var combined = Result.sequenceS({});
156
+ expect(combined).toEqual(Result.ok({}));
157
+ });
158
+ it("should preserve key order", function () {
159
+ var results = {
160
+ z: Result.ok(1),
161
+ a: Result.ok(2),
162
+ m: Result.ok(3),
163
+ };
164
+ var combined = Result.sequenceS(results);
165
+ expect(combined).toEqual(Result.ok({ z: 1, a: 2, m: 3 }));
166
+ if (combined.success) {
167
+ expect(Object.keys(combined.data)).toEqual(["z", "a", "m"]);
168
+ }
169
+ });
170
+ });
171
+ describe("Do notation", function () {
172
+ it("should chain successful computations", function () {
173
+ var result = Result.Do()
174
+ .bind("x", Result.ok(5))
175
+ .bind("y", Result.ok(3))
176
+ .map(function (_a) {
177
+ var x = _a.x, y = _a.y;
178
+ return x + y;
179
+ });
180
+ expect(result).toEqual(Result.ok(8));
181
+ });
182
+ it("should handle dependent bindings", function () {
183
+ var result = Result.Do()
184
+ .bind("x", Result.ok(10))
185
+ .bind("y", function (_a) {
186
+ var x = _a.x;
187
+ return Result.ok(x * 2);
188
+ })
189
+ .bind("z", function (_a) {
190
+ var y = _a.y;
191
+ return Result.ok(y + 1);
192
+ })
193
+ .map(function (_a) {
194
+ var x = _a.x, y = _a.y, z = _a.z;
195
+ return ({ original: x, doubled: y, final: z });
196
+ });
197
+ expect(result).toEqual(Result.ok({ original: 10, doubled: 20, final: 21 }));
198
+ });
199
+ it("should short-circuit on first error", function () {
200
+ var fn1 = vi.fn(function () { return Result.ok(5); });
201
+ var fn2 = vi.fn(function () { return Result.err("error at y"); });
202
+ var fn3 = vi.fn(function () { return Result.ok(100); });
203
+ var result = Result.Do()
204
+ .bind("x", fn1())
205
+ .bind("y", fn2())
206
+ .bind("z", fn3()) // This binding happens but the function result is ignored
207
+ .map(function (_a) {
208
+ var x = _a.x, y = _a.y, z = _a.z;
209
+ return x + y + z;
210
+ });
211
+ expect(result).toEqual(Result.err("error at y"));
212
+ expect(fn1).toHaveBeenCalledTimes(1);
213
+ expect(fn2).toHaveBeenCalledTimes(1);
214
+ expect(fn3).toHaveBeenCalledTimes(1); // Created but not used in chain
215
+ });
216
+ it("should short-circuit on error at 2nd step with dependent bindings", function () {
217
+ var fn1 = vi.fn(function () { return Result.ok(10); });
218
+ var fn2 = vi.fn(function (_a) {
219
+ var x = _a.x;
220
+ return x < 20
221
+ ? Result.err("value too small")
222
+ : Result.ok(x * 2);
223
+ });
224
+ var fn3 = vi.fn(function (_a) {
225
+ var y = _a.y;
226
+ return Result.ok(y + 5);
227
+ });
228
+ var result = Result.Do()
229
+ .bind("x", fn1())
230
+ .bind("y", fn2)
231
+ .bind("z", fn3)
232
+ .map(function (_a) {
233
+ var x = _a.x, y = _a.y, z = _a.z;
234
+ return ({ first: x, second: y, third: z });
235
+ });
236
+ expect(result).toEqual(Result.err("value too small"));
237
+ expect(fn1).toHaveBeenCalledTimes(1);
238
+ expect(fn2).toHaveBeenCalledTimes(1);
239
+ expect(fn3).toHaveBeenCalledTimes(0); // should not be called due to short-circuit
240
+ });
241
+ it("should short-circuit on error at 3rd step with dependent bindings", function () {
242
+ var fn1 = vi.fn(function () { return Result.ok(60); });
243
+ var fn2 = vi.fn(function (_a) {
244
+ var x = _a.x;
245
+ return Result.ok(x * 2);
246
+ });
247
+ var fn3 = vi.fn(function (_a) {
248
+ var x = _a.x, y = _a.y;
249
+ return y > 100
250
+ ? Result.err("result too large")
251
+ : Result.ok(x + y);
252
+ });
253
+ var result = Result.Do()
254
+ .bind("x", fn1())
255
+ .bind("y", fn2)
256
+ .bind("z", fn3)
257
+ .map(function (_a) {
258
+ var x = _a.x, y = _a.y, z = _a.z;
259
+ return ({ first: x, second: y, third: z });
260
+ });
261
+ expect(result).toEqual(Result.err("result too large"));
262
+ expect(fn1).toHaveBeenCalledTimes(1);
263
+ expect(fn2).toHaveBeenCalledTimes(1);
264
+ expect(fn3).toHaveBeenCalledTimes(1);
265
+ });
266
+ it("should work with flatMap for Result-returning operations", function () {
267
+ var safeDivide = function (a, b) {
268
+ return b === 0 ? Result.err("division by zero") : Result.ok(a / b);
269
+ };
270
+ var result = Result.Do()
271
+ .bind("x", Result.ok(10))
272
+ .bind("y", Result.ok(2))
273
+ .flatMap(function (_a) {
274
+ var x = _a.x, y = _a.y;
275
+ return safeDivide(x, y);
276
+ });
277
+ expect(result).toEqual(Result.ok(5));
278
+ var errorResult = Result.Do()
279
+ .bind("x", Result.ok(10))
280
+ .bind("y", Result.ok(0))
281
+ .flatMap(function (_a) {
282
+ var x = _a.x, y = _a.y;
283
+ return safeDivide(x, y);
284
+ });
285
+ expect(errorResult).toEqual(Result.err("division by zero"));
286
+ });
287
+ it("should provide value() to get the current context", function () {
288
+ var builder = Result.Do()
289
+ .bind("x", Result.ok(5))
290
+ .bind("y", Result.ok(3));
291
+ var contextResult = builder.value();
292
+ expect(contextResult).toEqual(Result.ok({ x: 5, y: 3 }));
293
+ });
294
+ it("should handle errors in dependent bindings", function () {
295
+ var result = Result.Do()
296
+ .bind("x", Result.ok(5))
297
+ .bind("y", function (_a) {
298
+ var x = _a.x;
299
+ return x > 10 ? Result.ok(x * 2) : Result.err("x too small");
300
+ })
301
+ .map(function (_a) {
302
+ var x = _a.x, y = _a.y;
303
+ return x + y;
304
+ });
305
+ expect(result).toEqual(Result.err("x too small"));
306
+ });
307
+ });
308
+ describe("edge cases", function () {
309
+ it("should handle complex error types", function () {
310
+ var error = { code: 404, message: "Not Found" };
311
+ var result = Result.err(error);
312
+ var transformed = Result.bimap(function (n) { return n.toString(); }, function (e) { return "".concat(e.code, ": ").concat(e.message); })(result);
313
+ expect(transformed).toEqual(Result.err("404: Not Found"));
314
+ });
315
+ it("should handle nested Results", function () {
316
+ var nestedOk = Result.ok(Result.ok(42));
317
+ var flattened = Result.flatMap(function (r) { return r; })(nestedOk);
318
+ expect(flattened).toEqual(Result.ok(42));
319
+ var nestedErr = Result.ok(Result.err("inner error"));
320
+ var flattenedErr = Result.flatMap(function (r) { return r; })(nestedErr);
321
+ expect(flattenedErr).toEqual(Result.err("inner error"));
322
+ });
323
+ });
324
+ });
325
+ //# sourceMappingURL=result-additions.test.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"result-additions.test.mjs","sourceRoot":"","sources":["../src/result-additions.test.mts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=result.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"result.test.d.ts","sourceRoot":"","sources":["../src/result.test.ts"],"names":[],"mappings":""}