@proteinjs/reflection-build 2.0.3 → 2.1.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.
Files changed (176) hide show
  1. package/CHANGELOG.md +16 -0
  2. package/dist/src/ReflectionDoctor.d.ts +6 -1
  3. package/dist/src/ReflectionDoctor.js +53 -51
  4. package/dist/src/ReflectionDoctor.js.map +1 -1
  5. package/dist/src/codegen/CanonicalSourceGraph.d.ts +22 -0
  6. package/dist/src/codegen/CanonicalSourceGraph.js +60 -0
  7. package/dist/src/codegen/CanonicalSourceGraph.js.map +1 -0
  8. package/dist/src/codegen/writeGeneratedIndex.d.ts +12 -3
  9. package/dist/src/codegen/writeGeneratedIndex.js +21 -13
  10. package/dist/src/codegen/writeGeneratedIndex.js.map +1 -1
  11. package/dist/src/parser/PackageSourceFiles.d.ts +30 -0
  12. package/dist/src/parser/PackageSourceFiles.js +151 -0
  13. package/dist/src/parser/PackageSourceFiles.js.map +1 -0
  14. package/dist/src/parser/SharedQualifiedNames.d.ts +43 -0
  15. package/dist/src/parser/SharedQualifiedNames.js +81 -0
  16. package/dist/src/parser/SharedQualifiedNames.js.map +1 -0
  17. package/dist/src/parser/createGraphBuilder.d.ts +6 -1
  18. package/dist/src/parser/createGraphBuilder.js +16 -31
  19. package/dist/src/parser/createGraphBuilder.js.map +1 -1
  20. package/dist/src/parser/createSourceGraph.d.ts +6 -1
  21. package/dist/src/parser/createSourceGraph.js +23 -38
  22. package/dist/src/parser/createSourceGraph.js.map +1 -1
  23. package/dist/test/Class.test.js +1 -1
  24. package/dist/test/Class.test.js.map +1 -1
  25. package/dist/test/ExamplePackageFixture.d.ts +47 -0
  26. package/dist/test/ExamplePackageFixture.js +207 -0
  27. package/dist/test/ExamplePackageFixture.js.map +1 -0
  28. package/dist/test/GraphEmitRelativePaths.test.js +1 -1
  29. package/dist/test/GraphEmitRelativePaths.test.js.map +1 -1
  30. package/dist/test/PackageSourceFiles.test.d.ts +1 -0
  31. package/dist/test/PackageSourceFiles.test.js +57 -0
  32. package/dist/test/PackageSourceFiles.test.js.map +1 -0
  33. package/dist/test/ReflectionDoctor.test.js +55 -18
  34. package/dist/test/ReflectionDoctor.test.js.map +1 -1
  35. package/dist/test/ReproducibleGeneratedIndex.test.d.ts +1 -0
  36. package/dist/test/ReproducibleGeneratedIndex.test.js +224 -0
  37. package/dist/test/ReproducibleGeneratedIndex.test.js.map +1 -0
  38. package/dist/test/SharedQualifiedNames.test.d.ts +1 -0
  39. package/dist/test/SharedQualifiedNames.test.js +186 -0
  40. package/dist/test/SharedQualifiedNames.test.js.map +1 -0
  41. package/dist/test/examples/reproducible/index.d.ts +4 -0
  42. package/dist/test/examples/reproducible/index.js +21 -0
  43. package/dist/test/examples/reproducible/index.js.map +1 -0
  44. package/dist/test/examples/reproducible/src/alpha/Alpha.d.ts +10 -0
  45. package/dist/test/examples/reproducible/src/alpha/Alpha.js +18 -0
  46. package/dist/test/examples/reproducible/src/alpha/Alpha.js.map +1 -0
  47. package/dist/test/examples/reproducible/src/alpha/Defaults.d.ts +2 -0
  48. package/dist/test/examples/reproducible/src/alpha/Defaults.js +6 -0
  49. package/dist/test/examples/reproducible/src/alpha/Defaults.js.map +1 -0
  50. package/dist/test/examples/reproducible/src/beta/Beta.d.ts +5 -0
  51. package/dist/test/examples/reproducible/src/beta/Beta.js +12 -0
  52. package/dist/test/examples/reproducible/src/beta/Beta.js.map +1 -0
  53. package/dist/test/examples/reproducible/src/beta/deep/Gamma.d.ts +4 -0
  54. package/dist/test/examples/reproducible/src/beta/deep/Gamma.js +11 -0
  55. package/dist/test/examples/reproducible/src/beta/deep/Gamma.js.map +1 -0
  56. package/dist/test/examples/reproducible/src/zeta/Defaults.d.ts +2 -0
  57. package/dist/test/examples/reproducible/src/zeta/Defaults.js +6 -0
  58. package/dist/test/examples/reproducible/src/zeta/Defaults.js.map +1 -0
  59. package/dist/test/examples/reproducible/src/zeta/Zeta.d.ts +7 -0
  60. package/dist/test/examples/reproducible/src/zeta/Zeta.js +18 -0
  61. package/dist/test/examples/reproducible/src/zeta/Zeta.js.map +1 -0
  62. package/dist/test/examples/shared-name/index.d.ts +1 -0
  63. package/dist/test/examples/shared-name/index.js +18 -0
  64. package/dist/test/examples/shared-name/index.js.map +1 -0
  65. package/dist/test/examples/shared-name/src/alpha/Widget.d.ts +4 -0
  66. package/dist/test/examples/shared-name/src/alpha/Widget.js +3 -0
  67. package/dist/test/examples/shared-name/src/alpha/Widget.js.map +1 -0
  68. package/dist/test/examples/shared-name/src/beta/Widget.d.ts +3 -0
  69. package/dist/test/examples/shared-name/src/beta/Widget.js +13 -0
  70. package/dist/test/examples/shared-name/src/beta/Widget.js.map +1 -0
  71. package/dist/test/examples/shared-name/src/gamma/Gear.d.ts +7 -0
  72. package/dist/test/examples/shared-name/src/gamma/Gear.js +5 -0
  73. package/dist/test/examples/shared-name/src/gamma/Gear.js.map +1 -0
  74. package/dist/test/examples/shared-name-pruned/index.d.ts +1 -0
  75. package/dist/test/examples/shared-name-pruned/index.js +18 -0
  76. package/dist/test/examples/shared-name-pruned/index.js.map +1 -0
  77. package/dist/test/examples/shared-name-pruned/src/alpha/Limits.d.ts +3 -0
  78. package/dist/test/examples/shared-name-pruned/src/alpha/Limits.js +6 -0
  79. package/dist/test/examples/shared-name-pruned/src/alpha/Limits.js.map +1 -0
  80. package/dist/test/examples/shared-name-pruned/src/alpha/Shape.d.ts +3 -0
  81. package/dist/test/examples/shared-name-pruned/src/alpha/Shape.js +3 -0
  82. package/dist/test/examples/shared-name-pruned/src/alpha/Shape.js.map +1 -0
  83. package/dist/test/examples/shared-name-pruned/src/alpha/Tile.d.ts +7 -0
  84. package/dist/test/examples/shared-name-pruned/src/alpha/Tile.js +11 -0
  85. package/dist/test/examples/shared-name-pruned/src/alpha/Tile.js.map +1 -0
  86. package/dist/test/examples/shared-name-pruned/src/beta/Limits.d.ts +3 -0
  87. package/dist/test/examples/shared-name-pruned/src/beta/Limits.js +6 -0
  88. package/dist/test/examples/shared-name-pruned/src/beta/Limits.js.map +1 -0
  89. package/dist/test/examples/shared-name-pruned/src/beta/Shape.d.ts +3 -0
  90. package/dist/test/examples/shared-name-pruned/src/beta/Shape.js +3 -0
  91. package/dist/test/examples/shared-name-pruned/src/beta/Shape.js.map +1 -0
  92. package/dist/test/examples/source-repository/a/generated/index.js +28 -28
  93. package/dist/test/examples/source-repository/a/generated/index.js.map +1 -1
  94. package/dist/test/examples/source-repository/a/src/ExtendsForeignType.d.ts +1 -1
  95. package/dist/test/examples/source-repository/a/src/ExtendsForeignType.js +5 -5
  96. package/dist/test/examples/source-repository/a/src/ExtendsForeignType.js.map +1 -1
  97. package/dist/test/examples/source-repository/b/generated/index.js +3 -3
  98. package/dist/test/examples/source-repository/b/generated/index.js.map +1 -1
  99. package/package.json +2 -2
  100. package/src/ReflectionDoctor.ts +37 -17
  101. package/src/codegen/CanonicalSourceGraph.ts +50 -0
  102. package/src/codegen/writeGeneratedIndex.ts +35 -9
  103. package/src/parser/PackageSourceFiles.ts +66 -0
  104. package/src/parser/SharedQualifiedNames.ts +76 -0
  105. package/src/parser/createGraphBuilder.ts +25 -10
  106. package/src/parser/createSourceGraph.ts +14 -16
  107. package/test/Class.test.ts +1 -1
  108. package/test/ExamplePackageFixture.ts +142 -0
  109. package/test/GraphEmitRelativePaths.test.ts +1 -1
  110. package/test/PackageSourceFiles.test.ts +42 -0
  111. package/test/ReflectionDoctor.test.ts +50 -12
  112. package/test/ReproducibleGeneratedIndex.test.ts +114 -0
  113. package/test/SharedQualifiedNames.test.ts +89 -0
  114. package/test/examples/reproducible/index.ts +4 -0
  115. package/test/examples/reproducible/src/alpha/Alpha.ts +13 -0
  116. package/test/examples/reproducible/src/alpha/Defaults.ts +4 -0
  117. package/test/examples/reproducible/src/beta/Beta.ts +7 -0
  118. package/test/examples/reproducible/src/beta/deep/Gamma.ts +5 -0
  119. package/test/examples/reproducible/src/zeta/Defaults.ts +4 -0
  120. package/test/examples/reproducible/src/zeta/Zeta.ts +9 -0
  121. package/test/examples/shared-name/index.ts +1 -0
  122. package/test/examples/shared-name/src/alpha/Widget.ts +6 -0
  123. package/test/examples/shared-name/src/beta/Widget.ts +5 -0
  124. package/test/examples/shared-name/src/gamma/Gear.ts +9 -0
  125. package/test/examples/shared-name-pruned/index.ts +1 -0
  126. package/test/examples/shared-name-pruned/src/alpha/Limits.ts +2 -0
  127. package/test/examples/shared-name-pruned/src/alpha/Shape.ts +3 -0
  128. package/test/examples/shared-name-pruned/src/alpha/Tile.ts +9 -0
  129. package/test/examples/shared-name-pruned/src/beta/Limits.ts +2 -0
  130. package/test/examples/shared-name-pruned/src/beta/Shape.ts +4 -0
  131. package/test/examples/source-repository/a/dist/codegen/CanonicalSourceGraph.d.ts +22 -0
  132. package/test/examples/source-repository/a/dist/codegen/CanonicalSourceGraph.js +60 -0
  133. package/test/examples/source-repository/a/dist/codegen/CanonicalSourceGraph.js.map +1 -0
  134. package/test/examples/source-repository/a/dist/codegen/writeGeneratedIndex.d.ts +12 -3
  135. package/test/examples/source-repository/a/dist/codegen/writeGeneratedIndex.js +21 -13
  136. package/test/examples/source-repository/a/dist/codegen/writeGeneratedIndex.js.map +1 -1
  137. package/test/examples/source-repository/a/dist/generated/index.js +28 -28
  138. package/test/examples/source-repository/a/dist/generated/index.js.map +1 -1
  139. package/test/examples/source-repository/a/dist/parser/PackageSourceFiles.d.ts +30 -0
  140. package/test/examples/source-repository/a/dist/parser/PackageSourceFiles.js +151 -0
  141. package/test/examples/source-repository/a/dist/parser/PackageSourceFiles.js.map +1 -0
  142. package/test/examples/source-repository/a/dist/parser/SharedQualifiedNames.d.ts +43 -0
  143. package/test/examples/source-repository/a/dist/parser/SharedQualifiedNames.js +81 -0
  144. package/test/examples/source-repository/a/dist/parser/SharedQualifiedNames.js.map +1 -0
  145. package/test/examples/source-repository/a/dist/parser/createGraphBuilder.d.ts +6 -1
  146. package/test/examples/source-repository/a/dist/parser/createGraphBuilder.js +16 -31
  147. package/test/examples/source-repository/a/dist/parser/createGraphBuilder.js.map +1 -1
  148. package/test/examples/source-repository/a/dist/parser/createSourceGraph.d.ts +6 -1
  149. package/test/examples/source-repository/a/dist/parser/createSourceGraph.js +23 -38
  150. package/test/examples/source-repository/a/dist/parser/createSourceGraph.js.map +1 -1
  151. package/test/examples/source-repository/a/dist/src/ExtendsForeignType.d.ts +1 -1
  152. package/test/examples/source-repository/a/dist/src/ExtendsForeignType.js +5 -5
  153. package/test/examples/source-repository/a/dist/src/ExtendsForeignType.js.map +1 -1
  154. package/test/examples/source-repository/a/generated/index.ts +44 -44
  155. package/test/examples/source-repository/a/src/ExtendsForeignType.ts +1 -1
  156. package/test/examples/source-repository/b/dist/codegen/CanonicalSourceGraph.d.ts +22 -0
  157. package/test/examples/source-repository/b/dist/codegen/CanonicalSourceGraph.js +60 -0
  158. package/test/examples/source-repository/b/dist/codegen/CanonicalSourceGraph.js.map +1 -0
  159. package/test/examples/source-repository/b/dist/codegen/writeGeneratedIndex.d.ts +12 -3
  160. package/test/examples/source-repository/b/dist/codegen/writeGeneratedIndex.js +21 -13
  161. package/test/examples/source-repository/b/dist/codegen/writeGeneratedIndex.js.map +1 -1
  162. package/test/examples/source-repository/b/dist/generated/index.js +3 -3
  163. package/test/examples/source-repository/b/dist/generated/index.js.map +1 -1
  164. package/test/examples/source-repository/b/dist/parser/PackageSourceFiles.d.ts +30 -0
  165. package/test/examples/source-repository/b/dist/parser/PackageSourceFiles.js +151 -0
  166. package/test/examples/source-repository/b/dist/parser/PackageSourceFiles.js.map +1 -0
  167. package/test/examples/source-repository/b/dist/parser/SharedQualifiedNames.d.ts +43 -0
  168. package/test/examples/source-repository/b/dist/parser/SharedQualifiedNames.js +81 -0
  169. package/test/examples/source-repository/b/dist/parser/SharedQualifiedNames.js.map +1 -0
  170. package/test/examples/source-repository/b/dist/parser/createGraphBuilder.d.ts +6 -1
  171. package/test/examples/source-repository/b/dist/parser/createGraphBuilder.js +16 -31
  172. package/test/examples/source-repository/b/dist/parser/createGraphBuilder.js.map +1 -1
  173. package/test/examples/source-repository/b/dist/parser/createSourceGraph.d.ts +6 -1
  174. package/test/examples/source-repository/b/dist/parser/createSourceGraph.js +23 -38
  175. package/test/examples/source-repository/b/dist/parser/createSourceGraph.js.map +1 -1
  176. package/test/examples/source-repository/b/generated/index.ts +6 -6
