@kerebron/tree-sitter 0.5.5 → 0.6.1

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 (133) hide show
  1. package/README.md +1 -2
  2. package/esm/{deno-tree-sitter/main/extended → extended}/base_node.d.ts +9 -12
  3. package/esm/extended/base_node.d.ts.map +1 -0
  4. package/esm/{deno-tree-sitter/main/extended → extended}/base_node.js +14 -14
  5. package/esm/extended/base_node.js.map +1 -0
  6. package/esm/extended/node_extended.d.ts +243 -0
  7. package/esm/extended/node_extended.d.ts.map +1 -0
  8. package/esm/{deno-tree-sitter/main/extended → extended}/node_extended.js +196 -186
  9. package/esm/extended/node_extended.js.map +1 -0
  10. package/esm/{deno-tree-sitter/main/extended → extended}/parser.d.ts +19 -17
  11. package/esm/extended/parser.d.ts.map +1 -0
  12. package/esm/extended/parser.js +61 -0
  13. package/esm/extended/parser.js.map +1 -0
  14. package/esm/{deno-tree-sitter/main/extended → extended}/soft_node.d.ts +4 -3
  15. package/esm/extended/soft_node.d.ts.map +1 -0
  16. package/esm/{deno-tree-sitter/main/extended → extended}/soft_node.js +1 -1
  17. package/esm/extended/soft_node.js.map +1 -0
  18. package/esm/extended/soft_text_node.d.ts +9 -0
  19. package/esm/extended/soft_text_node.d.ts.map +1 -0
  20. package/esm/{deno-tree-sitter/main/extended → extended}/soft_text_node.js +2 -2
  21. package/esm/extended/soft_text_node.js.map +1 -0
  22. package/esm/extended/whitespace_node.d.ts +9 -0
  23. package/esm/extended/whitespace_node.d.ts.map +1 -0
  24. package/esm/{deno-tree-sitter/main/extended → extended}/whitespace_node.js +2 -2
  25. package/esm/extended/whitespace_node.js.map +1 -0
  26. package/esm/extras/misc.d.ts +2 -0
  27. package/esm/extras/misc.d.ts.map +1 -0
  28. package/esm/{deno-tree-sitter/main/extras → extras}/misc.js +2 -2
  29. package/esm/extras/misc.js.map +1 -0
  30. package/esm/mod.d.ts +1 -6
  31. package/esm/mod.d.ts.map +1 -1
  32. package/esm/mod.js +1 -7
  33. package/esm/mod.js.map +1 -1
  34. package/package.json +4 -1
  35. package/src/extended/base_node.ts +175 -0
  36. package/src/extended/node_extended.ts +651 -0
  37. package/src/extended/parser.ts +96 -0
  38. package/src/extended/soft_node.ts +32 -0
  39. package/src/extended/soft_text_node.ts +11 -0
  40. package/src/extended/whitespace_node.ts +11 -0
  41. package/src/extras/misc.ts +15 -0
  42. package/src/mod.ts +1 -8
  43. package/esm/deno-tree-sitter/main/extended/base_node.d.ts.map +0 -1
  44. package/esm/deno-tree-sitter/main/extended/base_node.js.map +0 -1
  45. package/esm/deno-tree-sitter/main/extended/node_extended.d.ts +0 -237
  46. package/esm/deno-tree-sitter/main/extended/node_extended.d.ts.map +0 -1
  47. package/esm/deno-tree-sitter/main/extended/node_extended.js.map +0 -1
  48. package/esm/deno-tree-sitter/main/extended/parser.d.ts.map +0 -1
  49. package/esm/deno-tree-sitter/main/extended/parser.js +0 -87
  50. package/esm/deno-tree-sitter/main/extended/parser.js.map +0 -1
  51. package/esm/deno-tree-sitter/main/extended/soft_node.d.ts.map +0 -1
  52. package/esm/deno-tree-sitter/main/extended/soft_node.js.map +0 -1
  53. package/esm/deno-tree-sitter/main/extended/soft_text_node.d.ts +0 -10
  54. package/esm/deno-tree-sitter/main/extended/soft_text_node.d.ts.map +0 -1
  55. package/esm/deno-tree-sitter/main/extended/soft_text_node.js.map +0 -1
  56. package/esm/deno-tree-sitter/main/extended/whitespace_node.d.ts +0 -10
  57. package/esm/deno-tree-sitter/main/extended/whitespace_node.d.ts.map +0 -1
  58. package/esm/deno-tree-sitter/main/extended/whitespace_node.js.map +0 -1
  59. package/esm/deno-tree-sitter/main/extras/misc.d.ts +0 -2
  60. package/esm/deno-tree-sitter/main/extras/misc.d.ts.map +0 -1
  61. package/esm/deno-tree-sitter/main/extras/misc.js.map +0 -1
  62. package/esm/deno-tree-sitter/main/tree_sitter/bindings.d.ts +0 -14
  63. package/esm/deno-tree-sitter/main/tree_sitter/bindings.d.ts.map +0 -1
  64. package/esm/deno-tree-sitter/main/tree_sitter/bindings.js +0 -22
  65. package/esm/deno-tree-sitter/main/tree_sitter/bindings.js.map +0 -1
  66. package/esm/deno-tree-sitter/main/tree_sitter/constants.d.ts +0 -60
  67. package/esm/deno-tree-sitter/main/tree_sitter/constants.d.ts.map +0 -1
  68. package/esm/deno-tree-sitter/main/tree_sitter/constants.js +0 -67
  69. package/esm/deno-tree-sitter/main/tree_sitter/constants.js.map +0 -1
  70. package/esm/deno-tree-sitter/main/tree_sitter/language.d.ts +0 -137
  71. package/esm/deno-tree-sitter/main/tree_sitter/language.d.ts.map +0 -1
  72. package/esm/deno-tree-sitter/main/tree_sitter/language.js +0 -265
  73. package/esm/deno-tree-sitter/main/tree_sitter/language.js.map +0 -1
  74. package/esm/deno-tree-sitter/main/tree_sitter/lookahead_iterator.d.ts +0 -41
  75. package/esm/deno-tree-sitter/main/tree_sitter/lookahead_iterator.d.ts.map +0 -1
  76. package/esm/deno-tree-sitter/main/tree_sitter/lookahead_iterator.js +0 -66
  77. package/esm/deno-tree-sitter/main/tree_sitter/lookahead_iterator.js.map +0 -1
  78. package/esm/deno-tree-sitter/main/tree_sitter/marshal.d.ts +0 -85
  79. package/esm/deno-tree-sitter/main/tree_sitter/marshal.d.ts.map +0 -1
  80. package/esm/deno-tree-sitter/main/tree_sitter/marshal.js +0 -174
  81. package/esm/deno-tree-sitter/main/tree_sitter/marshal.js.map +0 -1
  82. package/esm/deno-tree-sitter/main/tree_sitter/node.d.ts +0 -260
  83. package/esm/deno-tree-sitter/main/tree_sitter/node.d.ts.map +0 -1
  84. package/esm/deno-tree-sitter/main/tree_sitter/node.js +0 -558
  85. package/esm/deno-tree-sitter/main/tree_sitter/node.js.map +0 -1
  86. package/esm/deno-tree-sitter/main/tree_sitter/parser.d.ts +0 -124
  87. package/esm/deno-tree-sitter/main/tree_sitter/parser.d.ts.map +0 -1
  88. package/esm/deno-tree-sitter/main/tree_sitter/parser.js +0 -253
  89. package/esm/deno-tree-sitter/main/tree_sitter/parser.js.map +0 -1
  90. package/esm/deno-tree-sitter/main/tree_sitter/query.d.ts +0 -134
  91. package/esm/deno-tree-sitter/main/tree_sitter/query.d.ts.map +0 -1
  92. package/esm/deno-tree-sitter/main/tree_sitter/query.js +0 -621
  93. package/esm/deno-tree-sitter/main/tree_sitter/query.js.map +0 -1
  94. package/esm/deno-tree-sitter/main/tree_sitter/tree.d.ts +0 -49
  95. package/esm/deno-tree-sitter/main/tree_sitter/tree.d.ts.map +0 -1
  96. package/esm/deno-tree-sitter/main/tree_sitter/tree.js +0 -131
  97. package/esm/deno-tree-sitter/main/tree_sitter/tree.js.map +0 -1
  98. package/esm/deno-tree-sitter/main/tree_sitter/tree_cursor.d.ts +0 -165
  99. package/esm/deno-tree-sitter/main/tree_sitter/tree_cursor.d.ts.map +0 -1
  100. package/esm/deno-tree-sitter/main/tree_sitter/tree_cursor.js +0 -281
  101. package/esm/deno-tree-sitter/main/tree_sitter/tree_cursor.js.map +0 -1
  102. package/esm/deno-tree-sitter/main/tree_sitter_wasm.d.ts +0 -3
  103. package/esm/deno-tree-sitter/main/tree_sitter_wasm.d.ts.map +0 -1
  104. package/esm/deno-tree-sitter/main/tree_sitter_wasm.js +0 -0
  105. package/esm/deno-tree-sitter/main/tree_sitter_wasm.js.map +0 -1
  106. package/esm/deno-tree-sitter/main/wasm_loader.d.ts +0 -29
  107. package/esm/deno-tree-sitter/main/wasm_loader.d.ts.map +0 -1
  108. package/esm/deno-tree-sitter/main/wasm_loader.js +0 -1703
  109. package/esm/deno-tree-sitter/main/wasm_loader.js.map +0 -1
  110. package/esm/deno-tree-sitter/main/wasm_loader_with_defaults.d.ts +0 -3
  111. package/esm/deno-tree-sitter/main/wasm_loader_with_defaults.d.ts.map +0 -1
  112. package/esm/deno-tree-sitter/main/wasm_loader_with_defaults.js +0 -9
  113. package/esm/deno-tree-sitter/main/wasm_loader_with_defaults.js.map +0 -1
  114. package/src/deno-tree-sitter/main/extended/base_node.js +0 -174
  115. package/src/deno-tree-sitter/main/extended/node_extended.js +0 -588
  116. package/src/deno-tree-sitter/main/extended/parser.js +0 -87
  117. package/src/deno-tree-sitter/main/extended/soft_node.js +0 -32
  118. package/src/deno-tree-sitter/main/extended/soft_text_node.js +0 -11
  119. package/src/deno-tree-sitter/main/extended/whitespace_node.js +0 -11
  120. package/src/deno-tree-sitter/main/extras/misc.js +0 -12
  121. package/src/deno-tree-sitter/main/tree_sitter/bindings.js +0 -26
  122. package/src/deno-tree-sitter/main/tree_sitter/constants.js +0 -79
  123. package/src/deno-tree-sitter/main/tree_sitter/language.js +0 -289
  124. package/src/deno-tree-sitter/main/tree_sitter/lookahead_iterator.js +0 -74
  125. package/src/deno-tree-sitter/main/tree_sitter/marshal.js +0 -186
  126. package/src/deno-tree-sitter/main/tree_sitter/node.js +0 -616
  127. package/src/deno-tree-sitter/main/tree_sitter/parser.js +0 -273
  128. package/src/deno-tree-sitter/main/tree_sitter/query.js +0 -705
  129. package/src/deno-tree-sitter/main/tree_sitter/tree.js +0 -145
  130. package/src/deno-tree-sitter/main/tree_sitter/tree_cursor.js +0 -314
  131. package/src/deno-tree-sitter/main/tree_sitter_wasm.js +0 -0
  132. package/src/deno-tree-sitter/main/wasm_loader.js +0 -1702
  133. package/src/deno-tree-sitter/main/wasm_loader_with_defaults.js +0 -9
