@hexaijs/application 0.1.0 → 0.2.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 (40) hide show
  1. package/README.md +126 -28
  2. package/dist/application.d.ts +2 -2
  3. package/dist/application.d.ts.map +1 -1
  4. package/dist/application.js +2 -2
  5. package/dist/application.js.map +1 -1
  6. package/dist/command-handler.d.ts +2 -2
  7. package/dist/command-handler.d.ts.map +1 -1
  8. package/dist/command.d.ts +2 -9
  9. package/dist/command.d.ts.map +1 -1
  10. package/dist/command.js +2 -37
  11. package/dist/command.js.map +1 -1
  12. package/dist/index.d.ts +1 -0
  13. package/dist/index.d.ts.map +1 -1
  14. package/dist/index.js +1 -0
  15. package/dist/index.js.map +1 -1
  16. package/dist/intercepted-application.d.ts +2 -2
  17. package/dist/intercepted-application.d.ts.map +1 -1
  18. package/dist/intercepted-application.js.map +1 -1
  19. package/dist/message-with-auth.d.ts +12 -0
  20. package/dist/message-with-auth.d.ts.map +1 -0
  21. package/dist/message-with-auth.js +43 -0
  22. package/dist/message-with-auth.js.map +1 -0
  23. package/dist/query-handler.d.ts +2 -2
  24. package/dist/query-handler.d.ts.map +1 -1
  25. package/dist/query.d.ts +2 -9
  26. package/dist/query.d.ts.map +1 -1
  27. package/dist/query.js +2 -37
  28. package/dist/query.js.map +1 -1
  29. package/dist/request.d.ts +1 -0
  30. package/dist/request.d.ts.map +1 -1
  31. package/dist/request.js +1 -0
  32. package/dist/request.js.map +1 -1
  33. package/dist/simple-composite-application.d.ts +2 -2
  34. package/dist/simple-composite-application.d.ts.map +1 -1
  35. package/dist/simple-composite-application.js.map +1 -1
  36. package/dist/test/fixtures/index.d.ts +32 -10
  37. package/dist/test/fixtures/index.d.ts.map +1 -1
  38. package/dist/test/fixtures/index.js +20 -2
  39. package/dist/test/fixtures/index.js.map +1 -1
  40. package/package.json +4 -3
package/README.md CHANGED
@@ -26,41 +26,75 @@ npm install @hexaijs/application
26
26
 
27
27
  `Command` and `Query` extend the core `Message` class to represent different intents. Commands change state; queries read state.
28
28
 
29
+ Both classes accept three type parameters:
30
+ - `Payload` - The data the message carries
31
+ - `ResultType` - The output type (enables automatic type inference)
32
+ - `SecurityContext` - Optional security context type (defaults to `unknown`)
33
+
29
34
  ```typescript
30
35
  import { Command, Query } from "@hexaijs/application";
31
36
 
32
- // Command - changes state
33
- export class CreateOrderCommand extends Command<{
34
- customerId: string;
35
- items: { productId: string; quantity: number }[];
36
- }> {
37
+ // Command - changes state, returns { orderId: string }
38
+ export class CreateOrderCommand extends Command<
39
+ { customerId: string; items: { productId: string; quantity: number }[] },
40
+ { orderId: string }
41
+ > {
37
42
  static readonly type = "order.create-order";
38
43
  }
39
44
 
40
- // Query - reads state
41
- export class GetOrderQuery extends Query<{
42
- orderId: string;
43
- }> {
45
+ // Query - reads state, returns OrderDto
46
+ export class GetOrderQuery extends Query<
47
+ { orderId: string },
48
+ OrderDto
49
+ > {
44
50
  static readonly type = "order.get-order";
45
51
  }
46
52
  ```
47
53
 
48
- Both support security contexts for authorization:
54
+ With output types declared, `executeCommand` and `executeQuery` automatically infer return types:
49
55
 
50
56
  ```typescript
57
+ const result = await app.executeCommand(new CreateOrderCommand({
58
+ customerId: "c-123",
59
+ items: []
60
+ }));
61
+ // result type: Result<{ orderId: string }> - automatically inferred!
62
+
63
+ const orderResult = await app.executeQuery(new GetOrderQuery({ orderId: "o-456" }));
64
+ // orderResult type: Result<OrderDto> - automatically inferred!
65
+ ```
66
+
67
+ Both support security contexts for authorization. To get typed security context access, specify it as the third type parameter:
68
+
69
+ ```typescript
70
+ // Define a security context type
71
+ interface UserSecurityContext {
72
+ userId: string;
73
+ roles: string[];
74
+ }
75
+
76
+ // Command with typed security context (third parameter)
77
+ export class SecureCreateOrderCommand extends Command<
78
+ { customerId: string; items: { productId: string; quantity: number }[] },
79
+ { orderId: string },
80
+ UserSecurityContext
81
+ > {
82
+ static readonly type = "order.secure-create-order";
83
+ }
84
+
51
85
  // Attach security context
52
- const command = new CreateOrderCommand({
86
+ const command = new SecureCreateOrderCommand({
53
87
  customerId: "customer-123",
54
88
  items: []
55
89
  }).withSecurityContext({ userId: "user-456", roles: ["admin"] });
56
90
 
57
- // Access in handler
58
- const user = command.getSecurityContext();
91
+ // Access in handler - type is inferred from Command's third parameter
92
+ const user = command.getSecurityContext(); // UserSecurityContext
59
93
  ```
60
94
 
61
95
  ### CommandHandler and QueryHandler
62
96
 
63
- Handlers implement the `execute` method to process messages:
97
+ Handlers implement the `execute` method to process messages. The output type is automatically inferred from the Command/Query's `ResultType` parameter:
64
98
 
65
99
  ```typescript
66
100
  import { CommandHandler, QueryHandler } from "@hexaijs/application";
@@ -69,11 +103,8 @@ interface OrderContext {
69
103
  getOrderRepository(): OrderRepository;
70
104
  }
71
105
 
72
- class CreateOrderHandler implements CommandHandler<
73
- CreateOrderCommand,
74
- { orderId: string },
75
- OrderContext
76
- > {
106
+ // Handler infers output type from CreateOrderCommand's ResultType ({ orderId: string })
107
+ class CreateOrderHandler implements CommandHandler<CreateOrderCommand, OrderContext> {
77
108
  async execute(
78
109
  command: CreateOrderCommand,
79
110
  ctx: OrderContext
@@ -85,11 +116,8 @@ class CreateOrderHandler implements CommandHandler<
85
116
  }
86
117
  }
87
118
 
88
- class GetOrderHandler implements QueryHandler<
89
- GetOrderQuery,
90
- OrderDto,
91
- OrderContext
92
- > {
119
+ // Handler infers output type from GetOrderQuery's ResultType (OrderDto)
120
+ class GetOrderHandler implements QueryHandler<GetOrderQuery, OrderContext> {
93
121
  async execute(
94
122
  query: GetOrderQuery,
95
123
  ctx: OrderContext
@@ -101,6 +129,13 @@ class GetOrderHandler implements QueryHandler<
101
129
  }
102
130
  ```
103
131
 
132
+ You can also extract output types directly from Command/Query classes using indexed access:
133
+
134
+ ```typescript
135
+ type CreateOrderOutput = CreateOrderCommand['ResultType']; // { orderId: string }
136
+ type GetOrderOutput = GetOrderQuery['ResultType']; // OrderDto
137
+ ```
138
+
104
139
  ### EventHandler
105
140
 
106
141
  Event handlers react to domain events. The `canHandle` method filters which events the handler processes:
@@ -310,10 +345,10 @@ await compositeApp.handleEvent(event);
310
345
  |--------|-------------|
311
346
  | `Application` | Interface for command/query execution and event handling |
312
347
  | `ApplicationBuilder` | Fluent builder for assembling applications |
