web_api_base 7.3.0 → 8.0.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/Application.d.ts +1 -0
- package/dist/Application.d.ts.map +1 -1
- package/dist/Application.js +64 -34
- package/dist/Application.js.map +1 -1
- package/dist/ApplicationConfiguration.d.ts +1 -2
- package/dist/ApplicationConfiguration.d.ts.map +1 -1
- package/dist/ApplicationConfiguration.js +16 -28
- package/dist/ApplicationConfiguration.js.map +1 -1
- package/dist/bin/Factory.d.ts.map +1 -1
- package/dist/bin/Factory.js +7 -15
- package/dist/bin/Factory.js.map +1 -1
- package/dist/controllers/base/ControllerBase.d.ts.map +1 -1
- package/dist/controllers/base/ControllerBase.js +7 -2
- package/dist/controllers/base/ControllerBase.js.map +1 -1
- package/dist/decorators/controllers/ControllerDecorators.d.ts +36 -27
- package/dist/decorators/controllers/ControllerDecorators.d.ts.map +1 -1
- package/dist/decorators/controllers/ControllerDecorators.js +116 -65
- package/dist/decorators/controllers/ControllerDecorators.js.map +1 -1
- package/dist/decorators/metadata/MetadataDecorators.d.ts +3 -0
- package/dist/decorators/metadata/MetadataDecorators.d.ts.map +1 -1
- package/dist/decorators/metadata/MetadataDecorators.js +10 -0
- package/dist/decorators/metadata/MetadataDecorators.js.map +1 -1
- package/dist/decorators/validations/ValidationDecorators.d.ts +38 -27
- package/dist/decorators/validations/ValidationDecorators.d.ts.map +1 -1
- package/dist/decorators/validations/ValidationDecorators.js +107 -86
- package/dist/decorators/validations/ValidationDecorators.js.map +1 -1
- package/dist/dependencyInjection/DependecyService.d.ts +2 -1
- package/dist/dependencyInjection/DependecyService.d.ts.map +1 -1
- package/dist/dependencyInjection/DependecyService.js +42 -33
- package/dist/dependencyInjection/DependecyService.js.map +1 -1
- package/dist/dependencyInjection/Index.d.ts +8 -0
- package/dist/dependencyInjection/Index.d.ts.map +1 -0
- package/dist/dependencyInjection/Index.js +33 -0
- package/dist/dependencyInjection/Index.js.map +1 -0
- package/dist/documentation/CSS.d.ts.map +1 -1
- package/dist/documentation/CSS.js +22 -0
- package/dist/documentation/CSS.js.map +1 -1
- package/dist/documentation/Documentation.d.ts +1 -1
- package/dist/documentation/Documentation.d.ts.map +1 -1
- package/dist/documentation/Documentation.js +26 -21
- package/dist/documentation/Documentation.js.map +1 -1
- package/dist/documentation/Index.d.ts +13 -0
- package/dist/documentation/Index.d.ts.map +1 -0
- package/dist/documentation/Index.js +63 -0
- package/dist/documentation/Index.js.map +1 -0
- package/dist/documentation/JS.d.ts.map +1 -1
- package/dist/documentation/JS.js +120 -61
- package/dist/documentation/JS.js.map +1 -1
- package/dist/index.d.ts +26 -25
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +85 -66
- package/dist/index.js.map +1 -1
- package/dist/metadata/Index.d.ts +11 -0
- package/dist/metadata/Index.d.ts.map +1 -0
- package/dist/metadata/Index.js +36 -0
- package/dist/metadata/Index.js.map +1 -0
- package/dist/metadata/Type.d.ts +13 -5
- package/dist/metadata/Type.d.ts.map +1 -1
- package/dist/metadata/Type.js +112 -44
- package/dist/metadata/Type.js.map +1 -1
- package/dist/validation/Index.d.ts +10 -0
- package/dist/validation/Index.d.ts.map +1 -0
- package/dist/validation/Index.js +44 -0
- package/dist/validation/Index.js.map +1 -0
- package/package.json +52 -7
- package/readme.md +86 -7
package/dist/metadata/Type.js
CHANGED
|
@@ -7,13 +7,17 @@ const MetadataDecorators_1 = __importDefault(require("../decorators/metadata/Met
|
|
|
7
7
|
const InvalidEntityException_1 = __importDefault(require("../exceptions/InvalidEntityException"));
|
|
8
8
|
const OwnMetaDataContainer_1 = __importDefault(require("./OwnMetaDataContainer"));
|
|
9
9
|
class Type {
|
|
10
|
-
static CreateTemplateFrom(ctor) {
|
|
10
|
+
static CreateTemplateFrom(ctor, options) {
|
|
11
11
|
let base = Reflect.construct(ctor, []);
|
|
12
12
|
let keysVisiteds = [];
|
|
13
13
|
let metadataOfCtor = OwnMetaDataContainer_1.default.GetAllMetadataForCtor(ctor).filter(s => s.Member && typeof s.CTor.prototype[s.Member] != 'function');
|
|
14
14
|
for (let map of [...metadataOfCtor.map(s => s.Member), ...Object.keys(base)]) {
|
|
15
15
|
if (keysVisiteds.includes(map))
|
|
16
16
|
continue;
|
|
17
|
+
if ((options === null || options === void 0 ? void 0 : options.IgnorePaths) && options.IgnorePaths.filter(s => s == map).length > 0) {
|
|
18
|
+
delete base[map];
|
|
19
|
+
continue;
|
|
20
|
+
}
|
|
17
21
|
if (map.indexOf('_') > -1)
|
|
18
22
|
continue;
|
|
19
23
|
let designType = Reflect.getMetadata("design:type", ctor, map);
|
|
@@ -23,7 +27,7 @@ class Type {
|
|
|
23
27
|
if (!designType && base[map] != undefined)
|
|
24
28
|
designType = base[map].constructor;
|
|
25
29
|
if (!designType) {
|
|
26
|
-
const metaOfField =
|
|
30
|
+
const metaOfField = metadataOfCtor.filter(s => s.Member == map && s.Key == "design:type");
|
|
27
31
|
if (metaOfField.length > 0)
|
|
28
32
|
designType = metaOfField[0].Value;
|
|
29
33
|
}
|
|
@@ -36,14 +40,14 @@ class Type {
|
|
|
36
40
|
}
|
|
37
41
|
if (designType) {
|
|
38
42
|
if (designType != Array)
|
|
39
|
-
base[map] = Type.FillObject(Reflect.construct(designType, []));
|
|
43
|
+
base[map] = Type.FillObject(Reflect.construct(designType, []), options);
|
|
40
44
|
else {
|
|
41
45
|
if (elementType) {
|
|
42
|
-
base[map] = [Type.FillObject(Reflect.construct(elementType, []))];
|
|
46
|
+
base[map] = [Type.FillObject(Reflect.construct(elementType, []), options)];
|
|
43
47
|
}
|
|
44
48
|
else if (base[map] && base[map].length > 0) {
|
|
45
49
|
let element = base[map][0];
|
|
46
|
-
base[map] = [Type.FillObject(Reflect.construct(element.constructor, []))];
|
|
50
|
+
base[map] = [Type.FillObject(Reflect.construct(element.constructor, []), options)];
|
|
47
51
|
}
|
|
48
52
|
else {
|
|
49
53
|
base[map] = [];
|
|
@@ -54,12 +58,14 @@ class Type {
|
|
|
54
58
|
base[map] = "";
|
|
55
59
|
}
|
|
56
60
|
}
|
|
57
|
-
return Type.FillObject(base);
|
|
61
|
+
return Type.FillObject(base, options);
|
|
58
62
|
}
|
|
59
|
-
static FillObject(obj) {
|
|
63
|
+
static FillObject(obj, options) {
|
|
60
64
|
let cs = [];
|
|
65
|
+
if (!obj)
|
|
66
|
+
return obj;
|
|
61
67
|
for (let c in obj) {
|
|
62
|
-
let d = Reflect.getMetadata("design:type", obj, c);
|
|
68
|
+
let d = Reflect.getMetadata("design:type", obj.constructor.prototype, c);
|
|
63
69
|
if (!d && obj[c] != undefined && obj[c] != null)
|
|
64
70
|
d = obj[c].constructor;
|
|
65
71
|
if (!d) {
|
|
@@ -68,31 +74,40 @@ class Type {
|
|
|
68
74
|
continue;
|
|
69
75
|
}
|
|
70
76
|
let vdefault = MetadataDecorators_1.default.GetDefaultValue(obj.constructor, c);
|
|
71
|
-
let toIgnore = MetadataDecorators_1.default.IsToIgnoreInDocumentation(obj.constructor, c);
|
|
77
|
+
let toIgnore = (options === null || options === void 0 ? void 0 : options.UseIgnoreProperty) ? MetadataDecorators_1.default.IsToIgnoreInDocumentation(obj.constructor, c) : undefined;
|
|
72
78
|
if (toIgnore)
|
|
73
79
|
cs.push(c);
|
|
80
|
+
let propertyOnJSON = (options === null || options === void 0 ? void 0 : options.UseJSONPropertyName) ? MetadataDecorators_1.default.GetJSONPropertyName(obj.constructor, c) : undefined;
|
|
81
|
+
let propertyOnObject = c.toString();
|
|
82
|
+
if (!toIgnore && propertyOnJSON) {
|
|
83
|
+
propertyOnObject = propertyOnJSON;
|
|
84
|
+
obj[propertyOnObject] = obj[c];
|
|
85
|
+
cs.push(c);
|
|
86
|
+
}
|
|
74
87
|
if (vdefault != undefined) {
|
|
75
|
-
obj[
|
|
88
|
+
obj[propertyOnObject] = vdefault;
|
|
76
89
|
continue;
|
|
77
90
|
}
|
|
78
91
|
if (d.name === "Number")
|
|
79
|
-
obj[
|
|
92
|
+
obj[propertyOnObject] = -1;
|
|
80
93
|
else if (d.name === "String")
|
|
81
|
-
obj[
|
|
94
|
+
obj[propertyOnObject] = "";
|
|
82
95
|
else if (d.name === "Boolean")
|
|
83
|
-
obj[
|
|
96
|
+
obj[propertyOnObject] = false;
|
|
84
97
|
else if (d.name === "Date")
|
|
85
|
-
obj[
|
|
86
|
-
else if (d.name === "Object")
|
|
87
|
-
obj[
|
|
98
|
+
obj[propertyOnObject] = new Date();
|
|
99
|
+
else if (d.name === "Object" && !obj[propertyOnObject])
|
|
100
|
+
obj[propertyOnObject] = {};
|
|
101
|
+
else if (d == Array && !obj[propertyOnObject])
|
|
102
|
+
obj[propertyOnObject] = [];
|
|
88
103
|
}
|
|
89
104
|
for (let c of cs)
|
|
90
105
|
delete obj[c];
|
|
91
106
|
return obj;
|
|
92
107
|
}
|
|
93
|
-
static SetPrototype(obj, cTor) {
|
|
108
|
+
static SetPrototype(obj, cTor, options) {
|
|
94
109
|
if ([String, Date, Number, Boolean].filter(s => s.name == cTor.name).length > 0)
|
|
95
|
-
return Type.Cast(obj, cTor);
|
|
110
|
+
return Type.Cast(obj, cTor, options);
|
|
96
111
|
if (cTor.name == Object.name)
|
|
97
112
|
return obj;
|
|
98
113
|
obj.__proto__ = cTor.prototype;
|
|
@@ -103,7 +118,11 @@ class Type {
|
|
|
103
118
|
if (keysVisiteds.includes(k))
|
|
104
119
|
continue;
|
|
105
120
|
keysVisiteds.push(k);
|
|
106
|
-
|
|
121
|
+
let propertyOnJSON = (options === null || options === void 0 ? void 0 : options.UseJSONPropertyName) ? MetadataDecorators_1.default.GetJSONPropertyName(cTor, k) : undefined;
|
|
122
|
+
if (propertyOnJSON)
|
|
123
|
+
keysVisiteds.push(propertyOnJSON);
|
|
124
|
+
let propertyOnObject = propertyOnJSON !== null && propertyOnJSON !== void 0 ? propertyOnJSON : k;
|
|
125
|
+
if (obj[propertyOnObject] == undefined) {
|
|
107
126
|
let vdefault = MetadataDecorators_1.default.GetDefaultValue(cTor, k);
|
|
108
127
|
if (vdefault != undefined)
|
|
109
128
|
base[k] = vdefault;
|
|
@@ -113,7 +132,7 @@ class Type {
|
|
|
113
132
|
if (!designType)
|
|
114
133
|
designType = Reflect.getMetadata("design:type", cTor.prototype, k.toString());
|
|
115
134
|
if (!designType) {
|
|
116
|
-
const metaOfField =
|
|
135
|
+
const metaOfField = metadataOfCtor.filter(s => s.Member == k && s.Key == "design:type");
|
|
117
136
|
if (metaOfField.length > 0)
|
|
118
137
|
designType = metaOfField[0].Value;
|
|
119
138
|
}
|
|
@@ -127,18 +146,18 @@ class Type {
|
|
|
127
146
|
}
|
|
128
147
|
if (designType) {
|
|
129
148
|
if (designType != Array)
|
|
130
|
-
base[k] = Type.Cast(obj[
|
|
149
|
+
base[k] = Type.Cast(obj[propertyOnObject], designType, options);
|
|
131
150
|
else {
|
|
132
151
|
if (elementType) {
|
|
133
|
-
for (let i
|
|
134
|
-
base[k][i] = Type.Cast(obj[
|
|
152
|
+
for (let i of obj[propertyOnObject])
|
|
153
|
+
base[k][obj[propertyOnObject].indexOf(i)] = Type.Cast(obj[propertyOnObject][obj[propertyOnObject].indexOf(i)], elementType, options);
|
|
135
154
|
}
|
|
136
155
|
else
|
|
137
|
-
base[k] = obj[
|
|
156
|
+
base[k] = obj[propertyOnObject];
|
|
138
157
|
}
|
|
139
158
|
}
|
|
140
159
|
else
|
|
141
|
-
base[k] = obj[
|
|
160
|
+
base[k] = obj[propertyOnObject];
|
|
142
161
|
}
|
|
143
162
|
for (let k in obj) {
|
|
144
163
|
if (keysVisiteds.indexOf(k) == -1)
|
|
@@ -146,7 +165,17 @@ class Type {
|
|
|
146
165
|
}
|
|
147
166
|
return base;
|
|
148
167
|
}
|
|
149
|
-
static
|
|
168
|
+
static GetAllMethods(ctor) {
|
|
169
|
+
let methods = [];
|
|
170
|
+
let currentPrototype = ctor.prototype;
|
|
171
|
+
while (currentPrototype != undefined) {
|
|
172
|
+
let currentMethods = Reflect.ownKeys(currentPrototype).filter(m => typeof currentPrototype[m] == "function");
|
|
173
|
+
methods.push(...currentMethods.map(s => currentPrototype[s]));
|
|
174
|
+
currentPrototype = currentPrototype.__proto__;
|
|
175
|
+
}
|
|
176
|
+
return methods;
|
|
177
|
+
}
|
|
178
|
+
static Cast(obj, type, options) {
|
|
150
179
|
if (obj == undefined || obj == null)
|
|
151
180
|
return undefined;
|
|
152
181
|
if (typeof obj == "string" && obj.indexOf('"') == 0 && obj.lastIndexOf('"') == obj.length - 1)
|
|
@@ -155,7 +184,7 @@ class Type {
|
|
|
155
184
|
obj = obj.substring(1, obj.length - 1);
|
|
156
185
|
if (type.name == Number.name) {
|
|
157
186
|
let number = Number.parseFloat(obj.toString());
|
|
158
|
-
if (
|
|
187
|
+
if (!Number.isNaN(number)) {
|
|
159
188
|
return number;
|
|
160
189
|
}
|
|
161
190
|
else
|
|
@@ -181,54 +210,78 @@ class Type {
|
|
|
181
210
|
return obj;
|
|
182
211
|
}
|
|
183
212
|
else {
|
|
184
|
-
return Type.SetPrototype(obj, type);
|
|
213
|
+
return Type.SetPrototype(obj, type, options);
|
|
185
214
|
}
|
|
186
215
|
}
|
|
187
|
-
static ValidateType(source, cTor) {
|
|
216
|
+
static ValidateType(source, cTor, options) {
|
|
217
|
+
var _a;
|
|
218
|
+
if (cTor == undefined || [String, Date, Number, Boolean].filter(s => s.name == cTor.name).length > 0)
|
|
219
|
+
return;
|
|
220
|
+
let keysVisiteds = [];
|
|
188
221
|
let empty = Reflect.construct(cTor, []);
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
if (
|
|
222
|
+
let metadataOfCtor = OwnMetaDataContainer_1.default.GetAllMetadataForCtor(cTor).filter(s => s.Member && typeof s.CTor.prototype[s.Member] != 'function');
|
|
223
|
+
for (let c of [...metadataOfCtor.map(s => s.Member), ...Object.keys(empty)]) {
|
|
224
|
+
if (keysVisiteds.includes(c))
|
|
225
|
+
continue;
|
|
226
|
+
let propertyOnJSON = options ? (_a = MetadataDecorators_1.default.GetJSONPropertyName(cTor, c)) !== null && _a !== void 0 ? _a : c : c;
|
|
227
|
+
let obj = source[propertyOnJSON];
|
|
228
|
+
let designType = Reflect.getMetadata("design:type", cTor, c.toString());
|
|
229
|
+
if (!designType)
|
|
230
|
+
designType = Reflect.getMetadata("design:type", cTor.prototype, c.toString());
|
|
231
|
+
if (!designType) {
|
|
232
|
+
const metaOfField = metadataOfCtor.filter(s => s.Member == c && s.Key == "design:type");
|
|
233
|
+
if (metaOfField.length > 0)
|
|
234
|
+
designType = metaOfField[0].Value;
|
|
235
|
+
}
|
|
236
|
+
let elementType;
|
|
237
|
+
if (!designType || designType == Array) {
|
|
238
|
+
let elType = MetadataDecorators_1.default.GetArrayElementType(cTor, c);
|
|
239
|
+
if (elType) {
|
|
240
|
+
designType = Array;
|
|
241
|
+
elementType = elType;
|
|
242
|
+
}
|
|
243
|
+
}
|
|
244
|
+
if (designType == Number) {
|
|
192
245
|
let number = Number.parseFloat(obj === null || obj === void 0 ? void 0 : obj.toString());
|
|
193
246
|
if (number != Number.NaN && obj != undefined) {
|
|
194
|
-
source[
|
|
247
|
+
source[propertyOnJSON] = number;
|
|
195
248
|
}
|
|
196
249
|
else {
|
|
197
250
|
throw new InvalidEntityException_1.default(`Can not cast the property "${c}" in Number`);
|
|
198
251
|
}
|
|
199
252
|
}
|
|
200
|
-
else if (obj != undefined &&
|
|
201
|
-
source[
|
|
253
|
+
else if (obj != undefined && designType == String) {
|
|
254
|
+
source[propertyOnJSON] = obj == undefined ? "" : obj.toString();
|
|
202
255
|
}
|
|
203
|
-
else if (
|
|
256
|
+
else if (designType == Date && obj) {
|
|
204
257
|
try {
|
|
205
258
|
source[c] = new Date(obj);
|
|
206
259
|
}
|
|
207
|
-
catch (
|
|
260
|
+
catch (_b) {
|
|
208
261
|
throw new InvalidEntityException_1.default(`Can not cast the property "${c}" in Date`);
|
|
209
262
|
}
|
|
210
263
|
}
|
|
211
|
-
else if (
|
|
264
|
+
else if (designType == Boolean) {
|
|
212
265
|
try {
|
|
213
266
|
if (obj == undefined) {
|
|
214
267
|
throw new InvalidEntityException_1.default(`Can not cast the property "${c}" in Boolean`);
|
|
215
268
|
}
|
|
216
269
|
if (typeof obj != "boolean") {
|
|
217
270
|
if (obj.toString().toLowerCase().trim() == "true")
|
|
218
|
-
source[
|
|
271
|
+
source[propertyOnJSON] = true;
|
|
219
272
|
else if (obj.toString().toLowerCase().trim() == "false")
|
|
220
|
-
source[
|
|
273
|
+
source[propertyOnJSON] = false;
|
|
221
274
|
else
|
|
222
275
|
throw new InvalidEntityException_1.default(`Can not cast the property "${c}" in Boolean`);
|
|
223
276
|
}
|
|
224
277
|
else {
|
|
225
|
-
source[
|
|
278
|
+
source[propertyOnJSON] = obj;
|
|
226
279
|
}
|
|
227
280
|
}
|
|
228
|
-
catch (
|
|
281
|
+
catch (_c) { }
|
|
229
282
|
}
|
|
230
|
-
else
|
|
231
|
-
this.ValidateType(source[
|
|
283
|
+
else {
|
|
284
|
+
this.ValidateType(source[propertyOnJSON], designType);
|
|
232
285
|
}
|
|
233
286
|
}
|
|
234
287
|
}
|
|
@@ -306,6 +359,21 @@ class Type {
|
|
|
306
359
|
removeReferences(clone);
|
|
307
360
|
return clone;
|
|
308
361
|
}
|
|
362
|
+
static ChangeNameOfPropertyToJSONNames(obj) {
|
|
363
|
+
let cs = [];
|
|
364
|
+
if (!obj)
|
|
365
|
+
return obj;
|
|
366
|
+
for (let c in obj) {
|
|
367
|
+
let propertyOnJSON = MetadataDecorators_1.default.GetJSONPropertyName(obj.constructor, c);
|
|
368
|
+
if (propertyOnJSON) {
|
|
369
|
+
obj[propertyOnJSON] = obj[c];
|
|
370
|
+
cs.push(c);
|
|
371
|
+
}
|
|
372
|
+
}
|
|
373
|
+
for (let c of cs)
|
|
374
|
+
delete obj[c];
|
|
375
|
+
return obj;
|
|
376
|
+
}
|
|
309
377
|
}
|
|
310
378
|
exports.default = Type;
|
|
311
379
|
//# sourceMappingURL=Type.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Type.js","sourceRoot":"","sources":["../../metadata/Type.ts"],"names":[],"mappings":";;;;;AAAA,mGAA2E;AAE3E,kGAA0E;AAC1E,kFAA0D;AAG1D,MAAqB,IAAI;IAEd,MAAM,CAAC,kBAAkB,CAAmB,IAA+B;QAC9E,IAAI,IAAI,GAAG,OAAO,CAAC,SAAS,CAAC,IAAI,EAAE,EAAE,CAAM,CAAC;QAE5C,IAAI,YAAY,GAAc,EAAE,CAAC;QAEjC,IAAI,cAAc,GAAG,8BAAoB,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,IAAI,OAAQ,CAAC,CAAC,IAAI,CAAC,SAAiB,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,UAAU,CAAC,CAAC;QAExJ,KAAI,IAAI,GAAG,IAAI,CAAC,GAAG,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAO,CAAC,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,IAAW,CAAC,CAAC,EACnF,CAAC;YACG,IAAG,YAAY,CAAC,QAAQ,CAAC,GAAG,CAAC;gBACzB,SAAS;YAEb,IAAG,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;gBACpB,SAAS;YAEb,IAAI,UAAU,GAAG,OAAO,CAAC,WAAW,CAAC,aAAa,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC;YAE/D,IAAG,CAAC,UAAU;gBACV,UAAU,GAAG,OAAO,CAAC,WAAW,CAAC,aAAa,EAAE,IAAI,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;YAEzE,IAAI,WAAuE,CAAC;YAE5E,IAAG,CAAC,UAAU,IAAK,IAAY,CAAC,GAAG,CAAC,IAAI,SAAS;gBAC7C,UAAU,GAAI,IAAY,CAAC,GAAG,CAAC,CAAC,WAAW,CAAC;YAE/C,IAAG,CAAC,UAAU,EACf,CAAC;gBACG,MAAM,WAAW,GAAG,UAAU,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,IAAI,GAAG,IAAI,CAAC,CAAC,GAAG,IAAI,aAAa,CAAC,CAAC;gBAEvG,IAAG,WAAW,CAAC,MAAM,GAAG,CAAC;oBACrB,UAAU,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC,KAAiB,CAAC;YACtD,CAAC;YAGD,IAAG,CAAC,UAAU,IAAI,UAAU,IAAI,KAAK,EACrC,CAAC;gBACG,IAAI,MAAM,GAAG,4BAAkB,CAAC,mBAAmB,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;gBAE/D,IAAG,MAAM,EACT,CAAC;oBACG,UAAU,GAAG,KAAK,CAAC;oBACnB,WAAW,GAAG,MAAM,CAAC;gBACzB,CAAC;YACL,CAAC;YAED,IAAI,UAAU,EACd,CAAC;gBACG,IAAI,UAAU,IAAI,KAAK;oBAClB,IAAY,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,SAAS,CAAC,UAAU,EAAE,EAAE,CAAW,CAAC,CAAC;qBAGtF,CAAC;oBACG,IAAG,WAAW,EACd,CAAC;wBACI,IAAY,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,SAAS,CAAC,WAAW,EAAE,EAAE,CAAW,CAAC,CAAC,CAAC;oBAEzF,CAAC;yBACI,IAAI,IAAY,CAAC,GAAG,CAAC,IAAM,IAAY,CAAC,GAAG,CAAoB,CAAC,MAAM,GAAG,CAAC,EAC/E,CAAC;wBACG,IAAI,OAAO,GAAK,IAAY,CAAC,GAAG,CAAoB,CAAC,CAAC,CAAQ,CAAC;wBAC9D,IAAY,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,SAAS,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,CAAW,CAAC,CAAC,CAAC;oBAEjG,CAAC;yBAED,CAAC;wBACI,IAAY,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC;oBAC5B,CAAC;gBACL,CAAC;YACL,CAAC;iBACD,CAAC;gBACI,IAAY,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC;YAC5B,CAAC;QACL,CAAC;QAED,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;IACjC,CAAC;IAEM,MAAM,CAAC,UAAU,CAAmB,GAAM;QAE7C,IAAI,EAAE,GAAc,EAAE,CAAC;QAEvB,KAAK,IAAI,CAAC,IAAI,GAAG,EACjB,CAAC;YACG,IAAI,CAAC,GAAG,OAAO,CAAC,WAAW,CAAC,aAAa,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC;YAEnD,IAAG,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,IAAI,SAAS,IAAI,GAAG,CAAC,CAAC,CAAC,IAAI,IAAI;gBAC1C,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC;YAE3B,IAAG,CAAC,CAAC,EACL,CAAC;gBACG,IAAG,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC;oBACjB,GAAW,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC;gBACzB,SAAS;YACb,CAAC;YAED,IAAI,QAAQ,GAAG,4BAAkB,CAAC,eAAe,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;YACtE,IAAI,QAAQ,GAAG,4BAAkB,CAAC,yBAAyB,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;YAEhF,IAAG,QAAQ;gBACP,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAEf,IAAG,QAAQ,IAAI,SAAS,EACxB,CAAC;gBACI,GAAW,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC;gBAC3B,SAAS;YACb,CAAC;YAED,IAAI,CAAC,CAAC,IAAI,KAAK,QAAQ;gBAClB,GAAW,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;iBACpB,IAAI,CAAC,CAAC,IAAI,KAAK,QAAQ;gBACvB,GAAW,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC;iBACpB,IAAI,CAAC,CAAC,IAAI,KAAK,SAAS;gBACxB,GAAW,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC;iBACvB,IAAI,CAAC,CAAC,IAAI,KAAK,MAAM;gBACrB,GAAW,CAAC,CAAC,CAAC,GAAG,IAAI,IAAI,EAAE,CAAC;iBAC5B,IAAI,CAAC,CAAC,IAAI,KAAK,QAAQ;gBACvB,GAAW,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC;QAC7B,CAAC;QAED,KAAI,IAAI,CAAC,IAAI,EAAE;YACX,OAAQ,GAAW,CAAC,CAAC,CAAC,CAAC;QAE3B,OAAO,GAAG,CAAC;IACf,CAAC;IAEM,MAAM,CAAC,YAAY,CAAI,GAAS,EAAE,IAA+B;QAEpE,IAAG,CAAC,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC;YAC1E,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAM,CAAC;QAErC,IAAG,IAAI,CAAC,IAAI,IAAI,MAAM,CAAC,IAAI;YACvB,OAAO,GAAG,CAAC;QAEf,GAAG,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;QAE/B,IAAI,IAAI,GAAG,OAAO,CAAC,SAAS,CAAC,IAAI,EAAE,EAAE,CAAM,CAAC;QAE5C,IAAI,YAAY,GAAc,EAAE,CAAC;QAEjC,IAAI,cAAc,GAAG,8BAAoB,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,IAAI,OAAQ,CAAC,CAAC,IAAI,CAAC,SAAiB,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,UAAU,CAAC,CAAC;QAExJ,KAAI,IAAI,CAAC,IAAI,CAAC,GAAG,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAO,CAAC,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,IAAW,CAAC,CAAC,EACjF,CAAC;YACG,IAAG,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAC;gBACvB,SAAS;YAEb,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAErB,IAAG,GAAG,CAAC,CAAC,CAAC,IAAI,SAAS,EACtB,CAAC;gBACG,IAAI,QAAQ,GAAG,4BAAkB,CAAC,eAAe,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;gBAE3D,IAAG,QAAQ,IAAI,SAAS;oBACnB,IAAY,CAAC,CAAC,CAAC,GAAG,QAAQ,CAAC;gBAEhC,SAAS;YACb,CAAC;YAED,IAAI,UAAU,GAAG,OAAO,CAAC,WAAW,CAAC,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC;YAExE,IAAG,CAAC,UAAU;gBACV,UAAU,GAAG,OAAO,CAAC,WAAW,CAAC,aAAa,EAAE,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC;YAElF,IAAG,CAAC,UAAU,EACd,CAAC;gBACG,MAAM,WAAW,GAAG,UAAU,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,aAAa,CAAC,CAAC;gBAErG,IAAG,WAAW,CAAC,MAAM,GAAG,CAAC;oBACrB,UAAU,GAAG,WAAW,CAAC,CAAC,CAAC,CAAC,KAAiB,CAAC;YACtD,CAAC;YAID,IAAI,WAAuE,CAAC;YAE5E,IAAG,CAAC,UAAU,IAAI,UAAU,IAAI,KAAK,EACrC,CAAC;gBACG,IAAI,MAAM,GAAG,4BAAkB,CAAC,mBAAmB,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;gBAE7D,IAAG,MAAM,EACT,CAAC;oBACG,UAAU,GAAG,KAAK,CAAC;oBACnB,WAAW,GAAG,MAAM,CAAC;gBACzB,CAAC;YACL,CAAC;YAED,IAAI,UAAU,EACd,CAAC;gBACG,IAAI,UAAU,IAAI,KAAK;oBAClB,IAAY,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC;qBAErD,CAAC;oBACG,IAAG,WAAW,EACd,CAAC;wBACG,KAAI,IAAI,CAAC,IAAM,GAAG,CAAC,CAAC,CAAU;4BAC1B,IAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC;oBAC/D,CAAC;;wBAEI,IAAY,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;gBAClC,CAAC;YACL,CAAC;;gBAEI,IAAY,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;QAGlC,CAAC;QAED,KAAI,IAAI,CAAC,IAAI,GAAG,EAChB,CAAC;YACG,IAAG,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;gBAC3B,IAAY,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;QAClC,CAAC;QAED,OAAO,IAAI,CAAC;IAChB,CAAC;IAIM,MAAM,CAAC,IAAI,CAAI,GAAS,EAAE,IAA+B;QAE5D,IAAG,GAAG,IAAI,SAAS,IAAI,GAAG,IAAG,IAAI;YAC7B,OAAO,SAAS,CAAC;QAErB,IAAI,OAAO,GAAG,IAAI,QAAQ,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC;YACzF,GAAG,GAAG,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAE3C,IAAI,OAAO,GAAG,IAAI,QAAQ,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,WAAW,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC;YACzF,GAAG,GAAG,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAE3C,IAAI,IAAI,CAAC,IAAI,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC;YAC3B,IAAI,MAAM,GAAG,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC;YAE/C,IAAI,MAAM,IAAI,MAAM,CAAC,GAAG,EAAE,CAAC;gBACvB,OAAO,MAAW,CAAC;YACvB,CAAC;;gBAEG,OAAO,SAAS,CAAC;QAEzB,CAAC;aAAM,IAAI,IAAI,CAAC,IAAI,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC;YAClC,OAAO,GAAG,CAAC,QAAQ,EAAO,CAAC;QAC/B,CAAC;aACI,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,EAC/B,CAAC;YACG,IAAI,CAAC;gBAED,OAAO,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAM,CAAC;YAE3C,CAAC;YAAC,WAAM,CAAC;gBAAC,OAAO,SAAS,CAAA;YAAA,CAAC;QAE/B,CAAC;aACI,IAAI,IAAI,CAAC,IAAI,IAAI,OAAO,CAAC,IAAI,EAE9B,CAAC;YACD,IAAI,OAAO,GAAG,IAAI,OAAO,OAAO,EAAE,CAAC;gBAE/B,IAAI,CAAC,GAAG,GAAG,CAAC,QAAQ,EAAE,CAAC,WAAW,EAAE,IAAI,MAAM,CAAC;gBAC/C,OAAO,CAAM,CAAC;YAClB,CAAC;;gBAEG,OAAO,GAAQ,CAAC;QACxB,CAAC;aACI,CAAC;YAEF,OAAO,IAAI,CAAC,YAAY,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;QACxC,CAAC;IACL,CAAC;IAEM,MAAM,CAAC,YAAY,CAAC,MAAW,EAAE,IAAiC;QAErE,IAAI,KAAK,GAAG,OAAO,CAAC,SAAS,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QAExC,KAAK,IAAI,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;YAE/B,IAAI,GAAG,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;YAEpB,IAAI,KAAK,CAAC,CAAC,CAAC,IAAI,SAAS,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,IAAI,MAAM,EAAE,CAAC;gBAC1D,IAAI,MAAM,GAAG,MAAM,CAAC,UAAU,CAAC,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,QAAQ,EAAE,CAAC,CAAC;gBAEhD,IAAI,MAAM,IAAI,MAAM,CAAC,GAAG,IAAI,GAAG,IAAI,SAAS,EAAE,CAAC;oBAC3C,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC;gBACvB,CAAC;qBACI,CAAC;oBACF,MAAM,IAAI,gCAAsB,CAAC,8BAA8B,CAAC,aAAa,CAAC,CAAC;gBACnF,CAAC;YAEL,CAAC;iBAAM,IAAI,GAAG,IAAI,SAAS,IAAI,KAAK,CAAC,CAAC,CAAC,IAAI,SAAS,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,IAAI,MAAM,EAAE,CAAC;gBACrF,MAAM,CAAC,CAAC,CAAC,GAAI,GAAG,IAAI,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC;YACxD,CAAC;iBACI,IAAI,KAAK,CAAC,CAAC,CAAC,IAAI,SAAS,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,IAAI,IAAI,EAAE,CAAC;gBAC7D,IAAI,CAAC;oBACD,MAAM,CAAC,CAAC,CAAC,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC;gBAC9B,CAAC;gBAAC,WAAM,CAAC;oBAAC,MAAM,IAAI,gCAAsB,CAAC,8BAA8B,CAAC,WAAW,CAAC,CAAC;gBAAC,CAAC;YAE7F,CAAC;iBACI,IAAI,KAAK,CAAC,CAAC,CAAC,IAAI,SAAS,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,IAAI,OAAO,EAAE,CAAC;gBAChE,IAAI,CAAC;oBAED,IAAG,GAAG,IAAI,SAAS,EACnB,CAAC;wBACG,MAAM,IAAI,gCAAsB,CAAC,8BAA8B,CAAC,cAAc,CAAC,CAAC;oBACpF,CAAC;oBAED,IAAI,OAAO,GAAG,IAAI,SAAS,EAAE,CAAC;wBAE1B,IAAG,GAAG,CAAC,QAAQ,EAAE,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,IAAI,MAAM;4BAC5C,MAAM,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC;6BAChB,IAAI,GAAG,CAAC,QAAQ,EAAE,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,IAAI,OAAO;4BACnD,MAAM,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC;;4BAElB,MAAM,IAAI,gCAAsB,CAAC,8BAA8B,CAAC,cAAc,CAAC,CAAC;oBAExF,CAAC;yBACI,CAAC;wBACF,MAAM,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;oBACpB,CAAC;gBAEL,CAAC;gBAAC,WAAM,CAAC,CAAC,CAAC;YAEf,CAAC;iBAAK,IAAI,KAAK,CAAC,CAAC,CAAC,IAAI,SAAS,EAC/B,CAAC;gBACG,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;YACvD,CAAC;QACL,CAAC;IACL,CAAC;IAEM,MAAM,CAAC,EAAE,CAAqC,GAAM,EAAE,IAA+B;QACxF,IAAI,GAAG,IAAI,SAAS;YAChB,OAAO,KAAK,CAAC;QAEjB,IAAI,GAAG,CAAC,WAAW,IAAI,IAAI;YACvB,OAAO,IAAI,CAAC;QAEhB,IAAI,QAAQ,GAAG,GAAG,CAAC,WAAW,CAAC;QAE/B,OAAO,QAAQ,EAAE,CAAC;YACd,IAAI,QAAQ,IAAI,IAAI;gBAChB,OAAO,IAAI,CAAC;QACpB,CAAC;QAED,OAAO,KAAK,CAAC;IACjB,CAAC;IAEM,MAAM,CAAC,gBAAgB,CAAC,IAAa;QAExC,IAAG,CAAC,IAAI;YACJ,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,CAAC;QAErC,IAAI,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAE5B,IAAG,KAAK,CAAC,MAAM,GAAG,CAAC;YACf,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,CAAC;QAErC,IAAI,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAE/B,IAAG,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC;YACrC,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAE/B,KAAK,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,EAAG,CAAC;QAEzB,IAAG,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YAC7C,IAAI,GAAG,CAAC,GAAG,EAAC,GAAG,EAAC,GAAG,CAAC,CAAC;;YAErB,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAE9B,IAAI,SAAS,GAAc,EAAE,CAAC;QAE9B,KAAI,IAAI,CAAC,IAAI,KAAK,EAClB,CAAC;YACG,IAAI,CAAC,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;YAE3B,IAAG,CAAC,IAAI,MAAM,CAAC,GAAG;gBACd,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAC,CAAC,EAAC,CAAC,CAAC,CAAC,CAAC;YAErC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACtB,CAAC;QAED,IAAI,KAAK,GAAc,EAAE,CAAC;QAC1B,KAAI,IAAI,CAAC,IAAI,IAAI,EACjB,CAAC;YACG,IAAI,CAAC,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;YAE3B,IAAG,CAAC,IAAI,MAAM,CAAC,GAAG;gBACd,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;;gBAEd,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAEtB,CAAC;QAED,OAAM,KAAK,CAAC,MAAM,GAAG,CAAC;YAClB,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAElB,OAAO,IAAI,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IAEhG,CAAC;IAEM,MAAM,CAAC,wBAAwB,CAAmB,GAAO;QAE5D,IAAI,KAAK,GAAG,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;QACnD,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;QAC1B,IAAI,aAAa,GAAW,EAAE,CAAC;QAE/B,IAAI,gBAAgB,GAAG,CAAC,MAAY,EAAE,EAAE;YAEpC,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAE3B,IAAG,gBAAgB,IAAI,MAAM;gBACzB,OAAO,MAAM,CAAC,cAAc,CAAC;YAEjC,KAAI,IAAI,CAAC,IAAI,MAAM,EACnB,CAAC;gBACG,IAAG,CAAC,MAAM,CAAC,CAAC,CAAC;oBACT,SAAS;gBAEb,IAAG,OAAO,MAAM,CAAC,CAAC,CAAC,IAAI,QAAQ,EAC/B,CAAC;oBACG,IAAG,MAAM,CAAC,CAAC,CAAC,YAAY,KAAK,EAC7B,CAAC;wBACG,KAAI,IAAI,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,EACtB,CAAC;4BACG,gBAAgB,CAAC,CAAC,CAAC,CAAC;wBACxB,CAAC;wBAED,SAAS;oBACb,CAAC;oBACD,IAAG,aAAa,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EACpC,CAAC;wBACG,MAAM,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC;wBACtB,SAAS;oBACb,CAAC;oBAED,gBAAgB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAA;gBAC/B,CAAC;YACL,CAAC;QAEL,CAAC,CAAA;QAED,gBAAgB,CAAC,KAAK,CAAC,CAAC;QACxB,OAAO,KAAK,CAAC;IAEjB,CAAC;CAGJ;AA5bD,uBA4bC"}
|
|
1
|
+
{"version":3,"file":"Type.js","sourceRoot":"","sources":["../../metadata/Type.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
export declare function Validate(): (ctor: Function) => void;
|
|
2
|
+
export declare function ValidateObject<T extends Object>(obj: T): import("../decorators/validations/ValidationDecorators").IValidationResult[];
|
|
3
|
+
export declare function Required(message?: string): (target: Object, property: string) => void;
|
|
4
|
+
export declare function MaxLenght(max: number, message?: string): (target: Object, property: string) => void;
|
|
5
|
+
export declare function MinLenght(min: number, message?: string): (target: Object, property: string) => void;
|
|
6
|
+
export declare function Max(max: number, message?: string): (target: Object, property: string) => void;
|
|
7
|
+
export declare function Min(min: number, message?: string): (target: Object, property: string) => void;
|
|
8
|
+
export declare function Regex(regex: RegExp, message?: string): (target: Object, property: string) => void;
|
|
9
|
+
export declare function Rule<T extends Object, U extends keyof T>(action: (a: T[U]) => boolean, message?: string): (target: T, property: U) => void;
|
|
10
|
+
//# sourceMappingURL=Index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Index.d.ts","sourceRoot":"","sources":["../../validation/Index.ts"],"names":[],"mappings":"AAGA,wBAAgB,QAAQ,6BAGvB;AAED,wBAAgB,cAAc,CAAC,CAAC,SAAS,MAAM,EAAE,GAAG,EAAG,CAAC,gFAGvD;AAED,wBAAgB,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,8CAGxC;AAED,wBAAgB,SAAS,CAAC,GAAG,EAAG,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,8CAGvD;AAED,wBAAgB,SAAS,CAAC,GAAG,EAAG,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,8CAGvD;AAED,wBAAgB,GAAG,CAAC,GAAG,EAAG,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,8CAGjD;AAED,wBAAgB,GAAG,CAAC,GAAG,EAAG,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,8CAGjD;AAED,wBAAgB,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,8CAGpD;AAED,wBAAgB,IAAI,CAAC,CAAC,SAAS,MAAM,EAAE,CAAC,SAAS,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,EAAG,CAAC,CAAC,CAAC,CAAC,KAAK,OAAO,EAAE,OAAO,CAAC,EAAE,MAAM,oCAGxG"}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.Validate = Validate;
|
|
7
|
+
exports.ValidateObject = ValidateObject;
|
|
8
|
+
exports.Required = Required;
|
|
9
|
+
exports.MaxLenght = MaxLenght;
|
|
10
|
+
exports.MinLenght = MinLenght;
|
|
11
|
+
exports.Max = Max;
|
|
12
|
+
exports.Min = Min;
|
|
13
|
+
exports.Regex = Regex;
|
|
14
|
+
exports.Rule = Rule;
|
|
15
|
+
const ControllerDecorators_1 = __importDefault(require("../decorators/controllers/ControllerDecorators"));
|
|
16
|
+
const ValidationDecorators_1 = __importDefault(require("../decorators/validations/ValidationDecorators"));
|
|
17
|
+
function Validate() {
|
|
18
|
+
return ControllerDecorators_1.default.Validate();
|
|
19
|
+
}
|
|
20
|
+
function ValidateObject(obj) {
|
|
21
|
+
return ValidationDecorators_1.default.Validate(obj);
|
|
22
|
+
}
|
|
23
|
+
function Required(message) {
|
|
24
|
+
return ValidationDecorators_1.default.Required(message);
|
|
25
|
+
}
|
|
26
|
+
function MaxLenght(max, message) {
|
|
27
|
+
return ValidationDecorators_1.default.MaxLenght(max, message);
|
|
28
|
+
}
|
|
29
|
+
function MinLenght(min, message) {
|
|
30
|
+
return ValidationDecorators_1.default.MinLenght(min, message);
|
|
31
|
+
}
|
|
32
|
+
function Max(max, message) {
|
|
33
|
+
return ValidationDecorators_1.default.MaxValue(max, message);
|
|
34
|
+
}
|
|
35
|
+
function Min(min, message) {
|
|
36
|
+
return ValidationDecorators_1.default.MinValue(min, message);
|
|
37
|
+
}
|
|
38
|
+
function Regex(regex, message) {
|
|
39
|
+
return ValidationDecorators_1.default.Regex(regex, message);
|
|
40
|
+
}
|
|
41
|
+
function Rule(action, message) {
|
|
42
|
+
return ValidationDecorators_1.default.Rule(action, message);
|
|
43
|
+
}
|
|
44
|
+
//# sourceMappingURL=Index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Index.js","sourceRoot":"","sources":["../../validation/Index.ts"],"names":[],"mappings":";;;;;AAGA,4BAGC;AAED,wCAGC;AAED,4BAGC;AAED,8BAGC;AAED,8BAGC;AAED,kBAGC;AAED,kBAGC;AAED,sBAGC;AAED,oBAGC;AA9CD,0GAAmF;AACnF,0GAAkF;AAElF,SAAgB,QAAQ;IAEpB,OAAO,8BAAqB,CAAC,QAAQ,EAAE,CAAC;AAC5C,CAAC;AAED,SAAgB,cAAc,CAAmB,GAAO;IAEpD,OAAO,8BAAoB,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;AAC9C,CAAC;AAED,SAAgB,QAAQ,CAAC,OAAgB;IAErC,OAAO,8BAAoB,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;AAClD,CAAC;AAED,SAAgB,SAAS,CAAC,GAAY,EAAE,OAAgB;IAEpD,OAAO,8BAAoB,CAAC,SAAS,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;AACxD,CAAC;AAED,SAAgB,SAAS,CAAC,GAAY,EAAE,OAAgB;IAEpD,OAAO,8BAAoB,CAAC,SAAS,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;AACxD,CAAC;AAED,SAAgB,GAAG,CAAC,GAAY,EAAE,OAAgB;IAE9C,OAAO,8BAAoB,CAAC,QAAQ,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;AACvD,CAAC;AAED,SAAgB,GAAG,CAAC,GAAY,EAAE,OAAgB;IAE9C,OAAO,8BAAoB,CAAC,QAAQ,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;AACvD,CAAC;AAED,SAAgB,KAAK,CAAC,KAAa,EAAE,OAAgB;IAEjD,OAAO,8BAAoB,CAAC,KAAK,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;AACtD,CAAC;AAED,SAAgB,IAAI,CAAsC,MAA6B,EAAE,OAAgB;IAErG,OAAO,8BAAoB,CAAC,IAAI,CAAO,MAAM,EAAE,OAAO,CAAC,CAAC;AAC5D,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,19 +1,64 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "web_api_base",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "8.0.0",
|
|
4
4
|
"description": "web api base",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
7
7
|
"files": [
|
|
8
|
-
"/dist"
|
|
8
|
+
"/dist",
|
|
9
|
+
"README.md"
|
|
9
10
|
],
|
|
11
|
+
"readme": "README.md",
|
|
12
|
+
"exports": {
|
|
13
|
+
".": {
|
|
14
|
+
"import": "./dist/index.js",
|
|
15
|
+
"require": "./dist/index.js",
|
|
16
|
+
"types": "./dist/index.d.ts"
|
|
17
|
+
},
|
|
18
|
+
"./documentation": {
|
|
19
|
+
"import": "./dist/documentation/Index.js",
|
|
20
|
+
"require": "./dist/documentation/Index.js",
|
|
21
|
+
"types": "./dist/documentation/Index.d.ts"
|
|
22
|
+
},
|
|
23
|
+
"./validation": {
|
|
24
|
+
"import": "./dist/validation/Index.js",
|
|
25
|
+
"require": "./dist/validation/Index.js",
|
|
26
|
+
"types": "./dist/validation/Index.d.ts"
|
|
27
|
+
},
|
|
28
|
+
"./dependencyInjection": {
|
|
29
|
+
"import": "./dist/dependencyInjection/Index.js",
|
|
30
|
+
"require": "./dist/dependencyInjection/Index.js",
|
|
31
|
+
"types": "./dist/dependencyInjection/Index.d.ts"
|
|
32
|
+
},
|
|
33
|
+
"./metadata": {
|
|
34
|
+
"import": "./dist/metadata/Index.js",
|
|
35
|
+
"require": "./dist/metadata/Index.js",
|
|
36
|
+
"types": "./dist/metadata/Index.d.ts"
|
|
37
|
+
}
|
|
38
|
+
},
|
|
39
|
+
"typesVersions": {
|
|
40
|
+
"*": {
|
|
41
|
+
"documentation": [
|
|
42
|
+
"./dist/documentation/Index.d.ts"
|
|
43
|
+
],
|
|
44
|
+
"validation": [
|
|
45
|
+
"./dist/validation/Index.d.ts"
|
|
46
|
+
],
|
|
47
|
+
"dependencyInjection": [
|
|
48
|
+
"./dist/dependencyInjection/Index.d.ts"
|
|
49
|
+
],
|
|
50
|
+
"metadata": [
|
|
51
|
+
"./dist/metadata/Index.d.ts"
|
|
52
|
+
]
|
|
53
|
+
}
|
|
54
|
+
},
|
|
10
55
|
"bin": {
|
|
11
56
|
"create-controller": "./dist/bin/CreateController.js",
|
|
12
57
|
"create-application": "./dist/bin/CreateApplication.js"
|
|
13
58
|
},
|
|
14
59
|
"scripts": {
|
|
15
60
|
"test": "jest",
|
|
16
|
-
"debug": "node ./dist/
|
|
61
|
+
"debug": "node ./dist/index.js --debug",
|
|
17
62
|
"transpile": "tsc -p .",
|
|
18
63
|
"tests": "npx jest"
|
|
19
64
|
},
|
|
@@ -23,19 +68,19 @@
|
|
|
23
68
|
"dependencies": {
|
|
24
69
|
"cors": "^2.8.5",
|
|
25
70
|
"express": "^4.18.2",
|
|
26
|
-
"formidable": "^3.5.1"
|
|
71
|
+
"formidable": "^3.5.1",
|
|
72
|
+
"@types/express": "^4.17.15"
|
|
27
73
|
},
|
|
28
74
|
"peerDependencies": {
|
|
29
|
-
"reflect-metadata": "^0.1.13"
|
|
75
|
+
"reflect-metadata": "^0.1.13 || ^0.2.0"
|
|
30
76
|
},
|
|
31
77
|
"devDependencies": {
|
|
32
|
-
"@types/express": "^4.17.15",
|
|
33
78
|
"@types/formidable": "^3.4.5",
|
|
34
79
|
"@types/jest": "^29.5.13",
|
|
35
80
|
"@types/node": "^18.11.17",
|
|
36
81
|
"@types/reflect-metadata": "^0.1.0",
|
|
37
82
|
"jest": "^29.7.0",
|
|
38
|
-
"reflect-metadata": "^0.1.13",
|
|
83
|
+
"reflect-metadata": "^0.1.13 || ^0.2.0",
|
|
39
84
|
"ts-jest": "^29.2.5",
|
|
40
85
|
"typescript": "^5.7.2"
|
|
41
86
|
}
|
package/readme.md
CHANGED
|
@@ -10,12 +10,35 @@ web_api_base is a npm packaged that allows to create web-apis like MVC of .NET
|
|
|
10
10
|
npm install web_api_base
|
|
11
11
|
```
|
|
12
12
|
|
|
13
|
-
|
|
13
|
+
|
|
14
|
+
---
|
|
15
|
+
## Configuration
|
|
16
|
+
|
|
17
|
+
#### Peer Dependencies
|
|
18
|
+
|
|
19
|
+
This framework relies on the `reflect-metadata` package to enable runtime type reflection used by decorators.
|
|
20
|
+
|
|
21
|
+
Make sure it is installed and imported **once** in your application entry point:
|
|
22
|
+
|
|
23
|
+
```typescript
|
|
24
|
+
import 'reflect-metadata';
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
#### Typescript
|
|
28
|
+
|
|
29
|
+
Decorators and metadata emission must be enabled in your `tsconfig.json`:
|
|
30
|
+
|
|
14
31
|
```json
|
|
15
|
-
|
|
16
|
-
"
|
|
32
|
+
{
|
|
33
|
+
"experimentalDecorators": true,
|
|
34
|
+
"emitDecoratorMetadata": true
|
|
35
|
+
}
|
|
17
36
|
```
|
|
18
37
|
|
|
38
|
+
These options are required for entity mapping, dependency injection, and relationship metadata to work correctly.
|
|
39
|
+
|
|
40
|
+
---
|
|
41
|
+
|
|
19
42
|
|
|
20
43
|
|
|
21
44
|
# Usage
|
|
@@ -101,6 +124,7 @@ export default class SampleController extends ControllerBase {
|
|
|
101
124
|
### Index.ts
|
|
102
125
|
|
|
103
126
|
```typescript
|
|
127
|
+
import 'reflect-metadata';
|
|
104
128
|
import App from './App';
|
|
105
129
|
|
|
106
130
|
new App().StartAsync();
|
|
@@ -426,8 +450,34 @@ public async GetByIdAsync(@FromQuery()id : number) : Promise<OKResult<User>>
|
|
|
426
450
|
return this.OK(await this._service.GetByIdAsync(id));
|
|
427
451
|
}
|
|
428
452
|
```
|
|
429
|
-
|
|
430
|
-
|
|
453
|
+
|
|
454
|
+
|
|
455
|
+
|
|
456
|
+
### @FromPath()
|
|
457
|
+
Extract the method parameter from path params of request
|
|
458
|
+
|
|
459
|
+
```typescript
|
|
460
|
+
@GET()
|
|
461
|
+
public async GetByIdAsync(@FromPath()id : number) : Promise<OKResult<User>>
|
|
462
|
+
{
|
|
463
|
+
return this.OK(await this._service.GetByIdAsync(id));
|
|
464
|
+
}
|
|
465
|
+
```
|
|
466
|
+
|
|
467
|
+
|
|
468
|
+
|
|
469
|
+
|
|
470
|
+
### @FromFiles()
|
|
471
|
+
Extract a method File(web_api_base) type parameter from multipart/form-data request
|
|
472
|
+
|
|
473
|
+
|
|
474
|
+
```typescript
|
|
475
|
+
@POST()
|
|
476
|
+
public async InsertAsync(@FromFiles()file: File) : Promise<User>
|
|
477
|
+
{
|
|
478
|
+
return await this._service.MoveFiles(file, newPath);
|
|
479
|
+
}
|
|
480
|
+
```
|
|
431
481
|
|
|
432
482
|
### @FromFiles()
|
|
433
483
|
Extract a method File(web_api_base) type parameter from multipart/form-data request
|
|
@@ -441,6 +491,35 @@ Extract a method File(web_api_base) type parameter from multipart/form-data requ
|
|
|
441
491
|
}
|
|
442
492
|
```
|
|
443
493
|
|
|
494
|
+
### @JSONProperty('from_json')
|
|
495
|
+
Maps a JSON field name to a class property during model binding.
|
|
496
|
+
|
|
497
|
+
When a request payload is bound to a class instance, the value of the JSON field specified in the decorator is assigned to the decorated property.
|
|
498
|
+
When the controller returns the model as a response, the mapping is automatically reversed, converting the class property back to the original JSON field name.
|
|
499
|
+
|
|
500
|
+
#### Behavior:
|
|
501
|
+
|
|
502
|
+
Request → Model: from_json → JSONProperty
|
|
503
|
+
|
|
504
|
+
Response → JSON: JSONProperty→ from_json
|
|
505
|
+
|
|
506
|
+
This decorator is useful when your API needs to follow a different naming convention (e.g. snake_case) than your TypeScript models (e.g. camelCase).
|
|
507
|
+
|
|
508
|
+
|
|
509
|
+
```typescript
|
|
510
|
+
export class SomeClass
|
|
511
|
+
{
|
|
512
|
+
...
|
|
513
|
+
|
|
514
|
+
@JSONProperty('from_json')
|
|
515
|
+
public JSONProperty : string;
|
|
516
|
+
|
|
517
|
+
...
|
|
518
|
+
|
|
519
|
+
}
|
|
520
|
+
```
|
|
521
|
+
|
|
522
|
+
|
|
444
523
|
## Sample of a complete controller
|
|
445
524
|
|
|
446
525
|
```typescript
|
|
@@ -539,7 +618,7 @@ Determine the minumun number of characters of a string
|
|
|
539
618
|
### @Regex(exp : RegExp)
|
|
540
619
|
Determine the pattern expression to validate the string property
|
|
541
620
|
|
|
542
|
-
### @Rule<T>(action : (arg : T) => boolean)
|
|
621
|
+
### @Rule<T, U extends keyof T>(action : (arg : T[U]) => boolean)
|
|
543
622
|
Determine the delegate used to validate the property
|
|
544
623
|
|
|
545
624
|
|
|
@@ -574,7 +653,7 @@ export default class ValidatedObject
|
|
|
574
653
|
@MinLenght(10)
|
|
575
654
|
public MinLenght : string;
|
|
576
655
|
|
|
577
|
-
@Rule
|
|
656
|
+
@Rule(p => p.length > 5)
|
|
578
657
|
public Permissions : string[];
|
|
579
658
|
|
|
580
659
|
constructor()
|