@venizia/ignis-kernel 0.2.1-1 → 0.2.1-3

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 (97) hide show
  1. package/dist/cjs/base/applications/artifact-index.d.ts.map +1 -1
  2. package/dist/cjs/base/applications/artifact-index.js +28 -31
  3. package/dist/cjs/base/applications/artifact-index.js.map +1 -1
  4. package/dist/cjs/base/applications/common/types/application.d.ts +7 -0
  5. package/dist/cjs/base/applications/common/types/application.d.ts.map +1 -1
  6. package/dist/cjs/base/applications/rest.d.ts.map +1 -1
  7. package/dist/cjs/base/applications/rest.js +34 -4
  8. package/dist/cjs/base/applications/rest.js.map +1 -1
  9. package/dist/cjs/base/controllers/common/constants.d.ts +0 -2
  10. package/dist/cjs/base/controllers/common/constants.d.ts.map +1 -1
  11. package/dist/cjs/base/controllers/common/constants.js +0 -2
  12. package/dist/cjs/base/controllers/common/constants.js.map +1 -1
  13. package/dist/cjs/base/controllers/factory/controller.d.ts +0 -16
  14. package/dist/cjs/base/controllers/factory/controller.d.ts.map +1 -1
  15. package/dist/cjs/base/controllers/factory/controller.js +0 -10
  16. package/dist/cjs/base/controllers/factory/controller.js.map +1 -1
  17. package/dist/cjs/base/controllers/factory/crud/readable.d.ts +1 -21
  18. package/dist/cjs/base/controllers/factory/crud/readable.d.ts.map +1 -1
  19. package/dist/cjs/base/controllers/factory/crud/readable.js +2 -24
  20. package/dist/cjs/base/controllers/factory/crud/readable.js.map +1 -1
  21. package/dist/cjs/base/controllers/factory/definition.d.ts +0 -187
  22. package/dist/cjs/base/controllers/factory/definition.d.ts.map +1 -1
  23. package/dist/cjs/base/controllers/factory/definition.js +0 -33
  24. package/dist/cjs/base/controllers/factory/definition.js.map +1 -1
  25. package/dist/cjs/base/metadata/artifact-keys.d.ts +54 -0
  26. package/dist/cjs/base/metadata/artifact-keys.d.ts.map +1 -0
  27. package/dist/cjs/base/metadata/artifact-keys.js +60 -0
  28. package/dist/cjs/base/metadata/artifact-keys.js.map +1 -0
  29. package/dist/cjs/base/metadata/injectable.d.ts.map +1 -1
  30. package/dist/cjs/base/metadata/injectable.js +5 -3
  31. package/dist/cjs/base/metadata/injectable.js.map +1 -1
  32. package/dist/cjs/base/metadata/persistents.d.ts.map +1 -1
  33. package/dist/cjs/base/metadata/persistents.js +44 -17
  34. package/dist/cjs/base/metadata/persistents.js.map +1 -1
  35. package/dist/cjs/base/repositories/core/abstract.js +2 -2
  36. package/dist/cjs/base/repositories/core/abstract.js.map +1 -1
  37. package/dist/cjs/helpers/inversion/mixins/repository.mixin.d.ts +14 -3
  38. package/dist/cjs/helpers/inversion/mixins/repository.mixin.d.ts.map +1 -1
  39. package/dist/cjs/helpers/inversion/mixins/repository.mixin.js +29 -14
  40. package/dist/cjs/helpers/inversion/mixins/repository.mixin.js.map +1 -1
  41. package/dist/cjs/helpers/inversion/registry.d.ts +7 -1
  42. package/dist/cjs/helpers/inversion/registry.d.ts.map +1 -1
  43. package/dist/cjs/helpers/inversion/registry.js +2 -0
  44. package/dist/cjs/helpers/inversion/registry.js.map +1 -1
  45. package/dist/cjs/metadata.d.ts +1 -0
  46. package/dist/cjs/metadata.d.ts.map +1 -1
  47. package/dist/cjs/metadata.js +3 -1
  48. package/dist/cjs/metadata.js.map +1 -1
  49. package/dist/esm/base/applications/artifact-index.d.ts.map +1 -1
  50. package/dist/esm/base/applications/artifact-index.js +28 -31
  51. package/dist/esm/base/applications/artifact-index.js.map +1 -1
  52. package/dist/esm/base/applications/common/types/application.d.ts +7 -0
  53. package/dist/esm/base/applications/common/types/application.d.ts.map +1 -1
  54. package/dist/esm/base/applications/rest.d.ts.map +1 -1
  55. package/dist/esm/base/applications/rest.js +35 -5
  56. package/dist/esm/base/applications/rest.js.map +1 -1
  57. package/dist/esm/base/controllers/common/constants.d.ts +0 -2
  58. package/dist/esm/base/controllers/common/constants.d.ts.map +1 -1
  59. package/dist/esm/base/controllers/common/constants.js +0 -2
  60. package/dist/esm/base/controllers/common/constants.js.map +1 -1
  61. package/dist/esm/base/controllers/factory/controller.d.ts +0 -16
  62. package/dist/esm/base/controllers/factory/controller.d.ts.map +1 -1
  63. package/dist/esm/base/controllers/factory/controller.js +0 -10
  64. package/dist/esm/base/controllers/factory/controller.js.map +1 -1
  65. package/dist/esm/base/controllers/factory/crud/readable.d.ts +1 -21
  66. package/dist/esm/base/controllers/factory/crud/readable.d.ts.map +1 -1
  67. package/dist/esm/base/controllers/factory/crud/readable.js +2 -24
  68. package/dist/esm/base/controllers/factory/crud/readable.js.map +1 -1
  69. package/dist/esm/base/controllers/factory/definition.d.ts +0 -187
  70. package/dist/esm/base/controllers/factory/definition.d.ts.map +1 -1
  71. package/dist/esm/base/controllers/factory/definition.js +0 -33
  72. package/dist/esm/base/controllers/factory/definition.js.map +1 -1
  73. package/dist/esm/base/metadata/artifact-keys.d.ts +54 -0
  74. package/dist/esm/base/metadata/artifact-keys.d.ts.map +1 -0
  75. package/dist/esm/base/metadata/artifact-keys.js +56 -0
  76. package/dist/esm/base/metadata/artifact-keys.js.map +1 -0
  77. package/dist/esm/base/metadata/injectable.d.ts.map +1 -1
  78. package/dist/esm/base/metadata/injectable.js +6 -4
  79. package/dist/esm/base/metadata/injectable.js.map +1 -1
  80. package/dist/esm/base/metadata/persistents.d.ts.map +1 -1
  81. package/dist/esm/base/metadata/persistents.js +44 -17
  82. package/dist/esm/base/metadata/persistents.js.map +1 -1
  83. package/dist/esm/base/repositories/core/abstract.js +2 -2
  84. package/dist/esm/base/repositories/core/abstract.js.map +1 -1
  85. package/dist/esm/helpers/inversion/mixins/repository.mixin.d.ts +14 -3
  86. package/dist/esm/helpers/inversion/mixins/repository.mixin.d.ts.map +1 -1
  87. package/dist/esm/helpers/inversion/mixins/repository.mixin.js +29 -14
  88. package/dist/esm/helpers/inversion/mixins/repository.mixin.js.map +1 -1
  89. package/dist/esm/helpers/inversion/registry.d.ts +7 -1
  90. package/dist/esm/helpers/inversion/registry.d.ts.map +1 -1
  91. package/dist/esm/helpers/inversion/registry.js +2 -0
  92. package/dist/esm/helpers/inversion/registry.js.map +1 -1
  93. package/dist/esm/metadata.d.ts +1 -0
  94. package/dist/esm/metadata.d.ts.map +1 -1
  95. package/dist/esm/metadata.js +1 -0
  96. package/dist/esm/metadata.js.map +1 -1
  97. package/package.json +5 -5