313
- | `Command<P, SC>` | Base class for commands with payload and security context |
314
- | `Query<P, SC>` | Base class for queries with payload and security context |
315
- | `CommandHandler<I, O, Ctx>` | Interface for command handlers |
316
- | `QueryHandler<I, O, Ctx>` | Interface for query handlers |
348
+ | `Command<P, O, SC>` | Base class for commands with payload, output type, and security context |
349
+ | `Query<P, O, SC>` | Base class for queries with payload, output type, and security context |
350
+ | `CommandHandler<I, Ctx>` | Interface for command handlers (output inferred from command) |
351
+ | `QueryHandler<I, Ctx>` | Interface for query handlers (output inferred from query) |
317
352
  | `EventHandler<E, Ctx>` | Interface for event handlers |
318
353
  | `AbstractApplicationContext` | Base class for application contexts |
319
354
  | `Result<R, E>` | Union type of `SuccessResult` or `ErrorResult` |
@@ -324,6 +359,69 @@ await compositeApp.handleEvent(event);
324
359
  | `EventInterceptor` | Interceptor type for events |
325
360
  | `Interceptor` | Interceptor type for all messages |
326
361
 
362
+ ## Migration Guide
363
+
364
+ ### From v0.1.x to v0.2.0
365
+
366
+ This version introduces automatic output type inference with breaking changes to type parameters.
367
+
368
+ #### Command and Query
369
+
370
+ **Before (v0.2.x)**:
371
+ ```typescript
372
+ // Second type parameter was SecurityContext
373
+ class MyCommand extends Command<Payload, MySecurityContext> {}
374
+ ```
375
+
376
+ **After (v0.3.0)**:
377
+ ```typescript
378
+ // Second type parameter is now ResultType, SecurityContext moves to third
379
+ class MyCommand extends Command<Payload, ResultType, MySecurityContext> {}
380
+
381
+ // If you don't need custom SecurityContext, just use two parameters:
382
+ class MyCommand extends Command<Payload, ResultType> {}
383
+ ```
384
+
385
+ #### CommandHandler and QueryHandler
386
+
387
+ **Before (v0.2.x)**:
388
+ ```typescript
389
+ class MyHandler implements CommandHandler<MyCommand, OutputType, Context> {
390
+ async execute(cmd: MyCommand, ctx: Context): Promise<OutputType> { ... }
391
+ }
392
+ ```
393
+
394
+ **After (v0.3.0)**:
395
+ ```typescript
396
+ // Output type is automatically inferred from MyCommand's ResultType
397
+ class MyHandler implements CommandHandler<MyCommand, Context> {
398
+ async execute(cmd: MyCommand, ctx: Context): Promise<OutputType> { ... }
399
+ }
400
+ ```
401
+
402
+ #### Security Context Access
403
+
404
+ **Before (v0.2.x)**:
405
+ ```typescript
406
+ // SC was the second type parameter
407
+ class MyCommand extends Command<Payload, MySecurityContext> {}
408
+ const sc = command.getSecurityContext(); // MySecurityContext
409
+ ```
410
+
411
+ **After (v0.3.0)**:
412
+ ```typescript
413
+ // SC is now the third type parameter
414
+ class MyCommand extends Command<Payload, ResultType, MySecurityContext> {}
415
+ const sc = command.getSecurityContext(); // MySecurityContext (same usage)
416
+ ```
417
+
418
+ #### Quick Migration Checklist
419
+
420
+ - [ ] Update `Command<P, SC>` to `Command<P, O, SC>` or `Command<P, O>` (SC moves to 3rd position)
421
+ - [ ] Update `Query<P, SC>` to `Query<P, O, SC>` or `Query<P, O>` (SC moves to 3rd position)
422
+ - [ ] Remove `O` parameter from `CommandHandler<I, O, Ctx>` → `CommandHandler<I, Ctx>`
423
+ - [ ] Remove `O` parameter from `QueryHandler<I, O, Ctx>` → `QueryHandler<I, Ctx>`
424
+
327
425
  ## See Also
328
426
 
329
427
  - [@hexaijs/core](../core/README.md) - Core domain primitives this package builds upon
@@ -20,10 +20,10 @@ interface QueryClass extends MessageClass {
20
20
  }
21
21
  export type EventHandlingResult = unknown;
22
22
  export interface CommandDispatcher {
23
- executeCommand<T = unknown>(command: Command): Promise<Result<T>>;
23
+ executeCommand<C extends Command>(command: C): Promise<Result<C['ResultType']>>;
24
24
  }
25
25
  export interface QueryDispatcher {
26
- executeQuery<T = unknown>(query: Query): Promise<Result<T>>;
26
+ executeQuery<Q extends Query>(query: Q): Promise<Result<Q['ResultType']>>;
27
27
  }
