clarity-pattern-parser 3.0.8 → 3.0.10

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 (63) hide show
  1. package/dist/Cursor.js +105 -0
  2. package/dist/Cursor.js.map +1 -0
  3. package/dist/CursorHistory.js +104 -0
  4. package/dist/CursorHistory.js.map +1 -0
  5. package/dist/Permutor.js +52 -0
  6. package/dist/Permutor.js.map +1 -0
  7. package/dist/TextSuggester.js +223 -0
  8. package/dist/TextSuggester.js.map +1 -0
  9. package/dist/ast/CompositeNode.js +17 -0
  10. package/dist/ast/CompositeNode.js.map +1 -0
  11. package/dist/ast/Node.js +16 -0
  12. package/dist/ast/Node.js.map +1 -0
  13. package/dist/ast/ValueNode.js +14 -0
  14. package/dist/ast/ValueNode.js.map +1 -0
  15. package/dist/ast/Visitor.js +209 -0
  16. package/dist/ast/Visitor.js.map +1 -0
  17. package/dist/index.browser.js +13 -7
  18. package/dist/index.browser.js.map +1 -1
  19. package/dist/index.esm.js +13 -7
  20. package/dist/index.esm.js.map +1 -1
  21. package/dist/index.js +13 -7
  22. package/dist/index.js.map +1 -1
  23. package/dist/patterns/ParseError.js +9 -0
  24. package/dist/patterns/ParseError.js.map +1 -0
  25. package/dist/patterns/Pattern.js +127 -0
  26. package/dist/patterns/Pattern.js.map +1 -0
  27. package/dist/patterns/RecursivePattern.js +65 -0
  28. package/dist/patterns/RecursivePattern.js.map +1 -0
  29. package/dist/patterns/composite/AndComposite.js +117 -0
  30. package/dist/patterns/composite/AndComposite.js.map +1 -0
  31. package/dist/patterns/composite/CompositePattern.js +7 -0
  32. package/dist/patterns/composite/CompositePattern.js.map +1 -0
  33. package/dist/patterns/composite/OptionalComposite.js +29 -0
  34. package/dist/patterns/composite/OptionalComposite.js.map +1 -0
  35. package/dist/patterns/composite/OrComposite.js +69 -0
  36. package/dist/patterns/composite/OrComposite.js.map +1 -0
  37. package/dist/patterns/composite/RepeatComposite.js +83 -0
  38. package/dist/patterns/composite/RepeatComposite.js.map +1 -0
  39. package/dist/patterns/value/AndValue.js +118 -0
  40. package/dist/patterns/value/AndValue.js.map +1 -0
  41. package/dist/patterns/value/AnyOfThese.js +59 -0
  42. package/dist/patterns/value/AnyOfThese.js.map +1 -0
  43. package/dist/patterns/value/Literal.js +63 -0
  44. package/dist/patterns/value/Literal.js.map +1 -0
  45. package/dist/patterns/value/NotValue.js +70 -0
  46. package/dist/patterns/value/NotValue.js.map +1 -0
  47. package/dist/patterns/value/OptionalValue.js +32 -0
  48. package/dist/patterns/value/OptionalValue.js.map +1 -0
  49. package/dist/patterns/value/OrValue.js +73 -0
  50. package/dist/patterns/value/OrValue.js.map +1 -0
  51. package/dist/patterns/value/RegexValue.js +69 -0
  52. package/dist/patterns/value/RegexValue.js.map +1 -0
  53. package/dist/patterns/value/RepeatValue.js +84 -0
  54. package/dist/patterns/value/RepeatValue.js.map +1 -0
  55. package/dist/patterns/value/ValuePattern.js +7 -0
  56. package/dist/patterns/value/ValuePattern.js.map +1 -0
  57. package/package.json +1 -1
  58. package/src/TextSuggester.ts +21 -11
  59. package/src/patterns/composite/RepeatComposite.ts +6 -0
  60. package/src/patterns/value/RepeatValue.ts +6 -0
  61. package/src/tests/RepeatComposite.test.ts +19 -0
  62. package/src/tests/TextSuggester.test.ts +15 -0
  63. package/src/tests/javascriptPatterns/json.ts +1 -0
