clarity-pattern-parser 11.2.2 → 11.3.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.
@@ -17,7 +17,7 @@ describe("Repeat", () => {
17
17
  let result = finiteRepeat.parse(cursor);
18
18
  let expected: Node | null = null;
19
19
 
20
- expect(result).toBe(expected);
20
+ expect(result).toBeNull();
21
21
  expect(cursor.hasError).toBeTruthy();
22
22
 
23
23
  cursor = new Cursor("1");
@@ -26,7 +26,7 @@ describe("Repeat", () => {
26
26
  new Node("regex", "number", 0, 0, [], "1")
27
27
  ]);
28
28
 
29
- expect(result?.toJson()).toEqual(expected.toJson());
29
+ expect(result?.isEqual(expected));
30
30
  expect(cursor.hasError).toBeFalsy();
31
31
 
32
32
  cursor = new Cursor("12");
@@ -36,7 +36,7 @@ describe("Repeat", () => {
36
36
  new Node("regex", "number", 1, 1, [], "2")
37
37
  ]);
38
38
 
39
- expect(result?.toJson()).toEqual(expected.toJson());
39
+ expect(result?.isEqual(expected));
40
40
  expect(cursor.hasError).toBeFalsy();
41
41
 
42
42
  cursor = new Cursor("123");
@@ -46,7 +46,7 @@ describe("Repeat", () => {
46
46
  new Node("regex", "number", 1, 1, [], "2")
47
47
  ]);
48
48
 
49
- expect(result?.toJson()).toEqual(expected.toJson());
49
+ expect(result?.isEqual(expected));
50
50
  expect(cursor.hasError).toBeFalsy();
51
51
  expect(cursor.index).toBe(1);
52
52
  });
@@ -59,14 +59,14 @@ describe("Repeat", () => {
59
59
  let result = finiteRepeat.parse(cursor);
60
60
  let expected: Node | null = null;
61
61
 
62
- expect(result).toBe(expected);
62
+ expect(result).toBeNull();
63
63
  expect(cursor.hasError).toBeTruthy();
64
64
 
65
65
  cursor = new Cursor("1");
66
66
  result = finiteRepeat.parse(cursor);
67
67
  expected = null;
68
68
 
69
- expect(result).toEqual(expected);
69
+ expect(result).toBeNull();
70
70
  expect(cursor.hasError).toBeTruthy();
71
71
 
72
72
  cursor = new Cursor("12");
@@ -76,7 +76,7 @@ describe("Repeat", () => {
76
76
  new Node("regex", "number", 1, 1, [], "2")
77
77
  ]);
78
78
 
79
- expect(result?.toJson()).toEqual(expected.toJson());
79
+ expect(result?.isEqual(expected));
80
80
  expect(cursor.hasError).toBeFalsy();
81
81
 
82
82
  cursor = new Cursor("123");
@@ -86,7 +86,7 @@ describe("Repeat", () => {
86
86
  new Node("regex", "number", 1, 1, [], "2")
87
87
  ]);
88
88
 
89
- expect(result?.toJson()).toEqual(expected.toJson());
89
+ expect(result?.isEqual(expected));
90
90
  expect(cursor.hasError).toBeFalsy();
91
91
  expect(cursor.index).toBe(1);
92
92
  });
@@ -20,7 +20,7 @@ describe("Sequence", () => {
20
20
  new Node("literal", "a", 0, 0, [], "A")
21
21
  ]);
22
22
 
23
- expect(result).toEqual(expected);
23
+ expect(result?.isEqual(expected)).toBeTruthy();
24
24
  expect(cursor.furthestError).toBe(null);
25
25
  expect(cursor.index).toBe(0);
26
26
  });
@@ -48,7 +48,7 @@ describe("Sequence", () => {
48
48
  new Node("literal", "b", 1, 1, [], "B")
49
49
  ]);
50
50
 
51
- expect(result).toEqual(expected);
51
+ expect(result?.isEqual(expected)).toBeTruthy();
52
52
  expect(cursor.error).toBe(null)
53
53
  expect(cursor.index).toBe(1);
54
54
  });
@@ -88,7 +88,7 @@ describe("Sequence", () => {
88
88
  new Node("literal", "a", 0, 0, [], "A")
89
89
  ]);
90
90
 
91
- expect(result).toEqual(expected);
91
+ expect(result?.isEqual(expected)).toBeTruthy();
92
92
  expect(cursor.error).toBe(null);
93
93
  expect(cursor.index).toBe(0);
94
94
  });
@@ -104,7 +104,7 @@ describe("Sequence", () => {
104
104
  new Node("literal", "a", 0, 0, [], "A")
105
105
  ]);
106
106
 
107
- expect(result).toEqual(expected);
107
+ expect(result?.isEqual(expected)).toBeTruthy();
108
108
  expect(cursor.error).toBe(null)
109
109
  expect(cursor.index).toBe(0);
110
110
  });
@@ -135,7 +135,7 @@ describe("Sequence", () => {
135
135
  new Node("literal", "c", 1, 1, [], "C"),
136
136
  ]);
137
137
 
138
- expect(result).toEqual(expected);
138
+ expect(result?.isEqual(expected)).toBeTruthy();
139
139
  expect(cursor.error).toBe(null)
140
140
  expect(cursor.index).toBe(1);
141
141
  });
@@ -186,7 +186,7 @@ describe("Sequence", () => {
186
186
  new Node("literal", "a", 0, 0, undefined, "A")
187
187
  ]);
188
188
 
189
- expect(result).toEqual(expected)
189
+ expect(result?.isEqual(expected)).toBeTruthy();
190
190
  expect(cursor).not.toBeNull();
191
191
  });
192
192
 
@@ -16,7 +16,7 @@ export class TakeUntil implements Pattern {
16
16
  private _startedOnIndex: number;
17
17
  private _terminatingPattern: Pattern;
18
18
  private _tokens: string[];
19
-
19
+
20
20
  get id(): string {
21
21
  return this._id;
22
22
  }
@@ -93,7 +93,10 @@ export class TakeUntil implements Pattern {
93
93
  if (foundMatch) {
94
94
  cursor.moveTo(cursorIndex - 1);
95
95
  const value = cursor.getChars(this.startedOnIndex, cursorIndex - 1);
96
- return Node.createValueNode(this._type, this._name, value);
96
+ const node = Node.createValueNode(this._type, this._name, value);
97
+
98
+ cursor.recordMatch(this, node);
99
+ return node;
97
100
  } else {
98
101
  cursor.moveTo(this.startedOnIndex);
99
102
  cursor.recordErrorAt(this._startedOnIndex, this._startedOnIndex, this);