@e22m4u/js-repository 0.6.4 → 0.7.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/README.md +6 -532
- package/dist/cjs/index.cjs +141 -1156
- package/package.json +7 -7
- package/src/adapter/adapter.d.ts +2 -4
- package/src/adapter/adapter.js +2 -6
- package/src/adapter/adapter.spec.js +3 -15
- package/src/adapter/builtin/memory-adapter.js +41 -12
- package/src/adapter/builtin/memory-adapter.spec.js +47 -0
- package/src/adapter/decorator/index.d.ts +0 -2
- package/src/adapter/decorator/index.js +0 -2
- package/src/definition/model/index.d.ts +0 -2
- package/src/definition/model/index.js +0 -2
- package/src/definition/model/properties/index.d.ts +0 -2
- package/src/definition/model/properties/index.js +0 -2
- package/src/definition/model/properties/properties-definition-validator.js +0 -169
- package/src/definition/model/properties/properties-definition-validator.spec.js +0 -162
- package/src/definition/model/properties/property-definition.d.ts +1 -5
- package/src/definition/model/properties/property-uniqueness-validator.js +2 -2
- package/src/filter/filter-clause.d.ts +3 -4
- package/src/filter/where-clause-tool.js +2 -2
- package/src/utils/index.d.ts +1 -5
- package/src/utils/index.js +1 -5
- package/src/utils/is-plain-object.d.ts +6 -0
- package/src/utils/{is-pure-object.js → is-plain-object.js} +2 -2
- package/src/utils/is-plain-object.spec.js +25 -0
- package/src/utils/model-name-to-model-key.js +0 -4
- package/src/utils/model-name-to-model-key.spec.js +0 -23
- package/tsconfig.json +2 -2
- package/src/adapter/decorator/data-transformation-decorator.d.ts +0 -14
- package/src/adapter/decorator/data-transformation-decorator.js +0 -54
- package/src/adapter/decorator/data-transformation-decorator.spec.js +0 -193
- package/src/adapter/decorator/data-validation-decorator.d.ts +0 -14
- package/src/adapter/decorator/data-validation-decorator.js +0 -54
- package/src/adapter/decorator/data-validation-decorator.spec.js +0 -105
- package/src/definition/model/model-data-transformer.d.ts +0 -16
- package/src/definition/model/model-data-transformer.js +0 -170
- package/src/definition/model/model-data-transformer.spec.js +0 -2312
- package/src/definition/model/model-data-validator.d.ts +0 -16
- package/src/definition/model/model-data-validator.js +0 -318
- package/src/definition/model/model-data-validator.spec.js +0 -4528
- package/src/definition/model/properties/property-transformer/builtin/index.d.ts +0 -3
- package/src/definition/model/properties/property-transformer/builtin/index.js +0 -3
- package/src/definition/model/properties/property-transformer/builtin/to-lower-case-transformer.d.ts +0 -6
- package/src/definition/model/properties/property-transformer/builtin/to-lower-case-transformer.js +0 -19
- package/src/definition/model/properties/property-transformer/builtin/to-lower-case-transformer.spec.js +0 -39
- package/src/definition/model/properties/property-transformer/builtin/to-upper-case-transformer.d.ts +0 -6
- package/src/definition/model/properties/property-transformer/builtin/to-upper-case-transformer.js +0 -19
- package/src/definition/model/properties/property-transformer/builtin/to-upper-case-transformer.spec.js +0 -39
- package/src/definition/model/properties/property-transformer/builtin/trim-transformer.d.ts +0 -6
- package/src/definition/model/properties/property-transformer/builtin/trim-transformer.js +0 -19
- package/src/definition/model/properties/property-transformer/builtin/trim-transformer.spec.js +0 -39
- package/src/definition/model/properties/property-transformer/index.d.ts +0 -2
- package/src/definition/model/properties/property-transformer/index.js +0 -2
- package/src/definition/model/properties/property-transformer/property-transformer-registry.d.ts +0 -29
- package/src/definition/model/properties/property-transformer/property-transformer-registry.js +0 -76
- package/src/definition/model/properties/property-transformer/property-transformer-registry.spec.js +0 -133
- package/src/definition/model/properties/property-transformer/property-transformer.d.ts +0 -27
- package/src/definition/model/properties/property-transformer/property-transformer.js +0 -1
- package/src/definition/model/properties/property-validator/builtin/index.d.ts +0 -3
- package/src/definition/model/properties/property-validator/builtin/index.js +0 -3
- package/src/definition/model/properties/property-validator/builtin/max-length-validator.d.ts +0 -6
- package/src/definition/model/properties/property-validator/builtin/max-length-validator.js +0 -28
- package/src/definition/model/properties/property-validator/builtin/max-length-validator.spec.js +0 -100
- package/src/definition/model/properties/property-validator/builtin/min-length-validator.d.ts +0 -6
- package/src/definition/model/properties/property-validator/builtin/min-length-validator.js +0 -28
- package/src/definition/model/properties/property-validator/builtin/min-length-validator.spec.js +0 -100
- package/src/definition/model/properties/property-validator/builtin/regexp-validator.d.ts +0 -6
- package/src/definition/model/properties/property-validator/builtin/regexp-validator.js +0 -30
- package/src/definition/model/properties/property-validator/builtin/regexp-validator.spec.js +0 -102
- package/src/definition/model/properties/property-validator/index.d.ts +0 -2
- package/src/definition/model/properties/property-validator/index.js +0 -2
- package/src/definition/model/properties/property-validator/property-validator-registry.d.ts +0 -29
- package/src/definition/model/properties/property-validator/property-validator-registry.js +0 -76
- package/src/definition/model/properties/property-validator/property-validator-registry.spec.js +0 -132
- package/src/definition/model/properties/property-validator/property-validator.d.ts +0 -25
- package/src/definition/model/properties/property-validator/property-validator.js +0 -1
- package/src/utils/get-ctor-name.d.ts +0 -6
- package/src/utils/get-ctor-name.js +0 -11
- package/src/utils/get-ctor-name.spec.js +0 -17
- package/src/utils/get-decorator-target-type.d.ts +0 -27
- package/src/utils/get-decorator-target-type.js +0 -63
- package/src/utils/get-decorator-target-type.spec.js +0 -80
- package/src/utils/is-ctor.d.ts +0 -8
- package/src/utils/is-ctor.js +0 -11
- package/src/utils/is-ctor.spec.js +0 -26
- package/src/utils/is-pure-object.d.ts +0 -6
- package/src/utils/is-pure-object.spec.js +0 -25
- package/src/utils/transform-promise.d.ts +0 -13
- package/src/utils/transform-promise.js +0 -15
- package/src/utils/transform-promise.spec.js +0 -19
package/dist/cjs/index.cjs
CHANGED
|
@@ -38,18 +38,6 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
|
|
|
38
38
|
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
39
39
|
var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
|
|
40
40
|
|
|
41
|
-
// src/utils/is-ctor.js
|
|
42
|
-
function isCtor(value) {
|
|
43
|
-
if (!value) return false;
|
|
44
|
-
return typeof value === "function" && "prototype" in value;
|
|
45
|
-
}
|
|
46
|
-
var init_is_ctor = __esm({
|
|
47
|
-
"src/utils/is-ctor.js"() {
|
|
48
|
-
"use strict";
|
|
49
|
-
__name(isCtor, "isCtor");
|
|
50
|
-
}
|
|
51
|
-
});
|
|
52
|
-
|
|
53
41
|
// src/utils/is-promise.js
|
|
54
42
|
function isPromise(value) {
|
|
55
43
|
if (!value) return false;
|
|
@@ -192,32 +180,6 @@ var init_is_deep_equal = __esm({
|
|
|
192
180
|
}
|
|
193
181
|
});
|
|
194
182
|
|
|
195
|
-
// src/utils/get-ctor-name.js
|
|
196
|
-
function getCtorName(value) {
|
|
197
|
-
if (value === null) return "Null";
|
|
198
|
-
if (value === void 0) return "Undefined";
|
|
199
|
-
return value.constructor && value.constructor.name || void 0;
|
|
200
|
-
}
|
|
201
|
-
var init_get_ctor_name = __esm({
|
|
202
|
-
"src/utils/get-ctor-name.js"() {
|
|
203
|
-
"use strict";
|
|
204
|
-
__name(getCtorName, "getCtorName");
|
|
205
|
-
}
|
|
206
|
-
});
|
|
207
|
-
|
|
208
|
-
// src/utils/is-pure-object.js
|
|
209
|
-
function isPureObject(value) {
|
|
210
|
-
return Boolean(
|
|
211
|
-
typeof value === "object" && value && !Array.isArray(value) && (!value.constructor || value.constructor && value.constructor.name === "Object")
|
|
212
|
-
);
|
|
213
|
-
}
|
|
214
|
-
var init_is_pure_object = __esm({
|
|
215
|
-
"src/utils/is-pure-object.js"() {
|
|
216
|
-
"use strict";
|
|
217
|
-
__name(isPureObject, "isPureObject");
|
|
218
|
-
}
|
|
219
|
-
});
|
|
220
|
-
|
|
221
183
|
// src/errors/not-implemented-error.js
|
|
222
184
|
var import_js_format, _NotImplementedError, NotImplementedError;
|
|
223
185
|
var init_not_implemented_error = __esm({
|
|
@@ -325,6 +287,19 @@ var init_like_to_regexp = __esm({
|
|
|
325
287
|
}
|
|
326
288
|
});
|
|
327
289
|
|
|
290
|
+
// src/utils/is-plain-object.js
|
|
291
|
+
function isPlainObject(value) {
|
|
292
|
+
return Boolean(
|
|
293
|
+
typeof value === "object" && value && !Array.isArray(value) && (!value.constructor || value.constructor && value.constructor.name === "Object")
|
|
294
|
+
);
|
|
295
|
+
}
|
|
296
|
+
var init_is_plain_object = __esm({
|
|
297
|
+
"src/utils/is-plain-object.js"() {
|
|
298
|
+
"use strict";
|
|
299
|
+
__name(isPlainObject, "isPlainObject");
|
|
300
|
+
}
|
|
301
|
+
});
|
|
302
|
+
|
|
328
303
|
// src/utils/string-to-regexp.js
|
|
329
304
|
function stringToRegexp(pattern, flags = void 0) {
|
|
330
305
|
if (pattern instanceof RegExp) {
|
|
@@ -362,18 +337,6 @@ var init_get_value_by_path = __esm({
|
|
|
362
337
|
}
|
|
363
338
|
});
|
|
364
339
|
|
|
365
|
-
// src/utils/transform-promise.js
|
|
366
|
-
function transformPromise(valueOrPromise, transformer) {
|
|
367
|
-
return isPromise(valueOrPromise) ? valueOrPromise.then(transformer) : transformer(valueOrPromise);
|
|
368
|
-
}
|
|
369
|
-
var init_transform_promise = __esm({
|
|
370
|
-
"src/utils/transform-promise.js"() {
|
|
371
|
-
"use strict";
|
|
372
|
-
init_is_promise();
|
|
373
|
-
__name(transformPromise, "transformPromise");
|
|
374
|
-
}
|
|
375
|
-
});
|
|
376
|
-
|
|
377
340
|
// src/utils/select-object-keys.js
|
|
378
341
|
function selectObjectKeys(obj, keys) {
|
|
379
342
|
if (!obj || typeof obj !== "object" || Array.isArray(obj))
|
|
@@ -435,8 +398,6 @@ function modelNameToModelKey(modelName) {
|
|
|
435
398
|
"The model name should be a non-empty String without spaces, but %v was given.",
|
|
436
399
|
modelName
|
|
437
400
|
);
|
|
438
|
-
if (modelName.toLowerCase() !== "model")
|
|
439
|
-
modelName = modelName.replace(/[-_]?Model$/, "").replace(/[-_](MODEL|model)$/, "");
|
|
440
401
|
return modelName.toLowerCase().replace(/[-_]/g, "");
|
|
441
402
|
}
|
|
442
403
|
var init_model_name_to_model_key = __esm({
|
|
@@ -447,65 +408,22 @@ var init_model_name_to_model_key = __esm({
|
|
|
447
408
|
}
|
|
448
409
|
});
|
|
449
410
|
|
|
450
|
-
// src/utils/get-decorator-target-type.js
|
|
451
|
-
function getDecoratorTargetType(target, propertyKey, descriptorOrIndex) {
|
|
452
|
-
const isCtor2 = typeof target === "function";
|
|
453
|
-
const isParameter = typeof descriptorOrIndex === "number";
|
|
454
|
-
const isProperty = propertyKey != null && descriptorOrIndex == null;
|
|
455
|
-
const isMethod = propertyKey != null && descriptorOrIndex != null;
|
|
456
|
-
const D = DecoratorTargetType;
|
|
457
|
-
if (isCtor2) {
|
|
458
|
-
if (isParameter)
|
|
459
|
-
return propertyKey ? D.STATIC_METHOD_PARAMETER : D.CONSTRUCTOR_PARAMETER;
|
|
460
|
-
if (isProperty) return D.STATIC_PROPERTY;
|
|
461
|
-
if (isMethod) return D.STATIC_METHOD;
|
|
462
|
-
return D.CONSTRUCTOR;
|
|
463
|
-
} else {
|
|
464
|
-
if (isParameter) return D.INSTANCE_METHOD_PARAMETER;
|
|
465
|
-
if (isProperty) return D.INSTANCE_PROPERTY;
|
|
466
|
-
if (isMethod) return D.INSTANCE_METHOD;
|
|
467
|
-
return D.INSTANCE;
|
|
468
|
-
}
|
|
469
|
-
}
|
|
470
|
-
var DecoratorTargetType;
|
|
471
|
-
var init_get_decorator_target_type = __esm({
|
|
472
|
-
"src/utils/get-decorator-target-type.js"() {
|
|
473
|
-
"use strict";
|
|
474
|
-
DecoratorTargetType = {
|
|
475
|
-
CONSTRUCTOR: "constructor",
|
|
476
|
-
INSTANCE: "instance",
|
|
477
|
-
STATIC_METHOD: "staticMethod",
|
|
478
|
-
INSTANCE_METHOD: "instanceMethod",
|
|
479
|
-
STATIC_PROPERTY: "staticProperty",
|
|
480
|
-
INSTANCE_PROPERTY: "instanceProperty",
|
|
481
|
-
CONSTRUCTOR_PARAMETER: "constructorParameter",
|
|
482
|
-
STATIC_METHOD_PARAMETER: "staticMethodParameter",
|
|
483
|
-
INSTANCE_METHOD_PARAMETER: "instanceMethodParameter"
|
|
484
|
-
};
|
|
485
|
-
__name(getDecoratorTargetType, "getDecoratorTargetType");
|
|
486
|
-
}
|
|
487
|
-
});
|
|
488
|
-
|
|
489
411
|
// src/utils/index.js
|
|
490
412
|
var init_utils = __esm({
|
|
491
413
|
"src/utils/index.js"() {
|
|
492
414
|
"use strict";
|
|
493
|
-
init_is_ctor();
|
|
494
415
|
init_is_promise();
|
|
495
416
|
init_capitalize();
|
|
496
417
|
init_clone_deep();
|
|
497
418
|
init_singularize();
|
|
498
419
|
init_is_deep_equal();
|
|
499
|
-
init_get_ctor_name();
|
|
500
|
-
init_is_pure_object();
|
|
501
420
|
init_like_to_regexp();
|
|
421
|
+
init_is_plain_object();
|
|
502
422
|
init_string_to_regexp();
|
|
503
423
|
init_get_value_by_path();
|
|
504
|
-
init_transform_promise();
|
|
505
424
|
init_select_object_keys();
|
|
506
425
|
init_exclude_object_keys();
|
|
507
426
|
init_model_name_to_model_key();
|
|
508
|
-
init_get_decorator_target_type();
|
|
509
427
|
}
|
|
510
428
|
});
|
|
511
429
|
|
|
@@ -1242,7 +1160,7 @@ var init_where_clause_tool = __esm({
|
|
|
1242
1160
|
}
|
|
1243
1161
|
return false;
|
|
1244
1162
|
}
|
|
1245
|
-
if (
|
|
1163
|
+
if (isPlainObject(example)) {
|
|
1246
1164
|
const operatorsTest = this.getService(OperatorClauseTool).testAll(
|
|
1247
1165
|
example,
|
|
1248
1166
|
value
|
|
@@ -1737,357 +1655,17 @@ var init_property_uniqueness = __esm({
|
|
|
1737
1655
|
}
|
|
1738
1656
|
});
|
|
1739
1657
|
|
|
1740
|
-
// src/definition/model/properties/property-validator/property-validator.js
|
|
1741
|
-
var init_property_validator = __esm({
|
|
1742
|
-
"src/definition/model/properties/property-validator/property-validator.js"() {
|
|
1743
|
-
"use strict";
|
|
1744
|
-
}
|
|
1745
|
-
});
|
|
1746
|
-
|
|
1747
|
-
// src/definition/model/properties/property-validator/builtin/regexp-validator.js
|
|
1748
|
-
function regexpValidator(value, options, context) {
|
|
1749
|
-
if (value == null || options === false) return true;
|
|
1750
|
-
if (typeof options !== "string" && !(options instanceof RegExp))
|
|
1751
|
-
throw new InvalidArgumentError(
|
|
1752
|
-
'The validator %v requires the "options" argument as a String or RegExp, but %v was given.',
|
|
1753
|
-
context.validatorName,
|
|
1754
|
-
options
|
|
1755
|
-
);
|
|
1756
|
-
if (typeof value === "string") {
|
|
1757
|
-
const regexp = stringToRegexp(options);
|
|
1758
|
-
return regexp.test(value);
|
|
1759
|
-
}
|
|
1760
|
-
throw new InvalidArgumentError(
|
|
1761
|
-
"The property validator %v requires a String value, but %v was given.",
|
|
1762
|
-
context.validatorName,
|
|
1763
|
-
value
|
|
1764
|
-
);
|
|
1765
|
-
}
|
|
1766
|
-
var init_regexp_validator = __esm({
|
|
1767
|
-
"src/definition/model/properties/property-validator/builtin/regexp-validator.js"() {
|
|
1768
|
-
"use strict";
|
|
1769
|
-
init_utils();
|
|
1770
|
-
init_errors();
|
|
1771
|
-
__name(regexpValidator, "regexpValidator");
|
|
1772
|
-
}
|
|
1773
|
-
});
|
|
1774
|
-
|
|
1775
|
-
// src/definition/model/properties/property-validator/builtin/max-length-validator.js
|
|
1776
|
-
function maxLengthValidator(value, options, context) {
|
|
1777
|
-
if (value == null || options === false) return true;
|
|
1778
|
-
if (typeof options !== "number")
|
|
1779
|
-
throw new InvalidArgumentError(
|
|
1780
|
-
'The validator %v requires the "options" argument as a Number, but %v was given.',
|
|
1781
|
-
context.validatorName,
|
|
1782
|
-
options
|
|
1783
|
-
);
|
|
1784
|
-
if (typeof value === "string" || Array.isArray(value))
|
|
1785
|
-
return value.length <= options;
|
|
1786
|
-
throw new InvalidArgumentError(
|
|
1787
|
-
"The property validator %v requires a String or an Array value, but %v was given.",
|
|
1788
|
-
context.validatorName,
|
|
1789
|
-
value
|
|
1790
|
-
);
|
|
1791
|
-
}
|
|
1792
|
-
var init_max_length_validator = __esm({
|
|
1793
|
-
"src/definition/model/properties/property-validator/builtin/max-length-validator.js"() {
|
|
1794
|
-
"use strict";
|
|
1795
|
-
init_errors();
|
|
1796
|
-
__name(maxLengthValidator, "maxLengthValidator");
|
|
1797
|
-
}
|
|
1798
|
-
});
|
|
1799
|
-
|
|
1800
|
-
// src/definition/model/properties/property-validator/builtin/min-length-validator.js
|
|
1801
|
-
function minLengthValidator(value, options, context) {
|
|
1802
|
-
if (value == null || options === false) return true;
|
|
1803
|
-
if (typeof options !== "number")
|
|
1804
|
-
throw new InvalidArgumentError(
|
|
1805
|
-
'The validator %v requires the "options" argument as a Number, but %v was given.',
|
|
1806
|
-
context.validatorName,
|
|
1807
|
-
options
|
|
1808
|
-
);
|
|
1809
|
-
if (typeof value === "string" || Array.isArray(value))
|
|
1810
|
-
return value.length >= options;
|
|
1811
|
-
throw new InvalidArgumentError(
|
|
1812
|
-
"The property validator %v requires a String or an Array value, but %v was given.",
|
|
1813
|
-
context.validatorName,
|
|
1814
|
-
value
|
|
1815
|
-
);
|
|
1816
|
-
}
|
|
1817
|
-
var init_min_length_validator = __esm({
|
|
1818
|
-
"src/definition/model/properties/property-validator/builtin/min-length-validator.js"() {
|
|
1819
|
-
"use strict";
|
|
1820
|
-
init_errors();
|
|
1821
|
-
__name(minLengthValidator, "minLengthValidator");
|
|
1822
|
-
}
|
|
1823
|
-
});
|
|
1824
|
-
|
|
1825
|
-
// src/definition/model/properties/property-validator/builtin/index.js
|
|
1826
|
-
var init_builtin = __esm({
|
|
1827
|
-
"src/definition/model/properties/property-validator/builtin/index.js"() {
|
|
1828
|
-
"use strict";
|
|
1829
|
-
init_regexp_validator();
|
|
1830
|
-
init_max_length_validator();
|
|
1831
|
-
init_min_length_validator();
|
|
1832
|
-
}
|
|
1833
|
-
});
|
|
1834
|
-
|
|
1835
|
-
// src/definition/model/properties/property-validator/property-validator-registry.js
|
|
1836
|
-
var import_js_service6, _PropertyValidatorRegistry, PropertyValidatorRegistry;
|
|
1837
|
-
var init_property_validator_registry = __esm({
|
|
1838
|
-
"src/definition/model/properties/property-validator/property-validator-registry.js"() {
|
|
1839
|
-
"use strict";
|
|
1840
|
-
import_js_service6 = require("@e22m4u/js-service");
|
|
1841
|
-
init_builtin();
|
|
1842
|
-
init_builtin();
|
|
1843
|
-
init_builtin();
|
|
1844
|
-
init_errors();
|
|
1845
|
-
_PropertyValidatorRegistry = class _PropertyValidatorRegistry extends import_js_service6.Service {
|
|
1846
|
-
/**
|
|
1847
|
-
* Validators.
|
|
1848
|
-
*
|
|
1849
|
-
* @type {object}
|
|
1850
|
-
*/
|
|
1851
|
-
_validators = {
|
|
1852
|
-
maxLength: maxLengthValidator,
|
|
1853
|
-
minLength: minLengthValidator,
|
|
1854
|
-
regexp: regexpValidator
|
|
1855
|
-
};
|
|
1856
|
-
/**
|
|
1857
|
-
* Add validator.
|
|
1858
|
-
*
|
|
1859
|
-
* @param {string} name
|
|
1860
|
-
* @param {Function} validator
|
|
1861
|
-
* @returns {PropertyValidatorRegistry}
|
|
1862
|
-
*/
|
|
1863
|
-
addValidator(name, validator) {
|
|
1864
|
-
if (!name || typeof name !== "string")
|
|
1865
|
-
throw new InvalidArgumentError(
|
|
1866
|
-
"A name of the property validator must be a non-empty String, but %v was given.",
|
|
1867
|
-
name
|
|
1868
|
-
);
|
|
1869
|
-
if (name in this._validators)
|
|
1870
|
-
throw new InvalidArgumentError(
|
|
1871
|
-
"The property validator %v is already defined.",
|
|
1872
|
-
name
|
|
1873
|
-
);
|
|
1874
|
-
if (typeof validator !== "function")
|
|
1875
|
-
throw new InvalidArgumentError(
|
|
1876
|
-
"The property validator %v must be a Function, but %v was given.",
|
|
1877
|
-
name,
|
|
1878
|
-
validator
|
|
1879
|
-
);
|
|
1880
|
-
this._validators[name] = validator;
|
|
1881
|
-
return this;
|
|
1882
|
-
}
|
|
1883
|
-
/**
|
|
1884
|
-
* Has validator.
|
|
1885
|
-
*
|
|
1886
|
-
* @param {string} name
|
|
1887
|
-
* @returns {boolean}
|
|
1888
|
-
*/
|
|
1889
|
-
hasValidator(name) {
|
|
1890
|
-
return Boolean(this._validators[name]);
|
|
1891
|
-
}
|
|
1892
|
-
/**
|
|
1893
|
-
* Get validator.
|
|
1894
|
-
*
|
|
1895
|
-
* @param {string} name
|
|
1896
|
-
* @returns {Function}
|
|
1897
|
-
*/
|
|
1898
|
-
getValidator(name) {
|
|
1899
|
-
const validator = this._validators[name];
|
|
1900
|
-
if (!validator)
|
|
1901
|
-
throw new InvalidArgumentError(
|
|
1902
|
-
"The property validator %v is not defined.",
|
|
1903
|
-
name
|
|
1904
|
-
);
|
|
1905
|
-
return validator;
|
|
1906
|
-
}
|
|
1907
|
-
};
|
|
1908
|
-
__name(_PropertyValidatorRegistry, "PropertyValidatorRegistry");
|
|
1909
|
-
PropertyValidatorRegistry = _PropertyValidatorRegistry;
|
|
1910
|
-
}
|
|
1911
|
-
});
|
|
1912
|
-
|
|
1913
|
-
// src/definition/model/properties/property-validator/index.js
|
|
1914
|
-
var init_property_validator2 = __esm({
|
|
1915
|
-
"src/definition/model/properties/property-validator/index.js"() {
|
|
1916
|
-
"use strict";
|
|
1917
|
-
init_property_validator();
|
|
1918
|
-
init_property_validator_registry();
|
|
1919
|
-
}
|
|
1920
|
-
});
|
|
1921
|
-
|
|
1922
|
-
// src/definition/model/properties/property-transformer/property-transformer.js
|
|
1923
|
-
var init_property_transformer = __esm({
|
|
1924
|
-
"src/definition/model/properties/property-transformer/property-transformer.js"() {
|
|
1925
|
-
"use strict";
|
|
1926
|
-
}
|
|
1927
|
-
});
|
|
1928
|
-
|
|
1929
|
-
// src/definition/model/properties/property-transformer/builtin/trim-transformer.js
|
|
1930
|
-
function trimTransformer(value, options, context) {
|
|
1931
|
-
if (value == null) return value;
|
|
1932
|
-
if (typeof value === "string") return value.trim();
|
|
1933
|
-
throw new InvalidArgumentError(
|
|
1934
|
-
"The property transformer %v requires a String value, but %v was given.",
|
|
1935
|
-
context.transformerName,
|
|
1936
|
-
value
|
|
1937
|
-
);
|
|
1938
|
-
}
|
|
1939
|
-
var init_trim_transformer = __esm({
|
|
1940
|
-
"src/definition/model/properties/property-transformer/builtin/trim-transformer.js"() {
|
|
1941
|
-
"use strict";
|
|
1942
|
-
init_errors();
|
|
1943
|
-
__name(trimTransformer, "trimTransformer");
|
|
1944
|
-
}
|
|
1945
|
-
});
|
|
1946
|
-
|
|
1947
|
-
// src/definition/model/properties/property-transformer/builtin/to-lower-case-transformer.js
|
|
1948
|
-
function toLowerCaseTransformer(value, options, context) {
|
|
1949
|
-
if (value == null) return value;
|
|
1950
|
-
if (typeof value === "string") return value.toLowerCase();
|
|
1951
|
-
throw new InvalidArgumentError(
|
|
1952
|
-
"The property transformer %v requires a String value, but %v was given.",
|
|
1953
|
-
context.transformerName,
|
|
1954
|
-
value
|
|
1955
|
-
);
|
|
1956
|
-
}
|
|
1957
|
-
var init_to_lower_case_transformer = __esm({
|
|
1958
|
-
"src/definition/model/properties/property-transformer/builtin/to-lower-case-transformer.js"() {
|
|
1959
|
-
"use strict";
|
|
1960
|
-
init_errors();
|
|
1961
|
-
__name(toLowerCaseTransformer, "toLowerCaseTransformer");
|
|
1962
|
-
}
|
|
1963
|
-
});
|
|
1964
|
-
|
|
1965
|
-
// src/definition/model/properties/property-transformer/builtin/to-upper-case-transformer.js
|
|
1966
|
-
function toUpperCaseTransformer(value, options, context) {
|
|
1967
|
-
if (value == null) return value;
|
|
1968
|
-
if (typeof value === "string") return value.toUpperCase();
|
|
1969
|
-
throw new InvalidArgumentError(
|
|
1970
|
-
"The property transformer %v requires a String value, but %v was given.",
|
|
1971
|
-
context.transformerName,
|
|
1972
|
-
value
|
|
1973
|
-
);
|
|
1974
|
-
}
|
|
1975
|
-
var init_to_upper_case_transformer = __esm({
|
|
1976
|
-
"src/definition/model/properties/property-transformer/builtin/to-upper-case-transformer.js"() {
|
|
1977
|
-
"use strict";
|
|
1978
|
-
init_errors();
|
|
1979
|
-
__name(toUpperCaseTransformer, "toUpperCaseTransformer");
|
|
1980
|
-
}
|
|
1981
|
-
});
|
|
1982
|
-
|
|
1983
|
-
// src/definition/model/properties/property-transformer/builtin/index.js
|
|
1984
|
-
var init_builtin2 = __esm({
|
|
1985
|
-
"src/definition/model/properties/property-transformer/builtin/index.js"() {
|
|
1986
|
-
"use strict";
|
|
1987
|
-
init_trim_transformer();
|
|
1988
|
-
init_to_lower_case_transformer();
|
|
1989
|
-
init_to_upper_case_transformer();
|
|
1990
|
-
}
|
|
1991
|
-
});
|
|
1992
|
-
|
|
1993
|
-
// src/definition/model/properties/property-transformer/property-transformer-registry.js
|
|
1994
|
-
var import_js_service7, _PropertyTransformerRegistry, PropertyTransformerRegistry;
|
|
1995
|
-
var init_property_transformer_registry = __esm({
|
|
1996
|
-
"src/definition/model/properties/property-transformer/property-transformer-registry.js"() {
|
|
1997
|
-
"use strict";
|
|
1998
|
-
import_js_service7 = require("@e22m4u/js-service");
|
|
1999
|
-
init_builtin2();
|
|
2000
|
-
init_builtin2();
|
|
2001
|
-
init_builtin2();
|
|
2002
|
-
init_errors();
|
|
2003
|
-
_PropertyTransformerRegistry = class _PropertyTransformerRegistry extends import_js_service7.Service {
|
|
2004
|
-
/**
|
|
2005
|
-
* Transformers.
|
|
2006
|
-
*
|
|
2007
|
-
* @type {object}
|
|
2008
|
-
*/
|
|
2009
|
-
_transformers = {
|
|
2010
|
-
trim: trimTransformer,
|
|
2011
|
-
toUpperCase: toUpperCaseTransformer,
|
|
2012
|
-
toLowerCase: toLowerCaseTransformer
|
|
2013
|
-
};
|
|
2014
|
-
/**
|
|
2015
|
-
* Add transformer.
|
|
2016
|
-
*
|
|
2017
|
-
* @param {string} name
|
|
2018
|
-
* @param {Function} transformer
|
|
2019
|
-
* @returns {PropertyTransformerRegistry}
|
|
2020
|
-
*/
|
|
2021
|
-
addTransformer(name, transformer) {
|
|
2022
|
-
if (!name || typeof name !== "string")
|
|
2023
|
-
throw new InvalidArgumentError(
|
|
2024
|
-
"A name of the property transformer must be a non-empty String, but %v was given.",
|
|
2025
|
-
name
|
|
2026
|
-
);
|
|
2027
|
-
if (name in this._transformers)
|
|
2028
|
-
throw new InvalidArgumentError(
|
|
2029
|
-
"The property transformer %v is already defined.",
|
|
2030
|
-
name
|
|
2031
|
-
);
|
|
2032
|
-
if (typeof transformer !== "function")
|
|
2033
|
-
throw new InvalidArgumentError(
|
|
2034
|
-
"The property transformer %v must be a Function, but %v was given.",
|
|
2035
|
-
name,
|
|
2036
|
-
transformer
|
|
2037
|
-
);
|
|
2038
|
-
this._transformers[name] = transformer;
|
|
2039
|
-
return this;
|
|
2040
|
-
}
|
|
2041
|
-
/**
|
|
2042
|
-
* Has transformer.
|
|
2043
|
-
*
|
|
2044
|
-
* @param {string} name
|
|
2045
|
-
* @returns {boolean}
|
|
2046
|
-
*/
|
|
2047
|
-
hasTransformer(name) {
|
|
2048
|
-
return Boolean(this._transformers[name]);
|
|
2049
|
-
}
|
|
2050
|
-
/**
|
|
2051
|
-
* Get transformer.
|
|
2052
|
-
*
|
|
2053
|
-
* @param {string} name
|
|
2054
|
-
* @returns {Function}
|
|
2055
|
-
*/
|
|
2056
|
-
getTransformer(name) {
|
|
2057
|
-
const transformer = this._transformers[name];
|
|
2058
|
-
if (!transformer)
|
|
2059
|
-
throw new InvalidArgumentError(
|
|
2060
|
-
"The property transformer %v is not defined.",
|
|
2061
|
-
name
|
|
2062
|
-
);
|
|
2063
|
-
return transformer;
|
|
2064
|
-
}
|
|
2065
|
-
};
|
|
2066
|
-
__name(_PropertyTransformerRegistry, "PropertyTransformerRegistry");
|
|
2067
|
-
PropertyTransformerRegistry = _PropertyTransformerRegistry;
|
|
2068
|
-
}
|
|
2069
|
-
});
|
|
2070
|
-
|
|
2071
|
-
// src/definition/model/properties/property-transformer/index.js
|
|
2072
|
-
var init_property_transformer2 = __esm({
|
|
2073
|
-
"src/definition/model/properties/property-transformer/index.js"() {
|
|
2074
|
-
"use strict";
|
|
2075
|
-
init_property_transformer();
|
|
2076
|
-
init_property_transformer_registry();
|
|
2077
|
-
}
|
|
2078
|
-
});
|
|
2079
|
-
|
|
2080
1658
|
// src/definition/definition-registry.js
|
|
2081
|
-
var
|
|
1659
|
+
var import_js_service6, _DefinitionRegistry, DefinitionRegistry;
|
|
2082
1660
|
var init_definition_registry = __esm({
|
|
2083
1661
|
"src/definition/definition-registry.js"() {
|
|
2084
1662
|
"use strict";
|
|
2085
|
-
|
|
1663
|
+
import_js_service6 = require("@e22m4u/js-service");
|
|
2086
1664
|
init_utils();
|
|
2087
1665
|
init_errors();
|
|
2088
1666
|
init_model();
|
|
2089
1667
|
init_definition();
|
|
2090
|
-
_DefinitionRegistry = class _DefinitionRegistry extends
|
|
1668
|
+
_DefinitionRegistry = class _DefinitionRegistry extends import_js_service6.Service {
|
|
2091
1669
|
/**
|
|
2092
1670
|
* Datasources.
|
|
2093
1671
|
*
|
|
@@ -2181,11 +1759,11 @@ var init_definition_registry = __esm({
|
|
|
2181
1759
|
});
|
|
2182
1760
|
|
|
2183
1761
|
// src/definition/model/model-definition-utils.js
|
|
2184
|
-
var
|
|
1762
|
+
var import_js_service7, import_js_empty_values, DEFAULT_PRIMARY_KEY_PROPERTY_NAME, _ModelDefinitionUtils, ModelDefinitionUtils;
|
|
2185
1763
|
var init_model_definition_utils = __esm({
|
|
2186
1764
|
"src/definition/model/model-definition-utils.js"() {
|
|
2187
1765
|
"use strict";
|
|
2188
|
-
|
|
1766
|
+
import_js_service7 = require("@e22m4u/js-service");
|
|
2189
1767
|
init_properties();
|
|
2190
1768
|
init_utils();
|
|
2191
1769
|
init_utils();
|
|
@@ -2193,7 +1771,7 @@ var init_model_definition_utils = __esm({
|
|
|
2193
1771
|
init_errors();
|
|
2194
1772
|
init_definition_registry();
|
|
2195
1773
|
DEFAULT_PRIMARY_KEY_PROPERTY_NAME = "id";
|
|
2196
|
-
_ModelDefinitionUtils = class _ModelDefinitionUtils extends
|
|
1774
|
+
_ModelDefinitionUtils = class _ModelDefinitionUtils extends import_js_service7.Service {
|
|
2197
1775
|
/**
|
|
2198
1776
|
* Get primary key as property name.
|
|
2199
1777
|
*
|
|
@@ -2595,18 +2173,18 @@ var init_model_definition_utils = __esm({
|
|
|
2595
2173
|
});
|
|
2596
2174
|
|
|
2597
2175
|
// src/definition/model/properties/property-uniqueness-validator.js
|
|
2598
|
-
var
|
|
2176
|
+
var import_js_service8, import_js_empty_values2, _PropertyUniquenessValidator, PropertyUniquenessValidator;
|
|
2599
2177
|
var init_property_uniqueness_validator = __esm({
|
|
2600
2178
|
"src/definition/model/properties/property-uniqueness-validator.js"() {
|
|
2601
2179
|
"use strict";
|
|
2602
2180
|
init_data_type();
|
|
2603
|
-
|
|
2181
|
+
import_js_service8 = require("@e22m4u/js-service");
|
|
2604
2182
|
init_utils();
|
|
2605
2183
|
import_js_empty_values2 = require("@e22m4u/js-empty-values");
|
|
2606
2184
|
init_property_uniqueness();
|
|
2607
2185
|
init_errors();
|
|
2608
2186
|
init_model_definition_utils();
|
|
2609
|
-
_PropertyUniquenessValidator = class _PropertyUniquenessValidator extends
|
|
2187
|
+
_PropertyUniquenessValidator = class _PropertyUniquenessValidator extends import_js_service8.Service {
|
|
2610
2188
|
/**
|
|
2611
2189
|
* Validate.
|
|
2612
2190
|
*
|
|
@@ -2633,7 +2211,7 @@ var init_property_uniqueness_validator = __esm({
|
|
|
2633
2211
|
'The parameter "modelName" of the PropertyUniquenessValidator must be a non-empty String, but %v was given.',
|
|
2634
2212
|
modelName
|
|
2635
2213
|
);
|
|
2636
|
-
if (!
|
|
2214
|
+
if (!isPlainObject(modelData))
|
|
2637
2215
|
throw new InvalidArgumentError(
|
|
2638
2216
|
"The data of the model %v should be an Object, but %v was given.",
|
|
2639
2217
|
modelName,
|
|
@@ -2715,14 +2293,14 @@ var init_property_uniqueness_validator = __esm({
|
|
|
2715
2293
|
});
|
|
2716
2294
|
|
|
2717
2295
|
// src/definition/model/properties/primary-keys-definition-validator.js
|
|
2718
|
-
var
|
|
2296
|
+
var import_js_service9, _PrimaryKeysDefinitionValidator, PrimaryKeysDefinitionValidator;
|
|
2719
2297
|
var init_primary_keys_definition_validator = __esm({
|
|
2720
2298
|
"src/definition/model/properties/primary-keys-definition-validator.js"() {
|
|
2721
2299
|
"use strict";
|
|
2722
|
-
|
|
2300
|
+
import_js_service9 = require("@e22m4u/js-service");
|
|
2723
2301
|
init_errors();
|
|
2724
2302
|
init_model_definition_utils();
|
|
2725
|
-
_PrimaryKeysDefinitionValidator = class _PrimaryKeysDefinitionValidator extends
|
|
2303
|
+
_PrimaryKeysDefinitionValidator = class _PrimaryKeysDefinitionValidator extends import_js_service9.Service {
|
|
2726
2304
|
/**
|
|
2727
2305
|
* Validate.
|
|
2728
2306
|
*
|
|
@@ -2767,19 +2345,17 @@ var init_primary_keys_definition_validator = __esm({
|
|
|
2767
2345
|
});
|
|
2768
2346
|
|
|
2769
2347
|
// src/definition/model/properties/properties-definition-validator.js
|
|
2770
|
-
var
|
|
2348
|
+
var import_js_service10, _PropertiesDefinitionValidator, PropertiesDefinitionValidator;
|
|
2771
2349
|
var init_properties_definition_validator = __esm({
|
|
2772
2350
|
"src/definition/model/properties/properties-definition-validator.js"() {
|
|
2773
2351
|
"use strict";
|
|
2774
|
-
|
|
2352
|
+
import_js_service10 = require("@e22m4u/js-service");
|
|
2775
2353
|
init_data_type();
|
|
2776
2354
|
init_utils();
|
|
2777
2355
|
init_property_uniqueness();
|
|
2778
2356
|
init_errors();
|
|
2779
|
-
init_property_validator2();
|
|
2780
|
-
init_property_transformer2();
|
|
2781
2357
|
init_primary_keys_definition_validator();
|
|
2782
|
-
_PropertiesDefinitionValidator = class _PropertiesDefinitionValidator extends
|
|
2358
|
+
_PropertiesDefinitionValidator = class _PropertiesDefinitionValidator extends import_js_service10.Service {
|
|
2783
2359
|
/**
|
|
2784
2360
|
* Validate.
|
|
2785
2361
|
*
|
|
@@ -2969,98 +2545,6 @@ var init_properties_definition_validator = __esm({
|
|
|
2969
2545
|
propName,
|
|
2970
2546
|
modelName
|
|
2971
2547
|
);
|
|
2972
|
-
if (propDef.validate != null) {
|
|
2973
|
-
const propertyValidatorRegistry = this.getService(
|
|
2974
|
-
PropertyValidatorRegistry
|
|
2975
|
-
);
|
|
2976
|
-
if (propDef.validate && typeof propDef.validate === "string") {
|
|
2977
|
-
if (!propertyValidatorRegistry.hasValidator(propDef.validate))
|
|
2978
|
-
throw new InvalidArgumentError(
|
|
2979
|
-
"The property validator %v is not found.",
|
|
2980
|
-
propDef.validate
|
|
2981
|
-
);
|
|
2982
|
-
} else if (propDef.validate && typeof propDef.validate === "function") {
|
|
2983
|
-
} else if (Array.isArray(propDef.validate)) {
|
|
2984
|
-
for (const validatorOrName of propDef.validate) {
|
|
2985
|
-
if (validatorOrName && typeof validatorOrName === "string") {
|
|
2986
|
-
if (!propertyValidatorRegistry.hasValidator(validatorOrName))
|
|
2987
|
-
throw new InvalidArgumentError(
|
|
2988
|
-
"The property validator %v is not found.",
|
|
2989
|
-
validatorOrName
|
|
2990
|
-
);
|
|
2991
|
-
} else if (validatorOrName && typeof validatorOrName === "function") {
|
|
2992
|
-
} else {
|
|
2993
|
-
throw new InvalidArgumentError(
|
|
2994
|
-
'The provided option "validate" for the property %v in the model %v has an Array value that should contain validator names or validator functions, but %v was given.',
|
|
2995
|
-
propName,
|
|
2996
|
-
modelName,
|
|
2997
|
-
validatorOrName
|
|
2998
|
-
);
|
|
2999
|
-
}
|
|
3000
|
-
}
|
|
3001
|
-
} else if (typeof propDef.validate === "object") {
|
|
3002
|
-
Object.keys(propDef.validate).forEach((validatorName) => {
|
|
3003
|
-
if (!propertyValidatorRegistry.hasValidator(validatorName))
|
|
3004
|
-
throw new InvalidArgumentError(
|
|
3005
|
-
"The property validator %v is not found.",
|
|
3006
|
-
validatorName
|
|
3007
|
-
);
|
|
3008
|
-
});
|
|
3009
|
-
} else {
|
|
3010
|
-
throw new InvalidArgumentError(
|
|
3011
|
-
'The provided option "validate" for the property %v in the model %v should be either a validator name, a validator function, an array of validator names or functions, or an object mapping validator names to their arguments, but %v was given.',
|
|
3012
|
-
propName,
|
|
3013
|
-
modelName,
|
|
3014
|
-
propDef.validate
|
|
3015
|
-
);
|
|
3016
|
-
}
|
|
3017
|
-
}
|
|
3018
|
-
if (propDef.transform != null) {
|
|
3019
|
-
const propertyTransformerRegistry = this.getService(
|
|
3020
|
-
PropertyTransformerRegistry
|
|
3021
|
-
);
|
|
3022
|
-
if (propDef.transform && typeof propDef.transform === "string") {
|
|
3023
|
-
if (!propertyTransformerRegistry.hasTransformer(propDef.transform))
|
|
3024
|
-
throw new InvalidArgumentError(
|
|
3025
|
-
"The property transformer %v is not found.",
|
|
3026
|
-
propDef.transform
|
|
3027
|
-
);
|
|
3028
|
-
} else if (propDef.transform && typeof propDef.transform === "function") {
|
|
3029
|
-
} else if (Array.isArray(propDef.transform)) {
|
|
3030
|
-
for (const transformerOrName of propDef.transform) {
|
|
3031
|
-
if (transformerOrName && typeof transformerOrName === "string") {
|
|
3032
|
-
if (!propertyTransformerRegistry.hasTransformer(transformerOrName))
|
|
3033
|
-
throw new InvalidArgumentError(
|
|
3034
|
-
"The property transformer %v is not found.",
|
|
3035
|
-
transformerOrName
|
|
3036
|
-
);
|
|
3037
|
-
} else if (transformerOrName && typeof transformerOrName === "function") {
|
|
3038
|
-
} else {
|
|
3039
|
-
throw new InvalidArgumentError(
|
|
3040
|
-
'The provided option "transform" for the property %v in the model %v has an Array value that should contain transformer names or transformer functions, but %v was given.',
|
|
3041
|
-
propName,
|
|
3042
|
-
modelName,
|
|
3043
|
-
transformerOrName
|
|
3044
|
-
);
|
|
3045
|
-
}
|
|
3046
|
-
}
|
|
3047
|
-
} else if (typeof propDef.transform === "object") {
|
|
3048
|
-
Object.keys(propDef.transform).forEach((transformerName) => {
|
|
3049
|
-
if (!propertyTransformerRegistry.hasTransformer(transformerName))
|
|
3050
|
-
throw new InvalidArgumentError(
|
|
3051
|
-
"The property transformer %v is not found.",
|
|
3052
|
-
transformerName
|
|
3053
|
-
);
|
|
3054
|
-
});
|
|
3055
|
-
} else {
|
|
3056
|
-
throw new InvalidArgumentError(
|
|
3057
|
-
'The provided option "transform" for the property %v in the model %v should be either a transformer name, a transformer function, an array of transformer names or functions, or an object mapping transformer names to their arguments, but %v was given.',
|
|
3058
|
-
propName,
|
|
3059
|
-
modelName,
|
|
3060
|
-
propDef.transform
|
|
3061
|
-
);
|
|
3062
|
-
}
|
|
3063
|
-
}
|
|
3064
2548
|
if (propDef.unique) {
|
|
3065
2549
|
if (typeof propDef.unique !== "boolean" && !Object.values(PropertyUniqueness).includes(propDef.unique)) {
|
|
3066
2550
|
throw new InvalidArgumentError(
|
|
@@ -3092,8 +2576,6 @@ var init_properties = __esm({
|
|
|
3092
2576
|
init_data_type();
|
|
3093
2577
|
init_property_definition();
|
|
3094
2578
|
init_property_uniqueness();
|
|
3095
|
-
init_property_validator2();
|
|
3096
|
-
init_property_transformer2();
|
|
3097
2579
|
init_property_uniqueness_validator();
|
|
3098
2580
|
init_properties_definition_validator();
|
|
3099
2581
|
init_primary_keys_definition_validator();
|
|
@@ -3107,284 +2589,31 @@ var init_model_definition = __esm({
|
|
|
3107
2589
|
}
|
|
3108
2590
|
});
|
|
3109
2591
|
|
|
3110
|
-
// src/definition/model/model-data-
|
|
3111
|
-
var
|
|
3112
|
-
var
|
|
3113
|
-
"src/definition/model/model-data-
|
|
2592
|
+
// src/definition/model/model-data-sanitizer.js
|
|
2593
|
+
var import_js_service11, _ModelDataSanitizer, ModelDataSanitizer;
|
|
2594
|
+
var init_model_data_sanitizer = __esm({
|
|
2595
|
+
"src/definition/model/model-data-sanitizer.js"() {
|
|
3114
2596
|
"use strict";
|
|
3115
|
-
|
|
3116
|
-
init_properties();
|
|
3117
|
-
init_utils();
|
|
3118
|
-
init_utils();
|
|
3119
|
-
import_js_empty_values3 = require("@e22m4u/js-empty-values");
|
|
2597
|
+
import_js_service11 = require("@e22m4u/js-service");
|
|
3120
2598
|
init_errors();
|
|
3121
|
-
init_properties();
|
|
3122
2599
|
init_model_definition_utils();
|
|
3123
|
-
|
|
2600
|
+
_ModelDataSanitizer = class _ModelDataSanitizer extends import_js_service11.Service {
|
|
3124
2601
|
/**
|
|
3125
2602
|
* Validate.
|
|
3126
2603
|
*
|
|
3127
2604
|
* @param {string} modelName
|
|
3128
2605
|
* @param {object} modelData
|
|
3129
|
-
* @
|
|
3130
|
-
* @returns {undefined}
|
|
2606
|
+
* @returns {object}
|
|
3131
2607
|
*/
|
|
3132
|
-
|
|
3133
|
-
if (!
|
|
2608
|
+
sanitize(modelName, modelData) {
|
|
2609
|
+
if (!modelName || typeof modelName !== "string")
|
|
3134
2610
|
throw new InvalidArgumentError(
|
|
3135
|
-
"The
|
|
3136
|
-
modelName
|
|
3137
|
-
|
|
3138
|
-
|
|
3139
|
-
|
|
3140
|
-
|
|
3141
|
-
).getPropertiesDefinitionInBaseModelHierarchy(modelName);
|
|
3142
|
-
const propNames = Object.keys(isPartial ? modelData : propDefs);
|
|
3143
|
-
propNames.forEach((propName) => {
|
|
3144
|
-
const propDef = propDefs[propName];
|
|
3145
|
-
if (!propDef) return;
|
|
3146
|
-
this._validatePropertyValue(
|
|
3147
|
-
modelName,
|
|
3148
|
-
propName,
|
|
3149
|
-
propDef,
|
|
3150
|
-
modelData[propName]
|
|
3151
|
-
);
|
|
3152
|
-
});
|
|
3153
|
-
}
|
|
3154
|
-
/**
|
|
3155
|
-
* Validate property value.
|
|
3156
|
-
*
|
|
3157
|
-
* @param {string} modelName
|
|
3158
|
-
* @param {string} propName
|
|
3159
|
-
* @param {string|object} propDef
|
|
3160
|
-
* @param {*} propValue
|
|
3161
|
-
* @returns {undefined}
|
|
3162
|
-
*/
|
|
3163
|
-
_validatePropertyValue(modelName, propName, propDef, propValue) {
|
|
3164
|
-
const propType = this.getService(ModelDefinitionUtils).getDataTypeFromPropertyDefinition(
|
|
3165
|
-
propDef
|
|
3166
|
-
);
|
|
3167
|
-
const isEmpty = this.getService(import_js_empty_values3.EmptyValuesService).isEmptyByType(
|
|
3168
|
-
propType,
|
|
3169
|
-
propValue
|
|
3170
|
-
);
|
|
3171
|
-
if (isEmpty) {
|
|
3172
|
-
const isRequired = typeof propDef === "string" ? false : Boolean(propDef.required);
|
|
3173
|
-
if (!isRequired) return;
|
|
3174
|
-
throw new InvalidArgumentError(
|
|
3175
|
-
"The property %v of the model %v is required, but %v was given.",
|
|
3176
|
-
propName,
|
|
3177
|
-
modelName,
|
|
3178
|
-
propValue
|
|
3179
|
-
);
|
|
3180
|
-
}
|
|
3181
|
-
this._validateValueByPropertyType(modelName, propName, propDef, propValue);
|
|
3182
|
-
this._validateValueByPropertyValidators(
|
|
3183
|
-
modelName,
|
|
3184
|
-
propName,
|
|
3185
|
-
propDef,
|
|
3186
|
-
propValue
|
|
3187
|
-
);
|
|
3188
|
-
}
|
|
3189
|
-
/**
|
|
3190
|
-
* Validate value by property type.
|
|
3191
|
-
*
|
|
3192
|
-
* @param {string} modelName
|
|
3193
|
-
* @param {string} propName
|
|
3194
|
-
* @param {string|object} propDef
|
|
3195
|
-
* @param {*} propValue
|
|
3196
|
-
* @param {boolean} isArrayValue
|
|
3197
|
-
* @returns {undefined}
|
|
3198
|
-
*/
|
|
3199
|
-
_validateValueByPropertyType(modelName, propName, propDef, propValue, isArrayValue = false) {
|
|
3200
|
-
var _a;
|
|
3201
|
-
let expectingType;
|
|
3202
|
-
if (isArrayValue) {
|
|
3203
|
-
if (typeof propDef === "object") {
|
|
3204
|
-
expectingType = (_a = propDef.itemType) != null ? _a : DataType.ANY;
|
|
3205
|
-
} else {
|
|
3206
|
-
expectingType = DataType.ANY;
|
|
3207
|
-
}
|
|
3208
|
-
} else {
|
|
3209
|
-
expectingType = typeof propDef !== "string" ? propDef.type : propDef;
|
|
3210
|
-
}
|
|
3211
|
-
const createError = /* @__PURE__ */ __name((expected) => {
|
|
3212
|
-
const pattern = isArrayValue ? "The array property %v of the model %v must have %s element, but %s was given." : "The property %v of the model %v must have %s, but %s was given.";
|
|
3213
|
-
const ctorName = getCtorName(propValue);
|
|
3214
|
-
const givenStr = ctorName != null ? ctorName : typeof propValue;
|
|
3215
|
-
return new InvalidArgumentError(
|
|
3216
|
-
pattern,
|
|
3217
|
-
propName,
|
|
3218
|
-
modelName,
|
|
3219
|
-
expected,
|
|
3220
|
-
givenStr
|
|
3221
|
-
);
|
|
3222
|
-
}, "createError");
|
|
3223
|
-
switch (expectingType) {
|
|
3224
|
-
// STRING
|
|
3225
|
-
case DataType.STRING:
|
|
3226
|
-
if (typeof propValue !== "string") throw createError("a String");
|
|
3227
|
-
break;
|
|
3228
|
-
// NUMBER
|
|
3229
|
-
case DataType.NUMBER:
|
|
3230
|
-
if (typeof propValue !== "number") throw createError("a Number");
|
|
3231
|
-
break;
|
|
3232
|
-
// BOOLEAN
|
|
3233
|
-
case DataType.BOOLEAN:
|
|
3234
|
-
if (typeof propValue !== "boolean") throw createError("a Boolean");
|
|
3235
|
-
break;
|
|
3236
|
-
// ARRAY
|
|
3237
|
-
case DataType.ARRAY:
|
|
3238
|
-
if (!Array.isArray(propValue)) throw createError("an Array");
|
|
3239
|
-
propValue.forEach(
|
|
3240
|
-
(value) => this._validateValueByPropertyType(
|
|
3241
|
-
modelName,
|
|
3242
|
-
propName,
|
|
3243
|
-
propDef,
|
|
3244
|
-
value,
|
|
3245
|
-
true
|
|
3246
|
-
)
|
|
3247
|
-
);
|
|
3248
|
-
break;
|
|
3249
|
-
// OBJECT
|
|
3250
|
-
case DataType.OBJECT: {
|
|
3251
|
-
if (!isPureObject(propValue)) throw createError("an Object");
|
|
3252
|
-
if (typeof propDef === "object") {
|
|
3253
|
-
const modelOptionField = isArrayValue ? "itemModel" : "model";
|
|
3254
|
-
const modelOptionValue = propDef[modelOptionField];
|
|
3255
|
-
if (modelOptionValue) this.validate(modelOptionValue, propValue);
|
|
3256
|
-
}
|
|
3257
|
-
break;
|
|
3258
|
-
}
|
|
3259
|
-
}
|
|
3260
|
-
}
|
|
3261
|
-
/**
|
|
3262
|
-
* Validate value by property validators.
|
|
3263
|
-
*
|
|
3264
|
-
* @param {string} modelName
|
|
3265
|
-
* @param {string} propName
|
|
3266
|
-
* @param {string|object} propDef
|
|
3267
|
-
* @param {*} propValue
|
|
3268
|
-
* @returns {undefined}
|
|
3269
|
-
*/
|
|
3270
|
-
_validateValueByPropertyValidators(modelName, propName, propDef, propValue) {
|
|
3271
|
-
if (typeof propDef === "string" || propDef.validate == null) return;
|
|
3272
|
-
const validateDef = propDef.validate;
|
|
3273
|
-
const validatorRegistry = this.getService(PropertyValidatorRegistry);
|
|
3274
|
-
const createError = /* @__PURE__ */ __name((validatorName) => {
|
|
3275
|
-
if (validatorName) {
|
|
3276
|
-
return new InvalidArgumentError(
|
|
3277
|
-
"The property %v of the model %v has the invalid value %v that caught by the property validator %v.",
|
|
3278
|
-
propName,
|
|
3279
|
-
modelName,
|
|
3280
|
-
propValue,
|
|
3281
|
-
validatorName
|
|
3282
|
-
);
|
|
3283
|
-
} else {
|
|
3284
|
-
return new InvalidArgumentError(
|
|
3285
|
-
"The property %v of the model %v has the invalid value %v that caught by a property validator.",
|
|
3286
|
-
propName,
|
|
3287
|
-
modelName,
|
|
3288
|
-
propValue
|
|
3289
|
-
);
|
|
3290
|
-
}
|
|
3291
|
-
}, "createError");
|
|
3292
|
-
const validateBy = /* @__PURE__ */ __name((validatorOrName, validatorOptions = void 0) => {
|
|
3293
|
-
let validatorName, validatorFn;
|
|
3294
|
-
if (typeof validatorOrName === "string") {
|
|
3295
|
-
validatorName = validatorOrName;
|
|
3296
|
-
validatorFn = validatorRegistry.getValidator(validatorName);
|
|
3297
|
-
} else if (typeof validatorOrName === "function") {
|
|
3298
|
-
validatorName = validatorOrName.name && validatorOrName.name !== "validate" ? validatorOrName.name : void 0;
|
|
3299
|
-
validatorFn = validatorOrName;
|
|
3300
|
-
} else {
|
|
3301
|
-
throw new InvalidArgumentError(
|
|
3302
|
-
"Validator must be a non-empty String or a Function, but %v was given.",
|
|
3303
|
-
validatorOrName
|
|
3304
|
-
);
|
|
3305
|
-
}
|
|
3306
|
-
const context = { validatorName, modelName, propName };
|
|
3307
|
-
const valid = validatorFn(propValue, validatorOptions, context);
|
|
3308
|
-
if (valid instanceof Promise) {
|
|
3309
|
-
if (validatorName) {
|
|
3310
|
-
throw new InvalidArgumentError(
|
|
3311
|
-
"Asynchronous property validators are not supported, but the property %v of the model %v has the property validator %v that returns a Promise.",
|
|
3312
|
-
propName,
|
|
3313
|
-
modelName,
|
|
3314
|
-
validatorName
|
|
3315
|
-
);
|
|
3316
|
-
} else {
|
|
3317
|
-
throw new InvalidArgumentError(
|
|
3318
|
-
"Asynchronous property validators are not supported, but the property %v of the model %v has a property validator that returns a Promise.",
|
|
3319
|
-
propName,
|
|
3320
|
-
modelName
|
|
3321
|
-
);
|
|
3322
|
-
}
|
|
3323
|
-
} else if (valid !== true) {
|
|
3324
|
-
throw createError(validatorName);
|
|
3325
|
-
}
|
|
3326
|
-
}, "validateBy");
|
|
3327
|
-
if (validateDef && typeof validateDef === "string") {
|
|
3328
|
-
validateBy(validateDef);
|
|
3329
|
-
} else if (validateDef && typeof validateDef === "function") {
|
|
3330
|
-
validateBy(validateDef);
|
|
3331
|
-
} else if (Array.isArray(validateDef)) {
|
|
3332
|
-
validateDef.forEach((validatorOrName) => {
|
|
3333
|
-
if (!validatorOrName || typeof validatorOrName !== "string" && typeof validatorOrName !== "function") {
|
|
3334
|
-
throw new InvalidArgumentError(
|
|
3335
|
-
'The provided option "validate" for the property %v in the model %v has an Array value that should contain validator names or validator functions, but %v was given.',
|
|
3336
|
-
propName,
|
|
3337
|
-
modelName,
|
|
3338
|
-
validatorOrName
|
|
3339
|
-
);
|
|
3340
|
-
}
|
|
3341
|
-
validateBy(validatorOrName);
|
|
3342
|
-
});
|
|
3343
|
-
} else if (validateDef !== null && typeof validateDef === "object") {
|
|
3344
|
-
Object.keys(validateDef).forEach((validatorName) => {
|
|
3345
|
-
const validatorOptions = validateDef[validatorName];
|
|
3346
|
-
validateBy(validatorName, validatorOptions);
|
|
3347
|
-
});
|
|
3348
|
-
} else {
|
|
3349
|
-
throw new InvalidArgumentError(
|
|
3350
|
-
'The provided option "validate" for the property %v in the model %v should be either a validator name, a validator function, an array of validator names or functions, or an object mapping validator names to their arguments, but %v was given.',
|
|
3351
|
-
propName,
|
|
3352
|
-
modelName,
|
|
3353
|
-
validateDef
|
|
3354
|
-
);
|
|
3355
|
-
}
|
|
3356
|
-
}
|
|
3357
|
-
};
|
|
3358
|
-
__name(_ModelDataValidator, "ModelDataValidator");
|
|
3359
|
-
ModelDataValidator = _ModelDataValidator;
|
|
3360
|
-
}
|
|
3361
|
-
});
|
|
3362
|
-
|
|
3363
|
-
// src/definition/model/model-data-sanitizer.js
|
|
3364
|
-
var import_js_service14, _ModelDataSanitizer, ModelDataSanitizer;
|
|
3365
|
-
var init_model_data_sanitizer = __esm({
|
|
3366
|
-
"src/definition/model/model-data-sanitizer.js"() {
|
|
3367
|
-
"use strict";
|
|
3368
|
-
import_js_service14 = require("@e22m4u/js-service");
|
|
3369
|
-
init_errors();
|
|
3370
|
-
init_model_definition_utils();
|
|
3371
|
-
_ModelDataSanitizer = class _ModelDataSanitizer extends import_js_service14.Service {
|
|
3372
|
-
/**
|
|
3373
|
-
* Validate.
|
|
3374
|
-
*
|
|
3375
|
-
* @param {string} modelName
|
|
3376
|
-
* @param {object} modelData
|
|
3377
|
-
* @returns {object}
|
|
3378
|
-
*/
|
|
3379
|
-
sanitize(modelName, modelData) {
|
|
3380
|
-
if (!modelName || typeof modelName !== "string")
|
|
3381
|
-
throw new InvalidArgumentError(
|
|
3382
|
-
"The first argument of ModelDataSanitizer.sanitize should be a string, but %v was given.",
|
|
3383
|
-
modelName
|
|
3384
|
-
);
|
|
3385
|
-
if (!modelData || typeof modelData !== "object")
|
|
3386
|
-
throw new InvalidArgumentError(
|
|
3387
|
-
"The second argument of ModelDataSanitizer.sanitize should be an Object, but %v was given.",
|
|
2611
|
+
"The first argument of ModelDataSanitizer.sanitize should be a string, but %v was given.",
|
|
2612
|
+
modelName
|
|
2613
|
+
);
|
|
2614
|
+
if (!modelData || typeof modelData !== "object")
|
|
2615
|
+
throw new InvalidArgumentError(
|
|
2616
|
+
"The second argument of ModelDataSanitizer.sanitize should be an Object, but %v was given.",
|
|
3388
2617
|
modelData
|
|
3389
2618
|
);
|
|
3390
2619
|
return this.getService(
|
|
@@ -3397,147 +2626,16 @@ var init_model_data_sanitizer = __esm({
|
|
|
3397
2626
|
}
|
|
3398
2627
|
});
|
|
3399
2628
|
|
|
3400
|
-
// src/definition/model/model-data-transformer.js
|
|
3401
|
-
var import_js_service15, import_js_empty_values4, _ModelDataTransformer, ModelDataTransformer;
|
|
3402
|
-
var init_model_data_transformer = __esm({
|
|
3403
|
-
"src/definition/model/model-data-transformer.js"() {
|
|
3404
|
-
"use strict";
|
|
3405
|
-
import_js_service15 = require("@e22m4u/js-service");
|
|
3406
|
-
init_utils();
|
|
3407
|
-
init_utils();
|
|
3408
|
-
init_utils();
|
|
3409
|
-
import_js_empty_values4 = require("@e22m4u/js-empty-values");
|
|
3410
|
-
init_errors();
|
|
3411
|
-
init_model_definition_utils();
|
|
3412
|
-
init_properties();
|
|
3413
|
-
_ModelDataTransformer = class _ModelDataTransformer extends import_js_service15.Service {
|
|
3414
|
-
/**
|
|
3415
|
-
* Transform.
|
|
3416
|
-
*
|
|
3417
|
-
* @param {string} modelName
|
|
3418
|
-
* @param {object} modelData
|
|
3419
|
-
* @param {boolean} isPartial
|
|
3420
|
-
* @returns {object|Promise<object>}
|
|
3421
|
-
*/
|
|
3422
|
-
transform(modelName, modelData, isPartial = false) {
|
|
3423
|
-
if (!isPureObject(modelData))
|
|
3424
|
-
throw new InvalidArgumentError(
|
|
3425
|
-
"The data of the model %v should be an Object, but %v was given.",
|
|
3426
|
-
modelName,
|
|
3427
|
-
modelData
|
|
3428
|
-
);
|
|
3429
|
-
const emptyValuesService = this.getService(import_js_empty_values4.EmptyValuesService);
|
|
3430
|
-
const modelDefinitionUtils = this.getService(ModelDefinitionUtils);
|
|
3431
|
-
const propDefs = modelDefinitionUtils.getPropertiesDefinitionInBaseModelHierarchy(
|
|
3432
|
-
modelName
|
|
3433
|
-
);
|
|
3434
|
-
const propNames = Object.keys(isPartial ? modelData : propDefs);
|
|
3435
|
-
const transformedData = cloneDeep(modelData);
|
|
3436
|
-
return propNames.reduce((transformedDataOrPromise, propName) => {
|
|
3437
|
-
const propDef = propDefs[propName];
|
|
3438
|
-
if (!propDef) return transformedDataOrPromise;
|
|
3439
|
-
const propType = modelDefinitionUtils.getDataTypeFromPropertyDefinition(propDef);
|
|
3440
|
-
const propValue = modelData[propName];
|
|
3441
|
-
const isEmpty = emptyValuesService.isEmptyByType(propType, propValue);
|
|
3442
|
-
if (isEmpty) return transformedDataOrPromise;
|
|
3443
|
-
const newPropValueOrPromise = this._transformPropertyValue(
|
|
3444
|
-
modelName,
|
|
3445
|
-
propName,
|
|
3446
|
-
propDef,
|
|
3447
|
-
propValue
|
|
3448
|
-
);
|
|
3449
|
-
return transformPromise(newPropValueOrPromise, (newPropValue) => {
|
|
3450
|
-
return transformPromise(transformedDataOrPromise, (resolvedData) => {
|
|
3451
|
-
if (newPropValue !== propValue) resolvedData[propName] = newPropValue;
|
|
3452
|
-
return resolvedData;
|
|
3453
|
-
});
|
|
3454
|
-
});
|
|
3455
|
-
}, transformedData);
|
|
3456
|
-
}
|
|
3457
|
-
/**
|
|
3458
|
-
* Transform property value.
|
|
3459
|
-
*
|
|
3460
|
-
* @param {string} modelName
|
|
3461
|
-
* @param {string} propName
|
|
3462
|
-
* @param {string|object} propDef
|
|
3463
|
-
* @param {*} propValue
|
|
3464
|
-
* @returns {*|Promise<*>}
|
|
3465
|
-
*/
|
|
3466
|
-
_transformPropertyValue(modelName, propName, propDef, propValue) {
|
|
3467
|
-
if (typeof propDef === "string" || propDef.transform == null)
|
|
3468
|
-
return propValue;
|
|
3469
|
-
const transformDef = propDef.transform;
|
|
3470
|
-
const transformerRegistry = this.getService(PropertyTransformerRegistry);
|
|
3471
|
-
const transformFn = /* @__PURE__ */ __name((value, transformerOrName, transformerOptions = void 0) => {
|
|
3472
|
-
let transformerName, transformerFn;
|
|
3473
|
-
if (typeof transformerOrName === "string") {
|
|
3474
|
-
transformerName = transformerOrName;
|
|
3475
|
-
transformerFn = transformerRegistry.getTransformer(transformerName);
|
|
3476
|
-
} else if (typeof transformerOrName === "function") {
|
|
3477
|
-
transformerName = transformerOrName.name && transformerOrName.name !== "transform" ? transformerOrName.name : void 0;
|
|
3478
|
-
transformerFn = transformerOrName;
|
|
3479
|
-
} else {
|
|
3480
|
-
throw new InvalidArgumentError(
|
|
3481
|
-
"Transformer must be a non-empty String or a Function, but %v was given.",
|
|
3482
|
-
transformerOrName
|
|
3483
|
-
);
|
|
3484
|
-
}
|
|
3485
|
-
const context = { transformerName, modelName, propName };
|
|
3486
|
-
return transformerFn(value, transformerOptions, context);
|
|
3487
|
-
}, "transformFn");
|
|
3488
|
-
if (transformDef && typeof transformDef === "string") {
|
|
3489
|
-
return transformFn(propValue, transformDef);
|
|
3490
|
-
} else if (transformDef && typeof transformDef === "function") {
|
|
3491
|
-
return transformFn(propValue, transformDef);
|
|
3492
|
-
} else if (Array.isArray(transformDef)) {
|
|
3493
|
-
return transformDef.reduce((valueOrPromise, transformerOrName) => {
|
|
3494
|
-
if (!transformerOrName || typeof transformerOrName !== "string" && typeof transformerOrName !== "function") {
|
|
3495
|
-
throw new InvalidArgumentError(
|
|
3496
|
-
'The provided option "transform" for the property %v in the model %v has an Array value that should contain transformer names or transformer functions, but %v was given.',
|
|
3497
|
-
propName,
|
|
3498
|
-
modelName,
|
|
3499
|
-
transformerOrName
|
|
3500
|
-
);
|
|
3501
|
-
}
|
|
3502
|
-
return transformPromise(valueOrPromise, (value) => {
|
|
3503
|
-
return transformFn(value, transformerOrName);
|
|
3504
|
-
});
|
|
3505
|
-
}, propValue);
|
|
3506
|
-
} else if (transformDef !== null && typeof transformDef === "object") {
|
|
3507
|
-
return Object.keys(transformDef).reduce(
|
|
3508
|
-
(valueOrPromise, transformerName) => {
|
|
3509
|
-
const transformerOptions = transformDef[transformerName];
|
|
3510
|
-
return transformPromise(valueOrPromise, (value) => {
|
|
3511
|
-
return transformFn(value, transformerName, transformerOptions);
|
|
3512
|
-
});
|
|
3513
|
-
},
|
|
3514
|
-
propValue
|
|
3515
|
-
);
|
|
3516
|
-
} else {
|
|
3517
|
-
throw new InvalidArgumentError(
|
|
3518
|
-
'The provided option "transform" for the property %v in the model %v should be either a transformer name, a transformer function, an array of transformer names or functions, or an object mapping transformer names to their arguments, but %v was given.',
|
|
3519
|
-
propName,
|
|
3520
|
-
modelName,
|
|
3521
|
-
transformDef
|
|
3522
|
-
);
|
|
3523
|
-
}
|
|
3524
|
-
}
|
|
3525
|
-
};
|
|
3526
|
-
__name(_ModelDataTransformer, "ModelDataTransformer");
|
|
3527
|
-
ModelDataTransformer = _ModelDataTransformer;
|
|
3528
|
-
}
|
|
3529
|
-
});
|
|
3530
|
-
|
|
3531
2629
|
// src/definition/model/model-definition-validator.js
|
|
3532
|
-
var
|
|
2630
|
+
var import_js_service12, _ModelDefinitionValidator, ModelDefinitionValidator;
|
|
3533
2631
|
var init_model_definition_validator = __esm({
|
|
3534
2632
|
"src/definition/model/model-definition-validator.js"() {
|
|
3535
2633
|
"use strict";
|
|
3536
|
-
|
|
2634
|
+
import_js_service12 = require("@e22m4u/js-service");
|
|
3537
2635
|
init_errors();
|
|
3538
2636
|
init_relations();
|
|
3539
2637
|
init_properties();
|
|
3540
|
-
_ModelDefinitionValidator = class _ModelDefinitionValidator extends
|
|
2638
|
+
_ModelDefinitionValidator = class _ModelDefinitionValidator extends import_js_service12.Service {
|
|
3541
2639
|
/**
|
|
3542
2640
|
* Validate.
|
|
3543
2641
|
*
|
|
@@ -3612,22 +2710,20 @@ var init_model = __esm({
|
|
|
3612
2710
|
init_relations();
|
|
3613
2711
|
init_properties();
|
|
3614
2712
|
init_model_definition();
|
|
3615
|
-
init_model_data_validator();
|
|
3616
2713
|
init_model_data_sanitizer();
|
|
3617
|
-
init_model_data_transformer();
|
|
3618
2714
|
init_model_definition_utils();
|
|
3619
2715
|
init_model_definition_validator();
|
|
3620
2716
|
}
|
|
3621
2717
|
});
|
|
3622
2718
|
|
|
3623
2719
|
// src/definition/datasource/datasource-definition-validator.js
|
|
3624
|
-
var
|
|
2720
|
+
var import_js_service13, _DatasourceDefinitionValidator, DatasourceDefinitionValidator;
|
|
3625
2721
|
var init_datasource_definition_validator = __esm({
|
|
3626
2722
|
"src/definition/datasource/datasource-definition-validator.js"() {
|
|
3627
2723
|
"use strict";
|
|
3628
|
-
|
|
2724
|
+
import_js_service13 = require("@e22m4u/js-service");
|
|
3629
2725
|
init_errors();
|
|
3630
|
-
_DatasourceDefinitionValidator = class _DatasourceDefinitionValidator extends
|
|
2726
|
+
_DatasourceDefinitionValidator = class _DatasourceDefinitionValidator extends import_js_service13.Service {
|
|
3631
2727
|
/**
|
|
3632
2728
|
* Validate.
|
|
3633
2729
|
*
|
|
@@ -3676,15 +2772,15 @@ var init_definition = __esm({
|
|
|
3676
2772
|
});
|
|
3677
2773
|
|
|
3678
2774
|
// src/filter/fields-clause-tool.js
|
|
3679
|
-
var
|
|
2775
|
+
var import_js_service14, _FieldsClauseTool, FieldsClauseTool;
|
|
3680
2776
|
var init_fields_clause_tool = __esm({
|
|
3681
2777
|
"src/filter/fields-clause-tool.js"() {
|
|
3682
2778
|
"use strict";
|
|
3683
|
-
|
|
2779
|
+
import_js_service14 = require("@e22m4u/js-service");
|
|
3684
2780
|
init_utils();
|
|
3685
2781
|
init_errors();
|
|
3686
2782
|
init_definition();
|
|
3687
|
-
_FieldsClauseTool = class _FieldsClauseTool extends
|
|
2783
|
+
_FieldsClauseTool = class _FieldsClauseTool extends import_js_service14.Service {
|
|
3688
2784
|
/**
|
|
3689
2785
|
* Filter.
|
|
3690
2786
|
*
|
|
@@ -3768,15 +2864,15 @@ var init_fields_clause_tool = __esm({
|
|
|
3768
2864
|
});
|
|
3769
2865
|
|
|
3770
2866
|
// src/adapter/decorator/inclusion-decorator.js
|
|
3771
|
-
var
|
|
2867
|
+
var import_js_service15, _InclusionDecorator, InclusionDecorator;
|
|
3772
2868
|
var init_inclusion_decorator = __esm({
|
|
3773
2869
|
"src/adapter/decorator/inclusion-decorator.js"() {
|
|
3774
2870
|
"use strict";
|
|
3775
2871
|
init_adapter();
|
|
3776
|
-
|
|
2872
|
+
import_js_service15 = require("@e22m4u/js-service");
|
|
3777
2873
|
init_filter();
|
|
3778
2874
|
init_errors();
|
|
3779
|
-
_InclusionDecorator = class _InclusionDecorator extends
|
|
2875
|
+
_InclusionDecorator = class _InclusionDecorator extends import_js_service15.Service {
|
|
3780
2876
|
/**
|
|
3781
2877
|
* Decorate.
|
|
3782
2878
|
*
|
|
@@ -3857,15 +2953,15 @@ var init_inclusion_decorator = __esm({
|
|
|
3857
2953
|
});
|
|
3858
2954
|
|
|
3859
2955
|
// src/adapter/decorator/default-values-decorator.js
|
|
3860
|
-
var
|
|
2956
|
+
var import_js_service16, _DefaultValuesDecorator, DefaultValuesDecorator;
|
|
3861
2957
|
var init_default_values_decorator = __esm({
|
|
3862
2958
|
"src/adapter/decorator/default-values-decorator.js"() {
|
|
3863
2959
|
"use strict";
|
|
3864
2960
|
init_adapter();
|
|
3865
|
-
|
|
2961
|
+
import_js_service16 = require("@e22m4u/js-service");
|
|
3866
2962
|
init_errors();
|
|
3867
2963
|
init_definition();
|
|
3868
|
-
_DefaultValuesDecorator = class _DefaultValuesDecorator extends
|
|
2964
|
+
_DefaultValuesDecorator = class _DefaultValuesDecorator extends import_js_service16.Service {
|
|
3869
2965
|
/**
|
|
3870
2966
|
* Decorate.
|
|
3871
2967
|
*
|
|
@@ -3922,15 +3018,15 @@ var init_default_values_decorator = __esm({
|
|
|
3922
3018
|
});
|
|
3923
3019
|
|
|
3924
3020
|
// src/adapter/decorator/data-sanitizing-decorator.js
|
|
3925
|
-
var
|
|
3021
|
+
var import_js_service17, _DataSanitizingDecorator, DataSanitizingDecorator;
|
|
3926
3022
|
var init_data_sanitizing_decorator = __esm({
|
|
3927
3023
|
"src/adapter/decorator/data-sanitizing-decorator.js"() {
|
|
3928
3024
|
"use strict";
|
|
3929
3025
|
init_adapter();
|
|
3930
|
-
|
|
3026
|
+
import_js_service17 = require("@e22m4u/js-service");
|
|
3931
3027
|
init_errors();
|
|
3932
3028
|
init_definition();
|
|
3933
|
-
_DataSanitizingDecorator = class _DataSanitizingDecorator extends
|
|
3029
|
+
_DataSanitizingDecorator = class _DataSanitizingDecorator extends import_js_service17.Service {
|
|
3934
3030
|
/**
|
|
3935
3031
|
* Decorate.
|
|
3936
3032
|
*
|
|
@@ -3976,70 +3072,16 @@ var init_data_sanitizing_decorator = __esm({
|
|
|
3976
3072
|
}
|
|
3977
3073
|
});
|
|
3978
3074
|
|
|
3979
|
-
// src/adapter/decorator/data-validation-decorator.js
|
|
3980
|
-
var import_js_service22, _DataValidationDecorator, DataValidationDecorator;
|
|
3981
|
-
var init_data_validation_decorator = __esm({
|
|
3982
|
-
"src/adapter/decorator/data-validation-decorator.js"() {
|
|
3983
|
-
"use strict";
|
|
3984
|
-
init_adapter();
|
|
3985
|
-
import_js_service22 = require("@e22m4u/js-service");
|
|
3986
|
-
init_errors();
|
|
3987
|
-
init_definition();
|
|
3988
|
-
_DataValidationDecorator = class _DataValidationDecorator extends import_js_service22.Service {
|
|
3989
|
-
/**
|
|
3990
|
-
* Decorate.
|
|
3991
|
-
*
|
|
3992
|
-
* @param {Adapter} adapter
|
|
3993
|
-
*/
|
|
3994
|
-
decorate(adapter) {
|
|
3995
|
-
if (!adapter || !(adapter instanceof Adapter))
|
|
3996
|
-
throw new InvalidArgumentError(
|
|
3997
|
-
"The first argument of DataValidationDecorator.decorate should be an Adapter instance, but %v was given.",
|
|
3998
|
-
adapter
|
|
3999
|
-
);
|
|
4000
|
-
const validator = this.getService(ModelDataValidator);
|
|
4001
|
-
const create = adapter.create;
|
|
4002
|
-
adapter.create = function(modelName, modelData, filter) {
|
|
4003
|
-
validator.validate(modelName, modelData);
|
|
4004
|
-
return create.call(this, modelName, modelData, filter);
|
|
4005
|
-
};
|
|
4006
|
-
const replaceById = adapter.replaceById;
|
|
4007
|
-
adapter.replaceById = function(modelName, id, modelData, filter) {
|
|
4008
|
-
validator.validate(modelName, modelData);
|
|
4009
|
-
return replaceById.call(this, modelName, id, modelData, filter);
|
|
4010
|
-
};
|
|
4011
|
-
const replaceOrCreate = adapter.replaceOrCreate;
|
|
4012
|
-
adapter.replaceOrCreate = function(modelName, modelData, filter) {
|
|
4013
|
-
validator.validate(modelName, modelData);
|
|
4014
|
-
return replaceOrCreate.call(this, modelName, modelData, filter);
|
|
4015
|
-
};
|
|
4016
|
-
const patch = adapter.patch;
|
|
4017
|
-
adapter.patch = function(modelName, modelData, where) {
|
|
4018
|
-
validator.validate(modelName, modelData, true);
|
|
4019
|
-
return patch.call(this, modelName, modelData, where);
|
|
4020
|
-
};
|
|
4021
|
-
const patchById = adapter.patchById;
|
|
4022
|
-
adapter.patchById = function(modelName, id, modelData, filter) {
|
|
4023
|
-
validator.validate(modelName, modelData, true);
|
|
4024
|
-
return patchById.call(this, modelName, id, modelData, filter);
|
|
4025
|
-
};
|
|
4026
|
-
}
|
|
4027
|
-
};
|
|
4028
|
-
__name(_DataValidationDecorator, "DataValidationDecorator");
|
|
4029
|
-
DataValidationDecorator = _DataValidationDecorator;
|
|
4030
|
-
}
|
|
4031
|
-
});
|
|
4032
|
-
|
|
4033
3075
|
// src/adapter/decorator/fields-filtering-decorator.js
|
|
4034
|
-
var
|
|
3076
|
+
var import_js_service18, _FieldsFilteringDecorator, FieldsFilteringDecorator;
|
|
4035
3077
|
var init_fields_filtering_decorator = __esm({
|
|
4036
3078
|
"src/adapter/decorator/fields-filtering-decorator.js"() {
|
|
4037
3079
|
"use strict";
|
|
4038
3080
|
init_adapter();
|
|
4039
|
-
|
|
3081
|
+
import_js_service18 = require("@e22m4u/js-service");
|
|
4040
3082
|
init_filter();
|
|
4041
3083
|
init_errors();
|
|
4042
|
-
_FieldsFilteringDecorator = class _FieldsFilteringDecorator extends
|
|
3084
|
+
_FieldsFilteringDecorator = class _FieldsFilteringDecorator extends import_js_service18.Service {
|
|
4043
3085
|
/**
|
|
4044
3086
|
* Decorate.
|
|
4045
3087
|
*
|
|
@@ -4113,70 +3155,16 @@ var init_fields_filtering_decorator = __esm({
|
|
|
4113
3155
|
}
|
|
4114
3156
|
});
|
|
4115
3157
|
|
|
4116
|
-
// src/adapter/decorator/data-transformation-decorator.js
|
|
4117
|
-
var import_js_service24, _DataTransformationDecorator, DataTransformationDecorator;
|
|
4118
|
-
var init_data_transformation_decorator = __esm({
|
|
4119
|
-
"src/adapter/decorator/data-transformation-decorator.js"() {
|
|
4120
|
-
"use strict";
|
|
4121
|
-
init_adapter();
|
|
4122
|
-
import_js_service24 = require("@e22m4u/js-service");
|
|
4123
|
-
init_errors();
|
|
4124
|
-
init_definition();
|
|
4125
|
-
_DataTransformationDecorator = class _DataTransformationDecorator extends import_js_service24.Service {
|
|
4126
|
-
/**
|
|
4127
|
-
* Decorate.
|
|
4128
|
-
*
|
|
4129
|
-
* @param {Adapter} adapter
|
|
4130
|
-
*/
|
|
4131
|
-
decorate(adapter) {
|
|
4132
|
-
if (!adapter || !(adapter instanceof Adapter))
|
|
4133
|
-
throw new InvalidArgumentError(
|
|
4134
|
-
"The first argument of DataTransformerDecorator.decorate should be an Adapter instance, but %v was given.",
|
|
4135
|
-
adapter
|
|
4136
|
-
);
|
|
4137
|
-
const transformer = this.getService(ModelDataTransformer);
|
|
4138
|
-
const create = adapter.create;
|
|
4139
|
-
adapter.create = async function(modelName, modelData, filter) {
|
|
4140
|
-
modelData = await transformer.transform(modelName, modelData);
|
|
4141
|
-
return create.call(this, modelName, modelData, filter);
|
|
4142
|
-
};
|
|
4143
|
-
const replaceById = adapter.replaceById;
|
|
4144
|
-
adapter.replaceById = async function(modelName, id, modelData, filter) {
|
|
4145
|
-
modelData = await transformer.transform(modelName, modelData);
|
|
4146
|
-
return replaceById.call(this, modelName, id, modelData, filter);
|
|
4147
|
-
};
|
|
4148
|
-
const replaceOrCreate = adapter.replaceOrCreate;
|
|
4149
|
-
adapter.replaceOrCreate = async function(modelName, modelData, filter) {
|
|
4150
|
-
modelData = await transformer.transform(modelName, modelData);
|
|
4151
|
-
return replaceOrCreate.call(this, modelName, modelData, filter);
|
|
4152
|
-
};
|
|
4153
|
-
const patch = adapter.patch;
|
|
4154
|
-
adapter.patch = async function(modelName, modelData, where) {
|
|
4155
|
-
modelData = await transformer.transform(modelName, modelData, true);
|
|
4156
|
-
return patch.call(this, modelName, modelData, where);
|
|
4157
|
-
};
|
|
4158
|
-
const patchById = adapter.patchById;
|
|
4159
|
-
adapter.patchById = async function(modelName, id, modelData, filter) {
|
|
4160
|
-
modelData = await transformer.transform(modelName, modelData, true);
|
|
4161
|
-
return patchById.call(this, modelName, id, modelData, filter);
|
|
4162
|
-
};
|
|
4163
|
-
}
|
|
4164
|
-
};
|
|
4165
|
-
__name(_DataTransformationDecorator, "DataTransformationDecorator");
|
|
4166
|
-
DataTransformationDecorator = _DataTransformationDecorator;
|
|
4167
|
-
}
|
|
4168
|
-
});
|
|
4169
|
-
|
|
4170
3158
|
// src/adapter/decorator/property-uniqueness-decorator.js
|
|
4171
|
-
var
|
|
3159
|
+
var import_js_service19, _PropertyUniquenessDecorator, PropertyUniquenessDecorator;
|
|
4172
3160
|
var init_property_uniqueness_decorator = __esm({
|
|
4173
3161
|
"src/adapter/decorator/property-uniqueness-decorator.js"() {
|
|
4174
3162
|
"use strict";
|
|
4175
3163
|
init_adapter();
|
|
4176
|
-
|
|
3164
|
+
import_js_service19 = require("@e22m4u/js-service");
|
|
4177
3165
|
init_errors();
|
|
4178
3166
|
init_definition();
|
|
4179
|
-
_PropertyUniquenessDecorator = class _PropertyUniquenessDecorator extends
|
|
3167
|
+
_PropertyUniquenessDecorator = class _PropertyUniquenessDecorator extends import_js_service19.Service {
|
|
4180
3168
|
/**
|
|
4181
3169
|
* Decorate.
|
|
4182
3170
|
*
|
|
@@ -4250,29 +3238,25 @@ var init_decorator = __esm({
|
|
|
4250
3238
|
init_inclusion_decorator();
|
|
4251
3239
|
init_default_values_decorator();
|
|
4252
3240
|
init_data_sanitizing_decorator();
|
|
4253
|
-
init_data_validation_decorator();
|
|
4254
3241
|
init_fields_filtering_decorator();
|
|
4255
|
-
init_data_transformation_decorator();
|
|
4256
3242
|
init_property_uniqueness_decorator();
|
|
4257
3243
|
}
|
|
4258
3244
|
});
|
|
4259
3245
|
|
|
4260
3246
|
// src/adapter/adapter.js
|
|
4261
|
-
var
|
|
3247
|
+
var import_js_service20, ADAPTER_CLASS_NAME, _Adapter, Adapter;
|
|
4262
3248
|
var init_adapter = __esm({
|
|
4263
3249
|
"src/adapter/adapter.js"() {
|
|
4264
3250
|
"use strict";
|
|
4265
|
-
|
|
3251
|
+
import_js_service20 = require("@e22m4u/js-service");
|
|
4266
3252
|
init_errors();
|
|
4267
3253
|
init_decorator();
|
|
4268
3254
|
init_decorator();
|
|
4269
3255
|
init_decorator();
|
|
4270
3256
|
init_decorator();
|
|
4271
3257
|
init_decorator();
|
|
4272
|
-
init_decorator();
|
|
4273
|
-
init_decorator();
|
|
4274
3258
|
ADAPTER_CLASS_NAME = "Adapter";
|
|
4275
|
-
_Adapter = class _Adapter extends
|
|
3259
|
+
_Adapter = class _Adapter extends import_js_service20.Service {
|
|
4276
3260
|
/**
|
|
4277
3261
|
* Settings.
|
|
4278
3262
|
*
|
|
@@ -4299,8 +3283,6 @@ var init_adapter = __esm({
|
|
|
4299
3283
|
if (this.constructor !== _Adapter) {
|
|
4300
3284
|
this.getService(DataSanitizingDecorator).decorate(this);
|
|
4301
3285
|
this.getService(DefaultValuesDecorator).decorate(this);
|
|
4302
|
-
this.getService(DataTransformationDecorator).decorate(this);
|
|
4303
|
-
this.getService(DataValidationDecorator).decorate(this);
|
|
4304
3286
|
this.getService(PropertyUniquenessDecorator).decorate(this);
|
|
4305
3287
|
this.getService(FieldsFilteringDecorator).decorate(this);
|
|
4306
3288
|
this.getService(InclusionDecorator).decorate(this);
|
|
@@ -4460,11 +3442,11 @@ var init_adapter = __esm({
|
|
|
4460
3442
|
};
|
|
4461
3443
|
__name(_Adapter, "Adapter");
|
|
4462
3444
|
/**
|
|
4463
|
-
*
|
|
3445
|
+
* Kinds.
|
|
4464
3446
|
*
|
|
4465
|
-
* @type {string}
|
|
3447
|
+
* @type {string[]}
|
|
4466
3448
|
*/
|
|
4467
|
-
__publicField(_Adapter, "kinds", [...
|
|
3449
|
+
__publicField(_Adapter, "kinds", [...import_js_service20.Service.kinds, ADAPTER_CLASS_NAME]);
|
|
4468
3450
|
Adapter = _Adapter;
|
|
4469
3451
|
}
|
|
4470
3452
|
});
|
|
@@ -4523,10 +3505,9 @@ var init_memory_adapter = __esm({
|
|
|
4523
3505
|
*/
|
|
4524
3506
|
_genNextIdValue(modelName, propName) {
|
|
4525
3507
|
var _a;
|
|
4526
|
-
const
|
|
4527
|
-
|
|
4528
|
-
|
|
4529
|
-
if (propType !== DataType.ANY && propType !== DataType.NUMBER)
|
|
3508
|
+
const modelUtils = this.getService(ModelDefinitionUtils);
|
|
3509
|
+
const propType = modelUtils.getDataTypeByPropertyName(modelName, propName);
|
|
3510
|
+
if (propType !== DataType.ANY && propType !== DataType.NUMBER) {
|
|
4530
3511
|
throw new InvalidArgumentError(
|
|
4531
3512
|
"The memory adapter able to generate only Number identifiers, but the primary key %v of the model %v is defined as %s. Do provide your own value for the %v property, or change the type in the primary key definition to a Number that will be generated automatically.",
|
|
4532
3513
|
propName,
|
|
@@ -4534,16 +3515,34 @@ var init_memory_adapter = __esm({
|
|
|
4534
3515
|
capitalize(propType),
|
|
4535
3516
|
propName
|
|
4536
3517
|
);
|
|
4537
|
-
|
|
4538
|
-
const
|
|
4539
|
-
const nextId = lastId + 1;
|
|
4540
|
-
this._lastIds.set(tableName, nextId);
|
|
3518
|
+
}
|
|
3519
|
+
const tableName = modelUtils.getTableNameByModelName(modelName);
|
|
4541
3520
|
const table = this._getTableOrCreate(modelName);
|
|
4542
|
-
|
|
4543
|
-
|
|
4544
|
-
|
|
3521
|
+
let nextId = (_a = this._lastIds.get(tableName)) != null ? _a : 0;
|
|
3522
|
+
do {
|
|
3523
|
+
nextId++;
|
|
3524
|
+
} while (table.has(nextId));
|
|
3525
|
+
this._lastIds.set(tableName, nextId);
|
|
4545
3526
|
return nextId;
|
|
4546
3527
|
}
|
|
3528
|
+
/**
|
|
3529
|
+
* Update last id value if needed.
|
|
3530
|
+
*
|
|
3531
|
+
* Если переданное значение последнего использованного
|
|
3532
|
+
* идентификатора больше текущего, то текущее значение
|
|
3533
|
+
* перезаписывается полученным.
|
|
3534
|
+
*
|
|
3535
|
+
* @param {string} modelName
|
|
3536
|
+
* @param {number} idValue
|
|
3537
|
+
*/
|
|
3538
|
+
_updateLastIdValueIfNeeded(modelName, idValue) {
|
|
3539
|
+
var _a;
|
|
3540
|
+
const tableName = this.getService(ModelDefinitionUtils).getTableNameByModelName(modelName);
|
|
3541
|
+
const currentLastId = (_a = this._lastIds.get(tableName)) != null ? _a : 0;
|
|
3542
|
+
if (idValue > currentLastId) {
|
|
3543
|
+
this._lastIds.set(tableName, idValue);
|
|
3544
|
+
}
|
|
3545
|
+
}
|
|
4547
3546
|
/**
|
|
4548
3547
|
* Create
|
|
4549
3548
|
*
|
|
@@ -4560,6 +3559,8 @@ var init_memory_adapter = __esm({
|
|
|
4560
3559
|
let idValue = modelData[pkPropName];
|
|
4561
3560
|
if (idValue == null || idValue === "" || idValue === 0) {
|
|
4562
3561
|
idValue = this._genNextIdValue(modelName, pkPropName);
|
|
3562
|
+
} else if (typeof idValue === "number") {
|
|
3563
|
+
this._updateLastIdValueIfNeeded(modelName, idValue);
|
|
4563
3564
|
}
|
|
4564
3565
|
const table = this._getTableOrCreate(modelName);
|
|
4565
3566
|
if (table.has(idValue))
|
|
@@ -4628,6 +3629,8 @@ var init_memory_adapter = __esm({
|
|
|
4628
3629
|
let idValue = modelData[pkPropName];
|
|
4629
3630
|
if (idValue == null || idValue === "" || idValue === 0) {
|
|
4630
3631
|
idValue = this._genNextIdValue(modelName, pkPropName);
|
|
3632
|
+
} else if (typeof idValue === "number") {
|
|
3633
|
+
this._updateLastIdValueIfNeeded(modelName, idValue);
|
|
4631
3634
|
}
|
|
4632
3635
|
const table = this._getTableOrCreate(modelName);
|
|
4633
3636
|
modelData = cloneDeep(modelData);
|
|
@@ -4873,16 +3876,16 @@ function findAdapterCtorInModule(module2) {
|
|
|
4873
3876
|
}
|
|
4874
3877
|
return adapterCtor;
|
|
4875
3878
|
}
|
|
4876
|
-
var
|
|
3879
|
+
var import_js_service21, _AdapterLoader, AdapterLoader;
|
|
4877
3880
|
var init_adapter_loader = __esm({
|
|
4878
3881
|
"src/adapter/adapter-loader.js"() {
|
|
4879
3882
|
"use strict";
|
|
4880
3883
|
init_adapter();
|
|
4881
|
-
|
|
3884
|
+
import_js_service21 = require("@e22m4u/js-service");
|
|
4882
3885
|
init_adapter();
|
|
4883
3886
|
init_errors();
|
|
4884
3887
|
init_();
|
|
4885
|
-
_AdapterLoader = class _AdapterLoader extends
|
|
3888
|
+
_AdapterLoader = class _AdapterLoader extends import_js_service21.Service {
|
|
4886
3889
|
/**
|
|
4887
3890
|
* Load by name.
|
|
4888
3891
|
*
|
|
@@ -4923,15 +3926,15 @@ var init_adapter_loader = __esm({
|
|
|
4923
3926
|
});
|
|
4924
3927
|
|
|
4925
3928
|
// src/adapter/adapter-registry.js
|
|
4926
|
-
var
|
|
3929
|
+
var import_js_service22, _AdapterRegistry, AdapterRegistry;
|
|
4927
3930
|
var init_adapter_registry = __esm({
|
|
4928
3931
|
"src/adapter/adapter-registry.js"() {
|
|
4929
3932
|
"use strict";
|
|
4930
3933
|
init_adapter();
|
|
4931
|
-
|
|
3934
|
+
import_js_service22 = require("@e22m4u/js-service");
|
|
4932
3935
|
init_adapter_loader();
|
|
4933
3936
|
init_definition();
|
|
4934
|
-
_AdapterRegistry = class _AdapterRegistry extends
|
|
3937
|
+
_AdapterRegistry = class _AdapterRegistry extends import_js_service22.Service {
|
|
4935
3938
|
/**
|
|
4936
3939
|
* Adapters.
|
|
4937
3940
|
*
|
|
@@ -4973,16 +3976,16 @@ var init_adapter2 = __esm({
|
|
|
4973
3976
|
});
|
|
4974
3977
|
|
|
4975
3978
|
// src/repository/repository.js
|
|
4976
|
-
var
|
|
3979
|
+
var import_js_service23, _Repository, Repository;
|
|
4977
3980
|
var init_repository = __esm({
|
|
4978
3981
|
"src/repository/repository.js"() {
|
|
4979
3982
|
"use strict";
|
|
4980
|
-
|
|
3983
|
+
import_js_service23 = require("@e22m4u/js-service");
|
|
4981
3984
|
init_adapter2();
|
|
4982
3985
|
init_adapter2();
|
|
4983
3986
|
init_errors();
|
|
4984
3987
|
init_definition();
|
|
4985
|
-
_Repository = class _Repository extends
|
|
3988
|
+
_Repository = class _Repository extends import_js_service23.Service {
|
|
4986
3989
|
/**
|
|
4987
3990
|
* Model name.
|
|
4988
3991
|
*
|
|
@@ -5176,15 +4179,15 @@ var init_repository = __esm({
|
|
|
5176
4179
|
});
|
|
5177
4180
|
|
|
5178
4181
|
// src/repository/repository-registry.js
|
|
5179
|
-
var
|
|
4182
|
+
var import_js_service24, _RepositoryRegistry, RepositoryRegistry;
|
|
5180
4183
|
var init_repository_registry = __esm({
|
|
5181
4184
|
"src/repository/repository-registry.js"() {
|
|
5182
4185
|
"use strict";
|
|
5183
|
-
|
|
4186
|
+
import_js_service24 = require("@e22m4u/js-service");
|
|
5184
4187
|
init_repository();
|
|
5185
4188
|
init_utils();
|
|
5186
4189
|
init_errors();
|
|
5187
|
-
_RepositoryRegistry = class _RepositoryRegistry extends
|
|
4190
|
+
_RepositoryRegistry = class _RepositoryRegistry extends import_js_service24.Service {
|
|
5188
4191
|
/**
|
|
5189
4192
|
* Repositories.
|
|
5190
4193
|
*
|
|
@@ -5242,17 +4245,17 @@ var init_repository2 = __esm({
|
|
|
5242
4245
|
});
|
|
5243
4246
|
|
|
5244
4247
|
// src/relations/has-one-resolver.js
|
|
5245
|
-
var
|
|
4248
|
+
var import_js_service25, _HasOneResolver, HasOneResolver;
|
|
5246
4249
|
var init_has_one_resolver = __esm({
|
|
5247
4250
|
"src/relations/has-one-resolver.js"() {
|
|
5248
4251
|
"use strict";
|
|
5249
|
-
|
|
4252
|
+
import_js_service25 = require("@e22m4u/js-service");
|
|
5250
4253
|
init_utils();
|
|
5251
4254
|
init_definition();
|
|
5252
4255
|
init_errors();
|
|
5253
4256
|
init_repository2();
|
|
5254
4257
|
init_definition();
|
|
5255
|
-
_HasOneResolver = class _HasOneResolver extends
|
|
4258
|
+
_HasOneResolver = class _HasOneResolver extends import_js_service25.Service {
|
|
5256
4259
|
/**
|
|
5257
4260
|
* Include to.
|
|
5258
4261
|
*
|
|
@@ -5497,17 +4500,17 @@ var init_has_one_resolver = __esm({
|
|
|
5497
4500
|
});
|
|
5498
4501
|
|
|
5499
4502
|
// src/relations/has-many-resolver.js
|
|
5500
|
-
var
|
|
4503
|
+
var import_js_service26, _HasManyResolver, HasManyResolver;
|
|
5501
4504
|
var init_has_many_resolver = __esm({
|
|
5502
4505
|
"src/relations/has-many-resolver.js"() {
|
|
5503
4506
|
"use strict";
|
|
5504
|
-
|
|
4507
|
+
import_js_service26 = require("@e22m4u/js-service");
|
|
5505
4508
|
init_utils();
|
|
5506
4509
|
init_definition();
|
|
5507
4510
|
init_errors();
|
|
5508
4511
|
init_repository2();
|
|
5509
4512
|
init_definition();
|
|
5510
|
-
_HasManyResolver = class _HasManyResolver extends
|
|
4513
|
+
_HasManyResolver = class _HasManyResolver extends import_js_service26.Service {
|
|
5511
4514
|
/**
|
|
5512
4515
|
* Include to.
|
|
5513
4516
|
*
|
|
@@ -5762,17 +4765,17 @@ var init_has_many_resolver = __esm({
|
|
|
5762
4765
|
});
|
|
5763
4766
|
|
|
5764
4767
|
// src/relations/belongs-to-resolver.js
|
|
5765
|
-
var
|
|
4768
|
+
var import_js_service27, _BelongsToResolver, BelongsToResolver;
|
|
5766
4769
|
var init_belongs_to_resolver = __esm({
|
|
5767
4770
|
"src/relations/belongs-to-resolver.js"() {
|
|
5768
4771
|
"use strict";
|
|
5769
|
-
|
|
4772
|
+
import_js_service27 = require("@e22m4u/js-service");
|
|
5770
4773
|
init_utils();
|
|
5771
4774
|
init_utils();
|
|
5772
4775
|
init_errors();
|
|
5773
4776
|
init_repository2();
|
|
5774
4777
|
init_definition();
|
|
5775
|
-
_BelongsToResolver = class _BelongsToResolver extends
|
|
4778
|
+
_BelongsToResolver = class _BelongsToResolver extends import_js_service27.Service {
|
|
5776
4779
|
/**
|
|
5777
4780
|
* Include to.
|
|
5778
4781
|
*
|
|
@@ -5970,17 +4973,17 @@ var init_belongs_to_resolver = __esm({
|
|
|
5970
4973
|
});
|
|
5971
4974
|
|
|
5972
4975
|
// src/relations/references-many-resolver.js
|
|
5973
|
-
var
|
|
4976
|
+
var import_js_service28, _ReferencesManyResolver, ReferencesManyResolver;
|
|
5974
4977
|
var init_references_many_resolver = __esm({
|
|
5975
4978
|
"src/relations/references-many-resolver.js"() {
|
|
5976
4979
|
"use strict";
|
|
5977
|
-
|
|
4980
|
+
import_js_service28 = require("@e22m4u/js-service");
|
|
5978
4981
|
init_utils();
|
|
5979
4982
|
init_utils();
|
|
5980
4983
|
init_errors();
|
|
5981
4984
|
init_repository2();
|
|
5982
4985
|
init_definition();
|
|
5983
|
-
_ReferencesManyResolver = class _ReferencesManyResolver extends
|
|
4986
|
+
_ReferencesManyResolver = class _ReferencesManyResolver extends import_js_service28.Service {
|
|
5984
4987
|
/**
|
|
5985
4988
|
* Include to.
|
|
5986
4989
|
*
|
|
@@ -6082,11 +5085,11 @@ var init_relations2 = __esm({
|
|
|
6082
5085
|
});
|
|
6083
5086
|
|
|
6084
5087
|
// src/filter/include-clause-tool.js
|
|
6085
|
-
var
|
|
5088
|
+
var import_js_service29, _IncludeClauseTool, IncludeClauseTool;
|
|
6086
5089
|
var init_include_clause_tool = __esm({
|
|
6087
5090
|
"src/filter/include-clause-tool.js"() {
|
|
6088
5091
|
"use strict";
|
|
6089
|
-
|
|
5092
|
+
import_js_service29 = require("@e22m4u/js-service");
|
|
6090
5093
|
init_definition();
|
|
6091
5094
|
init_relations2();
|
|
6092
5095
|
init_relations2();
|
|
@@ -6098,7 +5101,7 @@ var init_include_clause_tool = __esm({
|
|
|
6098
5101
|
init_fields_clause_tool();
|
|
6099
5102
|
init_definition();
|
|
6100
5103
|
init_relations2();
|
|
6101
|
-
_IncludeClauseTool = class _IncludeClauseTool extends
|
|
5104
|
+
_IncludeClauseTool = class _IncludeClauseTool extends import_js_service29.Service {
|
|
6102
5105
|
/**
|
|
6103
5106
|
* Include to.
|
|
6104
5107
|
*
|
|
@@ -6446,7 +5449,6 @@ __export(index_exports, {
|
|
|
6446
5449
|
DataType: () => DataType,
|
|
6447
5450
|
DatabaseSchema: () => DatabaseSchema,
|
|
6448
5451
|
DatasourceDefinitionValidator: () => DatasourceDefinitionValidator,
|
|
6449
|
-
DecoratorTargetType: () => DecoratorTargetType,
|
|
6450
5452
|
DefinitionRegistry: () => DefinitionRegistry,
|
|
6451
5453
|
FieldsClauseTool: () => FieldsClauseTool,
|
|
6452
5454
|
HasManyResolver: () => HasManyResolver,
|
|
@@ -6455,8 +5457,6 @@ __export(index_exports, {
|
|
|
6455
5457
|
InvalidArgumentError: () => InvalidArgumentError,
|
|
6456
5458
|
InvalidOperatorValueError: () => InvalidOperatorValueError,
|
|
6457
5459
|
ModelDataSanitizer: () => ModelDataSanitizer,
|
|
6458
|
-
ModelDataTransformer: () => ModelDataTransformer,
|
|
6459
|
-
ModelDataValidator: () => ModelDataValidator,
|
|
6460
5460
|
ModelDefinitionUtils: () => ModelDefinitionUtils,
|
|
6461
5461
|
ModelDefinitionValidator: () => ModelDefinitionValidator,
|
|
6462
5462
|
NotImplementedError: () => NotImplementedError,
|
|
@@ -6464,10 +5464,8 @@ __export(index_exports, {
|
|
|
6464
5464
|
OrderClauseTool: () => OrderClauseTool,
|
|
6465
5465
|
PrimaryKeysDefinitionValidator: () => PrimaryKeysDefinitionValidator,
|
|
6466
5466
|
PropertiesDefinitionValidator: () => PropertiesDefinitionValidator,
|
|
6467
|
-
PropertyTransformerRegistry: () => PropertyTransformerRegistry,
|
|
6468
5467
|
PropertyUniqueness: () => PropertyUniqueness,
|
|
6469
5468
|
PropertyUniquenessValidator: () => PropertyUniquenessValidator,
|
|
6470
|
-
PropertyValidatorRegistry: () => PropertyValidatorRegistry,
|
|
6471
5469
|
ReferencesManyResolver: () => ReferencesManyResolver,
|
|
6472
5470
|
RelationType: () => RelationType,
|
|
6473
5471
|
RelationsDefinitionValidator: () => RelationsDefinitionValidator,
|
|
@@ -6478,19 +5476,15 @@ __export(index_exports, {
|
|
|
6478
5476
|
capitalize: () => capitalize,
|
|
6479
5477
|
cloneDeep: () => cloneDeep,
|
|
6480
5478
|
excludeObjectKeys: () => excludeObjectKeys,
|
|
6481
|
-
getCtorName: () => getCtorName,
|
|
6482
|
-
getDecoratorTargetType: () => getDecoratorTargetType,
|
|
6483
5479
|
getValueByPath: () => getValueByPath,
|
|
6484
|
-
isCtor: () => isCtor,
|
|
6485
5480
|
isDeepEqual: () => isDeepEqual,
|
|
5481
|
+
isPlainObject: () => isPlainObject,
|
|
6486
5482
|
isPromise: () => isPromise,
|
|
6487
|
-
isPureObject: () => isPureObject,
|
|
6488
5483
|
likeToRegexp: () => likeToRegexp,
|
|
6489
5484
|
modelNameToModelKey: () => modelNameToModelKey,
|
|
6490
5485
|
selectObjectKeys: () => selectObjectKeys,
|
|
6491
5486
|
singularize: () => singularize,
|
|
6492
|
-
stringToRegexp: () => stringToRegexp
|
|
6493
|
-
transformPromise: () => transformPromise
|
|
5487
|
+
stringToRegexp: () => stringToRegexp
|
|
6494
5488
|
});
|
|
6495
5489
|
module.exports = __toCommonJS(index_exports);
|
|
6496
5490
|
init_utils();
|
|
@@ -6499,11 +5493,11 @@ init_filter();
|
|
|
6499
5493
|
init_adapter2();
|
|
6500
5494
|
|
|
6501
5495
|
// src/database-schema.js
|
|
6502
|
-
var
|
|
5496
|
+
var import_js_service30 = require("@e22m4u/js-service");
|
|
6503
5497
|
init_repository2();
|
|
6504
5498
|
init_definition();
|
|
6505
5499
|
init_repository2();
|
|
6506
|
-
var _DatabaseSchema = class _DatabaseSchema extends
|
|
5500
|
+
var _DatabaseSchema = class _DatabaseSchema extends import_js_service30.Service {
|
|
6507
5501
|
/**
|
|
6508
5502
|
* Define datasource.
|
|
6509
5503
|
*
|
|
@@ -6552,7 +5546,6 @@ init_repository2();
|
|
|
6552
5546
|
DataType,
|
|
6553
5547
|
DatabaseSchema,
|
|
6554
5548
|
DatasourceDefinitionValidator,
|
|
6555
|
-
DecoratorTargetType,
|
|
6556
5549
|
DefinitionRegistry,
|
|
6557
5550
|
FieldsClauseTool,
|
|
6558
5551
|
HasManyResolver,
|
|
@@ -6561,8 +5554,6 @@ init_repository2();
|
|
|
6561
5554
|
InvalidArgumentError,
|
|
6562
5555
|
InvalidOperatorValueError,
|
|
6563
5556
|
ModelDataSanitizer,
|
|
6564
|
-
ModelDataTransformer,
|
|
6565
|
-
ModelDataValidator,
|
|
6566
5557
|
ModelDefinitionUtils,
|
|
6567
5558
|
ModelDefinitionValidator,
|
|
6568
5559
|
NotImplementedError,
|
|
@@ -6570,10 +5561,8 @@ init_repository2();
|
|
|
6570
5561
|
OrderClauseTool,
|
|
6571
5562
|
PrimaryKeysDefinitionValidator,
|
|
6572
5563
|
PropertiesDefinitionValidator,
|
|
6573
|
-
PropertyTransformerRegistry,
|
|
6574
5564
|
PropertyUniqueness,
|
|
6575
5565
|
PropertyUniquenessValidator,
|
|
6576
|
-
PropertyValidatorRegistry,
|
|
6577
5566
|
ReferencesManyResolver,
|
|
6578
5567
|
RelationType,
|
|
6579
5568
|
RelationsDefinitionValidator,
|
|
@@ -6584,17 +5573,13 @@ init_repository2();
|
|
|
6584
5573
|
capitalize,
|
|
6585
5574
|
cloneDeep,
|
|
6586
5575
|
excludeObjectKeys,
|
|
6587
|
-
getCtorName,
|
|
6588
|
-
getDecoratorTargetType,
|
|
6589
5576
|
getValueByPath,
|
|
6590
|
-
isCtor,
|
|
6591
5577
|
isDeepEqual,
|
|
5578
|
+
isPlainObject,
|
|
6592
5579
|
isPromise,
|
|
6593
|
-
isPureObject,
|
|
6594
5580
|
likeToRegexp,
|
|
6595
5581
|
modelNameToModelKey,
|
|
6596
5582
|
selectObjectKeys,
|
|
6597
5583
|
singularize,
|
|
6598
|
-
stringToRegexp
|
|
6599
|
-
transformPromise
|
|
5584
|
+
stringToRegexp
|
|
6600
5585
|
});
|