@@ -69,6 +69,9 @@ var util_node_1 = require("@proteinjs/util-node");
69
69
  var util_1 = require("@proteinjs/util");
70
70
  var jsesc_1 = __importDefault(require("jsesc"));
71
71
  var createSourceGraph_1 = require("../parser/createSourceGraph");
72
+ var PackageSourceFiles_1 = require("../parser/PackageSourceFiles");
73
+ var SharedQualifiedNames_1 = require("../parser/SharedQualifiedNames");
74
+ var CanonicalSourceGraph_1 = require("./CanonicalSourceGraph");
72
75
  var reflection_1 = require("@proteinjs/reflection");
73
76
  /**
74
77
  * @param packageDir Root of the package (contains package.json)
@@ -121,8 +124,8 @@ function writeGeneratedIndex(packageDir, packageGeneratedDir, generatedIndexPath
121
124
  case 7:
122
125
  generatedIndex = _a.sent();
123
126
  exportTargetNoExt = publicEntryRelOverride
124
- ? path.relative(packageGeneratedDir, path.join(packageDir, publicEntryRelOverride)).replace(/\.[^/.]+$/, '')
125
- : "".concat(path.relative(packageGeneratedDir, packageDir), "/index");
127
+ ? PackageSourceFiles_1.PackageSourceFiles.relativePath(packageGeneratedDir, path.join(packageDir, publicEntryRelOverride)).replace(/\.[^/.]+$/, '')
128
+ : "".concat(PackageSourceFiles_1.PackageSourceFiles.relativePath(packageGeneratedDir, packageDir), "/index");
126
129
  generatedIndex += "\n\n\nexport * from '".concat(exportTargetNoExt, "';");
127
130
  return [4 /*yield*/, util_node_1.promisifiedFs.writeFile(generatedIndexPath, generatedIndex)];
128
131
  case 8:
