@spine-event-engine/server 2.0.0-snapshot.14 → 2.0.0-snapshot.15

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 (44) hide show
  1. package/README.md +18 -0
  2. package/REFERENCE.md +93 -7
  3. package/dist/entity/entity-transaction.d.ts +46 -42
  4. package/dist/entity/entity-transaction.d.ts.map +1 -1
  5. package/dist/entity/entity-transaction.js +130 -35
  6. package/dist/entity/entity-transaction.js.map +1 -1
  7. package/dist/entity/entity.d.ts +132 -84
  8. package/dist/entity/entity.d.ts.map +1 -1
  9. package/dist/entity/entity.js +213 -217
  10. package/dist/entity/entity.js.map +1 -1
  11. package/dist/handler/event-registration-readiness.d.ts +13 -56
  12. package/dist/handler/event-registration-readiness.d.ts.map +1 -1
  13. package/dist/handler/event-registration-readiness.js +23 -43
  14. package/dist/handler/event-registration-readiness.js.map +1 -1
  15. package/dist/handler/generated-handler-registry.d.ts +8 -0
  16. package/dist/handler/generated-handler-registry.d.ts.map +1 -1
  17. package/dist/handler/generated-handler-registry.js +165 -3
  18. package/dist/handler/generated-handler-registry.js.map +1 -1
  19. package/dist/handler/handler-decorators.d.ts +70 -33
  20. package/dist/handler/handler-decorators.d.ts.map +1 -1
  21. package/dist/handler/handler-decorators.js +88 -31
  22. package/dist/handler/handler-decorators.js.map +1 -1
  23. package/dist/handler/handler-metadata.d.ts +53 -51
  24. package/dist/handler/handler-metadata.d.ts.map +1 -1
  25. package/dist/handler/handler-metadata.js +214 -42
  26. package/dist/handler/handler-metadata.js.map +1 -1
  27. package/dist/handler/registration-readiness-metadata.d.ts +4 -0
  28. package/dist/handler/registration-readiness-metadata.d.ts.map +1 -1
  29. package/dist/handler/registration-readiness-metadata.js +82 -1
  30. package/dist/handler/registration-readiness-metadata.js.map +1 -1
  31. package/dist/index.d.ts +4 -4
  32. package/dist/index.d.ts.map +1 -1
  33. package/dist/index.js +1 -1
  34. package/dist/index.js.map +1 -1
  35. package/dist/repository/repository.d.ts +137 -20
  36. package/dist/repository/repository.d.ts.map +1 -1
  37. package/dist/repository/repository.js +2589 -282
  38. package/dist/repository/repository.js.map +1 -1
  39. package/dist/runtime/standalone-handler-runtime.d.ts +16 -0
  40. package/dist/runtime/standalone-handler-runtime.d.ts.map +1 -1
  41. package/dist/runtime/standalone-handler-runtime.js +93 -18
  42. package/dist/runtime/standalone-handler-runtime.js.map +1 -1
  43. package/dist/tsconfig.tsbuildinfo +1 -1
  44. package/package.json +12 -12
