clarity-pattern-parser 11.1.1 → 11.1.2

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.
@@ -6,6 +6,7 @@ export declare class Expression implements Pattern {
6
6
  private _id;
7
7
  private _type;
8
8
  private _name;
9
+ private _originalName;
9
10
  private _parent;
10
11
  private _firstIndex;
11
12
  private _originalPatterns;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "clarity-pattern-parser",
3
- "version": "11.1.1",
3
+ "version": "11.1.2",
4
4
  "description": "Parsing Library for Typescript and Javascript.",
5
5
  "main": "./dist/index.js",
6
6
  "module": "./dist/index.esm.js",
@@ -166,4 +166,12 @@ describe("Expression Pattern", () => {
166
166
  const suggestion = autoComplete.suggestFor("a ? b ");
167
167
  expect(suggestion).toBe(suggestion);
168
168
  });
169
+
170
+ test("Clone With New Name", ()=>{
171
+ const expression = createTailExpression();
172
+ const clone = expression.clone("new-expression");
173
+
174
+ const result = clone.exec("a.b");
175
+ expect(result).toBe(result);
176
+ });
169
177
  });
@@ -15,6 +15,7 @@ export class Expression implements Pattern {
15
15
  private _id: string;
16
16
  private _type: string;
17
17
  private _name: string;
18
+ private _originalName: string;
18
19
  private _parent: Pattern | null;
19
20
  private _firstIndex: number;
20
21
  private _originalPatterns: Pattern[];
@@ -88,6 +89,7 @@ export class Expression implements Pattern {
88
89
  this._id = `expression-${indexId++}`;
89
90
  this._type = "expression";
90
91
  this._name = name;
92
+ this._originalName = name;
91
93
  this._parent = null;
92
94
  this._firstIndex = 0;
93
95
  this._atomPatterns = [];
@@ -253,7 +255,7 @@ export class Expression implements Pattern {
253
255
  if (pattern == null) {
254
256
  return false;
255
257
  }
256
- return pattern.name === this.name;
258
+ return pattern.name === this._originalName;
257
259
  }
258
260
 
259
261
  build() {
@@ -550,6 +552,7 @@ export class Expression implements Pattern {
550
552
 
551
553
  clone(name = this._name): Pattern {
552
554
  const clone = new Expression(name, this._originalPatterns);
555
+ clone._originalName = this.name;
553
556
  clone._id = this._id;
554
557
  return clone;
555
558
  }