@zajno/common 2.3.1 → 2.3.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/api/call.js +1 -1
- package/api/call.js.map +1 -1
- package/api/endpoint.d.ts +2 -2
- package/api/endpoint.d.ts.map +1 -1
- package/api/endpoint.js +5 -3
- package/api/endpoint.js.map +1 -1
- package/api/endpoint.types.d.ts +2 -1
- package/api/endpoint.types.d.ts.map +1 -1
- package/api/endpoint.types.js.map +1 -1
- package/observing/timer.d.ts +31 -4
- package/observing/timer.d.ts.map +1 -1
- package/observing/timer.js +55 -9
- package/observing/timer.js.map +1 -1
- package/package.json +1 -1
- package/structures/promiseExtended.d.ts +8 -1
- package/structures/promiseExtended.d.ts.map +1 -1
- package/structures/promiseExtended.js +42 -1
- package/structures/promiseExtended.js.map +1 -1
package/api/call.js
CHANGED
package/api/call.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"call.js","sourceRoot":"","sources":["../../src/api/call.ts"],"names":[],"mappings":";;;AAAA,yCAA2D;AAgC3D,SAAgB,cAAc,CAAC,OAAsB;IAEjD,MAAM,EAAE,cAAc,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC;IAE5C,OAAO,KAAK,UAAU,OAAO,CACzB,GAAM,EACN,IAAyB,EACzB,KAAgB;QAKhB,MAAM,EAAE,OAAO,EAAE,GAAG,GAAG,KAAK,EAAE,GAAG,KAAK,IAAI,EAAE,CAAC;QAE7C,MAAM,WAAW,GAAG,IAAI,IAAI,EAAE,GAAG,IAAI,EAAgC,CAAC;QACtE,MAAM,UAAU,GAAoC,EAAE,CAAC;QACvD,IAAI,QAAQ,GAAW,EAAE,CAAC;QAE1B,MAAM,QAAQ,GAAG,GAAG,CAAC,WAAW,CAAC,IAAI,CAAC;QACtC,IAAI,WAAW,IAAI,QAAQ,EAAE,MAAM,EAAE,CAAC;YAClC,KAAK,MAAM,GAAG,IAAI,QAAQ,EAAE,CAAC;gBACzB,UAAU,CAAC,GAAG,CAAC,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC;gBACnC,OAAO,WAAW,CAAC,GAAG,CAAC,CAAC;YAC5B,CAAC;QACL,CAAC;QAED,MAAM,iBAAiB,GAAG,GAAG,CAAC,SAAS,CAAC;QACxC,IAAI,WAAW,IAAI,iBAAiB,EAAE,MAAM,EAAE,CAAC;YAC3C,MAAM,WAAW,GAAc,EAAE,CAAC;YAClC,IAAI,KAAK,GAAG,IAAI,CAAC;YACjB,KAAK,MAAM,GAAG,IAAI,iBAAiB,EAAE,CAAC;gBAClC,MAAM,CAAC,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC;gBAC3B,IAAI,CAAC,IAAI,
|
|
1
|
+
{"version":3,"file":"call.js","sourceRoot":"","sources":["../../src/api/call.ts"],"names":[],"mappings":"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"}
|
package/api/endpoint.d.ts
CHANGED
|
@@ -11,7 +11,7 @@ export declare class ApiEndpoint<TIn extends object | null, TOut, TPath extends
|
|
|
11
11
|
in?: TIn;
|
|
12
12
|
out?: TOut;
|
|
13
13
|
queryKeys?: (string & keyof TQuery)[];
|
|
14
|
-
|
|
14
|
+
errorProcessor?: (err: TErrors) => void;
|
|
15
15
|
headers?: THeaders;
|
|
16
16
|
get pathBuilder(): Path.IBuilder;
|
|
17
17
|
static construct<TIn extends object | null, TOut>(method?: EndpointMethods, displayName?: string): ApiEndpoint<TIn, TOut, readonly [], object, any, AnyObject>;
|
|
@@ -20,7 +20,7 @@ export declare class ApiEndpoint<TIn extends object | null, TOut, TPath extends
|
|
|
20
20
|
static delete<TOut>(displayName?: string): ApiEndpoint<null, TOut, readonly [], object, any, AnyObject>;
|
|
21
21
|
withPath<P extends Path.BaseInput[]>(...path: P): ApiEndpoint<TIn, TOut, Path.ExtractArgs<Path.CombineBuilders<P>>, TQuery, TErrors, THeaders>;
|
|
22
22
|
withQuery<TQ extends object>(...queryKeys: (string & keyof TQ)[]): ApiEndpoint<TIn, TOut, TPath, TQ, TErrors, THeaders>;
|
|
23
|
-
withErrors<TErr>(
|
|
23
|
+
withErrors<TErr>(errorProcessor?: (err: TErr) => void): ApiEndpoint<TIn, TOut, TPath, TQuery, TErr, THeaders>;
|
|
24
24
|
withHeaders<THeads>(_headersMarker?: THeads): ApiEndpoint<TIn, TOut, TPath, TQuery, TErrors, THeads>;
|
|
25
25
|
asForm(): this;
|
|
26
26
|
}
|
package/api/endpoint.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"endpoint.d.ts","sourceRoot":"","sources":["../../src/api/endpoint.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AACrC,OAAO,EAAE,IAAI,EAAE,MAAM,oBAAoB,CAAC;AAC1C,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEjD,YAAY,EAAE,aAAa,EAAE,CAAC;AAE9B,qBAAa,WAAW,CACpB,GAAG,SAAS,MAAM,GAAG,IAAI,EACzB,IAAI,EACJ,KAAK,SAAS,SAAS,MAAM,EAAE,EAC/B,MAAM,SAAS,MAAM,EACrB,OAAO,EACP,QAAQ,CACV,YACF,aAAa,EACb,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC,EACtB,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,EACxB,aAAa,CAAC,KAAK,CAAC,KAAK,CAAC,EAC1B,aAAa,CAAC,MAAM,CAAC,MAAM,CAAC,EAC5B,aAAa,CAAC,OAAO,CAAC,OAAO,CAAC,EAC9B,aAAa,CAAC,QAAQ,CAAC,QAAQ,CAAC;IAE5B,MAAM,EAAE,eAAe,CAAuB;IAC9C,IAAI,EAAE,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAA8C;IAE7E,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB,EAAE,CAAC,EAAE,GAAG,CAAC;IACT,GAAG,CAAC,EAAE,IAAI,CAAC;IACX,SAAS,CAAC,EAAE,CAAC,MAAM,GAAG,MAAM,MAAM,CAAC,EAAE,CAAC;IAEtC,
|
|
1
|
+
{"version":3,"file":"endpoint.d.ts","sourceRoot":"","sources":["../../src/api/endpoint.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AACrC,OAAO,EAAE,IAAI,EAAE,MAAM,oBAAoB,CAAC;AAC1C,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEjD,YAAY,EAAE,aAAa,EAAE,CAAC;AAE9B,qBAAa,WAAW,CACpB,GAAG,SAAS,MAAM,GAAG,IAAI,EACzB,IAAI,EACJ,KAAK,SAAS,SAAS,MAAM,EAAE,EAC/B,MAAM,SAAS,MAAM,EACrB,OAAO,EACP,QAAQ,CACV,YACF,aAAa,EACb,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC,EACtB,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,EACxB,aAAa,CAAC,KAAK,CAAC,KAAK,CAAC,EAC1B,aAAa,CAAC,MAAM,CAAC,MAAM,CAAC,EAC5B,aAAa,CAAC,OAAO,CAAC,OAAO,CAAC,EAC9B,aAAa,CAAC,QAAQ,CAAC,QAAQ,CAAC;IAE5B,MAAM,EAAE,eAAe,CAAuB;IAC9C,IAAI,EAAE,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAA8C;IAE7E,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB,EAAE,CAAC,EAAE,GAAG,CAAC;IACT,GAAG,CAAC,EAAE,IAAI,CAAC;IACX,SAAS,CAAC,EAAE,CAAC,MAAM,GAAG,MAAM,MAAM,CAAC,EAAE,CAAC;IAEtC,cAAc,CAAC,EAAE,CAAC,GAAG,EAAE,OAAO,KAAK,IAAI,CAAC;IACxC,OAAO,CAAC,EAAE,QAAQ,CAAC;IAEnB,IAAW,WAAW,kBAA4C;IAElE,MAAM,CAAC,SAAS,CAAC,GAAG,SAAS,MAAM,GAAG,IAAI,EAAE,IAAI,EAAE,MAAM,GAAE,eAAqC,EAAE,WAAW,CAAC,EAAE,MAAM;IAOrH,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,WAAW,CAAC,EAAE,MAAM;IAIrC,MAAM,CAAC,IAAI,CAAC,GAAG,SAAS,MAAM,GAAG,IAAI,EAAE,IAAI,GAAG,IAAI,EAAE,WAAW,CAAC,EAAE,MAAM;IAIxE,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,WAAW,CAAC,EAAE,MAAM;IAIjC,QAAQ,CAAC,CAAC,SAAS,IAAI,CAAC,SAAS,EAAE,EAAE,GAAG,IAAI,EAAE,CAAC,GAAG,WAAW,CAAC,GAAG,EAAE,IAAI,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,CAAC;IAS9I,SAAS,CAAC,EAAE,SAAS,MAAM,EAAE,GAAG,SAAS,EAAE,CAAC,MAAM,GAAG,MAAM,EAAE,CAAC,EAAE,GAAG,WAAW,CAAC,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,EAAE,OAAO,EAAE,QAAQ,CAAC;IAMvH,UAAU,CAAC,IAAI,EAAE,cAAc,CAAC,EAAE,CAAC,GAAG,EAAE,IAAI,KAAK,IAAI,GAAG,WAAW,CAAC,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,CAAC;IAM7G,WAAW,CAAC,MAAM,EAAE,cAAc,CAAC,EAAE,MAAM,GAAG,WAAW,CAAC,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC;IAIpG,MAAM;CAIhB"}
|
package/api/endpoint.js
CHANGED
|
@@ -11,7 +11,7 @@ class ApiEndpoint {
|
|
|
11
11
|
in;
|
|
12
12
|
out;
|
|
13
13
|
queryKeys;
|
|
14
|
-
|
|
14
|
+
errorProcessor;
|
|
15
15
|
headers;
|
|
16
16
|
get pathBuilder() { return this.path.as(); }
|
|
17
17
|
static construct(method = methods_1.EndpointMethods.GET, displayName) {
|
|
@@ -40,8 +40,10 @@ class ApiEndpoint {
|
|
|
40
40
|
res.queryKeys = queryKeys;
|
|
41
41
|
return res;
|
|
42
42
|
}
|
|
43
|
-
withErrors(
|
|
44
|
-
|
|
43
|
+
withErrors(errorProcessor) {
|
|
44
|
+
const res = this;
|
|
45
|
+
res.errorProcessor = errorProcessor;
|
|
46
|
+
return res;
|
|
45
47
|
}
|
|
46
48
|
withHeaders(_headersMarker) {
|
|
47
49
|
return this;
|
package/api/endpoint.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"endpoint.js","sourceRoot":"","sources":["../../src/api/endpoint.ts"],"names":[],"mappings":";;;AACA,6CAA0C;AAC1C,uCAA4C;AAK5C,MAAa,WAAW;IAgBpB,MAAM,GAAoB,yBAAe,CAAC,GAAG,CAAC;IAC9C,IAAI,GAA8B,WAAI,CAAC,KAAK,CAAC,EAAE,EAA6B,CAAC;IAE7E,MAAM,CAAW;IACjB,WAAW,CAAU;IAErB,EAAE,CAAO;IACT,GAAG,CAAQ;IACX,SAAS,CAA6B;IAEtC,
|
|
1
|
+
{"version":3,"file":"endpoint.js","sourceRoot":"","sources":["../../src/api/endpoint.ts"],"names":[],"mappings":";;;AACA,6CAA0C;AAC1C,uCAA4C;AAK5C,MAAa,WAAW;IAgBpB,MAAM,GAAoB,yBAAe,CAAC,GAAG,CAAC;IAC9C,IAAI,GAA8B,WAAI,CAAC,KAAK,CAAC,EAAE,EAA6B,CAAC;IAE7E,MAAM,CAAW;IACjB,WAAW,CAAU;IAErB,EAAE,CAAO;IACT,GAAG,CAAQ;IACX,SAAS,CAA6B;IAEtC,cAAc,CAA0B;IACxC,OAAO,CAAY;IAEnB,IAAW,WAAW,KAAK,OAAO,IAAI,CAAC,IAAI,CAAC,EAAE,EAAiB,CAAC,CAAC,CAAC;IAElE,MAAM,CAAC,SAAS,CAAkC,SAA0B,yBAAe,CAAC,GAAG,EAAE,WAAoB;QACjH,MAAM,GAAG,GAAG,IAAI,WAAW,EAAkD,CAAC;QAC9E,GAAG,CAAC,MAAM,GAAG,MAAM,CAAC;QACpB,GAAG,CAAC,WAAW,GAAG,WAAW,CAAC;QAC9B,OAAO,GAAG,CAAC;IACf,CAAC;IAED,MAAM,CAAC,GAAG,CAAO,WAAoB;QACjC,OAAO,WAAW,CAAC,SAAS,CAAa,yBAAe,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC;IAC/E,CAAC;IAED,MAAM,CAAC,IAAI,CAAyC,WAAoB;QACpE,OAAO,WAAW,CAAC,SAAS,CAAY,yBAAe,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;IAC/E,CAAC;IAED,MAAM,CAAC,MAAM,CAAO,WAAoB;QACpC,OAAO,WAAW,CAAC,SAAS,CAAa,yBAAe,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;IAClF,CAAC;IAEM,QAAQ,CAA6B,GAAG,IAAO;QAGlD,MAAM,GAAG,GAAG,IAA0E,CAAC;QACvF,MAAM,CAAC,GAAG,WAAI,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,CAAC;QAClC,GAAG,CAAC,IAAI,GAAG,CAAwC,CAAC;QACpD,OAAO,GAAG,CAAC;IACf,CAAC;IAEM,SAAS,CAAoB,GAAG,SAAgC;QACnE,MAAM,GAAG,GAAG,IAAuE,CAAC;QACpF,GAAG,CAAC,SAAS,GAAG,SAAS,CAAC;QAC1B,OAAO,GAAG,CAAC;IACf,CAAC;IAEM,UAAU,CAAO,cAAoC;QACxD,MAAM,GAAG,GAAG,IAAwE,CAAC;QACrF,GAAG,CAAC,cAAc,GAAG,cAAc,CAAC;QACpC,OAAO,GAAG,CAAC;IACf,CAAC;IAEM,WAAW,CAAS,cAAuB;QAC9C,OAAO,IAAyE,CAAC;IACrF,CAAC;IAEM,MAAM;QACT,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;QACnB,OAAO,IAAI,CAAC;IAChB,CAAC;CACJ;AA/ED,kCA+EC"}
|
package/api/endpoint.types.d.ts
CHANGED
|
@@ -6,6 +6,7 @@ export interface IEndpointInfo {
|
|
|
6
6
|
readonly isForm?: boolean;
|
|
7
7
|
readonly pathBuilder: Path.IBuilder;
|
|
8
8
|
readonly displayName?: string;
|
|
9
|
+
readonly errorProcessor?: (err?: any) => void;
|
|
9
10
|
readonly queryKeys?: string[];
|
|
10
11
|
}
|
|
11
12
|
export declare namespace IEndpointInfo {
|
|
@@ -22,7 +23,7 @@ export declare namespace IEndpointInfo {
|
|
|
22
23
|
readonly queryKeys?: (string & keyof TQuery)[];
|
|
23
24
|
}
|
|
24
25
|
export interface IErrors<TErrors> {
|
|
25
|
-
readonly
|
|
26
|
+
readonly errorProcessor?: (err: TErrors) => void;
|
|
26
27
|
}
|
|
27
28
|
export interface IHeaders<THeaders> {
|
|
28
29
|
readonly headers?: THeaders;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"endpoint.types.d.ts","sourceRoot":"","sources":["../../src/api/endpoint.types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,oBAAoB,CAAC;AAC1C,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AACzE,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAE5C,MAAM,WAAW,aAAa;IAC1B,QAAQ,CAAC,MAAM,EAAE,eAAe,CAAC;IACjC,QAAQ,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC;IAE1B,QAAQ,CAAC,WAAW,EAAE,IAAI,CAAC,QAAQ,CAAC;IAEpC,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"endpoint.types.d.ts","sourceRoot":"","sources":["../../src/api/endpoint.types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,oBAAoB,CAAC;AAC1C,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAC;AACzE,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAE5C,MAAM,WAAW,aAAa;IAC1B,QAAQ,CAAC,MAAM,EAAE,eAAe,CAAC;IACjC,QAAQ,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC;IAE1B,QAAQ,CAAC,WAAW,EAAE,IAAI,CAAC,QAAQ,CAAC;IAEpC,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,cAAc,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,GAAG,KAAK,IAAI,CAAC;IAE9C,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;CACjC;AAED,yBAAiB,aAAa,CAAC;IAE3B,MAAM,WAAW,GAAG,CAAC,GAAG,SAAS,MAAM,GAAG,IAAI;QAC1C,QAAQ,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC;KACrB;IAED,MAAM,OAAO,IAAI,CAAC,IAAI;QAClB,QAAQ,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC;KACvB;IAED,MAAM,WAAW,KAAK,CAAC,KAAK,SAAS,SAAS,MAAM,EAAE;QAClD,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;KAC5C;IAED,MAAM,WAAW,MAAM,CAAC,MAAM,SAAS,MAAM;QACzC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC,MAAM,GAAG,MAAM,MAAM,CAAC,EAAE,CAAC;KAClD;IAED,MAAM,WAAW,OAAO,CAAC,OAAO;QAC5B,QAAQ,CAAC,cAAc,CAAC,EAAE,CAAC,GAAG,EAAE,OAAO,KAAK,IAAI,CAAC;KACpD;IAED,MAAM,WAAW,QAAQ,CAAC,QAAQ;QAC9B,QAAQ,CAAC,OAAO,CAAC,EAAE,QAAQ,CAAC;KAC/B;IAED,KAAK,GAAG,GAAG,SAAS,CAAC;IACrB,KAAK,KAAK,GAAG,mBAAmB,CAAC;IAEjC,MAAM,MAAM,SAAS,CAAC,CAAC,IAAI,CAAC,SAAS,GAAG,CAAC,MAAM,GAAG,CAAC,GAC7C,QAAQ,CAAC,GAAG,CAAC,GACb,KAAK,CAAC;IAEZ,MAAM,MAAM,WAAW,CAAC,CAAC,IAAI,CAAC,SAAS,KAAK,CAAC,MAAM,KAAK,SAAS,MAAM,EAAE,CAAC,GACpE,CAAC,SAAS,EAAE,SAAS,KAAK,GAAG,KAAK,GAAG,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,GAC3E,KAAK,CAAC;IAEZ,MAAM,MAAM,YAAY,CAAC,CAAC,IAAI,CAAC,SAAS,MAAM,CAAC,MAAM,MAAM,CAAC,GACtD,MAAM,GACN,KAAK,CAAC;IAEZ,MAAM,MAAM,UAAU,CAAC,CAAC,IAAI,CAAC,SAAS,IAAI,CAAC,MAAM,IAAI,CAAC,GAChD,IAAI,GACJ,KAAK,CAAC;IAEZ,MAAM,MAAM,aAAa,CAAC,CAAC,IAAI,CAAC,SAAS,OAAO,CAAC,MAAM,OAAO,CAAC,GAAG,OAAO,GAAG,GAAG,CAAC;IAChF,MAAM,MAAM,cAAc,CAAC,CAAC,IAAI,CAAC,SAAS,QAAQ,CAAC,MAAM,QAAQ,CAAC,GAAG,QAAQ,GAAG,GAAG,CAAC;;CACvF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"endpoint.types.js","sourceRoot":"","sources":["../../src/api/endpoint.types.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"endpoint.types.js","sourceRoot":"","sources":["../../src/api/endpoint.types.ts"],"names":[],"mappings":";;;AAgBA,IAAiB,aAAa,CA+C7B;AA/CD,WAAiB,aAAa;IAM1B,MAAa,IAAI;QACJ,GAAG,CAAQ;KACvB;IAFY,kBAAI,OAEhB,CAAA;AAuCL,CAAC,EA/CgB,aAAa,6BAAb,aAAa,QA+C7B"}
|
package/observing/timer.d.ts
CHANGED
|
@@ -1,15 +1,42 @@
|
|
|
1
1
|
import { IDisposable } from '../functions/disposer';
|
|
2
2
|
import { EventHandler, IEvent } from './event';
|
|
3
|
-
export
|
|
3
|
+
export type TimerState = {
|
|
4
|
+
timer: Timer;
|
|
5
|
+
elapsed: number;
|
|
6
|
+
left: number;
|
|
7
|
+
now: number;
|
|
8
|
+
};
|
|
9
|
+
export declare class Timer implements IDisposable, IEvent<TimerState> {
|
|
4
10
|
readonly interval: number;
|
|
5
11
|
private readonly _event;
|
|
12
|
+
private readonly _onFinished;
|
|
6
13
|
private _now;
|
|
14
|
+
private _elapsed;
|
|
15
|
+
private _left;
|
|
16
|
+
private _duration;
|
|
7
17
|
private _handle;
|
|
8
|
-
|
|
18
|
+
/**
|
|
19
|
+
* @param interval timer firing interval in milliseconds
|
|
20
|
+
* @param start whether to start the timer immediately. default is `true`
|
|
21
|
+
*/
|
|
22
|
+
constructor(interval?: number, start?: boolean);
|
|
23
|
+
/** the timestamp when the timer last fired */
|
|
9
24
|
get now(): number;
|
|
10
|
-
|
|
11
|
-
|
|
25
|
+
/** the duration of the timer in milliseconds. If was not set, `Number.MAX_SAFE_INTEGER` */
|
|
26
|
+
get duration(): number;
|
|
27
|
+
/** the elapsed milliseconds since the timer started */
|
|
28
|
+
get elapsed(): number;
|
|
29
|
+
/** left milliseconds for this timer. If duration was not set, `Number.MAX_SAFE_INTEGER` */
|
|
30
|
+
get left(): number;
|
|
31
|
+
/** Fired when the timer has finished by duration, if set */
|
|
32
|
+
get onFinished(): IEvent<TimerState>;
|
|
33
|
+
/** Adds duration in milliseconds for the timer so it will auto-stop when elapsed is >= duration */
|
|
34
|
+
withDuration(duration: number): this;
|
|
35
|
+
on(handler: EventHandler<TimerState>): () => void;
|
|
36
|
+
off(handler: EventHandler<TimerState>): void;
|
|
37
|
+
/** (Re-)Starts the timer */
|
|
12
38
|
restart(): void;
|
|
39
|
+
/** Stops the timer but does not clean all counters. */
|
|
13
40
|
dispose(): void;
|
|
14
41
|
}
|
|
15
42
|
//# sourceMappingURL=timer.d.ts.map
|
package/observing/timer.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"timer.d.ts","sourceRoot":"","sources":["../../src/observing/timer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"timer.d.ts","sourceRoot":"","sources":["../../src/observing/timer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAEpD,OAAO,EAAS,YAAY,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AAEtD,MAAM,MAAM,UAAU,GAAG;IACrB,KAAK,EAAE,KAAK,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,qBAAa,KAAM,YAAW,WAAW,EAAE,MAAM,CAAC,UAAU,CAAC;IAiB7C,QAAQ,CAAC,QAAQ;IAhB7B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA2B;IAClD,OAAO,CAAC,QAAQ,CAAC,WAAW,CAA2B;IAEvD,OAAO,CAAC,IAAI,CAAsB;IAElC,OAAO,CAAC,QAAQ,CAAa;IAC7B,OAAO,CAAC,KAAK,CAAmB;IAEhC,OAAO,CAAC,SAAS,CAAmB;IAEpC,OAAO,CAAC,OAAO,CAA+C;IAE9D;;;OAGG;gBACkB,QAAQ,SAAc,EAAE,KAAK,UAAO;IAMzD,+CAA+C;IAC/C,IAAI,GAAG,WAAwB;IAC/B,2FAA2F;IAC3F,IAAI,QAAQ,WAAwD;IACpE,uDAAuD;IACvD,IAAI,OAAO,WAA4B;IACvC,2FAA2F;IAC3F,IAAI,IAAI,WAAoD;IAE5D,4DAA4D;IAC5D,IAAI,UAAU,uBAAwC;IAEtD,mGAAmG;IACnG,YAAY,CAAC,QAAQ,EAAE,MAAM;IAM7B,EAAE,CAAC,OAAO,EAAE,YAAY,CAAC,UAAU,CAAC,GAAG,MAAM,IAAI;IAIjD,GAAG,CAAC,OAAO,EAAE,YAAY,CAAC,UAAU,CAAC,GAAG,IAAI;IAI5C,4BAA4B;IACrB,OAAO;IAsCd,uDAAuD;IAChD,OAAO,IAAI,IAAI;CAMzB"}
|
package/observing/timer.js
CHANGED
|
@@ -5,14 +5,37 @@ const event_1 = require("./event");
|
|
|
5
5
|
class Timer {
|
|
6
6
|
interval;
|
|
7
7
|
_event = new event_1.Event();
|
|
8
|
+
_onFinished = new event_1.Event();
|
|
8
9
|
_now = Date.now();
|
|
10
|
+
_elapsed = 0;
|
|
11
|
+
_left;
|
|
12
|
+
_duration;
|
|
9
13
|
_handle = null;
|
|
10
|
-
|
|
14
|
+
/**
|
|
15
|
+
* @param interval timer firing interval in milliseconds
|
|
16
|
+
* @param start whether to start the timer immediately. default is `true`
|
|
17
|
+
*/
|
|
18
|
+
constructor(interval = 3600 * 1000, start = true) {
|
|
11
19
|
this.interval = interval;
|
|
12
|
-
|
|
20
|
+
if (start) {
|
|
21
|
+
this.restart();
|
|
22
|
+
}
|
|
13
23
|
}
|
|
14
|
-
|
|
15
|
-
|
|
24
|
+
/** the timestamp when the timer last fired */
|
|
25
|
+
get now() { return this._now; }
|
|
26
|
+
/** the duration of the timer in milliseconds. If was not set, `Number.MAX_SAFE_INTEGER` */
|
|
27
|
+
get duration() { return this._duration ?? Number.MAX_SAFE_INTEGER; }
|
|
28
|
+
/** the elapsed milliseconds since the timer started */
|
|
29
|
+
get elapsed() { return this._elapsed; }
|
|
30
|
+
/** left milliseconds for this timer. If duration was not set, `Number.MAX_SAFE_INTEGER` */
|
|
31
|
+
get left() { return this._left ?? Number.MAX_SAFE_INTEGER; }
|
|
32
|
+
/** Fired when the timer has finished by duration, if set */
|
|
33
|
+
get onFinished() { return this._onFinished.expose(); }
|
|
34
|
+
/** Adds duration in milliseconds for the timer so it will auto-stop when elapsed is >= duration */
|
|
35
|
+
withDuration(duration) {
|
|
36
|
+
this._duration = duration;
|
|
37
|
+
this._left = duration;
|
|
38
|
+
return this;
|
|
16
39
|
}
|
|
17
40
|
on(handler) {
|
|
18
41
|
return this._event.on(handler);
|
|
@@ -20,14 +43,37 @@ class Timer {
|
|
|
20
43
|
off(handler) {
|
|
21
44
|
return this._event.off(handler);
|
|
22
45
|
}
|
|
46
|
+
/** (Re-)Starts the timer */
|
|
23
47
|
restart() {
|
|
24
48
|
this.dispose();
|
|
25
|
-
|
|
26
|
-
this.
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
49
|
+
this._elapsed = 0;
|
|
50
|
+
this._now = Date.now();
|
|
51
|
+
this._left = this._duration;
|
|
52
|
+
const startTime = this._now;
|
|
53
|
+
const getState = () => ({
|
|
54
|
+
timer: this,
|
|
55
|
+
elapsed: this._elapsed,
|
|
56
|
+
left: this.left,
|
|
57
|
+
now: this._now,
|
|
58
|
+
});
|
|
59
|
+
const onTick = (firstTime = false) => {
|
|
60
|
+
const now = Date.now();
|
|
61
|
+
this._elapsed = now - startTime;
|
|
62
|
+
this._now = now;
|
|
63
|
+
this._left = this._duration
|
|
64
|
+
? Math.max(0, this._duration - this._elapsed)
|
|
65
|
+
: null;
|
|
66
|
+
this._event.trigger(getState());
|
|
67
|
+
if (!firstTime && this._left != null && this._left <= 0) {
|
|
68
|
+
this.dispose();
|
|
69
|
+
this._onFinished.trigger(getState());
|
|
70
|
+
}
|
|
71
|
+
};
|
|
72
|
+
// Update _now once an interval
|
|
73
|
+
this._handle = setInterval(() => onTick(), this.interval);
|
|
74
|
+
onTick(true);
|
|
30
75
|
}
|
|
76
|
+
/** Stops the timer but does not clean all counters. */
|
|
31
77
|
dispose() {
|
|
32
78
|
if (this._handle) {
|
|
33
79
|
clearInterval(this._handle);
|
package/observing/timer.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"timer.js","sourceRoot":"","sources":["../../src/observing/timer.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"timer.js","sourceRoot":"","sources":["../../src/observing/timer.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -43,15 +43,22 @@ export declare class PromiseExtended<T, TCustomErrors extends Record<string, unk
|
|
|
43
43
|
private readonly _errorProcessors;
|
|
44
44
|
private constructor();
|
|
45
45
|
static run<T, TErrors extends Record<string, unknown> = Record<never, unknown>>(worker: Promise<T> | (() => Promise<T>)): PromiseExtended<T, TErrors>;
|
|
46
|
+
static succeeded<T>(data: T): PromiseExtended<T>;
|
|
47
|
+
static errored<T, TErrors extends Record<string, unknown>>(source: Error | string): PromiseExtended<T, TErrors>;
|
|
46
48
|
onError(cb: Nullable<(data: PromiseExtended.ErrorData & TCustomErrors) => void>): this;
|
|
47
49
|
onSuccess(cb: Nullable<(data: T) => void>): this;
|
|
48
|
-
expectError<TName extends string, TError2 extends Error>(name: TName, ErrCtor: new (...args: any[]) => TError2): PromiseExtended<T, TCustomErrors & Record<TName, TError2>>;
|
|
50
|
+
expectError<TName extends string, TError2 extends Error>(name: TName, ErrCtor: new (...args: any[]) => TError2, processor?: (value: TError2) => void): PromiseExtended<T, TCustomErrors & Record<TName, TError2>>;
|
|
49
51
|
then<TResult1 = T, TResult2 = never>(onfulfilled?: ((value: T) => TResult1 | PromiseLike<TResult1>) | null | undefined, onrejected?: ((reason: unknown) => TResult2 | PromiseLike<TResult2>) | null | undefined): PromiseExtended<TResult1 | TResult2, TCustomErrors>;
|
|
50
52
|
catch<TResult = never>(onrejected?: ((reason: unknown) => TResult | PromiseLike<TResult>) | null | undefined): PromiseExtended<T | TResult, TCustomErrors>;
|
|
51
53
|
finally(onfinally?: (() => void) | null | undefined): this;
|
|
52
54
|
get [Symbol.toStringTag](): string;
|
|
53
55
|
private getError;
|
|
54
56
|
private _catch;
|
|
57
|
+
/** Adds to the end of chain special marker that allow outer PromiseExtended to correctly process this instance with its own onSuccess/onError callbacks.
|
|
58
|
+
*
|
|
59
|
+
* See `example for combining` test case for more details.
|
|
60
|
+
*/
|
|
61
|
+
pop(): PromiseExtended<T, TCustomErrors>;
|
|
55
62
|
protected onErrorCaught(data: PromiseExtended.ErrorData): void;
|
|
56
63
|
}
|
|
57
64
|
export declare namespace PromiseExtended {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"promiseExtended.d.ts","sourceRoot":"","sources":["../../src/structures/promiseExtended.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAE9C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqCG;AACH,qBAAa,eAAe,CAAC,CAAC,EAAE,aAAa,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC,KAAK,EAAE,OAAO,CAAC,CAAE,YAAW,OAAO,CAAC,CAAC,CAAC;IAEzH,SAAS,CAAC,MAAM,EAAE,eAAe,CAAC,SAAS,GAAG,IAAI,CAAQ;IAE1D,OAAO,CAAC,QAAQ,CAAa;IAC7B,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAqD;IAEtF,OAAO;WAIO,GAAG,CAAC,CAAC,EAAE,OAAO,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC,KAAK,EAAE,OAAO,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,eAAe,CAAC,CAAC,EAAE,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"promiseExtended.d.ts","sourceRoot":"","sources":["../../src/structures/promiseExtended.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAE9C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqCG;AACH,qBAAa,eAAe,CAAC,CAAC,EAAE,aAAa,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC,KAAK,EAAE,OAAO,CAAC,CAAE,YAAW,OAAO,CAAC,CAAC,CAAC;IAEzH,SAAS,CAAC,MAAM,EAAE,eAAe,CAAC,SAAS,GAAG,IAAI,CAAQ;IAE1D,OAAO,CAAC,QAAQ,CAAa;IAC7B,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAqD;IAEtF,OAAO;WAIO,GAAG,CAAC,CAAC,EAAE,OAAO,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC,KAAK,EAAE,OAAO,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,eAAe,CAAC,CAAC,EAAE,OAAO,CAAC;WAY9I,SAAS,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,GAAG,eAAe,CAAC,CAAC,CAAC;WAIzC,OAAO,CAAC,CAAC,EAAE,OAAO,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,EAAE,KAAK,GAAG,MAAM,GAAG,eAAe,CAAC,CAAC,EAAE,OAAO,CAAC;IAM/G,OAAO,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC,IAAI,EAAE,eAAe,CAAC,SAAS,GAAG,aAAa,KAAK,IAAI,CAAC,GAAG,IAAI;IAYtF,SAAS,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC,IAAI,EAAE,CAAC,KAAK,IAAI,CAAC,GAAG,IAAI;IAYhD,WAAW,CAAC,KAAK,SAAS,MAAM,EAAE,OAAO,SAAS,KAAK,EAC1D,IAAI,EAAE,KAAK,EACX,OAAO,EAAE,KAAK,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,OAAO,EACxC,SAAS,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,GACrC,eAAe,CAAC,CAAC,EAAE,aAAa,GAAG,MAAM,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IAa7D,IAAI,CAAC,QAAQ,GAAG,CAAC,EAAE,QAAQ,GAAG,KAAK,EAC/B,WAAW,CAAC,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,KAAK,QAAQ,GAAG,WAAW,CAAC,QAAQ,CAAC,CAAC,GAAG,IAAI,GAAG,SAAS,EACjF,UAAU,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE,OAAO,KAAK,QAAQ,GAAG,WAAW,CAAC,QAAQ,CAAC,CAAC,GAAG,IAAI,GAAG,SAAS;IAO3F,KAAK,CAAC,OAAO,GAAG,KAAK,EAAE,UAAU,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE,OAAO,KAAK,OAAO,GAAG,WAAW,CAAC,OAAO,CAAC,CAAC,GAAG,IAAI,GAAG,SAAS;IAM5G,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC,MAAM,IAAI,CAAC,GAAG,IAAI,GAAG,SAAS;IAKnD,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,IAAI,MAAM,CAA8C;IAEhF,OAAO,CAAC,QAAQ;IAWhB,OAAO,CAAC,MAAM,CAqBZ;IAEF;;;OAGG;IACI,GAAG;IAMV,SAAS,CAAC,aAAa,CAAC,IAAI,EAAE,eAAe,CAAC,SAAS;CAG1D;AAED,yBAAiB,eAAe,CAAC;IAC7B,KAAY,SAAS,GAAG;QACpB,KAAK,EAAE,MAAM,CAAC;QACd,MAAM,EAAE,KAAK,CAAC;KACjB,CAAC;CACL"}
|
|
@@ -55,6 +55,14 @@ class PromiseExtended {
|
|
|
55
55
|
}
|
|
56
56
|
return new PromiseExtended(promise);
|
|
57
57
|
}
|
|
58
|
+
static succeeded(data) {
|
|
59
|
+
return new PromiseExtended(Promise.resolve(data));
|
|
60
|
+
}
|
|
61
|
+
static errored(source) {
|
|
62
|
+
const err = typeof source === 'string' ? new Error(source) : source;
|
|
63
|
+
const promise = new PromiseExtended(Promise.reject(err));
|
|
64
|
+
return promise;
|
|
65
|
+
}
|
|
58
66
|
onError(cb) {
|
|
59
67
|
if (cb != null) {
|
|
60
68
|
this._promise = this._promise.then(data => {
|
|
@@ -77,10 +85,11 @@ class PromiseExtended {
|
|
|
77
85
|
}
|
|
78
86
|
return this;
|
|
79
87
|
}
|
|
80
|
-
expectError(name, ErrCtor) {
|
|
88
|
+
expectError(name, ErrCtor, processor) {
|
|
81
89
|
this._errorProcessors.push(errorData => {
|
|
82
90
|
const src = errorData?.source;
|
|
83
91
|
if (src && src instanceof ErrCtor) {
|
|
92
|
+
processor?.(src);
|
|
84
93
|
Object.assign(errorData, { [name]: errorData.source });
|
|
85
94
|
}
|
|
86
95
|
});
|
|
@@ -110,6 +119,15 @@ class PromiseExtended {
|
|
|
110
119
|
return data;
|
|
111
120
|
}
|
|
112
121
|
_catch = (err) => {
|
|
122
|
+
if (err instanceof PromiseExtendedInnerMarker) {
|
|
123
|
+
// we've caught the marker, so we need to redirect everything to the inner instance
|
|
124
|
+
// first, if we still didn't catch any error, we're taking it from the inner instance
|
|
125
|
+
if (!this._error && err.instance._error) {
|
|
126
|
+
this.onErrorCaught(err.instance.getError());
|
|
127
|
+
}
|
|
128
|
+
// returning inner promise will also resolve with their resolved data
|
|
129
|
+
return err.data;
|
|
130
|
+
}
|
|
113
131
|
let message = '';
|
|
114
132
|
if (Array.isArray(err)) {
|
|
115
133
|
message = err.map(e => e.message).join('\n');
|
|
@@ -120,9 +138,32 @@ class PromiseExtended {
|
|
|
120
138
|
this.onErrorCaught({ error: message, source: err });
|
|
121
139
|
return undefined;
|
|
122
140
|
};
|
|
141
|
+
/** Adds to the end of chain special marker that allow outer PromiseExtended to correctly process this instance with its own onSuccess/onError callbacks.
|
|
142
|
+
*
|
|
143
|
+
* See `example for combining` test case for more details.
|
|
144
|
+
*/
|
|
145
|
+
pop() {
|
|
146
|
+
return this.then(data => {
|
|
147
|
+
throw new PromiseExtendedInnerMarker(this, data);
|
|
148
|
+
});
|
|
149
|
+
}
|
|
123
150
|
onErrorCaught(data) {
|
|
124
151
|
this._error = data;
|
|
125
152
|
}
|
|
126
153
|
}
|
|
127
154
|
exports.PromiseExtended = PromiseExtended;
|
|
155
|
+
/*
|
|
156
|
+
|
|
157
|
+
Idea: would be nice to combine few Promises and PromiseExtended's into one PromiseExtended instance, so the final result will be handled by onSuccess/onError
|
|
158
|
+
|
|
159
|
+
*/
|
|
160
|
+
class PromiseExtendedInnerMarker extends Error {
|
|
161
|
+
instance;
|
|
162
|
+
data;
|
|
163
|
+
constructor(instance, data) {
|
|
164
|
+
super('This is a marker error for PromiseExtended instance, it should be handled internally. If you see this, it means an async function `PromiseExtended.pop()` was called in is not wrapped with `PromiseExtended.run()` or not awaited.');
|
|
165
|
+
this.instance = instance;
|
|
166
|
+
this.data = data;
|
|
167
|
+
}
|
|
168
|
+
}
|
|
128
169
|
//# sourceMappingURL=promiseExtended.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"promiseExtended.js","sourceRoot":"","sources":["../../src/structures/promiseExtended.ts"],"names":[],"mappings":";;;AAEA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqCG;AACH,MAAa,eAAe;IAEd,MAAM,GAAqC,IAAI,CAAC;IAElD,QAAQ,CAAa;IACZ,gBAAgB,GAAkD,EAAE,CAAC;IAEtF,YAAoB,OAAmB;QACnC,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAe,CAAC;IAC7D,CAAC;IAEM,MAAM,CAAC,GAAG,CAAsE,MAAuC;QAC1H,MAAM,OAAO,GAAG,OAAO,MAAM,KAAK,UAAU;YACxC,CAAC,CAAC,MAAM,EAAE;YACV,CAAC,CAAC,MAAM,CAAC;QAEb,IAAI,OAAO,YAAY,eAAe,EAAE,CAAC;YACrC,OAAO,OAAO,CAAC;QACnB,CAAC;QAED,OAAO,IAAI,eAAe,CAAa,OAAO,CAAC,CAAC;IACpD,CAAC;IAEM,OAAO,CAAC,EAAuE;QAClF,IAAI,EAAE,IAAI,IAAI,EAAE,CAAC;YACb,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;gBACtC,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;oBACd,EAAE,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;gBACxB,CAAC;gBACD,OAAO,IAAI,CAAC;YAChB,CAAC,CAAC,CAAC;QACP,CAAC;QACD,OAAO,IAAI,CAAC;IAChB,CAAC;IAEM,SAAS,CAAC,EAA+B;QAC5C,IAAI,EAAE,IAAI,IAAI,EAAE,CAAC;YACb,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;gBACtC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;oBACf,EAAE,CAAC,IAAI,CAAC,CAAC;gBACb,CAAC;gBACD,OAAO,IAAI,CAAC;YAChB,CAAC,CAAC,CAAC;QACP,CAAC;QACD,OAAO,IAAI,CAAC;IAChB,CAAC;IAEM,WAAW,CACd,IAAW,EACX,OAAwC;
|
|
1
|
+
{"version":3,"file":"promiseExtended.js","sourceRoot":"","sources":["../../src/structures/promiseExtended.ts"],"names":[],"mappings":"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"}
|