@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,316 +0,0 @@
1
- #include "./tree.h"
2
- #include "./addon_data.h"
3
- #include "./conversions.h"
4
- #include "./node.h"
5
-
6
- #include <napi.h>
7
-
8
- using namespace Napi;
9
-
10
- namespace node_tree_sitter {
11
-
12
- /*
13
- tstag() {
14
- b2sum -l64 <(printf tree-sitter) <(printf "$1") | \
15
- awk '{printf "0x" toupper($1) (NR == 1 ? ", " : "\n")}'
16
- }
17
- tstag tree # => 0x8AF2E5212AD58ABF, 0x7FA28BFC1966AC2D
18
- */
19
- const napi_type_tag TREE_TYPE_TAG = {
20
- 0x8AF2E5212AD58ABF, 0x7FA28BFC1966AC2D
21
- };
22
-
23
- using node_methods::UnmarshalNodeId;
24
-
25
- void Tree::Init(Napi::Env env, Napi::Object exports) {
26
- auto *data = env.GetInstanceData<AddonData>();
27
-
28
- Function ctor = DefineClass(env, "Tree", {
29
- InstanceMethod("edit", &Tree::Edit, napi_default_method),
30
- InstanceMethod("rootNode", &Tree::RootNode, napi_default_method),
31
- InstanceMethod("rootNodeWithOffset", &Tree::RootNodeWithOffset, napi_default_method),
32
- InstanceMethod("printDotGraph", &Tree::PrintDotGraph, napi_default_method),
33
- InstanceMethod("getChangedRanges", &Tree::GetChangedRanges, napi_default_method),
34
- InstanceMethod("getIncludedRanges", &Tree::GetIncludedRanges, napi_default_method),
35
- InstanceMethod("getEditedRange", &Tree::GetEditedRange, napi_default_method),
36
- InstanceMethod("_cacheNode", &Tree::CacheNode, napi_default_method),
37
- InstanceMethod("_cacheNodes", &Tree::CacheNodes, napi_default_method),
38
- });
39
-
40
- data->tree_constructor = Napi::Persistent(ctor);
41
- exports["Tree"] = ctor;
42
- }
43
-
44
- Tree::Tree(const Napi::CallbackInfo &info) : Napi::ObjectWrap<Tree>(info), tree_(nullptr) {
45
- Value().TypeTag(&TREE_TYPE_TAG);
46
- }
47
-
48
- Tree::~Tree() {
49
- ts_tree_delete(tree_);
50
- for (auto &entry : cached_nodes_) {
51
- entry.second->tree = nullptr;
52
- }
53
- }
54
-
55
- Napi::Value Tree::NewInstance(Napi::Env env, TSTree *tree) {
56
- auto *data = env.GetInstanceData<AddonData>();
57
- if (tree != nullptr) {
58
- Object self = data->tree_constructor.New({});
59
- Tree::Unwrap(self)->tree_ = tree;
60
- return self;
61
- }
62
-
63
- return env.Null();
64
- }
65
-
66
- const Tree *Tree::UnwrapTree(const Napi::Value &value) {
67
- if (!value.IsObject()) {
68
- return nullptr;
69
- }
70
- auto js_tree = value.As<Object>();
71
- if (!js_tree.CheckTypeTag(&TREE_TYPE_TAG)) {
72
- return nullptr;
73
- }
74
- return Tree::Unwrap(js_tree);
75
- }
76
-
77
- #define read_number_from_js(out, value, name) \
78
- if (!(value).IsNumber()) { \
79
- throw TypeError::New(env, name " must be an integer"); \
80
- return env.Undefined(); \
81
- } \
82
- *(out) = (value).As<Number>().Uint32Value();
83
-
84
- #define read_byte_count_from_js(out, value, name) \
85
- read_number_from_js(out, value, name); \
86
- (*(out)) *= 2
87
-
88
- Napi::Value Tree::Edit(const Napi::CallbackInfo &info) {
89
- Napi::Env env = info.Env();
90
- TSInputEdit edit;
91
- read_number_from_js(&edit.start_point.row, info[0], "startPosition.row");
92
- read_byte_count_from_js(&edit.start_point.column, info[1], "startPosition.column");
93
- read_number_from_js(&edit.old_end_point.row, info[2], "oldEndPosition.row");
94
- read_byte_count_from_js(&edit.old_end_point.column, info[3], "oldEndPosition.column");
95
- read_number_from_js(&edit.new_end_point.row, info[4], "newEndPosition.row");
96
- read_byte_count_from_js(&edit.new_end_point.column, info[5], "newEndPosition.column");
97
- read_byte_count_from_js(&edit.start_byte, info[6], "startIndex");
98
- read_byte_count_from_js(&edit.old_end_byte, info[7], "oldEndIndex");
99
- read_byte_count_from_js(&edit.new_end_byte, info[8], "newEndIndex");
100
-
101
- ts_tree_edit(tree_, &edit);
102
-
103
- for (auto &entry : cached_nodes_) {
104
- Object js_node = entry.second->node.Value();
105
- if (js_node.IsEmpty()) {
106
- continue;
107
- }
108
- TSNode node;
109
- node.id = entry.first;
110
- for (unsigned i = 0; i < 4; i++) {
111
- Napi::Value node_field = js_node[i + 2];
112
- if (node_field.IsNumber()) {
113
- node.context[i] = node_field.As<Number>().Uint32Value();
114
- }
115
- }
116
-
117
- ts_node_edit(&node, &edit);
118
-
119
- for (unsigned i = 0; i < 4; i++) {
120
- js_node[i + 2U] = Number::New(env, node.context[i]);
121
- }
122
- }
123
-
124
- return info.This();
125
- }
126
-
127
- Napi::Value Tree::RootNode(const Napi::CallbackInfo &info) {
128
- return node_methods::MarshalNode(info, this, ts_tree_root_node(tree_));
129
- }
130
-
131
- Napi::Value Tree::RootNodeWithOffset(const Napi::CallbackInfo &info) {
132
- Napi::Env env = info.Env();
133
- uint32_t offset_bytes = 0;
134
- TSPoint offset_extent = {0, UINT32_MAX};
135
-
136
- read_byte_count_from_js(&offset_bytes, info[0], "offsetBytes");
137
- read_number_from_js(&offset_extent.row, info[1], "offsetExtent.row");
138
- read_byte_count_from_js(&offset_extent.column, info[2], "offsetExtent.column");
139
-
140
- return node_methods::MarshalNode(info, this, ts_tree_root_node_with_offset(tree_, offset_bytes, offset_extent));
141
- }
142
-
143
- Napi::Value Tree::GetChangedRanges(const Napi::CallbackInfo &info) {
144
- Napi::Env env = info.Env();
145
- const Tree *other_tree = UnwrapTree(info[0]);
146
- if (other_tree == nullptr) {
147
- throw TypeError::New(env, "Argument must be a tree");
148
- }
149
-
150
- uint32_t range_count;
151
- TSRange *ranges = ts_tree_get_changed_ranges(tree_, other_tree->tree_, &range_count);
152
-
153
- Array result = Array::New(env);
154
- for (size_t i = 0; i < range_count; i++) {
155
- result[i] = RangeToJS(env, ranges[i]);
156
- }
157
-
158
- free(ranges);
159
-
160
- return result;
161
- }
162
-
163
- Napi::Value Tree::GetIncludedRanges(const Napi::CallbackInfo &info) {
164
- Napi::Env env = info.Env();
165
- uint32_t range_count;
166
- TSRange *ranges = ts_tree_included_ranges(tree_, &range_count);
167
-
168
- Array result = Array::New(env);
169
- for (size_t i = 0; i < range_count; i++) {
170
- result[i] = RangeToJS(env, ranges[i]);
171
- }
172
-
173
- free(ranges);
174
-
175
- return result;
176
- }
177
-
178
- Napi::Value Tree::GetEditedRange(const Napi::CallbackInfo &info) {
179
- Napi::Env env = info.Env();
180
- TSNode root = ts_tree_root_node(tree_);
181
- if (!ts_node_has_changes(root)) {
182
- return env.Undefined();
183
- }
184
- TSRange result = {
185
- ts_node_start_point(root),
186
- ts_node_end_point(root),
187
- ts_node_start_byte(root),
188
- ts_node_end_byte(root),
189
- };
190
-
191
- TSTreeCursor cursor = ts_tree_cursor_new(root);
192
-
193
- while (true) {
194
- if (!ts_tree_cursor_goto_first_child(&cursor)) {
195
- break;
196
- }
197
- while (true) {
198
- TSNode node = ts_tree_cursor_current_node(&cursor);
199
- if (ts_node_has_changes(node)) {
200
- result.start_byte = ts_node_start_byte(node);
201
- result.start_point = ts_node_start_point(node);
202
- break;
203
- }
204
- if (!ts_tree_cursor_goto_next_sibling(&cursor)) {
205
- break;
206
- }
207
- }
208
- }
209
-
210
- while (ts_tree_cursor_goto_parent(&cursor)) {}
211
-
212
- while (true) {
213
- if (!ts_tree_cursor_goto_first_child(&cursor)) {
214
- break;
215
- }
216
- while (true) {
217
- TSNode node = ts_tree_cursor_current_node(&cursor);
218
- if (ts_node_has_changes(node)) {
219
- result.end_byte = ts_node_end_byte(node);
220
- result.end_point = ts_node_end_point(node);
221
- }
222
-
223
- if (!ts_tree_cursor_goto_next_sibling(&cursor)) {
224
- break;
225
- }
226
- }
227
- }
228
-
229
- ts_tree_cursor_delete(&cursor);
230
- return RangeToJS(env, result);
231
- }
232
-
233
- Napi::Value Tree::PrintDotGraph(const Napi::CallbackInfo &info) {
234
- int fd = fileno(stderr);
235
-
236
- if (info.Length() > 0) {
237
- if (!info[0].IsNumber()) {
238
- throw TypeError::New(info.Env(), "First argument must be a number");
239
- }
240
- fd = info[0].As<Number>().Int32Value();
241
- }
242
-
243
- ts_tree_print_dot_graph(tree_, fd);
244
- return info.This();
245
- }
246
-
247
- namespace {
248
-
249
- void FinalizeNode(Napi::Env _env, Tree::NodeCacheEntry *cache_entry) {
250
- assert(!cache_entry->node.IsEmpty());
251
- cache_entry->node.Reset();
252
- if (cache_entry->tree != nullptr) {
253
- assert(cache_entry->tree->cached_nodes_.count(cache_entry->key));
254
- cache_entry->tree->cached_nodes_.erase(cache_entry->key);
255
- }
256
- delete cache_entry;
257
- }
258
-
259
- void CacheNodeForTree(Tree *tree, Napi::Env _env, Object js_node) {
260
- Value js_node_field1 = js_node[0U];
261
- Value js_node_field2 = js_node[1U];
262
- if (!js_node_field1.IsNumber() || !js_node_field2.IsNumber()) {
263
- return;
264
- }
265
- uint32_t key_parts[2] = {
266
- js_node_field1.As<Number>().Uint32Value(),
267
- js_node_field2.As<Number>().Uint32Value(),
268
- };
269
- const void *key = UnmarshalNodeId(key_parts);
270
-
271
- // A Node could have been garbage collected but the finalizer has not yet run to remove its cache entry
272
- if (tree->cached_nodes_.count(key)) {
273
- return;
274
- }
275
-
276
- auto *cache_entry = new Tree::NodeCacheEntry{tree, key, {}};
277
- cache_entry->node = Napi::Weak(js_node);
278
- js_node.AddFinalizer(&FinalizeNode, cache_entry);
279
-
280
- tree->cached_nodes_[key] = cache_entry;
281
- }
282
-
283
- } // namespace
284
-
285
- Napi::Value Tree::CacheNode(const Napi::CallbackInfo &info) {
286
- Napi::Env env = info.Env();
287
-
288
- if (!info[0].IsObject()) {
289
- throw TypeError::New(env, "not an object");
290
- }
291
-
292
- CacheNodeForTree(this, env, info[0].As<Object>());
293
- return env.Undefined();
294
- }
295
-
296
- Napi::Value Tree::CacheNodes(const Napi::CallbackInfo &info) {
297
- Napi::Env env = info.Env();
298
-
299
- if (!info[0].IsArray()) {
300
- throw TypeError::New(env, "not an array");
301
- }
302
- auto js_nodes = info[0].As<Array>();
303
- uint32_t length = js_nodes.Length();
304
-
305
- for (uint32_t i = 0; i < length; ++i) {
306
- Napi::Value js_node = js_nodes[i];
307
- if (!js_node.IsObject()) {
308
- throw TypeError::New(env, "not an object");
309
- }
310
- CacheNodeForTree(this, env, js_node.As<Object>());
311
- }
312
-
313
- return env.Undefined();
314
- }
315
-
316
- } // namespace node_tree_sitter
@@ -1,45 +0,0 @@
1
- #ifndef NODE_TREE_SITTER_TREE_H_
2
- #define NODE_TREE_SITTER_TREE_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
- #include <unordered_map>
10
-
11
- namespace node_tree_sitter {
12
-
13
- class Tree final : public Napi::ObjectWrap<Tree> {
14
- public:
15
- static void Init(Napi::Env env, Napi::Object exports);
16
- static Napi::Value NewInstance(Napi::Env env, TSTree *tree);
17
- static const Tree *UnwrapTree(const Napi::Value &value);
18
-
19
- explicit Tree(const Napi::CallbackInfo &);
20
- ~Tree() final;
21
-
22
- struct NodeCacheEntry {
23
- Tree *tree;
24
- const void *key;
25
- Napi::ObjectReference node;
26
- };
27
-
28
- TSTree *tree_;
29
- std::unordered_map<const void *, NodeCacheEntry *> cached_nodes_;
30
-
31
- private:
32
- Napi::Value Edit(const Napi::CallbackInfo &info);
33
- Napi::Value RootNode(const Napi::CallbackInfo &info);
34
- Napi::Value RootNodeWithOffset(const Napi::CallbackInfo &info);
35
- Napi::Value PrintDotGraph(const Napi::CallbackInfo &info);
36
- Napi::Value GetEditedRange(const Napi::CallbackInfo &info);
37
- Napi::Value GetChangedRanges(const Napi::CallbackInfo &info);
38
- Napi::Value GetIncludedRanges(const Napi::CallbackInfo &info);
39
- Napi::Value CacheNode(const Napi::CallbackInfo &info);
40
- Napi::Value CacheNodes(const Napi::CallbackInfo &info);
41
- };
42
-
43
- } // namespace node_tree_sitter
44
-
45
- #endif // NODE_TREE_SITTER_TREE_H_
@@ -1,213 +0,0 @@
1
- #include "./conversions.h"
2
- #include "./node.h"
3
- #include "./tree.h"
4
- #include "./tree_cursor.h"
5
- #include "tree_sitter/api.h"
6
-
7
- #include <napi.h>
8
-
9
- using namespace Napi;
10
-
11
- namespace node_tree_sitter {
12
-
13
- void TreeCursor::Init(Napi::Env env, Napi::Object exports) {
14
- auto *data = env.GetInstanceData<AddonData>();
15
-
16
- Function ctor = DefineClass(env, "TreeCursor", {
17
- InstanceAccessor("startIndex", &TreeCursor::StartIndex, nullptr, napi_default_method),
18
- InstanceAccessor("endIndex", &TreeCursor::EndIndex, nullptr, napi_default_method),
19
- InstanceAccessor("nodeType", &TreeCursor::NodeType, nullptr, napi_default_method),
20
- InstanceAccessor("nodeTypeId", &TreeCursor::NodeTypeId, nullptr, napi_default_method),
21
- InstanceAccessor("nodeStateId", &TreeCursor::NodeStateId, nullptr, napi_default_method),
22
- InstanceAccessor("nodeIsNamed", &TreeCursor::NodeIsNamed, nullptr, napi_default_method),
23
- InstanceAccessor("nodeIsMissing", &TreeCursor::NodeIsMissing, nullptr, napi_default_method),
24
- InstanceAccessor("currentFieldId", &TreeCursor::CurrentFieldId, nullptr, napi_default_method),
25
- InstanceAccessor("currentFieldName", &TreeCursor::CurrentFieldName, nullptr, napi_default_method),
26
- InstanceAccessor("currentDepth", &TreeCursor::CurrentDepth, nullptr, napi_default_method),
27
- InstanceAccessor("currentDescendantIndex", &TreeCursor::CurrentDescendantIndex, nullptr, napi_default_method),
28
-
29
- InstanceMethod("gotoFirstChild", &TreeCursor::GotoFirstChild, napi_default_method),
30
- InstanceMethod("gotoLastChild", &TreeCursor::GotoLastChild, napi_default_method),
31
- InstanceMethod("gotoParent", &TreeCursor::GotoParent, napi_default_method),
32
- InstanceMethod("gotoNextSibling", &TreeCursor::GotoNextSibling, napi_default_method),
33
- InstanceMethod("gotoPreviousSibling", &TreeCursor::GotoPreviousSibling, napi_default_method),
34
- InstanceMethod("gotoDescendant", &TreeCursor::GotoDescendant, napi_default_method),
35
- InstanceMethod("gotoFirstChildForIndex", &TreeCursor::GotoFirstChildForIndex, napi_default_method),
36
- InstanceMethod("gotoFirstChildForPosition", &TreeCursor::GotoFirstChildForPosition, napi_default_method),
37
- InstanceMethod("startPosition", &TreeCursor::StartPosition, napi_default_method),
38
- InstanceMethod("endPosition", &TreeCursor::EndPosition, napi_default_method),
39
- InstanceMethod("currentNode", &TreeCursor::CurrentNode, napi_default_method),
40
- InstanceMethod("reset", &TreeCursor::Reset, napi_default_method),
41
- InstanceMethod("resetTo", &TreeCursor::ResetTo, napi_default_method),
42
- });
43
-
44
- exports["TreeCursor"] = ctor;
45
- data->tree_cursor_constructor = Napi::Persistent(ctor);
46
- }
47
-
48
- Napi::Value TreeCursor::NewInstance(Napi::Env env, TSTreeCursor cursor) {
49
- auto *data = env.GetInstanceData<AddonData>();
50
-
51
- Object self = data->tree_cursor_constructor.New({});
52
- TreeCursor::Unwrap(self)->cursor_ = cursor;
53
- return self;
54
- }
55
-
56
- TreeCursor::TreeCursor(const Napi::CallbackInfo& info) : Napi::ObjectWrap<TreeCursor>(info), cursor_() {}
57
-
58
- TreeCursor::~TreeCursor() { ts_tree_cursor_delete(&cursor_); }
59
-
60
- Napi::Value TreeCursor::GotoFirstChild(const Napi::CallbackInfo &info) {
61
- bool result = ts_tree_cursor_goto_first_child(&cursor_);
62
- return Boolean::New(info.Env(), result);
63
- }
64
-
65
- Napi::Value TreeCursor::GotoLastChild(const Napi::CallbackInfo &info) {
66
- bool result = ts_tree_cursor_goto_last_child(&cursor_);
67
- return Boolean::New(info.Env(), result);
68
- }
69
-
70
- Napi::Value TreeCursor::GotoParent(const Napi::CallbackInfo &info) {
71
- bool result = ts_tree_cursor_goto_parent(&cursor_);
72
- return Boolean::New(info.Env(), result);
73
- }
74
-
75
- Napi::Value TreeCursor::GotoNextSibling(const Napi::CallbackInfo &info) {
76
- bool result = ts_tree_cursor_goto_next_sibling(&cursor_);
77
- return Boolean::New(info.Env(), result);
78
- }
79
-
80
- Napi::Value TreeCursor::GotoPreviousSibling(const Napi::CallbackInfo &info) {
81
- bool result = ts_tree_cursor_goto_previous_sibling(&cursor_);
82
- return Boolean::New(info.Env(), result);
83
- }
84
-
85
- Napi::Value TreeCursor::GotoDescendant(const Napi::CallbackInfo &info) {
86
- Napi::Env env = info.Env();
87
- if (!info[0].IsNumber()) {
88
- throw TypeError::New(env, "First argument must be an integer");
89
- }
90
- int64_t goal_descendant_index = info[0].As<Number>().Uint32Value();
91
- ts_tree_cursor_goto_descendant(&cursor_, goal_descendant_index);
92
- return env.Undefined();
93
- }
94
-
95
- Napi::Value TreeCursor::GotoFirstChildForIndex(const Napi::CallbackInfo &info) {
96
- Napi::Env env = info.Env();
97
- if (!info[0].IsNumber()) {
98
- throw TypeError::New(env, "First argument must be an integer");
99
- }
100
- auto index = info[0].As<Number>();
101
- uint32_t goal_byte = index.Uint32Value() * 2;
102
- int64_t child_index = ts_tree_cursor_goto_first_child_for_byte(&cursor_, goal_byte);
103
- if (child_index < 0) {
104
- return env.Null();
105
- }
106
- return Number::New(env, static_cast<double>(child_index));
107
-
108
- }
109
-
110
- Napi::Value TreeCursor::GotoFirstChildForPosition(const Napi::CallbackInfo &info) {
111
- Napi::Env env = info.Env();
112
- Napi::Maybe<TSPoint> goal_point = PointFromJS(info[0].As<Object>());
113
- if (goal_point.IsNothing()) {
114
- throw TypeError::New(env, "First argument must be a Point object");
115
- }
116
- int64_t child_index = ts_tree_cursor_goto_first_child_for_point(&cursor_, goal_point.Unwrap());
117
- if (child_index < 0) {
118
- return env.Null();
119
- }
120
- return Number::New(env, static_cast<double>(child_index));
121
- }
122
-
123
- Napi::Value TreeCursor::StartPosition(const Napi::CallbackInfo &info) {
124
- TSNode node = ts_tree_cursor_current_node(&cursor_);
125
- TransferPoint(info.Env(), ts_node_start_point(node));
126
- return info.Env().Undefined();
127
- }
128
-
129
- Napi::Value TreeCursor::EndPosition(const Napi::CallbackInfo &info) {
130
- TSNode node = ts_tree_cursor_current_node(&cursor_);
131
- TransferPoint(info.Env(), ts_node_end_point(node));
132
- return info.Env().Undefined();
133
- }
134
-
135
- Napi::Value TreeCursor::CurrentNode(const Napi::CallbackInfo &info) {
136
- const Tree *tree = Tree::UnwrapTree(info.This().As<Object>()["tree"]);
137
- TSNode node = ts_tree_cursor_current_node(&cursor_);
138
- return node_methods::MarshalNode(info, tree, node);
139
- }
140
-
141
- Napi::Value TreeCursor::Reset(const Napi::CallbackInfo &info) {
142
- const Tree *tree = Tree::UnwrapTree(info.This().As<Object>()["tree"]);
143
- TSNode node = node_methods::UnmarshalNode(info.Env(), tree);
144
- ts_tree_cursor_reset(&cursor_, node);
145
- return info.Env().Undefined();
146
- }
147
-
148
- Napi::Value TreeCursor::ResetTo(const Napi::CallbackInfo &info) {
149
- TSTreeCursor other_cursor = TreeCursor::Unwrap(info[0].As<Object>())->cursor_;
150
- ts_tree_cursor_reset_to(&cursor_, &other_cursor);
151
- return info.Env().Undefined();
152
- }
153
-
154
- Napi::Value TreeCursor::NodeType(const Napi::CallbackInfo &info) {
155
- TSNode node = ts_tree_cursor_current_node(&cursor_);
156
- return String::New(info.Env(), ts_node_type(node));;
157
- }
158
-
159
- Napi::Value TreeCursor::NodeTypeId(const Napi::CallbackInfo &info) {
160
- TSNode node = ts_tree_cursor_current_node(&cursor_);
161
- return Number::New(info.Env(), static_cast<double>(ts_node_symbol(node)));
162
- }
163
-
164
- Napi::Value TreeCursor::NodeStateId(const Napi::CallbackInfo &info) {
165
- TSNode node = ts_tree_cursor_current_node(&cursor_);
166
- return Number::New(info.Env(), static_cast<double>(ts_node_parse_state(node)));
167
- }
168
-
169
- Napi::Value TreeCursor::NodeIsNamed(const Napi::CallbackInfo &info) {
170
- TSNode node = ts_tree_cursor_current_node(&cursor_);
171
- return Boolean::New(info.Env(), ts_node_is_named(node));
172
- }
173
-
174
- Napi::Value TreeCursor::NodeIsMissing(const Napi::CallbackInfo &info) {
175
- TSNode node = ts_tree_cursor_current_node(&cursor_);
176
- return Boolean::New(info.Env(), ts_node_is_missing(node));
177
- }
178
-
179
- Napi::Value TreeCursor::CurrentFieldId(const Napi::CallbackInfo &info) {
180
- TSFieldId field_id = ts_tree_cursor_current_field_id(&cursor_);
181
- if (field_id != 0) {
182
- return Number::New(info.Env(), static_cast<double>(field_id));
183
- }
184
- return info.Env().Undefined();
185
- }
186
-
187
- Napi::Value TreeCursor::CurrentFieldName(const Napi::CallbackInfo &info) {
188
- const char *field_name = ts_tree_cursor_current_field_name(&cursor_);
189
- if (field_name != nullptr) {
190
- return String::New(info.Env(), field_name);
191
- }
192
- return info.Env().Undefined();
193
- }
194
-
195
- Napi::Value TreeCursor::CurrentDepth(const Napi::CallbackInfo &info) {
196
- return Number::New(info.Env(), static_cast<double>(ts_tree_cursor_current_depth(&cursor_)));
197
- }
198
-
199
- Napi::Value TreeCursor::CurrentDescendantIndex(const Napi::CallbackInfo &info) {
200
- return Number::New(info.Env(), static_cast<double>(ts_tree_cursor_current_descendant_index(&cursor_)));
201
- }
202
-
203
- Napi::Value TreeCursor::StartIndex(const Napi::CallbackInfo &info) {
204
- TSNode node = ts_tree_cursor_current_node(&cursor_);
205
- return ByteCountToJS(info.Env(), ts_node_start_byte(node));
206
- }
207
-
208
- Napi::Value TreeCursor::EndIndex(const Napi::CallbackInfo &info) {
209
- TSNode node = ts_tree_cursor_current_node(&cursor_);
210
- return ByteCountToJS(info.Env(), ts_node_end_byte(node));
211
- }
212
-
213
- } // namespace node_tree_sitter
@@ -1,52 +0,0 @@
1
- #ifndef NODE_TREE_SITTER_TREE_CURSOR_H_
2
- #define NODE_TREE_SITTER_TREE_CURSOR_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 TreeCursor final : public Napi::ObjectWrap<TreeCursor> {
13
- public:
14
- static void Init(Napi::Env env, Napi::Object exports);
15
- static Napi::Value NewInstance(Napi::Env Env, TSTreeCursor);
16
-
17
- explicit TreeCursor(const Napi::CallbackInfo &);
18
- ~TreeCursor() final;
19
-
20
- TSTreeCursor cursor_;
21
-
22
- private:
23
- Napi::Value GotoFirstChild(const Napi::CallbackInfo &);
24
- Napi::Value GotoLastChild(const Napi::CallbackInfo &);
25
- Napi::Value GotoParent(const Napi::CallbackInfo &);
26
- Napi::Value GotoNextSibling(const Napi::CallbackInfo &);
27
- Napi::Value GotoPreviousSibling(const Napi::CallbackInfo &);
28
- Napi::Value GotoDescendant(const Napi::CallbackInfo &);
29
- Napi::Value GotoFirstChildForIndex(const Napi::CallbackInfo &);
30
- Napi::Value GotoFirstChildForPosition(const Napi::CallbackInfo &);
31
- Napi::Value StartPosition(const Napi::CallbackInfo &);
32
- Napi::Value EndPosition(const Napi::CallbackInfo &);
33
- Napi::Value CurrentNode(const Napi::CallbackInfo &);
34
- Napi::Value Reset(const Napi::CallbackInfo &);
35
- Napi::Value ResetTo(const Napi::CallbackInfo &);
36
-
37
- Napi::Value NodeType(const Napi::CallbackInfo &);
38
- Napi::Value NodeTypeId(const Napi::CallbackInfo &);
39
- Napi::Value NodeStateId(const Napi::CallbackInfo &);
40
- Napi::Value NodeIsNamed(const Napi::CallbackInfo &);
41
- Napi::Value NodeIsMissing(const Napi::CallbackInfo &);
42
- Napi::Value CurrentFieldId(const Napi::CallbackInfo &);
43
- Napi::Value CurrentFieldName(const Napi::CallbackInfo &);
44
- Napi::Value CurrentDepth(const Napi::CallbackInfo &);
45
- Napi::Value CurrentDescendantIndex(const Napi::CallbackInfo &);
46
- Napi::Value StartIndex(const Napi::CallbackInfo &);
47
- Napi::Value EndIndex(const Napi::CallbackInfo &);
48
- };
49
-
50
- } // namespace node_tree_sitter
51
-
52
- #endif // NODE_TREE_SITTER_TREE_CURSOR_H_