@bgord/bun 1.12.0 → 1.12.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (78) hide show
  1. package/dist/command-bus-collecting.adapter.d.ts +5 -7
  2. package/dist/command-bus-collecting.adapter.d.ts.map +1 -1
  3. package/dist/command-bus-collecting.adapter.js.map +1 -1
  4. package/dist/command-bus-emittery-v1.adapter.d.ts +4 -6
  5. package/dist/command-bus-emittery-v1.adapter.d.ts.map +1 -1
  6. package/dist/command-bus-emittery-v1.adapter.js.map +1 -1
  7. package/dist/command-bus-noop.adapter.d.ts +4 -6
  8. package/dist/command-bus-noop.adapter.d.ts.map +1 -1
  9. package/dist/command-bus-noop.adapter.js.map +1 -1
  10. package/dist/command-bus-with-logger.adapter.d.ts +5 -7
  11. package/dist/command-bus-with-logger.adapter.d.ts.map +1 -1
  12. package/dist/command-bus-with-logger.adapter.js.map +1 -1
  13. package/dist/command-bus.port.d.ts +4 -6
  14. package/dist/command-bus.port.d.ts.map +1 -1
  15. package/dist/dispatching-event-store.js.map +1 -1
  16. package/dist/event-bus-collecting.adapter.d.ts +5 -7
  17. package/dist/event-bus-collecting.adapter.d.ts.map +1 -1
  18. package/dist/event-bus-collecting.adapter.js.map +1 -1
  19. package/dist/event-bus-emittery-v1.adapter.d.ts +4 -6
  20. package/dist/event-bus-emittery-v1.adapter.d.ts.map +1 -1
  21. package/dist/event-bus-emittery-v1.adapter.js.map +1 -1
  22. package/dist/event-bus-noop.adapter.d.ts +4 -6
  23. package/dist/event-bus-noop.adapter.d.ts.map +1 -1
  24. package/dist/event-bus-noop.adapter.js.map +1 -1
  25. package/dist/event-bus-with-logger.adapter.d.ts +5 -7
  26. package/dist/event-bus-with-logger.adapter.d.ts.map +1 -1
  27. package/dist/event-bus-with-logger.adapter.js.map +1 -1
  28. package/dist/event-bus.port.d.ts +4 -6
  29. package/dist/event-bus.port.d.ts.map +1 -1
  30. package/dist/event-handler-bare.strategy.d.ts +2 -5
  31. package/dist/event-handler-bare.strategy.d.ts.map +1 -1
  32. package/dist/event-handler-bare.strategy.js.map +1 -1
  33. package/dist/event-handler-noop.strategy.d.ts +2 -5
  34. package/dist/event-handler-noop.strategy.d.ts.map +1 -1
  35. package/dist/event-handler-noop.strategy.js +1 -1
  36. package/dist/event-handler-noop.strategy.js.map +1 -1
  37. package/dist/event-handler-with-logger.strategy.d.ts +2 -5
  38. package/dist/event-handler-with-logger.strategy.d.ts.map +1 -1
  39. package/dist/event-handler-with-logger.strategy.js +2 -2
  40. package/dist/event-handler-with-logger.strategy.js.map +1 -1
  41. package/dist/event-handler.strategy.d.ts +2 -5
  42. package/dist/event-handler.strategy.d.ts.map +1 -1
  43. package/dist/event-store-like.types.d.ts +3 -4
  44. package/dist/event-store-like.types.d.ts.map +1 -1
  45. package/dist/index.d.ts +1 -1
  46. package/dist/index.d.ts.map +1 -1
  47. package/dist/index.js +1 -1
  48. package/dist/index.js.map +1 -1
  49. package/dist/message.types.d.ts +7 -0
  50. package/dist/message.types.d.ts.map +1 -0
  51. package/dist/message.types.js +2 -0
  52. package/dist/message.types.js.map +1 -0
  53. package/dist/tsconfig.tsbuildinfo +1 -1
  54. package/package.json +1 -1
  55. package/readme.md +1 -1
  56. package/src/command-bus-collecting.adapter.ts +11 -8
  57. package/src/command-bus-emittery-v1.adapter.ts +11 -8
  58. package/src/command-bus-noop.adapter.ts +9 -6
  59. package/src/command-bus-with-logger.adapter.ts +10 -7
  60. package/src/command-bus.port.ts +9 -6
  61. package/src/dispatching-event-store.ts +2 -2
  62. package/src/event-bus-collecting.adapter.ts +11 -8
  63. package/src/event-bus-emittery-v1.adapter.ts +11 -8
  64. package/src/event-bus-noop.adapter.ts +9 -6
  65. package/src/event-bus-with-logger.adapter.ts +10 -7
  66. package/src/event-bus.port.ts +9 -6
  67. package/src/event-handler-bare.strategy.ts +3 -4
  68. package/src/event-handler-noop.strategy.ts +3 -4
  69. package/src/event-handler-with-logger.strategy.ts +4 -5
  70. package/src/event-handler.strategy.ts +2 -5
  71. package/src/event-store-like.types.ts +4 -2
  72. package/src/index.ts +1 -1
  73. package/src/message.types.ts +5 -0
  74. package/dist/to-event-map.types.d.ts +0 -6
  75. package/dist/to-event-map.types.d.ts.map +0 -1
  76. package/dist/to-event-map.types.js +0 -2
  77. package/dist/to-event-map.types.js.map +0 -1
  78. package/src/to-event-map.types.ts +0 -3
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@bgord/bun",
3
- "version": "1.12.0",
3
+ "version": "1.12.1",
4
4
  "license": "MIT",
