@thisisagile/easy 10.10.4 → 10.10.7

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.
@@ -1,12 +1,13 @@
1
1
  import { PageOptions, Uri } from '../types';
2
- import { RequestOptions, RequestProvider, Response } from '../http';
2
+ import { HttpVerb, RequestOptions, RequestProvider, Response } from '../http';
3
3
  export declare class Api {
4
4
  readonly provider: RequestProvider;
5
5
  constructor(provider?: RequestProvider);
6
6
  get(uri: Uri, options?: RequestOptions | PageOptions, transform?: (r: any) => any, transformError?: (r: any) => any): Promise<Response>;
7
- post: (uri: Uri, body?: unknown, options?: RequestOptions, transform?: ((r: any) => any) | undefined, transformError?: (r: any) => any) => Promise<Response>;
8
- put: (uri: Uri, body?: unknown, options?: RequestOptions, transform?: ((r: any) => any) | undefined, transformError?: (r: any) => any) => Promise<Response>;
9
- patch: (uri: Uri, body?: unknown, options?: RequestOptions, transform?: ((r: any) => any) | undefined, transformError?: (r: any) => any) => Promise<Response>;
10
- delete: (uri: Uri, options?: RequestOptions, transform?: ((b: any) => any) | undefined, transformError?: (r: any) => any) => Promise<Response>;
7
+ post(uri: Uri, body?: unknown, options?: RequestOptions, transform?: (r: any) => any, transformError?: (r: any) => any): Promise<Response>;
8
+ put(uri: Uri, body?: unknown, options?: RequestOptions, transform?: (r: any) => any, transformError?: (r: any) => any): Promise<Response>;
9
+ patch(uri: Uri, body?: unknown, options?: RequestOptions, transform?: (r: any) => any, transformError?: (r: any) => any): Promise<Response>;
10
+ delete(uri: Uri, options?: RequestOptions, transform?: (b: any) => any, transformError?: (r: any) => any): Promise<Response>;
11
+ options(verb: HttpVerb, options?: RequestOptions | PageOptions): RequestOptions;
11
12
  }
12
13
  export declare const api: Api;
