@cqrs-ddd/pipeline 0.5.0 → 0.5.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.
@@ -9,21 +9,25 @@ This Commercial License Agreement ("Agreement") is a legal agreement between You
9
9
  Upon acceptance of this Agreement and compliance with the Payment Terms in Section 2, the Licensor grants You a non-exclusive, worldwide, non-transferable license to use, modify, integrate, and distribute the Software in commercial applications WITHOUT the copyleft obligations of the GNU Affero General Public License v3 (AGPLv3). Under this Agreement, You are NOT required to open-source Your proprietary code that integrates with the Software.
10
10
 
11
11
  2. PAYMENT TERMS AND REVENUE TIERS
12
- This license requires an annual fee based on Your (or Your organization's) total gross global revenue for the most recently completed fiscal year.
12
+ This license requires an annual fee based on Your (or Your organization's) total gross global revenue for the most recently completed fiscal year.
13
13
 
14
- The annual fee is calculated using the following scaled brackets:
14
+ The annual fee is calculated using the following marginal brackets. Each rate applies only to the portion of gross revenue that falls within its bracket, and the annual fee is the sum of the amounts for all brackets:
15
15
 
16
- a) Tier 1: Gross revenue up to $500,000 USD
17
- Fee: $0 (Free Commercial Use)
16
+ a) Tier 1: The portion of gross revenue up to $500,000 USD
17
+ Rate: 0% (Free Commercial Use). If gross revenue does not exceed $500,000 USD, the fee is $0.
18
18
 
19
- b) Tier 2: Gross revenue between $500,001 and $10,000,000 USD
20
- Fee: 0.1% of total gross revenue.
19
+ b) Tier 2: The portion of gross revenue above $500,000 USD and up to $10,000,000 USD
20
+ Rate: 0.1% of that portion.
21
21
 
22
- c) Tier 3: Gross revenue between $10,000,001 and $50,000,000 USD
23
- Fee: 0.05% of total gross revenue.
22
+ c) Tier 3: The portion of gross revenue above $10,000,000 USD and up to $50,000,000 USD
23
+ Rate: 0.05% of that portion.
24
24
 
25
- d) Tier 4: Gross revenue exceeding $50,000,000 USD
26
- Fee: 0.01% of total gross revenue, up to a maximum hard cap of $50,000 USD per year.
25
+ d) Tier 4: The portion of gross revenue above $50,000,000 USD
26
+ Rate: 0.01% of that portion.
27
+
28
+ The total annual fee never exceeds a maximum hard cap of $50,000 USD per year.
29
+
30
+ Example: for gross revenue of $20,000,000 USD, the annual fee is 0.1% of $9,500,000 USD ($9,500) plus 0.05% of $10,000,000 USD ($5,000), a total of $14,500 USD.
27
31
 
28
32
  3. REPORTING AND REMITTANCE
29
33
  - Fees are calculated annually and must be remitted to the Licensor within ninety (90) days following the close of Your fiscal year.
package/README.md CHANGED
@@ -14,8 +14,9 @@ the `@cqrs-ddd/pipeline-<name>` packages provide the behaviors.
14
14
  pnpm add @cqrs-ddd/pipeline
