@mnaoumov/obsidian-lib 10.12.0 → 11.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.
Files changed (399) hide show
  1. package/components/worker-component/package.json +6 -0
  2. package/components/worker-pool-component/package.json +6 -0
  3. package/dist/lib/cjs/__merged.cjs +409 -292
  4. package/dist/lib/cjs/__merged.d.cts +17 -8
  5. package/dist/lib/cjs/anchored-suggest.cjs +1 -1
  6. package/dist/lib/cjs/app.cjs +2 -2
  7. package/dist/lib/cjs/async-with-notice.cjs +4 -4
  8. package/dist/lib/cjs/attachment-path.cjs +9 -9
  9. package/dist/lib/cjs/attachment-path.d.cts +3 -3
  10. package/dist/lib/cjs/attachment-unit-folder.cjs +2 -2
  11. package/dist/lib/cjs/backlink-index.cjs +5 -5
  12. package/dist/lib/cjs/backlink.cjs +7 -7
  13. package/dist/lib/cjs/bases-view-registrar.cjs +1 -1
  14. package/dist/lib/cjs/broken-link-candidates.cjs +1 -1
  15. package/dist/lib/cjs/bug-report.cjs +3 -3
  16. package/dist/lib/cjs/bulk-operation-progress.cjs +1 -1
  17. package/dist/lib/cjs/bulk-operation.cjs +2 -2
  18. package/dist/lib/cjs/callout.cjs +6 -6
  19. package/dist/lib/cjs/canvas.cjs +11 -9
  20. package/dist/lib/cjs/canvas.d.cts +13 -0
  21. package/dist/lib/cjs/case-insensitive-file-index.cjs +3 -3
  22. package/dist/lib/cjs/code-block-render-handoff.cjs +5 -5
  23. package/dist/lib/cjs/codemirror/editor-mode-extension.cjs +4 -4
  24. package/dist/lib/cjs/codemirror/incremental-parse-state-field.cjs +2 -2
  25. package/dist/lib/cjs/codemirror/index.cjs +7 -7
  26. package/dist/lib/cjs/codemirror/inline-token-widgets.cjs +5 -5
  27. package/dist/lib/cjs/codemirror/markdown-editor-views.cjs +2 -2
  28. package/dist/lib/cjs/codemirror/settings-facet.cjs +1 -1
  29. package/dist/lib/cjs/command-handlers/abstract-file-command-handler.cjs +17 -17
  30. package/dist/lib/cjs/command-handlers/abstract-file-command-handler.d.cts +13 -13
  31. package/dist/lib/cjs/command-handlers/command-handler-component.cjs +2 -2
  32. package/dist/lib/cjs/command-handlers/command-handler.cjs +2 -2
  33. package/dist/lib/cjs/command-handlers/editor-command-handler.cjs +10 -10
  34. package/dist/lib/cjs/command-handlers/editor-command-handler.d.cts +7 -7
  35. package/dist/lib/cjs/command-handlers/file-command-handler.cjs +3 -3
  36. package/dist/lib/cjs/command-handlers/folder-command-handler.cjs +3 -3
  37. package/dist/lib/cjs/command-handlers/global-command-handler.cjs +2 -2
  38. package/dist/lib/cjs/command-handlers/index.cjs +15 -15
  39. package/dist/lib/cjs/command-handlers/open-bug-report-command-handler.cjs +6 -6
  40. package/dist/lib/cjs/command-handlers/open-demo-vault-command-handler.cjs +2 -2
  41. package/dist/lib/cjs/command-handlers/open-discussion-command-handler.cjs +2 -2
  42. package/dist/lib/cjs/command-handlers/open-feature-request-command-handler.cjs +2 -2
  43. package/dist/lib/cjs/command-handlers/open-git-hub-command-handler.cjs +1 -1
  44. package/dist/lib/cjs/command-handlers/open-settings-command-handler.cjs +2 -2
  45. package/dist/lib/cjs/command-handlers/undo-bulk-operation-command-handler.cjs +2 -2
  46. package/dist/lib/cjs/command-handlers/unlock-active-note-command-handler.cjs +1 -1
  47. package/dist/lib/cjs/community-plugins.cjs +3 -3
  48. package/dist/lib/cjs/components/abort-signal-component.cjs +2 -2
  49. package/dist/lib/cjs/components/all-windows-event-component.cjs +5 -5
  50. package/dist/lib/cjs/components/all-windows-status-bar-item-component.cjs +3 -3
  51. package/dist/lib/cjs/components/async-error-handler-component.cjs +5 -5
  52. package/dist/lib/cjs/components/async-events-component.cjs +1 -1
  53. package/dist/lib/cjs/components/bulk-operation-commit-component.cjs +12 -12
  54. package/dist/lib/cjs/components/case-insensitive-file-index-component.cjs +2 -2
  55. package/dist/lib/cjs/components/component-ex.cjs +21 -11
  56. package/dist/lib/cjs/components/component-ex.d.cts +11 -0
  57. package/dist/lib/cjs/components/console-debug-component.cjs +2 -2
  58. package/dist/lib/cjs/components/core-plugin-toggle-component.cjs +2 -2
  59. package/dist/lib/cjs/components/disposable-component.cjs +2 -2
  60. package/dist/lib/cjs/components/embed-extensions-component.cjs +1 -1
  61. package/dist/lib/cjs/components/embeddable-markdown-editor-component.cjs +8 -8
  62. package/dist/lib/cjs/components/file-explorer-root-menu-component.cjs +7 -7
  63. package/dist/lib/cjs/components/generate-markdown-link-default-params-component.cjs +2 -2
  64. package/dist/lib/cjs/components/incremental-file-index-component.cjs +4 -4
  65. package/dist/lib/cjs/components/index.cjs +46 -40
  66. package/dist/lib/cjs/components/index.d.cts +2 -0
  67. package/dist/lib/cjs/components/layout-ready-component.cjs +3 -3
  68. package/dist/lib/cjs/components/menu-event-registrar-component.cjs +2 -2
  69. package/dist/lib/cjs/components/monkey-around-component.cjs +3 -3
  70. package/dist/lib/cjs/components/notebook-navigator-menu-event-registrar-component.cjs +5 -5
  71. package/dist/lib/cjs/components/plugin-context-component.cjs +5 -5
  72. package/dist/lib/cjs/components/plugin-gate-component.cjs +68 -28
  73. package/dist/lib/cjs/components/plugin-gate-component.d.cts +36 -13
  74. package/dist/lib/cjs/components/plugin-notice-component.cjs +39 -33
  75. package/dist/lib/cjs/components/plugin-notice-component.d.cts +4 -3
  76. package/dist/lib/cjs/components/plugin-settings-component.cjs +113 -17
  77. package/dist/lib/cjs/components/plugin-settings-component.d.cts +35 -5
  78. package/dist/lib/cjs/components/plugin-settings-tab-component.cjs +2 -2
  79. package/dist/lib/cjs/components/plugin-suggestion-component.cjs +8 -8
  80. package/dist/lib/cjs/components/pointer-position-component.cjs +2 -2
  81. package/dist/lib/cjs/components/reconfigurable-editor-extension-component.cjs +3 -3
  82. package/dist/lib/cjs/components/registry-component.cjs +2 -2
  83. package/dist/lib/cjs/components/release-notes-component.cjs +6 -6
  84. package/dist/lib/cjs/components/rename-delete-handler-component.cjs +25 -25
  85. package/dist/lib/cjs/components/rmdir-guard-component.cjs +2 -2
  86. package/dist/lib/cjs/components/settings-facet-component.cjs +1 -1
  87. package/dist/lib/cjs/components/settings-migration-component.cjs +5 -5
  88. package/dist/lib/cjs/components/shared-component-pool-component.cjs +6 -6
  89. package/dist/lib/cjs/components/style-sheet-component.cjs +3 -3
  90. package/dist/lib/cjs/components/syntax-highlighting-component.cjs +3 -3
  91. package/dist/lib/cjs/components/templates-language-component.cjs +1 -1
  92. package/dist/lib/cjs/components/worker-component.cjs +363 -0
  93. package/dist/lib/cjs/components/worker-component.d.cts +156 -0
  94. package/dist/lib/cjs/components/worker-pool-component.cjs +185 -0
  95. package/dist/lib/cjs/components/worker-pool-component.d.cts +102 -0
  96. package/dist/lib/cjs/components/workspace-layout-state-component.cjs +7 -7
  97. package/dist/lib/cjs/constructors/get-dom-events-handlers-constructor.cjs +5 -5
  98. package/dist/lib/cjs/constructors/index.cjs +1 -1
  99. package/dist/lib/cjs/data-handler.cjs +111 -4
  100. package/dist/lib/cjs/data-handler.d.cts +92 -1
  101. package/dist/lib/cjs/data-stores/data-store-locations.cjs +82 -24
  102. package/dist/lib/cjs/data-stores/data-store-locations.d.cts +15 -0
  103. package/dist/lib/cjs/data-stores/data-store-replica.cjs +33 -5
  104. package/dist/lib/cjs/data-stores/data-store-seeds.cjs +6 -6
  105. package/dist/lib/cjs/data-stores/data-store-seeds.d.cts +2 -2
  106. package/dist/lib/cjs/data-stores/data-store-transport.cjs +81 -8
  107. package/dist/lib/cjs/data-stores/data-store-transport.d.cts +30 -1
  108. package/dist/lib/cjs/data-stores/index.cjs +6 -6
  109. package/dist/lib/cjs/data-stores/local-data-store.cjs +74 -10
  110. package/dist/lib/cjs/data-stores/local-data-store.d.cts +58 -1
  111. package/dist/lib/cjs/data-stores/shared-data-store.cjs +76 -19
  112. package/dist/lib/cjs/data-stores/shared-data-store.d.cts +18 -1
  113. package/dist/lib/cjs/dataview-link.cjs +2 -2
  114. package/dist/lib/cjs/dataview.cjs +27 -7
  115. package/dist/lib/cjs/dataview.d.cts +14 -0
  116. package/dist/lib/cjs/debug.cjs +3 -3
  117. package/dist/lib/cjs/demo-vault-helper.cjs +34 -6
  118. package/dist/lib/cjs/demo-vault-helper.d.cts +6 -2
  119. package/dist/lib/cjs/desktop-bulk-operation-git.cjs +10 -10
  120. package/dist/lib/cjs/desktop-demo-vault-opener.cjs +13 -13
  121. package/dist/lib/cjs/desktop-git-runner.cjs +2 -2
  122. package/dist/lib/cjs/desktop-operating-system.cjs +1 -1
  123. package/dist/lib/cjs/desktop-request-url-stream.cjs +8 -14
  124. package/dist/lib/cjs/desktop-trusted-input.cjs +2 -2
  125. package/dist/lib/cjs/disposable.cjs +150 -0
  126. package/dist/lib/cjs/disposable.d.cts +39 -0
  127. package/dist/lib/cjs/editor-extension-registrar.cjs +1 -1
  128. package/dist/lib/cjs/editor-suggest-registrar.cjs +2 -2
  129. package/dist/lib/cjs/editor-suggest.cjs +1 -1
  130. package/dist/lib/cjs/editor.cjs +6 -6
  131. package/dist/lib/cjs/events.cjs +2 -2
  132. package/dist/lib/cjs/extensions-registrar.cjs +1 -1
  133. package/dist/lib/cjs/feature-request.cjs +1 -1
  134. package/dist/lib/cjs/file-change.cjs +10 -10
  135. package/dist/lib/cjs/file-explorer.cjs +2 -2
  136. package/dist/lib/cjs/file-manager.cjs +5 -5
  137. package/dist/lib/cjs/file-system.cjs +10 -10
  138. package/dist/lib/cjs/folder-note.cjs +4 -4
  139. package/dist/lib/cjs/frontmatter-formatting.cjs +7 -6
  140. package/dist/lib/cjs/frontmatter-link-cache-with-offsets.cjs +1 -1
  141. package/dist/lib/cjs/frontmatter.cjs +5 -5
  142. package/dist/lib/cjs/generated-during-build.cjs +1 -1
  143. package/dist/lib/cjs/hotkey.cjs +1 -1
  144. package/dist/lib/cjs/hover-link-source-registrar.cjs +1 -1
  145. package/dist/lib/cjs/html-element.cjs +2 -2
  146. package/dist/lib/cjs/i18n/custom-type-options.cjs +1 -1
  147. package/dist/lib/cjs/i18n/default-translations.cjs +1 -1
  148. package/dist/lib/cjs/i18n/i18n.cjs +7 -7
  149. package/dist/lib/cjs/i18n/index.cjs +4 -4
  150. package/dist/lib/cjs/i18n/locales/en.cjs +5 -1
  151. package/dist/lib/cjs/i18n/locales/en.d.cts +4 -0
  152. package/dist/lib/cjs/i18n/locales/index.cjs +2 -2
  153. package/dist/lib/cjs/i18n/locales/translations-map.cjs +1 -1
  154. package/dist/lib/cjs/i18n/locales/translations-map.d.cts +4 -0
  155. package/dist/lib/cjs/index.cjs +145 -127
  156. package/dist/lib/cjs/index.d.cts +6 -0
  157. package/dist/lib/cjs/inline-token-renderer.cjs +2 -2
  158. package/dist/lib/cjs/is-in-obsidian.cjs +1 -1
  159. package/dist/lib/cjs/library-styles.cjs +3 -3
  160. package/dist/lib/cjs/link-and-tag-input-suggest.cjs +2 -2
  161. package/dist/lib/cjs/link.cjs +76 -56
  162. package/dist/lib/cjs/link.d.cts +20 -14
  163. package/dist/lib/cjs/logger.cjs +4 -4
  164. package/dist/lib/cjs/loop.cjs +10 -16
  165. package/dist/lib/cjs/markdown-code-block-processor-registrar.cjs +17 -2
  166. package/dist/lib/cjs/markdown-code-block-processor-registrar.d.cts +7 -0
  167. package/dist/lib/cjs/markdown-code-block-processor.cjs +13 -13
  168. package/dist/lib/cjs/markdown-post-processor-registrar.cjs +2 -2
  169. package/dist/lib/cjs/markdown-view.cjs +3 -3
  170. package/dist/lib/cjs/markdown.cjs +12 -12
  171. package/dist/lib/cjs/metadata-cache.cjs +23 -23
  172. package/dist/lib/cjs/metadata-cache.d.cts +5 -4
  173. package/dist/lib/cjs/misplaced-attachment.cjs +297 -0
  174. package/dist/lib/cjs/misplaced-attachment.d.cts +228 -0
  175. package/dist/lib/cjs/mobile-app-info.cjs +1 -1
  176. package/dist/lib/cjs/modals/alert.cjs +4 -4
  177. package/dist/lib/cjs/modals/code-block-builder.cjs +7 -7
  178. package/dist/lib/cjs/modals/confirm.cjs +4 -4
  179. package/dist/lib/cjs/modals/copy-text-manually.cjs +4 -4
  180. package/dist/lib/cjs/modals/index.cjs +12 -12
  181. package/dist/lib/cjs/modals/minimizable-modal.cjs +6 -6
  182. package/dist/lib/cjs/modals/modal-command-builder.cjs +3 -3
  183. package/dist/lib/cjs/modals/modal.cjs +3 -3
  184. package/dist/lib/cjs/modals/prompt.cjs +10 -10
  185. package/dist/lib/cjs/modals/prompt.d.cts +1 -1
  186. package/dist/lib/cjs/modals/review-bug-report-diagnostics.cjs +5 -5
  187. package/dist/lib/cjs/modals/select-item.cjs +6 -6
  188. package/dist/lib/cjs/modals/select-option.cjs +3 -3
  189. package/dist/lib/cjs/modals/suggest-modal-command-builder.cjs +1 -1
  190. package/dist/lib/cjs/note-priority.cjs +2 -2
  191. package/dist/lib/cjs/notebook-navigator.cjs +12 -2
  192. package/dist/lib/cjs/notebook-navigator.d.cts +6 -0
  193. package/dist/lib/cjs/obsidian-lib-state.cjs +1 -1
  194. package/dist/lib/cjs/obsidian-protocol-handler-registrar.cjs +1 -1
  195. package/dist/lib/cjs/obsidian-settings.cjs +1 -1
  196. package/dist/lib/cjs/obsidian-word-characters.cjs +1 -1
  197. package/dist/lib/cjs/parse-link.cjs +14 -14
  198. package/dist/lib/cjs/path-compatibility.cjs +368 -0
  199. package/dist/lib/cjs/path-compatibility.d.cts +263 -0
  200. package/dist/lib/cjs/path-settings.cjs +3 -3
  201. package/dist/lib/cjs/pdf.cjs +2 -2
  202. package/dist/lib/cjs/plugin/index.cjs +16 -13
  203. package/dist/lib/cjs/plugin/index.d.cts +1 -0
  204. package/dist/lib/cjs/plugin/plugin-api.cjs +8 -8
  205. package/dist/lib/cjs/plugin/plugin-async-cleanup.cjs +6 -3
  206. package/dist/lib/cjs/plugin/plugin-async-cleanup.d.cts +5 -0
  207. package/dist/lib/cjs/plugin/plugin-context.cjs +10 -9
  208. package/dist/lib/cjs/plugin/plugin-event-source.cjs +1 -1
  209. package/dist/lib/cjs/plugin/plugin-event-source.d.cts +4 -4
  210. package/dist/lib/cjs/plugin/plugin-install-state.cjs +4 -4
  211. package/dist/lib/cjs/plugin/plugin-instance.cjs +14 -12
  212. package/dist/lib/cjs/plugin/plugin-instance.d.cts +7 -0
  213. package/dist/lib/cjs/plugin/plugin-lifecycle-events.cjs +1 -1
  214. package/dist/lib/cjs/plugin/plugin-lifecycle-events.d.cts +6 -4
  215. package/dist/lib/cjs/plugin/plugin-settings-tab.cjs +15 -15
  216. package/dist/lib/cjs/plugin/plugin.cjs +118 -34
  217. package/dist/lib/cjs/plugin/plugin.d.cts +28 -5
  218. package/dist/lib/cjs/plugin/settings-migration-api.cjs +1 -1
  219. package/dist/lib/cjs/plugin/third-party-plugin.cjs +231 -0
  220. package/dist/lib/cjs/plugin/third-party-plugin.d.cts +244 -0
  221. package/dist/lib/cjs/plugin-cli-handler-registrar.cjs +2 -2
  222. package/dist/lib/cjs/popovers/field-popover.cjs +4 -4
  223. package/dist/lib/cjs/popovers/index.cjs +3 -3
  224. package/dist/lib/cjs/popovers/popover-anchor.cjs +1 -1
  225. package/dist/lib/cjs/popovers/popover.cjs +5 -5
  226. package/dist/lib/cjs/queue.cjs +8 -8
  227. package/dist/lib/cjs/react/app-context.cjs +3 -3
  228. package/dist/lib/cjs/react/index.cjs +1 -1
  229. package/dist/lib/cjs/reference-definition.cjs +1 -1
  230. package/dist/lib/cjs/reference.cjs +3 -3
  231. package/dist/lib/cjs/release-asset.cjs +5 -5
  232. package/dist/lib/cjs/rendered-markdown.cjs +4 -4
  233. package/dist/lib/cjs/request-url.cjs +4 -4
  234. package/dist/lib/cjs/resource-lock.cjs +46 -42
  235. package/dist/lib/cjs/resource-lock.d.cts +8 -7
  236. package/dist/lib/cjs/resource-url.cjs +3 -3
  237. package/dist/lib/cjs/ribbon-icon-registrar.cjs +1 -1
  238. package/dist/lib/cjs/setting-components/checkbox-component.cjs +3 -3
  239. package/dist/lib/cjs/setting-components/code-highlighter-component.cjs +7 -7
  240. package/dist/lib/cjs/setting-components/date-component.cjs +4 -4
  241. package/dist/lib/cjs/setting-components/date-time-component.cjs +4 -4
  242. package/dist/lib/cjs/setting-components/email-component.cjs +2 -2
  243. package/dist/lib/cjs/setting-components/file-component.cjs +2 -2
  244. package/dist/lib/cjs/setting-components/folder-list-component.cjs +3 -3
  245. package/dist/lib/cjs/setting-components/hotkey-component.cjs +5 -5
  246. package/dist/lib/cjs/setting-components/index.cjs +30 -30
  247. package/dist/lib/cjs/setting-components/list-component.cjs +5 -5
  248. package/dist/lib/cjs/setting-components/month-component.cjs +4 -4
  249. package/dist/lib/cjs/setting-components/multiple-dropdown-component.cjs +3 -3
  250. package/dist/lib/cjs/setting-components/multiple-email-component.cjs +2 -2
  251. package/dist/lib/cjs/setting-components/multiple-file-component.cjs +3 -3
  252. package/dist/lib/cjs/setting-components/multiple-text-component.cjs +9 -6
  253. package/dist/lib/cjs/setting-components/multiple-text-component.d.cts +4 -1
  254. package/dist/lib/cjs/setting-components/number-component.cjs +2 -2
  255. package/dist/lib/cjs/setting-components/password-component.cjs +2 -2
  256. package/dist/lib/cjs/setting-components/setting-component-wrapper.cjs +3 -3
  257. package/dist/lib/cjs/setting-components/tag-list-component.cjs +4 -4
  258. package/dist/lib/cjs/setting-components/telephone-component.cjs +2 -2
  259. package/dist/lib/cjs/setting-components/text-based-component.cjs +1 -1
  260. package/dist/lib/cjs/setting-components/time-component.cjs +3 -3
  261. package/dist/lib/cjs/setting-components/tri-state-checkbox-component.cjs +3 -3
  262. package/dist/lib/cjs/setting-components/typed-dropdown-component.cjs +3 -3
  263. package/dist/lib/cjs/setting-components/typed-multiple-dropdown-component.cjs +4 -4
  264. package/dist/lib/cjs/setting-components/typed-range-text-component.cjs +1 -1
  265. package/dist/lib/cjs/setting-components/typed-text-component.cjs +3 -3
  266. package/dist/lib/cjs/setting-components/url-component.cjs +2 -2
  267. package/dist/lib/cjs/setting-components/validator-component.cjs +4 -4
  268. package/dist/lib/cjs/setting-components/week-component.cjs +4 -4
  269. package/dist/lib/cjs/setting-ex.cjs +26 -26
  270. package/dist/lib/cjs/setting-group-ex.cjs +2 -2
  271. package/dist/lib/cjs/settings-recovery.cjs +217 -0
  272. package/dist/lib/cjs/settings-recovery.d.cts +178 -0
  273. package/dist/lib/cjs/settings-tabs.cjs +5 -5
  274. package/dist/lib/cjs/status-bar-item-registrar.cjs +1 -1
  275. package/dist/lib/cjs/templater.cjs +14 -4
  276. package/dist/lib/cjs/templater.d.cts +6 -0
  277. package/dist/lib/cjs/transformers/duration-transformer.cjs +2 -2
  278. package/dist/lib/cjs/transformers/index.cjs +1 -1
  279. package/dist/lib/cjs/trusted-input.cjs +1 -1
  280. package/dist/lib/cjs/validation.cjs +4 -4
  281. package/dist/lib/cjs/vault-delete.cjs +6 -6
  282. package/dist/lib/cjs/vault-transaction.cjs +5 -5
  283. package/dist/lib/cjs/vault.cjs +12 -12
  284. package/dist/lib/cjs/view-registrar.cjs +1 -1
  285. package/dist/lib/cjs/virtual-file.cjs +16 -14
  286. package/dist/lib/cjs/virtual-file.d.cts +2 -1
  287. package/dist/lib/cjs/wasm.cjs +119 -0
  288. package/dist/lib/cjs/wasm.d.cts +54 -0
  289. package/dist/lib/cjs/worker-protocol.cjs +209 -0
  290. package/dist/lib/cjs/worker-protocol.d.cts +282 -0
  291. package/dist/lib/cjs/workspace.cjs +1 -1
  292. package/dist/lib/esm/__merged.d.mts +17 -8
  293. package/dist/lib/esm/__merged.mjs +133 -3
  294. package/dist/lib/esm/app.mjs +2 -2
  295. package/dist/lib/esm/attachment-path.d.mts +3 -3
  296. package/dist/lib/esm/attachment-path.mjs +2 -2
  297. package/dist/lib/esm/backlink-index.mjs +2 -2
  298. package/dist/lib/esm/canvas.d.mts +13 -0
  299. package/dist/lib/esm/canvas.mjs +6 -5
  300. package/dist/lib/esm/command-handlers/abstract-file-command-handler.d.mts +13 -13
  301. package/dist/lib/esm/command-handlers/abstract-file-command-handler.mjs +14 -14
  302. package/dist/lib/esm/command-handlers/editor-command-handler.d.mts +7 -7
  303. package/dist/lib/esm/command-handlers/editor-command-handler.mjs +8 -8
  304. package/dist/lib/esm/components/component-ex.d.mts +11 -0
  305. package/dist/lib/esm/components/component-ex.mjs +19 -6
  306. package/dist/lib/esm/components/disposable-component.mjs +1 -1
  307. package/dist/lib/esm/components/index.d.mts +2 -0
  308. package/dist/lib/esm/components/index.mjs +5 -1
  309. package/dist/lib/esm/components/plugin-gate-component.d.mts +36 -13
  310. package/dist/lib/esm/components/plugin-gate-component.mjs +57 -14
  311. package/dist/lib/esm/components/plugin-notice-component.d.mts +4 -3
  312. package/dist/lib/esm/components/plugin-notice-component.mjs +30 -21
  313. package/dist/lib/esm/components/plugin-settings-component.d.mts +35 -5
  314. package/dist/lib/esm/components/plugin-settings-component.mjs +99 -3
  315. package/dist/lib/esm/components/rename-delete-handler-component.mjs +2 -2
  316. package/dist/lib/esm/components/worker-component.d.mts +156 -0
  317. package/dist/lib/esm/components/worker-component.mjs +279 -0
  318. package/dist/lib/esm/components/worker-pool-component.d.mts +102 -0
  319. package/dist/lib/esm/components/worker-pool-component.mjs +95 -0
  320. package/dist/lib/esm/components/workspace-layout-state-component.mjs +1 -1
  321. package/dist/lib/esm/data-handler.d.mts +92 -1
  322. package/dist/lib/esm/data-handler.mjs +112 -3
  323. package/dist/lib/esm/data-stores/data-store-locations.d.mts +15 -0
  324. package/dist/lib/esm/data-stores/data-store-locations.mjs +80 -22
  325. package/dist/lib/esm/data-stores/data-store-replica.mjs +33 -5
  326. package/dist/lib/esm/data-stores/data-store-seeds.d.mts +2 -2
  327. package/dist/lib/esm/data-stores/data-store-seeds.mjs +4 -4
  328. package/dist/lib/esm/data-stores/data-store-transport.d.mts +30 -1
  329. package/dist/lib/esm/data-stores/data-store-transport.mjs +78 -5
  330. package/dist/lib/esm/data-stores/local-data-store.d.mts +58 -1
  331. package/dist/lib/esm/data-stores/local-data-store.mjs +71 -9
  332. package/dist/lib/esm/data-stores/shared-data-store.d.mts +18 -1
  333. package/dist/lib/esm/data-stores/shared-data-store.mjs +72 -15
  334. package/dist/lib/esm/dataview.d.mts +14 -0
  335. package/dist/lib/esm/dataview.mjs +19 -1
  336. package/dist/lib/esm/demo-vault-helper.d.mts +6 -2
  337. package/dist/lib/esm/demo-vault-helper.mjs +29 -1
  338. package/dist/lib/esm/desktop-demo-vault-opener.mjs +1 -1
  339. package/dist/lib/esm/desktop-request-url-stream.mjs +4 -10
  340. package/dist/lib/esm/disposable.d.mts +39 -0
  341. package/dist/lib/esm/disposable.mjs +64 -0
  342. package/dist/lib/esm/file-system.mjs +2 -2
  343. package/dist/lib/esm/frontmatter-formatting.mjs +2 -1
  344. package/dist/lib/esm/generated-during-build.mjs +1 -1
  345. package/dist/lib/esm/i18n/locales/en.d.mts +4 -0
  346. package/dist/lib/esm/i18n/locales/en.mjs +5 -1
  347. package/dist/lib/esm/i18n/locales/translations-map.d.mts +4 -0
  348. package/dist/lib/esm/index.d.mts +6 -0
  349. package/dist/lib/esm/index.mjs +13 -1
  350. package/dist/lib/esm/link.d.mts +20 -14
  351. package/dist/lib/esm/link.mjs +57 -38
  352. package/dist/lib/esm/loop.mjs +2 -8
  353. package/dist/lib/esm/markdown-code-block-processor-registrar.d.mts +7 -0
  354. package/dist/lib/esm/markdown-code-block-processor-registrar.mjs +16 -1
  355. package/dist/lib/esm/metadata-cache.d.mts +5 -4
  356. package/dist/lib/esm/metadata-cache.mjs +6 -6
  357. package/dist/lib/esm/misplaced-attachment.d.mts +228 -0
  358. package/dist/lib/esm/misplaced-attachment.mjs +212 -0
  359. package/dist/lib/esm/modals/prompt.d.mts +1 -1
  360. package/dist/lib/esm/modals/prompt.mjs +1 -1
  361. package/dist/lib/esm/notebook-navigator.d.mts +6 -0
  362. package/dist/lib/esm/notebook-navigator.mjs +11 -2
  363. package/dist/lib/esm/parse-link.mjs +4 -4
  364. package/dist/lib/esm/path-compatibility.d.mts +263 -0
  365. package/dist/lib/esm/path-compatibility.mjs +277 -0
  366. package/dist/lib/esm/plugin/index.d.mts +1 -0
  367. package/dist/lib/esm/plugin/index.mjs +4 -2
  368. package/dist/lib/esm/plugin/plugin-async-cleanup.d.mts +5 -0
  369. package/dist/lib/esm/plugin/plugin-async-cleanup.mjs +3 -1
  370. package/dist/lib/esm/plugin/plugin-context.mjs +2 -1
  371. package/dist/lib/esm/plugin/plugin-event-source.d.mts +4 -4
  372. package/dist/lib/esm/plugin/plugin-event-source.mjs +1 -1
  373. package/dist/lib/esm/plugin/plugin-instance.d.mts +7 -0
  374. package/dist/lib/esm/plugin/plugin-instance.mjs +2 -1
  375. package/dist/lib/esm/plugin/plugin-lifecycle-events.d.mts +6 -4
  376. package/dist/lib/esm/plugin/plugin-lifecycle-events.mjs +1 -1
  377. package/dist/lib/esm/plugin/plugin.d.mts +28 -5
  378. package/dist/lib/esm/plugin/plugin.mjs +103 -9
  379. package/dist/lib/esm/plugin/third-party-plugin.d.mts +244 -0
  380. package/dist/lib/esm/plugin/third-party-plugin.mjs +147 -0
  381. package/dist/lib/esm/release-asset.mjs +1 -1
  382. package/dist/lib/esm/resource-lock.d.mts +8 -7
  383. package/dist/lib/esm/resource-lock.mjs +31 -26
  384. package/dist/lib/esm/setting-components/multiple-text-component.d.mts +4 -1
  385. package/dist/lib/esm/setting-components/multiple-text-component.mjs +6 -3
  386. package/dist/lib/esm/settings-recovery.d.mts +178 -0
  387. package/dist/lib/esm/settings-recovery.mjs +125 -0
  388. package/dist/lib/esm/settings-tabs.mjs +2 -2
  389. package/dist/lib/esm/templater.d.mts +6 -0
  390. package/dist/lib/esm/templater.mjs +11 -2
  391. package/dist/lib/esm/vault.mjs +1 -1
  392. package/dist/lib/esm/virtual-file.d.mts +2 -1
  393. package/dist/lib/esm/virtual-file.mjs +7 -5
  394. package/dist/lib/esm/wasm.d.mts +54 -0
  395. package/dist/lib/esm/wasm.mjs +30 -0
  396. package/dist/lib/esm/worker-protocol.d.mts +282 -0
  397. package/dist/lib/esm/worker-protocol.mjs +113 -0
  398. package/package.json +9 -8
  399. package/plugin/third-party-plugin/package.json +6 -0
