@satoshibits/functional 1.1.2 → 1.1.3

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 (73) hide show
  1. package/package.json +12 -13
  2. package/dist/array-utils.test.d.ts +0 -2
  3. package/dist/array-utils.test.d.ts.map +0 -1
  4. package/dist/array-utils.test.js +0 -256
  5. package/dist/array-utils.test.js.map +0 -1
  6. package/dist/composition.test.d.ts +0 -2
  7. package/dist/composition.test.d.ts.map +0 -1
  8. package/dist/composition.test.js +0 -409
  9. package/dist/composition.test.js.map +0 -1
  10. package/dist/integration.test.d.mts +0 -2
  11. package/dist/integration.test.d.mts.map +0 -1
  12. package/dist/integration.test.mjs +0 -486
  13. package/dist/integration.test.mjs.map +0 -1
  14. package/dist/io.test.d.mts +0 -2
  15. package/dist/io.test.d.mts.map +0 -1
  16. package/dist/io.test.mjs +0 -373
  17. package/dist/io.test.mjs.map +0 -1
  18. package/dist/laws.test.d.mts +0 -2
  19. package/dist/laws.test.d.mts.map +0 -1
  20. package/dist/laws.test.mjs +0 -614
  21. package/dist/laws.test.mjs.map +0 -1
  22. package/dist/object-utils.test.d.ts +0 -2
  23. package/dist/object-utils.test.d.ts.map +0 -1
  24. package/dist/object-utils.test.js +0 -286
  25. package/dist/object-utils.test.js.map +0 -1
  26. package/dist/option-additions.test.d.mts +0 -2
  27. package/dist/option-additions.test.d.mts.map +0 -1
  28. package/dist/option-additions.test.mjs +0 -325
  29. package/dist/option-additions.test.mjs.map +0 -1
  30. package/dist/option.test.d.ts +0 -6
  31. package/dist/option.test.d.ts.map +0 -1
  32. package/dist/option.test.js +0 -606
  33. package/dist/option.test.js.map +0 -1
  34. package/dist/performance.test.d.ts +0 -2
  35. package/dist/performance.test.d.ts.map +0 -1
  36. package/dist/performance.test.js +0 -424
  37. package/dist/performance.test.js.map +0 -1
  38. package/dist/pipeline.test.d.ts +0 -2
  39. package/dist/pipeline.test.d.ts.map +0 -1
  40. package/dist/pipeline.test.js +0 -445
  41. package/dist/pipeline.test.js.map +0 -1
  42. package/dist/predicates.test.d.ts +0 -2
  43. package/dist/predicates.test.d.ts.map +0 -1
  44. package/dist/predicates.test.js +0 -375
  45. package/dist/predicates.test.js.map +0 -1
  46. package/dist/reader-result.test.d.ts +0 -2
  47. package/dist/reader-result.test.d.ts.map +0 -1
  48. package/dist/reader-result.test.js +0 -1259
  49. package/dist/reader-result.test.js.map +0 -1
  50. package/dist/reader.test.d.mts +0 -2
  51. package/dist/reader.test.d.mts.map +0 -1
  52. package/dist/reader.test.mjs +0 -288
  53. package/dist/reader.test.mjs.map +0 -1
  54. package/dist/result-additions.test.d.mts +0 -2
  55. package/dist/result-additions.test.d.mts.map +0 -1
  56. package/dist/result-additions.test.mjs +0 -325
  57. package/dist/result-additions.test.mjs.map +0 -1
  58. package/dist/result.test.d.ts +0 -2
  59. package/dist/result.test.d.ts.map +0 -1
  60. package/dist/result.test.js +0 -453
  61. package/dist/result.test.js.map +0 -1
  62. package/dist/task.test.d.mts +0 -2
  63. package/dist/task.test.d.mts.map +0 -1
  64. package/dist/task.test.mjs +0 -1006
  65. package/dist/task.test.mjs.map +0 -1
  66. package/dist/types.test.d.ts +0 -6
  67. package/dist/types.test.d.ts.map +0 -1
  68. package/dist/types.test.js +0 -447
  69. package/dist/types.test.js.map +0 -1
  70. package/dist/validation.test.d.ts +0 -2
  71. package/dist/validation.test.d.ts.map +0 -1
  72. package/dist/validation.test.js +0 -518
  73. package/dist/validation.test.js.map +0 -1
