obsidian-integration-testing 8.4.0 → 9.1.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.
Files changed (86) hide show
  1. package/README.md +82 -11
  2. package/dist/lib/cjs/avd-list.cjs +36 -0
  3. package/dist/lib/cjs/avd-list.d.cts +38 -0
  4. package/dist/lib/cjs/demo-vault-populate.cjs +77 -0
  5. package/dist/lib/cjs/demo-vault-populate.d.cts +71 -0
  6. package/dist/lib/cjs/demo-vault-tree.cjs +52 -0
  7. package/dist/lib/cjs/demo-vault-tree.d.cts +34 -0
  8. package/dist/lib/cjs/enable-plugin.cjs +56 -5
  9. package/dist/lib/cjs/enable-plugin.d.cts +26 -1
  10. package/dist/lib/cjs/global-setup-core.cjs +92 -26
  11. package/dist/lib/cjs/global-setup-core.d.cts +24 -3
  12. package/dist/lib/cjs/index.cjs +10 -1
  13. package/dist/lib/cjs/index.d.cts +6 -0
  14. package/dist/lib/cjs/jest/global-setup-no-plugin.cjs +41 -0
  15. package/dist/lib/cjs/jest/global-setup-no-plugin.d.cts +26 -0
  16. package/dist/lib/cjs/jest/global-setup.cjs +7 -2
  17. package/dist/lib/cjs/jest/global-setup.d.cts +20 -3
  18. package/dist/lib/cjs/jest/global-teardown-no-plugin.cjs +26 -0
  19. package/dist/lib/cjs/jest/global-teardown-no-plugin.d.cts +11 -0
  20. package/dist/lib/cjs/library.cjs +1 -1
  21. package/dist/lib/cjs/plugin-enable-retry.cjs +53 -0
  22. package/dist/lib/cjs/plugin-enable-retry.d.cts +71 -0
  23. package/dist/lib/cjs/poll-in-obsidian.cjs +72 -0
  24. package/dist/lib/cjs/poll-in-obsidian.d.cts +92 -0
  25. package/dist/lib/cjs/poll-until.cjs +43 -0
  26. package/dist/lib/cjs/poll-until.d.cts +42 -0
  27. package/dist/lib/cjs/process-exit-message.cjs +47 -0
  28. package/dist/lib/cjs/process-exit-message.d.cts +48 -0
  29. package/dist/lib/cjs/transport-appium.cjs +51 -1
  30. package/dist/lib/cjs/transport-appium.d.cts +24 -1
  31. package/dist/lib/cjs/transport-desktop-cdp.cjs +20 -11
  32. package/dist/lib/cjs/transport-desktop-cdp.d.cts +9 -2
  33. package/dist/lib/cjs/transport-factory.cjs +122 -23
  34. package/dist/lib/cjs/transport-options.cjs +1 -1
  35. package/dist/lib/cjs/transport-options.d.cts +28 -0
  36. package/dist/lib/cjs/transport.cjs +1 -1
  37. package/dist/lib/cjs/transport.d.cts +37 -0
  38. package/dist/lib/cjs/vault-path-match.cjs +49 -0
  39. package/dist/lib/cjs/vault-path-match.d.cts +36 -0
  40. package/dist/lib/cjs/vitest/global-setup-no-plugin.cjs +37 -0
  41. package/dist/lib/cjs/vitest/global-setup-no-plugin.d.cts +26 -0
  42. package/dist/lib/cjs/vitest/global-setup.cjs +7 -2
  43. package/dist/lib/cjs/vitest/global-setup.d.cts +20 -3
  44. package/dist/lib/esm/avd-list.d.mts +38 -0
  45. package/dist/lib/esm/avd-list.mjs +11 -0
  46. package/dist/lib/esm/demo-vault-populate.d.mts +71 -0
  47. package/dist/lib/esm/demo-vault-populate.mjs +57 -0
  48. package/dist/lib/esm/demo-vault-tree.d.mts +34 -0
  49. package/dist/lib/esm/demo-vault-tree.mjs +35 -0
  50. package/dist/lib/esm/enable-plugin.d.mts +26 -1
  51. package/dist/lib/esm/enable-plugin.mjs +54 -4
  52. package/dist/lib/esm/global-setup-core.d.mts +24 -3
  53. package/dist/lib/esm/global-setup-core.mjs +101 -27
  54. package/dist/lib/esm/index.d.mts +6 -0
  55. package/dist/lib/esm/index.mjs +7 -1
  56. package/dist/lib/esm/jest/global-setup-no-plugin.d.mts +26 -0
  57. package/dist/lib/esm/jest/global-setup-no-plugin.mjs +17 -0
  58. package/dist/lib/esm/jest/global-setup.d.mts +20 -3
  59. package/dist/lib/esm/jest/global-setup.mjs +7 -2
  60. package/dist/lib/esm/jest/global-teardown-no-plugin.d.mts +11 -0
  61. package/dist/lib/esm/jest/global-teardown-no-plugin.mjs +6 -0
  62. package/dist/lib/esm/library.mjs +1 -1
  63. package/dist/lib/esm/plugin-enable-retry.d.mts +71 -0
  64. package/dist/lib/esm/plugin-enable-retry.mjs +24 -0
  65. package/dist/lib/esm/poll-in-obsidian.d.mts +92 -0
  66. package/dist/lib/esm/poll-in-obsidian.mjs +48 -0
  67. package/dist/lib/esm/poll-until.d.mts +42 -0
  68. package/dist/lib/esm/poll-until.mjs +19 -0
  69. package/dist/lib/esm/process-exit-message.d.mts +48 -0
  70. package/dist/lib/esm/process-exit-message.mjs +23 -0
  71. package/dist/lib/esm/transport-appium.d.mts +24 -1
  72. package/dist/lib/esm/transport-appium.mjs +51 -1
  73. package/dist/lib/esm/transport-desktop-cdp.d.mts +9 -2
  74. package/dist/lib/esm/transport-desktop-cdp.mjs +20 -11
  75. package/dist/lib/esm/transport-factory.mjs +125 -23
  76. package/dist/lib/esm/transport-options.d.mts +28 -0
  77. package/dist/lib/esm/transport.d.mts +37 -0
  78. package/dist/lib/esm/vault-path-match.d.mts +36 -0
  79. package/dist/lib/esm/vault-path-match.mjs +14 -0
  80. package/dist/lib/esm/vitest/global-setup-no-plugin.d.mts +26 -0
  81. package/dist/lib/esm/vitest/global-setup-no-plugin.mjs +11 -0
  82. package/dist/lib/esm/vitest/global-setup.d.mts +20 -3
  83. package/dist/lib/esm/vitest/global-setup.mjs +7 -2
  84. package/dist/obsidian-integration-testing-9.1.0.tgz +0 -0
  85. package/package.json +38 -8
  86. package/dist/obsidian-integration-testing-8.4.0.tgz +0 -0