@@ -3,11 +3,6 @@ THIS IS A GENERATED/BUNDLED FILE BY ESBUILD
3
3
  if you want to view the source, please visit the github repository of this plugin
4
4
  */
5
5
  (function () {
6
- function ensureDisposeSymbols(symbolConstructor = Symbol) {
7
- symbolConstructor.asyncDispose ??= symbolConstructor.for("Symbol.asyncDispose");
8
- symbolConstructor.dispose ??= symbolConstructor.for("Symbol.dispose");
9
- }
10
-
11
6
  function ensureBrowserProcess() {
12
7
  const browserProcess = {
13
8
  browser: true,
@@ -32,7 +27,6 @@ function ensureBrowserProcess() {
32
27
  existingProcessRecord["browser"] = true;
33
28
  }
34
29
 
35
- ensureDisposeSymbols();
36
30
  ensureBrowserProcess();
37
31
  })();
38
32
  (function patchObsidianRequire() {
@@ -123,10 +117,10 @@ __export(desktop_request_url_stream_exports, {
123
117
  openDesktopRequestUrlStream: () => openDesktopRequestUrlStream
124
118
  });
125
119
  module.exports = __toCommonJS(desktop_request_url_stream_exports);
126
- var import_abort_controller = require('@mnaoumov/typescript-lib/abort-controller');
127
- var import_type_guards = require('@mnaoumov/typescript-lib/type-guards');
128
- var import_node_http = require('node:http');
129
- var import_node_https = require('node:https');
120
+ var import_abort_controller = require("@mnaoumov/typescript-lib/abort-controller");
121
+ var import_type_guards = require("@mnaoumov/typescript-lib/type-guards");
122
+ var import_node_http = require("node:http");
123
+ var import_node_https = require("node:https");
130
124
  const MAX_REDIRECT_COUNT = 20;
131
125
  const HTTP_MOVED_PERMANENTLY_STATUS = 301;
132
126
  const HTTP_FOUND_STATUS = 302;
@@ -178,7 +172,7 @@ function createIncomingMessageStream(incomingMessage, abortSignal) {
178
172
  return new ReadableStream({
179
173
  cancel() {
180
174
  isSettled = true;
181
- abortListener[Symbol.dispose]();
175
+ abortListener.dispose();
182
176
  incomingMessage.destroy();
183
177
  },
184
178
  pull() {
@@ -203,11 +197,11 @@ function createIncomingMessageStream(incomingMessage, abortSignal) {
203
197
  }
204
198
  });
205
199
  incomingMessage.on("end", () => {
206
- abortListener[Symbol.dispose]();
200
+ abortListener.dispose();
207
201
  settle();
208
202
  });
209
203
  incomingMessage.on("error", (error) => {
210
- abortListener[Symbol.dispose]();
204
+ abortListener.dispose();
211
205
  settle(error);
212
206
  });
213
207
  abortListener = (0, import_abort_controller.onAbort)(abortSignal, () => {
@@ -255,4 +249,4 @@ async function sendRequest(params) {
255
249
  0 && (module.exports = {
256
250
  openDesktopRequestUrlStream
257
251
  });
258
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9kZXNrdG9wLXJlcXVlc3QtdXJsLXN0cmVhbS50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBmaWxlXG4gKlxuICogVGhlIGRlc2t0b3AgYXJtIG9mIHtAbGluayAuL3JlcXVlc3QtdXJsLnRzIHwgcmVxdWVzdFVybFN0cmVhbX06IHJlcXVlc3RzIGEgVVJMIHRocm91Z2ggYG5vZGU6aHR0cGAgL1xuICogYG5vZGU6aHR0cHNgLCBzbyB0aGUgcmVzcG9uc2UgYm9keSBzdHJlYW1zIGFzIGl0IGFycml2ZXMgYW5kIGFuIGFib3J0IHJlYWxseSBjYW5jZWxzIHRoZSByZXF1ZXN0LlxuICpcbiAqIERlc2t0b3Agb25seTogaXQgcmVhZHMgYG5vZGU6aHR0cGAgYW5kIGBub2RlOmh0dHBzYC4gUmVhY2ggaXQgdGhyb3VnaCBgcmVxdWVzdFVybFN0cmVhbWAsIHdoaWNoIGltcG9ydHMgaXRcbiAqIGR5bmFtaWNhbGx5IG9uIGRlc2t0b3AuXG4gKlxuICogVW5saWtlIENocm9taXVtJ3MgbmV0d29yayBzdGFjaywgTm9kZSBkb2VzIG5vdCByZWFkIHRoZSBzeXN0ZW0gcHJveHkgc2V0dGluZ3Mgb3IgY2VydGlmaWNhdGUgc3RvcmUsIHNvIGEgbWFjaGluZVxuICogdGhhdCByZWFjaGVzIHRoZSBpbnRlcm5ldCBvbmx5IHRocm91Z2ggYSBwcm94eSwgb3IgdGhhdCBpbnRlcmNlcHRzIFRMUyB3aXRoIGl0cyBvd24gcm9vdCBjZXJ0aWZpY2F0ZSwgbmVlZHMgdGhlXG4gKiBidWZmZXJlZCBgcmVxdWVzdFVybEV4YCBpbnN0ZWFkLlxuICovXG5cbi8qIGVzbGludC1kaXNhYmxlIG4vbm8tdW5zdXBwb3J0ZWQtZmVhdHVyZXMvbm9kZS1idWlsdGlucyAtLSBSZWFkYWJsZVN0cmVhbSBpcyB0aGUgT2JzaWRpYW4gcmVuZGVyZXIncyBXZWIgQVBJLCBub3QgYSBOb2RlIGJ1aWx0aW4uICovXG5cbmltcG9ydCB0eXBlIHtcbiAgSW5jb21pbmdIdHRwSGVhZGVycyxcbiAgSW5jb21pbmdNZXNzYWdlXG59IGZyb20gJ25vZGU6aHR0cCc7XG5cbmltcG9ydCB7IG9uQWJvcnQgfSBmcm9tICdAbW5hb3Vtb3YvdHlwZXNjcmlwdC1saWIvYWJvcnQtY29udHJvbGxlcic7XG5pbXBvcnQgeyBlbnN1cmVOb25OdWxsYWJsZSB9IGZyb20gJ0BtbmFvdW1vdi90eXBlc2NyaXB0LWxpYi90eXBlLWd1YXJkcyc7XG5pbXBvcnQgeyByZXF1ZXN0IGFzIHJlcXVlc3RIdHRwIH0gZnJvbSAnbm9kZTpodHRwJztcbmltcG9ydCB7IHJlcXVlc3QgYXMgcmVxdWVzdEh0dHBzIH0gZnJvbSAnbm9kZTpodHRwcyc7XG5cbmltcG9ydCB0eXBlIHtcbiAgRW5jb2RlZFJlcXVlc3RVcmxSZXF1ZXN0LFxuICBSZXF1ZXN0VXJsU3RyZWFtUmVzcG9uc2Vcbn0gZnJvbSAnLi9yZXF1ZXN0LXVybC50cyc7XG5cbmNvbnN0IE1BWF9SRURJUkVDVF9DT1VOVCA9IDIwO1xuY29uc3QgSFRUUF9NT1ZFRF9QRVJNQU5FTlRMWV9TVEFUVVMgPSAzMDE7XG5jb25zdCBIVFRQX0ZPVU5EX1NUQVRVUyA9IDMwMjtcbmNvbnN0IEhUVFBfU0VFX09USEVSX1NUQVRVUyA9IDMwMztcbmNvbnN0IEhUVFBfVEVNUE9SQVJZX1JFRElSRUNUX1NUQVRVUyA9IDMwNztcbmNvbnN0IEhUVFBfUEVSTUFORU5UX1JFRElSRUNUX1NUQVRVUyA9IDMwODtcbmNvbnN0IFJFRElSRUNUX1NUQVRVU0VTID0gbmV3IFNldChbXG4gIEhUVFBfRk9VTkRfU1RBVFVTLFxuICBIVFRQX01PVkVEX1BFUk1BTkVOVExZX1NUQVRVUyxcbiAgSFRUUF9QRVJNQU5FTlRfUkVESVJFQ1RfU1RBVFVTLFxuICBIVFRQX1NFRV9PVEhFUl9TVEFUVVMsXG4gIEhUVFBfVEVNUE9SQVJZX1JFRElSRUNUX1NUQVRVU1xuXSk7XG5jb25zdCBCT0RZX0hFQURFUlMgPSBuZXcgU2V0KFsnY29udGVudC1sZW5ndGgnLCAnY29udGVudC10eXBlJ10pO1xuXG5pbnRlcmZhY2UgU2VuZFJlcXVlc3RQYXJhbXMge1xuICByZWFkb25seSBhYm9ydFNpZ25hbDogQWJvcnRTaWduYWw7XG4gIHJlYWRvbmx5IGJvZHk6IEFycmF5QnVmZmVyIHwgc3RyaW5nIHwgdW5kZWZpbmVkO1xuICByZWFkb25seSBoZWFkZXJzOiBSZWFkb25seTxSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+PjtcbiAgcmVhZG9ubHkgbWV0aG9kOiBzdHJpbmc7XG4gIHJlYWRvbmx5IHVybDogc3RyaW5nO1xufVxuXG4vKipcbiAqIFJlcXVlc3RzIGEgVVJMIHRocm91Z2ggYG5vZGU6aHR0cGAgLyBgbm9kZTpodHRwc2AgYW5kIHJldHVybnMgaXRzIGJvZHkgYXMgYSBzdHJlYW0sIGZvbGxvd2luZyByZWRpcmVjdHMuXG4gKlxuICogQHBhcmFtIHJlcXVlc3QgLSBUaGUgZW5jb2RlZCByZXF1ZXN0LlxuICogQHJldHVybnMgVGhlIHJlc3BvbnNlLCB3aXRoIGEgc3RyZWFtZWQgYm9keS5cbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIG9wZW5EZXNrdG9wUmVxdWVzdFVybFN0cmVhbShyZXF1ZXN0OiBFbmNvZGVkUmVxdWVzdFVybFJlcXVlc3QpOiBQcm9taXNlPFJlcXVlc3RVcmxTdHJlYW1SZXNwb25zZT4ge1xuICBsZXQgY3VycmVudFJlcXVlc3Q6IFNlbmRSZXF1ZXN0UGFyYW1zID0ge1xuICAgIGFib3J0U2lnbmFsOiByZXF1ZXN0LmFib3J0U2lnbmFsLFxuICAgIGJvZHk6IHJlcXVlc3QuYm9keSxcbiAgICBoZWFkZXJzOiByZXF1ZXN0LmhlYWRlcnMsXG4gICAgbWV0aG9kOiByZXF1ZXN0Lm1ldGhvZCxcbiAgICB1cmw6IHJlcXVlc3QudXJsXG4gIH07XG5cbiAgZm9yIChsZXQgcmVkaXJlY3RDb3VudCA9IDA7OyByZWRpcmVjdENvdW50KyspIHtcbiAgICBjb25zdCBpbmNvbWluZ01lc3NhZ2UgPSBhd2FpdCBzZW5kUmVxdWVzdChjdXJyZW50UmVxdWVzdCk7XG4gICAgLy8gQSByZXNwb25zZSB0byBhIGNsaWVudCByZXF1ZXN0IGFsd2F5cyBjYXJyaWVzIGl0cyBzdGF0dXMgY29kZS5cbiAgICBjb25zdCBzdGF0dXMgPSBlbnN1cmVOb25OdWxsYWJsZShpbmNvbWluZ01lc3NhZ2Uuc3RhdHVzQ29kZSk7XG4gICAgY29uc3QgbG9jYXRpb24gPSBpbmNvbWluZ01lc3NhZ2UuaGVhZGVycy5sb2NhdGlvbjtcbiAgICBpZiAoIVJFRElSRUNUX1NUQVRVU0VTLmhhcyhzdGF0dXMpIHx8IGxvY2F0aW9uID09PSB1bmRlZmluZWQpIHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIGJvZHk6IGNyZWF0ZUluY29taW5nTWVzc2FnZVN0cmVhbShpbmNvbWluZ01lc3NhZ2UsIHJlcXVlc3QuYWJvcnRTaWduYWwpLFxuICAgICAgICBoZWFkZXJzOiBmbGF0dGVuSGVhZGVycyhpbmNvbWluZ01lc3NhZ2UuaGVhZGVycyksXG4gICAgICAgIHN0YXR1cyxcbiAgICAgICAgdXJsOiBjdXJyZW50UmVxdWVzdC51cmxcbiAgICAgIH07XG4gICAgfVxuXG4gICAgaW5jb21pbmdNZXNzYWdlLnJlc3VtZSgpO1xuICAgIGlmIChyZWRpcmVjdENvdW50ID49IE1BWF9SRURJUkVDVF9DT1VOVCkge1xuICAgICAgdGhyb3cgbmV3IFR5cGVFcnJvcihgVG9vIG1hbnkgcmVkaXJlY3RzIHJlcXVlc3RpbmcgJHtyZXF1ZXN0LnVybH1gKTtcbiAgICB9XG4gICAgY29uc3QgbmV4dFVybCA9IG5ldyBVUkwobG9jYXRpb24sIGN1cnJlbnRSZXF1ZXN0LnVybCk7XG4gICAgaWYgKG5leHRVcmwucHJvdG9jb2wgIT09ICdodHRwOicgJiYgbmV4dFVybC5wcm90b2NvbCAhPT0gJ2h0dHBzOicpIHtcbiAgICAgIHRocm93IG5ldyBUeXBlRXJyb3IoYFVuc3VwcG9ydGVkIHByb3RvY29sICR7bmV4dFVybC5wcm90b2NvbH0gaW4gdGhlIHJlZGlyZWN0IHRvICR7bmV4dFVybC5ocmVmfWApO1xuICAgIH1cbiAgICBjdXJyZW50UmVxdWVzdCA9IGdldFJlZGlyZWN0ZWRSZXF1ZXN0KGN1cnJlbnRSZXF1ZXN0LCBzdGF0dXMsIG5leHRVcmwuaHJlZik7XG4gIH1cbn1cblxuZnVuY3Rpb24gY3JlYXRlSW5jb21pbmdNZXNzYWdlU3RyZWFtKGluY29taW5nTWVzc2FnZTogSW5jb21pbmdNZXNzYWdlLCBhYm9ydFNpZ25hbDogQWJvcnRTaWduYWwpOiBSZWFkYWJsZVN0cmVhbTxVaW50OEFycmF5PiB7XG4gIGxldCBpc1NldHRsZWQgPSBmYWxzZTtcbiAgLy8gQXNzaWduZWQgaW4gYHN0YXJ0YCwgd2hpY2ggcnVucyBpbnNpZGUgdGhlIGNvbnN0cnVjdG9yLCBzbyBpdCBpcyBpbiBwbGFjZSBiZWZvcmUgYGNhbmNlbGAgY2FuIHJ1bi5cbiAgbGV0IGFib3J0TGlzdGVuZXI6IERpc3Bvc2FibGU7XG4gIHJldHVybiBuZXcgUmVhZGFibGVTdHJlYW08VWludDhBcnJheT4oe1xuICAgIGNhbmNlbCgpOiB2b2lkIHtcbiAgICAgIGlzU2V0dGxlZCA9IHRydWU7XG4gICAgICBhYm9ydExpc3RlbmVyW1N5bWJvbC5kaXNwb3NlXSgpO1xuICAgICAgaW5jb21pbmdNZXNzYWdlLmRlc3Ryb3koKTtcbiAgICB9LFxuICAgIHB1bGwoKTogdm9pZCB7XG4gICAgICBpbmNvbWluZ01lc3NhZ2UucmVzdW1lKCk7XG4gICAgfSxcbiAgICBzdGFydChjb250cm9sbGVyKTogdm9pZCB7XG4gICAgICBmdW5jdGlvbiBzZXR0bGUoZXJyb3I/OiB1bmtub3duKTogdm9pZCB7XG4gICAgICAgIGlmIChpc1NldHRsZWQpIHtcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgaXNTZXR0bGVkID0gdHJ1ZTtcbiAgICAgICAgaWYgKGVycm9yID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICBjb250cm9sbGVyLmNsb3NlKCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgY29udHJvbGxlci5lcnJvcihlcnJvcik7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgaW5jb21pbmdNZXNzYWdlLm9uKCdkYXRhJywgKGNodW5rOiBCdWZmZXIpID0+IHtcbiAgICAgICAgLy8gQSBjb3B5LCBzbyB0aGUgY2h1bmsgYmVsb25ncyB0byB0aGUgcmVuZGVyZXIncyByZWFsbSB3aGF0ZXZlciBOb2RlIGRvZXMgd2l0aCBpdHMgYnVmZmVyIGFmdGVyd2FyZHMuXG4gICAgICAgIGNvbnRyb2xsZXIuZW5xdWV1ZShuZXcgVWludDhBcnJheShjaHVuaykpO1xuICAgICAgICBpZiAoTnVtYmVyKGNvbnRyb2xsZXIuZGVzaXJlZFNpemUpIDw9IDApIHtcbiAgICAgICAgICBpbmNvbWluZ01lc3NhZ2UucGF1c2UoKTtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgICBpbmNvbWluZ01lc3NhZ2Uub24oJ2VuZCcsICgpID0+IHtcbiAgICAgICAgYWJvcnRMaXN0ZW5lcltTeW1ib2wuZGlzcG9zZV0oKTtcbiAgICAgICAgc2V0dGxlKCk7XG4gICAgICB9KTtcbiAgICAgIGluY29taW5nTWVzc2FnZS5vbignZXJyb3InLCAoZXJyb3IpID0+IHtcbiAgICAgICAgYWJvcnRMaXN0ZW5lcltTeW1ib2wuZGlzcG9zZV0oKTtcbiAgICAgICAgc2V0dGxlKGVycm9yKTtcbiAgICAgIH0pO1xuICAgICAgYWJvcnRMaXN0ZW5lciA9IG9uQWJvcnQoYWJvcnRTaWduYWwsICgpID0+IHtcbiAgICAgICAgc2V0dGxlKGFib3J0U2lnbmFsLnJlYXNvbik7XG4gICAgICAgIC8vIFRoZSBgZXJyb3JgIGV2ZW50IHRoaXMgcmFpc2VzIGZpbmRzIHRoZSBzdHJlYW0gc2V0dGxlZCBhbHJlYWR5LlxuICAgICAgICBpbmNvbWluZ01lc3NhZ2UuZGVzdHJveShhYm9ydFNpZ25hbC5yZWFzb24gYXMgRXJyb3IpO1xuICAgICAgfSk7XG4gICAgfVxuICB9KTtcbn1cbmZ1bmN0aW9uIGZsYXR0ZW5IZWFkZXJzKGhlYWRlcnM6IEluY29taW5nSHR0cEhlYWRlcnMpOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+IHtcbiAgY29uc3QgZmxhdEhlYWRlcnM6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4gPSB7fTtcbiAgZm9yIChjb25zdCBbbmFtZSwgdmFsdWVdIG9mIE9iamVjdC5lbnRyaWVzKGhlYWRlcnMpKSB7XG4gICAgLy8gTm9kZSBqb2lucyBldmVyeSByZXBlYXRlZCBoZWFkZXIgYnV0IGBzZXQtY29va2llYCwgd2hpY2ggYXJyaXZlcyBhcyBhbiBhcnJheS5cbiAgICBmbGF0SGVhZGVyc1tuYW1lXSA9IFt2YWx1ZV0uZmxhdCgpLmpvaW4oJywgJyk7XG4gIH1cbiAgcmV0dXJuIGZsYXRIZWFkZXJzO1xufVxuXG5mdW5jdGlvbiBnZXRSZWRpcmVjdGVkUmVxdWVzdChyZXF1ZXN0OiBTZW5kUmVxdWVzdFBhcmFtcywgc3RhdHVzOiBudW1iZXIsIHVybDogc3RyaW5nKTogU2VuZFJlcXVlc3RQYXJhbXMge1xuICAvLyBXaGF0IGBmZXRjaGAgZG9lczogYSAzMDMsIGFuZCBhIDMwMSBvciAzMDIgYW5zd2VyaW5nIGEgUE9TVCwgYmVjb21lIGEgR0VUIHdpdGhvdXQgYSBib2R5LlxuICBjb25zdCBzaG91bGRTd2l0Y2hUb0dldCA9IHN0YXR1cyA9PT0gSFRUUF9TRUVfT1RIRVJfU1RBVFVTXG4gICAgfHwgKHJlcXVlc3QubWV0aG9kID09PSAnUE9TVCcgJiYgKHN0YXR1cyA9PT0gSFRUUF9NT1ZFRF9QRVJNQU5FTlRMWV9TVEFUVVMgfHwgc3RhdHVzID09PSBIVFRQX0ZPVU5EX1NUQVRVUykpO1xuICBpZiAoIXNob3VsZFN3aXRjaFRvR2V0KSB7XG4gICAgcmV0dXJuIHsgLi4ucmVxdWVzdCwgdXJsIH07XG4gIH1cbiAgcmV0dXJuIHtcbiAgICBhYm9ydFNpZ25hbDogcmVxdWVzdC5hYm9ydFNpZ25hbCxcbiAgICBib2R5OiB1bmRlZmluZWQsXG4gICAgaGVhZGVyczogT2JqZWN0LmZyb21FbnRyaWVzKE9iamVjdC5lbnRyaWVzKHJlcXVlc3QuaGVhZGVycykuZmlsdGVyKChbbmFtZV0pID0+ICFCT0RZX0hFQURFUlMuaGFzKG5hbWUudG9Mb3dlckNhc2UoKSkpKSxcbiAgICBtZXRob2Q6ICdHRVQnLFxuICAgIHVybFxuICB9O1xufVxuXG5hc3luYyBmdW5jdGlvbiBzZW5kUmVxdWVzdChwYXJhbXM6IFNlbmRSZXF1ZXN0UGFyYW1zKTogUHJvbWlzZTxJbmNvbWluZ01lc3NhZ2U+IHtcbiAgY29uc3QgcmVxdWVzdCA9IHBhcmFtcy51cmwuc3RhcnRzV2l0aCgnaHR0cHM6JykgPyByZXF1ZXN0SHR0cHMgOiByZXF1ZXN0SHR0cDtcbiAgcmV0dXJuIGF3YWl0IG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHtcbiAgICBjb25zdCBjbGllbnRSZXF1ZXN0ID0gcmVxdWVzdChwYXJhbXMudXJsLCB7XG4gICAgICBoZWFkZXJzOiB7IC4uLnBhcmFtcy5oZWFkZXJzIH0sXG4gICAgICBtZXRob2Q6IHBhcmFtcy5tZXRob2QsXG4gICAgICBzaWduYWw6IHBhcmFtcy5hYm9ydFNpZ25hbFxuICAgIH0sIHJlc29sdmUpO1xuICAgIGNsaWVudFJlcXVlc3Qub24oJ2Vycm9yJywgKGVycm9yKSA9PiB7XG4gICAgICByZWplY3QocGFyYW1zLmFib3J0U2lnbmFsLmFib3J0ZWQgPyBwYXJhbXMuYWJvcnRTaWduYWwucmVhc29uIGFzIEVycm9yIDogZXJyb3IpO1xuICAgIH0pO1xuICAgIGNsaWVudFJlcXVlc3QuZW5kKHR5cGVvZiBwYXJhbXMuYm9keSA9PT0gJ3N0cmluZycgPyBwYXJhbXMuYm9keSA6IHBhcmFtcy5ib2R5ICYmIG5ldyBVaW50OEFycmF5KHBhcmFtcy5ib2R5KSk7XG4gIH0pO1xufVxuLyogZXNsaW50LWVuYWJsZSBuL25vLXVuc3VwcG9ydGVkLWZlYXR1cmVzL25vZGUtYnVpbHRpbnMgLS0gUmVhZGFibGVTdHJlYW0gaXMgdGhlIE9ic2lkaWFuIHJlbmRlcmVyJ3MgV2ViIEFQSSwgbm90IGEgTm9kZSBidWlsdGluLiAqL1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7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QU87QUFBQSxNQUNULENBQUM7QUFDRCxzQkFBZ0IsR0FBRyxTQUFTLENBQUMsVUFBVTtBQUNyQyxzQkFBYyxPQUFPLE9BQU8sRUFBRTtBQUM5QixlQUFPLEtBQUs7QUFBQSxNQUNkLENBQUM7QUFDRCwwQkFBZ0IsaUNBQVEsYUFBYSxNQUFNO0FBQ3pDLGVBQU8sWUFBWSxNQUFNO0FBRXpCLHdCQUFnQixRQUFRLFlBQVksTUFBZTtBQUFBLE1BQ3JELENBQUM7QUFBQSxJQUNIO0FBQUEsRUFDRixDQUFDO0FBQ0g7QUFDQSxTQUFTLGVBQWUsU0FBc0Q7QUFDNUUsUUFBTSxjQUFzQyxDQUFDO0FBQzdDLGFBQVcsQ0FBQyxNQUFNLEtBQUssS0FBSyxPQUFPLFFBQVEsT0FBTyxHQUFHO0FBRW5ELGdCQUFZLElBQUksSUFBSSxDQUFDLEtBQUssRUFBRSxLQUFLLEVBQUUsS0FBSyxJQUFJO0FBQUEsRUFDOUM7QUFDQSxTQUFPO0FBQ1Q7QUFFQSxTQUFTLHFCQUFxQixTQUE0QixRQUFnQixLQUFnQztBQUV4RyxRQUFNLG9CQUFvQixXQUFXLHlCQUMvQixRQUFRLFdBQVcsV0FBVyxXQUFXLGlDQUFpQyxXQUFXO0FBQzNGLE1BQUksQ0FBQyxtQkFBbUI7QUFDdEIsV0FBTyxFQUFFLEdBQUcsU0FBUyxJQUFJO0FBQUEsRUFDM0I7QUFDQSxTQUFPO0FBQUEsSUFDTCxhQUFhLFFBQVE7QUFBQSxJQUNyQixNQUFNO0FBQUEsSUFDTixTQUFTLE9BQU8sWUFBWSxPQUFPLFFBQVEsUUFBUSxPQUFPLEVBQUUsT0FBTyxDQUFDLENBQUMsSUFBSSxNQUFNLENBQUMsYUFBYSxJQUFJLEtBQUssWUFBWSxDQUFDLENBQUMsQ0FBQztBQUFBLElBQ3JILFFBQVE7QUFBQSxJQUNSO0FBQUEsRUFDRjtBQUNGO0FBRUEsZUFBZSxZQUFZLFFBQXFEO0FBQzlFLFFBQU0sVUFBVSxPQUFPLElBQUksV0FBVyxRQUFRLElBQUksa0JBQUFBLFVBQWUsaUJBQUFDO0FBQ2pFLFNBQU8sTUFBTSxJQUFJLFFBQVEsQ0FBQyxTQUFTLFdBQVc7QUFDNUMsVUFBTSxnQkFBZ0IsUUFBUSxPQUFPLEtBQUs7QUFBQSxNQUN4QyxTQUFTLEVBQUUsR0FBRyxPQUFPLFFBQVE7QUFBQSxNQUM3QixRQUFRLE9BQU87QUFBQSxNQUNmLFFBQVEsT0FBTztBQUFBLElBQ2pCLEdBQUcsT0FBTztBQUNWLGtCQUFjLEdBQUcsU0FBUyxDQUFDLFVBQVU7QUFDbkMsYUFBTyxPQUFPLFlBQVksVUFBVSxPQUFPLFlBQVksU0FBa0IsS0FBSztBQUFBLElBQ2hGLENBQUM7QUFDRCxrQkFBYyxJQUFJLE9BQU8sT0FBTyxTQUFTLFdBQVcsT0FBTyxPQUFPLE9BQU8sUUFBUSxJQUFJLFdBQVcsT0FBTyxJQUFJLENBQUM7QUFBQSxFQUM5RyxDQUFDO0FBQ0g7IiwibmFtZXMiOlsicmVxdWVzdEh0dHBzIiwicmVxdWVzdEh0dHAiXX0=
252
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9kZXNrdG9wLXJlcXVlc3QtdXJsLXN0cmVhbS50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBmaWxlXG4gKlxuICogVGhlIGRlc2t0b3AgYXJtIG9mIHtAbGluayAuL3JlcXVlc3QtdXJsLnRzIHwgcmVxdWVzdFVybFN0cmVhbX06IHJlcXVlc3RzIGEgVVJMIHRocm91Z2ggYG5vZGU6aHR0cGAgL1xuICogYG5vZGU6aHR0cHNgLCBzbyB0aGUgcmVzcG9uc2UgYm9keSBzdHJlYW1zIGFzIGl0IGFycml2ZXMgYW5kIGFuIGFib3J0IHJlYWxseSBjYW5jZWxzIHRoZSByZXF1ZXN0LlxuICpcbiAqIERlc2t0b3Agb25seTogaXQgcmVhZHMgYG5vZGU6aHR0cGAgYW5kIGBub2RlOmh0dHBzYC4gUmVhY2ggaXQgdGhyb3VnaCBgcmVxdWVzdFVybFN0cmVhbWAsIHdoaWNoIGltcG9ydHMgaXRcbiAqIGR5bmFtaWNhbGx5IG9uIGRlc2t0b3AuXG4gKlxuICogVW5saWtlIENocm9taXVtJ3MgbmV0d29yayBzdGFjaywgTm9kZSBkb2VzIG5vdCByZWFkIHRoZSBzeXN0ZW0gcHJveHkgc2V0dGluZ3Mgb3IgY2VydGlmaWNhdGUgc3RvcmUsIHNvIGEgbWFjaGluZVxuICogdGhhdCByZWFjaGVzIHRoZSBpbnRlcm5ldCBvbmx5IHRocm91Z2ggYSBwcm94eSwgb3IgdGhhdCBpbnRlcmNlcHRzIFRMUyB3aXRoIGl0cyBvd24gcm9vdCBjZXJ0aWZpY2F0ZSwgbmVlZHMgdGhlXG4gKiBidWZmZXJlZCBgcmVxdWVzdFVybEV4YCBpbnN0ZWFkLlxuICovXG5cbi8qIGVzbGludC1kaXNhYmxlIG4vbm8tdW5zdXBwb3J0ZWQtZmVhdHVyZXMvbm9kZS1idWlsdGlucyAtLSBSZWFkYWJsZVN0cmVhbSBpcyB0aGUgT2JzaWRpYW4gcmVuZGVyZXIncyBXZWIgQVBJLCBub3QgYSBOb2RlIGJ1aWx0aW4uICovXG5cbmltcG9ydCB0eXBlIHsgRGlzcG9zYWJsZUV4IH0gZnJvbSAnQG1uYW91bW92L3R5cGVzY3JpcHQtbGliL2Rpc3Bvc2FibGUnO1xuaW1wb3J0IHR5cGUge1xuICBJbmNvbWluZ0h0dHBIZWFkZXJzLFxuICBJbmNvbWluZ01lc3NhZ2Vcbn0gZnJvbSAnbm9kZTpodHRwJztcblxuaW1wb3J0IHsgb25BYm9ydCB9IGZyb20gJ0BtbmFvdW1vdi90eXBlc2NyaXB0LWxpYi9hYm9ydC1jb250cm9sbGVyJztcbmltcG9ydCB7IGVuc3VyZU5vbk51bGxhYmxlIH0gZnJvbSAnQG1uYW91bW92L3R5cGVzY3JpcHQtbGliL3R5cGUtZ3VhcmRzJztcbmltcG9ydCB7IHJlcXVlc3QgYXMgcmVxdWVzdEh0dHAgfSBmcm9tICdub2RlOmh0dHAnO1xuaW1wb3J0IHsgcmVxdWVzdCBhcyByZXF1ZXN0SHR0cHMgfSBmcm9tICdub2RlOmh0dHBzJztcblxuaW1wb3J0IHR5cGUge1xuICBFbmNvZGVkUmVxdWVzdFVybFJlcXVlc3QsXG4gIFJlcXVlc3RVcmxTdHJlYW1SZXNwb25zZVxufSBmcm9tICcuL3JlcXVlc3QtdXJsLnRzJztcblxuY29uc3QgTUFYX1JFRElSRUNUX0NPVU5UID0gMjA7XG5jb25zdCBIVFRQX01PVkVEX1BFUk1BTkVOVExZX1NUQVRVUyA9IDMwMTtcbmNvbnN0IEhUVFBfRk9VTkRfU1RBVFVTID0gMzAyO1xuY29uc3QgSFRUUF9TRUVfT1RIRVJfU1RBVFVTID0gMzAzO1xuY29uc3QgSFRUUF9URU1QT1JBUllfUkVESVJFQ1RfU1RBVFVTID0gMzA3O1xuY29uc3QgSFRUUF9QRVJNQU5FTlRfUkVESVJFQ1RfU1RBVFVTID0gMzA4O1xuY29uc3QgUkVESVJFQ1RfU1RBVFVTRVMgPSBuZXcgU2V0KFtcbiAgSFRUUF9GT1VORF9TVEFUVVMsXG4gIEhUVFBfTU9WRURfUEVSTUFORU5UTFlfU1RBVFVTLFxuICBIVFRQX1BFUk1BTkVOVF9SRURJUkVDVF9TVEFUVVMsXG4gIEhUVFBfU0VFX09USEVSX1NUQVRVUyxcbiAgSFRUUF9URU1QT1JBUllfUkVESVJFQ1RfU1RBVFVTXG5dKTtcbmNvbnN0IEJPRFlfSEVBREVSUyA9IG5ldyBTZXQoWydjb250ZW50LWxlbmd0aCcsICdjb250ZW50LXR5cGUnXSk7XG5cbmludGVyZmFjZSBTZW5kUmVxdWVzdFBhcmFtcyB7XG4gIHJlYWRvbmx5IGFib3J0U2lnbmFsOiBBYm9ydFNpZ25hbDtcbiAgcmVhZG9ubHkgYm9keTogQXJyYXlCdWZmZXIgfCBzdHJpbmcgfCB1bmRlZmluZWQ7XG4gIHJlYWRvbmx5IGhlYWRlcnM6IFJlYWRvbmx5PFJlY29yZDxzdHJpbmcsIHN0cmluZz4+O1xuICByZWFkb25seSBtZXRob2Q6IHN0cmluZztcbiAgcmVhZG9ubHkgdXJsOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUmVxdWVzdHMgYSBVUkwgdGhyb3VnaCBgbm9kZTpodHRwYCAvIGBub2RlOmh0dHBzYCBhbmQgcmV0dXJucyBpdHMgYm9keSBhcyBhIHN0cmVhbSwgZm9sbG93aW5nIHJlZGlyZWN0cy5cbiAqXG4gKiBAcGFyYW0gcmVxdWVzdCAtIFRoZSBlbmNvZGVkIHJlcXVlc3QuXG4gKiBAcmV0dXJucyBUaGUgcmVzcG9uc2UsIHdpdGggYSBzdHJlYW1lZCBib2R5LlxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gb3BlbkRlc2t0b3BSZXF1ZXN0VXJsU3RyZWFtKHJlcXVlc3Q6IEVuY29kZWRSZXF1ZXN0VXJsUmVxdWVzdCk6IFByb21pc2U8UmVxdWVzdFVybFN0cmVhbVJlc3BvbnNlPiB7XG4gIGxldCBjdXJyZW50UmVxdWVzdDogU2VuZFJlcXVlc3RQYXJhbXMgPSB7XG4gICAgYWJvcnRTaWduYWw6IHJlcXVlc3QuYWJvcnRTaWduYWwsXG4gICAgYm9keTogcmVxdWVzdC5ib2R5LFxuICAgIGhlYWRlcnM6IHJlcXVlc3QuaGVhZGVycyxcbiAgICBtZXRob2Q6IHJlcXVlc3QubWV0aG9kLFxuICAgIHVybDogcmVxdWVzdC51cmxcbiAgfTtcblxuICBmb3IgKGxldCByZWRpcmVjdENvdW50ID0gMDs7IHJlZGlyZWN0Q291bnQrKykge1xuICAgIGNvbnN0IGluY29taW5nTWVzc2FnZSA9IGF3YWl0IHNlbmRSZXF1ZXN0KGN1cnJlbnRSZXF1ZXN0KTtcbiAgICAvLyBBIHJlc3BvbnNlIHRvIGEgY2xpZW50IHJlcXVlc3QgYWx3YXlzIGNhcnJpZXMgaXRzIHN0YXR1cyBjb2RlLlxuICAgIGNvbnN0IHN0YXR1cyA9IGVuc3VyZU5vbk51bGxhYmxlKGluY29taW5nTWVzc2FnZS5zdGF0dXNDb2RlKTtcbiAgICBjb25zdCBsb2NhdGlvbiA9IGluY29taW5nTWVzc2FnZS5oZWFkZXJzLmxvY2F0aW9uO1xuICAgIGlmICghUkVESVJFQ1RfU1RBVFVTRVMuaGFzKHN0YXR1cykgfHwgbG9jYXRpb24gPT09IHVuZGVmaW5lZCkge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgYm9keTogY3JlYXRlSW5jb21pbmdNZXNzYWdlU3RyZWFtKGluY29taW5nTWVzc2FnZSwgcmVxdWVzdC5hYm9ydFNpZ25hbCksXG4gICAgICAgIGhlYWRlcnM6IGZsYXR0ZW5IZWFkZXJzKGluY29taW5nTWVzc2FnZS5oZWFkZXJzKSxcbiAgICAgICAgc3RhdHVzLFxuICAgICAgICB1cmw6IGN1cnJlbnRSZXF1ZXN0LnVybFxuICAgICAgfTtcbiAgICB9XG5cbiAgICBpbmNvbWluZ01lc3NhZ2UucmVzdW1lKCk7XG4gICAgaWYgKHJlZGlyZWN0Q291bnQgPj0gTUFYX1JFRElSRUNUX0NPVU5UKSB7XG4gICAgICB0aHJvdyBuZXcgVHlwZUVycm9yKGBUb28gbWFueSByZWRpcmVjdHMgcmVxdWVzdGluZyAke3JlcXVlc3QudXJsfWApO1xuICAgIH1cbiAgICBjb25zdCBuZXh0VXJsID0gbmV3IFVSTChsb2NhdGlvbiwgY3VycmVudFJlcXVlc3QudXJsKTtcbiAgICBpZiAobmV4dFVybC5wcm90b2NvbCAhPT0gJ2h0dHA6JyAmJiBuZXh0VXJsLnByb3RvY29sICE9PSAnaHR0cHM6Jykge1xuICAgICAgdGhyb3cgbmV3IFR5cGVFcnJvcihgVW5zdXBwb3J0ZWQgcHJvdG9jb2wgJHtuZXh0VXJsLnByb3RvY29sfSBpbiB0aGUgcmVkaXJlY3QgdG8gJHtuZXh0VXJsLmhyZWZ9YCk7XG4gICAgfVxuICAgIGN1cnJlbnRSZXF1ZXN0ID0gZ2V0UmVkaXJlY3RlZFJlcXVlc3QoY3VycmVudFJlcXVlc3QsIHN0YXR1cywgbmV4dFVybC5ocmVmKTtcbiAgfVxufVxuXG5mdW5jdGlvbiBjcmVhdGVJbmNvbWluZ01lc3NhZ2VTdHJlYW0oaW5jb21pbmdNZXNzYWdlOiBJbmNvbWluZ01lc3NhZ2UsIGFib3J0U2lnbmFsOiBBYm9ydFNpZ25hbCk6IFJlYWRhYmxlU3RyZWFtPFVpbnQ4QXJyYXk+IHtcbiAgbGV0IGlzU2V0dGxlZCA9IGZhbHNlO1xuICAvLyBBc3NpZ25lZCBpbiBgc3RhcnRgLCB3aGljaCBydW5zIGluc2lkZSB0aGUgY29uc3RydWN0b3IsIHNvIGl0IGlzIGluIHBsYWNlIGJlZm9yZSBgY2FuY2VsYCBjYW4gcnVuLlxuICBsZXQgYWJvcnRMaXN0ZW5lcjogRGlzcG9zYWJsZUV4O1xuICByZXR1cm4gbmV3IFJlYWRhYmxlU3RyZWFtPFVpbnQ4QXJyYXk+KHtcbiAgICBjYW5jZWwoKTogdm9pZCB7XG4gICAgICBpc1NldHRsZWQgPSB0cnVlO1xuICAgICAgYWJvcnRMaXN0ZW5lci5kaXNwb3NlKCk7XG4gICAgICBpbmNvbWluZ01lc3NhZ2UuZGVzdHJveSgpO1xuICAgIH0sXG4gICAgcHVsbCgpOiB2b2lkIHtcbiAgICAgIGluY29taW5nTWVzc2FnZS5yZXN1bWUoKTtcbiAgICB9LFxuICAgIHN0YXJ0KGNvbnRyb2xsZXIpOiB2b2lkIHtcbiAgICAgIGZ1bmN0aW9uIHNldHRsZShlcnJvcj86IHVua25vd24pOiB2b2lkIHtcbiAgICAgICAgaWYgKGlzU2V0dGxlZCkge1xuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBpc1NldHRsZWQgPSB0cnVlO1xuICAgICAgICBpZiAoZXJyb3IgPT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgIGNvbnRyb2xsZXIuY2xvc2UoKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBjb250cm9sbGVyLmVycm9yKGVycm9yKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBpbmNvbWluZ01lc3NhZ2Uub24oJ2RhdGEnLCAoY2h1bms6IEJ1ZmZlcikgPT4ge1xuICAgICAgICAvLyBBIGNvcHksIHNvIHRoZSBjaHVuayBiZWxvbmdzIHRvIHRoZSByZW5kZXJlcidzIHJlYWxtIHdoYXRldmVyIE5vZGUgZG9lcyB3aXRoIGl0cyBidWZmZXIgYWZ0ZXJ3YXJkcy5cbiAgICAgICAgY29udHJvbGxlci5lbnF1ZXVlKG5ldyBVaW50OEFycmF5KGNodW5rKSk7XG4gICAgICAgIGlmIChOdW1iZXIoY29udHJvbGxlci5kZXNpcmVkU2l6ZSkgPD0gMCkge1xuICAgICAgICAgIGluY29taW5nTWVzc2FnZS5wYXVzZSgpO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICAgIGluY29taW5nTWVzc2FnZS5vbignZW5kJywgKCkgPT4ge1xuICAgICAgICBhYm9ydExpc3RlbmVyLmRpc3Bvc2UoKTtcbiAgICAgICAgc2V0dGxlKCk7XG4gICAgICB9KTtcbiAgICAgIGluY29taW5nTWVzc2FnZS5vbignZXJyb3InLCAoZXJyb3IpID0+IHtcbiAgICAgICAgYWJvcnRMaXN0ZW5lci5kaXNwb3NlKCk7XG4gICAgICAgIHNldHRsZShlcnJvcik7XG4gICAgICB9KTtcbiAgICAgIGFib3J0TGlzdGVuZXIgPSBvbkFib3J0KGFib3J0U2lnbmFsLCAoKSA9PiB7XG4gICAgICAgIHNldHRsZShhYm9ydFNpZ25hbC5yZWFzb24pO1xuICAgICAgICAvLyBUaGUgYGVycm9yYCBldmVudCB0aGlzIHJhaXNlcyBmaW5kcyB0aGUgc3RyZWFtIHNldHRsZWQgYWxyZWFkeS5cbiAgICAgICAgaW5jb21pbmdNZXNzYWdlLmRlc3Ryb3koYWJvcnRTaWduYWwucmVhc29uIGFzIEVycm9yKTtcbiAgICAgIH0pO1xuICAgIH1cbiAgfSk7XG59XG5mdW5jdGlvbiBmbGF0dGVuSGVhZGVycyhoZWFkZXJzOiBJbmNvbWluZ0h0dHBIZWFkZXJzKTogUmVjb3JkPHN0cmluZywgc3RyaW5nPiB7XG4gIGNvbnN0IGZsYXRIZWFkZXJzOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+ID0ge307XG4gIGZvciAoY29uc3QgW25hbWUsIHZhbHVlXSBvZiBPYmplY3QuZW50cmllcyhoZWFkZXJzKSkge1xuICAgIC8vIE5vZGUgam9pbnMgZXZlcnkgcmVwZWF0ZWQgaGVhZGVyIGJ1dCBgc2V0LWNvb2tpZWAsIHdoaWNoIGFycml2ZXMgYXMgYW4gYXJyYXkuXG4gICAgZmxhdEhlYWRlcnNbbmFtZV0gPSBbdmFsdWVdLmZsYXQoKS5qb2luKCcsICcpO1xuICB9XG4gIHJldHVybiBmbGF0SGVhZGVycztcbn1cblxuZnVuY3Rpb24gZ2V0UmVkaXJlY3RlZFJlcXVlc3QocmVxdWVzdDogU2VuZFJlcXVlc3RQYXJhbXMsIHN0YXR1czogbnVtYmVyLCB1cmw6IHN0cmluZyk6IFNlbmRSZXF1ZXN0UGFyYW1zIHtcbiAgLy8gV2hhdCBgZmV0Y2hgIGRvZXM6IGEgMzAzLCBhbmQgYSAzMDEgb3IgMzAyIGFuc3dlcmluZyBhIFBPU1QsIGJlY29tZSBhIEdFVCB3aXRob3V0IGEgYm9keS5cbiAgY29uc3Qgc2hvdWxkU3dpdGNoVG9HZXQgPSBzdGF0dXMgPT09IEhUVFBfU0VFX09USEVSX1NUQVRVU1xuICAgIHx8IChyZXF1ZXN0Lm1ldGhvZCA9PT0gJ1BPU1QnICYmIChzdGF0dXMgPT09IEhUVFBfTU9WRURfUEVSTUFORU5UTFlfU1RBVFVTIHx8IHN0YXR1cyA9PT0gSFRUUF9GT1VORF9TVEFUVVMpKTtcbiAgaWYgKCFzaG91bGRTd2l0Y2hUb0dldCkge1xuICAgIHJldHVybiB7IC4uLnJlcXVlc3QsIHVybCB9O1xuICB9XG4gIHJldHVybiB7XG4gICAgYWJvcnRTaWduYWw6IHJlcXVlc3QuYWJvcnRTaWduYWwsXG4gICAgYm9keTogdW5kZWZpbmVkLFxuICAgIGhlYWRlcnM6IE9iamVjdC5mcm9tRW50cmllcyhPYmplY3QuZW50cmllcyhyZXF1ZXN0LmhlYWRlcnMpLmZpbHRlcigoW25hbWVdKSA9PiAhQk9EWV9IRUFERVJTLmhhcyhuYW1lLnRvTG93ZXJDYXNlKCkpKSksXG4gICAgbWV0aG9kOiAnR0VUJyxcbiAgICB1cmxcbiAgfTtcbn1cblxuYXN5bmMgZnVuY3Rpb24gc2VuZFJlcXVlc3QocGFyYW1zOiBTZW5kUmVxdWVzdFBhcmFtcyk6IFByb21pc2U8SW5jb21pbmdNZXNzYWdlPiB7XG4gIGNvbnN0IHJlcXVlc3QgPSBwYXJhbXMudXJsLnN0YXJ0c1dpdGgoJ2h0dHBzOicpID8gcmVxdWVzdEh0dHBzIDogcmVxdWVzdEh0dHA7XG4gIHJldHVybiBhd2FpdCBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gICAgY29uc3QgY2xpZW50UmVxdWVzdCA9IHJlcXVlc3QocGFyYW1zLnVybCwge1xuICAgICAgaGVhZGVyczogeyAuLi5wYXJhbXMuaGVhZGVycyB9LFxuICAgICAgbWV0aG9kOiBwYXJhbXMubWV0aG9kLFxuICAgICAgc2lnbmFsOiBwYXJhbXMuYWJvcnRTaWduYWxcbiAgICB9LCByZXNvbHZlKTtcbiAgICBjbGllbnRSZXF1ZXN0Lm9uKCdlcnJvcicsIChlcnJvcikgPT4ge1xuICAgICAgcmVqZWN0KHBhcmFtcy5hYm9ydFNpZ25hbC5hYm9ydGVkID8gcGFyYW1zLmFib3J0U2lnbmFsLnJlYXNvbiBhcyBFcnJvciA6IGVycm9yKTtcbiAgICB9KTtcbiAgICBjbGllbnRSZXF1ZXN0LmVuZCh0eXBlb2YgcGFyYW1zLmJvZHkgPT09ICdzdHJpbmcnID8gcGFyYW1zLmJvZHkgOiBwYXJhbXMuYm9keSAmJiBuZXcgVWludDhBcnJheShwYXJhbXMuYm9keSkpO1xuICB9KTtcbn1cbi8qIGVzbGludC1lbmFibGUgbi9uby11bnN1cHBvcnRlZC1mZWF0dXJlcy9ub2RlLWJ1aWx0aW5zIC0tIFJlYWRhYmxlU3RyZWFtIGlzIHRoZSBPYnNpZGlhbiByZW5kZXJlcidzIFdlYiBB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O0FBQzlCLHNCQUFjLFFBQVE7QUFDdEIsZUFBTztBQUFBLE1BQ1QsQ0FBQztBQUNELHNCQUFnQixHQUFHLFNBQVMsQ0FBQyxVQUFVO0FBQ3JDLHNCQUFjLFFBQVE7QUFDdEIsZUFBTyxLQUFLO0FBQUEsTUFDZCxDQUFDO0FBQ0QsMEJBQWdCLGlDQUFRLGFBQWEsTUFBTTtBQUN6QyxlQUFPLFlBQVksTUFBTTtBQUV6Qix3QkFBZ0IsUUFBUSxZQUFZLE1BQWU7QUFBQSxNQUNyRCxDQUFDO0FBQUEsSUFDSDtBQUFBLEVBQ0YsQ0FBQztBQUNIO0FBQ0EsU0FBUyxlQUFlLFNBQXNEO0FBQzVFLFFBQU0sY0FBc0MsQ0FBQztBQUM3QyxhQUFXLENBQUMsTUFBTSxLQUFLLEtBQUssT0FBTyxRQUFRLE9BQU8sR0FBRztBQUVuRCxnQkFBWSxJQUFJLElBQUksQ0FBQyxLQUFLLEVBQUUsS0FBSyxFQUFFLEtBQUssSUFBSTtBQUFBLEVBQzlDO0FBQ0EsU0FBTztBQUNUO0FBRUEsU0FBUyxxQkFBcUIsU0FBNEIsUUFBZ0IsS0FBZ0M7QUFFeEcsUUFBTSxvQkFBb0IsV0FBVyx5QkFDL0IsUUFBUSxXQUFXLFdBQVcsV0FBVyxpQ0FBaUMsV0FBVztBQUMzRixNQUFJLENBQUMsbUJBQW1CO0FBQ3RCLFdBQU8sRUFBRSxHQUFHLFNBQVMsSUFBSTtBQUFBLEVBQzNCO0FBQ0EsU0FBTztBQUFBLElBQ0wsYUFBYSxRQUFRO0FBQUEsSUFDckIsTUFBTTtBQUFBLElBQ04sU0FBUyxPQUFPLFlBQVksT0FBTyxRQUFRLFFBQVEsT0FBTyxFQUFFLE9BQU8sQ0FBQyxDQUFDLElBQUksTUFBTSxDQUFDLGFBQWEsSUFBSSxLQUFLLFlBQVksQ0FBQyxDQUFDLENBQUM7QUFBQSxJQUNySCxRQUFRO0FBQUEsSUFDUjtBQUFBLEVBQ0Y7QUFDRjtBQUVBLGVBQWUsWUFBWSxRQUFxRDtBQUM5RSxRQUFNLFVBQVUsT0FBTyxJQUFJLFdBQVcsUUFBUSxJQUFJLGtCQUFBQSxVQUFlLGlCQUFBQztBQUNqRSxTQUFPLE1BQU0sSUFBSSxRQUFRLENBQUMsU0FBUyxXQUFXO0FBQzVDLFVBQU0sZ0JBQWdCLFFBQVEsT0FBTyxLQUFLO0FBQUEsTUFDeEMsU0FBUyxFQUFFLEdBQUcsT0FBTyxRQUFRO0FBQUEsTUFDN0IsUUFBUSxPQUFPO0FBQUEsTUFDZixRQUFRLE9BQU87QUFBQSxJQUNqQixHQUFHLE9BQU87QUFDVixrQkFBYyxHQUFHLFNBQVMsQ0FBQyxVQUFVO0FBQ25DLGFBQU8sT0FBTyxZQUFZLFVBQVUsT0FBTyxZQUFZLFNBQWtCLEtBQUs7QUFBQSxJQUNoRixDQUFDO0FBQ0Qsa0JBQWMsSUFBSSxPQUFPLE9BQU8sU0FBUyxXQUFXLE9BQU8sT0FBTyxPQUFPLFFBQVEsSUFBSSxXQUFXLE9BQU8sSUFBSSxDQUFDO0FBQUEsRUFDOUcsQ0FBQztBQUNIOyIsIm5hbWVzIjpbInJlcXVlc3RIdHRwcyIsInJlcXVlc3RIdHRwIl19
@@ -123,8 +123,8 @@ __export(desktop_trusted_input_exports, {
123
123
  unhoverElement: () => unhoverElement
124
124
  });
125
125
  module.exports = __toCommonJS(desktop_trusted_input_exports);
126
- var import_type_guards = require('@mnaoumov/typescript-lib/type-guards');
127
- var import_obsidian = require('obsidian');
126
+ var import_type_guards = require("@mnaoumov/typescript-lib/type-guards");
127
+ var import_obsidian = require("obsidian");
128
128
  const INPUT_POLL_INTERVAL_IN_MILLISECONDS = 50;
129
129
  const INPUT_TIMEOUT_IN_MILLISECONDS = 5e3;
130
130
  const CENTER_DIVISOR = 2;
@@ -0,0 +1,150 @@
1
+ /*
2
+ THIS IS A GENERATED/BUNDLED FILE BY ESBUILD
3
+ if you want to view the source, please visit the github repository of this plugin
4
+ */
5
+ (function () {
6
+ function ensureBrowserProcess() {
7
+ const browserProcess = {
8
+ browser: true,
9
+ cwd() {
10
+ return "/";
11
+ },
12
+ env: {},
13
+ platform: "android"
14
+ };
15
+ const existingProcess = globalThis.process;
16
+ if (!existingProcess) {
17
+ globalThis.process = browserProcess;
18
+ return;
19
+ }
20
+ if (existingProcess.versions?.node) {
21
+ return;
22
+ }
23
+ const existingProcessRecord = existingProcess;
24
+ for (const [key, value] of Object.entries(browserProcess)) {
25
+ existingProcessRecord[key] ??= value;
26
+ }
27
+ existingProcessRecord["browser"] = true;
28
+ }
29
+
30
+ ensureBrowserProcess();
31
+ })();
32
+ (function patchObsidianRequire() {
33
+ const originalRequire = require;
34
+ if (!originalRequire || originalRequire.__isPatched) {
35
+ return;
36
+ }
37
+ require = Object.assign(
38
+ (id) => requirePatched(id),
39
+ originalRequire,
40
+ {
41
+ __isPatched: true
42
+ }
43
+ );
44
+ function extractDefault($module) {
45
+ return $module && $module.__esModule && "default" in $module ? $module.default : $module;
46
+ }
47
+ const OBSIDIAN_BUILT_IN_MODULE_NAMES = /* @__PURE__ */ new Set([
48
+ "@codemirror/autocomplete",
49
+ "@codemirror/collab",
50
+ "@codemirror/commands",
51
+ "@codemirror/language",
52
+ "@codemirror/lint",
53
+ "@codemirror/search",
54
+ "@codemirror/state",
55
+ "@codemirror/text",
56
+ "@codemirror/view",
57
+ "@lezer/common",
58
+ "@lezer/highlight",
59
+ "@lezer/lr",
60
+ "obsidian"
61
+ ]);
62
+ const DEPRECATED_OBSIDIAN_BUILT_IN_MODULE_NAMES = /* @__PURE__ */ new Set([
63
+ "@codemirror/closebrackets",
64
+ "@codemirror/comment",
65
+ "@codemirror/fold",
66
+ "@codemirror/gutter",
67
+ "@codemirror/highlight",
68
+ "@codemirror/history",
69
+ "@codemirror/matchbrackets",
70
+ "@codemirror/panel",
71
+ "@codemirror/rangeset",
72
+ "@codemirror/rectangular-selection",
73
+ "@codemirror/stream-parser",
74
+ "@codemirror/tooltip"
75
+ ]);
76
+ function requirePatched(id) {
77
+ if (OBSIDIAN_BUILT_IN_MODULE_NAMES.has(id) || DEPRECATED_OBSIDIAN_BUILT_IN_MODULE_NAMES.has(id)) {
78
+ return originalRequire?.(id);
79
+ }
80
+ const app = globalThis.app;
81
+ if (app?.isMobile) {
82
+ if (id === "process" || id === "node:process") {
83
+ console.debug(`The most likely you can safely ignore this error. Module not found: ${id}. Fake process object is returned instead.`);
84
+ return process;
85
+ }
86
+ } else {
87
+ const $module = originalRequire?.(id);
88
+ if ($module) {
89
+ return extractDefault($module);
90
+ }
91
+ }
92
+ console.debug(`The most likely you can safely ignore this error. Module not found: ${id}. Empty object is returned instead.`);
93
+ return {};
94
+ }
95
+ })();
96
+
97
+ "use strict";
98
+ var __defProp = Object.defineProperty;
99
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
100
+ var __getOwnPropNames = Object.getOwnPropertyNames;
101
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
102
+ var __export = (target, all) => {
103
+ for (var name in all)
104
+ __defProp(target, name, { get: all[name], enumerable: true });
105
+ };
106
+ var __copyProps = (to, from, except, desc) => {
107
+ if (from && typeof from === "object" || typeof from === "function") {
108
+ for (let key of __getOwnPropNames(from))
109
+ if (!__hasOwnProp.call(to, key) && key !== except)
110
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
111
+ }
112
+ return to;
113
+ };
114
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
115
+ var disposable_exports = {};
116
+ __export(disposable_exports, {
117
+ registerAsyncDisposable: () => registerAsyncDisposable,
118
+ registerDisposable: () => registerDisposable
119
+ });
120
+ module.exports = __toCommonJS(disposable_exports);
121
+ var import_async = require("@mnaoumov/typescript-lib/async");
122
+ var import_disposable = require("@mnaoumov/typescript-lib/disposable");
123
+ var import_obsidian = require("obsidian");
124
+ var import_plugin_async_cleanup = require("./plugin/plugin-async-cleanup.cjs");
125
+ function registerAsyncDisposable(component, asyncDisposable) {
126
+ if (component instanceof import_obsidian.Plugin) {
127
+ (0, import_plugin_async_cleanup.registerPluginAsyncCleanup)({
128
+ cleanup: () => (0, import_disposable.disposeAsync)(asyncDisposable),
129
+ component,
130
+ pluginId: component.manifest.id
131
+ });
132
+ } else {
133
+ component.register(() => {
134
+ (0, import_async.invokeAsyncSafely)(() => (0, import_disposable.disposeAsync)(asyncDisposable));
135
+ });
136
+ }
137
+ return asyncDisposable;
138
+ }
139
+ function registerDisposable(component, disposable) {
140
+ component.register(() => {
141
+ (0, import_disposable.dispose)(disposable);
142
+ });
143
+ return disposable;
144
+ }
145
+ // Annotate the CommonJS export names for ESM import in node:
146
+ 0 && (module.exports = {
147
+ registerAsyncDisposable,
148
+ registerDisposable
149
+ });
150
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9kaXNwb3NhYmxlLnRzIl0sInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQGZpbGVcbiAqXG4gKiBUaWVzIGEge0BsaW5rIERpc3Bvc2FibGV9IG9yIGFuIHtAbGluayBBc3luY0Rpc3Bvc2FibGV9IHRvIHRoZSBsaWZldGltZSBvZiBhbnkgT2JzaWRpYW4ge0BsaW5rIENvbXBvbmVudH0sIGFcbiAqIHtAbGluayBQbHVnaW59IGluY2x1ZGVkLlxuICpcbiAqIGBDb21wb25lbnRFeC5yZWdpc3RlckRpc3Bvc2FibGVgIGFuZCBgQ29tcG9uZW50RXgucmVnaXN0ZXJBc3luY0Rpc3Bvc2FibGVgIGRlbGVnYXRlIGhlcmUsIHNvIHRoZSBmcmVlIGZ1bmN0aW9ucyBhbmRcbiAqIHRoZSBtZXRob2RzIGNhbm5vdCBkaXZlcmdlLiBUaGV5IGV4aXN0IGFzIGZyZWUgZnVuY3Rpb25zIGJlY2F1c2Ugbm8gcGx1Z2luIGJhc2UgY2xhc3MgZXh0ZW5kcyBgQ29tcG9uZW50RXhgLlxuICovXG5cbmltcG9ydCB0eXBlIHsgQ29tcG9uZW50IH0gZnJvbSAnb2JzaWRpYW4nO1xuXG5pbXBvcnQgeyBpbnZva2VBc3luY1NhZmVseSB9IGZyb20gJ0BtbmFvdW1vdi90eXBlc2NyaXB0LWxpYi9hc3luYyc7XG5pbXBvcnQge1xuICBkaXNwb3NlLFxuICBkaXNwb3NlQXN5bmNcbn0gZnJvbSAnQG1uYW91bW92L3R5cGVzY3JpcHQtbGliL2Rpc3Bvc2FibGUnO1xuaW1wb3J0IHsgUGx1Z2luIH0gZnJvbSAnb2JzaWRpYW4nO1xuXG5pbXBvcnQgeyByZWdpc3RlclBsdWdpbkFzeW5jQ2xlYW51cCB9IGZyb20gJy4vcGx1Z2luL3BsdWdpbi1hc3luYy1jbGVhbnVwLnRzJztcblxuLyoqXG4gKiBSZWdpc3RlcnMgYW4ge0BsaW5rIEFzeW5jRGlzcG9zYWJsZX0gc28gaXRzIGRpc3Bvc2FsIHN0YXJ0cyB3aGVuIHRoZSBjb21wb25lbnQgdW5sb2FkcywgYW5kIHJldHVybnMgaXQgdW5jaGFuZ2VkLlxuICpcbiAqIE9ic2lkaWFuJ3MgdW5sb2FkIGlzIHN5bmNocm9ub3VzLCBzbyBub3RoaW5nIGF3YWl0cyB0aGUgZGlzcG9zYWwuIFdoZW4gdGhlIGNvbXBvbmVudCBpcyBhIHtAbGluayBQbHVnaW59LCB0aGVcbiAqIGRpc3Bvc2FsIGlzIHRyYWNrZWQgdW5kZXIgdGhlIHBsdWdpbiBpZCwgYW5kIHRoZSBwbHVnaW4ncyBuZXh0IGluc3RhbmNlIChhIGBQbHVnaW5CYXNlYCBvbmUpIHdhaXRzIGZvciBpdCBiZWZvcmUgaXRcbiAqIGxvYWRzLCBhcyBgUGx1Z2luQmFzZS5yZWdpc3RlckFzeW5jQ2xlYW51cGAgZG9lcy4gT24gYW55IG90aGVyIGNvbXBvbmVudCB0aGUgZGlzcG9zYWwgcnVucyBkZXRhY2hlZCwgYW5kIGEgZmFpbHVyZVxuICogaXMgcmVwb3J0ZWQsIG5ldmVyIHJldGhyb3duLlxuICpcbiAqIEB0eXBlUGFyYW0gVEFzeW5jRGlzcG9zYWJsZSAtIFRoZSB0eXBlIG9mIHRoZSBhc3luYyBkaXNwb3NhYmxlLlxuICogQHBhcmFtIGNvbXBvbmVudCAtIFRoZSBjb21wb25lbnQgd2hvc2UgdW5sb2FkIHN0YXJ0cyB0aGUgZGlzcG9zYWwuXG4gKiBAcGFyYW0gYXN5bmNEaXNwb3NhYmxlIC0gVGhlIGFzeW5jIGRpc3Bvc2FibGUgdG8gcmVnaXN0ZXIuXG4gKiBAcmV0dXJucyBUaGUgc2FtZSBhc3luYyBkaXNwb3NhYmxlLCBmb3IgY2hhaW5pbmcuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiByZWdpc3RlckFzeW5jRGlzcG9zYWJsZTxUQXN5bmNEaXNwb3NhYmxlIGV4dGVuZHMgQXN5bmNEaXNwb3NhYmxlPihcbiAgY29tcG9uZW50OiBDb21wb25lbnQsXG4gIGFzeW5jRGlzcG9zYWJsZTogVEFzeW5jRGlzcG9zYWJsZVxuKTogVEFzeW5jRGlzcG9zYWJsZSB7XG4gIGlmIChjb21wb25lbnQgaW5zdGFuY2VvZiBQbHVnaW4pIHtcbiAgICByZWdpc3RlclBsdWdpbkFzeW5jQ2xlYW51cCh7XG4gICAgICBjbGVhbnVwOiAoKSA9PiBkaXNwb3NlQXN5bmMoYXN5bmNEaXNwb3NhYmxlKSxcbiAgICAgIGNvbXBvbmVudCxcbiAgICAgIHBsdWdpbklkOiBjb21wb25lbnQubWFuaWZlc3QuaWRcbiAgICB9KTtcbiAgfSBlbHNlIHtcbiAgICBjb21wb25lbnQucmVnaXN0ZXIoKCkgPT4ge1xuICAgICAgaW52b2tlQXN5bmNTYWZlbHkoKCkgPT4gZGlzcG9zZUFzeW5jKGFzeW5jRGlzcG9zYWJsZSkpO1xuICAgIH0pO1xuICB9XG4gIHJldHVybiBhc3luY0Rpc3Bvc2FibGU7XG59XG5cbi8qKlxuICogUmVnaXN0ZXJzIGEge0BsaW5rIERpc3Bvc2FibGV9IHNvIGl0IGlzIGRpc3Bvc2VkIHdoZW4gdGhlIGNvbXBvbmVudCB1bmxvYWRzLCBhbmQgcmV0dXJucyBpdCB1bmNoYW5nZWQuXG4gKlxuICogVGhlIHJlY3VycmluZyBcInRpZSBhIGRpc3Bvc2FibGUgdG8gdGhlIGNvbXBvbmVudCdzIGxpZmVjeWNsZSwgdGhlbiBrZWVwIHVzaW5nIGl0XCIgaWRpb20sIGZvciBhbnkgY29tcG9uZW50OlxuICogYHJlZ2lzdGVyRGlzcG9zYWJsZShwbHVnaW4sIGF3YWl0IHJlZ2lzdGVyVmlydHVhbEZpbGUoLi4uKSlgLiBUaGUgZGlzcG9zYWJsZSBpcyBkaXNwb3NlZCBvblxuICoge0BsaW5rIENvbXBvbmVudC51bmxvYWR9LCBvciBlYXJsaWVyIGlmIHRoZSBjYWxsZXIgZGlzcG9zZXMgaXQgZGlyZWN0bHksIHNpbmNlIGRpc3Bvc2FsIGlzIGV4cGVjdGVkIHRvIGJlXG4gKiBpZGVtcG90ZW50LiBBIGNvbXBvbmVudCB0aGF0IGlzIG5ldmVyIGxvYWRlZCBuZXZlciB1bmxvYWRzLCBzbyBpdHMgcmVnaXN0ZXJlZCBkaXNwb3NhYmxlcyBhcmUgbmV2ZXIgZGlzcG9zZWQuXG4gKlxuICogQHR5cGVQYXJhbSBURGlzcG9zYWJsZSAtIFRoZSB0eXBlIG9mIHRoZSBkaXNwb3NhYmxlLlxuICogQHBhcmFtIGNvbXBvbmVudCAtIFRoZSBjb21wb25lbnQgd2hvc2UgdW5sb2FkIGRpc3Bvc2VzIHRoZSBkaXNwb3NhYmxlLlxuICogQHBhcmFtIGRpc3Bvc2FibGUgLSBUaGUgZGlzcG9zYWJsZSB0byByZWdpc3Rlci5cbiAqIEByZXR1cm5zIFRoZSBzYW1lIGRpc3Bvc2FibGUsIGZvciBjaGFpbmluZy5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHJlZ2lzdGVyRGlzcG9zYWJsZTxURGlzcG9zYWJsZSBleHRlbmRzIERpc3Bvc2FibGU+KGNvbXBvbmVudDogQ29tcG9uZW50LCBkaXNwb3NhYmxlOiBURGlzcG9zYWJsZSk6IFREaXNwb3NhYmxlIHtcbiAgY29tcG9uZW50LnJlZ2lzdGVyKCgpID0+IHtcbiAgICBkaXNwb3NlKGRpc3Bvc2FibGUpO1xuICB9KTtcbiAgcmV0dXJuIGRpc3Bvc2FibGU7XG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQVlBLG1CQUFrQztBQUNsQyx3QkFHTztBQUNQLHNCQUF1QjtBQUV2QixrQ0FBMkM7QUFlcEMsU0FBUyx3QkFDZCxXQUNBLGlCQUNrQjtBQUNsQixNQUFJLHFCQUFxQix3QkFBUTtBQUMvQixnRUFBMkI7QUFBQSxNQUN6QixTQUFTLFVBQU0sZ0NBQWEsZUFBZTtBQUFBLE1BQzNDO0FBQUEsTUFDQSxVQUFVLFVBQVUsU0FBUztBQUFBLElBQy9CLENBQUM7QUFBQSxFQUNILE9BQU87QUFDTCxjQUFVLFNBQVMsTUFBTTtBQUN2QiwwQ0FBa0IsVUFBTSxnQ0FBYSxlQUFlLENBQUM7QUFBQSxJQUN2RCxDQUFDO0FBQUEsRUFDSDtBQUNBLFNBQU87QUFDVDtBQWVPLFNBQVMsbUJBQW1ELFdBQXNCLFlBQXNDO0FBQzdILFlBQVUsU0FBUyxNQUFNO0FBQ3ZCLG1DQUFRLFVBQVU7QUFBQSxFQUNwQixDQUFDO0FBQ0QsU0FBTztBQUNUOyIsIm5hbWVzIjpbXX0=
@@ -0,0 +1,39 @@
1
+ /// <reference path="./library-references.d.cts" />
2
+ /**
3
+ * @file
4
+ *
5
+ * Ties a {@link Disposable} or an {@link AsyncDisposable} to the lifetime of any Obsidian {@link Component}, a
6
+ * {@link Plugin} included.
7
+ *
8
+ * `ComponentEx.registerDisposable` and `ComponentEx.registerAsyncDisposable` delegate here, so the free functions and
9
+ * the methods cannot diverge. They exist as free functions because no plugin base class extends `ComponentEx`.
10
+ */
11
+ import type { Component } from 'obsidian' with { 'resolution-mode': 'import' };
12
+ /**
13
+ * Registers an {@link AsyncDisposable} so its disposal starts when the component unloads, and returns it unchanged.
14
+ *
15
+ * Obsidian's unload is synchronous, so nothing awaits the disposal. When the component is a {@link Plugin}, the
16
+ * disposal is tracked under the plugin id, and the plugin's next instance (a `PluginBase` one) waits for it before it
17
+ * loads, as `PluginBase.registerAsyncCleanup` does. On any other component the disposal runs detached, and a failure
18
+ * is reported, never rethrown.
19
+ *
20
+ * @typeParam TAsyncDisposable - The type of the async disposable.
21
+ * @param component - The component whose unload starts the disposal.
22
+ * @param asyncDisposable - The async disposable to register.
23
+ * @returns The same async disposable, for chaining.
24
+ */
25
+ export declare function registerAsyncDisposable<TAsyncDisposable extends AsyncDisposable>(component: Component, asyncDisposable: TAsyncDisposable): TAsyncDisposable;
26
+ /**
27
+ * Registers a {@link Disposable} so it is disposed when the component unloads, and returns it unchanged.
28
+ *
29
+ * The recurring "tie a disposable to the component's lifecycle, then keep using it" idiom, for any component:
30
+ * `registerDisposable(plugin, await registerVirtualFile(...))`. The disposable is disposed on
31
+ * {@link Component.unload}, or earlier if the caller disposes it directly, since disposal is expected to be
32
+ * idempotent. A component that is never loaded never unloads, so its registered disposables are never disposed.
33
+ *
34
+ * @typeParam TDisposable - The type of the disposable.
35
+ * @param component - The component whose unload disposes the disposable.
36
+ * @param disposable - The disposable to register.
37
+ * @returns The same disposable, for chaining.
38
+ */
39
+ export declare function registerDisposable<TDisposable extends Disposable>(component: Component, disposable: TDisposable): TDisposable;
@@ -117,7 +117,7 @@ __export(editor_extension_registrar_exports, {
117
117
  PluginEditorExtensionRegistrar: () => PluginEditorExtensionRegistrar
118
118
  });
119
119
  module.exports = __toCommonJS(editor_extension_registrar_exports);
120
- var import_obsidian = require('obsidian');
120
+ var import_obsidian = require("obsidian");
121
121
  class PluginEditorExtensionRegistrar {
122
122
  /**
123
123
  * Creates a new instance of the {@link PluginEditorExtensionRegistrar} class.
@@ -117,8 +117,8 @@ __export(editor_suggest_registrar_exports, {
117
117
  PluginEditorSuggestRegistrar: () => PluginEditorSuggestRegistrar
118
118
  });
119
119
  module.exports = __toCommonJS(editor_suggest_registrar_exports);
120
- var import_obsidian = require('obsidian');
121
- var import_editor_suggest = require('./editor-suggest.cjs');
120
+ var import_obsidian = require("obsidian");
121
+ var import_editor_suggest = require("./editor-suggest.cjs");
122
122
  class PluginEditorSuggestRegistrar {
123
123
  /**
124
124
  * Creates a new instance of the {@link PluginEditorSuggestRegistrar} class.
@@ -118,7 +118,7 @@ __export(editor_suggest_exports, {
118
118
  prioritizeEditorSuggest: () => prioritizeEditorSuggest
119
119
  });
120
120
  module.exports = __toCommonJS(editor_suggest_exports);
121
- var import_obsidian = require('obsidian');
121
+ var import_obsidian = require("obsidian");
122
122
  class CommandEditorSuggest extends import_obsidian.EditorSuggest {
123
123
  commandStart = null;
124
124
  /**
@@ -118,12 +118,12 @@ __export(editor_exports, {
118
118
  toggleEditorReadOnly: () => toggleEditorReadOnly
119
119
  });
120
120
  module.exports = __toCommonJS(editor_exports);
121
- var import_state = require('@codemirror/state');
122
- var import_view = require('@codemirror/view');
123
- var import_object_utils = require('@mnaoumov/typescript-lib/object-utils');
124
- var import_implementations = require('@obsidian-typings/obsidian-public-latest/implementations');
125
- var import_obsidian = require('obsidian');
126
- var import_file_system = require('./file-system.cjs');
121
+ var import_state = require("@codemirror/state");
122
+ var import_view = require("@codemirror/view");
123
+ var import_object_utils = require("@mnaoumov/typescript-lib/object-utils");
124
+ var import_implementations = require("@obsidian-typings/obsidian-public-latest/implementations");
125
+ var import_obsidian = require("obsidian");
126
+ var import_file_system = require("./file-system.cjs");
127
127
  const compartmentByCodeMirror = /* @__PURE__ */ new WeakMap();
128
128
  const moduleState = {
129
129
  isProcessingLockedEditorKeydown: false
@@ -119,8 +119,8 @@ __export(events_exports, {
119
119
  subscribeEvent: () => subscribeEvent
120
120
  });
121
121
  module.exports = __toCommonJS(events_exports);
122
- var import_disposable = require('@mnaoumov/typescript-lib/disposable');
123
- var import_object_utils = require('@mnaoumov/typescript-lib/object-utils');
122
+ var import_disposable = require("@mnaoumov/typescript-lib/disposable");
123
+ var import_object_utils = require("@mnaoumov/typescript-lib/object-utils");
124
124
  class EventRefDisposable extends import_disposable.DisposableBase {
125
125
  /**
126
126
  * Creates a disposable wrapping an existing {@link EventRef}.
@@ -117,7 +117,7 @@ __export(extensions_registrar_exports, {
117
117
  PluginExtensionsRegistrar: () => PluginExtensionsRegistrar
118
118
  });
119
119
  module.exports = __toCommonJS(extensions_registrar_exports);
120
- var import_obsidian = require('obsidian');
120
+ var import_obsidian = require("obsidian");
121
121
  class PluginExtensionsRegistrar {
122
122
  /**
123
123
  * Creates a new instance of the {@link PluginExtensionsRegistrar} class.
@@ -92,7 +92,7 @@ __export(feature_request_exports, {
92
92
  getFeatureRequestIssueFormUrl: () => getFeatureRequestIssueFormUrl
93
93
  });
94
94
  module.exports = __toCommonJS(feature_request_exports);
95
- var import_bug_report = require('./bug-report.cjs');
95
+ var import_bug_report = require("./bug-report.cjs");
96
96
  const FEATURE_REQUEST_ISSUE_FORM_TEMPLATE = "feature_request.yml";
97
97
  var FeatureRequestIssueFormFieldId = /* @__PURE__ */ ((FeatureRequestIssueFormFieldId2) => {
98
98
  FeatureRequestIssueFormFieldId2["PluginVersion"] = "plugin-version";
@@ -125,16 +125,16 @@ __export(file_change_exports, {
125
125
  toFrontmatterChangeWithOffsets: () => toFrontmatterChangeWithOffsets
126
126
  });
127
127
  module.exports = __toCommonJS(file_change_exports);
128
- var import_error = require('@mnaoumov/typescript-lib/error');
129
- var import_object_utils = require('@mnaoumov/typescript-lib/object-utils');
130
- var import_value_provider = require('@mnaoumov/typescript-lib/value-provider');
131
- var import_implementations = require('@obsidian-typings/obsidian-public-latest/implementations');
132
- var import_debug = require('./debug.cjs');
133
- var import_file_system = require('./file-system.cjs');
134
- var import_frontmatter_link_cache_with_offsets = require('./frontmatter-link-cache-with-offsets.cjs');
135
- var import_frontmatter = require('./frontmatter.cjs');
136
- var import_reference = require('./reference.cjs');
137
- var import_vault = require('./vault.cjs');
128
+ var import_error = require("@mnaoumov/typescript-lib/error");
129
+ var import_object_utils = require("@mnaoumov/typescript-lib/object-utils");
130
+ var import_value_provider = require("@mnaoumov/typescript-lib/value-provider");
131
+ var import_implementations = require("@obsidian-typings/obsidian-public-latest/implementations");
132
+ var import_debug = require("./debug.cjs");
133
+ var import_file_system = require("./file-system.cjs");
134
+ var import_frontmatter_link_cache_with_offsets = require("./frontmatter-link-cache-with-offsets.cjs");
135
+ var import_frontmatter = require("./frontmatter.cjs");
136
+ var import_reference = require("./reference.cjs");
137
+ var import_vault = require("./vault.cjs");
138
138
  const ESCAPED_WIKILINK_DIVIDER = String.raw`\|`;
139
139
  const OPTIONALLY_ESCAPED_WIKILINK_DIVIDER_REGEXP = /\\?\|/g;
140
140
  async function applyContentChanges(params) {
@@ -117,8 +117,8 @@ __export(file_explorer_exports, {
117
117
  revealInFileExplorer: () => revealInFileExplorer
118
118
  });
119
119
  module.exports = __toCommonJS(file_explorer_exports);
120
- var import_async = require('@mnaoumov/typescript-lib/async');
121
- var import_implementations = require('@obsidian-typings/obsidian-public-latest/implementations');
120
+ var import_async = require("@mnaoumov/typescript-lib/async");
121
+ var import_implementations = require("@obsidian-typings/obsidian-public-latest/implementations");
122
122
  const FRAMES_TO_OUTLAST_THE_EXPLORER_ACTIVATION = 2;
123
123
  async function revealInFileExplorer(params) {
124
124
  const { abstractFile, app } = params;
@@ -120,11 +120,11 @@ __export(file_manager_exports, {
120
120
  waitForPendingLinkUpdates: () => waitForPendingLinkUpdates
121
121
  });
122
122
  module.exports = __toCommonJS(file_manager_exports);
123
- var import_async = require('@mnaoumov/typescript-lib/async');
124
- var import_object_utils = require('@mnaoumov/typescript-lib/object-utils');
125
- var import_file_system = require('./file-system.cjs');
126
- var import_frontmatter = require('./frontmatter.cjs');
127
- var import_vault = require('./vault.cjs');
123
+ var import_async = require("@mnaoumov/typescript-lib/async");
124
+ var import_object_utils = require("@mnaoumov/typescript-lib/object-utils");
125
+ var import_file_system = require("./file-system.cjs");
126
+ var import_frontmatter = require("./frontmatter.cjs");
127
+ var import_vault = require("./vault.cjs");
128
128
  async function addAlias(params) {
129
129
  const {
130
130
  alias,