@zajno/common 2.6.7 → 2.7.1

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 (141) hide show
  1. package/cjs/api/builder.js +5 -3
  2. package/cjs/api/builder.js.map +1 -1
  3. package/cjs/api/call.config.js +77 -0
  4. package/cjs/api/call.config.js.map +1 -0
  5. package/cjs/api/call.js +16 -51
  6. package/cjs/api/call.js.map +1 -1
  7. package/cjs/api/call.types.js +2 -0
  8. package/cjs/api/call.types.js.map +1 -1
  9. package/cjs/api/config.js +43 -0
  10. package/cjs/api/config.js.map +1 -0
  11. package/cjs/api/endpoint.js.map +1 -1
  12. package/cjs/api/extensions/contentType.js +9 -0
  13. package/cjs/api/extensions/contentType.js.map +1 -1
  14. package/cjs/api/extensions/endpointHooks.js +41 -0
  15. package/cjs/api/extensions/endpointHooks.js.map +1 -0
  16. package/cjs/api/extensions/index.js +1 -0
  17. package/cjs/api/extensions/index.js.map +1 -1
  18. package/cjs/api/extensions/validation.js +8 -0
  19. package/cjs/api/extensions/validation.js.map +1 -1
  20. package/cjs/api/hooks.js +56 -0
  21. package/cjs/api/hooks.js.map +1 -0
  22. package/cjs/api/index.js +4 -5
  23. package/cjs/api/index.js.map +1 -1
  24. package/cjs/api/interceptor.js +29 -0
  25. package/cjs/api/interceptor.js.map +1 -0
  26. package/cjs/api/logging.js +3 -3
  27. package/cjs/api/logging.js.map +1 -1
  28. package/cjs/functions/assert.js +18 -14
  29. package/cjs/functions/assert.js.map +1 -1
  30. package/cjs/functions/disposer.js +2 -2
  31. package/cjs/functions/disposer.js.map +1 -1
  32. package/cjs/functions/throttle.js +4 -4
  33. package/cjs/functions/throttle.js.map +1 -1
  34. package/cjs/logger/index.js +8 -18
  35. package/cjs/logger/index.js.map +1 -1
  36. package/cjs/logger/manager.js +14 -0
  37. package/cjs/logger/manager.js.map +1 -1
  38. package/cjs/logger/shared.js +18 -0
  39. package/cjs/logger/shared.js.map +1 -0
  40. package/cjs/models/LogicModel.js +2 -2
  41. package/cjs/models/LogicModel.js.map +1 -1
  42. package/cjs/observing/event.js +2 -2
  43. package/cjs/observing/event.js.map +1 -1
  44. package/cjs/observing/progressTracker.js +2 -2
  45. package/cjs/observing/progressTracker.js.map +1 -1
  46. package/cjs/structures/promiseCache.js +2 -2
  47. package/cjs/structures/promiseCache.js.map +1 -1
  48. package/cjs/structures/queue/parallel.js +2 -2
  49. package/cjs/structures/queue/parallel.js.map +1 -1
  50. package/cjs/structures/subscribersMap.js +2 -2
  51. package/cjs/structures/subscribersMap.js.map +1 -1
  52. package/esm/api/builder.js +5 -3
  53. package/esm/api/builder.js.map +1 -1
  54. package/esm/api/call.config.js +72 -0
  55. package/esm/api/call.config.js.map +1 -0
  56. package/esm/api/call.js +16 -51
  57. package/esm/api/call.js.map +1 -1
  58. package/esm/api/call.types.js +2 -0
  59. package/esm/api/call.types.js.map +1 -1
  60. package/esm/api/config.js +39 -0
  61. package/esm/api/config.js.map +1 -0
  62. package/esm/api/endpoint.js.map +1 -1
  63. package/esm/api/extensions/contentType.js +9 -0
  64. package/esm/api/extensions/contentType.js.map +1 -1
  65. package/esm/api/extensions/endpointHooks.js +38 -0
  66. package/esm/api/extensions/endpointHooks.js.map +1 -0
  67. package/esm/api/extensions/index.js +1 -0
  68. package/esm/api/extensions/index.js.map +1 -1
  69. package/esm/api/extensions/validation.js +8 -0
  70. package/esm/api/extensions/validation.js.map +1 -1
  71. package/esm/api/hooks.js +53 -0
  72. package/esm/api/hooks.js.map +1 -0
  73. package/esm/api/index.js +3 -2
  74. package/esm/api/index.js.map +1 -1
  75. package/esm/api/interceptor.js +26 -0
  76. package/esm/api/interceptor.js.map +1 -0
  77. package/esm/api/logging.js +3 -3
  78. package/esm/api/logging.js.map +1 -1
  79. package/esm/functions/assert.js +16 -13
  80. package/esm/functions/assert.js.map +1 -1
  81. package/esm/functions/disposer.js +1 -1
  82. package/esm/functions/disposer.js.map +1 -1
  83. package/esm/functions/throttle.js +1 -1
  84. package/esm/functions/throttle.js.map +1 -1
  85. package/esm/logger/index.js +6 -13
  86. package/esm/logger/index.js.map +1 -1
  87. package/esm/logger/manager.js +14 -0
  88. package/esm/logger/manager.js.map +1 -1
  89. package/esm/logger/shared.js +15 -0
  90. package/esm/logger/shared.js.map +1 -0
  91. package/esm/models/LogicModel.js +1 -1
  92. package/esm/models/LogicModel.js.map +1 -1
  93. package/esm/observing/event.js +1 -1
  94. package/esm/observing/event.js.map +1 -1
  95. package/esm/observing/progressTracker.js +1 -1
  96. package/esm/observing/progressTracker.js.map +1 -1
  97. package/esm/structures/promiseCache.js +1 -1
  98. package/esm/structures/promiseCache.js.map +1 -1
  99. package/esm/structures/queue/parallel.js +1 -1
  100. package/esm/structures/queue/parallel.js.map +1 -1
  101. package/esm/structures/subscribersMap.js +1 -1
  102. package/esm/structures/subscribersMap.js.map +1 -1
  103. package/package.json +1 -1
  104. package/tsconfig.cjs.tsbuildinfo +1 -1
  105. package/tsconfig.esm.tsbuildinfo +1 -1
  106. package/tsconfig.types.tsbuildinfo +1 -1
  107. package/types/api/call.config.d.ts +25 -0
  108. package/types/api/call.types.d.ts +28 -25
  109. package/types/api/config.d.ts +23 -0
  110. package/types/api/extensions/contentType.d.ts +6 -4
  111. package/types/api/extensions/endpointHooks.d.ts +16 -0
  112. package/types/api/extensions/index.d.ts +1 -0
  113. package/types/api/extensions/validation.d.ts +2 -0
  114. package/types/api/hooks.d.ts +27 -0
  115. package/types/api/index.d.ts +3 -3
  116. package/types/api/interceptor.d.ts +14 -0
  117. package/types/api/logging.d.ts +3 -3
  118. package/types/functions/assert.d.ts +5 -1
  119. package/types/functions/throttle.d.ts +1 -1
  120. package/types/logger/index.d.ts +8 -8
  121. package/types/logger/manager.d.ts +7 -0
  122. package/types/logger/shared.d.ts +15 -0
  123. package/types/models/LogicModel.d.ts +1 -1
  124. package/types/observing/event.d.ts +1 -1
  125. package/types/observing/progressTracker.d.ts +1 -1
  126. package/types/structures/promiseCache.d.ts +1 -1
  127. package/cjs/api/helpers.js +0 -32
  128. package/cjs/api/helpers.js.map +0 -1
  129. package/cjs/api/processor.js +0 -51
  130. package/cjs/api/processor.js.map +0 -1
  131. package/cjs/api/register.js +0 -25
  132. package/cjs/api/register.js.map +0 -1
  133. package/esm/api/helpers.js +0 -25
  134. package/esm/api/helpers.js.map +0 -1
  135. package/esm/api/processor.js +0 -46
  136. package/esm/api/processor.js.map +0 -1
  137. package/esm/api/register.js +0 -19
  138. package/esm/api/register.js.map +0 -1
  139. package/types/api/helpers.d.ts +0 -11
  140. package/types/api/processor.d.ts +0 -7
  141. package/types/api/register.d.ts +0 -7