@@ -69,11 +69,11 @@ export class HandlerMetadataRegistry {
69
69
  #byMessage = new Map();
70
70
  #commandAssignments = new Map();
71
71
  #commandReceptors = new Map();
72
- #eventApplications = new Map();
73
72
  /**
74
73
  * Creates a caller-owned registry and optionally registers metadata.
75
74
  *
76
75
  * @param entityHandlers Entity metadata to register in iteration order.
76
+ * @typeParam Metadata Type parameter for this declaration.
77
77
  */
78
78
  constructor(entityHandlers = []) {
79
79
  for (const metadata of entityHandlers) {
@@ -83,13 +83,13 @@ export class HandlerMetadataRegistry {
83
83
  /**
84
84
  * Registers one entity handler metadata object.
85
85
  *
86
+ * @typeParam Metadata Concrete Entity handler metadata type.
86
87
  * @param metadata Entity handler metadata to register.
87
88
  * @returns The registered metadata unchanged.
88
89
  */
89
90
  register(metadata) {
90
91
  const entries = metadata.handlers.map((handler) => this.#entry(metadata, handler));
91
92
  const commandReceptors = new Map();
92
- const eventApplications = new Map();
93
93
  for (const entry of entries) {
94
94
  if (entry.handler.kind === "command-assignment" ||
95
95
  entry.handler.kind === "command-substitution") {
@@ -98,12 +98,6 @@ export class HandlerMetadataRegistry {
98
98
  commandReceptors.get(entry.handler.messageFullTypeName));
99
99
  commandReceptors.set(entry.handler.messageFullTypeName, commandEntry);
100
100
  }
101
- if (entry.handler.kind === "event-application") {
102
- const eventEntry = entry;
103
- const key = this.#applicationKey(entry.entity.fullTypeName, entry.handler.messageFullTypeName);
104
- this.#validateApplication(eventEntry, this.#eventApplications.get(key) ?? eventApplications.get(key));
105
- eventApplications.set(key, eventEntry);
106
- }
107
101
  }
108
102
  this.#entityHandlers.push(metadata);
109
103
  this.#push(this.#byEntityState, metadata.entity.fullTypeName, metadata);
@@ -118,9 +112,6 @@ export class HandlerMetadataRegistry {
118
112
  this.#commandAssignments.set(messageFullTypeName, entry);
119
113
  }
120
114
  }
121
- for (const [key, entry] of eventApplications) {
122
- this.#eventApplications.set(key, entry);
123
- }
124
115
  return metadata;
125
116
  }
126
117
  /**
@@ -151,6 +142,7 @@ export class HandlerMetadataRegistry {
151
142
  /**
152
143
  * Finds handler entries by handler role.
153
144
  *
145
+ * @typeParam Kind Handler role being selected.
154
146
  * @param kind Handler role.
155
147
  * @returns Matching entries in registration and declaration order.
156
148
  */
@@ -186,16 +178,6 @@ export class HandlerMetadataRegistry {
186
178
  findCommandReceptor(commandTypeName) {
187
179
  return this.#commandReceptors.get(commandTypeName);
188
180
  }
189
- /**
190
- * Finds the unique event applier for a state and event type.
191
- *
192
- * @param stateTypeName Fully qualified entity state type name.
193
- * @param eventTypeName Fully qualified event type name.
194
- * @returns The applier when registered.
195
- */
196
- findEventApplication(stateTypeName, eventTypeName) {
197
- return this.#eventApplications.get(this.#applicationKey(stateTypeName, eventTypeName));
198
- }
199
181
  #entry(entityHandlers, handler) {
200
182
  return Object.freeze({
201
183
  entityHandlers,
@@ -211,16 +193,15 @@ export class HandlerMetadataRegistry {
211
193
  `"${duplicate.entity.fullTypeName}".`);
212
194
  }
213
195
  }
214
- #validateApplication(entry, duplicate) {
215
- if (duplicate !== undefined) {
216
- throw new HandlerMetadataRegistryError("DUPLICATE_EVENT_APPLICATION", `Duplicate event application for entity "${entry.entity.fullTypeName}" and event ` +
217
- `"${entry.handler.messageFullTypeName}"; already declared by method ` +
218
- `"${duplicate.handler.methodName}".`);
219
- }
220
- }
221
- #applicationKey(stateTypeName, eventTypeName) {
222
- return `${stateTypeName}\u0000${eventTypeName}`;
223
- }
196
+ /**
197
+ * Adds one value to a grouped lookup map.
198
+ *
199
+ * @typeParam Key Lookup key type.
200
+ * @typeParam Value Stored value type.
201
+ * @param map Grouped lookup map.
202
+ * @param key Key selecting the group.
203
+ * @param value Value to add.
204
+ */
224
205
  #push(map, key, value) {
225
206
  const values = map.get(key);
226
207
  if (values === undefined) {
@@ -244,6 +225,8 @@ class EntityHandlersOwner {
244
225
  * @param stateSchema Generated schema for the entity state.
245
226
  * @param define Callback that registers handlers with the builder.
246
227
  * @returns Frozen metadata for the entity class.
228
+ * @typeParam Instance Entity receiver type.
229
+ * @typeParam StateSchema Generated message schema type.
247
230
  */
248
231
  define(entityType, stateSchema, define) {
249
232
  return this.#define(entityType, stateSchema, define, []);
@@ -284,6 +267,8 @@ class EntityHandlersOwner {
284
267
  * @param source Source handler metadata.
285
268
  * @param target Cloned target handler metadata.
286
269
  * @internal
270
+ * @typeParam Instance Entity receiver type.
271
+ * @typeParam StateSchema Generated message schema type.
287
272
  */
288
273
  copyOutcomes(source, target) {
289
274
  const outcomes = this.#outcomes.get(source);
@@ -300,10 +285,23 @@ class EntityHandlersOwner {
300
285
  * @param arities Generated arity metadata.
301
286
  * @returns Frozen metadata for the entity class.
302
287
  * @internal
288
+ * @typeParam Instance Entity receiver type.
289
+ * @typeParam StateSchema Generated message schema type.
303
290
  */
304
291
  defineArity(entityType, stateSchema, define, arities) {
305
292
  return this.#define(entityType, stateSchema, define, arities);
306
293
  }
294
+ /**
295
+ * Registers declared handlers, validates receiver restrictions, and freezes grouped metadata.
296
+ *
297
+ * @typeParam Instance Entity instance type.
298
+ * @typeParam StateSchema Generated Entity state schema type.
299
+ * @param entityType Entity constructor whose methods are registered.
300
+ * @param stateSchema Generated Entity state schema.
301
+ * @param define Callback declaring handlers through the guarded builder.
302
+ * @param arities Generated parameter counts, origins, and outcomes.
303
+ * @returns Frozen handler metadata grouped by handler kind.
304
+ */
307
305
  #define(entityType, stateSchema, define, arities) {
308
306
  const built = new WeakSet();
309
307
  const builder = this.#builder(entityType, built, this.#arityMap(arities));
@@ -320,28 +318,138 @@ class EntityHandlersOwner {
320
318
  eventSubscriptions: this.#ofKind(handlers, "event-subscription"),
321
319
  stateSubscriptions: this.#ofKind(handlers, "state-subscription"),
322
320
  eventReactions: this.#ofKind(handlers, "event-reaction"),
323
- eventApplications: this.#ofKind(handlers, "event-application"),
324
321
  };
325
322
  this.#authentic.add(metadata);
326
323
  return Object.freeze(metadata);
327
324
  }
325
+ /**
326
+ * Builds a guarded builder for Command, Event, and subscription registrations.
327
+ *
328
+ * @typeParam Instance Entity instance type.
329
+ * @param entityType Entity constructor checked for declared methods.
330
+ * @param built Set tracking metadata created by this builder.
331
+ * @param arities Generated method metadata indexed by kind and method name.
332
+ * @returns Frozen registration builder for supported handler kinds.
333
+ */
328
334
  #builder(entityType, built, arities) {
329
335
  return Object.freeze({
336
+ ...this.#commandBuilder(entityType, built, arities),
337
+ ...this.#eventBuilder(entityType, built, arities),
338
+ });
339
+ }
340
+ /**
341
+ * Builds generated Command receptor registrations.
342
+ *
343
+ * @typeParam Instance Entity receiver type.
344
+ * @param entityType Entity constructor.
345
+ * @param built Set of accepted handler metadata.
346
+ * @param arities Generated method arity metadata.
347
+ * @returns Command assignment and substitution registrations.
348
+ */
349
+ #commandBuilder(entityType, built, arities) {
350
+ return {
351
+ /**
352
+ * Builds command assignment metadata.
353
+ *
354
+ * @typeParam Schema Command input schema type.
355
+ * @param schema Command input schema.
356
+ * @param methodName Entity method name.
357
+ * @returns Assignment metadata.
358
+ */
330
359
  assign: (schema, methodName) => this.#handler(entityType, "command-assignment", schema, methodName, built, arities),
360
+ /**
361
+ * Builds command substitution metadata.
362
+ *
363
+ * @typeParam Schema Command input schema type.
364
+ * @param schema Command input schema.
365
+ * @param methodName Process Manager method name.
366
+ * @returns Substitution metadata.
367
+ */
331
368
  substitute: (schema, methodName) => this.#handler(entityType, "command-substitution", schema, methodName, built, arities),
369
+ };
370
+ }
371
+ /**
372
+ * Builds generated Event and state receiver registrations.
373
+ *
374
+ * @typeParam Instance Entity receiver type.
375
+ * @param entityType Entity constructor.
376
+ * @param built Set of accepted handler metadata.
377
+ * @param arities Generated method arity metadata.
378
+ * @returns Reaction and subscription registrations.
379
+ */
380
+ #eventBuilder(entityType, built, arities) {
381
+ return {
382
+ ...this.#reactorBuilder(entityType, built, arities),
383
+ ...this.#subscriberBuilder(entityType, built, arities),
384
+ };
385
+ }
386
+ /**
387
+ * Builds generated Event and rejection reaction registrations.
388
+ *
389
+ * @typeParam Instance Entity receiver type.
390
+ * @param entityType Entity constructor.
391
+ * @param built Set of accepted handler metadata.
392
+ * @param arities Generated method arity metadata.
393
+ * @returns Event and Command reaction registrations.
394
+ */
395
+ #reactorBuilder(entityType, built, arities) {
396
+ return {
397
+ /**
398
+ * Builds command reaction metadata.
399
+ *
400
+ * @typeParam Schema Event or rejection input schema type.
401
+ * @param schema Event or rejection input schema.
402
+ * @param methodName Process Manager method name.
403
+ * @returns Command reaction metadata.
404
+ */
332
405
  command: (schema, methodName) => this.#handler(entityType, "command-reaction", schema, methodName, built, arities),
333
- subscribe: (schema, methodName) => this.#handler(entityType, isEntitySchema(schema) ? "state-subscription" : "event-subscription", schema, methodName, built, arities),
406
+ /**
407
+ * Builds event reaction metadata.
408
+ *
409
+ * @typeParam Schema Event input schema type.
410
+ * @param schema Event input schema.
411
+ * @param methodName Entity method name.
412
+ * @returns Event reaction metadata.
413
+ */
334
414
  react: (schema, methodName) => this.#handler(entityType, "event-reaction", schema, methodName, built, arities),
335
- apply: (schema, methodName, options = {}) => {
336
- const handler = Object.freeze({
337
- ...this.#handler(entityType, "event-application", schema, methodName, built),
338
- allowImport: options.allowImport ?? false,
339
- });
340
- built.add(handler);
341
- return handler;
342
- },
343
- });
415
+ };
416
+ }
417
+ /**
418
+ * Builds generated Event and state subscription registrations.
419
+ *
420
+ * @typeParam Instance Entity receiver type.
421
+ * @param entityType Entity constructor.
422
+ * @param built Set of accepted handler metadata.
423
+ * @param arities Generated method arity metadata.
424
+ * @returns Subscription registration.
425
+ */
426
+ #subscriberBuilder(entityType, built, arities) {
427
+ return {
428
+ /**
429
+ * Builds subscription metadata.
430
+ *
431
+ * @typeParam Schema Event or Entity state schema type.
432
+ * @param schema Event or Entity state input schema.
433
+ * @param methodName Entity method name.
434
+ * @returns Subscription metadata.
435
+ */
436
+ subscribe: (schema, methodName) => this.#handler(entityType, isEntitySchema(schema) ? "state-subscription" : "event-subscription", schema, methodName, built, arities),
437
+ };
344
438
  }
439
+ /**
440
+ * Validates a declared method and binds its generated input and outcome metadata.
441
+ *
442
+ * @typeParam Instance Entity instance type.
443
+ * @typeParam Kind Handler role retained in the metadata.
444
+ * @typeParam Schema Generated input message schema type.
445
+ * @param entityType Entity constructor declaring the method.
446
+ * @param kind Role used to find generated method metadata.
447
+ * @param schema Input message schema accepted by the handler.
448
+ * @param methodName Declared instance method name.
449
+ * @param built Set tracking records made by the guarded builder.
450
+ * @param arities Generated parameter counts, origins, filters, and outcomes.
451
+ * @returns Frozen handler registration with generated metadata attached.
452
+ */
345
453
  #handler(entityType, kind, schema, methodName, built, arities = new Map()) {
346
454
  this.#validateMethod(entityType, methodName);
347
455
  const generated = arities.get(this.#arityKey(kind, methodName));
@@ -361,6 +469,12 @@ class EntityHandlersOwner {
361
469
  built.add(handler);
362
470
  return handler;
363
471
  }
472
+ /**
473
+ * Builds an index of generated method metadata by handler kind and method name.
474
+ *
475
+ * @param arities Generated records for declared handler methods.
476
+ * @returns Frozen per-method values indexed by a collision-free key.
477
+ */
364
478
  #arityMap(arities) {
365
479
  const result = new Map();
366
480
  for (const arity of arities) {
@@ -375,21 +489,46 @@ class EntityHandlersOwner {
375
489
  }
376
490
  return result;
377
491
  }
492
+ /**
493
+ * Rejects generated handler arities other than one or two parameters.
494
+ *
495
+ * @param value Generated parameter count to validate.
496
+ * @returns Supported parameter count of one or two.
497
+ */
378
498
  #parameterCount(value) {
379
499
  if (value === 1 || value === 2) {
380
500
  return value;
381
501
  }
382
502
  throw new HandlerMetadataError("INVALID_PARAMETER_COUNT", `Handler metadata declares unsupported parameter count ${String(value)}.`);
383
503
  }
504
+ /**
505
+ * Builds a frozen copy of generated outcome schemas.
506
+ *
507
+ * @param outcomes Outcome schemas to copy.
508
+ * @returns Frozen outcome schemas.
509
+ */
384
510
  static freezeOutcomes(outcomes) {
385
511
  return Object.freeze({
386
512
  returned: Object.freeze([...outcomes.returned]),
387
513
  thrown: Object.freeze([...outcomes.thrown]),
388
514
  });
389
515
  }
516
+ /**
517
+ * Builds a handler key with a NUL delimiter between kind and method name.
518
+ *
519
+ * @param kind Handler role, allowing one method name in distinct roles.
520
+ * @param methodName Entity method name.
521
+ * @returns Collision-free lookup key for generated method metadata.
522
+ */
390
523
  #arityKey(kind, methodName) {
391
524
  return `${kind}\u0000${methodName}`;
392
525
  }