@@ -6,17 +6,6 @@ const AxiosProvider_1 = require("./AxiosProvider");
6
6
  class Api {
7
7
  constructor(provider = new AxiosProvider_1.AxiosProvider()) {
8
8
  this.provider = provider;
9
- this.post = (uri, body, options = http_1.RequestOptions.Json, transform, transformError = (r) => r) => this.provider.execute({ uri, verb: http_1.HttpVerb.Post, body, transform, transformError, options });
10
- this.put = (uri, body, options = http_1.RequestOptions.Json, transform, transformError = (r) => r) => this.provider.execute({ uri, verb: http_1.HttpVerb.Put, body, transform, transformError, options });
11
- this.patch = (uri, body, options = http_1.RequestOptions.Json, transform, transformError = (r) => r) => this.provider.execute({
12
- uri,
13
- verb: http_1.HttpVerb.Patch,
14
- body,
15
- transform,
16
- transformError,
17
- options,
18
- });
19
- this.delete = (uri, options = http_1.RequestOptions.Json, transform, transformError = (r) => r) => this.provider.execute({ uri, verb: http_1.HttpVerb.Delete, transform, transformError, options });
20
9
  }
21
10
  get(uri, options, transform, transformError = (r) => r) {
22
11
  return this.provider.execute({
@@ -24,9 +13,24 @@ class Api {
24
13
  verb: http_1.HttpVerb.Get,
25
14
  transform,
26
15
  transformError,
27
- options: (options instanceof http_1.RequestOptions) ? options : http_1.RequestOptions.Json,
16
+ options: this.options(http_1.HttpVerb.Get, options),
28
17
  });
29
18
  }
19
+ post(uri, body, options = http_1.RequestOptions.Json, transform, transformError = (r) => r) {
20
+ return this.provider.execute({ uri, verb: http_1.HttpVerb.Post, body, transform, transformError, options: this.options(http_1.HttpVerb.Post, options) });
21
+ }
22
+ put(uri, body, options = http_1.RequestOptions.Json, transform, transformError = (r) => r) {
23
+ return this.provider.execute({ uri, verb: http_1.HttpVerb.Put, body, transform, transformError, options: this.options(http_1.HttpVerb.Put, options) });
24
+ }
25
+ patch(uri, body, options = http_1.RequestOptions.Json, transform, transformError = (r) => r) {
26
+ return this.provider.execute({ uri, verb: http_1.HttpVerb.Patch, body, transform, transformError, options: this.options(http_1.HttpVerb.Patch, options) });
27
+ }
28
+ delete(uri, options = http_1.RequestOptions.Json, transform, transformError = (r) => r) {
29
+ return this.provider.execute({ uri, verb: http_1.HttpVerb.Delete, transform, transformError, options: this.options(http_1.HttpVerb.Delete, options) });
30
+ }
31
+ options(verb, options) {
32
+ return (options instanceof http_1.RequestOptions) ? options : http_1.RequestOptions.Json;
33
+ }
30
34
  }
31
35
  exports.Api = Api;
32
36
  exports.api = new Api();
@@ -1 +1 @@
1
- {"version":3,"file":"Api.js","sourceRoot":"","sources":["../../src/services/Api.ts"],"names":[],"mappings":";;;AACA,kCAA6F;AAC7F,mDAAgD;AAEhD,MAAa,GAAG;IACd,YAAqB,WAA4B,IAAI,6BAAa,EAAE;QAA/C,aAAQ,GAAR,QAAQ,CAAuC;QAapE,SAAI,GAAG,CACL,GAAQ,EACR,IAAc,EACd,UAA0B,qBAAc,CAAC,IAAI,EAC7C,SAA2B,EAC3B,iBAAiB,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,EACX,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,eAAQ,CAAC,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,cAAc,EAAE,OAAO,EAAE,CAAC,CAAC;QAEtH,QAAG,GAAG,CACJ,GAAQ,EACR,IAAc,EACd,UAA0B,qBAAc,CAAC,IAAI,EAC7C,SAA2B,EAC3B,iBAAiB,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,EACX,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,eAAQ,CAAC,GAAG,EAAE,IAAI,EAAE,SAAS,EAAE,cAAc,EAAE,OAAO,EAAE,CAAC,CAAC;QAErH,UAAK,GAAG,CACN,GAAQ,EACR,IAAc,EACd,UAA0B,qBAAc,CAAC,IAAI,EAC7C,SAA2B,EAC3B,iBAAiB,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,EACX,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC;YAC5C,GAAG;YACH,IAAI,EAAE,eAAQ,CAAC,KAAK;YACpB,IAAI;YACJ,SAAS;YACT,cAAc;YACd,OAAO;SACR,CAAC,CAAC;QAEH,WAAM,GAAG,CAAC,GAAQ,EAAE,UAA0B,qBAAc,CAAC,IAAI,EAAE,SAA2B,EAAE,iBAAiB,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,EAAqB,EAAE,CACnJ,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,eAAQ,CAAC,MAAM,EAAE,SAAS,EAAE,cAAc,EAAE,OAAO,EAAE,CAAC,CAAC;IA5C5F,CAAC;IAED,GAAG,CAAC,GAAQ,EAAE,OAAsC,EAAE,SAA2B,EAAE,iBAAiB,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC;QAC/G,OAAO,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC;YAC3B,GAAG,EAAE,GAAG,CAAC,IAAI,CAAC,IAAA,oBAAa,EAAC,OAAO,CAAC,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,IAAA,oBAAa,EAAC,OAAO,CAAC,EAAE,IAAI,CAAC;YAC9E,IAAI,EAAE,eAAQ,CAAC,GAAG;YAClB,SAAS;YACT,cAAc;YACd,OAAO,EAAE,CAAC,OAAO,YAAY,qBAAc,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,qBAAc,CAAC,IAAI;SAC7E,CAAC,CAAC;IACL,CAAC;CAmCF;AA/CD,kBA+CC;AAEY,QAAA,GAAG,GAAQ,IAAI,GAAG,EAAE,CAAC"}
1
+ {"version":3,"file":"Api.js","sourceRoot":"","sources":["../../src/services/Api.ts"],"names":[],"mappings":";;;AACA,kCAA6F;AAC7F,mDAAgD;AAEhD,MAAa,GAAG;IACd,YAAqB,WAA4B,IAAI,6BAAa,EAAE;QAA/C,aAAQ,GAAR,QAAQ,CAAuC;IACpE,CAAC;IAED,GAAG,CAAC,GAAQ,EAAE,OAAsC,EAAE,SAA2B,EAAE,iBAAiB,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC;QAC/G,OAAO,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC;YAC3B,GAAG,EAAE,GAAG,CAAC,IAAI,CAAC,IAAA,oBAAa,EAAC,OAAO,CAAC,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,IAAA,oBAAa,EAAC,OAAO,CAAC,EAAE,IAAI,CAAC;YAC9E,IAAI,EAAE,eAAQ,CAAC,GAAG;YAClB,SAAS;YACT,cAAc;YACd,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,eAAQ,CAAC,GAAG,EAAE,OAAO,CAAC;SAC7C,CAAC,CAAC;IACL,CAAC;IAED,IAAI,CAAC,GAAQ,EAAE,IAAc,EAAE,UAA0B,qBAAc,CAAC,IAAI,EAAE,SAA2B,EAAE,iBAAiB,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC;QACvI,OAAO,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,eAAQ,CAAC,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,cAAc,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,eAAQ,CAAC,IAAI,EAAE,OAAO,CAAC,EAAE,CAAC,CAAC;IAC7I,CAAC;IAED,GAAG,CAAC,GAAQ,EAAE,IAAc,EAAE,UAA0B,qBAAc,CAAC,IAAI,EAAE,SAA2B,EAAE,iBAAiB,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC;QACtI,OAAO,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,eAAQ,CAAC,GAAG,EAAE,IAAI,EAAE,SAAS,EAAE,cAAc,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,eAAQ,CAAC,GAAG,EAAE,OAAO,CAAC,EAAE,CAAC,CAAC;IAC3I,CAAC;IAED,KAAK,CAAC,GAAQ,EAAE,IAAc,EAAE,UAA0B,qBAAc,CAAC,IAAI,EAAE,SAA2B,EAAE,iBAAiB,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC;QACxI,OAAO,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,eAAQ,CAAC,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,cAAc,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,eAAQ,CAAC,KAAK,EAAE,OAAO,CAAC,EAAC,CAAC,CAAC;IAC9I,CAAC;IAED,MAAM,CAAC,GAAQ,EAAE,UAA0B,qBAAc,CAAC,IAAI,EAAE,SAA2B,EAAE,iBAAiB,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC;QACzH,OAAO,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,eAAQ,CAAC,MAAM,EAAE,SAAS,EAAE,cAAc,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,CAAC,eAAQ,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAC,CAAC;IAC3I,CAAC;IAED,OAAO,CAAC,IAAc,EAAE,OAAsC;QAC5D,OAAO,CAAC,OAAO,YAAY,qBAAc,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,qBAAc,CAAC,IAAI,CAAC;IAC7E,CAAC;CACF;AAjCD,kBAiCC;AAEY,QAAA,GAAG,GAAQ,IAAI,GAAG,EAAE,CAAC"}
@@ -4,7 +4,6 @@ export * from './Log';
4
4
  export * from './Mapper';
5
5
  export * from './Promise';
6
6
  export * from './Property';
7
- export * from './Rerun';
8
7
  export * from './State';
9
8
  export * from './Sentence';
10
9
  export * from './Traverse';
@@ -20,7 +20,6 @@ __exportStar(require("./Log"), exports);
20
20
  __exportStar(require("./Mapper"), exports);
21
21
  __exportStar(require("./Promise"), exports);
22
22
  __exportStar(require("./Property"), exports);
23
- __exportStar(require("./Rerun"), exports);
24
23
  __exportStar(require("./State"), exports);
25
24
  __exportStar(require("./Sentence"), exports);
26
25
  __exportStar(require("./Traverse"), exports);
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,4CAA0B;AAC1B,uCAAqB;AACrB,wCAAsB;AACtB,2CAAyB;AACzB,4CAA0B;AAC1B,6CAA2B;AAC3B,0CAAwB;AACxB,0CAAwB;AACxB,6CAA2B;AAC3B,6CAA2B;AAC3B,yCAAuB;AACvB,yCAAuB"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,4CAA0B;AAC1B,uCAAqB;AACrB,wCAAsB;AACtB,2CAAyB;AACzB,4CAA0B;AAC1B,6CAA2B;AAC3B,0CAAwB;AACxB,6CAA2B;AAC3B,6CAA2B;AAC3B,yCAAuB;AACvB,yCAAuB"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@thisisagile/easy",
3
- "version": "10.10.4",
3
+ "version": "10.10.7",
4
4
  "description": "Straightforward library for building domain-driven microservice architectures",
5
5
  "author": "Sander Hoogendoorn",
6
6
  "license": "MIT",
@@ -31,7 +31,7 @@
31
31
  "access": "public"
32
32
  },
