@ai-dev-tools/test-copilot-core 1.0.19

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 (328) hide show
  1. package/README.md +6 -0
  2. package/azure-pipelines.yml +51 -0
  3. package/out/cli/commands/appInsightTelemetry.d.ts +7 -0
  4. package/out/cli/commands/appInsightTelemetry.d.ts.map +1 -0
  5. package/out/cli/commands/appInsightTelemetry.js +76 -0
  6. package/out/cli/commands/appInsightTelemetry.js.map +1 -0
  7. package/out/cli/commands/cliConfig.d.ts +4 -0
  8. package/out/cli/commands/cliConfig.d.ts.map +1 -0
  9. package/out/cli/commands/cliConfig.js +68 -0
  10. package/out/cli/commands/cliConfig.js.map +1 -0
  11. package/out/cli/commands/prompt.d.ts +6 -0
  12. package/out/cli/commands/prompt.d.ts.map +1 -0
  13. package/out/cli/commands/prompt.js +29 -0
  14. package/out/cli/commands/prompt.js.map +1 -0
  15. package/out/cli/commands/ut.d.ts +14 -0
  16. package/out/cli/commands/ut.d.ts.map +1 -0
  17. package/out/cli/commands/ut.js +72 -0
  18. package/out/cli/commands/ut.js.map +1 -0
  19. package/out/cli/commands/utPipeCmdWrapper.d.ts +18 -0
  20. package/out/cli/commands/utPipeCmdWrapper.d.ts.map +1 -0
  21. package/out/cli/commands/utPipeCmdWrapper.js +37 -0
  22. package/out/cli/commands/utPipeCmdWrapper.js.map +1 -0
  23. package/out/cli/config/index.d.ts +15 -0
  24. package/out/cli/config/index.d.ts.map +1 -0
  25. package/out/cli/config/index.js +10 -0
  26. package/out/cli/config/index.js.map +1 -0
  27. package/out/cli/index.d.ts +3 -0
  28. package/out/cli/index.d.ts.map +1 -0
  29. package/out/cli/index.js +169 -0
  30. package/out/cli/index.js.map +1 -0
  31. package/out/cli/type.d.ts +11 -0
  32. package/out/cli/type.d.ts.map +1 -0
  33. package/out/cli/type.js +3 -0
  34. package/out/cli/type.js.map +1 -0
  35. package/out/cli/utils/ds.d.ts +3 -0
  36. package/out/cli/utils/ds.d.ts.map +1 -0
  37. package/out/cli/utils/ds.js +50 -0
  38. package/out/cli/utils/ds.js.map +1 -0
  39. package/out/cli/utils/gpt.d.ts +3 -0
  40. package/out/cli/utils/gpt.d.ts.map +1 -0
  41. package/out/cli/utils/gpt.js +63 -0
  42. package/out/cli/utils/gpt.js.map +1 -0
  43. package/out/core/analyze/cjs.d.ts +61 -0
  44. package/out/core/analyze/cjs.d.ts.map +1 -0
  45. package/out/core/analyze/cjs.js +358 -0
  46. package/out/core/analyze/cjs.js.map +1 -0
  47. package/out/core/analyze/class.d.ts +4 -0
  48. package/out/core/analyze/class.d.ts.map +1 -0
  49. package/out/core/analyze/class.js +32 -0
  50. package/out/core/analyze/class.js.map +1 -0
  51. package/out/core/analyze/declares.d.ts +7 -0
  52. package/out/core/analyze/declares.d.ts.map +1 -0
  53. package/out/core/analyze/declares.js +316 -0
  54. package/out/core/analyze/declares.js.map +1 -0
  55. package/out/core/analyze/deps.d.ts +8 -0
  56. package/out/core/analyze/deps.d.ts.map +1 -0
  57. package/out/core/analyze/deps.js +210 -0
  58. package/out/core/analyze/deps.js.map +1 -0
  59. package/out/core/analyze/functionComponent.d.ts +4 -0
  60. package/out/core/analyze/functionComponent.d.ts.map +1 -0
  61. package/out/core/analyze/functionComponent.js +77 -0
  62. package/out/core/analyze/functionComponent.js.map +1 -0
  63. package/out/core/analyze/functions.d.ts +4 -0
  64. package/out/core/analyze/functions.d.ts.map +1 -0
  65. package/out/core/analyze/functions.js +46 -0
  66. package/out/core/analyze/functions.js.map +1 -0
  67. package/out/core/analyze/index.d.ts +16 -0
  68. package/out/core/analyze/index.d.ts.map +1 -0
  69. package/out/core/analyze/index.js +149 -0
  70. package/out/core/analyze/index.js.map +1 -0
  71. package/out/core/analyze/index.type.d.ts +69 -0
  72. package/out/core/analyze/index.type.d.ts.map +1 -0
  73. package/out/core/analyze/index.type.js +14 -0
  74. package/out/core/analyze/index.type.js.map +1 -0
  75. package/out/core/analyze/utils/global.d.ts +2 -0
  76. package/out/core/analyze/utils/global.d.ts.map +1 -0
  77. package/out/core/analyze/utils/global.js +84 -0
  78. package/out/core/analyze/utils/global.js.map +1 -0
  79. package/out/core/analyzev2/declare/class.d.ts +4 -0
  80. package/out/core/analyzev2/declare/class.d.ts.map +1 -0
  81. package/out/core/analyzev2/declare/class.js +24 -0
  82. package/out/core/analyzev2/declare/class.js.map +1 -0
  83. package/out/core/analyzev2/declare/funcLike.d.ts +8 -0
  84. package/out/core/analyzev2/declare/funcLike.d.ts.map +1 -0
  85. package/out/core/analyzev2/declare/funcLike.js +71 -0
  86. package/out/core/analyzev2/declare/funcLike.js.map +1 -0
  87. package/out/core/analyzev2/declare/variable.d.ts +3 -0
  88. package/out/core/analyzev2/declare/variable.d.ts.map +1 -0
  89. package/out/core/analyzev2/declare/variable.js +15 -0
  90. package/out/core/analyzev2/declare/variable.js.map +1 -0
  91. package/out/core/analyzev2/file.d.ts +19 -0
  92. package/out/core/analyzev2/file.d.ts.map +1 -0
  93. package/out/core/analyzev2/file.js +449 -0
  94. package/out/core/analyzev2/file.js.map +1 -0
  95. package/out/core/analyzev2/index.d.ts +5 -0
  96. package/out/core/analyzev2/index.d.ts.map +1 -0
  97. package/out/core/analyzev2/index.js +30 -0
  98. package/out/core/analyzev2/index.js.map +1 -0
  99. package/out/core/analyzev2/type.d.ts +35 -0
  100. package/out/core/analyzev2/type.d.ts.map +1 -0
  101. package/out/core/analyzev2/type.js +3 -0
  102. package/out/core/analyzev2/type.js.map +1 -0
  103. package/out/core/config/index.d.ts +25 -0
  104. package/out/core/config/index.d.ts.map +1 -0
  105. package/out/core/config/index.js +14 -0
  106. package/out/core/config/index.js.map +1 -0
  107. package/out/core/constants.d.ts +9 -0
  108. package/out/core/constants.d.ts.map +1 -0
  109. package/out/core/constants.js +12 -0
  110. package/out/core/constants.js.map +1 -0
  111. package/out/core/features/common/base.d.ts +20 -0
  112. package/out/core/features/common/base.d.ts.map +1 -0
  113. package/out/core/features/common/base.js +77 -0
  114. package/out/core/features/common/base.js.map +1 -0
  115. package/out/core/features/common/types.d.ts +16 -0
  116. package/out/core/features/common/types.d.ts.map +1 -0
  117. package/out/core/features/common/types.js +12 -0
  118. package/out/core/features/common/types.js.map +1 -0
  119. package/out/core/features/generateFile.d.ts +31 -0
  120. package/out/core/features/generateFile.d.ts.map +1 -0
  121. package/out/core/features/generateFile.js +148 -0
  122. package/out/core/features/generateFile.js.map +1 -0
  123. package/out/core/features/generateSingle.d.ts +28 -0
  124. package/out/core/features/generateSingle.d.ts.map +1 -0
  125. package/out/core/features/generateSingle.js +149 -0
  126. package/out/core/features/generateSingle.js.map +1 -0
  127. package/out/core/features/index.d.ts +9 -0
  128. package/out/core/features/index.d.ts.map +1 -0
  129. package/out/core/features/index.js +16 -0
  130. package/out/core/features/index.js.map +1 -0
  131. package/out/core/features/lintFix.d.ts +2 -0
  132. package/out/core/features/lintFix.d.ts.map +1 -0
  133. package/out/core/features/lintFix.js +33 -0
  134. package/out/core/features/lintFix.js.map +1 -0
  135. package/out/core/features/mergeUTFile.d.ts +19 -0
  136. package/out/core/features/mergeUTFile.d.ts.map +1 -0
  137. package/out/core/features/mergeUTFile.js +63 -0
  138. package/out/core/features/mergeUTFile.js.map +1 -0
  139. package/out/core/features/removeFailedCases.d.ts +23 -0
  140. package/out/core/features/removeFailedCases.d.ts.map +1 -0
  141. package/out/core/features/removeFailedCases.js +81 -0
  142. package/out/core/features/removeFailedCases.js.map +1 -0
  143. package/out/core/features/updateSpec.d.ts +20 -0
  144. package/out/core/features/updateSpec.d.ts.map +1 -0
  145. package/out/core/features/updateSpec.js +98 -0
  146. package/out/core/features/updateSpec.js.map +1 -0
  147. package/out/core/features/validFix.d.ts +29 -0
  148. package/out/core/features/validFix.d.ts.map +1 -0
  149. package/out/core/features/validFix.js +219 -0
  150. package/out/core/features/validFix.js.map +1 -0
  151. package/out/core/generate/UTGen.d.ts +79 -0
  152. package/out/core/generate/UTGen.d.ts.map +1 -0
  153. package/out/core/generate/UTGen.js +795 -0
  154. package/out/core/generate/UTGen.js.map +1 -0
  155. package/out/core/llm/index.d.ts +9 -0
  156. package/out/core/llm/index.d.ts.map +1 -0
  157. package/out/core/llm/index.js +39 -0
  158. package/out/core/llm/index.js.map +1 -0
  159. package/out/core/llm/prompts/config.d.ts +6 -0
  160. package/out/core/llm/prompts/config.d.ts.map +1 -0
  161. package/out/core/llm/prompts/config.js +239 -0
  162. package/out/core/llm/prompts/config.js.map +1 -0
  163. package/out/core/llm/prompts/templates/common.d.ts +3 -0
  164. package/out/core/llm/prompts/templates/common.d.ts.map +1 -0
  165. package/out/core/llm/prompts/templates/common.js +27 -0
  166. package/out/core/llm/prompts/templates/common.js.map +1 -0
  167. package/out/core/llm/prompts/templates/fixCase.d.ts +4 -0
  168. package/out/core/llm/prompts/templates/fixCase.d.ts.map +1 -0
  169. package/out/core/llm/prompts/templates/fixCase.js +46 -0
  170. package/out/core/llm/prompts/templates/fixCase.js.map +1 -0
  171. package/out/core/llm/prompts/templates/fixLint.d.ts +3 -0
  172. package/out/core/llm/prompts/templates/fixLint.d.ts.map +1 -0
  173. package/out/core/llm/prompts/templates/fixLint.js +22 -0
  174. package/out/core/llm/prompts/templates/fixLint.js.map +1 -0
  175. package/out/core/llm/prompts/templates/genClassMemberUT.d.ts +5 -0
  176. package/out/core/llm/prompts/templates/genClassMemberUT.d.ts.map +1 -0
  177. package/out/core/llm/prompts/templates/genClassMemberUT.js +115 -0
  178. package/out/core/llm/prompts/templates/genClassMemberUT.js.map +1 -0
  179. package/out/core/llm/prompts/templates/genFuncUT.d.ts +4 -0
  180. package/out/core/llm/prompts/templates/genFuncUT.d.ts.map +1 -0
  181. package/out/core/llm/prompts/templates/genFuncUT.js +64 -0
  182. package/out/core/llm/prompts/templates/genFuncUT.js.map +1 -0
  183. package/out/core/llm/prompts/templates/mergeUT.d.ts +4 -0
  184. package/out/core/llm/prompts/templates/mergeUT.d.ts.map +1 -0
  185. package/out/core/llm/prompts/templates/mergeUT.js +106 -0
  186. package/out/core/llm/prompts/templates/mergeUT.js.map +1 -0
  187. package/out/core/llm/prompts/templates/msnStudio.d.ts +3 -0
  188. package/out/core/llm/prompts/templates/msnStudio.d.ts.map +1 -0
  189. package/out/core/llm/prompts/templates/msnStudio.js +36 -0
  190. package/out/core/llm/prompts/templates/msnStudio.js.map +1 -0
  191. package/out/core/llm/prompts/templates/snapshotUT.d.ts +4 -0
  192. package/out/core/llm/prompts/templates/snapshotUT.d.ts.map +1 -0
  193. package/out/core/llm/prompts/templates/snapshotUT.js +68 -0
  194. package/out/core/llm/prompts/templates/snapshotUT.js.map +1 -0
  195. package/out/core/llm/prompts/templates/updateSpecBlock.d.ts +3 -0
  196. package/out/core/llm/prompts/templates/updateSpecBlock.d.ts.map +1 -0
  197. package/out/core/llm/prompts/templates/updateSpecBlock.js +38 -0
  198. package/out/core/llm/prompts/templates/updateSpecBlock.js.map +1 -0
  199. package/out/core/llm/prompts/templates/updateSpecFile.d.ts +3 -0
  200. package/out/core/llm/prompts/templates/updateSpecFile.d.ts.map +1 -0
  201. package/out/core/llm/prompts/templates/updateSpecFile.js +30 -0
  202. package/out/core/llm/prompts/templates/updateSpecFile.js.map +1 -0
  203. package/out/core/llm/types.d.ts +80 -0
  204. package/out/core/llm/types.d.ts.map +1 -0
  205. package/out/core/llm/types.js +5 -0
  206. package/out/core/llm/types.js.map +1 -0
  207. package/out/core/quality/validateMockedTest.d.ts +3 -0
  208. package/out/core/quality/validateMockedTest.d.ts.map +1 -0
  209. package/out/core/quality/validateMockedTest.js +211 -0
  210. package/out/core/quality/validateMockedTest.js.map +1 -0
  211. package/out/core/utils/checkTestIgnore.d.ts +4 -0
  212. package/out/core/utils/checkTestIgnore.d.ts.map +1 -0
  213. package/out/core/utils/checkTestIgnore.js +52 -0
  214. package/out/core/utils/checkTestIgnore.js.map +1 -0
  215. package/out/core/utils/common.d.ts +4 -0
  216. package/out/core/utils/common.d.ts.map +1 -0
  217. package/out/core/utils/common.js +34 -0
  218. package/out/core/utils/common.js.map +1 -0
  219. package/out/core/utils/console.d.ts +8 -0
  220. package/out/core/utils/console.d.ts.map +1 -0
  221. package/out/core/utils/console.js +24 -0
  222. package/out/core/utils/console.js.map +1 -0
  223. package/out/core/utils/deps.d.ts +3 -0
  224. package/out/core/utils/deps.d.ts.map +1 -0
  225. package/out/core/utils/deps.js +58 -0
  226. package/out/core/utils/deps.js.map +1 -0
  227. package/out/core/utils/eslintRuleHandler.d.ts +3 -0
  228. package/out/core/utils/eslintRuleHandler.d.ts.map +1 -0
  229. package/out/core/utils/eslintRuleHandler.js +98 -0
  230. package/out/core/utils/eslintRuleHandler.js.map +1 -0
  231. package/out/core/utils/file.d.ts +18 -0
  232. package/out/core/utils/file.d.ts.map +1 -0
  233. package/out/core/utils/file.js +142 -0
  234. package/out/core/utils/file.js.map +1 -0
  235. package/out/core/utils/lint.d.ts +9 -0
  236. package/out/core/utils/lint.d.ts.map +1 -0
  237. package/out/core/utils/lint.js +95 -0
  238. package/out/core/utils/lint.js.map +1 -0
  239. package/out/core/utils/lru.d.ts +12 -0
  240. package/out/core/utils/lru.d.ts.map +1 -0
  241. package/out/core/utils/lru.js +47 -0
  242. package/out/core/utils/lru.js.map +1 -0
  243. package/out/core/utils/move.d.ts +12 -0
  244. package/out/core/utils/move.d.ts.map +1 -0
  245. package/out/core/utils/move.js +93 -0
  246. package/out/core/utils/move.js.map +1 -0
  247. package/out/core/utils/msnStudio.d.ts +13 -0
  248. package/out/core/utils/msnStudio.d.ts.map +1 -0
  249. package/out/core/utils/msnStudio.js +150 -0
  250. package/out/core/utils/msnStudio.js.map +1 -0
  251. package/out/core/utils/parseCustomizedCmd.d.ts +2 -0
  252. package/out/core/utils/parseCustomizedCmd.d.ts.map +1 -0
  253. package/out/core/utils/parseCustomizedCmd.js +32 -0
  254. package/out/core/utils/parseCustomizedCmd.js.map +1 -0
  255. package/out/core/utils/specBlock.d.ts +20 -0
  256. package/out/core/utils/specBlock.d.ts.map +1 -0
  257. package/out/core/utils/specBlock.js +231 -0
  258. package/out/core/utils/specBlock.js.map +1 -0
  259. package/out/core/utils/system.d.ts +13 -0
  260. package/out/core/utils/system.d.ts.map +1 -0
  261. package/out/core/utils/system.js +86 -0
  262. package/out/core/utils/system.js.map +1 -0
  263. package/out/core/utils/telemetry.d.ts +9 -0
  264. package/out/core/utils/telemetry.d.ts.map +1 -0
  265. package/out/core/utils/telemetry.js +32 -0
  266. package/out/core/utils/telemetry.js.map +1 -0
  267. package/out/core/utils/tsMorph.d.ts +13 -0
  268. package/out/core/utils/tsMorph.d.ts.map +1 -0
  269. package/out/core/utils/tsMorph.js +76 -0
  270. package/out/core/utils/tsMorph.js.map +1 -0
  271. package/out/core/valid/customizedLint.d.ts +2 -0
  272. package/out/core/valid/customizedLint.d.ts.map +1 -0
  273. package/out/core/valid/customizedLint.js +64 -0
  274. package/out/core/valid/customizedLint.js.map +1 -0
  275. package/out/core/valid/customizedTest.d.ts +3 -0
  276. package/out/core/valid/customizedTest.d.ts.map +1 -0
  277. package/out/core/valid/customizedTest.js +58 -0
  278. package/out/core/valid/customizedTest.js.map +1 -0
  279. package/out/core/valid/extractVitestConfig.d.ts +5 -0
  280. package/out/core/valid/extractVitestConfig.d.ts.map +1 -0
  281. package/out/core/valid/extractVitestConfig.js +97 -0
  282. package/out/core/valid/extractVitestConfig.js.map +1 -0
  283. package/out/core/valid/getViteConfig.d.ts +2 -0
  284. package/out/core/valid/getViteConfig.d.ts.map +1 -0
  285. package/out/core/valid/getViteConfig.js +65 -0
  286. package/out/core/valid/getViteConfig.js.map +1 -0
  287. package/out/core/valid/index.d.ts +15 -0
  288. package/out/core/valid/index.d.ts.map +1 -0
  289. package/out/core/valid/index.js +99 -0
  290. package/out/core/valid/index.js.map +1 -0
  291. package/out/core/valid/jest.d.ts +4 -0
  292. package/out/core/valid/jest.d.ts.map +1 -0
  293. package/out/core/valid/jest.js +121 -0
  294. package/out/core/valid/jest.js.map +1 -0
  295. package/out/core/valid/mock.d.ts +2 -0
  296. package/out/core/valid/mock.d.ts.map +1 -0
  297. package/out/core/valid/mock.js +149 -0
  298. package/out/core/valid/mock.js.map +1 -0
  299. package/out/core/valid/remove.d.ts +5 -0
  300. package/out/core/valid/remove.d.ts.map +1 -0
  301. package/out/core/valid/remove.js +109 -0
  302. package/out/core/valid/remove.js.map +1 -0
  303. package/out/core/valid/tag.d.ts +3 -0
  304. package/out/core/valid/tag.d.ts.map +1 -0
  305. package/out/core/valid/tag.js +91 -0
  306. package/out/core/valid/tag.js.map +1 -0
  307. package/out/core/valid/type.d.ts +83 -0
  308. package/out/core/valid/type.d.ts.map +1 -0
  309. package/out/core/valid/type.js +3 -0
  310. package/out/core/valid/type.js.map +1 -0
  311. package/out/core/valid/vitest.d.ts +3 -0
  312. package/out/core/valid/vitest.d.ts.map +1 -0
  313. package/out/core/valid/vitest.js +82 -0
  314. package/out/core/valid/vitest.js.map +1 -0
  315. package/out/index.d.ts +20 -0
  316. package/out/index.d.ts.map +1 -0
  317. package/out/index.js +60 -0
  318. package/out/index.js.map +1 -0
  319. package/out/setup.d.ts +11 -0
  320. package/out/setup.d.ts.map +1 -0
  321. package/out/setup.js +14 -0
  322. package/out/setup.js.map +1 -0
  323. package/out/types.d.ts +23 -0
  324. package/out/types.d.ts.map +1 -0
  325. package/out/types.js +3 -0
  326. package/out/types.js.map +1 -0
  327. package/package.json +39 -0
  328. package/package_devops.json +42 -0