package/dist/io.test.mjs DELETED
@@ -1,373 +0,0 @@
1
- "use strict";
2
- import { describe, expect, it, vi } from "vitest";
3
- import { IO } from "./io.mjs";
4
- describe("IO", function () {
5
- describe("laziness", function () {
6
- it("should not execute until run", function () {
7
- var effect = vi.fn(function () { return 42; });
8
- var io = effect;
9
- expect(effect).not.toHaveBeenCalled();
10
- var result = IO.run(io);
11
- expect(effect).toHaveBeenCalledTimes(1);
12
- expect(result).toBe(42);
13
- });
14
- it("should execute each time run is called", function () {
15
- var effect = vi.fn(function () { return "test"; });
16
- var io = effect;
17
- IO.run(io);
18
- IO.run(io);
19
- expect(effect).toHaveBeenCalledTimes(2);
20
- });
21
- });
22
- describe("run", function () {
23
- it("should execute an IO and return its value", function () {
24
- var io = IO.of(42);
25
- var result = IO.run(io);
26
- expect(result).toBe(42);
27
- });
28
- it("should handle IO side effects", function () {
29
- var sideEffectValue = 0;
30
- var io = function () {
31
- sideEffectValue = 100;
32
- return sideEffectValue;
33
- };
34
- expect(sideEffectValue).toBe(0);
35
- var result = IO.run(io);
36
- expect(sideEffectValue).toBe(100);
37
- expect(result).toBe(100);
38
- });
39
- it("should handle IO that throws errors", function () {
40
- var io = function () {
41
- throw new Error("IO error");
42
- };
43
- expect(function () { return IO.run(io); }).toThrow("IO error");
44
- });
45
- it("should work with complex IO chains", function () {
46
- var io = IO.chain(function (n) {
47
- return IO.chain(function (doubled) {
48
- return IO.of(doubled + 1);
49
- })(IO.of(n * 2));
50
- })(IO.of(5));
51
- expect(IO.run(io)).toBe(11);
52
- });
53
- });
54
- describe("of", function () {
55
- it("should create an IO that returns the value", function () {
56
- var io = IO.of(42);
57
- expect(IO.run(io)).toBe(42);
58
- });
59
- it("should work with complex values", function () {
60
- var value = { a: 1, b: "test" };
61
- var io = IO.of(value);
62
- expect(IO.run(io)).toEqual(value);
63
- });
64
- it("should always return the same value", function () {
65
- var io = IO.of(42);
66
- expect(IO.run(io)).toBe(42);
67
- expect(IO.run(io)).toBe(42);
68
- expect(IO.run(io)).toBe(42);
69
- });
70
- });
71
- describe("map", function () {
72
- it("should transform the value", function () {
73
- var io = IO.of(5);
74
- var mapped = IO.map(function (n) { return n * 2; })(io);
75
- expect(IO.run(mapped)).toBe(10);
76
- });
77
- it("should not execute the original IO until run", function () {
78
- var effect = vi.fn(function () { return 5; });
79
- var io = effect;
80
- var mapped = IO.map(function (n) { return n + 1; })(io);
81
- expect(effect).not.toHaveBeenCalled();
82
- IO.run(mapped);
83
- expect(effect).toHaveBeenCalledTimes(1);
84
- });
85
- it("should chain transformations", function () {
86
- var io = IO.of(5);
87
- var mapped = IO.map(function (n) { return n * 2; })(IO.map(function (n) { return n + 1; })(io));
88
- expect(IO.run(mapped)).toBe(12); // (5 + 1) * 2
89
- });
90
- });
91
- describe("chain / flatMap", function () {
92
- it("should sequence computations", function () {
93
- var state = 0;
94
- var io1 = function () {
95
- state = 10;
96
- return state;
97
- };
98
- var io2 = function (n) { return function () {
99
- state = n * 2;
100
- return state;
101
- }; };
102
- var chained = IO.chain(io2)(io1);
103
- var result = IO.run(chained);
104
- expect(result).toBe(20);
105
- expect(state).toBe(20);
106
- });
107
- it("flatMap should be an alias for chain", function () {
108
- var io1 = IO.of(5);
109
- var io2 = function (n) { return IO.of(n * 2); };
110
- var chained = IO.chain(io2)(io1);
111
- var flatMapped = IO.flatMap(io2)(io1);
112
- expect(IO.run(chained)).toBe(10);
113
- expect(IO.run(flatMapped)).toBe(10);
114
- });
115
- it("should maintain laziness through the chain", function () {
116
- var effect1 = vi.fn(function () { return 1; });
117
- var effect2 = vi.fn(function (n) { return n + 1; });
118
- var io1 = effect1;
119
- var chained = IO.chain(function (n) { return function () { return effect2(n); }; })(io1);
120
- expect(effect1).not.toHaveBeenCalled();
121
- expect(effect2).not.toHaveBeenCalled();
122
- IO.run(chained);
123
- expect(effect1).toHaveBeenCalledTimes(1);
124
- expect(effect2).toHaveBeenCalledTimes(1);
125
- });
126
- });
127
- describe("side effect ordering", function () {
128
- it("should preserve side effect ordering in chain", function () {
129
- var log = [];
130
- var io1 = function () {
131
- log.push("io1");
132
- return 1;
133
- };
134
- var io2 = function (n) {
135
- return function () {
136
- log.push("io2:".concat(n));
137
- return n * 2;
138
- };
139
- };
140
- var io3 = function (n) {
141
- return function () {
142
- log.push("io3:".concat(n));
143
- return n + 1;
144
- };
145
- };
146
- var program = IO.chain(io3)(IO.chain(io2)(io1));
147
- expect(log).toEqual([]);
148
- var result = IO.run(program);
149
- expect(log).toEqual(["io1", "io2:1", "io3:2"]);
150
- expect(result).toBe(3);
151
- });
152
- });
153
- describe("ap", function () {
154
- it("should apply an IO of a function to an IO of a value", function () {
155
- var add = function (a) { return function (b) { return a + b; }; };
156
- var ioFn = IO.of(add(5));
157
- var ioValue = IO.of(3);
158
- var result = IO.ap(ioValue)(ioFn);
159
- expect(IO.run(result)).toBe(8);
160
- });
161
- it("should maintain laziness", function () {
162
- var fnEffect = vi.fn(function () { return function (n) { return n * 2; }; });
163
- var valueEffect = vi.fn(function () { return 5; });
164
- var ioFn = fnEffect;
165
- var ioValue = valueEffect;
166
- var applied = IO.ap(ioValue)(ioFn);
167
- expect(fnEffect).not.toHaveBeenCalled();
168
- expect(valueEffect).not.toHaveBeenCalled();
169
- var result = IO.run(applied);
170
- expect(fnEffect).toHaveBeenCalledTimes(1);
171
- expect(valueEffect).toHaveBeenCalledTimes(1);
172
- expect(result).toBe(10);
173
- });
174
- });
175
- describe("sequence", function () {
176
- it("should convert array of IOs to IO of array", function () {
177
- var ios = [IO.of(1), IO.of(2), IO.of(3)];
178
- var sequenced = IO.sequence(ios);
179
- expect(IO.run(sequenced)).toEqual([1, 2, 3]);
180
- });
181
- it("should execute IOs in order", function () {
182
- var log = [];
183
- var ios = [1, 2, 3].map(function (n) { return function () {
184
- log.push(n);
185
- return n;
186
- }; });
187
- var sequenced = IO.sequence(ios);
188
- expect(log).toEqual([]);
189
- IO.run(sequenced);
190
- expect(log).toEqual([1, 2, 3]);
191
- });
192
- it("should handle empty array", function () {
193
- var sequenced = IO.sequence([]);
194
- expect(IO.run(sequenced)).toEqual([]);
195
- });
196
- });
197
- describe("traverse", function () {
198
- it("should map and sequence", function () {
199
- var fn = function (n) { return IO.of(n * 2); };
200
- var traverse = IO.traverse(fn);
201
- var result = IO.run(traverse([1, 2, 3]));
202
- expect(result).toEqual([2, 4, 6]);
203
- });
204
- it("should handle empty array", function () {
205
- var fn = function (n) { return IO.of(n * 2); };
206
- var traverse = IO.traverse(fn);
207
- var result = IO.run(traverse([]));
208
- expect(result).toEqual([]);
209
- });
210
- it("should execute in order", function () {
211
- var log = [];
212
- var fn = function (n) {
213
- return function () {
214
- log.push("process:".concat(n));
215
- return n * 2;
216
- };
217
- };
218
- var traverse = IO.traverse(fn);
219
- var io = traverse([1, 2, 3]);
220
- expect(log).toEqual([]);
221
- var result = IO.run(io);
222
- expect(log).toEqual(["process:1", "process:2", "process:3"]);
223
- expect(result).toEqual([2, 4, 6]);
224
- });
225
- });
226
- describe("sequenceT", function () {
227
- it("should combine tuple of IOs", function () {
228
- var io1 = IO.of(1);
229
- var io2 = IO.of("hello");
230
- var io3 = IO.of(true);
231
- var result = IO.run(IO.sequenceT(io1, io2, io3));
232
- expect(result).toEqual([1, "hello", true]);
233
- });
234
- it("should handle empty tuple", function () {
235
- var result = IO.run(IO.sequenceT());
236
- expect(result).toEqual([]);
237
- });
238
- it("should maintain laziness", function () {
239
- var effect1 = vi.fn(function () { return 1; });
240
- var effect2 = vi.fn(function () { return "test"; });
241
- var combined = IO.sequenceT(effect1, effect2);
242
- expect(effect1).not.toHaveBeenCalled();
243
- expect(effect2).not.toHaveBeenCalled();
244
- var result = IO.run(combined);
245
- expect(effect1).toHaveBeenCalledTimes(1);
246
- expect(effect2).toHaveBeenCalledTimes(1);
247
- expect(result).toEqual([1, "test"]);
248
- });
249
- });
250
- describe("sequenceS", function () {
251
- it("should combine record of IOs", function () {
252
- var ios = {
253
- a: IO.of(1),
254
- b: IO.of("hello"),
255
- c: IO.of(true),
256
- };
257
- var result = IO.run(IO.sequenceS(ios));
258
- expect(result).toEqual({ a: 1, b: "hello", c: true });
259
- });
260
- it("should handle empty record", function () {
261
- var result = IO.run(IO.sequenceS({}));
262
- expect(result).toEqual({});
263
- });
264
- it("should maintain laziness", function () {
265
- var effects = {
266
- a: vi.fn(function () { return 1; }),
267
- b: vi.fn(function () { return "hello"; }),
268
- };
269
- var ioStruct = {
270
- a: effects.a,
271
- b: effects.b,
272
- };
273
- var sequenced = IO.sequenceS(ioStruct);
274
- expect(effects.a).not.toHaveBeenCalled();
275
- expect(effects.b).not.toHaveBeenCalled();
276
- var result = IO.run(sequenced);
277
- expect(effects.a).toHaveBeenCalledTimes(1);
278
- expect(effects.b).toHaveBeenCalledTimes(1);
279
- expect(result).toEqual({ a: 1, b: "hello" });
280
- });
281
- });
282
- describe("chainFirst", function () {
283
- it("should execute side effect but return original value", function () {
284
- var log = [];
285
- var logIO = function (msg) {
286
- return function () {
287
- log.push(msg);
288
- };
289
- };
290
- var io = IO.of(42);
291
- var withLogging = IO.chainFirst(function (n) { return logIO("Got: ".concat(n)); })(io);
292
- expect(log).toEqual([]);
293
- var result = IO.run(withLogging);
294
- expect(log).toEqual(["Got: 42"]);
295
- expect(result).toBe(42);
296
- });
297
- it("should maintain laziness", function () {
298
- var mainEffect = vi.fn(function () { return 10; });
299
- var sideEffect = vi.fn(function (n) { return "side: ".concat(n); });
300
- var io = mainEffect;
301
- var chained = IO.chainFirst(function (n) { return function () { return sideEffect(n); }; })(io);
302
- expect(mainEffect).not.toHaveBeenCalled();
303
- expect(sideEffect).not.toHaveBeenCalled();
304
- IO.run(chained);
305
- expect(mainEffect).toHaveBeenCalledTimes(1);
306
- expect(sideEffect).toHaveBeenCalledTimes(1);
307
- });
308
- });
309
- describe("error handling", function () {
310
- it("should propagate thrown exceptions", function () {
311
- var throwingIO = function () {
312
- throw new Error("Sync Error");
313
- };
314
- expect(function () { return IO.run(throwingIO); }).toThrow("Sync Error");
315
- });
316
- it("should propagate exceptions through map", function () {
317
- var io = function () {
318
- throw new Error("Original");
319
- };
320
- var mapped = IO.map(function (n) { return n * 2; })(io);
321
- expect(function () { return IO.run(mapped); }).toThrow("Original");
322
- });
323
- it("should propagate exceptions through chain", function () {
324
- var io1 = function () { return 5; };
325
- var io2 = function (_n) {
326
- return function () {
327
- throw new Error("Chain error");
328
- };
329
- };
330
- var chained = IO.chain(io2)(io1);
331
- expect(function () { return IO.run(chained); }).toThrow("Chain error");
332
- });
333
- });
334
- describe("Functor laws", function () {
335
- it("should satisfy identity law: map(id) ≅ id", function () {
336
- var io = IO.of(42);
337
- var id = function (x) { return x; };
338
- var mapped = IO.map(id)(io);
339
- expect(IO.run(io)).toEqual(IO.run(mapped));
340
- });
341
- it("should satisfy composition law: map(g∘f) ≅ map(g)∘map(f)", function () {
342
- var io = IO.of(10);
343
- var f = function (n) { return n * 2; };
344
- var g = function (n) { return n + 1; };
345
- var composed1 = IO.map(function (x) { return g(f(x)); })(io);
346
- var composed2 = IO.map(g)(IO.map(f)(io));
347
- expect(IO.run(composed1)).toEqual(IO.run(composed2));
348
- });
349
- });
350
- describe("Monad laws", function () {
351
- it("should satisfy left identity: chain(f)(of(x)) ≅ f(x)", function () {
352
- var x = 42;
353
- var f = function (n) { return IO.of(n * 2); };
354
- var result1 = IO.run(IO.chain(f)(IO.of(x)));
355
- var result2 = IO.run(f(x));
356
- expect(result1).toEqual(result2);
357
- });
358
- it("should satisfy right identity: chain(of)(m) ≅ m", function () {
359
- var io = IO.of(42);
360
- var chained = IO.chain(IO.of)(io);
361
- expect(IO.run(io)).toEqual(IO.run(chained));
362
- });
363
- it("should satisfy associativity: chain(g)(chain(f)(m)) ≅ chain(x => chain(g)(f(x)))(m)", function () {
364
- var io = IO.of(10);
365
- var f = function (n) { return IO.of(n * 2); };
366
- var g = function (n) { return IO.of(n + 1); };
367
- var left = IO.chain(g)(IO.chain(f)(io));
368
- var right = IO.chain(function (x) { return IO.chain(g)(f(x)); })(io);
369
- expect(IO.run(left)).toEqual(IO.run(right));
370
- });
371
- });
372
- });
373
- //# sourceMappingURL=io.test.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"io.test.mjs","sourceRoot":"","sources":["../src/io.test.mts"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=laws.test.d.mts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"laws.test.d.mts","sourceRoot":"","sources":["../src/laws.test.mts"],"names":[],"mappings":""}