33
33
  "devDependencies": {
34
- "@thisisagile/easy-test": "10.10.4",
34
+ "@thisisagile/easy-test": "10.10.7",
35
35
  "@types/form-urlencoded": "^4.4.0",
36
36
  "@types/jsonwebtoken": "^8.5.8",
37
37
  "@types/validator": "^13.7.2"
@@ -12,43 +12,29 @@ export class Api {
12
12
  verb: HttpVerb.Get,
13
13
  transform,
14
14
  transformError,
15
- options: (options instanceof RequestOptions) ? options : RequestOptions.Json,
15
+ options: this.options(HttpVerb.Get, options),
16
16
  });
17
17
  }
18
18
 
19
- post = (
20
- uri: Uri,
21
- body?: unknown,
22
- options: RequestOptions = RequestOptions.Json,
23
- transform?: (r: any) => any,
24
- transformError = (r: any) => r,
25
- ): Promise<Response> => this.provider.execute({ uri, verb: HttpVerb.Post, body, transform, transformError, options });
26
-
27
- put = (
28
- uri: Uri,
29
- body?: unknown,
30
- options: RequestOptions = RequestOptions.Json,
31
- transform?: (r: any) => any,
32
- transformError = (r: any) => r,
33
- ): Promise<Response> => this.provider.execute({ uri, verb: HttpVerb.Put, body, transform, transformError, options });
34
-
35
- patch = (
36
- uri: Uri,
37
- body?: unknown,
38
- options: RequestOptions = RequestOptions.Json,
39
- transform?: (r: any) => any,
40
- transformError = (r: any) => r,
41
- ): Promise<Response> => this.provider.execute({
42
- uri,
43
- verb: HttpVerb.Patch,
44
- body,
45
- transform,
46
- transformError,
47
- options,
48
- });
49
-
50
- delete = (uri: Uri, options: RequestOptions = RequestOptions.Json, transform?: (b: any) => any, transformError = (r: any) => r): Promise<Response> =>
51
- this.provider.execute({ uri, verb: HttpVerb.Delete, transform, transformError, options });
19
+ post(uri: Uri, body?: unknown, options: RequestOptions = RequestOptions.Json, transform?: (r: any) => any, transformError = (r: any) => r): Promise<Response> {
20
+ return this.provider.execute({ uri, verb: HttpVerb.Post, body, transform, transformError, options: this.options(HttpVerb.Post, options) });
21
+ }
22
+
23
+ put(uri: Uri, body?: unknown, options: RequestOptions = RequestOptions.Json, transform?: (r: any) => any, transformError = (r: any) => r): Promise<Response> {
24
+ return this.provider.execute({ uri, verb: HttpVerb.Put, body, transform, transformError, options: this.options(HttpVerb.Put, options) });
25
+ }
26
+
27
+ patch(uri: Uri, body?: unknown, options: RequestOptions = RequestOptions.Json, transform?: (r: any) => any, transformError = (r: any) => r): Promise<Response> {
28
+ return this.provider.execute({ uri, verb: HttpVerb.Patch, body, transform, transformError, options: this.options(HttpVerb.Patch, options)});
29
+ }
30
+
31
+ delete(uri: Uri, options: RequestOptions = RequestOptions.Json, transform?: (b: any) => any, transformError = (r: any) => r): Promise<Response> {
32
+ return this.provider.execute({ uri, verb: HttpVerb.Delete, transform, transformError, options: this.options(HttpVerb.Delete, options) });
33
+ }
34
+
35
+ options(verb: HttpVerb, options?: RequestOptions | PageOptions): RequestOptions {
36
+ return (options instanceof RequestOptions) ? options : RequestOptions.Json;
37
+ }
52
38
  }