@@ -0,0 +1,209 @@
1
+ export default class Visitor {
2
+ constructor(root = null, selectedNodes = []) {
3
+ this.root = root;
4
+ this.selectedNodes = selectedNodes;
5
+ }
6
+ flatten() {
7
+ this.selectedNodes.forEach((node) => {
8
+ if (node.isComposite) {
9
+ const children = [];
10
+ Visitor.walkUp(node, (descendant) => {
11
+ if (!descendant.isComposite) {
12
+ children.push(descendant);
13
+ }
14
+ });
15
+ node.children = children;
16
+ }
17
+ });
18
+ return this;
19
+ }
20
+ remove() {
21
+ if (this.root == null) {
22
+ return this;
23
+ }
24
+ this.recursiveRemove(this.root);
25
+ return this;
26
+ }
27
+ recursiveRemove(node) {
28
+ const nodesToRemove = this.selectedNodes;
29
+ if (node.isComposite && Array.isArray(node.children)) {
30
+ for (let x = 0; x < node.children.length; x++) {
31
+ if (nodesToRemove.indexOf(node.children[x]) > -1) {
32
+ node.children.splice(x, 1);
33
+ x--;
34
+ }
35
+ else {
36
+ this.recursiveRemove(node.children[x]);
37
+ }
38
+ }
39
+ }
40
+ }
41
+ wrap(callback) {
42
+ const visitor = new Visitor(this.root);
43
+ visitor.selectRoot().transform((node) => {
44
+ if (this.selectedNodes.includes(node)) {
45
+ return callback(node);
46
+ }
47
+ return node;
48
+ });
49
+ return this;
50
+ }
51
+ unwrap() {
52
+ if (this.root == null) {
53
+ return this;
54
+ }
55
+ Visitor.walkDown(this.root, (node, stack) => {
56
+ if (this.selectedNodes.includes(node)) {
57
+ const parent = stack[stack.length - 1];
58
+ const grandParent = stack[stack.length - 2];
59
+ if (parent != null && grandParent != null) {
60
+ const index = grandParent.children.indexOf(parent);
61
+ if (index > -1) {
62
+ grandParent.children.splice(index, 1, ...parent.children);
63
+ }
64
+ }
65
+ }
66
+ });
67
+ return this;
68
+ }
69
+ prepend(callback) {
70
+ if (this.root == null) {
71
+ return this;
72
+ }
73
+ Visitor.walkUp(this.root, (node, stack) => {
74
+ if (this.selectedNodes.includes(node)) {
75
+ const parent = stack[stack.length - 1];
76
+ if (parent != null) {
77
+ const index = parent.children.indexOf(node);
78
+ if (index > -1) {
79
+ parent.children.splice(index, 0, callback(node));
80
+ }
81
+ }
82
+ }
83
+ });
84
+ return this;
85
+ }
86
+ append(callback) {
87
+ if (this.root == null) {
88
+ return this;
89
+ }
90
+ Visitor.walkDown(this.root, (node, stack) => {
91
+ if (this.selectedNodes.includes(node)) {
92
+ const parent = stack[stack.length - 1];
93
+ if (parent != null) {
94
+ const index = parent.children.indexOf(node);
95
+ if (index > -1) {
96
+ parent.children.splice(index + 1, 0, callback(node));
97
+ }
98
+ }
99
+ }
100
+ });
101
+ return this;
102
+ }
103
+ transform(callback) {
104
+ this.selectedNodes.forEach((node) => {
105
+ return this.recursiveTransform(node, callback);
106
+ });
107
+ return this;
108
+ }
109
+ recursiveTransform(node, callback) {
110
+ if (node.isComposite && Array.isArray(node.children)) {
111
+ const length = node.children.length;
112
+ for (let x = 0; x < length; x++) {
113
+ node.children[x] = this.recursiveTransform(node.children[x], callback);
114
+ }
115
+ }
116
+ return callback(node);
117
+ }
118
+ selectAll() {
119
+ return this.select((n) => true);
120
+ }
121
+ selectNode(node) {
122
+ return new Visitor(this.root, [...this.selectedNodes, node]);
123
+ }
124
+ deselectNode(node) {
125
+ const visitor = new Visitor(this.root, this.selectedNodes.slice());
126
+ return visitor.filter((n) => n !== node);
127
+ }
128
+ select(callback) {
129
+ if (this.root == null) {
130
+ return this;
131
+ }
132
+ const node = this.root;
133
+ const selectedNodes = [];
134
+ if (node.isComposite) {
135
+ Visitor.walkDown(node, (descendant) => {
136
+ if (callback(descendant)) {
137
+ selectedNodes.push(descendant);
138
+ }
139
+ });
140
+ }
141
+ return new Visitor(this.root, selectedNodes);
142
+ }
143
+ forEach(callback) {
144
+ this.selectedNodes.forEach(callback);
145
+ return this;
146
+ }
147
+ filter(callback) {
148
+ return new Visitor(this.root, this.selectedNodes.filter(callback));
149
+ }
150
+ map(callback) {
151
+ return new Visitor(this.root, this.selectedNodes.map(callback));
152
+ }
153
+ selectRoot() {
154
+ if (this.root == null) {
155
+ return this;
156
+ }
157
+ return new Visitor(this.root, [this.root]);
158
+ }
159
+ first() {
160
+ return this.get(0);
161
+ }
162
+ last() {
163
+ return this.get(this.selectedNodes.length - 1);
164
+ }
165
+ get(index) {
166
+ const node = this.selectedNodes[index];
167
+ if (node == null) {
168
+ throw new Error(`Couldn't find node at index: ${index}, out of ${this.selectedNodes.length}.`);
169
+ }
170
+ return new Visitor(node, []);
171
+ }
172
+ clear() {
173
+ this.selectedNodes = [];
174
+ return this;
175
+ }
176
+ setRoot(root) {
177
+ this.root = root;
178
+ return this;
179
+ }
180
+ static select(root, callback) {
181
+ if (callback != null) {
182
+ return new Visitor(root).select(callback);
183
+ }
184
+ else {
185
+ return new Visitor(root);
186
+ }
187
+ }
188
+ static walkUp(node, callback, ancestors = []) {
189
+ ancestors.push(node);
190
+ if (node.isComposite && Array.isArray(node.children)) {
191
+ const children = node.children.slice();
192
+ children.forEach((c) => this.walkUp(c, callback, ancestors));
193
+ }
194
+ ancestors.pop();
195
+ callback(node, ancestors);
196
+ return this;
197
+ }
198
+ static walkDown(node, callback, ancestors = []) {
199
+ callback(node, ancestors);
200
+ ancestors.push(node);
201
+ if (node.isComposite && Array.isArray(node.children)) {
202
+ const children = node.children.slice();
203
+ children.forEach((c) => this.walkDown(c, callback, ancestors));
204
+ }
205
+ ancestors.pop();
206
+ return this;
207
+ }
208
+ }
209
+ //# sourceMappingURL=Visitor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Visitor.js","sourceRoot":"","sources":["../../src/ast/Visitor.ts"],"names":[],"mappings":"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"}
@@ -1432,22 +1432,28 @@
1432
1432
  }
