happy-dom 14.1.2 → 14.2.0
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.
Potentially problematic release.
This version of happy-dom might be problematic. Click here for more details.
- package/cjs/query-selector/ISelectorPseudo.d.ts +1 -1
- package/cjs/query-selector/ISelectorPseudo.d.ts.map +1 -1
- package/cjs/query-selector/SelectorItem.cjs +69 -32
- package/cjs/query-selector/SelectorItem.cjs.map +1 -1
- package/cjs/query-selector/SelectorItem.d.ts.map +1 -1
- package/cjs/query-selector/SelectorParser.cjs +18 -5
- package/cjs/query-selector/SelectorParser.cjs.map +1 -1
- package/cjs/query-selector/SelectorParser.d.ts.map +1 -1
- package/lib/query-selector/ISelectorPseudo.d.ts +1 -1
- package/lib/query-selector/ISelectorPseudo.d.ts.map +1 -1
- package/lib/query-selector/SelectorItem.d.ts.map +1 -1
- package/lib/query-selector/SelectorItem.js +69 -32
- package/lib/query-selector/SelectorItem.js.map +1 -1
- package/lib/query-selector/SelectorParser.d.ts.map +1 -1
- package/lib/query-selector/SelectorParser.js +18 -5
- package/lib/query-selector/SelectorParser.js.map +1 -1
- package/package.json +1 -1
- package/src/query-selector/ISelectorPseudo.ts +1 -1
- package/src/query-selector/SelectorItem.ts +74 -34
- package/src/query-selector/SelectorParser.ts +18 -5
@@ -2,7 +2,7 @@ import SelectorItem from './SelectorItem.cjs';
|
|
2
2
|
export default interface ISelectorPseudo {
|
3
3
|
name: string;
|
4
4
|
arguments: string | null;
|
5
|
-
|
5
|
+
selectorItems: SelectorItem[] | null;
|
6
6
|
nthFunction: ((n: number) => boolean) | null;
|
7
7
|
}
|
8
8
|
//# sourceMappingURL=ISelectorPseudo.d.ts.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"ISelectorPseudo.d.ts","sourceRoot":"","sources":["../../src/query-selector/ISelectorPseudo.ts"],"names":[],"mappings":"AAAA,OAAO,YAAY,MAAM,mBAAmB,CAAC;AAE7C,MAAM,CAAC,OAAO,WAAW,eAAe;IACvC,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,
|
1
|
+
{"version":3,"file":"ISelectorPseudo.d.ts","sourceRoot":"","sources":["../../src/query-selector/ISelectorPseudo.ts"],"names":[],"mappings":"AAAA,OAAO,YAAY,MAAM,mBAAmB,CAAC;AAE7C,MAAM,CAAC,OAAO,WAAW,eAAe;IACvC,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,aAAa,EAAE,YAAY,EAAE,GAAG,IAAI,CAAC;IACrC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC,GAAG,IAAI,CAAC;CAC7C"}
|
@@ -96,8 +96,12 @@ class SelectorItem {
|
|
96
96
|
priorityWeight += result.priorityWeight;
|
97
97
|
}
|
98
98
|
// Pseudo match
|
99
|
-
if (this.pseudos
|
100
|
-
|
99
|
+
if (this.pseudos) {
|
100
|
+
const result = this.matchPsuedo(element);
|
101
|
+
if (!result) {
|
102
|
+
return null;
|
103
|
+
}
|
104
|
+
priorityWeight += result.priorityWeight;
|
101
105
|
}
|
102
106
|
return { priorityWeight };
|
103
107
|
}
|
@@ -113,8 +117,9 @@ class SelectorItem {
|
|
113
117
|
? element[PropertySymbol.parentNode][PropertySymbol.children]
|
114
118
|
: [];
|
115
119
|
if (!this.pseudos) {
|
116
|
-
return
|
120
|
+
return { priorityWeight: 0 };
|
117
121
|
}
|
122
|
+
let priorityWeight = 0;
|
118
123
|
for (const pseudo of this.pseudos) {
|
119
124
|
// Validation
|
120
125
|
switch (pseudo.name) {
|
@@ -141,14 +146,16 @@ class SelectorItem {
|
|
141
146
|
case 'nth-of-type':
|
142
147
|
case 'nth-last-child':
|
143
148
|
case 'nth-last-of-type':
|
144
|
-
return
|
149
|
+
return null;
|
145
150
|
}
|
146
151
|
}
|
147
|
-
|
148
|
-
|
152
|
+
const selectorMatch = this.matchPseudoItem(element, parentChildren, pseudo);
|
153
|
+
if (!selectorMatch) {
|
154
|
+
return null;
|
149
155
|
}
|
156
|
+
priorityWeight += selectorMatch.priorityWeight;
|
150
157
|
}
|
151
|
-
return
|
158
|
+
return { priorityWeight };
|
152
159
|
}
|
153
160
|
/**
|
154
161
|
* Matches a pseudo selector.
|
@@ -160,80 +167,110 @@ class SelectorItem {
|
|
160
167
|
matchPseudoItem(element, parentChildren, pseudo) {
|
161
168
|
switch (pseudo.name) {
|
162
169
|
case 'first-child':
|
163
|
-
return parentChildren[0] === element;
|
170
|
+
return parentChildren[0] === element ? { priorityWeight: 10 } : null;
|
164
171
|
case 'last-child':
|
165
|
-
return parentChildren.length && parentChildren[parentChildren.length - 1] === element
|
172
|
+
return parentChildren.length && parentChildren[parentChildren.length - 1] === element
|
173
|
+
? { priorityWeight: 10 }
|
174
|
+
: null;
|
166
175
|
case 'only-child':
|
167
|
-
return parentChildren.length === 1 && parentChildren[0] === element
|
176
|
+
return parentChildren.length === 1 && parentChildren[0] === element
|
177
|
+
? { priorityWeight: 10 }
|
178
|
+
: null;
|
168
179
|
case 'first-of-type':
|
169
180
|
for (const child of parentChildren) {
|
170
181
|
if (child[PropertySymbol.tagName] === element[PropertySymbol.tagName]) {
|
171
|
-
return child === element;
|
182
|
+
return child === element ? { priorityWeight: 10 } : null;
|
172
183
|
}
|
173
184
|
}
|
174
|
-
return
|
185
|
+
return null;
|
175
186
|
case 'last-of-type':
|
176
187
|
for (let i = parentChildren.length - 1; i >= 0; i--) {
|
177
188
|
const child = parentChildren[i];
|
178
189
|
if (child[PropertySymbol.tagName] === element[PropertySymbol.tagName]) {
|
179
|
-
return child === element;
|
190
|
+
return child === element ? { priorityWeight: 10 } : null;
|
180
191
|
}
|
181
192
|
}
|
182
|
-
return
|
193
|
+
return null;
|
183
194
|
case 'only-of-type':
|
184
195
|
let isFound = false;
|
185
196
|
for (const child of parentChildren) {
|
186
197
|
if (child[PropertySymbol.tagName] === element[PropertySymbol.tagName]) {
|
187
198
|
if (isFound || child !== element) {
|
188
|
-
return
|
199
|
+
return null;
|
189
200
|
}
|
190
201
|
isFound = true;
|
191
202
|
}
|
192
203
|
}
|
193
|
-
return isFound;
|
204
|
+
return isFound ? { priorityWeight: 10 } : null;
|
194
205
|
case 'checked':
|
195
|
-
return element[PropertySymbol.tagName] === 'INPUT' && element.checked
|
206
|
+
return element[PropertySymbol.tagName] === 'INPUT' && element.checked
|
207
|
+
? { priorityWeight: 10 }
|
208
|
+
: null;
|
196
209
|
case 'empty':
|
197
|
-
return !element[PropertySymbol.children].length;
|
210
|
+
return !element[PropertySymbol.children].length ? { priorityWeight: 10 } : null;
|
198
211
|
case 'root':
|
199
|
-
return element[PropertySymbol.tagName] === 'HTML';
|
212
|
+
return element[PropertySymbol.tagName] === 'HTML' ? { priorityWeight: 10 } : null;
|
200
213
|
case 'not':
|
201
|
-
return !pseudo.
|
214
|
+
return !pseudo.selectorItems[0].match(element) ? { priorityWeight: 10 } : null;
|
202
215
|
case 'nth-child':
|
203
|
-
const nthChildIndex = pseudo.
|
204
|
-
? parentChildren.filter((child) => pseudo.
|
216
|
+
const nthChildIndex = pseudo.selectorItems[0]
|
217
|
+
? parentChildren.filter((child) => pseudo.selectorItems[0].match(child)).indexOf(element)
|
205
218
|
: parentChildren.indexOf(element);
|
206
|
-
return nthChildIndex !== -1 && pseudo.nthFunction(nthChildIndex + 1)
|
219
|
+
return nthChildIndex !== -1 && pseudo.nthFunction(nthChildIndex + 1)
|
220
|
+
? { priorityWeight: 10 }
|
221
|
+
: null;
|
207
222
|
case 'nth-of-type':
|
208
223
|
if (!element[PropertySymbol.parentNode]) {
|
209
|
-
return
|
224
|
+
return null;
|
210
225
|
}
|
211
226
|
const nthOfTypeIndex = parentChildren
|
212
227
|
.filter((child) => child[PropertySymbol.tagName] === element[PropertySymbol.tagName])
|
213
228
|
.indexOf(element);
|
214
|
-
return nthOfTypeIndex !== -1 && pseudo.nthFunction(nthOfTypeIndex + 1)
|
229
|
+
return nthOfTypeIndex !== -1 && pseudo.nthFunction(nthOfTypeIndex + 1)
|
230
|
+
? { priorityWeight: 10 }
|
231
|
+
: null;
|
215
232
|
case 'nth-last-child':
|
216
|
-
const nthLastChildIndex = pseudo.
|
233
|
+
const nthLastChildIndex = pseudo.selectorItems[0]
|
217
234
|
? parentChildren
|
218
|
-
.filter((child) => pseudo.
|
235
|
+
.filter((child) => pseudo.selectorItems[0].match(child))
|
219
236
|
.reverse()
|
220
237
|
.indexOf(element)
|
221
238
|
: parentChildren.reverse().indexOf(element);
|
222
|
-
return nthLastChildIndex !== -1 && pseudo.nthFunction(nthLastChildIndex + 1)
|
239
|
+
return nthLastChildIndex !== -1 && pseudo.nthFunction(nthLastChildIndex + 1)
|
240
|
+
? { priorityWeight: 10 }
|
241
|
+
: null;
|
223
242
|
case 'nth-last-of-type':
|
224
243
|
const nthLastOfTypeIndex = parentChildren
|
225
244
|
.filter((child) => child[PropertySymbol.tagName] === element[PropertySymbol.tagName])
|
226
245
|
.reverse()
|
227
246
|
.indexOf(element);
|
228
|
-
return nthLastOfTypeIndex !== -1 && pseudo.nthFunction(nthLastOfTypeIndex + 1)
|
247
|
+
return nthLastOfTypeIndex !== -1 && pseudo.nthFunction(nthLastOfTypeIndex + 1)
|
248
|
+
? { priorityWeight: 10 }
|
249
|
+
: null;
|
229
250
|
case 'target':
|
230
251
|
const hash = element[PropertySymbol.ownerDocument].location.hash;
|
231
252
|
if (!hash) {
|
232
|
-
return
|
253
|
+
return null;
|
254
|
+
}
|
255
|
+
return element.isConnected && element.id === hash.slice(1) ? { priorityWeight: 10 } : null;
|
256
|
+
case 'is':
|
257
|
+
let priorityWeight = 0;
|
258
|
+
for (const selectorItem of pseudo.selectorItems) {
|
259
|
+
const match = selectorItem.match(element);
|
260
|
+
if (match) {
|
261
|
+
priorityWeight = match.priorityWeight;
|
262
|
+
}
|
233
263
|
}
|
234
|
-
return
|
264
|
+
return priorityWeight ? { priorityWeight } : null;
|
265
|
+
case 'where':
|
266
|
+
for (const selectorItem of pseudo.selectorItems) {
|
267
|
+
if (selectorItem.match(element)) {
|
268
|
+
return { priorityWeight: 0 };
|
269
|
+
}
|
270
|
+
}
|
271
|
+
return null;
|
235
272
|
default:
|
236
|
-
return
|
273
|
+
return null;
|
237
274
|
}
|
238
275
|
}
|
239
276
|
/**
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"SelectorItem.cjs","sourceRoot":"","sources":["../../src/query-selector/SelectorItem.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,mFAAwD;AACxD,qEAAuD;AAGvD,4FAAiE;AAKjE;;GAEG;AACH,MAAqB,YAAY;IAShC;;;;;;;;;;;OAWG;IACH,YAAY,OAQX;QACA,IAAI,CAAC,OAAO,GAAG,OAAO,EAAE,OAAO,IAAI,IAAI,CAAC;QACxC,IAAI,CAAC,EAAE,GAAG,OAAO,EAAE,EAAE,IAAI,IAAI,CAAC;QAC9B,IAAI,CAAC,UAAU,GAAG,OAAO,EAAE,UAAU,IAAI,IAAI,CAAC;QAC9C,IAAI,CAAC,UAAU,GAAG,OAAO,EAAE,UAAU,IAAI,IAAI,CAAC;QAC9C,IAAI,CAAC,OAAO,GAAG,OAAO,EAAE,OAAO,IAAI,IAAI,CAAC;QACxC,IAAI,CAAC,eAAe,GAAG,OAAO,EAAE,eAAe,IAAI,KAAK,CAAC;QACzD,IAAI,CAAC,UAAU,GAAG,OAAO,EAAE,UAAU,IAAI,mCAAsB,CAAC,UAAU,CAAC;IAC5E,CAAC;IAED;;;;;OAKG;IACI,KAAK,CAAC,OAAgB;QAC5B,IAAI,cAAc,GAAG,CAAC,CAAC;QAEvB,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;YAC1B,OAAO,IAAI,CAAC;QACb,CAAC;QAED,iBAAiB;QACjB,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YAClB,IAAI,IAAI,CAAC,OAAO,KAAK,GAAG,IAAI,IAAI,CAAC,OAAO,KAAK,OAAO,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC;gBAC5F,OAAO,IAAI,CAAC;YACb,CAAC;YACD,cAAc,IAAI,CAAC,CAAC;QACrB,CAAC;QAED,WAAW;QACX,IAAI,IAAI,CAAC,EAAE,EAAE,CAAC;YACb,IAAI,IAAI,CAAC,EAAE,KAAK,OAAO,CAAC,EAAE,EAAE,CAAC;gBAC5B,OAAO,IAAI,CAAC;YACb,CAAC;YACD,cAAc,IAAI,GAAG,CAAC;QACvB,CAAC;QAED,cAAc;QACd,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YACrB,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;YACxC,IAAI,CAAC,MAAM,EAAE,CAAC;gBACb,OAAO,IAAI,CAAC;YACb,CAAC;YACD,cAAc,IAAI,MAAM,CAAC,cAAc,CAAC;QACzC,CAAC;QAED,kBAAkB;QAClB,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YACrB,MAAM,MAAM,GAAG,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;YAC7C,IAAI,CAAC,MAAM,EAAE,CAAC;gBACb,OAAO,IAAI,CAAC;YACb,CAAC;YACD,cAAc,IAAI,MAAM,CAAC,cAAc,CAAC;QACzC,CAAC;QAED,eAAe;QACf,IAAI,IAAI,CAAC,OAAO,
|
1
|
+
{"version":3,"file":"SelectorItem.cjs","sourceRoot":"","sources":["../../src/query-selector/SelectorItem.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,mFAAwD;AACxD,qEAAuD;AAGvD,4FAAiE;AAKjE;;GAEG;AACH,MAAqB,YAAY;IAShC;;;;;;;;;;;OAWG;IACH,YAAY,OAQX;QACA,IAAI,CAAC,OAAO,GAAG,OAAO,EAAE,OAAO,IAAI,IAAI,CAAC;QACxC,IAAI,CAAC,EAAE,GAAG,OAAO,EAAE,EAAE,IAAI,IAAI,CAAC;QAC9B,IAAI,CAAC,UAAU,GAAG,OAAO,EAAE,UAAU,IAAI,IAAI,CAAC;QAC9C,IAAI,CAAC,UAAU,GAAG,OAAO,EAAE,UAAU,IAAI,IAAI,CAAC;QAC9C,IAAI,CAAC,OAAO,GAAG,OAAO,EAAE,OAAO,IAAI,IAAI,CAAC;QACxC,IAAI,CAAC,eAAe,GAAG,OAAO,EAAE,eAAe,IAAI,KAAK,CAAC;QACzD,IAAI,CAAC,UAAU,GAAG,OAAO,EAAE,UAAU,IAAI,mCAAsB,CAAC,UAAU,CAAC;IAC5E,CAAC;IAED;;;;;OAKG;IACI,KAAK,CAAC,OAAgB;QAC5B,IAAI,cAAc,GAAG,CAAC,CAAC;QAEvB,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;YAC1B,OAAO,IAAI,CAAC;QACb,CAAC;QAED,iBAAiB;QACjB,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YAClB,IAAI,IAAI,CAAC,OAAO,KAAK,GAAG,IAAI,IAAI,CAAC,OAAO,KAAK,OAAO,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC;gBAC5F,OAAO,IAAI,CAAC;YACb,CAAC;YACD,cAAc,IAAI,CAAC,CAAC;QACrB,CAAC;QAED,WAAW;QACX,IAAI,IAAI,CAAC,EAAE,EAAE,CAAC;YACb,IAAI,IAAI,CAAC,EAAE,KAAK,OAAO,CAAC,EAAE,EAAE,CAAC;gBAC5B,OAAO,IAAI,CAAC;YACb,CAAC;YACD,cAAc,IAAI,GAAG,CAAC;QACvB,CAAC;QAED,cAAc;QACd,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YACrB,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;YACxC,IAAI,CAAC,MAAM,EAAE,CAAC;gBACb,OAAO,IAAI,CAAC;YACb,CAAC;YACD,cAAc,IAAI,MAAM,CAAC,cAAc,CAAC;QACzC,CAAC;QAED,kBAAkB;QAClB,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YACrB,MAAM,MAAM,GAAG,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;YAC7C,IAAI,CAAC,MAAM,EAAE,CAAC;gBACb,OAAO,IAAI,CAAC;YACb,CAAC;YACD,cAAc,IAAI,MAAM,CAAC,cAAc,CAAC;QACzC,CAAC;QAED,eAAe;QACf,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YAClB,MAAM,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;YACzC,IAAI,CAAC,MAAM,EAAE,CAAC;gBACb,OAAO,IAAI,CAAC;YACb,CAAC;YACD,cAAc,IAAI,MAAM,CAAC,cAAc,CAAC;QACzC,CAAC;QAED,OAAO,EAAE,cAAc,EAAE,CAAC;IAC3B,CAAC;IAED;;;;;OAKG;IACK,WAAW,CAAC,OAAgB;QACnC,MAAM,MAAM,GAAY,OAAO,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC;QAC3D,MAAM,cAAc,GAAG,OAAO,CAAC,cAAc,CAAC,UAAU,CAAC;YACxD,CAAC,CAAW,OAAO,CAAC,cAAc,CAAC,UAAU,CAAE,CAAC,cAAc,CAAC,QAAQ,CAAC;YACxE,CAAC,CAAC,EAAE,CAAC;QAEN,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;YACnB,OAAO,EAAE,cAAc,EAAE,CAAC,EAAE,CAAC;QAC9B,CAAC;QAED,IAAI,cAAc,GAAG,CAAC,CAAC;QAEvB,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACnC,aAAa;YACb,QAAQ,MAAM,CAAC,IAAI,EAAE,CAAC;gBACrB,KAAK,KAAK,CAAC;gBACX,KAAK,WAAW,CAAC;gBACjB,KAAK,aAAa,CAAC;gBACnB,KAAK,gBAAgB,CAAC;gBACtB,KAAK,kBAAkB;oBACtB,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC;wBACvB,MAAM,IAAI,yBAAY,CAAC,iBAAiB,IAAI,CAAC,iBAAiB,EAAE,iBAAiB,CAAC,CAAC;oBACpF,CAAC;oBACD,MAAM;YACR,CAAC;YAED,yBAAyB;YACzB,IAAI,CAAC,MAAM,EAAE,CAAC;gBACb,QAAQ,MAAM,CAAC,IAAI,EAAE,CAAC;oBACrB,KAAK,aAAa,CAAC;oBACnB,KAAK,YAAY,CAAC;oBAClB,KAAK,YAAY,CAAC;oBAClB,KAAK,eAAe,CAAC;oBACrB,KAAK,cAAc,CAAC;oBACpB,KAAK,cAAc,CAAC;oBACpB,KAAK,WAAW,CAAC;oBACjB,KAAK,aAAa,CAAC;oBACnB,KAAK,gBAAgB,CAAC;oBACtB,KAAK,kBAAkB;wBACtB,OAAO,IAAI,CAAC;gBACd,CAAC;YACF,CAAC;YAED,MAAM,aAAa,GAAG,IAAI,CAAC,eAAe,CAAC,OAAO,EAAE,cAAc,EAAE,MAAM,CAAC,CAAC;YAE5E,IAAI,CAAC,aAAa,EAAE,CAAC;gBACpB,OAAO,IAAI,CAAC;YACb,CAAC;YAED,cAAc,IAAI,aAAa,CAAC,cAAc,CAAC;QAChD,CAAC;QAED,OAAO,EAAE,cAAc,EAAE,CAAC;IAC3B,CAAC;IAED;;;;;;OAMG;IACK,eAAe,CACtB,OAAgB,EAChB,cAAyB,EACzB,MAAuB;QAEvB,QAAQ,MAAM,CAAC,IAAI,EAAE,CAAC;YACrB,KAAK,aAAa;gBACjB,OAAO,cAAc,CAAC,CAAC,CAAC,KAAK,OAAO,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;YACtE,KAAK,YAAY;gBAChB,OAAO,cAAc,CAAC,MAAM,IAAI,cAAc,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,CAAC,KAAK,OAAO;oBACpF,CAAC,CAAC,EAAE,cAAc,EAAE,EAAE,EAAE;oBACxB,CAAC,CAAC,IAAI,CAAC;YACT,KAAK,YAAY;gBAChB,OAAO,cAAc,CAAC,MAAM,KAAK,CAAC,IAAI,cAAc,CAAC,CAAC,CAAC,KAAK,OAAO;oBAClE,CAAC,CAAC,EAAE,cAAc,EAAE,EAAE,EAAE;oBACxB,CAAC,CAAC,IAAI,CAAC;YACT,KAAK,eAAe;gBACnB,KAAK,MAAM,KAAK,IAAI,cAAc,EAAE,CAAC;oBACpC,IAAI,KAAK,CAAC,cAAc,CAAC,OAAO,CAAC,KAAK,OAAO,CAAC,cAAc,CAAC,OAAO,CAAC,EAAE,CAAC;wBACvE,OAAO,KAAK,KAAK,OAAO,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;oBAC1D,CAAC;gBACF,CAAC;gBACD,OAAO,IAAI,CAAC;YACb,KAAK,cAAc;gBAClB,KAAK,IAAI,CAAC,GAAG,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;oBACrD,MAAM,KAAK,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC;oBAChC,IAAI,KAAK,CAAC,cAAc,CAAC,OAAO,CAAC,KAAK,OAAO,CAAC,cAAc,CAAC,OAAO,CAAC,EAAE,CAAC;wBACvE,OAAO,KAAK,KAAK,OAAO,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;oBAC1D,CAAC;gBACF,CAAC;gBACD,OAAO,IAAI,CAAC;YACb,KAAK,cAAc;gBAClB,IAAI,OAAO,GAAG,KAAK,CAAC;gBACpB,KAAK,MAAM,KAAK,IAAI,cAAc,EAAE,CAAC;oBACpC,IAAI,KAAK,CAAC,cAAc,CAAC,OAAO,CAAC,KAAK,OAAO,CAAC,cAAc,CAAC,OAAO,CAAC,EAAE,CAAC;wBACvE,IAAI,OAAO,IAAI,KAAK,KAAK,OAAO,EAAE,CAAC;4BAClC,OAAO,IAAI,CAAC;wBACb,CAAC;wBACD,OAAO,GAAG,IAAI,CAAC;oBAChB,CAAC;gBACF,CAAC;gBACD,OAAO,OAAO,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;YAChD,KAAK,SAAS;gBACb,OAAO,OAAO,CAAC,cAAc,CAAC,OAAO,CAAC,KAAK,OAAO,IAAuB,OAAQ,CAAC,OAAO;oBACxF,CAAC,CAAC,EAAE,cAAc,EAAE,EAAE,EAAE;oBACxB,CAAC,CAAC,IAAI,CAAC;YACT,KAAK,OAAO;gBACX,OAAO,CAAW,OAAQ,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;YAC5F,KAAK,MAAM;gBACV,OAAO,OAAO,CAAC,cAAc,CAAC,OAAO,CAAC,KAAK,MAAM,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;YACnF,KAAK,KAAK;gBACT,OAAO,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;YAChF,KAAK,WAAW;gBACf,MAAM,aAAa,GAAG,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC;oBAC5C,CAAC,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC;oBACzF,CAAC,CAAC,cAAc,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;gBACnC,OAAO,aAAa,KAAK,CAAC,CAAC,IAAI,MAAM,CAAC,WAAW,CAAC,aAAa,GAAG,CAAC,CAAC;oBACnE,CAAC,CAAC,EAAE,cAAc,EAAE,EAAE,EAAE;oBACxB,CAAC,CAAC,IAAI,CAAC;YACT,KAAK,aAAa;gBACjB,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,UAAU,CAAC,EAAE,CAAC;oBACzC,OAAO,IAAI,CAAC;gBACb,CAAC;gBACD,MAAM,cAAc,GAAG,cAAc;qBACnC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,cAAc,CAAC,OAAO,CAAC,KAAK,OAAO,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;qBACpF,OAAO,CAAC,OAAO,CAAC,CAAC;gBACnB,OAAO,cAAc,KAAK,CAAC,CAAC,IAAI,MAAM,CAAC,WAAW,CAAC,cAAc,GAAG,CAAC,CAAC;oBACrE,CAAC,CAAC,EAAE,cAAc,EAAE,EAAE,EAAE;oBACxB,CAAC,CAAC,IAAI,CAAC;YACT,KAAK,gBAAgB;gBACpB,MAAM,iBAAiB,GAAG,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC;oBAChD,CAAC,CAAC,cAAc;yBACb,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;yBACvD,OAAO,EAAE;yBACT,OAAO,CAAC,OAAO,CAAC;oBACnB,CAAC,CAAC,cAAc,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;gBAC7C,OAAO,iBAAiB,KAAK,CAAC,CAAC,IAAI,MAAM,CAAC,WAAW,CAAC,iBAAiB,GAAG,CAAC,CAAC;oBAC3E,CAAC,CAAC,EAAE,cAAc,EAAE,EAAE,EAAE;oBACxB,CAAC,CAAC,IAAI,CAAC;YACT,KAAK,kBAAkB;gBACtB,MAAM,kBAAkB,GAAG,cAAc;qBACvC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,cAAc,CAAC,OAAO,CAAC,KAAK,OAAO,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;qBACpF,OAAO,EAAE;qBACT,OAAO,CAAC,OAAO,CAAC,CAAC;gBACnB,OAAO,kBAAkB,KAAK,CAAC,CAAC,IAAI,MAAM,CAAC,WAAW,CAAC,kBAAkB,GAAG,CAAC,CAAC;oBAC7E,CAAC,CAAC,EAAE,cAAc,EAAE,EAAE,EAAE;oBACxB,CAAC,CAAC,IAAI,CAAC;YACT,KAAK,QAAQ;gBACZ,MAAM,IAAI,GAAG,OAAO,CAAC,cAAc,CAAC,aAAa,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC;gBACjE,IAAI,CAAC,IAAI,EAAE,CAAC;oBACX,OAAO,IAAI,CAAC;gBACb,CAAC;gBACD,OAAO,OAAO,CAAC,WAAW,IAAI,OAAO,CAAC,EAAE,KAAK,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;YAC5F,KAAK,IAAI;gBACR,IAAI,cAAc,GAAG,CAAC,CAAC;gBACvB,KAAK,MAAM,YAAY,IAAI,MAAM,CAAC,aAAa,EAAE,CAAC;oBACjD,MAAM,KAAK,GAAG,YAAY,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;oBAC1C,IAAI,KAAK,EAAE,CAAC;wBACX,cAAc,GAAG,KAAK,CAAC,cAAc,CAAC;oBACvC,CAAC;gBACF,CAAC;gBACD,OAAO,cAAc,CAAC,CAAC,CAAC,EAAE,cAAc,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;YACnD,KAAK,OAAO;gBACX,KAAK,MAAM,YAAY,IAAI,MAAM,CAAC,aAAa,EAAE,CAAC;oBACjD,IAAI,YAAY,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC;wBACjC,OAAO,EAAE,cAAc,EAAE,CAAC,EAAE,CAAC;oBAC9B,CAAC;gBACF,CAAC;gBACD,OAAO,IAAI,CAAC;YACb;gBACC,OAAO,IAAI,CAAC;QACd,CAAC;IACF,CAAC;IAED;;;;;OAKG;IACK,eAAe,CAAC,OAAgB;QACvC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;YACtB,OAAO,IAAI,CAAC;QACb,CAAC;QAED,IAAI,cAAc,GAAG,CAAC,CAAC;QAEvB,KAAK,MAAM,SAAS,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YACzC,MAAM,gBAAgB,GAAa,OAAQ,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC,YAAY,CAClF,SAAS,CAAC,IAAI,CACd,CAAC;YAEF,IAAI,CAAC,gBAAgB,EAAE,CAAC;gBACvB,OAAO,IAAI,CAAC;YACb,CAAC;YAED,cAAc,IAAI,EAAE,CAAC;YAErB,IACC,SAAS,CAAC,KAAK,KAAK,IAAI;gBACxB,CAAC,gBAAgB,CAAC,cAAc,CAAC,KAAK,CAAC,KAAK,IAAI;oBAC/C,CAAC,SAAS,CAAC,MAAM,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC;oBACpF,CAAC,CAAC,SAAS,CAAC,MAAM,IAAI,SAAS,CAAC,KAAK,KAAK,gBAAgB,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC,CAAC,EAClF,CAAC;gBACF,OAAO,IAAI,CAAC;YACb,CAAC;QACF,CAAC;QAED,OAAO,EAAE,cAAc,EAAE,CAAC;IAC3B,CAAC;IAED;;;;;OAKG;IACK,UAAU,CAAC,OAAgB;QAClC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;YACtB,OAAO,IAAI,CAAC;QACb,CAAC;QAED,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC/C,IAAI,cAAc,GAAG,CAAC,CAAC;QAEvB,KAAK,MAAM,SAAS,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YACzC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;gBACpC,OAAO,IAAI,CAAC;YACb,CAAC;YACD,cAAc,IAAI,EAAE,CAAC;QACtB,CAAC;QAED,OAAO,EAAE,cAAc,EAAE,CAAC;IAC3B,CAAC;IAED;;;;OAIG;IACK,iBAAiB;QACxB,OAAO,GAAG,IAAI,CAAC,OAAO,IAAI,EAAE,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,GAC1D,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,EACrD,GACC,IAAI,CAAC,UAAU;YACd,CAAC,CAAC,IAAI,CAAC,UAAU;iBACd,GAAG,CACH,CAAC,SAAS,EAAE,EAAE,CACb,IAAI,SAAS,CAAC,IAAI,GACjB,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,SAAS,CAAC,QAAQ,IAAI,EAAE,KAAK,SAAS,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,EACxE,GAAG,CACJ;iBACA,IAAI,CAAC,EAAE,CAAC;YACX,CAAC,CAAC,EACJ,GACC,IAAI,CAAC,OAAO;YACX,CAAC,CAAC,IAAI,CAAC,OAAO;iBACX,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,IAAI,MAAM,CAAC,IAAI,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;iBACpF,IAAI,CAAC,EAAE,CAAC;YACX,CAAC,CAAC,EACJ,EAAE,CAAC;IACJ,CAAC;CACD;AAhXD,+BAgXC"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"SelectorItem.d.ts","sourceRoot":"","sources":["../../src/query-selector/SelectorItem.ts"],"names":[],"mappings":"AAEA,OAAO,OAAO,MAAM,6BAA6B,CAAC;AAElD,OAAO,sBAAsB,MAAM,6BAA6B,CAAC;AACjE,OAAO,kBAAkB,MAAM,yBAAyB,CAAC;AACzD,OAAO,cAAc,MAAM,qBAAqB,CAAC;AACjD,OAAO,eAAe,MAAM,sBAAsB,CAAC;AAEnD;;GAEG;AACH,MAAM,CAAC,OAAO,OAAO,YAAY;IACzB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,EAAE,EAAE,MAAM,GAAG,IAAI,CAAC;IAClB,UAAU,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;IAC5B,UAAU,EAAE,kBAAkB,EAAE,GAAG,IAAI,CAAC;IACxC,OAAO,EAAE,eAAe,EAAE,GAAG,IAAI,CAAC;IAClC,eAAe,EAAE,OAAO,CAAC;IACzB,UAAU,EAAE,sBAAsB,CAAC;IAE1C;;;;;;;;;;;OAWG;gBACS,OAAO,CAAC,EAAE;QACrB,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,EAAE,CAAC,EAAE,MAAM,CAAC;QACZ,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;QACtB,UAAU,CAAC,EAAE,kBAAkB,EAAE,CAAC;QAClC,OAAO,CAAC,EAAE,eAAe,EAAE,CAAC;QAC5B,eAAe,CAAC,EAAE,OAAO,CAAC;QAC1B,UAAU,CAAC,EAAE,sBAAsB,CAAC;KACpC;IAUD;;;;;OAKG;IACI,KAAK,CAAC,OAAO,EAAE,OAAO,GAAG,cAAc,GAAG,IAAI;
|
1
|
+
{"version":3,"file":"SelectorItem.d.ts","sourceRoot":"","sources":["../../src/query-selector/SelectorItem.ts"],"names":[],"mappings":"AAEA,OAAO,OAAO,MAAM,6BAA6B,CAAC;AAElD,OAAO,sBAAsB,MAAM,6BAA6B,CAAC;AACjE,OAAO,kBAAkB,MAAM,yBAAyB,CAAC;AACzD,OAAO,cAAc,MAAM,qBAAqB,CAAC;AACjD,OAAO,eAAe,MAAM,sBAAsB,CAAC;AAEnD;;GAEG;AACH,MAAM,CAAC,OAAO,OAAO,YAAY;IACzB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,EAAE,EAAE,MAAM,GAAG,IAAI,CAAC;IAClB,UAAU,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;IAC5B,UAAU,EAAE,kBAAkB,EAAE,GAAG,IAAI,CAAC;IACxC,OAAO,EAAE,eAAe,EAAE,GAAG,IAAI,CAAC;IAClC,eAAe,EAAE,OAAO,CAAC;IACzB,UAAU,EAAE,sBAAsB,CAAC;IAE1C;;;;;;;;;;;OAWG;gBACS,OAAO,CAAC,EAAE;QACrB,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,EAAE,CAAC,EAAE,MAAM,CAAC;QACZ,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;QACtB,UAAU,CAAC,EAAE,kBAAkB,EAAE,CAAC;QAClC,OAAO,CAAC,EAAE,eAAe,EAAE,CAAC;QAC5B,eAAe,CAAC,EAAE,OAAO,CAAC;QAC1B,UAAU,CAAC,EAAE,sBAAsB,CAAC;KACpC;IAUD;;;;;OAKG;IACI,KAAK,CAAC,OAAO,EAAE,OAAO,GAAG,cAAc,GAAG,IAAI;IAqDrD;;;;;OAKG;IACH,OAAO,CAAC,WAAW;IAuDnB;;;;;;OAMG;IACH,OAAO,CAAC,eAAe;IAkHvB;;;;;OAKG;IACH,OAAO,CAAC,eAAe;IA+BvB;;;;;OAKG;IACH,OAAO,CAAC,UAAU;IAkBlB;;;;OAIG;IACH,OAAO,CAAC,iBAAiB;CAsBzB"}
|
@@ -237,7 +237,7 @@ class SelectorParser {
|
|
237
237
|
static getPseudo(name, args) {
|
238
238
|
const lowerName = name.toLowerCase();
|
239
239
|
if (!args) {
|
240
|
-
return { name: lowerName, arguments: null,
|
240
|
+
return { name: lowerName, arguments: null, selectorItems: null, nthFunction: null };
|
241
241
|
}
|
242
242
|
switch (lowerName) {
|
243
243
|
case 'nth-last-child':
|
@@ -248,7 +248,7 @@ class SelectorParser {
|
|
248
248
|
return {
|
249
249
|
name: lowerName,
|
250
250
|
arguments: args,
|
251
|
-
selectorItem,
|
251
|
+
selectorItems: [selectorItem],
|
252
252
|
nthFunction: this.getPseudoNthFunction(nthFunction)
|
253
253
|
};
|
254
254
|
case 'nth-of-type':
|
@@ -256,18 +256,31 @@ class SelectorParser {
|
|
256
256
|
return {
|
257
257
|
name: lowerName,
|
258
258
|
arguments: args,
|
259
|
-
|
259
|
+
selectorItems: null,
|
260
260
|
nthFunction: this.getPseudoNthFunction(args)
|
261
261
|
};
|
262
262
|
case 'not':
|
263
263
|
return {
|
264
264
|
name: lowerName,
|
265
265
|
arguments: args,
|
266
|
-
|
266
|
+
selectorItems: [this.getSelectorItem(args)],
|
267
|
+
nthFunction: null
|
268
|
+
};
|
269
|
+
case 'is':
|
270
|
+
case 'where':
|
271
|
+
const selectorGroups = this.getSelectorGroups(args);
|
272
|
+
const selectorItems = [];
|
273
|
+
for (const group of selectorGroups) {
|
274
|
+
selectorItems.push(group[0]);
|
275
|
+
}
|
276
|
+
return {
|
277
|
+
name: lowerName,
|
278
|
+
arguments: args,
|
279
|
+
selectorItems,
|
267
280
|
nthFunction: null
|
268
281
|
};
|
269
282
|
default:
|
270
|
-
return { name: lowerName, arguments: args,
|
283
|
+
return { name: lowerName, arguments: args, selectorItems: null, nthFunction: null };
|
271
284
|
}
|
272
285
|
}
|
273
286
|
/**
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"SelectorParser.cjs","sourceRoot":"","sources":["../../src/query-selector/SelectorParser.ts"],"names":[],"mappings":"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
|
1
|
+
{"version":3,"file":"SelectorParser.cjs","sourceRoot":"","sources":["../../src/query-selector/SelectorParser.ts"],"names":[],"mappings":"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"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"SelectorParser.d.ts","sourceRoot":"","sources":["../../src/query-selector/SelectorParser.ts"],"names":[],"mappings":"AAAA,OAAO,YAAY,MAAM,mBAAmB,CAAC;AAyD7C;;GAEG;AACH,MAAM,CAAC,OAAO,OAAO,cAAc;IAClC;;;;;OAKG;WACW,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,YAAY;IAI7D;;;;;OAKG;WACW,iBAAiB,CAAC,QAAQ,EAAE,MAAM,GAAG,KAAK,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;IAqH7E;;;;;;;;OAQG;IACH,OAAO,CAAC,MAAM,CAAC,kBAAkB;IAmCjC;;;;;;OAMG;IACH,OAAO,CAAC,MAAM,CAAC,SAAS;
|
1
|
+
{"version":3,"file":"SelectorParser.d.ts","sourceRoot":"","sources":["../../src/query-selector/SelectorParser.ts"],"names":[],"mappings":"AAAA,OAAO,YAAY,MAAM,mBAAmB,CAAC;AAyD7C;;GAEG;AACH,MAAM,CAAC,OAAO,OAAO,cAAc;IAClC;;;;;OAKG;WACW,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,YAAY;IAI7D;;;;;OAKG;WACW,iBAAiB,CAAC,QAAQ,EAAE,MAAM,GAAG,KAAK,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;IAqH7E;;;;;;;;OAQG;IACH,OAAO,CAAC,MAAM,CAAC,kBAAkB;IAmCjC;;;;;;OAMG;IACH,OAAO,CAAC,MAAM,CAAC,SAAS;IAqDxB;;;;;;;;OAQG;IACH,OAAO,CAAC,MAAM,CAAC,oBAAoB;CA2CnC"}
|
@@ -2,7 +2,7 @@ import SelectorItem from './SelectorItem.js';
|
|
2
2
|
export default interface ISelectorPseudo {
|
3
3
|
name: string;
|
4
4
|
arguments: string | null;
|
5
|
-
|
5
|
+
selectorItems: SelectorItem[] | null;
|
6
6
|
nthFunction: ((n: number) => boolean) | null;
|
7
7
|
}
|
8
8
|
//# sourceMappingURL=ISelectorPseudo.d.ts.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"ISelectorPseudo.d.ts","sourceRoot":"","sources":["../../src/query-selector/ISelectorPseudo.ts"],"names":[],"mappings":"AAAA,OAAO,YAAY,MAAM,mBAAmB,CAAC;AAE7C,MAAM,CAAC,OAAO,WAAW,eAAe;IACvC,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,
|
1
|
+
{"version":3,"file":"ISelectorPseudo.d.ts","sourceRoot":"","sources":["../../src/query-selector/ISelectorPseudo.ts"],"names":[],"mappings":"AAAA,OAAO,YAAY,MAAM,mBAAmB,CAAC;AAE7C,MAAM,CAAC,OAAO,WAAW,eAAe;IACvC,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,aAAa,EAAE,YAAY,EAAE,GAAG,IAAI,CAAC;IACrC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC,GAAG,IAAI,CAAC;CAC7C"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"SelectorItem.d.ts","sourceRoot":"","sources":["../../src/query-selector/SelectorItem.ts"],"names":[],"mappings":"AAEA,OAAO,OAAO,MAAM,6BAA6B,CAAC;AAElD,OAAO,sBAAsB,MAAM,6BAA6B,CAAC;AACjE,OAAO,kBAAkB,MAAM,yBAAyB,CAAC;AACzD,OAAO,cAAc,MAAM,qBAAqB,CAAC;AACjD,OAAO,eAAe,MAAM,sBAAsB,CAAC;AAEnD;;GAEG;AACH,MAAM,CAAC,OAAO,OAAO,YAAY;IACzB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,EAAE,EAAE,MAAM,GAAG,IAAI,CAAC;IAClB,UAAU,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;IAC5B,UAAU,EAAE,kBAAkB,EAAE,GAAG,IAAI,CAAC;IACxC,OAAO,EAAE,eAAe,EAAE,GAAG,IAAI,CAAC;IAClC,eAAe,EAAE,OAAO,CAAC;IACzB,UAAU,EAAE,sBAAsB,CAAC;IAE1C;;;;;;;;;;;OAWG;gBACS,OAAO,CAAC,EAAE;QACrB,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,EAAE,CAAC,EAAE,MAAM,CAAC;QACZ,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;QACtB,UAAU,CAAC,EAAE,kBAAkB,EAAE,CAAC;QAClC,OAAO,CAAC,EAAE,eAAe,EAAE,CAAC;QAC5B,eAAe,CAAC,EAAE,OAAO,CAAC;QAC1B,UAAU,CAAC,EAAE,sBAAsB,CAAC;KACpC;IAUD;;;;;OAKG;IACI,KAAK,CAAC,OAAO,EAAE,OAAO,GAAG,cAAc,GAAG,IAAI;
|
1
|
+
{"version":3,"file":"SelectorItem.d.ts","sourceRoot":"","sources":["../../src/query-selector/SelectorItem.ts"],"names":[],"mappings":"AAEA,OAAO,OAAO,MAAM,6BAA6B,CAAC;AAElD,OAAO,sBAAsB,MAAM,6BAA6B,CAAC;AACjE,OAAO,kBAAkB,MAAM,yBAAyB,CAAC;AACzD,OAAO,cAAc,MAAM,qBAAqB,CAAC;AACjD,OAAO,eAAe,MAAM,sBAAsB,CAAC;AAEnD;;GAEG;AACH,MAAM,CAAC,OAAO,OAAO,YAAY;IACzB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,EAAE,EAAE,MAAM,GAAG,IAAI,CAAC;IAClB,UAAU,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;IAC5B,UAAU,EAAE,kBAAkB,EAAE,GAAG,IAAI,CAAC;IACxC,OAAO,EAAE,eAAe,EAAE,GAAG,IAAI,CAAC;IAClC,eAAe,EAAE,OAAO,CAAC;IACzB,UAAU,EAAE,sBAAsB,CAAC;IAE1C;;;;;;;;;;;OAWG;gBACS,OAAO,CAAC,EAAE;QACrB,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,EAAE,CAAC,EAAE,MAAM,CAAC;QACZ,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;QACtB,UAAU,CAAC,EAAE,kBAAkB,EAAE,CAAC;QAClC,OAAO,CAAC,EAAE,eAAe,EAAE,CAAC;QAC5B,eAAe,CAAC,EAAE,OAAO,CAAC;QAC1B,UAAU,CAAC,EAAE,sBAAsB,CAAC;KACpC;IAUD;;;;;OAKG;IACI,KAAK,CAAC,OAAO,EAAE,OAAO,GAAG,cAAc,GAAG,IAAI;IAqDrD;;;;;OAKG;IACH,OAAO,CAAC,WAAW;IAuDnB;;;;;;OAMG;IACH,OAAO,CAAC,eAAe;IAkHvB;;;;;OAKG;IACH,OAAO,CAAC,eAAe;IA+BvB;;;;;OAKG;IACH,OAAO,CAAC,UAAU;IAkBlB;;;;OAIG;IACH,OAAO,CAAC,iBAAiB;CAsBzB"}
|
@@ -68,8 +68,12 @@ export default class SelectorItem {
|
|
68
68
|
priorityWeight += result.priorityWeight;
|
69
69
|
}
|
70
70
|
// Pseudo match
|
71
|
-
if (this.pseudos
|
72
|
-
|
71
|
+
if (this.pseudos) {
|
72
|
+
const result = this.matchPsuedo(element);
|
73
|
+
if (!result) {
|
74
|
+
return null;
|
75
|
+
}
|
76
|
+
priorityWeight += result.priorityWeight;
|
73
77
|
}
|
74
78
|
return { priorityWeight };
|
75
79
|
}
|
@@ -85,8 +89,9 @@ export default class SelectorItem {
|
|
85
89
|
? element[PropertySymbol.parentNode][PropertySymbol.children]
|
86
90
|
: [];
|
87
91
|
if (!this.pseudos) {
|
88
|
-
return
|
92
|
+
return { priorityWeight: 0 };
|
89
93
|
}
|
94
|
+
let priorityWeight = 0;
|
90
95
|
for (const pseudo of this.pseudos) {
|
91
96
|
// Validation
|
92
97
|
switch (pseudo.name) {
|
@@ -113,14 +118,16 @@ export default class SelectorItem {
|
|
113
118
|
case 'nth-of-type':
|
114
119
|
case 'nth-last-child':
|
115
120
|
case 'nth-last-of-type':
|
116
|
-
return
|
121
|
+
return null;
|
117
122
|
}
|
118
123
|
}
|
119
|
-
|
120
|
-
|
124
|
+
const selectorMatch = this.matchPseudoItem(element, parentChildren, pseudo);
|
125
|
+
if (!selectorMatch) {
|
126
|
+
return null;
|
121
127
|
}
|
128
|
+
priorityWeight += selectorMatch.priorityWeight;
|
122
129
|
}
|
123
|
-
return
|
130
|
+
return { priorityWeight };
|
124
131
|
}
|
125
132
|
/**
|
126
133
|
* Matches a pseudo selector.
|
@@ -132,80 +139,110 @@ export default class SelectorItem {
|
|
132
139
|
matchPseudoItem(element, parentChildren, pseudo) {
|
133
140
|
switch (pseudo.name) {
|
134
141
|
case 'first-child':
|
135
|
-
return parentChildren[0] === element;
|
142
|
+
return parentChildren[0] === element ? { priorityWeight: 10 } : null;
|
136
143
|
case 'last-child':
|
137
|
-
return parentChildren.length && parentChildren[parentChildren.length - 1] === element
|
144
|
+
return parentChildren.length && parentChildren[parentChildren.length - 1] === element
|
145
|
+
? { priorityWeight: 10 }
|
146
|
+
: null;
|
138
147
|
case 'only-child':
|
139
|
-
return parentChildren.length === 1 && parentChildren[0] === element
|
148
|
+
return parentChildren.length === 1 && parentChildren[0] === element
|
149
|
+
? { priorityWeight: 10 }
|
150
|
+
: null;
|
140
151
|
case 'first-of-type':
|
141
152
|
for (const child of parentChildren) {
|
142
153
|
if (child[PropertySymbol.tagName] === element[PropertySymbol.tagName]) {
|
143
|
-
return child === element;
|
154
|
+
return child === element ? { priorityWeight: 10 } : null;
|
144
155
|
}
|
145
156
|
}
|
146
|
-
return
|
157
|
+
return null;
|
147
158
|
case 'last-of-type':
|
148
159
|
for (let i = parentChildren.length - 1; i >= 0; i--) {
|
149
160
|
const child = parentChildren[i];
|
150
161
|
if (child[PropertySymbol.tagName] === element[PropertySymbol.tagName]) {
|
151
|
-
return child === element;
|
162
|
+
return child === element ? { priorityWeight: 10 } : null;
|
152
163
|
}
|
153
164
|
}
|
154
|
-
return
|
165
|
+
return null;
|
155
166
|
case 'only-of-type':
|
156
167
|
let isFound = false;
|
157
168
|
for (const child of parentChildren) {
|
158
169
|
if (child[PropertySymbol.tagName] === element[PropertySymbol.tagName]) {
|
159
170
|
if (isFound || child !== element) {
|
160
|
-
return
|
171
|
+
return null;
|
161
172
|
}
|
162
173
|
isFound = true;
|
163
174
|
}
|
164
175
|
}
|
165
|
-
return isFound;
|
176
|
+
return isFound ? { priorityWeight: 10 } : null;
|
166
177
|
case 'checked':
|
167
|
-
return element[PropertySymbol.tagName] === 'INPUT' && element.checked
|
178
|
+
return element[PropertySymbol.tagName] === 'INPUT' && element.checked
|
179
|
+
? { priorityWeight: 10 }
|
180
|
+
: null;
|
168
181
|
case 'empty':
|
169
|
-
return !element[PropertySymbol.children].length;
|
182
|
+
return !element[PropertySymbol.children].length ? { priorityWeight: 10 } : null;
|
170
183
|
case 'root':
|
171
|
-
return element[PropertySymbol.tagName] === 'HTML';
|
184
|
+
return element[PropertySymbol.tagName] === 'HTML' ? { priorityWeight: 10 } : null;
|
172
185
|
case 'not':
|
173
|
-
return !pseudo.
|
186
|
+
return !pseudo.selectorItems[0].match(element) ? { priorityWeight: 10 } : null;
|
174
187
|
case 'nth-child':
|
175
|
-
const nthChildIndex = pseudo.
|
176
|
-
? parentChildren.filter((child) => pseudo.
|
188
|
+
const nthChildIndex = pseudo.selectorItems[0]
|
189
|
+
? parentChildren.filter((child) => pseudo.selectorItems[0].match(child)).indexOf(element)
|
177
190
|
: parentChildren.indexOf(element);
|
178
|
-
return nthChildIndex !== -1 && pseudo.nthFunction(nthChildIndex + 1)
|
191
|
+
return nthChildIndex !== -1 && pseudo.nthFunction(nthChildIndex + 1)
|
192
|
+
? { priorityWeight: 10 }
|
193
|
+
: null;
|
179
194
|
case 'nth-of-type':
|
180
195
|
if (!element[PropertySymbol.parentNode]) {
|
181
|
-
return
|
196
|
+
return null;
|
182
197
|
}
|
183
198
|
const nthOfTypeIndex = parentChildren
|
184
199
|
.filter((child) => child[PropertySymbol.tagName] === element[PropertySymbol.tagName])
|
185
200
|
.indexOf(element);
|
186
|
-
return nthOfTypeIndex !== -1 && pseudo.nthFunction(nthOfTypeIndex + 1)
|
201
|
+
return nthOfTypeIndex !== -1 && pseudo.nthFunction(nthOfTypeIndex + 1)
|
202
|
+
? { priorityWeight: 10 }
|
203
|
+
: null;
|
187
204
|
case 'nth-last-child':
|
188
|
-
const nthLastChildIndex = pseudo.
|
205
|
+
const nthLastChildIndex = pseudo.selectorItems[0]
|
189
206
|
? parentChildren
|
190
|
-
.filter((child) => pseudo.
|
207
|
+
.filter((child) => pseudo.selectorItems[0].match(child))
|
191
208
|
.reverse()
|
192
209
|
.indexOf(element)
|
193
210
|
: parentChildren.reverse().indexOf(element);
|
194
|
-
return nthLastChildIndex !== -1 && pseudo.nthFunction(nthLastChildIndex + 1)
|
211
|
+
return nthLastChildIndex !== -1 && pseudo.nthFunction(nthLastChildIndex + 1)
|
212
|
+
? { priorityWeight: 10 }
|
213
|
+
: null;
|
195
214
|
case 'nth-last-of-type':
|
196
215
|
const nthLastOfTypeIndex = parentChildren
|
197
216
|
.filter((child) => child[PropertySymbol.tagName] === element[PropertySymbol.tagName])
|
198
217
|
.reverse()
|
199
218
|
.indexOf(element);
|
200
|
-
return nthLastOfTypeIndex !== -1 && pseudo.nthFunction(nthLastOfTypeIndex + 1)
|
219
|
+
return nthLastOfTypeIndex !== -1 && pseudo.nthFunction(nthLastOfTypeIndex + 1)
|
220
|
+
? { priorityWeight: 10 }
|
221
|
+
: null;
|
201
222
|
case 'target':
|
202
223
|
const hash = element[PropertySymbol.ownerDocument].location.hash;
|
203
224
|
if (!hash) {
|
204
|
-
return
|
225
|
+
return null;
|
226
|
+
}
|
227
|
+
return element.isConnected && element.id === hash.slice(1) ? { priorityWeight: 10 } : null;
|
228
|
+
case 'is':
|
229
|
+
let priorityWeight = 0;
|
230
|
+
for (const selectorItem of pseudo.selectorItems) {
|
231
|
+
const match = selectorItem.match(element);
|
232
|
+
if (match) {
|
233
|
+
priorityWeight = match.priorityWeight;
|
234
|
+
}
|
205
235
|
}
|
206
|
-
return
|
236
|
+
return priorityWeight ? { priorityWeight } : null;
|
237
|
+
case 'where':
|
238
|
+
for (const selectorItem of pseudo.selectorItems) {
|
239
|
+
if (selectorItem.match(element)) {
|
240
|
+
return { priorityWeight: 0 };
|
241
|
+
}
|
242
|
+
}
|
243
|
+
return null;
|
207
244
|
default:
|
208
|
-
return
|
245
|
+
return null;
|
209
246
|
}
|
210
247
|
}
|
211
248
|
/**
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"SelectorItem.js","sourceRoot":"","sources":["../../src/query-selector/SelectorItem.ts"],"names":[],"mappings":"AAAA,OAAO,YAAY,MAAM,8BAA8B,CAAC;AACxD,OAAO,KAAK,cAAc,MAAM,sBAAsB,CAAC;AAGvD,OAAO,sBAAsB,MAAM,6BAA6B,CAAC;AAKjE;;GAEG;AACH,MAAM,CAAC,OAAO,OAAO,YAAY;IAShC;;;;;;;;;;;OAWG;IACH,YAAY,OAQX;QACA,IAAI,CAAC,OAAO,GAAG,OAAO,EAAE,OAAO,IAAI,IAAI,CAAC;QACxC,IAAI,CAAC,EAAE,GAAG,OAAO,EAAE,EAAE,IAAI,IAAI,CAAC;QAC9B,IAAI,CAAC,UAAU,GAAG,OAAO,EAAE,UAAU,IAAI,IAAI,CAAC;QAC9C,IAAI,CAAC,UAAU,GAAG,OAAO,EAAE,UAAU,IAAI,IAAI,CAAC;QAC9C,IAAI,CAAC,OAAO,GAAG,OAAO,EAAE,OAAO,IAAI,IAAI,CAAC;QACxC,IAAI,CAAC,eAAe,GAAG,OAAO,EAAE,eAAe,IAAI,KAAK,CAAC;QACzD,IAAI,CAAC,UAAU,GAAG,OAAO,EAAE,UAAU,IAAI,sBAAsB,CAAC,UAAU,CAAC;IAC5E,CAAC;IAED;;;;;OAKG;IACI,KAAK,CAAC,OAAgB;QAC5B,IAAI,cAAc,GAAG,CAAC,CAAC;QAEvB,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;YAC1B,OAAO,IAAI,CAAC;QACb,CAAC;QAED,iBAAiB;QACjB,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YAClB,IAAI,IAAI,CAAC,OAAO,KAAK,GAAG,IAAI,IAAI,CAAC,OAAO,KAAK,OAAO,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC;gBAC5F,OAAO,IAAI,CAAC;YACb,CAAC;YACD,cAAc,IAAI,CAAC,CAAC;QACrB,CAAC;QAED,WAAW;QACX,IAAI,IAAI,CAAC,EAAE,EAAE,CAAC;YACb,IAAI,IAAI,CAAC,EAAE,KAAK,OAAO,CAAC,EAAE,EAAE,CAAC;gBAC5B,OAAO,IAAI,CAAC;YACb,CAAC;YACD,cAAc,IAAI,GAAG,CAAC;QACvB,CAAC;QAED,cAAc;QACd,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YACrB,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;YACxC,IAAI,CAAC,MAAM,EAAE,CAAC;gBACb,OAAO,IAAI,CAAC;YACb,CAAC;YACD,cAAc,IAAI,MAAM,CAAC,cAAc,CAAC;QACzC,CAAC;QAED,kBAAkB;QAClB,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YACrB,MAAM,MAAM,GAAG,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;YAC7C,IAAI,CAAC,MAAM,EAAE,CAAC;gBACb,OAAO,IAAI,CAAC;YACb,CAAC;YACD,cAAc,IAAI,MAAM,CAAC,cAAc,CAAC;QACzC,CAAC;QAED,eAAe;QACf,IAAI,IAAI,CAAC,OAAO,
|
1
|
+
{"version":3,"file":"SelectorItem.js","sourceRoot":"","sources":["../../src/query-selector/SelectorItem.ts"],"names":[],"mappings":"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"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"SelectorParser.d.ts","sourceRoot":"","sources":["../../src/query-selector/SelectorParser.ts"],"names":[],"mappings":"AAAA,OAAO,YAAY,MAAM,mBAAmB,CAAC;AAyD7C;;GAEG;AACH,MAAM,CAAC,OAAO,OAAO,cAAc;IAClC;;;;;OAKG;WACW,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,YAAY;IAI7D;;;;;OAKG;WACW,iBAAiB,CAAC,QAAQ,EAAE,MAAM,GAAG,KAAK,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;IAqH7E;;;;;;;;OAQG;IACH,OAAO,CAAC,MAAM,CAAC,kBAAkB;IAmCjC;;;;;;OAMG;IACH,OAAO,CAAC,MAAM,CAAC,SAAS;
|
1
|
+
{"version":3,"file":"SelectorParser.d.ts","sourceRoot":"","sources":["../../src/query-selector/SelectorParser.ts"],"names":[],"mappings":"AAAA,OAAO,YAAY,MAAM,mBAAmB,CAAC;AAyD7C;;GAEG;AACH,MAAM,CAAC,OAAO,OAAO,cAAc;IAClC;;;;;OAKG;WACW,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,YAAY;IAI7D;;;;;OAKG;WACW,iBAAiB,CAAC,QAAQ,EAAE,MAAM,GAAG,KAAK,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;IAqH7E;;;;;;;;OAQG;IACH,OAAO,CAAC,MAAM,CAAC,kBAAkB;IAmCjC;;;;;;OAMG;IACH,OAAO,CAAC,MAAM,CAAC,SAAS;IAqDxB;;;;;;;;OAQG;IACH,OAAO,CAAC,MAAM,CAAC,oBAAoB;CA2CnC"}
|
@@ -232,7 +232,7 @@ export default class SelectorParser {
|
|
232
232
|
static getPseudo(name, args) {
|
233
233
|
const lowerName = name.toLowerCase();
|
234
234
|
if (!args) {
|
235
|
-
return { name: lowerName, arguments: null,
|
235
|
+
return { name: lowerName, arguments: null, selectorItems: null, nthFunction: null };
|
236
236
|
}
|
237
237
|
switch (lowerName) {
|
238
238
|
case 'nth-last-child':
|
@@ -243,7 +243,7 @@ export default class SelectorParser {
|
|
243
243
|
return {
|
244
244
|
name: lowerName,
|
245
245
|
arguments: args,
|
246
|
-
selectorItem,
|
246
|
+
selectorItems: [selectorItem],
|
247
247
|
nthFunction: this.getPseudoNthFunction(nthFunction)
|
248
248
|
};
|
249
249
|
case 'nth-of-type':
|
@@ -251,18 +251,31 @@ export default class SelectorParser {
|
|
251
251
|
return {
|
252
252
|
name: lowerName,
|
253
253
|
arguments: args,
|
254
|
-
|
254
|
+
selectorItems: null,
|
255
255
|
nthFunction: this.getPseudoNthFunction(args)
|
256
256
|
};
|
257
257
|
case 'not':
|
258
258
|
return {
|
259
259
|
name: lowerName,
|
260
260
|
arguments: args,
|
261
|
-
|
261
|
+
selectorItems: [this.getSelectorItem(args)],
|
262
|
+
nthFunction: null
|
263
|
+
};
|
264
|
+
case 'is':
|
265
|
+
case 'where':
|
266
|
+
const selectorGroups = this.getSelectorGroups(args);
|
267
|
+
const selectorItems = [];
|
268
|
+
for (const group of selectorGroups) {
|
269
|
+
selectorItems.push(group[0]);
|
270
|
+
}
|
271
|
+
return {
|
272
|
+
name: lowerName,
|
273
|
+
arguments: args,
|
274
|
+
selectorItems,
|
262
275
|
nthFunction: null
|
263
276
|
};
|
264
277
|
default:
|
265
|
-
return { name: lowerName, arguments: args,
|
278
|
+
return { name: lowerName, arguments: args, selectorItems: null, nthFunction: null };
|
266
279
|
}
|
267
280
|
}
|
268
281
|
/**
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"SelectorParser.js","sourceRoot":"","sources":["../../src/query-selector/SelectorParser.ts"],"names":[],"mappings":"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
|
1
|
+
{"version":3,"file":"SelectorParser.js","sourceRoot":"","sources":["../../src/query-selector/SelectorParser.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
@@ -97,8 +97,12 @@ export default class SelectorItem {
|
|
97
97
|
}
|
98
98
|
|
99
99
|
// Pseudo match
|
100
|
-
if (this.pseudos
|
101
|
-
|
100
|
+
if (this.pseudos) {
|
101
|
+
const result = this.matchPsuedo(element);
|
102
|
+
if (!result) {
|
103
|
+
return null;
|
104
|
+
}
|
105
|
+
priorityWeight += result.priorityWeight;
|
102
106
|
}
|
103
107
|
|
104
108
|
return { priorityWeight };
|
@@ -110,16 +114,18 @@ export default class SelectorItem {
|
|
110
114
|
* @param element Element.
|
111
115
|
* @returns Result.
|
112
116
|
*/
|
113
|
-
private matchPsuedo(element: Element):
|
117
|
+
private matchPsuedo(element: Element): ISelectorMatch | null {
|
114
118
|
const parent = <Element>element[PropertySymbol.parentNode];
|
115
119
|
const parentChildren = element[PropertySymbol.parentNode]
|
116
120
|
? (<Element>element[PropertySymbol.parentNode])[PropertySymbol.children]
|
117
121
|
: [];
|
118
122
|
|
119
123
|
if (!this.pseudos) {
|
120
|
-
return
|
124
|
+
return { priorityWeight: 0 };
|
121
125
|
}
|
122
126
|
|
127
|
+
let priorityWeight = 0;
|
128
|
+
|
123
129
|
for (const pseudo of this.pseudos) {
|
124
130
|
// Validation
|
125
131
|
switch (pseudo.name) {
|
@@ -147,16 +153,20 @@ export default class SelectorItem {
|
|
147
153
|
case 'nth-of-type':
|
148
154
|
case 'nth-last-child':
|
149
155
|
case 'nth-last-of-type':
|
150
|
-
return
|
156
|
+
return null;
|
151
157
|
}
|
152
158
|
}
|
153
159
|
|
154
|
-
|
155
|
-
|
160
|
+
const selectorMatch = this.matchPseudoItem(element, parentChildren, pseudo);
|
161
|
+
|
162
|
+
if (!selectorMatch) {
|
163
|
+
return null;
|
156
164
|
}
|
165
|
+
|
166
|
+
priorityWeight += selectorMatch.priorityWeight;
|
157
167
|
}
|
158
168
|
|
159
|
-
return
|
169
|
+
return { priorityWeight };
|
160
170
|
}
|
161
171
|
|
162
172
|
/**
|
@@ -170,83 +180,113 @@ export default class SelectorItem {
|
|
170
180
|
element: Element,
|
171
181
|
parentChildren: Element[],
|
172
182
|
pseudo: ISelectorPseudo
|
173
|
-
):
|
183
|
+
): ISelectorMatch | null {
|
174
184
|
switch (pseudo.name) {
|
175
185
|
case 'first-child':
|
176
|
-
return parentChildren[0] === element;
|
186
|
+
return parentChildren[0] === element ? { priorityWeight: 10 } : null;
|
177
187
|
case 'last-child':
|
178
|
-
return parentChildren.length && parentChildren[parentChildren.length - 1] === element
|
188
|
+
return parentChildren.length && parentChildren[parentChildren.length - 1] === element
|
189
|
+
? { priorityWeight: 10 }
|
190
|
+
: null;
|
179
191
|
case 'only-child':
|
180
|
-
return parentChildren.length === 1 && parentChildren[0] === element
|
192
|
+
return parentChildren.length === 1 && parentChildren[0] === element
|
193
|
+
? { priorityWeight: 10 }
|
194
|
+
: null;
|
181
195
|
case 'first-of-type':
|
182
196
|
for (const child of parentChildren) {
|
183
197
|
if (child[PropertySymbol.tagName] === element[PropertySymbol.tagName]) {
|
184
|
-
return child === element;
|
198
|
+
return child === element ? { priorityWeight: 10 } : null;
|
185
199
|
}
|
186
200
|
}
|
187
|
-
return
|
201
|
+
return null;
|
188
202
|
case 'last-of-type':
|
189
203
|
for (let i = parentChildren.length - 1; i >= 0; i--) {
|
190
204
|
const child = parentChildren[i];
|
191
205
|
if (child[PropertySymbol.tagName] === element[PropertySymbol.tagName]) {
|
192
|
-
return child === element;
|
206
|
+
return child === element ? { priorityWeight: 10 } : null;
|
193
207
|
}
|
194
208
|
}
|
195
|
-
return
|
209
|
+
return null;
|
196
210
|
case 'only-of-type':
|
197
211
|
let isFound = false;
|
198
212
|
for (const child of parentChildren) {
|
199
213
|
if (child[PropertySymbol.tagName] === element[PropertySymbol.tagName]) {
|
200
214
|
if (isFound || child !== element) {
|
201
|
-
return
|
215
|
+
return null;
|
202
216
|
}
|
203
217
|
isFound = true;
|
204
218
|
}
|
205
219
|
}
|
206
|
-
return isFound;
|
220
|
+
return isFound ? { priorityWeight: 10 } : null;
|
207
221
|
case 'checked':
|
208
|
-
return element[PropertySymbol.tagName] === 'INPUT' && (<HTMLInputElement>element).checked
|
222
|
+
return element[PropertySymbol.tagName] === 'INPUT' && (<HTMLInputElement>element).checked
|
223
|
+
? { priorityWeight: 10 }
|
224
|
+
: null;
|
209
225
|
case 'empty':
|
210
|
-
return !(<Element>element)[PropertySymbol.children].length;
|
226
|
+
return !(<Element>element)[PropertySymbol.children].length ? { priorityWeight: 10 } : null;
|
211
227
|
case 'root':
|
212
|
-
return element[PropertySymbol.tagName] === 'HTML';
|
228
|
+
return element[PropertySymbol.tagName] === 'HTML' ? { priorityWeight: 10 } : null;
|
213
229
|
case 'not':
|
214
|
-
return !pseudo.
|
230
|
+
return !pseudo.selectorItems[0].match(element) ? { priorityWeight: 10 } : null;
|
215
231
|
case 'nth-child':
|
216
|
-
const nthChildIndex = pseudo.
|
217
|
-
? parentChildren.filter((child) => pseudo.
|
232
|
+
const nthChildIndex = pseudo.selectorItems[0]
|
233
|
+
? parentChildren.filter((child) => pseudo.selectorItems[0].match(child)).indexOf(element)
|
218
234
|
: parentChildren.indexOf(element);
|
219
|
-
return nthChildIndex !== -1 && pseudo.nthFunction(nthChildIndex + 1)
|
235
|
+
return nthChildIndex !== -1 && pseudo.nthFunction(nthChildIndex + 1)
|
236
|
+
? { priorityWeight: 10 }
|
237
|
+
: null;
|
220
238
|
case 'nth-of-type':
|
221
239
|
if (!element[PropertySymbol.parentNode]) {
|
222
|
-
return
|
240
|
+
return null;
|
223
241
|
}
|
224
242
|
const nthOfTypeIndex = parentChildren
|
225
243
|
.filter((child) => child[PropertySymbol.tagName] === element[PropertySymbol.tagName])
|
226
244
|
.indexOf(element);
|
227
|
-
return nthOfTypeIndex !== -1 && pseudo.nthFunction(nthOfTypeIndex + 1)
|
245
|
+
return nthOfTypeIndex !== -1 && pseudo.nthFunction(nthOfTypeIndex + 1)
|
246
|
+
? { priorityWeight: 10 }
|
247
|
+
: null;
|
228
248
|
case 'nth-last-child':
|
229
|
-
const nthLastChildIndex = pseudo.
|
249
|
+
const nthLastChildIndex = pseudo.selectorItems[0]
|
230
250
|
? parentChildren
|
231
|
-
.filter((child) => pseudo.
|
251
|
+
.filter((child) => pseudo.selectorItems[0].match(child))
|
232
252
|
.reverse()
|
233
253
|
.indexOf(element)
|
234
254
|
: parentChildren.reverse().indexOf(element);
|
235
|
-
return nthLastChildIndex !== -1 && pseudo.nthFunction(nthLastChildIndex + 1)
|
255
|
+
return nthLastChildIndex !== -1 && pseudo.nthFunction(nthLastChildIndex + 1)
|
256
|
+
? { priorityWeight: 10 }
|
257
|
+
: null;
|
236
258
|
case 'nth-last-of-type':
|
237
259
|
const nthLastOfTypeIndex = parentChildren
|
238
260
|
.filter((child) => child[PropertySymbol.tagName] === element[PropertySymbol.tagName])
|
239
261
|
.reverse()
|
240
262
|
.indexOf(element);
|
241
|
-
return nthLastOfTypeIndex !== -1 && pseudo.nthFunction(nthLastOfTypeIndex + 1)
|
263
|
+
return nthLastOfTypeIndex !== -1 && pseudo.nthFunction(nthLastOfTypeIndex + 1)
|
264
|
+
? { priorityWeight: 10 }
|
265
|
+
: null;
|
242
266
|
case 'target':
|
243
267
|
const hash = element[PropertySymbol.ownerDocument].location.hash;
|
244
268
|
if (!hash) {
|
245
|
-
return
|
269
|
+
return null;
|
270
|
+
}
|
271
|
+
return element.isConnected && element.id === hash.slice(1) ? { priorityWeight: 10 } : null;
|
272
|
+
case 'is':
|
273
|
+
let priorityWeight = 0;
|
274
|
+
for (const selectorItem of pseudo.selectorItems) {
|
275
|
+
const match = selectorItem.match(element);
|
276
|
+
if (match) {
|
277
|
+
priorityWeight = match.priorityWeight;
|
278
|
+
}
|
246
279
|
}
|
247
|
-
return
|
280
|
+
return priorityWeight ? { priorityWeight } : null;
|
281
|
+
case 'where':
|
282
|
+
for (const selectorItem of pseudo.selectorItems) {
|
283
|
+
if (selectorItem.match(element)) {
|
284
|
+
return { priorityWeight: 0 };
|
285
|
+
}
|
286
|
+
}
|
287
|
+
return null;
|
248
288
|
default:
|
249
|
-
return
|
289
|
+
return null;
|
250
290
|
}
|
251
291
|
}
|
252
292
|
|
@@ -247,7 +247,7 @@ export default class SelectorParser {
|
|
247
247
|
const lowerName = name.toLowerCase();
|
248
248
|
|
249
249
|
if (!args) {
|
250
|
-
return { name: lowerName, arguments: null,
|
250
|
+
return { name: lowerName, arguments: null, selectorItems: null, nthFunction: null };
|
251
251
|
}
|
252
252
|
|
253
253
|
switch (lowerName) {
|
@@ -260,7 +260,7 @@ export default class SelectorParser {
|
|
260
260
|
return {
|
261
261
|
name: lowerName,
|
262
262
|
arguments: args,
|
263
|
-
selectorItem,
|
263
|
+
selectorItems: [selectorItem],
|
264
264
|
nthFunction: this.getPseudoNthFunction(nthFunction)
|
265
265
|
};
|
266
266
|
case 'nth-of-type':
|
@@ -268,18 +268,31 @@ export default class SelectorParser {
|
|
268
268
|
return {
|
269
269
|
name: lowerName,
|
270
270
|
arguments: args,
|
271
|
-
|
271
|
+
selectorItems: null,
|
272
272
|
nthFunction: this.getPseudoNthFunction(args)
|
273
273
|
};
|
274
274
|
case 'not':
|
275
275
|
return {
|
276
276
|
name: lowerName,
|
277
277
|
arguments: args,
|
278
|
-
|
278
|
+
selectorItems: [this.getSelectorItem(args)],
|
279
|
+
nthFunction: null
|
280
|
+
};
|
281
|
+
case 'is':
|
282
|
+
case 'where':
|
283
|
+
const selectorGroups = this.getSelectorGroups(args);
|
284
|
+
const selectorItems = [];
|
285
|
+
for (const group of selectorGroups) {
|
286
|
+
selectorItems.push(group[0]);
|
287
|
+
}
|
288
|
+
return {
|
289
|
+
name: lowerName,
|
290
|
+
arguments: args,
|
291
|
+
selectorItems,
|
279
292
|
nthFunction: null
|
280
293
|
};
|
281
294
|
default:
|
282
|
-
return { name: lowerName, arguments: args,
|
295
|
+
return { name: lowerName, arguments: args, selectorItems: null, nthFunction: null };
|
283
296
|
}
|
284
297
|
}
|
285
298
|
|