pareto-test 0.12.2 → 0.13.0
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.
- package/dist/globals.d.ts +26 -0
- package/dist/globals.js +2 -0
- package/dist/implementation/commands/run_tests.d.ts +11 -0
- package/dist/implementation/commands/run_tests.js +73 -0
- package/dist/implementation/generic.d.ts +13 -0
- package/dist/implementation/generic.js +82 -0
- package/dist/implementation/transformers/test_result/fountain_pen.d.ts +4 -0
- package/dist/implementation/transformers/test_result/fountain_pen.js +53 -0
- package/dist/implementation/transformers/test_result/lines.d.ts +3 -0
- package/dist/implementation/transformers/test_result/lines.js +35 -0
- package/dist/interface/generic.d.ts +27 -0
- package/dist/interface/generic.js +3 -0
- package/package.json +6 -7
- package/dist/bin/json_to_astn.d.ts +0 -2
- package/dist/bin/json_to_astn.js +0 -177
- package/dist/bin/temp_serialize_json_schema.d.ts +0 -2
- package/dist/bin/temp_serialize_json_schema.js +0 -60
- package/dist/generated/implementation/generic/resolve.d.ts +0 -109
- package/dist/generated/implementation/generic/resolve.js +0 -276
- package/dist/generated/implementation/generic/unmarshall.d.ts +0 -42
- package/dist/generated/implementation/generic/unmarshall.js +0 -238
- package/dist/generated/implementation/schemas/legacy_json_schema/marshall.d.ts +0 -11
- package/dist/generated/implementation/schemas/legacy_json_schema/marshall.js +0 -260
- package/dist/generated/implementation/schemas/legacy_json_schema/unmarshall.d.ts +0 -11
- package/dist/generated/implementation/schemas/legacy_json_schema/unmarshall.js +0 -246
- package/dist/generated/interface/core/astn_source.d.ts +0 -108
- package/dist/generated/interface/core/astn_source.js +0 -3
- package/dist/generated/interface/core/astn_target.d.ts +0 -186
- package/dist/generated/interface/core/astn_target.js +0 -3
- package/dist/generated/interface/core/resolve.d.ts +0 -11
- package/dist/generated/interface/core/resolve.js +0 -3
- package/dist/generated/interface/core/resolved.d.ts +0 -117
- package/dist/generated/interface/core/resolved.js +0 -3
- package/dist/generated/interface/core/unconstrained.d.ts +0 -19
- package/dist/generated/interface/core/unconstrained.js +0 -3
- package/dist/generated/interface/core/unresolved.d.ts +0 -181
- package/dist/generated/interface/core/unresolved.js +0 -3
- package/dist/generated/interface/schemas/legacy_json_schema/data_types/resolve.d.ts +0 -1
- package/dist/generated/interface/schemas/legacy_json_schema/data_types/resolve.js +0 -7
- package/dist/generated/interface/schemas/legacy_json_schema/data_types/source.d.ts +0 -574
- package/dist/generated/interface/schemas/legacy_json_schema/data_types/source.js +0 -3
- package/dist/generated/interface/schemas/legacy_json_schema/data_types/target.d.ts +0 -574
- package/dist/generated/interface/schemas/legacy_json_schema/data_types/target.js +0 -3
- package/dist/generated/interface/schemas/legacy_json_schema/marshall.d.ts +0 -303
- package/dist/generated/interface/schemas/legacy_json_schema/marshall.js +0 -3
- package/dist/generated/interface/schemas/legacy_json_schema/migrate_boilerplate.d.ts +0 -222
- package/dist/generated/interface/schemas/legacy_json_schema/migrate_boilerplate.js +0 -3
- package/dist/generated/interface/schemas/legacy_json_schema/unmarshall.d.ts +0 -303
- package/dist/generated/interface/schemas/legacy_json_schema/unmarshall.js +0 -3
- package/dist/generated/interface/schemas/legacy_json_schema/value_deserializers.d.ts +0 -44
- package/dist/generated/interface/schemas/legacy_json_schema/value_deserializers.js +0 -3
- package/dist/generated/interface/schemas/legacy_json_schema/value_serializers.d.ts +0 -44
- package/dist/generated/interface/schemas/legacy_json_schema/value_serializers.js +0 -3
- package/dist/interface/testrunner.d.ts +0 -4
- package/dist/interface/testrunner.js +0 -3
- package/dist/run_tests.d.ts +0 -4
- package/dist/run_tests.js +0 -232
- package/dist/shorthands/legacy_json_schema.d.ts +0 -32
- package/dist/shorthands/legacy_json_schema.js +0 -119
- package/dist/temp_astn_target_to_fountain_pen_block.d.ts +0 -8
- package/dist/temp_astn_target_to_fountain_pen_block.js +0 -131
- package/dist/temp_data/json_schema.astn.d.ts +0 -2
- package/dist/temp_data/json_schema.astn.js +0 -278
- package/dist/transformations/legacy_json_schema/astn_sealed_target.d.ts +0 -38
- package/dist/transformations/legacy_json_schema/astn_sealed_target.js +0 -252
- package/dist/types/json.d.ts +0 -4
- package/dist/types/json.js +0 -3
- package/dist/unmarshall_helpers.d.ts +0 -16
- package/dist/unmarshall_helpers.js +0 -163
|
@@ -1,303 +0,0 @@
|
|
|
1
|
-
import * as _i_in from "../../core/astn_source";
|
|
2
|
-
import * as _i_out from "./data_types/target";
|
|
3
|
-
import * as _i_vd from "./value_deserializers";
|
|
4
|
-
export type _T_Array_Definition = ($$_: _i_in._T_Value, $$_p: {
|
|
5
|
-
readonly 'value deserializers': _i_vd._T_Value_Deserializers;
|
|
6
|
-
}) => _i_out._T_Array_Definition;
|
|
7
|
-
export type _T_Boolean_Definition = ($$_: _i_in._T_Value, $$_p: {
|
|
8
|
-
readonly 'value deserializers': _i_vd._T_Value_Deserializers;
|
|
9
|
-
}) => _i_out._T_Boolean_Definition;
|
|
10
|
-
export type _T_Definition = ($$_: _i_in._T_Value, $$_p: {
|
|
11
|
-
readonly 'value deserializers': _i_vd._T_Value_Deserializers;
|
|
12
|
-
}) => _i_out._T_Definition;
|
|
13
|
-
export type _T_Error = ($$_: _i_in._T_Value, $$_p: {
|
|
14
|
-
readonly 'value deserializers': _i_vd._T_Value_Deserializers;
|
|
15
|
-
}) => _i_out._T_Error;
|
|
16
|
-
export type _T_Null_Definition = ($$_: _i_in._T_Value, $$_p: {
|
|
17
|
-
readonly 'value deserializers': _i_vd._T_Value_Deserializers;
|
|
18
|
-
}) => _i_out._T_Null_Definition;
|
|
19
|
-
export type _T_Number_Definition = ($$_: _i_in._T_Value, $$_p: {
|
|
20
|
-
readonly 'value deserializers': _i_vd._T_Value_Deserializers;
|
|
21
|
-
}) => _i_out._T_Number_Definition;
|
|
22
|
-
export type _T_Object_Definition = ($$_: _i_in._T_Value, $$_p: {
|
|
23
|
-
readonly 'value deserializers': _i_vd._T_Value_Deserializers;
|
|
24
|
-
}) => _i_out._T_Object_Definition;
|
|
25
|
-
export type _T_Schema = ($$_: _i_in._T_Value, $$_p: {
|
|
26
|
-
readonly 'value deserializers': _i_vd._T_Value_Deserializers;
|
|
27
|
-
}) => _i_out._T_Schema;
|
|
28
|
-
export type _T_String_Definition = ($$_: _i_in._T_Value, $$_p: {
|
|
29
|
-
readonly 'value deserializers': _i_vd._T_Value_Deserializers;
|
|
30
|
-
}) => _i_out._T_String_Definition;
|
|
31
|
-
export type _T_Value_Type = ($$_: _i_in._T_Value, $$_p: {
|
|
32
|
-
readonly 'value deserializers': _i_vd._T_Value_Deserializers;
|
|
33
|
-
}) => _i_out._T_Value_Type;
|
|
34
|
-
export type Array_Definition = _T_Array_Definition;
|
|
35
|
-
export type Boolean_Definition = _T_Boolean_Definition;
|
|
36
|
-
export type Definition = _T_Definition;
|
|
37
|
-
export type Error = _T_Error;
|
|
38
|
-
export type Null_Definition = _T_Null_Definition;
|
|
39
|
-
export type Number_Definition = _T_Number_Definition;
|
|
40
|
-
export type Object_Definition = _T_Object_Definition;
|
|
41
|
-
export type Schema = _T_Schema;
|
|
42
|
-
export type String_Definition = _T_String_Definition;
|
|
43
|
-
export type Value_Type = _T_Value_Type;
|
|
44
|
-
export declare namespace _T_Array_Definition {
|
|
45
|
-
namespace CONTEXT {
|
|
46
|
-
}
|
|
47
|
-
type CONTEXT = _i_in._T_Value;
|
|
48
|
-
namespace PARAMS {
|
|
49
|
-
namespace value_deserializers {
|
|
50
|
-
}
|
|
51
|
-
type value_deserializers = _i_vd._T_Value_Deserializers;
|
|
52
|
-
}
|
|
53
|
-
namespace RESULT {
|
|
54
|
-
}
|
|
55
|
-
type RESULT = _i_out._T_Array_Definition;
|
|
56
|
-
}
|
|
57
|
-
export declare namespace _T_Boolean_Definition {
|
|
58
|
-
namespace CONTEXT {
|
|
59
|
-
}
|
|
60
|
-
type CONTEXT = _i_in._T_Value;
|
|
61
|
-
namespace PARAMS {
|
|
62
|
-
namespace value_deserializers {
|
|
63
|
-
}
|
|
64
|
-
type value_deserializers = _i_vd._T_Value_Deserializers;
|
|
65
|
-
}
|
|
66
|
-
namespace RESULT {
|
|
67
|
-
}
|
|
68
|
-
type RESULT = _i_out._T_Boolean_Definition;
|
|
69
|
-
}
|
|
70
|
-
export declare namespace _T_Definition {
|
|
71
|
-
namespace CONTEXT {
|
|
72
|
-
}
|
|
73
|
-
type CONTEXT = _i_in._T_Value;
|
|
74
|
-
namespace PARAMS {
|
|
75
|
-
namespace value_deserializers {
|
|
76
|
-
}
|
|
77
|
-
type value_deserializers = _i_vd._T_Value_Deserializers;
|
|
78
|
-
}
|
|
79
|
-
namespace RESULT {
|
|
80
|
-
}
|
|
81
|
-
type RESULT = _i_out._T_Definition;
|
|
82
|
-
}
|
|
83
|
-
export declare namespace _T_Error {
|
|
84
|
-
namespace CONTEXT {
|
|
85
|
-
}
|
|
86
|
-
type CONTEXT = _i_in._T_Value;
|
|
87
|
-
namespace PARAMS {
|
|
88
|
-
namespace value_deserializers {
|
|
89
|
-
}
|
|
90
|
-
type value_deserializers = _i_vd._T_Value_Deserializers;
|
|
91
|
-
}
|
|
92
|
-
namespace RESULT {
|
|
93
|
-
}
|
|
94
|
-
type RESULT = _i_out._T_Error;
|
|
95
|
-
}
|
|
96
|
-
export declare namespace _T_Null_Definition {
|
|
97
|
-
namespace CONTEXT {
|
|
98
|
-
}
|
|
99
|
-
type CONTEXT = _i_in._T_Value;
|
|
100
|
-
namespace PARAMS {
|
|
101
|
-
namespace value_deserializers {
|
|
102
|
-
}
|
|
103
|
-
type value_deserializers = _i_vd._T_Value_Deserializers;
|
|
104
|
-
}
|
|
105
|
-
namespace RESULT {
|
|
106
|
-
}
|
|
107
|
-
type RESULT = _i_out._T_Null_Definition;
|
|
108
|
-
}
|
|
109
|
-
export declare namespace _T_Number_Definition {
|
|
110
|
-
namespace CONTEXT {
|
|
111
|
-
}
|
|
112
|
-
type CONTEXT = _i_in._T_Value;
|
|
113
|
-
namespace PARAMS {
|
|
114
|
-
namespace value_deserializers {
|
|
115
|
-
}
|
|
116
|
-
type value_deserializers = _i_vd._T_Value_Deserializers;
|
|
117
|
-
}
|
|
118
|
-
namespace RESULT {
|
|
119
|
-
}
|
|
120
|
-
type RESULT = _i_out._T_Number_Definition;
|
|
121
|
-
}
|
|
122
|
-
export declare namespace _T_Object_Definition {
|
|
123
|
-
namespace CONTEXT {
|
|
124
|
-
}
|
|
125
|
-
type CONTEXT = _i_in._T_Value;
|
|
126
|
-
namespace PARAMS {
|
|
127
|
-
namespace value_deserializers {
|
|
128
|
-
}
|
|
129
|
-
type value_deserializers = _i_vd._T_Value_Deserializers;
|
|
130
|
-
}
|
|
131
|
-
namespace RESULT {
|
|
132
|
-
}
|
|
133
|
-
type RESULT = _i_out._T_Object_Definition;
|
|
134
|
-
}
|
|
135
|
-
export declare namespace _T_Schema {
|
|
136
|
-
namespace CONTEXT {
|
|
137
|
-
}
|
|
138
|
-
type CONTEXT = _i_in._T_Value;
|
|
139
|
-
namespace PARAMS {
|
|
140
|
-
namespace value_deserializers {
|
|
141
|
-
}
|
|
142
|
-
type value_deserializers = _i_vd._T_Value_Deserializers;
|
|
143
|
-
}
|
|
144
|
-
namespace RESULT {
|
|
145
|
-
}
|
|
146
|
-
type RESULT = _i_out._T_Schema;
|
|
147
|
-
}
|
|
148
|
-
export declare namespace _T_String_Definition {
|
|
149
|
-
namespace CONTEXT {
|
|
150
|
-
}
|
|
151
|
-
type CONTEXT = _i_in._T_Value;
|
|
152
|
-
namespace PARAMS {
|
|
153
|
-
namespace value_deserializers {
|
|
154
|
-
}
|
|
155
|
-
type value_deserializers = _i_vd._T_Value_Deserializers;
|
|
156
|
-
}
|
|
157
|
-
namespace RESULT {
|
|
158
|
-
}
|
|
159
|
-
type RESULT = _i_out._T_String_Definition;
|
|
160
|
-
}
|
|
161
|
-
export declare namespace _T_Value_Type {
|
|
162
|
-
namespace CONTEXT {
|
|
163
|
-
}
|
|
164
|
-
type CONTEXT = _i_in._T_Value;
|
|
165
|
-
namespace PARAMS {
|
|
166
|
-
namespace value_deserializers {
|
|
167
|
-
}
|
|
168
|
-
type value_deserializers = _i_vd._T_Value_Deserializers;
|
|
169
|
-
}
|
|
170
|
-
namespace RESULT {
|
|
171
|
-
}
|
|
172
|
-
type RESULT = _i_out._T_Value_Type;
|
|
173
|
-
}
|
|
174
|
-
export declare namespace Array_Definition {
|
|
175
|
-
namespace CONTEXT {
|
|
176
|
-
}
|
|
177
|
-
type CONTEXT = _i_in._T_Value;
|
|
178
|
-
namespace PARAMS {
|
|
179
|
-
namespace value_deserializers {
|
|
180
|
-
}
|
|
181
|
-
type value_deserializers = _i_vd._T_Value_Deserializers;
|
|
182
|
-
}
|
|
183
|
-
namespace RESULT {
|
|
184
|
-
}
|
|
185
|
-
type RESULT = _i_out._T_Array_Definition;
|
|
186
|
-
}
|
|
187
|
-
export declare namespace Boolean_Definition {
|
|
188
|
-
namespace CONTEXT {
|
|
189
|
-
}
|
|
190
|
-
type CONTEXT = _i_in._T_Value;
|
|
191
|
-
namespace PARAMS {
|
|
192
|
-
namespace value_deserializers {
|
|
193
|
-
}
|
|
194
|
-
type value_deserializers = _i_vd._T_Value_Deserializers;
|
|
195
|
-
}
|
|
196
|
-
namespace RESULT {
|
|
197
|
-
}
|
|
198
|
-
type RESULT = _i_out._T_Boolean_Definition;
|
|
199
|
-
}
|
|
200
|
-
export declare namespace Definition {
|
|
201
|
-
namespace CONTEXT {
|
|
202
|
-
}
|
|
203
|
-
type CONTEXT = _i_in._T_Value;
|
|
204
|
-
namespace PARAMS {
|
|
205
|
-
namespace value_deserializers {
|
|
206
|
-
}
|
|
207
|
-
type value_deserializers = _i_vd._T_Value_Deserializers;
|
|
208
|
-
}
|
|
209
|
-
namespace RESULT {
|
|
210
|
-
}
|
|
211
|
-
type RESULT = _i_out._T_Definition;
|
|
212
|
-
}
|
|
213
|
-
export declare namespace Error {
|
|
214
|
-
namespace CONTEXT {
|
|
215
|
-
}
|
|
216
|
-
type CONTEXT = _i_in._T_Value;
|
|
217
|
-
namespace PARAMS {
|
|
218
|
-
namespace value_deserializers {
|
|
219
|
-
}
|
|
220
|
-
type value_deserializers = _i_vd._T_Value_Deserializers;
|
|
221
|
-
}
|
|
222
|
-
namespace RESULT {
|
|
223
|
-
}
|
|
224
|
-
type RESULT = _i_out._T_Error;
|
|
225
|
-
}
|
|
226
|
-
export declare namespace Null_Definition {
|
|
227
|
-
namespace CONTEXT {
|
|
228
|
-
}
|
|
229
|
-
type CONTEXT = _i_in._T_Value;
|
|
230
|
-
namespace PARAMS {
|
|
231
|
-
namespace value_deserializers {
|
|
232
|
-
}
|
|
233
|
-
type value_deserializers = _i_vd._T_Value_Deserializers;
|
|
234
|
-
}
|
|
235
|
-
namespace RESULT {
|
|
236
|
-
}
|
|
237
|
-
type RESULT = _i_out._T_Null_Definition;
|
|
238
|
-
}
|
|
239
|
-
export declare namespace Number_Definition {
|
|
240
|
-
namespace CONTEXT {
|
|
241
|
-
}
|
|
242
|
-
type CONTEXT = _i_in._T_Value;
|
|
243
|
-
namespace PARAMS {
|
|
244
|
-
namespace value_deserializers {
|
|
245
|
-
}
|
|
246
|
-
type value_deserializers = _i_vd._T_Value_Deserializers;
|
|
247
|
-
}
|
|
248
|
-
namespace RESULT {
|
|
249
|
-
}
|
|
250
|
-
type RESULT = _i_out._T_Number_Definition;
|
|
251
|
-
}
|
|
252
|
-
export declare namespace Object_Definition {
|
|
253
|
-
namespace CONTEXT {
|
|
254
|
-
}
|
|
255
|
-
type CONTEXT = _i_in._T_Value;
|
|
256
|
-
namespace PARAMS {
|
|
257
|
-
namespace value_deserializers {
|
|
258
|
-
}
|
|
259
|
-
type value_deserializers = _i_vd._T_Value_Deserializers;
|
|
260
|
-
}
|
|
261
|
-
namespace RESULT {
|
|
262
|
-
}
|
|
263
|
-
type RESULT = _i_out._T_Object_Definition;
|
|
264
|
-
}
|
|
265
|
-
export declare namespace Schema {
|
|
266
|
-
namespace CONTEXT {
|
|
267
|
-
}
|
|
268
|
-
type CONTEXT = _i_in._T_Value;
|
|
269
|
-
namespace PARAMS {
|
|
270
|
-
namespace value_deserializers {
|
|
271
|
-
}
|
|
272
|
-
type value_deserializers = _i_vd._T_Value_Deserializers;
|
|
273
|
-
}
|
|
274
|
-
namespace RESULT {
|
|
275
|
-
}
|
|
276
|
-
type RESULT = _i_out._T_Schema;
|
|
277
|
-
}
|
|
278
|
-
export declare namespace String_Definition {
|
|
279
|
-
namespace CONTEXT {
|
|
280
|
-
}
|
|
281
|
-
type CONTEXT = _i_in._T_Value;
|
|
282
|
-
namespace PARAMS {
|
|
283
|
-
namespace value_deserializers {
|
|
284
|
-
}
|
|
285
|
-
type value_deserializers = _i_vd._T_Value_Deserializers;
|
|
286
|
-
}
|
|
287
|
-
namespace RESULT {
|
|
288
|
-
}
|
|
289
|
-
type RESULT = _i_out._T_String_Definition;
|
|
290
|
-
}
|
|
291
|
-
export declare namespace Value_Type {
|
|
292
|
-
namespace CONTEXT {
|
|
293
|
-
}
|
|
294
|
-
type CONTEXT = _i_in._T_Value;
|
|
295
|
-
namespace PARAMS {
|
|
296
|
-
namespace value_deserializers {
|
|
297
|
-
}
|
|
298
|
-
type value_deserializers = _i_vd._T_Value_Deserializers;
|
|
299
|
-
}
|
|
300
|
-
namespace RESULT {
|
|
301
|
-
}
|
|
302
|
-
type RESULT = _i_out._T_Value_Type;
|
|
303
|
-
}
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidW5tYXJzaGFsbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9nZW5lcmF0ZWQvaW50ZXJmYWNlL3NjaGVtYXMvbGVnYWN5X2pzb25fc2NoZW1hL3VubWFyc2hhbGwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiJ9
|
|
@@ -1,44 +0,0 @@
|
|
|
1
|
-
export type _T_Value_Deserializers = {
|
|
2
|
-
readonly 'boolean': ($$_: string, $$_p: null) => boolean;
|
|
3
|
-
readonly 'custom numbers': null;
|
|
4
|
-
readonly 'default number': ($$_: string, $$_p: null) => number;
|
|
5
|
-
};
|
|
6
|
-
export type Value_Deserializers = _T_Value_Deserializers;
|
|
7
|
-
export declare namespace _T_Value_Deserializers {
|
|
8
|
-
namespace _boolean {
|
|
9
|
-
type CONTEXT = string;
|
|
10
|
-
namespace PARAMS {
|
|
11
|
-
}
|
|
12
|
-
type RESULT = boolean;
|
|
13
|
-
}
|
|
14
|
-
type _boolean = ($$_: string, $$_p: null) => boolean;
|
|
15
|
-
namespace custom_numbers {
|
|
16
|
-
}
|
|
17
|
-
type custom_numbers = null;
|
|
18
|
-
namespace default_number {
|
|
19
|
-
type CONTEXT = string;
|
|
20
|
-
namespace PARAMS {
|
|
21
|
-
}
|
|
22
|
-
type RESULT = number;
|
|
23
|
-
}
|
|
24
|
-
type default_number = ($$_: string, $$_p: null) => number;
|
|
25
|
-
}
|
|
26
|
-
export declare namespace Value_Deserializers {
|
|
27
|
-
namespace _boolean {
|
|
28
|
-
type CONTEXT = string;
|
|
29
|
-
namespace PARAMS {
|
|
30
|
-
}
|
|
31
|
-
type RESULT = boolean;
|
|
32
|
-
}
|
|
33
|
-
type _boolean = ($$_: string, $$_p: null) => boolean;
|
|
34
|
-
namespace custom_numbers {
|
|
35
|
-
}
|
|
36
|
-
type custom_numbers = null;
|
|
37
|
-
namespace default_number {
|
|
38
|
-
type CONTEXT = string;
|
|
39
|
-
namespace PARAMS {
|
|
40
|
-
}
|
|
41
|
-
type RESULT = number;
|
|
42
|
-
}
|
|
43
|
-
type default_number = ($$_: string, $$_p: null) => number;
|
|
44
|
-
}
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsdWVfZGVzZXJpYWxpemVycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9nZW5lcmF0ZWQvaW50ZXJmYWNlL3NjaGVtYXMvbGVnYWN5X2pzb25fc2NoZW1hL3ZhbHVlX2Rlc2VyaWFsaXplcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiJ9
|
|
@@ -1,44 +0,0 @@
|
|
|
1
|
-
export type _T_Value_Serializers = {
|
|
2
|
-
readonly 'boolean': ($$_: boolean, $$_p: null) => string;
|
|
3
|
-
readonly 'custom numbers': null;
|
|
4
|
-
readonly 'default number': ($$_: number, $$_p: null) => string;
|
|
5
|
-
};
|
|
6
|
-
export type Value_Serializers = _T_Value_Serializers;
|
|
7
|
-
export declare namespace _T_Value_Serializers {
|
|
8
|
-
namespace _boolean {
|
|
9
|
-
type CONTEXT = boolean;
|
|
10
|
-
namespace PARAMS {
|
|
11
|
-
}
|
|
12
|
-
type RESULT = string;
|
|
13
|
-
}
|
|
14
|
-
type _boolean = ($$_: boolean, $$_p: null) => string;
|
|
15
|
-
namespace custom_numbers {
|
|
16
|
-
}
|
|
17
|
-
type custom_numbers = null;
|
|
18
|
-
namespace default_number {
|
|
19
|
-
type CONTEXT = number;
|
|
20
|
-
namespace PARAMS {
|
|
21
|
-
}
|
|
22
|
-
type RESULT = string;
|
|
23
|
-
}
|
|
24
|
-
type default_number = ($$_: number, $$_p: null) => string;
|
|
25
|
-
}
|
|
26
|
-
export declare namespace Value_Serializers {
|
|
27
|
-
namespace _boolean {
|
|
28
|
-
type CONTEXT = boolean;
|
|
29
|
-
namespace PARAMS {
|
|
30
|
-
}
|
|
31
|
-
type RESULT = string;
|
|
32
|
-
}
|
|
33
|
-
type _boolean = ($$_: boolean, $$_p: null) => string;
|
|
34
|
-
namespace custom_numbers {
|
|
35
|
-
}
|
|
36
|
-
type custom_numbers = null;
|
|
37
|
-
namespace default_number {
|
|
38
|
-
type CONTEXT = number;
|
|
39
|
-
namespace PARAMS {
|
|
40
|
-
}
|
|
41
|
-
type RESULT = string;
|
|
42
|
-
}
|
|
43
|
-
type default_number = ($$_: number, $$_p: null) => string;
|
|
44
|
-
}
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsdWVfc2VyaWFsaXplcnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvZ2VuZXJhdGVkL2ludGVyZmFjZS9zY2hlbWFzL2xlZ2FjeV9qc29uX3NjaGVtYS92YWx1ZV9zZXJpYWxpemVycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIn0=
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVzdHJ1bm5lci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9pbnRlcmZhY2UvdGVzdHJ1bm5lci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIn0=
|
package/dist/run_tests.d.ts
DELETED
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
import * as _et from 'exupery-core-types';
|
|
2
|
-
import { TestRunner } from "./interface/testrunner";
|
|
3
|
-
export declare const run_tests: (tests: _et.Dictionary<TestRunner>, overwrite_expected: boolean, test_dir: string) => void;
|
|
4
|
-
export declare const test_runner: ($p: TestRunner, name: string, overwrite_expected: boolean, test_dir: string) => boolean;
|
package/dist/run_tests.js
DELETED
|
@@ -1,232 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
-
if (k2 === undefined) k2 = k;
|
|
4
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
-
}) : function(o, v) {
|
|
16
|
-
o["default"] = v;
|
|
17
|
-
});
|
|
18
|
-
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
-
if (mod && mod.__esModule) return mod;
|
|
20
|
-
var result = {};
|
|
21
|
-
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
-
__setModuleDefault(result, mod);
|
|
23
|
-
return result;
|
|
24
|
-
};
|
|
25
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
26
|
-
exports.test_runner = exports.run_tests = void 0;
|
|
27
|
-
const child_process_1 = require("child_process");
|
|
28
|
-
const path = __importStar(require("path"));
|
|
29
|
-
const fs = __importStar(require("fs"));
|
|
30
|
-
const run_tests = (tests, overwrite_expected, test_dir) => {
|
|
31
|
-
// Clean the entire 'actual' directory before starting tests
|
|
32
|
-
const actual_dir = path.join(test_dir, 'actual');
|
|
33
|
-
if (fs.existsSync(actual_dir)) {
|
|
34
|
-
// Remove all contents
|
|
35
|
-
const entries = fs.readdirSync(actual_dir);
|
|
36
|
-
for (const entry of entries) {
|
|
37
|
-
const entry_path = path.join(actual_dir, entry);
|
|
38
|
-
const stat = fs.statSync(entry_path);
|
|
39
|
-
if (stat.isDirectory()) {
|
|
40
|
-
fs.rmSync(entry_path, { recursive: true, force: true });
|
|
41
|
-
}
|
|
42
|
-
else {
|
|
43
|
-
fs.unlinkSync(entry_path);
|
|
44
|
-
}
|
|
45
|
-
}
|
|
46
|
-
console.log('✓ Cleaned actual directory\n');
|
|
47
|
-
}
|
|
48
|
-
else {
|
|
49
|
-
fs.mkdirSync(actual_dir, { recursive: true });
|
|
50
|
-
console.log('✓ Created actual directory\n');
|
|
51
|
-
}
|
|
52
|
-
console.log('Running all tests...\n');
|
|
53
|
-
console.log('-'.repeat(60));
|
|
54
|
-
let failed_tests = 0;
|
|
55
|
-
let passed_tests = 0;
|
|
56
|
-
const failed_test_types = [];
|
|
57
|
-
// Run each test
|
|
58
|
-
tests.map(($, key) => {
|
|
59
|
-
try {
|
|
60
|
-
const success = (0, exports.test_runner)($, key, overwrite_expected, test_dir);
|
|
61
|
-
if (success) {
|
|
62
|
-
passed_tests++;
|
|
63
|
-
}
|
|
64
|
-
else {
|
|
65
|
-
failed_tests++;
|
|
66
|
-
failed_test_types.push(key);
|
|
67
|
-
}
|
|
68
|
-
}
|
|
69
|
-
catch (err) {
|
|
70
|
-
failed_tests++;
|
|
71
|
-
failed_test_types.push(key);
|
|
72
|
-
}
|
|
73
|
-
});
|
|
74
|
-
// Summary
|
|
75
|
-
console.log('\n' + '-'.repeat(60));
|
|
76
|
-
console.log(`Test Summary:`);
|
|
77
|
-
console.log(` - ${passed_tests} test(s) passed`);
|
|
78
|
-
console.log(` - ${failed_tests} test(s) failed`);
|
|
79
|
-
if (failed_tests > 0) {
|
|
80
|
-
console.log('\n❌ Some tests failed');
|
|
81
|
-
// Open Beyond Compare for expected vs actual directories
|
|
82
|
-
const expected_path = path.join(test_dir, 'expected');
|
|
83
|
-
const actual_path = path.join(test_dir, 'actual');
|
|
84
|
-
console.log(`\nOpening Beyond Compare...`);
|
|
85
|
-
console.log(` Expected: ${expected_path}`);
|
|
86
|
-
console.log(` Actual: ${actual_path}`);
|
|
87
|
-
try {
|
|
88
|
-
(0, child_process_1.execSync)(`bcompare "${expected_path}" "${actual_path}" &`, {
|
|
89
|
-
stdio: 'ignore'
|
|
90
|
-
});
|
|
91
|
-
}
|
|
92
|
-
catch (err) {
|
|
93
|
-
console.error(` ⚠️ Could not open Beyond Compare. Make sure 'bcompare' is in your PATH.`);
|
|
94
|
-
}
|
|
95
|
-
process.exit(1);
|
|
96
|
-
}
|
|
97
|
-
else {
|
|
98
|
-
console.log('\n✓ All tests passed');
|
|
99
|
-
}
|
|
100
|
-
};
|
|
101
|
-
exports.run_tests = run_tests;
|
|
102
|
-
function to_snake_case(str) {
|
|
103
|
-
return str.toLowerCase().replace(/\s+/g, '_');
|
|
104
|
-
}
|
|
105
|
-
const test_runner = ($p, name, overwrite_expected, test_dir) => {
|
|
106
|
-
const fixtures_dir = path.join(test_dir, 'fixtures');
|
|
107
|
-
const test_dir_name = to_snake_case(name);
|
|
108
|
-
const input_dir = path.join(fixtures_dir, test_dir_name);
|
|
109
|
-
const expected_dir = path.join(test_dir, 'expected');
|
|
110
|
-
const actual_dir = path.join(test_dir, 'actual');
|
|
111
|
-
console.log('='.repeat(60));
|
|
112
|
-
console.log(`Running test: ${name}\n`);
|
|
113
|
-
// Check if input directory exists
|
|
114
|
-
if (!fs.existsSync(input_dir)) {
|
|
115
|
-
console.error(`❌ Input directory not found: ${input_dir}`);
|
|
116
|
-
return false;
|
|
117
|
-
}
|
|
118
|
-
// Ensure actual output directory exists
|
|
119
|
-
const actual_output_dir = path.join(actual_dir, test_dir_name);
|
|
120
|
-
if (!fs.existsSync(actual_output_dir)) {
|
|
121
|
-
fs.mkdirSync(actual_output_dir, { recursive: true });
|
|
122
|
-
}
|
|
123
|
-
// Clear/create expected output directory if overwrite flag is set
|
|
124
|
-
const expected_output_dir = path.join(expected_dir, test_dir_name);
|
|
125
|
-
if (overwrite_expected) {
|
|
126
|
-
// Only clear if the directory exists and has files
|
|
127
|
-
if (fs.existsSync(expected_output_dir)) {
|
|
128
|
-
const files = fs.readdirSync(expected_output_dir);
|
|
129
|
-
console.log(`⚠️ Overwrite mode: Will replace ${files.length} existing expected file(s) in ${test_dir_name}`);
|
|
130
|
-
for (const file of files) {
|
|
131
|
-
fs.unlinkSync(path.join(expected_output_dir, file));
|
|
132
|
-
}
|
|
133
|
-
console.log(`✓ Cleared ${expected_output_dir}`);
|
|
134
|
-
}
|
|
135
|
-
else {
|
|
136
|
-
fs.mkdirSync(expected_output_dir, { recursive: true });
|
|
137
|
-
console.log(`✓ Created ${expected_output_dir}`);
|
|
138
|
-
}
|
|
139
|
-
}
|
|
140
|
-
else {
|
|
141
|
-
// Ensure expected output directory exists
|
|
142
|
-
if (!fs.existsSync(expected_output_dir)) {
|
|
143
|
-
fs.mkdirSync(expected_output_dir, { recursive: true });
|
|
144
|
-
}
|
|
145
|
-
}
|
|
146
|
-
// Read all files from input directory
|
|
147
|
-
const input_files = fs.readdirSync(input_dir);
|
|
148
|
-
console.log(`\nFound ${input_files.length} input file(s) to process\n`);
|
|
149
|
-
let differences_found = 0;
|
|
150
|
-
let matches_found = 0;
|
|
151
|
-
for (const input_file of input_files) {
|
|
152
|
-
const base_name = path.basename(input_file, path.extname(input_file));
|
|
153
|
-
const output_name = `${base_name}.${$p.target_extension}`;
|
|
154
|
-
try {
|
|
155
|
-
// Read input file
|
|
156
|
-
const input_path = path.join(input_dir, input_file);
|
|
157
|
-
const input_content = fs.readFileSync(input_path, 'utf8');
|
|
158
|
-
// Transform input to output
|
|
159
|
-
const output_content = $p.transformer(input_content, base_name);
|
|
160
|
-
// If overwrite expected, write to expected directory
|
|
161
|
-
if (overwrite_expected) {
|
|
162
|
-
const expected_path = path.join(expected_output_dir, output_name);
|
|
163
|
-
fs.writeFileSync(expected_path, output_content);
|
|
164
|
-
console.log(`\x1b[32m${base_name} ✓\x1b[0m`);
|
|
165
|
-
}
|
|
166
|
-
else {
|
|
167
|
-
// Compare with expected
|
|
168
|
-
const expected_path = path.join(expected_output_dir, output_name);
|
|
169
|
-
if (!fs.existsSync(expected_path)) {
|
|
170
|
-
// No expected file exists, write to actual
|
|
171
|
-
const actual_path = path.join(actual_output_dir, output_name);
|
|
172
|
-
fs.writeFileSync(actual_path, output_content);
|
|
173
|
-
console.log(`\x1b[31m${base_name} ❌\x1b[0m`);
|
|
174
|
-
differences_found++;
|
|
175
|
-
}
|
|
176
|
-
else {
|
|
177
|
-
// Compare with expected
|
|
178
|
-
const expected_content = fs.readFileSync(expected_path, 'utf8');
|
|
179
|
-
if (output_content === expected_content) {
|
|
180
|
-
console.log(`\x1b[32m${base_name} ✓\x1b[0m`);
|
|
181
|
-
matches_found++;
|
|
182
|
-
}
|
|
183
|
-
else {
|
|
184
|
-
// Write to actual directory
|
|
185
|
-
const actual_path = path.join(actual_output_dir, output_name);
|
|
186
|
-
fs.writeFileSync(actual_path, output_content);
|
|
187
|
-
console.log(`\x1b[31m${base_name} ❌\x1b[0m`);
|
|
188
|
-
differences_found++;
|
|
189
|
-
}
|
|
190
|
-
}
|
|
191
|
-
}
|
|
192
|
-
}
|
|
193
|
-
catch (error) {
|
|
194
|
-
// Write error information to actual file so we can see what went wrong
|
|
195
|
-
const actual_path = path.join(actual_output_dir, output_name);
|
|
196
|
-
const error_content = `ERROR during transformation:\n${error instanceof Error ? error.stack : String(error)}`;
|
|
197
|
-
fs.writeFileSync(actual_path, error_content);
|
|
198
|
-
console.log(`\x1b[31m${base_name} ❌\x1b[0m`);
|
|
199
|
-
console.log('\n' + '-'.repeat(60));
|
|
200
|
-
console.error(`❌ FATAL ERROR during transformation of ${base_name}:`);
|
|
201
|
-
console.error(error instanceof Error ? error.message : String(error));
|
|
202
|
-
console.error(`Full error details written to: ${actual_path}`);
|
|
203
|
-
console.error(`\nAborting test run due to transformation error.`);
|
|
204
|
-
console.log('='.repeat(60));
|
|
205
|
-
process.exit(1);
|
|
206
|
-
}
|
|
207
|
-
}
|
|
208
|
-
console.log('\n' + '-'.repeat(60));
|
|
209
|
-
if (overwrite_expected) {
|
|
210
|
-
console.log(`✓ Baseline set: ${input_files.length} file(s) written to expected directory`);
|
|
211
|
-
console.log('='.repeat(60));
|
|
212
|
-
return true;
|
|
213
|
-
}
|
|
214
|
-
else {
|
|
215
|
-
console.log(`Summary:`);
|
|
216
|
-
console.log(` - ${matches_found} file(s) match expected`);
|
|
217
|
-
console.log(` - ${differences_found} file(s) differ or missing expected`);
|
|
218
|
-
if (differences_found > 0) {
|
|
219
|
-
console.log(`\n⚠️ Differences found! Check files in: ${actual_output_dir}`);
|
|
220
|
-
console.log(`To set new baseline, run with: --overwrite-expected`);
|
|
221
|
-
console.log('='.repeat(60));
|
|
222
|
-
return false;
|
|
223
|
-
}
|
|
224
|
-
else {
|
|
225
|
-
console.log(`\n✓ All generated files match expected`);
|
|
226
|
-
console.log('='.repeat(60));
|
|
227
|
-
return true;
|
|
228
|
-
}
|
|
229
|
-
}
|
|
230
|
-
};
|
|
231
|
-
exports.test_runner = test_runner;
|
|
232
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnVuX3Rlc3RzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL3J1bl90ZXN0cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUdBLGlEQUF3QztBQUN4QywyQ0FBNEI7QUFDNUIsdUNBQXdCO0FBR2pCLE1BQU0sU0FBUyxHQUFHLENBQ3JCLEtBQWlDLEVBQ2pDLGtCQUEyQixFQUMzQixRQUFnQixFQUNsQixFQUFFO0lBRUEsNERBQTREO0lBQzVELE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLFFBQVEsQ0FBQyxDQUFBO0lBQ2hELElBQUksRUFBRSxDQUFDLFVBQVUsQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUFDO1FBQzVCLHNCQUFzQjtRQUN0QixNQUFNLE9BQU8sR0FBRyxFQUFFLENBQUMsV0FBVyxDQUFDLFVBQVUsQ0FBQyxDQUFBO1FBQzFDLEtBQUssTUFBTSxLQUFLLElBQUksT0FBTyxFQUFFLENBQUM7WUFDMUIsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsS0FBSyxDQUFDLENBQUE7WUFDL0MsTUFBTSxJQUFJLEdBQUcsRUFBRSxDQUFDLFFBQVEsQ0FBQyxVQUFVLENBQUMsQ0FBQTtZQUNwQyxJQUFJLElBQUksQ0FBQyxXQUFXLEVBQUUsRUFBRSxDQUFDO2dCQUNyQixFQUFFLENBQUMsTUFBTSxDQUFDLFVBQVUsRUFBRSxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxDQUFDLENBQUE7WUFDM0QsQ0FBQztpQkFBTSxDQUFDO2dCQUNKLEVBQUUsQ0FBQyxVQUFVLENBQUMsVUFBVSxDQUFDLENBQUE7WUFDN0IsQ0FBQztRQUNMLENBQUM7UUFDRCxPQUFPLENBQUMsR0FBRyxDQUFDLDhCQUE4QixDQUFDLENBQUE7SUFDL0MsQ0FBQztTQUFNLENBQUM7UUFDSixFQUFFLENBQUMsU0FB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
|