@@ -1,4 +1,4 @@
1
- import { ILogger } from '../logger/index.js';
1
+ import { ILogger } from '../logger/shared.js';
2
2
  /** Runs a callback after a timeout, ignoring all consecutive calls until the first is processed. */
3
3
  export declare class ThrottleAction<T = any> {
4
4
  timeout: number;
@@ -1,13 +1,13 @@
1
1
  import { ILogger, LoggerFunction } from './abstractions.js';
2
2
  import { ConsoleLogger } from './console.js';
3
3
  import { batchLoggers } from './batch.js';
4
- import { LoggerModes } from './manager.js';
5
- export type { ILogger, LoggerFunction };
4
+ import { LoggerModes, LoggersManager } from './manager.js';
5
+ export type { ILogger, LoggerFunction, LoggerModes };
6
6
  export { NamedLogger } from './named.js';
7
7
  export { ConsoleLogger, batchLoggers };
8
- export declare function createLogger(name: string | undefined, mode?: undefined | LoggerModes): ILogger;
9
- export declare function detachLogger(instance: ILogger, terminate?: boolean): boolean;
10
- export declare function setMode(mode: LoggerModes | null | undefined): void;
11
- export declare function getMode(): LoggerModes;
12
- declare const logger: ILogger;
13
- export default logger;
8
+ export { LoggersManager };
9
+ /** Shared logger instance used internally in this library.
10
+ *
11
+ * For internal default loggers to be enabled and working, don't forget to set the mode to this instance.
12
+ */
13
+ export * as SharedLogger from './shared.js';
@@ -19,4 +19,11 @@ export declare class LoggersManager {
19
19
  detach(instance: ILogger, terminate?: boolean): boolean;
20
20
  private _findInstance;
21
21
  private _createImplementation;
22
+ expose(): {
23
+ createLogger: (name: string | undefined, mode?: undefined | LoggerModes) => ILogger;
24
+ detachLogger: (instance: ILogger, terminate?: boolean) => boolean;
25
+ setMode: (mode: LoggerModes | null | undefined) => void;
26
+ getMode: () => LoggerModes;
27
+ logger: ILogger;
28
+ };
22
29
  }
@@ -0,0 +1,15 @@
1
+ import { ILogger } from './abstractions.js';
2
+ import { LoggerModes } from './manager.js';
3
+ export type { ILogger, LoggerModes };
4
+ /** @deprecated Uses shared `LoggersManager` instance, it's better to create your own. */
5
+ export declare const createLogger: (name: string | undefined, mode?: undefined | LoggerModes) => ILogger;
6
+ /** @deprecated Uses shared `LoggersManager` instance, it's better to create your own. */
7
+ export declare const detachLogger: (instance: ILogger, terminate?: boolean) => boolean;
8
+ /** @deprecated Uses shared `LoggersManager` instance, it's better to create your own. */
9
+ export declare const setMode: (mode: LoggerModes | null | undefined) => void;
10
+ /** @deprecated Uses shared `LoggersManager` instance, it's better to create your own. */
11
+ export declare const getMode: () => LoggerModes;
12
+ /** @deprecated Uses shared `LoggersManager` instance, it's better to create your own. */
13
+ declare const logger: ILogger;
14
+ /** @deprecated Uses shared `LoggersManager` instance, it's better to create your own. */
15
+ export default logger;
@@ -1,7 +1,7 @@
1
1
  import { ExclusiveLoadingError, LoadingModel } from './Loading.js';
2
2
  import { Getter } from '../types/index.js';
3
3
  import { PromiseExtended } from '../structures/promiseExtended.js';
4
- import { ILogger } from '../logger/index.js';
4
+ import { ILogger } from '../logger/shared.js';
5
5
  export type ActionRunOptions = {
6
6
  /** Action name, required for logging and joining. */
7
7
  name?: string;
@@ -1,5 +1,5 @@
1
1
  import type { Predicate } from '../types/index.js';
2
- import { ILogger } from '../logger/index.js';
2
+ import { ILogger } from '../logger/shared.js';
3
3
  export type EventHandler<T = any> = (data?: T) => void | Promise<void>;
4
4
  type Unsubscribe = () => void;
5
5
  export interface IEvent<T = any> {
@@ -1,4 +1,4 @@
1
- import { ILogger } from '../logger/index.js';
1
+ import { type ILogger } from '../logger/shared.js';
2
2
  export declare class ProgressTracker {
3
3
  readonly log: boolean | ILogger;
4
4
  private readonly _firstTimestamp;
@@ -1,4 +1,4 @@
1
- import { ILogger } from '../logger/index.js';
1
+ import { ILogger } from '../logger/shared.js';
2
2
  import { IMapModel, IValueModel } from '../models/types.js';
3
3
  export type DeferredGetter<T> = {
4
4
  readonly current: T | null | undefined;
@@ -1,32 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.DefaultSettings = void 0;
4
- exports.setDefaults = setDefaults;
5
- exports.getPath = getPath;
6
- exports.getTemplate = getTemplate;
7
- exports.getFormattedDisplayName = getFormattedDisplayName;
8
- const index_js_1 = require("../structures/path/index.js");
9
- exports.DefaultSettings = {
10
- templateArgPrefix: ':',
11
- basePrefix: '/',
12
- };
13
- function setDefaults(settings) {
14
- Object.assign(exports.DefaultSettings, settings);
15
- }
16
- const getPrefix = (prefix) => typeof prefix === 'string' ? prefix : (prefix ? exports.DefaultSettings.basePrefix : false);
17
- function getPath(endpoint, pathArgs, prefix = true) {
18
- const path = endpoint.path ?? index_js_1.Path.Empty;
19
- return path.build(pathArgs || undefined, { addStart: getPrefix(prefix) });
20
- }
21
- function getTemplate(endpoint, prefix = true) {
22
- const path = endpoint.path ?? index_js_1.Path.Empty;
23
- return path.template(exports.DefaultSettings.templateArgPrefix, { addStart: getPrefix(prefix) });
24
- }
25
- function getFormattedDisplayName(endpoint) {
26
- const template = getTemplate(endpoint);
27
- const prefix = endpoint.displayName
28
- ? `[${endpoint.displayName}] `
29
- : '';
30
- return prefix + template;
31
- }
32
- //# sourceMappingURL=helpers.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../../src/api/helpers.ts"],"names":[],"mappings":";;;AAQA,kCAEC;AAKD,0BAQC;AAED,kCAIC;AAED,0DAMC;AArCD,0DAAmD;AAGtC,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;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,CACnB,QAAW,EACX,QAAsC,EACtC,SAA2B,IAAI;IAE/B,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,IAAK,eAAI,CAAC,KAAuB,CAAC;IAE5D,OAAO,IAAI,CAAC,KAAK,CAAC,QAAQ,IAAI,SAAS,EAAE,EAAE,QAAQ,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;AAC9E,CAAC;AAED,SAAgB,WAAW,CAA0B,QAAW,EAAE,SAAwB,IAAI;IAC1F,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,IAAK,eAAI,CAAC,KAAuB,CAAC;IAE5D,OAAO,IAAI,CAAC,QAAQ,CAAC,uBAAe,CAAC,iBAAiB,EAAE,EAAE,QAAQ,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;AAC7F,CAAC;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"}
@@ -1,51 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ProcessorsRegistry = void 0;
4
- const tslib_1 = require("tslib");
5
- const index_js_1 = tslib_1.__importDefault(require("../logger/index.js"));
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
- index_js_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
@@ -1 +0,0 @@
1
- {"version":3,"file":"processor.js","sourceRoot":"","sources":["../../../src/api/processor.ts"],"names":[],"mappings":";;;;AAAA,0EAAwC;AAIxC,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,kBAAM,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"}
@@ -1,25 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.PostProcessors = exports.PreProcessors = void 0;
4
- exports.cleanupProcessors = cleanupProcessors;
5
- exports.registerPreProcessor = registerPreProcessor;
6
- exports.registerPostProcessor = registerPostProcessor;
7
- const processor_js_1 = require("./processor.js");
8
- const helpers_js_1 = require("./helpers.js");
9
- exports.PreProcessors = new processor_js_1.ProcessorsRegistry();
10
- exports.PostProcessors = new processor_js_1.ProcessorsRegistry();
11
- const formatEndpointName = (api, prefix, name) => {
12
- const regName = name ? ` ||| ${name})` : '';
13
- return `${(0, helpers_js_1.getFormattedDisplayName)(api)}${prefix}${regName}`;
14
- };
15
- function cleanupProcessors() {
16
- exports.PreProcessors.cleanup();
17
- exports.PostProcessors.cleanup();
18
- }
19
- function registerPreProcessor(api, processor, name) {
20
- return exports.PreProcessors.register(api, processor, formatEndpointName(api, ' | <pre_proc>', name));
21
- }
22
- function registerPostProcessor(api, processor, name) {
23
- return exports.PostProcessors.register(api, processor, formatEndpointName(api, ' | <post_proc>', name));
24
- }
25
- //# sourceMappingURL=register.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"register.js","sourceRoot":"","sources":["../../../src/api/register.ts"],"names":[],"mappings":";;;AAYA,8CAGC;AAED,oDAEC;AAED,sDAEC;AAvBD,iDAAkE;AAClE,6CAAuD;AAG1C,QAAA,aAAa,GAAG,IAAI,iCAAkB,EAAiB,CAAC;AACxD,QAAA,cAAc,GAAG,IAAI,iCAAkB,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,oCAAuB,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;AAED,SAAgB,oBAAoB,CAA0B,GAAM,EAAE,SAAmD,EAAE,IAAa;IACpI,OAAO,qBAAa,CAAC,QAAQ,CAAC,GAAG,EAAE,SAAS,EAAE,kBAAkB,CAAC,GAAG,EAAE,eAAe,EAAE,IAAI,CAAC,CAAC,CAAC;AAClG,CAAC;AAED,SAAgB,qBAAqB,CAA0B,GAAM,EAAE,SAAoD,EAAE,IAAa;IACtI,OAAO,sBAAc,CAAC,QAAQ,CAAC,GAAG,EAAE,SAAS,EAAE,kBAAkB,CAAC,GAAG,EAAE,gBAAgB,EAAE,IAAI,CAAC,CAAC,CAAC;AACpG,CAAC"}
@@ -1,25 +0,0 @@
1
- import { Path } from '../structures/path/index.js';
2
- export const DefaultSettings = {
3
- templateArgPrefix: ':',
4
- basePrefix: '/',
5
- };
6
- export function setDefaults(settings) {
7
- Object.assign(DefaultSettings, settings);
8
- }
9
- const getPrefix = (prefix) => typeof prefix === 'string' ? prefix : (prefix ? DefaultSettings.basePrefix : false);
10
- export function getPath(endpoint, pathArgs, prefix = true) {
11
- const path = endpoint.path ?? Path.Empty;
12
- return path.build(pathArgs || undefined, { addStart: getPrefix(prefix) });
13
- }
14
- export function getTemplate(endpoint, prefix = true) {
15
- const path = endpoint.path ?? Path.Empty;
16
- return path.template(DefaultSettings.templateArgPrefix, { addStart: getPrefix(prefix) });
17
- }
18
- export function getFormattedDisplayName(endpoint) {
19
- const template = getTemplate(endpoint);
20
- const prefix = endpoint.displayName
21
- ? `[${endpoint.displayName}] `
22
- : '';
23
- return prefix + template;
24
- }
25
- //# sourceMappingURL=helpers.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../../src/api/helpers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,6BAA6B,CAAC;AAGnD,MAAM,CAAC,MAAM,eAAe,GAAG;IAC3B,iBAAiB,EAAE,GAAoC;IACvD,UAAU,EAAE,GAAG;CAClB,CAAC;AAEF,MAAM,UAAU,WAAW,CAAC,QAAyC;IACjE,MAAM,CAAC,MAAM,CAAC,eAAe,EAAE,QAAQ,CAAC,CAAC;AAC7C,CAAC;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,eAAe,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;AAEjI,MAAM,UAAU,OAAO,CACnB,QAAW,EACX,QAAsC,EACtC,SAA2B,IAAI;IAE/B,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,IAAK,IAAI,CAAC,KAAuB,CAAC;IAE5D,OAAO,IAAI,CAAC,KAAK,CAAC,QAAQ,IAAI,SAAS,EAAE,EAAE,QAAQ,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;AAC9E,CAAC;AAED,MAAM,UAAU,WAAW,CAA0B,QAAW,EAAE,SAAwB,IAAI;IAC1F,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,IAAK,IAAI,CAAC,KAAuB,CAAC;IAE5D,OAAO,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,iBAAiB,EAAE,EAAE,QAAQ,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;AAC7F,CAAC;AAED,MAAM,UAAU,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"}
@@ -1,46 +0,0 @@
1
- import logger from '../logger/index.js';
2
- export class ProcessorsRegistry {
3
- _map = new Map();
4
- cleanup() {
5
- this._map.clear();
6
- }
7
- register(key, processor, name) {
8
- const _name = name || processor.name;
9
- const wrapper = (input) => {
10
- try {
11
- return processor(input);
12
- }
13
- catch (err) {
14
- logger.error(`Processor error: ${_name}`, err);
15
- return input;
16
- }
17
- };
18
- const arr = getArr(this._map, key);
19
- arr.push(wrapper);
20
- return () => removeFromArr(arr, wrapper);
21
- }
22
- process(key, input) {
23
- const arr = this._map.get(key);
24
- return chainProcessors(arr, input);
25
- }
26
- }
27
- function getArr(map, key) {
28
- let arr = map.get(key);
29
- if (!arr) {
30
- arr = [];
31
- map.set(key, arr);
32
- }
33
- return arr;
34
- }
35
- function removeFromArr(arr, item) {
36
- const index = arr.indexOf(item);
37
- if (index >= 0) {
38
- arr.splice(index, 1);
39
- }
40
- }
41
- function chainProcessors(chain, input) {
42
- return chain?.length
43
- ? chain.reduce((res, fn) => fn(res), input)
44
- : input;
45
- }
46
- //# sourceMappingURL=processor.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"processor.js","sourceRoot":"","sources":["../../../src/api/processor.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,oBAAoB,CAAC;AAIxC,MAAM,OAAO,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,MAAM,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;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"}
@@ -1,19 +0,0 @@
1
- import { ProcessorsRegistry } from './processor.js';
2
- import { getFormattedDisplayName } from './helpers.js';
3
- export const PreProcessors = new ProcessorsRegistry();
4
- export const PostProcessors = new ProcessorsRegistry();
5
- const formatEndpointName = (api, prefix, name) => {
6
- const regName = name ? ` ||| ${name})` : '';
7
- return `${getFormattedDisplayName(api)}${prefix}${regName}`;
8
- };
9
- export function cleanupProcessors() {
10
- PreProcessors.cleanup();
11
- PostProcessors.cleanup();
12
- }
13
- export function registerPreProcessor(api, processor, name) {
14
- return PreProcessors.register(api, processor, formatEndpointName(api, ' | <pre_proc>', name));
15
- }
16
- export function registerPostProcessor(api, processor, name) {
17
- return PostProcessors.register(api, processor, formatEndpointName(api, ' | <post_proc>', name));
18
- }
19
- //# sourceMappingURL=register.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"register.js","sourceRoot":"","sources":["../../../src/api/register.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AAClE,OAAO,EAAE,uBAAuB,EAAE,MAAM,cAAc,CAAC;AAGvD,MAAM,CAAC,MAAM,aAAa,GAAG,IAAI,kBAAkB,EAAiB,CAAC;AACrE,MAAM,CAAC,MAAM,cAAc,GAAG,IAAI,kBAAkB,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,uBAAuB,CAAC,GAAG,CAAC,GAAG,MAAM,GAAG,OAAO,EAAE,CAAC;AAChE,CAAC,CAAC;AAEF,MAAM,UAAU,iBAAiB;IAC7B,aAAa,CAAC,OAAO,EAAE,CAAC;IACxB,cAAc,CAAC,OAAO,EAAE,CAAC;AAC7B,CAAC;AAED,MAAM,UAAU,oBAAoB,CAA0B,GAAM,EAAE,SAAmD,EAAE,IAAa;IACpI,OAAO,aAAa,CAAC,QAAQ,CAAC,GAAG,EAAE,SAAS,EAAE,kBAAkB,CAAC,GAAG,EAAE,eAAe,EAAE,IAAI,CAAC,CAAC,CAAC;AAClG,CAAC;AAED,MAAM,UAAU,qBAAqB,CAA0B,GAAM,EAAE,SAAoD,EAAE,IAAa;IACtI,OAAO,cAAc,CAAC,QAAQ,CAAC,GAAG,EAAE,SAAS,EAAE,kBAAkB,CAAC,GAAG,EAAE,gBAAgB,EAAE,IAAI,CAAC,CAAC,CAAC;AACpG,CAAC"}
@@ -1,11 +0,0 @@
1
- import { IEndpointInfo } from './endpoint.js';
2
- export declare const DefaultSettings: {
3
- templateArgPrefix: string;
4
- basePrefix: string;
5
- };
6
- export declare function setDefaults(settings: Partial<typeof DefaultSettings>): void;
7
- type PrefixOptions = string | boolean;
8
- export declare function getPath<T extends IEndpointInfo.Base & IEndpointInfo.IPathAbstract>(endpoint: T, pathArgs: IEndpointInfo.ExtractPath<T>, prefix?: string | boolean): string;
9
- export declare function getTemplate<T extends IEndpointInfo>(endpoint: T, prefix?: PrefixOptions): string;
10
- export declare function getFormattedDisplayName(endpoint: IEndpointInfo): string;
11
- export {};
@@ -1,7 +0,0 @@
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
- }
@@ -1,7 +0,0 @@
1
- import { ProcessingFn, ProcessorsRegistry } from './processor.js';
2
- import { IEndpointInfo } from './endpoint.js';
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<IEndpointInfo.ExtractIn<T>>, name?: string): () => void;
7
- export declare function registerPostProcessor<T extends IEndpointInfo>(api: T, processor: ProcessingFn<IEndpointInfo.ExtractOut<T>>, name?: string): () => void;