@wrtnlabs/evidence 0.0.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 (1076) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +516 -0
  3. package/lib/EvidenceChecker.d.ts +85 -0
  4. package/lib/EvidenceChecker.js +109 -0
  5. package/lib/adapters/bigquery/BigQueryColumnType.d.ts +14 -0
  6. package/lib/adapters/bigquery/BigQueryColumnType.js +34 -0
  7. package/lib/adapters/bigquery/BigQueryFileScanner.d.ts +97 -0
  8. package/lib/adapters/bigquery/BigQueryFileScanner.js +375 -0
  9. package/lib/adapters/bigquery/BigQueryIdentifier.d.ts +37 -0
  10. package/lib/adapters/bigquery/BigQueryIdentifier.js +88 -0
  11. package/lib/adapters/bigquery/BigQueryString.d.ts +14 -0
  12. package/lib/adapters/bigquery/BigQueryString.js +82 -0
  13. package/lib/adapters/bigquery/BigQueryWithdrawals.d.ts +14 -0
  14. package/lib/adapters/bigquery/BigQueryWithdrawals.js +70 -0
  15. package/lib/adapters/bigquery/EvidenceBigQueryAdapter.d.ts +17 -0
  16. package/lib/adapters/bigquery/EvidenceBigQueryAdapter.js +27 -0
  17. package/lib/adapters/c/CAdapter.d.ts +48 -0
  18. package/lib/adapters/c/CAdapter.js +677 -0
  19. package/lib/adapters/c/CDeclarationForm.d.ts +8 -0
  20. package/lib/adapters/c/CDeclarationForm.js +2 -0
  21. package/lib/adapters/c/CDeclaratorKind.d.ts +8 -0
  22. package/lib/adapters/c/CDeclaratorKind.js +2 -0
  23. package/lib/adapters/c/CDocumentation.d.ts +12 -0
  24. package/lib/adapters/c/CDocumentation.js +35 -0
  25. package/lib/adapters/c/CFileScanner.d.ts +64 -0
  26. package/lib/adapters/c/CFileScanner.js +505 -0
  27. package/lib/adapters/c/CSyntax.d.ts +24 -0
  28. package/lib/adapters/c/CSyntax.js +164 -0
  29. package/lib/adapters/c/EvidenceCAdapter.d.ts +15 -0
  30. package/lib/adapters/c/EvidenceCAdapter.js +19 -0
  31. package/lib/adapters/c/ICDeclaration.d.ts +74 -0
  32. package/lib/adapters/c/ICDeclaration.js +2 -0
  33. package/lib/adapters/c/ICDeclarationAddress.d.ts +28 -0
  34. package/lib/adapters/c/ICDeclarationAddress.js +2 -0
  35. package/lib/adapters/c/ICDeclarationGroup.d.ts +23 -0
  36. package/lib/adapters/c/ICDeclarationGroup.js +2 -0
  37. package/lib/adapters/c/ICDeclaratorShape.d.ts +30 -0
  38. package/lib/adapters/c/ICDeclaratorShape.js +2 -0
  39. package/lib/adapters/c/ICDocumentation.d.ts +36 -0
  40. package/lib/adapters/c/ICDocumentation.js +2 -0
  41. package/lib/adapters/c/ICDocumentationAttachment.d.ts +21 -0
  42. package/lib/adapters/c/ICDocumentationAttachment.js +2 -0
  43. package/lib/adapters/c/ICFileAnalysis.d.ts +44 -0
  44. package/lib/adapters/c/ICFileAnalysis.js +2 -0
  45. package/lib/adapters/c/ICTypeContext.d.ts +21 -0
  46. package/lib/adapters/c/ICTypeContext.js +2 -0
  47. package/lib/adapters/cpp/CppAccess.d.ts +7 -0
  48. package/lib/adapters/cpp/CppAccess.js +2 -0
  49. package/lib/adapters/cpp/CppAdapter.d.ts +50 -0
  50. package/lib/adapters/cpp/CppAdapter.js +707 -0
  51. package/lib/adapters/cpp/CppAliasKind.d.ts +7 -0
  52. package/lib/adapters/cpp/CppAliasKind.js +2 -0
  53. package/lib/adapters/cpp/CppDeclarationForm.d.ts +7 -0
  54. package/lib/adapters/cpp/CppDeclarationForm.js +2 -0
  55. package/lib/adapters/cpp/CppDeclaratorKind.d.ts +7 -0
  56. package/lib/adapters/cpp/CppDeclaratorKind.js +2 -0
  57. package/lib/adapters/cpp/CppDocumentation.d.ts +12 -0
  58. package/lib/adapters/cpp/CppDocumentation.js +35 -0
  59. package/lib/adapters/cpp/CppFileScanner.d.ts +79 -0
  60. package/lib/adapters/cpp/CppFileScanner.js +792 -0
  61. package/lib/adapters/cpp/CppScopeKind.d.ts +7 -0
  62. package/lib/adapters/cpp/CppScopeKind.js +2 -0
  63. package/lib/adapters/cpp/CppSyntax.d.ts +31 -0
  64. package/lib/adapters/cpp/CppSyntax.js +342 -0
  65. package/lib/adapters/cpp/CppVisibility.d.ts +7 -0
  66. package/lib/adapters/cpp/CppVisibility.js +2 -0
  67. package/lib/adapters/cpp/EvidenceCppAdapter.d.ts +16 -0
  68. package/lib/adapters/cpp/EvidenceCppAdapter.js +20 -0
  69. package/lib/adapters/cpp/ICppAlias.d.ts +44 -0
  70. package/lib/adapters/cpp/ICppAlias.js +2 -0
  71. package/lib/adapters/cpp/ICppDeclaration.d.ts +55 -0
  72. package/lib/adapters/cpp/ICppDeclaration.js +2 -0
  73. package/lib/adapters/cpp/ICppDeclarationGroup.d.ts +25 -0
  74. package/lib/adapters/cpp/ICppDeclarationGroup.js +2 -0
  75. package/lib/adapters/cpp/ICppDeclaratorShape.d.ts +42 -0
  76. package/lib/adapters/cpp/ICppDeclaratorShape.js +2 -0
  77. package/lib/adapters/cpp/ICppDocumentation.d.ts +30 -0
  78. package/lib/adapters/cpp/ICppDocumentation.js +2 -0
  79. package/lib/adapters/cpp/ICppDocumentationAttachment.d.ts +16 -0
  80. package/lib/adapters/cpp/ICppDocumentationAttachment.js +2 -0
  81. package/lib/adapters/cpp/ICppFileAnalysis.d.ts +41 -0
  82. package/lib/adapters/cpp/ICppFileAnalysis.js +2 -0
  83. package/lib/adapters/cpp/ICppQualifiedName.d.ts +16 -0
  84. package/lib/adapters/cpp/ICppQualifiedName.js +2 -0
  85. package/lib/adapters/cpp/ICppResolvedAlias.d.ts +24 -0
  86. package/lib/adapters/cpp/ICppResolvedAlias.js +2 -0
  87. package/lib/adapters/cpp/ICppScopeContext.d.ts +37 -0
  88. package/lib/adapters/cpp/ICppScopeContext.js +2 -0
  89. package/lib/adapters/csharp/CSharpAccessibility.d.ts +7 -0
  90. package/lib/adapters/csharp/CSharpAccessibility.js +2 -0
  91. package/lib/adapters/csharp/CSharpAdapter.d.ts +47 -0
  92. package/lib/adapters/csharp/CSharpAdapter.js +687 -0
  93. package/lib/adapters/csharp/CSharpDeclarationForm.d.ts +7 -0
  94. package/lib/adapters/csharp/CSharpDeclarationForm.js +2 -0
  95. package/lib/adapters/csharp/CSharpDocumentation.d.ts +12 -0
  96. package/lib/adapters/csharp/CSharpDocumentation.js +35 -0
  97. package/lib/adapters/csharp/CSharpFileScanner.d.ts +54 -0
  98. package/lib/adapters/csharp/CSharpFileScanner.js +403 -0
  99. package/lib/adapters/csharp/CSharpSyntax.d.ts +23 -0
  100. package/lib/adapters/csharp/CSharpSyntax.js +174 -0
  101. package/lib/adapters/csharp/CSharpTypeKind.d.ts +7 -0
  102. package/lib/adapters/csharp/CSharpTypeKind.js +2 -0
  103. package/lib/adapters/csharp/EvidenceCSharpAdapter.d.ts +15 -0
  104. package/lib/adapters/csharp/EvidenceCSharpAdapter.js +19 -0
  105. package/lib/adapters/csharp/ICSharpDeclaration.d.ts +63 -0
  106. package/lib/adapters/csharp/ICSharpDeclaration.js +2 -0
  107. package/lib/adapters/csharp/ICSharpDeclarationAddress.d.ts +22 -0
  108. package/lib/adapters/csharp/ICSharpDeclarationAddress.js +2 -0
  109. package/lib/adapters/csharp/ICSharpDeclarationGroup.d.ts +19 -0
  110. package/lib/adapters/csharp/ICSharpDeclarationGroup.js +2 -0
  111. package/lib/adapters/csharp/ICSharpDocumentation.d.ts +43 -0
  112. package/lib/adapters/csharp/ICSharpDocumentation.js +2 -0
  113. package/lib/adapters/csharp/ICSharpDocumentationAttachment.d.ts +25 -0
  114. package/lib/adapters/csharp/ICSharpDocumentationAttachment.js +2 -0
  115. package/lib/adapters/csharp/ICSharpFileAnalysis.d.ts +51 -0
  116. package/lib/adapters/csharp/ICSharpFileAnalysis.js +2 -0
  117. package/lib/adapters/csharp/ICSharpTypeContext.d.ts +41 -0
  118. package/lib/adapters/csharp/ICSharpTypeContext.js +2 -0
  119. package/lib/adapters/dart/DartAdapter.d.ts +96 -0
  120. package/lib/adapters/dart/DartAdapter.js +616 -0
  121. package/lib/adapters/dart/DartDocumentation.d.ts +16 -0
  122. package/lib/adapters/dart/DartDocumentation.js +73 -0
  123. package/lib/adapters/dart/DartFileScanner.d.ts +112 -0
  124. package/lib/adapters/dart/DartFileScanner.js +415 -0
  125. package/lib/adapters/dart/DartLibraries.d.ts +24 -0
  126. package/lib/adapters/dart/DartLibraries.js +228 -0
  127. package/lib/adapters/dart/EvidenceDartAdapter.d.ts +15 -0
  128. package/lib/adapters/dart/EvidenceDartAdapter.js +19 -0
  129. package/lib/adapters/dart/IDartDeclaration.d.ts +69 -0
  130. package/lib/adapters/dart/IDartDeclaration.js +2 -0
  131. package/lib/adapters/dart/IDartDirective.d.ts +53 -0
  132. package/lib/adapters/dart/IDartDirective.js +2 -0
  133. package/lib/adapters/dart/IDartDocumentation.d.ts +31 -0
  134. package/lib/adapters/dart/IDartDocumentation.js +2 -0
  135. package/lib/adapters/dart/IDartDocumentationAttachment.d.ts +23 -0
  136. package/lib/adapters/dart/IDartDocumentationAttachment.js +2 -0
  137. package/lib/adapters/dart/IDartExportFilter.d.ts +22 -0
  138. package/lib/adapters/dart/IDartExportFilter.js +2 -0
  139. package/lib/adapters/dart/IDartFileAnalysis.d.ts +55 -0
  140. package/lib/adapters/dart/IDartFileAnalysis.js +2 -0
  141. package/lib/adapters/dbml/DbmlDocumentation.d.ts +15 -0
  142. package/lib/adapters/dbml/DbmlDocumentation.js +49 -0
  143. package/lib/adapters/dbml/DbmlFileScanner.d.ts +114 -0
  144. package/lib/adapters/dbml/DbmlFileScanner.js +364 -0
  145. package/lib/adapters/dbml/EvidenceDbmlAdapter.d.ts +88 -0
  146. package/lib/adapters/dbml/EvidenceDbmlAdapter.js +674 -0
  147. package/lib/adapters/dbml/IDbmlDeclaration.d.ts +38 -0
  148. package/lib/adapters/dbml/IDbmlDeclaration.js +2 -0
  149. package/lib/adapters/dbml/IDbmlDocumentation.d.ts +34 -0
  150. package/lib/adapters/dbml/IDbmlDocumentation.js +2 -0
  151. package/lib/adapters/dbml/IDbmlEndpoint.d.ts +20 -0
  152. package/lib/adapters/dbml/IDbmlEndpoint.js +2 -0
  153. package/lib/adapters/dbml/IDbmlEnum.d.ts +27 -0
  154. package/lib/adapters/dbml/IDbmlEnum.js +2 -0
  155. package/lib/adapters/dbml/IDbmlFileAnalysis.d.ts +56 -0
  156. package/lib/adapters/dbml/IDbmlFileAnalysis.js +2 -0
  157. package/lib/adapters/dbml/IDbmlRelation.d.ts +56 -0
  158. package/lib/adapters/dbml/IDbmlRelation.js +2 -0
  159. package/lib/adapters/ecmascript/EcmaScriptAdapter.d.ts +71 -0
  160. package/lib/adapters/ecmascript/EcmaScriptAdapter.js +516 -0
  161. package/lib/adapters/ecmascript/EcmaScriptExportKind.d.ts +7 -0
  162. package/lib/adapters/ecmascript/EcmaScriptExportKind.js +2 -0
  163. package/lib/adapters/ecmascript/EcmaScriptExportResolver.d.ts +175 -0
  164. package/lib/adapters/ecmascript/EcmaScriptExportResolver.js +510 -0
  165. package/lib/adapters/ecmascript/EcmaScriptFileScanner.d.ts +84 -0
  166. package/lib/adapters/ecmascript/EcmaScriptFileScanner.js +946 -0
  167. package/lib/adapters/ecmascript/EcmaScriptModuleMode.d.ts +7 -0
  168. package/lib/adapters/ecmascript/EcmaScriptModuleMode.js +2 -0
  169. package/lib/adapters/ecmascript/EcmaScriptModuleResolver.d.ts +70 -0
  170. package/lib/adapters/ecmascript/EcmaScriptModuleResolver.js +211 -0
  171. package/lib/adapters/ecmascript/EcmaScriptSyntax.d.ts +24 -0
  172. package/lib/adapters/ecmascript/EcmaScriptSyntax.js +263 -0
  173. package/lib/adapters/ecmascript/EcmaScriptType.d.ts +7 -0
  174. package/lib/adapters/ecmascript/EcmaScriptType.js +2 -0
  175. package/lib/adapters/ecmascript/IEcmaScriptBinding.d.ts +29 -0
  176. package/lib/adapters/ecmascript/IEcmaScriptBinding.js +2 -0
  177. package/lib/adapters/ecmascript/IEcmaScriptComment.d.ts +39 -0
  178. package/lib/adapters/ecmascript/IEcmaScriptComment.js +2 -0
  179. package/lib/adapters/ecmascript/IEcmaScriptCommentAttachment.d.ts +24 -0
  180. package/lib/adapters/ecmascript/IEcmaScriptCommentAttachment.js +2 -0
  181. package/lib/adapters/ecmascript/IEcmaScriptExport.d.ts +51 -0
  182. package/lib/adapters/ecmascript/IEcmaScriptExport.js +2 -0
  183. package/lib/adapters/ecmascript/IEcmaScriptFileAnalysis.d.ts +56 -0
  184. package/lib/adapters/ecmascript/IEcmaScriptFileAnalysis.js +2 -0
  185. package/lib/adapters/ecmascript/IEcmaScriptHostPosition.d.ts +25 -0
  186. package/lib/adapters/ecmascript/IEcmaScriptHostPosition.js +2 -0
  187. package/lib/adapters/ecmascript/IEcmaScriptImport.d.ts +44 -0
  188. package/lib/adapters/ecmascript/IEcmaScriptImport.js +2 -0
  189. package/lib/adapters/ecmascript/IEcmaScriptModule.d.ts +55 -0
  190. package/lib/adapters/ecmascript/IEcmaScriptModule.js +2 -0
  191. package/lib/adapters/ecmascript/IEcmaScriptModuleResolution.d.ts +40 -0
  192. package/lib/adapters/ecmascript/IEcmaScriptModuleResolution.js +2 -0
  193. package/lib/adapters/ecmascript/IEcmaScriptOwnedUnit.d.ts +45 -0
  194. package/lib/adapters/ecmascript/IEcmaScriptOwnedUnit.js +2 -0
  195. package/lib/adapters/ecmascript/IEcmaScriptResolution.d.ts +31 -0
  196. package/lib/adapters/ecmascript/IEcmaScriptResolution.js +2 -0
  197. package/lib/adapters/ecmascript/IEcmaScriptStatementContext.d.ts +58 -0
  198. package/lib/adapters/ecmascript/IEcmaScriptStatementContext.js +2 -0
  199. package/lib/adapters/ecmascript/IJavaScriptPackageJson.d.ts +16 -0
  200. package/lib/adapters/ecmascript/IJavaScriptPackageJson.js +2 -0
  201. package/lib/adapters/go/EvidenceGoAdapter.d.ts +15 -0
  202. package/lib/adapters/go/EvidenceGoAdapter.js +19 -0
  203. package/lib/adapters/go/GoAdapter.d.ts +43 -0
  204. package/lib/adapters/go/GoAdapter.js +509 -0
  205. package/lib/adapters/go/GoDeclarationForm.d.ts +7 -0
  206. package/lib/adapters/go/GoDeclarationForm.js +2 -0
  207. package/lib/adapters/go/GoFileScanner.d.ts +57 -0
  208. package/lib/adapters/go/GoFileScanner.js +288 -0
  209. package/lib/adapters/go/GoPackageResolver.d.ts +147 -0
  210. package/lib/adapters/go/GoPackageResolver.js +306 -0
  211. package/lib/adapters/go/GoSyntax.d.ts +17 -0
  212. package/lib/adapters/go/GoSyntax.js +107 -0
  213. package/lib/adapters/go/IGoDeclaration.d.ts +53 -0
  214. package/lib/adapters/go/IGoDeclaration.js +2 -0
  215. package/lib/adapters/go/IGoDocumentation.d.ts +35 -0
  216. package/lib/adapters/go/IGoDocumentation.js +2 -0
  217. package/lib/adapters/go/IGoDocumentationAttachment.d.ts +20 -0
  218. package/lib/adapters/go/IGoDocumentationAttachment.js +2 -0
  219. package/lib/adapters/go/IGoFileAnalysis.d.ts +60 -0
  220. package/lib/adapters/go/IGoFileAnalysis.js +2 -0
  221. package/lib/adapters/go/IGoMaterializedDeclaration.d.ts +28 -0
  222. package/lib/adapters/go/IGoMaterializedDeclaration.js +2 -0
  223. package/lib/adapters/java/EvidenceJavaAdapter.d.ts +15 -0
  224. package/lib/adapters/java/EvidenceJavaAdapter.js +19 -0
  225. package/lib/adapters/java/IJavaDeclaration.d.ts +65 -0
  226. package/lib/adapters/java/IJavaDeclaration.js +2 -0
  227. package/lib/adapters/java/IJavaDocumentation.d.ts +35 -0
  228. package/lib/adapters/java/IJavaDocumentation.js +2 -0
  229. package/lib/adapters/java/IJavaDocumentationAttachment.d.ts +20 -0
  230. package/lib/adapters/java/IJavaDocumentationAttachment.js +2 -0
  231. package/lib/adapters/java/IJavaFileAnalysis.d.ts +42 -0
  232. package/lib/adapters/java/IJavaFileAnalysis.js +2 -0
  233. package/lib/adapters/java/IJavaTypeContext.d.ts +39 -0
  234. package/lib/adapters/java/IJavaTypeContext.js +2 -0
  235. package/lib/adapters/java/JavaAdapter.d.ts +45 -0
  236. package/lib/adapters/java/JavaAdapter.js +572 -0
  237. package/lib/adapters/java/JavaDeclarationForm.d.ts +7 -0
  238. package/lib/adapters/java/JavaDeclarationForm.js +2 -0
  239. package/lib/adapters/java/JavaDocumentation.d.ts +12 -0
  240. package/lib/adapters/java/JavaDocumentation.js +52 -0
  241. package/lib/adapters/java/JavaFileScanner.d.ts +51 -0
  242. package/lib/adapters/java/JavaFileScanner.js +317 -0
  243. package/lib/adapters/java/JavaSyntax.d.ts +18 -0
  244. package/lib/adapters/java/JavaSyntax.js +100 -0
  245. package/lib/adapters/java/JavaTypeKind.d.ts +7 -0
  246. package/lib/adapters/java/JavaTypeKind.js +2 -0
  247. package/lib/adapters/javascript/EvidenceJavaScriptAdapter.d.ts +26 -0
  248. package/lib/adapters/javascript/EvidenceJavaScriptAdapter.js +32 -0
  249. package/lib/adapters/kotlin/EvidenceKotlinAdapter.d.ts +15 -0
  250. package/lib/adapters/kotlin/EvidenceKotlinAdapter.js +19 -0
  251. package/lib/adapters/kotlin/IKotlinDeclaration.d.ts +77 -0
  252. package/lib/adapters/kotlin/IKotlinDeclaration.js +2 -0
  253. package/lib/adapters/kotlin/IKotlinDocumentation.d.ts +31 -0
  254. package/lib/adapters/kotlin/IKotlinDocumentation.js +2 -0
  255. package/lib/adapters/kotlin/IKotlinDocumentationAttachment.d.ts +23 -0
  256. package/lib/adapters/kotlin/IKotlinDocumentationAttachment.js +2 -0
  257. package/lib/adapters/kotlin/IKotlinFileAnalysis.d.ts +39 -0
  258. package/lib/adapters/kotlin/IKotlinFileAnalysis.js +2 -0
  259. package/lib/adapters/kotlin/IKotlinResolvedType.d.ts +23 -0
  260. package/lib/adapters/kotlin/IKotlinResolvedType.js +2 -0
  261. package/lib/adapters/kotlin/IKotlinTypeReference.d.ts +44 -0
  262. package/lib/adapters/kotlin/IKotlinTypeReference.js +2 -0
  263. package/lib/adapters/kotlin/KotlinAdapter.d.ts +114 -0
  264. package/lib/adapters/kotlin/KotlinAdapter.js +649 -0
  265. package/lib/adapters/kotlin/KotlinDocumentation.d.ts +18 -0
  266. package/lib/adapters/kotlin/KotlinDocumentation.js +80 -0
  267. package/lib/adapters/kotlin/KotlinFileScanner.d.ts +153 -0
  268. package/lib/adapters/kotlin/KotlinFileScanner.js +508 -0
  269. package/lib/adapters/kotlin/KotlinReceivers.d.ts +16 -0
  270. package/lib/adapters/kotlin/KotlinReceivers.js +104 -0
  271. package/lib/adapters/lua/EvidenceLuaAdapter.d.ts +16 -0
  272. package/lib/adapters/lua/EvidenceLuaAdapter.js +20 -0
  273. package/lib/adapters/lua/ILuaDeclaration.d.ts +54 -0
  274. package/lib/adapters/lua/ILuaDeclaration.js +2 -0
  275. package/lib/adapters/lua/ILuaDocumentation.d.ts +31 -0
  276. package/lib/adapters/lua/ILuaDocumentation.js +2 -0
  277. package/lib/adapters/lua/ILuaDocumentationAttachment.d.ts +23 -0
  278. package/lib/adapters/lua/ILuaDocumentationAttachment.js +2 -0
  279. package/lib/adapters/lua/ILuaFileAnalysis.d.ts +39 -0
  280. package/lib/adapters/lua/ILuaFileAnalysis.js +2 -0
  281. package/lib/adapters/lua/ILuaValue.d.ts +39 -0
  282. package/lib/adapters/lua/ILuaValue.js +2 -0
  283. package/lib/adapters/lua/LuaAdapter.d.ts +114 -0
  284. package/lib/adapters/lua/LuaAdapter.js +647 -0
  285. package/lib/adapters/lua/LuaDocumentation.d.ts +19 -0
  286. package/lib/adapters/lua/LuaDocumentation.js +79 -0
  287. package/lib/adapters/lua/LuaFileScanner.d.ts +167 -0
  288. package/lib/adapters/lua/LuaFileScanner.js +585 -0
  289. package/lib/adapters/markdown/EvidenceMarkdownAdapter.d.ts +28 -0
  290. package/lib/adapters/markdown/EvidenceMarkdownAdapter.js +296 -0
  291. package/lib/adapters/markdown/EvidenceMarkdownRenderedEdge.d.ts +7 -0
  292. package/lib/adapters/markdown/EvidenceMarkdownRenderedEdge.js +2 -0
  293. package/lib/adapters/markdown/IMarkdownComment.d.ts +31 -0
  294. package/lib/adapters/markdown/IMarkdownComment.js +2 -0
  295. package/lib/adapters/markdown/IMarkdownFence.d.ts +25 -0
  296. package/lib/adapters/markdown/IMarkdownFence.js +2 -0
  297. package/lib/adapters/markdown/IMarkdownHeading.d.ts +25 -0
  298. package/lib/adapters/markdown/IMarkdownHeading.js +2 -0
  299. package/lib/adapters/markdown/MarkdownScanner.d.ts +102 -0
  300. package/lib/adapters/markdown/MarkdownScanner.js +471 -0
  301. package/lib/adapters/markdown/MarkdownSyntax.d.ts +34 -0
  302. package/lib/adapters/markdown/MarkdownSyntax.js +234 -0
  303. package/lib/adapters/markdown/MarkdownTarget.d.ts +17 -0
  304. package/lib/adapters/markdown/MarkdownTarget.js +38 -0
  305. package/lib/adapters/matlab/EvidenceMatlabAdapter.d.ts +15 -0
  306. package/lib/adapters/matlab/EvidenceMatlabAdapter.js +19 -0
  307. package/lib/adapters/matlab/IMatlabDeclaration.d.ts +103 -0
  308. package/lib/adapters/matlab/IMatlabDeclaration.js +2 -0
  309. package/lib/adapters/matlab/IMatlabDocumentation.d.ts +35 -0
  310. package/lib/adapters/matlab/IMatlabDocumentation.js +2 -0
  311. package/lib/adapters/matlab/IMatlabDocumentationAttachment.d.ts +20 -0
  312. package/lib/adapters/matlab/IMatlabDocumentationAttachment.js +2 -0
  313. package/lib/adapters/matlab/IMatlabFileAnalysis.d.ts +43 -0
  314. package/lib/adapters/matlab/IMatlabFileAnalysis.js +2 -0
  315. package/lib/adapters/matlab/MatlabAdapter.d.ts +104 -0
  316. package/lib/adapters/matlab/MatlabAdapter.js +625 -0
  317. package/lib/adapters/matlab/MatlabDocumentation.d.ts +18 -0
  318. package/lib/adapters/matlab/MatlabDocumentation.js +78 -0
  319. package/lib/adapters/matlab/MatlabFileScanner.d.ts +118 -0
  320. package/lib/adapters/matlab/MatlabFileScanner.js +454 -0
  321. package/lib/adapters/matlab/MatlabOwnership.d.ts +17 -0
  322. package/lib/adapters/matlab/MatlabOwnership.js +139 -0
  323. package/lib/adapters/mysql/EvidenceMysqlAdapter.d.ts +16 -0
  324. package/lib/adapters/mysql/EvidenceMysqlAdapter.js +23 -0
  325. package/lib/adapters/mysql/MysqlDocumentation.d.ts +15 -0
  326. package/lib/adapters/mysql/MysqlDocumentation.js +40 -0
  327. package/lib/adapters/mysql/MysqlFileScanner.d.ts +16 -0
  328. package/lib/adapters/mysql/MysqlFileScanner.js +78 -0
  329. package/lib/adapters/mysql/MysqlIdentifier.d.ts +13 -0
  330. package/lib/adapters/mysql/MysqlIdentifier.js +30 -0
  331. package/lib/adapters/mysql/MysqlPolicy.d.ts +39 -0
  332. package/lib/adapters/mysql/MysqlPolicy.js +173 -0
  333. package/lib/adapters/objc/EvidenceObjcAdapter.d.ts +15 -0
  334. package/lib/adapters/objc/EvidenceObjcAdapter.js +19 -0
  335. package/lib/adapters/objc/IObjcDeclaration.d.ts +79 -0
  336. package/lib/adapters/objc/IObjcDeclaration.js +2 -0
  337. package/lib/adapters/objc/IObjcDocumentation.d.ts +35 -0
  338. package/lib/adapters/objc/IObjcDocumentation.js +2 -0
  339. package/lib/adapters/objc/IObjcDocumentationAttachment.d.ts +20 -0
  340. package/lib/adapters/objc/IObjcDocumentationAttachment.js +2 -0
  341. package/lib/adapters/objc/IObjcFileAnalysis.d.ts +43 -0
  342. package/lib/adapters/objc/IObjcFileAnalysis.js +2 -0
  343. package/lib/adapters/objc/ObjcAdapter.d.ts +100 -0
  344. package/lib/adapters/objc/ObjcAdapter.js +646 -0
  345. package/lib/adapters/objc/ObjcDeclarationForm.d.ts +7 -0
  346. package/lib/adapters/objc/ObjcDeclarationForm.js +2 -0
  347. package/lib/adapters/objc/ObjcDocumentation.d.ts +8 -0
  348. package/lib/adapters/objc/ObjcDocumentation.js +11 -0
  349. package/lib/adapters/objc/ObjcFileScanner.d.ts +123 -0
  350. package/lib/adapters/objc/ObjcFileScanner.js +461 -0
  351. package/lib/adapters/php/EvidencePhpAdapter.d.ts +15 -0
  352. package/lib/adapters/php/EvidencePhpAdapter.js +19 -0
  353. package/lib/adapters/php/IPhpDeclaration.d.ts +64 -0
  354. package/lib/adapters/php/IPhpDeclaration.js +2 -0
  355. package/lib/adapters/php/IPhpDocumentation.d.ts +35 -0
  356. package/lib/adapters/php/IPhpDocumentation.js +2 -0
  357. package/lib/adapters/php/IPhpDocumentationAttachment.d.ts +20 -0
  358. package/lib/adapters/php/IPhpDocumentationAttachment.js +2 -0
  359. package/lib/adapters/php/IPhpFileAnalysis.d.ts +48 -0
  360. package/lib/adapters/php/IPhpFileAnalysis.js +2 -0
  361. package/lib/adapters/php/PhpAdapter.d.ts +108 -0
  362. package/lib/adapters/php/PhpAdapter.js +670 -0
  363. package/lib/adapters/php/PhpDocumentation.d.ts +18 -0
  364. package/lib/adapters/php/PhpDocumentation.js +80 -0
  365. package/lib/adapters/php/PhpFileScanner.d.ts +79 -0
  366. package/lib/adapters/php/PhpFileScanner.js +346 -0
  367. package/lib/adapters/postgresql/EvidencePostgresqlAdapter.d.ts +26 -0
  368. package/lib/adapters/postgresql/EvidencePostgresqlAdapter.js +41 -0
  369. package/lib/adapters/postgresql/IPostgresqlFileAnalysis.d.ts +16 -0
  370. package/lib/adapters/postgresql/IPostgresqlFileAnalysis.js +2 -0
  371. package/lib/adapters/postgresql/IPostgresqlReference.d.ts +26 -0
  372. package/lib/adapters/postgresql/IPostgresqlReference.js +2 -0
  373. package/lib/adapters/postgresql/PostgresqlFileScanner.d.ts +103 -0
  374. package/lib/adapters/postgresql/PostgresqlFileScanner.js +431 -0
  375. package/lib/adapters/postgresql/PostgresqlFingerprint.d.ts +14 -0
  376. package/lib/adapters/postgresql/PostgresqlFingerprint.js +29 -0
  377. package/lib/adapters/postgresql/PostgresqlIdentity.d.ts +20 -0
  378. package/lib/adapters/postgresql/PostgresqlIdentity.js +41 -0
  379. package/lib/adapters/postgresql/PostgresqlOwnership.d.ts +14 -0
  380. package/lib/adapters/postgresql/PostgresqlOwnership.js +668 -0
  381. package/lib/adapters/prisma/EvidencePrismaAdapter.d.ts +57 -0
  382. package/lib/adapters/prisma/EvidencePrismaAdapter.js +603 -0
  383. package/lib/adapters/prisma/IPrismaBlockHead.d.ts +21 -0
  384. package/lib/adapters/prisma/IPrismaBlockHead.js +2 -0
  385. package/lib/adapters/prisma/IPrismaCacheEntry.d.ts +22 -0
  386. package/lib/adapters/prisma/IPrismaCacheEntry.js +2 -0
  387. package/lib/adapters/prisma/IPrismaCommentRun.d.ts +51 -0
  388. package/lib/adapters/prisma/IPrismaCommentRun.js +2 -0
  389. package/lib/adapters/prisma/IPrismaDatamodel.d.ts +15 -0
  390. package/lib/adapters/prisma/IPrismaDatamodel.js +2 -0
  391. package/lib/adapters/prisma/IPrismaDatamodelField.d.ts +26 -0
  392. package/lib/adapters/prisma/IPrismaDatamodelField.js +2 -0
  393. package/lib/adapters/prisma/IPrismaDatamodelModel.d.ts +29 -0
  394. package/lib/adapters/prisma/IPrismaDatamodelModel.js +2 -0
  395. package/lib/adapters/prisma/IPrismaField.d.ts +36 -0
  396. package/lib/adapters/prisma/IPrismaField.js +2 -0
  397. package/lib/adapters/prisma/IPrismaFileAnalysis.d.ts +31 -0
  398. package/lib/adapters/prisma/IPrismaFileAnalysis.js +2 -0
  399. package/lib/adapters/prisma/IPrismaLineParts.d.ts +26 -0
  400. package/lib/adapters/prisma/IPrismaLineParts.js +2 -0
  401. package/lib/adapters/prisma/IPrismaLoadResult.d.ts +22 -0
  402. package/lib/adapters/prisma/IPrismaLoadResult.js +2 -0
  403. package/lib/adapters/prisma/IPrismaLocatedDeclaration.d.ts +20 -0
  404. package/lib/adapters/prisma/IPrismaLocatedDeclaration.js +2 -0
  405. package/lib/adapters/prisma/IPrismaLocation.d.ts +22 -0
  406. package/lib/adapters/prisma/IPrismaLocation.js +2 -0
  407. package/lib/adapters/prisma/IPrismaModel.d.ts +36 -0
  408. package/lib/adapters/prisma/IPrismaModel.js +2 -0
  409. package/lib/adapters/prisma/IPrismaOwnedUnit.d.ts +37 -0
  410. package/lib/adapters/prisma/IPrismaOwnedUnit.js +2 -0
  411. package/lib/adapters/prisma/IPrismaParser.d.ts +28 -0
  412. package/lib/adapters/prisma/IPrismaParser.js +2 -0
  413. package/lib/adapters/prisma/IPrismaPendingComment.d.ts +52 -0
  414. package/lib/adapters/prisma/IPrismaPendingComment.js +2 -0
  415. package/lib/adapters/prisma/IPrismaSchemaFile.d.ts +22 -0
  416. package/lib/adapters/prisma/IPrismaSchemaFile.js +2 -0
  417. package/lib/adapters/prisma/ITrimmedMapping.d.ts +23 -0
  418. package/lib/adapters/prisma/ITrimmedMapping.js +2 -0
  419. package/lib/adapters/prisma/PrismaCommentForm.d.ts +7 -0
  420. package/lib/adapters/prisma/PrismaCommentForm.js +2 -0
  421. package/lib/adapters/prisma/PrismaFileScanner.d.ts +70 -0
  422. package/lib/adapters/prisma/PrismaFileScanner.js +361 -0
  423. package/lib/adapters/prisma/PrismaModelLoader.d.ts +12 -0
  424. package/lib/adapters/prisma/PrismaModelLoader.js +268 -0
  425. package/lib/adapters/prisma/PrismaSyntax.d.ts +9 -0
  426. package/lib/adapters/prisma/PrismaSyntax.js +27 -0
  427. package/lib/adapters/prisma/PrismaTarget.d.ts +10 -0
  428. package/lib/adapters/prisma/PrismaTarget.js +23 -0
  429. package/lib/adapters/python/EvidencePythonAdapter.d.ts +15 -0
  430. package/lib/adapters/python/EvidencePythonAdapter.js +19 -0
  431. package/lib/adapters/python/IPythonAll.d.ts +24 -0
  432. package/lib/adapters/python/IPythonAll.js +2 -0
  433. package/lib/adapters/python/IPythonBinding.d.ts +52 -0
  434. package/lib/adapters/python/IPythonBinding.js +2 -0
  435. package/lib/adapters/python/IPythonClassContext.d.ts +36 -0
  436. package/lib/adapters/python/IPythonClassContext.js +2 -0
  437. package/lib/adapters/python/IPythonDocumentation.d.ts +47 -0
  438. package/lib/adapters/python/IPythonDocumentation.js +2 -0
  439. package/lib/adapters/python/IPythonDocumentationAttachment.d.ts +31 -0
  440. package/lib/adapters/python/IPythonDocumentationAttachment.js +2 -0
  441. package/lib/adapters/python/IPythonFileAnalysis.d.ts +63 -0
  442. package/lib/adapters/python/IPythonFileAnalysis.js +2 -0
  443. package/lib/adapters/python/IPythonHostPosition.d.ts +33 -0
  444. package/lib/adapters/python/IPythonHostPosition.js +2 -0
  445. package/lib/adapters/python/IPythonModule.d.ts +42 -0
  446. package/lib/adapters/python/IPythonModule.js +2 -0
  447. package/lib/adapters/python/IPythonOwnedUnit.d.ts +30 -0
  448. package/lib/adapters/python/IPythonOwnedUnit.js +2 -0
  449. package/lib/adapters/python/IPythonResolution.d.ts +21 -0
  450. package/lib/adapters/python/IPythonResolution.js +2 -0
  451. package/lib/adapters/python/IPythonResolvedBinding.d.ts +20 -0
  452. package/lib/adapters/python/IPythonResolvedBinding.js +2 -0
  453. package/lib/adapters/python/PythonAdapter.d.ts +43 -0
  454. package/lib/adapters/python/PythonAdapter.js +488 -0
  455. package/lib/adapters/python/PythonAllState.d.ts +7 -0
  456. package/lib/adapters/python/PythonAllState.js +2 -0
  457. package/lib/adapters/python/PythonBindingKind.d.ts +7 -0
  458. package/lib/adapters/python/PythonBindingKind.js +2 -0
  459. package/lib/adapters/python/PythonExportResolver.d.ts +146 -0
  460. package/lib/adapters/python/PythonExportResolver.js +408 -0
  461. package/lib/adapters/python/PythonFileScanner.d.ts +367 -0
  462. package/lib/adapters/python/PythonFileScanner.js +1019 -0
  463. package/lib/adapters/python/PythonResolutionMode.d.ts +7 -0
  464. package/lib/adapters/python/PythonResolutionMode.js +2 -0
  465. package/lib/adapters/python/PythonSyntax.d.ts +115 -0
  466. package/lib/adapters/python/PythonSyntax.js +298 -0
  467. package/lib/adapters/ruby/EvidenceRubyAdapter.d.ts +15 -0
  468. package/lib/adapters/ruby/EvidenceRubyAdapter.js +19 -0
  469. package/lib/adapters/ruby/IRubyConstantPath.d.ts +20 -0
  470. package/lib/adapters/ruby/IRubyConstantPath.js +2 -0
  471. package/lib/adapters/ruby/IRubyDeclaration.d.ts +105 -0
  472. package/lib/adapters/ruby/IRubyDeclaration.js +2 -0
  473. package/lib/adapters/ruby/IRubyDocumentation.d.ts +42 -0
  474. package/lib/adapters/ruby/IRubyDocumentation.js +2 -0
  475. package/lib/adapters/ruby/IRubyDocumentationAttachment.d.ts +20 -0
  476. package/lib/adapters/ruby/IRubyDocumentationAttachment.js +2 -0
  477. package/lib/adapters/ruby/IRubyFileAnalysis.d.ts +42 -0
  478. package/lib/adapters/ruby/IRubyFileAnalysis.js +2 -0
  479. package/lib/adapters/ruby/IRubyScopeContext.d.ts +48 -0
  480. package/lib/adapters/ruby/IRubyScopeContext.js +2 -0
  481. package/lib/adapters/ruby/RubyAdapter.d.ts +50 -0
  482. package/lib/adapters/ruby/RubyAdapter.js +724 -0
  483. package/lib/adapters/ruby/RubyAttributeMode.d.ts +7 -0
  484. package/lib/adapters/ruby/RubyAttributeMode.js +2 -0
  485. package/lib/adapters/ruby/RubyContainerKind.d.ts +7 -0
  486. package/lib/adapters/ruby/RubyContainerKind.js +2 -0
  487. package/lib/adapters/ruby/RubyDeclarationForm.d.ts +7 -0
  488. package/lib/adapters/ruby/RubyDeclarationForm.js +2 -0
  489. package/lib/adapters/ruby/RubyFileScanner.d.ts +332 -0
  490. package/lib/adapters/ruby/RubyFileScanner.js +990 -0
  491. package/lib/adapters/ruby/RubyMethodSide.d.ts +7 -0
  492. package/lib/adapters/ruby/RubyMethodSide.js +2 -0
  493. package/lib/adapters/ruby/RubyScopeKind.d.ts +7 -0
  494. package/lib/adapters/ruby/RubyScopeKind.js +2 -0
  495. package/lib/adapters/ruby/RubySyntax.d.ts +81 -0
  496. package/lib/adapters/ruby/RubySyntax.js +202 -0
  497. package/lib/adapters/ruby/RubyVisibility.d.ts +7 -0
  498. package/lib/adapters/ruby/RubyVisibility.js +2 -0
  499. package/lib/adapters/rust/EvidenceRustAdapter.d.ts +15 -0
  500. package/lib/adapters/rust/EvidenceRustAdapter.js +19 -0
  501. package/lib/adapters/rust/IRustDeclaration.d.ts +72 -0
  502. package/lib/adapters/rust/IRustDeclaration.js +2 -0
  503. package/lib/adapters/rust/IRustDocumentation.d.ts +41 -0
  504. package/lib/adapters/rust/IRustDocumentation.js +2 -0
  505. package/lib/adapters/rust/IRustDocumentationAttachment.d.ts +20 -0
  506. package/lib/adapters/rust/IRustDocumentationAttachment.js +2 -0
  507. package/lib/adapters/rust/IRustExportRecord.d.ts +28 -0
  508. package/lib/adapters/rust/IRustExportRecord.js +2 -0
  509. package/lib/adapters/rust/IRustExternalModule.d.ts +32 -0
  510. package/lib/adapters/rust/IRustExternalModule.js +2 -0
  511. package/lib/adapters/rust/IRustFileAnalysis.d.ts +66 -0
  512. package/lib/adapters/rust/IRustFileAnalysis.js +2 -0
  513. package/lib/adapters/rust/IRustFilePlacement.d.ts +35 -0
  514. package/lib/adapters/rust/IRustFilePlacement.js +2 -0
  515. package/lib/adapters/rust/IRustImplementation.d.ts +38 -0
  516. package/lib/adapters/rust/IRustImplementation.js +2 -0
  517. package/lib/adapters/rust/IRustLocatedDeclaration.d.ts +35 -0
  518. package/lib/adapters/rust/IRustLocatedDeclaration.js +2 -0
  519. package/lib/adapters/rust/IRustModuleRecord.d.ts +62 -0
  520. package/lib/adapters/rust/IRustModuleRecord.js +2 -0
  521. package/lib/adapters/rust/IRustPublicOccurrence.d.ts +35 -0
  522. package/lib/adapters/rust/IRustPublicOccurrence.js +2 -0
  523. package/lib/adapters/rust/IRustResolvedMember.d.ts +34 -0
  524. package/lib/adapters/rust/IRustResolvedMember.js +2 -0
  525. package/lib/adapters/rust/IRustUse.d.ts +33 -0
  526. package/lib/adapters/rust/IRustUse.js +2 -0
  527. package/lib/adapters/rust/IRustUseBinding.d.ts +26 -0
  528. package/lib/adapters/rust/IRustUseBinding.js +2 -0
  529. package/lib/adapters/rust/RustAdapter.d.ts +43 -0
  530. package/lib/adapters/rust/RustAdapter.js +503 -0
  531. package/lib/adapters/rust/RustDeclarationForm.d.ts +7 -0
  532. package/lib/adapters/rust/RustDeclarationForm.js +2 -0
  533. package/lib/adapters/rust/RustFileScanner.d.ts +61 -0
  534. package/lib/adapters/rust/RustFileScanner.js +550 -0
  535. package/lib/adapters/rust/RustModuleResolver.d.ts +70 -0
  536. package/lib/adapters/rust/RustModuleResolver.js +716 -0
  537. package/lib/adapters/rust/RustSyntax.d.ts +93 -0
  538. package/lib/adapters/rust/RustSyntax.js +244 -0
  539. package/lib/adapters/rust/RustVisibility.d.ts +7 -0
  540. package/lib/adapters/rust/RustVisibility.js +2 -0
  541. package/lib/adapters/scala/EvidenceScalaAdapter.d.ts +15 -0
  542. package/lib/adapters/scala/EvidenceScalaAdapter.js +19 -0
  543. package/lib/adapters/scala/IScalaDeclaration.d.ts +78 -0
  544. package/lib/adapters/scala/IScalaDeclaration.js +2 -0
  545. package/lib/adapters/scala/IScalaDocumentation.d.ts +35 -0
  546. package/lib/adapters/scala/IScalaDocumentation.js +2 -0
  547. package/lib/adapters/scala/IScalaDocumentationAttachment.d.ts +22 -0
  548. package/lib/adapters/scala/IScalaDocumentationAttachment.js +2 -0
  549. package/lib/adapters/scala/IScalaExport.d.ts +29 -0
  550. package/lib/adapters/scala/IScalaExport.js +2 -0
  551. package/lib/adapters/scala/IScalaFileAnalysis.d.ts +50 -0
  552. package/lib/adapters/scala/IScalaFileAnalysis.js +2 -0
  553. package/lib/adapters/scala/ScalaAdapter.d.ts +100 -0
  554. package/lib/adapters/scala/ScalaAdapter.js +638 -0
  555. package/lib/adapters/scala/ScalaDocumentation.d.ts +16 -0
  556. package/lib/adapters/scala/ScalaDocumentation.js +77 -0
  557. package/lib/adapters/scala/ScalaExports.d.ts +16 -0
  558. package/lib/adapters/scala/ScalaExports.js +136 -0
  559. package/lib/adapters/scala/ScalaFileScanner.d.ts +111 -0
  560. package/lib/adapters/scala/ScalaFileScanner.js +434 -0
  561. package/lib/adapters/sql/EvidenceSqlAdapter.d.ts +13 -0
  562. package/lib/adapters/sql/EvidenceSqlAdapter.js +28 -0
  563. package/lib/adapters/sql/ISqlAdapterOptions.d.ts +33 -0
  564. package/lib/adapters/sql/ISqlAdapterOptions.js +2 -0
  565. package/lib/adapters/sql/ISqlDeclaration.d.ts +67 -0
  566. package/lib/adapters/sql/ISqlDeclaration.js +2 -0
  567. package/lib/adapters/sql/ISqlDocumentation.d.ts +40 -0
  568. package/lib/adapters/sql/ISqlDocumentation.js +2 -0
  569. package/lib/adapters/sql/ISqlDocumentationAttachment.d.ts +18 -0
  570. package/lib/adapters/sql/ISqlDocumentationAttachment.js +2 -0
  571. package/lib/adapters/sql/ISqlFileAnalysis.d.ts +41 -0
  572. package/lib/adapters/sql/ISqlFileAnalysis.js +2 -0
  573. package/lib/adapters/sql/ISqlPolicy.d.ts +43 -0
  574. package/lib/adapters/sql/ISqlPolicy.js +2 -0
  575. package/lib/adapters/sql/SqlAdapter.d.ts +123 -0
  576. package/lib/adapters/sql/SqlAdapter.js +658 -0
  577. package/lib/adapters/sql/SqlDocumentation.d.ts +16 -0
  578. package/lib/adapters/sql/SqlDocumentation.js +91 -0
  579. package/lib/adapters/sql/SqlFileScanner.d.ts +86 -0
  580. package/lib/adapters/sql/SqlFileScanner.js +299 -0
  581. package/lib/adapters/sql/SqlPolicy.d.ts +20 -0
  582. package/lib/adapters/sql/SqlPolicy.js +111 -0
  583. package/lib/adapters/sqlite/EvidenceSqliteAdapter.d.ts +16 -0
  584. package/lib/adapters/sqlite/EvidenceSqliteAdapter.js +26 -0
  585. package/lib/adapters/sqlite/SqliteFileScanner.d.ts +83 -0
  586. package/lib/adapters/sqlite/SqliteFileScanner.js +285 -0
  587. package/lib/adapters/sqlite/SqliteSyntax.d.ts +26 -0
  588. package/lib/adapters/sqlite/SqliteSyntax.js +49 -0
  589. package/lib/adapters/swagger/EvidenceSwaggerAdapter.d.ts +55 -0
  590. package/lib/adapters/swagger/EvidenceSwaggerAdapter.js +489 -0
  591. package/lib/adapters/swagger/IRemoteSwaggerSource.d.ts +19 -0
  592. package/lib/adapters/swagger/IRemoteSwaggerSource.js +2 -0
  593. package/lib/adapters/swagger/ISwaggerCacheEntry.d.ts +18 -0
  594. package/lib/adapters/swagger/ISwaggerCacheEntry.js +2 -0
  595. package/lib/adapters/swagger/ISwaggerLoadResult.d.ts +13 -0
  596. package/lib/adapters/swagger/ISwaggerLoadResult.js +2 -0
  597. package/lib/adapters/swagger/ISwaggerOperation.d.ts +42 -0
  598. package/lib/adapters/swagger/ISwaggerOperation.js +2 -0
  599. package/lib/adapters/swagger/ISwaggerOperationLocation.d.ts +21 -0
  600. package/lib/adapters/swagger/ISwaggerOperationLocation.js +2 -0
  601. package/lib/adapters/swagger/IYamlScalarMapping.d.ts +36 -0
  602. package/lib/adapters/swagger/IYamlScalarMapping.js +2 -0
  603. package/lib/adapters/swagger/SwaggerDescription.d.ts +18 -0
  604. package/lib/adapters/swagger/SwaggerDescription.js +62 -0
  605. package/lib/adapters/swagger/SwaggerDocumentInput.d.ts +8 -0
  606. package/lib/adapters/swagger/SwaggerDocumentInput.js +2 -0
  607. package/lib/adapters/swagger/SwaggerDocumentLoader.d.ts +15 -0
  608. package/lib/adapters/swagger/SwaggerDocumentLoader.js +6962 -0
  609. package/lib/adapters/swagger/SwaggerRemoteReader.d.ts +26 -0
  610. package/lib/adapters/swagger/SwaggerRemoteReader.js +89 -0
  611. package/lib/adapters/swagger/SwaggerTarget.d.ts +14 -0
  612. package/lib/adapters/swagger/SwaggerTarget.js +29 -0
  613. package/lib/adapters/swagger/YamlScalarMapper.d.ts +11 -0
  614. package/lib/adapters/swagger/YamlScalarMapper.js +76 -0
  615. package/lib/adapters/swift/EvidenceSwiftAdapter.d.ts +15 -0
  616. package/lib/adapters/swift/EvidenceSwiftAdapter.js +19 -0
  617. package/lib/adapters/swift/ISwiftDeclaration.d.ts +91 -0
  618. package/lib/adapters/swift/ISwiftDeclaration.js +2 -0
  619. package/lib/adapters/swift/ISwiftDocumentation.d.ts +35 -0
  620. package/lib/adapters/swift/ISwiftDocumentation.js +2 -0
  621. package/lib/adapters/swift/ISwiftDocumentationAttachment.d.ts +22 -0
  622. package/lib/adapters/swift/ISwiftDocumentationAttachment.js +2 -0
  623. package/lib/adapters/swift/ISwiftFileAnalysis.d.ts +43 -0
  624. package/lib/adapters/swift/ISwiftFileAnalysis.js +2 -0
  625. package/lib/adapters/swift/SwiftAdapter.d.ts +108 -0
  626. package/lib/adapters/swift/SwiftAdapter.js +666 -0
  627. package/lib/adapters/swift/SwiftDocumentation.d.ts +16 -0
  628. package/lib/adapters/swift/SwiftDocumentation.js +75 -0
  629. package/lib/adapters/swift/SwiftFileScanner.d.ts +87 -0
  630. package/lib/adapters/swift/SwiftFileScanner.js +341 -0
  631. package/lib/adapters/swift/SwiftOwnership.d.ts +16 -0
  632. package/lib/adapters/swift/SwiftOwnership.js +141 -0
  633. package/lib/adapters/typescript/EvidenceTypeScriptAdapter.d.ts +29 -0
  634. package/lib/adapters/typescript/EvidenceTypeScriptAdapter.js +35 -0
  635. package/lib/adapters/zig/EvidenceZigAdapter.d.ts +16 -0
  636. package/lib/adapters/zig/EvidenceZigAdapter.js +20 -0
  637. package/lib/adapters/zig/IZigDeclaration.d.ts +73 -0
  638. package/lib/adapters/zig/IZigDeclaration.js +2 -0
  639. package/lib/adapters/zig/IZigDocumentation.d.ts +35 -0
  640. package/lib/adapters/zig/IZigDocumentation.js +2 -0
  641. package/lib/adapters/zig/IZigDocumentationAttachment.d.ts +21 -0
  642. package/lib/adapters/zig/IZigDocumentationAttachment.js +2 -0
  643. package/lib/adapters/zig/IZigFileAnalysis.d.ts +47 -0
  644. package/lib/adapters/zig/IZigFileAnalysis.js +2 -0
  645. package/lib/adapters/zig/ZigAdapter.d.ts +114 -0
  646. package/lib/adapters/zig/ZigAdapter.js +647 -0
  647. package/lib/adapters/zig/ZigDocumentation.d.ts +18 -0
  648. package/lib/adapters/zig/ZigDocumentation.js +80 -0
  649. package/lib/adapters/zig/ZigFileScanner.d.ts +125 -0
  650. package/lib/adapters/zig/ZigFileScanner.js +538 -0
  651. package/lib/commands/EvidenceCommand.d.ts +70 -0
  652. package/lib/commands/EvidenceCommand.js +722 -0
  653. package/lib/commands/EvidenceCommandError.d.ts +16 -0
  654. package/lib/commands/EvidenceCommandError.js +23 -0
  655. package/lib/commands/EvidenceWatcher.d.ts +134 -0
  656. package/lib/commands/EvidenceWatcher.js +500 -0
  657. package/lib/contexts/EvidenceQueryPopulationContext.d.ts +102 -0
  658. package/lib/contexts/EvidenceQueryPopulationContext.js +166 -0
  659. package/lib/contexts/IEvidenceCheckContext.d.ts +26 -0
  660. package/lib/contexts/IEvidenceCheckContext.js +2 -0
  661. package/lib/contexts/IEvidenceClaimContext.d.ts +48 -0
  662. package/lib/contexts/IEvidenceClaimContext.js +2 -0
  663. package/lib/contexts/IEvidenceGraphClaimContext.d.ts +40 -0
  664. package/lib/contexts/IEvidenceGraphClaimContext.js +2 -0
  665. package/lib/contexts/IEvidenceGraphReferenceContext.d.ts +65 -0
  666. package/lib/contexts/IEvidenceGraphReferenceContext.js +2 -0
  667. package/lib/contexts/IEvidenceQueryContext.d.ts +32 -0
  668. package/lib/contexts/IEvidenceQueryContext.js +2 -0
  669. package/lib/contexts/IEvidenceTagContext.d.ts +64 -0
  670. package/lib/contexts/IEvidenceTagContext.js +2 -0
  671. package/lib/executable/evidence.d.ts +2 -0
  672. package/lib/executable/evidence.js +14 -0
  673. package/lib/graph/EvidenceFingerprint.d.ts +27 -0
  674. package/lib/graph/EvidenceFingerprint.js +37 -0
  675. package/lib/graph/EvidenceGraph.d.ts +56 -0
  676. package/lib/graph/EvidenceGraph.js +1944 -0
  677. package/lib/graph/EvidenceInventory.d.ts +146 -0
  678. package/lib/graph/EvidenceInventory.js +1165 -0
  679. package/lib/graph/EvidenceQuery.d.ts +86 -0
  680. package/lib/graph/EvidenceQuery.js +109 -0
  681. package/lib/index.d.ts +110 -0
  682. package/lib/index.js +154 -0
  683. package/lib/internal/CanonicalJson.d.ts +20 -0
  684. package/lib/internal/CanonicalJson.js +67 -0
  685. package/lib/internal/ConfigDependencyScanner.d.ts +40 -0
  686. package/lib/internal/ConfigDependencyScanner.js +330 -0
  687. package/lib/internal/EvidenceAdapterFactory.d.ts +15 -0
  688. package/lib/internal/EvidenceAdapterFactory.js +104 -0
  689. package/lib/internal/EvidenceArtifactTypes.d.ts +20 -0
  690. package/lib/internal/EvidenceArtifactTypes.js +41 -0
  691. package/lib/internal/EvidenceConfigFormat.d.ts +11 -0
  692. package/lib/internal/EvidenceConfigFormat.js +24 -0
  693. package/lib/internal/EvidenceFingerprintIndex.d.ts +49 -0
  694. package/lib/internal/EvidenceFingerprintIndex.js +201 -0
  695. package/lib/internal/EvidenceTargetApplicability.d.ts +16 -0
  696. package/lib/internal/EvidenceTargetApplicability.js +144 -0
  697. package/lib/internal/EvidenceTargetBody.d.ts +21 -0
  698. package/lib/internal/EvidenceTargetBody.js +66 -0
  699. package/lib/internal/FileGlob.d.ts +24 -0
  700. package/lib/internal/FileGlob.js +148 -0
  701. package/lib/internal/IConfigDependencyScan.d.ts +25 -0
  702. package/lib/internal/IConfigDependencyScan.js +2 -0
  703. package/lib/internal/IConfigPackageScope.d.ts +16 -0
  704. package/lib/internal/IConfigPackageScope.js +2 -0
  705. package/lib/internal/IEvaluateTypeScriptConfigOptions.d.ts +16 -0
  706. package/lib/internal/IEvaluateTypeScriptConfigOptions.js +2 -0
  707. package/lib/internal/IEvidenceMaterializedClaim.d.ts +47 -0
  708. package/lib/internal/IEvidenceMaterializedClaim.js +2 -0
  709. package/lib/internal/IEvidenceMaterializedReference.d.ts +31 -0
  710. package/lib/internal/IEvidenceMaterializedReference.js +2 -0
  711. package/lib/internal/IEvidenceQueryPopulation.d.ts +43 -0
  712. package/lib/internal/IEvidenceQueryPopulation.js +2 -0
  713. package/lib/internal/IEvidenceResolvedAcknowledgement.d.ts +30 -0
  714. package/lib/internal/IEvidenceResolvedAcknowledgement.js +2 -0
  715. package/lib/internal/IEvidenceResolvedReview.d.ts +30 -0
  716. package/lib/internal/IEvidenceResolvedReview.js +2 -0
  717. package/lib/internal/IEvidenceTargetBody.d.ts +22 -0
  718. package/lib/internal/IEvidenceTargetBody.js +2 -0
  719. package/lib/internal/IEvidenceTargetCandidate.d.ts +23 -0
  720. package/lib/internal/IEvidenceTargetCandidate.js +2 -0
  721. package/lib/internal/IEvidenceUnhostedChecklist.d.ts +38 -0
  722. package/lib/internal/IEvidenceUnhostedChecklist.js +2 -0
  723. package/lib/internal/IEvidenceWatchAttempt.d.ts +39 -0
  724. package/lib/internal/IEvidenceWatchAttempt.js +2 -0
  725. package/lib/internal/IFileGlobPattern.d.ts +22 -0
  726. package/lib/internal/IFileGlobPattern.js +2 -0
  727. package/lib/internal/IPackageManifest.d.ts +16 -0
  728. package/lib/internal/IPackageManifest.js +2 -0
  729. package/lib/internal/IPendingEvidenceTag.d.ts +36 -0
  730. package/lib/internal/IPendingEvidenceTag.js +2 -0
  731. package/lib/internal/ITreeSitterAssetLock.d.ts +23 -0
  732. package/lib/internal/ITreeSitterAssetLock.js +2 -0
  733. package/lib/internal/ITreeSitterAssetOptions.d.ts +51 -0
  734. package/lib/internal/ITreeSitterAssetOptions.js +2 -0
  735. package/lib/internal/ITreeSitterAssetPending.d.ts +29 -0
  736. package/lib/internal/ITreeSitterAssetPending.js +2 -0
  737. package/lib/internal/ITtsxExecutables.d.ts +16 -0
  738. package/lib/internal/ITtsxExecutables.js +2 -0
  739. package/lib/internal/ITtsxManifest.d.ts +17 -0
  740. package/lib/internal/ITtsxManifest.js +2 -0
  741. package/lib/internal/InventoryMerge.d.ts +53 -0
  742. package/lib/internal/InventoryMerge.js +317 -0
  743. package/lib/internal/InventorySources.d.ts +16 -0
  744. package/lib/internal/InventorySources.js +77 -0
  745. package/lib/internal/ParserSlots.d.ts +79 -0
  746. package/lib/internal/ParserSlots.js +113 -0
  747. package/lib/internal/SourceCollector.d.ts +62 -0
  748. package/lib/internal/SourceCollector.js +301 -0
  749. package/lib/internal/SourceFailure.d.ts +17 -0
  750. package/lib/internal/SourceFailure.js +23 -0
  751. package/lib/internal/SourcePath.d.ts +43 -0
  752. package/lib/internal/SourcePath.js +93 -0
  753. package/lib/internal/SourceText.d.ts +40 -0
  754. package/lib/internal/SourceText.js +81 -0
  755. package/lib/internal/TreeSitterAssetCache.d.ts +35 -0
  756. package/lib/internal/TreeSitterAssetCache.js +456 -0
  757. package/lib/internal/TreeSitterAssetScope.d.ts +23 -0
  758. package/lib/internal/TreeSitterAssetScope.js +40 -0
  759. package/lib/internal/TreeSitterAssets.d.ts +67 -0
  760. package/lib/internal/TreeSitterAssets.js +367 -0
  761. package/lib/internal/TreeSitterRange.d.ts +17 -0
  762. package/lib/internal/TreeSitterRange.js +33 -0
  763. package/lib/internal/TreeSitterRuntime.d.ts +17 -0
  764. package/lib/internal/TreeSitterRuntime.js +57 -0
  765. package/lib/internal/WatchDependencySet.d.ts +31 -0
  766. package/lib/internal/WatchDependencySet.js +59 -0
  767. package/lib/internal/WatchDependencySnapshot.d.ts +38 -0
  768. package/lib/internal/WatchDependencySnapshot.js +191 -0
  769. package/lib/internal/createEvidenceConfigPlan.d.ts +10 -0
  770. package/lib/internal/createEvidenceConfigPlan.js +90 -0
  771. package/lib/internal/evaluateTypeScriptConfig.d.ts +9 -0
  772. package/lib/internal/evaluateTypeScriptConfig.js +341 -0
  773. package/lib/internal/parser-grammars.json +452 -0
  774. package/lib/internal/validateEvidenceConfig.d.ts +8 -0
  775. package/lib/internal/validateEvidenceConfig.js +154 -0
  776. package/lib/loaders/EvidenceConfigLoader.d.ts +36 -0
  777. package/lib/loaders/EvidenceConfigLoader.js +557 -0
  778. package/lib/loaders/EvidenceSourceLoader.d.ts +35 -0
  779. package/lib/loaders/EvidenceSourceLoader.js +50 -0
  780. package/lib/parsers/EvidenceDocumentation.d.ts +20 -0
  781. package/lib/parsers/EvidenceDocumentation.js +77 -0
  782. package/lib/parsers/EvidenceLanguageRegistry.d.ts +49 -0
  783. package/lib/parsers/EvidenceLanguageRegistry.js +652 -0
  784. package/lib/parsers/EvidenceParseSession.d.ts +141 -0
  785. package/lib/parsers/EvidenceParseSession.js +193 -0
  786. package/lib/parsers/EvidenceParser.d.ts +109 -0
  787. package/lib/parsers/EvidenceParser.js +307 -0
  788. package/lib/parsers/EvidenceParserError.d.ts +71 -0
  789. package/lib/parsers/EvidenceParserError.js +63 -0
  790. package/lib/parsers/EvidenceTagParser.d.ts +56 -0
  791. package/lib/parsers/EvidenceTagParser.js +81 -0
  792. package/lib/programmers/EvidenceCheckProgrammer.d.ts +36 -0
  793. package/lib/programmers/EvidenceCheckProgrammer.js +446 -0
  794. package/lib/programmers/EvidenceQueryProgrammer.d.ts +69 -0
  795. package/lib/programmers/EvidenceQueryProgrammer.js +970 -0
  796. package/lib/programmers/EvidenceTagProgrammer.d.ts +25 -0
  797. package/lib/programmers/EvidenceTagProgrammer.js +252 -0
  798. package/lib/reporters/EvidenceGraphReporter.d.ts +39 -0
  799. package/lib/reporters/EvidenceGraphReporter.js +193 -0
  800. package/lib/reporters/EvidenceQueryReporter.d.ts +33 -0
  801. package/lib/reporters/EvidenceQueryReporter.js +181 -0
  802. package/lib/reporters/EvidenceReporter.d.ts +33 -0
  803. package/lib/reporters/EvidenceReporter.js +117 -0
  804. package/lib/reporters/EvidenceWatchReporter.d.ts +31 -0
  805. package/lib/reporters/EvidenceWatchReporter.js +46 -0
  806. package/lib/structures/IEvidenceAdapter.d.ts +39 -0
  807. package/lib/structures/IEvidenceAdapter.js +2 -0
  808. package/lib/structures/IEvidenceAddress.d.ts +29 -0
  809. package/lib/structures/IEvidenceAddress.js +2 -0
  810. package/lib/structures/IEvidenceCheckAnalysis.d.ts +37 -0
  811. package/lib/structures/IEvidenceCheckAnalysis.js +2 -0
  812. package/lib/structures/IEvidenceCheckClaim.d.ts +48 -0
  813. package/lib/structures/IEvidenceCheckClaim.js +2 -0
  814. package/lib/structures/IEvidenceCheckCommand.d.ts +47 -0
  815. package/lib/structures/IEvidenceCheckCommand.js +2 -0
  816. package/lib/structures/IEvidenceCheckCounts.d.ts +70 -0
  817. package/lib/structures/IEvidenceCheckCounts.js +2 -0
  818. package/lib/structures/IEvidenceCheckObligation.d.ts +67 -0
  819. package/lib/structures/IEvidenceCheckObligation.js +2 -0
  820. package/lib/structures/IEvidenceCheckReport.d.ts +74 -0
  821. package/lib/structures/IEvidenceCheckReport.js +2 -0
  822. package/lib/structures/IEvidenceClaim.d.ts +12 -0
  823. package/lib/structures/IEvidenceClaim.js +2 -0
  824. package/lib/structures/IEvidenceClaimBase.d.ts +111 -0
  825. package/lib/structures/IEvidenceClaimBase.js +2 -0
  826. package/lib/structures/IEvidenceCommand.d.ts +16 -0
  827. package/lib/structures/IEvidenceCommand.js +2 -0
  828. package/lib/structures/IEvidenceCommandFailure.d.ts +58 -0
  829. package/lib/structures/IEvidenceCommandFailure.js +2 -0
  830. package/lib/structures/IEvidenceCommandResult.d.ts +31 -0
  831. package/lib/structures/IEvidenceCommandResult.js +2 -0
  832. package/lib/structures/IEvidenceCommentSyntax.d.ts +42 -0
  833. package/lib/structures/IEvidenceCommentSyntax.js +2 -0
  834. package/lib/structures/IEvidenceConfig.d.ts +42 -0
  835. package/lib/structures/IEvidenceConfig.js +2 -0
  836. package/lib/structures/IEvidenceConfigPlan.d.ts +29 -0
  837. package/lib/structures/IEvidenceConfigPlan.js +2 -0
  838. package/lib/structures/IEvidenceConfigPlanClaim.d.ts +49 -0
  839. package/lib/structures/IEvidenceConfigPlanClaim.js +2 -0
  840. package/lib/structures/IEvidenceConfigPlanReference.d.ts +40 -0
  841. package/lib/structures/IEvidenceConfigPlanReference.js +2 -0
  842. package/lib/structures/IEvidenceDatabaseClaim.d.ts +26 -0
  843. package/lib/structures/IEvidenceDatabaseClaim.js +2 -0
  844. package/lib/structures/IEvidenceDatabaseLanguage.d.ts +37 -0
  845. package/lib/structures/IEvidenceDatabaseLanguage.js +2 -0
  846. package/lib/structures/IEvidenceDatabaseLanguageAdapter.d.ts +48 -0
  847. package/lib/structures/IEvidenceDatabaseLanguageAdapter.js +2 -0
  848. package/lib/structures/IEvidenceDatabaseReference.d.ts +20 -0
  849. package/lib/structures/IEvidenceDatabaseReference.js +2 -0
  850. package/lib/structures/IEvidenceDeclaration.d.ts +37 -0
  851. package/lib/structures/IEvidenceDeclaration.js +2 -0
  852. package/lib/structures/IEvidenceDiagnostic.d.ts +66 -0
  853. package/lib/structures/IEvidenceDiagnostic.js +2 -0
  854. package/lib/structures/IEvidenceDocumentation.d.ts +51 -0
  855. package/lib/structures/IEvidenceDocumentation.js +2 -0
  856. package/lib/structures/IEvidenceDocumentedConfig.d.ts +20 -0
  857. package/lib/structures/IEvidenceDocumentedConfig.js +2 -0
  858. package/lib/structures/IEvidenceFingerprint.d.ts +49 -0
  859. package/lib/structures/IEvidenceFingerprint.js +2 -0
  860. package/lib/structures/IEvidenceGrammar.d.ts +47 -0
  861. package/lib/structures/IEvidenceGrammar.js +2 -0
  862. package/lib/structures/IEvidenceGrammarAsset.d.ts +37 -0
  863. package/lib/structures/IEvidenceGrammarAsset.js +2 -0
  864. package/lib/structures/IEvidenceGraphBoundary.d.ts +73 -0
  865. package/lib/structures/IEvidenceGraphBoundary.js +2 -0
  866. package/lib/structures/IEvidenceGraphClaim.d.ts +65 -0
  867. package/lib/structures/IEvidenceGraphClaim.js +2 -0
  868. package/lib/structures/IEvidenceGraphClaimResult.d.ts +36 -0
  869. package/lib/structures/IEvidenceGraphClaimResult.js +2 -0
  870. package/lib/structures/IEvidenceGraphCommand.d.ts +40 -0
  871. package/lib/structures/IEvidenceGraphCommand.js +2 -0
  872. package/lib/structures/IEvidenceGraphEdge.d.ts +56 -0
  873. package/lib/structures/IEvidenceGraphEdge.js +2 -0
  874. package/lib/structures/IEvidenceGraphExportEdge.d.ts +71 -0
  875. package/lib/structures/IEvidenceGraphExportEdge.js +2 -0
  876. package/lib/structures/IEvidenceGraphExportReview.d.ts +55 -0
  877. package/lib/structures/IEvidenceGraphExportReview.js +2 -0
  878. package/lib/structures/IEvidenceGraphHostCoverage.d.ts +36 -0
  879. package/lib/structures/IEvidenceGraphHostCoverage.js +2 -0
  880. package/lib/structures/IEvidenceGraphHostNode.d.ts +46 -0
  881. package/lib/structures/IEvidenceGraphHostNode.js +2 -0
  882. package/lib/structures/IEvidenceGraphInput.d.ts +24 -0
  883. package/lib/structures/IEvidenceGraphInput.js +2 -0
  884. package/lib/structures/IEvidenceGraphNode.d.ts +82 -0
  885. package/lib/structures/IEvidenceGraphNode.js +2 -0
  886. package/lib/structures/IEvidenceGraphObligation.d.ts +79 -0
  887. package/lib/structures/IEvidenceGraphObligation.js +2 -0
  888. package/lib/structures/IEvidenceGraphPolicy.d.ts +53 -0
  889. package/lib/structures/IEvidenceGraphPolicy.js +2 -0
  890. package/lib/structures/IEvidenceGraphReference.d.ts +95 -0
  891. package/lib/structures/IEvidenceGraphReference.js +2 -0
  892. package/lib/structures/IEvidenceGraphReport.d.ts +84 -0
  893. package/lib/structures/IEvidenceGraphReport.js +2 -0
  894. package/lib/structures/IEvidenceGraphResolution.d.ts +22 -0
  895. package/lib/structures/IEvidenceGraphResolution.js +2 -0
  896. package/lib/structures/IEvidenceGraphResult.d.ts +37 -0
  897. package/lib/structures/IEvidenceGraphResult.js +2 -0
  898. package/lib/structures/IEvidenceGraphReviewResolution.d.ts +23 -0
  899. package/lib/structures/IEvidenceGraphReviewResolution.js +2 -0
  900. package/lib/structures/IEvidenceHelpCommand.d.ts +14 -0
  901. package/lib/structures/IEvidenceHelpCommand.js +2 -0
  902. package/lib/structures/IEvidenceHost.d.ts +78 -0
  903. package/lib/structures/IEvidenceHost.js +2 -0
  904. package/lib/structures/IEvidenceInitCommand.d.ts +26 -0
  905. package/lib/structures/IEvidenceInitCommand.js +2 -0
  906. package/lib/structures/IEvidenceInspectCommand.d.ts +46 -0
  907. package/lib/structures/IEvidenceInspectCommand.js +2 -0
  908. package/lib/structures/IEvidenceInspectReport.d.ts +70 -0
  909. package/lib/structures/IEvidenceInspectReport.js +2 -0
  910. package/lib/structures/IEvidenceInspectedAcknowledgement.d.ts +60 -0
  911. package/lib/structures/IEvidenceInspectedAcknowledgement.js +2 -0
  912. package/lib/structures/IEvidenceInspectedObligation.d.ts +61 -0
  913. package/lib/structures/IEvidenceInspectedObligation.js +2 -0
  914. package/lib/structures/IEvidenceInspectedReview.d.ts +48 -0
  915. package/lib/structures/IEvidenceInspectedReview.js +2 -0
  916. package/lib/structures/IEvidenceInspectedUnit.d.ts +36 -0
  917. package/lib/structures/IEvidenceInspectedUnit.js +2 -0
  918. package/lib/structures/IEvidenceInspection.d.ts +73 -0
  919. package/lib/structures/IEvidenceInspection.js +2 -0
  920. package/lib/structures/IEvidenceInventory.d.ts +114 -0
  921. package/lib/structures/IEvidenceInventory.js +2 -0
  922. package/lib/structures/IEvidenceLanguage.d.ts +37 -0
  923. package/lib/structures/IEvidenceLanguage.js +2 -0
  924. package/lib/structures/IEvidenceLanguageAdapter.d.ts +49 -0
  925. package/lib/structures/IEvidenceLanguageAdapter.js +2 -0
  926. package/lib/structures/IEvidenceLanguageCandidate.d.ts +94 -0
  927. package/lib/structures/IEvidenceLanguageCandidate.js +2 -0
  928. package/lib/structures/IEvidenceLanguageGrammar.d.ts +29 -0
  929. package/lib/structures/IEvidenceLanguageGrammar.js +2 -0
  930. package/lib/structures/IEvidenceLanguagesCommand.d.ts +33 -0
  931. package/lib/structures/IEvidenceLanguagesCommand.js +2 -0
  932. package/lib/structures/IEvidenceLanguagesReport.d.ts +36 -0
  933. package/lib/structures/IEvidenceLanguagesReport.js +2 -0
  934. package/lib/structures/IEvidenceListCommand.d.ts +55 -0
  935. package/lib/structures/IEvidenceListCommand.js +2 -0
  936. package/lib/structures/IEvidenceListItem.d.ts +69 -0
  937. package/lib/structures/IEvidenceListItem.js +2 -0
  938. package/lib/structures/IEvidenceListReport.d.ts +82 -0
  939. package/lib/structures/IEvidenceListReport.js +2 -0
  940. package/lib/structures/IEvidenceMarkdownClaim.d.ts +19 -0
  941. package/lib/structures/IEvidenceMarkdownClaim.js +2 -0
  942. package/lib/structures/IEvidenceMarkdownReference.d.ts +48 -0
  943. package/lib/structures/IEvidenceMarkdownReference.js +2 -0
  944. package/lib/structures/IEvidenceParserInput.d.ts +31 -0
  945. package/lib/structures/IEvidenceParserInput.js +2 -0
  946. package/lib/structures/IEvidenceParserOptions.d.ts +19 -0
  947. package/lib/structures/IEvidenceParserOptions.js +2 -0
  948. package/lib/structures/IEvidenceParserState.d.ts +34 -0
  949. package/lib/structures/IEvidenceParserState.js +2 -0
  950. package/lib/structures/IEvidencePopulation.d.ts +63 -0
  951. package/lib/structures/IEvidencePopulation.js +2 -0
  952. package/lib/structures/IEvidenceProgrammingClaim.d.ts +28 -0
  953. package/lib/structures/IEvidenceProgrammingClaim.js +2 -0
  954. package/lib/structures/IEvidenceProgrammingReference.d.ts +20 -0
  955. package/lib/structures/IEvidenceProgrammingReference.js +2 -0
  956. package/lib/structures/IEvidencePublicAddress.d.ts +21 -0
  957. package/lib/structures/IEvidencePublicAddress.js +2 -0
  958. package/lib/structures/IEvidenceQueryScope.d.ts +41 -0
  959. package/lib/structures/IEvidenceQueryScope.js +2 -0
  960. package/lib/structures/IEvidenceReference.d.ts +12 -0
  961. package/lib/structures/IEvidenceReference.js +2 -0
  962. package/lib/structures/IEvidenceReferenceBase.d.ts +107 -0
  963. package/lib/structures/IEvidenceReferenceBase.js +2 -0
  964. package/lib/structures/IEvidenceResolution.d.ts +32 -0
  965. package/lib/structures/IEvidenceResolution.js +2 -0
  966. package/lib/structures/IEvidenceReview.d.ts +50 -0
  967. package/lib/structures/IEvidenceReview.js +2 -0
  968. package/lib/structures/IEvidenceSourceAddress.d.ts +39 -0
  969. package/lib/structures/IEvidenceSourceAddress.js +2 -0
  970. package/lib/structures/IEvidenceSourceDependency.d.ts +24 -0
  971. package/lib/structures/IEvidenceSourceDependency.js +2 -0
  972. package/lib/structures/IEvidenceSourceDiagnostic.d.ts +30 -0
  973. package/lib/structures/IEvidenceSourceDiagnostic.js +2 -0
  974. package/lib/structures/IEvidenceSourceFile.d.ts +50 -0
  975. package/lib/structures/IEvidenceSourceFile.js +2 -0
  976. package/lib/structures/IEvidenceSourceLocation.d.ts +23 -0
  977. package/lib/structures/IEvidenceSourceLocation.js +2 -0
  978. package/lib/structures/IEvidenceSourcePosition.d.ts +36 -0
  979. package/lib/structures/IEvidenceSourcePosition.js +2 -0
  980. package/lib/structures/IEvidenceSourceRange.d.ts +28 -0
  981. package/lib/structures/IEvidenceSourceRange.js +2 -0
  982. package/lib/structures/IEvidenceSourceRoot.d.ts +38 -0
  983. package/lib/structures/IEvidenceSourceRoot.js +2 -0
  984. package/lib/structures/IEvidenceSourceSelection.d.ts +23 -0
  985. package/lib/structures/IEvidenceSourceSelection.js +2 -0
  986. package/lib/structures/IEvidenceSourceSnapshot.d.ts +53 -0
  987. package/lib/structures/IEvidenceSourceSnapshot.js +2 -0
  988. package/lib/structures/IEvidenceSupportedDatabaseLanguage.d.ts +36 -0
  989. package/lib/structures/IEvidenceSupportedDatabaseLanguage.js +2 -0
  990. package/lib/structures/IEvidenceSupportedLanguage.d.ts +36 -0
  991. package/lib/structures/IEvidenceSupportedLanguage.js +2 -0
  992. package/lib/structures/IEvidenceSwaggerClaim.d.ts +17 -0
  993. package/lib/structures/IEvidenceSwaggerClaim.js +2 -0
  994. package/lib/structures/IEvidenceSwaggerReference.d.ts +23 -0
  995. package/lib/structures/IEvidenceSwaggerReference.js +2 -0
  996. package/lib/structures/IEvidenceTagParseResult.d.ts +37 -0
  997. package/lib/structures/IEvidenceTagParseResult.js +2 -0
  998. package/lib/structures/IEvidenceTargetResolution.d.ts +51 -0
  999. package/lib/structures/IEvidenceTargetResolution.js +2 -0
  1000. package/lib/structures/IEvidenceTargetStatement.d.ts +32 -0
  1001. package/lib/structures/IEvidenceTargetStatement.js +2 -0
  1002. package/lib/structures/IEvidenceUnit.d.ts +96 -0
  1003. package/lib/structures/IEvidenceUnit.js +2 -0
  1004. package/lib/structures/IEvidenceUnitSite.d.ts +44 -0
  1005. package/lib/structures/IEvidenceUnitSite.js +2 -0
  1006. package/lib/structures/IEvidenceVersionCommand.d.ts +14 -0
  1007. package/lib/structures/IEvidenceVersionCommand.js +2 -0
  1008. package/lib/structures/IEvidenceWatchCheckCycle.d.ts +60 -0
  1009. package/lib/structures/IEvidenceWatchCheckCycle.js +2 -0
  1010. package/lib/structures/IEvidenceWatchFailureCycle.d.ts +70 -0
  1011. package/lib/structures/IEvidenceWatchFailureCycle.js +2 -0
  1012. package/lib/structures/IEvidenceWatchOptions.d.ts +37 -0
  1013. package/lib/structures/IEvidenceWatchOptions.js +2 -0
  1014. package/lib/structures/IEvidenceWithdrawal.d.ts +24 -0
  1015. package/lib/structures/IEvidenceWithdrawal.js +2 -0
  1016. package/lib/structures/index.d.ts +105 -0
  1017. package/lib/structures/index.js +2 -0
  1018. package/lib/targets/EvidenceAccessor.d.ts +31 -0
  1019. package/lib/targets/EvidenceAccessor.js +165 -0
  1020. package/lib/targets/EvidenceFileTarget.d.ts +41 -0
  1021. package/lib/targets/EvidenceFileTarget.js +122 -0
  1022. package/lib/targets/EvidenceTargetResolver.d.ts +174 -0
  1023. package/lib/targets/EvidenceTargetResolver.js +403 -0
  1024. package/lib/typings/EvidenceAcknowledgementKind.d.ts +7 -0
  1025. package/lib/typings/EvidenceAcknowledgementKind.js +2 -0
  1026. package/lib/typings/EvidenceActiveSeverity.d.ts +7 -0
  1027. package/lib/typings/EvidenceActiveSeverity.js +2 -0
  1028. package/lib/typings/EvidenceArtifactType.d.ts +10 -0
  1029. package/lib/typings/EvidenceArtifactType.js +2 -0
  1030. package/lib/typings/EvidenceCheckStatus.d.ts +8 -0
  1031. package/lib/typings/EvidenceCheckStatus.js +2 -0
  1032. package/lib/typings/EvidenceCommandExitCode.d.ts +8 -0
  1033. package/lib/typings/EvidenceCommandExitCode.js +2 -0
  1034. package/lib/typings/EvidenceDatabaseSymbol.d.ts +24 -0
  1035. package/lib/typings/EvidenceDatabaseSymbol.js +2 -0
  1036. package/lib/typings/EvidenceDatabaseType.d.ts +7 -0
  1037. package/lib/typings/EvidenceDatabaseType.js +2 -0
  1038. package/lib/typings/EvidenceGrammarWasmAvailability.d.ts +7 -0
  1039. package/lib/typings/EvidenceGrammarWasmAvailability.js +2 -0
  1040. package/lib/typings/EvidenceGraphFormat.d.ts +7 -0
  1041. package/lib/typings/EvidenceGraphFormat.js +2 -0
  1042. package/lib/typings/EvidenceGraphNode.d.ts +10 -0
  1043. package/lib/typings/EvidenceGraphNode.js +2 -0
  1044. package/lib/typings/EvidenceLanguageCandidateId.d.ts +7 -0
  1045. package/lib/typings/EvidenceLanguageCandidateId.js +2 -0
  1046. package/lib/typings/EvidenceLanguageCandidateKind.d.ts +7 -0
  1047. package/lib/typings/EvidenceLanguageCandidateKind.js +2 -0
  1048. package/lib/typings/EvidenceMarkdownSymbol.d.ts +22 -0
  1049. package/lib/typings/EvidenceMarkdownSymbol.js +2 -0
  1050. package/lib/typings/EvidenceParserErrorCode.d.ts +8 -0
  1051. package/lib/typings/EvidenceParserErrorCode.js +2 -0
  1052. package/lib/typings/EvidencePopulationRole.d.ts +7 -0
  1053. package/lib/typings/EvidencePopulationRole.js +2 -0
  1054. package/lib/typings/EvidenceProgrammingSymbol.d.ts +58 -0
  1055. package/lib/typings/EvidenceProgrammingSymbol.js +2 -0
  1056. package/lib/typings/EvidenceProgrammingType.d.ts +7 -0
  1057. package/lib/typings/EvidenceProgrammingType.js +2 -0
  1058. package/lib/typings/EvidenceQueryReport.d.ts +10 -0
  1059. package/lib/typings/EvidenceQueryReport.js +2 -0
  1060. package/lib/typings/EvidenceReportFormat.d.ts +7 -0
  1061. package/lib/typings/EvidenceReportFormat.js +2 -0
  1062. package/lib/typings/EvidenceSeverity.d.ts +7 -0
  1063. package/lib/typings/EvidenceSeverity.js +2 -0
  1064. package/lib/typings/EvidenceSymbol.d.ts +11 -0
  1065. package/lib/typings/EvidenceSymbol.js +2 -0
  1066. package/lib/typings/EvidenceTargetResolutionStatus.d.ts +8 -0
  1067. package/lib/typings/EvidenceTargetResolutionStatus.js +2 -0
  1068. package/lib/typings/EvidenceUnitSelection.d.ts +7 -0
  1069. package/lib/typings/EvidenceUnitSelection.js +2 -0
  1070. package/lib/typings/EvidenceWatchCycle.d.ts +9 -0
  1071. package/lib/typings/EvidenceWatchCycle.js +2 -0
  1072. package/lib/typings/EvidenceWatchPublisher.d.ts +8 -0
  1073. package/lib/typings/EvidenceWatchPublisher.js +2 -0
  1074. package/lib/typings/index.d.ts +25 -0
  1075. package/lib/typings/index.js +2 -0
  1076. package/package.json +66 -0
