ioc-manifest 1.1.0 → 1.1.2

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 (30) hide show
  1. package/dist/generator/analyzeDemandSupply/emitTypeReference.d.ts +13 -0
  2. package/dist/generator/analyzeDemandSupply/emitTypeReference.d.ts.map +1 -1
  3. package/dist/generator/analyzeDemandSupply/emitTypeReference.js +244 -90
  4. package/dist/generator/analyzeDemandSupply/emitTypeReference.js.map +1 -1
  5. package/dist/generator/analyzeDemandSupply/index.d.ts.map +1 -1
  6. package/dist/generator/analyzeDemandSupply/index.js +16 -8
  7. package/dist/generator/analyzeDemandSupply/index.js.map +1 -1
  8. package/dist/generator/analyzeDemandSupply/types.d.ts +8 -2
  9. package/dist/generator/analyzeDemandSupply/types.d.ts.map +1 -1
  10. package/dist/generator/discoverFactories/scanFactoryFile.d.ts.map +1 -1
  11. package/dist/generator/discoverFactories/scanFactoryFile.js +2 -55
  12. package/dist/generator/discoverFactories/scanFactoryFile.js.map +1 -1
  13. package/dist/generator/generateManifest.d.ts.map +1 -1
  14. package/dist/generator/generateManifest.js +1 -0
  15. package/dist/generator/generateManifest.js.map +1 -1
  16. package/dist/generator/iocProgramContext.d.ts.map +1 -1
  17. package/dist/generator/iocProgramContext.js.map +1 -1
  18. package/dist/generator/manifestPaths.d.ts +5 -0
  19. package/dist/generator/manifestPaths.d.ts.map +1 -1
  20. package/dist/generator/manifestPaths.js +16 -0
  21. package/dist/generator/manifestPaths.js.map +1 -1
  22. package/dist/generator/recoverPreferredModuleSpecifier.d.ts +14 -0
  23. package/dist/generator/recoverPreferredModuleSpecifier.d.ts.map +1 -0
  24. package/dist/generator/recoverPreferredModuleSpecifier.js +151 -0
  25. package/dist/generator/recoverPreferredModuleSpecifier.js.map +1 -0
  26. package/dist/generator/writeManifest.d.ts +3 -1
  27. package/dist/generator/writeManifest.d.ts.map +1 -1
  28. package/dist/generator/writeManifest.js +19 -1
  29. package/dist/generator/writeManifest.js.map +1 -1
  30. package/package.json +1 -1
@@ -1,11 +1,24 @@
1
1
  import ts from "typescript";
2
2
  import { type FactoryDiscoveryPaths } from "../manifestPaths.js";
3
3
  import type { EmittedTypeReference } from "./types.js";
4
+ export declare class EmitTypeReferenceError extends Error {
5
+ constructor(message: string);
6
+ }
4
7
  export type EmitTypeReferenceContext = FactoryDiscoveryPaths & {
5
8
  program: ts.Program;
6
9
  projectRoot: string;
7
10
  contextSourceFile: ts.SourceFile;
8
11
  };
12
+ export type TryEmitTypeReferenceOptions = {
13
+ propertyName?: string;
14
+ };
15
+ export declare const tryEmitTypeReference: (checker: ts.TypeChecker, type: ts.Type, ctx: EmitTypeReferenceContext, options?: TryEmitTypeReferenceOptions) => {
16
+ ok: true;
17
+ value: EmittedTypeReference;
18
+ } | {
19
+ ok: false;
20
+ message: string;
21
+ };
9
22
  /**
10
23
  * Maps a TypeScript type to an importable type name and module specifier for generated registry types.
11
24
  */
