@daiso-tech/core 0.44.0 → 0.46.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 (153) hide show
  1. package/README.md +50 -41
  2. package/dist/cache/contracts/cache.errors.d.ts +3 -3
  3. package/dist/cache/contracts/cache.errors.js +1 -1
  4. package/dist/cache/contracts/cache.errors.js.map +1 -1
  5. package/dist/cache/contracts/cache.events.d.ts +8 -8
  6. package/dist/cache/contracts/cache.events.js +1 -1
  7. package/dist/cache/contracts/cache.events.js.map +1 -1
  8. package/dist/cache/contracts/database-cache-adapter.contract.d.ts +10 -48
  9. package/dist/cache/contracts/database-cache-adapter.contract.js +1 -1
  10. package/dist/cache/contracts/database-cache-adapter.contract.js.map +1 -1
  11. package/dist/cache/implementations/adapters/kysely-cache-adapter/kysely-cache-adapter.d.ts +24 -19
  12. package/dist/cache/implementations/adapters/kysely-cache-adapter/kysely-cache-adapter.js +138 -134
  13. package/dist/cache/implementations/adapters/kysely-cache-adapter/kysely-cache-adapter.js.map +1 -1
  14. package/dist/cache/implementations/derivables/cache/cache.d.ts +2 -8
  15. package/dist/cache/implementations/derivables/cache/cache.js +3 -8
  16. package/dist/cache/implementations/derivables/cache/cache.js.map +1 -1
  17. package/dist/cache/implementations/derivables/cache/database-cache-adapter.d.ts +3 -1
  18. package/dist/cache/implementations/derivables/cache/database-cache-adapter.js +49 -64
  19. package/dist/cache/implementations/derivables/cache/database-cache-adapter.js.map +1 -1
  20. package/dist/cache/implementations/derivables/cache/is-database-cache-adapter.js +5 -10
  21. package/dist/cache/implementations/derivables/cache/is-database-cache-adapter.js.map +1 -1
  22. package/dist/cache/implementations/derivables/cache-factory/cache-factory.d.ts +2 -2
  23. package/dist/cache/implementations/derivables/cache-factory/cache-factory.js +2 -4
  24. package/dist/cache/implementations/derivables/cache-factory/cache-factory.js.map +1 -1
  25. package/dist/cache/implementations/test-utilities/cache-adapter.test-suite.js +240 -238
  26. package/dist/cache/implementations/test-utilities/cache-adapter.test-suite.js.map +1 -1
  27. package/dist/cache/implementations/test-utilities/cache.test-suite.js +141 -36
  28. package/dist/cache/implementations/test-utilities/cache.test-suite.js.map +1 -1
  29. package/dist/cache/implementations/test-utilities/database-cache-dapter.test-suite.d.ts +0 -1
  30. package/dist/cache/implementations/test-utilities/database-cache-dapter.test-suite.js +215 -630
  31. package/dist/cache/implementations/test-utilities/database-cache-dapter.test-suite.js.map +1 -1
  32. package/dist/circuit-breaker/contracts/circuit-breaker.errors.d.ts +3 -3
  33. package/dist/circuit-breaker/contracts/circuit-breaker.errors.js +1 -1
  34. package/dist/circuit-breaker/contracts/circuit-breaker.errors.js.map +1 -1
  35. package/dist/circuit-breaker/implementations/derivables/circuit-breaker-provider/circuit-breaker-provider.d.ts +11 -8
  36. package/dist/circuit-breaker/implementations/derivables/circuit-breaker-provider/circuit-breaker-provider.js +3 -8
  37. package/dist/circuit-breaker/implementations/derivables/circuit-breaker-provider/circuit-breaker-provider.js.map +1 -1
  38. package/dist/circuit-breaker/implementations/derivables/circuit-breaker-provider/circuit-breaker-serde-transformer.d.ts +2 -2
  39. package/dist/circuit-breaker/implementations/derivables/circuit-breaker-provider/circuit-breaker-serde-transformer.js +1 -1
  40. package/dist/circuit-breaker/implementations/derivables/circuit-breaker-provider/circuit-breaker-serde-transformer.js.map +1 -1
  41. package/dist/circuit-breaker/implementations/derivables/circuit-breaker-provider/circuit-breaker.d.ts +4 -4
  42. package/dist/circuit-breaker/implementations/derivables/circuit-breaker-provider/circuit-breaker.js +1 -1
  43. package/dist/circuit-breaker/implementations/derivables/circuit-breaker-provider/circuit-breaker.js.map +1 -1
  44. package/dist/circuit-breaker/implementations/derivables/circuit-breaker-provider-factory/circuit-breaker-provider-factory.d.ts +2 -2
  45. package/dist/circuit-breaker/implementations/derivables/circuit-breaker-provider-factory/circuit-breaker-provider-factory.js +2 -4
  46. package/dist/circuit-breaker/implementations/derivables/circuit-breaker-provider-factory/circuit-breaker-provider-factory.js.map +1 -1
  47. package/dist/circuit-breaker/implementations/derivables/circuit-breaker-provider-factory/database-circuit-breaker-provider-factory.d.ts +2 -2
  48. package/dist/circuit-breaker/implementations/derivables/circuit-breaker-provider-factory/database-circuit-breaker-provider-factory.js +2 -4
  49. package/dist/circuit-breaker/implementations/derivables/circuit-breaker-provider-factory/database-circuit-breaker-provider-factory.js.map +1 -1
  50. package/dist/event-bus/implementations/derivables/event-bus/event-bus.d.ts +2 -8
  51. package/dist/event-bus/implementations/derivables/event-bus/event-bus.js +3 -8
  52. package/dist/event-bus/implementations/derivables/event-bus/event-bus.js.map +1 -1
  53. package/dist/event-bus/implementations/derivables/event-bus-factory/event-bus-factory.d.ts +2 -2
  54. package/dist/event-bus/implementations/derivables/event-bus-factory/event-bus-factory.js +2 -4
  55. package/dist/event-bus/implementations/derivables/event-bus-factory/event-bus-factory.js.map +1 -1
  56. package/dist/lock/contracts/lock.errors.d.ts +4 -4
  57. package/dist/lock/contracts/lock.errors.js +1 -1
  58. package/dist/lock/contracts/lock.errors.js.map +1 -1
  59. package/dist/lock/implementations/derivables/lock-provider/lock-provider.d.ts +11 -8
  60. package/dist/lock/implementations/derivables/lock-provider/lock-provider.js +3 -8
  61. package/dist/lock/implementations/derivables/lock-provider/lock-provider.js.map +1 -1
  62. package/dist/lock/implementations/derivables/lock-provider/lock-serde-transformer.d.ts +2 -2
  63. package/dist/lock/implementations/derivables/lock-provider/lock-serde-transformer.js +1 -1
  64. package/dist/lock/implementations/derivables/lock-provider/lock-serde-transformer.js.map +1 -1
  65. package/dist/lock/implementations/derivables/lock-provider/lock.d.ts +4 -4
  66. package/dist/lock/implementations/derivables/lock-provider/lock.js +1 -1
  67. package/dist/lock/implementations/derivables/lock-provider/lock.js.map +1 -1
  68. package/dist/lock/implementations/derivables/lock-provider-factory/lock-provider-factory.d.ts +2 -2
  69. package/dist/lock/implementations/derivables/lock-provider-factory/lock-provider-factory.js +2 -4
  70. package/dist/lock/implementations/derivables/lock-provider-factory/lock-provider-factory.js.map +1 -1
  71. package/dist/namespace/contracts/_module-exports.d.ts +1 -0
  72. package/dist/namespace/contracts/_module-exports.js +2 -0
  73. package/dist/namespace/contracts/_module-exports.js.map +1 -0
  74. package/dist/namespace/contracts/_module.d.ts +1 -0
  75. package/dist/namespace/contracts/_module.js +2 -0
  76. package/dist/namespace/contracts/_module.js.map +1 -0
  77. package/dist/namespace/contracts/namespace.contract.d.ts +17 -0
  78. package/dist/namespace/contracts/namespace.contract.js +5 -0
  79. package/dist/namespace/contracts/namespace.contract.js.map +1 -0
  80. package/dist/namespace/implementations/_module-exports.d.ts +2 -0
  81. package/dist/namespace/implementations/_module-exports.js +3 -0
  82. package/dist/namespace/implementations/_module-exports.js.map +1 -0
  83. package/dist/namespace/implementations/_module.d.ts +2 -0
  84. package/dist/namespace/implementations/_module.js +3 -0
  85. package/dist/namespace/implementations/_module.js.map +1 -0
  86. package/dist/namespace/{namespace.d.ts → implementations/namespace.d.ts} +18 -33
  87. package/dist/namespace/{namespace.js → implementations/namespace.js} +20 -4
  88. package/dist/namespace/implementations/namespace.js.map +1 -0
  89. package/dist/namespace/implementations/no-op-namespace.d.ts +14 -0
  90. package/dist/namespace/implementations/no-op-namespace.js +34 -0
  91. package/dist/namespace/implementations/no-op-namespace.js.map +1 -0
  92. package/dist/rate-limiter/implementations/derivables/rate-limiter-provider/rate-limiter-provider.d.ts +21 -9
  93. package/dist/rate-limiter/implementations/derivables/rate-limiter-provider/rate-limiter-provider.js +30 -10
  94. package/dist/rate-limiter/implementations/derivables/rate-limiter-provider/rate-limiter-provider.js.map +1 -1
  95. package/dist/rate-limiter/implementations/derivables/rate-limiter-provider/rate-limiter-serde-transformer.d.ts +38 -0
  96. package/dist/rate-limiter/implementations/derivables/rate-limiter-provider/rate-limiter-serde-transformer.js +75 -0
  97. package/dist/rate-limiter/implementations/derivables/rate-limiter-provider/rate-limiter-serde-transformer.js.map +1 -0
  98. package/dist/rate-limiter/implementations/derivables/rate-limiter-provider/rate-limiter.d.ts +21 -2
  99. package/dist/rate-limiter/implementations/derivables/rate-limiter-provider/rate-limiter.js +25 -2
  100. package/dist/rate-limiter/implementations/derivables/rate-limiter-provider/rate-limiter.js.map +1 -1
  101. package/dist/rate-limiter/implementations/derivables/rate-limiter-provider-factory/database-rate-limiter-provider-factory.d.ts +2 -2
  102. package/dist/rate-limiter/implementations/derivables/rate-limiter-provider-factory/database-rate-limiter-provider-factory.js +2 -4
  103. package/dist/rate-limiter/implementations/derivables/rate-limiter-provider-factory/database-rate-limiter-provider-factory.js.map +1 -1
  104. package/dist/rate-limiter/implementations/derivables/rate-limiter-provider-factory/rate-limiter-provider-factory.d.ts +2 -2
  105. package/dist/rate-limiter/implementations/derivables/rate-limiter-provider-factory/rate-limiter-provider-factory.js +2 -4
  106. package/dist/rate-limiter/implementations/derivables/rate-limiter-provider-factory/rate-limiter-provider-factory.js.map +1 -1
  107. package/dist/semaphore/contracts/semaphore.errors.d.ts +4 -4
  108. package/dist/semaphore/contracts/semaphore.errors.js +1 -1
  109. package/dist/semaphore/contracts/semaphore.errors.js.map +1 -1
  110. package/dist/semaphore/implementations/derivables/semaphore-provider/semaphore-provider.d.ts +11 -8
  111. package/dist/semaphore/implementations/derivables/semaphore-provider/semaphore-provider.js +3 -8
  112. package/dist/semaphore/implementations/derivables/semaphore-provider/semaphore-provider.js.map +1 -1
  113. package/dist/semaphore/implementations/derivables/semaphore-provider/semaphore-serde-transformer.d.ts +2 -2
  114. package/dist/semaphore/implementations/derivables/semaphore-provider/semaphore-serde-transformer.js +1 -1
  115. package/dist/semaphore/implementations/derivables/semaphore-provider/semaphore-serde-transformer.js.map +1 -1
  116. package/dist/semaphore/implementations/derivables/semaphore-provider/semaphore.d.ts +4 -4
  117. package/dist/semaphore/implementations/derivables/semaphore-provider/semaphore.js +1 -1
  118. package/dist/semaphore/implementations/derivables/semaphore-provider/semaphore.js.map +1 -1
  119. package/dist/semaphore/implementations/derivables/semaphore-provider-factory/semaphore-provider-factory.d.ts +2 -2
  120. package/dist/semaphore/implementations/derivables/semaphore-provider-factory/semaphore-provider-factory.js +2 -4
  121. package/dist/semaphore/implementations/derivables/semaphore-provider-factory/semaphore-provider-factory.js.map +1 -1
  122. package/dist/shared-lock/contracts/shared-lock.errors.d.ts +7 -7
  123. package/dist/shared-lock/contracts/shared-lock.errors.js +1 -1
  124. package/dist/shared-lock/contracts/shared-lock.errors.js.map +1 -1
  125. package/dist/shared-lock/implementations/derivables/shared-lock-provider/shared-lock-provider.d.ts +11 -8
  126. package/dist/shared-lock/implementations/derivables/shared-lock-provider/shared-lock-provider.js +3 -8
  127. package/dist/shared-lock/implementations/derivables/shared-lock-provider/shared-lock-provider.js.map +1 -1
  128. package/dist/shared-lock/implementations/derivables/shared-lock-provider/shared-lock-serde-transformer.d.ts +2 -2
  129. package/dist/shared-lock/implementations/derivables/shared-lock-provider/shared-lock-serde-transformer.js +1 -1
  130. package/dist/shared-lock/implementations/derivables/shared-lock-provider/shared-lock-serde-transformer.js.map +1 -1
  131. package/dist/shared-lock/implementations/derivables/shared-lock-provider/shared-lock.d.ts +4 -4
  132. package/dist/shared-lock/implementations/derivables/shared-lock-provider/shared-lock.js +1 -1
  133. package/dist/shared-lock/implementations/derivables/shared-lock-provider/shared-lock.js.map +1 -1
  134. package/dist/shared-lock/implementations/derivables/shared-lock-provider-factory/shared-lock-provider-factory.d.ts +2 -2
  135. package/dist/shared-lock/implementations/derivables/shared-lock-provider-factory/shared-lock-provider-factory.js +2 -4
  136. package/dist/shared-lock/implementations/derivables/shared-lock-provider-factory/shared-lock-provider-factory.js.map +1 -1
  137. package/dist/task/implementations/task.d.ts +1 -1
  138. package/dist/task/implementations/task.js +1 -1
  139. package/dist/task/implementations/task.js.map +1 -1
  140. package/dist/time-span/implementations/time-span.d.ts +17 -0
  141. package/dist/time-span/implementations/time-span.js +27 -1
  142. package/dist/time-span/implementations/time-span.js.map +1 -1
  143. package/dist/utilities/functions/error-policy.d.ts +1 -1
  144. package/dist/utilities/functions/error-policy.js +1 -2
  145. package/dist/utilities/functions/error-policy.js.map +1 -1
  146. package/package.json +48 -65
  147. package/dist/namespace/_module-exports.d.ts +0 -1
  148. package/dist/namespace/_module-exports.js +0 -2
  149. package/dist/namespace/_module-exports.js.map +0 -1
  150. package/dist/namespace/_module.d.ts +0 -1
  151. package/dist/namespace/_module.js +0 -2
  152. package/dist/namespace/_module.js.map +0 -1
  153. package/dist/namespace/namespace.js.map +0 -1
