@my-devkit/core 1.0.18

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (122) hide show
  1. package/command.d.ts +5 -0
  2. package/command.js +26 -0
  3. package/command.js.map +1 -0
  4. package/date-helper.d.ts +5 -0
  5. package/date-helper.js +30 -0
  6. package/date-helper.js.map +1 -0
  7. package/decorators/cacheable.decorator.d.ts +1 -0
  8. package/decorators/cacheable.decorator.js +29 -0
  9. package/decorators/cacheable.decorator.js.map +1 -0
  10. package/decorators/index.d.ts +2 -0
  11. package/decorators/index.js +15 -0
  12. package/decorators/index.js.map +1 -0
  13. package/decorators/retryable.decorator.d.ts +2 -0
  14. package/decorators/retryable.decorator.js +64 -0
  15. package/decorators/retryable.decorator.js.map +1 -0
  16. package/document.d.ts +4 -0
  17. package/document.js +3 -0
  18. package/document.js.map +1 -0
  19. package/enum-helper.d.ts +7 -0
  20. package/enum-helper.js +31 -0
  21. package/enum-helper.js.map +1 -0
  22. package/errors/bad-request-error.d.ts +5 -0
  23. package/errors/bad-request-error.js +30 -0
  24. package/errors/bad-request-error.js.map +1 -0
  25. package/errors/domain-error.d.ts +5 -0
  26. package/errors/domain-error.js +30 -0
  27. package/errors/domain-error.js.map +1 -0
  28. package/errors/error-base.d.ts +3 -0
  29. package/errors/error-base.js +3 -0
  30. package/errors/error-base.js.map +1 -0
  31. package/errors/forbidden-error.d.ts +5 -0
  32. package/errors/forbidden-error.js +30 -0
  33. package/errors/forbidden-error.js.map +1 -0
  34. package/errors/index.d.ts +7 -0
  35. package/errors/index.js +20 -0
  36. package/errors/index.js.map +1 -0
  37. package/errors/not-found-error.d.ts +5 -0
  38. package/errors/not-found-error.js +30 -0
  39. package/errors/not-found-error.js.map +1 -0
  40. package/errors/not-implemented-error.d.ts +5 -0
  41. package/errors/not-implemented-error.js +30 -0
  42. package/errors/not-implemented-error.js.map +1 -0
  43. package/errors/unauthorized-error.d.ts +5 -0
  44. package/errors/unauthorized-error.js +30 -0
  45. package/errors/unauthorized-error.js.map +1 -0
  46. package/guid/index.d.ts +1 -0
  47. package/guid/index.js +6 -0
  48. package/guid/index.js.map +1 -0
  49. package/index.d.ts +18 -0
  50. package/index.js +33 -0
  51. package/index.js.map +1 -0
  52. package/logger.d.ts +26 -0
  53. package/logger.js +74 -0
  54. package/logger.js.map +1 -0
  55. package/maintenance-model.d.ts +5 -0
  56. package/maintenance-model.js +49 -0
  57. package/maintenance-model.js.map +1 -0
  58. package/model.d.ts +7 -0
  59. package/model.js +34 -0
  60. package/model.js.map +1 -0
  61. package/my-devkit-core-1.0.18.tgz +0 -0
  62. package/package.json +47 -0
  63. package/release-model.d.ts +5 -0
  64. package/release-model.js +49 -0
  65. package/release-model.js.map +1 -0
  66. package/retry.d.ts +16 -0
  67. package/retry.js +96 -0
  68. package/retry.js.map +1 -0
  69. package/serialize/deserialize.d.ts +1 -0
  70. package/serialize/deserialize.js +14 -0
  71. package/serialize/deserialize.js.map +1 -0
  72. package/serialize/index.d.ts +4 -0
  73. package/serialize/index.js +20 -0
  74. package/serialize/index.js.map +1 -0
  75. package/serialize/serializable.d.ts +8 -0
  76. package/serialize/serializable.js +29 -0
  77. package/serialize/serializable.js.map +1 -0
  78. package/serialize/serialize.d.ts +2 -0
  79. package/serialize/serialize.js +9 -0
  80. package/serialize/serialize.js.map +1 -0
  81. package/sleep.d.ts +5 -0
  82. package/sleep.js +52 -0
  83. package/sleep.js.map +1 -0
  84. package/validators/custom-validators/camel-case.d.ts +2 -0
  85. package/validators/custom-validators/camel-case.js +22 -0
  86. package/validators/custom-validators/camel-case.js.map +1 -0
  87. package/validators/custom-validators/equals-to.d.ts +2 -0
  88. package/validators/custom-validators/equals-to.js +24 -0
  89. package/validators/custom-validators/equals-to.js.map +1 -0
  90. package/validators/custom-validators/greater-or-equal-than.d.ts +2 -0
  91. package/validators/custom-validators/greater-or-equal-than.js +27 -0
  92. package/validators/custom-validators/greater-or-equal-than.js.map +1 -0
  93. package/validators/custom-validators/greater-than-date.d.ts +2 -0
  94. package/validators/custom-validators/greater-than-date.js +32 -0
  95. package/validators/custom-validators/greater-than-date.js.map +1 -0
  96. package/validators/custom-validators/index.d.ts +7 -0
  97. package/validators/custom-validators/index.js +20 -0
  98. package/validators/custom-validators/index.js.map +1 -0
  99. package/validators/custom-validators/is-not-in-relative-to.d.ts +2 -0
  100. package/validators/custom-validators/is-not-in-relative-to.js +29 -0
  101. package/validators/custom-validators/is-not-in-relative-to.js.map +1 -0
  102. package/validators/custom-validators/is-optional-if.d.ts +2 -0
  103. package/validators/custom-validators/is-optional-if.js +24 -0
  104. package/validators/custom-validators/is-optional-if.js.map +1 -0
  105. package/validators/custom-validators/pascal-case.d.ts +2 -0
  106. package/validators/custom-validators/pascal-case.js +22 -0
  107. package/validators/custom-validators/pascal-case.js.map +1 -0
  108. package/validators/index.d.ts +3 -0
  109. package/validators/index.js +89 -0
  110. package/validators/index.js.map +1 -0
  111. package/validators/validate.d.ts +2 -0
  112. package/validators/validate.js +134 -0
  113. package/validators/validate.js.map +1 -0
  114. package/validators/validation-error.d.ts +9 -0
  115. package/validators/validation-error.js +29 -0
  116. package/validators/validation-error.js.map +1 -0
  117. package/vendors/index.d.ts +1 -0
  118. package/vendors/index.js +14 -0
  119. package/vendors/index.js.map +1 -0
  120. package/vendors/lodash.d.ts +26 -0
  121. package/vendors/lodash.js +21 -0
  122. package/vendors/lodash.js.map +1 -0
