@yalehwang/archguard 0.1.31 → 0.1.33

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 (574) hide show
  1. package/README.md +106 -19
  2. package/assets/grammars/benchmarks.md +101 -0
  3. package/assets/grammars/checksums.json +8 -0
  4. package/{node_modules/tree-sitter/LICENSE → assets/grammars/licenses/tree-sitter-cpp.LICENSE} +2 -2
  5. package/{node_modules/node-gyp-build/LICENSE → assets/grammars/licenses/tree-sitter-go.LICENSE} +5 -5
  6. package/assets/grammars/licenses/tree-sitter-java.LICENSE +21 -0
  7. package/assets/grammars/licenses/tree-sitter-kotlin.LICENSE +21 -0
  8. package/assets/grammars/licenses/tree-sitter-python.LICENSE +21 -0
  9. package/assets/grammars/licenses/tree-sitter.LICENSE +21 -0
  10. package/assets/grammars/provenance.json +66 -0
  11. package/assets/grammars/tree-sitter-cpp.wasm +0 -0
  12. package/assets/grammars/tree-sitter-go.wasm +0 -0
  13. package/assets/grammars/tree-sitter-java.wasm +0 -0
  14. package/assets/grammars/tree-sitter-kotlin.wasm +0 -0
  15. package/assets/grammars/tree-sitter-python.wasm +0 -0
  16. package/assets/grammars/tree-sitter.wasm +0 -0
  17. package/dist/analysis/fitness/rule-types.d.ts +1 -33
  18. package/dist/analysis/fitness/rule-types.d.ts.map +1 -1
  19. package/dist/analysis/gim/direction-hint.d.ts.map +1 -1
  20. package/dist/analysis/gim/direction-hint.js +15 -5
  21. package/dist/analysis/gim/direction-hint.js.map +1 -1
  22. package/dist/analysis/gim/gim-loss-evaluator.d.ts.map +1 -1
  23. package/dist/analysis/gim/gim-loss-evaluator.js +12 -6
  24. package/dist/analysis/gim/gim-loss-evaluator.js.map +1 -1
  25. package/dist/analysis/jl/adjacency-builder.d.ts +8 -0
  26. package/dist/analysis/jl/adjacency-builder.d.ts.map +1 -0
  27. package/dist/analysis/jl/adjacency-builder.js +65 -0
  28. package/dist/analysis/jl/adjacency-builder.js.map +1 -0
  29. package/dist/analysis/jl/cluster-boundary-analyzer.d.ts +13 -0
  30. package/dist/analysis/jl/cluster-boundary-analyzer.d.ts.map +1 -0
  31. package/dist/analysis/jl/cluster-boundary-analyzer.js +233 -0
  32. package/dist/analysis/jl/cluster-boundary-analyzer.js.map +1 -0
  33. package/dist/analysis/jl/drift-calculator.d.ts +6 -0
  34. package/dist/analysis/jl/drift-calculator.d.ts.map +1 -0
  35. package/dist/analysis/jl/drift-calculator.js +104 -0
  36. package/dist/analysis/jl/drift-calculator.js.map +1 -0
  37. package/dist/analysis/jl/drift-exit-code.d.ts +4 -0
  38. package/dist/analysis/jl/drift-exit-code.d.ts.map +1 -0
  39. package/dist/analysis/jl/drift-exit-code.js +9 -0
  40. package/dist/analysis/jl/drift-exit-code.js.map +1 -0
  41. package/dist/analysis/jl/entity-aligner.d.ts +6 -0
  42. package/dist/analysis/jl/entity-aligner.d.ts.map +1 -0
  43. package/dist/analysis/jl/entity-aligner.js +33 -0
  44. package/dist/analysis/jl/entity-aligner.js.map +1 -0
  45. package/dist/analysis/jl/history-writer.d.ts +7 -0
  46. package/dist/analysis/jl/history-writer.d.ts.map +1 -0
  47. package/dist/analysis/jl/history-writer.js +74 -0
  48. package/dist/analysis/jl/history-writer.js.map +1 -0
  49. package/dist/analysis/jl/intrinsic-dimension.d.ts +14 -0
  50. package/dist/analysis/jl/intrinsic-dimension.d.ts.map +1 -0
  51. package/dist/analysis/jl/intrinsic-dimension.js +80 -0
  52. package/dist/analysis/jl/intrinsic-dimension.js.map +1 -0
  53. package/dist/analysis/jl/jl-projector.d.ts +7 -0
  54. package/dist/analysis/jl/jl-projector.d.ts.map +1 -0
  55. package/dist/analysis/jl/jl-projector.js +52 -0
  56. package/dist/analysis/jl/jl-projector.js.map +1 -0
  57. package/dist/analysis/jl/kmeans.d.ts +11 -0
  58. package/dist/analysis/jl/kmeans.d.ts.map +1 -0
  59. package/dist/analysis/jl/kmeans.js +273 -0
  60. package/dist/analysis/jl/kmeans.js.map +1 -0
  61. package/dist/analysis/jl/types.d.ts +166 -0
  62. package/dist/analysis/jl/types.d.ts.map +1 -0
  63. package/dist/analysis/jl/types.js +19 -0
  64. package/dist/analysis/jl/types.js.map +1 -0
  65. package/dist/analysis/shape-smells/index.d.ts +5 -0
  66. package/dist/analysis/shape-smells/index.d.ts.map +1 -0
  67. package/dist/analysis/shape-smells/index.js +5 -0
  68. package/dist/analysis/shape-smells/index.js.map +1 -0
  69. package/dist/analysis/shape-smells/literal-dispersion.d.ts +9 -0
  70. package/dist/analysis/shape-smells/literal-dispersion.d.ts.map +1 -0
  71. package/dist/analysis/shape-smells/literal-dispersion.js +157 -0
  72. package/dist/analysis/shape-smells/literal-dispersion.js.map +1 -0
  73. package/dist/analysis/shape-smells/persistence.d.ts +5 -0
  74. package/dist/analysis/shape-smells/persistence.d.ts.map +1 -0
  75. package/dist/analysis/shape-smells/persistence.js +59 -0
  76. package/dist/analysis/shape-smells/persistence.js.map +1 -0
  77. package/dist/analysis/shape-smells/scope-filter.d.ts +7 -0
  78. package/dist/analysis/shape-smells/scope-filter.d.ts.map +1 -0
  79. package/dist/analysis/shape-smells/scope-filter.js +28 -0
  80. package/dist/analysis/shape-smells/scope-filter.js.map +1 -0
  81. package/dist/analysis/shape-smells/types.d.ts +40 -0
  82. package/dist/analysis/shape-smells/types.d.ts.map +1 -0
  83. package/dist/analysis/shape-smells/types.js +2 -0
  84. package/dist/analysis/shape-smells/types.js.map +1 -0
  85. package/dist/analysis/snapshot-store.js +2 -2
  86. package/dist/analysis/snapshot-store.js.map +1 -1
  87. package/dist/analysis/test-analyzer.d.ts.map +1 -1
  88. package/dist/analysis/test-analyzer.js +1 -1
  89. package/dist/analysis/test-analyzer.js.map +1 -1
  90. package/dist/cli/analyze/normalize-to-diagrams.d.ts.map +1 -1
  91. package/dist/cli/analyze/normalize-to-diagrams.js +35 -0
  92. package/dist/cli/analyze/normalize-to-diagrams.js.map +1 -1
  93. package/dist/cli/analyze/run-analysis.d.ts +6 -0
  94. package/dist/cli/analyze/run-analysis.d.ts.map +1 -1
  95. package/dist/cli/analyze/run-analysis.js +65 -43
  96. package/dist/cli/analyze/run-analysis.js.map +1 -1
  97. package/dist/cli/cache/cache-manager.js +2 -2
  98. package/dist/cli/cache/cache-manager.js.map +1 -1
  99. package/dist/cli/cognitive/ccb-assembler.js.map +1 -1
  100. package/dist/cli/commands/analyze.d.ts +17 -0
  101. package/dist/cli/commands/analyze.d.ts.map +1 -1
  102. package/dist/cli/commands/analyze.js +129 -2
  103. package/dist/cli/commands/analyze.js.map +1 -1
  104. package/dist/cli/commands/check.js.map +1 -1
  105. package/dist/cli/commands/diff.js +1 -1
  106. package/dist/cli/commands/diff.js.map +1 -1
  107. package/dist/cli/commands/init.js.map +1 -1
  108. package/dist/cli/commands/query.d.ts +3 -0
  109. package/dist/cli/commands/query.d.ts.map +1 -1
  110. package/dist/cli/commands/query.js +128 -0
  111. package/dist/cli/commands/query.js.map +1 -1
  112. package/dist/cli/config-loader.d.ts.map +1 -1
  113. package/dist/cli/config-loader.js +6 -1
  114. package/dist/cli/config-loader.js.map +1 -1
  115. package/dist/cli/index.js.map +1 -1
  116. package/dist/cli/mcp/analyze-tool.d.ts +2 -0
  117. package/dist/cli/mcp/analyze-tool.d.ts.map +1 -1
  118. package/dist/cli/mcp/analyze-tool.js +5 -0
  119. package/dist/cli/mcp/analyze-tool.js.map +1 -1
  120. package/dist/cli/mcp/mcp-server.d.ts +7 -2
  121. package/dist/cli/mcp/mcp-server.d.ts.map +1 -1
  122. package/dist/cli/mcp/mcp-server.js +43 -3
  123. package/dist/cli/mcp/mcp-server.js.map +1 -1
  124. package/dist/cli/mcp/tools/arch-health-tools.d.ts +16 -0
  125. package/dist/cli/mcp/tools/arch-health-tools.d.ts.map +1 -0
  126. package/dist/cli/mcp/tools/arch-health-tools.js +207 -0
  127. package/dist/cli/mcp/tools/arch-health-tools.js.map +1 -0
  128. package/dist/cli/mcp/tools/atlas-analytics-tools.d.ts.map +1 -1
  129. package/dist/cli/mcp/tools/atlas-analytics-tools.js +5 -4
  130. package/dist/cli/mcp/tools/atlas-analytics-tools.js.map +1 -1
  131. package/dist/cli/mcp/tools/gim-tools.d.ts.map +1 -1
  132. package/dist/cli/mcp/tools/gim-tools.js +5 -1
  133. package/dist/cli/mcp/tools/gim-tools.js.map +1 -1
  134. package/dist/cli/mcp/tools/git-history-analyze-tool.d.ts.map +1 -1
  135. package/dist/cli/mcp/tools/git-history-analyze-tool.js.map +1 -1
  136. package/dist/cli/mcp/tools/git-history-evidence-pack-tool.js.map +1 -1
  137. package/dist/cli/mcp/tools/git-history-tools.js.map +1 -1
  138. package/dist/cli/mcp/tools/metric-trend-tools.d.ts.map +1 -1
  139. package/dist/cli/mcp/tools/metric-trend-tools.js +2 -1
  140. package/dist/cli/mcp/tools/metric-trend-tools.js.map +1 -1
  141. package/dist/cli/mcp/tools/package-metrics-tools.d.ts.map +1 -1
  142. package/dist/cli/mcp/tools/package-metrics-tools.js +2 -1
  143. package/dist/cli/mcp/tools/package-metrics-tools.js.map +1 -1
  144. package/dist/cli/mcp/tools/shape-smell-tools.d.ts +3 -0
  145. package/dist/cli/mcp/tools/shape-smell-tools.d.ts.map +1 -0
  146. package/dist/cli/mcp/tools/shape-smell-tools.js +187 -0
  147. package/dist/cli/mcp/tools/shape-smell-tools.js.map +1 -0
  148. package/dist/cli/mcp/tools/test-analysis-tools.d.ts.map +1 -1
  149. package/dist/cli/mcp/tools/test-analysis-tools.js +4 -4
  150. package/dist/cli/mcp/tools/test-analysis-tools.js.map +1 -1
  151. package/dist/cli/processors/arch-json-provider-types.d.ts +5 -0
  152. package/dist/cli/processors/arch-json-provider-types.d.ts.map +1 -1
  153. package/dist/cli/processors/arch-json-provider.d.ts +5 -0
  154. package/dist/cli/processors/arch-json-provider.d.ts.map +1 -1
  155. package/dist/cli/processors/arch-json-provider.js +113 -55
  156. package/dist/cli/processors/arch-json-provider.js.map +1 -1
  157. package/dist/cli/processors/arch-json-utils.d.ts.map +1 -1
  158. package/dist/cli/processors/arch-json-utils.js +12 -3
  159. package/dist/cli/processors/arch-json-utils.js.map +1 -1
  160. package/dist/cli/processors/diagram-output-router.d.ts +1 -0
  161. package/dist/cli/processors/diagram-output-router.d.ts.map +1 -1
  162. package/dist/cli/processors/diagram-output-router.js +54 -66
  163. package/dist/cli/processors/diagram-output-router.js.map +1 -1
  164. package/dist/cli/processors/diagram-processor.d.ts +4 -0
  165. package/dist/cli/processors/diagram-processor.d.ts.map +1 -1
  166. package/dist/cli/processors/diagram-processor.js +2 -0
  167. package/dist/cli/processors/diagram-processor.js.map +1 -1
  168. package/dist/cli/processors/worker-pool-factory.d.ts +3 -0
  169. package/dist/cli/processors/worker-pool-factory.d.ts.map +1 -1
  170. package/dist/cli/processors/worker-pool-factory.js +9 -0
  171. package/dist/cli/processors/worker-pool-factory.js.map +1 -1
  172. package/dist/cli/query/engine-loader.d.ts.map +1 -1
  173. package/dist/cli/query/engine-loader.js +3 -3
  174. package/dist/cli/query/engine-loader.js.map +1 -1
  175. package/dist/cli/query/query-artifacts.js +2 -2
  176. package/dist/cli/query/query-artifacts.js.map +1 -1
  177. package/dist/cli/utils/cluster-archjson-loader.d.ts +3 -0
  178. package/dist/cli/utils/cluster-archjson-loader.d.ts.map +1 -0
  179. package/dist/cli/utils/cluster-archjson-loader.js +28 -0
  180. package/dist/cli/utils/cluster-archjson-loader.js.map +1 -0
  181. package/dist/cli/utils/drift-baseline.d.ts +27 -0
  182. package/dist/cli/utils/drift-baseline.d.ts.map +1 -0
  183. package/dist/cli/utils/drift-baseline.js +95 -0
  184. package/dist/cli/utils/drift-baseline.js.map +1 -0
  185. package/dist/cli/utils/drift-reporter.d.ts +3 -0
  186. package/dist/cli/utils/drift-reporter.d.ts.map +1 -0
  187. package/dist/cli/utils/drift-reporter.js +49 -0
  188. package/dist/cli/utils/drift-reporter.js.map +1 -0
  189. package/dist/core/index.d.ts +7 -0
  190. package/dist/core/index.d.ts.map +1 -0
  191. package/dist/core/index.js +4 -0
  192. package/dist/core/index.js.map +1 -0
  193. package/dist/core/interfaces/language-plugin.d.ts +1 -0
  194. package/dist/core/interfaces/language-plugin.d.ts.map +1 -1
  195. package/dist/core/pack-registry/errors.d.ts +5 -0
  196. package/dist/core/pack-registry/errors.d.ts.map +1 -0
  197. package/dist/core/pack-registry/errors.js +9 -0
  198. package/dist/core/pack-registry/errors.js.map +1 -0
  199. package/dist/core/pack-registry/index.d.ts +7 -0
  200. package/dist/core/pack-registry/index.d.ts.map +1 -0
  201. package/dist/core/pack-registry/index.js +4 -0
  202. package/dist/core/pack-registry/index.js.map +1 -0
  203. package/dist/core/pack-registry/knowledge-pack-schema.d.ts +188 -0
  204. package/dist/core/pack-registry/knowledge-pack-schema.d.ts.map +1 -0
  205. package/dist/core/pack-registry/knowledge-pack-schema.js +108 -0
  206. package/dist/core/pack-registry/knowledge-pack-schema.js.map +1 -0
  207. package/dist/core/pack-registry/pack-registry.d.ts +15 -0
  208. package/dist/core/pack-registry/pack-registry.d.ts.map +1 -0
  209. package/dist/core/pack-registry/pack-registry.js +99 -0
  210. package/dist/core/pack-registry/pack-registry.js.map +1 -0
  211. package/dist/core/pack-registry/types.d.ts +87 -0
  212. package/dist/core/pack-registry/types.d.ts.map +1 -0
  213. package/dist/core/pack-registry/types.js +2 -0
  214. package/dist/core/pack-registry/types.js.map +1 -0
  215. package/dist/core/plugin-registry.d.ts +2 -0
  216. package/dist/core/plugin-registry.d.ts.map +1 -1
  217. package/dist/core/plugin-registry.js +15 -2
  218. package/dist/core/plugin-registry.js.map +1 -1
  219. package/dist/core/query/arch-index-builder.js.map +1 -1
  220. package/dist/core/rule-engine/ast-node.d.ts +6 -0
  221. package/dist/core/rule-engine/ast-node.d.ts.map +1 -0
  222. package/dist/core/rule-engine/ast-node.js +15 -0
  223. package/dist/core/rule-engine/ast-node.js.map +1 -0
  224. package/dist/core/rule-engine/index.d.ts +5 -0
  225. package/dist/core/rule-engine/index.d.ts.map +1 -0
  226. package/dist/core/rule-engine/index.js +4 -0
  227. package/dist/core/rule-engine/index.js.map +1 -0
  228. package/dist/core/rule-engine/rule-based-plugin.d.ts +22 -0
  229. package/dist/core/rule-engine/rule-based-plugin.d.ts.map +1 -0
  230. package/dist/core/rule-engine/rule-based-plugin.js +171 -0
  231. package/dist/core/rule-engine/rule-based-plugin.js.map +1 -0
  232. package/dist/core/rule-engine/rule-engine.d.ts +52 -0
  233. package/dist/core/rule-engine/rule-engine.d.ts.map +1 -0
  234. package/dist/core/rule-engine/rule-engine.js +655 -0
  235. package/dist/core/rule-engine/rule-engine.js.map +1 -0
  236. package/dist/mermaid/auto-repair.js +1 -1
  237. package/dist/mermaid/auto-repair.js.map +1 -1
  238. package/dist/mermaid/cpp-package-flowchart-generator.js.map +1 -1
  239. package/dist/mermaid/diagram-generator.d.ts.map +1 -1
  240. package/dist/mermaid/diagram-generator.js +17 -18
  241. package/dist/mermaid/diagram-generator.js.map +1 -1
  242. package/dist/mermaid/generator.d.ts.map +1 -1
  243. package/dist/mermaid/generator.js +19 -1
  244. package/dist/mermaid/generator.js.map +1 -1
  245. package/dist/mermaid/renderer.d.ts.map +1 -1
  246. package/dist/mermaid/renderer.js +1 -1
  247. package/dist/mermaid/renderer.js.map +1 -1
  248. package/dist/mermaid/test-coverage-renderer.d.ts.map +1 -1
  249. package/dist/mermaid/test-coverage-renderer.js +18 -12
  250. package/dist/mermaid/test-coverage-renderer.js.map +1 -1
  251. package/dist/mermaid/types.d.ts +25 -1
  252. package/dist/mermaid/types.d.ts.map +1 -1
  253. package/dist/mermaid/validation-pipeline.d.ts +4 -16
  254. package/dist/mermaid/validation-pipeline.d.ts.map +1 -1
  255. package/dist/mermaid/validation-pipeline.js.map +1 -1
  256. package/dist/parser/archjson-aggregator.js +2 -2
  257. package/dist/parser/archjson-aggregator.js.map +1 -1
  258. package/dist/parser/parallel-parser.d.ts +10 -0
  259. package/dist/parser/parallel-parser.d.ts.map +1 -1
  260. package/dist/parser/parallel-parser.js +76 -35
  261. package/dist/parser/parallel-parser.js.map +1 -1
  262. package/dist/parser/parse-worker-pool.d.ts +59 -0
  263. package/dist/parser/parse-worker-pool.d.ts.map +1 -0
  264. package/dist/parser/parse-worker-pool.js +170 -0
  265. package/dist/parser/parse-worker-pool.js.map +1 -0
  266. package/dist/parser/parse-worker.d.ts +2 -0
  267. package/dist/parser/parse-worker.d.ts.map +1 -0
  268. package/dist/parser/parse-worker.js +72 -0
  269. package/dist/parser/parse-worker.js.map +1 -0
  270. package/dist/parser/process-parse-worker-pools.d.ts +18 -0
  271. package/dist/parser/process-parse-worker-pools.d.ts.map +1 -0
  272. package/dist/parser/process-parse-worker-pools.js +31 -0
  273. package/dist/parser/process-parse-worker-pools.js.map +1 -0
  274. package/dist/parser/typescript-parser.d.ts.map +1 -1
  275. package/dist/parser/typescript-parser.js +3 -2
  276. package/dist/parser/typescript-parser.js.map +1 -1
  277. package/dist/plugins/cpp/builders/class-builder.d.ts +3 -2
  278. package/dist/plugins/cpp/builders/class-builder.d.ts.map +1 -1
  279. package/dist/plugins/cpp/builders/class-builder.js +19 -0
  280. package/dist/plugins/cpp/builders/class-builder.js.map +1 -1
  281. package/dist/plugins/cpp/index.d.ts +4 -1
  282. package/dist/plugins/cpp/index.d.ts.map +1 -1
  283. package/dist/plugins/cpp/index.js +11 -2
  284. package/dist/plugins/cpp/index.js.map +1 -1
  285. package/dist/plugins/cpp/mappers/class-capture-mapper.d.ts +14 -0
  286. package/dist/plugins/cpp/mappers/class-capture-mapper.d.ts.map +1 -0
  287. package/dist/plugins/cpp/mappers/class-capture-mapper.js +76 -0
  288. package/dist/plugins/cpp/mappers/class-capture-mapper.js.map +1 -0
  289. package/dist/plugins/cpp/mappers/enum-capture-mapper.d.ts +6 -0
  290. package/dist/plugins/cpp/mappers/enum-capture-mapper.d.ts.map +1 -0
  291. package/dist/plugins/cpp/mappers/enum-capture-mapper.js +31 -0
  292. package/dist/plugins/cpp/mappers/enum-capture-mapper.js.map +1 -0
  293. package/dist/plugins/cpp/mappers/field-capture-mapper.d.ts +12 -0
  294. package/dist/plugins/cpp/mappers/field-capture-mapper.d.ts.map +1 -0
  295. package/dist/plugins/cpp/mappers/field-capture-mapper.js +66 -0
  296. package/dist/plugins/cpp/mappers/field-capture-mapper.js.map +1 -0
  297. package/dist/plugins/cpp/mappers/function-capture-mapper.d.ts +6 -0
  298. package/dist/plugins/cpp/mappers/function-capture-mapper.d.ts.map +1 -0
  299. package/dist/plugins/cpp/mappers/function-capture-mapper.js +25 -0
  300. package/dist/plugins/cpp/mappers/function-capture-mapper.js.map +1 -0
  301. package/dist/plugins/cpp/mappers/include-capture-mapper.d.ts +5 -0
  302. package/dist/plugins/cpp/mappers/include-capture-mapper.d.ts.map +1 -0
  303. package/dist/plugins/cpp/mappers/include-capture-mapper.js +10 -0
  304. package/dist/plugins/cpp/mappers/include-capture-mapper.js.map +1 -0
  305. package/dist/plugins/cpp/queries/classes.scm +7 -0
  306. package/dist/plugins/cpp/queries/enums.scm +3 -0
  307. package/dist/plugins/cpp/queries/fields.scm +6 -0
  308. package/dist/plugins/cpp/queries/functions.scm +7 -0
  309. package/dist/plugins/cpp/queries/includes.scm +8 -0
  310. package/dist/plugins/cpp/tree-sitter-bridge.d.ts +8 -14
  311. package/dist/plugins/cpp/tree-sitter-bridge.d.ts.map +1 -1
  312. package/dist/plugins/cpp/tree-sitter-bridge.js +60 -238
  313. package/dist/plugins/cpp/tree-sitter-bridge.js.map +1 -1
  314. package/dist/plugins/golang/atlas/behavior-analyzer.d.ts.map +1 -1
  315. package/dist/plugins/golang/atlas/behavior-analyzer.js.map +1 -1
  316. package/dist/plugins/golang/atlas/builders/flow-graph-builder.js.map +1 -1
  317. package/dist/plugins/golang/atlas/builders/goroutine-topology-builder.js.map +1 -1
  318. package/dist/plugins/golang/atlas/go-mod-resolver.d.ts.map +1 -1
  319. package/dist/plugins/golang/atlas/go-mod-resolver.js +2 -1
  320. package/dist/plugins/golang/atlas/go-mod-resolver.js.map +1 -1
  321. package/dist/plugins/golang/atlas/renderers/capability-mermaid-template.d.ts.map +1 -1
  322. package/dist/plugins/golang/atlas/renderers/capability-mermaid-template.js.map +1 -1
  323. package/dist/plugins/golang/atlas/renderers/flow-mermaid-template.d.ts.map +1 -1
  324. package/dist/plugins/golang/atlas/renderers/flow-mermaid-template.js.map +1 -1
  325. package/dist/plugins/golang/atlas/renderers/goroutine-mermaid-template.d.ts.map +1 -1
  326. package/dist/plugins/golang/atlas/renderers/goroutine-mermaid-template.js.map +1 -1
  327. package/dist/plugins/golang/atlas/renderers/mermaid-templates.d.ts.map +1 -1
  328. package/dist/plugins/golang/atlas/renderers/mermaid-templates.js.map +1 -1
  329. package/dist/plugins/golang/builders/function-builder.d.ts +4 -4
  330. package/dist/plugins/golang/builders/function-builder.d.ts.map +1 -1
  331. package/dist/plugins/golang/builders/function-builder.js.map +1 -1
  332. package/dist/plugins/golang/builders/goroutine-builder.d.ts +2 -2
  333. package/dist/plugins/golang/builders/goroutine-builder.d.ts.map +1 -1
  334. package/dist/plugins/golang/builders/goroutine-builder.js.map +1 -1
  335. package/dist/plugins/golang/builders/interface-builder.d.ts +4 -4
  336. package/dist/plugins/golang/builders/interface-builder.d.ts.map +1 -1
  337. package/dist/plugins/golang/builders/interface-builder.js.map +1 -1
  338. package/dist/plugins/golang/builders/node-utils.d.ts +3 -3
  339. package/dist/plugins/golang/builders/node-utils.d.ts.map +1 -1
  340. package/dist/plugins/golang/builders/node-utils.js.map +1 -1
  341. package/dist/plugins/golang/builders/struct-builder.d.ts +2 -2
  342. package/dist/plugins/golang/builders/struct-builder.d.ts.map +1 -1
  343. package/dist/plugins/golang/builders/struct-builder.js.map +1 -1
  344. package/dist/plugins/golang/go-atlas-adapter.d.ts +3 -3
  345. package/dist/plugins/golang/go-atlas-adapter.d.ts.map +1 -1
  346. package/dist/plugins/golang/go-atlas-adapter.js +4 -4
  347. package/dist/plugins/golang/go-atlas-adapter.js.map +1 -1
  348. package/dist/plugins/golang/go-parse-coordinator.d.ts +10 -2
  349. package/dist/plugins/golang/go-parse-coordinator.d.ts.map +1 -1
  350. package/dist/plugins/golang/go-parse-coordinator.js +44 -6
  351. package/dist/plugins/golang/go-parse-coordinator.js.map +1 -1
  352. package/dist/plugins/golang/gopls-client.d.ts +32 -3
  353. package/dist/plugins/golang/gopls-client.d.ts.map +1 -1
  354. package/dist/plugins/golang/gopls-client.js +246 -40
  355. package/dist/plugins/golang/gopls-client.js.map +1 -1
  356. package/dist/plugins/golang/gopls-interface-resolver.d.ts +14 -1
  357. package/dist/plugins/golang/gopls-interface-resolver.d.ts.map +1 -1
  358. package/dist/plugins/golang/gopls-interface-resolver.js +42 -11
  359. package/dist/plugins/golang/gopls-interface-resolver.js.map +1 -1
  360. package/dist/plugins/golang/index.d.ts +3 -1
  361. package/dist/plugins/golang/index.d.ts.map +1 -1
  362. package/dist/plugins/golang/index.js +20 -3
  363. package/dist/plugins/golang/index.js.map +1 -1
  364. package/dist/plugins/golang/interface-matcher.d.ts.map +1 -1
  365. package/dist/plugins/golang/interface-matcher.js +32 -30
  366. package/dist/plugins/golang/interface-matcher.js.map +1 -1
  367. package/dist/plugins/golang/tree-sitter-bridge.d.ts +3 -2
  368. package/dist/plugins/golang/tree-sitter-bridge.d.ts.map +1 -1
  369. package/dist/plugins/golang/tree-sitter-bridge.js +25 -23
  370. package/dist/plugins/golang/tree-sitter-bridge.js.map +1 -1
  371. package/dist/plugins/golang/types.d.ts +4 -0
  372. package/dist/plugins/golang/types.d.ts.map +1 -1
  373. package/dist/plugins/java/dependency-extractor.d.ts.map +1 -1
  374. package/dist/plugins/java/dependency-extractor.js.map +1 -1
  375. package/dist/plugins/java/index.d.ts +4 -0
  376. package/dist/plugins/java/index.d.ts.map +1 -1
  377. package/dist/plugins/java/index.js +12 -1
  378. package/dist/plugins/java/index.js.map +1 -1
  379. package/dist/plugins/java/tree-sitter-bridge.d.ts +3 -2
  380. package/dist/plugins/java/tree-sitter-bridge.d.ts.map +1 -1
  381. package/dist/plugins/java/tree-sitter-bridge.js +33 -31
  382. package/dist/plugins/java/tree-sitter-bridge.js.map +1 -1
  383. package/dist/plugins/java/types.d.ts +1 -1
  384. package/dist/plugins/java/types.d.ts.map +1 -1
  385. package/dist/plugins/kotlin/builders/class-builder.d.ts +2 -1
  386. package/dist/plugins/kotlin/builders/class-builder.d.ts.map +1 -1
  387. package/dist/plugins/kotlin/builders/class-builder.js.map +1 -1
  388. package/dist/plugins/kotlin/builders/function-builder.d.ts +2 -1
  389. package/dist/plugins/kotlin/builders/function-builder.d.ts.map +1 -1
  390. package/dist/plugins/kotlin/builders/function-builder.js.map +1 -1
  391. package/dist/plugins/kotlin/index.d.ts +6 -3
  392. package/dist/plugins/kotlin/index.d.ts.map +1 -1
  393. package/dist/plugins/kotlin/index.js +12 -4
  394. package/dist/plugins/kotlin/index.js.map +1 -1
  395. package/dist/plugins/kotlin/tree-sitter-bridge.d.ts +3 -3
  396. package/dist/plugins/kotlin/tree-sitter-bridge.d.ts.map +1 -1
  397. package/dist/plugins/kotlin/tree-sitter-bridge.js +6 -7
  398. package/dist/plugins/kotlin/tree-sitter-bridge.js.map +1 -1
  399. package/dist/plugins/python/archjson-mapper.d.ts.map +1 -1
  400. package/dist/plugins/python/archjson-mapper.js.map +1 -1
  401. package/dist/plugins/python/index.d.ts +4 -0
  402. package/dist/plugins/python/index.d.ts.map +1 -1
  403. package/dist/plugins/python/index.js +12 -1
  404. package/dist/plugins/python/index.js.map +1 -1
  405. package/dist/plugins/python/tree-sitter-bridge.d.ts +3 -2
  406. package/dist/plugins/python/tree-sitter-bridge.d.ts.map +1 -1
  407. package/dist/plugins/python/tree-sitter-bridge.js +50 -48
  408. package/dist/plugins/python/tree-sitter-bridge.js.map +1 -1
  409. package/dist/plugins/shared/capture-mapper.d.ts +12 -0
  410. package/dist/plugins/shared/capture-mapper.d.ts.map +1 -0
  411. package/dist/plugins/shared/capture-mapper.js +33 -0
  412. package/dist/plugins/shared/capture-mapper.js.map +1 -0
  413. package/dist/plugins/shared/index.d.ts +4 -0
  414. package/dist/plugins/shared/index.d.ts.map +1 -0
  415. package/dist/plugins/shared/index.js +3 -0
  416. package/dist/plugins/shared/index.js.map +1 -0
  417. package/dist/plugins/shared/native-parser-backend.d.ts +34 -0
  418. package/dist/plugins/shared/native-parser-backend.d.ts.map +1 -0
  419. package/dist/plugins/shared/native-parser-backend.js +96 -0
  420. package/dist/plugins/shared/native-parser-backend.js.map +1 -0
  421. package/dist/plugins/shared/parser-backend.d.ts +13 -0
  422. package/dist/plugins/shared/parser-backend.d.ts.map +1 -0
  423. package/dist/plugins/shared/parser-backend.js +39 -0
  424. package/dist/plugins/shared/parser-backend.js.map +1 -0
  425. package/dist/plugins/shared/parser-runtime.d.ts +32 -0
  426. package/dist/plugins/shared/parser-runtime.d.ts.map +1 -0
  427. package/dist/plugins/shared/parser-runtime.js +156 -0
  428. package/dist/plugins/shared/parser-runtime.js.map +1 -0
  429. package/dist/plugins/shared/plugin-factory.d.ts +5 -0
  430. package/dist/plugins/shared/plugin-factory.d.ts.map +1 -0
  431. package/dist/plugins/shared/plugin-factory.js +27 -0
  432. package/dist/plugins/shared/plugin-factory.js.map +1 -0
  433. package/dist/plugins/shared/query-loader.d.ts +14 -0
  434. package/dist/plugins/shared/query-loader.d.ts.map +1 -0
  435. package/dist/plugins/shared/query-loader.js +47 -0
  436. package/dist/plugins/shared/query-loader.js.map +1 -0
  437. package/dist/plugins/shared/syntax-tree.d.ts +45 -0
  438. package/dist/plugins/shared/syntax-tree.d.ts.map +1 -0
  439. package/dist/plugins/shared/syntax-tree.js +2 -0
  440. package/dist/plugins/shared/syntax-tree.js.map +1 -0
  441. package/dist/plugins/shared/wasm-parser-backend.d.ts +18 -0
  442. package/dist/plugins/shared/wasm-parser-backend.d.ts.map +1 -0
  443. package/dist/plugins/shared/wasm-parser-backend.js +127 -0
  444. package/dist/plugins/shared/wasm-parser-backend.js.map +1 -0
  445. package/dist/plugins/typescript/builders/module-graph-builder.d.ts.map +1 -1
  446. package/dist/plugins/typescript/builders/module-graph-builder.js +2 -3
  447. package/dist/plugins/typescript/builders/module-graph-builder.js.map +1 -1
  448. package/dist/plugins/typescript/index.d.ts.map +1 -1
  449. package/dist/plugins/typescript/index.js +6 -6
  450. package/dist/plugins/typescript/index.js.map +1 -1
  451. package/dist/types/config-cli.d.ts +3 -0
  452. package/dist/types/config-cli.d.ts.map +1 -1
  453. package/dist/types/config-global.d.ts +7 -1
  454. package/dist/types/config-global.d.ts.map +1 -1
  455. package/dist/types/config.d.ts +1 -0
  456. package/dist/types/config.d.ts.map +1 -1
  457. package/dist/types/config.js +1 -0
  458. package/dist/types/config.js.map +1 -1
  459. package/dist/types/fitness-rules.d.ts +34 -0
  460. package/dist/types/fitness-rules.d.ts.map +1 -0
  461. package/dist/types/fitness-rules.js +2 -0
  462. package/dist/types/fitness-rules.js.map +1 -0
  463. package/dist/types/index.d.ts +1 -1
  464. package/dist/types/index.d.ts.map +1 -1
  465. package/dist/types/parser-runtime.d.ts +4 -0
  466. package/dist/types/parser-runtime.d.ts.map +1 -0
  467. package/dist/types/parser-runtime.js +5 -0
  468. package/dist/types/parser-runtime.js.map +1 -0
  469. package/dist/utils/error-message.d.ts +2 -0
  470. package/dist/utils/error-message.d.ts.map +1 -0
  471. package/dist/utils/error-message.js +8 -0
  472. package/dist/utils/error-message.js.map +1 -0
  473. package/package.json +34 -18
  474. package/node_modules/node-addon-api/LICENSE.md +0 -9
  475. package/node_modules/node-addon-api/README.md +0 -95
  476. package/node_modules/node-addon-api/common.gypi +0 -21
  477. package/node_modules/node-addon-api/except.gypi +0 -25
  478. package/node_modules/node-addon-api/index.js +0 -14
  479. package/node_modules/node-addon-api/napi-inl.deprecated.h +0 -186
  480. package/node_modules/node-addon-api/napi-inl.h +0 -7033
  481. package/node_modules/node-addon-api/napi.h +0 -3309
  482. package/node_modules/node-addon-api/node_addon_api.gyp +0 -42
  483. package/node_modules/node-addon-api/node_api.gyp +0 -9
  484. package/node_modules/node-addon-api/noexcept.gypi +0 -26
  485. package/node_modules/node-addon-api/nothing.c +0 -0
  486. package/node_modules/node-addon-api/package-support.json +0 -21
  487. package/node_modules/node-addon-api/package.json +0 -480
  488. package/node_modules/node-addon-api/tools/README.md +0 -73
  489. package/node_modules/node-addon-api/tools/check-napi.js +0 -99
  490. package/node_modules/node-addon-api/tools/clang-format.js +0 -71
  491. package/node_modules/node-addon-api/tools/conversion.js +0 -301
  492. package/node_modules/node-gyp-build/README.md +0 -58
  493. package/node_modules/node-gyp-build/SECURITY.md +0 -5
  494. package/node_modules/node-gyp-build/bin.js +0 -84
  495. package/node_modules/node-gyp-build/build-test.js +0 -19
  496. package/node_modules/node-gyp-build/index.js +0 -6
  497. package/node_modules/node-gyp-build/node-gyp-build.js +0 -207
  498. package/node_modules/node-gyp-build/optional.js +0 -7
  499. package/node_modules/node-gyp-build/package.json +0 -43
  500. package/node_modules/tree-sitter/README.md +0 -128
  501. package/node_modules/tree-sitter/binding.gyp +0 -80
  502. package/node_modules/tree-sitter/index.js +0 -916
  503. package/node_modules/tree-sitter/package.json +0 -76
  504. package/node_modules/tree-sitter/prebuilds/linux-x64/node.napi.glibc.node +0 -0
  505. package/node_modules/tree-sitter/src/addon_data.h +0 -47
  506. package/node_modules/tree-sitter/src/binding.cc +0 -35
  507. package/node_modules/tree-sitter/src/conversions.cc +0 -140
  508. package/node_modules/tree-sitter/src/conversions.h +0 -22
  509. package/node_modules/tree-sitter/src/language.cc +0 -106
  510. package/node_modules/tree-sitter/src/language.h +0 -17
  511. package/node_modules/tree-sitter/src/logger.cc +0 -70
  512. package/node_modules/tree-sitter/src/logger.h +0 -19
  513. package/node_modules/tree-sitter/src/lookaheaditerator.cc +0 -122
  514. package/node_modules/tree-sitter/src/lookaheaditerator.h +0 -33
  515. package/node_modules/tree-sitter/src/node.cc +0 -1088
  516. package/node_modules/tree-sitter/src/node.h +0 -30
  517. package/node_modules/tree-sitter/src/parser.cc +0 -306
  518. package/node_modules/tree-sitter/src/parser.h +0 -35
  519. package/node_modules/tree-sitter/src/query.cc +0 -397
  520. package/node_modules/tree-sitter/src/query.h +0 -40
  521. package/node_modules/tree-sitter/src/tree.cc +0 -316
  522. package/node_modules/tree-sitter/src/tree.h +0 -45
  523. package/node_modules/tree-sitter/src/tree_cursor.cc +0 -213
  524. package/node_modules/tree-sitter/src/tree_cursor.h +0 -52
  525. package/node_modules/tree-sitter/tree-sitter.d.ts +0 -1042
  526. package/node_modules/tree-sitter/vendor/tree-sitter/lib/include/tree_sitter/api.h +0 -1478
  527. package/node_modules/tree-sitter/vendor/tree-sitter/lib/src/alloc.c +0 -48
  528. package/node_modules/tree-sitter/vendor/tree-sitter/lib/src/alloc.h +0 -41
  529. package/node_modules/tree-sitter/vendor/tree-sitter/lib/src/array.h +0 -291
  530. package/node_modules/tree-sitter/vendor/tree-sitter/lib/src/atomic.h +0 -68
  531. package/node_modules/tree-sitter/vendor/tree-sitter/lib/src/clock.h +0 -146
  532. package/node_modules/tree-sitter/vendor/tree-sitter/lib/src/error_costs.h +0 -11
  533. package/node_modules/tree-sitter/vendor/tree-sitter/lib/src/get_changed_ranges.c +0 -523
  534. package/node_modules/tree-sitter/vendor/tree-sitter/lib/src/get_changed_ranges.h +0 -36
  535. package/node_modules/tree-sitter/vendor/tree-sitter/lib/src/host.h +0 -21
  536. package/node_modules/tree-sitter/vendor/tree-sitter/lib/src/language.c +0 -293
  537. package/node_modules/tree-sitter/vendor/tree-sitter/lib/src/language.h +0 -293
  538. package/node_modules/tree-sitter/vendor/tree-sitter/lib/src/length.h +0 -52
  539. package/node_modules/tree-sitter/vendor/tree-sitter/lib/src/lexer.c +0 -483
  540. package/node_modules/tree-sitter/vendor/tree-sitter/lib/src/lexer.h +0 -54
  541. package/node_modules/tree-sitter/vendor/tree-sitter/lib/src/lib.c +0 -12
  542. package/node_modules/tree-sitter/vendor/tree-sitter/lib/src/node.c +0 -875
  543. package/node_modules/tree-sitter/vendor/tree-sitter/lib/src/parser.c +0 -2293
  544. package/node_modules/tree-sitter/vendor/tree-sitter/lib/src/parser.h +0 -286
  545. package/node_modules/tree-sitter/vendor/tree-sitter/lib/src/point.h +0 -48
  546. package/node_modules/tree-sitter/vendor/tree-sitter/lib/src/portable/endian.h +0 -239
  547. package/node_modules/tree-sitter/vendor/tree-sitter/lib/src/query.c +0 -4350
  548. package/node_modules/tree-sitter/vendor/tree-sitter/lib/src/reduce_action.h +0 -34
  549. package/node_modules/tree-sitter/vendor/tree-sitter/lib/src/reusable_node.h +0 -95
  550. package/node_modules/tree-sitter/vendor/tree-sitter/lib/src/stack.c +0 -911
  551. package/node_modules/tree-sitter/vendor/tree-sitter/lib/src/stack.h +0 -133
  552. package/node_modules/tree-sitter/vendor/tree-sitter/lib/src/subtree.c +0 -1034
  553. package/node_modules/tree-sitter/vendor/tree-sitter/lib/src/subtree.h +0 -399
  554. package/node_modules/tree-sitter/vendor/tree-sitter/lib/src/tree.c +0 -170
  555. package/node_modules/tree-sitter/vendor/tree-sitter/lib/src/tree.h +0 -31
  556. package/node_modules/tree-sitter/vendor/tree-sitter/lib/src/tree_cursor.c +0 -717
  557. package/node_modules/tree-sitter/vendor/tree-sitter/lib/src/tree_cursor.h +0 -48
  558. package/node_modules/tree-sitter/vendor/tree-sitter/lib/src/ts_assert.h +0 -11
  559. package/node_modules/tree-sitter/vendor/tree-sitter/lib/src/unicode/ICU_SHA +0 -1
  560. package/node_modules/tree-sitter/vendor/tree-sitter/lib/src/unicode/LICENSE +0 -414
  561. package/node_modules/tree-sitter/vendor/tree-sitter/lib/src/unicode/README.md +0 -29
  562. package/node_modules/tree-sitter/vendor/tree-sitter/lib/src/unicode/ptypes.h +0 -1
  563. package/node_modules/tree-sitter/vendor/tree-sitter/lib/src/unicode/umachine.h +0 -448
  564. package/node_modules/tree-sitter/vendor/tree-sitter/lib/src/unicode/urename.h +0 -1
  565. package/node_modules/tree-sitter/vendor/tree-sitter/lib/src/unicode/utf.h +0 -1
  566. package/node_modules/tree-sitter/vendor/tree-sitter/lib/src/unicode/utf16.h +0 -733
  567. package/node_modules/tree-sitter/vendor/tree-sitter/lib/src/unicode/utf8.h +0 -881
  568. package/node_modules/tree-sitter/vendor/tree-sitter/lib/src/unicode.h +0 -75
  569. package/node_modules/tree-sitter/vendor/tree-sitter/lib/src/wasm/stdlib-symbols.txt +0 -24
  570. package/node_modules/tree-sitter/vendor/tree-sitter/lib/src/wasm/stdlib.c +0 -113
  571. package/node_modules/tree-sitter/vendor/tree-sitter/lib/src/wasm/wasm-stdlib.h +0 -1314
  572. package/node_modules/tree-sitter/vendor/tree-sitter/lib/src/wasm_store.c +0 -1935
  573. package/node_modules/tree-sitter/vendor/tree-sitter/lib/src/wasm_store.h +0 -31
  574. package/scripts/postinstall-tree-sitter.mjs +0 -28