@@ -92,14 +92,13 @@ const validateFirstConstructorParameter = (opts) => {
92
92
  });
93
93
  }
94
94
  };
95
- /** Auto-injects dataSource at constructor param[0] unless explicit @inject exists. */
95
+ /**
96
+ * Auto-injects dataSource at constructor param[0] unless explicit @inject exists. A class is injected
97
+ * by the class itself, so the container reads the key its registration recorded: a pinned
98
+ * `binding` and a minified class name both resolve. Only a string reference is a key.
99
+ */
96
100
  const registerDataSourceInjection = (opts) => {
97
- const { target, registry, resolvedDataSource } = opts;
98
- const paramTypes = Reflect.getMetadata('design:paramtypes', target);
99
- const firstParamType = paramTypes?.[0];
100
- if (firstParamType) {
101
- validateFirstConstructorParameter({ target, firstParamType, resolvedDataSource });
102
- }
101
+ const { target, registry, dataSourceRef, resolvedDataSource } = opts;
103
102
  // Own metadata only: `getInjectMetadata` walks the prototype chain, so a repository extending another @repository class would see the BASE's injection at param[0] and silently resolve the base's dataSource.
104
103
  const ownInjects = Reflect.getOwnMetadata(inversion_1.MetadataKeys.INJECT, target);
105
104
  const injectAtIndex0 = ownInjects?.find(entry => entry?.index === 0);
@@ -111,11 +110,11 @@ const registerDataSourceInjection = (opts) => {
111
110
  : undefined;
112
111
  const injectKey = injectAtIndex0.key ??
113
112
  (injectedTarget ? registry.getBindingKey({ target: injectedTarget }) : undefined);
114
- // A datasource registered by hand gets its key from `this.dataSource()`, after this decorator
115
- // runs, so an unkeyed target is judged by its class instead.
116
- const isDataSourceTarget = typeof injectKey === 'string'
117
- ? injectKey.startsWith(`${bindings_1.BindingNamespaces.DATASOURCE}.`)
118
- : (0, datasources_1.isDataSourceClass)(injectedTarget);
113
+ // A class is judged by its brand: its key may sit under any namespace a `binding` pinned, and
114
+ // a provisional key may still change at registration. Only a bare key is judged by its prefix.
115
+ const isDataSourceTarget = injectedTarget
116
+ ? (0, datasources_1.isDataSourceClass)(injectedTarget)
117
+ : typeof injectKey === 'string' && injectKey.startsWith(`${bindings_1.BindingNamespaces.DATASOURCE}.`);
119
118
  if (!isDataSourceTarget) {
120
119
  throw (0, core_1.getError)({
121
120
  message: `[@repository][${target.name}] Invalid constructor | First parameter must be a DataSource | Found @inject with key: '${String(injectKey)}' | Expected a key starting with '${bindings_1.BindingNamespaces.DATASOURCE}.' or a DataSource class`,
@@ -123,16 +122,29 @@ const registerDataSourceInjection = (opts) => {
123
122
  }
124
123
  return;
125
124
  }
126
- const dsName = typeof resolvedDataSource === 'string' ? resolvedDataSource : resolvedDataSource.name;
127
- const dsBindingKey = inversion_1.BindingKeys.build({ namespace: bindings_1.BindingNamespaces.DATASOURCE, key: dsName });
125
+ // Checked only when this decorator writes the injection: an explicit @inject decides for itself,
126
+ // and an interface or `import type` parameter emits `Object`, which says nothing.
127
+ const firstParamType = Reflect.getMetadata('design:paramtypes', target)?.[0];
128
+ if (firstParamType && firstParamType !== Object) {
129
+ validateFirstConstructorParameter({ target, firstParamType, resolvedDataSource });
130
+ }
128
131
  // The inherited list is the base repository's own, and setInjectMetadata may write straight into it.
129
132
  if (!ownInjects) {
130
133
  Reflect.defineMetadata(inversion_1.MetadataKeys.INJECT, [...(registry.getInjectMetadata({ target }) ?? [])], target);
131
134
  }
135
+ const derivedKey = inversion_1.BindingKeys.build({
136
+ namespace: bindings_1.BindingNamespaces.DATASOURCE,
137
+ key: typeof resolvedDataSource === 'string' ? resolvedDataSource : resolvedDataSource.name,
138
+ });
139
+ // The class first, decided when the repository is resolved: by then any registration - decorated,
140
+ // `bindingList()`, or `dataSource(X, { binding })` - has recorded its key on the class. The derived
141
+ // key is the fallback for a class nothing recorded, bound by hand under exactly that key.
132
142
  registry.setInjectMetadata({
133
143
  target,
134
144
  index: 0,
135
- metadata: { key: dsBindingKey, index: 0, isOptional: false },
145
+ metadata: typeof dataSourceRef === 'string'
146
+ ? { key: derivedKey, index: 0, isOptional: false }
147
+ : { target: dataSourceRef, key: derivedKey, index: 0, isOptional: false },
136
148
  });
137
149
  };
138
150
  /** Resolves repository metadata and registers bindings for schema auto-discovery. */
@@ -140,9 +152,19 @@ const resolveRepositoryMetadata = (opts) => {
140
152
  const { metadata, target, registry } = opts;
141
153
  validateRepositoryMetadata({ metadata, target });
142
154
  const resolvedDataSource = (0, common_1.resolveClass)({ ref: metadata.dataSource });
155
+ if (!resolvedDataSource) {
156
+ throw (0, core_1.getError)({
157
+ message: `[@repository][${target.name}] The dataSource resolver returned nothing at decoration time | An import cycle leaves the datasource class undefined here; import it without the cycle, or name it as a string`,
158
+ });
159
+ }
143
160
  // No model, so no binding: the datasource owns no schema through this repository.
144
161
  if (metadata.type === constants_1.RepositoryTypes.REMOTE) {
145
- registerDataSourceInjection({ target, registry, resolvedDataSource });
162
+ registerDataSourceInjection({
163
+ target,
164
+ registry,
165
+ dataSourceRef: metadata.dataSource,
166
+ resolvedDataSource,
167
+ });
146
168
  return {
147
169
  type: constants_1.RepositoryTypes.REMOTE,
148
170
  dataSource: resolvedDataSource,
@@ -155,7 +177,12 @@ const resolveRepositoryMetadata = (opts) => {
155
177
  model: resolvedModel,
156
178
  dataSource: resolvedDataSource,
157
179
  });
158
- registerDataSourceInjection({ target, registry, resolvedDataSource });
180
+ registerDataSourceInjection({
181
+ target,
182
+ registry,
183
+ dataSourceRef: metadata.dataSource,
184
+ resolvedDataSource,
185
+ });
159
186
  return {
160
187
  type: constants_1.RepositoryTypes.MODEL,
161
188
  model: resolvedModel,
@@ -1 +1 @@
1
- {"version":3,"file":"persistents.js","sourceRoot":"","sources":["../../../../src/base/metadata/persistents.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"persistents.js","sourceRoot":"","sources":["../../../../src/base/metadata/persistents.ts"],"names":[],"mappings":"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"}
@@ -114,7 +114,7 @@ class AbstractRepository extends core_1.BaseHelper {
114
114
  // method has no business reporting, and the caller path that used to reach `getDefaultLimit()`
115
115
  // never touched it either, because `??` short-circuits when a limit is given. So the ceiling is
116
116
  // consulted only when the binding that makes it resolvable is actually present.
117
- const hasModelBinding = Boolean(inversion_1.MetadataRegistry.getInstance().getRepositoryBinding({ name: this.constructor.name })?.model);
117
+ const hasModelBinding = Boolean(inversion_1.MetadataRegistry.getInstance().getRepositoryBinding({ target: this.constructor })?.model);
118
118
  const ceiling = (hasModelBinding ? this.maxLimit : undefined) ?? constants_1.DEFAULT_MAX_LIMIT;
119
119
  if (limit > ceiling) {
120
120
  throw (0, core_1.getError)({
@@ -160,7 +160,7 @@ class AbstractRepository extends core_1.BaseHelper {
160
160
  /** Resolves the entity instance from @repository metadata on first access. */
161
161
  resolveEntity() {
162
162
  const registry = inversion_1.MetadataRegistry.getInstance();
163
- const binding = registry.getRepositoryBinding({ name: this.constructor.name });
163
+ const binding = registry.getRepositoryBinding({ target: this.constructor });
164
164
  if (!binding?.model) {
165
165
  throw (0, core_1.getError)({
166
166
  message: `[${this.constructor.name}] Cannot resolve entity. Either pass entityClass in constructor or use @repository decorator with model option.`,
@@ -1 +1 @@
1
- {"version":3,"file":"abstract.js","sourceRoot":"","sources":["../../../../../src/base/repositories/core/abstract.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"abstract.js","sourceRoot":"","sources":["../../../../../src/base/repositories/core/abstract.ts"],"names":[],"mappings":"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"}
@@ -10,12 +10,16 @@ export declare const RepositoryMetadataMixin: <BaseClass extends TMixinTarget<_M
10
10
  }): IModelMetadata | undefined;
11
11
  }>>(baseClass: BaseClass) => {
12
12
  new (...args: any[]): {
13
+ /** By repository class name, for the by-name API. Two classes may share a name; `repositoryBindingsByClass` cannot confuse them. */
13
14
  repositoryBindings: Map<string, IRepositoryBinding<AbstractEntity>>;
15
+ /** By repository class: a minified build renames classes, and two chunks may give two of them one name. */
16
+ repositoryBindingsByClass: Map<Function, IRepositoryBinding<AbstractEntity>>;
14
17
  /**
15
- * The model classes a datasource owns, never their names: two classes may share a name and the
16
- * name-keyed `modelRegistry` holds only one, so keying by name resolves the wrong class.
18
+ * The model classes each datasource owns, keyed by the datasource class - or by the string a
19
+ * repository named it with (`dataSource: 'PgDataSource'`), which only a class of that name
20
+ * can match. Never by class name alone: a minified build gives two datasources one name.
17
21
  */
18
- datasourceModels: Map<string, Set<TClass<AnyType>>>;
22
+ datasourceModels: Map<string | Function, Set<TClass<AnyType>>>;
19
23
  setRepositoryMetadata<Target extends object = object, Model extends AbstractEntity = AbstractEntity<unknown>, DataSource extends IDataSource = IDataSource<{}, import("../../../base/datasources").TAnyDataSourceSchema, {}>>(opts: {
20
24
  target: Target;
21
25
  metadata: TRepositoryMetadata<Model, DataSource> & {
@@ -29,9 +33,16 @@ export declare const RepositoryMetadataMixin: <BaseClass extends TMixinTarget<_M
29
33
  }) | undefined;
30
34
  /** Registers a repository binding (called by @repository) linking a repository to its model + datasource. */
31
35
  registerRepositoryBinding<Model_1 extends AbstractEntity = AbstractEntity<unknown>, DataSource_1 extends IDataSource = IDataSource<{}, import("../../../base/datasources").TAnyDataSourceSchema, {}>>(opts: IRepositoryBinding<Model_1, DataSource_1>): void;
36
+ /** By class, walking up to the nearest decorated parent; by name only for callers holding a name. */
32
37
  getRepositoryBinding(opts: {
38
+ target: Function;
39
+ } | {
33
40
  name: string;
34
41
  }): IRepositoryBinding<AbstractEntity> | undefined;
42
+ /** A class finds what was registered under it, and under a string equal to its name. */
43
+ getDataSourceModelClasses(opts: {
44
+ dataSource: string | TClass<IDataSource>;
45
+ }): Set<TClass<AnyType>>;
35
46
  /**
36
47
  * Resolves and caches relations for a model entry - called lazily from buildSchema() so that
37
48
  * every `@model` class is registered first, which avoids circular-dependency ordering issues.
@@ -1 +1 @@
1
- {"version":3,"file":"repository.mixin.d.ts","sourceRoot":"","sources":["../../../../../src/helpers/inversion/mixins/repository.mixin.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"repository.mixin.d.ts","sourceRoot":"","sources":["../../../../../src/helpers/inversion/mixins/repository.mixin.ts"],"names":[],"mappings":"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"}
@@ -22,16 +22,37 @@ const RepositoryMetadataMixin = (baseClass) => {
22
22
  // datasource then silently discovers no schema.
23
23
  const repositoryClass = (0, common_1.resolveValue)({ value: opts.repository });
24
24
  this.repositoryBindings.set(repositoryClass.name, opts);
25
+ this.repositoryBindingsByClass.set(repositoryClass, opts);
25
26
  const dataSourceRef = (0, common_1.resolveValue)({ value: opts.dataSource });
26
- const dsKey = typeof dataSourceRef === 'string' ? dataSourceRef : dataSourceRef.name;
27
27
  const modelClass = (0, common_1.resolveValue)({ value: opts.model });
28
- if (!this.datasourceModels.has(dsKey)) {
29
- this.datasourceModels.set(dsKey, new Set());
28
+ if (!this.datasourceModels.has(dataSourceRef)) {
29
+ this.datasourceModels.set(dataSourceRef, new Set());
30
30
  }
31
- this.datasourceModels.get(dsKey).add(modelClass);
31
+ this.datasourceModels.get(dataSourceRef).add(modelClass);
32
32
  }
33
+ /** By class, walking up to the nearest decorated parent; by name only for callers holding a name. */
33
34
  getRepositoryBinding(opts) {
34
- return this.repositoryBindings.get(opts.name);
35
+ if ('name' in opts) {
36
+ return this.repositoryBindings.get(opts.name);
37
+ }
38
+ for (let current = opts.target; current && current !== Function.prototype; current = Object.getPrototypeOf(current)) {
39
+ const binding = this.repositoryBindingsByClass.get(current);
40
+ if (binding) {
41
+ return binding;
42
+ }
43
+ }
44
+ return undefined;
45
+ }
46
+ /** A class finds what was registered under it, and under a string equal to its name. */
47
+ getDataSourceModelClasses(opts) {
48
+ const { dataSource } = opts;
49
+ if (typeof dataSource === 'string') {
50
+ return this.datasourceModels.get(dataSource) ?? new Set();
51
+ }
52
+ return new Set([
53
+ ...(this.datasourceModels.get(dataSource) ?? []),
54
+ ...(this.datasourceModels.get(dataSource.name) ?? []),
55
+ ]);
35
56
  }
36
57
  /**
37
58
  * Resolves and caches relations for a model entry - called lazily from buildSchema() so that
@@ -67,9 +88,7 @@ const RepositoryMetadataMixin = (baseClass) => {
67
88
  * site.
68
89
  */
69
90
  getModels(opts) {
70
- const { dataSource } = opts;
71
- const dsKey = typeof dataSource === 'string' ? dataSource : dataSource.name;
72
- const modelClasses = this.datasourceModels.get(dsKey) ?? new Set();
91
+ const modelClasses = this.getDataSourceModelClasses({ dataSource: opts.dataSource });
73
92
  const rs = Array.from(modelClasses)
74
93
  .map(modelClass => {
75
94
  // Read straight off the class: a class -> name -> modelRegistry round-trip collapses two
@@ -100,11 +119,9 @@ const RepositoryMetadataMixin = (baseClass) => {
100
119
  * has no pgTable to resolve.
101
120
  */
102
121
  getModelClasses(opts) {
103
- const { dataSource } = opts;
104
- const dsKey = typeof dataSource === 'string' ? dataSource : dataSource.name;
105
122
  // Straight from the stored class refs: a name round-trip through the shared modelRegistry
106
123
  // would hand back whichever same-named class registered last.
107
- return Array.from(this.datasourceModels.get(dsKey) ?? new Set());
124
+ return Array.from(this.getDataSourceModelClasses({ dataSource: opts.dataSource }));
108
125
  }
109
126
  /** The key a model occupies in `modelRegistry` - its table name, or its class name when it has none. */
110
127
  resolveModelKey(opts) {
@@ -129,9 +146,7 @@ const RepositoryMetadataMixin = (baseClass) => {
129
146
  return rs;
130
147
  }
131
148
  hasModels(opts) {
132
- const dsKey = typeof opts.dataSource === 'string' ? opts.dataSource : opts.dataSource.name;
133
- const modelNames = this.datasourceModels.get(dsKey);
134
- return modelNames !== undefined && modelNames.size > 0;
149
+ return this.getDataSourceModelClasses({ dataSource: opts.dataSource }).size > 0;
135
150
  }
136
151
  };
137
152
  };
@@ -1 +1 @@
1
- {"version":3,"file":"repository.mixin.js","sourceRoot":"","sources":["../../../../../src/helpers/inversion/mixins/repository.mixin.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"repository.mixin.js","sourceRoot":"","sources":["../../../../../src/helpers/inversion/mixins/repository.mixin.ts"],"names":[],"mappings":"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"}
@@ -303,7 +303,8 @@ declare const BaseRegistry: {
303
303
  } & {
304
304
  new (...args: any[]): {
305
305
  repositoryBindings: Map<string, IRepositoryBinding<import("../..").AbstractEntity>>;
306
- datasourceModels: Map<string, Set<TClass<AnyType>>>;
306
+ repositoryBindingsByClass: Map<Function, IRepositoryBinding<import("../..").AbstractEntity>>;
307
+ datasourceModels: Map<string | Function, Set<TClass<AnyType>>>;
307
308
  setRepositoryMetadata<Target extends object = object, Model extends import("../..").AbstractEntity = import("../..").AbstractEntity<unknown>, DataSource extends import("../..").IDataSource = import("../..").IDataSource<{}, import("../..").TAnyDataSourceSchema, {}>>(opts: {
308
309
  target: Target;
309
310
  metadata: import("./common/types").TRepositoryMetadata<Model, DataSource> & {
@@ -317,8 +318,13 @@ declare const BaseRegistry: {
317
318
  }) | undefined;
318
319
  registerRepositoryBinding<Model extends import("../..").AbstractEntity = import("../..").AbstractEntity<unknown>, DataSource extends import("../..").IDataSource = import("../..").IDataSource<{}, import("../..").TAnyDataSourceSchema, {}>>(opts: IRepositoryBinding<Model, DataSource>): void;
319
320
  getRepositoryBinding(opts: {
321
+ target: Function;
322
+ } | {
320
323
  name: string;
321
324
  }): IRepositoryBinding<import("../..").AbstractEntity> | undefined;
325
+ getDataSourceModelClasses(opts: {
326
+ dataSource: string | TClass<import("../..").IDataSource>;
327
+ }): Set<TClass<AnyType>>;
322
328
  resolveModelRelations(modelMeta: IModelRegistryEntry): unknown;
323
329
  getModels(opts: {
324
330
  dataSource: string | TClass<import("../..").IDataSource>;
@@ -1 +1 @@
1
- {"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../../../src/helpers/inversion/registry.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,+BAA+B,CAAC;AACrE,OAAO,EAAE,gBAAgB,IAAI,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAEjF,OAAO,KAAK,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AAW9E,QAAA,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;yBAoC+X,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;yBAAD,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;yBAAD,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;yBAAD,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;yBAAD,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;yBAAD,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;yBAAD,CAAC;;;;;;;;4BA5BjZ,CAAC;AAEF,iHAAiH;AACjH,qBAAa,gBAAiB,SAAQ,YAAY;IAChD,MAAM,CAAC,QAAQ,CAAC,kBAAkB,uBAAuB;IAEzD,OAAO;IAQP,MAAM,CAAC,WAAW,IAAI,gBAAgB;IAOtC,QAAQ,IAAI,IAAI;CAMjB"}
1
+ {"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../../../src/helpers/inversion/registry.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,+BAA+B,CAAC;AACrE,OAAO,EAAE,gBAAgB,IAAI,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAEjF,OAAO,KAAK,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AAW9E,QAAA,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;yBAsC0P,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;yBAAD,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;yBAAD,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;yBAAD,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;yBAAD,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;yBAAD,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;yBAAD,CAAC;;;;;;;;4BA9B5Q,CAAC;AAEF,iHAAiH;AACjH,qBAAa,gBAAiB,SAAQ,YAAY;IAChD,MAAM,CAAC,QAAQ,CAAC,kBAAkB,uBAAuB;IAEzD,OAAO;IASP,MAAM,CAAC,WAAW,IAAI,gBAAgB;IAOtC,QAAQ,IAAI,IAAI;CAOjB"}
@@ -13,6 +13,7 @@ class MetadataRegistry extends BaseRegistry {
13
13
  this.modelRegistry = new Map();
14
14
  this.modelsBySchema = new WeakMap();
15
15
  this.repositoryBindings = new Map();
16
+ this.repositoryBindingsByClass = new Map();
16
17
  this.datasourceModels = new Map();
17
18
  }
18
19
  static getInstance() {
@@ -25,6 +26,7 @@ class MetadataRegistry extends BaseRegistry {
25
26
  this.modelRegistry.clear();
26
27
  this.modelsBySchema = new WeakMap();
27
28
  this.repositoryBindings.clear();
29
+ this.repositoryBindingsByClass.clear();
28
30
  this.datasourceModels.clear();
29
31
  }
30
32
  }
@@ -1 +1 @@
1
- {"version":3,"file":"registry.js","sourceRoot":"","sources":["../../../../src/helpers/inversion/registry.ts"],"names":[],"mappings":";;;AACA,8DAAiF;AACjF,wDAAoD;AAEpD,qCAQkB;AAElB,MAAM,YAAY,GAAG,IAAA,8BAAqB,EACxC,IAAA,oCAA2B,EACzB,IAAA,oCAA2B,EACzB,IAAA,gCAAuB,EACrB,IAAA,gCAAuB,EAAC,IAAA,2BAAkB,EAAC,IAAA,gCAAuB,EAAC,kCAAiB,CAAC,CAAC,CAAC,CACxF,CACF,CACF,CACF,CAAC;AAEF,iHAAiH;AACjH,MAAa,gBAAiB,SAAQ,YAAY;aAChC,uBAAkB,GAAG,mBAAmB,CAAC;IAEzD;QACE,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,aAAa,GAAG,IAAI,GAAG,EAA+B,CAAC;QAC5D,IAAI,CAAC,cAAc,GAAG,IAAI,OAAO,EAA+B,CAAC;QACjE,IAAI,CAAC,kBAAkB,GAAG,IAAI,GAAG,EAA8B,CAAC;QAChE,IAAI,CAAC,gBAAgB,GAAG,IAAI,GAAG,EAAgC,CAAC;IAClE,CAAC;IAED,MAAM,CAAC,WAAW;QAChB,OAAO,gCAAc,CAAC,OAAO,CAAC;YAC5B,GAAG,EAAE,gBAAgB,CAAC,kBAAkB;YACxC,MAAM,EAAE,GAAG,EAAE,CAAC,IAAI,gBAAgB,EAAE;SACrC,CAAC,CAAC;IACL,CAAC;IAED,QAAQ;QACN,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC;QAC3B,IAAI,CAAC,cAAc,GAAG,IAAI,OAAO,EAA+B,CAAC;QACjE,IAAI,CAAC,kBAAkB,CAAC,KAAK,EAAE,CAAC;QAChC,IAAI,CAAC,gBAAgB,CAAC,KAAK,EAAE,CAAC;IAChC,CAAC;;AAvBH,4CAwBC"}
1
+ {"version":3,"file":"registry.js","sourceRoot":"","sources":["../../../../src/helpers/inversion/registry.ts"],"names":[],"mappings":";;;AACA,8DAAiF;AACjF,wDAAoD;AAEpD,qCAQkB;AAElB,MAAM,YAAY,GAAG,IAAA,8BAAqB,EACxC,IAAA,oCAA2B,EACzB,IAAA,oCAA2B,EACzB,IAAA,gCAAuB,EACrB,IAAA,gCAAuB,EAAC,IAAA,2BAAkB,EAAC,IAAA,gCAAuB,EAAC,kCAAiB,CAAC,CAAC,CAAC,CACxF,CACF,CACF,CACF,CAAC;AAEF,iHAAiH;AACjH,MAAa,gBAAiB,SAAQ,YAAY;aAChC,uBAAkB,GAAG,mBAAmB,CAAC;IAEzD;QACE,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,aAAa,GAAG,IAAI,GAAG,EAA+B,CAAC;QAC5D,IAAI,CAAC,cAAc,GAAG,IAAI,OAAO,EAA+B,CAAC;QACjE,IAAI,CAAC,kBAAkB,GAAG,IAAI,GAAG,EAA8B,CAAC;QAChE,IAAI,CAAC,yBAAyB,GAAG,IAAI,GAAG,EAAgC,CAAC;QACzE,IAAI,CAAC,gBAAgB,GAAG,IAAI,GAAG,EAA2C,CAAC;IAC7E,CAAC;IAED,MAAM,CAAC,WAAW;QAChB,OAAO,gCAAc,CAAC,OAAO,CAAC;YAC5B,GAAG,EAAE,gBAAgB,CAAC,kBAAkB;YACxC,MAAM,EAAE,GAAG,EAAE,CAAC,IAAI,gBAAgB,EAAE;SACrC,CAAC,CAAC;IACL,CAAC;IAED,QAAQ;QACN,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC;QAC3B,IAAI,CAAC,cAAc,GAAG,IAAI,OAAO,EAA+B,CAAC;QACjE,IAAI,CAAC,kBAAkB,CAAC,KAAK,EAAE,CAAC;QAChC,IAAI,CAAC,yBAAyB,CAAC,KAAK,EAAE,CAAC;QACvC,IAAI,CAAC,gBAAgB,CAAC,KAAK,EAAE,CAAC;IAChC,CAAC;;AAzBH,4CA0BC"}
@@ -9,6 +9,7 @@
9
9
  export { component, configuration, injectable, pickRegistrationOptions, provide, service, } from './base/metadata/injectable';
10
10
  export { datasource, model, repository } from './base/metadata/persistents';
11
11
  export { inject } from './base/metadata/injectors';
12
+ export { ArtifactBindingKeys } from './base/metadata/artifact-keys';
12
13
  export { ArtifactNamespaces, BindingNamespaces } from './common/bindings';
13
14
  export type { TBindingNamespace } from './common/bindings';
14
15
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"metadata.d.ts","sourceRoot":"","sources":["../../src/metadata.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EACL,SAAS,EACT,aAAa,EACb,UAAU,EACV,uBAAuB,EACvB,OAAO,EACP,OAAO,GACR,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAC;AAC5E,OAAO,EAAE,MAAM,EAAE,MAAM,2BAA2B,CAAC;AAEnD,OAAO,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAC1E,YAAY,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAE3D;;;;;;GAMG;AAEH,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACnF,YAAY,EACV,iBAAiB,EACjB,4BAA4B,EAC5B,aAAa,GACd,MAAM,qBAAqB,CAAC"}
1
+ {"version":3,"file":"metadata.d.ts","sourceRoot":"","sources":["../../src/metadata.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EACL,SAAS,EACT,aAAa,EACb,UAAU,EACV,uBAAuB,EACvB,OAAO,EACP,OAAO,GACR,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAC;AAC5E,OAAO,EAAE,MAAM,EAAE,MAAM,2BAA2B,CAAC;AACnD,OAAO,EAAE,mBAAmB,EAAE,MAAM,+BAA+B,CAAC;AAEpE,OAAO,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAC1E,YAAY,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAE3D;;;;;;GAMG;AAEH,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACnF,YAAY,EACV,iBAAiB,EACjB,4BAA4B,EAC5B,aAAa,GACd,MAAM,qBAAqB,CAAC"}
@@ -8,7 +8,7 @@
8
8
  * `src/__tests__/bundle/browser-weight.test.ts`.
9
9
  */
10
10
  Object.defineProperty(exports, "__esModule", { value: true });
11
- exports.MetadataRegistry = exports.BindingKeys = exports.ArtifactTypes = exports.BindingNamespaces = exports.ArtifactNamespaces = exports.inject = exports.repository = exports.model = exports.datasource = exports.service = exports.provide = exports.pickRegistrationOptions = exports.injectable = exports.configuration = exports.component = void 0;
11
+ exports.MetadataRegistry = exports.BindingKeys = exports.ArtifactTypes = exports.BindingNamespaces = exports.ArtifactNamespaces = exports.ArtifactBindingKeys = exports.inject = exports.repository = exports.model = exports.datasource = exports.service = exports.provide = exports.pickRegistrationOptions = exports.injectable = exports.configuration = exports.component = void 0;
12
12
  var injectable_1 = require("./base/metadata/injectable");
13
13
  Object.defineProperty(exports, "component", { enumerable: true, get: function () { return injectable_1.component; } });
14
14
  Object.defineProperty(exports, "configuration", { enumerable: true, get: function () { return injectable_1.configuration; } });
@@ -22,6 +22,8 @@ Object.defineProperty(exports, "model", { enumerable: true, get: function () { r
22
22
  Object.defineProperty(exports, "repository", { enumerable: true, get: function () { return persistents_1.repository; } });
23
23
  var injectors_1 = require("./base/metadata/injectors");
24
24
  Object.defineProperty(exports, "inject", { enumerable: true, get: function () { return injectors_1.inject; } });
25
+ var artifact_keys_1 = require("./base/metadata/artifact-keys");
26
+ Object.defineProperty(exports, "ArtifactBindingKeys", { enumerable: true, get: function () { return artifact_keys_1.ArtifactBindingKeys; } });
25
27
  var bindings_1 = require("./common/bindings");
26
28
  Object.defineProperty(exports, "ArtifactNamespaces", { enumerable: true, get: function () { return bindings_1.ArtifactNamespaces; } });
27
29
  Object.defineProperty(exports, "BindingNamespaces", { enumerable: true, get: function () { return bindings_1.BindingNamespaces; } });
@@ -1 +1 @@
1
- {"version":3,"file":"metadata.js","sourceRoot":"","sources":["../../src/metadata.ts"],"names":[],"mappings":";AAAA;;;;;;;GAOG;;;AAEH,yDAOoC;AANlC,uGAAA,SAAS,OAAA;AACT,2GAAA,aAAa,OAAA;AACb,wGAAA,UAAU,OAAA;AACV,qHAAA,uBAAuB,OAAA;AACvB,qGAAA,OAAO,OAAA;AACP,qGAAA,OAAO,OAAA;AAET,2DAA4E;AAAnE,yGAAA,UAAU,OAAA;AAAE,oGAAA,KAAK,OAAA;AAAE,yGAAA,UAAU,OAAA;AACtC,uDAAmD;AAA1C,mGAAA,MAAM,OAAA;AAEf,8CAA0E;AAAjE,8GAAA,kBAAkB,OAAA;AAAE,6GAAA,iBAAiB,OAAA;AAG9C;;;;;;GAMG;AAEH,iDAAmF;AAA1E,0GAAA,aAAa,OAAA;AAAE,wGAAA,WAAW,OAAA;AAAE,6GAAA,gBAAgB,OAAA"}
1
+ {"version":3,"file":"metadata.js","sourceRoot":"","sources":["../../src/metadata.ts"],"names":[],"mappings":";AAAA;;;;;;;GAOG;;;AAEH,yDAOoC;AANlC,uGAAA,SAAS,OAAA;AACT,2GAAA,aAAa,OAAA;AACb,wGAAA,UAAU,OAAA;AACV,qHAAA,uBAAuB,OAAA;AACvB,qGAAA,OAAO,OAAA;AACP,qGAAA,OAAO,OAAA;AAET,2DAA4E;AAAnE,yGAAA,UAAU,OAAA;AAAE,oGAAA,KAAK,OAAA;AAAE,yGAAA,UAAU,OAAA;AACtC,uDAAmD;AAA1C,mGAAA,MAAM,OAAA;AACf,+DAAoE;AAA3D,oHAAA,mBAAmB,OAAA;AAE5B,8CAA0E;AAAjE,8GAAA,kBAAkB,OAAA;AAAE,6GAAA,iBAAiB,OAAA;AAG9C;;;;;;GAMG;AAEH,iDAAmF;AAA1E,0GAAA,aAAa,OAAA;AAAE,wGAAA,WAAW,OAAA;AAAE,6GAAA,gBAAgB,OAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"artifact-index.d.ts","sourceRoot":"","sources":["../../../../src/base/applications/artifact-index.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAW,MAAM,EAAE,MAAM,+BAA+B,CAAC;AAErE,OAAO,EAAE,UAAU,EAAY,MAAM,6BAA6B,CAAC;AACnE,OAAO,KAAK,EAAE,cAAc,EAA6B,mBAAmB,EAAE,MAAM,UAAU,CAAC;AAG/F,+NAA+N;AAC/N,qBAAa,mBAAoB,SAAQ,UAAU;IACjD,MAAM,CAAC,QAAQ,CAAC,mBAAmB,2BAA2B;IAE9D,OAAO;IAIP,MAAM,CAAC,WAAW,IAAI,mBAAmB;IAOzC,uMAAuM;IACvM,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,mBAAmB,CAOzC;IAEF,oNAAoN;IACpN,oBAAoB,IAAI,cAAc;IAsBtC,yHAAyH;IACnH,OAAO,CAAC,IAAI,EAAE;QAClB,KAAK,EAAE,mBAAmB,CAAC;QAC3B,WAAW,EAAE,OAAO,CAAC;KACtB,GAAG,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC;IA0CrC;;;;OAIG;IACH,+BAA+B,CAAC,IAAI,EAAE;QAAE,OAAO,EAAE,aAAa,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAA;KAAE,GAAG,MAAM,CAAC,GAAG,CAAC,EAAE;IA2E7F,8JAA8J;IACxJ,OAAO,CAAC,IAAI,EAAE;QAClB,KAAK,EAAE,mBAAmB,CAAC;QAC3B,WAAW,EAAE,OAAO,CAAC;KACtB,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC;IAsB7B,4IAA4I;IAC5I,OAAO,CAAC,aAAa;IAMrB,mNAAmN;IAC7M,MAAM,CAAC,KAAK,SAAS,MAAM,cAAc,EAAE,IAAI,EAAE;QACrD,OAAO,EAAE,cAAc,EAAE,CAAC;QAC1B,KAAK,EAAE,KAAK,CAAC;QACb,WAAW,EAAE,OAAO,CAAC;KACtB,GAAG,OAAO,CAAC,WAAW,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC;YA8B3C,UAAU;CAWzB"}
1
+ {"version":3,"file":"artifact-index.d.ts","sourceRoot":"","sources":["../../../../src/base/applications/artifact-index.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAW,MAAM,EAAE,MAAM,+BAA+B,CAAC;AAErE,OAAO,EAAE,UAAU,EAAY,MAAM,6BAA6B,CAAC;AACnE,OAAO,KAAK,EAAE,cAAc,EAA6B,mBAAmB,EAAE,MAAM,UAAU,CAAC;AAG/F,+NAA+N;AAC/N,qBAAa,mBAAoB,SAAQ,UAAU;IACjD,MAAM,CAAC,QAAQ,CAAC,mBAAmB,2BAA2B;IAE9D,OAAO;IAIP,MAAM,CAAC,WAAW,IAAI,mBAAmB;IAOzC,uMAAuM;IACvM,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,mBAAmB,CAOzC;IAEF,oNAAoN;IACpN,oBAAoB,IAAI,cAAc;IAsBtC,yHAAyH;IACnH,OAAO,CAAC,IAAI,EAAE;QAClB,KAAK,EAAE,mBAAmB,CAAC;QAC3B,WAAW,EAAE,OAAO,CAAC;KACtB,GAAG,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC;IA0CrC;;;;OAIG;IACH,+BAA+B,CAAC,IAAI,EAAE;QAAE,OAAO,EAAE,aAAa,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAA;KAAE,GAAG,MAAM,CAAC,GAAG,CAAC,EAAE;IAyE7F,8JAA8J;IACxJ,OAAO,CAAC,IAAI,EAAE;QAClB,KAAK,EAAE,mBAAmB,CAAC;QAC3B,WAAW,EAAE,OAAO,CAAC;KACtB,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC;IAsB7B,4IAA4I;IAC5I,OAAO,CAAC,aAAa;IAMrB,mNAAmN;IAC7M,MAAM,CAAC,KAAK,SAAS,MAAM,cAAc,EAAE,IAAI,EAAE;QACrD,OAAO,EAAE,cAAc,EAAE,CAAC;QAC1B,KAAK,EAAE,KAAK,CAAC;QACb,WAAW,EAAE,OAAO,CAAC;KACtB,GAAG,OAAO,CAAC,WAAW,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC;YA8B3C,UAAU;CAWzB"}
@@ -92,61 +92,58 @@ export class ArtifactIndexHelper extends BaseHelper {
92
92
  return [];
93
93
  }
94
94
  const registry = MetadataRegistry.getInstance();
95
- const classMap = new Map();
96
- for (const target of classes) {
97
- classMap.set(target.name, target);
98
- }
99
- // Build graph: edge A -> B means A must run before B (B declared after: [A])
95
+ // Keyed by the class itself: two configurations may share a name (a minified build renames them),
96
+ // and a name-keyed graph silently drops one of them.
100
97
  const inDegree = new Map();
101
98
  const adjacency = new Map();
102
99
  for (const target of classes) {
103
- inDegree.set(target.name, 0);
104
- adjacency.set(target.name, []);
100
+ inDegree.set(target, 0);
101
+ adjacency.set(target, []);
105
102
  }
106
103
  for (const target of classes) {
107
104
  const metadata = registry.getArtifactMetadata({ target });
108
105
  const afterList = metadata?.after ?? [];
109
106
  for (const prereq of afterList) {
110
- const prereqName = typeof prereq === 'function' ? prereq.name : String(prereq);
111
- if (!classMap.has(prereqName)) {
107
+ // A string names a class, the only form that can; a class is matched by identity.
108
+ const prereqClass = typeof prereq === 'function'
109
+ ? classes.find(candidate => candidate === prereq)
110
+ : classes.find(candidate => candidate.name === String(prereq));
111
+ if (!prereqClass) {
112
+ const prereqName = typeof prereq === 'function' ? prereq.name : String(prereq);
112
113
  throw getError({
113
114
  message: `[sortConfigurationsTopologically][${target.name}] Declared 'after' dependency '${prereqName}' is not registered as a configuration`,
114
115
  });
115
116
  }
116
- adjacency.get(prereqName).push(target.name);
117
- inDegree.set(target.name, (inDegree.get(target.name) ?? 0) + 1);
118
- }
119
- }
120
- // Kahn's algorithm with priority queue (sorted by class name for deterministic sibling ordering)
121
- const available = [];
122
- const inDegreeEntries = inDegree.entries();
123
- for (const [name, deg] of inDegreeEntries) {
124
- if (deg === 0) {
125
- available.push(name);
117
+ adjacency.get(prereqClass).push(target);
118
+ inDegree.set(target, (inDegree.get(target) ?? 0) + 1);
126
119
  }
127
120
  }
128
- available.sort((a, b) => a.localeCompare(b));
129
- const sortedNames = [];
121
+ // Kahn's algorithm. Siblings run in class-name order; a minified build renames classes, so an
122
+ // order that matters belongs in `after`.
123
+ const byName = (a, b) => a.name.localeCompare(b.name);
124
+ const available = classes.filter(target => inDegree.get(target) === 0).sort(byName);
125
+ const sorted = [];
130
126
  while (available.length > 0) {
131
127
  const current = available.shift();
132
- sortedNames.push(current);
133
- const dependents = adjacency.get(current) ?? [];
134
- for (const dep of dependents) {
135
- const newDeg = inDegree.get(dep) - 1;
136
- inDegree.set(dep, newDeg);
128
+ sorted.push(current);
129
+ for (const dependent of adjacency.get(current) ?? []) {
130
+ const newDeg = inDegree.get(dependent) - 1;
131
+ inDegree.set(dependent, newDeg);
137
132
  if (newDeg === 0) {
138
- available.push(dep);
139
- available.sort((a, b) => a.localeCompare(b));
133
+ available.push(dependent);
134
+ available.sort(byName);
140
135
  }
141
136
  }
142
137
  }
143
- if (sortedNames.length !== classes.length) {
144
- const unvisited = classes.filter(c => !sortedNames.includes(c.name)).map(c => c.name);
138
+ if (sorted.length !== classes.length) {
139
+ const unvisited = classes
140
+ .filter(target => !sorted.includes(target))
141
+ .map(target => target.name);
145
142
  throw getError({
146
143
  message: `[sortConfigurationsTopologically] Dependency cycle detected in configurations: ${unvisited.join(', ')}`,
147
144
  });
148
145
  }
149
- return sortedNames.map(name => classMap.get(name));
146
+ return sorted;
150
147
  }
151
148
  /** One index, or arrays nested to any depth, as a flat list in input order; a conditional entry contributes its subtree only when its `when` answers true. */
152
149
  async flatten(opts) {