@@ -135,17 +138,18 @@ function writeGeneratedIndex(packageDir, packageGeneratedDir, generatedIndexPath
135
138
  exports.writeGeneratedIndex = writeGeneratedIndex;
136
139
  function sourceRepositoryLoader(packageDir, generatedIndexPath, sourceRootsRel) {
137
140
  return __awaiter(this, void 0, void 0, function () {
138
- var packageJson, code, roots, sourceGraph;
139
- return __generator(this, function (_a) {
140
- switch (_a.label) {
141
+ var packageJson, code, roots, _a, sourceGraph, sharedNames;
142
+ return __generator(this, function (_b) {
143
+ switch (_b.label) {
141
144
  case 0: return [4 /*yield*/, getPackageJson(packageDir)];
142
145
  case 1:
143
- packageJson = _a.sent();
146
+ packageJson = _b.sent();
144
147
  code = loadDependencySourceGraphs(packageDir, packageJson);
145
148
  roots = Array.isArray(sourceRootsRel) ? sourceRootsRel : [sourceRootsRel];
146
149
  return [4 /*yield*/, createEmittedSourceGraph(packageDir, roots)];
147
150
  case 2:
148
- sourceGraph = _a.sent();
151
+ _a = _b.sent(), sourceGraph = _a.graph, sharedNames = _a.sharedNames;
152
+ SharedQualifiedNames_1.SharedQualifiedNames.refuse(packageJson.name, sharedNames);
149
153
  code += generateSourceGraph(sourceGraph);
150
154
  code += generateSourceLinks(sourceGraph, packageJson, packageDir, generatedIndexPath);
151
155
  code += mergeSourceGraph();
@@ -304,22 +308,26 @@ function getDependencyImportSpecifier(packageDir, packageName) {
304
308
  }
305
309
  /**
306
310
  * The graph exactly as a build emits it: parsed from the package's source roots, with
307
- * build-time-non-loadable declarations pruned. Owned here so build emit and diagnostic
308
- * tooling (reflection-doctor drift checks) share one pipeline.
311
+ * build-time-non-loadable declarations pruned, in canonical order (the serialized graph and
312
+ * the source links follow it, so the same sources emit the same bytes on every machine), and
313
+ * the names in it that more than one file declares. Owned here so build emit and diagnostic
314
+ * tooling (reflection-doctor drift and shared-name checks) share one pipeline.
309
315
  */
310
316
  function createEmittedSourceGraph(packageDir, sourceRootsRel) {
311
317
  return __awaiter(this, void 0, void 0, function () {
312
- var packageJson, sourceGraph;
318
+ var packageJson, declarations, sourceGraph, sharedNames;
313
319
  return __generator(this, function (_a) {
314
320
  switch (_a.label) {
315
321
  case 0: return [4 /*yield*/, getPackageJson(packageDir)];
316
322
  case 1:
317
323
  packageJson = _a.sent();
318
- return [4 /*yield*/, (0, createSourceGraph_1.createSourceGraph)(packageDir, [], sourceRootsRel)];
324
+ declarations = new SharedQualifiedNames_1.SharedQualifiedNames();
325
+ return [4 /*yield*/, (0, createSourceGraph_1.createSourceGraph)(packageDir, [], sourceRootsRel, declarations)];
319
326
  case 2:
320
327
  sourceGraph = _a.sent();
321
328
  removeNonLoadables(sourceGraph, packageJson.name);
322
- return [2 /*return*/, sourceGraph];
329
+ sharedNames = declarations.in(sourceGraph);
330
+ return [2 /*return*/, { graph: CanonicalSourceGraph_1.CanonicalSourceGraph.of(sourceGraph), sharedNames: sharedNames }];
323
331
  }
324
332
  });
325
333
  });
@@ -410,7 +418,7 @@ function generateSourceLinks(sourceGraph, packageJson, packageDir, generatedInde
410
418
  }
411
419
  // node.filePath is package-relative (never serialized absolute); resolve against the
412
420
  // package dir to compute the real import location for the generated index.
413
- var relativeImportPath = path.relative(path.dirname(generatedIndexPath), path.join(packageDir, node.filePath));
421
+ var relativeImportPath = PackageSourceFiles_1.PackageSourceFiles.relativePath(path.dirname(generatedIndexPath), path.join(packageDir, node.filePath));
414
422
  code += "import { ".concat(node.name, " } from '").concat(relativeImportPath.replace(/\.[^/.]+$/, ''), "';\n");
415
423
  linkableNodes.push(node);
416
424
  }
@@ -1 +1 @@
1
- {"version":3,"file":"writeGeneratedIndex.js","sourceRoot":"","sources":["../../../../../../src/codegen/writeGeneratedIndex.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"writeGeneratedIndex.js","sourceRoot":"","sources":["../../../../../../src/codegen/writeGeneratedIndex.ts"],"names":[],"mappings":"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"}
@@ -16,7 +16,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
16
16
  };
17
17
  Object.defineProperty(exports, "__esModule", { value: true });
18
18
  /** Generate Source Graph */
19
- var sourceGraph = "{\"options\":{\"directed\":true,\"multigraph\":false,\"compound\":false},\"nodes\":[{\"v\":\"@proteinjs/reflection-build-test-b/LoadableForeignType\",\"value\":{\"packageName\":\"@proteinjs/reflection-build-test-b\",\"name\":\"LoadableForeignType\",\"filePath\":\"src/LoadableForeignType.ts\",\"qualifiedName\":\"@proteinjs/reflection-build-test-b/LoadableForeignType\",\"typeParameters\":[],\"directParents\":[{\"packageName\":\"@proteinjs/reflection\",\"name\":\"Loadable\",\"filePath\":null,\"qualifiedName\":\"@proteinjs/reflection/Loadable\",\"typeParameters\":[],\"directParents\":null},{\"packageName\":\"@proteinjs/reflection-build-test-b\",\"name\":\"{ z: number }\",\"filePath\":null,\"qualifiedName\":\"@proteinjs/reflection-build-test-b/{ z: number }\",\"typeParameters\":[],\"directParents\":null}],\"sourceType\":1}},{\"v\":\"@proteinjs/reflection/Loadable\"},{\"v\":\"@proteinjs/reflection-build-test-b/OptionalLoadableForeignType\",\"value\":{\"packageName\":\"@proteinjs/reflection-build-test-b\",\"name\":\"OptionalLoadableForeignType\",\"filePath\":\"src/LoadableForeignType.ts\",\"qualifiedName\":\"@proteinjs/reflection-build-test-b/OptionalLoadableForeignType\",\"typeParameters\":[],\"directParents\":[{\"packageName\":\"@proteinjs/reflection\",\"name\":\"Loadable\",\"filePath\":null,\"qualifiedName\":\"@proteinjs/reflection/Loadable\",\"typeParameters\":[],\"directParents\":null},{\"packageName\":\"@proteinjs/reflection-build-test-b\",\"name\":\"{ z: number }\",\"filePath\":null,\"qualifiedName\":\"@proteinjs/reflection-build-test-b/{ z: number }\",\"typeParameters\":[],\"directParents\":null}],\"sourceType\":1}},{\"v\":\"@proteinjs/reflection-build-test-b/implementsOptionalLoadableForeignType\",\"value\":{\"packageName\":\"@proteinjs/reflection-build-test-b\",\"name\":\"implementsOptionalLoadableForeignType\",\"filePath\":\"src/LoadableForeignType.ts\",\"qualifiedName\":\"@proteinjs/reflection-build-test-b/implementsOptionalLoadableForeignType\",\"type\":{\"packageName\":\"@proteinjs/reflection-build-test-b\",\"name\":\"OptionalLoadableForeignType\",\"filePath\":null,\"qualifiedName\":\"@proteinjs/reflection-build-test-b/OptionalLoadableForeignType\",\"typeParameters\":[],\"directParents\":[{\"packageName\":\"@proteinjs/reflection-build-test-b\",\"name\":\"OptionalLoadableForeignType\",\"filePath\":null,\"qualifiedName\":\"@proteinjs/reflection-build-test-b/OptionalLoadableForeignType\",\"typeParameters\":[],\"directParents\":null}]},\"isExported\":true,\"isConst\":true,\"sourceType\":0}},{\"v\":\"@proteinjs/reflection-build-test-b/LoadableForeignInterface\",\"value\":{\"packageName\":\"@proteinjs/reflection-build-test-b\",\"name\":\"LoadableForeignInterface\",\"filePath\":\"src/LoadableForeignType.ts\",\"qualifiedName\":\"@proteinjs/reflection-build-test-b/LoadableForeignInterface\",\"properties\":[{\"name\":\"z\",\"type\":{\"packageName\":\"\",\"name\":\"number\",\"filePath\":null,\"qualifiedName\":\"/number\",\"typeParameters\":null,\"directParents\":null},\"isOptional\":false,\"isAbstract\":false,\"isStatic\":false,\"visibility\":\"public\"}],\"methods\":[],\"typeParameters\":[],\"directParents\":[{\"packageName\":\"@proteinjs/reflection\",\"name\":\"Loadable\",\"filePath\":null,\"qualifiedName\":\"@proteinjs/reflection/Loadable\",\"properties\":[],\"methods\":[],\"typeParameters\":[],\"directParents\":[]}],\"sourceType\":3}},{\"v\":\"@proteinjs/reflection-build-test-b/OptionalLoadableForeignInterface\",\"value\":{\"packageName\":\"@proteinjs/reflection-build-test-b\",\"name\":\"OptionalLoadableForeignInterface\",\"filePath\":\"src/LoadableForeignType.ts\",\"qualifiedName\":\"@proteinjs/reflection-build-test-b/OptionalLoadableForeignInterface\",\"properties\":[{\"name\":\"z\",\"type\":{\"packageName\":\"\",\"name\":\"number\",\"filePath\":null,\"qualifiedName\":\"/number\",\"typeParameters\":null,\"directParents\":null},\"isOptional\":false,\"isAbstract\":false,\"isStatic\":false,\"visibility\":\"public\"}],\"methods\":[],\"typeParameters\":[],\"directParents\":[{\"packageName\":\"@proteinjs/reflection\",\"name\":\"Loadable\",\"filePath\":null,\"qualifiedName\":\"@proteinjs/reflection/Loadable\",\"properties\":[],\"methods\":[],\"typeParameters\":[],\"directParents\":[]}],\"sourceType\":3}},{\"v\":\"@proteinjs/reflection-build-test-b/ImplementsOptionalLoadableForeignInterface\",\"value\":{\"packageName\":\"@proteinjs/reflection-build-test-b\",\"name\":\"ImplementsOptionalLoadableForeignInterface\",\"filePath\":\"src/LoadableForeignType.ts\",\"qualifiedName\":\"@proteinjs/reflection-build-test-b/ImplementsOptionalLoadableForeignInterface\",\"isAbstract\":false,\"isStatic\":false,\"visibility\":\"public\",\"properties\":[{\"name\":\"z\",\"type\":null,\"isOptional\":false,\"isAbstract\":false,\"isStatic\":false,\"visibility\":\"public\"}],\"methods\":[],\"typeParameters\":[],\"directParentInterfaces\":[{\"packageName\":\"@proteinjs/reflection-build-test-b\",\"name\":\"OptionalLoadableForeignInterface\",\"filePath\":null,\"qualifiedName\":\"@proteinjs/reflection-build-test-b/OptionalLoadableForeignInterface\",\"properties\":[],\"methods\":[],\"typeParameters\":[],\"directParents\":[]}],\"directParentClasses\":[],\"sourceType\":2}},{\"v\":\"@proteinjs/reflection-build-test-b/LoadableForeignAbstractClass\",\"value\":{\"packageName\":\"@proteinjs/reflection-build-test-b\",\"name\":\"LoadableForeignAbstractClass\",\"filePath\":\"src/LoadableForeignType.ts\",\"qualifiedName\":\"@proteinjs/reflection-build-test-b/LoadableForeignAbstractClass\",\"isAbstract\":true,\"isStatic\":false,\"visibility\":\"public\",\"properties\":[{\"name\":\"z\",\"type\":{\"packageName\":\"\",\"name\":\"number\",\"filePath\":null,\"qualifiedName\":\"/number\",\"typeParameters\":null,\"directParents\":null},\"isOptional\":false,\"isAbstract\":false,\"isStatic\":false,\"visibility\":\"public\"}],\"methods\":[],\"typeParameters\":[],\"directParentInterfaces\":[{\"packageName\":\"@proteinjs/reflection\",\"name\":\"Loadable\",\"filePath\":null,\"qualifiedName\":\"@proteinjs/reflection/Loadable\",\"properties\":[],\"methods\":[],\"typeParameters\":[],\"directParents\":[]}],\"directParentClasses\":[],\"sourceType\":2}},{\"v\":\"@proteinjs/reflection-build-test-b/OptionalLoadableForeignAbstractClass\",\"value\":{\"packageName\":\"@proteinjs/reflection-build-test-b\",\"name\":\"OptionalLoadableForeignAbstractClass\",\"filePath\":\"src/LoadableForeignType.ts\",\"qualifiedName\":\"@proteinjs/reflection-build-test-b/OptionalLoadableForeignAbstractClass\",\"isAbstract\":true,\"isStatic\":false,\"visibility\":\"public\",\"properties\":[{\"name\":\"z\",\"type\":{\"packageName\":\"\",\"name\":\"number\",\"filePath\":null,\"qualifiedName\":\"/number\",\"typeParameters\":null,\"directParents\":null},\"isOptional\":false,\"isAbstract\":false,\"isStatic\":false,\"visibility\":\"public\"}],\"methods\":[],\"typeParameters\":[],\"directParentInterfaces\":[{\"packageName\":\"@proteinjs/reflection\",\"name\":\"Loadable\",\"filePath\":null,\"qualifiedName\":\"@proteinjs/reflection/Loadable\",\"properties\":[],\"methods\":[],\"typeParameters\":[],\"directParents\":[]}],\"directParentClasses\":[],\"sourceType\":2}},{\"v\":\"@proteinjs/reflection-build-test-b/ImplementsOptionalLoadableForeignAbstractClass\",\"value\":{\"packageName\":\"@proteinjs/reflection-build-test-b\",\"name\":\"ImplementsOptionalLoadableForeignAbstractClass\",\"filePath\":\"src/LoadableForeignType.ts\",\"qualifiedName\":\"@proteinjs/reflection-build-test-b/ImplementsOptionalLoadableForeignAbstractClass\",\"isAbstract\":false,\"isStatic\":false,\"visibility\":\"public\",\"properties\":[{\"name\":\"z\",\"type\":null,\"isOptional\":false,\"isAbstract\":false,\"isStatic\":false,\"visibility\":\"public\"}],\"methods\":[],\"typeParameters\":[],\"directParentInterfaces\":[],\"directParentClasses\":[{\"packageName\":\"@proteinjs/reflection-build-test-b\",\"name\":\"OptionalLoadableForeignAbstractClass\",\"filePath\":null,\"qualifiedName\":\"@proteinjs/reflection-build-test-b/OptionalLoadableForeignAbstractClass\",\"isAbstract\":false,\"isStatic\":false,\"visibility\":\"public\",\"properties\":[],\"methods\":[],\"typeParameters\":[],\"directParentInterfaces\":[],\"directParentClasses\":[]}],\"sourceType\":2}}],\"edges\":[{\"v\":\"@proteinjs/reflection-build-test-b/LoadableForeignType\",\"w\":\"@proteinjs/reflection/Loadable\",\"value\":\"extends type\"},{\"v\":\"@proteinjs/reflection-build-test-b/OptionalLoadableForeignType\",\"w\":\"@proteinjs/reflection/Loadable\",\"value\":\"extends type\"},{\"v\":\"@proteinjs/reflection-build-test-b/implementsOptionalLoadableForeignType\",\"w\":\"@proteinjs/reflection-build-test-b/OptionalLoadableForeignType\",\"value\":\"has type\"},{\"v\":\"@proteinjs/reflection-build-test-b/LoadableForeignInterface\",\"w\":\"@proteinjs/reflection/Loadable\",\"value\":\"extends interface\"},{\"v\":\"@proteinjs/reflection-build-test-b/OptionalLoadableForeignInterface\",\"w\":\"@proteinjs/reflection/Loadable\",\"value\":\"extends interface\"},{\"v\":\"@proteinjs/reflection-build-test-b/ImplementsOptionalLoadableForeignInterface\",\"w\":\"@proteinjs/reflection-build-test-b/OptionalLoadableForeignInterface\",\"value\":\"implements interface\"},{\"v\":\"@proteinjs/reflection-build-test-b/LoadableForeignAbstractClass\",\"w\":\"@proteinjs/reflection/Loadable\",\"value\":\"implements interface\"},{\"v\":\"@proteinjs/reflection-build-test-b/OptionalLoadableForeignAbstractClass\",\"w\":\"@proteinjs/reflection/Loadable\",\"value\":\"implements interface\"},{\"v\":\"@proteinjs/reflection-build-test-b/ImplementsOptionalLoadableForeignAbstractClass\",\"w\":\"@proteinjs/reflection-build-test-b/OptionalLoadableForeignAbstractClass\",\"value\":\"extends class\"}]}";
19
+ var sourceGraph = "{\"options\":{\"directed\":true,\"multigraph\":false,\"compound\":false},\"nodes\":[{\"v\":\"@proteinjs/reflection/Loadable\"},{\"v\":\"@proteinjs/reflection-build-test-b/ImplementsOptionalLoadableForeignAbstractClass\",\"value\":{\"packageName\":\"@proteinjs/reflection-build-test-b\",\"name\":\"ImplementsOptionalLoadableForeignAbstractClass\",\"filePath\":\"src/LoadableForeignType.ts\",\"qualifiedName\":\"@proteinjs/reflection-build-test-b/ImplementsOptionalLoadableForeignAbstractClass\",\"isAbstract\":false,\"isStatic\":false,\"visibility\":\"public\",\"properties\":[{\"name\":\"z\",\"type\":null,\"isOptional\":false,\"isAbstract\":false,\"isStatic\":false,\"visibility\":\"public\"}],\"methods\":[],\"typeParameters\":[],\"directParentInterfaces\":[],\"directParentClasses\":[{\"packageName\":\"@proteinjs/reflection-build-test-b\",\"name\":\"OptionalLoadableForeignAbstractClass\",\"filePath\":null,\"qualifiedName\":\"@proteinjs/reflection-build-test-b/OptionalLoadableForeignAbstractClass\",\"isAbstract\":false,\"isStatic\":false,\"visibility\":\"public\",\"properties\":[],\"methods\":[],\"typeParameters\":[],\"directParentInterfaces\":[],\"directParentClasses\":[]}],\"sourceType\":2}},{\"v\":\"@proteinjs/reflection-build-test-b/ImplementsOptionalLoadableForeignInterface\",\"value\":{\"packageName\":\"@proteinjs/reflection-build-test-b\",\"name\":\"ImplementsOptionalLoadableForeignInterface\",\"filePath\":\"src/LoadableForeignType.ts\",\"qualifiedName\":\"@proteinjs/reflection-build-test-b/ImplementsOptionalLoadableForeignInterface\",\"isAbstract\":false,\"isStatic\":false,\"visibility\":\"public\",\"properties\":[{\"name\":\"z\",\"type\":null,\"isOptional\":false,\"isAbstract\":false,\"isStatic\":false,\"visibility\":\"public\"}],\"methods\":[],\"typeParameters\":[],\"directParentInterfaces\":[{\"packageName\":\"@proteinjs/reflection-build-test-b\",\"name\":\"OptionalLoadableForeignInterface\",\"filePath\":null,\"qualifiedName\":\"@proteinjs/reflection-build-test-b/OptionalLoadableForeignInterface\",\"properties\":[],\"methods\":[],\"typeParameters\":[],\"directParents\":[]}],\"directParentClasses\":[],\"sourceType\":2}},{\"v\":\"@proteinjs/reflection-build-test-b/LoadableForeignAbstractClass\",\"value\":{\"packageName\":\"@proteinjs/reflection-build-test-b\",\"name\":\"LoadableForeignAbstractClass\",\"filePath\":\"src/LoadableForeignType.ts\",\"qualifiedName\":\"@proteinjs/reflection-build-test-b/LoadableForeignAbstractClass\",\"isAbstract\":true,\"isStatic\":false,\"visibility\":\"public\",\"properties\":[{\"name\":\"z\",\"type\":{\"packageName\":\"\",\"name\":\"number\",\"filePath\":null,\"qualifiedName\":\"/number\",\"typeParameters\":null,\"directParents\":null},\"isOptional\":false,\"isAbstract\":false,\"isStatic\":false,\"visibility\":\"public\"}],\"methods\":[],\"typeParameters\":[],\"directParentInterfaces\":[{\"packageName\":\"@proteinjs/reflection\",\"name\":\"Loadable\",\"filePath\":null,\"qualifiedName\":\"@proteinjs/reflection/Loadable\",\"properties\":[],\"methods\":[],\"typeParameters\":[],\"directParents\":[]}],\"directParentClasses\":[],\"sourceType\":2}},{\"v\":\"@proteinjs/reflection-build-test-b/LoadableForeignInterface\",\"value\":{\"packageName\":\"@proteinjs/reflection-build-test-b\",\"name\":\"LoadableForeignInterface\",\"filePath\":\"src/LoadableForeignType.ts\",\"qualifiedName\":\"@proteinjs/reflection-build-test-b/LoadableForeignInterface\",\"properties\":[{\"name\":\"z\",\"type\":{\"packageName\":\"\",\"name\":\"number\",\"filePath\":null,\"qualifiedName\":\"/number\",\"typeParameters\":null,\"directParents\":null},\"isOptional\":false,\"isAbstract\":false,\"isStatic\":false,\"visibility\":\"public\"}],\"methods\":[],\"typeParameters\":[],\"directParents\":[{\"packageName\":\"@proteinjs/reflection\",\"name\":\"Loadable\",\"filePath\":null,\"qualifiedName\":\"@proteinjs/reflection/Loadable\",\"properties\":[],\"methods\":[],\"typeParameters\":[],\"directParents\":[]}],\"sourceType\":3}},{\"v\":\"@proteinjs/reflection-build-test-b/LoadableForeignType\",\"value\":{\"packageName\":\"@proteinjs/reflection-build-test-b\",\"name\":\"LoadableForeignType\",\"filePath\":\"src/LoadableForeignType.ts\",\"qualifiedName\":\"@proteinjs/reflection-build-test-b/LoadableForeignType\",\"typeParameters\":[],\"directParents\":[{\"packageName\":\"@proteinjs/reflection\",\"name\":\"Loadable\",\"filePath\":null,\"qualifiedName\":\"@proteinjs/reflection/Loadable\",\"typeParameters\":[],\"directParents\":null},{\"packageName\":\"@proteinjs/reflection-build-test-b\",\"name\":\"{ z: number }\",\"filePath\":null,\"qualifiedName\":\"@proteinjs/reflection-build-test-b/{ z: number }\",\"typeParameters\":[],\"directParents\":null}],\"sourceType\":1}},{\"v\":\"@proteinjs/reflection-build-test-b/OptionalLoadableForeignAbstractClass\",\"value\":{\"packageName\":\"@proteinjs/reflection-build-test-b\",\"name\":\"OptionalLoadableForeignAbstractClass\",\"filePath\":\"src/LoadableForeignType.ts\",\"qualifiedName\":\"@proteinjs/reflection-build-test-b/OptionalLoadableForeignAbstractClass\",\"isAbstract\":true,\"isStatic\":false,\"visibility\":\"public\",\"properties\":[{\"name\":\"z\",\"type\":{\"packageName\":\"\",\"name\":\"number\",\"filePath\":null,\"qualifiedName\":\"/number\",\"typeParameters\":null,\"directParents\":null},\"isOptional\":false,\"isAbstract\":false,\"isStatic\":false,\"visibility\":\"public\"}],\"methods\":[],\"typeParameters\":[],\"directParentInterfaces\":[{\"packageName\":\"@proteinjs/reflection\",\"name\":\"Loadable\",\"filePath\":null,\"qualifiedName\":\"@proteinjs/reflection/Loadable\",\"properties\":[],\"methods\":[],\"typeParameters\":[],\"directParents\":[]}],\"directParentClasses\":[],\"sourceType\":2}},{\"v\":\"@proteinjs/reflection-build-test-b/OptionalLoadableForeignInterface\",\"value\":{\"packageName\":\"@proteinjs/reflection-build-test-b\",\"name\":\"OptionalLoadableForeignInterface\",\"filePath\":\"src/LoadableForeignType.ts\",\"qualifiedName\":\"@proteinjs/reflection-build-test-b/OptionalLoadableForeignInterface\",\"properties\":[{\"name\":\"z\",\"type\":{\"packageName\":\"\",\"name\":\"number\",\"filePath\":null,\"qualifiedName\":\"/number\",\"typeParameters\":null,\"directParents\":null},\"isOptional\":false,\"isAbstract\":false,\"isStatic\":false,\"visibility\":\"public\"}],\"methods\":[],\"typeParameters\":[],\"directParents\":[{\"packageName\":\"@proteinjs/reflection\",\"name\":\"Loadable\",\"filePath\":null,\"qualifiedName\":\"@proteinjs/reflection/Loadable\",\"properties\":[],\"methods\":[],\"typeParameters\":[],\"directParents\":[]}],\"sourceType\":3}},{\"v\":\"@proteinjs/reflection-build-test-b/OptionalLoadableForeignType\",\"value\":{\"packageName\":\"@proteinjs/reflection-build-test-b\",\"name\":\"OptionalLoadableForeignType\",\"filePath\":\"src/LoadableForeignType.ts\",\"qualifiedName\":\"@proteinjs/reflection-build-test-b/OptionalLoadableForeignType\",\"typeParameters\":[],\"directParents\":[{\"packageName\":\"@proteinjs/reflection\",\"name\":\"Loadable\",\"filePath\":null,\"qualifiedName\":\"@proteinjs/reflection/Loadable\",\"typeParameters\":[],\"directParents\":null},{\"packageName\":\"@proteinjs/reflection-build-test-b\",\"name\":\"{ z: number }\",\"filePath\":null,\"qualifiedName\":\"@proteinjs/reflection-build-test-b/{ z: number }\",\"typeParameters\":[],\"directParents\":null}],\"sourceType\":1}},{\"v\":\"@proteinjs/reflection-build-test-b/implementsOptionalLoadableForeignType\",\"value\":{\"packageName\":\"@proteinjs/reflection-build-test-b\",\"name\":\"implementsOptionalLoadableForeignType\",\"filePath\":\"src/LoadableForeignType.ts\",\"qualifiedName\":\"@proteinjs/reflection-build-test-b/implementsOptionalLoadableForeignType\",\"type\":{\"packageName\":\"@proteinjs/reflection-build-test-b\",\"name\":\"OptionalLoadableForeignType\",\"filePath\":null,\"qualifiedName\":\"@proteinjs/reflection-build-test-b/OptionalLoadableForeignType\",\"typeParameters\":[],\"directParents\":[{\"packageName\":\"@proteinjs/reflection-build-test-b\",\"name\":\"OptionalLoadableForeignType\",\"filePath\":null,\"qualifiedName\":\"@proteinjs/reflection-build-test-b/OptionalLoadableForeignType\",\"typeParameters\":[],\"directParents\":null}]},\"isExported\":true,\"isConst\":true,\"sourceType\":0}}],\"edges\":[{\"v\":\"@proteinjs/reflection-build-test-b/ImplementsOptionalLoadableForeignAbstractClass\",\"w\":\"@proteinjs/reflection-build-test-b/OptionalLoadableForeignAbstractClass\",\"value\":\"extends class\"},{\"v\":\"@proteinjs/reflection-build-test-b/ImplementsOptionalLoadableForeignInterface\",\"w\":\"@proteinjs/reflection-build-test-b/OptionalLoadableForeignInterface\",\"value\":\"implements interface\"},{\"v\":\"@proteinjs/reflection-build-test-b/LoadableForeignAbstractClass\",\"w\":\"@proteinjs/reflection/Loadable\",\"value\":\"implements interface\"},{\"v\":\"@proteinjs/reflection-build-test-b/LoadableForeignInterface\",\"w\":\"@proteinjs/reflection/Loadable\",\"value\":\"extends interface\"},{\"v\":\"@proteinjs/reflection-build-test-b/LoadableForeignType\",\"w\":\"@proteinjs/reflection/Loadable\",\"value\":\"extends type\"},{\"v\":\"@proteinjs/reflection-build-test-b/OptionalLoadableForeignAbstractClass\",\"w\":\"@proteinjs/reflection/Loadable\",\"value\":\"implements interface\"},{\"v\":\"@proteinjs/reflection-build-test-b/OptionalLoadableForeignInterface\",\"w\":\"@proteinjs/reflection/Loadable\",\"value\":\"extends interface\"},{\"v\":\"@proteinjs/reflection-build-test-b/OptionalLoadableForeignType\",\"w\":\"@proteinjs/reflection/Loadable\",\"value\":\"extends type\"},{\"v\":\"@proteinjs/reflection-build-test-b/implementsOptionalLoadableForeignType\",\"w\":\"@proteinjs/reflection-build-test-b/OptionalLoadableForeignType\",\"value\":\"has type\"}]}";
20
20
  /** Generate Source Links */
21
21
  var LoadableForeignType_1 = require("../src/LoadableForeignType");
22
22
  var LoadableForeignType_2 = require("../src/LoadableForeignType");
@@ -24,11 +24,11 @@ var LoadableForeignType_3 = require("../src/LoadableForeignType");
24
24
  var LoadableForeignType_4 = require("../src/LoadableForeignType");
25
25
  var LoadableForeignType_5 = require("../src/LoadableForeignType");
26
26
  var sourceLinks = {
27
- '@proteinjs/reflection-build-test-b/implementsOptionalLoadableForeignType': LoadableForeignType_1.implementsOptionalLoadableForeignType,
27
+ '@proteinjs/reflection-build-test-b/ImplementsOptionalLoadableForeignAbstractClass': LoadableForeignType_1.ImplementsOptionalLoadableForeignAbstractClass,
28
28
  '@proteinjs/reflection-build-test-b/ImplementsOptionalLoadableForeignInterface': LoadableForeignType_2.ImplementsOptionalLoadableForeignInterface,
29
29
  '@proteinjs/reflection-build-test-b/LoadableForeignAbstractClass': LoadableForeignType_3.LoadableForeignAbstractClass,
30
30
  '@proteinjs/reflection-build-test-b/OptionalLoadableForeignAbstractClass': LoadableForeignType_4.OptionalLoadableForeignAbstractClass,
31
- '@proteinjs/reflection-build-test-b/ImplementsOptionalLoadableForeignAbstractClass': LoadableForeignType_5.ImplementsOptionalLoadableForeignAbstractClass,
31
+ '@proteinjs/reflection-build-test-b/implementsOptionalLoadableForeignType': LoadableForeignType_5.implementsOptionalLoadableForeignType,
32
32
  };
33
33
  /** Load Source Graph and Links */
34
34
  var reflection_1 = require("@proteinjs/reflection");
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../generated/index.ts"],"names":[],"mappings":";AAAA,oCAAoC;;;;;;;;;;;;;;;;AAIpC,4BAA4B;AAE5B,IAAM,WAAW,GAAG,wiTAAwiT,CAAC;AAG7jT,4BAA4B;AAE5B,kEAAmF;AACnF,kEAAwF;AACxF,kEAA0E;AAC1E,kEAAkF;AAClF,kEAA4F;AAE5F,IAAM,WAAW,GAAG;IACnB,0EAA0E,EAAE,2DAAqC;IACjH,+EAA+E,EAAE,gEAA0C;IAC3H,iEAAiE,EAAE,kDAA4B;IAC/F,yEAAyE,EAAE,0DAAoC;IAC/G,mFAAmF,EAAE,oEAA8C;CACnI,CAAC;AAGF,kCAAkC;AAElC,oDAAyD;AACzD,6BAAgB,CAAC,KAAK,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;AAGjD,2CAAyB"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../generated/index.ts"],"names":[],"mappings":";AAAA,oCAAoC;;;;;;;;;;;;;;;;AAIpC,4BAA4B;AAE5B,IAAM,WAAW,GAAG,wiTAAwiT,CAAC;AAG7jT,4BAA4B;AAE5B,kEAA4F;AAC5F,kEAAwF;AACxF,kEAA0E;AAC1E,kEAAkF;AAClF,kEAAmF;AAEnF,IAAM,WAAW,GAAG;IACnB,mFAAmF,EAAE,oEAA8C;IACnI,+EAA+E,EAAE,gEAA0C;IAC3H,iEAAiE,EAAE,kDAA4B;IAC/F,yEAAyE,EAAE,0DAAoC;IAC/G,0EAA0E,EAAE,2DAAqC;CACjH,CAAC;AAGF,kCAAkC;AAElC,oDAAyD;AACzD,6BAAgB,CAAC,KAAK,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;AAGjD,2CAAyB"}
@@ -0,0 +1,30 @@
1
+ /**
2
+ * The TypeScript sources of a package, in one reproducible order.
3
+ *
4
+ * Every build of the same sources must write the same bytes, whatever machine or directory it
5
+ * runs in. Two machine-specific inputs are closed here, where they enter:
6
+ *
7
+ * - ORDER. The glob returns files in the order its concurrent directory reads complete, which
8
+ * varies with the filesystem and from run to run. The parse order decides the graph's
9
+ * insertion order, which declaration a name exported by two files holds (the last one parsed;
10
+ * the build refuses such a name when it survives the prune — `SharedQualifiedNames`), and the
11
+ * order that refusal lists the files in. `list()` therefore orders the files by their
12
+ * package-relative path, compared by code unit — never by `localeCompare`, whose collation
13
+ * depends on the machine's locale data.
14
+ * - LOCATION. `relativePath()` is the only form a source path takes in a generated artifact:
15
+ * relative, with `/` separators on every platform, no leading `./`.
16
+ */
17
+ export declare class PackageSourceFiles {
18
+ private readonly packageDir;
19
+ private readonly sourceRootsRel;
20
+ private readonly excludedDirs;
21
+ constructor(packageDir: string, sourceRootsRel: string[], excludedDirs?: string[]);
22
+ /** Absolute paths of the package's `.ts`/`.tsx` sources under the source roots, in package-relative path order. */
23
+ list(): Promise<string[]>;
24
+ /** `filePath` relative to `fromDir`, with `/` separators on every platform and no leading `./`. */
25
+ static relativePath(fromDir: string, filePath: string): string;
26
+ /** Code-unit order: the same on every machine, unlike `localeCompare`. */
27
+ static compare(a: string, b: string): number;
28
+ private includePatterns;
29
+ private excludePatterns;
30
+ }
@@ -0,0 +1,151 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
26
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
27
+ return new (P || (P = Promise))(function (resolve, reject) {
28
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
29
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
30
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
31
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
32
+ });
33
+ };
34
+ var __generator = (this && this.__generator) || function (thisArg, body) {
35
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
36
+ return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
37
+ function verb(n) { return function (v) { return step([n, v]); }; }
38
+ function step(op) {
39
+ if (f) throw new TypeError("Generator is already executing.");
40
+ while (g && (g = 0, op[0] && (_ = 0)), _) try {
41
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
42
+ if (y = 0, t) op = [op[0] & 2, t.value];
43
+ switch (op[0]) {
44
+ case 0: case 1: t = op; break;
45
+ case 4: _.label++; return { value: op[1], done: false };
46
+ case 5: _.label++; y = op[1]; op = [0]; continue;
47
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
48
+ default:
49
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
50
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
51
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
52
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
53
+ if (t[2]) _.ops.pop();
54
+ _.trys.pop(); continue;
55
+ }
56
+ op = body.call(thisArg, _);
57
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
58
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
59
+ }
60
+ };
61
+ var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
62
+ if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
63
+ if (ar || !(i in from)) {
64
+ if (!ar) ar = Array.prototype.slice.call(from, 0, i);
65
+ ar[i] = from[i];
66
+ }
67
+ }
68
+ return to.concat(ar || Array.prototype.slice.call(from));
69
+ };
70
+ var __importDefault = (this && this.__importDefault) || function (mod) {
71
+ return (mod && mod.__esModule) ? mod : { "default": mod };
72
+ };
73
+ Object.defineProperty(exports, "__esModule", { value: true });
74
+ exports.PackageSourceFiles = void 0;
75
+ var path = __importStar(require("path"));
76
+ var globby_1 = __importDefault(require("globby"));
77
+ /**
78
+ * The TypeScript sources of a package, in one reproducible order.
79
+ *
80
+ * Every build of the same sources must write the same bytes, whatever machine or directory it
81
+ * runs in. Two machine-specific inputs are closed here, where they enter:
82
+ *
83
+ * - ORDER. The glob returns files in the order its concurrent directory reads complete, which
84
+ * varies with the filesystem and from run to run. The parse order decides the graph's
85
+ * insertion order, which declaration a name exported by two files holds (the last one parsed;
86
+ * the build refuses such a name when it survives the prune — `SharedQualifiedNames`), and the
87
+ * order that refusal lists the files in. `list()` therefore orders the files by their
88
+ * package-relative path, compared by code unit — never by `localeCompare`, whose collation
89
+ * depends on the machine's locale data.
90
+ * - LOCATION. `relativePath()` is the only form a source path takes in a generated artifact:
91
+ * relative, with `/` separators on every platform, no leading `./`.
92
+ */
93
+ var PackageSourceFiles = /** @class */ (function () {
94
+ function PackageSourceFiles(packageDir, sourceRootsRel, excludedDirs) {
95
+ if (excludedDirs === void 0) { excludedDirs = []; }
96
+ this.packageDir = packageDir;
97
+ this.sourceRootsRel = sourceRootsRel;
98
+ this.excludedDirs = excludedDirs;
99
+ }
100
+ /** Absolute paths of the package's `.ts`/`.tsx` sources under the source roots, in package-relative path order. */
101
+ PackageSourceFiles.prototype.list = function () {
102
+ return __awaiter(this, void 0, void 0, function () {
103
+ var sourceFilePaths;
104
+ var _this = this;
105
+ return __generator(this, function (_a) {
106
+ switch (_a.label) {
107
+ case 0: return [4 /*yield*/, (0, globby_1.default)(__spreadArray(__spreadArray([], this.includePatterns(), true), this.excludePatterns(), true))];
108
+ case 1:
109
+ sourceFilePaths = _a.sent();
110
+ return [2 /*return*/, Array.from(new Set(sourceFilePaths))
111
+ .map(function (absolutePath) { return ({
112
+ absolutePath: absolutePath,
113
+ relativePath: PackageSourceFiles.relativePath(_this.packageDir, absolutePath),
114
+ }); })
115
+ .sort(function (a, b) { return PackageSourceFiles.compare(a.relativePath, b.relativePath); })
116
+ .map(function (_a) {
117
+ var absolutePath = _a.absolutePath;
118
+ return absolutePath;
119
+ })];
120
+ }
121
+ });
122
+ });
123
+ };
124
+ /** `filePath` relative to `fromDir`, with `/` separators on every platform and no leading `./`. */
125
+ PackageSourceFiles.relativePath = function (fromDir, filePath) {
126
+ return path.relative(fromDir, filePath).split(path.sep).join('/');
127
+ };
128
+ /** Code-unit order: the same on every machine, unlike `localeCompare`. */
129
+ PackageSourceFiles.compare = function (a, b) {
130
+ if (a < b) {
131
+ return -1;
132
+ }
133
+ return a > b ? 1 : 0;
134
+ };
135
+ PackageSourceFiles.prototype.includePatterns = function () {
136
+ var patterns = [];
137
+ for (var _i = 0, _a = this.sourceRootsRel; _i < _a.length; _i++) {
138
+ var rel = _a[_i];
139
+ var root = path.join(this.packageDir, rel);
140
+ patterns.push(path.join(root, '**/*.ts'));
141
+ patterns.push(path.join(root, '**/*.tsx'));
142
+ }
143
+ return patterns;
144
+ };
145
+ PackageSourceFiles.prototype.excludePatterns = function () {
146
+ return __spreadArray(['!**/node_modules/**', '!**/generated/**'], this.excludedDirs.map(function (dir) { return "!".concat(dir); }), true);
147
+ };
148
+ return PackageSourceFiles;
149
+ }());
150
+ exports.PackageSourceFiles = PackageSourceFiles;
151
+ //# sourceMappingURL=PackageSourceFiles.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PackageSourceFiles.js","sourceRoot":"","sources":["../../../../../../src/parser/PackageSourceFiles.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,yCAA6B;AAC7B,kDAA4B;AAE5B;;;;;;;;;;;;;;;GAeG;AACH;IACE,4BACmB,UAAkB,EAClB,cAAwB,EACxB,YAA2B;QAA3B,6BAAA,EAAA,iBAA2B;QAF3B,eAAU,GAAV,UAAU,CAAQ;QAClB,mBAAc,GAAd,cAAc,CAAU;QACxB,iBAAY,GAAZ,YAAY,CAAe;IAC3C,CAAC;IAEJ,mHAAmH;IAC7G,iCAAI,GAAV;;;;;;4BACoC,qBAAM,IAAA,gBAAM,kCAAK,IAAI,CAAC,eAAe,EAAE,SAAK,IAAI,CAAC,eAAe,EAAE,QAAE,EAAA;;wBAAhG,eAAe,GAAa,SAAoE;wBACtG,sBAAO,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,eAAe,CAAC,CAAC;iCACxC,GAAG,CAAC,UAAC,YAAY,IAAK,OAAA,CAAC;gCACtB,YAAY,cAAA;gCACZ,YAAY,EAAE,kBAAkB,CAAC,YAAY,CAAC,KAAI,CAAC,UAAU,EAAE,YAAY,CAAC;6BAC7E,CAAC,EAHqB,CAGrB,CAAC;iCACF,IAAI,CAAC,UAAC,CAAC,EAAE,CAAC,IAAK,OAAA,kBAAkB,CAAC,OAAO,CAAC,CAAC,CAAC,YAAY,EAAE,CAAC,CAAC,YAAY,CAAC,EAA1D,CAA0D,CAAC;iCAC1E,GAAG,CAAC,UAAC,EAAgB;oCAAd,YAAY,kBAAA;gCAAO,OAAA,YAAY;4BAAZ,CAAY,CAAC,EAAC;;;;KAC5C;IAED,mGAAmG;IAC5F,+BAAY,GAAnB,UAAoB,OAAe,EAAE,QAAgB;QACnD,OAAO,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACpE,CAAC;IAED,0EAA0E;IACnE,0BAAO,GAAd,UAAe,CAAS,EAAE,CAAS;QACjC,IAAI,CAAC,GAAG,CAAC,EAAE;YACT,OAAO,CAAC,CAAC,CAAC;SACX;QAED,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACvB,CAAC;IAEO,4CAAe,GAAvB;QACE,IAAM,QAAQ,GAAa,EAAE,CAAC;QAC9B,KAAkB,UAAmB,EAAnB,KAAA,IAAI,CAAC,cAAc,EAAnB,cAAmB,EAAnB,IAAmB,EAAE;YAAlC,IAAM,GAAG,SAAA;YACZ,IAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC;YAC7C,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC;YAC1C,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC,CAAC;SAC5C;QACD,OAAO,QAAQ,CAAC;IAClB,CAAC;IAEO,4CAAe,GAAvB;QACE,sBAAQ,qBAAqB,EAAE,kBAAkB,GAAK,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,UAAC,GAAG,IAAK,OAAA,WAAI,GAAG,CAAE,EAAT,CAAS,CAAC,QAAE;IACnG,CAAC;IACH,yBAAC;AAAD,CAAC,AA9CD,IA8CC;AA9CY,gDAAkB"}
@@ -0,0 +1,43 @@
1
+ import { Graph } from '@dagrejs/graphlib';
2
+ /** A qualified name that two or more source files declare. */
3
+ export interface SharedQualifiedName {
4
+ qualifiedName: string;
5
+ /** Every file that declares it: package-relative, `/`-separated, in the order the sources parse. */
6
+ filePaths: string[];
7
+ }
8
+ /**
9
+ * One qualified name, one declaring file, for every name that reaches the generated index.
10
+ *
11
+ * The source graph holds ONE node per qualified name. When two files export the same name, the
12
+ * declaration parsed last takes the node (its value, its `filePath`, and so the class or value
13
+ * the source link hands `objects()`), while the parent edges of both stay on it. The other
14
+ * declaration leaves no trace, so the emitted graph cannot show the collision. This class records
15
+ * every file that declares each name while the graph is built, and names the collisions that are
16
+ * left in a graph.
17
+ *
18
+ * The rule applies to the graph AFTER `removeNonLoadables`, never before. Types, consts and
19
+ * functions exported under one name by two files are ordinary TypeScript: while none of them is
20
+ * Loadable, the prune drops the name and it never reaches the index. A name that survives the
21
+ * prune is an authoring error the graph cannot represent, and the build refuses it rather than
22
+ * ship the last file's declaration.
23
+ *
24
+ * Order: files are kept in the order they are recorded, which is the parse order —
25
+ * `PackageSourceFiles.list()` order, package-relative path by code unit — and names in the order
26
+ * their first declaration was recorded. Both are the same on every machine.
27
+ */
28
+ export declare class SharedQualifiedNames {
29
+ private readonly filePathsByName;
30
+ /**
31
+ * The build's refusal: one error naming the package and, for each shared name, every file that
32
+ * declares it. Returns without effect when `sharedNames` is empty.
33
+ */
34
+ static refuse(packageName: string, sharedNames: SharedQualifiedName[]): void;
35
+ /** The names left in `prunedGraph` that two or more files declare. */
36
+ in(prunedGraph: Graph): SharedQualifiedName[];
37
+ /**
38
+ * Records that the package-relative `filePath` declares `qualifiedName`. The graph builder calls
39
+ * this for every declaration it sets on the graph; a file that declares a name twice (a const
40
+ * and a type of one name, say) counts once.
41
+ */
42
+ record(qualifiedName: string, filePath: string): void;
43
+ }
@@ -0,0 +1,81 @@
1
+ "use strict";
2
+ var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
3
+ if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
4
+ if (ar || !(i in from)) {
5
+ if (!ar) ar = Array.prototype.slice.call(from, 0, i);
6
+ ar[i] = from[i];
7
+ }
8
+ }
9
+ return to.concat(ar || Array.prototype.slice.call(from));
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.SharedQualifiedNames = void 0;
13
+ /**
14
+ * One qualified name, one declaring file, for every name that reaches the generated index.
15
+ *
16
+ * The source graph holds ONE node per qualified name. When two files export the same name, the
17
+ * declaration parsed last takes the node (its value, its `filePath`, and so the class or value
18
+ * the source link hands `objects()`), while the parent edges of both stay on it. The other
19
+ * declaration leaves no trace, so the emitted graph cannot show the collision. This class records
20
+ * every file that declares each name while the graph is built, and names the collisions that are
21
+ * left in a graph.
22
+ *
23
+ * The rule applies to the graph AFTER `removeNonLoadables`, never before. Types, consts and
24
+ * functions exported under one name by two files are ordinary TypeScript: while none of them is
25
+ * Loadable, the prune drops the name and it never reaches the index. A name that survives the
26
+ * prune is an authoring error the graph cannot represent, and the build refuses it rather than
27
+ * ship the last file's declaration.
28
+ *
29
+ * Order: files are kept in the order they are recorded, which is the parse order —
30
+ * `PackageSourceFiles.list()` order, package-relative path by code unit — and names in the order
31
+ * their first declaration was recorded. Both are the same on every machine.
32
+ */
33
+ var SharedQualifiedNames = /** @class */ (function () {
34
+ function SharedQualifiedNames() {
35
+ this.filePathsByName = new Map();
36
+ }
37
+ /**
38
+ * The build's refusal: one error naming the package and, for each shared name, every file that
39
+ * declares it. Returns without effect when `sharedNames` is empty.
40
+ */
41
+ SharedQualifiedNames.refuse = function (packageName, sharedNames) {
42
+ if (sharedNames.length === 0) {
43
+ return;
44
+ }
45
+ throw new Error(__spreadArray([
46
+ "reflection-build refused ".concat(packageName, ": a name that reaches the generated index is declared in more than one file."),
47
+ 'The index holds one declaration per qualified name, so the file parsed last would replace the others without a trace.',
48
+ 'Give each declaration its own name (no index was written):'
49
+ ], sharedNames.map(function (_a) {
50
+ var qualifiedName = _a.qualifiedName, filePaths = _a.filePaths;
51
+ return " ".concat(qualifiedName, ": ").concat(filePaths.join(', '));
52
+ }), true).join('\n'));
53
+ };
54
+ /** The names left in `prunedGraph` that two or more files declare. */
55
+ SharedQualifiedNames.prototype.in = function (prunedGraph) {
56
+ var shared = [];
57
+ this.filePathsByName.forEach(function (filePaths, qualifiedName) {
58
+ if (filePaths.length > 1 && prunedGraph.hasNode(qualifiedName)) {
59
+ shared.push({ qualifiedName: qualifiedName, filePaths: __spreadArray([], filePaths, true) });
60
+ }
61
+ });
62
+ return shared;
63
+ };
64
+ /**
65
+ * Records that the package-relative `filePath` declares `qualifiedName`. The graph builder calls
66
+ * this for every declaration it sets on the graph; a file that declares a name twice (a const
67
+ * and a type of one name, say) counts once.
68
+ */
69
+ SharedQualifiedNames.prototype.record = function (qualifiedName, filePath) {
70
+ var filePaths = this.filePathsByName.get(qualifiedName);
71
+ if (!filePaths) {
72
+ this.filePathsByName.set(qualifiedName, [filePath]);
73
+ }
74
+ else if (!filePaths.includes(filePath)) {
75
+ filePaths.push(filePath);
76
+ }
77
+ };
78
+ return SharedQualifiedNames;
79
+ }());
80
+ exports.SharedQualifiedNames = SharedQualifiedNames;
81
+ //# sourceMappingURL=SharedQualifiedNames.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SharedQualifiedNames.js","sourceRoot":"","sources":["../../../../../../src/parser/SharedQualifiedNames.ts"],"names":[],"mappings":";;;;;;;;;;;;AASA;;;;;;;;;;;;;;;;;;;GAmBG;AACH;IAAA;QACmB,oBAAe,GAAG,IAAI,GAAG,EAAoB,CAAC;IA6CjE,CAAC;IA3CC;;;OAGG;IACI,2BAAM,GAAb,UAAc,WAAmB,EAAE,WAAkC;QACnE,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE;YAC5B,OAAO;SACR;QAED,MAAM,IAAI,KAAK,CACb;YACE,mCAA4B,WAAW,iFAA8E;YACrH,uHAAuH;YACvH,4DAA4D;WACzD,WAAW,CAAC,GAAG,CAAC,UAAC,EAA4B;gBAA1B,aAAa,mBAAA,EAAE,SAAS,eAAA;YAAO,OAAA,YAAK,aAAa,eAAK,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAE;QAA7C,CAA6C,CAAC,QACnG,IAAI,CAAC,IAAI,CAAC,CACb,CAAC;IACJ,CAAC;IAED,sEAAsE;IACtE,iCAAE,GAAF,UAAG,WAAkB;QACnB,IAAM,MAAM,GAA0B,EAAE,CAAC;QACzC,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,UAAC,SAAS,EAAE,aAAa;YACpD,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,IAAI,WAAW,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE;gBAC9D,MAAM,CAAC,IAAI,CAAC,EAAE,aAAa,eAAA,EAAE,SAAS,oBAAM,SAAS,OAAC,EAAE,CAAC,CAAC;aAC3D;QACH,CAAC,CAAC,CAAC;QACH,OAAO,MAAM,CAAC;IAChB,CAAC;IAED;;;;OAIG;IACH,qCAAM,GAAN,UAAO,aAAqB,EAAE,QAAgB;QAC5C,IAAM,SAAS,GAAG,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;QAC1D,IAAI,CAAC,SAAS,EAAE;YACd,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,aAAa,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC;SACrD;aAAM,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE;YACxC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;SAC1B;IACH,CAAC;IACH,2BAAC;AAAD,CAAC,AA9CD,IA8CC;AA9CY,oDAAoB"}
@@ -1,3 +1,8 @@
1
1
  import * as graphlib from '@dagrejs/graphlib';
2
2
  import { File } from '../../modules/typescript-parser';
3
- export declare function createGraphBuilder(graph: graphlib.Graph, packageJson: any, packageJsonDir: string): (parsedFile: File) => Promise<void>;
3
+ import { SharedQualifiedNames } from './SharedQualifiedNames';
4
+ /**
5
+ * @param sharedNames records the file of every declaration set on the graph: the graph keeps one
6
+ * node per qualified name, so it cannot show a name two files declare
7
+ */
8
+ export declare function createGraphBuilder(graph: graphlib.Graph, packageJson: any, packageJsonDir: string, sharedNames: SharedQualifiedNames): (parsedFile: File) => Promise<void>;