@ddd-ts/shape 0.0.0-test-concurrency.5 → 0.0.0-ts-6-compat.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 (123) hide show
  1. package/LICENSE +21 -0
  2. package/dist/_.d.ts +7 -7
  3. package/dist/_.d.ts.map +1 -1
  4. package/dist/_.js +34 -51
  5. package/dist/_.mjs +36 -0
  6. package/dist/addons/microsecond-timestamp.d.ts +24 -0
  7. package/dist/addons/microsecond-timestamp.d.ts.map +1 -0
  8. package/dist/addons/microsecond-timestamp.js +62 -0
  9. package/dist/addons/microsecond-timestamp.mjs +61 -0
  10. package/dist/choice.d.ts +13 -26
  11. package/dist/choice.d.ts.map +1 -1
  12. package/dist/choice.js +43 -47
  13. package/dist/choice.mjs +44 -0
  14. package/dist/class.d.ts +8 -7
  15. package/dist/class.d.ts.map +1 -1
  16. package/dist/class.js +29 -30
  17. package/dist/class.mjs +30 -0
  18. package/dist/deserialization-error.d.ts +32 -0
  19. package/dist/deserialization-error.d.ts.map +1 -0
  20. package/dist/deserialization-error.js +45 -0
  21. package/dist/deserialization-error.mjs +44 -0
  22. package/dist/dict.d.ts +25 -13
  23. package/dist/dict.d.ts.map +1 -1
  24. package/dist/dict.js +46 -44
  25. package/dist/dict.mjs +47 -0
  26. package/dist/discriminated-union.d.ts +16 -17
  27. package/dist/discriminated-union.d.ts.map +1 -1
  28. package/dist/discriminated-union.js +61 -92
  29. package/dist/discriminated-union.mjs +66 -0
  30. package/dist/either.d.ts +56 -12
  31. package/dist/either.d.ts.map +1 -1
  32. package/dist/either.js +50 -61
  33. package/dist/either.mjs +51 -0
  34. package/dist/index.d.ts +2 -0
  35. package/dist/index.d.ts.map +1 -1
  36. package/dist/index.js +34 -29
  37. package/dist/index.mjs +16 -0
  38. package/dist/literal.d.ts +5 -7
  39. package/dist/literal.d.ts.map +1 -1
  40. package/dist/literal.js +26 -26
  41. package/dist/literal.mjs +27 -0
  42. package/dist/mapping.d.ts +16 -12
  43. package/dist/mapping.d.ts.map +1 -1
  44. package/dist/mapping.js +37 -49
  45. package/dist/mapping.mjs +38 -0
  46. package/dist/multiple.d.ts +10 -100
  47. package/dist/multiple.d.ts.map +1 -1
  48. package/dist/multiple.js +126 -105
  49. package/dist/multiple.mjs +127 -0
  50. package/dist/nothing.d.ts +2 -2
  51. package/dist/nothing.d.ts.map +1 -1
  52. package/dist/nothing.js +18 -18
  53. package/dist/nothing.mjs +19 -0
  54. package/dist/optional.d.ts +12 -14
  55. package/dist/optional.d.ts.map +1 -1
  56. package/dist/optional.js +33 -40
  57. package/dist/optional.mjs +34 -0
  58. package/dist/primitive.d.ts +5 -7
  59. package/dist/primitive.d.ts.map +1 -1
  60. package/dist/primitive.js +29 -29
  61. package/dist/primitive.mjs +30 -0
  62. package/package.json +24 -9
  63. package/dist/_.js.map +0 -1
  64. package/dist/choice.js.map +0 -1
  65. package/dist/choice.spec.d.ts +0 -2
  66. package/dist/choice.spec.d.ts.map +0 -1
  67. package/dist/choice.spec.js +0 -147
  68. package/dist/choice.spec.js.map +0 -1
  69. package/dist/class.js.map +0 -1
  70. package/dist/class.spec.d.ts +0 -2
  71. package/dist/class.spec.d.ts.map +0 -1
  72. package/dist/class.spec.js +0 -39
  73. package/dist/class.spec.js.map +0 -1
  74. package/dist/dict.js.map +0 -1
  75. package/dist/dict.spec.d.ts +0 -2
  76. package/dist/dict.spec.d.ts.map +0 -1
  77. package/dist/dict.spec.js +0 -180
  78. package/dist/dict.spec.js.map +0 -1
  79. package/dist/discriminated-union.js.map +0 -1
  80. package/dist/discriminated-union.spec.d.ts +0 -2
  81. package/dist/discriminated-union.spec.d.ts.map +0 -1
  82. package/dist/discriminated-union.spec.js +0 -262
  83. package/dist/discriminated-union.spec.js.map +0 -1
  84. package/dist/either.js.map +0 -1
  85. package/dist/either.spec.d.ts +0 -2
  86. package/dist/either.spec.d.ts.map +0 -1
  87. package/dist/either.spec.js +0 -211
  88. package/dist/either.spec.js.map +0 -1
  89. package/dist/index.js.map +0 -1
  90. package/dist/literal.js.map +0 -1
  91. package/dist/literal.spec.d.ts +0 -2
  92. package/dist/literal.spec.d.ts.map +0 -1
  93. package/dist/literal.spec.js +0 -162
  94. package/dist/literal.spec.js.map +0 -1
  95. package/dist/mapping.js.map +0 -1
  96. package/dist/mapping.spec.d.ts +0 -2
  97. package/dist/mapping.spec.d.ts.map +0 -1
  98. package/dist/mapping.spec.js +0 -207
  99. package/dist/mapping.spec.js.map +0 -1
  100. package/dist/multiple.js.map +0 -1
  101. package/dist/multiple.spec.d.ts +0 -2
  102. package/dist/multiple.spec.d.ts.map +0 -1
  103. package/dist/multiple.spec.js +0 -207
  104. package/dist/multiple.spec.js.map +0 -1
  105. package/dist/nothing.js.map +0 -1
  106. package/dist/nothing.spec.d.ts +0 -2
  107. package/dist/nothing.spec.d.ts.map +0 -1
  108. package/dist/nothing.spec.js +0 -172
  109. package/dist/nothing.spec.js.map +0 -1
  110. package/dist/optional.js.map +0 -1
  111. package/dist/optional.spec.d.ts +0 -2
  112. package/dist/optional.spec.d.ts.map +0 -1
  113. package/dist/optional.spec.js +0 -172
  114. package/dist/optional.spec.js.map +0 -1
  115. package/dist/primitive.js.map +0 -1
  116. package/dist/primitive.spec.d.ts +0 -2
  117. package/dist/primitive.spec.d.ts.map +0 -1
  118. package/dist/primitive.spec.js +0 -162
  119. package/dist/primitive.spec.js.map +0 -1
  120. package/dist/test.d.ts +0 -36
  121. package/dist/test.d.ts.map +0 -1
  122. package/dist/test.js +0 -45
  123. package/dist/test.js.map +0 -1