1433
1433
  if (((_c = this.patternMatch) === null || _c === void 0 ? void 0 : _c.astNode) == null) {
1434
1434
  let options = (_d = this.rootPattern) === null || _d === void 0 ? void 0 : _d.getTokens();
1435
- const parts = this.text.split(" ").filter((part) => {
1436
- return part.length > 0;
1437
- });
1438
1435
  options = options === null || options === void 0 ? void 0 : options.filter((option) => {
1439
- return parts.some((part) => {
1440
- return option.indexOf(part) > -1;
1441
- });
1436
+ return option.indexOf(this.text) > -1;
1442
1437
  });
1443
1438
  if ((options === null || options === void 0 ? void 0 : options.length) === 0) {
1444
1439
  this.tokens = null;
1445
1440
  return;
1446
1441
  }
1442
+ const values = options === null || options === void 0 ? void 0 : options.map((option) => {
1443
+ const parts = option.split(this.text);
1444
+ return parts[1];
1445
+ });
1447
1446
  this.tokens = {
1448
1447
  startIndex: 0,
1449
- values: options || [],
1448
+ values: values || [],
1449
+ };
1450
+ this.matchedText = this.text;
1451
+ this.match = {
1452
+ text: this.text,
1453
+ startIndex: 0,
1454
+ endIndex: this.text.length - 1,
1450
1455
  };
1456
+ this.error = null;
1451
1457
  return;
1452
1458
  }
1453
1459
  const options = this.options;