@zajno/common 2.2.15 → 2.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (90) hide show
  1. package/api/call.d.ts +29 -0
  2. package/api/call.d.ts.map +1 -0
  3. package/api/call.js +57 -0
  4. package/api/call.js.map +1 -0
  5. package/api/endpoint.d.ts +44 -0
  6. package/api/endpoint.d.ts.map +1 -0
  7. package/api/endpoint.js +55 -0
  8. package/api/endpoint.js.map +1 -0
  9. package/api/error.d.ts +18 -0
  10. package/api/error.d.ts.map +1 -0
  11. package/api/error.js +35 -0
  12. package/api/error.js.map +1 -0
  13. package/api/helpers.d.ts +9 -0
  14. package/api/helpers.d.ts.map +1 -0
  15. package/api/helpers.js +23 -0
  16. package/api/helpers.js.map +1 -0
  17. package/api/index.d.ts +8 -0
  18. package/api/index.d.ts.map +1 -0
  19. package/api/index.js +15 -0
  20. package/api/index.js.map +1 -0
  21. package/api/methods.d.ts +7 -0
  22. package/api/methods.d.ts.map +1 -0
  23. package/api/methods.js +11 -0
  24. package/api/methods.js.map +1 -0
  25. package/api/processor.d.ts +8 -0
  26. package/api/processor.d.ts.map +1 -0
  27. package/api/processor.js +51 -0
  28. package/api/processor.js.map +1 -0
  29. package/api/register.d.ts +8 -0
  30. package/api/register.d.ts.map +1 -0
  31. package/api/register.js +25 -0
  32. package/api/register.js.map +1 -0
  33. package/api/statusCodes.d.ts +17 -0
  34. package/api/statusCodes.d.ts.map +1 -0
  35. package/api/statusCodes.js +21 -0
  36. package/api/statusCodes.js.map +1 -0
  37. package/dates/datex.d.ts +2 -2
  38. package/dates/datex.d.ts.map +1 -1
  39. package/dates/datex.js +2 -4
  40. package/dates/datex.js.map +1 -1
  41. package/fields/update.js +2 -2
  42. package/fields/update.js.map +1 -1
  43. package/functions/throttle.d.ts.map +1 -1
  44. package/functions/throttle.js.map +1 -1
  45. package/logger/named.d.ts.map +1 -1
  46. package/logger/named.js +3 -3
  47. package/logger/named.js.map +1 -1
  48. package/math/arrays.d.ts +3 -3
  49. package/math/arrays.d.ts.map +1 -1
  50. package/math/arrays.js +1 -1
  51. package/math/arrays.js.map +1 -1
  52. package/math/object/math.d.ts.map +1 -1
  53. package/math/object/math.js +6 -3
  54. package/math/object/math.js.map +1 -1
  55. package/math/object/ops.d.ts +1 -1
  56. package/math/object/ops.d.ts.map +1 -1
  57. package/math/object/ops.js.map +1 -1
  58. package/observing/event.d.ts.map +1 -1
  59. package/observing/event.js +9 -1
  60. package/observing/event.js.map +1 -1
  61. package/package.json +1 -1
  62. package/structures/path/builder.d.ts +14 -0
  63. package/structures/path/builder.d.ts.map +1 -0
  64. package/structures/path/builder.js +111 -0
  65. package/structures/path/builder.js.map +1 -0
  66. package/structures/path/index.d.ts +3 -0
  67. package/structures/path/index.d.ts.map +1 -0
  68. package/structures/path/index.js +7 -0
  69. package/structures/path/index.js.map +1 -0
  70. package/structures/path/types.d.ts +55 -0
  71. package/structures/path/types.d.ts.map +1 -0
  72. package/structures/path/types.js +3 -0
  73. package/structures/path/types.js.map +1 -0
  74. package/structures/path/utils.d.ts +12 -0
  75. package/structures/path/utils.d.ts.map +1 -0
  76. package/structures/path/utils.js +54 -0
  77. package/structures/path/utils.js.map +1 -0
  78. package/structures/promiseExtended.d.ts +1 -1
  79. package/structures/promiseExtended.d.ts.map +1 -1
  80. package/structures/promiseExtended.js.map +1 -1
  81. package/structures/promiseProxy.d.ts.map +1 -1
  82. package/structures/promiseProxy.js +3 -2
  83. package/structures/promiseProxy.js.map +1 -1
  84. package/types/misc.d.ts +8 -1
  85. package/types/misc.d.ts.map +1 -1
  86. package/validation/throwers.js.map +1 -1
  87. package/async/arrays.extend.d.ts +0 -10
  88. package/async/arrays.extend.d.ts.map +0 -1
  89. package/async/arrays.extend.js +0 -8
  90. package/async/arrays.extend.js.map +0 -1