@@ -0,0 +1,946 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.EcmaScriptFileScanner = void 0;
4
+ const EcmaScriptSyntax_1 = require("./EcmaScriptSyntax");
5
+ /**
6
+ * Extracts local ECMAScript-family declarations before exports assign addresses.
7
+ *
8
+ * It captures declared ownership, comment attachment, and static module edges;
9
+ * `EcmaScriptExportResolver` alone decides which local units become public.
10
+ */
11
+ class EcmaScriptFileScanner {
12
+ session;
13
+ source;
14
+ type;
15
+ mode;
16
+ units = new Map();
17
+ excludedRoots = new Set();
18
+ comments = new Map();
19
+ exports = [];
20
+ positions = new Map();
21
+ imports = [];
22
+ diagnostics = [];
23
+ commonJsExports = new Map();
24
+ commonJsAliasAttached = true;
25
+ commonJsStaticObject = true;
26
+ complete = true;
27
+ /**
28
+ * Creates a scanner for one parsed module and its already-selected semantics.
29
+ *
30
+ * Comment ranges are captured while parser nodes are live, then the resulting
31
+ * analysis can outlast the parse session without retaining native nodes.
32
+ */
33
+ constructor(session, source, type, mode) {
34
+ this.session = session;
35
+ this.source = source;
36
+ this.type = type;
37
+ this.mode = mode;
38
+ for (const node of session.root.descendantsOfType("comment")) {
39
+ const range = session.range(node);
40
+ this.comments.set(this.commentKey(node), {
41
+ id: `${type}:${source.id}:comment:${range.start.offset}`,
42
+ range,
43
+ syntax: EcmaScriptSyntax_1.EcmaScriptSyntax.comment(node),
44
+ attachments: [],
45
+ });
46
+ }
47
+ }
48
+ /**
49
+ * Scans declarations, static imports, and export edges into one module record.
50
+ *
51
+ * Unsupported dynamic or malformed public-surface constructs retain diagnostics
52
+ * and incompleteness instead of disappearing from downstream coverage.
53
+ */
54
+ scan() {
55
+ if (this.mode === "esm")
56
+ this.collectImports();
57
+ this.scanStatements(this.session.root, {
58
+ semanticPrefix: [],
59
+ publicPrefix: [],
60
+ ambient: this.type === "typescript" && this.declarationFile(),
61
+ visible: true,
62
+ typeOnly: false,
63
+ });
64
+ if (this.mode === "commonjs")
65
+ this.scanCommonJs();
66
+ return {
67
+ source: this.source,
68
+ mode: this.mode,
69
+ units: Array.from(this.units.values()),
70
+ excludedRoots: Array.from(this.excludedRoots),
71
+ exports: this.exports,
72
+ imports: this.imports,
73
+ positions: Array.from(this.positions.values()),
74
+ comments: Array.from(this.comments.values()),
75
+ diagnostics: this.diagnostics,
76
+ complete: this.complete,
77
+ };
78
+ }
79
+ collectImports() {
80
+ for (const statement of this.session.root.namedChildren) {
81
+ if (statement.type !== "import_statement")
82
+ continue;
83
+ const specifier = EcmaScriptSyntax_1.EcmaScriptSyntax.module(statement.childForFieldName("source"));
84
+ if (specifier === undefined) {
85
+ this.problem(`${this.type}-import`, `A ${this.language()} import has no static string module specifier.`, "Use a string-literal module specifier before re-exporting its bindings.", statement);
86
+ continue;
87
+ }
88
+ const clause = statement.namedChildren.find((child) => child.type === "import_clause");
89
+ if (clause === undefined)
90
+ continue;
91
+ const statementTypeOnly = EcmaScriptSyntax_1.EcmaScriptSyntax.token(statement, "type");
92
+ const direct = clause.namedChildren.find((child) => child.type === "identifier");
93
+ if (direct !== undefined)
94
+ this.imports.push({
95
+ localName: direct.text,
96
+ importedName: "default",
97
+ specifier,
98
+ typeOnly: statementTypeOnly,
99
+ namespace: false,
100
+ });
101
+ const namespace = clause.namedChildren.find((child) => child.type === "namespace_import");
102
+ const namespaceName = namespace === undefined
103
+ ? undefined
104
+ : namespace.namedChildren.find((child) => child.type === "identifier");
105
+ if (namespaceName !== undefined)
106
+ this.imports.push({
107
+ localName: namespaceName.text,
108
+ specifier,
109
+ typeOnly: statementTypeOnly,
110
+ namespace: true,
111
+ });
112
+ const named = clause.namedChildren.find((child) => child.type === "named_imports");
113
+ for (const entry of named?.namedChildren ?? []) {
114
+ if (entry.type !== "import_specifier")
115
+ continue;
116
+ const imported = EcmaScriptSyntax_1.EcmaScriptSyntax.specifierName(entry);
117
+ const local = EcmaScriptSyntax_1.EcmaScriptSyntax.specifierAlias(entry) ?? imported;
118
+ if (imported === undefined || local === undefined)
119
+ continue;
120
+ this.imports.push({
121
+ localName: local,
122
+ importedName: imported,
123
+ specifier,
124
+ typeOnly: statementTypeOnly || EcmaScriptSyntax_1.EcmaScriptSyntax.token(entry, "type"),
125
+ namespace: false,
126
+ });
127
+ }
128
+ }
129
+ }
130
+ scanStatements(block, inherited) {
131
+ const declarations = block.namedChildren.filter((child) => child.type !== "comment");
132
+ const functionNames = new Set();
133
+ const classNames = new Set();
134
+ for (const statement of declarations) {
135
+ const declaration = this.declaration(statement);
136
+ const name = EcmaScriptSyntax_1.EcmaScriptSyntax.qualifiedName(declaration.childForFieldName("name"))[0];
137
+ if (name === undefined)
138
+ continue;
139
+ if (declaration.type === "function_declaration" ||
140
+ declaration.type === "generator_function_declaration" ||
141
+ declaration.type === "function_signature")
142
+ functionNames.add(name);
143
+ else if (declaration.type === "class_declaration" ||
144
+ declaration.type === "abstract_class_declaration")
145
+ classNames.add(name);
146
+ }
147
+ for (const statement of declarations) {
148
+ if (this.mode === "commonjs" &&
149
+ (statement.type === "import_statement" ||
150
+ statement.type === "export_statement")) {
151
+ this.problem("javascript-module-syntax", "ECMAScript module syntax appears in a CommonJS source file.", "Use a .mjs file or set the nearest package.json type to 'module'.", statement);
152
+ continue;
153
+ }
154
+ if (statement.type === "import_statement")
155
+ continue;
156
+ if (statement.type === "export_statement" &&
157
+ statement.childForFieldName("declaration") === null &&
158
+ !this.exportedDeclaration(statement.childForFieldName("value"))) {
159
+ this.scanExport(statement, inherited);
160
+ continue;
161
+ }
162
+ const wrapper = statement;
163
+ const declaration = this.declaration(statement);
164
+ const exported = inherited.ambient ||
165
+ (statement.type === "export_statement" &&
166
+ statement.childForFieldName("source") === null);
167
+ const visible = inherited.semanticPrefix.length === 0
168
+ ? true
169
+ : inherited.visible && exported;
170
+ const context = {
171
+ ...inherited,
172
+ ambient: this.type === "typescript" &&
173
+ (inherited.ambient ||
174
+ statement.type === "ambient_declaration" ||
175
+ statement.namedChildren.some((child) => child.type === "ambient_declaration")),
176
+ visible,
177
+ typeOnly: inherited.typeOnly ||
178
+ (statement.type === "export_statement" &&
179
+ EcmaScriptSyntax_1.EcmaScriptSyntax.token(statement, "type")),
180
+ };
181
+ this.scanDeclaration(wrapper, declaration, context, functionNames, classNames);
182
+ }
183
+ }
184
+ scanDeclaration(wrapper, declaration, context, functionNames, classNames) {
185
+ switch (declaration.type) {
186
+ case "interface_declaration":
187
+ this.scanInterface(wrapper, declaration, context, classNames);
188
+ break;
189
+ case "type_alias_declaration":
190
+ this.scanTypeAlias(wrapper, declaration, context);
191
+ break;
192
+ case "class_declaration":
193
+ case "abstract_class_declaration":
194
+ case "class":
195
+ this.scanClass(wrapper, declaration, context);
196
+ break;
197
+ case "function_declaration":
198
+ case "function_expression":
199
+ case "function_signature":
200
+ case "generator_function":
201
+ case "generator_function_declaration":
202
+ this.scanFunction(wrapper, declaration, context);
203
+ break;
204
+ case "lexical_declaration":
205
+ case "variable_declaration":
206
+ this.scanVariables(wrapper, declaration, context);
207
+ break;
208
+ case "internal_module":
209
+ this.scanNamespace(wrapper, declaration, context, functionNames);
210
+ break;
211
+ case "enum_declaration":
212
+ this.scanExcludedRoot(wrapper, declaration, context);
213
+ break;
214
+ case "module":
215
+ this.problem("typescript-ambient-module", "An ambient module declaration requires unsupported package-resolution semantics.", "Move the contract behind relative ECMAScript exports or add ambient-module resolution to this adapter.", declaration);
216
+ break;
217
+ case "ambient_declaration":
218
+ this.problem("typescript-ambient-global", "A global augmentation has no file-qualified module address.", "Move the contract behind ECMAScript exports or add global-augmentation resolution to this adapter.", declaration);
219
+ break;
220
+ default:
221
+ break;
222
+ }
223
+ }
224
+ scanInterface(wrapper, declaration, context, classNames) {
225
+ const local = EcmaScriptSyntax_1.EcmaScriptSyntax.name(declaration.childForFieldName("name"));
226
+ if (local === undefined || !context.visible)
227
+ return;
228
+ const defaulted = wrapper.type === "export_statement" &&
229
+ EcmaScriptSyntax_1.EcmaScriptSyntax.token(wrapper, "default");
230
+ const identity = [...context.semanticPrefix, local];
231
+ const root = context.root ?? local;
232
+ const suffix = context.root === undefined ? [] : [...context.publicPrefix, local];
233
+ const type = this.addUnit(wrapper, declaration, "type", identity, root, suffix, context.parentId, true, false);
234
+ this.directExport(wrapper, local, context, defaulted);
235
+ const mergedClass = classNames.has(local);
236
+ const memberOwner = mergedClass ? [...identity, "prototype"] : identity;
237
+ const memberPrefix = mergedClass ? [...suffix, "prototype"] : suffix;
238
+ if (context.typeOnly && mergedClass)
239
+ return;
240
+ const body = declaration.childForFieldName("body");
241
+ if (body !== null)
242
+ this.scanTypeMembers(body, memberOwner, memberPrefix, root, type.unit.id, mergedClass);
243
+ }
244
+ scanExcludedRoot(wrapper, declaration, context) {
245
+ if (!context.visible)
246
+ return;
247
+ const local = EcmaScriptSyntax_1.EcmaScriptSyntax.name(declaration.childForFieldName("name"));
248
+ if (local === undefined)
249
+ return;
250
+ this.excludedRoots.add(local);
251
+ this.directExport(wrapper, local, context, false);
252
+ }
253
+ scanTypeAlias(wrapper, declaration, context) {
254
+ const local = EcmaScriptSyntax_1.EcmaScriptSyntax.name(declaration.childForFieldName("name"));
255
+ if (local === undefined || !context.visible)
256
+ return;
257
+ const identity = [...context.semanticPrefix, local];
258
+ const root = context.root ?? local;
259
+ const suffix = context.root === undefined ? [] : [...context.publicPrefix, local];
260
+ const type = this.addUnit(wrapper, declaration, "type", identity, root, suffix, context.parentId, true, false);
261
+ this.directExport(wrapper, local, context, false);
262
+ const value = declaration.childForFieldName("value");
263
+ if (value?.type === "object_type")
264
+ this.scanTypeMembers(value, identity, suffix, root, type.unit.id, false);
265
+ }
266
+ scanClass(wrapper, declaration, context) {
267
+ const declared = EcmaScriptSyntax_1.EcmaScriptSyntax.name(declaration.childForFieldName("name"));
268
+ const defaulted = wrapper.type === "export_statement" &&
269
+ EcmaScriptSyntax_1.EcmaScriptSyntax.token(wrapper, "default");
270
+ const local = declared ?? (defaulted ? `default:${declaration.startIndex}` : undefined);
271
+ if (local === undefined || !context.visible)
272
+ return;
273
+ const semanticName = declared ?? "default";
274
+ const identity = [...context.semanticPrefix, semanticName];
275
+ const root = context.root ?? local;
276
+ const suffix = context.root === undefined ? [] : [...context.publicPrefix, semanticName];
277
+ const type = this.addUnit(wrapper, declaration, "type", identity, root, suffix, context.parentId, true, true);
278
+ this.directExport(wrapper, local, context, defaulted);
279
+ if (context.typeOnly)
280
+ return;
281
+ const body = declaration.childForFieldName("body");
282
+ if (body !== null)
283
+ this.scanClassMembers(body, identity, suffix, root, type.unit.id);
284
+ }
285
+ scanFunction(wrapper, declaration, context) {
286
+ if (context.typeOnly || !context.visible)
287
+ return;
288
+ const declared = EcmaScriptSyntax_1.EcmaScriptSyntax.name(declaration.childForFieldName("name"));
289
+ const defaulted = wrapper.type === "export_statement" &&
290
+ EcmaScriptSyntax_1.EcmaScriptSyntax.token(wrapper, "default");
291
+ const local = declared ?? (defaulted ? `default:${declaration.startIndex}` : undefined);
292
+ if (local === undefined)
293
+ return;
294
+ const semanticName = declared ?? "default";
295
+ const identity = [...context.semanticPrefix, semanticName];
296
+ const root = context.root ?? local;
297
+ const suffix = context.root === undefined ? [] : [...context.publicPrefix, semanticName];
298
+ this.addUnit(wrapper, declaration, "function", identity, root, suffix, context.parentId, false, true);
299
+ this.directExport(wrapper, local, context, defaulted);
300
+ }
301
+ scanVariables(wrapper, declaration, context) {
302
+ if (context.typeOnly || !context.visible)
303
+ return;
304
+ const constant = EcmaScriptSyntax_1.EcmaScriptSyntax.token(declaration, "const");
305
+ for (const declarator of declaration.namedChildren) {
306
+ if (declarator.type !== "variable_declarator")
307
+ continue;
308
+ const bindingNode = declarator.childForFieldName("name");
309
+ const value = declarator.childForFieldName("value");
310
+ const callable = constant &&
311
+ bindingNode?.type === "identifier" &&
312
+ EcmaScriptSyntax_1.EcmaScriptSyntax.functionValue(value);
313
+ const symbol = callable
314
+ ? "function"
315
+ : "property";
316
+ for (const binding of EcmaScriptSyntax_1.EcmaScriptSyntax.bindings(bindingNode)) {
317
+ const local = EcmaScriptSyntax_1.EcmaScriptSyntax.name(binding);
318
+ if (local === undefined)
319
+ continue;
320
+ const identity = [...context.semanticPrefix, local];
321
+ const root = context.root ?? local;
322
+ const suffix = context.root === undefined ? [] : [...context.publicPrefix, local];
323
+ this.addUnit(wrapper, declarator, symbol, identity, root, suffix, context.parentId, false, true, declarator);
324
+ this.directExport(wrapper, local, context, false);
325
+ }
326
+ }
327
+ }
328
+ scanNamespace(wrapper, declaration, context, functionNames) {
329
+ const nameNode = declaration.childForFieldName("name");
330
+ if (nameNode?.type === "string") {
331
+ this.problem("typescript-ambient-module", "An ambient module declaration requires unsupported package-resolution semantics.", "Move the contract behind relative ECMAScript exports or add ambient-module resolution to this adapter.", declaration);
332
+ return;
333
+ }
334
+ const names = EcmaScriptSyntax_1.EcmaScriptSyntax.qualifiedName(nameNode);
335
+ const local = names[0];
336
+ if (local === undefined) {
337
+ this.problem("typescript-namespace-name", "A TypeScript namespace declaration has no file-qualified static name.", "Use an identifier namespace or add explicit support for this ambient declaration form.", declaration);
338
+ return;
339
+ }
340
+ if (!context.visible)
341
+ return;
342
+ const root = context.root ?? local;
343
+ let identity = [...context.semanticPrefix];
344
+ let suffix = [...context.publicPrefix];
345
+ let parentId = context.parentId;
346
+ for (const [index, name] of names.entries()) {
347
+ identity = [...identity, name];
348
+ if (context.root !== undefined || index !== 0)
349
+ suffix = [...suffix, name];
350
+ const type = this.addUnit(index === 0 ? wrapper : declaration, declaration, "type", identity, root, suffix, parentId, true, true, undefined, index === 0);
351
+ parentId = type.unit.id;
352
+ }
353
+ this.directExport(wrapper, local, context, false);
354
+ if (functionNames.has(local))
355
+ return;
356
+ const body = declaration.childForFieldName("body");
357
+ if (body === null || parentId === undefined)
358
+ return;
359
+ this.scanStatements(body, {
360
+ semanticPrefix: identity,
361
+ publicPrefix: suffix,
362
+ root,
363
+ parentId,
364
+ ambient: context.ambient || EcmaScriptSyntax_1.EcmaScriptSyntax.modifier(declaration, "declare"),
365
+ visible: true,
366
+ typeOnly: context.typeOnly,
367
+ });
368
+ }
369
+ scanTypeMembers(body, owner, publicPrefix, root, parentId, valueSpace) {
370
+ for (const member of body.namedChildren) {
371
+ if (member.type === "comment")
372
+ continue;
373
+ let symbol;
374
+ if (member.type === "method_signature") {
375
+ if (EcmaScriptSyntax_1.EcmaScriptSyntax.token(member, "get") ||
376
+ EcmaScriptSyntax_1.EcmaScriptSyntax.token(member, "set"))
377
+ continue;
378
+ symbol = "function";
379
+ }
380
+ else if (member.type === "property_signature")
381
+ symbol = EcmaScriptSyntax_1.EcmaScriptSyntax.functionType(member.childForFieldName("type"))
382
+ ? "function"
383
+ : "property";
384
+ else
385
+ continue;
386
+ const name = EcmaScriptSyntax_1.EcmaScriptSyntax.memberName(member);
387
+ if (name === undefined)
388
+ continue;
389
+ this.addUnit(member, member, symbol, [...owner, name], root, [...publicPrefix, name], parentId, !valueSpace, valueSpace);
390
+ }
391
+ }
392
+ scanClassMembers(body, owner, publicPrefix, root, parentId) {
393
+ const constructors = body.namedChildren.filter((member) => {
394
+ if (member.type !== "method_definition" &&
395
+ member.type !== "method_signature")
396
+ return false;
397
+ return (EcmaScriptSyntax_1.EcmaScriptSyntax.name(member.childForFieldName("name")) ===
398
+ "constructor");
399
+ });
400
+ for (const member of body.namedChildren) {
401
+ if (member.type === "comment")
402
+ continue;
403
+ const name = EcmaScriptSyntax_1.EcmaScriptSyntax.memberName(member);
404
+ if (name === undefined)
405
+ continue;
406
+ const method = member.type === "method_definition" ||
407
+ member.type === "method_signature" ||
408
+ member.type === "abstract_method_signature";
409
+ if (method && name === "constructor") {
410
+ if (member.type === "method_definition")
411
+ this.scanParameterProperties(member, owner, publicPrefix, root, parentId, constructors);
412
+ continue;
413
+ }
414
+ if (!EcmaScriptSyntax_1.EcmaScriptSyntax.publicMember(member))
415
+ continue;
416
+ if (method) {
417
+ if (EcmaScriptSyntax_1.EcmaScriptSyntax.token(member, "get") ||
418
+ EcmaScriptSyntax_1.EcmaScriptSyntax.token(member, "set"))
419
+ continue;
420
+ this.addClassMember(member, "function", name, owner, publicPrefix, root, parentId);
421
+ }
422
+ else if (member.type === "public_field_definition" ||
423
+ member.type === "field_definition") {
424
+ const symbol = EcmaScriptSyntax_1.EcmaScriptSyntax.functionValue(member.childForFieldName("value")) ||
425
+ EcmaScriptSyntax_1.EcmaScriptSyntax.functionType(member.childForFieldName("type"))
426
+ ? "function"
427
+ : "property";
428
+ this.addClassMember(member, symbol, name, owner, publicPrefix, root, parentId);
429
+ }
430
+ }
431
+ }
432
+ scanParameterProperties(constructor, owner, publicPrefix, root, parentId, constructors) {
433
+ const parameters = constructor.childForFieldName("parameters");
434
+ for (const parameter of parameters?.namedChildren ?? []) {
435
+ if (parameter.type !== "required_parameter" &&
436
+ parameter.type !== "optional_parameter")
437
+ continue;
438
+ if (!parameter.namedChildren.some((child) => child.type === "accessibility_modifier") &&
439
+ !EcmaScriptSyntax_1.EcmaScriptSyntax.modifier(parameter, "readonly") &&
440
+ !EcmaScriptSyntax_1.EcmaScriptSyntax.modifier(parameter, "override"))
441
+ continue;
442
+ if (!EcmaScriptSyntax_1.EcmaScriptSyntax.publicMember(parameter))
443
+ continue;
444
+ const pattern = parameter.childForFieldName("pattern");
445
+ const name = EcmaScriptSyntax_1.EcmaScriptSyntax.name(pattern);
446
+ if (name === undefined)
447
+ continue;
448
+ const symbol = EcmaScriptSyntax_1.EcmaScriptSyntax.functionValue(parameter.childForFieldName("value")) ||
449
+ EcmaScriptSyntax_1.EcmaScriptSyntax.functionType(parameter.childForFieldName("type"))
450
+ ? "function"
451
+ : "property";
452
+ const field = this.addUnit(parameter, parameter, symbol, [...owner, "prototype", name], root, [...publicPrefix, "prototype", name], parentId, false, true);
453
+ for (const declaration of constructors)
454
+ this.attach(declaration, undefined, this.siteId(parameter), field.unit.id, true);
455
+ }
456
+ }
457
+ addClassMember(member, symbol, name, owner, publicPrefix, root, parentId) {
458
+ const statically = EcmaScriptSyntax_1.EcmaScriptSyntax.modifier(member, "static");
459
+ this.addUnit(member, member, symbol, statically ? [...owner, name] : [...owner, "prototype", name], root, statically
460
+ ? [...publicPrefix, name]
461
+ : [...publicPrefix, "prototype", name], parentId, false, true);
462
+ }
463
+ scanExport(statement, context) {
464
+ if (context.semanticPrefix.length !== 0) {
465
+ this.problem("typescript-namespace-export", "A namespace export list is outside the current TypeScript adapter contract.", "Place export modifiers on the namespace members until local namespace aliases are supported.", statement);
466
+ return;
467
+ }
468
+ if (EcmaScriptSyntax_1.EcmaScriptSyntax.token(statement, "=")) {
469
+ this.problem("typescript-export-assignment", "A CommonJS export assignment has no stable ECMAScript export name.", "Replace 'export =' with named or default ECMAScript exports.", statement);
470
+ return;
471
+ }
472
+ if (EcmaScriptSyntax_1.EcmaScriptSyntax.token(statement, "as") &&
473
+ EcmaScriptSyntax_1.EcmaScriptSyntax.token(statement, "namespace")) {
474
+ this.problem("typescript-umd-export", "A UMD global namespace export is outside file-qualified module resolution.", "Use ECMAScript exports or add UMD global resolution to this adapter.", statement);
475
+ return;
476
+ }
477
+ const specifier = EcmaScriptSyntax_1.EcmaScriptSyntax.module(statement.childForFieldName("source"));
478
+ const typeOnly = EcmaScriptSyntax_1.EcmaScriptSyntax.token(statement, "type");
479
+ const clause = statement.namedChildren.find((child) => child.type === "export_clause");
480
+ const namespace = statement.namedChildren.find((child) => child.type === "namespace_export");
481
+ if (namespace !== undefined && specifier !== undefined) {
482
+ const publicName = EcmaScriptSyntax_1.EcmaScriptSyntax.name(namespace.namedChildren[0] ?? null);
483
+ if (publicName !== undefined)
484
+ this.exports.push({
485
+ kind: "namespace",
486
+ publicName,
487
+ specifier,
488
+ typeOnly,
489
+ });
490
+ return;
491
+ }
492
+ if (clause !== undefined) {
493
+ for (const child of clause.namedChildren) {
494
+ if (child.type !== "export_specifier")
495
+ continue;
496
+ const local = EcmaScriptSyntax_1.EcmaScriptSyntax.specifierName(child);
497
+ const publicName = EcmaScriptSyntax_1.EcmaScriptSyntax.specifierAlias(child) ?? local;
498
+ if (local === undefined || publicName === undefined)
499
+ continue;
500
+ this.exports.push(specifier === undefined
501
+ ? {
502
+ kind: "local",
503
+ publicName,
504
+ localName: local,
505
+ typeOnly: typeOnly || EcmaScriptSyntax_1.EcmaScriptSyntax.token(child, "type"),
506
+ }
507
+ : {
508
+ kind: "named",
509
+ publicName,
510
+ importedName: local,
511
+ specifier,
512
+ typeOnly: typeOnly || EcmaScriptSyntax_1.EcmaScriptSyntax.token(child, "type"),
513
+ });
514
+ }
515
+ return;
516
+ }
517
+ if (specifier !== undefined)
518
+ this.exports.push({ kind: "star", specifier, typeOnly });
519
+ else if (statement.childForFieldName("value") !== null) {
520
+ const value = statement.childForFieldName("value");
521
+ const localName = EcmaScriptSyntax_1.EcmaScriptSyntax.name(value);
522
+ if (localName !== undefined)
523
+ this.exports.push({
524
+ kind: "local",
525
+ publicName: "default",
526
+ localName,
527
+ typeOnly: false,
528
+ });
529
+ else if (this.type === "javascript" && value !== null)
530
+ this.scanJavaScriptDefault(statement, value);
531
+ else
532
+ this.problem(`${this.type}-default-export`, `A ${this.language()} default export expression has no statically resolvable local declaration.`, "Name the declaration or export a local identifier as default.", statement);
533
+ }
534
+ }
535
+ scanJavaScriptDefault(statement, value) {
536
+ const localName = `default:${statement.startIndex}`;
537
+ const symbol = EcmaScriptSyntax_1.EcmaScriptSyntax.functionValue(value)
538
+ ? "function"
539
+ : "property";
540
+ this.addUnit(statement, value, symbol, ["default"], localName, [], undefined, false, true);
541
+ this.exports.push({
542
+ kind: "local",
543
+ publicName: "default",
544
+ localName,
545
+ typeOnly: false,
546
+ });
547
+ }
548
+ directExport(wrapper, localName, context, defaulted) {
549
+ if (context.semanticPrefix.length !== 0 ||
550
+ wrapper.type !== "export_statement")
551
+ return;
552
+ this.exports.push({
553
+ kind: "local",
554
+ publicName: defaulted ? "default" : localName,
555
+ localName,
556
+ typeOnly: context.typeOnly,
557
+ });
558
+ }
559
+ scanCommonJs() {
560
+ for (const statement of this.session.root.namedChildren) {
561
+ if (statement.type === "comment")
562
+ continue;
563
+ if (statement.type === "lexical_declaration" ||
564
+ statement.type === "variable_declaration") {
565
+ this.inspectCommonJsDeclaration(statement);
566
+ continue;
567
+ }
568
+ if (statement.type === "expression_statement") {
569
+ const expression = statement.namedChildren[0];
570
+ if (expression?.type === "assignment_expression" ||
571
+ expression?.type === "augmented_assignment_expression") {
572
+ this.scanCommonJsAssignment(expression);
573
+ continue;
574
+ }
575
+ }
576
+ if (this.containsCommonJsMutation(statement, true))
577
+ this.problem("javascript-commonjs-control-flow", "A CommonJS export changes through unsupported control flow or mutation.", "Assign static export names in unconditional top-level statements.", statement);
578
+ else if (this.escapesCommonJsObject(statement))
579
+ this.problem("javascript-commonjs-alias", "The CommonJS export object escapes through an unsupported alias or call.", "Write exports through module.exports or its active exports alias directly.", statement);
580
+ }
581
+ this.exports.push(...this.commonJsExports.values());
582
+ }
583
+ inspectCommonJsDeclaration(declaration) {
584
+ for (const declarator of declaration.namedChildren) {
585
+ if (declarator.type !== "variable_declarator")
586
+ continue;
587
+ const names = EcmaScriptSyntax_1.EcmaScriptSyntax.bindings(declarator.childForFieldName("name")).flatMap((node) => {
588
+ const name = EcmaScriptSyntax_1.EcmaScriptSyntax.name(node);
589
+ return name === undefined ? [] : [name];
590
+ });
591
+ if (names.includes("exports") || names.includes("module"))
592
+ this.problem("javascript-commonjs-shadow", "A top-level declaration shadows the CommonJS module bindings.", "Rename the declaration or use ECMAScript module syntax.", declarator);
593
+ const value = declarator.childForFieldName("value");
594
+ if (value !== null && this.commonJsObject(value) !== undefined)
595
+ this.problem("javascript-commonjs-alias", "The CommonJS export object is captured by an unsupported alias.", "Write exports through module.exports or its active exports alias directly.", declarator);
596
+ }
597
+ }
598
+ scanCommonJsAssignment(assignment) {
599
+ const left = assignment.childForFieldName("left");
600
+ const right = assignment.childForFieldName("right");
601
+ if (left === null || right === null)
602
+ return;
603
+ if (!EcmaScriptSyntax_1.EcmaScriptSyntax.token(assignment, "=")) {
604
+ if (this.commonJsAssignmentTarget(left))
605
+ this.problem("javascript-commonjs-mutation", "A compound CommonJS assignment makes the public surface conditional on runtime state.", "Use one unconditional '=' assignment for the static export name.", assignment);
606
+ return;
607
+ }
608
+ if (left.type === "identifier" && left.text === "exports") {
609
+ if (this.exportsObject(right))
610
+ return;
611
+ this.commonJsAliasAttached = this.moduleExports(right);
612
+ return;
613
+ }
614
+ if (this.moduleExports(left)) {
615
+ if (this.moduleExports(right) ||
616
+ (this.exportsObject(right) && this.commonJsAliasAttached))
617
+ return;
618
+ if (this.exportsObject(right)) {
619
+ this.problem("javascript-commonjs-replacement", "module.exports is replaced with a detached exports binding.", "Assign a static object or a local declaration directly to module.exports.", assignment);
620
+ return;
621
+ }
622
+ this.replaceCommonJs(right, assignment);
623
+ return;
624
+ }
625
+ const name = this.commonJsProperty(left);
626
+ if (name !== undefined) {
627
+ if (this.exportsProperty(left) && !this.commonJsAliasAttached)
628
+ return;
629
+ if (!this.commonJsStaticObject) {
630
+ this.problem("javascript-commonjs-target", "A property is assigned after module.exports was replaced with an opaque local value.", "Use one static object replacement or avoid later property assignments.", assignment);
631
+ return;
632
+ }
633
+ this.bindCommonJs(name, right, assignment);
634
+ return;
635
+ }
636
+ if (this.computedCommonJsProperty(left)) {
637
+ this.problem("javascript-commonjs-computed", "A computed CommonJS export key cannot establish a complete public surface.", "Use a direct static property name for every CommonJS export.", assignment);
638
+ return;
639
+ }
640
+ if (this.containsCommonJsMutation(assignment, false) ||
641
+ this.escapesCommonJsObject(assignment))
642
+ this.problem("javascript-commonjs-mutation", "A CommonJS export changes through an unsupported assignment.", "Use a direct static assignment with a local declaration as its value.", assignment);
643
+ }
644
+ replaceCommonJs(right, assignment) {
645
+ this.commonJsExports.clear();
646
+ this.commonJsAliasAttached = false;
647
+ if (right.type === "identifier") {
648
+ this.commonJsStaticObject = false;
649
+ this.commonJsExports.set("default", {
650
+ kind: "local",
651
+ publicName: "default",
652
+ localName: right.text,
653
+ typeOnly: false,
654
+ });
655
+ return;
656
+ }
657
+ if (right.type !== "object") {
658
+ this.commonJsStaticObject = false;
659
+ this.problem("javascript-commonjs-replacement", "A CommonJS module replacement has no statically enumerable public surface.", "Replace module.exports with an object of static keys and local declaration values.", assignment);
660
+ return;
661
+ }
662
+ this.commonJsStaticObject = true;
663
+ for (const child of right.namedChildren) {
664
+ if (child.type === "shorthand_property_identifier" ||
665
+ child.type === "shorthand_property_identifier_pattern") {
666
+ this.commonJsExports.set(child.text, {
667
+ kind: "local",
668
+ publicName: child.text,
669
+ localName: child.text,
670
+ typeOnly: false,
671
+ });
672
+ continue;
673
+ }
674
+ if (child.type === "pair") {
675
+ const name = EcmaScriptSyntax_1.EcmaScriptSyntax.name(child.childForFieldName("key"));
676
+ const value = child.childForFieldName("value");
677
+ if (name === "__proto__") {
678
+ this.problem("javascript-commonjs-prototype", "A __proto__ object entry changes the CommonJS export prototype instead of defining a public property.", "Use an ordinary static export name.", child);
679
+ continue;
680
+ }
681
+ if (name !== undefined && value?.type === "identifier") {
682
+ this.commonJsExports.set(name, {
683
+ kind: "local",
684
+ publicName: name,
685
+ localName: value.text,
686
+ typeOnly: false,
687
+ });
688
+ continue;
689
+ }
690
+ }
691
+ this.problem("javascript-commonjs-object", "A CommonJS export object contains a non-static key or non-local value.", "Use static object keys whose values are local declaration identifiers.", child);
692
+ }
693
+ }
694
+ bindCommonJs(name, right, assignment) {
695
+ if (name === "__proto__") {
696
+ this.problem("javascript-commonjs-prototype", "Assigning __proto__ changes the CommonJS export prototype instead of defining a public property.", "Use an ordinary static export name.", assignment);
697
+ return;
698
+ }
699
+ if (right.type !== "identifier") {
700
+ this.problem("javascript-commonjs-value", `CommonJS export '${name}' is not bound to a local declaration identifier.`, "Name the value locally before assigning it to the static export property.", assignment);
701
+ return;
702
+ }
703
+ this.commonJsExports.set(name, {
704
+ kind: "local",
705
+ publicName: name,
706
+ localName: right.text,
707
+ typeOnly: false,
708
+ });
709
+ }
710
+ commonJsProperty(node) {
711
+ if (node.type !== "member_expression")
712
+ return undefined;
713
+ const object = node.childForFieldName("object");
714
+ if (!this.exportsObject(object) && !this.moduleExports(object))
715
+ return undefined;
716
+ return EcmaScriptSyntax_1.EcmaScriptSyntax.name(node.childForFieldName("property"));
717
+ }
718
+ computedCommonJsProperty(node) {
719
+ if (node.type !== "subscript_expression")
720
+ return false;
721
+ const object = node.childForFieldName("object");
722
+ return this.exportsObject(object) || this.moduleExports(object);
723
+ }
724
+ exportsObject(node) {
725
+ return node?.type === "identifier" && node.text === "exports";
726
+ }
727
+ exportsProperty(node) {
728
+ return (node.type === "member_expression" &&
729
+ this.exportsObject(node.childForFieldName("object")));
730
+ }
731
+ moduleExports(node) {
732
+ if (node?.type !== "member_expression")
733
+ return false;
734
+ const object = node.childForFieldName("object");
735
+ const property = node.childForFieldName("property");
736
+ return (object?.type === "identifier" &&
737
+ object.text === "module" &&
738
+ EcmaScriptSyntax_1.EcmaScriptSyntax.name(property) === "exports");
739
+ }
740
+ commonJsObject(node) {
741
+ if (this.exportsObject(node))
742
+ return "exports";
743
+ return this.moduleExports(node) ? "module" : undefined;
744
+ }
745
+ containsCommonJsMutation(node, nested) {
746
+ if (nested &&
747
+ (node.type === "function_declaration" ||
748
+ node.type === "generator_function_declaration" ||
749
+ node.type === "class_declaration"))
750
+ return false;
751
+ if (node.type === "assignment_expression" ||
752
+ node.type === "augmented_assignment_expression") {
753
+ const left = node.childForFieldName("left");
754
+ if (left !== null && this.commonJsAssignmentTarget(left))
755
+ return true;
756
+ }
757
+ if (node.type === "unary_expression" &&
758
+ EcmaScriptSyntax_1.EcmaScriptSyntax.token(node, "delete"))
759
+ if (node.namedChildren.some((child) => this.commonJsAssignmentTarget(child)))
760
+ return true;
761
+ if (node.type === "update_expression")
762
+ if (node.namedChildren.some((child) => this.commonJsAssignmentTarget(child)))
763
+ return true;
764
+ return node.namedChildren.some((child) => this.containsCommonJsMutation(child, nested));
765
+ }
766
+ commonJsAssignmentTarget(node) {
767
+ if ((node.type === "identifier" &&
768
+ (node.text === "exports" || node.text === "module")) ||
769
+ this.moduleExports(node) ||
770
+ this.commonJsProperty(node) !== undefined ||
771
+ this.computedCommonJsProperty(node))
772
+ return true;
773
+ return node.namedChildren.some((child) => this.commonJsAssignmentTarget(child));
774
+ }
775
+ escapesCommonJsObject(node) {
776
+ if (node.type === "function_declaration" ||
777
+ node.type === "generator_function_declaration" ||
778
+ node.type === "class_declaration")
779
+ return false;
780
+ if (this.commonJsObject(node) !== undefined) {
781
+ const parent = node.parent;
782
+ if (parent !== null && parent.type === "member_expression") {
783
+ const object = parent.childForFieldName("object");
784
+ if (object !== null && object.equals(node))
785
+ return false;
786
+ }
787
+ if (parent !== null &&
788
+ (parent.type === "assignment_expression" ||
789
+ parent.type === "augmented_assignment_expression")) {
790
+ const left = parent.childForFieldName("left");
791
+ if (left !== null && left.equals(node))
792
+ return false;
793
+ }
794
+ return true;
795
+ }
796
+ return node.namedChildren.some((child) => this.escapesCommonJsObject(child));
797
+ }
798
+ addUnit(siteNode, contentNode, symbol, identity, root, suffix, parentId, typeSpace, valueSpace, extraHost, attachDocumentation = true) {
799
+ const id = `${this.type}:${this.source.id}:${symbol}:${JSON.stringify(identity)}`;
800
+ const siteId = this.siteId(siteNode);
801
+ const site = {
802
+ id: siteId,
803
+ file: this.source.physicalPath,
804
+ range: this.session.range(siteNode),
805
+ content: [this.session.range(contentNode)],
806
+ };
807
+ let record = this.units.get(id);
808
+ if (record === undefined) {
809
+ const unit = {
810
+ id,
811
+ type: this.type,
812
+ symbol,
813
+ identity,
814
+ name: identity.at(-1) ?? "",
815
+ sites: [site],
816
+ withdrawals: [],
817
+ ...(parentId === undefined ? {} : { parentId }),
818
+ };
819
+ record = { unit, root, suffix, typeSpace, valueSpace };
820
+ this.units.set(id, record);
821
+ }
822
+ else {
823
+ const previous = record.unit.sites.find((candidate) => candidate.id === site.id);
824
+ if (previous === undefined)
825
+ record.unit.sites.push(site);
826
+ else
827
+ previous.content.push(...site.content);
828
+ record.typeSpace ||= typeSpace;
829
+ record.valueSpace ||= valueSpace;
830
+ }
831
+ this.registerHost(siteNode, siteId, id, attachDocumentation);
832
+ if (extraHost !== undefined)
833
+ this.registerHost(extraHost, siteId, id, attachDocumentation);
834
+ return record;
835
+ }
836
+ registerHost(node, siteId, unitId, attachDocumentation) {
837
+ const id = this.positionId(node);
838
+ let position = this.positions.get(id);
839
+ if (position === undefined) {
840
+ position = {
841
+ id,
842
+ siteId,
843
+ range: this.session.range(node),
844
+ unitIds: [],
845
+ };
846
+ this.positions.set(id, position);
847
+ }
848
+ if (!position.unitIds.includes(unitId))
849
+ position.unitIds.push(unitId);
850
+ if (attachDocumentation)
851
+ this.attach(node, id, siteId, unitId, false);
852
+ }
853
+ attach(node, positionId, siteId, unitId, withdrawalOnly = false) {
854
+ let current = node.previousNamedSibling;
855
+ let boundary = node.startIndex;
856
+ while (current !== null && current.type === "comment") {
857
+ if (this.source.content.slice(current.endIndex, boundary).trim() !== "")
858
+ break;
859
+ if (!EcmaScriptSyntax_1.EcmaScriptSyntax.jsdoc(current))
860
+ break;
861
+ const comment = this.comments.get(this.commentKey(current));
862
+ if (comment !== undefined) {
863
+ const attachment = comment.attachments.find((entry) => entry.positionId === positionId &&
864
+ entry.siteId === siteId &&
865
+ entry.unitId === unitId);
866
+ if (attachment === undefined)
867
+ comment.attachments.push({
868
+ ...(positionId === undefined ? {} : { positionId }),
869
+ siteId,
870
+ unitId,
871
+ ...(withdrawalOnly ? { withdrawalOnly: true } : {}),
872
+ });
873
+ else if (!withdrawalOnly)
874
+ delete attachment.withdrawalOnly;
875
+ }
876
+ boundary = current.startIndex;
877
+ current = current.previousNamedSibling;
878
+ }
879
+ }
880
+ declaration(statement) {
881
+ let declaration = statement.childForFieldName("declaration") ??
882
+ statement.childForFieldName("value") ??
883
+ statement;
884
+ if (declaration.type === "expression_statement") {
885
+ const module = declaration.namedChildren.find((child) => child.type === "internal_module");
886
+ if (module !== undefined)
887
+ declaration = module;
888
+ }
889
+ while (declaration.type === "ambient_declaration") {
890
+ const nested = declaration.namedChildren.find((child) => child.type.endsWith("_declaration") ||
891
+ child.type.endsWith("_signature") ||
892
+ child.type === "internal_module" ||
893
+ child.type === "module");
894
+ if (nested === undefined)
895
+ break;
896
+ declaration = nested;
897
+ }
898
+ return declaration;
899
+ }
900
+ declarationFile() {
901
+ return [
902
+ this.source.physicalPath,
903
+ ...this.source.addresses.flatMap((address) => [
904
+ address.absolute,
905
+ address.relative,
906
+ ]),
907
+ ].some((file) => /\.d\.(?:cts|mts|ts)$/iu.test(file));
908
+ }
909
+ exportedDeclaration(node) {
910
+ return (node !== null &&
911
+ (node.type === "class" ||
912
+ node.type === "class_declaration" ||
913
+ node.type === "abstract_class_declaration" ||
914
+ node.type === "function_declaration" ||
915
+ node.type === "function_expression" ||
916
+ node.type === "function_signature" ||
917
+ node.type === "generator_function" ||
918
+ node.type === "generator_function_declaration"));
919
+ }
920
+ commentKey(node) {
921
+ return `${node.startIndex}:${node.endIndex}`;
922
+ }
923
+ siteId(node) {
924
+ return `${this.type}:${this.source.id}:site:${node.startIndex}:${node.endIndex}`;
925
+ }
926
+ positionId(node) {
927
+ return `${this.type}:${this.source.id}:position:${node.startIndex}:${node.endIndex}`;
928
+ }
929
+ problem(code, message, repair, node) {
930
+ this.complete = false;
931
+ this.diagnostics.push({
932
+ code,
933
+ severity: "error",
934
+ message,
935
+ repair,
936
+ location: {
937
+ file: this.source.physicalPath,
938
+ range: this.session.range(node),
939
+ },
940
+ });
941
+ }
942
+ language() {
943
+ return this.type === "typescript" ? "TypeScript" : "JavaScript";
944
+ }
945
+ }
946
+ exports.EcmaScriptFileScanner = EcmaScriptFileScanner;