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,8 +5,8 @@
|
|
|
5
5
|
* This module provides utilities for handling and updating links within Obsidian vaults. It includes
|
|
6
6
|
* functions to split paths, update links in files, and generate markdown links with various options.
|
|
7
7
|
*/
|
|
8
|
-
import type { App, CachedMetadata, Reference, TFile } from 'obsidian';
|
|
9
|
-
import type { Promisable } from 'type-fest';
|
|
8
|
+
import type { App, CachedMetadata, Reference, TFile } from 'obsidian' with { 'resolution-mode': 'import' };
|
|
9
|
+
import type { Promisable } from 'type-fest' with { 'resolution-mode': 'import' };
|
|
10
10
|
import type { MaybeReturn } from '../type.cjs';
|
|
11
11
|
import type { PathOrFile } from './file-system.cjs';
|
|
12
12
|
import type { ProcessOptions } from './vault.cjs';
|
|
@@ -88,7 +88,9 @@ export interface ConvertLinkParams {
|
|
|
88
88
|
*/
|
|
89
89
|
readonly oldSourcePathOrFile?: PathOrFile;
|
|
90
90
|
/**
|
|
91
|
-
* Whether to update file name alias.
|
|
91
|
+
* Whether to update file name alias.
|
|
92
|
+
*
|
|
93
|
+
* @default `true`
|
|
92
94
|
*/
|
|
93
95
|
readonly shouldUpdateFileNameAlias?: boolean;
|
|
94
96
|
}
|
|
@@ -96,10 +98,88 @@ export interface ConvertLinkParams {
|
|
|
96
98
|
* Options for {@link editBacklinks}.
|
|
97
99
|
*/
|
|
98
100
|
export type EditBacklinksOptions = ProcessOptions;
|
|
101
|
+
/**
|
|
102
|
+
* Parameters for {@link editBacklinks}.
|
|
103
|
+
*/
|
|
104
|
+
export interface EditBacklinksParams extends EditBacklinksOptions {
|
|
105
|
+
/**
|
|
106
|
+
* The Obsidian application instance.
|
|
107
|
+
*/
|
|
108
|
+
readonly app: App;
|
|
109
|
+
/**
|
|
110
|
+
* The function that converts each link.
|
|
111
|
+
*/
|
|
112
|
+
linkConverter(this: void, link: Reference): Promisable<MaybeReturn<string>>;
|
|
113
|
+
/**
|
|
114
|
+
* The path or file to edit the backlinks for.
|
|
115
|
+
*/
|
|
116
|
+
readonly pathOrFile: PathOrFile;
|
|
117
|
+
}
|
|
118
|
+
/**
|
|
119
|
+
* Parameters for {@link editLinksInContent}.
|
|
120
|
+
*/
|
|
121
|
+
export interface EditLinksInContentParams {
|
|
122
|
+
/**
|
|
123
|
+
* The abort signal to control the execution of the function.
|
|
124
|
+
*/
|
|
125
|
+
readonly abortSignal?: AbortSignal;
|
|
126
|
+
/**
|
|
127
|
+
* The Obsidian application instance.
|
|
128
|
+
*/
|
|
129
|
+
readonly app: App;
|
|
130
|
+
/**
|
|
131
|
+
* The content to edit the links in.
|
|
132
|
+
*/
|
|
133
|
+
readonly content: string;
|
|
134
|
+
/**
|
|
135
|
+
* The function that converts each link.
|
|
136
|
+
*/
|
|
137
|
+
linkConverter(this: void, link: Reference): Promisable<MaybeReturn<string>>;
|
|
138
|
+
}
|
|
99
139
|
/**
|
|
100
140
|
* Options for {@link editLinks}.
|
|
101
141
|
*/
|
|
102
142
|
export type EditLinksOptions = ProcessOptions;
|
|
143
|
+
/**
|
|
144
|
+
* Parameters for {@link editLinks}.
|
|
145
|
+
*/
|
|
146
|
+
export interface EditLinksParams extends EditLinksOptions {
|
|
147
|
+
/**
|
|
148
|
+
* The Obsidian application instance.
|
|
149
|
+
*/
|
|
150
|
+
readonly app: App;
|
|
151
|
+
/**
|
|
152
|
+
* The function that converts each link.
|
|
153
|
+
*/
|
|
154
|
+
linkConverter(this: void, link: Reference): Promisable<MaybeReturn<string>>;
|
|
155
|
+
/**
|
|
156
|
+
* The path or file to edit the links for.
|
|
157
|
+
*/
|
|
158
|
+
readonly pathOrFile: PathOrFile;
|
|
159
|
+
}
|
|
160
|
+
/**
|
|
161
|
+
* Parameters for {@link extractLinkFile}.
|
|
162
|
+
*/
|
|
163
|
+
export interface ExtractLinkFileParams {
|
|
164
|
+
/**
|
|
165
|
+
* The Obsidian application instance.
|
|
166
|
+
*/
|
|
167
|
+
readonly app: App;
|
|
168
|
+
/**
|
|
169
|
+
* The reference cache for the link.
|
|
170
|
+
*/
|
|
171
|
+
readonly link: Reference;
|
|
172
|
+
/**
|
|
173
|
+
* Whether to allow non-existing files.
|
|
174
|
+
*
|
|
175
|
+
* @default `false`
|
|
176
|
+
*/
|
|
177
|
+
readonly shouldAllowNonExistingFile?: boolean;
|
|
178
|
+
/**
|
|
179
|
+
* The source path or file.
|
|
180
|
+
*/
|
|
181
|
+
readonly sourcePathOrFile: PathOrFile;
|
|
182
|
+
}
|
|
103
183
|
/**
|
|
104
184
|
* Params for {@link generateMarkdownLink}.
|
|
105
185
|
*/
|
|
@@ -124,29 +204,35 @@ export interface GenerateMarkdownLinkParams {
|
|
|
124
204
|
*/
|
|
125
205
|
readonly isEmbed?: boolean;
|
|
126
206
|
/**
|
|
127
|
-
* Whether to allow an empty alias for embeds.
|
|
207
|
+
* Whether to allow an empty alias for embeds.
|
|
128
208
|
*
|
|
129
209
|
* Applicable only if the result link style is {@link LinkStyle.Markdown}.
|
|
130
210
|
*
|
|
131
211
|
* If `true`: ``.
|
|
132
212
|
*
|
|
133
213
|
* If `false`: ``.
|
|
214
|
+
*
|
|
215
|
+
* @default `true`
|
|
134
216
|
*/
|
|
135
217
|
readonly isEmptyEmbedAliasAllowed?: boolean;
|
|
136
218
|
/**
|
|
137
|
-
* Whether to allow non-existing files.
|
|
219
|
+
* Whether to allow non-existing files.
|
|
138
220
|
*
|
|
139
221
|
* If `false` and {@link targetPathOrFile} is a non-existing file, an error will be thrown.
|
|
222
|
+
*
|
|
223
|
+
* @default `false`
|
|
140
224
|
*/
|
|
141
225
|
readonly isNonExistingFileAllowed?: boolean;
|
|
142
226
|
/**
|
|
143
|
-
* Whether to allow a single subpath.
|
|
227
|
+
* Whether to allow a single subpath.
|
|
144
228
|
*
|
|
145
229
|
* Applicable only if {@link targetPathOrFile} and {@link sourcePathOrFile} are the same file.
|
|
146
230
|
*
|
|
147
231
|
* If `true`: `[[#subpath]]`.
|
|
148
232
|
*
|
|
149
233
|
* If `false`: `[[source#subpath]]`
|
|
234
|
+
*
|
|
235
|
+
* @default `true`
|
|
150
236
|
*/
|
|
151
237
|
readonly isSingleSubpathAllowed?: boolean;
|
|
152
238
|
/**
|
|
@@ -172,53 +258,63 @@ export interface GenerateMarkdownLinkParams {
|
|
|
172
258
|
*/
|
|
173
259
|
readonly originalLink?: string;
|
|
174
260
|
/**
|
|
175
|
-
* Whether to escape the alias.
|
|
261
|
+
* Whether to escape the alias.
|
|
176
262
|
*
|
|
177
263
|
* Applicable only if the result link style is {@link LinkStyle.Markdown}.
|
|
178
264
|
*
|
|
179
265
|
* If `true`: `[\*\*alias\*\*](link.md)`.
|
|
180
266
|
*
|
|
181
267
|
* If `false`: `[**alias**](link.md)`.
|
|
268
|
+
*
|
|
269
|
+
* @default `false`
|
|
182
270
|
*/
|
|
183
271
|
readonly shouldEscapeAlias?: boolean;
|
|
184
272
|
/**
|
|
185
|
-
* Whether to include the attachment extension in the embed alias.
|
|
273
|
+
* Whether to include the attachment extension in the embed alias.
|
|
186
274
|
*
|
|
187
275
|
* Applicable only if {@link isEmptyEmbedAliasAllowed} is `false`.
|
|
188
276
|
*
|
|
189
277
|
* If `true`: `[foo.png](foo.png)`.
|
|
190
278
|
*
|
|
191
279
|
* If `false`: `[foo](foo.png)`.
|
|
280
|
+
*
|
|
281
|
+
* @default `false`
|
|
192
282
|
*/
|
|
193
283
|
readonly shouldIncludeAttachmentExtensionToEmbedAlias?: boolean;
|
|
194
284
|
/**
|
|
195
|
-
* Indicates if the link should use angle brackets.
|
|
285
|
+
* Indicates if the link should use angle brackets.
|
|
196
286
|
*
|
|
197
287
|
* Applicable only if {@link linkStyle} is {@link LinkStyle.Markdown}.
|
|
198
288
|
*
|
|
199
289
|
* If `true`: `[alias](<path with spaces.md>)`.
|
|
200
290
|
*
|
|
201
291
|
* If `false`: `[alias](path%20with%20spaces.md)`.
|
|
292
|
+
*
|
|
293
|
+
* @default `false`
|
|
202
294
|
*/
|
|
203
295
|
readonly shouldUseAngleBrackets?: boolean;
|
|
204
296
|
/**
|
|
205
|
-
* Indicates if the link should use a leading dot.
|
|
297
|
+
* Indicates if the link should use a leading dot.
|
|
206
298
|
*
|
|
207
299
|
* Applicable only if {@link linkPathStyle} is {@link LinkPathStyle.RelativePathToSource}.
|
|
208
300
|
*
|
|
209
301
|
* If `true`: `[[./relative/path/to/target]]`
|
|
210
302
|
*
|
|
211
303
|
* If `false`: `[[relative/path/to/target]]`
|
|
304
|
+
*
|
|
305
|
+
* @default `false`
|
|
212
306
|
*/
|
|
213
307
|
readonly shouldUseLeadingDotForRelativePaths?: boolean;
|
|
214
308
|
/**
|
|
215
|
-
* Indicates if the link should use a leading slash.
|
|
309
|
+
* Indicates if the link should use a leading slash.
|
|
216
310
|
*
|
|
217
311
|
* Applicable only if {@link linkPathStyle} is {@link LinkPathStyle.AbsolutePathInVault}.
|
|
218
312
|
*
|
|
219
313
|
* If `true`: `[[/absolute/path/to/target]]`
|
|
220
314
|
*
|
|
221
315
|
* If `false`: `[[absolute/path/to/target]]`
|
|
316
|
+
*
|
|
317
|
+
* @default `false`
|
|
222
318
|
*/
|
|
223
319
|
readonly shouldUseLeadingSlashForAbsolutePaths?: boolean;
|
|
224
320
|
/**
|
|
@@ -233,6 +329,7 @@ export interface GenerateMarkdownLinkParams {
|
|
|
233
329
|
* @example `[[link-with-empty-subpath]]`
|
|
234
330
|
* @example `[[link-with-subpath#subpath]]`
|
|
235
331
|
* @example `[[link-with-subpath#subpath#nested-subpath]]`
|
|
332
|
+
* @default `''`
|
|
236
333
|
*/
|
|
237
334
|
readonly subpath?: string;
|
|
238
335
|
/**
|
|
@@ -249,7 +346,9 @@ export interface GenerateRawMarkdownLinkParams {
|
|
|
249
346
|
*/
|
|
250
347
|
readonly alias?: string | undefined;
|
|
251
348
|
/**
|
|
252
|
-
* Whether the link should be an embed link.
|
|
349
|
+
* Whether the link should be an embed link.
|
|
350
|
+
*
|
|
351
|
+
* @default `false`
|
|
253
352
|
*/
|
|
254
353
|
readonly isEmbed?: boolean;
|
|
255
354
|
/**
|
|
@@ -257,11 +356,15 @@ export interface GenerateRawMarkdownLinkParams {
|
|
|
257
356
|
*/
|
|
258
357
|
readonly isWikilink: boolean;
|
|
259
358
|
/**
|
|
260
|
-
* Whether to escape the alias. Applicable only if {@link isWikilink} is `false`.
|
|
359
|
+
* Whether to escape the alias. Applicable only if {@link isWikilink} is `false`.
|
|
360
|
+
*
|
|
361
|
+
* @default `false`
|
|
261
362
|
*/
|
|
262
363
|
readonly shouldEscapeAlias?: boolean;
|
|
263
364
|
/**
|
|
264
|
-
* Whether to use angle brackets. Applicable only if {@link isWikilink} is `false`.
|
|
365
|
+
* Whether to use angle brackets. Applicable only if {@link isWikilink} is `false`.
|
|
366
|
+
*
|
|
367
|
+
* @default `false`
|
|
265
368
|
*/
|
|
266
369
|
readonly shouldUseAngleBrackets?: boolean;
|
|
267
370
|
/**
|
|
@@ -459,7 +562,9 @@ export interface UpdateLinkParams {
|
|
|
459
562
|
*/
|
|
460
563
|
readonly oldTargetPathOrFile?: PathOrFile;
|
|
461
564
|
/**
|
|
462
|
-
* Whether to update file name alias.
|
|
565
|
+
* Whether to update file name alias.
|
|
566
|
+
*
|
|
567
|
+
* @default `true`
|
|
463
568
|
*/
|
|
464
569
|
readonly shouldUpdateFileNameAlias?: boolean;
|
|
465
570
|
}
|
|
@@ -488,7 +593,9 @@ export interface UpdateLinksInFileParams extends ProcessOptions {
|
|
|
488
593
|
*/
|
|
489
594
|
readonly shouldUpdateEmbedOnlyLinks?: boolean;
|
|
490
595
|
/**
|
|
491
|
-
* Whether to update file name alias.
|
|
596
|
+
* Whether to update file name alias.
|
|
597
|
+
*
|
|
598
|
+
* @default `true`
|
|
492
599
|
*/
|
|
493
600
|
readonly shouldUpdateFileNameAlias?: boolean;
|
|
494
601
|
}
|
|
@@ -522,6 +629,8 @@ interface UpdateLinksInContentParams {
|
|
|
522
629
|
readonly shouldUpdateEmbedOnlyLinks?: boolean;
|
|
523
630
|
/**
|
|
524
631
|
* Whether to update file name alias.
|
|
632
|
+
*
|
|
633
|
+
* @default `true`
|
|
525
634
|
*/
|
|
526
635
|
readonly shouldUpdateFileNameAlias?: boolean;
|
|
527
636
|
}
|
|
@@ -535,33 +644,24 @@ export declare function convertLink(params: ConvertLinkParams): string;
|
|
|
535
644
|
/**
|
|
536
645
|
* Edits the backlinks for a file or path.
|
|
537
646
|
*
|
|
538
|
-
* @param
|
|
539
|
-
* @param pathOrFile - The path or file to edit the backlinks for.
|
|
540
|
-
* @param linkConverter - The function that converts each link.
|
|
541
|
-
* @param options - Optional options for retrying the operation.
|
|
647
|
+
* @param params - The parameters for editing the backlinks.
|
|
542
648
|
* @returns A {@link Promise} that resolves when the backlinks have been edited.
|
|
543
649
|
*/
|
|
544
|
-
export declare function editBacklinks(
|
|
650
|
+
export declare function editBacklinks(params: EditBacklinksParams): Promise<void>;
|
|
545
651
|
/**
|
|
546
652
|
* Edits the links for a file or path.
|
|
547
653
|
*
|
|
548
|
-
* @param
|
|
549
|
-
* @param pathOrFile - The path or file to edit the links for.
|
|
550
|
-
* @param linkConverter - The function that converts each link.
|
|
551
|
-
* @param options - Optional options for retrying the operation.
|
|
654
|
+
* @param params - The parameters for editing the links.
|
|
552
655
|
* @returns A {@link Promise} that resolves when the links have been edited.
|
|
553
656
|
*/
|
|
554
|
-
export declare function editLinks(
|
|
657
|
+
export declare function editLinks(params: EditLinksParams): Promise<void>;
|
|
555
658
|
/**
|
|
556
659
|
* Edits the links in a content string.
|
|
557
660
|
*
|
|
558
|
-
* @param
|
|
559
|
-
* @param content - The content to edit the links in.
|
|
560
|
-
* @param linkConverter - The function that converts each link.
|
|
561
|
-
* @param abortSignal - The abort signal to control the execution of the function.
|
|
661
|
+
* @param params - The parameters for editing the links in the content.
|
|
562
662
|
* @returns The promise that resolves to the updated content.
|
|
563
663
|
*/
|
|
564
|
-
export declare function editLinksInContent(
|
|
664
|
+
export declare function editLinksInContent(params: EditLinksInContentParams): Promise<string>;
|
|
565
665
|
/**
|
|
566
666
|
* Encodes a URL.
|
|
567
667
|
*
|
|
@@ -584,13 +684,10 @@ export declare function escapeAlias(alias: string): string;
|
|
|
584
684
|
/**
|
|
585
685
|
* Extracts the file associated with a link.
|
|
586
686
|
*
|
|
587
|
-
* @param
|
|
588
|
-
* @param link - The reference cache for the link.
|
|
589
|
-
* @param sourcePathOrFile - The source path or file.
|
|
590
|
-
* @param shouldAllowNonExistingFile - Whether to allow non-existing files. Defaults to `false`.
|
|
687
|
+
* @param params - The parameters for extracting the link file.
|
|
591
688
|
* @returns The file associated with the link, or `null` if not found.
|
|
592
689
|
*/
|
|
593
|
-
export declare function extractLinkFile(
|
|
690
|
+
export declare function extractLinkFile(params: ExtractLinkFileParams): null | TFile;
|
|
594
691
|
/**
|
|
595
692
|
* Fixes the frontmatter markdown links in the provided metadata cache.
|
|
596
693
|
*
|
|
@@ -128,45 +128,71 @@ __export(logger_exports, {
|
|
|
128
128
|
invokeAsyncAndLog: () => invokeAsyncAndLog
|
|
129
129
|
});
|
|
130
130
|
module.exports = __toCommonJS(logger_exports);
|
|
131
|
+
var import_abort_controller = require('../abort-controller.cjs');
|
|
131
132
|
var import_debug = require('../debug.cjs');
|
|
132
133
|
var import_error = require('../error.cjs');
|
|
133
|
-
async function invokeAsyncAndLog(
|
|
134
|
+
async function invokeAsyncAndLog(params) {
|
|
135
|
+
const {
|
|
136
|
+
abortSignal = (0, import_abort_controller.abortSignalNever)(),
|
|
137
|
+
fn,
|
|
138
|
+
title
|
|
139
|
+
} = params;
|
|
134
140
|
abortSignal.throwIfAborted();
|
|
135
141
|
const invokeAsyncAndLogDebugger = (0, import_debug.getLibDebugger)("Logger:invokeAsyncAndLog");
|
|
136
142
|
const timestampStart = performance.now();
|
|
137
|
-
stackTrace
|
|
138
|
-
(0, import_debug.printWithStackTrace)(
|
|
139
|
-
|
|
140
|
-
|
|
143
|
+
const stackTrace = params.stackTrace ?? (0, import_error.getStackTrace)(1);
|
|
144
|
+
(0, import_debug.printWithStackTrace)({
|
|
145
|
+
args: [{
|
|
146
|
+
fn,
|
|
147
|
+
timestampStart
|
|
148
|
+
}],
|
|
149
|
+
debuggerInstance: invokeAsyncAndLogDebugger,
|
|
150
|
+
message: `${title}:start`,
|
|
151
|
+
stackTrace
|
|
141
152
|
});
|
|
142
153
|
try {
|
|
143
154
|
await fn(abortSignal);
|
|
144
155
|
const timestampEnd = performance.now();
|
|
145
156
|
const duration = Math.trunc(timestampEnd - timestampStart);
|
|
146
157
|
if (abortSignal.aborted) {
|
|
147
|
-
(0, import_debug.printWithStackTrace)(
|
|
148
|
-
|
|
158
|
+
(0, import_debug.printWithStackTrace)({
|
|
159
|
+
args: [{
|
|
160
|
+
abortReason: abortSignal.reason,
|
|
161
|
+
duration,
|
|
162
|
+
fn,
|
|
163
|
+
timestampEnd,
|
|
164
|
+
timestampStart
|
|
165
|
+
}],
|
|
166
|
+
debuggerInstance: invokeAsyncAndLogDebugger,
|
|
167
|
+
message: `${title}:aborted`,
|
|
168
|
+
stackTrace
|
|
169
|
+
});
|
|
170
|
+
abortSignal.throwIfAborted();
|
|
171
|
+
}
|
|
172
|
+
(0, import_debug.printWithStackTrace)({
|
|
173
|
+
args: [{
|
|
149
174
|
duration,
|
|
150
175
|
fn,
|
|
151
176
|
timestampEnd,
|
|
152
177
|
timestampStart
|
|
153
|
-
}
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
duration,
|
|
158
|
-
fn,
|
|
159
|
-
timestampEnd,
|
|
160
|
-
timestampStart
|
|
178
|
+
}],
|
|
179
|
+
debuggerInstance: invokeAsyncAndLogDebugger,
|
|
180
|
+
message: `${title}:end`,
|
|
181
|
+
stackTrace
|
|
161
182
|
});
|
|
162
183
|
} catch (error) {
|
|
163
184
|
const timestampEnd = performance.now();
|
|
164
|
-
(0, import_debug.printWithStackTrace)(
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
185
|
+
(0, import_debug.printWithStackTrace)({
|
|
186
|
+
args: [{
|
|
187
|
+
duration: Math.trunc(timestampEnd - timestampStart),
|
|
188
|
+
error,
|
|
189
|
+
fn,
|
|
190
|
+
timestampEnd,
|
|
191
|
+
timestampStart
|
|
192
|
+
}],
|
|
193
|
+
debuggerInstance: invokeAsyncAndLogDebugger,
|
|
194
|
+
message: `${title}:error`,
|
|
195
|
+
stackTrace
|
|
170
196
|
});
|
|
171
197
|
throw error;
|
|
172
198
|
}
|
|
@@ -175,4 +201,4 @@ async function invokeAsyncAndLog(title, fn, abortSignal, stackTrace) {
|
|
|
175
201
|
0 && (module.exports = {
|
|
176
202
|
invokeAsyncAndLog
|
|
177
203
|
});
|
|
178
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
204
|
+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vc3JjL29ic2lkaWFuL2xvZ2dlci50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsiLyoqXG4gKiBAZmlsZVxuICpcbiAqIENvbnRhaW5zIHV0aWxpdHkgZnVuY3Rpb25zIGZvciBsb2dnaW5nIGluIE9ic2lkaWFuLlxuICovXG5cbmltcG9ydCB0eXBlIHsgUHJvbWlzYWJsZSB9IGZyb20gJ3R5cGUtZmVzdCc7XG5cbmltcG9ydCB7IGFib3J0U2lnbmFsTmV2ZXIgfSBmcm9tICcuLi9hYm9ydC1jb250cm9sbGVyLnRzJztcbmltcG9ydCB7XG4gIGdldExpYkRlYnVnZ2VyLFxuICBwcmludFdpdGhTdGFja1RyYWNlXG59IGZyb20gJy4uL2RlYnVnLnRzJztcbmltcG9ydCB7IGdldFN0YWNrVHJhY2UgfSBmcm9tICcuLi9lcnJvci50cyc7XG5cbi8qKlxuICogUGFyYW1ldGVycyBmb3Ige0BsaW5rIGludm9rZUFzeW5jQW5kTG9nfS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBJbnZva2VBc3luY0FuZExvZ1BhcmFtcyB7XG4gIC8qKlxuICAgKiBUaGUgYWJvcnQgc2lnbmFsIHRvIGNvbnRyb2wgdGhlIGV4ZWN1dGlvbiBvZiB0aGUgZnVuY3Rpb24uXG4gICAqL1xuICByZWFkb25seSBhYm9ydFNpZ25hbD86IEFib3J0U2lnbmFsO1xuXG4gIC8qKlxuICAgKiBUaGUgZnVuY3Rpb24gdG8gaW52b2tlLlxuICAgKlxuICAgKiBAcGFyYW0gYWJvcnRTaWduYWwgLSBUaGUgYWJvcnQgc2lnbmFsIHRvIGNvbnRyb2wgdGhlIGV4ZWN1dGlvbiBvZiB0aGUgZnVuY3Rpb24uXG4gICAqIEByZXR1cm5zIEEge0BsaW5rIFByb21pc2FibGV9IHRoYXQgcmVzb2x2ZXMgd2hlbiB0aGUgZnVuY3Rpb24gaXMgY29tcGxldGUuXG4gICAqL1xuICBmbih0aGlzOiB2b2lkLCBhYm9ydFNpZ25hbDogQWJvcnRTaWduYWwpOiBQcm9taXNhYmxlPHZvaWQ+O1xuXG4gIC8qKlxuICAgKiBPcHRpb25hbCBzdGFjayB0cmFjZS5cbiAgICovXG4gIHJlYWRvbmx5IHN0YWNrVHJhY2U/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSB0aXRsZSBvZiB0aGUgbG9nLlxuICAgKi9cbiAgcmVhZG9ubHkgdGl0bGU6IHN0cmluZztcbn1cblxuLyoqXG4gKiBJbnZva2VzIGEgZnVuY3Rpb24gYW5kIGxvZ3MgdGhlIHN0YXJ0LCBlbmQsIGFuZCBkdXJhdGlvbiBvZiB0aGUgaW52b2NhdGlvbi5cbiAqXG4gKiBAcGFyYW0gcGFyYW1zIC0gVGhlIHBhcmFtZXRlcnMgZm9yIHRoZSBpbnZvY2F0aW9uLlxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gaW52b2tlQXN5bmNBbmRMb2cocGFyYW1zOiBJbnZva2VBc3luY0FuZExvZ1BhcmFtcyk6IFByb21pc2U8dm9pZD4ge1xuICBjb25zdCB7XG4gICAgYWJvcnRTaWduYWwgPSBhYm9ydFNpZ25hbE5ldmVyKCksXG4gICAgZm4sXG4gICAgdGl0bGVcbiAgfSA9IHBhcmFtcztcbiAgYWJvcnRTaWduYWwudGhyb3dJZkFib3J0ZWQoKTtcbiAgY29uc3QgaW52b2tlQXN5bmNBbmRMb2dEZWJ1Z2dlciA9IGdldExpYkRlYnVnZ2VyKCdMb2dnZXI6aW52b2tlQXN5bmNBbmRMb2cnKTtcbiAgY29uc3QgdGltZXN0YW1wU3RhcnQgPSBwZXJmb3JtYW5jZS5ub3coKTtcbiAgY29uc3Qgc3RhY2tUcmFjZSA9IHBhcmFtcy5zdGFja1RyYWNlID8/IGdldFN0YWNrVHJhY2UoMSk7XG4gIHByaW50V2l0aFN0YWNrVHJhY2Uoe1xuICAgIGFyZ3M6IFt7XG4gICAgICBmbixcbiAgICAgIHRpbWVzdGFtcFN0YXJ0XG4gICAgfV0sXG4gICAgZGVidWdnZXJJbnN0YW5jZTogaW52b2tlQXN5bmNBbmRMb2dEZWJ1Z2dlcixcbiAgICBtZXNzYWdlOiBgJHt0aXRsZX06c3RhcnRgLFxuICAgIHN0YWNrVHJhY2VcbiAgfSk7XG4gIHRyeSB7XG4gICAgYXdhaXQgZm4oYWJvcnRTaWduYWwpO1xuICAgIGNvbnN0IHRpbWVzdGFtcEVuZCA9IHBlcmZvcm1hbmNlLm5vdygpO1xuICAgIGNvbnN0IGR1cmF0aW9uID0gTWF0aC50cnVuYyh0aW1lc3RhbXBFbmQgLSB0aW1lc3RhbXBTdGFydCk7XG4gICAgaWYgKGFib3J0U2lnbmFsLmFib3J0ZWQpIHtcbiAgICAgIHByaW50V2l0aFN0YWNrVHJhY2Uoe1xuICAgICAgICBhcmdzOiBbe1xuICAgICAgICAgIGFib3J0UmVhc29uOiBhYm9ydFNpZ25hbC5yZWFzb24gYXMgdW5rbm93bixcbiAgICAgICAgICBkdXJhdGlvbixcbiAgICAgICAgICBmbixcbiAgICAgICAgICB0aW1lc3RhbXBFbmQsXG4gICAgICAgICAgdGltZXN0YW1wU3RhcnRcbiAgICAgICAgfV0sXG4gICAgICAgIGRlYnVnZ2VySW5zdGFuY2U6IGludm9rZUFzeW5jQW5kTG9nRGVidWdnZXIsXG4gICAgICAgIG1lc3NhZ2U6IGAke3RpdGxlfTphYm9ydGVkYCxcbiAgICAgICAgc3RhY2tUcmFjZVxuICAgICAgfSk7XG4gICAgICBhYm9ydFNpZ25hbC50aHJvd0lmQWJvcnRlZCgpO1xuICAgIH1cbiAgICBwcmludFdpdGhTdGFja1RyYWNlKHtcbiAgICAgIGFyZ3M6IFt7XG4gICAgICAgIGR1cmF0aW9uLFxuICAgICAgICBmbixcbiAgICAgICAgdGltZXN0YW1wRW5kLFxuICAgICAgICB0aW1lc3RhbXBTdGFydFxuICAgICAgfV0sXG4gICAgICBkZWJ1Z2dlckluc3RhbmNlOiBpbnZva2VBc3luY0FuZExvZ0RlYnVnZ2VyLFxuICAgICAgbWVzc2FnZTogYCR7dGl0bGV9OmVuZGAsXG4gICAgICBzdGFja1RyYWNlXG4gICAgfSk7XG4gIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgY29uc3QgdGltZXN0YW1wRW5kID0gcGVyZm9ybWFuY2Uubm93KCk7XG4gICAgcHJpbnRXaXRoU3RhY2tUcmFjZSh7XG4gICAgICBhcmdzOiBbe1xuICAgICAgICBkdXJhdGlvbjogTWF0aC50cnVuYyh0aW1lc3RhbXBFbmQgLSB0aW1lc3RhbXBTdGFydCksXG4gICAgICAgIGVycm9yLFxuICAgICAgICBmbixcbiAgICAgICAgdGltZXN0YW1wRW5kLFxuICAgICAgICB0aW1lc3RhbXBTdGFydFxuICAgICAgfV0sXG4gICAgICBkZWJ1Z2dlckluc3RhbmNlOiBpbnZva2VBc3luY0FuZExvZ0RlYnVnZ2VyLFxuICAgICAgbWVzc2FnZTogYCR7dGl0bGV9OmVycm9yYCxcbiAgICAgIHN0YWNrVHJhY2VcbiAgICB9KTtcbiAgICB0aHJvdyBlcnJvcjtcbiAgfVxufVxuIl0sCiAgIm1hcHBpbmdzIjogIjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBUUEsOEJBQWlDO0FBQ2pDLG1CQUdPO0FBQ1AsbUJBQThCO0FBbUM5QixlQUFzQixrQkFBa0IsUUFBZ0Q7QUFDdEYsUUFBTTtBQUFBLElBQ0osa0JBQWMsMENBQWlCO0FBQUEsSUFDL0I7QUFBQSxJQUNBO0FBQUEsRUFDRixJQUFJO0FBQ0osY0FBWSxlQUFlO0FBQzNCLFFBQU0sZ0NBQTRCLDZCQUFlLDBCQUEwQjtBQUMzRSxRQUFNLGlCQUFpQixZQUFZLElBQUk7QUFDdkMsUUFBTSxhQUFhLE9BQU8sa0JBQWMsNEJBQWMsQ0FBQztBQUN2RCx3Q0FBb0I7QUFBQSxJQUNsQixNQUFNLENBQUM7QUFBQSxNQUNMO0FBQUEsTUFDQTtBQUFBLElBQ0YsQ0FBQztBQUFBLElBQ0Qsa0JBQWtCO0FBQUEsSUFDbEIsU0FBUyxHQUFHLEtBQUs7QUFBQSxJQUNqQjtBQUFBLEVBQ0YsQ0FBQztBQUNELE1BQUk7QUFDRixVQUFNLEdBQUcsV0FBVztBQUNwQixVQUFNLGVBQWUsWUFBWSxJQUFJO0FBQ3JDLFVBQU0sV0FBVyxLQUFLLE1BQU0sZUFBZSxjQUFjO0FBQ3pELFFBQUksWUFBWSxTQUFTO0FBQ3ZCLDRDQUFvQjtBQUFBLFFBQ2xCLE1BQU0sQ0FBQztBQUFBLFVBQ0wsYUFBYSxZQUFZO0FBQUEsVUFDekI7QUFBQSxVQUNBO0FBQUEsVUFDQTtBQUFBLFVBQ0E7QUFBQSxRQUNGLENBQUM7QUFBQSxRQUNELGtCQUFrQjtBQUFBLFFBQ2xCLFNBQVMsR0FBRyxLQUFLO0FBQUEsUUFDakI7QUFBQSxNQUNGLENBQUM7QUFDRCxrQkFBWSxlQUFlO0FBQUEsSUFDN0I7QUFDQSwwQ0FBb0I7QUFBQSxNQUNsQixNQUFNLENBQUM7QUFBQSxRQUNMO0FBQUEsUUFDQTtBQUFBLFFBQ0E7QUFBQSxRQUNBO0FBQUEsTUFDRixDQUFDO0FBQUEsTUFDRCxrQkFBa0I7QUFBQSxNQUNsQixTQUFTLEdBQUcsS0FBSztBQUFBLE1BQ2pCO0FBQUEsSUFDRixDQUFDO0FBQUEsRUFDSCxTQUFTLE9BQU87QUFDZCxVQUFNLGVBQWUsWUFBWSxJQUFJO0FBQ3JDLDBDQUFvQjtBQUFBLE1BQ2xCLE1BQU0sQ0FBQztBQUFBLFFBQ0wsVUFBVSxLQUFLLE1BQU0sZUFBZSxjQUFjO0FBQUEsUUFDbEQ7QUFBQSxRQUNBO0FBQUEsUUFDQTtBQUFBLFFBQ0E7QUFBQSxNQUNGLENBQUM7QUFBQSxNQUNELGtCQUFrQjtBQUFBLE1BQ2xCLFNBQVMsR0FBRyxLQUFLO0FBQUEsTUFDakI7QUFBQSxJQUNGLENBQUM7QUFDRCxVQUFNO0FBQUEsRUFDUjtBQUNGOyIsCiAgIm5hbWVzIjogW10KfQo=
|
|
@@ -4,13 +4,34 @@
|
|
|
4
4
|
*
|
|
5
5
|
* Contains utility functions for logging in Obsidian.
|
|
6
6
|
*/
|
|
7
|
-
import type { Promisable } from 'type-fest';
|
|
7
|
+
import type { Promisable } from 'type-fest' with { 'resolution-mode': 'import' };
|
|
8
|
+
/**
|
|
9
|
+
* Parameters for {@link invokeAsyncAndLog}.
|
|
10
|
+
*/
|
|
11
|
+
export interface InvokeAsyncAndLogParams {
|
|
12
|
+
/**
|
|
13
|
+
* The abort signal to control the execution of the function.
|
|
14
|
+
*/
|
|
15
|
+
readonly abortSignal?: AbortSignal;
|
|
16
|
+
/**
|
|
17
|
+
* The function to invoke.
|
|
18
|
+
*
|
|
19
|
+
* @param abortSignal - The abort signal to control the execution of the function.
|
|
20
|
+
* @returns A {@link Promisable} that resolves when the function is complete.
|
|
21
|
+
*/
|
|
22
|
+
fn(this: void, abortSignal: AbortSignal): Promisable<void>;
|
|
23
|
+
/**
|
|
24
|
+
* Optional stack trace.
|
|
25
|
+
*/
|
|
26
|
+
readonly stackTrace?: string;
|
|
27
|
+
/**
|
|
28
|
+
* The title of the log.
|
|
29
|
+
*/
|
|
30
|
+
readonly title: string;
|
|
31
|
+
}
|
|
8
32
|
/**
|
|
9
33
|
* Invokes a function and logs the start, end, and duration of the invocation.
|
|
10
34
|
*
|
|
11
|
-
* @param
|
|
12
|
-
* @param fn - The function to invoke.
|
|
13
|
-
* @param abortSignal - The abort signal to control the execution of the function.
|
|
14
|
-
* @param stackTrace - Optional stack trace.
|
|
35
|
+
* @param params - The parameters for the invocation.
|
|
15
36
|
*/
|
|
16
|
-
export declare function invokeAsyncAndLog(
|
|
37
|
+
export declare function invokeAsyncAndLog(params: InvokeAsyncAndLogParams): Promise<void>;
|
|
@@ -193,9 +193,19 @@ async function loop(params) {
|
|
|
193
193
|
console.error("Error processing item", item);
|
|
194
194
|
if (!fullOptions.shouldContinueOnError) {
|
|
195
195
|
notice?.hide();
|
|
196
|
-
throw new import_error.CustomStackTraceError(
|
|
196
|
+
throw new import_error.CustomStackTraceError({
|
|
197
|
+
cause: error,
|
|
198
|
+
message: "loop failed",
|
|
199
|
+
stackTrace
|
|
200
|
+
});
|
|
197
201
|
}
|
|
198
|
-
(0, import_error.emitAsyncErrorEvent)(
|
|
202
|
+
(0, import_error.emitAsyncErrorEvent)(
|
|
203
|
+
new import_error.CustomStackTraceError({
|
|
204
|
+
cause: error,
|
|
205
|
+
message: import_error.ASYNC_WRAPPER_ERROR_MESSAGE,
|
|
206
|
+
stackTrace
|
|
207
|
+
})
|
|
208
|
+
);
|
|
199
209
|
}
|
|
200
210
|
progressBarEl.value++;
|
|
201
211
|
}
|
|
@@ -212,7 +222,7 @@ async function loop(params) {
|
|
|
212
222
|
if (isDone) {
|
|
213
223
|
return;
|
|
214
224
|
}
|
|
215
|
-
notice =
|
|
225
|
+
notice = params.pluginNoticeComponent.showNotice("", {});
|
|
216
226
|
if (!fullOptions.shouldShowProgressBar) {
|
|
217
227
|
return;
|
|
218
228
|
}
|
|
@@ -226,4 +236,4 @@ async function loop(params) {
|
|
|
226
236
|
0 && (module.exports = {
|
|
227
237
|
loop
|
|
228
238
|
});
|
|
229
|
-
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vc3JjL29ic2lkaWFuL2xvb3AudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbIi8qKlxuICogQGZpbGVcbiAqXG4gKiBDb250YWlucyB1dGlsaXR5IGZ1bmN0aW9ucyBmb3IgbG9vcGluZyBpbiBPYnNpZGlhbi5cbiAqL1xuXG5pbXBvcnQgdHlwZSB7IFByb21pc2FibGUgfSBmcm9tICd0eXBlLWZlc3QnO1xuXG5pbXBvcnQgeyBOb3RpY2UgfSBmcm9tICdvYnNpZGlhbic7XG5cbmltcG9ydCB7IGFib3J0U2lnbmFsTmV2ZXIgfSBmcm9tICcuLi9hYm9ydC1jb250cm9sbGVyLnRzJztcbmltcG9ydCB7XG4gIGludm9rZUFzeW5jU2FmZWx5LFxuICByZXF1ZXN0QW5pbWF0aW9uRnJhbWVBc3luY1xufSBmcm9tICcuLi9hc3luYy50cyc7XG5pbXBvcnQgeyBnZXRMaWJEZWJ1Z2dlciB9IGZyb20gJy4uL2RlYnVnLnRzJztcbmltcG9ydCB7XG4gIEFTWU5DX1dSQVBQRVJfRVJST1JfTUVTU0FHRSxcbiAgQ3VzdG9tU3RhY2tUcmFjZUVycm9yLFxuICBlbWl0QXN5bmNFcnJvckV2ZW50LFxuICBnZXRTdGFja1RyYWNlXG59IGZyb20gJy4uL2Vycm9yLnRzJztcbmltcG9ydCB7IG5vb3AgfSBmcm9tICcuLi9mdW5jdGlvbi50cyc7XG5pbXBvcnQgeyBhZGRQbHVnaW5Dc3NDbGFzc2VzIH0gZnJvbSAnLi9wbHVnaW4vcGx1Z2luLWNvbnRleHQudHMnO1xuXG4vKipcbiAqIE9wdGlvbnMgZm9yIHtAbGluayBsb29wfS5cbiAqXG4gKiBAdHlwZVBhcmFtIFQgLSBUaGUgdHlwZSBvZiB0aGUgaXRlbXMgdG8gbG9vcCBvdmVyLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIExvb3BQYXJhbXM8VD4ge1xuICAvKipcbiAgICogQW4gb3B0aW9uYWwgYWJvcnQgc2lnbmFsIHRvIGNhbmNlbCB0aGUgbG9vcC5cbiAgICovXG4gIHJlYWRvbmx5IGFib3J0U2lnbmFsPzogQWJvcnRTaWduYWw7XG5cbiAgLyoqXG4gICAqIEJ1aWxkIGEgbm90aWNlIG1lc3NhZ2UgZm9yIGVhY2ggaXRlbS5cbiAgICpcbiAgICogQHBhcmFtIGl0ZW0gLSBUaGUgY3VycmVudCBpdGVtLlxuICAgKiBAcGFyYW0gaXRlcmF0aW9uU3RyIC0gQSBzdHJpbmcgcmVwcmVzZW50aW5nIHRoZSBjdXJyZW50IGl0ZXJhdGlvbi5cbiAgICogQHJldHVybnMgQSBzdHJpbmcgdG8gZGlzcGxheSBpbiB0aGUgbm90aWNlLlxuICAgKi9cbiAgYnVpbGROb3RpY2VNZXNzYWdlKGl0ZW06IFQsIGl0ZXJhdGlvblN0cjogc3RyaW5nKTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBJdGVtcyB0byBsb29wIG92ZXIuXG4gICAqL1xuICByZWFkb25seSBpdGVtczogVFtdO1xuXG4gIC8qKlxuICAgKiBBIHRpbWVvdXQgZm9yIHRoZSBub3RpY2UgYmVmb3JlIGl0IGlzIHNob3duLiBEZWZhdWx0IGlzIGA1MDBgLlxuICAgKi9cbiAgcmVhZG9ubHkgbm90aWNlQmVmb3JlU2hvd25UaW1lb3V0SW5NaWxsaXNlY29uZHM/OiBudW1iZXI7XG5cbiAgLyoqXG4gICAqIEEgbWluaW11bSB0aW1lb3V0IGZvciB0aGUgbm90aWNlLiBEZWZhdWx0IGlzIGAyMDAwYC5cbiAgICovXG4gIHJlYWRvbmx5IG5vdGljZU1pblRpbWVvdXRJbk1pbGxpc2Vjb25kcz86IG51bWJlcjtcblxuICAvKipcbiAgICogUHJvY2VzcyBlYWNoIGl0ZW0uXG4gICAqXG4gICAqIEBwYXJhbSBpdGVtIC0gVGhlIGN1cnJlbnQgaXRlbS5cbiAgICovXG4gIHByb2Nlc3NJdGVtKGl0ZW06IFQpOiBQcm9taXNhYmxlPHZvaWQ+O1xuXG4gIC8qKlxuICAgKiBBIHRpdGxlIG9mIHRoZSBwcm9ncmVzcyBiYXIuIERlZmF1bHQgaXMgYCcnYC5cbiAgICovXG4gIHJlYWRvbmx5IHByb2dyZXNzQmFyVGl0bGU/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgdG8gY29udGludWUgdGhlIGxvb3Agb24gZXJyb3IuIERlZmF1bHQgaXMgYHRydWVgLlxuICAgKi9cbiAgcmVhZG9ubHkgc2hvdWxkQ29udGludWVPbkVycm9yPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogV2hldGhlciB0byBzaG93IGEgbm90aWNlLiBEZWZhdWx0IGlzIGB0cnVlYC5cbiAgICovXG4gIHJlYWRvbmx5IHNob3VsZFNob3dOb3RpY2U/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRvIHNob3cgYSBwcm9ncmVzcyBiYXIuIERlZmF1bHQgaXMgYHRydWVgLlxuICAgKi9cbiAgcmVhZG9ubHkgc2hvdWxkU2hvd1Byb2dyZXNzQmFyPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogQSB0aHJlc2hvbGQgZm9yIHRoZSBVSSB1cGRhdGUuIERlZmF1bHQgaXMgYDEwMGAuXG4gICAqL1xuICByZWFkb25seSB1aVVwZGF0ZVRocmVzaG9sZEluTWlsbGlzZWNvbmRzPzogbnVtYmVyO1xufVxuXG4vKipcbiAqIExvb3BzIG92ZXIgYSBsaXN0IG9mIGl0ZW1zIGFuZCBwcm9jZXNzZXMgZWFjaCBpdGVtLlxuICpcbiAqIEB0eXBlUGFyYW0gVCAtIFRoZSB0eXBlIG9mIHRoZSBpdGVtcyB0byBsb29wIG92ZXIuXG4gKiBAcGFyYW0gcGFyYW1zIC0gVGhlIHBhcmFtZXRlcnMgZm9yIHRoZSBsb29wLlxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gbG9vcDxUPihwYXJhbXM6IExvb3BQYXJhbXM8VD4pOiBQcm9taXNlPHZvaWQ+IHtcbiAgY29uc3QgREVGQVVMVF9PUFRJT05TOiBSZXF1aXJlZDxMb29wUGFyYW1zPFQ+PiA9IHtcbiAgICBhYm9ydFNpZ25hbDogYWJvcnRTaWduYWxOZXZlcigpLFxuICAgIC8qIHY4IGlnbm9yZSBzdGFydCAtLSBidWlsZE5vdGljZU1lc3NhZ2UgaXMgcmVxdWlyZWQgaW4gTG9vcFBhcmFtcyBhbmQgYWx3YXlzIG92ZXJyaWRkZW4gYnkgdGhlIHNwcmVhZC4gKi9cbiAgICBidWlsZE5vdGljZU1lc3NhZ2UoKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ2J1aWxkTm90aWNlTWVzc2FnZSBpcyByZXF1aXJlZCcpO1xuICAgIH0sXG4gICAgLyogdjggaWdub3JlIHN0b3AgKi9cbiAgICBpdGVtczogW10sXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLW1hZ2ljLW51bWJlcnMgLS0gRXh0cmFjdGluZyBtYWdpYyBudW1iZXIgYXMgYSBjb25zdGFudCB3b3VsZCBiZSByZXBldGl0aXZlLCBhcyB0aGUgdmFsdWUgaXMgdXNlZCBvbmx5IG9uY2UgYW5kIGl0cyBuYW1lIHdvdWxkIGJlIHRoZSBzYW1lIGFzIHRoZSBwcm9wZXJ0eS5cbiAgICBub3RpY2VCZWZvcmVTaG93blRpbWVvdXRJbk1pbGxpc2Vjb25kczogNTAwLFxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1tYWdpYy1udW1iZXJzIC0tIEV4dHJhY3RpbmcgbWFnaWMgbnVtYmVyIGFzIGEgY29uc3RhbnQgd291bGQgYmUgcmVwZXRpdGl2ZSwgYXMgdGhlIHZhbHVlIGlzIHVzZWQgb25seSBvbmNlIGFuZCBpdHMgbmFtZSB3b3VsZCBiZSB0aGUgc2FtZSBhcyB0aGUgcHJvcGVydHkuXG4gICAgbm90aWNlTWluVGltZW91dEluTWlsbGlzZWNvbmRzOiAyMDAwLFxuICAgIHByb2Nlc3NJdGVtOiBub29wLFxuICAgIHByb2dyZXNzQmFyVGl0bGU6ICcnLFxuICAgIHNob3VsZENvbnRpbnVlT25FcnJvcjogdHJ1ZSxcbiAgICBzaG91bGRTaG93Tm90aWNlOiB0cnVlLFxuICAgIHNob3VsZFNob3dQcm9ncmVzc0JhcjogdHJ1ZSxcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tbWFnaWMtbnVtYmVycyAtLSBFeHRyYWN0aW5nIG1hZ2ljIG51bWJlciBhcyBhIGNvbnN0YW50IHdvdWxkIGJlIHJlcGV0aXRpdmUsIGFzIHRoZSB2YWx1ZSBpcyB1c2VkIG9ubHkgb25jZSBhbmQgaXRzIG5hbWUgd291bGQgYmUgdGhlIHNhbWUgYXMgdGhlIHByb3BlcnR5LlxuICAgIHVpVXBkYXRlVGhyZXNob2xkSW5NaWxsaXNlY29uZHM6IDEwMFxuICB9O1xuXG4gIGNvbnN0IGZ1bGxPcHRpb25zOiBSZXF1aXJlZDxMb29wUGFyYW1zPFQ+PiA9IHtcbiAgICAuLi5ERUZBVUxUX09QVElPTlMsXG4gICAgLi4ucGFyYW1zXG4gIH07XG5cbiAgY29uc3Qgc3RhY2tUcmFjZSA9IGdldFN0YWNrVHJhY2UoMSk7XG5cbiAgY29uc3QgaXRlbXMgPSBmdWxsT3B0aW9ucy5pdGVtcztcbiAgbGV0IGl0ZXJhdGlvbkNvdW50ID0gMDtcbiAgbGV0IG5vdGljZSA9IG51bGwgYXMgTm90aWNlIHwgbnVsbDtcbiAgbGV0IGlzRG9uZSA9IGZhbHNlO1xuICBpbnZva2VBc3luY1NhZmVseSgoKSA9PiBzaG93Tm90aWNlKCkpO1xuXG4gIGNvbnN0IG5vdGljZU1pblRpbWVvdXRQcm9taXNlID0gc2xlZXAoZnVsbE9wdGlvbnMubm90aWNlTWluVGltZW91dEluTWlsbGlzZWNvbmRzKTtcbiAgY29uc3QgcHJvZ3Jlc3NCYXJFbCA9IGNyZWF0ZUVsKCdwcm9ncmVzcycpO1xuICBhZGRQbHVnaW5Dc3NDbGFzc2VzKHByb2dyZXNzQmFyRWwsICdsb29wJyk7XG4gIHByb2dyZXNzQmFyRWwubWF4ID0gaXRlbXMubGVuZ3RoO1xuXG4gIGxldCBsYXN0VUlVcGRhdGVUaW1lc3RhbXAgPSBwZXJmb3JtYW5jZS5ub3coKTtcblxuICBmb3IgKGNvbnN0IGl0ZW0gb2YgaXRlbXMpIHtcbiAgICBpZiAoZnVsbE9wdGlvbnMuYWJvcnRTaWduYWwuYWJvcnRlZCkge1xuICAgICAgbm90aWNlPy5oaWRlKCk7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGl0ZXJhdGlvbkNvdW50Kys7XG4gICAgY29uc3QgaXRlcmF0aW9uU3RyID0gYCMgJHtTdHJpbmcoaXRlcmF0aW9uQ291bnQpfSAvICR7U3RyaW5nKGl0ZW1zLmxlbmd0aCl9YDtcbiAgICBjb25zdCBtZXNzYWdlID0gZnVsbE9wdGlvbnMuYnVpbGROb3RpY2VNZXNzYWdlKGl0ZW0sIGl0ZXJhdGlvblN0cik7XG4gICAgaWYgKCFmdWxsT3B0aW9ucy5zaG91bGRTaG93UHJvZ3Jlc3NCYXIpIHtcbiAgICAgIG5vdGljZT8uc2V0TWVzc2FnZShtZXNzYWdlKTtcbiAgICB9XG4gICAgZ2V0TGliRGVidWdnZXIoJ0xvb3AnKShtZXNzYWdlKTtcblxuICAgIHRyeSB7XG4gICAgICBpZiAocGVyZm9ybWFuY2Uubm93KCkgLSBsYXN0VUlVcGRhdGVUaW1lc3RhbXAgPiBmdWxsT3B0aW9ucy51aVVwZGF0ZVRocmVzaG9sZEluTWlsbGlzZWNvbmRzKSB7XG4gICAgICAgIGF3YWl0IHJlcXVlc3RBbmltYXRpb25GcmFtZUFzeW5jKCk7XG4gICAgICAgIGxhc3RVSVVwZGF0ZVRpbWVzdGFtcCA9IHBlcmZvcm1hbmNlLm5vdygpO1xuICAgICAgfVxuICAgICAgYXdhaXQgZnVsbE9wdGlvbnMucHJvY2Vzc0l0ZW0oaXRlbSk7XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIGNvbnNvbGUuZXJyb3IoJ0Vycm9yIHByb2Nlc3NpbmcgaXRlbScsIGl0ZW0pO1xuICAgICAgaWYgKCFmdWxsT3B0aW9ucy5zaG91bGRDb250aW51ZU9uRXJyb3IpIHtcbiAgICAgICAgbm90aWNlPy5oaWRlKCk7XG4gICAgICAgIHRocm93IG5ldyBDdXN0b21TdGFja1RyYWNlRXJyb3IoJ2xvb3AgZmFpbGVkJywgc3RhY2tUcmFjZSwgZXJyb3IpO1xuICAgICAgfVxuXG4gICAgICBlbWl0QXN5bmNFcnJvckV2ZW50KG5ldyBDdXN0b21TdGFja1RyYWNlRXJyb3IoQVNZTkNfV1JBUFBFUl9FUlJPUl9NRVNTQUdFLCBzdGFja1RyYWNlLCBlcnJvcikpO1xuICAgIH1cbiAgICBwcm9ncmVzc0JhckVsLnZhbHVlKys7XG4gIH1cbiAgaWYgKG5vdGljZSkge1xuICAgIGF3YWl0IG5vdGljZU1pblRpbWVvdXRQcm9taXNlO1xuICB9XG4gIG5vdGljZT8uaGlkZSgpO1xuICBpc0RvbmUgPSB0cnVlO1xuXG4gIGFzeW5jIGZ1bmN0aW9uIHNob3dOb3RpY2UoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgaWYgKCFmdWxsT3B0aW9ucy5zaG91bGRTaG93Tm90aWNlKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGF3YWl0IHNsZWVwKGZ1bGxPcHRpb25zLm5vdGljZUJlZm9yZVNob3duVGltZW91dEluTWlsbGlzZWNvbmRzKTtcbiAgICBpZiAoaXNEb25lKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIG5vdGljZSA9IG5ldyBOb3RpY2UoJycsIDApO1xuICAgIGlmICghZnVsbE9wdGlvbnMuc2hvdWxkU2hvd1Byb2dyZXNzQmFyKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGNvbnN0IGZyYWdtZW50ID0gY3JlYXRlRnJhZ21lbnQoKTtcbiAgICBmcmFnbWVudC5jcmVhdGVEaXYoeyB0ZXh0OiBmdWxsT3B0aW9ucy5wcm9ncmVzc0JhclRpdGxlIH0pO1xuICAgIGZyYWdtZW50LmFwcGVuZENoaWxkKHByb2dyZXNzQmFyRWwpO1xuICAgIG5vdGljZS5zZXRNZXNzYWdlKGZyYWdtZW50KTtcbiAgfVxufVxuIl0sCiAgIm1hcHBpbmdzIjogIjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBUUEsc0JBQXVCO0FBRXZCLDhCQUFpQztBQUNqQyxtQkFHTztBQUNQLG1CQUErQjtBQUMvQixtQkFLTztBQUNQLHNCQUFxQjtBQUNyQiw0QkFBb0M7QUE0RXBDLGVBQXNCLEtBQVEsUUFBc0M7QUFDbEUsUUFBTSxrQkFBMkM7QUFBQSxJQUMvQyxpQkFBYSwwQ0FBaUI7QUFBQTtBQUFBLElBRTlCLHFCQUFxQjtBQUNuQixZQUFNLElBQUksTUFBTSxnQ0FBZ0M7QUFBQSxJQUNsRDtBQUFBO0FBQUEsSUFFQSxPQUFPLENBQUM7QUFBQTtBQUFBLElBRVIsd0NBQXdDO0FBQUE7QUFBQSxJQUV4QyxnQ0FBZ0M7QUFBQSxJQUNoQyxhQUFhO0FBQUEsSUFDYixrQkFBa0I7QUFBQSxJQUNsQix1QkFBdUI7QUFBQSxJQUN2QixrQkFBa0I7QUFBQSxJQUNsQix1QkFBdUI7QUFBQTtBQUFBLElBRXZCLGlDQUFpQztBQUFBLEVBQ25DO0FBRUEsUUFBTSxjQUF1QztBQUFBLElBQzNDLEdBQUc7QUFBQSxJQUNILEdBQUc7QUFBQSxFQUNMO0FBRUEsUUFBTSxpQkFBYSw0QkFBYyxDQUFDO0FBRWxDLFFBQU0sUUFBUSxZQUFZO0FBQzFCLE1BQUksaUJBQWlCO0FBQ3JCLE1BQUksU0FBUztBQUNiLE1BQUksU0FBUztBQUNiLHNDQUFrQixNQUFNLFdBQVcsQ0FBQztBQUVwQyxRQUFNLDBCQUEwQixNQUFNLFlBQVksOEJBQThCO0FBQ2hGLFFBQU0sZ0JBQWdCLFNBQVMsVUFBVTtBQUN6QyxpREFBb0IsZUFBZSxNQUFNO0FBQ3pDLGdCQUFjLE1BQU0sTUFBTTtBQUUxQixNQUFJLHdCQUF3QixZQUFZLElBQUk7QUFFNUMsYUFBVyxRQUFRLE9BQU87QUFDeEIsUUFBSSxZQUFZLFlBQVksU0FBUztBQUNuQyxjQUFRLEtBQUs7QUFDYjtBQUFBLElBQ0Y7QUFDQTtBQUNBLFVBQU0sZUFBZSxLQUFLLE9BQU8sY0FBYyxDQUFDLE1BQU0sT0FBTyxNQUFNLE1BQU0sQ0FBQztBQUMxRSxVQUFNLFVBQVUsWUFBWSxtQkFBbUIsTUFBTSxZQUFZO0FBQ2pFLFFBQUksQ0FBQyxZQUFZLHVCQUF1QjtBQUN0QyxjQUFRLFdBQVcsT0FBTztBQUFBLElBQzVCO0FBQ0EscUNBQWUsTUFBTSxFQUFFLE9BQU87QUFFOUIsUUFBSTtBQUNGLFVBQUksWUFBWSxJQUFJLElBQUksd0JBQXdCLFlBQVksaUNBQWlDO0FBQzNGLGtCQUFNLHlDQUEyQjtBQUNqQyxnQ0FBd0IsWUFBWSxJQUFJO0FBQUEsTUFDMUM7QUFDQSxZQUFNLFlBQVksWUFBWSxJQUFJO0FBQUEsSUFDcEMsU0FBUyxPQUFPO0FBQ2QsY0FBUSxNQUFNLHlCQUF5QixJQUFJO0FBQzNDLFVBQUksQ0FBQyxZQUFZLHVCQUF1QjtBQUN0QyxnQkFBUSxLQUFLO0FBQ2IsY0FBTSxJQUFJLG1DQUFzQixlQUFlLFlBQVksS0FBSztBQUFBLE1BQ2xFO0FBRUEsNENBQW9CLElBQUksbUNBQXNCLDBDQUE2QixZQUFZLEtBQUssQ0FBQztBQUFBLElBQy9GO0FBQ0Esa0JBQWM7QUFBQSxFQUNoQjtBQUNBLE1BQUksUUFBUTtBQUNWLFVBQU07QUFBQSxFQUNSO0FBQ0EsVUFBUSxLQUFLO0FBQ2IsV0FBUztBQUVULGlCQUFlLGFBQTRCO0FBQ3pDLFFBQUksQ0FBQyxZQUFZLGtCQUFrQjtBQUNqQztBQUFBLElBQ0Y7QUFDQSxVQUFNLE1BQU0sWUFBWSxzQ0FBc0M7QUFDOUQsUUFBSSxRQUFRO0FBQ1Y7QUFBQSxJQUNGO0FBQ0EsYUFBUyxJQUFJLHVCQUFPLElBQUksQ0FBQztBQUN6QixRQUFJLENBQUMsWUFBWSx1QkFBdUI7QUFDdEM7QUFBQSxJQUNGO0FBQ0EsVUFBTSxXQUFXLGVBQWU7QUFDaEMsYUFBUyxVQUFVLEVBQUUsTUFBTSxZQUFZLGlCQUFpQixDQUFDO0FBQ3pELGFBQVMsWUFBWSxhQUFhO0FBQ2xDLFdBQU8sV0FBVyxRQUFRO0FBQUEsRUFDNUI7QUFDRjsiLAogICJuYW1lcyI6IFtdCn0K
|
|
239
|
+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vc3JjL29ic2lkaWFuL2xvb3AudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbIi8qKlxuICogQGZpbGVcbiAqXG4gKiBDb250YWlucyB1dGlsaXR5IGZ1bmN0aW9ucyBmb3IgbG9vcGluZyBpbiBPYnNpZGlhbi5cbiAqL1xuXG5pbXBvcnQgdHlwZSB7IFByb21pc2FibGUgfSBmcm9tICd0eXBlLWZlc3QnO1xuXG5pbXBvcnQgeyBOb3RpY2UgfSBmcm9tICdvYnNpZGlhbic7XG5cbmltcG9ydCB0eXBlIHsgUGx1Z2luTm90aWNlQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3BsdWdpbi1ub3RpY2UtY29tcG9uZW50LnRzJztcblxuaW1wb3J0IHsgYWJvcnRTaWduYWxOZXZlciB9IGZyb20gJy4uL2Fib3J0LWNvbnRyb2xsZXIudHMnO1xuaW1wb3J0IHtcbiAgaW52b2tlQXN5bmNTYWZlbHksXG4gIHJlcXVlc3RBbmltYXRpb25GcmFtZUFzeW5jXG59IGZyb20gJy4uL2FzeW5jLnRzJztcbmltcG9ydCB7IGdldExpYkRlYnVnZ2VyIH0gZnJvbSAnLi4vZGVidWcudHMnO1xuaW1wb3J0IHtcbiAgQVNZTkNfV1JBUFBFUl9FUlJPUl9NRVNTQUdFLFxuICBDdXN0b21TdGFja1RyYWNlRXJyb3IsXG4gIGVtaXRBc3luY0Vycm9yRXZlbnQsXG4gIGdldFN0YWNrVHJhY2Vcbn0gZnJvbSAnLi4vZXJyb3IudHMnO1xuaW1wb3J0IHsgbm9vcCB9IGZyb20gJy4uL2Z1bmN0aW9uLnRzJztcbmltcG9ydCB7IGFkZFBsdWdpbkNzc0NsYXNzZXMgfSBmcm9tICcuL3BsdWdpbi9wbHVnaW4tY29udGV4dC50cyc7XG5cbi8qKlxuICogT3B0aW9ucyBmb3Ige0BsaW5rIGxvb3B9LlxuICpcbiAqIEB0eXBlUGFyYW0gVCAtIFRoZSB0eXBlIG9mIHRoZSBpdGVtcyB0byBsb29wIG92ZXIuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgTG9vcFBhcmFtczxUPiB7XG4gIC8qKlxuICAgKiBBbiBvcHRpb25hbCBhYm9ydCBzaWduYWwgdG8gY2FuY2VsIHRoZSBsb29wLlxuICAgKi9cbiAgcmVhZG9ubHkgYWJvcnRTaWduYWw/OiBBYm9ydFNpZ25hbDtcblxuICAvKipcbiAgICogQnVpbGQgYSBub3RpY2UgbWVzc2FnZSBmb3IgZWFjaCBpdGVtLlxuICAgKlxuICAgKiBAcGFyYW0gaXRlbSAtIFRoZSBjdXJyZW50IGl0ZW0uXG4gICAqIEBwYXJhbSBpdGVyYXRpb25TdHIgLSBBIHN0cmluZyByZXByZXNlbnRpbmcgdGhlIGN1cnJlbnQgaXRlcmF0aW9uLlxuICAgKiBAcmV0dXJucyBBIHN0cmluZyB0byBkaXNwbGF5IGluIHRoZSBub3RpY2UuXG4gICAqL1xuICBidWlsZE5vdGljZU1lc3NhZ2UoaXRlbTogVCwgaXRlcmF0aW9uU3RyOiBzdHJpbmcpOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEl0ZW1zIHRvIGxvb3Agb3Zlci5cbiAgICovXG4gIHJlYWRvbmx5IGl0ZW1zOiBUW107XG5cbiAgLyoqXG4gICAqIEEgdGltZW91dCBmb3IgdGhlIG5vdGljZSBiZWZvcmUgaXQgaXMgc2hvd24uXG4gICAqXG4gICAqIEBkZWZhdWx0IGA1MDBgXG4gICAqL1xuICByZWFkb25seSBub3RpY2VCZWZvcmVTaG93blRpbWVvdXRJbk1pbGxpc2Vjb25kcz86IG51bWJlcjtcblxuICAvKipcbiAgICogQSBtaW5pbXVtIHRpbWVvdXQgZm9yIHRoZSBub3RpY2UuXG4gICAqXG4gICAqIEBkZWZhdWx0IGAyMDAwYFxuICAgKi9cbiAgcmVhZG9ubHkgbm90aWNlTWluVGltZW91dEluTWlsbGlzZWNvbmRzPzogbnVtYmVyO1xuXG4gIC8qKlxuICAgKiBBIGNvbXBvbmVudCB0byBzaG93IG5vdGljZXMuXG4gICAqL1xuICByZWFkb25seSBwbHVnaW5Ob3RpY2VDb21wb25lbnQ6IFBsdWdpbk5vdGljZUNvbXBvbmVudDtcblxuICAvKipcbiAgICogUHJvY2VzcyBlYWNoIGl0ZW0uXG4gICAqXG4gICAqIEBwYXJhbSBpdGVtIC0gVGhlIGN1cnJlbnQgaXRlbS5cbiAgICovXG4gIHByb2Nlc3NJdGVtKGl0ZW06IFQpOiBQcm9taXNhYmxlPHZvaWQ+O1xuXG4gIC8qKlxuICAgKiBBIHRpdGxlIG9mIHRoZSBwcm9ncmVzcyBiYXIuXG4gICAqXG4gICAqIEBkZWZhdWx0IGAnJ2BcbiAgICovXG4gIHJlYWRvbmx5IHByb2dyZXNzQmFyVGl0bGU/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgdG8gY29udGludWUgdGhlIGxvb3Agb24gZXJyb3IuXG4gICAqXG4gICAqIEBkZWZhdWx0IGB0cnVlYFxuICAgKi9cbiAgcmVhZG9ubHkgc2hvdWxkQ29udGludWVPbkVycm9yPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogV2hldGhlciB0byBzaG93IGEgbm90aWNlLlxuICAgKlxuICAgKiBAZGVmYXVsdCBgdHJ1ZWBcbiAgICovXG4gIHJlYWRvbmx5IHNob3VsZFNob3dOb3RpY2U/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRvIHNob3cgYSBwcm9ncmVzcyBiYXIuXG4gICAqXG4gICAqIEBkZWZhdWx0IGB0cnVlYFxuICAgKi9cbiAgcmVhZG9ubHkgc2hvdWxkU2hvd1Byb2dyZXNzQmFyPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogQSB0aHJlc2hvbGQgZm9yIHRoZSBVSSB1cGRhdGUuXG4gICAqXG4gICAqIEBkZWZhdWx0IGAxMDBgXG4gICAqL1xuICByZWFkb25seSB1aVVwZGF0ZVRocmVzaG9sZEluTWlsbGlzZWNvbmRzPzogbnVtYmVyO1xufVxuXG4vKipcbiAqIExvb3BzIG92ZXIgYSBsaXN0IG9mIGl0ZW1zIGFuZCBwcm9jZXNzZXMgZWFjaCBpdGVtLlxuICpcbiAqIEB0eXBlUGFyYW0gVCAtIFRoZSB0eXBlIG9mIHRoZSBpdGVtcyB0byBsb29wIG92ZXIuXG4gKiBAcGFyYW0gcGFyYW1zIC0gVGhlIHBhcmFtZXRlcnMgZm9yIHRoZSBsb29wLlxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gbG9vcDxUPihwYXJhbXM6IExvb3BQYXJhbXM8VD4pOiBQcm9taXNlPHZvaWQ+IHtcbiAgY29uc3QgREVGQVVMVF9PUFRJT05TID0ge1xuICAgIGFib3J0U2lnbmFsOiBhYm9ydFNpZ25hbE5ldmVyKCksXG4gICAgLyogdjggaWdub3JlIHN0YXJ0IC0tIGJ1aWxkTm90aWNlTWVzc2FnZSBpcyByZXF1aXJlZCBpbiBMb29wUGFyYW1zIGFuZCBhbHdheXMgb3ZlcnJpZGRlbiBieSB0aGUgc3ByZWFkLiAqL1xuICAgIGJ1aWxkTm90aWNlTWVzc2FnZSgpOiBzdHJpbmcge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdidWlsZE5vdGljZU1lc3NhZ2UgaXMgcmVxdWlyZWQnKTtcbiAgICB9LFxuICAgIC8qIHY4IGlnbm9yZSBzdG9wICovXG4gICAgaXRlbXM6IFtdLFxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1tYWdpYy1udW1iZXJzIC0tIEV4dHJhY3RpbmcgbWFnaWMgbnVtYmVyIGFzIGEgY29uc3RhbnQgd291bGQgYmUgcmVwZXRpdGl2ZSwgYXMgdGhlIHZhbHVlIGlzIHVzZWQgb25seSBvbmNlIGFuZCBpdHMgbmFtZSB3b3VsZCBiZSB0aGUgc2FtZSBhcyB0aGUgcHJvcGVydHkuXG4gICAgbm90aWNlQmVmb3JlU2hvd25UaW1lb3V0SW5NaWxsaXNlY29uZHM6IDUwMCxcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tbWFnaWMtbnVtYmVycyAtLSBFeHRyYWN0aW5nIG1hZ2ljIG51bWJlciBhcyBhIGNvbnN0YW50IHdvdWxkIGJlIHJlcGV0aXRpdmUsIGFzIHRoZSB2YWx1ZSBpcyB1c2VkIG9ubHkgb25jZSBhbmQgaXRzIG5hbWUgd291bGQgYmUgdGhlIHNhbWUgYXMgdGhlIHByb3BlcnR5LlxuICAgIG5vdGljZU1pblRpbWVvdXRJbk1pbGxpc2Vjb25kczogMjAwMCxcbiAgICBwcm9jZXNzSXRlbTogbm9vcCxcbiAgICBwcm9ncmVzc0JhclRpdGxlOiAnJyxcbiAgICBzaG91bGRDb250aW51ZU9uRXJyb3I6IHRydWUsXG4gICAgc2hvdWxkU2hvd05vdGljZTogdHJ1ZSxcbiAgICBzaG91bGRTaG93UHJvZ3Jlc3NCYXI6IHRydWUsXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLW1hZ2ljLW51bWJlcnMgLS0gRXh0cmFjdGluZyBtYWdpYyBudW1iZXIgYXMgYSBjb25zdGFudCB3b3VsZCBiZSByZXBldGl0aXZlLCBhcyB0aGUgdmFsdWUgaXMgdXNlZCBvbmx5IG9uY2UgYW5kIGl0cyBuYW1lIHdvdWxkIGJlIHRoZSBzYW1lIGFzIHRoZSBwcm9wZXJ0eS5cbiAgICB1aVVwZGF0ZVRocmVzaG9sZEluTWlsbGlzZWNvbmRzOiAxMDBcbiAgfTtcblxuICBjb25zdCBmdWxsT3B0aW9uczogUmVxdWlyZWQ8TG9vcFBhcmFtczxUPj4gPSB7XG4gICAgLi4uREVGQVVMVF9PUFRJT05TLFxuICAgIC4uLnBhcmFtc1xuICB9O1xuXG4gIGNvbnN0IHN0YWNrVHJhY2UgPSBnZXRTdGFja1RyYWNlKDEpO1xuXG4gIGNvbnN0IGl0ZW1zID0gZnVsbE9wdGlvbnMuaXRlbXM7XG4gIGxldCBpdGVyYXRpb25Db3VudCA9IDA7XG4gIGxldCBub3RpY2UgPSBudWxsIGFzIE5vdGljZSB8IG51bGw7XG4gIGxldCBpc0RvbmUgPSBmYWxzZTtcbiAgaW52b2tlQXN5bmNTYWZlbHkoKCkgPT4gc2hvd05vdGljZSgpKTtcblxuICBjb25zdCBub3RpY2VNaW5UaW1lb3V0UHJvbWlzZSA9IHNsZWVwKGZ1bGxPcHRpb25zLm5vdGljZU1pblRpbWVvdXRJbk1pbGxpc2Vjb25kcyk7XG4gIGNvbnN0IHByb2dyZXNzQmFyRWwgPSBjcmVhdGVFbCgncHJvZ3Jlc3MnKTtcbiAgYWRkUGx1Z2luQ3NzQ2xhc3Nlcyhwcm9ncmVzc0JhckVsLCAnbG9vcCcpO1xuICBwcm9ncmVzc0JhckVsLm1heCA9IGl0ZW1zLmxlbmd0aDtcblxuICBsZXQgbGFzdFVJVXBkYXRlVGltZXN0YW1wID0gcGVyZm9ybWFuY2Uubm93KCk7XG5cbiAgZm9yIChjb25zdCBpdGVtIG9mIGl0ZW1zKSB7XG4gICAgaWYgKGZ1bGxPcHRpb25zLmFib3J0U2lnbmFsLmFib3J0ZWQpIHtcbiAgICAgIG5vdGljZT8uaGlkZSgpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBpdGVyYXRpb25Db3VudCsrO1xuICAgIGNvbnN0IGl0ZXJhdGlvblN0ciA9IGAjICR7U3RyaW5nKGl0ZXJhdGlvbkNvdW50KX0gLyAke1N0cmluZyhpdGVtcy5sZW5ndGgpfWA7XG4gICAgY29uc3QgbWVzc2FnZSA9IGZ1bGxPcHRpb25zLmJ1aWxkTm90aWNlTWVzc2FnZShpdGVtLCBpdGVyYXRpb25TdHIpO1xuICAgIGlmICghZnVsbE9wdGlvbnMuc2hvdWxkU2hvd1Byb2dyZXNzQmFyKSB7XG4gICAgICBub3RpY2U/LnNldE1lc3NhZ2UobWVzc2FnZSk7XG4gICAgfVxuICAgIGdldExpYkRlYnVnZ2VyKCdMb29wJykobWVzc2FnZSk7XG5cbiAgICB0cnkge1xuICAgICAgaWYgKHBlcmZvcm1hbmNlLm5vdygpIC0gbGFzdFVJVXBkYXRlVGltZXN0YW1wID4gZnVsbE9wdGlvbnMudWlVcGRhdGVUaHJlc2hvbGRJbk1pbGxpc2Vjb25kcykge1xuICAgICAgICBhd2FpdCByZXF1ZXN0QW5pbWF0aW9uRnJhbWVBc3luYygpO1xuICAgICAgICBsYXN0VUlVcGRhdGVUaW1lc3RhbXAgPSBwZXJmb3JtYW5jZS5ub3coKTtcbiAgICAgIH1cbiAgICAgIGF3YWl0IGZ1bGxPcHRpb25zLnByb2Nlc3NJdGVtKGl0ZW0pO1xuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICBjb25zb2xlLmVycm9yKCdFcnJvciBwcm9jZXNzaW5nIGl0ZW0nLCBpdGVtKTtcbiAgICAgIGlmICghZnVsbE9wdGlvbnMuc2hvdWxkQ29udGludWVPbkVycm9yKSB7XG4gICAgICAgIG5vdGljZT8uaGlkZSgpO1xuICAgICAgICB0aHJvdyBuZXcgQ3VzdG9tU3RhY2tUcmFjZUVycm9yKHtcbiAgICAgICAgICBjYXVzZTogZXJyb3IsXG4gICAgICAgICAgbWVzc2FnZTogJ2xvb3AgZmFpbGVkJyxcbiAgICAgICAgICBzdGFja1RyYWNlXG4gICAgICAgIH0pO1xuICAgICAgfVxuXG4gICAgICBlbWl0QXN5bmNFcnJvckV2ZW50KFxuICAgICAgICBuZXcgQ3VzdG9tU3RhY2tUcmFjZUVycm9yKHtcbiAgICAgICAgICBjYXVzZTogZXJyb3IsXG4gICAgICAgICAgbWVzc2FnZTogQVNZTkNfV1JBUFBFUl9FUlJPUl9NRVNTQUdFLFxuICAgICAgICAgIHN0YWNrVHJhY2VcbiAgICAgICAgfSlcbiAgICAgICk7XG4gICAgfVxuICAgIHByb2dyZXNzQmFyRWwudmFsdWUrKztcbiAgfVxuICBpZiAobm90aWNlKSB7XG4gICAgYXdhaXQgbm90aWNlTWluVGltZW91dFByb21pc2U7XG4gIH1cbiAgbm90aWNlPy5oaWRlKCk7XG4gIGlzRG9uZSA9IHRydWU7XG5cbiAgYXN5bmMgZnVuY3Rpb24gc2hvd05vdGljZSgpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBpZiAoIWZ1bGxPcHRpb25zLnNob3VsZFNob3dOb3RpY2UpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgYXdhaXQgc2xlZXAoZnVsbE9wdGlvbnMubm90aWNlQmVmb3JlU2hvd25UaW1lb3V0SW5NaWxsaXNlY29uZHMpO1xuICAgIGlmIChpc0RvbmUpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgbm90aWNlID0gcGFyYW1zLnBsdWdpbk5vdGljZUNvbXBvbmVudC5zaG93Tm90aWNlKCcnLCB7fSk7XG4gICAgaWYgKCFmdWxsT3B0aW9ucy5zaG91bGRTaG93UHJvZ3Jlc3NCYXIpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgY29uc3QgZnJhZ21lbnQgPSBjcmVhdGVGcmFnbWVudCgpO1xuICAgIGZyYWdtZW50LmNyZWF0ZURpdih7IHRleHQ6IGZ1bGxPcHRpb25zLnByb2dyZXNzQmFyVGl0bGUgfSk7XG4gICAgZnJhZ21lbnQuYXBwZW5kQ2hpbGQocHJvZ3Jlc3NCYXJFbCk7XG4gICAgbm90aWNlLnNldE1lc3NhZ2UoZnJhZ21lbnQpO1xuICB9XG59XG4iXSwKICAibWFwcGluZ3MiOiAiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFRQSxzQkFBdUI7QUFJdkIsOEJBQWlDO0FBQ2pDLG1CQUdPO0FBQ1AsbUJBQStCO0FBQy9CLG1CQUtPO0FBQ1Asc0JBQXFCO0FBQ3JCLDRCQUFvQztBQStGcEMsZUFBc0IsS0FBUSxRQUFzQztBQUNsRSxRQUFNLGtCQUFrQjtBQUFBLElBQ3RCLGlCQUFhLDBDQUFpQjtBQUFBO0FBQUEsSUFFOUIscUJBQTZCO0FBQzNCLFlBQU0sSUFBSSxNQUFNLGdDQUFnQztBQUFBLElBQ2xEO0FBQUE7QUFBQSxJQUVBLE9BQU8sQ0FBQztBQUFBO0FBQUEsSUFFUix3Q0FBd0M7QUFBQTtBQUFBLElBRXhDLGdDQUFnQztBQUFBLElBQ2hDLGFBQWE7QUFBQSxJQUNiLGtCQUFrQjtBQUFBLElBQ2xCLHVCQUF1QjtBQUFBLElBQ3ZCLGtCQUFrQjtBQUFBLElBQ2xCLHVCQUF1QjtBQUFBO0FBQUEsSUFFdkIsaUNBQWlDO0FBQUEsRUFDbkM7QUFFQSxRQUFNLGNBQXVDO0FBQUEsSUFDM0MsR0FBRztBQUFBLElBQ0gsR0FBRztBQUFBLEVBQ0w7QUFFQSxRQUFNLGlCQUFhLDRCQUFjLENBQUM7QUFFbEMsUUFBTSxRQUFRLFlBQVk7QUFDMUIsTUFBSSxpQkFBaUI7QUFDckIsTUFBSSxTQUFTO0FBQ2IsTUFBSSxTQUFTO0FBQ2Isc0NBQWtCLE1BQU0sV0FBVyxDQUFDO0FBRXBDLFFBQU0sMEJBQTBCLE1BQU0sWUFBWSw4QkFBOEI7QUFDaEYsUUFBTSxnQkFBZ0IsU0FBUyxVQUFVO0FBQ3pDLGlEQUFvQixlQUFlLE1BQU07QUFDekMsZ0JBQWMsTUFBTSxNQUFNO0FBRTFCLE1BQUksd0JBQXdCLFlBQVksSUFBSTtBQUU1QyxhQUFXLFFBQVEsT0FBTztBQUN4QixRQUFJLFlBQVksWUFBWSxTQUFTO0FBQ25DLGNBQVEsS0FBSztBQUNiO0FBQUEsSUFDRjtBQUNBO0FBQ0EsVUFBTSxlQUFlLEtBQUssT0FBTyxjQUFjLENBQUMsTUFBTSxPQUFPLE1BQU0sTUFBTSxDQUFDO0FBQzFFLFVBQU0sVUFBVSxZQUFZLG1CQUFtQixNQUFNLFlBQVk7QUFDakUsUUFBSSxDQUFDLFlBQVksdUJBQXVCO0FBQ3RDLGNBQVEsV0FBVyxPQUFPO0FBQUEsSUFDNUI7QUFDQSxxQ0FBZSxNQUFNLEVBQUUsT0FBTztBQUU5QixRQUFJO0FBQ0YsVUFBSSxZQUFZLElBQUksSUFBSSx3QkFBd0IsWUFBWSxpQ0FBaUM7QUFDM0Ysa0JBQU0seUNBQTJCO0FBQ2pDLGdDQUF3QixZQUFZLElBQUk7QUFBQSxNQUMxQztBQUNBLFlBQU0sWUFBWSxZQUFZLElBQUk7QUFBQSxJQUNwQyxTQUFTLE9BQU87QUFDZCxjQUFRLE1BQU0seUJBQXlCLElBQUk7QUFDM0MsVUFBSSxDQUFDLFlBQVksdUJBQXVCO0FBQ3RDLGdCQUFRLEtBQUs7QUFDYixjQUFNLElBQUksbUNBQXNCO0FBQUEsVUFDOUIsT0FBTztBQUFBLFVBQ1AsU0FBUztBQUFBLFVBQ1Q7QUFBQSxRQUNGLENBQUM7QUFBQSxNQUNIO0FBRUE7QUFBQSxRQUNFLElBQUksbUNBQXNCO0FBQUEsVUFDeEIsT0FBTztBQUFBLFVBQ1AsU0FBUztBQUFBLFVBQ1Q7QUFBQSxRQUNGLENBQUM7QUFBQSxNQUNIO0FBQUEsSUFDRjtBQUNBLGtCQUFjO0FBQUEsRUFDaEI7QUFDQSxNQUFJLFFBQVE7QUFDVixVQUFNO0FBQUEsRUFDUjtBQUNBLFVBQVEsS0FBSztBQUNiLFdBQVM7QUFFVCxpQkFBZSxhQUE0QjtBQUN6QyxRQUFJLENBQUMsWUFBWSxrQkFBa0I7QUFDakM7QUFBQSxJQUNGO0FBQ0EsVUFBTSxNQUFNLFlBQVksc0NBQXNDO0FBQzlELFFBQUksUUFBUTtBQUNWO0FBQUEsSUFDRjtBQUNBLGFBQVMsT0FBTyxzQkFBc0IsV0FBVyxJQUFJLENBQUMsQ0FBQztBQUN2RCxRQUFJLENBQUMsWUFBWSx1QkFBdUI7QUFDdEM7QUFBQSxJQUNGO0FBQ0EsVUFBTSxXQUFXLGVBQWU7QUFDaEMsYUFBUyxVQUFVLEVBQUUsTUFBTSxZQUFZLGlCQUFpQixDQUFDO0FBQ3pELGFBQVMsWUFBWSxhQUFhO0FBQ2xDLFdBQU8sV0FBVyxRQUFRO0FBQUEsRUFDNUI7QUFDRjsiLAogICJuYW1lcyI6IFtdCn0K
|
|
@@ -4,7 +4,8 @@
|
|
|
4
4
|
*
|
|
5
5
|
* Contains utility functions for looping in Obsidian.
|
|
6
6
|
*/
|
|
7
|
-
import type { Promisable } from 'type-fest';
|
|
7
|
+
import type { Promisable } from 'type-fest' with { 'resolution-mode': 'import' };
|
|
8
|
+
import type { PluginNoticeComponent } from './components/plugin-notice-component.cjs';
|
|
8
9
|
/**
|
|
9
10
|
* Options for {@link loop}.
|
|
10
11
|
*
|
|
@@ -28,13 +29,21 @@ export interface LoopParams<T> {
|
|
|
28
29
|
*/
|
|
29
30
|
readonly items: T[];
|
|
30
31
|
/**
|
|
31
|
-
* A timeout for the notice before it is shown.
|
|
32
|
+
* A timeout for the notice before it is shown.
|
|
33
|
+
*
|
|
34
|
+
* @default `500`
|
|
32
35
|
*/
|
|
33
36
|
readonly noticeBeforeShownTimeoutInMilliseconds?: number;
|
|
34
37
|
/**
|
|
35
|
-
* A minimum timeout for the notice.
|
|
38
|
+
* A minimum timeout for the notice.
|
|
39
|
+
*
|
|
40
|
+
* @default `2000`
|
|
36
41
|
*/
|
|
37
42
|
readonly noticeMinTimeoutInMilliseconds?: number;
|
|
43
|
+
/**
|
|
44
|
+
* A component to show notices.
|
|
45
|
+
*/
|
|
46
|
+
readonly pluginNoticeComponent: PluginNoticeComponent;
|
|
38
47
|
/**
|
|
39
48
|
* Process each item.
|
|
40
49
|
*
|
|
@@ -42,23 +51,33 @@ export interface LoopParams<T> {
|
|
|
42
51
|
*/
|
|
43
52
|
processItem(item: T): Promisable<void>;
|
|
44
53
|
/**
|
|
45
|
-
* A title of the progress bar.
|
|
54
|
+
* A title of the progress bar.
|
|
55
|
+
*
|
|
56
|
+
* @default `''`
|
|
46
57
|
*/
|
|
47
58
|
readonly progressBarTitle?: string;
|
|
48
59
|
/**
|
|
49
|
-
* Whether to continue the loop on error.
|
|
60
|
+
* Whether to continue the loop on error.
|
|
61
|
+
*
|
|
62
|
+
* @default `true`
|
|
50
63
|
*/
|
|
51
64
|
readonly shouldContinueOnError?: boolean;
|
|
52
65
|
/**
|
|
53
|
-
* Whether to show a notice.
|
|
66
|
+
* Whether to show a notice.
|
|
67
|
+
*
|
|
68
|
+
* @default `true`
|
|
54
69
|
*/
|
|
55
70
|
readonly shouldShowNotice?: boolean;
|
|
56
71
|
/**
|
|
57
|
-
* Whether to show a progress bar.
|
|
72
|
+
* Whether to show a progress bar.
|
|
73
|
+
*
|
|
74
|
+
* @default `true`
|
|
58
75
|
*/
|
|
59
76
|
readonly shouldShowProgressBar?: boolean;
|
|
60
77
|
/**
|
|
61
|
-
* A threshold for the UI update.
|
|
78
|
+
* A threshold for the UI update.
|
|
79
|
+
*
|
|
80
|
+
* @default `100`
|
|
62
81
|
*/
|
|
63
82
|
readonly uiUpdateThresholdInMilliseconds?: number;
|
|
64
83
|
}
|
|
@@ -4,8 +4,8 @@
|
|
|
4
4
|
*
|
|
5
5
|
* Registers a markdown code block processor.
|
|
6
6
|
*/
|
|
7
|
-
import type { MarkdownPostProcessor, MarkdownPostProcessorContext, Plugin } from 'obsidian';
|
|
8
|
-
import type { Promisable } from 'type-fest';
|
|
7
|
+
import type { MarkdownPostProcessor, MarkdownPostProcessorContext, Plugin } from 'obsidian' with { 'resolution-mode': 'import' };
|
|
8
|
+
import type { Promisable } from 'type-fest' with { 'resolution-mode': 'import' };
|
|
9
9
|
/**
|
|
10
10
|
* A registrar for markdown code block processors.
|
|
11
11
|
*/
|