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
|
@@ -40,16 +40,11 @@ if you want to view the source, please visit the github repository of this plugi
|
|
|
40
40
|
globalThisRecord[key] ??= newFuncs[key]?.();
|
|
41
41
|
}
|
|
42
42
|
|
|
43
|
-
function name(obj) {
|
|
44
|
-
return obj;
|
|
45
|
-
}
|
|
46
|
-
|
|
47
43
|
function extractDefault(module) {
|
|
48
44
|
return module && module.__esModule && 'default' in module ? module.default : module;
|
|
49
45
|
}
|
|
50
46
|
|
|
51
|
-
const OBSIDIAN_BUILT_IN_MODULE_NAMES = [
|
|
52
|
-
'obsidian',
|
|
47
|
+
const OBSIDIAN_BUILT_IN_MODULE_NAMES = new Set([
|
|
53
48
|
'@codemirror/autocomplete',
|
|
54
49
|
'@codemirror/collab',
|
|
55
50
|
'@codemirror/commands',
|
|
@@ -60,11 +55,12 @@ if you want to view the source, please visit the github repository of this plugi
|
|
|
60
55
|
'@codemirror/text',
|
|
61
56
|
'@codemirror/view',
|
|
62
57
|
'@lezer/common',
|
|
58
|
+
'@lezer/highlight',
|
|
63
59
|
'@lezer/lr',
|
|
64
|
-
'
|
|
65
|
-
|
|
60
|
+
'obsidian']
|
|
61
|
+
);
|
|
66
62
|
|
|
67
|
-
const DEPRECATED_OBSIDIAN_BUILT_IN_MODULE_NAMES = [
|
|
63
|
+
const DEPRECATED_OBSIDIAN_BUILT_IN_MODULE_NAMES = new Set([
|
|
68
64
|
'@codemirror/closebrackets',
|
|
69
65
|
'@codemirror/comment',
|
|
70
66
|
'@codemirror/fold',
|
|
@@ -76,11 +72,11 @@ if you want to view the source, please visit the github repository of this plugi
|
|
|
76
72
|
'@codemirror/rangeset',
|
|
77
73
|
'@codemirror/rectangular-selection',
|
|
78
74
|
'@codemirror/stream-parser',
|
|
79
|
-
'@codemirror/tooltip']
|
|
80
|
-
|
|
75
|
+
'@codemirror/tooltip']
|
|
76
|
+
);
|
|
81
77
|
|
|
82
78
|
function requirePatched(id) {
|
|
83
|
-
if (OBSIDIAN_BUILT_IN_MODULE_NAMES.
|
|
79
|
+
if (OBSIDIAN_BUILT_IN_MODULE_NAMES.has(id) || DEPRECATED_OBSIDIAN_BUILT_IN_MODULE_NAMES.has(id)) {
|
|
84
80
|
return originalRequire?.(id);
|
|
85
81
|
}
|
|
86
82
|
|
|
@@ -89,8 +85,8 @@ if you want to view the source, please visit the github repository of this plugi
|
|
|
89
85
|
if (id === 'process' || id === 'node:process') {
|
|
90
86
|
// eslint-disable-next-line no-console -- Valid usage.
|
|
91
87
|
console.debug(`The most likely you can safely ignore this error. Module not found: ${id}. Fake process object is returned instead.`);
|
|
92
|
-
|
|
93
|
-
return
|
|
88
|
+
|
|
89
|
+
return process;
|
|
94
90
|
}
|
|
95
91
|
} else {
|
|
96
92
|
const module = originalRequire?.(id);
|
|
@@ -142,12 +138,12 @@ class SettingGroupEx extends import_obsidian.SettingGroup {
|
|
|
142
138
|
/**
|
|
143
139
|
* Adds a extended setting to the setting group.
|
|
144
140
|
*
|
|
145
|
-
* @param
|
|
141
|
+
* @param callback - The callback to add the setting.
|
|
146
142
|
* @returns The setting group.
|
|
147
143
|
*/
|
|
148
|
-
addSettingEx(
|
|
144
|
+
addSettingEx(callback) {
|
|
149
145
|
const setting = new import_setting_ex.SettingEx(this.listEl);
|
|
150
|
-
|
|
146
|
+
callback(setting);
|
|
151
147
|
return this;
|
|
152
148
|
}
|
|
153
149
|
}
|
|
@@ -155,4 +151,4 @@ class SettingGroupEx extends import_obsidian.SettingGroup {
|
|
|
155
151
|
0 && (module.exports = {
|
|
156
152
|
SettingGroupEx
|
|
157
153
|
});
|
|
158
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
154
|
+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vc3JjL29ic2lkaWFuL3NldHRpbmctZ3JvdXAtZXgudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbIi8qKlxuICogQGZpbGVcbiAqXG4gKiBFeHRlbmRzIHRoZSBTZXR0aW5nR3JvdXAgY2xhc3Mgd2l0aCBhZGRpdGlvbmFsIG1ldGhvZHMgZm9yIGFkZGluZyBzZXR0aW5ncy5cbiAqL1xuXG5pbXBvcnQgeyBTZXR0aW5nR3JvdXAgfSBmcm9tICdvYnNpZGlhbic7XG5cbmltcG9ydCB7IFNldHRpbmdFeCB9IGZyb20gJy4vc2V0dGluZy1leC50cyc7XG5cbi8qKlxuICogQW4gZXh0ZW5kZWQgc2V0dGluZyBncm91cCB0aGF0IGFsbG93cyB5b3UgdG8gYWRkIGV4dGVuZGVkIHNldHRpbmdzIHRvIHRoZSBzZXR0aW5nIGdyb3VwLlxuICovXG5leHBvcnQgY2xhc3MgU2V0dGluZ0dyb3VwRXggZXh0ZW5kcyBTZXR0aW5nR3JvdXAge1xuICAvKipcbiAgICogQ3JlYXRlcyBhIG5ldyBzZXR0aW5nIGdyb3VwLlxuICAgKlxuICAgKiBAcGFyYW0gY29udGFpbmVyRWwgLSBUaGUgY29udGFpbmVyIGVsZW1lbnQuXG4gICAqL1xuICBwdWJsaWMgY29uc3RydWN0b3IoY29udGFpbmVyRWw6IEhUTUxFbGVtZW50KSB7XG4gICAgc3VwZXIoY29udGFpbmVyRWwpO1xuICB9XG5cbiAgLyoqXG4gICAqIEFkZHMgYSBleHRlbmRlZCBzZXR0aW5nIHRvIHRoZSBzZXR0aW5nIGdyb3VwLlxuICAgKlxuICAgKiBAcGFyYW0gY2FsbGJhY2sgLSBUaGUgY2FsbGJhY2sgdG8gYWRkIHRoZSBzZXR0aW5nLlxuICAgKiBAcmV0dXJucyBUaGUgc2V0dGluZyBncm91cC5cbiAgICovXG4gIHB1YmxpYyBhZGRTZXR0aW5nRXgoY2FsbGJhY2s6IChzZXR0aW5nOiBTZXR0aW5nRXgpID0+IHZvaWQpOiB0aGlzIHtcbiAgICBjb25zdCBzZXR0aW5nID0gbmV3IFNldHRpbmdFeCh0aGlzLmxpc3RFbCk7XG4gICAgY2FsbGJhY2soc2V0dGluZyk7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cbn1cbiJdLAogICJtYXBwaW5ncyI6ICI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBTUEsc0JBQTZCO0FBRTdCLHdCQUEwQjtBQUtuQixNQUFNLHVCQUF1Qiw2QkFBYTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQU14QyxZQUFZLGFBQTBCO0FBQzNDLFVBQU0sV0FBVztBQUFBLEVBQ25CO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFRTyxhQUFhLFVBQThDO0FBQ2hFLFVBQU0sVUFBVSxJQUFJLDRCQUFVLEtBQUssTUFBTTtBQUN6QyxhQUFTLE9BQU87QUFDaEIsV0FBTztBQUFBLEVBQ1Q7QUFDRjsiLAogICJuYW1lcyI6IFtdCn0K
|
|
@@ -19,8 +19,8 @@ export declare class SettingGroupEx extends SettingGroup {
|
|
|
19
19
|
/**
|
|
20
20
|
* Adds a extended setting to the setting group.
|
|
21
21
|
*
|
|
22
|
-
* @param
|
|
22
|
+
* @param callback - The callback to add the setting.
|
|
23
23
|
* @returns The setting group.
|
|
24
24
|
*/
|
|
25
|
-
addSettingEx(
|
|
25
|
+
addSettingEx(callback: (setting: SettingEx) => void): this;
|
|
26
26
|
}
|
|
@@ -40,16 +40,11 @@ if you want to view the source, please visit the github repository of this plugi
|
|
|
40
40
|
globalThisRecord[key] ??= newFuncs[key]?.();
|
|
41
41
|
}
|
|
42
42
|
|
|
43
|
-
function name(obj) {
|
|
44
|
-
return obj;
|
|
45
|
-
}
|
|
46
|
-
|
|
47
43
|
function extractDefault(module) {
|
|
48
44
|
return module && module.__esModule && 'default' in module ? module.default : module;
|
|
49
45
|
}
|
|
50
46
|
|
|
51
|
-
const OBSIDIAN_BUILT_IN_MODULE_NAMES = [
|
|
52
|
-
'obsidian',
|
|
47
|
+
const OBSIDIAN_BUILT_IN_MODULE_NAMES = new Set([
|
|
53
48
|
'@codemirror/autocomplete',
|
|
54
49
|
'@codemirror/collab',
|
|
55
50
|
'@codemirror/commands',
|
|
@@ -60,11 +55,12 @@ if you want to view the source, please visit the github repository of this plugi
|
|
|
60
55
|
'@codemirror/text',
|
|
61
56
|
'@codemirror/view',
|
|
62
57
|
'@lezer/common',
|
|
58
|
+
'@lezer/highlight',
|
|
63
59
|
'@lezer/lr',
|
|
64
|
-
'
|
|
65
|
-
|
|
60
|
+
'obsidian']
|
|
61
|
+
);
|
|
66
62
|
|
|
67
|
-
const DEPRECATED_OBSIDIAN_BUILT_IN_MODULE_NAMES = [
|
|
63
|
+
const DEPRECATED_OBSIDIAN_BUILT_IN_MODULE_NAMES = new Set([
|
|
68
64
|
'@codemirror/closebrackets',
|
|
69
65
|
'@codemirror/comment',
|
|
70
66
|
'@codemirror/fold',
|
|
@@ -76,11 +72,11 @@ if you want to view the source, please visit the github repository of this plugi
|
|
|
76
72
|
'@codemirror/rangeset',
|
|
77
73
|
'@codemirror/rectangular-selection',
|
|
78
74
|
'@codemirror/stream-parser',
|
|
79
|
-
'@codemirror/tooltip']
|
|
80
|
-
|
|
75
|
+
'@codemirror/tooltip']
|
|
76
|
+
);
|
|
81
77
|
|
|
82
78
|
function requirePatched(id) {
|
|
83
|
-
if (OBSIDIAN_BUILT_IN_MODULE_NAMES.
|
|
79
|
+
if (OBSIDIAN_BUILT_IN_MODULE_NAMES.has(id) || DEPRECATED_OBSIDIAN_BUILT_IN_MODULE_NAMES.has(id)) {
|
|
84
80
|
return originalRequire?.(id);
|
|
85
81
|
}
|
|
86
82
|
|
|
@@ -89,8 +85,8 @@ if you want to view the source, please visit the github repository of this plugi
|
|
|
89
85
|
if (id === 'process' || id === 'node:process') {
|
|
90
86
|
// eslint-disable-next-line no-console -- Valid usage.
|
|
91
87
|
console.debug(`The most likely you can safely ignore this error. Module not found: ${id}. Fake process object is returned instead.`);
|
|
92
|
-
|
|
93
|
-
return
|
|
88
|
+
|
|
89
|
+
return process;
|
|
94
90
|
}
|
|
95
91
|
} else {
|
|
96
92
|
const module = originalRequire?.(id);
|
|
@@ -152,4 +148,4 @@ class PluginStatusBarItemRegistrar {
|
|
|
152
148
|
0 && (module.exports = {
|
|
153
149
|
PluginStatusBarItemRegistrar
|
|
154
150
|
});
|
|
155
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
151
|
+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vc3JjL29ic2lkaWFuL3N0YXR1cy1iYXItaXRlbS1yZWdpc3RyYXIudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbIi8qKlxuICogQGZpbGVcbiAqXG4gKiBTdGF0dXMgYmFyIGl0ZW0gcmVnaXN0cmFycy5cbiAqL1xuXG5pbXBvcnQgeyBQbHVnaW4gfSBmcm9tICdvYnNpZGlhbic7XG5cbi8qKlxuICogU3RhdHVzIGJhciBpdGVtIHJlZ2lzdHJhci5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTdGF0dXNCYXJJdGVtUmVnaXN0cmFyIHtcbiAgLyoqXG4gICAqIFJlZ2lzdGVycyBhIHN0YXR1cyBiYXIgaXRlbS5cbiAgICpcbiAgICogQHJldHVybnMgVGhlIHJlZ2lzdGVyZWQgc3RhdHVzIGJhciBpdGVtIGVsZW1lbnQuXG4gICAqL1xuICBhZGRTdGF0dXNCYXJJdGVtKCk6IEhUTUxFbGVtZW50O1xufVxuXG4vKipcbiAqIFN0YXR1cyBiYXIgaXRlbSByZWdpc3RyYXIgaW4gYW4gT2JzaWRpYW4gcGx1Z2luLlxuICovXG5leHBvcnQgY2xhc3MgUGx1Z2luU3RhdHVzQmFySXRlbVJlZ2lzdHJhciBpbXBsZW1lbnRzIFN0YXR1c0Jhckl0ZW1SZWdpc3RyYXIge1xuICAvKipcbiAgICogQ3JlYXRlcyBhIG5ldyBpbnN0YW5jZSBvZiB0aGUge0BsaW5rIFBsdWdpblN0YXR1c0Jhckl0ZW1SZWdpc3RyYXJ9IGNsYXNzLlxuICAgKlxuICAgKiBAcGFyYW0gcGx1Z2luIC0gVGhlIE9ic2lkaWFuIHBsdWdpbiBpbnN0YW5jZS5cbiAgICovXG4gIHB1YmxpYyBjb25zdHJ1Y3Rvcihwcm90ZWN0ZWQgcmVhZG9ubHkgcGx1Z2luOiBQbHVnaW4pIHt9XG5cbiAgLyoqXG4gICAqIFJlZ2lzdGVycyBhIHN0YXR1cyBiYXIgaXRlbS5cbiAgICpcbiAgICogQHJldHVybnMgVGhlIHJlZ2lzdGVyZWQgc3RhdHVzIGJhciBpdGVtIGVsZW1lbnQuXG4gICAqL1xuICBwdWJsaWMgYWRkU3RhdHVzQmFySXRlbSgpOiBIVE1MRWxlbWVudCB7XG4gICAgcmV0dXJuIHRoaXMucGx1Z2luLmFkZFN0YXR1c0Jhckl0ZW0oKTtcbiAgfVxufVxuIl0sCiAgIm1hcHBpbmdzIjogIjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFNQSxzQkFBdUI7QUFpQmhCLE1BQU0sNkJBQStEO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBTW5FLFlBQStCLFFBQWdCO0FBQWhCO0FBQUEsRUFBaUI7QUFBQSxFQUFqQjtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQU8vQixtQkFBZ0M7QUFDckMsV0FBTyxLQUFLLE9BQU8saUJBQWlCO0FBQUEsRUFDdEM7QUFDRjsiLAogICJuYW1lcyI6IFtdCn0K
|
|
@@ -40,16 +40,11 @@ if you want to view the source, please visit the github repository of this plugi
|
|
|
40
40
|
globalThisRecord[key] ??= newFuncs[key]?.();
|
|
41
41
|
}
|
|
42
42
|
|
|
43
|
-
function name(obj) {
|
|
44
|
-
return obj;
|
|
45
|
-
}
|
|
46
|
-
|
|
47
43
|
function extractDefault(module) {
|
|
48
44
|
return module && module.__esModule && 'default' in module ? module.default : module;
|
|
49
45
|
}
|
|
50
46
|
|
|
51
|
-
const OBSIDIAN_BUILT_IN_MODULE_NAMES = [
|
|
52
|
-
'obsidian',
|
|
47
|
+
const OBSIDIAN_BUILT_IN_MODULE_NAMES = new Set([
|
|
53
48
|
'@codemirror/autocomplete',
|
|
54
49
|
'@codemirror/collab',
|
|
55
50
|
'@codemirror/commands',
|
|
@@ -60,11 +55,12 @@ if you want to view the source, please visit the github repository of this plugi
|
|
|
60
55
|
'@codemirror/text',
|
|
61
56
|
'@codemirror/view',
|
|
62
57
|
'@lezer/common',
|
|
58
|
+
'@lezer/highlight',
|
|
63
59
|
'@lezer/lr',
|
|
64
|
-
'
|
|
65
|
-
|
|
60
|
+
'obsidian']
|
|
61
|
+
);
|
|
66
62
|
|
|
67
|
-
const DEPRECATED_OBSIDIAN_BUILT_IN_MODULE_NAMES = [
|
|
63
|
+
const DEPRECATED_OBSIDIAN_BUILT_IN_MODULE_NAMES = new Set([
|
|
68
64
|
'@codemirror/closebrackets',
|
|
69
65
|
'@codemirror/comment',
|
|
70
66
|
'@codemirror/fold',
|
|
@@ -76,11 +72,11 @@ if you want to view the source, please visit the github repository of this plugi
|
|
|
76
72
|
'@codemirror/rangeset',
|
|
77
73
|
'@codemirror/rectangular-selection',
|
|
78
74
|
'@codemirror/stream-parser',
|
|
79
|
-
'@codemirror/tooltip']
|
|
80
|
-
|
|
75
|
+
'@codemirror/tooltip']
|
|
76
|
+
);
|
|
81
77
|
|
|
82
78
|
function requirePatched(id) {
|
|
83
|
-
if (OBSIDIAN_BUILT_IN_MODULE_NAMES.
|
|
79
|
+
if (OBSIDIAN_BUILT_IN_MODULE_NAMES.has(id) || DEPRECATED_OBSIDIAN_BUILT_IN_MODULE_NAMES.has(id)) {
|
|
84
80
|
return originalRequire?.(id);
|
|
85
81
|
}
|
|
86
82
|
|
|
@@ -89,8 +85,8 @@ if you want to view the source, please visit the github repository of this plugi
|
|
|
89
85
|
if (id === 'process' || id === 'node:process') {
|
|
90
86
|
// eslint-disable-next-line no-console -- Valid usage.
|
|
91
87
|
console.debug(`The most likely you can safely ignore this error. Module not found: ${id}. Fake process object is returned instead.`);
|
|
92
|
-
|
|
93
|
-
return
|
|
88
|
+
|
|
89
|
+
return process;
|
|
94
90
|
}
|
|
95
91
|
} else {
|
|
96
92
|
const module = originalRequire?.(id);
|
|
@@ -160,4 +156,4 @@ function getOsUnsafePathCharsRegExp(isWindows) {
|
|
|
160
156
|
getOsUnsafePathCharsRegExp,
|
|
161
157
|
isValidationMessageHolder
|
|
162
158
|
});
|
|
163
|
-
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vc3JjL29ic2lkaWFuL3ZhbGlkYXRpb24udHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbIi8qKlxuICogQGZpbGVcbiAqXG4gKiBWYWxpZGF0aW9uIHV0aWxpdGllcy5cbiAqL1xuXG5pbXBvcnQgeyBQbGF0Zm9ybSB9IGZyb20gJ29ic2lkaWFuJztcblxuaW1wb3J0IHsgb25lT2YgfSBmcm9tICcuLi9yZWctZXhwLnRzJztcblxuLyoqXG4gKiBIb2xkcyBhIHZhbGlkYXRpb24gbWVzc2FnZS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBWYWxpZGF0aW9uTWVzc2FnZUhvbGRlciB7XG4gIC8qKlxuICAgKiBBIHZhbGlkYXRpb24gbWVzc2FnZS5cbiAgICovXG4gIHZhbGlkYXRpb25NZXNzYWdlOiBzdHJpbmc7XG59XG5cbi8qKlxuICogVHlwZSBndWFyZCB0byBjaGVjayBpZiBhIHZhbHVlIGlzIGEgdmFsaWRhdGlvbiBtZXNzYWdlIGhvbGRlci5cbiAqXG4gKiBAcGFyYW0gdmFsdWUgLSBUaGUgdmFsdWUgdG8gY2hlY2suXG4gKiBAcmV0dXJucyBgdHJ1ZWAgaWYgdGhlIHZhbHVlIGlzIGEgdmFsaWRhdGlvbiBtZXNzYWdlIGhvbGRlciwgYGZhbHNlYCBvdGhlcndpc2UuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBpc1ZhbGlkYXRpb25NZXNzYWdlSG9sZGVyKHZhbHVlOiB1bmtub3duKTogdmFsdWUgaXMgVmFsaWRhdGlvbk1lc3NhZ2VIb2xkZXIge1xuICByZXR1cm4gKHZhbHVlIGFzIFBhcnRpYWw8VmFsaWRhdGlvbk1lc3NhZ2VIb2xkZXI+KS52YWxpZGF0aW9uTWVzc2FnZSAhPT0gdW5kZWZpbmVkO1xufVxuXG4vKipcbiAqIE1hdGNoZXMgY2hhcmFjdGVycyB0aGF0IGFyZSBub3Qgc2FmZSB0byB1c2UgaW4gZmlsZSBuYW1lcyB3aXRoaW4gT2JzaWRpYW4uXG4gKi9cbmV4cG9ydCBjb25zdCBPQlNJRElBTl9VTlNBRkVfRklMRU5BTUVfQ0hBUlMgPSAvWyNeW1xcXXxdL2c7XG5cbi8qKlxuICogV2luZG93cy1zcGVjaWZpYyB1bnNhZmUgZmlsZSBuYW1lIHBhdGggY2hhcmFjdGVycy5cbiAqL1xuZXhwb3J0IGNvbnN0IFdJTkRPV1NfVU5TQUZFX1BBVEhfQ0hBUlMgPSAvWypcXFxcLzw+Onw/XCJdL2c7XG5cbi8qKlxuICogVW5peC1zcGVjaWZpYyB1bnNhZmUgZmlsZSBuYW1lIHBhdGggY2hhcmFjdGVycy5cbiAqL1xuZXhwb3J0IGNvbnN0IFVOSVhfVU5TQUZFX1BBVEhfQ0hBUlMgPSAvW1xcMC9dL2c7XG5cbi8qKlxuICogUmV0dXJucyBhIHJlZ2V4cCBtYXRjaGluZyBhbGwgdW5zYWZlIGNoYXJhY3RlcnMgaW4gZmlsZSBuYW1lcy9wYXRocy5cbiAqXG4gKiBJbmNsdWRlcyBib3RoIE9TLXNwZWNpZmljIHJlc3RyaWN0aW9ucyBhbmQgT2JzaWRpYW4tc3BlY2lmaWMgb25lcy5cbiAqXG4gKiBAcGFyYW0gaXNXaW5kb3dzIC0gV2hldGhlciB0byBpbmNsdWRlIFdpbmRvd3Mtc3BlY2lmaWMgcmVzdHJpY3Rpb25zLiBEZWZhdWx0cyB0byBgUGxhdGZvcm0uaXNXaW5gLlxuICogQHJldHVybnMgQSByZWdleHAgbWF0Y2hpbmcgYWxsIHVuc2FmZSBjaGFyYWN0ZXJzIGluIGZpbGUgbmFtZXMvcGF0aHMuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXRPc0FuZE9ic2lkaWFuVW5zYWZlUGF0aENoYXJzUmVnRXhwKGlzV2luZG93cz86IGJvb2xlYW4pOiBSZWdFeHAge1xuICByZXR1cm4gb25lT2YoW1xuICAgIGdldE9zVW5zYWZlUGF0aENoYXJzUmVnRXhwKGlzV2luZG93cyksXG4gICAgT0JTSURJQU5fVU5TQUZFX0ZJTEVOQU1FX0NIQVJTXG4gIF0pO1xufVxuXG4vKipcbiAqIFJldHVybnMgYSByZWdleHAgbWF0Y2hpbmcgY2hhcmFjdGVycyB0aGF0IGFyZSBub3Qgc2FmZSB0byB1c2UgaW4gZmlsZSBuYW1lcy9wYXRocyBhdCB0aGUgT1MgbGV2ZWwuXG4gKlxuICogQHBhcmFtIGlzV2luZG93cyAtIFdoZXRoZXIgdG8gaW5jbHVkZSBXaW5kb3dzLXNwZWNpZmljIHJlc3RyaWN0aW9ucy4gRGVmYXVsdHMgdG8gYFBsYXRmb3JtLmlzV2luYC5cbiAqIEByZXR1cm5zIEEgcmVnZXhwIG1hdGNoaW5nIGNoYXJhY3RlcnMgdGhhdCBhcmUgbm90IHNhZmUgdG8gdXNlIGluIGZpbGUgbmFtZXMvcGF0aHMgYXQgdGhlIE9TIGxldmVsLlxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0T3NVbnNhZmVQYXRoQ2hhcnNSZWdFeHAoaXNXaW5kb3dzPzogYm9vbGVhbik6IFJlZ0V4cCB7XG4gIGlzV2luZG93cyA/
|
|
159
|
+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vc3JjL29ic2lkaWFuL3ZhbGlkYXRpb24udHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbIi8qKlxuICogQGZpbGVcbiAqXG4gKiBWYWxpZGF0aW9uIHV0aWxpdGllcy5cbiAqL1xuXG5pbXBvcnQgeyBQbGF0Zm9ybSB9IGZyb20gJ29ic2lkaWFuJztcblxuaW1wb3J0IHsgb25lT2YgfSBmcm9tICcuLi9yZWctZXhwLnRzJztcblxuLyoqXG4gKiBIb2xkcyBhIHZhbGlkYXRpb24gbWVzc2FnZS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBWYWxpZGF0aW9uTWVzc2FnZUhvbGRlciB7XG4gIC8qKlxuICAgKiBBIHZhbGlkYXRpb24gbWVzc2FnZS5cbiAgICovXG4gIHZhbGlkYXRpb25NZXNzYWdlOiBzdHJpbmc7XG59XG5cbi8qKlxuICogVHlwZSBndWFyZCB0byBjaGVjayBpZiBhIHZhbHVlIGlzIGEgdmFsaWRhdGlvbiBtZXNzYWdlIGhvbGRlci5cbiAqXG4gKiBAcGFyYW0gdmFsdWUgLSBUaGUgdmFsdWUgdG8gY2hlY2suXG4gKiBAcmV0dXJucyBgdHJ1ZWAgaWYgdGhlIHZhbHVlIGlzIGEgdmFsaWRhdGlvbiBtZXNzYWdlIGhvbGRlciwgYGZhbHNlYCBvdGhlcndpc2UuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBpc1ZhbGlkYXRpb25NZXNzYWdlSG9sZGVyKHZhbHVlOiB1bmtub3duKTogdmFsdWUgaXMgVmFsaWRhdGlvbk1lc3NhZ2VIb2xkZXIge1xuICByZXR1cm4gKHZhbHVlIGFzIFBhcnRpYWw8VmFsaWRhdGlvbk1lc3NhZ2VIb2xkZXI+KS52YWxpZGF0aW9uTWVzc2FnZSAhPT0gdW5kZWZpbmVkO1xufVxuXG4vKipcbiAqIE1hdGNoZXMgY2hhcmFjdGVycyB0aGF0IGFyZSBub3Qgc2FmZSB0byB1c2UgaW4gZmlsZSBuYW1lcyB3aXRoaW4gT2JzaWRpYW4uXG4gKi9cbmV4cG9ydCBjb25zdCBPQlNJRElBTl9VTlNBRkVfRklMRU5BTUVfQ0hBUlMgPSAvWyNeW1xcXXxdL2c7XG5cbi8qKlxuICogV2luZG93cy1zcGVjaWZpYyB1bnNhZmUgZmlsZSBuYW1lIHBhdGggY2hhcmFjdGVycy5cbiAqL1xuZXhwb3J0IGNvbnN0IFdJTkRPV1NfVU5TQUZFX1BBVEhfQ0hBUlMgPSAvWypcXFxcLzw+Onw/XCJdL2c7XG5cbi8qKlxuICogVW5peC1zcGVjaWZpYyB1bnNhZmUgZmlsZSBuYW1lIHBhdGggY2hhcmFjdGVycy5cbiAqL1xuZXhwb3J0IGNvbnN0IFVOSVhfVU5TQUZFX1BBVEhfQ0hBUlMgPSAvW1xcMC9dL2c7XG5cbi8qKlxuICogUmV0dXJucyBhIHJlZ2V4cCBtYXRjaGluZyBhbGwgdW5zYWZlIGNoYXJhY3RlcnMgaW4gZmlsZSBuYW1lcy9wYXRocy5cbiAqXG4gKiBJbmNsdWRlcyBib3RoIE9TLXNwZWNpZmljIHJlc3RyaWN0aW9ucyBhbmQgT2JzaWRpYW4tc3BlY2lmaWMgb25lcy5cbiAqXG4gKiBAcGFyYW0gaXNXaW5kb3dzIC0gV2hldGhlciB0byBpbmNsdWRlIFdpbmRvd3Mtc3BlY2lmaWMgcmVzdHJpY3Rpb25zLiBEZWZhdWx0cyB0byBgUGxhdGZvcm0uaXNXaW5gLlxuICogQHJldHVybnMgQSByZWdleHAgbWF0Y2hpbmcgYWxsIHVuc2FmZSBjaGFyYWN0ZXJzIGluIGZpbGUgbmFtZXMvcGF0aHMuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXRPc0FuZE9ic2lkaWFuVW5zYWZlUGF0aENoYXJzUmVnRXhwKGlzV2luZG93cz86IGJvb2xlYW4pOiBSZWdFeHAge1xuICByZXR1cm4gb25lT2YoW1xuICAgIGdldE9zVW5zYWZlUGF0aENoYXJzUmVnRXhwKGlzV2luZG93cyksXG4gICAgT0JTSURJQU5fVU5TQUZFX0ZJTEVOQU1FX0NIQVJTXG4gIF0pO1xufVxuXG4vKipcbiAqIFJldHVybnMgYSByZWdleHAgbWF0Y2hpbmcgY2hhcmFjdGVycyB0aGF0IGFyZSBub3Qgc2FmZSB0byB1c2UgaW4gZmlsZSBuYW1lcy9wYXRocyBhdCB0aGUgT1MgbGV2ZWwuXG4gKlxuICogQHBhcmFtIGlzV2luZG93cyAtIFdoZXRoZXIgdG8gaW5jbHVkZSBXaW5kb3dzLXNwZWNpZmljIHJlc3RyaWN0aW9ucy4gRGVmYXVsdHMgdG8gYFBsYXRmb3JtLmlzV2luYC5cbiAqIEByZXR1cm5zIEEgcmVnZXhwIG1hdGNoaW5nIGNoYXJhY3RlcnMgdGhhdCBhcmUgbm90IHNhZmUgdG8gdXNlIGluIGZpbGUgbmFtZXMvcGF0aHMgYXQgdGhlIE9TIGxldmVsLlxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0T3NVbnNhZmVQYXRoQ2hhcnNSZWdFeHAoaXNXaW5kb3dzPzogYm9vbGVhbik6IFJlZ0V4cCB7XG4gIGlzV2luZG93cyA/Pz0gUGxhdGZvcm0uaXNXaW47XG4gIHJldHVybiBpc1dpbmRvd3MgPyBXSU5ET1dTX1VOU0FGRV9QQVRIX0NIQVJTIDogVU5JWF9VTlNBRkVfUEFUSF9DSEFSUztcbn1cbiJdLAogICJtYXBwaW5ncyI6ICI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQU1BLHNCQUF5QjtBQUV6QixxQkFBc0I7QUFrQmYsU0FBUywwQkFBMEIsT0FBa0Q7QUFDMUYsU0FBUSxNQUEyQyxzQkFBc0I7QUFDM0U7QUFLTyxNQUFNLGlDQUFpQztBQUt2QyxNQUFNLDRCQUE0QjtBQUtsQyxNQUFNLHlCQUF5QjtBQVUvQixTQUFTLHNDQUFzQyxXQUE2QjtBQUNqRixhQUFPLHNCQUFNO0FBQUEsSUFDWCwyQkFBMkIsU0FBUztBQUFBLElBQ3BDO0FBQUEsRUFDRixDQUFDO0FBQ0g7QUFRTyxTQUFTLDJCQUEyQixXQUE2QjtBQUN0RSxnQkFBYyx5QkFBUztBQUN2QixTQUFPLFlBQVksNEJBQTRCO0FBQ2pEOyIsCiAgIm5hbWVzIjogW10KfQo=
|
|
@@ -40,16 +40,11 @@ if you want to view the source, please visit the github repository of this plugi
|
|
|
40
40
|
globalThisRecord[key] ??= newFuncs[key]?.();
|
|
41
41
|
}
|
|
42
42
|
|
|
43
|
-
function name(obj) {
|
|
44
|
-
return obj;
|
|
45
|
-
}
|
|
46
|
-
|
|
47
43
|
function extractDefault(module) {
|
|
48
44
|
return module && module.__esModule && 'default' in module ? module.default : module;
|
|
49
45
|
}
|
|
50
46
|
|
|
51
|
-
const OBSIDIAN_BUILT_IN_MODULE_NAMES = [
|
|
52
|
-
'obsidian',
|
|
47
|
+
const OBSIDIAN_BUILT_IN_MODULE_NAMES = new Set([
|
|
53
48
|
'@codemirror/autocomplete',
|
|
54
49
|
'@codemirror/collab',
|
|
55
50
|
'@codemirror/commands',
|
|
@@ -60,11 +55,12 @@ if you want to view the source, please visit the github repository of this plugi
|
|
|
60
55
|
'@codemirror/text',
|
|
61
56
|
'@codemirror/view',
|
|
62
57
|
'@lezer/common',
|
|
58
|
+
'@lezer/highlight',
|
|
63
59
|
'@lezer/lr',
|
|
64
|
-
'
|
|
65
|
-
|
|
60
|
+
'obsidian']
|
|
61
|
+
);
|
|
66
62
|
|
|
67
|
-
const DEPRECATED_OBSIDIAN_BUILT_IN_MODULE_NAMES = [
|
|
63
|
+
const DEPRECATED_OBSIDIAN_BUILT_IN_MODULE_NAMES = new Set([
|
|
68
64
|
'@codemirror/closebrackets',
|
|
69
65
|
'@codemirror/comment',
|
|
70
66
|
'@codemirror/fold',
|
|
@@ -76,11 +72,11 @@ if you want to view the source, please visit the github repository of this plugi
|
|
|
76
72
|
'@codemirror/rangeset',
|
|
77
73
|
'@codemirror/rectangular-selection',
|
|
78
74
|
'@codemirror/stream-parser',
|
|
79
|
-
'@codemirror/tooltip']
|
|
80
|
-
|
|
75
|
+
'@codemirror/tooltip']
|
|
76
|
+
);
|
|
81
77
|
|
|
82
78
|
function requirePatched(id) {
|
|
83
|
-
if (OBSIDIAN_BUILT_IN_MODULE_NAMES.
|
|
79
|
+
if (OBSIDIAN_BUILT_IN_MODULE_NAMES.has(id) || DEPRECATED_OBSIDIAN_BUILT_IN_MODULE_NAMES.has(id)) {
|
|
84
80
|
return originalRequire?.(id);
|
|
85
81
|
}
|
|
86
82
|
|
|
@@ -89,8 +85,8 @@ if you want to view the source, please visit the github repository of this plugi
|
|
|
89
85
|
if (id === 'process' || id === 'node:process') {
|
|
90
86
|
// eslint-disable-next-line no-console -- Valid usage.
|
|
91
87
|
console.debug(`The most likely you can safely ignore this error. Module not found: ${id}. Fake process object is returned instead.`);
|
|
92
|
-
|
|
93
|
-
return
|
|
88
|
+
|
|
89
|
+
return process;
|
|
94
90
|
}
|
|
95
91
|
} else {
|
|
96
92
|
const module = originalRequire?.(id);
|
|
@@ -125,6 +121,7 @@ var __copyProps = (to, from, except, desc) => {
|
|
|
125
121
|
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
126
122
|
var vault_delete_exports = {};
|
|
127
123
|
__export(vault_delete_exports, {
|
|
124
|
+
DeleteIfNotUsedResult: () => DeleteIfNotUsedResult,
|
|
128
125
|
deleteIfNotUsed: () => deleteIfNotUsed
|
|
129
126
|
});
|
|
130
127
|
module.exports = __toCommonJS(vault_delete_exports);
|
|
@@ -134,10 +131,15 @@ var import_file_system = require('./file-system.cjs');
|
|
|
134
131
|
var import_i18n = require('./i18n/i18n.cjs');
|
|
135
132
|
var import_metadata_cache = require('./metadata-cache.cjs');
|
|
136
133
|
var import_vault = require('./vault.cjs');
|
|
134
|
+
var DeleteIfNotUsedResult = /* @__PURE__ */ ((DeleteIfNotUsedResult2) => {
|
|
135
|
+
DeleteIfNotUsedResult2["Deleted"] = "deleted";
|
|
136
|
+
DeleteIfNotUsedResult2["NotDeleted"] = "not-deleted";
|
|
137
|
+
return DeleteIfNotUsedResult2;
|
|
138
|
+
})(DeleteIfNotUsedResult || {});
|
|
137
139
|
async function deleteIfNotUsed(params) {
|
|
138
140
|
const file = (0, import_file_system.getAbstractFileOrNull)({ app: params.app, pathOrFile: params.pathOrFile });
|
|
139
141
|
if (!file) {
|
|
140
|
-
return
|
|
142
|
+
return "not-deleted" /* NotDeleted */;
|
|
141
143
|
}
|
|
142
144
|
let canDelete = (0, import_file_system.isFile)(file) || (params.shouldDeleteEmptyFolders ?? true);
|
|
143
145
|
if ((0, import_file_system.isFile)(file)) {
|
|
@@ -158,22 +160,23 @@ async function deleteIfNotUsed(params) {
|
|
|
158
160
|
pathOrFile: child,
|
|
159
161
|
pluginNoticeComponent: params.pluginNoticeComponent,
|
|
160
162
|
shouldDeleteEmptyFolders: params.shouldDeleteEmptyFolders
|
|
161
|
-
}))
|
|
163
|
+
})) === "deleted" /* Deleted */;
|
|
162
164
|
}
|
|
163
165
|
canDelete &&= await (0, import_vault.isEmptyFolder)(params.app, file);
|
|
164
166
|
}
|
|
165
167
|
if (canDelete) {
|
|
166
168
|
try {
|
|
167
169
|
await (0, import_vault.trashSafe)(params.app, file);
|
|
168
|
-
} catch (
|
|
169
|
-
(0, import_error.printError)(new Error(`Failed to delete ${file.path}`, { cause:
|
|
170
|
+
} catch (error) {
|
|
171
|
+
(0, import_error.printError)(new Error(`Failed to delete ${file.path}`, { cause: error }));
|
|
170
172
|
canDelete = false;
|
|
171
173
|
}
|
|
172
174
|
}
|
|
173
|
-
return canDelete
|
|
175
|
+
return canDelete ? "deleted" /* Deleted */ : "not-deleted" /* NotDeleted */;
|
|
174
176
|
}
|
|
175
177
|
// Annotate the CommonJS export names for ESM import in node:
|
|
176
178
|
0 && (module.exports = {
|
|
179
|
+
DeleteIfNotUsedResult,
|
|
177
180
|
deleteIfNotUsed
|
|
178
181
|
});
|
|
179
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
182
|
+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vc3JjL29ic2lkaWFuL3ZhdWx0LWRlbGV0ZS50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsiLyoqXG4gKiBAZmlsZVxuICpcbiAqIFRoaXMgbW9kdWxlIHByb3ZpZGVzIGRlbGV0aW9uIHV0aWxpdGllcyB0aGF0IHJlcXVpcmUgbWV0YWRhdGEgY2FjaGUgYWNjZXNzLlxuICovXG5cbmltcG9ydCB0eXBlIHsgQXBwIH0gZnJvbSAnb2JzaWRpYW4nO1xuXG5pbXBvcnQgdHlwZSB7IFBsdWdpbk5vdGljZUNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9wbHVnaW4tbm90aWNlLWNvbXBvbmVudC50cyc7XG5pbXBvcnQgdHlwZSB7IFBhdGhPckFic3RyYWN0RmlsZSB9IGZyb20gJy4vZmlsZS1zeXN0ZW0udHMnO1xuXG5pbXBvcnQgeyBwcmludEVycm9yIH0gZnJvbSAnLi4vZXJyb3IudHMnO1xuaW1wb3J0IHsgbm9ybWFsaXplT3B0aW9uYWxQcm9wZXJ0aWVzIH0gZnJvbSAnLi4vb2JqZWN0LXV0aWxzLnRzJztcbmltcG9ydCB7XG4gIGdldEFic3RyYWN0RmlsZU9yTnVsbCxcbiAgaXNGaWxlLFxuICBpc0ZvbGRlclxufSBmcm9tICcuL2ZpbGUtc3lzdGVtLnRzJztcbmltcG9ydCB7IHQgfSBmcm9tICcuL2kxOG4vaTE4bi50cyc7XG5pbXBvcnQgeyBnZXRCYWNrbGlua3NGb3JGaWxlU2FmZSB9IGZyb20gJy4vbWV0YWRhdGEtY2FjaGUudHMnO1xuaW1wb3J0IHtcbiAgaXNFbXB0eUZvbGRlcixcbiAgbGlzdFNhZmUsXG4gIHRyYXNoU2FmZVxufSBmcm9tICcuL3ZhdWx0LnRzJztcblxuLyoqXG4gKiBUaGUgcmVzdWx0IG9mIHtAbGluayBkZWxldGVJZk5vdFVzZWR9LlxuICovXG5leHBvcnQgZW51bSBEZWxldGVJZk5vdFVzZWRSZXN1bHQge1xuICAvKipcbiAgICogVGhlIGZpbGUvZm9sZGVyIHdhcyBkZWxldGVkLlxuICAgKi9cbiAgRGVsZXRlZCA9ICdkZWxldGVkJyxcblxuICAvKipcbiAgICogVGhlIGZpbGUvZm9sZGVyIHdhcyBub3QgZGVsZXRlZC5cbiAgICovXG4gIE5vdERlbGV0ZWQgPSAnbm90LWRlbGV0ZWQnXG59XG5cbmludGVyZmFjZSBEZWxldGVJZk5vdFVzZWRQYXJhbXMge1xuICByZWFkb25seSBhcHA6IEFwcDtcbiAgcmVhZG9ubHkgZGVsZXRlZE5vdGVQYXRoPzogc3RyaW5nO1xuICByZWFkb25seSBwYXRoT3JGaWxlOiBQYXRoT3JBYnN0cmFjdEZpbGU7XG4gIHJlYWRvbmx5IHBsdWdpbk5vdGljZUNvbXBvbmVudD86IFBsdWdpbk5vdGljZUNvbXBvbmVudDtcbiAgcmVhZG9ubHkgc2hvdWxkRGVsZXRlRW1wdHlGb2xkZXJzPzogYm9vbGVhbjtcbn1cblxuLyoqXG4gKiBEZWxldGVzIGFuIGFic3RyYWN0IGZpbGUgc2FmZWx5IGZyb20gdGhlIHZhdWx0LCBidXQgb25seSBpZiBpdCBpcyBub3QgcmVmZXJlbmNlZCBieSBvdGhlciBub3Rlcy5cbiAqXG4gKiBAcGFyYW0gcGFyYW1zIC0gVGhlIHBhcmFtZXRlcnMgZm9yIHRoZSBmdW5jdGlvbi5cbiAqIEByZXR1cm5zIEEge0BsaW5rIFByb21pc2V9IHRoYXQgcmVzb2x2ZXMgdG8ge0BsaW5rIERlbGV0ZUlmTm90VXNlZFJlc3VsdC5EZWxldGVkfSBpZiB0aGUgYWJzdHJhY3QgZmlsZVxuICogd2FzIGRlbGV0ZWQsIG9yIHtAbGluayBEZWxldGVJZk5vdFVzZWRSZXN1bHQuTm90RGVsZXRlZH0gaWYgaXQgd2FzIGtlcHQuXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBkZWxldGVJZk5vdFVzZWQocGFyYW1zOiBEZWxldGVJZk5vdFVzZWRQYXJhbXMpOiBQcm9taXNlPERlbGV0ZUlmTm90VXNlZFJlc3VsdD4ge1xuICBjb25zdCBmaWxlID0gZ2V0QWJzdHJhY3RGaWxlT3JOdWxsKHsgYXBwOiBwYXJhbXMuYXBwLCBwYXRoT3JGaWxlOiBwYXJhbXMucGF0aE9yRmlsZSB9KTtcblxuICBpZiAoIWZpbGUpIHtcbiAgICByZXR1cm4gRGVsZXRlSWZOb3RVc2VkUmVzdWx0Lk5vdERlbGV0ZWQ7XG4gIH1cblxuICBsZXQgY2FuRGVsZXRlID0gaXNGaWxlKGZpbGUpIHx8IChwYXJhbXMuc2hvdWxkRGVsZXRlRW1wdHlGb2xkZXJzID8/IHRydWUpO1xuXG4gIC8qIHY4IGlnbm9yZSBzdGFydCAtLSBUQWJzdHJhY3RGaWxlIGlzIGFsd2F5cyBURmlsZSBvciBURm9sZGVyIGluIE9ic2lkaWFuOyB0aGUgZmFsc2UgYnJhbmNoIG9mIGlzRmlsZSBsZWFkcyB0byBpc0ZvbGRlci4gKi9cbiAgaWYgKGlzRmlsZShmaWxlKSkge1xuICAgIC8qIHY4IGlnbm9yZSBzdG9wICovXG4gICAgY29uc3QgYmFja2xpbmtzID0gYXdhaXQgZ2V0QmFja2xpbmtzRm9yRmlsZVNhZmUoeyBhcHA6IHBhcmFtcy5hcHAsIHBhdGhPckZpbGU6IGZpbGUgfSk7XG4gICAgaWYgKHBhcmFtcy5kZWxldGVkTm90ZVBhdGgpIHtcbiAgICAgIGJhY2tsaW5rcy5jbGVhcihwYXJhbXMuZGVsZXRlZE5vdGVQYXRoKTtcbiAgICB9XG4gICAgaWYgKGJhY2tsaW5rcy5jb3VudCgpICE9PSAwKSB7XG4gICAgICBwYXJhbXMucGx1Z2luTm90aWNlQ29tcG9uZW50Py5zaG93Tm90aWNlKHQoKCQpID0+ICQub2JzaWRpYW5EZXZVdGlscy5ub3RpY2VzLmF0dGFjaG1lbnRJc1N0aWxsVXNlZCwgeyBhdHRhY2htZW50UGF0aDogZmlsZS5wYXRoIH0pKTtcbiAgICAgIGNhbkRlbGV0ZSA9IGZhbHNlO1xuICAgIH1cbiAgICAvKiB2OCBpZ25vcmUgc3RhcnQgLS0gVEFic3RyYWN0RmlsZSBpcyBhbHdheXMgVEZpbGUgb3IgVEZvbGRlciBpbiBPYnNpZGlhbjsgZGVmZW5zaXZlIGZhbGxiYWNrLiAqL1xuICB9IGVsc2UgaWYgKGlzRm9sZGVyKGZpbGUpKSB7XG4gICAgLyogdjggaWdub3JlIHN0b3AgKi9cbiAgICBjb25zdCBsaXN0ZWRGaWxlcyA9IGF3YWl0IGxpc3RTYWZlKHBhcmFtcy5hcHAsIGZpbGUpO1xuICAgIGZvciAoY29uc3QgY2hpbGQgb2YgWy4uLmxpc3RlZEZpbGVzLmZpbGVzLCAuLi5saXN0ZWRGaWxlcy5mb2xkZXJzXSkge1xuICAgICAgY2FuRGVsZXRlICYmPSBhd2FpdCBkZWxldGVJZk5vdFVzZWQobm9ybWFsaXplT3B0aW9uYWxQcm9wZXJ0aWVzPERlbGV0ZUlmTm90VXNlZFBhcmFtcz4oe1xuICAgICAgICBhcHA6IHBhcmFtcy5hcHAsXG4gICAgICAgIGRlbGV0ZWROb3RlUGF0aDogcGFyYW1zLmRlbGV0ZWROb3RlUGF0aCxcbiAgICAgICAgcGF0aE9yRmlsZTogY2hpbGQsXG4gICAgICAgIHBsdWdpbk5vdGljZUNvbXBvbmVudDogcGFyYW1zLnBsdWdpbk5vdGljZUNvbXBvbmVudCxcbiAgICAgICAgc2hvdWxkRGVsZXRlRW1wdHlGb2xkZXJzOiBwYXJhbXMuc2hvdWxkRGVsZXRlRW1wdHlGb2xkZXJzXG4gICAgICB9KSkgPT09IERlbGV0ZUlmTm90VXNlZFJlc3VsdC5EZWxldGVkO1xuICAgIH1cblxuICAgIGNhbkRlbGV0ZSAmJj0gYXdhaXQgaXNFbXB0eUZvbGRlcihwYXJhbXMuYXBwLCBmaWxlKTtcbiAgfVxuXG4gIGlmIChjYW5EZWxldGUpIHtcbiAgICB0cnkge1xuICAgICAgYXdhaXQgdHJhc2hTYWZlKHBhcmFtcy5hcHAsIGZpbGUpO1xuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICBwcmludEVycm9yKG5ldyBFcnJvcihgRmFpbGVkIHRvIGRlbGV0ZSAke2ZpbGUucGF0aH1gLCB7IGNhdXNlOiBlcnJvciB9KSk7XG4gICAgICBjYW5EZWxldGUgPSBmYWxzZTtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gY2FuRGVsZXRlID8gRGVsZXRlSWZOb3RVc2VkUmVzdWx0LkRlbGV0ZWQgOiBEZWxldGVJZk5vdFVzZWRSZXN1bHQuTm90RGVsZXRlZDtcbn1cbiJdLAogICJtYXBwaW5ncyI6ICI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFXQSxtQkFBMkI7QUFDM0IsMEJBQTRDO0FBQzVDLHlCQUlPO0FBQ1Asa0JBQWtCO0FBQ2xCLDRCQUF3QztBQUN4QyxtQkFJTztBQUtBLElBQUssd0JBQUwsa0JBQUtBLDJCQUFMO0FBSUwsRUFBQUEsdUJBQUEsYUFBVTtBQUtWLEVBQUFBLHVCQUFBLGdCQUFhO0FBVEgsU0FBQUE7QUFBQSxHQUFBO0FBMkJaLGVBQXNCLGdCQUFnQixRQUErRDtBQUNuRyxRQUFNLFdBQU8sMENBQXNCLEVBQUUsS0FBSyxPQUFPLEtBQUssWUFBWSxPQUFPLFdBQVcsQ0FBQztBQUVyRixNQUFJLENBQUMsTUFBTTtBQUNULFdBQU87QUFBQSxFQUNUO0FBRUEsTUFBSSxnQkFBWSwyQkFBTyxJQUFJLE1BQU0sT0FBTyw0QkFBNEI7QUFHcEUsVUFBSSwyQkFBTyxJQUFJLEdBQUc7QUFFaEIsVUFBTSxZQUFZLFVBQU0sK0NBQXdCLEVBQUUsS0FBSyxPQUFPLEtBQUssWUFBWSxLQUFLLENBQUM7QUFDckYsUUFBSSxPQUFPLGlCQUFpQjtBQUMxQixnQkFBVSxNQUFNLE9BQU8sZUFBZTtBQUFBLElBQ3hDO0FBQ0EsUUFBSSxVQUFVLE1BQU0sTUFBTSxHQUFHO0FBQzNCLGFBQU8sdUJBQXVCLGVBQVcsZUFBRSxDQUFDLE1BQU0sRUFBRSxpQkFBaUIsUUFBUSx1QkFBdUIsRUFBRSxnQkFBZ0IsS0FBSyxLQUFLLENBQUMsQ0FBQztBQUNsSSxrQkFBWTtBQUFBLElBQ2Q7QUFBQSxFQUVGLGVBQVcsNkJBQVMsSUFBSSxHQUFHO0FBRXpCLFVBQU0sY0FBYyxVQUFNLHVCQUFTLE9BQU8sS0FBSyxJQUFJO0FBQ25ELGVBQVcsU0FBUyxDQUFDLEdBQUcsWUFBWSxPQUFPLEdBQUcsWUFBWSxPQUFPLEdBQUc7QUFDbEUsb0JBQWMsTUFBTSxvQkFBZ0IsaURBQW1EO0FBQUEsUUFDckYsS0FBSyxPQUFPO0FBQUEsUUFDWixpQkFBaUIsT0FBTztBQUFBLFFBQ3hCLFlBQVk7QUFBQSxRQUNaLHVCQUF1QixPQUFPO0FBQUEsUUFDOUIsMEJBQTBCLE9BQU87QUFBQSxNQUNuQyxDQUFDLENBQUMsTUFBTTtBQUFBLElBQ1Y7QUFFQSxrQkFBYyxVQUFNLDRCQUFjLE9BQU8sS0FBSyxJQUFJO0FBQUEsRUFDcEQ7QUFFQSxNQUFJLFdBQVc7QUFDYixRQUFJO0FBQ0YsZ0JBQU0sd0JBQVUsT0FBTyxLQUFLLElBQUk7QUFBQSxJQUNsQyxTQUFTLE9BQU87QUFDZCxtQ0FBVyxJQUFJLE1BQU0sb0JBQW9CLEtBQUssSUFBSSxJQUFJLEVBQUUsT0FBTyxNQUFNLENBQUMsQ0FBQztBQUN2RSxrQkFBWTtBQUFBLElBQ2Q7QUFBQSxFQUNGO0FBRUEsU0FBTyxZQUFZLDBCQUFnQztBQUNyRDsiLAogICJuYW1lcyI6IFsiRGVsZXRlSWZOb3RVc2VkUmVzdWx0Il0KfQo=
|
|
@@ -7,6 +7,19 @@
|
|
|
7
7
|
import type { App } from 'obsidian' with { 'resolution-mode': 'import' };
|
|
8
8
|
import type { PluginNoticeComponent } from './components/plugin-notice-component.cjs';
|
|
9
9
|
import type { PathOrAbstractFile } from './file-system.cjs';
|
|
10
|
+
/**
|
|
11
|
+
* The result of {@link deleteIfNotUsed}.
|
|
12
|
+
*/
|
|
13
|
+
export declare enum DeleteIfNotUsedResult {
|
|
14
|
+
/**
|
|
15
|
+
* The file/folder was deleted.
|
|
16
|
+
*/
|
|
17
|
+
Deleted = "deleted",
|
|
18
|
+
/**
|
|
19
|
+
* The file/folder was not deleted.
|
|
20
|
+
*/
|
|
21
|
+
NotDeleted = "not-deleted"
|
|
22
|
+
}
|
|
10
23
|
interface DeleteIfNotUsedParams {
|
|
11
24
|
readonly app: App;
|
|
12
25
|
readonly deletedNotePath?: string;
|
|
@@ -18,7 +31,8 @@ interface DeleteIfNotUsedParams {
|
|
|
18
31
|
* Deletes an abstract file safely from the vault, but only if it is not referenced by other notes.
|
|
19
32
|
*
|
|
20
33
|
* @param params - The parameters for the function.
|
|
21
|
-
* @returns A {@link Promise} that resolves to
|
|
34
|
+
* @returns A {@link Promise} that resolves to {@link DeleteIfNotUsedResult.Deleted} if the abstract file
|
|
35
|
+
* was deleted, or {@link DeleteIfNotUsedResult.NotDeleted} if it was kept.
|
|
22
36
|
*/
|
|
23
|
-
export declare function deleteIfNotUsed(params: DeleteIfNotUsedParams): Promise<
|
|
37
|
+
export declare function deleteIfNotUsed(params: DeleteIfNotUsedParams): Promise<DeleteIfNotUsedResult>;
|
|
24
38
|
export {};
|
|
@@ -40,16 +40,11 @@ if you want to view the source, please visit the github repository of this plugi
|
|
|
40
40
|
globalThisRecord[key] ??= newFuncs[key]?.();
|
|
41
41
|
}
|
|
42
42
|
|
|
43
|
-
function name(obj) {
|
|
44
|
-
return obj;
|
|
45
|
-
}
|
|
46
|
-
|
|
47
43
|
function extractDefault(module) {
|
|
48
44
|
return module && module.__esModule && 'default' in module ? module.default : module;
|
|
49
45
|
}
|
|
50
46
|
|
|
51
|
-
const OBSIDIAN_BUILT_IN_MODULE_NAMES = [
|
|
52
|
-
'obsidian',
|
|
47
|
+
const OBSIDIAN_BUILT_IN_MODULE_NAMES = new Set([
|
|
53
48
|
'@codemirror/autocomplete',
|
|
54
49
|
'@codemirror/collab',
|
|
55
50
|
'@codemirror/commands',
|
|
@@ -60,11 +55,12 @@ if you want to view the source, please visit the github repository of this plugi
|
|
|
60
55
|
'@codemirror/text',
|
|
61
56
|
'@codemirror/view',
|
|
62
57
|
'@lezer/common',
|
|
58
|
+
'@lezer/highlight',
|
|
63
59
|
'@lezer/lr',
|
|
64
|
-
'
|
|
65
|
-
|
|
60
|
+
'obsidian']
|
|
61
|
+
);
|
|
66
62
|
|
|
67
|
-
const DEPRECATED_OBSIDIAN_BUILT_IN_MODULE_NAMES = [
|
|
63
|
+
const DEPRECATED_OBSIDIAN_BUILT_IN_MODULE_NAMES = new Set([
|
|
68
64
|
'@codemirror/closebrackets',
|
|
69
65
|
'@codemirror/comment',
|
|
70
66
|
'@codemirror/fold',
|
|
@@ -76,11 +72,11 @@ if you want to view the source, please visit the github repository of this plugi
|
|
|
76
72
|
'@codemirror/rangeset',
|
|
77
73
|
'@codemirror/rectangular-selection',
|
|
78
74
|
'@codemirror/stream-parser',
|
|
79
|
-
'@codemirror/tooltip']
|
|
80
|
-
|
|
75
|
+
'@codemirror/tooltip']
|
|
76
|
+
);
|
|
81
77
|
|
|
82
78
|
function requirePatched(id) {
|
|
83
|
-
if (OBSIDIAN_BUILT_IN_MODULE_NAMES.
|
|
79
|
+
if (OBSIDIAN_BUILT_IN_MODULE_NAMES.has(id) || DEPRECATED_OBSIDIAN_BUILT_IN_MODULE_NAMES.has(id)) {
|
|
84
80
|
return originalRequire?.(id);
|
|
85
81
|
}
|
|
86
82
|
|
|
@@ -89,8 +85,8 @@ if you want to view the source, please visit the github repository of this plugi
|
|
|
89
85
|
if (id === 'process' || id === 'node:process') {
|
|
90
86
|
// eslint-disable-next-line no-console -- Valid usage.
|
|
91
87
|
console.debug(`The most likely you can safely ignore this error. Module not found: ${id}. Fake process object is returned instead.`);
|
|
92
|
-
|
|
93
|
-
return
|
|
88
|
+
|
|
89
|
+
return process;
|
|
94
90
|
}
|
|
95
91
|
} else {
|
|
96
92
|
const module = originalRequire?.(id);
|
|
@@ -128,6 +124,7 @@ __export(vault_transaction_exports, {
|
|
|
128
124
|
VaultTransaction: () => VaultTransaction
|
|
129
125
|
});
|
|
130
126
|
module.exports = __toCommonJS(vault_transaction_exports);
|
|
127
|
+
var import_disposable = require('../disposable.cjs');
|
|
131
128
|
var import_type_guards = require('../type-guards.cjs');
|
|
132
129
|
var import_editor = require('./editor.cjs');
|
|
133
130
|
var import_file_system = require('./file-system.cjs');
|
|
@@ -198,8 +195,8 @@ class VaultTransaction {
|
|
|
198
195
|
*/
|
|
199
196
|
async createFolder(path) {
|
|
200
197
|
this.assertOpen();
|
|
201
|
-
const
|
|
202
|
-
if (
|
|
198
|
+
const result = await (0, import_vault.createFolderSafe)(this.app, path);
|
|
199
|
+
if (result === import_vault.CreateFolderSafeResult.Created) {
|
|
203
200
|
this.pushUndo(async () => {
|
|
204
201
|
await this.hardDelete(path);
|
|
205
202
|
});
|
|
@@ -324,7 +321,9 @@ class VaultTransaction {
|
|
|
324
321
|
}
|
|
325
322
|
}
|
|
326
323
|
disposeMutationBypass() {
|
|
327
|
-
this.mutationBypass
|
|
324
|
+
if (this.mutationBypass) {
|
|
325
|
+
(0, import_disposable.dispose)(this.mutationBypass);
|
|
326
|
+
}
|
|
328
327
|
this.mutationBypass = null;
|
|
329
328
|
}
|
|
330
329
|
async ensureStagingFolder() {
|
|
@@ -375,4 +374,4 @@ class VaultTransaction {
|
|
|
375
374
|
0 && (module.exports = {
|
|
376
375
|
VaultTransaction
|
|
377
376
|
});
|
|
378
|
-
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vc3JjL29ic2lkaWFuL3ZhdWx0LXRyYW5zYWN0aW9uLnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyIvKipcbiAqIEBmaWxlXG4gKlxuICogQSByZXZlcnNpYmxlLCB0cmFuc2FjdGlvbmFsIGxvZyBvZiB2YXVsdCBtdXRhdGlvbnMuIEVhY2ggbXV0YXRpb24gcmVjb3JkcyBob3cgdG8gdW5kbyBpdHNlbGY7XG4gKiB7QGxpbmsgVmF1bHRUcmFuc2FjdGlvbi5yb2xsYmFja30gcmV2ZXJzZXMgdGhlIGNvbXBsZXRlZCBzdGVwcyBpbiByZXZlcnNlIG9yZGVyIGFuZFxuICoge0BsaW5rIFZhdWx0VHJhbnNhY3Rpb24uY29tbWl0fSBmaW5hbGl6ZXMgdGhlbS4gSXQgaXMgYnVpbHQgb24gdGhlIGAqU2FmZWAgdmF1bHQgd3JhcHBlcnMgc28gaXRcbiAqIGluaGVyaXRzIHRoZWlyIGNhc2UtaW5zZW5zaXRpdmUgLyByZXRyeSAvIG1pc3NpbmctZmlsZSBoYW5kbGluZy5cbiAqXG4gKiBBIGRlbGV0aW9uIGlzIHBlcmZvcm1lZCBhcyBhICoqc29mdC1kZWxldGUqKjogdGhlIHJlc291cmNlIGlzIG1vdmVkIGFzaWRlIGludG8gYSBkb3QtcHJlZml4ZWRcbiAqIHN0YWdpbmcgZm9sZGVyIChhIGZvbGRlciBtb3ZlcyBpdHMgd2hvbGUgc3VidHJlZSBpbiBhIHNpbmdsZSByZW5hbWUsIHNvIHN1YnRyZWUgcm9sbGJhY2sgaXMgY2hlYXBcbiAqIGFuZCBmYWl0aGZ1bCkuIEJlY2F1c2UgT2JzaWRpYW4ncyB2YXVsdCBmaWxlLXRyZWUgYW5kIGZpbGUgd2F0Y2hlciBpZ25vcmUgYW55IGAuYC1wcmVmaXhlZCBwYXRoLFxuICogc3RhZ2VkIHJlc291cmNlcyBhcmUgKip1bnRyYWNrZWQqKiBcdTIwMTQgdGhleSBkbyBub3QgY2h1cm4gdGhlIG1ldGFkYXRhIGNhY2hlLCBmbGFzaCBpbiB0aGUgZmlsZVxuICogZXhwbG9yZXIsIG9yIGdldCBwcm9wYWdhdGVkIGJ5IHN5bmMgd2hpbGUgdGhlIHRyYW5zYWN0aW9uIGlzIGluIGZsaWdodC4gVGhlIGZsaXAgc2lkZSBpcyB0aGF0XG4gKiBgdmF1bHQuKmAgbWV0aG9kcyBjYW5ub3Qgc2VlIHRoZSBzdGFnaW5nIGFyZWEsIHNvIEFMTCBzdGFnaW5nIEkvTyBnb2VzIHRocm91Z2hcbiAqIHtAbGluayBBcHAudmF1bHQuYWRhcHRlcn0gKGBta2RpcmAvYHJlbmFtZWAvYGV4aXN0c2AvYHRyYXNoU3lzdGVtYC9gcm1kaXJgKS5cbiAqIHtAbGluayBWYXVsdFRyYW5zYWN0aW9uLmNvbW1pdH0gdGhlbiB0cmFzaGVzIHRoZSBzdGFnZWQgcmVzb3VyY2VzIGZvciByZWFsOyB7QGxpbmsgVmF1bHRUcmFuc2FjdGlvbi5yb2xsYmFja31cbiAqIG1vdmVzIHRoZW0gYmFjay5cbiAqL1xuXG5pbXBvcnQgdHlwZSB7XG4gIEFwcCxcbiAgVEZpbGVcbn0gZnJvbSAnb2JzaWRpYW4nO1xuXG5pbXBvcnQgdHlwZSB7IFBhdGhPckFic3RyYWN0RmlsZSB9IGZyb20gJy4vZmlsZS1zeXN0ZW0udHMnO1xuXG5pbXBvcnQgeyBhc3NlcnROb25OdWxsYWJsZSB9IGZyb20gJy4uL3R5cGUtZ3VhcmRzLnRzJztcbmltcG9ydCB7IHN5bmNPcGVuRWRpdG9yQnVmZmVyc0ZvclBhdGggfSBmcm9tICcuL2VkaXRvci50cyc7XG5pbXBvcnQge1xuICBnZXRBYnN0cmFjdEZpbGVPck51bGwsXG4gIGdldFBhdGhcbn0gZnJvbSAnLi9maWxlLXN5c3RlbS50cyc7XG5pbXBvcnQge1xuICBjcmVhdGVGb2xkZXJTYWZlLFxuICBwcm9jZXNzLFxuICByZWFkU2FmZSxcbiAgcmVuYW1lU2FmZVxufSBmcm9tICcuL3ZhdWx0LnRzJztcblxuY29uc3QgREVGQVVMVF9TVEFHSU5HX0ZPTERFUl9QQVRIID0gJy5vYnNpZGlhbi1kZXYtdXRpbHMtdGVtcCc7XG5cbi8qKlxuICogUGFyYW1ldGVycyBmb3IgdGhlIHtAbGluayBWYXVsdFRyYW5zYWN0aW9ufSBjb25zdHJ1Y3Rvci5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBWYXVsdFRyYW5zYWN0aW9uQ29uc3RydWN0b3JQYXJhbXMge1xuICAvKipcbiAgICogVGhlIE9ic2lkaWFuIGFwcGxpY2F0aW9uIGluc3RhbmNlLlxuICAgKi9cbiAgcmVhZG9ubHkgYXBwOiBBcHA7XG5cbiAgLyoqXG4gICAqIE9wZW5zIGFuIGFtYmllbnQgbXV0YXRpb24tYnlwYXNzIHNjb3BlIGNvdmVyaW5nIHRoZSBwYXRocyB0aGlzIHRyYW5zYWN0aW9uIHRvdWNoZXMsIHNvIHRoZVxuICAgKiB0cmFuc2FjdGlvbidzIG93biB3cml0ZXMgcGFzcyBhIGBzaG91bGRCbG9ja011dGF0aW9uc2AgbG9jayB0aGF0IHRoZSBvd25pbmcgb3BlcmF0aW9uIGhvbGRzLiBJdCBpc1xuICAgKiBjYWxsZWQgb25jZSB3aGVuIHRoZSB0cmFuc2FjdGlvbiBpcyBjb25zdHJ1Y3RlZCwgYW5kIHRoZSByZXR1cm5lZCB7QGxpbmsgRGlzcG9zYWJsZX0gaXMgZGlzcG9zZWRcbiAgICogd2hlbiB0aGUgdHJhbnNhY3Rpb24gc2V0dGxlcyAob24gYGNvbW1pdGAsIGByb2xsYmFja2AsIG9yIGBhd2FpdCB1c2luZ2AgZGlzcG9zYWwpIFx1MjAxNCBzbyB0aGUgYnlwYXNzXG4gICAqIHN0YXlzIGFjdGl2ZSB0aHJvdWdoIHJvbGxiYWNrLCBpbmNsdWRpbmcgYXV0by1yb2xsYmFjaywgd2hpY2ggYSBjYWxsZXIgbWFuYWdpbmcgdGhlIHNjb3BlIGl0c2VsZlxuICAgKiBjb3VsZCBlYXNpbHkgZ2V0IHdyb25nLiBUeXBpY2FsbHlcbiAgICogYCgpID0+IHJlc291cmNlTG9ja0NvbXBvbmVudC5ieXBhc3NCbG9ja2VkTXV0YXRpb25zKGxvY2tlZFBhdGhzT3JGaWxlcylgLiBPbWl0IGl0IGZvciB0aGUgY29tbW9uXG4gICAqIHN0YW5kYWxvbmUgY2FzZSB3aGVyZSB0aGUgdHJhbnNhY3Rpb24gb3BlcmF0ZXMgb24gdW5sb2NrZWQgcGF0aHMuXG4gICAqXG4gICAqIEByZXR1cm5zIEEge0BsaW5rIERpc3Bvc2FibGV9IHRoYXQgZW5kcyB0aGUgYnlwYXNzIHNjb3BlLlxuICAgKi9cbiAgb3Blbk11dGF0aW9uQnlwYXNzPyh0aGlzOiB2b2lkKTogRGlzcG9zYWJsZTtcblxuICAvKipcbiAgICogVGhlIGRvdC1wcmVmaXhlZCBmb2xkZXIgdGhhdCBzb2Z0LWRlbGV0ZWQgcmVzb3VyY2VzIGFyZSBtb3ZlZCBpbnRvIHVudGlsIHRoZSB0cmFuc2FjdGlvbiBpc1xuICAgKiBjb21taXR0ZWQgb3Igcm9sbGVkIGJhY2suIEl0IG11c3Qgc3RheSBgLmAtcHJlZml4ZWQgc28gT2JzaWRpYW4gbGVhdmVzIHRoZSBzdGFnZWQgcmVzb3VyY2VzXG4gICAqIHVudHJhY2tlZC5cbiAgICpcbiAgICogQGRlZmF1bHQgYCcub2JzaWRpYW4tZGV2LXV0aWxzLXRlbXAnYFxuICAgKi9cbiAgcmVhZG9ubHkgc3RhZ2luZ0ZvbGRlclBhdGg/OiBzdHJpbmc7XG59XG5cbnR5cGUgVHJhbnNhY3Rpb25TdGF0ZSA9ICdjb21taXR0ZWQnIHwgJ29wZW4nIHwgJ3JvbGxlZEJhY2snO1xuXG5pbnRlcmZhY2UgVW5kb1N0ZXAge1xuICB1bmRvKHRoaXM6IHZvaWQpOiBQcm9taXNlPHZvaWQ+O1xufVxuXG4vKipcbiAqIEEgcmV2ZXJzaWJsZSBsb2cgb2YgdmF1bHQgbXV0YXRpb25zLiBQZXJmb3JtIG11dGF0aW9ucyB0aHJvdWdoIGl0cyBtZXRob2RzLCB0aGVuIGNhbGxcbiAqIHtAbGluayBWYXVsdFRyYW5zYWN0aW9uLmNvbW1pdH0gb24gc3VjY2VzcyBvciB7QGxpbmsgVmF1bHRUcmFuc2FjdGlvbi5yb2xsYmFja30gb24gZmFpbHVyZS4gSXQgaXNcbiAqIGBhd2FpdCB1c2luZ2AtZnJpZW5kbHk6IGlmIG5laXRoZXIgaXMgY2FsbGVkLCBkaXNwb3NhbCByb2xscyBiYWNrLlxuICovXG5leHBvcnQgY2xhc3MgVmF1bHRUcmFuc2FjdGlvbiB7XG4gIC8qKlxuICAgKiBUaGUgT2JzaWRpYW4gYXBwbGljYXRpb24gaW5zdGFuY2UgdGhlIHRyYW5zYWN0aW9uIG11dGF0ZXMuXG4gICAqL1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgYXBwOiBBcHA7XG4gIHByaXZhdGUgaGFzU3RhZ2luZ0ZvbGRlciA9IGZhbHNlO1xuICBwcml2YXRlIG11dGF0aW9uQnlwYXNzOiBEaXNwb3NhYmxlIHwgbnVsbCA9IG51bGw7XG4gIHByaXZhdGUgcmVhZG9ubHkgc3RhZ2VkVHJhc2hQYXRoczogc3RyaW5nW10gPSBbXTtcbiAgcHJpdmF0ZSByZWFkb25seSBzdGFnaW5nRm9sZGVyUGF0aDogc3RyaW5nO1xuICBwcml2YXRlIHN0YXRlOiBUcmFuc2FjdGlvblN0YXRlID0gJ29wZW4nO1xuICBwcml2YXRlIHJlYWRvbmx5IHVuZG9TdGVwczogVW5kb1N0ZXBbXSA9IFtdO1xuXG4gIC8qKlxuICAgKiBDcmVhdGVzIGEgbmV3IHZhdWx0IHRyYW5zYWN0aW9uLlxuICAgKlxuICAgKiBAcGFyYW0gcGFyYW1zIC0gVGhlIHBhcmFtZXRlcnMuXG4gICAqL1xuICBwdWJsaWMgY29uc3RydWN0b3IocGFyYW1zOiBWYXVsdFRyYW5zYWN0aW9uQ29uc3RydWN0b3JQYXJhbXMpIHtcbiAgICB0aGlzLmFwcCA9IHBhcmFtcy5hcHA7XG4gICAgdGhpcy5zdGFnaW5nRm9sZGVyUGF0aCA9IHBhcmFtcy5zdGFnaW5nRm9sZGVyUGF0aCA/PyBERUZBVUxUX1NUQUdJTkdfRk9MREVSX1BBVEg7XG4gICAgdGhpcy5tdXRhdGlvbkJ5cGFzcyA9IHBhcmFtcy5vcGVuTXV0YXRpb25CeXBhc3M/LigpID8/IG51bGw7XG4gIH1cblxuICAvKipcbiAgICogQ29tbWl0cyB0aGUgdHJhbnNhY3Rpb246IGZpbmFsaXplcyBzb2Z0LWRlbGV0ZXMgYnkgdHJhc2hpbmcgdGhlIHN0YWdlZCByZXNvdXJjZXMgZm9yIHJlYWwgYW5kXG4gICAqIHJlbW92ZXMgdGhlIHN0YWdpbmcgZm9sZGVyLiBBZnRlciB0aGlzIHRoZSB0cmFuc2FjdGlvbiBjYW4gbm8gbG9uZ2VyIGJlIG11dGF0ZWQgb3Igcm9sbGVkIGJhY2suXG4gICAqXG4gICAqIEByZXR1cm5zIEEge0BsaW5rIFByb21pc2V9IHRoYXQgcmVzb2x2ZXMgd2hlbiB0aGUgY29tbWl0IGNvbXBsZXRlcy5cbiAgICovXG4gIHB1YmxpYyBhc3luYyBjb21taXQoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgdGhpcy5hc3NlcnRPcGVuKCk7XG4gICAgdGhpcy5zdGF0ZSA9ICdjb21taXR0ZWQnO1xuICAgIGNvbnN0IGFkYXB0ZXIgPSB0aGlzLmFwcC52YXVsdC5hZGFwdGVyO1xuICAgIGZvciAoY29uc3Qgc3RhZ2VkUGF0aCBvZiB0aGlzLnN0YWdlZFRyYXNoUGF0aHMpIHtcbiAgICAgIGNvbnN0IHdhc1RyYXNoZWRUb1N5c3RlbSA9IGF3YWl0IGFkYXB0ZXIudHJhc2hTeXN0ZW0oc3RhZ2VkUGF0aCk7XG4gICAgICBpZiAoIXdhc1RyYXNoZWRUb1N5c3RlbSkge1xuICAgICAgICBhd2FpdCBhZGFwdGVyLnRyYXNoTG9jYWwoc3RhZ2VkUGF0aCk7XG4gICAgICB9XG4gICAgfVxuICAgIGF3YWl0IHRoaXMucmVtb3ZlU3RhZ2luZ0ZvbGRlcigpO1xuICAgIHRoaXMuZGlzcG9zZU11dGF0aW9uQnlwYXNzKCk7XG4gIH1cblxuICAvKipcbiAgICogQ3JlYXRlcyBhIGZpbGUgd2l0aCB0aGUgZ2l2ZW4gY29udGVudCwgcmVjb3JkaW5nIGl0cyByZW1vdmFsIGFzIHRoZSBpbnZlcnNlLlxuICAgKlxuICAgKiBAcGFyYW0gcGF0aCAtIFRoZSBwYXRoIG9mIHRoZSBmaWxlIHRvIGNyZWF0ZS5cbiAgICogQHBhcmFtIGRhdGEgLSBUaGUgY29udGVudCBvZiB0aGUgZmlsZS5cbiAgICogQHJldHVybnMgQSB7QGxpbmsgUHJvbWlzZX0gcmVzb2x2aW5nIHRvIHRoZSBjcmVhdGVkIHtAbGluayBURmlsZX0uXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgY3JlYXRlKHBhdGg6IHN0cmluZywgZGF0YTogc3RyaW5nKTogUHJvbWlzZTxURmlsZT4ge1xuICAgIHRoaXMuYXNzZXJ0T3BlbigpO1xuICAgIGNvbnN0IGZpbGUgPSBhd2FpdCB0aGlzLmFwcC52YXVsdC5jcmVhdGUocGF0aCwgZGF0YSk7XG4gICAgY29uc3QgY3JlYXRlZFBhdGggPSBmaWxlLnBhdGg7XG4gICAgdGhpcy5wdXNoVW5kbyhhc3luYyAoKSA9PiB7XG4gICAgICBhd2FpdCB0aGlzLmhhcmREZWxldGUoY3JlYXRlZFBhdGgpO1xuICAgIH0pO1xuICAgIHJldHVybiBmaWxlO1xuICB9XG5cbiAgLyoqXG4gICAqIENyZWF0ZXMgYSBmb2xkZXIgKGluY2x1ZGluZyBtaXNzaW5nIGFuY2VzdG9ycyksIHJlY29yZGluZyBpdHMgcmVtb3ZhbCBhcyB0aGUgaW52ZXJzZS4gQSBuby1vcCBpZlxuICAgKiB0aGUgZm9sZGVyIGFscmVhZHkgZXhpc3RzLlxuICAgKlxuICAgKiBAcGFyYW0gcGF0aCAtIFRoZSBwYXRoIG9mIHRoZSBmb2xkZXIgdG8gY3JlYXRlLlxuICAgKiBAcmV0dXJucyBBIHtAbGluayBQcm9taXNlfSB0aGF0IHJlc29sdmVzIHdoZW4gdGhlIGZvbGRlciBleGlzdHMuXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgY3JlYXRlRm9sZGVyKHBhdGg6IHN0cmluZyk6IFByb21pc2U8dm9pZD4ge1xuICAgIHRoaXMuYXNzZXJ0T3BlbigpO1xuICAgIGNvbnN0IHdhc0NyZWF0ZWQgPSBhd2FpdCBjcmVhdGVGb2xkZXJTYWZlKHRoaXMuYXBwLCBwYXRoKTtcbiAgICBpZiAod2FzQ3JlYXRlZCkge1xuICAgICAgdGhpcy5wdXNoVW5kbyhhc3luYyAoKSA9PiB7XG4gICAgICAgIGF3YWl0IHRoaXMuaGFyZERlbGV0ZShwYXRoKTtcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBSZXBsYWNlcyB0aGUgY29udGVudCBvZiBhIGZpbGUsIGNhcHR1cmluZyB0aGUgb2xkIGNvbnRlbnQgc28gaXQgY2FuIGJlIHJlc3RvcmVkIG9uIHJvbGxiYWNrLlxuICAgKlxuICAgKiBAcGFyYW0gcGF0aE9yRmlsZSAtIFRoZSBwYXRoIG9yIGZpbGUgdG8gbW9kaWZ5LlxuICAgKiBAcGFyYW0gbmV3Q29udGVudCAtIFRoZSBuZXcgY29udGVudC5cbiAgICogQHJldHVybnMgQSB7QGxpbmsgUHJvbWlzZX0gdGhhdCByZXNvbHZlcyB3aGVuIHRoZSBmaWxlIGlzIG1vZGlmaWVkLlxuICAgKi9cbiAgcHVibGljIGFzeW5jIG1vZGlmeShwYXRoT3JGaWxlOiBQYXRoT3JBYnN0cmFjdEZpbGUsIG5ld0NvbnRlbnQ6IHN0cmluZyk6IFByb21pc2U8dm9pZD4ge1xuICAgIGF3YWl0IHRoaXMucHJvY2VzcyhwYXRoT3JGaWxlLCAoKSA9PiBuZXdDb250ZW50KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBUcmFuc2Zvcm1zIHRoZSBjb250ZW50IG9mIGEgZmlsZSwgY2FwdHVyaW5nIHRoZSBvbGQgY29udGVudCBzbyBpdCBjYW4gYmUgcmVzdG9yZWQgb24gcm9sbGJhY2suXG4gICAqXG4gICAqIEBwYXJhbSBwYXRoT3JGaWxlIC0gVGhlIHBhdGggb3IgZmlsZSB0byBwcm9jZXNzLlxuICAgKiBAcGFyYW0gbmV3Q29udGVudFByb3ZpZGVyIC0gTWFwcyB0aGUgY3VycmVudCBjb250ZW50IHRvIHRoZSBuZXcgY29udGVudC5cbiAgICogQHJldHVybnMgQSB7QGxpbmsgUHJvbWlzZX0gdGhhdCByZXNvbHZlcyB3aGVuIHRoZSBmaWxlIGlzIHByb2Nlc3NlZC5cbiAgICovXG4gIHB1YmxpYyBhc3luYyBwcm9jZXNzKHBhdGhPckZpbGU6IFBhdGhPckFic3RyYWN0RmlsZSwgbmV3Q29udGVudFByb3ZpZGVyOiAoY29udGVudDogc3RyaW5nKSA9PiBzdHJpbmcpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICB0aGlzLmFzc2VydE9wZW4oKTtcbiAgICBjb25zdCBwYXRoID0gZ2V0UGF0aCh0aGlzLmFwcCwgcGF0aE9yRmlsZSk7XG4gICAgY29uc3Qgb2xkQ29udGVudCA9IGF3YWl0IHJlYWRTYWZlKHRoaXMuYXBwLCBwYXRoKTtcbiAgICBhd2FpdCBwcm9jZXNzKHtcbiAgICAgIGFwcDogdGhpcy5hcHAsXG4gICAgICBuZXdDb250ZW50UHJvdmlkZXI6ICh7IGNvbnRlbnQgfSkgPT4gbmV3Q29udGVudFByb3ZpZGVyKGNvbnRlbnQpLFxuICAgICAgcGF0aE9yRmlsZTogcGF0aCxcbiAgICAgIHBsdWdpbk5vdGljZUNvbXBvbmVudDogbnVsbCxcbiAgICAgIHJlc291cmNlTG9ja0NvbXBvbmVudDogbnVsbFxuICAgIH0pO1xuICAgIC8vIFJlYWNoaW5nIHRoaXMgbGluZSBtZWFucyBgcHJvY2Vzc2Agc3VjY2VlZGVkLiBBIG1pc3NpbmcgZmlsZSB3b3VsZCBoYXZlIHRocm93biBhYm92ZSAoaXRzXG4gICAgLy8gYHNob3VsZEZhaWxPbk1pc3NpbmdGaWxlYCBkZWZhdWx0KSwgc28gdGhlIHByZS1pbWFnZSB3YXMgY2FwdHVyZWQgYW5kIGNhbiBiZSByZXN0b3JlZCBvbiByb2xsYmFjay5cbiAgICBhc3NlcnROb25OdWxsYWJsZShvbGRDb250ZW50KTtcbiAgICB0aGlzLnB1c2hVbmRvKGFzeW5jICgpID0+IHtcbiAgICAgIGF3YWl0IHByb2Nlc3Moe1xuICAgICAgICBhcHA6IHRoaXMuYXBwLFxuICAgICAgICBuZXdDb250ZW50UHJvdmlkZXI6IG9sZENvbnRlbnQsXG4gICAgICAgIHBhdGhPckZpbGU6IHBhdGgsXG4gICAgICAgIHBsdWdpbk5vdGljZUNvbXBvbmVudDogbnVsbCxcbiAgICAgICAgcmVzb3VyY2VMb2NrQ29tcG9uZW50OiBudWxsXG4gICAgICB9KTtcbiAgICAgIC8vIEEgY29uc3VtZXIgbWF5IGhhdmUgZWRpdGVkIHRoaXMgbm90ZSB0aHJvdWdoIHRoZSBlZGl0b3IsIGxlYXZpbmcgYSBkaXJ0eSBidWZmZXIuXG4gICAgICAvLyBJdHMgcGVuZGluZyBhdXRvc2F2ZSBjb3VsZCByZS13cml0ZSB0aGF0IHN0YWxlIGJ1ZmZlciBvdmVyIHRoZSBkaXNrIHJlc3RvcmUgYWJvdmUgYW5kIGNsb2JiZXIgaXQuXG4gICAgICAvLyBSZXNldHRpbmcgdGhlIG9wZW4gZWRpdG9yJ3MgYnVmZmVyIHRvIHRoZSByZXN0b3JlZCBjb250ZW50IGtlZXBzIGl0cyBuZXh0IHNhdmUgYSBuby1vcC5cbiAgICAgIC8vIE9ubHkgdGhlIHZpZXcgc3RpbGwgc2hvd2luZyB0aGlzIHBhdGggaXMgdG91Y2hlZC5cbiAgICAgIC8vIFZhdWx0VHJhbnNhY3Rpb24gYWxyZWFkeSBmbHVzaGVzIHZpYSBgc2F2ZU5vdGVgLCBzbyB0aGlzIHJlc2V0IGlzIGJlbHQtYW5kLXN1c3BlbmRlcnMuXG4gICAgICBzeW5jT3BlbkVkaXRvckJ1ZmZlcnNGb3JQYXRoKHRoaXMuYXBwLCBwYXRoLCBvbGRDb250ZW50KTtcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZW5hbWVzIG9yIG1vdmVzIGEgcmVzb3VyY2UsIHJlY29yZGluZyB0aGUgcmV2ZXJzZSByZW5hbWUgYXMgdGhlIGludmVyc2UuXG4gICAqXG4gICAqIEBwYXJhbSBvbGRQYXRoT3JGaWxlIC0gVGhlIHJlc291cmNlIHRvIHJlbmFtZS5cbiAgICogQHBhcmFtIG5ld1BhdGggLSBUaGUgZGVzaXJlZCBuZXcgcGF0aCAoYW4gYXZhaWxhYmxlIHBhdGggaXMgY2hvc2VuIGlmIGl0IGlzIHRha2VuKS5cbiAgICogQHJldHVybnMgQSB7QGxpbmsgUHJvbWlzZX0gcmVzb2x2aW5nIHRvIHRoZSBhY3R1YWwgbmV3IHBhdGguXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgcmVuYW1lKG9sZFBhdGhPckZpbGU6IFBhdGhPckFic3RyYWN0RmlsZSwgbmV3UGF0aDogc3RyaW5nKTogUHJvbWlzZTxzdHJpbmc+IHtcbiAgICB0aGlzLmFzc2VydE9wZW4oKTtcbiAgICBjb25zdCBvbGRQYXRoID0gZ2V0UGF0aCh0aGlzLmFwcCwgb2xkUGF0aE9yRmlsZSk7XG4gICAgY29uc3QgYWN0dWFsTmV3UGF0aCA9IGF3YWl0IHJlbmFtZVNhZmUoeyBhcHA6IHRoaXMuYXBwLCBuZXdQYXRoLCBvbGRQYXRoT3JBYnN0cmFjdEZpbGU6IG9sZFBhdGhPckZpbGUgfSk7XG4gICAgdGhpcy5wdXNoVW5kbyhhc3luYyAoKSA9PiB7XG4gICAgICBhd2FpdCByZW5hbWVTYWZlKHsgYXBwOiB0aGlzLmFwcCwgbmV3UGF0aDogb2xkUGF0aCwgb2xkUGF0aE9yQWJzdHJhY3RGaWxlOiBhY3R1YWxOZXdQYXRoIH0pO1xuICAgIH0pO1xuICAgIHJldHVybiBhY3R1YWxOZXdQYXRoO1xuICB9XG5cbiAgLyoqXG4gICAqIFJvbGxzIGJhY2sgdGhlIHRyYW5zYWN0aW9uOiB1bmRvZXMgdGhlIGNvbXBsZXRlZCBzdGVwcyBpbiByZXZlcnNlIG9yZGVyIGFuZCByZW1vdmVzIHRoZSBzdGFnaW5nXG4gICAqIGZvbGRlci4gSWRlbXBvdGVudC5cbiAgICpcbiAgICogQHJldHVybnMgQSB7QGxpbmsgUHJvbWlzZX0gdGhhdCByZXNvbHZlcyB3aGVuIHRoZSByb2xsYmFjayBjb21wbGV0ZXMuXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgcm9sbGJhY2soKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgaWYgKHRoaXMuc3RhdGUgPT09ICdyb2xsZWRCYWNrJykge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0aGlzLmFzc2VydE5vdENvbW1pdHRlZCgpO1xuICAgIHRoaXMuc3RhdGUgPSAncm9sbGVkQmFjayc7XG4gICAgZm9yIChjb25zdCBzdGVwIG9mIFsuLi50aGlzLnVuZG9TdGVwc10ucmV2ZXJzZSgpKSB7XG4gICAgICBhd2FpdCBzdGVwLnVuZG8oKTtcbiAgICB9XG4gICAgYXdhaXQgdGhpcy5yZW1vdmVTdGFnaW5nRm9sZGVyKCk7XG4gICAgdGhpcy5kaXNwb3NlTXV0YXRpb25CeXBhc3MoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSb2xscyBiYWNrIHRoZSB0cmFuc2FjdGlvbiBvbiBkaXNwb3NhbCB1bmxlc3MgaXQgd2FzIGFscmVhZHkgY29tbWl0dGVkIG9yIHJvbGxlZCBiYWNrLlxuICAgKi9cbiAgcHVibGljIGFzeW5jIFtTeW1ib2wuYXN5bmNEaXNwb3NlXSgpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBpZiAodGhpcy5zdGF0ZSA9PT0gJ29wZW4nKSB7XG4gICAgICBhd2FpdCB0aGlzLnJvbGxiYWNrKCk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIFNvZnQtZGVsZXRlcyBhIHJlc291cmNlIGJ5IG1vdmluZyBpdCBpbnRvIHRoZSBzdGFnaW5nIGZvbGRlciwgcmVjb3JkaW5nIHRoZSBtb3ZlLWJhY2sgYXMgdGhlXG4gICAqIGludmVyc2UuIFRoZSByZWFsIHRyYXNoIGhhcHBlbnMgb24ge0BsaW5rIFZhdWx0VHJhbnNhY3Rpb24uY29tbWl0fS4gQSBuby1vcCBpZiB0aGUgcmVzb3VyY2UgZG9lc1xuICAgKiBub3QgZXhpc3QuXG4gICAqXG4gICAqIEBwYXJhbSBwYXRoT3JGaWxlIC0gVGhlIHBhdGggb3IgcmVzb3VyY2UgdG8gdHJhc2guXG4gICAqIEByZXR1cm5zIEEge0BsaW5rIFByb21pc2V9IHRoYXQgcmVzb2x2ZXMgd2hlbiB0aGUgcmVzb3VyY2UgaGFzIGJlZW4gc3RhZ2VkLlxuICAgKi9cbiAgcHVibGljIGFzeW5jIHRyYXNoKHBhdGhPckZpbGU6IFBhdGhPckFic3RyYWN0RmlsZSk6IFByb21pc2U8dm9pZD4ge1xuICAgIHRoaXMuYXNzZXJ0T3BlbigpO1xuICAgIGNvbnN0IGZpbGUgPSBnZXRBYnN0cmFjdEZpbGVPck51bGwoeyBhcHA6IHRoaXMuYXBwLCBwYXRoT3JGaWxlIH0pO1xuICAgIGlmICghZmlsZSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBjb25zdCBvcmlnaW5hbFBhdGggPSBmaWxlLnBhdGg7XG4gICAgYXdhaXQgdGhpcy5lbnN1cmVTdGFnaW5nRm9sZGVyKCk7XG4gICAgY29uc3Qgc3RhZ2VkUGF0aCA9IGF3YWl0IHRoaXMuZ2V0QXZhaWxhYmxlU3RhZ2VkUGF0aChmaWxlLm5hbWUpO1xuICAgIGNvbnN0IGFkYXB0ZXIgPSB0aGlzLmFwcC52YXVsdC5hZGFwdGVyO1xuICAgIC8vIE1vdmUgdGhyb3VnaCB0aGUgYWRhcHRlciwgbm90IGB2YXVsdC5yZW5hbWVgOiB0aGUgc3RhZ2luZyBmb2xkZXIgaXMgZG90LXByZWZpeGVkIGFuZCB0aGVyZWZvcmVcbiAgICAvLyBVbnRyYWNrZWQsIHNvIGEgYHZhdWx0LipgIG1vdmUgY2Fubm90IHRhcmdldCBpdCAobm9yIHNob3VsZCBpdCByZXdyaXRlIGxpbmtzIHRvIGEgc29mdC1kZWxldGUpLlxuICAgIGF3YWl0IGFkYXB0ZXIucmVuYW1lKG9yaWdpbmFsUGF0aCwgc3RhZ2VkUGF0aCk7XG4gICAgdGhpcy5zdGFnZWRUcmFzaFBhdGhzLnB1c2goc3RhZ2VkUGF0aCk7XG4gICAgdGhpcy5wdXNoVW5kbyhhc3luYyAoKSA9PiB7XG4gICAgICBpZiAoYXdhaXQgYWRhcHRlci5leGlzdHMoc3RhZ2VkUGF0aCkpIHtcbiAgICAgICAgYXdhaXQgYWRhcHRlci5yZW5hbWUoc3RhZ2VkUGF0aCwgb3JpZ2luYWxQYXRoKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgYXNzZXJ0Tm90Q29tbWl0dGVkKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLnN0YXRlID09PSAnY29tbWl0dGVkJykge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdDYW5ub3Qgcm9sbCBiYWNrIGEgY29tbWl0dGVkIHRyYW5zYWN0aW9uLicpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgYXNzZXJ0T3BlbigpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5zdGF0ZSAhPT0gJ29wZW4nKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYENhbm5vdCBtdXRhdGUgYSAke3RoaXMuc3RhdGV9IHRyYW5zYWN0aW9uLmApO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgZGlzcG9zZU11dGF0aW9uQnlwYXNzKCk6IHZvaWQge1xuICAgIHRoaXMubXV0YXRpb25CeXBhc3M/LltTeW1ib2wuZGlzcG9zZV0oKTtcbiAgICB0aGlzLm11dGF0aW9uQnlwYXNzID0gbnVsbDtcbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgZW5zdXJlU3RhZ2luZ0ZvbGRlcigpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBpZiAodGhpcy5oYXNTdGFnaW5nRm9sZGVyKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGNvbnN0IGFkYXB0ZXIgPSB0aGlzLmFwcC52YXVsdC5hZGFwdGVyO1xuICAgIGlmICghYXdhaXQgYWRhcHRlci5leGlzdHModGhpcy5zdGFnaW5nRm9sZGVyUGF0aCkpIHtcbiAgICAgIGF3YWl0IGFkYXB0ZXIubWtkaXIodGhpcy5zdGFnaW5nRm9sZGVyUGF0aCk7XG4gICAgfVxuICAgIHRoaXMuaGFzU3RhZ2luZ0ZvbGRlciA9IHRydWU7XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIGdldEF2YWlsYWJsZVN0YWdlZFBhdGgobmFtZTogc3RyaW5nKTogUHJvbWlzZTxzdHJpbmc+IHtcbiAgICBjb25zdCBhZGFwdGVyID0gdGhpcy5hcHAudmF1bHQuYWRhcHRlcjtcbiAgICBjb25zdCBkb3RJbmRleCA9IG5hbWUubGFzdEluZGV4T2YoJy4nKTtcbiAgICBjb25zdCBoYXNFeHRlbnNpb24gPSBkb3RJbmRleCA+IDA7XG4gICAgY29uc3QgYmFzZU5hbWUgPSBoYXNFeHRlbnNpb24gPyBuYW1lLnNsaWNlKDAsIGRvdEluZGV4KSA6IG5hbWU7XG4gICAgY29uc3QgZXh0ZW5zaW9uID0gaGFzRXh0ZW5zaW9uID8gbmFtZS5zbGljZShkb3RJbmRleCkgOiAnJztcbiAgICBsZXQgY2FuZGlkYXRlID0gYCR7dGhpcy5zdGFnaW5nRm9sZGVyUGF0aH0vJHtuYW1lfWA7XG4gICAgbGV0IGNvdW50ZXIgPSAxO1xuICAgIHdoaWxlIChhd2FpdCBhZGFwdGVyLmV4aXN0cyhjYW5kaWRhdGUpKSB7XG4gICAgICBjYW5kaWRhdGUgPSBgJHt0aGlzLnN0YWdpbmdGb2xkZXJQYXRofS8ke2Jhc2VOYW1lfSAke2NvdW50ZXIudG9TdHJpbmcoKX0ke2V4dGVuc2lvbn1gO1xuICAgICAgY291bnRlcisrO1xuICAgIH1cbiAgICByZXR1cm4gY2FuZGlkYXRlO1xuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyBoYXJkRGVsZXRlKHBhdGg6IHN0cmluZyk6IFByb21pc2U8dm9pZD4ge1xuICAgIGNvbnN0IGZpbGUgPSBnZXRBYnN0cmFjdEZpbGVPck51bGwoeyBhcHA6IHRoaXMuYXBwLCBwYXRoT3JGaWxlOiBwYXRoIH0pO1xuICAgIGlmIChmaWxlKSB7XG4gICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgb2JzaWRpYW5tZC9wcmVmZXItZmlsZS1tYW5hZ2VyLXRyYXNoLWZpbGUgLS0gVW5kb2luZyBhIHRyYW5zYWN0aW9uLWxvY2FsIGNyZWF0ZSBtdXN0IHZhbmlzaCBpdCBlbnRpcmVseSwgbm90IGxhbmQgaXQgaW4gdGhlIHVzZXIncyB0cmFzaC5cbiAgICAgIGF3YWl0IHRoaXMuYXBwLnZhdWx0LmRlbGV0ZShmaWxlLCB0cnVlKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHB1c2hVbmRvKHVuZG86ICgpID0+IFByb21pc2U8dm9pZD4pOiB2b2lkIHtcbiAgICB0aGlzLnVuZG9TdGVwcy5wdXNoKHsgdW5kbyB9KTtcbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgcmVtb3ZlU3RhZ2luZ0ZvbGRlcigpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBpZiAoIXRoaXMuaGFzU3RhZ2luZ0ZvbGRlcikge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0aGlzLmhhc1N0YWdpbmdGb2xkZXIgPSBmYWxzZTtcbiAgICBjb25zdCBhZGFwdGVyID0gdGhpcy5hcHAudmF1bHQuYWRhcHRlcjtcbiAgICBpZiAoYXdhaXQgYWRhcHRlci5leGlzdHModGhpcy5zdGFnaW5nRm9sZGVyUGF0aCkpIHtcbiAgICAgIGF3YWl0IGFkYXB0ZXIucm1kaXIodGhpcy5zdGFnaW5nRm9sZGVyUGF0aCwgdHJ1ZSk7XG4gICAgfVxuICB9XG59XG4iXSwKICAibWFwcGluZ3MiOiAiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7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
|
|
377
|
+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vc3JjL29ic2lkaWFuL3ZhdWx0LXRyYW5zYWN0aW9uLnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyIvKipcbiAqIEBmaWxlXG4gKlxuICogQSByZXZlcnNpYmxlLCB0cmFuc2FjdGlvbmFsIGxvZyBvZiB2YXVsdCBtdXRhdGlvbnMuIEVhY2ggbXV0YXRpb24gcmVjb3JkcyBob3cgdG8gdW5kbyBpdHNlbGY7XG4gKiB7QGxpbmsgVmF1bHRUcmFuc2FjdGlvbi5yb2xsYmFja30gcmV2ZXJzZXMgdGhlIGNvbXBsZXRlZCBzdGVwcyBpbiByZXZlcnNlIG9yZGVyIGFuZFxuICoge0BsaW5rIFZhdWx0VHJhbnNhY3Rpb24uY29tbWl0fSBmaW5hbGl6ZXMgdGhlbS4gSXQgaXMgYnVpbHQgb24gdGhlIGAqU2FmZWAgdmF1bHQgd3JhcHBlcnMgc28gaXRcbiAqIGluaGVyaXRzIHRoZWlyIGNhc2UtaW5zZW5zaXRpdmUgLyByZXRyeSAvIG1pc3NpbmctZmlsZSBoYW5kbGluZy5cbiAqXG4gKiBBIGRlbGV0aW9uIGlzIHBlcmZvcm1lZCBhcyBhICoqc29mdC1kZWxldGUqKjogdGhlIHJlc291cmNlIGlzIG1vdmVkIGFzaWRlIGludG8gYSBkb3QtcHJlZml4ZWRcbiAqIHN0YWdpbmcgZm9sZGVyIChhIGZvbGRlciBtb3ZlcyBpdHMgd2hvbGUgc3VidHJlZSBpbiBhIHNpbmdsZSByZW5hbWUsIHNvIHN1YnRyZWUgcm9sbGJhY2sgaXMgY2hlYXBcbiAqIGFuZCBmYWl0aGZ1bCkuIEJlY2F1c2UgT2JzaWRpYW4ncyB2YXVsdCBmaWxlLXRyZWUgYW5kIGZpbGUgd2F0Y2hlciBpZ25vcmUgYW55IGAuYC1wcmVmaXhlZCBwYXRoLFxuICogc3RhZ2VkIHJlc291cmNlcyBhcmUgKip1bnRyYWNrZWQqKiBcdTIwMTQgdGhleSBkbyBub3QgY2h1cm4gdGhlIG1ldGFkYXRhIGNhY2hlLCBmbGFzaCBpbiB0aGUgZmlsZVxuICogZXhwbG9yZXIsIG9yIGdldCBwcm9wYWdhdGVkIGJ5IHN5bmMgd2hpbGUgdGhlIHRyYW5zYWN0aW9uIGlzIGluIGZsaWdodC4gVGhlIGZsaXAgc2lkZSBpcyB0aGF0XG4gKiBgdmF1bHQuKmAgbWV0aG9kcyBjYW5ub3Qgc2VlIHRoZSBzdGFnaW5nIGFyZWEsIHNvIEFMTCBzdGFnaW5nIEkvTyBnb2VzIHRocm91Z2hcbiAqIHtAbGluayBBcHAudmF1bHQuYWRhcHRlcn0gKGBta2RpcmAvYHJlbmFtZWAvYGV4aXN0c2AvYHRyYXNoU3lzdGVtYC9gcm1kaXJgKS5cbiAqIHtAbGluayBWYXVsdFRyYW5zYWN0aW9uLmNvbW1pdH0gdGhlbiB0cmFzaGVzIHRoZSBzdGFnZWQgcmVzb3VyY2VzIGZvciByZWFsOyB7QGxpbmsgVmF1bHRUcmFuc2FjdGlvbi5yb2xsYmFja31cbiAqIG1vdmVzIHRoZW0gYmFjay5cbiAqL1xuXG5pbXBvcnQgdHlwZSB7XG4gIEFwcCxcbiAgVEZpbGVcbn0gZnJvbSAnb2JzaWRpYW4nO1xuXG5pbXBvcnQgdHlwZSB7IFBhdGhPckFic3RyYWN0RmlsZSB9IGZyb20gJy4vZmlsZS1zeXN0ZW0udHMnO1xuXG5pbXBvcnQgeyBkaXNwb3NlIH0gZnJvbSAnLi4vZGlzcG9zYWJsZS50cyc7XG5pbXBvcnQgeyBhc3NlcnROb25OdWxsYWJsZSB9IGZyb20gJy4uL3R5cGUtZ3VhcmRzLnRzJztcbmltcG9ydCB7IHN5bmNPcGVuRWRpdG9yQnVmZmVyc0ZvclBhdGggfSBmcm9tICcuL2VkaXRvci50cyc7XG5pbXBvcnQge1xuICBnZXRBYnN0cmFjdEZpbGVPck51bGwsXG4gIGdldFBhdGhcbn0gZnJvbSAnLi9maWxlLXN5c3RlbS50cyc7XG5pbXBvcnQge1xuICBjcmVhdGVGb2xkZXJTYWZlLFxuICBDcmVhdGVGb2xkZXJTYWZlUmVzdWx0LFxuICBwcm9jZXNzLFxuICByZWFkU2FmZSxcbiAgcmVuYW1lU2FmZVxufSBmcm9tICcuL3ZhdWx0LnRzJztcblxuY29uc3QgREVGQVVMVF9TVEFHSU5HX0ZPTERFUl9QQVRIID0gJy5vYnNpZGlhbi1kZXYtdXRpbHMtdGVtcCc7XG5cbi8qKlxuICogUGFyYW1ldGVycyBmb3IgdGhlIHtAbGluayBWYXVsdFRyYW5zYWN0aW9ufSBjb25zdHJ1Y3Rvci5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBWYXVsdFRyYW5zYWN0aW9uQ29uc3RydWN0b3JQYXJhbXMge1xuICAvKipcbiAgICogVGhlIE9ic2lkaWFuIGFwcGxpY2F0aW9uIGluc3RhbmNlLlxuICAgKi9cbiAgcmVhZG9ubHkgYXBwOiBBcHA7XG5cbiAgLyoqXG4gICAqIE9wZW5zIGFuIGFtYmllbnQgbXV0YXRpb24tYnlwYXNzIHNjb3BlIGNvdmVyaW5nIHRoZSBwYXRocyB0aGlzIHRyYW5zYWN0aW9uIHRvdWNoZXMsIHNvIHRoZVxuICAgKiB0cmFuc2FjdGlvbidzIG93biB3cml0ZXMgcGFzcyBhIGBzaG91bGRCbG9ja011dGF0aW9uc2AgbG9jayB0aGF0IHRoZSBvd25pbmcgb3BlcmF0aW9uIGhvbGRzLiBJdCBpc1xuICAgKiBjYWxsZWQgb25jZSB3aGVuIHRoZSB0cmFuc2FjdGlvbiBpcyBjb25zdHJ1Y3RlZCwgYW5kIHRoZSByZXR1cm5lZCB7QGxpbmsgRGlzcG9zYWJsZX0gaXMgZGlzcG9zZWRcbiAgICogd2hlbiB0aGUgdHJhbnNhY3Rpb24gc2V0dGxlcyAob24gYGNvbW1pdGAsIGByb2xsYmFja2AsIG9yIGBhd2FpdCB1c2luZ2AgZGlzcG9zYWwpIFx1MjAxNCBzbyB0aGUgYnlwYXNzXG4gICAqIHN0YXlzIGFjdGl2ZSB0aHJvdWdoIHJvbGxiYWNrLCBpbmNsdWRpbmcgYXV0by1yb2xsYmFjaywgd2hpY2ggYSBjYWxsZXIgbWFuYWdpbmcgdGhlIHNjb3BlIGl0c2VsZlxuICAgKiBjb3VsZCBlYXNpbHkgZ2V0IHdyb25nLiBUeXBpY2FsbHlcbiAgICogYCgpID0+IHJlc291cmNlTG9ja0NvbXBvbmVudC5ieXBhc3NCbG9ja2VkTXV0YXRpb25zKGxvY2tlZFBhdGhzT3JGaWxlcylgLiBPbWl0IGl0IGZvciB0aGUgY29tbW9uXG4gICAqIHN0YW5kYWxvbmUgY2FzZSB3aGVyZSB0aGUgdHJhbnNhY3Rpb24gb3BlcmF0ZXMgb24gdW5sb2NrZWQgcGF0aHMuXG4gICAqXG4gICAqIEByZXR1cm5zIEEge0BsaW5rIERpc3Bvc2FibGV9IHRoYXQgZW5kcyB0aGUgYnlwYXNzIHNjb3BlLlxuICAgKi9cbiAgb3Blbk11dGF0aW9uQnlwYXNzPyh0aGlzOiB2b2lkKTogRGlzcG9zYWJsZTtcblxuICAvKipcbiAgICogVGhlIGRvdC1wcmVmaXhlZCBmb2xkZXIgdGhhdCBzb2Z0LWRlbGV0ZWQgcmVzb3VyY2VzIGFyZSBtb3ZlZCBpbnRvIHVudGlsIHRoZSB0cmFuc2FjdGlvbiBpc1xuICAgKiBjb21taXR0ZWQgb3Igcm9sbGVkIGJhY2suIEl0IG11c3Qgc3RheSBgLmAtcHJlZml4ZWQgc28gT2JzaWRpYW4gbGVhdmVzIHRoZSBzdGFnZWQgcmVzb3VyY2VzXG4gICAqIHVudHJhY2tlZC5cbiAgICpcbiAgICogQGRlZmF1bHQgYCcub2JzaWRpYW4tZGV2LXV0aWxzLXRlbXAnYFxuICAgKi9cbiAgcmVhZG9ubHkgc3RhZ2luZ0ZvbGRlclBhdGg/OiBzdHJpbmc7XG59XG5cbnR5cGUgVHJhbnNhY3Rpb25TdGF0ZSA9ICdjb21taXR0ZWQnIHwgJ29wZW4nIHwgJ3JvbGxlZEJhY2snO1xuXG5pbnRlcmZhY2UgVW5kb1N0ZXAge1xuICB1bmRvKHRoaXM6IHZvaWQpOiBQcm9taXNlPHZvaWQ+O1xufVxuXG4vKipcbiAqIEEgcmV2ZXJzaWJsZSBsb2cgb2YgdmF1bHQgbXV0YXRpb25zLiBQZXJmb3JtIG11dGF0aW9ucyB0aHJvdWdoIGl0cyBtZXRob2RzLCB0aGVuIGNhbGxcbiAqIHtAbGluayBWYXVsdFRyYW5zYWN0aW9uLmNvbW1pdH0gb24gc3VjY2VzcyBvciB7QGxpbmsgVmF1bHRUcmFuc2FjdGlvbi5yb2xsYmFja30gb24gZmFpbHVyZS4gSXQgaXNcbiAqIGBhd2FpdCB1c2luZ2AtZnJpZW5kbHk6IGlmIG5laXRoZXIgaXMgY2FsbGVkLCBkaXNwb3NhbCByb2xscyBiYWNrLlxuICovXG5leHBvcnQgY2xhc3MgVmF1bHRUcmFuc2FjdGlvbiB7XG4gIC8qKlxuICAgKiBUaGUgT2JzaWRpYW4gYXBwbGljYXRpb24gaW5zdGFuY2UgdGhlIHRyYW5zYWN0aW9uIG11dGF0ZXMuXG4gICAqL1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgYXBwOiBBcHA7XG4gIHByaXZhdGUgaGFzU3RhZ2luZ0ZvbGRlciA9IGZhbHNlO1xuICBwcml2YXRlIG11dGF0aW9uQnlwYXNzOiBEaXNwb3NhYmxlIHwgbnVsbCA9IG51bGw7XG4gIHByaXZhdGUgcmVhZG9ubHkgc3RhZ2VkVHJhc2hQYXRoczogc3RyaW5nW10gPSBbXTtcbiAgcHJpdmF0ZSByZWFkb25seSBzdGFnaW5nRm9sZGVyUGF0aDogc3RyaW5nO1xuICBwcml2YXRlIHN0YXRlOiBUcmFuc2FjdGlvblN0YXRlID0gJ29wZW4nO1xuICBwcml2YXRlIHJlYWRvbmx5IHVuZG9TdGVwczogVW5kb1N0ZXBbXSA9IFtdO1xuXG4gIC8qKlxuICAgKiBDcmVhdGVzIGEgbmV3IHZhdWx0IHRyYW5zYWN0aW9uLlxuICAgKlxuICAgKiBAcGFyYW0gcGFyYW1zIC0gVGhlIHBhcmFtZXRlcnMuXG4gICAqL1xuICBwdWJsaWMgY29uc3RydWN0b3IocGFyYW1zOiBWYXVsdFRyYW5zYWN0aW9uQ29uc3RydWN0b3JQYXJhbXMpIHtcbiAgICB0aGlzLmFwcCA9IHBhcmFtcy5hcHA7XG4gICAgdGhpcy5zdGFnaW5nRm9sZGVyUGF0aCA9IHBhcmFtcy5zdGFnaW5nRm9sZGVyUGF0aCA/PyBERUZBVUxUX1NUQUdJTkdfRk9MREVSX1BBVEg7XG4gICAgdGhpcy5tdXRhdGlvbkJ5cGFzcyA9IHBhcmFtcy5vcGVuTXV0YXRpb25CeXBhc3M/LigpID8/IG51bGw7XG4gIH1cblxuICAvKipcbiAgICogQ29tbWl0cyB0aGUgdHJhbnNhY3Rpb246IGZpbmFsaXplcyBzb2Z0LWRlbGV0ZXMgYnkgdHJhc2hpbmcgdGhlIHN0YWdlZCByZXNvdXJjZXMgZm9yIHJlYWwgYW5kXG4gICAqIHJlbW92ZXMgdGhlIHN0YWdpbmcgZm9sZGVyLiBBZnRlciB0aGlzIHRoZSB0cmFuc2FjdGlvbiBjYW4gbm8gbG9uZ2VyIGJlIG11dGF0ZWQgb3Igcm9sbGVkIGJhY2suXG4gICAqXG4gICAqIEByZXR1cm5zIEEge0BsaW5rIFByb21pc2V9IHRoYXQgcmVzb2x2ZXMgd2hlbiB0aGUgY29tbWl0IGNvbXBsZXRlcy5cbiAgICovXG4gIHB1YmxpYyBhc3luYyBjb21taXQoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgdGhpcy5hc3NlcnRPcGVuKCk7XG4gICAgdGhpcy5zdGF0ZSA9ICdjb21taXR0ZWQnO1xuICAgIGNvbnN0IGFkYXB0ZXIgPSB0aGlzLmFwcC52YXVsdC5hZGFwdGVyO1xuICAgIGZvciAoY29uc3Qgc3RhZ2VkUGF0aCBvZiB0aGlzLnN0YWdlZFRyYXNoUGF0aHMpIHtcbiAgICAgIGNvbnN0IHdhc1RyYXNoZWRUb1N5c3RlbSA9IGF3YWl0IGFkYXB0ZXIudHJhc2hTeXN0ZW0oc3RhZ2VkUGF0aCk7XG4gICAgICBpZiAoIXdhc1RyYXNoZWRUb1N5c3RlbSkge1xuICAgICAgICBhd2FpdCBhZGFwdGVyLnRyYXNoTG9jYWwoc3RhZ2VkUGF0aCk7XG4gICAgICB9XG4gICAgfVxuICAgIGF3YWl0IHRoaXMucmVtb3ZlU3RhZ2luZ0ZvbGRlcigpO1xuICAgIHRoaXMuZGlzcG9zZU11dGF0aW9uQnlwYXNzKCk7XG4gIH1cblxuICAvKipcbiAgICogQ3JlYXRlcyBhIGZpbGUgd2l0aCB0aGUgZ2l2ZW4gY29udGVudCwgcmVjb3JkaW5nIGl0cyByZW1vdmFsIGFzIHRoZSBpbnZlcnNlLlxuICAgKlxuICAgKiBAcGFyYW0gcGF0aCAtIFRoZSBwYXRoIG9mIHRoZSBmaWxlIHRvIGNyZWF0ZS5cbiAgICogQHBhcmFtIGRhdGEgLSBUaGUgY29udGVudCBvZiB0aGUgZmlsZS5cbiAgICogQHJldHVybnMgQSB7QGxpbmsgUHJvbWlzZX0gcmVzb2x2aW5nIHRvIHRoZSBjcmVhdGVkIHtAbGluayBURmlsZX0uXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgY3JlYXRlKHBhdGg6IHN0cmluZywgZGF0YTogc3RyaW5nKTogUHJvbWlzZTxURmlsZT4ge1xuICAgIHRoaXMuYXNzZXJ0T3BlbigpO1xuICAgIGNvbnN0IGZpbGUgPSBhd2FpdCB0aGlzLmFwcC52YXVsdC5jcmVhdGUocGF0aCwgZGF0YSk7XG4gICAgY29uc3QgY3JlYXRlZFBhdGggPSBmaWxlLnBhdGg7XG4gICAgdGhpcy5wdXNoVW5kbyhhc3luYyAoKSA9PiB7XG4gICAgICBhd2FpdCB0aGlzLmhhcmREZWxldGUoY3JlYXRlZFBhdGgpO1xuICAgIH0pO1xuICAgIHJldHVybiBmaWxlO1xuICB9XG5cbiAgLyoqXG4gICAqIENyZWF0ZXMgYSBmb2xkZXIgKGluY2x1ZGluZyBtaXNzaW5nIGFuY2VzdG9ycyksIHJlY29yZGluZyBpdHMgcmVtb3ZhbCBhcyB0aGUgaW52ZXJzZS4gQSBuby1vcCBpZlxuICAgKiB0aGUgZm9sZGVyIGFscmVhZHkgZXhpc3RzLlxuICAgKlxuICAgKiBAcGFyYW0gcGF0aCAtIFRoZSBwYXRoIG9mIHRoZSBmb2xkZXIgdG8gY3JlYXRlLlxuICAgKiBAcmV0dXJucyBBIHtAbGluayBQcm9taXNlfSB0aGF0IHJlc29sdmVzIHdoZW4gdGhlIGZvbGRlciBleGlzdHMuXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgY3JlYXRlRm9sZGVyKHBhdGg6IHN0cmluZyk6IFByb21pc2U8dm9pZD4ge1xuICAgIHRoaXMuYXNzZXJ0T3BlbigpO1xuICAgIGNvbnN0IHJlc3VsdCA9IGF3YWl0IGNyZWF0ZUZvbGRlclNhZmUodGhpcy5hcHAsIHBhdGgpO1xuICAgIGlmIChyZXN1bHQgPT09IENyZWF0ZUZvbGRlclNhZmVSZXN1bHQuQ3JlYXRlZCkge1xuICAgICAgdGhpcy5wdXNoVW5kbyhhc3luYyAoKSA9PiB7XG4gICAgICAgIGF3YWl0IHRoaXMuaGFyZERlbGV0ZShwYXRoKTtcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBSZXBsYWNlcyB0aGUgY29udGVudCBvZiBhIGZpbGUsIGNhcHR1cmluZyB0aGUgb2xkIGNvbnRlbnQgc28gaXQgY2FuIGJlIHJlc3RvcmVkIG9uIHJvbGxiYWNrLlxuICAgKlxuICAgKiBAcGFyYW0gcGF0aE9yRmlsZSAtIFRoZSBwYXRoIG9yIGZpbGUgdG8gbW9kaWZ5LlxuICAgKiBAcGFyYW0gbmV3Q29udGVudCAtIFRoZSBuZXcgY29udGVudC5cbiAgICogQHJldHVybnMgQSB7QGxpbmsgUHJvbWlzZX0gdGhhdCByZXNvbHZlcyB3aGVuIHRoZSBmaWxlIGlzIG1vZGlmaWVkLlxuICAgKi9cbiAgcHVibGljIGFzeW5jIG1vZGlmeShwYXRoT3JGaWxlOiBQYXRoT3JBYnN0cmFjdEZpbGUsIG5ld0NvbnRlbnQ6IHN0cmluZyk6IFByb21pc2U8dm9pZD4ge1xuICAgIGF3YWl0IHRoaXMucHJvY2VzcyhwYXRoT3JGaWxlLCAoKSA9PiBuZXdDb250ZW50KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBUcmFuc2Zvcm1zIHRoZSBjb250ZW50IG9mIGEgZmlsZSwgY2FwdHVyaW5nIHRoZSBvbGQgY29udGVudCBzbyBpdCBjYW4gYmUgcmVzdG9yZWQgb24gcm9sbGJhY2suXG4gICAqXG4gICAqIEBwYXJhbSBwYXRoT3JGaWxlIC0gVGhlIHBhdGggb3IgZmlsZSB0byBwcm9jZXNzLlxuICAgKiBAcGFyYW0gbmV3Q29udGVudFByb3ZpZGVyIC0gTWFwcyB0aGUgY3VycmVudCBjb250ZW50IHRvIHRoZSBuZXcgY29udGVudC5cbiAgICogQHJldHVybnMgQSB7QGxpbmsgUHJvbWlzZX0gdGhhdCByZXNvbHZlcyB3aGVuIHRoZSBmaWxlIGlzIHByb2Nlc3NlZC5cbiAgICovXG4gIHB1YmxpYyBhc3luYyBwcm9jZXNzKHBhdGhPckZpbGU6IFBhdGhPckFic3RyYWN0RmlsZSwgbmV3Q29udGVudFByb3ZpZGVyOiAoY29udGVudDogc3RyaW5nKSA9PiBzdHJpbmcpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICB0aGlzLmFzc2VydE9wZW4oKTtcbiAgICBjb25zdCBwYXRoID0gZ2V0UGF0aCh0aGlzLmFwcCwgcGF0aE9yRmlsZSk7XG4gICAgY29uc3Qgb2xkQ29udGVudCA9IGF3YWl0IHJlYWRTYWZlKHRoaXMuYXBwLCBwYXRoKTtcbiAgICBhd2FpdCBwcm9jZXNzKHtcbiAgICAgIGFwcDogdGhpcy5hcHAsXG4gICAgICBuZXdDb250ZW50UHJvdmlkZXI6ICh7IGNvbnRlbnQgfSkgPT4gbmV3Q29udGVudFByb3ZpZGVyKGNvbnRlbnQpLFxuICAgICAgcGF0aE9yRmlsZTogcGF0aCxcbiAgICAgIHBsdWdpbk5vdGljZUNvbXBvbmVudDogbnVsbCxcbiAgICAgIHJlc291cmNlTG9ja0NvbXBvbmVudDogbnVsbFxuICAgIH0pO1xuICAgIC8vIFJlYWNoaW5nIHRoaXMgbGluZSBtZWFucyBgcHJvY2Vzc2Agc3VjY2VlZGVkLiBBIG1pc3NpbmcgZmlsZSB3b3VsZCBoYXZlIHRocm93biBhYm92ZSAoaXRzXG4gICAgLy8gYHNob3VsZEZhaWxPbk1pc3NpbmdGaWxlYCBkZWZhdWx0KSwgc28gdGhlIHByZS1pbWFnZSB3YXMgY2FwdHVyZWQgYW5kIGNhbiBiZSByZXN0b3JlZCBvbiByb2xsYmFjay5cbiAgICBhc3NlcnROb25OdWxsYWJsZShvbGRDb250ZW50KTtcbiAgICB0aGlzLnB1c2hVbmRvKGFzeW5jICgpID0+IHtcbiAgICAgIGF3YWl0IHByb2Nlc3Moe1xuICAgICAgICBhcHA6IHRoaXMuYXBwLFxuICAgICAgICBuZXdDb250ZW50UHJvdmlkZXI6IG9sZENvbnRlbnQsXG4gICAgICAgIHBhdGhPckZpbGU6IHBhdGgsXG4gICAgICAgIHBsdWdpbk5vdGljZUNvbXBvbmVudDogbnVsbCxcbiAgICAgICAgcmVzb3VyY2VMb2NrQ29tcG9uZW50OiBudWxsXG4gICAgICB9KTtcbiAgICAgIC8vIEEgY29uc3VtZXIgbWF5IGhhdmUgZWRpdGVkIHRoaXMgbm90ZSB0aHJvdWdoIHRoZSBlZGl0b3IsIGxlYXZpbmcgYSBkaXJ0eSBidWZmZXIuXG4gICAgICAvLyBJdHMgcGVuZGluZyBhdXRvc2F2ZSBjb3VsZCByZS13cml0ZSB0aGF0IHN0YWxlIGJ1ZmZlciBvdmVyIHRoZSBkaXNrIHJlc3RvcmUgYWJvdmUgYW5kIGNsb2JiZXIgaXQuXG4gICAgICAvLyBSZXNldHRpbmcgdGhlIG9wZW4gZWRpdG9yJ3MgYnVmZmVyIHRvIHRoZSByZXN0b3JlZCBjb250ZW50IGtlZXBzIGl0cyBuZXh0IHNhdmUgYSBuby1vcC5cbiAgICAgIC8vIE9ubHkgdGhlIHZpZXcgc3RpbGwgc2hvd2luZyB0aGlzIHBhdGggaXMgdG91Y2hlZC5cbiAgICAgIC8vIFZhdWx0VHJhbnNhY3Rpb24gYWxyZWFkeSBmbHVzaGVzIHZpYSBgc2F2ZU5vdGVgLCBzbyB0aGlzIHJlc2V0IGlzIGJlbHQtYW5kLXN1c3BlbmRlcnMuXG4gICAgICBzeW5jT3BlbkVkaXRvckJ1ZmZlcnNGb3JQYXRoKHRoaXMuYXBwLCBwYXRoLCBvbGRDb250ZW50KTtcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZW5hbWVzIG9yIG1vdmVzIGEgcmVzb3VyY2UsIHJlY29yZGluZyB0aGUgcmV2ZXJzZSByZW5hbWUgYXMgdGhlIGludmVyc2UuXG4gICAqXG4gICAqIEBwYXJhbSBvbGRQYXRoT3JGaWxlIC0gVGhlIHJlc291cmNlIHRvIHJlbmFtZS5cbiAgICogQHBhcmFtIG5ld1BhdGggLSBUaGUgZGVzaXJlZCBuZXcgcGF0aCAoYW4gYXZhaWxhYmxlIHBhdGggaXMgY2hvc2VuIGlmIGl0IGlzIHRha2VuKS5cbiAgICogQHJldHVybnMgQSB7QGxpbmsgUHJvbWlzZX0gcmVzb2x2aW5nIHRvIHRoZSBhY3R1YWwgbmV3IHBhdGguXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgcmVuYW1lKG9sZFBhdGhPckZpbGU6IFBhdGhPckFic3RyYWN0RmlsZSwgbmV3UGF0aDogc3RyaW5nKTogUHJvbWlzZTxzdHJpbmc+IHtcbiAgICB0aGlzLmFzc2VydE9wZW4oKTtcbiAgICBjb25zdCBvbGRQYXRoID0gZ2V0UGF0aCh0aGlzLmFwcCwgb2xkUGF0aE9yRmlsZSk7XG4gICAgY29uc3QgYWN0dWFsTmV3UGF0aCA9IGF3YWl0IHJlbmFtZVNhZmUoeyBhcHA6IHRoaXMuYXBwLCBuZXdQYXRoLCBvbGRQYXRoT3JBYnN0cmFjdEZpbGU6IG9sZFBhdGhPckZpbGUgfSk7XG4gICAgdGhpcy5wdXNoVW5kbyhhc3luYyAoKSA9PiB7XG4gICAgICBhd2FpdCByZW5hbWVTYWZlKHsgYXBwOiB0aGlzLmFwcCwgbmV3UGF0aDogb2xkUGF0aCwgb2xkUGF0aE9yQWJzdHJhY3RGaWxlOiBhY3R1YWxOZXdQYXRoIH0pO1xuICAgIH0pO1xuICAgIHJldHVybiBhY3R1YWxOZXdQYXRoO1xuICB9XG5cbiAgLyoqXG4gICAqIFJvbGxzIGJhY2sgdGhlIHRyYW5zYWN0aW9uOiB1bmRvZXMgdGhlIGNvbXBsZXRlZCBzdGVwcyBpbiByZXZlcnNlIG9yZGVyIGFuZCByZW1vdmVzIHRoZSBzdGFnaW5nXG4gICAqIGZvbGRlci4gSWRlbXBvdGVudC5cbiAgICpcbiAgICogQHJldHVybnMgQSB7QGxpbmsgUHJvbWlzZX0gdGhhdCByZXNvbHZlcyB3aGVuIHRoZSByb2xsYmFjayBjb21wbGV0ZXMuXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgcm9sbGJhY2soKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgaWYgKHRoaXMuc3RhdGUgPT09ICdyb2xsZWRCYWNrJykge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0aGlzLmFzc2VydE5vdENvbW1pdHRlZCgpO1xuICAgIHRoaXMuc3RhdGUgPSAncm9sbGVkQmFjayc7XG4gICAgZm9yIChjb25zdCBzdGVwIG9mIFsuLi50aGlzLnVuZG9TdGVwc10ucmV2ZXJzZSgpKSB7XG4gICAgICBhd2FpdCBzdGVwLnVuZG8oKTtcbiAgICB9XG4gICAgYXdhaXQgdGhpcy5yZW1vdmVTdGFnaW5nRm9sZGVyKCk7XG4gICAgdGhpcy5kaXNwb3NlTXV0YXRpb25CeXBhc3MoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSb2xscyBiYWNrIHRoZSB0cmFuc2FjdGlvbiBvbiBkaXNwb3NhbCB1bmxlc3MgaXQgd2FzIGFscmVhZHkgY29tbWl0dGVkIG9yIHJvbGxlZCBiYWNrLlxuICAgKi9cbiAgcHVibGljIGFzeW5jIFtTeW1ib2wuYXN5bmNEaXNwb3NlXSgpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBpZiAodGhpcy5zdGF0ZSA9PT0gJ29wZW4nKSB7XG4gICAgICBhd2FpdCB0aGlzLnJvbGxiYWNrKCk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIFNvZnQtZGVsZXRlcyBhIHJlc291cmNlIGJ5IG1vdmluZyBpdCBpbnRvIHRoZSBzdGFnaW5nIGZvbGRlciwgcmVjb3JkaW5nIHRoZSBtb3ZlLWJhY2sgYXMgdGhlXG4gICAqIGludmVyc2UuIFRoZSByZWFsIHRyYXNoIGhhcHBlbnMgb24ge0BsaW5rIFZhdWx0VHJhbnNhY3Rpb24uY29tbWl0fS4gQSBuby1vcCBpZiB0aGUgcmVzb3VyY2UgZG9lc1xuICAgKiBub3QgZXhpc3QuXG4gICAqXG4gICAqIEBwYXJhbSBwYXRoT3JGaWxlIC0gVGhlIHBhdGggb3IgcmVzb3VyY2UgdG8gdHJhc2guXG4gICAqIEByZXR1cm5zIEEge0BsaW5rIFByb21pc2V9IHRoYXQgcmVzb2x2ZXMgd2hlbiB0aGUgcmVzb3VyY2UgaGFzIGJlZW4gc3RhZ2VkLlxuICAgKi9cbiAgcHVibGljIGFzeW5jIHRyYXNoKHBhdGhPckZpbGU6IFBhdGhPckFic3RyYWN0RmlsZSk6IFByb21pc2U8dm9pZD4ge1xuICAgIHRoaXMuYXNzZXJ0T3BlbigpO1xuICAgIGNvbnN0IGZpbGUgPSBnZXRBYnN0cmFjdEZpbGVPck51bGwoeyBhcHA6IHRoaXMuYXBwLCBwYXRoT3JGaWxlIH0pO1xuICAgIGlmICghZmlsZSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBjb25zdCBvcmlnaW5hbFBhdGggPSBmaWxlLnBhdGg7XG4gICAgYXdhaXQgdGhpcy5lbnN1cmVTdGFnaW5nRm9sZGVyKCk7XG4gICAgY29uc3Qgc3RhZ2VkUGF0aCA9IGF3YWl0IHRoaXMuZ2V0QXZhaWxhYmxlU3RhZ2VkUGF0aChmaWxlLm5hbWUpO1xuICAgIGNvbnN0IGFkYXB0ZXIgPSB0aGlzLmFwcC52YXVsdC5hZGFwdGVyO1xuICAgIC8vIE1vdmUgdGhyb3VnaCB0aGUgYWRhcHRlciwgbm90IGB2YXVsdC5yZW5hbWVgOiB0aGUgc3RhZ2luZyBmb2xkZXIgaXMgZG90LXByZWZpeGVkIGFuZCB0aGVyZWZvcmVcbiAgICAvLyBVbnRyYWNrZWQsIHNvIGEgYHZhdWx0LipgIG1vdmUgY2Fubm90IHRhcmdldCBpdCAobm9yIHNob3VsZCBpdCByZXdyaXRlIGxpbmtzIHRvIGEgc29mdC1kZWxldGUpLlxuICAgIGF3YWl0IGFkYXB0ZXIucmVuYW1lKG9yaWdpbmFsUGF0aCwgc3RhZ2VkUGF0aCk7XG4gICAgdGhpcy5zdGFnZWRUcmFzaFBhdGhzLnB1c2goc3RhZ2VkUGF0aCk7XG4gICAgdGhpcy5wdXNoVW5kbyhhc3luYyAoKSA9PiB7XG4gICAgICBpZiAoYXdhaXQgYWRhcHRlci5leGlzdHMoc3RhZ2VkUGF0aCkpIHtcbiAgICAgICAgYXdhaXQgYWRhcHRlci5yZW5hbWUoc3RhZ2VkUGF0aCwgb3JpZ2luYWxQYXRoKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgYXNzZXJ0Tm90Q29tbWl0dGVkKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLnN0YXRlID09PSAnY29tbWl0dGVkJykge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdDYW5ub3Qgcm9sbCBiYWNrIGEgY29tbWl0dGVkIHRyYW5zYWN0aW9uLicpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgYXNzZXJ0T3BlbigpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5zdGF0ZSAhPT0gJ29wZW4nKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYENhbm5vdCBtdXRhdGUgYSAke3RoaXMuc3RhdGV9IHRyYW5zYWN0aW9uLmApO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgZGlzcG9zZU11dGF0aW9uQnlwYXNzKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLm11dGF0aW9uQnlwYXNzKSB7XG4gICAgICBkaXNwb3NlKHRoaXMubXV0YXRpb25CeXBhc3MpO1xuICAgIH1cbiAgICB0aGlzLm11dGF0aW9uQnlwYXNzID0gbnVsbDtcbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgZW5zdXJlU3RhZ2luZ0ZvbGRlcigpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBpZiAodGhpcy5oYXNTdGFnaW5nRm9sZGVyKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGNvbnN0IGFkYXB0ZXIgPSB0aGlzLmFwcC52YXVsdC5hZGFwdGVyO1xuICAgIGlmICghYXdhaXQgYWRhcHRlci5leGlzdHModGhpcy5zdGFnaW5nRm9sZGVyUGF0aCkpIHtcbiAgICAgIGF3YWl0IGFkYXB0ZXIubWtkaXIodGhpcy5zdGFnaW5nRm9sZGVyUGF0aCk7XG4gICAgfVxuICAgIHRoaXMuaGFzU3RhZ2luZ0ZvbGRlciA9IHRydWU7XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIGdldEF2YWlsYWJsZVN0YWdlZFBhdGgobmFtZTogc3RyaW5nKTogUHJvbWlzZTxzdHJpbmc+IHtcbiAgICBjb25zdCBhZGFwdGVyID0gdGhpcy5hcHAudmF1bHQuYWRhcHRlcjtcbiAgICBjb25zdCBkb3RJbmRleCA9IG5hbWUubGFzdEluZGV4T2YoJy4nKTtcbiAgICBjb25zdCBoYXNFeHRlbnNpb24gPSBkb3RJbmRleCA+IDA7XG4gICAgY29uc3QgYmFzZU5hbWUgPSBoYXNFeHRlbnNpb24gPyBuYW1lLnNsaWNlKDAsIGRvdEluZGV4KSA6IG5hbWU7XG4gICAgY29uc3QgZXh0ZW5zaW9uID0gaGFzRXh0ZW5zaW9uID8gbmFtZS5zbGljZShkb3RJbmRleCkgOiAnJztcbiAgICBsZXQgY2FuZGlkYXRlID0gYCR7dGhpcy5zdGFnaW5nRm9sZGVyUGF0aH0vJHtuYW1lfWA7XG4gICAgbGV0IGNvdW50ZXIgPSAxO1xuICAgIHdoaWxlIChhd2FpdCBhZGFwdGVyLmV4aXN0cyhjYW5kaWRhdGUpKSB7XG4gICAgICBjYW5kaWRhdGUgPSBgJHt0aGlzLnN0YWdpbmdGb2xkZXJQYXRofS8ke2Jhc2VOYW1lfSAke2NvdW50ZXIudG9TdHJpbmcoKX0ke2V4dGVuc2lvbn1gO1xuICAgICAgY291bnRlcisrO1xuICAgIH1cbiAgICByZXR1cm4gY2FuZGlkYXRlO1xuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyBoYXJkRGVsZXRlKHBhdGg6IHN0cmluZyk6IFByb21pc2U8dm9pZD4ge1xuICAgIGNvbnN0IGZpbGUgPSBnZXRBYnN0cmFjdEZpbGVPck51bGwoeyBhcHA6IHRoaXMuYXBwLCBwYXRoT3JGaWxlOiBwYXRoIH0pO1xuICAgIGlmIChmaWxlKSB7XG4gICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgb2JzaWRpYW5tZC9wcmVmZXItZmlsZS1tYW5hZ2VyLXRyYXNoLWZpbGUgLS0gVW5kb2luZyBhIHRyYW5zYWN0aW9uLWxvY2FsIGNyZWF0ZSBtdXN0IHZhbmlzaCBpdCBlbnRpcmVseSwgbm90IGxhbmQgaXQgaW4gdGhlIHVzZXIncyB0cmFzaC5cbiAgICAgIGF3YWl0IHRoaXMuYXBwLnZhdWx0LmRlbGV0ZShmaWxlLCB0cnVlKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHB1c2hVbmRvKHVuZG86ICgpID0+IFByb21pc2U8dm9pZD4pOiB2b2lkIHtcbiAgICB0aGlzLnVuZG9TdGVwcy5wdXNoKHsgdW5kbyB9KTtcbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgcmVtb3ZlU3RhZ2luZ0ZvbGRlcigpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBpZiAoIXRoaXMuaGFzU3RhZ2luZ0ZvbGRlcikge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0aGlzLmhhc1N0YWdpbmdGb2xkZXIgPSBmYWxzZTtcbiAgICBjb25zdCBhZGFwdGVyID0gdGhpcy5hcHAudmF1bHQuYWRhcHRlcjtcbiAgICBpZiAoYXdhaXQgYWRhcHRlci5leGlzdHModGhpcy5zdGFnaW5nRm9sZGVyUGF0aCkpIHtcbiAgICAgIGF3YWl0IGFkYXB0ZXIucm1kaXIodGhpcy5zdGFnaW5nRm9sZGVyUGF0aCwgdHJ1ZSk7XG4gICAgfVxuICB9XG59XG4iXSwKICAibWFwcGluZ3MiOiAiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQTBCQSx3QkFBd0I7QUFDeEIseUJBQWtDO0FBQ2xDLG9CQUE2QztBQUM3Qyx5QkFHTztBQUNQLG1CQU1PO0FBRVAsTUFBTSw4QkFBOEI7QUE4QzdCLE1BQU0saUJBQWlCO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFJVDtBQUFBLEVBQ1gsbUJBQW1CO0FBQUEsRUFDbkIsaUJBQW9DO0FBQUEsRUFDM0IsbUJBQTZCLENBQUM7QUFBQSxFQUM5QjtBQUFBLEVBQ1QsUUFBMEI7QUFBQSxFQUNqQixZQUF3QixDQUFDO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBT25DLFlBQVksUUFBMkM7QUFDNUQsU0FBSyxNQUFNLE9BQU87QUFDbEIsU0FBSyxvQkFBb0IsT0FBTyxxQkFBcUI7QUFDckQsU0FBSyxpQkFBaUIsT0FBTyxxQkFBcUIsS0FBSztBQUFBLEVBQ3pEO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFRQSxNQUFhLFNBQXdCO0FBQ25DLFNBQUssV0FBVztBQUNoQixTQUFLLFFBQVE7QUFDYixVQUFNLFVBQVUsS0FBSyxJQUFJLE1BQU07QUFDL0IsZUFBVyxjQUFjLEtBQUssa0JBQWtCO0FBQzlDLFlBQU0scUJBQXFCLE1BQU0sUUFBUSxZQUFZLFVBQVU7QUFDL0QsVUFBSSxDQUFDLG9CQUFvQjtBQUN2QixjQUFNLFFBQVEsV0FBVyxVQUFVO0FBQUEsTUFDckM7QUFBQSxJQUNGO0FBQ0EsVUFBTSxLQUFLLG9CQUFvQjtBQUMvQixT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
|