@@ -2,10 +2,11 @@
2
2
  * @module RateLimiter
3
3
  */
4
4
  import { type EventListener, type IEventBus, type Unsubscribe } from "../../../../event-bus/contracts/_module.js";
5
- import { Namespace } from "../../../../namespace/_module.js";
5
+ import { type INamespace } from "../../../../namespace/contracts/_module.js";
6
6
  import { type IRateLimiter, type IRateLimiterAdapter, type IRateLimiterProvider, type RateLimiterEventMap, type RateLimiterProviderCreateSettings } from "../../../../rate-limiter/contracts/_module.js";
7
+ import { type ISerderRegister } from "../../../../serde/contracts/_module.js";
7
8
  import { type ITask } from "../../../../task/contracts/_module.js";
8
- import { type ErrorPolicy } from "../../../../utilities/_module.js";
9
+ import { type ErrorPolicy, type OneOrMore } from "../../../../utilities/_module.js";
9
10
  /**
10
11
  *
11
12
  * IMPORT_PATH: `"@daiso-tech/core/rate-limiter"`
@@ -20,7 +21,7 @@ export type RateLimiterProviderSettingsBase = {
20
21
  * new Namespace("@rate-limiter")
21
22
  * ```
22
23
  */
23
- namespace?: Namespace;
24
+ namespace?: INamespace;
24
25
  /**
25
26
  * @default
26
27
  * ```ts
@@ -53,6 +54,20 @@ export type RateLimiterProviderSettingsBase = {
53
54
  * @default true
54
55
  */