526
+ /**
527
+ * Rejects Assign on Projections and Command handlers outside Process Managers.
528
+ *
529
+ * @param entityType Entity constructor determining supported handler roles.
530
+ * @param handlers Handler declarations to validate.
531
+ */
393
532
  #validateCommandHandlers(entityType, handlers) {
394
533
  if (entityType.prototype instanceof Projection &&
395
534
  handlers.some((handler) => handler.kind === "command-assignment")) {
@@ -400,6 +539,12 @@ class EntityHandlersOwner {
400
539
  throw new HandlerMetadataError("UNSUPPORTED_COMMAND_HANDLER", "Only Process Manager entities support @Command handlers.");
401
540
  }
402
541
  }
542
+ /**
543
+ * Rejects handler records not produced by the current registration builder.
544
+ *
545
+ * @param handlers Declared records to authenticate.
546
+ * @param built Set of records created during this definition call.
547
+ */
403
548
  #validateBuilt(handlers, built) {
404
549
  for (const handler of handlers) {
405
550
  if (!built.has(handler)) {
@@ -407,6 +552,13 @@ class EntityHandlersOwner {
407
552
  }
408
553
  }
409
554
  }
555
+ /**
556
+ * Validates that a normal method is declared directly on the Entity prototype.
557
+ *
558
+ * @typeParam Instance Entity instance type.
559
+ * @param entityType Entity constructor whose prototype is inspected.
560
+ * @param methodName Name that must identify an own prototype data method.
561
+ */
410
562
  #validateMethod(entityType, methodName) {
411
563
  const descriptor = Object.getOwnPropertyDescriptor(entityType.prototype, methodName);
412
564
  if (methodName === "constructor" ||
@@ -416,6 +568,14 @@ class EntityHandlersOwner {
416
568
  "normal class method syntax on the registered entity prototype.");
417
569
  }
418
570
  }
571
+ /**
572
+ * Returns a frozen view of handlers for one role.
573
+ *
574
+ * @typeParam Kind Requested handler role.
575
+ * @param handlers Validated handler declarations.
576
+ * @param kind Role retained in the resulting list.
577
+ * @returns Frozen list of matching handler records.
578
+ */
419
579
  #ofKind(handlers, kind) {
420
580
  return Object.freeze(handlers.filter((handler) => handler.kind === kind));
