@my-devkit/core 1.0.82 → 1.0.83

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 (31) hide show
  1. package/dist/command.js.map +1 -1
  2. package/dist/decorators/cacheable.decorator.d.ts +7 -0
  3. package/dist/decorators/cacheable.decorator.js +151 -15
  4. package/dist/decorators/cacheable.decorator.js.map +1 -1
  5. package/dist/event.js.map +1 -1
  6. package/dist/maintenance-model.js.map +1 -1
  7. package/dist/model.js.map +1 -1
  8. package/dist/promise-helper.d.ts +6 -0
  9. package/dist/promise-helper.js +89 -0
  10. package/dist/promise-helper.js.map +1 -0
  11. package/dist/release-model.js.map +1 -1
  12. package/dist/serialize/index.d.ts +1 -1
  13. package/dist/serialize/index.js +2 -1
  14. package/dist/serialize/index.js.map +1 -1
  15. package/dist/validators/custom-validators/camel-case.js.map +1 -1
  16. package/dist/validators/custom-validators/equals-to.js.map +1 -1
  17. package/dist/validators/custom-validators/greater-or-equal-than.js.map +1 -1
  18. package/dist/validators/custom-validators/greater-than-date.js.map +1 -1
  19. package/dist/validators/custom-validators/is-not-in-relative-to.js.map +1 -1
  20. package/dist/validators/custom-validators/is-optional-if.d.ts +1 -1
  21. package/dist/validators/custom-validators/is-optional-if.js.map +1 -1
  22. package/dist/validators/custom-validators/pascal-case.js.map +1 -1
  23. package/dist/vendors/lodash.d.ts +8 -0
  24. package/dist/vendors/lodash.js +6 -2
  25. package/dist/vendors/lodash.js.map +1 -1
  26. package/package.json +1 -1
  27. package/src/decorators/cacheable.decorator.ts +79 -10
  28. package/src/promise-helper.ts +29 -0
  29. package/src/serialize/index.ts +1 -1
  30. package/src/validators/custom-validators/is-optional-if.ts +1 -1
  31. package/src/vendors/lodash.ts +14 -1
@@ -1 +1 @@
1
- {"version":3,"file":"command.js","sourceRoot":"","sources":["../src/command.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,yCAA4D;AAE5D;IAGI,iBAAY,WAAmB;QAFC,UAAK,GAAW,IAAI,CAAC;QAGjD,IAAI,CAAC,KAAK,GAAG,WAAW,CAAC;IAC7B,CAAC;IAJwB;QAAxB,IAAA,2BAAe,EAAC,MAAM,CAAC;;0CAA6B;IAKzD,cAAC;CAAA,AAND,IAMC;AANqB,0BAAO"}
1
+ {"version":3,"file":"command.js","sourceRoot":"","sources":["../src/command.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,yCAA4D;AAE5D;IAGI,iBAAY,WAAmB;QAFC,UAAK,GAAW,IAAI,CAAC;QAGjD,IAAI,CAAC,KAAK,GAAG,WAAW,CAAC;IAC7B,CAAC;IAJD;QAAC,IAAA,2BAAe,EAAC,MAAM,CAAC;;0CAA6B;IAKzD,cAAC;CAAA,AAND,IAMC;AANqB,0BAAO"}
@@ -1 +1,8 @@
1
1
  export declare function Cacheable(): MethodDecorator;
2
+ export declare namespace Cacheable {
3
+ function getMethodCacheKey<T>(instance: T, propertyKey: keyof T): string;
4
+ function getArgsCacheKey(args: any[]): string;
5
+ function setCache<T, R>(instance: T, propertyKey: keyof T, args: any[], result: R): void;
6
+ function hasCache<T>(instance: T, propertyKey: keyof T, args: any[]): boolean;
7
+ function getCache<T, R>(instance: T, propertyKey: keyof T, args: any[]): R;
8
+ }
@@ -1,29 +1,165 @@
1
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
+ var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
39
+ if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
40
+ if (ar || !(i in from)) {
41
+ if (!ar) ar = Array.prototype.slice.call(from, 0, i);
42
+ ar[i] = from[i];
43
+ }
44
+ }
45
+ return to.concat(ar || Array.prototype.slice.call(from));
46
+ };
2
47
  Object.defineProperty(exports, "__esModule", { value: true });
3
48
  exports.Cacheable = void 0;
4
- var guid_1 = require("../guid");
5
49
  var logger_1 = require("../logger");