@@ -25,6 +25,7 @@ __export(index_exports, {
25
25
  RendererFailedToInitializeError: () => import_renderer_failed_to_initialize_error.RendererFailedToInitializeError,
26
26
  SilentAsarFallbackError: () => import_silent_asar_fallback_error.SilentAsarFallbackError,
27
27
  TempVault: () => import_temp_vault.TempVault,
28
+ buildDemoVaultPopulate: () => import_demo_vault_populate.buildDemoVaultPopulate,
28
29
  checkAsarFallback: () => import_asar_fallback_detection.checkAsarFallback,
29
30
  checkElectronCompatibility: () => import_electron_compatibility.checkElectronCompatibility,
30
31
  checkInstallerCompatibility: () => import_installer_compatibility.checkInstallerCompatibility,
@@ -32,6 +33,8 @@ __export(index_exports, {
32
33
  createTransportFromOptions: () => import_transport_factory.createTransportFromOptions,
33
34
  evalInObsidian: () => import_eval_in_obsidian.evalInObsidian,
34
35
  getVersionMetadata: () => import_obsidian_metadata.getVersionMetadata,
36
+ pollInObsidian: () => import_poll_in_obsidian.pollInObsidian,
37
+ readDemoVaultTree: () => import_demo_vault_tree.readDemoVaultTree,
35
38
  registerLibResolver: () => import_lib_registry.registerLibResolver,
36
39
  registerVault: () => import_vault_registry.registerVault,
37
40
  setTransportOptionsResolver: () => import_context_provider.setTransportOptionsResolver,
@@ -43,12 +46,15 @@ var import_asar_fallback_detection = require("./asar-fallback-detection.cjs");
43
46
  var import_connect_to_cdp = require("./connect-to-cdp.cjs");
44
47
  var import_context_id = require("./context-id.cjs");
45
48
  var import_context_provider = require("./context-provider.cjs");
49
+ var import_demo_vault_populate = require("./demo-vault-populate.cjs");
50
+ var import_demo_vault_tree = require("./demo-vault-tree.cjs");
46
51
  var import_electron_compatibility = require("./electron-compatibility.cjs");
47
52
  var import_eval_in_obsidian = require("./eval-in-obsidian.cjs");
48
53
  var import_incompatible_installer_version_error = require("./incompatible-installer-version-error.cjs");
49
54
  var import_installer_compatibility = require("./installer-compatibility.cjs");
50
55
  var import_lib_registry = require("./lib-registry.cjs");
51
56
  var import_obsidian_metadata = require("./obsidian-metadata.cjs");
57
+ var import_poll_in_obsidian = require("./poll-in-obsidian.cjs");
52
58
  var import_renderer_failed_to_initialize_error = require("./renderer-failed-to-initialize-error.cjs");
53
59
  var import_silent_asar_fallback_error = require("./silent-asar-fallback-error.cjs");
54
60
  var import_temp_vault = require("./temp-vault.cjs");
@@ -65,6 +71,7 @@ var import_vault_registry = require("./vault-registry.cjs");
65
71
  RendererFailedToInitializeError,
66
72
  SilentAsarFallbackError,
67
73
  TempVault,
74
+ buildDemoVaultPopulate,
68
75
  checkAsarFallback,
69
76
  checkElectronCompatibility,
70
77
  checkInstallerCompatibility,
@@ -72,10 +79,12 @@ var import_vault_registry = require("./vault-registry.cjs");
72
79
  createTransportFromOptions,
73
80
  evalInObsidian,
74
81
  getVersionMetadata,
82
+ pollInObsidian,
83
+ readDemoVaultTree,
75
84
  registerLibResolver,
76
85
  registerVault,
77
86
  setTransportOptionsResolver,
78
87
  setVaultPathResolver,
79
88
  unregisterVault
80
89
  });
81
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL2luZGV4LnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyIvKipcbiAqIEBmaWxlXG4gKlxuICogQ29udGFpbnMgdGhlIGVudHJ5IHBvaW50IGZvciB0aGUgaW50ZWdyYXRpb24gdGVzdGluZyBtb2R1bGUuXG4gKi9cblxuZXhwb3J0IHR5cGUge1xuICBBc2FyRmFsbGJhY2ssXG4gIEFzYXJGYWxsYmFja1RpZXIsXG4gIENoZWNrQXNhckZhbGxiYWNrUGFyYW1zXG59IGZyb20gJy4vYXNhci1mYWxsYmFjay1kZXRlY3Rpb24uY2pzJztcbmV4cG9ydCB7IGNoZWNrQXNhckZhbGxiYWNrIH0gZnJvbSAnLi9hc2FyLWZhbGxiYWNrLWRldGVjdGlvbi5janMnO1xuZXhwb3J0IHR5cGUge1xuICBDZHBDb25uZWN0aW9uLFxuICBDb25uZWN0VG9DZHBPcHRpb25zXG59IGZyb20gJy4vY29ubmVjdC10by1jZHAuY2pzJztcbmV4cG9ydCB7IGNvbm5lY3RUb0NkcCB9IGZyb20gJy4vY29ubmVjdC10by1jZHAuY2pzJztcbmV4cG9ydCB7IENvbnRleHRJZCB9IGZyb20gJy4vY29udGV4dC1pZC5janMnO1xuZXhwb3J0IHR5cGUge1xuICBUcmFuc3BvcnRPcHRpb25zUmVzb2x2ZXIsXG4gIFZhdWx0UGF0aFJlc29sdmVyXG59IGZyb20gJy4vY29udGV4dC1wcm92aWRlci5janMnO1xuZXhwb3J0IHtcbiAgc2V0VHJhbnNwb3J0T3B0aW9uc1Jlc29sdmVyLFxuICBzZXRWYXVsdFBhdGhSZXNvbHZlclxufSBmcm9tICcuL2NvbnRleHQtcHJvdmlkZXIuY2pzJztcbmV4cG9ydCB0eXBlIHtcbiAgQ2hlY2tFbGVjdHJvbkNvbXBhdGliaWxpdHlQYXJhbXMsXG4gIEVsZWN0cm9uQ29tcGF0aWJpbGl0eSxcbiAgRWxlY3Ryb25Db21wYXRpYmlsaXR5VGllclxufSBmcm9tICcuL2VsZWN0cm9uLWNvbXBhdGliaWxpdHkuY2pzJztcbmV4cG9ydCB7IGNoZWNrRWxlY3Ryb25Db21wYXRpYmlsaXR5IH0gZnJvbSAnLi9lbGVjdHJvbi1jb21wYXRpYmlsaXR5LmNqcyc7XG5leHBvcnQgdHlwZSB7XG4gIEV2YWxJbk9ic2lkaWFuUGFyYW1zLFxuICBIb3ZlckVsZW1lbnRQYXJhbXMsXG4gIExpYixcbiAgTW92ZU1vdXNlUGFyYW1zLFxuICBQcmVzc0tleVBhcmFtcyxcbiAgVHlwZUludG9FZGl0b3JQYXJhbXMsXG4gIFVuaG92ZXJFbGVtZW50UGFyYW1zLFxuICBXYWl0VW50aWxQYXJhbXNcbn0gZnJvbSAnLi9ldmFsLWluLW9ic2lkaWFuLmNqcyc7XG5leHBvcnQgeyBldmFsSW5PYnNpZGlhbiB9IGZyb20gJy4vZXZhbC1pbi1vYnNpZGlhbi5janMnO1xuZXhwb3J0IHR5cGUgeyBJbmNvbXBhdGlibGVJbnN0YWxsZXJWZXJzaW9uRXJyb3JDb25zdHJ1Y3RvclBhcmFtcyB9IGZyb20gJy4vaW5jb21wYXRpYmxlLWluc3RhbGxlci12ZXJzaW9uLWVycm9yLmNqcyc7XG5leHBvcnQgeyBJbmNvbXBhdGlibGVJbnN0YWxsZXJWZXJzaW9uRXJyb3IgfSBmcm9tICcuL2luY29tcGF0aWJsZS1pbnN0YWxsZXItdmVyc2lvbi1lcnJvci5janMnO1xuZXhwb3J0IHR5cGUge1xuICBDaGVja0luc3RhbGxlckNvbXBhdGliaWxpdHlQYXJhbXMsXG4gIEluc3RhbGxlckNvbXBhdGliaWxpdHksXG4gIEluc3RhbGxlckNvbXBhdGliaWxpdHlUaWVyXG59IGZyb20gJy4vaW5zdGFsbGVyLWNvbXBhdGliaWxpdHkuY2pzJztcbmV4cG9ydCB7IGNoZWNrSW5zdGFsbGVyQ29tcGF0aWJpbGl0eSB9IGZyb20gJy4vaW5zdGFsbGVyLWNvbXBhdGliaWxpdHkuY2pzJztcbmV4cG9ydCB0eXBlIHsgTGliUmVzb2x2ZXIgfSBmcm9tICcuL2xpYi1yZWdpc3RyeS5janMnO1xuZXhwb3J0IHsgcmVnaXN0ZXJMaWJSZXNvbHZlciB9IGZyb20gJy4vbGliLXJlZ2lzdHJ5LmNqcyc7XG5leHBvcnQgdHlwZSB7XG4gIE9ic2lkaWFuUnVudGltZVZlcnNpb25zLFxuICBPYnNpZGlhblZlcnNpb25Eb3dubG9hZHMsXG4gIE9ic2lkaWFuVmVyc2lvbk1ldGFkYXRhXG59IGZyb20gJy4vb2JzaWRpYW4tbWV0YWRhdGEuY2pzJztcbmV4cG9ydCB7IGdldFZlcnNpb25NZXRhZGF0YSB9IGZyb20gJy4vb2JzaWRpYW4tbWV0YWRhdGEuY2pzJztcbmV4cG9ydCB7IFJlbmRlcmVyRmFpbGVkVG9Jbml0aWFsaXplRXJyb3IgfSBmcm9tICcuL3JlbmRlcmVyLWZhaWxlZC10by1pbml0aWFsaXplLWVycm9yLmNqcyc7XG5leHBvcnQgdHlwZSB7IFNpbGVudEFzYXJGYWxsYmFja0Vycm9yQ29uc3RydWN0b3JQYXJhbXMgfSBmcm9tICcuL3NpbGVudC1hc2FyLWZhbGxiYWNrLWVycm9yLmNqcyc7XG5leHBvcnQgeyBTaWxlbnRBc2FyRmFsbGJhY2tFcnJvciB9IGZyb20gJy4vc2lsZW50LWFzYXItZmFsbGJhY2stZXJyb3IuY2pzJztcbmV4cG9ydCB0eXBlIHtcbiAgUG9wdWxhdGVGaWxlQ29udGVudCxcbiAgUG9wdWxhdGVGaWxlc1BhcmFtc1xufSBmcm9tICcuL3RlbXAtdmF1bHQuY2pzJztcbmV4cG9ydCB7IFRlbXBWYXVsdCB9IGZyb20gJy4vdGVtcC12YXVsdC5janMnO1xuZXhwb3J0IHR5cGUge1xuICBBcHBpdW1TZXNzaW9uSW5mbyxcbiAgQXBwaXVtVHJhbnNwb3J0Q29uZmlnXG59IGZyb20gJy4vdHJhbnNwb3J0LWFwcGl1bS5janMnO1xuZXhwb3J0IHsgQXBwaXVtVHJhbnNwb3J0IH0gZnJvbSAnLi90cmFuc3BvcnQtYXBwaXVtLmNqcyc7XG5leHBvcnQgdHlwZSB7XG4gIERlc2t0b3BDZHBUcmFuc3BvcnRDb25maWcsXG4gIE93bmVkSW5zdGFuY2VBc2FyLFxuICBPd25lZEluc3RhbmNlQ29uZmlnXG59IGZyb20gJy4vdHJhbnNwb3J0LWRlc2t0b3AtY2RwLmNqcyc7XG5leHBvcnQgeyBEZXNrdG9wQ2RwVHJhbnNwb3J0IH0gZnJvbSAnLi90cmFuc3BvcnQtZGVza3RvcC1jZHAuY2pzJztcbmV4cG9ydCB7IGNyZWF0ZVRyYW5zcG9ydEZyb21PcHRpb25zIH0gZnJvbSAnLi90cmFuc3BvcnQtZmFjdG9yeS5janMnO1xuZXhwb3J0IHR5cGUge1xuICBPYnNpZGlhbkFuZHJvaWRBcHBpdW1UcmFuc3BvcnRPcHRpb25zLFxuICBPYnNpZGlhbkNkcFRyYW5zcG9ydE9wdGlvbnMsXG4gIE9ic2lkaWFuVHJhbnNwb3J0T3B0aW9uc1xufSBmcm9tICcuL3RyYW5zcG9ydC1vcHRpb25zLmNqcyc7XG5leHBvcnQgdHlwZSB7XG4gIE9ic2lkaWFuVHJhbnNwb3J0LFxuICBUcmFuc3BvcnRFdmFsT3B0aW9uc1xufSBmcm9tICcuL3RyYW5zcG9ydC5janMnO1xuZXhwb3J0IHtcbiAgcmVnaXN0ZXJWYXVsdCxcbiAgdW5yZWdpc3RlclZhdWx0XG59IGZyb20gJy4vdmF1bHQtcmVnaXN0cnkuY2pzJztcbiJdLAogICJtYXBwaW5ncyI6ICI7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFXQSxxQ0FBa0M7QUFLbEMsNEJBQTZCO0FBQzdCLHdCQUEwQjtBQUsxQiw4QkFHTztBQU1QLG9DQUEyQztBQVczQyw4QkFBK0I7QUFFL0Isa0RBQWtEO0FBTWxELHFDQUE0QztBQUU1QywwQkFBb0M7QUFNcEMsK0JBQW1DO0FBQ25DLGlEQUFnRDtBQUVoRCx3Q0FBd0M7QUFLeEMsd0JBQTBCO0FBSzFCLDhCQUFnQztBQU1oQyxtQ0FBb0M7QUFDcEMsK0JBQTJDO0FBVTNDLDRCQUdPOyIsCiAgIm5hbWVzIjogW10KfQo=
90
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL2luZGV4LnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyIvKipcbiAqIEBmaWxlXG4gKlxuICogQ29udGFpbnMgdGhlIGVudHJ5IHBvaW50IGZvciB0aGUgaW50ZWdyYXRpb24gdGVzdGluZyBtb2R1bGUuXG4gKi9cblxuZXhwb3J0IHR5cGUge1xuICBBc2FyRmFsbGJhY2ssXG4gIEFzYXJGYWxsYmFja1RpZXIsXG4gIENoZWNrQXNhckZhbGxiYWNrUGFyYW1zXG59IGZyb20gJy4vYXNhci1mYWxsYmFjay1kZXRlY3Rpb24uY2pzJztcbmV4cG9ydCB7IGNoZWNrQXNhckZhbGxiYWNrIH0gZnJvbSAnLi9hc2FyLWZhbGxiYWNrLWRldGVjdGlvbi5janMnO1xuZXhwb3J0IHR5cGUge1xuICBDZHBDb25uZWN0aW9uLFxuICBDb25uZWN0VG9DZHBPcHRpb25zXG59IGZyb20gJy4vY29ubmVjdC10by1jZHAuY2pzJztcbmV4cG9ydCB7IGNvbm5lY3RUb0NkcCB9IGZyb20gJy4vY29ubmVjdC10by1jZHAuY2pzJztcbmV4cG9ydCB7IENvbnRleHRJZCB9IGZyb20gJy4vY29udGV4dC1pZC5janMnO1xuZXhwb3J0IHR5cGUge1xuICBUcmFuc3BvcnRPcHRpb25zUmVzb2x2ZXIsXG4gIFZhdWx0UGF0aFJlc29sdmVyXG59IGZyb20gJy4vY29udGV4dC1wcm92aWRlci5janMnO1xuZXhwb3J0IHtcbiAgc2V0VHJhbnNwb3J0T3B0aW9uc1Jlc29sdmVyLFxuICBzZXRWYXVsdFBhdGhSZXNvbHZlclxufSBmcm9tICcuL2NvbnRleHQtcHJvdmlkZXIuY2pzJztcbmV4cG9ydCB0eXBlIHtcbiAgQnVpbGREZW1vVmF1bHRQb3B1bGF0ZVBhcmFtcyxcbiAgSW5qZWN0UGx1Z2luUGFyYW1zXG59IGZyb20gJy4vZGVtby12YXVsdC1wb3B1bGF0ZS5janMnO1xuZXhwb3J0IHsgYnVpbGREZW1vVmF1bHRQb3B1bGF0ZSB9IGZyb20gJy4vZGVtby12YXVsdC1wb3B1bGF0ZS5janMnO1xuZXhwb3J0IHR5cGUgeyBSZWFkRGVtb1ZhdWx0VHJlZVBhcmFtcyB9IGZyb20gJy4vZGVtby12YXVsdC10cmVlLmNqcyc7XG5leHBvcnQgeyByZWFkRGVtb1ZhdWx0VHJlZSB9IGZyb20gJy4vZGVtby12YXVsdC10cmVlLmNqcyc7XG5leHBvcnQgdHlwZSB7XG4gIENoZWNrRWxlY3Ryb25Db21wYXRpYmlsaXR5UGFyYW1zLFxuICBFbGVjdHJvbkNvbXBhdGliaWxpdHksXG4gIEVsZWN0cm9uQ29tcGF0aWJpbGl0eVRpZXJcbn0gZnJvbSAnLi9lbGVjdHJvbi1jb21wYXRpYmlsaXR5LmNqcyc7XG5leHBvcnQgeyBjaGVja0VsZWN0cm9uQ29tcGF0aWJpbGl0eSB9IGZyb20gJy4vZWxlY3Ryb24tY29tcGF0aWJpbGl0eS5janMnO1xuZXhwb3J0IHR5cGUge1xuICBFdmFsSW5PYnNpZGlhblBhcmFtcyxcbiAgSG92ZXJFbGVtZW50UGFyYW1zLFxuICBMaWIsXG4gIE1vdmVNb3VzZVBhcmFtcyxcbiAgUHJlc3NLZXlQYXJhbXMsXG4gIFR5cGVJbnRvRWRpdG9yUGFyYW1zLFxuICBVbmhvdmVyRWxlbWVudFBhcmFtcyxcbiAgV2FpdFVudGlsUGFyYW1zXG59IGZyb20gJy4vZXZhbC1pbi1vYnNpZGlhbi5janMnO1xuZXhwb3J0IHsgZXZhbEluT2JzaWRpYW4gfSBmcm9tICcuL2V2YWwtaW4tb2JzaWRpYW4uY2pzJztcbmV4cG9ydCB0eXBlIHsgSW5jb21wYXRpYmxlSW5zdGFsbGVyVmVyc2lvbkVycm9yQ29uc3RydWN0b3JQYXJhbXMgfSBmcm9tICcuL2luY29tcGF0aWJsZS1pbnN0YWxsZXItdmVyc2lvbi1lcnJvci5janMnO1xuZXhwb3J0IHsgSW5jb21wYXRpYmxlSW5zdGFsbGVyVmVyc2lvbkVycm9yIH0gZnJvbSAnLi9pbmNvbXBhdGlibGUtaW5zdGFsbGVyLXZlcnNpb24tZXJyb3IuY2pzJztcbmV4cG9ydCB0eXBlIHtcbiAgQ2hlY2tJbnN0YWxsZXJDb21wYXRpYmlsaXR5UGFyYW1zLFxuICBJbnN0YWxsZXJDb21wYXRpYmlsaXR5LFxuICBJbnN0YWxsZXJDb21wYXRpYmlsaXR5VGllclxufSBmcm9tICcuL2luc3RhbGxlci1jb21wYXRpYmlsaXR5LmNqcyc7XG5leHBvcnQgeyBjaGVja0luc3RhbGxlckNvbXBhdGliaWxpdHkgfSBmcm9tICcuL2luc3RhbGxlci1jb21wYXRpYmlsaXR5LmNqcyc7XG5leHBvcnQgdHlwZSB7IExpYlJlc29sdmVyIH0gZnJvbSAnLi9saWItcmVnaXN0cnkuY2pzJztcbmV4cG9ydCB7IHJlZ2lzdGVyTGliUmVzb2x2ZXIgfSBmcm9tICcuL2xpYi1yZWdpc3RyeS5janMnO1xuZXhwb3J0IHR5cGUge1xuICBPYnNpZGlhblJ1bnRpbWVWZXJzaW9ucyxcbiAgT2JzaWRpYW5WZXJzaW9uRG93bmxvYWRzLFxuICBPYnNpZGlhblZlcnNpb25NZXRhZGF0YVxufSBmcm9tICcuL29ic2lkaWFuLW1ldGFkYXRhLmNqcyc7XG5leHBvcnQgeyBnZXRWZXJzaW9uTWV0YWRhdGEgfSBmcm9tICcuL29ic2lkaWFuLW1ldGFkYXRhLmNqcyc7XG5leHBvcnQgdHlwZSB7IFBvbGxJbk9ic2lkaWFuUGFyYW1zIH0gZnJvbSAnLi9wb2xsLWluLW9ic2lkaWFuLmNqcyc7XG5leHBvcnQgeyBwb2xsSW5PYnNpZGlhbiB9IGZyb20gJy4vcG9sbC1pbi1vYnNpZGlhbi5janMnO1xuZXhwb3J0IHsgUmVuZGVyZXJGYWlsZWRUb0luaXRpYWxpemVFcnJvciB9IGZyb20gJy4vcmVuZGVyZXItZmFpbGVkLXRvLWluaXRpYWxpemUtZXJyb3IuY2pzJztcbmV4cG9ydCB0eXBlIHsgU2lsZW50QXNhckZhbGxiYWNrRXJyb3JDb25zdHJ1Y3RvclBhcmFtcyB9IGZyb20gJy4vc2lsZW50LWFzYXItZmFsbGJhY2stZXJyb3IuY2pzJztcbmV4cG9ydCB7IFNpbGVudEFzYXJGYWxsYmFja0Vycm9yIH0gZnJvbSAnLi9zaWxlbnQtYXNhci1mYWxsYmFjay1lcnJvci5janMnO1xuZXhwb3J0IHR5cGUge1xuICBQb3B1bGF0ZUZpbGVDb250ZW50LFxuICBQb3B1bGF0ZUZpbGVzUGFyYW1zXG59IGZyb20gJy4vdGVtcC12YXVsdC5janMnO1xuZXhwb3J0IHsgVGVtcFZhdWx0IH0gZnJvbSAnLi90ZW1wLXZhdWx0LmNqcyc7XG5leHBvcnQgdHlwZSB7XG4gIEFwcGl1bVNlc3Npb25JbmZvLFxuICBBcHBpdW1UcmFuc3BvcnRDb25maWdcbn0gZnJvbSAnLi90cmFuc3BvcnQtYXBwaXVtLmNqcyc7XG5leHBvcnQgeyBBcHBpdW1UcmFuc3BvcnQgfSBmcm9tICcuL3RyYW5zcG9ydC1hcHBpdW0uY2pzJztcbmV4cG9ydCB0eXBlIHtcbiAgRGVza3RvcENkcFRyYW5zcG9ydENvbmZpZyxcbiAgT3duZWRJbnN0YW5jZUFzYXIsXG4gIE93bmVkSW5zdGFuY2VDb25maWdcbn0gZnJvbSAnLi90cmFuc3BvcnQtZGVza3RvcC1jZHAuY2pzJztcbmV4cG9ydCB7IERlc2t0b3BDZHBUcmFuc3BvcnQgfSBmcm9tICcuL3RyYW5zcG9ydC1kZXNrdG9wLWNkcC5janMnO1xuZXhwb3J0IHsgY3JlYXRlVHJhbnNwb3J0RnJvbU9wdGlvbnMgfSBmcm9tICcuL3RyYW5zcG9ydC1mYWN0b3J5LmNqcyc7XG5leHBvcnQgdHlwZSB7XG4gIE9ic2lkaWFuQW5kcm9pZEFwcGl1bVRyYW5zcG9ydE9wdGlvbnMsXG4gIE9ic2lkaWFuQ2RwVHJhbnNwb3J0T3B0aW9ucyxcbiAgT2JzaWRpYW5UcmFuc3BvcnRPcHRpb25zXG59IGZyb20gJy4vdHJhbnNwb3J0LW9wdGlvbnMuY2pzJztcbmV4cG9ydCB0eXBlIHtcbiAgT2JzaWRpYW5UcmFuc3BvcnQsXG4gIFRyYW5zcG9ydEV2YWxPcHRpb25zXG59IGZyb20gJy4vdHJhbnNwb3J0LmNqcyc7XG5leHBvcnQge1xuICByZWdpc3RlclZhdWx0LFxuICB1bnJlZ2lzdGVyVmF1bHRcbn0gZnJvbSAnLi92YXVsdC1yZWdpc3RyeS5janMnO1xuIl0sCiAgIm1hcHBpbmdzIjogIjs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQVdBLHFDQUFrQztBQUtsQyw0QkFBNkI7QUFDN0Isd0JBQTBCO0FBSzFCLDhCQUdPO0FBS1AsaUNBQXVDO0FBRXZDLDZCQUFrQztBQU1sQyxvQ0FBMkM7QUFXM0MsOEJBQStCO0FBRS9CLGtEQUFrRDtBQU1sRCxxQ0FBNEM7QUFFNUMsMEJBQW9DO0FBTXBDLCtCQUFtQztBQUVuQyw4QkFBK0I7QUFDL0IsaURBQWdEO0FBRWhELHdDQUF3QztBQUt4Qyx3QkFBMEI7QUFLMUIsOEJBQWdDO0FBTWhDLG1DQUFvQztBQUNwQywrQkFBMkM7QUFVM0MsNEJBR087IiwKICAibmFtZXMiOiBbXQp9Cg==
@@ -10,6 +10,10 @@ export { connectToCdp } from './connect-to-cdp.cjs';
10
10
  export { ContextId } from './context-id.cjs';
11
11
  export type { TransportOptionsResolver, VaultPathResolver } from './context-provider.cjs';
12
12
  export { setTransportOptionsResolver, setVaultPathResolver } from './context-provider.cjs';
13
+ export type { BuildDemoVaultPopulateParams, InjectPluginParams } from './demo-vault-populate.cjs';
14
+ export { buildDemoVaultPopulate } from './demo-vault-populate.cjs';
15
+ export type { ReadDemoVaultTreeParams } from './demo-vault-tree.cjs';
16
+ export { readDemoVaultTree } from './demo-vault-tree.cjs';
13
17
  export type { CheckElectronCompatibilityParams, ElectronCompatibility, ElectronCompatibilityTier } from './electron-compatibility.cjs';
14
18
  export { checkElectronCompatibility } from './electron-compatibility.cjs';
15
19
  export type { EvalInObsidianParams, HoverElementParams, Lib, MoveMouseParams, PressKeyParams, TypeIntoEditorParams, UnhoverElementParams, WaitUntilParams } from './eval-in-obsidian.cjs';
@@ -22,6 +26,8 @@ export type { LibResolver } from './lib-registry.cjs';
22
26
  export { registerLibResolver } from './lib-registry.cjs';
23
27
  export type { ObsidianRuntimeVersions, ObsidianVersionDownloads, ObsidianVersionMetadata } from './obsidian-metadata.cjs';
24
28
  export { getVersionMetadata } from './obsidian-metadata.cjs';
29
+ export type { PollInObsidianParams } from './poll-in-obsidian.cjs';
30
+ export { pollInObsidian } from './poll-in-obsidian.cjs';
25
31
  export { RendererFailedToInitializeError } from './renderer-failed-to-initialize-error.cjs';
26
32
  export type { SilentAsarFallbackErrorConstructorParams } from './silent-asar-fallback-error.cjs';
27
33
  export { SilentAsarFallbackError } from './silent-asar-fallback-error.cjs';
@@ -0,0 +1,41 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+ var global_setup_no_plugin_exports = {};
20
+ __export(global_setup_no_plugin_exports, {
21
+ default: () => global_setup_no_plugin_default,
22
+ getTempVault: () => import_global_setup2.getTempVault,
23
+ getTransportOptions: () => import_global_setup2.getTransportOptions,
24
+ setup: () => setup,
25
+ teardown: () => teardown
26
+ });
27
+ module.exports = __toCommonJS(global_setup_no_plugin_exports);
28
+ var import_global_setup = require("./global-setup.cjs");
29
+ var import_global_setup2 = require("./global-setup.cjs");
30
+ const noPluginGlobalSetup = (0, import_global_setup.createSetup)({ installPlugin: false });
31
+ const setup = noPluginGlobalSetup.setup;
32
+ const teardown = noPluginGlobalSetup.teardown;
33
+ var global_setup_no_plugin_default = setup;
34
+ // Annotate the CommonJS export names for ESM import in node:
35
+ 0 && (module.exports = {
36
+ getTempVault,
37
+ getTransportOptions,
38
+ setup,
39
+ teardown
40
+ });
41
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vc3JjL2plc3QvZ2xvYmFsLXNldHVwLW5vLXBsdWdpbi50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsiLyoqXG4gKiBAZmlsZVxuICpcbiAqIEplc3QgKipwbHVnaW4tbGVzcyoqIGdsb2JhbCBzZXR1cCBlbnRyeSBwb2ludC5cbiAqXG4gKiBUaGUgY291bnRlcnBhcnQgdG8gYC4vZ2xvYmFsLXNldHVwLnRzYCAod2hpY2ggaW5zdGFsbHMgYW5kIGVuYWJsZXMgdGhlIGJ1aWx0XG4gKiBwbHVnaW4pLiBUaGlzIG9uZSBydW5zIHtAbGluayBjcmVhdGVTZXR1cH0gd2l0aCBgaW5zdGFsbFBsdWdpbjogZmFsc2VgLCBzbyBpdFxuICogcmVnaXN0ZXJzIGFuICoqZW1wdHkqKiB0ZW1wIHZhdWx0IGFuZCBwdWJsaXNoZXMgdGhlIG93bmVkLWluc3RhbmNlIGVuZHBvaW50IHRvXG4gKiB3b3JrZXJzIHdpdGhvdXQgY29weWluZyBvciBlbmFibGluZyBhbnkgcGx1Z2luLiBJdHMgZGVmYXVsdCBleHBvcnQgaXMgdGhlIHNldHVwXG4gKiBmdW5jdGlvbiwgYXMgSmVzdCdzIGBnbG9iYWxTZXR1cGAgbG9hZGVyIHJlcXVpcmVzLlxuICovXG5cbi8qIHY4IGlnbm9yZSBzdGFydCAtLSBJbnRlZ3JhdGlvbi10aW1lIHNldHVwIGNvdmVyZWQgYnkgaW50ZWdyYXRpb24gdGVzdHMsIG5vdCB1bml0IHRlc3RzLiAqL1xuXG5pbXBvcnQgeyBjcmVhdGVTZXR1cCB9IGZyb20gJy4vZ2xvYmFsLXNldHVwLmNqcyc7XG5cbmNvbnN0IG5vUGx1Z2luR2xvYmFsU2V0dXAgPSBjcmVhdGVTZXR1cCh7IGluc3RhbGxQbHVnaW46IGZhbHNlIH0pO1xuXG4vKipcbiAqIEplc3QgZ2xvYmFsIHNldHVwIGZ1bmN0aW9uIChwbHVnaW4tbGVzcykuXG4gKlxuICogUmVnaXN0ZXJzIGFuIGVtcHR5IHRlbXAgdmF1bHQgYW5kIHBvcHVsYXRlcyBgZ2xvYmFsVGhpcy5fX29ic2lkaWFuSW50ZWdyYXRpb25UZXN0aW5nYFxuICogZm9yIHRlc3RzLCB3aXRob3V0IGNvcHlpbmcgb3IgZW5hYmxpbmcgYW55IHBsdWdpbi5cbiAqL1xuZXhwb3J0IGNvbnN0IHNldHVwID0gbm9QbHVnaW5HbG9iYWxTZXR1cC5zZXR1cDtcblxuLyoqXG4gKiBKZXN0IGdsb2JhbCB0ZWFyZG93biBmdW5jdGlvbi5cbiAqXG4gKiBSZW1vdmVzIHRoZSB0ZW1wb3JhcnkgdmF1bHQgY3JlYXRlZCBkdXJpbmcgc2V0dXAuXG4gKi9cbmV4cG9ydCBjb25zdCB0ZWFyZG93biA9IG5vUGx1Z2luR2xvYmFsU2V0dXAudGVhcmRvd247XG5cbmV4cG9ydCB7XG4gIGdldFRlbXBWYXVsdCxcbiAgZ2V0VHJhbnNwb3J0T3B0aW9uc1xufSBmcm9tICcuL2dsb2JhbC1zZXR1cC5janMnO1xuXG4vLyBKZXN0J3MgYGdsb2JhbFNldHVwYCBjb25maWcgY2FuIHJlZmVyZW5jZSB0aGlzIG1vZHVsZSBkaXJlY3RseSBiZWNhdXNlIGl0cyBkZWZhdWx0IGV4cG9ydCBpcyB0aGUgc2V0dXAgZnVuY3Rpb24uXG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgaW1wb3J0LXgvbm8tZGVmYXVsdC1leHBvcnQgLS0gSmVzdCdzIGdsb2JhbFNldHVwIGxvYWRlciByZXF1aXJlcyBhIGRlZmF1bHQtZXhwb3J0IGZ1bmN0aW9uLlxuZXhwb3J0IGRlZmF1bHQgc2V0dXA7XG4iXSwKICAibWFwcGluZ3MiOiAiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFjQSwwQkFBNEI7QUFtQjVCLElBQUFBLHVCQUdPO0FBcEJQLE1BQU0sMEJBQXNCLGlDQUFZLEVBQUUsZUFBZSxNQUFNLENBQUM7QUFRekQsTUFBTSxRQUFRLG9CQUFvQjtBQU9sQyxNQUFNLFdBQVcsb0JBQW9CO0FBUzVDLElBQU8saUNBQVE7IiwKICAibmFtZXMiOiBbImltcG9ydF9nbG9iYWxfc2V0dXAiXQp9Cg==
@@ -0,0 +1,26 @@
1
+ /**
2
+ * @file
3
+ *
4
+ * Jest **plugin-less** global setup entry point.
5
+ *
6
+ * The counterpart to `./global-setup.ts` (which installs and enables the built
7
+ * plugin). This one runs {@link createSetup} with `installPlugin: false`, so it
8
+ * registers an **empty** temp vault and publishes the owned-instance endpoint to
9
+ * workers without copying or enabling any plugin. Its default export is the setup
10
+ * function, as Jest's `globalSetup` loader requires.
11
+ */
12
+ /**
13
+ * Jest global setup function (plugin-less).
14
+ *
15
+ * Registers an empty temp vault and populates `globalThis.__obsidianIntegrationTesting`
16
+ * for tests, without copying or enabling any plugin.
17
+ */
18
+ export declare const setup: (this: void) => Promise<void>;
19
+ /**
20
+ * Jest global teardown function.
21
+ *
22
+ * Removes the temporary vault created during setup.
23
+ */
24
+ export declare const teardown: (this: void) => Promise<void>;
25
+ export { getTempVault, getTransportOptions } from './global-setup.cjs';
26
+ export default setup;
@@ -36,7 +36,12 @@ function createSetup(options) {
36
36
  return { setup: setup2, teardown: teardown2 };
37
37
  async function setup2() {
38
38
  const transportOptions = globalThis.__obsidianIntegrationTesting?.transportOptions;
39
- setupResult = await (0, import_global_setup_core.coreSetup)({ populate: options?.populate?.(), transportOptions });
39
+ setupResult = await (0, import_global_setup_core.coreSetup)({
40
+ enableCommunityPlugins: options?.enableCommunityPlugins,
41
+ installPlugin: options?.installPlugin,
42
+ populate: options?.populate?.(),
43
+ transportOptions
44
+ });
40
45
  globalThis.__obsidianIntegrationTesting = {
41
46
  ...globalThis.__obsidianIntegrationTesting,
42
47
  tempVaultPath: setupResult.tempVault.path,
@@ -71,4 +76,4 @@ var global_setup_default = setup;
71
76
  setup,
72
77
  teardown
73
78
  });
74
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vc3JjL2plc3QvZ2xvYmFsLXNldHVwLnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyIvKipcbiAqIEBmaWxlXG4gKlxuICogSmVzdCBnbG9iYWwgc2V0dXAgYW5kIHRlYXJkb3duIGFkYXB0ZXIuXG4gKlxuICogRGVsZWdhdGVzIHRvIHRoZSBmcmFtZXdvcmstYWdub3N0aWMgY29yZSBhbmQgYnJpZGdlcyBjb250ZXh0XG4gKiB0byB0ZXN0IHdvcmtlcnMgdmlhIGBnbG9iYWxUaGlzLl9fb2JzaWRpYW5JbnRlZ3JhdGlvblRlc3RpbmdgLlxuICovXG5cbi8qIHY4IGlnbm9yZSBzdGFydCAtLSBJbnRlZ3JhdGlvbi10aW1lIHNldHVwIGNvdmVyZWQgYnkgaW50ZWdyYXRpb24gdGVzdHMsIG5vdCB1bml0IHRlc3RzLiAqL1xuXG5pbXBvcnQgdHlwZSB7IENvcmVTZXR1cFJlc3VsdCB9IGZyb20gJy4uL2dsb2JhbC1zZXR1cC1jb3JlLmNqcyc7XG5pbXBvcnQgdHlwZSB7IFBvcHVsYXRlRmlsZXNQYXJhbXMgfSBmcm9tICcuLi90ZW1wLXZhdWx0LmNqcyc7XG5pbXBvcnQgdHlwZSB7IE9ic2lkaWFuVHJhbnNwb3J0T3B0aW9ucyB9IGZyb20gJy4uL3RyYW5zcG9ydC1vcHRpb25zLmNqcyc7XG5cbmltcG9ydCB7XG4gIHNldFRyYW5zcG9ydE9wdGlvbnNSZXNvbHZlcixcbiAgc2V0VmF1bHRQYXRoUmVzb2x2ZXJcbn0gZnJvbSAnLi4vY29udGV4dC1wcm92aWRlci5janMnO1xuaW1wb3J0IHtcbiAgY29yZVNldHVwLFxuICBjb3JlVGVhcmRvd25cbn0gZnJvbSAnLi4vZ2xvYmFsLXNldHVwLWNvcmUuY2pzJztcbmltcG9ydCB7IFRlbXBWYXVsdCB9IGZyb20gJy4uL3RlbXAtdmF1bHQuY2pzJztcblxuLyoqXG4gKiBTaGFwZSBvZiBgZ2xvYmFsVGhpcy5fX29ic2lkaWFuSW50ZWdyYXRpb25UZXN0aW5nYC5cbiAqXG4gKiBDb25zdW1lcnMgbWF5IHByZS1wb3B1bGF0ZSBgdHJhbnNwb3J0T3B0aW9uc2AgYmVmb3JlIHRoZSBnbG9iYWwgc2V0dXAgcnVuc1xuICogKGUuZy4sIHZpYSBKZXN0IGNvbmZpZyBgZ2xvYmFsc2ApLiBUaGUgc2V0dXAgdGhlbiBhZGRzIGB0ZW1wVmF1bHRQYXRoYC5cbiAqL1xuaW50ZXJmYWNlIE9ic2lkaWFuSW50ZWdyYXRpb25UZXN0aW5nR2xvYmFsIHtcbiAgLyoqIFRlbXAgdmF1bHQgcGF0aCwgc2V0IGJ5IHRoZSBnbG9iYWwgc2V0dXAgZm9yIHRlc3Qgd29ya2Vycy4gKi9cbiAgdGVtcFZhdWx0UGF0aD86IHN0cmluZyB8IHVuZGVmaW5lZDtcblxuICAvKiogVHJhbnNwb3J0IG9wdGlvbnMuIFNldCBieSB0aGUgY29uc3VtZXIgYmVmb3JlIHNldHVwLCBvciBieSB0aGUgc2V0dXAgaXRzZWxmLiAqL1xuICB0cmFuc3BvcnRPcHRpb25zPzogT2JzaWRpYW5UcmFuc3BvcnRPcHRpb25zIHwgdW5kZWZpbmVkO1xufVxuXG4vKiBlc2xpbnQtZGlzYWJsZSB2YXJzLW9uLXRvcCAtLSBSZXF1aXJlZCBmb3IgYGRlY2xhcmUgZ2xvYmFsYCBhdWdtZW50YXRpb24uICovXG5kZWNsYXJlIGdsb2JhbCB7XG4gIC8qKlxuICAgKiBOYW1lc3BhY2UgZm9yIGFsbCBgb2JzaWRpYW4taW50ZWdyYXRpb24tdGVzdGluZ2AgZ2xvYmFsIHN0YXRlLlxuICAgKiBDb25zdW1lcnMgY29uZmlndXJlIHRyYW5zcG9ydCBvcHRpb25zIGhlcmU7IHRoZSBzZXR1cCBwb3B1bGF0ZXMgdGhlIHJlc3QuXG4gICAqL1xuICB2YXIgX19vYnNpZGlhbkludGVncmF0aW9uVGVzdGluZzogT2JzaWRpYW5JbnRlZ3JhdGlvblRlc3RpbmdHbG9iYWwgfCB1bmRlZmluZWQ7XG59XG4vKiBlc2xpbnQtZW5hYmxlIHZhcnMtb24tdG9wIC0tIEVuZCBvZiBgZGVjbGFyZSBnbG9iYWxgIGJsb2NrLiAqL1xuXG5zZXRUcmFuc3BvcnRPcHRpb25zUmVzb2x2ZXIoKCkgPT4gZ2xvYmFsVGhpcy5fX29ic2lkaWFuSW50ZWdyYXRpb25UZXN0aW5nPy50cmFuc3BvcnRPcHRpb25zKTtcbnNldFZhdWx0UGF0aFJlc29sdmVyKCgpID0+IGdsb2JhbFRoaXMuX19vYnNpZGlhbkludGVncmF0aW9uVGVzdGluZz8udGVtcFZhdWx0UGF0aCk7XG5cbi8qKlxuICogT3B0aW9ucyBmb3Ige0BsaW5rIGNyZWF0ZVNldHVwfS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBDcmVhdGVTZXR1cE9wdGlvbnMge1xuICAvKipcbiAgICogUmV0dXJucyBmaWxlcy9mb2xkZXJzIHRvIHdyaXRlIGludG8gdGhlIHZhdWx0IGJlZm9yZSBPYnNpZGlhbiBvcGVucyBpdCAoc2VlXG4gICAqIHtAbGluayBDb3JlU2V0dXBQYXJhbXMucG9wdWxhdGV9KS4gQSB0aHVuayBzbyBsYXJnZSBmaXh0dXJlcyBhcmUgYnVpbHQgbGF6aWx5LFxuICAgKiBvbmNlLCBpbiB0aGUgc2V0dXAgcHJvY2Vzcy5cbiAgICovXG4gIHBvcHVsYXRlPyh0aGlzOiB2b2lkKTogUG9wdWxhdGVGaWxlc1BhcmFtcztcbn1cblxuLyoqXG4gKiBBIEplc3QgYGdsb2JhbFNldHVwYCAvIGBnbG9iYWxUZWFyZG93bmAgbW9kdWxlJ3MgYHNldHVwYCAvIGB0ZWFyZG93bmAgcGFpci5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBKZXN0R2xvYmFsU2V0dXAge1xuICBzZXR1cCh0aGlzOiB2b2lkKTogUHJvbWlzZTx2b2lkPjtcbiAgdGVhcmRvd24odGhpczogdm9pZCk6IFByb21pc2U8dm9pZD47XG59XG5cbi8qKlxuICogQ3JlYXRlcyBhIEplc3QgZ2xvYmFsIHNldHVwL3RlYXJkb3duIHBhaXIsIG9wdGlvbmFsbHkgcHJlLXBvcHVsYXRpbmcgdGhlIHZhdWx0XG4gKiBiZWZvcmUgT2JzaWRpYW4gb3BlbnMgaXQgXHUyMDE0IHVzZSB0aGlzIGZvciBhIGRlZGljYXRlZCBsYXJnZS12YXVsdC9wZXJmb3JtYW5jZVxuICogc2V0dXAuIFRoZSBwbGFpbiB7QGxpbmsgc2V0dXB9IC8ge0BsaW5rIHRlYXJkb3dufSBleHBvcnRzIGFyZSB0aGUgbm8tcG9wdWxhdGVcbiAqIGNhc2UgKGBjcmVhdGVTZXR1cCgpYCkuXG4gKlxuICogQHBhcmFtIG9wdGlvbnMgLSBTZXR1cCBvcHRpb25zLlxuICogQHJldHVybnMgVGhlIGBzZXR1cGAgYW5kIGB0ZWFyZG93bmAgZnVuY3Rpb25zIHRvIHJlLWV4cG9ydCBmcm9tIGEgYGdsb2JhbFNldHVwYCBtb2R1bGUuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVTZXR1cChvcHRpb25zPzogQ3JlYXRlU2V0dXBPcHRpb25zKTogSmVzdEdsb2JhbFNldHVwIHtcbiAgbGV0IHNldHVwUmVzdWx0OiBDb3JlU2V0dXBSZXN1bHQgfCB1bmRlZmluZWQ7XG5cbiAgcmV0dXJuIHsgc2V0dXAsIHRlYXJkb3duIH07XG5cbiAgYXN5bmMgZnVuY3Rpb24gc2V0dXAoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgY29uc3QgdHJhbnNwb3J0T3B0aW9ucyA9IGdsb2JhbFRoaXMuX19vYnNpZGlhbkludGVncmF0aW9uVGVzdGluZz8udHJhbnNwb3J0T3B0aW9ucztcblxuICAgIHNldHVwUmVzdWx0ID0gYXdhaXQgY29yZVNldHVwKHsgcG9wdWxhdGU6IG9wdGlvbnM/LnBvcHVsYXRlPy4oKSwgdHJhbnNwb3J0T3B0aW9ucyB9KTtcblxuICAgIGdsb2JhbFRoaXMuX19vYnNpZGlhbkludGVncmF0aW9uVGVzdGluZyA9IHtcbiAgICAgIC4uLmdsb2JhbFRoaXMuX19vYnNpZGlhbkludGVncmF0aW9uVGVzdGluZyxcbiAgICAgIHRlbXBWYXVsdFBhdGg6IHNldHVwUmVzdWx0LnRlbXBWYXVsdC5wYXRoLFxuICAgICAgdHJhbnNwb3J0T3B0aW9uczogc2V0dXBSZXN1bHQudHJhbnNwb3J0T3B0aW9uc1xuICAgIH07XG4gIH1cblxuICBhc3luYyBmdW5jdGlvbiB0ZWFyZG93bigpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBhd2FpdCBjb3JlVGVhcmRvd24oc2V0dXBSZXN1bHQpO1xuICB9XG59XG5cbi8qKlxuICogUmV0dXJucyB0aGUgdGVtcG9yYXJ5IHZhdWx0IHByb3ZpZGVkIGJ5IHRoZSBnbG9iYWwgc2V0dXAuXG4gKlxuICogUmVhZHMgdGhlIHZhdWx0IHBhdGggZnJvbSBgZ2xvYmFsVGhpcy5fX29ic2lkaWFuSW50ZWdyYXRpb25UZXN0aW5nLnRlbXBWYXVsdFBhdGhgLFxuICogd2hpY2ggaXMgc2V0IGJ5IHRoZSBKZXN0IGdsb2JhbCBzZXR1cC5cbiAqXG4gKiBAcmV0dXJucyBUaGUgdGVtcG9yYXJ5IHZhdWx0LlxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0VGVtcFZhdWx0KCk6IFRlbXBWYXVsdCB7XG4gIGNvbnN0IHRlbXBWYXVsdFBhdGggPSBnbG9iYWxUaGlzLl9fb2JzaWRpYW5JbnRlZ3JhdGlvblRlc3Rpbmc/LnRlbXBWYXVsdFBhdGg7XG4gIGlmICghdGVtcFZhdWx0UGF0aCkge1xuICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICdnbG9iYWxUaGlzLl9fb2JzaWRpYW5JbnRlZ3JhdGlvblRlc3RpbmcudGVtcFZhdWx0UGF0aCBpcyBub3Qgc2V0LiBEaWQgeW91IGNvbmZpZ3VyZSBvYnNpZGlhbi1pbnRlZ3JhdGlvbi10ZXN0aW5nL2plc3QtZ2xvYmFsLXNldHVwIGFzIGEgSmVzdCBnbG9iYWxTZXR1cD8nXG4gICAgKTtcbiAgfVxuICByZXR1cm4gbmV3IFRlbXBWYXVsdCh0ZW1wVmF1bHRQYXRoKTtcbn1cblxuLyoqXG4gKiBSZXR1cm5zIHRoZSB0cmFuc3BvcnQgb3B0aW9ucyBwcm92aWRlZCBieSB0aGUgZ2xvYmFsIHNldHVwLlxuICpcbiAqIEByZXR1cm5zIFRoZSB0cmFuc3BvcnQgb3B0aW9ucywgb3IgYHVuZGVmaW5lZGAgaWYgbm90IGNvbmZpZ3VyZWQuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXRUcmFuc3BvcnRPcHRpb25zKCk6IE9ic2lkaWFuVHJhbnNwb3J0T3B0aW9ucyB8IHVuZGVmaW5lZCB7XG4gIHJldHVybiBnbG9iYWxUaGlzLl9fb2JzaWRpYW5JbnRlZ3JhdGlvblRlc3Rpbmc/LnRyYW5zcG9ydE9wdGlvbnM7XG59XG5cbmNvbnN0IGRlZmF1bHRHbG9iYWxTZXR1cCA9IGNyZWF0ZVNldHVwKCk7XG5cbi8qKlxuICogSmVzdCBnbG9iYWwgc2V0dXAgZnVuY3Rpb24gKG5vIHByZS1wb3B1bGF0aW9uKS5cbiAqXG4gKiBDb3BpZXMgdGhlIGJ1aWx0IHBsdWdpbiBpbnRvIGEgdGVtcG9yYXJ5IHZhdWx0LCBlbmFibGVzIGl0IHZpYSB0aGUgT2JzaWRpYW4gQ0xJLFxuICogYW5kIHBvcHVsYXRlcyBgZ2xvYmFsVGhpcy5fX29ic2lkaWFuSW50ZWdyYXRpb25UZXN0aW5nYCBmb3IgdGVzdHMuXG4gKlxuICogVHJhbnNwb3J0IG9wdGlvbnMgYXJlIHJlYWQgZnJvbSBgZ2xvYmFsVGhpcy5fX29ic2lkaWFuSW50ZWdyYXRpb25UZXN0aW5nLnRyYW5zcG9ydE9wdGlvbnNgLlxuICogU2V0IHRoaXMgaW4geW91ciBKZXN0IGNvbmZpZyB2aWEgdGhlIGBnbG9iYWxzYCBvcHRpb24uXG4gKlxuICogQHJldHVybnMgQSBwcm9taXNlIHRoYXQgcmVzb2x2ZXMgd2hlbiBzZXR1cCBjb21wbGV0ZXMuXG4gKi9cbmV4cG9ydCBjb25zdCBzZXR1cCA9IGRlZmF1bHRHbG9iYWxTZXR1cC5zZXR1cDtcblxuLyoqXG4gKiBKZXN0IGdsb2JhbCB0ZWFyZG93biBmdW5jdGlvbi5cbiAqXG4gKiBSZW1vdmVzIHRoZSB0ZW1wb3JhcnkgdmF1bHQgY3JlYXRlZCBkdXJpbmcgc2V0dXAuXG4gKlxuICogQHJldHVybnMgQSBwcm9taXNlIHRoYXQgcmVzb2x2ZXMgd2hlbiB0ZWFyZG93biBjb21wbGV0ZXMuXG4gKi9cbmV4cG9ydCBjb25zdCB0ZWFyZG93biA9IGRlZmF1bHRHbG9iYWxTZXR1cC50ZWFyZG93bjtcblxuLy8gSmVzdCdzIGBnbG9iYWxTZXR1cGAgY29uZmlnIGNhbiByZWZlcmVuY2UgdGhpcyBtb2R1bGUgZGlyZWN0bHkgYmVjYXVzZSBpdHMgZGVmYXVsdCBleHBvcnQgaXMgdGhlIHNldHVwIGZ1bmN0aW9uLlxuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGltcG9ydC14L25vLWRlZmF1bHQtZXhwb3J0IC0tIEplc3QncyBnbG9iYWxTZXR1cCBsb2FkZXIgcmVxdWlyZXMgYSBkZWZhdWx0LWV4cG9ydCBmdW5jdGlvbi5cbmV4cG9ydCBkZWZhdWx0IHNldHVwO1xuIl0sCiAgIm1hcHBpbmdzIjogIjs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFlQSw4QkFHTztBQUNQLCtCQUdPO0FBQ1Asd0JBQTBCO0FBQUEsSUEwQjFCLHFEQUE0QixNQUFNLFdBQVcsOEJBQThCLGdCQUFnQjtBQUFBLElBQzNGLDhDQUFxQixNQUFNLFdBQVcsOEJBQThCLGFBQWE7QUErQjFFLFNBQVMsWUFBWSxTQUErQztBQUN6RSxNQUFJO0FBRUosU0FBTyxFQUFFLE9BQUFBLFFBQU8sVUFBQUMsVUFBUztBQUV6QixpQkFBZUQsU0FBdUI7QUFDcEMsVUFBTSxtQkFBbUIsV0FBVyw4QkFBOEI7QUFFbEUsa0JBQWMsVUFBTSxvQ0FBVSxFQUFFLFVBQVUsU0FBUyxXQUFXLEdBQUcsaUJBQWlCLENBQUM7QUFFbkYsZUFBVywrQkFBK0I7QUFBQSxNQUN4QyxHQUFHLFdBQVc7QUFBQSxNQUNkLGVBQWUsWUFBWSxVQUFVO0FBQUEsTUFDckMsa0JBQWtCLFlBQVk7QUFBQSxJQUNoQztBQUFBLEVBQ0Y7QUFFQSxpQkFBZUMsWUFBMEI7QUFDdkMsY0FBTSx1Q0FBYSxXQUFXO0FBQUEsRUFDaEM7QUFDRjtBQVVPLFNBQVMsZUFBMEI7QUFDeEMsUUFBTSxnQkFBZ0IsV0FBVyw4QkFBOEI7QUFDL0QsTUFBSSxDQUFDLGVBQWU7QUFDbEIsVUFBTSxJQUFJO0FBQUEsTUFDUjtBQUFBLElBQ0Y7QUFBQSxFQUNGO0FBQ0EsU0FBTyxJQUFJLDRCQUFVLGFBQWE7QUFDcEM7QUFPTyxTQUFTLHNCQUE0RDtBQUMxRSxTQUFPLFdBQVcsOEJBQThCO0FBQ2xEO0FBRUEsTUFBTSxxQkFBcUIsWUFBWTtBQWFoQyxNQUFNLFFBQVEsbUJBQW1CO0FBU2pDLE1BQU0sV0FBVyxtQkFBbUI7QUFJM0MsSUFBTyx1QkFBUTsiLAogICJuYW1lcyI6IFsic2V0dXAiLCAidGVhcmRvd24iXQp9Cg==
79
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vc3JjL2plc3QvZ2xvYmFsLXNldHVwLnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyIvKipcbiAqIEBmaWxlXG4gKlxuICogSmVzdCBnbG9iYWwgc2V0dXAgYW5kIHRlYXJkb3duIGFkYXB0ZXIuXG4gKlxuICogRGVsZWdhdGVzIHRvIHRoZSBmcmFtZXdvcmstYWdub3N0aWMgY29yZSBhbmQgYnJpZGdlcyBjb250ZXh0XG4gKiB0byB0ZXN0IHdvcmtlcnMgdmlhIGBnbG9iYWxUaGlzLl9fb2JzaWRpYW5JbnRlZ3JhdGlvblRlc3RpbmdgLlxuICovXG5cbi8qIHY4IGlnbm9yZSBzdGFydCAtLSBJbnRlZ3JhdGlvbi10aW1lIHNldHVwIGNvdmVyZWQgYnkgaW50ZWdyYXRpb24gdGVzdHMsIG5vdCB1bml0IHRlc3RzLiAqL1xuXG5pbXBvcnQgdHlwZSB7IENvcmVTZXR1cFJlc3VsdCB9IGZyb20gJy4uL2dsb2JhbC1zZXR1cC1jb3JlLmNqcyc7XG5pbXBvcnQgdHlwZSB7IFBvcHVsYXRlRmlsZXNQYXJhbXMgfSBmcm9tICcuLi90ZW1wLXZhdWx0LmNqcyc7XG5pbXBvcnQgdHlwZSB7IE9ic2lkaWFuVHJhbnNwb3J0T3B0aW9ucyB9IGZyb20gJy4uL3RyYW5zcG9ydC1vcHRpb25zLmNqcyc7XG5cbmltcG9ydCB7XG4gIHNldFRyYW5zcG9ydE9wdGlvbnNSZXNvbHZlcixcbiAgc2V0VmF1bHRQYXRoUmVzb2x2ZXJcbn0gZnJvbSAnLi4vY29udGV4dC1wcm92aWRlci5janMnO1xuaW1wb3J0IHtcbiAgY29yZVNldHVwLFxuICBjb3JlVGVhcmRvd25cbn0gZnJvbSAnLi4vZ2xvYmFsLXNldHVwLWNvcmUuY2pzJztcbmltcG9ydCB7IFRlbXBWYXVsdCB9IGZyb20gJy4uL3RlbXAtdmF1bHQuY2pzJztcblxuLyoqXG4gKiBTaGFwZSBvZiBgZ2xvYmFsVGhpcy5fX29ic2lkaWFuSW50ZWdyYXRpb25UZXN0aW5nYC5cbiAqXG4gKiBDb25zdW1lcnMgbWF5IHByZS1wb3B1bGF0ZSBgdHJhbnNwb3J0T3B0aW9uc2AgYmVmb3JlIHRoZSBnbG9iYWwgc2V0dXAgcnVuc1xuICogKGUuZy4sIHZpYSBKZXN0IGNvbmZpZyBgZ2xvYmFsc2ApLiBUaGUgc2V0dXAgdGhlbiBhZGRzIGB0ZW1wVmF1bHRQYXRoYC5cbiAqL1xuaW50ZXJmYWNlIE9ic2lkaWFuSW50ZWdyYXRpb25UZXN0aW5nR2xvYmFsIHtcbiAgLyoqIFRlbXAgdmF1bHQgcGF0aCwgc2V0IGJ5IHRoZSBnbG9iYWwgc2V0dXAgZm9yIHRlc3Qgd29ya2Vycy4gKi9cbiAgdGVtcFZhdWx0UGF0aD86IHN0cmluZyB8IHVuZGVmaW5lZDtcblxuICAvKiogVHJhbnNwb3J0IG9wdGlvbnMuIFNldCBieSB0aGUgY29uc3VtZXIgYmVmb3JlIHNldHVwLCBvciBieSB0aGUgc2V0dXAgaXRzZWxmLiAqL1xuICB0cmFuc3BvcnRPcHRpb25zPzogT2JzaWRpYW5UcmFuc3BvcnRPcHRpb25zIHwgdW5kZWZpbmVkO1xufVxuXG4vKiBlc2xpbnQtZGlzYWJsZSB2YXJzLW9uLXRvcCAtLSBSZXF1aXJlZCBmb3IgYGRlY2xhcmUgZ2xvYmFsYCBhdWdtZW50YXRpb24uICovXG5kZWNsYXJlIGdsb2JhbCB7XG4gIC8qKlxuICAgKiBOYW1lc3BhY2UgZm9yIGFsbCBgb2JzaWRpYW4taW50ZWdyYXRpb24tdGVzdGluZ2AgZ2xvYmFsIHN0YXRlLlxuICAgKiBDb25zdW1lcnMgY29uZmlndXJlIHRyYW5zcG9ydCBvcHRpb25zIGhlcmU7IHRoZSBzZXR1cCBwb3B1bGF0ZXMgdGhlIHJlc3QuXG4gICAqL1xuICB2YXIgX19vYnNpZGlhbkludGVncmF0aW9uVGVzdGluZzogT2JzaWRpYW5JbnRlZ3JhdGlvblRlc3RpbmdHbG9iYWwgfCB1bmRlZmluZWQ7XG59XG4vKiBlc2xpbnQtZW5hYmxlIHZhcnMtb24tdG9wIC0tIEVuZCBvZiBgZGVjbGFyZSBnbG9iYWxgIGJsb2NrLiAqL1xuXG5zZXRUcmFuc3BvcnRPcHRpb25zUmVzb2x2ZXIoKCkgPT4gZ2xvYmFsVGhpcy5fX29ic2lkaWFuSW50ZWdyYXRpb25UZXN0aW5nPy50cmFuc3BvcnRPcHRpb25zKTtcbnNldFZhdWx0UGF0aFJlc29sdmVyKCgpID0+IGdsb2JhbFRoaXMuX19vYnNpZGlhbkludGVncmF0aW9uVGVzdGluZz8udGVtcFZhdWx0UGF0aCk7XG5cbi8qKlxuICogT3B0aW9ucyBmb3Ige0BsaW5rIGNyZWF0ZVNldHVwfS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBDcmVhdGVTZXR1cE9wdGlvbnMge1xuICAvKipcbiAgICogQ29tbXVuaXR5LXBsdWdpbiBpZHMgdG8gZW5hYmxlIGluIHRoZSB2YXVsdCBpbiBhZGRpdGlvbiB0byB0aGUgcGx1Z2luLXVuZGVyLXRlc3QsXG4gICAqIGFmdGVyIGl0IGlzIGVuYWJsZWQgKHNlZSB7QGxpbmsgQ29yZVNldHVwUGFyYW1zLmVuYWJsZUNvbW11bml0eVBsdWdpbnN9KS4gU2VlZCBlYWNoXG4gICAqIHBsdWdpbidzIGJ1aWx0IGZpbGVzIHZpYSB7QGxpbmsgQ3JlYXRlU2V0dXBPcHRpb25zLnBvcHVsYXRlfSAoZS5nLiB3aXRoIGBidWlsZERlbW9WYXVsdFBvcHVsYXRlYClcbiAgICogc28gdGhlIGVuYWJsZSBmaW5kcyB0aGVtIG9uIGRpc2suXG4gICAqL1xuICByZWFkb25seSBlbmFibGVDb21tdW5pdHlQbHVnaW5zPzogcmVhZG9ubHkgc3RyaW5nW107XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgdG8gaW5zdGFsbCBhbmQgZW5hYmxlIHRoZSBidWlsdCBwbHVnaW4gaW4gdGhlIHRlbXAgdmF1bHQuIERlZmF1bHRzXG4gICAqIHRvIGB0cnVlYC4gU2V0IHRvIGBmYWxzZWAgZm9yIGEgKipub24tcGx1Z2luKiogY29uc3VtZXIgdGhhdCBvbmx5IG5lZWRzIGFcbiAgICogcmVnaXN0ZXJlZCwgZW1wdHkgdmF1bHQgdG8gYGV2YWxJbk9ic2lkaWFuYCBhZ2FpbnN0IFx1MjAxNCB0aGUgb3duZWQgaW5zdGFuY2UgaXNcbiAgICogc3RpbGwgbGF1bmNoZWQgYW5kIGl0cyBlbmRwb2ludCBwdWJsaXNoZWQgdG8gd29ya2Vycywgc28gcmUtZXhwb3J0aW5nXG4gICAqIGBjcmVhdGVTZXR1cCh7IGluc3RhbGxQbHVnaW46IGZhbHNlIH0pYCByZXVzZXMgdGhlIHNhbWUgYXR0YWNoIHdpcmluZyB3aXRoIG5vXG4gICAqIHBsdWdpbiBjb3B5L2VuYWJsZS4gU2VlIHtAbGluayBDb3JlU2V0dXBQYXJhbXMuaW5zdGFsbFBsdWdpbn0uXG4gICAqL1xuICByZWFkb25seSBpbnN0YWxsUGx1Z2luPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogUmV0dXJucyBmaWxlcy9mb2xkZXJzIHRvIHdyaXRlIGludG8gdGhlIHZhdWx0IGJlZm9yZSBPYnNpZGlhbiBvcGVucyBpdCAoc2VlXG4gICAqIHtAbGluayBDb3JlU2V0dXBQYXJhbXMucG9wdWxhdGV9KS4gQSB0aHVuayBzbyBsYXJnZSBmaXh0dXJlcyBhcmUgYnVpbHQgbGF6aWx5LFxuICAgKiBvbmNlLCBpbiB0aGUgc2V0dXAgcHJvY2Vzcy5cbiAgICovXG4gIHBvcHVsYXRlPyh0aGlzOiB2b2lkKTogUG9wdWxhdGVGaWxlc1BhcmFtcztcbn1cblxuLyoqXG4gKiBBIEplc3QgYGdsb2JhbFNldHVwYCAvIGBnbG9iYWxUZWFyZG93bmAgbW9kdWxlJ3MgYHNldHVwYCAvIGB0ZWFyZG93bmAgcGFpci5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBKZXN0R2xvYmFsU2V0dXAge1xuICBzZXR1cCh0aGlzOiB2b2lkKTogUHJvbWlzZTx2b2lkPjtcbiAgdGVhcmRvd24odGhpczogdm9pZCk6IFByb21pc2U8dm9pZD47XG59XG5cbi8qKlxuICogQ3JlYXRlcyBhIEplc3QgZ2xvYmFsIHNldHVwL3RlYXJkb3duIHBhaXIsIG9wdGlvbmFsbHkgcHJlLXBvcHVsYXRpbmcgdGhlIHZhdWx0XG4gKiBiZWZvcmUgT2JzaWRpYW4gb3BlbnMgaXQgXHUyMDE0IHVzZSB0aGlzIGZvciBhIGRlZGljYXRlZCBsYXJnZS12YXVsdC9wZXJmb3JtYW5jZVxuICogc2V0dXAuIFRoZSBwbGFpbiB7QGxpbmsgc2V0dXB9IC8ge0BsaW5rIHRlYXJkb3dufSBleHBvcnRzIGFyZSB0aGUgbm8tcG9wdWxhdGVcbiAqIGNhc2UgKGBjcmVhdGVTZXR1cCgpYCkuIFBhc3MgYHsgaW5zdGFsbFBsdWdpbjogZmFsc2UgfWAgZm9yIGEgbm9uLXBsdWdpbiBjb25zdW1lclxuICogdGhhdCBvbmx5IG5lZWRzIGEgcmVnaXN0ZXJlZCwgZW1wdHkgdmF1bHQgKHNlZSB7QGxpbmsgQ3JlYXRlU2V0dXBPcHRpb25zLmluc3RhbGxQbHVnaW59KS5cbiAqXG4gKiBAcGFyYW0gb3B0aW9ucyAtIFNldHVwIG9wdGlvbnMuXG4gKiBAcmV0dXJucyBUaGUgYHNldHVwYCBhbmQgYHRlYXJkb3duYCBmdW5jdGlvbnMgdG8gcmUtZXhwb3J0IGZyb20gYSBgZ2xvYmFsU2V0dXBgIG1vZHVsZS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZVNldHVwKG9wdGlvbnM/OiBDcmVhdGVTZXR1cE9wdGlvbnMpOiBKZXN0R2xvYmFsU2V0dXAge1xuICBsZXQgc2V0dXBSZXN1bHQ6IENvcmVTZXR1cFJlc3VsdCB8IHVuZGVmaW5lZDtcblxuICByZXR1cm4geyBzZXR1cCwgdGVhcmRvd24gfTtcblxuICBhc3luYyBmdW5jdGlvbiBzZXR1cCgpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBjb25zdCB0cmFuc3BvcnRPcHRpb25zID0gZ2xvYmFsVGhpcy5fX29ic2lkaWFuSW50ZWdyYXRpb25UZXN0aW5nPy50cmFuc3BvcnRPcHRpb25zO1xuXG4gICAgc2V0dXBSZXN1bHQgPSBhd2FpdCBjb3JlU2V0dXAoe1xuICAgICAgZW5hYmxlQ29tbXVuaXR5UGx1Z2luczogb3B0aW9ucz8uZW5hYmxlQ29tbXVuaXR5UGx1Z2lucyxcbiAgICAgIGluc3RhbGxQbHVnaW46IG9wdGlvbnM/Lmluc3RhbGxQbHVnaW4sXG4gICAgICBwb3B1bGF0ZTogb3B0aW9ucz8ucG9wdWxhdGU/LigpLFxuICAgICAgdHJhbnNwb3J0T3B0aW9uc1xuICAgIH0pO1xuXG4gICAgZ2xvYmFsVGhpcy5fX29ic2lkaWFuSW50ZWdyYXRpb25UZXN0aW5nID0ge1xuICAgICAgLi4uZ2xvYmFsVGhpcy5fX29ic2lkaWFuSW50ZWdyYXRpb25UZXN0aW5nLFxuICAgICAgdGVtcFZhdWx0UGF0aDogc2V0dXBSZXN1bHQudGVtcFZhdWx0LnBhdGgsXG4gICAgICB0cmFuc3BvcnRPcHRpb25zOiBzZXR1cFJlc3VsdC50cmFuc3BvcnRPcHRpb25zXG4gICAgfTtcbiAgfVxuXG4gIGFzeW5jIGZ1bmN0aW9uIHRlYXJkb3duKCk6IFByb21pc2U8dm9pZD4ge1xuICAgIGF3YWl0IGNvcmVUZWFyZG93bihzZXR1cFJlc3VsdCk7XG4gIH1cbn1cblxuLyoqXG4gKiBSZXR1cm5zIHRoZSB0ZW1wb3JhcnkgdmF1bHQgcHJvdmlkZWQgYnkgdGhlIGdsb2JhbCBzZXR1cC5cbiAqXG4gKiBSZWFkcyB0aGUgdmF1bHQgcGF0aCBmcm9tIGBnbG9iYWxUaGlzLl9fb2JzaWRpYW5JbnRlZ3JhdGlvblRlc3RpbmcudGVtcFZhdWx0UGF0aGAsXG4gKiB3aGljaCBpcyBzZXQgYnkgdGhlIEplc3QgZ2xvYmFsIHNldHVwLlxuICpcbiAqIEByZXR1cm5zIFRoZSB0ZW1wb3JhcnkgdmF1bHQuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXRUZW1wVmF1bHQoKTogVGVtcFZhdWx0IHtcbiAgY29uc3QgdGVtcFZhdWx0UGF0aCA9IGdsb2JhbFRoaXMuX19vYnNpZGlhbkludGVncmF0aW9uVGVzdGluZz8udGVtcFZhdWx0UGF0aDtcbiAgaWYgKCF0ZW1wVmF1bHRQYXRoKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgJ2dsb2JhbFRoaXMuX19vYnNpZGlhbkludGVncmF0aW9uVGVzdGluZy50ZW1wVmF1bHRQYXRoIGlzIG5vdCBzZXQuIERpZCB5b3UgY29uZmlndXJlIG9ic2lkaWFuLWludGVncmF0aW9uLXRlc3RpbmcvamVzdC1nbG9iYWwtc2V0dXAgYXMgYSBKZXN0IGdsb2JhbFNldHVwPydcbiAgICApO1xuICB9XG4gIHJldHVybiBuZXcgVGVtcFZhdWx0KHRlbXBWYXVsdFBhdGgpO1xufVxuXG4vKipcbiAqIFJldHVybnMgdGhlIHRyYW5zcG9ydCBvcHRpb25zIHByb3ZpZGVkIGJ5IHRoZSBnbG9iYWwgc2V0dXAuXG4gKlxuICogQHJldHVybnMgVGhlIHRyYW5zcG9ydCBvcHRpb25zLCBvciBgdW5kZWZpbmVkYCBpZiBub3QgY29uZmlndXJlZC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldFRyYW5zcG9ydE9wdGlvbnMoKTogT2JzaWRpYW5UcmFuc3BvcnRPcHRpb25zIHwgdW5kZWZpbmVkIHtcbiAgcmV0dXJuIGdsb2JhbFRoaXMuX19vYnNpZGlhbkludGVncmF0aW9uVGVzdGluZz8udHJhbnNwb3J0T3B0aW9ucztcbn1cblxuY29uc3QgZGVmYXVsdEdsb2JhbFNldHVwID0gY3JlYXRlU2V0dXAoKTtcblxuLyoqXG4gKiBKZXN0IGdsb2JhbCBzZXR1cCBmdW5jdGlvbiAobm8gcHJlLXBvcHVsYXRpb24pLlxuICpcbiAqIENvcGllcyB0aGUgYnVpbHQgcGx1Z2luIGludG8gYSB0ZW1wb3JhcnkgdmF1bHQsIGVuYWJsZXMgaXQgdmlhIGEgcmVuZGVyZXIgZXZhbFxuICogb3ZlciB0aGUgdHJhbnNwb3J0LCBhbmQgcG9wdWxhdGVzIGBnbG9iYWxUaGlzLl9fb2JzaWRpYW5JbnRlZ3JhdGlvblRlc3RpbmdgIGZvciB0ZXN0cy5cbiAqXG4gKiBUcmFuc3BvcnQgb3B0aW9ucyBhcmUgcmVhZCBmcm9tIGBnbG9iYWxUaGlzLl9fb2JzaWRpYW5JbnRlZ3JhdGlvblRlc3RpbmcudHJhbnNwb3J0T3B0aW9uc2AuXG4gKiBTZXQgdGhpcyBpbiB5b3VyIEplc3QgY29uZmlnIHZpYSB0aGUgYGdsb2JhbHNgIG9wdGlvbi5cbiAqXG4gKiBAcmV0dXJucyBBIHByb21pc2UgdGhhdCByZXNvbHZlcyB3aGVuIHNldHVwIGNvbXBsZXRlcy5cbiAqL1xuZXhwb3J0IGNvbnN0IHNldHVwID0gZGVmYXVsdEdsb2JhbFNldHVwLnNldHVwO1xuXG4vKipcbiAqIEplc3QgZ2xvYmFsIHRlYXJkb3duIGZ1bmN0aW9uLlxuICpcbiAqIFJlbW92ZXMgdGhlIHRlbXBvcmFyeSB2YXVsdCBjcmVhdGVkIGR1cmluZyBzZXR1cC5cbiAqXG4gKiBAcmV0dXJucyBBIHByb21pc2UgdGhhdCByZXNvbHZlcyB3aGVuIHRlYXJkb3duIGNvbXBsZXRlcy5cbiAqL1xuZXhwb3J0IGNvbnN0IHRlYXJkb3duID0gZGVmYXVsdEdsb2JhbFNldHVwLnRlYXJkb3duO1xuXG4vLyBKZXN0J3MgYGdsb2JhbFNldHVwYCBjb25maWcgY2FuIHJlZmVyZW5jZSB0aGlzIG1vZHVsZSBkaXJlY3RseSBiZWNhdXNlIGl0cyBkZWZhdWx0IGV4cG9ydCBpcyB0aGUgc2V0dXAgZnVuY3Rpb24uXG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgaW1wb3J0LXgvbm8tZGVmYXVsdC1leHBvcnQgLS0gSmVzdCdzIGdsb2JhbFNldHVwIGxvYWRlciByZXF1aXJlcyBhIGRlZmF1bHQtZXhwb3J0IGZ1bmN0aW9uLlxuZXhwb3J0IGRlZmF1bHQgc2V0dXA7XG4iXSwKICAibWFwcGluZ3MiOiAiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQWVBLDhCQUdPO0FBQ1AsK0JBR087QUFDUCx3QkFBMEI7QUFBQSxJQTBCMUIscURBQTRCLE1BQU0sV0FBVyw4QkFBOEIsZ0JBQWdCO0FBQUEsSUFDM0YsOENBQXFCLE1BQU0sV0FBVyw4QkFBOEIsYUFBYTtBQWtEMUUsU0FBUyxZQUFZLFNBQStDO0FBQ3pFLE1BQUk7QUFFSixTQUFPLEVBQUUsT0FBQUEsUUFBTyxVQUFBQyxVQUFTO0FBRXpCLGlCQUFlRCxTQUF1QjtBQUNwQyxVQUFNLG1CQUFtQixXQUFXLDhCQUE4QjtBQUVsRSxrQkFBYyxVQUFNLG9DQUFVO0FBQUEsTUFDNUIsd0JBQXdCLFNBQVM7QUFBQSxNQUNqQyxlQUFlLFNBQVM7QUFBQSxNQUN4QixVQUFVLFNBQVMsV0FBVztBQUFBLE1BQzlCO0FBQUEsSUFDRixDQUFDO0FBRUQsZUFBVywrQkFBK0I7QUFBQSxNQUN4QyxHQUFHLFdBQVc7QUFBQSxNQUNkLGVBQWUsWUFBWSxVQUFVO0FBQUEsTUFDckMsa0JBQWtCLFlBQVk7QUFBQSxJQUNoQztBQUFBLEVBQ0Y7QUFFQSxpQkFBZUMsWUFBMEI7QUFDdkMsY0FBTSx1Q0FBYSxXQUFXO0FBQUEsRUFDaEM7QUFDRjtBQVVPLFNBQVMsZUFBMEI7QUFDeEMsUUFBTSxnQkFBZ0IsV0FBVyw4QkFBOEI7QUFDL0QsTUFBSSxDQUFDLGVBQWU7QUFDbEIsVUFBTSxJQUFJO0FBQUEsTUFDUjtBQUFBLElBQ0Y7QUFBQSxFQUNGO0FBQ0EsU0FBTyxJQUFJLDRCQUFVLGFBQWE7QUFDcEM7QUFPTyxTQUFTLHNCQUE0RDtBQUMxRSxTQUFPLFdBQVcsOEJBQThCO0FBQ2xEO0FBRUEsTUFBTSxxQkFBcUIsWUFBWTtBQWFoQyxNQUFNLFFBQVEsbUJBQW1CO0FBU2pDLE1BQU0sV0FBVyxtQkFBbUI7QUFJM0MsSUFBTyx1QkFBUTsiLAogICJuYW1lcyI6IFsic2V0dXAiLCAidGVhcmRvd24iXQp9Cg==
@@ -32,6 +32,22 @@ declare global {
32
32
  * Options for {@link createSetup}.
33
33
  */
34
34
  export interface CreateSetupOptions {
35
+ /**
36
+ * Community-plugin ids to enable in the vault in addition to the plugin-under-test,
37
+ * after it is enabled (see {@link CoreSetupParams.enableCommunityPlugins}). Seed each
38
+ * plugin's built files via {@link CreateSetupOptions.populate} (e.g. with `buildDemoVaultPopulate`)
39
+ * so the enable finds them on disk.
40
+ */
41
+ readonly enableCommunityPlugins?: readonly string[];
42
+ /**
43
+ * Whether to install and enable the built plugin in the temp vault. Defaults
44
+ * to `true`. Set to `false` for a **non-plugin** consumer that only needs a
45
+ * registered, empty vault to `evalInObsidian` against — the owned instance is
46
+ * still launched and its endpoint published to workers, so re-exporting
47
+ * `createSetup({ installPlugin: false })` reuses the same attach wiring with no
48
+ * plugin copy/enable. See {@link CoreSetupParams.installPlugin}.
49
+ */
50
+ readonly installPlugin?: boolean;
35
51
  /**
36
52
  * Returns files/folders to write into the vault before Obsidian opens it (see
37
53
  * {@link CoreSetupParams.populate}). A thunk so large fixtures are built lazily,
@@ -50,7 +66,8 @@ export interface JestGlobalSetup {
50
66
  * Creates a Jest global setup/teardown pair, optionally pre-populating the vault
51
67
  * before Obsidian opens it — use this for a dedicated large-vault/performance
52
68
  * setup. The plain {@link setup} / {@link teardown} exports are the no-populate
53
- * case (`createSetup()`).
69
+ * case (`createSetup()`). Pass `{ installPlugin: false }` for a non-plugin consumer
70
+ * that only needs a registered, empty vault (see {@link CreateSetupOptions.installPlugin}).
54
71
  *
55
72
  * @param options - Setup options.
56
73
  * @returns The `setup` and `teardown` functions to re-export from a `globalSetup` module.
@@ -74,8 +91,8 @@ export declare function getTransportOptions(): ObsidianTransportOptions | undefi
74
91
  /**
75
92
  * Jest global setup function (no pre-population).
76
93
  *
77
- * Copies the built plugin into a temporary vault, enables it via the Obsidian CLI,
78
- * and populates `globalThis.__obsidianIntegrationTesting` for tests.
94
+ * Copies the built plugin into a temporary vault, enables it via a renderer eval
95
+ * over the transport, and populates `globalThis.__obsidianIntegrationTesting` for tests.
79
96
  *
80
97
  * Transport options are read from `globalThis.__obsidianIntegrationTesting.transportOptions`.
81
98
  * Set this in your Jest config via the `globals` option.
@@ -0,0 +1,26 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+ var global_teardown_no_plugin_exports = {};
20
+ __export(global_teardown_no_plugin_exports, {
21
+ default: () => global_teardown_no_plugin_default
22
+ });
23
+ module.exports = __toCommonJS(global_teardown_no_plugin_exports);
24
+ var import_global_setup_no_plugin = require("./global-setup-no-plugin.cjs");
25
+ var global_teardown_no_plugin_default = import_global_setup_no_plugin.teardown;
26
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vc3JjL2plc3QvZ2xvYmFsLXRlYXJkb3duLW5vLXBsdWdpbi50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsiLyoqXG4gKiBAZmlsZVxuICpcbiAqIEplc3QgKipwbHVnaW4tbGVzcyoqIGdsb2JhbCB0ZWFyZG93biBlbnRyeSBwb2ludC5cbiAqXG4gKiBKZXN0IHJlcXVpcmVzIGBnbG9iYWxUZWFyZG93bmAgdG8gYmUgYSBzZXBhcmF0ZSBtb2R1bGUgd2hvc2UgZGVmYXVsdCBleHBvcnQgaXNcbiAqIHRoZSB0ZWFyZG93biBmdW5jdGlvbi4gSXQgcmUtZXhwb3J0cyB0aGUgdGVhcmRvd24gZnJvbSB0aGUgcGx1Z2luLWxlc3Mgc2V0dXBcbiAqIG1vZHVsZSBzbyBib3RoIHNoYXJlIHRoZSBzYW1lIHNldHVwIHN0YXRlIHdpdGhpbiB0aGUgSmVzdCBwYXJlbnQgcHJvY2Vzcy5cbiAqL1xuXG4vKiB2OCBpZ25vcmUgc3RhcnQgLS0gSW50ZWdyYXRpb24tdGltZSB0ZWFyZG93biBjb3ZlcmVkIGJ5IGludGVncmF0aW9uIHRlc3RzLCBub3QgdW5pdCB0ZXN0cy4gKi9cblxuaW1wb3J0IHsgdGVhcmRvd24gfSBmcm9tICcuL2dsb2JhbC1zZXR1cC1uby1wbHVnaW4uY2pzJztcblxuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGltcG9ydC14L25vLWRlZmF1bHQtZXhwb3J0IC0tIEplc3QncyBnbG9iYWxUZWFyZG93biBsb2FkZXIgcmVxdWlyZXMgYSBkZWZhdWx0LWV4cG9ydCBmdW5jdGlvbi5cbmV4cG9ydCBkZWZhdWx0IHRlYXJkb3duO1xuXG4vKiB2OCBpZ25vcmUgc3RvcCAqL1xuIl0sCiAgIm1hcHBpbmdzIjogIjs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQVlBLG9DQUF5QjtBQUd6QixJQUFPLG9DQUFROyIsCiAgIm5hbWVzIjogW10KfQo=
@@ -0,0 +1,11 @@
1
+ /**
2
+ * @file
3
+ *
4
+ * Jest **plugin-less** global teardown entry point.
5
+ *
6
+ * Jest requires `globalTeardown` to be a separate module whose default export is
7
+ * the teardown function. It re-exports the teardown from the plugin-less setup
8
+ * module so both share the same setup state within the Jest parent process.
9
+ */
10
+ import { teardown } from './global-setup-no-plugin.cjs';
11
+ export default teardown;
@@ -21,7 +21,7 @@ __export(library_exports, {
21
21
  LIBRARY_VERSION: () => LIBRARY_VERSION
22
22
  });
23
23
  module.exports = __toCommonJS(library_exports);
24
- const LIBRARY_VERSION = false ? "dev" : "8.3.0";
24
+ const LIBRARY_VERSION = false ? "dev" : "9.0.0";
25
25
  // Annotate the CommonJS export names for ESM import in node:
26
26
  0 && (module.exports = {
27
27
  LIBRARY_VERSION
@@ -0,0 +1,53 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+ var plugin_enable_retry_exports = {};
20
+ __export(plugin_enable_retry_exports, {
21
+ DEFAULT_PLUGIN_ENABLE_RETRY_COUNT: () => DEFAULT_PLUGIN_ENABLE_RETRY_COUNT,
22
+ DEFAULT_PLUGIN_ENABLE_RETRY_DELAY_IN_MILLISECONDS: () => DEFAULT_PLUGIN_ENABLE_RETRY_DELAY_IN_MILLISECONDS,
23
+ computeBackoffDelayInMilliseconds: () => computeBackoffDelayInMilliseconds,
24
+ resolvePluginEnableRetryCount: () => resolvePluginEnableRetryCount,
25
+ resolvePluginEnableRetryDelayInMilliseconds: () => resolvePluginEnableRetryDelayInMilliseconds,
26
+ shouldRetryPluginEnable: () => shouldRetryPluginEnable
27
+ });
28
+ module.exports = __toCommonJS(plugin_enable_retry_exports);
29
+ const DEFAULT_PLUGIN_ENABLE_RETRY_COUNT = 3;
30
+ const DEFAULT_PLUGIN_ENABLE_RETRY_DELAY_IN_MILLISECONDS = 2e3;
31
+ const EXPONENTIAL_BACKOFF_BASE = 2;
32
+ function computeBackoffDelayInMilliseconds(baseDelayInMilliseconds, attemptIndex) {
33
+ return baseDelayInMilliseconds * EXPONENTIAL_BACKOFF_BASE ** attemptIndex;
34
+ }
35
+ function resolvePluginEnableRetryCount(options) {
36
+ return options?.type === "obsidian-android-appium" ? options.pluginEnableRetryCount ?? DEFAULT_PLUGIN_ENABLE_RETRY_COUNT : DEFAULT_PLUGIN_ENABLE_RETRY_COUNT;
37
+ }
38
+ function resolvePluginEnableRetryDelayInMilliseconds(options) {
39
+ return options?.type === "obsidian-android-appium" ? options.pluginEnableRetryDelayInMilliseconds ?? DEFAULT_PLUGIN_ENABLE_RETRY_DELAY_IN_MILLISECONDS : DEFAULT_PLUGIN_ENABLE_RETRY_DELAY_IN_MILLISECONDS;
40
+ }
41
+ function shouldRetryPluginEnable(result) {
42
+ return !result.isLoaded && !result.errorMessage && !result.rendererConsoleErrors;
43
+ }
44
+ // Annotate the CommonJS export names for ESM import in node:
45
+ 0 && (module.exports = {
46
+ DEFAULT_PLUGIN_ENABLE_RETRY_COUNT,
47
+ DEFAULT_PLUGIN_ENABLE_RETRY_DELAY_IN_MILLISECONDS,
48
+ computeBackoffDelayInMilliseconds,
49
+ resolvePluginEnableRetryCount,
50
+ resolvePluginEnableRetryDelayInMilliseconds,
51
+ shouldRetryPluginEnable
52
+ });
53
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL3BsdWdpbi1lbmFibGUtcmV0cnkudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbIi8qKlxuICogQGZpbGVcbiAqXG4gKiBQdXJlIGhlbHBlcnMgZm9yIHJldHJ5aW5nIHRoZSBwbHVnaW4tZW5hYmxlIHN0ZXAsIHBsdXMgcmVzb2x2aW5nIHRoZSByZXRyeVxuICoga25vYnMgZnJvbSB0aGUgdHJhbnNwb3J0IG9wdGlvbnMuIEtlcHQgc2VwYXJhdGUgZnJvbSB0aGUgaW50ZWdyYXRpb24tb25seVxuICogYGdsb2JhbC1zZXR1cC1jb3JlYCBvcmNoZXN0cmF0aW9uIHNvIHRoZSBkZWNpc2lvbiBsb2dpYyBhbmQgZGVmYXVsdFxuICogcmVzb2x1dGlvbiBzdGF5IHVuaXQtdGVzdGFibGUgKHRoZSBvcmNoZXN0cmF0aW9uIGl0c2VsZiBuZWVkcyBhIHJlYWxcbiAqIHRyYW5zcG9ydCBhbmQgaXMgZXhjbHVkZWQgZnJvbSB1bml0IHRlc3RzKS5cbiAqXG4gKiBXaGVuIHRoZSBoYXJuZXNzIGF1dG8tc3RhcnRzIGFuIEFuZHJvaWQgZW11bGF0b3IgKGNvbGQgYm9vdCkgYW5kIGltbWVkaWF0ZWx5XG4gKiBzeW5jcyB0aGUgdmF1bHQgYW5kIGVuYWJsZXMgdGhlIHBsdWdpbiwgdGhlIHBsdWdpbiBjYW4gbGFuZCBpbiB0aGUgZW5hYmxlZCBzZXRcbiAqIGJ1dCBmYWlsIHRvIGxvYWQgXHUyMDE0IHRoZSBmcmVzaGx5IGJvb3RlZCBndWVzdCdzIHBsdWdpbiBzdWJzeXN0ZW0gaXNuJ3Qgc2V0dGxlZFxuICogYW5kIHRoZSBzaW5nbGUtc2hvdCBlbmFibGUgcmFjZXMgaXQuIERldmljZS1pZGxlIGFuZCBgbGF5b3V0UmVhZHlgIGFyZSBhbHJlYWR5XG4gKiBnYXRlZCB1cHN0cmVhbSwgc28gdGhlIHJlc2lkdWFsIGdhcCBpcyBuYXJyb3c7IHJldHJ5aW5nIHRoZSBlbmFibGUgYSBmZXcgdGltZXNcbiAqIHdpdGggYmFja29mZiByZWNvdmVycyB0aGUgdHJhbnNpZW50IHJhY2Ugd2hpbGUgc3RpbGwgZmFpbGluZyBmYXN0IG9uIGEgZ2VudWluZVxuICogcGx1Z2luIGJ1ZyAoYSBjYXB0dXJlZCBsb2FkIGVycm9yLCB3aGljaCByZXRyeWluZyBjYW5ub3QgZml4KS5cbiAqL1xuXG5pbXBvcnQgdHlwZSB7IEVuYWJsZVBsdWdpblJlc3VsdCB9IGZyb20gJy4vZW5hYmxlLXBsdWdpbi5janMnO1xuaW1wb3J0IHR5cGUgeyBPYnNpZGlhblRyYW5zcG9ydE9wdGlvbnMgfSBmcm9tICcuL3RyYW5zcG9ydC1vcHRpb25zLmNqcyc7XG5cbi8qKlxuICogRGVmYXVsdCBmb3Ige0BsaW5rIE9ic2lkaWFuQW5kcm9pZEFwcGl1bVRyYW5zcG9ydE9wdGlvbnMucGx1Z2luRW5hYmxlUmV0cnlDb3VudH0uXG4gKi9cbmV4cG9ydCBjb25zdCBERUZBVUxUX1BMVUdJTl9FTkFCTEVfUkVUUllfQ09VTlQgPSAzO1xuXG4vKipcbiAqIERlZmF1bHQgZm9yIHtAbGluayBPYnNpZGlhbkFuZHJvaWRBcHBpdW1UcmFuc3BvcnRPcHRpb25zLnBsdWdpbkVuYWJsZVJldHJ5RGVsYXlJbk1pbGxpc2Vjb25kc30uXG4gKi9cbmV4cG9ydCBjb25zdCBERUZBVUxUX1BMVUdJTl9FTkFCTEVfUkVUUllfREVMQVlfSU5fTUlMTElTRUNPTkRTID0gMjAwMDtcblxuLyoqXG4gKiBUaGUgcGVyLXJldHJ5IG11bHRpcGxpZXIgZm9yIHRoZSBleHBvbmVudGlhbCBiYWNrb2ZmOiBlYWNoIHJldHJ5IHdhaXRzIHR3aWNlIGFzXG4gKiBsb25nIGFzIHRoZSBwcmV2aW91cyBvbmUuXG4gKi9cbmNvbnN0IEVYUE9ORU5USUFMX0JBQ0tPRkZfQkFTRSA9IDI7XG5cbi8qKlxuICogQ29tcHV0ZXMgdGhlIGV4cG9uZW50aWFsIGJhY2tvZmYgZGVsYXkgZm9yIGEgZ2l2ZW4gcmV0cnksIGZyb20gYSBiYXNlIGRlbGF5LlxuICpcbiAqIGBhdHRlbXB0SW5kZXhgIGlzIDAtYmFzZWQ6IHRoZSBmaXJzdCByZXRyeSB3YWl0cyB0aGUgYmFzZSBkZWxheSwgdGhlIHNlY29uZFxuICogdHdpY2UgdGhhdCwgdGhlIHRoaXJkIGZvdXIgdGltZXMsIGFuZCBzbyBvbi5cbiAqXG4gKiBAcGFyYW0gYmFzZURlbGF5SW5NaWxsaXNlY29uZHMgLSBUaGUgYmFzZSBkZWxheS5cbiAqIEBwYXJhbSBhdHRlbXB0SW5kZXggLSBUaGUgMC1iYXNlZCByZXRyeSBpbmRleC5cbiAqIEByZXR1cm5zIFRoZSBkZWxheSBpbiBtaWxsaXNlY29uZHMgZm9yIHRoaXMgcmV0cnkuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBjb21wdXRlQmFja29mZkRlbGF5SW5NaWxsaXNlY29uZHMoYmFzZURlbGF5SW5NaWxsaXNlY29uZHM6IG51bWJlciwgYXR0ZW1wdEluZGV4OiBudW1iZXIpOiBudW1iZXIge1xuICByZXR1cm4gYmFzZURlbGF5SW5NaWxsaXNlY29uZHMgKiAoRVhQT05FTlRJQUxfQkFDS09GRl9CQVNFICoqIGF0dGVtcHRJbmRleCk7XG59XG5cbi8qKlxuICogUmVzb2x2ZXMgdGhlIG51bWJlciBvZiBleHRyYSBwbHVnaW4tZW5hYmxlIGF0dGVtcHRzLCBhcHBseWluZyB0aGUgZGVmYXVsdCB3aGVuXG4gKiB0aGUgb3B0aW9uIGlzIG9taXR0ZWQuIE9ubHkgdGhlIEFuZHJvaWQgdHJhbnNwb3J0IGNhcnJpZXMgdGhlIGtub2I7IGV2ZXJ5XG4gKiBvdGhlciB0cmFuc3BvcnQgKGFuZCBgdW5kZWZpbmVkYCkgZmFsbHMgYmFjayB0byB0aGUgZGVmYXVsdCBcdTIwMTQgaGFybWxlc3MgdGhlcmUsXG4gKiBzaW5jZSBhIHBsdWdpbiB0aGF0IGxvYWRzIG9uIHRoZSBmaXJzdCB0cnkgbmV2ZXIgZW50ZXJzIHRoZSByZXRyeSBwYXRoLlxuICpcbiAqIEEgdmFsdWUgb2YgYDBgIGRpc2FibGVzIHJldHJ5IChhIHNpbmdsZSBhdHRlbXB0KS5cbiAqXG4gKiBAcGFyYW0gb3B0aW9ucyAtIFRoZSByZXNvbHZlZCB0cmFuc3BvcnQgb3B0aW9ucy5cbiAqIEByZXR1cm5zIFRoZSByZXRyeSBjb3VudC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHJlc29sdmVQbHVnaW5FbmFibGVSZXRyeUNvdW50KG9wdGlvbnM6IG51bGwgfCBPYnNpZGlhblRyYW5zcG9ydE9wdGlvbnMpOiBudW1iZXIge1xuICByZXR1cm4gb3B0aW9ucz8udHlwZSA9PT0gJ29ic2lkaWFuLWFuZHJvaWQtYXBwaXVtJ1xuICAgID8gKG9wdGlvbnMucGx1Z2luRW5hYmxlUmV0cnlDb3VudCA/PyBERUZBVUxUX1BMVUdJTl9FTkFCTEVfUkVUUllfQ09VTlQpXG4gICAgOiBERUZBVUxUX1BMVUdJTl9FTkFCTEVfUkVUUllfQ09VTlQ7XG59XG5cbi8qKlxuICogUmVzb2x2ZXMgdGhlIGJhc2UgYmFja29mZiBkZWxheSBiZXR3ZWVuIHBsdWdpbi1lbmFibGUgYXR0ZW1wdHMsIGFwcGx5aW5nIHRoZVxuICogZGVmYXVsdCB3aGVuIHRoZSBvcHRpb24gaXMgb21pdHRlZC4gU2VlIHtAbGluayByZXNvbHZlUGx1Z2luRW5hYmxlUmV0cnlDb3VudH1cbiAqIGZvciB0aGUgdHJhbnNwb3J0IGhhbmRsaW5nLlxuICpcbiAqIEBwYXJhbSBvcHRpb25zIC0gVGhlIHJlc29sdmVkIHRyYW5zcG9ydCBvcHRpb25zLlxuICogQHJldHVybnMgVGhlIGJhc2UgZGVsYXkgaW4gbWlsbGlzZWNvbmRzLlxuICovXG5leHBvcnQgZnVuY3Rpb24gcmVzb2x2ZVBsdWdpbkVuYWJsZVJldHJ5RGVsYXlJbk1pbGxpc2Vjb25kcyhvcHRpb25zOiBudWxsIHwgT2JzaWRpYW5UcmFuc3BvcnRPcHRpb25zKTogbnVtYmVyIHtcbiAgcmV0dXJuIG9wdGlvbnM/LnR5cGUgPT09ICdvYnNpZGlhbi1hbmRyb2lkLWFwcGl1bSdcbiAgICA/IChvcHRpb25zLnBsdWdpbkVuYWJsZVJldHJ5RGVsYXlJbk1pbGxpc2Vjb25kcyA/PyBERUZBVUxUX1BMVUdJTl9FTkFCTEVfUkVUUllfREVMQVlfSU5fTUlMTElTRUNPTkRTKVxuICAgIDogREVGQVVMVF9QTFVHSU5fRU5BQkxFX1JFVFJZX0RFTEFZX0lOX01JTExJU0VDT05EUztcbn1cblxuLyoqXG4gKiBEZWNpZGVzIHdoZXRoZXIgYSBmYWlsZWQgcGx1Z2luLWVuYWJsZSBpcyBhIHJldHJ5YWJsZSBjb2xkLWJvb3QgcmFjZS5cbiAqXG4gKiBSZXRyeSBvbmx5IHRoZSB0cmFuc2llbnQgc3dhbGxvdyBzaWduYXR1cmUgXHUyMDE0IHRoZSBwbHVnaW4gaXMgaW4gdGhlIGVuYWJsZWQgc2V0XG4gKiBidXQgbm90IGxvYWRlZCBhbmQgbm8gY2F1c2Ugd2FzIGNhcHR1cmVkIChuZWl0aGVyIHRoZSBgbG9hZFBsdWdpbmBcbiAqIG1vbmtleS1wYXRjaCBub3IgdGhlIHJlbmRlcmVyIGNvbnNvbGUgc3VyZmFjZWQgYW4gZXJyb3IpLiBBIGNhcHR1cmVkIGVycm9yIGlzXG4gKiBhIGRldGVybWluaXN0aWMgYnVnIHRoYXQgcmV0cnlpbmcgY2Fubm90IGZpeCwgc28gaXQgaXMgbm90IHJldHJ5YWJsZS5cbiAqXG4gKiBAcGFyYW0gcmVzdWx0IC0gVGhlIGVuYWJsZSByZXN1bHQgZnJvbSBhIHNpbmdsZSBhdHRlbXB0LlxuICogQHJldHVybnMgYHRydWVgIHdoZW4gdGhlIGVuYWJsZSBzaG91bGQgYmUgcmV0cmllZC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHNob3VsZFJldHJ5UGx1Z2luRW5hYmxlKHJlc3VsdDogRW5hYmxlUGx1Z2luUmVzdWx0KTogYm9vbGVhbiB7XG4gIHJldHVybiAhcmVzdWx0LmlzTG9hZGVkICYmICFyZXN1bHQuZXJyb3JNZXNzYWdlICYmICFyZXN1bHQucmVuZGVyZXJDb25zb2xlRXJyb3JzO1xufVxuIl0sCiAgIm1hcHBpbmdzIjogIjs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUF3Qk8sTUFBTSxvQ0FBb0M7QUFLMUMsTUFBTSxvREFBb0Q7QUFNakUsTUFBTSwyQkFBMkI7QUFZMUIsU0FBUyxrQ0FBa0MseUJBQWlDLGNBQThCO0FBQy9HLFNBQU8sMEJBQTJCLDRCQUE0QjtBQUNoRTtBQWFPLFNBQVMsOEJBQThCLFNBQWtEO0FBQzlGLFNBQU8sU0FBUyxTQUFTLDRCQUNwQixRQUFRLDBCQUEwQixvQ0FDbkM7QUFDTjtBQVVPLFNBQVMsNENBQTRDLFNBQWtEO0FBQzVHLFNBQU8sU0FBUyxTQUFTLDRCQUNwQixRQUFRLHdDQUF3QyxvREFDakQ7QUFDTjtBQWFPLFNBQVMsd0JBQXdCLFFBQXFDO0FBQzNFLFNBQU8sQ0FBQyxPQUFPLFlBQVksQ0FBQyxPQUFPLGdCQUFnQixDQUFDLE9BQU87QUFDN0Q7IiwKICAibmFtZXMiOiBbXQp9Cg==
@@ -0,0 +1,71 @@
1
+ /**
2
+ * @file
3
+ *
4
+ * Pure helpers for retrying the plugin-enable step, plus resolving the retry
5
+ * knobs from the transport options. Kept separate from the integration-only
6
+ * `global-setup-core` orchestration so the decision logic and default
7
+ * resolution stay unit-testable (the orchestration itself needs a real
8
+ * transport and is excluded from unit tests).
9
+ *
10
+ * When the harness auto-starts an Android emulator (cold boot) and immediately
11
+ * syncs the vault and enables the plugin, the plugin can land in the enabled set
12
+ * but fail to load — the freshly booted guest's plugin subsystem isn't settled
13
+ * and the single-shot enable races it. Device-idle and `layoutReady` are already
14
+ * gated upstream, so the residual gap is narrow; retrying the enable a few times
15
+ * with backoff recovers the transient race while still failing fast on a genuine
16
+ * plugin bug (a captured load error, which retrying cannot fix).
17
+ */
18
+ import type { EnablePluginResult } from './enable-plugin.cjs';
19
+ import type { ObsidianTransportOptions } from './transport-options.cjs';
20
+ /**
21
+ * Default for {@link ObsidianAndroidAppiumTransportOptions.pluginEnableRetryCount}.
22
+ */
23
+ export declare const DEFAULT_PLUGIN_ENABLE_RETRY_COUNT = 3;
24
+ /**
25
+ * Default for {@link ObsidianAndroidAppiumTransportOptions.pluginEnableRetryDelayInMilliseconds}.
26
+ */
27
+ export declare const DEFAULT_PLUGIN_ENABLE_RETRY_DELAY_IN_MILLISECONDS = 2000;
28
+ /**
29
+ * Computes the exponential backoff delay for a given retry, from a base delay.
30
+ *
31
+ * `attemptIndex` is 0-based: the first retry waits the base delay, the second
32
+ * twice that, the third four times, and so on.
33
+ *
34
+ * @param baseDelayInMilliseconds - The base delay.
35
+ * @param attemptIndex - The 0-based retry index.
36
+ * @returns The delay in milliseconds for this retry.
37
+ */
38
+ export declare function computeBackoffDelayInMilliseconds(baseDelayInMilliseconds: number, attemptIndex: number): number;
39
+ /**
40
+ * Resolves the number of extra plugin-enable attempts, applying the default when
41
+ * the option is omitted. Only the Android transport carries the knob; every
42
+ * other transport (and `undefined`) falls back to the default — harmless there,
43
+ * since a plugin that loads on the first try never enters the retry path.
44
+ *
45
+ * A value of `0` disables retry (a single attempt).
46
+ *
47
+ * @param options - The resolved transport options.
48
+ * @returns The retry count.
49
+ */
50
+ export declare function resolvePluginEnableRetryCount(options: null | ObsidianTransportOptions): number;
51
+ /**
52
+ * Resolves the base backoff delay between plugin-enable attempts, applying the
53
+ * default when the option is omitted. See {@link resolvePluginEnableRetryCount}
54
+ * for the transport handling.
55
+ *
56
+ * @param options - The resolved transport options.
57
+ * @returns The base delay in milliseconds.
58
+ */
59
+ export declare function resolvePluginEnableRetryDelayInMilliseconds(options: null | ObsidianTransportOptions): number;
60
+ /**
61
+ * Decides whether a failed plugin-enable is a retryable cold-boot race.
62
+ *
63
+ * Retry only the transient swallow signature — the plugin is in the enabled set
64
+ * but not loaded and no cause was captured (neither the `loadPlugin`
65
+ * monkey-patch nor the renderer console surfaced an error). A captured error is
66
+ * a deterministic bug that retrying cannot fix, so it is not retryable.
67
+ *
68
+ * @param result - The enable result from a single attempt.
69
+ * @returns `true` when the enable should be retried.
70
+ */
71
+ export declare function shouldRetryPluginEnable(result: EnablePluginResult): boolean;
@@ -0,0 +1,72 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+ var poll_in_obsidian_exports = {};
20
+ __export(poll_in_obsidian_exports, {
21
+ pollInObsidian: () => pollInObsidian
22
+ });
23
+ module.exports = __toCommonJS(poll_in_obsidian_exports);
24
+ var import_promises = require("node:timers/promises");
25
+ var import_context_id = require("./context-id.cjs");
26
+ var import_eval_in_obsidian = require("./eval-in-obsidian.cjs");
27
+ var import_poll_until = require("./poll-until.cjs");
28
+ const DEFAULT_POLL_INTERVAL_IN_MILLISECONDS = 500;
29
+ const DEFAULT_POLL_TIMEOUT_IN_MILLISECONDS = 12e4;
30
+ async function pollInObsidian(params) {
31
+ const {
32
+ args,
33
+ contextId,
34
+ intervalInMilliseconds = DEFAULT_POLL_INTERVAL_IN_MILLISECONDS,
35
+ poll,
36
+ start,
37
+ timeoutInMilliseconds = DEFAULT_POLL_TIMEOUT_IN_MILLISECONDS,
38
+ timeoutMessage,
39
+ transport,
40
+ until,
41
+ vaultPath
42
+ } = params;
43
+ async function runEval(fn) {
44
+ const evalParams = {
45
+ fn,
46
+ ...args !== void 0 && { args },
47
+ ...contextId !== void 0 && { contextId },
48
+ ...transport !== void 0 && { transport },
49
+ ...vaultPath !== void 0 && { vaultPath }
50
+ };
51
+ return (0, import_eval_in_obsidian.evalInObsidian)(evalParams);
52
+ }
53
+ if (start) {
54
+ await runEval(start);
55
+ }
56
+ return (0, import_poll_until.pollUntil)({
57
+ attempt: async () => runEval(poll),
58
+ intervalInMilliseconds,
59
+ nowInMilliseconds: () => Date.now(),
60
+ sleep: async (milliseconds) => {
61
+ await (0, import_promises.setTimeout)(milliseconds);
62
+ },
63
+ timeoutInMilliseconds,
64
+ until,
65
+ ...timeoutMessage !== void 0 && { timeoutMessage }
66
+ });
67
+ }
68
+ // Annotate the CommonJS export names for ESM import in node:
69
+ 0 && (module.exports = {
70
+ pollInObsidian
71
+ });
72
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL3BvbGwtaW4tb2JzaWRpYW4udHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbIi8qKlxuICogQGZpbGVcbiAqXG4gKiBOb2RlLXNpZGUgXCJraWNrIG9mZiwgdGhlbiBwb2xsXCIgaGVscGVyIG92ZXIge0BsaW5rIGV2YWxJbk9ic2lkaWFufS5cbiAqXG4gKiBBIHNpbmdsZSBgZXZhbEluT2JzaWRpYW5gIGNsb3N1cmUgY2Fubm90IHJ1biBsb25nZXIgdGhhbiBDRFAncyB+MzBzXG4gKiBgUnVudGltZS5ldmFsdWF0ZWAgY2FwLCBzbyBhIGxvbmctcnVubmluZyBpbi1PYnNpZGlhbiBvcGVyYXRpb24gKGUuZy4gYSB3aG9sZVxuICogcGx1Z2luL3ZhdWx0IGJvb3RzdHJhcCkgY2Fubm90IGJlIGF3YWl0ZWQgaW5zaWRlIG9uZSBjbG9zdXJlLiBUaGlzIGhlbHBlciBkb2VzXG4gKiBpdCBmcm9tIE5vZGUgaW5zdGVhZDogaXQgb3B0aW9uYWxseSBydW5zIGEgc2hvcnQgYHN0YXJ0YCBjbG9zdXJlIG9uY2UgdG8ga2lja1xuICogdGhlIHdvcmsgb2ZmLCB0aGVuIHJlcGVhdGVkbHkgcnVucyBhIHNob3J0IGBwb2xsYCBjbG9zdXJlIFx1MjAxNCBlYWNoIGEgc2VwYXJhdGUsXG4gKiB3ZWxsLXVuZGVyLTMwcyBldmFsIFx1MjAxNCB1bnRpbCB0aGUgTm9kZS1zaWRlIGB1bnRpbGAgcHJlZGljYXRlIGFjY2VwdHMgYSBwb2xsXG4gKiByZXN1bHQsIG9yIGEgTm9kZS1zaWRlIHRpbWVvdXQgZWxhcHNlcy4gSXQgcmVtb3ZlcyB0aGUgcGVyLXRlc3QgaGFuZC1yb2xsZWRcbiAqIGBldmFsSW5PYnNpZGlhbmAgKyBgc2xlZXBgIGxvb3AuXG4gKlxuICogVGhlIHRpbWluZyBsb29wIGxpdmVzIGluIHRoZSBwdXJlLCB1bml0LXRlc3RlZCB7QGxpbmsgcG9sbFVudGlsfTsgdGhpcyBtb2R1bGUgaXNcbiAqIHRoZSBpbnRlZ3JhdGlvbi1vbmx5IHdpcmluZyAoaXQgZHJpdmVzIGEgbGl2ZSBPYnNpZGlhbiksIGNvdmVyZWQgYnkgYW5cbiAqIGludGVncmF0aW9uIHRlc3QuXG4gKi9cblxuLyogdjggaWdub3JlIHN0YXJ0IC0tIEludGVncmF0aW9uLXRpbWUgY29kZSAoZHJpdmVzIGEgbGl2ZSBPYnNpZGlhbiB2aWEgZXZhbEluT2JzaWRpYW4pIGNvdmVyZWQgYnkgaW50ZWdyYXRpb24gdGVzdHMsIG5vdCB1bml0IHRlc3RzLiAqL1xuXG5pbXBvcnQgdHlwZSB7IFByb21pc2FibGUgfSBmcm9tICd0eXBlLWZlc3QnO1xuXG5pbXBvcnQgeyBzZXRUaW1lb3V0IGFzIHNsZWVwIH0gZnJvbSAnbm9kZTp0aW1lcnMvcHJvbWlzZXMnO1xuXG5pbXBvcnQgdHlwZSB7IENvbnRleHRBcmdzIH0gZnJvbSAnLi9jb250ZXh0LWlkLmNqcyc7XG5pbXBvcnQgdHlwZSB7XG4gIENvbW1vbkFyZ3MsXG4gIEV2YWxJbk9ic2lkaWFuUGFyYW1zLFxuICBHZW5lcmljT2JqZWN0XG59IGZyb20gJy4vZXZhbC1pbi1vYnNpZGlhbi5janMnO1xuaW1wb3J0IHR5cGUgeyBPYnNpZGlhblRyYW5zcG9ydCB9IGZyb20gJy4vdHJhbnNwb3J0LmNqcyc7XG5cbmltcG9ydCB7IENvbnRleHRJZCB9IGZyb20gJy4vY29udGV4dC1pZC5janMnO1xuaW1wb3J0IHsgZXZhbEluT2JzaWRpYW4gfSBmcm9tICcuL2V2YWwtaW4tb2JzaWRpYW4uY2pzJztcbmltcG9ydCB7IHBvbGxVbnRpbCB9IGZyb20gJy4vcG9sbC11bnRpbC5janMnO1xuXG5jb25zdCBERUZBVUxUX1BPTExfSU5URVJWQUxfSU5fTUlMTElTRUNPTkRTID0gNTAwO1xuY29uc3QgREVGQVVMVF9QT0xMX1RJTUVPVVRfSU5fTUlMTElTRUNPTkRTID0gMTIwXzAwMDtcblxuLyoqXG4gKiBQYXJhbWV0ZXJzIGZvciB7QGxpbmsgcG9sbEluT2JzaWRpYW59LiBNaXJyb3JzIHtAbGluayBFdmFsSW5PYnNpZGlhblBhcmFtc30gZm9yXG4gKiB0aGUgc2hhcmVkIGZvcndhcmRlZCBmaWVsZHMgKGBhcmdzYCAvIGBjb250ZXh0SWRgIC8gYHRyYW5zcG9ydGAgLyBgdmF1bHRQYXRoYCk7XG4gKiBgc3RhcnRgIC8gYHBvbGxgIGFyZSB0aGUgaW4tT2JzaWRpYW4gY2xvc3VyZXMgYW5kIGB1bnRpbGAgaXMgdGhlIE5vZGUtc2lkZVxuICogYWNjZXB0YW5jZSBwcmVkaWNhdGUuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUG9sbEluT2JzaWRpYW5QYXJhbXM8QXJncyBleHRlbmRzIEdlbmVyaWNPYmplY3QsIFBvbGxSZXN1bHQsIFRDb250ZXh0SWQgZXh0ZW5kcyBDb250ZXh0SWQ8dW5rbm93bj4gfCB1bmRlZmluZWQgPSB1bmRlZmluZWQ+IHtcbiAgLyoqXG4gICAqIEFkZGl0aW9uYWwgYXJndW1lbnRzIHBhc3NlZCB0byBib3RoIGBzdGFydGAgYW5kIGBwb2xsYCAoc2VyaWFsaXplZCBsaWtlXG4gICAqIHtAbGluayBFdmFsSW5PYnNpZGlhblBhcmFtcy5hcmdzfSkuXG4gICAqL1xuICByZWFkb25seSBhcmdzPzogQXJncztcblxuICAvKipcbiAgICogQSB7QGxpbmsgQ29udGV4dElkfSBzaGFyZWQgYnkgYHN0YXJ0YCBhbmQgYHBvbGxgLCBzbyBgc3RhcnRgIGNhbiBzdGFzaFxuICAgKiBub24tc2VyaWFsaXphYmxlIHN0YXRlIHRoYXQgYHBvbGxgIGxhdGVyIHJlYWRzLiBXaGVuIG9taXR0ZWQsIGVhY2ggY2xvc3VyZVxuICAgKiBnZXRzIGEgZnJlc2ggZW1wdHkgYGNvbnRleHRgLlxuICAgKi9cbiAgcmVhZG9ubHkgY29udGV4dElkPzogVENvbnRleHRJZDtcblxuICAvKipcbiAgICogRGVsYXkgYmV0d2VlbiBgcG9sbGAgYXR0ZW1wdHMsIGluIG1pbGxpc2Vjb25kcy5cbiAgICpcbiAgICogQGRlZmF1bHQgYDUwMGBcbiAgICovXG4gIHJlYWRvbmx5IGludGVydmFsSW5NaWxsaXNlY29uZHM/OiBudW1iZXI7XG5cbiAgLyoqXG4gICAqIFRoZSBjbG9zdXJlIHBvbGxlZCByZXBlYXRlZGx5IGluc2lkZSBPYnNpZGlhbi4gS2VlcCBpdCBzaG9ydCAod2VsbCB1bmRlciB0aGVcbiAgICogfjMwcyBDRFAgY2FwKTogaXQgc2hvdWxkIHJlYWQgYW5kIHJldHVybiBhIEpTT04tc2VyaWFsaXphYmxlIHN0YXR1cywgbm90XG4gICAqIGF3YWl0IHRoZSBsb25nIG9wZXJhdGlvbiBpdHNlbGYuXG4gICAqL1xuICBwb2xsKHRoaXM6IHZvaWQsIGFyZ3M6IEFyZ3MgJiBDb21tb25BcmdzICYgQ29udGV4dEFyZ3M8VENvbnRleHRJZD4pOiBQcm9taXNhYmxlPFBvbGxSZXN1bHQ+O1xuXG4gIC8qKlxuICAgKiBBbiBvcHRpb25hbCBjbG9zdXJlIHJ1biAqKm9uY2UqKiBiZWZvcmUgcG9sbGluZyBiZWdpbnMsIHRvIGtpY2sgb2ZmIHRoZVxuICAgKiBsb25nLXJ1bm5pbmcgd29yayAoZmlyZS1hbmQtZm9yZ2V0IGZyb20gTm9kZSdzIHBlcnNwZWN0aXZlKS4gS2VlcCBpdCBzaG9ydCBcdTIwMTRcbiAgICogc3RhcnQgdGhlIHdvcmsgYW5kIHJldHVybjsgZG8gbm90IGF3YWl0IGl0IHRvIGNvbXBsZXRpb24gaGVyZS5cbiAgICovXG4gIHN0YXJ0Pyh0aGlzOiB2b2lkLCBhcmdzOiBBcmdzICYgQ29tbW9uQXJncyAmIENvbnRleHRBcmdzPFRDb250ZXh0SWQ+KTogUHJvbWlzYWJsZTx1bmtub3duPjtcblxuICAvKipcbiAgICogVG90YWwgYnVkZ2V0IGJlZm9yZSB0aGUgcG9sbCByZWplY3RzLCBpbiBtaWxsaXNlY29uZHMuXG4gICAqXG4gICAqIEBkZWZhdWx0IGAxMjAwMDBgXG4gICAqL1xuICByZWFkb25seSB0aW1lb3V0SW5NaWxsaXNlY29uZHM/OiBudW1iZXI7XG5cbiAgLyoqXG4gICAqIE9wdGlvbmFsIGRldGFpbCBhcHBlbmRlZCB0byB0aGUgdGltZW91dCBlcnJvciBtZXNzYWdlLlxuICAgKi9cbiAgcmVhZG9ubHkgdGltZW91dE1lc3NhZ2U/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIE92ZXJyaWRlIHRoZSB0cmFuc3BvcnQgKGZvcndhcmRlZCB0byBldmVyeSB1bmRlcmx5aW5nIGBldmFsSW5PYnNpZGlhbmApLlxuICAgKi9cbiAgcmVhZG9ubHkgdHJhbnNwb3J0PzogT2JzaWRpYW5UcmFuc3BvcnQ7XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgYSBnaXZlbiBgcG9sbGAgcmVzdWx0IGlzIGFjY2VwdGFibGUsIGV2YWx1YXRlZCBpbiAqKk5vZGUqKi4gUmV0dXJuaW5nXG4gICAqIGB0cnVlYCByZXNvbHZlcyB7QGxpbmsgcG9sbEluT2JzaWRpYW59IHdpdGggdGhhdCByZXN1bHQuXG4gICAqL1xuICB1bnRpbCh0aGlzOiB2b2lkLCByZXN1bHQ6IFBvbGxSZXN1bHQpOiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBUaGUgdmF1bHQgcGF0aCB0byBldmFsdWF0ZSBhZ2FpbnN0IChmb3J3YXJkZWQgdG8gZXZlcnkgdW5kZXJseWluZ1xuICAgKiBgZXZhbEluT2JzaWRpYW5gKS5cbiAgICovXG4gIHJlYWRvbmx5IHZhdWx0UGF0aD86IHN0cmluZztcbn1cblxuLyoqXG4gKiBLaWNrcyBvZmYgYW4gb3B0aW9uYWwgYHN0YXJ0YCBjbG9zdXJlIG9uY2UsIHRoZW4gcG9sbHMgYHBvbGxgIGZyb20gTm9kZSB1bnRpbFxuICogYHVudGlsYCBhY2NlcHRzIGEgcmVzdWx0IG9yIHRoZSB0aW1lb3V0IGVsYXBzZXMuXG4gKlxuICogQHBhcmFtIHBhcmFtcyAtIFRoZSBwb2xsIHBhcmFtZXRlcnMuXG4gKiBAcmV0dXJucyBBIHtAbGluayBQcm9taXNlfSB0aGF0IHJlc29sdmVzIHdpdGggdGhlIGZpcnN0IGFjY2VwdGVkIGBwb2xsYCByZXN1bHQuXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBwb2xsSW5PYnNpZGlhbjxBcmdzIGV4dGVuZHMgR2VuZXJpY09iamVjdCwgUG9sbFJlc3VsdCwgVENvbnRleHRJZCBleHRlbmRzIENvbnRleHRJZDx1bmtub3duPiB8IHVuZGVmaW5lZCA9IHVuZGVmaW5lZD4oXG4gIHBhcmFtczogUG9sbEluT2JzaWRpYW5QYXJhbXM8QXJncywgUG9sbFJlc3VsdCwgVENvbnRleHRJZD5cbik6IFByb21pc2U8UG9sbFJlc3VsdD4ge1xuICBjb25zdCB7XG4gICAgYXJncyxcbiAgICBjb250ZXh0SWQsXG4gICAgaW50ZXJ2YWxJbk1pbGxpc2Vjb25kcyA9IERFRkFVTFRfUE9MTF9JTlRFUlZBTF9JTl9NSUxMSVNFQ09ORFMsXG4gICAgcG9sbCxcbiAgICBzdGFydCxcbiAgICB0aW1lb3V0SW5NaWxsaXNlY29uZHMgPSBERUZBVUxUX1BPTExfVElNRU9VVF9JTl9NSUxMSVNFQ09ORFMsXG4gICAgdGltZW91dE1lc3NhZ2UsXG4gICAgdHJhbnNwb3J0LFxuICAgIHVudGlsLFxuICAgIHZhdWx0UGF0aFxuICB9ID0gcGFyYW1zO1xuXG4gIGFzeW5jIGZ1bmN0aW9uIHJ1bkV2YWw8UmVzdWx0PihmbjogKGZuQXJnczogQXJncyAmIENvbW1vbkFyZ3MgJiBDb250ZXh0QXJnczxUQ29udGV4dElkPikgPT4gUHJvbWlzYWJsZTxSZXN1bHQ+KTogUHJvbWlzZTxSZXN1bHQ+IHtcbiAgICBjb25zdCBldmFsUGFyYW1zOiBFdmFsSW5PYnNpZGlhblBhcmFtczxBcmdzLCBSZXN1bHQsIFRDb250ZXh0SWQ+ID0ge1xuICAgICAgZm4sXG4gICAgICAuLi4oYXJncyAhPT0gdW5kZWZpbmVkICYmIHsgYXJncyB9KSxcbiAgICAgIC4uLihjb250ZXh0SWQgIT09IHVuZGVmaW5lZCAmJiB7IGNvbnRleHRJZCB9KSxcbiAgICAgIC4uLih0cmFuc3BvcnQgIT09IHVuZGVmaW5lZCAmJiB7IHRyYW5zcG9ydCB9KSxcbiAgICAgIC4uLih2YXVsdFBhdGggIT09IHVuZGVmaW5lZCAmJiB7IHZhdWx0UGF0aCB9KVxuICAgIH07XG4gICAgcmV0dXJuIGV2YWxJbk9ic2lkaWFuPEFyZ3MsIFJlc3VsdCwgVENvbnRleHRJZD4oZXZhbFBhcmFtcyk7XG4gIH1cblxuICBpZiAoc3RhcnQpIHtcbiAgICBhd2FpdCBydW5FdmFsKHN0YXJ0KTtcbiAgfVxuXG4gIHJldHVybiBwb2xsVW50aWw8UG9sbFJlc3VsdD4oe1xuICAgIGF0dGVtcHQ6IGFzeW5jICgpID0+IHJ1bkV2YWwocG9sbCksXG4gICAgaW50ZXJ2YWxJbk1pbGxpc2Vjb25kcyxcbiAgICBub3dJbk1pbGxpc2Vjb25kczogKCkgPT4gRGF0ZS5ub3coKSxcbiAgICBzbGVlcDogYXN5bmMgKG1pbGxpc2Vjb25kczogbnVtYmVyKSA9PiB7XG4gICAgICBhd2FpdCBzbGVlcChtaWxsaXNlY29uZHMpO1xuICAgIH0sXG4gICAgdGltZW91dEluTWlsbGlzZWNvbmRzLFxuICAgIHVudGlsLFxuICAgIC4uLih0aW1lb3V0TWVzc2FnZSAhPT0gdW5kZWZpbmVkICYmIHsgdGltZW91dE1lc3NhZ2UgfSlcbiAgfSk7XG59XG5cbi8qIHY4IGlnbm9yZSBzdG9wICovXG4iXSwKICAibWFwcGluZ3MiOiAiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBdUJBLHNCQUFvQztBQVVwQyx3QkFBMEI7QUFDMUIsOEJBQStCO0FBQy9CLHdCQUEwQjtBQUUxQixNQUFNLHdDQUF3QztBQUM5QyxNQUFNLHVDQUF1QztBQWdGN0MsZUFBc0IsZUFDcEIsUUFDcUI7QUFDckIsUUFBTTtBQUFBLElBQ0o7QUFBQSxJQUNBO0FBQUEsSUFDQSx5QkFBeUI7QUFBQSxJQUN6QjtBQUFBLElBQ0E7QUFBQSxJQUNBLHdCQUF3QjtBQUFBLElBQ3hCO0FBQUEsSUFDQTtBQUFBLElBQ0E7QUFBQSxJQUNBO0FBQUEsRUFDRixJQUFJO0FBRUosaUJBQWUsUUFBZ0IsSUFBa0c7QUFDL0gsVUFBTSxhQUE2RDtBQUFBLE1BQ2pFO0FBQUEsTUFDQSxHQUFJLFNBQVMsVUFBYSxFQUFFLEtBQUs7QUFBQSxNQUNqQyxHQUFJLGNBQWMsVUFBYSxFQUFFLFVBQVU7QUFBQSxNQUMzQyxHQUFJLGNBQWMsVUFBYSxFQUFFLFVBQVU7QUFBQSxNQUMzQyxHQUFJLGNBQWMsVUFBYSxFQUFFLFVBQVU7QUFBQSxJQUM3QztBQUNBLGVBQU8sd0NBQXlDLFVBQVU7QUFBQSxFQUM1RDtBQUVBLE1BQUksT0FBTztBQUNULFVBQU0sUUFBUSxLQUFLO0FBQUEsRUFDckI7QUFFQSxhQUFPLDZCQUFzQjtBQUFBLElBQzNCLFNBQVMsWUFBWSxRQUFRLElBQUk7QUFBQSxJQUNqQztBQUFBLElBQ0EsbUJBQW1CLE1BQU0sS0FBSyxJQUFJO0FBQUEsSUFDbEMsT0FBTyxPQUFPLGlCQUF5QjtBQUNyQyxnQkFBTSxnQkFBQUEsWUFBTSxZQUFZO0FBQUEsSUFDMUI7QUFBQSxJQUNBO0FBQUEsSUFDQTtBQUFBLElBQ0EsR0FBSSxtQkFBbUIsVUFBYSxFQUFFLGVBQWU7QUFBQSxFQUN2RCxDQUFDO0FBQ0g7IiwKICAibmFtZXMiOiBbInNsZWVwIl0KfQo=