package/api/call.d.ts ADDED
@@ -0,0 +1,29 @@
1
+ import { AnyObject } from '../types';
2
+ import { ApiEndpoint, IEndpointInfo } from './endpoint';
3
+ import { EndpointMethods } from './methods';
4
+ type LogTypes = boolean | 'full' | 'req' | 'res';
5
+ type Extra<T> = {
6
+ headers?: ApiEndpoint.ExtractHeaders<T>;
7
+ log?: LogTypes;
8
+ noLoader?: boolean;
9
+ };
10
+ export type RequestConfig<TIn> = {
11
+ method: EndpointMethods | string & Record<never, never>;
12
+ url: string;
13
+ data: TIn | null | undefined;
14
+ headers: AnyObject;
15
+ };
16
+ export type RequestConfigDetails<T extends IEndpointInfo = IEndpointInfo, TIn = ApiEndpoint.ExtractIn<T>> = RequestConfig<TIn> & {
17
+ _api: T;
18
+ _noLoader?: boolean;
19
+ _log?: LogTypes;
20
+ };
21
+ type CallerOptions = {
22
+ bodyValidation?: (api: IEndpointInfo, input: any) => Promise<void>;
23
+ request: <TIn, TOut>(config: RequestConfigDetails<IEndpointInfo, TIn>) => Promise<{
24
+ data: TOut;
25
+ }>;
26
+ };
27
+ export declare function buildApiCaller(options: CallerOptions): <T extends IEndpointInfo>(api: T, data: ApiEndpoint.ExtractIn<T> | ApiEndpoint.ExtractPath<T> | ApiEndpoint.ExtractQuery<T>, extra?: Extra<T> | undefined) => Promise<ApiEndpoint.ExtractOut<T>>;
28
+ export {};
29
+ //# sourceMappingURL=call.d.ts.map
@@ -0,0 +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,WAAW,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AACxD,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAE5C,KAAK,QAAQ,GAAG,OAAO,GAAG,MAAM,GAAG,KAAK,GAAG,KAAK,CAAC;AAEjD,KAAK,KAAK,CAAC,CAAC,IAAI;IACZ,OAAO,CAAC,EAAE,WAAW,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC;IACxC,GAAG,CAAC,EAAE,QAAQ,CAAC;IACf,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,WAAW,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,aAAa,CAAC,GAAG,CAAC,GAAG;IAC7H,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,wBAAgB,cAAc,CAAC,OAAO,EAAE,aAAa,oMAmEpD"}
package/api/call.js ADDED
@@ -0,0 +1,57 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.buildApiCaller = void 0;
4
+ const register_1 = require("./register");
5
+ function buildApiCaller(options) {
6
+ const { bodyValidation, request } = options;
7
+ return async function callApi(api, data, extra) {
8
+ const { headers, log = 'res' } = extra || {};
9
+ const resultInput = data && { ...data };
10
+ const pathInputs = {};
11
+ let queryStr = '';
12
+ const pathKeys = api.pathBuilder.args;
13
+ if (resultInput && pathKeys?.length) {
14
+ for (const key of pathKeys) {
15
+ pathInputs[key] = resultInput[key];
16
+ delete resultInput[key];
17
+ }
18
+ }
19
+ const queryKeysExpected = api.queryKeys;
20
+ if (resultInput && queryKeysExpected?.length) {
21
+ const queryInputs = {};
22
+ let empty = true;
23
+ for (const key of queryKeysExpected) {
24
+ const v = resultInput[key];
25
+ if (v || v === 0) {
26
+ queryInputs[key] = v;
27
+ empty = false;
28
+ }
29
+ delete resultInput[key];
30
+ }
31
+ if (!empty) {
32
+ const params = new URLSearchParams(queryInputs);
33
+ queryStr = '?' + params.toString();
34
+ }
35
+ }
36
+ if (resultInput && bodyValidation) {
37
+ await bodyValidation(api, resultInput);
38
+ }
39
+ const method = api.method || 'GET';
40
+ const config = {
41
+ method,
42
+ url: api.pathBuilder.build(pathInputs) + queryStr,
43
+ data: register_1.PreProcessors.process(api, resultInput) || undefined,
44
+ headers: headers || {},
45
+ _api: api,
46
+ _noLoader: extra?.noLoader == null ? method === 'GET' : extra.noLoader,
47
+ _log: log,
48
+ };
49
+ if (api.isForm) {
50
+ config.headers['Content-Type'] = 'multipart/form-data';
51
+ }
52
+ const response = await request(config);
53
+ return register_1.PostProcessors.process(api, response.data);
54
+ };
55
+ }
56
+ exports.buildApiCaller = buildApiCaller;
57
+ //# sourceMappingURL=call.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"call.js","sourceRoot":"","sources":["../../src/api/call.ts"],"names":[],"mappings":";;;AAAA,yCAA2D;AA+B3D,SAAgB,cAAc,CAAC,OAAsB;IAEjD,MAAM,EAAE,cAAc,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC;IAE5C,OAAO,KAAK,UAAU,OAAO,CACzB,GAAM,EACN,IAAyF,EACzF,KAAgB;QAKhB,MAAM,EAAE,OAAO,EAAE,GAAG,GAAG,KAAK,EAAE,GAAG,KAAK,IAAI,EAAE,CAAC;QAE7C,MAAM,WAAW,GAAG,IAAI,IAAI,EAAE,GAAG,IAAI,EAA8B,CAAC;QACpE,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,CAAC,KAAK,CAAC,EAAE,CAAC;oBACf,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;oBACrB,KAAK,GAAG,KAAK,CAAC;gBAClB,CAAC;gBACD,OAAO,WAAW,CAAC,GAAG,CAAC,CAAC;YAC5B,CAAC;YAED,IAAI,CAAC,KAAK,EAAE,CAAC;gBACT,MAAM,MAAM,GAAG,IAAI,eAAe,CAAC,WAAW,CAAC,CAAC;gBAChD,QAAQ,GAAG,GAAG,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAC;YACvC,CAAC;QACL,CAAC;QAED,IAAI,WAAW,IAAI,cAAc,EAAE,CAAC;YAChC,MAAM,cAAc,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC;QAC3C,CAAC;QAED,MAAM,MAAM,GAAG,GAAG,CAAC,MAAM,IAAI,KAAK,CAAC;QACnC,MAAM,MAAM,GAA4B;YACpC,MAAM;YACN,GAAG,EAAE,GAAG,CAAC,WAAW,CAAC,KAAK,CAAC,UAAU,CAAC,GAAG,QAAQ;YACjD,IAAI,EAAE,wBAAa,CAAC,OAAO,CAAC,GAAG,EAAE,WAAW,CAAC,IAAI,SAAS;YAC1D,OAAO,EAAE,OAAoB,IAAI,EAAE;YACnC,IAAI,EAAE,GAAG;YACT,SAAS,EAAE,KAAK,EAAE,QAAQ,IAAI,IAAI,CAAC,CAAC,CAAC,MAAgB,KAAK,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ;YAChF,IAAI,EAAE,GAAG;SACZ,CAAC;QAEF,IAAI,GAAG,CAAC,MAAM,EAAE,CAAC;YACb,MAAM,CAAC,OAAO,CAAC,cAAc,CAAC,GAAG,qBAAqB,CAAC;QAC3D,CAAC;QAED,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,MAAM,CAAmB,CAAC;QACzD,OAAO,yBAAc,CAAC,OAAO,CAAC,GAAG,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC;IACtD,CAAC,CAAC;AACN,CAAC;AAnED,wCAmEC"}
@@ -0,0 +1,44 @@
1
+ import { AnyObject, EmptyObject } from '../types';
2
+ import { Path } from '../structures/path';
3
+ import { EndpointMethods } from './methods';
4
+ export interface IEndpointInfo {
5
+ readonly method: EndpointMethods;
6
+ readonly isForm?: boolean;
7
+ readonly pathBuilder: Path.IBuilder;
8
+ readonly displayName?: string;
9
+ readonly queryKeys?: string[];
10
+ }
11
+ export declare class ApiEndpoint<TIn extends object | null, TOut, TPath extends readonly string[], TQuery extends object, TErrors, THeaders> implements IEndpointInfo {
12
+ method: EndpointMethods;
13
+ path: Path.SwitchBuilder<TPath>;
14
+ isForm?: boolean;
15
+ queryKeys?: (string & keyof TQuery)[];
16
+ headers?: THeaders;
17
+ displayName?: string;
18
+ in?: TIn;
19
+ out?: TOut;
20
+ errors?: TErrors;
21
+ get pathBuilder(): Path.IBuilder;
22
+ static construct<TIn extends object | null, TOut>(method?: EndpointMethods, displayName?: string): ApiEndpoint<TIn, TOut, readonly [], object, any, AnyObject>;
23
+ static get<TOut>(displayName?: string): ApiEndpoint<null, TOut, readonly [], object, any, AnyObject>;
24
+ static post<TIn extends object | null, TOut = void>(displayName?: string): ApiEndpoint<TIn, TOut, readonly [], object, any, AnyObject>;
25
+ static delete<TOut>(displayName?: string): ApiEndpoint<null, TOut, readonly [], object, any, AnyObject>;
26
+ withPath<P extends Path.BaseInput>(path: P): ApiEndpoint<TIn, TOut, Path.ExtractArgs<P>, TQuery, TErrors, THeaders>;
27
+ withQuery<TQ extends object>(...queryKeys: (string & keyof TQ)[]): ApiEndpoint<TIn, TOut, TPath, TQ, TErrors, THeaders>;
28
+ withErrors<TErr>(_errors?: TErr): ApiEndpoint<TIn, TOut, TPath, TQuery, TErr, THeaders>;
29
+ withHeaders<THeads>(_headersMarker?: THeads): ApiEndpoint<TIn, TOut, TPath, TQuery, TErrors, THeads>;
30
+ asForm(): this;
31
+ }
32
+ export declare namespace ApiEndpoint {
33
+ type Any = AnyObject;
34
+ type Empty = (EmptyObject | null | undefined);
35
+ type Coalesce<T> = [T] extends [never] | [null] | [undefined] ? Empty : T;
36
+ export type ExtractIn<T> = T extends ApiEndpoint<infer TIn, any, any, any, any, any> ? Coalesce<TIn> : Empty;
37
+ export type ExtractPath<T> = T extends ApiEndpoint<any, any, infer TPath extends string[], any, any, any> ? (readonly [] extends TPath ? Empty : Path.ObjectBuilderArgs<TPath[number]>) : Empty;
38
+ export type ExtractQuery<T> = T extends ApiEndpoint<any, any, any, infer TQuery, any, any> ? TQuery : Empty;
39
+ export type ExtractOut<T> = T extends ApiEndpoint<any, infer TOut, any, any, any, any> ? TOut : Empty;
40
+ export type ExtractErrors<T> = T extends ApiEndpoint<any, any, any, any, infer TErrors, any> ? TErrors : Any;
41
+ export type ExtractHeaders<T> = T extends ApiEndpoint<any, any, any, any, any, infer THeaders> ? THeaders : Any;
42
+ export {};
43
+ }
44
+ //# sourceMappingURL=endpoint.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"endpoint.d.ts","sourceRoot":"","sources":["../../src/api/endpoint.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,55 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ApiEndpoint = void 0;
4
+ const path_1 = require("../structures/path");
5
+ const methods_1 = require("./methods");
6
+ class ApiEndpoint {
7
+ method = methods_1.EndpointMethods.GET;
8
+ path = path_1.Path.Empty.as();
9
+ isForm;
10
+ queryKeys;
11
+ headers;
12
+ displayName;
13
+ in;
14
+ out;
15
+ errors;
16
+ get pathBuilder() { return this.path.as(); }
17
+ static construct(method = methods_1.EndpointMethods.GET, displayName) {
18
+ const res = new ApiEndpoint();
19
+ res.method = method;
20
+ res.displayName = displayName;
21
+ return res;
22
+ }
23
+ static get(displayName) {
24
+ return ApiEndpoint.construct(methods_1.EndpointMethods.GET, displayName);
25
+ }
26
+ static post(displayName) {
27
+ return ApiEndpoint.construct(methods_1.EndpointMethods.POST, displayName);
28
+ }
29
+ static delete(displayName) {
30
+ return ApiEndpoint.construct(methods_1.EndpointMethods.DELETE, displayName);
31
+ }
32
+ withPath(path) {
33
+ const res = this;
34
+ const p = path_1.Path.construct(path);
35
+ res.path = p;
36
+ return res;
37
+ }
38
+ withQuery(...queryKeys) {
39
+ const res = this;
40
+ res.queryKeys = queryKeys;
41
+ return res;
42
+ }
43
+ withErrors(_errors) {
44
+ return this;
45
+ }
46
+ withHeaders(_headersMarker) {
47
+ return this;
48
+ }
49
+ asForm() {
50
+ this.isForm = true;
51
+ return this;
52
+ }
53
+ }
54
+ exports.ApiEndpoint = ApiEndpoint;
55
+ //# sourceMappingURL=endpoint.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"endpoint.js","sourceRoot":"","sources":["../../src/api/endpoint.ts"],"names":[],"mappings":";;;AACA,6CAA0C;AAC1C,uCAA4C;AAa5C,MAAa,WAAW;IASpB,MAAM,GAAoB,yBAAe,CAAC,GAAG,CAAC;IAC9C,IAAI,GAA8B,WAAI,CAAC,KAAK,CAAC,EAAE,EAA6B,CAAC;IAE7E,MAAM,CAAW;IACjB,SAAS,CAA6B;IACtC,OAAO,CAAY;IAEnB,WAAW,CAAU;IAErB,EAAE,CAAO;IACT,GAAG,CAAQ;IACX,MAAM,CAAW;IAEjB,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,CAA2B,IAAO;QAE7C,MAAM,GAAG,GAAG,IAA0E,CAAC;QAEvF,MAAM,CAAC,GAAG,WAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QAC/B,GAAG,CAAC,IAAI,GAAG,CAAwB,CAAC;QACpC,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,OAAc;QAClC,OAAO,IAAwE,CAAC;IACpF,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;AAtED,kCAsEC"}
package/api/error.d.ts ADDED
@@ -0,0 +1,18 @@
1
+ import { StatusCodes } from './statusCodes';
2
+ export type ApiErrorResponse<TCause = never, TErrors = number | string> = {
3
+ code?: TErrors;
4
+ message?: string;
5
+ } & ([TCause] extends [never] ? object : {
6
+ cause?: TCause;
7
+ });
8
+ export declare namespace ApiErrorResponse {
9
+ function create<TCause = never, TErrors = number | string>(code: TErrors, message?: string, cause?: TCause): ApiErrorResponse<TCause, TErrors>;
10
+ }
11
+ export declare class ApiError<TCause = unknown, TCodes extends number = StatusCodes, TErrors extends number | string = number | string> extends Error {
12
+ readonly status: TCodes;
13
+ readonly code: TErrors;
14
+ readonly cause?: TCause;
15
+ constructor(status: TCodes, code: TErrors, message: string, cause?: TCause);
16
+ static fromResponse<TCodes extends number = StatusCodes, TErrors extends number | string = number | string>(status: TCodes, responseData: unknown): ApiError<unknown, TCodes, 0> | ApiError<unknown, TCodes, TErrors>;
17
+ }
18
+ //# sourceMappingURL=error.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"error.d.ts","sourceRoot":"","sources":["../../src/api/error.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAE5C,MAAM,MAAM,gBAAgB,CAAC,MAAM,GAAG,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,MAAM,IAAI;IACtE,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;CACpB,GAAG,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,MAAM,GAAG;IAAE,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CAAC;AAE7D,yBAAiB,gBAAgB,CAAC;IAC9B,SAAgB,MAAM,CAAC,MAAM,GAAG,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,gBAAgB,CAAC,MAAM,EAAE,OAAO,CAAC,CAEpJ;CACJ;AAGD,qBAAa,QAAQ,CACjB,MAAM,GAAG,OAAO,EAChB,MAAM,SAAS,MAAM,GAAG,WAAW,EACnC,OAAO,SAAS,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,CACnD,SAAQ,KAAK;aAKS,MAAM,EAAE,MAAM;aACd,IAAI,EAAE,OAAO;IAJjC,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;gBAGJ,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,OAAO,EAC7B,OAAO,EAAE,MAAM,EACf,KAAK,CAAC,EAAE,MAAM;WASJ,YAAY,CAAC,MAAM,SAAS,MAAM,GAAG,WAAW,EAAE,OAAO,SAAS,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,OAAO;CAoB3J"}
package/api/error.js ADDED
@@ -0,0 +1,35 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ApiError = exports.ApiErrorResponse = void 0;
4
+ var ApiErrorResponse;
5
+ (function (ApiErrorResponse) {
6
+ function create(code, message, cause) {
7
+ return { code, message, cause };
8
+ }
9
+ ApiErrorResponse.create = create;
10
+ })(ApiErrorResponse || (exports.ApiErrorResponse = ApiErrorResponse = {}));
11
+ class ApiError extends Error {
12
+ status;
13
+ code;
14
+ cause;
15
+ constructor(status, code, message, cause) {
16
+ super(message, { cause });
17
+ this.status = status;
18
+ this.code = code;
19
+ this.cause = cause;
20
+ this.name = 'ApiError';
21
+ Object.setPrototypeOf(this, ApiError.prototype);
22
+ }
23
+ static fromResponse(status, responseData) {
24
+ const response = responseData;
25
+ if (!response || response.code == null) {
26
+ return new ApiError(status, 0, [
27
+ 'An unknown error has occurred. Please try again later.',
28
+ response?.message && `Message: ${response.message}`,
29
+ ].filter(Boolean).join('\n'));
30
+ }
31
+ return new ApiError(status, response.code, response.message || '<no message>', response.cause);
32
+ }
33
+ }
34
+ exports.ApiError = ApiError;
35
+ //# sourceMappingURL=error.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"error.js","sourceRoot":"","sources":["../../src/api/error.ts"],"names":[],"mappings":";;;AAOA,IAAiB,gBAAgB,CAIhC;AAJD,WAAiB,gBAAgB;IAC7B,SAAgB,MAAM,CAA4C,IAAa,EAAE,OAAgB,EAAE,KAAc;QAC7G,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;IACpC,CAAC;IAFe,uBAAM,SAErB,CAAA;AACL,CAAC,EAJgB,gBAAgB,gCAAhB,gBAAgB,QAIhC;AAGD,MAAa,QAIX,SAAQ,KAAK;IAKS;IACA;IAJX,KAAK,CAAU;IAExB,YACoB,MAAc,EACd,IAAa,EAC7B,OAAe,EACf,KAAc;QAEd,KAAK,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;QALV,WAAM,GAAN,MAAM,CAAQ;QACd,SAAI,GAAJ,IAAI,CAAS;QAK7B,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QAEnB,IAAI,CAAC,IAAI,GAAG,UAAU,CAAC;QACvB,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,QAAQ,CAAC,SAAS,CAAC,CAAC;IACpD,CAAC;IAEM,MAAM,CAAC,YAAY,CAAyF,MAAc,EAAE,YAAqB;QACpJ,MAAM,QAAQ,GAAG,YAAkD,CAAC;QACpE,IAAI,CAAC,QAAQ,IAAI,QAAQ,CAAC,IAAI,IAAI,IAAI,EAAE,CAAC;YACrC,OAAO,IAAI,QAAQ,CACf,MAAM,EACN,CAAC,EACD;gBACI,wDAAwD;gBACxD,QAAQ,EAAE,OAAO,IAAI,YAAY,QAAQ,CAAC,OAAO,EAAE;aACtD,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAC/B,CAAC;QACN,CAAC;QAED,OAAO,IAAI,QAAQ,CACf,MAAM,EACN,QAAQ,CAAC,IAAI,EACb,QAAQ,CAAC,OAAO,IAAI,cAAc,EAClC,QAAQ,CAAC,KAAK,CACjB,CAAC;IACN,CAAC;CACJ;AAzCD,4BAyCC"}
@@ -0,0 +1,9 @@
1
+ import { ApiEndpoint, IEndpointInfo } from './endpoint';
2
+ export declare const DefaultSettings: {
3
+ templateArgPrefix: string;
4
+ basePrefix: string;
5
+ };
6
+ export declare function setDefaults(settings: Partial<typeof DefaultSettings>): void;
7
+ export declare function getPath<T extends IEndpointInfo>(endpoint: T, pathArgs?: ApiEndpoint.ExtractPath<T>): string;
8
+ export declare function getFormattedDisplayName(endpoint: IEndpointInfo): string;
9
+ //# sourceMappingURL=helpers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../src/api/helpers.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAExD,eAAO,MAAM,eAAe;;;CAG3B,CAAC;AAEF,wBAAgB,WAAW,CAAC,QAAQ,EAAE,OAAO,CAAC,OAAO,eAAe,CAAC,QAEpE;AAED,wBAAgB,OAAO,CAAC,CAAC,SAAS,aAAa,EAAE,QAAQ,EAAE,CAAC,EAAE,QAAQ,CAAC,EAAE,WAAW,CAAC,WAAW,CAAC,CAAC,CAAC,UAKlG;AAED,wBAAgB,uBAAuB,CAAC,QAAQ,EAAE,aAAa,UAE9D"}
package/api/helpers.js ADDED
@@ -0,0 +1,23 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getFormattedDisplayName = exports.getPath = exports.setDefaults = exports.DefaultSettings = void 0;
4
+ exports.DefaultSettings = {
5
+ templateArgPrefix: ':',
6
+ basePrefix: '/',
7
+ };
8
+ function setDefaults(settings) {
9
+ Object.assign(exports.DefaultSettings, settings);
10
+ }
11
+ exports.setDefaults = setDefaults;
12
+ function getPath(endpoint, pathArgs) {
13
+ if (pathArgs) {
14
+ return endpoint.pathBuilder.build(pathArgs, { addStart: exports.DefaultSettings.basePrefix });
15
+ }
16
+ return endpoint.pathBuilder.template(exports.DefaultSettings.templateArgPrefix, { addStart: exports.DefaultSettings.basePrefix });
17
+ }
18
+ exports.getPath = getPath;
19
+ function getFormattedDisplayName(endpoint) {
20
+ return endpoint.displayName || endpoint.pathBuilder.template(exports.DefaultSettings.templateArgPrefix, { addStart: exports.DefaultSettings.basePrefix });
21
+ }
22
+ exports.getFormattedDisplayName = getFormattedDisplayName;
23
+ //# sourceMappingURL=helpers.js.map
@@ -0,0 +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;AAED,SAAgB,OAAO,CAA0B,QAAW,EAAE,QAAqC;IAC/F,IAAI,QAAQ,EAAE,CAAC;QACX,OAAO,QAAQ,CAAC,WAAW,CAAC,KAAK,CAAC,QAAQ,EAAE,EAAE,QAAQ,EAAE,uBAAe,CAAC,UAAU,EAAE,CAAC,CAAC;IAC1F,CAAC;IACD,OAAO,QAAQ,CAAC,WAAW,CAAC,QAAQ,CAAC,uBAAe,CAAC,iBAAiB,EAAE,EAAE,QAAQ,EAAE,uBAAe,CAAC,UAAU,EAAE,CAAC,CAAC;AACtH,CAAC;AALD,0BAKC;AAED,SAAgB,uBAAuB,CAAC,QAAuB;IAC3D,OAAO,QAAQ,CAAC,WAAW,IAAI,QAAQ,CAAC,WAAW,CAAC,QAAQ,CAAC,uBAAe,CAAC,iBAAiB,EAAE,EAAE,QAAQ,EAAE,uBAAe,CAAC,UAAU,EAAE,CAAC,CAAC;AAC9I,CAAC;AAFD,0DAEC"}
package/api/index.d.ts ADDED
@@ -0,0 +1,8 @@
1
+ export type { ProcessingFn } from './processor';
2
+ export { ApiEndpoint } from './endpoint';
3
+ export type { IEndpointInfo } from './endpoint';
4
+ export { EndpointMethods } from './methods';
5
+ export * from './helpers';
6
+ export { buildApiCaller } from './call';
7
+ export { registerPostProcessor, registerPreProcessor } from './register';
8
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/api/index.ts"],"names":[],"mappings":"AACA,YAAY,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAEhD,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AACzC,YAAY,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAChD,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAC5C,cAAc,WAAW,CAAC;AAE1B,OAAO,EAAE,cAAc,EAAE,MAAM,QAAQ,CAAC;AACxC,OAAO,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC"}
package/api/index.js ADDED
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.registerPreProcessor = exports.registerPostProcessor = exports.buildApiCaller = exports.EndpointMethods = exports.ApiEndpoint = void 0;
4
+ const tslib_1 = require("tslib");
5
+ var endpoint_1 = require("./endpoint");
6
+ Object.defineProperty(exports, "ApiEndpoint", { enumerable: true, get: function () { return endpoint_1.ApiEndpoint; } });
7
+ var methods_1 = require("./methods");
8
+ Object.defineProperty(exports, "EndpointMethods", { enumerable: true, get: function () { return methods_1.EndpointMethods; } });
9
+ tslib_1.__exportStar(require("./helpers"), exports);
10
+ var call_1 = require("./call");
11
+ Object.defineProperty(exports, "buildApiCaller", { enumerable: true, get: function () { return call_1.buildApiCaller; } });
12
+ var register_1 = require("./register");
13
+ Object.defineProperty(exports, "registerPostProcessor", { enumerable: true, get: function () { return register_1.registerPostProcessor; } });
14
+ Object.defineProperty(exports, "registerPreProcessor", { enumerable: true, get: function () { return register_1.registerPreProcessor; } });
15
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/api/index.ts"],"names":[],"mappings":";;;;AAGA,uCAAyC;AAAhC,uGAAA,WAAW,OAAA;AAEpB,qCAA4C;AAAnC,0GAAA,eAAe,OAAA;AACxB,oDAA0B;AAE1B,+BAAwC;AAA/B,sGAAA,cAAc,OAAA;AACvB,uCAAyE;AAAhE,iHAAA,qBAAqB,OAAA;AAAE,gHAAA,oBAAoB,OAAA"}
@@ -0,0 +1,7 @@
1
+ export declare enum EndpointMethods {
2
+ GET = "GET",
3
+ POST = "POST",
4
+ PUT = "PUT",
5
+ DELETE = "DELETE"
6
+ }
7
+ //# sourceMappingURL=methods.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"methods.d.ts","sourceRoot":"","sources":["../../src/api/methods.ts"],"names":[],"mappings":"AACA,oBAAY,eAAe;IACvB,GAAG,QAAQ;IACX,IAAI,SAAS;IACb,GAAG,QAAQ;IACX,MAAM,WAAW;CACpB"}
package/api/methods.js ADDED
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.EndpointMethods = void 0;
4
+ var EndpointMethods;
5
+ (function (EndpointMethods) {
6
+ EndpointMethods["GET"] = "GET";
7
+ EndpointMethods["POST"] = "POST";
8
+ EndpointMethods["PUT"] = "PUT";
9
+ EndpointMethods["DELETE"] = "DELETE";
10
+ })(EndpointMethods || (exports.EndpointMethods = EndpointMethods = {}));
11
+ //# sourceMappingURL=methods.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"methods.js","sourceRoot":"","sources":["../../src/api/methods.ts"],"names":[],"mappings":";;;AACA,IAAY,eAKX;AALD,WAAY,eAAe;IACvB,8BAAW,CAAA;IACX,gCAAa,CAAA;IACb,8BAAW,CAAA;IACX,oCAAiB,CAAA;AACrB,CAAC,EALW,eAAe,+BAAf,eAAe,QAK1B"}
@@ -0,0 +1,8 @@
1
+ export type ProcessingFn<T = unknown> = (input: T) => T;
2
+ export declare class ProcessorsRegistry<K> {
3
+ private readonly _map;
4
+ cleanup(): void;
5
+ register<P>(key: K, processor: ProcessingFn<P>, name?: string): () => void;
6
+ process<T>(key: K, input: T): T;
7
+ }
8
+ //# sourceMappingURL=processor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"processor.d.ts","sourceRoot":"","sources":["../../src/api/processor.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,YAAY,CAAC,CAAC,GAAG,OAAO,IAAI,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,CAAC;AAExD,qBAAa,kBAAkB,CAAC,CAAC;IAC7B,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAgC;IAE9C,OAAO;IAIP,QAAQ,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,SAAS,EAAE,YAAY,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,EAAE,MAAM;IAgB7D,OAAO,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,CAAC;CAIzC"}
@@ -0,0 +1,51 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ProcessorsRegistry = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const logger_1 = tslib_1.__importDefault(require("../logger"));
6
+ class ProcessorsRegistry {
7
+ _map = new Map();
8
+ cleanup() {
9
+ this._map.clear();
10
+ }
11
+ register(key, processor, name) {
12
+ const _name = name || processor.name;
13
+ const wrapper = (input) => {
14
+ try {
15
+ return processor(input);
16
+ }
17
+ catch (err) {
18
+ logger_1.default.error(`Processor error: ${_name}`, err);
19
+ return input;
20
+ }
21
+ };
22
+ const arr = getArr(this._map, key);
23
+ arr.push(wrapper);
24
+ return () => removeFromArr(arr, wrapper);
25
+ }
26
+ process(key, input) {
27
+ const arr = this._map.get(key);
28
+ return chainProcessors(arr, input);
29
+ }
30
+ }
31
+ exports.ProcessorsRegistry = ProcessorsRegistry;
32
+ function getArr(map, key) {
33
+ let arr = map.get(key);
34
+ if (!arr) {
35
+ arr = [];
36
+ map.set(key, arr);
37
+ }
38
+ return arr;
39
+ }
40
+ function removeFromArr(arr, item) {
41
+ const index = arr.indexOf(item);
42
+ if (index >= 0) {
43
+ arr.splice(index, 1);
44
+ }
45
+ }
46
+ function chainProcessors(chain, input) {
47
+ return chain?.length
48
+ ? chain.reduce((res, fn) => fn(res), input)
49
+ : input;
50
+ }
51
+ //# sourceMappingURL=processor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"processor.js","sourceRoot":"","sources":["../../src/api/processor.ts"],"names":[],"mappings":";;;;AAAA,+DAA+B;AAI/B,MAAa,kBAAkB;IACV,IAAI,GAAG,IAAI,GAAG,EAAqB,CAAC;IAE9C,OAAO;QACV,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;IACtB,CAAC;IAEM,QAAQ,CAAI,GAAM,EAAE,SAA0B,EAAE,IAAa;QAChE,MAAM,KAAK,GAAG,IAAI,IAAI,SAAS,CAAC,IAAI,CAAC;QACrC,MAAM,OAAO,GAAG,CAAC,KAAQ,EAAE,EAAE;YACzB,IAAI,CAAC;gBACD,OAAO,SAAS,CAAC,KAAK,CAAC,CAAC;YAC5B,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACX,gBAAM,CAAC,KAAK,CAAC,oBAAoB,KAAK,EAAE,EAAE,GAAG,CAAC,CAAC;gBAC/C,OAAO,KAAK,CAAC;YACjB,CAAC;QACL,CAAC,CAAC;QAEF,MAAM,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;QACnC,GAAG,CAAC,IAAI,CAAC,OAAgC,CAAC,CAAC;QAC3C,OAAO,GAAG,EAAE,CAAC,aAAa,CAAC,GAAG,EAAE,OAAgC,CAAC,CAAC;IACtE,CAAC;IAEM,OAAO,CAAI,GAAM,EAAE,KAAQ;QAC9B,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAsB,CAAC;QACpD,OAAO,eAAe,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;IACvC,CAAC;CACJ;AA3BD,gDA2BC;AAGD,SAAS,MAAM,CAA8B,GAAc,EAAE,GAAM;IAC/D,IAAI,GAAG,GAAG,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IACvB,IAAI,CAAC,GAAG,EAAE,CAAC;QACP,GAAG,GAAG,EAAyB,CAAC;QAChC,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;IACtB,CAAC;IACD,OAAO,GAAG,CAAC;AACf,CAAC;AAGD,SAAS,aAAa,CAAI,GAAQ,EAAE,IAAO;IACvC,MAAM,KAAK,GAAG,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAChC,IAAI,KAAK,IAAI,CAAC,EAAE,CAAC;QACb,GAAG,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;IACzB,CAAC;AACL,CAAC;AAED,SAAS,eAAe,CAAI,KAAwB,EAAE,KAAQ;IAC1D,OAAO,KAAK,EAAE,MAAM;QAChB,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE,KAAK,CAAC;QAC3C,CAAC,CAAC,KAAK,CAAC;AAChB,CAAC"}
@@ -0,0 +1,8 @@
1
+ import { ProcessingFn, ProcessorsRegistry } from './processor';
2
+ import { ApiEndpoint, IEndpointInfo } from './endpoint';
3
+ export declare const PreProcessors: ProcessorsRegistry<IEndpointInfo>;
4
+ export declare const PostProcessors: ProcessorsRegistry<IEndpointInfo>;
5
+ export declare function cleanupProcessors(): void;
6
+ export declare function registerPreProcessor<T extends IEndpointInfo>(api: T, processor: ProcessingFn<ApiEndpoint.ExtractIn<T>>, name?: string): () => void;
7
+ export declare function registerPostProcessor<T extends IEndpointInfo>(api: T, processor: ProcessingFn<ApiEndpoint.ExtractOut<T>>, name?: string): () => void;
8
+ //# sourceMappingURL=register.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"register.d.ts","sourceRoot":"","sources":["../../src/api/register.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAE/D,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAExD,eAAO,MAAM,aAAa,mCAA0C,CAAC;AACrE,eAAO,MAAM,cAAc,mCAA0C,CAAC;AAOtE,wBAAgB,iBAAiB,SAGhC;AAED,wBAAgB,oBAAoB,CAAC,CAAC,SAAS,aAAa,EAAE,GAAG,EAAE,CAAC,EAAE,SAAS,EAAE,YAAY,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,EAAE,MAAM,cAErI;AAED,wBAAgB,qBAAqB,CAAC,CAAC,SAAS,aAAa,EAAE,GAAG,EAAE,CAAC,EAAE,SAAS,EAAE,YAAY,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,EAAE,MAAM,cAEvI"}
@@ -0,0 +1,25 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.registerPostProcessor = exports.registerPreProcessor = exports.cleanupProcessors = exports.PostProcessors = exports.PreProcessors = void 0;
4
+ const processor_1 = require("./processor");
5
+ const helpers_1 = require("./helpers");
6
+ exports.PreProcessors = new processor_1.ProcessorsRegistry();
7
+ exports.PostProcessors = new processor_1.ProcessorsRegistry();
8
+ const formatEndpointName = (api, prefix, name) => {
9
+ const regName = name ? ` ||| ${name})` : '';
10
+ return `${(0, helpers_1.getFormattedDisplayName)(api)}${prefix}${regName}`;
11
+ };
12
+ function cleanupProcessors() {
13
+ exports.PreProcessors.cleanup();
14
+ exports.PostProcessors.cleanup();
15
+ }
16
+ exports.cleanupProcessors = cleanupProcessors;
17
+ function registerPreProcessor(api, processor, name) {
18
+ return exports.PreProcessors.register(api, processor, formatEndpointName(api, ' | <pre_proc>', name));
19
+ }
20
+ exports.registerPreProcessor = registerPreProcessor;
21
+ function registerPostProcessor(api, processor, name) {
22
+ return exports.PostProcessors.register(api, processor, formatEndpointName(api, ' | <post_proc>', name));
23
+ }
24
+ exports.registerPostProcessor = registerPostProcessor;
25
+ //# sourceMappingURL=register.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"register.js","sourceRoot":"","sources":["../../src/api/register.ts"],"names":[],"mappings":";;;AAAA,2CAA+D;AAC/D,uCAAoD;AAGvC,QAAA,aAAa,GAAG,IAAI,8BAAkB,EAAiB,CAAC;AACxD,QAAA,cAAc,GAAG,IAAI,8BAAkB,EAAiB,CAAC;AAEtE,MAAM,kBAAkB,GAAG,CAAC,GAAkB,EAAE,MAAc,EAAE,IAAa,EAAE,EAAE;IAC7E,MAAM,OAAO,GAAG,IAAI,CAAC,CAAC,CAAC,QAAQ,IAAI,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;IAC5C,OAAO,GAAG,IAAA,iCAAuB,EAAC,GAAG,CAAC,GAAG,MAAM,GAAG,OAAO,EAAE,CAAC;AAChE,CAAC,CAAC;AAEF,SAAgB,iBAAiB;IAC7B,qBAAa,CAAC,OAAO,EAAE,CAAC;IACxB,sBAAc,CAAC,OAAO,EAAE,CAAC;AAC7B,CAAC;AAHD,8CAGC;AAED,SAAgB,oBAAoB,CAA0B,GAAM,EAAE,SAAiD,EAAE,IAAa;IAClI,OAAO,qBAAa,CAAC,QAAQ,CAAC,GAAG,EAAE,SAAS,EAAE,kBAAkB,CAAC,GAAG,EAAE,eAAe,EAAE,IAAI,CAAC,CAAC,CAAC;AAClG,CAAC;AAFD,oDAEC;AAED,SAAgB,qBAAqB,CAA0B,GAAM,EAAE,SAAkD,EAAE,IAAa;IACpI,OAAO,sBAAc,CAAC,QAAQ,CAAC,GAAG,EAAE,SAAS,EAAE,kBAAkB,CAAC,GAAG,EAAE,gBAAgB,EAAE,IAAI,CAAC,CAAC,CAAC;AACpG,CAAC;AAFD,sDAEC"}
@@ -0,0 +1,17 @@
1
+ export declare enum StatusCodes {
2
+ OK = 200,
3
+ CREATED = 201,
4
+ FOUND = 302,
5
+ NOT_MODIFIED = 304,
6
+ BAD_REQUEST = 400,
7
+ UNAUTHORIZED = 401,
8
+ FORBIDDEN = 403,
9
+ NOT_FOUND = 404,
10
+ METHOD_NOT_ALLOWED = 405,
11
+ CONFLICT = 409,
12
+ PRECONDITION_FAILED = 412,
13
+ UPGRADE_REQUIRED = 426,
14
+ INTERNAL_SERVER_ERROR = 500,
15
+ SERVICE_UNAVAILABLE = 503
16
+ }
17
+ //# sourceMappingURL=statusCodes.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"statusCodes.d.ts","sourceRoot":"","sources":["../../src/api/statusCodes.ts"],"names":[],"mappings":"AACA,oBAAY,WAAW;IACnB,EAAE,MAAM;IACR,OAAO,MAAM;IAEb,KAAK,MAAM;IACX,YAAY,MAAM;IAElB,WAAW,MAAM;IACjB,YAAY,MAAM;IAClB,SAAS,MAAM;IAEf,SAAS,MAAM;IACf,kBAAkB,MAAM;IAExB,QAAQ,MAAM;IAEd,mBAAmB,MAAM;IACzB,gBAAgB,MAAM;IAEtB,qBAAqB,MAAM;IAC3B,mBAAmB,MAAM;CAC5B"}
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.StatusCodes = void 0;
4
+ var StatusCodes;
5
+ (function (StatusCodes) {
6
+ StatusCodes[StatusCodes["OK"] = 200] = "OK";
7
+ StatusCodes[StatusCodes["CREATED"] = 201] = "CREATED";
8
+ StatusCodes[StatusCodes["FOUND"] = 302] = "FOUND";
9
+ StatusCodes[StatusCodes["NOT_MODIFIED"] = 304] = "NOT_MODIFIED";
10
+ StatusCodes[StatusCodes["BAD_REQUEST"] = 400] = "BAD_REQUEST";
11
+ StatusCodes[StatusCodes["UNAUTHORIZED"] = 401] = "UNAUTHORIZED";
12
+ StatusCodes[StatusCodes["FORBIDDEN"] = 403] = "FORBIDDEN";
13
+ StatusCodes[StatusCodes["NOT_FOUND"] = 404] = "NOT_FOUND";
14
+ StatusCodes[StatusCodes["METHOD_NOT_ALLOWED"] = 405] = "METHOD_NOT_ALLOWED";
15
+ StatusCodes[StatusCodes["CONFLICT"] = 409] = "CONFLICT";
16
+ StatusCodes[StatusCodes["PRECONDITION_FAILED"] = 412] = "PRECONDITION_FAILED";
17
+ StatusCodes[StatusCodes["UPGRADE_REQUIRED"] = 426] = "UPGRADE_REQUIRED";
18
+ StatusCodes[StatusCodes["INTERNAL_SERVER_ERROR"] = 500] = "INTERNAL_SERVER_ERROR";
19
+ StatusCodes[StatusCodes["SERVICE_UNAVAILABLE"] = 503] = "SERVICE_UNAVAILABLE";
20
+ })(StatusCodes || (exports.StatusCodes = StatusCodes = {}));
21
+ //# sourceMappingURL=statusCodes.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"statusCodes.js","sourceRoot":"","sources":["../../src/api/statusCodes.ts"],"names":[],"mappings":";;;AACA,IAAY,WAqBX;AArBD,WAAY,WAAW;IACnB,2CAAQ,CAAA;IACR,qDAAa,CAAA;IAEb,iDAAW,CAAA;IACX,+DAAkB,CAAA;IAElB,6DAAiB,CAAA;IACjB,+DAAkB,CAAA;IAClB,yDAAe,CAAA;IAEf,yDAAe,CAAA;IACf,2EAAwB,CAAA;IAExB,uDAAc,CAAA;IAEd,6EAAyB,CAAA;IACzB,uEAAsB,CAAA;IAEtB,iFAA2B,CAAA;IAC3B,6EAAyB,CAAA;AAC7B,CAAC,EArBW,WAAW,2BAAX,WAAW,QAqBtB"}
package/dates/datex.d.ts CHANGED
@@ -1,7 +1,7 @@
1
1
  import { Granularity } from './types';