50
+ var promise_helper_1 = require("../promise-helper");
6
51
  function Cacheable() {
7
- var _this = this;
8
52
  return function (target, propertyKey, descriptor) {
9
53
  var originalMethod = descriptor.value;
10
- var cachePropertyName = "__cache_".concat(propertyKey.toString(), "_").concat((0, guid_1.guid)(), "__");
11
- target[cachePropertyName] = new Map();
12
- descriptor.value = function () {
13
- var args = [];
14
- for (var _i = 0; _i < arguments.length; _i++) {
15
- args[_i] = arguments[_i];
16
- }
17
- var cacheKey = JSON.stringify(args);
18
- if (!target[cachePropertyName].has(cacheKey)) {
19
- target[cachePropertyName].set(cacheKey, originalMethod.apply(_this, args));
54
+ var getCache = function (instance, args) {
55
+ return {
56
+ get: function (callback) {
57
+ if (!Cacheable.hasCache(instance, propertyKey, args)) {
58
+ Cacheable.setCache(instance, propertyKey, args, callback());
59
+ }
60
+ else {
61
+ logger_1.Logger.info.apply(logger_1.Logger, __spreadArray(["Cacheable: ".concat(target.constructor.name, ".").concat(propertyKey.toString(), " result retrieved from cache")], args, false));
62
+ }
63
+ return Cacheable.getCache(instance, propertyKey, args);
64
+ },
65
+ getAsync: function (callback) {
66
+ return __awaiter(this, void 0, void 0, function () {
67
+ var _a, _b, _c;
68
+ return __generator(this, function (_d) {
69
+ switch (_d.label) {
70
+ case 0:
71
+ if (!!Cacheable.hasCache(instance, propertyKey, args)) return [3 /*break*/, 2];
72
+ _b = (_a = Cacheable).setCache;
73
+ _c = [instance, propertyKey, args];
74
+ return [4 /*yield*/, callback()];
75
+ case 1:
76
+ _b.apply(_a, _c.concat([_d.sent()]));
77
+ return [3 /*break*/, 3];
78
+ case 2:
79
+ logger_1.Logger.info.apply(logger_1.Logger, __spreadArray(["Cacheable: ".concat(target.constructor.name, ".").concat(propertyKey.toString(), " result retrieved from cache")], args, false));
80
+ _d.label = 3;
81
+ case 3: return [2 /*return*/, promise_helper_1.PromiseHelper.fromFaster(Cacheable.getCache(instance, propertyKey, args))];
82
+ }
83
+ });
84
+ });
85
+ }
86
+ };
87
+ };
88
+ if (typeof originalMethod === 'function') {
89
+ if (originalMethod.constructor.name === 'AsyncFunction') {
90
+ descriptor.value = function () {
91
+ var args = [];
92
+ for (var _i = 0; _i < arguments.length; _i++) {
93
+ args[_i] = arguments[_i];
94
+ }
95
+ return __awaiter(this, void 0, void 0, function () {
96
+ var _this = this;
97
+ return __generator(this, function (_a) {
98
+ return [2 /*return*/, getCache(this, args).getAsync(function () { return __awaiter(_this, void 0, void 0, function () { return __generator(this, function (_a) {
99
+ switch (_a.label) {
100
+ case 0: return [4 /*yield*/, originalMethod.apply(this, args)];
101
+ case 1: return [2 /*return*/, _a.sent()];
102
+ }
103
+ }); }); })];
104
+ });
105
+ });
106
+ };
20
107
  }
21
108
  else {
22
- logger_1.Logger.info("Cacheable: ".concat(target.constructor.name, ".").concat(propertyKey.toString(), " result retrieved from cache"), { args: args });
109
+ descriptor.value = function () {
110
+ var _this = this;
111
+ var args = [];
112
+ for (var _i = 0; _i < arguments.length; _i++) {
113
+ args[_i] = arguments[_i];
114
+ }
115
+ return getCache(this, args).get(function () { return originalMethod.apply(_this, args); });
116
+ };
23
117
  }
24
- return target[cachePropertyName].get(cacheKey);
25
- };
118
+ }
119
+ return descriptor;
26
120
  };
27
121
  }
28
122
  exports.Cacheable = Cacheable;
123
+ (function (Cacheable) {
124
+ function getMethodCacheKey(instance, propertyKey) {
125
+ return "__cache_".concat(propertyKey.toString(), "__");
126
+ }
127
+ Cacheable.getMethodCacheKey = getMethodCacheKey;
128
+ function getArgsCacheKey(args) {
129
+ return JSON.stringify(Array.from(args).map(function (arg) {
130
+ if (typeof arg === 'function') {
131
+ return "function => class ".concat(arg.name);
132
+ }
133
+ return arg;
134
+ }));
135
+ }
136
+ Cacheable.getArgsCacheKey = getArgsCacheKey;
137
+ function setCache(instance, propertyKey, args, result) {
138
+ var cachePropertyName = getMethodCacheKey(instance, propertyKey);
139
+ if (!instance.hasOwnProperty(cachePropertyName)) {
140
+ instance[cachePropertyName] = new Map();
141
+ }
142
+ var cacheKey = getArgsCacheKey(args);
143
+ instance[cachePropertyName].set(cacheKey, result);
144
+ }
145
+ Cacheable.setCache = setCache;
146
+ function hasCache(instance, propertyKey, args) {
147
+ var cachePropertyName = getMethodCacheKey(instance, propertyKey);
148
+ if (!instance.hasOwnProperty(cachePropertyName)) {
149
+ return false;
150
+ }
151
+ var cacheKey = getArgsCacheKey(args);
152
+ return instance[cachePropertyName].has(cacheKey);
153
+ }
154
+ Cacheable.hasCache = hasCache;
155
+ function getCache(instance, propertyKey, args) {
156
+ var cachePropertyName = getMethodCacheKey(instance, propertyKey);
157
+ if (!hasCache(instance, propertyKey, args)) {
158
+ throw new Error("Cacheable: No cache found for ".concat(propertyKey.toString()));
159
+ }
160
+ var cacheKey = getArgsCacheKey(args);
161
+ return instance[cachePropertyName].get(cacheKey);
162
+ }
163
+ Cacheable.getCache = getCache;
164
+ })(Cacheable = exports.Cacheable || (exports.Cacheable = {}));
29
165
  //# sourceMappingURL=cacheable.decorator.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"cacheable.decorator.js","sourceRoot":"","sources":["../../src/decorators/cacheable.decorator.ts"],"names":[],"mappings":";;;AAAA,gCAA+B;AAC/B,oCAAmC;AAEnC,SAAgB,SAAS;IAAzB,iBAgBC;IAfG,OAAO,UAAC,MAAM,EAAE,WAAW,EAAE,UAAU;QACnC,IAAM,cAAc,GAAQ,UAAU,CAAC,KAAK,CAAC;QAC7C,IAAM,iBAAiB,GAAG,kBAAW,WAAW,CAAC,QAAQ,EAAE,cAAI,IAAA,WAAI,GAAE,OAAI,CAAC;QAC1E,MAAM,CAAC,iBAAiB,CAAC,GAAG,IAAI,GAAG,EAAe,CAAC;QAElD,UAAkB,CAAC,KAAK,GAAG;YAAC,cAAO;iBAAP,UAAO,EAAP,qBAAO,EAAP,IAAO;gBAAP,yBAAO;;YAChC,IAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;YACtC,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE;gBAC1C,MAAM,CAAC,iBAAiB,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,cAAc,CAAC,KAAK,CAAC,KAAI,EAAE,IAAI,CAAC,CAAC,CAAC;aAC7E;iBAAM;gBACH,eAAM,CAAC,IAAI,CAAC,qBAAc,MAAM,CAAC,WAAW,CAAC,IAAI,cAAI,WAAW,CAAC,QAAQ,EAAE,iCAA8B,EAAE,EAAE,IAAI,MAAA,EAAE,CAAC,CAAC;aACxH;YACD,OAAO,MAAM,CAAC,iBAAiB,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QACnD,CAAC,CAAC;IACN,CAAC,CAAC;AACN,CAAC;AAhBD,8BAgBC"}
1
+ {"version":3,"file":"cacheable.decorator.js","sourceRoot":"","sources":["../../src/decorators/cacheable.decorator.ts"],"names":[],"mappings":"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"}
package/dist/event.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"event.js","sourceRoot":"","sources":["../src/event.ts"],"names":[],"mappings":";;;;;;;;;;;;AACA,+BAA8B;AAC9B,yCAA8C;AAE9C;IAUI;QARgC,OAAE,GAAW,IAAI,CAAC;QAClB,UAAK,GAAW,IAAI,CAAC;QACrB,mBAAc,GAAW,IAAI,CAAC;QAC9B,mBAAc,GAAW,IAAI,CAAC;QAC9B,iBAAY,GAAW,IAAI,CAAC;QAC5B,iBAAY,GAAW,IAAI,CAAC;QAC3B,iBAAY,GAAW,IAAI,CAAC;QAGzD,IAAI,CAAC,EAAE,GAAG,IAAA,WAAI,GAAE,CAAC;QACjB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC;IACvC,CAAC;IAED,sBAAW,wBAAK;aAAhB;YACI,OAAO,kBAAW,IAAI,CAAC,EAAE,CAAE,CAAC;QAChC,CAAC;;;OAAA;IAED,sBAAW,8BAAW;aAAtB;YACI,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC;QAC3D,CAAC;aAED,UAAuB,IAAU;YAC7B,KAAK,CAAC,OAAO,EAAE,CAAC;YAChB,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,GAAG,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;QACjH,CAAC;;;OALA;IApBa,aAAO,GAAG,CAAC,CAAC;IACD;QAAxB,IAAA,2BAAe,EAAC,MAAM,CAAC;;qCAA0B;IACzB;QAAxB,IAAA,2BAAe,EAAC,MAAM,CAAC;;wCAA6B;IAC5B;QAAxB,IAAA,2BAAe,EAAC,MAAM,CAAC;;iDAAsC;IACrC;QAAxB,IAAA,2BAAe,EAAC,MAAM,CAAC;;iDAAsC;IACrC;QAAxB,IAAA,2BAAe,EAAC,MAAM,CAAC;;+CAAoC;IACnC;QAAxB,IAAA,2BAAe,EAAC,MAAM,CAAC;;+CAAoC;IACnC;QAAxB,IAAA,2BAAe,EAAC,MAAM,CAAC;;+CAAqC;IAmBjE,YAAC;CAAA,AA3BD,IA2BC;AA3BqB,sBAAK"}
1
+ {"version":3,"file":"event.js","sourceRoot":"","sources":["../src/event.ts"],"names":[],"mappings":";;;;;;;;;;;;AACA,+BAA8B;AAC9B,yCAA8C;AAE9C;IAUI;QARgC,OAAE,GAAW,IAAI,CAAC;QAClB,UAAK,GAAW,IAAI,CAAC;QACrB,mBAAc,GAAW,IAAI,CAAC;QAC9B,mBAAc,GAAW,IAAI,CAAC;QAC9B,iBAAY,GAAW,IAAI,CAAC;QAC5B,iBAAY,GAAW,IAAI,CAAC;QAC3B,iBAAY,GAAW,IAAI,CAAC;QAGzD,IAAI,CAAC,EAAE,GAAG,IAAA,WAAI,GAAE,CAAC;QACjB,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC;IACvC,CAAC;IAED,sBAAW,wBAAK;aAAhB;YACI,OAAO,kBAAW,IAAI,CAAC,EAAE,CAAE,CAAC;QAChC,CAAC;;;OAAA;IAED,sBAAW,8BAAW;aAAtB;YACI,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC;QAC3D,CAAC;aAED,UAAuB,IAAU;YAC7B,KAAK,CAAC,OAAO,EAAE,CAAC;YAChB,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,GAAG,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;QACjH,CAAC;;;OALA;IApBa,aAAO,GAAG,CAAC,CAAC;IAC1B;QAAC,IAAA,2BAAe,EAAC,MAAM,CAAC;;qCAA0B;IAClD;QAAC,IAAA,2BAAe,EAAC,MAAM,CAAC;;wCAA6B;IACrD;QAAC,IAAA,2BAAe,EAAC,MAAM,CAAC;;iDAAsC;IAC9D;QAAC,IAAA,2BAAe,EAAC,MAAM,CAAC;;iDAAsC;IAC9D;QAAC,IAAA,2BAAe,EAAC,MAAM,CAAC;;+CAAoC;IAC5D;QAAC,IAAA,2BAAe,EAAC,MAAM,CAAC;;+CAAoC;IAC5D;QAAC,IAAA,2BAAe,EAAC,MAAM,CAAC;;+CAAqC;IAmBjE,YAAC;CAAA,AA3BD,IA2BC;AA3BqB,sBAAK"}
@@ -1 +1 @@
1
- {"version":3,"file":"maintenance-model.js","sourceRoot":"","sources":["../src/maintenance-model.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,iCAAgC;AAChC,yCAAkF;AAIlF;IAAsC,oCAAK;IAGvC;QAAA,YACI,kBAAM,kBAAkB,EAAE,cAAM,OAAA,qCAAqC,EAArC,CAAqC,CAAC,SACzE;QAJgC,YAAM,GAAY,IAAI,CAAC;;IAIxD,CAAC;IAJyB;QAAzB,IAAA,2BAAe,EAAC,OAAO,CAAC;;oDAA+B;IAD/C,gBAAgB;QAF5B,wBAAY;QACZ,IAAA,gCAAoB,EAAC,aAAK,CAAC;;OACf,gBAAgB,CAM5B;IAAD,uBAAC;CAAA,AAND,CAAsC,aAAK,GAM1C;AANY,4CAAgB"}
1
+ {"version":3,"file":"maintenance-model.js","sourceRoot":"","sources":["../src/maintenance-model.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,iCAAgC;AAChC,yCAAkF;AAIlF;IAAsC,oCAAK;IAGvC;QAAA,YACI,kBAAM,kBAAkB,EAAE,cAAM,OAAA,qCAAqC,EAArC,CAAqC,CAAC,SACzE;QAJgC,YAAM,GAAY,IAAI,CAAC;;IAIxD,CAAC;IAJD;QAAC,IAAA,2BAAe,EAAC,OAAO,CAAC;;oDAA+B;IAD/C,gBAAgB;QAF5B,wBAAY;QACZ,IAAA,gCAAoB,EAAC,aAAK,CAAC;;OACf,gBAAgB,CAM5B;IAAD,uBAAC;CAAA,AARD,CAEsC,aAAK,GAM1C;AANY,4CAAgB"}
package/dist/model.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"model.js","sourceRoot":"","sources":["../src/model.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,uCAA4C;AAI5C;IAGI,eAAY,SAAiB,EAAU,YAA0B;QAA1B,iBAAY,GAAZ,YAAY,CAAc;QAFjC,UAAK,GAAW,IAAI,CAAC;QAGjD,IAAI,CAAC,KAAK,GAAG,SAAS,CAAC;IAC3B,CAAC;IAED,sBAAW,wBAAK;aAAhB;YACI,OAAO,IAAI,CAAC,YAAY,EAAE,CAAC;QAC/B,CAAC;;;OAAA;IARwB;QAAxB,IAAA,2BAAe,EAAC,MAAM,CAAC;;wCAA6B;IASzD,YAAC;CAAA,AAVD,IAUC;AAVqB,sBAAK"}
1
+ {"version":3,"file":"model.js","sourceRoot":"","sources":["../src/model.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,uCAA4C;AAI5C;IAGI,eAAY,SAAiB,EAAU,YAA0B;QAA1B,iBAAY,GAAZ,YAAY,CAAc;QAFjC,UAAK,GAAW,IAAI,CAAC;QAGjD,IAAI,CAAC,KAAK,GAAG,SAAS,CAAC;IAC3B,CAAC;IAED,sBAAW,wBAAK;aAAhB;YACI,OAAO,IAAI,CAAC,YAAY,EAAE,CAAC;QAC/B,CAAC;;;OAAA;IARD;QAAC,IAAA,2BAAe,EAAC,MAAM,CAAC;;wCAA6B;IASzD,YAAC;CAAA,AAVD,IAUC;AAVqB,sBAAK"}
@@ -0,0 +1,6 @@
1
+ export declare class PromiseHelper {
2
+ private static counter;
3
+ static from<T>(value: T): Promise<T>;
4
+ static fromFaster<T>(value: T): Promise<T>;
5
+ static wait(seconds: number): Promise<void>;
6
+ }
@@ -0,0 +1,89 @@
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.PromiseHelper = void 0;
40
+ var PromiseHelper = /** @class */ (function () {
41
+ function PromiseHelper() {
42
+ }
43
+ // Used to avoid syncronous Promise resolution
44
+ // That way other callbacks in the application can have an opportunity to get executed
45
+ PromiseHelper.from = function (value) {
46
+ return __awaiter(this, void 0, void 0, function () {
47
+ return __generator(this, function (_a) {
48
+ return [2 /*return*/, new Promise(function (resolve) {
49
+ setTimeout(function () { return resolve(value); }, 0);
50
+ })];
51
+ });
52
+ });
53
+ };
54
+ // Same as from function
55
+ // use setTimeout every 100 execution to avoid performance issues
56
+ PromiseHelper.fromFaster = function (value) {
57
+ return __awaiter(this, void 0, void 0, function () {
58
+ return __generator(this, function (_a) {
59
+ this.counter++;
60
+ if (this.counter % 100 === 0) {
61
+ this.counter = 0;
62
+ return [2 /*return*/, new Promise(function (resolve) {
63
+ setTimeout(function () { return resolve(value); }, 0);
64
+ })];
65
+ }
66
+ else {
67
+ return [2 /*return*/, value];
68
+ }
69
+ return [2 /*return*/];
70
+ });
71
+ });
72
+ };
73
+ PromiseHelper.wait = function (seconds) {
74
+ return __awaiter(this, void 0, void 0, function () {
75
+ return __generator(this, function (_a) {
76
+ switch (_a.label) {
77
+ case 0: return [4 /*yield*/, new Promise(function (resolve) { return setTimeout(function () { return resolve(); }, seconds * 1000); })];
78
+ case 1:
79
+ _a.sent();
80
+ return [2 /*return*/];
81
+ }
82
+ });
83
+ });
84
+ };
85
+ PromiseHelper.counter = 0;
86
+ return PromiseHelper;
87
+ }());
88
+ exports.PromiseHelper = PromiseHelper;
89
+ //# sourceMappingURL=promise-helper.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"promise-helper.js","sourceRoot":"","sources":["../src/promise-helper.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;IAAA;IA4BA,CAAC;IAzBG,8CAA8C;IAC9C,sFAAsF;IAClE,kBAAI,GAAxB,UAA4B,KAAQ;;;gBAChC,sBAAO,IAAI,OAAO,CAAI,UAAA,OAAO;wBACzB,UAAU,CAAC,cAAM,OAAA,OAAO,CAAC,KAAK,CAAC,EAAd,CAAc,EAAE,CAAC,CAAC,CAAC;oBACxC,CAAC,CAAC,EAAC;;;KACN;IAED,wBAAwB;IACxB,iEAAiE;IAC7C,wBAAU,GAA9B,UAAkC,KAAQ;;;gBACtC,IAAI,CAAC,OAAO,EAAE,CAAC;gBACf,IAAI,IAAI,CAAC,OAAO,GAAG,GAAG,KAAK,CAAC,EAAE;oBAC1B,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC;oBACjB,sBAAO,IAAI,OAAO,CAAI,UAAA,OAAO;4BACzB,UAAU,CAAC,cAAM,OAAA,OAAO,CAAC,KAAK,CAAC,EAAd,CAAc,EAAE,CAAC,CAAC,CAAC;wBACxC,CAAC,CAAC,EAAC;iBACN;qBAAM;oBACH,sBAAO,KAAK,EAAC;iBAChB;;;;KACJ;IAEmB,kBAAI,GAAxB,UAAyB,OAAe;;;;4BACpC,qBAAM,IAAI,OAAO,CAAO,UAAA,OAAO,IAAI,OAAA,UAAU,CAAC,cAAM,OAAA,OAAO,EAAE,EAAT,CAAS,EAAE,OAAO,GAAG,IAAI,CAAC,EAA3C,CAA2C,CAAC,EAAA;;wBAA/E,SAA+E,CAAC;;;;;KACnF;IA1Bc,qBAAO,GAAG,CAAC,CAAC;IA2B/B,oBAAC;CAAA,AA5BD,IA4BC;AA5BY,sCAAa"}
@@ -1 +1 @@
1
- {"version":3,"file":"release-model.js","sourceRoot":"","sources":["../src/release-model.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,iCAAgC;AAChC,yCAAkF;AAIlF;IAAkC,gCAAK;IAGnC;QAAA,YACI,kBAAM,cAAc,EAAE,cAAM,OAAA,iCAAiC,EAAjC,CAAiC,CAAC,SACjE;QAJ+B,aAAO,GAAW,IAAI,CAAC;;IAIvD,CAAC;IAJwB;QAAxB,IAAA,2BAAe,EAAC,MAAM,CAAC;;iDAA+B;IAD9C,YAAY;QAFxB,wBAAY;QACZ,IAAA,gCAAoB,EAAC,aAAK,CAAC;;OACf,YAAY,CAMxB;IAAD,mBAAC;CAAA,AAND,CAAkC,aAAK,GAMtC;AANY,oCAAY"}
1
+ {"version":3,"file":"release-model.js","sourceRoot":"","sources":["../src/release-model.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,iCAAgC;AAChC,yCAAkF;AAIlF;IAAkC,gCAAK;IAGnC;QAAA,YACI,kBAAM,cAAc,EAAE,cAAM,OAAA,iCAAiC,EAAjC,CAAiC,CAAC,SACjE;QAJ+B,aAAO,GAAW,IAAI,CAAC;;IAIvD,CAAC;IAJD;QAAC,IAAA,2BAAe,EAAC,MAAM,CAAC;;iDAA+B;IAD9C,YAAY;QAFxB,wBAAY;QACZ,IAAA,gCAAoB,EAAC,aAAK,CAAC;;OACf,YAAY,CAMxB;IAAD,mBAAC;CAAA,AARD,CAEkC,aAAK,GAMtC;AANY,oCAAY"}
@@ -2,4 +2,4 @@ export * from './deserialize';
2
2
  export * from './serialize';
3
3
  export * from './serializable';
4
4
  export * from './type-helper';
5
- export { autoserializeAs, inheritSerialization } from 'cerialize';
5
+ export { autoserialize, autoserializeAs, inheritSerialization } from 'cerialize';
@@ -14,12 +14,13 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
14
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
- exports.inheritSerialization = exports.autoserializeAs = void 0;
17
+ exports.inheritSerialization = exports.autoserializeAs = exports.autoserialize = void 0;
18
18
  __exportStar(require("./deserialize"), exports);
19
19
  __exportStar(require("./serialize"), exports);
20
20
  __exportStar(require("./serializable"), exports);
21
21
  __exportStar(require("./type-helper"), exports);
22
22
  var cerialize_1 = require("cerialize");
23
+ Object.defineProperty(exports, "autoserialize", { enumerable: true, get: function () { return cerialize_1.autoserialize; } });
23
24
  Object.defineProperty(exports, "autoserializeAs", { enumerable: true, get: function () { return cerialize_1.autoserializeAs; } });
24
25
  Object.defineProperty(exports, "inheritSerialization", { enumerable: true, get: function () { return cerialize_1.inheritSerialization; } });
25
26
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/serialize/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,gDAA8B;AAC9B,8CAA4B;AAC5B,iDAA+B;AAC/B,gDAA8B;AAE9B,uCAAkE;AAAzD,4GAAA,eAAe,OAAA;AAAE,iHAAA,oBAAoB,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/serialize/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,gDAA8B;AAC9B,8CAA4B;AAC5B,iDAA+B;AAC/B,gDAA8B;AAE9B,uCAAiF;AAAxE,0GAAA,aAAa,OAAA;AAAE,4GAAA,eAAe,OAAA;AAAE,iHAAA,oBAAoB,OAAA"}
@@ -1 +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,IAAA,mCAAiB,EAAC;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"}
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,IAAA,mCAAiB,EAAC;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,YAAC,KAAU;oBACf,OAAO,kDAAkD,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBAC1E,CAAC;aACJ;SACJ,CAAC,CAAC;IACP,CAAC,CAAC;AACN,CAAC;AAfD,8BAeC"}
@@ -1 +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,IAAA,mCAAiB,EAAC;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"}
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,IAAA,mCAAiB,EAAC;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,YAAC,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"}
@@ -1 +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,IAAA,mCAAiB,EAAC;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"}
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,IAAA,mCAAiB,EAAC;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,YAAC,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"}
@@ -1 +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,IAAA,mCAAiB,EAAC;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"}
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,IAAA,mCAAiB,EAAC;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,YAAC,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"}
@@ -1 +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,IAAA,mCAAiB,EAAC;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"}
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,IAAA,mCAAiB,EAAC;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,YAAC,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"}
@@ -1,2 +1,2 @@
1
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;
2
+ export declare function IsOptionalIf<T>(condition: (object: T, value: any) => boolean, validationOptions?: ValidationOptions): (object: Record<string, any>, propertyName: string) => void;
@@ -1 +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,IAAA,kCAAgB,EAAC,iCAAe,CAAC,CAAC,qBAAqB,CAAC,IAAI,uCAAkB,CAAC,IAAI,CAAC,CAAC,CAAC;IAC1F,CAAC,CAAC;AACN,CAAC;AAhBD,oCAgBC"}
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,CAAI,SAA6C,EAAE,iBAAqC;IAChH,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,IAAA,kCAAgB,EAAC,iCAAe,CAAC,CAAC,qBAAqB,CAAC,IAAI,uCAAkB,CAAC,IAAI,CAAC,CAAC,CAAC;IAC1F,CAAC,CAAC;AACN,CAAC;AAhBD,oCAgBC"}
@@ -1 +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,IAAA,mCAAiB,EAAC;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"}
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,IAAA,mCAAiB,EAAC;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,YAAC,KAAU;oBACf,OAAO,0BAA0B,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBAClD,CAAC;aACJ;SACJ,CAAC,CAAC;IACP,CAAC,CAAC;AACN,CAAC;AAfD,gCAeC"}
@@ -1,4 +1,7 @@
1
+ import { ListIteratee } from 'lodash';
1
2
  declare type List<T> = ArrayLike<T>;
3
+ declare type ObjectIterator<TObject, TResult> = (value: TObject[keyof TObject], key: string, collection: TObject) => TResult;
4
+ declare type ObjectIteratee<TObject> = ObjectIterator<TObject, NotVoid> | IterateeShorthand<TObject[keyof TObject]>;
2
5
  interface Dictionary<T> {
3
6
  [index: string]: T;
4
7
  }
@@ -30,6 +33,8 @@ export declare const _shuffle: {
30
33
  <T extends object>(collection: T): T[keyof T][];
31
34
  };
32
35
  export declare const _groupBy: <T>(collection: List<T>, iteratee?: ValueIteratee<T>) => Dictionary<T[]>;
36
+ export declare const _sortBy: <T>(collection: List<T> | null | undefined, ...iteratees: Array<Many<ListIteratee<T>>>) => T[];
37
+ export declare const _orderBy: <T extends object>(collection: List<T>, iteratees?: Many<ObjectIteratee<T>>, orders?: Many<boolean | 'asc' | 'desc'>) => T[];
33
38
  export declare const _cloneDeep: <T>(value: T) => T;
34
39
  export declare const _maxBy: <T>(collection: List<T>, iteratee?: ValueIteratee<T>) => T;
35
40
  export declare const _minBy: <T>(collection: List<T>, iteratee?: ValueIteratee<T>) => T;
@@ -38,4 +43,7 @@ export declare const _last: <T>(array: List<T>) => T;
38
43
  export declare const _trim: (string?: string, chars?: string) => string;
39
44
  export declare const _trimStart: (string?: string, chars?: string) => string;
40
45
  export declare const _trimEnd: (string?: string, chars?: string) => string;
46
+ export declare const _isNil: <T>(value: T) => boolean;
47
+ export declare const _chunk: <T>(array: List<T> | null | undefined, size?: number) => T[][];
48
+ export declare const _padStart: (string?: string, length?: number, chars?: string) => string;
41
49
  export {};
@@ -1,7 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports._trimEnd = exports._trimStart = exports._trim = exports._last = exports._first = exports._minBy = exports._maxBy = exports._cloneDeep = exports._groupBy = exports._shuffle = exports._kebabCase = exports._deburr = exports._isEqual = exports._words = exports._sum = exports._sumBy = exports._flattenDeep = exports._flatten = exports._uniq = void 0;
4
- /* eslint-disable @typescript-eslint/ban-types */
3
+ exports._padStart = exports._chunk = exports._isNil = exports._trimEnd = exports._trimStart = exports._trim = exports._last = exports._first = exports._minBy = exports._maxBy = exports._cloneDeep = exports._orderBy = exports._sortBy = exports._groupBy = exports._shuffle = exports._kebabCase = exports._deburr = exports._isEqual = exports._words = exports._sum = exports._sumBy = exports._flattenDeep = exports._flatten = exports._uniq = void 0;
5
4
  var lodash_1 = require("lodash");
6
5
  // Export functions with proper type
7
6
  exports._uniq = lodash_1.uniq;
@@ -15,6 +14,8 @@ exports._deburr = lodash_1.deburr;
15
14
  exports._kebabCase = lodash_1.kebabCase;
16
15
  exports._shuffle = lodash_1.shuffle;
17
16
  exports._groupBy = lodash_1.groupBy;
17
+ exports._sortBy = lodash_1.sortBy;
18
+ exports._orderBy = lodash_1.orderBy;
18
19
  exports._cloneDeep = lodash_1.cloneDeep;
19
20
  exports._maxBy = lodash_1.maxBy;
20
21
  exports._minBy = lodash_1.minBy;
@@ -23,4 +24,7 @@ exports._last = lodash_1.last;
23
24
  exports._trim = lodash_1.trim;
24
25
  exports._trimStart = lodash_1.trimStart;
25
26
  exports._trimEnd = lodash_1.trimEnd;
27
+ exports._isNil = lodash_1.isNil;
28
+ exports._chunk = lodash_1.chunk;
29
+ exports._padStart = lodash_1.padStart;
26
30
  //# sourceMappingURL=lodash.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"lodash.js","sourceRoot":"","sources":["../../src/vendors/lodash.ts"],"names":[],"mappings":";;;AAAA,iDAAiD;AACjD,iCAoBgB;AAehB,oCAAoC;AACvB,QAAA,KAAK,GAAkD,aAAI,CAAC;AAC5D,QAAA,QAAQ,GAAqC,gBAAO,CAAC;AACrD,QAAA,YAAY,GAA8D,oBAAW,CAAC;AACtF,QAAA,MAAM,GAAmF,cAAK,CAAC;AAC/F,QAAA,IAAI,GAAsC,YAAG,CAAC;AAC9C,QAAA,MAAM,GAGf,cAAK,CAAC;AACG,QAAA,QAAQ,GAAwC,gBAAO,CAAC;AACxD,QAAA,OAAO,GAAgC,eAAM,CAAC;AAC9C,QAAA,UAAU,GAAgC,kBAAS,CAAC;AACpD,QAAA,QAAQ,GAGjB,gBAAO,CAAC;AACC,QAAA,QAAQ,GAA6E,gBAAO,CAAC;AAC7F,QAAA,UAAU,GAAuB,kBAAS,CAAC;AAC3C,QAAA,MAAM,GAA+D,cAAK,CAAC;AAC3E,QAAA,MAAM,GAA+D,cAAK,CAAC;AAC3E,QAAA,MAAM,GAA6B,cAAK,CAAC;AACzC,QAAA,KAAK,GAA6B,aAAI,CAAC;AACvC,QAAA,KAAK,GAAgD,aAAI,CAAC;AAC1D,QAAA,UAAU,GAAgD,kBAAS,CAAC;AACpE,QAAA,QAAQ,GAAgD,gBAAO,CAAC"}
1
+ {"version":3,"file":"lodash.js","sourceRoot":"","sources":["../../src/vendors/lodash.ts"],"names":[],"mappings":";;;AAAA,iCA0BgB;AAkBhB,oCAAoC;AACvB,QAAA,KAAK,GAAkD,aAAI,CAAC;AAC5D,QAAA,QAAQ,GAAqC,gBAAO,CAAC;AACrD,QAAA,YAAY,GAA8D,oBAAW,CAAC;AACtF,QAAA,MAAM,GAAmF,cAAK,CAAC;AAC/F,QAAA,IAAI,GAAsC,YAAG,CAAC;AAC9C,QAAA,MAAM,GAGf,cAAK,CAAC;AACG,QAAA,QAAQ,GAAwC,gBAAO,CAAC;AACxD,QAAA,OAAO,GAAgC,eAAM,CAAC;AAC9C,QAAA,UAAU,GAAgC,kBAAS,CAAC;AACpD,QAAA,QAAQ,GAGjB,gBAAO,CAAC;AACC,QAAA,QAAQ,GAA6E,gBAAO,CAAC;AAC7F,QAAA,OAAO,GAAmG,eAAM,CAAC;AACjH,QAAA,QAAQ,GAAiI,gBAAO,CAAC;AACjJ,QAAA,UAAU,GAAuB,kBAAS,CAAC;AAC3C,QAAA,MAAM,GAA+D,cAAK,CAAC;AAC3E,QAAA,MAAM,GAA+D,cAAK,CAAC;AAC3E,QAAA,MAAM,GAA6B,cAAK,CAAC;AACzC,QAAA,KAAK,GAA6B,aAAI,CAAC;AACvC,QAAA,KAAK,GAAgD,aAAI,CAAC;AAC1D,QAAA,UAAU,GAAgD,kBAAS,CAAC;AACpE,QAAA,QAAQ,GAAgD,gBAAO,CAAC;AAChE,QAAA,MAAM,GAA6B,cAAK,CAAC;AACzC,QAAA,MAAM,GAAmE,cAAK,CAAC;AAC/E,QAAA,SAAS,GAAiE,iBAAQ,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@my-devkit/core",
3
- "version": "1.0.82",
3
+ "version": "1.0.83",
4
4
  "description": "My Devkit: common tools",
5
5
  "main": "dist/index.js",
6
6
  "typings": "dist/index.d.ts",
@@ -1,20 +1,89 @@
1
- import { guid } from '../guid';
2
1
  import { Logger } from '../logger';
2
+ import { PromiseHelper } from '../promise-helper';
3
3
 
4
4
  export function Cacheable(): MethodDecorator {
5
5
  return (target, propertyKey, descriptor) => {
6
6
  const originalMethod: any = descriptor.value;
7
- const cachePropertyName = `__cache_${propertyKey.toString()}_${guid()}__`;
8
- target[cachePropertyName] = new Map<string, any>();
9
7
 
10
- (descriptor as any).value = (...args) => {
11
- const cacheKey = JSON.stringify(args);
12
- if (!target[cachePropertyName].has(cacheKey)) {
13
- target[cachePropertyName].set(cacheKey, originalMethod.apply(this, args));
8
+ const getCache = (instance: any, args: any[]) => {
9
+ return {
10
+ get(callback: () => void): any {
11
+ if (!Cacheable.hasCache(instance, propertyKey, args)) {
12
+ Cacheable.setCache(instance, propertyKey, args, callback());
13
+ } else {
14
+ Logger.info(`Cacheable: ${target.constructor.name}.${propertyKey.toString()} result retrieved from cache`, ...args);
15
+ }
16
+ return Cacheable.getCache(instance, propertyKey, args);
17
+ },
18
+ async getAsync(callback: () => Promise<void>): Promise<any> {
19
+ if (!Cacheable.hasCache(instance, propertyKey, args)) {
20
+ Cacheable.setCache(instance, propertyKey, args, await callback());
21
+ } else {
22
+ Logger.info(`Cacheable: ${target.constructor.name}.${propertyKey.toString()} result retrieved from cache`, ...args);
23
+ }
24
+ return PromiseHelper.fromFaster(Cacheable.getCache(instance, propertyKey, args));
25
+ }
26
+ };
27
+ };
28
+
29
+ if (typeof originalMethod === 'function') {
30
+ if (originalMethod.constructor.name === 'AsyncFunction') {
31
+ (descriptor as any).value = async function (...args) {
32
+ return getCache(this, args).getAsync(async () => await originalMethod.apply(this, args));
33
+ };
14
34
  } else {
15
- Logger.info(`Cacheable: ${target.constructor.name}.${propertyKey.toString()} result retrieved from cache`, { args });
35
+ (descriptor as any).value = function (...args) {
36
+ return getCache(this, args).get(() => originalMethod.apply(this, args));
37
+ };
16
38
  }
17
- return target[cachePropertyName].get(cacheKey);
18
- };
39
+ }
40
+
41
+ return descriptor;
19
42
  };
20
43
  }
44
+
45
+ export namespace Cacheable {
46
+
47
+ export function getMethodCacheKey<T>(instance: T, propertyKey: keyof T): string {
48
+ return `__cache_${propertyKey.toString()}__`;
49
+ }
50
+
51
+ export function getArgsCacheKey(args: any[]): string {
52
+ return JSON.stringify(Array.from(args).map(arg => {
53
+ if (typeof arg === 'function') {
54
+ return `function => class ${arg.name}`;
55
+ }
56
+ return arg;
57
+ }));
58
+ }
59
+
60
+ export function setCache<T, R>(instance: T, propertyKey: keyof T, args: any[], result: R): void {
61
+ const cachePropertyName = getMethodCacheKey(instance, propertyKey);
62
+ if (!instance.hasOwnProperty(cachePropertyName)) {
63
+ instance[cachePropertyName] = new Map<string, any>();
64
+ }
65
+
66
+ const cacheKey = getArgsCacheKey(args);
67
+ instance[cachePropertyName].set(cacheKey, result);
68
+ }
69
+
70
+ export function hasCache<T>(instance: T, propertyKey: keyof T, args: any[]): boolean {
71
+ const cachePropertyName = getMethodCacheKey(instance, propertyKey);
72
+ if (!instance.hasOwnProperty(cachePropertyName)) {
73
+ return false;
74
+ }
75
+
76
+ const cacheKey = getArgsCacheKey(args);
77
+ return instance[cachePropertyName].has(cacheKey);
78
+ }
79
+
80
+ export function getCache<T, R>(instance: T, propertyKey: keyof T, args: any[]): R {
81
+ const cachePropertyName = getMethodCacheKey(instance, propertyKey);
82
+ if (!hasCache(instance, propertyKey, args)) {
83
+ throw new Error(`Cacheable: No cache found for ${propertyKey.toString()}`)
84
+ }
85
+
86
+ const cacheKey = getArgsCacheKey(args);
87
+ return instance[cachePropertyName].get(cacheKey);
88
+ }
89
+ }
@@ -0,0 +1,29 @@
1
+ export class PromiseHelper {
2
+ private static counter = 0;
3
+
4
+ // Used to avoid syncronous Promise resolution
5
+ // That way other callbacks in the application can have an opportunity to get executed
6
+ public static async from<T>(value: T): Promise<T> {
7
+ return new Promise<T>(resolve => {
8
+ setTimeout(() => resolve(value), 0);
9
+ });
10
+ }
11
+
12
+ // Same as from function
13
+ // use setTimeout every 100 execution to avoid performance issues
14
+ public static async fromFaster<T>(value: T): Promise<T> {
15
+ this.counter++;
16
+ if (this.counter % 100 === 0) {
17
+ this.counter = 0;
18
+ return new Promise<T>(resolve => {
19
+ setTimeout(() => resolve(value), 0);
20
+ });
21
+ } else {
22
+ return value;
23
+ }
24
+ }
25
+
26
+ public static async wait(seconds: number): Promise<void> {
27
+ await new Promise<void>(resolve => setTimeout(() => resolve(), seconds * 1000));
28
+ }
29
+ }
@@ -3,4 +3,4 @@ export * from './serialize';
3
3
  export * from './serializable';
4
4
  export * from './type-helper';
5
5
 
6
- export { autoserializeAs, inheritSerialization } from 'cerialize';
6
+ export { autoserialize, autoserializeAs, inheritSerialization } from 'cerialize';
@@ -2,7 +2,7 @@ import { getFromContainer, MetadataStorage, ValidationOptions, ValidationTypes }
2
2
  import { ValidationMetadata } from 'class-validator/metadata/ValidationMetadata';
3
3
  import { ValidationMetadataArgs } from 'class-validator/metadata/ValidationMetadataArgs';
4
4
 
5
- export function IsOptionalIf(condition: (object: any, value: any) => boolean, validationOptions?: ValidationOptions) {
5
+ export function IsOptionalIf<T>(condition: (object: T, value: any) => boolean, validationOptions?: ValidationOptions) {
6
6
  return function (object: Record<string, any>, propertyName: string): void {
7
7
  const args: ValidationMetadataArgs = {
8
8
  type: ValidationTypes.CONDITIONAL_VALIDATION,
@@ -1,5 +1,5 @@
1
- /* eslint-disable @typescript-eslint/ban-types */
2
1
  import {
2
+ chunk,
3
3
  cloneDeep,
4
4
  deburr,
5
5
  first,
@@ -7,11 +7,16 @@ import {
7
7
  flattenDeep,
8
8
  groupBy,
9
9
  isEqual,
10
+ isNil,
10
11
  kebabCase,
11
12
  last,
13
+ ListIteratee,
12
14
  maxBy,
13
15
  minBy,
16
+ orderBy,
17
+ padStart,
14
18
  shuffle,
19
+ sortBy,
15
20
  sum,
16
21
  sumBy,
17
22
  trim,
@@ -21,8 +26,11 @@ import {
21
26
  words,
22
27
  } from 'lodash';
23
28
 
29
+ /* eslint-disable @typescript-eslint/ban-types */
24
30
  // Define type (not exported)
25
31
  type List<T> = ArrayLike<T>;
32
+ type ObjectIterator<TObject, TResult> = (value: TObject[keyof TObject], key: string, collection: TObject) => TResult;
33
+ type ObjectIteratee<TObject> = ObjectIterator<TObject, NotVoid> | IterateeShorthand<TObject[keyof TObject]>;
26
34
  interface Dictionary<T> { [index: string]: T; }
27
35
  type NotVoid = unknown;
28
36
  type PropertyName = string | number | symbol;
@@ -52,6 +60,8 @@ export const _shuffle: {
52
60
  <T extends object>(collection: T): T[keyof T][];
53
61
  } = shuffle;
54
62
  export const _groupBy: <T>(collection: List<T>, iteratee?: ValueIteratee<T>) => Dictionary<T[]> = groupBy;
63
+ export const _sortBy: <T>(collection: List<T> | null | undefined, ...iteratees: Array<Many<ListIteratee<T>>>) => T[] = sortBy;
64
+ export const _orderBy: <T extends object>(collection: List<T>, iteratees?: Many<ObjectIteratee<T>>, orders?: Many<boolean | 'asc' | 'desc'>) => T[] = orderBy;
55
65
  export const _cloneDeep: <T>(value: T) => T = cloneDeep;
56
66
  export const _maxBy: <T>(collection: List<T>, iteratee?: ValueIteratee<T>) => T = maxBy;
57
67
  export const _minBy: <T>(collection: List<T>, iteratee?: ValueIteratee<T>) => T = minBy;
@@ -60,3 +70,6 @@ export const _last: <T>(array: List<T>) => T = last;
60
70
  export const _trim: (string?: string, chars?: string) => string = trim;
61
71
  export const _trimStart: (string?: string, chars?: string) => string = trimStart;
62
72
  export const _trimEnd: (string?: string, chars?: string) => string = trimEnd;
73
+ export const _isNil: <T>(value: T) => boolean = isNil;
74
+ export const _chunk: <T>(array: List<T> | null | undefined, size?: number) => T[][] = chunk;
75
+ export const _padStart: (string?: string, length?: number, chars?: string) => string = padStart;