@satoshibits/functional 1.0.3 → 1.1.2

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 (134) hide show
  1. package/README.md +28 -145
  2. package/dist/array-utils.d.mts +13 -0
  3. package/dist/array-utils.d.mts.map +1 -1
  4. package/dist/array-utils.mjs +19 -3
  5. package/dist/array-utils.mjs.map +1 -1
  6. package/dist/array-utils.test.d.ts +2 -0
  7. package/dist/array-utils.test.d.ts.map +1 -0
  8. package/dist/array-utils.test.js +256 -0
  9. package/dist/array-utils.test.js.map +1 -0
  10. package/dist/composition.d.mts +53 -6
  11. package/dist/composition.d.mts.map +1 -1
  12. package/dist/composition.mjs +111 -22
  13. package/dist/composition.mjs.map +1 -1
  14. package/dist/composition.test.d.ts +2 -0
  15. package/dist/composition.test.d.ts.map +1 -0
  16. package/dist/composition.test.js +409 -0
  17. package/dist/composition.test.js.map +1 -0
  18. package/dist/index.d.mts +10 -5
  19. package/dist/index.d.mts.map +1 -1
  20. package/dist/index.mjs +10 -5
  21. package/dist/index.mjs.map +1 -1
  22. package/dist/integration.test.d.mts +2 -0
  23. package/dist/integration.test.d.mts.map +1 -0
  24. package/dist/integration.test.mjs +486 -0
  25. package/dist/integration.test.mjs.map +1 -0
  26. package/dist/io.d.mts +338 -0
  27. package/dist/io.d.mts.map +1 -0
  28. package/dist/io.mjs +389 -0
  29. package/dist/io.mjs.map +1 -0
  30. package/dist/io.test.d.mts +2 -0
  31. package/dist/io.test.d.mts.map +1 -0
  32. package/dist/io.test.mjs +373 -0
  33. package/dist/io.test.mjs.map +1 -0
  34. package/dist/laws.test.d.mts +2 -0
  35. package/dist/laws.test.d.mts.map +1 -0
  36. package/dist/laws.test.mjs +614 -0
  37. package/dist/laws.test.mjs.map +1 -0
  38. package/dist/object-utils.d.mts +11 -0
  39. package/dist/object-utils.d.mts.map +1 -1
  40. package/dist/object-utils.mjs +11 -0
  41. package/dist/object-utils.mjs.map +1 -1
  42. package/dist/object-utils.test.d.ts +2 -0
  43. package/dist/object-utils.test.d.ts.map +1 -0
  44. package/dist/object-utils.test.js +286 -0
  45. package/dist/object-utils.test.js.map +1 -0
  46. package/dist/option-additions.test.d.mts +2 -0
  47. package/dist/option-additions.test.d.mts.map +1 -0
  48. package/dist/option-additions.test.mjs +325 -0
  49. package/dist/option-additions.test.mjs.map +1 -0
  50. package/dist/option.d.mts +202 -58
  51. package/dist/option.d.mts.map +1 -1
  52. package/dist/option.mjs +271 -63
  53. package/dist/option.mjs.map +1 -1
  54. package/dist/option.test.d.ts +6 -0
  55. package/dist/option.test.d.ts.map +1 -0
  56. package/dist/option.test.js +606 -0
  57. package/dist/option.test.js.map +1 -0
  58. package/dist/performance.d.mts +27 -10
  59. package/dist/performance.d.mts.map +1 -1
  60. package/dist/performance.mjs +42 -20
  61. package/dist/performance.mjs.map +1 -1
  62. package/dist/performance.test.d.ts +2 -0
  63. package/dist/performance.test.d.ts.map +1 -0
  64. package/dist/performance.test.js +424 -0
  65. package/dist/performance.test.js.map +1 -0
  66. package/dist/pipeline.d.mts +12 -0
  67. package/dist/pipeline.d.mts.map +1 -1
  68. package/dist/pipeline.mjs +12 -0
  69. package/dist/pipeline.mjs.map +1 -1
  70. package/dist/pipeline.test.d.ts +2 -0
  71. package/dist/pipeline.test.d.ts.map +1 -0
  72. package/dist/pipeline.test.js +445 -0
  73. package/dist/pipeline.test.js.map +1 -0
  74. package/dist/predicates.d.mts +12 -0
  75. package/dist/predicates.d.mts.map +1 -1
  76. package/dist/predicates.mjs +12 -0
  77. package/dist/predicates.mjs.map +1 -1
  78. package/dist/predicates.test.d.ts +2 -0
  79. package/dist/predicates.test.d.ts.map +1 -0
  80. package/dist/predicates.test.js +375 -0
  81. package/dist/predicates.test.js.map +1 -0
  82. package/dist/reader-result.d.mts +37 -16
  83. package/dist/reader-result.d.mts.map +1 -1
  84. package/dist/reader-result.mjs +37 -16
  85. package/dist/reader-result.mjs.map +1 -1
  86. package/dist/reader-result.test.d.ts +2 -0
  87. package/dist/reader-result.test.d.ts.map +1 -0
  88. package/dist/reader-result.test.js +1259 -0
  89. package/dist/reader-result.test.js.map +1 -0
  90. package/dist/reader.d.mts +443 -0
  91. package/dist/reader.d.mts.map +1 -0
  92. package/dist/reader.mjs +456 -0
  93. package/dist/reader.mjs.map +1 -0
  94. package/dist/reader.test.d.mts +2 -0
  95. package/dist/reader.test.d.mts.map +1 -0
  96. package/dist/reader.test.mjs +288 -0
  97. package/dist/reader.test.mjs.map +1 -0
  98. package/dist/result-additions.test.d.mts +2 -0
  99. package/dist/result-additions.test.d.mts.map +1 -0
  100. package/dist/result-additions.test.mjs +325 -0
  101. package/dist/result-additions.test.mjs.map +1 -0
  102. package/dist/result.d.mts +208 -0
  103. package/dist/result.d.mts.map +1 -1
  104. package/dist/result.mjs +287 -0
  105. package/dist/result.mjs.map +1 -1
  106. package/dist/result.test.d.ts +2 -0
  107. package/dist/result.test.d.ts.map +1 -0
  108. package/dist/result.test.js +453 -0
  109. package/dist/result.test.js.map +1 -0
  110. package/dist/task.d.mts +374 -0
  111. package/dist/task.d.mts.map +1 -0
  112. package/dist/task.mjs +386 -0
  113. package/dist/task.mjs.map +1 -0
  114. package/dist/task.test.d.mts +2 -0
  115. package/dist/task.test.d.mts.map +1 -0
  116. package/dist/task.test.mjs +1006 -0
  117. package/dist/task.test.mjs.map +1 -0
  118. package/dist/types.d.mts +12 -0
  119. package/dist/types.d.mts.map +1 -1
  120. package/dist/types.mjs +12 -0
  121. package/dist/types.mjs.map +1 -1
  122. package/dist/types.test.d.ts +6 -0
  123. package/dist/types.test.d.ts.map +1 -0
  124. package/dist/types.test.js +447 -0
  125. package/dist/types.test.js.map +1 -0
  126. package/dist/validation.d.mts +12 -0
  127. package/dist/validation.d.mts.map +1 -1
  128. package/dist/validation.mjs +22 -4
  129. package/dist/validation.mjs.map +1 -1
  130. package/dist/validation.test.d.ts +2 -0
  131. package/dist/validation.test.d.ts.map +1 -0
  132. package/dist/validation.test.js +518 -0
  133. package/dist/validation.test.js.map +1 -0
  134. package/package.json +77 -13