package/README.md CHANGED
@@ -1,4 +1,3 @@
1
1
  Project [deno-tree-sitter](https://github.com/jeff-hykin/deno-tree-sitter/) contains several patches and extensions over
2
2
  web-tree-sitter. Unfortunately deno-tree-sitter is not available as npm package and cannot be used with nodejs.
3
- Therefor we add it as submodule and package inside @kerebron/tree-sitter
4
-
3
+ Therefor we add fork and refactor it.
@@ -1,17 +1,17 @@
1
- export const _shadows: {};
2
- export class BaseNode {
1
+ export declare const _shadows: {};
2
+ export declare class BaseNode {
3
3
  constructor(data: any);
4
4
  /** @type {number} */
5
- get depth(): number;
6
- _depth: any;
5
+ get depth(): any;
7
6
  /** @type {number} */
8
- get length(): number;
7
+ get length(): any;
8
+ [Symbol.iterator](): Generator<any, void, any>;
9
9
  get hasChildren(): boolean;
10
10
  get hardChildren(): any;
11
11
  get fields(): {};
12
12
  get fieldNames(): never[];
13
13
  /** @type {string} */
14
- get indent(): string;
14
+ get indent(): any;
15
15
  /** @type {Object} */
16
16
  toJSON(): {
17
17
  children: any;
@@ -21,8 +21,7 @@ export class BaseNode {
21
21
  startPosition: any;
22
22
  startIndex: any;
23
23
  endPosition: any;
24
- endIndex: any;
25
- indent: string;
24
+ indent: any;
26
25
  } | {
27
26
  text: any;
28
27
  children: never[];
@@ -32,8 +31,7 @@ export class BaseNode {
32
31
  startPosition: any;
33
32
  startIndex: any;
34
33
  endPosition: any;
35
- endIndex: any;
36
- indent: string;
34
+ indent: any;
37
35
  };
38
36
  iterFlattened(): Generator<never, void, unknown>;
39
37
  flattened(): never[];
@@ -42,7 +40,6 @@ export class BaseNode {
42
40
  *
43
41
  * @param {string} replacement - description
44
42
  */
45
- replaceInnards(replacement: string): void;
46
- [Symbol.iterator](): Generator<any, void, any>;
43
+ replaceInnards(replacement: any): void;
47
44
  }
48
45
  //# sourceMappingURL=base_node.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"base_node.d.ts","sourceRoot":"","sources":["../../src/extended/base_node.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,QAAQ,IAAK,CAAC;AAC3B,qBAAa,QAAQ;gBAUP,IAAI,KAAA;IAIhB,qBAAqB;IACrB,IAAI,KAAK,QASR;IAED,qBAAqB;IACrB,IAAI,MAAM,QAET;IAEA,CAAC,MAAM,CAAC,QAAQ,CAAC;IAIlB,IAAI,WAAW,YAEd;IAED,IAAI,YAAY,QAEf;IAED,IAAI,MAAM,OAET;IAED,IAAI,UAAU,YAEb;IAED,qBAAqB;IACrB,IAAI,MAAM,QAMT;IAED,qBAAqB;IACrB,MAAM;;;;;;;;;;;;;;;;;;;;IA4DL,aAAa;IAEd,SAAS;IAIT;;;;OAIG;IACH,cAAc,CAAC,WAAW,KAAA;CAuC3B"}
@@ -1,4 +1,4 @@
1
- import { Node } from "../tree_sitter/node.js";
1
+ import { Node } from 'web-tree-sitter';
2
2
  export const _shadows = {};
3
3
  export class BaseNode {
4
4
  // type = ""
@@ -35,7 +35,7 @@ export class BaseNode {
35
35
  return (this.children?.length || 0) > 0;
36
36
  }
37
37
  get hardChildren() {
38
- return (this.children || []).filter(each => each instanceof Node);
38
+ return (this.children || []).filter((each) => each instanceof Node);
39
39
  }
40
40
  get fields() {
41
41
  return {};
@@ -60,11 +60,9 @@ export class BaseNode {
60
60
  startPosition: this.startPosition,
61
61
  startIndex: this.startIndex,
62
62
  endPosition: this.endPosition,
63
- startIndex: this.startIndex,
64
- endIndex: this.endIndex,
65
63
  indent: this.indent,
66
64
  ...optionalData,
67
- children: this.children.map(each => each.toJSON()),
65
+ children: this.children.map((each) => each.toJSON()),
68
66
  };
69
67
  }
70
68
  else {
@@ -75,8 +73,6 @@ export class BaseNode {
75
73
  startPosition: this.startPosition,
76
74
  startIndex: this.startIndex,
77
75
  endPosition: this.endPosition,
78
- startIndex: this.startIndex,
79
- endIndex: this.endIndex,
80
76
  indent: this.indent,
81
77
  ...optionalData,
82
78
  text: this.text,
@@ -84,7 +80,7 @@ export class BaseNode {
84
80
  };
85
81
  }
86
82
  }
87
- [Symbol.for("Deno.customInspect")](inspect, options) {
83
+ [Symbol.for('Deno.customInspect')](inspect, options) {
88
84
  const optional = {};
89
85
  let text;
90
86
  try {
@@ -97,15 +93,15 @@ export class BaseNode {
97
93
  return this;
98
94
  }
99
95
  return inspect({
100
- '': text.length < 60 ? text : text.slice(0, 30) + "..." + text.slice(-27),
96
+ '': text.length < 60
97
+ ? text
98
+ : text.slice(0, 30) + '...' + text.slice(-27),
101
99
  type: this.type,
102
100
  typeId: this.typeId,
103
101
  fieldNames: this.fieldNames,
104
102
  startPosition: this.startPosition,
105
103
  startIndex: this.startIndex,
106
104
  endPosition: this.endPosition,
107
- startIndex: this.startIndex,
108
- endIndex: this.endIndex,
109
105
  indent: this.indent,
110
106
  ...optional,
111
107
  hasChildren: this.hasChildren,
@@ -138,7 +134,7 @@ export class BaseNode {
138
134
  newEndCol = originalStart.column + replacement.length;
139
135
  }
140
136
  else {
141
- newEndCol = replacement.split("\n").slice(-1)[0].length;
137
+ newEndCol = replacement.split('\n').slice(-1)[0].length;
142
138
  }
143
139
  // updates all the indices of all the nodes
144
140
  tree.edit({
@@ -147,9 +143,13 @@ export class BaseNode {
147
143
  newEndIndex: originalStartIndex + replacement.length,
148
144
  startPosition: originalStart,
149
145
  oldEndPosition: originalEnd,
150
- newEndPosition: { row: originalStart.row + newNumberOfLines, column: newEndCol },
146
+ newEndPosition: {
147
+ row: originalStart.row + newNumberOfLines,
148
+ column: newEndCol,
149
+ },
151
150
  });
152
- this.tree.codeString = sourceCode.slice(0, originalStartIndex) + replacement + sourceCode.slice(originalEndIndex);
151
+ this.tree.codeString = sourceCode.slice(0, originalStartIndex) +
152
+ replacement + sourceCode.slice(originalEndIndex);
153
153
  }
154
154
  }
155
155
  //# sourceMappingURL=base_node.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"base_node.js","sourceRoot":"","sources":["../../src/extended/base_node.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAC;AAEvC,MAAM,CAAC,MAAM,QAAQ,GAAG,EAAE,CAAC;AAC3B,MAAM,OAAO,QAAQ;IACnB,YAAY;IACZ,aAAa;IACb,oBAAoB;IACpB,iBAAiB;IACjB,kBAAkB;IAClB,iBAAiB;IACjB,eAAe;IACf,cAAc;IAEd,YAAY,IAAI;QACd,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IAC5B,CAAC;IAED,qBAAqB;IACrB,IAAI,KAAK;QACP,IAAI,IAAI,CAAC,MAAM,IAAI,IAAI,EAAE,CAAC;YACxB,IAAI,IAAI,CAAC,MAAM,IAAI,IAAI,EAAE,CAAC;gBACxB,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;YAClB,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,GAAG,CAAC,CAAC;YACtC,CAAC;QACH,CAAC;QACD,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IAED,qBAAqB;IACrB,IAAI,MAAM;QACR,OAAO,IAAI,CAAC,QAAQ,EAAE,MAAM,IAAI,CAAC,CAAC;IACpC,CAAC;IAED,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC;QAChB,KAAK,CAAC,CAAC,IAAI,CAAC,QAAQ,IAAI,EAAE,CAAC;IAC7B,CAAC;IAED,IAAI,WAAW;QACb,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE,MAAM,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;IAC1C,CAAC;IAED,IAAI,YAAY;QACd,OAAO,CAAC,IAAI,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,YAAY,IAAI,CAAC,CAAC;IACtE,CAAC;IAED,IAAI,MAAM;QACR,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,IAAI,UAAU;QACZ,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,qBAAqB;IACrB,IAAI,MAAM;QACR,OAAO,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,CAC/B,IAAI,MAAM,CAAC,kBAAkB,IAAI,CAAC,aAAa,CAAC,GAAG,SAAS,CAAC,CAC9D,CAAC,CAAC,CAAC,CAAC;QACL,sCAAsC;QACtC,mFAAmF;IACrF,CAAC;IAED,qBAAqB;IACrB,MAAM;QACJ,MAAM,YAAY,GAAG,EAAE,CAAC;QACxB,IAAI,IAAI,CAAC,QAAQ,EAAE,MAAM,EAAE,CAAC;YAC1B,OAAO;gBACL,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,MAAM,EAAE,IAAI,CAAC,MAAM;gBACnB,UAAU,EAAE,IAAI,CAAC,UAAU;gBAC3B,aAAa,EAAE,IAAI,CAAC,aAAa;gBACjC,UAAU,EAAE,IAAI,CAAC,UAAU;gBAC3B,WAAW,EAAE,IAAI,CAAC,WAAW;gBAC7B,MAAM,EAAE,IAAI,CAAC,MAAM;gBACnB,GAAG,YAAY;gBACf,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;aACrD,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,OAAO;gBACL,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,MAAM,EAAE,IAAI,CAAC,MAAM;gBACnB,UAAU,EAAE,IAAI,CAAC,UAAU;gBAC3B,aAAa,EAAE,IAAI,CAAC,aAAa;gBACjC,UAAU,EAAE,IAAI,CAAC,UAAU;gBAC3B,WAAW,EAAE,IAAI,CAAC,WAAW;gBAC7B,MAAM,EAAE,IAAI,CAAC,MAAM;gBACnB,GAAG,YAAY;gBACf,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,QAAQ,EAAE,EAAE;aACb,CAAC;QACJ,CAAC;IACH,CAAC;IAED,CAAC,MAAM,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC,CAAC,OAAO,EAAE,OAAO;QACjD,MAAM,QAAQ,GAAG,EAAE,CAAC;QACpB,IAAI,IAAI,CAAC;QACT,IAAI,CAAC;YACH,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;QACnB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,GAAG,SAAS,CAAC;QACnB,CAAC;QACD,IAAI,IAAI,IAAI,SAAS,EAAE,CAAC;YACtB,OAAO,IAAI,CAAC;QACd,CAAC;QACD,OAAO,OAAO,CACZ;YACE,EAAE,EAAE,IAAI,CAAC,MAAM,GAAG,EAAE;gBAClB,CAAC,CAAC,IAAI;gBACN,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;YAC/C,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,aAAa,EAAE,IAAI,CAAC,aAAa;YACjC,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,GAAG,QAAQ;YACX,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,QAAQ,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC;SACrC,EACD,OAAO,CACR,CAAC;IACJ,CAAC;IACD,CAAC,aAAa;IACd,CAAC;IACD,SAAS;QACP,OAAO,EAAE,CAAC;IACZ,CAAC;IAED;;;;OAIG;IACH,cAAc,CAAC,WAAW;QACxB,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;QACvB,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC;QACxC,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,IAAI,CAAC;QACvC,sDAAsD;QACtD,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;QACpB,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC;QAClB,6BAA6B;QAC7B,MAAM,EACJ,aAAa,EAAE,aAAa,EAC5B,WAAW,EAAE,WAAW,EACxB,UAAU,EAAE,kBAAkB,EAC9B,QAAQ,EAAE,gBAAgB,GAC3B,GAAG,IAAI,CAAC;QAET,0CAA0C;QAC1C,MAAM,gBAAgB,GAAG,WAAW,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,MAAM,IAAI,CAAC,CAAC;QAC/D,IAAI,SAAS,GAAG,aAAa,CAAC,MAAM,CAAC;QACrC,IAAI,gBAAgB,IAAI,CAAC,EAAE,CAAC;YAC1B,SAAS,GAAG,aAAa,CAAC,MAAM,GAAG,WAAW,CAAC,MAAM,CAAC;QACxD,CAAC;aAAM,CAAC;YACN,SAAS,GAAG,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;QAC1D,CAAC;QACD,2CAA2C;QAC3C,IAAI,CAAC,IAAI,CAAC;YACR,UAAU,EAAE,kBAAkB;YAC9B,WAAW,EAAE,gBAAgB;YAC7B,WAAW,EAAE,kBAAkB,GAAG,WAAW,CAAC,MAAM;YACpD,aAAa,EAAE,aAAa;YAC5B,cAAc,EAAE,WAAW;YAC3B,cAAc,EAAE;gBACd,GAAG,EAAE,aAAa,CAAC,GAAG,GAAG,gBAAgB;gBACzC,MAAM,EAAE,SAAS;aAClB;SACF,CAAC,CAAC;QAEH,IAAI,CAAC,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,kBAAkB,CAAC;YAC5D,WAAW,GAAG,UAAU,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC;IACrD,CAAC;CACF"}
@@ -0,0 +1,243 @@
1
+ import { Node } from 'web-tree-sitter';
2
+ import { Tree } from 'web-tree-sitter';
3
+ import { BaseNode } from './base_node.js';
4
+ export declare class ExtendedTree extends Tree {
5
+ /** @type {HardNode} */
6
+ rootNode: any;
7
+ }
8
+ export declare class HardNode extends BaseNode {
9
+ /** @internal */
10
+ _children: any;
11
+ /** @internal */
12
+ _fields: any;
13
+ /** @internal */
14
+ _depth: any;
15
+ /** @type {number} */
16
+ id: any;
17
+ /** @type {number} */
18
+ startIndex: any;
19
+ /** @type {Position} */
20
+ startPosition: any;
21
+ /** @type {ExtendedTree} */
22
+ tree: any;
23
+ /** @type {string} */
24
+ type: any;
25
+ /** @type {Boolean} */
26
+ isExtra: any;
27
+ /** @type {Boolean} */
28
+ isError: any;
29
+ /** @type {Boolean} */
30
+ isMissing: any;
31
+ /** @type {Boolean} */
32
+ hasChanges: any;
33
+ /** @type {Boolean} */
34
+ hasError: any;
35
+ /**
36
+ * @param {HardNode} other -
37
+ * @returns {Boolean} output -
38
+ */
39
+ equals: ((other: Node) => boolean) | undefined;
40
+ /** @type {HardNode} */
41
+ get parent(): any;
42
+ /** @type {string} */
43
+ get text(): string;
44
+ /** @type {Number} */
45
+ get endIndex(): any;
46
+ /** @type {Position} */
47
+ get endPosition(): {
48
+ row: any;
49
+ column: any;
50
+ };
51
+ /** @type {Array<HardNode|SoftNode>} */
52
+ get children(): any;
53
+ set children(value: any);
54
+ /**
55
+ * Yields each child
56
+ *
57
+ * @generator
58
+ * @yields {HardNode} The current child or grandchild in the structure.
59
+ */
60
+ traverse(arg?: {
61
+ _parentNodes: never[];
62
+ }): Generator<any, void, unknown>;
63
+ /**
64
+ * A generator function that flattens the hierarchical structure of `children` and their descendants.
65
+ * It yields each child and their flattened descendants recursively.
66
+ *
67
+ * @param {Function} opts.filter - A function to filter the flattened elements.
68
+ * @param {Boolean} opts.includeSelf -
69
+ * @generator
70
+ * @yields {HardNode} The current child or grandchild in the structure.
71
+ */
72
+ iterFlattened({ filter, includeSelf }?: {
73
+ includeSelf?: boolean | undefined;
74
+ }): Generator<any, void, unknown>;
75
+ /** @internal */
76
+ iterFlatten(): void;
77
+ /**
78
+ * Flattens the structure of `children` using the provided filter function.
79
+ * This method returns an array containing the flattened elements.
80
+ *
81
+ * @param {Function} opts.filter - A function to filter the flattened elements.
82
+ * @param {Boolean} opts.includeSelf -
83
+ * @returns {Array} An array containing the flattened elements that pass the filter.
84
+ */
85
+ flattened({ filter, includeSelf }?: {
86
+ includeSelf?: boolean | undefined;
87
+ }): any[];
88
+ /** @internal */
89
+ flatten(): void;
90
+ /**
91
+ * Query
92
+ *
93
+ * @example
94
+ * ```js
95
+ * import { createParser } from "https://deno.land/x/deno_tree_sitter/main/main.js"
96
+ * import javascript from "https://github.com/jeff-hykin/common_tree_sitter_languages/raw/4d8a6d34d7f6263ff570f333cdcf5ded6be89e3d/main/javascript.js"
97
+ * const parser = await createParser(javascript) // path or Uint8Array
98
+ * const tree = parser.parse('let a = 1;let b = 1;let c = 1;')
99
+ *
100
+ * tree.rootNode.query(`(identifier) @blahBlahBlah`, {matchLimit: 2})
101
+ * // returns:
102
+ * [
103
+ * {
104
+ * pattern: 0,
105
+ * captures: [
106
+ * {
107
+ * name: "blahBlahBlah",
108
+ * node: {
109
+ * type: "identifier",
110
+ * typeId: 1,
111
+ * startPosition: { row: 0, column: 4 },
112
+ * startIndex: 4,
113
+ * endPosition: { row: 0, column: 5 },
114
+ * endIndex: 5,
115
+ * indent: undefined,
116
+ * hasChildren: false,
117
+ * children: []
118
+ * }
119
+ * }
120
+ * ]
121
+ * },
122
+ * {
123
+ * pattern: 0,
124
+ * captures: [
125
+ * {
126
+ * name: "blahBlahBlah",
127
+ * node: {
128
+ * type: "identifier",
129
+ * typeId: 1,
130
+ * startPosition: { row: 0, column: 14 },
131
+ * startIndex: 14,
132
+ * endPosition: { row: 0, column: 15 },
133
+ * endIndex: 15,
134
+ * indent: undefined,
135
+ * hasChildren: false,
136
+ * children: []
137
+ * }
138
+ * }
139
+ * ]
140
+ * },
141
+ * {
142
+ * pattern: 0,
143
+ * captures: [
144
+ * {
145
+ * name: "blahBlahBlah",
146
+ * node: {
147
+ * type: "identifier",
148
+ * typeId: 1,
149
+ * startPosition: { row: 0, column: 24 },
150
+ * startIndex: 24,
151
+ * endPosition: { row: 0, column: 25 },
152
+ * endIndex: 25,
153
+ * indent: undefined,
154
+ * hasChildren: false,
155
+ * children: []
156
+ * }
157
+ * }
158
+ * ]
159
+ * }
160
+ * ]
161
+ * ```
162
+ *
163
+ * @param {String} queryString - see https://tree-sitter.github.io/tree-sitter/using-parsers#query-syntax
164
+ * @param options.matchLimit - max number of results
165
+ * @param options.startPosition - {row: Number, column: number}
166
+ * @param options.endPosition - {row: Number, column: number}
167
+ * @param options.maxResultDepth - depth relative to the current node (1 = direct children, 2 = grandchildren, etc)
168
+ * @returns {[Object]} output
169
+ */
170
+ query(queryString: any, options: any): import("web-tree-sitter").QueryMatch[];
171
+ /**
172
+ * quickQuery
173
+ *
174
+ * @example
175
+ * ```js
176
+ * import { createParser } from "https://deno.land/x/deno_tree_sitter/main/main.js"
177
+ * import javascript from "https://github.com/jeff-hykin/common_tree_sitter_languages/raw/676ffa3b93768b8ac628fd5c61656f7dc41ba413/main/javascript.js"
178
+ * const parser = await createParser(javascript) // path or Uint8Array
179
+ * const tree = parser.parse('let a = 1;let b = 1;let c = 1;')
180
+ * // ex1: no capture names
181
+ * const nodes = tree.rootNode.quickQuery(
182
+ * `(identifier)`, {matchLimit: 2}
183
+ * )
184
+ * // ex2: with capture names
185
+ * const groups = tree.rootNode.quickQuery(
186
+ * `'(binding (attrpath) @myKey (list_expression) @myList ("\\"")? @optionalThing )`
187
+ * )
188
+ * groups[0].myKey // node
189
+ * groups[0].myList // node
190
+ * groups[0].optionalThing // node or null
191
+ * groups[0][0] // node (the whole match)
192
+ * ```
193
+ *
194
+ * @param {String} queryString - see https://tree-sitter.github.io/tree-sitter/using-parsers#query-syntax
195
+ * @param options.matchLimit - max number of results
196
+ * @param options.startPosition - {row: Number, column: number}
197
+ * @param options.endPosition - {row: Number, column: number}
198
+ * @param options.maxResultDepth - depth relative to the current node (1 = direct children, 2 = grandchildren, etc)
199
+ * @returns {Array<HardNode|Record<any, HardNode>>} nodesOrObjsOfNodes
200
+ */
201
+ quickQuery(queryString: any, options: any): (Node | {
202
+ [k: string]: Node;
203
+ })[];
204
+ /**
205
+ * quickQueryFirst
206
+ *
207
+ * @example
208
+ * ```js
209
+ * import { createParser } from "https://deno.land/x/deno_tree_sitter/main/main.js"
210
+ * import javascript from "https://github.com/jeff-hykin/common_tree_sitter_languages/raw/4d8a6d34d7f6263ff570f333cdcf5ded6be89e3d/main/javascript.js"
211
+ * const parser = await createParser(javascript) // path or Uint8Array
212
+ * const tree = parser.parse('let a = 1;let b = 1;let c = 1;')
213
+ *
214
+ * // ex1: no capture names
215
+ * const node = tree.rootNode.quickQueryFirst(`(identifier)`)
216
+ *
217
+ * // ex2: with capture names
218
+ * const { myKey, myList, optionalThing } = tree.rootNode.quickQueryFirst(
219
+ * `'(binding (attrpath) @myKey (list_expression) @myList ("\\"")? @optionalThing )`
220
+ * )
221
+ * myKey // node
222
+ * myList // node
223
+ * optionalThing // node or null
224
+ * ```
225
+ *
226
+ * @param {String} queryString - see https://tree-sitter.github.io/tree-sitter/using-parsers#query-syntax
227
+ * @param options.startPosition - {row: Number, column: number}
228
+ * @param options.endPosition - {row: Number, column: number}
229
+ * @param options.maxResultDepth - depth relative to the current node (1 = direct children, 2 = grandchildren, etc)
230
+ * @returns {HardNode|Record<any,HardNode>|null} nodeOrObjOfNodes
231
+ */
232
+ quickQueryFirst(queryString: any, options: any): Node | {
233
+ [k: string]: Node;
234
+ };
235
+ get fields(): any;
236
+ get fieldNames(): string[];
237
+ getQueryForSelf(): string;
238
+ /** @returns {string} */
239
+ asLispString(): string;
240
+ }
241
+ export { Node };
242
+ export declare const _childrenWithSoftNodes: (node: any, children: any, string: any) => any[] | undefined;
243
+ //# sourceMappingURL=node_extended.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"node_extended.d.ts","sourceRoot":"","sources":["../../src/extended/node_extended.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAC;AAGvC,OAAO,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAC;AAEvC,OAAO,EAAY,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AA+DpD,qBAAa,YAAa,SAAQ,IAAI;IACpC,uBAAuB;IACvB,QAAQ,MAAC;CACV;AAmBD,qBAAa,QAAS,SAAQ,QAAQ;IACpC,gBAAgB;IAChB,SAAS,MAAC;IACV,gBAAgB;IAChB,OAAO,MAAC;IACR,gBAAgB;IAChB,MAAM,MAAC;IAEP,qBAAqB;IACrB,EAAE,MAAC;IACH,qBAAqB;IACrB,UAAU,MAAC;IACX,uBAAuB;IACvB,aAAa,MAAC;IACd,2BAA2B;IAC3B,IAAI,MAAC;IACL,qBAAqB;IACrB,IAAI,MAAC;IACL,sBAAsB;IACtB,OAAO,MAAC;IACR,sBAAsB;IACtB,OAAO,MAAC;IACR,sBAAsB;IACtB,SAAS,MAAC;IACV,sBAAsB;IACtB,UAAU,MAAC;IACX,sBAAsB;IACtB,QAAQ,MAAC;IACT;;;OAGG;IACH,MAAM,yCAAkB;IAExB,uBAAuB;IACvB,IAAI,MAAM,QAGT;IAED,qBAAqB;IACrB,IAAI,IAAI,WAEP;IAED,qBAAqB;IACrB,IAAI,QAAQ,QAKX;IAED,uBAAuB;IACvB,IAAI,WAAW;;;MASd;IAED,uCAAuC;IACvC,IAAI,QAAQ,QAcX;IAED,IAAI,QAAQ,CAAC,KAAK,KAAA,EAEjB;IAED;;;;;OAKG;IACF,QAAQ,CAAC,GAAG;;KAAuB;IAsBpC;;;;;;;;OAQG;IACF,aAAa,CAAC,EAAE,MAAM,EAAE,WAAmB,EAAE;;KAAK;IAuBnD,gBAAgB;IAChB,WAAW;IAIX;;;;;;;OAOG;IACH,SAAS,CAAC,EAAE,MAAM,EAAE,WAAmB,EAAE;;KAAK;IAG9C,gBAAgB;IAChB,OAAO;IAIP;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA+EG;IACH,KAAK,CAAC,WAAW,KAAA,EAAE,OAAO,KAAA;IA6C1B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA6BG;IACH,UAAU,CAAC,WAAW,KAAA,EAAE,OAAO,KAAA;;;IA8B/B;;;;;;;;;;;;;;;;;;;;;;;;;;;OA2BG;IACH,eAAe,CAAC,WAAW,KAAA,EAAE,OAAO,KAAA;;;IAGpC,IAAI,MAAM,QAiBT;IACD,IAAI,UAAU,aAEb;IAED,eAAe;IAqBf,wBAAwB;IACxB,YAAY;CAGb;AASD,OAAO,EAAE,IAAI,EAAE,CAAC;AAGhB,eAAO,MAAM,sBAAsB,GAAI,SAAI,EAAE,aAAQ,EAAE,WAAM,sBAsH5D,CAAC"}