@@ -0,0 +1,316 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getImportDeclarations = getImportDeclarations;
4
+ exports.getLocalDeclarations = getLocalDeclarations;
5
+ exports.getClassDeclaration = getClassDeclaration;
6
+ exports.getClassStructure = getClassStructure;
7
+ const ts_morph_1 = require("ts-morph");
8
+ const deps_1 = require("./deps");
9
+ function getImportDeclarations(imports) {
10
+ const res = {};
11
+ for (const importDeclaration of imports) {
12
+ const importModuleName = importDeclaration.getModuleSpecifierValue();
13
+ for (const namedImport of importDeclaration.getNamedImports()) {
14
+ const name = namedImport.getName();
15
+ const alias = namedImport.getAliasNode()?.getText() || name;
16
+ const importSymbol = namedImport.getNameNode().getSymbol();
17
+ const declarations = importSymbol?.getAliasedSymbol()?.getDeclarations() || importSymbol?.getDeclarations();
18
+ res[alias] = {
19
+ text: getDeclareString(declarations?.[0], alias) || `const ${alias}: any;`,
20
+ module: importModuleName
21
+ };
22
+ }
23
+ }
24
+ return res;
25
+ }
26
+ function getLocalDeclarations(sourceFile) {
27
+ const res = {};
28
+ for (const statement of sourceFile.getStatements()) {
29
+ const kind = statement.getKind();
30
+ const isDeclartoin = kind === ts_morph_1.SyntaxKind.VariableStatement
31
+ || kind === ts_morph_1.SyntaxKind.FunctionDeclaration
32
+ || kind === ts_morph_1.SyntaxKind.TypeAliasDeclaration
33
+ || kind === ts_morph_1.SyntaxKind.InterfaceDeclaration
34
+ || kind === ts_morph_1.SyntaxKind.EnumDeclaration
35
+ || kind === ts_morph_1.SyntaxKind.ClassDeclaration;
36
+ if (!isDeclartoin) {
37
+ continue;
38
+ }
39
+ const name = statement.getName?.() || (statement.asKind(ts_morph_1.SyntaxKind.VariableStatement))?.getDeclarations()?.[0]?.getName();
40
+ const declareStr = getDeclareString(statement);
41
+ if (!name || !declareStr) {
42
+ continue;
43
+ }
44
+ res[name] = {
45
+ text: declareStr,
46
+ module: ''
47
+ };
48
+ }
49
+ return res;
50
+ }
51
+ function getDeclareString(declaration, name) {
52
+ if (!declaration) {
53
+ return;
54
+ }
55
+ const kind = declaration.getKind();
56
+ switch (kind) {
57
+ case ts_morph_1.SyntaxKind.TypeAliasDeclaration:
58
+ return getTypeDeclaration(declaration);
59
+ case ts_morph_1.SyntaxKind.InterfaceDeclaration:
60
+ return getInterfaceDeclaration(declaration);
61
+ case ts_morph_1.SyntaxKind.EnumDeclaration:
62
+ return getEnumDeclaration(declaration);
63
+ case ts_morph_1.SyntaxKind.VariableStatement:
64
+ return getVariableStatementDeclaration(declaration);
65
+ case ts_morph_1.SyntaxKind.VariableDeclaration:
66
+ return getVariableDeclaration(declaration);
67
+ case ts_morph_1.SyntaxKind.FunctionDeclaration:
68
+ case ts_morph_1.SyntaxKind.MethodDeclaration:
69
+ return getFunctionDeclaration(declaration);
70
+ case ts_morph_1.SyntaxKind.GetAccessor:
71
+ case ts_morph_1.SyntaxKind.SetAccessor:
72
+ return getGetterSetterDeclaration(declaration);
73
+ case ts_morph_1.SyntaxKind.ClassDeclaration:
74
+ return getClassDeclaration(getClassStructure(declaration, { scanFunc: false, deepTypesCheck: false }));
75
+ case ts_morph_1.SyntaxKind.MethodSignature:
76
+ case ts_morph_1.SyntaxKind.ModuleDeclaration:
77
+ return declaration.getText();
78
+ case ts_morph_1.SyntaxKind.PropertyDeclaration:
79
+ return getPropDeclaretion(declaration);
80
+ default:
81
+ console.warn(`Unsupported or non-type kind '${kind}' for '${name || declaration.getName?.() || declaration.getText()}'.`);
82
+ break;
83
+ }
84
+ return;
85
+ }
86
+ const importReg = /import\(['"].+['"]\)\.?/g;
87
+ function formatType(type) {
88
+ if (!type) {
89
+ return 'any';
90
+ }
91
+ return type.replaceAll(importReg, '');
92
+ }
93
+ function getTypeDeclaration(typeAlias) {
94
+ return `type ${typeAlias.getName()} = ${typeAlias.getTypeNode()?.getText()};`;
95
+ }
96
+ function getInterfaceDeclaration(declaration) {
97
+ const interfaceDecl = declaration;
98
+ const extendsText = interfaceDecl.getExtends().length > 0
99
+ ? `extends ${interfaceDecl.getExtends().map(e => e.getText()).join(", ")} `
100
+ : '';
101
+ const interfaceMembers = interfaceDecl.getMembers().map(member => {
102
+ const memberKind = member.getKind();
103
+ const questionToken = member.hasQuestionToken?.() ? '?' : '';
104
+ const exclamationToken = member.hasExclamationToken?.() ? '!' : '';
105
+ const mark = questionToken || exclamationToken;
106
+ if (memberKind === ts_morph_1.SyntaxKind.MethodSignature) {
107
+ const methodMember = member.asKind(ts_morph_1.SyntaxKind.MethodSignature);
108
+ const name = methodMember?.getName();
109
+ const params = methodMember?.getParameters().map(p => {
110
+ return formatType(p.getText());
111
+ }).join(", ");
112
+ return `${name}${mark}(${params})=>${formatType(methodMember?.getReturnType().getText())};`;
113
+ }
114
+ let memberType = formatType(member.getType().getBaseTypeOfLiteralType().getText());
115
+ if (member.getName) {
116
+ return `${member.getName()}${mark}:${memberType};`;
117
+ }
118
+ return '';
119
+ });
120
+ return `interface ${interfaceDecl.getName()} ${extendsText}{${interfaceMembers.join('')}}`;
121
+ }
122
+ function getEnumDeclaration(declaration) {
123
+ const enumDecl = declaration;
124
+ return `${enumDecl.getConstKeyword()?.getText() ? ' const' : ''} enum ${enumDecl.getName()} {${getEnumMembers(enumDecl.getMembers())}}`;
125
+ }
126
+ function getEnumMembers(members) {
127
+ return members.map(member => {
128
+ let res = member.getName();
129
+ const value = member.getInitializer()?.getText();
130
+ if (value) {
131
+ res += `=${value}`;
132
+ }
133
+ return res;
134
+ }).join(',');
135
+ }
136
+ function getVariableStatementDeclaration(variableStatement) {
137
+ const declarationKind = variableStatement.getDeclarationKind();
138
+ const varDeclaration = variableStatement.getDeclarations()[0];
139
+ return `${declarationKind} ${varDeclaration.getName()}:${formatType(varDeclaration.getType().getBaseTypeOfLiteralType().getText())};`;
140
+ }
141
+ function getVariableDeclaration(variableDecl) {
142
+ const parent = variableDecl.getParent();
143
+ const declarationKind = parent?.getKind();
144
+ const declarationKindText = declarationKind === ts_morph_1.SyntaxKind.VariableDeclarationList
145
+ ? parent.getDeclarationKind()
146
+ : 'const';
147
+ const variableTypeText = formatType(variableDecl.getType().getBaseTypeOfLiteralType().getText());
148
+ return `${declarationKindText} ${variableDecl.getName()}:${variableTypeText};`;
149
+ }
150
+ function getFunctionDeclaration(funcDecl) {
151
+ const isMember = funcDecl.getKind() === ts_morph_1.SyntaxKind.MethodDeclaration;
152
+ let prefix = '';
153
+ if (!isMember) {
154
+ const exported = funcDecl.hasExportKeyword() ? 'export ' : '';
155
+ prefix = `${exported}function `;
156
+ }
157
+ const name = funcDecl.getName();
158
+ const params = (funcDecl.getStructure().parameters || []).map(p => {
159
+ const dot = p.isRestParameter ? '...' : '';
160
+ return `${dot}${p.name}:${formatType(p.type?.toString())}`;
161
+ }).join(", ");
162
+ let returnType = getReturnType(funcDecl);
163
+ return `${prefix}${name}(${params}):${returnType};`;
164
+ }
165
+ function getGetterSetterDeclaration(funcDecl) {
166
+ const modifiers = funcDecl.getModifiers().map(el => el.getText()).join(' ');
167
+ const isGetter = funcDecl.getKind() === ts_morph_1.SyntaxKind.GetAccessor;
168
+ const name = funcDecl.getName();
169
+ const params = (funcDecl.getStructure().parameters || []).map(p => `${p.name}:${formatType(p.type?.toString())}`).join(", ");
170
+ let returnType = getReturnType(funcDecl);
171
+ return `${modifiers ? modifiers + ' ' : ''}${isGetter ? 'get' : 'set'} ${name}(${params}):${returnType};`;
172
+ }
173
+ function getReturnType(funcDecl) {
174
+ try {
175
+ return formatType(funcDecl.getSignature().getReturnType().getText());
176
+ }
177
+ catch {
178
+ return 'any';
179
+ }
180
+ }
181
+ function getClassDeclaration(structure) {
182
+ if (!structure) {
183
+ return '';
184
+ }
185
+ const { name, type, ext, impl, body } = structure;
186
+ return `class ${name}${type}${ext}${impl} {\n${body.map(([, declareStr]) => `${declareStr}`).join('')}}`;
187
+ }
188
+ function getPropDeclaretion(prop) {
189
+ const typeNode = prop.getTypeNode();
190
+ const initializer = prop.getInitializer();
191
+ const questionToken = prop.hasQuestionToken() ? '?' : '';
192
+ const exclamationToken = prop.hasExclamationToken() ? '!' : '';
193
+ const marker = questionToken || exclamationToken;
194
+ if (typeNode?.getKind() === ts_morph_1.SyntaxKind.FunctionType) {
195
+ return `${prop.getName()}${marker}:${formatType(typeNode.getText())};`;
196
+ }
197
+ const initializerKind = initializer?.getKind();
198
+ if (initializerKind === ts_morph_1.SyntaxKind.ArrowFunction || initializerKind === ts_morph_1.SyntaxKind.FunctionExpression) {
199
+ let paramsText = [];
200
+ const func = initializer?.asKind(ts_morph_1.SyntaxKind.ArrowFunction);
201
+ // const func = initializer?.asKind(SyntaxKind.FunctionExpression)!;
202
+ for (const param of func.getParameters()) {
203
+ paramsText.push(param.getText());
204
+ }
205
+ const returnType = formatType(func.getReturnType().getText());
206
+ return `${prop.getName()}${marker}: (${paramsText.join(',')}) => ${returnType};`;
207
+ }
208
+ if (prop.getName() === 'v') {
209
+ console.error('vvv', prop.getType().getText());
210
+ }
211
+ return `${prop.getName()}${marker}:${formatType(prop.getType().getText())};`;
212
+ }
213
+ function getClassStructure(classDeclaration, options) {
214
+ const className = classDeclaration.getName() || '';
215
+ const functions = [];
216
+ const memberNames = (0, deps_1.getClassMemberNames)(classDeclaration);
217
+ const typeParams = classDeclaration.getTypeParameters();
218
+ let typeString = '';
219
+ if (typeParams?.length) {
220
+ typeString += `<${typeParams.map(el => el.getText()).join(',')}>`;
221
+ }
222
+ const exts = [];
223
+ const impls = [];
224
+ classDeclaration.getHeritageClauses().forEach(el => {
225
+ const debugText = el.getText();
226
+ const types = el.getTypeNodes().map(n => formatType(n.getText()));
227
+ const kind = el.getToken();
228
+ if (kind === ts_morph_1.SyntaxKind.ExtendsKeyword) {
229
+ exts.push(...types);
230
+ }
231
+ else {
232
+ impls.push(...types);
233
+ }
234
+ });
235
+ const body = [];
236
+ const constructors = classDeclaration.getConstructors();
237
+ if (constructors?.length) {
238
+ const constructorParameters = constructors[0].getParameters().map(p => p.getText()).join(', ');
239
+ body.push(['constructor', `constructor(${constructorParameters});\n`]);
240
+ }
241
+ const members = classDeclaration.getMembers() || [];
242
+ for (const member of members) {
243
+ const memberKind = member.getKind();
244
+ if (memberKind === ts_morph_1.SyntaxKind.Constructor || memberKind === ts_morph_1.SyntaxKind.ClassStaticBlockDeclaration) {
245
+ continue;
246
+ }
247
+ const funcData = options?.scanFunc && getClassMemberFunction(member, memberNames, options);
248
+ if (funcData) {
249
+ functions.push(funcData);
250
+ }
251
+ let propStr = getDeclareString(member);
252
+ const modifiers = member.getModifiers().map((modifier) => modifier.getText()).join(' ');
253
+ if (propStr) {
254
+ if (modifiers && !propStr.includes(`${modifiers} `)) {
255
+ propStr = `${modifiers} ${propStr}`;
256
+ }
257
+ body.push([member.getName(), `${propStr}\n`]);
258
+ }
259
+ }
260
+ return {
261
+ name: className,
262
+ type: typeString,
263
+ ext: exts.length ? ` extends ${exts.join(', ')}` : '',
264
+ impl: impls.length ? ` implements ${impls.join(', ')}` : '',
265
+ body,
266
+ functions
267
+ };
268
+ }
269
+ function getClassMemberFunction(member, memberNames, options) {
270
+ const memberKind = member.getKind();
271
+ if (memberKind !== ts_morph_1.SyntaxKind.MethodDeclaration && memberKind !== ts_morph_1.SyntaxKind.PropertyDeclaration) {
272
+ return;
273
+ }
274
+ const scope = member.getScope?.() || 'public';
275
+ if (memberKind === ts_morph_1.SyntaxKind.MethodDeclaration) {
276
+ const method = member;
277
+ const name = method.getName();
278
+ const isStatic = method.isStatic();
279
+ return {
280
+ name,
281
+ body: method.getText(),
282
+ isProp: false,
283
+ isStatic,
284
+ scope,
285
+ externalIdentifiers: options?.skipDependencies ? undefined : (0, deps_1.searchExternalIdentifiers)(method, options, memberNames),
286
+ linesRange: [method.getStartLineNumber(), method.getEndLineNumber()]
287
+ };
288
+ }
289
+ else if (memberKind === ts_morph_1.SyntaxKind.PropertyDeclaration) {
290
+ const prop = member;
291
+ const typeNode = prop.getTypeNode();
292
+ const initializer = prop.getInitializer();
293
+ const debugText = prop?.getText();
294
+ if (typeNode?.getKind() !== ts_morph_1.SyntaxKind.FunctionType && initializer?.getKind() !== ts_morph_1.SyntaxKind.ArrowFunction) {
295
+ return;
296
+ }
297
+ const name = prop.getName();
298
+ const isStatic = prop.isStatic();
299
+ // function without body, sample:
300
+ // 1. followSportsCallback?: (entity?: SportsFollowEntity) => any;
301
+ // 2, @observable showFollowToast?: (entityName: string, timeToShowToastInMS?: number) => { showingToast: boolean };
302
+ if (typeNode?.getKind() === ts_morph_1.SyntaxKind.FunctionType && !initializer) {
303
+ return;
304
+ }
305
+ return {
306
+ name,
307
+ body: prop.getText(),
308
+ isProp: true,
309
+ isStatic,
310
+ scope,
311
+ externalIdentifiers: options?.skipDependencies ? undefined : (0, deps_1.searchExternalIdentifiers)(prop.getInitializer(), options, memberNames),
312
+ linesRange: [prop.getStartLineNumber(), prop.getEndLineNumber()]
313
+ };
314
+ }
315
+ }
316
+ //# sourceMappingURL=declares.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"declares.js","sourceRoot":"","sources":["../../../src/core/analyze/declares.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ import { ClassDeclaration, Node } from "ts-morph";
2
+ interface SearchOptions {
3
+ deepTypesCheck?: boolean;
4
+ }
5
+ export declare function searchExternalIdentifiers(declaration: Node | undefined, options?: SearchOptions, parentScopeVar?: Set<string>): Map<string, string>;
6
+ export declare function getClassMemberNames(declaration: ClassDeclaration): Set<string>;
7
+ export {};
8
+ //# sourceMappingURL=deps.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"deps.d.ts","sourceRoot":"","sources":["../../../src/core/analyze/deps.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAA2C,IAAI,EAA6M,MAAM,UAAU,CAAC;AAQtS,UAAU,aAAa;IACnB,cAAc,CAAC,EAAE,OAAO,CAAC;CAC5B;AAED,wBAAgB,yBAAyB,CAAC,WAAW,EAAE,IAAI,GAAG,SAAS,EAAE,OAAO,CAAC,EAAE,aAAa,EAAE,cAAc,cAAoB,GAAG,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAMzJ;AAqMD,wBAAgB,mBAAmB,CAAC,WAAW,EAAE,gBAAgB,GAAG,GAAG,CAAC,MAAM,CAAC,CAgB9E"}
@@ -0,0 +1,210 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.searchExternalIdentifiers = searchExternalIdentifiers;
4
+ exports.getClassMemberNames = getClassMemberNames;
5
+ const ts_morph_1 = require("ts-morph");
6
+ const global_1 = require("./utils/global");
7
+ const SkipType = new Set([
8
+ ts_morph_1.SyntaxKind.JsxClosingElement,
9
+ ts_morph_1.SyntaxKind.QualifiedName
10
+ ]);
11
+ function searchExternalIdentifiers(declaration, options, parentScopeVar = new Set()) {
12
+ const opts = {
13
+ deepTypesCheck: true,
14
+ ...options
15
+ };
16
+ return search(declaration, opts, new Map(), parentScopeVar);
17
+ }
18
+ function search(declaration, options, res = new Map(), parentScopeVar = new Set()) {
19
+ if (!declaration) {
20
+ return new Map();
21
+ }
22
+ const scopeVariableNames = new Set(parentScopeVar);
23
+ const declarartionKind = declaration.getKind();
24
+ const isTypeDefine = declarartionKind === ts_morph_1.SyntaxKind.TypeAliasDeclaration || declarartionKind === ts_morph_1.SyntaxKind.InterfaceDeclaration;
25
+ // add current function name
26
+ if (declarartionKind === ts_morph_1.SyntaxKind.FunctionDeclaration || isTypeDefine) {
27
+ if (isTypeDefine && options?.deepTypesCheck) {
28
+ return searchTypeReference(declaration, options, res);
29
+ }
30
+ const name = declaration.getName();
31
+ name && scopeVariableNames.add(name);
32
+ }
33
+ // add member names
34
+ if (declarartionKind === ts_morph_1.SyntaxKind.ClassDeclaration) {
35
+ const members = getClassMemberNames(declaration);
36
+ members.size && members.forEach(name => scopeVariableNames.add(name));
37
+ }
38
+ const debugText = declaration.getText();
39
+ declaration.forEachDescendant((node, traversal) => {
40
+ const kind = node.getKind();
41
+ if (SkipType.has(kind)) {
42
+ traversal.skip();
43
+ return;
44
+ }
45
+ let checkName = '';
46
+ const debugText = node.getText();
47
+ if (kind === ts_morph_1.SyntaxKind.TypeAliasDeclaration || kind === ts_morph_1.SyntaxKind.InterfaceDeclaration) {
48
+ traversal.skip();
49
+ options?.deepTypesCheck && searchTypeReference(node, options, res);
50
+ return;
51
+ }
52
+ if (kind === ts_morph_1.SyntaxKind.TypeReference && options?.deepTypesCheck) {
53
+ traversal.skip();
54
+ const name = node.getType().getSymbol()?.getName();
55
+ if (!name || res.has(name) || scopeVariableNames.has(name) || (0, global_1.isTsSymbol)(name)) {
56
+ return;
57
+ }
58
+ const decl = node.getType().getSymbol()?.getDeclarations();
59
+ if (decl?.[0] && isValidDeclaration(decl[0])) {
60
+ res.set(node.getText(), decl[0].getText(false));
61
+ search(decl[0], options, res);
62
+ }
63
+ return;
64
+ }
65
+ if (kind === ts_morph_1.SyntaxKind.VariableDeclaration) {
66
+ const nameNode = node.getNameNode();
67
+ if (nameNode.getKind() === ts_morph_1.SyntaxKind.Identifier) {
68
+ const nodeName = nameNode.getText();
69
+ scopeVariableNames.add(nodeName);
70
+ }
71
+ return;
72
+ }
73
+ if (kind === ts_morph_1.SyntaxKind.FunctionDeclaration || kind === ts_morph_1.SyntaxKind.ClassDeclaration || kind === ts_morph_1.SyntaxKind.Parameter || kind === ts_morph_1.SyntaxKind.TypeParameter) {
74
+ const nodeName = node.getName();
75
+ scopeVariableNames.add(nodeName);
76
+ return;
77
+ }
78
+ // simple binding element or parameter, save and skip current node
79
+ if (kind === ts_morph_1.SyntaxKind.BindingElement) {
80
+ const nodeName = node.getName();
81
+ scopeVariableNames.add(nodeName);
82
+ traversal.skip();
83
+ return;
84
+ }
85
+ // create a new scope, use recursion to scan
86
+ if (kind === ts_morph_1.SyntaxKind.Block) {
87
+ traversal.skip();
88
+ search(node, options, res, scopeVariableNames);
89
+ return;
90
+ }
91
+ if (kind === ts_morph_1.SyntaxKind.PropertyAccessExpression || kind === ts_morph_1.SyntaxKind.ElementAccessExpression) {
92
+ const expression = node.getExpression();
93
+ const expressionKind = expression.getKind();
94
+ if (expressionKind === ts_morph_1.SyntaxKind.SuperKeyword || expressionKind === ts_morph_1.SyntaxKind.ThisKeyword) {
95
+ traversal.skip();
96
+ return;
97
+ }
98
+ const ids = node.getDescendantsOfKind(ts_morph_1.SyntaxKind.Identifier);
99
+ if (ids.length > 0) {
100
+ checkName = ids[0].getText();
101
+ traversal.skip();
102
+ }
103
+ }
104
+ if (kind === ts_morph_1.SyntaxKind.Decorator) {
105
+ checkName = node.getFirstChildByKind(ts_morph_1.SyntaxKind.Identifier)?.getText() || '';
106
+ traversal.skip();
107
+ }
108
+ if (kind === ts_morph_1.SyntaxKind.PropertyAssignment || kind === ts_morph_1.SyntaxKind.PropertySignature || kind === ts_morph_1.SyntaxKind.MethodSignature) {
109
+ const name = node.getName();
110
+ scopeVariableNames.add(name);
111
+ }
112
+ if (kind === ts_morph_1.SyntaxKind.JsxAttribute) {
113
+ checkName = node.getNameNode().getText();
114
+ traversal.skip();
115
+ search(node, options, res, new Set([...scopeVariableNames, checkName]));
116
+ return;
117
+ }
118
+ let needDeepCheck = false;
119
+ if (kind === ts_morph_1.SyntaxKind.Identifier) {
120
+ const parentKind = node.getParent()?.getKind();
121
+ if (parentKind === ts_morph_1.SyntaxKind.JsxClosingElement) {
122
+ return;
123
+ }
124
+ if ((parentKind === ts_morph_1.SyntaxKind.JsxOpeningElement || parentKind === ts_morph_1.SyntaxKind.JsxSelfClosingElement) && !/A-Z/.test(checkName[0])) {
125
+ return;
126
+ }
127
+ checkName = node.getText();
128
+ const type = node.getType();
129
+ const symbol = type?.getSymbol();
130
+ if (symbol && !scopeVariableNames.has(checkName) && !(0, global_1.isTsSymbol)(checkName)) {
131
+ needDeepCheck = true;
132
+ }
133
+ }
134
+ if (!checkName || scopeVariableNames.has(checkName) || (0, global_1.isTsSymbol)(checkName)) {
135
+ return;
136
+ }
137
+ if (needDeepCheck && !res.has(checkName)) {
138
+ const depDeclaration = node.getSymbol()?.getDeclarations() ?? [];
139
+ for (const decl of depDeclaration) {
140
+ if (!isValidDeclaration(decl)) {
141
+ continue;
142
+ }
143
+ res.set(checkName, decl.getText(false));
144
+ options?.deepTypesCheck && search(decl, options, res);
145
+ break;
146
+ }
147
+ }
148
+ !res.has(checkName) && res.set(checkName, '');
149
+ });
150
+ return res;
151
+ }
152
+ function searchTypeReference(node, options, res = new Map()) {
153
+ const name = node.getName();
154
+ const scopeVariableNames = new Set([name]);
155
+ const typeParams = node.getTypeParameters();
156
+ typeParams.forEach(param => {
157
+ scopeVariableNames.add(param.getName());
158
+ });
159
+ node.forEachDescendant((node, traversal) => {
160
+ const kind = node.getKind();
161
+ if (kind === ts_morph_1.SyntaxKind.TypeParameter) {
162
+ scopeVariableNames.add(node.asKind(ts_morph_1.SyntaxKind.TypeParameter).getName());
163
+ traversal.skip();
164
+ return;
165
+ }
166
+ if (kind !== ts_morph_1.SyntaxKind.TypeReference && kind !== ts_morph_1.SyntaxKind.ExpressionWithTypeArguments) {
167
+ return;
168
+ }
169
+ const debugText = node.getText();
170
+ const typeName = node.getType().getSymbol()?.getName();
171
+ if (!typeName || res.has(typeName) || scopeVariableNames.has(typeName) || (0, global_1.isTsSymbol)(typeName)) {
172
+ return;
173
+ }
174
+ const decl = node.getType().getSymbol()?.getDeclarations();
175
+ if (decl?.[0] && isValidDeclaration(decl[0])) {
176
+ traversal.skip();
177
+ const debugText = decl[0].getText();
178
+ res.set(typeName, decl[0].getText(false));
179
+ search(decl[0], options, res);
180
+ }
181
+ });
182
+ return res;
183
+ }
184
+ function isValidDeclaration(node) {
185
+ if (!node) {
186
+ return false;
187
+ }
188
+ const filepath = node.getSourceFile()?.getFilePath();
189
+ if (!filepath || filepath.includes('node_modules') || filepath.includes('libs.')) {
190
+ return false;
191
+ }
192
+ return true;
193
+ }
194
+ function getClassMemberNames(declaration) {
195
+ const res = new Set();
196
+ const name = declaration.getName();
197
+ name && res.add(name);
198
+ declaration.getMembers().forEach(member => {
199
+ const memberKind = member.getKind();
200
+ if (memberKind === ts_morph_1.SyntaxKind.MethodDeclaration
201
+ || memberKind === ts_morph_1.SyntaxKind.PropertyDeclaration
202
+ || memberKind === ts_morph_1.SyntaxKind.GetAccessor
203
+ || memberKind === ts_morph_1.SyntaxKind.SetAccessor) {
204
+ const name = member.getName();
205
+ res.add(name);
206
+ }
207
+ });
208
+ return res;
209
+ }
210
+ //# sourceMappingURL=deps.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"deps.js","sourceRoot":"","sources":["../../../src/core/analyze/deps.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ import { CodeMeta, ExtractOptions } from "./index.type";
2
+ import { Node } from "ts-morph";
3
+ export declare function extractFC(name: string, declaration: Node, options?: ExtractOptions): CodeMeta | undefined;
4
+ //# sourceMappingURL=functionComponent.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"functionComponent.d.ts","sourceRoot":"","sources":["../../../src/core/analyze/functionComponent.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAY,cAAc,EAAE,MAAM,cAAc,CAAC;AAClE,OAAO,EACH,IAAI,EAKP,MAAM,UAAU,CAAC;AAIlB,wBAAgB,SAAS,CACrB,IAAI,EAAE,MAAM,EACZ,WAAW,EAAE,IAAI,EACjB,OAAO,CAAC,EAAE,cAAc,GACzB,QAAQ,GAAG,SAAS,CAgEtB"}