2
2
  export declare namespace DateX {
3
3
  type DateGranularity = Granularity | 'weekDay';
4
- function get(d: Date, g: DateGranularity, local: boolean): any;
4
+ function get(d: Date, g: DateGranularity, local: boolean): number;
5
5
  function set(d: Date, g: 'year', local: boolean, year: number, month?: number, date?: number): number;
6
6
  function set(d: Date, g: 'month', local: boolean, month: number, date?: number): number;
7
7
  function set(d: Date, g: 'week', local: boolean, week: number): number;
@@ -20,5 +20,5 @@ export declare namespace DateX {
20
20
  * @param local whether to use local time
21
21
  * @returns Date with the same time as d, but with the updated day of week
22
22
  */
23
- export declare function setDayOfWeek(d: Date | number, dayOfWeek: number, future?: boolean | null, local?: boolean): any;
23
+ export declare function setDayOfWeek(d: Date | number, dayOfWeek: number, future?: boolean | null, local?: boolean): Date;
24
24
  //# sourceMappingURL=datex.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"datex.d.ts","sourceRoot":"","sources":["../../src/dates/datex.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAItC,yBAAiB,KAAK,CAAC;IAEnB,KAAY,eAAe,GAAG,WAAW,GAAG,SAAS,CAAC;IAEtD,SAAgB,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,eAAe,EAAE,KAAK,EAAE,OAAO,OAa9D;IAED,SAAgB,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAC7G,SAAgB,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAC/F,SAAgB,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC;IAC9E,SAAgB,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC;IAC7E,SAAgB,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAAC;IACpF,SAAgB,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACxH,SAAgB,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAC1G,SAAgB,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAC5F,SAAgB,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,aAAa,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,EAAE,MAAM,GAAG,MAAM,CAAC;CA2EtF;AAED;;;;;;;GAOG;AACH,wBAAgB,YAAY,CAAC,CAAC,EAAE,IAAI,GAAG,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,GAAE,OAAO,GAAG,IAAW,EAAE,KAAK,UAAQ,OAc7G"}
1
+ {"version":3,"file":"datex.d.ts","sourceRoot":"","sources":["../../src/dates/datex.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAItC,yBAAiB,KAAK,CAAC;IAEnB,KAAY,eAAe,GAAG,WAAW,GAAG,SAAS,CAAC;IAEtD,SAAgB,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,eAAe,EAAE,KAAK,EAAE,OAAO,GAAG,MAAM,CAavE;IAED,SAAgB,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAC7G,SAAgB,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAC/F,SAAgB,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC;IAC9E,SAAgB,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC;IAC7E,SAAgB,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAAC;IACpF,SAAgB,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACxH,SAAgB,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAC1G,SAAgB,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAC5F,SAAgB,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,aAAa,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,EAAE,MAAM,GAAG,MAAM,CAAC;CAyEtF;AAED;;;;;;;GAOG;AACH,wBAAgB,YAAY,CAAC,CAAC,EAAE,IAAI,GAAG,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,GAAE,OAAO,GAAG,IAAW,EAAE,KAAK,UAAQ,QAc7G"}
package/dates/datex.js CHANGED
@@ -23,12 +23,11 @@ var DateX;
23
23
  DateX.get = get;
24
24
  function set(d, g, local, ...v) {
25
25
  if (g === 'week') {
26
- return setWeek(d, local, v[0]);
26
+ return setWeek(d, local, v[0] ?? 0);
27
27
  }
28
28
  if (g === 'weekDay') {
29
- return setDayOfWeek(d, v[0], null, local);
29
+ return setDayOfWeek(d, v[0] ?? 0, null, local).getTime();
30
30
  }
31
- /* eslint-disable @typescript-eslint/unbound-method -- it's clearly defined as a function with `this: Date` */
32
31
  const fn = (() => {
33
32
  switch (g) {
34
33
  case 'year': return local ? d.setFullYear : d.setUTCFullYear;
@@ -41,7 +40,6 @@ var DateX;
41
40
  default: return null;
42
41
  }
43
42
  })();
44
- /* eslint-enable @typescript-eslint/unbound-method */
45
43
  return fn ? fn.call(d, ...v) : d.getTime();
46
44
  }
47
45
  DateX.set = set;