obsidian-dev-utils 49.0.3 → 51.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +22 -0
- package/README.md +14 -3
- package/Transformers/Transformer/package.json +3 -3
- package/Transformers/date-transformer/package.json +6 -0
- package/Transformers/duration-transformer/package.json +6 -0
- package/Transformers/group-transformer/package.json +6 -0
- package/Transformers/index/package.json +3 -3
- package/Transformers/map-transformer/package.json +6 -0
- package/Transformers/package.json +3 -3
- package/Transformers/set-transformer/package.json +6 -0
- package/Transformers/skip-private-property-transformer/package.json +6 -0
- package/Transformers/two-way-map-transformer/package.json +6 -0
- package/Transformers/typed-transformer/package.json +6 -0
- package/codemirror/state-field-spec/package.json +6 -0
- package/dist/.markdownlint-cli2.mts +2 -2
- package/dist/eslint.config.mts +1 -1
- package/dist/lib/cjs/abort-controller.cjs +212 -0
- package/dist/lib/cjs/array.cjs +169 -0
- package/dist/lib/cjs/async-events.cjs +319 -0
- package/dist/lib/cjs/async.cjs +469 -0
- package/dist/lib/cjs/async.d.cts +326 -0
- package/dist/lib/cjs/blob.cjs +204 -0
- package/dist/lib/cjs/blob.d.cts +41 -0
- package/dist/lib/cjs/codemirror/index.cjs +4 -4
- package/dist/lib/cjs/codemirror/index.d.cts +1 -1
- package/dist/lib/cjs/codemirror/state-field-spec.cjs +120 -0
- package/dist/lib/cjs/css-class.cjs +169 -0
- package/dist/lib/cjs/debug-controller.cjs +120 -0
- package/dist/lib/cjs/debug.cjs +270 -0
- package/dist/lib/cjs/debug.d.cts +47 -0
- package/dist/lib/cjs/enum.cjs +140 -0
- package/dist/lib/cjs/error.cjs +245 -0
- package/dist/lib/cjs/function.cjs +151 -0
- package/dist/lib/cjs/html-element.cjs +288 -0
- package/dist/lib/cjs/html-element.d.cts +122 -0
- package/dist/lib/cjs/index.cjs +69 -69
- package/dist/lib/cjs/index.d.cts +22 -22
- package/dist/lib/cjs/library.cjs +138 -0
- package/dist/lib/cjs/object-utils.cjs +554 -0
- package/dist/lib/cjs/object-utils.d.cts +255 -0
- package/dist/lib/cjs/obsidian/@types/i18next.d.cts +2 -2
- package/dist/lib/cjs/obsidian/app.cjs +170 -0
- package/dist/lib/cjs/obsidian/async-with-notice.cjs +200 -0
- package/dist/lib/cjs/obsidian/async-with-notice.d.cts +82 -0
- package/dist/lib/cjs/obsidian/attachment-path.cjs +234 -0
- package/dist/lib/cjs/obsidian/attachment-path.d.cts +181 -0
- package/dist/lib/cjs/obsidian/backlink.cjs +206 -0
- package/dist/lib/cjs/obsidian/backlink.d.cts +61 -0
- package/dist/lib/cjs/obsidian/callout.cjs +203 -0
- package/dist/lib/cjs/obsidian/callout.d.cts +61 -0
- package/dist/lib/cjs/obsidian/code-block-markdown-information.cjs +120 -0
- package/dist/lib/cjs/obsidian/commands/abstract-file-command-base.cjs +436 -0
- package/dist/lib/cjs/obsidian/commands/abstract-file-command-base.d.cts +264 -0
- package/dist/lib/cjs/obsidian/commands/command-base.cjs +252 -0
- package/dist/lib/cjs/obsidian/commands/editor-command-base.cjs +278 -0
- package/dist/lib/cjs/obsidian/commands/editor-command-base.d.cts +139 -0
- package/dist/lib/cjs/obsidian/commands/file-command-base.cjs +338 -0
- package/dist/lib/cjs/obsidian/commands/file-command-base.d.cts +191 -0
- package/dist/lib/cjs/obsidian/commands/folder-command-base.cjs +330 -0
- package/dist/lib/cjs/obsidian/commands/folder-command-base.d.cts +184 -0
- package/dist/lib/cjs/obsidian/commands/index.cjs +157 -0
- package/dist/lib/cjs/obsidian/commands/index.d.cts +6 -0
- package/dist/lib/cjs/obsidian/commands/non-editor-command-base.cjs +152 -0
- package/dist/lib/cjs/obsidian/commands/non-editor-command-base.d.cts +34 -0
- package/dist/lib/cjs/obsidian/components/async-events-component.cjs +149 -0
- package/dist/lib/cjs/obsidian/components/async-events-component.d.cts +25 -0
- package/dist/lib/cjs/obsidian/components/index.cjs +145 -0
- package/dist/lib/cjs/obsidian/components/index.d.cts +2 -0
- package/dist/lib/cjs/obsidian/components/setting-components/checkbox-component.cjs +205 -0
- package/dist/lib/cjs/obsidian/components/setting-components/checkbox-component.d.cts +69 -0
- package/dist/lib/cjs/obsidian/components/setting-components/code-highlighter-component.cjs +352 -0
- package/dist/lib/cjs/obsidian/components/setting-components/code-highlighter-component.d.cts +118 -0
- package/dist/lib/cjs/obsidian/components/setting-components/date-component.cjs +165 -0
- package/dist/lib/cjs/obsidian/components/setting-components/date-component.d.cts +37 -0
- package/dist/lib/cjs/obsidian/components/setting-components/date-time-component.cjs +165 -0
- package/dist/lib/cjs/obsidian/components/setting-components/date-time-component.d.cts +37 -0
- package/dist/lib/cjs/obsidian/components/setting-components/email-component.cjs +176 -0
- package/dist/lib/cjs/obsidian/components/setting-components/email-component.d.cts +48 -0
- package/dist/lib/cjs/obsidian/components/setting-components/file-component.cjs +168 -0
- package/dist/lib/cjs/obsidian/components/setting-components/file-component.d.cts +42 -0
- package/dist/lib/cjs/obsidian/components/setting-components/index.cjs +217 -0
- package/dist/lib/cjs/obsidian/components/setting-components/index.d.cts +26 -0
- package/dist/lib/cjs/obsidian/components/setting-components/month-component.cjs +173 -0
- package/dist/lib/cjs/obsidian/components/setting-components/month-component.d.cts +50 -0
- package/dist/lib/cjs/obsidian/components/setting-components/multiple-dropdown-component.cjs +237 -0
- package/dist/lib/cjs/obsidian/components/setting-components/multiple-dropdown-component.d.cts +87 -0
- package/dist/lib/cjs/obsidian/components/setting-components/multiple-email-component.cjs +162 -0
- package/dist/lib/cjs/obsidian/components/setting-components/multiple-email-component.d.cts +37 -0
- package/dist/lib/cjs/obsidian/components/setting-components/multiple-file-component.cjs +169 -0
- package/dist/lib/cjs/obsidian/components/setting-components/multiple-file-component.d.cts +42 -0
- package/dist/lib/cjs/obsidian/components/setting-components/multiple-text-component.cjs +250 -0
- package/dist/lib/cjs/obsidian/components/setting-components/multiple-text-component.d.cts +98 -0
- package/dist/lib/cjs/obsidian/components/setting-components/number-component.cjs +186 -0
- package/dist/lib/cjs/obsidian/components/setting-components/number-component.d.cts +55 -0
- package/dist/lib/cjs/obsidian/components/setting-components/password-component.cjs +162 -0
- package/dist/lib/cjs/obsidian/components/setting-components/password-component.d.cts +37 -0
- package/dist/lib/cjs/obsidian/components/setting-components/setting-component-wrapper.cjs +149 -0
- package/dist/lib/cjs/obsidian/components/setting-components/telephone-component.cjs +176 -0
- package/dist/lib/cjs/obsidian/components/setting-components/telephone-component.d.cts +50 -0
- package/dist/lib/cjs/obsidian/components/setting-components/text-based-component.cjs +161 -0
- package/dist/lib/cjs/obsidian/components/setting-components/time-component.cjs +170 -0
- package/dist/lib/cjs/obsidian/components/setting-components/time-component.d.cts +37 -0
- package/dist/lib/cjs/obsidian/components/setting-components/tri-state-checkbox-component.cjs +206 -0
- package/dist/lib/cjs/obsidian/components/setting-components/tri-state-checkbox-component.d.cts +69 -0
- package/dist/lib/cjs/obsidian/components/setting-components/typed-dropdown-component.cjs +243 -0
- package/dist/lib/cjs/obsidian/components/setting-components/typed-dropdown-component.d.cts +89 -0
- package/dist/lib/cjs/obsidian/components/setting-components/typed-multiple-dropdown-component.cjs +245 -0
- package/dist/lib/cjs/obsidian/components/setting-components/typed-multiple-dropdown-component.d.cts +90 -0
- package/dist/lib/cjs/obsidian/components/setting-components/typed-range-text-component.cjs +164 -0
- package/dist/lib/cjs/obsidian/components/setting-components/typed-range-text-component.d.cts +34 -0
- package/dist/lib/cjs/obsidian/components/setting-components/typed-text-component.cjs +220 -0
- package/dist/lib/cjs/obsidian/components/setting-components/typed-text-component.d.cts +85 -0
- package/dist/lib/cjs/obsidian/components/setting-components/url-component.cjs +176 -0
- package/dist/lib/cjs/obsidian/components/setting-components/url-component.d.cts +48 -0
- package/dist/lib/cjs/obsidian/components/setting-components/validator-component.cjs +220 -0
- package/dist/lib/cjs/obsidian/components/setting-components/validator-component.d.cts +22 -0
- package/dist/lib/cjs/obsidian/components/setting-components/value-component-with-change-tracking.cjs +120 -0
- package/dist/lib/cjs/obsidian/components/setting-components/week-component.cjs +173 -0
- package/dist/lib/cjs/obsidian/components/setting-components/week-component.d.cts +50 -0
- package/dist/lib/cjs/obsidian/constructors/getDomEventsHandlersConstructor.cjs +169 -0
- package/dist/lib/cjs/obsidian/constructors/getDomEventsHandlersConstructor.d.cts +19 -0
- package/dist/lib/cjs/obsidian/constructors/index.cjs +142 -0
- package/dist/lib/cjs/obsidian/constructors/index.d.cts +1 -0
- package/dist/lib/cjs/obsidian/dataview-link.cjs +144 -0
- package/dist/lib/cjs/obsidian/dataview-link.d.cts +24 -0
- package/dist/lib/cjs/obsidian/dataview.cjs +353 -0
- package/dist/lib/cjs/obsidian/dataview.d.cts +214 -0
- package/dist/lib/cjs/obsidian/editor.cjs +162 -0
- package/dist/lib/cjs/obsidian/file-change.cjs +473 -0
- package/dist/lib/cjs/obsidian/file-change.d.cts +119 -0
- package/dist/lib/cjs/obsidian/file-manager.cjs +193 -0
- package/dist/lib/cjs/obsidian/file-manager.d.cts +40 -0
- package/dist/lib/cjs/obsidian/file-system.cjs +406 -0
- package/dist/lib/cjs/obsidian/file-system.d.cts +279 -0
- package/dist/lib/cjs/obsidian/frontmatter-link-cache-with-offsets.cjs +151 -0
- package/dist/lib/cjs/obsidian/frontmatter.cjs +149 -0
- package/dist/lib/cjs/obsidian/frontmatter.d.cts +74 -0
- package/dist/lib/cjs/obsidian/i18n/custom-type-options-base.cjs +121 -0
- package/dist/lib/cjs/obsidian/i18n/custom-type-options-base.d.cts +31 -0
- package/dist/lib/cjs/obsidian/i18n/default-translations-base.cjs +121 -0
- package/dist/lib/cjs/obsidian/i18n/default-translations-base.d.cts +25 -0
- package/dist/lib/cjs/obsidian/i18n/i18n.cjs +3 -3
- package/dist/lib/cjs/obsidian/i18n/i18n.d.cts +1 -1
- package/dist/lib/cjs/obsidian/i18n/index.cjs +7 -7
- package/dist/lib/cjs/obsidian/i18n/index.d.cts +2 -2
- package/dist/lib/cjs/obsidian/i18n/locales/translationsMap.cjs +1 -1
- package/dist/lib/cjs/obsidian/i18n/locales/translationsMap.d.cts +1 -1
- package/dist/lib/cjs/obsidian/index.cjs +123 -120
- package/dist/lib/cjs/obsidian/index.d.cts +40 -39
- package/dist/lib/cjs/obsidian/link.cjs +887 -0
- package/dist/lib/cjs/obsidian/link.d.cts +716 -0
- package/dist/lib/cjs/obsidian/logger.cjs +174 -0
- package/dist/lib/cjs/obsidian/loop.cjs +225 -0
- package/dist/lib/cjs/obsidian/markdown-code-block-processor.cjs +362 -0
- package/dist/lib/cjs/obsidian/markdown-code-block-processor.d.cts +107 -0
- package/dist/lib/cjs/obsidian/markdown-view.cjs +140 -0
- package/dist/lib/cjs/obsidian/markdown.cjs +251 -0
- package/dist/lib/cjs/obsidian/markdown.d.cts +79 -0
- package/dist/lib/cjs/obsidian/metadata-cache.cjs +367 -0
- package/dist/lib/cjs/obsidian/metadata-cache.d.cts +137 -0
- package/dist/lib/cjs/obsidian/modals/alert.cjs +166 -0
- package/dist/lib/cjs/obsidian/modals/confirm.cjs +175 -0
- package/dist/lib/cjs/obsidian/modals/index.cjs +154 -0
- package/dist/lib/cjs/obsidian/modals/index.d.cts +5 -0
- package/dist/lib/cjs/obsidian/modals/modal-base.cjs +158 -0
- package/dist/lib/cjs/obsidian/modals/modal-base.d.cts +42 -0
- package/dist/lib/cjs/obsidian/modals/prompt.cjs +210 -0
- package/dist/lib/cjs/obsidian/modals/prompt.d.cts +53 -0
- package/dist/lib/cjs/obsidian/modals/select-item.cjs +170 -0
- package/dist/lib/cjs/obsidian/modals/select-item.d.cts +43 -0
- package/dist/lib/cjs/obsidian/monkey-around.cjs +173 -0
- package/dist/lib/cjs/obsidian/obsidian-settings.cjs +139 -0
- package/dist/lib/cjs/obsidian/pdf.cjs +162 -0
- package/dist/lib/cjs/obsidian/plugin/index.cjs +169 -0
- package/dist/lib/cjs/obsidian/plugin/index.d.cts +10 -0
- package/dist/lib/cjs/obsidian/plugin/obsidian-plugin-repo-paths.cjs +179 -0
- package/dist/lib/cjs/obsidian/plugin/path-settings.cjs +235 -0
- package/dist/lib/cjs/obsidian/plugin/path-settings.d.cts +43 -0
- package/dist/lib/cjs/obsidian/plugin/plugin-base.cjs +453 -0
- package/dist/lib/cjs/obsidian/plugin/plugin-base.d.cts +200 -0
- package/dist/lib/cjs/obsidian/plugin/plugin-context.cjs +165 -0
- package/dist/lib/cjs/obsidian/plugin/plugin-id.cjs +145 -0
- package/dist/lib/cjs/obsidian/plugin/plugin-settings-manager-base.cjs +483 -0
- package/dist/lib/cjs/obsidian/plugin/plugin-settings-manager-base.d.cts +186 -0
- package/dist/lib/cjs/obsidian/plugin/plugin-settings-tab-base.cjs +401 -0
- package/dist/lib/cjs/obsidian/plugin/plugin-settings-tab-base.d.cts +148 -0
- package/dist/lib/cjs/obsidian/plugin/plugin-settings-wrapper.cjs +120 -0
- package/dist/lib/cjs/obsidian/plugin/plugin-settings-wrapper.d.cts +25 -0
- package/dist/lib/cjs/obsidian/plugin/plugin-types-base.cjs +120 -0
- package/dist/lib/cjs/obsidian/plugin/plugin-types-base.d.cts +87 -0
- package/dist/lib/cjs/obsidian/plugin/plugin.cjs +146 -0
- package/dist/lib/cjs/obsidian/queue.cjs +201 -0
- package/dist/lib/cjs/obsidian/react/app-context.cjs +140 -0
- package/dist/lib/cjs/obsidian/react/index.cjs +142 -0
- package/dist/lib/cjs/obsidian/react/index.d.cts +1 -0
- package/dist/lib/cjs/obsidian/reference.cjs +177 -0
- package/dist/lib/cjs/obsidian/reference.d.cts +82 -0
- package/dist/lib/cjs/obsidian/rename-delete-handler.cjs +837 -0
- package/dist/lib/cjs/obsidian/resource-url.cjs +139 -0
- package/dist/lib/cjs/obsidian/setting-ex.cjs +361 -0
- package/dist/lib/cjs/obsidian/setting-ex.d.cts +182 -0
- package/dist/lib/cjs/obsidian/setting-group-ex.cjs +154 -0
- package/dist/lib/cjs/obsidian/setting-group-ex.d.cts +25 -0
- package/dist/lib/cjs/obsidian/validation.cjs +159 -0
- package/dist/lib/cjs/obsidian/vault-delete.cjs +171 -0
- package/dist/lib/cjs/obsidian/vault-delete.d.cts +18 -0
- package/dist/lib/cjs/obsidian/vault.cjs +540 -0
- package/dist/lib/cjs/obsidian/vault.d.cts +261 -0
- package/dist/lib/cjs/obsidian/workspace.cjs +143 -0
- package/dist/lib/cjs/path.cjs +221 -0
- package/dist/lib/cjs/reg-exp.cjs +255 -0
- package/dist/lib/cjs/script-utils/build.cjs +179 -0
- package/dist/lib/cjs/script-utils/bundlers/esbuild-impl/changeExtensionPlugin.cjs +164 -0
- package/dist/lib/cjs/script-utils/bundlers/esbuild-impl/copyToObsidianPluginsFolderPlugin.cjs +196 -0
- package/dist/lib/cjs/script-utils/bundlers/esbuild-impl/customEsbuildOptionsPlugin.cjs +139 -0
- package/dist/lib/cjs/script-utils/bundlers/esbuild-impl/dependency.cjs +220 -0
- package/dist/lib/cjs/script-utils/bundlers/esbuild-impl/fixEsmPlugin.cjs +145 -0
- package/dist/lib/cjs/script-utils/bundlers/esbuild-impl/fixSourceMapsPlugin.cjs +171 -0
- package/dist/lib/cjs/script-utils/bundlers/esbuild-impl/index.cjs +169 -0
- package/dist/lib/cjs/script-utils/bundlers/esbuild-impl/index.d.cts +10 -0
- package/dist/lib/cjs/script-utils/bundlers/esbuild-impl/obsidian-plugin-builder.cjs +286 -0
- package/dist/lib/cjs/script-utils/bundlers/esbuild-impl/obsidian-plugin-builder.d.cts +89 -0
- package/dist/lib/cjs/script-utils/bundlers/esbuild-impl/preprocessPlugin.cjs +298 -0
- package/dist/lib/cjs/script-utils/bundlers/esbuild-impl/renameCssPlugin.cjs +148 -0
- package/dist/lib/cjs/script-utils/bundlers/esbuild-impl/svelteWrapperPlugin.cjs +172 -0
- package/dist/lib/cjs/script-utils/bundlers/esbuild.cjs +142 -0
- package/dist/lib/cjs/script-utils/bundlers/esbuild.d.cts +10 -0
- package/dist/lib/cjs/script-utils/bundlers/index.cjs +145 -0
- package/dist/lib/cjs/script-utils/bundlers/index.d.cts +2 -0
- package/dist/lib/cjs/script-utils/cli-utils.cjs +264 -0
- package/dist/lib/cjs/script-utils/cli-utils.d.cts +76 -0
- package/dist/lib/cjs/script-utils/code-generator.cjs +139 -0
- package/dist/lib/cjs/script-utils/exec.cjs +214 -0
- package/dist/lib/cjs/script-utils/exec.d.cts +84 -0
- package/dist/lib/cjs/script-utils/formatters/dprint.cjs +164 -0
- package/dist/lib/cjs/script-utils/formatters/index.cjs +142 -0
- package/dist/lib/cjs/script-utils/formatters/index.d.cts +1 -0
- package/dist/lib/cjs/script-utils/fs.cjs +181 -0
- package/dist/lib/cjs/script-utils/fs.d.cts +75 -0
- package/dist/lib/cjs/script-utils/index.cjs +193 -0
- package/dist/lib/cjs/script-utils/index.d.cts +18 -0
- package/dist/lib/cjs/script-utils/json.cjs +179 -0
- package/dist/lib/cjs/script-utils/json.d.cts +65 -0
- package/dist/lib/cjs/script-utils/linters/cspell.cjs +135 -0
- package/dist/lib/cjs/script-utils/linters/eslint-config.cjs +599 -0
- package/dist/lib/cjs/script-utils/linters/eslint.cjs +175 -0
- package/dist/lib/cjs/script-utils/linters/index.cjs +154 -0
- package/dist/lib/cjs/script-utils/linters/index.d.cts +5 -0
- package/dist/lib/cjs/script-utils/linters/markdownlint-cli2-config.cjs +172 -0
- package/dist/lib/cjs/script-utils/linters/markdownlint-cli2-config.d.cts +10 -0
- package/dist/lib/cjs/script-utils/linters/markdownlint.cjs +206 -0
- package/dist/lib/cjs/script-utils/linters/markdownlint.d.cts +11 -0
- package/dist/lib/cjs/script-utils/node-modules.cjs +207 -0
- package/dist/lib/cjs/script-utils/npm-publish.cjs +143 -0
- package/dist/lib/cjs/script-utils/npm-run.cjs +151 -0
- package/dist/lib/cjs/script-utils/npm.cjs +234 -0
- package/dist/lib/cjs/script-utils/npm.d.cts +149 -0
- package/dist/lib/cjs/script-utils/obsidian-cli.cjs +139 -0
- package/dist/lib/cjs/script-utils/obsidian-cli.d.cts +23 -0
- package/dist/lib/cjs/script-utils/obsidian-dev-utils-repo-paths.cjs +178 -0
- package/dist/lib/cjs/script-utils/obsidian-dev-utils-repo-paths.d.cts +100 -0
- package/dist/lib/cjs/script-utils/root.cjs +184 -0
- package/dist/lib/cjs/script-utils/root.d.cts +68 -0
- package/dist/lib/cjs/script-utils/test-runners/index.cjs +142 -0
- package/dist/lib/cjs/script-utils/test-runners/index.d.cts +1 -0
- package/dist/lib/cjs/script-utils/test-runners/vitest.cjs +145 -0
- package/dist/lib/cjs/script-utils/test-runners/vitest.d.cts +23 -0
- package/dist/lib/cjs/script-utils/version.cjs +477 -0
- package/dist/lib/cjs/script-utils/version.d.cts +176 -0
- package/dist/lib/cjs/string.cjs +333 -0
- package/dist/lib/cjs/string.d.cts +186 -0
- package/dist/lib/cjs/transformers/date-transformer.cjs +169 -0
- package/dist/lib/cjs/transformers/date-transformer.d.cts +38 -0
- package/dist/lib/cjs/transformers/duration-transformer.cjs +171 -0
- package/dist/lib/cjs/transformers/duration-transformer.d.cts +38 -0
- package/dist/lib/cjs/transformers/group-transformer.cjs +215 -0
- package/dist/lib/cjs/transformers/group-transformer.d.cts +69 -0
- package/dist/lib/cjs/transformers/index.cjs +166 -0
- package/dist/lib/cjs/transformers/index.d.cts +9 -0
- package/dist/lib/cjs/transformers/map-transformer.cjs +169 -0
- package/dist/lib/cjs/transformers/map-transformer.d.cts +40 -0
- package/dist/lib/cjs/transformers/set-transformer.cjs +169 -0
- package/dist/lib/cjs/transformers/set-transformer.d.cts +38 -0
- package/dist/lib/cjs/transformers/skip-private-property-transformer.cjs +167 -0
- package/dist/lib/cjs/transformers/skip-private-property-transformer.d.cts +35 -0
- package/dist/lib/cjs/transformers/transformer.cjs +210 -0
- package/dist/lib/cjs/transformers/transformer.d.cts +69 -0
- package/dist/lib/cjs/transformers/two-way-map-transformer.cjs +170 -0
- package/dist/lib/cjs/transformers/two-way-map-transformer.d.cts +41 -0
- package/dist/lib/cjs/transformers/typed-transformer.cjs +134 -0
- package/dist/lib/cjs/transformers/typed-transformer.d.cts +38 -0
- package/dist/lib/cjs/two-way-map.cjs +248 -0
- package/dist/lib/cjs/type-guards.cjs +156 -0
- package/dist/lib/cjs/type.cjs +142 -0
- package/dist/lib/cjs/value-provider.cjs +143 -0
- package/dist/lib/esm/abort-controller.mjs +101 -0
- package/dist/lib/esm/array.mjs +61 -0
- package/dist/lib/esm/async-events.mjs +213 -0
- package/dist/lib/esm/async.d.mts +326 -0
- package/dist/lib/esm/async.mjs +354 -0
- package/dist/lib/esm/blob.d.mts +41 -0
- package/dist/lib/esm/blob.mjs +94 -0
- package/dist/lib/esm/codemirror/index.d.mts +1 -1
- package/dist/lib/esm/codemirror/index.mjs +3 -3
- package/dist/lib/esm/css-class.mjs +63 -0
- package/dist/lib/esm/debug.d.mts +47 -0
- package/dist/lib/esm/debug.mjs +152 -0
- package/dist/lib/esm/enum.mjs +33 -0
- package/dist/lib/esm/error.mjs +131 -0
- package/dist/lib/esm/function.mjs +42 -0
- package/dist/lib/esm/html-element.d.mts +122 -0
- package/dist/lib/esm/html-element.mjs +171 -0
- package/dist/lib/esm/index.d.mts +22 -22
- package/dist/lib/esm/index.mjs +46 -46
- package/dist/lib/esm/library.mjs +30 -0
- package/dist/lib/esm/object-utils.d.mts +255 -0
- package/dist/lib/esm/object-utils.mjs +435 -0
- package/dist/lib/esm/obsidian/@types/i18next.d.mts +2 -2
- package/dist/lib/esm/obsidian/app.mjs +62 -0
- package/dist/lib/esm/obsidian/async-with-notice.d.mts +82 -0
- package/dist/lib/esm/obsidian/async-with-notice.mjs +96 -0
- package/dist/lib/esm/obsidian/attachment-path.d.mts +181 -0
- package/dist/lib/esm/obsidian/attachment-path.mjs +139 -0
- package/dist/lib/esm/obsidian/backlink.d.mts +61 -0
- package/dist/lib/esm/obsidian/backlink.mjs +103 -0
- package/dist/lib/esm/obsidian/callout.d.mts +61 -0
- package/dist/lib/esm/obsidian/callout.mjs +95 -0
- package/dist/lib/esm/obsidian/commands/abstract-file-command-base.d.mts +264 -0
- package/dist/lib/esm/obsidian/commands/abstract-file-command-base.mjs +326 -0
- package/dist/lib/esm/obsidian/commands/command-base.mjs +145 -0
- package/dist/lib/esm/obsidian/commands/editor-command-base.d.mts +139 -0
- package/dist/lib/esm/obsidian/commands/editor-command-base.mjs +174 -0
- package/dist/lib/esm/obsidian/commands/file-command-base.d.mts +191 -0
- package/dist/lib/esm/obsidian/commands/file-command-base.mjs +237 -0
- package/dist/lib/esm/obsidian/commands/folder-command-base.d.mts +184 -0
- package/dist/lib/esm/obsidian/commands/folder-command-base.mjs +229 -0
- package/dist/lib/esm/obsidian/commands/index.d.mts +6 -0
- package/dist/lib/esm/obsidian/commands/index.mjs +36 -0
- package/dist/lib/esm/obsidian/commands/non-editor-command-base.d.mts +34 -0
- package/dist/lib/esm/obsidian/commands/non-editor-command-base.mjs +46 -0
- package/dist/lib/esm/obsidian/components/async-events-component.d.mts +25 -0
- package/dist/lib/esm/obsidian/components/async-events-component.mjs +42 -0
- package/dist/lib/esm/obsidian/components/index.d.mts +2 -0
- package/dist/lib/esm/obsidian/components/index.mjs +28 -0
- package/dist/lib/esm/obsidian/components/setting-components/checkbox-component.d.mts +69 -0
- package/dist/lib/esm/obsidian/components/setting-components/checkbox-component.mjs +99 -0
- package/dist/lib/esm/obsidian/components/setting-components/code-highlighter-component.d.mts +118 -0
- package/dist/lib/esm/obsidian/components/setting-components/code-highlighter-component.mjs +252 -0
- package/dist/lib/esm/obsidian/components/setting-components/date-component.d.mts +37 -0
- package/dist/lib/esm/obsidian/components/setting-components/date-component.mjs +59 -0
- package/dist/lib/esm/obsidian/components/setting-components/date-time-component.d.mts +37 -0
- package/dist/lib/esm/obsidian/components/setting-components/date-time-component.mjs +59 -0
- package/dist/lib/esm/obsidian/components/setting-components/email-component.d.mts +48 -0
- package/dist/lib/esm/obsidian/components/setting-components/email-component.mjs +70 -0
- package/dist/lib/esm/obsidian/components/setting-components/file-component.d.mts +42 -0
- package/dist/lib/esm/obsidian/components/setting-components/file-component.mjs +62 -0
- package/dist/lib/esm/obsidian/components/setting-components/index.d.mts +26 -0
- package/dist/lib/esm/obsidian/components/setting-components/index.mjs +76 -0
- package/dist/lib/esm/obsidian/components/setting-components/month-component.d.mts +50 -0
- package/dist/lib/esm/obsidian/components/setting-components/month-component.mjs +67 -0
- package/dist/lib/esm/obsidian/components/setting-components/multiple-dropdown-component.d.mts +87 -0
- package/dist/lib/esm/obsidian/components/setting-components/multiple-dropdown-component.mjs +134 -0
- package/dist/lib/esm/obsidian/components/setting-components/multiple-email-component.d.mts +37 -0
- package/dist/lib/esm/obsidian/components/setting-components/multiple-email-component.mjs +56 -0
- package/dist/lib/esm/obsidian/components/setting-components/multiple-file-component.d.mts +42 -0
- package/dist/lib/esm/obsidian/components/setting-components/multiple-file-component.mjs +63 -0
- package/dist/lib/esm/obsidian/components/setting-components/multiple-text-component.d.mts +98 -0
- package/dist/lib/esm/obsidian/components/setting-components/multiple-text-component.mjs +147 -0
- package/dist/lib/esm/obsidian/components/setting-components/number-component.d.mts +55 -0
- package/dist/lib/esm/obsidian/components/setting-components/number-component.mjs +80 -0
- package/dist/lib/esm/obsidian/components/setting-components/password-component.d.mts +37 -0
- package/dist/lib/esm/obsidian/components/setting-components/password-component.mjs +56 -0
- package/dist/lib/esm/obsidian/components/setting-components/setting-component-wrapper.mjs +43 -0
- package/dist/lib/esm/obsidian/components/setting-components/telephone-component.d.mts +50 -0
- package/dist/lib/esm/obsidian/components/setting-components/telephone-component.mjs +70 -0
- package/dist/lib/esm/obsidian/components/setting-components/text-based-component.mjs +55 -0
- package/dist/lib/esm/obsidian/components/setting-components/time-component.d.mts +37 -0
- package/dist/lib/esm/obsidian/components/setting-components/time-component.mjs +64 -0
- package/dist/lib/esm/obsidian/components/setting-components/tri-state-checkbox-component.d.mts +69 -0
- package/dist/lib/esm/obsidian/components/setting-components/tri-state-checkbox-component.mjs +100 -0
- package/dist/lib/esm/obsidian/components/setting-components/typed-dropdown-component.d.mts +89 -0
- package/dist/lib/esm/obsidian/components/setting-components/typed-dropdown-component.mjs +140 -0
- package/dist/lib/esm/obsidian/components/setting-components/typed-multiple-dropdown-component.d.mts +90 -0
- package/dist/lib/esm/obsidian/components/setting-components/typed-multiple-dropdown-component.mjs +139 -0
- package/dist/lib/esm/obsidian/components/setting-components/typed-range-text-component.d.mts +34 -0
- package/dist/lib/esm/obsidian/components/setting-components/typed-range-text-component.mjs +58 -0
- package/dist/lib/esm/obsidian/components/setting-components/typed-text-component.d.mts +85 -0
- package/dist/lib/esm/obsidian/components/setting-components/typed-text-component.mjs +117 -0
- package/dist/lib/esm/obsidian/components/setting-components/url-component.d.mts +48 -0
- package/dist/lib/esm/obsidian/components/setting-components/url-component.mjs +70 -0
- package/dist/lib/esm/obsidian/components/setting-components/validator-component.d.mts +22 -0
- package/dist/lib/esm/obsidian/components/setting-components/validator-component.mjs +123 -0
- package/dist/lib/esm/obsidian/components/setting-components/week-component.d.mts +50 -0
- package/dist/lib/esm/obsidian/components/setting-components/week-component.mjs +67 -0
- package/dist/lib/esm/obsidian/constructors/getDomEventsHandlersConstructor.d.mts +19 -0
- package/dist/lib/esm/obsidian/constructors/getDomEventsHandlersConstructor.mjs +63 -0
- package/dist/lib/esm/obsidian/constructors/index.d.mts +1 -0
- package/dist/lib/esm/obsidian/constructors/index.mjs +26 -0
- package/dist/lib/esm/obsidian/dataview-link.d.mts +24 -0
- package/dist/lib/esm/obsidian/dataview-link.mjs +41 -0
- package/dist/lib/esm/obsidian/dataview.d.mts +214 -0
- package/dist/lib/esm/obsidian/dataview.mjs +245 -0
- package/dist/lib/esm/obsidian/editor.mjs +58 -0
- package/dist/lib/esm/obsidian/file-change.d.mts +119 -0
- package/dist/lib/esm/obsidian/file-change.mjs +378 -0
- package/dist/lib/esm/obsidian/file-manager.d.mts +40 -0
- package/dist/lib/esm/obsidian/file-manager.mjs +92 -0
- package/dist/lib/esm/obsidian/file-system.d.mts +279 -0
- package/dist/lib/esm/obsidian/file-system.mjs +283 -0
- package/dist/lib/esm/obsidian/frontmatter-link-cache-with-offsets.mjs +44 -0
- package/dist/lib/esm/obsidian/frontmatter.d.mts +74 -0
- package/dist/lib/esm/obsidian/frontmatter.mjs +46 -0
- package/dist/lib/esm/obsidian/i18n/custom-type-options-base.d.mts +31 -0
- package/dist/lib/esm/obsidian/i18n/custom-type-options-base.mjs +23 -0
- package/dist/lib/esm/obsidian/i18n/default-translations-base.d.mts +25 -0
- package/dist/lib/esm/obsidian/i18n/default-translations-base.mjs +23 -0
- package/dist/lib/esm/obsidian/i18n/i18n.d.mts +1 -1
- package/dist/lib/esm/obsidian/i18n/i18n.mjs +2 -2
- package/dist/lib/esm/obsidian/i18n/index.d.mts +2 -2
- package/dist/lib/esm/obsidian/i18n/index.mjs +5 -5
- package/dist/lib/esm/obsidian/i18n/locales/translationsMap.d.mts +1 -1
- package/dist/lib/esm/obsidian/i18n/locales/translationsMap.mjs +1 -1
- package/dist/lib/esm/obsidian/index.d.mts +40 -39
- package/dist/lib/esm/obsidian/index.mjs +82 -80
- package/dist/lib/esm/obsidian/link.d.mts +716 -0
- package/dist/lib/esm/obsidian/link.mjs +789 -0
- package/dist/lib/esm/obsidian/logger.mjs +71 -0
- package/dist/lib/esm/obsidian/loop.mjs +127 -0
- package/dist/lib/esm/obsidian/markdown-code-block-processor.d.mts +107 -0
- package/dist/lib/esm/obsidian/markdown-code-block-processor.mjs +262 -0
- package/dist/lib/esm/obsidian/markdown-view.mjs +34 -0
- package/dist/lib/esm/obsidian/markdown.d.mts +79 -0
- package/dist/lib/esm/obsidian/markdown.mjs +150 -0
- package/dist/lib/esm/obsidian/metadata-cache.d.mts +137 -0
- package/dist/lib/esm/obsidian/metadata-cache.mjs +266 -0
- package/dist/lib/esm/obsidian/modals/alert.mjs +63 -0
- package/dist/lib/esm/obsidian/modals/confirm.mjs +72 -0
- package/dist/lib/esm/obsidian/modals/index.d.mts +5 -0
- package/dist/lib/esm/obsidian/modals/index.mjs +34 -0
- package/dist/lib/esm/obsidian/modals/modal-base.d.mts +42 -0
- package/dist/lib/esm/obsidian/modals/modal-base.mjs +51 -0
- package/dist/lib/esm/obsidian/modals/prompt.d.mts +53 -0
- package/dist/lib/esm/obsidian/modals/prompt.mjs +113 -0
- package/dist/lib/esm/obsidian/modals/select-item.d.mts +43 -0
- package/dist/lib/esm/obsidian/modals/select-item.mjs +64 -0
- package/dist/lib/esm/obsidian/monkey-around.mjs +64 -0
- package/dist/lib/esm/obsidian/obsidian-settings.mjs +32 -0
- package/dist/lib/esm/obsidian/pdf.mjs +56 -0
- package/dist/lib/esm/obsidian/plugin/index.d.mts +10 -0
- package/dist/lib/esm/obsidian/plugin/index.mjs +44 -0
- package/dist/lib/esm/obsidian/plugin/obsidian-plugin-repo-paths.mjs +73 -0
- package/dist/lib/esm/obsidian/plugin/path-settings.d.mts +43 -0
- package/dist/lib/esm/obsidian/plugin/path-settings.mjs +133 -0
- package/dist/lib/esm/obsidian/plugin/plugin-base.d.mts +200 -0
- package/dist/lib/esm/obsidian/plugin/plugin-base.mjs +363 -0
- package/dist/lib/esm/obsidian/plugin/plugin-context.mjs +67 -0
- package/dist/lib/esm/obsidian/plugin/plugin-id.mjs +37 -0
- package/dist/lib/esm/obsidian/plugin/plugin-settings-manager-base.d.mts +186 -0
- package/dist/lib/esm/obsidian/plugin/plugin-settings-manager-base.mjs +383 -0
- package/dist/lib/esm/obsidian/plugin/plugin-settings-tab-base.d.mts +148 -0
- package/dist/lib/esm/obsidian/plugin/plugin-settings-tab-base.mjs +304 -0
- package/dist/lib/esm/obsidian/plugin/plugin-settings-wrapper.d.mts +25 -0
- package/dist/lib/esm/obsidian/plugin/plugin-types-base.d.mts +87 -0
- package/dist/lib/esm/obsidian/plugin/plugin.mjs +39 -0
- package/dist/lib/esm/obsidian/queue.mjs +99 -0
- package/dist/lib/esm/obsidian/react/app-context.mjs +36 -0
- package/dist/lib/esm/obsidian/react/index.d.mts +1 -0
- package/dist/lib/esm/obsidian/react/index.mjs +26 -0
- package/dist/lib/esm/obsidian/reference.d.mts +82 -0
- package/dist/lib/esm/obsidian/reference.mjs +70 -0
- package/dist/lib/esm/obsidian/rename-delete-handler.mjs +774 -0
- package/dist/lib/esm/obsidian/resource-url.mjs +33 -0
- package/dist/lib/esm/obsidian/setting-ex.d.mts +182 -0
- package/dist/lib/esm/obsidian/setting-ex.mjs +258 -0
- package/dist/lib/esm/obsidian/setting-group-ex.d.mts +25 -0
- package/dist/lib/esm/obsidian/setting-group-ex.mjs +48 -0
- package/dist/lib/esm/obsidian/validation.mjs +48 -0
- package/dist/lib/esm/obsidian/vault-delete.d.mts +18 -0
- package/dist/lib/esm/obsidian/vault-delete.mjs +73 -0
- package/dist/lib/esm/obsidian/vault.d.mts +261 -0
- package/dist/lib/esm/obsidian/vault.mjs +440 -0
- package/dist/lib/esm/obsidian/workspace.mjs +36 -0
- package/dist/lib/esm/path.mjs +90 -0
- package/dist/lib/esm/reg-exp.mjs +144 -0
- package/dist/lib/esm/script-utils/build.mjs +76 -0
- package/dist/lib/esm/script-utils/bundlers/esbuild-impl/changeExtensionPlugin.mjs +58 -0
- package/dist/lib/esm/script-utils/bundlers/esbuild-impl/copyToObsidianPluginsFolderPlugin.mjs +99 -0
- package/dist/lib/esm/script-utils/bundlers/esbuild-impl/customEsbuildOptionsPlugin.mjs +33 -0
- package/dist/lib/esm/script-utils/bundlers/esbuild-impl/dependency.mjs +109 -0
- package/dist/lib/esm/script-utils/bundlers/esbuild-impl/fixEsmPlugin.mjs +39 -0
- package/dist/lib/esm/script-utils/bundlers/esbuild-impl/fixSourceMapsPlugin.mjs +69 -0
- package/dist/lib/esm/script-utils/bundlers/esbuild-impl/index.d.mts +10 -0
- package/dist/lib/esm/script-utils/bundlers/esbuild-impl/index.mjs +44 -0
- package/dist/lib/esm/script-utils/bundlers/esbuild-impl/obsidian-plugin-builder.d.mts +89 -0
- package/dist/lib/esm/script-utils/bundlers/esbuild-impl/obsidian-plugin-builder.mjs +174 -0
- package/dist/lib/esm/script-utils/bundlers/esbuild-impl/preprocessPlugin.mjs +185 -0
- package/dist/lib/esm/script-utils/bundlers/esbuild-impl/renameCssPlugin.mjs +45 -0
- package/dist/lib/esm/script-utils/bundlers/esbuild-impl/svelteWrapperPlugin.mjs +56 -0
- package/dist/lib/esm/script-utils/bundlers/esbuild.d.mts +10 -0
- package/dist/lib/esm/script-utils/bundlers/esbuild.mjs +38 -0
- package/dist/lib/esm/script-utils/bundlers/index.d.mts +2 -0
- package/dist/lib/esm/script-utils/bundlers/index.mjs +28 -0
- package/dist/lib/esm/script-utils/cli-utils.d.mts +76 -0
- package/dist/lib/esm/script-utils/cli-utils.mjs +156 -0
- package/dist/lib/esm/script-utils/code-generator.mjs +33 -0
- package/dist/lib/esm/script-utils/exec.d.mts +84 -0
- package/dist/lib/esm/script-utils/exec.mjs +111 -0
- package/dist/lib/esm/script-utils/formatters/dprint.mjs +52 -0
- package/dist/lib/esm/script-utils/formatters/index.d.mts +1 -0
- package/dist/lib/esm/script-utils/formatters/index.mjs +26 -0
- package/dist/lib/esm/script-utils/fs.d.mts +75 -0
- package/dist/lib/esm/script-utils/fs.mjs +78 -0
- package/dist/lib/esm/script-utils/index.d.mts +18 -0
- package/dist/lib/esm/script-utils/index.mjs +60 -0
- package/dist/lib/esm/script-utils/json.d.mts +65 -0
- package/dist/lib/esm/script-utils/json.mjs +74 -0
- package/dist/lib/esm/script-utils/linters/cspell.mjs +29 -0
- package/dist/lib/esm/script-utils/linters/eslint-config.mjs +485 -0
- package/dist/lib/esm/script-utils/linters/eslint.mjs +66 -0
- package/dist/lib/esm/script-utils/linters/index.d.mts +5 -0
- package/dist/lib/esm/script-utils/linters/index.mjs +34 -0
- package/dist/lib/esm/script-utils/linters/markdownlint-cli2-config.d.mts +10 -0
- package/dist/lib/esm/script-utils/linters/markdownlint-cli2-config.mjs +56 -0
- package/dist/lib/esm/script-utils/linters/markdownlint.d.mts +11 -0
- package/dist/lib/esm/script-utils/linters/markdownlint.mjs +98 -0
- package/dist/lib/esm/script-utils/node-modules.mjs +92 -0
- package/dist/lib/esm/script-utils/npm-publish.mjs +44 -0
- package/dist/lib/esm/script-utils/npm-run.mjs +44 -0
- package/dist/lib/esm/script-utils/npm.d.mts +149 -0
- package/dist/lib/esm/script-utils/npm.mjs +120 -0
- package/dist/lib/esm/script-utils/obsidian-cli.d.mts +23 -0
- package/dist/lib/esm/script-utils/obsidian-cli.mjs +33 -0
- package/dist/lib/esm/script-utils/obsidian-dev-utils-repo-paths.d.mts +100 -0
- package/dist/lib/esm/script-utils/obsidian-dev-utils-repo-paths.mjs +72 -0
- package/dist/lib/esm/script-utils/root.d.mts +68 -0
- package/dist/lib/esm/script-utils/root.mjs +80 -0
- package/dist/lib/esm/script-utils/test-runners/index.d.mts +1 -0
- package/dist/lib/esm/script-utils/test-runners/index.mjs +26 -0
- package/dist/lib/esm/script-utils/test-runners/vitest.d.mts +23 -0
- package/dist/lib/esm/script-utils/test-runners/vitest.mjs +37 -0
- package/dist/lib/esm/script-utils/version.d.mts +176 -0
- package/dist/lib/esm/script-utils/version.mjs +380 -0
- package/dist/lib/esm/string.d.mts +186 -0
- package/dist/lib/esm/string.mjs +211 -0
- package/dist/lib/esm/transformers/date-transformer.d.mts +38 -0
- package/dist/lib/esm/transformers/date-transformer.mjs +63 -0
- package/dist/lib/esm/transformers/duration-transformer.d.mts +38 -0
- package/dist/lib/esm/transformers/duration-transformer.mjs +65 -0
- package/dist/lib/esm/transformers/group-transformer.d.mts +69 -0
- package/dist/lib/esm/transformers/group-transformer.mjs +112 -0
- package/dist/lib/esm/transformers/index.d.mts +9 -0
- package/dist/lib/esm/transformers/index.mjs +42 -0
- package/dist/lib/esm/transformers/map-transformer.d.mts +40 -0
- package/dist/lib/esm/transformers/map-transformer.mjs +63 -0
- package/dist/lib/esm/transformers/set-transformer.d.mts +38 -0
- package/dist/lib/esm/transformers/set-transformer.mjs +63 -0
- package/dist/lib/esm/transformers/skip-private-property-transformer.d.mts +35 -0
- package/dist/lib/esm/transformers/skip-private-property-transformer.mjs +61 -0
- package/dist/lib/esm/transformers/transformer.d.mts +69 -0
- package/dist/lib/esm/transformers/transformer.mjs +104 -0
- package/dist/lib/esm/transformers/two-way-map-transformer.d.mts +41 -0
- package/dist/lib/esm/transformers/two-way-map-transformer.mjs +64 -0
- package/dist/lib/esm/transformers/typed-transformer.d.mts +38 -0
- package/dist/lib/esm/transformers/typed-transformer.mjs +28 -0
- package/dist/lib/esm/two-way-map.mjs +142 -0
- package/dist/lib/esm/type-guards.mjs +47 -0
- package/dist/lib/esm/type.mjs +36 -0
- package/dist/lib/esm/value-provider.mjs +37 -0
- package/dist/scripts/default/build-clean.ts +1 -1
- package/dist/scripts/default/build-compile-svelte.ts +1 -1
- package/dist/scripts/default/build-compile-typescript.ts +1 -1
- package/dist/scripts/default/build-compile.ts +1 -1
- package/dist/scripts/default/build-static.ts +1 -1
- package/dist/scripts/default/build.ts +2 -2
- package/dist/scripts/default/dev.ts +2 -2
- package/dist/scripts/default/format-check.ts +1 -1
- package/dist/scripts/default/format.ts +1 -1
- package/dist/scripts/default/lint-fix.ts +1 -1
- package/dist/scripts/default/lint.ts +1 -1
- package/dist/scripts/default/publish.ts +1 -1
- package/dist/scripts/default/spellcheck.ts +1 -1
- package/dist/scripts/default/version.ts +1 -1
- package/dist/scripts/examples/build.customPlugin.ts +3 -3
- package/dist/scripts/examples/build.svelteConditions.ts +2 -2
- package/dist/scripts/examples/eslint.config.extend.mts +1 -1
- package/dist/scripts/examples/format.prettier.ts +4 -4
- package/obsidian/@types/Dataview/api/data-array/package.json +1 -1
- package/obsidian/@types/Dataview/api/extensions/package.json +1 -1
- package/obsidian/@types/Dataview/api/inline-api/package.json +1 -1
- package/obsidian/@types/Dataview/api/plugin-api/package.json +1 -1
- package/obsidian/@types/Dataview/api/result/package.json +1 -1
- package/obsidian/@types/Dataview/data-import/common/package.json +1 -1
- package/obsidian/@types/Dataview/data-import/csv/package.json +1 -1
- package/obsidian/@types/Dataview/data-import/inline-field/package.json +1 -1
- package/obsidian/@types/Dataview/data-import/markdown-file/package.json +1 -1
- package/obsidian/@types/Dataview/data-import/persister/package.json +1 -1
- package/obsidian/@types/Dataview/data-import/web-worker/import-entry/package.json +1 -1
- package/obsidian/@types/Dataview/data-import/web-worker/import-impl/package.json +1 -1
- package/obsidian/@types/Dataview/data-import/web-worker/import-manager/package.json +1 -1
- package/obsidian/@types/Dataview/data-index/index/package.json +1 -1
- package/obsidian/@types/Dataview/data-index/package.json +1 -1
- package/obsidian/@types/Dataview/data-index/resolver/package.json +1 -1
- package/obsidian/@types/Dataview/data-index/source/package.json +1 -1
- package/obsidian/@types/Dataview/data-model/markdown/package.json +1 -1
- package/obsidian/@types/Dataview/data-model/serialized/markdown/package.json +1 -1
- package/obsidian/@types/Dataview/data-model/transferable/package.json +1 -1
- package/obsidian/@types/Dataview/data-model/value/package.json +1 -1
- package/obsidian/@types/Dataview/expression/binaryop/package.json +1 -1
- package/obsidian/@types/Dataview/expression/context/package.json +1 -1
- package/obsidian/@types/Dataview/expression/field/package.json +1 -1
- package/obsidian/@types/Dataview/expression/functions/package.json +1 -1
- package/obsidian/@types/Dataview/expression/parse/package.json +1 -1
- package/obsidian/@types/Dataview/index/package.json +1 -1
- package/obsidian/@types/Dataview/main/package.json +1 -1
- package/obsidian/@types/Dataview/package.json +1 -1
- package/obsidian/@types/Dataview/query/engine/package.json +1 -1
- package/obsidian/@types/Dataview/query/parse/package.json +1 -1
- package/obsidian/@types/Dataview/query/query/package.json +1 -1
- package/obsidian/@types/Dataview/settings/package.json +1 -1
- package/obsidian/@types/Dataview/typings/obsidian-ex/package.json +1 -1
- package/obsidian/@types/Dataview/typings/workers/package.json +1 -1
- package/obsidian/@types/Dataview/ui/export/markdown/package.json +1 -1
- package/obsidian/@types/Dataview/ui/lp-render/package.json +1 -1
- package/obsidian/@types/Dataview/ui/markdown/package.json +1 -1
- package/obsidian/@types/Dataview/ui/refreshable-view/package.json +1 -1
- package/obsidian/@types/Dataview/ui/render/package.json +1 -1
- package/obsidian/@types/Dataview/ui/views/calendar-view/package.json +1 -1
- package/obsidian/@types/Dataview/ui/views/inline-field-live-preview/package.json +1 -1
- package/obsidian/@types/Dataview/ui/views/inline-view/package.json +1 -1
- package/obsidian/@types/Dataview/ui/views/js-view/package.json +1 -1
- package/obsidian/@types/Dataview/ui/views/list-view/package.json +1 -1
- package/obsidian/@types/Dataview/ui/views/table-view/package.json +1 -1
- package/obsidian/@types/Dataview/ui/views/task-view/package.json +1 -1
- package/obsidian/@types/Dataview/util/hash/package.json +1 -1
- package/obsidian/@types/Dataview/util/locale/package.json +1 -1
- package/obsidian/@types/Dataview/util/media/package.json +1 -1
- package/obsidian/@types/Dataview/util/normalize/package.json +1 -1
- package/obsidian/App/package.json +3 -3
- package/obsidian/Backlink/package.json +3 -3
- package/obsidian/Callout/package.json +3 -3
- package/obsidian/Commands/abstract-file-command-base/package.json +6 -0
- package/obsidian/Commands/command-base/package.json +6 -0
- package/obsidian/Commands/editor-command-base/package.json +6 -0
- package/obsidian/Commands/file-command-base/package.json +6 -0
- package/obsidian/Commands/folder-command-base/package.json +6 -0
- package/obsidian/Commands/index/package.json +3 -3
- package/obsidian/Commands/non-editor-command-base/package.json +6 -0
- package/obsidian/Commands/package.json +3 -3
- package/obsidian/Components/async-events-component/package.json +6 -0
- package/obsidian/Components/index/package.json +3 -3
- package/obsidian/Components/package.json +3 -3
- package/obsidian/Components/setting-components/checkbox-component/package.json +6 -0
- package/obsidian/Components/setting-components/code-highlighter-component/package.json +6 -0
- package/obsidian/Components/setting-components/date-component/package.json +6 -0
- package/obsidian/Components/setting-components/date-time-component/package.json +6 -0
- package/obsidian/Components/setting-components/email-component/package.json +6 -0
- package/obsidian/Components/setting-components/file-component/package.json +6 -0
- package/obsidian/Components/setting-components/index/package.json +6 -0
- package/obsidian/Components/setting-components/month-component/package.json +6 -0
- package/obsidian/Components/setting-components/multiple-dropdown-component/package.json +6 -0
- package/obsidian/Components/setting-components/multiple-email-component/package.json +6 -0
- package/obsidian/Components/setting-components/multiple-file-component/package.json +6 -0
- package/obsidian/Components/setting-components/multiple-text-component/package.json +6 -0
- package/obsidian/Components/setting-components/number-component/package.json +6 -0
- package/obsidian/Components/setting-components/package.json +6 -0
- package/obsidian/Components/setting-components/password-component/package.json +6 -0
- package/obsidian/Components/setting-components/setting-component-wrapper/package.json +6 -0
- package/obsidian/Components/setting-components/telephone-component/package.json +6 -0
- package/obsidian/Components/setting-components/text-based-component/package.json +6 -0
- package/obsidian/Components/setting-components/time-component/package.json +6 -0
- package/obsidian/Components/setting-components/tri-state-checkbox-component/package.json +6 -0
- package/obsidian/Components/setting-components/typed-dropdown-component/package.json +6 -0
- package/obsidian/Components/setting-components/typed-multiple-dropdown-component/package.json +6 -0
- package/obsidian/Components/setting-components/typed-range-text-component/package.json +6 -0
- package/obsidian/Components/setting-components/typed-text-component/package.json +6 -0
- package/obsidian/Components/setting-components/url-component/package.json +6 -0
- package/obsidian/Components/setting-components/validator-component/package.json +6 -0
- package/obsidian/Components/setting-components/value-component-with-change-tracking/package.json +6 -0
- package/obsidian/Components/setting-components/week-component/package.json +6 -0
- package/obsidian/Dataview/package.json +3 -3
- package/obsidian/Editor/package.json +3 -3
- package/obsidian/Frontmatter/package.json +3 -3
- package/obsidian/Link/package.json +3 -3
- package/obsidian/Logger/package.json +3 -3
- package/obsidian/Loop/package.json +3 -3
- package/obsidian/Markdown/package.json +3 -3
- package/obsidian/Modals/Alert/package.json +3 -3
- package/obsidian/Modals/Confirm/package.json +3 -3
- package/obsidian/Modals/Prompt/package.json +3 -3
- package/obsidian/Modals/index/package.json +3 -3
- package/obsidian/Modals/modal-base/package.json +6 -0
- package/obsidian/Modals/package.json +3 -3
- package/obsidian/Modals/select-item/package.json +6 -0
- package/obsidian/Pdf/package.json +3 -3
- package/obsidian/Plugin/Plugin/package.json +3 -3
- package/obsidian/Plugin/index/package.json +3 -3
- package/obsidian/Plugin/obsidian-plugin-repo-paths/package.json +6 -0
- package/obsidian/Plugin/package.json +3 -3
- package/obsidian/Plugin/path-settings/package.json +6 -0
- package/obsidian/Plugin/plugin-base/package.json +6 -0
- package/obsidian/Plugin/plugin-context/package.json +6 -0
- package/obsidian/Plugin/plugin-id/package.json +6 -0
- package/obsidian/Plugin/plugin-settings-manager-base/package.json +6 -0
- package/obsidian/Plugin/plugin-settings-tab-base/package.json +6 -0
- package/obsidian/Plugin/plugin-settings-wrapper/package.json +6 -0
- package/obsidian/Plugin/plugin-types-base/package.json +6 -0
- package/obsidian/Queue/package.json +3 -3
- package/obsidian/React/app-context/package.json +6 -0
- package/obsidian/React/index/package.json +3 -3
- package/obsidian/React/package.json +3 -3
- package/obsidian/Reference/package.json +3 -3
- package/obsidian/Validation/package.json +3 -3
- package/obsidian/Vault/package.json +3 -3
- package/obsidian/Workspace/package.json +3 -3
- package/obsidian/async-with-notice/package.json +6 -0
- package/obsidian/attachment-path/package.json +6 -0
- package/obsidian/code-block-markdown-information/package.json +6 -0
- package/obsidian/constructors/getDomEventsHandlersConstructor/package.json +6 -0
- package/obsidian/constructors/index/package.json +6 -0
- package/obsidian/constructors/package.json +6 -0
- package/obsidian/dataview-link/package.json +6 -0
- package/obsidian/file-change/package.json +6 -0
- package/obsidian/file-manager/package.json +6 -0
- package/obsidian/file-system/package.json +6 -0
- package/obsidian/frontmatter-link-cache-with-offsets/package.json +6 -0
- package/obsidian/i18n/custom-type-options-base/package.json +6 -0
- package/obsidian/i18n/default-translations-base/package.json +6 -0
- package/obsidian/markdown-code-block-processor/package.json +6 -0
- package/obsidian/markdown-view/package.json +6 -0
- package/obsidian/metadata-cache/package.json +6 -0
- package/obsidian/monkey-around/package.json +6 -0
- package/obsidian/obsidian-settings/package.json +6 -0
- package/obsidian/rename-delete-handler/package.json +6 -0
- package/obsidian/resource-url/package.json +6 -0
- package/obsidian/setting-ex/package.json +6 -0
- package/obsidian/setting-group-ex/package.json +6 -0
- package/obsidian/vault-delete/package.json +6 -0
- package/package.json +307 -228
- package/script-utils/build/package.json +6 -0
- package/script-utils/bundlers/esbuild/package.json +6 -0
- package/script-utils/bundlers/esbuild-impl/changeExtensionPlugin/package.json +6 -0
- package/script-utils/bundlers/esbuild-impl/copyToObsidianPluginsFolderPlugin/package.json +6 -0
- package/script-utils/bundlers/esbuild-impl/customEsbuildOptionsPlugin/package.json +6 -0
- package/script-utils/bundlers/esbuild-impl/dependency/package.json +6 -0
- package/script-utils/bundlers/esbuild-impl/fixEsmPlugin/package.json +6 -0
- package/script-utils/bundlers/esbuild-impl/fixSourceMapsPlugin/package.json +6 -0
- package/script-utils/bundlers/esbuild-impl/index/package.json +6 -0
- package/script-utils/bundlers/esbuild-impl/obsidian-plugin-builder/package.json +6 -0
- package/script-utils/bundlers/esbuild-impl/package.json +6 -0
- package/script-utils/bundlers/esbuild-impl/preprocessPlugin/package.json +6 -0
- package/script-utils/bundlers/esbuild-impl/renameCssPlugin/package.json +6 -0
- package/script-utils/bundlers/esbuild-impl/svelteWrapperPlugin/package.json +6 -0
- package/script-utils/bundlers/index/package.json +6 -0
- package/script-utils/bundlers/package.json +6 -0
- package/script-utils/cli-utils/package.json +6 -0
- package/script-utils/code-generator/package.json +6 -0
- package/script-utils/exec/package.json +6 -0
- package/script-utils/formatters/dprint/package.json +6 -0
- package/script-utils/formatters/index/package.json +6 -0
- package/script-utils/formatters/package.json +6 -0
- package/script-utils/fs/package.json +6 -0
- package/script-utils/index/package.json +6 -0
- package/script-utils/json/package.json +6 -0
- package/script-utils/linters/cspell/package.json +6 -0
- package/script-utils/linters/eslint/package.json +6 -0
- package/script-utils/linters/eslint-config/package.json +6 -0
- package/script-utils/linters/eslint-types/@types/@eslint-community__eslint-plugin-eslint-comments__configs/package.json +4 -0
- package/script-utils/linters/eslint-types/@types/@guardian__eslint-plugin-tsdoc-required/package.json +4 -0
- package/script-utils/linters/eslint-types/@types/eslint-plugin-modules-newlines/package.json +4 -0
- package/script-utils/linters/eslint-types/@types/eslint-plugin-verify-tsdoc/package.json +4 -0
- package/script-utils/linters/index/package.json +6 -0
- package/script-utils/linters/markdownlint/package.json +6 -0
- package/script-utils/linters/markdownlint-cli2-config/package.json +6 -0
- package/script-utils/linters/markdownlint-types/@types/markdownlint-cli2-config-schema/package.json +4 -0
- package/script-utils/linters/package.json +6 -0
- package/script-utils/node-modules/package.json +6 -0
- package/script-utils/npm/package.json +6 -0
- package/script-utils/npm-publish/package.json +6 -0
- package/script-utils/npm-run/package.json +6 -0
- package/script-utils/obsidian-cli/package.json +6 -0
- package/script-utils/obsidian-dev-utils-repo-paths/package.json +6 -0
- package/script-utils/package.json +6 -0
- package/script-utils/root/package.json +6 -0
- package/script-utils/test-runners/index/package.json +6 -0
- package/script-utils/test-runners/package.json +6 -0
- package/script-utils/test-runners/vitest/package.json +6 -0
- package/script-utils/version/package.json +6 -0
- package/ScriptUtils/CliUtils/package.json +0 -6
- package/ScriptUtils/CodeGenerator/package.json +0 -6
- package/ScriptUtils/ESLint/@types/@eslint-community__eslint-plugin-eslint-comments__configs/package.json +0 -4
- package/ScriptUtils/ESLint/@types/@guardian__eslint-plugin-tsdoc-required/package.json +0 -4
- package/ScriptUtils/ESLint/@types/eslint-plugin-modules-newlines/package.json +0 -4
- package/ScriptUtils/ESLint/@types/eslint-plugin-verify-tsdoc/package.json +0 -4
- package/ScriptUtils/ESLint/ESLint/package.json +0 -6
- package/ScriptUtils/ESLint/eslint.config/package.json +0 -6
- package/ScriptUtils/ESLint/index/package.json +0 -6
- package/ScriptUtils/ESLint/package.json +0 -6
- package/ScriptUtils/Exec/package.json +0 -6
- package/ScriptUtils/Fs/package.json +0 -6
- package/ScriptUtils/JSON/package.json +0 -6
- package/ScriptUtils/NodeModules/package.json +0 -6
- package/ScriptUtils/Npm/package.json +0 -6
- package/ScriptUtils/NpmPublish/package.json +0 -6
- package/ScriptUtils/NpmRun/package.json +0 -6
- package/ScriptUtils/ObsidianDevUtilsRepoPaths/package.json +0 -6
- package/ScriptUtils/Root/package.json +0 -6
- package/ScriptUtils/build/package.json +0 -6
- package/ScriptUtils/cli/package.json +0 -6
- package/ScriptUtils/esbuild/Dependency/package.json +0 -6
- package/ScriptUtils/esbuild/ObsidianPluginBuilder/package.json +0 -6
- package/ScriptUtils/esbuild/changeExtensionPlugin/package.json +0 -6
- package/ScriptUtils/esbuild/copyToObsidianPluginsFolderPlugin/package.json +0 -6
- package/ScriptUtils/esbuild/customEsbuildOptionsPlugin/package.json +0 -6
- package/ScriptUtils/esbuild/fixEsmPlugin/package.json +0 -6
- package/ScriptUtils/esbuild/fixSourceMapsPlugin/package.json +0 -6
- package/ScriptUtils/esbuild/index/package.json +0 -6
- package/ScriptUtils/esbuild/package.json +0 -6
- package/ScriptUtils/esbuild/preprocessPlugin/package.json +0 -6
- package/ScriptUtils/esbuild/renameCssPlugin/package.json +0 -6
- package/ScriptUtils/esbuild/svelteWrapperPlugin/package.json +0 -6
- package/ScriptUtils/format/package.json +0 -6
- package/ScriptUtils/index/package.json +0 -6
- package/ScriptUtils/markdownlint/@types/markdownlint-cli2-config-schema/package.json +0 -4
- package/ScriptUtils/markdownlint/index/package.json +0 -6
- package/ScriptUtils/markdownlint/markdownlint/package.json +0 -6
- package/ScriptUtils/markdownlint/markdownlint-cli2-config/package.json +0 -6
- package/ScriptUtils/markdownlint/package.json +0 -6
- package/ScriptUtils/package.json +0 -6
- package/ScriptUtils/spellcheck/package.json +0 -6
- package/ScriptUtils/version/package.json +0 -6
- package/Transformers/DateTransformer/package.json +0 -6
- package/Transformers/DurationTransformer/package.json +0 -6
- package/Transformers/GroupTransformer/package.json +0 -6
- package/Transformers/MapTransformer/package.json +0 -6
- package/Transformers/SetTransformer/package.json +0 -6
- package/Transformers/SkipPrivatePropertyTransformer/package.json +0 -6
- package/Transformers/TwoWayMapTransformer/package.json +0 -6
- package/Transformers/TypedTransformer/package.json +0 -6
- package/codemirror/StateFieldSpec/package.json +0 -6
- package/dist/bin/cli.cjs +0 -3
- package/dist/lib/cjs/AbortController.cjs +0 -212
- package/dist/lib/cjs/Array.cjs +0 -169
- package/dist/lib/cjs/Async.cjs +0 -469
- package/dist/lib/cjs/Async.d.cts +0 -326
- package/dist/lib/cjs/AsyncEvents.cjs +0 -319
- package/dist/lib/cjs/Blob.cjs +0 -204
- package/dist/lib/cjs/Blob.d.cts +0 -41
- package/dist/lib/cjs/CssClass.cjs +0 -169
- package/dist/lib/cjs/Debug.cjs +0 -270
- package/dist/lib/cjs/Debug.d.cts +0 -47
- package/dist/lib/cjs/DebugController.cjs +0 -120
- package/dist/lib/cjs/Enum.cjs +0 -140
- package/dist/lib/cjs/Error.cjs +0 -245
- package/dist/lib/cjs/Function.cjs +0 -151
- package/dist/lib/cjs/HTMLElement.cjs +0 -288
- package/dist/lib/cjs/HTMLElement.d.cts +0 -122
- package/dist/lib/cjs/Library.cjs +0 -138
- package/dist/lib/cjs/ObjectUtils.cjs +0 -554
- package/dist/lib/cjs/ObjectUtils.d.cts +0 -255
- package/dist/lib/cjs/Path.cjs +0 -221
- package/dist/lib/cjs/RegExp.cjs +0 -255
- package/dist/lib/cjs/ScriptUtils/CliUtils.cjs +0 -256
- package/dist/lib/cjs/ScriptUtils/CliUtils.d.cts +0 -72
- package/dist/lib/cjs/ScriptUtils/CodeGenerator.cjs +0 -139
- package/dist/lib/cjs/ScriptUtils/ESLint/ESLint.cjs +0 -175
- package/dist/lib/cjs/ScriptUtils/ESLint/eslint.config.cjs +0 -599
- package/dist/lib/cjs/ScriptUtils/ESLint/index.cjs +0 -145
- package/dist/lib/cjs/ScriptUtils/ESLint/index.d.cts +0 -2
- package/dist/lib/cjs/ScriptUtils/Exec.cjs +0 -214
- package/dist/lib/cjs/ScriptUtils/Exec.d.cts +0 -84
- package/dist/lib/cjs/ScriptUtils/Fs.cjs +0 -181
- package/dist/lib/cjs/ScriptUtils/Fs.d.cts +0 -75
- package/dist/lib/cjs/ScriptUtils/JSON.cjs +0 -179
- package/dist/lib/cjs/ScriptUtils/JSON.d.cts +0 -65
- package/dist/lib/cjs/ScriptUtils/NodeModules.cjs +0 -207
- package/dist/lib/cjs/ScriptUtils/Npm.cjs +0 -234
- package/dist/lib/cjs/ScriptUtils/Npm.d.cts +0 -149
- package/dist/lib/cjs/ScriptUtils/NpmPublish.cjs +0 -143
- package/dist/lib/cjs/ScriptUtils/NpmRun.cjs +0 -151
- package/dist/lib/cjs/ScriptUtils/ObsidianDevUtilsRepoPaths.cjs +0 -178
- package/dist/lib/cjs/ScriptUtils/ObsidianDevUtilsRepoPaths.d.cts +0 -100
- package/dist/lib/cjs/ScriptUtils/Root.cjs +0 -184
- package/dist/lib/cjs/ScriptUtils/Root.d.cts +0 -68
- package/dist/lib/cjs/ScriptUtils/build.cjs +0 -179
- package/dist/lib/cjs/ScriptUtils/cli.cjs +0 -207
- package/dist/lib/cjs/ScriptUtils/cli.d.cts +0 -15
- package/dist/lib/cjs/ScriptUtils/esbuild/Dependency.cjs +0 -220
- package/dist/lib/cjs/ScriptUtils/esbuild/ObsidianPluginBuilder.cjs +0 -275
- package/dist/lib/cjs/ScriptUtils/esbuild/ObsidianPluginBuilder.d.cts +0 -58
- package/dist/lib/cjs/ScriptUtils/esbuild/changeExtensionPlugin.cjs +0 -164
- package/dist/lib/cjs/ScriptUtils/esbuild/copyToObsidianPluginsFolderPlugin.cjs +0 -169
- package/dist/lib/cjs/ScriptUtils/esbuild/customEsbuildOptionsPlugin.cjs +0 -139
- package/dist/lib/cjs/ScriptUtils/esbuild/fixEsmPlugin.cjs +0 -145
- package/dist/lib/cjs/ScriptUtils/esbuild/fixSourceMapsPlugin.cjs +0 -171
- package/dist/lib/cjs/ScriptUtils/esbuild/index.cjs +0 -169
- package/dist/lib/cjs/ScriptUtils/esbuild/index.d.cts +0 -10
- package/dist/lib/cjs/ScriptUtils/esbuild/preprocessPlugin.cjs +0 -298
- package/dist/lib/cjs/ScriptUtils/esbuild/renameCssPlugin.cjs +0 -148
- package/dist/lib/cjs/ScriptUtils/esbuild/svelteWrapperPlugin.cjs +0 -172
- package/dist/lib/cjs/ScriptUtils/format.cjs +0 -164
- package/dist/lib/cjs/ScriptUtils/index.cjs +0 -196
- package/dist/lib/cjs/ScriptUtils/index.d.cts +0 -19
- package/dist/lib/cjs/ScriptUtils/markdownlint/index.cjs +0 -145
- package/dist/lib/cjs/ScriptUtils/markdownlint/index.d.cts +0 -2
- package/dist/lib/cjs/ScriptUtils/markdownlint/markdownlint-cli2-config.cjs +0 -172
- package/dist/lib/cjs/ScriptUtils/markdownlint/markdownlint-cli2-config.d.cts +0 -10
- package/dist/lib/cjs/ScriptUtils/markdownlint/markdownlint.cjs +0 -206
- package/dist/lib/cjs/ScriptUtils/markdownlint/markdownlint.d.cts +0 -11
- package/dist/lib/cjs/ScriptUtils/spellcheck.cjs +0 -135
- package/dist/lib/cjs/ScriptUtils/version.cjs +0 -484
- package/dist/lib/cjs/ScriptUtils/version.d.cts +0 -167
- package/dist/lib/cjs/String.cjs +0 -333
- package/dist/lib/cjs/String.d.cts +0 -186
- package/dist/lib/cjs/Transformers/DateTransformer.cjs +0 -169
- package/dist/lib/cjs/Transformers/DateTransformer.d.cts +0 -38
- package/dist/lib/cjs/Transformers/DurationTransformer.cjs +0 -171
- package/dist/lib/cjs/Transformers/DurationTransformer.d.cts +0 -38
- package/dist/lib/cjs/Transformers/GroupTransformer.cjs +0 -215
- package/dist/lib/cjs/Transformers/GroupTransformer.d.cts +0 -69
- package/dist/lib/cjs/Transformers/MapTransformer.cjs +0 -169
- package/dist/lib/cjs/Transformers/MapTransformer.d.cts +0 -40
- package/dist/lib/cjs/Transformers/SetTransformer.cjs +0 -169
- package/dist/lib/cjs/Transformers/SetTransformer.d.cts +0 -38
- package/dist/lib/cjs/Transformers/SkipPrivatePropertyTransformer.cjs +0 -167
- package/dist/lib/cjs/Transformers/SkipPrivatePropertyTransformer.d.cts +0 -35
- package/dist/lib/cjs/Transformers/Transformer.cjs +0 -210
- package/dist/lib/cjs/Transformers/Transformer.d.cts +0 -69
- package/dist/lib/cjs/Transformers/TwoWayMapTransformer.cjs +0 -170
- package/dist/lib/cjs/Transformers/TwoWayMapTransformer.d.cts +0 -41
- package/dist/lib/cjs/Transformers/TypedTransformer.cjs +0 -134
- package/dist/lib/cjs/Transformers/TypedTransformer.d.cts +0 -38
- package/dist/lib/cjs/Transformers/index.cjs +0 -166
- package/dist/lib/cjs/Transformers/index.d.cts +0 -9
- package/dist/lib/cjs/TwoWayMap.cjs +0 -248
- package/dist/lib/cjs/Type.cjs +0 -142
- package/dist/lib/cjs/TypeGuards.cjs +0 -156
- package/dist/lib/cjs/ValueProvider.cjs +0 -143
- package/dist/lib/cjs/codemirror/StateFieldSpec.cjs +0 -120
- package/dist/lib/cjs/obsidian/App.cjs +0 -170
- package/dist/lib/cjs/obsidian/AsyncWithNotice.cjs +0 -200
- package/dist/lib/cjs/obsidian/AsyncWithNotice.d.cts +0 -82
- package/dist/lib/cjs/obsidian/AttachmentPath.cjs +0 -234
- package/dist/lib/cjs/obsidian/AttachmentPath.d.cts +0 -181
- package/dist/lib/cjs/obsidian/Backlink.cjs +0 -206
- package/dist/lib/cjs/obsidian/Backlink.d.cts +0 -61
- package/dist/lib/cjs/obsidian/Callout.cjs +0 -203
- package/dist/lib/cjs/obsidian/Callout.d.cts +0 -61
- package/dist/lib/cjs/obsidian/CodeBlockMarkdownInformation.cjs +0 -120
- package/dist/lib/cjs/obsidian/Commands/AbstractFileCommandBase.cjs +0 -436
- package/dist/lib/cjs/obsidian/Commands/AbstractFileCommandBase.d.cts +0 -264
- package/dist/lib/cjs/obsidian/Commands/CommandBase.cjs +0 -252
- package/dist/lib/cjs/obsidian/Commands/EditorCommandBase.cjs +0 -278
- package/dist/lib/cjs/obsidian/Commands/EditorCommandBase.d.cts +0 -139
- package/dist/lib/cjs/obsidian/Commands/FileCommandBase.cjs +0 -338
- package/dist/lib/cjs/obsidian/Commands/FileCommandBase.d.cts +0 -191
- package/dist/lib/cjs/obsidian/Commands/FolderCommandBase.cjs +0 -330
- package/dist/lib/cjs/obsidian/Commands/FolderCommandBase.d.cts +0 -184
- package/dist/lib/cjs/obsidian/Commands/NonEditorCommandBase.cjs +0 -152
- package/dist/lib/cjs/obsidian/Commands/NonEditorCommandBase.d.cts +0 -34
- package/dist/lib/cjs/obsidian/Commands/index.cjs +0 -157
- package/dist/lib/cjs/obsidian/Commands/index.d.cts +0 -6
- package/dist/lib/cjs/obsidian/Components/AsyncEventsComponent.cjs +0 -149
- package/dist/lib/cjs/obsidian/Components/AsyncEventsComponent.d.cts +0 -25
- package/dist/lib/cjs/obsidian/Components/SettingComponents/CheckboxComponent.cjs +0 -205
- package/dist/lib/cjs/obsidian/Components/SettingComponents/CheckboxComponent.d.cts +0 -69
- package/dist/lib/cjs/obsidian/Components/SettingComponents/CodeHighlighterComponent.cjs +0 -352
- package/dist/lib/cjs/obsidian/Components/SettingComponents/CodeHighlighterComponent.d.cts +0 -118
- package/dist/lib/cjs/obsidian/Components/SettingComponents/DateComponent.cjs +0 -165
- package/dist/lib/cjs/obsidian/Components/SettingComponents/DateComponent.d.cts +0 -37
- package/dist/lib/cjs/obsidian/Components/SettingComponents/DateTimeComponent.cjs +0 -165
- package/dist/lib/cjs/obsidian/Components/SettingComponents/DateTimeComponent.d.cts +0 -37
- package/dist/lib/cjs/obsidian/Components/SettingComponents/EmailComponent.cjs +0 -176
- package/dist/lib/cjs/obsidian/Components/SettingComponents/EmailComponent.d.cts +0 -48
- package/dist/lib/cjs/obsidian/Components/SettingComponents/FileComponent.cjs +0 -168
- package/dist/lib/cjs/obsidian/Components/SettingComponents/FileComponent.d.cts +0 -42
- package/dist/lib/cjs/obsidian/Components/SettingComponents/MonthComponent.cjs +0 -173
- package/dist/lib/cjs/obsidian/Components/SettingComponents/MonthComponent.d.cts +0 -50
- package/dist/lib/cjs/obsidian/Components/SettingComponents/MultipleDropdownComponent.cjs +0 -237
- package/dist/lib/cjs/obsidian/Components/SettingComponents/MultipleDropdownComponent.d.cts +0 -87
- package/dist/lib/cjs/obsidian/Components/SettingComponents/MultipleEmailComponent.cjs +0 -162
- package/dist/lib/cjs/obsidian/Components/SettingComponents/MultipleEmailComponent.d.cts +0 -37
- package/dist/lib/cjs/obsidian/Components/SettingComponents/MultipleFileComponent.cjs +0 -169
- package/dist/lib/cjs/obsidian/Components/SettingComponents/MultipleFileComponent.d.cts +0 -42
- package/dist/lib/cjs/obsidian/Components/SettingComponents/MultipleTextComponent.cjs +0 -250
- package/dist/lib/cjs/obsidian/Components/SettingComponents/MultipleTextComponent.d.cts +0 -98
- package/dist/lib/cjs/obsidian/Components/SettingComponents/NumberComponent.cjs +0 -186
- package/dist/lib/cjs/obsidian/Components/SettingComponents/NumberComponent.d.cts +0 -55
- package/dist/lib/cjs/obsidian/Components/SettingComponents/PasswordComponent.cjs +0 -162
- package/dist/lib/cjs/obsidian/Components/SettingComponents/PasswordComponent.d.cts +0 -37
- package/dist/lib/cjs/obsidian/Components/SettingComponents/SettingComponentWrapper.cjs +0 -149
- package/dist/lib/cjs/obsidian/Components/SettingComponents/TelephoneComponent.cjs +0 -176
- package/dist/lib/cjs/obsidian/Components/SettingComponents/TelephoneComponent.d.cts +0 -50
- package/dist/lib/cjs/obsidian/Components/SettingComponents/TextBasedComponent.cjs +0 -161
- package/dist/lib/cjs/obsidian/Components/SettingComponents/TimeComponent.cjs +0 -170
- package/dist/lib/cjs/obsidian/Components/SettingComponents/TimeComponent.d.cts +0 -37
- package/dist/lib/cjs/obsidian/Components/SettingComponents/TriStateCheckboxComponent.cjs +0 -206
- package/dist/lib/cjs/obsidian/Components/SettingComponents/TriStateCheckboxComponent.d.cts +0 -69
- package/dist/lib/cjs/obsidian/Components/SettingComponents/TypedDropdownComponent.cjs +0 -243
- package/dist/lib/cjs/obsidian/Components/SettingComponents/TypedDropdownComponent.d.cts +0 -89
- package/dist/lib/cjs/obsidian/Components/SettingComponents/TypedMultipleDropdownComponent.cjs +0 -245
- package/dist/lib/cjs/obsidian/Components/SettingComponents/TypedMultipleDropdownComponent.d.cts +0 -90
- package/dist/lib/cjs/obsidian/Components/SettingComponents/TypedRangeTextComponent.cjs +0 -164
- package/dist/lib/cjs/obsidian/Components/SettingComponents/TypedRangeTextComponent.d.cts +0 -34
- package/dist/lib/cjs/obsidian/Components/SettingComponents/TypedTextComponent.cjs +0 -220
- package/dist/lib/cjs/obsidian/Components/SettingComponents/TypedTextComponent.d.cts +0 -85
- package/dist/lib/cjs/obsidian/Components/SettingComponents/UrlComponent.cjs +0 -176
- package/dist/lib/cjs/obsidian/Components/SettingComponents/UrlComponent.d.cts +0 -48
- package/dist/lib/cjs/obsidian/Components/SettingComponents/ValidatorComponent.cjs +0 -220
- package/dist/lib/cjs/obsidian/Components/SettingComponents/ValidatorComponent.d.cts +0 -22
- package/dist/lib/cjs/obsidian/Components/SettingComponents/ValueComponentWithChangeTracking.cjs +0 -120
- package/dist/lib/cjs/obsidian/Components/SettingComponents/WeekComponent.cjs +0 -173
- package/dist/lib/cjs/obsidian/Components/SettingComponents/WeekComponent.d.cts +0 -50
- package/dist/lib/cjs/obsidian/Components/SettingComponents/index.cjs +0 -217
- package/dist/lib/cjs/obsidian/Components/SettingComponents/index.d.cts +0 -26
- package/dist/lib/cjs/obsidian/Components/index.cjs +0 -145
- package/dist/lib/cjs/obsidian/Components/index.d.cts +0 -2
- package/dist/lib/cjs/obsidian/Dataview.cjs +0 -353
- package/dist/lib/cjs/obsidian/Dataview.d.cts +0 -214
- package/dist/lib/cjs/obsidian/DataviewLink.cjs +0 -144
- package/dist/lib/cjs/obsidian/DataviewLink.d.cts +0 -24
- package/dist/lib/cjs/obsidian/Editor.cjs +0 -162
- package/dist/lib/cjs/obsidian/FileChange.cjs +0 -473
- package/dist/lib/cjs/obsidian/FileChange.d.cts +0 -119
- package/dist/lib/cjs/obsidian/FileManager.cjs +0 -193
- package/dist/lib/cjs/obsidian/FileManager.d.cts +0 -40
- package/dist/lib/cjs/obsidian/FileSystem.cjs +0 -406
- package/dist/lib/cjs/obsidian/FileSystem.d.cts +0 -279
- package/dist/lib/cjs/obsidian/Frontmatter.cjs +0 -149
- package/dist/lib/cjs/obsidian/Frontmatter.d.cts +0 -74
- package/dist/lib/cjs/obsidian/FrontmatterLinkCacheWithOffsets.cjs +0 -151
- package/dist/lib/cjs/obsidian/Link.cjs +0 -887
- package/dist/lib/cjs/obsidian/Link.d.cts +0 -716
- package/dist/lib/cjs/obsidian/Logger.cjs +0 -174
- package/dist/lib/cjs/obsidian/Loop.cjs +0 -225
- package/dist/lib/cjs/obsidian/Markdown.cjs +0 -285
- package/dist/lib/cjs/obsidian/Markdown.d.cts +0 -79
- package/dist/lib/cjs/obsidian/MarkdownCodeBlockProcessor.cjs +0 -362
- package/dist/lib/cjs/obsidian/MarkdownCodeBlockProcessor.d.cts +0 -107
- package/dist/lib/cjs/obsidian/MarkdownView.cjs +0 -140
- package/dist/lib/cjs/obsidian/MetadataCache.cjs +0 -367
- package/dist/lib/cjs/obsidian/MetadataCache.d.cts +0 -137
- package/dist/lib/cjs/obsidian/Modals/Alert.cjs +0 -166
- package/dist/lib/cjs/obsidian/Modals/Confirm.cjs +0 -175
- package/dist/lib/cjs/obsidian/Modals/ModalBase.cjs +0 -158
- package/dist/lib/cjs/obsidian/Modals/ModalBase.d.cts +0 -42
- package/dist/lib/cjs/obsidian/Modals/Prompt.cjs +0 -210
- package/dist/lib/cjs/obsidian/Modals/Prompt.d.cts +0 -53
- package/dist/lib/cjs/obsidian/Modals/SelectItem.cjs +0 -170
- package/dist/lib/cjs/obsidian/Modals/SelectItem.d.cts +0 -43
- package/dist/lib/cjs/obsidian/Modals/index.cjs +0 -154
- package/dist/lib/cjs/obsidian/Modals/index.d.cts +0 -5
- package/dist/lib/cjs/obsidian/MonkeyAround.cjs +0 -173
- package/dist/lib/cjs/obsidian/ObsidianSettings.cjs +0 -139
- package/dist/lib/cjs/obsidian/Pdf.cjs +0 -162
- package/dist/lib/cjs/obsidian/Plugin/ObsidianPluginRepoPaths.cjs +0 -179
- package/dist/lib/cjs/obsidian/Plugin/PathSettings.cjs +0 -235
- package/dist/lib/cjs/obsidian/Plugin/PathSettings.d.cts +0 -43
- package/dist/lib/cjs/obsidian/Plugin/Plugin.cjs +0 -146
- package/dist/lib/cjs/obsidian/Plugin/PluginBase.cjs +0 -453
- package/dist/lib/cjs/obsidian/Plugin/PluginBase.d.cts +0 -200
- package/dist/lib/cjs/obsidian/Plugin/PluginContext.cjs +0 -165
- package/dist/lib/cjs/obsidian/Plugin/PluginId.cjs +0 -145
- package/dist/lib/cjs/obsidian/Plugin/PluginSettingsManagerBase.cjs +0 -483
- package/dist/lib/cjs/obsidian/Plugin/PluginSettingsManagerBase.d.cts +0 -186
- package/dist/lib/cjs/obsidian/Plugin/PluginSettingsTabBase.cjs +0 -401
- package/dist/lib/cjs/obsidian/Plugin/PluginSettingsTabBase.d.cts +0 -148
- package/dist/lib/cjs/obsidian/Plugin/PluginSettingsWrapper.cjs +0 -120
- package/dist/lib/cjs/obsidian/Plugin/PluginSettingsWrapper.d.cts +0 -25
- package/dist/lib/cjs/obsidian/Plugin/PluginTypesBase.cjs +0 -120
- package/dist/lib/cjs/obsidian/Plugin/PluginTypesBase.d.cts +0 -87
- package/dist/lib/cjs/obsidian/Plugin/index.cjs +0 -169
- package/dist/lib/cjs/obsidian/Plugin/index.d.cts +0 -10
- package/dist/lib/cjs/obsidian/Queue.cjs +0 -201
- package/dist/lib/cjs/obsidian/React/AppContext.cjs +0 -140
- package/dist/lib/cjs/obsidian/React/index.cjs +0 -142
- package/dist/lib/cjs/obsidian/React/index.d.cts +0 -1
- package/dist/lib/cjs/obsidian/Reference.cjs +0 -177
- package/dist/lib/cjs/obsidian/Reference.d.cts +0 -82
- package/dist/lib/cjs/obsidian/RenameDeleteHandler.cjs +0 -837
- package/dist/lib/cjs/obsidian/ResourceUrl.cjs +0 -139
- package/dist/lib/cjs/obsidian/SettingEx.cjs +0 -361
- package/dist/lib/cjs/obsidian/SettingEx.d.cts +0 -182
- package/dist/lib/cjs/obsidian/SettingGroupEx.cjs +0 -154
- package/dist/lib/cjs/obsidian/SettingGroupEx.d.cts +0 -25
- package/dist/lib/cjs/obsidian/Validation.cjs +0 -159
- package/dist/lib/cjs/obsidian/Vault.cjs +0 -499
- package/dist/lib/cjs/obsidian/Vault.d.cts +0 -237
- package/dist/lib/cjs/obsidian/VaultEx.cjs +0 -198
- package/dist/lib/cjs/obsidian/VaultEx.d.cts +0 -36
- package/dist/lib/cjs/obsidian/Workspace.cjs +0 -143
- package/dist/lib/cjs/obsidian/i18n/CustomTypeOptionsBase.cjs +0 -121
- package/dist/lib/cjs/obsidian/i18n/CustomTypeOptionsBase.d.cts +0 -31
- package/dist/lib/cjs/obsidian/i18n/DefaultTranslationsBase.cjs +0 -121
- package/dist/lib/cjs/obsidian/i18n/DefaultTranslationsBase.d.cts +0 -25
- package/dist/lib/esm/AbortController.mjs +0 -101
- package/dist/lib/esm/Array.mjs +0 -61
- package/dist/lib/esm/Async.d.mts +0 -326
- package/dist/lib/esm/Async.mjs +0 -354
- package/dist/lib/esm/AsyncEvents.mjs +0 -213
- package/dist/lib/esm/Blob.d.mts +0 -41
- package/dist/lib/esm/Blob.mjs +0 -94
- package/dist/lib/esm/CssClass.mjs +0 -63
- package/dist/lib/esm/Debug.d.mts +0 -47
- package/dist/lib/esm/Debug.mjs +0 -152
- package/dist/lib/esm/Enum.mjs +0 -33
- package/dist/lib/esm/Error.mjs +0 -131
- package/dist/lib/esm/Function.mjs +0 -42
- package/dist/lib/esm/HTMLElement.d.mts +0 -122
- package/dist/lib/esm/HTMLElement.mjs +0 -171
- package/dist/lib/esm/Library.mjs +0 -30
- package/dist/lib/esm/ObjectUtils.d.mts +0 -255
- package/dist/lib/esm/ObjectUtils.mjs +0 -435
- package/dist/lib/esm/Path.mjs +0 -90
- package/dist/lib/esm/RegExp.mjs +0 -144
- package/dist/lib/esm/ScriptUtils/CliUtils.d.mts +0 -72
- package/dist/lib/esm/ScriptUtils/CliUtils.mjs +0 -148
- package/dist/lib/esm/ScriptUtils/CodeGenerator.mjs +0 -33
- package/dist/lib/esm/ScriptUtils/ESLint/ESLint.mjs +0 -66
- package/dist/lib/esm/ScriptUtils/ESLint/eslint.config.mjs +0 -485
- package/dist/lib/esm/ScriptUtils/ESLint/index.d.mts +0 -2
- package/dist/lib/esm/ScriptUtils/ESLint/index.mjs +0 -28
- package/dist/lib/esm/ScriptUtils/Exec.d.mts +0 -84
- package/dist/lib/esm/ScriptUtils/Exec.mjs +0 -111
- package/dist/lib/esm/ScriptUtils/Fs.d.mts +0 -75
- package/dist/lib/esm/ScriptUtils/Fs.mjs +0 -78
- package/dist/lib/esm/ScriptUtils/JSON.d.mts +0 -65
- package/dist/lib/esm/ScriptUtils/JSON.mjs +0 -74
- package/dist/lib/esm/ScriptUtils/NodeModules.mjs +0 -92
- package/dist/lib/esm/ScriptUtils/Npm.d.mts +0 -149
- package/dist/lib/esm/ScriptUtils/Npm.mjs +0 -120
- package/dist/lib/esm/ScriptUtils/NpmPublish.mjs +0 -44
- package/dist/lib/esm/ScriptUtils/NpmRun.mjs +0 -44
- package/dist/lib/esm/ScriptUtils/ObsidianDevUtilsRepoPaths.d.mts +0 -100
- package/dist/lib/esm/ScriptUtils/ObsidianDevUtilsRepoPaths.mjs +0 -72
- package/dist/lib/esm/ScriptUtils/Root.d.mts +0 -68
- package/dist/lib/esm/ScriptUtils/Root.mjs +0 -80
- package/dist/lib/esm/ScriptUtils/build.mjs +0 -76
- package/dist/lib/esm/ScriptUtils/cli.d.mts +0 -15
- package/dist/lib/esm/ScriptUtils/cli.mjs +0 -107
- package/dist/lib/esm/ScriptUtils/esbuild/Dependency.mjs +0 -109
- package/dist/lib/esm/ScriptUtils/esbuild/ObsidianPluginBuilder.d.mts +0 -58
- package/dist/lib/esm/ScriptUtils/esbuild/ObsidianPluginBuilder.mjs +0 -165
- package/dist/lib/esm/ScriptUtils/esbuild/changeExtensionPlugin.mjs +0 -58
- package/dist/lib/esm/ScriptUtils/esbuild/copyToObsidianPluginsFolderPlugin.mjs +0 -71
- package/dist/lib/esm/ScriptUtils/esbuild/customEsbuildOptionsPlugin.mjs +0 -33
- package/dist/lib/esm/ScriptUtils/esbuild/fixEsmPlugin.mjs +0 -39
- package/dist/lib/esm/ScriptUtils/esbuild/fixSourceMapsPlugin.mjs +0 -69
- package/dist/lib/esm/ScriptUtils/esbuild/index.d.mts +0 -10
- package/dist/lib/esm/ScriptUtils/esbuild/index.mjs +0 -44
- package/dist/lib/esm/ScriptUtils/esbuild/preprocessPlugin.mjs +0 -185
- package/dist/lib/esm/ScriptUtils/esbuild/renameCssPlugin.mjs +0 -45
- package/dist/lib/esm/ScriptUtils/esbuild/svelteWrapperPlugin.mjs +0 -56
- package/dist/lib/esm/ScriptUtils/format.mjs +0 -52
- package/dist/lib/esm/ScriptUtils/index.d.mts +0 -19
- package/dist/lib/esm/ScriptUtils/index.mjs +0 -62
- package/dist/lib/esm/ScriptUtils/markdownlint/index.d.mts +0 -2
- package/dist/lib/esm/ScriptUtils/markdownlint/index.mjs +0 -28
- package/dist/lib/esm/ScriptUtils/markdownlint/markdownlint-cli2-config.d.mts +0 -10
- package/dist/lib/esm/ScriptUtils/markdownlint/markdownlint-cli2-config.mjs +0 -56
- package/dist/lib/esm/ScriptUtils/markdownlint/markdownlint.d.mts +0 -11
- package/dist/lib/esm/ScriptUtils/markdownlint/markdownlint.mjs +0 -98
- package/dist/lib/esm/ScriptUtils/spellcheck.mjs +0 -29
- package/dist/lib/esm/ScriptUtils/version.d.mts +0 -167
- package/dist/lib/esm/ScriptUtils/version.mjs +0 -384
- package/dist/lib/esm/String.d.mts +0 -186
- package/dist/lib/esm/String.mjs +0 -211
- package/dist/lib/esm/Transformers/DateTransformer.d.mts +0 -38
- package/dist/lib/esm/Transformers/DateTransformer.mjs +0 -63
- package/dist/lib/esm/Transformers/DurationTransformer.d.mts +0 -38
- package/dist/lib/esm/Transformers/DurationTransformer.mjs +0 -65
- package/dist/lib/esm/Transformers/GroupTransformer.d.mts +0 -69
- package/dist/lib/esm/Transformers/GroupTransformer.mjs +0 -112
- package/dist/lib/esm/Transformers/MapTransformer.d.mts +0 -40
- package/dist/lib/esm/Transformers/MapTransformer.mjs +0 -63
- package/dist/lib/esm/Transformers/SetTransformer.d.mts +0 -38
- package/dist/lib/esm/Transformers/SetTransformer.mjs +0 -63
- package/dist/lib/esm/Transformers/SkipPrivatePropertyTransformer.d.mts +0 -35
- package/dist/lib/esm/Transformers/SkipPrivatePropertyTransformer.mjs +0 -61
- package/dist/lib/esm/Transformers/Transformer.d.mts +0 -69
- package/dist/lib/esm/Transformers/Transformer.mjs +0 -104
- package/dist/lib/esm/Transformers/TwoWayMapTransformer.d.mts +0 -41
- package/dist/lib/esm/Transformers/TwoWayMapTransformer.mjs +0 -64
- package/dist/lib/esm/Transformers/TypedTransformer.d.mts +0 -38
- package/dist/lib/esm/Transformers/TypedTransformer.mjs +0 -28
- package/dist/lib/esm/Transformers/index.d.mts +0 -9
- package/dist/lib/esm/Transformers/index.mjs +0 -42
- package/dist/lib/esm/TwoWayMap.mjs +0 -142
- package/dist/lib/esm/Type.mjs +0 -36
- package/dist/lib/esm/TypeGuards.mjs +0 -47
- package/dist/lib/esm/ValueProvider.mjs +0 -37
- package/dist/lib/esm/obsidian/App.mjs +0 -62
- package/dist/lib/esm/obsidian/AsyncWithNotice.d.mts +0 -82
- package/dist/lib/esm/obsidian/AsyncWithNotice.mjs +0 -96
- package/dist/lib/esm/obsidian/AttachmentPath.d.mts +0 -181
- package/dist/lib/esm/obsidian/AttachmentPath.mjs +0 -139
- package/dist/lib/esm/obsidian/Backlink.d.mts +0 -61
- package/dist/lib/esm/obsidian/Backlink.mjs +0 -103
- package/dist/lib/esm/obsidian/Callout.d.mts +0 -61
- package/dist/lib/esm/obsidian/Callout.mjs +0 -95
- package/dist/lib/esm/obsidian/Commands/AbstractFileCommandBase.d.mts +0 -264
- package/dist/lib/esm/obsidian/Commands/AbstractFileCommandBase.mjs +0 -326
- package/dist/lib/esm/obsidian/Commands/CommandBase.mjs +0 -145
- package/dist/lib/esm/obsidian/Commands/EditorCommandBase.d.mts +0 -139
- package/dist/lib/esm/obsidian/Commands/EditorCommandBase.mjs +0 -174
- package/dist/lib/esm/obsidian/Commands/FileCommandBase.d.mts +0 -191
- package/dist/lib/esm/obsidian/Commands/FileCommandBase.mjs +0 -237
- package/dist/lib/esm/obsidian/Commands/FolderCommandBase.d.mts +0 -184
- package/dist/lib/esm/obsidian/Commands/FolderCommandBase.mjs +0 -229
- package/dist/lib/esm/obsidian/Commands/NonEditorCommandBase.d.mts +0 -34
- package/dist/lib/esm/obsidian/Commands/NonEditorCommandBase.mjs +0 -46
- package/dist/lib/esm/obsidian/Commands/index.d.mts +0 -6
- package/dist/lib/esm/obsidian/Commands/index.mjs +0 -36
- package/dist/lib/esm/obsidian/Components/AsyncEventsComponent.d.mts +0 -25
- package/dist/lib/esm/obsidian/Components/AsyncEventsComponent.mjs +0 -42
- package/dist/lib/esm/obsidian/Components/SettingComponents/CheckboxComponent.d.mts +0 -69
- package/dist/lib/esm/obsidian/Components/SettingComponents/CheckboxComponent.mjs +0 -99
- package/dist/lib/esm/obsidian/Components/SettingComponents/CodeHighlighterComponent.d.mts +0 -118
- package/dist/lib/esm/obsidian/Components/SettingComponents/CodeHighlighterComponent.mjs +0 -252
- package/dist/lib/esm/obsidian/Components/SettingComponents/DateComponent.d.mts +0 -37
- package/dist/lib/esm/obsidian/Components/SettingComponents/DateComponent.mjs +0 -59
- package/dist/lib/esm/obsidian/Components/SettingComponents/DateTimeComponent.d.mts +0 -37
- package/dist/lib/esm/obsidian/Components/SettingComponents/DateTimeComponent.mjs +0 -59
- package/dist/lib/esm/obsidian/Components/SettingComponents/EmailComponent.d.mts +0 -48
- package/dist/lib/esm/obsidian/Components/SettingComponents/EmailComponent.mjs +0 -70
- package/dist/lib/esm/obsidian/Components/SettingComponents/FileComponent.d.mts +0 -42
- package/dist/lib/esm/obsidian/Components/SettingComponents/FileComponent.mjs +0 -62
- package/dist/lib/esm/obsidian/Components/SettingComponents/MonthComponent.d.mts +0 -50
- package/dist/lib/esm/obsidian/Components/SettingComponents/MonthComponent.mjs +0 -67
- package/dist/lib/esm/obsidian/Components/SettingComponents/MultipleDropdownComponent.d.mts +0 -87
- package/dist/lib/esm/obsidian/Components/SettingComponents/MultipleDropdownComponent.mjs +0 -134
- package/dist/lib/esm/obsidian/Components/SettingComponents/MultipleEmailComponent.d.mts +0 -37
- package/dist/lib/esm/obsidian/Components/SettingComponents/MultipleEmailComponent.mjs +0 -56
- package/dist/lib/esm/obsidian/Components/SettingComponents/MultipleFileComponent.d.mts +0 -42
- package/dist/lib/esm/obsidian/Components/SettingComponents/MultipleFileComponent.mjs +0 -63
- package/dist/lib/esm/obsidian/Components/SettingComponents/MultipleTextComponent.d.mts +0 -98
- package/dist/lib/esm/obsidian/Components/SettingComponents/MultipleTextComponent.mjs +0 -147
- package/dist/lib/esm/obsidian/Components/SettingComponents/NumberComponent.d.mts +0 -55
- package/dist/lib/esm/obsidian/Components/SettingComponents/NumberComponent.mjs +0 -80
- package/dist/lib/esm/obsidian/Components/SettingComponents/PasswordComponent.d.mts +0 -37
- package/dist/lib/esm/obsidian/Components/SettingComponents/PasswordComponent.mjs +0 -56
- package/dist/lib/esm/obsidian/Components/SettingComponents/SettingComponentWrapper.mjs +0 -43
- package/dist/lib/esm/obsidian/Components/SettingComponents/TelephoneComponent.d.mts +0 -50
- package/dist/lib/esm/obsidian/Components/SettingComponents/TelephoneComponent.mjs +0 -70
- package/dist/lib/esm/obsidian/Components/SettingComponents/TextBasedComponent.mjs +0 -55
- package/dist/lib/esm/obsidian/Components/SettingComponents/TimeComponent.d.mts +0 -37
- package/dist/lib/esm/obsidian/Components/SettingComponents/TimeComponent.mjs +0 -64
- package/dist/lib/esm/obsidian/Components/SettingComponents/TriStateCheckboxComponent.d.mts +0 -69
- package/dist/lib/esm/obsidian/Components/SettingComponents/TriStateCheckboxComponent.mjs +0 -100
- package/dist/lib/esm/obsidian/Components/SettingComponents/TypedDropdownComponent.d.mts +0 -89
- package/dist/lib/esm/obsidian/Components/SettingComponents/TypedDropdownComponent.mjs +0 -140
- package/dist/lib/esm/obsidian/Components/SettingComponents/TypedMultipleDropdownComponent.d.mts +0 -90
- package/dist/lib/esm/obsidian/Components/SettingComponents/TypedMultipleDropdownComponent.mjs +0 -139
- package/dist/lib/esm/obsidian/Components/SettingComponents/TypedRangeTextComponent.d.mts +0 -34
- package/dist/lib/esm/obsidian/Components/SettingComponents/TypedRangeTextComponent.mjs +0 -58
- package/dist/lib/esm/obsidian/Components/SettingComponents/TypedTextComponent.d.mts +0 -85
- package/dist/lib/esm/obsidian/Components/SettingComponents/TypedTextComponent.mjs +0 -117
- package/dist/lib/esm/obsidian/Components/SettingComponents/UrlComponent.d.mts +0 -48
- package/dist/lib/esm/obsidian/Components/SettingComponents/UrlComponent.mjs +0 -70
- package/dist/lib/esm/obsidian/Components/SettingComponents/ValidatorComponent.d.mts +0 -22
- package/dist/lib/esm/obsidian/Components/SettingComponents/ValidatorComponent.mjs +0 -123
- package/dist/lib/esm/obsidian/Components/SettingComponents/WeekComponent.d.mts +0 -50
- package/dist/lib/esm/obsidian/Components/SettingComponents/WeekComponent.mjs +0 -67
- package/dist/lib/esm/obsidian/Components/SettingComponents/index.d.mts +0 -26
- package/dist/lib/esm/obsidian/Components/SettingComponents/index.mjs +0 -76
- package/dist/lib/esm/obsidian/Components/index.d.mts +0 -2
- package/dist/lib/esm/obsidian/Components/index.mjs +0 -28
- package/dist/lib/esm/obsidian/Dataview.d.mts +0 -214
- package/dist/lib/esm/obsidian/Dataview.mjs +0 -245
- package/dist/lib/esm/obsidian/DataviewLink.d.mts +0 -24
- package/dist/lib/esm/obsidian/DataviewLink.mjs +0 -41
- package/dist/lib/esm/obsidian/Editor.mjs +0 -58
- package/dist/lib/esm/obsidian/FileChange.d.mts +0 -119
- package/dist/lib/esm/obsidian/FileChange.mjs +0 -378
- package/dist/lib/esm/obsidian/FileManager.d.mts +0 -40
- package/dist/lib/esm/obsidian/FileManager.mjs +0 -92
- package/dist/lib/esm/obsidian/FileSystem.d.mts +0 -279
- package/dist/lib/esm/obsidian/FileSystem.mjs +0 -283
- package/dist/lib/esm/obsidian/Frontmatter.d.mts +0 -74
- package/dist/lib/esm/obsidian/Frontmatter.mjs +0 -46
- package/dist/lib/esm/obsidian/FrontmatterLinkCacheWithOffsets.mjs +0 -44
- package/dist/lib/esm/obsidian/Link.d.mts +0 -716
- package/dist/lib/esm/obsidian/Link.mjs +0 -789
- package/dist/lib/esm/obsidian/Logger.mjs +0 -71
- package/dist/lib/esm/obsidian/Loop.mjs +0 -127
- package/dist/lib/esm/obsidian/Markdown.d.mts +0 -79
- package/dist/lib/esm/obsidian/Markdown.mjs +0 -184
- package/dist/lib/esm/obsidian/MarkdownCodeBlockProcessor.d.mts +0 -107
- package/dist/lib/esm/obsidian/MarkdownCodeBlockProcessor.mjs +0 -262
- package/dist/lib/esm/obsidian/MarkdownView.mjs +0 -34
- package/dist/lib/esm/obsidian/MetadataCache.d.mts +0 -137
- package/dist/lib/esm/obsidian/MetadataCache.mjs +0 -266
- package/dist/lib/esm/obsidian/Modals/Alert.mjs +0 -63
- package/dist/lib/esm/obsidian/Modals/Confirm.mjs +0 -72
- package/dist/lib/esm/obsidian/Modals/ModalBase.d.mts +0 -42
- package/dist/lib/esm/obsidian/Modals/ModalBase.mjs +0 -51
- package/dist/lib/esm/obsidian/Modals/Prompt.d.mts +0 -53
- package/dist/lib/esm/obsidian/Modals/Prompt.mjs +0 -113
- package/dist/lib/esm/obsidian/Modals/SelectItem.d.mts +0 -43
- package/dist/lib/esm/obsidian/Modals/SelectItem.mjs +0 -64
- package/dist/lib/esm/obsidian/Modals/index.d.mts +0 -5
- package/dist/lib/esm/obsidian/Modals/index.mjs +0 -34
- package/dist/lib/esm/obsidian/MonkeyAround.mjs +0 -64
- package/dist/lib/esm/obsidian/ObsidianSettings.mjs +0 -32
- package/dist/lib/esm/obsidian/Pdf.mjs +0 -56
- package/dist/lib/esm/obsidian/Plugin/ObsidianPluginRepoPaths.mjs +0 -73
- package/dist/lib/esm/obsidian/Plugin/PathSettings.d.mts +0 -43
- package/dist/lib/esm/obsidian/Plugin/PathSettings.mjs +0 -133
- package/dist/lib/esm/obsidian/Plugin/Plugin.mjs +0 -39
- package/dist/lib/esm/obsidian/Plugin/PluginBase.d.mts +0 -200
- package/dist/lib/esm/obsidian/Plugin/PluginBase.mjs +0 -363
- package/dist/lib/esm/obsidian/Plugin/PluginContext.mjs +0 -67
- package/dist/lib/esm/obsidian/Plugin/PluginId.mjs +0 -37
- package/dist/lib/esm/obsidian/Plugin/PluginSettingsManagerBase.d.mts +0 -186
- package/dist/lib/esm/obsidian/Plugin/PluginSettingsManagerBase.mjs +0 -383
- package/dist/lib/esm/obsidian/Plugin/PluginSettingsTabBase.d.mts +0 -148
- package/dist/lib/esm/obsidian/Plugin/PluginSettingsTabBase.mjs +0 -304
- package/dist/lib/esm/obsidian/Plugin/PluginSettingsWrapper.d.mts +0 -25
- package/dist/lib/esm/obsidian/Plugin/PluginTypesBase.d.mts +0 -87
- package/dist/lib/esm/obsidian/Plugin/index.d.mts +0 -10
- package/dist/lib/esm/obsidian/Plugin/index.mjs +0 -44
- package/dist/lib/esm/obsidian/Queue.mjs +0 -99
- package/dist/lib/esm/obsidian/React/AppContext.mjs +0 -36
- package/dist/lib/esm/obsidian/React/index.d.mts +0 -1
- package/dist/lib/esm/obsidian/React/index.mjs +0 -26
- package/dist/lib/esm/obsidian/Reference.d.mts +0 -82
- package/dist/lib/esm/obsidian/Reference.mjs +0 -70
- package/dist/lib/esm/obsidian/RenameDeleteHandler.mjs +0 -775
- package/dist/lib/esm/obsidian/ResourceUrl.mjs +0 -33
- package/dist/lib/esm/obsidian/SettingEx.d.mts +0 -182
- package/dist/lib/esm/obsidian/SettingEx.mjs +0 -258
- package/dist/lib/esm/obsidian/SettingGroupEx.d.mts +0 -25
- package/dist/lib/esm/obsidian/SettingGroupEx.mjs +0 -48
- package/dist/lib/esm/obsidian/Validation.mjs +0 -48
- package/dist/lib/esm/obsidian/Vault.d.mts +0 -237
- package/dist/lib/esm/obsidian/Vault.mjs +0 -402
- package/dist/lib/esm/obsidian/VaultEx.d.mts +0 -36
- package/dist/lib/esm/obsidian/VaultEx.mjs +0 -98
- package/dist/lib/esm/obsidian/Workspace.mjs +0 -36
- package/dist/lib/esm/obsidian/i18n/CustomTypeOptionsBase.d.mts +0 -31
- package/dist/lib/esm/obsidian/i18n/CustomTypeOptionsBase.mjs +0 -23
- package/dist/lib/esm/obsidian/i18n/DefaultTranslationsBase.d.mts +0 -25
- package/dist/lib/esm/obsidian/i18n/DefaultTranslationsBase.mjs +0 -23
- package/obsidian/AsyncWithNotice/package.json +0 -6
- package/obsidian/AttachmentPath/package.json +0 -6
- package/obsidian/CodeBlockMarkdownInformation/package.json +0 -6
- package/obsidian/Commands/AbstractFileCommandBase/package.json +0 -6
- package/obsidian/Commands/CommandBase/package.json +0 -6
- package/obsidian/Commands/EditorCommandBase/package.json +0 -6
- package/obsidian/Commands/FileCommandBase/package.json +0 -6
- package/obsidian/Commands/FolderCommandBase/package.json +0 -6
- package/obsidian/Commands/NonEditorCommandBase/package.json +0 -6
- package/obsidian/Components/AsyncEventsComponent/package.json +0 -6
- package/obsidian/Components/SettingComponents/CheckboxComponent/package.json +0 -6
- package/obsidian/Components/SettingComponents/CodeHighlighterComponent/package.json +0 -6
- package/obsidian/Components/SettingComponents/DateComponent/package.json +0 -6
- package/obsidian/Components/SettingComponents/DateTimeComponent/package.json +0 -6
- package/obsidian/Components/SettingComponents/EmailComponent/package.json +0 -6
- package/obsidian/Components/SettingComponents/FileComponent/package.json +0 -6
- package/obsidian/Components/SettingComponents/MonthComponent/package.json +0 -6
- package/obsidian/Components/SettingComponents/MultipleDropdownComponent/package.json +0 -6
- package/obsidian/Components/SettingComponents/MultipleEmailComponent/package.json +0 -6
- package/obsidian/Components/SettingComponents/MultipleFileComponent/package.json +0 -6
- package/obsidian/Components/SettingComponents/MultipleTextComponent/package.json +0 -6
- package/obsidian/Components/SettingComponents/NumberComponent/package.json +0 -6
- package/obsidian/Components/SettingComponents/PasswordComponent/package.json +0 -6
- package/obsidian/Components/SettingComponents/SettingComponentWrapper/package.json +0 -6
- package/obsidian/Components/SettingComponents/TelephoneComponent/package.json +0 -6
- package/obsidian/Components/SettingComponents/TextBasedComponent/package.json +0 -6
- package/obsidian/Components/SettingComponents/TimeComponent/package.json +0 -6
- package/obsidian/Components/SettingComponents/TriStateCheckboxComponent/package.json +0 -6
- package/obsidian/Components/SettingComponents/TypedDropdownComponent/package.json +0 -6
- package/obsidian/Components/SettingComponents/TypedMultipleDropdownComponent/package.json +0 -6
- package/obsidian/Components/SettingComponents/TypedRangeTextComponent/package.json +0 -6
- package/obsidian/Components/SettingComponents/TypedTextComponent/package.json +0 -6
- package/obsidian/Components/SettingComponents/UrlComponent/package.json +0 -6
- package/obsidian/Components/SettingComponents/ValidatorComponent/package.json +0 -6
- package/obsidian/Components/SettingComponents/ValueComponentWithChangeTracking/package.json +0 -6
- package/obsidian/Components/SettingComponents/WeekComponent/package.json +0 -6
- package/obsidian/Components/SettingComponents/index/package.json +0 -6
- package/obsidian/Components/SettingComponents/package.json +0 -6
- package/obsidian/DataviewLink/package.json +0 -6
- package/obsidian/FileChange/package.json +0 -6
- package/obsidian/FileManager/package.json +0 -6
- package/obsidian/FileSystem/package.json +0 -6
- package/obsidian/FrontmatterLinkCacheWithOffsets/package.json +0 -6
- package/obsidian/MarkdownCodeBlockProcessor/package.json +0 -6
- package/obsidian/MarkdownView/package.json +0 -6
- package/obsidian/MetadataCache/package.json +0 -6
- package/obsidian/Modals/ModalBase/package.json +0 -6
- package/obsidian/Modals/SelectItem/package.json +0 -6
- package/obsidian/MonkeyAround/package.json +0 -6
- package/obsidian/ObsidianSettings/package.json +0 -6
- package/obsidian/Plugin/ObsidianPluginRepoPaths/package.json +0 -6
- package/obsidian/Plugin/PathSettings/package.json +0 -6
- package/obsidian/Plugin/PluginBase/package.json +0 -6
- package/obsidian/Plugin/PluginContext/package.json +0 -6
- package/obsidian/Plugin/PluginId/package.json +0 -6
- package/obsidian/Plugin/PluginSettingsManagerBase/package.json +0 -6
- package/obsidian/Plugin/PluginSettingsTabBase/package.json +0 -6
- package/obsidian/Plugin/PluginSettingsWrapper/package.json +0 -6
- package/obsidian/Plugin/PluginTypesBase/package.json +0 -6
- package/obsidian/React/AppContext/package.json +0 -6
- package/obsidian/RenameDeleteHandler/package.json +0 -6
- package/obsidian/ResourceUrl/package.json +0 -6
- package/obsidian/SettingEx/package.json +0 -6
- package/obsidian/SettingGroupEx/package.json +0 -6
- package/obsidian/VaultEx/package.json +0 -6
- package/obsidian/i18n/CustomTypeOptionsBase/package.json +0 -6
- package/obsidian/i18n/DefaultTranslationsBase/package.json +0 -6
- /package/dist/lib/cjs/{AbortController.d.cts → abort-controller.d.cts} +0 -0
- /package/dist/lib/cjs/{Array.d.cts → array.d.cts} +0 -0
- /package/dist/lib/cjs/{AsyncEvents.d.cts → async-events.d.cts} +0 -0
- /package/dist/lib/cjs/codemirror/{StateFieldSpec.d.cts → state-field-spec.d.cts} +0 -0
- /package/dist/lib/cjs/{CssClass.d.cts → css-class.d.cts} +0 -0
- /package/dist/lib/cjs/{DebugController.d.cts → debug-controller.d.cts} +0 -0
- /package/dist/lib/cjs/{Enum.d.cts → enum.d.cts} +0 -0
- /package/dist/lib/cjs/{Error.d.cts → error.d.cts} +0 -0
- /package/dist/lib/cjs/{Function.d.cts → function.d.cts} +0 -0
- /package/dist/lib/cjs/{Library.d.cts → library.d.cts} +0 -0
- /package/dist/lib/cjs/obsidian/@types/{Dataview → dataview}/api/data-array.d.cts +0 -0
- /package/dist/lib/cjs/obsidian/@types/{Dataview → dataview}/api/extensions.d.cts +0 -0
- /package/dist/lib/cjs/obsidian/@types/{Dataview → dataview}/api/inline-api.d.cts +0 -0
- /package/dist/lib/cjs/obsidian/@types/{Dataview → dataview}/api/plugin-api.d.cts +0 -0
- /package/dist/lib/cjs/obsidian/@types/{Dataview → dataview}/api/result.d.cts +0 -0
- /package/dist/lib/cjs/obsidian/@types/{Dataview → dataview}/data-import/common.d.cts +0 -0
- /package/dist/lib/cjs/obsidian/@types/{Dataview → dataview}/data-import/csv.d.cts +0 -0
- /package/dist/lib/cjs/obsidian/@types/{Dataview → dataview}/data-import/inline-field.d.cts +0 -0
- /package/dist/lib/cjs/obsidian/@types/{Dataview → dataview}/data-import/markdown-file.d.cts +0 -0
- /package/dist/lib/cjs/obsidian/@types/{Dataview → dataview}/data-import/persister.d.cts +0 -0
- /package/dist/lib/cjs/obsidian/@types/{Dataview → dataview}/data-import/web-worker/import-entry.d.cts +0 -0
- /package/dist/lib/cjs/obsidian/@types/{Dataview → dataview}/data-import/web-worker/import-impl.d.cts +0 -0
- /package/dist/lib/cjs/obsidian/@types/{Dataview → dataview}/data-import/web-worker/import-manager.d.cts +0 -0
- /package/dist/lib/cjs/obsidian/@types/{Dataview → dataview}/data-index/index.d.cts +0 -0
- /package/dist/lib/cjs/obsidian/@types/{Dataview → dataview}/data-index/resolver.d.cts +0 -0
- /package/dist/lib/cjs/obsidian/@types/{Dataview → dataview}/data-index/source.d.cts +0 -0
- /package/dist/lib/cjs/obsidian/@types/{Dataview → dataview}/data-model/markdown.d.cts +0 -0
- /package/dist/lib/cjs/obsidian/@types/{Dataview → dataview}/data-model/serialized/markdown.d.cts +0 -0
- /package/dist/lib/cjs/obsidian/@types/{Dataview → dataview}/data-model/transferable.d.cts +0 -0
- /package/dist/lib/cjs/obsidian/@types/{Dataview → dataview}/data-model/value.d.cts +0 -0
- /package/dist/lib/cjs/obsidian/@types/{Dataview → dataview}/expression/binaryop.d.cts +0 -0
- /package/dist/lib/cjs/obsidian/@types/{Dataview → dataview}/expression/context.d.cts +0 -0
- /package/dist/lib/cjs/obsidian/@types/{Dataview → dataview}/expression/field.d.cts +0 -0
- /package/dist/lib/cjs/obsidian/@types/{Dataview → dataview}/expression/functions.d.cts +0 -0
- /package/dist/lib/cjs/obsidian/@types/{Dataview → dataview}/expression/parse.d.cts +0 -0
- /package/dist/lib/cjs/obsidian/@types/{Dataview → dataview}/index.d.cts +0 -0
- /package/dist/lib/cjs/obsidian/@types/{Dataview → dataview}/main.d.cts +0 -0
- /package/dist/lib/cjs/obsidian/@types/{Dataview → dataview}/query/engine.d.cts +0 -0
- /package/dist/lib/cjs/obsidian/@types/{Dataview → dataview}/query/parse.d.cts +0 -0
- /package/dist/lib/cjs/obsidian/@types/{Dataview → dataview}/query/query.d.cts +0 -0
- /package/dist/lib/cjs/obsidian/@types/{Dataview → dataview}/settings.d.cts +0 -0
- /package/dist/lib/cjs/obsidian/@types/{Dataview → dataview}/typings/obsidian-ex.d.cts +0 -0
- /package/dist/lib/cjs/obsidian/@types/{Dataview → dataview}/typings/workers.d.cts +0 -0
- /package/dist/lib/cjs/obsidian/@types/{Dataview → dataview}/ui/export/markdown.d.cts +0 -0
- /package/dist/lib/cjs/obsidian/@types/{Dataview → dataview}/ui/lp-render.d.cts +0 -0
- /package/dist/lib/cjs/obsidian/@types/{Dataview → dataview}/ui/markdown.d.cts +0 -0
- /package/dist/lib/cjs/obsidian/@types/{Dataview → dataview}/ui/refreshable-view.d.cts +0 -0
- /package/dist/lib/cjs/obsidian/@types/{Dataview → dataview}/ui/render.d.cts +0 -0
- /package/dist/lib/cjs/obsidian/@types/{Dataview → dataview}/ui/views/calendar-view.d.cts +0 -0
- /package/dist/lib/cjs/obsidian/@types/{Dataview → dataview}/ui/views/inline-field-live-preview.d.cts +0 -0
- /package/dist/lib/cjs/obsidian/@types/{Dataview → dataview}/ui/views/inline-view.d.cts +0 -0
- /package/dist/lib/cjs/obsidian/@types/{Dataview → dataview}/ui/views/js-view.d.cts +0 -0
- /package/dist/lib/cjs/obsidian/@types/{Dataview → dataview}/ui/views/list-view.d.cts +0 -0
- /package/dist/lib/cjs/obsidian/@types/{Dataview → dataview}/ui/views/table-view.d.cts +0 -0
- /package/dist/lib/cjs/obsidian/@types/{Dataview → dataview}/ui/views/task-view.d.cts +0 -0
- /package/dist/lib/cjs/obsidian/@types/{Dataview → dataview}/util/hash.d.cts +0 -0
- /package/dist/lib/cjs/obsidian/@types/{Dataview → dataview}/util/locale.d.cts +0 -0
- /package/dist/lib/cjs/obsidian/@types/{Dataview → dataview}/util/media.d.cts +0 -0
- /package/dist/lib/cjs/obsidian/@types/{Dataview → dataview}/util/normalize.d.cts +0 -0
- /package/dist/lib/cjs/obsidian/{App.d.cts → app.d.cts} +0 -0
- /package/dist/lib/cjs/obsidian/{CodeBlockMarkdownInformation.d.cts → code-block-markdown-information.d.cts} +0 -0
- /package/dist/lib/cjs/obsidian/{Commands/CommandBase.d.cts → commands/command-base.d.cts} +0 -0
- /package/dist/lib/cjs/obsidian/{Components/SettingComponents/SettingComponentWrapper.d.cts → components/setting-components/setting-component-wrapper.d.cts} +0 -0
- /package/dist/lib/cjs/obsidian/{Components/SettingComponents/TextBasedComponent.d.cts → components/setting-components/text-based-component.d.cts} +0 -0
- /package/dist/lib/cjs/obsidian/{Components/SettingComponents/ValueComponentWithChangeTracking.d.cts → components/setting-components/value-component-with-change-tracking.d.cts} +0 -0
- /package/dist/lib/cjs/obsidian/{Editor.d.cts → editor.d.cts} +0 -0
- /package/dist/lib/cjs/obsidian/{FrontmatterLinkCacheWithOffsets.d.cts → frontmatter-link-cache-with-offsets.d.cts} +0 -0
- /package/dist/lib/cjs/obsidian/{Logger.d.cts → logger.d.cts} +0 -0
- /package/dist/lib/cjs/obsidian/{Loop.d.cts → loop.d.cts} +0 -0
- /package/dist/lib/cjs/obsidian/{MarkdownView.d.cts → markdown-view.d.cts} +0 -0
- /package/dist/lib/cjs/obsidian/{Modals/Alert.d.cts → modals/alert.d.cts} +0 -0
- /package/dist/lib/cjs/obsidian/{Modals/Confirm.d.cts → modals/confirm.d.cts} +0 -0
- /package/dist/lib/cjs/obsidian/{MonkeyAround.d.cts → monkey-around.d.cts} +0 -0
- /package/dist/lib/cjs/obsidian/{ObsidianSettings.d.cts → obsidian-settings.d.cts} +0 -0
- /package/dist/lib/cjs/obsidian/{Pdf.d.cts → pdf.d.cts} +0 -0
- /package/dist/lib/cjs/obsidian/{Plugin/ObsidianPluginRepoPaths.d.cts → plugin/obsidian-plugin-repo-paths.d.cts} +0 -0
- /package/dist/lib/cjs/obsidian/{Plugin/PluginContext.d.cts → plugin/plugin-context.d.cts} +0 -0
- /package/dist/lib/cjs/obsidian/{Plugin/PluginId.d.cts → plugin/plugin-id.d.cts} +0 -0
- /package/dist/lib/cjs/obsidian/{Plugin/Plugin.d.cts → plugin/plugin.d.cts} +0 -0
- /package/dist/lib/cjs/obsidian/{Queue.d.cts → queue.d.cts} +0 -0
- /package/dist/lib/cjs/obsidian/{React/AppContext.d.cts → react/app-context.d.cts} +0 -0
- /package/dist/lib/cjs/obsidian/{RenameDeleteHandler.d.cts → rename-delete-handler.d.cts} +0 -0
- /package/dist/lib/cjs/obsidian/{ResourceUrl.d.cts → resource-url.d.cts} +0 -0
- /package/dist/lib/cjs/obsidian/{Validation.d.cts → validation.d.cts} +0 -0
- /package/dist/lib/cjs/obsidian/{Workspace.d.cts → workspace.d.cts} +0 -0
- /package/dist/lib/cjs/{Path.d.cts → path.d.cts} +0 -0
- /package/dist/lib/cjs/{RegExp.d.cts → reg-exp.d.cts} +0 -0
- /package/dist/lib/cjs/{ScriptUtils → script-utils}/build.d.cts +0 -0
- /package/dist/lib/cjs/{ScriptUtils/esbuild → script-utils/bundlers/esbuild-impl}/changeExtensionPlugin.d.cts +0 -0
- /package/dist/lib/cjs/{ScriptUtils/esbuild → script-utils/bundlers/esbuild-impl}/copyToObsidianPluginsFolderPlugin.d.cts +0 -0
- /package/dist/lib/cjs/{ScriptUtils/esbuild → script-utils/bundlers/esbuild-impl}/customEsbuildOptionsPlugin.d.cts +0 -0
- /package/dist/lib/cjs/{ScriptUtils/esbuild/Dependency.d.cts → script-utils/bundlers/esbuild-impl/dependency.d.cts} +0 -0
- /package/dist/lib/cjs/{ScriptUtils/esbuild → script-utils/bundlers/esbuild-impl}/fixEsmPlugin.d.cts +0 -0
- /package/dist/lib/cjs/{ScriptUtils/esbuild → script-utils/bundlers/esbuild-impl}/fixSourceMapsPlugin.d.cts +0 -0
- /package/dist/lib/cjs/{ScriptUtils/esbuild → script-utils/bundlers/esbuild-impl}/preprocessPlugin.d.cts +0 -0
- /package/dist/lib/cjs/{ScriptUtils/esbuild → script-utils/bundlers/esbuild-impl}/renameCssPlugin.d.cts +0 -0
- /package/dist/lib/cjs/{ScriptUtils/esbuild → script-utils/bundlers/esbuild-impl}/svelteWrapperPlugin.d.cts +0 -0
- /package/dist/lib/cjs/{ScriptUtils/CodeGenerator.d.cts → script-utils/code-generator.d.cts} +0 -0
- /package/dist/lib/cjs/{ScriptUtils/format.d.cts → script-utils/formatters/dprint.d.cts} +0 -0
- /package/dist/lib/cjs/{ScriptUtils/spellcheck.d.cts → script-utils/linters/cspell.d.cts} +0 -0
- /package/dist/lib/cjs/{ScriptUtils/ESLint/eslint.config.d.cts → script-utils/linters/eslint-config.d.cts} +0 -0
- /package/dist/lib/cjs/{ScriptUtils/ESLint → script-utils/linters/eslint-types}/@types/@eslint-community__eslint-plugin-eslint-comments__configs.d.cts +0 -0
- /package/dist/lib/cjs/{ScriptUtils/ESLint → script-utils/linters/eslint-types}/@types/@guardian__eslint-plugin-tsdoc-required.d.cts +0 -0
- /package/dist/lib/cjs/{ScriptUtils/ESLint → script-utils/linters/eslint-types}/@types/eslint-plugin-modules-newlines.d.cts +0 -0
- /package/dist/lib/cjs/{ScriptUtils/ESLint → script-utils/linters/eslint-types}/@types/eslint-plugin-verify-tsdoc.d.cts +0 -0
- /package/dist/lib/cjs/{ScriptUtils/ESLint/ESLint.d.cts → script-utils/linters/eslint.d.cts} +0 -0
- /package/dist/lib/cjs/{ScriptUtils/markdownlint → script-utils/linters/markdownlint-types}/@types/markdownlint-cli2-config-schema.d.cts +0 -0
- /package/dist/lib/cjs/{ScriptUtils/NodeModules.d.cts → script-utils/node-modules.d.cts} +0 -0
- /package/dist/lib/cjs/{ScriptUtils/NpmPublish.d.cts → script-utils/npm-publish.d.cts} +0 -0
- /package/dist/lib/cjs/{ScriptUtils/NpmRun.d.cts → script-utils/npm-run.d.cts} +0 -0
- /package/dist/lib/cjs/{TwoWayMap.d.cts → two-way-map.d.cts} +0 -0
- /package/dist/lib/cjs/{TypeGuards.d.cts → type-guards.d.cts} +0 -0
- /package/dist/lib/cjs/{Type.d.cts → type.d.cts} +0 -0
- /package/dist/lib/cjs/{ValueProvider.d.cts → value-provider.d.cts} +0 -0
- /package/dist/lib/esm/{AbortController.d.mts → abort-controller.d.mts} +0 -0
- /package/dist/lib/esm/{Array.d.mts → array.d.mts} +0 -0
- /package/dist/lib/esm/{AsyncEvents.d.mts → async-events.d.mts} +0 -0
- /package/dist/lib/esm/codemirror/{StateFieldSpec.d.mts → state-field-spec.d.mts} +0 -0
- /package/dist/lib/esm/{DebugController.mjs → codemirror/state-field-spec.mjs} +0 -0
- /package/dist/lib/esm/{CssClass.d.mts → css-class.d.mts} +0 -0
- /package/dist/lib/esm/{DebugController.d.mts → debug-controller.d.mts} +0 -0
- /package/dist/lib/esm/{codemirror/StateFieldSpec.mjs → debug-controller.mjs} +0 -0
- /package/dist/lib/esm/{Enum.d.mts → enum.d.mts} +0 -0
- /package/dist/lib/esm/{Error.d.mts → error.d.mts} +0 -0
- /package/dist/lib/esm/{Function.d.mts → function.d.mts} +0 -0
- /package/dist/lib/esm/{Library.d.mts → library.d.mts} +0 -0
- /package/dist/lib/esm/obsidian/@types/{Dataview → dataview}/api/data-array.d.mts +0 -0
- /package/dist/lib/esm/obsidian/@types/{Dataview → dataview}/api/extensions.d.mts +0 -0
- /package/dist/lib/esm/obsidian/@types/{Dataview → dataview}/api/inline-api.d.mts +0 -0
- /package/dist/lib/esm/obsidian/@types/{Dataview → dataview}/api/plugin-api.d.mts +0 -0
- /package/dist/lib/esm/obsidian/@types/{Dataview → dataview}/api/result.d.mts +0 -0
- /package/dist/lib/esm/obsidian/@types/{Dataview → dataview}/data-import/common.d.mts +0 -0
- /package/dist/lib/esm/obsidian/@types/{Dataview → dataview}/data-import/csv.d.mts +0 -0
- /package/dist/lib/esm/obsidian/@types/{Dataview → dataview}/data-import/inline-field.d.mts +0 -0
- /package/dist/lib/esm/obsidian/@types/{Dataview → dataview}/data-import/markdown-file.d.mts +0 -0
- /package/dist/lib/esm/obsidian/@types/{Dataview → dataview}/data-import/persister.d.mts +0 -0
- /package/dist/lib/esm/obsidian/@types/{Dataview → dataview}/data-import/web-worker/import-entry.d.mts +0 -0
- /package/dist/lib/esm/obsidian/@types/{Dataview → dataview}/data-import/web-worker/import-impl.d.mts +0 -0
- /package/dist/lib/esm/obsidian/@types/{Dataview → dataview}/data-import/web-worker/import-manager.d.mts +0 -0
- /package/dist/lib/esm/obsidian/@types/{Dataview → dataview}/data-index/index.d.mts +0 -0
- /package/dist/lib/esm/obsidian/@types/{Dataview → dataview}/data-index/resolver.d.mts +0 -0
- /package/dist/lib/esm/obsidian/@types/{Dataview → dataview}/data-index/source.d.mts +0 -0
- /package/dist/lib/esm/obsidian/@types/{Dataview → dataview}/data-model/markdown.d.mts +0 -0
- /package/dist/lib/esm/obsidian/@types/{Dataview → dataview}/data-model/serialized/markdown.d.mts +0 -0
- /package/dist/lib/esm/obsidian/@types/{Dataview → dataview}/data-model/transferable.d.mts +0 -0
- /package/dist/lib/esm/obsidian/@types/{Dataview → dataview}/data-model/value.d.mts +0 -0
- /package/dist/lib/esm/obsidian/@types/{Dataview → dataview}/expression/binaryop.d.mts +0 -0
- /package/dist/lib/esm/obsidian/@types/{Dataview → dataview}/expression/context.d.mts +0 -0
- /package/dist/lib/esm/obsidian/@types/{Dataview → dataview}/expression/field.d.mts +0 -0
- /package/dist/lib/esm/obsidian/@types/{Dataview → dataview}/expression/functions.d.mts +0 -0
- /package/dist/lib/esm/obsidian/@types/{Dataview → dataview}/expression/parse.d.mts +0 -0
- /package/dist/lib/esm/obsidian/@types/{Dataview → dataview}/index.d.mts +0 -0
- /package/dist/lib/esm/obsidian/@types/{Dataview → dataview}/main.d.mts +0 -0
- /package/dist/lib/esm/obsidian/@types/{Dataview → dataview}/query/engine.d.mts +0 -0
- /package/dist/lib/esm/obsidian/@types/{Dataview → dataview}/query/parse.d.mts +0 -0
- /package/dist/lib/esm/obsidian/@types/{Dataview → dataview}/query/query.d.mts +0 -0
- /package/dist/lib/esm/obsidian/@types/{Dataview → dataview}/settings.d.mts +0 -0
- /package/dist/lib/esm/obsidian/@types/{Dataview → dataview}/typings/obsidian-ex.d.mts +0 -0
- /package/dist/lib/esm/obsidian/@types/{Dataview → dataview}/typings/workers.d.mts +0 -0
- /package/dist/lib/esm/obsidian/@types/{Dataview → dataview}/ui/export/markdown.d.mts +0 -0
- /package/dist/lib/esm/obsidian/@types/{Dataview → dataview}/ui/lp-render.d.mts +0 -0
- /package/dist/lib/esm/obsidian/@types/{Dataview → dataview}/ui/markdown.d.mts +0 -0
- /package/dist/lib/esm/obsidian/@types/{Dataview → dataview}/ui/refreshable-view.d.mts +0 -0
- /package/dist/lib/esm/obsidian/@types/{Dataview → dataview}/ui/render.d.mts +0 -0
- /package/dist/lib/esm/obsidian/@types/{Dataview → dataview}/ui/views/calendar-view.d.mts +0 -0
- /package/dist/lib/esm/obsidian/@types/{Dataview → dataview}/ui/views/inline-field-live-preview.d.mts +0 -0
- /package/dist/lib/esm/obsidian/@types/{Dataview → dataview}/ui/views/inline-view.d.mts +0 -0
- /package/dist/lib/esm/obsidian/@types/{Dataview → dataview}/ui/views/js-view.d.mts +0 -0
- /package/dist/lib/esm/obsidian/@types/{Dataview → dataview}/ui/views/list-view.d.mts +0 -0
- /package/dist/lib/esm/obsidian/@types/{Dataview → dataview}/ui/views/table-view.d.mts +0 -0
- /package/dist/lib/esm/obsidian/@types/{Dataview → dataview}/ui/views/task-view.d.mts +0 -0
- /package/dist/lib/esm/obsidian/@types/{Dataview → dataview}/util/hash.d.mts +0 -0
- /package/dist/lib/esm/obsidian/@types/{Dataview → dataview}/util/locale.d.mts +0 -0
- /package/dist/lib/esm/obsidian/@types/{Dataview → dataview}/util/media.d.mts +0 -0
- /package/dist/lib/esm/obsidian/@types/{Dataview → dataview}/util/normalize.d.mts +0 -0
- /package/dist/lib/esm/obsidian/{App.d.mts → app.d.mts} +0 -0
- /package/dist/lib/esm/obsidian/{CodeBlockMarkdownInformation.d.mts → code-block-markdown-information.d.mts} +0 -0
- /package/dist/lib/esm/obsidian/{CodeBlockMarkdownInformation.mjs → code-block-markdown-information.mjs} +0 -0
- /package/dist/lib/esm/obsidian/{Commands/CommandBase.d.mts → commands/command-base.d.mts} +0 -0
- /package/dist/lib/esm/obsidian/{Components/SettingComponents/SettingComponentWrapper.d.mts → components/setting-components/setting-component-wrapper.d.mts} +0 -0
- /package/dist/lib/esm/obsidian/{Components/SettingComponents/TextBasedComponent.d.mts → components/setting-components/text-based-component.d.mts} +0 -0
- /package/dist/lib/esm/obsidian/{Components/SettingComponents/ValueComponentWithChangeTracking.d.mts → components/setting-components/value-component-with-change-tracking.d.mts} +0 -0
- /package/dist/lib/esm/obsidian/{Components/SettingComponents/ValueComponentWithChangeTracking.mjs → components/setting-components/value-component-with-change-tracking.mjs} +0 -0
- /package/dist/lib/esm/obsidian/{Editor.d.mts → editor.d.mts} +0 -0
- /package/dist/lib/esm/obsidian/{FrontmatterLinkCacheWithOffsets.d.mts → frontmatter-link-cache-with-offsets.d.mts} +0 -0
- /package/dist/lib/esm/obsidian/{Logger.d.mts → logger.d.mts} +0 -0
- /package/dist/lib/esm/obsidian/{Loop.d.mts → loop.d.mts} +0 -0
- /package/dist/lib/esm/obsidian/{MarkdownView.d.mts → markdown-view.d.mts} +0 -0
- /package/dist/lib/esm/obsidian/{Modals/Alert.d.mts → modals/alert.d.mts} +0 -0
- /package/dist/lib/esm/obsidian/{Modals/Confirm.d.mts → modals/confirm.d.mts} +0 -0
- /package/dist/lib/esm/obsidian/{MonkeyAround.d.mts → monkey-around.d.mts} +0 -0
- /package/dist/lib/esm/obsidian/{ObsidianSettings.d.mts → obsidian-settings.d.mts} +0 -0
- /package/dist/lib/esm/obsidian/{Pdf.d.mts → pdf.d.mts} +0 -0
- /package/dist/lib/esm/obsidian/{Plugin/ObsidianPluginRepoPaths.d.mts → plugin/obsidian-plugin-repo-paths.d.mts} +0 -0
- /package/dist/lib/esm/obsidian/{Plugin/PluginContext.d.mts → plugin/plugin-context.d.mts} +0 -0
- /package/dist/lib/esm/obsidian/{Plugin/PluginId.d.mts → plugin/plugin-id.d.mts} +0 -0
- /package/dist/lib/esm/obsidian/{Plugin/PluginSettingsWrapper.mjs → plugin/plugin-settings-wrapper.mjs} +0 -0
- /package/dist/lib/esm/obsidian/{Plugin/PluginTypesBase.mjs → plugin/plugin-types-base.mjs} +0 -0
- /package/dist/lib/esm/obsidian/{Plugin/Plugin.d.mts → plugin/plugin.d.mts} +0 -0
- /package/dist/lib/esm/obsidian/{Queue.d.mts → queue.d.mts} +0 -0
- /package/dist/lib/esm/obsidian/{React/AppContext.d.mts → react/app-context.d.mts} +0 -0
- /package/dist/lib/esm/obsidian/{RenameDeleteHandler.d.mts → rename-delete-handler.d.mts} +0 -0
- /package/dist/lib/esm/obsidian/{ResourceUrl.d.mts → resource-url.d.mts} +0 -0
- /package/dist/lib/esm/obsidian/{Validation.d.mts → validation.d.mts} +0 -0
- /package/dist/lib/esm/obsidian/{Workspace.d.mts → workspace.d.mts} +0 -0
- /package/dist/lib/esm/{Path.d.mts → path.d.mts} +0 -0
- /package/dist/lib/esm/{RegExp.d.mts → reg-exp.d.mts} +0 -0
- /package/dist/lib/esm/{ScriptUtils → script-utils}/build.d.mts +0 -0
- /package/dist/lib/esm/{ScriptUtils/esbuild → script-utils/bundlers/esbuild-impl}/changeExtensionPlugin.d.mts +0 -0
- /package/dist/lib/esm/{ScriptUtils/esbuild → script-utils/bundlers/esbuild-impl}/copyToObsidianPluginsFolderPlugin.d.mts +0 -0
- /package/dist/lib/esm/{ScriptUtils/esbuild → script-utils/bundlers/esbuild-impl}/customEsbuildOptionsPlugin.d.mts +0 -0
- /package/dist/lib/esm/{ScriptUtils/esbuild/Dependency.d.mts → script-utils/bundlers/esbuild-impl/dependency.d.mts} +0 -0
- /package/dist/lib/esm/{ScriptUtils/esbuild → script-utils/bundlers/esbuild-impl}/fixEsmPlugin.d.mts +0 -0
- /package/dist/lib/esm/{ScriptUtils/esbuild → script-utils/bundlers/esbuild-impl}/fixSourceMapsPlugin.d.mts +0 -0
- /package/dist/lib/esm/{ScriptUtils/esbuild → script-utils/bundlers/esbuild-impl}/preprocessPlugin.d.mts +0 -0
- /package/dist/lib/esm/{ScriptUtils/esbuild → script-utils/bundlers/esbuild-impl}/renameCssPlugin.d.mts +0 -0
- /package/dist/lib/esm/{ScriptUtils/esbuild → script-utils/bundlers/esbuild-impl}/svelteWrapperPlugin.d.mts +0 -0
- /package/dist/lib/esm/{ScriptUtils/CodeGenerator.d.mts → script-utils/code-generator.d.mts} +0 -0
- /package/dist/lib/esm/{ScriptUtils/format.d.mts → script-utils/formatters/dprint.d.mts} +0 -0
- /package/dist/lib/esm/{ScriptUtils/spellcheck.d.mts → script-utils/linters/cspell.d.mts} +0 -0
- /package/dist/lib/esm/{ScriptUtils/ESLint/eslint.config.d.mts → script-utils/linters/eslint-config.d.mts} +0 -0
- /package/dist/lib/esm/{ScriptUtils/ESLint → script-utils/linters/eslint-types}/@types/@eslint-community__eslint-plugin-eslint-comments__configs.d.mts +0 -0
- /package/dist/lib/esm/{ScriptUtils/ESLint → script-utils/linters/eslint-types}/@types/@guardian__eslint-plugin-tsdoc-required.d.mts +0 -0
- /package/dist/lib/esm/{ScriptUtils/ESLint → script-utils/linters/eslint-types}/@types/eslint-plugin-modules-newlines.d.mts +0 -0
- /package/dist/lib/esm/{ScriptUtils/ESLint → script-utils/linters/eslint-types}/@types/eslint-plugin-verify-tsdoc.d.mts +0 -0
- /package/dist/lib/esm/{ScriptUtils/ESLint/ESLint.d.mts → script-utils/linters/eslint.d.mts} +0 -0
- /package/dist/lib/esm/{ScriptUtils/markdownlint → script-utils/linters/markdownlint-types}/@types/markdownlint-cli2-config-schema.d.mts +0 -0
- /package/dist/lib/esm/{ScriptUtils/NodeModules.d.mts → script-utils/node-modules.d.mts} +0 -0
- /package/dist/lib/esm/{ScriptUtils/NpmPublish.d.mts → script-utils/npm-publish.d.mts} +0 -0
- /package/dist/lib/esm/{ScriptUtils/NpmRun.d.mts → script-utils/npm-run.d.mts} +0 -0
- /package/dist/lib/esm/{TwoWayMap.d.mts → two-way-map.d.mts} +0 -0
- /package/dist/lib/esm/{TypeGuards.d.mts → type-guards.d.mts} +0 -0
- /package/dist/lib/esm/{Type.d.mts → type.d.mts} +0 -0
- /package/dist/lib/esm/{ValueProvider.d.mts → value-provider.d.mts} +0 -0
|
@@ -0,0 +1,186 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @packageDocumentation
|
|
3
|
+
*
|
|
4
|
+
* Plugin settings manager base class.
|
|
5
|
+
*/
|
|
6
|
+
import type { App } from 'obsidian';
|
|
7
|
+
import type { Promisable, ReadonlyDeep } from 'type-fest';
|
|
8
|
+
import type { AsyncEventRef } from '../../async-events.mjs';
|
|
9
|
+
import type { Transformer } from '../../transformers/transformer.mjs';
|
|
10
|
+
import type { GenericObject } from '../../type-guards.mjs';
|
|
11
|
+
import type { MaybeReturn, StringKeys } from '../../type.mjs';
|
|
12
|
+
import type { ExtractPlugin, ExtractPluginSettings, ExtractPluginSettingsPropertyNames, ExtractReadonlyPluginSettingsWrapper, PluginTypesBase } from './plugin-types-base.mjs';
|
|
13
|
+
import { AsyncEvents } from '../../async-events.mjs';
|
|
14
|
+
type ValidationResult<PluginSettings extends object> = Partial<Record<StringKeys<PluginSettings>, string>>;
|
|
15
|
+
type Validator<PluginSettings extends object, PropertyName extends StringKeys<PluginSettings> = StringKeys<PluginSettings>> = (value: PluginSettings[PropertyName], settings: PluginSettings) => Promisable<MaybeReturn<string>>;
|
|
16
|
+
/**
|
|
17
|
+
* Base class for managing plugin settings.
|
|
18
|
+
*
|
|
19
|
+
* @typeParam PluginTypes - Plugin-specific types.
|
|
20
|
+
*/
|
|
21
|
+
export declare abstract class PluginSettingsManagerBase<PluginTypes extends PluginTypesBase> extends AsyncEvents {
|
|
22
|
+
readonly plugin: ExtractPlugin<PluginTypes>;
|
|
23
|
+
/**
|
|
24
|
+
* Gets the app.
|
|
25
|
+
*
|
|
26
|
+
* @returns The app.
|
|
27
|
+
*/
|
|
28
|
+
readonly app: App;
|
|
29
|
+
/**
|
|
30
|
+
* Gets the readonly default settings.
|
|
31
|
+
*
|
|
32
|
+
* @returns The default settings (as a readonly object).
|
|
33
|
+
*/
|
|
34
|
+
readonly defaultSettings: ReadonlyDeep<ExtractPluginSettings<PluginTypes>>;
|
|
35
|
+
/**
|
|
36
|
+
* Gets the current settings wrapper.
|
|
37
|
+
*
|
|
38
|
+
* @returns The current settings wrapper.
|
|
39
|
+
*/
|
|
40
|
+
get settingsWrapper(): ExtractReadonlyPluginSettingsWrapper<PluginTypes>;
|
|
41
|
+
private currentSettingsWrapper;
|
|
42
|
+
private lastSavedSettingsWrapper;
|
|
43
|
+
private readonly legacySettingsConverters;
|
|
44
|
+
private readonly propertyNames;
|
|
45
|
+
private readonly validators;
|
|
46
|
+
/**
|
|
47
|
+
* Creates a new plugin settings manager.
|
|
48
|
+
*
|
|
49
|
+
* @param plugin - The plugin.
|
|
50
|
+
*/
|
|
51
|
+
constructor(plugin: ExtractPlugin<PluginTypes>);
|
|
52
|
+
/**
|
|
53
|
+
* Edits the plugin settings and saves them.
|
|
54
|
+
*
|
|
55
|
+
* @param settingsEditor - The editor.
|
|
56
|
+
* @param context - The context.
|
|
57
|
+
* @returns A {@link Promise} that resolves when the settings are saved.
|
|
58
|
+
*/
|
|
59
|
+
editAndSave(settingsEditor: (settings: ExtractPluginSettings<PluginTypes>) => Promisable<void>, context?: unknown): Promise<void>;
|
|
60
|
+
/**
|
|
61
|
+
* Ensures the settings are safe.
|
|
62
|
+
*
|
|
63
|
+
* It runs validation for each property and sets the default value if the validation fails.
|
|
64
|
+
*
|
|
65
|
+
* @param settings - The settings.
|
|
66
|
+
* @returns A {@link Promise} that resolves when the settings are safe.
|
|
67
|
+
*/
|
|
68
|
+
ensureSafe(settings: ExtractPluginSettings<PluginTypes>): Promise<void>;
|
|
69
|
+
/**
|
|
70
|
+
* Gets a safe copy of the settings.
|
|
71
|
+
*
|
|
72
|
+
* @param settings - The settings.
|
|
73
|
+
* @returns A {@link Promise} that resolves to the safe copy of the settings.
|
|
74
|
+
*/
|
|
75
|
+
getSafeCopy(settings: ExtractPluginSettings<PluginTypes>): Promise<ExtractPluginSettings<PluginTypes>>;
|
|
76
|
+
/**
|
|
77
|
+
* Loads the plugin settings from the file.
|
|
78
|
+
*
|
|
79
|
+
* @param isInitialLoad - Whether the settings are being loaded for the first time.
|
|
80
|
+
* @returns A {@link Promise} that resolves when the settings are loaded.
|
|
81
|
+
*/
|
|
82
|
+
loadFromFile(isInitialLoad: boolean): Promise<void>;
|
|
83
|
+
/**
|
|
84
|
+
* Subscribes to the `loadSettings` event.
|
|
85
|
+
*
|
|
86
|
+
* @param name - Always `loadSettings`.
|
|
87
|
+
* @param callback - The callback to call when the event is triggered.
|
|
88
|
+
* @param thisArg - The context passed as `this` to the `callback`.
|
|
89
|
+
* @returns A reference to the event listener.
|
|
90
|
+
*/
|
|
91
|
+
on(name: 'loadSettings', callback: (loadedSettings: ExtractReadonlyPluginSettingsWrapper<PluginTypes>, isInitialLoad: boolean) => Promisable<void>, thisArg?: unknown): AsyncEventRef;
|
|
92
|
+
/**
|
|
93
|
+
* Subscribes to the `saveSettings` event.
|
|
94
|
+
*
|
|
95
|
+
* @param name - Always `saveSettings`.
|
|
96
|
+
* @param callback - The callback to call when the event is triggered.
|
|
97
|
+
* @param thisArg - The context passed as `this` to the `callback`.
|
|
98
|
+
* @returns A reference to the event listener.
|
|
99
|
+
*/
|
|
100
|
+
on(name: 'saveSettings', callback: (newSettings: ExtractReadonlyPluginSettingsWrapper<PluginTypes>, oldSettings: ExtractReadonlyPluginSettingsWrapper<PluginTypes>, context: unknown) => Promisable<void>, thisArg?: unknown): AsyncEventRef;
|
|
101
|
+
/**
|
|
102
|
+
* Revalidates the settings.
|
|
103
|
+
*
|
|
104
|
+
* @returns The validation messages.
|
|
105
|
+
*/
|
|
106
|
+
revalidate(): Promise<Record<ExtractPluginSettingsPropertyNames<PluginTypes>, string>>;
|
|
107
|
+
/**
|
|
108
|
+
* Saves the new plugin settings.
|
|
109
|
+
*
|
|
110
|
+
* @param context - The context of the save to file operation.
|
|
111
|
+
* @returns A {@link Promise} that resolves when the settings are saved.
|
|
112
|
+
*/
|
|
113
|
+
saveToFile(context?: unknown): Promise<void>;
|
|
114
|
+
/**
|
|
115
|
+
* Sets the value of a property.
|
|
116
|
+
*
|
|
117
|
+
* @typeParam PropertyName - The name of the property.
|
|
118
|
+
* @param propertyName - The name of the property.
|
|
119
|
+
* @param value - The value to set.
|
|
120
|
+
* @returns A {@link Promise} that resolves to the validation message.
|
|
121
|
+
*/
|
|
122
|
+
setProperty<PropertyName extends ExtractPluginSettingsPropertyNames<PluginTypes>>(propertyName: PropertyName, value: ExtractPluginSettings<PluginTypes>[PropertyName]): Promise<string>;
|
|
123
|
+
/**
|
|
124
|
+
* Validates the settings.
|
|
125
|
+
*
|
|
126
|
+
* @param settings - The settings.
|
|
127
|
+
* @returns A {@link Promise} that resolves to the validation result.
|
|
128
|
+
*/
|
|
129
|
+
validate(settings: ExtractPluginSettings<PluginTypes>): Promise<ValidationResult<ExtractPluginSettings<PluginTypes>>>;
|
|
130
|
+
protected abstract createDefaultSettings(): ExtractPluginSettings<PluginTypes>;
|
|
131
|
+
/**
|
|
132
|
+
* Gets the transformer.
|
|
133
|
+
*
|
|
134
|
+
* @returns The transformer.
|
|
135
|
+
*/
|
|
136
|
+
protected getTransformer(): Transformer;
|
|
137
|
+
/**
|
|
138
|
+
* Called when the plugin settings are loaded.
|
|
139
|
+
*
|
|
140
|
+
* @param record - The record.
|
|
141
|
+
*/
|
|
142
|
+
protected onLoadRecord(record: GenericObject): Promise<void>;
|
|
143
|
+
/**
|
|
144
|
+
* Called when the plugin settings are saving.
|
|
145
|
+
*
|
|
146
|
+
* @param _record - The record.
|
|
147
|
+
*/
|
|
148
|
+
protected onSavingRecord(_record: GenericObject): Promise<void>;
|
|
149
|
+
/**
|
|
150
|
+
* Registers a legacy settings converter.
|
|
151
|
+
*
|
|
152
|
+
* @typeParam LegacySettings - The legacy settings class.
|
|
153
|
+
* @param legacySettingsClass - The legacy settings class.
|
|
154
|
+
* @param converter - The converter.
|
|
155
|
+
*/
|
|
156
|
+
protected registerLegacySettingsConverter<LegacySettings extends object>(legacySettingsClass: new () => LegacySettings, converter: (legacySettings: Partial<ExtractPluginSettings<PluginTypes>> & Partial<LegacySettings>) => void): void;
|
|
157
|
+
/**
|
|
158
|
+
* Registers the legacy settings converters.
|
|
159
|
+
*
|
|
160
|
+
* This method can be overridden by subclasses to register legacy settings converters.
|
|
161
|
+
*/
|
|
162
|
+
protected registerLegacySettingsConverters(): void;
|
|
163
|
+
/**
|
|
164
|
+
* Registers a validator for a property.
|
|
165
|
+
*
|
|
166
|
+
* @param propertyName - The name of the property.
|
|
167
|
+
* @param validator - The validator.
|
|
168
|
+
*/
|
|
169
|
+
protected registerValidator<PropertyName extends ExtractPluginSettingsPropertyNames<PluginTypes>>(propertyName: PropertyName, validator: Validator<ExtractPluginSettings<PluginTypes>, PropertyName>): void;
|
|
170
|
+
/**
|
|
171
|
+
* Registers the validators.
|
|
172
|
+
*
|
|
173
|
+
* This method can be overridden by subclasses to register validators for properties.
|
|
174
|
+
*/
|
|
175
|
+
protected registerValidators(): void;
|
|
176
|
+
private cloneSettings;
|
|
177
|
+
private cloneSettingsWrapper;
|
|
178
|
+
private createDefaultSettingsWrapper;
|
|
179
|
+
private edit;
|
|
180
|
+
private isValidPropertyName;
|
|
181
|
+
private rawRecordToSettings;
|
|
182
|
+
private saveToFileImpl;
|
|
183
|
+
private setPropertyImpl;
|
|
184
|
+
private settingsToRawRecord;
|
|
185
|
+
}
|
|
186
|
+
export {};
|
|
@@ -0,0 +1,383 @@
|
|
|
1
|
+
/*
|
|
2
|
+
THIS IS A GENERATED/BUNDLED FILE BY ESBUILD
|
|
3
|
+
if you want to view the source, please visit the github repository of this plugin
|
|
4
|
+
*/
|
|
5
|
+
|
|
6
|
+
(function initEsm() {
|
|
7
|
+
if (globalThis.process) {
|
|
8
|
+
return;
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
const browserProcess = {
|
|
12
|
+
browser: true,
|
|
13
|
+
cwd() {
|
|
14
|
+
return '/';
|
|
15
|
+
},
|
|
16
|
+
env: {},
|
|
17
|
+
platform: 'android'
|
|
18
|
+
};
|
|
19
|
+
globalThis.process = browserProcess;
|
|
20
|
+
})();
|
|
21
|
+
|
|
22
|
+
import { AsyncEvents } from "../../async-events.mjs";
|
|
23
|
+
import { getLibDebugger } from "../../debug.mjs";
|
|
24
|
+
import {
|
|
25
|
+
noop,
|
|
26
|
+
noopAsync
|
|
27
|
+
} from "../../function.mjs";
|
|
28
|
+
import {
|
|
29
|
+
deepEqual,
|
|
30
|
+
getAllKeys
|
|
31
|
+
} from "../../object-utils.mjs";
|
|
32
|
+
import { DateTransformer } from "../../transformers/date-transformer.mjs";
|
|
33
|
+
import { DurationTransformer } from "../../transformers/duration-transformer.mjs";
|
|
34
|
+
import { GroupTransformer } from "../../transformers/group-transformer.mjs";
|
|
35
|
+
import { MapTransformer } from "../../transformers/map-transformer.mjs";
|
|
36
|
+
import { SetTransformer } from "../../transformers/set-transformer.mjs";
|
|
37
|
+
import { SkipPrivatePropertyTransformer } from "../../transformers/skip-private-property-transformer.mjs";
|
|
38
|
+
import { TwoWayMapTransformer } from "../../transformers/two-way-map-transformer.mjs";
|
|
39
|
+
const defaultTransformer = new GroupTransformer([
|
|
40
|
+
new SkipPrivatePropertyTransformer(),
|
|
41
|
+
new DateTransformer(),
|
|
42
|
+
new DurationTransformer(),
|
|
43
|
+
new MapTransformer(),
|
|
44
|
+
new SetTransformer(),
|
|
45
|
+
new TwoWayMapTransformer()
|
|
46
|
+
]);
|
|
47
|
+
class PluginSettingsManagerBase extends AsyncEvents {
|
|
48
|
+
/**
|
|
49
|
+
* Creates a new plugin settings manager.
|
|
50
|
+
*
|
|
51
|
+
* @param plugin - The plugin.
|
|
52
|
+
*/
|
|
53
|
+
constructor(plugin) {
|
|
54
|
+
super();
|
|
55
|
+
this.plugin = plugin;
|
|
56
|
+
this.app = plugin.app;
|
|
57
|
+
this.defaultSettings = this.createDefaultSettings();
|
|
58
|
+
this.currentSettingsWrapper = this.createDefaultSettingsWrapper();
|
|
59
|
+
this.lastSavedSettingsWrapper = this.createDefaultSettingsWrapper();
|
|
60
|
+
this.propertyNames = getAllKeys(this.currentSettingsWrapper.settings);
|
|
61
|
+
this.registerValidators();
|
|
62
|
+
this.registerLegacySettingsConverters();
|
|
63
|
+
}
|
|
64
|
+
/**
|
|
65
|
+
* Gets the app.
|
|
66
|
+
*
|
|
67
|
+
* @returns The app.
|
|
68
|
+
*/
|
|
69
|
+
app;
|
|
70
|
+
/**
|
|
71
|
+
* Gets the readonly default settings.
|
|
72
|
+
*
|
|
73
|
+
* @returns The default settings (as a readonly object).
|
|
74
|
+
*/
|
|
75
|
+
defaultSettings;
|
|
76
|
+
/**
|
|
77
|
+
* Gets the current settings wrapper.
|
|
78
|
+
*
|
|
79
|
+
* @returns The current settings wrapper.
|
|
80
|
+
*/
|
|
81
|
+
get settingsWrapper() {
|
|
82
|
+
return this.currentSettingsWrapper;
|
|
83
|
+
}
|
|
84
|
+
currentSettingsWrapper;
|
|
85
|
+
lastSavedSettingsWrapper;
|
|
86
|
+
legacySettingsConverters = [];
|
|
87
|
+
propertyNames;
|
|
88
|
+
validators = /* @__PURE__ */ new Map();
|
|
89
|
+
/**
|
|
90
|
+
* Edits the plugin settings and saves them.
|
|
91
|
+
*
|
|
92
|
+
* @param settingsEditor - The editor.
|
|
93
|
+
* @param context - The context.
|
|
94
|
+
* @returns A {@link Promise} that resolves when the settings are saved.
|
|
95
|
+
*/
|
|
96
|
+
async editAndSave(settingsEditor, context) {
|
|
97
|
+
await this.edit(settingsEditor);
|
|
98
|
+
await this.saveToFile(context);
|
|
99
|
+
}
|
|
100
|
+
/**
|
|
101
|
+
* Ensures the settings are safe.
|
|
102
|
+
*
|
|
103
|
+
* It runs validation for each property and sets the default value if the validation fails.
|
|
104
|
+
*
|
|
105
|
+
* @param settings - The settings.
|
|
106
|
+
* @returns A {@link Promise} that resolves when the settings are safe.
|
|
107
|
+
*/
|
|
108
|
+
async ensureSafe(settings) {
|
|
109
|
+
const validationResult = await this.validate(settings);
|
|
110
|
+
for (const propertyName of this.propertyNames) {
|
|
111
|
+
if (validationResult[propertyName]) {
|
|
112
|
+
settings[propertyName] = this.defaultSettings[propertyName];
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
/**
|
|
117
|
+
* Gets a safe copy of the settings.
|
|
118
|
+
*
|
|
119
|
+
* @param settings - The settings.
|
|
120
|
+
* @returns A {@link Promise} that resolves to the safe copy of the settings.
|
|
121
|
+
*/
|
|
122
|
+
async getSafeCopy(settings) {
|
|
123
|
+
const safeSettings = await this.cloneSettings(settings);
|
|
124
|
+
await this.ensureSafe(safeSettings);
|
|
125
|
+
return safeSettings;
|
|
126
|
+
}
|
|
127
|
+
/**
|
|
128
|
+
* Loads the plugin settings from the file.
|
|
129
|
+
*
|
|
130
|
+
* @param isInitialLoad - Whether the settings are being loaded for the first time.
|
|
131
|
+
* @returns A {@link Promise} that resolves when the settings are loaded.
|
|
132
|
+
*/
|
|
133
|
+
async loadFromFile(isInitialLoad) {
|
|
134
|
+
const data = await this.plugin.loadData();
|
|
135
|
+
this.lastSavedSettingsWrapper = this.createDefaultSettingsWrapper();
|
|
136
|
+
this.currentSettingsWrapper = this.createDefaultSettingsWrapper();
|
|
137
|
+
try {
|
|
138
|
+
if (data === void 0 || data === null) {
|
|
139
|
+
return;
|
|
140
|
+
}
|
|
141
|
+
if (typeof data !== "object") {
|
|
142
|
+
console.error(`Invalid settings from data.json. Expected Object, got: ${typeof data}`);
|
|
143
|
+
return;
|
|
144
|
+
}
|
|
145
|
+
const rawRecord = data;
|
|
146
|
+
const parsedSettings = await this.rawRecordToSettings(rawRecord);
|
|
147
|
+
const validationResult = await this.validate(parsedSettings);
|
|
148
|
+
for (const propertyName of this.propertyNames) {
|
|
149
|
+
this.setPropertyImpl(propertyName, parsedSettings[propertyName], validationResult[propertyName]);
|
|
150
|
+
}
|
|
151
|
+
this.lastSavedSettingsWrapper = await this.cloneSettingsWrapper(this.currentSettingsWrapper);
|
|
152
|
+
const newRecord = await this.settingsToRawRecord(this.currentSettingsWrapper.settings);
|
|
153
|
+
if (!deepEqual(newRecord, data)) {
|
|
154
|
+
await this.saveToFileImpl();
|
|
155
|
+
}
|
|
156
|
+
} finally {
|
|
157
|
+
await this.triggerAsync("loadSettings", this.currentSettingsWrapper, isInitialLoad);
|
|
158
|
+
}
|
|
159
|
+
}
|
|
160
|
+
/**
|
|
161
|
+
* Subscribes to an event.
|
|
162
|
+
*
|
|
163
|
+
* @param name - The name of the event.
|
|
164
|
+
* @param callback - The callback to call when the event is triggered.
|
|
165
|
+
* @param thisArg - The context passed as `this` to the `callback`.
|
|
166
|
+
* @returns A reference to the event listener.
|
|
167
|
+
*/
|
|
168
|
+
on(name, callback, thisArg) {
|
|
169
|
+
return super.on(name, callback, thisArg);
|
|
170
|
+
}
|
|
171
|
+
/**
|
|
172
|
+
* Revalidates the settings.
|
|
173
|
+
*
|
|
174
|
+
* @returns The validation messages.
|
|
175
|
+
*/
|
|
176
|
+
async revalidate() {
|
|
177
|
+
await this.edit(noop);
|
|
178
|
+
return this.currentSettingsWrapper.validationMessages;
|
|
179
|
+
}
|
|
180
|
+
/**
|
|
181
|
+
* Saves the new plugin settings.
|
|
182
|
+
*
|
|
183
|
+
* @param context - The context of the save to file operation.
|
|
184
|
+
* @returns A {@link Promise} that resolves when the settings are saved.
|
|
185
|
+
*/
|
|
186
|
+
async saveToFile(context) {
|
|
187
|
+
if (deepEqual(this.lastSavedSettingsWrapper.settings, this.currentSettingsWrapper.settings)) {
|
|
188
|
+
return;
|
|
189
|
+
}
|
|
190
|
+
await this.saveToFileImpl();
|
|
191
|
+
await this.triggerAsync("saveSettings", this.currentSettingsWrapper, this.lastSavedSettingsWrapper, context);
|
|
192
|
+
this.lastSavedSettingsWrapper = await this.cloneSettingsWrapper(this.currentSettingsWrapper);
|
|
193
|
+
}
|
|
194
|
+
/**
|
|
195
|
+
* Sets the value of a property.
|
|
196
|
+
*
|
|
197
|
+
* @typeParam PropertyName - The name of the property.
|
|
198
|
+
* @param propertyName - The name of the property.
|
|
199
|
+
* @param value - The value to set.
|
|
200
|
+
* @returns A {@link Promise} that resolves to the validation message.
|
|
201
|
+
*/
|
|
202
|
+
async setProperty(propertyName, value) {
|
|
203
|
+
await this.edit((settings) => {
|
|
204
|
+
settings[propertyName] = value;
|
|
205
|
+
});
|
|
206
|
+
return this.currentSettingsWrapper.validationMessages[propertyName];
|
|
207
|
+
}
|
|
208
|
+
/**
|
|
209
|
+
* Validates the settings.
|
|
210
|
+
*
|
|
211
|
+
* @param settings - The settings.
|
|
212
|
+
* @returns A {@link Promise} that resolves to the validation result.
|
|
213
|
+
*/
|
|
214
|
+
async validate(settings) {
|
|
215
|
+
const result = {};
|
|
216
|
+
for (const [propertyName, validator] of this.validators.entries()) {
|
|
217
|
+
const validationMessage = await validator(settings[propertyName], settings);
|
|
218
|
+
if (validationMessage) {
|
|
219
|
+
result[propertyName] = validationMessage;
|
|
220
|
+
}
|
|
221
|
+
}
|
|
222
|
+
return result;
|
|
223
|
+
}
|
|
224
|
+
/**
|
|
225
|
+
* Gets the transformer.
|
|
226
|
+
*
|
|
227
|
+
* @returns The transformer.
|
|
228
|
+
*/
|
|
229
|
+
getTransformer() {
|
|
230
|
+
return defaultTransformer;
|
|
231
|
+
}
|
|
232
|
+
/**
|
|
233
|
+
* Called when the plugin settings are loaded.
|
|
234
|
+
*
|
|
235
|
+
* @param record - The record.
|
|
236
|
+
*/
|
|
237
|
+
async onLoadRecord(record) {
|
|
238
|
+
for (const converter of this.legacySettingsConverters) {
|
|
239
|
+
converter(record);
|
|
240
|
+
}
|
|
241
|
+
await Promise.resolve();
|
|
242
|
+
}
|
|
243
|
+
/**
|
|
244
|
+
* Called when the plugin settings are saving.
|
|
245
|
+
*
|
|
246
|
+
* @param _record - The record.
|
|
247
|
+
*/
|
|
248
|
+
async onSavingRecord(_record) {
|
|
249
|
+
await noopAsync();
|
|
250
|
+
}
|
|
251
|
+
/**
|
|
252
|
+
* Registers a legacy settings converter.
|
|
253
|
+
*
|
|
254
|
+
* @typeParam LegacySettings - The legacy settings class.
|
|
255
|
+
* @param legacySettingsClass - The legacy settings class.
|
|
256
|
+
* @param converter - The converter.
|
|
257
|
+
*/
|
|
258
|
+
registerLegacySettingsConverter(legacySettingsClass, converter) {
|
|
259
|
+
const that = this;
|
|
260
|
+
this.legacySettingsConverters.push(legacySettingsConverter);
|
|
261
|
+
function legacySettingsConverter(record) {
|
|
262
|
+
const legacySettingsKeys = new Set(Object.keys(new legacySettingsClass()));
|
|
263
|
+
const pluginSettingKeys = new Set(that.propertyNames);
|
|
264
|
+
const legacySettings = record;
|
|
265
|
+
converter(legacySettings);
|
|
266
|
+
for (const key of Object.keys(legacySettings)) {
|
|
267
|
+
if (pluginSettingKeys.has(key)) {
|
|
268
|
+
continue;
|
|
269
|
+
}
|
|
270
|
+
if (!legacySettingsKeys.has(key)) {
|
|
271
|
+
continue;
|
|
272
|
+
}
|
|
273
|
+
delete record[key];
|
|
274
|
+
}
|
|
275
|
+
}
|
|
276
|
+
}
|
|
277
|
+
/**
|
|
278
|
+
* Registers the legacy settings converters.
|
|
279
|
+
*
|
|
280
|
+
* This method can be overridden by subclasses to register legacy settings converters.
|
|
281
|
+
*/
|
|
282
|
+
registerLegacySettingsConverters() {
|
|
283
|
+
noop();
|
|
284
|
+
}
|
|
285
|
+
/**
|
|
286
|
+
* Registers a validator for a property.
|
|
287
|
+
*
|
|
288
|
+
* @param propertyName - The name of the property.
|
|
289
|
+
* @param validator - The validator.
|
|
290
|
+
*/
|
|
291
|
+
registerValidator(propertyName, validator) {
|
|
292
|
+
this.validators.set(propertyName, validator);
|
|
293
|
+
}
|
|
294
|
+
/**
|
|
295
|
+
* Registers the validators.
|
|
296
|
+
*
|
|
297
|
+
* This method can be overridden by subclasses to register validators for properties.
|
|
298
|
+
*/
|
|
299
|
+
registerValidators() {
|
|
300
|
+
noop();
|
|
301
|
+
}
|
|
302
|
+
async cloneSettings(settings) {
|
|
303
|
+
const record = await this.settingsToRawRecord(settings);
|
|
304
|
+
const json = JSON.stringify(record);
|
|
305
|
+
const cloneRecord = JSON.parse(json);
|
|
306
|
+
return await this.rawRecordToSettings(cloneRecord);
|
|
307
|
+
}
|
|
308
|
+
async cloneSettingsWrapper(settingsWrapper) {
|
|
309
|
+
return {
|
|
310
|
+
safeSettings: await this.cloneSettings(settingsWrapper.safeSettings),
|
|
311
|
+
settings: await this.cloneSettings(settingsWrapper.settings),
|
|
312
|
+
validationMessages: { ...settingsWrapper.validationMessages }
|
|
313
|
+
};
|
|
314
|
+
}
|
|
315
|
+
createDefaultSettingsWrapper() {
|
|
316
|
+
return {
|
|
317
|
+
safeSettings: this.createDefaultSettings(),
|
|
318
|
+
settings: this.createDefaultSettings(),
|
|
319
|
+
validationMessages: {}
|
|
320
|
+
};
|
|
321
|
+
}
|
|
322
|
+
async edit(settingsEditor) {
|
|
323
|
+
try {
|
|
324
|
+
await settingsEditor(this.currentSettingsWrapper.settings);
|
|
325
|
+
} finally {
|
|
326
|
+
const validationResult = await this.validate(this.currentSettingsWrapper.settings);
|
|
327
|
+
for (const propertyName of this.propertyNames) {
|
|
328
|
+
const validationMessage = validationResult[propertyName] ?? "";
|
|
329
|
+
this.currentSettingsWrapper.validationMessages[propertyName] = validationMessage;
|
|
330
|
+
this.currentSettingsWrapper.safeSettings[propertyName] = validationMessage ? this.defaultSettings[propertyName] : this.currentSettingsWrapper.settings[propertyName];
|
|
331
|
+
}
|
|
332
|
+
}
|
|
333
|
+
}
|
|
334
|
+
isValidPropertyName(prop) {
|
|
335
|
+
if (typeof prop !== "string") {
|
|
336
|
+
return false;
|
|
337
|
+
}
|
|
338
|
+
return this.propertyNames.includes(prop);
|
|
339
|
+
}
|
|
340
|
+
async rawRecordToSettings(rawRecord) {
|
|
341
|
+
rawRecord = this.getTransformer().transformObjectRecursively(rawRecord);
|
|
342
|
+
await this.onLoadRecord(rawRecord);
|
|
343
|
+
const settings = this.createDefaultSettings();
|
|
344
|
+
for (const [propertyName, value] of Object.entries(rawRecord)) {
|
|
345
|
+
if (!this.isValidPropertyName(propertyName)) {
|
|
346
|
+
getLibDebugger("PluginSettingsManagerBase:rawRecordToSettings")(`Unknown property: ${propertyName}`);
|
|
347
|
+
continue;
|
|
348
|
+
}
|
|
349
|
+
if (typeof value !== typeof this.defaultSettings[propertyName]) {
|
|
350
|
+
getLibDebugger("PluginSettingsManagerBase:rawRecordToSettings")(
|
|
351
|
+
"Possible invalid value type. It might lead to an unexpected behavior of the plugin. There is also a chance it is a false-negative warning, as we are unable to determine the exact type of the value in runtime.",
|
|
352
|
+
{
|
|
353
|
+
defaultValue: this.defaultSettings[propertyName],
|
|
354
|
+
propertyName,
|
|
355
|
+
value
|
|
356
|
+
}
|
|
357
|
+
);
|
|
358
|
+
}
|
|
359
|
+
settings[propertyName] = value;
|
|
360
|
+
}
|
|
361
|
+
return settings;
|
|
362
|
+
}
|
|
363
|
+
async saveToFileImpl() {
|
|
364
|
+
await this.plugin.saveData(await this.settingsToRawRecord(this.currentSettingsWrapper.settings));
|
|
365
|
+
}
|
|
366
|
+
setPropertyImpl(propertyName, value, validationMessage) {
|
|
367
|
+
this.currentSettingsWrapper.settings[propertyName] = value;
|
|
368
|
+
this.currentSettingsWrapper.validationMessages[propertyName] = validationMessage ?? "";
|
|
369
|
+
this.currentSettingsWrapper.safeSettings[propertyName] = validationMessage ? this.defaultSettings[propertyName] : value;
|
|
370
|
+
}
|
|
371
|
+
async settingsToRawRecord(settings) {
|
|
372
|
+
const rawRecord = {};
|
|
373
|
+
for (const propertyName of this.propertyNames) {
|
|
374
|
+
rawRecord[propertyName] = settings[propertyName];
|
|
375
|
+
}
|
|
376
|
+
await this.onSavingRecord(rawRecord);
|
|
377
|
+
return this.getTransformer().transformObjectRecursively(rawRecord);
|
|
378
|
+
}
|
|
379
|
+
}
|
|
380
|
+
export {
|
|
381
|
+
PluginSettingsManagerBase
|
|
382
|
+
};
|
|
383
|
+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vLi4vc3JjL29ic2lkaWFuL3BsdWdpbi9wbHVnaW4tc2V0dGluZ3MtbWFuYWdlci1iYXNlLnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyIvKipcbiAqIEBwYWNrYWdlRG9jdW1lbnRhdGlvblxuICpcbiAqIFBsdWdpbiBzZXR0aW5ncyBtYW5hZ2VyIGJhc2UgY2xhc3MuXG4gKi9cblxuLyogdjggaWdub3JlIHN0YXJ0IC0tIERlZXBseSBjb3VwbGVkIHRvIE9ic2lkaWFuIHJ1bnRpbWU7IHJlcXVpcmVzIHJ1bm5pbmcgdmF1bHQgZm9yIG1lYW5pbmdmdWwgdGVzdGluZy4gKi9cblxuaW1wb3J0IHR5cGUgeyBBcHAgfSBmcm9tICdvYnNpZGlhbic7XG5pbXBvcnQgdHlwZSB7XG4gIFByb21pc2FibGUsXG4gIFJlYWRvbmx5RGVlcFxufSBmcm9tICd0eXBlLWZlc3QnO1xuXG5pbXBvcnQgdHlwZSB7IEFzeW5jRXZlbnRSZWYgfSBmcm9tICcuLi8uLi9hc3luYy1ldmVudHMudHMnO1xuaW1wb3J0IHR5cGUgeyBUcmFuc2Zvcm1lciB9IGZyb20gJy4uLy4uL3RyYW5zZm9ybWVycy90cmFuc2Zvcm1lci50cyc7XG5pbXBvcnQgdHlwZSB7IEdlbmVyaWNPYmplY3QgfSBmcm9tICcuLi8uLi90eXBlLWd1YXJkcy50cyc7XG5pbXBvcnQgdHlwZSB7XG4gIE1heWJlUmV0dXJuLFxuICBTdHJpbmdLZXlzXG59IGZyb20gJy4uLy4uL3R5cGUudHMnO1xuaW1wb3J0IHR5cGUgeyBQbHVnaW5TZXR0aW5nc1dyYXBwZXIgfSBmcm9tICcuL3BsdWdpbi1zZXR0aW5ncy13cmFwcGVyLnRzJztcbmltcG9ydCB0eXBlIHtcbiAgRXh0cmFjdFBsdWdpbixcbiAgRXh0cmFjdFBsdWdpblNldHRpbmdzLFxuICBFeHRyYWN0UGx1Z2luU2V0dGluZ3NQcm9wZXJ0eU5hbWVzLFxuICBFeHRyYWN0UGx1Z2luU2V0dGluZ3NQcm9wZXJ0eVZhbHVlcyxcbiAgRXh0cmFjdFBsdWdpblNldHRpbmdzV3JhcHBlcixcbiAgRXh0cmFjdFJlYWRvbmx5UGx1Z2luU2V0dGluZ3NXcmFwcGVyLFxuICBQbHVnaW5UeXBlc0Jhc2Vcbn0gZnJvbSAnLi9wbHVnaW4tdHlwZXMtYmFzZS50cyc7XG5cbmltcG9ydCB7IEFzeW5jRXZlbnRzIH0gZnJvbSAnLi4vLi4vYXN5bmMtZXZlbnRzLnRzJztcbmltcG9ydCB7IGdldExpYkRlYnVnZ2VyIH0gZnJvbSAnLi4vLi4vZGVidWcudHMnO1xuaW1wb3J0IHtcbiAgbm9vcCxcbiAgbm9vcEFzeW5jXG59IGZyb20gJy4uLy4uL2Z1bmN0aW9uLnRzJztcbmltcG9ydCB7XG4gIGRlZXBFcXVhbCxcbiAgZ2V0QWxsS2V5c1xufSBmcm9tICcuLi8uLi9vYmplY3QtdXRpbHMudHMnO1xuaW1wb3J0IHsgRGF0ZVRyYW5zZm9ybWVyIH0gZnJvbSAnLi4vLi4vdHJhbnNmb3JtZXJzL2RhdGUtdHJhbnNmb3JtZXIudHMnO1xuaW1wb3J0IHsgRHVyYXRpb25UcmFuc2Zvcm1lciB9IGZyb20gJy4uLy4uL3RyYW5zZm9ybWVycy9kdXJhdGlvbi10cmFuc2Zvcm1lci50cyc7XG5pbXBvcnQgeyBHcm91cFRyYW5zZm9ybWVyIH0gZnJvbSAnLi4vLi4vdHJhbnNmb3JtZXJzL2dyb3VwLXRyYW5zZm9ybWVyLnRzJztcbmltcG9ydCB7IE1hcFRyYW5zZm9ybWVyIH0gZnJvbSAnLi4vLi4vdHJhbnNmb3JtZXJzL21hcC10cmFuc2Zvcm1lci50cyc7XG5pbXBvcnQgeyBTZXRUcmFuc2Zvcm1lciB9IGZyb20gJy4uLy4uL3RyYW5zZm9ybWVycy9zZXQtdHJhbnNmb3JtZXIudHMnO1xuaW1wb3J0IHsgU2tpcFByaXZhdGVQcm9wZXJ0eVRyYW5zZm9ybWVyIH0gZnJvbSAnLi4vLi4vdHJhbnNmb3JtZXJzL3NraXAtcHJpdmF0ZS1wcm9wZXJ0eS10cmFuc2Zvcm1lci50cyc7XG5pbXBvcnQgeyBUd29XYXlNYXBUcmFuc2Zvcm1lciB9IGZyb20gJy4uLy4uL3RyYW5zZm9ybWVycy90d28td2F5LW1hcC10cmFuc2Zvcm1lci50cyc7XG5cbmNvbnN0IGRlZmF1bHRUcmFuc2Zvcm1lciA9IG5ldyBHcm91cFRyYW5zZm9ybWVyKFtcbiAgbmV3IFNraXBQcml2YXRlUHJvcGVydHlUcmFuc2Zvcm1lcigpLFxuICBuZXcgRGF0ZVRyYW5zZm9ybWVyKCksXG4gIG5ldyBEdXJhdGlvblRyYW5zZm9ybWVyKCksXG4gIG5ldyBNYXBUcmFuc2Zvcm1lcigpLFxuICBuZXcgU2V0VHJhbnNmb3JtZXIoKSxcbiAgbmV3IFR3b1dheU1hcFRyYW5zZm9ybWVyKClcbl0pO1xuXG50eXBlIFZhbGlkYXRpb25SZXN1bHQ8UGx1Z2luU2V0dGluZ3MgZXh0ZW5kcyBvYmplY3Q+ID0gUGFydGlhbDxSZWNvcmQ8U3RyaW5nS2V5czxQbHVnaW5TZXR0aW5ncz4sIHN0cmluZz4+O1xuXG50eXBlIFZhbGlkYXRvcjxQbHVnaW5TZXR0aW5ncyBleHRlbmRzIG9iamVjdCwgUHJvcGVydHlOYW1lIGV4dGVuZHMgU3RyaW5nS2V5czxQbHVnaW5TZXR0aW5ncz4gPSBTdHJpbmdLZXlzPFBsdWdpblNldHRpbmdzPj4gPSAoXG4gIHZhbHVlOiBQbHVnaW5TZXR0aW5nc1tQcm9wZXJ0eU5hbWVdLFxuICBzZXR0aW5nczogUGx1Z2luU2V0dGluZ3NcbikgPT4gUHJvbWlzYWJsZTxNYXliZVJldHVybjxzdHJpbmc+PjtcblxuLyoqXG4gKiBCYXNlIGNsYXNzIGZvciBtYW5hZ2luZyBwbHVnaW4gc2V0dGluZ3MuXG4gKlxuICogQHR5cGVQYXJhbSBQbHVnaW5UeXBlcyAtIFBsdWdpbi1zcGVjaWZpYyB0eXBlcy5cbiAqL1xuZXhwb3J0IGFic3RyYWN0IGNsYXNzIFBsdWdpblNldHRpbmdzTWFuYWdlckJhc2U8UGx1Z2luVHlwZXMgZXh0ZW5kcyBQbHVnaW5UeXBlc0Jhc2U+IGV4dGVuZHMgQXN5bmNFdmVudHMge1xuICAvKipcbiAgICogR2V0cyB0aGUgYXBwLlxuICAgKlxuICAgKiBAcmV0dXJucyBUaGUgYXBwLlxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IGFwcDogQXBwO1xuXG4gIC8qKlxuICAgKiBHZXRzIHRoZSByZWFkb25seSBkZWZhdWx0IHNldHRpbmdzLlxuICAgKlxuICAgKiBAcmV0dXJucyBUaGUgZGVmYXVsdCBzZXR0aW5ncyAoYXMgYSByZWFkb25seSBvYmplY3QpLlxuICAgKi9cbiAgcHVibGljIHJlYWRvbmx5IGRlZmF1bHRTZXR0aW5nczogUmVhZG9ubHlEZWVwPEV4dHJhY3RQbHVnaW5TZXR0aW5nczxQbHVnaW5UeXBlcz4+O1xuXG4gIC8qKlxuICAgKiBHZXRzIHRoZSBjdXJyZW50IHNldHRpbmdzIHdyYXBwZXIuXG4gICAqXG4gICAqIEByZXR1cm5zIFRoZSBjdXJyZW50IHNldHRpbmdzIHdyYXBwZXIuXG4gICAqL1xuICBwdWJsaWMgZ2V0IHNldHRpbmdzV3JhcHBlcigpOiBFeHRyYWN0UmVhZG9ubHlQbHVnaW5TZXR0aW5nc1dyYXBwZXI8UGx1Z2luVHlwZXM+IHtcbiAgICByZXR1cm4gdGhpcy5jdXJyZW50U2V0dGluZ3NXcmFwcGVyIGFzIEV4dHJhY3RSZWFkb25seVBsdWdpblNldHRpbmdzV3JhcHBlcjxQbHVnaW5UeXBlcz47XG4gIH1cblxuICBwcml2YXRlIGN1cnJlbnRTZXR0aW5nc1dyYXBwZXI6IEV4dHJhY3RQbHVnaW5TZXR0aW5nc1dyYXBwZXI8UGx1Z2luVHlwZXM+O1xuICBwcml2YXRlIGxhc3RTYXZlZFNldHRpbmdzV3JhcHBlcjogRXh0cmFjdFBsdWdpblNldHRpbmdzV3JhcHBlcjxQbHVnaW5UeXBlcz47XG4gIHByaXZhdGUgcmVhZG9ubHkgbGVnYWN5U2V0dGluZ3NDb252ZXJ0ZXJzOiAoKHJlY29yZDogR2VuZXJpY09iamVjdCkgPT4gdm9pZClbXSA9IFtdO1xuICBwcml2YXRlIHJlYWRvbmx5IHByb3BlcnR5TmFtZXM6IEV4dHJhY3RQbHVnaW5TZXR0aW5nc1Byb3BlcnR5TmFtZXM8UGx1Z2luVHlwZXM+W107XG4gIHByaXZhdGUgcmVhZG9ubHkgdmFsaWRhdG9ycyA9IG5ldyBNYXA8RXh0cmFjdFBsdWdpblNldHRpbmdzUHJvcGVydHlOYW1lczxQbHVnaW5UeXBlcz4sIFZhbGlkYXRvcjxFeHRyYWN0UGx1Z2luU2V0dGluZ3M8UGx1Z2luVHlwZXM+Pj4oKTtcblxuICAvKipcbiAgICogQ3JlYXRlcyBhIG5ldyBwbHVnaW4gc2V0dGluZ3MgbWFuYWdlci5cbiAgICpcbiAgICogQHBhcmFtIHBsdWdpbiAtIFRoZSBwbHVnaW4uXG4gICAqL1xuICBwdWJsaWMgY29uc3RydWN0b3IocHVibGljIHJlYWRvbmx5IHBsdWdpbjogRXh0cmFjdFBsdWdpbjxQbHVnaW5UeXBlcz4pIHtcbiAgICBzdXBlcigpO1xuICAgIHRoaXMuYXBwID0gcGx1Z2luLmFwcDtcbiAgICB0aGlzLmRlZmF1bHRTZXR0aW5ncyA9IHRoaXMuY3JlYXRlRGVmYXVsdFNldHRpbmdzKCkgYXMgUmVhZG9ubHlEZWVwPEV4dHJhY3RQbHVnaW5TZXR0aW5nczxQbHVnaW5UeXBlcz4+O1xuICAgIHRoaXMuY3VycmVudFNldHRpbmdzV3JhcHBlciA9IHRoaXMuY3JlYXRlRGVmYXVsdFNldHRpbmdzV3JhcHBlcigpO1xuICAgIHRoaXMubGFzdFNhdmVkU2V0dGluZ3NXcmFwcGVyID0gdGhpcy5jcmVhdGVEZWZhdWx0U2V0dGluZ3NXcmFwcGVyKCk7XG4gICAgdGhpcy5wcm9wZXJ0eU5hbWVzID0gZ2V0QWxsS2V5cyh0aGlzLmN1cnJlbnRTZXR0aW5nc1dyYXBwZXIuc2V0dGluZ3MpO1xuICAgIHRoaXMucmVnaXN0ZXJWYWxpZGF0b3JzKCk7XG4gICAgdGhpcy5yZWdpc3RlckxlZ2FjeVNldHRpbmdzQ29udmVydGVycygpO1xuICB9XG5cbiAgLyoqXG4gICAqIEVkaXRzIHRoZSBwbHVnaW4gc2V0dGluZ3MgYW5kIHNhdmVzIHRoZW0uXG4gICAqXG4gICAqIEBwYXJhbSBzZXR0aW5nc0VkaXRvciAtIFRoZSBlZGl0b3IuXG4gICAqIEBwYXJhbSBjb250ZXh0IC0gVGhlIGNvbnRleHQuXG4gICAqIEByZXR1cm5zIEEge0BsaW5rIFByb21pc2V9IHRoYXQgcmVzb2x2ZXMgd2hlbiB0aGUgc2V0dGluZ3MgYXJlIHNhdmVkLlxuICAgKi9cbiAgcHVibGljIGFzeW5jIGVkaXRBbmRTYXZlKHNldHRpbmdzRWRpdG9yOiAoc2V0dGluZ3M6IEV4dHJhY3RQbHVnaW5TZXR0aW5nczxQbHVnaW5UeXBlcz4pID0+IFByb21pc2FibGU8dm9pZD4sIGNvbnRleHQ/OiB1bmtub3duKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgYXdhaXQgdGhpcy5lZGl0KHNldHRpbmdzRWRpdG9yKTtcbiAgICBhd2FpdCB0aGlzLnNhdmVUb0ZpbGUoY29udGV4dCk7XG4gIH1cblxuICAvKipcbiAgICogRW5zdXJlcyB0aGUgc2V0dGluZ3MgYXJlIHNhZmUuXG4gICAqXG4gICAqIEl0IHJ1bnMgdmFsaWRhdGlvbiBmb3IgZWFjaCBwcm9wZXJ0eSBhbmQgc2V0cyB0aGUgZGVmYXVsdCB2YWx1ZSBpZiB0aGUgdmFsaWRhdGlvbiBmYWlscy5cbiAgICpcbiAgICogQHBhcmFtIHNldHRpbmdzIC0gVGhlIHNldHRpbmdzLlxuICAgKiBAcmV0dXJucyBBIHtAbGluayBQcm9taXNlfSB0aGF0IHJlc29sdmVzIHdoZW4gdGhlIHNldHRpbmdzIGFyZSBzYWZlLlxuICAgKi9cbiAgcHVibGljIGFzeW5jIGVuc3VyZVNhZmUoc2V0dGluZ3M6IEV4dHJhY3RQbHVnaW5TZXR0aW5nczxQbHVnaW5UeXBlcz4pOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBjb25zdCB2YWxpZGF0aW9uUmVzdWx0ID0gYXdhaXQgdGhpcy52YWxpZGF0ZShzZXR0aW5ncyk7XG4gICAgZm9yIChjb25zdCBwcm9wZXJ0eU5hbWUgb2YgdGhpcy5wcm9wZXJ0eU5hbWVzKSB7XG4gICAgICBpZiAodmFsaWRhdGlvblJlc3VsdFtwcm9wZXJ0eU5hbWVdKSB7XG4gICAgICAgIHNldHRpbmdzW3Byb3BlcnR5TmFtZV0gPSB0aGlzLmRlZmF1bHRTZXR0aW5nc1twcm9wZXJ0eU5hbWVdO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBHZXRzIGEgc2FmZSBjb3B5IG9mIHRoZSBzZXR0aW5ncy5cbiAgICpcbiAgICogQHBhcmFtIHNldHRpbmdzIC0gVGhlIHNldHRpbmdzLlxuICAgKiBAcmV0dXJucyBBIHtAbGluayBQcm9taXNlfSB0aGF0IHJlc29sdmVzIHRvIHRoZSBzYWZlIGNvcHkgb2YgdGhlIHNldHRpbmdzLlxuICAgKi9cbiAgcHVibGljIGFzeW5jIGdldFNhZmVDb3B5KHNldHRpbmdzOiBFeHRyYWN0UGx1Z2luU2V0dGluZ3M8UGx1Z2luVHlwZXM+KTogUHJvbWlzZTxFeHRyYWN0UGx1Z2luU2V0dGluZ3M8UGx1Z2luVHlwZXM+PiB7XG4gICAgY29uc3Qgc2FmZVNldHRpbmdzID0gYXdhaXQgdGhpcy5jbG9uZVNldHRpbmdzKHNldHRpbmdzKTtcbiAgICBhd2FpdCB0aGlzLmVuc3VyZVNhZmUoc2FmZVNldHRpbmdzKTtcbiAgICByZXR1cm4gc2FmZVNldHRpbmdzO1xuICB9XG5cbiAgLyoqXG4gICAqIExvYWRzIHRoZSBwbHVnaW4gc2V0dGluZ3MgZnJvbSB0aGUgZmlsZS5cbiAgICpcbiAgICogQHBhcmFtIGlzSW5pdGlhbExvYWQgLSBXaGV0aGVyIHRoZSBzZXR0aW5ncyBhcmUgYmVpbmcgbG9hZGVkIGZvciB0aGUgZmlyc3QgdGltZS5cbiAgICogQHJldHVybnMgQSB7QGxpbmsgUHJvbWlzZX0gdGhhdCByZXNvbHZlcyB3aGVuIHRoZSBzZXR0aW5ncyBhcmUgbG9hZGVkLlxuICAgKi9cbiAgcHVibGljIGFzeW5jIGxvYWRGcm9tRmlsZShpc0luaXRpYWxMb2FkOiBib29sZWFuKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgY29uc3QgZGF0YSA9IGF3YWl0IHRoaXMucGx1Z2luLmxvYWREYXRhKCkgYXMgdW5rbm93bjtcbiAgICB0aGlzLmxhc3RTYXZlZFNldHRpbmdzV3JhcHBlciA9IHRoaXMuY3JlYXRlRGVmYXVsdFNldHRpbmdzV3JhcHBlcigpO1xuICAgIHRoaXMuY3VycmVudFNldHRpbmdzV3JhcHBlciA9IHRoaXMuY3JlYXRlRGVmYXVsdFNldHRpbmdzV3JhcHBlcigpO1xuXG4gICAgdHJ5IHtcbiAgICAgIGlmIChkYXRhID09PSB1bmRlZmluZWQgfHwgZGF0YSA9PT0gbnVsbCkge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIGlmICh0eXBlb2YgZGF0YSAhPT0gJ29iamVjdCcpIHtcbiAgICAgICAgY29uc29sZS5lcnJvcihgSW52YWxpZCBzZXR0aW5ncyBmcm9tIGRhdGEuanNvbi4gRXhwZWN0ZWQgT2JqZWN0LCBnb3Q6ICR7dHlwZW9mIGRhdGF9YCk7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgY29uc3QgcmF3UmVjb3JkID0gZGF0YSBhcyBHZW5lcmljT2JqZWN0O1xuICAgICAgY29uc3QgcGFyc2VkU2V0dGluZ3MgPSBhd2FpdCB0aGlzLnJhd1JlY29yZFRvU2V0dGluZ3MocmF3UmVjb3JkKTtcbiAgICAgIGNvbnN0IHZhbGlkYXRpb25SZXN1bHQgPSBhd2FpdCB0aGlzLnZhbGlkYXRlKHBhcnNlZFNldHRpbmdzKTtcblxuICAgICAgZm9yIChjb25zdCBwcm9wZXJ0eU5hbWUgb2YgdGhpcy5wcm9wZXJ0eU5hbWVzKSB7XG4gICAgICAgIHRoaXMuc2V0UHJvcGVydHlJbXBsKHByb3BlcnR5TmFtZSwgcGFyc2VkU2V0dGluZ3NbcHJvcGVydHlOYW1lXSwgdmFsaWRhdGlvblJlc3VsdFtwcm9wZXJ0eU5hbWVdKTtcbiAgICAgIH1cblxuICAgICAgdGhpcy5sYXN0U2F2ZWRTZXR0aW5nc1dyYXBwZXIgPSBhd2FpdCB0aGlzLmNsb25lU2V0dGluZ3NXcmFwcGVyKHRoaXMuY3VycmVudFNldHRpbmdzV3JhcHBlcik7XG5cbiAgICAgIGNvbnN0IG5ld1JlY29yZCA9IGF3YWl0IHRoaXMuc2V0dGluZ3NUb1Jhd1JlY29yZCh0aGlzLmN1cnJlbnRTZXR0aW5nc1dyYXBwZXIuc2V0dGluZ3MpO1xuXG4gICAgICBpZiAoIWRlZXBFcXVhbChuZXdSZWNvcmQsIGRhdGEpKSB7XG4gICAgICAgIGF3YWl0IHRoaXMuc2F2ZVRvRmlsZUltcGwoKTtcbiAgICAgIH1cbiAgICB9IGZpbmFsbHkge1xuICAgICAgYXdhaXQgdGhpcy50cmlnZ2VyQXN5bmMoJ2xvYWRTZXR0aW5ncycsIHRoaXMuY3VycmVudFNldHRpbmdzV3JhcHBlciwgaXNJbml0aWFsTG9hZCk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIFN1YnNjcmliZXMgdG8gdGhlIGBsb2FkU2V0dGluZ3NgIGV2ZW50LlxuICAgKlxuICAgKiBAcGFyYW0gbmFtZSAtIEFsd2F5cyBgbG9hZFNldHRpbmdzYC5cbiAgICogQHBhcmFtIGNhbGxiYWNrIC0gVGhlIGNhbGxiYWNrIHRvIGNhbGwgd2hlbiB0aGUgZXZlbnQgaXMgdHJpZ2dlcmVkLlxuICAgKiBAcGFyYW0gdGhpc0FyZyAtIFRoZSBjb250ZXh0IHBhc3NlZCBhcyBgdGhpc2AgdG8gdGhlIGBjYWxsYmFja2AuXG4gICAqIEByZXR1cm5zIEEgcmVmZXJlbmNlIHRvIHRoZSBldmVudCBsaXN0ZW5lci5cbiAgICovXG4gIHB1YmxpYyBvdmVycmlkZSBvbihcbiAgICBuYW1lOiAnbG9hZFNldHRpbmdzJyxcbiAgICBjYWxsYmFjazogKFxuICAgICAgbG9hZGVkU2V0dGluZ3M6IEV4dHJhY3RSZWFkb25seVBsdWdpblNldHRpbmdzV3JhcHBlcjxQbHVnaW5UeXBlcz4sXG4gICAgICBpc0luaXRpYWxMb2FkOiBib29sZWFuXG4gICAgKSA9PiBQcm9taXNhYmxlPHZvaWQ+LFxuICAgIHRoaXNBcmc/OiB1bmtub3duXG4gICk6IEFzeW5jRXZlbnRSZWY7XG4gIC8qKlxuICAgKiBTdWJzY3JpYmVzIHRvIHRoZSBgc2F2ZVNldHRpbmdzYCBldmVudC5cbiAgICpcbiAgICogQHBhcmFtIG5hbWUgLSBBbHdheXMgYHNhdmVTZXR0aW5nc2AuXG4gICAqIEBwYXJhbSBjYWxsYmFjayAtIFRoZSBjYWxsYmFjayB0byBjYWxsIHdoZW4gdGhlIGV2ZW50IGlzIHRyaWdnZXJlZC5cbiAgICogQHBhcmFtIHRoaXNBcmcgLSBUaGUgY29udGV4dCBwYXNzZWQgYXMgYHRoaXNgIHRvIHRoZSBgY2FsbGJhY2tgLlxuICAgKiBAcmV0dXJucyBBIHJlZmVyZW5jZSB0byB0aGUgZXZlbnQgbGlzdGVuZXIuXG4gICAqL1xuICBwdWJsaWMgb3ZlcnJpZGUgb24oXG4gICAgbmFtZTogJ3NhdmVTZXR0aW5ncycsXG4gICAgY2FsbGJhY2s6IChcbiAgICAgIG5ld1NldHRpbmdzOiBFeHRyYWN0UmVhZG9ubHlQbHVnaW5TZXR0aW5nc1dyYXBwZXI8UGx1Z2luVHlwZXM+LFxuICAgICAgb2xkU2V0dGluZ3M6IEV4dHJhY3RSZWFkb25seVBsdWdpblNldHRpbmdzV3JhcHBlcjxQbHVnaW5UeXBlcz4sXG4gICAgICBjb250ZXh0OiB1bmtub3duXG4gICAgKSA9PiBQcm9taXNhYmxlPHZvaWQ+LFxuICAgIHRoaXNBcmc/OiB1bmtub3duXG4gICk6IEFzeW5jRXZlbnRSZWY7XG4gIC8qKlxuICAgKiBTdWJzY3JpYmVzIHRvIGFuIGV2ZW50LlxuICAgKlxuICAgKiBAcGFyYW0gbmFtZSAtIFRoZSBuYW1lIG9mIHRoZSBldmVudC5cbiAgICogQHBhcmFtIGNhbGxiYWNrIC0gVGhlIGNhbGxiYWNrIHRvIGNhbGwgd2hlbiB0aGUgZXZlbnQgaXMgdHJpZ2dlcmVkLlxuICAgKiBAcGFyYW0gdGhpc0FyZyAtIFRoZSBjb250ZXh0IHBhc3NlZCBhcyBgdGhpc2AgdG8gdGhlIGBjYWxsYmFja2AuXG4gICAqIEByZXR1cm5zIEEgcmVmZXJlbmNlIHRvIHRoZSBldmVudCBsaXN0ZW5lci5cbiAgICovXG4gIHB1YmxpYyBvdmVycmlkZSBvbjxBcmdzIGV4dGVuZHMgdW5rbm93bltdPihcbiAgICBuYW1lOiBzdHJpbmcsXG4gICAgY2FsbGJhY2s6ICguLi5hcmdzOiBBcmdzKSA9PiBQcm9taXNhYmxlPHZvaWQ+LFxuICAgIHRoaXNBcmc/OiB1bmtub3duXG4gICk6IEFzeW5jRXZlbnRSZWYge1xuICAgIHJldHVybiBzdXBlci5vbihuYW1lLCBjYWxsYmFjaywgdGhpc0FyZyk7XG4gIH1cblxuICAvKipcbiAgICogUmV2YWxpZGF0ZXMgdGhlIHNldHRpbmdzLlxuICAgKlxuICAgKiBAcmV0dXJucyBUaGUgdmFsaWRhdGlvbiBtZXNzYWdlcy5cbiAgICovXG4gIHB1YmxpYyBhc3luYyByZXZhbGlkYXRlKCk6IFByb21pc2U8UmVjb3JkPEV4dHJhY3RQbHVnaW5TZXR0aW5nc1Byb3BlcnR5TmFtZXM8UGx1Z2luVHlwZXM+LCBzdHJpbmc+PiB7XG4gICAgYXdhaXQgdGhpcy5lZGl0KG5vb3ApO1xuICAgIHJldHVybiB0aGlzLmN1cnJlbnRTZXR0aW5nc1dyYXBwZXIudmFsaWRhdGlvbk1lc3NhZ2VzO1xuICB9XG5cbiAgLyoqXG4gICAqIFNhdmVzIHRoZSBuZXcgcGx1Z2luIHNldHRpbmdzLlxuICAgKlxuICAgKiBAcGFyYW0gY29udGV4dCAtIFRoZSBjb250ZXh0IG9mIHRoZSBzYXZlIHRvIGZpbGUgb3BlcmF0aW9uLlxuICAgKiBAcmV0dXJucyBBIHtAbGluayBQcm9taXNlfSB0aGF0IHJlc29sdmVzIHdoZW4gdGhlIHNldHRpbmdzIGFyZSBzYXZlZC5cbiAgICovXG4gIHB1YmxpYyBhc3luYyBzYXZlVG9GaWxlKGNvbnRleHQ/OiB1bmtub3duKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgaWYgKGRlZXBFcXVhbCh0aGlzLmxhc3RTYXZlZFNldHRpbmdzV3JhcHBlci5zZXR0aW5ncywgdGhpcy5jdXJyZW50U2V0dGluZ3NXcmFwcGVyLnNldHRpbmdzKSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGF3YWl0IHRoaXMuc2F2ZVRvRmlsZUltcGwoKTtcbiAgICBhd2FpdCB0aGlzLnRyaWdnZXJBc3luYygnc2F2ZVNldHRpbmdzJywgdGhpcy5jdXJyZW50U2V0dGluZ3NXcmFwcGVyLCB0aGlzLmxhc3RTYXZlZFNldHRpbmdzV3JhcHBlciwgY29udGV4dCk7XG4gICAgdGhpcy5sYXN0U2F2ZWRTZXR0aW5nc1dyYXBwZXIgPSBhd2FpdCB0aGlzLmNsb25lU2V0dGluZ3NXcmFwcGVyKHRoaXMuY3VycmVudFNldHRpbmdzV3JhcHBlcik7XG4gIH1cblxuICAvKipcbiAgICogU2V0cyB0aGUgdmFsdWUgb2YgYSBwcm9wZXJ0eS5cbiAgICpcbiAgICogQHR5cGVQYXJhbSBQcm9wZXJ0eU5hbWUgLSBUaGUgbmFtZSBvZiB0aGUgcHJvcGVydHkuXG4gICAqIEBwYXJhbSBwcm9wZXJ0eU5hbWUgLSBUaGUgbmFtZSBvZiB0aGUgcHJvcGVydHkuXG4gICAqIEBwYXJhbSB2YWx1ZSAtIFRoZSB2YWx1ZSB0byBzZXQuXG4gICAqIEByZXR1cm5zIEEge0BsaW5rIFByb21pc2V9IHRoYXQgcmVzb2x2ZXMgdG8gdGhlIHZhbGlkYXRpb24gbWVzc2FnZS5cbiAgICovXG4gIHB1YmxpYyBhc3luYyBzZXRQcm9wZXJ0eTxQcm9wZXJ0eU5hbWUgZXh0ZW5kcyBFeHRyYWN0UGx1Z2luU2V0dGluZ3NQcm9wZXJ0eU5hbWVzPFBsdWdpblR5cGVzPj4oXG4gICAgcHJvcGVydHlOYW1lOiBQcm9wZXJ0eU5hbWUsXG4gICAgdmFsdWU6IEV4dHJhY3RQbHVnaW5TZXR0aW5nczxQbHVnaW5UeXBlcz5bUHJvcGVydHlOYW1lXVxuICApOiBQcm9taXNlPHN0cmluZz4ge1xuICAgIGF3YWl0IHRoaXMuZWRpdCgoc2V0dGluZ3MpID0+IHtcbiAgICAgIHNldHRpbmdzW3Byb3BlcnR5TmFtZV0gPSB2YWx1ZTtcbiAgICB9KTtcbiAgICByZXR1cm4gdGhpcy5jdXJyZW50U2V0dGluZ3NXcmFwcGVyLnZhbGlkYXRpb25NZXNzYWdlc1twcm9wZXJ0eU5hbWVdO1xuICB9XG5cbiAgLyoqXG4gICAqIFZhbGlkYXRlcyB0aGUgc2V0dGluZ3MuXG4gICAqXG4gICAqIEBwYXJhbSBzZXR0aW5ncyAtIFRoZSBzZXR0aW5ncy5cbiAgICogQHJldHVybnMgQSB7QGxpbmsgUHJvbWlzZX0gdGhhdCByZXNvbHZlcyB0byB0aGUgdmFsaWRhdGlvbiByZXN1bHQuXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgdmFsaWRhdGUoc2V0dGluZ3M6IEV4dHJhY3RQbHVnaW5TZXR0aW5nczxQbHVnaW5UeXBlcz4pOiBQcm9taXNlPFZhbGlkYXRpb25SZXN1bHQ8RXh0cmFjdFBsdWdpblNldHRpbmdzPFBsdWdpblR5cGVzPj4+IHtcbiAgICBjb25zdCByZXN1bHQ6IFZhbGlkYXRpb25SZXN1bHQ8RXh0cmFjdFBsdWdpblNldHRpbmdzPFBsdWdpblR5cGVzPj4gPSB7fTtcbiAgICBmb3IgKGNvbnN0IFtwcm9wZXJ0eU5hbWUsIHZhbGlkYXRvcl0gb2YgdGhpcy52YWxpZGF0b3JzLmVudHJpZXMoKSkge1xuICAgICAgY29uc3QgdmFsaWRhdGlvbk1lc3NhZ2UgPSBhd2FpdCB2YWxpZGF0b3Ioc2V0dGluZ3NbcHJvcGVydHlOYW1lXSwgc2V0dGluZ3MpO1xuICAgICAgaWYgKHZhbGlkYXRpb25NZXNzYWdlKSB7XG4gICAgICAgIHJlc3VsdFtwcm9wZXJ0eU5hbWVdID0gdmFsaWRhdGlvbk1lc3NhZ2U7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIHJlc3VsdDtcbiAgfVxuXG4gIHByb3RlY3RlZCBhYnN0cmFjdCBjcmVhdGVEZWZhdWx0U2V0dGluZ3MoKTogRXh0cmFjdFBsdWdpblNldHRpbmdzPFBsdWdpblR5cGVzPjtcblxuICAvKipcbiAgICogR2V0cyB0aGUgdHJhbnNmb3JtZXIuXG4gICAqXG4gICAqIEByZXR1cm5zIFRoZSB0cmFuc2Zvcm1lci5cbiAgICovXG4gIHByb3RlY3RlZCBnZXRUcmFuc2Zvcm1lcigpOiBUcmFuc2Zvcm1lciB7XG4gICAgcmV0dXJuIGRlZmF1bHRUcmFuc2Zvcm1lcjtcbiAgfVxuXG4gIC8qKlxuICAgKiBDYWxsZWQgd2hlbiB0aGUgcGx1Z2luIHNldHRpbmdzIGFyZSBsb2FkZWQuXG4gICAqXG4gICAqIEBwYXJhbSByZWNvcmQgLSBUaGUgcmVjb3JkLlxuICAgKi9cbiAgcHJvdGVjdGVkIGFzeW5jIG9uTG9hZFJlY29yZChyZWNvcmQ6IEdlbmVyaWNPYmplY3QpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBmb3IgKGNvbnN0IGNvbnZlcnRlciBvZiB0aGlzLmxlZ2FjeVNldHRpbmdzQ29udmVydGVycykge1xuICAgICAgY29udmVydGVyKHJlY29yZCk7XG4gICAgfVxuICAgIGF3YWl0IFByb21pc2UucmVzb2x2ZSgpO1xuICB9XG5cbiAgLyoqXG4gICAqIENhbGxlZCB3aGVuIHRoZSBwbHVnaW4gc2V0dGluZ3MgYXJlIHNhdmluZy5cbiAgICpcbiAgICogQHBhcmFtIF9yZWNvcmQgLSBUaGUgcmVjb3JkLlxuICAgKi9cbiAgcHJvdGVjdGVkIGFzeW5jIG9uU2F2aW5nUmVjb3JkKF9yZWNvcmQ6IEdlbmVyaWNPYmplY3QpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBhd2FpdCBub29wQXN5bmMoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZWdpc3RlcnMgYSBsZWdhY3kgc2V0dGluZ3MgY29udmVydGVyLlxuICAgKlxuICAgKiBAdHlwZVBhcmFtIExlZ2FjeVNldHRpbmdzIC0gVGhlIGxlZ2FjeSBzZXR0aW5ncyBjbGFzcy5cbiAgICogQHBhcmFtIGxlZ2FjeVNldHRpbmdzQ2xhc3MgLSBUaGUgbGVnYWN5IHNldHRpbmdzIGNsYXNzLlxuICAgKiBAcGFyYW0gY29udmVydGVyIC0gVGhlIGNvbnZlcnRlci5cbiAgICovXG4gIHByb3RlY3RlZCByZWdpc3RlckxlZ2FjeVNldHRpbmdzQ29udmVydGVyPExlZ2FjeVNldHRpbmdzIGV4dGVuZHMgb2JqZWN0PihcbiAgICBsZWdhY3lTZXR0aW5nc0NsYXNzOiBuZXcgKCkgPT4gTGVnYWN5U2V0dGluZ3MsXG4gICAgY29udmVydGVyOiAobGVnYWN5U2V0dGluZ3M6IFBhcnRpYWw8RXh0cmFjdFBsdWdpblNldHRpbmdzPFBsdWdpblR5cGVzPj4gJiBQYXJ0aWFsPExlZ2FjeVNldHRpbmdzPikgPT4gdm9pZFxuICApOiB2b2lkIHtcbiAgICBjb25zdCB0aGF0ID0gdGhpcztcbiAgICB0aGlzLmxlZ2FjeVNldHRpbmdzQ29udmVydGVycy5wdXNoKGxlZ2FjeVNldHRpbmdzQ29udmVydGVyKTtcblxuICAgIGZ1bmN0aW9uIGxlZ2FjeVNldHRpbmdzQ29udmVydGVyKHJlY29yZDogR2VuZXJpY09iamVjdCk6IHZvaWQge1xuICAgICAgY29uc3QgbGVnYWN5U2V0dGluZ3NLZXlzID0gbmV3IFNldDxzdHJpbmc+KE9iamVjdC5rZXlzKG5ldyBsZWdhY3lTZXR0aW5nc0NsYXNzKCkpKTtcbiAgICAgIGNvbnN0IHBsdWdpblNldHRpbmdLZXlzID0gbmV3IFNldDxzdHJpbmc+KHRoYXQucHJvcGVydHlOYW1lcyk7XG4gICAgICBjb25zdCBsZWdhY3lTZXR0aW5ncyA9IHJlY29yZCBhcyBQYXJ0aWFsPEV4dHJhY3RQbHVnaW5TZXR0aW5nczxQbHVnaW5UeXBlcz4+ICYgUGFydGlhbDxMZWdhY3lTZXR0aW5ncz47XG4gICAgICBjb252ZXJ0ZXIobGVnYWN5U2V0dGluZ3MpO1xuICAgICAgZm9yIChjb25zdCBrZXkgb2YgT2JqZWN0LmtleXMobGVnYWN5U2V0dGluZ3MpKSB7XG4gICAgICAgIGlmIChwbHVnaW5TZXR0aW5nS2V5cy5oYXMoa2V5KSkge1xuICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKCFsZWdhY3lTZXR0aW5nc0tleXMuaGFzKGtleSkpIHtcbiAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZHluYW1pYy1kZWxldGUgLS0gV2UgaGF2ZSBubyBvdGhlciB3YXkgdG8gZGVsZXRlIHRoZSBwcm9wZXJ0eS5cbiAgICAgICAgZGVsZXRlIHJlY29yZFtrZXldO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBSZWdpc3RlcnMgdGhlIGxlZ2FjeSBzZXR0aW5ncyBjb252ZXJ0ZXJzLlxuICAgKlxuICAgKiBUaGlzIG1ldGhvZCBjYW4gYmUgb3ZlcnJpZGRlbiBieSBzdWJjbGFzc2VzIHRvIHJlZ2lzdGVyIGxlZ2FjeSBzZXR0aW5ncyBjb252ZXJ0ZXJzLlxuICAgKi9cbiAgcHJvdGVjdGVkIHJlZ2lzdGVyTGVnYWN5U2V0dGluZ3NDb252ZXJ0ZXJzKCk6IHZvaWQge1xuICAgIG5vb3AoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZWdpc3RlcnMgYSB2YWxpZGF0b3IgZm9yIGEgcHJvcGVydHkuXG4gICAqXG4gICAqIEBwYXJhbSBwcm9wZXJ0eU5hbWUgLSBUaGUgbmFtZSBvZiB0aGUgcHJvcGVydHkuXG4gICAqIEBwYXJhbSB2YWxpZGF0b3IgLSBUaGUgdmFsaWRhdG9yLlxuICAgKi9cbiAgcHJvdGVjdGVkIHJlZ2lzdGVyVmFsaWRhdG9yPFByb3BlcnR5TmFtZSBleHRlbmRzIEV4dHJhY3RQbHVnaW5TZXR0aW5nc1Byb3BlcnR5TmFtZXM8UGx1Z2luVHlwZXM+PihcbiAgICBwcm9wZXJ0eU5hbWU6IFByb3BlcnR5TmFtZSxcbiAgICB2YWxpZGF0b3I6IFZhbGlkYXRvcjxFeHRyYWN0UGx1Z2luU2V0dGluZ3M8UGx1Z2luVHlwZXM+LCBQcm9wZXJ0eU5hbWU+XG4gICk6IHZvaWQge1xuICAgIHRoaXMudmFsaWRhdG9ycy5zZXQocHJvcGVydHlOYW1lLCB2YWxpZGF0b3IgYXMgVmFsaWRhdG9yPEV4dHJhY3RQbHVnaW5TZXR0aW5nczxQbHVnaW5UeXBlcz4+KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZWdpc3RlcnMgdGhlIHZhbGlkYXRvcnMuXG4gICAqXG4gICAqIFRoaXMgbWV0aG9kIGNhbiBiZSBvdmVycmlkZGVuIGJ5IHN1YmNsYXNzZXMgdG8gcmVnaXN0ZXIgdmFsaWRhdG9ycyBmb3IgcHJvcGVydGllcy5cbiAgICovXG4gIHByb3RlY3RlZCByZWdpc3RlclZhbGlkYXRvcnMoKTogdm9pZCB7XG4gICAgbm9vcCgpO1xuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyBjbG9uZVNldHRpbmdzKHNldHRpbmdzOiBFeHRyYWN0UGx1Z2luU2V0dGluZ3M8UGx1Z2luVHlwZXM+KTogUHJvbWlzZTxFeHRyYWN0UGx1Z2luU2V0dGluZ3M8UGx1Z2luVHlwZXM+PiB7XG4gICAgY29uc3QgcmVjb3JkID0gYXdhaXQgdGhpcy5zZXR0aW5nc1RvUmF3UmVjb3JkKHNldHRpbmdzKTtcbiAgICBjb25zdCBqc29uID0gSlNPTi5zdHJpbmdpZnkocmVjb3JkKTtcbiAgICBjb25zdCBjbG9uZVJlY29yZCA9IEpTT04ucGFyc2UoanNvbikgYXMgR2VuZXJpY09iamVjdDtcbiAgICByZXR1cm4gYXdhaXQgdGhpcy5yYXdSZWNvcmRUb1NldHRpbmdzKGNsb25lUmVjb3JkKTtcbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgY2xvbmVTZXR0aW5nc1dyYXBwZXIoXG4gICAgc2V0dGluZ3NXcmFwcGVyOiBQbHVnaW5TZXR0aW5nc1dyYXBwZXI8RXh0cmFjdFBsdWdpblNldHRpbmdzPFBsdWdpblR5cGVzPj5cbiAgKTogUHJvbWlzZTxQbHVnaW5TZXR0aW5nc1dyYXBwZXI8RXh0cmFjdFBsdWdpblNldHRpbmdzPFBsdWdpblR5cGVzPj4+IHtcbiAgICByZXR1cm4ge1xuICAgICAgc2FmZVNldHRpbmdzOiBhd2FpdCB0aGlzLmNsb25lU2V0dGluZ3Moc2V0dGluZ3NXcmFwcGVyLnNhZmVTZXR0aW5ncyksXG4gICAgICBzZXR0aW5nczogYXdhaXQgdGhpcy5jbG9uZVNldHRpbmdzKHNldHRpbmdzV3JhcHBlci5zZXR0aW5ncyksXG4gICAgICB2YWxpZGF0aW9uTWVzc2FnZXM6IHsgLi4uc2V0dGluZ3NXcmFwcGVyLnZhbGlkYXRpb25NZXNzYWdlcyB9XG4gICAgfTtcbiAgfVxuXG4gIHByaXZhdGUgY3JlYXRlRGVmYXVsdFNldHRpbmdzV3JhcHBlcigpOiBQbHVnaW5TZXR0aW5nc1dyYXBwZXI8RXh0cmFjdFBsdWdpblNldHRpbmdzPFBsdWdpblR5cGVzPj4ge1xuICAgIHJldHVybiB7XG4gICAgICBzYWZlU2V0dGluZ3M6IHRoaXMuY3JlYXRlRGVmYXVsdFNldHRpbmdzKCksXG4gICAgICBzZXR0aW5nczogdGhpcy5jcmVhdGVEZWZhdWx0U2V0dGluZ3MoKSxcbiAgICAgIHZhbGlkYXRpb25NZXNzYWdlczoge30gYXMgUmVjb3JkPEV4dHJhY3RQbHVnaW5TZXR0aW5nc1Byb3BlcnR5TmFtZXM8UGx1Z2luVHlwZXM+LCBzdHJpbmc+XG4gICAgfTtcbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgZWRpdChzZXR0aW5nc0VkaXRvcjogKHNldHRpbmdzOiBFeHRyYWN0UGx1Z2luU2V0dGluZ3M8UGx1Z2luVHlwZXM+KSA9PiBQcm9taXNhYmxlPHZvaWQ+KTogUHJvbWlzZTx2b2lkPiB7XG4gICAgdHJ5IHtcbiAgICAgIGF3YWl0IHNldHRpbmdzRWRpdG9yKHRoaXMuY3VycmVudFNldHRpbmdzV3JhcHBlci5zZXR0aW5ncyk7XG4gICAgfSBmaW5hbGx5IHtcbiAgICAgIGNvbnN0IHZhbGlkYXRpb25SZXN1bHQgPSBhd2FpdCB0aGlzLnZhbGlkYXRlKHRoaXMuY3VycmVudFNldHRpbmdzV3JhcHBlci5zZXR0aW5ncyk7XG4gICAgICBmb3IgKGNvbnN0IHByb3BlcnR5TmFtZSBvZiB0aGlzLnByb3BlcnR5TmFtZXMpIHtcbiAgICAgICAgY29uc3QgdmFsaWRhdGlvbk1lc3NhZ2UgPSB2YWxpZGF0aW9uUmVzdWx0W3Byb3BlcnR5TmFtZV0gPz8gJyc7XG4gICAgICAgIHRoaXMuY3VycmVudFNldHRpbmdzV3JhcHBlci52YWxpZGF0aW9uTWVzc2FnZXNbcHJvcGVydHlOYW1lXSA9IHZhbGlkYXRpb25NZXNzYWdlO1xuICAgICAgICB0aGlzLmN1cnJlbnRTZXR0aW5nc1dyYXBwZXIuc2FmZVNldHRpbmdzW3Byb3BlcnR5TmFtZV0gPSB2YWxpZGF0aW9uTWVzc2FnZVxuICAgICAgICAgID8gdGhpcy5kZWZhdWx0U2V0dGluZ3NbcHJvcGVydHlOYW1lXVxuICAgICAgICAgIDogdGhpcy5jdXJyZW50U2V0dGluZ3NXcmFwcGVyLnNldHRpbmdzW3Byb3BlcnR5TmFtZV07XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBpc1ZhbGlkUHJvcGVydHlOYW1lKHByb3A6IHVua25vd24pOiBwcm9wIGlzIEV4dHJhY3RQbHVnaW5TZXR0aW5nc1Byb3BlcnR5TmFtZXM8UGx1Z2luVHlwZXM+IHtcbiAgICBpZiAodHlwZW9mIHByb3AgIT09ICdzdHJpbmcnKSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuXG4gICAgcmV0dXJuICh0aGlzLnByb3BlcnR5TmFtZXMgYXMgc3RyaW5nW10pLmluY2x1ZGVzKHByb3ApO1xuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyByYXdSZWNvcmRUb1NldHRpbmdzKHJhd1JlY29yZDogR2VuZXJpY09iamVjdCk6IFByb21pc2U8RXh0cmFjdFBsdWdpblNldHRpbmdzPFBsdWdpblR5cGVzPj4ge1xuICAgIHJhd1JlY29yZCA9IHRoaXMuZ2V0VHJhbnNmb3JtZXIoKS50cmFuc2Zvcm1PYmplY3RSZWN1cnNpdmVseShyYXdSZWNvcmQpO1xuICAgIGF3YWl0IHRoaXMub25Mb2FkUmVjb3JkKHJhd1JlY29yZCk7XG5cbiAgICBjb25zdCBzZXR0aW5ncyA9IHRoaXMuY3JlYXRlRGVmYXVsdFNldHRpbmdzKCk7XG5cbiAgICBmb3IgKGNvbnN0IFtwcm9wZXJ0eU5hbWUsIHZhbHVlXSBvZiBPYmplY3QuZW50cmllcyhyYXdSZWNvcmQpKSB7XG4gICAgICBpZiAoIXRoaXMuaXNWYWxpZFByb3BlcnR5TmFtZShwcm9wZXJ0eU5hbWUpKSB7XG4gICAgICAgIGdldExpYkRlYnVnZ2VyKCdQbHVnaW5TZXR0aW5nc01hbmFnZXJCYXNlOnJhd1JlY29yZFRvU2V0dGluZ3MnKShgVW5rbm93biBwcm9wZXJ0eTogJHtwcm9wZXJ0eU5hbWV9YCk7XG4gICAgICAgIGNvbnRpbnVlO1xuICAgICAgfVxuXG4gICAgICBpZiAodHlwZW9mIHZhbHVlICE9PSB0eXBlb2YgdGhpcy5kZWZhdWx0U2V0dGluZ3NbcHJvcGVydHlOYW1lXSkge1xuICAgICAgICBnZXRMaWJEZWJ1Z2dlcignUGx1Z2luU2V0dGluZ3NNYW5hZ2VyQmFzZTpyYXdSZWNvcmRUb1NldHRpbmdzJykoXG4gICAgICAgICAgJ1Bvc3NpYmxlIGludmFsaWQgdmFsdWUgdHlwZS4gSXQgbWlnaHQgbGVhZCB0byBhbiB1bmV4cGVjdGVkIGJlaGF2aW9yIG9mIHRoZSBwbHVnaW4uIFRoZXJlIGlzIGFsc28gYSBjaGFuY2UgaXQgaXMgYSBmYWxzZS1uZWdhdGl2ZSB3YXJuaW5nLCBhcyB3ZSBhcmUgdW5hYmxlIHRvIGRldGVybWluZSB0aGUgZXhhY3QgdHlwZSBvZiB0aGUgdmFsdWUgaW4gcnVudGltZS4nLFxuICAgICAgICAgIHtcbiAgICAgICAgICAgIGRlZmF1bHRWYWx1ZTogdGhpcy5kZWZhdWx0U2V0dGluZ3NbcHJvcGVydHlOYW1lXSxcbiAgICAgICAgICAgIHByb3BlcnR5TmFtZSxcbiAgICAgICAgICAgIHZhbHVlXG4gICAgICAgICAgfVxuICAgICAgICApO1xuICAgICAgfVxuXG4gICAgICBzZXR0aW5nc1twcm9wZXJ0eU5hbWVdID0gdmFsdWUgYXMgRXh0cmFjdFBsdWdpblNldHRpbmdzUHJvcGVydHlWYWx1ZXM8UGx1Z2luVHlwZXM+O1xuICAgIH1cblxuICAgIHJldHVybiBzZXR0aW5ncztcbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgc2F2ZVRvRmlsZUltcGwoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgYXdhaXQgdGhpcy5wbHVnaW4uc2F2ZURhdGEoYXdhaXQgdGhpcy5zZXR0aW5nc1RvUmF3UmVjb3JkKHRoaXMuY3VycmVudFNldHRpbmdzV3JhcHBlci5zZXR0aW5ncykpO1xuICB9XG5cbiAgcHJpdmF0ZSBzZXRQcm9wZXJ0eUltcGwoXG4gICAgcHJvcGVydHlOYW1lOiBFeHRyYWN0UGx1Z2luU2V0dGluZ3NQcm9wZXJ0eU5hbWVzPFBsdWdpblR5cGVzPixcbiAgICB2YWx1ZTogRXh0cmFjdFBsdWdpblNldHRpbmdzUHJvcGVydHlWYWx1ZXM8UGx1Z2luVHlwZXM+LFxuICAgIHZhbGlkYXRpb25NZXNzYWdlPzogc3RyaW5nXG4gICk6IHZvaWQge1xuICAgIHRoaXMuY3VycmVudFNldHRpbmdzV3JhcHBlci5zZXR0aW5nc1twcm9wZXJ0eU5hbWVdID0gdmFsdWU7XG4gICAgdGhpcy5jdXJyZW50U2V0dGluZ3NXcmFwcGVyLnZhbGlkYXRpb25NZXNzYWdlc1twcm9wZXJ0eU5hbWVdID0gdmFsaWRhdGlvbk1lc3NhZ2UgPz8gJyc7XG4gICAgdGhpcy5jdXJyZW50U2V0dGluZ3NXcmFwcGVyLnNhZmVTZXR0aW5nc1twcm9wZXJ0eU5hbWVdID0gdmFsaWRhdGlvbk1lc3NhZ2UgPyB0aGlzLmRlZmF1bHRTZXR0aW5nc1twcm9wZXJ0eU5hbWVdIDogdmFsdWU7XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIHNldHRpbmdzVG9SYXdSZWNvcmQoc2V0dGluZ3M6IEV4dHJhY3RQbHVnaW5TZXR0aW5nczxQbHVnaW5UeXBlcz4pOiBQcm9taXNlPEdlbmVyaWNPYmplY3Q+IHtcbiAgICBjb25zdCByYXdSZWNvcmQ6IEdlbmVyaWNPYmplY3QgPSB7fTtcblxuICAgIGZvciAoY29uc3QgcHJvcGVydHlOYW1lIG9mIHRoaXMucHJvcGVydHlOYW1lcykge1xuICAgICAgcmF3UmVjb3JkW3Byb3BlcnR5TmFtZV0gPSBzZXR0aW5nc1twcm9wZXJ0eU5hbWVdO1xuICAgIH1cblxuICAgIGF3YWl0IHRoaXMub25TYXZpbmdSZWNvcmQocmF3UmVjb3JkKTtcblxuICAgIHJldHVybiB0aGlzLmdldFRyYW5zZm9ybWVyKCkudHJhbnNmb3JtT2JqZWN0UmVjdXJzaXZlbHkocmF3UmVjb3JkKTtcbiAgfVxufVxuLyogdjggaWdub3JlIHN0b3AgKi9cbiJdLAogICJtYXBwaW5ncyI6ICI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQWdDQSxTQUFTLG1CQUFtQjtBQUM1QixTQUFTLHNCQUFzQjtBQUMvQjtBQUFBLEVBQ0U7QUFBQSxFQUNBO0FBQUEsT0FDSztBQUNQO0FBQUEsRUFDRTtBQUFBLEVBQ0E7QUFBQSxPQUNLO0FBQ1AsU0FBUyx1QkFBdUI7QUFDaEMsU0FBUywyQkFBMkI7QUFDcEMsU0FBUyx3QkFBd0I7QUFDakMsU0FBUyxzQkFBc0I7QUFDL0IsU0FBUyxzQkFBc0I7QUFDL0IsU0FBUyxzQ0FBc0M7QUFDL0MsU0FBUyw0QkFBNEI7QUFFckMsTUFBTSxxQkFBcUIsSUFBSSxpQkFBaUI7QUFBQSxFQUM5QyxJQUFJLCtCQUErQjtBQUFBLEVBQ25DLElBQUksZ0JBQWdCO0FBQUEsRUFDcEIsSUFBSSxvQkFBb0I7QUFBQSxFQUN4QixJQUFJLGVBQWU7QUFBQSxFQUNuQixJQUFJLGVBQWU7QUFBQSxFQUNuQixJQUFJLHFCQUFxQjtBQUMzQixDQUFDO0FBY00sTUFBZSxrQ0FBdUUsWUFBWTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQW1DaEcsWUFBNEIsUUFBb0M7QUFDckUsVUFBTTtBQUQyQjtBQUVqQyxTQUFLLE1BQU0sT0FBTztBQUNsQixTQUFLLGtCQUFrQixLQUFLLHNCQUFzQjtBQUNsRCxTQUFLLHlCQUF5QixLQUFLLDZCQUE2QjtBQUNoRSxTQUFLLDJCQUEyQixLQUFLLDZCQUE2QjtBQUNsRSxTQUFLLGdCQUFnQixXQUFXLEtBQUssdUJBQXVCLFFBQVE7QUFDcEUsU0FBSyxtQkFBbUI7QUFDeEIsU0FBSyxpQ0FBaUM7QUFBQSxFQUN4QztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQXRDZ0I7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFPQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQU9oQixJQUFXLGtCQUFxRTtBQUM5RSxXQUFPLEtBQUs7QUFBQSxFQUNkO0FBQUEsRUFFUTtBQUFBLEVBQ0E7QUFBQSxFQUNTLDJCQUFnRSxDQUFDO0FBQUEsRUFDakU7QUFBQSxFQUNBLGFBQWEsb0JBQUksSUFBb0c7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBeUJ0SSxNQUFhLFlBQVksZ0JBQW9GLFNBQWtDO0FBQzdJLFVBQU0sS0FBSyxLQUFLLGNBQWM7QUFDOUIsVUFBTSxLQUFLLFdBQVcsT0FBTztBQUFBLEVBQy9CO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBVUEsTUFBYSxXQUFXLFVBQTZEO0FBQ25GLFVBQU0sbUJBQW1CLE1BQU0sS0FBSyxTQUFTLFFBQVE7QUFDckQsZUFBVyxnQkFBZ0IsS0FBSyxlQUFlO0FBQzdDLFVBQUksaUJBQWlCLFlBQVksR0FBRztBQUNsQyxpQkFBUyxZQUFZLElBQUksS0FBSyxnQkFBZ0IsWUFBWTtBQUFBLE1BQzVEO0FBQUEsSUFDRjtBQUFBLEVBQ0Y7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQVFBLE1BQWEsWUFBWSxVQUEyRjtBQUNsSCxVQUFNLGVBQWUsTUFBTSxLQUFLLGNBQWMsUUFBUTtBQUN0RCxVQUFNLEtBQUssV0FBVyxZQUFZO0FBQ2xDLFdBQU87QUFBQSxFQUNUO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFRQSxNQUFhLGFBQWEsZUFBdUM7QUFDL0QsVUFBTSxPQUFPLE1BQU0sS0FBSyxPQUFPLFNBQVM7QUFDeEMsU0FBSywyQkFBMkIsS0FBSyw2QkFBNkI7QUFDbEUsU0FBSyx5QkFBeUIsS0FBSyw2QkFBNkI7QUFFaEUsUUFBSTtBQUNGLFVBQUksU0FBUyxVQUFhLFNBQVMsTUFBTTtBQUN2QztBQUFBLE1BQ0Y7QUFFQSxVQUFJLE9BQU8sU0FBUyxVQUFVO0FBQzVCLGdCQUFRLE1BQU0sMERBQTBELE9BQU8sSUFBSSxFQUFFO0FBQ3JGO0FBQUEsTUFDRjtBQUVBLFlBQU0sWUFBWTtBQUNsQixZQUFNLGlCQUFpQixNQUFNLEtBQUssb0JBQW9CLFNBQVM7QUFDL0QsWUFBTSxtQkFBbUIsTUFBTSxLQUFLLFNBQVMsY0FBYztBQUUzRCxpQkFBVyxnQkFBZ0IsS0FBSyxlQUFlO0FBQzdDLGFBQUssZ0JBQWdCLGNBQWMsZUFBZSxZQUFZLEdBQUcsaUJBQWlCLFlBQVksQ0FBQztBQUFBLE1BQ2pHO0FBRUEsV0FBSywyQkFBMkIsTUFBTSxLQUFLLHFCQUFxQixLQUFLLHNCQUFzQjtBQUUzRixZQUFNLFlBQVksTUFBTSxLQUFLLG9CQUFvQixLQUFLLHVCQUF1QixRQUFRO0FBRXJGLFVBQUksQ0FBQyxVQUFVLFdBQVcsSUFBSSxHQUFHO0FBQy9CLGNBQU0sS0FBSyxlQUFlO0FBQUEsTUFDNUI7QUFBQSxJQUNGLFVBQUU7QUFDQSxZQUFNLEtBQUssYUFBYSxnQkFBZ0IsS0FBSyx3QkFBd0IsYUFBYTtBQUFBLElBQ3BGO0FBQUEsRUFDRjtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQTJDZ0IsR0FDZCxNQUNBLFVBQ0EsU0FDZTtBQUNmLFdBQU8sTUFBTSxHQUFHLE1BQU0sVUFBVSxPQUFPO0FBQUEsRUFDekM7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFPQSxNQUFhLGFBQXVGO0FBQ2xHLFVBQU0sS0FBSyxLQUFLLElBQUk7QUFDcEIsV0FBTyxLQUFLLHVCQUF1QjtBQUFBLEVBQ3JDO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFRQSxNQUFhLFdBQVcsU0FBa0M7QUFDeEQsUUFBSSxVQUFVLEtBQUsseUJBQXlCLFVBQVUsS0FBSyx1QkFBdUIsUUFBUSxHQUFHO0FBQzNGO0FBQUEsSUFDRjtBQUVBLFVBQU0sS0FBSyxlQUFlO0FBQzFCLFVBQU0sS0FBSyxhQUFhLGdCQUFnQixLQUFLLHdCQUF3QixLQUFLLDBCQUEwQixPQUFPO0FBQzNHLFNBQUssMkJBQTJCLE1BQU0sS0FBSyxxQkFBcUIsS0FBSyxzQkFBc0I7QUFBQSxFQUM3RjtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQVVBLE1BQWEsWUFDWCxjQUNBLE9BQ2lCO0FBQ2pCLFVBQU0sS0FBSyxLQUFLLENBQUMsYUFBYTtBQUM1QixlQUFTLFlBQVksSUFBSTtBQUFBLElBQzNCLENBQUM7QUFDRCxXQUFPLEtBQUssdUJBQXVCLG1CQUFtQixZQUFZO0FBQUEsRUFDcEU7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQVFBLE1BQWEsU0FBUyxVQUE2RztBQUNqSSxVQUFNLFNBQStELENBQUM7QUFDdEUsZUFBVyxDQUFDLGNBQWMsU0FBUyxLQUFLLEtBQUssV0FBVyxRQUFRLEdBQUc7QUFDakUsWUFBTSxvQkFBb0IsTUFBTSxVQUFVLFNBQVMsWUFBWSxHQUFHLFFBQVE7QUFDMUUsVUFBSSxtQkFBbUI7QUFDckIsZUFBTyxZQUFZLElBQUk7QUFBQSxNQUN6QjtBQUFBLElBQ0Y7QUFFQSxXQUFPO0FBQUEsRUFDVDtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQVNVLGlCQUE4QjtBQUN0QyxXQUFPO0FBQUEsRUFDVDtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQU9BLE1BQWdCLGFBQWEsUUFBc0M7QUFDakUsZUFBVyxhQUFhLEtBQUssMEJBQTBCO0FBQ3JELGdCQUFVLE1BQU07QUFBQSxJQUNsQjtBQUNBLFVBQU0sUUFBUSxRQUFRO0FBQUEsRUFDeEI7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFPQSxNQUFnQixlQUFlLFNBQXVDO0FBQ3BFLFVBQU0sVUFBVTtBQUFBLEVBQ2xCO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQVNVLGdDQUNSLHFCQUNBLFdBQ007QUFDTixVQUFNLE9BQU87QUFDYixTQUFLLHlCQUF5QixLQUFLLHVCQUF1QjtBQUUxRCxhQUFTLHdCQUF3QixRQUE2QjtBQUM1RCxZQUFNLHFCQUFxQixJQUFJLElBQVksT0FBTyxLQUFLLElBQUksb0JBQW9CLENBQUMsQ0FBQztBQUNqRixZQUFNLG9CQUFvQixJQUFJLElBQVksS0FBSyxhQUFhO0FBQzVELFlBQU0saUJBQWlCO0FBQ3ZCLGdCQUFVLGNBQWM7QUFDeEIsaUJBQVcsT0FBTyxPQUFPLEtBQUssY0FBYyxHQUFHO0FBQzdDLFlBQUksa0JBQWtCLElBQUksR0FBRyxHQUFHO0FBQzlCO0FBQUEsUUFDRjtBQUVBLFlBQUksQ0FBQyxtQkFBbUIsSUFBSSxHQUFHLEdBQUc7QUFDaEM7QUFBQSxRQUNGO0FBR0EsZUFBTyxPQUFPLEdBQUc7QUFBQSxNQUNuQjtBQUFBLElBQ0Y7QUFBQSxFQUNGO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBT1UsbUNBQXlDO0FBQ2pELFNBQUs7QUFBQSxFQUNQO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFRVSxrQkFDUixjQUNBLFdBQ007QUFDTixTQUFLLFdBQVcsSUFBSSxjQUFjLFNBQTBEO0FBQUEsRUFDOUY7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFPVSxxQkFBMkI7QUFDbkMsU0FBSztBQUFBLEVBQ1A7QUFBQSxFQUVBLE1BQWMsY0FBYyxVQUEyRjtBQUNySCxVQUFNLFNBQVMsTUFBTSxLQUFLLG9CQUFvQixRQUFRO0FBQ3RELFVBQU0sT0FBTyxLQUFLLFVBQVUsTUFBTTtBQUNsQyxVQUFNLGNBQWMsS0FBSyxNQUFNLElBQUk7QUFDbkMsV0FBTyxNQUFNLEtBQUssb0JBQW9CLFdBQVc7QUFBQSxFQUNuRDtBQUFBLEVBRUEsTUFBYyxxQkFDWixpQkFDb0U7QUFDcEUsV0FBTztBQUFBLE1BQ0wsY0FBYyxNQUFNLEtBQUssY0FBYyxnQkFBZ0IsWUFBWTtBQUFBLE1BQ25FLFVBQVUsTUFBTSxLQUFLLGNBQWMsZ0JBQWdCLFFBQVE7QUFBQSxNQUMzRCxvQkFBb0IsRUFBRSxHQUFHLGdCQUFnQixtQkFBbUI7QUFBQSxJQUM5RDtBQUFBLEVBQ0Y7QUFBQSxFQUVRLCtCQUEwRjtBQUNoRyxXQUFPO0FBQUEsTUFDTCxjQUFjLEtBQUssc0JBQXNCO0FBQUEsTUFDekMsVUFBVSxLQUFLLHNCQUFzQjtBQUFBLE1BQ3JDLG9CQUFvQixDQUFDO0FBQUEsSUFDdkI7QUFBQSxFQUNGO0FBQUEsRUFFQSxNQUFjLEtBQUssZ0JBQW1HO0FBQ3BILFFBQUk7QUFDRixZQUFNLGVBQWUsS0FBSyx1QkFBdUIsUUFBUTtBQUFBLElBQzNELFVBQUU7QUFDQSxZQUFNLG1CQUFtQixNQUFNLEtBQUssU0FBUyxLQUFLLHVCQUF1QixRQUFRO0FBQ2pGLGlCQUFXLGdCQUFnQixLQUFLLGVBQWU7QUFDN0MsY0FBTSxvQkFBb0IsaUJBQWlCLFlBQVksS0FBSztBQUM1RCxhQUFLLHVCQUF1QixtQkFBbUIsWUFBWSxJQUFJO0FBQy9ELGFBQUssdUJBQXVCLGFBQWEsWUFBWSxJQUFJLG9CQUNyRCxLQUFLLGdCQUFnQixZQUFZLElBQ2pDLEtBQUssdUJBQXVCLFNBQVMsWUFBWTtBQUFBLE1BQ3ZEO0FBQUEsSUFDRjtBQUFBLEVBQ0Y7QUFBQSxFQUVRLG9CQUFvQixNQUF3RTtBQUNsRyxRQUFJLE9BQU8sU0FBUyxVQUFVO0FBQzVCLGFBQU87QUFBQSxJQUNUO0FBRUEsV0FBUSxLQUFLLGNBQTJCLFNBQVMsSUFBSTtBQUFBLEVBQ3ZEO0FBQUEsRUFFQSxNQUFjLG9CQUFvQixXQUF1RTtBQUN2RyxnQkFBWSxLQUFLLGVBQWUsRUFBRSwyQkFBMkIsU0FBUztBQUN0RSxVQUFNLEtBQUssYUFBYSxTQUFTO0FBRWpDLFVBQU0sV0FBVyxLQUFLLHNCQUFzQjtBQUU1QyxlQUFXLENBQUMsY0FBYyxLQUFLLEtBQUssT0FBTyxRQUFRLFNBQVMsR0FBRztBQUM3RCxVQUFJLENBQUMsS0FBSyxvQkFBb0IsWUFBWSxHQUFHO0FBQzNDLHVCQUFlLCtDQUErQyxFQUFFLHFCQUFxQixZQUFZLEVBQUU7QUFDbkc7QUFBQSxNQUNGO0FBRUEsVUFBSSxPQUFPLFVBQVUsT0FBTyxLQUFLLGdCQUFnQixZQUFZLEdBQUc7QUFDOUQsdUJBQWUsK0NBQStDO0FBQUEsVUFDNUQ7QUFBQSxVQUNBO0FBQUEsWUFDRSxjQUFjLEtBQUssZ0JBQWdCLFlBQVk7QUFBQSxZQUMvQztBQUFBLFlBQ0E7QUFBQSxVQUNGO0FBQUEsUUFDRjtBQUFBLE1BQ0Y7QUFFQSxlQUFTLFlBQVksSUFBSTtBQUFBLElBQzNCO0FBRUEsV0FBTztBQUFBLEVBQ1Q7QUFBQSxFQUVBLE1BQWMsaUJBQWdDO0FBQzVDLFVBQU0sS0FBSyxPQUFPLFNBQVMsTUFBTSxLQUFLLG9CQUFvQixLQUFLLHVCQUF1QixRQUFRLENBQUM7QUFBQSxFQUNqRztBQUFBLEVBRVEsZ0JBQ04sY0FDQSxPQUNBLG1CQUNNO0FBQ04sU0FBSyx1QkFBdUIsU0FBUyxZQUFZLElBQUk7QUFDckQsU0FBSyx1QkFBdUIsbUJBQW1CLFlBQVksSUFBSSxxQkFBcUI7QUFDcEYsU0FBSyx1QkFBdUIsYUFBYSxZQUFZLElBQUksb0JBQW9CLEtBQUssZ0JBQWdCLFlBQVksSUFBSTtBQUFBLEVBQ3BIO0FBQUEsRUFFQSxNQUFjLG9CQUFvQixVQUFzRTtBQUN0RyxVQUFNLFlBQTJCLENBQUM7QUFFbEMsZUFBVyxnQkFBZ0IsS0FBSyxlQUFlO0FBQzdDLGdCQUFVLFlBQVksSUFBSSxTQUFTLFlBQVk7QUFBQSxJQUNqRDtBQUVBLFVBQU0sS0FBSyxlQUFlLFNBQVM7QUFFbkMsV0FBTyxLQUFLLGVBQWUsRUFBRSwyQkFBMkIsU0FBUztBQUFBLEVBQ25FO0FBQ0Y7IiwKICAibmFtZXMiOiBbXQp9Cg==
|