@mnaoumov/obsidian-lib 0.0.0 → 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/@types/dataview/api/data-array/package.json +4 -0
- package/@types/dataview/api/extensions/package.json +4 -0
- package/@types/dataview/api/inline-api/package.json +4 -0
- package/@types/dataview/api/plugin-api/package.json +4 -0
- package/@types/dataview/api/result/package.json +4 -0
- package/@types/dataview/data-import/common/package.json +4 -0
- package/@types/dataview/data-import/csv/package.json +4 -0
- package/@types/dataview/data-import/inline-field/package.json +4 -0
- package/@types/dataview/data-import/markdown-file/package.json +4 -0
- package/@types/dataview/data-import/persister/package.json +4 -0
- package/@types/dataview/data-import/web-worker/import-entry/package.json +4 -0
- package/@types/dataview/data-import/web-worker/import-impl/package.json +4 -0
- package/@types/dataview/data-import/web-worker/import-manager/package.json +4 -0
- package/@types/dataview/data-index/index/package.json +4 -0
- package/@types/dataview/data-index/package.json +4 -0
- package/@types/dataview/data-index/resolver/package.json +4 -0
- package/@types/dataview/data-index/source/package.json +4 -0
- package/@types/dataview/data-model/markdown/package.json +4 -0
- package/@types/dataview/data-model/serialized/markdown/package.json +4 -0
- package/@types/dataview/data-model/transferable/package.json +4 -0
- package/@types/dataview/data-model/value/package.json +4 -0
- package/@types/dataview/expression/binaryop/package.json +4 -0
- package/@types/dataview/expression/context/package.json +4 -0
- package/@types/dataview/expression/field/package.json +4 -0
- package/@types/dataview/expression/functions/package.json +4 -0
- package/@types/dataview/expression/parse/package.json +4 -0
- package/@types/dataview/index/package.json +4 -0
- package/@types/dataview/main/package.json +4 -0
- package/@types/dataview/package.json +4 -0
- package/@types/dataview/query/engine/package.json +4 -0
- package/@types/dataview/query/parse/package.json +4 -0
- package/@types/dataview/query/query/package.json +4 -0
- package/@types/dataview/settings/package.json +4 -0
- package/@types/dataview/typings/obsidian-ex/package.json +4 -0
- package/@types/dataview/typings/workers/package.json +4 -0
- package/@types/dataview/ui/export/markdown/package.json +4 -0
- package/@types/dataview/ui/lp-render/package.json +4 -0
- package/@types/dataview/ui/markdown/package.json +4 -0
- package/@types/dataview/ui/refreshable-view/package.json +4 -0
- package/@types/dataview/ui/render/package.json +4 -0
- package/@types/dataview/ui/views/calendar-view/package.json +4 -0
- package/@types/dataview/ui/views/inline-field-live-preview/package.json +4 -0
- package/@types/dataview/ui/views/inline-view/package.json +4 -0
- package/@types/dataview/ui/views/js-view/package.json +4 -0
- package/@types/dataview/ui/views/list-view/package.json +4 -0
- package/@types/dataview/ui/views/table-view/package.json +4 -0
- package/@types/dataview/ui/views/task-view/package.json +4 -0
- package/@types/dataview/util/hash/package.json +4 -0
- package/@types/dataview/util/locale/package.json +4 -0
- package/@types/dataview/util/media/package.json +4 -0
- package/@types/dataview/util/normalize/package.json +4 -0
- package/@types/i18next/package.json +4 -0
- package/@types/obsidian-integration-testing/package.json +4 -0
- package/@types/original-fs/package.json +4 -0
- package/LICENSE +21 -0
- package/README.md +7 -1
- package/codemirror/index/package.json +6 -0
- package/codemirror/package.json +6 -0
- package/codemirror/state-field-spec/package.json +6 -0
- package/command-handlers/abstract-file-command-handler/package.json +6 -0
- package/command-handlers/command-handler/package.json +6 -0
- package/command-handlers/command-handler-component/package.json +6 -0
- package/command-handlers/editor-command-handler/package.json +6 -0
- package/command-handlers/file-command-handler/package.json +6 -0
- package/command-handlers/folder-command-handler/package.json +6 -0
- package/command-handlers/global-command-handler/package.json +6 -0
- package/command-handlers/index/package.json +6 -0
- package/command-handlers/open-demo-vault-command-handler/package.json +6 -0
- package/command-handlers/open-settings-command-handler/package.json +6 -0
- package/command-handlers/package.json +6 -0
- package/command-handlers/unlock-active-note-command-handler/package.json +6 -0
- package/components/abort-signal-component/package.json +6 -0
- package/components/all-windows-event-component/package.json +6 -0
- package/components/async-error-handler-component/package.json +6 -0
- package/components/async-events-component/package.json +6 -0
- package/components/case-insensitive-file-index-component/package.json +6 -0
- package/components/component-ex/package.json +6 -0
- package/components/console-debug-component/package.json +6 -0
- package/components/core-plugin-toggle-component/package.json +6 -0
- package/components/disposable-component/package.json +6 -0
- package/components/embed-extensions-component/package.json +6 -0
- package/components/generate-markdown-link-default-params-component/package.json +6 -0
- package/components/index/package.json +6 -0
- package/components/layout-ready-component/package.json +6 -0
- package/components/menu-event-registrar-component/package.json +6 -0
- package/components/monkey-around-component/package.json +6 -0
- package/components/notebook-navigator-menu-event-registrar-component/package.json +6 -0
- package/components/package.json +6 -0
- package/components/plugin-context-component/package.json +6 -0
- package/components/plugin-gate-component/package.json +6 -0
- package/components/plugin-notice-component/package.json +6 -0
- package/components/plugin-settings-component/package.json +6 -0
- package/components/plugin-settings-tab-component/package.json +6 -0
- package/components/plugin-suggestion-component/package.json +6 -0
- package/components/pointer-position-component/package.json +6 -0
- package/components/registry-component/package.json +6 -0
- package/components/release-notes-component/package.json +6 -0
- package/components/rename-delete-handler-component/package.json +6 -0
- package/components/rmdir-guard-component/package.json +6 -0
- package/components/settings-migration-component/package.json +6 -0
- package/components/syntax-highlighting-component/package.json +6 -0
- package/components/templates-language-component/package.json +6 -0
- package/constructors/get-dom-events-handlers-constructor/package.json +6 -0
- package/constructors/index/package.json +6 -0
- package/constructors/package.json +6 -0
- package/dist/lib/cjs/@types/dataview/api/data-array.d.cts +137 -0
- package/dist/lib/cjs/@types/dataview/api/extensions.d.cts +16 -0
- package/dist/lib/cjs/@types/dataview/api/inline-api.d.cts +187 -0
- package/dist/lib/cjs/@types/dataview/api/plugin-api.d.cts +210 -0
- package/dist/lib/cjs/@types/dataview/api/result.d.cts +39 -0
- package/dist/lib/cjs/@types/dataview/data-import/common.d.cts +4 -0
- package/dist/lib/cjs/@types/dataview/data-import/csv.d.cts +4 -0
- package/dist/lib/cjs/@types/dataview/data-import/inline-field.d.cts +43 -0
- package/dist/lib/cjs/@types/dataview/data-import/markdown-file.d.cts +53 -0
- package/dist/lib/cjs/@types/dataview/data-import/persister.d.cts +33 -0
- package/dist/lib/cjs/@types/dataview/data-import/web-worker/import-entry.d.cts +2 -0
- package/dist/lib/cjs/@types/dataview/data-import/web-worker/import-impl.d.cts +7 -0
- package/dist/lib/cjs/@types/dataview/data-import/web-worker/import-manager.d.cts +38 -0
- package/dist/lib/cjs/@types/dataview/data-index/index.d.cts +187 -0
- package/dist/lib/cjs/@types/dataview/data-index/resolver.d.cts +24 -0
- package/dist/lib/cjs/@types/dataview/data-index/source.d.cts +72 -0
- package/dist/lib/cjs/@types/dataview/data-model/markdown.d.cts +116 -0
- package/dist/lib/cjs/@types/dataview/data-model/serialized/markdown.d.cts +107 -0
- package/dist/lib/cjs/@types/dataview/data-model/transferable.d.cts +8 -0
- package/dist/lib/cjs/@types/dataview/data-model/value.d.cts +176 -0
- package/dist/lib/cjs/@types/dataview/expression/binaryop.d.cts +44 -0
- package/dist/lib/cjs/@types/dataview/expression/context.d.cts +50 -0
- package/dist/lib/cjs/@types/dataview/expression/field.d.cts +83 -0
- package/dist/lib/cjs/@types/dataview/expression/functions.d.cts +150 -0
- package/dist/lib/cjs/@types/dataview/expression/parse.d.cts +164 -0
- package/dist/lib/cjs/@types/dataview/index.d.cts +56 -0
- package/dist/lib/cjs/@types/dataview/main.d.cts +53 -0
- package/dist/lib/cjs/@types/dataview/query/engine.d.cts +104 -0
- package/dist/lib/cjs/@types/dataview/query/parse.d.cts +45 -0
- package/dist/lib/cjs/@types/dataview/query/query.d.cts +96 -0
- package/dist/lib/cjs/@types/dataview/settings.d.cts +61 -0
- package/dist/lib/cjs/@types/dataview/typings/obsidian-ex.d.cts +29 -0
- package/dist/lib/cjs/@types/dataview/typings/workers.d.cts +5 -0
- package/dist/lib/cjs/@types/dataview/ui/export/markdown.d.cts +16 -0
- package/dist/lib/cjs/@types/dataview/ui/lp-render.d.cts +38 -0
- package/dist/lib/cjs/@types/dataview/ui/markdown.d.cts +87 -0
- package/dist/lib/cjs/@types/dataview/ui/refreshable-view.d.cts +19 -0
- package/dist/lib/cjs/@types/dataview/ui/render.d.cts +34 -0
- package/dist/lib/cjs/@types/dataview/ui/views/calendar-view.d.cts +18 -0
- package/dist/lib/cjs/@types/dataview/ui/views/inline-field-live-preview.d.cts +43 -0
- package/dist/lib/cjs/@types/dataview/ui/views/inline-view.d.cts +29 -0
- package/dist/lib/cjs/@types/dataview/ui/views/js-view.d.cts +24 -0
- package/dist/lib/cjs/@types/dataview/ui/views/list-view.d.cts +26 -0
- package/dist/lib/cjs/@types/dataview/ui/views/table-view.d.cts +29 -0
- package/dist/lib/cjs/@types/dataview/ui/views/task-view.d.cts +52 -0
- package/dist/lib/cjs/@types/dataview/util/hash.d.cts +2 -0
- package/dist/lib/cjs/@types/dataview/util/locale.d.cts +3 -0
- package/dist/lib/cjs/@types/dataview/util/media.d.cts +7 -0
- package/dist/lib/cjs/@types/dataview/util/normalize.d.cts +45 -0
- package/dist/lib/cjs/@types/i18next.d.cts +14 -0
- package/dist/lib/cjs/@types/obsidian-integration-testing.d.cts +29 -0
- package/dist/lib/cjs/@types/original-fs.d.cts +15 -0
- package/dist/lib/cjs/__merged.cjs +1680 -0
- package/dist/lib/cjs/__merged.d.cts +205 -0
- package/dist/lib/cjs/active-file-provider.cjs +185 -0
- package/dist/lib/cjs/active-file-provider.d.cts +36 -0
- package/dist/lib/cjs/app.cjs +177 -0
- package/dist/lib/cjs/app.d.cts +17 -0
- package/dist/lib/cjs/async-with-notice.cjs +259 -0
- package/dist/lib/cjs/async-with-notice.d.cts +113 -0
- package/dist/lib/cjs/attachment-path.cjs +403 -0
- package/dist/lib/cjs/attachment-path.d.cts +341 -0
- package/dist/lib/cjs/attachment-unit-folder.cjs +192 -0
- package/dist/lib/cjs/attachment-unit-folder.d.cts +103 -0
- package/dist/lib/cjs/backlink-index.cjs +273 -0
- package/dist/lib/cjs/backlink-index.d.cts +51 -0
- package/dist/lib/cjs/backlink.cjs +241 -0
- package/dist/lib/cjs/backlink.d.cts +66 -0
- package/dist/lib/cjs/bases-view-registrar.cjs +186 -0
- package/dist/lib/cjs/bases-view-registrar.d.cts +52 -0
- package/dist/lib/cjs/callout.cjs +244 -0
- package/dist/lib/cjs/callout.d.cts +76 -0
- package/dist/lib/cjs/canvas.cjs +239 -0
- package/dist/lib/cjs/canvas.d.cts +28 -0
- package/dist/lib/cjs/case-insensitive-file-index.cjs +268 -0
- package/dist/lib/cjs/case-insensitive-file-index.d.cts +92 -0
- package/dist/lib/cjs/code-block-markdown-information.cjs +155 -0
- package/dist/lib/cjs/code-block-markdown-information.d.cts +48 -0
- package/dist/lib/cjs/code-block-reg-exp.cjs +169 -0
- package/dist/lib/cjs/code-block-reg-exp.d.cts +39 -0
- package/dist/lib/cjs/codemirror/index.cjs +177 -0
- package/dist/lib/cjs/codemirror/index.d.cts +2 -0
- package/dist/lib/cjs/codemirror/state-field-spec.cjs +155 -0
- package/dist/lib/cjs/codemirror/state-field-spec.d.cts +72 -0
- package/dist/lib/cjs/command-handlers/abstract-file-command-handler.cjs +440 -0
- package/dist/lib/cjs/command-handlers/abstract-file-command-handler.d.cts +274 -0
- package/dist/lib/cjs/command-handlers/command-handler-component.cjs +302 -0
- package/dist/lib/cjs/command-handlers/command-handler-component.d.cts +146 -0
- package/dist/lib/cjs/command-handlers/command-handler.cjs +224 -0
- package/dist/lib/cjs/command-handlers/command-handler.d.cts +107 -0
- package/dist/lib/cjs/command-handlers/editor-command-handler.cjs +372 -0
- package/dist/lib/cjs/command-handlers/editor-command-handler.d.cts +208 -0
- package/dist/lib/cjs/command-handlers/file-command-handler.cjs +309 -0
- package/dist/lib/cjs/command-handlers/file-command-handler.d.cts +143 -0
- package/dist/lib/cjs/command-handlers/folder-command-handler.cjs +317 -0
- package/dist/lib/cjs/command-handlers/folder-command-handler.d.cts +149 -0
- package/dist/lib/cjs/command-handlers/global-command-handler.cjs +209 -0
- package/dist/lib/cjs/command-handlers/global-command-handler.d.cts +40 -0
- package/dist/lib/cjs/command-handlers/index.cjs +204 -0
- package/dist/lib/cjs/command-handlers/index.d.cts +11 -0
- package/dist/lib/cjs/command-handlers/open-demo-vault-command-handler.cjs +233 -0
- package/dist/lib/cjs/command-handlers/open-demo-vault-command-handler.d.cts +73 -0
- package/dist/lib/cjs/command-handlers/open-settings-command-handler.cjs +198 -0
- package/dist/lib/cjs/command-handlers/open-settings-command-handler.d.cts +44 -0
- package/dist/lib/cjs/command-handlers/unlock-active-note-command-handler.cjs +211 -0
- package/dist/lib/cjs/command-handlers/unlock-active-note-command-handler.d.cts +54 -0
- package/dist/lib/cjs/command-registrar.cjs +193 -0
- package/dist/lib/cjs/command-registrar.d.cts +48 -0
- package/dist/lib/cjs/community-plugins.cjs +346 -0
- package/dist/lib/cjs/community-plugins.d.cts +270 -0
- package/dist/lib/cjs/components/abort-signal-component.cjs +196 -0
- package/dist/lib/cjs/components/abort-signal-component.d.cts +30 -0
- package/dist/lib/cjs/components/all-windows-event-component.cjs +238 -0
- package/dist/lib/cjs/components/all-windows-event-component.d.cts +84 -0
- package/dist/lib/cjs/components/async-error-handler-component.cjs +200 -0
- package/dist/lib/cjs/components/async-error-handler-component.d.cts +30 -0
- package/dist/lib/cjs/components/async-events-component.cjs +172 -0
- package/dist/lib/cjs/components/async-events-component.d.cts +15 -0
- package/dist/lib/cjs/components/case-insensitive-file-index-component.cjs +210 -0
- package/dist/lib/cjs/components/case-insensitive-file-index-component.d.cts +36 -0
- package/dist/lib/cjs/components/component-ex.cjs +528 -0
- package/dist/lib/cjs/components/component-ex.d.cts +229 -0
- package/dist/lib/cjs/components/console-debug-component.cjs +194 -0
- package/dist/lib/cjs/components/console-debug-component.d.cts +30 -0
- package/dist/lib/cjs/components/core-plugin-toggle-component.cjs +226 -0
- package/dist/lib/cjs/components/core-plugin-toggle-component.d.cts +102 -0
- package/dist/lib/cjs/components/disposable-component.cjs +178 -0
- package/dist/lib/cjs/components/disposable-component.d.cts +24 -0
- package/dist/lib/cjs/components/embed-extensions-component.cjs +198 -0
- package/dist/lib/cjs/components/embed-extensions-component.d.cts +38 -0
- package/dist/lib/cjs/components/generate-markdown-link-default-params-component.cjs +194 -0
- package/dist/lib/cjs/components/generate-markdown-link-default-params-component.d.cts +42 -0
- package/dist/lib/cjs/components/index.cjs +261 -0
- package/dist/lib/cjs/components/index.d.cts +30 -0
- package/dist/lib/cjs/components/layout-ready-component.cjs +235 -0
- package/dist/lib/cjs/components/layout-ready-component.d.cts +48 -0
- package/dist/lib/cjs/components/menu-event-registrar-component.cjs +220 -0
- package/dist/lib/cjs/components/menu-event-registrar-component.d.cts +52 -0
- package/dist/lib/cjs/components/monkey-around-component.cjs +269 -0
- package/dist/lib/cjs/components/monkey-around-component.d.cts +241 -0
- package/dist/lib/cjs/components/notebook-navigator-menu-event-registrar-component.cjs +345 -0
- package/dist/lib/cjs/components/notebook-navigator-menu-event-registrar-component.d.cts +150 -0
- package/dist/lib/cjs/components/plugin-context-component.cjs +204 -0
- package/dist/lib/cjs/components/plugin-context-component.d.cts +36 -0
- package/dist/lib/cjs/components/plugin-gate-component.cjs +572 -0
- package/dist/lib/cjs/components/plugin-gate-component.d.cts +332 -0
- package/dist/lib/cjs/components/plugin-notice-component.cjs +653 -0
- package/dist/lib/cjs/components/plugin-notice-component.d.cts +362 -0
- package/dist/lib/cjs/components/plugin-settings-component.cjs +668 -0
- package/dist/lib/cjs/components/plugin-settings-component.d.cts +362 -0
- package/dist/lib/cjs/components/plugin-settings-tab-component.cjs +194 -0
- package/dist/lib/cjs/components/plugin-settings-tab-component.d.cts +39 -0
- package/dist/lib/cjs/components/plugin-suggestion-component.cjs +302 -0
- package/dist/lib/cjs/components/plugin-suggestion-component.d.cts +162 -0
- package/dist/lib/cjs/components/pointer-position-component.cjs +190 -0
- package/dist/lib/cjs/components/pointer-position-component.d.cts +29 -0
- package/dist/lib/cjs/components/registry-component.cjs +211 -0
- package/dist/lib/cjs/components/registry-component.d.cts +37 -0
- package/dist/lib/cjs/components/release-notes-component.cjs +249 -0
- package/dist/lib/cjs/components/release-notes-component.d.cts +129 -0
- package/dist/lib/cjs/components/rename-delete-handler-component.cjs +1299 -0
- package/dist/lib/cjs/components/rename-delete-handler-component.d.cts +165 -0
- package/dist/lib/cjs/components/rmdir-guard-component.cjs +214 -0
- package/dist/lib/cjs/components/rmdir-guard-component.d.cts +76 -0
- package/dist/lib/cjs/components/settings-migration-component.cjs +246 -0
- package/dist/lib/cjs/components/settings-migration-component.d.cts +120 -0
- package/dist/lib/cjs/components/syntax-highlighting-component.cjs +272 -0
- package/dist/lib/cjs/components/syntax-highlighting-component.d.cts +149 -0
- package/dist/lib/cjs/components/templates-language-component.cjs +300 -0
- package/dist/lib/cjs/components/templates-language-component.d.cts +124 -0
- package/dist/lib/cjs/constructors/get-dom-events-handlers-constructor.cjs +270 -0
- package/dist/lib/cjs/constructors/get-dom-events-handlers-constructor.d.cts +22 -0
- package/dist/lib/cjs/constructors/index.cjs +177 -0
- package/dist/lib/cjs/constructors/index.d.cts +2 -0
- package/dist/lib/cjs/css-class.cjs +232 -0
- package/dist/lib/cjs/css-class.d.cts +278 -0
- package/dist/lib/cjs/data-handler.cjs +194 -0
- package/dist/lib/cjs/data-handler.d.cts +49 -0
- package/dist/lib/cjs/dataview-link.cjs +184 -0
- package/dist/lib/cjs/dataview-link.d.cts +42 -0
- package/dist/lib/cjs/dataview.cjs +403 -0
- package/dist/lib/cjs/dataview.d.cts +249 -0
- package/dist/lib/cjs/debug.cjs +172 -0
- package/dist/lib/cjs/debug.d.cts +19 -0
- package/dist/lib/cjs/demo-vault-helper-settings.cjs +155 -0
- package/dist/lib/cjs/demo-vault-helper-settings.d.cts +29 -0
- package/dist/lib/cjs/demo-vault-helper.cjs +256 -0
- package/dist/lib/cjs/demo-vault-helper.d.cts +61 -0
- package/dist/lib/cjs/demo-vault-naming.cjs +181 -0
- package/dist/lib/cjs/demo-vault-naming.d.cts +54 -0
- package/dist/lib/cjs/desktop-demo-vault-opener.cjs +372 -0
- package/dist/lib/cjs/desktop-demo-vault-opener.d.cts +76 -0
- package/dist/lib/cjs/desktop-trusted-input.cjs +325 -0
- package/dist/lib/cjs/desktop-trusted-input.d.cts +288 -0
- package/dist/lib/cjs/editor-extension-registrar.cjs +186 -0
- package/dist/lib/cjs/editor-extension-registrar.d.cts +37 -0
- package/dist/lib/cjs/editor-suggest-registrar.cjs +186 -0
- package/dist/lib/cjs/editor-suggest-registrar.d.cts +36 -0
- package/dist/lib/cjs/editor.cjs +224 -0
- package/dist/lib/cjs/editor.d.cts +45 -0
- package/dist/lib/cjs/events.cjs +196 -0
- package/dist/lib/cjs/events.d.cts +98 -0
- package/dist/lib/cjs/extensions-registrar.cjs +186 -0
- package/dist/lib/cjs/extensions-registrar.d.cts +51 -0
- package/dist/lib/cjs/file-change.cjs +582 -0
- package/dist/lib/cjs/file-change.d.cts +156 -0
- package/dist/lib/cjs/file-explorer.cjs +181 -0
- package/dist/lib/cjs/file-explorer.d.cts +34 -0
- package/dist/lib/cjs/file-manager.cjs +275 -0
- package/dist/lib/cjs/file-manager.d.cts +123 -0
- package/dist/lib/cjs/file-system.cjs +595 -0
- package/dist/lib/cjs/file-system.d.cts +554 -0
- package/dist/lib/cjs/folder-note.cjs +285 -0
- package/dist/lib/cjs/folder-note.d.cts +166 -0
- package/dist/lib/cjs/frontmatter-formatting.cjs +472 -0
- package/dist/lib/cjs/frontmatter-formatting.d.cts +44 -0
- package/dist/lib/cjs/frontmatter-link-cache-with-offsets.cjs +183 -0
- package/dist/lib/cjs/frontmatter-link-cache-with-offsets.d.cts +34 -0
- package/dist/lib/cjs/frontmatter.cjs +295 -0
- package/dist/lib/cjs/frontmatter.d.cts +145 -0
- package/dist/lib/cjs/generated-during-build.cjs +170 -0
- package/dist/lib/cjs/generated-during-build.d.cts +19 -0
- package/dist/lib/cjs/hover-link-source-registrar.cjs +186 -0
- package/dist/lib/cjs/hover-link-source-registrar.d.cts +52 -0
- package/dist/lib/cjs/html-element.cjs +207 -0
- package/dist/lib/cjs/html-element.d.cts +98 -0
- package/dist/lib/cjs/i18n/custom-type-options.cjs +156 -0
- package/dist/lib/cjs/i18n/custom-type-options.d.cts +38 -0
- package/dist/lib/cjs/i18n/default-translations.cjs +156 -0
- package/dist/lib/cjs/i18n/default-translations.d.cts +15 -0
- package/dist/lib/cjs/i18n/i18n.cjs +216 -0
- package/dist/lib/cjs/i18n/i18n.d.cts +38 -0
- package/dist/lib/cjs/i18n/index.cjs +186 -0
- package/dist/lib/cjs/i18n/index.d.cts +5 -0
- package/dist/lib/cjs/i18n/locales/en.cjs +248 -0
- package/dist/lib/cjs/i18n/locales/en.d.cts +91 -0
- package/dist/lib/cjs/i18n/locales/index.cjs +180 -0
- package/dist/lib/cjs/i18n/locales/index.d.cts +3 -0
- package/dist/lib/cjs/i18n/locales/translations-map.cjs +174 -0
- package/dist/lib/cjs/i18n/locales/translations-map.d.cts +100 -0
- package/dist/lib/cjs/index.cjs +459 -0
- package/dist/lib/cjs/index.d.cts +96 -0
- package/dist/lib/cjs/is-in-obsidian.cjs +178 -0
- package/dist/lib/cjs/is-in-obsidian.d.cts +12 -0
- package/dist/lib/cjs/library-styles.cjs +197 -0
- package/dist/lib/cjs/library-styles.d.cts +56 -0
- package/dist/lib/cjs/library.cjs +205 -0
- package/dist/lib/cjs/library.d.cts +57 -0
- package/dist/lib/cjs/link-name.cjs +169 -0
- package/dist/lib/cjs/link-name.d.cts +23 -0
- package/dist/lib/cjs/link-update-progress.cjs +155 -0
- package/dist/lib/cjs/link-update-progress.d.cts +32 -0
- package/dist/lib/cjs/link.cjs +1077 -0
- package/dist/lib/cjs/link.d.cts +1369 -0
- package/dist/lib/cjs/logger.cjs +236 -0
- package/dist/lib/cjs/logger.d.cts +37 -0
- package/dist/lib/cjs/loop.cjs +267 -0
- package/dist/lib/cjs/loop.d.cts +104 -0
- package/dist/lib/cjs/markdown-code-block-processor-registrar.cjs +190 -0
- package/dist/lib/cjs/markdown-code-block-processor-registrar.d.cts +62 -0
- package/dist/lib/cjs/markdown-code-block-processor.cjs +468 -0
- package/dist/lib/cjs/markdown-code-block-processor.d.cts +137 -0
- package/dist/lib/cjs/markdown-post-processor-registrar.cjs +187 -0
- package/dist/lib/cjs/markdown-post-processor-registrar.d.cts +59 -0
- package/dist/lib/cjs/markdown-view.cjs +175 -0
- package/dist/lib/cjs/markdown-view.d.cts +14 -0
- package/dist/lib/cjs/markdown.cjs +494 -0
- package/dist/lib/cjs/markdown.d.cts +226 -0
- package/dist/lib/cjs/menu-event-registrar.cjs +155 -0
- package/dist/lib/cjs/menu-event-registrar.d.cts +84 -0
- package/dist/lib/cjs/metadata-cache.cjs +568 -0
- package/dist/lib/cjs/metadata-cache.d.cts +359 -0
- package/dist/lib/cjs/mobile-trusted-input.cjs +209 -0
- package/dist/lib/cjs/mobile-trusted-input.d.cts +98 -0
- package/dist/lib/cjs/modals/alert.cjs +202 -0
- package/dist/lib/cjs/modals/alert.d.cts +35 -0
- package/dist/lib/cjs/modals/confirm.cjs +212 -0
- package/dist/lib/cjs/modals/confirm.d.cts +39 -0
- package/dist/lib/cjs/modals/index.cjs +201 -0
- package/dist/lib/cjs/modals/index.d.cts +10 -0
- package/dist/lib/cjs/modals/minimizable-modal.cjs +465 -0
- package/dist/lib/cjs/modals/minimizable-modal.d.cts +129 -0
- package/dist/lib/cjs/modals/modal-command-builder.cjs +482 -0
- package/dist/lib/cjs/modals/modal-command-builder.d.cts +285 -0
- package/dist/lib/cjs/modals/modal.cjs +200 -0
- package/dist/lib/cjs/modals/modal.d.cts +64 -0
- package/dist/lib/cjs/modals/prompt.cjs +280 -0
- package/dist/lib/cjs/modals/prompt.d.cts +83 -0
- package/dist/lib/cjs/modals/select-item.cjs +225 -0
- package/dist/lib/cjs/modals/select-item.d.cts +55 -0
- package/dist/lib/cjs/modals/select-option.cjs +213 -0
- package/dist/lib/cjs/modals/select-option.d.cts +65 -0
- package/dist/lib/cjs/modals/suggest-modal-command-builder.cjs +168 -0
- package/dist/lib/cjs/modals/suggest-modal-command-builder.d.cts +35 -0
- package/dist/lib/cjs/note-priority.cjs +258 -0
- package/dist/lib/cjs/note-priority.d.cts +154 -0
- package/dist/lib/cjs/notebook-navigator.cjs +187 -0
- package/dist/lib/cjs/notebook-navigator.d.cts +132 -0
- package/dist/lib/cjs/obsidian-dev-utils-state.cjs +199 -0
- package/dist/lib/cjs/obsidian-dev-utils-state.d.cts +42 -0
- package/dist/lib/cjs/obsidian-protocol-handler-registrar.cjs +189 -0
- package/dist/lib/cjs/obsidian-protocol-handler-registrar.d.cts +55 -0
- package/dist/lib/cjs/obsidian-settings.cjs +206 -0
- package/dist/lib/cjs/obsidian-settings.d.cts +62 -0
- package/dist/lib/cjs/parse-link.cjs +562 -0
- package/dist/lib/cjs/parse-link.d.cts +288 -0
- package/dist/lib/cjs/path-settings.cjs +293 -0
- package/dist/lib/cjs/path-settings.d.cts +56 -0
- package/dist/lib/cjs/pdf.cjs +197 -0
- package/dist/lib/cjs/pdf.d.cts +26 -0
- package/dist/lib/cjs/plugin/index.cjs +198 -0
- package/dist/lib/cjs/plugin/index.d.cts +9 -0
- package/dist/lib/cjs/plugin/plugin-api.cjs +543 -0
- package/dist/lib/cjs/plugin/plugin-api.d.cts +413 -0
- package/dist/lib/cjs/plugin/plugin-context.cjs +215 -0
- package/dist/lib/cjs/plugin/plugin-context.d.cts +27 -0
- package/dist/lib/cjs/plugin/plugin-event-source.cjs +250 -0
- package/dist/lib/cjs/plugin/plugin-event-source.d.cts +97 -0
- package/dist/lib/cjs/plugin/plugin-install-state.cjs +219 -0
- package/dist/lib/cjs/plugin/plugin-install-state.d.cts +113 -0
- package/dist/lib/cjs/plugin/plugin-lifecycle-events.cjs +175 -0
- package/dist/lib/cjs/plugin/plugin-lifecycle-events.d.cts +127 -0
- package/dist/lib/cjs/plugin/plugin-settings-tab.cjs +635 -0
- package/dist/lib/cjs/plugin/plugin-settings-tab.d.cts +368 -0
- package/dist/lib/cjs/plugin/plugin.cjs +730 -0
- package/dist/lib/cjs/plugin/plugin.d.cts +363 -0
- package/dist/lib/cjs/plugin/settings-migration-api.cjs +155 -0
- package/dist/lib/cjs/plugin/settings-migration-api.d.cts +91 -0
- package/dist/lib/cjs/plugin-cli-handler-registrar.cjs +187 -0
- package/dist/lib/cjs/plugin-cli-handler-registrar.d.cts +64 -0
- package/dist/lib/cjs/popovers/field-popover.cjs +206 -0
- package/dist/lib/cjs/popovers/field-popover.d.cts +75 -0
- package/dist/lib/cjs/popovers/index.cjs +183 -0
- package/dist/lib/cjs/popovers/index.d.cts +4 -0
- package/dist/lib/cjs/popovers/popover-anchor.cjs +206 -0
- package/dist/lib/cjs/popovers/popover-anchor.d.cts +67 -0
- package/dist/lib/cjs/popovers/popover.cjs +253 -0
- package/dist/lib/cjs/popovers/popover.d.cts +78 -0
- package/dist/lib/cjs/property-entry.cjs +196 -0
- package/dist/lib/cjs/property-entry.d.cts +43 -0
- package/dist/lib/cjs/queue.cjs +236 -0
- package/dist/lib/cjs/queue.d.cts +93 -0
- package/dist/lib/cjs/react/app-context.cjs +175 -0
- package/dist/lib/cjs/react/app-context.d.cts +24 -0
- package/dist/lib/cjs/react/index.cjs +177 -0
- package/dist/lib/cjs/react/index.d.cts +2 -0
- package/dist/lib/cjs/reference.cjs +210 -0
- package/dist/lib/cjs/reference.d.cts +116 -0
- package/dist/lib/cjs/resource-lock.cjs +1120 -0
- package/dist/lib/cjs/resource-lock.d.cts +318 -0
- package/dist/lib/cjs/resource-url.cjs +180 -0
- package/dist/lib/cjs/resource-url.d.cts +31 -0
- package/dist/lib/cjs/ribbon-icon-registrar.cjs +187 -0
- package/dist/lib/cjs/ribbon-icon-registrar.d.cts +60 -0
- package/dist/lib/cjs/setting-components/checkbox-component.cjs +240 -0
- package/dist/lib/cjs/setting-components/checkbox-component.d.cts +69 -0
- package/dist/lib/cjs/setting-components/code-highlighter-component.cjs +402 -0
- package/dist/lib/cjs/setting-components/code-highlighter-component.d.cts +132 -0
- package/dist/lib/cjs/setting-components/date-component.cjs +204 -0
- package/dist/lib/cjs/setting-components/date-component.d.cts +38 -0
- package/dist/lib/cjs/setting-components/date-time-component.cjs +204 -0
- package/dist/lib/cjs/setting-components/date-time-component.d.cts +38 -0
- package/dist/lib/cjs/setting-components/email-component.cjs +215 -0
- package/dist/lib/cjs/setting-components/email-component.d.cts +49 -0
- package/dist/lib/cjs/setting-components/file-component.cjs +207 -0
- package/dist/lib/cjs/setting-components/file-component.d.cts +43 -0
- package/dist/lib/cjs/setting-components/index.cjs +252 -0
- package/dist/lib/cjs/setting-components/index.d.cts +27 -0
- package/dist/lib/cjs/setting-components/month-component.cjs +212 -0
- package/dist/lib/cjs/setting-components/month-component.d.cts +51 -0
- package/dist/lib/cjs/setting-components/multiple-dropdown-component.cjs +277 -0
- package/dist/lib/cjs/setting-components/multiple-dropdown-component.d.cts +92 -0
- package/dist/lib/cjs/setting-components/multiple-email-component.cjs +201 -0
- package/dist/lib/cjs/setting-components/multiple-email-component.d.cts +38 -0
- package/dist/lib/cjs/setting-components/multiple-file-component.cjs +209 -0
- package/dist/lib/cjs/setting-components/multiple-file-component.d.cts +43 -0
- package/dist/lib/cjs/setting-components/multiple-text-component.cjs +296 -0
- package/dist/lib/cjs/setting-components/multiple-text-component.d.cts +109 -0
- package/dist/lib/cjs/setting-components/number-component.cjs +225 -0
- package/dist/lib/cjs/setting-components/number-component.d.cts +56 -0
- package/dist/lib/cjs/setting-components/password-component.cjs +201 -0
- package/dist/lib/cjs/setting-components/password-component.d.cts +38 -0
- package/dist/lib/cjs/setting-components/setting-component-wrapper.cjs +184 -0
- package/dist/lib/cjs/setting-components/setting-component-wrapper.d.cts +13 -0
- package/dist/lib/cjs/setting-components/telephone-component.cjs +215 -0
- package/dist/lib/cjs/setting-components/telephone-component.d.cts +51 -0
- package/dist/lib/cjs/setting-components/text-based-component.cjs +194 -0
- package/dist/lib/cjs/setting-components/text-based-component.d.cts +38 -0
- package/dist/lib/cjs/setting-components/time-component.cjs +209 -0
- package/dist/lib/cjs/setting-components/time-component.d.cts +38 -0
- package/dist/lib/cjs/setting-components/tri-state-checkbox-component.cjs +241 -0
- package/dist/lib/cjs/setting-components/tri-state-checkbox-component.d.cts +69 -0
- package/dist/lib/cjs/setting-components/typed-dropdown-component.cjs +286 -0
- package/dist/lib/cjs/setting-components/typed-dropdown-component.d.cts +97 -0
- package/dist/lib/cjs/setting-components/typed-multiple-dropdown-component.cjs +288 -0
- package/dist/lib/cjs/setting-components/typed-multiple-dropdown-component.d.cts +99 -0
- package/dist/lib/cjs/setting-components/typed-range-text-component.cjs +199 -0
- package/dist/lib/cjs/setting-components/typed-range-text-component.d.cts +35 -0
- package/dist/lib/cjs/setting-components/typed-text-component.cjs +256 -0
- package/dist/lib/cjs/setting-components/typed-text-component.d.cts +100 -0
- package/dist/lib/cjs/setting-components/url-component.cjs +215 -0
- package/dist/lib/cjs/setting-components/url-component.d.cts +49 -0
- package/dist/lib/cjs/setting-components/validator-component.cjs +254 -0
- package/dist/lib/cjs/setting-components/validator-component.d.cts +23 -0
- package/dist/lib/cjs/setting-components/value-component-with-change-tracking.cjs +155 -0
- package/dist/lib/cjs/setting-components/value-component-with-change-tracking.d.cts +20 -0
- package/dist/lib/cjs/setting-components/week-component.cjs +212 -0
- package/dist/lib/cjs/setting-components/week-component.d.cts +51 -0
- package/dist/lib/cjs/setting-ex.cjs +396 -0
- package/dist/lib/cjs/setting-ex.d.cts +198 -0
- package/dist/lib/cjs/setting-group-ex.cjs +189 -0
- package/dist/lib/cjs/setting-group-ex.d.cts +26 -0
- package/dist/lib/cjs/status-bar-item-registrar.cjs +186 -0
- package/dist/lib/cjs/status-bar-item-registrar.d.cts +36 -0
- package/dist/lib/cjs/templater.cjs +303 -0
- package/dist/lib/cjs/templater.d.cts +284 -0
- package/dist/lib/cjs/transformers/duration-transformer.cjs +206 -0
- package/dist/lib/cjs/transformers/duration-transformer.d.cts +39 -0
- package/dist/lib/cjs/transformers/index.cjs +177 -0
- package/dist/lib/cjs/transformers/index.d.cts +2 -0
- package/dist/lib/cjs/trusted-input.cjs +220 -0
- package/dist/lib/cjs/trusted-input.d.cts +131 -0
- package/dist/lib/cjs/validation.cjs +213 -0
- package/dist/lib/cjs/validation.d.cts +87 -0
- package/dist/lib/cjs/vault-delete.cjs +246 -0
- package/dist/lib/cjs/vault-delete.d.cts +82 -0
- package/dist/lib/cjs/vault-transaction.cjs +436 -0
- package/dist/lib/cjs/vault-transaction.d.cts +163 -0
- package/dist/lib/cjs/vault.cjs +725 -0
- package/dist/lib/cjs/vault.d.cts +506 -0
- package/dist/lib/cjs/view-registrar.cjs +186 -0
- package/dist/lib/cjs/view-registrar.d.cts +52 -0
- package/dist/lib/cjs/workspace.cjs +210 -0
- package/dist/lib/cjs/workspace.d.cts +81 -0
- package/dist/lib/esm/@types/dataview/api/data-array.d.mts +137 -0
- package/dist/lib/esm/@types/dataview/api/extensions.d.mts +16 -0
- package/dist/lib/esm/@types/dataview/api/inline-api.d.mts +187 -0
- package/dist/lib/esm/@types/dataview/api/plugin-api.d.mts +210 -0
- package/dist/lib/esm/@types/dataview/api/result.d.mts +39 -0
- package/dist/lib/esm/@types/dataview/data-import/common.d.mts +4 -0
- package/dist/lib/esm/@types/dataview/data-import/csv.d.mts +4 -0
- package/dist/lib/esm/@types/dataview/data-import/inline-field.d.mts +43 -0
- package/dist/lib/esm/@types/dataview/data-import/markdown-file.d.mts +53 -0
- package/dist/lib/esm/@types/dataview/data-import/persister.d.mts +33 -0
- package/dist/lib/esm/@types/dataview/data-import/web-worker/import-entry.d.mts +2 -0
- package/dist/lib/esm/@types/dataview/data-import/web-worker/import-impl.d.mts +7 -0
- package/dist/lib/esm/@types/dataview/data-import/web-worker/import-manager.d.mts +38 -0
- package/dist/lib/esm/@types/dataview/data-index/index.d.mts +187 -0
- package/dist/lib/esm/@types/dataview/data-index/resolver.d.mts +24 -0
- package/dist/lib/esm/@types/dataview/data-index/source.d.mts +72 -0
- package/dist/lib/esm/@types/dataview/data-model/markdown.d.mts +116 -0
- package/dist/lib/esm/@types/dataview/data-model/serialized/markdown.d.mts +107 -0
- package/dist/lib/esm/@types/dataview/data-model/transferable.d.mts +8 -0
- package/dist/lib/esm/@types/dataview/data-model/value.d.mts +176 -0
- package/dist/lib/esm/@types/dataview/expression/binaryop.d.mts +44 -0
- package/dist/lib/esm/@types/dataview/expression/context.d.mts +50 -0
- package/dist/lib/esm/@types/dataview/expression/field.d.mts +83 -0
- package/dist/lib/esm/@types/dataview/expression/functions.d.mts +150 -0
- package/dist/lib/esm/@types/dataview/expression/parse.d.mts +164 -0
- package/dist/lib/esm/@types/dataview/index.d.mts +56 -0
- package/dist/lib/esm/@types/dataview/main.d.mts +53 -0
- package/dist/lib/esm/@types/dataview/query/engine.d.mts +104 -0
- package/dist/lib/esm/@types/dataview/query/parse.d.mts +45 -0
- package/dist/lib/esm/@types/dataview/query/query.d.mts +96 -0
- package/dist/lib/esm/@types/dataview/settings.d.mts +61 -0
- package/dist/lib/esm/@types/dataview/typings/obsidian-ex.d.mts +29 -0
- package/dist/lib/esm/@types/dataview/typings/workers.d.mts +5 -0
- package/dist/lib/esm/@types/dataview/ui/export/markdown.d.mts +16 -0
- package/dist/lib/esm/@types/dataview/ui/lp-render.d.mts +38 -0
- package/dist/lib/esm/@types/dataview/ui/markdown.d.mts +87 -0
- package/dist/lib/esm/@types/dataview/ui/refreshable-view.d.mts +19 -0
- package/dist/lib/esm/@types/dataview/ui/render.d.mts +34 -0
- package/dist/lib/esm/@types/dataview/ui/views/calendar-view.d.mts +18 -0
- package/dist/lib/esm/@types/dataview/ui/views/inline-field-live-preview.d.mts +43 -0
- package/dist/lib/esm/@types/dataview/ui/views/inline-view.d.mts +29 -0
- package/dist/lib/esm/@types/dataview/ui/views/js-view.d.mts +24 -0
- package/dist/lib/esm/@types/dataview/ui/views/list-view.d.mts +26 -0
- package/dist/lib/esm/@types/dataview/ui/views/table-view.d.mts +29 -0
- package/dist/lib/esm/@types/dataview/ui/views/task-view.d.mts +52 -0
- package/dist/lib/esm/@types/dataview/util/hash.d.mts +2 -0
- package/dist/lib/esm/@types/dataview/util/locale.d.mts +3 -0
- package/dist/lib/esm/@types/dataview/util/media.d.mts +7 -0
- package/dist/lib/esm/@types/dataview/util/normalize.d.mts +45 -0
- package/dist/lib/esm/@types/i18next.d.mts +14 -0
- package/dist/lib/esm/@types/obsidian-integration-testing.d.mts +29 -0
- package/dist/lib/esm/@types/original-fs.d.mts +15 -0
- package/dist/lib/esm/__merged.d.mts +205 -0
- package/dist/lib/esm/__merged.mjs +1532 -0
- package/dist/lib/esm/active-file-provider.d.mts +36 -0
- package/dist/lib/esm/active-file-provider.mjs +72 -0
- package/dist/lib/esm/app.d.mts +17 -0
- package/dist/lib/esm/app.mjs +64 -0
- package/dist/lib/esm/async-with-notice.d.mts +113 -0
- package/dist/lib/esm/async-with-notice.mjs +149 -0
- package/dist/lib/esm/attachment-path.d.mts +341 -0
- package/dist/lib/esm/attachment-path.mjs +302 -0
- package/dist/lib/esm/attachment-unit-folder.d.mts +103 -0
- package/dist/lib/esm/attachment-unit-folder.mjs +78 -0
- package/dist/lib/esm/backlink-index.d.mts +51 -0
- package/dist/lib/esm/backlink-index.mjs +160 -0
- package/dist/lib/esm/backlink.d.mts +66 -0
- package/dist/lib/esm/backlink.mjs +131 -0
- package/dist/lib/esm/bases-view-registrar.d.mts +52 -0
- package/dist/lib/esm/bases-view-registrar.mjs +73 -0
- package/dist/lib/esm/callout.d.mts +76 -0
- package/dist/lib/esm/callout.mjs +132 -0
- package/dist/lib/esm/canvas.d.mts +28 -0
- package/dist/lib/esm/canvas.mjs +129 -0
- package/dist/lib/esm/case-insensitive-file-index.d.mts +92 -0
- package/dist/lib/esm/case-insensitive-file-index.mjs +152 -0
- package/dist/lib/esm/code-block-markdown-information.d.mts +48 -0
- package/dist/lib/esm/code-block-markdown-information.mjs +50 -0
- package/dist/lib/esm/code-block-reg-exp.d.mts +39 -0
- package/dist/lib/esm/code-block-reg-exp.mjs +56 -0
- package/dist/lib/esm/codemirror/index.d.mts +2 -0
- package/dist/lib/esm/codemirror/index.mjs +54 -0
- package/dist/lib/esm/codemirror/state-field-spec.d.mts +72 -0
- package/dist/lib/esm/codemirror/state-field-spec.mjs +50 -0
- package/dist/lib/esm/command-handlers/abstract-file-command-handler.d.mts +274 -0
- package/dist/lib/esm/command-handlers/abstract-file-command-handler.mjs +330 -0
- package/dist/lib/esm/command-handlers/command-handler-component.d.mts +146 -0
- package/dist/lib/esm/command-handlers/command-handler-component.mjs +193 -0
- package/dist/lib/esm/command-handlers/command-handler.d.mts +107 -0
- package/dist/lib/esm/command-handlers/command-handler.mjs +111 -0
- package/dist/lib/esm/command-handlers/editor-command-handler.d.mts +208 -0
- package/dist/lib/esm/command-handlers/editor-command-handler.mjs +262 -0
- package/dist/lib/esm/command-handlers/file-command-handler.d.mts +143 -0
- package/dist/lib/esm/command-handlers/file-command-handler.mjs +200 -0
- package/dist/lib/esm/command-handlers/folder-command-handler.d.mts +149 -0
- package/dist/lib/esm/command-handlers/folder-command-handler.mjs +208 -0
- package/dist/lib/esm/command-handlers/global-command-handler.d.mts +40 -0
- package/dist/lib/esm/command-handlers/global-command-handler.mjs +96 -0
- package/dist/lib/esm/command-handlers/index.d.mts +11 -0
- package/dist/lib/esm/command-handlers/index.mjs +72 -0
- package/dist/lib/esm/command-handlers/open-demo-vault-command-handler.d.mts +73 -0
- package/dist/lib/esm/command-handlers/open-demo-vault-command-handler.mjs +110 -0
- package/dist/lib/esm/command-handlers/open-settings-command-handler.d.mts +44 -0
- package/dist/lib/esm/command-handlers/open-settings-command-handler.mjs +85 -0
- package/dist/lib/esm/command-handlers/unlock-active-note-command-handler.d.mts +54 -0
- package/dist/lib/esm/command-handlers/unlock-active-note-command-handler.mjs +98 -0
- package/dist/lib/esm/command-registrar.d.mts +48 -0
- package/dist/lib/esm/command-registrar.mjs +80 -0
- package/dist/lib/esm/community-plugins.d.mts +270 -0
- package/dist/lib/esm/community-plugins.mjs +222 -0
- package/dist/lib/esm/components/abort-signal-component.d.mts +30 -0
- package/dist/lib/esm/components/abort-signal-component.mjs +83 -0
- package/dist/lib/esm/components/all-windows-event-component.d.mts +84 -0
- package/dist/lib/esm/components/all-windows-event-component.mjs +125 -0
- package/dist/lib/esm/components/async-error-handler-component.d.mts +30 -0
- package/dist/lib/esm/components/async-error-handler-component.mjs +87 -0
- package/dist/lib/esm/components/async-events-component.d.mts +15 -0
- package/dist/lib/esm/components/async-events-component.mjs +59 -0
- package/dist/lib/esm/components/case-insensitive-file-index-component.d.mts +36 -0
- package/dist/lib/esm/components/case-insensitive-file-index-component.mjs +101 -0
- package/dist/lib/esm/components/component-ex.d.mts +229 -0
- package/dist/lib/esm/components/component-ex.mjs +421 -0
- package/dist/lib/esm/components/console-debug-component.d.mts +30 -0
- package/dist/lib/esm/components/console-debug-component.mjs +81 -0
- package/dist/lib/esm/components/core-plugin-toggle-component.d.mts +102 -0
- package/dist/lib/esm/components/core-plugin-toggle-component.mjs +113 -0
- package/dist/lib/esm/components/disposable-component.d.mts +24 -0
- package/dist/lib/esm/components/disposable-component.mjs +65 -0
- package/dist/lib/esm/components/embed-extensions-component.d.mts +38 -0
- package/dist/lib/esm/components/embed-extensions-component.mjs +85 -0
- package/dist/lib/esm/components/generate-markdown-link-default-params-component.d.mts +42 -0
- package/dist/lib/esm/components/generate-markdown-link-default-params-component.mjs +81 -0
- package/dist/lib/esm/components/index.d.mts +30 -0
- package/dist/lib/esm/components/index.mjs +110 -0
- package/dist/lib/esm/components/layout-ready-component.d.mts +48 -0
- package/dist/lib/esm/components/layout-ready-component.mjs +121 -0
- package/dist/lib/esm/components/menu-event-registrar-component.d.mts +52 -0
- package/dist/lib/esm/components/menu-event-registrar-component.mjs +107 -0
- package/dist/lib/esm/components/monkey-around-component.d.mts +241 -0
- package/dist/lib/esm/components/monkey-around-component.mjs +154 -0
- package/dist/lib/esm/components/notebook-navigator-menu-event-registrar-component.d.mts +150 -0
- package/dist/lib/esm/components/notebook-navigator-menu-event-registrar-component.mjs +235 -0
- package/dist/lib/esm/components/plugin-context-component.d.mts +36 -0
- package/dist/lib/esm/components/plugin-context-component.mjs +94 -0
- package/dist/lib/esm/components/plugin-gate-component.d.mts +332 -0
- package/dist/lib/esm/components/plugin-gate-component.mjs +472 -0
- package/dist/lib/esm/components/plugin-notice-component.d.mts +362 -0
- package/dist/lib/esm/components/plugin-notice-component.mjs +543 -0
- package/dist/lib/esm/components/plugin-settings-component.d.mts +362 -0
- package/dist/lib/esm/components/plugin-settings-component.mjs +562 -0
- package/dist/lib/esm/components/plugin-settings-tab-component.d.mts +39 -0
- package/dist/lib/esm/components/plugin-settings-tab-component.mjs +81 -0
- package/dist/lib/esm/components/plugin-suggestion-component.d.mts +162 -0
- package/dist/lib/esm/components/plugin-suggestion-component.mjs +192 -0
- package/dist/lib/esm/components/pointer-position-component.d.mts +29 -0
- package/dist/lib/esm/components/pointer-position-component.mjs +77 -0
- package/dist/lib/esm/components/registry-component.d.mts +37 -0
- package/dist/lib/esm/components/registry-component.mjs +98 -0
- package/dist/lib/esm/components/release-notes-component.d.mts +129 -0
- package/dist/lib/esm/components/release-notes-component.mjs +136 -0
- package/dist/lib/esm/components/rename-delete-handler-component.d.mts +165 -0
- package/dist/lib/esm/components/rename-delete-handler-component.mjs +1238 -0
- package/dist/lib/esm/components/rmdir-guard-component.d.mts +76 -0
- package/dist/lib/esm/components/rmdir-guard-component.mjs +100 -0
- package/dist/lib/esm/components/settings-migration-component.d.mts +120 -0
- package/dist/lib/esm/components/settings-migration-component.mjs +133 -0
- package/dist/lib/esm/components/syntax-highlighting-component.d.mts +149 -0
- package/dist/lib/esm/components/syntax-highlighting-component.mjs +159 -0
- package/dist/lib/esm/components/templates-language-component.d.mts +124 -0
- package/dist/lib/esm/components/templates-language-component.mjs +187 -0
- package/dist/lib/esm/constructors/get-dom-events-handlers-constructor.d.mts +22 -0
- package/dist/lib/esm/constructors/get-dom-events-handlers-constructor.mjs +157 -0
- package/dist/lib/esm/constructors/index.d.mts +2 -0
- package/dist/lib/esm/constructors/index.mjs +54 -0
- package/dist/lib/esm/css-class.d.mts +278 -0
- package/dist/lib/esm/css-class.mjs +119 -0
- package/dist/lib/esm/data-handler.d.mts +49 -0
- package/dist/lib/esm/data-handler.mjs +81 -0
- package/dist/lib/esm/dataview-link.d.mts +42 -0
- package/dist/lib/esm/dataview-link.mjs +74 -0
- package/dist/lib/esm/dataview.d.mts +249 -0
- package/dist/lib/esm/dataview.mjs +288 -0
- package/dist/lib/esm/debug.d.mts +19 -0
- package/dist/lib/esm/debug.mjs +59 -0
- package/dist/lib/esm/demo-vault-helper-settings.d.mts +29 -0
- package/dist/lib/esm/demo-vault-helper-settings.mjs +50 -0
- package/dist/lib/esm/demo-vault-helper.d.mts +61 -0
- package/dist/lib/esm/demo-vault-helper.mjs +150 -0
- package/dist/lib/esm/demo-vault-naming.d.mts +54 -0
- package/dist/lib/esm/demo-vault-naming.mjs +67 -0
- package/dist/lib/esm/desktop-demo-vault-opener.d.mts +76 -0
- package/dist/lib/esm/desktop-demo-vault-opener.mjs +274 -0
- package/dist/lib/esm/desktop-trusted-input.d.mts +288 -0
- package/dist/lib/esm/desktop-trusted-input.mjs +206 -0
- package/dist/lib/esm/editor-extension-registrar.d.mts +37 -0
- package/dist/lib/esm/editor-extension-registrar.mjs +73 -0
- package/dist/lib/esm/editor-suggest-registrar.d.mts +36 -0
- package/dist/lib/esm/editor-suggest-registrar.mjs +76 -0
- package/dist/lib/esm/editor.d.mts +45 -0
- package/dist/lib/esm/editor.mjs +115 -0
- package/dist/lib/esm/events.d.mts +98 -0
- package/dist/lib/esm/events.mjs +81 -0
- package/dist/lib/esm/extensions-registrar.d.mts +51 -0
- package/dist/lib/esm/extensions-registrar.mjs +73 -0
- package/dist/lib/esm/file-change.d.mts +156 -0
- package/dist/lib/esm/file-change.mjs +481 -0
- package/dist/lib/esm/file-explorer.d.mts +34 -0
- package/dist/lib/esm/file-explorer.mjs +68 -0
- package/dist/lib/esm/file-manager.d.mts +123 -0
- package/dist/lib/esm/file-manager.mjs +169 -0
- package/dist/lib/esm/file-system.d.mts +554 -0
- package/dist/lib/esm/file-system.mjs +466 -0
- package/dist/lib/esm/folder-note.d.mts +166 -0
- package/dist/lib/esm/folder-note.mjs +169 -0
- package/dist/lib/esm/frontmatter-formatting.d.mts +44 -0
- package/dist/lib/esm/frontmatter-formatting.mjs +376 -0
- package/dist/lib/esm/frontmatter-link-cache-with-offsets.d.mts +34 -0
- package/dist/lib/esm/frontmatter-link-cache-with-offsets.mjs +69 -0
- package/dist/lib/esm/frontmatter.d.mts +145 -0
- package/dist/lib/esm/frontmatter.mjs +182 -0
- package/dist/lib/esm/generated-during-build.d.mts +19 -0
- package/dist/lib/esm/generated-during-build.mjs +56 -0
- package/dist/lib/esm/hover-link-source-registrar.d.mts +52 -0
- package/dist/lib/esm/hover-link-source-registrar.mjs +73 -0
- package/dist/lib/esm/html-element.d.mts +98 -0
- package/dist/lib/esm/html-element.mjs +94 -0
- package/dist/lib/esm/i18n/custom-type-options.d.mts +38 -0
- package/dist/lib/esm/i18n/custom-type-options.mjs +51 -0
- package/dist/lib/esm/i18n/default-translations.d.mts +15 -0
- package/dist/lib/esm/i18n/default-translations.mjs +51 -0
- package/dist/lib/esm/i18n/i18n.d.mts +38 -0
- package/dist/lib/esm/i18n/i18n.mjs +97 -0
- package/dist/lib/esm/i18n/index.d.mts +5 -0
- package/dist/lib/esm/i18n/index.mjs +60 -0
- package/dist/lib/esm/i18n/locales/en.d.mts +91 -0
- package/dist/lib/esm/i18n/locales/en.mjs +135 -0
- package/dist/lib/esm/i18n/locales/index.d.mts +3 -0
- package/dist/lib/esm/i18n/locales/index.mjs +56 -0
- package/dist/lib/esm/i18n/locales/translations-map.d.mts +100 -0
- package/dist/lib/esm/i18n/locales/translations-map.mjs +60 -0
- package/dist/lib/esm/index.d.mts +96 -0
- package/dist/lib/esm/index.mjs +242 -0
- package/dist/lib/esm/is-in-obsidian.d.mts +12 -0
- package/dist/lib/esm/is-in-obsidian.mjs +67 -0
- package/dist/lib/esm/library-styles.d.mts +56 -0
- package/dist/lib/esm/library-styles.mjs +80 -0
- package/dist/lib/esm/library.d.mts +57 -0
- package/dist/lib/esm/library.mjs +91 -0
- package/dist/lib/esm/link-name.d.mts +23 -0
- package/dist/lib/esm/link-name.mjs +56 -0
- package/dist/lib/esm/link-update-progress.d.mts +32 -0
- package/dist/lib/esm/link-update-progress.mjs +50 -0
- package/dist/lib/esm/link.d.mts +1369 -0
- package/dist/lib/esm/link.mjs +996 -0
- package/dist/lib/esm/logger.d.mts +37 -0
- package/dist/lib/esm/logger.mjs +123 -0
- package/dist/lib/esm/loop.d.mts +104 -0
- package/dist/lib/esm/loop.mjs +159 -0
- package/dist/lib/esm/markdown-code-block-processor-registrar.d.mts +62 -0
- package/dist/lib/esm/markdown-code-block-processor-registrar.mjs +77 -0
- package/dist/lib/esm/markdown-code-block-processor.d.mts +137 -0
- package/dist/lib/esm/markdown-code-block-processor.mjs +364 -0
- package/dist/lib/esm/markdown-post-processor-registrar.d.mts +59 -0
- package/dist/lib/esm/markdown-post-processor-registrar.mjs +74 -0
- package/dist/lib/esm/markdown-view.d.mts +14 -0
- package/dist/lib/esm/markdown-view.mjs +62 -0
- package/dist/lib/esm/markdown.d.mts +226 -0
- package/dist/lib/esm/markdown.mjs +399 -0
- package/dist/lib/esm/menu-event-registrar.d.mts +84 -0
- package/dist/lib/esm/menu-event-registrar.mjs +50 -0
- package/dist/lib/esm/metadata-cache.d.mts +359 -0
- package/dist/lib/esm/metadata-cache.mjs +462 -0
- package/dist/lib/esm/mobile-trusted-input.d.mts +98 -0
- package/dist/lib/esm/mobile-trusted-input.mjs +90 -0
- package/dist/lib/esm/modals/alert.d.mts +35 -0
- package/dist/lib/esm/modals/alert.mjs +92 -0
- package/dist/lib/esm/modals/confirm.d.mts +39 -0
- package/dist/lib/esm/modals/confirm.mjs +102 -0
- package/dist/lib/esm/modals/index.d.mts +10 -0
- package/dist/lib/esm/modals/index.mjs +70 -0
- package/dist/lib/esm/modals/minimizable-modal.d.mts +129 -0
- package/dist/lib/esm/modals/minimizable-modal.mjs +356 -0
- package/dist/lib/esm/modals/modal-command-builder.d.mts +285 -0
- package/dist/lib/esm/modals/modal-command-builder.mjs +371 -0
- package/dist/lib/esm/modals/modal.d.mts +64 -0
- package/dist/lib/esm/modals/modal.mjs +86 -0
- package/dist/lib/esm/modals/prompt.d.mts +83 -0
- package/dist/lib/esm/modals/prompt.mjs +176 -0
- package/dist/lib/esm/modals/select-item.d.mts +55 -0
- package/dist/lib/esm/modals/select-item.mjs +112 -0
- package/dist/lib/esm/modals/select-option.d.mts +65 -0
- package/dist/lib/esm/modals/select-option.mjs +103 -0
- package/dist/lib/esm/modals/suggest-modal-command-builder.d.mts +35 -0
- package/dist/lib/esm/modals/suggest-modal-command-builder.mjs +55 -0
- package/dist/lib/esm/note-priority.d.mts +154 -0
- package/dist/lib/esm/note-priority.mjs +143 -0
- package/dist/lib/esm/notebook-navigator.d.mts +132 -0
- package/dist/lib/esm/notebook-navigator.mjs +72 -0
- package/dist/lib/esm/obsidian-dev-utils-state.d.mts +42 -0
- package/dist/lib/esm/obsidian-dev-utils-state.mjs +84 -0
- package/dist/lib/esm/obsidian-protocol-handler-registrar.d.mts +55 -0
- package/dist/lib/esm/obsidian-protocol-handler-registrar.mjs +76 -0
- package/dist/lib/esm/obsidian-settings.d.mts +62 -0
- package/dist/lib/esm/obsidian-settings.mjs +89 -0
- package/dist/lib/esm/parse-link.d.mts +288 -0
- package/dist/lib/esm/parse-link.mjs +436 -0
- package/dist/lib/esm/path-settings.d.mts +56 -0
- package/dist/lib/esm/path-settings.mjs +184 -0
- package/dist/lib/esm/pdf.d.mts +26 -0
- package/dist/lib/esm/pdf.mjs +84 -0
- package/dist/lib/esm/plugin/index.d.mts +9 -0
- package/dist/lib/esm/plugin/index.mjs +68 -0
- package/dist/lib/esm/plugin/plugin-api.d.mts +413 -0
- package/dist/lib/esm/plugin/plugin-api.mjs +430 -0
- package/dist/lib/esm/plugin/plugin-context.d.mts +27 -0
- package/dist/lib/esm/plugin/plugin-context.mjs +109 -0
- package/dist/lib/esm/plugin/plugin-event-source.d.mts +97 -0
- package/dist/lib/esm/plugin/plugin-event-source.mjs +137 -0
- package/dist/lib/esm/plugin/plugin-install-state.d.mts +113 -0
- package/dist/lib/esm/plugin/plugin-install-state.mjs +109 -0
- package/dist/lib/esm/plugin/plugin-lifecycle-events.d.mts +127 -0
- package/dist/lib/esm/plugin/plugin-lifecycle-events.mjs +60 -0
- package/dist/lib/esm/plugin/plugin-settings-tab.d.mts +368 -0
- package/dist/lib/esm/plugin/plugin-settings-tab.mjs +535 -0
- package/dist/lib/esm/plugin/plugin.d.mts +363 -0
- package/dist/lib/esm/plugin/plugin.mjs +619 -0
- package/dist/lib/esm/plugin/settings-migration-api.d.mts +91 -0
- package/dist/lib/esm/plugin/settings-migration-api.mjs +50 -0
- package/dist/lib/esm/plugin-cli-handler-registrar.d.mts +64 -0
- package/dist/lib/esm/plugin-cli-handler-registrar.mjs +74 -0
- package/dist/lib/esm/popovers/field-popover.d.mts +75 -0
- package/dist/lib/esm/popovers/field-popover.mjs +96 -0
- package/dist/lib/esm/popovers/index.d.mts +4 -0
- package/dist/lib/esm/popovers/index.mjs +58 -0
- package/dist/lib/esm/popovers/popover-anchor.d.mts +67 -0
- package/dist/lib/esm/popovers/popover-anchor.mjs +90 -0
- package/dist/lib/esm/popovers/popover.d.mts +78 -0
- package/dist/lib/esm/popovers/popover.mjs +140 -0
- package/dist/lib/esm/property-entry.d.mts +43 -0
- package/dist/lib/esm/property-entry.mjs +81 -0
- package/dist/lib/esm/queue.d.mts +93 -0
- package/dist/lib/esm/queue.mjs +130 -0
- package/dist/lib/esm/react/app-context.d.mts +24 -0
- package/dist/lib/esm/react/app-context.mjs +64 -0
- package/dist/lib/esm/react/index.d.mts +2 -0
- package/dist/lib/esm/react/index.mjs +54 -0
- package/dist/lib/esm/reference.d.mts +116 -0
- package/dist/lib/esm/reference.mjs +95 -0
- package/dist/lib/esm/resource-lock.d.mts +318 -0
- package/dist/lib/esm/resource-lock.mjs +1014 -0
- package/dist/lib/esm/resource-url.d.mts +31 -0
- package/dist/lib/esm/resource-url.mjs +67 -0
- package/dist/lib/esm/ribbon-icon-registrar.d.mts +60 -0
- package/dist/lib/esm/ribbon-icon-registrar.mjs +74 -0
- package/dist/lib/esm/setting-components/checkbox-component.d.mts +69 -0
- package/dist/lib/esm/setting-components/checkbox-component.mjs +127 -0
- package/dist/lib/esm/setting-components/code-highlighter-component.d.mts +132 -0
- package/dist/lib/esm/setting-components/code-highlighter-component.mjs +295 -0
- package/dist/lib/esm/setting-components/date-component.d.mts +38 -0
- package/dist/lib/esm/setting-components/date-component.mjs +91 -0
- package/dist/lib/esm/setting-components/date-time-component.d.mts +38 -0
- package/dist/lib/esm/setting-components/date-time-component.mjs +91 -0
- package/dist/lib/esm/setting-components/email-component.d.mts +49 -0
- package/dist/lib/esm/setting-components/email-component.mjs +102 -0
- package/dist/lib/esm/setting-components/file-component.d.mts +43 -0
- package/dist/lib/esm/setting-components/file-component.mjs +94 -0
- package/dist/lib/esm/setting-components/index.d.mts +27 -0
- package/dist/lib/esm/setting-components/index.mjs +104 -0
- package/dist/lib/esm/setting-components/month-component.d.mts +51 -0
- package/dist/lib/esm/setting-components/month-component.mjs +99 -0
- package/dist/lib/esm/setting-components/multiple-dropdown-component.d.mts +92 -0
- package/dist/lib/esm/setting-components/multiple-dropdown-component.mjs +167 -0
- package/dist/lib/esm/setting-components/multiple-email-component.d.mts +38 -0
- package/dist/lib/esm/setting-components/multiple-email-component.mjs +88 -0
- package/dist/lib/esm/setting-components/multiple-file-component.d.mts +43 -0
- package/dist/lib/esm/setting-components/multiple-file-component.mjs +96 -0
- package/dist/lib/esm/setting-components/multiple-text-component.d.mts +109 -0
- package/dist/lib/esm/setting-components/multiple-text-component.mjs +186 -0
- package/dist/lib/esm/setting-components/number-component.d.mts +56 -0
- package/dist/lib/esm/setting-components/number-component.mjs +112 -0
- package/dist/lib/esm/setting-components/password-component.d.mts +38 -0
- package/dist/lib/esm/setting-components/password-component.mjs +88 -0
- package/dist/lib/esm/setting-components/setting-component-wrapper.d.mts +13 -0
- package/dist/lib/esm/setting-components/setting-component-wrapper.mjs +71 -0
- package/dist/lib/esm/setting-components/telephone-component.d.mts +51 -0
- package/dist/lib/esm/setting-components/telephone-component.mjs +102 -0
- package/dist/lib/esm/setting-components/text-based-component.d.mts +38 -0
- package/dist/lib/esm/setting-components/text-based-component.mjs +81 -0
- package/dist/lib/esm/setting-components/time-component.d.mts +38 -0
- package/dist/lib/esm/setting-components/time-component.mjs +96 -0
- package/dist/lib/esm/setting-components/tri-state-checkbox-component.d.mts +69 -0
- package/dist/lib/esm/setting-components/tri-state-checkbox-component.mjs +128 -0
- package/dist/lib/esm/setting-components/typed-dropdown-component.d.mts +97 -0
- package/dist/lib/esm/setting-components/typed-dropdown-component.mjs +176 -0
- package/dist/lib/esm/setting-components/typed-multiple-dropdown-component.d.mts +99 -0
- package/dist/lib/esm/setting-components/typed-multiple-dropdown-component.mjs +175 -0
- package/dist/lib/esm/setting-components/typed-range-text-component.d.mts +35 -0
- package/dist/lib/esm/setting-components/typed-range-text-component.mjs +86 -0
- package/dist/lib/esm/setting-components/typed-text-component.d.mts +100 -0
- package/dist/lib/esm/setting-components/typed-text-component.mjs +146 -0
- package/dist/lib/esm/setting-components/url-component.d.mts +49 -0
- package/dist/lib/esm/setting-components/url-component.mjs +102 -0
- package/dist/lib/esm/setting-components/validator-component.d.mts +23 -0
- package/dist/lib/esm/setting-components/validator-component.mjs +150 -0
- package/dist/lib/esm/setting-components/value-component-with-change-tracking.d.mts +20 -0
- package/dist/lib/esm/setting-components/value-component-with-change-tracking.mjs +50 -0
- package/dist/lib/esm/setting-components/week-component.d.mts +51 -0
- package/dist/lib/esm/setting-components/week-component.mjs +99 -0
- package/dist/lib/esm/setting-ex.d.mts +198 -0
- package/dist/lib/esm/setting-ex.mjs +282 -0
- package/dist/lib/esm/setting-group-ex.d.mts +26 -0
- package/dist/lib/esm/setting-group-ex.mjs +76 -0
- package/dist/lib/esm/status-bar-item-registrar.d.mts +36 -0
- package/dist/lib/esm/status-bar-item-registrar.mjs +73 -0
- package/dist/lib/esm/templater.d.mts +284 -0
- package/dist/lib/esm/templater.mjs +181 -0
- package/dist/lib/esm/transformers/duration-transformer.d.mts +39 -0
- package/dist/lib/esm/transformers/duration-transformer.mjs +93 -0
- package/dist/lib/esm/transformers/index.d.mts +2 -0
- package/dist/lib/esm/transformers/index.mjs +54 -0
- package/dist/lib/esm/trusted-input.d.mts +131 -0
- package/dist/lib/esm/trusted-input.mjs +91 -0
- package/dist/lib/esm/validation.d.mts +87 -0
- package/dist/lib/esm/validation.mjs +95 -0
- package/dist/lib/esm/vault-delete.d.mts +82 -0
- package/dist/lib/esm/vault-delete.mjs +140 -0
- package/dist/lib/esm/vault-transaction.d.mts +163 -0
- package/dist/lib/esm/vault-transaction.mjs +333 -0
- package/dist/lib/esm/vault.d.mts +506 -0
- package/dist/lib/esm/vault.mjs +612 -0
- package/dist/lib/esm/view-registrar.d.mts +52 -0
- package/dist/lib/esm/view-registrar.mjs +73 -0
- package/dist/lib/esm/workspace.d.mts +81 -0
- package/dist/lib/esm/workspace.mjs +92 -0
- package/dist/styles.css +497 -0
- package/i18n/custom-type-options/package.json +6 -0
- package/i18n/default-translations/package.json +6 -0
- package/i18n/i18n/package.json +6 -0
- package/i18n/index/package.json +6 -0
- package/i18n/locales/en/package.json +6 -0
- package/i18n/locales/index/package.json +6 -0
- package/i18n/locales/package.json +6 -0
- package/i18n/locales/translations-map/package.json +6 -0
- package/i18n/package.json +6 -0
- package/modals/alert/package.json +6 -0
- package/modals/confirm/package.json +6 -0
- package/modals/index/package.json +6 -0
- package/modals/minimizable-modal/package.json +6 -0
- package/modals/modal/package.json +6 -0
- package/modals/modal-command-builder/package.json +6 -0
- package/modals/package.json +6 -0
- package/modals/prompt/package.json +6 -0
- package/modals/select-item/package.json +6 -0
- package/modals/select-option/package.json +6 -0
- package/modals/suggest-modal-command-builder/package.json +6 -0
- package/package.json +488 -13
- package/plugin/index/package.json +6 -0
- package/plugin/package.json +6 -0
- package/plugin/plugin/package.json +6 -0
- package/plugin/plugin-api/package.json +6 -0
- package/plugin/plugin-context/package.json +6 -0
- package/plugin/plugin-event-source/package.json +6 -0
- package/plugin/plugin-install-state/package.json +6 -0
- package/plugin/plugin-lifecycle-events/package.json +6 -0
- package/plugin/plugin-settings-tab/package.json +6 -0
- package/plugin/settings-migration-api/package.json +6 -0
- package/popovers/field-popover/package.json +6 -0
- package/popovers/index/package.json +6 -0
- package/popovers/package.json +6 -0
- package/popovers/popover/package.json +6 -0
- package/popovers/popover-anchor/package.json +6 -0
- package/react/app-context/package.json +6 -0
- package/react/index/package.json +6 -0
- package/react/package.json +6 -0
- package/setting-components/checkbox-component/package.json +6 -0
- package/setting-components/code-highlighter-component/package.json +6 -0
- package/setting-components/date-component/package.json +6 -0
- package/setting-components/date-time-component/package.json +6 -0
- package/setting-components/email-component/package.json +6 -0
- package/setting-components/file-component/package.json +6 -0
- package/setting-components/index/package.json +6 -0
- package/setting-components/month-component/package.json +6 -0
- package/setting-components/multiple-dropdown-component/package.json +6 -0
- package/setting-components/multiple-email-component/package.json +6 -0
- package/setting-components/multiple-file-component/package.json +6 -0
- package/setting-components/multiple-text-component/package.json +6 -0
- package/setting-components/number-component/package.json +6 -0
- package/setting-components/package.json +6 -0
- package/setting-components/password-component/package.json +6 -0
- package/setting-components/setting-component-wrapper/package.json +6 -0
- package/setting-components/telephone-component/package.json +6 -0
- package/setting-components/text-based-component/package.json +6 -0
- package/setting-components/time-component/package.json +6 -0
- package/setting-components/tri-state-checkbox-component/package.json +6 -0
- package/setting-components/typed-dropdown-component/package.json +6 -0
- package/setting-components/typed-multiple-dropdown-component/package.json +6 -0
- package/setting-components/typed-range-text-component/package.json +6 -0
- package/setting-components/typed-text-component/package.json +6 -0
- package/setting-components/url-component/package.json +6 -0
- package/setting-components/validator-component/package.json +6 -0
- package/setting-components/value-component-with-change-tracking/package.json +6 -0
- package/setting-components/week-component/package.json +6 -0
- package/transformers/duration-transformer/package.json +6 -0
- package/transformers/index/package.json +6 -0
- package/transformers/package.json +6 -0
|
@@ -0,0 +1,468 @@
|
|
|
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 () {
|
|
7
|
+
function ensureDisposeSymbols(symbolConstructor = Symbol) {
|
|
8
|
+
symbolConstructor.asyncDispose ??= symbolConstructor.for('Symbol.asyncDispose');
|
|
9
|
+
symbolConstructor.dispose ??= symbolConstructor.for('Symbol.dispose');
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
function ensureBrowserProcess() {
|
|
13
|
+
const browserProcess = {
|
|
14
|
+
browser: true,
|
|
15
|
+
cwd() {
|
|
16
|
+
return '/';
|
|
17
|
+
},
|
|
18
|
+
env: {},
|
|
19
|
+
platform: 'android'
|
|
20
|
+
};
|
|
21
|
+
|
|
22
|
+
// eslint-disable-next-line obsidianmd/no-global-this, unicorn/no-unnecessary-global-this -- Must stay `globalThis`-qualified: in the emitted banner a bare `process` is a free identifier, so reading it where the host has none throws a ReferenceError instead of yielding `undefined`. That is the very case this function exists to handle.
|
|
23
|
+
const existingProcess = globalThis.process;
|
|
24
|
+
|
|
25
|
+
if (!existingProcess) {
|
|
26
|
+
// eslint-disable-next-line obsidianmd/no-global-this -- Actively use globalThis.
|
|
27
|
+
globalThis.process = browserProcess;
|
|
28
|
+
return;
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
if (existingProcess.versions?.node) {
|
|
32
|
+
return;
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
const existingProcessRecord = existingProcess;
|
|
36
|
+
|
|
37
|
+
for (const [key, value] of Object.entries(browserProcess)) {
|
|
38
|
+
existingProcessRecord[key] ??= value;
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
existingProcessRecord['browser'] = true;
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
function keepName($unknown) {
|
|
45
|
+
return $unknown;
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
(function initCjs() {
|
|
49
|
+
// eslint-disable-next-line obsidianmd/no-global-this -- Actively use globalThis.
|
|
50
|
+
const globalThisRecord = globalThis;
|
|
51
|
+
ensureDisposeSymbols();
|
|
52
|
+
globalThisRecord['__name'] ??= keepName;
|
|
53
|
+
globalThisRecord['__extractDefault'] ??= extractDefault;
|
|
54
|
+
|
|
55
|
+
ensureBrowserProcess();
|
|
56
|
+
|
|
57
|
+
// eslint-disable-next-line unicorn/consistent-function-scoping -- Serialized with initCjs into the banner; at module scope it would be left out of it.
|
|
58
|
+
function extractDefault(module) {
|
|
59
|
+
return module && module.__esModule && 'default' in module ? module.default : module;
|
|
60
|
+
}
|
|
61
|
+
})();
|
|
62
|
+
})();
|
|
63
|
+
(function patchObsidianRequire() {
|
|
64
|
+
const originalRequire = require;
|
|
65
|
+
if (!originalRequire || originalRequire.__isPatched) {
|
|
66
|
+
return;
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
// eslint-disable-next-line no-global-assign, no-implicit-globals -- We need to patch the `require()` function.
|
|
70
|
+
require = Object.assign(
|
|
71
|
+
(id) => requirePatched(id),
|
|
72
|
+
originalRequire,
|
|
73
|
+
{
|
|
74
|
+
__isPatched: true
|
|
75
|
+
}
|
|
76
|
+
);
|
|
77
|
+
|
|
78
|
+
function extractDefault(module) {
|
|
79
|
+
return module && module.__esModule && 'default' in module ? module.default : module;
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
const OBSIDIAN_BUILT_IN_MODULE_NAMES = new Set([
|
|
83
|
+
'@codemirror/autocomplete',
|
|
84
|
+
'@codemirror/collab',
|
|
85
|
+
'@codemirror/commands',
|
|
86
|
+
'@codemirror/language',
|
|
87
|
+
'@codemirror/lint',
|
|
88
|
+
'@codemirror/search',
|
|
89
|
+
'@codemirror/state',
|
|
90
|
+
'@codemirror/text',
|
|
91
|
+
'@codemirror/view',
|
|
92
|
+
'@lezer/common',
|
|
93
|
+
'@lezer/highlight',
|
|
94
|
+
'@lezer/lr',
|
|
95
|
+
'obsidian']
|
|
96
|
+
);
|
|
97
|
+
|
|
98
|
+
const DEPRECATED_OBSIDIAN_BUILT_IN_MODULE_NAMES = new Set([
|
|
99
|
+
'@codemirror/closebrackets',
|
|
100
|
+
'@codemirror/comment',
|
|
101
|
+
'@codemirror/fold',
|
|
102
|
+
'@codemirror/gutter',
|
|
103
|
+
'@codemirror/highlight',
|
|
104
|
+
'@codemirror/history',
|
|
105
|
+
'@codemirror/matchbrackets',
|
|
106
|
+
'@codemirror/panel',
|
|
107
|
+
'@codemirror/rangeset',
|
|
108
|
+
'@codemirror/rectangular-selection',
|
|
109
|
+
'@codemirror/stream-parser',
|
|
110
|
+
'@codemirror/tooltip']
|
|
111
|
+
);
|
|
112
|
+
|
|
113
|
+
function requirePatched(id) {
|
|
114
|
+
if (OBSIDIAN_BUILT_IN_MODULE_NAMES.has(id) || DEPRECATED_OBSIDIAN_BUILT_IN_MODULE_NAMES.has(id)) {
|
|
115
|
+
return originalRequire?.(id);
|
|
116
|
+
}
|
|
117
|
+
|
|
118
|
+
// eslint-disable-next-line @typescript-eslint/no-deprecated, obsidianmd/no-global-this -- Need access to app. Actively use globalThis.
|
|
119
|
+
if (globalThis.app.isMobile) {
|
|
120
|
+
if (id === 'process' || id === 'node:process') {
|
|
121
|
+
// eslint-disable-next-line no-console -- Valid usage.
|
|
122
|
+
console.debug(`The most likely you can safely ignore this error. Module not found: ${id}. Fake process object is returned instead.`);
|
|
123
|
+
|
|
124
|
+
return process;
|
|
125
|
+
}
|
|
126
|
+
} else {
|
|
127
|
+
const module = originalRequire?.(id);
|
|
128
|
+
if (module) {
|
|
129
|
+
return extractDefault(module);
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
|
|
133
|
+
// eslint-disable-next-line no-console -- Valid usage.
|
|
134
|
+
console.debug(`The most likely you can safely ignore this error. Module not found: ${id}. Empty object is returned instead.`);
|
|
135
|
+
return {};
|
|
136
|
+
}
|
|
137
|
+
})();
|
|
138
|
+
|
|
139
|
+
"use strict";
|
|
140
|
+
var __defProp = Object.defineProperty;
|
|
141
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
142
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
143
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
144
|
+
var __export = (target, all) => {
|
|
145
|
+
for (var name in all)
|
|
146
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
147
|
+
};
|
|
148
|
+
var __copyProps = (to, from, except, desc) => {
|
|
149
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
150
|
+
for (let key of __getOwnPropNames(from))
|
|
151
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
152
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
153
|
+
}
|
|
154
|
+
return to;
|
|
155
|
+
};
|
|
156
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
157
|
+
var markdown_code_block_processor_exports = {};
|
|
158
|
+
__export(markdown_code_block_processor_exports, {
|
|
159
|
+
getCodeBlockMarkdownInfo: () => getCodeBlockMarkdownInfo,
|
|
160
|
+
insertAfterCodeBlock: () => insertAfterCodeBlock,
|
|
161
|
+
insertBeforeCodeBlock: () => insertBeforeCodeBlock,
|
|
162
|
+
removeCodeBlock: () => removeCodeBlock,
|
|
163
|
+
replaceCodeBlock: () => replaceCodeBlock
|
|
164
|
+
});
|
|
165
|
+
module.exports = __toCommonJS(markdown_code_block_processor_exports);
|
|
166
|
+
var import_abort_controller = require('@mnaoumov/typescript-lib/abort-controller');
|
|
167
|
+
var import_async = require('@mnaoumov/typescript-lib/async');
|
|
168
|
+
var import_object_utils = require('@mnaoumov/typescript-lib/object-utils');
|
|
169
|
+
var import_reg_exp = require('@mnaoumov/typescript-lib/reg-exp');
|
|
170
|
+
var import_string = require('@mnaoumov/typescript-lib/string');
|
|
171
|
+
var import_type_guards = require('@mnaoumov/typescript-lib/type-guards');
|
|
172
|
+
var import_value_provider = require('@mnaoumov/typescript-lib/value-provider');
|
|
173
|
+
var import_implementations = require('@obsidian-typings/obsidian-public-latest/implementations');
|
|
174
|
+
var import_obsidian = require('obsidian');
|
|
175
|
+
var import_code_block_reg_exp = require('./code-block-reg-exp.cjs');
|
|
176
|
+
var import_file_system = require('./file-system.cjs');
|
|
177
|
+
var import_vault = require('./vault.cjs');
|
|
178
|
+
async function getCodeBlockMarkdownInfo(params) {
|
|
179
|
+
const { app, context, el, source } = params;
|
|
180
|
+
const sourceFile = (0, import_file_system.getFileOrNull)({ app, pathOrFile: context.sourcePath });
|
|
181
|
+
(0, import_type_guards.assertNonNullable)(sourceFile, `Source file ${context.sourcePath} not found.`);
|
|
182
|
+
await (0, import_async.requestAnimationFrameAsync)();
|
|
183
|
+
const noteContent = getOpenMarkdownViewData(app, sourceFile) ?? await app.vault.read(sourceFile);
|
|
184
|
+
return findCodeBlockMarkdownInfo({ el, noteContent, source });
|
|
185
|
+
}
|
|
186
|
+
async function insertAfterCodeBlock(params) {
|
|
187
|
+
const { app, context, lineOffset = 0, text } = params;
|
|
188
|
+
await (0, import_vault.process)({
|
|
189
|
+
app,
|
|
190
|
+
async newContentProvider({ content }) {
|
|
191
|
+
const markdownInfo = await getCodeBlockMarkdownInfoAfterSave(params);
|
|
192
|
+
(0, import_type_guards.assertNonNullable)(markdownInfo, "Could not uniquely identify the code block.");
|
|
193
|
+
if (content !== markdownInfo.noteContent) {
|
|
194
|
+
return null;
|
|
195
|
+
}
|
|
196
|
+
const insertLineIndex = markdownInfo.positionInNote.end.line + lineOffset + 1;
|
|
197
|
+
return insertText((0, import_object_utils.normalizeOptionalProperties)({
|
|
198
|
+
content,
|
|
199
|
+
insertLineIndex,
|
|
200
|
+
shouldPreserveLinePrefix: params.shouldPreserveLinePrefix,
|
|
201
|
+
text
|
|
202
|
+
}));
|
|
203
|
+
},
|
|
204
|
+
pathOrFile: context.sourcePath,
|
|
205
|
+
pluginNoticeComponent: null,
|
|
206
|
+
resourceLockComponent: params.resourceLockComponent
|
|
207
|
+
});
|
|
208
|
+
}
|
|
209
|
+
async function insertBeforeCodeBlock(params) {
|
|
210
|
+
const { app, context, lineOffset = 0, text } = params;
|
|
211
|
+
await (0, import_vault.process)({
|
|
212
|
+
app,
|
|
213
|
+
async newContentProvider({ content }) {
|
|
214
|
+
const markdownInfo = await getCodeBlockMarkdownInfoAfterSave(params);
|
|
215
|
+
if (!markdownInfo) {
|
|
216
|
+
throw new Error("Could not uniquely identify the code block.");
|
|
217
|
+
}
|
|
218
|
+
if (content !== markdownInfo.noteContent) {
|
|
219
|
+
return null;
|
|
220
|
+
}
|
|
221
|
+
const insertLineIndex = markdownInfo.positionInNote.start.line - lineOffset;
|
|
222
|
+
return insertText((0, import_object_utils.normalizeOptionalProperties)({
|
|
223
|
+
content,
|
|
224
|
+
insertLineIndex,
|
|
225
|
+
shouldPreserveLinePrefix: params.shouldPreserveLinePrefix,
|
|
226
|
+
text
|
|
227
|
+
}));
|
|
228
|
+
},
|
|
229
|
+
pathOrFile: context.sourcePath,
|
|
230
|
+
pluginNoticeComponent: null,
|
|
231
|
+
resourceLockComponent: params.resourceLockComponent
|
|
232
|
+
});
|
|
233
|
+
}
|
|
234
|
+
async function removeCodeBlock(params) {
|
|
235
|
+
await replaceCodeBlock({
|
|
236
|
+
...params,
|
|
237
|
+
codeBlockProvider: "",
|
|
238
|
+
shouldKeepGapWhenEmpty: params.shouldKeepGap ?? false
|
|
239
|
+
});
|
|
240
|
+
}
|
|
241
|
+
async function replaceCodeBlock(params) {
|
|
242
|
+
const { app, codeBlockProvider, context } = params;
|
|
243
|
+
params.abortSignal?.throwIfAborted();
|
|
244
|
+
await (0, import_vault.process)({
|
|
245
|
+
app,
|
|
246
|
+
async newContentProvider({ abortSignal, content }) {
|
|
247
|
+
abortSignal = (0, import_abort_controller.abortSignalAny)(abortSignal, params.abortSignal);
|
|
248
|
+
abortSignal.throwIfAborted();
|
|
249
|
+
const markdownInfo = await getCodeBlockMarkdownInfoAfterSave(params);
|
|
250
|
+
if (!markdownInfo) {
|
|
251
|
+
throw new Error("Could not uniquely identify the code block.");
|
|
252
|
+
}
|
|
253
|
+
if (content !== markdownInfo.noteContent) {
|
|
254
|
+
return null;
|
|
255
|
+
}
|
|
256
|
+
let oldCodeBlock = content.slice(markdownInfo.positionInNote.start.offset, markdownInfo.positionInNote.end.offset);
|
|
257
|
+
if (params.shouldPreserveLinePrefix) {
|
|
258
|
+
oldCodeBlock = (0, import_string.unindent)({
|
|
259
|
+
prefix: markdownInfo.linePrefix,
|
|
260
|
+
text: oldCodeBlock
|
|
261
|
+
});
|
|
262
|
+
}
|
|
263
|
+
let newCodeBlock = await (0, import_value_provider.resolveValue)(codeBlockProvider, { abortSignal, content: oldCodeBlock });
|
|
264
|
+
abortSignal.throwIfAborted();
|
|
265
|
+
if ((newCodeBlock || params.shouldKeepGapWhenEmpty) && params.shouldPreserveLinePrefix) {
|
|
266
|
+
newCodeBlock = (0, import_string.indent)({
|
|
267
|
+
prefix: markdownInfo.linePrefix,
|
|
268
|
+
text: newCodeBlock
|
|
269
|
+
});
|
|
270
|
+
}
|
|
271
|
+
const textBeforeCodeBlock = content.slice(0, markdownInfo.positionInNote.start.offset);
|
|
272
|
+
const textAfterCodeBlock = content.slice(markdownInfo.positionInNote.end.offset);
|
|
273
|
+
if (newCodeBlock || params.shouldKeepGapWhenEmpty) {
|
|
274
|
+
return `${textBeforeCodeBlock}${newCodeBlock}${textAfterCodeBlock}`;
|
|
275
|
+
}
|
|
276
|
+
if (!textBeforeCodeBlock && !textAfterCodeBlock) {
|
|
277
|
+
return "";
|
|
278
|
+
}
|
|
279
|
+
return textBeforeCodeBlock ? `${textBeforeCodeBlock.slice(0, -1)}${textAfterCodeBlock}` : `${textBeforeCodeBlock}${textAfterCodeBlock.slice(1)}`;
|
|
280
|
+
},
|
|
281
|
+
pathOrFile: context.sourcePath,
|
|
282
|
+
pluginNoticeComponent: null,
|
|
283
|
+
resourceLockComponent: params.resourceLockComponent
|
|
284
|
+
});
|
|
285
|
+
}
|
|
286
|
+
function createMarkdownInfoFromMatch(params) {
|
|
287
|
+
const {
|
|
288
|
+
approximateSectionInfo,
|
|
289
|
+
linesBeforeSectionCount,
|
|
290
|
+
match,
|
|
291
|
+
noteContent,
|
|
292
|
+
potentialCodeBlockText,
|
|
293
|
+
sourceLinesCount,
|
|
294
|
+
textLineOffsets
|
|
295
|
+
} = params;
|
|
296
|
+
const linePrefix = (0, import_reg_exp.getMandatoryNamedGroup)(match, "LinePrefix");
|
|
297
|
+
const codeBlockStartDelimiter = (0, import_reg_exp.getMandatoryNamedGroup)(match, "CodeBlockStartDelimiter");
|
|
298
|
+
const codeBlockEndDelimiter = (0, import_reg_exp.getMandatoryNamedGroup)(match, "CodeBlockEndDelimiter");
|
|
299
|
+
const codeBlockArgumentsString = (0, import_reg_exp.getOptionalNamedGroup)(match, "CodeBlockArgs") ?? "";
|
|
300
|
+
const language = (0, import_reg_exp.getMandatoryNamedGroup)(match, "CodeBlockLanguage");
|
|
301
|
+
const previousText = potentialCodeBlockText.slice(0, match.index);
|
|
302
|
+
const previousTextLinesCount = previousText.split("\n").length - 1;
|
|
303
|
+
const startLine = linesBeforeSectionCount + previousTextLinesCount;
|
|
304
|
+
const endLine = startLine + sourceLinesCount + 1;
|
|
305
|
+
return {
|
|
306
|
+
$arguments: codeBlockArgumentsString.split(/\s+/).filter(Boolean),
|
|
307
|
+
endDelimiter: codeBlockEndDelimiter,
|
|
308
|
+
language,
|
|
309
|
+
linePrefix,
|
|
310
|
+
noteContent,
|
|
311
|
+
positionInNote: {
|
|
312
|
+
end: {
|
|
313
|
+
col: (textLineOffsets.get(endLine + 1) ?? 0) - (textLineOffsets.get(endLine) ?? 0) - 1,
|
|
314
|
+
line: endLine,
|
|
315
|
+
offset: (textLineOffsets.get(endLine + 1) ?? 0) - 1
|
|
316
|
+
},
|
|
317
|
+
start: {
|
|
318
|
+
col: 0,
|
|
319
|
+
line: startLine,
|
|
320
|
+
offset: textLineOffsets.get(startLine) ?? 0
|
|
321
|
+
}
|
|
322
|
+
},
|
|
323
|
+
rawArgumentsString: codeBlockArgumentsString,
|
|
324
|
+
sectionInfo: {
|
|
325
|
+
lineEnd: previousTextLinesCount + sourceLinesCount + 1,
|
|
326
|
+
lineStart: previousTextLinesCount,
|
|
327
|
+
text: approximateSectionInfo.text
|
|
328
|
+
},
|
|
329
|
+
startDelimiter: codeBlockStartDelimiter
|
|
330
|
+
};
|
|
331
|
+
}
|
|
332
|
+
function findCodeBlockMarkdownInfo(params) {
|
|
333
|
+
const { el, noteContent, source } = params;
|
|
334
|
+
const noteContentLf = (0, import_string.ensureLfEndings)(noteContent);
|
|
335
|
+
const approximateSectionInfo = {
|
|
336
|
+
lineEnd: noteContentLf.split("\n").length - 1,
|
|
337
|
+
lineStart: 0,
|
|
338
|
+
text: noteContentLf
|
|
339
|
+
};
|
|
340
|
+
approximateSectionInfo.text = (0, import_string.ensureLfEndings)(approximateSectionInfo.text);
|
|
341
|
+
if (!(0, import_string.hasSingleOccurrence)({
|
|
342
|
+
$string: noteContentLf,
|
|
343
|
+
searchValue: approximateSectionInfo.text
|
|
344
|
+
})) {
|
|
345
|
+
return null;
|
|
346
|
+
}
|
|
347
|
+
const sourceLf = (0, import_string.ensureLfEndings)(source);
|
|
348
|
+
const sectionOffset = noteContentLf.indexOf(approximateSectionInfo.text);
|
|
349
|
+
const linesBeforeSectionCount = noteContentLf.slice(0, sectionOffset).split("\n").length - 1;
|
|
350
|
+
const isInCallout = !!el.parentElement?.classList.contains("callout-content");
|
|
351
|
+
const language = getLanguageFromElement(el);
|
|
352
|
+
const sourceLines = sourceLf.split("\n");
|
|
353
|
+
const textLines = approximateSectionInfo.text.split("\n");
|
|
354
|
+
const textLineOffsets = /* @__PURE__ */ new Map([[linesBeforeSectionCount, sectionOffset]]);
|
|
355
|
+
let lastTextLineOffset = sectionOffset;
|
|
356
|
+
for (const [index, textLine_] of textLines.entries()) {
|
|
357
|
+
const textLine = textLine_;
|
|
358
|
+
const lineOffset = lastTextLineOffset + textLine.length + 1;
|
|
359
|
+
textLineOffsets.set(linesBeforeSectionCount + index + 1, lineOffset);
|
|
360
|
+
lastTextLineOffset = lineOffset;
|
|
361
|
+
}
|
|
362
|
+
const potentialCodeBlockTextLines = textLines.map((line, index) => approximateSectionInfo.lineStart <= index && index <= approximateSectionInfo.lineEnd ? line : "");
|
|
363
|
+
const potentialCodeBlockText = potentialCodeBlockTextLines.join("\n");
|
|
364
|
+
const REG_EXP = (0, import_code_block_reg_exp.createCodeBlockRegExp)();
|
|
365
|
+
let markdownInfo = null;
|
|
366
|
+
for (const match of potentialCodeBlockText.matchAll(REG_EXP)) {
|
|
367
|
+
if (!isSuitableCodeBlock({ isInCallout, language, match, sourceLf })) {
|
|
368
|
+
continue;
|
|
369
|
+
}
|
|
370
|
+
if (markdownInfo) {
|
|
371
|
+
return null;
|
|
372
|
+
}
|
|
373
|
+
markdownInfo = createMarkdownInfoFromMatch({
|
|
374
|
+
approximateSectionInfo,
|
|
375
|
+
linesBeforeSectionCount,
|
|
376
|
+
match,
|
|
377
|
+
noteContent,
|
|
378
|
+
potentialCodeBlockText,
|
|
379
|
+
sourceLinesCount: sourceLines.length,
|
|
380
|
+
textLineOffsets
|
|
381
|
+
});
|
|
382
|
+
}
|
|
383
|
+
if (!markdownInfo || noteContentLf === noteContent) {
|
|
384
|
+
return markdownInfo;
|
|
385
|
+
}
|
|
386
|
+
const lfOffsetMapper = (0, import_string.getLfNormalizedOffsetToOriginalOffsetMapper)(noteContent);
|
|
387
|
+
markdownInfo.positionInNote.start.offset = lfOffsetMapper(markdownInfo.positionInNote.start.offset);
|
|
388
|
+
markdownInfo.positionInNote.end.offset = lfOffsetMapper(markdownInfo.positionInNote.end.offset);
|
|
389
|
+
return markdownInfo;
|
|
390
|
+
}
|
|
391
|
+
async function getCodeBlockMarkdownInfoAfterSave(params) {
|
|
392
|
+
const { app, context, el, source } = params;
|
|
393
|
+
const sourceFile = (0, import_file_system.getFileOrNull)({ app, pathOrFile: context.sourcePath });
|
|
394
|
+
(0, import_type_guards.assertNonNullable)(sourceFile, `Source file ${context.sourcePath} not found.`);
|
|
395
|
+
await (0, import_async.requestAnimationFrameAsync)();
|
|
396
|
+
await (0, import_vault.saveNote)(app, sourceFile);
|
|
397
|
+
let markdownInfo = null;
|
|
398
|
+
await (0, import_vault.invokeWithFileSystemLock)({
|
|
399
|
+
$function(noteContent) {
|
|
400
|
+
markdownInfo = findCodeBlockMarkdownInfo({ el, noteContent, source });
|
|
401
|
+
},
|
|
402
|
+
app,
|
|
403
|
+
pathOrFile: sourceFile
|
|
404
|
+
});
|
|
405
|
+
return markdownInfo;
|
|
406
|
+
}
|
|
407
|
+
function getLanguageFromElement(element) {
|
|
408
|
+
const BLOCK_LANGUAGE_PREFIX = "block-language-";
|
|
409
|
+
return [...element.classList].find((cls) => cls.startsWith(BLOCK_LANGUAGE_PREFIX))?.slice(BLOCK_LANGUAGE_PREFIX.length) ?? "";
|
|
410
|
+
}
|
|
411
|
+
function getOpenMarkdownViewData(app, file) {
|
|
412
|
+
for (const leaf of app.workspace.getLeavesOfType(import_implementations.ViewType.Markdown)) {
|
|
413
|
+
if (leaf.view instanceof import_obsidian.MarkdownView && leaf.view.file?.path === file.path) {
|
|
414
|
+
return leaf.view.getViewData();
|
|
415
|
+
}
|
|
416
|
+
}
|
|
417
|
+
return null;
|
|
418
|
+
}
|
|
419
|
+
function insertText(params) {
|
|
420
|
+
const { content, shouldPreserveLinePrefix = false, text } = params;
|
|
421
|
+
let { insertLineIndex } = params;
|
|
422
|
+
const lines = content.split("\n");
|
|
423
|
+
const newLines = [...lines];
|
|
424
|
+
const textLines = text.split("\n");
|
|
425
|
+
if (insertLineIndex < 0) {
|
|
426
|
+
insertLineIndex = 0;
|
|
427
|
+
}
|
|
428
|
+
if (insertLineIndex > lines.length) {
|
|
429
|
+
insertLineIndex = lines.length;
|
|
430
|
+
}
|
|
431
|
+
const PREFIX_LINE_REG_EXP = /^ {0,3}(?:> {1,3})*/g;
|
|
432
|
+
const match = (lines[insertLineIndex] ?? "").match(PREFIX_LINE_REG_EXP);
|
|
433
|
+
const linePrefix = match?.[0] ?? "";
|
|
434
|
+
newLines.splice(
|
|
435
|
+
insertLineIndex,
|
|
436
|
+
0,
|
|
437
|
+
...shouldPreserveLinePrefix ? textLines.map(
|
|
438
|
+
(line) => (0, import_string.indent)({
|
|
439
|
+
prefix: linePrefix,
|
|
440
|
+
text: line
|
|
441
|
+
})
|
|
442
|
+
) : textLines
|
|
443
|
+
);
|
|
444
|
+
return newLines.join("\n");
|
|
445
|
+
}
|
|
446
|
+
function isSuitableCodeBlock(params) {
|
|
447
|
+
const { isInCallout, language, match, sourceLf } = params;
|
|
448
|
+
const codeBlockLanguage = (0, import_reg_exp.getMandatoryNamedGroup)(match, "CodeBlockLanguage");
|
|
449
|
+
if (codeBlockLanguage !== language) {
|
|
450
|
+
return false;
|
|
451
|
+
}
|
|
452
|
+
const linePrefix = (0, import_reg_exp.getMandatoryNamedGroup)(match, "LinePrefix");
|
|
453
|
+
if (isInCallout && !linePrefix.includes("> ")) {
|
|
454
|
+
return false;
|
|
455
|
+
}
|
|
456
|
+
const codeBlockContent = (0, import_reg_exp.getOptionalNamedGroup)(match, "CodeBlockContent") ?? "";
|
|
457
|
+
const cleanCodeBlockContent = codeBlockContent.split("\n").map((line) => line.slice(linePrefix.length)).join("\n");
|
|
458
|
+
return cleanCodeBlockContent === sourceLf;
|
|
459
|
+
}
|
|
460
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
461
|
+
0 && (module.exports = {
|
|
462
|
+
getCodeBlockMarkdownInfo,
|
|
463
|
+
insertAfterCodeBlock,
|
|
464
|
+
insertBeforeCodeBlock,
|
|
465
|
+
removeCodeBlock,
|
|
466
|
+
replaceCodeBlock
|
|
467
|
+
});
|
|
468
|
+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL21hcmtkb3duLWNvZGUtYmxvY2stcHJvY2Vzc29yLnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyIvKipcbiAqIEBmaWxlXG4gKlxuICogVGhpcyBtb2R1bGUgcHJvdmlkZXMgdXRpbGl0eSBmdW5jdGlvbnMgZm9yIHByb2Nlc3NpbmcgY29kZSBibG9ja3MgaW4gT2JzaWRpYW4uXG4gKi9cblxuLyogdjggaWdub3JlIHN0YXJ0IC0tIERlZXBseSBjb3VwbGVkIHRvIE9ic2lkaWFuIHJ1bnRpbWU7IHJlcXVpcmVzIHJ1bm5pbmcgdmF1bHQgZm9yIG1lYW5pbmdmdWwgdGVzdGluZy4gKi9cblxuaW1wb3J0IHR5cGUgeyBWYWx1ZVByb3ZpZGVyIH0gZnJvbSAnQG1uYW91bW92L3R5cGVzY3JpcHQtbGliL3ZhbHVlLXByb3ZpZGVyJztcbmltcG9ydCB0eXBlIHtcbiAgQXBwLFxuICBNYXJrZG93blBvc3RQcm9jZXNzb3JDb250ZXh0LFxuICBNYXJrZG93blNlY3Rpb25JbmZvcm1hdGlvbixcbiAgVEZpbGVcbn0gZnJvbSAnb2JzaWRpYW4nO1xuXG5pbXBvcnQgeyBhYm9ydFNpZ25hbEFueSB9IGZyb20gJ0BtbmFvdW1vdi90eXBlc2NyaXB0LWxpYi9hYm9ydC1jb250cm9sbGVyJztcbmltcG9ydCB7IHJlcXVlc3RBbmltYXRpb25GcmFtZUFzeW5jIH0gZnJvbSAnQG1uYW91bW92L3R5cGVzY3JpcHQtbGliL2FzeW5jJztcbmltcG9ydCB7IG5vcm1hbGl6ZU9wdGlvbmFsUHJvcGVydGllcyB9IGZyb20gJ0BtbmFvdW1vdi90eXBlc2NyaXB0LWxpYi9vYmplY3QtdXRpbHMnO1xuaW1wb3J0IHtcbiAgZ2V0TWFuZGF0b3J5TmFtZWRHcm91cCxcbiAgZ2V0T3B0aW9uYWxOYW1lZEdyb3VwXG59IGZyb20gJ0BtbmFvdW1vdi90eXBlc2NyaXB0LWxpYi9yZWctZXhwJztcbmltcG9ydCB7XG4gIGVuc3VyZUxmRW5kaW5ncyxcbiAgZ2V0TGZOb3JtYWxpemVkT2Zmc2V0VG9PcmlnaW5hbE9mZnNldE1hcHBlcixcbiAgaGFzU2luZ2xlT2NjdXJyZW5jZSxcbiAgaW5kZW50LFxuICB1bmluZGVudFxufSBmcm9tICdAbW5hb3Vtb3YvdHlwZXNjcmlwdC1saWIvc3RyaW5nJztcbmltcG9ydCB7IGFzc2VydE5vbk51bGxhYmxlIH0gZnJvbSAnQG1uYW91bW92L3R5cGVzY3JpcHQtbGliL3R5cGUtZ3VhcmRzJztcbmltcG9ydCB7IHJlc29sdmVWYWx1ZSB9IGZyb20gJ0BtbmFvdW1vdi90eXBlc2NyaXB0LWxpYi92YWx1ZS1wcm92aWRlcic7XG5pbXBvcnQgeyBWaWV3VHlwZSB9IGZyb20gJ0BvYnNpZGlhbi10eXBpbmdzL29ic2lkaWFuLXB1YmxpYy1sYXRlc3QvaW1wbGVtZW50YXRpb25zJztcbmltcG9ydCB7IE1hcmtkb3duVmlldyB9IGZyb20gJ29ic2lkaWFuJztcblxuaW1wb3J0IHR5cGUgeyBDb2RlQmxvY2tNYXJrZG93bkluZm9ybWF0aW9uIH0gZnJvbSAnLi9jb2RlLWJsb2NrLW1hcmtkb3duLWluZm9ybWF0aW9uLnRzJztcbmltcG9ydCB0eXBlIHsgUmVzb3VyY2VMb2NrQ29tcG9uZW50IH0gZnJvbSAnLi9yZXNvdXJjZS1sb2NrLnRzJztcbmltcG9ydCB0eXBlIHsgQ29udGVudEFyZ3VtZW50cyB9IGZyb20gJy4vdmF1bHQudHMnO1xuXG5pbXBvcnQgeyBjcmVhdGVDb2RlQmxvY2tSZWdFeHAgfSBmcm9tICcuL2NvZGUtYmxvY2stcmVnLWV4cC50cyc7XG5pbXBvcnQgeyBnZXRGaWxlT3JOdWxsIH0gZnJvbSAnLi9maWxlLXN5c3RlbS50cyc7XG5pbXBvcnQge1xuICBpbnZva2VXaXRoRmlsZVN5c3RlbUxvY2ssXG4gIHByb2Nlc3MsXG4gIHNhdmVOb3RlXG59IGZyb20gJy4vdmF1bHQudHMnO1xuXG4vKipcbiAqIE9wdGlvbnMgZm9yIHtAbGluayBnZXRDb2RlQmxvY2tNYXJrZG93bkluZm99LlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEdldENvZGVCbG9ja01hcmtkb3duSW5mb1BhcmFtcyB7XG4gIC8qKlxuICAgKiBBbiBPYnNpZGlhbiBhcHAgaW5zdGFuY2UuXG4gICAqL1xuICByZWFkb25seSBhcHA6IEFwcDtcblxuICAvKipcbiAgICogQSB7QGxpbmsgTWFya2Rvd25Qb3N0UHJvY2Vzc29yQ29udGV4dH0gb2JqZWN0LlxuICAgKi9cbiAgcmVhZG9ubHkgY29udGV4dDogTWFya2Rvd25Qb3N0UHJvY2Vzc29yQ29udGV4dDtcblxuICAvKipcbiAgICogQSB7QGxpbmsgSFRNTEVsZW1lbnR9IHJlcHJlc2VudGluZyB0aGUgY29kZSBibG9jay5cbiAgICovXG4gIHJlYWRvbmx5IGVsOiBIVE1MRWxlbWVudDtcblxuICAvKipcbiAgICogQSBzb3VyY2Ugb2YgdGhlIGNvZGUgYmxvY2suXG4gICAqL1xuICByZWFkb25seSBzb3VyY2U6IHN0cmluZztcbn1cblxuLyoqXG4gKiBPcHRpb25zIGZvciB7QGxpbmsgaW5zZXJ0QWZ0ZXJDb2RlQmxvY2t9IC8ge0BsaW5rIGluc2VydEJlZm9yZUNvZGVCbG9ja30uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSW5zZXJ0Q29kZUJsb2NrUGFyYW1zIGV4dGVuZHMgR2V0Q29kZUJsb2NrTWFya2Rvd25JbmZvUGFyYW1zIHtcbiAgLyoqXG4gICAqIEEgbnVtYmVyIG9mIGxpbmVzIHRvIG9mZnNldCB0aGUgaW5zZXJ0aW9uIGJ5LlxuICAgKlxuICAgKiBAZGVmYXVsdCBgMGBcbiAgICovXG4gIHJlYWRvbmx5IGxpbmVPZmZzZXQ/OiBudW1iZXI7XG5cbiAgLyoqXG4gICAqIFRoZSByZXNvdXJjZS1sb2NrIGNvbXBvbmVudCB1c2VkIHRvIGxvY2sgdGhlIG5vdGUgd2hpbGUgaXQgaXMgYmVpbmcgbW9kaWZpZWQuXG4gICAqL1xuICByZWFkb25seSByZXNvdXJjZUxvY2tDb21wb25lbnQ6IG51bGwgfCBSZXNvdXJjZUxvY2tDb21wb25lbnQ7XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgdG8gcHJlc2VydmUgdGhlIGxpbmUgcHJlZml4IG9mIHRoZSBjb2RlIGJsb2NrLlxuICAgKlxuICAgKiBAZGVmYXVsdCBgZmFsc2VgXG4gICAqL1xuICByZWFkb25seSBzaG91bGRQcmVzZXJ2ZUxpbmVQcmVmaXg/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBBIHRleHQgdG8gaW5zZXJ0IGFmdGVyIHRoZSBjb2RlIGJsb2NrLlxuICAgKi9cbiAgcmVhZG9ubHkgdGV4dDogc3RyaW5nO1xufVxuXG4vKipcbiAqIE9wdGlvbnMgZm9yIHtAbGluayByZW1vdmVDb2RlQmxvY2t9LlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFJlbW92ZUNvZGVCbG9ja1BhcmFtcyBleHRlbmRzIEdldENvZGVCbG9ja01hcmtkb3duSW5mb1BhcmFtcyB7XG4gIC8qKlxuICAgKiBUaGUgcmVzb3VyY2UtbG9jayBjb21wb25lbnQgdXNlZCB0byBsb2NrIHRoZSBub3RlIHdoaWxlIGl0IGlzIGJlaW5nIG1vZGlmaWVkLlxuICAgKi9cbiAgcmVhZG9ubHkgcmVzb3VyY2VMb2NrQ29tcG9uZW50OiBudWxsIHwgUmVzb3VyY2VMb2NrQ29tcG9uZW50O1xuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRvIGtlZXAgdGhlIGdhcCBhZnRlciByZW1vdmluZyB0aGUgY29kZSBibG9jay5cbiAgICpcbiAgICogQGRlZmF1bHQgYGZhbHNlYFxuICAgKi9cbiAgcmVhZG9ubHkgc2hvdWxkS2VlcEdhcD86IGJvb2xlYW47XG59XG5cbi8qKlxuICogT3B0aW9ucyBmb3Ige0BsaW5rIHJlcGxhY2VDb2RlQmxvY2t9LlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFJlcGxhY2VDb2RlQmxvY2tQYXJhbXMgZXh0ZW5kcyBHZXRDb2RlQmxvY2tNYXJrZG93bkluZm9QYXJhbXMge1xuICAvKipcbiAgICogQW4gYWJvcnQgc2lnbmFsIHRvIGNvbnRyb2wgdGhlIGV4ZWN1dGlvbiBvZiB0aGUgZnVuY3Rpb24uXG4gICAqL1xuICByZWFkb25seSBhYm9ydFNpZ25hbD86IEFib3J0U2lnbmFsO1xuXG4gIC8qKlxuICAgKiBQcm92aWRlcyBhIG5ldyBjb2RlIGJsb2NrLlxuICAgKi9cbiAgcmVhZG9ubHkgY29kZUJsb2NrUHJvdmlkZXI6IFZhbHVlUHJvdmlkZXI8c3RyaW5nLCBDb250ZW50QXJndW1lbnRzPjtcblxuICAvKipcbiAgICogVGhlIHJlc291cmNlLWxvY2sgY29tcG9uZW50IHVzZWQgdG8gbG9jayB0aGUgbm90ZSB3aGlsZSBpdCBpcyBiZWluZyBtb2RpZmllZC5cbiAgICovXG4gIHJlYWRvbmx5IHJlc291cmNlTG9ja0NvbXBvbmVudDogbnVsbCB8IFJlc291cmNlTG9ja0NvbXBvbmVudDtcblxuICAvKipcbiAgICogV2hldGhlciB0byBrZWVwIHRoZSBnYXAgd2hlbiB0aGUgbmV3IGNvZGUgYmxvY2sgaXMgZW1wdHkuXG4gICAqXG4gICAqIEBkZWZhdWx0IGBmYWxzZWBcbiAgICovXG4gIHJlYWRvbmx5IHNob3VsZEtlZXBHYXBXaGVuRW1wdHk/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRvIHByZXNlcnZlIHRoZSBsaW5lIHByZWZpeCBvZiB0aGUgY29kZSBibG9jay5cbiAgICpcbiAgICogQGRlZmF1bHQgYGZhbHNlYFxuICAgKi9cbiAgcmVhZG9ubHkgc2hvdWxkUHJlc2VydmVMaW5lUHJlZml4PzogYm9vbGVhbjtcbn1cblxuaW50ZXJmYWNlIENyZWF0ZU1hcmtkb3duSW5mb0Zyb21NYXRjaFBhcmFtcyB7XG4gIHJlYWRvbmx5IGFwcHJveGltYXRlU2VjdGlvbkluZm86IE1hcmtkb3duU2VjdGlvbkluZm9ybWF0aW9uO1xuICByZWFkb25seSBsaW5lc0JlZm9yZVNlY3Rpb25Db3VudDogbnVtYmVyO1xuICByZWFkb25seSBtYXRjaDogUmVnRXhwTWF0Y2hBcnJheTtcbiAgcmVhZG9ubHkgbm90ZUNvbnRlbnQ6IHN0cmluZztcbiAgcmVhZG9ubHkgcG90ZW50aWFsQ29kZUJsb2NrVGV4dDogc3RyaW5nO1xuICByZWFkb25seSBzb3VyY2VMaW5lc0NvdW50OiBudW1iZXI7XG4gIHJlYWRvbmx5IHRleHRMaW5lT2Zmc2V0czogUmVhZG9ubHlNYXA8bnVtYmVyLCBudW1iZXI+O1xufVxuXG5pbnRlcmZhY2UgRmluZENvZGVCbG9ja01hcmtkb3duSW5mb1BhcmFtcyB7XG4gIC8qKlxuICAgKiBUaGUgZWxlbWVudCB0aGUgY29kZSBibG9jayB3YXMgcmVuZGVyZWQgaW50by5cbiAgICovXG4gIHJlYWRvbmx5IGVsOiBIVE1MRWxlbWVudDtcblxuICAvKipcbiAgICogVGhlIG5vdGUgdGV4dCB0byBsb2NhdGUgdGhlIGNvZGUgYmxvY2sgaW4uXG4gICAqL1xuICByZWFkb25seSBub3RlQ29udGVudDogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgc291cmNlIG9mIHRoZSBjb2RlIGJsb2NrLlxuICAgKi9cbiAgcmVhZG9ubHkgc291cmNlOiBzdHJpbmc7XG59XG5cbmludGVyZmFjZSBJbnNlcnRUZXh0UGFyYW1zIHtcbiAgLyoqXG4gICAqIFRoZSBjb250ZW50IHRvIGluc2VydCB0aGUgdGV4dCBpbnRvLlxuICAgKi9cbiAgcmVhZG9ubHkgY29udGVudDogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgbGluZSBpbmRleCB0byBpbnNlcnQgdGhlIHRleHQgYXQuXG4gICAqL1xuICByZWFkb25seSBpbnNlcnRMaW5lSW5kZXg6IG51bWJlcjtcblxuICAvKipcbiAgICogV2hldGhlciB0byBwcmVzZXJ2ZSB0aGUgbGluZSBwcmVmaXggb2YgdGhlIGxpbmUgYXQgdGhlIGluc2VydGlvbiBwb2ludC5cbiAgICpcbiAgICogQGRlZmF1bHQgYGZhbHNlYFxuICAgKi9cbiAgcmVhZG9ubHkgc2hvdWxkUHJlc2VydmVMaW5lUHJlZml4PzogYm9vbGVhbjtcblxuICAvKipcbiAgICogVGhlIHRleHQgdG8gaW5zZXJ0LlxuICAgKi9cbiAgcmVhZG9ubHkgdGV4dDogc3RyaW5nO1xufVxuXG5pbnRlcmZhY2UgSXNTdWl0YWJsZUNvZGVCbG9ja1BhcmFtcyB7XG4gIC8qKlxuICAgKiBXaGV0aGVyIHRoZSBjb2RlIGJsb2NrIGlzIGluc2lkZSBhIGNhbGxvdXQuXG4gICAqL1xuICByZWFkb25seSBpc0luQ2FsbG91dDogYm9vbGVhbjtcblxuICAvKipcbiAgICogVGhlIGxhbmd1YWdlIHRoZSBjb2RlIGJsb2NrIGlzIGV4cGVjdGVkIHRvIGhhdmUuXG4gICAqL1xuICByZWFkb25seSBsYW5ndWFnZTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgcmVndWxhciBleHByZXNzaW9uIG1hdGNoIG9mIHRoZSBjb2RlIGJsb2NrIGNhbmRpZGF0ZS5cbiAgICovXG4gIHJlYWRvbmx5IG1hdGNoOiBSZWdFeHBNYXRjaEFycmF5O1xuXG4gIC8qKlxuICAgKiBUaGUgTEYtbm9ybWFsaXplZCBzb3VyY2Ugb2YgdGhlIGNvZGUgYmxvY2suXG4gICAqL1xuICByZWFkb25seSBzb3VyY2VMZjogc3RyaW5nO1xufVxuXG4vKipcbiAqIEdldHMgdGhlIGluZm9ybWF0aW9uIGFib3V0IGEgY29kZSBibG9jayBpbiBhIE1hcmtkb3duIHNlY3Rpb24uXG4gKlxuICogVGhpcyBpcyBhIHB1cmUgcmVhZCwgc2FmZSB0byBjYWxsIHdoaWxlIGEgY29kZSBibG9jayByZW5kZXJzLiBJdCBsb2NhdGVzIHRoZSBibG9jayBpbiB0aGUgdGV4dCB0aGVcbiAqIHVzZXIgc2VlczogdGhlIHZpZXcgZGF0YSBvZiBhbiBvcGVuIG1hcmtkb3duIHZpZXcgb2YgdGhlIHNvdXJjZSBub3RlIHdoZW4gdGhlcmUgaXMgb25lLCBiZWNhdXNlXG4gKiBhbiB1bnNhdmVkIGVkaXQgdGhlcmUgaXMgd2hhdCB0aGUgYmxvY2sgd2FzIHJlbmRlcmVkIGZyb20sIGFuZCB0aGUgZmlsZSdzIGNvbnRlbnQgb3RoZXJ3aXNlLiBJdFxuICogbmV2ZXIgc2F2ZXMgdGhlIG5vdGUuXG4gKlxuICogQHBhcmFtIHBhcmFtcyAtIFRoZSBwYXJhbWV0ZXJzIGZvciB0aGUgZnVuY3Rpb24uXG4gKiBAcmV0dXJucyBUaGUgaW5mb3JtYXRpb24gYWJvdXQgdGhlIGNvZGUgYmxvY2sgaW4gdGhlIE1hcmtkb3duIHNlY3Rpb24uXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBnZXRDb2RlQmxvY2tNYXJrZG93bkluZm8ocGFyYW1zOiBHZXRDb2RlQmxvY2tNYXJrZG93bkluZm9QYXJhbXMpOiBQcm9taXNlPENvZGVCbG9ja01hcmtkb3duSW5mb3JtYXRpb24gfCBudWxsPiB7XG4gIGNvbnN0IHsgYXBwLCBjb250ZXh0LCBlbCwgc291cmNlIH0gPSBwYXJhbXM7XG5cbiAgY29uc3Qgc291cmNlRmlsZSA9IGdldEZpbGVPck51bGwoeyBhcHAsIHBhdGhPckZpbGU6IGNvbnRleHQuc291cmNlUGF0aCB9KTtcbiAgYXNzZXJ0Tm9uTnVsbGFibGUoc291cmNlRmlsZSwgYFNvdXJjZSBmaWxlICR7Y29udGV4dC5zb3VyY2VQYXRofSBub3QgZm91bmQuYCk7XG5cbiAgYXdhaXQgcmVxdWVzdEFuaW1hdGlvbkZyYW1lQXN5bmMoKTtcblxuICBjb25zdCBub3RlQ29udGVudCA9IGdldE9wZW5NYXJrZG93blZpZXdEYXRhKGFwcCwgc291cmNlRmlsZSkgPz8gYXdhaXQgYXBwLnZhdWx0LnJlYWQoc291cmNlRmlsZSk7XG4gIHJldHVybiBmaW5kQ29kZUJsb2NrTWFya2Rvd25JbmZvKHsgZWwsIG5vdGVDb250ZW50LCBzb3VyY2UgfSk7XG59XG5cbi8qKlxuICogSW5zZXJ0cyB0ZXh0IGFmdGVyIHRoZSBjb2RlIGJsb2NrLlxuICpcbiAqIEBwYXJhbSBwYXJhbXMgLSBUaGUgcGFyYW1ldGVycyBmb3IgdGhlIGZ1bmN0aW9uLlxuICovXG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgb2JzaWRpYW4tZGV2LXV0aWxzL3BhcmFtcy1vcHRpb25zLW5hbWUtbWF0Y2ggLS0gSW50ZW50aW9uYWxseSBzaGFyZXMgSW5zZXJ0Q29kZUJsb2NrUGFyYW1zIHdpdGggaW5zZXJ0QmVmb3JlQ29kZUJsb2NrLlxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGluc2VydEFmdGVyQ29kZUJsb2NrKHBhcmFtczogSW5zZXJ0Q29kZUJsb2NrUGFyYW1zKTogUHJvbWlzZTx2b2lkPiB7XG4gIGNvbnN0IHsgYXBwLCBjb250ZXh0LCBsaW5lT2Zmc2V0ID0gMCwgdGV4dCB9ID0gcGFyYW1zO1xuXG4gIGF3YWl0IHByb2Nlc3Moe1xuICAgIGFwcCxcbiAgICBhc3luYyBuZXdDb250ZW50UHJvdmlkZXIoeyBjb250ZW50IH0pIHtcbiAgICAgIGNvbnN0IG1hcmtkb3duSW5mbyA9IGF3YWl0IGdldENvZGVCbG9ja01hcmtkb3duSW5mb0FmdGVyU2F2ZShwYXJhbXMpO1xuICAgICAgYXNzZXJ0Tm9uTnVsbGFibGUobWFya2Rvd25JbmZvLCAnQ291bGQgbm90IHVuaXF1ZWx5IGlkZW50aWZ5IHRoZSBjb2RlIGJsb2NrLicpO1xuXG4gICAgICBpZiAoY29udGVudCAhPT0gbWFya2Rvd25JbmZvLm5vdGVDb250ZW50KSB7XG4gICAgICAgIHJldHVybiBudWxsO1xuICAgICAgfVxuXG4gICAgICBjb25zdCBpbnNlcnRMaW5lSW5kZXggPSBtYXJrZG93bkluZm8ucG9zaXRpb25Jbk5vdGUuZW5kLmxpbmUgKyBsaW5lT2Zmc2V0ICsgMTtcbiAgICAgIHJldHVybiBpbnNlcnRUZXh0KG5vcm1hbGl6ZU9wdGlvbmFsUHJvcGVydGllczxJbnNlcnRUZXh0UGFyYW1zPih7XG4gICAgICAgIGNvbnRlbnQsXG4gICAgICAgIGluc2VydExpbmVJbmRleCxcbiAgICAgICAgc2hvdWxkUHJlc2VydmVMaW5lUHJlZml4OiBwYXJhbXMuc2hvdWxkUHJlc2VydmVMaW5lUHJlZml4LFxuICAgICAgICB0ZXh0XG4gICAgICB9KSk7XG4gICAgfSxcbiAgICBwYXRoT3JGaWxlOiBjb250ZXh0LnNvdXJjZVBhdGgsXG4gICAgcGx1Z2luTm90aWNlQ29tcG9uZW50OiBudWxsLFxuICAgIHJlc291cmNlTG9ja0NvbXBvbmVudDogcGFyYW1zLnJlc291cmNlTG9ja0NvbXBvbmVudFxuICB9KTtcbn1cblxuLyoqXG4gKiBJbnNlcnRzIHRleHQgYmVmb3JlIHRoZSBjb2RlIGJsb2NrLlxuICpcbiAqIEBwYXJhbSBwYXJhbXMgLSBUaGUgcGFyYW1ldGVycyBmb3IgdGhlIGZ1bmN0aW9uLlxuICovXG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgb2JzaWRpYW4tZGV2LXV0aWxzL3BhcmFtcy1vcHRpb25zLW5hbWUtbWF0Y2ggLS0gSW50ZW50aW9uYWxseSBzaGFyZXMgSW5zZXJ0Q29kZUJsb2NrUGFyYW1zIHdpdGggaW5zZXJ0QWZ0ZXJDb2RlQmxvY2suXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gaW5zZXJ0QmVmb3JlQ29kZUJsb2NrKHBhcmFtczogSW5zZXJ0Q29kZUJsb2NrUGFyYW1zKTogUHJvbWlzZTx2b2lkPiB7XG4gIGNvbnN0IHsgYXBwLCBjb250ZXh0LCBsaW5lT2Zmc2V0ID0gMCwgdGV4dCB9ID0gcGFyYW1zO1xuXG4gIGF3YWl0IHByb2Nlc3Moe1xuICAgIGFwcCxcbiAgICBhc3luYyBuZXdDb250ZW50UHJvdmlkZXIoeyBjb250ZW50IH0pIHtcbiAgICAgIGNvbnN0IG1hcmtkb3duSW5mbyA9IGF3YWl0IGdldENvZGVCbG9ja01hcmtkb3duSW5mb0FmdGVyU2F2ZShwYXJhbXMpO1xuICAgICAgaWYgKCFtYXJrZG93bkluZm8pIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdDb3VsZCBub3QgdW5pcXVlbHkgaWRlbnRpZnkgdGhlIGNvZGUgYmxvY2suJyk7XG4gICAgICB9XG5cbiAgICAgIGlmIChjb250ZW50ICE9PSBtYXJrZG93bkluZm8ubm90ZUNvbnRlbnQpIHtcbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IGluc2VydExpbmVJbmRleCA9IG1hcmtkb3duSW5mby5wb3NpdGlvbkluTm90ZS5zdGFydC5saW5lIC0gbGluZU9mZnNldDtcbiAgICAgIHJldHVybiBpbnNlcnRUZXh0KG5vcm1hbGl6ZU9wdGlvbmFsUHJvcGVydGllczxJbnNlcnRUZXh0UGFyYW1zPih7XG4gICAgICAgIGNvbnRlbnQsXG4gICAgICAgIGluc2VydExpbmVJbmRleCxcbiAgICAgICAgc2hvdWxkUHJlc2VydmVMaW5lUHJlZml4OiBwYXJhbXMuc2hvdWxkUHJlc2VydmVMaW5lUHJlZml4LFxuICAgICAgICB0ZXh0XG4gICAgICB9KSk7XG4gICAgfSxcbiAgICBwYXRoT3JGaWxlOiBjb250ZXh0LnNvdXJjZVBhdGgsXG4gICAgcGx1Z2luTm90aWNlQ29tcG9uZW50OiBudWxsLFxuICAgIHJlc291cmNlTG9ja0NvbXBvbmVudDogcGFyYW1zLnJlc291cmNlTG9ja0NvbXBvbmVudFxuICB9KTtcbn1cblxuLyoqXG4gKiBSZW1vdmVzIHRoZSBjb2RlIGJsb2NrLlxuICpcbiAqIEBwYXJhbSBwYXJhbXMgLSBUaGUgcGFyYW1ldGVycyBmb3IgdGhlIGZ1bmN0aW9uLlxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gcmVtb3ZlQ29kZUJsb2NrKHBhcmFtczogUmVtb3ZlQ29kZUJsb2NrUGFyYW1zKTogUHJvbWlzZTx2b2lkPiB7XG4gIGF3YWl0IHJlcGxhY2VDb2RlQmxvY2soe1xuICAgIC4uLnBhcmFtcyxcbiAgICBjb2RlQmxvY2tQcm92aWRlcjogJycsXG4gICAgc2hvdWxkS2VlcEdhcFdoZW5FbXB0eTogcGFyYW1zLnNob3VsZEtlZXBHYXAgPz8gZmFsc2VcbiAgfSk7XG59XG5cbi8qKlxuICogUmVwbGFjZXMgdGhlIGNvZGUgYmxvY2suXG4gKlxuICogQHBhcmFtIHBhcmFtcyAtIFRoZSBwYXJhbWV0ZXJzIGZvciB0aGUgZnVuY3Rpb24uXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiByZXBsYWNlQ29kZUJsb2NrKHBhcmFtczogUmVwbGFjZUNvZGVCbG9ja1BhcmFtcyk6IFByb21pc2U8dm9pZD4ge1xuICBjb25zdCB7IGFwcCwgY29kZUJsb2NrUHJvdmlkZXIsIGNvbnRleHQgfSA9IHBhcmFtcztcbiAgcGFyYW1zLmFib3J0U2lnbmFsPy50aHJvd0lmQWJvcnRlZCgpO1xuXG4gIGF3YWl0IHByb2Nlc3Moe1xuICAgIGFwcCxcbiAgICBhc3luYyBuZXdDb250ZW50UHJvdmlkZXIoeyBhYm9ydFNpZ25hbCwgY29udGVudCB9KSB7XG4gICAgICBhYm9ydFNpZ25hbCA9IGFib3J0U2lnbmFsQW55KGFib3J0U2lnbmFsLCBwYXJhbXMuYWJvcnRTaWduYWwpO1xuICAgICAgYWJvcnRTaWduYWwudGhyb3dJZkFib3J0ZWQoKTtcbiAgICAgIGNvbnN0IG1hcmtkb3duSW5mbyA9IGF3YWl0IGdldENvZGVCbG9ja01hcmtkb3duSW5mb0FmdGVyU2F2ZShwYXJhbXMpO1xuICAgICAgaWYgKCFtYXJrZG93bkluZm8pIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdDb3VsZCBub3QgdW5pcXVlbHkgaWRlbnRpZnkgdGhlIGNvZGUgYmxvY2suJyk7XG4gICAgICB9XG5cbiAgICAgIGlmIChjb250ZW50ICE9PSBtYXJrZG93bkluZm8ubm90ZUNvbnRlbnQpIHtcbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICB9XG5cbiAgICAgIGxldCBvbGRDb2RlQmxvY2sgPSBjb250ZW50LnNsaWNlKG1hcmtkb3duSW5mby5wb3NpdGlvbkluTm90ZS5zdGFydC5vZmZzZXQsIG1hcmtkb3duSW5mby5wb3NpdGlvbkluTm90ZS5lbmQub2Zmc2V0KTtcbiAgICAgIGlmIChwYXJhbXMuc2hvdWxkUHJlc2VydmVMaW5lUHJlZml4KSB7XG4gICAgICAgIG9sZENvZGVCbG9jayA9IHVuaW5kZW50KHtcbiAgICAgICAgICBwcmVmaXg6IG1hcmtkb3duSW5mby5saW5lUHJlZml4LFxuICAgICAgICAgIHRleHQ6IG9sZENvZGVCbG9ja1xuICAgICAgICB9KTtcbiAgICAgIH1cblxuICAgICAgbGV0IG5ld0NvZGVCbG9jayA9IGF3YWl0IHJlc29sdmVWYWx1ZShjb2RlQmxvY2tQcm92aWRlciwgeyBhYm9ydFNpZ25hbCwgY29udGVudDogb2xkQ29kZUJsb2NrIH0pO1xuICAgICAgYWJvcnRTaWduYWwudGhyb3dJZkFib3J0ZWQoKTtcbiAgICAgIGlmICgobmV3Q29kZUJsb2NrIHx8IHBhcmFtcy5zaG91bGRLZWVwR2FwV2hlbkVtcHR5KSAmJiBwYXJhbXMuc2hvdWxkUHJlc2VydmVMaW5lUHJlZml4KSB7XG4gICAgICAgIG5ld0NvZGVCbG9jayA9IGluZGVudCh7XG4gICAgICAgICAgcHJlZml4OiBtYXJrZG93bkluZm8ubGluZVByZWZpeCxcbiAgICAgICAgICB0ZXh0OiBuZXdDb2RlQmxvY2tcbiAgICAgICAgfSk7XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IHRleHRCZWZvcmVDb2RlQmxvY2sgPSBjb250ZW50LnNsaWNlKDAsIG1hcmtkb3duSW5mby5wb3NpdGlvbkluTm90ZS5zdGFydC5vZmZzZXQpO1xuICAgICAgY29uc3QgdGV4dEFmdGVyQ29kZUJsb2NrID0gY29udGVudC5zbGljZShtYXJrZG93bkluZm8ucG9zaXRpb25Jbk5vdGUuZW5kLm9mZnNldCk7XG5cbiAgICAgIGlmIChuZXdDb2RlQmxvY2sgfHwgcGFyYW1zLnNob3VsZEtlZXBHYXBXaGVuRW1wdHkpIHtcbiAgICAgICAgcmV0dXJuIGAke3RleHRCZWZvcmVDb2RlQmxvY2t9JHtuZXdDb2RlQmxvY2t9JHt0ZXh0QWZ0ZXJDb2RlQmxvY2t9YDtcbiAgICAgIH1cblxuICAgICAgaWYgKCF0ZXh0QmVmb3JlQ29kZUJsb2NrICYmICF0ZXh0QWZ0ZXJDb2RlQmxvY2spIHtcbiAgICAgICAgcmV0dXJuICcnO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gdGV4dEJlZm9yZUNvZGVCbG9jayA/IGAke3RleHRCZWZvcmVDb2RlQmxvY2suc2xpY2UoMCwgLTEpfSR7dGV4dEFmdGVyQ29kZUJsb2NrfWAgOiBgJHt0ZXh0QmVmb3JlQ29kZUJsb2NrfSR7dGV4dEFmdGVyQ29kZUJsb2NrLnNsaWNlKDEpfWA7XG4gICAgfSxcbiAgICBwYXRoT3JGaWxlOiBjb250ZXh0LnNvdXJjZVBhdGgsXG4gICAgcGx1Z2luTm90aWNlQ29tcG9uZW50OiBudWxsLFxuICAgIHJlc291cmNlTG9ja0NvbXBvbmVudDogcGFyYW1zLnJlc291cmNlTG9ja0NvbXBvbmVudFxuICB9KTtcbn1cblxuZnVuY3Rpb24gY3JlYXRlTWFya2Rvd25JbmZvRnJvbU1hdGNoKHBhcmFtczogQ3JlYXRlTWFya2Rvd25JbmZvRnJvbU1hdGNoUGFyYW1zKTogQ29kZUJsb2NrTWFya2Rvd25JbmZvcm1hdGlvbiB7XG4gIGNvbnN0IHtcbiAgICBhcHByb3hpbWF0ZVNlY3Rpb25JbmZvLFxuICAgIGxpbmVzQmVmb3JlU2VjdGlvbkNvdW50LFxuICAgIG1hdGNoLFxuICAgIG5vdGVDb250ZW50LFxuICAgIHBvdGVudGlhbENvZGVCbG9ja1RleHQsXG4gICAgc291cmNlTGluZXNDb3VudCxcbiAgICB0ZXh0TGluZU9mZnNldHNcbiAgfSA9IHBhcmFtcztcblxuICBjb25zdCBsaW5lUHJlZml4ID0gZ2V0TWFuZGF0b3J5TmFtZWRHcm91cChtYXRjaCwgJ0xpbmVQcmVmaXgnKTtcbiAgY29uc3QgY29kZUJsb2NrU3RhcnREZWxpbWl0ZXIgPSBnZXRNYW5kYXRvcnlOYW1lZEdyb3VwKG1hdGNoLCAnQ29kZUJsb2NrU3RhcnREZWxpbWl0ZXInKTtcbiAgY29uc3QgY29kZUJsb2NrRW5kRGVsaW1pdGVyID0gZ2V0TWFuZGF0b3J5TmFtZWRHcm91cChtYXRjaCwgJ0NvZGVCbG9ja0VuZERlbGltaXRlcicpO1xuICBjb25zdCBjb2RlQmxvY2tBcmd1bWVudHNTdHJpbmcgPSBnZXRPcHRpb25hbE5hbWVkR3JvdXAobWF0Y2gsICdDb2RlQmxvY2tBcmdzJykgPz8gJyc7XG4gIGNvbnN0IGxhbmd1YWdlID0gZ2V0TWFuZGF0b3J5TmFtZWRHcm91cChtYXRjaCwgJ0NvZGVCbG9ja0xhbmd1YWdlJyk7XG5cbiAgY29uc3QgcHJldmlvdXNUZXh0ID0gcG90ZW50aWFsQ29kZUJsb2NrVGV4dC5zbGljZSgwLCBtYXRjaC5pbmRleCk7XG4gIGNvbnN0IHByZXZpb3VzVGV4dExpbmVzQ291bnQgPSBwcmV2aW91c1RleHQuc3BsaXQoJ1xcbicpLmxlbmd0aCAtIDE7XG5cbiAgY29uc3Qgc3RhcnRMaW5lID0gbGluZXNCZWZvcmVTZWN0aW9uQ291bnQgKyBwcmV2aW91c1RleHRMaW5lc0NvdW50O1xuICBjb25zdCBlbmRMaW5lID0gc3RhcnRMaW5lICsgc291cmNlTGluZXNDb3VudCArIDE7XG5cbiAgcmV0dXJuIHtcbiAgICAkYXJndW1lbnRzOiBjb2RlQmxvY2tBcmd1bWVudHNTdHJpbmcuc3BsaXQoL1xccysvKS5maWx0ZXIoQm9vbGVhbiksXG4gICAgZW5kRGVsaW1pdGVyOiBjb2RlQmxvY2tFbmREZWxpbWl0ZXIsXG4gICAgbGFuZ3VhZ2UsXG4gICAgbGluZVByZWZpeCxcbiAgICBub3RlQ29udGVudCxcbiAgICBwb3NpdGlvbkluTm90ZToge1xuICAgICAgZW5kOiB7XG4gICAgICAgIGNvbDogKHRleHRMaW5lT2Zmc2V0cy5nZXQoZW5kTGluZSArIDEpID8/IDApIC0gKHRleHRMaW5lT2Zmc2V0cy5nZXQoZW5kTGluZSkgPz8gMCkgLSAxLFxuICAgICAgICBsaW5lOiBlbmRMaW5lLFxuICAgICAgICBvZmZzZXQ6ICh0ZXh0TGluZU9mZnNldHMuZ2V0KGVuZExpbmUgKyAxKSA/PyAwKSAtIDFcbiAgICAgIH0sXG4gICAgICBzdGFydDoge1xuICAgICAgICBjb2w6IDAsXG4gICAgICAgIGxpbmU6IHN0YXJ0TGluZSxcbiAgICAgICAgb2Zmc2V0OiB0ZXh0TGluZU9mZnNldHMuZ2V0KHN0YXJ0TGluZSkgPz8gMFxuICAgICAgfVxuICAgIH0sXG4gICAgcmF3QXJndW1lbnRzU3RyaW5nOiBjb2RlQmxvY2tBcmd1bWVudHNTdHJpbmcsXG4gICAgc2VjdGlvbkluZm86IHtcbiAgICAgIGxpbmVFbmQ6IHByZXZpb3VzVGV4dExpbmVzQ291bnQgKyBzb3VyY2VMaW5lc0NvdW50ICsgMSxcbiAgICAgIGxpbmVTdGFydDogcHJldmlvdXNUZXh0TGluZXNDb3VudCxcbiAgICAgIHRleHQ6IGFwcHJveGltYXRlU2VjdGlvbkluZm8udGV4dFxuICAgIH0sXG4gICAgc3RhcnREZWxpbWl0ZXI6IGNvZGVCbG9ja1N0YXJ0RGVsaW1pdGVyXG4gIH07XG59XG5cbmZ1bmN0aW9uIGZpbmRDb2RlQmxvY2tNYXJrZG93bkluZm8ocGFyYW1zOiBGaW5kQ29kZUJsb2NrTWFya2Rvd25JbmZvUGFyYW1zKTogQ29kZUJsb2NrTWFya2Rvd25JbmZvcm1hdGlvbiB8IG51bGwge1xuICBjb25zdCB7IGVsLCBub3RlQ29udGVudCwgc291cmNlIH0gPSBwYXJhbXM7XG4gIGNvbnN0IG5vdGVDb250ZW50TGYgPSBlbnN1cmVMZkVuZGluZ3Mobm90ZUNvbnRlbnQpO1xuXG4gIGNvbnN0IGFwcHJveGltYXRlU2VjdGlvbkluZm86IE1hcmtkb3duU2VjdGlvbkluZm9ybWF0aW9uID0ge1xuICAgIGxpbmVFbmQ6IG5vdGVDb250ZW50TGYuc3BsaXQoJ1xcbicpLmxlbmd0aCAtIDEsXG4gICAgbGluZVN0YXJ0OiAwLFxuICAgIHRleHQ6IG5vdGVDb250ZW50TGZcbiAgfTtcblxuICBhcHByb3hpbWF0ZVNlY3Rpb25JbmZvLnRleHQgPSBlbnN1cmVMZkVuZGluZ3MoYXBwcm94aW1hdGVTZWN0aW9uSW5mby50ZXh0KTtcblxuICBpZiAoXG4gICAgIWhhc1NpbmdsZU9jY3VycmVuY2Uoe1xuICAgICAgJHN0cmluZzogbm90ZUNvbnRlbnRMZixcbiAgICAgIHNlYXJjaFZhbHVlOiBhcHByb3hpbWF0ZVNlY3Rpb25JbmZvLnRleHRcbiAgICB9KVxuICApIHtcbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIGNvbnN0IHNvdXJjZUxmID0gZW5zdXJlTGZFbmRpbmdzKHNvdXJjZSk7XG5cbiAgY29uc3Qgc2VjdGlvbk9mZnNldCA9IG5vdGVDb250ZW50TGYuaW5kZXhPZihhcHByb3hpbWF0ZVNlY3Rpb25JbmZvLnRleHQpO1xuICBjb25zdCBsaW5lc0JlZm9yZVNlY3Rpb25Db3VudCA9IG5vdGVDb250ZW50TGYuc2xpY2UoMCwgc2VjdGlvbk9mZnNldCkuc3BsaXQoJ1xcbicpLmxlbmd0aCAtIDE7XG5cbiAgY29uc3QgaXNJbkNhbGxvdXQgPSAhIWVsLnBhcmVudEVsZW1lbnQ/LmNsYXNzTGlzdC5jb250YWlucygnY2FsbG91dC1jb250ZW50Jyk7XG5cbiAgY29uc3QgbGFuZ3VhZ2UgPSBnZXRMYW5ndWFnZUZyb21FbGVtZW50KGVsKTtcbiAgY29uc3Qgc291cmNlTGluZXMgPSBzb3VyY2VMZi5zcGxpdCgnXFxuJyk7XG5cbiAgY29uc3QgdGV4dExpbmVzID0gYXBwcm94aW1hdGVTZWN0aW9uSW5mby50ZXh0LnNwbGl0KCdcXG4nKTtcbiAgY29uc3QgdGV4dExpbmVPZmZzZXRzID0gbmV3IE1hcDxudW1iZXIsIG51bWJlcj4oW1tsaW5lc0JlZm9yZVNlY3Rpb25Db3VudCwgc2VjdGlvbk9mZnNldF1dKTtcblxuICBsZXQgbGFzdFRleHRMaW5lT2Zmc2V0ID0gc2VjdGlvbk9mZnNldDtcbiAgZm9yIChjb25zdCBbaW5kZXgsIHRleHRMaW5lX10gb2YgdGV4dExpbmVzLmVudHJpZXMoKSkge1xuICAgIGNvbnN0IHRleHRMaW5lID0gdGV4dExpbmVfO1xuICAgIGNvbnN0IGxpbmVPZmZzZXQgPSBsYXN0VGV4dExpbmVPZmZzZXQgKyB0ZXh0TGluZS5sZW5ndGggKyAxO1xuICAgIHRleHRMaW5lT2Zmc2V0cy5zZXQobGluZXNCZWZvcmVTZWN0aW9uQ291bnQgKyBpbmRleCArIDEsIGxpbmVPZmZzZXQpO1xuICAgIGxhc3RUZXh0TGluZU9mZnNldCA9IGxpbmVPZmZzZXQ7XG4gIH1cblxuICBjb25zdCBwb3RlbnRpYWxDb2RlQmxvY2tUZXh0TGluZXMgPSB0ZXh0TGluZXMubWFwKChsaW5lLCBpbmRleCkgPT4gYXBwcm94aW1hdGVTZWN0aW9uSW5mby5saW5lU3RhcnQgPD0gaW5kZXggJiYgaW5kZXggPD0gYXBwcm94aW1hdGVTZWN0aW9uSW5mby5saW5lRW5kID8gbGluZSA6ICcnKTtcbiAgY29uc3QgcG90ZW50aWFsQ29kZUJsb2NrVGV4dCA9IHBvdGVudGlhbENvZGVCbG9ja1RleHRMaW5lcy5qb2luKCdcXG4nKTtcblxuICBjb25zdCBSRUdfRVhQID0gY3JlYXRlQ29kZUJsb2NrUmVnRXhwKCk7XG5cbiAgbGV0IG1hcmtkb3duSW5mbzogQ29kZUJsb2NrTWFya2Rvd25JbmZvcm1hdGlvbiB8IG51bGwgPSBudWxsO1xuXG4gIGZvciAoY29uc3QgbWF0Y2ggb2YgcG90ZW50aWFsQ29kZUJsb2NrVGV4dC5tYXRjaEFsbChSRUdfRVhQKSkge1xuICAgIGlmICghaXNTdWl0YWJsZUNvZGVCbG9jayh7IGlzSW5DYWxsb3V0LCBsYW5ndWFnZSwgbWF0Y2gsIHNvdXJjZUxmIH0pKSB7XG4gICAgICBjb250aW51ZTtcbiAgICB9XG5cbiAgICBpZiAobWFya2Rvd25JbmZvKSB7XG4gICAgICAvLyBBIHNlY29uZCBpZGVudGljYWwgYmxvY2s6IHRoZSBlbGVtZW50IGNhbm5vdCBzYXkgd2hpY2ggb25lIGl0IHdhcyByZW5kZXJlZCBmcm9tLlxuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuXG4gICAgbWFya2Rvd25JbmZvID0gY3JlYXRlTWFya2Rvd25JbmZvRnJvbU1hdGNoKHtcbiAgICAgIGFwcHJveGltYXRlU2VjdGlvbkluZm8sXG4gICAgICBsaW5lc0JlZm9yZVNlY3Rpb25Db3VudCxcbiAgICAgIG1hdGNoLFxuICAgICAgbm90ZUNvbnRlbnQsXG4gICAgICBwb3RlbnRpYWxDb2RlQmxvY2tUZXh0LFxuICAgICAgc291cmNlTGluZXNDb3VudDogc291cmNlTGluZXMubGVuZ3RoLFxuICAgICAgdGV4dExpbmVPZmZzZXRzXG4gICAgfSk7XG4gIH1cblxuICBpZiAoIW1hcmtkb3duSW5mbyB8fCAobm90ZUNvbnRlbnRMZiA9PT0gbm90ZUNvbnRlbnQpKSB7XG4gICAgcmV0dXJuIG1hcmtkb3duSW5mbztcbiAgfVxuXG4gIGNvbnN0IGxmT2Zmc2V0TWFwcGVyID0gZ2V0TGZOb3JtYWxpemVkT2Zmc2V0VG9PcmlnaW5hbE9mZnNldE1hcHBlcihub3RlQ29udGVudCk7XG4gIG1hcmtkb3duSW5mby5wb3NpdGlvbkluTm90ZS5zdGFydC5vZmZzZXQgPSBsZk9mZnNldE1hcHBlcihtYXJrZG93bkluZm8ucG9zaXRpb25Jbk5vdGUuc3RhcnQub2Zmc2V0KTtcbiAgbWFya2Rvd25JbmZvLnBvc2l0aW9uSW5Ob3RlLmVuZC5vZmZzZXQgPSBsZk9mZnNldE1hcHBlcihtYXJrZG93bkluZm8ucG9zaXRpb25Jbk5vdGUuZW5kLm9mZnNldCk7XG4gIHJldHVybiBtYXJrZG93bkluZm87XG59XG5cbi8qKlxuICogVGhlIGZsdXNoaW5nIGNvdW50ZXJwYXJ0IG9mIHtAbGluayBnZXRDb2RlQmxvY2tNYXJrZG93bkluZm99LCBmb3IgdGhlIHdyaXRlIGhlbHBlcnMgb25seS5cbiAqXG4gKiBJdCBzYXZlcyB0aGUgbm90ZSBmaXJzdCBhbmQgcmVhZHMgdGhlIGZpbGUsIGJlY2F1c2UgYSB3cml0ZSBoZWxwZXIgY29tcGFyZXMgdGhlIHJldHVybmVkXG4gKiBgbm90ZUNvbnRlbnRgIGFnYWluc3QgdGhlIGZpbGUgY29udGVudCB7QGxpbmsgcHJvY2Vzc30gaGFuZHMgaXQ6IHRleHQgdGFrZW4gZnJvbSBhIGRpcnR5IGVkaXRvclxuICogd291bGQgbmV2ZXIgbWF0Y2gsIGFuZCB0aGUgcHJvdmlkZXIgd291bGQgYXNrIGZvciBhIHJldHJ5IGZvcmV2ZXIuIEEgd3JpdGUgaXMgYWJvdXQgdG8gaGFwcGVuXG4gKiBhbnl3YXksIHNvIHRoZSBzYXZlIGlzIG5vdCBhIHdyaXRlIG9uIGFuIGF1dG9tYXRpYyB0cmlnZ2VyLlxuICpcbiAqIEBwYXJhbSBwYXJhbXMgLSBUaGUgcGFyYW1ldGVycyBmb3IgdGhlIGZ1bmN0aW9uLlxuICogQHJldHVybnMgVGhlIGluZm9ybWF0aW9uIGFib3V0IHRoZSBjb2RlIGJsb2NrLCBsb2NhdGVkIGluIHRoZSBzYXZlZCBmaWxlIGNvbnRlbnQuXG4gKi9cbmFzeW5jIGZ1bmN0aW9uIGdldENvZGVCbG9ja01hcmtkb3duSW5mb0FmdGVyU2F2ZShwYXJhbXM6IEdldENvZGVCbG9ja01hcmtkb3duSW5mb1BhcmFtcyk6IFByb21pc2U8Q29kZUJsb2NrTWFya2Rvd25JbmZvcm1hdGlvbiB8IG51bGw+IHtcbiAgY29uc3QgeyBhcHAsIGNvbnRleHQsIGVsLCBzb3VyY2UgfSA9IHBhcmFtcztcblxuICBjb25zdCBzb3VyY2VGaWxlID0gZ2V0RmlsZU9yTnVsbCh7IGFwcCwgcGF0aE9yRmlsZTogY29udGV4dC5zb3VyY2VQYXRoIH0pO1xuICBhc3NlcnROb25OdWxsYWJsZShzb3VyY2VGaWxlLCBgU291cmNlIGZpbGUgJHtjb250ZXh0LnNvdXJjZVBhdGh9IG5vdCBmb3VuZC5gKTtcblxuICBhd2FpdCByZXF1ZXN0QW5pbWF0aW9uRnJhbWVBc3luYygpO1xuICBhd2FpdCBzYXZlTm90ZShhcHAsIHNvdXJjZUZpbGUpO1xuXG4gIGxldCBtYXJrZG93bkluZm86IENvZGVCbG9ja01hcmtkb3duSW5mb3JtYXRpb24gfCBudWxsID0gbnVsbDtcblxuICBhd2FpdCBpbnZva2VXaXRoRmlsZVN5c3RlbUxvY2soe1xuICAgICRmdW5jdGlvbihub3RlQ29udGVudCkge1xuICAgICAgbWFya2Rvd25JbmZvID0gZmluZENvZGVCbG9ja01hcmtkb3duSW5mbyh7IGVsLCBub3RlQ29udGVudCwgc291cmNlIH0pO1xuICAgIH0sXG4gICAgYXBwLFxuICAgIHBhdGhPckZpbGU6IHNvdXJjZUZpbGVcbiAgfSk7XG5cbiAgcmV0dXJuIG1hcmtkb3duSW5mbztcbn1cblxuZnVuY3Rpb24gZ2V0TGFuZ3VhZ2VGcm9tRWxlbWVudChlbGVtZW50OiBIVE1MRWxlbWVudCk6IHN0cmluZyB7XG4gIGNvbnN0IEJMT0NLX0xBTkdVQUdFX1BSRUZJWCA9ICdibG9jay1sYW5ndWFnZS0nO1xuICByZXR1cm4gWy4uLmVsZW1lbnQuY2xhc3NMaXN0XS5maW5kKChjbHMpID0+IGNscy5zdGFydHNXaXRoKEJMT0NLX0xBTkdVQUdFX1BSRUZJWCkpPy5zbGljZShCTE9DS19MQU5HVUFHRV9QUkVGSVgubGVuZ3RoKSA/PyAnJztcbn1cblxuZnVuY3Rpb24gZ2V0T3Blbk1hcmtkb3duVmlld0RhdGEoYXBwOiBBcHAsIGZpbGU6IFRGaWxlKTogbnVsbCB8IHN0cmluZyB7XG4gIGZvciAoY29uc3QgbGVhZiBvZiBhcHAud29ya3NwYWNlLmdldExlYXZlc09mVHlwZShWaWV3VHlwZS5NYXJrZG93bikpIHtcbiAgICBpZiAobGVhZi52aWV3IGluc3RhbmNlb2YgTWFya2Rvd25WaWV3ICYmIGxlYWYudmlldy5maWxlPy5wYXRoID09PSBmaWxlLnBhdGgpIHtcbiAgICAgIHJldHVybiBsZWFmLnZpZXcuZ2V0Vmlld0RhdGEoKTtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gbnVsbDtcbn1cblxuZnVuY3Rpb24gaW5zZXJ0VGV4dChwYXJhbXM6IEluc2VydFRleHRQYXJhbXMpOiBzdHJpbmcge1xuICBjb25zdCB7IGNvbnRlbnQsIHNob3VsZFByZXNlcnZlTGluZVByZWZpeCA9IGZhbHNlLCB0ZXh0IH0gPSBwYXJhbXM7XG4gIGxldCB7IGluc2VydExpbmVJbmRleCB9ID0gcGFyYW1zO1xuXG4gIGNvbnN0IGxpbmVzID0gY29udGVudC5zcGxpdCgnXFxuJyk7XG4gIGNvbnN0IG5ld0xpbmVzID0gWy4uLmxpbmVzXTtcbiAgY29uc3QgdGV4dExpbmVzID0gdGV4dC5zcGxpdCgnXFxuJyk7XG5cbiAgaWYgKGluc2VydExpbmVJbmRleCA8IDApIHtcbiAgICBpbnNlcnRMaW5lSW5kZXggPSAwO1xuICB9XG4gIGlmIChpbnNlcnRMaW5lSW5kZXggPiBsaW5lcy5sZW5ndGgpIHtcbiAgICBpbnNlcnRMaW5lSW5kZXggPSBsaW5lcy5sZW5ndGg7XG4gIH1cblxuICBjb25zdCBQUkVGSVhfTElORV9SRUdfRVhQID0gL14gezAsM30oPzo+IHsxLDN9KSovZztcbiAgY29uc3QgbWF0Y2ggPSAobGluZXNbaW5zZXJ0TGluZUluZGV4XSA/PyAnJykubWF0Y2goUFJFRklYX0xJTkVfUkVHX0VYUCk7XG4gIGNvbnN0IGxpbmVQcmVmaXggPSBtYXRjaD8uWzBdID8/ICcnO1xuICBuZXdMaW5lcy5zcGxpY2UoXG4gICAgaW5zZXJ0TGluZUluZGV4LFxuICAgIDAsXG4gICAgLi4uKHNob3VsZFByZXNlcnZlTGluZVByZWZpeFxuICAgICAgPyB0ZXh0TGluZXMubWFwKChsaW5lKSA9PlxuICAgICAgICBpbmRlbnQoe1xuICAgICAgICAgIHByZWZpeDogbGluZVByZWZpeCxcbiAgICAgICAgICB0ZXh0OiBsaW5lXG4gICAgICAgIH0pXG4gICAgICApXG4gICAgICA6IHRleHRMaW5lcylcbiAgKTtcbiAgcmV0dXJuIG5ld0xpbmVzLmpvaW4oJ1xcbicpO1xufVxuXG5mdW5jdGlvbiBpc1N1aXRhYmxlQ29kZUJsb2NrKHBhcmFtczogSXNTdWl0YWJsZUNvZGVCbG9ja1BhcmFtcyk6IGJvb2xlYW4ge1xuICBjb25zdCB7IGlzSW5DYWxsb3V0LCBsYW5ndWFnZSwgbWF0Y2gsIHNvdXJjZUxmIH0gPSBwYXJhbXM7XG5cbiAgY29uc3QgY29kZUJsb2NrTGFuZ3VhZ2UgPSBnZXRNYW5kYXRvcnlOYW1lZEdyb3VwKG1hdGNoLCAnQ29kZUJsb2NrTGFuZ3VhZ2UnKTtcbiAgaWYgKGNvZGVCbG9ja0xhbmd1YWdlICE9PSBsYW5ndWFnZSkge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIGNvbnN0IGxpbmVQcmVmaXggPSBnZXRNYW5kYXRvcnlOYW1lZEdyb3VwKG1hdGNoLCAnTGluZVByZWZpeCcpO1xuXG4gIGlmIChpc0luQ2FsbG91dCAmJiAhbGluZVByZWZpeC5pbmNsdWRlcygnPiAnKSkge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIGNvbnN0IGNvZGVCbG9ja0NvbnRlbnQgPSBnZXRPcHRpb25hbE5hbWVkR3JvdXAobWF0Y2gsICdDb2RlQmxvY2tDb250ZW50JykgPz8gJyc7XG4gIGNvbnN0IGNsZWFuQ29kZUJsb2NrQ29udGVudCA9IGNvZGVCbG9ja0NvbnRlbnQuc3BsaXQoJ1xcbicpLm1hcCgobGluZSkgPT4gbGluZS5zbGljZShsaW5lUHJlZml4Lmxlbmd0aCkpLmpvaW4oJ1xcbicpO1xuXG4gIHJldHVybiBjbGVhbkNvZGVCbG9ja0NvbnRlbnQgPT09IHNvdXJjZUxmO1xufVxuXG4vKiB2OCBpZ25vcmUgc3RvcCAqL1xuIl0sCiAgIm1hcHBpbmdzIjogIjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBZ0JBLDhCQUErQjtBQUMvQixtQkFBMkM7QUFDM0MsMEJBQTRDO0FBQzVDLHFCQUdPO0FBQ1Asb0JBTU87QUFDUCx5QkFBa0M7QUFDbEMsNEJBQTZCO0FBQzdCLDZCQUF5QjtBQUN6QixzQkFBNkI7QUFNN0IsZ0NBQXNDO0FBQ3RDLHlCQUE4QjtBQUM5QixtQkFJTztBQStMUCxlQUFzQix5QkFBeUIsUUFBc0Y7QUFDbkksUUFBTSxFQUFFLEtBQUssU0FBUyxJQUFJLE9BQU8sSUFBSTtBQUVyQyxRQUFNLGlCQUFhLGtDQUFjLEVBQUUsS0FBSyxZQUFZLFFBQVEsV0FBVyxDQUFDO0FBQ3hFLDRDQUFrQixZQUFZLGVBQWUsUUFBUSxVQUFVLGFBQWE7QUFFNUUsWUFBTSx5Q0FBMkI7QUFFakMsUUFBTSxjQUFjLHdCQUF3QixLQUFLLFVBQVUsS0FBSyxNQUFNLElBQUksTUFBTSxLQUFLLFVBQVU7QUFDL0YsU0FBTywwQkFBMEIsRUFBRSxJQUFJLGFBQWEsT0FBTyxDQUFDO0FBQzlEO0FBUUEsZUFBc0IscUJBQXFCLFFBQThDO0FBQ3ZGLFFBQU0sRUFBRSxLQUFLLFNBQVMsYUFBYSxHQUFHLEtBQUssSUFBSTtBQUUvQyxZQUFNLHNCQUFRO0FBQUEsSUFDWjtBQUFBLElBQ0EsTUFBTSxtQkFBbUIsRUFBRSxRQUFRLEdBQUc7QUFDcEMsWUFBTSxlQUFl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
|
|
@@ -0,0 +1,137 @@
|
|
|
1
|
+
/// <reference path="./library.d.cts" />
|
|
2
|
+
/**
|
|
3
|
+
* @file
|
|
4
|
+
*
|
|
5
|
+
* This module provides utility functions for processing code blocks in Obsidian.
|
|
6
|
+
*/
|
|
7
|
+
import type { ValueProvider } from '@mnaoumov/typescript-lib/value-provider' with { 'resolution-mode': 'import' };
|
|
8
|
+
import type { App, MarkdownPostProcessorContext } from 'obsidian' with { 'resolution-mode': 'import' };
|
|
9
|
+
import type { CodeBlockMarkdownInformation } from './code-block-markdown-information.cjs';
|
|
10
|
+
import type { ResourceLockComponent } from './resource-lock.cjs';
|
|
11
|
+
import type { ContentArguments } from './vault.cjs';
|
|
12
|
+
/**
|
|
13
|
+
* Options for {@link getCodeBlockMarkdownInfo}.
|
|
14
|
+
*/
|
|
15
|
+
export interface GetCodeBlockMarkdownInfoParams {
|
|
16
|
+
/**
|
|
17
|
+
* An Obsidian app instance.
|
|
18
|
+
*/
|
|
19
|
+
readonly app: App;
|
|
20
|
+
/**
|
|
21
|
+
* A {@link MarkdownPostProcessorContext} object.
|
|
22
|
+
*/
|
|
23
|
+
readonly context: MarkdownPostProcessorContext;
|
|
24
|
+
/**
|
|
25
|
+
* A {@link HTMLElement} representing the code block.
|
|
26
|
+
*/
|
|
27
|
+
readonly el: HTMLElement;
|
|
28
|
+
/**
|
|
29
|
+
* A source of the code block.
|
|
30
|
+
*/
|
|
31
|
+
readonly source: string;
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* Options for {@link insertAfterCodeBlock} / {@link insertBeforeCodeBlock}.
|
|
35
|
+
*/
|
|
36
|
+
export interface InsertCodeBlockParams extends GetCodeBlockMarkdownInfoParams {
|
|
37
|
+
/**
|
|
38
|
+
* A number of lines to offset the insertion by.
|
|
39
|
+
*
|
|
40
|
+
* @default `0`
|
|
41
|
+
*/
|
|
42
|
+
readonly lineOffset?: number;
|
|
43
|
+
/**
|
|
44
|
+
* The resource-lock component used to lock the note while it is being modified.
|
|
45
|
+
*/
|
|
46
|
+
readonly resourceLockComponent: null | ResourceLockComponent;
|
|
47
|
+
/**
|
|
48
|
+
* Whether to preserve the line prefix of the code block.
|
|
49
|
+
*
|
|
50
|
+
* @default `false`
|
|
51
|
+
*/
|
|
52
|
+
readonly shouldPreserveLinePrefix?: boolean;
|
|
53
|
+
/**
|
|
54
|
+
* A text to insert after the code block.
|
|
55
|
+
*/
|
|
56
|
+
readonly text: string;
|
|
57
|
+
}
|
|
58
|
+
/**
|
|
59
|
+
* Options for {@link removeCodeBlock}.
|
|
60
|
+
*/
|
|
61
|
+
export interface RemoveCodeBlockParams extends GetCodeBlockMarkdownInfoParams {
|
|
62
|
+
/**
|
|
63
|
+
* The resource-lock component used to lock the note while it is being modified.
|
|
64
|
+
*/
|
|
65
|
+
readonly resourceLockComponent: null | ResourceLockComponent;
|
|
66
|
+
/**
|
|
67
|
+
* Whether to keep the gap after removing the code block.
|
|
68
|
+
*
|
|
69
|
+
* @default `false`
|
|
70
|
+
*/
|
|
71
|
+
readonly shouldKeepGap?: boolean;
|
|
72
|
+
}
|
|
73
|
+
/**
|
|
74
|
+
* Options for {@link replaceCodeBlock}.
|
|
75
|
+
*/
|
|
76
|
+
export interface ReplaceCodeBlockParams extends GetCodeBlockMarkdownInfoParams {
|
|
77
|
+
/**
|
|
78
|
+
* An abort signal to control the execution of the function.
|
|
79
|
+
*/
|
|
80
|
+
readonly abortSignal?: AbortSignal;
|
|
81
|
+
/**
|
|
82
|
+
* Provides a new code block.
|
|
83
|
+
*/
|
|
84
|
+
readonly codeBlockProvider: ValueProvider<string, ContentArguments>;
|
|
85
|
+
/**
|
|
86
|
+
* The resource-lock component used to lock the note while it is being modified.
|
|
87
|
+
*/
|
|
88
|
+
readonly resourceLockComponent: null | ResourceLockComponent;
|
|
89
|
+
/**
|
|
90
|
+
* Whether to keep the gap when the new code block is empty.
|
|
91
|
+
*
|
|
92
|
+
* @default `false`
|
|
93
|
+
*/
|
|
94
|
+
readonly shouldKeepGapWhenEmpty?: boolean;
|
|
95
|
+
/**
|
|
96
|
+
* Whether to preserve the line prefix of the code block.
|
|
97
|
+
*
|
|
98
|
+
* @default `false`
|
|
99
|
+
*/
|
|
100
|
+
readonly shouldPreserveLinePrefix?: boolean;
|
|
101
|
+
}
|
|
102
|
+
/**
|
|
103
|
+
* Gets the information about a code block in a Markdown section.
|
|
104
|
+
*
|
|
105
|
+
* This is a pure read, safe to call while a code block renders. It locates the block in the text the
|
|
106
|
+
* user sees: the view data of an open markdown view of the source note when there is one, because
|
|
107
|
+
* an unsaved edit there is what the block was rendered from, and the file's content otherwise. It
|
|
108
|
+
* never saves the note.
|
|
109
|
+
*
|
|
110
|
+
* @param params - The parameters for the function.
|
|
111
|
+
* @returns The information about the code block in the Markdown section.
|
|
112
|
+
*/
|
|
113
|
+
export declare function getCodeBlockMarkdownInfo(params: GetCodeBlockMarkdownInfoParams): Promise<CodeBlockMarkdownInformation | null>;
|
|
114
|
+
/**
|
|
115
|
+
* Inserts text after the code block.
|
|
116
|
+
*
|
|
117
|
+
* @param params - The parameters for the function.
|
|
118
|
+
*/
|
|
119
|
+
export declare function insertAfterCodeBlock(params: InsertCodeBlockParams): Promise<void>;
|
|
120
|
+
/**
|
|
121
|
+
* Inserts text before the code block.
|
|
122
|
+
*
|
|
123
|
+
* @param params - The parameters for the function.
|
|
124
|
+
*/
|
|
125
|
+
export declare function insertBeforeCodeBlock(params: InsertCodeBlockParams): Promise<void>;
|
|
126
|
+
/**
|
|
127
|
+
* Removes the code block.
|
|
128
|
+
*
|
|
129
|
+
* @param params - The parameters for the function.
|
|
130
|
+
*/
|
|
131
|
+
export declare function removeCodeBlock(params: RemoveCodeBlockParams): Promise<void>;
|
|
132
|
+
/**
|
|
133
|
+
* Replaces the code block.
|
|
134
|
+
*
|
|
135
|
+
* @param params - The parameters for the function.
|
|
136
|
+
*/
|
|
137
|
+
export declare function replaceCodeBlock(params: ReplaceCodeBlockParams): Promise<void>;
|