clarity-pattern-parser 10.1.7 → 10.1.8

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.
package/dist/index.esm.js CHANGED
@@ -842,16 +842,25 @@ class Reference {
842
842
  continue;
843
843
  }
844
844
  const foundPattern = pattern.getPatternWithinContext(this.name);
845
- if (foundPattern != null && foundPattern.type !== "reference") {
845
+ if (foundPattern != null && this._isValidPattern(foundPattern)) {
846
846
  return foundPattern;
847
847
  }
848
848
  pattern = pattern.parent;
849
849
  }
850
850
  const root = this._getRoot();
851
851
  return findPattern(root, (pattern) => {
852
- return pattern.name === this._name && pattern.type !== "reference";
852
+ return pattern.name === this._name && this._isValidPattern(pattern);
853
853
  });
854
854
  }
855
+ _isValidPattern(pattern) {
856
+ if (pattern.type === "reference") {
857
+ return false;
858
+ }
859
+ if (pattern.type === "context" && pattern.children[0].type === "reference") {
860
+ return false;
861
+ }
862
+ return true;
863
+ }
855
864
  _getRoot() {
856
865
  let node = this;
857
866
  while (true) {