421
581
  }
@@ -428,8 +588,20 @@ _a = EntityHandlersOwner;
428
588
  export const HandlerMetadataValues = Object.freeze(new EntityHandlersOwner());
429
589
  /**
430
590
  * Defines metadata for explicitly registered entity handlers.
591
+ * @typeParam Instance Entity receiver type.
592
+ * @typeParam StateSchema Generated message schema type.
431
593
  */
432
594
  export const EntityHandlers = Object.freeze({
595
+ /**
596
+ * Builds explicit Entity handler metadata.
597
+ *
598
+ * @typeParam Instance Entity receiver type.
599
+ * @typeParam StateSchema Generated Entity state schema type.
600
+ * @param entityType Entity constructor.
601
+ * @param stateSchema Generated Entity state schema.
602
+ * @param define Callback registering handlers.
603
+ * @returns Frozen Entity handler metadata.
604
+ */
433
605
  define(entityType, stateSchema, define) {
434
606
  return HandlerMetadataValues.define(entityType, stateSchema, define);
435
607
  },
@@ -1 +1 @@
1
- {"version":3,"file":"handler-metadata.js","sourceRoot":"","sources":["../../src/handler/handler-metadata.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"handler-metadata.js","sourceRoot":"","sources":["../../src/handler/handler-metadata.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;;AAGH,OAAO,EAAE,sBAAsB,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AACtF,OAAO,EAAE,cAAc,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAkEjE;;GAEG;AACH,MAAM,OAAO,oBAAqB,SAAQ,KAAK;IAC7C,kBAAkB;IAElB;;OAEG;IACM,IAAI,CAA2B;IAExC;;;;;OAKG;IACH,YAAY,IAA8B,EAAE,OAAe;QACzD,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,sBAAsB,CAAC;QACnC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;IACpD,CAAC;CACF;AA+SD;;GAEG;AACH,MAAM,OAAO,4BAA6B,SAAQ,KAAK;IACrD,kBAAkB;IAElB;;OAEG;IACM,IAAI,CAA2B;IAExC;;;;;OAKG;IACH,YAAY,IAA8B,EAAE,OAAe;QACzD,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,8BAA8B,CAAC;QAC3C,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;IACpD,CAAC;CACF;AAwFD;;GAEG;AACH,MAAM,OAAO,uBAAuB;IACzB,eAAe,GAA6B,EAAE,CAAC;IAE/C,eAAe,GAAgC,EAAE,CAAC;IAElD,cAAc,GAAG,IAAI,GAAG,EAAoC,CAAC;IAE7D,OAAO,GAAG,IAAI,GAAG,EAA4C,CAAC;IAE9D,UAAU,GAAG,IAAI,GAAG,EAAuC,CAAC;IAE5D,mBAAmB,GAAG,IAAI,GAAG,EAGnC,CAAC;IAEK,iBAAiB,GAAG,IAAI,GAAG,EAGjC,CAAC;IAEJ;;;;;OAKG;IACH,YAAY,iBAAmD,EAAE;QAC/D,KAAK,MAAM,QAAQ,IAAI,cAAc,EAAE,CAAC;YACtC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QAC1B,CAAC;IACH,CAAC;IAED;;;;;;OAMG;IACH,QAAQ,CAA0C,QAAkB;QAClE,MAAM,OAAO,GAAG,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC;QACnF,MAAM,gBAAgB,GAAG,IAAI,GAAG,EAK7B,CAAC;QAEJ,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;YAC5B,IACE,KAAK,CAAC,OAAO,CAAC,IAAI,KAAK,oBAAoB;gBAC3C,KAAK,CAAC,OAAO,CAAC,IAAI,KAAK,sBAAsB,EAC7C,CAAC;gBACD,MAAM,YAAY,GAAG,KAEpB,CAAC;gBACF,IAAI,CAAC,mBAAmB,CACtB,YAAY,EACZ,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,mBAAmB,CAAC;oBAC3D,gBAAgB,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,mBAAmB,CAAC,CAC1D,CAAC;gBACF,gBAAgB,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,mBAAmB,EAAE,YAAY,CAAC,CAAC;YACxE,CAAC;QACH,CAAC;QAED,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACpC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,cAAc,EAAE,QAAQ,CAAC,MAAM,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC;QAExE,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;YAC5B,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACjC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;YACpD,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,EAAE,KAAK,CAAC,OAAO,CAAC,mBAAmB,EAAE,KAAK,CAAC,CAAC;QACxE,CAAC;QAED,KAAK,MAAM,CAAC,mBAAmB,EAAE,KAAK,CAAC,IAAI,gBAAgB,EAAE,CAAC;YAC5D,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,mBAAmB,EAAE,KAAK,CAAC,CAAC;YACvD,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,KAAK,oBAAoB,EAAE,CAAC;gBAChD,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAC1B,mBAAmB,EACnB,KAAoE,CACrE,CAAC;YACJ,CAAC;QACH,CAAC;QAED,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED;;;;OAIG;IACH,kBAAkB;QAChB,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC;IAClD,CAAC;IAED;;;;OAIG;IACH,YAAY;QACV,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC;IAClD,CAAC;IAED;;;;;OAKG;IACH,WAAW,CAAC,aAAqB;QAC/B,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;IAC5E,CAAC;IAED;;;;;;OAMG;IACH,kBAAkB,CAChB,IAAU;QAEV,OAAO,MAAM,CAAC,MAAM,CAAC;YACnB,GAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,CAE7B;SACL,CAAC,CAAC;IACL,CAAC;IAED;;;;;OAKG;IACH,aAAa,CAAC,eAAuB;QACnC,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,eAAe,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;IAC1E,CAAC;IAED;;;;;OAKG;IACH,qBAAqB,CACnB,eAAuB;QAEvB,OAAO,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;IACvD,CAAC;IAED;;;;;OAKG;IACH,mBAAmB,CACjB,eAAuB;QAMvB,OAAO,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;IACrD,CAAC;IAED,MAAM,CACJ,cAAsC,EACtC,OAAwB;QAExB,OAAO,MAAM,CAAC,MAAM,CAAC;YACnB,cAAc;YACd,UAAU,EAAE,cAAc,CAAC,UAAU;YACrC,MAAM,EAAE,cAAc,CAAC,MAAM;YAC7B,OAAO;SACR,CAAC,CAAC;IACL,CAAC;IAED,mBAAmB,CACjB,KAEC,EACD,SAIa;QAEb,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;YAC5B,MAAM,IAAI,4BAA4B,CACpC,8BAA8B,EAC9B,qCAAqC,KAAK,CAAC,OAAO,CAAC,mBAAmB,uBAAuB;gBAC3F,IAAI,KAAK,CAAC,MAAM,CAAC,YAAY,gCAAgC;gBAC7D,IAAI,SAAS,CAAC,MAAM,CAAC,YAAY,IAAI,CACxC,CAAC;QACJ,CAAC;IACH,CAAC;IAED;;;;;;;;OAQG;IACH,KAAK,CAAa,GAAsB,EAAE,GAAQ,EAAE,KAAY;QAC9D,MAAM,MAAM,GAAG,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAC5B,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;YACzB,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;QACxB,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACrB,CAAC;IACH,CAAC;CACF;AAwCD;;GAEG;AACH,MAAM,mBAAmB;IACd,UAAU,GAAG,IAAI,OAAO,EAA0B,CAAC;IAEnD,SAAS,GAAG,IAAI,OAAO,EAA0C,CAAC;IAE3E;;;;;;;;;OASG;IACH,MAAM,CACJ,UAAiC,EACjC,WAAwB,EACxB,MAEqF;QAErF,OAAO,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,WAAW,EAAE,MAAM,EAAE,EAAE,CAAC,CAAC;IAC3D,CAAC;IAED;;;;;;OAMG;IACH,WAAW,CAAC,QAAgC;QAC1C,OAAO,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IACvC,CAAC;IAED;;;;;;OAMG;IACH,eAAe,CAAC,OAAwB;QACtC,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,QAAQ,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;IAC3E,CAAC;IAED;;;;;;OAMG;IACH,aAAa,CAAC,OAAwB;QACpC,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,MAAM,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;IACzE,CAAC;IAED;;;;;;;;OAQG;IACH,YAAY,CAAC,MAAuB,EAAE,MAAuB;QAC3D,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QAC5C,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;YAC3B,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,MAAM,EAAE,EAAmB,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC,CAAC;QAC3E,CAAC;IACH,CAAC;IAED;;;;;;;;;;;OAWG;IACH,WAAW,CACT,UAAiC,EACjC,WAAwB,EACxB,MAEqF,EACrF,OAA+B;QAE/B,OAAO,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,WAAW,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;IAChE,CAAC;IAED;;;;;;;;;;OAUG;IACH,OAAO,CACL,UAAiC,EACjC,WAAwB,EACxB,MAEqF,EACrF,OAA+B;QAE/B,MAAM,KAAK,GAAG,IAAI,OAAO,EAAmB,CAAC;QAC7C,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,UAAU,EAAE,KAAK,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC;QAC1E,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QACrD,IAAI,CAAC,wBAAwB,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;QACpD,IAAI,CAAC,cAAc,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;QACrC,MAAM,QAAQ,GAAkD;YAC9D,UAAU;YACV,MAAM,EAAE,sBAAsB,CAAC,WAAW,CAAC;YAC3C,QAAQ;YACR,kBAAkB,EAAE,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,oBAAoB,CAAC;YAChE,oBAAoB,EAAE,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,sBAAsB,CAAC;YACpE,gBAAgB,EAAE,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,kBAAkB,CAAC;YAC5D,kBAAkB,EAAE,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,oBAAoB,CAAC;YAChE,kBAAkB,EAAE,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,oBAAoB,CAAC;YAChE,cAAc,EAAE,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,gBAAgB,CAAC;SACzD,CAAC;QACF,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAC9B,OAAO,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IACjC,CAAC;IAED;;;;;;;;OAQG;IACH,QAAQ,CACN,UAAiC,EACjC,KAA+B,EAC/B,OAAkD;QAElD,OAAO,MAAM,CAAC,MAAM,CAAC;YACnB,GAAG,IAAI,CAAC,eAAe,CAAC,UAAU,EAAE,KAAK,EAAE,OAAO,CAAC;YACnD,GAAG,IAAI,CAAC,aAAa,CAAC,UAAU,EAAE,KAAK,EAAE,OAAO,CAAC;SAClD,CAAC,CAAC;IACL,CAAC;IAED;;;;;;;;OAQG;IACH,eAAe,CACb,UAAiC,EACjC,KAA+B,EAC/B,OAAkD;QAElD,OAAO;YACL;;;;;;;eAOG;YACH,MAAM,EAAE,CACN,MAAc,EACd,UAAuC,EACvC,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,EAAE,oBAAoB,EAAE,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,OAAO,CAAC;YAExF;;;;;;;eAOG;YACH,UAAU,EAAE,CACV,MAAc,EACd,UAAuC,EACvC,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,EAAE,sBAAsB,EAAE,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,OAAO,CAAC;SAC3F,CAAC;IACJ,CAAC;IAED;;;;;;;;OAQG;IACH,aAAa,CACX,UAAiC,EACjC,KAA+B,EAC/B,OAAkD;QAElD,OAAO;YACL,GAAG,IAAI,CAAC,eAAe,CAAC,UAAU,EAAE,KAAK,EAAE,OAAO,CAAC;YACnD,GAAG,IAAI,CAAC,kBAAkB,CAAC,UAAU,EAAE,KAAK,EAAE,OAAO,CAAC;SACvD,CAAC;IACJ,CAAC;IAED;;;;;;;;OAQG;IACH,eAAe,CACb,UAAiC,EACjC,KAA+B,EAC/B,OAAkD;QAElD,OAAO;YACL;;;;;;;eAOG;YACH,OAAO,EAAE,CACP,MAAc,EACd,UAAuC,EACvC,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,EAAE,kBAAkB,EAAE,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,OAAO,CAAC;YAEtF;;;;;;;eAOG;YACH,KAAK,EAAE,CACL,MAAc,EACd,UAAuC,EACvC,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,EAAE,gBAAgB,EAAE,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,OAAO,CAAC;SACrF,CAAC;IACJ,CAAC;IAED;;;;;;;;OAQG;IACH,kBAAkB,CAChB,UAAiC,EACjC,KAA+B,EAC/B,OAAkD;QAElD,OAAO;YACL;;;;;;;eAOG;YACH,SAAS,EAAE,CACT,MAAc,EACd,UAAuC,EACvC,EAAE,CACF,IAAI,CAAC,QAAQ,CACX,UAAU,EACV,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,oBAAoB,EACpE,MAAM,EACN,UAAU,EACV,KAAK,EACL,OAAO,CACR;SACJ,CAAC;IACJ,CAAC;IAED;;;;;;;;;;;;;OAaG;IACH,QAAQ,CAKN,UAAiC,EACjC,IAAU,EACV,MAAc,EACd,UAAuC,EACvC,KAA+B,EAC/B,UAAqD,IAAI,GAAG,EAAE;QAE9D,IAAI,CAAC,eAAe,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;QAC7C,MAAM,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC;QAChE,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC;YAC5B,IAAI;YACJ,MAAM;YACN,UAAU,EAAE,MAAM;YAClB,mBAAmB,EAAE,MAAM,CAAC,QAAQ;YACpC,UAAU;YACV,cAAc,EAAE,SAAS,EAAE,cAAc,IAAI,CAAC;YAC9C,MAAM,EAAE,SAAS,EAAE,MAAM,IAAI,UAAU;YACvC,GAAG,CAAC,SAAS,EAAE,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,GAAG,SAAS,CAAC,KAAK,EAAE,CAAC,EAAE,CAAC;SAC5F,CAAC,CAAC;QACH,IAAI,SAAS,EAAE,QAAQ,KAAK,SAAS,EAAE,CAAC;YACtC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,OAA0B,EAAE,SAAS,CAAC,QAAQ,CAAC,CAAC;QACrE,CAAC;QACD,KAAK,CAAC,GAAG,CAAC,OAA0B,CAAC,CAAC;QACtC,OAAO,OAAO,CAAC;IACjB,CAAC;IAED;;;;;OAKG;IACH,SAAS,CAAC,OAA+B;QACvC,MAAM,MAAM,GAAG,IAAI,GAAG,EAAgC,CAAC;QACvD,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;YAC5B,MAAM,CAAC,GAAG,CACR,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,UAAU,CAAC,EAC5C,MAAM,CAAC,MAAM,CAAC;gBACZ,cAAc,EAAE,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,cAAc,CAAC;gBAC1D,MAAM,EAAE,KAAK,CAAC,MAAM,IAAI,UAAU;gBAClC,GAAG,CAAC,KAAK,CAAC,QAAQ,KAAK,SAAS;oBAC9B,CAAC,CAAC,EAAE;oBACJ,CAAC,CAAC,EAAE,QAAQ,EAAE,EAAmB,CAAC,cAAc,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC;gBACrE,GAAG,CAAC,KAAK,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,GAAG,KAAK,CAAC,KAAK,EAAE,CAAC,EAAE,CAAC;aACnF,CAAC,CACH,CAAC;QACJ,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED;;;;;OAKG;IACH,eAAe,CAAC,KAAc;QAC5B,IAAI,KAAK,KAAK,CAAC,IAAI,KAAK,KAAK,CAAC,EAAE,CAAC;YAC/B,OAAO,KAAK,CAAC;QACf,CAAC;QACD,MAAM,IAAI,oBAAoB,CAC5B,yBAAyB,EACzB,yDAAyD,MAAM,CAAC,KAAK,CAAC,GAAG,CAC1E,CAAC;IACJ,CAAC;IAED;;;;;OAKG;IACH,MAAM,CAAC,cAAc,CAAC,QAA+B;QACnD,OAAO,MAAM,CAAC,MAAM,CAAC;YACnB,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAC;YAC/C,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC;SAC5C,CAAC,CAAC;IACL,CAAC;IAED;;;;;;OAMG;IACH,SAAS,CAAC,IAAiB,EAAE,UAAkB;QAC7C,OAAO,GAAG,IAAI,SAAS,UAAU,EAAE,CAAC;IACtC,CAAC;IAED;;;;;OAKG;IACH,wBAAwB,CAAC,UAAuB,EAAE,QAAoC;QACpF,IACE,UAAU,CAAC,SAAS,YAAY,UAAU;YAC1C,QAAQ,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,KAAK,oBAAoB,CAAC,EACjE,CAAC;YACD,MAAM,IAAI,oBAAoB,CAC5B,4BAA4B,EAC5B,kDAAkD,CACnD,CAAC;QACJ,CAAC;QACD,IACE,QAAQ,CAAC,IAAI,CACX,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,KAAK,sBAAsB,IAAI,OAAO,CAAC,IAAI,KAAK,kBAAkB,CAC5F;YACD,CAAC,CAAC,UAAU,CAAC,SAAS,YAAY,cAAc,CAAC,EACjD,CAAC;YACD,MAAM,IAAI,oBAAoB,CAC5B,6BAA6B,EAC7B,0DAA0D,CAC3D,CAAC;QACJ,CAAC;IACH,CAAC;IAED;;;;;OAKG;IACH,cAAc,CAAC,QAAoC,EAAE,KAA+B;QAClF,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;YAC/B,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;gBACxB,MAAM,IAAI,oBAAoB,CAC5B,wBAAwB,EACxB,+DAA+D,CAChE,CAAC;YACJ,CAAC;QACH,CAAC;IACH,CAAC;IAED;;;;;;OAMG;IACH,eAAe,CACb,UAAiC,EACjC,UAAuC;QAEvC,MAAM,UAAU,GAAG,MAAM,CAAC,wBAAwB,CAAC,UAAU,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;QACrF,IACE,UAAU,KAAK,aAAa;YAC5B,UAAU,KAAK,SAAS;YACxB,OAAO,UAAU,CAAC,KAAK,KAAK,UAAU,EACtC,CAAC;YACD,MAAM,IAAI,oBAAoB,CAC5B,wBAAwB,EACxB,mBAAmB,UAAU,uDAAuD;gBAClF,gEAAgE,CACnE,CAAC;QACJ,CAAC;IACH,CAAC;IAED;;;;;;;OAOG;IACH,OAAO,CACL,QAAoC,EACpC,IAAU;QAEV,OAAO,MAAM,CAAC,MAAM,CAClB,QAAQ,CAAC,MAAM,CACb,CAAC,OAAO,EAAgE,EAAE,CACxE,OAAO,CAAC,IAAI,KAAK,IAAI,CACxB,CACF,CAAC;IACJ,CAAC;CACF;;AAED;;;GAGG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAkC,MAAM,CAAC,MAAM,CAC/E,IAAI,mBAAmB,EAAE,CAC1B,CAAC;AA2BF;;;;GAIG;AACH,MAAM,CAAC,MAAM,cAAc,GAAuC,MAAM,CAAC,MAAM,CAAC;IAC9E;;;;;;;;;OASG;IACH,MAAM,CACJ,UAAiC,EACjC,WAAwB,EACxB,MAEqF;QAErF,OAAO,qBAAqB,CAAC,MAAM,CAAC,UAAU,EAAE,WAAW,EAAE,MAAM,CAAC,CAAC;IACvE,CAAC;CACF,CAAC,CAAC"}
@@ -2,6 +2,7 @@ import type { EntityMetadata } from "../entity/entity-metadata.js";
2
2
  import type { EntityClass, EntityHandlersMetadata, HandlerMetadata, RegisteredHandlerMetadata } from "./handler-metadata.js";
3
3
  /**
4
4
  * Frozen fields shared by a readiness entry and its registered handler.
5
+ * @typeParam Handler Handler metadata type.
5
6
  */
6
7
  export interface ReadinessMetadataFields<Handler extends HandlerMetadata> {
7
8
  /**
@@ -43,6 +44,7 @@ declare class ReadinessMetadataOwner {
43
44
  *
44
45
  * @param registeredHandler Registered handler to clone.
45
46
  * @returns Frozen fields with cloned metadata.
47
+ * @typeParam Handler Handler metadata type.
46
48
  */
47
49
  create<Handler extends HandlerMetadata>(registeredHandler: RegisteredHandlerMetadata<Handler>): ReadinessMetadataFields<Handler>;
48
50
  /**
@@ -50,6 +52,7 @@ declare class ReadinessMetadataOwner {
50
52
  *
51
53
  * @param registeredHandler Registered handler to retain.
52
54
  * @returns Frozen fields sharing the registered metadata.
55
+ * @typeParam Handler Handler metadata type.
53
56
  */
54
57
  copy<Handler extends HandlerMetadata>(registeredHandler: RegisteredHandlerMetadata<Handler>): ReadinessMetadataFields<Handler>;
55
58
  /**
@@ -57,6 +60,7 @@ declare class ReadinessMetadataOwner {
57
60
  *
58
61
  * @param map Metadata arrays to copy.
59
62
  * @returns A map containing fresh frozen arrays.
63
+ * @typeParam Value Value stored in each metadata array.
60
64
  */
61
65
  copyMap<Value>(map: ReadonlyMap<string, readonly Value[]>): ReadonlyMap<string, readonly Value[]>;
62
66
  }
@@ -1 +1 @@
1
- {"version":3,"file":"registration-readiness-metadata.d.ts","sourceRoot":"","sources":["../../src/handler/registration-readiness-metadata.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EAGV,cAAc,EACf,MAAM,8BAA8B,CAAC;AACtC,OAAO,KAAK,EACV,WAAW,EACX,sBAAsB,EACtB,eAAe,EACf,yBAAyB,EAC1B,MAAM,uBAAuB,CAAC;AAG/B;;GAEG;AACH,MAAM,WAAW,uBAAuB,CAAC,OAAO,SAAS,eAAe;IAGtE;;OAEG;IACH,QAAQ,CAAC,cAAc,EAAE,sBAAsB,CAAC;IAEhD;;OAEG;IACH,QAAQ,CAAC,UAAU,EAAE,WAAW,CAAC;IAEjC;;OAEG;IACH,QAAQ,CAAC,MAAM,EAAE,cAAc,CAAC;IAEhC;;OAEG;IACH,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAE1B;;OAEG;IACH,QAAQ,CAAC,iBAAiB,EAAE,yBAAyB,CAAC,OAAO,CAAC,CAAC;CAChE;AAED;;GAEG;AACH,cAAM,sBAAsB;;IAG1B;;;;;;OAMG;IACH,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM;IAUrD;;;;;OAKG;IACH,MAAM,CAAC,OAAO,SAAS,eAAe,EACpC,iBAAiB,EAAE,yBAAyB,CAAC,OAAO,CAAC,GACpD,uBAAuB,CAAC,OAAO,CAAC;IAInC;;;;;OAKG;IACH,IAAI,CAAC,OAAO,SAAS,eAAe,EAClC,iBAAiB,EAAE,yBAAyB,CAAC,OAAO,CAAC,GACpD,uBAAuB,CAAC,OAAO,CAAC;IAInC;;;;;OAKG;IACH,OAAO,CAAC,KAAK,EACX,GAAG,EAAE,WAAW,CAAC,MAAM,EAAE,SAAS,KAAK,EAAE,CAAC,GACzC,WAAW,CAAC,MAAM,EAAE,SAAS,KAAK,EAAE,CAAC;CAsLzC;AAED;;GAEG;AACH,eAAO,MAAM,iBAAiB,EAAE,QAAQ,CAAC,sBAAsB,CAE9D,CAAC"}
1
+ {"version":3,"file":"registration-readiness-metadata.d.ts","sourceRoot":"","sources":["../../src/handler/registration-readiness-metadata.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EAGV,cAAc,EACf,MAAM,8BAA8B,CAAC;AACtC,OAAO,KAAK,EACV,WAAW,EACX,sBAAsB,EACtB,eAAe,EACf,yBAAyB,EAC1B,MAAM,uBAAuB,CAAC;AAG/B;;;GAGG;AACH,MAAM,WAAW,uBAAuB,CAAC,OAAO,SAAS,eAAe;IAGtE;;OAEG;IACH,QAAQ,CAAC,cAAc,EAAE,sBAAsB,CAAC;IAEhD;;OAEG;IACH,QAAQ,CAAC,UAAU,EAAE,WAAW,CAAC;IAEjC;;OAEG;IACH,QAAQ,CAAC,MAAM,EAAE,cAAc,CAAC;IAEhC;;OAEG;IACH,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAE1B;;OAEG;IACH,QAAQ,CAAC,iBAAiB,EAAE,yBAAyB,CAAC,OAAO,CAAC,CAAC;CAChE;AAED;;GAEG;AACH,cAAM,sBAAsB;;IAG1B;;;;;;OAMG;IACH,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM;IAUrD;;;;;;OAMG;IACH,MAAM,CAAC,OAAO,SAAS,eAAe,EACpC,iBAAiB,EAAE,yBAAyB,CAAC,OAAO,CAAC,GACpD,uBAAuB,CAAC,OAAO,CAAC;IAInC;;;;;;OAMG;IACH,IAAI,CAAC,OAAO,SAAS,eAAe,EAClC,iBAAiB,EAAE,yBAAyB,CAAC,OAAO,CAAC,GACpD,uBAAuB,CAAC,OAAO,CAAC;IAInC;;;;;;OAMG;IACH,OAAO,CAAC,KAAK,EACX,GAAG,EAAE,WAAW,CAAC,MAAM,EAAE,SAAS,KAAK,EAAE,CAAC,GACzC,WAAW,CAAC,MAAM,EAAE,SAAS,KAAK,EAAE,CAAC;CAgQzC;AAED;;GAEG;AACH,eAAO,MAAM,iBAAiB,EAAE,QAAQ,CAAC,sBAAsB,CAE9D,CAAC"}
@@ -38,6 +38,7 @@ class ReadinessMetadataOwner {
38
38
  *
39
39
  * @param registeredHandler Registered handler to clone.
40
40
  * @returns Frozen fields with cloned metadata.
41
+ * @typeParam Handler Handler metadata type.
41
42
  */
42
43
  create(registeredHandler) {
43
44
  return this.#fields(this.#cloneRegistered(registeredHandler));
@@ -47,6 +48,7 @@ class ReadinessMetadataOwner {
47
48
  *
48
49
  * @param registeredHandler Registered handler to retain.
49
50
  * @returns Frozen fields sharing the registered metadata.
51
+ * @typeParam Handler Handler metadata type.
50
52
  */
51
53
  copy(registeredHandler) {
52
54
  return this.#fields(this.#copyRegistered(registeredHandler));
@@ -56,6 +58,7 @@ class ReadinessMetadataOwner {
56
58
  *
57
59
  * @param map Metadata arrays to copy.
58
60
  * @returns A map containing fresh frozen arrays.
61
+ * @typeParam Value Value stored in each metadata array.
59
62
  */
60
63
  copyMap(map) {
61
64
  const copy = new Map();
@@ -64,6 +67,13 @@ class ReadinessMetadataOwner {
64
67
  }
65
68
  return copy;
66
69
  }
70
+ /**
71
+ * Groups one registration with its Entity and handler metadata for readiness checks.
72
+ *
73
+ * @typeParam Handler Registered handler subtype.
74
+ * @param registeredHandler Registration supplying Entity and handler records.
75
+ * @returns Frozen fields used by readiness cloning or copying.
76
+ */
67
77
  #fields(registeredHandler) {
68
78
  return Object.freeze({
69
79
  entityHandlers: registeredHandler.entityHandlers,
@@ -73,6 +83,13 @@ class ReadinessMetadataOwner {
73
83
  registeredHandler,
74
84
  });
75
85
  }
86
+ /**
87
+ * Copies registration, Entity, and handler descriptors while reusing shared clones.
88
+ *
89
+ * @typeParam Handler Registered handler subtype.
90
+ * @param registeredHandler Registration whose mutable descriptors are isolated.
91
+ * @returns Frozen registration referring to cloned metadata.
92
+ */
76
93
  #cloneRegistered(registeredHandler) {
77
94
  const handlers = new Map();
78
95
  const schemas = new WeakMap();
@@ -87,6 +104,13 @@ class ReadinessMetadataOwner {
87
104
  handler,
88
105
  });
89
106
  }
107
+ /**
108
+ * Copies the registration shell without cloning its already immutable metadata.
109
+ *
110
+ * @typeParam Handler Registered handler subtype.
111
+ * @param registeredHandler Registration containing immutable metadata references.
112
+ * @returns Frozen registration with the same nested references.
113
+ */
90
114
  #copyRegistered(registeredHandler) {
91
115
  return Object.freeze({
92
116
  entityHandlers: registeredHandler.entityHandlers,
@@ -95,6 +119,15 @@ class ReadinessMetadataOwner {
95
119
  handler: registeredHandler.handler,
96
120
  });
97
121
  }
122
+ /**
123
+ * Builds every handler-kind list with shared cloned handler identities.
124
+ *
125
+ * @param entityHandlers Original grouped handler metadata.
126
+ * @param clonedHandlers Cache preserving identity across grouped lists.
127
+ * @param clonedSchemas Cache preserving shared descriptor identity.
128
+ * @param entity Cloned Entity metadata reused by the registration.
129
+ * @returns Frozen grouping with cloned handlers and Entity metadata.
130
+ */
98
131
  #cloneEntityHandlers(entityHandlers, clonedHandlers, clonedSchemas, entity) {
99
132
  return Object.freeze({
100
133
  entityType: entityHandlers.entityType,
@@ -106,12 +139,29 @@ class ReadinessMetadataOwner {
106
139
  eventSubscriptions: this.#cloneHandlers(entityHandlers.eventSubscriptions, clonedHandlers, clonedSchemas),
107
140
  stateSubscriptions: this.#cloneHandlers(entityHandlers.stateSubscriptions, clonedHandlers, clonedSchemas),
108
141
  eventReactions: this.#cloneHandlers(entityHandlers.eventReactions, clonedHandlers, clonedSchemas),
109
- eventApplications: this.#cloneHandlers(entityHandlers.eventApplications, clonedHandlers, clonedSchemas),
110
142
  });
111
143
  }
144
+ /**
145
+ * Copies a handler-kind list using the shared registration caches.
146
+ *
147
+ * @typeParam Handler Handler subtype retained in the list.
148
+ * @param handlers Original handler-kind list.
149
+ * @param clonedHandlers Cache for handlers repeated in grouped lists.
150
+ * @param clonedSchemas Cache for descriptors shared by handlers.
151
+ * @returns Frozen list of cloned handler records.
152
+ */
112
153
  #cloneHandlers(handlers, clonedHandlers, clonedSchemas) {
113
154
  return Object.freeze(handlers.map((handler) => this.#cloneHandler(handler, clonedHandlers, clonedSchemas)));
114
155
  }
156
+ /**
157
+ * Copies one handler once and transfers its generated outcome schemas.
158
+ *
159
+ * @typeParam Handler Handler subtype preserved by the clone.
160
+ * @param handler Original handler registration.
161
+ * @param clonedHandlers Cache preventing duplicate clones of one record.
162
+ * @param clonedSchemas Cache for shared input descriptors.
163
+ * @returns Frozen clone with its outcome schemas copied.
164
+ */
115
165
  #cloneHandler(handler, clonedHandlers, clonedSchemas) {
116
166
  const existing = clonedHandlers.get(handler);
117
167
  if (existing !== undefined) {
@@ -126,6 +176,14 @@ class ReadinessMetadataOwner {
126
176
  HandlerMetadataValues.copyOutcomes(handler, clone);
127
177
  return clone;
128
178
  }
179
+ /**
180
+ * Copies Entity descriptors and routing fields while retaining shared identities.
181
+ *
182
+ * @param entity Original Entity schema and field metadata.
183
+ * @param clonedSchemas Cache for repeated schema descriptors.
184
+ * @param clonedFields Cache for fields repeated in routing and column metadata.
185
+ * @returns Frozen Entity metadata with isolated descriptors and fields.
186
+ */
129
187
  #cloneEntity(entity, clonedSchemas, clonedFields) {
130
188
  return Object.freeze({
131
189
  ...entity,
@@ -140,6 +198,14 @@ class ReadinessMetadataOwner {
140
198
  setOnceFields: Object.freeze(entity.setOnceFields.map((field) => this.#cloneField(field, clonedFields))),
141
199
  });
142
200
  }
201
+ /**
202
+ * Copies a schema descriptor once per registration.
203
+ *
204
+ * @typeParam Schema Generated schema descriptor type.
205
+ * @param schema Descriptor to isolate.
206
+ * @param clonedSchemas Cache preserving repeated descriptor identity.
207
+ * @returns Frozen descriptor clone.
208
+ */
143
209
  #cloneSchema(schema, clonedSchemas) {
144
210
  const existing = clonedSchemas.get(schema);
145
211
  if (existing !== undefined) {
@@ -149,6 +215,14 @@ class ReadinessMetadataOwner {
149
215
  clonedSchemas.set(schema, clone);
150
216
  return clone;
151
217
  }
218
+ /**
219
+ * Copies a field descriptor once per registration.
220
+ *
221
+ * @typeParam Field Field descriptor type.
222
+ * @param field Descriptor to isolate.
223
+ * @param clonedFields Cache preserving fields reused across Entity metadata.
224
+ * @returns Frozen field descriptor clone.
225
+ */
152
226
  #cloneField(field, clonedFields) {
153
227
  const existing = clonedFields.get(field);
154
228
  if (existing !== undefined) {
@@ -158,6 +232,13 @@ class ReadinessMetadataOwner {
158
232
  clonedFields.set(field, clone);
159
233
  return clone;
160
234
  }
235
+ /**
236
+ * Copies an object's own descriptors without changing its prototype.
237
+ *
238
+ * @typeParam ObjectType Descriptor object type preserved by the clone.
239
+ * @param value Descriptor whose prototype and own properties are copied.
240
+ * @returns Frozen copy retaining the source prototype.
241
+ */
161
242
  #cloneFrozen(value) {
162
243
  const clone = Object.create(Reflect.getPrototypeOf(value));
163
244
  Object.defineProperties(clone, Object.getOwnPropertyDescriptors(value));