5
5
  "type": "module",
6
6
  "author": "Bartosz Gordon",
package/readme.md CHANGED
@@ -247,6 +247,7 @@ src/
247
247
  ├── markdown-generator.adapter.ts
248
248
  ├── markdown-generator.port.ts
249
249
  ├── memory-consumption.service.ts
250
+ ├── message.types.ts
250
251
  ├── middleware-hono-noop.adapter.ts
251
252
  ├── middleware-hono.port.ts
252
253
  ├── modules
@@ -450,7 +451,6 @@ src/
450
451
  ├── timeout-runner.port.ts
451
452
  ├── timing-hono.middleware.ts
452
453
  ├── timing.middleware.ts
453
- ├── to-event-map.types.ts
454
454
  ├── trailing-slash-hono.middleware.ts
455
455
  ├── trailing-slash.middleware.ts
456
456
  ├── translations-hono.handler.ts
@@ -1,15 +1,18 @@
1
1
  import type { CommandBusPort } from "./command-bus.port";
2
- import type { ToEventMap } from "./to-event-map.types";
2
+ import type { Message, ToMessageMap } from "./message.types";
3
3
 
4
- export class CommandBusCollectingAdapter<C extends { name: string }> implements CommandBusPort<C> {
5
- public commands: Array<C> = [];
4
+ export class CommandBusCollectingAdapter<Command extends Message> implements CommandBusPort<Command> {
5
+ public commands: Array<Command> = [];
6
6
 
7
- async emit<K extends keyof ToEventMap<C>>(_name: K, command: ToEventMap<C>[K]): Promise<void> {
8
- this.commands.push(command as C);
7
+ async emit<CommandName extends keyof ToMessageMap<Command>>(
8
+ _name: CommandName,
9
+ command: ToMessageMap<Command>[CommandName],
10
+ ): Promise<void> {
11
+ this.commands.push(command as Command);
9
12
  }
10
13
 
11
- on<K extends keyof ToEventMap<C>>(
12
- _name: K,
13
- _handler: (command: ToEventMap<C>[K]) => void | Promise<void>,
14
+ on<CommandName extends keyof ToMessageMap<Command>>(
15
+ _name: CommandName,
16
+ _handler: (command: ToMessageMap<Command>[CommandName]) => void | Promise<void>,
14
17
  ): void {}
15
18
  }
@@ -1,21 +1,24 @@
1
1
  import Emittery from "emittery";
2
2
  import type { CommandBusPort } from "./command-bus.port";
3
- import type { ToEventMap } from "./to-event-map.types";
3
+ import type { Message, ToMessageMap } from "./message.types";
4
4
 
5
- export class CommandBusEmitteryV1Adapter<C extends { name: string }> implements CommandBusPort<C> {
6
- private readonly emittery: Emittery<ToEventMap<C>>;
5
+ export class CommandBusEmitteryV1Adapter<Command extends Message> implements CommandBusPort<Command> {
6
+ private readonly emittery: Emittery<ToMessageMap<Command>>;
7
7
 
8
8
  constructor() {
9
- this.emittery = new Emittery<ToEventMap<C>>();
9
+ this.emittery = new Emittery<ToMessageMap<Command>>();
10
10
  }
11
11
 
12
- async emit<K extends keyof ToEventMap<C>>(name: K, command: ToEventMap<C>[K]): Promise<void> {
12
+ async emit<CommandName extends keyof ToMessageMap<Command>>(
13
+ name: CommandName,
14
+ command: ToMessageMap<Command>[CommandName],
15
+ ): Promise<void> {
13
16
  await this.emittery.emit(name, command);
14
17
  }
15
18
 
16
- on<K extends keyof ToEventMap<C>>(
17
- name: K,
18
- handler: (command: ToEventMap<C>[K]) => void | Promise<void>,
19
+ on<CommandName extends keyof ToMessageMap<Command>>(
20
+ name: CommandName,
21
+ handler: (command: ToMessageMap<Command>[CommandName]) => void | Promise<void>,
19
22
  ): void {
20
23
  this.emittery.on(name, handler);
21
24
  }
@@ -1,11 +1,14 @@
1
1
  import type { CommandBusPort } from "./command-bus.port";
2
- import type { ToEventMap } from "./to-event-map.types";
2
+ import type { Message, ToMessageMap } from "./message.types";
3
3
 
4
- export class CommandBusNoopAdapter<C extends { name: string }> implements CommandBusPort<C> {
5
- async emit<K extends keyof ToEventMap<C>>(_name: K, _command: ToEventMap<C>[K]): Promise<void> {}
4
+ export class CommandBusNoopAdapter<Command extends Message> implements CommandBusPort<Command> {
5
+ async emit<CommandName extends keyof ToMessageMap<Command>>(
6
+ _name: CommandName,
7
+ _command: ToMessageMap<Command>[CommandName],
8
+ ): Promise<void> {}
6
9
 
7
- on<K extends keyof ToEventMap<C>>(
8
- _name: K,
9
- _handler: (command: ToEventMap<C>[K]) => void | Promise<void>,
10
+ on<CommandName extends keyof ToMessageMap<Command>>(
11
+ _name: CommandName,
12
+ _handler: (command: ToMessageMap<Command>[CommandName]) => void | Promise<void>,
10
13
  ): void {}
11
14
  }
@@ -1,18 +1,21 @@
1
1
  import type { CommandBusPort } from "./command-bus.port";
2
2
  import type { LogCoreType, LoggerPort } from "./logger.port";
3
- import type { ToEventMap } from "./to-event-map.types";
3
+ import type { Message, ToMessageMap } from "./message.types";
4
4
 
5
5
  type Dependencies = { Logger: LoggerPort };
6
6
 
7
- export class CommandBusWithLoggerAdapter<C extends { name: string }> implements CommandBusPort<C> {
7
+ export class CommandBusWithLoggerAdapter<Command extends Message> implements CommandBusPort<Command> {
8
8
  private readonly base = { component: "infra", operation: "command_emitted" };
9
9
 
10
10
  constructor(
11
- private readonly inner: CommandBusPort<C>,
11
+ private readonly inner: CommandBusPort<Command>,
12
12
  private readonly deps: Dependencies,
13
13
  ) {}
14
14
 
15
- async emit<K extends keyof ToEventMap<C>>(name: K, command: ToEventMap<C>[K]): Promise<void> {
15
+ async emit<CommandName extends keyof ToMessageMap<Command>>(
16
+ name: CommandName,
17
+ command: ToMessageMap<Command>[CommandName],
18
+ ): Promise<void> {
16
19
  this.deps.Logger.info({
17
20
  message: `${name.toString()} emitted`,
18
21
  metadata: command as LogCoreType["metadata"],
@@ -22,9 +25,9 @@ export class CommandBusWithLoggerAdapter<C extends { name: string }> implements
22
25
  return this.inner.emit(name, command);
23
26
  }
24
27
 
25
- on<K extends keyof ToEventMap<C>>(
26
- name: K,
27
- handler: (command: ToEventMap<C>[K]) => void | Promise<void>,
28
+ on<CommandName extends keyof ToMessageMap<Command>>(
29
+ name: CommandName,
30
+ handler: (command: ToMessageMap<Command>[CommandName]) => void | Promise<void>,
28
31
  ): void {
29
32
  this.inner.on(name, handler);
30
33
  }
@@ -1,10 +1,13 @@
1
- import type { ToEventMap } from "./to-event-map.types";
1
+ import type { Message, ToMessageMap } from "./message.types";
2
2
 
3
- export interface CommandBusPort<C extends { name: string }> {
4
- emit<K extends keyof ToEventMap<C>>(name: K, command: ToEventMap<C>[K]): Promise<void>;
3
+ export interface CommandBusPort<Command extends Message> {
4
+ emit<CommandName extends keyof ToMessageMap<Command>>(
5
+ name: CommandName,
6
+ command: ToMessageMap<Command>[CommandName],
7
+ ): Promise<void>;
5
8
 
6
- on<K extends keyof ToEventMap<C>>(
7
- name: K,
8
- handler: (command: ToEventMap<C>[K]) => void | Promise<void>,
9
+ on<CommandName extends keyof ToMessageMap<Command>>(
10
+ name: CommandName,
11
+ handler: (command: ToMessageMap<Command>[CommandName]) => void | Promise<void>,
9
12
  ): void;
10
13
  }
@@ -4,7 +4,7 @@ import type { GenericEventSchema, GenericParsedEventSchema } from "./event.types
4
4
  import type { EventBusPort } from "./event-bus.port";
5
5
  import { EventStore as BaseStore } from "./event-store";
6
6
  import type { EventStreamType } from "./event-stream.vo";
7
- import type { ToEventMap } from "./to-event-map.types";
7
+ import type { ToMessageMap } from "./message.types";
8
8
 
9
9
  export class DispatchingEventStore<AllEvents extends GenericEventSchema> extends BaseStore<AllEvents> {
10
10
  static EMPTY_STREAM_REVISION = -1;
@@ -31,7 +31,7 @@ export class DispatchingEventStore<AllEvents extends GenericEventSchema> extends
31
31
 
32
32
  await Promise.all(
33
33
  events.map((event) =>
34
- this.publisher.emit(event.name as keyof ToEventMap<z.infer<AllEvents>>, event as any),
34
+ this.publisher.emit(event.name as keyof ToMessageMap<z.infer<AllEvents>>, event as any),
35
35
  ),
36
36
  );
37
37
 
@@ -1,15 +1,18 @@
1
1
  import type { EventBusPort } from "./event-bus.port";
2
- import type { ToEventMap } from "./to-event-map.types";
2
+ import type { Message, ToMessageMap } from "./message.types";
3
3
 
4
- export class EventBusCollectingAdapter<E extends { name: string }> implements EventBusPort<E> {
5
- public events: Array<E> = [];
4
+ export class EventBusCollectingAdapter<Event extends Message> implements EventBusPort<Event> {
5
+ public events: Array<Event> = [];
6
6
 
7
- async emit<K extends keyof ToEventMap<E>>(_name: K, event: ToEventMap<E>[K]): Promise<void> {
8
- this.events.push(event as E);
7
+ async emit<EventName extends keyof ToMessageMap<Event>>(
8
+ _name: EventName,
9
+ event: ToMessageMap<Event>[EventName],
10
+ ): Promise<void> {
11
+ this.events.push(event as Event);
9
12
  }
10
13
 
11
- on<K extends keyof ToEventMap<E>>(
12
- _name: K,
13
- _handler: (event: ToEventMap<E>[K]) => void | Promise<void>,
14
+ on<EventName extends keyof ToMessageMap<Event>>(
15
+ _name: EventName,
16
+ _handler: (event: ToMessageMap<Event>[EventName]) => void | Promise<void>,
14
17
  ): void {}
15
18
  }
@@ -1,21 +1,24 @@
1
1
  import Emittery from "emittery";
2
2
  import type { EventBusPort } from "./event-bus.port";
3
- import type { ToEventMap } from "./to-event-map.types";
3
+ import type { Message, ToMessageMap } from "./message.types";
4
4
 
5
- export class EventBusEmitteryV1Adapter<E extends { name: string }> implements EventBusPort<E> {
6
- private readonly emittery: Emittery<ToEventMap<E>>;
5
+ export class EventBusEmitteryV1Adapter<Event extends Message> implements EventBusPort<Event> {
6
+ private readonly emittery: Emittery<ToMessageMap<Event>>;
7
7
 
8
8
  constructor() {
9
- this.emittery = new Emittery<ToEventMap<E>>();
9
+ this.emittery = new Emittery<ToMessageMap<Event>>();
10
10
  }
11
11
 
12
- async emit<K extends keyof ToEventMap<E>>(name: K, event: ToEventMap<E>[K]): Promise<void> {
12
+ async emit<EventName extends keyof ToMessageMap<Event>>(
13
+ name: EventName,
14
+ event: ToMessageMap<Event>[EventName],
15
+ ): Promise<void> {
13
16
  await this.emittery.emit(name, event);
14
17
  }
15
18
 
16
- on<K extends keyof ToEventMap<E>>(
17
- name: K,
18
- handler: (event: ToEventMap<E>[K]) => void | Promise<void>,
19
+ on<EventName extends keyof ToMessageMap<Event>>(
20
+ name: EventName,
21
+ handler: (event: ToMessageMap<Event>[EventName]) => void | Promise<void>,
19
22
  ): void {
20
23
  this.emittery.on(name, handler);
21
24
  }
@@ -1,11 +1,14 @@
1
1
  import type { EventBusPort } from "./event-bus.port";
2
- import type { ToEventMap } from "./to-event-map.types";
2
+ import type { Message, ToMessageMap } from "./message.types";
3
3
 
4
- export class EventBusNoopAdapter<E extends { name: string }> implements EventBusPort<E> {
5
- async emit<K extends keyof ToEventMap<E>>(_name: K, _event: ToEventMap<E>[K]): Promise<void> {}
4
+ export class EventBusNoopAdapter<Event extends Message> implements EventBusPort<Event> {
5
+ async emit<EventName extends keyof ToMessageMap<Event>>(
6
+ _name: EventName,
7
+ _event: ToMessageMap<Event>[EventName],
8
+ ): Promise<void> {}
6
9
 
7
- on<K extends keyof ToEventMap<E>>(
8
- _name: K,
9
- _handler: (event: ToEventMap<E>[K]) => void | Promise<void>,
10
+ on<EventName extends keyof ToMessageMap<Event>>(
11
+ _name: EventName,
12
+ _handler: (event: ToMessageMap<Event>[EventName]) => void | Promise<void>,
10
13
  ): void {}
11
14
  }
@@ -1,18 +1,21 @@
1
1
  import type { EventBusPort } from "./event-bus.port";
2
2
  import type { LogCoreType, LoggerPort } from "./logger.port";
3
- import type { ToEventMap } from "./to-event-map.types";
3
+ import type { Message, ToMessageMap } from "./message.types";
4
4
 
5
5
  type Dependencies = { Logger: LoggerPort };
6
6
 
7
- export class EventBusWithLoggerAdapter<E extends { name: string }> implements EventBusPort<E> {
7
+ export class EventBusWithLoggerAdapter<Event extends Message> implements EventBusPort<Event> {
8
8
  private readonly base = { component: "infra", operation: "event_emitted" };
9
9
 
10
10
  constructor(
11
- private readonly inner: EventBusPort<E>,
11
+ private readonly inner: EventBusPort<Event>,
12
12
  private readonly deps: Dependencies,
13
13
  ) {}
14
14
 
15
- async emit<K extends keyof ToEventMap<E>>(name: K, event: ToEventMap<E>[K]): Promise<void> {
15
+ async emit<EventName extends keyof ToMessageMap<Event>>(
16
+ name: EventName,
17
+ event: ToMessageMap<Event>[EventName],
18
+ ): Promise<void> {
16
19
  this.deps.Logger.info({
17
20
  message: `${name.toString()} emitted`,
18
21
  metadata: event as LogCoreType["metadata"],
@@ -22,9 +25,9 @@ export class EventBusWithLoggerAdapter<E extends { name: string }> implements Ev
22
25
  return this.inner.emit(name, event);
23
26
  }
24
27
 
25
- on<K extends keyof ToEventMap<E>>(
26
- name: K,
27
- handler: (event: ToEventMap<E>[K]) => void | Promise<void>,
28
+ on<EventName extends keyof ToMessageMap<Event>>(
29
+ name: EventName,
30
+ handler: (event: ToMessageMap<Event>[EventName]) => void | Promise<void>,
28
31
  ): void {
29
32
  this.inner.on(name, handler);
30
33
  }
@@ -1,10 +1,13 @@
1
- import type { ToEventMap } from "./to-event-map.types";
1
+ import type { Message, ToMessageMap } from "./message.types";
2
2
 
3
- export interface EventBusPort<E extends { name: string }> {
4
- emit<K extends keyof ToEventMap<E>>(name: K, event: ToEventMap<E>[K]): Promise<void>;
3
+ export interface EventBusPort<Event extends Message> {
4
+ emit<EventName extends keyof ToMessageMap<Event>>(
5
+ name: EventName,
6
+ event: ToMessageMap<Event>[EventName],
7
+ ): Promise<void>;
5
8
 
6
- on<K extends keyof ToEventMap<E>>(
7
- name: K,
8
- handler: (event: ToEventMap<E>[K]) => void | Promise<void>,
9
+ on<EventName extends keyof ToMessageMap<Event>>(
10
+ name: EventName,
11
+ handler: (event: ToMessageMap<Event>[EventName]) => void | Promise<void>,
9
12
  ): void;
10
13
  }
@@ -1,9 +1,8 @@
1
- import type * as z from "zod/v4";
2
- import type { GenericEventSchema } from "./event.types";
3
1
  import type { EventHandlerStrategy } from "./event-handler.strategy";
2
+ import type { Message } from "./message.types";
4
3
 
5
4
  export class EventHandlerBareStrategy implements EventHandlerStrategy {
6
- handle<T extends { name: z.infer<GenericEventSchema["shape"]["name"]> }>(fn: (event: T) => Promise<void>) {
7
- return async (event: T) => fn(event);
5
+ handle<Event extends Message>(fn: (event: Event) => Promise<void>) {
6
+ return async (event: Event) => fn(event);
8
7
  }
9
8
  }
@@ -1,9 +1,8 @@
1
- import type * as z from "zod/v4";
2
- import type { GenericEventSchema } from "./event.types";
3
1
  import type { EventHandlerStrategy } from "./event-handler.strategy";
2
+ import type { Message } from "./message.types";
4
3
 
5
4
  export class EventHandlerNoopStrategy implements EventHandlerStrategy {
6
- handle<T extends { name: z.infer<GenericEventSchema["shape"]["name"]> }>(_fn: (event: T) => Promise<void>) {
7
- return async (_event: T) => {};
5
+ handle<Event extends Message>(_handler: (event: Event) => Promise<void>) {
6
+ return async (_event: Event) => {};
8
7
  }
9
8
  }
@@ -1,8 +1,7 @@
1
- import type * as z from "zod/v4";
2
1
  import type { ClockPort } from "./clock.port";
3
- import type { GenericEventSchema } from "./event.types";
4
2
  import type { EventHandlerStrategy } from "./event-handler.strategy";
5
3
  import type { LoggerPort } from "./logger.port";
4
+ import type { Message } from "./message.types";
6
5
  import { Stopwatch } from "./stopwatch.service";
7
6
 
8
7
  type Dependencies = { Logger: LoggerPort; Clock: ClockPort };
@@ -10,12 +9,12 @@ type Dependencies = { Logger: LoggerPort; Clock: ClockPort };
10
9
  export class EventHandlerWithLoggerStrategy implements EventHandlerStrategy {
11
10
  constructor(private readonly deps: Dependencies) {}
12
11
 
13
- handle<T extends { name: z.infer<GenericEventSchema["shape"]["name"]> }>(fn: (event: T) => Promise<void>) {
14
- return async (event: T) => {
12
+ handle<Event extends Message>(handler: (event: Event) => Promise<void>) {
13
+ return async (event: Event) => {
15
14
  const duration = new Stopwatch(this.deps);
16
15
 
17
16
  try {
18
- await fn(event);
17
+ await handler(event);
19
18
  } catch (error) {
20
19
  this.deps.Logger.error({
21
20
  message: `Unknown ${event.name} event handler error`,
@@ -1,8 +1,5 @@
1
- import type * as z from "zod/v4";
2
- import type { GenericEventSchema } from "./event.types";
1
+ import type { Message } from "./message.types";
3
2
 
4
3
  export interface EventHandlerStrategy {
5
- handle<T extends { name: z.infer<GenericEventSchema["shape"]["name"]> }>(
6
- fn: (event: T) => Promise<void>,
7
- ): (event: T) => Promise<void>;
4
+ handle<Event extends Message>(fn: (event: Event) => Promise<void>): (event: Event) => Promise<void>;
8
5
  }
@@ -1,3 +1,5 @@
1
- export type EventStoreLike<E extends { name: string }> = {
2
- save(events: ReadonlyArray<E>): Promise<unknown>;
1
+ import type { Message } from "./message.types";
2
+
3
+ export type EventStoreLike<Event extends Message> = {
4
+ save(events: ReadonlyArray<Event>): Promise<unknown>;
3
5
  };
package/src/index.ts CHANGED
@@ -216,6 +216,7 @@ export * from "./markdown-generator.adapter";
216
216
  export * from "./markdown-generator.port";
217
217
  export * from "./markdown-generator-noop.adapter";
218
218
  export * from "./memory-consumption.service";
219
+ export * from "./message.types";
219
220
  export * from "./middleware-hono.port";
220
221
  export * from "./middleware-hono-noop.adapter";
221
222
  export * as History from "./modules/history";
@@ -374,7 +375,6 @@ export * from "./timeout-runner-monitor.adapter";
374
375
  export * from "./timeout-runner-noop.adapter";
375
376
  export * from "./timing.middleware";
376
377
  export * from "./timing-hono.middleware";
377
- export * from "./to-event-map.types";
378
378
  export * from "./trailing-slash.middleware";
379
379
  export * from "./trailing-slash.middleware";
380
380
  export * from "./trailing-slash-hono.middleware";
@@ -0,0 +1,5 @@
1
+ export type Message = { name: string };
2
+
3
+ export type ToMessageMap<Definition extends Message> = {
4
+ [M in Definition as M["name"]]: M;
5
+ };
@@ -1,6 +0,0 @@
1
- export type ToEventMap<E extends {
2
- name: string;
3
- }> = {
4
- [Ev in E as Ev["name"]]: Ev;
5
- };
6
- //# sourceMappingURL=to-event-map.types.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"to-event-map.types.d.ts","sourceRoot":"","sources":["../src/to-event-map.types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,UAAU,CAAC,CAAC,SAAS;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,IAAI;KAClD,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,MAAM,CAAC,GAAG,EAAE;CAC5B,CAAC"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=to-event-map.types.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"to-event-map.types.js","sourceRoot":"","sources":["../src/to-event-map.types.ts"],"names":[],"mappings":""}
@@ -1,3 +0,0 @@
1
- export type ToEventMap<E extends { name: string }> = {
2
- [Ev in E as Ev["name"]]: Ev;
3
- };