55
56
  enableAsyncTracking?: boolean;
57
+ /**
58
+ * @default
59
+ * ```ts
60
+ * import { Serde } from "@daiso-tech/serde";
61
+ * import { NoOpSerdeAdapter } from "@daiso-tech/serde/no-op-serde-adapter";
62
+ *
63
+ * new Serde(new NoOpSerdeAdapter())
64
+ * ```
65
+ */
66
+ serde?: OneOrMore<ISerderRegister>;
67
+ /**
68
+ * @default ""
69
+ */
70
+ serdeTransformerName?: string;
56
71
  };
57
72
  /**
58
73
  *
@@ -62,12 +77,6 @@ export type RateLimiterProviderSettingsBase = {
62
77
  export type RateLimiterProviderSettings = RateLimiterProviderSettingsBase & {
63
78
  adapter: IRateLimiterAdapter;
64
79
  };
65
- /**
66
- *
67
- * IMPORT_PATH: `"@daiso-tech/core/rate-limiter"`
68
- * @group Derivables
69
- */
70
- export declare const DEFAULT_CIRCUIT_BREAKER_PROVIDER_NAMESPACE: Namespace;
71
80
  /**
72
81
  * The `RateLimiterProvider` class can be derived from any {@link IRateLimiterAdapter | `IRateLimiterAdapter`}.
73
82
  *
@@ -81,6 +90,8 @@ export declare class RateLimiterProvider implements IRateLimiterProvider {
81
90
  private readonly onlyError;
82
91
  private readonly defaultErrorPolicy;
83
92
  private readonly enableAsyncTracking;
93
+ private readonly serde;
94
+ private readonly serdeTransformerName;
84
95
  /**
85
96
  * @example
86
97
  * ```ts
@@ -113,6 +124,7 @@ export declare class RateLimiterProvider implements IRateLimiterProvider {
113
124
  * ```
114
125
  */
115
126
  constructor(settings: RateLimiterProviderSettings);
127
+ private registerToSerde;
116
128
  addListener<TEventName extends keyof RateLimiterEventMap>(eventName: TEventName, listener: EventListener<RateLimiterEventMap[TEventName]>): ITask<void>;
117
129
  removeListener<TEventName extends keyof RateLimiterEventMap>(eventName: TEventName, listener: EventListener<RateLimiterEventMap[TEventName]>): ITask<void>;
118
130
  listenOnce<TEventName extends keyof RateLimiterEventMap>(eventName: TEventName, listener: EventListener<RateLimiterEventMap[TEventName]>): ITask<void>;
@@ -4,17 +4,16 @@
4
4
  import {} from "../../../../event-bus/contracts/_module.js";
5
5
  import { NoOpEventBusAdapter } from "../../../../event-bus/implementations/adapters/_module.js";
6
6
  import { EventBus } from "../../../../event-bus/implementations/derivables/_module.js";
7
- import { Namespace } from "../../../../namespace/_module.js";
7
+ import {} from "../../../../namespace/contracts/_module.js";
8
+ import { NoOpNamespace } from "../../../../namespace/implementations/_module.js";
8
9
  import {} from "../../../../rate-limiter/contracts/_module.js";
10
+ import { RateLimiterSerdeTransformer } from "../../../../rate-limiter/implementations/derivables/rate-limiter-provider/rate-limiter-serde-transformer.js";
9
11
  import { RateLimiter } from "../../../../rate-limiter/implementations/derivables/rate-limiter-provider/rate-limiter.js";
12
+ import {} from "../../../../serde/contracts/_module.js";
13
+ import { NoOpSerdeAdapter } from "../../../../serde/implementations/adapters/_module.js";
14
+ import { Serde } from "../../../../serde/implementations/derivables/_module.js";
10
15
  import {} from "../../../../task/contracts/_module.js";
11
- import {} from "../../../../utilities/_module.js";
12
- /**
13
- *
14
- * IMPORT_PATH: `"@daiso-tech/core/rate-limiter"`
15
- * @group Derivables
16
- */
17
- export const DEFAULT_CIRCUIT_BREAKER_PROVIDER_NAMESPACE = new Namespace("@rate-limiter");
16
+ import { CORE, resolveOneOrMore, } from "../../../../utilities/_module.js";
18
17
  /**
19
18
  * The `RateLimiterProvider` class can be derived from any {@link IRateLimiterAdapter | `IRateLimiterAdapter`}.
20
19
  *
@@ -28,6 +27,8 @@ export class RateLimiterProvider {
28
27
  onlyError;
29
28
  defaultErrorPolicy;
30
29
  enableAsyncTracking;
30
+ serde;
31
+ serdeTransformerName;
31
32
  /**
32
33
  * @example
33
34
  * ```ts
@@ -60,15 +61,32 @@ export class RateLimiterProvider {
60
61
  * ```
61
62
  */
62
63
  constructor(settings) {
63
- const { enableAsyncTracking = true, namespace = DEFAULT_CIRCUIT_BREAKER_PROVIDER_NAMESPACE, eventBus = new EventBus({
64
+ const { enableAsyncTracking = true, namespace = new NoOpNamespace(), eventBus = new EventBus({
64
65
  adapter: new NoOpEventBusAdapter(),
65
- }), adapter, onlyError = false, defaultErrorPolicy = () => true, } = settings;
66
+ }), adapter, onlyError = false, defaultErrorPolicy = () => true, serde = new Serde(new NoOpSerdeAdapter()), serdeTransformerName = "", } = settings;
67
+ this.serdeTransformerName = serdeTransformerName;
66
68
  this.enableAsyncTracking = enableAsyncTracking;
67
69
  this.namespace = namespace;
68
70
  this.eventBus = eventBus;
69
71
  this.adapter = adapter;
70
72
  this.onlyError = onlyError;
71
73
  this.defaultErrorPolicy = defaultErrorPolicy;
74
+ this.serde = serde;
75
+ this.registerToSerde();
76
+ }
77
+ registerToSerde() {
78
+ const transformer = new RateLimiterSerdeTransformer({
79
+ enableAsyncTracking: this.enableAsyncTracking,
80
+ namespace: this.namespace,
81
+ eventBus: this.eventBus,
82
+ adapter: this.adapter,
83
+ onlyError: this.onlyError,
84
+ errorPolicy: this.defaultErrorPolicy,
85
+ serdeTransformerName: this.serdeTransformerName,
86
+ });
87
+ for (const serde of resolveOneOrMore(this.serde)) {
88
+ serde.registerCustom(transformer, CORE);
89
+ }
72
90
  }
73
91
  addListener(eventName, listener) {
74
92
  return this.eventBus.addListener(eventName, listener);
@@ -98,6 +116,8 @@ export class RateLimiterProvider {
98
116
  key: this.namespace.create(key),
99
117
  errorPolicy,
100
118
  onlyError,
119
+ serdeTransformerName: this.serdeTransformerName,
120
+ namespace: this.namespace,
101
121
  });
102
122
  }
103
123
  }
