@memberjunction/codegen-lib 5.49.0 → 5.50.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,54 @@
1
+ /**
2
+ * Schema-scope resolution helpers for CodeGen.
3
+ *
4
+ * `includeSchemas` is an opt-in POSITIVE scope list. Rather than add a second filtering path
5
+ * throughout CodeGen, it is resolved INTO the existing `excludeSchemas` list, so every downstream
6
+ * consumer (metadata management, `createExcludeTablesAndSchemasFilter`, the file-generation phases)
7
+ * keeps reading a single already-scoped exclude list and needs no include-awareness.
8
+ *
9
+ * This module holds the pure resolution logic so it can be unit-tested without a database or config
10
+ * globals.
11
+ */
12
+ /**
13
+ * Resolve an opt-in `includeSchemas` positive scope into the list of schema names to ADD to
14
+ * `excludeSchemas`. A schema stays IN SCOPE iff it is named in `includeSchemas` AND not already in
15
+ * `existingExcludeSchemas`; every other schema in `allSchemas` is returned for exclusion. Matching is
16
+ * case-insensitive + trimmed, and the result is de-duplicated. No hidden auto-includes — the MJ core
17
+ * schema is excluded unless it is listed explicitly (include shrinks the addressable space;
18
+ * `excludeSchemas` still overlays on top).
19
+ *
20
+ * @param allSchemas the schema universe to scope against — see {@link applyIncludeSchemaScope}
21
+ * for why this must be sourced from the DATABASE, not from loaded metadata
22
+ * @param includeSchemas the opt-in positive scope (assumed non-empty by the caller)
23
+ * @param existingExcludeSchemas schemas already excluded (system + user config), left untouched
24
+ * @returns the schema names to append to `excludeSchemas`
25
+ */
26
+ export declare function computeSchemasToExcludeForIncludeList(allSchemas: string[], includeSchemas: string[], existingExcludeSchemas: string[]): string[];
27
+ /** The subset of the CodeGen config this module reads and mutates. */
28
+ export interface SchemaScopeConfig {
29
+ includeSchemas?: string[];
30
+ excludeSchemas?: string[];
31
+ }
32
+ /**
33
+ * Apply an `includeSchemas` positive scope by appending every out-of-scope schema in `allSchemas` to
34
+ * `config.excludeSchemas` in place. No-op when `includeSchemas` is absent or empty, which preserves
35
+ * classic exclude-only behavior exactly. Idempotent, so it is safe to call from more than one phase
36
+ * as the schema universe becomes better known.
37
+ *
38
+ * **`allSchemas` must be the DATABASE's schema list, not the schemas present in loaded metadata.**
39
+ * The primary job of an include list is to keep CodeGen off schemas it does not own — and the
40
+ * highest-risk case is a schema MJ has never seen before, because `createNewEntities()` discovers
41
+ * tables with no `EntityID` straight from the database and filters them only through
42
+ * `excludeSchemas`. A universe derived from `Metadata.Entities` contains, by definition, only schemas
43
+ * that ALREADY have entities, so it cannot exclude a never-seen schema: that schema would be adopted
44
+ * into metadata on the first run and then excluded on every subsequent run, leaving its entity
45
+ * records permanently orphaned. Callers without database access (e.g. the `--skipdb` file-generation
46
+ * path) may pass the metadata-derived universe as a secondary safety net, but it is not sufficient on
47
+ * its own.
48
+ *
49
+ * @param allSchemas the schema universe to scope against
50
+ * @param config the config to mutate; `excludeSchemas` is created if absent
51
+ * @returns the schema names that were newly appended (empty when the scope is unused or already applied)
52
+ */
53
+ export declare function applyIncludeSchemaScope(allSchemas: string[], config: SchemaScopeConfig): string[];
54
+ //# sourceMappingURL=schema-scope.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schema-scope.d.ts","sourceRoot":"","sources":["../../src/Database/schema-scope.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH;;;;;;;;;;;;;GAaG;AACH,wBAAgB,qCAAqC,CACnD,UAAU,EAAE,MAAM,EAAE,EACpB,cAAc,EAAE,MAAM,EAAE,EACxB,sBAAsB,EAAE,MAAM,EAAE,GAC/B,MAAM,EAAE,CAYV;AAED,sEAAsE;AACtE,MAAM,WAAW,iBAAiB;IAChC,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1B,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;CAC3B;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,uBAAuB,CAAC,UAAU,EAAE,MAAM,EAAE,EAAE,MAAM,EAAE,iBAAiB,GAAG,MAAM,EAAE,CAUjG"}
@@ -0,0 +1,71 @@
1
+ /**
2
+ * Schema-scope resolution helpers for CodeGen.
3
+ *
4
+ * `includeSchemas` is an opt-in POSITIVE scope list. Rather than add a second filtering path
5
+ * throughout CodeGen, it is resolved INTO the existing `excludeSchemas` list, so every downstream
6
+ * consumer (metadata management, `createExcludeTablesAndSchemasFilter`, the file-generation phases)
7
+ * keeps reading a single already-scoped exclude list and needs no include-awareness.
8
+ *
9
+ * This module holds the pure resolution logic so it can be unit-tested without a database or config
10
+ * globals.
11
+ */
12
+ /**
13
+ * Resolve an opt-in `includeSchemas` positive scope into the list of schema names to ADD to
14
+ * `excludeSchemas`. A schema stays IN SCOPE iff it is named in `includeSchemas` AND not already in
15
+ * `existingExcludeSchemas`; every other schema in `allSchemas` is returned for exclusion. Matching is
16
+ * case-insensitive + trimmed, and the result is de-duplicated. No hidden auto-includes — the MJ core
17
+ * schema is excluded unless it is listed explicitly (include shrinks the addressable space;
18
+ * `excludeSchemas` still overlays on top).
19
+ *
20
+ * @param allSchemas the schema universe to scope against — see {@link applyIncludeSchemaScope}
21
+ * for why this must be sourced from the DATABASE, not from loaded metadata
22
+ * @param includeSchemas the opt-in positive scope (assumed non-empty by the caller)
23
+ * @param existingExcludeSchemas schemas already excluded (system + user config), left untouched
24
+ * @returns the schema names to append to `excludeSchemas`
25
+ */
26
+ export function computeSchemasToExcludeForIncludeList(allSchemas, includeSchemas, existingExcludeSchemas) {
27
+ const includeSet = new Set(includeSchemas.map((s) => s.trim().toLowerCase()));
28
+ const seenExcluded = new Set(existingExcludeSchemas.map((s) => s.trim().toLowerCase()));
29
+ const toExclude = [];
30
+ for (const schema of allSchemas) {
31
+ const key = schema.trim().toLowerCase();
32
+ if (!includeSet.has(key) && !seenExcluded.has(key)) {
33
+ toExclude.push(schema);
34
+ seenExcluded.add(key); // guard against duplicates within allSchemas
35
+ }
36
+ }
37
+ return toExclude;
38
+ }
39
+ /**
40
+ * Apply an `includeSchemas` positive scope by appending every out-of-scope schema in `allSchemas` to
41
+ * `config.excludeSchemas` in place. No-op when `includeSchemas` is absent or empty, which preserves
42
+ * classic exclude-only behavior exactly. Idempotent, so it is safe to call from more than one phase
43
+ * as the schema universe becomes better known.
44
+ *
45
+ * **`allSchemas` must be the DATABASE's schema list, not the schemas present in loaded metadata.**
46
+ * The primary job of an include list is to keep CodeGen off schemas it does not own — and the
47
+ * highest-risk case is a schema MJ has never seen before, because `createNewEntities()` discovers
48
+ * tables with no `EntityID` straight from the database and filters them only through
49
+ * `excludeSchemas`. A universe derived from `Metadata.Entities` contains, by definition, only schemas
50
+ * that ALREADY have entities, so it cannot exclude a never-seen schema: that schema would be adopted
51
+ * into metadata on the first run and then excluded on every subsequent run, leaving its entity
52
+ * records permanently orphaned. Callers without database access (e.g. the `--skipdb` file-generation
53
+ * path) may pass the metadata-derived universe as a secondary safety net, but it is not sufficient on
54
+ * its own.
55
+ *
56
+ * @param allSchemas the schema universe to scope against
57
+ * @param config the config to mutate; `excludeSchemas` is created if absent
58
+ * @returns the schema names that were newly appended (empty when the scope is unused or already applied)
59
+ */
60
+ export function applyIncludeSchemaScope(allSchemas, config) {
61
+ if (!config.includeSchemas || config.includeSchemas.length === 0) {
62
+ return []; // classic exclude-only behavior, unchanged
63
+ }
64
+ if (!config.excludeSchemas) {
65
+ config.excludeSchemas = [];
66
+ }
67
+ const toExclude = computeSchemasToExcludeForIncludeList(allSchemas, config.includeSchemas, config.excludeSchemas);
68
+ config.excludeSchemas.push(...toExclude);
69
+ return toExclude;
70
+ }
71
+ //# sourceMappingURL=schema-scope.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schema-scope.js","sourceRoot":"","sources":["../../src/Database/schema-scope.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH;;;;;;;;;;;;;GAaG;AACH,MAAM,UAAU,qCAAqC,CACnD,UAAoB,EACpB,cAAwB,EACxB,sBAAgC;IAEhC,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;IAC9E,MAAM,YAAY,GAAG,IAAI,GAAG,CAAC,sBAAsB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;IACxF,MAAM,SAAS,GAAa,EAAE,CAAC;IAC/B,KAAK,MAAM,MAAM,IAAI,UAAU,EAAE,CAAC;QAChC,MAAM,GAAG,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QACxC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;YACnD,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YACvB,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,6CAA6C;QACtE,CAAC;IACH,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAQD;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,UAAU,uBAAuB,CAAC,UAAoB,EAAE,MAAyB;IACrF,IAAI,CAAC,MAAM,CAAC,cAAc,IAAI,MAAM,CAAC,cAAc,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACjE,OAAO,EAAE,CAAC,CAAC,2CAA2C;IACxD,CAAC;IACD,IAAI,CAAC,MAAM,CAAC,cAAc,EAAE,CAAC;QAC3B,MAAM,CAAC,cAAc,GAAG,EAAE,CAAC;IAC7B,CAAC;IACD,MAAM,SAAS,GAAG,qCAAqC,CAAC,UAAU,EAAE,MAAM,CAAC,cAAc,EAAE,MAAM,CAAC,cAAc,CAAC,CAAC;IAClH,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,SAAS,CAAC,CAAC;IACzC,OAAO,SAAS,CAAC;AACnB,CAAC"}
@@ -37,10 +37,17 @@ export declare class EntitySubClassGeneratorBase {
37
37
  generateAllEntitySubClasses(pool: CodeGenConnection, entities: EntityInfo[], directory: string, skipDBUpdate: boolean): Promise<boolean>;
38
38
  generateEntitySubClassFileHeader(): string;
39
39
  /**
40
- *
41
- * @param entity
42
- * @param includeFileHeader
40
+ * Resolves an entity's generated base class and the import statement that class requires.
41
+ * Pure (no side effects) so BOTH {@link generateEntitySubClass} and the file assembler can call it —
42
+ * the assembler uses it to hoist and DE-DUPLICATE these imports into the file header. Emitting the
43
+ * import once per file instead of once per entity avoids a TS2300 duplicate-identifier error when a
44
+ * file contains 2+ external entities (each previously emitted `import { ReadOnlyExternalBaseEntity }`).
45
+ * Precedence: explicit custom subclass → ReadOnlyExternalBaseEntity (external entities) → BaseEntity.
43
46
  */
47
+ protected resolveEntityBaseClass(entity: EntityInfo): {
48
+ baseClass: string;
49
+ importStatement: string;
50
+ };
44
51
  generateEntitySubClass(pool: CodeGenConnection, entity: EntityInfo, includeFileHeader?: boolean, skipDBUpdate?: boolean): Promise<string>;
45
52
  /**
46
53
  * Finds the source parent entity for an IS-A inherited field by walking the parent chain.
@@ -1 +1 @@
1
- {"version":3,"file":"entity_subclasses_codegen.d.ts","sourceRoot":"","sources":["../../src/Misc/entity_subclasses_codegen.ts"],"names":[],"mappings":"AAAA,OAAO,EAAuC,eAAe,EAA4B,UAAU,EAAuC,MAAM,sBAAsB,CAAC;AAMvK,OAAO,EAAE,eAAe,EAAsB,MAAM,6BAA6B,CAAC;AAGlF,OAAO,EAAE,iBAAiB,EAAE,MAAM,qCAAqC,CAAC;AA0CxE;;GAEG;AACH,qBAAa,2BAA2B;IACtC;;;;OAIG;IACH,SAAS,CAAC,MAAM,CAAC,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;IAS1D;;;;;;;;;;OAUG;IACH,SAAS,CAAC,MAAM,CAAC,0BAA0B,CACvC,UAAU,EAAE,MAAM,EAClB,gBAAgB,EAAE,MAAM,EACxB,UAAU,EAAE,MAAM,EAClB,SAAS,EAAE,MAAM,GAClB;QAAE,KAAK,EAAE,OAAO,CAAC;QAAC,MAAM,EAAE,MAAM,EAAE,CAAA;KAAE;IAgDvC;;;;;;;OAOG;IACU,2BAA2B,CAAC,IAAI,EAAE,iBAAiB,EAAE,QAAQ,EAAE,UAAU,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,YAAY,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;IAoB9I,gCAAgC,IAAI,MAAM;IAYjD;;;;OAIG;IACU,sBAAsB,CAAC,IAAI,EAAE,iBAAiB,EAAE,MAAM,EAAE,UAAU,EAAE,iBAAiB,GAAE,OAAe,EAAE,YAAY,GAAE,OAAe,GAAG,OAAO,CAAC,MAAM,CAAC;IAoTpK;;;OAGG;IACH,SAAS,CAAC,uBAAuB,CAAC,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,eAAe,GAAG,MAAM;IAaxE,8BAA8B,CAAC,IAAI,EAAE,iBAAiB,EAAE,MAAM,EAAE,UAAU,EAAE,YAAY,EAAE,OAAO,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAoEhI,wBAAwB,CAAC,MAAM,EAAE,UAAU,GAAG,IAAI,GAAG;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,eAAe,EAAE,CAAA;KAAE;IAyEpG,qBAAqB,CAAC,MAAM,EAAE,UAAU,GAAG,MAAM;IAkExD;;;;;;OAMG;IACI,sBAAsB,CAAC,WAAW,EAAE,eAAe,EAAE,MAAM,CAAC,EAAE,UAAU,GAAG,MAAM;CA0BzF"}
1
+ {"version":3,"file":"entity_subclasses_codegen.d.ts","sourceRoot":"","sources":["../../src/Misc/entity_subclasses_codegen.ts"],"names":[],"mappings":"AAAA,OAAO,EAAuC,eAAe,EAA4B,UAAU,EAAuC,MAAM,sBAAsB,CAAC;AAMvK,OAAO,EAAE,eAAe,EAAsB,MAAM,6BAA6B,CAAC;AAGlF,OAAO,EAAE,iBAAiB,EAAE,MAAM,qCAAqC,CAAC;AA0CxE;;GAEG;AACH,qBAAa,2BAA2B;IACtC;;;;OAIG;IACH,SAAS,CAAC,MAAM,CAAC,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;IAS1D;;;;;;;;;;OAUG;IACH,SAAS,CAAC,MAAM,CAAC,0BAA0B,CACvC,UAAU,EAAE,MAAM,EAClB,gBAAgB,EAAE,MAAM,EACxB,UAAU,EAAE,MAAM,EAClB,SAAS,EAAE,MAAM,GAClB;QAAE,KAAK,EAAE,OAAO,CAAC;QAAC,MAAM,EAAE,MAAM,EAAE,CAAA;KAAE;IAgDvC;;;;;;;OAOG;IACU,2BAA2B,CAAC,IAAI,EAAE,iBAAiB,EAAE,QAAQ,EAAE,UAAU,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,YAAY,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;IAgC9I,gCAAgC,IAAI,MAAM;IAYjD;;;;;;;OAOG;IACH,SAAS,CAAC,sBAAsB,CAAC,MAAM,EAAE,UAAU,GAAG;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,eAAe,EAAE,MAAM,CAAA;KAAE;IAWvF,sBAAsB,CAAC,IAAI,EAAE,iBAAiB,EAAE,MAAM,EAAE,UAAU,EAAE,iBAAiB,GAAE,OAAe,EAAE,YAAY,GAAE,OAAe,GAAG,OAAO,CAAC,MAAM,CAAC;IAwSpK;;;OAGG;IACH,SAAS,CAAC,uBAAuB,CAAC,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,eAAe,GAAG,MAAM;IAaxE,8BAA8B,CAAC,IAAI,EAAE,iBAAiB,EAAE,MAAM,EAAE,UAAU,EAAE,YAAY,EAAE,OAAO,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAoEhI,wBAAwB,CAAC,MAAM,EAAE,UAAU,GAAG,IAAI,GAAG;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,eAAe,EAAE,CAAA;KAAE;IAyEpG,qBAAqB,CAAC,MAAM,EAAE,UAAU,GAAG,MAAM;IAkExD;;;;;;OAMG;IACI,sBAAsB,CAAC,WAAW,EAAE,eAAe,EAAE,MAAM,CAAC,EAAE,UAAU,GAAG,MAAM;CA0BzF"}
@@ -112,7 +112,17 @@ export class EntitySubClassGeneratorBase {
112
112
  for (const e of entities) {
113
113
  sContent += await this.generateEntitySubClass(pool, e, false, skipDBUpdate);
114
114
  }
115
- const allContent = `${this.generateEntitySubClassFileHeader()} \n ${zodContent} \n ${sContent}`;
115
+ // Hoist the base-class imports (e.g. ReadOnlyExternalBaseEntity for external entities, or custom
116
+ // subclass imports) into the file header, de-duplicated. Emitting each once — instead of once per
117
+ // entity — prevents a TS2300 duplicate-identifier error in files with 2+ external entities.
118
+ // Only consider entities that actually emit a class: generateEntitySubClass skips PK-less entities
119
+ // (returns ''), so hoisting their import would leave a dangling/unused import (a build error under
120
+ // a downstream consumer's noUnusedLocals). Match that skip condition here.
121
+ const subclassImports = [...new Set(entities
122
+ .filter((e) => e.PrimaryKeys.length > 0)
123
+ .map((e) => this.resolveEntityBaseClass(e).importStatement)
124
+ .filter((s) => s.length > 0))].join('');
125
+ const allContent = `${this.generateEntitySubClassFileHeader()} \n ${subclassImports}${zodContent} \n ${sContent}`;
116
126
  makeDir(directory);
117
127
  fs.writeFileSync(path.join(directory, 'entity_subclasses.ts'), allContent);
118
128
  return true;
@@ -134,10 +144,24 @@ export const loadModule = () => {
134
144
  `;
135
145
  }
136
146
  /**
137
- *
138
- * @param entity
139
- * @param includeFileHeader
147
+ * Resolves an entity's generated base class and the import statement that class requires.
148
+ * Pure (no side effects) so BOTH {@link generateEntitySubClass} and the file assembler can call it —
149
+ * the assembler uses it to hoist and DE-DUPLICATE these imports into the file header. Emitting the
150
+ * import once per file instead of once per entity avoids a TS2300 duplicate-identifier error when a
151
+ * file contains 2+ external entities (each previously emitted `import { ReadOnlyExternalBaseEntity }`).
152
+ * Precedence: explicit custom subclass → ReadOnlyExternalBaseEntity (external entities) → BaseEntity.
140
153
  */
154
+ resolveEntityBaseClass(entity) {
155
+ const explicitSubClass = entity.EntityObjectSubclassName ? entity.EntityObjectSubclassName : '';
156
+ const explicitSubClassImport = entity.EntityObjectSubclassImport ? entity.EntityObjectSubclassImport : '';
157
+ if (explicitSubClass.length > 0 && explicitSubClassImport.length > 0) {
158
+ return { baseClass: explicitSubClass, importStatement: `import { ${explicitSubClass} } from '${explicitSubClassImport}';\n` };
159
+ }
160
+ else if (entity.ExternalDataSourceID) {
161
+ return { baseClass: 'ReadOnlyExternalBaseEntity', importStatement: `import { ReadOnlyExternalBaseEntity } from '@memberjunction/core-entities';\n` };
162
+ }
163
+ return { baseClass: 'BaseEntity', importStatement: '' };
164
+ }
141
165
  async generateEntitySubClass(pool, entity, includeFileHeader = false, skipDBUpdate = false) {
142
166
  if (entity.PrimaryKeys.length === 0) {
143
167
  console.warn(`SKIPPING TYPESCRIPT GENERATION: Entity ${entity.Name} has no primary keys in metadata. If using soft primary keys, ensure metadata was refreshed after applySoftPKFKConfig().`);
@@ -256,29 +280,16 @@ export const loadModule = () => {
256
280
  // appear in downstream generated packages, so the @memberjunction/core-entities import
257
281
  // is always a clean cross-package import, never a self-import.)
258
282
  // 3. BaseEntity for everything else.
259
- const explicitSubClass = entity.EntityObjectSubclassName ? entity.EntityObjectSubclassName : '';
260
- const explicitSubClassImport = entity.EntityObjectSubclassImport ? entity.EntityObjectSubclassImport : '';
261
- const hasExplicitSubClass = explicitSubClass.length > 0 && explicitSubClassImport.length > 0;
262
- let sBaseClass;
263
- let subClassImportStatement;
264
- if (hasExplicitSubClass) {
265
- if (entity.ExternalDataSourceID) {
266
- // The custom subclass takes precedence over ReadOnlyExternalBaseEntity, so this external
267
- // entity's read-only guarantee is preserved ONLY if that subclass itself extends
268
- // ReadOnlyExternalBaseEntity. Warn so the author doesn't silently lose Save/Delete rejection
269
- // (there's no write sproc, so an attempted mutation would otherwise fail confusingly downstream).
270
- logStatus(` ⚠️ External entity '${entity.Name}' has a custom subclass ('${explicitSubClass}') that overrides ReadOnlyExternalBaseEntity — Save/Delete will be rejected only if '${explicitSubClass}' extends ReadOnlyExternalBaseEntity.`);
271
- }
272
- sBaseClass = explicitSubClass;
273
- subClassImportStatement = `import { ${explicitSubClass} } from '${explicitSubClassImport}';\n`;
274
- }
275
- else if (entity.ExternalDataSourceID) {
276
- sBaseClass = 'ReadOnlyExternalBaseEntity';
277
- subClassImportStatement = `import { ReadOnlyExternalBaseEntity } from '@memberjunction/core-entities';\n`;
278
- }
279
- else {
280
- sBaseClass = 'BaseEntity';
281
- subClassImportStatement = '';
283
+ // Base class + its import come from resolveEntityBaseClass (pure) so the file assembler can hoist
284
+ // and de-duplicate the imports into the header. The per-entity inline import (below) is emitted
285
+ // ONLY in the standalone includeFileHeader path (single entity → no duplication); in the
286
+ // multi-entity file path the assembler owns the (deduped) imports.
287
+ const { baseClass: sBaseClass, importStatement: subClassImportStatement } = this.resolveEntityBaseClass(entity);
288
+ if (entity.ExternalDataSourceID && entity.EntityObjectSubclassName && entity.EntityObjectSubclassImport) {
289
+ // Custom subclass takes precedence over ReadOnlyExternalBaseEntity, so this external entity's
290
+ // read-only guarantee holds ONLY if that subclass itself extends ReadOnlyExternalBaseEntity.
291
+ // Warn so the author doesn't silently lose Save/Delete rejection.
292
+ logStatus(` ⚠️ External entity '${entity.Name}' has a custom subclass ('${entity.EntityObjectSubclassName}') that overrides ReadOnlyExternalBaseEntity — Save/Delete will be rejected only if '${entity.EntityObjectSubclassName}' extends ReadOnlyExternalBaseEntity.`);
282
293
  }
283
294
  const loadFieldString = entity.PrimaryKeys.map((f) => `${f.CodeName}: ${f.TSType}`).join(', ');
284
295
  const loadFunction = ` /**
@@ -418,7 +429,7 @@ ${jsonTypeBlock}
418
429
  * @class${disabledFlag}
419
430
  * @public${deprecatedFlag}
420
431
  */
421
- ${subClassImportStatement}@RegisterClass(BaseEntity, '${entity.Name}')
432
+ ${includeFileHeader ? subClassImportStatement : ''}@RegisterClass(BaseEntity, '${entity.Name}')
422
433
  export class ${sClassName} extends ${sBaseClass}<${sClassName}Type> {${loadFunction ? '\n' + loadFunction : ''}${saveFunction ? '\n\n' + saveFunction : ''}${deleteFunction ? '\n\n' + deleteFunction : ''}${validateFunction ? '\n\n' + validateFunction : ''}
423
434
 
424
435
  ${fields}
@@ -1 +1 @@
1
- {"version":3,"file":"entity_subclasses_codegen.js","sourceRoot":"","sources":["../../src/Misc/entity_subclasses_codegen.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAA4C,wBAAwB,EAAc,QAAQ,EAAE,yBAAyB,EAAE,MAAM,sBAAsB,CAAC;AACvK,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,MAAM,YAAY,CAAC;AAC5B,OAAO,EAAE,OAAO,EAAE,0BAA0B,EAAE,MAAM,cAAc,CAAC;AACnE,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,EAAmB,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AAClF,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAY3C;;;;;GAKG;AACH,SAAS,wBAAwB;IAC7B,MAAM,KAAK,GAAG,IAAI,GAAG,EAAU,CAAC;IAChC,IAAI,KAAK,GAAG,UAAU,CAAC,SAAS,CAAC;IACjC,OAAO,KAAK,IAAI,KAAK,KAAK,MAAM,CAAC,SAAS,EAAE,CAAC;QACzC,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,mBAAmB,CAAC,KAAK,CAAC,EAAE,CAAC;YACnD,IAAI,IAAI,KAAK,aAAa,EAAE,CAAC;gBACzB,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YACpB,CAAC;QACL,CAAC;QACD,KAAK,GAAG,MAAM,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;IACzC,CAAC;IACD,OAAO,KAAK,CAAC;AACjB,CAAC;AAED,MAAM,0BAA0B,GAAG,wBAAwB,EAAE,CAAC;AAE9D;;;GAGG;AACH,SAAS,YAAY,CAAC,KAAsB;IACxC,MAAM,GAAG,GAAG,KAAK,CAAC,QAAQ,CAAC;IAC3B,OAAO,0BAA0B,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;AACjE,CAAC;AAED;;GAEG;AACH,MAAM,OAAO,2BAA2B;IACtC;;;;OAIG;IACO,MAAM,CAAC,mBAAmB,CAAC,IAAY;QAC/C,IAAI,IAAI,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAC,CAAC;YAC3B,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QAC9G,CAAC;aACI,CAAC;YACJ,OAAO,EAAE,CAAC;QACZ,CAAC;IACH,CAAC;IAED;;;;;;;;;;OAUG;IACO,MAAM,CAAC,0BAA0B,CACvC,UAAkB,EAClB,gBAAwB,EACxB,UAAkB,EAClB,SAAiB;QAEjB,MAAM,MAAM,GAAa,EAAE,CAAC;QAC5B,MAAM,MAAM,GAAG,cAAc,UAAU,IAAI,SAAS,EAAE,CAAC;QAEvD,mDAAmD;QACnD,MAAM,UAAU,GAAG,EAAE,CAAC,gBAAgB,CAClC,wBAAwB,EACxB,UAAU,EACV,EAAE,CAAC,YAAY,CAAC,MAAM,EACtB,IAAI,EACJ,EAAE,CAAC,UAAU,CAAC,EAAE,CACnB,CAAC;QAEF,2EAA2E;QAC3E,0EAA0E;QAC1E,0CAA0C;QAC1C,MAAM,oBAAoB,GAAI,UAA+B,CAAC,gBAAgB,IAAI,EAAE,CAAC;QACrF,KAAK,MAAM,IAAI,IAAI,oBAAoB,EAAE,CAAC;YACtC,MAAM,OAAO,GAAG,EAAE,CAAC,4BAA4B,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;YACxE,MAAM,CAAC,IAAI,CAAC,GAAG,MAAM,oBAAoB,OAAO,EAAE,CAAC,CAAC;QACxD,CAAC;QAED,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACpB,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC;QACpC,CAAC;QAED,6DAA6D;QAC7D,MAAM,YAAY,GAAG,IAAI,GAAG,EAAU,CAAC;QACvC,EAAE,CAAC,YAAY,CAAC,UAAU,EAAE,CAAC,IAAI,EAAE,EAAE;YACjC,IAAI,EAAE,CAAC,sBAAsB,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,sBAAsB,CAAC,IAAI,CAAC;gBAClE,EAAE,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,kBAAkB,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC5D,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;oBACZ,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACrC,CAAC;YACL,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,gBAAgB,CAAC,EAAE,CAAC;YACtC,MAAM,CAAC,IAAI,CACP,GAAG,MAAM,eAAe,gBAAgB,0CAA0C;gBAClF,UAAU,YAAY,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CACrF,CAAC;YACF,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC;QACpC,CAAC;QAED,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC;IACvC,CAAC;IAED;;;;;;;OAOG;IACI,KAAK,CAAC,2BAA2B,CAAC,IAAuB,EAAE,QAAsB,EAAE,SAAiB,EAAE,YAAqB;QAChI,IAAI,CAAC;YACH,yFAAyF;YACzF,MAAM,UAAU,GAAW,QAAQ,CAAC,GAAG,CAAC,CAAC,MAAkB,EAAE,EAAE,CAAC,IAAI,CAAC,qBAAqB,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAC7G,IAAI,QAAQ,GAAW,EAAE,CAAC;YAC1B,KAAK,MAAM,CAAC,IAAI,QAAQ,EAAE,CAAC;gBACzB,QAAQ,IAAI,MAAM,IAAI,CAAC,sBAAsB,CAAC,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,YAAY,CAAC,CAAC;YAC9E,CAAC;YACD,MAAM,UAAU,GAAG,GAAG,IAAI,CAAC,gCAAgC,EAAE,OAAO,UAAU,OAAO,QAAQ,EAAE,CAAC;YAEhG,OAAO,CAAC,SAAS,CAAC,CAAC;YACnB,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,sBAAsB,CAAC,EAAE,UAAU,CAAC,CAAC;YAE3E,OAAO,IAAI,CAAC;QACd,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YACnB,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IAEM,gCAAgC;QACrC,OAAO;;;;;;;;KAQN,CAAC;IACJ,CAAC;IAED;;;;OAIG;IACI,KAAK,CAAC,sBAAsB,CAAC,IAAuB,EAAE,MAAkB,EAAE,oBAA6B,KAAK,EAAE,eAAwB,KAAK;QAChJ,IAAI,MAAM,CAAC,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACpC,OAAO,CAAC,IAAI,CAAC,0CAA0C,MAAM,CAAC,IAAI,0HAA0H,CAAC,CAAC;YAC9L,OAAO,EAAE,CAAC;QACZ,CAAC;aAAM,CAAC;YACN,0EAA0E;YAC1E,MAAM,YAAY,GAAG,0BAA0B,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YAC/D,MAAM,UAAU,GAAW,GAAG,MAAM,CAAC,SAAS,QAAQ,CAAC;YAEvD,MAAM,MAAM,GAAW,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;gBAC5C,IAAI,MAAM,GAAW,EAAE,CAAC;gBACxB,IAAI,SAAS,GAAW,EAAE,CAAC;gBAC3B,IAAI,CAAC,CAAC,aAAa,IAAI,CAAC,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,KAAK,MAAM,EAAE,CAAC;oBACrG,6DAA6D;oBAC7D,MAAM,YAAY,GAAG,0BAA0B,CAAC,CAAC,GAAG,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC;oBAC1E,MAAM,GAAG,YAAY,CAAC,GAAG,CACvB,CAAC,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,WAAW,IAAI,CAAC,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,2BAA2B,CAAC,mBAAmB,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAC1J,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;oBACX,SAAS,GAAG,8BAA8B,CAAC,CAAC,aAAa,4BAA4B,GAAG,MAAM,CAAC;gBACjG,CAAC;gBACD,0FAA0F;gBAC1F,2FAA2F;gBAC3F,6FAA6F;gBAC7F,MAAM,WAAW,GAAG,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC;gBAC/D,IAAI,UAAU,GAAW,yBAAyB,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;gBAC7F,4EAA4E;gBAC5E,IAAI,oBAAoB,GAAkF,IAAI,CAAC;gBAC/G,IAAI,WAAW,EAAE,CAAC;oBAChB,MAAM,gBAAgB,GAAG,CAAC,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;oBAC3C,MAAM,gBAAgB,GAAG,GAAG,UAAU,IAAI,gBAAgB,EAAE,CAAC;oBAC7D,MAAM,OAAO,GAAG,CAAC,CAAC,eAAe,KAAK,IAAI,CAAC;oBAC3C,MAAM,cAAc,GAAG,OAAO,CAAC,CAAC,CAAC,SAAS,gBAAgB,GAAG,CAAC,CAAC,CAAC,gBAAgB,CAAC;oBACjF,oBAAoB,GAAG,EAAE,gBAAgB,EAAE,cAAc,EAAE,cAAc,GAAG,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,OAAO,EAAE,CAAC;oBACvH,uFAAuF;gBACzF,CAAC;gBACD,IAAI,CAAC,WAAW,IAAI,CAAC,CAAC,iBAAiB,KAAK,wBAAwB,CAAC,IAAI,IAAI,CAAC,CAAC,iBAAiB,IAAI,CAAC,CAAC,iBAAiB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACnI,gEAAgE;oBAChE,MAAM,MAAM,GAAG,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;oBACxC,iGAAiG;oBACjG,MAAM,YAAY,GAAG,0BAA0B,CAAC,CAAC,GAAG,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC;oBAC1E,UAAU,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,MAAM,GAAG,CAAC,CAAC,KAAK,GAAG,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;oBACjF,IAAI,CAAC,CAAC,iBAAiB,KAAK,wBAAwB,CAAC,eAAe,EAAE,CAAC;wBACrE,2DAA2D;wBAC3D,UAAU,IAAI,KAAK,GAAG,yBAAyB,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;oBAC1D,CAAC;oBACD,+CAA+C;oBAC/C,IAAI,CAAC,CAAC,UAAU,EAAE,CAAC;wBACjB,UAAU,IAAI,SAAS,CAAC;oBAC1B,CAAC;gBACH,CAAC;gBACD,MAAM,mBAAmB,GAAW,CAAC,CAAC,MAAM,KAAK,YAAY,IAAI,CAAC,CAAC,MAAM,KAAK,UAAU,CAAC,CAAC;oBACtF,mIAAmI,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC7I,MAAM,iBAAiB,GAAW,CAAC,CAAC,MAAM,KAAK,UAAU,CAAC,CAAC;oBACvD,sJAAsJ,CAAC,CAAC,CAAC,EAAE,CAAC;gBAEhK,oFAAoF;gBACpF,MAAM,gBAAgB,GAAG,CAAC,CAAC,SAAS,IAAI,CAAC,CAAC,cAAc,IAAI,MAAM,CAAC,WAAW,CAAC;gBAC/E,MAAM,gBAAgB,GAAG,gBAAgB;oBACrC,CAAC,CAAC,yCAAyC,IAAI,CAAC,uBAAuB,CAAC,MAAM,EAAE,CAAC,CAAC,EAAE;oBACpF,CAAC,CAAC,EAAE,CAAC;gBAET,MAAM,eAAe,GAAG,WAAW,IAAI,oBAAoB;oBACvD,CAAC,CAAC,wBAAwB,oBAAoB,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,oBAAoB,CAAC,gBAAgB,GAAG,CAAC,CAAC,CAAC,oBAAoB,CAAC,gBAAgB,EAAE;oBACpJ,CAAC,CAAC,EAAE,CAAC;gBAET,MAAM,QAAQ,GAAG,YAAY,CAAC,CAAC,CAAC,CAAC;gBACjC,MAAM,YAAY,GAAG,QAAQ,KAAK,CAAC,CAAC,QAAQ;oBACxC,CAAC,CAAC,yCAAyC,QAAQ,wCAAwC,CAAC,CAAC,QAAQ,EAAE;oBACvG,CAAC,CAAC,EAAE,CAAC;gBAET,4EAA4E;gBAC5E,MAAM,UAAU,GAAG,oBAAoB,CAAC,CAAC,IAAI,KAAK,CAAC;gBACnD,MAAM,UAAU,GAAG,aAAa,CAAC,CAAC,IAAI,YAAY,CAAC;gBAEnD,IAAI,IAAI,GAAW;sBACL,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,WAAW,IAAI,CAAC,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,0BAA0B,GAAG,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE;UAChH,mBAAmB,GAAG,iBAAiB,kBAAkB,CAAC,CAAC,WAAW,GAAG,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,wCAAwC,GAAG,CAAC,CAAC,aAAa,GAAG,IAAI,GAAG,CAAC,CAAC,qBAAqB,GAAG,GAAG,GAAG,CAAC,CAAC,sBAAsB,GAAG,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,YAAY,IAAI,CAAC,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,2BAA2B,GAAG,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,GAAG,SAAS,GAAG,eAAe,GAAG,CAAC,CAAC,WAAW,IAAI,CAAC,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,yBAAyB,GAAG,2BAA2B,CAAC,mBAAmB,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,gBAAgB,GAAG,YAAY;;UAElhB,QAAQ,OAAO,UAAU;UACzB,UAAU;MACd,CAAC;gBACC,IAAI,CAAC,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC,CAAC,YAAY,IAAI,CAAC,CAAC,CAAC,aAAa,CAAC,IAAI,gBAAgB,EAAE,CAAC;oBAC5E,IAAI,IAAI;UACR,QAAQ,WAAW,UAAU;UAC7B,UAAU;MACd,CAAC;gBACC,CAAC;gBAED,iEAAiE;gBACjE,IAAI,WAAW,IAAI,oBAAoB,EAAE,CAAC;oBACxC,MAAM,OAAO,GAAG,GAAG,QAAQ,QAAQ,CAAC;oBACpC,MAAM,WAAW,GAAG,IAAI,OAAO,SAAS,CAAC;oBACzC,MAAM,YAAY,GAAG,IAAI,OAAO,UAAU,CAAC;oBAC3C,MAAM,EAAE,GAAG,oBAAoB,CAAC,cAAc,CAAC;oBAE/C,IAAI,IAAI;;cAEJ,WAAW,KAAK,EAAE;cAClB,YAAY;;2BAEC,CAAC,CAAC,IAAI,6BAA6B,oBAAoB,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,oBAAoB,CAAC,gBAAgB,GAAG,CAAC,CAAC,CAAC,oBAAoB,CAAC,gBAAgB;;;UAG5K,OAAO,OAAO,EAAE;2BACC,QAAQ;2BACR,YAAY;mBACpB,WAAW;mBACX,YAAY;;sBAET,WAAW;;UAEvB,OAAO,WAAW,EAAE;;eAEf,QAAQ;eACR,WAAW;eACX,YAAY;MACrB,CAAC;gBACC,CAAC;gBAED,OAAO,IAAI,CAAC;YACd,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YAEhB,8CAA8C;YAC9C,+FAA+F;YAC/F,wFAAwF;YACxF,4FAA4F;YAC5F,4FAA4F;YAC5F,qEAAqE;YACrE,uCAAuC;YACvC,MAAM,gBAAgB,GAAW,MAAM,CAAC,wBAAwB,CAAC,CAAC,CAAC,MAAM,CAAC,wBAAwB,CAAC,CAAC,CAAC,EAAE,CAAC;YACxG,MAAM,sBAAsB,GAAW,MAAM,CAAC,0BAA0B,CAAC,CAAC,CAAC,MAAM,CAAC,0BAA0B,CAAC,CAAC,CAAC,EAAE,CAAC;YAClH,MAAM,mBAAmB,GAAY,gBAAgB,CAAC,MAAM,GAAG,CAAC,IAAI,sBAAsB,CAAC,MAAM,GAAG,CAAC,CAAC;YAEtG,IAAI,UAAkB,CAAC;YACvB,IAAI,uBAA+B,CAAC;YACpC,IAAI,mBAAmB,EAAE,CAAC;gBACxB,IAAI,MAAM,CAAC,oBAAoB,EAAE,CAAC;oBAChC,yFAAyF;oBACzF,iFAAiF;oBACjF,6FAA6F;oBAC7F,kGAAkG;oBAClG,SAAS,CAAC,2BAA2B,MAAM,CAAC,IAAI,6BAA6B,gBAAgB,wFAAwF,gBAAgB,uCAAuC,CAAC,CAAC;gBAChP,CAAC;gBACD,UAAU,GAAG,gBAAgB,CAAC;gBAC9B,uBAAuB,GAAG,YAAY,gBAAgB,YAAY,sBAAsB,MAAM,CAAC;YACjG,CAAC;iBAAM,IAAI,MAAM,CAAC,oBAAoB,EAAE,CAAC;gBACvC,UAAU,GAAG,4BAA4B,CAAC;gBAC1C,uBAAuB,GAAG,+EAA+E,CAAC;YAC5G,CAAC;iBAAM,CAAC;gBACN,UAAU,GAAG,YAAY,CAAC;gBAC1B,uBAAuB,GAAG,EAAE,CAAC;YAC/B,CAAC;YACD,MAAM,eAAe,GAAW,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,QAAQ,KAAK,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACvG,MAAM,YAAY,GAAW;kBACjB,MAAM,CAAC,IAAI;MACvB,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,YAAY,CAAC,CAAC,QAAQ,KAAK,CAAC,CAAC,MAAM,oCAAoC,MAAM,CAAC,IAAI,UAAU,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC;;;;;kBAK9H,UAAU;;;;wBAIJ,eAAe;;UAE7B,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,iDAAiD,CAAC,CAAC,IAAI,aAAa,CAAC,CAAC,QAAQ,MAAM,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC;;MAE1I,CAAC;YACD,IAAI,cAAc,GAAW,EAAE,CAAC;YAChC,IAAI,CAAC,MAAM,CAAC,cAAc,EAAE,CAAC;gBAC3B,qCAAqC;gBACrC,cAAc,GAAG;QACjB,MAAM,CAAC,IAAI;;;;kBAID,UAAU;oDACwB,MAAM,CAAC,IAAI;;;qDAGV,MAAM,CAAC,IAAI;MAC1D,CAAC;YACD,CAAC;iBAAM,IAAI,MAAM,CAAC,cAAc,EAAE,CAAC;gBACjC,oDAAoD;gBACpD,cAAc,GAAG;QACjB,MAAM,CAAC,IAAI;;;;;kBAKD,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;MA2BtB,CAAC;YACD,CAAC;YAED,MAAM,YAAY,GAChB,MAAM,CAAC,cAAc,IAAI,MAAM,CAAC,cAAc;gBAC5C,CAAC,CAAC,EAAE;gBACJ,CAAC,CAAC;QACJ,MAAM,CAAC,IAAI;;;;kBAID,UAAU;kDACsB,MAAM,CAAC,IAAI;;;mDAGV,MAAM,CAAC,IAAI;MACxD,CAAC;YAEH,MAAM,gBAAgB,GAAkB,MAAM,IAAI,CAAC,8BAA8B,CAAC,IAAI,EAAE,MAAM,EAAE,YAAY,CAAC,CAAC;YAE9G,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;YAClD,MAAM,cAAc,GAAW,MAAM,KAAK,YAAY,IAAI,MAAM,KAAK,UAAU,CAAC,CAAC;gBAC7E,+HAA+H,CAAC,CAAC,CAAC,EAAE,CAAC;YACzI,MAAM,YAAY,GAAW,MAAM,KAAK,UAAU,CAAC,CAAC;gBAChD,kJAAkJ,CAAC,CAAC,CAAC,EAAE,CAAC;YAC1J,+DAA+D;YAC/D,4FAA4F;YAC5F,2FAA2F;YAC3F,oGAAoG;YACpG,iFAAiF;YACjF,MAAM,mBAAmB,GAAG,IAAI,GAAG,EAAU,CAAC;YAC9C,KAAK,MAAM,KAAK,IAAI,YAAY,EAAE,CAAC;gBAC/B,IAAI,KAAK,CAAC,kBAAkB,IAAI,KAAK,CAAC,kBAAkB,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACzE,MAAM,UAAU,GAAG,KAAK,CAAC,kBAAkB,CAAC,IAAI,EAAE,CAAC;oBACnD,IAAI,KAAK,CAAC,QAAQ,IAAI,KAAK,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;wBACrD,MAAM,UAAU,GAAG,2BAA2B,CAAC,0BAA0B,CACrE,UAAU,EAAE,KAAK,CAAC,QAAQ,CAAC,IAAI,EAAE,EAAE,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,CAC7D,CAAC;wBACF,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;4BACpB,KAAK,MAAM,GAAG,IAAI,UAAU,CAAC,MAAM,EAAE,CAAC;gCAClC,QAAQ,CAAC,GAAG,CAAC,CAAC;4BAClB,CAAC;4BACD,QAAQ,CAAC,8CAA8C,MAAM,CAAC,IAAI,IAAI,KAAK,CAAC,IAAI,qFAAqF,CAAC,CAAC;4BACtK,KAA4C,CAAC,QAAQ,GAAG,IAAI,CAAC;4BAC9D,SAAS;wBACb,CAAC;oBACL,CAAC;oBACD,oFAAoF;oBACpF,sFAAsF;oBACtF,IAAI,YAAY,GAAG,UAAU,CAAC;oBAC9B,MAAM,UAAU,GAAG,EAAE,CAAC,gBAAgB,CAAC,SAAS,EAAE,UAAU,EAAE,EAAE,CAAC,YAAY,CAAC,MAAM,EAAE,IAAI,EAAE,EAAE,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;oBAC9G,EAAE,CAAC,YAAY,CAAC,UAAU,EAAE,CAAC,IAAI,EAAE,EAAE;wBACjC,IAAI,CAAC,EAAE,CAAC,sBAAsB,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,sBAAsB,CAAC,IAAI,CAAC;4BAClE,EAAE,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;4BAC3E,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;4BACpC,MAAM,YAAY,GAAG,GAAG,UAAU,IAAI,YAAY,EAAE,CAAC;4BACrD,YAAY,GAAG,YAAY,CAAC,OAAO,CAAC,IAAI,MAAM,CAAC,KAAK,GAAG,YAAY,GAAG,KAAK,EAAE,GAAG,CAAC,EAAE,YAAY,CAAC,CAAC;wBACrG,CAAC;oBACL,CAAC,CAAC,CAAC;oBACH,mBAAmB,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;gBAC1C,CAAC;YACL,CAAC;YACD,MAAM,aAAa,GAAG,mBAAmB,CAAC,IAAI,GAAG,CAAC;gBAC9C,CAAC,CAAC,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,IAAI;gBAC5D,CAAC,CAAC,EAAE,CAAC;YAET,IAAI,IAAI,GAAW;EACvB,aAAa;;KAEV,MAAM,CAAC,IAAI;eACD,MAAM,CAAC,UAAU;mBACb,MAAM,CAAC,SAAS;kBACjB,MAAM,CAAC,QAAQ,GAAG,MAAM,CAAC,WAAW,IAAI,MAAM,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,sBAAsB,GAAG,2BAA2B,CAAC,mBAAmB,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,EAAE;kBACzK,MAAM,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,KAAK,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;;WAEpG,YAAY;YACX,cAAc;;EAExB,uBAAuB,+BAA+B,MAAM,CAAC,IAAI;eACpD,UAAU,YAAY,UAAU,IAAI,UAAU,UAAU,YAAY,CAAC,CAAC,CAAC,IAAI,GAAG,YAAY,CAAC,CAAC,CAAC,EAAE,GAAG,YAAY,CAAC,CAAC,CAAC,MAAM,GAAG,YAAY,CAAC,CAAC,CAAC,EAAE,GAAG,cAAc,CAAC,CAAC,CAAC,MAAM,GAAG,cAAc,CAAC,CAAC,CAAC,EAAE,GAAG,gBAAgB,CAAC,CAAC,CAAC,MAAM,GAAG,gBAAgB,CAAC,CAAC,CAAC,EAAE;;EAE5P,MAAM;;CAEP,CAAC;YACI,IAAI,iBAAiB;gBAAE,IAAI,GAAG,IAAI,CAAC,gCAAgC,EAAE,GAAG,IAAI,CAAC;YAE7E,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IAED;;;OAGG;IACO,uBAAuB,CAAC,MAAkB,EAAE,KAAsB;QAC1E,KAAK,MAAM,MAAM,IAAI,MAAM,CAAC,WAAW,EAAE,CAAC;YACxC,MAAM,WAAW,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CACpC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,KAAK,KAAK,CAAC,IAAI,IAAI,CAAC,EAAE,CAAC,SAAS,CAC9C,CAAC;YACF,IAAI,WAAW,EAAE,CAAC;gBAChB,OAAO,MAAM,CAAC,IAAI,CAAC;YACrB,CAAC;QACH,CAAC;QACD,oDAAoD;QACpD,OAAO,MAAM,CAAC,gBAAgB,EAAE,IAAI,IAAI,eAAe,CAAC;IAC1D,CAAC;IAEM,KAAK,CAAC,8BAA8B,CAAC,IAAuB,EAAE,MAAkB,EAAE,YAAqB;QAC5G,uCAAuC;QACvC,MAAM,GAAG,GAAG,IAAI,CAAC,wBAAwB,CAAC,MAAM,CAAC,CAAC;QAClD,IAAI,GAAG,IAAI,GAAG,CAAC,IAAI,EAAE,CAAC;YACpB,4JAA4J;YAC5J,iDAAiD;YACjD,wJAAwJ;YACxJ,MAAM,EAAE,GAAG,IAAI,QAAQ,EAAE,CAAC,CAAC,qEAAqE;YAChG,MAAM,oBAAoB,GAAG,EAAE,CAAC,YAAY,CAAC,mBAAmB,CAAC,EAAE,EAAE,CAAC;YACtE,MAAM,gBAAgB,GAAG,EAAE,CAAC,YAAY,CAAC,cAAc,CAAC,EAAE,EAAE,CAAC;YAE7D,IAAI,CAAC,YAAY,EAAE,CAAC;gBAClB,kJAAkJ;gBAClJ,2GAA2G;gBAC3G,uFAAuF;gBACvF,kEAAkE;gBAClE,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;gBAC7B,MAAM,EAAE,GAAG,CAAC,CAAS,EAAE,EAAE,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;gBACrD,MAAM,GAAG,GAAG,CAAC,CAAS,EAAE,EAAE,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC;gBACzD,MAAM,MAAM,GAAG,OAAO,CAAC,mBAAmB,EAAE,CAAC;gBAC7C,MAAM,gBAAgB,GAAG,OAAO,CAAC,WAAW,CAAC,cAAc,EAAE,EAAE,eAAe,CAAC,CAAC;gBAChF,MAAM,qBAAqB,GAAG,OAAO,CAAC,WAAW,CAAC,cAAc,EAAE,EAAE,2BAA2B,CAAC,CAAC;gBACjG,MAAM,uBAAuB,GAAG,WAAW,EAAE,CAAC,IAAI,CAAC,SAAS,qBAAqB,UAAU,EAAE,CAAC,MAAM,CAAC,IAAI,GAAG,CAAC,qBAAqB,CAAC,GAAG,CAAC;gBAEvI,IAAI,IAAI,GAAY,EAAE,CAAC;gBACvB,MAAM,aAAa,GAAG,GAAG,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC;gBACnE,KAAK,MAAM,CAAC,IAAI,aAAa,EAAE,CAAC;oBAC9B,mGAAmG;oBACnG,MAAM,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC,SAAS,EAAE,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,CAAC;oBACvG,IAAI,IAAI,2BAA2B,MAAM,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,WAAW,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,gBAAgB,6LAA6L,CAAA;oBACzR,IAAI,CAAC,CAAC,eAAe,EAAE,CAAC;wBACtB,qEAAqE;wBACrE,IAAI,IAAI,UAAU,gBAAgB;0BACpB,EAAE,CAAC,QAAQ,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,qBAAqB,CAAC;0BAC5C,EAAE,CAAC,MAAM,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,YAAY,CAAC;0BACjC,EAAE,CAAC,aAAa,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,mBAAmB,CAAC;0BAC/C,EAAE,CAAC,MAAM,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,YAAY,CAAC;0BACjC,EAAE,CAAC,aAAa,CAAC,IAAI,MAAM;0BAC3B,EAAE,CAAC,oBAAoB,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC;;0BAE5C,EAAE,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,eAAe,CAAC,GAAG,CAAA;oBACrD,CAAC;yBACI,CAAC;wBACJ,2DAA2D;wBAC3D,MAAM,cAAc,GAAG,CAAC,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,gBAAgB,CAAC;wBACnE,MAAM,cAAc,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC;wBAC5C,IAAI,IAAI,eAAe,gBAAgB,KAAK,EAAE,CAAC,YAAY,CAAC,KAAK,EAAE,CAAC,oBAAoB,CAAC,KAAK,EAAE,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,aAAa,CAAC,KAAK,EAAE,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,gBAAgB,CAAC,KAAK,EAAE,CAAC,wBAAwB,CAAC;gCAC9P,uBAAuB,KAAK,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,MAAM,KAAK,GAAG,CAAC,YAAY,CAAC,KAAK,GAAG,CAAC,UAAU,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,qBAAqB,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,YAAY,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,mBAAmB,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,YAAY,CAAC,KAAK,GAAG,CAAC,cAAc,IAAI,EAAE,CAAC,KAAK,GAAG,CAAC,cAAc,CAAC;;aAE1R,CAAA;oBACH,CAAC;gBACH,CAAC;gBAED,8BAA8B;gBAC9B,IAAI,CAAC;oBACH,MAAM,UAAU,CAAC,gBAAgB,CAAC,IAAI,EAAE,IAAI,EAAE,sCAAsC,MAAM,CAAC,IAAI,EAAE,EAAE,KAAK,CAAC,CAAC;gBAC5G,CAAC;gBACD,OAAO,CAAC,EAAE,CAAC;oBACT,QAAQ,CAAC,uCAAuC,MAAM,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC,CAAC;gBACvE,CAAC;YACH,CAAC;YAED,OAAO,GAAG,CAAC,IAAI,CAAC;QAClB,CAAC;aACI,CAAC;YACJ,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IACM,wBAAwB,CAAC,MAAkB;QAChD,oGAAoG;QACpG,MAAM,kBAAkB,GAAG,kBAAkB,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,KAAK,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,CAAC;QACxJ,MAAM,gBAAgB,GAAG,kBAAkB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;YACxD,+FAA+F;YAC/F,IAAI,CAAC,CAAC,SAAS,IAAI,CAAC,CAAC,SAAS,EAAE,CAAC;gBAC/B,MAAM,GAAG,GAAG,CAAC,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,YAAY,CAAC,aAAa,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC;gBACnG,IAAI,GAAG,KAAK,CAAC;oBAAE,OAAO,GAAG,CAAC;YAC5B,CAAC;iBAAM,IAAI,CAAC,CAAC,SAAS,EAAE,CAAC;gBACvB,OAAO,CAAC,CAAC,CAAC,CAAC,gBAAgB;YAC7B,CAAC;iBAAM,IAAI,CAAC,CAAC,SAAS,EAAE,CAAC;gBACvB,OAAO,CAAC,CAAC,CAAC,gBAAgB;YAC5B,CAAC;iBAAM,CAAC;gBACN,MAAM,GAAG,GAAG,CAAC,CAAC,YAAY,CAAC,aAAa,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,8CAA8C;gBACxG,IAAI,GAAG,KAAK,CAAC;oBAAE,OAAO,GAAG,CAAC;YAC5B,CAAC;YACD,kDAAkD;YAClD,OAAO,CAAC,CAAC,eAAe,CAAC,aAAa,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC;QAC5D,CAAC,CAAC,CAAC;QAEH,2FAA2F;QAC3F,sFAAsF;QACtF,wFAAwF;QACxF,MAAM,iBAAiB,GAAG,IAAI,GAAG,EAAU,CAAC;QAC5C,MAAM,UAAU,GAAG,gBAAgB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE;YAC/C,IAAI,iBAAiB,CAAC,GAAG,CAAC,CAAC,CAAC,YAAY,CAAC,EAAE,CAAC;gBAC1C,OAAO,KAAK,CAAC;YACf,CAAC;YACD,iBAAiB,CAAC,GAAG,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC;YACtC,OAAO,IAAI,CAAC;QACd,CAAC,CAAC,CAAC;QAEH,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC5B,OAAO,IAAI,CAAC;QACd,CAAC;aACI,CAAC;YACJ,MAAM,mBAAmB,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;gBAC/C,yEAAyE;gBAEzE,2GAA2G;gBAC3G,MAAM,YAAY,GAAG,CAAC,CAAC,YAAY,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;gBACrG,8GAA8G;gBAC9G,MAAM,aAAa,GAAG,YAAY,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBAEjF,OAAO;QACP,2BAA2B,CAAC,mBAAmB,CAAC,CAAC,CAAC,mBAAmB,CAAC;;;;;EAK5E,aAAa,EAAE,CAAA;YACX,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;YAEf,MAAM,GAAG,GAAG;uCACqB,MAAM,CAAC,IAAI;EAChD,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,WAAW,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,aAAa,KAAK,2BAA2B,CAAC,mBAAmB,CAAC,CAAC,CAAC,mBAAmB,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;;;;;;;EAOnK,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,gBAAgB,CAAC,CAAC,YAAY,WAAW,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;;;;;;EAM3E,mBAAmB,EAAE,CAAA;YACjB,OAAO,EAAC,IAAI,EAAE,GAAG,EAAE,UAAU,EAAE,UAAU,EAAC,CAAC;QAC/C,CAAC;IACH,CAAC;IAEQ,qBAAqB,CAAC,MAAkB;QAC7C,IAAI,OAAO,GAAW,EAAE,CAAC;QACzB,IAAI,MAAM,CAAC,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACpC,SAAS,CAAC,sCAAsC,MAAM,CAAC,IAAI,0HAA0H,CAAC,CAAC;QACzL,CAAC;aAAM,CAAC;YACN,0EAA0E;YAC1E,MAAM,YAAY,GAAG,0BAA0B,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YAE/D,MAAM,MAAM,GAAW,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;gBAC5C,IAAI,MAAM,GAAW,EAAE,CAAC;gBACxB,IAAI,SAAS,GAAW,EAAE,CAAC;gBAC3B,IAAI,CAAC,CAAC,aAAa,IAAI,CAAC,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,KAAK,MAAM,EAAE,CAAC;oBACrG,6DAA6D;oBAC7D,MAAM,YAAY,GAAG,0BAA0B,CAAC,CAAC,GAAG,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC;oBAC1E,MAAM,GAAG,YAAY,CAAC,GAAG,CACvB,CAAC,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,WAAW,IAAI,CAAC,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,EAAE,CACzG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;oBACX,SAAS,GAAG,8BAA8B,CAAC,CAAC,aAAa,4BAA4B,GAAG,MAAM,CAAC;gBACjG,CAAC;gBACD,+EAA+E;gBAC/E,sFAAsF;gBACtF,MAAM,WAAW,GAAG,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC;gBAC/D,IAAI,UAAU,GAAW,GAAG,yBAAyB,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,IAAI,GAAG,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;gBACtH,IAAI,WAAW,EAAE,CAAC;oBAChB,UAAU,GAAG,QAAQ,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;gBAC3D,CAAC;qBAAM,IAAI,CAAC,CAAC,iBAAiB,KAAK,wBAAwB,CAAC,IAAI,IAAI,CAAC,CAAC,iBAAiB,IAAI,CAAC,CAAC,iBAAiB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBAC1H,gEAAgE;oBAChE,MAAM,MAAM,GAAG,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;oBACxC,iGAAiG;oBACjG,MAAM,YAAY,GAAG,0BAA0B,CAAC,CAAC,GAAG,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC;oBAC1E,uEAAuE;oBACvE,oEAAoE;oBACpE,MAAM,QAAQ,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,aAAa,MAAM,GAAG,CAAC,CAAC,KAAK,GAAG,MAAM,GAAG,CAAC,CAAC;oBACpF,UAAU,GAAG,QAAQ,CAAC,MAAM,KAAK,CAAC;wBAChC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,8CAA8C;wBACzE,CAAC,CAAC,UAAU,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;oBACtC,IAAI,CAAC,CAAC,iBAAiB,KAAK,wBAAwB,CAAC,eAAe,EAAE,CAAC;wBACrE,2DAA2D;wBAC3D,UAAU,IAAI,SAAS,yBAAyB,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC;oBACjE,CAAC;oBAED,+CAA+C;oBAC/C,IAAI,CAAC,CAAC,UAAU,EAAE,CAAC;wBACjB,UAAU,IAAI,aAAa,CAAC;oBAC9B,CAAC;gBACH,CAAC;gBACD,IAAI,IAAI,GAAW,OAAO,YAAY,CAAC,CAAC,CAAC,OAAO,UAAU,iBAAiB,IAAI,CAAC,sBAAsB,CAAC,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC;gBACxH,OAAO,IAAI,CAAC;YACd,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAEd,MAAM,UAAU,GAAW,GAAG,MAAM,CAAC,SAAS,QAAQ,CAAC;YACvD,OAAO,GAAG;;0CAE0B,MAAM,CAAC,IAAI;;eAEtC,UAAU;EACvB,MAAM;;;cAGM,MAAM,CAAC,SAAS,+BAA+B,UAAU;CACtE,CAAC;QACE,CAAC;QAED,OAAO,OAAO,CAAC;IACjB,CAAC;IAED;;;;;;OAMG;IACI,sBAAsB,CAAC,WAA4B,EAAE,MAAmB;QAC7E,IAAI,MAAM,GAAW,EAAE,CAAC;QAExB,IAAI,SAAS,GAAW,EAAE,CAAC;QAC3B,IAAI,WAAW,CAAC,aAAa,IAAI,WAAW,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC,IAAI,WAAW,CAAC,aAAa,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,KAAK,MAAM,EAAE,CAAC;YACnI,6DAA6D;YAC7D,MAAM,YAAY,GAAG,0BAA0B,CAAC,CAAC,GAAG,WAAW,CAAC,iBAAiB,CAAC,CAAC,CAAC;YACpF,IAAI,MAAM,GAAG,YAAY,CAAC,GAAG,CAC3B,CAAC,CAAC,EAAE,EAAE,CAAC,eAAe,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,WAAW,IAAI,CAAC,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,2BAA2B,CAAC,mBAAmB,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAC1J,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACX,SAAS,GAAG,8BAA8B,WAAW,CAAC,aAAa,4BAA4B,GAAG,MAAM,CAAC;QAC3G,CAAC;QAED,MAAM,IAAI,2BAA2B,WAAW,CAAC,IAAI,GAAG,WAAW,CAAC,WAAW,IAAI,WAAW,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,8BAA8B,GAAG,WAAW,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC;QAC1L,IAAI,kBAAkB,GAAG,EAAE,CAAC;QAC5B,IAAI,WAAW,CAAC,QAAQ,IAAI,WAAW,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACjE,MAAM,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,SAAS,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC;YAC1D,MAAM,YAAY,GAAG,GAAG,MAAM,GAAG,WAAW,CAAC,QAAQ,CAAC,IAAI,EAAE,EAAE,CAAC;YAC/D,kBAAkB,GAAG,WAAW,CAAC,eAAe;gBAC5C,CAAC,CAAC,kCAAkC,YAAY,GAAG;gBACnD,CAAC,CAAC,4BAA4B,YAAY,EAAE,CAAC;QACrD,CAAC;QACD,MAAM,IAAI,8BAA8B,WAAW,CAAC,WAAW,GAAG,WAAW,CAAC,aAAa,CAAC,CAAC,CAAC,4CAA4C,GAAG,WAAW,CAAC,aAAa,GAAG,IAAI,GAAG,WAAW,CAAC,qBAAqB,GAAG,GAAG,GAAG,WAAW,CAAC,sBAAsB,GAAG,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,WAAW,CAAC,YAAY,IAAI,WAAW,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,+BAA+B,GAAG,WAAW,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,GAAG,kBAAkB,GAAG,SAAS,GAAG,WAAW,CAAC,WAAW,IAAI,WAAW,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,6BAA6B,GAAG,2BAA2B,CAAC,mBAAmB,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;QAC/lB,OAAO,MAAM,CAAC;IAChB,CAAC;CAEF"}
1
+ {"version":3,"file":"entity_subclasses_codegen.js","sourceRoot":"","sources":["../../src/Misc/entity_subclasses_codegen.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,28 @@
1
1
  import { EntityInfo, EntityFieldInfo, EntityRelationshipInfo, Metadata } from '@memberjunction/core';
2
+ /**
3
+ * Describes which GraphQL ObjectTypes are actually resolvable in the file being generated, so the
4
+ * generator can decide whether a reverse-relationship (child-array) member may reference a related
5
+ * entity's type by name.
6
+ *
7
+ * A reverse-relationship member references the related entity's type by BARE class name, which only
8
+ * compiles when that class is declared in the same file. This carries the ground truth for that
9
+ * question — the exact set of entities handed to the generator for this file — instead of inferring
10
+ * it from schema/package heuristics, which can only ever approximate the set.
11
+ */
12
+ export interface GeneratedTypeAvailability {
13
+ /**
14
+ * Lower-cased, trimmed names of every entity whose ObjectType is emitted inline into the file being
15
+ * generated. Membership is the compile condition for a bare-name reference.
16
+ */
17
+ generatedEntityNames: Set<string>;
18
+ /**
19
+ * True when generating the CORE entity file. The core file has NO
20
+ * `mj_core_schema_server_object_types` namespace import (it *is* that module), so core related
21
+ * entities must satisfy set membership like everything else. In a non-core file, core types resolve
22
+ * through that namespace import regardless of the set.
23
+ */
24
+ isInternal: boolean;
25
+ }
2
26
  /**
3
27
  * This class is responsible for generating the GraphQL Server resolvers and types for the entities, you can sub-class this class to extend/modify the logic, make sure to use @memberjunction/global RegisterClass decorator
4
28
  * so that your class is used.
@@ -18,20 +42,47 @@ export declare class GraphQLServerGeneratorBase {
18
42
  * @returns The base GraphQL type name (without suffix)
19
43
  */
20
44
  protected getServerGraphQLTypeNameBase(entity: EntityInfo): string;
45
+ /**
46
+ * True when the related entity's GraphQL ObjectType will NOT be declared in the file being
47
+ * generated, so emitting a `@Field`/`@FieldResolver` that names it would not compile (TS2304).
48
+ *
49
+ * When `availability` is supplied (every in-tree caller supplies it), the decision is made against
50
+ * the ACTUAL set of entities being generated into this file rather than inferred from schema or
51
+ * package heuristics. That set is ground truth: a bare-name reference compiles iff the class is
52
+ * emitted here, and the class is emitted here iff the entity was in the array handed to the
53
+ * generator. Heuristics can only approximate that set — `runCodeGen` narrows the generated entities
54
+ * by BOTH the `entityPackageName` schema→package map AND the `excludeSchemas`/inclusion filters, so
55
+ * a predicate that models only the package map still emits uncompilable references for anything
56
+ * dropped by the other filter (the linked-Open-App break: a base app generated alongside a
57
+ * dependent app that foreign-keys into it).
58
+ *
59
+ * The one exception is a CORE (`__mj`) related entity in a NON-core file: it is absent from the
60
+ * generated set but resolves through the `mj_core_schema_server_object_types` namespace import, so
61
+ * it is always in scope. In the core file itself there is no such import (that file *is* the
62
+ * module), so core related entities must satisfy set membership like everything else.
63
+ *
64
+ * `excludeRelatedEntitiesExternalToSchema` is honored first and unchanged: it asks for a
65
+ * schema-scoped file, which is a narrower request than type availability.
66
+ *
67
+ * @param availability the types resolvable in this file; when omitted, falls back to the legacy
68
+ * `entityPackageName` schema→package heuristic so that existing subclasses and
69
+ * callers using the pre-availability signature keep their previous behavior.
70
+ */
71
+ protected isRelatedTypeOutOfScope(entity: EntityInfo, relatedEntity: EntityInfo, excludeRelatedEntitiesExternalToSchema: boolean, availability?: GeneratedTypeAvailability): boolean;
21
72
  /**
22
73
  * Generates the full server GraphQL type name for an entity (with suffix).
23
74
  * @param entity - The entity to generate the type name for
24
75
  * @returns The full GraphQL type name (with suffix)
25
76
  */
26
77
  protected getServerGraphQLTypeName(entity: EntityInfo): string;
27
- generateServerEntityString(entity: EntityInfo, includeFileHeader: boolean, generatedEntitiesImportLibrary: string, excludeRelatedEntitiesExternalToSchema: boolean): string;
78
+ generateServerEntityString(entity: EntityInfo, includeFileHeader: boolean, generatedEntitiesImportLibrary: string, excludeRelatedEntitiesExternalToSchema: boolean, availability?: GeneratedTypeAvailability): string;
28
79
  generateAllEntitiesServerFileHeader(entities: EntityInfo[], importLibrary: string, isInternal: boolean): string;
29
80
  /**
30
81
  * Generates import statements for entity classes, grouping by package when
31
82
  * entityPackageName is a schema-to-package map.
32
83
  */
33
84
  protected generateEntityImports(entities: EntityInfo[], defaultLibrary: string, isInternal: boolean): string;
34
- generateEntitySpecificServerFileHeader(entity: EntityInfo, importLibrary: string, excludeRelatedEntitiesExternalToSchema: boolean): string;
85
+ generateEntitySpecificServerFileHeader(entity: EntityInfo, importLibrary: string, excludeRelatedEntitiesExternalToSchema: boolean, availability?: GeneratedTypeAvailability): string;
35
86
  protected generateServerEntityHeader(entity: EntityInfo, serverGraphQLTypeName: string): string;
36
87
  protected generateServerEntityFooter(entity: EntityInfo): string;
37
88
  protected generateServerField(fieldInfo: EntityFieldInfo): string;
@@ -48,7 +99,7 @@ export declare class GraphQLServerGeneratorBase {
48
99
  */
49
100
  protected getTypeGraphQLFieldString(fieldInfo: EntityFieldInfo): string;
50
101
  protected generateServerRelationship(md: Metadata, r: EntityRelationshipInfo, isInternal: boolean): string;
51
- protected generateServerGraphQLResolver(entity: EntityInfo, serverGraphQLTypeName: string, excludeRelatedEntitiesExternalToSchema: boolean, isInternal: boolean): string;
102
+ protected generateServerGraphQLResolver(entity: EntityInfo, serverGraphQLTypeName: string, excludeRelatedEntitiesExternalToSchema: boolean, isInternal: boolean, availability?: GeneratedTypeAvailability): string;
52
103
  /**
53
104
  * Returns a JavaScript expression string (for use in generated code) that resolves
54
105
  * to the schema name at runtime. Core schema uses the dynamic config lookup;
@@ -1 +1 @@
1
- {"version":3,"file":"graphql_server_codegen.d.ts","sourceRoot":"","sources":["../../src/Misc/graphql_server_codegen.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,eAAe,EAAE,sBAAsB,EAA6B,QAAQ,EAAuE,MAAM,sBAAsB,CAAC;AAgBrM;;;GAGG;AACH,qBAAa,0BAA0B;IAC9B,yBAAyB,CAC9B,QAAQ,EAAE,UAAU,EAAE,EACtB,eAAe,EAAE,MAAM,EACvB,8BAA8B,EAAE,MAAM,EACtC,sCAAsC,EAAE,OAAO,GAC9C,OAAO;IAmBV,SAAS,CAAC,kBAAkB,SAAO;IACnC;;OAEG;IACH,IAAW,iBAAiB,IAAI,MAAM,CAErC;IAED;;;;;;OAMG;IACH,SAAS,CAAC,4BAA4B,CAAC,MAAM,EAAE,UAAU,GAAG,MAAM;IAIlE;;;;OAIG;IACH,SAAS,CAAC,wBAAwB,CAAC,MAAM,EAAE,UAAU,GAAG,MAAM;IAIvD,0BAA0B,CAC/B,MAAM,EAAE,UAAU,EAClB,iBAAiB,EAAE,OAAO,EAC1B,8BAA8B,EAAE,MAAM,EACtC,sCAAsC,EAAE,OAAO,GAC9C,MAAM;IAgEF,mCAAmC,CAAC,QAAQ,EAAE,UAAU,EAAE,EAAE,aAAa,EAAE,MAAM,EAAE,UAAU,EAAE,OAAO,GAAG,MAAM;IA6BtH;;;OAGG;IACH,SAAS,CAAC,qBAAqB,CAAC,QAAQ,EAAE,UAAU,EAAE,EAAE,cAAc,EAAE,MAAM,EAAE,UAAU,EAAE,OAAO,GAAG,MAAM;IAyBrG,sCAAsC,CAC3C,MAAM,EAAE,UAAU,EAClB,aAAa,EAAE,MAAM,EACrB,sCAAsC,EAAE,OAAO,GAC9C,MAAM;IAgCT,SAAS,CAAC,0BAA0B,CAAC,MAAM,EAAE,UAAU,EAAE,qBAAqB,EAAE,MAAM,GAAG,MAAM;IAa/F,SAAS,CAAC,0BAA0B,CAAC,MAAM,EAAE,UAAU,GAAG,MAAM;IAMhE,SAAS,CAAC,mBAAmB,CAAC,SAAS,EAAE,eAAe,GAAG,MAAM;IAejE;;;;;;;;;;OAUG;IACH,SAAS,CAAC,yBAAyB,CAAC,SAAS,EAAE,eAAe,GAAG,MAAM;IAqBvE,SAAS,CAAC,0BAA0B,CAAC,EAAE,EAAE,QAAQ,EAAE,CAAC,EAAE,sBAAsB,EAAE,UAAU,EAAE,OAAO,GAAG,MAAM;IAwB1G,SAAS,CAAC,6BAA6B,CACrC,MAAM,EAAE,UAAU,EAClB,qBAAqB,EAAE,MAAM,EAC7B,sCAAsC,EAAE,OAAO,EAC/C,UAAU,EAAE,OAAO,GAClB,MAAM;IAyKT;;;;OAIG;IACH,SAAS,CAAC,oBAAoB,CAAC,MAAM,EAAE,UAAU,GAAG,MAAM;IAO1D,SAAS,CAAC,8BAA8B,CAAC,MAAM,EAAE,UAAU,GAAG,MAAM;IAOpE,SAAS,CAAC,mCAAmC,CAAC,MAAM,EAAE,UAAU,EAAE,WAAW,EAAE,QAAQ,GAAG,QAAQ,EAAE,qBAAqB,EAAE,OAAO,GAAG,MAAM;IAiE3I,SAAS,CAAC,8BAA8B,CAAC,MAAM,EAAE,UAAU,EAAE,qBAAqB,EAAE,MAAM,GAAG,MAAM;IAmEnG,SAAS,CAAC,8BAA8B,CAAC,MAAM,EAAE,UAAU,EAAE,CAAC,EAAE,sBAAsB,EAAE,UAAU,EAAE,OAAO,GAAG,MAAM;IAkDpH,SAAS,CAAC,+BAA+B,CAAC,MAAM,EAAE,UAAU,EAAE,CAAC,EAAE,sBAAsB,GAAG,MAAM;CAgDjG"}
1
+ {"version":3,"file":"graphql_server_codegen.d.ts","sourceRoot":"","sources":["../../src/Misc/graphql_server_codegen.ts"],"names":[],"mappings":"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"}