@zajno/common 2.3.2 → 2.3.4
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.d.ts +1 -1
- package/api/call.d.ts.map +1 -1
- package/api/call.js +2 -1
- package/api/call.js.map +1 -1
- package/api/endpoint.d.ts +3 -2
- package/api/endpoint.d.ts.map +1 -1
- package/api/endpoint.js +6 -3
- package/api/endpoint.js.map +1 -1
- package/api/endpoint.types.d.ts +8 -2
- package/api/endpoint.types.d.ts.map +1 -1
- package/api/endpoint.types.js.map +1 -1
- package/api/helpers.d.ts +2 -1
- package/api/helpers.d.ts.map +1 -1
- package/api/helpers.js +9 -7
- package/api/helpers.js.map +1 -1
- package/math/object/ops.d.ts.map +1 -1
- package/math/object/ops.js +5 -2
- package/math/object/ops.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 +8 -8
- 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/types/deep.d.ts +17 -17
- package/types/deep.d.ts.map +1 -1
- package/validation/validators.d.ts.map +1 -1
- package/validation/wrappers.d.ts.map +1 -1
package/api/call.d.ts
CHANGED
|
@@ -25,6 +25,6 @@ type CallerOptions = {
|
|
|
25
25
|
}>;
|
|
26
26
|
};
|
|
27
27
|
export type EndpointCallArgs<T extends IEndpointInfo> = IEndpointInfo.ExtractIn<T> | IEndpointInfo.ExtractPath<T> | IEndpointInfo.ExtractQuery<T>;
|
|
28
|
-
export declare function buildApiCaller(options: CallerOptions): <T extends IEndpointInfo>(api: T, data: EndpointCallArgs<T>, extra?: Extra<T>
|
|
28
|
+
export declare function buildApiCaller(options: CallerOptions): <T extends IEndpointInfo>(api: T, data: EndpointCallArgs<T>, extra?: Extra<T>) => Promise<IEndpointInfo.ExtractOut<T>>;
|
|
29
29
|
export {};
|
|
30
30
|
//# sourceMappingURL=call.d.ts.map
|
package/api/call.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"call.d.ts","sourceRoot":"","sources":["../../src/api/call.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AACrC,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAC3C,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAC5C,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"call.d.ts","sourceRoot":"","sources":["../../src/api/call.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AACrC,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAC3C,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAC5C,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAGrC,KAAK,KAAK,CAAC,CAAC,IAAI;IACZ,OAAO,CAAC,EAAE,aAAa,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC;IAC1C,GAAG,CAAC,EAAE,QAAQ,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,aAAa,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;IACxE,QAAQ,CAAC,EAAE,OAAO,CAAC;CACtB,CAAC;AAEF,MAAM,MAAM,aAAa,CAAC,GAAG,IAAI;IAC7B,MAAM,EAAE,eAAe,GAAG,MAAM,GAAG,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;IACxD,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,GAAG,GAAG,IAAI,GAAG,SAAS,CAAC;IAC7B,OAAO,EAAE,SAAS,CAAC;CACtB,CAAC;AAEF,MAAM,MAAM,oBAAoB,CAAC,CAAC,SAAS,aAAa,GAAG,aAAa,EAAE,GAAG,GAAG,aAAa,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,aAAa,CAAC,GAAG,CAAC,GAAG;IAC/H,IAAI,EAAE,CAAC,CAAC;IACR,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,IAAI,CAAC,EAAE,QAAQ,CAAC;CACnB,CAAC;AAEF,KAAK,aAAa,GAAG;IACjB,cAAc,CAAC,EAAE,CAAC,GAAG,EAAE,aAAa,EAAE,KAAK,EAAE,GAAG,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACnE,OAAO,EAAE,CAAC,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,oBAAoB,CAAC,aAAa,EAAE,GAAG,CAAC,KAAK,OAAO,CAAC;QAAE,IAAI,EAAE,IAAI,CAAA;KAAE,CAAC,CAAC;CACrG,CAAC;AAEF,MAAM,MAAM,gBAAgB,CAAC,CAAC,SAAS,aAAa,IAAI,aAAa,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,aAAa,CAAC,WAAW,CAAC,CAAC,CAAC,GAAG,aAAa,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;AAElJ,wBAAgB,cAAc,CAAC,OAAO,EAAE,aAAa,kCAKxC,CAAC,QACA,iBAAiB,CAAC,CAAC,UACjB,MAAM,CAAC,CAAC,0CAgEvB"}
|
package/api/call.js
CHANGED
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.buildApiCaller = void 0;
|
|
4
4
|
const register_1 = require("./register");
|
|
5
|
+
const helpers_1 = require("./helpers");
|
|
5
6
|
function buildApiCaller(options) {
|
|
6
7
|
const { bodyValidation, request } = options;
|
|
7
8
|
return async function callApi(api, data, extra) {
|
|
@@ -42,7 +43,7 @@ function buildApiCaller(options) {
|
|
|
42
43
|
const method = api.method || 'GET';
|
|
43
44
|
const config = {
|
|
44
45
|
method,
|
|
45
|
-
url:
|
|
46
|
+
url: (0, helpers_1.getPath)(api, pathInputs) + queryStr,
|
|
46
47
|
data: register_1.PreProcessors.process(api, sendingData) || undefined,
|
|
47
48
|
headers: headers || {},
|
|
48
49
|
_api: api,
|
package/api/call.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"call.js","sourceRoot":"","sources":["../../src/api/call.ts"],"names":[],"mappings":";;;AAAA,yCAA2D;
|
|
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,8 @@ 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
|
+
queryTemplate?: TQuery;
|
|
15
|
+
errorProcessor?: (err: TErrors) => void;
|
|
15
16
|
headers?: THeaders;
|
|
16
17
|
get pathBuilder(): Path.IBuilder;
|
|
17
18
|
static construct<TIn extends object | null, TOut>(method?: EndpointMethods, displayName?: string): ApiEndpoint<TIn, TOut, readonly [], object, any, AnyObject>;
|
|
@@ -20,7 +21,7 @@ export declare class ApiEndpoint<TIn extends object | null, TOut, TPath extends
|
|
|
20
21
|
static delete<TOut>(displayName?: string): ApiEndpoint<null, TOut, readonly [], object, any, AnyObject>;
|
|
21
22
|
withPath<P extends Path.BaseInput[]>(...path: P): ApiEndpoint<TIn, TOut, Path.ExtractArgs<Path.CombineBuilders<P>>, TQuery, TErrors, THeaders>;
|
|
22
23
|
withQuery<TQ extends object>(...queryKeys: (string & keyof TQ)[]): ApiEndpoint<TIn, TOut, TPath, TQ, TErrors, THeaders>;
|
|
23
|
-
withErrors<TErr>(
|
|
24
|
+
withErrors<TErr>(errorProcessor?: (err: TErr) => void): ApiEndpoint<TIn, TOut, TPath, TQuery, TErr, THeaders>;
|
|
24
25
|
withHeaders<THeads>(_headersMarker?: THeads): ApiEndpoint<TIn, TOut, TPath, TQuery, TErrors, THeads>;
|
|
25
26
|
asForm(): this;
|
|
26
27
|
}
|
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;
|
|
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;IACtC,aAAa,CAAC,EAAE,MAAM,CAAC;IAEvB,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,8 @@ class ApiEndpoint {
|
|
|
11
11
|
in;
|
|
12
12
|
out;
|
|
13
13
|
queryKeys;
|
|
14
|
-
|
|
14
|
+
queryTemplate;
|
|
15
|
+
errorProcessor;
|
|
15
16
|
headers;
|
|
16
17
|
get pathBuilder() { return this.path.as(); }
|
|
17
18
|
static construct(method = methods_1.EndpointMethods.GET, displayName) {
|
|
@@ -40,8 +41,10 @@ class ApiEndpoint {
|
|
|
40
41
|
res.queryKeys = queryKeys;
|
|
41
42
|
return res;
|
|
42
43
|
}
|
|
43
|
-
withErrors(
|
|
44
|
-
|
|
44
|
+
withErrors(errorProcessor) {
|
|
45
|
+
const res = this;
|
|
46
|
+
res.errorProcessor = errorProcessor;
|
|
47
|
+
return res;
|
|
45
48
|
}
|
|
46
49
|
withHeaders(_headersMarker) {
|
|
47
50
|
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;
|
|
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;IACtC,aAAa,CAAU;IAEvB,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;AAhFD,kCAgFC"}
|
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 {
|
|
@@ -18,11 +19,16 @@ export declare namespace IEndpointInfo {
|
|
|
18
19
|
export interface IPath<TPath extends readonly string[]> {
|
|
19
20
|
readonly path: Path.SwitchBuilder<TPath>;
|
|
20
21
|
}
|
|
22
|
+
export type QueryKeysType = boolean | string | string[] | number | number[];
|
|
23
|
+
export type QueryArgs = Record<string, QueryKeysType>;
|
|
21
24
|
export interface IQuery<TQuery extends object> {
|
|
25
|
+
/** actual query keys to be used in argument object parsing */
|
|
22
26
|
readonly queryKeys?: (string & keyof TQuery)[];
|
|
27
|
+
/** dummy marker object for better type determining */
|
|
28
|
+
readonly queryTemplate?: TQuery;
|
|
23
29
|
}
|
|
24
30
|
export interface IErrors<TErrors> {
|
|
25
|
-
readonly
|
|
31
|
+
readonly errorProcessor?: (err: TErrors) => void;
|
|
26
32
|
}
|
|
27
33
|
export interface IHeaders<THeaders> {
|
|
28
34
|
readonly headers?: THeaders;
|
|
@@ -31,7 +37,7 @@ export declare namespace IEndpointInfo {
|
|
|
31
37
|
type Empty = EmptyObjectNullable;
|
|
32
38
|
export type ExtractIn<T> = T extends IIn<infer TIn> ? Coalesce<TIn> : Empty;
|
|
33
39
|
export type ExtractPath<T> = T extends IPath<infer TPath extends string[]> ? (readonly [] extends TPath ? Empty : Path.ObjectBuilderArgs<TPath[number]>) : Empty;
|
|
34
|
-
export type ExtractQuery<T> = T extends IQuery<infer TQuery> ? TQuery : Empty;
|
|
40
|
+
export type ExtractQuery<T> = T extends IQuery<infer TQuery extends QueryArgs> ? TQuery : Empty;
|
|
35
41
|
export type ExtractOut<T> = T extends IOut<infer TOut> ? TOut : never;
|
|
36
42
|
export type ExtractErrors<T> = T extends IErrors<infer TErrors> ? TErrors : Any;
|
|
37
43
|
export type ExtractHeaders<T> = T extends IHeaders<infer THeaders> ? THeaders : Any;
|
|
@@ -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":"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"}
|
|
@@ -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,CAqD7B;AArDD,WAAiB,aAAa;IAM1B,MAAa,IAAI;QACJ,GAAG,CAAQ;KACvB;IAFY,kBAAI,OAEhB,CAAA;AA6CL,CAAC,EArDgB,aAAa,6BAAb,aAAa,QAqD7B"}
|
package/api/helpers.d.ts
CHANGED
|
@@ -4,6 +4,7 @@ export declare const DefaultSettings: {
|
|
|
4
4
|
basePrefix: string;
|
|
5
5
|
};
|
|
6
6
|
export declare function setDefaults(settings: Partial<typeof DefaultSettings>): void;
|
|
7
|
-
export declare function getPath<T extends IEndpointInfo>(endpoint: T, pathArgs
|
|
7
|
+
export declare function getPath<T extends IEndpointInfo>(endpoint: T, pathArgs: IEndpointInfo.ExtractPath<T>, prefix?: string | boolean): string;
|
|
8
|
+
export declare function getTemplate<T extends IEndpointInfo>(endpoint: T, prefix?: string | boolean): string;
|
|
8
9
|
export declare function getFormattedDisplayName(endpoint: IEndpointInfo): string;
|
|
9
10
|
//# sourceMappingURL=helpers.d.ts.map
|
package/api/helpers.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../src/api/helpers.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAE3C,eAAO,MAAM,eAAe;;;CAG3B,CAAC;AAEF,wBAAgB,WAAW,CAAC,QAAQ,EAAE,OAAO,CAAC,OAAO,eAAe,CAAC,QAEpE;
|
|
1
|
+
{"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../src/api/helpers.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAE3C,eAAO,MAAM,eAAe;;;CAG3B,CAAC;AAEF,wBAAgB,WAAW,CAAC,QAAQ,EAAE,OAAO,CAAC,OAAO,eAAe,CAAC,QAEpE;AAKD,wBAAgB,OAAO,CAAC,CAAC,SAAS,aAAa,EAAE,QAAQ,EAAE,CAAC,EAAE,QAAQ,EAAE,aAAa,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,MAAM,GAAE,MAAM,GAAG,OAAc,UAEpI;AAED,wBAAgB,WAAW,CAAC,CAAC,SAAS,aAAa,EAAE,QAAQ,EAAE,CAAC,EAAE,MAAM,GAAE,MAAM,GAAG,OAAc,UAEhG;AAED,wBAAgB,uBAAuB,CAAC,QAAQ,EAAE,aAAa,UAM9D"}
|
package/api/helpers.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.getFormattedDisplayName = exports.getPath = exports.setDefaults = exports.DefaultSettings = void 0;
|
|
3
|
+
exports.getFormattedDisplayName = exports.getTemplate = exports.getPath = exports.setDefaults = exports.DefaultSettings = void 0;
|
|
4
4
|
exports.DefaultSettings = {
|
|
5
5
|
templateArgPrefix: ':',
|
|
6
6
|
basePrefix: '/',
|
|
@@ -9,15 +9,17 @@ function setDefaults(settings) {
|
|
|
9
9
|
Object.assign(exports.DefaultSettings, settings);
|
|
10
10
|
}
|
|
11
11
|
exports.setDefaults = setDefaults;
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
}
|
|
16
|
-
return endpoint.pathBuilder.template(exports.DefaultSettings.templateArgPrefix, { addStart: exports.DefaultSettings.basePrefix });
|
|
12
|
+
const getPrefix = (prefix) => typeof prefix === 'string' ? prefix : (prefix ? exports.DefaultSettings.basePrefix : false);
|
|
13
|
+
function getPath(endpoint, pathArgs, prefix = true) {
|
|
14
|
+
return endpoint.pathBuilder.build(pathArgs || undefined, { addStart: getPrefix(prefix) });
|
|
17
15
|
}
|
|
18
16
|
exports.getPath = getPath;
|
|
17
|
+
function getTemplate(endpoint, prefix = true) {
|
|
18
|
+
return endpoint.pathBuilder.template(exports.DefaultSettings.templateArgPrefix, { addStart: getPrefix(prefix) });
|
|
19
|
+
}
|
|
20
|
+
exports.getTemplate = getTemplate;
|
|
19
21
|
function getFormattedDisplayName(endpoint) {
|
|
20
|
-
const template = endpoint
|
|
22
|
+
const template = getTemplate(endpoint);
|
|
21
23
|
const prefix = endpoint.displayName
|
|
22
24
|
? `[${endpoint.displayName}] `
|
|
23
25
|
: '';
|
package/api/helpers.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../src/api/helpers.ts"],"names":[],"mappings":";;;AAGa,QAAA,eAAe,GAAG;IAC3B,iBAAiB,EAAE,GAAoC;IACvD,UAAU,EAAE,GAAG;CAClB,CAAC;AAEF,SAAgB,WAAW,CAAC,QAAyC;IACjE,MAAM,CAAC,MAAM,CAAC,uBAAe,EAAE,QAAQ,CAAC,CAAC;AAC7C,CAAC;AAFD,kCAEC;
|
|
1
|
+
{"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../src/api/helpers.ts"],"names":[],"mappings":";;;AAGa,QAAA,eAAe,GAAG;IAC3B,iBAAiB,EAAE,GAAoC;IACvD,UAAU,EAAE,GAAG;CAClB,CAAC;AAEF,SAAgB,WAAW,CAAC,QAAyC;IACjE,MAAM,CAAC,MAAM,CAAC,uBAAe,EAAE,QAAQ,CAAC,CAAC;AAC7C,CAAC;AAFD,kCAEC;AAGD,MAAM,SAAS,GAAG,CAAC,MAAqB,EAAE,EAAE,CAAC,OAAO,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,uBAAe,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;AAEjI,SAAgB,OAAO,CAA0B,QAAW,EAAE,QAAsC,EAAE,SAA2B,IAAI;IACjI,OAAO,QAAQ,CAAC,WAAW,CAAC,KAAK,CAAC,QAAQ,IAAI,SAAS,EAAE,EAAE,QAAQ,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;AAC9F,CAAC;AAFD,0BAEC;AAED,SAAgB,WAAW,CAA0B,QAAW,EAAE,SAA2B,IAAI;IAC7F,OAAO,QAAQ,CAAC,WAAW,CAAC,QAAQ,CAAC,uBAAe,CAAC,iBAAiB,EAAE,EAAE,QAAQ,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;AAC7G,CAAC;AAFD,kCAEC;AAED,SAAgB,uBAAuB,CAAC,QAAuB;IAC3D,MAAM,QAAQ,GAAG,WAAW,CAAC,QAAQ,CAAC,CAAC;IACvC,MAAM,MAAM,GAAG,QAAQ,CAAC,WAAW;QAC/B,CAAC,CAAC,IAAI,QAAQ,CAAC,WAAW,IAAI;QAC9B,CAAC,CAAC,EAAE,CAAC;IACT,OAAO,MAAM,GAAG,QAAQ,CAAC;AAC7B,CAAC;AAND,0DAMC"}
|
package/math/object/ops.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ops.d.ts","sourceRoot":"","sources":["../../../src/math/object/ops.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAC/D,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAE9E,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AAE7C,KAAK,IAAI,CAAC,CAAC,SAAS,SAAS,IAAI,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;AAE7C,qBAAa,SAAS,CAAC,CAAC,SAAS,SAAS,CAAE,YAAW,UAAU,CAAC,CAAC,CAAC;IAMpD,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;IAJlC,SAAgB,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC;IAEnC,SAAS,CAAC,UAAU,EAAE,SAAS,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC;gBAExC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;IAIlC,YAAY,CAAC,SAAS,EAAE,SAAS,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;IAKlD,QAAQ,IAAI,CAAC;IAQb,KAAK,CAAC,CAAC,EAAE,YAAY,CAAC,CAAC,CAAC,GAAG,CAAC;
|
|
1
|
+
{"version":3,"file":"ops.d.ts","sourceRoot":"","sources":["../../../src/math/object/ops.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAC/D,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAE9E,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AAE7C,KAAK,IAAI,CAAC,CAAC,SAAS,SAAS,IAAI,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;AAE7C,qBAAa,SAAS,CAAC,CAAC,SAAS,SAAS,CAAE,YAAW,UAAU,CAAC,CAAC,CAAC;IAMpD,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;IAJlC,SAAgB,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC;IAEnC,SAAS,CAAC,UAAU,EAAE,SAAS,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC;gBAExC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;IAIlC,YAAY,CAAC,SAAS,EAAE,SAAS,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;IAKlD,QAAQ,IAAI,CAAC;IAQb,KAAK,CAAC,CAAC,EAAE,YAAY,CAAC,CAAC,CAAC,GAAG,CAAC;IAW5B,OAAO,CAAC,CAAC,EAAE,YAAY,CAAC,CAAC,CAAC;IAI1B,OAAO,CAAC,CAAC,EAAE,YAAY,CAAC,CAAC,CAAC;IAI1B,QAAQ,CAAC,CAAC,EAAE,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,YAAY,CAAC,CAAC,CAAC;IAU/C,KAAK,CAAC,CAAC,EAAE,YAAY,CAAC,CAAC,CAAC,EAAE,SAAS,GAAE,aAAa,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAQ,GAAG,WAAW,CAAC,CAAC,CAAC;IAcxF,YAAY,CAAC,CAAC,EAAE,YAAY,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,CAAC,EAAE,KAAK,GAAE,WAAmB,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE;IAoBnI,MAAM,CAAC,EAAE,EAAE,CAAC,EAAE,KAAK,EAAE,YAAY,CAAC,CAAC,CAAC,GAAG,IAAI;CAS9C"}
|
package/math/object/ops.js
CHANGED
|
@@ -26,7 +26,8 @@ class ObjectOps {
|
|
|
26
26
|
const result = this.getEmpty();
|
|
27
27
|
if (o != null) {
|
|
28
28
|
this.keys.forEach(key => {
|
|
29
|
-
|
|
29
|
+
const kk = key;
|
|
30
|
+
result[key] = o[kk];
|
|
30
31
|
});
|
|
31
32
|
}
|
|
32
33
|
return result;
|
|
@@ -53,7 +54,9 @@ class ObjectOps {
|
|
|
53
54
|
if (skip_1.SkipCondition.shouldSkip(condition, key, val)) {
|
|
54
55
|
return;
|
|
55
56
|
}
|
|
56
|
-
|
|
57
|
+
const kk = key;
|
|
58
|
+
const vv = val;
|
|
59
|
+
res[kk] = vv;
|
|
57
60
|
});
|
|
58
61
|
return res;
|
|
59
62
|
}
|
package/math/object/ops.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ops.js","sourceRoot":"","sources":["../../../src/math/object/ops.ts"],"names":[],"mappings":";;;AAAA,4CAA+D;AAE/D,uCAAsC;AAKtC,MAAa,SAAS;IAMG;IAJL,KAAK,CAAc;IAEzB,UAAU,CAAyC;IAE7D,YAAqB,IAAa;QAAb,SAAI,GAAJ,IAAI,CAAS;QAC9B,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;IACjC,CAAC;IAED,YAAY,CAAC,SAAqC;QAC9C,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC;QAC5B,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,QAAQ;QACJ,MAAM,MAAM,GAAG,EAAO,CAAC;QACvB,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;YACpB,MAAM,CAAC,GAAG,CAAC,GAAG,CAAiB,CAAC;QACpC,CAAC,CAAC,CAAC;QACH,OAAO,MAAM,CAAC;IAClB,CAAC;IAED,KAAK,CAAC,CAAkB;QACpB,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;QAC/B,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC;YACZ,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;gBACpB,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,
|
|
1
|
+
{"version":3,"file":"ops.js","sourceRoot":"","sources":["../../../src/math/object/ops.ts"],"names":[],"mappings":"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"}
|
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
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@zajno/common",
|
|
3
|
-
"version": "2.3.
|
|
3
|
+
"version": "2.3.4",
|
|
4
4
|
"description": "Zajno's re-usable utilities for JS/TS projects",
|
|
5
5
|
"private": false,
|
|
6
6
|
"repository": {
|
|
@@ -32,20 +32,20 @@
|
|
|
32
32
|
}
|
|
33
33
|
},
|
|
34
34
|
"devDependencies": {
|
|
35
|
-
"@faker-js/faker": "^8.
|
|
36
|
-
"@types/node": "^20.
|
|
37
|
-
"@vitest/coverage-istanbul": "^1.
|
|
35
|
+
"@faker-js/faker": "^8.4.1",
|
|
36
|
+
"@types/node": "^20.11.30",
|
|
37
|
+
"@vitest/coverage-istanbul": "^1.4.0",
|
|
38
38
|
"@zajno/eslint-config": "^3.0.1",
|
|
39
39
|
"cpy-cli": "^5.0.0",
|
|
40
|
-
"eslint": "^8.
|
|
41
|
-
"fast-check": "^3.
|
|
40
|
+
"eslint": "^8.57.0",
|
|
41
|
+
"fast-check": "^3.16.0",
|
|
42
42
|
"jest-extended": "^4.0.2",
|
|
43
43
|
"rimraf": "^5.0.5",
|
|
44
44
|
"scripty": "^2.1.1",
|
|
45
45
|
"ts-node": "^10.9.2",
|
|
46
46
|
"tslib": "^2.6.2",
|
|
47
|
-
"typescript": "^5.
|
|
48
|
-
"vitest": "^1.
|
|
47
|
+
"typescript": "^5.4.3",
|
|
48
|
+
"vitest": "^1.4.0"
|
|
49
49
|
},
|
|
50
50
|
"peerDependencies": {
|
|
51
51
|
"tslib": "^2.6.2"
|
|
@@ -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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"}
|
package/types/deep.d.ts
CHANGED
|
@@ -1,26 +1,26 @@
|
|
|
1
|
-
import { AnyFunction
|
|
2
|
-
export type DeepReadonly<T> = T extends (
|
|
1
|
+
import { AnyFunction } from './misc';
|
|
2
|
+
export type DeepReadonly<T> = T extends Array<infer U> ? ReadonlyArray<DeepReadonly<U>> : (T extends AnyFunction ? T : (T extends object ? {
|
|
3
3
|
readonly [P in keyof T]: DeepReadonly<T[P]>;
|
|
4
|
-
});
|
|
5
|
-
export type
|
|
4
|
+
} : T));
|
|
5
|
+
export type DeepMutable<T> = T extends ReadonlyArray<infer U> ? Array<DeepMutable<U>> : (T extends AnyFunction ? T : (T extends object ? {
|
|
6
|
+
-readonly [P in keyof T]: DeepMutable<T[P]>;
|
|
7
|
+
} : T));
|
|
8
|
+
export type DeepReadonlyPartial<T> = T extends Array<infer U> ? ReadonlyArray<DeepReadonlyPartial<U>> : (T extends AnyFunction ? T : (T extends object ? {
|
|
6
9
|
readonly [P in keyof T]?: DeepReadonlyPartial<T[P]>;
|
|
7
|
-
});
|
|
8
|
-
export type DeepPartial<T> = T extends (
|
|
9
|
-
[P in keyof T]?: DeepPartial<T[P]
|
|
10
|
-
});
|
|
11
|
-
export type DeepRequired<T> = T extends (
|
|
10
|
+
} : T));
|
|
11
|
+
export type DeepPartial<T> = T extends Array<infer U> ? Array<DeepPartial<U>> : (T extends AnyFunction ? T : (T extends object ? {
|
|
12
|
+
[P in keyof T]?: DeepPartial<T[P]>;
|
|
13
|
+
} : T));
|
|
14
|
+
export type DeepRequired<T> = T extends Array<infer U> ? Array<DeepRequired<U>> : (T extends AnyFunction ? T : (T extends object ? {
|
|
12
15
|
[P in keyof T]-?: DeepRequired<T[P]>;
|
|
13
|
-
});
|
|
14
|
-
export type DeepMutable<T> = T extends (AnyFunction | Primitive) ? T : (T extends ReadonlyArray<infer U> ? Array<DeepMutable<U>> : {
|
|
15
|
-
-readonly [P in keyof T]: DeepMutable<T[P]>;
|
|
16
|
-
});
|
|
16
|
+
} : T));
|
|
17
17
|
export type DeepPickNullable<T, K extends keyof T> = {
|
|
18
18
|
[P in K]?: null | undefined | DeepPartialNullable<T[P]>;
|
|
19
19
|
};
|
|
20
|
-
export type DeepNullable<T> = T extends (
|
|
20
|
+
export type DeepNullable<T> = T extends Array<infer U> ? Array<DeepNullable<U>> : (T extends AnyFunction ? T : (T extends object ? {
|
|
21
21
|
[P in keyof T]: null | DeepNullable<T[P]>;
|
|
22
|
-
});
|
|
23
|
-
export type DeepPartialNullable<T> = T extends
|
|
22
|
+
} : T));
|
|
23
|
+
export type DeepPartialNullable<T> = T extends object ? {
|
|
24
24
|
[P in keyof T]?: null | undefined | DeepPartialNullable<T[P]>;
|
|
25
|
-
});
|
|
25
|
+
} : (T extends Array<infer U> ? Array<DeepPartialNullable<U>> : T);
|
|
26
26
|
//# sourceMappingURL=deep.d.ts.map
|
package/types/deep.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"deep.d.ts","sourceRoot":"","sources":["../../src/types/deep.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,
|
|
1
|
+
{"version":3,"file":"deep.d.ts","sourceRoot":"","sources":["../../src/types/deep.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validators.d.ts","sourceRoot":"","sources":["../../src/validation/validators.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAEtD,eAAO,MAAM,iBAAiB;;;;;;;;;;;;CAuB7B,CAAC;AAEF,eAAO,MAAM,UAAU
|
|
1
|
+
{"version":3,"file":"validators.d.ts","sourceRoot":"","sources":["../../src/validation/validators.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAEtD,eAAO,MAAM,iBAAiB;;;;;;;;;;;;CAuB7B,CAAC;AAEF,eAAO,MAAM,UAAU;gCAES,CAAC;;;oBAKb,MAAM;uBACH,MAAM;iBACZ,MAAM;oBACH,MAAM;qBACL,MAAM;4BACC,MAAM;gCAKF,MAAM;yBAKb,MAAM;mBAEZ,MAAM;oBACL,MAAM;mBAEP,MAAM,WAAY,MAAM;CAC1C,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wrappers.d.ts","sourceRoot":"","sources":["../../src/validation/wrappers.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAI5C,eAAO,MAAM,QAAQ
|
|
1
|
+
{"version":3,"file":"wrappers.d.ts","sourceRoot":"","sources":["../../src/validation/wrappers.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAI5C,eAAO,MAAM,QAAQ;oCACe,kBAAkB,CAAC,CAAC,GAAG,kBAAkB,CAAC,CAAC;;;CAmB9E,CAAC"}
|