53
39
 
54
40
  export const api: Api = new Api();
@@ -4,7 +4,6 @@ export * from './Log';
4
4
  export * from './Mapper';
5
5
  export * from './Promise';
6
6
  export * from './Property';
7
- export * from './Rerun';
8
7
  export * from './State';
9
8
  export * from './Sentence';
10
9
  export * from './Traverse';
@@ -1,10 +0,0 @@
1
- import { ErrorOrigin } from '../types';
2
- export declare class Rerun<T = any> {
3
- readonly subject: () => Promise<T>;
4
- readonly times: number;
5
- readonly interval: number;
6
- readonly prevError?: ErrorOrigin | undefined;
7
- constructor(subject: () => Promise<T>, times?: number, interval?: number, prevError?: ErrorOrigin | undefined);
8
- run: () => Promise<T>;
9
- }
10
- export declare const rerun: <T>(subject: () => Promise<T>, times?: number | undefined, interval?: number | undefined, prevError?: ErrorOrigin | undefined) => Promise<T>;
@@ -1,24 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.rerun = exports.Rerun = void 0;
4
- const types_1 = require("../types");
5
- const Wait_1 = require("./Wait");
6
- const validation_1 = require("../validation");
7
- class Rerun {
8
- constructor(subject, times = 3, interval = 1000, prevError) {
9
- this.subject = subject;
10
- this.times = times;
11
- this.interval = interval;
12
- this.prevError = prevError;
13
- this.run = () => (0, validation_1.when)(this.times)
14
- .not.isTrue.reject(this.prevError ?? types_1.Exception.CouldNotExecute)
15
- .then(() => this.subject().catch(async (e) => {
16
- await (0, Wait_1.wait)(this.interval);
17
- return new Rerun(this.subject, this.times - 1, this.interval, e).run();
18
- }));
19
- }
20
- }
21
- exports.Rerun = Rerun;
22
- const rerun = (subject, times, interval, prevError) => new Rerun(subject, times, interval, prevError).run();
23
- exports.rerun = rerun;
24
- //# sourceMappingURL=Rerun.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Rerun.js","sourceRoot":"","sources":["../../src/utils/Rerun.ts"],"names":[],"mappings":";;;AAAA,oCAAkD;AAClD,iCAA8B;AAC9B,8CAAqC;AAErC,MAAa,KAAK;IAChB,YAAqB,OAAyB,EAAW,QAAQ,CAAC,EAAW,WAAW,IAAI,EAAW,SAAuB;QAAzG,YAAO,GAAP,OAAO,CAAkB;QAAW,UAAK,GAAL,KAAK,CAAI;QAAW,aAAQ,GAAR,QAAQ,CAAO;QAAW,cAAS,GAAT,SAAS,CAAc;QAE9H,QAAG,GAAG,GAAe,EAAE,CACrB,IAAA,iBAAI,EAAC,IAAI,CAAC,KAAK,CAAC;aACb,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,IAAI,iBAAS,CAAC,eAAe,CAAC;aAC9D,IAAI,CAAC,GAAG,EAAE,CACT,IAAI,CAAC,OAAO,EAAE,CAAC,KAAK,CAAC,KAAK,EAAC,CAAC,EAAC,EAAE;YAC7B,MAAM,IAAA,WAAI,EAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YAC1B,OAAO,IAAI,KAAK,CAAI,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,KAAK,GAAG,CAAC,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC;QAC5E,CAAC,CAAC,CACH,CAAC;IAV2H,CAAC;CAWnI;AAZD,sBAYC;AAEM,MAAM,KAAK,GAAG,CAAI,OAAyB,EAAE,KAAc,EAAE,QAAiB,EAAE,SAAuB,EAAc,EAAE,CAC5H,IAAI,KAAK,CAAI,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC,GAAG,EAAE,CAAC;AAD7C,QAAA,KAAK,SACwC"}
@@ -1,20 +0,0 @@
1
- import { ErrorOrigin, Exception } from '../types';
2
- import { wait } from './Wait';
3
- import { when } from '../validation';
4
-
5
- export class Rerun<T = any> {
6
- constructor(readonly subject: () => Promise<T>, readonly times = 3, readonly interval = 1000, readonly prevError?: ErrorOrigin) {}
7
-
8
- run = (): Promise<T> =>
9
- when(this.times)
10
- .not.isTrue.reject(this.prevError ?? Exception.CouldNotExecute)
11
- .then(() =>
12
- this.subject().catch(async e => {
13
- await wait(this.interval);
14
- return new Rerun<T>(this.subject, this.times - 1, this.interval, e).run();
15
- })
16
- );
17
- }
18
-
19
- export const rerun = <T>(subject: () => Promise<T>, times?: number, interval?: number, prevError?: ErrorOrigin): Promise<T> =>
20
- new Rerun<T>(subject, times, interval, prevError).run();