ioc-manifest 2.0.0 → 2.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/core/manifest.d.ts +13 -0
- package/dist/core/manifest.d.ts.map +1 -1
- package/dist/generator/analyzeDemandSupply/emitTypeReference.d.ts.map +1 -1
- package/dist/generator/analyzeDemandSupply/emitTypeReference.js +74 -1
- package/dist/generator/analyzeDemandSupply/emitTypeReference.js.map +1 -1
- package/dist/generator/analyzeDemandSupply/index.d.ts.map +1 -1
- package/dist/generator/analyzeDemandSupply/index.js +13 -3
- package/dist/generator/analyzeDemandSupply/index.js.map +1 -1
- package/dist/generator/analyzeDemandSupply/types.d.ts +10 -5
- package/dist/generator/analyzeDemandSupply/types.d.ts.map +1 -1
- package/dist/generator/generateManifest.d.ts.map +1 -1
- package/dist/generator/generateManifest.js +3 -0
- package/dist/generator/generateManifest.js.map +1 -1
- package/dist/generator/manifestPaths.d.ts +9 -1
- package/dist/generator/manifestPaths.d.ts.map +1 -1
- package/dist/generator/manifestPaths.js +16 -4
- package/dist/generator/manifestPaths.js.map +1 -1
- package/dist/generator/writeManifest.d.ts +8 -0
- package/dist/generator/writeManifest.d.ts.map +1 -1
- package/dist/generator/writeManifest.js +100 -19
- package/dist/generator/writeManifest.js.map +1 -1
- package/dist/groups/baseTypeAssignability.d.ts +23 -0
- package/dist/groups/baseTypeAssignability.d.ts.map +1 -1
- package/dist/groups/baseTypeAssignability.js +63 -0
- package/dist/groups/baseTypeAssignability.js.map +1 -1
- package/dist/groups/boundedGroupCollectionType.d.ts +25 -0
- package/dist/groups/boundedGroupCollectionType.d.ts.map +1 -0
- package/dist/groups/boundedGroupCollectionType.js +63 -0
- package/dist/groups/boundedGroupCollectionType.js.map +1 -0
- package/dist/groups/resolveGroupPlan.d.ts +31 -2
- package/dist/groups/resolveGroupPlan.d.ts.map +1 -1
- package/dist/groups/resolveGroupPlan.js +109 -6
- package/dist/groups/resolveGroupPlan.js.map +1 -1
- package/package.json +1 -1
|
@@ -43,6 +43,12 @@ const sanitizeToIdentifierPart = (raw) => {
|
|
|
43
43
|
return s;
|
|
44
44
|
};
|
|
45
45
|
const tsIdentifierOrQuoted = (key) => /^[a-zA-Z_$][\w$]*$/.test(key) ? key : JSON.stringify(key);
|
|
46
|
+
const isValidTsIdentifier = (name) => /^[A-Za-z_$][\w$]*$/.test(name);
|
|
47
|
+
/**
|
|
48
|
+
* Group access keys are camelCase; the exported per-group type alias is the same key
|
|
49
|
+
* with an uppercased first letter (`channels` → `Channels`).
|
|
50
|
+
*/
|
|
51
|
+
const groupKeyToTypeAliasName = (key) => key.length === 0 ? key : key.charAt(0).toUpperCase() + key.slice(1);
|
|
46
52
|
/**
|
|
47
53
|
* Stable, collision-safe namespace identifiers derived from module paths
|
|
48
54
|
* (e.g. `examples/a-single-implementation.ts` → `ioc_examples_a_single_implementation`).
|
|
@@ -278,7 +284,7 @@ ${moduleArrayLines.join("\n")}
|
|
|
278
284
|
export const IOC_SCOPE_PROVIDED_KEYS = [${scopeProvidedKeys.map((k) => JSON.stringify(k)).join(", ")}] as const;
|
|
279
285
|
`;
|
|
280
286
|
};
|
|
281
|
-
const addTypeImport = (grouped, relImport, typeName, useDefaultImport) => {
|
|
287
|
+
const addTypeImport = (grouped, relImport, typeName, useDefaultImport, sourceFactory) => {
|
|
282
288
|
let bucket = grouped.get(relImport);
|
|
283
289
|
if (bucket === undefined) {
|
|
284
290
|
bucket = { named: new Set(), defaults: new Set() };
|
|
@@ -290,6 +296,9 @@ const addTypeImport = (grouped, relImport, typeName, useDefaultImport) => {
|
|
|
290
296
|
else {
|
|
291
297
|
bucket.named.add(typeName);
|
|
292
298
|
}
|
|
299
|
+
if (sourceFactory !== undefined && bucket.sourceFactory === undefined) {
|
|
300
|
+
bucket.sourceFactory = sourceFactory;
|
|
301
|
+
}
|
|
293
302
|
};
|
|
294
303
|
const buildImportLinesFromBuckets = (grouped) => {
|
|
295
304
|
const importLines = [];
|
|
@@ -305,23 +314,23 @@ const buildImportLinesFromBuckets = (grouped) => {
|
|
|
305
314
|
}
|
|
306
315
|
return importLines;
|
|
307
316
|
};
|
|
308
|
-
const warnOnRelativeImportsEscapingPackageRoot = (
|
|
309
|
-
|
|
310
|
-
for (const relImport of
|
|
311
|
-
if (warned.has(relImport)) {
|
|
312
|
-
continue;
|
|
313
|
-
}
|
|
317
|
+
const warnOnRelativeImportsEscapingPackageRoot = (grouped, generatedDir, packageRoot) => {
|
|
318
|
+
// `grouped` is keyed by relImport, so each specifier is visited once — no extra dedupe needed.
|
|
319
|
+
for (const [relImport, bucket] of grouped) {
|
|
314
320
|
if (relativeImportEscapesPackageRoot(relImport, generatedDir, packageRoot)) {
|
|
315
|
-
|
|
316
|
-
|
|
321
|
+
const typeNames = [...bucket.defaults, ...bucket.named].sort((a, b) => a.localeCompare(b));
|
|
322
|
+
console.warn(formatRelativeImportEscapesPackageRootWarning(relImport, {
|
|
323
|
+
typeNames,
|
|
324
|
+
sourceFactory: bucket.sourceFactory,
|
|
325
|
+
}));
|
|
317
326
|
}
|
|
318
327
|
}
|
|
319
328
|
};
|
|
320
|
-
const buildCradleTypeSource = (plans, groupsManifest, demandSupply, registryTypesBuildContext) => {
|
|
329
|
+
const buildCradleTypeSource = (plans, groupsManifest, demandSupply, registryTypesBuildContext, boundedGroupCollectionTypeRefs) => {
|
|
321
330
|
const grouped = new Map();
|
|
322
331
|
for (const entry of demandSupply.entries) {
|
|
323
332
|
for (const imp of entry.typeRef.imports) {
|
|
324
|
-
addTypeImport(grouped, imp.relImport, imp.typeName, imp.useDefaultImport);
|
|
333
|
+
addTypeImport(grouped, imp.relImport, imp.typeName, imp.useDefaultImport, imp.sourceFactory);
|
|
325
334
|
}
|
|
326
335
|
}
|
|
327
336
|
if (registryTypesBuildContext !== undefined) {
|
|
@@ -338,10 +347,6 @@ const buildCradleTypeSource = (plans, groupsManifest, demandSupply, registryType
|
|
|
338
347
|
addTypeImport(grouped, plan.contractTypeRelImport, plan.contractName, false);
|
|
339
348
|
}
|
|
340
349
|
}
|
|
341
|
-
const importLines = buildImportLinesFromBuckets(grouped);
|
|
342
|
-
if (registryTypesBuildContext?.projectRoot !== undefined) {
|
|
343
|
-
warnOnRelativeImportsEscapingPackageRoot(grouped.keys(), registryTypesBuildContext.generatedDir, registryTypesBuildContext.projectRoot);
|
|
344
|
-
}
|
|
345
350
|
const demandSupplyKeys = new Set(demandSupply.entries.map((e) => e.key));
|
|
346
351
|
const cradleProperties = [];
|
|
347
352
|
for (const entry of demandSupply.entries) {
|
|
@@ -364,8 +369,21 @@ const buildCradleTypeSource = (plans, groupsManifest, demandSupply, registryType
|
|
|
364
369
|
demandSupplyKeys.add(plan.accessKey);
|
|
365
370
|
}
|
|
366
371
|
}
|
|
367
|
-
const appendGroupNodeType = (node, indent) => {
|
|
372
|
+
const appendGroupNodeType = (node, indent, groupName) => {
|
|
368
373
|
if (Array.isArray(node)) {
|
|
374
|
+
// Bounded collection: a group over a generic base with a declared arg emits
|
|
375
|
+
// `ReadonlyArray<Base<declaredArg>>` (the array is bounded, not per-element narrowed) and
|
|
376
|
+
// pulls Base/arg imports into the registry-types file. addTypeImport dedupes, so registering
|
|
377
|
+
// on both the cradle-property and type-alias call sites is harmless.
|
|
378
|
+
const boundedRef = groupName !== undefined
|
|
379
|
+
? boundedGroupCollectionTypeRefs?.get(groupName)
|
|
380
|
+
: undefined;
|
|
381
|
+
if (boundedRef !== undefined) {
|
|
382
|
+
for (const imp of boundedRef.imports) {
|
|
383
|
+
addTypeImport(grouped, imp.relImport, imp.typeName, imp.useDefaultImport);
|
|
384
|
+
}
|
|
385
|
+
return `ReadonlyArray<${boundedRef.typeName}>`;
|
|
386
|
+
}
|
|
369
387
|
const seen = new Set();
|
|
370
388
|
const order = [];
|
|
371
389
|
for (const leaf of node) {
|
|
@@ -395,13 +413,76 @@ const buildCradleTypeSource = (plans, groupsManifest, demandSupply, registryType
|
|
|
395
413
|
const root = groupsManifest[key];
|
|
396
414
|
cradleProperties.push({
|
|
397
415
|
key,
|
|
398
|
-
line: ` ${tsIdentifierOrQuoted(key)}: ${appendGroupNodeType(root.members, "")};`,
|
|
416
|
+
line: ` ${tsIdentifierOrQuoted(key)}: ${appendGroupNodeType(root.members, "", key)};`,
|
|
399
417
|
});
|
|
400
418
|
demandSupplyKeys.add(key);
|
|
401
419
|
}
|
|
402
420
|
}
|
|
403
421
|
cradleProperties.sort((a, b) => a.key.localeCompare(b.key));
|
|
404
422
|
const propertyLines = cradleProperties.map((p) => p.line);
|
|
423
|
+
// Names this file declares at top level. Single source of truth: it seeds the
|
|
424
|
+
// alias-collision set below and is reused as the exclusion list that strips
|
|
425
|
+
// self-imports before import lines are emitted (a file must never import a name it
|
|
426
|
+
// also declares — that is a TS2440 duplicate identifier). Emitted group aliases are
|
|
427
|
+
// added to it as they are produced.
|
|
428
|
+
const locallyDeclaredNames = new Set([
|
|
429
|
+
"IocGeneratedCradle",
|
|
430
|
+
"IocExternals",
|
|
431
|
+
"IocScopeProvided",
|
|
432
|
+
]);
|
|
433
|
+
// Alias-collision guard also reserves every imported name, so an alias can never
|
|
434
|
+
// shadow an imported contract type. (Imported names are NOT locally declared, so
|
|
435
|
+
// they must stay out of `locallyDeclaredNames` above or their imports would strip.)
|
|
436
|
+
const reservedTopLevelNames = new Set(locallyDeclaredNames);
|
|
437
|
+
for (const bucket of grouped.values()) {
|
|
438
|
+
for (const named of bucket.named) {
|
|
439
|
+
reservedTopLevelNames.add(named);
|
|
440
|
+
}
|
|
441
|
+
for (const def of bucket.defaults) {
|
|
442
|
+
reservedTopLevelNames.add(def);
|
|
443
|
+
}
|
|
444
|
+
}
|
|
445
|
+
// Exported per-group type aliases so consumers can `import type { Channels }`
|
|
446
|
+
// instead of `IocGeneratedCradle["channels"]`. Named after the group key in
|
|
447
|
+
// PascalCase; skipped (with a warning) if the name would collide with an
|
|
448
|
+
// imported contract type or another alias, so the file always compiles.
|
|
449
|
+
const groupAliasLines = [];
|
|
450
|
+
if (groupsManifest !== undefined) {
|
|
451
|
+
const aliasGroupKeys = Object.keys(groupsManifest).sort((a, b) => a.localeCompare(b));
|
|
452
|
+
for (const key of aliasGroupKeys) {
|
|
453
|
+
const aliasName = groupKeyToTypeAliasName(key);
|
|
454
|
+
if (!isValidTsIdentifier(aliasName) ||
|
|
455
|
+
reservedTopLevelNames.has(aliasName)) {
|
|
456
|
+
console.warn(`[ioc-warn] group "${key}": cannot emit type alias "${aliasName}" (name is invalid or collides with an existing type). Use IocGeneratedCradle["${key}"] instead.`);
|
|
457
|
+
continue;
|
|
458
|
+
}
|
|
459
|
+
reservedTopLevelNames.add(aliasName);
|
|
460
|
+
locallyDeclaredNames.add(aliasName);
|
|
461
|
+
const root = groupsManifest[key];
|
|
462
|
+
groupAliasLines.push(`export type ${aliasName} = ${appendGroupNodeType(root.members, "", key)};`);
|
|
463
|
+
}
|
|
464
|
+
}
|
|
465
|
+
const groupAliasBlock = groupAliasLines.length > 0 ? `\n\n${groupAliasLines.join("\n\n")}` : "";
|
|
466
|
+
// Never import a name this file also declares (self-import → TS2440). Strip the
|
|
467
|
+
// locally-declared top-level names from every import bucket, then drop any bucket
|
|
468
|
+
// left empty so no `import type {} from '…'` line is emitted. Only the import
|
|
469
|
+
// buckets are touched here — group-alias emission and the declared interfaces above
|
|
470
|
+
// are already finalized.
|
|
471
|
+
for (const bucket of grouped.values()) {
|
|
472
|
+
for (const name of locallyDeclaredNames) {
|
|
473
|
+
bucket.named.delete(name);
|
|
474
|
+
bucket.defaults.delete(name);
|
|
475
|
+
}
|
|
476
|
+
}
|
|
477
|
+
for (const [relImport, bucket] of grouped) {
|
|
478
|
+
if (bucket.named.size === 0 && bucket.defaults.size === 0) {
|
|
479
|
+
grouped.delete(relImport);
|
|
480
|
+
}
|
|
481
|
+
}
|
|
482
|
+
const importLines = buildImportLinesFromBuckets(grouped);
|
|
483
|
+
if (registryTypesBuildContext?.projectRoot !== undefined) {
|
|
484
|
+
warnOnRelativeImportsEscapingPackageRoot(grouped, registryTypesBuildContext.generatedDir, registryTypesBuildContext.projectRoot);
|
|
485
|
+
}
|
|
405
486
|
const externalEntries = demandSupply.entries.filter((e) => e.classification === "external");
|
|
406
487
|
const externalsLines = externalEntries.map((e) => ` ${tsIdentifierOrQuoted(e.key)}: ${e.typeRef.typeName};`);
|
|
407
488
|
const header = `/* AUTO-GENERATED. DO NOT EDIT.
|
|
@@ -430,7 +511,7 @@ Re-run \`npm run gen:manifest\` after changing factories or IoC config.
|
|
|
430
511
|
: `\n\nexport interface IocScopeProvided {}`;
|
|
431
512
|
return `${header}${importLines.length > 0 ? importLines.join("\n") + "\n\n" : ""}export interface IocGeneratedCradle {
|
|
432
513
|
${propertyLines.join("\n")}
|
|
433
|
-
}${externalsBlock}${scopeProvidedBlock}
|
|
514
|
+
}${groupAliasBlock}${externalsBlock}${scopeProvidedBlock}
|
|
434
515
|
`;
|
|
435
516
|
};
|
|
436
517
|
/**
|
|
@@ -462,7 +543,7 @@ export const buildManifestArtifactSources = (acceptedFactories, plans, groupsMan
|
|
|
462
543
|
}
|
|
463
544
|
const mainSource = serializeMainIocManifestSource(contractManifest, iocGroupsManifest, manifestImportFromPackage, importLines, moduleArrayLines, options.demandSupply.scopeProvidedKeys);
|
|
464
545
|
const typesPath = path.join(path.dirname(manifestOutPath), "ioc-registry.types.ts");
|
|
465
|
-
const typesSource = buildCradleTypeSource(plans, iocGroupsManifest, options.demandSupply, options.registryTypesBuildContext);
|
|
546
|
+
const typesSource = buildCradleTypeSource(plans, iocGroupsManifest, options.demandSupply, options.registryTypesBuildContext, options.boundedGroupCollectionTypeRefs);
|
|
466
547
|
return { mainSource, typesSource, typesPath };
|
|
467
548
|
};
|
|
468
549
|
export const writeGeneratedFilesAtomically = async (files) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"writeManifest.js","sourceRoot":"","sources":["../../src/generator/writeManifest.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"writeManifest.js","sourceRoot":"","sources":["../../src/generator/writeManifest.ts"],"names":[],"mappings":"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"}
|
|
@@ -11,12 +11,16 @@ export type BaseTypeResolution = {
|
|
|
11
11
|
export type AssignableImplementationMember = {
|
|
12
12
|
contractName: string;
|
|
13
13
|
registrationKey: string;
|
|
14
|
+
/** Live type this member binds to the generic base's first type parameter (for the gen-time gate). */
|
|
15
|
+
typeArgument?: ts.Type;
|
|
14
16
|
};
|
|
15
17
|
/** One contract row for `kind: "object"` groups; manifest object keys are `contractKey`. */
|
|
16
18
|
export type ContractDefaultGroupMember = {
|
|
17
19
|
contractKey: string;
|
|
18
20
|
contractName: string;
|
|
19
21
|
registrationKey: string;
|
|
22
|
+
/** Live type this member binds to the generic base's first type parameter (for the gen-time gate). */
|
|
23
|
+
typeArgument?: ts.Type;
|
|
20
24
|
};
|
|
21
25
|
export declare const getContractDeclaredType: (checker: ts.TypeChecker, program: ts.Program, generatedDir: string, scanDirs: readonly ResolvedScanDir[], plan: ResolvedContractRegistration) => ts.Type | undefined;
|
|
22
26
|
/**
|
|
@@ -29,6 +33,25 @@ export declare const resolveDeclaredBaseType: (program: ts.Program, checker: ts.
|
|
|
29
33
|
* type-alias intersection — not structural shape matching.
|
|
30
34
|
*/
|
|
31
35
|
export declare const isNominallyAssignable: (checker: ts.TypeChecker, candidate: ts.Type, base: ts.Type) => boolean;
|
|
36
|
+
/** Declared type-parameter counts for a group's base type, read from its declaration. */
|
|
37
|
+
export type BaseTypeParameterInfo = {
|
|
38
|
+
/** Total declared type parameters. */
|
|
39
|
+
arity: number;
|
|
40
|
+
/** Type parameters with no default (must be supplied). */
|
|
41
|
+
requiredCount: number;
|
|
42
|
+
};
|
|
43
|
+
/**
|
|
44
|
+
* Reads the base type's declared type parameters. `arity` is the total; `requiredCount` counts
|
|
45
|
+
* parameters without a default (a defaulted param may be omitted by a group, a required one may not).
|
|
46
|
+
*/
|
|
47
|
+
export declare const getBaseTypeParameterInfo: (checker: ts.TypeChecker, baseType: ts.Type) => BaseTypeParameterInfo;
|
|
48
|
+
/**
|
|
49
|
+
* The type a member contract binds to the generic `baseType`'s first type parameter, e.g. for
|
|
50
|
+
* `type AlbumStrategy = Strategy<"album.shared">` (or `interface X extends Strategy<...>`), returns
|
|
51
|
+
* the `"album.shared"` type. Walks the member's own reference and its transitive base types.
|
|
52
|
+
* Returns undefined when the base is not generic or the member does not instantiate it directly.
|
|
53
|
+
*/
|
|
54
|
+
export declare const extractMemberBaseTypeArgument: (checker: ts.TypeChecker, memberContractType: ts.Type, baseType: ts.Type) => ts.Type | undefined;
|
|
32
55
|
/**
|
|
33
56
|
* Whether `candidateType` is structurally assignable to a top-level type named `baseTypeName`
|
|
34
57
|
* in the program (excluding node_modules). Used for contract-shape validation, not group membership.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"baseTypeAssignability.d.ts","sourceRoot":"","sources":["../../src/groups/baseTypeAssignability.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,YAAY,CAAC;AAE5B,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AACrE,OAAO,KAAK,EACV,4BAA4B,EAC5B,2BAA2B,EAC5B,MAAM,yCAAyC,CAAC;AAEjD,MAAM,MAAM,kBAAkB,GAC1B;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAA;CAAE,GAC3B;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC;AAEnC,MAAM,MAAM,8BAA8B,GAAG;IAC3C,YAAY,EAAE,MAAM,CAAC;IACrB,eAAe,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"baseTypeAssignability.d.ts","sourceRoot":"","sources":["../../src/groups/baseTypeAssignability.ts"],"names":[],"mappings":"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"}
|
|
@@ -168,6 +168,65 @@ export const isNominallyAssignable = (checker, candidate, base) => {
|
|
|
168
168
|
const visited = new Set();
|
|
169
169
|
return symbolDeclaresNominalHeritageToBase(checker, canonicalCandidate, canonicalBase, visited);
|
|
170
170
|
};
|
|
171
|
+
const isTypeParameterizedDeclaration = (decl) => ts.isInterfaceDeclaration(decl) ||
|
|
172
|
+
ts.isTypeAliasDeclaration(decl) ||
|
|
173
|
+
ts.isClassDeclaration(decl);
|
|
174
|
+
/**
|
|
175
|
+
* Reads the base type's declared type parameters. `arity` is the total; `requiredCount` counts
|
|
176
|
+
* parameters without a default (a defaulted param may be omitted by a group, a required one may not).
|
|
177
|
+
*/
|
|
178
|
+
export const getBaseTypeParameterInfo = (checker, baseType) => {
|
|
179
|
+
const sym = getNamedSymbolForType(baseType);
|
|
180
|
+
const canonical = sym !== undefined ? resolveCanonicalSymbol(checker, sym) : undefined;
|
|
181
|
+
const decl = canonical?.declarations?.find(isTypeParameterizedDeclaration);
|
|
182
|
+
const typeParameters = decl?.typeParameters ?? [];
|
|
183
|
+
return {
|
|
184
|
+
arity: typeParameters.length,
|
|
185
|
+
requiredCount: typeParameters.filter((tp) => tp.default === undefined)
|
|
186
|
+
.length,
|
|
187
|
+
};
|
|
188
|
+
};
|
|
189
|
+
const isTypeReference = (type) => (type.flags & ts.TypeFlags.Object) !== 0 &&
|
|
190
|
+
(type.objectFlags & ts.ObjectFlags.Reference) !== 0;
|
|
191
|
+
const findBaseTypeArgument = (checker, type, canonicalBase, visited) => {
|
|
192
|
+
if (visited.has(type)) {
|
|
193
|
+
return undefined;
|
|
194
|
+
}
|
|
195
|
+
visited.add(type);
|
|
196
|
+
const sym = type.getSymbol();
|
|
197
|
+
if (sym !== undefined) {
|
|
198
|
+
if (resolveCanonicalSymbol(checker, sym) === canonicalBase) {
|
|
199
|
+
if (isTypeReference(type)) {
|
|
200
|
+
const args = checker.getTypeArguments(type);
|
|
201
|
+
return args.length > 0 ? args[0] : undefined;
|
|
202
|
+
}
|
|
203
|
+
return undefined;
|
|
204
|
+
}
|
|
205
|
+
}
|
|
206
|
+
if (type.isClassOrInterface()) {
|
|
207
|
+
for (const base of checker.getBaseTypes(type)) {
|
|
208
|
+
const found = findBaseTypeArgument(checker, base, canonicalBase, visited);
|
|
209
|
+
if (found !== undefined) {
|
|
210
|
+
return found;
|
|
211
|
+
}
|
|
212
|
+
}
|
|
213
|
+
}
|
|
214
|
+
return undefined;
|
|
215
|
+
};
|
|
216
|
+
/**
|
|
217
|
+
* The type a member contract binds to the generic `baseType`'s first type parameter, e.g. for
|
|
218
|
+
* `type AlbumStrategy = Strategy<"album.shared">` (or `interface X extends Strategy<...>`), returns
|
|
219
|
+
* the `"album.shared"` type. Walks the member's own reference and its transitive base types.
|
|
220
|
+
* Returns undefined when the base is not generic or the member does not instantiate it directly.
|
|
221
|
+
*/
|
|
222
|
+
export const extractMemberBaseTypeArgument = (checker, memberContractType, baseType) => {
|
|
223
|
+
const baseSym = getNamedSymbolForType(baseType);
|
|
224
|
+
if (baseSym === undefined) {
|
|
225
|
+
return undefined;
|
|
226
|
+
}
|
|
227
|
+
const canonicalBase = resolveCanonicalSymbol(checker, baseSym);
|
|
228
|
+
return findBaseTypeArgument(checker, memberContractType, canonicalBase, new Set());
|
|
229
|
+
};
|
|
171
230
|
const getContractDeclaredTypeRaw = (checker, program, generatedDir, scanDirs, plan) => {
|
|
172
231
|
const sourceFile = resolveContractTypeSourceFile(program, generatedDir, plan.contractTypeRelImport, scanDirs, plan.contractName);
|
|
173
232
|
if (sourceFile === undefined) {
|
|
@@ -222,6 +281,7 @@ export const collectImplementationMembersAssignableToBase = (checker, program, g
|
|
|
222
281
|
if (!isNominallyAssignable(checker, contractType, baseType)) {
|
|
223
282
|
continue;
|
|
224
283
|
}
|
|
284
|
+
const typeArgument = extractMemberBaseTypeArgument(checker, contractType, baseType);
|
|
225
285
|
for (const impl of plan.implementations) {
|
|
226
286
|
if (filterImpl !== undefined && !filterImpl(plan, impl)) {
|
|
227
287
|
continue;
|
|
@@ -229,6 +289,7 @@ export const collectImplementationMembersAssignableToBase = (checker, program, g
|
|
|
229
289
|
members.push({
|
|
230
290
|
contractName: plan.contractName,
|
|
231
291
|
registrationKey: impl.registrationKey,
|
|
292
|
+
...(typeArgument !== undefined ? { typeArgument } : {}),
|
|
232
293
|
});
|
|
233
294
|
}
|
|
234
295
|
}
|
|
@@ -254,10 +315,12 @@ export const collectContractDefaultMembersAssignableToBase = (checker, program,
|
|
|
254
315
|
if (defaultImpl === undefined) {
|
|
255
316
|
throw new Error(`[ioc-config] Contract ${JSON.stringify(plan.contractName)} has defaultImplementationName ${JSON.stringify(plan.defaultImplementationName)} but no matching implementation row (internal registration plan inconsistency).`);
|
|
256
317
|
}
|
|
318
|
+
const typeArgument = extractMemberBaseTypeArgument(checker, contractType, baseType);
|
|
257
319
|
members.push({
|
|
258
320
|
contractKey: plan.contractKey,
|
|
259
321
|
contractName: plan.contractName,
|
|
260
322
|
registrationKey: defaultImpl.registrationKey,
|
|
323
|
+
...(typeArgument !== undefined ? { typeArgument } : {}),
|
|
261
324
|
});
|
|
262
325
|
}
|
|
263
326
|
members.sort((a, b) => a.contractKey.localeCompare(b.contractKey));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"baseTypeAssignability.js","sourceRoot":"","sources":["../../src/groups/baseTypeAssignability.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"baseTypeAssignability.js","sourceRoot":"","sources":["../../src/groups/baseTypeAssignability.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @fileoverview Emits the bounded collection element type `Base<declaredArg>` for groups over a
|
|
3
|
+
* generic base with a declared `baseTypeArg`. The base and the argument are each run through
|
|
4
|
+
* {@link emitTypeReference} so imports (and the arity clamp for the bare base name) are handled the
|
|
5
|
+
* same way as ordinary cradle types; the composed element feeds `ReadonlyArray<...>` in the cradle.
|
|
6
|
+
*/
|
|
7
|
+
import type ts from "typescript";
|
|
8
|
+
import type { IocGroupsManifest } from "../core/manifest.js";
|
|
9
|
+
import type { EmittedTypeReference } from "../generator/analyzeDemandSupply/types.js";
|
|
10
|
+
import type { ResolvedScanDir } from "../generator/manifestPaths.js";
|
|
11
|
+
export type BoundedGroupCollectionContext = {
|
|
12
|
+
program: ts.Program;
|
|
13
|
+
generatedDir: string;
|
|
14
|
+
scanDirs: readonly ResolvedScanDir[];
|
|
15
|
+
projectRoot: string;
|
|
16
|
+
};
|
|
17
|
+
/**
|
|
18
|
+
* For each collection group whose root carries a `baseTypeArg`, resolves `baseType` and the declared
|
|
19
|
+
* arg, emits `Base<declaredArg>` (name + imports), and returns it keyed by group name. Groups without
|
|
20
|
+
* a declared arg (non-generic, or defaulted base omitting the arg) are absent from the map and keep
|
|
21
|
+
* the default per-member-union emission. Unresolvable base/arg entries are skipped (the group plan's
|
|
22
|
+
* own gate already errored on genuinely bad config before this runs).
|
|
23
|
+
*/
|
|
24
|
+
export declare const buildBoundedGroupCollectionTypeRefs: (groupsManifest: IocGroupsManifest | undefined, ctx: BoundedGroupCollectionContext) => Map<string, EmittedTypeReference>;
|
|
25
|
+
//# sourceMappingURL=boundedGroupCollectionType.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"boundedGroupCollectionType.d.ts","sourceRoot":"","sources":["../../src/groups/boundedGroupCollectionType.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,KAAK,EAAE,MAAM,YAAY,CAAC;AACjC,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAK7D,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AACtF,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAGrE,MAAM,MAAM,6BAA6B,GAAG;IAC1C,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,SAAS,eAAe,EAAE,CAAC;IACrC,WAAW,EAAE,MAAM,CAAC;CACrB,CAAC;AAsBF;;;;;;GAMG;AACH,eAAO,MAAM,mCAAmC,GAC9C,gBAAgB,iBAAiB,GAAG,SAAS,EAC7C,KAAK,6BAA6B,KACjC,GAAG,CAAC,MAAM,EAAE,oBAAoB,CA8ClC,CAAC"}
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
import { emitTypeReference, } from "../generator/analyzeDemandSupply/emitTypeReference.js";
|
|
2
|
+
import { resolveDeclaredBaseType } from "./baseTypeAssignability.js";
|
|
3
|
+
const declarationSourceFile = (type) => (type.aliasSymbol ?? type.getSymbol())?.declarations?.[0]?.getSourceFile();
|
|
4
|
+
const mergeImports = (refs) => {
|
|
5
|
+
const seen = new Set();
|
|
6
|
+
const out = [];
|
|
7
|
+
for (const ref of refs) {
|
|
8
|
+
for (const imp of ref.imports) {
|
|
9
|
+
const key = `${imp.relImport}\0${imp.typeName}\0${imp.useDefaultImport}`;
|
|
10
|
+
if (!seen.has(key)) {
|
|
11
|
+
seen.add(key);
|
|
12
|
+
out.push(imp);
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
return out;
|
|
17
|
+
};
|
|
18
|
+
/**
|
|
19
|
+
* For each collection group whose root carries a `baseTypeArg`, resolves `baseType` and the declared
|
|
20
|
+
* arg, emits `Base<declaredArg>` (name + imports), and returns it keyed by group name. Groups without
|
|
21
|
+
* a declared arg (non-generic, or defaulted base omitting the arg) are absent from the map and keep
|
|
22
|
+
* the default per-member-union emission. Unresolvable base/arg entries are skipped (the group plan's
|
|
23
|
+
* own gate already errored on genuinely bad config before this runs).
|
|
24
|
+
*/
|
|
25
|
+
export const buildBoundedGroupCollectionTypeRefs = (groupsManifest, ctx) => {
|
|
26
|
+
const out = new Map();
|
|
27
|
+
if (groupsManifest === undefined) {
|
|
28
|
+
return out;
|
|
29
|
+
}
|
|
30
|
+
const checker = ctx.program.getTypeChecker();
|
|
31
|
+
for (const [groupName, root] of Object.entries(groupsManifest)) {
|
|
32
|
+
if (root.kind !== "collection" || root.baseTypeArg === undefined) {
|
|
33
|
+
continue;
|
|
34
|
+
}
|
|
35
|
+
const base = resolveDeclaredBaseType(ctx.program, checker, root.baseType);
|
|
36
|
+
const arg = resolveDeclaredBaseType(ctx.program, checker, root.baseTypeArg);
|
|
37
|
+
if (!base.ok || !arg.ok) {
|
|
38
|
+
continue;
|
|
39
|
+
}
|
|
40
|
+
const contextSourceFile = declarationSourceFile(base.type) ?? declarationSourceFile(arg.type);
|
|
41
|
+
if (contextSourceFile === undefined) {
|
|
42
|
+
continue;
|
|
43
|
+
}
|
|
44
|
+
const emitCtx = {
|
|
45
|
+
program: ctx.program,
|
|
46
|
+
projectRoot: ctx.projectRoot,
|
|
47
|
+
scanDirs: [...ctx.scanDirs],
|
|
48
|
+
generatedDir: ctx.generatedDir,
|
|
49
|
+
contextSourceFile,
|
|
50
|
+
};
|
|
51
|
+
const baseEmit = emitTypeReference(checker, base.type, emitCtx);
|
|
52
|
+
const argEmit = emitTypeReference(checker, arg.type, emitCtx);
|
|
53
|
+
if (baseEmit === undefined || argEmit === undefined) {
|
|
54
|
+
continue;
|
|
55
|
+
}
|
|
56
|
+
out.set(groupName, {
|
|
57
|
+
typeName: `${baseEmit.typeName}<${argEmit.typeName}>`,
|
|
58
|
+
imports: mergeImports([baseEmit, argEmit]),
|
|
59
|
+
});
|
|
60
|
+
}
|
|
61
|
+
return out;
|
|
62
|
+
};
|
|
63
|
+
//# sourceMappingURL=boundedGroupCollectionType.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"boundedGroupCollectionType.js","sourceRoot":"","sources":["../../src/groups/boundedGroupCollectionType.ts"],"names":[],"mappings":"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"}
|