@vforsh/argus 0.1.11 → 0.1.12
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/.tsbuildinfo +1 -1
- package/dist/argus.js +5881 -5892
- package/dist/bin.js +4 -47
- package/dist/bin.js.map +1 -1
- package/dist/cli/program.d.ts.map +1 -1
- package/dist/cli/program.js +2 -1
- package/dist/cli/program.js.map +1 -1
- package/dist/cli/register/domCommandBuilder.d.ts +22 -0
- package/dist/cli/register/domCommandBuilder.d.ts.map +1 -0
- package/dist/cli/register/domCommandBuilder.js +33 -0
- package/dist/cli/register/domCommandBuilder.js.map +1 -0
- package/dist/cli/register/index.d.ts +4 -0
- package/dist/cli/register/index.d.ts.map +1 -0
- package/dist/cli/register/index.js +45 -0
- package/dist/cli/register/index.js.map +1 -0
- package/dist/cli/register/registerDom.d.ts.map +1 -1
- package/dist/cli/register/registerDom.js +138 -121
- package/dist/cli/register/registerDom.js.map +1 -1
- package/dist/commands/chrome/browser.d.ts +5 -0
- package/dist/commands/chrome/browser.d.ts.map +1 -0
- package/dist/commands/chrome/browser.js +71 -0
- package/dist/commands/chrome/browser.js.map +1 -0
- package/dist/commands/chrome/processes.d.ts +24 -0
- package/dist/commands/chrome/processes.d.ts.map +1 -0
- package/dist/commands/chrome/processes.js +115 -0
- package/dist/commands/chrome/processes.js.map +1 -0
- package/dist/commands/chrome/shared.d.ts +31 -0
- package/dist/commands/chrome/shared.d.ts.map +1 -0
- package/dist/commands/chrome/shared.js +48 -0
- package/dist/commands/chrome/shared.js.map +1 -0
- package/dist/commands/chrome/targets.d.ts +26 -0
- package/dist/commands/chrome/targets.d.ts.map +1 -0
- package/dist/commands/chrome/targets.js +240 -0
- package/dist/commands/chrome/targets.js.map +1 -0
- package/dist/commands/chrome.d.ts +6 -63
- package/dist/commands/chrome.d.ts.map +1 -1
- package/dist/commands/chrome.js +3 -511
- package/dist/commands/chrome.js.map +1 -1
- package/dist/commands/dom/shared.d.ts +12 -0
- package/dist/commands/dom/shared.d.ts.map +1 -0
- package/dist/commands/dom/shared.js +42 -0
- package/dist/commands/dom/shared.js.map +1 -0
- package/dist/commands/domAdd.d.ts.map +1 -1
- package/dist/commands/domAdd.js +11 -27
- package/dist/commands/domAdd.js.map +1 -1
- package/dist/commands/domClick.d.ts.map +1 -1
- package/dist/commands/domClick.js +14 -40
- package/dist/commands/domClick.js.map +1 -1
- package/dist/commands/domFill.d.ts.map +1 -1
- package/dist/commands/domFill.js +10 -31
- package/dist/commands/domFill.js.map +1 -1
- package/dist/commands/domFocus.d.ts.map +1 -1
- package/dist/commands/domFocus.js +11 -26
- package/dist/commands/domFocus.js.map +1 -1
- package/dist/commands/domHover.d.ts.map +1 -1
- package/dist/commands/domHover.js +11 -26
- package/dist/commands/domHover.js.map +1 -1
- package/dist/commands/domInfo.d.ts.map +1 -1
- package/dist/commands/domInfo.js +10 -25
- package/dist/commands/domInfo.js.map +1 -1
- package/dist/commands/domModify.d.ts.map +1 -1
- package/dist/commands/domModify.js +14 -26
- package/dist/commands/domModify.js.map +1 -1
- package/dist/commands/domRemove.d.ts.map +1 -1
- package/dist/commands/domRemove.js +10 -25
- package/dist/commands/domRemove.js.map +1 -1
- package/dist/commands/domScroll.d.ts.map +1 -1
- package/dist/commands/domScroll.js +7 -33
- package/dist/commands/domScroll.js.map +1 -1
- package/dist/commands/domScrollTo.d.ts.map +1 -1
- package/dist/commands/domScrollTo.js +7 -33
- package/dist/commands/domScrollTo.js.map +1 -1
- package/dist/commands/domSetFile.d.ts.map +1 -1
- package/dist/commands/domSetFile.js +14 -36
- package/dist/commands/domSetFile.js.map +1 -1
- package/dist/commands/domTree.d.ts.map +1 -1
- package/dist/commands/domTree.js +10 -25
- package/dist/commands/domTree.js.map +1 -1
- package/dist/commands/extension/setup.js +1 -1
- package/dist/commands/extension/setup.js.map +1 -1
- package/dist/commands/start.d.ts +1 -1
- package/dist/commands/start.d.ts.map +1 -1
- package/dist/commands/start.js +15 -42
- package/dist/commands/start.js.map +1 -1
- package/dist/commands/watcherSession.d.ts +29 -0
- package/dist/commands/watcherSession.d.ts.map +1 -0
- package/dist/commands/watcherSession.js +64 -0
- package/dist/commands/watcherSession.js.map +1 -0
- package/dist/commands/watcherStart.d.ts +1 -1
- package/dist/commands/watcherStart.d.ts.map +1 -1
- package/dist/commands/watcherStart.js +15 -40
- package/dist/commands/watcherStart.js.map +1 -1
- package/dist/config/argusConfig.d.ts.map +1 -1
- package/dist/config/argusConfig.js +69 -81
- package/dist/config/argusConfig.js.map +1 -1
- package/dist/watchers/requestWatcher.d.ts +13 -1
- package/dist/watchers/requestWatcher.d.ts.map +1 -1
- package/dist/watchers/requestWatcher.js +32 -0
- package/dist/watchers/requestWatcher.js.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { parseDurationMs } from '../../time.js';
|
|
2
|
+
export const requireSelector = (options, output) => {
|
|
3
|
+
const selector = options.selector?.trim();
|
|
4
|
+
if (selector) {
|
|
5
|
+
return selector;
|
|
6
|
+
}
|
|
7
|
+
output.writeWarn('--selector or --testid is required');
|
|
8
|
+
process.exitCode = 2;
|
|
9
|
+
return null;
|
|
10
|
+
};
|
|
11
|
+
export const parseWaitDuration = (value, output) => {
|
|
12
|
+
if (value == null) {
|
|
13
|
+
return 0;
|
|
14
|
+
}
|
|
15
|
+
const parsed = parseDurationMs(value);
|
|
16
|
+
if (parsed == null || parsed < 0) {
|
|
17
|
+
output.writeWarn('Invalid --wait value: expected a duration like 5s, 500ms, 2m.');
|
|
18
|
+
process.exitCode = 2;
|
|
19
|
+
return null;
|
|
20
|
+
}
|
|
21
|
+
return parsed;
|
|
22
|
+
};
|
|
23
|
+
export const writeNoElementFound = (selector, output, hint) => {
|
|
24
|
+
output.writeWarn(`No element found for selector: ${selector}`);
|
|
25
|
+
if (hint) {
|
|
26
|
+
output.writeWarn(hint);
|
|
27
|
+
}
|
|
28
|
+
process.exitCode = 1;
|
|
29
|
+
};
|
|
30
|
+
export const parseXY = (value) => {
|
|
31
|
+
const parts = value.split(',');
|
|
32
|
+
if (parts.length !== 2) {
|
|
33
|
+
return null;
|
|
34
|
+
}
|
|
35
|
+
const x = Number(parts[0]);
|
|
36
|
+
const y = Number(parts[1]);
|
|
37
|
+
if (!Number.isFinite(x) || !Number.isFinite(y)) {
|
|
38
|
+
return null;
|
|
39
|
+
}
|
|
40
|
+
return { x, y };
|
|
41
|
+
};
|
|
42
|
+
//# sourceMappingURL=shared.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"shared.js","sourceRoot":"","sources":["../../../src/commands/dom/shared.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAA;AAM/C,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,OAA2B,EAAE,MAAc,EAAiB,EAAE;IAC7F,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAA;IACzC,IAAI,QAAQ,EAAE,CAAC;QACd,OAAO,QAAQ,CAAA;IAChB,CAAC;IAED,MAAM,CAAC,SAAS,CAAC,oCAAoC,CAAC,CAAA;IACtD,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAA;IACpB,OAAO,IAAI,CAAA;AACZ,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,KAAyB,EAAE,MAAc,EAAiB,EAAE;IAC7F,IAAI,KAAK,IAAI,IAAI,EAAE,CAAC;QACnB,OAAO,CAAC,CAAA;IACT,CAAC;IAED,MAAM,MAAM,GAAG,eAAe,CAAC,KAAK,CAAC,CAAA;IACrC,IAAI,MAAM,IAAI,IAAI,IAAI,MAAM,GAAG,CAAC,EAAE,CAAC;QAClC,MAAM,CAAC,SAAS,CAAC,+DAA+D,CAAC,CAAA;QACjF,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAA;QACpB,OAAO,IAAI,CAAA;IACZ,CAAC;IAED,OAAO,MAAM,CAAA;AACd,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,QAAgB,EAAE,MAAc,EAAE,IAAa,EAAQ,EAAE;IAC5F,MAAM,CAAC,SAAS,CAAC,kCAAkC,QAAQ,EAAE,CAAC,CAAA;IAC9D,IAAI,IAAI,EAAE,CAAC;QACV,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,CAAA;IACvB,CAAC;IACD,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAA;AACrB,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,OAAO,GAAG,CAAC,KAAa,EAAmC,EAAE;IACzE,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;IAC9B,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACxB,OAAO,IAAI,CAAA;IACZ,CAAC;IAED,MAAM,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAA;IAC1B,MAAM,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAA;IAC1B,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;QAChD,OAAO,IAAI,CAAA;IACZ,CAAC;IAED,OAAO,EAAE,CAAC,EAAE,CAAC,EAAE,CAAA;AAChB,CAAC,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"domAdd.d.ts","sourceRoot":"","sources":["../../src/commands/domAdd.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"domAdd.d.ts","sourceRoot":"","sources":["../../src/commands/domAdd.ts"],"names":[],"mappings":"AAQA,uCAAuC;AACvC,MAAM,MAAM,aAAa,GAAG;IAC3B,QAAQ,EAAE,MAAM,CAAA;IAChB,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,GAAG,CAAC,EAAE,OAAO,CAAA;IACb,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,IAAI,CAAC,EAAE,OAAO,CAAA;IACd,IAAI,CAAC,EAAE,OAAO,CAAA;CACd,CAAA;AAED,oDAAoD;AACpD,eAAO,MAAM,SAAS,GAAU,IAAI,MAAM,GAAG,SAAS,EAAE,SAAS,aAAa,KAAG,OAAO,CAAC,IAAI,CAsF5F,CAAA"}
|
package/dist/commands/domAdd.js
CHANGED
|
@@ -2,13 +2,13 @@ import { readFile } from 'node:fs/promises';
|
|
|
2
2
|
import { createOutput } from '../output/io.js';
|
|
3
3
|
import { formatError } from '../cli/parse.js';
|
|
4
4
|
import { resolvePath } from '../utils/paths.js';
|
|
5
|
-
import {
|
|
5
|
+
import { requestWatcherAction } from '../watchers/requestWatcher.js';
|
|
6
|
+
import { requireSelector, writeNoElementFound } from './dom/shared.js';
|
|
6
7
|
/** Execute the dom add command for a watcher id. */
|
|
7
8
|
export const runDomAdd = async (id, options) => {
|
|
8
9
|
const output = createOutput(options);
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
process.exitCode = 2;
|
|
10
|
+
const selector = requireSelector(options, output);
|
|
11
|
+
if (!selector) {
|
|
12
12
|
return;
|
|
13
13
|
}
|
|
14
14
|
const position = normalizePosition(options.position);
|
|
@@ -47,12 +47,12 @@ export const runDomAdd = async (id, options) => {
|
|
|
47
47
|
process.exitCode = 2;
|
|
48
48
|
return;
|
|
49
49
|
}
|
|
50
|
-
const result = await
|
|
50
|
+
const result = await requestWatcherAction({
|
|
51
51
|
id,
|
|
52
52
|
path: '/dom/add',
|
|
53
53
|
method: 'POST',
|
|
54
54
|
body: {
|
|
55
|
-
selector
|
|
55
|
+
selector,
|
|
56
56
|
html,
|
|
57
57
|
position,
|
|
58
58
|
all: options.all ?? false,
|
|
@@ -61,38 +61,22 @@ export const runDomAdd = async (id, options) => {
|
|
|
61
61
|
text: options.text ?? false,
|
|
62
62
|
},
|
|
63
63
|
timeoutMs: 30_000,
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
if (!result.ok) {
|
|
67
|
-
writeRequestError(result, output);
|
|
68
|
-
return;
|
|
69
|
-
}
|
|
70
|
-
const response = result.data;
|
|
71
|
-
if (!response.ok) {
|
|
72
|
-
const errorResp = response;
|
|
73
|
-
if (options.json) {
|
|
74
|
-
output.writeJson(response);
|
|
75
|
-
}
|
|
76
|
-
else {
|
|
77
|
-
output.writeWarn(`Error: ${errorResp.error.message}`);
|
|
78
|
-
}
|
|
79
|
-
process.exitCode = 1;
|
|
64
|
+
}, output);
|
|
65
|
+
if (!result) {
|
|
80
66
|
return;
|
|
81
67
|
}
|
|
82
|
-
const successResp =
|
|
68
|
+
const successResp = result.data;
|
|
83
69
|
if (options.json) {
|
|
84
70
|
output.writeJson(successResp);
|
|
85
71
|
return;
|
|
86
72
|
}
|
|
87
73
|
if (successResp.matches === 0) {
|
|
88
|
-
output
|
|
89
|
-
output.writeWarn(`Hint: run \`argus dom tree${id ? ` ${id}` : ''} --selector "${options.selector}" --all\``);
|
|
90
|
-
process.exitCode = 1;
|
|
74
|
+
writeNoElementFound(selector, output, `Hint: run \`argus dom tree${id ? ` ${id}` : ''} --selector "${selector}" --all\``);
|
|
91
75
|
return;
|
|
92
76
|
}
|
|
93
77
|
const label = successResp.inserted === 1 ? 'element' : 'elements';
|
|
94
78
|
const prefix = result.watcher.id ? `${result.watcher.id}: ` : '';
|
|
95
|
-
output.writeHuman(`${prefix}Inserted at ${successResp.inserted}/${successResp.matches} ${label} (${position}) for selector: ${
|
|
79
|
+
output.writeHuman(`${prefix}Inserted at ${successResp.inserted}/${successResp.matches} ${label} (${position}) for selector: ${selector}`);
|
|
96
80
|
};
|
|
97
81
|
const normalizePosition = (value) => {
|
|
98
82
|
if (!value) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"domAdd.js","sourceRoot":"","sources":["../../src/commands/domAdd.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAA;AAC3C,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAA;AAC9C,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAA;AAC7C,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAC/C,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"domAdd.js","sourceRoot":"","sources":["../../src/commands/domAdd.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"domClick.d.ts","sourceRoot":"","sources":["../../src/commands/domClick.ts"],"names":[],"mappings":"AAKA,yCAAyC;AACzC,MAAM,MAAM,eAAe,GAAG;IAC7B,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,GAAG,CAAC,EAAE,OAAO,CAAA;IACb,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,IAAI,CAAC,EAAE,OAAO,CAAA;CACd,CAAA;AAED,sDAAsD;AACtD,eAAO,MAAM,WAAW,GAAU,IAAI,MAAM,GAAG,SAAS,EAAE,SAAS,eAAe,KAAG,OAAO,CAAC,IAAI,
|
|
1
|
+
{"version":3,"file":"domClick.d.ts","sourceRoot":"","sources":["../../src/commands/domClick.ts"],"names":[],"mappings":"AAKA,yCAAyC;AACzC,MAAM,MAAM,eAAe,GAAG;IAC7B,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,GAAG,CAAC,EAAE,OAAO,CAAA;IACb,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,IAAI,CAAC,EAAE,OAAO,CAAA;CACd,CAAA;AAED,sDAAsD;AACtD,eAAO,MAAM,WAAW,GAAU,IAAI,MAAM,GAAG,SAAS,EAAE,SAAS,eAAe,KAAG,OAAO,CAAC,IAAI,CA8FhG,CAAA"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { createOutput } from '../output/io.js';
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
2
|
+
import { requestWatcherAction } from '../watchers/requestWatcher.js';
|
|
3
|
+
import { parseWaitDuration, parseXY, writeNoElementFound } from './dom/shared.js';
|
|
4
4
|
/** Execute the dom click command for a watcher id. */
|
|
5
5
|
export const runDomClick = async (id, options) => {
|
|
6
6
|
const output = createOutput(options);
|
|
@@ -14,29 +14,18 @@ export const runDomClick = async (id, options) => {
|
|
|
14
14
|
let x;
|
|
15
15
|
let y;
|
|
16
16
|
if (hasPos) {
|
|
17
|
-
const
|
|
18
|
-
if (
|
|
17
|
+
const point = parseXY(options.pos);
|
|
18
|
+
if (!point) {
|
|
19
19
|
output.writeWarn('--pos must be in the format "x,y" (e.g. --pos 100,200)');
|
|
20
20
|
process.exitCode = 2;
|
|
21
21
|
return;
|
|
22
22
|
}
|
|
23
|
-
x =
|
|
24
|
-
y =
|
|
25
|
-
if (!Number.isFinite(x) || !Number.isFinite(y)) {
|
|
26
|
-
output.writeWarn('--pos coordinates must be finite numbers');
|
|
27
|
-
process.exitCode = 2;
|
|
28
|
-
return;
|
|
29
|
-
}
|
|
23
|
+
x = point.x;
|
|
24
|
+
y = point.y;
|
|
30
25
|
}
|
|
31
|
-
|
|
32
|
-
if (
|
|
33
|
-
|
|
34
|
-
if (parsed == null || parsed < 0) {
|
|
35
|
-
output.writeWarn('Invalid --wait value: expected a duration like 5s, 500ms, 2m.');
|
|
36
|
-
process.exitCode = 2;
|
|
37
|
-
return;
|
|
38
|
-
}
|
|
39
|
-
waitMs = parsed;
|
|
26
|
+
const waitMs = parseWaitDuration(options.wait, output);
|
|
27
|
+
if (waitMs == null) {
|
|
28
|
+
return;
|
|
40
29
|
}
|
|
41
30
|
const validButtons = ['left', 'middle', 'right'];
|
|
42
31
|
const button = options.button ?? 'left';
|
|
@@ -63,31 +52,17 @@ export const runDomClick = async (id, options) => {
|
|
|
63
52
|
if (waitMs > 0) {
|
|
64
53
|
body.wait = waitMs;
|
|
65
54
|
}
|
|
66
|
-
const result = await
|
|
55
|
+
const result = await requestWatcherAction({
|
|
67
56
|
id,
|
|
68
57
|
path: '/dom/click',
|
|
69
58
|
method: 'POST',
|
|
70
59
|
body,
|
|
71
60
|
timeoutMs: Math.max(30_000, waitMs + 5_000),
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
if (!result.ok) {
|
|
75
|
-
writeRequestError(result, output);
|
|
76
|
-
return;
|
|
77
|
-
}
|
|
78
|
-
const response = result.data;
|
|
79
|
-
if (!response.ok) {
|
|
80
|
-
const errorResp = response;
|
|
81
|
-
if (options.json) {
|
|
82
|
-
output.writeJson(response);
|
|
83
|
-
}
|
|
84
|
-
else {
|
|
85
|
-
output.writeWarn(`Error: ${errorResp.error.message}`);
|
|
86
|
-
}
|
|
87
|
-
process.exitCode = 1;
|
|
61
|
+
}, output);
|
|
62
|
+
if (!result) {
|
|
88
63
|
return;
|
|
89
64
|
}
|
|
90
|
-
const successResp =
|
|
65
|
+
const successResp = result.data;
|
|
91
66
|
if (options.json) {
|
|
92
67
|
output.writeJson(successResp);
|
|
93
68
|
return;
|
|
@@ -98,8 +73,7 @@ export const runDomClick = async (id, options) => {
|
|
|
98
73
|
return;
|
|
99
74
|
}
|
|
100
75
|
if (successResp.matches === 0) {
|
|
101
|
-
|
|
102
|
-
process.exitCode = 1;
|
|
76
|
+
writeNoElementFound(options.selector, output);
|
|
103
77
|
return;
|
|
104
78
|
}
|
|
105
79
|
const label = successResp.clicked === 1 ? 'element' : 'elements';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"domClick.js","sourceRoot":"","sources":["../../src/commands/domClick.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAA;AAC9C,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"domClick.js","sourceRoot":"","sources":["../../src/commands/domClick.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"domFill.d.ts","sourceRoot":"","sources":["../../src/commands/domFill.ts"],"names":[],"mappings":"AASA,wCAAwC;AACxC,MAAM,MAAM,cAAc,GAAG;IAC5B,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,GAAG,CAAC,EAAE,OAAO,CAAA;IACb,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,IAAI,CAAC,EAAE,OAAO,CAAA;CACd,CAAA;AAkDD,qDAAqD;AACrD,eAAO,MAAM,UAAU,GAAU,IAAI,MAAM,GAAG,SAAS,EAAE,OAAO,MAAM,GAAG,SAAS,EAAE,SAAS,cAAc,KAAG,OAAO,CAAC,IAAI,
|
|
1
|
+
{"version":3,"file":"domFill.d.ts","sourceRoot":"","sources":["../../src/commands/domFill.ts"],"names":[],"mappings":"AASA,wCAAwC;AACxC,MAAM,MAAM,cAAc,GAAG;IAC5B,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,GAAG,CAAC,EAAE,OAAO,CAAA;IACb,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,IAAI,CAAC,EAAE,OAAO,CAAA;CACd,CAAA;AAkDD,qDAAqD;AACrD,eAAO,MAAM,UAAU,GAAU,IAAI,MAAM,GAAG,SAAS,EAAE,OAAO,MAAM,GAAG,SAAS,EAAE,SAAS,cAAc,KAAG,OAAO,CAAC,IAAI,CAmEzH,CAAA"}
|
package/dist/commands/domFill.js
CHANGED
|
@@ -2,9 +2,9 @@ import { readFile } from 'node:fs/promises';
|
|
|
2
2
|
import { createOutput } from '../output/io.js';
|
|
3
3
|
import { formatError } from '../cli/parse.js';
|
|
4
4
|
import { readStdin } from './evalShared.js';
|
|
5
|
-
import { parseDurationMs } from '../time.js';
|
|
6
5
|
import { resolvePath } from '../utils/paths.js';
|
|
7
|
-
import {
|
|
6
|
+
import { requestWatcherAction } from '../watchers/requestWatcher.js';
|
|
7
|
+
import { parseWaitDuration, writeNoElementFound } from './dom/shared.js';
|
|
8
8
|
/** Resolve the fill value from inline argument, --value-file, or --value-stdin. Returns null on error. */
|
|
9
9
|
const resolveValueInput = async (value, options, output) => {
|
|
10
10
|
const wantsStdin = options.valueStdin === true || value === '-';
|
|
@@ -70,15 +70,9 @@ export const runDomFill = async (id, value, options) => {
|
|
|
70
70
|
process.exitCode = 2;
|
|
71
71
|
return;
|
|
72
72
|
}
|
|
73
|
-
|
|
74
|
-
if (
|
|
75
|
-
|
|
76
|
-
if (parsed == null || parsed < 0) {
|
|
77
|
-
output.writeWarn('Invalid --wait value: expected a duration like 5s, 500ms, 2m.');
|
|
78
|
-
process.exitCode = 2;
|
|
79
|
-
return;
|
|
80
|
-
}
|
|
81
|
-
waitMs = parsed;
|
|
73
|
+
const waitMs = parseWaitDuration(options.wait, output);
|
|
74
|
+
if (waitMs == null) {
|
|
75
|
+
return;
|
|
82
76
|
}
|
|
83
77
|
const body = {
|
|
84
78
|
selector: options.selector,
|
|
@@ -89,38 +83,23 @@ export const runDomFill = async (id, value, options) => {
|
|
|
89
83
|
if (waitMs > 0) {
|
|
90
84
|
body.wait = waitMs;
|
|
91
85
|
}
|
|
92
|
-
const result = await
|
|
86
|
+
const result = await requestWatcherAction({
|
|
93
87
|
id,
|
|
94
88
|
path: '/dom/fill',
|
|
95
89
|
method: 'POST',
|
|
96
90
|
body,
|
|
97
91
|
timeoutMs: Math.max(30_000, waitMs + 5_000),
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
if (!result.ok) {
|
|
101
|
-
writeRequestError(result, output);
|
|
102
|
-
return;
|
|
103
|
-
}
|
|
104
|
-
const response = result.data;
|
|
105
|
-
if (!response.ok) {
|
|
106
|
-
const errorResp = response;
|
|
107
|
-
if (options.json) {
|
|
108
|
-
output.writeJson(response);
|
|
109
|
-
}
|
|
110
|
-
else {
|
|
111
|
-
output.writeWarn(`Error: ${errorResp.error.message}`);
|
|
112
|
-
}
|
|
113
|
-
process.exitCode = 1;
|
|
92
|
+
}, output);
|
|
93
|
+
if (!result) {
|
|
114
94
|
return;
|
|
115
95
|
}
|
|
116
|
-
const successResp =
|
|
96
|
+
const successResp = result.data;
|
|
117
97
|
if (options.json) {
|
|
118
98
|
output.writeJson(successResp);
|
|
119
99
|
return;
|
|
120
100
|
}
|
|
121
101
|
if (successResp.matches === 0) {
|
|
122
|
-
|
|
123
|
-
process.exitCode = 1;
|
|
102
|
+
writeNoElementFound(options.selector, output);
|
|
124
103
|
return;
|
|
125
104
|
}
|
|
126
105
|
const elLabel = successResp.filled === 1 ? '1 element' : `${successResp.filled} elements`;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"domFill.js","sourceRoot":"","sources":["../../src/commands/domFill.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAA;AAE3C,OAAO,EAAE,YAAY,EAAe,MAAM,iBAAiB,CAAA;AAC3D,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAA;AAC7C,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAC3C,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"domFill.js","sourceRoot":"","sources":["../../src/commands/domFill.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"domFocus.d.ts","sourceRoot":"","sources":["../../src/commands/domFocus.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"domFocus.d.ts","sourceRoot":"","sources":["../../src/commands/domFocus.ts"],"names":[],"mappings":"AAKA,yCAAyC;AACzC,MAAM,MAAM,eAAe,GAAG;IAC7B,QAAQ,EAAE,MAAM,CAAA;IAChB,GAAG,CAAC,EAAE,OAAO,CAAA;IACb,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,IAAI,CAAC,EAAE,OAAO,CAAA;CACd,CAAA;AAED,sDAAsD;AACtD,eAAO,MAAM,WAAW,GAAU,IAAI,MAAM,GAAG,SAAS,EAAE,SAAS,eAAe,KAAG,OAAO,CAAC,IAAI,CAsChG,CAAA"}
|
|
@@ -1,52 +1,37 @@
|
|
|
1
1
|
import { createOutput } from '../output/io.js';
|
|
2
|
-
import {
|
|
2
|
+
import { requestWatcherAction } from '../watchers/requestWatcher.js';
|
|
3
|
+
import { requireSelector, writeNoElementFound } from './dom/shared.js';
|
|
3
4
|
/** Execute the dom focus command for a watcher id. */
|
|
4
5
|
export const runDomFocus = async (id, options) => {
|
|
5
6
|
const output = createOutput(options);
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
process.exitCode = 2;
|
|
7
|
+
const selector = requireSelector(options, output);
|
|
8
|
+
if (!selector) {
|
|
9
9
|
return;
|
|
10
10
|
}
|
|
11
|
-
const result = await
|
|
11
|
+
const result = await requestWatcherAction({
|
|
12
12
|
id,
|
|
13
13
|
path: '/dom/focus',
|
|
14
14
|
method: 'POST',
|
|
15
15
|
body: {
|
|
16
|
-
selector
|
|
16
|
+
selector,
|
|
17
17
|
all: options.all ?? false,
|
|
18
18
|
text: options.text,
|
|
19
19
|
},
|
|
20
20
|
timeoutMs: 30_000,
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
if (!result.ok) {
|
|
24
|
-
writeRequestError(result, output);
|
|
21
|
+
}, output);
|
|
22
|
+
if (!result) {
|
|
25
23
|
return;
|
|
26
24
|
}
|
|
27
|
-
const
|
|
28
|
-
if (!response.ok) {
|
|
29
|
-
const errorResp = response;
|
|
30
|
-
if (options.json) {
|
|
31
|
-
output.writeJson(response);
|
|
32
|
-
}
|
|
33
|
-
else {
|
|
34
|
-
output.writeWarn(`Error: ${errorResp.error.message}`);
|
|
35
|
-
}
|
|
36
|
-
process.exitCode = 1;
|
|
37
|
-
return;
|
|
38
|
-
}
|
|
39
|
-
const successResp = response;
|
|
25
|
+
const successResp = result.data;
|
|
40
26
|
if (options.json) {
|
|
41
27
|
output.writeJson(successResp);
|
|
42
28
|
return;
|
|
43
29
|
}
|
|
44
30
|
if (successResp.matches === 0) {
|
|
45
|
-
|
|
46
|
-
process.exitCode = 1;
|
|
31
|
+
writeNoElementFound(selector, output);
|
|
47
32
|
return;
|
|
48
33
|
}
|
|
49
34
|
const label = successResp.focused === 1 ? 'element' : 'elements';
|
|
50
|
-
output.writeHuman(`Focused ${successResp.focused} ${label} for selector: ${
|
|
35
|
+
output.writeHuman(`Focused ${successResp.focused} ${label} for selector: ${selector}`);
|
|
51
36
|
};
|
|
52
37
|
//# sourceMappingURL=domFocus.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"domFocus.js","sourceRoot":"","sources":["../../src/commands/domFocus.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAA;AAC9C,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"domFocus.js","sourceRoot":"","sources":["../../src/commands/domFocus.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAA;AAC9C,OAAO,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAA;AACpE,OAAO,EAAE,eAAe,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAA;AAUtE,sDAAsD;AACtD,MAAM,CAAC,MAAM,WAAW,GAAG,KAAK,EAAE,EAAsB,EAAE,OAAwB,EAAiB,EAAE;IACpG,MAAM,MAAM,GAAG,YAAY,CAAC,OAAO,CAAC,CAAA;IACpC,MAAM,QAAQ,GAAG,eAAe,CAAC,OAAO,EAAE,MAAM,CAAC,CAAA;IACjD,IAAI,CAAC,QAAQ,EAAE,CAAC;QACf,OAAM;IACP,CAAC;IAED,MAAM,MAAM,GAAG,MAAM,oBAAoB,CACxC;QACC,EAAE;QACF,IAAI,EAAE,YAAY;QAClB,MAAM,EAAE,MAAM;QACd,IAAI,EAAE;YACL,QAAQ;YACR,GAAG,EAAE,OAAO,CAAC,GAAG,IAAI,KAAK;YACzB,IAAI,EAAE,OAAO,CAAC,IAAI;SAClB;QACD,SAAS,EAAE,MAAM;KACjB,EACD,MAAM,CACN,CAAA;IACD,IAAI,CAAC,MAAM,EAAE,CAAC;QACb,OAAM;IACP,CAAC;IACD,MAAM,WAAW,GAAG,MAAM,CAAC,IAAI,CAAA;IAE/B,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;QAClB,MAAM,CAAC,SAAS,CAAC,WAAW,CAAC,CAAA;QAC7B,OAAM;IACP,CAAC;IAED,IAAI,WAAW,CAAC,OAAO,KAAK,CAAC,EAAE,CAAC;QAC/B,mBAAmB,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAA;QACrC,OAAM;IACP,CAAC;IAED,MAAM,KAAK,GAAG,WAAW,CAAC,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU,CAAA;IAChE,MAAM,CAAC,UAAU,CAAC,WAAW,WAAW,CAAC,OAAO,IAAI,KAAK,kBAAkB,QAAQ,EAAE,CAAC,CAAA;AACvF,CAAC,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"domHover.d.ts","sourceRoot":"","sources":["../../src/commands/domHover.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"domHover.d.ts","sourceRoot":"","sources":["../../src/commands/domHover.ts"],"names":[],"mappings":"AAKA,yCAAyC;AACzC,MAAM,MAAM,eAAe,GAAG;IAC7B,QAAQ,EAAE,MAAM,CAAA;IAChB,GAAG,CAAC,EAAE,OAAO,CAAA;IACb,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,IAAI,CAAC,EAAE,OAAO,CAAA;CACd,CAAA;AAED,sDAAsD;AACtD,eAAO,MAAM,WAAW,GAAU,IAAI,MAAM,GAAG,SAAS,EAAE,SAAS,eAAe,KAAG,OAAO,CAAC,IAAI,CAsChG,CAAA"}
|
|
@@ -1,52 +1,37 @@
|
|
|
1
1
|
import { createOutput } from '../output/io.js';
|
|
2
|
-
import {
|
|
2
|
+
import { requestWatcherAction } from '../watchers/requestWatcher.js';
|
|
3
|
+
import { requireSelector, writeNoElementFound } from './dom/shared.js';
|
|
3
4
|
/** Execute the dom hover command for a watcher id. */
|
|
4
5
|
export const runDomHover = async (id, options) => {
|
|
5
6
|
const output = createOutput(options);
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
process.exitCode = 2;
|
|
7
|
+
const selector = requireSelector(options, output);
|
|
8
|
+
if (!selector) {
|
|
9
9
|
return;
|
|
10
10
|
}
|
|
11
|
-
const result = await
|
|
11
|
+
const result = await requestWatcherAction({
|
|
12
12
|
id,
|
|
13
13
|
path: '/dom/hover',
|
|
14
14
|
method: 'POST',
|
|
15
15
|
body: {
|
|
16
|
-
selector
|
|
16
|
+
selector,
|
|
17
17
|
all: options.all ?? false,
|
|
18
18
|
text: options.text,
|
|
19
19
|
},
|
|
20
20
|
timeoutMs: 30_000,
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
if (!result.ok) {
|
|
24
|
-
writeRequestError(result, output);
|
|
21
|
+
}, output);
|
|
22
|
+
if (!result) {
|
|
25
23
|
return;
|
|
26
24
|
}
|
|
27
|
-
const
|
|
28
|
-
if (!response.ok) {
|
|
29
|
-
const errorResp = response;
|
|
30
|
-
if (options.json) {
|
|
31
|
-
output.writeJson(response);
|
|
32
|
-
}
|
|
33
|
-
else {
|
|
34
|
-
output.writeWarn(`Error: ${errorResp.error.message}`);
|
|
35
|
-
}
|
|
36
|
-
process.exitCode = 1;
|
|
37
|
-
return;
|
|
38
|
-
}
|
|
39
|
-
const successResp = response;
|
|
25
|
+
const successResp = result.data;
|
|
40
26
|
if (options.json) {
|
|
41
27
|
output.writeJson(successResp);
|
|
42
28
|
return;
|
|
43
29
|
}
|
|
44
30
|
if (successResp.matches === 0) {
|
|
45
|
-
|
|
46
|
-
process.exitCode = 1;
|
|
31
|
+
writeNoElementFound(selector, output);
|
|
47
32
|
return;
|
|
48
33
|
}
|
|
49
34
|
const label = successResp.hovered === 1 ? 'element' : 'elements';
|
|
50
|
-
output.writeHuman(`Hovered ${successResp.hovered} ${label} for selector: ${
|
|
35
|
+
output.writeHuman(`Hovered ${successResp.hovered} ${label} for selector: ${selector}`);
|
|
51
36
|
};
|
|
52
37
|
//# sourceMappingURL=domHover.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"domHover.js","sourceRoot":"","sources":["../../src/commands/domHover.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAA;AAC9C,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"domHover.js","sourceRoot":"","sources":["../../src/commands/domHover.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAA;AAC9C,OAAO,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAA;AACpE,OAAO,EAAE,eAAe,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAA;AAUtE,sDAAsD;AACtD,MAAM,CAAC,MAAM,WAAW,GAAG,KAAK,EAAE,EAAsB,EAAE,OAAwB,EAAiB,EAAE;IACpG,MAAM,MAAM,GAAG,YAAY,CAAC,OAAO,CAAC,CAAA;IACpC,MAAM,QAAQ,GAAG,eAAe,CAAC,OAAO,EAAE,MAAM,CAAC,CAAA;IACjD,IAAI,CAAC,QAAQ,EAAE,CAAC;QACf,OAAM;IACP,CAAC;IAED,MAAM,MAAM,GAAG,MAAM,oBAAoB,CACxC;QACC,EAAE;QACF,IAAI,EAAE,YAAY;QAClB,MAAM,EAAE,MAAM;QACd,IAAI,EAAE;YACL,QAAQ;YACR,GAAG,EAAE,OAAO,CAAC,GAAG,IAAI,KAAK;YACzB,IAAI,EAAE,OAAO,CAAC,IAAI;SAClB;QACD,SAAS,EAAE,MAAM;KACjB,EACD,MAAM,CACN,CAAA;IACD,IAAI,CAAC,MAAM,EAAE,CAAC;QACb,OAAM;IACP,CAAC;IACD,MAAM,WAAW,GAAG,MAAM,CAAC,IAAI,CAAA;IAE/B,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;QAClB,MAAM,CAAC,SAAS,CAAC,WAAW,CAAC,CAAA;QAC7B,OAAM;IACP,CAAC;IAED,IAAI,WAAW,CAAC,OAAO,KAAK,CAAC,EAAE,CAAC;QAC/B,mBAAmB,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAA;QACrC,OAAM;IACP,CAAC;IAED,MAAM,KAAK,GAAG,WAAW,CAAC,OAAO,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU,CAAA;IAChE,MAAM,CAAC,UAAU,CAAC,WAAW,WAAW,CAAC,OAAO,IAAI,KAAK,kBAAkB,QAAQ,EAAE,CAAC,CAAA;AACvF,CAAC,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"domInfo.d.ts","sourceRoot":"","sources":["../../src/commands/domInfo.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"domInfo.d.ts","sourceRoot":"","sources":["../../src/commands/domInfo.ts"],"names":[],"mappings":"AAOA,wCAAwC;AACxC,MAAM,MAAM,cAAc,GAAG;IAC5B,QAAQ,EAAE,MAAM,CAAA;IAChB,GAAG,CAAC,EAAE,OAAO,CAAA;IACb,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,IAAI,CAAC,EAAE,OAAO,CAAA;CACd,CAAA;AAED,qDAAqD;AACrD,eAAO,MAAM,UAAU,GAAU,IAAI,MAAM,GAAG,SAAS,EAAE,SAAS,cAAc,KAAG,OAAO,CAAC,IAAI,CA8C9F,CAAA"}
|
package/dist/commands/domInfo.js
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import { formatDomInfo } from '../output/dom.js';
|
|
2
2
|
import { createOutput } from '../output/io.js';
|
|
3
3
|
import { parsePositiveInt } from '../cli/parse.js';
|
|
4
|
-
import {
|
|
4
|
+
import { requestWatcherAction } from '../watchers/requestWatcher.js';
|
|
5
|
+
import { requireSelector, writeNoElementFound } from './dom/shared.js';
|
|
5
6
|
/** Execute the dom info command for a watcher id. */
|
|
6
7
|
export const runDomInfo = async (id, options) => {
|
|
7
8
|
const output = createOutput(options);
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
process.exitCode = 2;
|
|
9
|
+
const selector = requireSelector(options, output);
|
|
10
|
+
if (!selector) {
|
|
11
11
|
return;
|
|
12
12
|
}
|
|
13
13
|
const outerHtmlMaxChars = parsePositiveInt(options.outerHtmlMax);
|
|
@@ -16,43 +16,28 @@ export const runDomInfo = async (id, options) => {
|
|
|
16
16
|
process.exitCode = 2;
|
|
17
17
|
return;
|
|
18
18
|
}
|
|
19
|
-
const result = await
|
|
19
|
+
const result = await requestWatcherAction({
|
|
20
20
|
id,
|
|
21
21
|
path: '/dom/info',
|
|
22
22
|
method: 'POST',
|
|
23
23
|
body: {
|
|
24
|
-
selector
|
|
24
|
+
selector,
|
|
25
25
|
all: options.all ?? false,
|
|
26
26
|
outerHtmlMaxChars,
|
|
27
27
|
text: options.text,
|
|
28
28
|
},
|
|
29
29
|
timeoutMs: 30_000,
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
if (!result.ok) {
|
|
33
|
-
writeRequestError(result, output);
|
|
34
|
-
return;
|
|
35
|
-
}
|
|
36
|
-
const response = result.data;
|
|
37
|
-
if (!response.ok) {
|
|
38
|
-
const errorResp = response;
|
|
39
|
-
if (options.json) {
|
|
40
|
-
output.writeJson(response);
|
|
41
|
-
}
|
|
42
|
-
else {
|
|
43
|
-
output.writeWarn(`Error: ${errorResp.error.message}`);
|
|
44
|
-
}
|
|
45
|
-
process.exitCode = 1;
|
|
30
|
+
}, output);
|
|
31
|
+
if (!result) {
|
|
46
32
|
return;
|
|
47
33
|
}
|
|
48
|
-
const successResp =
|
|
34
|
+
const successResp = result.data;
|
|
49
35
|
if (options.json) {
|
|
50
36
|
output.writeJson(successResp);
|
|
51
37
|
return;
|
|
52
38
|
}
|
|
53
39
|
if (successResp.matches === 0) {
|
|
54
|
-
|
|
55
|
-
process.exitCode = 1;
|
|
40
|
+
writeNoElementFound(selector, output);
|
|
56
41
|
return;
|
|
57
42
|
}
|
|
58
43
|
const formatted = formatDomInfo(successResp.elements);
|