@ddd-ts/shape 0.0.0-elo.1 → 0.0.0-eventviz.1

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 (95) hide show
  1. package/LICENSE +21 -0
  2. package/dist/_.d.ts +10 -9
  3. package/dist/_.d.ts.map +1 -1
  4. package/dist/_.js +34 -47
  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 +16 -28
  11. package/dist/choice.d.ts.map +1 -1
  12. package/dist/choice.js +43 -46
  13. package/dist/choice.mjs +44 -0
  14. package/dist/class.d.ts +10 -8
  15. package/dist/class.d.ts.map +1 -1
  16. package/dist/class.js +29 -29
  17. package/dist/class.mjs +30 -0
  18. package/dist/dict.d.ts +38 -13
  19. package/dist/dict.d.ts.map +1 -1
  20. package/dist/dict.js +40 -43
  21. package/dist/dict.mjs +41 -0
  22. package/dist/discriminated-union.d.ts +74 -0
  23. package/dist/discriminated-union.d.ts.map +1 -0
  24. package/dist/discriminated-union.js +66 -0
  25. package/dist/discriminated-union.mjs +64 -0
  26. package/dist/discriminated-union.spec.d.ts +2 -0
  27. package/dist/discriminated-union.spec.d.ts.map +1 -0
  28. package/dist/either.d.ts +57 -13
  29. package/dist/either.d.ts.map +1 -1
  30. package/dist/either.js +50 -62
  31. package/dist/either.mjs +51 -0
  32. package/dist/index.d.ts +3 -0
  33. package/dist/index.d.ts.map +1 -1
  34. package/dist/index.js +32 -27
  35. package/dist/index.mjs +15 -0
  36. package/dist/literal.d.ts +13 -38
  37. package/dist/literal.d.ts.map +1 -1
  38. package/dist/literal.js +26 -29
  39. package/dist/literal.mjs +27 -0
  40. package/dist/mapping.d.ts +17 -13
  41. package/dist/mapping.d.ts.map +1 -1
  42. package/dist/mapping.js +44 -49
  43. package/dist/mapping.mjs +45 -0
  44. package/dist/multiple.d.ts +17 -102
  45. package/dist/multiple.d.ts.map +1 -1
  46. package/dist/multiple.js +118 -105
  47. package/dist/multiple.mjs +119 -0
  48. package/dist/nothing.d.ts +3 -3
  49. package/dist/nothing.d.ts.map +1 -1
  50. package/dist/nothing.js +18 -18
  51. package/dist/nothing.mjs +19 -0
  52. package/dist/optional.d.ts +18 -15
  53. package/dist/optional.d.ts.map +1 -1
  54. package/dist/optional.js +33 -38
  55. package/dist/optional.mjs +34 -0
  56. package/dist/primitive.d.ts +38 -0
  57. package/dist/primitive.d.ts.map +1 -0
  58. package/dist/primitive.js +30 -0
  59. package/dist/primitive.mjs +30 -0
  60. package/dist/primitive.spec.d.ts +2 -0
  61. package/dist/primitive.spec.d.ts.map +1 -0
  62. package/dist/test.d.ts +11 -11
  63. package/dist/test.d.ts.map +1 -1
  64. package/package.json +23 -9
  65. package/dist/_.js.map +0 -1
  66. package/dist/choice.js.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.js +0 -39
  71. package/dist/class.spec.js.map +0 -1
  72. package/dist/dict.js.map +0 -1
  73. package/dist/dict.spec.js +0 -180
  74. package/dist/dict.spec.js.map +0 -1
  75. package/dist/either.js.map +0 -1
  76. package/dist/either.spec.js +0 -211
  77. package/dist/either.spec.js.map +0 -1
  78. package/dist/index.js.map +0 -1
  79. package/dist/literal.js.map +0 -1
  80. package/dist/literal.spec.js +0 -162
  81. package/dist/literal.spec.js.map +0 -1
  82. package/dist/mapping.js.map +0 -1
  83. package/dist/mapping.spec.js +0 -207
  84. package/dist/mapping.spec.js.map +0 -1
  85. package/dist/multiple.js.map +0 -1
  86. package/dist/multiple.spec.js +0 -208
  87. package/dist/multiple.spec.js.map +0 -1
  88. package/dist/nothing.js.map +0 -1
  89. package/dist/nothing.spec.js +0 -172
  90. package/dist/nothing.spec.js.map +0 -1
  91. package/dist/optional.js.map +0 -1
  92. package/dist/optional.spec.js +0 -172
  93. package/dist/optional.spec.js.map +0 -1
  94. package/dist/test.js +0 -46
  95. package/dist/test.js.map +0 -1
