ismx-nexo-node-app 0.4.129 → 0.4.130

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.
@@ -21,5 +21,31 @@ class PromiseUtils {
21
21
  const token = Object.assign(wrapped, { stop, cancel });
22
22
  return token;
23
23
  }
24
+ static delayed(promise, timeout) {
25
+ let tId;
26
+ let innerToken;
27
+ let cancelled = false;
28
+ const wrappedPromise = new Promise((resolve, reject) => {
29
+ tId = setTimeout(() => {
30
+ if (!cancelled) {
31
+ innerToken = this.tokenize(promise());
32
+ innerToken.then(resolve, reject);
33
+ }
34
+ }, timeout);
35
+ });
36
+ const token = Object.assign(wrappedPromise, {
37
+ stop: () => {
38
+ cancelled = true;
39
+ clearTimeout(tId);
40
+ innerToken === null || innerToken === void 0 ? void 0 : innerToken.stop();
41
+ },
42
+ cancel: (onCancelled) => {
43
+ onCancelled();
44
+ token.stop();
45
+ return token;
46
+ }
47
+ });
48
+ return token;
49
+ }
24
50
  }
25
51
  exports.default = PromiseUtils;
package/dist/js/index.js CHANGED
@@ -26,7 +26,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
26
26
  return (mod && mod.__esModule) ? mod : { "default": mod };
27
27
  };
28
28
  Object.defineProperty(exports, "__esModule", { value: true });
29
- exports.RestUtils = exports.QueryUtils = exports.RepositoryRestFormalTemplate = exports.RepositoryRestFormal = exports.RepositoryRest = exports.RepositoryDatabasePostgres = exports.RepositoryDatabase = exports.Repository = exports.ArrayUtils = exports.StringUtils = exports.NumberUtils = exports.CryptoUtils = exports.DateUtils = exports.BusinessLogger = exports.FormalError = exports.BusinessErrors = exports.BusinessThreadState = exports.BusinessThread = exports.BusinessServer = exports.FormalLoopbackBusiness = exports.FormalProxyBusiness = exports.ProxyBusiness = exports.BusinessState = exports.Business = exports.ColorUtils = exports.ServiceRestFormalTemplate = exports.ServiceRestFormal = exports.ServiceRest = exports.HttpResponse = exports.Service = void 0;
29
+ exports.RestUtils = exports.QueryUtils = exports.RepositoryRestFormalTemplate = exports.RepositoryRestFormal = exports.RepositoryRest = exports.RepositoryDatabasePostgres = exports.RepositoryDatabase = exports.Repository = exports.PromiseUtils = exports.ArrayUtils = exports.StringUtils = exports.NumberUtils = exports.CryptoUtils = exports.DateUtils = exports.BusinessLogger = exports.FormalError = exports.BusinessErrors = exports.BusinessThreadState = exports.BusinessThread = exports.BusinessServer = exports.FormalLoopbackBusiness = exports.FormalProxyBusiness = exports.ProxyBusiness = exports.BusinessState = exports.Business = exports.ColorUtils = exports.ServiceRestFormalTemplate = exports.ServiceRestFormal = exports.ServiceRest = exports.HttpResponse = exports.Service = void 0;
30
30
  const Service_1 = __importStar(require("./api/Service"));
31
31
  class Service extends Service_1.default {
32
32
  }
@@ -114,6 +114,10 @@ const ArrayUtils_1 = __importDefault(require("./business/utils/ArrayUtils"));
114
114
  class ArrayUtils extends ArrayUtils_1.default {
115
115
  }
116
116
  exports.ArrayUtils = ArrayUtils;
117
+ const PromiseUtils_1 = __importDefault(require("./business/utils/PromiseUtils"));
118
+ class PromiseUtils extends PromiseUtils_1.default {
119
+ }
120
+ exports.PromiseUtils = PromiseUtils;
117
121
  /**************************************************************/
118
122
  const Repository_1 = __importDefault(require("./repository/Repository"));
119
123
  class Repository extends Repository_1.default {
@@ -4,4 +4,5 @@ export interface Token<T> extends Promise<T> {
4
4
  }
5
5
  export default abstract class PromiseUtils {
6
6
  static tokenize<T>(promise: Promise<T>): Token<T>;
7
+ static delayed<T>(promise: () => Promise<T>, timeout: number): Token<T>;
7
8
  }
@@ -71,6 +71,9 @@ export declare abstract class StringUtils extends _StringUtils {
71
71
  import _ArrayUtils from "./business/utils/ArrayUtils";
72
72
  export declare abstract class ArrayUtils extends _ArrayUtils {
73
73
  }
74
+ import _PromiseUtils from "./business/utils/PromiseUtils";
75
+ export declare abstract class PromiseUtils extends _PromiseUtils {
76
+ }
74
77
  /**************************************************************/
75
78
  import BaseRepository, { Pagination as _Pagination } from "./repository/Repository";
76
79
  export declare class Repository extends BaseRepository {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ismx-nexo-node-app",
3
- "version": "0.4.129",
3
+ "version": "0.4.130",
4
4
  "description": "",
5
5
  "scripts": {
6
6
  "build": "rm -rf ./dist && npx tsc",
@@ -1,3 +1,5 @@
1
+ import Timeout = NodeJS.Timeout;
2
+
1
3
  export interface Token<T> extends Promise<T> {
2
4
  stop: () => void;
3
5
  cancel(onCancelled: () => void): this;
@@ -30,4 +32,34 @@ export default abstract class PromiseUtils {
30
32
  return token;
31
33
  }
32
34
 
35
+ public static delayed<T>(promise: () => Promise<T>, timeout: number): Token<T>
36
+ {
37
+ let tId: NodeJS.Timeout;
38
+ let innerToken: Token<T> | undefined;
39
+ let cancelled = false;
40
+
41
+ const wrappedPromise = new Promise<T>((resolve, reject) => {
42
+ tId = setTimeout(() => {
43
+ if (!cancelled) {
44
+ innerToken = this.tokenize(promise());
45
+ innerToken.then(resolve, reject);
46
+ }
47
+ }, timeout);
48
+ });
49
+
50
+ const token: Token<T> = Object.assign(wrappedPromise, {
51
+ stop: () => {
52
+ cancelled = true;
53
+ clearTimeout(tId);
54
+ innerToken?.stop();
55
+ },
56
+ cancel: (onCancelled: () => void) => {
57
+ onCancelled();
58
+ token.stop();
59
+ return token;
60
+ }
61
+ });
62
+
63
+ return token;
64
+ }
33
65
  }
@@ -67,6 +67,9 @@ export abstract class StringUtils extends _StringUtils {}
67
67
  import _ArrayUtils from "./business/utils/ArrayUtils";
68
68
  export abstract class ArrayUtils extends _ArrayUtils {}
69
69
 
70
+ import _PromiseUtils from "./business/utils/PromiseUtils";
71
+ export abstract class PromiseUtils extends _PromiseUtils {}
72
+
70
73
  /**************************************************************/
71
74
 
72
75
  import BaseRepository, { Pagination as _Pagination } from "./repository/Repository";