@builder.io/sdk 3.0.2-2 → 3.0.3
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/.yarnrc.yml +1 -0
- package/CHANGELOG.md +13 -0
- package/dist/index.browser.js +71 -18
- package/dist/index.browser.js.map +1 -1
- package/dist/index.cjs.js +71 -18
- package/dist/index.cjs.js.map +1 -1
- package/dist/index.esm.js +71 -18
- package/dist/index.esm.js.map +1 -1
- package/dist/index.js +13 -49
- package/dist/index.umd.js +71 -18
- package/dist/index.umd.js.map +1 -1
- package/dist/package.json +1 -3
- package/dist/src/builder.class.d.ts +7 -0
- package/dist/src/builder.class.js +70 -17
- package/dist/src/builder.class.js.map +1 -1
- package/dist/src/builder.class.test.js +757 -170
- package/dist/src/builder.class.test.js.map +1 -1
- package/dist/src/classes/animator.class.js +195 -218
- package/dist/src/classes/observable.class.js +97 -102
- package/dist/src/classes/promise.class.js +154 -150
- package/dist/src/classes/query-string.class.js +74 -73
- package/dist/src/classes/query-string.class.test.js +20 -20
- package/dist/src/constants/builder.js +4 -4
- package/dist/src/functions/assign.function.js +19 -19
- package/dist/src/functions/fetch.function.js +75 -97
- package/dist/src/functions/finder.function.js +274 -389
- package/dist/src/functions/next-tick.function.js +23 -26
- package/dist/src/functions/omit.function.js +13 -13
- package/dist/src/functions/server-only-require.function.js +9 -10
- package/dist/src/functions/throttle.function.js +37 -35
- package/dist/src/functions/to-error.js +6 -5
- package/dist/src/functions/uuid.js +8 -9
- package/dist/src/types/api-version.js +3 -3
- package/dist/src/types/content.js +3 -3
- package/dist/src/types/element.js +3 -3
- package/dist/src/url.js +42 -41
- package/dist/src/url.test.js +118 -222
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +3 -6
- package/dist/src/functions/get-top-level-domain.d.ts +0 -6
- package/dist/src/functions/get-top-level-domain.js +0 -17
- package/dist/src/functions/get-top-level-domain.js.map +0 -1
|
@@ -1,455 +1,340 @@
|
|
|
1
|
-
|
|
2
|
-
var __assign =
|
|
3
|
-
|
|
4
|
-
function () {
|
|
5
|
-
__assign =
|
|
6
|
-
Object.assign ||
|
|
7
|
-
function (t) {
|
|
1
|
+
"use strict";
|
|
2
|
+
var __assign = (this && this.__assign) || function () {
|
|
3
|
+
__assign = Object.assign || function(t) {
|
|
8
4
|
for (var s, i = 1, n = arguments.length; i < n; i++) {
|
|
9
|
-
|
|
10
|
-
|
|
5
|
+
s = arguments[i];
|
|
6
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
|
|
7
|
+
t[p] = s[p];
|
|
11
8
|
}
|
|
12
9
|
return t;
|
|
13
|
-
|
|
10
|
+
};
|
|
14
11
|
return __assign.apply(this, arguments);
|
|
15
|
-
|
|
16
|
-
var __generator =
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
label: 0,
|
|
21
|
-
sent: function () {
|
|
22
|
-
if (t[0] & 1) throw t[1];
|
|
23
|
-
return t[1];
|
|
24
|
-
},
|
|
25
|
-
trys: [],
|
|
26
|
-
ops: [],
|
|
27
|
-
},
|
|
28
|
-
f,
|
|
29
|
-
y,
|
|
30
|
-
t,
|
|
31
|
-
g;
|
|
32
|
-
return (
|
|
33
|
-
(g = { next: verb(0), throw: verb(1), return: verb(2) }),
|
|
34
|
-
typeof Symbol === 'function' &&
|
|
35
|
-
(g[Symbol.iterator] = function () {
|
|
36
|
-
return this;
|
|
37
|
-
}),
|
|
38
|
-
g
|
|
39
|
-
);
|
|
40
|
-
function verb(n) {
|
|
41
|
-
return function (v) {
|
|
42
|
-
return step([n, v]);
|
|
43
|
-
};
|
|
44
|
-
}
|
|
12
|
+
};
|
|
13
|
+
var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
14
|
+
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
|
|
15
|
+
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
|
|
16
|
+
function verb(n) { return function (v) { return step([n, v]); }; }
|
|
45
17
|
function step(op) {
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
(
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
op[0]
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
break;
|
|
67
|
-
case 4:
|
|
68
|
-
_.label++;
|
|
69
|
-
return { value: op[1], done: false };
|
|
70
|
-
case 5:
|
|
71
|
-
_.label++;
|
|
72
|
-
y = op[1];
|
|
73
|
-
op = [0];
|
|
74
|
-
continue;
|
|
75
|
-
case 7:
|
|
76
|
-
op = _.ops.pop();
|
|
77
|
-
_.trys.pop();
|
|
78
|
-
continue;
|
|
79
|
-
default:
|
|
80
|
-
if (
|
|
81
|
-
!((t = _.trys), (t = t.length > 0 && t[t.length - 1])) &&
|
|
82
|
-
(op[0] === 6 || op[0] === 2)
|
|
83
|
-
) {
|
|
84
|
-
_ = 0;
|
|
85
|
-
continue;
|
|
86
|
-
}
|
|
87
|
-
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) {
|
|
88
|
-
_.label = op[1];
|
|
89
|
-
break;
|
|
90
|
-
}
|
|
91
|
-
if (op[0] === 6 && _.label < t[1]) {
|
|
92
|
-
_.label = t[1];
|
|
93
|
-
t = op;
|
|
94
|
-
break;
|
|
95
|
-
}
|
|
96
|
-
if (t && _.label < t[2]) {
|
|
97
|
-
_.label = t[2];
|
|
98
|
-
_.ops.push(op);
|
|
99
|
-
break;
|
|
100
|
-
}
|
|
101
|
-
if (t[2]) _.ops.pop();
|
|
102
|
-
_.trys.pop();
|
|
103
|
-
continue;
|
|
104
|
-
}
|
|
105
|
-
op = body.call(thisArg, _);
|
|
106
|
-
} catch (e) {
|
|
107
|
-
op = [6, e];
|
|
108
|
-
y = 0;
|
|
109
|
-
} finally {
|
|
110
|
-
f = t = 0;
|
|
111
|
-
}
|
|
112
|
-
if (op[0] & 5) throw op[1];
|
|
113
|
-
return { value: op[0] ? op[1] : void 0, done: true };
|
|
18
|
+
if (f) throw new TypeError("Generator is already executing.");
|
|
19
|
+
while (g && (g = 0, op[0] && (_ = 0)), _) try {
|
|
20
|
+
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
|
|
21
|
+
if (y = 0, t) op = [op[0] & 2, t.value];
|
|
22
|
+
switch (op[0]) {
|
|
23
|
+
case 0: case 1: t = op; break;
|
|
24
|
+
case 4: _.label++; return { value: op[1], done: false };
|
|
25
|
+
case 5: _.label++; y = op[1]; op = [0]; continue;
|
|
26
|
+
case 7: op = _.ops.pop(); _.trys.pop(); continue;
|
|
27
|
+
default:
|
|
28
|
+
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
|
|
29
|
+
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
|
|
30
|
+
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
|
|
31
|
+
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
|
|
32
|
+
if (t[2]) _.ops.pop();
|
|
33
|
+
_.trys.pop(); continue;
|
|
34
|
+
}
|
|
35
|
+
op = body.call(thisArg, _);
|
|
36
|
+
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
|
|
37
|
+
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
114
38
|
}
|
|
115
|
-
|
|
116
|
-
var __spreadArray =
|
|
117
|
-
|
|
118
|
-
function (to, from, pack) {
|
|
119
|
-
if (pack || arguments.length === 2)
|
|
120
|
-
for (var i = 0, l = from.length, ar; i < l; i++) {
|
|
39
|
+
};
|
|
40
|
+
var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
|
|
41
|
+
if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
|
|
121
42
|
if (ar || !(i in from)) {
|
|
122
|
-
|
|
123
|
-
|
|
43
|
+
if (!ar) ar = Array.prototype.slice.call(from, 0, i);
|
|
44
|
+
ar[i] = from[i];
|
|
124
45
|
}
|
|
125
|
-
|
|
46
|
+
}
|
|
126
47
|
return to.concat(ar || Array.prototype.slice.call(from));
|
|
127
|
-
|
|
128
|
-
var __values =
|
|
129
|
-
|
|
130
|
-
function (o) {
|
|
131
|
-
var s = typeof Symbol === 'function' && Symbol.iterator,
|
|
132
|
-
m = s && o[s],
|
|
133
|
-
i = 0;
|
|
48
|
+
};
|
|
49
|
+
var __values = (this && this.__values) || function(o) {
|
|
50
|
+
var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
|
|
134
51
|
if (m) return m.call(o);
|
|
135
|
-
if (o && typeof o.length ===
|
|
136
|
-
return {
|
|
52
|
+
if (o && typeof o.length === "number") return {
|
|
137
53
|
next: function () {
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
}
|
|
141
|
-
|
|
142
|
-
throw new TypeError(s ?
|
|
143
|
-
|
|
144
|
-
Object.defineProperty(exports,
|
|
54
|
+
if (o && i >= o.length) o = void 0;
|
|
55
|
+
return { value: o && o[i++], done: !o };
|
|
56
|
+
}
|
|
57
|
+
};
|
|
58
|
+
throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
|
|
59
|
+
};
|
|
60
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
145
61
|
var Limit;
|
|
146
62
|
(function (Limit) {
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
63
|
+
Limit[Limit["All"] = 0] = "All";
|
|
64
|
+
Limit[Limit["Two"] = 1] = "Two";
|
|
65
|
+
Limit[Limit["One"] = 2] = "One";
|
|
150
66
|
})(Limit || (Limit = {}));
|
|
151
67
|
var config;
|
|
152
68
|
var rootDocument;
|
|
153
69
|
function default_1(input, options) {
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
threshold: 1000,
|
|
174
|
-
};
|
|
175
|
-
config = __assign(__assign({}, defaults), options);
|
|
176
|
-
rootDocument = findRootDocument(config.root, defaults);
|
|
177
|
-
var path = bottomUpSearch(input, Limit.All, function () {
|
|
178
|
-
return bottomUpSearch(input, Limit.Two, function () {
|
|
179
|
-
return bottomUpSearch(input, Limit.One);
|
|
70
|
+
if (input.nodeType !== Node.ELEMENT_NODE) {
|
|
71
|
+
throw new Error("Can't generate CSS selector for non-element node type.");
|
|
72
|
+
}
|
|
73
|
+
if ('html' === input.tagName.toLowerCase()) {
|
|
74
|
+
return input.tagName.toLowerCase();
|
|
75
|
+
}
|
|
76
|
+
var defaults = {
|
|
77
|
+
root: document.body,
|
|
78
|
+
idName: function (name) { return true; },
|
|
79
|
+
className: function (name) { return true; },
|
|
80
|
+
tagName: function (name) { return true; },
|
|
81
|
+
seedMinLength: 1,
|
|
82
|
+
optimizedMinLength: 2,
|
|
83
|
+
threshold: 1000,
|
|
84
|
+
};
|
|
85
|
+
config = __assign(__assign({}, defaults), options);
|
|
86
|
+
rootDocument = findRootDocument(config.root, defaults);
|
|
87
|
+
var path = bottomUpSearch(input, Limit.All, function () {
|
|
88
|
+
return bottomUpSearch(input, Limit.Two, function () { return bottomUpSearch(input, Limit.One); });
|
|
180
89
|
});
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
90
|
+
if (path) {
|
|
91
|
+
var optimized = sort(optimize(path, input));
|
|
92
|
+
if (optimized.length > 0) {
|
|
93
|
+
path = optimized[0];
|
|
94
|
+
}
|
|
95
|
+
return selector(path);
|
|
96
|
+
}
|
|
97
|
+
else {
|
|
98
|
+
throw new Error("Selector was not found.");
|
|
186
99
|
}
|
|
187
|
-
return selector(path);
|
|
188
|
-
} else {
|
|
189
|
-
throw new Error('Selector was not found.');
|
|
190
|
-
}
|
|
191
100
|
}
|
|
192
101
|
exports.default = default_1;
|
|
193
102
|
function findRootDocument(rootNode, defaults) {
|
|
194
|
-
|
|
103
|
+
if (rootNode.nodeType === Node.DOCUMENT_NODE) {
|
|
104
|
+
return rootNode;
|
|
105
|
+
}
|
|
106
|
+
if (rootNode === defaults.root) {
|
|
107
|
+
return rootNode.ownerDocument;
|
|
108
|
+
}
|
|
195
109
|
return rootNode;
|
|
196
|
-
}
|
|
197
|
-
if (rootNode === defaults.root) {
|
|
198
|
-
return rootNode.ownerDocument;
|
|
199
|
-
}
|
|
200
|
-
return rootNode;
|
|
201
110
|
}
|
|
202
111
|
function bottomUpSearch(input, limit, fallback) {
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
level
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
112
|
+
var path = null;
|
|
113
|
+
var stack = [];
|
|
114
|
+
var current = input;
|
|
115
|
+
var i = 0;
|
|
116
|
+
var _loop_1 = function () {
|
|
117
|
+
var level = maybe(id(current)) || maybe.apply(void 0, classNames(current)) ||
|
|
118
|
+
maybe(tagName(current)) || [any()];
|
|
119
|
+
var nth = index(current);
|
|
120
|
+
if (limit === Limit.All) {
|
|
121
|
+
if (nth) {
|
|
122
|
+
level = level.concat(level.filter(dispensableNth).map(function (node) { return nthChild(node, nth); }));
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
else if (limit === Limit.Two) {
|
|
126
|
+
level = level.slice(0, 1);
|
|
127
|
+
if (nth) {
|
|
128
|
+
level = level.concat(level.filter(dispensableNth).map(function (node) { return nthChild(node, nth); }));
|
|
129
|
+
}
|
|
130
|
+
}
|
|
131
|
+
else if (limit === Limit.One) {
|
|
132
|
+
var node = (level = level.slice(0, 1))[0];
|
|
133
|
+
if (nth && dispensableNth(node)) {
|
|
134
|
+
level = [nthChild(node, nth)];
|
|
135
|
+
}
|
|
136
|
+
}
|
|
137
|
+
for (var _i = 0, level_1 = level; _i < level_1.length; _i++) {
|
|
138
|
+
var node = level_1[_i];
|
|
139
|
+
node.level = i;
|
|
140
|
+
}
|
|
141
|
+
stack.push(level);
|
|
142
|
+
if (stack.length >= config.seedMinLength) {
|
|
143
|
+
path = findUniquePath(stack, fallback);
|
|
144
|
+
if (path) {
|
|
145
|
+
return "break";
|
|
146
|
+
}
|
|
147
|
+
}
|
|
148
|
+
current = current.parentElement;
|
|
149
|
+
i++;
|
|
150
|
+
};
|
|
151
|
+
while (current && current !== config.root.parentElement) {
|
|
152
|
+
var state_1 = _loop_1();
|
|
153
|
+
if (state_1 === "break")
|
|
154
|
+
break;
|
|
238
155
|
}
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
path = findUniquePath(stack, fallback);
|
|
242
|
-
if (path) {
|
|
243
|
-
return 'break';
|
|
244
|
-
}
|
|
156
|
+
if (!path) {
|
|
157
|
+
path = findUniquePath(stack, fallback);
|
|
245
158
|
}
|
|
246
|
-
|
|
247
|
-
i++;
|
|
248
|
-
};
|
|
249
|
-
while (current && current !== config.root.parentElement) {
|
|
250
|
-
var state_1 = _loop_1();
|
|
251
|
-
if (state_1 === 'break') break;
|
|
252
|
-
}
|
|
253
|
-
if (!path) {
|
|
254
|
-
path = findUniquePath(stack, fallback);
|
|
255
|
-
}
|
|
256
|
-
return path;
|
|
159
|
+
return path;
|
|
257
160
|
}
|
|
258
161
|
function findUniquePath(stack, fallback) {
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
}
|
|
263
|
-
for (var _i = 0, paths_1 = paths; _i < paths_1.length; _i++) {
|
|
264
|
-
var candidate = paths_1[_i];
|
|
265
|
-
if (unique(candidate)) {
|
|
266
|
-
return candidate;
|
|
162
|
+
var paths = sort(combinations(stack));
|
|
163
|
+
if (paths.length > config.threshold) {
|
|
164
|
+
return fallback ? fallback() : null;
|
|
267
165
|
}
|
|
268
|
-
|
|
269
|
-
|
|
166
|
+
for (var _i = 0, paths_1 = paths; _i < paths_1.length; _i++) {
|
|
167
|
+
var candidate = paths_1[_i];
|
|
168
|
+
if (unique(candidate)) {
|
|
169
|
+
return candidate;
|
|
170
|
+
}
|
|
171
|
+
}
|
|
172
|
+
return null;
|
|
270
173
|
}
|
|
271
174
|
function selector(path) {
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
175
|
+
var node = path[0];
|
|
176
|
+
var query = node.name;
|
|
177
|
+
for (var i = 1; i < path.length; i++) {
|
|
178
|
+
var level = path[i].level || 0;
|
|
179
|
+
if (node.level === level - 1) {
|
|
180
|
+
query = "".concat(path[i].name, " > ").concat(query);
|
|
181
|
+
}
|
|
182
|
+
else {
|
|
183
|
+
query = "".concat(path[i].name, " ").concat(query);
|
|
184
|
+
}
|
|
185
|
+
node = path[i];
|
|
280
186
|
}
|
|
281
|
-
|
|
282
|
-
}
|
|
283
|
-
return query;
|
|
187
|
+
return query;
|
|
284
188
|
}
|
|
285
189
|
function penalty(path) {
|
|
286
|
-
|
|
287
|
-
.map(function (node) {
|
|
288
|
-
return node.penalty;
|
|
289
|
-
})
|
|
290
|
-
.reduce(function (acc, i) {
|
|
291
|
-
return acc + i;
|
|
292
|
-
}, 0);
|
|
190
|
+
return path.map(function (node) { return node.penalty; }).reduce(function (acc, i) { return acc + i; }, 0);
|
|
293
191
|
}
|
|
294
192
|
function unique(path) {
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
193
|
+
switch (rootDocument.querySelectorAll(selector(path)).length) {
|
|
194
|
+
case 0:
|
|
195
|
+
throw new Error("Can't select any node with this selector: ".concat(selector(path)));
|
|
196
|
+
case 1:
|
|
197
|
+
return true;
|
|
198
|
+
default:
|
|
199
|
+
return false;
|
|
200
|
+
}
|
|
303
201
|
}
|
|
304
202
|
function id(input) {
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
203
|
+
var elementId = input.getAttribute('id');
|
|
204
|
+
if (elementId && config.idName(elementId)) {
|
|
205
|
+
return {
|
|
206
|
+
name: '#' + elementId,
|
|
207
|
+
penalty: 0,
|
|
208
|
+
};
|
|
209
|
+
}
|
|
210
|
+
return null;
|
|
313
211
|
}
|
|
314
212
|
function classNames(input) {
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
};
|
|
321
|
-
});
|
|
213
|
+
var names = [].slice.call(input.classList).filter(config.className);
|
|
214
|
+
return names.map(function (name) { return ({
|
|
215
|
+
name: '.' + name,
|
|
216
|
+
penalty: 1,
|
|
217
|
+
}); });
|
|
322
218
|
}
|
|
323
219
|
function tagName(input) {
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
220
|
+
var name = input.tagName.toLowerCase();
|
|
221
|
+
if (config.tagName(name)) {
|
|
222
|
+
return {
|
|
223
|
+
name: name,
|
|
224
|
+
penalty: 2,
|
|
225
|
+
};
|
|
226
|
+
}
|
|
227
|
+
return null;
|
|
332
228
|
}
|
|
333
229
|
function any() {
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
|
|
230
|
+
return {
|
|
231
|
+
name: '*',
|
|
232
|
+
penalty: 3,
|
|
233
|
+
};
|
|
338
234
|
}
|
|
339
235
|
function index(input) {
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
}
|
|
344
|
-
var child = parent.firstChild;
|
|
345
|
-
if (!child) {
|
|
346
|
-
return null;
|
|
347
|
-
}
|
|
348
|
-
var i = 0;
|
|
349
|
-
while (child) {
|
|
350
|
-
if (child.nodeType === Node.ELEMENT_NODE) {
|
|
351
|
-
i++;
|
|
236
|
+
var parent = input.parentNode;
|
|
237
|
+
if (!parent) {
|
|
238
|
+
return null;
|
|
352
239
|
}
|
|
353
|
-
|
|
354
|
-
|
|
240
|
+
var child = parent.firstChild;
|
|
241
|
+
if (!child) {
|
|
242
|
+
return null;
|
|
355
243
|
}
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
|
|
244
|
+
var i = 0;
|
|
245
|
+
while (child) {
|
|
246
|
+
if (child.nodeType === Node.ELEMENT_NODE) {
|
|
247
|
+
i++;
|
|
248
|
+
}
|
|
249
|
+
if (child === input) {
|
|
250
|
+
break;
|
|
251
|
+
}
|
|
252
|
+
child = child.nextSibling;
|
|
253
|
+
}
|
|
254
|
+
return i;
|
|
359
255
|
}
|
|
360
256
|
function nthChild(node, i) {
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
|
|
364
|
-
|
|
257
|
+
return {
|
|
258
|
+
name: node.name + ":nth-child(".concat(i, ")"),
|
|
259
|
+
penalty: node.penalty + 1,
|
|
260
|
+
};
|
|
365
261
|
}
|
|
366
262
|
function dispensableNth(node) {
|
|
367
|
-
|
|
263
|
+
return node.name !== 'html' && !(node.name[0] === '#');
|
|
368
264
|
}
|
|
369
265
|
function maybe() {
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
|
|
375
|
-
|
|
376
|
-
|
|
377
|
-
|
|
378
|
-
|
|
266
|
+
var level = [];
|
|
267
|
+
for (var _i = 0; _i < arguments.length; _i++) {
|
|
268
|
+
level[_i] = arguments[_i];
|
|
269
|
+
}
|
|
270
|
+
var list = level.filter(notEmpty);
|
|
271
|
+
if (list.length > 0) {
|
|
272
|
+
return list;
|
|
273
|
+
}
|
|
274
|
+
return null;
|
|
379
275
|
}
|
|
380
276
|
function notEmpty(value) {
|
|
381
|
-
|
|
277
|
+
return value !== null && value !== undefined;
|
|
382
278
|
}
|
|
383
279
|
function combinations(stack, path) {
|
|
384
|
-
|
|
385
|
-
|
|
386
|
-
|
|
387
|
-
|
|
388
|
-
|
|
389
|
-
|
|
390
|
-
|
|
391
|
-
|
|
392
|
-
|
|
393
|
-
|
|
394
|
-
|
|
395
|
-
|
|
396
|
-
|
|
397
|
-
|
|
398
|
-
|
|
399
|
-
|
|
400
|
-
|
|
401
|
-
|
|
402
|
-
|
|
403
|
-
|
|
404
|
-
|
|
405
|
-
|
|
406
|
-
|
|
407
|
-
|
|
408
|
-
|
|
409
|
-
|
|
410
|
-
return [4 /*yield*/, path];
|
|
411
|
-
case 6:
|
|
412
|
-
_b.sent();
|
|
413
|
-
_b.label = 7;
|
|
414
|
-
case 7:
|
|
415
|
-
return [2 /*return*/];
|
|
416
|
-
}
|
|
417
|
-
});
|
|
280
|
+
var _i, _a, node;
|
|
281
|
+
if (path === void 0) { path = []; }
|
|
282
|
+
return __generator(this, function (_b) {
|
|
283
|
+
switch (_b.label) {
|
|
284
|
+
case 0:
|
|
285
|
+
if (!(stack.length > 0)) return [3 /*break*/, 5];
|
|
286
|
+
_i = 0, _a = stack[0];
|
|
287
|
+
_b.label = 1;
|
|
288
|
+
case 1:
|
|
289
|
+
if (!(_i < _a.length)) return [3 /*break*/, 4];
|
|
290
|
+
node = _a[_i];
|
|
291
|
+
return [5 /*yield**/, __values(combinations(stack.slice(1, stack.length), path.concat(node)))];
|
|
292
|
+
case 2:
|
|
293
|
+
_b.sent();
|
|
294
|
+
_b.label = 3;
|
|
295
|
+
case 3:
|
|
296
|
+
_i++;
|
|
297
|
+
return [3 /*break*/, 1];
|
|
298
|
+
case 4: return [3 /*break*/, 7];
|
|
299
|
+
case 5: return [4 /*yield*/, path];
|
|
300
|
+
case 6:
|
|
301
|
+
_b.sent();
|
|
302
|
+
_b.label = 7;
|
|
303
|
+
case 7: return [2 /*return*/];
|
|
304
|
+
}
|
|
305
|
+
});
|
|
418
306
|
}
|
|
419
307
|
function sort(paths) {
|
|
420
|
-
|
|
421
|
-
return penalty(a) - penalty(b);
|
|
422
|
-
});
|
|
308
|
+
return [].slice.call(paths).sort(function (a, b) { return penalty(a) - penalty(b); });
|
|
423
309
|
}
|
|
424
310
|
function optimize(path, input) {
|
|
425
|
-
|
|
426
|
-
|
|
427
|
-
|
|
428
|
-
|
|
429
|
-
|
|
430
|
-
|
|
431
|
-
|
|
432
|
-
|
|
433
|
-
|
|
434
|
-
|
|
435
|
-
|
|
436
|
-
|
|
437
|
-
|
|
438
|
-
|
|
439
|
-
|
|
440
|
-
|
|
441
|
-
|
|
442
|
-
|
|
443
|
-
|
|
444
|
-
|
|
445
|
-
|
|
446
|
-
|
|
447
|
-
|
|
448
|
-
|
|
449
|
-
}
|
|
450
|
-
});
|
|
311
|
+
var i, newPath;
|
|
312
|
+
return __generator(this, function (_a) {
|
|
313
|
+
switch (_a.label) {
|
|
314
|
+
case 0:
|
|
315
|
+
if (!(path.length > 2 && path.length > config.optimizedMinLength)) return [3 /*break*/, 5];
|
|
316
|
+
i = 1;
|
|
317
|
+
_a.label = 1;
|
|
318
|
+
case 1:
|
|
319
|
+
if (!(i < path.length - 1)) return [3 /*break*/, 5];
|
|
320
|
+
newPath = __spreadArray([], path, true);
|
|
321
|
+
newPath.splice(i, 1);
|
|
322
|
+
if (!(unique(newPath) && same(newPath, input))) return [3 /*break*/, 4];
|
|
323
|
+
return [4 /*yield*/, newPath];
|
|
324
|
+
case 2:
|
|
325
|
+
_a.sent();
|
|
326
|
+
return [5 /*yield**/, __values(optimize(newPath, input))];
|
|
327
|
+
case 3:
|
|
328
|
+
_a.sent();
|
|
329
|
+
_a.label = 4;
|
|
330
|
+
case 4:
|
|
331
|
+
i++;
|
|
332
|
+
return [3 /*break*/, 1];
|
|
333
|
+
case 5: return [2 /*return*/];
|
|
334
|
+
}
|
|
335
|
+
});
|
|
451
336
|
}
|
|
452
337
|
function same(path, input) {
|
|
453
|
-
|
|
338
|
+
return rootDocument.querySelector(selector(path)) === input;
|
|
454
339
|
}
|
|
455
|
-
//# sourceMappingURL=finder.function.js.map
|
|
340
|
+
//# sourceMappingURL=finder.function.js.map
|