@@ -1,207 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const dict_1 = require("./dict");
4
- const literal_1 = require("./literal");
5
- const mapping_1 = require("./mapping");
6
- const test_1 = require("./test");
7
- describe("Mapping", () => {
8
- it("class definition, specified key", () => {
9
- class Test extends (0, mapping_1.Mapping)([String, (0, literal_1.Literal)(Number)]) {
10
- test = true;
11
- }
12
- // Constructor parameters
13
- (0, test_1.ex)(Test).toHaveFirstParam().ok;
14
- // Deserialization
15
- (0, test_1.ex)(Test.deserialize).toHaveFirstParam().ok;
16
- const a = Test.deserialize({ key: 2 });
17
- (0, test_1.ex)(a).toBeInstanceOf(Test).ok;
18
- // Additional prototype on deserialization
19
- (0, test_1.ex)(a.test).toBe(true).ok;
20
- // Inherited prototype on deserialization
21
- (0, test_1.ex)(a.value).toStrictEqual({ key: 2 }).ok;
22
- // Serialization
23
- (0, test_1.ex)(a.serialize()).toStrictEqual({ key: 2 }).ok;
24
- // Instantiation
25
- const b = new Test({ key: 2 });
26
- (0, test_1.ex)(b).toBeInstanceOf(Test);
27
- // Additional prototype on instantiation
28
- (0, test_1.ex)(b.test).toBe(true).ok;
29
- // Inherited prototype on instantiation
30
- (0, test_1.ex)(b.value).toStrictEqual({ key: 2 }).ok;
31
- });
32
- it("class definition, unspecified key", () => {
33
- class Test extends (0, mapping_1.Mapping)([(0, literal_1.Literal)(Number)]) {
34
- test = true;
35
- }
36
- // Constructor parameters
37
- (0, test_1.ex)(Test).toHaveFirstParam().ok;
38
- // Deserialization
39
- (0, test_1.ex)(Test.deserialize).toHaveFirstParam().ok;
40
- const a = Test.deserialize({ key: 2 });
41
- (0, test_1.ex)(a).toBeInstanceOf(Test).ok;
42
- // Additional prototype on deserialization
43
- (0, test_1.ex)(a.test).toBe(true).ok;
44
- // Inherited prototype on deserialization
45
- (0, test_1.ex)(a.value).toStrictEqual({ key: 2 }).ok;
46
- // Serialization
47
- (0, test_1.ex)(a.serialize()).toStrictEqual({ key: 2 }).ok;
48
- // Instantiation
49
- const b = new Test({ key: 2 });
50
- (0, test_1.ex)(b).toBeInstanceOf(Test);
51
- // Additional prototype on instantiation
52
- (0, test_1.ex)(b.test).toBe(true).ok;
53
- // Inherited prototype on instantiation
54
- (0, test_1.ex)(b.value).toStrictEqual({ key: 2 }).ok;
55
- });
56
- it("inlined definition", () => {
57
- class Test extends (0, dict_1.Dict)({
58
- longhand: (0, mapping_1.Mapping)([(0, literal_1.Literal)(Number)]),
59
- shorthand: (0, mapping_1.Mapping)([Number, { nested: String }]),
60
- }) {
61
- test = true;
62
- }
63
- // Constructor parameters
64
- (0, test_1.ex)(Test).toHaveFirstParam().ok;
65
- // Deserialization
66
- (0, test_1.ex)(Test.deserialize).toHaveFirstParam().ok;
67
- const a = Test.deserialize({
68
- longhand: { key: 2 },
69
- shorthand: { 0: { nested: "a" } },
70
- });
71
- (0, test_1.ex)(a).toBeInstanceOf(Test).ok;
72
- // Additional prototype on deserialization
73
- (0, test_1.ex)(a.test).toBe(true).ok;
74
- // Inherited prototype on deserialization
75
- (0, test_1.ex)(a.longhand).toStrictEqual({ key: 2 }).ok;
76
- (0, test_1.ex)(a.shorthand).toStrictEqual({
77
- 0: { nested: "a" },
78
- }).ok;
79
- // Serialization
80
- (0, test_1.ex)(a.serialize()).toStrictEqual({
81
- longhand: { key: 2 },
82
- shorthand: { 0: { nested: "a" } },
83
- }).ok;
84
- // Instantiation
85
- const b = new Test({
86
- longhand: { key: 2 },
87
- shorthand: { 0: { nested: "a" } },
88
- });
89
- (0, test_1.ex)(b).toBeInstanceOf(Test).ok;
90
- // Additional prototype on instantiation
91
- (0, test_1.ex)(b.test).toBe(true).ok;
92
- // Inherited prototype on instantiation
93
- (0, test_1.ex)(b.longhand).toStrictEqual({ key: 2 }).ok;
94
- (0, test_1.ex)(b.shorthand).toStrictEqual({
95
- 0: { nested: "a" },
96
- }).ok;
97
- });
98
- it("referenced definition", () => {
99
- class Reference extends (0, mapping_1.Mapping)([Number]) {
100
- }
101
- class Test extends (0, dict_1.Dict)({ reference: Reference }) {
102
- test = true;
103
- }
104
- // Constructor parameters
105
- (0, test_1.ex)(Test).toHaveFirstParam().ok;
106
- // Deserialization
107
- (0, test_1.ex)(Test.deserialize).toHaveFirstParam().ok;
108
- const a = Test.deserialize({ reference: { 0: 1 } });
109
- (0, test_1.ex)(a).toBeInstanceOf(Test).ok;
110
- // Additional prototype on deserialization
111
- (0, test_1.ex)(a.test).toBe(true).ok;
112
- // Inherited prototype on deserialization
113
- (0, test_1.ex)(a.reference).toStrictEqual(new Reference({ 0: 1 })).ok;
114
- // Serialization
115
- (0, test_1.ex)(a.serialize()).toStrictEqual({ reference: { 0: 1 } }).ok;
116
- // Instantiation
117
- const b = new Test({ reference: new Reference({ 0: 1 }) });
118
- (0, test_1.ex)(b).toBeInstanceOf(Test).ok;
119
- // Additional prototype on instantiation
120
- (0, test_1.ex)(b.test).toBe(true).ok;
121
- // Inherited prototype on instantiation
122
- (0, test_1.ex)(b.reference).toStrictEqual(new Reference({ 0: 1 })).ok;
123
- });
124
- it("mixin extension", () => {
125
- const Testable = (config) => {
126
- class I extends (0, mapping_1.Mapping)(config) {
127
- deep = true;
128
- static deep = true;
129
- }
130
- return I;
131
- };
132
- class Test extends Testable([Number]) {
133
- test = true;
134
- // @ts-expect-error is not assignable to parameter of type 'true'
135
- abstract = false;
136
- }
137
- // Constructor parameters
138
- (0, test_1.ex)(Test).toHaveFirstParam().ok;
139
- // Additional static prototype
140
- (0, test_1.ex)(Test.deep).toBe(true).ok;
141
- // Deserialization
142
- (0, test_1.ex)(Test.deserialize).toHaveFirstParam().ok;
143
- const a = Test.deserialize({ key: 1 });
144
- (0, test_1.ex)(a).toBeInstanceOf(Test).ok;
145
- // Additional prototype on deserialization
146
- (0, test_1.ex)(a.test).toBe(true).ok;
147
- (0, test_1.ex)(a.abstract).toBe(false).ok;
148
- // Extended prototype on deserialization
149
- (0, test_1.ex)(a.deep).toBe(true).ok;
150
- // Inherited prototype on deserialization
151
- (0, test_1.ex)(a.value).toStrictEqual({ key: 1 }).ok;
152
- // Serialization
153
- (0, test_1.ex)(a.serialize()).toStrictEqual({ key: 1 }).ok;
154
- // Instantiation
155
- const b = new Test({ key: 2 });
156
- (0, test_1.ex)(b).toBeInstanceOf(Test).ok;
157
- // Additional prototype on instantiation
158
- (0, test_1.ex)(b.test).toBe(true).ok;
159
- (0, test_1.ex)(b.abstract).toBe(false).ok;
160
- // Extended prototype on instantiation
161
- (0, test_1.ex)(b.deep).toBe(true).ok;
162
- // Inherited prototype on instantiation
163
- (0, test_1.ex)(b.value).toStrictEqual({ key: 2 }).ok;
164
- });
165
- it("mixin supersede", () => {
166
- const Testable = (config) => {
167
- class I {
168
- deep = true;
169
- static deep = true;
170
- }
171
- return (0, mapping_1.Mapping)(config, I);
172
- };
173
- class Test extends Testable([Number]) {
174
- test = true;
175
- // @ts-expect-error is not assignable to parameter of type 'true'
176
- abstract = false;
177
- }
178
- // Constructor parameters
179
- (0, test_1.ex)(Test).toHaveFirstParam().ok;
180
- // Additional static prototype
181
- (0, test_1.ex)(Test.deep).toBe(true).ok;
182
- // Deserialization
183
- (0, test_1.ex)(Test.deserialize).toHaveFirstParam().ok;
184
- const a = Test.deserialize({ key: 1 });
185
- (0, test_1.ex)(a).toBeInstanceOf(Test).ok;
186
- // Additional prototype on deserialization
187
- (0, test_1.ex)(a.test).toBe(true).ok;
188
- (0, test_1.ex)(a.abstract).toBe(false).ok;
189
- // Superseeded prototype on deserialization
190
- (0, test_1.ex)(a.deep).toBe(true).ok;
191
- // Inherited prototype on deserialization
192
- (0, test_1.ex)(a.value).toStrictEqual({ key: 1 }).ok;
193
- // Serialization
194
- (0, test_1.ex)(a.serialize()).toStrictEqual({ key: 1 }).ok;
195
- // Instantiation
196
- const b = new Test({ key: 2 });
197
- (0, test_1.ex)(b).toBeInstanceOf(Test).ok;
198
- // Additional prototype on instantiation
199
- (0, test_1.ex)(b.test).toBe(true).ok;
200
- (0, test_1.ex)(b.abstract).toBe(false).ok;
201
- // Superseeded prototype on instantiation
202
- (0, test_1.ex)(b.deep).toBe(true).ok;
203
- // Inherited prototype on instantiation
204
- (0, test_1.ex)(b.value).toStrictEqual({ key: 2 }).ok;
205
- });
206
- });
207
- //# sourceMappingURL=mapping.spec.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"mapping.spec.js","sourceRoot":"","sources":["../src/mapping.spec.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"multiple.js","sourceRoot":"","sources":["../src/multiple.ts"],"names":[],"mappings":"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"}
@@ -1,208 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const multiple_1 = require("./multiple");
4
- const dict_1 = require("./dict");
5
- const test_1 = require("./test");
6
- describe("Multiple", () => {
7
- it("class definition", () => {
8
- class Test extends (0, multiple_1.Multiple)(String) {
9
- test = true;
10
- }
11
- // Constructor parameters
12
- (0, test_1.ex)(Test).toHaveFirstParam().ok;
13
- // Deserialization
14
- (0, test_1.ex)(Test.deserialize).toHaveFirstParam().ok;
15
- const a = Test.deserialize(["a"]);
16
- (0, test_1.ex)(a).toBeInstanceOf(Test).ok;
17
- // Additional prototype on deserialization
18
- (0, test_1.ex)(a.test).toBe(true).ok;
19
- // Inherited prototype on deserialization
20
- (0, test_1.ex)(a.value).toStrictEqual(["a"]).ok;
21
- // Serialization
22
- (0, test_1.ex)(a.serialize()).toStrictEqual(["a"]).ok;
23
- // Instantiation
24
- const b = new Test(["b"]);
25
- (0, test_1.ex)(b).toBeInstanceOf(Test);
26
- // Additional prototype on instantiation
27
- (0, test_1.ex)(b.test).toBe(true).ok;
28
- // Inherited prototype on instantiation
29
- (0, test_1.ex)(b.value).toStrictEqual(["b"]).ok;
30
- (0, test_1.ex)([...b.values()]).toStrictEqual(["b"]).ok;
31
- (0, test_1.ex)([...b.entries()]).toStrictEqual([[0, "b"]]).ok;
32
- (0, test_1.ex)([...b.keys()]).toStrictEqual([0]).ok;
33
- (0, test_1.ex)(b.filter(() => true)).toStrictEqual(["b"]).ok;
34
- (0, test_1.ex)(b.map((x) => x.charCodeAt(0))).toStrictEqual([98]).ok;
35
- (0, test_1.ex)(b.reduce((a, b) => a + b)).toStrictEqual("b").ok;
36
- (0, test_1.ex)(b.some((x) => x === "b")).toBe(true).ok;
37
- (0, test_1.ex)(b.every((x) => x === "b")).toBe(true).ok;
38
- (0, test_1.ex)(b.find((x) => x === "b")).toStrictEqual("b").ok;
39
- (0, test_1.ex)(b.findIndex((x) => x === "b")).toStrictEqual(0).ok;
40
- (0, test_1.ex)(b.includes("b")).toBe(true).ok;
41
- (0, test_1.ex)(b.indexOf("b")).toStrictEqual(0).ok;
42
- (0, test_1.ex)(b.lastIndexOf("b")).toStrictEqual(0).ok;
43
- });
44
- it("inline definition", () => {
45
- class Test extends (0, dict_1.Dict)({
46
- longhand: (0, multiple_1.Multiple)(String),
47
- shorthand: [{ nested: Number }],
48
- }) {
49
- test = true;
50
- }
51
- // Constructor parameters
52
- (0, test_1.ex)(Test).toHaveFirstParam().ok;
53
- // Deserialization
54
- (0, test_1.ex)(Test.deserialize).toHaveFirstParam().ok;
55
- const a = Test.deserialize({
56
- longhand: ["a"],
57
- shorthand: [{ nested: 0 }],
58
- });
59
- (0, test_1.ex)(a).toBeInstanceOf(Test).ok;
60
- // Additional prototype on deserialization
61
- (0, test_1.ex)(a.test).toBe(true).ok;
62
- // Inherited prototype on deserialization
63
- (0, test_1.ex)(a.longhand).toStrictEqual(["a"]).ok;
64
- (0, test_1.ex)(a.shorthand).toStrictEqual([{ nested: 0 }]).ok;
65
- // Serialization
66
- (0, test_1.ex)(a.serialize()).toStrictEqual({
67
- longhand: ["a"],
68
- shorthand: [{ nested: 0 }],
69
- }).ok;
70
- // Instantiation
71
- const b = new Test({
72
- longhand: ["b"],
73
- shorthand: [{ nested: 1 }],
74
- });
75
- (0, test_1.ex)(b).toBeInstanceOf(Test).ok;
76
- // Additional prototype on instantiation
77
- (0, test_1.ex)(b.test).toBe(true).ok;
78
- // Inherited prototype on instantiation
79
- (0, test_1.ex)(b.longhand).toStrictEqual(["b"]).ok;
80
- (0, test_1.ex)(b.shorthand).toStrictEqual([{ nested: 1 }]).ok;
81
- });
82
- it("referenced definition", () => {
83
- class Reference extends (0, multiple_1.Multiple)(Number) {
84
- }
85
- class Test extends (0, dict_1.Dict)({ reference: Reference }) {
86
- test = true;
87
- }
88
- // Constructor parameters
89
- (0, test_1.ex)(Test).toHaveFirstParam().ok;
90
- // Deserialization
91
- (0, test_1.ex)(Test.deserialize).toHaveFirstParam().ok;
92
- const a = Test.deserialize({ reference: [0] });
93
- (0, test_1.ex)(a).toBeInstanceOf(Test).ok;
94
- // Additional prototype on deserialization
95
- (0, test_1.ex)(a.test).toBe(true).ok;
96
- // Inherited prototype on deserialization
97
- (0, test_1.ex)(a.reference).toStrictEqual(new Reference([0])).ok;
98
- // Serialization
99
- (0, test_1.ex)(a.serialize()).toStrictEqual({ reference: [0] }).ok;
100
- // Instantiation
101
- const b = new Test({ reference: new Reference([0]) });
102
- (0, test_1.ex)(b).toBeInstanceOf(Test).ok;
103
- // Additional prototype on instantiation
104
- (0, test_1.ex)(b.test).toBe(true).ok;
105
- // Inherited prototype on instantiation
106
- (0, test_1.ex)(b.reference).toStrictEqual(new Reference([0])).ok;
107
- // Inherited prototype on instantiation
108
- (0, test_1.ex)(b.reference.value).toStrictEqual([0]).ok;
109
- (0, test_1.ex)([...b.reference.values()]).toStrictEqual([0]).ok;
110
- (0, test_1.ex)([...b.reference.entries()]).toStrictEqual([[0, 0]])
111
- .ok;
112
- (0, test_1.ex)([...b.reference.keys()]).toStrictEqual([0]).ok;
113
- (0, test_1.ex)(b.reference.filter(() => true)).toStrictEqual([0]).ok;
114
- (0, test_1.ex)(b.reference.map((x) => String(x))).toStrictEqual(["0"]).ok;
115
- (0, test_1.ex)(b.reference.reduce((a, b) => a + b)).toStrictEqual(0).ok;
116
- (0, test_1.ex)(b.reference.some((x) => x === 0)).toBe(true).ok;
117
- (0, test_1.ex)(b.reference.every((x) => x === 0)).toBe(true).ok;
118
- (0, test_1.ex)(b.reference.find((x) => x === 0)).toStrictEqual(0)
119
- .ok;
120
- (0, test_1.ex)(b.reference.findIndex((x) => x === 0)).toStrictEqual(0).ok;
121
- (0, test_1.ex)(b.reference.includes(0)).toBe(true).ok;
122
- (0, test_1.ex)(b.reference.indexOf(0)).toStrictEqual(0).ok;
123
- (0, test_1.ex)(b.reference.lastIndexOf(0)).toStrictEqual(0).ok;
124
- });
125
- it("mixin extension", () => {
126
- const Testable = (config) => {
127
- class I extends (0, multiple_1.Multiple)(config) {
128
- deep = true;
129
- static deep = true;
130
- }
131
- return I;
132
- };
133
- class Test extends Testable(Number) {
134
- test = true;
135
- // @ts-expect-error is not assignable to parameter of type 'true'
136
- abstract = false;
137
- }
138
- // Constructor parameters
139
- (0, test_1.ex)(Test).toHaveFirstParam().ok;
140
- // Additional static prototype
141
- (0, test_1.ex)(Test.deep).toBe(true).ok;
142
- // Deserialization
143
- (0, test_1.ex)(Test.deserialize).toHaveFirstParam().ok;
144
- const a = Test.deserialize([0]);
145
- (0, test_1.ex)(a).toBeInstanceOf(Test).ok;
146
- // Additional prototype on deserialization
147
- (0, test_1.ex)(a.test).toBe(true).ok;
148
- (0, test_1.ex)(a.abstract).toBe(false).ok;
149
- // Extended prototype on deserialization
150
- (0, test_1.ex)(a.deep).toBe(true).ok;
151
- // Inherited prototype on deserialization
152
- (0, test_1.ex)(a.value).toStrictEqual([0]).ok;
153
- // Serialization
154
- (0, test_1.ex)(a.serialize()).toStrictEqual([0]).ok;
155
- // Instantiation
156
- const b = new Test([1]);
157
- (0, test_1.ex)(b).toBeInstanceOf(Test).ok;
158
- // Additional prototype on instantiation
159
- (0, test_1.ex)(b.test).toBe(true).ok;
160
- (0, test_1.ex)(b.abstract).toBe(false).ok;
161
- // Extended prototype on instantiation
162
- (0, test_1.ex)(b.deep).toBe(true).ok;
163
- // Inherited prototype on instantiation
164
- (0, test_1.ex)(b.value).toStrictEqual([1]).ok;
165
- });
166
- it("mixin supersede", () => {
167
- const Testable = (config) => {
168
- class I {
169
- deep = true;
170
- static deep = true;
171
- }
172
- return (0, multiple_1.Multiple)(config, I);
173
- };
174
- class Test extends Testable(Number) {
175
- test = true;
176
- // @ts-expect-error is not assignable to parameter of type 'true'
177
- abstract = false;
178
- }
179
- // Constructor parameters
180
- (0, test_1.ex)(Test).toHaveFirstParam().ok;
181
- // Additional static prototype
182
- (0, test_1.ex)(Test.deep).toBe(true).ok;
183
- // Deserialization
184
- (0, test_1.ex)(Test.deserialize).toHaveFirstParam().ok;
185
- const a = Test.deserialize([0]);
186
- (0, test_1.ex)(a).toBeInstanceOf(Test).ok;
187
- // Additional prototype on deserialization
188
- (0, test_1.ex)(a.test).toBe(true).ok;
189
- (0, test_1.ex)(a.abstract).toBe(false).ok;
190
- // Extended prototype on deserialization
191
- (0, test_1.ex)(a.deep).toBe(true).ok;
192
- // Inherited prototype on deserialization
193
- (0, test_1.ex)(a.value).toStrictEqual([0]).ok;
194
- // Serialization
195
- (0, test_1.ex)(a.serialize()).toStrictEqual([0]).ok;
196
- // Instantiation
197
- const b = new Test([1]);
198
- (0, test_1.ex)(b).toBeInstanceOf(Test).ok;
199
- // Additional prototype on instantiation
200
- (0, test_1.ex)(b.test).toBe(true).ok;
201
- (0, test_1.ex)(b.abstract).toBe(false).ok;
202
- // Extended prototype on instantiation
203
- (0, test_1.ex)(b.deep).toBe(true).ok;
204
- // Inherited prototype on instantiation
205
- (0, test_1.ex)(b.value).toStrictEqual([1]).ok;
206
- });
207
- });
208
- //# sourceMappingURL=multiple.spec.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"multiple.spec.js","sourceRoot":"","sources":["../src/multiple.spec.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"nothing.js","sourceRoot":"","sources":["../src/nothing.ts"],"names":[],"mappings":";;;AAAA,0BAA0E;AAInE,MAAM,OAAO,GAAG,CACrB,MAAY,EACZ,OAAU,QAAY,EACtB,EAAE;IACF,MAAe,QAAS,SAAS,IAA+B;QAC9D,MAAM,CAAC,KAAK,GAAG,SAAkB,CAAC;QAElC,SAAS,KAAI,CAAC;QACd,MAAM,CAAC,WAAW,CAEhB,KAAW;YAEX,OAAO,IAAK,IAAY,EAAE,CAAC;QAC7B,CAAC;QACD,MAAM,CAAC,YAAY,KAAI,CAAC;QACxB,MAAM,CAAC,UAAU,KAAI,CAAC;QACtB,MAAM,CAAC,OAAO,CAAO;;IAWvB,OAAO,QAAmB,CAAC;AAC7B,CAAC,CAAC;AA5BW,QAAA,OAAO,WA4BlB"}
@@ -1,172 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const nothing_1 = require("./nothing");
4
- const dict_1 = require("./dict");
5
- const test_1 = require("./test");
6
- describe("Nothing", () => {
7
- it("class definition", () => {
8
- class Test extends (0, nothing_1.Nothing)() {
9
- test = true;
10
- }
11
- // Constructor parameters
12
- (0, test_1.ex)(Test).toHaveFirstParam().ok;
13
- // Deserialization
14
- (0, test_1.ex)(Test.deserialize).toHaveFirstParam().ok;
15
- const a = Test.deserialize();
16
- (0, test_1.ex)(a).toBeInstanceOf(Test).ok;
17
- // Additional prototype on deserialization
18
- (0, test_1.ex)(a.test).toBe(true).ok;
19
- // Inherited prototype on deserialization
20
- // none
21
- // Serialization
22
- (0, test_1.ex)(a.serialize()).toStrictEqual(undefined).ok;
23
- // Instantiation
24
- const b = new Test();
25
- (0, test_1.ex)(b).toBeInstanceOf(Test);
26
- // Additional prototype on instantiation
27
- (0, test_1.ex)(b.test).toBe(true).ok;
28
- // Inherited prototype on instantiation
29
- // none
30
- });
31
- it("inline definition", () => {
32
- class Test extends (0, dict_1.Dict)({
33
- longhand: (0, nothing_1.Nothing)(),
34
- shorthand: undefined,
35
- }) {
36
- test = true;
37
- }
38
- // Constructor parameters
39
- (0, test_1.ex)(Test).toHaveFirstParam().ok;
40
- // Deserialization
41
- (0, test_1.ex)(Test.deserialize).toHaveFirstParam().ok;
42
- const a = Test.deserialize({ longhand: undefined, shorthand: undefined });
43
- (0, test_1.ex)(a).toBeInstanceOf(Test).ok;
44
- // Additional prototype on deserialization
45
- (0, test_1.ex)(a.test).toBe(true).ok;
46
- // Inherited prototype on deserialization
47
- (0, test_1.ex)(a.longhand).toStrictEqual(undefined).ok;
48
- (0, test_1.ex)(a.shorthand).toStrictEqual(undefined).ok;
49
- // Serialization
50
- (0, test_1.ex)(a.serialize()).toStrictEqual({
51
- longhand: undefined,
52
- shorthand: undefined,
53
- }).ok;
54
- // Instantiation
55
- const b = new Test({ longhand: undefined, shorthand: undefined });
56
- (0, test_1.ex)(b).toBeInstanceOf(Test);
57
- // Additional prototype on instantiation
58
- (0, test_1.ex)(b.test).toBe(true).ok;
59
- // Inherited prototype on instantiation
60
- (0, test_1.ex)(b.longhand).toStrictEqual(undefined).ok;
61
- (0, test_1.ex)(b.shorthand).toStrictEqual(undefined).ok;
62
- });
63
- it("referenced definition", () => {
64
- class Reference extends (0, nothing_1.Nothing)() {
65
- }
66
- class Test extends (0, dict_1.Dict)({ reference: Reference }) {
67
- test = true;
68
- }
69
- // Constructor parameters
70
- (0, test_1.ex)(Test).toHaveFirstParam().ok;
71
- // Deserialization
72
- (0, test_1.ex)(Test.deserialize).toHaveFirstParam().ok;
73
- const a = Test.deserialize({ reference: undefined });
74
- (0, test_1.ex)(a).toBeInstanceOf(Test).ok;
75
- // Additional prototype on deserialization
76
- (0, test_1.ex)(a.test).toBe(true).ok;
77
- // Inherited prototype on deserialization
78
- (0, test_1.ex)(a.reference).toStrictEqual(new Reference()).ok;
79
- // Serialization
80
- (0, test_1.ex)(a.serialize()).toStrictEqual({ reference: undefined }).ok;
81
- // Instantiation
82
- const b = new Test({ reference: new Reference() });
83
- (0, test_1.ex)(b).toBeInstanceOf(Test).ok;
84
- // Additional prototype on instantiation
85
- (0, test_1.ex)(b.test).toBe(true).ok;
86
- // Inherited prototype on instantiation
87
- (0, test_1.ex)(b.reference).toStrictEqual(new Reference()).ok;
88
- });
89
- it("mixin extension", () => {
90
- const Testable = () => {
91
- class I extends (0, nothing_1.Nothing)() {
92
- deep = true;
93
- static deep = true;
94
- }
95
- return I;
96
- };
97
- class Test extends Testable() {
98
- test = true;
99
- // @ts-expect-error is not assignable to parameter of type 'true'
100
- abstract = false;
101
- }
102
- // Constructor parameters
103
- (0, test_1.ex)(Test).toHaveFirstParam().ok;
104
- // Additional static prototype
105
- (0, test_1.ex)(Test.deep).toBe(true).ok;
106
- // Deserialization
107
- (0, test_1.ex)(Test.deserialize).toHaveFirstParam().ok;
108
- const a = Test.deserialize();
109
- (0, test_1.ex)(a).toBeInstanceOf(Test).ok;
110
- // Additional prototype on deserialization
111
- (0, test_1.ex)(a.test).toBe(true).ok;
112
- (0, test_1.ex)(a.abstract).toBe(false).ok;
113
- // Extended prototype on deserialization
114
- (0, test_1.ex)(a.deep).toBe(true).ok;
115
- // Inherited prototype on deserialization
116
- // none
117
- // Serialization
118
- (0, test_1.ex)(a.serialize()).toStrictEqual(undefined).ok;
119
- // Instantiation
120
- const b = new Test();
121
- (0, test_1.ex)(b).toBeInstanceOf(Test).ok;
122
- // Additional prototype on instantiation
123
- (0, test_1.ex)(b.test).toBe(true).ok;
124
- (0, test_1.ex)(b.abstract).toBe(false).ok;
125
- // Extended prototype on instantiation
126
- (0, test_1.ex)(b.deep).toBe(true).ok;
127
- // Inherited prototype on instantiation
128
- // none
129
- });
130
- it("mixin supersede", () => {
131
- const Testable = () => {
132
- class I {
133
- deep = true;
134
- static deep = true;
135
- }
136
- return (0, nothing_1.Nothing)(undefined, I);
137
- };
138
- class Test extends Testable() {
139
- test = true;
140
- // @ts-expect-error is not assignable to parameter of type 'true'
141
- abstract = false;
142
- }
143
- // Constructor parameters
144
- (0, test_1.ex)(Test).toHaveFirstParam().ok;
145
- // Additional static prototype
146
- (0, test_1.ex)(Test.deep).toBe(true).ok;
147
- // Deserialization
148
- (0, test_1.ex)(Test.deserialize).toHaveFirstParam().ok;
149
- const a = Test.deserialize();
150
- (0, test_1.ex)(a).toBeInstanceOf(Test).ok;
151
- // Additional prototype on deserialization
152
- (0, test_1.ex)(a.test).toBe(true).ok;
153
- (0, test_1.ex)(a.abstract).toBe(false).ok;
154
- // Extended prototype on deserialization
155
- (0, test_1.ex)(a.deep).toBe(true).ok;
156
- // Inherited prototype on deserialization
157
- // none
158
- // Serialization
159
- (0, test_1.ex)(a.serialize()).toStrictEqual(undefined).ok;
160
- // Instantiation
161
- const b = new Test();
162
- (0, test_1.ex)(b).toBeInstanceOf(Test).ok;
163
- // Additional prototype on instantiation
164
- (0, test_1.ex)(b.test).toBe(true).ok;
165
- (0, test_1.ex)(b.abstract).toBe(false).ok;
166
- // Extended prototype on instantiation
167
- (0, test_1.ex)(b.deep).toBe(true).ok;
168
- // Inherited prototype on instantiation
169
- // none
170
- });
171
- });
172
- //# sourceMappingURL=nothing.spec.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"nothing.spec.js","sourceRoot":"","sources":["../src/nothing.spec.ts"],"names":[],"mappings":"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"}