15
15
  ```
16
16
 
17
- Requires Node.js 22.12 or later, or another runtime with `AsyncLocalStorage` (Bun, Deno).
18
- Published as an ES module; a CommonJS application loads it with `require()`.
17
+ Requires Node.js 22.12 or later. The release check also loads every entry point in Bun;
18
+ the test suites run on Node.js only, and no other runtime is tested. Published as an ES
19
+ module; a CommonJS application loads it with `require()`.
19
20
 
20
21
  ## Example
21
22
 
@@ -161,6 +161,7 @@ export declare class LoggingBehavior implements IPipelineBehavior {
161
161
  * or serialization failure never changes the returned value or the error.
162
162
  */
163
163
  handle(context: IPipelineContext, next: NextDelegate): Promise<unknown>;
164
+ private logSuccess;
164
165
  private observe;
165
166
  /**
166
167
  * Builds the sanitizer configuration for payload logging.
@@ -1 +1 @@
1
- {"version":3,"file":"logging.behavior.d.ts","sourceRoot":"","sources":["../../src/behaviors/logging.behavior.ts"],"names":[],"mappings":"AASA,OAAO,EACL,iBAAiB,EACjB,YAAY,EACb,MAAM,8CAA8C,CAAC;AACtD,OAAO,EAAE,gBAAgB,EAAE,MAAM,6CAA6C,CAAC;AAC/E,OAAO,KAAK,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAE7D;;;GAGG;AACH,MAAM,MAAM,UAAU,GAAG,QAAQ,MAAM,GAAG,IAAI,EAAE,KAAK,EAAE,KAAK,KAAK,CAAC;AAElE;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,MAAM,WAAW,sBAAsB;IACrC;;;;;;OAMG;IACH,cAAc,CAAC,EAAE,QAAQ,GAAG,MAAM,CAAC;IAEnC;;;;;OAKG;IACH,aAAa,CAAC,EAAE,QAAQ,GAAG,MAAM,CAAC;IAElC;;;;;;;;;;OAUG;IACH,WAAW,CAAC,EAAE,GAAG,CAAC,UAAU,EAAE,QAAQ,GAAG,MAAM,CAAC,CAAC;IAEjD;;;;OAIG;IACH,uBAAuB,CAAC,EAAE,QAAQ,GAAG,MAAM,CAAC;IAE5C;;;;;;OAMG;IACH,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IAEvB;;;;;;;;;;;;;;OAcG;IACH,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IAEtB;;;;;;;;;;;;;;;OAeG;IACH,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAE9B;;;;OAIG;IACH,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAE5B;;;;OAIG;IACH,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAE7B;;;;;;;;OAQG;IACH,SAAS,CAAC,EAAE,MAAM,GAAG,YAAY,CAAC;CACnC;AAOD;;;;;;;;;;;;;;;;GAgBG;AACH,qBAAa,eAAgB,YAAW,iBAAiB;IACvD,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAiB;IAExC,YAAY,MAAM,CAAC,EAAE,cAAc,EAElC;IAED;;;;;;;;;;OAUG;IACG,MAAM,CACV,OAAO,EAAE,gBAAgB,EACzB,IAAI,EAAE,YAAY,GACjB,OAAO,CAAC,OAAO,CAAC,CA6HlB;IAED,OAAO,CAAC,OAAO;IAsBf;;;;;;OAMG;IACH,OAAO,CAAC,oBAAoB;IAiB5B;;;;;OAKG;IACH,OAAO,CAAC,GAAG;IAeX;;;;;;;;;;;;OAYG;IACH,OAAO,CAAC,gBAAgB;CAMzB"}
1
+ {"version":3,"file":"logging.behavior.d.ts","sourceRoot":"","sources":["../../src/behaviors/logging.behavior.ts"],"names":[],"mappings":"AASA,OAAO,EACL,iBAAiB,EACjB,YAAY,EACb,MAAM,8CAA8C,CAAC;AACtD,OAAO,EAAE,gBAAgB,EAAE,MAAM,6CAA6C,CAAC;AAC/E,OAAO,KAAK,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAE7D;;;GAGG;AACH,MAAM,MAAM,UAAU,GAAG,QAAQ,MAAM,GAAG,IAAI,EAAE,KAAK,EAAE,KAAK,KAAK,CAAC;AAElE;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,MAAM,WAAW,sBAAsB;IACrC;;;;;;OAMG;IACH,cAAc,CAAC,EAAE,QAAQ,GAAG,MAAM,CAAC;IAEnC;;;;;OAKG;IACH,aAAa,CAAC,EAAE,QAAQ,GAAG,MAAM,CAAC;IAElC;;;;;;;;;;OAUG;IACH,WAAW,CAAC,EAAE,GAAG,CAAC,UAAU,EAAE,QAAQ,GAAG,MAAM,CAAC,CAAC;IAEjD;;;;OAIG;IACH,uBAAuB,CAAC,EAAE,QAAQ,GAAG,MAAM,CAAC;IAE5C;;;;;;OAMG;IACH,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IAEvB;;;;;;;;;;;;;;OAcG;IACH,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IAEtB;;;;;;;;;;;;;;;OAeG;IACH,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAE9B;;;;OAIG;IACH,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAE5B;;;;OAIG;IACH,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAE7B;;;;;;;;OAQG;IACH,SAAS,CAAC,EAAE,MAAM,GAAG,YAAY,CAAC;CACnC;AAOD;;;;;;;;;;;;;;;;GAgBG;AACH,qBAAa,eAAgB,YAAW,iBAAiB;IACvD,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAiB;IAExC,YAAY,MAAM,CAAC,EAAE,cAAc,EAElC;IAED;;;;;;;;;;OAUG;IACG,MAAM,CACV,OAAO,EAAE,gBAAgB,EACzB,IAAI,EAAE,YAAY,GACjB,OAAO,CAAC,OAAO,CAAC,CA2BlB;IAED,OAAO,CAAC,UAAU;IAUlB,OAAO,CAAC,OAAO;IAsBf;;;;;;OAMG;IACH,OAAO,CAAC,oBAAoB;IAiB5B;;;;;OAKG;IACH,OAAO,CAAC,GAAG;IAeX;;;;;;;;;;;;OAYG;IACH,OAAO,CAAC,gBAAgB;CAMzB"}
@@ -36,100 +36,34 @@ export class LoggingBehavior {
36
36
  */
37
37
  async handle(context, next) {
38
38
  const options = context.getBehaviorOptions(LoggingBehavior);
39
- const metricLogLevel = options?.metricLogLevel ?? 'log';
40
- const requestResponseLogLevel = options?.requestResponseLogLevel ?? 'debug';
41
- const errorLogLevel = options?.errorLogLevel ?? 'error';
42
39
  const excludeKeys = new Set(options?.excludeKeys);
43
40
  const sanitizeOptions = this.buildSanitizeOptions(options, excludeKeys);
44
- const excludeRequestObj = options?.excludeRequestObj ?? true;
45
- const excludeResponseObj = options?.excludeResponseObj ?? true;
46
- const logFormat = options?.logFormat ?? 'text';
47
- const structured = logFormat === 'structured';
41
+ const execution = executionOf(context, options, sanitizeOptions);
48
42
  this.observe(() => {
49
- if (requestResponseLogLevel === 'none')
50
- return;
51
- const requestPayload = excludeRequestObj
52
- ? '[exclude request obj]'
53
- : structured
54
- ? safeSanitize(context.request, sanitizeOptions)
55
- : safeStringify(context.request, sanitizeOptions);
56
- this.log(requestResponseLogLevel, structured
57
- ? { msg: `Request → ${context.handlerName}`, request: requestPayload }
58
- : `Request: ${requestPayload}`, context.handlerName);
43
+ const request = requestLine(execution);
44
+ if (request)
45
+ this.log(...request);
59
46
  });
60
47
  const startTime = performance.now();
61
48
  try {
62
49
  const result = await next();
63
- this.observe(() => {
64
- const duration = (performance.now() - startTime).toFixed(2);
65
- const metricMsg = `[${context.correlationId}] ${context.requestKind.toUpperCase()} ` +
66
- `${context.requestName} → ${context.handlerName} completed in ${duration}ms`;
67
- this.log(metricLogLevel, structured
68
- ? {
69
- msg: metricMsg,
70
- correlationId: context.correlationId,
71
- requestKind: context.requestKind,
72
- requestName: context.requestName,
73
- handlerName: context.handlerName,
74
- durationMs: Number(duration),
75
- }
76
- : metricMsg, context.handlerName);
77
- if (requestResponseLogLevel === 'none')
78
- return;
79
- const responsePayload = excludeResponseObj
80
- ? '[exclude response obj]'
81
- : result != null
82
- ? structured
83
- ? safeSanitize(result, sanitizeOptions)
84
- : safeStringify(result, sanitizeOptions)
85
- : '(void)';
86
- this.log(requestResponseLogLevel, structured
87
- ? {
88
- msg: `Response ← ${context.handlerName}`,
89
- response: responsePayload,
90
- }
91
- : `Response: ${responsePayload}`, context.handlerName);
92
- });
50
+ this.observe(() => this.logSuccess(execution, result, startTime));
93
51
  return result;
94
52
  }
95
53
  catch (error) {
96
54
  this.observe(() => {
97
- const duration = (performance.now() - startTime).toFixed(2);
98
- const err = error instanceof Error ? error : undefined;
99
- let logLevel = errorLogLevel;
100
- if (options?.mapLogLevel) {
101
- let bestMatch;
102
- for (const [errorType, level] of options.mapLogLevel.entries()) {
103
- if (!(error instanceof errorType))
104
- continue;
105
- if (!bestMatch || errorType.prototype instanceof bestMatch) {
106
- bestMatch = errorType;
107
- logLevel = level;
108
- }
109
- }
110
- }
111
- const message = `[${context.correlationId}] ${context.requestKind.toUpperCase()} ` +
112
- `${context.requestName} → ${context.handlerName} failed after ${duration}ms: ` +
113
- `${err ? `${err.name}: ${err.message}` : String(error)}`;
114
- const params = this.optionalParamsOf(error);
115
- const optionalParams = params
116
- ? safeSanitize(params, sanitizeOptions)
117
- : undefined;
118
- if (structured) {
119
- const payload = {
120
- message,
121
- ...(err?.stack ? { stack: err.stack } : {}),
122
- ...(optionalParams ? { optionalParams } : {}),
123
- };
124
- this.log(logLevel, payload, context.handlerName);
125
- }
126
- else {
127
- this.log(logLevel, message, ...(err?.stack ? [err.stack] : []), ...(optionalParams ?? []), context.handlerName);
128
- }
55
+ const failure = failureOf(execution, error, startTime);
56
+ this.log(...errorLine(failure, this.optionalParamsOf(error)));
129
57
  });
130
58
  throw error;
131
59
  }
132
60
  }
61
+ logSuccess(execution, result, startTime) {
62
+ this.log(...metricLine(execution, startTime));
63
+ const response = responseLine(execution, result);
64
+ if (response)
65
+ this.log(...response);
66
+ }
133
67
  observe(write) {
134
68
  try {
135
69
  write();
@@ -203,4 +137,126 @@ export class LoggingBehavior {
203
137
  return Array.isArray(optionalParams) ? optionalParams : [optionalParams];
204
138
  }
205
139
  }
140
+ function executionOf(context, options, sanitizeOptions) {
141
+ return {
142
+ context,
143
+ options,
144
+ metricLogLevel: options?.metricLogLevel ?? 'log',
145
+ requestResponseLogLevel: options?.requestResponseLogLevel ?? 'debug',
146
+ errorLogLevel: options?.errorLogLevel ?? 'error',
147
+ sanitizeOptions,
148
+ excludeRequestObj: options?.excludeRequestObj ?? true,
149
+ excludeResponseObj: options?.excludeResponseObj ?? true,
150
+ structured: options?.logFormat === 'structured',
151
+ };
152
+ }
153
+ function requestLine(execution) {
154
+ const { context, requestResponseLogLevel, structured } = execution;
155
+ if (requestResponseLogLevel === 'none')
156
+ return undefined;
157
+ const requestPayload = execution.excludeRequestObj
158
+ ? '[exclude request obj]'
159
+ : payloadOf(execution, context.request);
160
+ return [
161
+ requestResponseLogLevel,
162
+ structured
163
+ ? { msg: `Request → ${context.handlerName}`, request: requestPayload }
164
+ : `Request: ${requestPayload}`,
165
+ context.handlerName,
166
+ ];
167
+ }
168
+ function payloadOf(execution, value) {
169
+ const { structured, sanitizeOptions } = execution;
170
+ return structured
171
+ ? safeSanitize(value, sanitizeOptions)
172
+ : safeStringify(value, sanitizeOptions);
173
+ }
174
+ function metricLine(execution, startTime) {
175
+ const { context, metricLogLevel, structured } = execution;
176
+ const duration = (performance.now() - startTime).toFixed(2);
177
+ const metricMsg = `[${context.correlationId}] ${context.requestKind.toUpperCase()} ` +
178
+ `${context.requestName} → ${context.handlerName} completed in ${duration}ms`;
179
+ return [
180
+ metricLogLevel,
181
+ structured
182
+ ? {
183
+ msg: metricMsg,
184
+ correlationId: context.correlationId,
185
+ requestKind: context.requestKind,
186
+ requestName: context.requestName,
187
+ handlerName: context.handlerName,
188
+ durationMs: Number(duration),
189
+ }
190
+ : metricMsg,
191
+ context.handlerName,
192
+ ];
193
+ }
194
+ function responseLine(execution, result) {
195
+ const { context, requestResponseLogLevel, structured } = execution;
196
+ if (requestResponseLogLevel === 'none')
197
+ return undefined;
198
+ const responsePayload = responsePayloadOf(execution, result);
199
+ return [
200
+ requestResponseLogLevel,
201
+ structured
202
+ ? { msg: `Response ← ${context.handlerName}`, response: responsePayload }
203
+ : `Response: ${responsePayload}`,
204
+ context.handlerName,
205
+ ];
206
+ }
207
+ function responsePayloadOf(execution, result) {
208
+ if (execution.excludeResponseObj)
209
+ return '[exclude response obj]';
210
+ if (result == null)
211
+ return '(void)';
212
+ return payloadOf(execution, result);
213
+ }
214
+ function failureOf(execution, error, startTime) {
215
+ const { context } = execution;
216
+ const duration = (performance.now() - startTime).toFixed(2);
217
+ const err = error instanceof Error ? error : undefined;
218
+ const level = errorLevelOf(execution, error);
219
+ const message = `[${context.correlationId}] ${context.requestKind.toUpperCase()} ` +
220
+ `${context.requestName} → ${context.handlerName} failed after ${duration}ms: ` +
221
+ `${err ? `${err.name}: ${err.message}` : String(error)}`;
222
+ return { execution, err, level, message };
223
+ }
224
+ function errorLevelOf(execution, error) {
225
+ const { options } = execution;
226
+ let logLevel = execution.errorLogLevel;
227
+ if (!options?.mapLogLevel)
228
+ return logLevel;
229
+ let bestMatch;
230
+ for (const [errorType, level] of options.mapLogLevel.entries()) {
231
+ if (!(error instanceof errorType))
232
+ continue;
233
+ if (!bestMatch || errorType.prototype instanceof bestMatch) {
234
+ bestMatch = errorType;
235
+ logLevel = level;
236
+ }
237
+ }
238
+ return logLevel;
239
+ }
240
+ function errorLine(failure, params) {
241
+ const { execution, err, level, message } = failure;
242
+ const { context, sanitizeOptions } = execution;
243
+ const optionalParams = params
244
+ ? safeSanitize(params, sanitizeOptions)
245
+ : undefined;
246
+ if (execution.structured) {
247
+ const payload = {
248
+ message,
249
+ ...(err?.stack ? { stack: err.stack } : {}),
250
+ ...(optionalParams ? { optionalParams } : {}),
251
+ };
252
+ return [level, payload, context.handlerName];
253
+ }
254
+ return [
255
+ level,
256
+ message,
257
+ ...(err?.stack ? [err.stack] : []),
258
+ ...(optionalParams ?? []),
259
+ context.handlerName,
260
+ ];
261
+ }
206
262
  //# sourceMappingURL=logging.behavior.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"logging.behavior.js","sourceRoot":"","sources":["../../src/behaviors/logging.behavior.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"logging.behavior.js","sourceRoot":"","sources":["../../src/behaviors/logging.behavior.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"create-pipeline.d.ts","sourceRoot":"","sources":["../src/create-pipeline.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAC;AAM1D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,0CAA0C,CAAC;AAC/E,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,6CAA6C,CAAC;AAKrF,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAClD,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,uCAAuC,CAAC;AAEpF,OAAO,EAEL,KAAK,WAAW,EAEjB,MAAM,6BAA6B,CAAC;AAKrC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAE9C,0DAA0D;AAC1D,MAAM,MAAM,YAAY,GAAG,OAAO,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;AAI3D;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,YAAY,eAAuC,CAAC;AAEjE,+CAA+C;AAC/C,MAAM,WAAW,eAAe;IAC9B;;;OAGG;IACH,SAAS,CAAC,EAAE,SAAS,iBAAiB,EAAE,CAAC;IACzC;;;;OAIG;IACH,eAAe,CAAC,EAAE,sBAAsB,GAAG,sBAAsB,EAAE,CAAC;IACpE,kEAAkE;IAClE,OAAO,CAAC,EAAE,cAAc,CAAC;IACzB;;;;;OAKG;IACH,WAAW,CAAC,EAAE,QAAQ,GAAG,MAAM,GAAG,KAAK,CAAC;IACxC;;;;OAIG;IACH,MAAM,CAAC,EAAE,cAAc,CAAC;CACzB;AAED,iDAAiD;AACjD,MAAM,WAAW,WAAW;IAC1B;;;OAGG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IACd;;;OAGG;IACH,IAAI,CAAC,EAAE,YAAY,CAAC;IACpB,mDAAmD;IACnD,IAAI,CAAC,EAAE,SAAS,WAAW,CAAC,iBAAiB,CAAC,EAAE,CAAC;CAClD;AAGD,KAAK,WAAW,GAAG,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,OAAO,CAAC;AAE/C;;;;GAIG;AACH,MAAM,WAAW,IAAI;IACnB,CAAC,CAAC,SAAS,WAAW,EACpB,EAAE,EAAE,CAAC,GACJ,CAAC,GAAG,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC,KAAK,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC/D,CAAC,CAAC,SAAS,WAAW,EAAE,MAAM,EAAE,CAAC,EAAE,OAAO,EAAE,2BAA2B,GAAG,CAAC,CAAC;IAC5E,CACE,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,MAAM,GAAG,MAAM,EAC5B,UAAU,EAAE,kBAAkB,GAC7B,kBAAkB,CAAC;CACvB;AAED,yDAAyD;AACzD,MAAM,WAAW,QAAQ;IACvB;;;;;;;OAOG;IACH,IAAI,CAAC,GAAG,OAAO,EAAE,qBAAqB,EAAE,GAAG,IAAI,CAAC;IAChD,IAAI,CAAC,OAAO,EAAE,WAAW,EAAE,GAAG,OAAO,EAAE,qBAAqB,EAAE,GAAG,IAAI,CAAC;CACvE;AAED;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,wBAAgB,cAAc,CAAC,OAAO,GAAE,eAAoB,GAAG,QAAQ,CA0KtE"}
1
+ {"version":3,"file":"create-pipeline.d.ts","sourceRoot":"","sources":["../src/create-pipeline.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAC;AAM1D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,0CAA0C,CAAC;AAC/E,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,6CAA6C,CAAC;AAKrF,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAClD,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,uCAAuC,CAAC;AAEpF,OAAO,EAEL,KAAK,WAAW,EAEjB,MAAM,6BAA6B,CAAC;AAKrC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAE9C,0DAA0D;AAC1D,MAAM,MAAM,YAAY,GAAG,OAAO,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC;AAI3D;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,YAAY,eAAuC,CAAC;AAEjE,+CAA+C;AAC/C,MAAM,WAAW,eAAe;IAC9B;;;OAGG;IACH,SAAS,CAAC,EAAE,SAAS,iBAAiB,EAAE,CAAC;IACzC;;;;OAIG;IACH,eAAe,CAAC,EAAE,sBAAsB,GAAG,sBAAsB,EAAE,CAAC;IACpE,kEAAkE;IAClE,OAAO,CAAC,EAAE,cAAc,CAAC;IACzB;;;;;OAKG;IACH,WAAW,CAAC,EAAE,QAAQ,GAAG,MAAM,GAAG,KAAK,CAAC;IACxC;;;;OAIG;IACH,MAAM,CAAC,EAAE,cAAc,CAAC;CACzB;AAED,iDAAiD;AACjD,MAAM,WAAW,WAAW;IAC1B;;;OAGG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IACd;;;OAGG;IACH,IAAI,CAAC,EAAE,YAAY,CAAC;IACpB,mDAAmD;IACnD,IAAI,CAAC,EAAE,SAAS,WAAW,CAAC,iBAAiB,CAAC,EAAE,CAAC;CAClD;AAGD,KAAK,WAAW,GAAG,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,OAAO,CAAC;AAE/C;;;;GAIG;AACH,MAAM,WAAW,IAAI;IACnB,CAAC,CAAC,SAAS,WAAW,EACpB,EAAE,EAAE,CAAC,GACJ,CAAC,GAAG,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC,KAAK,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC/D,CAAC,CAAC,SAAS,WAAW,EAAE,MAAM,EAAE,CAAC,EAAE,OAAO,EAAE,2BAA2B,GAAG,CAAC,CAAC;IAC5E,CACE,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,MAAM,GAAG,MAAM,EAC5B,UAAU,EAAE,kBAAkB,GAC7B,kBAAkB,CAAC;CACvB;AAED,yDAAyD;AACzD,MAAM,WAAW,QAAQ;IACvB;;;;;;;OAOG;IACH,IAAI,CAAC,GAAG,OAAO,EAAE,qBAAqB,EAAE,GAAG,IAAI,CAAC;IAChD,IAAI,CAAC,OAAO,EAAE,WAAW,EAAE,GAAG,OAAO,EAAE,qBAAqB,EAAE,GAAG,IAAI,CAAC;CACvE;AAED;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,wBAAgB,cAAc,CAAC,OAAO,GAAE,eAAoB,GAAG,QAAQ,CA4BtE"}
@@ -51,8 +51,26 @@ export const REQUEST_KIND = Symbol.for('@cqrs-ddd/request-kind');
51
51
  */
52
52
  export function createPipeline(options = {}) {
53
53
  const { globalBehaviors, sources = {}, diagnostics = 'strict', logger = console, } = options;
54
+ const setup = {
55
+ globalBehaviors,
56
+ sources,
57
+ diagnostics,
58
+ logger,
59
+ instances: indexBehaviors(options.behaviors ?? []),
60
+ };
61
+ for (const config of toGlobalConfigs(globalBehaviors)) {
62
+ for (const entry of [...(config.before ?? []), ...(config.after ?? [])]) {
63
+ instanceOf(setup, behaviorEntryType(entry, 'createPipeline globalBehaviors'));
64
+ }
65
+ }
66
+ function wrap(...input) {
67
+ return wrapperOf(toDeclaration(setup, input));
68
+ }
69
+ return { wrap };
70
+ }
71
+ function indexBehaviors(behaviors) {
54
72
  const instances = new Map();
55
- for (const behavior of options.behaviors ?? []) {
73
+ for (const behavior of behaviors) {
56
74
  const type = behavior.constructor;
57
75
  const id = getBehaviorId(type);
58
76
  if (instances.has(id)) {
@@ -60,118 +78,128 @@ export function createPipeline(options = {}) {
60
78
  }
61
79
  instances.set(id, behavior);
62
80
  }
63
- const instanceOf = (type) => {
64
- const id = getBehaviorId(type);
65
- let instance = instances.get(id);
66
- if (!instance) {
67
- instance = id === LOGGING_ID ? new LoggingBehavior(logger) : new type();
68
- instances.set(id, instance);
69
- }
70
- return instance;
81
+ return instances;
82
+ }
83
+ function instanceOf(setup, type) {
84
+ const id = getBehaviorId(type);
85
+ let instance = setup.instances.get(id);
86
+ if (!instance) {
87
+ instance =
88
+ id === LOGGING_ID ? new LoggingBehavior(setup.logger) : new type();
89
+ setup.instances.set(id, instance);
90
+ }
91
+ return instance;
92
+ }
93
+ function toDeclaration(setup, input) {
94
+ const [first] = input;
95
+ const hasOptions = typeof first === 'object' && first !== null && !Array.isArray(first);
96
+ const options = (hasOptions ? first : {});
97
+ const entries = (hasOptions ? input.slice(1) : input);
98
+ if (options.kind !== undefined && !KINDS.includes(options.kind)) {
99
+ throw new TypeError(`pipeline.wrap: kind must be 'command', 'query' or 'event', received ${String(options.kind)}.`);
100
+ }
101
+ return {
102
+ setup,
103
+ options,
104
+ declared: normalizeBehaviorEntries(entries, 'pipeline.wrap'),
71
105
  };
72
- for (const config of toGlobalConfigs(globalBehaviors)) {
73
- for (const entry of [...(config.before ?? []), ...(config.after ?? [])]) {
74
- instanceOf(behaviorEntryType(entry, 'createPipeline globalBehaviors'));
106
+ }
107
+ function wrapperOf(declaration) {
108
+ function apply(target, key, descriptor) {
109
+ if (key === undefined && typeof target === 'function') {
110
+ return bind(declaration, target);
75
111
  }
76
- }
77
- function compile(handlerName, requestKind, declared, skip) {
78
- const plan = compilePipelinePlan({
79
- handlerName,
80
- requestKind,
81
- handlerBehaviorTypes: declared.types,
82
- handlerOptions: declared.options,
83
- skippedBehaviorTypes: skip
84
- ? normalizeBehaviorEntries(skip, 'pipeline.wrap skip', false).types
85
- : undefined,
86
- globalBehaviors,
87
- });
88
- const behaviors = plan.behaviorTypes.map(instanceOf);
89
- if (diagnostics !== 'off') {
90
- const found = [];
91
- validateBehaviorContracts({
92
- ...plan,
93
- handlerType: Object,
94
- handlerName,
95
- requestKind,
96
- resolvedBehaviors: new Map(behaviors.map((b, i) => [i, b])),
97
- diagnostics: found,
98
- });
99
- if (found.length > 0 && diagnostics === 'strict') {
100
- throw new PipelineConfigurationError(found);
101
- }
102
- for (const d of found) {
103
- logger.warn(`[Pipeline Diagnostic] '${d.handlerName}' with behavior '${d.behaviorName}': ${d.message}. Fix: ${d.fix}`);
112
+ if (isDecoratorContext(key)) {
113
+ if (key.kind !== 'method') {
114
+ throw new TypeError(`pipeline.wrap decorates methods, not a ${key.kind}.`);
104
115
  }
116
+ return bind(declaration, target, String(key.name));
117
+ }
118
+ const property = descriptor;
119
+ if (typeof property?.value === 'function') {
120
+ property.value = bind(declaration, property.value, String(key));
121
+ return property;
105
122
  }
106
- return { plan, behaviors };
123
+ throw new TypeError('pipeline.wrap(...) applies to a function or a method.');
107
124
  }
108
- function wrap(...input) {
109
- const [first] = input;
110
- const hasOptions = typeof first === 'object' && first !== null && !Array.isArray(first);
111
- const wrapOptions = (hasOptions ? first : {});
112
- const entries = (hasOptions ? input.slice(1) : input);
113
- if (wrapOptions.kind !== undefined && !KINDS.includes(wrapOptions.kind)) {
114
- throw new TypeError(`pipeline.wrap: kind must be 'command', 'query' or 'event', received ${String(wrapOptions.kind)}.`);
125
+ return apply;
126
+ }
127
+ function bind(declaration, fn, methodKey) {
128
+ const { options } = declaration;
129
+ const label = options.name ?? methodKey;
130
+ if (label === undefined) {
131
+ throw new TypeError('pipeline.wrap: a plain function needs a `name`, which keys and logs use to tell operations apart.');
132
+ }
133
+ const handlerType = { [label]: class {
134
+ } }[label];
135
+ const operation = { ...declaration, fn, label, handlerType };
136
+ const runners = new Map();
137
+ const runnerFor = (kind) => {
138
+ let runner = runners.get(kind);
139
+ if (!runner) {
140
+ runner = createRunner(operation, kind);
141
+ runners.set(kind, runner);
115
142
  }
116
- const declared = normalizeBehaviorEntries(entries, 'pipeline.wrap');
117
- function bind(fn, methodKey) {
118
- const label = wrapOptions.name ?? methodKey;
119
- if (label === undefined) {
120
- throw new TypeError('pipeline.wrap: a plain function needs a `name`, which keys and logs use to tell operations apart.');
121
- }
122
- const handlerType = { [label]: class {
123
- } }[label];
124
- const runners = new Map();
125
- const runnerFor = (kind) => {
126
- let runner = runners.get(kind);
127
- if (!runner) {
128
- const { plan, behaviors } = compile(label, kind, declared, wrapOptions.skip);
129
- const behaviorOptions = plan.mergedOptions.size > 0 ? plan.mergedOptions : undefined;
130
- runner = createPipelineRunner(fn, (request, self) => {
131
- const handlerName = wrapOptions.name ?? `${ownerName(self)}.${label}`;
132
- return {
133
- handlerType,
134
- handlerName,
135
- requestKind: kind,
136
- behaviorOptions,
137
- requestName: wrapOptions.name ??
138
- (brandOf(request) ? undefined : handlerName),
139
- };
140
- }, behaviors, plan.hasPipeline, sources);
141
- runners.set(kind, runner);
142
- }
143
- return runner;
144
- };
145
- if (wrapOptions.kind)
146
- runnerFor(wrapOptions.kind);
147
- return async function (...args) {
148
- const request = args.length === 1 ? args[0] : args;
149
- const kind = wrapOptions.kind ?? brandOf(request);
150
- if (!kind) {
151
- throw new TypeError(`${label}: declare its kind with pipeline.wrap({ kind }), or pass a request that carries REQUEST_KIND.`);
152
- }
153
- return runnerFor(kind)(this, request, args);
154
- };
143
+ return runner;
144
+ };
145
+ if (options.kind)
146
+ runnerFor(options.kind);
147
+ return async function (...args) {
148
+ const request = args.length === 1 ? args[0] : args;
149
+ const kind = options.kind ?? brandOf(request);
150
+ if (!kind) {
151
+ throw new TypeError(`${label}: declare its kind with pipeline.wrap({ kind }), or pass a request that carries REQUEST_KIND.`);
155
152
  }
156
- return function apply(target, key, descriptor) {
157
- if (key === undefined && typeof target === 'function') {
158
- return bind(target);
159
- }
160
- if (isDecoratorContext(key)) {
161
- if (key.kind !== 'method') {
162
- throw new TypeError(`pipeline.wrap decorates methods, not a ${key.kind}.`);
163
- }
164
- return bind(target, String(key.name));
165
- }
166
- const property = descriptor;
167
- if (typeof property?.value === 'function') {
168
- property.value = bind(property.value, String(key));
169
- return property;
170
- }
171
- throw new TypeError('pipeline.wrap(...) applies to a function or a method.');
153
+ return runnerFor(kind)(this, request, args);
154
+ };
155
+ }
156
+ function createRunner(operation, kind) {
157
+ const { setup, options, fn, label, handlerType } = operation;
158
+ const { plan, behaviors } = compile(operation, kind);
159
+ const behaviorOptions = plan.mergedOptions.size > 0 ? plan.mergedOptions : undefined;
160
+ return createPipelineRunner(fn, (request, self) => {
161
+ const handlerName = options.name ?? `${ownerName(self)}.${label}`;
162
+ return {
163
+ handlerType,
164
+ handlerName,
165
+ requestKind: kind,
166
+ behaviorOptions,
167
+ requestName: options.name ?? (brandOf(request) ? undefined : handlerName),
172
168
  };
169
+ }, behaviors, plan.hasPipeline, setup.sources);
170
+ }
171
+ function compile(operation, requestKind) {
172
+ const { setup, options, declared, label: handlerName } = operation;
173
+ const { skip } = options;
174
+ const plan = compilePipelinePlan({
175
+ handlerName,
176
+ requestKind,
177
+ handlerBehaviorTypes: declared.types,
178
+ handlerOptions: declared.options,
179
+ skippedBehaviorTypes: skip
180
+ ? normalizeBehaviorEntries(skip, 'pipeline.wrap skip', false).types
181
+ : undefined,
182
+ globalBehaviors: setup.globalBehaviors,
183
+ });
184
+ const behaviors = plan.behaviorTypes.map((type) => instanceOf(setup, type));
185
+ if (setup.diagnostics !== 'off') {
186
+ const found = [];
187
+ validateBehaviorContracts({
188
+ ...plan,
189
+ handlerType: Object,
190
+ handlerName,
191
+ requestKind,
192
+ resolvedBehaviors: new Map(behaviors.map((b, i) => [i, b])),
193
+ diagnostics: found,
194
+ });
195
+ if (found.length > 0 && setup.diagnostics === 'strict') {
196
+ throw new PipelineConfigurationError(found);
197
+ }
198
+ for (const d of found) {
199
+ setup.logger.warn(`[Pipeline Diagnostic] '${d.handlerName}' with behavior '${d.behaviorName}': ${d.message}. Fix: ${d.fix}`);
200
+ }
173
201
  }
174
- return { wrap };
202
+ return { plan, behaviors };
175
203
  }
176
204
  const LOGGING_ID = getBehaviorId(LoggingBehavior);
177
205
  function brandOf(request) {
@@ -1 +1 @@
1
- {"version":3,"file":"create-pipeline.js","sourceRoot":"","sources":["../src/create-pipeline.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"create-pipeline.js","sourceRoot":"","sources":["../src/create-pipeline.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"behavior-entries.d.ts","sourceRoot":"","sources":["../../src/helpers/behavior-entries.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,8CAA8C,CAAC;AACtF,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,EAAE,KAAK,UAAU,EAAiB,MAAM,kBAAkB,CAAC;AAElE,2DAA2D;AAC3D,wBAAgB,iBAAiB,CAC/B,KAAK,EAAE,OAAO,EACd,QAAQ,EAAE,MAAM,EAChB,UAAU,UAAO,GAChB,WAAW,CAAC,iBAAiB,CAAC,CAuBhC;AAED;;;GAGG;AACH,MAAM,WAAW,yBAAyB;IACxC,4EAA4E;IAC5E,IAAI,EAAE,GAAG,CAAC,UAAU,CAAC,CAAC;IACtB,yEAAyE;IACzE,OAAO,EAAE,GAAG,CAAC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;CACnD;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,wBAAwB,CACtC,OAAO,EAAE,SAAS,OAAO,EAAE,EAC3B,QAAQ,EAAE,MAAM,EAChB,UAAU,UAAO,EACjB,YAAY,CAAC,EAAE,yBAAyB,GACvC;IACD,KAAK,EAAE,WAAW,CAAC,iBAAiB,CAAC,EAAE,CAAC;IACxC,OAAO,EAAE,GAAG,CAAC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;CACnD,CAoBA"}
1
+ {"version":3,"file":"behavior-entries.d.ts","sourceRoot":"","sources":["../../src/helpers/behavior-entries.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,8CAA8C,CAAC;AACtF,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,EAAE,KAAK,UAAU,EAAiB,MAAM,kBAAkB,CAAC;AAElE,2DAA2D;AAC3D,wBAAgB,iBAAiB,CAC/B,KAAK,EAAE,OAAO,EACd,QAAQ,EAAE,MAAM,EAChB,UAAU,UAAO,GAChB,WAAW,CAAC,iBAAiB,CAAC,CAiBhC;AAMD;;;GAGG;AACH,MAAM,WAAW,yBAAyB;IACxC,4EAA4E;IAC5E,IAAI,EAAE,GAAG,CAAC,UAAU,CAAC,CAAC;IACtB,yEAAyE;IACzE,OAAO,EAAE,GAAG,CAAC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;CACnD;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,wBAAwB,CACtC,OAAO,EAAE,SAAS,OAAO,EAAE,EAC3B,QAAQ,EAAE,MAAM,EAChB,UAAU,UAAO,EACjB,YAAY,CAAC,EAAE,yBAAyB,GACvC;IACD,KAAK,EAAE,WAAW,CAAC,iBAAiB,CAAC,EAAE,CAAC;IACxC,OAAO,EAAE,GAAG,CAAC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;CACnD,CAsBA"}
@@ -4,19 +4,18 @@ import { getBehaviorId } from './behavior-id.js';
4
4
  export function behaviorEntryType(entry, location, allowTuple = true) {
5
5
  const tuple = Array.isArray(entry);
6
6
  const candidate = tuple && allowTuple ? entry[0] : entry;
7
- if (typeof candidate !== 'function' ||
8
- !candidate.prototype ||
9
- (tuple && entry.length !== 2)) {
7
+ const isClass = typeof candidate === 'function' && Boolean(candidate.prototype);
8
+ if (!isClass || (tuple && entry.length !== 2)) {
10
9
  throw new TypeError(`${location}: expected a behavior class${allowTuple ? ' or a [BehaviorClass, options] tuple' : ''}. Check for undefined references caused by circular imports.`);
11
10
  }
12
- if (tuple &&
13
- (entry[1] === null ||
14
- typeof entry[1] !== 'object' ||
15
- Array.isArray(entry[1]))) {
11
+ if (tuple && !isOptionsObject(entry[1])) {
16
12
  throw new TypeError(`${location}: options for ${candidate.name} must be an object.`);
17
13
  }
18
14
  return candidate;
19
15
  }
16
+ function isOptionsObject(value) {
17
+ return value !== null && typeof value === 'object' && !Array.isArray(value);
18
+ }
20
19
  /**
21
20
  * First identity fixes placement; the last tuple supplies options. Bare repeats
22
21
  * preserve options.
@@ -1 +1 @@
1
- {"version":3,"file":"behavior-entries.js","sourceRoot":"","sources":["../../src/helpers/behavior-entries.ts"],"names":[],"mappings":"AAAA,sEAAsE;AAItE,OAAO,EAAmB,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAElE,2DAA2D;AAC3D,MAAM,UAAU,iBAAiB,CAC/B,KAAc,EACd,QAAgB,EAChB,UAAU,GAAG,IAAI;IAEjB,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IACnC,MAAM,SAAS,GAAG,KAAK,IAAI,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;IACzD,IACE,OAAO,SAAS,KAAK,UAAU;QAC/B,CAAC,SAAS,CAAC,SAAS;QACpB,CAAC,KAAK,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,CAAC,EAC7B,CAAC;QACD,MAAM,IAAI,SAAS,CACjB,GAAG,QAAQ,8BAA8B,UAAU,CAAC,CAAC,CAAC,sCAAsC,CAAC,CAAC,CAAC,EAAE,8DAA8D,CAChK,CAAC;IACJ,CAAC;IACD,IACE,KAAK;QACL,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,IAAI;YAChB,OAAO,KAAK,CAAC,CAAC,CAAC,KAAK,QAAQ;YAC5B,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,EAC1B,CAAC;QACD,MAAM,IAAI,SAAS,CACjB,GAAG,QAAQ,iBAAiB,SAAS,CAAC,IAAI,qBAAqB,CAChE,CAAC;IACJ,CAAC;IACD,OAAO,SAA2C,CAAC;AACrD,CAAC;AAaD;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,wBAAwB,CACtC,OAA2B,EAC3B,QAAgB,EAChB,UAAU,GAAG,IAAI,EACjB,YAAwC;IAKxC,MAAM,KAAK,GAAqC,EAAE,CAAC;IACnD,MAAM,OAAO,GACX,YAAY,EAAE,OAAO,IAAI,IAAI,GAAG,EAAuC,CAAC;IAC1E,MAAM,IAAI,GAAG,YAAY,EAAE,IAAI,IAAI,IAAI,GAAG,EAAc,CAAC;IACzD,OAAO,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;QAC/B,MAAM,IAAI,GAAG,iBAAiB,CAC5B,KAAK,EACL,GAAG,QAAQ,WAAW,KAAK,EAAE,EAC7B,UAAU,CACX,CAAC;QACF,MAAM,EAAE,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC;QAC/B,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;YACtB,OAAO,CAAC,GAAG,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC,CAA4B,CAAC,CAAC;QACvD,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC;YAClB,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YACb,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACnB,CAAC;IACH,CAAC,CAAC,CAAC;IACH,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC;AAC5B,CAAC"}
1
+ {"version":3,"file":"behavior-entries.js","sourceRoot":"","sources":["../../src/helpers/behavior-entries.ts"],"names":[],"mappings":"AAAA,sEAAsE;AAItE,OAAO,EAAmB,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAElE,2DAA2D;AAC3D,MAAM,UAAU,iBAAiB,CAC/B,KAAc,EACd,QAAgB,EAChB,UAAU,GAAG,IAAI;IAEjB,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IACnC,MAAM,SAAS,GAAG,KAAK,IAAI,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;IACzD,MAAM,OAAO,GACX,OAAO,SAAS,KAAK,UAAU,IAAI,OAAO,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;IAElE,IAAI,CAAC,OAAO,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,CAAC,EAAE,CAAC;QAC9C,MAAM,IAAI,SAAS,CACjB,GAAG,QAAQ,8BAA8B,UAAU,CAAC,CAAC,CAAC,sCAAsC,CAAC,CAAC,CAAC,EAAE,8DAA8D,CAChK,CAAC;IACJ,CAAC;IACD,IAAI,KAAK,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACxC,MAAM,IAAI,SAAS,CACjB,GAAG,QAAQ,iBAAiB,SAAS,CAAC,IAAI,qBAAqB,CAChE,CAAC;IACJ,CAAC;IACD,OAAO,SAA2C,CAAC;AACrD,CAAC;AAED,SAAS,eAAe,CAAC,KAAc;IACrC,OAAO,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;AAC9E,CAAC;AAaD;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,wBAAwB,CACtC,OAA2B,EAC3B,QAAgB,EAChB,UAAU,GAAG,IAAI,EACjB,YAAwC;IAKxC,MAAM,KAAK,GAAqC,EAAE,CAAC;IACnD,MAAM,OAAO,GACX,YAAY,EAAE,OAAO,IAAI,IAAI,GAAG,EAAuC,CAAC;IAC1E,MAAM,IAAI,GAAG,YAAY,EAAE,IAAI,IAAI,IAAI,GAAG,EAAc,CAAC;IAEzD,OAAO,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;QAC/B,MAAM,IAAI,GAAG,iBAAiB,CAC5B,KAAK,EACL,GAAG,QAAQ,WAAW,KAAK,EAAE,EAC7B,UAAU,CACX,CAAC;QACF,MAAM,EAAE,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC;QAC/B,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;YACtB,OAAO,CAAC,GAAG,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC,CAA4B,CAAC,CAAC;QACvD,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC;YAClB,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YACb,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACnB,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC;AAC5B,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../src/logger.ts"],"names":[],"mappings":"AAEA,+DAA+D;AAC/D,MAAM,MAAM,QAAQ,GAAG,KAAK,GAAG,OAAO,GAAG,MAAM,GAAG,OAAO,GAAG,SAAS,GAAG,OAAO,CAAC;AAEhF;;;;GAIG;AACH,MAAM,WAAW,cAAc;IAC7B,GAAG,CAAC,OAAO,EAAE,OAAO,EAAE,GAAG,cAAc,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC;IAC7D,KAAK,CAAC,OAAO,EAAE,OAAO,EAAE,GAAG,cAAc,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC;IAC/D,IAAI,CAAC,OAAO,EAAE,OAAO,EAAE,GAAG,cAAc,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC;IAC9D,KAAK,CAAC,CAAC,OAAO,EAAE,OAAO,EAAE,GAAG,cAAc,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC;IAChE,OAAO,CAAC,CAAC,OAAO,EAAE,OAAO,EAAE,GAAG,cAAc,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC;IAClE,KAAK,CAAC,CAAC,OAAO,EAAE,OAAO,EAAE,GAAG,cAAc,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC;CACjE;AAED,kEAAkE;AAClE,MAAM,WAAW,QAAQ;IACvB,KAAK,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IACjD,KAAK,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IACjD,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IAChD,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IAChD,KAAK,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IACjD,KAAK,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;CAClD;AAWD;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,QAAQ,GAAG,QAAQ,CAAC,cAAc,CAAC,CAiCnE"}
1
+ {"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../src/logger.ts"],"names":[],"mappings":"AAEA,+DAA+D;AAC/D,MAAM,MAAM,QAAQ,GAAG,KAAK,GAAG,OAAO,GAAG,MAAM,GAAG,OAAO,GAAG,SAAS,GAAG,OAAO,CAAC;AAEhF;;;;GAIG;AACH,MAAM,WAAW,cAAc;IAC7B,GAAG,CAAC,OAAO,EAAE,OAAO,EAAE,GAAG,cAAc,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC;IAC7D,KAAK,CAAC,OAAO,EAAE,OAAO,EAAE,GAAG,cAAc,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC;IAC/D,IAAI,CAAC,OAAO,EAAE,OAAO,EAAE,GAAG,cAAc,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC;IAC9D,KAAK,CAAC,CAAC,OAAO,EAAE,OAAO,EAAE,GAAG,cAAc,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC;IAChE,OAAO,CAAC,CAAC,OAAO,EAAE,OAAO,EAAE,GAAG,cAAc,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC;IAClE,KAAK,CAAC,CAAC,OAAO,EAAE,OAAO,EAAE,GAAG,cAAc,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC;CACjE;AAED,kEAAkE;AAClE,MAAM,WAAW,QAAQ;IACvB,KAAK,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IACjD,KAAK,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IACjD,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IAChD,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IAChD,KAAK,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IACjD,KAAK,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;CAClD;AAWD;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,QAAQ,GAAG,QAAQ,CAAC,cAAc,CAAC,CAmCnE"}
@@ -1 +1 @@
1
- {"version":3,"file":"logger.js","sourceRoot":"","sources":["../src/logger.ts"],"names":[],"mappings":"AAAA,sEAAsE;AA6BtE,MAAM,UAAU,GAAG;IACjB,GAAG,EAAE,MAAM;IACX,KAAK,EAAE,OAAO;IACd,IAAI,EAAE,MAAM;IACZ,KAAK,EAAE,OAAO;IACd,OAAO,EAAE,OAAO;IAChB,KAAK,EAAE,OAAO;CACN,CAAC;AAEX;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,UAAU,UAAU,CAAC,IAAc;IACvC,MAAM,KAAK,GACT,CAAC,KAAe,EAAE,EAAE,CACpB,CAAC,OAAgB,EAAE,GAAG,MAAiB,EAAQ,EAAE;QAC/C,MAAM,IAAI,GAAG,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QAC3B,MAAM,OAAO,GACX,MAAM,CAAC,MAAM,GAAG,CAAC,IAAI,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;QACnE,MAAM,IAAI,GAAG,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QAClE,MAAM,KAAK,GACT,KAAK,KAAK,OAAO,IAAI,OAAO,IAAI,CAAC,CAAC,CAAC,KAAK,QAAQ;YAC9C,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE;YACd,CAAC,CAAC,SAAS,CAAC;QAChB,MAAM,MAAM,GAA4B,EAAE,CAAC;QAC3C,IAAI,OAAO,KAAK,SAAS;YAAE,MAAM,CAAC,OAAO,GAAG,OAAO,CAAC;QACpD,IAAI,KAAK,KAAK,SAAS;YAAE,MAAM,CAAC,KAAK,GAAG,KAAK,CAAC;QAC9C,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC;YAAE,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC;QAC1C,MAAM,MAAM,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC;QACjC,IAAI,OAAO,YAAY,KAAK,EAAE,CAAC;YAC7B,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE,GAAG,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;QAC7D,CAAC;aAAM,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;YAC3D,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE,GAAG,MAAM,EAAE,GAAG,OAAO,EAAE,CAAC,CAAC;QAC1C,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC;QACxC,CAAC;IACH,CAAC,CAAC;IACJ,OAAO;QACL,GAAG,EAAE,KAAK,CAAC,KAAK,CAAC;QACjB,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC;QACrB,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC;QACnB,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC;QACrB,OAAO,EAAE,KAAK,CAAC,SAAS,CAAC;QACzB,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC;KACtB,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"logger.js","sourceRoot":"","sources":["../src/logger.ts"],"names":[],"mappings":"AAAA,sEAAsE;AA6BtE,MAAM,UAAU,GAAG;IACjB,GAAG,EAAE,MAAM;IACX,KAAK,EAAE,OAAO;IACd,IAAI,EAAE,MAAM;IACZ,KAAK,EAAE,OAAO;IACd,OAAO,EAAE,OAAO;IAChB,KAAK,EAAE,OAAO;CACN,CAAC;AAEX;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,UAAU,UAAU,CAAC,IAAc;IACvC,MAAM,KAAK,GACT,CAAC,KAAe,EAAE,EAAE,CACpB,CAAC,OAAgB,EAAE,GAAG,MAAiB,EAAQ,EAAE;QAC/C,MAAM,IAAI,GAAG,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QAC3B,MAAM,OAAO,GACX,MAAM,CAAC,MAAM,GAAG,CAAC,IAAI,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;QACnE,MAAM,IAAI,GAAG,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QAClE,MAAM,KAAK,GACT,KAAK,KAAK,OAAO,IAAI,OAAO,IAAI,CAAC,CAAC,CAAC,KAAK,QAAQ;YAC9C,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE;YACd,CAAC,CAAC,SAAS,CAAC;QAEhB,MAAM,MAAM,GAA4B,EAAE,CAAC;QAC3C,IAAI,OAAO,KAAK,SAAS;YAAE,MAAM,CAAC,OAAO,GAAG,OAAO,CAAC;QACpD,IAAI,KAAK,KAAK,SAAS;YAAE,MAAM,CAAC,KAAK,GAAG,KAAK,CAAC;QAC9C,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC;YAAE,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC;QAE1C,MAAM,MAAM,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC;QACjC,IAAI,OAAO,YAAY,KAAK,EAAE,CAAC;YAC7B,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE,GAAG,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;QAC7D,CAAC;aAAM,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;YAC3D,IAAI,CAAC,MAAM,CAAC,CAAC,EAAE,GAAG,MAAM,EAAE,GAAG,OAAO,EAAE,CAAC,CAAC;QAC1C,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC;QACxC,CAAC;IACH,CAAC,CAAC;IACJ,OAAO;QACL,GAAG,EAAE,KAAK,CAAC,KAAK,CAAC;QACjB,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC;QACrB,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC;QACnB,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC;QACrB,OAAO,EAAE,KAAK,CAAC,SAAS,CAAC;QACzB,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC;KACtB,CAAC;AACJ,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"pipeline-contracts.d.ts","sourceRoot":"","sources":["../../src/services/pipeline-contracts.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,KAAK,UAAU,EAAiB,MAAM,2BAA2B,CAAC;AAC3E,OAAO,KAAK,EACV,iBAAiB,EAElB,MAAM,8CAA8C,CAAC;AACtD,OAAO,EAGL,KAAK,0BAA0B,EAEhC,MAAM,uDAAuD,CAAC;AAC/D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAE/C;;;;;;;;;;GAUG;AACH,wBAAgB,yBAAyB,CAAC,MAAM,EAAE;IAChD,WAAW,EAAE,WAAW,CAAC;IACzB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,SAAS,GAAG,OAAO,GAAG,OAAO,CAAC;IAC3C,aAAa,EAAE,WAAW,CAAC,iBAAiB,CAAC,EAAE,CAAC;IAChD,iBAAiB,EAAE,GAAG,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAC;IAClD,aAAa,EAAE,GAAG,CAAC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IACxD,cAAc,CAAC,EAAE,GAAG,CAAC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IAC1D,aAAa,EAAE,GAAG,CAAC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IACxD,oBAAoB,CAAC,EAAE,WAAW,CAAC,iBAAiB,CAAC,EAAE,CAAC;IACxD,iBAAiB,EAAE,GAAG,CAAC,UAAU,CAAC,CAAC;IACnC,WAAW,EAAE,0BAA0B,EAAE,CAAC;CAC3C,GAAG,IAAI,CAyHP"}
1
+ {"version":3,"file":"pipeline-contracts.d.ts","sourceRoot":"","sources":["../../src/services/pipeline-contracts.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,KAAK,UAAU,EAAiB,MAAM,2BAA2B,CAAC;AAC3E,OAAO,KAAK,EACV,iBAAiB,EAElB,MAAM,8CAA8C,CAAC;AACtD,OAAO,EAGL,KAAK,0BAA0B,EAGhC,MAAM,uDAAuD,CAAC;AAC/D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAE/C;;;;;;;;;;GAUG;AACH,wBAAgB,yBAAyB,CAAC,MAAM,EAAE;IAChD,WAAW,EAAE,WAAW,CAAC;IACzB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,SAAS,GAAG,OAAO,GAAG,OAAO,CAAC;IAC3C,aAAa,EAAE,WAAW,CAAC,iBAAiB,CAAC,EAAE,CAAC;IAChD,iBAAiB,EAAE,GAAG,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAC;IAClD,aAAa,EAAE,GAAG,CAAC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IACxD,cAAc,CAAC,EAAE,GAAG,CAAC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IAC1D,aAAa,EAAE,GAAG,CAAC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IACxD,oBAAoB,CAAC,EAAE,WAAW,CAAC,iBAAiB,CAAC,EAAE,CAAC;IACxD,iBAAiB,EAAE,GAAG,CAAC,UAAU,CAAC,CAAC;IACnC,WAAW,EAAE,0BAA0B,EAAE,CAAC;CAC3C,GAAG,IAAI,CA2BP"}
@@ -14,86 +14,105 @@ import { PIPELINE_BEHAVIOR_CONTRACT, } from '../interfaces/pipeline-behavior-con
14
14
  * ```