@@ -1 +1 @@
1
- {"version":3,"file":"emitTypeReference.d.ts","sourceRoot":"","sources":["../../../src/generator/analyzeDemandSupply/emitTypeReference.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,YAAY,CAAC;AAC5B,OAAO,EAEL,KAAK,qBAAqB,EAC3B,MAAM,qBAAqB,CAAC;AAE7B,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AA0IvD,MAAM,MAAM,wBAAwB,GAAG,qBAAqB,GAAG;IAC7D,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,iBAAiB,EAAE,EAAE,CAAC,UAAU,CAAC;CAClC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,iBAAiB,GAC5B,SAAS,EAAE,CAAC,WAAW,EACvB,MAAM,EAAE,CAAC,IAAI,EACb,KAAK,wBAAwB,KAC5B,oBAAoB,GAAG,SA6BzB,CAAC;AAEF,eAAO,MAAM,iBAAiB,GAC5B,SAAS,EAAE,CAAC,WAAW,EACvB,MAAM,EAAE,CAAC,IAAI,KACZ,MAAgF,CAAC;AAEpF,eAAO,MAAM,8BAA8B,GACzC,SAAS,EAAE,CAAC,WAAW,EACvB,MAAM,EAAE,CAAC,IAAI,EACb,KAAK,wBAAwB,KAC5B,OAMF,CAAC"}
1
+ {"version":3,"file":"emitTypeReference.d.ts","sourceRoot":"","sources":["../../../src/generator/analyzeDemandSupply/emitTypeReference.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,YAAY,CAAC;AAC5B,OAAO,EAEL,KAAK,qBAAqB,EAC3B,MAAM,qBAAqB,CAAC;AAO7B,OAAO,KAAK,EAAE,oBAAoB,EAAkB,MAAM,YAAY,CAAC;AAMvE,qBAAa,sBAAuB,SAAQ,KAAK;gBACnC,OAAO,EAAE,MAAM;CAI5B;AA2XD,MAAM,MAAM,wBAAwB,GAAG,qBAAqB,GAAG;IAC7D,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,iBAAiB,EAAE,EAAE,CAAC,UAAU,CAAC;CAClC,CAAC;AAEF,MAAM,MAAM,2BAA2B,GAAG;IACxC,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB,CAAC;AAEF,eAAO,MAAM,oBAAoB,GAC/B,SAAS,EAAE,CAAC,WAAW,EACvB,MAAM,EAAE,CAAC,IAAI,EACb,KAAK,wBAAwB,EAC7B,UAAU,2BAA2B,KACpC;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,KAAK,EAAE,oBAAoB,CAAA;CAAE,GAAG;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAiB1E,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,iBAAiB,GAC5B,SAAS,EAAE,CAAC,WAAW,EACvB,MAAM,EAAE,CAAC,IAAI,EACb,KAAK,wBAAwB,KAC5B,oBAAoB,GAAG,SAGzB,CAAC;AAEF,eAAO,MAAM,iBAAiB,GAC5B,SAAS,EAAE,CAAC,WAAW,EACvB,MAAM,EAAE,CAAC,IAAI,KACZ,MAAmC,CAAC;AAEvC,eAAO,MAAM,8BAA8B,GACzC,SAAS,EAAE,CAAC,WAAW,EACvB,MAAM,EAAE,CAAC,IAAI,EACb,KAAK,wBAAwB,KAC5B,OAMF,CAAC"}
@@ -1,97 +1,108 @@
1
+ import path from "node:path";
1
2
  import ts from "typescript";
2
3
  import { computeManifestModuleSpecifier, } from "../manifestPaths.js";
4
+ import { factoryBareImportLocalBindingName, factoryImportsTypeAsDefaultBareImport, tryRecoverPreferredModuleSpecifier, } from "../recoverPreferredModuleSpecifier.js";
3
5
  import { cradleTypeImportUsesDefaultExport } from "../contractTypeSourceFile.js";
4
- const intrinsicNames = new Set([
5
- "string",
6
- "number",
7
- "boolean",
8
- "void",
9
- "undefined",
10
- "null",
11
- "never",
12
- "unknown",
13
- "any",
14
- "bigint",
15
- "symbol",
16
- ]);
17
- const unwrapPromiseType = (checker, t) => {
18
- const sym = t.getSymbol();
19
- const symName = sym?.getName();
20
- if (symName === "Promise") {
21
- const args = checker.getTypeArguments(t);
22
- if (args.length > 0) {
23
- return unwrapPromiseType(checker, args[0]);
24
- }
6
+ const NO_TRUNCATION = ts.TypeFormatFlags.NoTruncation;
7
+ const TYPESCRIPT_LIB_DIR_MARKER = `${path.sep}typescript${path.sep}lib${path.sep}`;
8
+ export class EmitTypeReferenceError extends Error {
9
+ constructor(message) {
10
+ super(message);
11
+ this.name = "EmitTypeReferenceError";
25
12
  }
26
- return t;
27
- };
28
- const walkToImportDeclaration = (decl) => {
29
- let node = decl;
30
- while (node !== undefined) {
31
- if (ts.isImportDeclaration(node)) {
32
- return node;
33
- }
34
- node = node.parent;
13
+ }
14
+ const formatType = (checker, type) => checker.typeToString(type, undefined, NO_TRUNCATION);
15
+ /** Primitive `object` (not the lib `Object` interface). */
16
+ const isPrimitiveObjectType = (type) => (type.flags & ts.TypeFlags.Object) !== 0 &&
17
+ (type.flags & ts.TypeFlags.NonPrimitive) === 0;
18
+ const hasLiteralTypeFlags = (type) => (type.flags &
19
+ (ts.TypeFlags.StringLiteral |
20
+ ts.TypeFlags.NumberLiteral |
21
+ ts.TypeFlags.BooleanLiteral |
22
+ ts.TypeFlags.EnumLiteral)) !==
23
+ 0;
24
+ const primitiveKeywordFromFlags = (type) => {
25
+ const flags = type.flags;
26
+ if (flags & ts.TypeFlags.Undefined) {
27
+ return "undefined";
35
28
  }
36
- return undefined;
37
- };
38
- const tryRecoverPreferredModuleSpecifier = (checker, type, contextSourceFile) => {
39
- const t0 = unwrapPromiseType(checker, type);
40
- const t = checker.getApparentType(t0);
41
- if (t.isUnion()) {
42
- return undefined;
29
+ if (flags & ts.TypeFlags.Null) {
30
+ return "null";
43
31
  }
44
- const trySymbol = (sym) => {
45
- if (sym === undefined) {
46
- return undefined;
47
- }
48
- const decls = sym.declarations ?? [];
49
- for (const decl of decls) {
50
- if (decl.getSourceFile() !== contextSourceFile) {
51
- continue;
52
- }
53
- const imp = walkToImportDeclaration(decl);
54
- if (imp !== undefined && ts.isStringLiteralLike(imp.moduleSpecifier)) {
55
- return imp.moduleSpecifier.text;
56
- }
57
- }
58
- return undefined;
59
- };
60
- const fromAlias = trySymbol(t.aliasSymbol);
61
- if (fromAlias !== undefined) {
62
- return fromAlias;
32
+ if (flags & ts.TypeFlags.Void) {
33
+ return "void";
34
+ }
35
+ if (flags & ts.TypeFlags.Never) {
36
+ return "never";
37
+ }
38
+ if (flags & ts.TypeFlags.Unknown) {
39
+ return "unknown";
40
+ }
41
+ if (flags & ts.TypeFlags.Any) {
42
+ return "any";
43
+ }
44
+ if (flags & ts.TypeFlags.String) {
45
+ return "string";
63
46
  }
64
- const sym = t.getSymbol();
65
- const fromSym = trySymbol(sym);
66
- if (fromSym !== undefined) {
67
- return fromSym;
47
+ if (flags & ts.TypeFlags.Number) {
48
+ return "number";
68
49
  }
69
- if (sym !== undefined && sym.flags & ts.SymbolFlags.Alias) {
70
- const aliased = checker.getAliasedSymbol(sym);
71
- return trySymbol(aliased);
50
+ if (flags & ts.TypeFlags.Boolean) {
51
+ return "boolean";
52
+ }
53
+ if (flags & ts.TypeFlags.BigInt) {
54
+ return "bigint";
55
+ }
56
+ if (flags & ts.TypeFlags.ESSymbol) {
57
+ return "symbol";
72
58
  }
73
59
  return undefined;
74
60
  };
75
- const typeNameFromSymbol = (checker, type) => {
76
- const t0 = unwrapPromiseType(checker, type);
77
- const t = checker.getApparentType(t0);
78
- if (t.isUnion()) {
61
+ /**
62
+ * Maps lib intrinsic object types (`String`, `Number`, …) and keyword `object` to lowercase primitives.
63
+ * The lib `Object` interface is excluded (handled by {@link isGlobalLibType}).
64
+ */
65
+ const primitiveKeywordFromObjectType = (checker, type) => {
66
+ if (!isPrimitiveObjectType(type)) {
79
67
  return undefined;
80
68
  }
81
- const symbol = t.aliasSymbol ?? t.getSymbol();
82
- if (!symbol) {
83
- return undefined;
69
+ const symName = type.getSymbol()?.getName();
70
+ if (symName === "String") {
71
+ return "string";
84
72
  }
85
- const name = symbol.getName();
86
- if (!name || intrinsicNames.has(name)) {
87
- return undefined;
73
+ if (symName === "Number") {
74
+ return "number";
75
+ }
76
+ if (symName === "Boolean") {
77
+ return "boolean";
78
+ }
79
+ if (symName === "BigInt") {
80
+ return "bigint";
81
+ }
82
+ if (symName === "Symbol") {
83
+ return "symbol";
84
+ }
85
+ if (symName === undefined || symName === "object") {
86
+ const display = formatType(checker, type);
87
+ if (display.startsWith("[")) {
88
+ return display;
89
+ }
90
+ return "object";
91
+ }
92
+ return undefined;
93
+ };
94
+ const tryPrimitiveInlineText = (checker, type) => primitiveKeywordFromFlags(type) ??
95
+ primitiveKeywordFromObjectType(checker, type);
96
+ const isTypescriptLibDeclarationPath = (fileName) => path.normalize(fileName).includes(TYPESCRIPT_LIB_DIR_MARKER);
97
+ const assertNotTypescriptPackageImport = (typeName, relImport, declarationFileName) => {
98
+ if (relImport === "typescript" ||
99
+ isTypescriptLibDeclarationPath(declarationFileName)) {
100
+ throw new EmitTypeReferenceError(`[ioc] Codegen attempted to import ${JSON.stringify(typeName)} from the typescript package's lib files. This is a bug in ioc-manifest. Please file an issue with the factory and deps type that triggered this.`);
88
101
  }
89
- return name;
90
102
  };
91
103
  const getTypeDeclarationSourceFile = (checker, type) => {
92
- const t0 = unwrapPromiseType(checker, type);
93
- const t = checker.getApparentType(t0);
94
- if (t.isUnion()) {
104
+ const t = checker.getApparentType(type);
105
+ if (t.isUnion() || t.isIntersection()) {
95
106
  return undefined;
96
107
  }
97
108
  let symbol = t.aliasSymbol ?? t.getSymbol();
@@ -107,31 +118,174 @@ const getTypeDeclarationSourceFile = (checker, type) => {
107
118
  }
108
119
  return decl.getSourceFile();
109
120
  };
110
- /**
111
- * Maps a TypeScript type to an importable type name and module specifier for generated registry types.
112
- */
113
- export const emitTypeReference = (checker, type, ctx) => {
114
- const typeName = typeNameFromSymbol(checker, type);
115
- if (typeName === undefined) {
116
- return undefined;
117
- }
121
+ const isGlobalLibType = (program, checker, type) => {
118
122
  const declSource = getTypeDeclarationSourceFile(checker, type);
119
123
  if (declSource === undefined) {
124
+ return false;
125
+ }
126
+ return program.isSourceFileDefaultLibrary(declSource);
127
+ };
128
+ const importSymbolNameFromType = (checker, type) => {
129
+ const t = checker.getApparentType(type);
130
+ if (t.isUnion() || t.isIntersection()) {
131
+ return undefined;
132
+ }
133
+ const symbol = t.aliasSymbol ?? t.getSymbol();
134
+ if (!symbol) {
120
135
  return undefined;
121
136
  }
137
+ const name = symbol.getName();
138
+ return name.length > 0 ? name : undefined;
139
+ };
140
+ const mergeImports = (specs) => {
141
+ const seen = new Set();
142
+ const out = [];
143
+ for (const spec of specs) {
144
+ const key = `${spec.relImport}\0${spec.typeName}\0${spec.useDefaultImport}`;
145
+ if (!seen.has(key)) {
146
+ seen.add(key);
147
+ out.push(spec);
148
+ }
149
+ }
150
+ return out;
151
+ };
152
+ const inlineResult = (checker, type) => {
153
+ const primitiveText = tryPrimitiveInlineText(checker, type);
154
+ return {
155
+ typeName: primitiveText ?? formatType(checker, type),
156
+ imports: [],
157
+ };
158
+ };
159
+ const emitNamedTypeImport = (checker, type, ctx, compoundContext) => {
160
+ const apparent = checker.getApparentType(type);
161
+ const typeDisplay = formatType(checker, apparent);
162
+ let importName = importSymbolNameFromType(checker, apparent);
163
+ if (importName === "default") {
164
+ const localName = factoryBareImportLocalBindingName(checker, apparent, ctx.contextSourceFile);
165
+ if (localName !== undefined) {
166
+ importName = localName;
167
+ }
168
+ }
169
+ const declSource = getTypeDeclarationSourceFile(checker, apparent);
170
+ if (declSource !== undefined &&
171
+ path.normalize(declSource.fileName) ===
172
+ path.normalize(ctx.contextSourceFile.fileName)) {
173
+ return inlineResult(checker, apparent);
174
+ }
175
+ if (importName === undefined || declSource === undefined) {
176
+ const compoundSuffix = compoundContext !== undefined
177
+ ? ` in compound type ${JSON.stringify(compoundContext.compoundDisplay)}`
178
+ : "";
179
+ throw new EmitTypeReferenceError(`[ioc] Cannot resolve import for type ${JSON.stringify(typeDisplay)}${compoundSuffix}`);
180
+ }
122
181
  const relImport = computeManifestModuleSpecifier(declSource.fileName, ctx.generatedDir, ctx.scanDirs, {
123
- preferredModuleSpecifier: tryRecoverPreferredModuleSpecifier(checker, type, ctx.contextSourceFile),
182
+ preferredModuleSpecifier: tryRecoverPreferredModuleSpecifier(checker, apparent, ctx.contextSourceFile),
124
183
  projectRoot: ctx.projectRoot,
125
184
  });
126
- const useDefaultImport = cradleTypeImportUsesDefaultExport(declSource, typeName) ?? false;
127
- return { typeName, relImport, useDefaultImport };
185
+ assertNotTypescriptPackageImport(importName, relImport, declSource.fileName);
186
+ const useDefaultImport = factoryImportsTypeAsDefaultBareImport(checker, apparent, ctx.contextSourceFile) ||
187
+ (cradleTypeImportUsesDefaultExport(declSource, importName) ?? false);
188
+ return {
189
+ typeName: importName,
190
+ imports: [{ typeName: importName, relImport, useDefaultImport }],
191
+ };
192
+ };
193
+ const orderUnionPartTexts = (parts) => {
194
+ const out = [...parts];
195
+ for (const trailing of ["null", "undefined"]) {
196
+ const idx = out.indexOf(trailing);
197
+ if (idx >= 0) {
198
+ out.splice(idx, 1);
199
+ out.push(trailing);
200
+ }
201
+ }
202
+ return out;
203
+ };
204
+ const emitCompoundType = (checker, members, separator, compoundType, ctx) => {
205
+ const compoundDisplay = formatType(checker, compoundType);
206
+ const parts = [];
207
+ const imports = [];
208
+ for (const member of members) {
209
+ const memberDisplay = formatType(checker, member);
210
+ try {
211
+ const part = emitTypeReferenceInner(checker, member, ctx, {
212
+ compoundDisplay,
213
+ });
214
+ parts.push(part.typeName);
215
+ imports.push(...part.imports);
216
+ }
217
+ catch (err) {
218
+ if (err instanceof EmitTypeReferenceError) {
219
+ throw err;
220
+ }
221
+ throw new EmitTypeReferenceError(`[ioc] Cannot resolve import for type ${JSON.stringify(memberDisplay)} in compound type ${JSON.stringify(compoundDisplay)}`);
222
+ }
223
+ }
224
+ const typeName = separator === " | "
225
+ ? orderUnionPartTexts(parts).join(separator)
226
+ : parts.join(separator);
227
+ return {
228
+ typeName,
229
+ imports: mergeImports(imports),
230
+ };
231
+ };
232
+ const emitTypeReferenceInner = (checker, type, ctx, compoundContext) => {
233
+ if (type.flags & ts.TypeFlags.TypeParameter) {
234
+ const typeDisplay = formatType(checker, type);
235
+ const compoundSuffix = compoundContext !== undefined
236
+ ? ` in compound type ${JSON.stringify(compoundContext.compoundDisplay)}`
237
+ : "";
238
+ throw new EmitTypeReferenceError(`[ioc] Cannot resolve import for type ${JSON.stringify(typeDisplay)}${compoundSuffix}`);
239
+ }
240
+ const apparent = checker.getApparentType(type);
241
+ if (apparent.isUnion()) {
242
+ return emitCompoundType(checker, apparent.types, " | ", apparent, ctx);
243
+ }
244
+ if (apparent.isIntersection()) {
245
+ return emitCompoundType(checker, apparent.types, " & ", apparent, ctx);
246
+ }
247
+ if (tryPrimitiveInlineText(checker, apparent) !== undefined) {
248
+ return inlineResult(checker, apparent);
249
+ }
250
+ if (hasLiteralTypeFlags(apparent)) {
251
+ return inlineResult(checker, apparent);
252
+ }
253
+ if (isGlobalLibType(ctx.program, checker, apparent)) {
254
+ return inlineResult(checker, apparent);
255
+ }
256
+ return emitNamedTypeImport(checker, apparent, ctx, compoundContext);
257
+ };
258
+ export const tryEmitTypeReference = (checker, type, ctx, options) => {
259
+ try {
260
+ const inner = emitTypeReferenceInner(checker, type, ctx);
261
+ return {
262
+ ok: true,
263
+ value: { typeName: inner.typeName, imports: inner.imports },
264
+ };
265
+ }
266
+ catch (err) {
267
+ if (err instanceof EmitTypeReferenceError) {
268
+ const suffix = options?.propertyName !== undefined
269
+ ? ` on property ${JSON.stringify(options.propertyName)}`
270
+ : "";
271
+ return { ok: false, message: `${err.message}${suffix}` };
272
+ }
273
+ throw err;
274
+ }
275
+ };
276
+ /**
277
+ * Maps a TypeScript type to an importable type name and module specifier for generated registry types.
278
+ */
279
+ export const emitTypeReference = (checker, type, ctx) => {
280
+ const result = tryEmitTypeReference(checker, type, ctx);
281
+ return result.ok ? result.value : undefined;
128
282
  };
129
- export const formatTypeDisplay = (checker, type) => checker.typeToString(type, undefined, ts.TypeFormatFlags.NoTruncation);
283
+ export const formatTypeDisplay = (checker, type) => formatType(checker, type);
130
284
  export const isUnresolvableDepsPropertyType = (checker, type, ctx) => {
131
285
  const apparent = checker.getApparentType(type);
132
286
  if (apparent.flags & (ts.TypeFlags.Any | ts.TypeFlags.TypeParameter)) {
133
287
  return true;
134
288
  }
135
- return emitTypeReference(checker, type, ctx) === undefined;
289
+ return !tryEmitTypeReference(checker, type, ctx).ok;
136
290
  };
137
291
  //# sourceMappingURL=emitTypeReference.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"emitTypeReference.js","sourceRoot":"","sources":["../../../src/generator/analyzeDemandSupply/emitTypeReference.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"emitTypeReference.js","sourceRoot":"","sources":["../../../src/generator/analyzeDemandSupply/emitTypeReference.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/generator/analyzeDemandSupply/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,YAAY,CAAC;AAC5B,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAEhE,OAAO,EAEL,KAAK,qBAAqB,EAC3B,MAAM,qBAAqB,CAAC;AAC7B,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAQrD,OAAO,KAAK,EACV,0BAA0B,EAI3B,MAAM,YAAY,CAAC;AAEpB,YAAY,EAAE,0BAA0B,EAAE,uBAAuB,EAAE,MAAM,YAAY,CAAC;AA8GtF,MAAM,MAAM,0BAA0B,GAAG,qBAAqB,GAAG;IAC/D,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,cAAc,CAAC,EAAE,iBAAiB,CAAC;CACpC,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,mBAAmB,GAC9B,WAAW,SAAS,iBAAiB,EAAE,EACvC,SAAS,0BAA0B,KAClC,0BA+IF,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/generator/analyzeDemandSupply/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,YAAY,CAAC;AAC5B,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAEhE,OAAO,EAEL,KAAK,qBAAqB,EAC3B,MAAM,qBAAqB,CAAC;AAC7B,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AASrD,OAAO,KAAK,EACV,0BAA0B,EAI3B,MAAM,YAAY,CAAC;AAEpB,YAAY,EAAE,0BAA0B,EAAE,uBAAuB,EAAE,MAAM,YAAY,CAAC;AA8GtF,MAAM,MAAM,0BAA0B,GAAG,qBAAqB,GAAG;IAC/D,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,cAAc,CAAC,EAAE,iBAAiB,CAAC;CACpC,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,mBAAmB,GAC9B,WAAW,SAAS,iBAAiB,EAAE,EACvC,SAAS,0BAA0B,KAClC,0BAuJF,CAAC"}
@@ -1,7 +1,7 @@
1
1
  import path from "node:path";
2
2
  import { collectFileAnalysisForFactoryDiscovery } from "../discoverFactories/scanFactoryFile.js";
3
3
  import { resolveFactorySourceAbsPath, } from "../manifestPaths.js";
4
- import { emitTypeReference, formatTypeDisplay, isUnresolvableDepsPropertyType, } from "./emitTypeReference.js";
4
+ import { emitTypeReference, formatTypeDisplay, isUnresolvableDepsPropertyType, tryEmitTypeReference, } from "./emitTypeReference.js";
5
5
  import { validateNamedDepsType } from "./enforceNamedDepsType.js";
6
6
  const normalizePath = (p) => path.normalize(p);
7
7
  const typesMutuallyAgree = (checker, a, b) => checker.isTypeAssignableTo(a, b) && checker.isTypeAssignableTo(b, a);
@@ -49,10 +49,10 @@ const formatTypeConflictError = (key, first, second, projectRoot) => {
49
49
  ${fmt(first.factory, first.typeDisplay)}
50
50
  ${fmt(second.factory, second.typeDisplay)}`;
51
51
  };
52
- const formatUnresolvableDepsError = (projectRoot, loc, propName, typeDisplay) => {
52
+ const formatUnresolvableDepsError = (projectRoot, loc, propName, detail) => {
53
53
  const abs = path.join(projectRoot, loc.modulePath);
54
54
  const rel = path.relative(projectRoot, abs).replace(/\\/g, "/");
55
- return `[ioc] Factory ${JSON.stringify(loc.exportName)} at ${rel}:${loc.line} references an unresolvable type in deps for property ${JSON.stringify(propName)}: ${typeDisplay}`;
55
+ return `[ioc] Factory ${JSON.stringify(loc.exportName)} at ${rel}:${loc.line} references an unresolvable deps type for property ${JSON.stringify(propName)}: ${detail}`;
56
56
  };
57
57
  const mergeEntry = (map, key, typeRef, classification) => {
58
58
  const existing = map.get(key);
@@ -107,8 +107,13 @@ export const analyzeDemandSupply = (factories, options) => {
107
107
  const supplyRef = emitTypeReference(checker, returnType, emitCtx) ??
108
108
  {
109
109
  typeName: factory.contractName,
110
- relImport: factory.contractTypeRelImport,
111
- useDefaultImport: false,
110
+ imports: [
111
+ {
112
+ typeName: factory.contractName,
113
+ relImport: factory.contractTypeRelImport,
114
+ useDefaultImport: false,
115
+ },
116
+ ],
112
117
  };
113
118
  mergeEntry(cradleMap, factory.registrationKey, supplyRef, localSupplierKeys.has(factory.registrationKey) ? "local" : "external");
114
119
  }
@@ -124,10 +129,13 @@ export const analyzeDemandSupply = (factories, options) => {
124
129
  if (isUnresolvableDepsPropertyType(checker, propType, emitCtx)) {
125
130
  throw new Error(formatUnresolvableDepsError(projectRoot, loc, propName, formatTypeDisplay(checker, propType)));
126
131
  }
127
- const typeRef = emitTypeReference(checker, propType, emitCtx);
128
- if (typeRef === undefined) {
129
- throw new Error(formatUnresolvableDepsError(projectRoot, loc, propName, formatTypeDisplay(checker, propType)));
132
+ const emitted = tryEmitTypeReference(checker, propType, emitCtx, {
133
+ propertyName: propName,
134
+ });
135
+ if (!emitted.ok) {
136
+ throw new Error(formatUnresolvableDepsError(projectRoot, loc, propName, emitted.message));
130
137
  }
138
+ const typeRef = emitted.value;
131
139
  const classification = localSupplierKeys.has(propName)
132
140
  ? "local"
133
141
  : "external";
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/generator/analyzeDemandSupply/index.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAG7B,OAAO,EAAE,sCAAsC,EAAE,MAAM,yCAAyC,CAAC;AACjG,OAAO,EACL,2BAA2B,GAE5B,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EACL,iBAAiB,EACjB,iBAAiB,EACjB,8BAA8B,GAE/B,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;AAUlE,MAAM,aAAa,GAAG,CAAC,CAAS,EAAU,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;AAE/D,MAAM,kBAAkB,GAAG,CACzB,OAAuB,EACvB,CAAU,EACV,CAAU,EACD,EAAE,CACX,OAAO,CAAC,kBAAkB,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,OAAO,CAAC,kBAAkB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AAEvE,MAAM,wBAAwB,GAAG,CAC/B,SAAuC,EACvC,cAA6C,EAChC,EAAE;IACf,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;IAC/B,KAAK,MAAM,OAAO,IAAI,SAAS,EAAE,CAAC;QAChC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;IACpC,CAAC;IACD,IAAI,cAAc,KAAK,SAAS,EAAE,CAAC;QACjC,KAAK,MAAM,QAAQ,IAAI,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,EAAE,CAAC;YACnD,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QACrB,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AAEF,MAAM,eAAe,GAAG,CACtB,OAA0B,EAC1B,WAA4B,EAC5B,UAAyB,EACF,EAAE;IACzB,MAAM,GAAG,GACP,WAAW,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,IAAI,WAAW,CAAC,QAAQ,EAAE,CAAC;IAClE,MAAM,EAAE,IAAI,EAAE,GAAG,UAAU,CAAC,6BAA6B,CAAC,GAAG,CAAC,CAAC;IAC/D,OAAO;QACL,UAAU,EAAE,OAAO,CAAC,UAAU;QAC9B,UAAU,EAAE,OAAO,CAAC,UAAU;QAC9B,IAAI,EAAE,IAAI,GAAG,CAAC;KACf,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,qBAAqB,GAAG,CAC5B,OAAuB,EACvB,QAAiB,EACkB,EAAE;IACrC,MAAM,QAAQ,GAAG,OAAO,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC;IACnD,MAAM,GAAG,GAAsC,EAAE,CAAC;IAElD,KAAK,MAAM,IAAI,IAAI,OAAO,CAAC,mBAAmB,CAAC,QAAQ,CAAC,EAAE,CAAC;QACzD,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;QAC5B,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;YAC1B,SAAS;QACX,CAAC;QACD,MAAM,QAAQ,GAAG,OAAO,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;QAC/C,GAAG,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC;IACrC,CAAC;IAED,OAAO,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;AAC1D,CAAC,CAAC;AAEF,MAAM,uBAAuB,GAAG,CAC9B,GAAW,EACX,KAA8D,EAC9D,MAA+D,EAC/D,WAAmB,EACX,EAAE;IACV,MAAM,GAAG,GAAG,CAAC,GAA0B,EAAE,WAAmB,EAAU,EAAE;QACtE,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,GAAG,CAAC,UAAU,CAAC,CAAC;QACnD,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;QAChE,OAAO,eAAe,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,UAAU,CAAC,OAAO,GAAG,IAAI,GAAG,CAAC,IAAI,aAAa,GAAG,KAAK,WAAW,EAAE,CAAC;IAC/G,CAAC,CAAC;IAEF,OAAO,4CAA4C,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC;EACtE,GAAG,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,WAAW,CAAC;EACrC,GAAG,CAAC,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC;AAC5C,CAAC,CAAC;AAEF,MAAM,2BAA2B,GAAG,CAClC,WAAmB,EACnB,GAA0B,EAC1B,QAAgB,EAChB,WAAmB,EACX,EAAE;IACV,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,GAAG,CAAC,UAAU,CAAC,CAAC;IACnD,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IAChE,OAAO,iBAAiB,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,UAAU,CAAC,OAAO,GAAG,IAAI,GAAG,CAAC,IAAI,yDAAyD,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,KAAK,WAAW,EAAE,CAAC;AAClL,CAAC,CAAC;AAEF,MAAM,UAAU,GAAG,CACjB,GAAyC,EACzC,GAAW,EACX,OAA6B,EAC7B,cAAoC,EAC9B,EAAE;IACR,MAAM,QAAQ,GAAG,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAC9B,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;QAC3B,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE;YACX,GAAG;YACH,OAAO;YACP,cAAc,EACZ,QAAQ,CAAC,cAAc,KAAK,OAAO,IAAI,cAAc,KAAK,OAAO;gBAC/D,CAAC,CAAC,OAAO;gBACT,CAAC,CAAC,UAAU;SACjB,CAAC,CAAC;QACH,OAAO;IACT,CAAC;IACD,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,GAAG,EAAE,OAAO,EAAE,cAAc,EAAE,CAAC,CAAC;AACjD,CAAC,CAAC;AAQF;;;GAGG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,CACjC,SAAuC,EACvC,OAAmC,EACP,EAAE;IAC9B,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,YAAY,EAAE,cAAc,EAAE,GACpE,OAAO,CAAC;IACV,MAAM,OAAO,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC;IACzC,MAAM,iBAAiB,GAAG,wBAAwB,CAAC,SAAS,EAAE,cAAc,CAAC,CAAC;IAE9E,MAAM,gBAAgB,GAAG,IAAI,GAAG,EAAyB,CAAC;IAC1D,KAAK,MAAM,EAAE,IAAI,OAAO,CAAC,cAAc,EAAE,EAAE,CAAC;QAC1C,gBAAgB,CAAC,GAAG,CAAC,aAAa,CAAC,EAAE,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC,CAAC;IACvD,CAAC;IAED,MAAM,WAAW,GAAG,IAAI,GAAG,EAGxB,CAAC;IAEJ,MAAM,SAAS,GAAG,IAAI,GAAG,EAAmC,CAAC;IAE7D,KAAK,MAAM,OAAO,IAAI,SAAS,EAAE,CAAC;QAChC,MAAM,OAAO,GAAG,aAAa,CAC3B,2BAA2B,CAAC,OAAO,CAAC,UAAU,EAAE,WAAW,EAAE,QAAQ,CAAC,CACvE,CAAC;QACF,MAAM,UAAU,GAAG,gBAAgB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QACjD,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,SAAS;QACX,CAAC;QAED,MAAM,QAAQ,GAAG,sCAAsC,CAAC,UAAU,CAAC,CAAC;QACpE,MAAM,WAAW,GAAG,QAAQ,CAAC,mBAAmB,CAAC,GAAG,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;QACzE,IAAI,CAAC,WAAW,EAAE,CAAC;YACjB,SAAS;QACX,CAAC;QAED,MAAM,GAAG,GAAG,eAAe,CAAC,OAAO,EAAE,WAAW,EAAE,UAAU,CAAC,CAAC;QAC9D,MAAM,OAAO,GAA6B;YACxC,OAAO;YACP,WAAW;YACX,QAAQ;YACR,YAAY;YACZ,iBAAiB,EAAE,UAAU;SAC9B,CAAC;QAEF,MAAM,SAAS,GAAG,OAAO,CAAC,2BAA2B,CAAC,WAAW,CAAC,CAAC;QACnE,IAAI,SAAS,EAAE,CAAC;YACd,MAAM,UAAU,GAAG,OAAO,CAAC,wBAAwB,CAAC,SAAS,CAAC,CAAC;YAC/D,MAAM,SAAS,GACb,iBAAiB,CAAC,OAAO,EAAE,UAAU,EAAE,OAAO,CAAC;gBAC9C;oBACC,QAAQ,EAAE,OAAO,CAAC,YAAY;oBAC9B,SAAS,EAAE,OAAO,CAAC,qBAAqB;oBACxC,gBAAgB,EAAE,KAAK;iBACQ,CAAC;YAEpC,UAAU,CACR,SAAS,EACT,OAAO,CAAC,eAAe,EACvB,SAAS,EACT,iBAAiB,CAAC,GAAG,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,UAAU,CACtE,CAAC;QACJ,CAAC;QAED,IAAI,WAAW,CAAC,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACxC,SAAS;QACX,CAAC;QAED,MAAM,KAAK,GAAG,qBAAqB,CACjC,OAAO,EACP,WAAW,EACX,WAAW,EACX,GAAG,CACJ,CAAC;QACF,IAAI,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC;YACd,MAAM,IAAI,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QACjC,CAAC;QAED,MAAM,KAAK,GAAG,qBAAqB,CAAC,OAAO,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC;QAC7D,KAAK,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,KAAK,EAAE,CAAC;YACvD,IAAI,8BAA8B,CAAC,OAAO,EAAE,QAAQ,EAAE,OAAO,CAAC,EAAE,CAAC;gBAC/D,MAAM,IAAI,KAAK,CACb,2BAA2B,CACzB,WAAW,EACX,GAAG,EACH,QAAQ,EACR,iBAAiB,CAAC,OAAO,EAAE,QAAQ,CAAC,CACrC,CACF,CAAC;YACJ,CAAC;YAED,MAAM,OAAO,GAAG,iBAAiB,CAAC,OAAO,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;YAC9D,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;gBAC1B,MAAM,IAAI,KAAK,CACb,2BAA2B,CACzB,WAAW,EACX,GAAG,EACH,QAAQ,EACR,iBAAiB,CAAC,OAAO,EAAE,QAAQ,CAAC,CACrC,CACF,CAAC;YACJ,CAAC;YAED,MAAM,cAAc,GAAG,iBAAiB,CAAC,GAAG,CAAC,QAAQ,CAAC;gBACpD,CAAC,CAAC,OAAO;gBACT,CAAC,CAAC,UAAU,CAAC;YAEf,MAAM,QAAQ,GAAG,WAAW,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YAC3C,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;gBAC3B,IAAI,CAAC,kBAAkB,CAAC,OAAO,EAAE,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,EAAE,CAAC;oBAC1D,MAAM,IAAI,KAAK,CACb,uBAAuB,CACrB,QAAQ,EACR;wBACE,OAAO,EAAE,QAAQ,CAAC,OAAO;wBACzB,WAAW,EAAE,iBAAiB,CAAC,OAAO,EAAE,QAAQ,CAAC,IAAI,CAAC;qBACvD,EACD;wBACE,OAAO,EAAE,GAAG;wBACZ,WAAW,EAAE,iBAAiB,CAAC,OAAO,EAAE,QAAQ,CAAC;qBAClD,EACD,WAAW,CACZ,CACF,CAAC;gBACJ,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,WAAW,CAAC,GAAG,CAAC,QAAQ,EAAE;oBACxB,IAAI,EAAE,QAAQ;oBACd,OAAO,EAAE,GAAG;oBACZ,OAAO;iBACR,CAAC,CAAC;YACL,CAAC;YAED,UAAU,CAAC,SAAS,EAAE,QAAQ,EAAE,OAAO,EAAE,cAAc,CAAC,CAAC;QAC3D,CAAC;IACH,CAAC;IAED,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAC3D,CAAC,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,GAAG,CAAC,CAC3B,CAAC;IAEF,MAAM,YAAY,GAAG,OAAO;SACzB,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,cAAc,KAAK,UAAU,CAAC;SAC9C,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;IAErB,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,CAAC;AACnC,CAAC,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/generator/analyzeDemandSupply/index.ts"],"names":[],"mappings":"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"}
@@ -1,9 +1,15 @@
1
- /** Resolved type reference for emission in `ioc-registry.types.ts`. */
2
- export type EmittedTypeReference = {
1
+ /** Import spec collected for generated `ioc-registry.types.ts`. */
2
+ export type TypeImportSpec = {
3
3
  typeName: string;
4
4
  relImport: string;
5
5
  useDefaultImport: boolean;
6
6
  };
7
+ /** Resolved type reference for emission in `ioc-registry.types.ts`. */
8
+ export type EmittedTypeReference = {
9
+ /** Full property type text (may be compound, e.g. `string | Foo`). */
10
+ typeName: string;
11
+ imports: readonly TypeImportSpec[];
12
+ };
7
13
  export type FactorySourceLocation = {
8
14
  exportName: string;
9
15
  modulePath: string;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/generator/analyzeDemandSupply/types.ts"],"names":[],"mappings":"AAAA,uEAAuE;AACvE,MAAM,MAAM,oBAAoB,GAAG;IACjC,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,gBAAgB,EAAE,OAAO,CAAC;CAC3B,CAAC;AAEF,MAAM,MAAM,qBAAqB,GAAG;IAClC,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;CACd,CAAC;AAEF,MAAM,MAAM,uBAAuB,GAAG;IACpC,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,oBAAoB,CAAC;IAC9B,0FAA0F;IAC1F,cAAc,EAAE,OAAO,GAAG,UAAU,CAAC;CACtC,CAAC;AAEF,MAAM,MAAM,0BAA0B,GAAG;IACvC,8EAA8E;IAC9E,OAAO,EAAE,SAAS,uBAAuB,EAAE,CAAC;IAC5C,2EAA2E;IAC3E,YAAY,EAAE,SAAS,MAAM,EAAE,CAAC;CACjC,CAAC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/generator/analyzeDemandSupply/types.ts"],"names":[],"mappings":"AAAA,mEAAmE;AACnE,MAAM,MAAM,cAAc,GAAG;IAC3B,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,gBAAgB,EAAE,OAAO,CAAC;CAC3B,CAAC;AAEF,uEAAuE;AACvE,MAAM,MAAM,oBAAoB,GAAG;IACjC,sEAAsE;IACtE,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,SAAS,cAAc,EAAE,CAAC;CACpC,CAAC;AAEF,MAAM,MAAM,qBAAqB,GAAG;IAClC,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;CACd,CAAC;AAEF,MAAM,MAAM,uBAAuB,GAAG;IACpC,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,oBAAoB,CAAC;IAC9B,0FAA0F;IAC1F,cAAc,EAAE,OAAO,GAAG,UAAU,CAAC;CACtC,CAAC;AAEF,MAAM,MAAM,0BAA0B,GAAG;IACvC,8EAA8E;IAC9E,OAAO,EAAE,SAAS,uBAAuB,EAAE,CAAC;IAC5C,2EAA2E;IAC3E,YAAY,EAAE,SAAS,MAAM,EAAE,CAAC;CACjC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"scanFactoryFile.d.ts","sourceRoot":"","sources":["../../../src/generator/discoverFactories/scanFactoryFile.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,YAAY,CAAC;AAG5B,OAAO,EAGL,KAAK,mBAAmB,EACzB,MAAM,4BAA4B,CAAC;AAKpC,OAAO,KAAK,EACV,iBAAiB,EACjB,2BAA2B,EAC5B,MAAM,aAAa,CAAC;AAErB,uEAAuE;AACvE,MAAM,MAAM,YAAY,GAAG;IACzB,aAAa,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAC3B,UAAU,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IACxB,WAAW,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IACzB,mBAAmB,EAAE,GAAG,CAAC,MAAM,EAAE,EAAE,CAAC,YAAY,CAAC,CAAC;CACnD,CAAC;AAwLF,eAAO,MAAM,sCAAsC,GACjD,YAAY,EAAE,CAAC,UAAU,KACxB,YAyGF,CAAC;AAEF,MAAM,MAAM,qBAAqB,GAAG;IAClC,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,mBAAmB,EAAE,CAAC;IAChC,UAAU,EAAE,iBAAiB,EAAE,CAAC;CACjC,CAAC;AA0BF,eAAO,MAAM,eAAe,GAC1B,SAAS,2BAA2B,EACpC,SAAS,EAAE,CAAC,WAAW,KACtB,qBA4LF,CAAC"}
1
+ {"version":3,"file":"scanFactoryFile.d.ts","sourceRoot":"","sources":["../../../src/generator/discoverFactories/scanFactoryFile.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,YAAY,CAAC;AAG5B,OAAO,EAGL,KAAK,mBAAmB,EACzB,MAAM,4BAA4B,CAAC;AAMpC,OAAO,KAAK,EACV,iBAAiB,EACjB,2BAA2B,EAC5B,MAAM,aAAa,CAAC;AAErB,uEAAuE;AACvE,MAAM,MAAM,YAAY,GAAG;IACzB,aAAa,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAC3B,UAAU,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IACxB,WAAW,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IACzB,mBAAmB,EAAE,GAAG,CAAC,MAAM,EAAE,EAAE,CAAC,YAAY,CAAC,CAAC;CACnD,CAAC;AAuHF,eAAO,MAAM,sCAAsC,GACjD,YAAY,EAAE,CAAC,UAAU,KACxB,YAyGF,CAAC;AAEF,MAAM,MAAM,qBAAqB,GAAG;IAClC,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,mBAAmB,EAAE,CAAC;IAChC,UAAU,EAAE,iBAAiB,EAAE,CAAC;CACjC,CAAC;AA0BF,eAAO,MAAM,eAAe,GAC1B,SAAS,2BAA2B,EACpC,SAAS,EAAE,CAAC,WAAW,KACtB,qBA4LF,CAAC"}