package/dist/option.mjs CHANGED
@@ -6,6 +6,18 @@
6
6
  * Forces explicit handling of edge cases and eliminates null pointer exceptions.
7
7
  * Inspired by functional programming languages like Haskell and Rust.
8
8
  *
9
+ * ### For Dummies
10
+ * - An `Option` is either "Some value" or "None"—no surprises, no `null` pitfalls.
11
+ * - You poke at it with helper functions instead of checking for `null` everywhere.
12
+ * - When you finally need a real value, you decide how to handle the empty case explicitly.
13
+ *
14
+ * ### Decision Tree
15
+ * - Have a definite value? Wrap it with `Option.some(value)`.
16
+ * - Unsure if a value exists? Use `Option.fromNullable(maybeValue)`.
17
+ * - Transforming without changing emptiness? Use `Option.map(fn)`.
18
+ * - Need the next step to also be optional? Use `Option.flatMap(fnReturningOption)`.
19
+ * - Want a default? Call `Option.getOrElse(() => fallback)(option)` at the edge.
20
+ *
9
21
  * @example
10
22
  * ```typescript
11
23
  * import { Option, some, none, fromNullable, map, getOrElse } from './option.mts';
@@ -33,6 +45,17 @@
33
45
  * @category Core
34
46
  * @since 2025-07-03
35
47
  */
48
+ var __assign = (this && this.__assign) || function () {
49
+ __assign = Object.assign || function(t) {
50
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
51
+ s = arguments[i];
52
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
53
+ t[p] = s[p];
54
+ }
55
+ return t;
56
+ };
57
+ return __assign.apply(this, arguments);
58
+ };
36
59
  /**
37
60
  * Creates a Some variant containing the provided value.
38
61
  * @description Wraps a value in the Some variant of Option.
@@ -64,7 +87,7 @@
64
87
  * @since 2025-07-03
65
88
  */
66
89
  export var some = function (value) { return ({
67
- _tag: 'Some',
90
+ _tag: "Some",
68
91
  value: value,
69
92
  }); };
70
93
  /**
@@ -94,7 +117,7 @@ export var some = function (value) { return ({
94
117
  * @since 2025-07-03
95
118
  */
96
119
  export var none = function () { return ({
97
- _tag: 'None',
120
+ _tag: "None",
98
121
  }); };
99
122
  /**
100
123
  * Creates an Option from a nullable value.
@@ -173,7 +196,7 @@ export var fromPredicate = function (predicate) {
173
196
  * return processValue(result.value);
174
197
  */
175
198
  export var isSome = function (option) {
176
- return option._tag === 'Some';
199
+ return option._tag === "Some";
177
200
  };
178
201
  /**
179
202
  * Type guard to check if an Option is None.
@@ -199,7 +222,7 @@ export var isSome = function (option) {
199
222
  * }
200
223
  */
201
224
  export var isNone = function (option) {
202
- return option._tag === 'None';
225
+ return option._tag === "None";
203
226
  };
204
227
  /**
205
228
  * Maps a function over the value in Some, does nothing for None.
@@ -248,8 +271,10 @@ export var map = function (fn) {
248
271
  * @example
249
272
  * // Chaining optional operations
250
273
  * const getManager = (employee: Employee) =>
251
- * Option.fromNullable(employee.managerId)
252
- * .pipe(Option.flatMap(id => findEmployee(id)));
274
+ * pipe(
275
+ * Option.fromNullable(employee.managerId),
276
+ * Option.flatMap(id => findEmployee(id)),
277
+ * );
253
278
  *
254
279
  * @example
255
280
  * // Validation chain
@@ -450,16 +475,16 @@ export var tryCatch = function (fn) {
450
475
  * @example
451
476
  * const logValue = pipe(
452
477
  * Option.some(42),
453
- * Option.tap(value => console.log('Found value:', value))
478
+ * Option.tapOption(value => console.log('Found value:', value))
454
479
  * ); // logs "Found value: 42" and returns Some(42)
455
480
  *
456
481
  * @example
457
482
  * // Debug logging in a chain
458
483
  * const result = pipe(
459
484
  * getUserInput(),
460
- * Option.tap(input => console.log('Raw input:', input)),
485
+ * Option.tapOption(input => console.log('Raw input:', input)),
461
486
  * Option.map(normalize),
462
- * Option.tap(normalized => console.log('Normalized:', normalized)),
487
+ * Option.tapOption(normalized => console.log('Normalized:', normalized)),
463
488
  * Option.filter(isValid)
464
489
  * );
465
490
  *
@@ -467,10 +492,10 @@ export var tryCatch = function (fn) {
467
492
  * // Side effects like analytics
468
493
  * const trackEvent = pipe(
469
494
  * findUser(id),
470
- * Option.tap(user => analytics.track('user.found', { id: user.id }))
495
+ * Option.tapOption(user => analytics.track('user.found', { id: user.id }))
471
496
  * );
472
497
  */
473
- export var tap = function (fn) {
498
+ export var tapOption = function (fn) {
474
499
  return function (option) {
475
500
  if (isSome(option)) {
476
501
  fn(option.value);
@@ -478,30 +503,6 @@ export var tap = function (fn) {
478
503
  return option;
479
504
  };
480
505
  };
481
- /**
482
- * Namespace containing all Option utilities.
483
- *
484
- * @category Namespace
485
- */
486
- export var Option = {
487
- some: some,
488
- none: none,
489
- fromNullable: fromNullable,
490
- fromPredicate: fromPredicate,
491
- tryCatch: tryCatch,
492
- isSome: isSome,
493
- isNone: isNone,
494
- map: map,
495
- flatMap: flatMap,
496
- chain: chain,
497
- getOrElse: getOrElse,
498
- orElse: orElse,
499
- filter: filter,
500
- tap: tap,
501
- match: match,
502
- toNullable: toNullable,
503
- toUndefined: toUndefined,
504
- };
505
506
  /**
506
507
  * Combines two Options using a binary function.
507
508
  * Returns None if either Option is None.
@@ -538,7 +539,7 @@ export var lift2 = function (fn) {
538
539
  *
539
540
  * @category Combinations
540
541
  * @example
541
- * const results = sequence([
542
+ * const results = sequenceOption([
542
543
  * Option.some(1),
543
544
  * Option.some(2),
544
545
  * Option.some(3)
@@ -547,19 +548,19 @@ export var lift2 = function (fn) {
547
548
  *
548
549
  * @example
549
550
  * // Parse multiple values
550
- * const numbers = sequence(
551
+ * const numbers = sequenceOption(
551
552
  * inputs.map(input => parseNumber(input))
552
553
  * );
553
554
  *
554
555
  * @example
555
556
  * // Validate all fields
556
- * const validatedFields = sequence([
557
+ * const validatedFields = sequenceOption([
557
558
  * validateField('name', data.name),
558
559
  * validateField('email', data.email),
559
560
  * validateField('age', data.age)
560
561
  * ]);
561
562
  */
562
- export var sequence = function (options) {
563
+ export var sequenceOption = function (options) {
563
564
  var results = [];
564
565
  for (var _i = 0, options_1 = options; _i < options_1.length; _i++) {
565
566
  var option = options_1[_i];
@@ -570,29 +571,6 @@ export var sequence = function (options) {
570
571
  }
571
572
  return some(results);
572
573
  };
573
- /**
574
- * Applies a function wrapped in an Option to a value wrapped in an Option.
575
- *
576
- * @category Apply
577
- * @example
578
- * const addOne = (n: number) => n + 1;
579
- * const result = ap(Option.some(addOne))(Option.some(5));
580
- * // => Some(6)
581
- *
582
- * @example
583
- * // Partial application with options
584
- * const add = (a: number) => (b: number) => a + b;
585
- * const maybeAdd5 = Option.map(add)(Option.some(5));
586
- * const result = ap(maybeAdd5)(Option.some(3));
587
- * // => Some(8)
588
- */
589
- export var ap = function (optionFn) {
590
- return function (optionA) {
591
- return isSome(optionFn) && isSome(optionA)
592
- ? some(optionFn.value(optionA.value))
593
- : none();
594
- };
595
- };
596
574
  /**
597
575
  * Sequences a struct of Options into an Option of a struct.
598
576
  * Returns Some with the struct of all values if all are Some, None if any is None.
@@ -618,7 +596,10 @@ export var ap = function (optionFn) {
618
596
  * const config = sequenceS({
619
597
  * apiKey: Option.fromNullable(process.env.API_KEY),
620
598
  * port: Option.tryCatch(() => parseInt(process.env.PORT!)),
621
- * debug: Option.fromNullable(process.env.DEBUG).pipe(Option.map(v => v === 'true'))
599
+ * debug: pipe(
600
+ * Option.fromNullable(process.env.DEBUG),
601
+ * Option.map(v => v === 'true'),
602
+ * )
622
603
  * });
623
604
  */
624
605
  export var sequenceS = function (struct) {
@@ -634,4 +615,231 @@ export var sequenceS = function (struct) {
634
615
  }
635
616
  return some(result);
636
617
  };
618
+ /**
619
+ * Executes an Option for its side effects, discarding the result.
620
+ * @description Runs an Option-returning function but preserves the original value.
621
+ * Useful for logging or other side effects where the result isn't needed.
622
+ *
623
+ * @template A - The type of the value
624
+ * @param {function(A): Option<unknown>} f - Function that returns an Option (result discarded)
625
+ * @returns {function(Option<A>): Option<A>} A function that executes side effects
626
+ *
627
+ * @category Combinators
628
+ * @example
629
+ * const log = (msg: string): Option<void> => {
630
+ * console.log(msg);
631
+ * return Option.some(undefined);
632
+ * };
633
+ *
634
+ * const result = Option.chainFirst((n: number) => log(`Got: ${n}`))(
635
+ * Option.some(42)
636
+ * ); // logs "Got: 42", returns Some(42)
637
+ *
638
+ * @since 2025-09-18
639
+ */
640
+ export var chainFirst = function (f) {
641
+ return function (option) {
642
+ if (isNone(option)) {
643
+ return option;
644
+ }
645
+ var sideEffect = f(option.value);
646
+ if (isNone(sideEffect)) {
647
+ return none();
648
+ }
649
+ return option;
650
+ };
651
+ };
652
+ /**
653
+ * Combines Options in a tuple into an Option of a tuple.
654
+ * @description Takes multiple Options and returns an Option containing a tuple
655
+ * of their values. Returns None if any Option is None.
656
+ *
657
+ * @template T - Tuple type of Options
658
+ * @param {...T} options - Options to combine
659
+ * @returns {Option<{ [K in keyof T]: T[K] extends Option<infer U> ? U : never }>} Option of tuple
660
+ *
661
+ * @category Combinators
662
+ * @example
663
+ * const option1 = Option.some(1);
664
+ * const option2 = Option.some('hello');
665
+ * const option3 = Option.some(true);
666
+ *
667
+ * const combined = Option.sequenceT(option1, option2, option3);
668
+ * // => Some([1, 'hello', true])
669
+ *
670
+ * @since 2025-09-18
671
+ */
672
+ export var sequenceT = function () {
673
+ var options = [];
674
+ for (var _i = 0; _i < arguments.length; _i++) {
675
+ options[_i] = arguments[_i];
676
+ }
677
+ var values = [];
678
+ for (var _a = 0, options_2 = options; _a < options_2.length; _a++) {
679
+ var option = options_2[_a];
680
+ if (isNone(option)) {
681
+ return none();
682
+ }
683
+ values.push(option.value);
684
+ }
685
+ return some(values);
686
+ };
687
+ /**
688
+ * Maps a function returning an Option over an array and sequences the results.
689
+ * @description Applies an Option-returning function to each element of an array
690
+ * and collects all results. If any operation returns None, returns None.
691
+ *
692
+ * @template T - The input type
693
+ * @template U - The output type
694
+ * @param {function(T): Option<U>} f - Function that returns an Option
695
+ * @returns {function(T[]): Option<U[]>} A function that traverses arrays with Options
696
+ *
697
+ * @category Combinators
698
+ * @example
699
+ * const parseNumber = (s: string): Option<number> => {
700
+ * const n = Number(s);
701
+ * return isNaN(n) ? Option.none() : Option.some(n);
702
+ * };
703
+ *
704
+ * const parseAll = Option.traverse(parseNumber);
705
+ * parseAll(['1', '2', '3']); // => Some([1, 2, 3])
706
+ * parseAll(['1', 'x', '3']); // => None
707
+ *
708
+ * @since 2025-09-18
709
+ */
710
+ export var traverse = function (f) {
711
+ return function (ts) {
712
+ var results = [];
713
+ for (var _i = 0, ts_1 = ts; _i < ts_1.length; _i++) {
714
+ var t = ts_1[_i];
715
+ var option = f(t);
716
+ if (isNone(option)) {
717
+ return none();
718
+ }
719
+ results.push(option.value);
720
+ }
721
+ return some(results);
722
+ };
723
+ };
724
+ /**
725
+ * Applies an Option of a function to an Option of a value.
726
+ * @description Enables applying functions wrapped in Options to values wrapped
727
+ * in Options. If either Option is None, returns None. This is the
728
+ * applicative apply operation for Option types.
729
+ *
730
+ * @template A - The input type
731
+ * @template B - The output type
732
+ * @param {Option<A>} optionValue - Option containing a value
733
+ * @returns {function(Option<function(A): B>): Option<B>} A function that applies Option functions
734
+ *
735
+ * @category Combinators
736
+ * @example
737
+ * const add = (a: number) => (b: number) => a + b;
738
+ * const optionAdd = Option.some(add);
739
+ * const option5 = Option.some(5);
740
+ * const option3 = Option.some(3);
741
+ *
742
+ * const sum = Option.ap(option3)(
743
+ * Option.ap(option5)(
744
+ * Option.map(add)(Option.some(10))
745
+ * )
746
+ * ); // => Some(18)
747
+ *
748
+ * @since 2025-09-18
749
+ */
750
+ export var ap = function (optionValue) {
751
+ return function (optionFn) {
752
+ if (isNone(optionFn) || isNone(optionValue)) {
753
+ return none();
754
+ }
755
+ return some(optionFn.value(optionValue.value));
756
+ };
757
+ };
758
+ /**
759
+ * Do notation helper for Option types.
760
+ * @description Provides a way to write sequential Option operations in an
761
+ * imperative style, similar to async/await but for Option types.
762
+ *
763
+ * @returns {object} Do notation builder
764
+ *
765
+ * @category Do Notation
766
+ * @example
767
+ * const result = Option.Do()
768
+ * .bind('x', Option.some(5))
769
+ * .bind('y', Option.some(3))
770
+ * .map(({ x, y }) => x + y);
771
+ * // => Some(8)
772
+ *
773
+ * @example
774
+ * const withNone = Option.Do()
775
+ * .bind('x', Option.some(5))
776
+ * .bind('y', Option.none())
777
+ * .map(({ x, y }) => x + y);
778
+ * // => None
779
+ *
780
+ * @example
781
+ * // With dependent bindings
782
+ * const calculation = Option.Do()
783
+ * .bind('a', Option.some(10))
784
+ * .bind('b', ({ a }) => a > 5 ? Option.some(a * 2) : Option.none())
785
+ * .bind('c', ({ b }) => Option.some(b + 1))
786
+ * .map(({ a, b, c }) => ({ original: a, doubled: b, final: c }));
787
+ * // => Some({ original: 10, doubled: 20, final: 21 })
788
+ *
789
+ * @since 2025-09-18
790
+ */
791
+ export var Do = function () {
792
+ var createBuilder = function (context) { return ({
793
+ bind: function (key, option) {
794
+ var _a;
795
+ if (isNone(context)) {
796
+ return createBuilder(context);
797
+ }
798
+ var actualOption = typeof option === "function" ? option(context.value) : option;
799
+ if (isNone(actualOption)) {
800
+ return createBuilder(none());
801
+ }
802
+ return createBuilder(some(__assign(__assign({}, context.value), (_a = {}, _a[key] = actualOption.value, _a))));
803
+ },
804
+ map: function (f) {
805
+ return isSome(context) ? some(f(context.value)) : none();
806
+ },
807
+ flatMap: function (f) {
808
+ return isSome(context) ? f(context.value) : none();
809
+ },
810
+ value: function () { return context; },
811
+ }); };
812
+ return createBuilder(some({}));
813
+ };
814
+ /**
815
+ * Namespace containing all Option utilities.
816
+ *
817
+ * @category Namespace
818
+ */
819
+ export var Option = {
820
+ some: some,
821
+ none: none,
822
+ fromNullable: fromNullable,
823
+ fromPredicate: fromPredicate,
824
+ tryCatch: tryCatch,
825
+ isSome: isSome,
826
+ isNone: isNone,
827
+ map: map,
828
+ flatMap: flatMap,
829
+ chain: chain,
830
+ getOrElse: getOrElse,
831
+ orElse: orElse,
832
+ filter: filter,
833
+ tapOption: tapOption,
834
+ match: match,
835
+ toNullable: toNullable,
836
+ toUndefined: toUndefined,
837
+ ap: ap,
838
+ chainFirst: chainFirst,
839
+ sequenceT: sequenceT,
840
+ traverse: traverse,
841
+ sequenceOption: sequenceOption,
842
+ sequenceS: sequenceS,
843
+ Do: Do,
844
+ };
637
845
  //# sourceMappingURL=option.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"option.mjs","sourceRoot":"","sources":["../src/option.mts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"option.mjs","sourceRoot":"","sources":["../src/option.mts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ /**
2
+ * @module option.test
3
+ * Tests for Option/Maybe type implementation
4
+ */
5
+ export {};
6
+ //# sourceMappingURL=option.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"option.test.d.ts","sourceRoot":"","sources":["../src/option.test.ts"],"names":[],"mappings":"AAAA;;;GAGG"}