@applitools/core 4.59.2 → 4.60.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.
- package/CHANGELOG.md +176 -0
- package/dist/ufg/get-base-eyes.js +2 -2
- package/dist/ufg/take-snapshots.js +15 -0
- package/dist/ufg/utils/to-generated-selectors.js +6 -1
- package/dist/utils/populate-eyes-server-settings.js +1 -0
- package/package.json +18 -18
- package/types/ufg/utils/to-generated-selectors.d.ts +2 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,181 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## [4.60.0](https://github.com/Applitools-Dev/sdk/compare/js/core@4.59.3...js/core@4.60.0) (2026-04-23)
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
### Features
|
|
7
|
+
|
|
8
|
+
* expose httpVersion as SDK configuration flag | AD-13119 ([#3731](https://github.com/Applitools-Dev/sdk/issues/3731)) ([efee143](https://github.com/Applitools-Dev/sdk/commit/efee143729ee9ee31b669ea714c69a0ab57bbb1e))
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
### Dependencies
|
|
12
|
+
|
|
13
|
+
* @applitools/req bumped to 1.10.0
|
|
14
|
+
#### Features
|
|
15
|
+
|
|
16
|
+
* expose httpVersion as SDK configuration flag | AD-13119 ([#3731](https://github.com/Applitools-Dev/sdk/issues/3731)) ([efee143](https://github.com/Applitools-Dev/sdk/commit/efee143729ee9ee31b669ea714c69a0ab57bbb1e))
|
|
17
|
+
* @applitools/ufg-client bumped to 1.21.0
|
|
18
|
+
#### Features
|
|
19
|
+
|
|
20
|
+
* expose httpVersion as SDK configuration flag | AD-13119 ([#3731](https://github.com/Applitools-Dev/sdk/issues/3731)) ([efee143](https://github.com/Applitools-Dev/sdk/commit/efee143729ee9ee31b669ea714c69a0ab57bbb1e))
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
|
|
24
|
+
* @applitools/nml-client bumped to 1.11.25
|
|
25
|
+
|
|
26
|
+
* @applitools/tunnel-client bumped to 1.11.11
|
|
27
|
+
|
|
28
|
+
* @applitools/core-base bumped to 1.33.0
|
|
29
|
+
#### Features
|
|
30
|
+
|
|
31
|
+
* expose httpVersion as SDK configuration flag | AD-13119 ([#3731](https://github.com/Applitools-Dev/sdk/issues/3731)) ([efee143](https://github.com/Applitools-Dev/sdk/commit/efee143729ee9ee31b669ea714c69a0ab57bbb1e))
|
|
32
|
+
|
|
33
|
+
|
|
34
|
+
|
|
35
|
+
* @applitools/ec-client bumped to 1.12.26
|
|
36
|
+
|
|
37
|
+
|
|
38
|
+
## [4.59.3](https://github.com/Applitools-Dev/sdk/compare/js/core@4.59.2...js/core@4.59.3) (2026-04-16)
|
|
39
|
+
|
|
40
|
+
|
|
41
|
+
### Bug Fixes
|
|
42
|
+
|
|
43
|
+
* pass top-level fallbackBaselineId through UFG render environments | FLD-4292 ([#3763](https://github.com/Applitools-Dev/sdk/issues/3763)) ([8c46c2e](https://github.com/Applitools-Dev/sdk/commit/8c46c2e9cff684c18dbc83f4bf87ee61f4637c8e))
|
|
44
|
+
* remediate npm security vulnerabilities (FLD-4179) ([#3764](https://github.com/Applitools-Dev/sdk/issues/3764)) ([4bc0ef9](https://github.com/Applitools-Dev/sdk/commit/4bc0ef915e8ad606627c6074de582bec53397738))
|
|
45
|
+
* restore logDeprecations and else-if guard in UFG snapshot paths ([#3739](https://github.com/Applitools-Dev/sdk/issues/3739)) ([b487a3a](https://github.com/Applitools-Dev/sdk/commit/b487a3a2747b33ce4d912b9c50eb8ed2bb28672e))
|
|
46
|
+
|
|
47
|
+
|
|
48
|
+
### Dependencies
|
|
49
|
+
|
|
50
|
+
* @applitools/utils bumped to 1.14.4
|
|
51
|
+
#### Bug Fixes
|
|
52
|
+
|
|
53
|
+
* remediate npm security vulnerabilities (FLD-4179) ([#3764](https://github.com/Applitools-Dev/sdk/issues/3764)) ([4bc0ef9](https://github.com/Applitools-Dev/sdk/commit/4bc0ef915e8ad606627c6074de582bec53397738))
|
|
54
|
+
* @applitools/logger bumped to 2.2.11
|
|
55
|
+
#### Bug Fixes
|
|
56
|
+
|
|
57
|
+
* remediate npm security vulnerabilities (FLD-4179) ([#3764](https://github.com/Applitools-Dev/sdk/issues/3764)) ([4bc0ef9](https://github.com/Applitools-Dev/sdk/commit/4bc0ef915e8ad606627c6074de582bec53397738))
|
|
58
|
+
|
|
59
|
+
|
|
60
|
+
|
|
61
|
+
* @applitools/dom-shared bumped to 1.1.3
|
|
62
|
+
#### Bug Fixes
|
|
63
|
+
|
|
64
|
+
* remediate npm security vulnerabilities (FLD-4179) ([#3764](https://github.com/Applitools-Dev/sdk/issues/3764)) ([4bc0ef9](https://github.com/Applitools-Dev/sdk/commit/4bc0ef915e8ad606627c6074de582bec53397738))
|
|
65
|
+
* @applitools/dom-snapshot bumped to 4.16.4
|
|
66
|
+
#### Bug Fixes
|
|
67
|
+
|
|
68
|
+
* remediate npm security vulnerabilities (FLD-4179) ([#3764](https://github.com/Applitools-Dev/sdk/issues/3764)) ([4bc0ef9](https://github.com/Applitools-Dev/sdk/commit/4bc0ef915e8ad606627c6074de582bec53397738))
|
|
69
|
+
|
|
70
|
+
|
|
71
|
+
|
|
72
|
+
* @applitools/socket bumped to 1.3.12
|
|
73
|
+
#### Bug Fixes
|
|
74
|
+
|
|
75
|
+
* remediate npm security vulnerabilities (FLD-4179) ([#3764](https://github.com/Applitools-Dev/sdk/issues/3764)) ([4bc0ef9](https://github.com/Applitools-Dev/sdk/commit/4bc0ef915e8ad606627c6074de582bec53397738))
|
|
76
|
+
|
|
77
|
+
|
|
78
|
+
|
|
79
|
+
* @applitools/req bumped to 1.9.3
|
|
80
|
+
#### Bug Fixes
|
|
81
|
+
|
|
82
|
+
* remediate npm security vulnerabilities (FLD-4179) ([#3764](https://github.com/Applitools-Dev/sdk/issues/3764)) ([4bc0ef9](https://github.com/Applitools-Dev/sdk/commit/4bc0ef915e8ad606627c6074de582bec53397738))
|
|
83
|
+
|
|
84
|
+
|
|
85
|
+
|
|
86
|
+
* @applitools/image bumped to 1.2.10
|
|
87
|
+
#### Bug Fixes
|
|
88
|
+
|
|
89
|
+
* remediate npm security vulnerabilities (FLD-4179) ([#3764](https://github.com/Applitools-Dev/sdk/issues/3764)) ([4bc0ef9](https://github.com/Applitools-Dev/sdk/commit/4bc0ef915e8ad606627c6074de582bec53397738))
|
|
90
|
+
|
|
91
|
+
|
|
92
|
+
|
|
93
|
+
* @applitools/snippets bumped to 2.8.2
|
|
94
|
+
#### Bug Fixes
|
|
95
|
+
|
|
96
|
+
* remediate npm security vulnerabilities (FLD-4179) ([#3764](https://github.com/Applitools-Dev/sdk/issues/3764)) ([4bc0ef9](https://github.com/Applitools-Dev/sdk/commit/4bc0ef915e8ad606627c6074de582bec53397738))
|
|
97
|
+
* @applitools/dom-capture bumped to 11.7.1
|
|
98
|
+
#### Bug Fixes
|
|
99
|
+
|
|
100
|
+
* remediate npm security vulnerabilities (FLD-4179) ([#3764](https://github.com/Applitools-Dev/sdk/issues/3764)) ([4bc0ef9](https://github.com/Applitools-Dev/sdk/commit/4bc0ef915e8ad606627c6074de582bec53397738))
|
|
101
|
+
|
|
102
|
+
|
|
103
|
+
|
|
104
|
+
* @applitools/driver bumped to 1.25.5
|
|
105
|
+
#### Bug Fixes
|
|
106
|
+
|
|
107
|
+
* remediate npm security vulnerabilities (FLD-4179) ([#3764](https://github.com/Applitools-Dev/sdk/issues/3764)) ([4bc0ef9](https://github.com/Applitools-Dev/sdk/commit/4bc0ef915e8ad606627c6074de582bec53397738))
|
|
108
|
+
|
|
109
|
+
|
|
110
|
+
|
|
111
|
+
* @applitools/spec-driver-webdriver bumped to 1.5.10
|
|
112
|
+
#### Bug Fixes
|
|
113
|
+
|
|
114
|
+
* remediate npm security vulnerabilities (FLD-4179) ([#3764](https://github.com/Applitools-Dev/sdk/issues/3764)) ([4bc0ef9](https://github.com/Applitools-Dev/sdk/commit/4bc0ef915e8ad606627c6074de582bec53397738))
|
|
115
|
+
|
|
116
|
+
|
|
117
|
+
|
|
118
|
+
* @applitools/spec-driver-selenium bumped to 1.7.16
|
|
119
|
+
#### Bug Fixes
|
|
120
|
+
|
|
121
|
+
* remediate npm security vulnerabilities (FLD-4179) ([#3764](https://github.com/Applitools-Dev/sdk/issues/3764)) ([4bc0ef9](https://github.com/Applitools-Dev/sdk/commit/4bc0ef915e8ad606627c6074de582bec53397738))
|
|
122
|
+
|
|
123
|
+
|
|
124
|
+
|
|
125
|
+
* @applitools/spec-driver-puppeteer bumped to 1.7.5
|
|
126
|
+
#### Bug Fixes
|
|
127
|
+
|
|
128
|
+
* remediate npm security vulnerabilities (FLD-4179) ([#3764](https://github.com/Applitools-Dev/sdk/issues/3764)) ([4bc0ef9](https://github.com/Applitools-Dev/sdk/commit/4bc0ef915e8ad606627c6074de582bec53397738))
|
|
129
|
+
|
|
130
|
+
|
|
131
|
+
|
|
132
|
+
* @applitools/screenshoter bumped to 3.12.18
|
|
133
|
+
#### Bug Fixes
|
|
134
|
+
|
|
135
|
+
* remediate npm security vulnerabilities (FLD-4179) ([#3764](https://github.com/Applitools-Dev/sdk/issues/3764)) ([4bc0ef9](https://github.com/Applitools-Dev/sdk/commit/4bc0ef915e8ad606627c6074de582bec53397738))
|
|
136
|
+
|
|
137
|
+
|
|
138
|
+
|
|
139
|
+
* @applitools/nml-client bumped to 1.11.24
|
|
140
|
+
#### Bug Fixes
|
|
141
|
+
|
|
142
|
+
* remediate npm security vulnerabilities (FLD-4179) ([#3764](https://github.com/Applitools-Dev/sdk/issues/3764)) ([4bc0ef9](https://github.com/Applitools-Dev/sdk/commit/4bc0ef915e8ad606627c6074de582bec53397738))
|
|
143
|
+
|
|
144
|
+
|
|
145
|
+
|
|
146
|
+
* @applitools/tunnel-client bumped to 1.11.10
|
|
147
|
+
#### Bug Fixes
|
|
148
|
+
|
|
149
|
+
* prevent listener accumulation causing OOM in tunnel worker | FLD-4423 ([#3761](https://github.com/Applitools-Dev/sdk/issues/3761)) ([85633c3](https://github.com/Applitools-Dev/sdk/commit/85633c3836230e7045a9ff62772631eb2990e32c))
|
|
150
|
+
* remediate npm security vulnerabilities (FLD-4179) ([#3764](https://github.com/Applitools-Dev/sdk/issues/3764)) ([4bc0ef9](https://github.com/Applitools-Dev/sdk/commit/4bc0ef915e8ad606627c6074de582bec53397738))
|
|
151
|
+
* use APPLITOOLS_LOG_DIR as fallback for EG tunnel log directory | FLD-4321 ([#3732](https://github.com/Applitools-Dev/sdk/issues/3732)) ([03a3f60](https://github.com/Applitools-Dev/sdk/commit/03a3f60e9a5cfca066f0f1f07fc56969530cbf8a))
|
|
152
|
+
|
|
153
|
+
|
|
154
|
+
|
|
155
|
+
* @applitools/ufg-client bumped to 1.20.3
|
|
156
|
+
#### Bug Fixes
|
|
157
|
+
|
|
158
|
+
* remediate npm security vulnerabilities (FLD-4179) ([#3764](https://github.com/Applitools-Dev/sdk/issues/3764)) ([4bc0ef9](https://github.com/Applitools-Dev/sdk/commit/4bc0ef915e8ad606627c6074de582bec53397738))
|
|
159
|
+
|
|
160
|
+
|
|
161
|
+
|
|
162
|
+
* @applitools/core-base bumped to 1.32.5
|
|
163
|
+
#### Bug Fixes
|
|
164
|
+
|
|
165
|
+
* remediate npm security vulnerabilities (FLD-4179) ([#3764](https://github.com/Applitools-Dev/sdk/issues/3764)) ([4bc0ef9](https://github.com/Applitools-Dev/sdk/commit/4bc0ef915e8ad606627c6074de582bec53397738))
|
|
166
|
+
|
|
167
|
+
|
|
168
|
+
|
|
169
|
+
* @applitools/ec-client bumped to 1.12.25
|
|
170
|
+
#### Bug Fixes
|
|
171
|
+
|
|
172
|
+
* remediate npm security vulnerabilities (FLD-4179) ([#3764](https://github.com/Applitools-Dev/sdk/issues/3764)) ([4bc0ef9](https://github.com/Applitools-Dev/sdk/commit/4bc0ef915e8ad606627c6074de582bec53397738))
|
|
173
|
+
|
|
174
|
+
|
|
175
|
+
|
|
176
|
+
* @applitools/test-server bumped to 1.4.3
|
|
177
|
+
|
|
178
|
+
|
|
3
179
|
## [4.59.2](https://github.com/Applitools-Dev/sdk/compare/js/core@4.59.1...js/core@4.59.2) (2026-04-13)
|
|
4
180
|
|
|
5
181
|
|
|
@@ -40,7 +40,7 @@ function makeGetBaseEyes({ settings: defaultSettings, eyes, logger: mainLogger,
|
|
|
40
40
|
});
|
|
41
41
|
return getBaseEyesWithCache;
|
|
42
42
|
async function getBaseEyes({ settings, logger = mainLogger, }) {
|
|
43
|
-
var _a;
|
|
43
|
+
var _a, _b;
|
|
44
44
|
logger = logger.extend(mainLogger);
|
|
45
45
|
logger.log(`Command "getBaseEyes" is called with settings`, settings);
|
|
46
46
|
const ufgClient = await eyes.core.getUFGClient({
|
|
@@ -58,7 +58,7 @@ function makeGetBaseEyes({ settings: defaultSettings, eyes, logger: mainLogger,
|
|
|
58
58
|
const baseEyes = await eyes.core.base.openEyes({
|
|
59
59
|
settings: {
|
|
60
60
|
...defaultSettings,
|
|
61
|
-
fallbackBaselineId: (_a = settings.environment) === null || _a === void 0 ? void 0 : _a.fallbackBaselineId,
|
|
61
|
+
fallbackBaselineId: (_b = (_a = settings.environment) === null || _a === void 0 ? void 0 : _a.fallbackBaselineId) !== null && _b !== void 0 ? _b : defaultSettings.fallbackBaselineId,
|
|
62
62
|
environment: {
|
|
63
63
|
...defaultSettings.environment,
|
|
64
64
|
...environment,
|
|
@@ -26,6 +26,7 @@ function makeTakeSnapshots({ core, fetchConcurrency, signal, logger: mainLogger,
|
|
|
26
26
|
const { elementReferencesToMark, getGeneratedSelectors } = (0, to_generated_selectors_1.toGeneratedSelectors)({
|
|
27
27
|
elementReferences,
|
|
28
28
|
logger,
|
|
29
|
+
logDeprecations,
|
|
29
30
|
});
|
|
30
31
|
let snapshots;
|
|
31
32
|
if (environment.isWeb) {
|
|
@@ -76,6 +77,7 @@ function makeTakeSnapshots({ core, fetchConcurrency, signal, logger: mainLogger,
|
|
|
76
77
|
}
|
|
77
78
|
}
|
|
78
79
|
else {
|
|
80
|
+
logDeprecations('takeSnapshots: taking native snapshots is no longer supported. How did you reach this message? (dead code)');
|
|
79
81
|
throw new Error('Taking native (non-web) snapshots via VisualGridRunner is no longer supported. Please use ClassicRunner for native apps.');
|
|
80
82
|
}
|
|
81
83
|
await currentContext.focus();
|
|
@@ -112,6 +114,19 @@ function makeTakeSnapshots({ core, fetchConcurrency, signal, logger: mainLogger,
|
|
|
112
114
|
title,
|
|
113
115
|
userAgent,
|
|
114
116
|
}));
|
|
117
|
+
function logDeprecations(...args) {
|
|
118
|
+
core.logEvent({
|
|
119
|
+
settings: {
|
|
120
|
+
level: 'Error',
|
|
121
|
+
event: {
|
|
122
|
+
type: 'SDK.unreachableCodeReached',
|
|
123
|
+
message: args.join(' '),
|
|
124
|
+
},
|
|
125
|
+
...account.eyesServer,
|
|
126
|
+
},
|
|
127
|
+
logger,
|
|
128
|
+
});
|
|
129
|
+
}
|
|
115
130
|
};
|
|
116
131
|
}
|
|
117
132
|
exports.makeTakeSnapshots = makeTakeSnapshots;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.toGeneratedSelectors = void 0;
|
|
4
|
-
function toGeneratedSelectors({ elementReferences, logger, }) {
|
|
4
|
+
function toGeneratedSelectors({ elementReferences, logger, logDeprecations, }) {
|
|
5
5
|
var _a, _b, _c;
|
|
6
6
|
const elementReferencesToMark = [
|
|
7
7
|
(_a = elementReferences.target) !== null && _a !== void 0 ? _a : [],
|
|
@@ -51,6 +51,11 @@ function toGeneratedSelectors({ elementReferences, logger, }) {
|
|
|
51
51
|
};
|
|
52
52
|
});
|
|
53
53
|
}
|
|
54
|
+
else if (target || scrolling || calculate.length) {
|
|
55
|
+
// the entire else statement should be a dead code that was used for NMG, will be removed later
|
|
56
|
+
logDeprecations('toGeneratedSelectors: `transformElementReference` was unexpectedly called.');
|
|
57
|
+
throw new Error('toGeneratedSelectors: `transformElementReference` was unexpectedly called.');
|
|
58
|
+
}
|
|
54
59
|
return { target, scrolling, calculate };
|
|
55
60
|
}
|
|
56
61
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@applitools/core",
|
|
3
|
-
"version": "4.
|
|
3
|
+
"version": "4.60.0",
|
|
4
4
|
"homepage": "https://applitools.com",
|
|
5
5
|
"bugs": {
|
|
6
6
|
"url": "https://github.com/applitools/eyes.sdk.javascript1/issues"
|
|
@@ -60,19 +60,19 @@
|
|
|
60
60
|
"setup:standalone": "sh -c 'yarn chromedriver --port=4444 --verbose &'"
|
|
61
61
|
},
|
|
62
62
|
"dependencies": {
|
|
63
|
-
"@applitools/core-base": "1.
|
|
64
|
-
"@applitools/dom-capture": "11.7.
|
|
65
|
-
"@applitools/dom-snapshot": "4.16.
|
|
66
|
-
"@applitools/driver": "1.25.
|
|
67
|
-
"@applitools/ec-client": "1.12.
|
|
68
|
-
"@applitools/logger": "2.2.
|
|
69
|
-
"@applitools/nml-client": "1.11.
|
|
70
|
-
"@applitools/req": "1.
|
|
71
|
-
"@applitools/screenshoter": "3.12.
|
|
72
|
-
"@applitools/snippets": "2.8.
|
|
73
|
-
"@applitools/socket": "1.3.
|
|
74
|
-
"@applitools/ufg-client": "1.
|
|
75
|
-
"@applitools/utils": "1.14.
|
|
63
|
+
"@applitools/core-base": "1.33.0",
|
|
64
|
+
"@applitools/dom-capture": "11.7.1",
|
|
65
|
+
"@applitools/dom-snapshot": "4.16.4",
|
|
66
|
+
"@applitools/driver": "1.25.5",
|
|
67
|
+
"@applitools/ec-client": "1.12.26",
|
|
68
|
+
"@applitools/logger": "2.2.11",
|
|
69
|
+
"@applitools/nml-client": "1.11.25",
|
|
70
|
+
"@applitools/req": "1.10.0",
|
|
71
|
+
"@applitools/screenshoter": "3.12.18",
|
|
72
|
+
"@applitools/snippets": "2.8.2",
|
|
73
|
+
"@applitools/socket": "1.3.12",
|
|
74
|
+
"@applitools/ufg-client": "1.21.0",
|
|
75
|
+
"@applitools/utils": "1.14.4",
|
|
76
76
|
"abort-controller": "3.0.0",
|
|
77
77
|
"chalk": "4.1.2",
|
|
78
78
|
"node-fetch": "2.6.7",
|
|
@@ -81,11 +81,11 @@
|
|
|
81
81
|
},
|
|
82
82
|
"devDependencies": {
|
|
83
83
|
"@applitools/bongo": "^5.10.0",
|
|
84
|
-
"@applitools/spec-driver-puppeteer": "^1.7.
|
|
85
|
-
"@applitools/spec-driver-selenium": "^1.7.
|
|
86
|
-
"@applitools/test-server": "^1.4.
|
|
84
|
+
"@applitools/spec-driver-puppeteer": "^1.7.5",
|
|
85
|
+
"@applitools/spec-driver-selenium": "^1.7.16",
|
|
86
|
+
"@applitools/test-server": "^1.4.3",
|
|
87
87
|
"@applitools/test-utils": "^1.5.17",
|
|
88
|
-
"@applitools/tunnel-client": "^1.11.
|
|
88
|
+
"@applitools/tunnel-client": "^1.11.11",
|
|
89
89
|
"@types/mocha": "^10.0.7",
|
|
90
90
|
"@types/node": "^12.20.55",
|
|
91
91
|
"@types/selenium-webdriver": "^4.1.2",
|
|
@@ -1,13 +1,14 @@
|
|
|
1
1
|
import { type SpecType, type ElementReference } from '@applitools/driver';
|
|
2
2
|
import type { Logger } from '@applitools/logger';
|
|
3
3
|
import { type Selector as UFGSelector } from '@applitools/ufg-client';
|
|
4
|
-
export declare function toGeneratedSelectors<TSpec extends SpecType>({ elementReferences, logger, }: {
|
|
4
|
+
export declare function toGeneratedSelectors<TSpec extends SpecType>({ elementReferences, logger, logDeprecations, }: {
|
|
5
5
|
elementReferences: {
|
|
6
6
|
target?: ElementReference<TSpec>;
|
|
7
7
|
scrolling?: ElementReference<TSpec>;
|
|
8
8
|
calculate?: ElementReference<TSpec>[];
|
|
9
9
|
};
|
|
10
10
|
logger: Logger;
|
|
11
|
+
logDeprecations: (...args: string[]) => void;
|
|
11
12
|
}): {
|
|
12
13
|
elementReferencesToMark: (string | TSpec["element"] | TSpec["secondary"]["element"] | TSpec["selector"] | TSpec["secondary"]["selector"] | {
|
|
13
14
|
selector: string | TSpec["selector"] | TSpec["secondary"]["selector"];
|