15
15
  */
16
16
  export function validateBehaviorContracts(params) {
17
- const { handlerType, handlerName, requestKind, behaviorTypes, resolvedBehaviors, mergedOptions, handlerOptions, globalOptions, handlerBehaviorTypes, globalBehaviorIds, diagnostics, } = params;
17
+ const { behaviorTypes, resolvedBehaviors, diagnostics } = params;
18
18
  for (let i = 0; i < behaviorTypes.length; i++) {
19
19
  const BehaviorClass = behaviorTypes[i];
20
20
  const id = getBehaviorId(BehaviorClass);
21
21
  const instance = resolvedBehaviors.get(i);
22
- const contract = (instance &&
23
- untyped(instance)[PIPELINE_BEHAVIOR_CONTRACT]) ??
24
- untyped(BehaviorClass)[PIPELINE_BEHAVIOR_CONTRACT];
22
+ const contract = contractOf(BehaviorClass, instance);
25
23
  if (!contract)
26
24
  continue;
27
- const isHandlerDeclared = (handlerBehaviorTypes ?? []).some((t) => getBehaviorId(t) === id);
28
- const isGlobalDeclared = globalBehaviorIds.has(id);
29
- const declarationSource = isHandlerDeclared && isGlobalDeclared
30
- ? 'both'
31
- : isHandlerDeclared
32
- ? 'handler'
33
- : 'global';
34
- const rawMerged = mergedOptions.get(id);
35
- const effectiveOptions = instance && resolvesOptions(instance)
36
- ? instance.resolveEffectiveOptions(rawMerged)
37
- : rawMerged;
38
- const validationCtx = {
39
- handlerType,
40
- handlerName: handlerName,
41
- requestKind,
42
- declarationSource,
43
- effectiveOptions,
44
- handlerOptions: handlerOptions?.get(id),
45
- globalOptions: globalOptions.get(id),
46
- effectiveBehaviorTypes: behaviorTypes,
47
- behaviorInstance: instance,
48
- };
25
+ const validationCtx = validationContextOf(params, id, instance);
49
26
  // 1. Validate ordering constraints
50
27
  const orderRule = typeof contract.order === 'function'
51
28
  ? contract.order(validationCtx)
52
29
  : contract.order;
53
30
  if (orderRule) {
54
- const edges = [];
55
- if (orderRule.after) {
56
- for (const target of orderRule.after) {
57
- edges.push({ target, direction: 'after' });
58
- }
59
- }
60
- if (orderRule.before) {
61
- for (const target of orderRule.before) {
62
- edges.push({ target, direction: 'before' });
63
- }
64
- }
65
- for (const { target, direction } of edges) {
66
- const targetIdx = behaviorTypes.findIndex((b) => typeof target === 'string'
67
- ? getBehaviorId(b) === target || b.name === target
68
- : b === target || getBehaviorId(b) === getBehaviorId(target));
69
- // Relative position only: an absent target has no position to
70
- // violate. A behavior that needs a peer to exist checks
71
- // effectiveBehaviorTypes in its own validate().
72
- if (targetIdx === -1)
73
- continue;
74
- const isViolation = direction === 'after' ? i <= targetIdx : i >= targetIdx;
75
- if (isViolation) {
76
- const targetName = behaviorTypes[targetIdx].name;
77
- diagnostics.push({
78
- handlerName: handlerName,
79
- behaviorName: BehaviorClass.name,
80
- message: direction === 'after'
81
- ? `${BehaviorClass.name} is positioned before ${targetName} in the pipeline chain, but must execute after it`
82
- : `${BehaviorClass.name} is positioned after ${targetName} in the pipeline chain, but must execute before it`,
83
- fix: direction === 'after'
84
- ? `Reorder the pipeline behaviors so that ${targetName} runs before ${BehaviorClass.name}.`
85
- : `Reorder the pipeline behaviors so that ${BehaviorClass.name} runs before ${targetName}.`,
86
- });
87
- }
88
- }
31
+ validateOrder(params, { index: i, type: BehaviorClass }, orderRule);
89
32
  }
90
33
  // 2. Validate behavior options and intent
91
- if (typeof contract.validate === 'function') {
92
- const result = contract.validate(validationCtx);
93
- if (Array.isArray(result))
94
- diagnostics.push(...result);
34
+ if (typeof contract.validate !== 'function')
35
+ continue;
36
+ const result = contract.validate(validationCtx);
37
+ if (Array.isArray(result))
38
+ diagnostics.push(...result);
39
+ }
40
+ }
41
+ function contractOf(type, instance) {
42
+ return ((instance &&
43
+ untyped(instance)[PIPELINE_BEHAVIOR_CONTRACT]) ??
44
+ untyped(type)[PIPELINE_BEHAVIOR_CONTRACT]);
45
+ }
46
+ function validationContextOf(params, id, instance) {
47
+ const { handlerType, handlerName, requestKind, behaviorTypes, mergedOptions, handlerOptions, globalOptions, } = params;
48
+ const declarationSource = declarationSourceOf(params, id);
49
+ const rawMerged = mergedOptions.get(id);
50
+ const effectiveOptions = instance && resolvesOptions(instance)
51
+ ? instance.resolveEffectiveOptions(rawMerged)
52
+ : rawMerged;
53
+ return {
54
+ handlerType,
55
+ handlerName: handlerName,
56
+ requestKind,
57
+ declarationSource,
58
+ effectiveOptions,
59
+ handlerOptions: handlerOptions?.get(id),
60
+ globalOptions: globalOptions.get(id),
61
+ effectiveBehaviorTypes: behaviorTypes,
62
+ behaviorInstance: instance,
63
+ };
64
+ }
65
+ function declarationSourceOf(params, id) {
66
+ const isHandlerDeclared = (params.handlerBehaviorTypes ?? []).some((t) => getBehaviorId(t) === id);
67
+ const isGlobalDeclared = params.globalBehaviorIds.has(id);
68
+ if (isHandlerDeclared && isGlobalDeclared)
69
+ return 'both';
70
+ return isHandlerDeclared ? 'handler' : 'global';
71
+ }
72
+ function validateOrder(params, behavior, orderRule) {
73
+ const { handlerName, behaviorTypes, diagnostics } = params;
74
+ const { index: i, type: BehaviorClass } = behavior;
75
+ for (const { target, direction } of edgesOf(orderRule)) {
76
+ const targetIdx = behaviorTypes.findIndex((b) => isTarget(b, target));
77
+ // Relative position only: an absent target has no position to
78
+ // violate. A behavior that needs a peer to exist checks
79
+ // effectiveBehaviorTypes in its own validate().
80
+ if (targetIdx === -1)
81
+ continue;
82
+ const isViolation = direction === 'after' ? i <= targetIdx : i >= targetIdx;
83
+ if (!isViolation)
84
+ continue;
85
+ const targetName = behaviorTypes[targetIdx].name;
86
+ diagnostics.push({
87
+ handlerName: handlerName,
88
+ behaviorName: BehaviorClass.name,
89
+ message: direction === 'after'
90
+ ? `${BehaviorClass.name} is positioned before ${targetName} in the pipeline chain, but must execute after it`
91
+ : `${BehaviorClass.name} is positioned after ${targetName} in the pipeline chain, but must execute before it`,
92
+ fix: direction === 'after'
93
+ ? `Reorder the pipeline behaviors so that ${targetName} runs before ${BehaviorClass.name}.`
94
+ : `Reorder the pipeline behaviors so that ${BehaviorClass.name} runs before ${targetName}.`,
95
+ });
96
+ }
97
+ }
98
+ function edgesOf(orderRule) {
99
+ const edges = [];
100
+ if (orderRule.after) {
101
+ for (const target of orderRule.after) {
102
+ edges.push({ target, direction: 'after' });
95
103
  }
96
104
  }
105
+ if (orderRule.before) {
106
+ for (const target of orderRule.before) {
107
+ edges.push({ target, direction: 'before' });
108
+ }
109
+ }
110
+ return edges;
111
+ }
112
+ function isTarget(type, target) {
113
+ return typeof target === 'string'
114
+ ? getBehaviorId(type) === target || type.name === target
115
+ : type === target || getBehaviorId(type) === getBehaviorId(target);
97
116
  }
98
117
  function resolvesOptions(instance) {
99
118
  return (typeof instance
@@ -1 +1 @@
1
- {"version":3,"file":"pipeline-contracts.js","sourceRoot":"","sources":["../../src/services/pipeline-contracts.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"pipeline-contracts.js","sourceRoot":"","sources":["../../src/services/pipeline-contracts.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"pipeline-plan.d.ts","sourceRoot":"","sources":["../../src/services/pipeline-plan.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,KAAK,UAAU,EAAiB,MAAM,2BAA2B,CAAC;AAC3E,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,8CAA8C,CAAC;AACtF,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,wCAAwC,CAAC;AACrF,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAE/C,yFAAyF;AACzF,MAAM,MAAM,WAAW,GAAG,SAAS,GAAG,OAAO,GAAG,OAAO,GAAG,SAAS,CAAC;AAEpE,wEAAwE;AACxE,MAAM,WAAW,mBAAmB;IAClC,iDAAiD;IACjD,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,WAAW,CAAC;IACzB,iEAAiE;IACjE,oBAAoB,CAAC,EAAE,WAAW,CAAC,iBAAiB,CAAC,EAAE,CAAC;IACxD,8CAA8C;IAC9C,cAAc,CAAC,EAAE,GAAG,CAAC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IAC1D,gDAAgD;IAChD,oBAAoB,CAAC,EAAE,WAAW,CAAC,iBAAiB,CAAC,EAAE,CAAC;IACxD,eAAe,CAAC,EAAE,sBAAsB,GAAG,sBAAsB,EAAE,CAAC;CACrE;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,mBAAmB,CAAC,WAAW,EAAE,mBAAmB;;;;;;;;EAkFnE;AAED,yEAAyE;AACzE,wBAAgB,eAAe,CAC7B,eAAe,EACX,sBAAsB,GACtB,sBAAsB,EAAE,GACxB,SAAS,GACZ,sBAAsB,EAAE,CAG1B"}
1
+ {"version":3,"file":"pipeline-plan.d.ts","sourceRoot":"","sources":["../../src/services/pipeline-plan.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,KAAK,UAAU,EAAiB,MAAM,2BAA2B,CAAC;AAC3E,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,8CAA8C,CAAC;AACtF,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,wCAAwC,CAAC;AACrF,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAE/C,yFAAyF;AACzF,MAAM,MAAM,WAAW,GAAG,SAAS,GAAG,OAAO,GAAG,OAAO,GAAG,SAAS,CAAC;AAEpE,wEAAwE;AACxE,MAAM,WAAW,mBAAmB;IAClC,iDAAiD;IACjD,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,WAAW,CAAC;IACzB,iEAAiE;IACjE,oBAAoB,CAAC,EAAE,WAAW,CAAC,iBAAiB,CAAC,EAAE,CAAC;IACxD,8CAA8C;IAC9C,cAAc,CAAC,EAAE,GAAG,CAAC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IAC1D,gDAAgD;IAChD,oBAAoB,CAAC,EAAE,WAAW,CAAC,iBAAiB,CAAC,EAAE,CAAC;IACxD,eAAe,CAAC,EAAE,sBAAsB,GAAG,sBAAsB,EAAE,CAAC;CACrE;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,mBAAmB,CAAC,WAAW,EAAE,mBAAmB;;;;;;;;EAmCnE;AA0FD,yEAAyE;AACzE,wBAAgB,eAAe,CAC7B,eAAe,EACX,sBAAsB,GACtB,sBAAsB,EAAE,GACxB,SAAS,GACZ,sBAAsB,EAAE,CAG1B"}
@@ -20,22 +20,39 @@ import { getBehaviorId } from '../helpers/behavior-id.js';
20
20
  * ```
21
21
  */
22
22
  export function compilePipelinePlan(declaration) {
23
- const { handlerName, requestKind, handlerBehaviorTypes, handlerOptions, skippedBehaviorTypes, globalBehaviors, } = declaration;
24
- if (skippedBehaviorTypes && skippedBehaviorTypes.length > 0) {
25
- const handlerBehaviorIds = new Set((handlerBehaviorTypes ?? []).map(getBehaviorId));
26
- for (const skippedType of skippedBehaviorTypes) {
27
- const id = getBehaviorId(skippedType);
28
- if (handlerBehaviorIds.has(id) || handlerOptions?.has(id)) {
29
- throw new Error(`Handler ${handlerName} has contradictory pipeline configuration: ` +
30
- `behavior ${skippedType.name} is both skipped and declared. ` +
31
- `Remove either the skip or the declaration.`);
32
- }
23
+ const { requestKind, handlerBehaviorTypes, handlerOptions, skippedBehaviorTypes, globalBehaviors, } = declaration;
24
+ assertConsistentSkips(declaration);
25
+ const globals = resolveGlobalBehaviors(globalBehaviors, requestKind);
26
+ const skippedBehaviorIds = new Set((skippedBehaviorTypes ?? []).map(getBehaviorId));
27
+ const { behaviorTypes, globalBehaviorIds } = orderBehaviors(globals, handlerBehaviorTypes, skippedBehaviorIds);
28
+ const mergedOptions = mergeOptions(globals.globalOptions, handlerOptions, skippedBehaviorIds);
29
+ return {
30
+ behaviorTypes,
31
+ mergedOptions,
32
+ hasPipeline: behaviorTypes.length > 0,
33
+ handlerOptions,
34
+ globalOptions: globals.globalOptions,
35
+ handlerBehaviorTypes,
36
+ globalBehaviorIds,
37
+ };
38
+ }
39
+ function assertConsistentSkips(declaration) {
40
+ const { handlerName, handlerBehaviorTypes, handlerOptions, skippedBehaviorTypes, } = declaration;
41
+ if (!skippedBehaviorTypes || skippedBehaviorTypes.length === 0)
42
+ return;
43
+ const handlerBehaviorIds = new Set((handlerBehaviorTypes ?? []).map(getBehaviorId));
44
+ for (const skippedType of skippedBehaviorTypes) {
45
+ const id = getBehaviorId(skippedType);
46
+ if (handlerBehaviorIds.has(id) || handlerOptions?.has(id)) {
47
+ throw new Error(`Handler ${handlerName} has contradictory pipeline configuration: ` +
48
+ `behavior ${skippedType.name} is both skipped and declared. ` +
49
+ `Remove either the skip or the declaration.`);
33
50
  }
34
51
  }
35
- const { beforeTypes, afterTypes, globalOptions } = resolveGlobalBehaviors(globalBehaviors, requestKind);
36
- const skippedBehaviorIds = new Set((skippedBehaviorTypes ?? []).map(getBehaviorId));
37
- const effectiveBeforeTypes = beforeTypes.filter((type) => !skippedBehaviorIds.has(getBehaviorId(type)));
38
- const effectiveAfterTypes = afterTypes.filter((type) => !skippedBehaviorIds.has(getBehaviorId(type)));
52
+ }
53
+ function orderBehaviors(globals, handlerBehaviorTypes, skippedBehaviorIds) {
54
+ const effectiveBeforeTypes = globals.beforeTypes.filter((type) => !skippedBehaviorIds.has(getBehaviorId(type)));
55
+ const effectiveAfterTypes = globals.afterTypes.filter((type) => !skippedBehaviorIds.has(getBehaviorId(type)));
39
56
  // Handler declarations override options for a global behavior of the same
40
57
  // class, but must not relocate it. A global security guard configured in
41
58
  // `before` must remain outside handler-level cache/idempotency behaviors
@@ -49,6 +66,9 @@ export function compilePipelinePlan(declaration) {
49
66
  ...handlerOnlyTypes,
50
67
  ...effectiveAfterTypes,
51
68
  ];
69
+ return { behaviorTypes, globalBehaviorIds };
70
+ }
71
+ function mergeOptions(globalOptions, handlerOptions, skippedBehaviorIds) {
52
72
  // Handler options shallowly override global options; nested values are replaced.
53
73
  const mergedOptions = new Map(globalOptions);
54
74
  for (const [id, options] of handlerOptions ?? []) {
@@ -58,15 +78,7 @@ export function compilePipelinePlan(declaration) {
58
78
  for (const skippedId of skippedBehaviorIds) {
59
79
  mergedOptions.delete(skippedId);
60
80
  }
61
- return {
62
- behaviorTypes,
63
- mergedOptions,
64
- hasPipeline: behaviorTypes.length > 0,
65
- handlerOptions,
66
- globalOptions,
67
- handlerBehaviorTypes,
68
- globalBehaviorIds,
69
- };
81
+ return mergedOptions;
70
82
  }
71
83
  /** Normalizes the single-object and array forms of `globalBehaviors`. */
72
84
  export function toGlobalConfigs(globalBehaviors) {
@@ -1 +1 @@
1
- {"version":3,"file":"pipeline-plan.js","sourceRoot":"","sources":["../../src/services/pipeline-plan.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"pipeline-plan.js","sourceRoot":"","sources":["../../src/services/pipeline-plan.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"pipeline-runner.d.ts","sourceRoot":"","sources":["../../src/services/pipeline-runner.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAEV,cAAc,EACf,MAAM,2CAA2C,CAAC;AACnD,OAAO,KAAK,EACV,iBAAiB,EAElB,MAAM,8CAA8C,CAAC;AACtD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,kDAAkD,CAAC;AAG5F;;;GAGG;AACH,MAAM,MAAM,cAAc,GAAG,CAC3B,IAAI,EAAE,OAAO,EACb,OAAO,EAAE,OAAO,EAChB,IAAI,CAAC,EAAE,SAAS,OAAO,EAAE,KACtB,OAAO,CAAC,OAAO,CAAC,CAAC;AAEtB;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,oBAAoB,CAElC,cAAc,EAAE,CAAC,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,OAAO,EAC1D,IAAI,EACA,mBAAmB,GACnB,CAAC,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,KAAK,mBAAmB,CAAC,EAC9D,SAAS,EACL,SAAS,iBAAiB,EAAE,GAC5B,CAAC,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,KAAK,OAAO,CAAC,iBAAiB,EAAE,CAAC,CAAC,EACvE,WAAW,EAAE,OAAO,EACpB,OAAO,GAAE,cAAmB,GAC3B,cAAc,CA2DhB"}
1
+ {"version":3,"file":"pipeline-runner.d.ts","sourceRoot":"","sources":["../../src/services/pipeline-runner.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAEV,cAAc,EAEf,MAAM,2CAA2C,CAAC;AACnD,OAAO,KAAK,EACV,iBAAiB,EAElB,MAAM,8CAA8C,CAAC;AACtD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,kDAAkD,CAAC;AAG5F;;;GAGG;AACH,MAAM,MAAM,cAAc,GAAG,CAC3B,IAAI,EAAE,OAAO,EACb,OAAO,EAAE,OAAO,EAChB,IAAI,CAAC,EAAE,SAAS,OAAO,EAAE,KACtB,OAAO,CAAC,OAAO,CAAC,CAAC;AAEtB;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,oBAAoB,CAElC,cAAc,EAAE,CAAC,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,OAAO,EAC1D,IAAI,EACA,mBAAmB,GACnB,CAAC,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,KAAK,mBAAmB,CAAC,EAC9D,SAAS,EACL,SAAS,iBAAiB,EAAE,GAC5B,CAAC,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,KAAK,OAAO,CAAC,iBAAiB,EAAE,CAAC,CAAC,EACvE,WAAW,EAAE,OAAO,EACpB,OAAO,GAAE,cAAmB,GAC3B,cAAc,CA0ChB"}
@@ -31,37 +31,44 @@ originalMethod, meta, behaviors, hasPipeline, sources = {}) {
31
31
  const localBehaviors = typeof behaviors === 'function'
32
32
  ? await behaviors(self, request)
33
33
  : behaviors;
34
- const parent = pipelineStore.getStore();
35
34
  const { tenantId: tenant, correlationId: correlation } = sources;
36
- const tenantId = tenant ? tenant.current() : parent?.tenantId;
37
- const correlationId = correlation
38
- ? (correlation.current() ?? correlation.create())
39
- : (parent?.correlationId ?? uuidv7());
40
- context[SET_CORRELATION_ID](correlationId);
41
- if (tenantId !== undefined)
42
- context[SET_TENANT_ID](tenantId);
43
- let chain = async () => {
44
- // A behavior that replaced the request hands the handler the replacement.
35
+ assignExecutionValues(context, tenant, correlation);
36
+ const chain = compose(context, localBehaviors, async () => {
45
37
  const current = context.request;
46
- const replaced = current !== request;
47
- const result = await invoke(self, current, args && replaced
48
- ? args.length === 1
49
- ? [current]
50
- : current
51
- : args);
38
+ const result = await invoke(self, current, handlerArgs(args, current, request));
52
39
  context[SET_RESPONSE](result);
53
40
  return result;
54
- };
55
- for (let i = localBehaviors.length - 1; i >= 0; i--) {
56
- const behavior = localBehaviors[i];
57
- const nextInChain = chain;
58
- chain = () => behavior.handle(context, nextInChain);
59
- }
41
+ });
60
42
  // Behaviors and the handler run inside this execution's values, so a
61
43
  // nested dispatch inherits them and cannot see a different tenant.
62
44
  return pipelineStore.run(context, () => within(tenant, context.tenantId, () => within(correlation, context.correlationId, chain)));
63
45
  };
64
46
  }
47
+ function assignExecutionValues(context, tenant, correlation) {
48
+ const parent = pipelineStore.getStore();
49
+ const tenantId = tenant ? tenant.current() : parent?.tenantId;
50
+ const correlationId = correlation
51
+ ? (correlation.current() ?? correlation.create())
52
+ : (parent?.correlationId ?? uuidv7());
53
+ context[SET_CORRELATION_ID](correlationId);
54
+ if (tenantId !== undefined)
55
+ context[SET_TENANT_ID](tenantId);
56
+ }
57
+ function compose(context, behaviors, handler) {
58
+ let chain = handler;
59
+ for (let i = behaviors.length - 1; i >= 0; i--) {
60
+ const behavior = behaviors[i];
61
+ const nextInChain = chain;
62
+ chain = () => behavior.handle(context, nextInChain);
63
+ }
64
+ return chain;
65
+ }
66
+ /** A behavior that replaced the request hands the handler the replacement. */
67
+ function handlerArgs(args, current, request) {
68
+ if (!args || current === request)
69
+ return args;
70
+ return args.length === 1 ? [current] : current;
71
+ }
65
72
  function within(source, value, fn) {
66
73
  return source ? source.run(value, fn) : fn();
67
74
  }
@@ -1 +1 @@
1
- {"version":3,"file":"pipeline-runner.js","sourceRoot":"","sources":["../../src/services/pipeline-runner.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"pipeline-runner.js","sourceRoot":"","sources":["../../src/services/pipeline-runner.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cqrs-ddd/pipeline",
3
- "version": "0.5.0",
3
+ "version": "0.5.1",
4
4
  "description": "Framework-neutral pipeline engine: wrap functions and methods with behaviors such as logging, caching or idempotency",
5
5
  "author": "Aristotelis",
6
6
  "license": "SEE LICENSE IN LICENSE",
@@ -19,6 +19,7 @@
19
19
  },
20
20
  "keywords": [
21
21
  "pipeline",
22
+ "pipeline-behavior",
22
23
  "behaviors",
23
24
  "cqrs",
24
25
  "ddd",
@@ -43,13 +44,13 @@
43
44
  "access": "public"
44
45
  },
45
46
  "dependencies": {
46
- "@cqrs-ddd/safe-stringify": "^0.5.0",
47
- "@cqrs-ddd/uuidv7": "^0.5.0",
48
- "@cqrs-ddd/untyped": "^0.5.0"
47
+ "@cqrs-ddd/safe-stringify": "^0.5.1",
48
+ "@cqrs-ddd/uuidv7": "^0.5.1",
49
+ "@cqrs-ddd/untyped": "^0.5.1"
49
50
  },
50
51
  "devDependencies": {
51
- "@vitest/coverage-v8": "^5.0.3",
52
- "vitest": "^5.0.3"
52
+ "@vitest/coverage-v8": "^5.0.5",
53
+ "vitest": "^5.0.5"
53
54
  },
54
55
  "scripts": {
55
56
  "build": "tsc -p tsconfig.build.json",