package/sleep.js ADDED
@@ -0,0 +1,52 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ var __generator = (this && this.__generator) || function (thisArg, body) {
12
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
13
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
14
+ function verb(n) { return function (v) { return step([n, v]); }; }
15
+ function step(op) {
16
+ if (f) throw new TypeError("Generator is already executing.");
17
+ while (_) try {
18
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
19
+ if (y = 0, t) op = [op[0] & 2, t.value];
20
+ switch (op[0]) {
21
+ case 0: case 1: t = op; break;
22
+ case 4: _.label++; return { value: op[1], done: false };
23
+ case 5: _.label++; y = op[1]; op = [0]; continue;
24
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
25
+ default:
26
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
27
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
28
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
29
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
30
+ if (t[2]) _.ops.pop();
31
+ _.trys.pop(); continue;
32
+ }
33
+ op = body.call(thisArg, _);
34
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
35
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
36
+ }
37
+ };
38
+ Object.defineProperty(exports, "__esModule", { value: true });
39
+ exports.sleep = void 0;
40
+ var logger_1 = require("./logger");
41
+ /**
42
+ * Wait specified miliseconds
43
+ * @param miliseconds
44
+ */
45
+ var sleep = function (miliseconds) { return __awaiter(void 0, void 0, void 0, function () {
46
+ return __generator(this, function (_a) {
47
+ logger_1.Logger.info("Sleeping " + miliseconds + " ms");
48
+ return [2 /*return*/, new Promise(function (resolve) { return setTimeout(function () { return resolve(); }, miliseconds); })];
49
+ });
50
+ }); };
51
+ exports.sleep = sleep;
52
+ //# sourceMappingURL=sleep.js.map
package/sleep.js.map ADDED
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sleep.js","sourceRoot":"","sources":["../src/sleep.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,mCAAkC;AAElC;;;GAGG;AACI,IAAM,KAAK,GAAG,UAAO,WAAmB;;QAC3C,eAAM,CAAC,IAAI,CAAC,cAAY,WAAW,QAAK,CAAC,CAAC;QAC1C,sBAAO,IAAI,OAAO,CAAO,UAAA,OAAO,IAAI,OAAA,UAAU,CAAC,cAAM,OAAA,OAAO,EAAE,EAAT,CAAS,EAAE,WAAW,CAAC,EAAxC,CAAwC,CAAC,EAAC;;KACjF,CAAA;AAHY,QAAA,KAAK,SAGjB"}
@@ -0,0 +1,2 @@
1
+ import { ValidationOptions } from 'class-validator';
2
+ export declare function CamelCase(validationOptions?: ValidationOptions): (object: Record<string, any>, propertyName: string) => void;
@@ -0,0 +1,22 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.CamelCase = void 0;
4
+ var class_validator_1 = require("class-validator");
5
+ function CamelCase(validationOptions) {
6
+ return function (object, propertyName) {
7
+ class_validator_1.registerDecorator({
8
+ name: 'camelCase',
9
+ target: object.constructor,
10
+ propertyName: propertyName,
11
+ constraints: [{ name: 'camelCase' }],
12
+ options: validationOptions,
13
+ validator: {
14
+ validate: function (value) {
15
+ return /^[a-z]+((\d)|([A-Z0-9]{1,3}[a-z0-9]+))*([A-Z])?$/.test(value);
16
+ }
17
+ }
18
+ });
19
+ };
20
+ }
21
+ exports.CamelCase = CamelCase;
22
+ //# sourceMappingURL=camel-case.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"camel-case.js","sourceRoot":"","sources":["../../../src/validators/custom-validators/camel-case.ts"],"names":[],"mappings":";;;AAAA,mDAAuE;AAEvE,SAAgB,SAAS,CAAC,iBAAqC;IAC3D,OAAO,UAAU,MAA2B,EAAE,YAAoB;QAC9D,mCAAiB,CAAC;YACd,IAAI,EAAE,WAAW;YACjB,MAAM,EAAE,MAAM,CAAC,WAAW;YAC1B,YAAY,EAAE,YAAY;YAC1B,WAAW,EAAE,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,CAAC;YACpC,OAAO,EAAE,iBAAiB;YAC1B,SAAS,EAAE;gBACP,QAAQ,EAAR,UAAS,KAAU;oBACf,OAAO,kDAAkD,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBAC1E,CAAC;aACJ;SACJ,CAAC,CAAC;IACP,CAAC,CAAC;AACN,CAAC;AAfD,8BAeC"}
@@ -0,0 +1,2 @@
1
+ import { ValidationOptions } from 'class-validator';
2
+ export declare function EqualsTo(property: string, validationOptions?: ValidationOptions): (object: Record<string, any>, propertyName: string) => void;
@@ -0,0 +1,24 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.EqualsTo = void 0;
4
+ var class_validator_1 = require("class-validator");
5
+ function EqualsTo(property, validationOptions) {
6
+ return function (object, propertyName) {
7
+ class_validator_1.registerDecorator({
8
+ name: 'equalsTo',
9
+ target: object.constructor,
10
+ propertyName: propertyName,
11
+ constraints: [{ name: 'equalsTo', property: property }],
12
+ options: validationOptions,
13
+ validator: {
14
+ validate: function (value, args) {
15
+ var relatedPropertyName = args.constraints[0].property;
16
+ var relatedValue = args.object[relatedPropertyName];
17
+ return value === relatedValue;
18
+ }
19
+ }
20
+ });
21
+ };
22
+ }
23
+ exports.EqualsTo = EqualsTo;
24
+ //# sourceMappingURL=equals-to.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"equals-to.js","sourceRoot":"","sources":["../../../src/validators/custom-validators/equals-to.ts"],"names":[],"mappings":";;;AAAA,mDAA4F;AAE5F,SAAgB,QAAQ,CAAC,QAAgB,EAAE,iBAAqC;IAC5E,OAAO,UAAU,MAA2B,EAAE,YAAoB;QAC9D,mCAAiB,CAAC;YACd,IAAI,EAAE,UAAU;YAChB,MAAM,EAAE,MAAM,CAAC,WAAW;YAC1B,YAAY,EAAE,YAAY;YAC1B,WAAW,EAAE,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,QAAQ,UAAA,EAAE,CAAC;YAC7C,OAAO,EAAE,iBAAiB;YAC1B,SAAS,EAAE;gBACP,QAAQ,EAAR,UAAS,KAAU,EAAE,IAAyB;oBAC1C,IAAM,mBAAmB,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;oBACzD,IAAM,YAAY,GAAI,IAAI,CAAC,MAAc,CAAC,mBAAmB,CAAC,CAAC;oBAC/D,OAAO,KAAK,KAAK,YAAY,CAAC;gBAClC,CAAC;aACJ;SACJ,CAAC,CAAC;IACP,CAAC,CAAC;AACN,CAAC;AAjBD,4BAiBC"}
@@ -0,0 +1,2 @@
1
+ import { ValidationOptions } from 'class-validator';
2
+ export declare function GreaterOrEqualThan(property: string, validationOptions?: ValidationOptions): (object: Record<string, any>, propertyName: string) => void;
@@ -0,0 +1,27 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.GreaterOrEqualThan = void 0;
4
+ var class_validator_1 = require("class-validator");
5
+ function GreaterOrEqualThan(property, validationOptions) {
6
+ return function (object, propertyName) {
7
+ class_validator_1.registerDecorator({
8
+ name: 'greaterOrEqualThan',
9
+ target: object.constructor,
10
+ propertyName: propertyName,
11
+ constraints: [{ name: 'greaterOrEqualThan', property: property }],
12
+ options: validationOptions,
13
+ validator: {
14
+ validate: function (value, args) {
15
+ var relatedPropertyName = args.constraints[0].property;
16
+ var relatedValue = args.object[relatedPropertyName];
17
+ if (typeof value === 'number' && typeof relatedValue === 'number') {
18
+ return value >= relatedValue;
19
+ }
20
+ return false;
21
+ }
22
+ }
23
+ });
24
+ };
25
+ }
26
+ exports.GreaterOrEqualThan = GreaterOrEqualThan;
27
+ //# sourceMappingURL=greater-or-equal-than.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"greater-or-equal-than.js","sourceRoot":"","sources":["../../../src/validators/custom-validators/greater-or-equal-than.ts"],"names":[],"mappings":";;;AAAA,mDAA4F;AAE5F,SAAgB,kBAAkB,CAAC,QAAgB,EAAE,iBAAqC;IACtF,OAAO,UAAU,MAA2B,EAAE,YAAoB;QAC9D,mCAAiB,CAAC;YACd,IAAI,EAAE,oBAAoB;YAC1B,MAAM,EAAE,MAAM,CAAC,WAAW;YAC1B,YAAY,EAAE,YAAY;YAC1B,WAAW,EAAE,CAAC,EAAE,IAAI,EAAE,oBAAoB,EAAE,QAAQ,UAAA,EAAE,CAAC;YACvD,OAAO,EAAE,iBAAiB;YAC1B,SAAS,EAAE;gBACP,QAAQ,EAAR,UAAS,KAAU,EAAE,IAAyB;oBAC1C,IAAM,mBAAmB,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;oBACzD,IAAM,YAAY,GAAI,IAAI,CAAC,MAAc,CAAC,mBAAmB,CAAC,CAAC;oBAC/D,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,OAAO,YAAY,KAAK,QAAQ,EAAE;wBAC/D,OAAO,KAAK,IAAI,YAAY,CAAC;qBAChC;oBACD,OAAO,KAAK,CAAC;gBACjB,CAAC;aACJ;SACJ,CAAC,CAAC;IACP,CAAC,CAAC;AACN,CAAC;AApBD,gDAoBC"}
@@ -0,0 +1,2 @@
1
+ import { ValidationOptions } from 'class-validator';
2
+ export declare function GreaterThanDate(property: string, milliSecondsOffset?: number, validationOptions?: ValidationOptions): (object: Record<string, any>, propertyName: string) => void;
@@ -0,0 +1,32 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.GreaterThanDate = void 0;
4
+ var class_validator_1 = require("class-validator");
5
+ function GreaterThanDate(property, milliSecondsOffset, validationOptions) {
6
+ return function (object, propertyName) {
7
+ class_validator_1.registerDecorator({
8
+ name: 'greaterThanDate',
9
+ target: object.constructor,
10
+ propertyName: propertyName,
11
+ constraints: [{ name: 'greaterThanDate', property: property }],
12
+ options: validationOptions,
13
+ validator: {
14
+ validate: function (value, args) {
15
+ var relatedPropertyName = args.constraints[0].property;
16
+ var relatedValue = args.object[relatedPropertyName];
17
+ if (value instanceof Date && relatedValue instanceof Date) {
18
+ if (milliSecondsOffset) {
19
+ var date = new Date();
20
+ date.setTime(relatedValue.getTime() + milliSecondsOffset);
21
+ relatedValue = date;
22
+ }
23
+ return value > relatedValue;
24
+ }
25
+ return false;
26
+ }
27
+ }
28
+ });
29
+ };
30
+ }
31
+ exports.GreaterThanDate = GreaterThanDate;
32
+ //# sourceMappingURL=greater-than-date.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"greater-than-date.js","sourceRoot":"","sources":["../../../src/validators/custom-validators/greater-than-date.ts"],"names":[],"mappings":";;;AAAA,mDAA4F;AAE5F,SAAgB,eAAe,CAAC,QAAgB,EAAE,kBAA2B,EAAE,iBAAqC;IAChH,OAAO,UAAU,MAA2B,EAAE,YAAoB;QAC9D,mCAAiB,CAAC;YACd,IAAI,EAAE,iBAAiB;YACvB,MAAM,EAAE,MAAM,CAAC,WAAW;YAC1B,YAAY,EAAE,YAAY;YAC1B,WAAW,EAAE,CAAC,EAAE,IAAI,EAAE,iBAAiB,EAAE,QAAQ,UAAA,EAAE,CAAC;YACpD,OAAO,EAAE,iBAAiB;YAC1B,SAAS,EAAE;gBACP,QAAQ,EAAR,UAAS,KAAU,EAAE,IAAyB;oBAC1C,IAAM,mBAAmB,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;oBACzD,IAAI,YAAY,GAAI,IAAI,CAAC,MAAc,CAAC,mBAAmB,CAAC,CAAC;oBAC7D,IAAI,KAAK,YAAY,IAAI,IAAI,YAAY,YAAY,IAAI,EAAE;wBACvD,IAAI,kBAAkB,EAAE;4BACpB,IAAM,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;4BACxB,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,OAAO,EAAE,GAAG,kBAAkB,CAAC,CAAC;4BAC1D,YAAY,GAAG,IAAI,CAAC;yBACvB;wBACD,OAAO,KAAK,GAAG,YAAY,CAAC;qBAC/B;oBACD,OAAO,KAAK,CAAC;gBACjB,CAAC;aACJ;SACJ,CAAC,CAAC;IACP,CAAC,CAAC;AACN,CAAC;AAzBD,0CAyBC"}
@@ -0,0 +1,7 @@
1
+ export * from './camel-case';
2
+ export * from './equals-to';
3
+ export * from './greater-or-equal-than';
4
+ export * from './greater-than-date';
5
+ export * from './is-not-in-relative-to';
6
+ export * from './is-optional-if';
7
+ export * from './pascal-case';
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
5
+ }) : (function(o, m, k, k2) {
6
+ if (k2 === undefined) k2 = k;
7
+ o[k2] = m[k];
8
+ }));
9
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
10
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
11
+ };
12
+ Object.defineProperty(exports, "__esModule", { value: true });
13
+ __exportStar(require("./camel-case"), exports);
14
+ __exportStar(require("./equals-to"), exports);
15
+ __exportStar(require("./greater-or-equal-than"), exports);
16
+ __exportStar(require("./greater-than-date"), exports);
17
+ __exportStar(require("./is-not-in-relative-to"), exports);
18
+ __exportStar(require("./is-optional-if"), exports);
19
+ __exportStar(require("./pascal-case"), exports);
20
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/validators/custom-validators/index.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,+CAA6B;AAC7B,8CAA4B;AAC5B,0DAAwC;AACxC,sDAAoC;AACpC,0DAAwC;AACxC,mDAAiC;AACjC,gDAA8B"}
@@ -0,0 +1,2 @@
1
+ import { ValidationOptions } from 'class-validator';
2
+ export declare function IsNotInRelativeTo<T, S>(excludedValuesCallback: (object: T) => S[], validationOptions?: ValidationOptions): (object: Record<string, any>, propertyName: string) => void;
@@ -0,0 +1,29 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.IsNotInRelativeTo = void 0;
4
+ var class_validator_1 = require("class-validator");
5
+ var globalValidator = new class_validator_1.Validator();
6
+ function IsNotInRelativeTo(excludedValuesCallback, validationOptions) {
7
+ return function (object, propertyName) {
8
+ class_validator_1.registerDecorator({
9
+ name: 'isNotInRelativeTo',
10
+ target: object.constructor,
11
+ propertyName: propertyName,
12
+ constraints: [{ name: 'isNotInRelativeTo', relativeValueCallback: excludedValuesCallback }],
13
+ options: validationOptions,
14
+ validator: {
15
+ validate: function (value, args) {
16
+ var excludedValues = args.constraints[0].relativeValueCallback(args.object);
17
+ if (Array.isArray(value) && validationOptions && validationOptions.each) {
18
+ return value.every(function (v) { return globalValidator.isNotIn(v, excludedValues); });
19
+ }
20
+ else {
21
+ return globalValidator.isNotIn(value, excludedValues);
22
+ }
23
+ }
24
+ }
25
+ });
26
+ };
27
+ }
28
+ exports.IsNotInRelativeTo = IsNotInRelativeTo;
29
+ //# sourceMappingURL=is-not-in-relative-to.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"is-not-in-relative-to.js","sourceRoot":"","sources":["../../../src/validators/custom-validators/is-not-in-relative-to.ts"],"names":[],"mappings":";;;AAAA,mDAAuG;AAEvG,IAAM,eAAe,GAAG,IAAI,2BAAS,EAAE,CAAC;AAExC,SAAgB,iBAAiB,CAAO,sBAA0C,EAAE,iBAAqC;IACrH,OAAO,UAAU,MAA2B,EAAE,YAAoB;QAC9D,mCAAiB,CAAC;YACd,IAAI,EAAE,mBAAmB;YACzB,MAAM,EAAE,MAAM,CAAC,WAAW;YAC1B,YAAY,EAAE,YAAY;YAC1B,WAAW,EAAE,CAAC,EAAE,IAAI,EAAE,mBAAmB,EAAE,qBAAqB,EAAE,sBAAsB,EAAE,CAAC;YAC3F,OAAO,EAAE,iBAAiB;YAC1B,SAAS,EAAE;gBACP,QAAQ,EAAR,UAAS,KAAU,EAAE,IAAyB;oBAC1C,IAAM,cAAc,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,qBAAqB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;oBAC9E,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,iBAAiB,IAAI,iBAAiB,CAAC,IAAI,EAAE;wBACrE,OAAO,KAAK,CAAC,KAAK,CAAC,UAAA,CAAC,IAAI,OAAA,eAAe,CAAC,OAAO,CAAC,CAAC,EAAE,cAAc,CAAC,EAA1C,CAA0C,CAAC,CAAC;qBACvE;yBAAM;wBACH,OAAO,eAAe,CAAC,OAAO,CAAC,KAAK,EAAE,cAAc,CAAC,CAAC;qBACzD;gBACL,CAAC;aACJ;SACJ,CAAC,CAAC;IACP,CAAC,CAAC;AACN,CAAC;AApBD,8CAoBC"}
@@ -0,0 +1,2 @@
1
+ import { ValidationOptions } from 'class-validator';
2
+ export declare function IsOptionalIf(condition: (object: any, value: any) => boolean, validationOptions?: ValidationOptions): (object: Record<string, any>, propertyName: string) => void;
@@ -0,0 +1,24 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.IsOptionalIf = void 0;
4
+ var class_validator_1 = require("class-validator");
5
+ var ValidationMetadata_1 = require("class-validator/metadata/ValidationMetadata");
6
+ function IsOptionalIf(condition, validationOptions) {
7
+ return function (object, propertyName) {
8
+ var args = {
9
+ type: class_validator_1.ValidationTypes.CONDITIONAL_VALIDATION,
10
+ target: object.constructor,
11
+ propertyName: propertyName,
12
+ constraints: [function (cobject, value) {
13
+ if (condition(cobject, value)) {
14
+ return cobject[propertyName] !== '' && cobject[propertyName] !== null && cobject[propertyName] !== undefined;
15
+ }
16
+ return true;
17
+ }],
18
+ validationOptions: validationOptions
19
+ };
20
+ class_validator_1.getFromContainer(class_validator_1.MetadataStorage).addValidationMetadata(new ValidationMetadata_1.ValidationMetadata(args));
21
+ };
22
+ }
23
+ exports.IsOptionalIf = IsOptionalIf;
24
+ //# sourceMappingURL=is-optional-if.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"is-optional-if.js","sourceRoot":"","sources":["../../../src/validators/custom-validators/is-optional-if.ts"],"names":[],"mappings":";;;AAAA,mDAAwG;AACxG,kFAAiF;AAGjF,SAAgB,YAAY,CAAC,SAA+C,EAAE,iBAAqC;IAC/G,OAAO,UAAU,MAA2B,EAAE,YAAoB;QAC9D,IAAM,IAAI,GAA2B;YACjC,IAAI,EAAE,iCAAe,CAAC,sBAAsB;YAC5C,MAAM,EAAE,MAAM,CAAC,WAAW;YAC1B,YAAY,EAAE,YAAY;YAC1B,WAAW,EAAE,CAAC,UAAC,OAAY,EAAE,KAAU;oBACnC,IAAI,SAAS,CAAC,OAAO,EAAE,KAAK,CAAC,EAAE;wBAC3B,OAAO,OAAO,CAAC,YAAY,CAAC,KAAK,EAAE,IAAI,OAAO,CAAC,YAAY,CAAC,KAAK,IAAI,IAAI,OAAO,CAAC,YAAY,CAAC,KAAK,SAAS,CAAC;qBAChH;oBACD,OAAO,IAAI,CAAC;gBAChB,CAAC,CAAC;YACF,iBAAiB,EAAE,iBAAiB;SACvC,CAAC;QACF,kCAAgB,CAAC,iCAAe,CAAC,CAAC,qBAAqB,CAAC,IAAI,uCAAkB,CAAC,IAAI,CAAC,CAAC,CAAC;IAC1F,CAAC,CAAC;AACN,CAAC;AAhBD,oCAgBC"}
@@ -0,0 +1,2 @@
1
+ import { ValidationOptions } from 'class-validator';
2
+ export declare function PascalCase(validationOptions?: ValidationOptions): (object: Record<string, any>, propertyName: string) => void;
@@ -0,0 +1,22 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.PascalCase = void 0;
4
+ var class_validator_1 = require("class-validator");
5
+ function PascalCase(validationOptions) {
6
+ return function (object, propertyName) {
7
+ class_validator_1.registerDecorator({
8
+ name: 'pascalCase',
9
+ target: object.constructor,
10
+ propertyName: propertyName,
11
+ constraints: [{ name: 'pascalCase' }],
12
+ options: validationOptions,
13
+ validator: {
14
+ validate: function (value) {
15
+ return /^([A-Z]{1,3}[a-z0-9]*)+$/.test(value);
16
+ }
17
+ }
18
+ });
19
+ };
20
+ }
21
+ exports.PascalCase = PascalCase;
22
+ //# sourceMappingURL=pascal-case.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pascal-case.js","sourceRoot":"","sources":["../../../src/validators/custom-validators/pascal-case.ts"],"names":[],"mappings":";;;AAAA,mDAAuE;AAEvE,SAAgB,UAAU,CAAC,iBAAqC;IAC5D,OAAO,UAAU,MAA2B,EAAE,YAAoB;QAC9D,mCAAiB,CAAC;YACd,IAAI,EAAE,YAAY;YAClB,MAAM,EAAE,MAAM,CAAC,WAAW;YAC1B,YAAY,EAAE,YAAY;YAC1B,WAAW,EAAE,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC;YACrC,OAAO,EAAE,iBAAiB;YAC1B,SAAS,EAAE;gBACP,QAAQ,EAAR,UAAS,KAAU;oBACf,OAAO,0BAA0B,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBAClD,CAAC;aACJ;SACJ,CAAC,CAAC;IACP,CAAC,CAAC;AACN,CAAC;AAfD,gCAeC"}
@@ -0,0 +1,3 @@
1
+ export * from './custom-validators';
2
+ export { IsOptional, IsDefined, Equals, NotEquals, IsEmpty, IsNotEmpty, IsIn, IsNotIn, IsArray, IsBoolean, IsDate, IsString, IsNumber, IsInt, IsEnum, IsDivisibleBy, IsPositive, IsNegative, Max, Min, MinDate, MaxDate, IsBooleanString, IsNumberString, Contains, NotContains, IsAlpha, IsAlphanumeric, IsAscii, IsBase64, IsByteLength, IsCreditCard, IsCurrency, IsEmail, IsFQDN, IsFullWidth, IsHalfWidth, IsVariableWidth, IsHexColor, IsHexadecimal, IsIP, IsISBN, IsISIN, IsISO8601, IsJSON, IsLowercase, IsMobilePhone, IsMongoId, IsMultibyte, IsSurrogatePair, IsUrl, IsUUID, IsUppercase, Length, MinLength, MaxLength, Matches, IsMilitaryTime, ArrayContains, ArrayNotContains, ArrayNotEmpty, ArrayMinSize, ArrayMaxSize, ArrayUnique } from 'class-validator';
3
+ export { validate } from './validate';
@@ -0,0 +1,89 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
5
+ }) : (function(o, m, k, k2) {
6
+ if (k2 === undefined) k2 = k;
7
+ o[k2] = m[k];
8
+ }));
9
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
10
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
11
+ };
12
+ Object.defineProperty(exports, "__esModule", { value: true });
13
+ exports.IsSurrogatePair = exports.IsMultibyte = exports.IsMongoId = exports.IsMobilePhone = exports.IsLowercase = exports.IsJSON = exports.IsISO8601 = exports.IsISIN = exports.IsISBN = exports.IsIP = exports.IsHexadecimal = exports.IsHexColor = exports.IsVariableWidth = exports.IsHalfWidth = exports.IsFullWidth = exports.IsFQDN = exports.IsEmail = exports.IsCurrency = exports.IsCreditCard = exports.IsByteLength = exports.IsBase64 = exports.IsAscii = exports.IsAlphanumeric = exports.IsAlpha = exports.NotContains = exports.Contains = exports.IsNumberString = exports.IsBooleanString = exports.MaxDate = exports.MinDate = exports.Min = exports.Max = exports.IsNegative = exports.IsPositive = exports.IsDivisibleBy = exports.IsEnum = exports.IsInt = exports.IsNumber = exports.IsString = exports.IsDate = exports.IsBoolean = exports.IsArray = exports.IsNotIn = exports.IsIn = exports.IsNotEmpty = exports.IsEmpty = exports.NotEquals = exports.Equals = exports.IsDefined = exports.IsOptional = void 0;
14
+ exports.validate = exports.ArrayUnique = exports.ArrayMaxSize = exports.ArrayMinSize = exports.ArrayNotEmpty = exports.ArrayNotContains = exports.ArrayContains = exports.IsMilitaryTime = exports.Matches = exports.MaxLength = exports.MinLength = exports.Length = exports.IsUppercase = exports.IsUUID = exports.IsUrl = void 0;
15
+ __exportStar(require("./custom-validators"), exports);
16
+ var class_validator_1 = require("class-validator");
17
+ Object.defineProperty(exports, "IsOptional", { enumerable: true, get: function () { return class_validator_1.IsOptional; } });
18
+ Object.defineProperty(exports, "IsDefined", { enumerable: true, get: function () { return class_validator_1.IsDefined; } });
19
+ Object.defineProperty(exports, "Equals", { enumerable: true, get: function () { return class_validator_1.Equals; } });
20
+ Object.defineProperty(exports, "NotEquals", { enumerable: true, get: function () { return class_validator_1.NotEquals; } });
21
+ Object.defineProperty(exports, "IsEmpty", { enumerable: true, get: function () { return class_validator_1.IsEmpty; } });
22
+ Object.defineProperty(exports, "IsNotEmpty", { enumerable: true, get: function () { return class_validator_1.IsNotEmpty; } });
23
+ Object.defineProperty(exports, "IsIn", { enumerable: true, get: function () { return class_validator_1.IsIn; } });
24
+ Object.defineProperty(exports, "IsNotIn", { enumerable: true, get: function () { return class_validator_1.IsNotIn; } });
25
+ // type validation methods
26
+ Object.defineProperty(exports, "IsArray", { enumerable: true, get: function () { return class_validator_1.IsArray; } });
27
+ Object.defineProperty(exports, "IsBoolean", { enumerable: true, get: function () { return class_validator_1.IsBoolean; } });
28
+ Object.defineProperty(exports, "IsDate", { enumerable: true, get: function () { return class_validator_1.IsDate; } });
29
+ Object.defineProperty(exports, "IsString", { enumerable: true, get: function () { return class_validator_1.IsString; } });
30
+ Object.defineProperty(exports, "IsNumber", { enumerable: true, get: function () { return class_validator_1.IsNumber; } });
31
+ Object.defineProperty(exports, "IsInt", { enumerable: true, get: function () { return class_validator_1.IsInt; } });
32
+ Object.defineProperty(exports, "IsEnum", { enumerable: true, get: function () { return class_validator_1.IsEnum; } });
33
+ // number validation methods
34
+ Object.defineProperty(exports, "IsDivisibleBy", { enumerable: true, get: function () { return class_validator_1.IsDivisibleBy; } });
35
+ Object.defineProperty(exports, "IsPositive", { enumerable: true, get: function () { return class_validator_1.IsPositive; } });
36
+ Object.defineProperty(exports, "IsNegative", { enumerable: true, get: function () { return class_validator_1.IsNegative; } });
37
+ Object.defineProperty(exports, "Max", { enumerable: true, get: function () { return class_validator_1.Max; } });
38
+ Object.defineProperty(exports, "Min", { enumerable: true, get: function () { return class_validator_1.Min; } });
39
+ // date validation methods
40
+ Object.defineProperty(exports, "MinDate", { enumerable: true, get: function () { return class_validator_1.MinDate; } });
41
+ Object.defineProperty(exports, "MaxDate", { enumerable: true, get: function () { return class_validator_1.MaxDate; } });
42
+ // string-type validation methods
43
+ Object.defineProperty(exports, "IsBooleanString", { enumerable: true, get: function () { return class_validator_1.IsBooleanString; } });
44
+ Object.defineProperty(exports, "IsNumberString", { enumerable: true, get: function () { return class_validator_1.IsNumberString; } });
45
+ // string validation methods
46
+ Object.defineProperty(exports, "Contains", { enumerable: true, get: function () { return class_validator_1.Contains; } });
47
+ Object.defineProperty(exports, "NotContains", { enumerable: true, get: function () { return class_validator_1.NotContains; } });
48
+ Object.defineProperty(exports, "IsAlpha", { enumerable: true, get: function () { return class_validator_1.IsAlpha; } });
49
+ Object.defineProperty(exports, "IsAlphanumeric", { enumerable: true, get: function () { return class_validator_1.IsAlphanumeric; } });
50
+ Object.defineProperty(exports, "IsAscii", { enumerable: true, get: function () { return class_validator_1.IsAscii; } });
51
+ Object.defineProperty(exports, "IsBase64", { enumerable: true, get: function () { return class_validator_1.IsBase64; } });
52
+ Object.defineProperty(exports, "IsByteLength", { enumerable: true, get: function () { return class_validator_1.IsByteLength; } });
53
+ Object.defineProperty(exports, "IsCreditCard", { enumerable: true, get: function () { return class_validator_1.IsCreditCard; } });
54
+ Object.defineProperty(exports, "IsCurrency", { enumerable: true, get: function () { return class_validator_1.IsCurrency; } });
55
+ Object.defineProperty(exports, "IsEmail", { enumerable: true, get: function () { return class_validator_1.IsEmail; } });
56
+ Object.defineProperty(exports, "IsFQDN", { enumerable: true, get: function () { return class_validator_1.IsFQDN; } });
57
+ Object.defineProperty(exports, "IsFullWidth", { enumerable: true, get: function () { return class_validator_1.IsFullWidth; } });
58
+ Object.defineProperty(exports, "IsHalfWidth", { enumerable: true, get: function () { return class_validator_1.IsHalfWidth; } });
59
+ Object.defineProperty(exports, "IsVariableWidth", { enumerable: true, get: function () { return class_validator_1.IsVariableWidth; } });
60
+ Object.defineProperty(exports, "IsHexColor", { enumerable: true, get: function () { return class_validator_1.IsHexColor; } });
61
+ Object.defineProperty(exports, "IsHexadecimal", { enumerable: true, get: function () { return class_validator_1.IsHexadecimal; } });
62
+ Object.defineProperty(exports, "IsIP", { enumerable: true, get: function () { return class_validator_1.IsIP; } });
63
+ Object.defineProperty(exports, "IsISBN", { enumerable: true, get: function () { return class_validator_1.IsISBN; } });
64
+ Object.defineProperty(exports, "IsISIN", { enumerable: true, get: function () { return class_validator_1.IsISIN; } });
65
+ Object.defineProperty(exports, "IsISO8601", { enumerable: true, get: function () { return class_validator_1.IsISO8601; } });
66
+ Object.defineProperty(exports, "IsJSON", { enumerable: true, get: function () { return class_validator_1.IsJSON; } });
67
+ Object.defineProperty(exports, "IsLowercase", { enumerable: true, get: function () { return class_validator_1.IsLowercase; } });
68
+ Object.defineProperty(exports, "IsMobilePhone", { enumerable: true, get: function () { return class_validator_1.IsMobilePhone; } });
69
+ Object.defineProperty(exports, "IsMongoId", { enumerable: true, get: function () { return class_validator_1.IsMongoId; } });
70
+ Object.defineProperty(exports, "IsMultibyte", { enumerable: true, get: function () { return class_validator_1.IsMultibyte; } });
71
+ Object.defineProperty(exports, "IsSurrogatePair", { enumerable: true, get: function () { return class_validator_1.IsSurrogatePair; } });
72
+ Object.defineProperty(exports, "IsUrl", { enumerable: true, get: function () { return class_validator_1.IsUrl; } });
73
+ Object.defineProperty(exports, "IsUUID", { enumerable: true, get: function () { return class_validator_1.IsUUID; } });
74
+ Object.defineProperty(exports, "IsUppercase", { enumerable: true, get: function () { return class_validator_1.IsUppercase; } });
75
+ Object.defineProperty(exports, "Length", { enumerable: true, get: function () { return class_validator_1.Length; } });
76
+ Object.defineProperty(exports, "MinLength", { enumerable: true, get: function () { return class_validator_1.MinLength; } });
77
+ Object.defineProperty(exports, "MaxLength", { enumerable: true, get: function () { return class_validator_1.MaxLength; } });
78
+ Object.defineProperty(exports, "Matches", { enumerable: true, get: function () { return class_validator_1.Matches; } });
79
+ Object.defineProperty(exports, "IsMilitaryTime", { enumerable: true, get: function () { return class_validator_1.IsMilitaryTime; } });
80
+ // array validation methods
81
+ Object.defineProperty(exports, "ArrayContains", { enumerable: true, get: function () { return class_validator_1.ArrayContains; } });
82
+ Object.defineProperty(exports, "ArrayNotContains", { enumerable: true, get: function () { return class_validator_1.ArrayNotContains; } });
83
+ Object.defineProperty(exports, "ArrayNotEmpty", { enumerable: true, get: function () { return class_validator_1.ArrayNotEmpty; } });
84
+ Object.defineProperty(exports, "ArrayMinSize", { enumerable: true, get: function () { return class_validator_1.ArrayMinSize; } });
85
+ Object.defineProperty(exports, "ArrayMaxSize", { enumerable: true, get: function () { return class_validator_1.ArrayMaxSize; } });
86
+ Object.defineProperty(exports, "ArrayUnique", { enumerable: true, get: function () { return class_validator_1.ArrayUnique; } });
87
+ var validate_1 = require("./validate");
88
+ Object.defineProperty(exports, "validate", { enumerable: true, get: function () { return validate_1.validate; } });
89
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/validators/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAAA,sDAAoC;AAEpC,mDAmByB;AAlBrB,6GAAA,UAAU,OAAA;AACV,4GAAA,SAAS,OAAA;AAAE,yGAAA,MAAM,OAAA;AAAE,4GAAA,SAAS,OAAA;AAAE,0GAAA,OAAO,OAAA;AAAE,6GAAA,UAAU,OAAA;AAAE,uGAAA,IAAI,OAAA;AAAE,0GAAA,OAAO,OAAA;AAChE,0BAA0B;AAC1B,0GAAA,OAAO,OAAA;AAAE,4GAAA,SAAS,OAAA;AAAE,yGAAA,MAAM,OAAA;AAAE,2GAAA,QAAQ,OAAA;AAAE,2GAAA,QAAQ,OAAA;AAAE,wGAAA,KAAK,OAAA;AAAE,yGAAA,MAAM,OAAA;AAC7D,4BAA4B;AAC5B,gHAAA,aAAa,OAAA;AAAE,6GAAA,UAAU,OAAA;AAAE,6GAAA,UAAU,OAAA;AAAE,sGAAA,GAAG,OAAA;AAAE,sGAAA,GAAG,OAAA;AAC/C,0BAA0B;AAC1B,0GAAA,OAAO,OAAA;AAAE,0GAAA,OAAO,OAAA;AAChB,iCAAiC;AACjC,kHAAA,eAAe,OAAA;AAAE,iHAAA,cAAc,OAAA;AAC/B,4BAA4B;AAC5B,2GAAA,QAAQ,OAAA;AAAE,8GAAA,WAAW,OAAA;AAAE,0GAAA,OAAO,OAAA;AAAE,iHAAA,cAAc,OAAA;AAAE,0GAAA,OAAO,OAAA;AAAE,2GAAA,QAAQ,OAAA;AAAE,+GAAA,YAAY,OAAA;AAC/E,+GAAA,YAAY,OAAA;AAAE,6GAAA,UAAU,OAAA;AAAE,0GAAA,OAAO,OAAA;AAAE,yGAAA,MAAM,OAAA;AAAE,8GAAA,WAAW,OAAA;AAAE,8GAAA,WAAW,OAAA;AAAE,kHAAA,eAAe,OAAA;AACpF,6GAAA,UAAU,OAAA;AAAE,gHAAA,aAAa,OAAA;AAAE,uGAAA,IAAI,OAAA;AAAE,yGAAA,MAAM,OAAA;AAAE,yGAAA,MAAM,OAAA;AAAE,4GAAA,SAAS,OAAA;AAAE,yGAAA,MAAM,OAAA;AAAE,8GAAA,WAAW,OAAA;AAAE,gHAAA,aAAa,OAAA;AAC9F,4GAAA,SAAS,OAAA;AAAE,8GAAA,WAAW,OAAA;AAAE,kHAAA,eAAe,OAAA;AAAE,wGAAA,KAAK,OAAA;AAAE,yGAAA,MAAM,OAAA;AAAE,8GAAA,WAAW,OAAA;AAAE,yGAAA,MAAM,OAAA;AAAE,4GAAA,SAAS,OAAA;AACtF,4GAAA,SAAS,OAAA;AAAE,0GAAA,OAAO,OAAA;AAAE,iHAAA,cAAc,OAAA;AAClC,2BAA2B;AAC3B,gHAAA,aAAa,OAAA;AAAE,mHAAA,gBAAgB,OAAA;AAAE,gHAAA,aAAa,OAAA;AAAE,+GAAA,YAAY,OAAA;AAAE,+GAAA,YAAY,OAAA;AAAE,8GAAA,WAAW,OAAA;AAG3F,uCAAsC;AAA7B,oGAAA,QAAQ,OAAA"}
@@ -0,0 +1,2 @@
1
+ import { ValidationError } from './validation-error';
2
+ export declare function validate(data: unknown): ValidationError[];
@@ -0,0 +1,134 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.validate = void 0;
4
+ var class_validator_1 = require("class-validator");
5
+ var logger_1 = require("../logger");
6
+ var validation_error_1 = require("./validation-error");
7
+ function validate(data) {
8
+ var errors = class_validator_1.validateSync(data);
9
+ return recursiveGetErrors(errors);
10
+ }
11
+ exports.validate = validate;
12
+ var validationPriorities = [
13
+ // common validation methods
14
+ 'isDefined',
15
+ 'equals',
16
+ 'notEquals',
17
+ 'isEmpty',
18
+ 'isNotEmpty',
19
+ 'isIn',
20
+ 'isNotIn',
21
+ // type validation methods
22
+ 'isArray',
23
+ 'isBoolean',
24
+ 'isDate',
25
+ 'isString',
26
+ 'isNumber',
27
+ 'isInt',
28
+ 'isEnum',
29
+ // number validation methods
30
+ 'isDivisibleBy',
31
+ 'isPositive',
32
+ 'isNegative',
33
+ 'max',
34
+ 'min',
35
+ // date validation methods
36
+ 'minDate',
37
+ 'maxDate',
38
+ // string-type validation methods
39
+ 'isBooleanString',
40
+ 'isNumberString',
41
+ // string validation methods
42
+ 'contains',
43
+ 'notContains',
44
+ 'isAlpha',
45
+ 'isAlphanumeric',
46
+ 'isAscii',
47
+ 'isBase64',
48
+ 'isByteLength',
49
+ 'isCreditCard',
50
+ 'isCurrency',
51
+ 'isEmail',
52
+ 'isFQDN',
53
+ 'isFullWidth',
54
+ 'isHalfWidth',
55
+ 'isVariableWidth',
56
+ 'isHexColor',
57
+ 'isHexadecimal',
58
+ 'isIP',
59
+ 'isISBN',
60
+ 'isISIN',
61
+ 'isISO8601',
62
+ 'isJSON',
63
+ 'isLowercase',
64
+ 'isMobilePhone',
65
+ 'isMongoId',
66
+ 'isMultibyte',
67
+ 'isSurrogatePair',
68
+ 'isUrl',
69
+ 'isUUID',
70
+ 'isUppercase',
71
+ 'length',
72
+ 'minLength',
73
+ 'maxLength',
74
+ 'matches',
75
+ 'isMilitaryTime',
76
+ // array validation methods
77
+ 'arrayContains',
78
+ 'arrayNotContains',
79
+ 'arrayNotEmpty',
80
+ 'arrayMinSize',
81
+ 'arrayMaxSize',
82
+ 'arrayUnique',
83
+ // custom
84
+ 'camelCase',
85
+ 'equalsTo',
86
+ 'greaterOrEqualThan',
87
+ 'greaterThanDate',
88
+ 'isNotInRelativeTo',
89
+ 'isOptionalIf',
90
+ 'pascalCase'
91
+ ];
92
+ function getMetadatas(validationError, constraintName) {
93
+ var metadatas = class_validator_1.getFromContainer(class_validator_1.MetadataStorage);
94
+ var validationMetadatas = metadatas.validationMetadatas;
95
+ var filteredMetadatas = validationMetadatas
96
+ .filter(function (vmd) { return vmd.target === validationError.target.constructor
97
+ && vmd.propertyName === validationError.property
98
+ && (vmd.type === constraintName || (vmd.type === 'customValidation' && vmd.constraints[0] && vmd.constraints[0].name === constraintName)); });
99
+ return filteredMetadatas[0];
100
+ }
101
+ function recursiveGetErrors(validationErrors, errors, propertyName, previousValueWasArray) {
102
+ if (errors === void 0) { errors = []; }
103
+ if (propertyName === void 0) { propertyName = ''; }
104
+ if (previousValueWasArray === void 0) { previousValueWasArray = false; }
105
+ validationErrors.forEach(function (validationError) {
106
+ var actualPropertyName = propertyName;
107
+ var actualPreviousValueWasArray = previousValueWasArray;
108
+ if (validationError.children.length > 0) {
109
+ if (actualPreviousValueWasArray) {
110
+ actualPropertyName = actualPropertyName + "[" + validationError.property + "]";
111
+ }
112
+ else {
113
+ actualPropertyName =
114
+ actualPropertyName ? actualPropertyName + "." + validationError.property : validationError.property;
115
+ }
116
+ actualPreviousValueWasArray = Array.isArray(validationError.value);
117
+ validationErrors = validationError.children;
118
+ errors = recursiveGetErrors(validationErrors, errors, actualPropertyName, actualPreviousValueWasArray);
119
+ }
120
+ else {
121
+ actualPropertyName = actualPropertyName ? actualPropertyName + "." + validationError.property : validationError.property;
122
+ var constraintName = validationPriorities.find(function (cm) { return Object.keys(validationError.constraints).some(function (cs) { return cs === cm; }); });
123
+ if (!constraintName) {
124
+ logger_1.Logger.warn("validate: Constraint not found for " + actualPropertyName);
125
+ }
126
+ else {
127
+ var metadatas = getMetadatas(validationError, constraintName);
128
+ errors.push(new validation_error_1.ValidationError(actualPropertyName, validationError.value, constraintName, metadatas ? metadatas.message : null));
129
+ }
130
+ }
131
+ });
132
+ return errors;
133
+ }
134
+ //# sourceMappingURL=validate.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validate.js","sourceRoot":"","sources":["../../src/validators/validate.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ import { ValidationArguments } from 'class-validator';
2
+ export declare class ValidationError {
3
+ readonly property: string;
4
+ readonly value: string;
5
+ readonly type: string;
6
+ readonly message: string | ((args: ValidationArguments) => string);
7
+ constructor(property: string, value: string, type: string, message: string | ((args: ValidationArguments) => string));
8
+ getErrorMessage(): string;
9
+ }