package/dist/multiple.js CHANGED
@@ -1,106 +1,127 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.Multiple = void 0;
4
- const _1 = require("./_");
5
- const Multiple = (of, base = _1.Empty) => {
6
- const longhand = (0, _1.Shape)(of);
7
- class $Multiple extends base {
8
- value;
9
- constructor(value) {
10
- super();
11
- this.value = value;
12
- }
13
- static $shape = "multiple";
14
- serialize() {
15
- return $Multiple.$serialize(this.value);
16
- }
17
- static deserialize(value) {
18
- return new this($Multiple.$deserialize(value));
19
- }
20
- static $deserialize(value) {
21
- return value.map(longhand.$deserialize);
22
- }
23
- static $serialize(value) {
24
- return value.map(longhand.$serialize);
25
- }
26
- [Symbol.iterator]() {
27
- return this.value[Symbol.iterator]();
28
- }
29
- static $inline;
30
- get map() {
31
- return this.value.map.bind(this.value);
32
- }
33
- get reduce() {
34
- return this.value.reduce.bind(this.value);
35
- }
36
- get filter() {
37
- return this.value.filter.bind(this.value);
38
- }
39
- get forEach() {
40
- return this.value.forEach.bind(this.value);
41
- }
42
- get some() {
43
- return this.value.some.bind(this.value);
44
- }
45
- get every() {
46
- return this.value.every.bind(this.value);
47
- }
48
- get find() {
49
- return this.value.find.bind(this.value);
50
- }
51
- get findIndex() {
52
- return this.value.findIndex.bind(this.value);
53
- }
54
- get indexOf() {
55
- return this.value.indexOf.bind(this.value);
56
- }
57
- get lastIndexOf() {
58
- return this.value.lastIndexOf.bind(this.value);
59
- }
60
- get includes() {
61
- return this.value.includes.bind(this.value);
62
- }
63
- get keys() {
64
- return this.value.keys.bind(this.value);
65
- }
66
- get values() {
67
- return this.value.values.bind(this.value);
68
- }
69
- get entries() {
70
- return this.value.entries.bind(this.value);
71
- }
72
- get at() {
73
- return this.value.at.bind(this.value);
74
- }
75
- get concat() {
76
- return this.value.concat.bind(this.value);
77
- }
78
- get flat() {
79
- return this.value.flat.bind(this.value);
80
- }
81
- get splice() {
82
- return this.value.splice.bind(this.value);
83
- }
84
- get flatMap() {
85
- return this.value.flatMap.bind(this.value);
86
- }
87
- get push() {
88
- return this.value.push.bind(this.value);
89
- }
90
- get pop() {
91
- return this.value.pop.bind(this.value);
92
- }
93
- get sort() {
94
- return this.value.sort.bind(this.value);
95
- }
96
- get slice() {
97
- return this.value.slice.bind(this.value);
98
- }
99
- get length() {
100
- return this.value.length;
101
- }
102
- }
103
- return $Multiple;
1
+ const require_deserialization_error = require('./deserialization-error.js');
2
+ const require__ = require('./_.js');
3
+
4
+ //#region src/multiple.ts
5
+ const Multiple = (of, base = require__.Empty) => {
6
+ const longhand = require__.Shape(of);
7
+ class $Multiple extends base {
8
+ constructor(value) {
9
+ super();
10
+ this.value = value;
11
+ }
12
+ static $shape = "multiple";
13
+ serialize() {
14
+ return $Multiple.$serialize(this.value);
15
+ }
16
+ static deserialize(value) {
17
+ return new this($Multiple.$deserialize(value));
18
+ }
19
+ static $deserialize(value) {
20
+ const deserialize = longhand.$deserialize;
21
+ return value.map((item, index) => {
22
+ try {
23
+ return deserialize(item);
24
+ } catch (err) {
25
+ throw require_deserialization_error.DeserializationError.wrap(err, String(index), item);
26
+ }
27
+ });
28
+ }
29
+ static $serialize(value) {
30
+ return value.map(longhand.$serialize);
31
+ }
32
+ [Symbol.iterator]() {
33
+ return this.value[Symbol.iterator]();
34
+ }
35
+ get map() {
36
+ return this.value.map.bind(this.value);
37
+ }
38
+ get reduce() {
39
+ return this.value.reduce.bind(this.value);
40
+ }
41
+ get filter() {
42
+ return this.value.filter.bind(this.value);
43
+ }
44
+ get forEach() {
45
+ return this.value.forEach.bind(this.value);
46
+ }
47
+ get some() {
48
+ return this.value.some.bind(this.value);
49
+ }
50
+ get every() {
51
+ return this.value.every.bind(this.value);
52
+ }
53
+ get find() {
54
+ return this.value.find.bind(this.value);
55
+ }
56
+ get findIndex() {
57
+ return this.value.findIndex.bind(this.value);
58
+ }
59
+ get indexOf() {
60
+ return this.value.indexOf.bind(this.value);
61
+ }
62
+ get lastIndexOf() {
63
+ return this.value.lastIndexOf.bind(this.value);
64
+ }
65
+ get includes() {
66
+ return this.value.includes.bind(this.value);
67
+ }
68
+ get keys() {
69
+ return this.value.keys.bind(this.value);
70
+ }
71
+ get values() {
72
+ return this.value.values.bind(this.value);
73
+ }
74
+ get entries() {
75
+ return this.value.entries.bind(this.value);
76
+ }
77
+ get at() {
78
+ return this.value.at.bind(this.value);
79
+ }
80
+ get concat() {
81
+ return this.value.concat.bind(this.value);
82
+ }
83
+ get flat() {
84
+ return this.value.flat.bind(this.value);
85
+ }
86
+ get splice() {
87
+ return this.value.splice.bind(this.value);
88
+ }
89
+ get flatMap() {
90
+ return this.value.flatMap.bind(this.value);
91
+ }
92
+ get push() {
93
+ return this.value.push.bind(this.value);
94
+ }
95
+ get pop() {
96
+ return this.value.pop.bind(this.value);
97
+ }
98
+ get sort() {
99
+ return this.value.sort.bind(this.value);
100
+ }
101
+ get slice() {
102
+ return this.value.slice.bind(this.value);
103
+ }
104
+ get length() {
105
+ return this.value.length;
106
+ }
107
+ get fill() {
108
+ return this.value.fill.bind(this.value);
109
+ }
110
+ get copyWithin() {
111
+ return this.value.copyWithin.bind(this.value);
112
+ }
113
+ get reverse() {
114
+ return this.value.reverse.bind(this.value);
115
+ }
116
+ get shift() {
117
+ return this.value.shift.bind(this.value);
118
+ }
119
+ get unshift() {
120
+ return this.value.unshift.bind(this.value);
121
+ }
122
+ }
123
+ return $Multiple;
104
124
  };
105
- exports.Multiple = Multiple;
106
- //# sourceMappingURL=multiple.js.map
125
+
126
+ //#endregion
127
+ exports.Multiple = Multiple;
@@ -0,0 +1,127 @@
1
+ import { DeserializationError } from "./deserialization-error.mjs";
2
+ import { Empty, Shape } from "./_.mjs";
3
+
4
+ //#region src/multiple.ts
5
+ const Multiple = (of, base = Empty) => {
6
+ const longhand = Shape(of);
7
+ class $Multiple extends base {
8
+ constructor(value) {
9
+ super();
10
+ this.value = value;
11
+ }
12
+ static $shape = "multiple";
13
+ serialize() {
14
+ return $Multiple.$serialize(this.value);
15
+ }
16
+ static deserialize(value) {
17
+ return new this($Multiple.$deserialize(value));
18
+ }
19
+ static $deserialize(value) {
20
+ const deserialize = longhand.$deserialize;
21
+ return value.map((item, index) => {
22
+ try {
23
+ return deserialize(item);
24
+ } catch (err) {
25
+ throw DeserializationError.wrap(err, String(index), item);
26
+ }
27
+ });
28
+ }
29
+ static $serialize(value) {
30
+ return value.map(longhand.$serialize);
31
+ }
32
+ [Symbol.iterator]() {
33
+ return this.value[Symbol.iterator]();
34
+ }
35
+ get map() {
36
+ return this.value.map.bind(this.value);
37
+ }
38
+ get reduce() {
39
+ return this.value.reduce.bind(this.value);
40
+ }
41
+ get filter() {
42
+ return this.value.filter.bind(this.value);
43
+ }
44
+ get forEach() {
45
+ return this.value.forEach.bind(this.value);
46
+ }
47
+ get some() {
48
+ return this.value.some.bind(this.value);
49
+ }
50
+ get every() {
51
+ return this.value.every.bind(this.value);
52
+ }
53
+ get find() {
54
+ return this.value.find.bind(this.value);
55
+ }
56
+ get findIndex() {
57
+ return this.value.findIndex.bind(this.value);
58
+ }
59
+ get indexOf() {
60
+ return this.value.indexOf.bind(this.value);
61
+ }
62
+ get lastIndexOf() {
63
+ return this.value.lastIndexOf.bind(this.value);
64
+ }
65
+ get includes() {
66
+ return this.value.includes.bind(this.value);
67
+ }
68
+ get keys() {
69
+ return this.value.keys.bind(this.value);
70
+ }
71
+ get values() {
72
+ return this.value.values.bind(this.value);
73
+ }
74
+ get entries() {
75
+ return this.value.entries.bind(this.value);
76
+ }
77
+ get at() {
78
+ return this.value.at.bind(this.value);
79
+ }
80
+ get concat() {
81
+ return this.value.concat.bind(this.value);
82
+ }
83
+ get flat() {
84
+ return this.value.flat.bind(this.value);
85
+ }
86
+ get splice() {
87
+ return this.value.splice.bind(this.value);
88
+ }
89
+ get flatMap() {
90
+ return this.value.flatMap.bind(this.value);
91
+ }
92
+ get push() {
93
+ return this.value.push.bind(this.value);
94
+ }
95
+ get pop() {
96
+ return this.value.pop.bind(this.value);
97
+ }
98
+ get sort() {
99
+ return this.value.sort.bind(this.value);
100
+ }
101
+ get slice() {
102
+ return this.value.slice.bind(this.value);
103
+ }
104
+ get length() {
105
+ return this.value.length;
106
+ }
107
+ get fill() {
108
+ return this.value.fill.bind(this.value);
109
+ }
110
+ get copyWithin() {
111
+ return this.value.copyWithin.bind(this.value);
112
+ }
113
+ get reverse() {
114
+ return this.value.reverse.bind(this.value);
115
+ }
116
+ get shift() {
117
+ return this.value.shift.bind(this.value);
118
+ }
119
+ get unshift() {
120
+ return this.value.unshift.bind(this.value);
121
+ }
122
+ }
123
+ return $Multiple;
124
+ };
125
+
126
+ //#endregion
127
+ export { Multiple };
package/dist/nothing.d.ts CHANGED
@@ -1,10 +1,10 @@
1
- import { AbstractConstructor, Constructor, Empty } from "./_";
1
+ import { type AbstractConstructor, type Constructor, Empty } from "./_";
2
2
  export type NothingShorthand = undefined;
3
3
  export declare const Nothing: <B extends AbstractConstructor<{}> = typeof Empty>(config: void, base?: B) => Omit<B, "prototype"> & Omit<(abstract new (...args: any[]) => {
4
4
  serialize(): void;
5
5
  }) & {
6
6
  $shape: "nothing";
7
- deserialize<T extends Constructor<any, any[]>>(this: T, value: void): InstanceType<T>;
7
+ deserialize<T extends Constructor>(this: T, value: void): InstanceType<T>;
8
8
  $deserialize(): void;
9
9
  $serialize(): void;
10
10
  $inline: void;
@@ -1 +1 @@
1
- {"version":3,"file":"nothing.d.ts","sourceRoot":"","sources":["../src/nothing.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,WAAW,EAAc,KAAK,EAAE,MAAM,KAAK,CAAC;AAE1E,MAAM,MAAM,gBAAgB,GAAG,SAAS,CAAC;AAEzC,eAAO,MAAM,OAAO,GAqBA,CAAC,yDApBX,IAAI,SAoBM,CAAC,AAnBZ;;;;gBASW,CAAC,wCAAD,CAAC,AAFR,SACA,IAAI,GACV,YAAY,CAAC,CAAC,CAAC;;;aAKF,IAAI;+BAIb,IAAI;;EAQd,CAAC"}
1
+ {"version":3,"file":"nothing.d.ts","sourceRoot":"","sources":["../src/nothing.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,mBAAmB,EAAE,KAAK,WAAW,EAAE,KAAK,EAAE,MAAM,KAAK,CAAC;AAExE,MAAM,MAAM,gBAAgB,GAAG,SAAS,CAAC;AAEzC,eAAO,MAAM,OAAO,GAAI,CAAC,SAAS,mBAAmB,CAAC,EAAE,CAAC,GAAG,OAAO,KAAK,UAC9D,IAAI,SACN,CAAC;;;YAGW,SAAS;gBAGN,CAAC,SAAS,WAAW,QAChC,CAAC,SACA,IAAI,GACV,YAAY,CAAC,CAAC,CAAC;;;aAKF,IAAI;+BAIb,IAAI,KACR,YAAY,CAAC,CAAC,CAAC;;CAAW,CAOhC,CAAC"}
package/dist/nothing.js CHANGED
@@ -1,19 +1,19 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.Nothing = void 0;
4
- const _1 = require("./_");
5
- const Nothing = (config, base = _1.Empty) => {
6
- class $Nothing extends base {
7
- static $shape = "nothing";
8
- serialize() { }
9
- static deserialize(value) {
10
- return new this();
11
- }
12
- static $deserialize() { }
13
- static $serialize() { }
14
- static $inline;
15
- }
16
- return $Nothing;
1
+ const require__ = require('./_.js');
2
+
3
+ //#region src/nothing.ts
4
+ const Nothing = (config, base = require__.Empty) => {
5
+ class $Nothing extends base {
6
+ static $shape = "nothing";
7
+ serialize() {}
8
+ static deserialize(value) {
9
+ return new this();
10
+ }
11
+ static $deserialize() {}
12
+ static $serialize() {}
13
+ static $inline;
14
+ }
15
+ return $Nothing;
17
16
  };
18
- exports.Nothing = Nothing;
19
- //# sourceMappingURL=nothing.js.map
17
+
18
+ //#endregion
19
+ exports.Nothing = Nothing;
@@ -0,0 +1,19 @@
1
+ import { Empty } from "./_.mjs";
2
+
3
+ //#region src/nothing.ts
4
+ const Nothing = (config, base = Empty) => {
5
+ class $Nothing extends base {
6
+ static $shape = "nothing";
7
+ serialize() {}
8
+ static deserialize(value) {
9
+ return new this();
10
+ }
11
+ static $deserialize() {}
12
+ static $serialize() {}
13
+ static $inline;
14
+ }
15
+ return $Nothing;
16
+ };
17
+
18
+ //#endregion
19
+ export { Nothing };
@@ -1,4 +1,4 @@
1
- import { Definition, Expand, Shorthand, DefinitionOf, Constructor, AbstractConstructor, Empty } from "./_";
1
+ import { type Definition, type Expand, type Shorthand, type DefinitionOf, type Constructor, type AbstractConstructor, Empty } from "./_";
2
2
  export type OptionalConfiguration = Definition | Shorthand;
3
3
  type Matcher<V> = {
4
4
  some: (value: V) => any;
@@ -6,23 +6,21 @@ type Matcher<V> = {
6
6
  };
7
7
  type Internal<S extends Definition | Shorthand> = {
8
8
  Serialized: ReturnType<DefinitionOf<S>["$serialize"]> | undefined;
9
+ Deserializing: Parameters<DefinitionOf<S>["$deserialize"]>[0] | undefined;
9
10
  Inline: Expand<DefinitionOf<S>["$inline"]> | undefined;
10
11
  Required: Expand<DefinitionOf<S>["$inline"]>;
11
12
  };
12
- export declare const Optional: <S extends Shorthand, B extends AbstractConstructor<{}> = typeof Empty, Cache extends Internal<S> = Internal<S>>(of: S, base?: B) => Omit<B, "prototype"> & Omit<(abstract new (value: Cache["Inline"]) => {
13
- value: Cache["Inline"];
14
- serialize(): Expand<Cache["Serialized"]>;
15
- match<M extends Matcher<Expand<Cache["Required"]>>>(config: M): ReturnType<M["some"]> | ReturnType<M["none"]>;
16
- }) & {
13
+ export declare const Optional: <S extends Definition | Shorthand, B extends AbstractConstructor<{}> = typeof Empty>(of: S, base?: B) => IOptional<S, B>;
14
+ export type IOptional<S extends Definition | Shorthand, B extends AbstractConstructor<{}> = typeof Object> = Omit<B, "prototype"> & {
17
15
  $shape: "optional";
18
- deserialize<T extends Constructor<any, any[]>>(this: T, value: Cache["Inline"]): InstanceType<T>;
19
- $deserialize(value: Cache["Serialized"]): Definition["$inline"];
20
- $serialize<T_1 extends any>(this: T_1, value: Cache["Inline"]): Cache["Serialized"];
21
- $inline: Cache["Inline"];
22
- }, ""> & (abstract new (value: Expand<Cache["Inline"]>) => InstanceType<B> & {
23
- value: Cache["Inline"];
24
- serialize(): Expand<Cache["Serialized"]>;
25
- match<M extends Matcher<Expand<Cache["Required"]>>>(config: M): ReturnType<M["some"]> | ReturnType<M["none"]>;
16
+ deserialize<T extends Constructor>(this: T, value: Internal<S>["Deserializing"]): InstanceType<T>;
17
+ $deserialize(value: Internal<S>["Deserializing"]): Definition["$inline"];
18
+ $serialize<T>(this: T, value: Internal<S>["Inline"]): Internal<S>["Serialized"];
19
+ $inline: Internal<S>["Inline"];
20
+ } & (abstract new (value: Internal<S>["Inline"]) => InstanceType<B> & {
21
+ value: Internal<S>["Inline"];
22
+ serialize(): Expand<Internal<S>["Serialized"]>;
23
+ match<M extends Matcher<Expand<Internal<S>["Required"]>>>(config: M): ReturnType<M["some"]> | ReturnType<M["none"]>;
26
24
  });
27
25
  export {};
28
26
  //# sourceMappingURL=optional.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"optional.d.ts","sourceRoot":"","sources":["../src/optional.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,UAAU,EACV,MAAM,EACN,SAAS,EACT,YAAY,EAEZ,WAAW,EACX,mBAAmB,EACnB,KAAK,EACN,MAAM,KAAK,CAAC;AAEb,MAAM,MAAM,qBAAqB,GAAG,UAAU,GAAG,SAAS,CAAC;AAE3D,KAAK,OAAO,CAAC,CAAC,IAAI;IAAE,IAAI,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,GAAG,CAAC;IAAC,IAAI,EAAE,MAAM,GAAG,CAAA;CAAE,CAAC;AAE/D,KAAK,QAAQ,CAAC,CAAC,SAAS,UAAU,GAAG,SAAS,IAAI;IAChD,UAAU,EAAE,UAAU,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,GAAG,SAAS,CAAC;IAClE,MAAM,EAAE,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,GAAG,SAAS,CAAC;IACvD,QAAQ,EAAE,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC;CAC9C,CAAC;AAEF,eAAO,MAAM,QAAQ,GAKf,CAAC,oBAmDa,CAAC,iDADH,KAAK,wCAlDjB,CAAC,SAmDa,CAAC,AAlDZ,uDAiDS,KAAK,AA9CY,CAAC,QAAQ,CAAC;WA8C3B,KAAK,AA9CY,CAAC,QAAQ,CAAC;iBAM5B,MAAM,CAwCL,KAAK,AAxCM,CAAC,YAAY,CAAC,CAAC;UAMF,CAAC,qDAAD,CAAC,AAD5B,GACR,UAAU,CAAyB,CAAC,AAAxB,CAAC,MAAM,CAAC,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;;;gBAUhC,CAAC,wCAAD,CAAC,AAFR,SA0BK,KAAK,AAzBL,CAAC,QAAQ,CAAC,GACrB,YAAY,CAAC,CAAC,CAAC;wBAwBJ,KAAK,AApBa,CAAC,YAAY,CAAC,GAAG,UAAU,CAAC,SAAS,CAAC;eAQ9D,GAAC,oBAAD,GAAC,SAYK,KAAK,AAXL,CAAC,QAAQ,CAAC,GAWV,KAAK,AAVX,CAAC,YAAY,CAAC;aAUR,KAAK,AAJE,CAAC,QAAQ,CAAC;+BAIxB,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;WAAhB,KAAK,AA9CY,CAAC,QAAQ,CAAC;iBAM5B,MAAM,CAwCL,KAAK,AAxCM,CAAC,YAAY,CAAC,CAAC;UAMF,CAAC,qDAAD,CAAC,AAD5B,GACR,UAAU,CAAyB,CAAC,AAAxB,CAAC,MAAM,CAAC,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;EA0CnD,CAAC"}
1
+ {"version":3,"file":"optional.d.ts","sourceRoot":"","sources":["../src/optional.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,UAAU,EACf,KAAK,MAAM,EACX,KAAK,SAAS,EACd,KAAK,YAAY,EAEjB,KAAK,WAAW,EAChB,KAAK,mBAAmB,EACxB,KAAK,EACN,MAAM,KAAK,CAAC;AAEb,MAAM,MAAM,qBAAqB,GAAG,UAAU,GAAG,SAAS,CAAC;AAE3D,KAAK,OAAO,CAAC,CAAC,IAAI;IAAE,IAAI,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,GAAG,CAAC;IAAC,IAAI,EAAE,MAAM,GAAG,CAAA;CAAE,CAAC;AAE/D,KAAK,QAAQ,CAAC,CAAC,SAAS,UAAU,GAAG,SAAS,IAAI;IAChD,UAAU,EAAE,UAAU,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,GAAG,SAAS,CAAC;IAClE,aAAa,EAAE,UAAU,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC;IAC1E,MAAM,EAAE,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,GAAG,SAAS,CAAC;IACvD,QAAQ,EAAE,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC;CAC9C,CAAC;AAEF,eAAO,MAAM,QAAQ,GACnB,CAAC,SAAS,UAAU,GAAG,SAAS,EAChC,CAAC,SAAS,mBAAmB,CAAC,EAAE,CAAC,GAAG,OAAO,KAAK,MAE5C,CAAC,SACC,CAAC,KACN,SAAS,CAAC,CAAC,EAAE,CAAC,CA2ChB,CAAC;AAEF,MAAM,MAAM,SAAS,CACnB,CAAC,SAAS,UAAU,GAAG,SAAS,EAChC,CAAC,SAAS,mBAAmB,CAAC,EAAE,CAAC,GAAG,OAAO,MAAM,IAC/C,IAAI,CAAC,CAAC,EAAE,WAAW,CAAC,GAAG;IACzB,MAAM,EAAE,UAAU,CAAC;IACnB,WAAW,CAAC,CAAC,SAAS,WAAW,EAC/B,IAAI,EAAE,CAAC,EACP,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,GAClC,YAAY,CAAC,CAAC,CAAC,CAAC;IACnB,YAAY,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,GAAG,UAAU,CAAC,SAAS,CAAC,CAAC;IACzE,UAAU,CAAC,CAAC,EACV,IAAI,EAAE,CAAC,EACP,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,GAC3B,QAAQ,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC;IAC7B,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;CAChC,GAAG,CAAC,QAAQ,MACT,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,KACzB,YAAY,CAAC,CAAC,CAAC,GAAG;IACrB,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;IAC7B,SAAS,IAAI,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC;IAC/C,KAAK,CAAC,CAAC,SAAS,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,EACtD,MAAM,EAAE,CAAC,GACR,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;CAClD,CAAC,CAAC"}
package/dist/optional.js CHANGED
@@ -1,41 +1,34 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.Optional = void 0;
4
- const _1 = require("./_");
5
- const Optional = (of, base = _1.Empty) => {
6
- class $Optional extends base {
7
- value;
8
- constructor(value) {
9
- super();
10
- this.value = value;
11
- }
12
- static $shape = "optional";
13
- serialize() {
14
- return $Optional.$serialize(this.value);
15
- }
16
- match(config) {
17
- if (this.value === undefined) {
18
- return config.none();
19
- }
20
- return config.some(this.value);
21
- }
22
- static deserialize(value) {
23
- return new this(this.$deserialize(value));
24
- }
25
- static $deserialize(value) {
26
- if (value === undefined) {
27
- return undefined;
28
- }
29
- return (0, _1.Shape)(of).$deserialize(value);
30
- }
31
- static $serialize(value) {
32
- return value === undefined
33
- ? undefined
34
- : (0, _1.Shape)(of).$serialize(value);
35
- }
36
- static $inline;
37
- }
38
- return $Optional;
1
+ const require__ = require('./_.js');
2
+
3
+ //#region src/optional.ts
4
+ const Optional = (of, base = require__.Empty) => {
5
+ class $Optional extends base {
6
+ constructor(value) {
7
+ super();
8
+ this.value = value;
9
+ }
10
+ static $shape = "optional";
11
+ serialize() {
12
+ return $Optional.$serialize(this.value);
13
+ }
14
+ match(config) {
15
+ if (this.value === void 0) return config.none();
16
+ return config.some(this.value);
17
+ }
18
+ static deserialize(value) {
19
+ return new this(this.$deserialize(value));
20
+ }
21
+ static $deserialize(value) {
22
+ if (value === void 0) return;
23
+ return require__.Shape(of).$deserialize(value);
24
+ }
25
+ static $serialize(value) {
26
+ return value === void 0 ? void 0 : require__.Shape(of).$serialize(value);
27
+ }
28
+ static $inline;
29
+ }
30
+ return $Optional;
39
31
  };
40
- exports.Optional = Optional;
41
- //# sourceMappingURL=optional.js.map
32
+
33
+ //#endregion
34
+ exports.Optional = Optional;
@@ -0,0 +1,34 @@
1
+ import { Empty, Shape } from "./_.mjs";
2
+
3
+ //#region src/optional.ts
4
+ const Optional = (of, base = Empty) => {
5
+ class $Optional extends base {
6
+ constructor(value) {
7
+ super();
8
+ this.value = value;
9
+ }
10
+ static $shape = "optional";
11
+ serialize() {
12
+ return $Optional.$serialize(this.value);
13
+ }
14
+ match(config) {
15
+ if (this.value === void 0) return config.none();
16
+ return config.some(this.value);
17
+ }
18
+ static deserialize(value) {
19
+ return new this(this.$deserialize(value));
20
+ }
21
+ static $deserialize(value) {
22
+ if (value === void 0) return;
23
+ return Shape(of).$deserialize(value);
24
+ }
25
+ static $serialize(value) {
26
+ return value === void 0 ? void 0 : Shape(of).$serialize(value);
27
+ }
28
+ static $inline;
29
+ }
30
+ return $Optional;
31
+ };
32
+
33
+ //#endregion
34
+ export { Optional };
@@ -1,4 +1,4 @@
1
- import { AbstractConstructor, Empty, Expand } from "./_";
1
+ import { type AbstractConstructor, type Constructor, Empty, type Expand } from "./_";
2
2
  type PrimitiveMap = [
3
3
  [
4
4
  StringConstructor,
@@ -23,18 +23,16 @@ export type PrimitiveFromConstructor<S> = Extract<PrimitiveMap[number], [
23
23
  any
24
24
  ]>[1];
25
25
  export type PrimitiveShorthand = PrimitiveConstructor;
26
- export declare const Primitive: <S extends StringConstructor | NumberConstructor | DateConstructor | BooleanConstructor, B extends AbstractConstructor<{}> = typeof Empty>(of: S, base?: B) => Omit<B, "prototype"> & Omit<(abstract new (value: Expand<PrimitiveFromConstructor<S>>) => {
26
+ export type IPrimitive<S extends PrimitiveConstructor, B extends AbstractConstructor<{}> = typeof Empty> = Omit<B, ""> & (abstract new (value: Expand<PrimitiveFromConstructor<S>>) => InstanceType<B> & {
27
27
  readonly value: Expand<PrimitiveFromConstructor<S>>;
28
28
  serialize(): PrimitiveFromConstructor<S>;
29
29
  }) & {
30
30
  $shape: "primitive";
31
- deserialize<T extends any>(this: T, value: PrimitiveFromConstructor<S>): InstanceType<T>;
31
+ deserialize<T extends Constructor<any>>(this: T, value: PrimitiveFromConstructor<S>): InstanceType<T>;
32
32
  $serialize(value: PrimitiveFromConstructor<S>): PrimitiveFromConstructor<S>;
33
33
  $deserialize(value: PrimitiveFromConstructor<S>): PrimitiveFromConstructor<S>;
34
34
  $inline: Expand<PrimitiveFromConstructor<S>>;
35
- }, "prototype"> & (abstract new (value: Expand<PrimitiveFromConstructor<S>>) => InstanceType<B> & {
36
- readonly value: Expand<PrimitiveFromConstructor<S>>;
37
- serialize(): PrimitiveFromConstructor<S>;
38
- });
35
+ };
36
+ export declare const Primitive: <S extends PrimitiveConstructor, B extends AbstractConstructor<{}> = typeof Empty>(of: S, base?: B) => IPrimitive<S, B>;
39
37
  export {};
40
38
  //# sourceMappingURL=primitive.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"primitive.d.ts","sourceRoot":"","sources":["../src/primitive.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAyB,KAAK,EAAE,MAAM,EAAE,MAAM,KAAK,CAAC;AAEhF,KAAK,YAAY,GAAG;IAClB;QAAC,iBAAiB;QAAE,MAAM;KAAC;IAC3B;QAAC,iBAAiB;QAAE,MAAM;KAAC;IAC3B;QAAC,eAAe;QAAE,IAAI;KAAC;IACvB;QAAC,kBAAkB;QAAE,OAAO;KAAC;CAC9B,CAAC;AAEF,KAAK,oBAAoB,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;AACpD,MAAM,MAAM,wBAAwB,CAAC,CAAC,IAAI,OAAO,CAC/C,YAAY,CAAC,MAAM,CAAC,EACpB;IAAC,CAAC;IAAE,GAAG;CAAC,CACT,CAAC,CAAC,CAAC,CAAC;AAEL,MAAM,MAAM,kBAAkB,GAAG,oBAAoB,CAAC;AAEtD,eAAO,MAAM,SAAS,GAIhB,CAAC,uFAoCa,CAAC,qDApCf,CAAC,SAoCa,CAAC,AAnCZ;;;;;gBAkBW,CAAC,oBAAD,CAAC,AAFR,uCAEN,YAAY,CAAC,CAAC,CAAC;;;;;;;EAwBrB,CAAC"}
1
+ {"version":3,"file":"primitive.d.ts","sourceRoot":"","sources":["../src/primitive.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,mBAAmB,EAAE,KAAK,WAAW,EAAE,KAAK,EAAE,KAAK,MAAM,EAAE,MAAM,KAAK,CAAC;AAErF,KAAK,YAAY,GAAG;IAClB;QAAC,iBAAiB;QAAE,MAAM;KAAC;IAC3B;QAAC,iBAAiB;QAAE,MAAM;KAAC;IAC3B;QAAC,eAAe;QAAE,IAAI;KAAC;IACvB;QAAC,kBAAkB;QAAE,OAAO;KAAC;CAC9B,CAAC;AAEF,KAAK,oBAAoB,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;AACpD,MAAM,MAAM,wBAAwB,CAAC,CAAC,IAAI,OAAO,CAC/C,YAAY,CAAC,MAAM,CAAC,EACpB;IAAC,CAAC;IAAE,GAAG;CAAC,CACT,CAAC,CAAC,CAAC,CAAC;AAEL,MAAM,MAAM,kBAAkB,GAAG,oBAAoB,CAAC;AAEtD,MAAM,MAAM,UAAU,CACpB,CAAC,SAAS,oBAAoB,EAC9B,CAAC,SAAS,mBAAmB,CAAC,EAAE,CAAC,GAAG,OAAO,KAAK,IAC9C,IAAI,CAAC,CAAC,EAAE,EAAE,CAAC,GACb,CAAC,QAAQ,MACP,KAAK,EAAE,MAAM,CAAC,wBAAwB,CAAC,CAAC,CAAC,CAAC,KACvC,YAAY,CAAC,CAAC,CAAC,GAAG;IACrB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC,wBAAwB,CAAC,CAAC,CAAC,CAAC,CAAC;IACpD,SAAS,IAAI,wBAAwB,CAAC,CAAC,CAAC,CAAC;CAC1C,CAAC,GAAG;IACH,MAAM,EAAE,WAAW,CAAC;IACpB,WAAW,CAAC,CAAC,SAAS,WAAW,CAAC,GAAG,CAAC,EACpC,IAAI,EAAE,CAAC,EACP,KAAK,EAAE,wBAAwB,CAAC,CAAC,CAAC,GACjC,YAAY,CAAC,CAAC,CAAC,CAAC;IACnB,UAAU,CAAC,KAAK,EAAE,wBAAwB,CAAC,CAAC,CAAC,GAAG,wBAAwB,CAAC,CAAC,CAAC,CAAC;IAC5E,YAAY,CACV,KAAK,EAAE,wBAAwB,CAAC,CAAC,CAAC,GACjC,wBAAwB,CAAC,CAAC,CAAC,CAAC;IAC/B,OAAO,EAAE,MAAM,CAAC,wBAAwB,CAAC,CAAC,CAAC,CAAC,CAAC;CAC9C,CAAC;AAEJ,eAAO,MAAM,SAAS,GACpB,CAAC,SAAS,oBAAoB,EAC9B,CAAC,SAAS,mBAAmB,CAAC,EAAE,CAAC,GAAG,OAAO,KAAK,MAE5C,CAAC,SACC,CAAC,KACN,UAAU,CAAC,CAAC,EAAE,CAAC,CAoCjB,CAAC"}