28
28
  export interface EventDispatcher {
29
29
  handleEvent(event: Message): Promise<Result<EventHandlingResult>>;
@@ -1 +1 @@
1
- {"version":3,"file":"application.d.ts","sourceRoot":"","sources":["../src/application.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"application.d.ts","sourceRoot":"","sources":["../src/application.ts"],"names":[],"mappings":"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"}
@@ -89,7 +89,7 @@ class GenericApplication {
89
89
  try {
90
90
  let result;
91
91
  await this.applicationContext.enterCommandExecutionScope(command, async (context) => {
92
- result = await handler.execute(command, context);
92
+ result = (await handler.execute(command, context));
93
93
  });
94
94
  return result;
95
95
  }
@@ -115,7 +115,7 @@ class GenericApplication {
115
115
  try {
116
116
  let result;
117
117
  await this.applicationContext.enterCommandExecutionScope(query, async (context) => {
118
- result = await handler.execute(query, context);
118
+ result = (await handler.execute(query, context));
119
119
  });
120
120
  return result;
121
121
  }
@@ -1 +1 @@
1
- {"version":3,"file":"application.js","sourceRoot":"","sources":["../src/application.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"application.js","sourceRoot":"","sources":["../src/application.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import { Command } from "./command";
2
- export interface CommandHandler<I extends Command = Command, O = any, Ctx = any> {
3
- execute(command: I, ctx?: Ctx): Promise<O>;
2
+ export interface CommandHandler<I extends Command = Command, Ctx = any> {
3
+ execute(command: I, ctx?: Ctx): Promise<I['ResultType']>;
4
4
  }
5
5
  //# sourceMappingURL=command-handler.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"command-handler.d.ts","sourceRoot":"","sources":["../src/command-handler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,MAAM,WAAW,cAAc,CAC3B,CAAC,SAAS,OAAO,GAAG,OAAO,EAC3B,CAAC,GAAG,GAAG,EACP,GAAG,GAAG,GAAG;IAET,OAAO,CAAC,OAAO,EAAE,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;CAC9C"}
1
+ {"version":3,"file":"command-handler.d.ts","sourceRoot":"","sources":["../src/command-handler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,MAAM,WAAW,cAAc,CAAC,CAAC,SAAS,OAAO,GAAG,OAAO,EAAE,GAAG,GAAG,GAAG;IAClE,OAAO,CAAC,OAAO,EAAE,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,GAAG,OAAO,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC;CAC5D"}
package/dist/command.d.ts CHANGED
@@ -1,12 +1,5 @@
1
- import { Message } from "@hexaijs/core";
2
- export declare class Command<P = any, SC = any> extends Message<P> {
1
+ import { MessageWithAuth } from "./message-with-auth";
2
+ export declare class Command<Payload = unknown, ResultType = unknown, SecCtx = unknown> extends MessageWithAuth<Payload, ResultType, SecCtx> {
3
3
  static getIntent(): string;
4
- private securityContext?;
5
- constructor(payload: P, headers?: Record<string, unknown>, securityContext?: SC);
6
- withHeader(field: string, value: unknown): this;
7
- protected clone(): this;
8
- protected cloneWithHeaders(headers: Record<string, unknown>): this;
9
- getSecurityContext(): SC;
10
- withSecurityContext(securityContext: SC): this;
11
4
  }
12
5
  //# sourceMappingURL=command.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"command.d.ts","sourceRoot":"","sources":["../src/command.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAExC,qBAAa,OAAO,CAAC,CAAC,GAAG,GAAG,EAAE,EAAE,GAAG,GAAG,CAAE,SAAQ,OAAO,CAAC,CAAC,CAAC;WACtC,SAAS,IAAI,MAAM;IAInC,OAAO,CAAC,eAAe,CAAC,CAAK;gBAGzB,OAAO,EAAE,CAAC,EACV,OAAO,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM,EACrC,eAAe,CAAC,EAAE,EAAE;IAMR,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,IAAI;IAK/D,SAAS,CAAC,KAAK,IAAI,IAAI;IAMvB,SAAS,CAAC,gBAAgB,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;IAW3D,kBAAkB,IAAI,EAAE;IAQxB,mBAAmB,CAAC,eAAe,EAAE,EAAE,GAAG,IAAI;CAKxD"}
1
+ {"version":3,"file":"command.d.ts","sourceRoot":"","sources":["../src/command.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAEtD,qBAAa,OAAO,CAChB,OAAO,GAAG,OAAO,EACjB,UAAU,GAAG,OAAO,EACpB,MAAM,GAAG,OAAO,CAClB,SAAQ,eAAe,CAAC,OAAO,EAAE,UAAU,EAAE,MAAM,CAAC;WAClC,SAAS,IAAI,MAAM;CAGtC"}
package/dist/command.js CHANGED
@@ -1,46 +1,11 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.Command = void 0;
4
- const core_1 = require("@hexaijs/core");
5
- class Command extends core_1.Message {
4
+ const message_with_auth_1 = require("./message-with-auth");
5
+ class Command extends message_with_auth_1.MessageWithAuth {
6
6
  static getIntent() {
7
7
  return "command";
8
8
  }
9
- securityContext;
10
- constructor(payload, headers = {}, securityContext) {
11
- super(payload, headers);
12
- this.securityContext = securityContext;
13
- }
14
- withHeader(field, value) {
15
- const newHeaders = { ...this.getHeaders(), [field]: value };
16
- return this.cloneWithHeaders(newHeaders);
17
- }
18
- clone() {
19
- const cloned = Object.create(Object.getPrototypeOf(this));
20
- Object.assign(cloned, this);
21
- return cloned;
22
- }
23
- cloneWithHeaders(headers) {
24
- const cloned = this.clone();
25
- // Bypass frozen headers from parent Message class
26
- Object.defineProperty(cloned, "headers", {
27
- value: Object.freeze(headers),
28
- writable: false,
29
- configurable: true,
30
- });
31
- return cloned;
32
- }
33
- getSecurityContext() {
34
- if (!this.securityContext) {
35
- throw new Error("security context is not set");
36
- }
37
- return this.securityContext;
38
- }
39
- withSecurityContext(securityContext) {
40
- const cloned = this.clone();
41
- cloned.securityContext = securityContext;
42
- return cloned;
43
- }
44
9
  }
45
10
  exports.Command = Command;
46
11
  //# sourceMappingURL=command.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"command.js","sourceRoot":"","sources":["../src/command.ts"],"names":[],"mappings":";;;AAAA,wCAAwC;AAExC,MAAa,OAA2B,SAAQ,cAAU;IACtD,MAAM,CAAU,SAAS;QACrB,OAAO,SAAS,CAAC;IACrB,CAAC;IAEO,eAAe,CAAM;IAE7B,YACI,OAAU,EACV,UAAmC,EAAE,EACrC,eAAoB;QAEpB,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QACxB,IAAI,CAAC,eAAe,GAAG,eAAe,CAAC;IAC3C,CAAC;IAEe,UAAU,CAAC,KAAa,EAAE,KAAc;QACpD,MAAM,UAAU,GAAG,EAAE,GAAG,IAAI,CAAC,UAAU,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,CAAC;QAC5D,OAAO,IAAI,CAAC,gBAAgB,CAAC,UAAU,CAAC,CAAC;IAC7C,CAAC;IAES,KAAK;QACX,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC;QAC1D,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;QAC5B,OAAO,MAAM,CAAC;IAClB,CAAC;IAES,gBAAgB,CAAC,OAAgC;QACvD,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC;QAC5B,kDAAkD;QAClD,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,SAAS,EAAE;YACrC,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC;YAC7B,QAAQ,EAAE,KAAK;YACf,YAAY,EAAE,IAAI;SACrB,CAAC,CAAC;QACH,OAAO,MAAM,CAAC;IAClB,CAAC;IAEM,kBAAkB;QACrB,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC;YACxB,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAC;QACnD,CAAC;QAED,OAAO,IAAI,CAAC,eAAgB,CAAC;IACjC,CAAC;IAEM,mBAAmB,CAAC,eAAmB;QAC1C,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC;QAC5B,MAAM,CAAC,eAAe,GAAG,eAAe,CAAC;QACzC,OAAO,MAAM,CAAC;IAClB,CAAC;CACJ;AAnDD,0BAmDC"}
1
+ {"version":3,"file":"command.js","sourceRoot":"","sources":["../src/command.ts"],"names":[],"mappings":";;;AAAA,2DAAsD;AAEtD,MAAa,OAIX,SAAQ,mCAA4C;IAClD,MAAM,CAAU,SAAS;QACrB,OAAO,SAAS,CAAC;IACrB,CAAC;CACJ;AARD,0BAQC"}
package/dist/index.d.ts CHANGED
@@ -1,4 +1,5 @@
1
1
  export * from "./application";
2
+ export * from "./message-with-auth";
2
3
  export * from "./command";
3
4
  export * from "./query";
4
5
  export * from "./command-handler";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC;AAC9B,cAAc,WAAW,CAAC;AAC1B,cAAc,SAAS,CAAC;AACxB,cAAc,mBAAmB,CAAC;AAClC,cAAc,iBAAiB,CAAC;AAChC,cAAc,iBAAiB,CAAC;AAChC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,mBAAmB,CAAC;AAClC,cAAc,uBAAuB,CAAC;AACtC,cAAc,eAAe,CAAC;AAC9B,cAAc,qBAAqB,CAAC;AACpC,cAAc,WAAW,CAAC;AAC1B,cAAc,mBAAmB,CAAC;AAClC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,SAAS,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC;AAC9B,cAAc,qBAAqB,CAAC;AACpC,cAAc,WAAW,CAAC;AAC1B,cAAc,SAAS,CAAC;AACxB,cAAc,mBAAmB,CAAC;AAClC,cAAc,iBAAiB,CAAC;AAChC,cAAc,iBAAiB,CAAC;AAChC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,gCAAgC,CAAC;AAC/C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,mBAAmB,CAAC;AAClC,cAAc,uBAAuB,CAAC;AACtC,cAAc,eAAe,CAAC;AAC9B,cAAc,qBAAqB,CAAC;AACpC,cAAc,WAAW,CAAC;AAC1B,cAAc,mBAAmB,CAAC;AAClC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,SAAS,CAAC"}
package/dist/index.js CHANGED
@@ -15,6 +15,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
17
  __exportStar(require("./application"), exports);
18
+ __exportStar(require("./message-with-auth"), exports);
18
19
  __exportStar(require("./command"), exports);
19
20
  __exportStar(require("./query"), exports);
20
21
  __exportStar(require("./command-handler"), exports);
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,gDAA8B;AAC9B,4CAA0B;AAC1B,0CAAwB;AACxB,oDAAkC;AAClC,kDAAgC;AAChC,kDAAgC;AAChC,iEAA+C;AAC/C,iEAA+C;AAC/C,4DAA0C;AAC1C,oDAAkC;AAClC,wDAAsC;AACtC,gDAA8B;AAC9B,sDAAoC;AACpC,4CAA0B;AAC1B,oDAAkC;AAClC,gEAA8C;AAC9C,0CAAwB"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,gDAA8B;AAC9B,sDAAoC;AACpC,4CAA0B;AAC1B,0CAAwB;AACxB,oDAAkC;AAClC,kDAAgC;AAChC,kDAAgC;AAChC,iEAA+C;AAC/C,iEAA+C;AAC/C,4DAA0C;AAC1C,oDAAkC;AAClC,wDAAsC;AACtC,gDAA8B;AAC9B,sDAAoC;AACpC,4CAA0B;AAC1B,oDAAkC;AAClC,gEAA8C;AAC9C,0CAAwB"}
@@ -24,8 +24,8 @@ export declare class InterceptedApplication implements Application {
24
24
  private commonInterceptors;
25
25
  static wrap(delegate: Application): InterceptedApplicationBuilder;
26
26
  constructor(delegate: Application, commandInterceptors: CommandInterceptor[], queryInterceptors: QueryInterceptor[], eventInterceptors: EventInterceptor[], commonInterceptors: Interceptor[]);
27
- executeCommand<T = unknown>(command: Command): Promise<Result<T>>;
28
- executeQuery<T = unknown>(query: Query): Promise<Result<T>>;
27
+ executeCommand<C extends Command>(command: C): Promise<Result<C['ResultType']>>;
28
+ executeQuery<Q extends Query>(query: Q): Promise<Result<Q['ResultType']>>;
29
29
  handleEvent(event: Message): Promise<Result<EventHandlingResult>>;
30
30
  private buildInterceptorChain;
31
31
  private createSingleCallGuard;
@@ -1 +1 @@
1
- {"version":3,"file":"intercepted-application.d.ts","sourceRoot":"","sources":["../src/intercepted-application.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAExC,OAAO,EAAE,WAAW,EAAE,mBAAmB,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AACzE,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,OAAO,EAKH,kBAAkB,EAClB,gBAAgB,EAChB,gBAAgB,EAChB,WAAW,EACd,MAAM,eAAe,CAAC;AAIvB,qBAAa,6BAA6B;IAM1B,OAAO,CAAC,QAAQ;IAL5B,OAAO,CAAC,mBAAmB,CAA4B;IACvD,OAAO,CAAC,iBAAiB,CAA0B;IACnD,OAAO,CAAC,iBAAiB,CAA0B;IACnD,OAAO,CAAC,kBAAkB,CAAqB;gBAE3B,QAAQ,EAAE,WAAW;IAEzC,sBAAsB,CAAC,WAAW,EAAE,kBAAkB,GAAG,IAAI;IAK7D,oBAAoB,CAAC,WAAW,EAAE,gBAAgB,GAAG,IAAI;IAKzD,oBAAoB,CAAC,WAAW,EAAE,gBAAgB,GAAG,IAAI;IAKzD,eAAe,CAAC,WAAW,EAAE,WAAW,GAAG,IAAI;IAK/C,KAAK,IAAI,WAAW;CASvB;AAED,qBAAa,sBAAuB,YAAW,WAAW;IAMlD,OAAO,CAAC,QAAQ;IAChB,OAAO,CAAC,mBAAmB;IAC3B,OAAO,CAAC,iBAAiB;IACzB,OAAO,CAAC,iBAAiB;IACzB,OAAO,CAAC,kBAAkB;IAT9B,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,WAAW,GAAG,6BAA6B;gBAKrD,QAAQ,EAAE,WAAW,EACrB,mBAAmB,EAAE,kBAAkB,EAAE,EACzC,iBAAiB,EAAE,gBAAgB,EAAE,EACrC,iBAAiB,EAAE,gBAAgB,EAAE,EACrC,kBAAkB,EAAE,WAAW,EAAE;IAGhC,cAAc,CAAC,CAAC,GAAG,OAAO,EACnC,OAAO,EAAE,OAAO,GACjB,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IAkBR,YAAY,CAAC,CAAC,GAAG,OAAO,EAAE,KAAK,EAAE,KAAK,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IAkB3D,WAAW,CACpB,KAAK,EAAE,OAAO,GACf,OAAO,CAAC,MAAM,CAAC,mBAAmB,CAAC,CAAC;IAkBvC,OAAO,CAAC,qBAAqB;IA6C7B,OAAO,CAAC,qBAAqB;CAehC"}
1
+ {"version":3,"file":"intercepted-application.d.ts","sourceRoot":"","sources":["../src/intercepted-application.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAExC,OAAO,EACH,WAAW,EACX,mBAAmB,EACnB,MAAM,EACT,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,OAAO,EAKH,kBAAkB,EAClB,gBAAgB,EAChB,gBAAgB,EAChB,WAAW,EACd,MAAM,eAAe,CAAC;AAIvB,qBAAa,6BAA6B;IAM1B,OAAO,CAAC,QAAQ;IAL5B,OAAO,CAAC,mBAAmB,CAA4B;IACvD,OAAO,CAAC,iBAAiB,CAA0B;IACnD,OAAO,CAAC,iBAAiB,CAA0B;IACnD,OAAO,CAAC,kBAAkB,CAAqB;gBAE3B,QAAQ,EAAE,WAAW;IAEzC,sBAAsB,CAAC,WAAW,EAAE,kBAAkB,GAAG,IAAI;IAK7D,oBAAoB,CAAC,WAAW,EAAE,gBAAgB,GAAG,IAAI;IAKzD,oBAAoB,CAAC,WAAW,EAAE,gBAAgB,GAAG,IAAI;IAKzD,eAAe,CAAC,WAAW,EAAE,WAAW,GAAG,IAAI;IAK/C,KAAK,IAAI,WAAW;CASvB;AAED,qBAAa,sBAAuB,YAAW,WAAW;IAMlD,OAAO,CAAC,QAAQ;IAChB,OAAO,CAAC,mBAAmB;IAC3B,OAAO,CAAC,iBAAiB;IACzB,OAAO,CAAC,iBAAiB;IACzB,OAAO,CAAC,kBAAkB;IAT9B,MAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,WAAW,GAAG,6BAA6B;gBAKrD,QAAQ,EAAE,WAAW,EACrB,mBAAmB,EAAE,kBAAkB,EAAE,EACzC,iBAAiB,EAAE,gBAAgB,EAAE,EACrC,iBAAiB,EAAE,gBAAgB,EAAE,EACrC,kBAAkB,EAAE,WAAW,EAAE;IAGhC,cAAc,CAAC,CAAC,SAAS,OAAO,EACzC,OAAO,EAAE,CAAC,GACX,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC;IAkBtB,YAAY,CAAC,CAAC,SAAS,KAAK,EACrC,KAAK,EAAE,CAAC,GACT,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC;IAkBtB,WAAW,CACpB,KAAK,EAAE,OAAO,GACf,OAAO,CAAC,MAAM,CAAC,mBAAmB,CAAC,CAAC;IAkBvC,OAAO,CAAC,qBAAqB;IA6C7B,OAAO,CAAC,qBAAqB;CAehC"}
@@ -1 +1 @@
1
- {"version":3,"file":"intercepted-application.js","sourceRoot":"","sources":["../src/intercepted-application.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"intercepted-application.js","sourceRoot":"","sources":["../src/intercepted-application.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ import { Message } from "@hexaijs/core";
2
+ export declare class MessageWithAuth<Payload = any, _ResultType = unknown, SecCtx = unknown> extends Message<Payload> {
3
+ readonly ResultType: _ResultType;
4
+ private securityContext?;
5
+ constructor(payload: Payload, headers?: Record<string, unknown>, securityContext?: SecCtx);
6
+ withHeader(field: string, value: unknown): this;
7
+ protected clone(): this;
8
+ protected cloneWithHeaders(headers: Record<string, unknown>): this;
9
+ getSecurityContext(): SecCtx;
10
+ withSecurityContext(securityContext: SecCtx): this;
11
+ }
12
+ //# sourceMappingURL=message-with-auth.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"message-with-auth.d.ts","sourceRoot":"","sources":["../src/message-with-auth.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAExC,qBAAa,eAAe,CACxB,OAAO,GAAG,GAAG,EACb,WAAW,GAAG,OAAO,EACrB,MAAM,GAAG,OAAO,CAClB,SAAQ,OAAO,CAAC,OAAO,CAAC;IACtB,SAAiB,UAAU,EAAE,WAAW,CAAC;IAEzC,OAAO,CAAC,eAAe,CAAC,CAAS;gBAG7B,OAAO,EAAE,OAAO,EAChB,OAAO,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM,EACrC,eAAe,CAAC,EAAE,MAAM;IAMZ,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,IAAI;IAK/D,SAAS,CAAC,KAAK,IAAI,IAAI;IAMvB,SAAS,CAAC,gBAAgB,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;IAW3D,kBAAkB,IAAI,MAAM;IAQ5B,mBAAmB,CAAC,eAAe,EAAE,MAAM,GAAG,IAAI;CAK5D"}
@@ -0,0 +1,43 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.MessageWithAuth = void 0;
4
+ const core_1 = require("@hexaijs/core");
5
+ class MessageWithAuth extends core_1.Message {
6
+ securityContext;
7
+ constructor(payload, headers = {}, securityContext) {
8
+ super(payload, headers);
9
+ this.securityContext = securityContext;
10
+ }
11
+ withHeader(field, value) {
12
+ const newHeaders = { ...this.getHeaders(), [field]: value };
13
+ return this.cloneWithHeaders(newHeaders);
14
+ }
15
+ clone() {
16
+ const cloned = Object.create(Object.getPrototypeOf(this));
17
+ Object.assign(cloned, this);
18
+ return cloned;
19
+ }
20
+ cloneWithHeaders(headers) {
21
+ const cloned = this.clone();
22
+ // Bypass frozen headers from parent Message class
23
+ Object.defineProperty(cloned, "headers", {
24
+ value: Object.freeze(headers),
25
+ writable: false,
26
+ configurable: true,
27
+ });
28
+ return cloned;
29
+ }
30
+ getSecurityContext() {
31
+ if (!this.securityContext) {
32
+ throw new Error("security context is not set");
33
+ }
34
+ return this.securityContext;
35
+ }
36
+ withSecurityContext(securityContext) {
37
+ const cloned = this.clone();
38
+ cloned.securityContext = securityContext;
39
+ return cloned;
40
+ }
41
+ }
42
+ exports.MessageWithAuth = MessageWithAuth;
43
+ //# sourceMappingURL=message-with-auth.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"message-with-auth.js","sourceRoot":"","sources":["../src/message-with-auth.ts"],"names":[],"mappings":";;;AAAA,wCAAwC;AAExC,MAAa,eAIX,SAAQ,cAAgB;IAGd,eAAe,CAAU;IAEjC,YACI,OAAgB,EAChB,UAAmC,EAAE,EACrC,eAAwB;QAExB,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QACxB,IAAI,CAAC,eAAe,GAAG,eAAe,CAAC;IAC3C,CAAC;IAEe,UAAU,CAAC,KAAa,EAAE,KAAc;QACpD,MAAM,UAAU,GAAG,EAAE,GAAG,IAAI,CAAC,UAAU,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,CAAC;QAC5D,OAAO,IAAI,CAAC,gBAAgB,CAAC,UAAU,CAAC,CAAC;IAC7C,CAAC;IAES,KAAK;QACX,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC;QAC1D,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;QAC5B,OAAO,MAAM,CAAC;IAClB,CAAC;IAES,gBAAgB,CAAC,OAAgC;QACvD,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC;QAC5B,kDAAkD;QAClD,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,SAAS,EAAE;YACrC,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC;YAC7B,QAAQ,EAAE,KAAK;YACf,YAAY,EAAE,IAAI;SACrB,CAAC,CAAC;QACH,OAAO,MAAM,CAAC;IAClB,CAAC;IAEM,kBAAkB;QACrB,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC;YACxB,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAC;QACnD,CAAC;QAED,OAAO,IAAI,CAAC,eAAyB,CAAC;IAC1C,CAAC;IAEM,mBAAmB,CAAC,eAAuB;QAC9C,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC;QAC5B,MAAM,CAAC,eAAe,GAAG,eAAe,CAAC;QACzC,OAAO,MAAM,CAAC;IAClB,CAAC;CACJ;AArDD,0CAqDC"}
@@ -1,5 +1,5 @@
1
1
  import { Query } from "./query";
2
- export interface QueryHandler<I extends Query = Query, O = any, Ctx = any> {
3
- execute(query: I, ctx?: Ctx): Promise<O>;
2
+ export interface QueryHandler<Q extends Query = Query, Ctx = any> {
3
+ execute(query: Q, ctx?: Ctx): Promise<Q["ResultType"]>;
4
4
  }
5
5
  //# sourceMappingURL=query-handler.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"query-handler.d.ts","sourceRoot":"","sources":["../src/query-handler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAEhC,MAAM,WAAW,YAAY,CACzB,CAAC,SAAS,KAAK,GAAG,KAAK,EACvB,CAAC,GAAG,GAAG,EACP,GAAG,GAAG,GAAG;IAET,OAAO,CAAC,KAAK,EAAE,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;CAC5C"}
1
+ {"version":3,"file":"query-handler.d.ts","sourceRoot":"","sources":["../src/query-handler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAEhC,MAAM,WAAW,YAAY,CAAC,CAAC,SAAS,KAAK,GAAG,KAAK,EAAE,GAAG,GAAG,GAAG;IAC5D,OAAO,CAAC,KAAK,EAAE,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,GAAG,OAAO,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC;CAC1D"}
package/dist/query.d.ts CHANGED
@@ -1,12 +1,5 @@
1
- import { Message } from "@hexaijs/core";
2
- export declare class Query<P = any, SC = any> extends Message<P> {
1
+ import { MessageWithAuth } from "./message-with-auth";
2
+ export declare class Query<Payload = unknown, ResultType = unknown, SecCtx = unknown> extends MessageWithAuth<Payload, ResultType, SecCtx> {
3
3
  static getIntent(): string;
4
- private securityContext?;
5
- constructor(payload: P, headers?: Record<string, unknown>, securityContext?: SC);
6
- withHeader(field: string, value: unknown): this;
7
- protected clone(): this;
8
- protected cloneWithHeaders(headers: Record<string, unknown>): this;
9
- getSecurityContext(): SC;
10
- withSecurityContext(securityContext: SC): this;
11
4
  }
12
5
  //# sourceMappingURL=query.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"query.d.ts","sourceRoot":"","sources":["../src/query.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAExC,qBAAa,KAAK,CAAC,CAAC,GAAG,GAAG,EAAE,EAAE,GAAG,GAAG,CAAE,SAAQ,OAAO,CAAC,CAAC,CAAC;WACpC,SAAS,IAAI,MAAM;IAInC,OAAO,CAAC,eAAe,CAAC,CAAK;gBAGzB,OAAO,EAAE,CAAC,EACV,OAAO,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM,EACrC,eAAe,CAAC,EAAE,EAAE;IAMR,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,IAAI;IAK/D,SAAS,CAAC,KAAK,IAAI,IAAI;IAMvB,SAAS,CAAC,gBAAgB,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;IAW3D,kBAAkB,IAAI,EAAE;IAQxB,mBAAmB,CAAC,eAAe,EAAE,EAAE,GAAG,IAAI;CAKxD"}
1
+ {"version":3,"file":"query.d.ts","sourceRoot":"","sources":["../src/query.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAEtD,qBAAa,KAAK,CACd,OAAO,GAAG,OAAO,EACjB,UAAU,GAAG,OAAO,EACpB,MAAM,GAAG,OAAO,CAClB,SAAQ,eAAe,CAAC,OAAO,EAAE,UAAU,EAAE,MAAM,CAAC;WAClC,SAAS,IAAI,MAAM;CAGtC"}
package/dist/query.js CHANGED
@@ -1,46 +1,11 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.Query = void 0;
4
- const core_1 = require("@hexaijs/core");
5
- class Query extends core_1.Message {
4
+ const message_with_auth_1 = require("./message-with-auth");
5
+ class Query extends message_with_auth_1.MessageWithAuth {
6
6
  static getIntent() {
7
7
  return "query";
8
8
  }
9
- securityContext;
10
- constructor(payload, headers = {}, securityContext) {
11
- super(payload, headers);
12
- this.securityContext = securityContext;
13
- }
14
- withHeader(field, value) {
15
- const newHeaders = { ...this.getHeaders(), [field]: value };
16
- return this.cloneWithHeaders(newHeaders);
17
- }
18
- clone() {
19
- const cloned = Object.create(Object.getPrototypeOf(this));
20
- Object.assign(cloned, this);
21
- return cloned;
22
- }
23
- cloneWithHeaders(headers) {
24
- const cloned = this.clone();
25
- // Bypass frozen headers from parent Message class
26
- Object.defineProperty(cloned, "headers", {
27
- value: Object.freeze(headers),
28
- writable: false,
29
- configurable: true,
30
- });
31
- return cloned;
32
- }
33
- getSecurityContext() {
34
- if (!this.securityContext) {
35
- throw new Error("security context is not set");
36
- }
37
- return this.securityContext;
38
- }
39
- withSecurityContext(securityContext) {
40
- const cloned = this.clone();
41
- cloned.securityContext = securityContext;
42
- return cloned;
43
- }
44
9
  }
45
10
  exports.Query = Query;
46
11
  //# sourceMappingURL=query.js.map
package/dist/query.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"query.js","sourceRoot":"","sources":["../src/query.ts"],"names":[],"mappings":";;;AAAA,wCAAwC;AAExC,MAAa,KAAyB,SAAQ,cAAU;IACpD,MAAM,CAAU,SAAS;QACrB,OAAO,OAAO,CAAC;IACnB,CAAC;IAEO,eAAe,CAAM;IAE7B,YACI,OAAU,EACV,UAAmC,EAAE,EACrC,eAAoB;QAEpB,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QACxB,IAAI,CAAC,eAAe,GAAG,eAAe,CAAC;IAC3C,CAAC;IAEe,UAAU,CAAC,KAAa,EAAE,KAAc;QACpD,MAAM,UAAU,GAAG,EAAE,GAAG,IAAI,CAAC,UAAU,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,CAAC;QAC5D,OAAO,IAAI,CAAC,gBAAgB,CAAC,UAAU,CAAC,CAAC;IAC7C,CAAC;IAES,KAAK;QACX,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC;QAC1D,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;QAC5B,OAAO,MAAM,CAAC;IAClB,CAAC;IAES,gBAAgB,CAAC,OAAgC;QACvD,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC;QAC5B,kDAAkD;QAClD,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,SAAS,EAAE;YACrC,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC;YAC7B,QAAQ,EAAE,KAAK;YACf,YAAY,EAAE,IAAI;SACrB,CAAC,CAAC;QACH,OAAO,MAAM,CAAC;IAClB,CAAC;IAEM,kBAAkB;QACrB,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC;YACxB,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAC;QACnD,CAAC;QAED,OAAO,IAAI,CAAC,eAAgB,CAAC;IACjC,CAAC;IAEM,mBAAmB,CAAC,eAAmB;QAC1C,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC;QAC5B,MAAM,CAAC,eAAe,GAAG,eAAe,CAAC;QACzC,OAAO,MAAM,CAAC;IAClB,CAAC;CACJ;AAnDD,sBAmDC"}
1
+ {"version":3,"file":"query.js","sourceRoot":"","sources":["../src/query.ts"],"names":[],"mappings":";;;AAAA,2DAAsD;AAEtD,MAAa,KAIX,SAAQ,mCAA4C;IAClD,MAAM,CAAU,SAAS;QACrB,OAAO,OAAO,CAAC;IACnB,CAAC;CACJ;AARD,sBAQC"}
package/dist/request.d.ts CHANGED
@@ -1,3 +1,4 @@
1
+ export * from "./message-with-auth";
1
2
  export * from "./command";
2
3
  export * from "./query";
3
4
  //# sourceMappingURL=request.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"request.d.ts","sourceRoot":"","sources":["../src/request.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAC;AAC1B,cAAc,SAAS,CAAC"}
1
+ {"version":3,"file":"request.d.ts","sourceRoot":"","sources":["../src/request.ts"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAC;AACpC,cAAc,WAAW,CAAC;AAC1B,cAAc,SAAS,CAAC"}
package/dist/request.js CHANGED
@@ -14,6 +14,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
14
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./message-with-auth"), exports);
17
18
  __exportStar(require("./command"), exports);
18
19
  __exportStar(require("./query"), exports);
19
20
  //# sourceMappingURL=request.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"request.js","sourceRoot":"","sources":["../src/request.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,4CAA0B;AAC1B,0CAAwB"}
1
+ {"version":3,"file":"request.js","sourceRoot":"","sources":["../src/request.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,sDAAoC;AACpC,4CAA0B;AAC1B,0CAAwB"}
@@ -7,8 +7,8 @@ export declare class SimpleCompositeApplication implements Application {
7
7
  private unitOfWork?;
8
8
  constructor(applicationByCommandPrefix: Record<string, Application>, unitOfWork?: UnitOfWork);
9
9
  setUnitOfWork(unitOfWork: UnitOfWork): void;
10
- executeCommand<T = unknown>(command: Command): Promise<Result<T>>;
11
- executeQuery<T = unknown>(query: Query): Promise<Result<T>>;
10
+ executeCommand<C extends Command>(command: C): Promise<Result<C['ResultType']>>;
11
+ executeQuery<Q extends Query>(query: Q): Promise<Result<Q['ResultType']>>;
12
12
  private findAppropriateApplication;
13
13
  handleEvent(event: Message): Promise<Result<EventHandlingResult>>;
14
14
  }
@@ -1 +1 @@
1
- {"version":3,"file":"simple-composite-application.d.ts","sourceRoot":"","sources":["../src/simple-composite-application.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AACpD,OAAO,EACH,WAAW,EAEX,mBAAmB,EACnB,MAAM,EAET,MAAM,eAAe,CAAC;AAEvB,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAEhC,qBAAa,0BAA2B,YAAW,WAAW;IAItD,OAAO,CAAC,0BAA0B;IAHtC,OAAO,CAAC,UAAU,CAAC,CAAa;gBAGpB,0BAA0B,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,EAC/D,UAAU,CAAC,EAAE,UAAU;IAK3B,aAAa,CAAC,UAAU,EAAE,UAAU;IAIvB,cAAc,CAAC,CAAC,GAAG,OAAO,EACnC,OAAO,EAAE,OAAO,GACjB,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IAcR,YAAY,CAAC,CAAC,GAAG,OAAO,EAAE,KAAK,EAAE,KAAK,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IAUxE,OAAO,CAAC,0BAA0B;IAWrB,WAAW,CACpB,KAAK,EAAE,OAAO,GACf,OAAO,CAAC,MAAM,CAAC,mBAAmB,CAAC,CAAC;CAyB1C"}
1
+ {"version":3,"file":"simple-composite-application.d.ts","sourceRoot":"","sources":["../src/simple-composite-application.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AACpD,OAAO,EACH,WAAW,EAEX,mBAAmB,EACnB,MAAM,EAET,MAAM,eAAe,CAAC;AAEvB,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAEhC,qBAAa,0BAA2B,YAAW,WAAW;IAItD,OAAO,CAAC,0BAA0B;IAHtC,OAAO,CAAC,UAAU,CAAC,CAAa;gBAGpB,0BAA0B,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,EAC/D,UAAU,CAAC,EAAE,UAAU;IAK3B,aAAa,CAAC,UAAU,EAAE,UAAU;IAIvB,cAAc,CAAC,CAAC,SAAS,OAAO,EACzC,OAAO,EAAE,CAAC,GACX,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC;IActB,YAAY,CAAC,CAAC,SAAS,KAAK,EACrC,KAAK,EAAE,CAAC,GACT,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC;IAUnC,OAAO,CAAC,0BAA0B;IAWrB,WAAW,CACpB,KAAK,EAAE,OAAO,GACf,OAAO,CAAC,MAAM,CAAC,mBAAmB,CAAC,CAAC;CAyB1C"}
@@ -1 +1 @@
1
- {"version":3,"file":"simple-composite-application.js","sourceRoot":"","sources":["../src/simple-composite-application.ts"],"names":[],"mappings":";;;AACA,+CAMuB;AACvB,mCAAkD;AAIlD,MAAa,0BAA0B;IAIvB;IAHJ,UAAU,CAAc;IAEhC,YACY,0BAAuD,EAC/D,UAAuB;QADf,+BAA0B,GAA1B,0BAA0B,CAA6B;QAG/D,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;IACjC,CAAC;IAED,aAAa,CAAC,UAAsB;QAChC,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;IACjC,CAAC;IAEM,KAAK,CAAC,cAAc,CACvB,OAAgB;QAEhB,MAAM,OAAO,GAAG,IAAI,CAAC,0BAA0B,CAC3C,OAAO,CAAC,cAAc,EAAE,CAC3B,CAAC;QAEF,IAAI,OAAO,EAAE,CAAC;YACV,OAAO,OAAO,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;QAC3C,CAAC;QAED,OAAO,IAAI,yBAAW,CAClB,+BAAuB,CAAC,eAAe,CAAC,OAAO,CAAC,CACnD,CAAC;IACN,CAAC;IAEM,KAAK,CAAC,YAAY,CAAc,KAAY;QAC/C,MAAM,OAAO,GAAG,IAAI,CAAC,0BAA0B,CAAC,KAAK,CAAC,cAAc,EAAE,CAAC,CAAC;QAExE,IAAI,OAAO,EAAE,CAAC;YACV,OAAO,OAAO,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;QACvC,CAAC;QAED,OAAO,IAAI,yBAAW,CAAC,+BAAuB,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC,CAAC;IAC3E,CAAC;IAEO,0BAA0B,CAC9B,WAAmB;QAEnB,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC;QAC9D,KAAK,MAAM,MAAM,IAAI,QAAQ,EAAE,CAAC;YAC5B,IAAI,WAAW,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;gBACjC,OAAO,IAAI,CAAC,0BAA0B,CAAC,MAAM,CAAC,CAAC;YACnD,CAAC;QACL,CAAC;IACL,CAAC;IAEM,KAAK,CAAC,WAAW,CACpB,KAAc;QAEd,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;YACnB,MAAM,IAAI,KAAK,CACX,qFAAqF,CACxF,CAAC;QACN,CAAC;QAED,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC;QAC5D,MAAM,YAAY,GAAG,KAAK,EAAE,GAAgB,EAAE,EAAE;YAC5C,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;YAC5C,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;gBACjB,MAAM,MAAM,CAAC;YACjB,CAAC;QACL,CAAC,CAAC;QAEF,OAAO,MAAM,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE;YACzC,IAAI,CAAC;gBACD,MAAM,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;YAC5D,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACT,OAAO,CAAgB,CAAC;YAC5B,CAAC;YAED,OAAO,IAAI,2BAAa,CAAC,IAAI,CAAC,CAAC;QACnC,CAAC,CAAC,CAAC;IACP,CAAC;CACJ;AA9ED,gEA8EC"}
1
+ {"version":3,"file":"simple-composite-application.js","sourceRoot":"","sources":["../src/simple-composite-application.ts"],"names":[],"mappings":";;;AACA,+CAMuB;AACvB,mCAAkD;AAIlD,MAAa,0BAA0B;IAIvB;IAHJ,UAAU,CAAc;IAEhC,YACY,0BAAuD,EAC/D,UAAuB;QADf,+BAA0B,GAA1B,0BAA0B,CAA6B;QAG/D,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;IACjC,CAAC;IAED,aAAa,CAAC,UAAsB;QAChC,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;IACjC,CAAC;IAEM,KAAK,CAAC,cAAc,CACvB,OAAU;QAEV,MAAM,OAAO,GAAG,IAAI,CAAC,0BAA0B,CAC3C,OAAO,CAAC,cAAc,EAAE,CAC3B,CAAC;QAEF,IAAI,OAAO,EAAE,CAAC;YACV,OAAO,OAAO,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;QAC3C,CAAC;QAED,OAAO,IAAI,yBAAW,CAClB,+BAAuB,CAAC,eAAe,CAAC,OAAO,CAAC,CACnD,CAAC;IACN,CAAC;IAEM,KAAK,CAAC,YAAY,CACrB,KAAQ;QAER,MAAM,OAAO,GAAG,IAAI,CAAC,0BAA0B,CAAC,KAAK,CAAC,cAAc,EAAE,CAAC,CAAC;QAExE,IAAI,OAAO,EAAE,CAAC;YACV,OAAO,OAAO,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;QACvC,CAAC;QAED,OAAO,IAAI,yBAAW,CAAC,+BAAuB,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC,CAAC;IAC3E,CAAC;IAEO,0BAA0B,CAC9B,WAAmB;QAEnB,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC;QAC9D,KAAK,MAAM,MAAM,IAAI,QAAQ,EAAE,CAAC;YAC5B,IAAI,WAAW,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;gBACjC,OAAO,IAAI,CAAC,0BAA0B,CAAC,MAAM,CAAC,CAAC;YACnD,CAAC;QACL,CAAC;IACL,CAAC;IAEM,KAAK,CAAC,WAAW,CACpB,KAAc;QAEd,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;YACnB,MAAM,IAAI,KAAK,CACX,qFAAqF,CACxF,CAAC;QACN,CAAC;QAED,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC;QAC5D,MAAM,YAAY,GAAG,KAAK,EAAE,GAAgB,EAAE,EAAE;YAC5C,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;YAC5C,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;gBACjB,MAAM,MAAM,CAAC;YACjB,CAAC;QACL,CAAC,CAAC;QAEF,OAAO,MAAM,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE;YACzC,IAAI,CAAC;gBACD,MAAM,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;YAC5D,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACT,OAAO,CAAgB,CAAC;YAC5B,CAAC;YAED,OAAO,IAAI,2BAAa,CAAC,IAAI,CAAC,CAAC;QACnC,CAAC,CAAC,CAAC;IACP,CAAC;CACJ;AAhFD,gEAgFC"}
@@ -2,23 +2,45 @@ export * from "./interceptor-test-helpers";
2
2
  import { Command } from "../../command";
3
3
  import { Query } from "../../query";
4
4
  import { Message } from "@hexaijs/core";
5
- export declare class DummyCommand extends Command<null, {
5
+ interface DummySecurityContext {
6
6
  role: string;
7
- }> {
8
- constructor(sc?: {
9
- role: string;
10
- });
7
+ }
8
+ export declare class DummyCommand extends Command<null, void, DummySecurityContext> {
9
+ constructor(sc?: DummySecurityContext);
11
10
  }
12
11
  export declare class DummyQuery extends Query<{
13
12
  id: string;
14
13
  }, {
15
- role: string;
16
- }> {
17
- constructor(id?: string, sc?: {
18
- role: string;
19
- });
14
+ name: string;
15
+ }, DummySecurityContext> {
16
+ constructor(id?: string, sc?: DummySecurityContext);
20
17
  }
21
18
  export declare class DummyEvent extends Message<null> {
22
19
  constructor();
23
20
  }
21
+ export declare class TypedCommand extends Command<{
22
+ name: string;
23
+ }, {
24
+ id: string;
25
+ }> {
26
+ constructor(payload: {
27
+ name: string;
28
+ });
29
+ }
30
+ export declare class TypedQuery extends Query<{
31
+ filter: string;
32
+ }, {
33
+ items: string[];
34
+ }> {
35
+ constructor(payload: {
36
+ filter: string;
37
+ });
38
+ }
39
+ export declare class VoidOutputCommand extends Command<{
40
+ data: string;
41
+ }, void> {
42
+ constructor(payload: {
43
+ data: string;
44
+ });
45
+ }
24
46
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/test/fixtures/index.ts"],"names":[],"mappings":"AAAA,cAAc,4BAA4B,CAAC;AAE3C,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAExC,qBAAa,YAAa,SAAQ,OAAO,CAAC,IAAI,EAAE;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC;gBACjD,EAAE,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE;CAGpC;AAED,qBAAa,UAAW,SAAQ,KAAK,CAAC;IAAE,EAAE,EAAE,MAAM,CAAA;CAAE,EAAE;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC;gBACvD,EAAE,GAAE,MAAkB,EAAE,EAAE,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE;CAG5D;AAED,qBAAa,UAAW,SAAQ,OAAO,CAAC,IAAI,CAAC;;CAI5C"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/test/fixtures/index.ts"],"names":[],"mappings":"AAAA,cAAc,4BAA4B,CAAC;AAE3C,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;AAChC,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAExC,UAAU,oBAAoB;IAC1B,IAAI,EAAE,MAAM,CAAC;CAChB;AAED,qBAAa,YAAa,SAAQ,OAAO,CAAC,IAAI,EAAE,IAAI,EAAE,oBAAoB,CAAC;gBAC3D,EAAE,CAAC,EAAE,oBAAoB;CAGxC;AAED,qBAAa,UAAW,SAAQ,KAAK,CACjC;IAAE,EAAE,EAAE,MAAM,CAAA;CAAE,EACd;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,EAChB,oBAAoB,CACvB;gBACe,EAAE,GAAE,MAAkB,EAAE,EAAE,CAAC,EAAE,oBAAoB;CAGhE;AAED,qBAAa,UAAW,SAAQ,OAAO,CAAC,IAAI,CAAC;;CAI5C;AAED,qBAAa,YAAa,SAAQ,OAAO,CAAC;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,EAAE;IAAE,EAAE,EAAE,MAAM,CAAA;CAAE,CAAC;gBAC3D,OAAO,EAAE;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE;CAGxC;AAED,qBAAa,UAAW,SAAQ,KAAK,CAAC;IAAE,MAAM,EAAE,MAAM,CAAA;CAAE,EAAE;IAAE,KAAK,EAAE,MAAM,EAAE,CAAA;CAAE,CAAC;gBAC9D,OAAO,EAAE;QAAE,MAAM,EAAE,MAAM,CAAA;KAAE;CAG1C;AAED,qBAAa,iBAAkB,SAAQ,OAAO,CAAC;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,EAAE,IAAI,CAAC;gBACtD,OAAO,EAAE;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE;CAGxC"}
@@ -14,14 +14,14 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
14
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
- exports.DummyEvent = exports.DummyQuery = exports.DummyCommand = void 0;
17
+ exports.VoidOutputCommand = exports.TypedQuery = exports.TypedCommand = exports.DummyEvent = exports.DummyQuery = exports.DummyCommand = void 0;
18
18
  __exportStar(require("./interceptor-test-helpers"), exports);
19
19
  const command_1 = require("../../command");
20
20
  const query_1 = require("../../query");
21
21
  const core_1 = require("@hexaijs/core");
22
22
  class DummyCommand extends command_1.Command {
23
23
  constructor(sc) {
24
- super(null, sc);
24
+ super(null, {}, sc);
25
25
  }
26
26
  }
27
27
  exports.DummyCommand = DummyCommand;
@@ -37,4 +37,22 @@ class DummyEvent extends core_1.Message {
37
37
  }
38
38
  }
39
39
  exports.DummyEvent = DummyEvent;
40
+ class TypedCommand extends command_1.Command {
41
+ constructor(payload) {
42
+ super(payload);
43
+ }
44
+ }
45
+ exports.TypedCommand = TypedCommand;
46
+ class TypedQuery extends query_1.Query {
47
+ constructor(payload) {
48
+ super(payload);
49
+ }
50
+ }
51
+ exports.TypedQuery = TypedQuery;
52
+ class VoidOutputCommand extends command_1.Command {
53
+ constructor(payload) {
54
+ super(payload);
55
+ }
56
+ }
57
+ exports.VoidOutputCommand = VoidOutputCommand;
40
58
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/test/fixtures/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,6DAA2C;AAE3C,uCAAoC;AACpC,mCAAgC;AAChC,wCAAwC;AAExC,MAAa,YAAa,SAAQ,iBAA+B;IAC7D,YAAY,EAAqB;QAC7B,KAAK,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;IACpB,CAAC;CACJ;AAJD,oCAIC;AAED,MAAa,UAAW,SAAQ,aAAuC;IACnE,YAAY,KAAa,SAAS,EAAE,EAAqB;QACrD,KAAK,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;IAC1B,CAAC;CACJ;AAJD,gCAIC;AAED,MAAa,UAAW,SAAQ,cAAa;IACzC;QACI,KAAK,CAAC,IAAI,CAAC,CAAC;IAChB,CAAC;CACJ;AAJD,gCAIC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/test/fixtures/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,6DAA2C;AAE3C,uCAAoC;AACpC,mCAAgC;AAChC,wCAAwC;AAMxC,MAAa,YAAa,SAAQ,iBAAyC;IACvE,YAAY,EAAyB;QACjC,KAAK,CAAC,IAAI,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;IACxB,CAAC;CACJ;AAJD,oCAIC;AAED,MAAa,UAAW,SAAQ,aAI/B;IACG,YAAY,KAAa,SAAS,EAAE,EAAyB;QACzD,KAAK,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;IAC1B,CAAC;CACJ;AARD,gCAQC;AAED,MAAa,UAAW,SAAQ,cAAa;IACzC;QACI,KAAK,CAAC,IAAI,CAAC,CAAC;IAChB,CAAC;CACJ;AAJD,gCAIC;AAED,MAAa,YAAa,SAAQ,iBAAyC;IACvE,YAAY,OAAyB;QACjC,KAAK,CAAC,OAAO,CAAC,CAAC;IACnB,CAAC;CACJ;AAJD,oCAIC;AAED,MAAa,UAAW,SAAQ,aAA8C;IAC1E,YAAY,OAA2B;QACnC,KAAK,CAAC,OAAO,CAAC,CAAC;IACnB,CAAC;CACJ;AAJD,gCAIC;AAED,MAAa,iBAAkB,SAAQ,iBAA+B;IAClE,YAAY,OAAyB;QACjC,KAAK,CAAC,OAAO,CAAC,CAAC;IACnB,CAAC;CACJ;AAJD,8CAIC"}
package/package.json CHANGED
@@ -3,7 +3,7 @@
3
3
  "publishConfig": {
4
4
  "access": "public"
5
5
  },
6
- "version": "0.1.0",
6
+ "version": "0.2.0",
7
7
  "description": "CQRS Application Framework for Hexagonal Architecture",
8
8
  "license": "MIT",
9
9
  "author": "Sangwoo Hyun <wkdny.hyun@gmail.com>",
@@ -50,12 +50,13 @@
50
50
  "pino": "^9.6.0"
51
51
  },
52
52
  "peerDependencies": {
53
- "@hexaijs/core": "^0.2.0"
53
+ "@hexaijs/core": "^0.3.0"
54
54
  },
55
55
  "devDependencies": {
56
56
  "@types/lodash": "^4.17.20",
57
57
  "@types/node": "^20.0.0",
58
- "pino-pretty": "^13.0.0"
58
+ "pino-pretty": "^13.0.0",
59
+ "@hexaijs/core": "^0.3.0"
59
60
  },
60
61
  "scripts": {
61
62
  "test": "vitest run",