obsidian-dev-utils 55.4.1 → 56.0.1
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 +11 -0
- package/dist/lib/cjs/abort-controller.cjs +6 -4
- package/dist/lib/cjs/array.cjs +5 -3
- package/dist/lib/cjs/async-events.cjs +7 -5
- package/dist/lib/cjs/async.cjs +6 -4
- package/dist/lib/cjs/blob.cjs +6 -4
- package/dist/lib/cjs/codemirror/index.cjs +5 -3
- package/dist/lib/cjs/codemirror/state-field-spec.cjs +5 -3
- package/dist/lib/cjs/css-class.cjs +5 -3
- package/dist/lib/cjs/debug-controller.cjs +5 -3
- package/dist/lib/cjs/debug.cjs +5 -3
- package/dist/lib/cjs/enum.cjs +5 -3
- package/dist/lib/cjs/error.cjs +5 -3
- package/dist/lib/cjs/function.cjs +5 -3
- package/dist/lib/cjs/html-element.cjs +18 -16
- package/dist/lib/cjs/index.cjs +5 -3
- package/dist/lib/cjs/library.cjs +6 -4
- package/dist/lib/cjs/object-utils.cjs +5 -3
- package/dist/lib/cjs/obsidian/@types/i18next.d.cts +3 -3
- package/dist/lib/cjs/obsidian/app.cjs +5 -3
- package/dist/lib/cjs/obsidian/async-with-notice.cjs +8 -6
- package/dist/lib/cjs/obsidian/attachment-path.cjs +5 -3
- package/dist/lib/cjs/obsidian/backlink.cjs +5 -3
- package/dist/lib/cjs/obsidian/callout.cjs +5 -3
- package/dist/lib/cjs/obsidian/code-block-markdown-information.cjs +5 -3
- package/dist/lib/cjs/obsidian/command-handlers/abstract-file-command-handler.cjs +355 -0
- package/dist/lib/cjs/obsidian/command-handlers/abstract-file-command-handler.d.cts +178 -0
- package/dist/lib/cjs/obsidian/{commands/index.cjs → command-handlers/app-active-file-provider.cjs} +29 -34
- package/dist/lib/cjs/obsidian/command-handlers/app-active-file-provider.d.cts +25 -0
- package/dist/lib/cjs/obsidian/command-handlers/app-menu-event-registrar.cjs +173 -0
- package/dist/lib/cjs/obsidian/command-handlers/app-menu-event-registrar.d.cts +41 -0
- package/dist/lib/cjs/obsidian/command-handlers/command-handler-component.cjs +164 -0
- package/dist/lib/cjs/obsidian/command-handlers/command-handler-component.d.cts +26 -0
- package/dist/lib/cjs/obsidian/command-handlers/command-handler.cjs +174 -0
- package/dist/lib/cjs/obsidian/command-handlers/command-handler.d.cts +143 -0
- package/dist/lib/cjs/obsidian/command-handlers/editor-command-handler.cjs +269 -0
- package/dist/lib/cjs/obsidian/command-handlers/editor-command-handler.d.cts +114 -0
- package/dist/lib/cjs/obsidian/command-handlers/file-command-handler.cjs +261 -0
- package/dist/lib/cjs/obsidian/command-handlers/file-command-handler.d.cts +112 -0
- package/dist/lib/cjs/obsidian/command-handlers/folder-command-handler.cjs +261 -0
- package/dist/lib/cjs/obsidian/command-handlers/folder-command-handler.d.cts +112 -0
- package/dist/lib/cjs/obsidian/command-handlers/global-command-handler.cjs +177 -0
- package/dist/lib/cjs/obsidian/command-handlers/global-command-handler.d.cts +38 -0
- package/dist/lib/cjs/obsidian/command-handlers/index.cjs +170 -0
- package/dist/lib/cjs/obsidian/command-handlers/index.d.cts +9 -0
- package/dist/lib/cjs/obsidian/components/all-windows-event-handler.cjs +6 -4
- package/dist/lib/cjs/obsidian/components/async-component.cjs +164 -0
- package/dist/lib/cjs/obsidian/components/async-component.d.cts +28 -0
- package/dist/lib/cjs/obsidian/components/async-events-component.cjs +5 -3
- package/dist/lib/cjs/obsidian/components/index.cjs +8 -3
- package/dist/lib/cjs/obsidian/components/index.d.cts +1 -0
- package/dist/lib/cjs/obsidian/components/setting-components/checkbox-component.cjs +5 -3
- package/dist/lib/cjs/obsidian/components/setting-components/code-highlighter-component.cjs +5 -3
- package/dist/lib/cjs/obsidian/components/setting-components/date-component.cjs +5 -3
- package/dist/lib/cjs/obsidian/components/setting-components/date-time-component.cjs +5 -3
- package/dist/lib/cjs/obsidian/components/setting-components/email-component.cjs +5 -3
- package/dist/lib/cjs/obsidian/components/setting-components/file-component.cjs +5 -3
- package/dist/lib/cjs/obsidian/components/setting-components/index.cjs +5 -3
- package/dist/lib/cjs/obsidian/components/setting-components/month-component.cjs +5 -3
- package/dist/lib/cjs/obsidian/components/setting-components/multiple-dropdown-component.cjs +5 -3
- package/dist/lib/cjs/obsidian/components/setting-components/multiple-email-component.cjs +5 -3
- package/dist/lib/cjs/obsidian/components/setting-components/multiple-file-component.cjs +5 -3
- package/dist/lib/cjs/obsidian/components/setting-components/multiple-text-component.cjs +5 -3
- package/dist/lib/cjs/obsidian/components/setting-components/number-component.cjs +5 -3
- package/dist/lib/cjs/obsidian/components/setting-components/password-component.cjs +5 -3
- package/dist/lib/cjs/obsidian/components/setting-components/setting-component-wrapper.cjs +5 -3
- package/dist/lib/cjs/obsidian/components/setting-components/telephone-component.cjs +5 -3
- package/dist/lib/cjs/obsidian/components/setting-components/text-based-component.cjs +5 -3
- package/dist/lib/cjs/obsidian/components/setting-components/time-component.cjs +5 -3
- package/dist/lib/cjs/obsidian/components/setting-components/tri-state-checkbox-component.cjs +5 -3
- package/dist/lib/cjs/obsidian/components/setting-components/typed-dropdown-component.cjs +5 -3
- package/dist/lib/cjs/obsidian/components/setting-components/typed-multiple-dropdown-component.cjs +5 -3
- package/dist/lib/cjs/obsidian/components/setting-components/typed-range-text-component.cjs +5 -3
- package/dist/lib/cjs/obsidian/components/setting-components/typed-text-component.cjs +5 -3
- package/dist/lib/cjs/obsidian/components/setting-components/url-component.cjs +5 -3
- package/dist/lib/cjs/obsidian/components/setting-components/validator-component.cjs +7 -5
- package/dist/lib/cjs/obsidian/components/setting-components/value-component-with-change-tracking.cjs +5 -3
- package/dist/lib/cjs/obsidian/components/setting-components/week-component.cjs +5 -3
- package/dist/lib/cjs/obsidian/constructors/getDomEventsHandlersConstructor.cjs +5 -3
- package/dist/lib/cjs/obsidian/constructors/index.cjs +5 -3
- package/dist/lib/cjs/obsidian/dataview-link.cjs +5 -3
- package/dist/lib/cjs/obsidian/dataview.cjs +6 -4
- package/dist/lib/cjs/obsidian/editor.cjs +5 -3
- package/dist/lib/cjs/obsidian/file-change.cjs +5 -3
- package/dist/lib/cjs/obsidian/file-manager.cjs +5 -3
- package/dist/lib/cjs/obsidian/file-system.cjs +5 -3
- package/dist/lib/cjs/obsidian/frontmatter-link-cache-with-offsets.cjs +5 -3
- package/dist/lib/cjs/obsidian/frontmatter.cjs +5 -3
- package/dist/lib/cjs/obsidian/i18n/{custom-type-options-base.cjs → custom-type-options.cjs} +7 -5
- package/dist/lib/cjs/obsidian/i18n/custom-type-options.d.cts +37 -0
- package/dist/lib/cjs/obsidian/{plugin/plugin-settings-wrapper.cjs → i18n/default-translations.cjs} +8 -5
- package/dist/lib/cjs/obsidian/i18n/default-translations.d.cts +14 -0
- package/dist/lib/cjs/obsidian/i18n/i18n.cjs +5 -3
- package/dist/lib/cjs/obsidian/i18n/i18n.d.cts +2 -13
- package/dist/lib/cjs/obsidian/i18n/index.cjs +11 -9
- package/dist/lib/cjs/obsidian/i18n/index.d.cts +2 -2
- package/dist/lib/cjs/obsidian/i18n/locales/en.cjs +5 -3
- package/dist/lib/cjs/obsidian/i18n/locales/index.cjs +5 -3
- package/dist/lib/cjs/obsidian/i18n/locales/translations-map.cjs +5 -3
- package/dist/lib/cjs/obsidian/i18n/locales/translations-map.d.cts +1 -2
- package/dist/lib/cjs/obsidian/index.cjs +8 -6
- package/dist/lib/cjs/obsidian/index.d.cts +1 -1
- package/dist/lib/cjs/obsidian/is-in-obsidian.cjs +5 -3
- package/dist/lib/cjs/obsidian/link.cjs +5 -3
- package/dist/lib/cjs/obsidian/logger.cjs +5 -3
- package/dist/lib/cjs/obsidian/loop.cjs +5 -3
- package/dist/lib/cjs/obsidian/markdown-code-block-processor.cjs +5 -3
- package/dist/lib/cjs/obsidian/markdown-view.cjs +5 -3
- package/dist/lib/cjs/obsidian/markdown.cjs +5 -3
- package/dist/lib/cjs/obsidian/metadata-cache.cjs +5 -3
- package/dist/lib/cjs/obsidian/modals/alert.cjs +8 -6
- package/dist/lib/cjs/obsidian/modals/confirm.cjs +8 -6
- package/dist/lib/cjs/obsidian/modals/index.cjs +8 -6
- package/dist/lib/cjs/obsidian/modals/index.d.cts +1 -1
- package/dist/lib/cjs/obsidian/modals/{modal-base.cjs → modal.cjs} +8 -6
- package/dist/lib/cjs/obsidian/modals/prompt.cjs +8 -6
- package/dist/lib/cjs/obsidian/modals/select-item.cjs +7 -5
- package/dist/lib/cjs/obsidian/monkey-around.cjs +5 -3
- package/dist/lib/cjs/obsidian/obsidian-settings.cjs +5 -3
- package/dist/lib/cjs/obsidian/pdf.cjs +8 -6
- package/dist/lib/cjs/obsidian/plugin/components/abort-signal-component.cjs +162 -0
- package/dist/lib/cjs/obsidian/plugin/components/abort-signal-component.d.cts +27 -0
- package/dist/lib/cjs/obsidian/plugin/components/async-error-handler-component.cjs +165 -0
- package/dist/lib/cjs/obsidian/plugin/components/async-error-handler-component.d.cts +29 -0
- package/dist/lib/cjs/obsidian/{commands/non-editor-command-base.cjs → plugin/components/console-debug-component.cjs} +26 -20
- package/dist/lib/cjs/obsidian/plugin/components/console-debug-component.d.cts +29 -0
- package/dist/lib/cjs/obsidian/{i18n/default-translations-base.cjs → plugin/components/i18n-component.cjs} +39 -6
- package/dist/lib/cjs/obsidian/plugin/components/i18n-component.d.cts +23 -0
- package/dist/lib/cjs/obsidian/plugin/components/index.cjs +170 -0
- package/dist/lib/cjs/obsidian/plugin/components/index.d.cts +9 -0
- package/dist/lib/cjs/obsidian/plugin/components/lifecycle-events-component.cjs +207 -0
- package/dist/lib/cjs/obsidian/plugin/components/lifecycle-events-component.d.cts +59 -0
- package/dist/lib/cjs/obsidian/plugin/components/plugin-context-component.cjs +162 -0
- package/dist/lib/cjs/obsidian/plugin/components/plugin-context-component.d.cts +25 -0
- package/dist/lib/cjs/obsidian/plugin/components/plugin-notice-component.cjs +161 -0
- package/dist/lib/cjs/obsidian/plugin/components/plugin-notice-component.d.cts +25 -0
- package/dist/lib/cjs/obsidian/plugin/components/plugin-settings-component.cjs +566 -0
- package/dist/lib/cjs/obsidian/plugin/components/plugin-settings-component.d.cts +302 -0
- package/dist/lib/cjs/obsidian/plugin/components/plugin-settings-tab-component.cjs +166 -0
- package/dist/lib/cjs/obsidian/plugin/components/plugin-settings-tab-component.d.cts +28 -0
- package/dist/lib/cjs/obsidian/plugin/index.cjs +11 -18
- package/dist/lib/cjs/obsidian/plugin/index.d.cts +2 -5
- package/dist/lib/cjs/obsidian/plugin/obsidian-plugin-repo-paths.cjs +5 -3
- package/dist/lib/cjs/obsidian/plugin/path-settings.cjs +5 -3
- package/dist/lib/cjs/obsidian/plugin/plugin-context.cjs +16 -7
- package/dist/lib/cjs/obsidian/plugin/plugin-context.d.cts +3 -2
- package/dist/lib/cjs/obsidian/plugin/plugin-id.cjs +5 -3
- package/dist/lib/cjs/obsidian/plugin/plugin-settings-tab.cjs +412 -0
- package/dist/lib/cjs/obsidian/plugin/{plugin-settings-tab-base.d.cts → plugin-settings-tab.d.cts} +29 -11
- package/dist/lib/cjs/obsidian/plugin/plugin.cjs +135 -3
- package/dist/lib/cjs/obsidian/plugin/plugin.d.cts +106 -5
- package/dist/lib/cjs/obsidian/queue.cjs +5 -3
- package/dist/lib/cjs/obsidian/react/app-context.cjs +5 -3
- package/dist/lib/cjs/obsidian/react/index.cjs +5 -3
- package/dist/lib/cjs/obsidian/reference.cjs +5 -3
- package/dist/lib/cjs/obsidian/rename-delete-handler.cjs +5 -3
- package/dist/lib/cjs/obsidian/resource-url.cjs +5 -3
- package/dist/lib/cjs/obsidian/setting-ex.cjs +5 -3
- package/dist/lib/cjs/obsidian/setting-group-ex.cjs +5 -3
- package/dist/lib/cjs/obsidian/validation.cjs +5 -3
- package/dist/lib/cjs/obsidian/vault-delete.cjs +5 -3
- package/dist/lib/cjs/obsidian/vault.cjs +5 -3
- package/dist/lib/cjs/obsidian/workspace.cjs +5 -3
- package/dist/lib/cjs/path.cjs +5 -3
- package/dist/lib/cjs/reg-exp.cjs +5 -3
- package/dist/lib/cjs/script-utils/build.cjs +5 -3
- package/dist/lib/cjs/script-utils/bundlers/esbuild-impl/change-extension-plugin.cjs +5 -3
- package/dist/lib/cjs/script-utils/bundlers/esbuild-impl/copy-to-obsidian-plugins-folder-plugin.cjs +5 -3
- package/dist/lib/cjs/script-utils/bundlers/esbuild-impl/custom-esbuild-options-plugin.cjs +5 -3
- package/dist/lib/cjs/script-utils/bundlers/esbuild-impl/dependency.cjs +6 -4
- package/dist/lib/cjs/script-utils/bundlers/esbuild-impl/fix-esm-plugin.cjs +5 -3
- package/dist/lib/cjs/script-utils/bundlers/esbuild-impl/fix-source-maps-plugin.cjs +5 -3
- package/dist/lib/cjs/script-utils/bundlers/esbuild-impl/index.cjs +5 -3
- package/dist/lib/cjs/script-utils/bundlers/esbuild-impl/obsidian-plugin-builder.cjs +5 -3
- package/dist/lib/cjs/script-utils/bundlers/esbuild-impl/preprocess-plugin.cjs +8 -6
- package/dist/lib/cjs/script-utils/bundlers/esbuild-impl/rename-css-plugin.cjs +5 -3
- package/dist/lib/cjs/script-utils/bundlers/esbuild-impl/svelte-wrapper-plugin.cjs +5 -3
- package/dist/lib/cjs/script-utils/bundlers/esbuild.cjs +5 -3
- package/dist/lib/cjs/script-utils/bundlers/index.cjs +5 -3
- package/dist/lib/cjs/script-utils/cli-utils.cjs +5 -3
- package/dist/lib/cjs/script-utils/code-generator.cjs +5 -3
- package/dist/lib/cjs/script-utils/commitlint-config.cjs +5 -3
- package/dist/lib/cjs/script-utils/exec.cjs +5 -3
- package/dist/lib/cjs/script-utils/formatters/dprint.cjs +6 -4
- package/dist/lib/cjs/script-utils/formatters/index.cjs +5 -3
- package/dist/lib/cjs/script-utils/fs.cjs +5 -3
- package/dist/lib/cjs/script-utils/index.cjs +5 -3
- package/dist/lib/cjs/script-utils/json.cjs +5 -3
- package/dist/lib/cjs/script-utils/linters/cspell.cjs +5 -3
- package/dist/lib/cjs/script-utils/linters/eslint-config.cjs +6 -4
- package/dist/lib/cjs/script-utils/linters/eslint-rules/index.cjs +5 -3
- package/dist/lib/cjs/script-utils/linters/eslint-rules/no-async-callback-to-unsafe-return.cjs +5 -3
- package/dist/lib/cjs/script-utils/linters/eslint-rules/no-used-underscore-variables.cjs +5 -3
- package/dist/lib/cjs/script-utils/linters/eslint-rules/obsidian-dev-utils-plugin.cjs +5 -3
- package/dist/lib/cjs/script-utils/linters/eslint-rules/rule-tester-helper.cjs +5 -3
- package/dist/lib/cjs/script-utils/linters/eslint.cjs +6 -4
- package/dist/lib/cjs/script-utils/linters/index.cjs +5 -3
- package/dist/lib/cjs/script-utils/linters/markdownlint-cli2-config.cjs +5 -3
- package/dist/lib/cjs/script-utils/linters/markdownlint.cjs +9 -5
- package/dist/lib/cjs/script-utils/nano-staged-config.cjs +5 -3
- package/dist/lib/cjs/script-utils/npm-publish.cjs +5 -3
- package/dist/lib/cjs/script-utils/npm-run.cjs +5 -3
- package/dist/lib/cjs/script-utils/npm.cjs +5 -3
- package/dist/lib/cjs/script-utils/obsidian-dev-utils-repo-paths.cjs +5 -3
- package/dist/lib/cjs/script-utils/root.cjs +5 -3
- package/dist/lib/cjs/script-utils/test-runners/index.cjs +5 -3
- package/dist/lib/cjs/script-utils/test-runners/vitest.cjs +5 -3
- package/dist/lib/cjs/script-utils/version.cjs +5 -3
- package/dist/lib/cjs/strict-proxy.cjs +5 -3
- package/dist/lib/cjs/string.cjs +5 -3
- package/dist/lib/cjs/transformers/date-transformer.cjs +5 -3
- package/dist/lib/cjs/transformers/duration-transformer.cjs +5 -3
- package/dist/lib/cjs/transformers/group-transformer.cjs +5 -3
- package/dist/lib/cjs/transformers/index.cjs +5 -3
- package/dist/lib/cjs/transformers/map-transformer.cjs +5 -3
- package/dist/lib/cjs/transformers/set-transformer.cjs +5 -3
- package/dist/lib/cjs/transformers/skip-private-property-transformer.cjs +5 -3
- package/dist/lib/cjs/transformers/transformer.cjs +5 -3
- package/dist/lib/cjs/transformers/two-way-map-transformer.cjs +5 -3
- package/dist/lib/cjs/transformers/typed-transformer.cjs +5 -3
- package/dist/lib/cjs/two-way-map.cjs +5 -3
- package/dist/lib/cjs/type-guards.cjs +5 -3
- package/dist/lib/cjs/type.cjs +5 -3
- package/dist/lib/cjs/url.cjs +5 -3
- package/dist/lib/cjs/value-provider.cjs +5 -3
- package/dist/lib/esm/abort-controller.mjs +4 -2
- package/dist/lib/esm/array.mjs +3 -1
- package/dist/lib/esm/async-events.mjs +5 -3
- package/dist/lib/esm/async.mjs +4 -2
- package/dist/lib/esm/blob.mjs +4 -2
- package/dist/lib/esm/codemirror/index.mjs +3 -1
- package/dist/lib/esm/codemirror/state-field-spec.mjs +2 -0
- package/dist/lib/esm/css-class.mjs +3 -1
- package/dist/lib/esm/debug-controller.mjs +2 -0
- package/dist/lib/esm/debug.mjs +3 -1
- package/dist/lib/esm/enum.mjs +3 -1
- package/dist/lib/esm/error.mjs +3 -1
- package/dist/lib/esm/function.mjs +3 -1
- package/dist/lib/esm/html-element.mjs +16 -14
- package/dist/lib/esm/index.mjs +3 -1
- package/dist/lib/esm/library.mjs +4 -2
- package/dist/lib/esm/object-utils.mjs +3 -1
- package/dist/lib/esm/obsidian/@types/i18next.d.mts +3 -3
- package/dist/lib/esm/obsidian/app.mjs +3 -1
- package/dist/lib/esm/obsidian/async-with-notice.mjs +6 -4
- package/dist/lib/esm/obsidian/attachment-path.mjs +3 -1
- package/dist/lib/esm/obsidian/backlink.mjs +3 -1
- package/dist/lib/esm/obsidian/callout.mjs +3 -1
- package/dist/lib/esm/obsidian/code-block-markdown-information.mjs +2 -0
- package/dist/lib/esm/obsidian/command-handlers/abstract-file-command-handler.d.mts +178 -0
- package/dist/lib/esm/obsidian/command-handlers/abstract-file-command-handler.mjs +247 -0
- package/dist/lib/esm/obsidian/command-handlers/app-active-file-provider.d.mts +25 -0
- package/dist/lib/esm/obsidian/command-handlers/app-active-file-provider.mjs +46 -0
- package/dist/lib/esm/obsidian/command-handlers/app-menu-event-registrar.d.mts +41 -0
- package/dist/lib/esm/obsidian/command-handlers/app-menu-event-registrar.mjs +65 -0
- package/dist/lib/esm/obsidian/command-handlers/command-handler-component.d.mts +26 -0
- package/dist/lib/esm/obsidian/command-handlers/command-handler-component.mjs +56 -0
- package/dist/lib/esm/obsidian/command-handlers/command-handler.d.mts +143 -0
- package/dist/lib/esm/obsidian/command-handlers/command-handler.mjs +66 -0
- package/dist/lib/esm/obsidian/command-handlers/editor-command-handler.d.mts +114 -0
- package/dist/lib/esm/obsidian/command-handlers/editor-command-handler.mjs +161 -0
- package/dist/lib/esm/obsidian/command-handlers/file-command-handler.d.mts +112 -0
- package/dist/lib/esm/obsidian/command-handlers/file-command-handler.mjs +157 -0
- package/dist/lib/esm/obsidian/command-handlers/folder-command-handler.d.mts +112 -0
- package/dist/lib/esm/obsidian/command-handlers/folder-command-handler.mjs +157 -0
- package/dist/lib/esm/obsidian/command-handlers/global-command-handler.d.mts +38 -0
- package/dist/lib/esm/obsidian/command-handlers/global-command-handler.mjs +69 -0
- package/dist/lib/esm/obsidian/command-handlers/index.d.mts +9 -0
- package/dist/lib/esm/obsidian/command-handlers/index.mjs +44 -0
- package/dist/lib/esm/obsidian/components/all-windows-event-handler.mjs +4 -2
- package/dist/lib/esm/obsidian/components/async-component.d.mts +28 -0
- package/dist/lib/esm/obsidian/components/async-component.mjs +56 -0
- package/dist/lib/esm/obsidian/components/async-events-component.mjs +3 -1
- package/dist/lib/esm/obsidian/components/index.d.mts +1 -0
- package/dist/lib/esm/obsidian/components/index.mjs +5 -1
- package/dist/lib/esm/obsidian/components/setting-components/checkbox-component.mjs +3 -1
- package/dist/lib/esm/obsidian/components/setting-components/code-highlighter-component.mjs +3 -1
- package/dist/lib/esm/obsidian/components/setting-components/date-component.mjs +3 -1
- package/dist/lib/esm/obsidian/components/setting-components/date-time-component.mjs +3 -1
- package/dist/lib/esm/obsidian/components/setting-components/email-component.mjs +3 -1
- package/dist/lib/esm/obsidian/components/setting-components/file-component.mjs +3 -1
- package/dist/lib/esm/obsidian/components/setting-components/index.mjs +3 -1
- package/dist/lib/esm/obsidian/components/setting-components/month-component.mjs +3 -1
- package/dist/lib/esm/obsidian/components/setting-components/multiple-dropdown-component.mjs +3 -1
- package/dist/lib/esm/obsidian/components/setting-components/multiple-email-component.mjs +3 -1
- package/dist/lib/esm/obsidian/components/setting-components/multiple-file-component.mjs +3 -1
- package/dist/lib/esm/obsidian/components/setting-components/multiple-text-component.mjs +3 -1
- package/dist/lib/esm/obsidian/components/setting-components/number-component.mjs +3 -1
- package/dist/lib/esm/obsidian/components/setting-components/password-component.mjs +3 -1
- package/dist/lib/esm/obsidian/components/setting-components/setting-component-wrapper.mjs +3 -1
- package/dist/lib/esm/obsidian/components/setting-components/telephone-component.mjs +3 -1
- package/dist/lib/esm/obsidian/components/setting-components/text-based-component.mjs +3 -1
- package/dist/lib/esm/obsidian/components/setting-components/time-component.mjs +3 -1
- package/dist/lib/esm/obsidian/components/setting-components/tri-state-checkbox-component.mjs +3 -1
- package/dist/lib/esm/obsidian/components/setting-components/typed-dropdown-component.mjs +3 -1
- package/dist/lib/esm/obsidian/components/setting-components/typed-multiple-dropdown-component.mjs +3 -1
- package/dist/lib/esm/obsidian/components/setting-components/typed-range-text-component.mjs +3 -1
- package/dist/lib/esm/obsidian/components/setting-components/typed-text-component.mjs +3 -1
- package/dist/lib/esm/obsidian/components/setting-components/url-component.mjs +3 -1
- package/dist/lib/esm/obsidian/components/setting-components/validator-component.mjs +5 -3
- package/dist/lib/esm/obsidian/components/setting-components/value-component-with-change-tracking.mjs +2 -0
- package/dist/lib/esm/obsidian/components/setting-components/week-component.mjs +3 -1
- package/dist/lib/esm/obsidian/constructors/getDomEventsHandlersConstructor.mjs +3 -1
- package/dist/lib/esm/obsidian/constructors/index.mjs +3 -1
- package/dist/lib/esm/obsidian/dataview-link.mjs +3 -1
- package/dist/lib/esm/obsidian/dataview.mjs +4 -2
- package/dist/lib/esm/obsidian/editor.mjs +3 -1
- package/dist/lib/esm/obsidian/file-change.mjs +3 -1
- package/dist/lib/esm/obsidian/file-manager.mjs +3 -1
- package/dist/lib/esm/obsidian/file-system.mjs +3 -1
- package/dist/lib/esm/obsidian/frontmatter-link-cache-with-offsets.mjs +3 -1
- package/dist/lib/esm/obsidian/frontmatter.mjs +3 -1
- package/dist/lib/esm/obsidian/i18n/custom-type-options.d.mts +37 -0
- package/dist/lib/esm/obsidian/i18n/custom-type-options.mjs +25 -0
- package/dist/lib/esm/obsidian/i18n/default-translations.d.mts +14 -0
- package/dist/lib/esm/obsidian/i18n/default-translations.mjs +25 -0
- package/dist/lib/esm/obsidian/i18n/i18n.d.mts +2 -13
- package/dist/lib/esm/obsidian/i18n/i18n.mjs +3 -1
- package/dist/lib/esm/obsidian/i18n/index.d.mts +2 -2
- package/dist/lib/esm/obsidian/i18n/index.mjs +7 -5
- package/dist/lib/esm/obsidian/i18n/locales/en.mjs +3 -1
- package/dist/lib/esm/obsidian/i18n/locales/index.mjs +3 -1
- package/dist/lib/esm/obsidian/i18n/locales/translations-map.d.mts +1 -2
- package/dist/lib/esm/obsidian/i18n/locales/translations-map.mjs +3 -1
- package/dist/lib/esm/obsidian/index.d.mts +1 -1
- package/dist/lib/esm/obsidian/index.mjs +5 -3
- package/dist/lib/esm/obsidian/is-in-obsidian.mjs +3 -1
- package/dist/lib/esm/obsidian/link.mjs +3 -1
- package/dist/lib/esm/obsidian/logger.mjs +3 -1
- package/dist/lib/esm/obsidian/loop.mjs +3 -1
- package/dist/lib/esm/obsidian/markdown-code-block-processor.mjs +3 -1
- package/dist/lib/esm/obsidian/markdown-view.mjs +3 -1
- package/dist/lib/esm/obsidian/markdown.mjs +3 -1
- package/dist/lib/esm/obsidian/metadata-cache.mjs +3 -1
- package/dist/lib/esm/obsidian/modals/alert.mjs +4 -2
- package/dist/lib/esm/obsidian/modals/confirm.mjs +4 -2
- package/dist/lib/esm/obsidian/modals/index.d.mts +1 -1
- package/dist/lib/esm/obsidian/modals/index.mjs +5 -3
- package/dist/lib/esm/obsidian/modals/modal.mjs +54 -0
- package/dist/lib/esm/obsidian/modals/prompt.mjs +4 -2
- package/dist/lib/esm/obsidian/modals/select-item.mjs +4 -2
- package/dist/lib/esm/obsidian/monkey-around.mjs +3 -1
- package/dist/lib/esm/obsidian/obsidian-settings.mjs +3 -1
- package/dist/lib/esm/obsidian/pdf.mjs +6 -4
- package/dist/lib/esm/obsidian/plugin/components/abort-signal-component.d.mts +27 -0
- package/dist/lib/esm/obsidian/plugin/components/abort-signal-component.mjs +54 -0
- package/dist/lib/esm/obsidian/plugin/components/async-error-handler-component.d.mts +29 -0
- package/dist/lib/esm/obsidian/plugin/components/async-error-handler-component.mjs +57 -0
- package/dist/lib/esm/obsidian/plugin/components/console-debug-component.d.mts +29 -0
- package/dist/lib/esm/obsidian/plugin/components/console-debug-component.mjs +52 -0
- package/dist/lib/esm/obsidian/plugin/components/i18n-component.d.mts +23 -0
- package/dist/lib/esm/obsidian/plugin/components/i18n-component.mjs +48 -0
- package/dist/lib/esm/obsidian/plugin/components/index.d.mts +9 -0
- package/dist/lib/esm/obsidian/plugin/components/index.mjs +44 -0
- package/dist/lib/esm/obsidian/plugin/components/lifecycle-events-component.d.mts +59 -0
- package/dist/lib/esm/obsidian/plugin/components/lifecycle-events-component.mjs +102 -0
- package/dist/lib/esm/obsidian/plugin/components/plugin-context-component.d.mts +25 -0
- package/dist/lib/esm/obsidian/plugin/components/plugin-context-component.mjs +57 -0
- package/dist/lib/esm/obsidian/plugin/components/plugin-notice-component.d.mts +25 -0
- package/dist/lib/esm/obsidian/plugin/components/plugin-notice-component.mjs +56 -0
- package/dist/lib/esm/obsidian/plugin/components/plugin-settings-component.d.mts +302 -0
- package/dist/lib/esm/obsidian/plugin/components/plugin-settings-component.mjs +463 -0
- package/dist/lib/esm/obsidian/plugin/components/plugin-settings-tab-component.d.mts +28 -0
- package/dist/lib/esm/obsidian/plugin/components/plugin-settings-tab-component.mjs +58 -0
- package/dist/lib/esm/obsidian/plugin/index.d.mts +2 -5
- package/dist/lib/esm/obsidian/plugin/index.mjs +7 -11
- package/dist/lib/esm/obsidian/plugin/obsidian-plugin-repo-paths.mjs +3 -1
- package/dist/lib/esm/obsidian/plugin/path-settings.mjs +3 -1
- package/dist/lib/esm/obsidian/plugin/plugin-context.d.mts +3 -2
- package/dist/lib/esm/obsidian/plugin/plugin-context.mjs +14 -5
- package/dist/lib/esm/obsidian/plugin/plugin-id.mjs +3 -1
- package/dist/lib/esm/obsidian/plugin/{plugin-settings-tab-base.d.mts → plugin-settings-tab.d.mts} +29 -11
- package/dist/lib/esm/obsidian/plugin/plugin-settings-tab.mjs +313 -0
- package/dist/lib/esm/obsidian/plugin/plugin.d.mts +106 -5
- package/dist/lib/esm/obsidian/plugin/plugin.mjs +140 -2
- package/dist/lib/esm/obsidian/queue.mjs +3 -1
- package/dist/lib/esm/obsidian/react/app-context.mjs +3 -1
- package/dist/lib/esm/obsidian/react/index.mjs +3 -1
- package/dist/lib/esm/obsidian/reference.mjs +3 -1
- package/dist/lib/esm/obsidian/rename-delete-handler.mjs +3 -1
- package/dist/lib/esm/obsidian/resource-url.mjs +3 -1
- package/dist/lib/esm/obsidian/setting-ex.mjs +3 -1
- package/dist/lib/esm/obsidian/setting-group-ex.mjs +3 -1
- package/dist/lib/esm/obsidian/validation.mjs +3 -1
- package/dist/lib/esm/obsidian/vault-delete.mjs +3 -1
- package/dist/lib/esm/obsidian/vault.mjs +3 -1
- package/dist/lib/esm/obsidian/workspace.mjs +3 -1
- package/dist/lib/esm/path.mjs +3 -1
- package/dist/lib/esm/reg-exp.mjs +3 -1
- package/dist/lib/esm/script-utils/build.mjs +3 -1
- package/dist/lib/esm/script-utils/bundlers/esbuild-impl/change-extension-plugin.mjs +3 -1
- package/dist/lib/esm/script-utils/bundlers/esbuild-impl/copy-to-obsidian-plugins-folder-plugin.mjs +3 -1
- package/dist/lib/esm/script-utils/bundlers/esbuild-impl/custom-esbuild-options-plugin.mjs +3 -1
- package/dist/lib/esm/script-utils/bundlers/esbuild-impl/dependency.mjs +3 -1
- package/dist/lib/esm/script-utils/bundlers/esbuild-impl/fix-esm-plugin.mjs +3 -1
- package/dist/lib/esm/script-utils/bundlers/esbuild-impl/fix-source-maps-plugin.mjs +3 -1
- package/dist/lib/esm/script-utils/bundlers/esbuild-impl/index.mjs +3 -1
- package/dist/lib/esm/script-utils/bundlers/esbuild-impl/obsidian-plugin-builder.mjs +3 -1
- package/dist/lib/esm/script-utils/bundlers/esbuild-impl/preprocess-plugin.mjs +5 -3
- package/dist/lib/esm/script-utils/bundlers/esbuild-impl/rename-css-plugin.mjs +3 -1
- package/dist/lib/esm/script-utils/bundlers/esbuild-impl/svelte-wrapper-plugin.mjs +3 -1
- package/dist/lib/esm/script-utils/bundlers/esbuild.mjs +3 -1
- package/dist/lib/esm/script-utils/bundlers/index.mjs +3 -1
- package/dist/lib/esm/script-utils/cli-utils.mjs +3 -1
- package/dist/lib/esm/script-utils/code-generator.mjs +3 -1
- package/dist/lib/esm/script-utils/commitlint-config.mjs +3 -1
- package/dist/lib/esm/script-utils/exec.mjs +3 -1
- package/dist/lib/esm/script-utils/formatters/dprint.mjs +3 -1
- package/dist/lib/esm/script-utils/formatters/index.mjs +3 -1
- package/dist/lib/esm/script-utils/fs.mjs +3 -1
- package/dist/lib/esm/script-utils/index.mjs +3 -1
- package/dist/lib/esm/script-utils/json.mjs +3 -1
- package/dist/lib/esm/script-utils/linters/cspell.mjs +3 -1
- package/dist/lib/esm/script-utils/linters/eslint-config.mjs +4 -2
- package/dist/lib/esm/script-utils/linters/eslint-rules/index.mjs +3 -1
- package/dist/lib/esm/script-utils/linters/eslint-rules/no-async-callback-to-unsafe-return.mjs +3 -1
- package/dist/lib/esm/script-utils/linters/eslint-rules/no-used-underscore-variables.mjs +3 -1
- package/dist/lib/esm/script-utils/linters/eslint-rules/obsidian-dev-utils-plugin.mjs +3 -1
- package/dist/lib/esm/script-utils/linters/eslint-rules/rule-tester-helper.mjs +3 -1
- package/dist/lib/esm/script-utils/linters/eslint.mjs +3 -1
- package/dist/lib/esm/script-utils/linters/index.mjs +3 -1
- package/dist/lib/esm/script-utils/linters/markdownlint-cli2-config.mjs +3 -1
- package/dist/lib/esm/script-utils/linters/markdownlint.mjs +6 -2
- package/dist/lib/esm/script-utils/nano-staged-config.mjs +3 -1
- package/dist/lib/esm/script-utils/npm-publish.mjs +3 -1
- package/dist/lib/esm/script-utils/npm-run.mjs +3 -1
- package/dist/lib/esm/script-utils/npm.mjs +3 -1
- package/dist/lib/esm/script-utils/obsidian-dev-utils-repo-paths.mjs +3 -1
- package/dist/lib/esm/script-utils/root.mjs +3 -1
- package/dist/lib/esm/script-utils/test-runners/index.mjs +3 -1
- package/dist/lib/esm/script-utils/test-runners/vitest.mjs +3 -1
- package/dist/lib/esm/script-utils/version.mjs +3 -1
- package/dist/lib/esm/strict-proxy.mjs +3 -1
- package/dist/lib/esm/string.mjs +3 -1
- package/dist/lib/esm/transformers/date-transformer.mjs +3 -1
- package/dist/lib/esm/transformers/duration-transformer.mjs +3 -1
- package/dist/lib/esm/transformers/group-transformer.mjs +3 -1
- package/dist/lib/esm/transformers/index.mjs +3 -1
- package/dist/lib/esm/transformers/map-transformer.mjs +3 -1
- package/dist/lib/esm/transformers/set-transformer.mjs +3 -1
- package/dist/lib/esm/transformers/skip-private-property-transformer.mjs +3 -1
- package/dist/lib/esm/transformers/transformer.mjs +3 -1
- package/dist/lib/esm/transformers/two-way-map-transformer.mjs +3 -1
- package/dist/lib/esm/transformers/typed-transformer.mjs +3 -1
- package/dist/lib/esm/two-way-map.mjs +3 -1
- package/dist/lib/esm/type-guards.mjs +3 -1
- package/dist/lib/esm/type.mjs +3 -1
- package/dist/lib/esm/url.mjs +3 -1
- package/dist/lib/esm/value-provider.mjs +3 -1
- package/obsidian/Components/async-component/package.json +6 -0
- package/obsidian/Modals/modal/package.json +6 -0
- package/obsidian/Plugin/components/abort-signal-component/package.json +6 -0
- package/obsidian/Plugin/components/async-error-handler-component/package.json +6 -0
- package/obsidian/Plugin/components/console-debug-component/package.json +6 -0
- package/obsidian/Plugin/components/i18n-component/package.json +6 -0
- package/obsidian/Plugin/components/index/package.json +6 -0
- package/obsidian/Plugin/components/lifecycle-events-component/package.json +6 -0
- package/obsidian/Plugin/components/package.json +6 -0
- package/obsidian/Plugin/components/plugin-context-component/package.json +6 -0
- package/obsidian/Plugin/components/plugin-notice-component/package.json +6 -0
- package/obsidian/Plugin/components/plugin-settings-component/package.json +6 -0
- package/obsidian/Plugin/components/plugin-settings-tab-component/package.json +6 -0
- package/obsidian/Plugin/{plugin-settings-wrapper → plugin-settings-tab}/package.json +3 -3
- package/obsidian/command-handlers/abstract-file-command-handler/package.json +6 -0
- package/obsidian/command-handlers/app-active-file-provider/package.json +6 -0
- package/obsidian/command-handlers/app-menu-event-registrar/package.json +6 -0
- package/obsidian/command-handlers/command-handler/package.json +6 -0
- package/obsidian/command-handlers/command-handler-component/package.json +6 -0
- package/obsidian/command-handlers/editor-command-handler/package.json +6 -0
- package/obsidian/command-handlers/file-command-handler/package.json +6 -0
- package/obsidian/command-handlers/folder-command-handler/package.json +6 -0
- package/obsidian/command-handlers/global-command-handler/package.json +6 -0
- package/obsidian/command-handlers/index/package.json +6 -0
- package/obsidian/command-handlers/package.json +6 -0
- package/obsidian/i18n/{custom-type-options-base → custom-type-options}/package.json +3 -3
- package/obsidian/i18n/{default-translations-base → default-translations}/package.json +3 -3
- package/package.json +33 -12
- package/dist/lib/cjs/obsidian/commands/abstract-file-command-base.cjs +0 -441
- package/dist/lib/cjs/obsidian/commands/abstract-file-command-base.d.cts +0 -264
- package/dist/lib/cjs/obsidian/commands/command-base.cjs +0 -255
- package/dist/lib/cjs/obsidian/commands/command-base.d.cts +0 -125
- package/dist/lib/cjs/obsidian/commands/editor-command-base.cjs +0 -282
- package/dist/lib/cjs/obsidian/commands/editor-command-base.d.cts +0 -139
- package/dist/lib/cjs/obsidian/commands/file-command-base.cjs +0 -343
- package/dist/lib/cjs/obsidian/commands/file-command-base.d.cts +0 -191
- package/dist/lib/cjs/obsidian/commands/folder-command-base.cjs +0 -335
- package/dist/lib/cjs/obsidian/commands/folder-command-base.d.cts +0 -184
- package/dist/lib/cjs/obsidian/commands/index.d.cts +0 -6
- package/dist/lib/cjs/obsidian/commands/non-editor-command-base.d.cts +0 -34
- package/dist/lib/cjs/obsidian/i18n/custom-type-options-base.d.cts +0 -37
- package/dist/lib/cjs/obsidian/i18n/default-translations-base.d.cts +0 -25
- package/dist/lib/cjs/obsidian/plugin/plugin-base.cjs +0 -409
- package/dist/lib/cjs/obsidian/plugin/plugin-base.d.cts +0 -176
- package/dist/lib/cjs/obsidian/plugin/plugin-settings-manager-base.cjs +0 -486
- package/dist/lib/cjs/obsidian/plugin/plugin-settings-manager-base.d.cts +0 -186
- package/dist/lib/cjs/obsidian/plugin/plugin-settings-tab-base.cjs +0 -401
- package/dist/lib/cjs/obsidian/plugin/plugin-settings-wrapper.d.cts +0 -25
- package/dist/lib/cjs/obsidian/plugin/plugin-types-base.cjs +0 -122
- package/dist/lib/cjs/obsidian/plugin/plugin-types-base.d.cts +0 -87
- package/dist/lib/esm/obsidian/commands/abstract-file-command-base.d.mts +0 -264
- package/dist/lib/esm/obsidian/commands/abstract-file-command-base.mjs +0 -329
- package/dist/lib/esm/obsidian/commands/command-base.d.mts +0 -125
- package/dist/lib/esm/obsidian/commands/command-base.mjs +0 -146
- package/dist/lib/esm/obsidian/commands/editor-command-base.d.mts +0 -139
- package/dist/lib/esm/obsidian/commands/editor-command-base.mjs +0 -176
- package/dist/lib/esm/obsidian/commands/file-command-base.d.mts +0 -191
- package/dist/lib/esm/obsidian/commands/file-command-base.mjs +0 -240
- package/dist/lib/esm/obsidian/commands/folder-command-base.d.mts +0 -184
- package/dist/lib/esm/obsidian/commands/folder-command-base.mjs +0 -232
- package/dist/lib/esm/obsidian/commands/index.d.mts +0 -6
- package/dist/lib/esm/obsidian/commands/index.mjs +0 -36
- package/dist/lib/esm/obsidian/commands/non-editor-command-base.d.mts +0 -34
- package/dist/lib/esm/obsidian/commands/non-editor-command-base.mjs +0 -46
- package/dist/lib/esm/obsidian/i18n/custom-type-options-base.d.mts +0 -37
- package/dist/lib/esm/obsidian/i18n/custom-type-options-base.mjs +0 -23
- package/dist/lib/esm/obsidian/i18n/default-translations-base.d.mts +0 -25
- package/dist/lib/esm/obsidian/i18n/default-translations-base.mjs +0 -23
- package/dist/lib/esm/obsidian/modals/modal-base.mjs +0 -52
- package/dist/lib/esm/obsidian/plugin/plugin-base.d.mts +0 -176
- package/dist/lib/esm/obsidian/plugin/plugin-base.mjs +0 -317
- package/dist/lib/esm/obsidian/plugin/plugin-settings-manager-base.d.mts +0 -186
- package/dist/lib/esm/obsidian/plugin/plugin-settings-manager-base.mjs +0 -385
- package/dist/lib/esm/obsidian/plugin/plugin-settings-tab-base.mjs +0 -302
- package/dist/lib/esm/obsidian/plugin/plugin-settings-wrapper.d.mts +0 -25
- package/dist/lib/esm/obsidian/plugin/plugin-settings-wrapper.mjs +0 -22
- package/dist/lib/esm/obsidian/plugin/plugin-types-base.d.mts +0 -87
- package/dist/lib/esm/obsidian/plugin/plugin-types-base.mjs +0 -22
- package/obsidian/Commands/abstract-file-command-base/package.json +0 -6
- package/obsidian/Commands/command-base/package.json +0 -6
- package/obsidian/Commands/editor-command-base/package.json +0 -6
- package/obsidian/Commands/file-command-base/package.json +0 -6
- package/obsidian/Commands/folder-command-base/package.json +0 -6
- package/obsidian/Commands/index/package.json +0 -6
- package/obsidian/Commands/non-editor-command-base/package.json +0 -6
- package/obsidian/Commands/package.json +0 -6
- package/obsidian/Modals/modal-base/package.json +0 -6
- package/obsidian/Plugin/plugin-base/package.json +0 -6
- package/obsidian/Plugin/plugin-settings-manager-base/package.json +0 -6
- package/obsidian/Plugin/plugin-settings-tab-base/package.json +0 -6
- package/obsidian/Plugin/plugin-types-base/package.json +0 -6
- /package/dist/lib/cjs/obsidian/modals/{modal-base.d.cts → modal.d.cts} +0 -0
- /package/dist/lib/esm/obsidian/modals/{modal-base.d.mts → modal.d.mts} +0 -0
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @file
|
|
3
|
+
*
|
|
4
|
+
* Component that manages plugin lifecycle events (load, layoutReady, unload).
|
|
5
|
+
*/
|
|
6
|
+
import type { App } from 'obsidian';
|
|
7
|
+
import { AsyncEvents } from '../../../async-events.mjs';
|
|
8
|
+
import { AsyncComponentBase } from '../../components/async-component.mjs';
|
|
9
|
+
/**
|
|
10
|
+
* The name of a lifecycle event.
|
|
11
|
+
*/
|
|
12
|
+
export type LifecycleEventName = 'layoutReady' | 'load' | 'unload';
|
|
13
|
+
/**
|
|
14
|
+
* Manages plugin lifecycle events: `load`, `layoutReady`, and `unload`.
|
|
15
|
+
*
|
|
16
|
+
* Components can wait for or register callbacks for these events.
|
|
17
|
+
*/
|
|
18
|
+
export declare class LifecycleEventsComponent extends AsyncComponentBase {
|
|
19
|
+
private readonly app;
|
|
20
|
+
/**
|
|
21
|
+
* The async events instance.
|
|
22
|
+
*/
|
|
23
|
+
readonly events: AsyncEvents;
|
|
24
|
+
private readonly triggeredEvents;
|
|
25
|
+
/**
|
|
26
|
+
* Creates a new lifecycle events component.
|
|
27
|
+
*
|
|
28
|
+
* @param app - The Obsidian app instance.
|
|
29
|
+
*/
|
|
30
|
+
constructor(app: App);
|
|
31
|
+
/**
|
|
32
|
+
* Triggers load and registers layoutReady callback.
|
|
33
|
+
*/
|
|
34
|
+
onload(): Promise<void>;
|
|
35
|
+
/**
|
|
36
|
+
* Triggers the unload lifecycle event.
|
|
37
|
+
*/
|
|
38
|
+
onunload(): void;
|
|
39
|
+
/**
|
|
40
|
+
* Registers a callback to be executed when a lifecycle event is triggered.
|
|
41
|
+
*
|
|
42
|
+
* @param name - The name of the event.
|
|
43
|
+
* @param callback - The callback to execute.
|
|
44
|
+
*/
|
|
45
|
+
registerForLifecycleEvent(name: LifecycleEventName, callback: () => Promise<void>): Promise<void>;
|
|
46
|
+
/**
|
|
47
|
+
* Triggers a lifecycle event.
|
|
48
|
+
*
|
|
49
|
+
* @param name - The name of the lifecycle event to trigger.
|
|
50
|
+
*/
|
|
51
|
+
triggerLifecycleEvent(name: LifecycleEventName): Promise<void>;
|
|
52
|
+
/**
|
|
53
|
+
* Waits for a lifecycle event to be triggered.
|
|
54
|
+
*
|
|
55
|
+
* @param name - The name of the event.
|
|
56
|
+
* @returns A {@link Promise} that resolves when the event is triggered.
|
|
57
|
+
*/
|
|
58
|
+
waitForLifecycleEvent(name: LifecycleEventName): Promise<void>;
|
|
59
|
+
}
|
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
/*
|
|
2
|
+
THIS IS A GENERATED/BUNDLED FILE BY ESBUILD
|
|
3
|
+
if you want to view the source, please visit the github repository of this plugin
|
|
4
|
+
*/
|
|
5
|
+
|
|
6
|
+
(function initEsm() {
|
|
7
|
+
// eslint-disable-next-line obsidianmd/prefer-active-doc -- Actively use globalThis.
|
|
8
|
+
if (globalThis.process) {
|
|
9
|
+
return;
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
const browserProcess = {
|
|
13
|
+
browser: true,
|
|
14
|
+
cwd() {
|
|
15
|
+
return '/';
|
|
16
|
+
},
|
|
17
|
+
env: {},
|
|
18
|
+
platform: 'android'
|
|
19
|
+
};
|
|
20
|
+
// eslint-disable-next-line obsidianmd/prefer-active-doc -- Actively use globalThis.
|
|
21
|
+
globalThis.process = browserProcess;
|
|
22
|
+
})();
|
|
23
|
+
|
|
24
|
+
import { AsyncEvents } from "../../../async-events.mjs";
|
|
25
|
+
import {
|
|
26
|
+
convertAsyncToSync,
|
|
27
|
+
invokeAsyncSafely
|
|
28
|
+
} from "../../../async.mjs";
|
|
29
|
+
import { AsyncComponentBase } from "../../components/async-component.mjs";
|
|
30
|
+
class LifecycleEventsComponent extends AsyncComponentBase {
|
|
31
|
+
/**
|
|
32
|
+
* Creates a new lifecycle events component.
|
|
33
|
+
*
|
|
34
|
+
* @param app - The Obsidian app instance.
|
|
35
|
+
*/
|
|
36
|
+
constructor(app) {
|
|
37
|
+
super();
|
|
38
|
+
this.app = app;
|
|
39
|
+
}
|
|
40
|
+
app;
|
|
41
|
+
/**
|
|
42
|
+
* The async events instance.
|
|
43
|
+
*/
|
|
44
|
+
events = new AsyncEvents();
|
|
45
|
+
triggeredEvents = /* @__PURE__ */ new Set();
|
|
46
|
+
/**
|
|
47
|
+
* Triggers load and registers layoutReady callback.
|
|
48
|
+
*/
|
|
49
|
+
async onload() {
|
|
50
|
+
await this.triggerLifecycleEvent("load");
|
|
51
|
+
this.app.workspace.onLayoutReady(convertAsyncToSync(async () => {
|
|
52
|
+
await this.triggerLifecycleEvent("layoutReady");
|
|
53
|
+
}));
|
|
54
|
+
}
|
|
55
|
+
/**
|
|
56
|
+
* Triggers the unload lifecycle event.
|
|
57
|
+
*/
|
|
58
|
+
onunload() {
|
|
59
|
+
invokeAsyncSafely(async () => {
|
|
60
|
+
await this.triggerLifecycleEvent("unload");
|
|
61
|
+
});
|
|
62
|
+
}
|
|
63
|
+
/**
|
|
64
|
+
* Registers a callback to be executed when a lifecycle event is triggered.
|
|
65
|
+
*
|
|
66
|
+
* @param name - The name of the event.
|
|
67
|
+
* @param callback - The callback to execute.
|
|
68
|
+
*/
|
|
69
|
+
async registerForLifecycleEvent(name, callback) {
|
|
70
|
+
await this.waitForLifecycleEvent(name);
|
|
71
|
+
await callback();
|
|
72
|
+
}
|
|
73
|
+
/**
|
|
74
|
+
* Triggers a lifecycle event.
|
|
75
|
+
*
|
|
76
|
+
* @param name - The name of the lifecycle event to trigger.
|
|
77
|
+
*/
|
|
78
|
+
async triggerLifecycleEvent(name) {
|
|
79
|
+
this.triggeredEvents.add(name);
|
|
80
|
+
await this.events.triggerAsync(name);
|
|
81
|
+
}
|
|
82
|
+
/**
|
|
83
|
+
* Waits for a lifecycle event to be triggered.
|
|
84
|
+
*
|
|
85
|
+
* @param name - The name of the event.
|
|
86
|
+
* @returns A {@link Promise} that resolves when the event is triggered.
|
|
87
|
+
*/
|
|
88
|
+
async waitForLifecycleEvent(name) {
|
|
89
|
+
if (this.triggeredEvents.has(name)) {
|
|
90
|
+
return;
|
|
91
|
+
}
|
|
92
|
+
await new Promise((resolve) => {
|
|
93
|
+
this.events.once(name, () => {
|
|
94
|
+
resolve();
|
|
95
|
+
});
|
|
96
|
+
});
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
export {
|
|
100
|
+
LifecycleEventsComponent
|
|
101
|
+
};
|
|
102
|
+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL29ic2lkaWFuL3BsdWdpbi9jb21wb25lbnRzL2xpZmVjeWNsZS1ldmVudHMtY29tcG9uZW50LnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyIvKipcbiAqIEBmaWxlXG4gKlxuICogQ29tcG9uZW50IHRoYXQgbWFuYWdlcyBwbHVnaW4gbGlmZWN5Y2xlIGV2ZW50cyAobG9hZCwgbGF5b3V0UmVhZHksIHVubG9hZCkuXG4gKi9cblxuaW1wb3J0IHR5cGUgeyBBcHAgfSBmcm9tICdvYnNpZGlhbic7XG5cbmltcG9ydCB7IEFzeW5jRXZlbnRzIH0gZnJvbSAnLi4vLi4vLi4vYXN5bmMtZXZlbnRzLnRzJztcbmltcG9ydCB7XG4gIGNvbnZlcnRBc3luY1RvU3luYyxcbiAgaW52b2tlQXN5bmNTYWZlbHlcbn0gZnJvbSAnLi4vLi4vLi4vYXN5bmMudHMnO1xuaW1wb3J0IHsgQXN5bmNDb21wb25lbnRCYXNlIH0gZnJvbSAnLi4vLi4vY29tcG9uZW50cy9hc3luYy1jb21wb25lbnQudHMnO1xuXG4vKipcbiAqIFRoZSBuYW1lIG9mIGEgbGlmZWN5Y2xlIGV2ZW50LlxuICovXG5leHBvcnQgdHlwZSBMaWZlY3ljbGVFdmVudE5hbWUgPSAnbGF5b3V0UmVhZHknIHwgJ2xvYWQnIHwgJ3VubG9hZCc7XG5cbi8qKlxuICogTWFuYWdlcyBwbHVnaW4gbGlmZWN5Y2xlIGV2ZW50czogYGxvYWRgLCBgbGF5b3V0UmVhZHlgLCBhbmQgYHVubG9hZGAuXG4gKlxuICogQ29tcG9uZW50cyBjYW4gd2FpdCBmb3Igb3IgcmVnaXN0ZXIgY2FsbGJhY2tzIGZvciB0aGVzZSBldmVudHMuXG4gKi9cbmV4cG9ydCBjbGFzcyBMaWZlY3ljbGVFdmVudHNDb21wb25lbnQgZXh0ZW5kcyBBc3luY0NvbXBvbmVudEJhc2Uge1xuICAvKipcbiAgICogVGhlIGFzeW5jIGV2ZW50cyBpbnN0YW5jZS5cbiAgICovXG4gIHB1YmxpYyByZWFkb25seSBldmVudHMgPSBuZXcgQXN5bmNFdmVudHMoKTtcblxuICBwcml2YXRlIHJlYWRvbmx5IHRyaWdnZXJlZEV2ZW50cyA9IG5ldyBTZXQ8TGlmZWN5Y2xlRXZlbnROYW1lPigpO1xuXG4gIC8qKlxuICAgKiBDcmVhdGVzIGEgbmV3IGxpZmVjeWNsZSBldmVudHMgY29tcG9uZW50LlxuICAgKlxuICAgKiBAcGFyYW0gYXBwIC0gVGhlIE9ic2lkaWFuIGFwcCBpbnN0YW5jZS5cbiAgICovXG4gIHB1YmxpYyBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IGFwcDogQXBwKSB7XG4gICAgc3VwZXIoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBUcmlnZ2VycyBsb2FkIGFuZCByZWdpc3RlcnMgbGF5b3V0UmVhZHkgY2FsbGJhY2suXG4gICAqL1xuICBwdWJsaWMgb3ZlcnJpZGUgYXN5bmMgb25sb2FkKCk6IFByb21pc2U8dm9pZD4ge1xuICAgIGF3YWl0IHRoaXMudHJpZ2dlckxpZmVjeWNsZUV2ZW50KCdsb2FkJyk7XG4gICAgdGhpcy5hcHAud29ya3NwYWNlLm9uTGF5b3V0UmVhZHkoY29udmVydEFzeW5jVG9TeW5jKGFzeW5jICgpID0+IHtcbiAgICAgIGF3YWl0IHRoaXMudHJpZ2dlckxpZmVjeWNsZUV2ZW50KCdsYXlvdXRSZWFkeScpO1xuICAgIH0pKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBUcmlnZ2VycyB0aGUgdW5sb2FkIGxpZmVjeWNsZSBldmVudC5cbiAgICovXG4gIHB1YmxpYyBvdmVycmlkZSBvbnVubG9hZCgpOiB2b2lkIHtcbiAgICBpbnZva2VBc3luY1NhZmVseShhc3luYyAoKSA9PiB7XG4gICAgICBhd2FpdCB0aGlzLnRyaWdnZXJMaWZlY3ljbGVFdmVudCgndW5sb2FkJyk7XG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogUmVnaXN0ZXJzIGEgY2FsbGJhY2sgdG8gYmUgZXhlY3V0ZWQgd2hlbiBhIGxpZmVjeWNsZSBldmVudCBpcyB0cmlnZ2VyZWQuXG4gICAqXG4gICAqIEBwYXJhbSBuYW1lIC0gVGhlIG5hbWUgb2YgdGhlIGV2ZW50LlxuICAgKiBAcGFyYW0gY2FsbGJhY2sgLSBUaGUgY2FsbGJhY2sgdG8gZXhlY3V0ZS5cbiAgICovXG4gIHB1YmxpYyBhc3luYyByZWdpc3RlckZvckxpZmVjeWNsZUV2ZW50KG5hbWU6IExpZmVjeWNsZUV2ZW50TmFtZSwgY2FsbGJhY2s6ICgpID0+IFByb21pc2U8dm9pZD4pOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBhd2FpdCB0aGlzLndhaXRGb3JMaWZlY3ljbGVFdmVudChuYW1lKTtcbiAgICBhd2FpdCBjYWxsYmFjaygpO1xuICB9XG5cbiAgLyoqXG4gICAqIFRyaWdnZXJzIGEgbGlmZWN5Y2xlIGV2ZW50LlxuICAgKlxuICAgKiBAcGFyYW0gbmFtZSAtIFRoZSBuYW1lIG9mIHRoZSBsaWZlY3ljbGUgZXZlbnQgdG8gdHJpZ2dlci5cbiAgICovXG4gIHB1YmxpYyBhc3luYyB0cmlnZ2VyTGlmZWN5Y2xlRXZlbnQobmFtZTogTGlmZWN5Y2xlRXZlbnROYW1lKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgdGhpcy50cmlnZ2VyZWRFdmVudHMuYWRkKG5hbWUpO1xuICAgIGF3YWl0IHRoaXMuZXZlbnRzLnRyaWdnZXJBc3luYyhuYW1lKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBXYWl0cyBmb3IgYSBsaWZlY3ljbGUgZXZlbnQgdG8gYmUgdHJpZ2dlcmVkLlxuICAgKlxuICAgKiBAcGFyYW0gbmFtZSAtIFRoZSBuYW1lIG9mIHRoZSBldmVudC5cbiAgICogQHJldHVybnMgQSB7QGxpbmsgUHJvbWlzZX0gdGhhdCByZXNvbHZlcyB3aGVuIHRoZSBldmVudCBpcyB0cmlnZ2VyZWQuXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgd2FpdEZvckxpZmVjeWNsZUV2ZW50KG5hbWU6IExpZmVjeWNsZUV2ZW50TmFtZSk6IFByb21pc2U8dm9pZD4ge1xuICAgIGlmICh0aGlzLnRyaWdnZXJlZEV2ZW50cy5oYXMobmFtZSkpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBhd2FpdCBuZXcgUHJvbWlzZTx2b2lkPigocmVzb2x2ZSkgPT4ge1xuICAgICAgdGhpcy5ldmVudHMub25jZShuYW1lLCAoKSA9PiB7XG4gICAgICAgIHJlc29sdmUoKTtcbiAgICAgIH0pO1xuICAgIH0pO1xuICB9XG59XG4iXSwKICAibWFwcGluZ3MiOiAiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQVFBLFNBQVMsbUJBQW1CO0FBQzVCO0FBQUEsRUFDRTtBQUFBLEVBQ0E7QUFBQSxPQUNLO0FBQ1AsU0FBUywwQkFBMEI7QUFZNUIsTUFBTSxpQ0FBaUMsbUJBQW1CO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBYXhELFlBQTZCLEtBQVU7QUFDNUMsVUFBTTtBQUQ0QjtBQUFBLEVBRXBDO0FBQUEsRUFGb0M7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQVRwQixTQUFTLElBQUksWUFBWTtBQUFBLEVBRXhCLGtCQUFrQixvQkFBSSxJQUF3QjtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBYy9ELE1BQXNCLFNBQXdCO0FBQzVDLFVBQU0sS0FBSyxzQkFBc0IsTUFBTTtBQUN2QyxTQUFLLElBQUksVUFBVSxjQUFjLG1CQUFtQixZQUFZO0FBQzlELFlBQU0sS0FBSyxzQkFBc0IsYUFBYTtBQUFBLElBQ2hELENBQUMsQ0FBQztBQUFBLEVBQ0o7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQUtnQixXQUFpQjtBQUMvQixzQkFBa0IsWUFBWTtBQUM1QixZQUFNLEtBQUssc0JBQXNCLFFBQVE7QUFBQSxJQUMzQyxDQUFDO0FBQUEsRUFDSDtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBUUEsTUFBYSwwQkFBMEIsTUFBMEIsVUFBOEM7QUFDN0csVUFBTSxLQUFLLHNCQUFzQixJQUFJO0FBQ3JDLFVBQU0sU0FBUztBQUFBLEVBQ2pCO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBT0EsTUFBYSxzQkFBc0IsTUFBeUM7QUFDMUUsU0FBSyxnQkFBZ0IsSUFBSSxJQUFJO0FBQzdCLFVBQU0sS0FBSyxPQUFPLGFBQWEsSUFBSTtBQUFBLEVBQ3JDO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFRQSxNQUFhLHNCQUFzQixNQUF5QztBQUMxRSxRQUFJLEtBQUssZ0JBQWdCLElBQUksSUFBSSxHQUFHO0FBQ2xDO0FBQUEsSUFDRjtBQUVBLFVBQU0sSUFBSSxRQUFjLENBQUMsWUFBWTtBQUNuQyxXQUFLLE9BQU8sS0FBSyxNQUFNLE1BQU07QUFDM0IsZ0JBQVE7QUFBQSxNQUNWLENBQUM7QUFBQSxJQUNILENBQUM7QUFBQSxFQUNIO0FBQ0Y7IiwKICAibmFtZXMiOiBbXQp9Cg==
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @file
|
|
3
|
+
*
|
|
4
|
+
* Component that initializes the plugin context, debug controller, and library styles.
|
|
5
|
+
*/
|
|
6
|
+
import type { App } from 'obsidian';
|
|
7
|
+
import { Component } from 'obsidian';
|
|
8
|
+
/**
|
|
9
|
+
* Initializes plugin context (plugin ID, debug controller, library styles) on load.
|
|
10
|
+
*/
|
|
11
|
+
export declare class PluginContextComponent extends Component {
|
|
12
|
+
private readonly app;
|
|
13
|
+
private readonly pluginId;
|
|
14
|
+
/**
|
|
15
|
+
* Creates a new plugin context component.
|
|
16
|
+
*
|
|
17
|
+
* @param app - The Obsidian app instance.
|
|
18
|
+
* @param pluginId - The plugin ID.
|
|
19
|
+
*/
|
|
20
|
+
constructor(app: App, pluginId: string);
|
|
21
|
+
/**
|
|
22
|
+
* Initializes the plugin context and debug controller.
|
|
23
|
+
*/
|
|
24
|
+
onload(): void;
|
|
25
|
+
}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
/*
|
|
2
|
+
THIS IS A GENERATED/BUNDLED FILE BY ESBUILD
|
|
3
|
+
if you want to view the source, please visit the github repository of this plugin
|
|
4
|
+
*/
|
|
5
|
+
|
|
6
|
+
(function initEsm() {
|
|
7
|
+
// eslint-disable-next-line obsidianmd/prefer-active-doc -- Actively use globalThis.
|
|
8
|
+
if (globalThis.process) {
|
|
9
|
+
return;
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
const browserProcess = {
|
|
13
|
+
browser: true,
|
|
14
|
+
cwd() {
|
|
15
|
+
return '/';
|
|
16
|
+
},
|
|
17
|
+
env: {},
|
|
18
|
+
platform: 'android'
|
|
19
|
+
};
|
|
20
|
+
// eslint-disable-next-line obsidianmd/prefer-active-doc -- Actively use globalThis.
|
|
21
|
+
globalThis.process = browserProcess;
|
|
22
|
+
})();
|
|
23
|
+
|
|
24
|
+
import { Component } from "obsidian";
|
|
25
|
+
import { AllWindowsEventHandler } from "../../components/all-windows-event-handler.mjs";
|
|
26
|
+
import {
|
|
27
|
+
initDebugController,
|
|
28
|
+
initPluginContext
|
|
29
|
+
} from "../plugin-context.mjs";
|
|
30
|
+
class PluginContextComponent extends Component {
|
|
31
|
+
/**
|
|
32
|
+
* Creates a new plugin context component.
|
|
33
|
+
*
|
|
34
|
+
* @param app - The Obsidian app instance.
|
|
35
|
+
* @param pluginId - The plugin ID.
|
|
36
|
+
*/
|
|
37
|
+
constructor(app, pluginId) {
|
|
38
|
+
super();
|
|
39
|
+
this.app = app;
|
|
40
|
+
this.pluginId = pluginId;
|
|
41
|
+
}
|
|
42
|
+
app;
|
|
43
|
+
pluginId;
|
|
44
|
+
/**
|
|
45
|
+
* Initializes the plugin context and debug controller.
|
|
46
|
+
*/
|
|
47
|
+
onload() {
|
|
48
|
+
initPluginContext(this.app, this.pluginId);
|
|
49
|
+
new AllWindowsEventHandler(this.app, this).registerAllWindowsHandler((win) => {
|
|
50
|
+
initDebugController(win, this);
|
|
51
|
+
});
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
export {
|
|
55
|
+
PluginContextComponent
|
|
56
|
+
};
|
|
57
|
+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL29ic2lkaWFuL3BsdWdpbi9jb21wb25lbnRzL3BsdWdpbi1jb250ZXh0LWNvbXBvbmVudC50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsiLyoqXG4gKiBAZmlsZVxuICpcbiAqIENvbXBvbmVudCB0aGF0IGluaXRpYWxpemVzIHRoZSBwbHVnaW4gY29udGV4dCwgZGVidWcgY29udHJvbGxlciwgYW5kIGxpYnJhcnkgc3R5bGVzLlxuICovXG5cbmltcG9ydCB0eXBlIHsgQXBwIH0gZnJvbSAnb2JzaWRpYW4nO1xuXG5pbXBvcnQgeyBDb21wb25lbnQgfSBmcm9tICdvYnNpZGlhbic7XG5cbmltcG9ydCB7IEFsbFdpbmRvd3NFdmVudEhhbmRsZXIgfSBmcm9tICcuLi8uLi9jb21wb25lbnRzL2FsbC13aW5kb3dzLWV2ZW50LWhhbmRsZXIudHMnO1xuaW1wb3J0IHtcbiAgaW5pdERlYnVnQ29udHJvbGxlcixcbiAgaW5pdFBsdWdpbkNvbnRleHRcbn0gZnJvbSAnLi4vcGx1Z2luLWNvbnRleHQudHMnO1xuXG4vKipcbiAqIEluaXRpYWxpemVzIHBsdWdpbiBjb250ZXh0IChwbHVnaW4gSUQsIGRlYnVnIGNvbnRyb2xsZXIsIGxpYnJhcnkgc3R5bGVzKSBvbiBsb2FkLlxuICovXG5leHBvcnQgY2xhc3MgUGx1Z2luQ29udGV4dENvbXBvbmVudCBleHRlbmRzIENvbXBvbmVudCB7XG4gIC8qKlxuICAgKiBDcmVhdGVzIGEgbmV3IHBsdWdpbiBjb250ZXh0IGNvbXBvbmVudC5cbiAgICpcbiAgICogQHBhcmFtIGFwcCAtIFRoZSBPYnNpZGlhbiBhcHAgaW5zdGFuY2UuXG4gICAqIEBwYXJhbSBwbHVnaW5JZCAtIFRoZSBwbHVnaW4gSUQuXG4gICAqL1xuICBwdWJsaWMgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSByZWFkb25seSBhcHA6IEFwcCxcbiAgICBwcml2YXRlIHJlYWRvbmx5IHBsdWdpbklkOiBzdHJpbmdcbiAgKSB7XG4gICAgc3VwZXIoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBJbml0aWFsaXplcyB0aGUgcGx1Z2luIGNvbnRleHQgYW5kIGRlYnVnIGNvbnRyb2xsZXIuXG4gICAqL1xuICBwdWJsaWMgb3ZlcnJpZGUgb25sb2FkKCk6IHZvaWQge1xuICAgIGluaXRQbHVnaW5Db250ZXh0KHRoaXMuYXBwLCB0aGlzLnBsdWdpbklkKTtcbiAgICBuZXcgQWxsV2luZG93c0V2ZW50SGFuZGxlcih0aGlzLmFwcCwgdGhpcykucmVnaXN0ZXJBbGxXaW5kb3dzSGFuZGxlcigod2luKSA9PiB7XG4gICAgICBpbml0RGVidWdDb250cm9sbGVyKHdpbiwgdGhpcyk7XG4gICAgfSk7XG4gIH1cbn1cbiJdLAogICJtYXBwaW5ncyI6ICI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBUUEsU0FBUyxpQkFBaUI7QUFFMUIsU0FBUyw4QkFBOEI7QUFDdkM7QUFBQSxFQUNFO0FBQUEsRUFDQTtBQUFBLE9BQ0s7QUFLQSxNQUFNLCtCQUErQixVQUFVO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFPN0MsWUFDWSxLQUNBLFVBQ2pCO0FBQ0EsVUFBTTtBQUhXO0FBQ0E7QUFBQSxFQUduQjtBQUFBLEVBSm1CO0FBQUEsRUFDQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBUUgsU0FBZTtBQUM3QixzQkFBa0IsS0FBSyxLQUFLLEtBQUssUUFBUTtBQUN6QyxRQUFJLHVCQUF1QixLQUFLLEtBQUssSUFBSSxFQUFFLDBCQUEwQixDQUFDLFFBQVE7QUFDNUUsMEJBQW9CLEtBQUssSUFBSTtBQUFBLElBQy9CLENBQUM7QUFBQSxFQUNIO0FBQ0Y7IiwKICAibmFtZXMiOiBbXQp9Cg==
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @file
|
|
3
|
+
*
|
|
4
|
+
* Component that manages displaying notices to the user.
|
|
5
|
+
*/
|
|
6
|
+
import { Component } from 'obsidian';
|
|
7
|
+
/**
|
|
8
|
+
* Manages showing plugin notices. Automatically hides the previous notice when a new one is shown.
|
|
9
|
+
*/
|
|
10
|
+
export declare class PluginNoticeComponent extends Component {
|
|
11
|
+
private readonly pluginName;
|
|
12
|
+
private notice?;
|
|
13
|
+
/**
|
|
14
|
+
* Creates a new plugin notice component.
|
|
15
|
+
*
|
|
16
|
+
* @param pluginName - The plugin name (shown as prefix in notices).
|
|
17
|
+
*/
|
|
18
|
+
constructor(pluginName: string);
|
|
19
|
+
/**
|
|
20
|
+
* Displays a notice message to the user.
|
|
21
|
+
*
|
|
22
|
+
* @param message - The message to display.
|
|
23
|
+
*/
|
|
24
|
+
showNotice(message: string): void;
|
|
25
|
+
}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
/*
|
|
2
|
+
THIS IS A GENERATED/BUNDLED FILE BY ESBUILD
|
|
3
|
+
if you want to view the source, please visit the github repository of this plugin
|
|
4
|
+
*/
|
|
5
|
+
|
|
6
|
+
(function initEsm() {
|
|
7
|
+
// eslint-disable-next-line obsidianmd/prefer-active-doc -- Actively use globalThis.
|
|
8
|
+
if (globalThis.process) {
|
|
9
|
+
return;
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
const browserProcess = {
|
|
13
|
+
browser: true,
|
|
14
|
+
cwd() {
|
|
15
|
+
return '/';
|
|
16
|
+
},
|
|
17
|
+
env: {},
|
|
18
|
+
platform: 'android'
|
|
19
|
+
};
|
|
20
|
+
// eslint-disable-next-line obsidianmd/prefer-active-doc -- Actively use globalThis.
|
|
21
|
+
globalThis.process = browserProcess;
|
|
22
|
+
})();
|
|
23
|
+
|
|
24
|
+
import {
|
|
25
|
+
Component,
|
|
26
|
+
Notice
|
|
27
|
+
} from "obsidian";
|
|
28
|
+
class PluginNoticeComponent extends Component {
|
|
29
|
+
/**
|
|
30
|
+
* Creates a new plugin notice component.
|
|
31
|
+
*
|
|
32
|
+
* @param pluginName - The plugin name (shown as prefix in notices).
|
|
33
|
+
*/
|
|
34
|
+
constructor(pluginName) {
|
|
35
|
+
super();
|
|
36
|
+
this.pluginName = pluginName;
|
|
37
|
+
}
|
|
38
|
+
pluginName;
|
|
39
|
+
notice;
|
|
40
|
+
/**
|
|
41
|
+
* Displays a notice message to the user.
|
|
42
|
+
*
|
|
43
|
+
* @param message - The message to display.
|
|
44
|
+
*/
|
|
45
|
+
showNotice(message) {
|
|
46
|
+
if (this.notice) {
|
|
47
|
+
this.notice.hide();
|
|
48
|
+
}
|
|
49
|
+
this.notice = new Notice(`${this.pluginName}
|
|
50
|
+
${message}`);
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
export {
|
|
54
|
+
PluginNoticeComponent
|
|
55
|
+
};
|
|
56
|
+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL29ic2lkaWFuL3BsdWdpbi9jb21wb25lbnRzL3BsdWdpbi1ub3RpY2UtY29tcG9uZW50LnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyIvKipcbiAqIEBmaWxlXG4gKlxuICogQ29tcG9uZW50IHRoYXQgbWFuYWdlcyBkaXNwbGF5aW5nIG5vdGljZXMgdG8gdGhlIHVzZXIuXG4gKi9cblxuaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBOb3RpY2Vcbn0gZnJvbSAnb2JzaWRpYW4nO1xuXG4vKipcbiAqIE1hbmFnZXMgc2hvd2luZyBwbHVnaW4gbm90aWNlcy4gQXV0b21hdGljYWxseSBoaWRlcyB0aGUgcHJldmlvdXMgbm90aWNlIHdoZW4gYSBuZXcgb25lIGlzIHNob3duLlxuICovXG5leHBvcnQgY2xhc3MgUGx1Z2luTm90aWNlQ29tcG9uZW50IGV4dGVuZHMgQ29tcG9uZW50IHtcbiAgcHJpdmF0ZSBub3RpY2U/OiBOb3RpY2U7XG5cbiAgLyoqXG4gICAqIENyZWF0ZXMgYSBuZXcgcGx1Z2luIG5vdGljZSBjb21wb25lbnQuXG4gICAqXG4gICAqIEBwYXJhbSBwbHVnaW5OYW1lIC0gVGhlIHBsdWdpbiBuYW1lIChzaG93biBhcyBwcmVmaXggaW4gbm90aWNlcykuXG4gICAqL1xuICBwdWJsaWMgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSBwbHVnaW5OYW1lOiBzdHJpbmcpIHtcbiAgICBzdXBlcigpO1xuICB9XG5cbiAgLyoqXG4gICAqIERpc3BsYXlzIGEgbm90aWNlIG1lc3NhZ2UgdG8gdGhlIHVzZXIuXG4gICAqXG4gICAqIEBwYXJhbSBtZXNzYWdlIC0gVGhlIG1lc3NhZ2UgdG8gZGlzcGxheS5cbiAgICovXG4gIHB1YmxpYyBzaG93Tm90aWNlKG1lc3NhZ2U6IHN0cmluZyk6IHZvaWQge1xuICAgIGlmICh0aGlzLm5vdGljZSkge1xuICAgICAgdGhpcy5ub3RpY2UuaGlkZSgpO1xuICAgIH1cblxuICAgIHRoaXMubm90aWNlID0gbmV3IE5vdGljZShgJHt0aGlzLnBsdWdpbk5hbWV9XFxuJHttZXNzYWdlfWApO1xuICB9XG59XG4iXSwKICAibWFwcGluZ3MiOiAiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQU1BO0FBQUEsRUFDRTtBQUFBLEVBQ0E7QUFBQSxPQUNLO0FBS0EsTUFBTSw4QkFBOEIsVUFBVTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQVE1QyxZQUE2QixZQUFvQjtBQUN0RCxVQUFNO0FBRDRCO0FBQUEsRUFFcEM7QUFBQSxFQUZvQztBQUFBLEVBUDVCO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBZ0JELFdBQVcsU0FBdUI7QUFDdkMsUUFBSSxLQUFLLFFBQVE7QUFDZixXQUFLLE9BQU8sS0FBSztBQUFBLElBQ25CO0FBRUEsU0FBSyxTQUFTLElBQUksT0FBTyxHQUFHLEtBQUssVUFBVTtBQUFBLEVBQUssT0FBTyxFQUFFO0FBQUEsRUFDM0Q7QUFDRjsiLAogICJuYW1lcyI6IFtdCn0K
|
|
@@ -0,0 +1,302 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @file
|
|
3
|
+
*
|
|
4
|
+
* Component that manages plugin settings: data, persistence, validation, and events.
|
|
5
|
+
*
|
|
6
|
+
* This is the single public-facing settings API for plugin authors.
|
|
7
|
+
* All settings logic (load, save, validate, transform, clone) is handled directly
|
|
8
|
+
* by this component — no separate manager class is needed.
|
|
9
|
+
*/
|
|
10
|
+
import type { Promisable, ReadonlyDeep } from 'type-fest';
|
|
11
|
+
import type { AsyncEventRef } from '../../../async-events.mjs';
|
|
12
|
+
import type { Transformer } from '../../../transformers/transformer.mjs';
|
|
13
|
+
import type { GenericObject } from '../../../type-guards.mjs';
|
|
14
|
+
import type { MaybeReturn, StringKeys } from '../../../type.mjs';
|
|
15
|
+
import { AsyncComponentBase } from '../../components/async-component.mjs';
|
|
16
|
+
/**
|
|
17
|
+
* Component key used by {@link registerComponent} to identify settings components.
|
|
18
|
+
*/
|
|
19
|
+
export declare const PLUGIN_SETTINGS_COMPONENT_KEY = "PluginSettingsComponent";
|
|
20
|
+
/**
|
|
21
|
+
* Params for creating a {@link PluginSettingsComponentBase}.
|
|
22
|
+
*/
|
|
23
|
+
export interface PluginSettingsComponentParams {
|
|
24
|
+
/**
|
|
25
|
+
* A function to load data from the plugin's data file.
|
|
26
|
+
*
|
|
27
|
+
* @returns The loaded data.
|
|
28
|
+
*/
|
|
29
|
+
readonly loadData: () => Promise<unknown>;
|
|
30
|
+
/**
|
|
31
|
+
* A function to save data to the plugin's data file.
|
|
32
|
+
*
|
|
33
|
+
* @param data - The data to save.
|
|
34
|
+
*/
|
|
35
|
+
readonly saveData: (data: unknown) => Promise<void>;
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* A snapshot of plugin settings state, including raw input values, effective (validated) values,
|
|
39
|
+
* and per-property validation messages.
|
|
40
|
+
*
|
|
41
|
+
* @typeParam PluginSettings - The type of the plugin settings.
|
|
42
|
+
*/
|
|
43
|
+
export interface PluginSettingsState<PluginSettings extends object> {
|
|
44
|
+
/**
|
|
45
|
+
* The effective settings values used by the plugin. Invalid properties are replaced with defaults.
|
|
46
|
+
*/
|
|
47
|
+
effectiveValues: PluginSettings;
|
|
48
|
+
/**
|
|
49
|
+
* The raw input values as entered by the user. May contain invalid values.
|
|
50
|
+
*/
|
|
51
|
+
inputValues: PluginSettings;
|
|
52
|
+
/**
|
|
53
|
+
* Per-property validation messages. Empty string means valid.
|
|
54
|
+
*/
|
|
55
|
+
validationMessages: Record<StringKeys<PluginSettings>, string>;
|
|
56
|
+
}
|
|
57
|
+
/**
|
|
58
|
+
* Readonly version of {@link PluginSettings}.
|
|
59
|
+
*
|
|
60
|
+
* @typeParam PluginSettings - The type of the plugin settings.
|
|
61
|
+
*/
|
|
62
|
+
export type ReadonlyPluginSettings<PluginSettings extends object> = ReadonlyDeep<PluginSettings>;
|
|
63
|
+
/**
|
|
64
|
+
* Readonly version of {@link PluginSettingsState} for use in event callbacks and public getters.
|
|
65
|
+
*
|
|
66
|
+
* @typeParam PluginSettings - The type of the plugin settings.
|
|
67
|
+
*/
|
|
68
|
+
export type ReadonlyPluginSettingsState<PluginSettings extends object> = ReadonlyDeep<PluginSettingsState<PluginSettings>>;
|
|
69
|
+
/**
|
|
70
|
+
* A validator function for a settings property.
|
|
71
|
+
*
|
|
72
|
+
* @typeParam PluginSettings - The plugin settings type.
|
|
73
|
+
* @typeParam PropertyName - The property name.
|
|
74
|
+
*/
|
|
75
|
+
export type SettingsValidator<PluginSettings extends object, PropertyName extends StringKeys<PluginSettings> = StringKeys<PluginSettings>> = (value: PluginSettings[PropertyName], settings: PluginSettings) => Promisable<MaybeReturn<string>>;
|
|
76
|
+
type PropertyNames<PluginSettings extends object> = StringKeys<PluginSettings>;
|
|
77
|
+
type ValidationResult<PluginSettings extends object> = Partial<Record<StringKeys<PluginSettings>, string>>;
|
|
78
|
+
/**
|
|
79
|
+
* Base class for plugin settings components.
|
|
80
|
+
*
|
|
81
|
+
* Manages settings data, persistence, validation, and events.
|
|
82
|
+
* Plugin authors extend this class and implement {@link createDefaultSettings}.
|
|
83
|
+
*
|
|
84
|
+
* @typeParam PluginSettings - The plugin settings type.
|
|
85
|
+
*/
|
|
86
|
+
export declare abstract class PluginSettingsComponentBase<PluginSettings extends object> extends AsyncComponentBase {
|
|
87
|
+
/**
|
|
88
|
+
* Component key for {@link registerComponent} replacement.
|
|
89
|
+
*/
|
|
90
|
+
static readonly COMPONENT_KEY = "PluginSettingsComponent";
|
|
91
|
+
/**
|
|
92
|
+
* Gets the readonly default settings.
|
|
93
|
+
*
|
|
94
|
+
* @returns The default settings (as a readonly object).
|
|
95
|
+
*/
|
|
96
|
+
readonly defaultSettings: ReadonlyDeep<PluginSettings>;
|
|
97
|
+
/**
|
|
98
|
+
* Gets the readonly effective settings (validated, with defaults substituted for invalid values).
|
|
99
|
+
*
|
|
100
|
+
* @returns The readonly effective settings.
|
|
101
|
+
*/
|
|
102
|
+
get settings(): ReadonlyDeep<PluginSettings>;
|
|
103
|
+
/**
|
|
104
|
+
* Gets the current settings state snapshot.
|
|
105
|
+
*
|
|
106
|
+
* @returns The current settings state.
|
|
107
|
+
*/
|
|
108
|
+
get settingsState(): ReadonlyPluginSettingsState<PluginSettings>;
|
|
109
|
+
private readonly asyncEvents;
|
|
110
|
+
private currentState;
|
|
111
|
+
private lastSavedState;
|
|
112
|
+
private readonly legacySettingsConverters;
|
|
113
|
+
private readonly loadDataFn;
|
|
114
|
+
private readonly propertyNames;
|
|
115
|
+
private readonly saveDataFn;
|
|
116
|
+
private readonly validators;
|
|
117
|
+
/**
|
|
118
|
+
* Creates a new plugin settings component.
|
|
119
|
+
*
|
|
120
|
+
* @param params - The params for loading/saving data.
|
|
121
|
+
*/
|
|
122
|
+
constructor(params: PluginSettingsComponentParams);
|
|
123
|
+
/**
|
|
124
|
+
* Edits the plugin settings and saves them.
|
|
125
|
+
*
|
|
126
|
+
* @param settingsEditor - The editor.
|
|
127
|
+
* @param context - The context.
|
|
128
|
+
* @returns A {@link Promise} that resolves when the settings are saved.
|
|
129
|
+
*/
|
|
130
|
+
editAndSave(settingsEditor: (settings: PluginSettings) => Promisable<void>, context?: unknown): Promise<void>;
|
|
131
|
+
/**
|
|
132
|
+
* Ensures the settings are safe.
|
|
133
|
+
*
|
|
134
|
+
* It runs validation for each property and sets the default value if the validation fails.
|
|
135
|
+
*
|
|
136
|
+
* @param settings - The settings.
|
|
137
|
+
* @returns A {@link Promise} that resolves when the settings are safe.
|
|
138
|
+
*/
|
|
139
|
+
ensureSafe(settings: PluginSettings): Promise<void>;
|
|
140
|
+
/**
|
|
141
|
+
* Gets a safe copy of the settings.
|
|
142
|
+
*
|
|
143
|
+
* @param settings - The settings.
|
|
144
|
+
* @returns A {@link Promise} that resolves to the safe copy of the settings.
|
|
145
|
+
*/
|
|
146
|
+
getSafeCopy(settings: PluginSettings): Promise<PluginSettings>;
|
|
147
|
+
/**
|
|
148
|
+
* Loads the plugin settings from the file.
|
|
149
|
+
*
|
|
150
|
+
* @param isInitialLoad - Whether the settings are being loaded for the first time.
|
|
151
|
+
* @returns A {@link Promise} that resolves when the settings are loaded.
|
|
152
|
+
*/
|
|
153
|
+
loadFromFile(isInitialLoad: boolean): Promise<void>;
|
|
154
|
+
/**
|
|
155
|
+
* Subscribes to the `loadSettings` event.
|
|
156
|
+
*
|
|
157
|
+
* @param name - Always `loadSettings`.
|
|
158
|
+
* @param callback - The callback.
|
|
159
|
+
* @param thisArg - The `this` context.
|
|
160
|
+
* @returns A reference to the event listener.
|
|
161
|
+
*/
|
|
162
|
+
on(name: 'loadSettings', callback: (loadedState: ReadonlyPluginSettingsState<PluginSettings>, isInitialLoad: boolean) => Promisable<void>, thisArg?: unknown): AsyncEventRef;
|
|
163
|
+
/**
|
|
164
|
+
* Subscribes to the `saveSettings` event.
|
|
165
|
+
*
|
|
166
|
+
* @param name - Always `saveSettings`.
|
|
167
|
+
* @param callback - The callback.
|
|
168
|
+
* @param thisArg - The `this` context.
|
|
169
|
+
* @returns A reference to the event listener.
|
|
170
|
+
*/
|
|
171
|
+
on(name: 'saveSettings', callback: (newState: ReadonlyPluginSettingsState<PluginSettings>, oldState: ReadonlyPluginSettingsState<PluginSettings>, context: unknown) => Promisable<void>, thisArg?: unknown): AsyncEventRef;
|
|
172
|
+
/**
|
|
173
|
+
* Called when the external settings change.
|
|
174
|
+
*
|
|
175
|
+
* @returns A {@link Promise} that resolves when the settings are reloaded.
|
|
176
|
+
*/
|
|
177
|
+
onExternalSettingsChange(): Promise<void>;
|
|
178
|
+
/**
|
|
179
|
+
* Loads settings from file and registers event handlers.
|
|
180
|
+
*/
|
|
181
|
+
onload(): Promise<void>;
|
|
182
|
+
/**
|
|
183
|
+
* Registers a legacy settings converter.
|
|
184
|
+
*
|
|
185
|
+
* @typeParam LegacySettings - The legacy settings class.
|
|
186
|
+
* @param legacySettingsClass - The legacy settings class.
|
|
187
|
+
* @param converter - The converter.
|
|
188
|
+
*/
|
|
189
|
+
registerLegacySettingsConverter<LegacySettings extends object>(legacySettingsClass: new () => LegacySettings, converter: (legacySettings: Partial<LegacySettings> & Partial<PluginSettings>) => void): void;
|
|
190
|
+
/**
|
|
191
|
+
* Registers a validator for a property.
|
|
192
|
+
*
|
|
193
|
+
* @param propertyName - The name of the property.
|
|
194
|
+
* @param validator - The validator.
|
|
195
|
+
*/
|
|
196
|
+
registerValidator<PropertyName extends PropertyNames<PluginSettings>>(propertyName: PropertyName, validator: SettingsValidator<PluginSettings, PropertyName>): void;
|
|
197
|
+
/**
|
|
198
|
+
* Revalidates the settings.
|
|
199
|
+
*
|
|
200
|
+
* @returns The validation messages.
|
|
201
|
+
*/
|
|
202
|
+
revalidate(): Promise<Record<PropertyNames<PluginSettings>, string>>;
|
|
203
|
+
/**
|
|
204
|
+
* Saves the new plugin settings.
|
|
205
|
+
*
|
|
206
|
+
* @param context - The context of the save to file operation.
|
|
207
|
+
* @returns A {@link Promise} that resolves when the settings are saved.
|
|
208
|
+
*/
|
|
209
|
+
saveToFile(context?: unknown): Promise<void>;
|
|
210
|
+
/**
|
|
211
|
+
* Sets the value of a property.
|
|
212
|
+
*
|
|
213
|
+
* @typeParam PropertyName - The name of the property.
|
|
214
|
+
* @param propertyName - The name of the property.
|
|
215
|
+
* @param value - The value to set.
|
|
216
|
+
* @returns A {@link Promise} that resolves to the validation message.
|
|
217
|
+
*/
|
|
218
|
+
setProperty<PropertyName extends PropertyNames<PluginSettings>>(propertyName: PropertyName, value: PluginSettings[PropertyName]): Promise<string>;
|
|
219
|
+
/**
|
|
220
|
+
* Validates the settings.
|
|
221
|
+
*
|
|
222
|
+
* @param settings - The settings.
|
|
223
|
+
* @returns A {@link Promise} that resolves to the validation result.
|
|
224
|
+
*/
|
|
225
|
+
validate(settings: PluginSettings): Promise<ValidationResult<PluginSettings>>;
|
|
226
|
+
/**
|
|
227
|
+
* Creates the default settings. Must be implemented by subclasses.
|
|
228
|
+
*
|
|
229
|
+
* @returns The default settings.
|
|
230
|
+
*/
|
|
231
|
+
protected abstract createDefaultSettings(): PluginSettings;
|
|
232
|
+
/**
|
|
233
|
+
* Gets the transformer.
|
|
234
|
+
*
|
|
235
|
+
* @returns The transformer.
|
|
236
|
+
*/
|
|
237
|
+
protected getTransformer(): Transformer;
|
|
238
|
+
/**
|
|
239
|
+
* Called when the plugin settings record is loaded from disk.
|
|
240
|
+
*
|
|
241
|
+
* @param record - The record.
|
|
242
|
+
*/
|
|
243
|
+
protected onLoadRecord(record: GenericObject): Promise<void>;
|
|
244
|
+
/**
|
|
245
|
+
* Called when settings are loaded or reloaded.
|
|
246
|
+
*
|
|
247
|
+
* @param _loadedState - The loaded settings state.
|
|
248
|
+
* @param _isInitialLoad - Whether this is the initial load.
|
|
249
|
+
*/
|
|
250
|
+
protected onLoadSettings(_loadedState: ReadonlyPluginSettingsState<PluginSettings>, _isInitialLoad: boolean): Promise<void>;
|
|
251
|
+
/**
|
|
252
|
+
* Called when settings are saved.
|
|
253
|
+
*
|
|
254
|
+
* @param _newState - The new settings state.
|
|
255
|
+
* @param _oldState - The old settings state.
|
|
256
|
+
* @param _context - The save context.
|
|
257
|
+
*/
|
|
258
|
+
protected onSaveSettings(_newState: ReadonlyPluginSettingsState<PluginSettings>, _oldState: ReadonlyPluginSettingsState<PluginSettings>, _context: unknown): Promise<void>;
|
|
259
|
+
/**
|
|
260
|
+
* Called when the plugin settings record is about to be saved to disk.
|
|
261
|
+
*
|
|
262
|
+
* @param _record - The record.
|
|
263
|
+
*/
|
|
264
|
+
protected onSavingRecord(_record: GenericObject): Promise<void>;
|
|
265
|
+
/**
|
|
266
|
+
* Registers the legacy settings converters.
|
|
267
|
+
* Override to register legacy settings converters.
|
|
268
|
+
*/
|
|
269
|
+
protected registerLegacySettingsConverters(): void;
|
|
270
|
+
/**
|
|
271
|
+
* Registers the validators.
|
|
272
|
+
* Override to register validators for properties.
|
|
273
|
+
*/
|
|
274
|
+
protected registerValidators(): void;
|
|
275
|
+
private cloneSettings;
|
|
276
|
+
private cloneState;
|
|
277
|
+
private createDefaultState;
|
|
278
|
+
private edit;
|
|
279
|
+
private isValidPropertyName;
|
|
280
|
+
private rawRecordToSettings;
|
|
281
|
+
private saveToFileImpl;
|
|
282
|
+
private setPropertyImpl;
|
|
283
|
+
private settingsToRawRecord;
|
|
284
|
+
}
|
|
285
|
+
/**
|
|
286
|
+
* A no-op settings component for plugins without settings.
|
|
287
|
+
*/
|
|
288
|
+
export declare class EmptyPluginSettingsComponent extends PluginSettingsComponentBase<object> {
|
|
289
|
+
/**
|
|
290
|
+
* Creates a new empty plugin settings component.
|
|
291
|
+
*
|
|
292
|
+
* @param params - The params. Uses no-op load/save by default.
|
|
293
|
+
*/
|
|
294
|
+
constructor(params?: PluginSettingsComponentParams);
|
|
295
|
+
/**
|
|
296
|
+
* Creates empty default settings.
|
|
297
|
+
*
|
|
298
|
+
* @returns An empty object.
|
|
299
|
+
*/
|
|
300
|
+
protected createDefaultSettings(): object;
|
|
301
|
+
}
|
|
302
|
+
export {};
|