obsidian-dev-utils 88.7.0 → 89.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +23 -0
- package/dist/demo-vault-helper/main.js +20 -23
- package/dist/integration-test-plugin/main.js +2218 -1734
- package/dist/lib/cjs/__merged.cjs +57 -35
- package/dist/lib/cjs/__merged.d.cts +12 -10
- package/dist/lib/cjs/abort-controller.cjs +15 -22
- package/dist/lib/cjs/array.cjs +27 -26
- package/dist/lib/cjs/array.d.cts +25 -7
- package/dist/lib/cjs/async-events.cjs +87 -91
- package/dist/lib/cjs/async-events.d.cts +50 -50
- package/dist/lib/cjs/async.cjs +80 -80
- package/dist/lib/cjs/async.d.cts +23 -23
- package/dist/lib/cjs/beeper.cjs +11 -15
- package/dist/lib/cjs/blob.cjs +14 -25
- package/dist/lib/cjs/codemirror/index.cjs +11 -15
- package/dist/lib/cjs/codemirror/state-field-spec.cjs +11 -15
- package/dist/lib/cjs/debug-controller.cjs +11 -15
- package/dist/lib/cjs/debug.cjs +24 -32
- package/dist/lib/cjs/debug.d.cts +1 -1
- package/dist/lib/cjs/disposable.cjs +59 -43
- package/dist/lib/cjs/disposable.d.cts +27 -8
- package/dist/lib/cjs/enum.cjs +11 -15
- package/dist/lib/cjs/error.cjs +28 -33
- package/dist/lib/cjs/function.cjs +30 -34
- package/dist/lib/cjs/function.d.cts +26 -26
- package/dist/lib/cjs/generated-during-build.cjs +12 -16
- package/dist/lib/cjs/html-element.cjs +84 -89
- package/dist/lib/cjs/html-element.d.cts +15 -15
- package/dist/lib/cjs/index.cjs +11 -15
- package/dist/lib/cjs/integration-test-setup.cjs +11 -15
- package/dist/lib/cjs/integration-test-vitest-global-setup.cjs +11 -15
- package/dist/lib/cjs/jest-setup.cjs +11 -15
- package/dist/lib/cjs/library.cjs +11 -15
- package/dist/lib/cjs/object-utils.cjs +120 -117
- package/dist/lib/cjs/object-utils.d.cts +27 -27
- package/dist/lib/cjs/obsidian/@types/dataview/data-model/value.d.cts +1 -1
- package/dist/lib/cjs/obsidian/@types/dataview/expression/field.d.cts +1 -1
- package/dist/lib/cjs/obsidian/@types/dataview/expression/functions.d.cts +4 -4
- package/dist/lib/cjs/obsidian/active-file-provider.cjs +11 -15
- package/dist/lib/cjs/obsidian/app.cjs +11 -15
- package/dist/lib/cjs/obsidian/async-with-notice.cjs +28 -32
- package/dist/lib/cjs/obsidian/async-with-notice.d.cts +2 -2
- package/dist/lib/cjs/obsidian/attachment-path.cjs +20 -24
- package/dist/lib/cjs/obsidian/attachment-path.d.cts +5 -5
- package/dist/lib/cjs/obsidian/backlink.cjs +12 -16
- package/dist/lib/cjs/obsidian/bases-view-registrar.cjs +11 -15
- package/dist/lib/cjs/obsidian/callout.cjs +27 -26
- package/dist/lib/cjs/obsidian/callout.d.cts +9 -3
- package/dist/lib/cjs/obsidian/canvas.cjs +13 -16
- package/dist/lib/cjs/obsidian/case-insensitive-file-index.cjs +18 -20
- package/dist/lib/cjs/obsidian/code-block-markdown-information.cjs +11 -15
- package/dist/lib/cjs/obsidian/code-block-markdown-information.d.cts +2 -2
- package/dist/lib/cjs/obsidian/code-block-reg-exp.cjs +11 -15
- package/dist/lib/cjs/obsidian/command-handlers/abstract-file-command-handler.cjs +18 -16
- package/dist/lib/cjs/obsidian/command-handlers/abstract-file-command-handler.d.cts +5 -0
- package/dist/lib/cjs/obsidian/command-handlers/command-handler-component.cjs +56 -31
- package/dist/lib/cjs/obsidian/command-handlers/command-handler-component.d.cts +42 -8
- package/dist/lib/cjs/obsidian/command-handlers/command-handler.cjs +11 -15
- package/dist/lib/cjs/obsidian/command-handlers/command-handler.d.cts +10 -0
- package/dist/lib/cjs/obsidian/command-handlers/editor-command-handler.cjs +26 -30
- package/dist/lib/cjs/obsidian/command-handlers/editor-command-handler.d.cts +8 -8
- package/dist/lib/cjs/obsidian/command-handlers/file-command-handler.cjs +12 -16
- package/dist/lib/cjs/obsidian/command-handlers/folder-command-handler.cjs +12 -16
- package/dist/lib/cjs/obsidian/command-handlers/global-command-handler.cjs +13 -17
- package/dist/lib/cjs/obsidian/command-handlers/index.cjs +11 -15
- package/dist/lib/cjs/obsidian/command-handlers/open-demo-vault-command-handler.cjs +11 -15
- package/dist/lib/cjs/obsidian/command-handlers/open-settings-command-handler.cjs +11 -15
- package/dist/lib/cjs/obsidian/command-handlers/unlock-active-note-command-handler.cjs +11 -15
- package/dist/lib/cjs/obsidian/command-registrar.cjs +11 -15
- package/dist/lib/cjs/obsidian/community-plugins.cjs +28 -25
- package/dist/lib/cjs/obsidian/community-plugins.d.cts +19 -5
- package/dist/lib/cjs/obsidian/components/abort-signal-component.cjs +11 -15
- package/dist/lib/cjs/obsidian/components/all-windows-event-component.cjs +11 -15
- package/dist/lib/cjs/obsidian/components/all-windows-event-component.d.cts +4 -4
- package/dist/lib/cjs/obsidian/components/async-error-handler-component.cjs +13 -16
- package/dist/lib/cjs/obsidian/components/async-events-component.cjs +11 -15
- package/dist/lib/cjs/obsidian/components/case-insensitive-file-index-component.cjs +11 -15
- package/dist/lib/cjs/obsidian/components/component-ex.cjs +26 -28
- package/dist/lib/cjs/obsidian/components/component-ex.d.cts +3 -3
- package/dist/lib/cjs/obsidian/components/console-debug-component.cjs +14 -18
- package/dist/lib/cjs/obsidian/components/console-debug-component.d.cts +2 -2
- package/dist/lib/cjs/obsidian/components/disposable-component.cjs +11 -15
- package/dist/lib/cjs/obsidian/components/embed-extensions-component.cjs +11 -15
- package/dist/lib/cjs/obsidian/components/generate-markdown-link-default-params-component.cjs +11 -15
- package/dist/lib/cjs/obsidian/components/index.cjs +14 -15
- package/dist/lib/cjs/obsidian/components/index.d.cts +1 -0
- package/dist/lib/cjs/obsidian/components/layout-ready-component.cjs +11 -15
- package/dist/lib/cjs/obsidian/components/menu-event-registrar-component.cjs +11 -15
- package/dist/lib/cjs/obsidian/components/monkey-around-component.cjs +29 -33
- package/dist/lib/cjs/obsidian/components/monkey-around-component.d.cts +55 -55
- package/dist/lib/cjs/obsidian/components/notebook-navigator-menu-event-registrar-component.cjs +297 -0
- package/dist/lib/cjs/obsidian/components/notebook-navigator-menu-event-registrar-component.d.cts +139 -0
- package/dist/lib/cjs/obsidian/components/plugin-context-component.cjs +11 -15
- package/dist/lib/cjs/obsidian/components/plugin-notice-component.cjs +28 -31
- package/dist/lib/cjs/obsidian/components/plugin-settings-component.cjs +26 -30
- package/dist/lib/cjs/obsidian/components/plugin-settings-component.d.cts +8 -8
- package/dist/lib/cjs/obsidian/components/plugin-settings-tab-component.cjs +11 -15
- package/dist/lib/cjs/obsidian/components/pointer-position-component.cjs +13 -17
- package/dist/lib/cjs/obsidian/components/registry-component.cjs +11 -15
- package/dist/lib/cjs/obsidian/components/rename-delete-handler-component.cjs +72 -62
- package/dist/lib/cjs/obsidian/components/rename-delete-handler-component.d.cts +12 -1
- package/dist/lib/cjs/obsidian/components/syntax-highlighting-component.cjs +16 -20
- package/dist/lib/cjs/obsidian/components/syntax-highlighting-component.d.cts +8 -8
- package/dist/lib/cjs/obsidian/constructors/get-dom-events-handlers-constructor.cjs +14 -18
- package/dist/lib/cjs/obsidian/constructors/index.cjs +11 -15
- package/dist/lib/cjs/obsidian/css-class.cjs +11 -15
- package/dist/lib/cjs/obsidian/data-handler.cjs +11 -15
- package/dist/lib/cjs/obsidian/dataview-link.cjs +13 -17
- package/dist/lib/cjs/obsidian/dataview.cjs +35 -41
- package/dist/lib/cjs/obsidian/dataview.d.cts +2 -2
- package/dist/lib/cjs/obsidian/demo-vault-helper.cjs +13 -17
- package/dist/lib/cjs/obsidian/desktop-demo-vault-opener.cjs +22 -26
- package/dist/lib/cjs/obsidian/desktop-trusted-input.cjs +23 -21
- package/dist/lib/cjs/obsidian/editor-extension-registrar.cjs +11 -15
- package/dist/lib/cjs/obsidian/editor-suggest-registrar.cjs +11 -15
- package/dist/lib/cjs/obsidian/editor.cjs +17 -19
- package/dist/lib/cjs/obsidian/events.cjs +12 -16
- package/dist/lib/cjs/obsidian/events.d.cts +2 -2
- package/dist/lib/cjs/obsidian/extensions-registrar.cjs +11 -15
- package/dist/lib/cjs/obsidian/file-change.cjs +76 -80
- package/dist/lib/cjs/obsidian/file-change.d.cts +3 -3
- package/dist/lib/cjs/obsidian/file-manager.cjs +33 -22
- package/dist/lib/cjs/obsidian/file-manager.d.cts +20 -1
- package/dist/lib/cjs/obsidian/file-system.cjs +15 -19
- package/dist/lib/cjs/obsidian/file-system.d.cts +3 -3
- package/dist/lib/cjs/obsidian/frontmatter-link-cache-with-offsets.cjs +11 -15
- package/dist/lib/cjs/obsidian/frontmatter.cjs +15 -19
- package/dist/lib/cjs/obsidian/hover-link-source-registrar.cjs +11 -15
- package/dist/lib/cjs/obsidian/html-element.cjs +13 -17
- package/dist/lib/cjs/obsidian/html-element.d.cts +2 -2
- package/dist/lib/cjs/obsidian/i18n/custom-type-options.cjs +11 -15
- package/dist/lib/cjs/obsidian/i18n/default-translations.cjs +11 -15
- package/dist/lib/cjs/obsidian/i18n/i18n.cjs +13 -16
- package/dist/lib/cjs/obsidian/i18n/i18n.d.cts +7 -0
- package/dist/lib/cjs/obsidian/i18n/index.cjs +11 -15
- package/dist/lib/cjs/obsidian/i18n/locales/en.cjs +11 -15
- package/dist/lib/cjs/obsidian/i18n/locales/index.cjs +11 -15
- package/dist/lib/cjs/obsidian/i18n/locales/translations-map.cjs +11 -15
- package/dist/lib/cjs/obsidian/index.cjs +14 -15
- package/dist/lib/cjs/obsidian/index.d.cts +1 -0
- package/dist/lib/cjs/obsidian/is-in-obsidian.cjs +11 -15
- package/dist/lib/cjs/obsidian/link-update-progress.cjs +11 -15
- package/dist/lib/cjs/obsidian/link.cjs +91 -81
- package/dist/lib/cjs/obsidian/link.d.cts +22 -22
- package/dist/lib/cjs/obsidian/logger.cjs +21 -25
- package/dist/lib/cjs/obsidian/logger.d.cts +5 -5
- package/dist/lib/cjs/obsidian/loop.cjs +14 -18
- package/dist/lib/cjs/obsidian/loop.d.cts +1 -1
- package/dist/lib/cjs/obsidian/markdown-code-block-processor-registrar.cjs +12 -16
- package/dist/lib/cjs/obsidian/markdown-code-block-processor-registrar.d.cts +3 -3
- package/dist/lib/cjs/obsidian/markdown-code-block-processor.cjs +35 -40
- package/dist/lib/cjs/obsidian/markdown-code-block-processor.d.cts +3 -3
- package/dist/lib/cjs/obsidian/markdown-post-processor-registrar.cjs +12 -16
- package/dist/lib/cjs/obsidian/markdown-post-processor-registrar.d.cts +3 -3
- package/dist/lib/cjs/obsidian/markdown-view.cjs +11 -15
- package/dist/lib/cjs/obsidian/markdown.cjs +22 -24
- package/dist/lib/cjs/obsidian/menu-event-registrar.cjs +11 -15
- package/dist/lib/cjs/obsidian/menu-event-registrar.d.cts +1 -1
- package/dist/lib/cjs/obsidian/metadata-cache.cjs +16 -20
- package/dist/lib/cjs/obsidian/metadata-cache.d.cts +2 -2
- package/dist/lib/cjs/obsidian/modals/alert.cjs +11 -15
- package/dist/lib/cjs/obsidian/modals/confirm.cjs +11 -15
- package/dist/lib/cjs/obsidian/modals/index.cjs +11 -15
- package/dist/lib/cjs/obsidian/modals/minimizable-modal.cjs +28 -32
- package/dist/lib/cjs/obsidian/modals/modal.cjs +11 -15
- package/dist/lib/cjs/obsidian/modals/prompt.cjs +11 -15
- package/dist/lib/cjs/obsidian/modals/select-item.cjs +16 -20
- package/dist/lib/cjs/obsidian/modals/select-item.d.cts +1 -1
- package/dist/lib/cjs/obsidian/modals/select-option.cjs +11 -15
- package/dist/lib/cjs/obsidian/modals/suggest-modal-command-builder.cjs +26 -28
- package/dist/lib/cjs/obsidian/modals/suggest-modal-command-builder.d.cts +5 -5
- package/dist/lib/cjs/obsidian/notebook-navigator.cjs +155 -0
- package/dist/lib/cjs/obsidian/notebook-navigator.d.cts +132 -0
- package/dist/lib/cjs/obsidian/obsidian-protocol-handler-registrar.cjs +11 -15
- package/dist/lib/cjs/obsidian/obsidian-settings.cjs +11 -15
- package/dist/lib/cjs/obsidian/parse-link.cjs +61 -62
- package/dist/lib/cjs/obsidian/parse-link.d.cts +4 -4
- package/dist/lib/cjs/obsidian/path-settings.cjs +27 -25
- package/dist/lib/cjs/obsidian/pdf.cjs +13 -17
- package/dist/lib/cjs/obsidian/pdf.d.cts +2 -2
- package/dist/lib/cjs/obsidian/plugin/index.cjs +11 -15
- package/dist/lib/cjs/obsidian/plugin/obsidian-plugin-repo-paths.cjs +11 -15
- package/dist/lib/cjs/obsidian/plugin/obsidian-plugin-repo-paths.d.cts +156 -52
- package/dist/lib/cjs/obsidian/plugin/plugin-context.cjs +17 -21
- package/dist/lib/cjs/obsidian/plugin/plugin-context.d.cts +2 -2
- package/dist/lib/cjs/obsidian/plugin/plugin-event-source.cjs +20 -24
- package/dist/lib/cjs/obsidian/plugin/plugin-event-source.d.cts +11 -9
- package/dist/lib/cjs/obsidian/plugin/plugin-settings-tab.cjs +29 -33
- package/dist/lib/cjs/obsidian/plugin/plugin.cjs +33 -16
- package/dist/lib/cjs/obsidian/plugin/plugin.d.cts +11 -1
- package/dist/lib/cjs/obsidian/plugin-cli-handler-registrar.cjs +11 -15
- package/dist/lib/cjs/obsidian/popovers/field-popover.cjs +11 -15
- package/dist/lib/cjs/obsidian/popovers/index.cjs +11 -15
- package/dist/lib/cjs/obsidian/popovers/popover-anchor.cjs +14 -18
- package/dist/lib/cjs/obsidian/popovers/popover-anchor.d.cts +2 -2
- package/dist/lib/cjs/obsidian/popovers/popover.cjs +19 -23
- package/dist/lib/cjs/obsidian/queue.cjs +16 -20
- package/dist/lib/cjs/obsidian/queue.d.cts +2 -2
- package/dist/lib/cjs/obsidian/react/app-context.cjs +11 -15
- package/dist/lib/cjs/obsidian/react/index.cjs +11 -15
- package/dist/lib/cjs/obsidian/reference.cjs +11 -15
- package/dist/lib/cjs/obsidian/resource-lock.cjs +157 -78
- package/dist/lib/cjs/obsidian/resource-lock.d.cts +5 -0
- package/dist/lib/cjs/obsidian/resource-url.cjs +12 -16
- package/dist/lib/cjs/obsidian/ribbon-icon-registrar.cjs +11 -15
- package/dist/lib/cjs/obsidian/ribbon-icon-registrar.d.cts +2 -2
- package/dist/lib/cjs/obsidian/setting-components/checkbox-component.cjs +18 -22
- package/dist/lib/cjs/obsidian/setting-components/checkbox-component.d.cts +5 -5
- package/dist/lib/cjs/obsidian/setting-components/code-highlighter-component.cjs +28 -31
- package/dist/lib/cjs/obsidian/setting-components/code-highlighter-component.d.cts +2 -2
- package/dist/lib/cjs/obsidian/setting-components/date-component.cjs +14 -18
- package/dist/lib/cjs/obsidian/setting-components/date-component.d.cts +2 -2
- package/dist/lib/cjs/obsidian/setting-components/date-time-component.cjs +14 -18
- package/dist/lib/cjs/obsidian/setting-components/date-time-component.d.cts +2 -2
- package/dist/lib/cjs/obsidian/setting-components/email-component.cjs +14 -18
- package/dist/lib/cjs/obsidian/setting-components/email-component.d.cts +2 -2
- package/dist/lib/cjs/obsidian/setting-components/file-component.cjs +11 -15
- package/dist/lib/cjs/obsidian/setting-components/index.cjs +11 -15
- package/dist/lib/cjs/obsidian/setting-components/month-component.cjs +14 -18
- package/dist/lib/cjs/obsidian/setting-components/month-component.d.cts +2 -2
- package/dist/lib/cjs/obsidian/setting-components/multiple-dropdown-component.cjs +17 -21
- package/dist/lib/cjs/obsidian/setting-components/multiple-dropdown-component.d.cts +2 -2
- package/dist/lib/cjs/obsidian/setting-components/multiple-email-component.cjs +14 -18
- package/dist/lib/cjs/obsidian/setting-components/multiple-email-component.d.cts +2 -2
- package/dist/lib/cjs/obsidian/setting-components/multiple-file-component.cjs +12 -16
- package/dist/lib/cjs/obsidian/setting-components/multiple-text-component.cjs +15 -19
- package/dist/lib/cjs/obsidian/setting-components/multiple-text-component.d.cts +2 -2
- package/dist/lib/cjs/obsidian/setting-components/number-component.cjs +14 -18
- package/dist/lib/cjs/obsidian/setting-components/number-component.d.cts +2 -2
- package/dist/lib/cjs/obsidian/setting-components/password-component.cjs +14 -18
- package/dist/lib/cjs/obsidian/setting-components/password-component.d.cts +2 -2
- package/dist/lib/cjs/obsidian/setting-components/setting-component-wrapper.cjs +16 -20
- package/dist/lib/cjs/obsidian/setting-components/setting-component-wrapper.d.cts +2 -2
- package/dist/lib/cjs/obsidian/setting-components/telephone-component.cjs +14 -18
- package/dist/lib/cjs/obsidian/setting-components/telephone-component.d.cts +2 -2
- package/dist/lib/cjs/obsidian/setting-components/text-based-component.cjs +16 -20
- package/dist/lib/cjs/obsidian/setting-components/text-based-component.d.cts +2 -2
- package/dist/lib/cjs/obsidian/setting-components/time-component.cjs +14 -18
- package/dist/lib/cjs/obsidian/setting-components/time-component.d.cts +2 -2
- package/dist/lib/cjs/obsidian/setting-components/tri-state-checkbox-component.cjs +15 -19
- package/dist/lib/cjs/obsidian/setting-components/tri-state-checkbox-component.d.cts +2 -2
- package/dist/lib/cjs/obsidian/setting-components/typed-dropdown-component.cjs +16 -20
- package/dist/lib/cjs/obsidian/setting-components/typed-dropdown-component.d.cts +2 -2
- package/dist/lib/cjs/obsidian/setting-components/typed-multiple-dropdown-component.cjs +18 -22
- package/dist/lib/cjs/obsidian/setting-components/typed-multiple-dropdown-component.d.cts +2 -2
- package/dist/lib/cjs/obsidian/setting-components/typed-range-text-component.cjs +11 -15
- package/dist/lib/cjs/obsidian/setting-components/typed-text-component.cjs +16 -19
- package/dist/lib/cjs/obsidian/setting-components/typed-text-component.d.cts +4 -4
- package/dist/lib/cjs/obsidian/setting-components/url-component.cjs +14 -18
- package/dist/lib/cjs/obsidian/setting-components/url-component.d.cts +2 -2
- package/dist/lib/cjs/obsidian/setting-components/validator-component.cjs +45 -49
- package/dist/lib/cjs/obsidian/setting-components/validator-component.d.cts +2 -2
- package/dist/lib/cjs/obsidian/setting-components/value-component-with-change-tracking.cjs +11 -15
- package/dist/lib/cjs/obsidian/setting-components/week-component.cjs +14 -18
- package/dist/lib/cjs/obsidian/setting-components/week-component.d.cts +2 -2
- package/dist/lib/cjs/obsidian/setting-ex.cjs +76 -80
- package/dist/lib/cjs/obsidian/setting-ex.d.cts +42 -42
- package/dist/lib/cjs/obsidian/setting-group-ex.cjs +14 -18
- package/dist/lib/cjs/obsidian/setting-group-ex.d.cts +2 -2
- package/dist/lib/cjs/obsidian/status-bar-item-registrar.cjs +11 -15
- package/dist/lib/cjs/obsidian/validation.cjs +11 -15
- package/dist/lib/cjs/obsidian/vault-delete.cjs +23 -20
- package/dist/lib/cjs/obsidian/vault-delete.d.cts +16 -2
- package/dist/lib/cjs/obsidian/vault-transaction.cjs +17 -18
- package/dist/lib/cjs/obsidian/vault.cjs +81 -63
- package/dist/lib/cjs/obsidian/vault.d.cts +32 -11
- package/dist/lib/cjs/obsidian/view-registrar.cjs +11 -15
- package/dist/lib/cjs/obsidian/workspace.cjs +12 -16
- package/dist/lib/cjs/obsidian-dev-utils-state.cjs +11 -15
- package/dist/lib/cjs/path.cjs +18 -22
- package/dist/lib/cjs/path.d.cts +1 -1
- package/dist/lib/cjs/reg-exp.cjs +38 -35
- package/dist/lib/cjs/reg-exp.d.cts +4 -4
- package/dist/lib/cjs/script-utils/build.cjs +21 -25
- package/dist/lib/cjs/script-utils/build.d.cts +1 -1
- package/dist/lib/cjs/script-utils/bundlers/esbuild-impl/change-extension-plugin.cjs +24 -28
- package/dist/lib/cjs/script-utils/bundlers/esbuild-impl/copy-to-obsidian-plugins-folder-plugin.cjs +36 -34
- package/dist/lib/cjs/script-utils/bundlers/esbuild-impl/custom-esbuild-options-plugin.cjs +11 -15
- package/dist/lib/cjs/script-utils/bundlers/esbuild-impl/dependency.cjs +20 -24
- package/dist/lib/cjs/script-utils/bundlers/esbuild-impl/fix-esm-plugin.cjs +13 -17
- package/dist/lib/cjs/script-utils/bundlers/esbuild-impl/fix-source-maps-plugin.cjs +16 -20
- package/dist/lib/cjs/script-utils/bundlers/esbuild-impl/index.cjs +11 -15
- package/dist/lib/cjs/script-utils/bundlers/esbuild-impl/obsidian-plugin-builder.cjs +11 -15
- package/dist/lib/cjs/script-utils/bundlers/esbuild-impl/obsidian-plugin-builder.d.cts +6 -2
- package/dist/lib/cjs/script-utils/bundlers/esbuild-impl/preprocess-plugin.cjs +32 -36
- package/dist/lib/cjs/script-utils/bundlers/esbuild-impl/rename-css-plugin.cjs +11 -15
- package/dist/lib/cjs/script-utils/bundlers/esbuild-impl/svelte-wrapper-plugin.cjs +11 -15
- package/dist/lib/cjs/script-utils/bundlers/esbuild.cjs +11 -15
- package/dist/lib/cjs/script-utils/bundlers/index.cjs +11 -15
- package/dist/lib/cjs/script-utils/check-project-types.cjs +13 -17
- package/dist/lib/cjs/script-utils/check-project-types.d.cts +12 -4
- package/dist/lib/cjs/script-utils/cli-utils.cjs +39 -47
- package/dist/lib/cjs/script-utils/cli-utils.d.cts +6 -6
- package/dist/lib/cjs/script-utils/code-generator.cjs +11 -15
- package/dist/lib/cjs/script-utils/commitlint-config.cjs +11 -15
- package/dist/lib/cjs/script-utils/demo-vault-coverage.cjs +22 -23
- package/dist/lib/cjs/script-utils/demo-vault.cjs +11 -15
- package/dist/lib/cjs/script-utils/env-toggle.cjs +13 -17
- package/dist/lib/cjs/script-utils/exec.cjs +40 -44
- package/dist/lib/cjs/script-utils/exec.d.cts +4 -4
- package/dist/lib/cjs/script-utils/formatters/dprint.cjs +12 -16
- package/dist/lib/cjs/script-utils/formatters/index.cjs +11 -15
- package/dist/lib/cjs/script-utils/fs.cjs +13 -17
- package/dist/lib/cjs/script-utils/git.cjs +11 -15
- package/dist/lib/cjs/script-utils/index.cjs +11 -15
- package/dist/lib/cjs/script-utils/json.cjs +15 -19
- package/dist/lib/cjs/script-utils/json.d.cts +2 -2
- package/dist/lib/cjs/script-utils/linters/cspell.cjs +12 -16
- package/dist/lib/cjs/script-utils/linters/eslint-agnostic-core-boundary.cjs +11 -15
- package/dist/lib/cjs/script-utils/linters/eslint-config.cjs +402 -16
- package/dist/lib/cjs/script-utils/linters/eslint-no-restricted-syntax.cjs +11 -15
- package/dist/lib/cjs/script-utils/linters/eslint-rules/index.cjs +11 -15
- package/dist/lib/cjs/script-utils/linters/eslint-rules/no-async-callback-to-unsafe-return.cjs +27 -31
- package/dist/lib/cjs/script-utils/linters/eslint-rules/no-async-callback-to-unsafe-return.d.cts +3 -1
- package/dist/lib/cjs/script-utils/linters/eslint-rules/no-unused-params-members.cjs +27 -31
- package/dist/lib/cjs/script-utils/linters/eslint-rules/no-unused-params-members.d.cts +3 -1
- package/dist/lib/cjs/script-utils/linters/eslint-rules/no-used-underscore-variables.cjs +21 -25
- package/dist/lib/cjs/script-utils/linters/eslint-rules/no-used-underscore-variables.d.cts +3 -1
- package/dist/lib/cjs/script-utils/linters/eslint-rules/obsidian-dev-utils-plugin.cjs +11 -15
- package/dist/lib/cjs/script-utils/linters/eslint-rules/params-options-name-match.cjs +109 -113
- package/dist/lib/cjs/script-utils/linters/eslint-rules/params-options-name-match.d.cts +3 -1
- package/dist/lib/cjs/script-utils/linters/eslint-rules/prefer-noop-async.cjs +13 -17
- package/dist/lib/cjs/script-utils/linters/eslint-rules/prefer-noop-async.d.cts +3 -1
- package/dist/lib/cjs/script-utils/linters/eslint-rules/readonly-params-options-result-members.cjs +21 -25
- package/dist/lib/cjs/script-utils/linters/eslint-rules/readonly-params-options-result-members.d.cts +3 -1
- package/dist/lib/cjs/script-utils/linters/eslint-rules/require-component-suffix.cjs +51 -55
- package/dist/lib/cjs/script-utils/linters/eslint-rules/require-component-suffix.d.cts +9 -3
- package/dist/lib/cjs/script-utils/linters/eslint-rules/require-method-template.cjs +25 -27
- package/dist/lib/cjs/script-utils/linters/eslint-rules/require-method-template.d.cts +6 -2
- package/dist/lib/cjs/script-utils/linters/eslint-rules/require-super-call.cjs +33 -37
- package/dist/lib/cjs/script-utils/linters/eslint-rules/require-super-call.d.cts +3 -1
- package/dist/lib/cjs/script-utils/linters/eslint-rules/rule-tester-helper.cjs +11 -15
- package/dist/lib/cjs/script-utils/linters/eslint.cjs +14 -18
- package/dist/lib/cjs/script-utils/linters/index.cjs +14 -15
- package/dist/lib/cjs/script-utils/linters/index.d.cts +1 -0
- package/dist/lib/cjs/script-utils/linters/markdownlint-cli2-config.cjs +18 -17
- package/dist/lib/cjs/script-utils/linters/markdownlint-cli2-config.d.cts +2 -2
- package/dist/lib/cjs/script-utils/linters/markdownlint-ignores.cjs +138 -0
- package/dist/lib/cjs/script-utils/linters/markdownlint-ignores.d.cts +35 -0
- package/dist/lib/cjs/script-utils/linters/markdownlint.cjs +20 -23
- package/dist/lib/cjs/script-utils/linters/over-exposure.cjs +18 -22
- package/dist/lib/cjs/script-utils/linters/over-exposure.d.cts +54 -18
- package/dist/lib/cjs/script-utils/nano-staged-config.cjs +11 -15
- package/dist/lib/cjs/script-utils/npm-publish.cjs +11 -15
- package/dist/lib/cjs/script-utils/npm-run.cjs +20 -17
- package/dist/lib/cjs/script-utils/npm-run.d.cts +16 -2
- package/dist/lib/cjs/script-utils/npm.cjs +21 -25
- package/dist/lib/cjs/script-utils/npm.d.cts +11 -11
- package/dist/lib/cjs/script-utils/obsidian-dev-utils-repo-paths.cjs +11 -15
- package/dist/lib/cjs/script-utils/obsidian-dev-utils-repo-paths.d.cts +165 -55
- package/dist/lib/cjs/script-utils/root.cjs +11 -15
- package/dist/lib/cjs/script-utils/test-runners/index.cjs +16 -17
- package/dist/lib/cjs/script-utils/test-runners/index.d.cts +1 -0
- package/dist/lib/cjs/script-utils/test-runners/integration-test-plugin.cjs +11 -15
- package/dist/lib/cjs/script-utils/test-runners/vitest-config.cjs +325 -0
- package/dist/lib/cjs/script-utils/test-runners/vitest-config.d.cts +118 -0
- package/dist/lib/cjs/script-utils/test-runners/vitest.cjs +11 -15
- package/dist/lib/cjs/script-utils/validate-declarations.cjs +11 -15
- package/dist/lib/cjs/script-utils/version.cjs +62 -63
- package/dist/lib/cjs/script-utils/version.d.cts +21 -21
- package/dist/lib/cjs/script-utils/warnings-as-errors.cjs +11 -15
- package/dist/lib/cjs/setup.cjs +11 -15
- package/dist/lib/cjs/setup.d.cts +1 -1
- package/dist/lib/cjs/strict-proxy.cjs +30 -34
- package/dist/lib/cjs/strict-proxy.d.cts +2 -2
- package/dist/lib/cjs/string.cjs +90 -93
- package/dist/lib/cjs/string.d.cts +60 -60
- package/dist/lib/cjs/transformers/date-transformer.cjs +11 -15
- package/dist/lib/cjs/transformers/duration-transformer.cjs +11 -15
- package/dist/lib/cjs/transformers/group-transformer.cjs +11 -15
- package/dist/lib/cjs/transformers/index.cjs +11 -15
- package/dist/lib/cjs/transformers/map-transformer.cjs +12 -16
- package/dist/lib/cjs/transformers/set-transformer.cjs +12 -16
- package/dist/lib/cjs/transformers/skip-private-property-transformer.cjs +11 -15
- package/dist/lib/cjs/transformers/transformer.cjs +11 -15
- package/dist/lib/cjs/transformers/two-way-map-transformer.cjs +12 -16
- package/dist/lib/cjs/transformers/typed-transformer.cjs +11 -15
- package/dist/lib/cjs/two-way-map.cjs +11 -15
- package/dist/lib/cjs/type-guards.cjs +16 -20
- package/dist/lib/cjs/type-guards.d.cts +6 -6
- package/dist/lib/cjs/type.cjs +13 -17
- package/dist/lib/cjs/type.d.cts +2 -2
- package/dist/lib/cjs/url.cjs +18 -22
- package/dist/lib/cjs/url.d.cts +4 -4
- package/dist/lib/cjs/value-provider.cjs +15 -19
- package/dist/lib/cjs/value-provider.d.cts +6 -6
- package/dist/lib/cjs/value-wrapper.cjs +11 -15
- package/dist/lib/cjs/vitest-setup.cjs +11 -15
- package/dist/lib/esm/__merged.d.mts +12 -10
- package/dist/lib/esm/__merged.mjs +51 -23
- package/dist/lib/esm/abort-controller.mjs +5 -8
- package/dist/lib/esm/array.d.mts +25 -7
- package/dist/lib/esm/array.mjs +16 -12
- package/dist/lib/esm/async-events.d.mts +50 -50
- package/dist/lib/esm/async-events.mjs +81 -78
- package/dist/lib/esm/async.d.mts +23 -23
- package/dist/lib/esm/async.mjs +70 -66
- package/dist/lib/esm/blob.mjs +4 -11
- package/dist/lib/esm/debug.d.mts +1 -1
- package/dist/lib/esm/debug.mjs +14 -18
- package/dist/lib/esm/disposable.d.mts +27 -8
- package/dist/lib/esm/disposable.mjs +47 -29
- package/dist/lib/esm/error.mjs +18 -19
- package/dist/lib/esm/function.d.mts +26 -26
- package/dist/lib/esm/function.mjs +20 -20
- package/dist/lib/esm/generated-during-build.mjs +1 -1
- package/dist/lib/esm/html-element.d.mts +15 -15
- package/dist/lib/esm/html-element.mjs +74 -75
- package/dist/lib/esm/object-utils.d.mts +27 -27
- package/dist/lib/esm/object-utils.mjs +109 -102
- package/dist/lib/esm/obsidian/@types/dataview/data-model/value.d.mts +1 -1
- package/dist/lib/esm/obsidian/@types/dataview/expression/field.d.mts +1 -1
- package/dist/lib/esm/obsidian/@types/dataview/expression/functions.d.mts +4 -4
- package/dist/lib/esm/obsidian/app.mjs +1 -1
- package/dist/lib/esm/obsidian/async-with-notice.d.mts +2 -2
- package/dist/lib/esm/obsidian/async-with-notice.mjs +18 -18
- package/dist/lib/esm/obsidian/attachment-path.d.mts +5 -5
- package/dist/lib/esm/obsidian/attachment-path.mjs +10 -10
- package/dist/lib/esm/obsidian/backlink.mjs +2 -2
- package/dist/lib/esm/obsidian/callout.d.mts +9 -3
- package/dist/lib/esm/obsidian/callout.mjs +17 -12
- package/dist/lib/esm/obsidian/canvas.mjs +3 -2
- package/dist/lib/esm/obsidian/case-insensitive-file-index.mjs +8 -6
- package/dist/lib/esm/obsidian/code-block-markdown-information.d.mts +2 -2
- package/dist/lib/esm/obsidian/command-handlers/abstract-file-command-handler.d.mts +5 -0
- package/dist/lib/esm/obsidian/command-handlers/abstract-file-command-handler.mjs +8 -2
- package/dist/lib/esm/obsidian/command-handlers/command-handler-component.d.mts +42 -8
- package/dist/lib/esm/obsidian/command-handlers/command-handler-component.mjs +46 -17
- package/dist/lib/esm/obsidian/command-handlers/command-handler.d.mts +10 -0
- package/dist/lib/esm/obsidian/command-handlers/command-handler.mjs +1 -1
- package/dist/lib/esm/obsidian/command-handlers/editor-command-handler.d.mts +8 -8
- package/dist/lib/esm/obsidian/command-handlers/editor-command-handler.mjs +16 -16
- package/dist/lib/esm/obsidian/command-handlers/file-command-handler.mjs +2 -2
- package/dist/lib/esm/obsidian/command-handlers/folder-command-handler.mjs +2 -2
- package/dist/lib/esm/obsidian/command-handlers/global-command-handler.mjs +3 -3
- package/dist/lib/esm/obsidian/community-plugins.d.mts +19 -5
- package/dist/lib/esm/obsidian/community-plugins.mjs +17 -11
- package/dist/lib/esm/obsidian/components/all-windows-event-component.d.mts +4 -4
- package/dist/lib/esm/obsidian/components/all-windows-event-component.mjs +1 -1
- package/dist/lib/esm/obsidian/components/async-error-handler-component.mjs +3 -2
- package/dist/lib/esm/obsidian/components/component-ex.d.mts +3 -3
- package/dist/lib/esm/obsidian/components/component-ex.mjs +16 -14
- package/dist/lib/esm/obsidian/components/console-debug-component.d.mts +2 -2
- package/dist/lib/esm/obsidian/components/console-debug-component.mjs +4 -4
- package/dist/lib/esm/obsidian/components/index.d.mts +1 -0
- package/dist/lib/esm/obsidian/components/index.mjs +3 -1
- package/dist/lib/esm/obsidian/components/menu-event-registrar-component.mjs +5 -5
- package/dist/lib/esm/obsidian/components/monkey-around-component.d.mts +55 -55
- package/dist/lib/esm/obsidian/components/monkey-around-component.mjs +19 -19
- package/dist/lib/esm/obsidian/components/notebook-navigator-menu-event-registrar-component.d.mts +139 -0
- package/dist/lib/esm/obsidian/components/notebook-navigator-menu-event-registrar-component.mjs +196 -0
- package/dist/lib/esm/obsidian/components/plugin-notice-component.mjs +18 -17
- package/dist/lib/esm/obsidian/components/plugin-settings-component.d.mts +8 -8
- package/dist/lib/esm/obsidian/components/plugin-settings-component.mjs +18 -18
- package/dist/lib/esm/obsidian/components/pointer-position-component.mjs +3 -3
- package/dist/lib/esm/obsidian/components/rename-delete-handler-component.d.mts +12 -1
- package/dist/lib/esm/obsidian/components/rename-delete-handler-component.mjs +62 -48
- package/dist/lib/esm/obsidian/components/syntax-highlighting-component.d.mts +8 -8
- package/dist/lib/esm/obsidian/components/syntax-highlighting-component.mjs +6 -6
- package/dist/lib/esm/obsidian/constructors/get-dom-events-handlers-constructor.mjs +4 -4
- package/dist/lib/esm/obsidian/data-handler.mjs +1 -1
- package/dist/lib/esm/obsidian/dataview-link.mjs +3 -3
- package/dist/lib/esm/obsidian/dataview.d.mts +2 -2
- package/dist/lib/esm/obsidian/dataview.mjs +25 -27
- package/dist/lib/esm/obsidian/demo-vault-helper.mjs +4 -3
- package/dist/lib/esm/obsidian/desktop-demo-vault-opener.mjs +12 -12
- package/dist/lib/esm/obsidian/desktop-trusted-input.mjs +13 -7
- package/dist/lib/esm/obsidian/editor.mjs +7 -5
- package/dist/lib/esm/obsidian/events.d.mts +2 -2
- package/dist/lib/esm/obsidian/events.mjs +2 -2
- package/dist/lib/esm/obsidian/file-change.d.mts +3 -3
- package/dist/lib/esm/obsidian/file-change.mjs +67 -67
- package/dist/lib/esm/obsidian/file-manager.d.mts +20 -1
- package/dist/lib/esm/obsidian/file-manager.mjs +22 -8
- package/dist/lib/esm/obsidian/file-system.d.mts +3 -3
- package/dist/lib/esm/obsidian/file-system.mjs +4 -4
- package/dist/lib/esm/obsidian/frontmatter.mjs +5 -5
- package/dist/lib/esm/obsidian/html-element.d.mts +2 -2
- package/dist/lib/esm/obsidian/html-element.mjs +3 -3
- package/dist/lib/esm/obsidian/i18n/i18n.d.mts +7 -0
- package/dist/lib/esm/obsidian/i18n/i18n.mjs +3 -2
- package/dist/lib/esm/obsidian/index.d.mts +1 -0
- package/dist/lib/esm/obsidian/index.mjs +3 -1
- package/dist/lib/esm/obsidian/link.d.mts +22 -22
- package/dist/lib/esm/obsidian/link.mjs +76 -62
- package/dist/lib/esm/obsidian/logger.d.mts +5 -5
- package/dist/lib/esm/obsidian/logger.mjs +11 -11
- package/dist/lib/esm/obsidian/loop.d.mts +1 -1
- package/dist/lib/esm/obsidian/loop.mjs +4 -4
- package/dist/lib/esm/obsidian/markdown-code-block-processor-registrar.d.mts +3 -3
- package/dist/lib/esm/obsidian/markdown-code-block-processor-registrar.mjs +2 -2
- package/dist/lib/esm/obsidian/markdown-code-block-processor.d.mts +3 -3
- package/dist/lib/esm/obsidian/markdown-code-block-processor.mjs +25 -26
- package/dist/lib/esm/obsidian/markdown-post-processor-registrar.d.mts +3 -3
- package/dist/lib/esm/obsidian/markdown-post-processor-registrar.mjs +2 -2
- package/dist/lib/esm/obsidian/markdown.mjs +12 -10
- package/dist/lib/esm/obsidian/menu-event-registrar.d.mts +1 -1
- package/dist/lib/esm/obsidian/metadata-cache.d.mts +2 -2
- package/dist/lib/esm/obsidian/metadata-cache.mjs +6 -6
- package/dist/lib/esm/obsidian/modals/confirm.mjs +1 -1
- package/dist/lib/esm/obsidian/modals/minimizable-modal.mjs +18 -18
- package/dist/lib/esm/obsidian/modals/select-item.d.mts +1 -1
- package/dist/lib/esm/obsidian/modals/select-item.mjs +6 -6
- package/dist/lib/esm/obsidian/modals/suggest-modal-command-builder.d.mts +5 -5
- package/dist/lib/esm/obsidian/modals/suggest-modal-command-builder.mjs +16 -14
- package/dist/lib/esm/obsidian/notebook-navigator.d.mts +132 -0
- package/dist/lib/esm/obsidian/notebook-navigator.mjs +49 -0
- package/dist/lib/esm/obsidian/parse-link.d.mts +4 -4
- package/dist/lib/esm/obsidian/parse-link.mjs +51 -48
- package/dist/lib/esm/obsidian/path-settings.mjs +17 -11
- package/dist/lib/esm/obsidian/pdf.d.mts +2 -2
- package/dist/lib/esm/obsidian/pdf.mjs +3 -3
- package/dist/lib/esm/obsidian/plugin/obsidian-plugin-repo-paths.d.mts +156 -52
- package/dist/lib/esm/obsidian/plugin/obsidian-plugin-repo-paths.mjs +1 -1
- package/dist/lib/esm/obsidian/plugin/plugin-context.d.mts +2 -2
- package/dist/lib/esm/obsidian/plugin/plugin-context.mjs +7 -7
- package/dist/lib/esm/obsidian/plugin/plugin-event-source.d.mts +11 -9
- package/dist/lib/esm/obsidian/plugin/plugin-event-source.mjs +10 -10
- package/dist/lib/esm/obsidian/plugin/plugin-settings-tab.mjs +20 -20
- package/dist/lib/esm/obsidian/plugin/plugin.d.mts +11 -1
- package/dist/lib/esm/obsidian/plugin/plugin.mjs +23 -2
- package/dist/lib/esm/obsidian/popovers/popover-anchor.d.mts +2 -2
- package/dist/lib/esm/obsidian/popovers/popover-anchor.mjs +4 -4
- package/dist/lib/esm/obsidian/popovers/popover.mjs +9 -9
- package/dist/lib/esm/obsidian/queue.d.mts +2 -2
- package/dist/lib/esm/obsidian/queue.mjs +6 -6
- package/dist/lib/esm/obsidian/resource-lock.d.mts +5 -0
- package/dist/lib/esm/obsidian/resource-lock.mjs +147 -64
- package/dist/lib/esm/obsidian/resource-url.mjs +2 -2
- package/dist/lib/esm/obsidian/ribbon-icon-registrar.d.mts +2 -2
- package/dist/lib/esm/obsidian/ribbon-icon-registrar.mjs +1 -1
- package/dist/lib/esm/obsidian/setting-components/checkbox-component.d.mts +5 -5
- package/dist/lib/esm/obsidian/setting-components/checkbox-component.mjs +8 -8
- package/dist/lib/esm/obsidian/setting-components/code-highlighter-component.d.mts +2 -2
- package/dist/lib/esm/obsidian/setting-components/code-highlighter-component.mjs +18 -17
- package/dist/lib/esm/obsidian/setting-components/date-component.d.mts +2 -2
- package/dist/lib/esm/obsidian/setting-components/date-component.mjs +4 -4
- package/dist/lib/esm/obsidian/setting-components/date-time-component.d.mts +2 -2
- package/dist/lib/esm/obsidian/setting-components/date-time-component.mjs +4 -4
- package/dist/lib/esm/obsidian/setting-components/email-component.d.mts +2 -2
- package/dist/lib/esm/obsidian/setting-components/email-component.mjs +4 -4
- package/dist/lib/esm/obsidian/setting-components/month-component.d.mts +2 -2
- package/dist/lib/esm/obsidian/setting-components/month-component.mjs +4 -4
- package/dist/lib/esm/obsidian/setting-components/multiple-dropdown-component.d.mts +2 -2
- package/dist/lib/esm/obsidian/setting-components/multiple-dropdown-component.mjs +7 -7
- package/dist/lib/esm/obsidian/setting-components/multiple-email-component.d.mts +2 -2
- package/dist/lib/esm/obsidian/setting-components/multiple-email-component.mjs +4 -4
- package/dist/lib/esm/obsidian/setting-components/multiple-file-component.mjs +2 -2
- package/dist/lib/esm/obsidian/setting-components/multiple-text-component.d.mts +2 -2
- package/dist/lib/esm/obsidian/setting-components/multiple-text-component.mjs +5 -5
- package/dist/lib/esm/obsidian/setting-components/number-component.d.mts +2 -2
- package/dist/lib/esm/obsidian/setting-components/number-component.mjs +4 -4
- package/dist/lib/esm/obsidian/setting-components/password-component.d.mts +2 -2
- package/dist/lib/esm/obsidian/setting-components/password-component.mjs +4 -4
- package/dist/lib/esm/obsidian/setting-components/setting-component-wrapper.d.mts +2 -2
- package/dist/lib/esm/obsidian/setting-components/setting-component-wrapper.mjs +6 -6
- package/dist/lib/esm/obsidian/setting-components/telephone-component.d.mts +2 -2
- package/dist/lib/esm/obsidian/setting-components/telephone-component.mjs +4 -4
- package/dist/lib/esm/obsidian/setting-components/text-based-component.d.mts +2 -2
- package/dist/lib/esm/obsidian/setting-components/text-based-component.mjs +6 -6
- package/dist/lib/esm/obsidian/setting-components/time-component.d.mts +2 -2
- package/dist/lib/esm/obsidian/setting-components/time-component.mjs +4 -4
- package/dist/lib/esm/obsidian/setting-components/tri-state-checkbox-component.d.mts +2 -2
- package/dist/lib/esm/obsidian/setting-components/tri-state-checkbox-component.mjs +5 -5
- package/dist/lib/esm/obsidian/setting-components/typed-dropdown-component.d.mts +2 -2
- package/dist/lib/esm/obsidian/setting-components/typed-dropdown-component.mjs +6 -6
- package/dist/lib/esm/obsidian/setting-components/typed-multiple-dropdown-component.d.mts +2 -2
- package/dist/lib/esm/obsidian/setting-components/typed-multiple-dropdown-component.mjs +8 -8
- package/dist/lib/esm/obsidian/setting-components/typed-text-component.d.mts +4 -4
- package/dist/lib/esm/obsidian/setting-components/typed-text-component.mjs +6 -5
- package/dist/lib/esm/obsidian/setting-components/url-component.d.mts +2 -2
- package/dist/lib/esm/obsidian/setting-components/url-component.mjs +4 -4
- package/dist/lib/esm/obsidian/setting-components/validator-component.d.mts +2 -2
- package/dist/lib/esm/obsidian/setting-components/validator-component.mjs +35 -35
- package/dist/lib/esm/obsidian/setting-components/week-component.d.mts +2 -2
- package/dist/lib/esm/obsidian/setting-components/week-component.mjs +4 -4
- package/dist/lib/esm/obsidian/setting-ex.d.mts +42 -42
- package/dist/lib/esm/obsidian/setting-ex.mjs +66 -66
- package/dist/lib/esm/obsidian/setting-group-ex.d.mts +2 -2
- package/dist/lib/esm/obsidian/setting-group-ex.mjs +4 -4
- package/dist/lib/esm/obsidian/vault-delete.d.mts +16 -2
- package/dist/lib/esm/obsidian/vault-delete.mjs +12 -6
- package/dist/lib/esm/obsidian/vault-transaction.mjs +8 -4
- package/dist/lib/esm/obsidian/vault.d.mts +32 -11
- package/dist/lib/esm/obsidian/vault.mjs +67 -47
- package/dist/lib/esm/obsidian/view-registrar.mjs +1 -1
- package/dist/lib/esm/obsidian/workspace.mjs +2 -2
- package/dist/lib/esm/path.d.mts +1 -1
- package/dist/lib/esm/path.mjs +7 -7
- package/dist/lib/esm/reg-exp.d.mts +4 -4
- package/dist/lib/esm/reg-exp.mjs +28 -21
- package/dist/lib/esm/script-utils/build.d.mts +1 -1
- package/dist/lib/esm/script-utils/build.mjs +15 -12
- package/dist/lib/esm/script-utils/bundlers/esbuild-impl/change-extension-plugin.mjs +14 -14
- package/dist/lib/esm/script-utils/bundlers/esbuild-impl/copy-to-obsidian-plugins-folder-plugin.mjs +26 -20
- package/dist/lib/esm/script-utils/bundlers/esbuild-impl/dependency.mjs +10 -10
- package/dist/lib/esm/script-utils/bundlers/esbuild-impl/fix-esm-plugin.mjs +3 -3
- package/dist/lib/esm/script-utils/bundlers/esbuild-impl/fix-source-maps-plugin.mjs +6 -6
- package/dist/lib/esm/script-utils/bundlers/esbuild-impl/obsidian-plugin-builder.d.mts +6 -2
- package/dist/lib/esm/script-utils/bundlers/esbuild-impl/obsidian-plugin-builder.mjs +1 -1
- package/dist/lib/esm/script-utils/bundlers/esbuild-impl/preprocess-plugin.mjs +20 -20
- package/dist/lib/esm/script-utils/check-project-types.d.mts +12 -4
- package/dist/lib/esm/script-utils/check-project-types.mjs +3 -3
- package/dist/lib/esm/script-utils/cli-utils.d.mts +6 -6
- package/dist/lib/esm/script-utils/cli-utils.mjs +29 -33
- package/dist/lib/esm/script-utils/demo-vault-coverage.mjs +12 -9
- package/dist/lib/esm/script-utils/env-toggle.mjs +3 -3
- package/dist/lib/esm/script-utils/exec.d.mts +4 -4
- package/dist/lib/esm/script-utils/exec.mjs +32 -32
- package/dist/lib/esm/script-utils/formatters/dprint.mjs +2 -2
- package/dist/lib/esm/script-utils/fs.mjs +3 -3
- package/dist/lib/esm/script-utils/json.d.mts +2 -2
- package/dist/lib/esm/script-utils/json.mjs +5 -5
- package/dist/lib/esm/script-utils/linters/cspell.mjs +2 -2
- package/dist/lib/esm/script-utils/linters/eslint-config.mjs +392 -2
- package/dist/lib/esm/script-utils/linters/eslint-rules/no-async-callback-to-unsafe-return.d.mts +3 -1
- package/dist/lib/esm/script-utils/linters/eslint-rules/no-async-callback-to-unsafe-return.mjs +17 -17
- package/dist/lib/esm/script-utils/linters/eslint-rules/no-unused-params-members.d.mts +3 -1
- package/dist/lib/esm/script-utils/linters/eslint-rules/no-unused-params-members.mjs +17 -17
- package/dist/lib/esm/script-utils/linters/eslint-rules/no-used-underscore-variables.d.mts +3 -1
- package/dist/lib/esm/script-utils/linters/eslint-rules/no-used-underscore-variables.mjs +11 -11
- package/dist/lib/esm/script-utils/linters/eslint-rules/params-options-name-match.d.mts +3 -1
- package/dist/lib/esm/script-utils/linters/eslint-rules/params-options-name-match.mjs +99 -99
- package/dist/lib/esm/script-utils/linters/eslint-rules/prefer-noop-async.d.mts +3 -1
- package/dist/lib/esm/script-utils/linters/eslint-rules/prefer-noop-async.mjs +3 -3
- package/dist/lib/esm/script-utils/linters/eslint-rules/readonly-params-options-result-members.d.mts +3 -1
- package/dist/lib/esm/script-utils/linters/eslint-rules/readonly-params-options-result-members.mjs +11 -11
- package/dist/lib/esm/script-utils/linters/eslint-rules/require-component-suffix.d.mts +9 -3
- package/dist/lib/esm/script-utils/linters/eslint-rules/require-component-suffix.mjs +41 -41
- package/dist/lib/esm/script-utils/linters/eslint-rules/require-method-template.d.mts +6 -2
- package/dist/lib/esm/script-utils/linters/eslint-rules/require-method-template.mjs +15 -13
- package/dist/lib/esm/script-utils/linters/eslint-rules/require-super-call.d.mts +3 -1
- package/dist/lib/esm/script-utils/linters/eslint-rules/require-super-call.mjs +23 -23
- package/dist/lib/esm/script-utils/linters/eslint.mjs +4 -4
- package/dist/lib/esm/script-utils/linters/index.d.mts +1 -0
- package/dist/lib/esm/script-utils/linters/index.mjs +3 -1
- package/dist/lib/esm/script-utils/linters/markdownlint-cli2-config.d.mts +2 -2
- package/dist/lib/esm/script-utils/linters/markdownlint-cli2-config.mjs +8 -3
- package/dist/lib/esm/script-utils/linters/markdownlint-ignores.d.mts +35 -0
- package/dist/lib/esm/script-utils/linters/markdownlint-ignores.mjs +33 -0
- package/dist/lib/esm/script-utils/linters/markdownlint.mjs +13 -9
- package/dist/lib/esm/script-utils/linters/over-exposure.d.mts +54 -18
- package/dist/lib/esm/script-utils/linters/over-exposure.mjs +8 -8
- package/dist/lib/esm/script-utils/npm-run.d.mts +16 -2
- package/dist/lib/esm/script-utils/npm-run.mjs +9 -3
- package/dist/lib/esm/script-utils/npm.d.mts +11 -11
- package/dist/lib/esm/script-utils/npm.mjs +11 -11
- package/dist/lib/esm/script-utils/obsidian-dev-utils-repo-paths.d.mts +165 -55
- package/dist/lib/esm/script-utils/obsidian-dev-utils-repo-paths.mjs +1 -1
- package/dist/lib/esm/script-utils/test-runners/index.d.mts +1 -0
- package/dist/lib/esm/script-utils/test-runners/index.mjs +4 -2
- package/dist/lib/esm/script-utils/test-runners/vitest-config.d.mts +118 -0
- package/dist/lib/esm/script-utils/test-runners/vitest-config.mjs +210 -0
- package/dist/lib/esm/script-utils/validate-declarations.mjs +1 -1
- package/dist/lib/esm/script-utils/version.d.mts +21 -21
- package/dist/lib/esm/script-utils/version.mjs +48 -45
- package/dist/lib/esm/setup.d.mts +1 -1
- package/dist/lib/esm/setup.mjs +1 -1
- package/dist/lib/esm/strict-proxy.d.mts +2 -2
- package/dist/lib/esm/strict-proxy.mjs +20 -20
- package/dist/lib/esm/string.d.mts +60 -60
- package/dist/lib/esm/string.mjs +80 -79
- package/dist/lib/esm/transformers/map-transformer.mjs +2 -2
- package/dist/lib/esm/transformers/set-transformer.mjs +2 -2
- package/dist/lib/esm/transformers/two-way-map-transformer.mjs +2 -2
- package/dist/lib/esm/type-guards.d.mts +6 -6
- package/dist/lib/esm/type-guards.mjs +6 -6
- package/dist/lib/esm/type.d.mts +2 -2
- package/dist/lib/esm/type.mjs +3 -3
- package/dist/lib/esm/url.d.mts +4 -4
- package/dist/lib/esm/url.mjs +8 -8
- package/dist/lib/esm/value-provider.d.mts +6 -6
- package/dist/lib/esm/value-provider.mjs +5 -5
- package/dist/templates/scripts/vitest-config.ts +2 -88
- package/obsidian/components/notebook-navigator-menu-event-registrar-component/package.json +6 -0
- package/obsidian/notebook-navigator/package.json +6 -0
- package/package.json +17 -33
- package/script-utils/linters/markdownlint-ignores/package.json +6 -0
- package/script-utils/test-runners/vitest-config/package.json +6 -0
package/dist/lib/esm/obsidian/components/notebook-navigator-menu-event-registrar-component.d.mts
ADDED
|
@@ -0,0 +1,139 @@
|
|
|
1
|
+
/// <reference path="../../library.d.mts" />
|
|
2
|
+
/**
|
|
3
|
+
* @file
|
|
4
|
+
*
|
|
5
|
+
* Bridges the file and files context-menu events into Notebook Navigator's own menus.
|
|
6
|
+
*
|
|
7
|
+
* Notebook Navigator draws its own file tree and never raises Obsidian's `file-menu` / `files-menu`
|
|
8
|
+
* workspace events, so a plugin's context-menu items vanish for anyone browsing through it. This
|
|
9
|
+
* component is a {@link MenuEventRegistrar} backed by Notebook Navigator's extension API instead of
|
|
10
|
+
* the workspace, so the very same handlers reach both surfaces.
|
|
11
|
+
*/
|
|
12
|
+
import type { App, IconName } from 'obsidian';
|
|
13
|
+
import type { DisposableEx } from '../../disposable.mjs';
|
|
14
|
+
import type { EditorMenuEventHandler, FileMenuEventHandler, FilesMenuEventHandler, MenuEventRegistrar } from '../menu-event-registrar.mjs';
|
|
15
|
+
import { LayoutReadyComponent } from './layout-ready-component.mjs';
|
|
16
|
+
/**
|
|
17
|
+
* Parameters for {@link NotebookNavigatorMenuEventRegistrarComponent}.
|
|
18
|
+
*/
|
|
19
|
+
export interface NotebookNavigatorMenuEventRegistrarComponentConstructorParams {
|
|
20
|
+
/**
|
|
21
|
+
* The application instance.
|
|
22
|
+
*/
|
|
23
|
+
readonly app: App;
|
|
24
|
+
/**
|
|
25
|
+
* The plugin's display name, which titles the parent entry.
|
|
26
|
+
*/
|
|
27
|
+
readonly pluginName: string;
|
|
28
|
+
/**
|
|
29
|
+
* The icon for the parent entry.
|
|
30
|
+
*
|
|
31
|
+
* @default `''` (no icon)
|
|
32
|
+
*/
|
|
33
|
+
readonly submenuIcon?: IconName | undefined;
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* {@link MenuEventRegistrar} backed by Notebook Navigator's menu-extension API.
|
|
37
|
+
*
|
|
38
|
+
* Handlers registered here are collected eagerly and bound to Notebook Navigator once the workspace
|
|
39
|
+
* layout is ready. When Notebook Navigator is not installed the component simply stays dormant.
|
|
40
|
+
*
|
|
41
|
+
* Every collected handler writes into a plugin-titled parent entry's submenu, so a handler must NOT
|
|
42
|
+
* declare a section submenu of its own — `Menu.sort()` would fold that into a second, nested
|
|
43
|
+
* plugin-titled entry. `CommandHandlerComponent` takes care of this by forcing
|
|
44
|
+
* `CommandHandlerRegistrationContext.shouldAddCommandToSubmenu` off for the surfaces it feeds here.
|
|
45
|
+
*/
|
|
46
|
+
export declare class NotebookNavigatorMenuEventRegistrarComponent extends LayoutReadyComponent implements MenuEventRegistrar {
|
|
47
|
+
/**
|
|
48
|
+
* The plugin's display name, which titles the parent entry.
|
|
49
|
+
*/
|
|
50
|
+
protected readonly pluginName: string;
|
|
51
|
+
/**
|
|
52
|
+
* The icon for the parent entry.
|
|
53
|
+
*/
|
|
54
|
+
protected readonly submenuIcon: IconName;
|
|
55
|
+
private fileMenuEventHandlers;
|
|
56
|
+
private filesMenuEventHandlers;
|
|
57
|
+
/**
|
|
58
|
+
* Creates a new Notebook Navigator menu event registrar.
|
|
59
|
+
*
|
|
60
|
+
* @param params - The parameters for the component.
|
|
61
|
+
*/
|
|
62
|
+
constructor(params: NotebookNavigatorMenuEventRegistrarComponentConstructorParams);
|
|
63
|
+
/**
|
|
64
|
+
* Accepts an editor-menu registration and does nothing with it.
|
|
65
|
+
*
|
|
66
|
+
* Notebook Navigator extends the file tree, not the editor — an editor menu there is Obsidian's
|
|
67
|
+
* own, which the handlers already reach through the workspace event. The registration is inert
|
|
68
|
+
* rather than refused so a handler that declares one is not a load-time error.
|
|
69
|
+
*
|
|
70
|
+
* @param _handler - The handler, deliberately unused.
|
|
71
|
+
* @returns A {@link DisposableEx} that has nothing to undo.
|
|
72
|
+
*/
|
|
73
|
+
registerEditorMenuEventHandler(_handler: EditorMenuEventHandler): DisposableEx;
|
|
74
|
+
/**
|
|
75
|
+
* Collects a single-file menu handler.
|
|
76
|
+
*
|
|
77
|
+
* @param handler - The handler to collect.
|
|
78
|
+
* @returns A {@link DisposableEx} that drops the handler again (or on component unload).
|
|
79
|
+
*/
|
|
80
|
+
registerFileMenuEventHandler(handler: FileMenuEventHandler): DisposableEx;
|
|
81
|
+
/**
|
|
82
|
+
* Collects a multi-file menu handler.
|
|
83
|
+
*
|
|
84
|
+
* @param handler - The handler to collect.
|
|
85
|
+
* @returns A {@link DisposableEx} that drops the handler again (or on component unload).
|
|
86
|
+
*/
|
|
87
|
+
registerFilesMenuEventHandler(handler: FilesMenuEventHandler): DisposableEx;
|
|
88
|
+
/**
|
|
89
|
+
* Binds to Notebook Navigator once every plugin has loaded.
|
|
90
|
+
*
|
|
91
|
+
* Layout-ready rather than `onload`: plugin load order is not ours to choose, and Notebook
|
|
92
|
+
* Navigator's API only exists once its own plugin is up. When it is not installed the component
|
|
93
|
+
* stays dormant — enabling it later takes an Obsidian reload, exactly as it does for anything else
|
|
94
|
+
* that reads another plugin at startup.
|
|
95
|
+
*/
|
|
96
|
+
protected onLayoutReady(): void;
|
|
97
|
+
/**
|
|
98
|
+
* Adds the plugin's entry, unless the handlers had nothing to contribute.
|
|
99
|
+
*
|
|
100
|
+
* The menu is populated TWICE, and both runs are needed: Notebook Navigator's `addItem` cannot be
|
|
101
|
+
* taken back once called, so the only way to keep an unrelated file's menu clean is to ask the
|
|
102
|
+
* handlers first, against a menu nobody sees. The gates they answer with are metadata reads, so the
|
|
103
|
+
* second run costs nothing and cannot disagree with the first.
|
|
104
|
+
*
|
|
105
|
+
* @param context - The Notebook Navigator menu being built.
|
|
106
|
+
* @param populate - Runs the collected handlers against a menu.
|
|
107
|
+
*/
|
|
108
|
+
private contribute;
|
|
109
|
+
/**
|
|
110
|
+
* Handles a file menu, single or multi-selection.
|
|
111
|
+
*
|
|
112
|
+
* @param context - The Notebook Navigator menu being built.
|
|
113
|
+
*/
|
|
114
|
+
private handleFileMenu;
|
|
115
|
+
/**
|
|
116
|
+
* Handles a folder menu.
|
|
117
|
+
*
|
|
118
|
+
* A folder goes through the SINGLE-file handlers, because that is how Obsidian's own `file-menu`
|
|
119
|
+
* carries one — the event is typed {@link TAbstractFile}, and the folder handlers are the ones that
|
|
120
|
+
* narrow it.
|
|
121
|
+
*
|
|
122
|
+
* @param context - The Notebook Navigator menu being built.
|
|
123
|
+
*/
|
|
124
|
+
private handleFolderMenu;
|
|
125
|
+
/**
|
|
126
|
+
* Runs the single-file handlers against a menu.
|
|
127
|
+
*
|
|
128
|
+
* @param menu - The menu to populate.
|
|
129
|
+
* @param abstractFile - The file or folder the menu was raised on.
|
|
130
|
+
*/
|
|
131
|
+
private runFileMenuHandlers;
|
|
132
|
+
/**
|
|
133
|
+
* Runs the multi-file handlers against a menu.
|
|
134
|
+
*
|
|
135
|
+
* @param menu - The menu to populate.
|
|
136
|
+
* @param abstractFiles - The files the menu was raised on.
|
|
137
|
+
*/
|
|
138
|
+
private runFilesMenuHandlers;
|
|
139
|
+
}
|
package/dist/lib/esm/obsidian/components/notebook-navigator-menu-event-registrar-component.mjs
ADDED
|
@@ -0,0 +1,196 @@
|
|
|
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
|
+
|
|
6
|
+
(function initEsm() {
|
|
7
|
+
// eslint-disable-next-line obsidianmd/no-global-this -- Actively use globalThis.
|
|
8
|
+
if (globalThis.process) {
|
|
9
|
+
return;
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
const browserProcess = {
|
|
13
|
+
browser: true,
|
|
14
|
+
cwd() {
|
|
15
|
+
return '/';
|
|
16
|
+
},
|
|
17
|
+
env: {},
|
|
18
|
+
platform: 'android'
|
|
19
|
+
};
|
|
20
|
+
// eslint-disable-next-line obsidianmd/no-global-this -- Actively use globalThis.
|
|
21
|
+
globalThis.process = browserProcess;
|
|
22
|
+
})();
|
|
23
|
+
|
|
24
|
+
import { Menu as MenuImpl } from "obsidian";
|
|
25
|
+
import { CallbackDisposable } from "../../disposable.mjs";
|
|
26
|
+
import { noop } from "../../function.mjs";
|
|
27
|
+
import {
|
|
28
|
+
NOTEBOOK_NAVIGATOR_MENU_SOURCE,
|
|
29
|
+
resolveNotebookNavigatorApi
|
|
30
|
+
} from "../notebook-navigator.mjs";
|
|
31
|
+
import { LayoutReadyComponent } from "./layout-ready-component.mjs";
|
|
32
|
+
class NotebookNavigatorMenuEventRegistrarComponent extends LayoutReadyComponent {
|
|
33
|
+
/**
|
|
34
|
+
* The plugin's display name, which titles the parent entry.
|
|
35
|
+
*/
|
|
36
|
+
pluginName;
|
|
37
|
+
/**
|
|
38
|
+
* The icon for the parent entry.
|
|
39
|
+
*/
|
|
40
|
+
submenuIcon;
|
|
41
|
+
fileMenuEventHandlers = [];
|
|
42
|
+
filesMenuEventHandlers = [];
|
|
43
|
+
/**
|
|
44
|
+
* Creates a new Notebook Navigator menu event registrar.
|
|
45
|
+
*
|
|
46
|
+
* @param params - The parameters for the component.
|
|
47
|
+
*/
|
|
48
|
+
constructor(params) {
|
|
49
|
+
super(params.app);
|
|
50
|
+
this.pluginName = params.pluginName;
|
|
51
|
+
this.submenuIcon = params.submenuIcon ?? "";
|
|
52
|
+
}
|
|
53
|
+
/**
|
|
54
|
+
* Accepts an editor-menu registration and does nothing with it.
|
|
55
|
+
*
|
|
56
|
+
* Notebook Navigator extends the file tree, not the editor — an editor menu there is Obsidian's
|
|
57
|
+
* own, which the handlers already reach through the workspace event. The registration is inert
|
|
58
|
+
* rather than refused so a handler that declares one is not a load-time error.
|
|
59
|
+
*
|
|
60
|
+
* @param _handler - The handler, deliberately unused.
|
|
61
|
+
* @returns A {@link DisposableEx} that has nothing to undo.
|
|
62
|
+
*/
|
|
63
|
+
registerEditorMenuEventHandler(_handler) {
|
|
64
|
+
return new CallbackDisposable({ callback: noop });
|
|
65
|
+
}
|
|
66
|
+
/**
|
|
67
|
+
* Collects a single-file menu handler.
|
|
68
|
+
*
|
|
69
|
+
* @param handler - The handler to collect.
|
|
70
|
+
* @returns A {@link DisposableEx} that drops the handler again (or on component unload).
|
|
71
|
+
*/
|
|
72
|
+
registerFileMenuEventHandler(handler) {
|
|
73
|
+
this.fileMenuEventHandlers.push(handler);
|
|
74
|
+
return this.registerDisposable(
|
|
75
|
+
new CallbackDisposable({
|
|
76
|
+
callback: () => {
|
|
77
|
+
this.fileMenuEventHandlers = this.fileMenuEventHandlers.filter((collected) => collected !== handler);
|
|
78
|
+
}
|
|
79
|
+
})
|
|
80
|
+
);
|
|
81
|
+
}
|
|
82
|
+
/**
|
|
83
|
+
* Collects a multi-file menu handler.
|
|
84
|
+
*
|
|
85
|
+
* @param handler - The handler to collect.
|
|
86
|
+
* @returns A {@link DisposableEx} that drops the handler again (or on component unload).
|
|
87
|
+
*/
|
|
88
|
+
registerFilesMenuEventHandler(handler) {
|
|
89
|
+
this.filesMenuEventHandlers.push(handler);
|
|
90
|
+
return this.registerDisposable(
|
|
91
|
+
new CallbackDisposable({
|
|
92
|
+
callback: () => {
|
|
93
|
+
this.filesMenuEventHandlers = this.filesMenuEventHandlers.filter((collected) => collected !== handler);
|
|
94
|
+
}
|
|
95
|
+
})
|
|
96
|
+
);
|
|
97
|
+
}
|
|
98
|
+
/**
|
|
99
|
+
* Binds to Notebook Navigator once every plugin has loaded.
|
|
100
|
+
*
|
|
101
|
+
* Layout-ready rather than `onload`: plugin load order is not ours to choose, and Notebook
|
|
102
|
+
* Navigator's API only exists once its own plugin is up. When it is not installed the component
|
|
103
|
+
* stays dormant — enabling it later takes an Obsidian reload, exactly as it does for anything else
|
|
104
|
+
* that reads another plugin at startup.
|
|
105
|
+
*/
|
|
106
|
+
onLayoutReady() {
|
|
107
|
+
const api = resolveNotebookNavigatorApi(this.app);
|
|
108
|
+
if (api === null) {
|
|
109
|
+
return;
|
|
110
|
+
}
|
|
111
|
+
this.register(api.menus.registerFileMenu((context) => {
|
|
112
|
+
this.handleFileMenu(context);
|
|
113
|
+
}));
|
|
114
|
+
this.register(api.menus.registerFolderMenu((context) => {
|
|
115
|
+
this.handleFolderMenu(context);
|
|
116
|
+
}));
|
|
117
|
+
}
|
|
118
|
+
/**
|
|
119
|
+
* Adds the plugin's entry, unless the handlers had nothing to contribute.
|
|
120
|
+
*
|
|
121
|
+
* The menu is populated TWICE, and both runs are needed: Notebook Navigator's `addItem` cannot be
|
|
122
|
+
* taken back once called, so the only way to keep an unrelated file's menu clean is to ask the
|
|
123
|
+
* handlers first, against a menu nobody sees. The gates they answer with are metadata reads, so the
|
|
124
|
+
* second run costs nothing and cannot disagree with the first.
|
|
125
|
+
*
|
|
126
|
+
* @param context - The Notebook Navigator menu being built.
|
|
127
|
+
* @param populate - Runs the collected handlers against a menu.
|
|
128
|
+
*/
|
|
129
|
+
contribute(context, populate) {
|
|
130
|
+
const probeMenu = new MenuImpl();
|
|
131
|
+
populate(probeMenu);
|
|
132
|
+
if (probeMenu.items.length === 0) {
|
|
133
|
+
return;
|
|
134
|
+
}
|
|
135
|
+
context.addItem((item) => {
|
|
136
|
+
item.setTitle(this.pluginName).setIcon(this.submenuIcon);
|
|
137
|
+
populate(item.setSubmenu());
|
|
138
|
+
});
|
|
139
|
+
}
|
|
140
|
+
/**
|
|
141
|
+
* Handles a file menu, single or multi-selection.
|
|
142
|
+
*
|
|
143
|
+
* @param context - The Notebook Navigator menu being built.
|
|
144
|
+
*/
|
|
145
|
+
handleFileMenu(context) {
|
|
146
|
+
const selectedFiles = [...context.selection.files];
|
|
147
|
+
this.contribute(
|
|
148
|
+
context,
|
|
149
|
+
context.selection.mode === "multiple" ? (menu) => {
|
|
150
|
+
this.runFilesMenuHandlers(menu, selectedFiles);
|
|
151
|
+
} : (menu) => {
|
|
152
|
+
this.runFileMenuHandlers(menu, context.file);
|
|
153
|
+
}
|
|
154
|
+
);
|
|
155
|
+
}
|
|
156
|
+
/**
|
|
157
|
+
* Handles a folder menu.
|
|
158
|
+
*
|
|
159
|
+
* A folder goes through the SINGLE-file handlers, because that is how Obsidian's own `file-menu`
|
|
160
|
+
* carries one — the event is typed {@link TAbstractFile}, and the folder handlers are the ones that
|
|
161
|
+
* narrow it.
|
|
162
|
+
*
|
|
163
|
+
* @param context - The Notebook Navigator menu being built.
|
|
164
|
+
*/
|
|
165
|
+
handleFolderMenu(context) {
|
|
166
|
+
this.contribute(context, (menu) => {
|
|
167
|
+
this.runFileMenuHandlers(menu, context.folder);
|
|
168
|
+
});
|
|
169
|
+
}
|
|
170
|
+
/**
|
|
171
|
+
* Runs the single-file handlers against a menu.
|
|
172
|
+
*
|
|
173
|
+
* @param menu - The menu to populate.
|
|
174
|
+
* @param abstractFile - The file or folder the menu was raised on.
|
|
175
|
+
*/
|
|
176
|
+
runFileMenuHandlers(menu, abstractFile) {
|
|
177
|
+
for (const handler of this.fileMenuEventHandlers) {
|
|
178
|
+
handler(menu, abstractFile, NOTEBOOK_NAVIGATOR_MENU_SOURCE);
|
|
179
|
+
}
|
|
180
|
+
}
|
|
181
|
+
/**
|
|
182
|
+
* Runs the multi-file handlers against a menu.
|
|
183
|
+
*
|
|
184
|
+
* @param menu - The menu to populate.
|
|
185
|
+
* @param abstractFiles - The files the menu was raised on.
|
|
186
|
+
*/
|
|
187
|
+
runFilesMenuHandlers(menu, abstractFiles) {
|
|
188
|
+
for (const handler of this.filesMenuEventHandlers) {
|
|
189
|
+
handler(menu, abstractFiles, NOTEBOOK_NAVIGATOR_MENU_SOURCE);
|
|
190
|
+
}
|
|
191
|
+
}
|
|
192
|
+
}
|
|
193
|
+
export {
|
|
194
|
+
NotebookNavigatorMenuEventRegistrarComponent
|
|
195
|
+
};
|
|
196
|
+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vLi4vc3JjL29ic2lkaWFuL2NvbXBvbmVudHMvbm90ZWJvb2stbmF2aWdhdG9yLW1lbnUtZXZlbnQtcmVnaXN0cmFyLWNvbXBvbmVudC50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsiLyoqXG4gKiBAZmlsZVxuICpcbiAqIEJyaWRnZXMgdGhlIGZpbGUgYW5kIGZpbGVzIGNvbnRleHQtbWVudSBldmVudHMgaW50byBOb3RlYm9vayBOYXZpZ2F0b3IncyBvd24gbWVudXMuXG4gKlxuICogTm90ZWJvb2sgTmF2aWdhdG9yIGRyYXdzIGl0cyBvd24gZmlsZSB0cmVlIGFuZCBuZXZlciByYWlzZXMgT2JzaWRpYW4ncyBgZmlsZS1tZW51YCAvIGBmaWxlcy1tZW51YFxuICogd29ya3NwYWNlIGV2ZW50cywgc28gYSBwbHVnaW4ncyBjb250ZXh0LW1lbnUgaXRlbXMgdmFuaXNoIGZvciBhbnlvbmUgYnJvd3NpbmcgdGhyb3VnaCBpdC4gVGhpc1xuICogY29tcG9uZW50IGlzIGEge0BsaW5rIE1lbnVFdmVudFJlZ2lzdHJhcn0gYmFja2VkIGJ5IE5vdGVib29rIE5hdmlnYXRvcidzIGV4dGVuc2lvbiBBUEkgaW5zdGVhZCBvZlxuICogdGhlIHdvcmtzcGFjZSwgc28gdGhlIHZlcnkgc2FtZSBoYW5kbGVycyByZWFjaCBib3RoIHN1cmZhY2VzLlxuICovXG5cbmltcG9ydCB0eXBlIHtcbiAgQXBwLFxuICBJY29uTmFtZSxcbiAgTWVudSxcbiAgVEFic3RyYWN0RmlsZSxcbiAgVEZpbGVcbn0gZnJvbSAnb2JzaWRpYW4nO1xuXG5pbXBvcnQgeyBNZW51IGFzIE1lbnVJbXBsIH0gZnJvbSAnb2JzaWRpYW4nO1xuXG5pbXBvcnQgdHlwZSB7IERpc3Bvc2FibGVFeCB9IGZyb20gJy4uLy4uL2Rpc3Bvc2FibGUudHMnO1xuaW1wb3J0IHR5cGUge1xuICBFZGl0b3JNZW51RXZlbnRIYW5kbGVyLFxuICBGaWxlTWVudUV2ZW50SGFuZGxlcixcbiAgRmlsZXNNZW51RXZlbnRIYW5kbGVyLFxuICBNZW51RXZlbnRSZWdpc3RyYXJcbn0gZnJvbSAnLi4vbWVudS1ldmVudC1yZWdpc3RyYXIudHMnO1xuaW1wb3J0IHR5cGUge1xuICBOb3RlYm9va05hdmlnYXRvckZpbGVNZW51Q29udGV4dCxcbiAgTm90ZWJvb2tOYXZpZ2F0b3JGb2xkZXJNZW51Q29udGV4dCxcbiAgTm90ZWJvb2tOYXZpZ2F0b3JNZW51Q29udGV4dFxufSBmcm9tICcuLi9ub3RlYm9vay1uYXZpZ2F0b3IudHMnO1xuXG5pbXBvcnQgeyBDYWxsYmFja0Rpc3Bvc2FibGUgfSBmcm9tICcuLi8uLi9kaXNwb3NhYmxlLnRzJztcbmltcG9ydCB7IG5vb3AgfSBmcm9tICcuLi8uLi9mdW5jdGlvbi50cyc7XG5pbXBvcnQge1xuICBOT1RFQk9PS19OQVZJR0FUT1JfTUVOVV9TT1VSQ0UsXG4gIHJlc29sdmVOb3RlYm9va05hdmlnYXRvckFwaVxufSBmcm9tICcuLi9ub3RlYm9vay1uYXZpZ2F0b3IudHMnO1xuaW1wb3J0IHsgTGF5b3V0UmVhZHlDb21wb25lbnQgfSBmcm9tICcuL2xheW91dC1yZWFkeS1jb21wb25lbnQudHMnO1xuXG4vKipcbiAqIFBhcmFtZXRlcnMgZm9yIHtAbGluayBOb3RlYm9va05hdmlnYXRvck1lbnVFdmVudFJlZ2lzdHJhckNvbXBvbmVudH0uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgTm90ZWJvb2tOYXZpZ2F0b3JNZW51RXZlbnRSZWdpc3RyYXJDb21wb25lbnRDb25zdHJ1Y3RvclBhcmFtcyB7XG4gIC8qKlxuICAgKiBUaGUgYXBwbGljYXRpb24gaW5zdGFuY2UuXG4gICAqL1xuICByZWFkb25seSBhcHA6IEFwcDtcblxuICAvKipcbiAgICogVGhlIHBsdWdpbidzIGRpc3BsYXkgbmFtZSwgd2hpY2ggdGl0bGVzIHRoZSBwYXJlbnQgZW50cnkuXG4gICAqL1xuICByZWFkb25seSBwbHVnaW5OYW1lOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBpY29uIGZvciB0aGUgcGFyZW50IGVudHJ5LlxuICAgKlxuICAgKiBAZGVmYXVsdCBgJydgIChubyBpY29uKVxuICAgKi9cbiAgcmVhZG9ubHkgc3VibWVudUljb24/OiBJY29uTmFtZSB8IHVuZGVmaW5lZDtcbn1cblxuLyoqXG4gKiB7QGxpbmsgTWVudUV2ZW50UmVnaXN0cmFyfSBiYWNrZWQgYnkgTm90ZWJvb2sgTmF2aWdhdG9yJ3MgbWVudS1leHRlbnNpb24gQVBJLlxuICpcbiAqIEhhbmRsZXJzIHJlZ2lzdGVyZWQgaGVyZSBhcmUgY29sbGVjdGVkIGVhZ2VybHkgYW5kIGJvdW5kIHRvIE5vdGVib29rIE5hdmlnYXRvciBvbmNlIHRoZSB3b3Jrc3BhY2VcbiAqIGxheW91dCBpcyByZWFkeS4gV2hlbiBOb3RlYm9vayBOYXZpZ2F0b3IgaXMgbm90IGluc3RhbGxlZCB0aGUgY29tcG9uZW50IHNpbXBseSBzdGF5cyBkb3JtYW50LlxuICpcbiAqIEV2ZXJ5IGNvbGxlY3RlZCBoYW5kbGVyIHdyaXRlcyBpbnRvIGEgcGx1Z2luLXRpdGxlZCBwYXJlbnQgZW50cnkncyBzdWJtZW51LCBzbyBhIGhhbmRsZXIgbXVzdCBOT1RcbiAqIGRlY2xhcmUgYSBzZWN0aW9uIHN1Ym1lbnUgb2YgaXRzIG93biBcdTIwMTQgYE1lbnUuc29ydCgpYCB3b3VsZCBmb2xkIHRoYXQgaW50byBhIHNlY29uZCwgbmVzdGVkXG4gKiBwbHVnaW4tdGl0bGVkIGVudHJ5LiBgQ29tbWFuZEhhbmRsZXJDb21wb25lbnRgIHRha2VzIGNhcmUgb2YgdGhpcyBieSBmb3JjaW5nXG4gKiBgQ29tbWFuZEhhbmRsZXJSZWdpc3RyYXRpb25Db250ZXh0LnNob3VsZEFkZENvbW1hbmRUb1N1Ym1lbnVgIG9mZiBmb3IgdGhlIHN1cmZhY2VzIGl0IGZlZWRzIGhlcmUuXG4gKi9cbmV4cG9ydCBjbGFzcyBOb3RlYm9va05hdmlnYXRvck1lbnVFdmVudFJlZ2lzdHJhckNvbXBvbmVudCBleHRlbmRzIExheW91dFJlYWR5Q29tcG9uZW50IGltcGxlbWVudHMgTWVudUV2ZW50UmVnaXN0cmFyIHtcbiAgLyoqXG4gICAqIFRoZSBwbHVnaW4ncyBkaXNwbGF5IG5hbWUsIHdoaWNoIHRpdGxlcyB0aGUgcGFyZW50IGVudHJ5LlxuICAgKi9cbiAgcHJvdGVjdGVkIHJlYWRvbmx5IHBsdWdpbk5hbWU6IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIGljb24gZm9yIHRoZSBwYXJlbnQgZW50cnkuXG4gICAqL1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgc3VibWVudUljb246IEljb25OYW1lO1xuXG4gIHByaXZhdGUgZmlsZU1lbnVFdmVudEhhbmRsZXJzOiBGaWxlTWVudUV2ZW50SGFuZGxlcltdID0gW107XG4gIHByaXZhdGUgZmlsZXNNZW51RXZlbnRIYW5kbGVyczogRmlsZXNNZW51RXZlbnRIYW5kbGVyW10gPSBbXTtcblxuICAvKipcbiAgICogQ3JlYXRlcyBhIG5ldyBOb3RlYm9vayBOYXZpZ2F0b3IgbWVudSBldmVudCByZWdpc3RyYXIuXG4gICAqXG4gICAqIEBwYXJhbSBwYXJhbXMgLSBUaGUgcGFyYW1ldGVycyBmb3IgdGhlIGNvbXBvbmVudC5cbiAgICovXG4gIHB1YmxpYyBjb25zdHJ1Y3RvcihwYXJhbXM6IE5vdGVib29rTmF2aWdhdG9yTWVudUV2ZW50UmVnaXN0cmFyQ29tcG9uZW50Q29uc3RydWN0b3JQYXJhbXMpIHtcbiAgICBzdXBlcihwYXJhbXMuYXBwKTtcbiAgICB0aGlzLnBsdWdpbk5hbWUgPSBwYXJhbXMucGx1Z2luTmFtZTtcbiAgICB0aGlzLnN1Ym1lbnVJY29uID0gcGFyYW1zLnN1Ym1lbnVJY29uID8/ICcnO1xuICB9XG5cbiAgLyoqXG4gICAqIEFjY2VwdHMgYW4gZWRpdG9yLW1lbnUgcmVnaXN0cmF0aW9uIGFuZCBkb2VzIG5vdGhpbmcgd2l0aCBpdC5cbiAgICpcbiAgICogTm90ZWJvb2sgTmF2aWdhdG9yIGV4dGVuZHMgdGhlIGZpbGUgdHJlZSwgbm90IHRoZSBlZGl0b3IgXHUyMDE0IGFuIGVkaXRvciBtZW51IHRoZXJlIGlzIE9ic2lkaWFuJ3NcbiAgICogb3duLCB3aGljaCB0aGUgaGFuZGxlcnMgYWxyZWFkeSByZWFjaCB0aHJvdWdoIHRoZSB3b3Jrc3BhY2UgZXZlbnQuIFRoZSByZWdpc3RyYXRpb24gaXMgaW5lcnRcbiAgICogcmF0aGVyIHRoYW4gcmVmdXNlZCBzbyBhIGhhbmRsZXIgdGhhdCBkZWNsYXJlcyBvbmUgaXMgbm90IGEgbG9hZC10aW1lIGVycm9yLlxuICAgKlxuICAgKiBAcGFyYW0gX2hhbmRsZXIgLSBUaGUgaGFuZGxlciwgZGVsaWJlcmF0ZWx5IHVudXNlZC5cbiAgICogQHJldHVybnMgQSB7QGxpbmsgRGlzcG9zYWJsZUV4fSB0aGF0IGhhcyBub3RoaW5nIHRvIHVuZG8uXG4gICAqL1xuICBwdWJsaWMgcmVnaXN0ZXJFZGl0b3JNZW51RXZlbnRIYW5kbGVyKF9oYW5kbGVyOiBFZGl0b3JNZW51RXZlbnRIYW5kbGVyKTogRGlzcG9zYWJsZUV4IHtcbiAgICByZXR1cm4gbmV3IENhbGxiYWNrRGlzcG9zYWJsZSh7IGNhbGxiYWNrOiBub29wIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIENvbGxlY3RzIGEgc2luZ2xlLWZpbGUgbWVudSBoYW5kbGVyLlxuICAgKlxuICAgKiBAcGFyYW0gaGFuZGxlciAtIFRoZSBoYW5kbGVyIHRvIGNvbGxlY3QuXG4gICAqIEByZXR1cm5zIEEge0BsaW5rIERpc3Bvc2FibGVFeH0gdGhhdCBkcm9wcyB0aGUgaGFuZGxlciBhZ2FpbiAob3Igb24gY29tcG9uZW50IHVubG9hZCkuXG4gICAqL1xuICBwdWJsaWMgcmVnaXN0ZXJGaWxlTWVudUV2ZW50SGFuZGxlcihoYW5kbGVyOiBGaWxlTWVudUV2ZW50SGFuZGxlcik6IERpc3Bvc2FibGVFeCB7XG4gICAgdGhpcy5maWxlTWVudUV2ZW50SGFuZGxlcnMucHVzaChoYW5kbGVyKTtcbiAgICByZXR1cm4gdGhpcy5yZWdpc3RlckRpc3Bvc2FibGUoXG4gICAgICBuZXcgQ2FsbGJhY2tEaXNwb3NhYmxlKHtcbiAgICAgICAgY2FsbGJhY2s6ICgpOiB2b2lkID0+IHtcbiAgICAgICAgICB0aGlzLmZpbGVNZW51RXZlbnRIYW5kbGVycyA9IHRoaXMuZmlsZU1lbnVFdmVudEhhbmRsZXJzLmZpbHRlcigoY29sbGVjdGVkKSA9PiBjb2xsZWN0ZWQgIT09IGhhbmRsZXIpO1xuICAgICAgICB9XG4gICAgICB9KVxuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogQ29sbGVjdHMgYSBtdWx0aS1maWxlIG1lbnUgaGFuZGxlci5cbiAgICpcbiAgICogQHBhcmFtIGhhbmRsZXIgLSBUaGUgaGFuZGxlciB0byBjb2xsZWN0LlxuICAgKiBAcmV0dXJucyBBIHtAbGluayBEaXNwb3NhYmxlRXh9IHRoYXQgZHJvcHMgdGhlIGhhbmRsZXIgYWdhaW4gKG9yIG9uIGNvbXBvbmVudCB1bmxvYWQpLlxuICAgKi9cbiAgcHVibGljIHJlZ2lzdGVyRmlsZXNNZW51RXZlbnRIYW5kbGVyKGhhbmRsZXI6IEZpbGVzTWVudUV2ZW50SGFuZGxlcik6IERpc3Bvc2FibGVFeCB7XG4gICAgdGhpcy5maWxlc01lbnVFdmVudEhhbmRsZXJzLnB1c2goaGFuZGxlcik7XG4gICAgcmV0dXJuIHRoaXMucmVnaXN0ZXJEaXNwb3NhYmxlKFxuICAgICAgbmV3IENhbGxiYWNrRGlzcG9zYWJsZSh7XG4gICAgICAgIGNhbGxiYWNrOiAoKTogdm9pZCA9PiB7XG4gICAgICAgICAgdGhpcy5maWxlc01lbnVFdmVudEhhbmRsZXJzID0gdGhpcy5maWxlc01lbnVFdmVudEhhbmRsZXJzLmZpbHRlcigoY29sbGVjdGVkKSA9PiBjb2xsZWN0ZWQgIT09IGhhbmRsZXIpO1xuICAgICAgICB9XG4gICAgICB9KVxuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogQmluZHMgdG8gTm90ZWJvb2sgTmF2aWdhdG9yIG9uY2UgZXZlcnkgcGx1Z2luIGhhcyBsb2FkZWQuXG4gICAqXG4gICAqIExheW91dC1yZWFkeSByYXRoZXIgdGhhbiBgb25sb2FkYDogcGx1Z2luIGxvYWQgb3JkZXIgaXMgbm90IG91cnMgdG8gY2hvb3NlLCBhbmQgTm90ZWJvb2tcbiAgICogTmF2aWdhdG9yJ3MgQVBJIG9ubHkgZXhpc3RzIG9uY2UgaXRzIG93biBwbHVnaW4gaXMgdXAuIFdoZW4gaXQgaXMgbm90IGluc3RhbGxlZCB0aGUgY29tcG9uZW50XG4gICAqIHN0YXlzIGRvcm1hbnQgXHUyMDE0IGVuYWJsaW5nIGl0IGxhdGVyIHRha2VzIGFuIE9ic2lkaWFuIHJlbG9hZCwgZXhhY3RseSBhcyBpdCBkb2VzIGZvciBhbnl0aGluZyBlbHNlXG4gICAqIHRoYXQgcmVhZHMgYW5vdGhlciBwbHVnaW4gYXQgc3RhcnR1cC5cbiAgICovXG4gIHByb3RlY3RlZCBvdmVycmlkZSBvbkxheW91dFJlYWR5KCk6IHZvaWQge1xuICAgIGNvbnN0IGFwaSA9IHJlc29sdmVOb3RlYm9va05hdmlnYXRvckFwaSh0aGlzLmFwcCk7XG4gICAgaWYgKGFwaSA9PT0gbnVsbCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMucmVnaXN0ZXIoYXBpLm1lbnVzLnJlZ2lzdGVyRmlsZU1lbnUoKGNvbnRleHQpID0+IHtcbiAgICAgIHRoaXMuaGFuZGxlRmlsZU1lbnUoY29udGV4dCk7XG4gICAgfSkpO1xuICAgIHRoaXMucmVnaXN0ZXIoYXBpLm1lbnVzLnJlZ2lzdGVyRm9sZGVyTWVudSgoY29udGV4dCkgPT4ge1xuICAgICAgdGhpcy5oYW5kbGVGb2xkZXJNZW51KGNvbnRleHQpO1xuICAgIH0pKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBBZGRzIHRoZSBwbHVnaW4ncyBlbnRyeSwgdW5sZXNzIHRoZSBoYW5kbGVycyBoYWQgbm90aGluZyB0byBjb250cmlidXRlLlxuICAgKlxuICAgKiBUaGUgbWVudSBpcyBwb3B1bGF0ZWQgVFdJQ0UsIGFuZCBib3RoIHJ1bnMgYXJlIG5lZWRlZDogTm90ZWJvb2sgTmF2aWdhdG9yJ3MgYGFkZEl0ZW1gIGNhbm5vdCBiZVxuICAgKiB0YWtlbiBiYWNrIG9uY2UgY2FsbGVkLCBzbyB0aGUgb25seSB3YXkgdG8ga2VlcCBhbiB1bnJlbGF0ZWQgZmlsZSdzIG1lbnUgY2xlYW4gaXMgdG8gYXNrIHRoZVxuICAgKiBoYW5kbGVycyBmaXJzdCwgYWdhaW5zdCBhIG1lbnUgbm9ib2R5IHNlZXMuIFRoZSBnYXRlcyB0aGV5IGFuc3dlciB3aXRoIGFyZSBtZXRhZGF0YSByZWFkcywgc28gdGhlXG4gICAqIHNlY29uZCBydW4gY29zdHMgbm90aGluZyBhbmQgY2Fubm90IGRpc2FncmVlIHdpdGggdGhlIGZpcnN0LlxuICAgKlxuICAgKiBAcGFyYW0gY29udGV4dCAtIFRoZSBOb3RlYm9vayBOYXZpZ2F0b3IgbWVudSBiZWluZyBidWlsdC5cbiAgICogQHBhcmFtIHBvcHVsYXRlIC0gUnVucyB0aGUgY29sbGVjdGVkIGhhbmRsZXJzIGFnYWluc3QgYSBtZW51LlxuICAgKi9cbiAgcHJpdmF0ZSBjb250cmlidXRlKGNvbnRleHQ6IE5vdGVib29rTmF2aWdhdG9yTWVudUNvbnRleHQsIHBvcHVsYXRlOiAobWVudTogTWVudSkgPT4gdm9pZCk6IHZvaWQge1xuICAgIGNvbnN0IHByb2JlTWVudSA9IG5ldyBNZW51SW1wbCgpO1xuICAgIHBvcHVsYXRlKHByb2JlTWVudSk7XG5cbiAgICBpZiAocHJvYmVNZW51Lml0ZW1zLmxlbmd0aCA9PT0gMCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnRleHQuYWRkSXRlbSgoaXRlbSkgPT4ge1xuICAgICAgaXRlbVxuICAgICAgICAuc2V0VGl0bGUodGhpcy5wbHVnaW5OYW1lKVxuICAgICAgICAuc2V0SWNvbih0aGlzLnN1Ym1lbnVJY29uKTtcbiAgICAgIHBvcHVsYXRlKGl0ZW0uc2V0U3VibWVudSgpKTtcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBIYW5kbGVzIGEgZmlsZSBtZW51LCBzaW5nbGUgb3IgbXVsdGktc2VsZWN0aW9uLlxuICAgKlxuICAgKiBAcGFyYW0gY29udGV4dCAtIFRoZSBOb3RlYm9vayBOYXZpZ2F0b3IgbWVudSBiZWluZyBidWlsdC5cbiAgICovXG4gIHByaXZhdGUgaGFuZGxlRmlsZU1lbnUoY29udGV4dDogTm90ZWJvb2tOYXZpZ2F0b3JGaWxlTWVudUNvbnRleHQpOiB2b2lkIHtcbiAgICBjb25zdCBzZWxlY3RlZEZpbGVzOiBURmlsZVtdID0gWy4uLmNvbnRleHQuc2VsZWN0aW9uLmZpbGVzXTtcbiAgICB0aGlzLmNvbnRyaWJ1dGUoXG4gICAgICBjb250ZXh0LFxuICAgICAgY29udGV4dC5zZWxlY3Rpb24ubW9kZSA9PT0gJ211bHRpcGxlJ1xuICAgICAgICA/IChtZW51OiBNZW51KTogdm9pZCA9PiB7XG4gICAgICAgICAgdGhpcy5ydW5GaWxlc01lbnVIYW5kbGVycyhtZW51LCBzZWxlY3RlZEZpbGVzKTtcbiAgICAgICAgfVxuICAgICAgICA6IChtZW51OiBNZW51KTogdm9pZCA9PiB7XG4gICAgICAgICAgdGhpcy5ydW5GaWxlTWVudUhhbmRsZXJzKG1lbnUsIGNvbnRleHQuZmlsZSk7XG4gICAgICAgIH1cbiAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIEhhbmRsZXMgYSBmb2xkZXIgbWVudS5cbiAgICpcbiAgICogQSBmb2xkZXIgZ29lcyB0aHJvdWdoIHRoZSBTSU5HTEUtZmlsZSBoYW5kbGVycywgYmVjYXVzZSB0aGF0IGlzIGhvdyBPYnNpZGlhbidzIG93biBgZmlsZS1tZW51YFxuICAgKiBjYXJyaWVzIG9uZSBcdTIwMTQgdGhlIGV2ZW50IGlzIHR5cGVkIHtAbGluayBUQWJzdHJhY3RGaWxlfSwgYW5kIHRoZSBmb2xkZXIgaGFuZGxlcnMgYXJlIHRoZSBvbmVzIHRoYXRcbiAgICogbmFycm93IGl0LlxuICAgKlxuICAgKiBAcGFyYW0gY29udGV4dCAtIFRoZSBOb3RlYm9vayBOYXZpZ2F0b3IgbWVudSBiZWluZyBidWlsdC5cbiAgICovXG4gIHByaXZhdGUgaGFuZGxlRm9sZGVyTWVudShjb250ZXh0OiBOb3RlYm9va05hdmlnYXRvckZvbGRlck1lbnVDb250ZXh0KTogdm9pZCB7XG4gICAgdGhpcy5jb250cmlidXRlKGNvbnRleHQsIChtZW51OiBNZW51KTogdm9pZCA9PiB7XG4gICAgICB0aGlzLnJ1bkZpbGVNZW51SGFuZGxlcnMobWVudSwgY29udGV4dC5mb2xkZXIpO1xuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIFJ1bnMgdGhlIHNpbmdsZS1maWxlIGhhbmRsZXJzIGFnYWluc3QgYSBtZW51LlxuICAgKlxuICAgKiBAcGFyYW0gbWVudSAtIFRoZSBtZW51IHRvIHBvcHVsYXRlLlxuICAgKiBAcGFyYW0gYWJzdHJhY3RGaWxlIC0gVGhlIGZpbGUgb3IgZm9sZGVyIHRoZSBtZW51IHdhcyByYWlzZWQgb24uXG4gICAqL1xuICBwcml2YXRlIHJ1bkZpbGVNZW51SGFuZGxlcnMobWVudTogTWVudSwgYWJzdHJhY3RGaWxlOiBUQWJzdHJhY3RGaWxlKTogdm9pZCB7XG4gICAgZm9yIChjb25zdCBoYW5kbGVyIG9mIHRoaXMuZmlsZU1lbnVFdmVudEhhbmRsZXJzKSB7XG4gICAgICBoYW5kbGVyKG1lbnUsIGFic3RyYWN0RmlsZSwgTk9URUJPT0tfTkFWSUdBVE9SX01FTlVfU09VUkNFKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogUnVucyB0aGUgbXVsdGktZmlsZSBoYW5kbGVycyBhZ2FpbnN0IGEgbWVudS5cbiAgICpcbiAgICogQHBhcmFtIG1lbnUgLSBUaGUgbWVudSB0byBwb3B1bGF0ZS5cbiAgICogQHBhcmFtIGFic3RyYWN0RmlsZXMgLSBUaGUgZmlsZXMgdGhlIG1lbnUgd2FzIHJhaXNlZCBvbi5cbiAgICovXG4gIHByaXZhdGUgcnVuRmlsZXNNZW51SGFuZGxlcnMobWVudTogTWVudSwgYWJzdHJhY3RGaWxlczogVEFic3RyYWN0RmlsZVtdKTogdm9pZCB7XG4gICAgZm9yIChjb25zdCBoYW5kbGVyIG9mIHRoaXMuZmlsZXNNZW51RXZlbnRIYW5kbGVycykge1xuICAgICAgaGFuZGxlcihtZW51LCBhYnN0cmFjdEZpbGVzLCBOT1RFQk9PS19OQVZJR0FU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
|