obsidian-integration-testing 9.2.1 → 10.0.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/README.md +45 -45
- package/dist/lib/cjs/appium-dependencies.cjs +5 -5
- package/dist/lib/cjs/appium-dependencies.d.cts +4 -2
- package/dist/lib/cjs/appium-session-config.cjs +1 -1
- package/dist/lib/cjs/asar-fallback-detection.cjs +4 -4
- package/dist/lib/cjs/asar-fallback-detection.d.cts +15 -7
- package/dist/lib/cjs/avd-list.cjs +1 -1
- package/dist/lib/cjs/avd-list.d.cts +6 -2
- package/dist/lib/cjs/cli.cjs +4 -4
- package/dist/lib/cjs/compatibility-options.cjs +13 -13
- package/dist/lib/cjs/compatibility-options.d.cts +24 -12
- package/dist/lib/cjs/connect-to-cdp.cjs +4 -4
- package/dist/lib/cjs/connect-to-cdp.d.cts +6 -6
- package/dist/lib/cjs/context-id.cjs +5 -5
- package/dist/lib/cjs/context-id.d.cts +1 -1
- package/dist/lib/cjs/context-provider.cjs +5 -5
- package/dist/lib/cjs/context-provider.d.cts +4 -4
- package/dist/lib/cjs/demo-vault-populate.cjs +5 -5
- package/dist/lib/cjs/demo-vault-populate.d.cts +4 -4
- package/dist/lib/cjs/demo-vault-tree.cjs +4 -4
- package/dist/lib/cjs/demo-vault-tree.d.cts +3 -3
- package/dist/lib/cjs/device-readiness.cjs +3 -3
- package/dist/lib/cjs/device-readiness.d.cts +7 -3
- package/dist/lib/cjs/ecmascript-version.cjs +1 -1
- package/dist/lib/cjs/electron-compatibility.cjs +4 -4
- package/dist/lib/cjs/electron-compatibility.d.cts +33 -17
- package/dist/lib/cjs/emulator-arguments.cjs +36 -0
- package/dist/lib/{esm/emulator-args.d.mts → cjs/emulator-arguments.d.cts} +6 -4
- package/dist/lib/cjs/enable-plugin.cjs +29 -29
- package/dist/lib/cjs/enable-plugin.d.cts +6 -6
- package/dist/lib/cjs/eval-in-obsidian.cjs +9 -9
- package/dist/lib/cjs/eval-in-obsidian.d.cts +23 -23
- package/dist/lib/cjs/exec.cjs +49 -53
- package/dist/lib/cjs/exec.d.cts +9 -9
- package/dist/lib/cjs/function-expression.cjs +8 -8
- package/dist/lib/cjs/function-expression.d.cts +4 -4
- package/dist/lib/cjs/generate-function-call.cjs +6 -6
- package/dist/lib/cjs/generate-function-call.d.cts +15 -9
- package/dist/lib/cjs/global-setup-core.cjs +43 -43
- package/dist/lib/cjs/global-setup-core.d.cts +19 -9
- package/dist/lib/cjs/incompatible-installer-version-error.cjs +10 -4
- package/dist/lib/cjs/incompatible-installer-version-error.d.cts +18 -6
- package/dist/lib/cjs/index.cjs +10 -10
- package/dist/lib/cjs/index.d.cts +8 -8
- package/dist/lib/cjs/installer-asset.cjs +4 -4
- package/dist/lib/cjs/installer-asset.d.cts +21 -7
- package/dist/lib/cjs/installer-compatibility.cjs +4 -4
- package/dist/lib/cjs/installer-compatibility.d.cts +36 -18
- package/dist/lib/cjs/jest/global-setup-no-plugin.cjs +3 -3
- package/dist/lib/cjs/jest/global-setup-no-plugin.d.cts +1 -1
- package/dist/lib/cjs/jest/global-setup.cjs +11 -11
- package/dist/lib/cjs/jest/global-setup.d.cts +12 -8
- package/dist/lib/cjs/jest/global-teardown-no-plugin.cjs +2 -3
- package/dist/lib/cjs/jest/global-teardown-no-plugin.d.cts +1 -2
- package/dist/lib/cjs/jest/global-teardown.cjs +2 -3
- package/dist/lib/cjs/jest/global-teardown.d.cts +1 -2
- package/dist/lib/cjs/jest/setup.cjs +2 -2
- package/dist/lib/cjs/jest/setup.d.cts +1 -1
- package/dist/lib/cjs/json-with-functions.cjs +7 -7
- package/dist/lib/cjs/leftover-cleanup.cjs +14 -14
- package/dist/lib/cjs/leftover-cleanup.d.cts +42 -20
- package/dist/lib/cjs/library.cjs +2 -2
- package/dist/lib/cjs/namespace-bootstrap.cjs +46 -40
- package/dist/lib/cjs/native-dialog-monitor.cjs +15 -13
- package/dist/lib/cjs/normalize-optional-properties.cjs +3 -3
- package/dist/lib/cjs/normalize-optional-properties.d.cts +2 -2
- package/dist/lib/cjs/obsidian-config.cjs +30 -31
- package/dist/lib/cjs/obsidian-config.d.cts +8 -8
- package/dist/lib/cjs/obsidian-executable.cjs +2 -2
- package/dist/lib/cjs/obsidian-installer.cjs +37 -37
- package/dist/lib/cjs/obsidian-installer.d.cts +7 -3
- package/dist/lib/cjs/obsidian-instance.cjs +7 -4
- package/dist/lib/cjs/obsidian-instance.d.cts +25 -8
- package/dist/lib/cjs/obsidian-metadata.cjs +1 -1
- package/dist/lib/cjs/obsidian-metadata.d.cts +36 -12
- package/dist/lib/cjs/obsidian-namespace.cjs +1 -1
- package/dist/lib/cjs/obsidian-namespace.d.cts +25 -11
- package/dist/lib/cjs/obsidian-version-switch.cjs +9 -9
- package/dist/lib/cjs/obsidian-version-switch.d.cts +14 -10
- package/dist/lib/cjs/obsidian-version.cjs +3 -3
- package/dist/lib/cjs/obsidian-version.d.cts +15 -5
- package/dist/lib/cjs/owned-vault-seed.cjs +1 -1
- package/dist/lib/cjs/owned-vault-seed.d.cts +24 -8
- package/dist/lib/cjs/parent-liveness.cjs +93 -0
- package/dist/lib/cjs/parent-liveness.d.cts +80 -0
- package/dist/lib/cjs/poll-in-obsidian.cjs +5 -5
- package/dist/lib/cjs/poll-in-obsidian.d.cts +12 -12
- package/dist/lib/cjs/poll-until.cjs +1 -1
- package/dist/lib/cjs/poll-until.d.cts +21 -7
- package/dist/lib/cjs/process-exit-message.cjs +1 -1
- package/dist/lib/cjs/process-exit-message.d.cts +21 -7
- package/dist/lib/cjs/renderer-boot-detection.cjs +9 -9
- package/dist/lib/cjs/renderer-boot-detection.d.cts +31 -27
- package/dist/lib/cjs/renderer-failed-to-initialize-error.cjs +1 -1
- package/dist/lib/cjs/renderer-failed-to-initialize-error.d.cts +1 -1
- package/dist/lib/cjs/setup-lock.cjs +26 -26
- package/dist/lib/cjs/setup-lock.d.cts +6 -2
- package/dist/lib/cjs/silent-asar-fallback-error.cjs +7 -3
- package/dist/lib/cjs/silent-asar-fallback-error.d.cts +12 -4
- package/dist/lib/cjs/spawn-options.cjs +1 -1
- package/dist/lib/cjs/spawn-options.d.cts +3 -1
- package/dist/lib/cjs/strict-proxy.cjs +25 -25
- package/dist/lib/cjs/strict-proxy.d.cts +3 -3
- package/dist/lib/cjs/temporary-vault.cjs +166 -0
- package/dist/lib/cjs/{temp-vault.d.cts → temporary-vault.d.cts} +3 -3
- package/dist/lib/cjs/transport-appium.cjs +7 -7
- package/dist/lib/cjs/transport-appium.d.cts +7 -3
- package/dist/lib/cjs/transport-desktop-cdp.cjs +77 -56
- package/dist/lib/cjs/transport-desktop-cdp.d.cts +41 -17
- package/dist/lib/cjs/transport-factory.cjs +62 -63
- package/dist/lib/cjs/type-guards.cjs +3 -3
- package/dist/lib/cjs/type-guards.d.cts +2 -2
- package/dist/lib/cjs/vault-path-match.cjs +9 -9
- package/dist/lib/cjs/vault-path-match.d.cts +11 -11
- package/dist/lib/cjs/version-matrix.cjs +1 -1
- package/dist/lib/cjs/version-matrix.d.cts +51 -17
- package/dist/lib/cjs/visibility.cjs +7 -7
- package/dist/lib/cjs/visibility.d.cts +5 -5
- package/dist/lib/cjs/vitest/global-setup-no-plugin.cjs +3 -3
- package/dist/lib/cjs/vitest/global-setup-no-plugin.d.cts +2 -2
- package/dist/lib/cjs/vitest/global-setup.cjs +9 -9
- package/dist/lib/cjs/vitest/global-setup.d.cts +4 -4
- package/dist/lib/cjs/vitest/setup.cjs +2 -2
- package/dist/lib/cjs/vitest/typings.d.cts +2 -2
- package/dist/lib/esm/appium-dependencies.d.mts +4 -2
- package/dist/lib/esm/appium-dependencies.mjs +4 -4
- package/dist/lib/esm/appium-session-config.mjs +1 -1
- package/dist/lib/esm/asar-fallback-detection.d.mts +15 -7
- package/dist/lib/esm/asar-fallback-detection.mjs +3 -3
- package/dist/lib/esm/avd-list.d.mts +6 -2
- package/dist/lib/esm/avd-list.mjs +1 -1
- package/dist/lib/esm/cli.mjs +4 -4
- package/dist/lib/esm/compatibility-options.d.mts +24 -12
- package/dist/lib/esm/compatibility-options.mjs +10 -10
- package/dist/lib/esm/connect-to-cdp.d.mts +6 -6
- package/dist/lib/esm/connect-to-cdp.mjs +6 -6
- package/dist/lib/esm/context-id.d.mts +1 -1
- package/dist/lib/esm/context-id.mjs +5 -5
- package/dist/lib/esm/context-provider.d.mts +4 -4
- package/dist/lib/esm/context-provider.mjs +5 -5
- package/dist/lib/esm/demo-vault-populate.d.mts +4 -4
- package/dist/lib/esm/demo-vault-populate.mjs +5 -5
- package/dist/lib/esm/demo-vault-tree.d.mts +3 -3
- package/dist/lib/esm/demo-vault-tree.mjs +4 -4
- package/dist/lib/esm/device-readiness.d.mts +7 -3
- package/dist/lib/esm/device-readiness.mjs +3 -3
- package/dist/lib/esm/ecmascript-version.mjs +1 -1
- package/dist/lib/esm/electron-compatibility.d.mts +33 -17
- package/dist/lib/esm/electron-compatibility.mjs +3 -3
- package/dist/lib/{cjs/emulator-args.d.cts → esm/emulator-arguments.d.mts} +6 -4
- package/dist/lib/esm/emulator-arguments.mjs +12 -0
- package/dist/lib/esm/enable-plugin.d.mts +6 -6
- package/dist/lib/esm/enable-plugin.mjs +29 -29
- package/dist/lib/esm/eval-in-obsidian.d.mts +23 -23
- package/dist/lib/esm/eval-in-obsidian.mjs +9 -9
- package/dist/lib/esm/exec.d.mts +9 -9
- package/dist/lib/esm/exec.mjs +49 -53
- package/dist/lib/esm/function-expression.d.mts +4 -4
- package/dist/lib/esm/function-expression.mjs +8 -8
- package/dist/lib/esm/generate-function-call.d.mts +15 -9
- package/dist/lib/esm/generate-function-call.mjs +6 -6
- package/dist/lib/esm/global-setup-core.d.mts +19 -9
- package/dist/lib/esm/global-setup-core.mjs +45 -45
- package/dist/lib/esm/incompatible-installer-version-error.d.mts +18 -6
- package/dist/lib/esm/incompatible-installer-version-error.mjs +10 -4
- package/dist/lib/esm/index.d.mts +8 -8
- package/dist/lib/esm/index.mjs +9 -9
- package/dist/lib/esm/installer-asset.d.mts +21 -7
- package/dist/lib/esm/installer-asset.mjs +4 -4
- package/dist/lib/esm/installer-compatibility.d.mts +36 -18
- package/dist/lib/esm/installer-compatibility.mjs +3 -3
- package/dist/lib/esm/jest/global-setup-no-plugin.d.mts +1 -1
- package/dist/lib/esm/jest/global-setup-no-plugin.mjs +3 -3
- package/dist/lib/esm/jest/global-setup.d.mts +12 -8
- package/dist/lib/esm/jest/global-setup.mjs +10 -10
- package/dist/lib/esm/jest/global-teardown-no-plugin.d.mts +1 -2
- package/dist/lib/esm/jest/global-teardown-no-plugin.mjs +2 -3
- package/dist/lib/esm/jest/global-teardown.d.mts +1 -2
- package/dist/lib/esm/jest/global-teardown.mjs +2 -3
- package/dist/lib/esm/jest/setup.d.mts +1 -1
- package/dist/lib/esm/jest/setup.mjs +2 -2
- package/dist/lib/esm/json-with-functions.mjs +7 -7
- package/dist/lib/esm/leftover-cleanup.d.mts +42 -20
- package/dist/lib/esm/leftover-cleanup.mjs +12 -12
- package/dist/lib/esm/library.mjs +2 -2
- package/dist/lib/esm/namespace-bootstrap.mjs +46 -40
- package/dist/lib/esm/native-dialog-monitor.mjs +15 -13
- package/dist/lib/esm/normalize-optional-properties.d.mts +2 -2
- package/dist/lib/esm/normalize-optional-properties.mjs +3 -3
- package/dist/lib/esm/obsidian-config.d.mts +8 -8
- package/dist/lib/esm/obsidian-config.mjs +27 -28
- package/dist/lib/esm/obsidian-executable.mjs +2 -2
- package/dist/lib/esm/obsidian-installer.d.mts +7 -3
- package/dist/lib/esm/obsidian-installer.mjs +36 -36
- package/dist/lib/esm/obsidian-instance.d.mts +25 -8
- package/dist/lib/esm/obsidian-instance.mjs +7 -4
- package/dist/lib/esm/obsidian-metadata.d.mts +36 -12
- package/dist/lib/esm/obsidian-metadata.mjs +1 -1
- package/dist/lib/esm/obsidian-namespace.d.mts +25 -11
- package/dist/lib/esm/obsidian-version-switch.d.mts +14 -10
- package/dist/lib/esm/obsidian-version-switch.mjs +9 -9
- package/dist/lib/esm/obsidian-version.d.mts +15 -5
- package/dist/lib/esm/obsidian-version.mjs +3 -3
- package/dist/lib/esm/owned-vault-seed.d.mts +24 -8
- package/dist/lib/esm/owned-vault-seed.mjs +1 -1
- package/dist/lib/esm/parent-liveness.d.mts +80 -0
- package/dist/lib/esm/parent-liveness.mjs +67 -0
- package/dist/lib/esm/poll-in-obsidian.d.mts +12 -12
- package/dist/lib/esm/poll-in-obsidian.mjs +5 -5
- package/dist/lib/esm/poll-until.d.mts +21 -7
- package/dist/lib/esm/poll-until.mjs +1 -1
- package/dist/lib/esm/process-exit-message.d.mts +21 -7
- package/dist/lib/esm/process-exit-message.mjs +1 -1
- package/dist/lib/esm/renderer-boot-detection.d.mts +31 -27
- package/dist/lib/esm/renderer-boot-detection.mjs +7 -7
- package/dist/lib/esm/renderer-failed-to-initialize-error.d.mts +1 -1
- package/dist/lib/esm/renderer-failed-to-initialize-error.mjs +1 -1
- package/dist/lib/esm/setup-lock.d.mts +6 -2
- package/dist/lib/esm/setup-lock.mjs +26 -26
- package/dist/lib/esm/silent-asar-fallback-error.d.mts +12 -4
- package/dist/lib/esm/silent-asar-fallback-error.mjs +7 -3
- package/dist/lib/esm/spawn-options.d.mts +3 -1
- package/dist/lib/esm/spawn-options.mjs +1 -1
- package/dist/lib/esm/strict-proxy.d.mts +3 -3
- package/dist/lib/esm/strict-proxy.mjs +25 -25
- package/dist/lib/esm/{temp-vault.d.mts → temporary-vault.d.mts} +3 -3
- package/dist/lib/esm/temporary-vault.mjs +157 -0
- package/dist/lib/esm/transport-appium.d.mts +7 -3
- package/dist/lib/esm/transport-appium.mjs +7 -7
- package/dist/lib/esm/transport-desktop-cdp.d.mts +41 -17
- package/dist/lib/esm/transport-desktop-cdp.mjs +86 -65
- package/dist/lib/esm/transport-factory.mjs +71 -72
- package/dist/lib/esm/type-guards.d.mts +2 -2
- package/dist/lib/esm/type-guards.mjs +3 -3
- package/dist/lib/esm/vault-path-match.d.mts +11 -11
- package/dist/lib/esm/vault-path-match.mjs +7 -7
- package/dist/lib/esm/version-matrix.d.mts +51 -17
- package/dist/lib/esm/version-matrix.mjs +1 -1
- package/dist/lib/esm/visibility.d.mts +5 -5
- package/dist/lib/esm/visibility.mjs +5 -5
- package/dist/lib/esm/vitest/global-setup-no-plugin.d.mts +2 -2
- package/dist/lib/esm/vitest/global-setup-no-plugin.mjs +3 -3
- package/dist/lib/esm/vitest/global-setup.d.mts +4 -4
- package/dist/lib/esm/vitest/global-setup.mjs +8 -8
- package/dist/lib/esm/vitest/setup.mjs +2 -2
- package/dist/lib/esm/vitest/typings.d.mts +2 -2
- package/dist/obsidian-integration-testing-10.0.0.tgz +0 -0
- package/package.json +15 -13
- package/dist/lib/cjs/emulator-args.cjs +0 -36
- package/dist/lib/cjs/temp-vault.cjs +0 -166
- package/dist/lib/esm/emulator-args.mjs +0 -12
- package/dist/lib/esm/temp-vault.mjs +0 -157
- package/dist/obsidian-integration-testing-9.2.1.tgz +0 -0
|
@@ -6,8 +6,8 @@ const DEFAULT_POLL_INTERVAL_IN_MILLISECONDS = 500;
|
|
|
6
6
|
const DEFAULT_POLL_TIMEOUT_IN_MILLISECONDS = 12e4;
|
|
7
7
|
async function pollInObsidian(params) {
|
|
8
8
|
const {
|
|
9
|
-
args,
|
|
10
9
|
contextId,
|
|
10
|
+
input,
|
|
11
11
|
intervalInMilliseconds = DEFAULT_POLL_INTERVAL_IN_MILLISECONDS,
|
|
12
12
|
poll,
|
|
13
13
|
start,
|
|
@@ -17,10 +17,10 @@ async function pollInObsidian(params) {
|
|
|
17
17
|
until,
|
|
18
18
|
vaultPath
|
|
19
19
|
} = params;
|
|
20
|
-
async function runEval(
|
|
20
|
+
async function runEval(callback) {
|
|
21
21
|
const evalParams = {
|
|
22
|
-
|
|
23
|
-
...
|
|
22
|
+
callback,
|
|
23
|
+
...input !== void 0 && { input },
|
|
24
24
|
...contextId !== void 0 && { contextId },
|
|
25
25
|
...transport !== void 0 && { transport },
|
|
26
26
|
...vaultPath !== void 0 && { vaultPath }
|
|
@@ -45,4 +45,4 @@ async function pollInObsidian(params) {
|
|
|
45
45
|
export {
|
|
46
46
|
pollInObsidian
|
|
47
47
|
};
|
|
48
|
-
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL3BvbGwtaW4tb2JzaWRpYW4udHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbIi8qKlxuICogQGZpbGVcbiAqXG4gKiBOb2RlLXNpZGUgXCJraWNrIG9mZiwgdGhlbiBwb2xsXCIgaGVscGVyIG92ZXIge0BsaW5rIGV2YWxJbk9ic2lkaWFufS5cbiAqXG4gKiBBIHNpbmdsZSBgZXZhbEluT2JzaWRpYW5gIGNsb3N1cmUgY2Fubm90IHJ1biBsb25nZXIgdGhhbiBDRFAncyB+
|
|
48
|
+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL3BvbGwtaW4tb2JzaWRpYW4udHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbIi8qKlxuICogQGZpbGVcbiAqXG4gKiBOb2RlLXNpZGUgXCJraWNrIG9mZiwgdGhlbiBwb2xsXCIgaGVscGVyIG92ZXIge0BsaW5rIGV2YWxJbk9ic2lkaWFufS5cbiAqXG4gKiBBIHNpbmdsZSBgZXZhbEluT2JzaWRpYW5gIGNsb3N1cmUgY2Fubm90IHJ1biBsb25nZXIgdGhhbiBDRFAncyB+MzBzXG4gKiBgUnVudGltZS5ldmFsdWF0ZWAgY2FwLCBzbyBhIGxvbmctcnVubmluZyBpbi1PYnNpZGlhbiBvcGVyYXRpb24gKGUuZy4gYSB3aG9sZVxuICogcGx1Z2luL3ZhdWx0IGJvb3RzdHJhcCkgY2Fubm90IGJlIGF3YWl0ZWQgaW5zaWRlIG9uZSBjbG9zdXJlLiBUaGlzIGhlbHBlciBkb2VzXG4gKiBpdCBmcm9tIE5vZGUgaW5zdGVhZDogaXQgb3B0aW9uYWxseSBydW5zIGEgc2hvcnQgYHN0YXJ0YCBjbG9zdXJlIG9uY2UgdG8ga2lja1xuICogdGhlIHdvcmsgb2ZmLCB0aGVuIHJlcGVhdGVkbHkgcnVucyBhIHNob3J0IGBwb2xsYCBjbG9zdXJlIFx1MjAxNCBlYWNoIGEgc2VwYXJhdGUsXG4gKiB3ZWxsLXVuZGVyLTMwcyBldmFsIFx1MjAxNCB1bnRpbCB0aGUgTm9kZS1zaWRlIGB1bnRpbGAgcHJlZGljYXRlIGFjY2VwdHMgYSBwb2xsXG4gKiByZXN1bHQsIG9yIGEgTm9kZS1zaWRlIHRpbWVvdXQgZWxhcHNlcy4gSXQgcmVtb3ZlcyB0aGUgcGVyLXRlc3QgaGFuZC1yb2xsZWRcbiAqIGBldmFsSW5PYnNpZGlhbmAgKyBgc2xlZXBgIGxvb3AuXG4gKlxuICogVGhlIHRpbWluZyBsb29wIGxpdmVzIGluIHRoZSBwdXJlLCB1bml0LXRlc3RlZCB7QGxpbmsgcG9sbFVudGlsfTsgdGhpcyBtb2R1bGUgaXNcbiAqIHRoZSBpbnRlZ3JhdGlvbi1vbmx5IHdpcmluZyAoaXQgZHJpdmVzIGEgbGl2ZSBPYnNpZGlhbiksIGNvdmVyZWQgYnkgYW5cbiAqIGludGVncmF0aW9uIHRlc3QuXG4gKi9cblxuLyogdjggaWdub3JlIHN0YXJ0IC0tIEludGVncmF0aW9uLXRpbWUgY29kZSAoZHJpdmVzIGEgbGl2ZSBPYnNpZGlhbiB2aWEgZXZhbEluT2JzaWRpYW4pIGNvdmVyZWQgYnkgaW50ZWdyYXRpb24gdGVzdHMsIG5vdCB1bml0IHRlc3RzLiAqL1xuXG5pbXBvcnQgdHlwZSB7IFByb21pc2FibGUgfSBmcm9tICd0eXBlLWZlc3QnO1xuXG5pbXBvcnQgeyBzZXRUaW1lb3V0IGFzIHNsZWVwIH0gZnJvbSAnbm9kZTp0aW1lcnMvcHJvbWlzZXMnO1xuXG5pbXBvcnQgdHlwZSB7IENvbnRleHRBcmd1bWVudHMgfSBmcm9tICcuL2NvbnRleHQtaWQubWpzJztcbmltcG9ydCB0eXBlIHtcbiAgQ29tbW9uQXJndW1lbnRzLFxuICBFdmFsSW5PYnNpZGlhblBhcmFtcyxcbiAgR2VuZXJpY09iamVjdFxufSBmcm9tICcuL2V2YWwtaW4tb2JzaWRpYW4ubWpzJztcbmltcG9ydCB0eXBlIHsgT2JzaWRpYW5UcmFuc3BvcnQgfSBmcm9tICcuL3RyYW5zcG9ydC5tanMnO1xuXG5pbXBvcnQgeyBDb250ZXh0SWQgfSBmcm9tICcuL2NvbnRleHQtaWQubWpzJztcbmltcG9ydCB7IGV2YWxJbk9ic2lkaWFuIH0gZnJvbSAnLi9ldmFsLWluLW9ic2lkaWFuLm1qcyc7XG5pbXBvcnQgeyBwb2xsVW50aWwgfSBmcm9tICcuL3BvbGwtdW50aWwubWpzJztcblxuY29uc3QgREVGQVVMVF9QT0xMX0lOVEVSVkFMX0lOX01JTExJU0VDT05EUyA9IDUwMDtcbmNvbnN0IERFRkFVTFRfUE9MTF9USU1FT1VUX0lOX01JTExJU0VDT05EUyA9IDEyMF8wMDA7XG5cbi8qKlxuICogUGFyYW1ldGVycyBmb3Ige0BsaW5rIHBvbGxJbk9ic2lkaWFufS4gTWlycm9ycyB7QGxpbmsgRXZhbEluT2JzaWRpYW5QYXJhbXN9IGZvclxuICogdGhlIHNoYXJlZCBmb3J3YXJkZWQgZmllbGRzIChgaW5wdXRgIC8gYGNvbnRleHRJZGAgLyBgdHJhbnNwb3J0YCAvIGB2YXVsdFBhdGhgKTtcbiAqIGBzdGFydGAgLyBgcG9sbGAgYXJlIHRoZSBpbi1PYnNpZGlhbiBjbG9zdXJlcyBhbmQgYHVudGlsYCBpcyB0aGUgTm9kZS1zaWRlXG4gKiBhY2NlcHRhbmNlIHByZWRpY2F0ZS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBQb2xsSW5PYnNpZGlhblBhcmFtczxJbnB1dCBleHRlbmRzIEdlbmVyaWNPYmplY3QsIFBvbGxSZXN1bHQsIFRDb250ZXh0SWQgZXh0ZW5kcyBDb250ZXh0SWQ8dW5rbm93bj4gfCB1bmRlZmluZWQgPSB1bmRlZmluZWQ+IHtcbiAgLyoqXG4gICAqIEEge0BsaW5rIENvbnRleHRJZH0gc2hhcmVkIGJ5IGBzdGFydGAgYW5kIGBwb2xsYCwgc28gYHN0YXJ0YCBjYW4gc3Rhc2hcbiAgICogbm9uLXNlcmlhbGl6YWJsZSBzdGF0ZSB0aGF0IGBwb2xsYCBsYXRlciByZWFkcy4gV2hlbiBvbWl0dGVkLCBlYWNoIGNsb3N1cmVcbiAgICogZ2V0cyBhIGZyZXNoIGVtcHR5IGBjb250ZXh0YC5cbiAgICovXG4gIHJlYWRvbmx5IGNvbnRleHRJZD86IFRDb250ZXh0SWQ7XG5cbiAgLyoqXG4gICAqIEFkZGl0aW9uYWwgYXJndW1lbnRzIHBhc3NlZCB0byBib3RoIGBzdGFydGAgYW5kIGBwb2xsYCAoc2VyaWFsaXplZCBsaWtlXG4gICAqIHtAbGluayBFdmFsSW5PYnNpZGlhblBhcmFtcy5pbnB1dH0pLlxuICAgKi9cbiAgcmVhZG9ubHkgaW5wdXQ/OiBJbnB1dDtcblxuICAvKipcbiAgICogRGVsYXkgYmV0d2VlbiBgcG9sbGAgYXR0ZW1wdHMsIGluIG1pbGxpc2Vjb25kcy5cbiAgICpcbiAgICogQGRlZmF1bHQgYDUwMGBcbiAgICovXG4gIHJlYWRvbmx5IGludGVydmFsSW5NaWxsaXNlY29uZHM/OiBudW1iZXI7XG5cbiAgLyoqXG4gICAqIFRoZSBjbG9zdXJlIHBvbGxlZCByZXBlYXRlZGx5IGluc2lkZSBPYnNpZGlhbi4gS2VlcCBpdCBzaG9ydCAod2VsbCB1bmRlciB0aGVcbiAgICogfjMwcyBDRFAgY2FwKTogaXQgc2hvdWxkIHJlYWQgYW5kIHJldHVybiBhIEpTT04tc2VyaWFsaXphYmxlIHN0YXR1cywgbm90XG4gICAqIGF3YWl0IHRoZSBsb25nIG9wZXJhdGlvbiBpdHNlbGYuXG4gICAqL1xuICBwb2xsKHRoaXM6IHZvaWQsIGlucHV0OiBDb21tb25Bcmd1bWVudHMgJiBDb250ZXh0QXJndW1lbnRzPFRDb250ZXh0SWQ+ICYgSW5wdXQpOiBQcm9taXNhYmxlPFBvbGxSZXN1bHQ+O1xuXG4gIC8qKlxuICAgKiBBbiBvcHRpb25hbCBjbG9zdXJlIHJ1biAqKm9uY2UqKiBiZWZvcmUgcG9sbGluZyBiZWdpbnMsIHRvIGtpY2sgb2ZmIHRoZVxuICAgKiBsb25nLXJ1bm5pbmcgd29yayAoZmlyZS1hbmQtZm9yZ2V0IGZyb20gTm9kZSdzIHBlcnNwZWN0aXZlKS4gS2VlcCBpdCBzaG9ydCBcdTIwMTRcbiAgICogc3RhcnQgdGhlIHdvcmsgYW5kIHJldHVybjsgZG8gbm90IGF3YWl0IGl0IHRvIGNvbXBsZXRpb24gaGVyZS5cbiAgICovXG4gIHN0YXJ0Pyh0aGlzOiB2b2lkLCBpbnB1dDogQ29tbW9uQXJndW1lbnRzICYgQ29udGV4dEFyZ3VtZW50czxUQ29udGV4dElkPiAmIElucHV0KTogUHJvbWlzYWJsZTx1bmtub3duPjtcblxuICAvKipcbiAgICogVG90YWwgYnVkZ2V0IGJlZm9yZSB0aGUgcG9sbCByZWplY3RzLCBpbiBtaWxsaXNlY29uZHMuXG4gICAqXG4gICAqIEBkZWZhdWx0IGAxMjAwMDBgXG4gICAqL1xuICByZWFkb25seSB0aW1lb3V0SW5NaWxsaXNlY29uZHM/OiBudW1iZXI7XG5cbiAgLyoqXG4gICAqIE9wdGlvbmFsIGRldGFpbCBhcHBlbmRlZCB0byB0aGUgdGltZW91dCBlcnJvciBtZXNzYWdlLlxuICAgKi9cbiAgcmVhZG9ubHkgdGltZW91dE1lc3NhZ2U/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIE92ZXJyaWRlIHRoZSB0cmFuc3BvcnQgKGZvcndhcmRlZCB0byBldmVyeSB1bmRlcmx5aW5nIGBldmFsSW5PYnNpZGlhbmApLlxuICAgKi9cbiAgcmVhZG9ubHkgdHJhbnNwb3J0PzogT2JzaWRpYW5UcmFuc3BvcnQ7XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgYSBnaXZlbiBgcG9sbGAgcmVzdWx0IGlzIGFjY2VwdGFibGUsIGV2YWx1YXRlZCBpbiAqKk5vZGUqKi4gUmV0dXJuaW5nXG4gICAqIGB0cnVlYCByZXNvbHZlcyB7QGxpbmsgcG9sbEluT2JzaWRpYW59IHdpdGggdGhhdCByZXN1bHQuXG4gICAqL1xuICB1bnRpbCh0aGlzOiB2b2lkLCByZXN1bHQ6IFBvbGxSZXN1bHQpOiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBUaGUgdmF1bHQgcGF0aCB0byBldmFsdWF0ZSBhZ2FpbnN0IChmb3J3YXJkZWQgdG8gZXZlcnkgdW5kZXJseWluZ1xuICAgKiBgZXZhbEluT2JzaWRpYW5gKS5cbiAgICovXG4gIHJlYWRvbmx5IHZhdWx0UGF0aD86IHN0cmluZztcbn1cblxuLyoqXG4gKiBLaWNrcyBvZmYgYW4gb3B0aW9uYWwgYHN0YXJ0YCBjbG9zdXJlIG9uY2UsIHRoZW4gcG9sbHMgYHBvbGxgIGZyb20gTm9kZSB1bnRpbFxuICogYHVudGlsYCBhY2NlcHRzIGEgcmVzdWx0IG9yIHRoZSB0aW1lb3V0IGVsYXBzZXMuXG4gKlxuICogQHBhcmFtIHBhcmFtcyAtIFRoZSBwb2xsIHBhcmFtZXRlcnMuXG4gKiBAcmV0dXJucyBBIHtAbGluayBQcm9taXNlfSB0aGF0IHJlc29sdmVzIHdpdGggdGhlIGZpcnN0IGFjY2VwdGVkIGBwb2xsYCByZXN1bHQuXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBwb2xsSW5PYnNpZGlhbjxJbnB1dCBleHRlbmRzIEdlbmVyaWNPYmplY3QsIFBvbGxSZXN1bHQsIFRDb250ZXh0SWQgZXh0ZW5kcyBDb250ZXh0SWQ8dW5rbm93bj4gfCB1bmRlZmluZWQgPSB1bmRlZmluZWQ+KFxuICBwYXJhbXM6IFBvbGxJbk9ic2lkaWFuUGFyYW1zPElucHV0LCBQb2xsUmVzdWx0LCBUQ29udGV4dElkPlxuKTogUHJvbWlzZTxQb2xsUmVzdWx0PiB7XG4gIGNvbnN0IHtcbiAgICBjb250ZXh0SWQsXG4gICAgaW5wdXQsXG4gICAgaW50ZXJ2YWxJbk1pbGxpc2Vjb25kcyA9IERFRkFVTFRfUE9MTF9JTlRFUlZBTF9JTl9NSUxMSVNFQ09ORFMsXG4gICAgcG9sbCxcbiAgICBzdGFydCxcbiAgICB0aW1lb3V0SW5NaWxsaXNlY29uZHMgPSBERUZBVUxUX1BPTExfVElNRU9VVF9JTl9NSUxMSVNFQ09ORFMsXG4gICAgdGltZW91dE1lc3NhZ2UsXG4gICAgdHJhbnNwb3J0LFxuICAgIHVudGlsLFxuICAgIHZhdWx0UGF0aFxuICB9ID0gcGFyYW1zO1xuXG4gIGFzeW5jIGZ1bmN0aW9uIHJ1bkV2YWw8UmVzdWx0PihjYWxsYmFjazogKGZ1bmN0aW9uQXJndW1lbnRzOiBDb21tb25Bcmd1bWVudHMgJiBDb250ZXh0QXJndW1lbnRzPFRDb250ZXh0SWQ+ICYgSW5wdXQpID0+IFByb21pc2FibGU8UmVzdWx0Pik6IFByb21pc2U8UmVzdWx0PiB7XG4gICAgY29uc3QgZXZhbFBhcmFtczogRXZhbEluT2JzaWRpYW5QYXJhbXM8SW5wdXQsIFJlc3VsdCwgVENvbnRleHRJZD4gPSB7XG4gICAgICBjYWxsYmFjayxcbiAgICAgIC4uLihpbnB1dCAhPT0gdW5kZWZpbmVkICYmIHsgaW5wdXQgfSksXG4gICAgICAuLi4oY29udGV4dElkICE9PSB1bmRlZmluZWQgJiYgeyBjb250ZXh0SWQgfSksXG4gICAgICAuLi4odHJhbnNwb3J0ICE9PSB1bmRlZmluZWQgJiYgeyB0cmFuc3BvcnQgfSksXG4gICAgICAuLi4odmF1bHRQYXRoICE9PSB1bmRlZmluZWQgJiYgeyB2YXVsdFBhdGggfSlcbiAgICB9O1xuICAgIHJldHVybiBldmFsSW5PYnNpZGlhbjxJbnB1dCwgUmVzdWx0LCBUQ29udGV4dElkPihldmFsUGFyYW1zKTtcbiAgfVxuXG4gIGlmIChzdGFydCkge1xuICAgIGF3YWl0IHJ1bkV2YWwoc3RhcnQpO1xuICB9XG5cbiAgcmV0dXJuIHBvbGxVbnRpbDxQb2xsUmVzdWx0Pih7XG4gICAgYXR0ZW1wdDogYXN5bmMgKCkgPT4gcnVuRXZhbChwb2xsKSxcbiAgICBpbnRlcnZhbEluTWlsbGlzZWNvbmRzLFxuICAgIG5vd0luTWlsbGlzZWNvbmRzOiAoKSA9PiBEYXRlLm5vdygpLFxuICAgIHNsZWVwOiBhc3luYyAobWlsbGlzZWNvbmRzOiBudW1iZXIpID0+IHtcbiAgICAgIGF3YWl0IHNsZWVwKG1pbGxpc2Vjb25kcyk7XG4gICAgfSxcbiAgICB0aW1lb3V0SW5NaWxsaXNlY29uZHMsXG4gICAgdW50aWwsXG4gICAgLi4uKHRpbWVvdXRNZXNzYWdlICE9PSB1bmRlZmluZWQgJiYgeyB0aW1lb3V0TWVzc2FnZSB9KVxuICB9KTtcbn1cblxuLyogdjggaWdub3JlIHN0b3AgKi9cbiJdLAogICJtYXBwaW5ncyI6ICJBQXVCQSxTQUFTLGNBQWMsYUFBYTtBQVVwQyxTQUFTLGlCQUFpQjtBQUMxQixTQUFTLHNCQUFzQjtBQUMvQixTQUFTLGlCQUFpQjtBQUUxQixNQUFNLHdDQUF3QztBQUM5QyxNQUFNLHVDQUF1QztBQWdGN0MsZUFBc0IsZUFDcEIsUUFDcUI7QUFDckIsUUFBTTtBQUFBLElBQ0o7QUFBQSxJQUNBO0FBQUEsSUFDQSx5QkFBeUI7QUFBQSxJQUN6QjtBQUFBLElBQ0E7QUFBQSxJQUNBLHdCQUF3QjtBQUFBLElBQ3hCO0FBQUEsSUFDQTtBQUFBLElBQ0E7QUFBQSxJQUNBO0FBQUEsRUFDRixJQUFJO0FBRUosaUJBQWUsUUFBZ0IsVUFBOEg7QUFDM0osVUFBTSxhQUE4RDtBQUFBLE1BQ2xFO0FBQUEsTUFDQSxHQUFJLFVBQVUsVUFBYSxFQUFFLE1BQU07QUFBQSxNQUNuQyxHQUFJLGNBQWMsVUFBYSxFQUFFLFVBQVU7QUFBQSxNQUMzQyxHQUFJLGNBQWMsVUFBYSxFQUFFLFVBQVU7QUFBQSxNQUMzQyxHQUFJLGNBQWMsVUFBYSxFQUFFLFVBQVU7QUFBQSxJQUM3QztBQUNBLFdBQU8sZUFBMEMsVUFBVTtBQUFBLEVBQzdEO0FBRUEsTUFBSSxPQUFPO0FBQ1QsVUFBTSxRQUFRLEtBQUs7QUFBQSxFQUNyQjtBQUVBLFNBQU8sVUFBc0I7QUFBQSxJQUMzQixTQUFTLFlBQVksUUFBUSxJQUFJO0FBQUEsSUFDakM7QUFBQSxJQUNBLG1CQUFtQixNQUFNLEtBQUssSUFBSTtBQUFBLElBQ2xDLE9BQU8sT0FBTyxpQkFBeUI7QUFDckMsWUFBTSxNQUFNLFlBQVk7QUFBQSxJQUMxQjtBQUFBLElBQ0E7QUFBQSxJQUNBO0FBQUEsSUFDQSxHQUFJLG1CQUFtQixVQUFhLEVBQUUsZUFBZTtBQUFBLEVBQ3ZELENBQUM7QUFDSDsiLAogICJuYW1lcyI6IFtdCn0K
|
|
@@ -13,19 +13,33 @@
|
|
|
13
13
|
* Parameters for {@link pollUntil}.
|
|
14
14
|
*/
|
|
15
15
|
export interface PollUntilParams<Result> {
|
|
16
|
-
/**
|
|
16
|
+
/**
|
|
17
|
+
Runs one attempt and resolves with its result.
|
|
18
|
+
*/
|
|
17
19
|
attempt(this: void): Promise<Result>;
|
|
18
|
-
/**
|
|
20
|
+
/**
|
|
21
|
+
Delay between attempts, in milliseconds.
|
|
22
|
+
*/
|
|
19
23
|
readonly intervalInMilliseconds: number;
|
|
20
|
-
/**
|
|
24
|
+
/**
|
|
25
|
+
Returns the current time in milliseconds (injected for deterministic tests).
|
|
26
|
+
*/
|
|
21
27
|
nowInMilliseconds(this: void): number;
|
|
22
|
-
/**
|
|
28
|
+
/**
|
|
29
|
+
Sleeps for the given number of milliseconds (injected for deterministic tests).
|
|
30
|
+
*/
|
|
23
31
|
sleep(this: void, milliseconds: number): Promise<void>;
|
|
24
|
-
/**
|
|
32
|
+
/**
|
|
33
|
+
Total budget before the poll rejects, in milliseconds.
|
|
34
|
+
*/
|
|
25
35
|
readonly timeoutInMilliseconds: number;
|
|
26
|
-
/**
|
|
36
|
+
/**
|
|
37
|
+
Optional detail appended to the timeout error message.
|
|
38
|
+
*/
|
|
27
39
|
readonly timeoutMessage?: string;
|
|
28
|
-
/**
|
|
40
|
+
/**
|
|
41
|
+
Whether a given attempt result is acceptable (stops the poll).
|
|
42
|
+
*/
|
|
29
43
|
until(this: void, result: Result): boolean;
|
|
30
44
|
}
|
|
31
45
|
/**
|
|
@@ -16,4 +16,4 @@ async function pollUntil(params) {
|
|
|
16
16
|
export {
|
|
17
17
|
pollUntil
|
|
18
18
|
};
|
|
19
|
-
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL3BvbGwtdW50aWwudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbIi8qKlxuICogQGZpbGVcbiAqXG4gKiBQdXJlIHBvbGwtdW50aWwtc2F0aXNmaWVkIGxvb3A6IHJlcGVhdGVkbHkgcnVucyBhbiBhc3luYyBgYXR0ZW1wdGAsIHJldHVybmluZ1xuICogaXRzIHJlc3VsdCBvbmNlIGB1bnRpbGAgYWNjZXB0cyBpdCwgb3IgdGhyb3dpbmcgd2hlbiBhIHRpbWVvdXQgZWxhcHNlcy5cbiAqXG4gKiBFeHRyYWN0ZWQgZnJvbSB0aGUgaW50ZWdyYXRpb24tb25seSB7QGxpbmsgcG9sbEluT2JzaWRpYW59IHdyYXBwZXIgKHdoaWNoIGJpbmRzXG4gKiBgYXR0ZW1wdGAgdG8gYW4gYGV2YWxJbk9ic2lkaWFuYCBjYWxsIGFuZCBpcyBleGNsdWRlZCBmcm9tIHVuaXQgdGVzdHMpIHNvIHRoZVxuICogdGltaW5nL3RpbWVvdXQgbG9naWMgc3RheXMgdW5pdC10ZXN0YWJsZS4gVGhlIGNsb2NrIGFuZCBzbGVlcCBhcmUgaW5qZWN0ZWQgc29cbiAqIHRoZSBsb29wIGlzIGRldGVybWluaXN0aWMgdW5kZXIgdGVzdC5cbiAqL1xuXG4vKipcbiAqIFBhcmFtZXRlcnMgZm9yIHtAbGluayBwb2xsVW50aWx9LlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFBvbGxVbnRpbFBhcmFtczxSZXN1bHQ+
|
|
19
|
+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL3BvbGwtdW50aWwudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbIi8qKlxuICogQGZpbGVcbiAqXG4gKiBQdXJlIHBvbGwtdW50aWwtc2F0aXNmaWVkIGxvb3A6IHJlcGVhdGVkbHkgcnVucyBhbiBhc3luYyBgYXR0ZW1wdGAsIHJldHVybmluZ1xuICogaXRzIHJlc3VsdCBvbmNlIGB1bnRpbGAgYWNjZXB0cyBpdCwgb3IgdGhyb3dpbmcgd2hlbiBhIHRpbWVvdXQgZWxhcHNlcy5cbiAqXG4gKiBFeHRyYWN0ZWQgZnJvbSB0aGUgaW50ZWdyYXRpb24tb25seSB7QGxpbmsgcG9sbEluT2JzaWRpYW59IHdyYXBwZXIgKHdoaWNoIGJpbmRzXG4gKiBgYXR0ZW1wdGAgdG8gYW4gYGV2YWxJbk9ic2lkaWFuYCBjYWxsIGFuZCBpcyBleGNsdWRlZCBmcm9tIHVuaXQgdGVzdHMpIHNvIHRoZVxuICogdGltaW5nL3RpbWVvdXQgbG9naWMgc3RheXMgdW5pdC10ZXN0YWJsZS4gVGhlIGNsb2NrIGFuZCBzbGVlcCBhcmUgaW5qZWN0ZWQgc29cbiAqIHRoZSBsb29wIGlzIGRldGVybWluaXN0aWMgdW5kZXIgdGVzdC5cbiAqL1xuXG4vKipcbiAqIFBhcmFtZXRlcnMgZm9yIHtAbGluayBwb2xsVW50aWx9LlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFBvbGxVbnRpbFBhcmFtczxSZXN1bHQ+IHtcbiAgLyoqXG4gIFJ1bnMgb25lIGF0dGVtcHQgYW5kIHJlc29sdmVzIHdpdGggaXRzIHJlc3VsdC5cbiAgICovXG4gIGF0dGVtcHQodGhpczogdm9pZCk6IFByb21pc2U8UmVzdWx0PjtcblxuICAvKipcbiAgRGVsYXkgYmV0d2VlbiBhdHRlbXB0cywgaW4gbWlsbGlzZWNvbmRzLlxuICAgKi9cbiAgcmVhZG9ubHkgaW50ZXJ2YWxJbk1pbGxpc2Vjb25kczogbnVtYmVyO1xuXG4gIC8qKlxuICBSZXR1cm5zIHRoZSBjdXJyZW50IHRpbWUgaW4gbWlsbGlzZWNvbmRzIChpbmplY3RlZCBmb3IgZGV0ZXJtaW5pc3RpYyB0ZXN0cykuXG4gICAqL1xuICBub3dJbk1pbGxpc2Vjb25kcyh0aGlzOiB2b2lkKTogbnVtYmVyO1xuXG4gIC8qKlxuICBTbGVlcHMgZm9yIHRoZSBnaXZlbiBudW1iZXIgb2YgbWlsbGlzZWNvbmRzIChpbmplY3RlZCBmb3IgZGV0ZXJtaW5pc3RpYyB0ZXN0cykuXG4gICAqL1xuICBzbGVlcCh0aGlzOiB2b2lkLCBtaWxsaXNlY29uZHM6IG51bWJlcik6IFByb21pc2U8dm9pZD47XG5cbiAgLyoqXG4gIFRvdGFsIGJ1ZGdldCBiZWZvcmUgdGhlIHBvbGwgcmVqZWN0cywgaW4gbWlsbGlzZWNvbmRzLlxuICAgKi9cbiAgcmVhZG9ubHkgdGltZW91dEluTWlsbGlzZWNvbmRzOiBudW1iZXI7XG5cbiAgLyoqXG4gIE9wdGlvbmFsIGRldGFpbCBhcHBlbmRlZCB0byB0aGUgdGltZW91dCBlcnJvciBtZXNzYWdlLlxuICAgKi9cbiAgcmVhZG9ubHkgdGltZW91dE1lc3NhZ2U/OiBzdHJpbmc7XG5cbiAgLyoqXG4gIFdoZXRoZXIgYSBnaXZlbiBhdHRlbXB0IHJlc3VsdCBpcyBhY2NlcHRhYmxlIChzdG9wcyB0aGUgcG9sbCkuXG4gICAqL1xuICB1bnRpbCh0aGlzOiB2b2lkLCByZXN1bHQ6IFJlc3VsdCk6IGJvb2xlYW47XG59XG5cbi8qKlxuICogUnVucyBgYXR0ZW1wdGAgaW1tZWRpYXRlbHksIHRoZW4gcmVwZWF0ZWRseSBldmVyeSBgaW50ZXJ2YWxJbk1pbGxpc2Vjb25kc2AsXG4gKiB1bnRpbCBgdW50aWwocmVzdWx0KWAgaXMgdHJ1dGh5IFx1MjAxNCByZXNvbHZpbmcgd2l0aCB0aGF0IHJlc3VsdCBcdTIwMTQgb3IgdGhlXG4gKiBgdGltZW91dEluTWlsbGlzZWNvbmRzYCBidWRnZXQgZWxhcHNlcywgYXQgd2hpY2ggcG9pbnQgaXQgcmVqZWN0cy4gQXQgbGVhc3Qgb25lXG4gKiBhdHRlbXB0IGFsd2F5cyBydW5zOyB0aGUgdGltZW91dCBpcyBjaGVja2VkIGFmdGVyIGVhY2ggdW5zYXRpc2ZpZWQgYXR0ZW1wdCwgc29cbiAqIGEgc2xvdyBzaW5nbGUgYXR0ZW1wdCBjYW5ub3QgYmUgaW50ZXJydXB0ZWQgbWlkLWZsaWdodCBidXQgbm8gZnVydGhlciBhdHRlbXB0XG4gKiBzdGFydHMgcGFzdCB0aGUgZGVhZGxpbmUuXG4gKlxuICogQHBhcmFtIHBhcmFtcyAtIFRoZSBwb2xsIHBhcmFtZXRlcnMuXG4gKiBAcmV0dXJucyBBIHtAbGluayBQcm9taXNlfSB0aGF0IHJlc29sdmVzIHdpdGggdGhlIGZpcnN0IGFjY2VwdGVkIGF0dGVtcHQgcmVzdWx0LlxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gcG9sbFVudGlsPFJlc3VsdD4ocGFyYW1zOiBQb2xsVW50aWxQYXJhbXM8UmVzdWx0Pik6IFByb21pc2U8UmVzdWx0PiB7XG4gIGNvbnN0IHsgYXR0ZW1wdCwgaW50ZXJ2YWxJbk1pbGxpc2Vjb25kcywgbm93SW5NaWxsaXNlY29uZHMsIHNsZWVwLCB0aW1lb3V0SW5NaWxsaXNlY29uZHMsIHRpbWVvdXRNZXNzYWdlLCB1bnRpbCB9ID0gcGFyYW1zO1xuICBjb25zdCBkZWFkbGluZSA9IG5vd0luTWlsbGlzZWNvbmRzKCkgKyB0aW1lb3V0SW5NaWxsaXNlY29uZHM7XG5cbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby11bm5lY2Vzc2FyeS1jb25kaXRpb24gLS0gTG9vcCBleGl0cyB2aWEgcmV0dXJuIG9yIHRocm93LlxuICB3aGlsZSAodHJ1ZSkge1xuICAgIGNvbnN0IHJlc3VsdCA9IGF3YWl0IGF0dGVtcHQoKTtcbiAgICBpZiAodW50aWwocmVzdWx0KSkge1xuICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICB9XG4gICAgaWYgKG5vd0luTWlsbGlzZWNvbmRzKCkgPj0gZGVhZGxpbmUpIHtcbiAgICAgIGNvbnN0IHN1ZmZpeCA9IHRpbWVvdXRNZXNzYWdlID09PSB1bmRlZmluZWQgPyAnJyA6IGA6ICR7dGltZW91dE1lc3NhZ2V9YDtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgcG9sbEluT2JzaWRpYW4gdGltZWQgb3V0IGFmdGVyICR7U3RyaW5nKHRpbWVvdXRJbk1pbGxpc2Vjb25kcyl9IG1pbGxpc2Vjb25kcyR7c3VmZml4fWApO1xuICAgIH1cbiAgICBhd2FpdCBzbGVlcChpbnRlcnZhbEluTWlsbGlzZWNvbmRzKTtcbiAgfVxufVxuIl0sCiAgIm1hcHBpbmdzIjogIkFBK0RBLGVBQXNCLFVBQWtCLFFBQWtEO0FBQ3hGLFFBQU0sRUFBRSxTQUFTLHdCQUF3QixtQkFBbUIsT0FBTyx1QkFBdUIsZ0JBQWdCLE1BQU0sSUFBSTtBQUNwSCxRQUFNLFdBQVcsa0JBQWtCLElBQUk7QUFHdkMsU0FBTyxNQUFNO0FBQ1gsVUFBTSxTQUFTLE1BQU0sUUFBUTtBQUM3QixRQUFJLE1BQU0sTUFBTSxHQUFHO0FBQ2pCLGFBQU87QUFBQSxJQUNUO0FBQ0EsUUFBSSxrQkFBa0IsS0FBSyxVQUFVO0FBQ25DLFlBQU0sU0FBUyxtQkFBbUIsU0FBWSxLQUFLLEtBQUssY0FBYztBQUN0RSxZQUFNLElBQUksTUFBTSxrQ0FBa0MsT0FBTyxxQkFBcUIsQ0FBQyxnQkFBZ0IsTUFBTSxFQUFFO0FBQUEsSUFDekc7QUFDQSxVQUFNLE1BQU0sc0JBQXNCO0FBQUEsRUFDcEM7QUFDRjsiLAogICJuYW1lcyI6IFtdCn0K
|
|
@@ -13,13 +13,21 @@
|
|
|
13
13
|
* Parameters for {@link buildProcessExitMessage}.
|
|
14
14
|
*/
|
|
15
15
|
export interface BuildProcessExitMessageParams {
|
|
16
|
-
/**
|
|
16
|
+
/**
|
|
17
|
+
The process's exit / spawn-failure details.
|
|
18
|
+
*/
|
|
17
19
|
readonly exitInfo: ProcessExitInfo;
|
|
18
|
-
/**
|
|
20
|
+
/**
|
|
21
|
+
The captured stdout+stderr tail (empty when none was captured).
|
|
22
|
+
*/
|
|
19
23
|
readonly output: string;
|
|
20
|
-
/**
|
|
24
|
+
/**
|
|
25
|
+
Label for the captured output section (e.g. `"Emulator output"`).
|
|
26
|
+
*/
|
|
21
27
|
readonly outputLabel: string;
|
|
22
|
-
/**
|
|
28
|
+
/**
|
|
29
|
+
Human-readable subject of the process (e.g. `"Android emulator"`).
|
|
30
|
+
*/
|
|
23
31
|
readonly subject: string;
|
|
24
32
|
}
|
|
25
33
|
/**
|
|
@@ -30,11 +38,17 @@ export interface BuildProcessExitMessageParams {
|
|
|
30
38
|
* `spawnError` to the failure message.
|
|
31
39
|
*/
|
|
32
40
|
export interface ProcessExitInfo {
|
|
33
|
-
/**
|
|
41
|
+
/**
|
|
42
|
+
Exit code, or `null` when terminated by a signal or when it failed to spawn.
|
|
43
|
+
*/
|
|
34
44
|
readonly code: null | number;
|
|
35
|
-
/**
|
|
45
|
+
/**
|
|
46
|
+
Terminating signal, or `null` when it exited normally or failed to spawn.
|
|
47
|
+
*/
|
|
36
48
|
readonly signal: NodeJS.Signals | null;
|
|
37
|
-
/**
|
|
49
|
+
/**
|
|
50
|
+
The spawn-failure message when the process never started (e.g. `ENOENT`), otherwise absent.
|
|
51
|
+
*/
|
|
38
52
|
readonly spawnError?: string;
|
|
39
53
|
}
|
|
40
54
|
/**
|
|
@@ -20,4 +20,4 @@ function resolveReason(exitInfo) {
|
|
|
20
20
|
export {
|
|
21
21
|
buildProcessExitMessage
|
|
22
22
|
};
|
|
23
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
23
|
+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL3Byb2Nlc3MtZXhpdC1tZXNzYWdlLnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyIvKipcbiAqIEBmaWxlXG4gKlxuICogUHVyZSBidWlsZGVyIGZvciB0aGUgZGlhZ25vc3RpYyBtZXNzYWdlIGRlc2NyaWJpbmcgYW4gYXV0by1zdGFydGVkIGNoaWxkXG4gKiBwcm9jZXNzICh0aGUgQW5kcm9pZCBlbXVsYXRvciBvciB0aGUgQXBwaXVtIHNlcnZlcikgdGhhdCBkaWVkIGR1cmluZyBzdGFydHVwLFxuICogYXBwZW5kaW5nIHRoZSBjYXB0dXJlZCBvdXRwdXQgdGFpbCB3aGVuIGF2YWlsYWJsZS5cbiAqXG4gKiBLZXB0IHNlcGFyYXRlIGZyb20gdGhlIGludGVncmF0aW9uLW9ubHkgYHRyYW5zcG9ydC1mYWN0b3J5YCAoZXhjbHVkZWQgZnJvbVxuICogdW5pdCB0ZXN0cykgc28gdGhlIG1lc3NhZ2UgZm9ybWF0dGluZyBzdGF5cyB1bml0LXRlc3RhYmxlIFx1MjAxNCB0aGUgbGF1bmNoZXJzXG4gKiB0aGVtc2VsdmVzIHNwYXduIHJlYWwgcHJvY2Vzc2VzLlxuICovXG5cbi8qKlxuICogUGFyYW1ldGVycyBmb3Ige0BsaW5rIGJ1aWxkUHJvY2Vzc0V4aXRNZXNzYWdlfS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBCdWlsZFByb2Nlc3NFeGl0TWVzc2FnZVBhcmFtcyB7XG4gIC8qKlxuICBUaGUgcHJvY2VzcydzIGV4aXQgLyBzcGF3bi1mYWlsdXJlIGRldGFpbHMuXG4gICAqL1xuICByZWFkb25seSBleGl0SW5mbzogUHJvY2Vzc0V4aXRJbmZvO1xuXG4gIC8qKlxuICBUaGUgY2FwdHVyZWQgc3Rkb3V0K3N0ZGVyciB0YWlsIChlbXB0eSB3aGVuIG5vbmUgd2FzIGNhcHR1cmVkKS5cbiAgICovXG4gIHJlYWRvbmx5IG91dHB1dDogc3RyaW5nO1xuXG4gIC8qKlxuICBMYWJlbCBmb3IgdGhlIGNhcHR1cmVkIG91dHB1dCBzZWN0aW9uIChlLmcuIGBcIkVtdWxhdG9yIG91dHB1dFwiYCkuXG4gICAqL1xuICByZWFkb25seSBvdXRwdXRMYWJlbDogc3RyaW5nO1xuXG4gIC8qKlxuICBIdW1hbi1yZWFkYWJsZSBzdWJqZWN0IG9mIHRoZSBwcm9jZXNzIChlLmcuIGBcIkFuZHJvaWQgZW11bGF0b3JcImApLlxuICAgKi9cbiAgcmVhZG9ubHkgc3ViamVjdDogc3RyaW5nO1xufVxuXG4vKipcbiAqIERldGFpbHMgb2YgYSBzcGF3bmVkIGNoaWxkIHByb2Nlc3MgdGhhdCBoYXMgZXhpdGVkIG9yIGZhaWxlZCB0byBzcGF3bi5cbiAqXG4gKiBBIG5vcm1hbCBleGl0IHNldHMgYGNvZGVgL2BzaWduYWxgIChleGFjdGx5IG9uZSBpcyBub24tYG51bGxgKTsgYSBzcGF3blxuICogZmFpbHVyZSAoZS5nLiBgRU5PRU5UYCBmb3IgYSBtaXNzaW5nIGJpbmFyeSkgbGVhdmVzIGJvdGggYG51bGxgIGFuZCBzZXRzXG4gKiBgc3Bhd25FcnJvcmAgdG8gdGhlIGZhaWx1cmUgbWVzc2FnZS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBQcm9jZXNzRXhpdEluZm8ge1xuICAvKipcbiAgRXhpdCBjb2RlLCBvciBgbnVsbGAgd2hlbiB0ZXJtaW5hdGVkIGJ5IGEgc2lnbmFsIG9yIHdoZW4gaXQgZmFpbGVkIHRvIHNwYXduLlxuICAgKi9cbiAgcmVhZG9ubHkgY29kZTogbnVsbCB8IG51bWJlcjtcblxuICAvKipcbiAgVGVybWluYXRpbmcgc2lnbmFsLCBvciBgbnVsbGAgd2hlbiBpdCBleGl0ZWQgbm9ybWFsbHkgb3IgZmFpbGVkIHRvIHNwYXduLlxuICAgKi9cbiAgcmVhZG9ubHkgc2lnbmFsOiBOb2RlSlMuU2lnbmFscyB8IG51bGw7XG5cbiAgLyoqXG4gIFRoZSBzcGF3bi1mYWlsdXJlIG1lc3NhZ2Ugd2hlbiB0aGUgcHJvY2VzcyBuZXZlciBzdGFydGVkIChlLmcuIGBFTk9FTlRgKSwgb3RoZXJ3aXNlIGFic2VudC5cbiAgICovXG4gIHJlYWRvbmx5IHNwYXduRXJyb3I/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogQnVpbGRzIGEgZGVzY3JpcHRpdmUgZXJyb3IgbWVzc2FnZSBmb3IgYW4gYXV0by1zdGFydGVkIGNoaWxkIHByb2Nlc3MgdGhhdFxuICogZXhpdGVkIChvciBmYWlsZWQgdG8gc3Bhd24pIGR1cmluZyBzdGFydHVwLCBhcHBlbmRpbmcgdGhlIGNhcHR1cmVkIG91dHB1dFxuICogdGFpbCB3aGVuIGF2YWlsYWJsZS5cbiAqXG4gKiBAcGFyYW0gcGFyYW1zIC0gVGhlIHN1YmplY3QsIGV4aXQgZGV0YWlscywgYW5kIGNhcHR1cmVkIG91dHB1dC5cbiAqIEByZXR1cm5zIEEgaHVtYW4tcmVhZGFibGUgZXJyb3IgbWVzc2FnZS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGJ1aWxkUHJvY2Vzc0V4aXRNZXNzYWdlKHBhcmFtczogQnVpbGRQcm9jZXNzRXhpdE1lc3NhZ2VQYXJhbXMpOiBzdHJpbmcge1xuICBjb25zdCB7IGV4aXRJbmZvLCBvdXRwdXQsIG91dHB1dExhYmVsLCBzdWJqZWN0IH0gPSBwYXJhbXM7XG5cbiAgY29uc3QgcmVhc29uID0gcmVzb2x2ZVJlYXNvbihleGl0SW5mbyk7XG4gIGNvbnN0IHRyaW1tZWRPdXRwdXQgPSBvdXRwdXQudHJpbSgpO1xuICBjb25zdCBkZXRhaWxzID0gdHJpbW1lZE91dHB1dC5sZW5ndGggPiAwXG4gICAgPyBgXFxuXFxuJHtvdXRwdXRMYWJlbH0gKHRhaWwpOlxcbiR7dHJpbW1lZE91dHB1dH1gXG4gICAgOiAnJztcbiAgcmV0dXJuIGAke3N1YmplY3R9ICR7cmVhc29ufSBkdXJpbmcgc3RhcnR1cC4ke2RldGFpbHN9YDtcbn1cblxuLyoqXG4gKiBEZXNjcmliZXMgd2h5IHRoZSBwcm9jZXNzIGlzIG5vIGxvbmdlciBydW5uaW5nLlxuICpcbiAqIEBwYXJhbSBleGl0SW5mbyAtIFRoZSBleGl0IC8gc3Bhd24tZmFpbHVyZSBkZXRhaWxzLlxuICogQHJldHVybnMgVGhlIHJlYXNvbiBjbGF1c2UuXG4gKi9cbmZ1bmN0aW9uIHJlc29sdmVSZWFzb24oZXhpdEluZm86IFByb2Nlc3NFeGl0SW5mbyk6IHN0cmluZyB7XG4gIGlmIChleGl0SW5mby5zcGF3bkVycm9yICE9PSB1bmRlZmluZWQpIHtcbiAgICByZXR1cm4gYGZhaWxlZCB0byBzdGFydCAoJHtleGl0SW5mby5zcGF3bkVycm9yfSlgO1xuICB9XG4gIGlmIChleGl0SW5mby5zaWduYWwgIT09IG51bGwpIHtcbiAgICByZXR1cm4gYHdhcyB0ZXJtaW5hdGVkIGJ5IHNpZ25hbCAke2V4aXRJbmZvLnNpZ25hbH1gO1xuICB9XG4gIHJldHVybiBgZXhpdGVkIHByZW1hdHVyZWx5IHdpdGggY29kZSAke2V4aXRJbmZvLmNvZGUgPT09IG51bGwgPyAnKG51bGwpJyA6IFN0cmluZyhleGl0SW5mby5jb2RlKX1gO1xufVxuIl0sCiAgIm1hcHBpbmdzIjogIkFBcUVPLFNBQVMsd0JBQXdCLFFBQStDO0FBQ3JGLFFBQU0sRUFBRSxVQUFVLFFBQVEsYUFBYSxRQUFRLElBQUk7QUFFbkQsUUFBTSxTQUFTLGNBQWMsUUFBUTtBQUNyQyxRQUFNLGdCQUFnQixPQUFPLEtBQUs7QUFDbEMsUUFBTSxVQUFVLGNBQWMsU0FBUyxJQUNuQztBQUFBO0FBQUEsRUFBTyxXQUFXO0FBQUEsRUFBYSxhQUFhLEtBQzVDO0FBQ0osU0FBTyxHQUFHLE9BQU8sSUFBSSxNQUFNLG1CQUFtQixPQUFPO0FBQ3ZEO0FBUUEsU0FBUyxjQUFjLFVBQW1DO0FBQ3hELE1BQUksU0FBUyxlQUFlLFFBQVc7QUFDckMsV0FBTyxvQkFBb0IsU0FBUyxVQUFVO0FBQUEsRUFDaEQ7QUFDQSxNQUFJLFNBQVMsV0FBVyxNQUFNO0FBQzVCLFdBQU8sNEJBQTRCLFNBQVMsTUFBTTtBQUFBLEVBQ3BEO0FBQ0EsU0FBTyxnQ0FBZ0MsU0FBUyxTQUFTLE9BQU8sV0FBVyxPQUFPLFNBQVMsSUFBSSxDQUFDO0FBQ2xHOyIsCiAgIm5hbWVzIjogW10KfQo=
|
|
@@ -22,17 +22,6 @@ import type { ObsidianCdpTransportOptions } from './transport-options.mjs';
|
|
|
22
22
|
* Default for {@link ObsidianCdpTransportOptions.deadBootGraceInMilliseconds}.
|
|
23
23
|
*/
|
|
24
24
|
export declare const DEFAULT_DEAD_BOOT_GRACE_IN_MILLISECONDS = 10000;
|
|
25
|
-
/**
|
|
26
|
-
* Parameters for {@link checkRendererBootState}.
|
|
27
|
-
*/
|
|
28
|
-
export interface CheckRendererBootStateParams extends RendererBootObservation {
|
|
29
|
-
/**
|
|
30
|
-
* Whether the bootstrap grace window has elapsed since the renderer first
|
|
31
|
-
* reached `document.readyState` `'complete'`. The `'dead'` verdict is withheld
|
|
32
|
-
* until this is `true` so a genuinely slow boot is never misjudged.
|
|
33
|
-
*/
|
|
34
|
-
readonly hasGraceElapsed: boolean;
|
|
35
|
-
}
|
|
36
25
|
/**
|
|
37
26
|
* A sample of the owned renderer's bootstrap state, taken from the vault page
|
|
38
27
|
* target via a single CDP evaluation.
|
|
@@ -44,40 +33,55 @@ export interface RendererBootObservation {
|
|
|
44
33
|
* least a loading shell.
|
|
45
34
|
*/
|
|
46
35
|
readonly bodyChildElementCount: number;
|
|
47
|
-
/**
|
|
36
|
+
/**
|
|
37
|
+
Whether `window.app` is defined in the vault renderer.
|
|
38
|
+
*/
|
|
48
39
|
readonly hasWindowApp: boolean;
|
|
49
|
-
/**
|
|
40
|
+
/**
|
|
41
|
+
Whether the vault renderer's `document.readyState` is `'complete'`.
|
|
42
|
+
*/
|
|
50
43
|
readonly isDocumentComplete: boolean;
|
|
51
44
|
}
|
|
52
45
|
/**
|
|
53
|
-
* Verdict from {@link
|
|
46
|
+
* Verdict from {@link resolveRendererBootState}: `'dead'` when the renderer has
|
|
54
47
|
* terminally failed to initialize, `'pending'` when it may still be booting.
|
|
55
48
|
*/
|
|
56
49
|
export type RendererBootVerdict = 'dead' | 'pending';
|
|
57
50
|
/**
|
|
58
|
-
*
|
|
59
|
-
*
|
|
60
|
-
* The verdict is `'dead'` only when all of the following hold: the grace window
|
|
61
|
-
* has elapsed, `window.app` is still undefined, the document is `'complete'`,
|
|
62
|
-
* and `<body>` is empty. This is exactly the observed incompatible-shell state
|
|
63
|
-
* (an asar that cannot run on the launched Electron), and it cannot be reached
|
|
64
|
-
* by a healthy boot — `window.app` is defined early, and a slow boot renders a
|
|
65
|
-
* non-empty loading shell — so there is no false-positive path on a valid boot.
|
|
66
|
-
*
|
|
67
|
-
* @param params - The sampled observation plus whether the grace has elapsed.
|
|
68
|
-
* @returns `'dead'` when the renderer is terminally dead, otherwise `'pending'`.
|
|
51
|
+
* Parameters for {@link resolveRendererBootState}.
|
|
69
52
|
*/
|
|
70
|
-
export
|
|
53
|
+
export interface ResolveRendererBootStateParams extends RendererBootObservation {
|
|
54
|
+
/**
|
|
55
|
+
* Whether the bootstrap grace window has elapsed since the renderer first
|
|
56
|
+
* reached `document.readyState` `'complete'`. The `'dead'` verdict is withheld
|
|
57
|
+
* until this is `true` so a genuinely slow boot is never misjudged.
|
|
58
|
+
*/
|
|
59
|
+
readonly hasGraceElapsed: boolean;
|
|
60
|
+
}
|
|
71
61
|
/**
|
|
72
62
|
* Resolves the dead-boot fast-fail grace window, applying the default when the
|
|
73
63
|
* option is omitted.
|
|
74
64
|
*
|
|
75
65
|
* This bounds how long the owned-vault readiness poll waits — after the renderer
|
|
76
66
|
* first reaches `document.readyState` `'complete'` — before concluding the boot
|
|
77
|
-
* is dead (see {@link
|
|
67
|
+
* is dead (see {@link resolveRendererBootState}). A value of `0` disables fast-fail
|
|
78
68
|
* entirely, restoring the plain wait-out-the-readiness-timeout behavior.
|
|
79
69
|
*
|
|
80
70
|
* @param options - The desktop CDP transport options (or the relevant slice).
|
|
81
71
|
* @returns The grace window in milliseconds.
|
|
82
72
|
*/
|
|
83
73
|
export declare function resolveDeadBootGraceInMilliseconds(options?: Pick<ObsidianCdpTransportOptions, 'deadBootGraceInMilliseconds'>): number;
|
|
74
|
+
/**
|
|
75
|
+
* Decides whether the owned renderer has terminally failed to initialize.
|
|
76
|
+
*
|
|
77
|
+
* The verdict is `'dead'` only when all of the following hold: the grace window
|
|
78
|
+
* has elapsed, `window.app` is still undefined, the document is `'complete'`,
|
|
79
|
+
* and `<body>` is empty. This is exactly the observed incompatible-shell state
|
|
80
|
+
* (an asar that cannot run on the launched Electron), and it cannot be reached
|
|
81
|
+
* by a healthy boot — `window.app` is defined early, and a slow boot renders a
|
|
82
|
+
* non-empty loading shell — so there is no false-positive path on a valid boot.
|
|
83
|
+
*
|
|
84
|
+
* @param params - The sampled observation plus whether the grace has elapsed.
|
|
85
|
+
* @returns `'dead'` when the renderer is terminally dead, otherwise `'pending'`.
|
|
86
|
+
*/
|
|
87
|
+
export declare function resolveRendererBootState(params: ResolveRendererBootStateParams): RendererBootVerdict;
|
|
@@ -1,5 +1,8 @@
|
|
|
1
1
|
const DEFAULT_DEAD_BOOT_GRACE_IN_MILLISECONDS = 1e4;
|
|
2
|
-
function
|
|
2
|
+
function resolveDeadBootGraceInMilliseconds(options) {
|
|
3
|
+
return options?.deadBootGraceInMilliseconds ?? DEFAULT_DEAD_BOOT_GRACE_IN_MILLISECONDS;
|
|
4
|
+
}
|
|
5
|
+
function resolveRendererBootState(params) {
|
|
3
6
|
const { bodyChildElementCount, hasGraceElapsed, hasWindowApp, isDocumentComplete } = params;
|
|
4
7
|
if (hasWindowApp) {
|
|
5
8
|
return "pending";
|
|
@@ -12,12 +15,9 @@ function checkRendererBootState(params) {
|
|
|
12
15
|
}
|
|
13
16
|
return "pending";
|
|
14
17
|
}
|
|
15
|
-
function resolveDeadBootGraceInMilliseconds(options) {
|
|
16
|
-
return options?.deadBootGraceInMilliseconds ?? DEFAULT_DEAD_BOOT_GRACE_IN_MILLISECONDS;
|
|
17
|
-
}
|
|
18
18
|
export {
|
|
19
19
|
DEFAULT_DEAD_BOOT_GRACE_IN_MILLISECONDS,
|
|
20
|
-
|
|
21
|
-
|
|
20
|
+
resolveDeadBootGraceInMilliseconds,
|
|
21
|
+
resolveRendererBootState
|
|
22
22
|
};
|
|
23
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
23
|
+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL3JlbmRlcmVyLWJvb3QtZGV0ZWN0aW9uLnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyIvKipcbiAqIEBmaWxlXG4gKlxuICogUHVyZSBkZXRlY3Rpb24gb2YgYSB0ZXJtaW5hbCBcImRlYWQgYm9vdFwiIG9mIHRoZSBvd25lZCBPYnNpZGlhbiByZW5kZXJlciwgcGx1c1xuICogcmVzb2x2aW5nIHRoZSBmYXN0LWZhaWwgZ3JhY2Ugd2luZG93IGZyb20gdGhlIHRyYW5zcG9ydCBvcHRpb25zLiBLZXB0IHNlcGFyYXRlXG4gKiBmcm9tIHRoZSBpbnRlZ3JhdGlvbi1vbmx5IGB0cmFuc3BvcnQtZGVza3RvcC1jZHBgICh3aGljaCBkcml2ZXMgcmVhbCBDRFAgYW5kIGlzXG4gKiBleGNsdWRlZCBmcm9tIHVuaXQgdGVzdHMpIHNvIHRoZSB2ZXJkaWN0IGxvZ2ljIGFuZCBkZWZhdWx0IHJlc29sdXRpb24gc3RheVxuICogdW5pdC10ZXN0YWJsZS5cbiAqXG4gKiBXaGVuIGFuIE9ic2lkaWFuIGFzYXIgY2Fubm90IHJ1biBvbiB0aGUgbGF1bmNoZWQgRWxlY3Ryb24gc2hlbGwgKHRoZSBpbnN0YWxsZXJcbiAqIHZlcnNpb24gaXMgdG9vIG9sZCBmb3IgdGhhdCBhcHAgdmVyc2lvbiksIHRoZSByZW5kZXJlciBsb2FkcyBgaW5kZXguaHRtbGBcbiAqIChgZG9jdW1lbnQucmVhZHlTdGF0ZWAgcmVhY2hlcyBgJ2NvbXBsZXRlJ2ApIGJ1dCB0aGUgYXBwIG5ldmVyIGJvb3RzdHJhcHM6XG4gKiBgZG9jdW1lbnQuYm9keWAgc3RheXMgZW1wdHkgYW5kIGB3aW5kb3cuYXBwYCByZW1haW5zIGB1bmRlZmluZWRgIFx1MjAxNCB2aXN1YWxseSBhXG4gKiBibGFjayBzY3JlZW4uIFRoZSBvd25lZC12YXVsdCByZWFkaW5lc3MgcG9sbCBjYW5ub3QgdGVsbCB0aGlzIHRlcm1pbmFsIHN0YXRlXG4gKiBhcGFydCBmcm9tIFwic3RpbGwgbG9hZGluZ1wiLCBzbyB3aXRob3V0IGEgZGV0ZWN0b3IgaXQgd2FpdHMgb3V0IHRoZSB3aG9sZVxuICogcmVhZGluZXNzIHRpbWVvdXQgYmVmb3JlIGZhaWxpbmcuIFRoaXMgbW9kdWxlIGVuY29kZXMgdGhlIHNpZ25hbCB0aGF0XG4gKiBkaXN0aW5ndWlzaGVzIHRoZSB0d286IG9uY2UgdGhlIHJlbmRlcmVyIGhhcyBiZWVuIGBjb21wbGV0ZWAgZm9yIGEgc2hvcnQgZ3JhY2VcbiAqIHdpbmRvdyB3aXRoIG5vIGB3aW5kb3cuYXBwYCBhbmQgYW4gZW1wdHkgYDxib2R5PmAsIGl0IGlzIGRlYWQsIG5vdCBzbG93LlxuICovXG5cbmltcG9ydCB0eXBlIHsgT2JzaWRpYW5DZHBUcmFuc3BvcnRPcHRpb25zIH0gZnJvbSAnLi90cmFuc3BvcnQtb3B0aW9ucy5tanMnO1xuXG4vKipcbiAqIERlZmF1bHQgZm9yIHtAbGluayBPYnNpZGlhbkNkcFRyYW5zcG9ydE9wdGlvbnMuZGVhZEJvb3RHcmFjZUluTWlsbGlzZWNvbmRzfS5cbiAqL1xuZXhwb3J0IGNvbnN0IERFRkFVTFRfREVBRF9CT09UX0dSQUNFX0lOX01JTExJU0VDT05EUyA9IDEwXzAwMDtcblxuLyoqXG4gKiBBIHNhbXBsZSBvZiB0aGUgb3duZWQgcmVuZGVyZXIncyBib290c3RyYXAgc3RhdGUsIHRha2VuIGZyb20gdGhlIHZhdWx0IHBhZ2VcbiAqIHRhcmdldCB2aWEgYSBzaW5nbGUgQ0RQIGV2YWx1YXRpb24uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUmVuZGVyZXJCb290T2JzZXJ2YXRpb24ge1xuICAvKipcbiAgICogYGRvY3VtZW50LmJvZHkuY2hpbGRFbGVtZW50Q291bnRgIGluIHRoZSB2YXVsdCByZW5kZXJlciAoYDBgIHdoZW4gYGJvZHlgIGlzXG4gICAqIGFic2VudCkuIEEgZGVhZCBib290IGxlYXZlcyB0aGUgYm9keSBlbXB0eTsgYSBzbG93LWJ1dC12YWxpZCBib290IHJlbmRlcnMgYXRcbiAgICogbGVhc3QgYSBsb2FkaW5nIHNoZWxsLlxuICAgKi9cbiAgcmVhZG9ubHkgYm9keUNoaWxkRWxlbWVudENvdW50OiBudW1iZXI7XG5cbiAgLyoqXG4gIFdoZXRoZXIgYHdpbmRvdy5hcHBgIGlzIGRlZmluZWQgaW4gdGhlIHZhdWx0IHJlbmRlcmVyLlxuICAgKi9cbiAgcmVhZG9ubHkgaGFzV2luZG93QXBwOiBib29sZWFuO1xuXG4gIC8qKlxuICBXaGV0aGVyIHRoZSB2YXVsdCByZW5kZXJlcidzIGBkb2N1bWVudC5yZWFkeVN0YXRlYCBpcyBgJ2NvbXBsZXRlJ2AuXG4gICAqL1xuICByZWFkb25seSBpc0RvY3VtZW50Q29tcGxldGU6IGJvb2xlYW47XG59XG5cbi8qKlxuICogVmVyZGljdCBmcm9tIHtAbGluayByZXNvbHZlUmVuZGVyZXJCb290U3RhdGV9OiBgJ2RlYWQnYCB3aGVuIHRoZSByZW5kZXJlciBoYXNcbiAqIHRlcm1pbmFsbHkgZmFpbGVkIHRvIGluaXRpYWxpemUsIGAncGVuZGluZydgIHdoZW4gaXQgbWF5IHN0aWxsIGJlIGJvb3RpbmcuXG4gKi9cbmV4cG9ydCB0eXBlIFJlbmRlcmVyQm9vdFZlcmRpY3QgPSAnZGVhZCcgfCAncGVuZGluZyc7XG5cbi8qKlxuICogUGFyYW1ldGVycyBmb3Ige0BsaW5rIHJlc29sdmVSZW5kZXJlckJvb3RTdGF0ZX0uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUmVzb2x2ZVJlbmRlcmVyQm9vdFN0YXRlUGFyYW1zIGV4dGVuZHMgUmVuZGVyZXJCb290T2JzZXJ2YXRpb24ge1xuICAvKipcbiAgICogV2hldGhlciB0aGUgYm9vdHN0cmFwIGdyYWNlIHdpbmRvdyBoYXMgZWxhcHNlZCBzaW5jZSB0aGUgcmVuZGVyZXIgZmlyc3RcbiAgICogcmVhY2hlZCBgZG9jdW1lbnQucmVhZHlTdGF0ZWAgYCdjb21wbGV0ZSdgLiBUaGUgYCdkZWFkJ2AgdmVyZGljdCBpcyB3aXRoaGVsZFxuICAgKiB1bnRpbCB0aGlzIGlzIGB0cnVlYCBzbyBhIGdlbnVpbmVseSBzbG93IGJvb3QgaXMgbmV2ZXIgbWlzanVkZ2VkLlxuICAgKi9cbiAgcmVhZG9ubHkgaGFzR3JhY2VFbGFwc2VkOiBib29sZWFuO1xufVxuXG4vKipcbiAqIFJlc29sdmVzIHRoZSBkZWFkLWJvb3QgZmFzdC1mYWlsIGdyYWNlIHdpbmRvdywgYXBwbHlpbmcgdGhlIGRlZmF1bHQgd2hlbiB0aGVcbiAqIG9wdGlvbiBpcyBvbWl0dGVkLlxuICpcbiAqIFRoaXMgYm91bmRzIGhvdyBsb25nIHRoZSBvd25lZC12YXVsdCByZWFkaW5lc3MgcG9sbCB3YWl0cyBcdTIwMTQgYWZ0ZXIgdGhlIHJlbmRlcmVyXG4gKiBmaXJzdCByZWFjaGVzIGBkb2N1bWVudC5yZWFkeVN0YXRlYCBgJ2NvbXBsZXRlJ2AgXHUyMDE0IGJlZm9yZSBjb25jbHVkaW5nIHRoZSBib290XG4gKiBpcyBkZWFkIChzZWUge0BsaW5rIHJlc29sdmVSZW5kZXJlckJvb3RTdGF0ZX0pLiBBIHZhbHVlIG9mIGAwYCBkaXNhYmxlcyBmYXN0LWZhaWxcbiAqIGVudGlyZWx5LCByZXN0b3JpbmcgdGhlIHBsYWluIHdhaXQtb3V0LXRoZS1yZWFkaW5lc3MtdGltZW91dCBiZWhhdmlvci5cbiAqXG4gKiBAcGFyYW0gb3B0aW9ucyAtIFRoZSBkZXNrdG9wIENEUCB0cmFuc3BvcnQgb3B0aW9ucyAob3IgdGhlIHJlbGV2YW50IHNsaWNlKS5cbiAqIEByZXR1cm5zIFRoZSBncmFjZSB3aW5kb3cgaW4gbWlsbGlzZWNvbmRzLlxuICovXG5leHBvcnQgZnVuY3Rpb24gcmVzb2x2ZURlYWRCb290R3JhY2VJbk1pbGxpc2Vjb25kcyhcbiAgb3B0aW9ucz86IFBpY2s8T2JzaWRpYW5DZHBUcmFuc3BvcnRPcHRpb25zLCAnZGVhZEJvb3RHcmFjZUluTWlsbGlzZWNvbmRzJz5cbik6IG51bWJlciB7XG4gIHJldHVybiBvcHRpb25zPy5kZWFkQm9vdEdyYWNlSW5NaWxsaXNlY29uZHMgPz8gREVGQVVMVF9ERUFEX0JPT1RfR1JBQ0VfSU5fTUlMTElTRUNPTkRTO1xufVxuXG4vKipcbiAqIERlY2lkZXMgd2hldGhlciB0aGUgb3duZWQgcmVuZGVyZXIgaGFzIHRlcm1pbmFsbHkgZmFpbGVkIHRvIGluaXRpYWxpemUuXG4gKlxuICogVGhlIHZlcmRpY3QgaXMgYCdkZWFkJ2Agb25seSB3aGVuIGFsbCBvZiB0aGUgZm9sbG93aW5nIGhvbGQ6IHRoZSBncmFjZSB3aW5kb3dcbiAqIGhhcyBlbGFwc2VkLCBgd2luZG93LmFwcGAgaXMgc3RpbGwgdW5kZWZpbmVkLCB0aGUgZG9jdW1lbnQgaXMgYCdjb21wbGV0ZSdgLFxuICogYW5kIGA8Ym9keT5gIGlzIGVtcHR5LiBUaGlzIGlzIGV4YWN0bHkgdGhlIG9ic2VydmVkIGluY29tcGF0aWJsZS1zaGVsbCBzdGF0ZVxuICogKGFuIGFzYXIgdGhhdCBjYW5ub3QgcnVuIG9uIHRoZSBsYXVuY2hlZCBFbGVjdHJvbiksIGFuZCBpdCBjYW5ub3QgYmUgcmVhY2hlZFxuICogYnkgYSBoZWFsdGh5IGJvb3QgXHUyMDE0IGB3aW5kb3cuYXBwYCBpcyBkZWZpbmVkIGVhcmx5LCBhbmQgYSBzbG93IGJvb3QgcmVuZGVycyBhXG4gKiBub24tZW1wdHkgbG9hZGluZyBzaGVsbCBcdTIwMTQgc28gdGhlcmUgaXMgbm8gZmFsc2UtcG9zaXRpdmUgcGF0aCBvbiBhIHZhbGlkIGJvb3QuXG4gKlxuICogQHBhcmFtIHBhcmFtcyAtIFRoZSBzYW1wbGVkIG9ic2VydmF0aW9uIHBsdXMgd2hldGhlciB0aGUgZ3JhY2UgaGFzIGVsYXBzZWQuXG4gKiBAcmV0dXJucyBgJ2RlYWQnYCB3aGVuIHRoZSByZW5kZXJlciBpcyB0ZXJtaW5hbGx5IGRlYWQsIG90aGVyd2lzZSBgJ3BlbmRpbmcnYC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHJlc29sdmVSZW5kZXJlckJvb3RTdGF0ZShwYXJhbXM6IFJlc29sdmVSZW5kZXJlckJvb3RTdGF0ZVBhcmFtcyk6IFJlbmRlcmVyQm9vdFZlcmRpY3Qge1xuICBjb25zdCB7IGJvZHlDaGlsZEVsZW1lbnRDb3VudCwgaGFzR3JhY2VFbGFwc2VkLCBoYXNXaW5kb3dBcHAsIGlzRG9jdW1lbnRDb21wbGV0ZSB9ID0gcGFyYW1zO1xuXG4gIGlmIChoYXNXaW5kb3dBcHApIHtcbiAgICByZXR1cm4gJ3BlbmRpbmcnO1xuICB9XG5cbiAgaWYgKCFoYXNHcmFjZUVsYXBzZWQpIHtcbiAgICByZXR1cm4gJ3BlbmRpbmcnO1xuICB9XG5cbiAgaWYgKGlzRG9jdW1lbnRDb21wbGV0ZSAmJiBib2R5Q2hpbGRFbGVtZW50Q291bnQgPT09IDApIHtcbiAgICByZXR1cm4gJ2RlYWQnO1xuICB9XG5cbiAgcmV0dXJuICdwZW5kaW5nJztcbn1cbiJdLAogICJtYXBwaW5ncyI6ICJBQXlCTyxNQUFNLDBDQUEwQztBQXVEaEQsU0FBUyxtQ0FDZCxTQUNRO0FBQ1IsU0FBTyxTQUFTLCtCQUErQjtBQUNqRDtBQWVPLFNBQVMseUJBQXlCLFFBQTZEO0FBQ3BHLFFBQU0sRUFBRSx1QkFBdUIsaUJBQWlCLGNBQWMsbUJBQW1CLElBQUk7QUFFckYsTUFBSSxjQUFjO0FBQ2hCLFdBQU87QUFBQSxFQUNUO0FBRUEsTUFBSSxDQUFDLGlCQUFpQjtBQUNwQixXQUFPO0FBQUEsRUFDVDtBQUVBLE1BQUksc0JBQXNCLDBCQUEwQixHQUFHO0FBQ3JELFdBQU87QUFBQSxFQUNUO0FBRUEsU0FBTztBQUNUOyIsCiAgIm5hbWVzIjogW10KfQo=
|
|
@@ -10,7 +10,7 @@
|
|
|
10
10
|
/**
|
|
11
11
|
* Thrown when the owned Obsidian renderer loads but never bootstraps the app —
|
|
12
12
|
* an empty `<body>` with no `window.app` after the boot grace window (see
|
|
13
|
-
* `
|
|
13
|
+
* `resolveRendererBootState`). The usual cause is an installer/Electron shell too
|
|
14
14
|
* old for the pinned Obsidian app version.
|
|
15
15
|
*/
|
|
16
16
|
export declare class RendererFailedToInitializeError extends Error {
|
|
@@ -14,4 +14,4 @@ class RendererFailedToInitializeError extends Error {
|
|
|
14
14
|
export {
|
|
15
15
|
RendererFailedToInitializeError
|
|
16
16
|
};
|
|
17
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
17
|
+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL3JlbmRlcmVyLWZhaWxlZC10by1pbml0aWFsaXplLWVycm9yLnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyIvKipcbiAqIEBmaWxlXG4gKlxuICogVGhlIGRpc3RpbmN0IGVycm9yIHRocm93biB3aGVuIHRoZSBvd25lZCBPYnNpZGlhbiByZW5kZXJlciB0ZXJtaW5hbGx5IGZhaWxzIHRvXG4gKiBpbml0aWFsaXplIFx1MjAxNCB0aGUgYXNhciBjb3VsZCBub3QgcnVuIG9uIHRoZSBsYXVuY2hlZCBFbGVjdHJvbiBzaGVsbCAodGhlXG4gKiBpbnN0YWxsZXIvRWxlY3Ryb24gdmVyc2lvbiBpcyB0b28gb2xkIGZvciB0aGUgT2JzaWRpYW4gYXBwIHZlcnNpb24pLiBJdCBpc1xuICogZXhwb3J0ZWQgc28gY2FsbGVycyBvZiBgY29ubmVjdFRvQ2RwYCAvIHRoZSB0cmFuc3BvcnQgY2FuIGBpbnN0YW5jZW9mYC1tYXRjaFxuICogdGhpcyBzcGVjaWZpYyBmYWlsdXJlIGFuZCBkaXN0aW5ndWlzaCBpdCBmcm9tIGEgZ2VuZXJpYyByZWFkaW5lc3MgdGltZW91dC5cbiAqL1xuXG4vKipcbiAqIFRocm93biB3aGVuIHRoZSBvd25lZCBPYnNpZGlhbiByZW5kZXJlciBsb2FkcyBidXQgbmV2ZXIgYm9vdHN0cmFwcyB0aGUgYXBwIFx1MjAxNFxuICogYW4gZW1wdHkgYDxib2R5PmAgd2l0aCBubyBgd2luZG93LmFwcGAgYWZ0ZXIgdGhlIGJvb3QgZ3JhY2Ugd2luZG93IChzZWVcbiAqIGByZXNvbHZlUmVuZGVyZXJCb290U3RhdGVgKS4gVGhlIHVzdWFsIGNhdXNlIGlzIGFuIGluc3RhbGxlci9FbGVjdHJvbiBzaGVsbCB0b29cbiAqIG9sZCBmb3IgdGhlIHBpbm5lZCBPYnNpZGlhbiBhcHAgdmVyc2lvbi5cbiAqL1xuZXhwb3J0IGNsYXNzIFJlbmRlcmVyRmFpbGVkVG9Jbml0aWFsaXplRXJyb3IgZXh0ZW5kcyBFcnJvciB7XG4gIC8qKlxuICAgKiBDcmVhdGVzIHRoZSBlcnJvciBmb3IgYSBzcGVjaWZpYyB2YXVsdC5cbiAgICpcbiAgICogQHBhcmFtIHZhdWx0UGF0aCAtIFRoZSB2YXVsdCB3aG9zZSBvd25lZCByZW5kZXJlciBmYWlsZWQgdG8gaW5pdGlhbGl6ZS5cbiAgICovXG4gIHB1YmxpYyBjb25zdHJ1Y3Rvcih2YXVsdFBhdGg6IHN0cmluZykge1xuICAgIHN1cGVyKFxuICAgICAgYFRoZSBPYnNpZGlhbiByZW5kZXJlciBmb3IgdmF1bHQgJHt2YXVsdFBhdGh9IGRpZCBub3QgaW5pdGlhbGl6ZSBvbiB0aGlzIEVsZWN0cm9uIHNoZWxsLiBgXG4gICAgICAgICsgJ1RoZSBpbnN0YWxsZXIvRWxlY3Ryb24gdmVyc2lvbiBpcyBsaWtlbHkgdG9vIG9sZCBmb3IgdGhpcyBPYnNpZGlhbiBhcHAgdmVyc2lvbi4gJ1xuICAgICAgICArICdQaW4gYSBuZXdlciBvYnNpZGlhbkluc3RhbGxlclZlcnNpb24sIG9yIGFsaWduIG9ic2lkaWFuVmVyc2lvbiB3aXRoIHRoZSBpbnN0YWxsZWQgc2hlbGwuJ1xuICAgICk7XG4gICAgdGhpcy5uYW1lID0gJ1JlbmRlcmVyRmFpbGVkVG9Jbml0aWFsaXplRXJyb3InO1xuICB9XG59XG4iXSwKICAibWFwcGluZ3MiOiAiQUFnQk8sTUFBTSx3Q0FBd0MsTUFBTTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQU1sRCxZQUFZLFdBQW1CO0FBQ3BDO0FBQUEsTUFDRSxtQ0FBbUMsU0FBUztBQUFBLElBRzlDO0FBQ0EsU0FBSyxPQUFPO0FBQUEsRUFDZDtBQUNGOyIsCiAgIm5hbWVzIjogW10KfQo=
|
|
@@ -27,7 +27,9 @@
|
|
|
27
27
|
* Parameters for {@link acquireSetupLock}.
|
|
28
28
|
*/
|
|
29
29
|
export interface AcquireSetupLockParams {
|
|
30
|
-
/**
|
|
30
|
+
/**
|
|
31
|
+
Short transport label for log messages (e.g. `"obsidian-cli"`).
|
|
32
|
+
*/
|
|
31
33
|
readonly label: string;
|
|
32
34
|
/**
|
|
33
35
|
* Logical scope the lock serializes within. Runs that share resources must
|
|
@@ -47,7 +49,9 @@ export interface AcquireSetupLockParams {
|
|
|
47
49
|
* A held setup lock. Release it once the run's teardown is complete.
|
|
48
50
|
*/
|
|
49
51
|
export interface SetupLock {
|
|
50
|
-
/**
|
|
52
|
+
/**
|
|
53
|
+
Releases the lock. Safe to call more than once.
|
|
54
|
+
*/
|
|
51
55
|
release(): void;
|
|
52
56
|
}
|
|
53
57
|
/**
|