@@ -1 +1 @@
1
- {"version":3,"file":"rate-limiter-provider.js","sourceRoot":"","sources":["../../../../../src/rate-limiter/implementations/derivables/rate-limiter-provider/rate-limiter-provider.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"rate-limiter-provider.js","sourceRoot":"","sources":["../../../../../src/rate-limiter/implementations/derivables/rate-limiter-provider/rate-limiter-provider.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,38 @@
1
+ /**
2
+ * @module RateLimiter
3
+ */
4
+ import { type IEventBus } from "../../../../event-bus/contracts/_module.js";
5
+ import { type INamespace } from "../../../../namespace/contracts/_module.js";
6
+ import { type IRateLimiterAdapter, type RateLimiterEventMap } from "../../../../rate-limiter/contracts/_module.js";
7
+ import { RateLimiter, type ISerializedRateLimiter } from "../../../../rate-limiter/implementations/derivables/rate-limiter-provider/rate-limiter.js";
8
+ import { type ISerdeTransformer } from "../../../../serde/contracts/_module.js";
9
+ import { type ErrorPolicy, type OneOrMore } from "../../../../utilities/_module.js";
10
+ /**
11
+ * @internal
12
+ */
13
+ export type RateLimiterSerdeTransformerSettings = {
14
+ adapter: IRateLimiterAdapter;
15
+ namespace: INamespace;
16
+ errorPolicy: ErrorPolicy;
17
+ onlyError: boolean;
18
+ eventBus: IEventBus<RateLimiterEventMap>;
19
+ serdeTransformerName: string;
20
+ enableAsyncTracking: boolean;
21
+ };
22
+ /**
23
+ * @internal
24
+ */
25
+ export declare class RateLimiterSerdeTransformer implements ISerdeTransformer<RateLimiter, ISerializedRateLimiter> {
26
+ private readonly adapter;
27
+ private readonly namespace;
28
+ private readonly errorPolicy;
29
+ private readonly eventBus;
30
+ private readonly serdeTransformerName;
31
+ private readonly enableAsyncTracking;
32
+ private readonly onlyError;
33
+ constructor(settings: RateLimiterSerdeTransformerSettings);
34
+ get name(): OneOrMore<string>;
35
+ isApplicable(value: unknown): value is RateLimiter;
36
+ deserialize(serializedValue: ISerializedRateLimiter): RateLimiter;
37
+ serialize(deserializedValue: RateLimiter): ISerializedRateLimiter;
38
+ }
@@ -0,0 +1,75 @@
1
+ /**
2
+ * @module RateLimiter
3
+ */
4
+ import {} from "../../../../event-bus/contracts/_module.js";
5
+ import {} from "../../../../namespace/contracts/_module.js";
6
+ import {} from "../../../../rate-limiter/contracts/_module.js";
7
+ import { RateLimiter, } from "../../../../rate-limiter/implementations/derivables/rate-limiter-provider/rate-limiter.js";
8
+ import {} from "../../../../serde/contracts/_module.js";
9
+ import { getConstructorName, } from "../../../../utilities/_module.js";
10
+ /**
11
+ * @internal
12
+ */
13
+ export class RateLimiterSerdeTransformer {
14
+ adapter;
15
+ namespace;
16
+ errorPolicy;
17
+ eventBus;
18
+ serdeTransformerName;
19
+ enableAsyncTracking;
20
+ onlyError;
21
+ constructor(settings) {
22
+ const { adapter, namespace, eventBus, serdeTransformerName, enableAsyncTracking, errorPolicy, onlyError, } = settings;
23
+ this.onlyError = onlyError;
24
+ this.enableAsyncTracking = enableAsyncTracking;
25
+ this.serdeTransformerName = serdeTransformerName;
26
+ this.adapter = adapter;
27
+ this.namespace = namespace;
28
+ this.eventBus = eventBus;
29
+ this.errorPolicy = errorPolicy;
30
+ this.serdeTransformerName = serdeTransformerName;
31
+ }
32
+ get name() {
33
+ return [
34
+ "rateLimiter",
35
+ this.serdeTransformerName,
36
+ getConstructorName(this.adapter),
37
+ this.namespace.toString(),
38
+ ].filter((str) => str !== "");
39
+ }
40
+ isApplicable(value) {
41
+ const isRateLimiter = value instanceof RateLimiter &&
42
+ getConstructorName(value) === RateLimiter.name;
43
+ if (!isRateLimiter) {
44
+ return false;
45
+ }
46
+ const isSerdTransformerNameMathcing = this.serdeTransformerName ===
47
+ value._internal_getSerdeTransformerName();
48
+ const isNamespaceMatching = this.namespace.toString() ===
49
+ value._internal_getNamespace().toString();
50
+ const isAdapterMatching = getConstructorName(this.adapter) ===
51
+ getConstructorName(value._internal_getAdapter());
52
+ return (isSerdTransformerNameMathcing &&
53
+ isNamespaceMatching &&
54
+ isAdapterMatching);
55
+ }
56
+ deserialize(serializedValue) {
57
+ const { key, limit } = serializedValue;
58
+ const keyObj = this.namespace.create(key);
59
+ return new RateLimiter({
60
+ enableAsyncTracking: this.enableAsyncTracking,
61
+ eventDispatcher: this.eventBus,
62
+ adapter: this.adapter,
63
+ key: keyObj,
64
+ limit,
65
+ onlyError: this.onlyError,
66
+ errorPolicy: this.errorPolicy,
67
+ serdeTransformerName: this.serdeTransformerName,
68
+ namespace: this.namespace,
69
+ });
70
+ }
71
+ serialize(deserializedValue) {
72
+ return RateLimiter._internal_serialize(deserializedValue);
73
+ }
74
+ }
75
+ //# sourceMappingURL=rate-limiter-serde-transformer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rate-limiter-serde-transformer.js","sourceRoot":"","sources":["../../../../../src/rate-limiter/implementations/derivables/rate-limiter-provider/rate-limiter-serde-transformer.ts"],"names":[],"mappings":"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"}
@@ -2,7 +2,7 @@
2
2
  * @module RateLimiter
3
3
  */
4
4
  import { type IEventDispatcher } from "../../../../event-bus/contracts/_module.js";
5
- import { type Key } from "../../../../namespace/_module.js";
5
+ import { type IKey, type INamespace } from "../../../../namespace/contracts/_module.js";
6
6
  import { type IRateLimiter, type IRateLimiterAdapter, type RateLimiterEventMap, type RateLimiterState } from "../../../../rate-limiter/contracts/_module.js";
7
7
  import { type ITask } from "../../../../task/contracts/_module.js";
8
8
  import { type AsyncLazy, type ErrorPolicy } from "../../../../utilities/_module.js";
@@ -14,14 +14,28 @@ export type RateLimiterSettings = {
14
14
  enableAsyncTracking: boolean;
15
15
  eventDispatcher: IEventDispatcher<RateLimiterEventMap>;
16
16
  adapter: IRateLimiterAdapter;
17
- key: Key;
17
+ key: IKey;
18
18
  errorPolicy: ErrorPolicy;
19
19
  onlyError: boolean;
20
+ namespace: INamespace;
21
+ serdeTransformerName: string;
22
+ };
23
+ /**
24
+ * @internal
25
+ */
26
+ export type ISerializedRateLimiter = {
27
+ version: "1";
28
+ key: string;
29
+ limit: number;
20
30
  };
21
31
  /**
22
32
  * @internal
23
33
  */
24
34
  export declare class RateLimiter implements IRateLimiter {
35
+ /**
36
+ * @internal
37
+ */
38
+ static _internal_serialize(deserializedValue: RateLimiter): ISerializedRateLimiter;
25
39
  private readonly _key;
26
40
  private readonly _limit;
27
41
  private readonly errorPolicy;
@@ -29,7 +43,12 @@ export declare class RateLimiter implements IRateLimiter {
29
43
  private readonly adapter;
30
44
  private readonly eventDispatcher;
31
45
  private readonly enableAsyncTracking;
46
+ private readonly serdeTransformerName;
47
+ private readonly namespace;
32
48
  constructor(settings: RateLimiterSettings);
49
+ _internal_getNamespace(): INamespace;
50
+ _internal_getSerdeTransformerName(): string;
51
+ _internal_getAdapter(): IRateLimiterAdapter;
33
52
  private toRateLimiterState;
34
53
  getState(): ITask<RateLimiterState>;
35
54
  get key(): string;
@@ -2,7 +2,7 @@
2
2
  * @module RateLimiter
3
3
  */
4
4
  import {} from "../../../../event-bus/contracts/_module.js";
5
- import {} from "../../../../namespace/_module.js";
5
+ import {} from "../../../../namespace/contracts/_module.js";
6
6
  import { BlockedRateLimiterError, RATE_LIMITER_EVENTS, RATE_LIMITER_STATE, } from "../../../../rate-limiter/contracts/_module.js";
7
7
  import {} from "../../../../task/contracts/_module.js";
8
8
  import { Task } from "../../../../task/implementations/_module.js";
@@ -11,6 +11,16 @@ import { callErrorPolicyOnThrow, resolveAsyncLazyable, } from "../../../../utili
11
11
  * @internal
12
12
  */
13
13
  export class RateLimiter {
14
+ /**
15
+ * @internal
16
+ */
17
+ static _internal_serialize(deserializedValue) {
18
+ return {
19
+ version: "1",
20
+ key: deserializedValue._key.get(),
21
+ limit: deserializedValue._limit,
22
+ };
23
+ }
14
24
  _key;
15
25
  _limit;
16
26
  errorPolicy;
@@ -18,8 +28,12 @@ export class RateLimiter {
18
28
  adapter;
19
29
  eventDispatcher;
20
30
  enableAsyncTracking;
31
+ serdeTransformerName;
32
+ namespace;
21
33
  constructor(settings) {
22
- const { limit, enableAsyncTracking, eventDispatcher, key, errorPolicy, onlyError, adapter, } = settings;
34
+ const { limit, enableAsyncTracking, eventDispatcher, key, errorPolicy, onlyError, adapter, serdeTransformerName, namespace, } = settings;
35
+ this.namespace = namespace;
36
+ this.serdeTransformerName = serdeTransformerName;
23
37
  this._limit = limit;
24
38
  this.enableAsyncTracking = enableAsyncTracking;
25
39
  this.eventDispatcher = eventDispatcher;
@@ -28,6 +42,15 @@ export class RateLimiter {
28
42
  this.onlyError = onlyError;
29
43
  this.adapter = adapter;
30
44
  }
45
+ _internal_getNamespace() {
46
+ return this.namespace;
47
+ }
48
+ _internal_getSerdeTransformerName() {
49
+ return this.serdeTransformerName;
50
+ }
51
+ _internal_getAdapter() {
52
+ return this.adapter;
53
+ }
31
54
  toRateLimiterState(state) {
32
55
  if (state === null) {
33
56
  return {
@@ -1 +1 @@
1
- {"version":3,"file":"rate-limiter.js","sourceRoot":"","sources":["../../../../../src/rate-limiter/implementations/derivables/rate-limiter-provider/rate-limiter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"rate-limiter.js","sourceRoot":"","sources":["../../../../../src/rate-limiter/implementations/derivables/rate-limiter-provider/rate-limiter.ts"],"names":[],"mappings":"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"}
@@ -3,7 +3,7 @@
3
3
  */
4
4
  import { type BackoffPolicy } from "../../../../backoff-policies/_module.js";
5
5
  import { type IEventBus } from "../../../../event-bus/contracts/_module.js";
6
- import { type Namespace } from "../../../../namespace/_module.js";
6
+ import { type INamespace } from "../../../../namespace/contracts/_module.js";
7
7
  import { type IRateLimiterProviderFactory, type IRateLimiterProvider, type IRateLimiterStorageAdapter, type IRateLimiterPolicy } from "../../../../rate-limiter/contracts/_module.js";
8
8
  import { type RateLimiterProviderSettingsBase } from "../../../../rate-limiter/implementations/derivables/rate-limiter-provider/_module.js";
9
9
  import { type ErrorPolicy } from "../../../../utilities/_module.js";
@@ -79,7 +79,7 @@ export declare class DatabaseRateLimiterProviderFactory<TAdapters extends string
79
79
  * ```
80
80
  */
81
81
  constructor(settings: DatabaseRateLimiterProviderFactorySettings<TAdapters>);
82
- setNamespace(namespace: Namespace): DatabaseRateLimiterProviderFactory<TAdapters>;
82
+ setNamespace(namespace: INamespace): DatabaseRateLimiterProviderFactory<TAdapters>;
83
83
  setEventBus(eventBus: IEventBus): DatabaseRateLimiterProviderFactory<TAdapters>;
84
84
  setOnlyError(onlyError?: boolean): DatabaseRateLimiterProviderFactory<TAdapters>;
85
85
  setDefaultErrorPolicy(errorPolicy: ErrorPolicy): DatabaseRateLimiterProviderFactory<TAdapters>;
@@ -3,10 +3,10 @@
3
3
  */
4
4
  import {} from "../../../../backoff-policies/_module.js";
5
5
  import {} from "../../../../event-bus/contracts/_module.js";
6
- import {} from "../../../../namespace/_module.js";
6
+ import {} from "../../../../namespace/contracts/_module.js";
7
7
  import {} from "../../../../rate-limiter/contracts/_module.js";
8
8
  import { DatabaseRateLimiterAdapter } from "../../../../rate-limiter/implementations/adapters/database-rate-limiter-adapter/_module.js";
9
- import { RateLimiterProvider, DEFAULT_CIRCUIT_BREAKER_PROVIDER_NAMESPACE, } from "../../../../rate-limiter/implementations/derivables/rate-limiter-provider/_module.js";
9
+ import { RateLimiterProvider, } from "../../../../rate-limiter/implementations/derivables/rate-limiter-provider/_module.js";
10
10
  import {
11
11
  // eslint-disable-next-line @typescript-eslint/no-unused-vars
12
12
  UnregisteredAdapterError,
@@ -143,13 +143,11 @@ export class DatabaseRateLimiterProviderFactory {
143
143
  if (adapter === undefined) {
144
144
  throw new UnregisteredAdapterError(adapterName);
145
145
  }
146
- const { namespace = DEFAULT_CIRCUIT_BREAKER_PROVIDER_NAMESPACE } = this.settings;
147
146
  return new RateLimiterProvider({
148
147
  ...this.settings,
149
148
  adapter: new DatabaseRateLimiterAdapter({
150
149
  adapter,
151
150
  }),
152
- namespace: namespace.appendRoot(adapterName),
153
151
  });
154
152
  }
155
153
  }
@@ -1 +1 @@
1
- {"version":3,"file":"database-rate-limiter-provider-factory.js","sourceRoot":"","sources":["../../../../../src/rate-limiter/implementations/derivables/rate-limiter-provider-factory/database-rate-limiter-provider-factory.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAsB,MAAM,+BAA+B,CAAC;AACnE,OAAO,EAAkB,MAAM,kCAAkC,CAAC;AAClE,OAAO,EAAkB,MAAM,wBAAwB,CAAC;AACxD,OAAO,EAKN,MAAM,qCAAqC,CAAC;AAC7C,OAAO,EAAE,0BAA0B,EAAE,MAAM,kFAAkF,CAAC;AAC9H,OAAO,EACH,mBAAmB,EACnB,0CAA0C,GAE7C,MAAM,4EAA4E,CAAC;AACpF,OAAO;AACH,6DAA6D;AAC7D,wBAAwB;AACxB,6DAA6D;AAC7D,6BAA6B,GAEhC,MAAM,wBAAwB,CAAC;AA4ChC;;;;;GAKG;AACH,MAAM,OAAO,kCAAkC;IAkCtB;IA/BrB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA6BG;IACH,YACqB,QAA+D;QAA/D,aAAQ,GAAR,QAAQ,CAAuD;IACjF,CAAC;IAEJ,YAAY,CACR,SAAoB;QAEpB,OAAO,IAAI,kCAAkC,CAAC;YAC1C,GAAG,IAAI,CAAC,QAAQ;YAChB,SAAS;SACZ,CAAC,CAAC;IACP,CAAC;IAED,WAAW,CACP,QAAmB;QAEnB,OAAO,IAAI,kCAAkC,CAAC;YAC1C,GAAG,IAAI,CAAC,QAAQ;YAChB,QAAQ;SACX,CAAC,CAAC;IACP,CAAC;IAED,YAAY,CACR,SAAmB;QAEnB,OAAO,IAAI,kCAAkC,CAAC;YAC1C,GAAG,IAAI,CAAC,QAAQ;YAChB,SAAS;SACZ,CAAC,CAAC;IACP,CAAC;IAED,qBAAqB,CACjB,WAAwB;QAExB,OAAO,IAAI,kCAAkC,CAAC;YAC1C,GAAG,IAAI,CAAC,QAAQ;YAChB,kBAAkB,EAAE,WAAW;SAClC,CAAC,CAAC;IACP,CAAC;IAED,gBAAgB,CACZ,aAA6B;QAE7B,OAAO,IAAI,kCAAkC,CAAC;YAC1C,GAAG,IAAI,CAAC,QAAQ;YAChB,aAAa;SAChB,CAAC,CAAC;IACP,CAAC;IAED,oBAAoB,CAChB,iBAAsC;QAEtC,OAAO,IAAI,kCAAkC,CAAC;YAC1C,GAAG,IAAI,CAAC,QAAQ;YAChB,iBAAiB;SACpB,CAAC,CAAC;IACP,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA6CG;IACH,GAAG,CACC,cAAqC,IAAI,CAAC,QAAQ,CAAC,cAAc;QAEjE,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;YAC5B,MAAM,IAAI,6BAA6B,CACnC,kCAAkC,CAAC,IAAI,CAC1C,CAAC;QACN,CAAC;QACD,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;QACpD,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;YACxB,MAAM,IAAI,wBAAwB,CAAC,WAAW,CAAC,CAAC;QACpD,CAAC;QACD,MAAM,EAAE,SAAS,GAAG,0CAA0C,EAAE,GAC5D,IAAI,CAAC,QAAQ,CAAC;QAClB,OAAO,IAAI,mBAAmB,CAAC;YAC3B,GAAG,IAAI,CAAC,QAAQ;YAChB,OAAO,EAAE,IAAI,0BAA0B,CAAC;gBACpC,OAAO;aACV,CAAC;YACF,SAAS,EAAE,SAAS,CAAC,UAAU,CAAC,WAAW,CAAC;SAC/C,CAAC,CAAC;IACP,CAAC;CACJ"}
1
+ {"version":3,"file":"database-rate-limiter-provider-factory.js","sourceRoot":"","sources":["../../../../../src/rate-limiter/implementations/derivables/rate-limiter-provider-factory/database-rate-limiter-provider-factory.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAsB,MAAM,+BAA+B,CAAC;AACnE,OAAO,EAAkB,MAAM,kCAAkC,CAAC;AAClE,OAAO,EAAmB,MAAM,kCAAkC,CAAC;AACnE,OAAO,EAKN,MAAM,qCAAqC,CAAC;AAC7C,OAAO,EAAE,0BAA0B,EAAE,MAAM,kFAAkF,CAAC;AAC9H,OAAO,EACH,mBAAmB,GAEtB,MAAM,4EAA4E,CAAC;AACpF,OAAO;AACH,6DAA6D;AAC7D,wBAAwB;AACxB,6DAA6D;AAC7D,6BAA6B,GAEhC,MAAM,wBAAwB,CAAC;AA4ChC;;;;;GAKG;AACH,MAAM,OAAO,kCAAkC;IAkCtB;IA/BrB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA6BG;IACH,YACqB,QAA+D;QAA/D,aAAQ,GAAR,QAAQ,CAAuD;IACjF,CAAC;IAEJ,YAAY,CACR,SAAqB;QAErB,OAAO,IAAI,kCAAkC,CAAC;YAC1C,GAAG,IAAI,CAAC,QAAQ;YAChB,SAAS;SACZ,CAAC,CAAC;IACP,CAAC;IAED,WAAW,CACP,QAAmB;QAEnB,OAAO,IAAI,kCAAkC,CAAC;YAC1C,GAAG,IAAI,CAAC,QAAQ;YAChB,QAAQ;SACX,CAAC,CAAC;IACP,CAAC;IAED,YAAY,CACR,SAAmB;QAEnB,OAAO,IAAI,kCAAkC,CAAC;YAC1C,GAAG,IAAI,CAAC,QAAQ;YAChB,SAAS;SACZ,CAAC,CAAC;IACP,CAAC;IAED,qBAAqB,CACjB,WAAwB;QAExB,OAAO,IAAI,kCAAkC,CAAC;YAC1C,GAAG,IAAI,CAAC,QAAQ;YAChB,kBAAkB,EAAE,WAAW;SAClC,CAAC,CAAC;IACP,CAAC;IAED,gBAAgB,CACZ,aAA6B;QAE7B,OAAO,IAAI,kCAAkC,CAAC;YAC1C,GAAG,IAAI,CAAC,QAAQ;YAChB,aAAa;SAChB,CAAC,CAAC;IACP,CAAC;IAED,oBAAoB,CAChB,iBAAsC;QAEtC,OAAO,IAAI,kCAAkC,CAAC;YAC1C,GAAG,IAAI,CAAC,QAAQ;YAChB,iBAAiB;SACpB,CAAC,CAAC;IACP,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA6CG;IACH,GAAG,CACC,cAAqC,IAAI,CAAC,QAAQ,CAAC,cAAc;QAEjE,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;YAC5B,MAAM,IAAI,6BAA6B,CACnC,kCAAkC,CAAC,IAAI,CAC1C,CAAC;QACN,CAAC;QACD,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;QACpD,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;YACxB,MAAM,IAAI,wBAAwB,CAAC,WAAW,CAAC,CAAC;QACpD,CAAC;QACD,OAAO,IAAI,mBAAmB,CAAC;YAC3B,GAAG,IAAI,CAAC,QAAQ;YAChB,OAAO,EAAE,IAAI,0BAA0B,CAAC;gBACpC,OAAO;aACV,CAAC;SACL,CAAC,CAAC;IACP,CAAC;CACJ"}
@@ -2,7 +2,7 @@
2
2
  * @module RateLimiter
3
3
  */
4
4
  import { type IEventBus } from "../../../../event-bus/contracts/_module.js";
5
- import { type Namespace } from "../../../../namespace/_module.js";
5
+ import { type INamespace } from "../../../../namespace/contracts/_module.js";
6
6
  import { type IRateLimiterProviderFactory, type IRateLimiterProvider, type IRateLimiterAdapter } from "../../../../rate-limiter/contracts/_module.js";
7
7
  import { type RateLimiterProviderSettingsBase } from "../../../../rate-limiter/implementations/derivables/rate-limiter-provider/_module.js";
8
8
  import { type ErrorPolicy } from "../../../../utilities/_module.js";
@@ -56,7 +56,7 @@ export declare class RateLimiterProviderFactory<TAdapters extends string> implem
56
56
  * ```
57
57
  */
58
58
  constructor(settings: RateLimiterProviderFactorySettings<TAdapters>);
59
- setNamespace(namespace: Namespace): RateLimiterProviderFactory<TAdapters>;
59
+ setNamespace(namespace: INamespace): RateLimiterProviderFactory<TAdapters>;
60
60
  setEventBus(eventBus: IEventBus): RateLimiterProviderFactory<TAdapters>;
61
61
  setOnlyError(onlyError?: boolean): RateLimiterProviderFactory<TAdapters>;
62
62
  setDefaultErrorPolicy(errorPolicy: ErrorPolicy): RateLimiterProviderFactory<TAdapters>;
@@ -2,9 +2,9 @@
2
2
  * @module RateLimiter
3
3
  */
4
4
  import {} from "../../../../event-bus/contracts/_module.js";
5
- import {} from "../../../../namespace/_module.js";
5
+ import {} from "../../../../namespace/contracts/_module.js";
6
6
  import {} from "../../../../rate-limiter/contracts/_module.js";
7
- import { RateLimiterProvider, DEFAULT_CIRCUIT_BREAKER_PROVIDER_NAMESPACE, } from "../../../../rate-limiter/implementations/derivables/rate-limiter-provider/_module.js";
7
+ import { RateLimiterProvider, } from "../../../../rate-limiter/implementations/derivables/rate-limiter-provider/_module.js";
8
8
  import {
9
9
  // eslint-disable-next-line @typescript-eslint/no-unused-vars
10
10
  UnregisteredAdapterError,
@@ -121,11 +121,9 @@ export class RateLimiterProviderFactory {
121
121
  if (adapter === undefined) {
122
122
  throw new UnregisteredAdapterError(adapterName);
123
123
  }
124
- const { namespace = DEFAULT_CIRCUIT_BREAKER_PROVIDER_NAMESPACE } = this.settings;
125
124
  return new RateLimiterProvider({
126
125
  ...this.settings,
127
126
  adapter,
128
- namespace: namespace.appendRoot(adapterName),
129
127
  });
130
128
  }
131
129
  }
@@ -1 +1 @@
1
- {"version":3,"file":"rate-limiter-provider-factory.js","sourceRoot":"","sources":["../../../../../src/rate-limiter/implementations/derivables/rate-limiter-provider-factory/rate-limiter-provider-factory.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAkB,MAAM,kCAAkC,CAAC;AAClE,OAAO,EAAkB,MAAM,wBAAwB,CAAC;AACxD,OAAO,EAIN,MAAM,qCAAqC,CAAC;AAC7C,OAAO,EACH,mBAAmB,EACnB,0CAA0C,GAE7C,MAAM,4EAA4E,CAAC;AACpF,OAAO;AACH,6DAA6D;AAC7D,wBAAwB;AACxB,6DAA6D;AAC7D,6BAA6B,GAEhC,MAAM,wBAAwB,CAAC;AAuBhC;;;;;GAKG;AACH,MAAM,OAAO,0BAA0B;IA8Bd;IA3BrB;;;;;;;;;;;;;;;;;;;;;;;;;OAyBG;IACH,YACqB,QAAuD;QAAvD,aAAQ,GAAR,QAAQ,CAA+C;IACzE,CAAC;IAEJ,YAAY,CAAC,SAAoB;QAC7B,OAAO,IAAI,0BAA0B,CAAC;YAClC,GAAG,IAAI,CAAC,QAAQ;YAChB,SAAS;SACZ,CAAC,CAAC;IACP,CAAC;IAED,WAAW,CAAC,QAAmB;QAC3B,OAAO,IAAI,0BAA0B,CAAC;YAClC,GAAG,IAAI,CAAC,QAAQ;YAChB,QAAQ;SACX,CAAC,CAAC;IACP,CAAC;IAED,YAAY,CAAC,SAAmB;QAC5B,OAAO,IAAI,0BAA0B,CAAC;YAClC,GAAG,IAAI,CAAC,QAAQ;YAChB,SAAS;SACZ,CAAC,CAAC;IACP,CAAC;IAED,qBAAqB,CACjB,WAAwB;QAExB,OAAO,IAAI,0BAA0B,CAAC;YAClC,GAAG,IAAI,CAAC,QAAQ;YAChB,kBAAkB,EAAE,WAAW;SAClC,CAAC,CAAC;IACP,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAyCG;IACH,GAAG,CACC,cAAqC,IAAI,CAAC,QAAQ,CAAC,cAAc;QAEjE,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;YAC5B,MAAM,IAAI,6BAA6B,CACnC,0BAA0B,CAAC,IAAI,CAClC,CAAC;QACN,CAAC;QACD,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;QACpD,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;YACxB,MAAM,IAAI,wBAAwB,CAAC,WAAW,CAAC,CAAC;QACpD,CAAC;QACD,MAAM,EAAE,SAAS,GAAG,0CAA0C,EAAE,GAC5D,IAAI,CAAC,QAAQ,CAAC;QAClB,OAAO,IAAI,mBAAmB,CAAC;YAC3B,GAAG,IAAI,CAAC,QAAQ;YAChB,OAAO;YACP,SAAS,EAAE,SAAS,CAAC,UAAU,CAAC,WAAW,CAAC;SAC/C,CAAC,CAAC;IACP,CAAC;CACJ"}
1
+ {"version":3,"file":"rate-limiter-provider-factory.js","sourceRoot":"","sources":["../../../../../src/rate-limiter/implementations/derivables/rate-limiter-provider-factory/rate-limiter-provider-factory.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAkB,MAAM,kCAAkC,CAAC;AAClE,OAAO,EAAmB,MAAM,kCAAkC,CAAC;AACnE,OAAO,EAIN,MAAM,qCAAqC,CAAC;AAC7C,OAAO,EACH,mBAAmB,GAEtB,MAAM,4EAA4E,CAAC;AACpF,OAAO;AACH,6DAA6D;AAC7D,wBAAwB;AACxB,6DAA6D;AAC7D,6BAA6B,GAEhC,MAAM,wBAAwB,CAAC;AAuBhC;;;;;GAKG;AACH,MAAM,OAAO,0BAA0B;IA8Bd;IA3BrB;;;;;;;;;;;;;;;;;;;;;;;;;OAyBG;IACH,YACqB,QAAuD;QAAvD,aAAQ,GAAR,QAAQ,CAA+C;IACzE,CAAC;IAEJ,YAAY,CAAC,SAAqB;QAC9B,OAAO,IAAI,0BAA0B,CAAC;YAClC,GAAG,IAAI,CAAC,QAAQ;YAChB,SAAS;SACZ,CAAC,CAAC;IACP,CAAC;IAED,WAAW,CAAC,QAAmB;QAC3B,OAAO,IAAI,0BAA0B,CAAC;YAClC,GAAG,IAAI,CAAC,QAAQ;YAChB,QAAQ;SACX,CAAC,CAAC;IACP,CAAC;IAED,YAAY,CAAC,SAAmB;QAC5B,OAAO,IAAI,0BAA0B,CAAC;YAClC,GAAG,IAAI,CAAC,QAAQ;YAChB,SAAS;SACZ,CAAC,CAAC;IACP,CAAC;IAED,qBAAqB,CACjB,WAAwB;QAExB,OAAO,IAAI,0BAA0B,CAAC;YAClC,GAAG,IAAI,CAAC,QAAQ;YAChB,kBAAkB,EAAE,WAAW;SAClC,CAAC,CAAC;IACP,CAAC;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAyCG;IACH,GAAG,CACC,cAAqC,IAAI,CAAC,QAAQ,CAAC,cAAc;QAEjE,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;YAC5B,MAAM,IAAI,6BAA6B,CACnC,0BAA0B,CAAC,IAAI,CAClC,CAAC;QACN,CAAC;QACD,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;QACpD,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;YACxB,MAAM,IAAI,wBAAwB,CAAC,WAAW,CAAC,CAAC;QACpD,CAAC;QACD,OAAO,IAAI,mBAAmB,CAAC;YAC3B,GAAG,IAAI,CAAC,QAAQ;YAChB,OAAO;SACV,CAAC,CAAC;IACP,CAAC;CACJ"}
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * @module Semaphore
3
3
  */
4
- import { type Key } from "../../namespace/_module.js";
4
+ import { type IKey } from "../../namespace/contracts/_module.js";
5
5
  /**
6
6
  * The error is thrown when trying to acquire a semaphore slot, but all slots are already taken.
7
7
  *
@@ -9,7 +9,7 @@ import { type Key } from "../../namespace/_module.js";
9
9
  * @group Errors
10
10
  */
11
11
  export declare class LimitReachedSemaphoreError extends Error {
12
- static create(key: Key, cause?: unknown): LimitReachedSemaphoreError;
12
+ static create(key: IKey, cause?: unknown): LimitReachedSemaphoreError;
13
13
  /**
14
14
  * Note: Do not instantiate `LimitReachedSemaphoreError` directly via the constructor. Use the static `create()` factory method instead.
15
15
  * The constructor remains public only to maintain compatibility with errorPolicy types and prevent type errors.
@@ -24,7 +24,7 @@ export declare class LimitReachedSemaphoreError extends Error {
24
24
  * @group Errors
25
25
  */
26
26
  export declare class FailedRefreshSemaphoreError extends Error {
27
- static create(key: Key, slotId: string, cause?: unknown): FailedRefreshSemaphoreError;
27
+ static create(key: IKey, slotId: string, cause?: unknown): FailedRefreshSemaphoreError;
28
28
  /**
29
29
  * Note: Do not instantiate `FailedRefreshSemaphoreError` directly via the constructor. Use the static `create()` factory method instead.
30
30
  * The constructor remains public only to maintain compatibility with errorPolicy types and prevent type errors.
@@ -39,7 +39,7 @@ export declare class FailedRefreshSemaphoreError extends Error {
39
39
  * @group Errors
40
40
  */
41
41
  export declare class FailedReleaseSemaphoreError extends Error {
42
- static create(key: Key, slotId: string, cause?: unknown): FailedReleaseSemaphoreError;
42
+ static create(key: IKey, slotId: string, cause?: unknown): FailedReleaseSemaphoreError;
43
43
  /**
44
44
  * Note: Do not instantiate `FailedReleaseSemaphoreError` directly via the constructor. Use the static `create()` factory method instead.
45
45
  * The constructor remains public only to maintain compatibility with errorPolicy types and prevent type errors.
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * @module Semaphore
3
3
  */
4
- import {} from "../../namespace/_module.js";
4
+ import {} from "../../namespace/contracts/_module.js";
5
5
  /**
6
6
  * The error is thrown when trying to acquire a semaphore slot, but all slots are already taken.
7
7
  *
@@ -1 +1 @@
1
- {"version":3,"file":"semaphore.errors.js","sourceRoot":"","sources":["../../../src/semaphore/contracts/semaphore.errors.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAY,MAAM,wBAAwB,CAAC;AAElD;;;;;GAKG;AACH,MAAM,OAAO,0BAA2B,SAAQ,KAAK;IACjD,MAAM,CAAC,MAAM,CAAC,GAAQ,EAAE,KAAe;QACnC,OAAO,IAAI,0BAA0B,CACjC,QAAQ,GAAG,CAAC,GAAG,EAAE,yBAAyB,EAC1C,KAAK,CACR,CAAC;IACN,CAAC;IAED;;;;OAIG;IACH,YAAY,OAAe,EAAE,KAAe;QACxC,KAAK,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;QAC1B,IAAI,CAAC,IAAI,GAAG,0BAA0B,CAAC,IAAI,CAAC;IAChD,CAAC;CACJ;AAED;;;;;GAKG;AACH,MAAM,OAAO,2BAA4B,SAAQ,KAAK;IAClD,MAAM,CAAC,MAAM,CACT,GAAQ,EACR,MAAc,EACd,KAAe;QAEf,OAAO,IAAI,2BAA2B,CAClC,2BAA2B,MAAM,aAAa,GAAG,CAAC,GAAG,EAAE,GAAG,EAC1D,KAAK,CACR,CAAC;IACN,CAAC;IAED;;;;OAIG;IACH,YAAY,OAAe,EAAE,KAAe;QACxC,KAAK,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;QAC1B,IAAI,CAAC,IAAI,GAAG,2BAA2B,CAAC,IAAI,CAAC;IACjD,CAAC;CACJ;AAED;;;;;GAKG;AACH,MAAM,OAAO,2BAA4B,SAAQ,KAAK;IAClD,MAAM,CAAC,MAAM,CACT,GAAQ,EACR,MAAc,EACd,KAAe;QAEf,OAAO,IAAI,2BAA2B,CAClC,2BAA2B,MAAM,aAAa,GAAG,CAAC,GAAG,EAAE,GAAG,EAC1D,KAAK,CACR,CAAC;IACN,CAAC;IAED;;;;OAIG;IACH,YAAY,OAAe,EAAE,KAAe;QACxC,KAAK,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;QAC1B,IAAI,CAAC,IAAI,GAAG,2BAA2B,CAAC,IAAI,CAAC;IACjD,CAAC;CACJ;AAED;;;;GAIG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG;IAC5B,YAAY,EAAE,0BAA0B;IACxC,aAAa,EAAE,2BAA2B;IAC1C,aAAa,EAAE,2BAA2B;CACpC,CAAC;AAYX;;;;GAIG;AACH,MAAM,UAAU,gBAAgB,CAAC,KAAc;IAC3C,KAAK,MAAM,UAAU,IAAI,MAAM,CAAC,MAAM,CAAC,gBAAgB,CAAC,EAAE,CAAC;QACvD,IAAI,CAAC,CAAC,KAAK,YAAY,UAAU,CAAC,EAAE,CAAC;YACjC,OAAO,KAAK,CAAC;QACjB,CAAC;IACL,CAAC;IACD,OAAO,IAAI,CAAC;AAChB,CAAC"}
1
+ {"version":3,"file":"semaphore.errors.js","sourceRoot":"","sources":["../../../src/semaphore/contracts/semaphore.errors.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAa,MAAM,kCAAkC,CAAC;AAE7D;;;;;GAKG;AACH,MAAM,OAAO,0BAA2B,SAAQ,KAAK;IACjD,MAAM,CAAC,MAAM,CAAC,GAAS,EAAE,KAAe;QACpC,OAAO,IAAI,0BAA0B,CACjC,QAAQ,GAAG,CAAC,GAAG,EAAE,yBAAyB,EAC1C,KAAK,CACR,CAAC;IACN,CAAC;IAED;;;;OAIG;IACH,YAAY,OAAe,EAAE,KAAe;QACxC,KAAK,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;QAC1B,IAAI,CAAC,IAAI,GAAG,0BAA0B,CAAC,IAAI,CAAC;IAChD,CAAC;CACJ;AAED;;;;;GAKG;AACH,MAAM,OAAO,2BAA4B,SAAQ,KAAK;IAClD,MAAM,CAAC,MAAM,CACT,GAAS,EACT,MAAc,EACd,KAAe;QAEf,OAAO,IAAI,2BAA2B,CAClC,2BAA2B,MAAM,aAAa,GAAG,CAAC,GAAG,EAAE,GAAG,EAC1D,KAAK,CACR,CAAC;IACN,CAAC;IAED;;;;OAIG;IACH,YAAY,OAAe,EAAE,KAAe;QACxC,KAAK,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;QAC1B,IAAI,CAAC,IAAI,GAAG,2BAA2B,CAAC,IAAI,CAAC;IACjD,CAAC;CACJ;AAED;;;;;GAKG;AACH,MAAM,OAAO,2BAA4B,SAAQ,KAAK;IAClD,MAAM,CAAC,MAAM,CACT,GAAS,EACT,MAAc,EACd,KAAe;QAEf,OAAO,IAAI,2BAA2B,CAClC,2BAA2B,MAAM,aAAa,GAAG,CAAC,GAAG,EAAE,GAAG,EAC1D,KAAK,CACR,CAAC;IACN,CAAC;IAED;;;;OAIG;IACH,YAAY,OAAe,EAAE,KAAe;QACxC,KAAK,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;QAC1B,IAAI,CAAC,IAAI,GAAG,2BAA2B,CAAC,IAAI,CAAC;IACjD,CAAC;CACJ;AAED;;;;GAIG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG;IAC5B,YAAY,EAAE,0BAA0B;IACxC,aAAa,EAAE,2BAA2B;IAC1C,aAAa,EAAE,2BAA2B;CACpC,CAAC;AAYX;;;;GAIG;AACH,MAAM,UAAU,gBAAgB,CAAC,KAAc;IAC3C,KAAK,MAAM,UAAU,IAAI,MAAM,CAAC,MAAM,CAAC,gBAAgB,CAAC,EAAE,CAAC;QACvD,IAAI,CAAC,CAAC,KAAK,YAAY,UAAU,CAAC,EAAE,CAAC;YACjC,OAAO,KAAK,CAAC;QACjB,CAAC;IACL,CAAC;IACD,OAAO,IAAI,CAAC;AAChB,CAAC"}
@@ -2,7 +2,7 @@
2
2
  * @module Semaphore
3
3
  */
4
4
  import { type EventListener, type IEventBus, type Unsubscribe } from "../../../../event-bus/contracts/_module.js";
5
- import { Namespace } from "../../../../namespace/_module.js";
5
+ import { type INamespace } from "../../../../namespace/contracts/_module.js";
6
6
  import { type ISemaphore, type SemaphoreAdapterVariants, type SemaphoreEventMap, type SemaphoreProviderCreateSettings, type ISemaphoreProvider } from "../../../../semaphore/contracts/_module.js";
7
7
  import { type ISerderRegister } from "../../../../serde/contracts/_module.js";
8
8
  import { type ITask } from "../../../../task/contracts/_module.js";
@@ -22,7 +22,16 @@ export type SemaphoreProviderSettingsBase = {
22
22
  * new Namespace("@semaphore")
23
23
  * ```
24
24
  */
25
- namespace?: Namespace;
25
+ namespace?: INamespace;
26
+ /**
27
+ * @default
28
+ * ```ts
29
+ * import { Serde } from "@daiso-tech/serde";
30
+ * import { NoOpSerdeAdapter } from "@daiso-tech/serde/no-op-serde-adapter";
31
+ *
32
+ * new Serde(new NoOpSerdeAdapter())
33
+ * ```
34
+ */
26
35
  serde?: OneOrMore<ISerderRegister>;
27
36
  /**
28
37
  * @default ""
@@ -97,12 +106,6 @@ export type SemaphoreProviderSettingsBase = {
97
106
  export type SemaphoreProviderSettings = SemaphoreProviderSettingsBase & {
98
107
  adapter: SemaphoreAdapterVariants;
99
108
  };
100
- /**
101
- *
102
- * IMPORT_PATH: `"@daiso-tech/core/semaphore"`
103
- * @group Derivables
104
- */
105
- export declare const DEFAULT_SEMAPHORE_PROVIDER_NAMESPACE: Namespace;
106
109
  /**
107
110
  * `SemaphoreProvider` class can be derived from any {@link ISemaphoreAdapter | `ISemaphoreAdapter`} or {@link IDatabaseSemaphoreAdapter | `IDatabaseSemaphoreAdapter`}.
108
111
  *