obsidian-dev-utils 80.1.0 → 82.0.0-beta.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 +34 -0
- package/dist/lib/cjs/abort-controller.cjs +12 -9
- package/dist/lib/cjs/abort-controller.d.cts +2 -2
- package/dist/lib/cjs/async-events.cjs +9 -1
- package/dist/lib/cjs/async-events.d.cts +9 -1
- package/dist/lib/cjs/async.cjs +93 -34
- package/dist/lib/cjs/async.d.cts +87 -17
- package/dist/lib/cjs/codemirror/state-field-spec.d.cts +1 -1
- package/dist/lib/cjs/css-class.cjs +6 -1
- package/dist/lib/cjs/css-class.d.cts +20 -0
- package/dist/lib/cjs/debug.cjs +26 -9
- package/dist/lib/cjs/debug.d.cts +24 -6
- package/dist/lib/cjs/disposable.cjs +234 -0
- package/dist/lib/cjs/disposable.d.cts +124 -0
- package/dist/lib/cjs/error.cjs +29 -18
- package/dist/lib/cjs/error.d.cts +23 -7
- package/dist/lib/cjs/function.d.cts +1 -1
- package/dist/lib/cjs/html-element.cjs +9 -6
- package/dist/lib/cjs/html-element.d.cts +5 -3
- package/dist/lib/cjs/index.cjs +4 -1
- package/dist/lib/cjs/index.d.cts +1 -0
- package/dist/lib/cjs/library.cjs +2 -2
- package/dist/lib/cjs/object-utils.cjs +233 -128
- package/dist/lib/cjs/object-utils.d.cts +38 -13
- package/dist/lib/cjs/obsidian/@types/dataview/api/plugin-api.d.cts +1 -1
- package/dist/lib/cjs/obsidian/@types/dataview/data-index/index.d.cts +1 -1
- package/dist/lib/cjs/obsidian/@types/dataview/data-model/markdown.d.cts +2 -2
- package/dist/lib/cjs/obsidian/@types/dataview/data-model/serialized/markdown.d.cts +2 -2
- package/dist/lib/cjs/obsidian/@types/dataview/index.d.cts +1 -1
- package/dist/lib/cjs/obsidian/@types/dataview/query/engine.d.cts +1 -1
- package/dist/lib/cjs/obsidian/@types/dataview/typings/obsidian-ex.d.cts +1 -1
- package/dist/lib/cjs/obsidian/@types/dataview/ui/lp-render.d.cts +1 -1
- package/dist/lib/cjs/obsidian/@types/dataview/ui/markdown.d.cts +1 -1
- package/dist/lib/cjs/obsidian/@types/dataview/ui/views/calendar-view.d.cts +1 -1
- package/dist/lib/cjs/obsidian/@types/dataview/ui/views/inline-view.d.cts +1 -1
- package/dist/lib/cjs/obsidian/@types/dataview/ui/views/list-view.d.cts +2 -2
- package/dist/lib/cjs/obsidian/@types/dataview/ui/views/table-view.d.cts +2 -2
- package/dist/lib/cjs/obsidian/@types/dataview/ui/views/task-view.d.cts +1 -1
- package/dist/lib/cjs/obsidian/active-file-provider.d.cts +1 -1
- package/dist/lib/cjs/obsidian/app.d.cts +1 -1
- package/dist/lib/cjs/obsidian/async-with-notice.cjs +9 -6
- package/dist/lib/cjs/obsidian/async-with-notice.d.cts +16 -3
- package/dist/lib/cjs/obsidian/attachment-path.cjs +45 -13
- package/dist/lib/cjs/obsidian/attachment-path.d.cts +47 -9
- package/dist/lib/cjs/obsidian/backlink.cjs +6 -6
- package/dist/lib/cjs/obsidian/backlink.d.cts +6 -2
- package/dist/lib/cjs/obsidian/bases-view-registrar.d.cts +1 -1
- package/dist/lib/cjs/obsidian/callout.cjs +1 -1
- package/dist/lib/cjs/obsidian/callout.d.cts +8 -0
- package/dist/lib/cjs/obsidian/case-insensitive-file-index.d.cts +1 -1
- package/dist/lib/cjs/obsidian/code-block-markdown-information.d.cts +1 -1
- package/dist/lib/cjs/obsidian/command-handlers/abstract-file-command-handler.cjs +53 -16
- package/dist/lib/cjs/obsidian/command-handlers/abstract-file-command-handler.d.cts +84 -10
- package/dist/lib/cjs/obsidian/command-handlers/command-handler.d.cts +1 -1
- package/dist/lib/cjs/obsidian/command-handlers/editor-command-handler.cjs +25 -5
- package/dist/lib/cjs/obsidian/command-handlers/editor-command-handler.d.cts +38 -2
- package/dist/lib/cjs/obsidian/command-handlers/file-command-handler.cjs +33 -19
- package/dist/lib/cjs/obsidian/command-handlers/file-command-handler.d.cts +45 -19
- package/dist/lib/cjs/obsidian/command-handlers/folder-command-handler.cjs +33 -19
- package/dist/lib/cjs/obsidian/command-handlers/folder-command-handler.d.cts +45 -19
- package/dist/lib/cjs/obsidian/command-handlers/global-command-handler.d.cts +2 -2
- package/dist/lib/cjs/obsidian/command-handlers/open-settings-command-handler.d.cts +1 -1
- package/dist/lib/cjs/obsidian/command-registrar.d.cts +1 -1
- package/dist/lib/cjs/obsidian/components/all-windows-event-component.cjs +17 -9
- package/dist/lib/cjs/obsidian/components/all-windows-event-component.d.cts +49 -9
- package/dist/lib/cjs/obsidian/components/async-error-handler-component.cjs +5 -2
- package/dist/lib/cjs/obsidian/components/case-insensitive-file-index-component.d.cts +1 -1
- package/dist/lib/cjs/obsidian/components/disposable-component.cjs +5 -10
- package/dist/lib/cjs/obsidian/components/disposable-component.d.cts +0 -7
- package/dist/lib/cjs/obsidian/components/embed-extensions-component.d.cts +2 -2
- package/dist/lib/cjs/obsidian/components/layout-ready-component.d.cts +2 -2
- package/dist/lib/cjs/obsidian/components/menu-event-registrar-component.d.cts +1 -1
- package/dist/lib/cjs/obsidian/components/monkey-around-component.d.cts +1 -1
- package/dist/lib/cjs/obsidian/components/plugin-context-component.d.cts +1 -1
- package/dist/lib/cjs/obsidian/components/plugin-notice-component.cjs +1 -1
- package/dist/lib/cjs/obsidian/components/plugin-notice-component.d.cts +3 -2
- package/dist/lib/cjs/obsidian/components/plugin-settings-component.cjs +24 -8
- package/dist/lib/cjs/obsidian/components/plugin-settings-component.d.cts +26 -5
- package/dist/lib/cjs/obsidian/components/plugin-settings-tab-component.d.cts +1 -1
- package/dist/lib/cjs/obsidian/components/registry-component.d.cts +1 -1
- package/dist/lib/cjs/obsidian/components/rename-delete-handler-component.cjs +195 -72
- package/dist/lib/cjs/obsidian/components/rename-delete-handler-component.d.cts +4 -1
- package/dist/lib/cjs/obsidian/constructors/getDomEventsHandlersConstructor.d.cts +2 -2
- package/dist/lib/cjs/obsidian/data-handler.d.cts +1 -1
- package/dist/lib/cjs/obsidian/dataview-link.cjs +7 -2
- package/dist/lib/cjs/obsidian/dataview-link.d.cts +22 -5
- package/dist/lib/cjs/obsidian/dataview.cjs +27 -10
- package/dist/lib/cjs/obsidian/dataview.d.cts +32 -7
- package/dist/lib/cjs/obsidian/editor-extension-registrar.d.cts +1 -1
- package/dist/lib/cjs/obsidian/editor-lock.cjs +245 -0
- package/dist/lib/cjs/obsidian/editor-lock.d.cts +57 -0
- package/dist/lib/cjs/obsidian/editor.cjs +7 -1
- package/dist/lib/cjs/obsidian/editor.d.cts +3 -2
- package/dist/lib/cjs/obsidian/file-change.cjs +103 -27
- package/dist/lib/cjs/obsidian/file-change.d.cts +55 -14
- package/dist/lib/cjs/obsidian/file-manager.cjs +61 -32
- package/dist/lib/cjs/obsidian/file-manager.d.cts +65 -15
- package/dist/lib/cjs/obsidian/file-system.cjs +122 -23
- package/dist/lib/cjs/obsidian/file-system.d.cts +189 -40
- package/dist/lib/cjs/obsidian/frontmatter-link-cache-with-offsets.d.cts +1 -1
- package/dist/lib/cjs/obsidian/frontmatter.cjs +7 -2
- package/dist/lib/cjs/obsidian/hover-link-source-registrar.d.cts +1 -1
- package/dist/lib/cjs/obsidian/i18n/i18n.d.cts +1 -1
- package/dist/lib/cjs/obsidian/i18n/locales/en.cjs +4 -1
- package/dist/lib/cjs/obsidian/i18n/locales/en.d.cts +3 -0
- package/dist/lib/cjs/obsidian/i18n/locales/translations-map.d.cts +3 -0
- package/dist/lib/cjs/obsidian/index.cjs +4 -1
- package/dist/lib/cjs/obsidian/index.d.cts +1 -0
- package/dist/lib/cjs/obsidian/link.cjs +326 -129
- package/dist/lib/cjs/obsidian/link.d.cts +133 -36
- package/dist/lib/cjs/obsidian/logger.cjs +48 -22
- package/dist/lib/cjs/obsidian/logger.d.cts +27 -6
- package/dist/lib/cjs/obsidian/loop.cjs +14 -4
- package/dist/lib/cjs/obsidian/loop.d.cts +27 -8
- package/dist/lib/cjs/obsidian/markdown-code-block-processor-registrar.d.cts +2 -2
- package/dist/lib/cjs/obsidian/markdown-code-block-processor.cjs +155 -107
- package/dist/lib/cjs/obsidian/markdown-code-block-processor.d.cts +16 -6
- package/dist/lib/cjs/obsidian/markdown-post-processor-registrar.cjs +1 -1
- package/dist/lib/cjs/obsidian/markdown-post-processor-registrar.d.cts +5 -3
- package/dist/lib/cjs/obsidian/markdown-view.d.cts +1 -1
- package/dist/lib/cjs/obsidian/markdown.cjs +40 -11
- package/dist/lib/cjs/obsidian/markdown.d.cts +85 -17
- package/dist/lib/cjs/obsidian/menu-event-registrar.d.cts +1 -1
- package/dist/lib/cjs/obsidian/metadata-cache.cjs +88 -32
- package/dist/lib/cjs/obsidian/metadata-cache.d.cts +42 -32
- package/dist/lib/cjs/obsidian/modals/alert.cjs +1 -1
- package/dist/lib/cjs/obsidian/modals/alert.d.cts +2 -0
- package/dist/lib/cjs/obsidian/modals/confirm.cjs +1 -1
- package/dist/lib/cjs/obsidian/modals/confirm.d.cts +2 -0
- package/dist/lib/cjs/obsidian/modals/index.cjs +4 -1
- package/dist/lib/cjs/obsidian/modals/index.d.cts +1 -0
- package/dist/lib/cjs/obsidian/modals/minimizable-modal.cjs +234 -0
- package/dist/lib/cjs/obsidian/modals/minimizable-modal.d.cts +74 -0
- package/dist/lib/cjs/obsidian/modals/modal.d.cts +1 -1
- package/dist/lib/cjs/obsidian/modals/prompt.cjs +1 -1
- package/dist/lib/cjs/obsidian/modals/prompt.d.cts +7 -1
- package/dist/lib/cjs/obsidian/modals/select-item.cjs +1 -1
- package/dist/lib/cjs/obsidian/modals/select-item.d.cts +2 -0
- package/dist/lib/cjs/obsidian/obsidian-protocol-handler-registrar.d.cts +2 -2
- package/dist/lib/cjs/obsidian/obsidian-settings.d.cts +1 -1
- package/dist/lib/cjs/obsidian/path-settings.cjs +5 -2
- package/dist/lib/cjs/obsidian/plugin/plugin-context.d.cts +1 -1
- package/dist/lib/cjs/obsidian/plugin/plugin-event-source.cjs +5 -1
- package/dist/lib/cjs/obsidian/plugin/plugin-event-source.d.cts +5 -1
- package/dist/lib/cjs/obsidian/plugin/plugin-settings-tab.cjs +15 -7
- package/dist/lib/cjs/obsidian/plugin/plugin-settings-tab.d.cts +51 -14
- package/dist/lib/cjs/obsidian/plugin/plugin.cjs +22 -16
- package/dist/lib/cjs/obsidian/plugin/plugin.d.cts +6 -6
- package/dist/lib/cjs/obsidian/plugin-cli-handler-registrar.d.cts +2 -2
- package/dist/lib/cjs/obsidian/queue.cjs +9 -7
- package/dist/lib/cjs/obsidian/queue.d.cts +15 -3
- package/dist/lib/cjs/obsidian/react/app-context.d.cts +1 -1
- package/dist/lib/cjs/obsidian/reference.d.cts +1 -1
- package/dist/lib/cjs/obsidian/resource-url.cjs +7 -2
- package/dist/lib/cjs/obsidian/resource-url.d.cts +20 -5
- package/dist/lib/cjs/obsidian/ribbon-icon-registrar.d.cts +1 -1
- package/dist/lib/cjs/obsidian/setting-components/value-component-with-change-tracking.d.cts +1 -1
- package/dist/lib/cjs/obsidian/setting-ex.d.cts +1 -1
- package/dist/lib/cjs/obsidian/status-bar-item-registrar.cjs +4 -2
- package/dist/lib/cjs/obsidian/status-bar-item-registrar.d.cts +6 -2
- package/dist/lib/cjs/obsidian/vault-delete.cjs +19 -15
- package/dist/lib/cjs/obsidian/vault-delete.d.cts +12 -7
- package/dist/lib/cjs/obsidian/vault.cjs +116 -59
- package/dist/lib/cjs/obsidian/vault.d.cts +188 -45
- package/dist/lib/cjs/obsidian/view-registrar.d.cts +1 -1
- package/dist/lib/cjs/obsidian/workspace.d.cts +1 -1
- package/dist/lib/cjs/path.cjs +12 -5
- package/dist/lib/cjs/path.d.cts +15 -3
- package/dist/lib/cjs/reg-exp.cjs +101 -78
- package/dist/lib/cjs/script-utils/build.cjs +9 -5
- package/dist/lib/cjs/script-utils/bundlers/esbuild-impl/change-extension-plugin.cjs +34 -14
- package/dist/lib/cjs/script-utils/bundlers/esbuild-impl/change-extension-plugin.d.cts +1 -1
- package/dist/lib/cjs/script-utils/bundlers/esbuild-impl/copy-to-obsidian-plugins-folder-plugin.cjs +20 -5
- package/dist/lib/cjs/script-utils/bundlers/esbuild-impl/copy-to-obsidian-plugins-folder-plugin.d.cts +24 -6
- package/dist/lib/cjs/script-utils/bundlers/esbuild-impl/custom-esbuild-options-plugin.d.cts +1 -1
- package/dist/lib/cjs/script-utils/bundlers/esbuild-impl/dependency.cjs +11 -4
- package/dist/lib/cjs/script-utils/bundlers/esbuild-impl/fix-esm-plugin.cjs +6 -2
- package/dist/lib/cjs/script-utils/bundlers/esbuild-impl/fix-esm-plugin.d.cts +1 -1
- package/dist/lib/cjs/script-utils/bundlers/esbuild-impl/fix-source-maps-plugin.cjs +31 -12
- package/dist/lib/cjs/script-utils/bundlers/esbuild-impl/fix-source-maps-plugin.d.cts +20 -5
- package/dist/lib/cjs/script-utils/bundlers/esbuild-impl/obsidian-plugin-builder.cjs +7 -7
- package/dist/lib/cjs/script-utils/bundlers/esbuild-impl/obsidian-plugin-builder.d.cts +1 -1
- package/dist/lib/cjs/script-utils/bundlers/esbuild-impl/preprocess-plugin.cjs +12 -3
- package/dist/lib/cjs/script-utils/bundlers/esbuild-impl/preprocess-plugin.d.cts +1 -1
- package/dist/lib/cjs/script-utils/bundlers/esbuild-impl/rename-css-plugin.d.cts +1 -1
- package/dist/lib/cjs/script-utils/bundlers/esbuild-impl/svelte-wrapper-plugin.d.cts +1 -1
- package/dist/lib/cjs/script-utils/check-project-types.cjs +5 -1
- package/dist/lib/cjs/script-utils/check-project-types.d.cts +10 -2
- package/dist/lib/cjs/script-utils/cli-utils.cjs +6 -2
- package/dist/lib/cjs/script-utils/cli-utils.d.cts +1 -1
- package/dist/lib/cjs/script-utils/commitlint-config.d.cts +1 -1
- package/dist/lib/cjs/script-utils/exec.cjs +47 -12
- package/dist/lib/cjs/script-utils/exec.d.cts +12 -0
- package/dist/lib/cjs/script-utils/formatters/dprint.cjs +3 -3
- package/dist/lib/cjs/script-utils/formatters/dprint.d.cts +2 -0
- package/dist/lib/cjs/script-utils/fs.d.cts +1 -1
- package/dist/lib/cjs/script-utils/json.cjs +9 -5
- package/dist/lib/cjs/script-utils/json.d.cts +41 -9
- package/dist/lib/cjs/script-utils/linters/eslint-config.d.cts +1 -1
- package/dist/lib/cjs/script-utils/linters/eslint-rules/no-async-callback-to-unsafe-return.d.cts +1 -1
- package/dist/lib/cjs/script-utils/linters/eslint-rules/no-unused-params-members.cjs +8 -3
- package/dist/lib/cjs/script-utils/linters/eslint-rules/no-unused-params-members.d.cts +1 -1
- package/dist/lib/cjs/script-utils/linters/eslint-rules/no-used-underscore-variables.d.cts +1 -1
- package/dist/lib/cjs/script-utils/linters/eslint-rules/obsidian-dev-utils-plugin.d.cts +1 -1
- package/dist/lib/cjs/script-utils/linters/eslint-rules/params-options-name-match.d.cts +1 -1
- package/dist/lib/cjs/script-utils/linters/eslint-rules/prefer-noop-async.d.cts +1 -1
- package/dist/lib/cjs/script-utils/linters/eslint-rules/readonly-params-options-result-members.d.cts +1 -1
- package/dist/lib/cjs/script-utils/linters/eslint-rules/require-component-suffix.cjs +27 -7
- package/dist/lib/cjs/script-utils/linters/eslint-rules/require-component-suffix.d.cts +1 -1
- package/dist/lib/cjs/script-utils/linters/eslint-rules/require-method-template.cjs +7 -3
- package/dist/lib/cjs/script-utils/linters/eslint-rules/require-method-template.d.cts +1 -1
- package/dist/lib/cjs/script-utils/linters/eslint-rules/require-super-call.cjs +8 -3
- package/dist/lib/cjs/script-utils/linters/eslint-rules/require-super-call.d.cts +1 -1
- package/dist/lib/cjs/script-utils/linters/eslint-rules/rule-tester-helper.d.cts +2 -2
- package/dist/lib/cjs/script-utils/linters/eslint.cjs +3 -3
- package/dist/lib/cjs/script-utils/linters/eslint.d.cts +2 -0
- package/dist/lib/cjs/script-utils/linters/markdownlint-types/@types/markdownlint-cli2-config-schema.d.cts +1 -1
- package/dist/lib/cjs/script-utils/linters/markdownlint.cjs +3 -3
- package/dist/lib/cjs/script-utils/linters/markdownlint.d.cts +2 -0
- package/dist/lib/cjs/script-utils/linters/over-exposure.cjs +72 -30
- package/dist/lib/cjs/script-utils/linters/over-exposure.d.cts +9 -1
- package/dist/lib/cjs/script-utils/npm-publish.cjs +2 -2
- package/dist/lib/cjs/script-utils/npm.cjs +18 -9
- package/dist/lib/cjs/script-utils/npm.d.cts +3 -1
- package/dist/lib/cjs/script-utils/root.cjs +20 -5
- package/dist/lib/cjs/script-utils/root.d.cts +45 -9
- package/dist/lib/cjs/script-utils/test-runners/vitest.cjs +1 -1
- package/dist/lib/cjs/script-utils/test-runners/vitest.d.cts +2 -0
- package/dist/lib/cjs/script-utils/validate-declarations.cjs +8 -44
- package/dist/lib/cjs/script-utils/validate-declarations.d.cts +22 -9
- package/dist/lib/cjs/script-utils/version.cjs +36 -19
- package/dist/lib/cjs/script-utils/version.d.cts +20 -7
- package/dist/lib/cjs/strict-proxy.cjs +10 -1
- package/dist/lib/cjs/string.cjs +63 -22
- package/dist/lib/cjs/string.d.cts +194 -40
- package/dist/lib/cjs/value-provider.d.cts +1 -1
- package/dist/lib/esm/abort-controller.d.mts +2 -2
- package/dist/lib/esm/abort-controller.mjs +12 -9
- package/dist/lib/esm/async-events.d.mts +8 -0
- package/dist/lib/esm/async-events.mjs +9 -1
- package/dist/lib/esm/async.d.mts +86 -16
- package/dist/lib/esm/async.mjs +93 -34
- package/dist/lib/esm/css-class.d.mts +20 -0
- package/dist/lib/esm/css-class.mjs +6 -1
- package/dist/lib/esm/debug.d.mts +23 -5
- package/dist/lib/esm/debug.mjs +26 -9
- package/dist/lib/esm/disposable.d.mts +124 -0
- package/dist/lib/esm/disposable.mjs +122 -0
- package/dist/lib/esm/error.d.mts +23 -7
- package/dist/lib/esm/error.mjs +29 -18
- package/dist/lib/esm/html-element.d.mts +4 -2
- package/dist/lib/esm/html-element.mjs +9 -6
- package/dist/lib/esm/index.d.mts +1 -0
- package/dist/lib/esm/index.mjs +3 -1
- package/dist/lib/esm/library.mjs +2 -2
- package/dist/lib/esm/object-utils.d.mts +37 -12
- package/dist/lib/esm/object-utils.mjs +233 -128
- package/dist/lib/esm/obsidian/async-with-notice.d.mts +15 -2
- package/dist/lib/esm/obsidian/async-with-notice.mjs +9 -6
- package/dist/lib/esm/obsidian/attachment-path.d.mts +46 -8
- package/dist/lib/esm/obsidian/attachment-path.mjs +45 -13
- package/dist/lib/esm/obsidian/backlink.d.mts +6 -2
- package/dist/lib/esm/obsidian/backlink.mjs +6 -6
- package/dist/lib/esm/obsidian/callout.d.mts +8 -0
- package/dist/lib/esm/obsidian/callout.mjs +1 -1
- package/dist/lib/esm/obsidian/command-handlers/abstract-file-command-handler.d.mts +83 -9
- package/dist/lib/esm/obsidian/command-handlers/abstract-file-command-handler.mjs +53 -16
- package/dist/lib/esm/obsidian/command-handlers/editor-command-handler.d.mts +37 -1
- package/dist/lib/esm/obsidian/command-handlers/editor-command-handler.mjs +25 -5
- package/dist/lib/esm/obsidian/command-handlers/file-command-handler.d.mts +43 -17
- package/dist/lib/esm/obsidian/command-handlers/file-command-handler.mjs +33 -19
- package/dist/lib/esm/obsidian/command-handlers/folder-command-handler.d.mts +43 -17
- package/dist/lib/esm/obsidian/command-handlers/folder-command-handler.mjs +33 -19
- package/dist/lib/esm/obsidian/components/all-windows-event-component.d.mts +48 -8
- package/dist/lib/esm/obsidian/components/all-windows-event-component.mjs +17 -9
- package/dist/lib/esm/obsidian/components/async-error-handler-component.mjs +5 -2
- package/dist/lib/esm/obsidian/components/disposable-component.d.mts +0 -7
- package/dist/lib/esm/obsidian/components/disposable-component.mjs +3 -7
- package/dist/lib/esm/obsidian/components/plugin-notice-component.d.mts +3 -2
- package/dist/lib/esm/obsidian/components/plugin-notice-component.mjs +1 -1
- package/dist/lib/esm/obsidian/components/plugin-settings-component.d.mts +25 -4
- package/dist/lib/esm/obsidian/components/plugin-settings-component.mjs +24 -8
- package/dist/lib/esm/obsidian/components/rename-delete-handler-component.d.mts +3 -0
- package/dist/lib/esm/obsidian/components/rename-delete-handler-component.mjs +197 -79
- package/dist/lib/esm/obsidian/dataview-link.d.mts +22 -5
- package/dist/lib/esm/obsidian/dataview-link.mjs +7 -2
- package/dist/lib/esm/obsidian/dataview.d.mts +31 -6
- package/dist/lib/esm/obsidian/dataview.mjs +27 -10
- package/dist/lib/esm/obsidian/editor-lock.d.mts +57 -0
- package/dist/lib/esm/obsidian/editor-lock.mjs +141 -0
- package/dist/lib/esm/obsidian/editor.d.mts +2 -1
- package/dist/lib/esm/obsidian/editor.mjs +7 -1
- package/dist/lib/esm/obsidian/file-change.d.mts +54 -13
- package/dist/lib/esm/obsidian/file-change.mjs +104 -27
- package/dist/lib/esm/obsidian/file-manager.d.mts +63 -13
- package/dist/lib/esm/obsidian/file-manager.mjs +65 -33
- package/dist/lib/esm/obsidian/file-system.d.mts +188 -39
- package/dist/lib/esm/obsidian/file-system.mjs +122 -23
- package/dist/lib/esm/obsidian/frontmatter.mjs +7 -2
- package/dist/lib/esm/obsidian/i18n/locales/en.d.mts +3 -0
- package/dist/lib/esm/obsidian/i18n/locales/en.mjs +4 -1
- package/dist/lib/esm/obsidian/i18n/locales/translations-map.d.mts +3 -0
- 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 +131 -34
- package/dist/lib/esm/obsidian/link.mjs +327 -130
- package/dist/lib/esm/obsidian/logger.d.mts +26 -5
- package/dist/lib/esm/obsidian/logger.mjs +48 -22
- package/dist/lib/esm/obsidian/loop.d.mts +26 -7
- package/dist/lib/esm/obsidian/loop.mjs +14 -4
- package/dist/lib/esm/obsidian/markdown-code-block-processor.d.mts +15 -5
- package/dist/lib/esm/obsidian/markdown-code-block-processor.mjs +155 -107
- package/dist/lib/esm/obsidian/markdown-post-processor-registrar.d.mts +3 -1
- package/dist/lib/esm/obsidian/markdown-post-processor-registrar.mjs +1 -1
- package/dist/lib/esm/obsidian/markdown.d.mts +84 -16
- package/dist/lib/esm/obsidian/markdown.mjs +40 -11
- package/dist/lib/esm/obsidian/metadata-cache.d.mts +40 -30
- package/dist/lib/esm/obsidian/metadata-cache.mjs +88 -30
- package/dist/lib/esm/obsidian/modals/alert.d.mts +2 -0
- package/dist/lib/esm/obsidian/modals/alert.mjs +1 -1
- package/dist/lib/esm/obsidian/modals/confirm.d.mts +2 -0
- package/dist/lib/esm/obsidian/modals/confirm.mjs +1 -1
- package/dist/lib/esm/obsidian/modals/index.d.mts +1 -0
- package/dist/lib/esm/obsidian/modals/index.mjs +3 -1
- package/dist/lib/esm/obsidian/modals/minimizable-modal.d.mts +74 -0
- package/dist/lib/esm/obsidian/modals/minimizable-modal.mjs +126 -0
- package/dist/lib/esm/obsidian/modals/prompt.d.mts +6 -0
- package/dist/lib/esm/obsidian/modals/prompt.mjs +1 -1
- package/dist/lib/esm/obsidian/modals/select-item.d.mts +2 -0
- package/dist/lib/esm/obsidian/modals/select-item.mjs +1 -1
- package/dist/lib/esm/obsidian/path-settings.mjs +5 -2
- package/dist/lib/esm/obsidian/plugin/plugin-event-source.d.mts +4 -0
- package/dist/lib/esm/obsidian/plugin/plugin-event-source.mjs +5 -1
- package/dist/lib/esm/obsidian/plugin/plugin-settings-tab.d.mts +48 -11
- package/dist/lib/esm/obsidian/plugin/plugin-settings-tab.mjs +15 -7
- package/dist/lib/esm/obsidian/plugin/plugin.d.mts +4 -4
- package/dist/lib/esm/obsidian/plugin/plugin.mjs +24 -21
- package/dist/lib/esm/obsidian/queue.d.mts +14 -2
- package/dist/lib/esm/obsidian/queue.mjs +9 -7
- package/dist/lib/esm/obsidian/resource-url.d.mts +19 -4
- package/dist/lib/esm/obsidian/resource-url.mjs +7 -2
- package/dist/lib/esm/obsidian/status-bar-item-registrar.d.mts +6 -2
- package/dist/lib/esm/obsidian/status-bar-item-registrar.mjs +4 -2
- package/dist/lib/esm/obsidian/vault-delete.d.mts +11 -6
- package/dist/lib/esm/obsidian/vault-delete.mjs +19 -15
- package/dist/lib/esm/obsidian/vault.d.mts +187 -44
- package/dist/lib/esm/obsidian/vault.mjs +116 -59
- package/dist/lib/esm/path.d.mts +15 -3
- package/dist/lib/esm/path.mjs +12 -5
- package/dist/lib/esm/reg-exp.mjs +101 -78
- package/dist/lib/esm/script-utils/build.mjs +9 -5
- package/dist/lib/esm/script-utils/bundlers/esbuild-impl/change-extension-plugin.mjs +34 -14
- package/dist/lib/esm/script-utils/bundlers/esbuild-impl/copy-to-obsidian-plugins-folder-plugin.d.mts +23 -5
- package/dist/lib/esm/script-utils/bundlers/esbuild-impl/copy-to-obsidian-plugins-folder-plugin.mjs +20 -5
- package/dist/lib/esm/script-utils/bundlers/esbuild-impl/dependency.mjs +11 -4
- package/dist/lib/esm/script-utils/bundlers/esbuild-impl/fix-esm-plugin.mjs +6 -2
- package/dist/lib/esm/script-utils/bundlers/esbuild-impl/fix-source-maps-plugin.d.mts +19 -4
- package/dist/lib/esm/script-utils/bundlers/esbuild-impl/fix-source-maps-plugin.mjs +31 -12
- package/dist/lib/esm/script-utils/bundlers/esbuild-impl/obsidian-plugin-builder.mjs +7 -7
- package/dist/lib/esm/script-utils/bundlers/esbuild-impl/preprocess-plugin.mjs +12 -3
- package/dist/lib/esm/script-utils/check-project-types.d.mts +9 -1
- package/dist/lib/esm/script-utils/check-project-types.mjs +5 -1
- package/dist/lib/esm/script-utils/cli-utils.mjs +6 -2
- package/dist/lib/esm/script-utils/exec.d.mts +12 -0
- package/dist/lib/esm/script-utils/exec.mjs +47 -12
- package/dist/lib/esm/script-utils/formatters/dprint.d.mts +2 -0
- package/dist/lib/esm/script-utils/formatters/dprint.mjs +3 -3
- package/dist/lib/esm/script-utils/json.d.mts +40 -8
- package/dist/lib/esm/script-utils/json.mjs +9 -5
- package/dist/lib/esm/script-utils/linters/eslint-rules/no-unused-params-members.mjs +8 -3
- package/dist/lib/esm/script-utils/linters/eslint-rules/require-component-suffix.mjs +27 -7
- package/dist/lib/esm/script-utils/linters/eslint-rules/require-method-template.mjs +7 -3
- package/dist/lib/esm/script-utils/linters/eslint-rules/require-super-call.mjs +8 -3
- package/dist/lib/esm/script-utils/linters/eslint.d.mts +2 -0
- package/dist/lib/esm/script-utils/linters/eslint.mjs +3 -3
- package/dist/lib/esm/script-utils/linters/markdownlint-types/@types/markdownlint-cli2-config-schema.d.mts +1 -1
- package/dist/lib/esm/script-utils/linters/markdownlint.d.mts +2 -0
- package/dist/lib/esm/script-utils/linters/markdownlint.mjs +3 -3
- package/dist/lib/esm/script-utils/linters/over-exposure.d.mts +8 -0
- package/dist/lib/esm/script-utils/linters/over-exposure.mjs +72 -30
- package/dist/lib/esm/script-utils/npm-publish.mjs +2 -2
- package/dist/lib/esm/script-utils/npm.d.mts +2 -0
- package/dist/lib/esm/script-utils/npm.mjs +18 -9
- package/dist/lib/esm/script-utils/root.d.mts +45 -9
- package/dist/lib/esm/script-utils/root.mjs +20 -5
- package/dist/lib/esm/script-utils/test-runners/vitest.d.mts +2 -0
- package/dist/lib/esm/script-utils/test-runners/vitest.mjs +1 -1
- package/dist/lib/esm/script-utils/validate-declarations.d.mts +22 -9
- package/dist/lib/esm/script-utils/validate-declarations.mjs +8 -51
- package/dist/lib/esm/script-utils/version.d.mts +20 -7
- package/dist/lib/esm/script-utils/version.mjs +36 -19
- package/dist/lib/esm/strict-proxy.mjs +10 -1
- package/dist/lib/esm/string.d.mts +194 -40
- package/dist/lib/esm/string.mjs +63 -22
- package/dist/styles.css +5 -1
- package/obsidian/Modals/minimizable-modal/package.json +6 -0
- package/obsidian/editor-lock/package.json +6 -0
- package/package.json +9 -9
|
@@ -5,15 +5,20 @@
|
|
|
5
5
|
* This module provides deletion utilities that require metadata cache access.
|
|
6
6
|
*/
|
|
7
7
|
import type { App } from 'obsidian';
|
|
8
|
+
import type { PluginNoticeComponent } from './components/plugin-notice-component.mjs';
|
|
8
9
|
import type { PathOrAbstractFile } from './file-system.mjs';
|
|
10
|
+
interface DeleteIfNotUsedParams {
|
|
11
|
+
readonly app: App;
|
|
12
|
+
readonly deletedNotePath?: string;
|
|
13
|
+
readonly pathOrFile: PathOrAbstractFile;
|
|
14
|
+
readonly pluginNoticeComponent?: PluginNoticeComponent;
|
|
15
|
+
readonly shouldDeleteEmptyFolders?: boolean;
|
|
16
|
+
}
|
|
9
17
|
/**
|
|
10
18
|
* Deletes an abstract file safely from the vault, but only if it is not referenced by other notes.
|
|
11
19
|
*
|
|
12
|
-
* @param
|
|
13
|
-
* @param pathOrFile - The path or abstract file to delete.
|
|
14
|
-
* @param deletedNotePath - Optional. The path of the note that triggered the removal.
|
|
15
|
-
* @param shouldReportUsedAttachments - Optional. If `true`, a notice will be shown for each attachment that is still used by other notes.
|
|
16
|
-
* @param shouldDeleteEmptyFolders - Optional. If `true`, empty folders will be deleted.
|
|
20
|
+
* @param params - The parameters for the function.
|
|
17
21
|
* @returns A {@link Promise} that resolves to a boolean indicating whether the removal was successful.
|
|
18
22
|
*/
|
|
19
|
-
export declare function deleteIfNotUsed(
|
|
23
|
+
export declare function deleteIfNotUsed(params: DeleteIfNotUsedParams): Promise<boolean>;
|
|
24
|
+
export {};
|
|
@@ -21,8 +21,8 @@ if you want to view the source, please visit the github repository of this plugi
|
|
|
21
21
|
globalThis.process = browserProcess;
|
|
22
22
|
})();
|
|
23
23
|
|
|
24
|
-
import { Notice } from "obsidian";
|
|
25
24
|
import { printError } from "../error.mjs";
|
|
25
|
+
import { normalizeOptionalProperties } from "../object-utils.mjs";
|
|
26
26
|
import {
|
|
27
27
|
getAbstractFileOrNull,
|
|
28
28
|
isFile,
|
|
@@ -35,33 +35,37 @@ import {
|
|
|
35
35
|
listSafe,
|
|
36
36
|
trashSafe
|
|
37
37
|
} from "./vault.mjs";
|
|
38
|
-
async function deleteIfNotUsed(
|
|
39
|
-
const file = getAbstractFileOrNull(app, pathOrFile);
|
|
38
|
+
async function deleteIfNotUsed(params) {
|
|
39
|
+
const file = getAbstractFileOrNull({ app: params.app, pathOrFile: params.pathOrFile });
|
|
40
40
|
if (!file) {
|
|
41
41
|
return false;
|
|
42
42
|
}
|
|
43
|
-
let canDelete = isFile(file) || (shouldDeleteEmptyFolders ?? true);
|
|
43
|
+
let canDelete = isFile(file) || (params.shouldDeleteEmptyFolders ?? true);
|
|
44
44
|
if (isFile(file)) {
|
|
45
|
-
const backlinks = await getBacklinksForFileSafe(app, file);
|
|
46
|
-
if (deletedNotePath) {
|
|
47
|
-
backlinks.clear(deletedNotePath);
|
|
45
|
+
const backlinks = await getBacklinksForFileSafe({ app: params.app, pathOrFile: file });
|
|
46
|
+
if (params.deletedNotePath) {
|
|
47
|
+
backlinks.clear(params.deletedNotePath);
|
|
48
48
|
}
|
|
49
49
|
if (backlinks.count() !== 0) {
|
|
50
|
-
|
|
51
|
-
new Notice(t(($) => $.obsidianDevUtils.notices.attachmentIsStillUsed, { attachmentPath: file.path }));
|
|
52
|
-
}
|
|
50
|
+
params.pluginNoticeComponent?.showNotice(t(($) => $.obsidianDevUtils.notices.attachmentIsStillUsed, { attachmentPath: file.path }));
|
|
53
51
|
canDelete = false;
|
|
54
52
|
}
|
|
55
53
|
} else if (isFolder(file)) {
|
|
56
|
-
const listedFiles = await listSafe(app, file);
|
|
54
|
+
const listedFiles = await listSafe(params.app, file);
|
|
57
55
|
for (const child of [...listedFiles.files, ...listedFiles.folders]) {
|
|
58
|
-
canDelete &&= await deleteIfNotUsed(
|
|
56
|
+
canDelete &&= await deleteIfNotUsed(normalizeOptionalProperties({
|
|
57
|
+
app: params.app,
|
|
58
|
+
deletedNotePath: params.deletedNotePath,
|
|
59
|
+
pathOrFile: child,
|
|
60
|
+
pluginNoticeComponent: params.pluginNoticeComponent,
|
|
61
|
+
shouldDeleteEmptyFolders: params.shouldDeleteEmptyFolders
|
|
62
|
+
}));
|
|
59
63
|
}
|
|
60
|
-
canDelete &&= await isEmptyFolder(app, file);
|
|
64
|
+
canDelete &&= await isEmptyFolder(params.app, file);
|
|
61
65
|
}
|
|
62
66
|
if (canDelete) {
|
|
63
67
|
try {
|
|
64
|
-
await trashSafe(app, file);
|
|
68
|
+
await trashSafe(params.app, file);
|
|
65
69
|
} catch (e) {
|
|
66
70
|
printError(new Error(`Failed to delete ${file.path}`, { cause: e }));
|
|
67
71
|
canDelete = false;
|
|
@@ -72,4 +76,4 @@ async function deleteIfNotUsed(app, pathOrFile, deletedNotePath, shouldReportUse
|
|
|
72
76
|
export {
|
|
73
77
|
deleteIfNotUsed
|
|
74
78
|
};
|
|
75
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
79
|
+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vc3JjL29ic2lkaWFuL3ZhdWx0LWRlbGV0ZS50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsiLyoqXG4gKiBAZmlsZVxuICpcbiAqIFRoaXMgbW9kdWxlIHByb3ZpZGVzIGRlbGV0aW9uIHV0aWxpdGllcyB0aGF0IHJlcXVpcmUgbWV0YWRhdGEgY2FjaGUgYWNjZXNzLlxuICovXG5cbmltcG9ydCB0eXBlIHsgQXBwIH0gZnJvbSAnb2JzaWRpYW4nO1xuXG5pbXBvcnQgdHlwZSB7IFBsdWdpbk5vdGljZUNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9wbHVnaW4tbm90aWNlLWNvbXBvbmVudC50cyc7XG5pbXBvcnQgdHlwZSB7IFBhdGhPckFic3RyYWN0RmlsZSB9IGZyb20gJy4vZmlsZS1zeXN0ZW0udHMnO1xuXG5pbXBvcnQgeyBwcmludEVycm9yIH0gZnJvbSAnLi4vZXJyb3IudHMnO1xuaW1wb3J0IHsgbm9ybWFsaXplT3B0aW9uYWxQcm9wZXJ0aWVzIH0gZnJvbSAnLi4vb2JqZWN0LXV0aWxzLnRzJztcbmltcG9ydCB7XG4gIGdldEFic3RyYWN0RmlsZU9yTnVsbCxcbiAgaXNGaWxlLFxuICBpc0ZvbGRlclxufSBmcm9tICcuL2ZpbGUtc3lzdGVtLnRzJztcbmltcG9ydCB7IHQgfSBmcm9tICcuL2kxOG4vaTE4bi50cyc7XG5pbXBvcnQgeyBnZXRCYWNrbGlua3NGb3JGaWxlU2FmZSB9IGZyb20gJy4vbWV0YWRhdGEtY2FjaGUudHMnO1xuaW1wb3J0IHtcbiAgaXNFbXB0eUZvbGRlcixcbiAgbGlzdFNhZmUsXG4gIHRyYXNoU2FmZVxufSBmcm9tICcuL3ZhdWx0LnRzJztcblxuaW50ZXJmYWNlIERlbGV0ZUlmTm90VXNlZFBhcmFtcyB7XG4gIHJlYWRvbmx5IGFwcDogQXBwO1xuICByZWFkb25seSBkZWxldGVkTm90ZVBhdGg/OiBzdHJpbmc7XG4gIHJlYWRvbmx5IHBhdGhPckZpbGU6IFBhdGhPckFic3RyYWN0RmlsZTtcbiAgcmVhZG9ubHkgcGx1Z2luTm90aWNlQ29tcG9uZW50PzogUGx1Z2luTm90aWNlQ29tcG9uZW50O1xuICByZWFkb25seSBzaG91bGREZWxldGVFbXB0eUZvbGRlcnM/OiBib29sZWFuO1xufVxuXG4vKipcbiAqIERlbGV0ZXMgYW4gYWJzdHJhY3QgZmlsZSBzYWZlbHkgZnJvbSB0aGUgdmF1bHQsIGJ1dCBvbmx5IGlmIGl0IGlzIG5vdCByZWZlcmVuY2VkIGJ5IG90aGVyIG5vdGVzLlxuICpcbiAqIEBwYXJhbSBwYXJhbXMgLSBUaGUgcGFyYW1ldGVycyBmb3IgdGhlIGZ1bmN0aW9uLlxuICogQHJldHVybnMgQSB7QGxpbmsgUHJvbWlzZX0gdGhhdCByZXNvbHZlcyB0byBhIGJvb2xlYW4gaW5kaWNhdGluZyB3aGV0aGVyIHRoZSByZW1vdmFsIHdhcyBzdWNjZXNzZnVsLlxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gZGVsZXRlSWZOb3RVc2VkKHBhcmFtczogRGVsZXRlSWZOb3RVc2VkUGFyYW1zKTogUHJvbWlzZTxib29sZWFuPiB7XG4gIGNvbnN0IGZpbGUgPSBnZXRBYnN0cmFjdEZpbGVPck51bGwoeyBhcHA6IHBhcmFtcy5hcHAsIHBhdGhPckZpbGU6IHBhcmFtcy5wYXRoT3JGaWxlIH0pO1xuXG4gIGlmICghZmlsZSkge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIGxldCBjYW5EZWxldGUgPSBpc0ZpbGUoZmlsZSkgfHwgKHBhcmFtcy5zaG91bGREZWxldGVFbXB0eUZvbGRlcnMgPz8gdHJ1ZSk7XG5cbiAgLyogdjggaWdub3JlIHN0YXJ0IC0tIFRBYnN0cmFjdEZpbGUgaXMgYWx3YXlzIFRGaWxlIG9yIFRGb2xkZXIgaW4gT2JzaWRpYW47IHRoZSBmYWxzZSBicmFuY2ggb2YgaXNGaWxlIGxlYWRzIHRvIGlzRm9sZGVyLiAqL1xuICBpZiAoaXNGaWxlKGZpbGUpKSB7XG4gICAgLyogdjggaWdub3JlIHN0b3AgKi9cbiAgICBjb25zdCBiYWNrbGlua3MgPSBhd2FpdCBnZXRCYWNrbGlua3NGb3JGaWxlU2FmZSh7IGFwcDogcGFyYW1zLmFwcCwgcGF0aE9yRmlsZTogZmlsZSB9KTtcbiAgICBpZiAocGFyYW1zLmRlbGV0ZWROb3RlUGF0aCkge1xuICAgICAgYmFja2xpbmtzLmNsZWFyKHBhcmFtcy5kZWxldGVkTm90ZVBhdGgpO1xuICAgIH1cbiAgICBpZiAoYmFja2xpbmtzLmNvdW50KCkgIT09IDApIHtcbiAgICAgIHBhcmFtcy5wbHVnaW5Ob3RpY2VDb21wb25lbnQ/LnNob3dOb3RpY2UodCgoJCkgPT4gJC5vYnNpZGlhbkRldlV0aWxzLm5vdGljZXMuYXR0YWNobWVudElzU3RpbGxVc2VkLCB7IGF0dGFjaG1lbnRQYXRoOiBmaWxlLnBhdGggfSkpO1xuICAgICAgY2FuRGVsZXRlID0gZmFsc2U7XG4gICAgfVxuICAgIC8qIHY4IGlnbm9yZSBzdGFydCAtLSBUQWJzdHJhY3RGaWxlIGlzIGFsd2F5cyBURmlsZSBvciBURm9sZGVyIGluIE9ic2lkaWFuOyBkZWZlbnNpdmUgZmFsbGJhY2suICovXG4gIH0gZWxzZSBpZiAoaXNGb2xkZXIoZmlsZSkpIHtcbiAgICAvKiB2OCBpZ25vcmUgc3RvcCAqL1xuICAgIGNvbnN0IGxpc3RlZEZpbGVzID0gYXdhaXQgbGlzdFNhZmUocGFyYW1zLmFwcCwgZmlsZSk7XG4gICAgZm9yIChjb25zdCBjaGlsZCBvZiBbLi4ubGlzdGVkRmlsZXMuZmlsZXMsIC4uLmxpc3RlZEZpbGVzLmZvbGRlcnNdKSB7XG4gICAgICBjYW5EZWxldGUgJiY9IGF3YWl0IGRlbGV0ZUlmTm90VXNlZChub3JtYWxpemVPcHRpb25hbFByb3BlcnRpZXM8RGVsZXRlSWZOb3RVc2VkUGFyYW1zPih7XG4gICAgICAgIGFwcDogcGFyYW1zLmFwcCxcbiAgICAgICAgZGVsZXRlZE5vdGVQYXRoOiBwYXJhbXMuZGVsZXRlZE5vdGVQYXRoLFxuICAgICAgICBwYXRoT3JGaWxlOiBjaGlsZCxcbiAgICAgICAgcGx1Z2luTm90aWNlQ29tcG9uZW50OiBwYXJhbXMucGx1Z2luTm90aWNlQ29tcG9uZW50LFxuICAgICAgICBzaG91bGREZWxldGVFbXB0eUZvbGRlcnM6IHBhcmFtcy5zaG91bGREZWxldGVFbXB0eUZvbGRlcnNcbiAgICAgIH0pKTtcbiAgICB9XG5cbiAgICBjYW5EZWxldGUgJiY9IGF3YWl0IGlzRW1wdHlGb2xkZXIocGFyYW1zLmFwcCwgZmlsZSk7XG4gIH1cblxuICBpZiAoY2FuRGVsZXRlKSB7XG4gICAgdHJ5IHtcbiAgICAgIGF3YWl0IHRyYXNoU2FmZShwYXJhbXMuYXBwLCBmaWxlKTtcbiAgICB9IGNhdGNoIChlKSB7XG4gICAgICBwcmludEVycm9yKG5ldyBFcnJvcihgRmFpbGVkIHRvIGRlbGV0ZSAke2ZpbGUucGF0aH1gLCB7IGNhdXNlOiBlIH0pKTtcbiAgICAgIGNhbkRlbGV0ZSA9IGZhbHNlO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiBjYW5EZWxldGU7XG59XG4iXSwKICAibWFwcGluZ3MiOiAiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQVdBLFNBQVMsa0JBQWtCO0FBQzNCLFNBQVMsbUNBQW1DO0FBQzVDO0FBQUEsRUFDRTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsT0FDSztBQUNQLFNBQVMsU0FBUztBQUNsQixTQUFTLCtCQUErQjtBQUN4QztBQUFBLEVBQ0U7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLE9BQ0s7QUFnQlAsZUFBc0IsZ0JBQWdCLFFBQWlEO0FBQ3JGLFFBQU0sT0FBTyxzQkFBc0IsRUFBRSxLQUFLLE9BQU8sS0FBSyxZQUFZLE9BQU8sV0FBVyxDQUFDO0FBRXJGLE1BQUksQ0FBQyxNQUFNO0FBQ1QsV0FBTztBQUFBLEVBQ1Q7QUFFQSxNQUFJLFlBQVksT0FBTyxJQUFJLE1BQU0sT0FBTyw0QkFBNEI7QUFHcEUsTUFBSSxPQUFPLElBQUksR0FBRztBQUVoQixVQUFNLFlBQVksTUFBTSx3QkFBd0IsRUFBRSxLQUFLLE9BQU8sS0FBSyxZQUFZLEtBQUssQ0FBQztBQUNyRixRQUFJLE9BQU8saUJBQWlCO0FBQzFCLGdCQUFVLE1BQU0sT0FBTyxlQUFlO0FBQUEsSUFDeEM7QUFDQSxRQUFJLFVBQVUsTUFBTSxNQUFNLEdBQUc7QUFDM0IsYUFBTyx1QkFBdUIsV0FBVyxFQUFFLENBQUMsTUFBTSxFQUFFLGlCQUFpQixRQUFRLHVCQUF1QixFQUFFLGdCQUFnQixLQUFLLEtBQUssQ0FBQyxDQUFDO0FBQ2xJLGtCQUFZO0FBQUEsSUFDZDtBQUFBLEVBRUYsV0FBVyxTQUFTLElBQUksR0FBRztBQUV6QixVQUFNLGNBQWMsTUFBTSxTQUFTLE9BQU8sS0FBSyxJQUFJO0FBQ25ELGVBQVcsU0FBUyxDQUFDLEdBQUcsWUFBWSxPQUFPLEdBQUcsWUFBWSxPQUFPLEdBQUc7QUFDbEUsb0JBQWMsTUFBTSxnQkFBZ0IsNEJBQW1EO0FBQUEsUUFDckYsS0FBSyxPQUFPO0FBQUEsUUFDWixpQkFBaUIsT0FBTztBQUFBLFFBQ3hCLFlBQVk7QUFBQSxRQUNaLHVCQUF1QixPQUFPO0FBQUEsUUFDOUIsMEJBQTBCLE9BQU87QUFBQSxNQUNuQyxDQUFDLENBQUM7QUFBQSxJQUNKO0FBRUEsa0JBQWMsTUFBTSxjQUFjLE9BQU8sS0FBSyxJQUFJO0FBQUEsRUFDcEQ7QUFFQSxNQUFJLFdBQVc7QUFDYixRQUFJO0FBQ0YsWUFBTSxVQUFVLE9BQU8sS0FBSyxJQUFJO0FBQUEsSUFDbEMsU0FBUyxHQUFHO0FBQ1YsaUJBQVcsSUFBSSxNQUFNLG9CQUFvQixLQUFLLElBQUksSUFBSSxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUM7QUFDbkUsa0JBQVk7QUFBQSxJQUNkO0FBQUEsRUFDRjtBQUVBLFNBQU87QUFDVDsiLAogICJuYW1lcyI6IFtdCn0K
|
|
@@ -16,32 +16,193 @@ import { FileSystemType } from './file-system.mjs';
|
|
|
16
16
|
export interface ContentArgs {
|
|
17
17
|
readonly content: string;
|
|
18
18
|
}
|
|
19
|
+
/**
|
|
20
|
+
* Parameters for {@link copySafe}.
|
|
21
|
+
*/
|
|
22
|
+
export interface CopySafeParams {
|
|
23
|
+
/**
|
|
24
|
+
* The application instance.
|
|
25
|
+
*/
|
|
26
|
+
readonly app: App;
|
|
27
|
+
/**
|
|
28
|
+
* The new path to copy the file to.
|
|
29
|
+
*/
|
|
30
|
+
readonly newPath: string;
|
|
31
|
+
/**
|
|
32
|
+
* The old path or file to copy.
|
|
33
|
+
*/
|
|
34
|
+
readonly oldPathOrFile: PathOrFile;
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* Parameters for {@link getAbstractFilePathSafe}.
|
|
38
|
+
*/
|
|
39
|
+
export interface GetAbstractFilePathSafeParams {
|
|
40
|
+
/**
|
|
41
|
+
* The application instance.
|
|
42
|
+
*/
|
|
43
|
+
readonly app: App;
|
|
44
|
+
/**
|
|
45
|
+
* The path of the file or folder to get a safe path for.
|
|
46
|
+
*/
|
|
47
|
+
readonly path: string;
|
|
48
|
+
/**
|
|
49
|
+
* The type of the file system object.
|
|
50
|
+
*/
|
|
51
|
+
readonly type: FileSystemType;
|
|
52
|
+
}
|
|
53
|
+
/**
|
|
54
|
+
* Parameters for {@link getOrCreateAbstractFileSafe}.
|
|
55
|
+
*/
|
|
56
|
+
export interface GetOrCreateAbstractFileSafeParams {
|
|
57
|
+
/**
|
|
58
|
+
* The application instance.
|
|
59
|
+
*/
|
|
60
|
+
readonly app: App;
|
|
61
|
+
/**
|
|
62
|
+
* The path of the abstract file to get or create.
|
|
63
|
+
*/
|
|
64
|
+
readonly path: string;
|
|
65
|
+
/**
|
|
66
|
+
* The type of the abstract file to get or create.
|
|
67
|
+
*/
|
|
68
|
+
readonly type: FileSystemType;
|
|
69
|
+
}
|
|
70
|
+
/**
|
|
71
|
+
* Parameters for {@link getSafeRenamePath}.
|
|
72
|
+
*/
|
|
73
|
+
export interface GetSafeRenamePathParams {
|
|
74
|
+
/**
|
|
75
|
+
* The application instance.
|
|
76
|
+
*/
|
|
77
|
+
readonly app: App;
|
|
78
|
+
/**
|
|
79
|
+
* The new path to rename the abstract file to.
|
|
80
|
+
*/
|
|
81
|
+
readonly newPath: string;
|
|
82
|
+
/**
|
|
83
|
+
* The old path or abstract file to rename.
|
|
84
|
+
*/
|
|
85
|
+
readonly oldPathOrAbstractFile: PathOrAbstractFile;
|
|
86
|
+
}
|
|
87
|
+
/**
|
|
88
|
+
* Parameters for {@link invokeWithFileSystemLock}.
|
|
89
|
+
*/
|
|
90
|
+
export interface InvokeWithFileSystemLockParams {
|
|
91
|
+
/**
|
|
92
|
+
* The application instance.
|
|
93
|
+
*/
|
|
94
|
+
readonly app: App;
|
|
95
|
+
/**
|
|
96
|
+
* The function to execute.
|
|
97
|
+
*
|
|
98
|
+
* @param content - The content of the file.
|
|
99
|
+
*/
|
|
100
|
+
fn(this: void, content: string): void;
|
|
101
|
+
/**
|
|
102
|
+
* The path or file to execute the function with the file system lock of.
|
|
103
|
+
*/
|
|
104
|
+
readonly pathOrFile: PathOrFile;
|
|
105
|
+
}
|
|
106
|
+
/**
|
|
107
|
+
* Parameters for {@link isChildOrSelf}.
|
|
108
|
+
*/
|
|
109
|
+
export interface IsChildOrSelfParams {
|
|
110
|
+
/**
|
|
111
|
+
* The application instance.
|
|
112
|
+
*/
|
|
113
|
+
readonly app: App;
|
|
114
|
+
/**
|
|
115
|
+
* The path or file to check whether it is a child or self.
|
|
116
|
+
*/
|
|
117
|
+
readonly childPathOrFile: PathOrAbstractFile;
|
|
118
|
+
/**
|
|
119
|
+
* The path or file to check whether it is a parent or self.
|
|
120
|
+
*/
|
|
121
|
+
readonly parentPathOrFile: PathOrAbstractFile;
|
|
122
|
+
}
|
|
123
|
+
/**
|
|
124
|
+
* Parameters for {@link isChild}.
|
|
125
|
+
*/
|
|
126
|
+
export interface IsChildParams {
|
|
127
|
+
/**
|
|
128
|
+
* The application instance.
|
|
129
|
+
*/
|
|
130
|
+
readonly app: App;
|
|
131
|
+
/**
|
|
132
|
+
* The path or file to check whether it is a child.
|
|
133
|
+
*/
|
|
134
|
+
readonly childPathOrFile: PathOrAbstractFile;
|
|
135
|
+
/**
|
|
136
|
+
* The path or file to check whether it is a parent.
|
|
137
|
+
*/
|
|
138
|
+
readonly parentPathOrFile: PathOrAbstractFile;
|
|
139
|
+
}
|
|
19
140
|
/**
|
|
20
141
|
* Options for {@link process}.
|
|
21
142
|
*/
|
|
22
143
|
export interface ProcessOptions extends RetryOptions {
|
|
23
144
|
/**
|
|
24
|
-
* Whether to fail if the file is missing or deleted.
|
|
145
|
+
* Whether to fail if the file is missing or deleted.
|
|
146
|
+
*
|
|
147
|
+
* @default `true`
|
|
25
148
|
*/
|
|
26
149
|
readonly shouldFailOnMissingFile?: boolean;
|
|
27
150
|
/**
|
|
28
|
-
* Whether to lock the editor while processing the file. Applicable only for markdown files.
|
|
151
|
+
* Whether to lock the editor while processing the file. Applicable only for markdown files.
|
|
152
|
+
*
|
|
153
|
+
* @default `true`
|
|
29
154
|
*/
|
|
30
155
|
readonly shouldLockEditorWhileProcessing?: boolean;
|
|
31
156
|
/**
|
|
32
|
-
* Whether to show a timeout notice.
|
|
157
|
+
* Whether to show a timeout notice.
|
|
158
|
+
*
|
|
159
|
+
* @default `true`
|
|
33
160
|
*/
|
|
34
161
|
readonly shouldShowTimeoutNotice?: boolean;
|
|
35
162
|
}
|
|
163
|
+
/**
|
|
164
|
+
* Parameters for {@link process}.
|
|
165
|
+
*/
|
|
166
|
+
export interface ProcessParams extends ProcessOptions {
|
|
167
|
+
/**
|
|
168
|
+
* The application instance, typically used for accessing the vault.
|
|
169
|
+
*/
|
|
170
|
+
readonly app: App;
|
|
171
|
+
/**
|
|
172
|
+
* A value provider that returns the new content based on the old content of the file.
|
|
173
|
+
* It can be a string or a function that takes the old content as an argument and returns the new content.
|
|
174
|
+
* If function is provided, it should return `null` if the process should be retried.
|
|
175
|
+
*/
|
|
176
|
+
readonly newContentProvider: ValueProvider<null | string, ContentArgs>;
|
|
177
|
+
/**
|
|
178
|
+
* The path or file to be processed. It can be a string representing the path or a file object.
|
|
179
|
+
*/
|
|
180
|
+
readonly pathOrFile: PathOrFile;
|
|
181
|
+
}
|
|
182
|
+
/**
|
|
183
|
+
* Parameters for {@link renameSafe}.
|
|
184
|
+
*/
|
|
185
|
+
export interface RenameSafeParams {
|
|
186
|
+
/**
|
|
187
|
+
* The application instance.
|
|
188
|
+
*/
|
|
189
|
+
readonly app: App;
|
|
190
|
+
/**
|
|
191
|
+
* The new path to rename the file to.
|
|
192
|
+
*/
|
|
193
|
+
readonly newPath: string;
|
|
194
|
+
/**
|
|
195
|
+
* The old path or abstract file to rename.
|
|
196
|
+
*/
|
|
197
|
+
readonly oldPathOrAbstractFile: PathOrAbstractFile;
|
|
198
|
+
}
|
|
36
199
|
/**
|
|
37
200
|
* Copies a file safely in the vault.
|
|
38
201
|
*
|
|
39
|
-
* @param
|
|
40
|
-
* @param oldPathOrFile - The old path or file to copy.
|
|
41
|
-
* @param newPath - The new path to copy the file to.
|
|
202
|
+
* @param params - The parameters for copying the file.
|
|
42
203
|
* @returns A {@link Promise} that resolves to the new path of the copied file.
|
|
43
204
|
*/
|
|
44
|
-
export declare function copySafe(
|
|
205
|
+
export declare function copySafe(params: CopySafeParams): Promise<string>;
|
|
45
206
|
/**
|
|
46
207
|
* Creates a folder safely in the specified path.
|
|
47
208
|
*
|
|
@@ -86,12 +247,10 @@ export declare function deleteEmptyFolderHierarchy(app: App, pathOrFolder: null
|
|
|
86
247
|
/**
|
|
87
248
|
* Gets a safe path for a file or folder.
|
|
88
249
|
*
|
|
89
|
-
* @param
|
|
90
|
-
* @param path - The path of the file or folder to get a safe path for.
|
|
91
|
-
* @param type - The type of the file system object.
|
|
250
|
+
* @param params - The parameters for getting a safe path.
|
|
92
251
|
* @returns The safe path for the file or folder.
|
|
93
252
|
*/
|
|
94
|
-
export declare function getAbstractFilePathSafe(
|
|
253
|
+
export declare function getAbstractFilePathSafe(params: GetAbstractFilePathSafeParams): string;
|
|
95
254
|
/**
|
|
96
255
|
* Gets an available path for a file in the vault.
|
|
97
256
|
*
|
|
@@ -136,12 +295,10 @@ export declare function getNoteFilesSorted(app: App): TFile[];
|
|
|
136
295
|
* If the file already exists, it will be returned.
|
|
137
296
|
* If the file does not exist, it will be created and returned.
|
|
138
297
|
*
|
|
139
|
-
* @param
|
|
140
|
-
* @param path - The path of the abstract file to get or create.
|
|
141
|
-
* @param type - The type of the abstract file to get or create.
|
|
298
|
+
* @param params - The parameters for getting or creating the abstract file.
|
|
142
299
|
* @returns A {@link Promise} that resolves to the abstract file.
|
|
143
300
|
*/
|
|
144
|
-
export declare function getOrCreateAbstractFileSafe(
|
|
301
|
+
export declare function getOrCreateAbstractFileSafe(params: GetOrCreateAbstractFileSafeParams): Promise<TAbstractFile>;
|
|
145
302
|
/**
|
|
146
303
|
* Gets or creates a file safely in the specified path.
|
|
147
304
|
*
|
|
@@ -167,38 +324,31 @@ export declare function getOrCreateFolderSafe(app: App, path: string): Promise<T
|
|
|
167
324
|
/**
|
|
168
325
|
* Gets a safe rename path for a file.
|
|
169
326
|
*
|
|
170
|
-
* @param
|
|
171
|
-
* @param oldPathOrAbstractFile - The old path or abstract file to rename.
|
|
172
|
-
* @param newPath - The new path to rename the abstract file to.
|
|
327
|
+
* @param params - The parameters for getting a safe rename path.
|
|
173
328
|
* @returns The safe rename path for the abstract file.
|
|
174
329
|
*/
|
|
175
|
-
export declare function getSafeRenamePath(
|
|
330
|
+
export declare function getSafeRenamePath(params: GetSafeRenamePathParams): string;
|
|
176
331
|
/**
|
|
177
332
|
* Invokes a function with the file system lock.
|
|
178
333
|
*
|
|
179
|
-
* @param
|
|
180
|
-
* @
|
|
181
|
-
* @param fn - The function to execute.
|
|
334
|
+
* @param params - The parameters for invoking the function with the file system lock.
|
|
335
|
+
* @returns A {@link Promise} that resolves when the function is invoked.
|
|
182
336
|
*/
|
|
183
|
-
export declare function invokeWithFileSystemLock(
|
|
337
|
+
export declare function invokeWithFileSystemLock(params: InvokeWithFileSystemLockParams): Promise<void>;
|
|
184
338
|
/**
|
|
185
339
|
* Checks if a path or file is a child of another path or file.
|
|
186
340
|
*
|
|
187
|
-
* @param
|
|
188
|
-
* @
|
|
189
|
-
* @param b - The second path or file.
|
|
190
|
-
* @returns A boolean indicating whether the first path or file is a child of the second path or file.
|
|
341
|
+
* @param params - The parameters for checking whether the child path or file is a child of the parent path or file.
|
|
342
|
+
* @returns A boolean indicating whether the child path or file is a child of the parent path or file.
|
|
191
343
|
*/
|
|
192
|
-
export declare function isChild(
|
|
344
|
+
export declare function isChild(params: IsChildParams): boolean;
|
|
193
345
|
/**
|
|
194
346
|
* Checks if a path or file is a child or self of another path or file.
|
|
195
347
|
*
|
|
196
|
-
* @param
|
|
197
|
-
* @
|
|
198
|
-
* @param b - The second path or file.
|
|
199
|
-
* @returns A boolean indicating whether the first path or file is a child or self of the second path or file.
|
|
348
|
+
* @param params - The parameters for checking whether the child path or file is a child or self of the parent path or file.
|
|
349
|
+
* @returns A boolean indicating whether the child path or file is a child or self of the parent path or file.
|
|
200
350
|
*/
|
|
201
|
-
export declare function isChildOrSelf(
|
|
351
|
+
export declare function isChildOrSelf(params: IsChildOrSelfParams): boolean;
|
|
202
352
|
/**
|
|
203
353
|
* Checks if a folder is empty.
|
|
204
354
|
*
|
|
@@ -218,18 +368,13 @@ export declare function listSafe(app: App, pathOrFolder: PathOrFolder): Promise<
|
|
|
218
368
|
/**
|
|
219
369
|
* Processes a file with retry logic, updating its content based on a provided value or function.
|
|
220
370
|
*
|
|
221
|
-
* @param
|
|
222
|
-
* @param pathOrFile - The path or file to be processed. It can be a string representing the path or a file object.
|
|
223
|
-
* @param newContentProvider - A value provider that returns the new content based on the old content of the file.
|
|
224
|
-
* It can be a string or a function that takes the old content as an argument and returns the new content.
|
|
225
|
-
* If function is provided, it should return `null` if the process should be retried.
|
|
226
|
-
* @param options - Optional options for processing/retrying the operation.
|
|
371
|
+
* @param params - The parameters for processing the file.
|
|
227
372
|
*
|
|
228
373
|
* @returns A {@link Promise} that resolves once the process is complete.
|
|
229
374
|
*
|
|
230
375
|
* @throws Will throw an error if the process fails after the specified number of retries or timeout.
|
|
231
376
|
*/
|
|
232
|
-
export declare function process(
|
|
377
|
+
export declare function process(params: ProcessParams): Promise<void>;
|
|
233
378
|
/**
|
|
234
379
|
* Reads the content of a file safely from the vault.
|
|
235
380
|
*
|
|
@@ -244,12 +389,10 @@ export declare function readSafe(app: App, pathOrFile: PathOrFile): Promise<null
|
|
|
244
389
|
* Renames a file safely in the vault.
|
|
245
390
|
* If the new path already exists, the file will be renamed to an available path.
|
|
246
391
|
*
|
|
247
|
-
* @param
|
|
248
|
-
* @param oldPathOrAbstractFile - The old path or file to rename.
|
|
249
|
-
* @param newPath - The new path to rename the file to.
|
|
392
|
+
* @param params - The parameters for renaming the file.
|
|
250
393
|
* @returns A {@link Promise} that resolves to the new path of the file.
|
|
251
394
|
*/
|
|
252
|
-
export declare function renameSafe(
|
|
395
|
+
export declare function renameSafe(params: RenameSafeParams): Promise<string>;
|
|
253
396
|
/**
|
|
254
397
|
* Saves the specified note in the Obsidian app.
|
|
255
398
|
*
|