@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
@@ -1,486 +0,0 @@
1
- "use strict";
2
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
- return new (P || (P = Promise))(function (resolve, reject) {
5
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
- step((generator = generator.apply(thisArg, _arguments || [])).next());
9
- });
10
- };
11
- var __generator = (this && this.__generator) || function (thisArg, body) {
12
- var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === "function" ? Iterator : Object).prototype);
13
- return g.next = verb(0), g["throw"] = verb(1), g["return"] = verb(2), typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
14
- function verb(n) { return function (v) { return step([n, v]); }; }
15
- function step(op) {
16
- if (f) throw new TypeError("Generator is already executing.");
17
- while (g && (g = 0, op[0] && (_ = 0)), _) try {
18
- if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
19
- if (y = 0, t) op = [op[0] & 2, t.value];
20
- switch (op[0]) {
21
- case 0: case 1: t = op; break;
22
- case 4: _.label++; return { value: op[1], done: false };
23
- case 5: _.label++; y = op[1]; op = [0]; continue;
24
- case 7: op = _.ops.pop(); _.trys.pop(); continue;
25
- default:
26
- if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
27
- if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
28
- if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
29
- if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
30
- if (t[2]) _.ops.pop();
31
- _.trys.pop(); continue;
32
- }
33
- op = body.call(thisArg, _);
34
- } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
35
- if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
36
- }
37
- };
38
- import { describe, expect, it } from "vitest";
39
- import { pipe } from "./composition.mjs";
40
- import { IO } from "./io.mjs";
41
- import { none, Option, some } from "./option.mjs";
42
- import { Reader } from "./reader.mjs";
43
- import { Result } from "./result.mjs";
44
- import { Task } from "./task.mjs";
45
- /**
46
- * Integration tests for cross-module functionality.
47
- * These tests verify that different functional types work well together.
48
- */
49
- describe("Cross-Module Integration", function () {
50
- describe("Task with Result", function () {
51
- it("should compose Task<Result> naturally", function () { return __awaiter(void 0, void 0, void 0, function () {
52
- var taskResult, transformed, result;
53
- return __generator(this, function (_a) {
54
- switch (_a.label) {
55
- case 0:
56
- taskResult = Task.of(Result.ok(42));
57
- transformed = pipe(taskResult, Task.map(Result.map(function (n) { return n * 2; })));
58
- return [4 /*yield*/, Task.run(transformed)];
59
- case 1:
60
- result = _a.sent();
61
- expect(result).toEqual(Result.ok(84));
62
- return [2 /*return*/];
63
- }
64
- });
65
- }); });
66
- it("should handle async operations that can fail", function () { return __awaiter(void 0, void 0, void 0, function () {
67
- var fetchUser, result1, result2;
68
- return __generator(this, function (_a) {
69
- switch (_a.label) {
70
- case 0:
71
- fetchUser = function (id) {
72
- return Task.fromPromise(function () { return __awaiter(void 0, void 0, void 0, function () {
73
- return __generator(this, function (_a) {
74
- switch (_a.label) {
75
- case 0:
76
- if (id <= 0) {
77
- return [2 /*return*/, Result.err("Invalid ID")];
78
- }
79
- // simulate async fetch
80
- return [4 /*yield*/, new Promise(function (resolve) { return setTimeout(resolve, 10); })];
81
- case 1:
82
- // simulate async fetch
83
- _a.sent();
84
- return [2 /*return*/, Result.ok({ name: "User".concat(id) })];
85
- }
86
- });
87
- }); });
88
- };
89
- return [4 /*yield*/, Task.run(fetchUser(1))];
90
- case 1:
91
- result1 = _a.sent();
92
- expect(result1).toEqual(Result.ok({ name: "User1" }));
93
- return [4 /*yield*/, Task.run(fetchUser(-1))];
94
- case 2:
95
- result2 = _a.sent();
96
- expect(result2).toEqual(Result.err("Invalid ID"));
97
- return [2 /*return*/];
98
- }
99
- });
100
- }); });
101
- it("should chain Task<Result> operations", function () { return __awaiter(void 0, void 0, void 0, function () {
102
- var parseNumber, fetchMultiplier, program, _a, _b, _c;
103
- return __generator(this, function (_d) {
104
- switch (_d.label) {
105
- case 0:
106
- parseNumber = function (s) {
107
- var n = Number(s);
108
- return isNaN(n) ? Result.err("Not a number") : Result.ok(n);
109
- };
110
- fetchMultiplier = function (n) {
111
- return Task.of(n > 0 ? Result.ok(n * 2) : Result.err("Must be positive"));
112
- };
113
- program = function (input) {
114
- return pipe(Task.of(parseNumber(input)), Task.chain(function (result) {
115
- return Result.isOk(result)
116
- ? fetchMultiplier(result.data)
117
- : Task.of(result);
118
- }));
119
- };
120
- _a = expect;
121
- return [4 /*yield*/, Task.run(program("5"))];
122
- case 1:
123
- _a.apply(void 0, [_d.sent()]).toEqual(Result.ok(10));
124
- _b = expect;
125
- return [4 /*yield*/, Task.run(program("-5"))];
126
- case 2:
127
- _b.apply(void 0, [_d.sent()]).toEqual(Result.err("Must be positive"));
128
- _c = expect;
129
- return [4 /*yield*/, Task.run(program("abc"))];
130
- case 3:
131
- _c.apply(void 0, [_d.sent()]).toEqual(Result.err("Not a number"));
132
- return [2 /*return*/];
133
- }
134
- });
135
- }); });
136
- });
137
- describe("Task with Option", function () {
138
- it("should compose Task<Option> for nullable async operations", function () { return __awaiter(void 0, void 0, void 0, function () {
139
- var findUser, getUserName, _a, _b;
140
- return __generator(this, function (_c) {
141
- switch (_c.label) {
142
- case 0:
143
- findUser = function (id) {
144
- return Task.of(id > 0 ? some({ name: "User".concat(id) }) : none());
145
- };
146
- getUserName = function (id) {
147
- return pipe(findUser(id), Task.map(Option.map(function (user) { return user.name; })));
148
- };
149
- _a = expect;
150
- return [4 /*yield*/, Task.run(getUserName(1))];
151
- case 1:
152
- _a.apply(void 0, [_c.sent()]).toEqual(some("User1"));
153
- _b = expect;
154
- return [4 /*yield*/, Task.run(getUserName(-1))];
155
- case 2:
156
- _b.apply(void 0, [_c.sent()]).toEqual(none());
157
- return [2 /*return*/];
158
- }
159
- });
160
- }); });
161
- });
162
- describe("Reader with Result", function () {
163
- it("should combine Reader and Result for config-dependent operations", function () {
164
- var validateApiKey = Reader.asks(function (config) {
165
- return config.apiKey.length > 0
166
- ? Result.ok(config.apiKey)
167
- : Result.err("API key is required");
168
- });
169
- var config1 = { maxRetries: 3, apiKey: "secret123" };
170
- var config2 = { maxRetries: 3, apiKey: "" };
171
- expect(Reader.run(config1)(validateApiKey)).toEqual(Result.ok("secret123"));
172
- expect(Reader.run(config2)(validateApiKey)).toEqual(Result.err("API key is required"));
173
- });
174
- it("should chain Reader<Result> operations", function () {
175
- var getApiKey = Reader.asks(function (c) {
176
- return c.apiKey ? Result.ok(c.apiKey) : Result.err("No API key");
177
- });
178
- var getRetries = Reader.asks(function (c) {
179
- return c.maxRetries > 0
180
- ? Result.ok(c.maxRetries)
181
- : Result.err("Invalid retries");
182
- });
183
- var buildRequest = Reader.chain(function (keyResult) {
184
- return Reader.chain(function (retriesResult) {
185
- return Reader.of(Result.isOk(keyResult) && Result.isOk(retriesResult)
186
- ? Result.ok({ key: keyResult.data, retries: retriesResult.data })
187
- : Result.err(Result.isErr(keyResult)
188
- ? keyResult.error
189
- : Result.isErr(retriesResult)
190
- ? retriesResult.error
191
- : "Unknown error"));
192
- })(getRetries);
193
- })(getApiKey);
194
- var config = { maxRetries: 3, apiKey: "key123" };
195
- expect(Reader.run(config)(buildRequest)).toEqual(Result.ok({ key: "key123", retries: 3 }));
196
- });
197
- it("should handle errors in Reader<Result> chains", function () {
198
- var getApiKey = Reader.asks(function (c) {
199
- return c.apiKey ? Result.ok(c.apiKey) : Result.err("No API key");
200
- });
201
- var getRetries = Reader.asks(function (c) {
202
- return c.maxRetries > 0
203
- ? Result.ok(c.maxRetries)
204
- : Result.err("Invalid retries");
205
- });
206
- var buildRequest = Reader.chain(function (keyResult) {
207
- return Reader.chain(function (retriesResult) {
208
- return Reader.of(Result.isOk(keyResult) && Result.isOk(retriesResult)
209
- ? Result.ok({ key: keyResult.data, retries: retriesResult.data })
210
- : Result.err(Result.isErr(keyResult)
211
- ? keyResult.error
212
- : Result.isErr(retriesResult)
213
- ? retriesResult.error
214
- : "Unknown error"));
215
- })(getRetries);
216
- })(getApiKey);
217
- // test missing api key
218
- var configNoKey = { maxRetries: 3, apiKey: "" };
219
- expect(Reader.run(configNoKey)(buildRequest)).toEqual(Result.err("No API key"));
220
- // test invalid retries
221
- var configBadRetries = { maxRetries: 0, apiKey: "key123" };
222
- expect(Reader.run(configBadRetries)(buildRequest)).toEqual(Result.err("Invalid retries"));
223
- // test both failures (should return first error)
224
- var configBothBad = { maxRetries: -1, apiKey: "" };
225
- expect(Reader.run(configBothBad)(buildRequest)).toEqual(Result.err("No API key"));
226
- });
227
- });
228
- describe("Reader with Task", function () {
229
- it("should combine Reader and Task for async config-dependent operations", function () { return __awaiter(void 0, void 0, void 0, function () {
230
- var fetchData, config, task, result;
231
- return __generator(this, function (_a) {
232
- switch (_a.label) {
233
- case 0:
234
- fetchData = Reader.asks(function (config) {
235
- return Task.fromPromise(function () { return __awaiter(void 0, void 0, void 0, function () {
236
- return __generator(this, function (_a) {
237
- switch (_a.label) {
238
- case 0: return [4 /*yield*/, new Promise(function (resolve) { return setTimeout(resolve, 10); })];
239
- case 1:
240
- _a.sent();
241
- return [2 /*return*/, "Data from ".concat(config.baseUrl)];
242
- }
243
- });
244
- }); });
245
- });
246
- config = {
247
- baseUrl: "https://api.example.com",
248
- timeout: 5000,
249
- };
250
- task = Reader.run(config)(fetchData);
251
- return [4 /*yield*/, Task.run(task)];
252
- case 1:
253
- result = _a.sent();
254
- expect(result).toBe("Data from https://api.example.com");
255
- return [2 /*return*/];
256
- }
257
- });
258
- }); });
259
- });
260
- describe("IO with Result", function () {
261
- it("should combine IO and Result for synchronous fallible operations", function () {
262
- var counter = 0;
263
- var incrementAndCheck = function () {
264
- counter++;
265
- return counter <= 3 ? Result.ok(counter) : Result.err("Too many calls");
266
- };
267
- expect(IO.run(incrementAndCheck)).toEqual(Result.ok(1));
268
- expect(IO.run(incrementAndCheck)).toEqual(Result.ok(2));
269
- expect(IO.run(incrementAndCheck)).toEqual(Result.ok(3));
270
- expect(IO.run(incrementAndCheck)).toEqual(Result.err("Too many calls"));
271
- });
272
- });
273
- describe("Complex composition scenarios", function () {
274
- it("should handle Task<Reader<Config, Result<T, E>>>", function () { return __awaiter(void 0, void 0, void 0, function () {
275
- var checkFeature, config, result1, result2;
276
- return __generator(this, function (_a) {
277
- switch (_a.label) {
278
- case 0:
279
- checkFeature = function (value) {
280
- return Task.of(Reader.asks(function (config) {
281
- if (!config.feature.enabled) {
282
- return Result.err("Feature disabled");
283
- }
284
- if (value > config.feature.limit) {
285
- return Result.err("Value ".concat(value, " exceeds limit ").concat(config.feature.limit));
286
- }
287
- return Result.ok(value * 2);
288
- }));
289
- };
290
- config = { feature: { enabled: true, limit: 100 } };
291
- return [4 /*yield*/, Task.run(Task.map(Reader.run(config))(checkFeature(50)))];
292
- case 1:
293
- result1 = _a.sent();
294
- expect(result1).toEqual(Result.ok(100));
295
- return [4 /*yield*/, Task.run(Task.map(Reader.run(config))(checkFeature(150)))];
296
- case 2:
297
- result2 = _a.sent();
298
- expect(result2).toEqual(Result.err("Value 150 exceeds limit 100"));
299
- return [2 /*return*/];
300
- }
301
- });
302
- }); });
303
- it("should handle IO<Option<Result<T, E>>>", function () {
304
- var complexOperation = function (input) {
305
- return function () {
306
- if (!input) {
307
- return none();
308
- }
309
- var n = Number(input);
310
- if (isNaN(n)) {
311
- return some(Result.err("Invalid number"));
312
- }
313
- return some(Result.ok(n));
314
- };
315
- };
316
- expect(IO.run(complexOperation(""))).toEqual(none());
317
- expect(IO.run(complexOperation("42"))).toEqual(some(Result.ok(42)));
318
- expect(IO.run(complexOperation("abc"))).toEqual(some(Result.err("Invalid number")));
319
- });
320
- it("should handle nested transformations across types", function () { return __awaiter(void 0, void 0, void 0, function () {
321
- var fetchOptionalData, transformed, result;
322
- return __generator(this, function (_a) {
323
- switch (_a.label) {
324
- case 0:
325
- fetchOptionalData = function (id) {
326
- return Task.fromPromise(function () { return Promise.resolve(id === 0 ? none() :
327
- id < 0 ? some(Result.err("Invalid ID")) :
328
- some(Result.ok("Data".concat(id)))); });
329
- };
330
- transformed = pipe(fetchOptionalData(1), Task.map(Option.map(Result.map(function (s) { return s.toUpperCase(); }))));
331
- return [4 /*yield*/, Task.run(transformed)];
332
- case 1:
333
- result = _a.sent();
334
- expect(result).toEqual(some(Result.ok("DATA1")));
335
- return [2 /*return*/];
336
- }
337
- });
338
- }); });
339
- });
340
- describe("Error propagation across types", function () {
341
- it("should propagate errors correctly through Task<Result>", function () { return __awaiter(void 0, void 0, void 0, function () {
342
- var errorTask;
343
- return __generator(this, function (_a) {
344
- switch (_a.label) {
345
- case 0:
346
- errorTask = Task.fromPromise(function () {
347
- return Promise.reject(new Error("Network error"));
348
- });
349
- return [4 /*yield*/, expect(Task.run(errorTask)).rejects.toThrow("Network error")];
350
- case 1:
351
- _a.sent();
352
- return [2 /*return*/];
353
- }
354
- });
355
- }); });
356
- it("should handle Option.none() in different contexts", function () {
357
- var noneToResult = function (opt) {
358
- return Option.isSome(opt) ? Result.ok(opt.value) : Result.err("No value");
359
- };
360
- expect(noneToResult(some(42))).toEqual(Result.ok(42));
361
- expect(noneToResult(none())).toEqual(Result.err("No value"));
362
- });
363
- it("should chain operations with mixed success/failure", function () { return __awaiter(void 0, void 0, void 0, function () {
364
- var step1, step2, program, _a, _b, _c;
365
- return __generator(this, function (_d) {
366
- switch (_d.label) {
367
- case 0:
368
- step1 = function (n) {
369
- return Task.of(n > 0 ? Result.ok(n * 2) : Result.err("Must be positive"));
370
- };
371
- step2 = function (n) {
372
- return n > 10 ? Result.ok(some(n)) : Result.ok(none());
373
- };
374
- program = function (input) { return __awaiter(void 0, void 0, void 0, function () {
375
- var r1;
376
- return __generator(this, function (_a) {
377
- switch (_a.label) {
378
- case 0: return [4 /*yield*/, Task.run(step1(input))];
379
- case 1:
380
- r1 = _a.sent();
381
- if (Result.isErr(r1))
382
- return [2 /*return*/, r1];
383
- return [2 /*return*/, step2(r1.data)];
384
- }
385
- });
386
- }); };
387
- _a = expect;
388
- return [4 /*yield*/, program(5)];
389
- case 1:
390
- _a.apply(void 0, [_d.sent()]).toEqual(Result.ok(none())); // 5 * 2 = 10, not > 10
391
- _b = expect;
392
- return [4 /*yield*/, program(10)];
393
- case 2:
394
- _b.apply(void 0, [_d.sent()]).toEqual(Result.ok(some(20))); // 10 * 2 = 20, > 10
395
- _c = expect;
396
- return [4 /*yield*/, program(-5)];
397
- case 3:
398
- _c.apply(void 0, [_d.sent()]).toEqual(Result.err("Must be positive"));
399
- return [2 /*return*/];
400
- }
401
- });
402
- }); });
403
- });
404
- describe("Real-world patterns", function () {
405
- it("should handle API request pattern with retries", function () { return __awaiter(void 0, void 0, void 0, function () {
406
- var attempts, apiCall, withRetry, config, task, result;
407
- return __generator(this, function (_a) {
408
- switch (_a.label) {
409
- case 0:
410
- attempts = 0;
411
- apiCall = Reader.asks(function (config) {
412
- return Task.fromPromise(function () {
413
- attempts++;
414
- return Promise.resolve(attempts < config.maxRetries
415
- ? Result.err("Attempt ".concat(attempts, " failed"))
416
- : Result.ok("Success after ".concat(attempts, " attempts")));
417
- });
418
- });
419
- withRetry = function (task, retries) {
420
- return Task.chain(function (result) {
421
- return Result.isErr(result) && retries > 0
422
- ? withRetry(task, retries - 1)
423
- : Task.of(result);
424
- })(task);
425
- };
426
- config = {
427
- baseUrl: "https://api.example.com",
428
- maxRetries: 3,
429
- };
430
- task = Reader.run(config)(apiCall);
431
- return [4 /*yield*/, Task.run(withRetry(task, config.maxRetries))];
432
- case 1:
433
- result = _a.sent();
434
- expect(result).toEqual(Result.ok("Success after 3 attempts"));
435
- expect(attempts).toBe(3);
436
- return [2 /*return*/];
437
- }
438
- });
439
- }); });
440
- it("should handle form validation pattern", function () {
441
- var validateUsername = function (username) {
442
- return username.length >= 3
443
- ? Result.ok(username)
444
- : Result.err("Username too short");
445
- };
446
- var validateEmail = function (email) {
447
- return email.includes("@") ? Result.ok(email) : Result.err("Invalid email");
448
- };
449
- var validateAge = function (age) {
450
- var n = Number(age);
451
- if (isNaN(n))
452
- return Result.err("Age must be a number");
453
- if (n < 18)
454
- return Result.err("Must be 18 or older");
455
- return Result.ok(n);
456
- };
457
- var validateForm = function (data) {
458
- return Result.Do()
459
- .bind("username", validateUsername(data.username))
460
- .bind("email", validateEmail(data.email))
461
- .bind("age", validateAge(data.age))
462
- .map(function (_a) {
463
- var username = _a.username, email = _a.email, age = _a.age;
464
- return ({
465
- username: username,
466
- email: email,
467
- age: age,
468
- });
469
- });
470
- };
471
- var validData = {
472
- username: "john",
473
- email: "john@example.com",
474
- age: "25",
475
- };
476
- var invalidData = {
477
- username: "jo",
478
- email: "john@example.com",
479
- age: "25",
480
- };
481
- expect(validateForm(validData)).toEqual(Result.ok({ username: "john", email: "john@example.com", age: 25 }));
482
- expect(validateForm(invalidData)).toEqual(Result.err("Username too short"));
483
- });
484
- });
485
- });
486
- //# sourceMappingURL=integration.test.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"integration.test.mjs","sourceRoot":"","sources":["../src/integration.test.mts"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=io.test.d.mts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"io.test.d.mts","sourceRoot":"","sources":["../src/io.test.mts"],"names":[],"mappings":""}