@@ -1,397 +0,0 @@
1
- #include "./query.h"
2
- #include "./language.h"
3
- #include "./node.h"
4
-
5
- #include <napi.h>
6
- #include <string>
7
- #include <vector>
8
-
9
- using std::vector;
10
- using namespace Napi;
11
-
12
- namespace node_tree_sitter {
13
-
14
- /*
15
- tstag() {
16
- b2sum -l64 <(printf tree-sitter) <(printf "$1") | \
17
- awk '{printf "0x" toupper($1) (NR == 1 ? ", " : "\n")}'
18
- }
19
- tstag query # => 0x8AF2E5212AD58ABF, 0x7B1FAB666CBD6803
20
- */
21
- const napi_type_tag QUERY_TYPE_TAG = {
22
- 0x8AF2E5212AD58ABF, 0x7B1FAB666CBD6803
23
- };
24
-
25
- const char *query_error_names[] = {
26
- "TSQueryErrorNone",
27
- "TSQueryErrorSyntax",
28
- "TSQueryErrorNodeType",
29
- "TSQueryErrorField",
30
- "TSQueryErrorCapture",
31
- "TSQueryErrorStructure",
32
- };
33
-
34
- void Query::Init(Napi::Env env, Napi::Object exports) {
35
- auto *data = env.GetInstanceData<AddonData>();
36
- data->ts_query_cursor = ts_query_cursor_new();
37
-
38
- Function ctor = DefineClass(env, "Query", {
39
- InstanceAccessor("matchLimit", &Query::MatchLimit, nullptr, napi_default_method),
40
-
41
- InstanceMethod("_matches", &Query::Matches, napi_default_method),
42
- InstanceMethod("_captures", &Query::Captures, napi_default_method),
43
- InstanceMethod("_getPredicates", &Query::GetPredicates, napi_default_method),
44
- InstanceMethod("disableCapture", &Query::DisableCapture, napi_default_method),
45
- InstanceMethod("disablePattern", &Query::DisablePattern, napi_default_method),
46
- InstanceMethod("isPatternGuaranteedAtStep", &Query::IsPatternGuaranteedAtStep, napi_default_method),
47
- InstanceMethod("isPatternRooted", &Query::IsPatternRooted, napi_default_method),
48
- InstanceMethod("isPatternNonLocal", &Query::IsPatternNonLocal, napi_default_method),
49
- InstanceMethod("startIndexForPattern", &Query::StartIndexForPattern, napi_default_method),
50
- InstanceMethod("endIndexForPattern", &Query::EndIndexForPattern, napi_default_method),
51
- InstanceMethod("didExceedMatchLimit", &Query::DidExceedMatchLimit, napi_default_method),
52
- });
53
-
54
- data->query_constructor = Napi::Persistent(ctor);
55
- exports["Query"] = ctor;
56
- }
57
-
58
- Query::Query(const Napi::CallbackInfo &info) : Napi::ObjectWrap<Query>(info) , query_(nullptr) {
59
- Napi::Env env = info.Env();
60
-
61
- Value().TypeTag(&QUERY_TYPE_TAG);
62
-
63
- const TSLanguage *language = language_methods::UnwrapLanguage(info[0]);
64
- const char *source;
65
- uint32_t source_len;
66
- uint32_t error_offset = 0;
67
- TSQueryError error_type = TSQueryErrorNone;
68
-
69
- if (language == nullptr) {
70
- throw Error::New(env, "Missing language argument");
71
- }
72
-
73
- if (info[1].IsString()) {
74
- auto string = info[1].As<String>();
75
- std::string utf8_string = string.Utf8Value();
76
- source = utf8_string.data();
77
- source_len = utf8_string.length();
78
- query_ = ts_query_new(language, source, source_len, &error_offset, &error_type);
79
- } else if (info[1].IsBuffer()) {
80
- auto buf = info[1].As<Buffer<char>>();
81
- source = buf.Data();
82
- source_len = buf.Length();
83
- query_ = ts_query_new(language, source, source_len, &error_offset, &error_type);
84
- }
85
- else {
86
- throw Error::New(env, "Missing source argument");
87
- }
88
-
89
- if (error_offset > 0) {
90
- const char *error_name = query_error_names[error_type];
91
- std::string message = "Query error of type ";
92
- message += error_name;
93
- message += " at position ";
94
- message += std::to_string(error_offset);
95
- throw Error::New(env, message.c_str());
96
- }
97
-
98
- info.This().As<Napi::Object>().Get("_init").As<Napi::Function>().Call(info.This(), {});
99
- }
100
-
101
- Query::~Query() {
102
- ts_query_delete(query_);
103
- }
104
-
105
- Query *Query::UnwrapQuery(const Napi::Value &value) {
106
- if (!value.IsObject()) {
107
- return nullptr;
108
- }
109
- auto js_query = value.As<Object>();
110
- if (!js_query.CheckTypeTag(&QUERY_TYPE_TAG)) {
111
- return nullptr;
112
- }
113
- return Query::Unwrap(js_query);
114
- }
115
-
116
- Napi::Value Query::GetPredicates(const Napi::CallbackInfo &info) {
117
- Napi::Env env = info.Env();
118
- Query *query = Query::UnwrapQuery(info.This());
119
- auto *ts_query = query->query_;
120
-
121
- auto pattern_len = ts_query_pattern_count(ts_query);
122
-
123
- Array js_predicates = Array::New(env);
124
-
125
- for (size_t pattern_index = 0; pattern_index < pattern_len; pattern_index++) {
126
- uint32_t predicates_len;
127
- const TSQueryPredicateStep *predicates = ts_query_predicates_for_pattern(
128
- ts_query, pattern_index, &predicates_len);
129
-
130
- Array js_pattern_predicates = Array::New(env);
131
-
132
- if (predicates_len > 0) {
133
- Array js_predicate = Array::New(env);
134
-
135
- size_t a_index = 0;
136
- size_t p_index = 0;
137
- for (size_t i = 0; i < predicates_len; i++) {
138
- const TSQueryPredicateStep predicate = predicates[i];
139
- uint32_t len;
140
- switch (predicate.type) {
141
- case TSQueryPredicateStepTypeCapture:
142
- js_predicate[p_index++] = Number::New(env, TSQueryPredicateStepTypeCapture);
143
- js_predicate[p_index++] = String::New(env,
144
- ts_query_capture_name_for_id(ts_query, predicate.value_id, &len)
145
- );
146
- break;
147
- case TSQueryPredicateStepTypeString:
148
- js_predicate[p_index++] = Number::New(env, TSQueryPredicateStepTypeString);
149
- js_predicate[p_index++] = String::New(env,
150
- ts_query_string_value_for_id(ts_query, predicate.value_id, &len)
151
- );
152
- break;
153
- case TSQueryPredicateStepTypeDone:
154
- js_pattern_predicates[a_index++] = js_predicate;
155
- js_predicate = Array::New(env);
156
- p_index = 0;
157
- break;
158
- }
159
- }
160
- }
161
-
162
- js_predicates[pattern_index] = js_pattern_predicates;
163
- }
164
-
165
- return js_predicates;
166
- }
167
-
168
- Napi::Value Query::Matches(const Napi::CallbackInfo &info) {
169
- Napi::Env env = info.Env();
170
- auto *data = env.GetInstanceData<AddonData>();
171
- Query *query = Query::UnwrapQuery(info.This());
172
- const Tree *tree = Tree::UnwrapTree(info[0]);
173
-
174
- uint32_t start_row = 0, start_column = 0, end_row = 0, end_column = 0, start_index = 0, end_index = 0,
175
- match_limit = UINT32_MAX, max_start_depth = UINT32_MAX, timeout_micros = 0;
176
-
177
- if (info.Length() > 1 && info[1].IsNumber()) {
178
- start_row = info[1].As<Number>().Uint32Value();
179
- }
180
- if (info.Length() > 2 && info[2].IsNumber()) {
181
- start_column = info[2].As<Number>().Uint32Value() << 1;
182
- }
183
- if (info.Length() > 3 && info[3].IsNumber()) {
184
- end_row = info[3].As<Number>().Uint32Value();
185
- }
186
- if (info.Length() > 4 && info[4].IsNumber()) {
187
- end_column = info[4].As<Number>().Uint32Value() << 1;
188
- }
189
- if (info.Length() > 5 && info[5].IsNumber()) {
190
- start_index = info[5].As<Number>().Uint32Value();
191
- }
192
- if (info.Length() > 6 && info[6].IsNumber()) {
193
- end_index = info[6].As<Number>().Uint32Value() << 1;
194
- }
195
- if (info.Length() > 7 && info[7].IsNumber()) {
196
- match_limit = info[7].As<Number>().Uint32Value();
197
- }
198
- if (info.Length() > 8 && info[8].IsNumber()) {
199
- max_start_depth = info[8].As<Number>().Uint32Value();
200
- }
201
- if (info.Length() > 9 && info[9].IsNumber()) {
202
- timeout_micros = info[9].As<Number>().Uint32Value();
203
- }
204
-
205
- if (query == nullptr) {
206
- throw Error::New(env, "Missing argument query");
207
- }
208
-
209
- if (tree == nullptr) {
210
- throw Error::New(env, "Missing argument tree");
211
- }
212
-
213
- TSQuery *ts_query = query->query_;
214
- TSNode root_node = node_methods::UnmarshalNode(env, tree);
215
- TSPoint start_point = {start_row, start_column};
216
- TSPoint end_point = {end_row, end_column};
217
- ts_query_cursor_set_point_range(data->ts_query_cursor, start_point, end_point);
218
- ts_query_cursor_set_byte_range(data->ts_query_cursor, start_index, end_index);
219
- ts_query_cursor_set_match_limit(data->ts_query_cursor, match_limit);
220
- ts_query_cursor_set_max_start_depth(data->ts_query_cursor, max_start_depth);
221
- ts_query_cursor_set_timeout_micros(data->ts_query_cursor, timeout_micros);
222
- ts_query_cursor_exec(data->ts_query_cursor, ts_query, root_node);
223
-
224
- Array js_matches = Array::New(env);
225
- unsigned index = 0;
226
- vector<TSNode> nodes;
227
- TSQueryMatch match;
228
-
229
- while (ts_query_cursor_next_match(data->ts_query_cursor, &match)) {
230
- js_matches[index++] = Number::New(env, match.pattern_index);
231
-
232
- for (uint16_t i = 0; i < match.capture_count; i++) {
233
- const TSQueryCapture &capture = match.captures[i];
234
-
235
- uint32_t capture_name_len = 0;
236
- const char *capture_name = ts_query_capture_name_for_id(
237
- ts_query, capture.index, &capture_name_len);
238
-
239
- TSNode node = capture.node;
240
- nodes.push_back(node);
241
-
242
- String js_capture = String::New(env, capture_name);;
243
- js_matches[index++] = js_capture;
244
- }
245
- }
246
-
247
- auto js_nodes = node_methods::GetMarshalNodes(info, tree, nodes.data(), nodes.size());
248
-
249
- auto result = Array::New(env);
250
- result[0U] = js_matches;
251
- result[1] = js_nodes;
252
- return result;
253
- }
254
-
255
- Napi::Value Query::Captures(const Napi::CallbackInfo &info) {
256
- Napi::Env env = info.Env();
257
- auto *data = env.GetInstanceData<AddonData>();
258
- Query *query = Query::UnwrapQuery(info.This());
259
- const Tree *tree = Tree::UnwrapTree(info[0]);
260
-
261
- uint32_t start_row = 0, start_column = 0, end_row = 0, end_column = 0, start_index = 0, end_index = 0,
262
- match_limit = UINT32_MAX, max_start_depth = UINT32_MAX, timeout_micros = 0;
263
-
264
- if (info.Length() > 1 && info[1].IsNumber()) {
265
- start_row = info[1].As<Number>().Uint32Value();
266
- }
267
- if (info.Length() > 2 && info[2].IsNumber()) {
268
- start_column = info[2].As<Number>().Uint32Value() << 1;
269
- }
270
- if (info.Length() > 3 && info[3].IsNumber()) {
271
- end_row = info[3].As<Number>().Uint32Value();
272
- }
273
- if (info.Length() > 4 && info[4].IsNumber()) {
274
- end_column = info[4].As<Number>().Uint32Value() << 1;
275
- }
276
- if (info.Length() > 5 && info[5].IsNumber()) {
277
- start_index = info[5].As<Number>().Uint32Value();
278
- }
279
- if (info.Length() > 6 && info[6].IsNumber()) {
280
- end_index = info[6].As<Number>().Uint32Value() << 1;
281
- }
282
- if (info.Length() > 7 && info[7].IsNumber()) {
283
- match_limit = info[7].As<Number>().Uint32Value();
284
- }
285
- if (info.Length() > 8 && info[8].IsNumber()) {
286
- max_start_depth = info[8].As<Number>().Uint32Value();
287
- }
288
- if (info.Length() > 9 && info[9].IsNumber()) {
289
- timeout_micros = info[9].As<Number>().Uint32Value();
290
- }
291
-
292
- if (query == nullptr) {
293
- throw Error::New(env, "Missing argument query");
294
- }
295
-
296
- if (tree == nullptr) {
297
- throw Error::New(env, "Missing argument tree");
298
- }
299
-
300
- TSQuery *ts_query = query->query_;
301
- TSNode root_node = node_methods::UnmarshalNode(env, tree);
302
- TSPoint start_point = {start_row, start_column};
303
- TSPoint end_point = {end_row, end_column};
304
- ts_query_cursor_set_point_range(data->ts_query_cursor, start_point, end_point);
305
- ts_query_cursor_set_byte_range(data->ts_query_cursor, start_index, end_index);
306
- ts_query_cursor_set_match_limit(data->ts_query_cursor, match_limit);
307
- ts_query_cursor_set_max_start_depth(data->ts_query_cursor, max_start_depth);
308
- ts_query_cursor_set_timeout_micros(data->ts_query_cursor, timeout_micros);
309
- ts_query_cursor_exec(data->ts_query_cursor, ts_query, root_node);
310
-
311
- Array js_matches = Array::New(env);
312
- unsigned index = 0;
313
- vector<TSNode> nodes;
314
- TSQueryMatch match;
315
- uint32_t capture_index;
316
-
317
- while (ts_query_cursor_next_capture(
318
- data->ts_query_cursor,
319
- &match,
320
- &capture_index
321
- )) {
322
-
323
- js_matches[index++] = Number::New(env, match.pattern_index);
324
- js_matches[index++] = Number::New(env, capture_index);
325
-
326
- for (uint16_t i = 0; i < match.capture_count; i++) {
327
- const TSQueryCapture &capture = match.captures[i];
328
-
329
- uint32_t capture_name_len = 0;
330
- const char *capture_name = ts_query_capture_name_for_id(
331
- ts_query, capture.index, &capture_name_len);
332
-
333
- TSNode node = capture.node;
334
- nodes.push_back(node);
335
-
336
- String js_capture = String::New(env, capture_name);;
337
- js_matches[index++] = js_capture;
338
- }
339
- }
340
-
341
- auto js_nodes = node_methods::GetMarshalNodes(info, tree, nodes.data(), nodes.size());
342
-
343
- auto result = Array::New(env);
344
- result[0U] = js_matches;
345
- result[1] = js_nodes;
346
- return result;
347
- }
348
-
349
- Napi::Value Query::DisableCapture(const Napi::CallbackInfo &info) {
350
- std::string string = info[0].As<String>().Utf8Value();
351
- const char *capture_name = string.c_str();
352
- ts_query_disable_capture(query_, capture_name, string.length());
353
- return info.Env().Undefined();
354
- }
355
-
356
- Napi::Value Query::DisablePattern(const Napi::CallbackInfo &info) {
357
- uint32_t pattern_index = info[0].As<Number>().Uint32Value();
358
- ts_query_disable_pattern(query_, pattern_index);
359
- return info.Env().Undefined();
360
- }
361
-
362
- Napi::Value Query::IsPatternGuaranteedAtStep(const Napi::CallbackInfo &info) {
363
- uint32_t byte_offset = info[0].As<Number>().Uint32Value();
364
- return Boolean::New(info.Env(), ts_query_is_pattern_guaranteed_at_step(query_, byte_offset));
365
- }
366
-
367
- Napi::Value Query::IsPatternRooted(const Napi::CallbackInfo &info) {
368
- uint32_t pattern_index = info[0].As<Number>().Uint32Value();
369
- return Boolean::New(info.Env(), ts_query_is_pattern_rooted(query_, pattern_index));
370
- }
371
-
372
- Napi::Value Query::IsPatternNonLocal(const Napi::CallbackInfo &info) {
373
- uint32_t pattern_index = info[0].As<Number>().Uint32Value();
374
- return Boolean::New(info.Env(), ts_query_is_pattern_non_local(query_, pattern_index));
375
- }
376
-
377
- Napi::Value Query::StartIndexForPattern(const Napi::CallbackInfo &info) {
378
- uint32_t pattern_index = info[0].As<Number>().Uint32Value();
379
- return Number::New(info.Env(), ts_query_start_byte_for_pattern(query_, pattern_index));
380
- }
381
-
382
- Napi::Value Query::EndIndexForPattern(const Napi::CallbackInfo &info) {
383
- uint32_t pattern_index = info[0].As<Number>().Uint32Value();
384
- return Number::New(info.Env(), ts_query_end_byte_for_pattern(query_, pattern_index));
385
- }
386
-
387
- Napi::Value Query::DidExceedMatchLimit(const Napi::CallbackInfo &info) {
388
- auto *data = info.Env().GetInstanceData<AddonData>();
389
- return Boolean::New(info.Env(), ts_query_cursor_did_exceed_match_limit(data->ts_query_cursor));
390
- }
391
-
392
- Napi::Value Query::MatchLimit(const Napi::CallbackInfo &info) {
393
- auto *data = info.Env().GetInstanceData<AddonData>();
394
- return Number::New(info.Env(), ts_query_cursor_match_limit(data->ts_query_cursor));
395
- }
396
-
397
- } // namespace node_tree_sitter
@@ -1,40 +0,0 @@
1
- #ifndef NODE_TREE_SITTER_QUERY_H_
2
- #define NODE_TREE_SITTER_QUERY_H_
3
-
4
- #include "./addon_data.h"
5
- #include "tree_sitter/api.h"
6
-
7
- #include <napi.h>
8
- #include <node_object_wrap.h>
9
-
10
- namespace node_tree_sitter {
11
-
12
- class Query final : public Napi::ObjectWrap<Query> {
13
- public:
14
- static void Init(Napi::Env env, Napi::Object exports);
15
- static Query *UnwrapQuery(const Napi::Value &);
16
-
17
- explicit Query(const Napi::CallbackInfo &info);
18
- ~Query() final;
19
-
20
- private:
21
- TSQuery *query_;
22
-
23
- Napi::Value New(const Napi::CallbackInfo &);
24
- Napi::Value Matches(const Napi::CallbackInfo &);
25
- Napi::Value Captures(const Napi::CallbackInfo &);
26
- Napi::Value GetPredicates(const Napi::CallbackInfo &);
27
- Napi::Value DisableCapture(const Napi::CallbackInfo &);
28
- Napi::Value DisablePattern(const Napi::CallbackInfo &);
29
- Napi::Value IsPatternGuaranteedAtStep(const Napi::CallbackInfo &);
30
- Napi::Value IsPatternRooted(const Napi::CallbackInfo &);
31
- Napi::Value IsPatternNonLocal(const Napi::CallbackInfo &);
32
- Napi::Value StartIndexForPattern(const Napi::CallbackInfo &);
33
- Napi::Value EndIndexForPattern(const Napi::CallbackInfo &);
34
- Napi::Value DidExceedMatchLimit(const Napi::CallbackInfo &);
35
- Napi::Value MatchLimit(const Napi::CallbackInfo &);
36
- };
37
-
38
- } // namespace node_tree_sitter
39
-
40
- #endif // NODE_TREE_SITTER_QUERY_H_