clarity-pattern-parser 11.0.14 → 11.0.16
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.browser.js +6 -5
- package/dist/index.browser.js.map +1 -1
- package/dist/index.esm.js +6 -5
- package/dist/index.esm.js.map +1 -1
- package/dist/index.js +6 -5
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
- package/src/patterns/Reference.ts +8 -7
- package/src/query/query.ts +48 -0
- package/src/query/selector_parser.ts +8 -0
package/dist/index.browser.js
CHANGED
|
@@ -861,18 +861,19 @@
|
|
|
861
861
|
}
|
|
862
862
|
parse(cursor) {
|
|
863
863
|
this._firstIndex = cursor.index;
|
|
864
|
-
this.
|
|
864
|
+
const pattern = this.getReferencePatternSafely();
|
|
865
|
+
this._cacheAncestors(pattern.id);
|
|
865
866
|
if (this._isBeyondRecursiveAllowance()) {
|
|
866
867
|
cursor.recordErrorAt(this._firstIndex, this._firstIndex, this);
|
|
867
868
|
return null;
|
|
868
869
|
}
|
|
869
|
-
return
|
|
870
|
+
return pattern.parse(cursor);
|
|
870
871
|
}
|
|
871
|
-
_cacheAncestors() {
|
|
872
|
+
_cacheAncestors(id) {
|
|
872
873
|
if (!this._cachedAncestors) {
|
|
873
874
|
let pattern = this.parent;
|
|
874
875
|
while (pattern != null) {
|
|
875
|
-
if (pattern.
|
|
876
|
+
if (pattern.id === id) {
|
|
876
877
|
this._recursiveAncestors.push(pattern);
|
|
877
878
|
}
|
|
878
879
|
pattern = pattern.parent;
|
|
@@ -884,7 +885,7 @@
|
|
|
884
885
|
for (let pattern of this._recursiveAncestors) {
|
|
885
886
|
if (pattern._firstIndex === this._firstIndex) {
|
|
886
887
|
depth++;
|
|
887
|
-
if (depth >
|
|
888
|
+
if (depth > 1) {
|
|
888
889
|
return true;
|
|
889
890
|
}
|
|
890
891
|
}
|