obsidian-dev-utils 88.7.0 → 89.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/CHANGELOG.md +23 -0
- package/dist/demo-vault-helper/main.js +20 -23
- package/dist/integration-test-plugin/main.js +2218 -1734
- package/dist/lib/cjs/__merged.cjs +57 -35
- package/dist/lib/cjs/__merged.d.cts +12 -10
- package/dist/lib/cjs/abort-controller.cjs +15 -22
- package/dist/lib/cjs/array.cjs +27 -26
- package/dist/lib/cjs/array.d.cts +25 -7
- package/dist/lib/cjs/async-events.cjs +87 -91
- package/dist/lib/cjs/async-events.d.cts +50 -50
- package/dist/lib/cjs/async.cjs +80 -80
- package/dist/lib/cjs/async.d.cts +23 -23
- package/dist/lib/cjs/beeper.cjs +11 -15
- package/dist/lib/cjs/blob.cjs +14 -25
- package/dist/lib/cjs/codemirror/index.cjs +11 -15
- package/dist/lib/cjs/codemirror/state-field-spec.cjs +11 -15
- package/dist/lib/cjs/debug-controller.cjs +11 -15
- package/dist/lib/cjs/debug.cjs +24 -32
- package/dist/lib/cjs/debug.d.cts +1 -1
- package/dist/lib/cjs/disposable.cjs +59 -43
- package/dist/lib/cjs/disposable.d.cts +27 -8
- package/dist/lib/cjs/enum.cjs +11 -15
- package/dist/lib/cjs/error.cjs +28 -33
- package/dist/lib/cjs/function.cjs +30 -34
- package/dist/lib/cjs/function.d.cts +26 -26
- package/dist/lib/cjs/generated-during-build.cjs +12 -16
- package/dist/lib/cjs/html-element.cjs +84 -89
- package/dist/lib/cjs/html-element.d.cts +15 -15
- package/dist/lib/cjs/index.cjs +11 -15
- package/dist/lib/cjs/integration-test-setup.cjs +11 -15
- package/dist/lib/cjs/integration-test-vitest-global-setup.cjs +11 -15
- package/dist/lib/cjs/jest-setup.cjs +11 -15
- package/dist/lib/cjs/library.cjs +11 -15
- package/dist/lib/cjs/object-utils.cjs +120 -117
- package/dist/lib/cjs/object-utils.d.cts +27 -27
- package/dist/lib/cjs/obsidian/@types/dataview/data-model/value.d.cts +1 -1
- package/dist/lib/cjs/obsidian/@types/dataview/expression/field.d.cts +1 -1
- package/dist/lib/cjs/obsidian/@types/dataview/expression/functions.d.cts +4 -4
- package/dist/lib/cjs/obsidian/active-file-provider.cjs +11 -15
- package/dist/lib/cjs/obsidian/app.cjs +11 -15
- package/dist/lib/cjs/obsidian/async-with-notice.cjs +28 -32
- package/dist/lib/cjs/obsidian/async-with-notice.d.cts +2 -2
- package/dist/lib/cjs/obsidian/attachment-path.cjs +20 -24
- package/dist/lib/cjs/obsidian/attachment-path.d.cts +5 -5
- package/dist/lib/cjs/obsidian/backlink.cjs +12 -16
- package/dist/lib/cjs/obsidian/bases-view-registrar.cjs +11 -15
- package/dist/lib/cjs/obsidian/callout.cjs +27 -26
- package/dist/lib/cjs/obsidian/callout.d.cts +9 -3
- package/dist/lib/cjs/obsidian/canvas.cjs +13 -16
- package/dist/lib/cjs/obsidian/case-insensitive-file-index.cjs +18 -20
- package/dist/lib/cjs/obsidian/code-block-markdown-information.cjs +11 -15
- package/dist/lib/cjs/obsidian/code-block-markdown-information.d.cts +2 -2
- package/dist/lib/cjs/obsidian/code-block-reg-exp.cjs +11 -15
- package/dist/lib/cjs/obsidian/command-handlers/abstract-file-command-handler.cjs +18 -16
- package/dist/lib/cjs/obsidian/command-handlers/abstract-file-command-handler.d.cts +5 -0
- package/dist/lib/cjs/obsidian/command-handlers/command-handler-component.cjs +56 -31
- package/dist/lib/cjs/obsidian/command-handlers/command-handler-component.d.cts +42 -8
- package/dist/lib/cjs/obsidian/command-handlers/command-handler.cjs +11 -15
- package/dist/lib/cjs/obsidian/command-handlers/command-handler.d.cts +10 -0
- package/dist/lib/cjs/obsidian/command-handlers/editor-command-handler.cjs +26 -30
- package/dist/lib/cjs/obsidian/command-handlers/editor-command-handler.d.cts +8 -8
- package/dist/lib/cjs/obsidian/command-handlers/file-command-handler.cjs +12 -16
- package/dist/lib/cjs/obsidian/command-handlers/folder-command-handler.cjs +12 -16
- package/dist/lib/cjs/obsidian/command-handlers/global-command-handler.cjs +13 -17
- package/dist/lib/cjs/obsidian/command-handlers/index.cjs +11 -15
- package/dist/lib/cjs/obsidian/command-handlers/open-demo-vault-command-handler.cjs +11 -15
- package/dist/lib/cjs/obsidian/command-handlers/open-settings-command-handler.cjs +11 -15
- package/dist/lib/cjs/obsidian/command-handlers/unlock-active-note-command-handler.cjs +11 -15
- package/dist/lib/cjs/obsidian/command-registrar.cjs +11 -15
- package/dist/lib/cjs/obsidian/community-plugins.cjs +28 -25
- package/dist/lib/cjs/obsidian/community-plugins.d.cts +19 -5
- package/dist/lib/cjs/obsidian/components/abort-signal-component.cjs +11 -15
- package/dist/lib/cjs/obsidian/components/all-windows-event-component.cjs +11 -15
- package/dist/lib/cjs/obsidian/components/all-windows-event-component.d.cts +4 -4
- package/dist/lib/cjs/obsidian/components/async-error-handler-component.cjs +13 -16
- package/dist/lib/cjs/obsidian/components/async-events-component.cjs +11 -15
- package/dist/lib/cjs/obsidian/components/case-insensitive-file-index-component.cjs +11 -15
- package/dist/lib/cjs/obsidian/components/component-ex.cjs +26 -28
- package/dist/lib/cjs/obsidian/components/component-ex.d.cts +3 -3
- package/dist/lib/cjs/obsidian/components/console-debug-component.cjs +14 -18
- package/dist/lib/cjs/obsidian/components/console-debug-component.d.cts +2 -2
- package/dist/lib/cjs/obsidian/components/disposable-component.cjs +11 -15
- package/dist/lib/cjs/obsidian/components/embed-extensions-component.cjs +11 -15
- package/dist/lib/cjs/obsidian/components/generate-markdown-link-default-params-component.cjs +11 -15
- package/dist/lib/cjs/obsidian/components/index.cjs +14 -15
- package/dist/lib/cjs/obsidian/components/index.d.cts +1 -0
- package/dist/lib/cjs/obsidian/components/layout-ready-component.cjs +11 -15
- package/dist/lib/cjs/obsidian/components/menu-event-registrar-component.cjs +11 -15
- package/dist/lib/cjs/obsidian/components/monkey-around-component.cjs +29 -33
- package/dist/lib/cjs/obsidian/components/monkey-around-component.d.cts +55 -55
- package/dist/lib/cjs/obsidian/components/notebook-navigator-menu-event-registrar-component.cjs +297 -0
- package/dist/lib/cjs/obsidian/components/notebook-navigator-menu-event-registrar-component.d.cts +139 -0
- package/dist/lib/cjs/obsidian/components/plugin-context-component.cjs +11 -15
- package/dist/lib/cjs/obsidian/components/plugin-notice-component.cjs +28 -31
- package/dist/lib/cjs/obsidian/components/plugin-settings-component.cjs +26 -30
- package/dist/lib/cjs/obsidian/components/plugin-settings-component.d.cts +8 -8
- package/dist/lib/cjs/obsidian/components/plugin-settings-tab-component.cjs +11 -15
- package/dist/lib/cjs/obsidian/components/pointer-position-component.cjs +13 -17
- package/dist/lib/cjs/obsidian/components/registry-component.cjs +11 -15
- package/dist/lib/cjs/obsidian/components/rename-delete-handler-component.cjs +72 -62
- package/dist/lib/cjs/obsidian/components/rename-delete-handler-component.d.cts +12 -1
- package/dist/lib/cjs/obsidian/components/syntax-highlighting-component.cjs +16 -20
- package/dist/lib/cjs/obsidian/components/syntax-highlighting-component.d.cts +8 -8
- package/dist/lib/cjs/obsidian/constructors/get-dom-events-handlers-constructor.cjs +14 -18
- package/dist/lib/cjs/obsidian/constructors/index.cjs +11 -15
- package/dist/lib/cjs/obsidian/css-class.cjs +11 -15
- package/dist/lib/cjs/obsidian/data-handler.cjs +11 -15
- package/dist/lib/cjs/obsidian/dataview-link.cjs +13 -17
- package/dist/lib/cjs/obsidian/dataview.cjs +35 -41
- package/dist/lib/cjs/obsidian/dataview.d.cts +2 -2
- package/dist/lib/cjs/obsidian/demo-vault-helper.cjs +13 -17
- package/dist/lib/cjs/obsidian/desktop-demo-vault-opener.cjs +22 -26
- package/dist/lib/cjs/obsidian/desktop-trusted-input.cjs +23 -21
- package/dist/lib/cjs/obsidian/editor-extension-registrar.cjs +11 -15
- package/dist/lib/cjs/obsidian/editor-suggest-registrar.cjs +11 -15
- package/dist/lib/cjs/obsidian/editor.cjs +17 -19
- package/dist/lib/cjs/obsidian/events.cjs +12 -16
- package/dist/lib/cjs/obsidian/events.d.cts +2 -2
- package/dist/lib/cjs/obsidian/extensions-registrar.cjs +11 -15
- package/dist/lib/cjs/obsidian/file-change.cjs +76 -80
- package/dist/lib/cjs/obsidian/file-change.d.cts +3 -3
- package/dist/lib/cjs/obsidian/file-manager.cjs +33 -22
- package/dist/lib/cjs/obsidian/file-manager.d.cts +20 -1
- package/dist/lib/cjs/obsidian/file-system.cjs +15 -19
- package/dist/lib/cjs/obsidian/file-system.d.cts +3 -3
- package/dist/lib/cjs/obsidian/frontmatter-link-cache-with-offsets.cjs +11 -15
- package/dist/lib/cjs/obsidian/frontmatter.cjs +15 -19
- package/dist/lib/cjs/obsidian/hover-link-source-registrar.cjs +11 -15
- package/dist/lib/cjs/obsidian/html-element.cjs +13 -17
- package/dist/lib/cjs/obsidian/html-element.d.cts +2 -2
- package/dist/lib/cjs/obsidian/i18n/custom-type-options.cjs +11 -15
- package/dist/lib/cjs/obsidian/i18n/default-translations.cjs +11 -15
- package/dist/lib/cjs/obsidian/i18n/i18n.cjs +13 -16
- package/dist/lib/cjs/obsidian/i18n/i18n.d.cts +7 -0
- package/dist/lib/cjs/obsidian/i18n/index.cjs +11 -15
- package/dist/lib/cjs/obsidian/i18n/locales/en.cjs +11 -15
- package/dist/lib/cjs/obsidian/i18n/locales/index.cjs +11 -15
- package/dist/lib/cjs/obsidian/i18n/locales/translations-map.cjs +11 -15
- package/dist/lib/cjs/obsidian/index.cjs +14 -15
- package/dist/lib/cjs/obsidian/index.d.cts +1 -0
- package/dist/lib/cjs/obsidian/is-in-obsidian.cjs +11 -15
- package/dist/lib/cjs/obsidian/link-update-progress.cjs +11 -15
- package/dist/lib/cjs/obsidian/link.cjs +91 -81
- package/dist/lib/cjs/obsidian/link.d.cts +22 -22
- package/dist/lib/cjs/obsidian/logger.cjs +21 -25
- package/dist/lib/cjs/obsidian/logger.d.cts +5 -5
- package/dist/lib/cjs/obsidian/loop.cjs +14 -18
- package/dist/lib/cjs/obsidian/loop.d.cts +1 -1
- package/dist/lib/cjs/obsidian/markdown-code-block-processor-registrar.cjs +12 -16
- package/dist/lib/cjs/obsidian/markdown-code-block-processor-registrar.d.cts +3 -3
- package/dist/lib/cjs/obsidian/markdown-code-block-processor.cjs +35 -40
- package/dist/lib/cjs/obsidian/markdown-code-block-processor.d.cts +3 -3
- package/dist/lib/cjs/obsidian/markdown-post-processor-registrar.cjs +12 -16
- package/dist/lib/cjs/obsidian/markdown-post-processor-registrar.d.cts +3 -3
- package/dist/lib/cjs/obsidian/markdown-view.cjs +11 -15
- package/dist/lib/cjs/obsidian/markdown.cjs +22 -24
- package/dist/lib/cjs/obsidian/menu-event-registrar.cjs +11 -15
- package/dist/lib/cjs/obsidian/menu-event-registrar.d.cts +1 -1
- package/dist/lib/cjs/obsidian/metadata-cache.cjs +16 -20
- package/dist/lib/cjs/obsidian/metadata-cache.d.cts +2 -2
- package/dist/lib/cjs/obsidian/modals/alert.cjs +11 -15
- package/dist/lib/cjs/obsidian/modals/confirm.cjs +11 -15
- package/dist/lib/cjs/obsidian/modals/index.cjs +11 -15
- package/dist/lib/cjs/obsidian/modals/minimizable-modal.cjs +28 -32
- package/dist/lib/cjs/obsidian/modals/modal.cjs +11 -15
- package/dist/lib/cjs/obsidian/modals/prompt.cjs +11 -15
- package/dist/lib/cjs/obsidian/modals/select-item.cjs +16 -20
- package/dist/lib/cjs/obsidian/modals/select-item.d.cts +1 -1
- package/dist/lib/cjs/obsidian/modals/select-option.cjs +11 -15
- package/dist/lib/cjs/obsidian/modals/suggest-modal-command-builder.cjs +26 -28
- package/dist/lib/cjs/obsidian/modals/suggest-modal-command-builder.d.cts +5 -5
- package/dist/lib/cjs/obsidian/notebook-navigator.cjs +155 -0
- package/dist/lib/cjs/obsidian/notebook-navigator.d.cts +132 -0
- package/dist/lib/cjs/obsidian/obsidian-protocol-handler-registrar.cjs +11 -15
- package/dist/lib/cjs/obsidian/obsidian-settings.cjs +11 -15
- package/dist/lib/cjs/obsidian/parse-link.cjs +61 -62
- package/dist/lib/cjs/obsidian/parse-link.d.cts +4 -4
- package/dist/lib/cjs/obsidian/path-settings.cjs +27 -25
- package/dist/lib/cjs/obsidian/pdf.cjs +13 -17
- package/dist/lib/cjs/obsidian/pdf.d.cts +2 -2
- package/dist/lib/cjs/obsidian/plugin/index.cjs +11 -15
- package/dist/lib/cjs/obsidian/plugin/obsidian-plugin-repo-paths.cjs +11 -15
- package/dist/lib/cjs/obsidian/plugin/obsidian-plugin-repo-paths.d.cts +156 -52
- package/dist/lib/cjs/obsidian/plugin/plugin-context.cjs +17 -21
- package/dist/lib/cjs/obsidian/plugin/plugin-context.d.cts +2 -2
- package/dist/lib/cjs/obsidian/plugin/plugin-event-source.cjs +20 -24
- package/dist/lib/cjs/obsidian/plugin/plugin-event-source.d.cts +11 -9
- package/dist/lib/cjs/obsidian/plugin/plugin-settings-tab.cjs +29 -33
- package/dist/lib/cjs/obsidian/plugin/plugin.cjs +33 -16
- package/dist/lib/cjs/obsidian/plugin/plugin.d.cts +11 -1
- package/dist/lib/cjs/obsidian/plugin-cli-handler-registrar.cjs +11 -15
- package/dist/lib/cjs/obsidian/popovers/field-popover.cjs +11 -15
- package/dist/lib/cjs/obsidian/popovers/index.cjs +11 -15
- package/dist/lib/cjs/obsidian/popovers/popover-anchor.cjs +14 -18
- package/dist/lib/cjs/obsidian/popovers/popover-anchor.d.cts +2 -2
- package/dist/lib/cjs/obsidian/popovers/popover.cjs +19 -23
- package/dist/lib/cjs/obsidian/queue.cjs +16 -20
- package/dist/lib/cjs/obsidian/queue.d.cts +2 -2
- package/dist/lib/cjs/obsidian/react/app-context.cjs +11 -15
- package/dist/lib/cjs/obsidian/react/index.cjs +11 -15
- package/dist/lib/cjs/obsidian/reference.cjs +11 -15
- package/dist/lib/cjs/obsidian/resource-lock.cjs +157 -78
- package/dist/lib/cjs/obsidian/resource-lock.d.cts +5 -0
- package/dist/lib/cjs/obsidian/resource-url.cjs +12 -16
- package/dist/lib/cjs/obsidian/ribbon-icon-registrar.cjs +11 -15
- package/dist/lib/cjs/obsidian/ribbon-icon-registrar.d.cts +2 -2
- package/dist/lib/cjs/obsidian/setting-components/checkbox-component.cjs +18 -22
- package/dist/lib/cjs/obsidian/setting-components/checkbox-component.d.cts +5 -5
- package/dist/lib/cjs/obsidian/setting-components/code-highlighter-component.cjs +28 -31
- package/dist/lib/cjs/obsidian/setting-components/code-highlighter-component.d.cts +2 -2
- package/dist/lib/cjs/obsidian/setting-components/date-component.cjs +14 -18
- package/dist/lib/cjs/obsidian/setting-components/date-component.d.cts +2 -2
- package/dist/lib/cjs/obsidian/setting-components/date-time-component.cjs +14 -18
- package/dist/lib/cjs/obsidian/setting-components/date-time-component.d.cts +2 -2
- package/dist/lib/cjs/obsidian/setting-components/email-component.cjs +14 -18
- package/dist/lib/cjs/obsidian/setting-components/email-component.d.cts +2 -2
- package/dist/lib/cjs/obsidian/setting-components/file-component.cjs +11 -15
- package/dist/lib/cjs/obsidian/setting-components/index.cjs +11 -15
- package/dist/lib/cjs/obsidian/setting-components/month-component.cjs +14 -18
- package/dist/lib/cjs/obsidian/setting-components/month-component.d.cts +2 -2
- package/dist/lib/cjs/obsidian/setting-components/multiple-dropdown-component.cjs +17 -21
- package/dist/lib/cjs/obsidian/setting-components/multiple-dropdown-component.d.cts +2 -2
- package/dist/lib/cjs/obsidian/setting-components/multiple-email-component.cjs +14 -18
- package/dist/lib/cjs/obsidian/setting-components/multiple-email-component.d.cts +2 -2
- package/dist/lib/cjs/obsidian/setting-components/multiple-file-component.cjs +12 -16
- package/dist/lib/cjs/obsidian/setting-components/multiple-text-component.cjs +15 -19
- package/dist/lib/cjs/obsidian/setting-components/multiple-text-component.d.cts +2 -2
- package/dist/lib/cjs/obsidian/setting-components/number-component.cjs +14 -18
- package/dist/lib/cjs/obsidian/setting-components/number-component.d.cts +2 -2
- package/dist/lib/cjs/obsidian/setting-components/password-component.cjs +14 -18
- package/dist/lib/cjs/obsidian/setting-components/password-component.d.cts +2 -2
- package/dist/lib/cjs/obsidian/setting-components/setting-component-wrapper.cjs +16 -20
- package/dist/lib/cjs/obsidian/setting-components/setting-component-wrapper.d.cts +2 -2
- package/dist/lib/cjs/obsidian/setting-components/telephone-component.cjs +14 -18
- package/dist/lib/cjs/obsidian/setting-components/telephone-component.d.cts +2 -2
- package/dist/lib/cjs/obsidian/setting-components/text-based-component.cjs +16 -20
- package/dist/lib/cjs/obsidian/setting-components/text-based-component.d.cts +2 -2
- package/dist/lib/cjs/obsidian/setting-components/time-component.cjs +14 -18
- package/dist/lib/cjs/obsidian/setting-components/time-component.d.cts +2 -2
- package/dist/lib/cjs/obsidian/setting-components/tri-state-checkbox-component.cjs +15 -19
- package/dist/lib/cjs/obsidian/setting-components/tri-state-checkbox-component.d.cts +2 -2
- package/dist/lib/cjs/obsidian/setting-components/typed-dropdown-component.cjs +16 -20
- package/dist/lib/cjs/obsidian/setting-components/typed-dropdown-component.d.cts +2 -2
- package/dist/lib/cjs/obsidian/setting-components/typed-multiple-dropdown-component.cjs +18 -22
- package/dist/lib/cjs/obsidian/setting-components/typed-multiple-dropdown-component.d.cts +2 -2
- package/dist/lib/cjs/obsidian/setting-components/typed-range-text-component.cjs +11 -15
- package/dist/lib/cjs/obsidian/setting-components/typed-text-component.cjs +16 -19
- package/dist/lib/cjs/obsidian/setting-components/typed-text-component.d.cts +4 -4
- package/dist/lib/cjs/obsidian/setting-components/url-component.cjs +14 -18
- package/dist/lib/cjs/obsidian/setting-components/url-component.d.cts +2 -2
- package/dist/lib/cjs/obsidian/setting-components/validator-component.cjs +45 -49
- package/dist/lib/cjs/obsidian/setting-components/validator-component.d.cts +2 -2
- package/dist/lib/cjs/obsidian/setting-components/value-component-with-change-tracking.cjs +11 -15
- package/dist/lib/cjs/obsidian/setting-components/week-component.cjs +14 -18
- package/dist/lib/cjs/obsidian/setting-components/week-component.d.cts +2 -2
- package/dist/lib/cjs/obsidian/setting-ex.cjs +76 -80
- package/dist/lib/cjs/obsidian/setting-ex.d.cts +42 -42
- package/dist/lib/cjs/obsidian/setting-group-ex.cjs +14 -18
- package/dist/lib/cjs/obsidian/setting-group-ex.d.cts +2 -2
- package/dist/lib/cjs/obsidian/status-bar-item-registrar.cjs +11 -15
- package/dist/lib/cjs/obsidian/validation.cjs +11 -15
- package/dist/lib/cjs/obsidian/vault-delete.cjs +23 -20
- package/dist/lib/cjs/obsidian/vault-delete.d.cts +16 -2
- package/dist/lib/cjs/obsidian/vault-transaction.cjs +17 -18
- package/dist/lib/cjs/obsidian/vault.cjs +81 -63
- package/dist/lib/cjs/obsidian/vault.d.cts +32 -11
- package/dist/lib/cjs/obsidian/view-registrar.cjs +11 -15
- package/dist/lib/cjs/obsidian/workspace.cjs +12 -16
- package/dist/lib/cjs/obsidian-dev-utils-state.cjs +11 -15
- package/dist/lib/cjs/path.cjs +18 -22
- package/dist/lib/cjs/path.d.cts +1 -1
- package/dist/lib/cjs/reg-exp.cjs +38 -35
- package/dist/lib/cjs/reg-exp.d.cts +4 -4
- package/dist/lib/cjs/script-utils/build.cjs +21 -25
- package/dist/lib/cjs/script-utils/build.d.cts +1 -1
- package/dist/lib/cjs/script-utils/bundlers/esbuild-impl/change-extension-plugin.cjs +24 -28
- package/dist/lib/cjs/script-utils/bundlers/esbuild-impl/copy-to-obsidian-plugins-folder-plugin.cjs +36 -34
- package/dist/lib/cjs/script-utils/bundlers/esbuild-impl/custom-esbuild-options-plugin.cjs +11 -15
- package/dist/lib/cjs/script-utils/bundlers/esbuild-impl/dependency.cjs +20 -24
- package/dist/lib/cjs/script-utils/bundlers/esbuild-impl/fix-esm-plugin.cjs +13 -17
- package/dist/lib/cjs/script-utils/bundlers/esbuild-impl/fix-source-maps-plugin.cjs +16 -20
- package/dist/lib/cjs/script-utils/bundlers/esbuild-impl/index.cjs +11 -15
- package/dist/lib/cjs/script-utils/bundlers/esbuild-impl/obsidian-plugin-builder.cjs +11 -15
- package/dist/lib/cjs/script-utils/bundlers/esbuild-impl/obsidian-plugin-builder.d.cts +6 -2
- package/dist/lib/cjs/script-utils/bundlers/esbuild-impl/preprocess-plugin.cjs +32 -36
- package/dist/lib/cjs/script-utils/bundlers/esbuild-impl/rename-css-plugin.cjs +11 -15
- package/dist/lib/cjs/script-utils/bundlers/esbuild-impl/svelte-wrapper-plugin.cjs +11 -15
- package/dist/lib/cjs/script-utils/bundlers/esbuild.cjs +11 -15
- package/dist/lib/cjs/script-utils/bundlers/index.cjs +11 -15
- package/dist/lib/cjs/script-utils/check-project-types.cjs +13 -17
- package/dist/lib/cjs/script-utils/check-project-types.d.cts +12 -4
- package/dist/lib/cjs/script-utils/cli-utils.cjs +39 -47
- package/dist/lib/cjs/script-utils/cli-utils.d.cts +6 -6
- package/dist/lib/cjs/script-utils/code-generator.cjs +11 -15
- package/dist/lib/cjs/script-utils/commitlint-config.cjs +11 -15
- package/dist/lib/cjs/script-utils/demo-vault-coverage.cjs +22 -23
- package/dist/lib/cjs/script-utils/demo-vault.cjs +11 -15
- package/dist/lib/cjs/script-utils/env-toggle.cjs +13 -17
- package/dist/lib/cjs/script-utils/exec.cjs +40 -44
- package/dist/lib/cjs/script-utils/exec.d.cts +4 -4
- package/dist/lib/cjs/script-utils/formatters/dprint.cjs +12 -16
- package/dist/lib/cjs/script-utils/formatters/index.cjs +11 -15
- package/dist/lib/cjs/script-utils/fs.cjs +13 -17
- package/dist/lib/cjs/script-utils/git.cjs +11 -15
- package/dist/lib/cjs/script-utils/index.cjs +11 -15
- package/dist/lib/cjs/script-utils/json.cjs +15 -19
- package/dist/lib/cjs/script-utils/json.d.cts +2 -2
- package/dist/lib/cjs/script-utils/linters/cspell.cjs +12 -16
- package/dist/lib/cjs/script-utils/linters/eslint-agnostic-core-boundary.cjs +11 -15
- package/dist/lib/cjs/script-utils/linters/eslint-config.cjs +402 -16
- package/dist/lib/cjs/script-utils/linters/eslint-no-restricted-syntax.cjs +11 -15
- package/dist/lib/cjs/script-utils/linters/eslint-rules/index.cjs +11 -15
- package/dist/lib/cjs/script-utils/linters/eslint-rules/no-async-callback-to-unsafe-return.cjs +27 -31
- package/dist/lib/cjs/script-utils/linters/eslint-rules/no-async-callback-to-unsafe-return.d.cts +3 -1
- package/dist/lib/cjs/script-utils/linters/eslint-rules/no-unused-params-members.cjs +27 -31
- package/dist/lib/cjs/script-utils/linters/eslint-rules/no-unused-params-members.d.cts +3 -1
- package/dist/lib/cjs/script-utils/linters/eslint-rules/no-used-underscore-variables.cjs +21 -25
- package/dist/lib/cjs/script-utils/linters/eslint-rules/no-used-underscore-variables.d.cts +3 -1
- package/dist/lib/cjs/script-utils/linters/eslint-rules/obsidian-dev-utils-plugin.cjs +11 -15
- package/dist/lib/cjs/script-utils/linters/eslint-rules/params-options-name-match.cjs +109 -113
- package/dist/lib/cjs/script-utils/linters/eslint-rules/params-options-name-match.d.cts +3 -1
- package/dist/lib/cjs/script-utils/linters/eslint-rules/prefer-noop-async.cjs +13 -17
- package/dist/lib/cjs/script-utils/linters/eslint-rules/prefer-noop-async.d.cts +3 -1
- package/dist/lib/cjs/script-utils/linters/eslint-rules/readonly-params-options-result-members.cjs +21 -25
- package/dist/lib/cjs/script-utils/linters/eslint-rules/readonly-params-options-result-members.d.cts +3 -1
- package/dist/lib/cjs/script-utils/linters/eslint-rules/require-component-suffix.cjs +51 -55
- package/dist/lib/cjs/script-utils/linters/eslint-rules/require-component-suffix.d.cts +9 -3
- package/dist/lib/cjs/script-utils/linters/eslint-rules/require-method-template.cjs +25 -27
- package/dist/lib/cjs/script-utils/linters/eslint-rules/require-method-template.d.cts +6 -2
- package/dist/lib/cjs/script-utils/linters/eslint-rules/require-super-call.cjs +33 -37
- package/dist/lib/cjs/script-utils/linters/eslint-rules/require-super-call.d.cts +3 -1
- package/dist/lib/cjs/script-utils/linters/eslint-rules/rule-tester-helper.cjs +11 -15
- package/dist/lib/cjs/script-utils/linters/eslint.cjs +14 -18
- package/dist/lib/cjs/script-utils/linters/index.cjs +14 -15
- package/dist/lib/cjs/script-utils/linters/index.d.cts +1 -0
- package/dist/lib/cjs/script-utils/linters/markdownlint-cli2-config.cjs +18 -17
- package/dist/lib/cjs/script-utils/linters/markdownlint-cli2-config.d.cts +2 -2
- package/dist/lib/cjs/script-utils/linters/markdownlint-ignores.cjs +138 -0
- package/dist/lib/cjs/script-utils/linters/markdownlint-ignores.d.cts +35 -0
- package/dist/lib/cjs/script-utils/linters/markdownlint.cjs +20 -23
- package/dist/lib/cjs/script-utils/linters/over-exposure.cjs +18 -22
- package/dist/lib/cjs/script-utils/linters/over-exposure.d.cts +54 -18
- package/dist/lib/cjs/script-utils/nano-staged-config.cjs +11 -15
- package/dist/lib/cjs/script-utils/npm-publish.cjs +11 -15
- package/dist/lib/cjs/script-utils/npm-run.cjs +20 -17
- package/dist/lib/cjs/script-utils/npm-run.d.cts +16 -2
- package/dist/lib/cjs/script-utils/npm.cjs +21 -25
- package/dist/lib/cjs/script-utils/npm.d.cts +11 -11
- package/dist/lib/cjs/script-utils/obsidian-dev-utils-repo-paths.cjs +11 -15
- package/dist/lib/cjs/script-utils/obsidian-dev-utils-repo-paths.d.cts +165 -55
- package/dist/lib/cjs/script-utils/root.cjs +11 -15
- package/dist/lib/cjs/script-utils/test-runners/index.cjs +16 -17
- package/dist/lib/cjs/script-utils/test-runners/index.d.cts +1 -0
- package/dist/lib/cjs/script-utils/test-runners/integration-test-plugin.cjs +11 -15
- package/dist/lib/cjs/script-utils/test-runners/vitest-config.cjs +325 -0
- package/dist/lib/cjs/script-utils/test-runners/vitest-config.d.cts +118 -0
- package/dist/lib/cjs/script-utils/test-runners/vitest.cjs +11 -15
- package/dist/lib/cjs/script-utils/validate-declarations.cjs +11 -15
- package/dist/lib/cjs/script-utils/version.cjs +62 -63
- package/dist/lib/cjs/script-utils/version.d.cts +21 -21
- package/dist/lib/cjs/script-utils/warnings-as-errors.cjs +11 -15
- package/dist/lib/cjs/setup.cjs +11 -15
- package/dist/lib/cjs/setup.d.cts +1 -1
- package/dist/lib/cjs/strict-proxy.cjs +30 -34
- package/dist/lib/cjs/strict-proxy.d.cts +2 -2
- package/dist/lib/cjs/string.cjs +90 -93
- package/dist/lib/cjs/string.d.cts +60 -60
- package/dist/lib/cjs/transformers/date-transformer.cjs +11 -15
- package/dist/lib/cjs/transformers/duration-transformer.cjs +11 -15
- package/dist/lib/cjs/transformers/group-transformer.cjs +11 -15
- package/dist/lib/cjs/transformers/index.cjs +11 -15
- package/dist/lib/cjs/transformers/map-transformer.cjs +12 -16
- package/dist/lib/cjs/transformers/set-transformer.cjs +12 -16
- package/dist/lib/cjs/transformers/skip-private-property-transformer.cjs +11 -15
- package/dist/lib/cjs/transformers/transformer.cjs +11 -15
- package/dist/lib/cjs/transformers/two-way-map-transformer.cjs +12 -16
- package/dist/lib/cjs/transformers/typed-transformer.cjs +11 -15
- package/dist/lib/cjs/two-way-map.cjs +11 -15
- package/dist/lib/cjs/type-guards.cjs +16 -20
- package/dist/lib/cjs/type-guards.d.cts +6 -6
- package/dist/lib/cjs/type.cjs +13 -17
- package/dist/lib/cjs/type.d.cts +2 -2
- package/dist/lib/cjs/url.cjs +18 -22
- package/dist/lib/cjs/url.d.cts +4 -4
- package/dist/lib/cjs/value-provider.cjs +15 -19
- package/dist/lib/cjs/value-provider.d.cts +6 -6
- package/dist/lib/cjs/value-wrapper.cjs +11 -15
- package/dist/lib/cjs/vitest-setup.cjs +11 -15
- package/dist/lib/esm/__merged.d.mts +12 -10
- package/dist/lib/esm/__merged.mjs +51 -23
- package/dist/lib/esm/abort-controller.mjs +5 -8
- package/dist/lib/esm/array.d.mts +25 -7
- package/dist/lib/esm/array.mjs +16 -12
- package/dist/lib/esm/async-events.d.mts +50 -50
- package/dist/lib/esm/async-events.mjs +81 -78
- package/dist/lib/esm/async.d.mts +23 -23
- package/dist/lib/esm/async.mjs +70 -66
- package/dist/lib/esm/blob.mjs +4 -11
- package/dist/lib/esm/debug.d.mts +1 -1
- package/dist/lib/esm/debug.mjs +14 -18
- package/dist/lib/esm/disposable.d.mts +27 -8
- package/dist/lib/esm/disposable.mjs +47 -29
- package/dist/lib/esm/error.mjs +18 -19
- package/dist/lib/esm/function.d.mts +26 -26
- package/dist/lib/esm/function.mjs +20 -20
- package/dist/lib/esm/generated-during-build.mjs +1 -1
- package/dist/lib/esm/html-element.d.mts +15 -15
- package/dist/lib/esm/html-element.mjs +74 -75
- package/dist/lib/esm/object-utils.d.mts +27 -27
- package/dist/lib/esm/object-utils.mjs +109 -102
- package/dist/lib/esm/obsidian/@types/dataview/data-model/value.d.mts +1 -1
- package/dist/lib/esm/obsidian/@types/dataview/expression/field.d.mts +1 -1
- package/dist/lib/esm/obsidian/@types/dataview/expression/functions.d.mts +4 -4
- package/dist/lib/esm/obsidian/app.mjs +1 -1
- package/dist/lib/esm/obsidian/async-with-notice.d.mts +2 -2
- package/dist/lib/esm/obsidian/async-with-notice.mjs +18 -18
- package/dist/lib/esm/obsidian/attachment-path.d.mts +5 -5
- package/dist/lib/esm/obsidian/attachment-path.mjs +10 -10
- package/dist/lib/esm/obsidian/backlink.mjs +2 -2
- package/dist/lib/esm/obsidian/callout.d.mts +9 -3
- package/dist/lib/esm/obsidian/callout.mjs +17 -12
- package/dist/lib/esm/obsidian/canvas.mjs +3 -2
- package/dist/lib/esm/obsidian/case-insensitive-file-index.mjs +8 -6
- package/dist/lib/esm/obsidian/code-block-markdown-information.d.mts +2 -2
- package/dist/lib/esm/obsidian/command-handlers/abstract-file-command-handler.d.mts +5 -0
- package/dist/lib/esm/obsidian/command-handlers/abstract-file-command-handler.mjs +8 -2
- package/dist/lib/esm/obsidian/command-handlers/command-handler-component.d.mts +42 -8
- package/dist/lib/esm/obsidian/command-handlers/command-handler-component.mjs +46 -17
- package/dist/lib/esm/obsidian/command-handlers/command-handler.d.mts +10 -0
- package/dist/lib/esm/obsidian/command-handlers/command-handler.mjs +1 -1
- package/dist/lib/esm/obsidian/command-handlers/editor-command-handler.d.mts +8 -8
- package/dist/lib/esm/obsidian/command-handlers/editor-command-handler.mjs +16 -16
- package/dist/lib/esm/obsidian/command-handlers/file-command-handler.mjs +2 -2
- package/dist/lib/esm/obsidian/command-handlers/folder-command-handler.mjs +2 -2
- package/dist/lib/esm/obsidian/command-handlers/global-command-handler.mjs +3 -3
- package/dist/lib/esm/obsidian/community-plugins.d.mts +19 -5
- package/dist/lib/esm/obsidian/community-plugins.mjs +17 -11
- package/dist/lib/esm/obsidian/components/all-windows-event-component.d.mts +4 -4
- package/dist/lib/esm/obsidian/components/all-windows-event-component.mjs +1 -1
- package/dist/lib/esm/obsidian/components/async-error-handler-component.mjs +3 -2
- package/dist/lib/esm/obsidian/components/component-ex.d.mts +3 -3
- package/dist/lib/esm/obsidian/components/component-ex.mjs +16 -14
- package/dist/lib/esm/obsidian/components/console-debug-component.d.mts +2 -2
- package/dist/lib/esm/obsidian/components/console-debug-component.mjs +4 -4
- package/dist/lib/esm/obsidian/components/index.d.mts +1 -0
- package/dist/lib/esm/obsidian/components/index.mjs +3 -1
- package/dist/lib/esm/obsidian/components/menu-event-registrar-component.mjs +5 -5
- package/dist/lib/esm/obsidian/components/monkey-around-component.d.mts +55 -55
- package/dist/lib/esm/obsidian/components/monkey-around-component.mjs +19 -19
- package/dist/lib/esm/obsidian/components/notebook-navigator-menu-event-registrar-component.d.mts +139 -0
- package/dist/lib/esm/obsidian/components/notebook-navigator-menu-event-registrar-component.mjs +196 -0
- package/dist/lib/esm/obsidian/components/plugin-notice-component.mjs +18 -17
- package/dist/lib/esm/obsidian/components/plugin-settings-component.d.mts +8 -8
- package/dist/lib/esm/obsidian/components/plugin-settings-component.mjs +18 -18
- package/dist/lib/esm/obsidian/components/pointer-position-component.mjs +3 -3
- package/dist/lib/esm/obsidian/components/rename-delete-handler-component.d.mts +12 -1
- package/dist/lib/esm/obsidian/components/rename-delete-handler-component.mjs +62 -48
- package/dist/lib/esm/obsidian/components/syntax-highlighting-component.d.mts +8 -8
- package/dist/lib/esm/obsidian/components/syntax-highlighting-component.mjs +6 -6
- package/dist/lib/esm/obsidian/constructors/get-dom-events-handlers-constructor.mjs +4 -4
- package/dist/lib/esm/obsidian/data-handler.mjs +1 -1
- package/dist/lib/esm/obsidian/dataview-link.mjs +3 -3
- package/dist/lib/esm/obsidian/dataview.d.mts +2 -2
- package/dist/lib/esm/obsidian/dataview.mjs +25 -27
- package/dist/lib/esm/obsidian/demo-vault-helper.mjs +4 -3
- package/dist/lib/esm/obsidian/desktop-demo-vault-opener.mjs +12 -12
- package/dist/lib/esm/obsidian/desktop-trusted-input.mjs +13 -7
- package/dist/lib/esm/obsidian/editor.mjs +7 -5
- package/dist/lib/esm/obsidian/events.d.mts +2 -2
- package/dist/lib/esm/obsidian/events.mjs +2 -2
- package/dist/lib/esm/obsidian/file-change.d.mts +3 -3
- package/dist/lib/esm/obsidian/file-change.mjs +67 -67
- package/dist/lib/esm/obsidian/file-manager.d.mts +20 -1
- package/dist/lib/esm/obsidian/file-manager.mjs +22 -8
- package/dist/lib/esm/obsidian/file-system.d.mts +3 -3
- package/dist/lib/esm/obsidian/file-system.mjs +4 -4
- package/dist/lib/esm/obsidian/frontmatter.mjs +5 -5
- package/dist/lib/esm/obsidian/html-element.d.mts +2 -2
- package/dist/lib/esm/obsidian/html-element.mjs +3 -3
- package/dist/lib/esm/obsidian/i18n/i18n.d.mts +7 -0
- package/dist/lib/esm/obsidian/i18n/i18n.mjs +3 -2
- package/dist/lib/esm/obsidian/index.d.mts +1 -0
- package/dist/lib/esm/obsidian/index.mjs +3 -1
- package/dist/lib/esm/obsidian/link.d.mts +22 -22
- package/dist/lib/esm/obsidian/link.mjs +76 -62
- package/dist/lib/esm/obsidian/logger.d.mts +5 -5
- package/dist/lib/esm/obsidian/logger.mjs +11 -11
- package/dist/lib/esm/obsidian/loop.d.mts +1 -1
- package/dist/lib/esm/obsidian/loop.mjs +4 -4
- package/dist/lib/esm/obsidian/markdown-code-block-processor-registrar.d.mts +3 -3
- package/dist/lib/esm/obsidian/markdown-code-block-processor-registrar.mjs +2 -2
- package/dist/lib/esm/obsidian/markdown-code-block-processor.d.mts +3 -3
- package/dist/lib/esm/obsidian/markdown-code-block-processor.mjs +25 -26
- package/dist/lib/esm/obsidian/markdown-post-processor-registrar.d.mts +3 -3
- package/dist/lib/esm/obsidian/markdown-post-processor-registrar.mjs +2 -2
- package/dist/lib/esm/obsidian/markdown.mjs +12 -10
- package/dist/lib/esm/obsidian/menu-event-registrar.d.mts +1 -1
- package/dist/lib/esm/obsidian/metadata-cache.d.mts +2 -2
- package/dist/lib/esm/obsidian/metadata-cache.mjs +6 -6
- package/dist/lib/esm/obsidian/modals/confirm.mjs +1 -1
- package/dist/lib/esm/obsidian/modals/minimizable-modal.mjs +18 -18
- package/dist/lib/esm/obsidian/modals/select-item.d.mts +1 -1
- package/dist/lib/esm/obsidian/modals/select-item.mjs +6 -6
- package/dist/lib/esm/obsidian/modals/suggest-modal-command-builder.d.mts +5 -5
- package/dist/lib/esm/obsidian/modals/suggest-modal-command-builder.mjs +16 -14
- package/dist/lib/esm/obsidian/notebook-navigator.d.mts +132 -0
- package/dist/lib/esm/obsidian/notebook-navigator.mjs +49 -0
- package/dist/lib/esm/obsidian/parse-link.d.mts +4 -4
- package/dist/lib/esm/obsidian/parse-link.mjs +51 -48
- package/dist/lib/esm/obsidian/path-settings.mjs +17 -11
- package/dist/lib/esm/obsidian/pdf.d.mts +2 -2
- package/dist/lib/esm/obsidian/pdf.mjs +3 -3
- package/dist/lib/esm/obsidian/plugin/obsidian-plugin-repo-paths.d.mts +156 -52
- package/dist/lib/esm/obsidian/plugin/obsidian-plugin-repo-paths.mjs +1 -1
- package/dist/lib/esm/obsidian/plugin/plugin-context.d.mts +2 -2
- package/dist/lib/esm/obsidian/plugin/plugin-context.mjs +7 -7
- package/dist/lib/esm/obsidian/plugin/plugin-event-source.d.mts +11 -9
- package/dist/lib/esm/obsidian/plugin/plugin-event-source.mjs +10 -10
- package/dist/lib/esm/obsidian/plugin/plugin-settings-tab.mjs +20 -20
- package/dist/lib/esm/obsidian/plugin/plugin.d.mts +11 -1
- package/dist/lib/esm/obsidian/plugin/plugin.mjs +23 -2
- package/dist/lib/esm/obsidian/popovers/popover-anchor.d.mts +2 -2
- package/dist/lib/esm/obsidian/popovers/popover-anchor.mjs +4 -4
- package/dist/lib/esm/obsidian/popovers/popover.mjs +9 -9
- package/dist/lib/esm/obsidian/queue.d.mts +2 -2
- package/dist/lib/esm/obsidian/queue.mjs +6 -6
- package/dist/lib/esm/obsidian/resource-lock.d.mts +5 -0
- package/dist/lib/esm/obsidian/resource-lock.mjs +147 -64
- package/dist/lib/esm/obsidian/resource-url.mjs +2 -2
- package/dist/lib/esm/obsidian/ribbon-icon-registrar.d.mts +2 -2
- package/dist/lib/esm/obsidian/ribbon-icon-registrar.mjs +1 -1
- package/dist/lib/esm/obsidian/setting-components/checkbox-component.d.mts +5 -5
- package/dist/lib/esm/obsidian/setting-components/checkbox-component.mjs +8 -8
- package/dist/lib/esm/obsidian/setting-components/code-highlighter-component.d.mts +2 -2
- package/dist/lib/esm/obsidian/setting-components/code-highlighter-component.mjs +18 -17
- package/dist/lib/esm/obsidian/setting-components/date-component.d.mts +2 -2
- package/dist/lib/esm/obsidian/setting-components/date-component.mjs +4 -4
- package/dist/lib/esm/obsidian/setting-components/date-time-component.d.mts +2 -2
- package/dist/lib/esm/obsidian/setting-components/date-time-component.mjs +4 -4
- package/dist/lib/esm/obsidian/setting-components/email-component.d.mts +2 -2
- package/dist/lib/esm/obsidian/setting-components/email-component.mjs +4 -4
- package/dist/lib/esm/obsidian/setting-components/month-component.d.mts +2 -2
- package/dist/lib/esm/obsidian/setting-components/month-component.mjs +4 -4
- package/dist/lib/esm/obsidian/setting-components/multiple-dropdown-component.d.mts +2 -2
- package/dist/lib/esm/obsidian/setting-components/multiple-dropdown-component.mjs +7 -7
- package/dist/lib/esm/obsidian/setting-components/multiple-email-component.d.mts +2 -2
- package/dist/lib/esm/obsidian/setting-components/multiple-email-component.mjs +4 -4
- package/dist/lib/esm/obsidian/setting-components/multiple-file-component.mjs +2 -2
- package/dist/lib/esm/obsidian/setting-components/multiple-text-component.d.mts +2 -2
- package/dist/lib/esm/obsidian/setting-components/multiple-text-component.mjs +5 -5
- package/dist/lib/esm/obsidian/setting-components/number-component.d.mts +2 -2
- package/dist/lib/esm/obsidian/setting-components/number-component.mjs +4 -4
- package/dist/lib/esm/obsidian/setting-components/password-component.d.mts +2 -2
- package/dist/lib/esm/obsidian/setting-components/password-component.mjs +4 -4
- package/dist/lib/esm/obsidian/setting-components/setting-component-wrapper.d.mts +2 -2
- package/dist/lib/esm/obsidian/setting-components/setting-component-wrapper.mjs +6 -6
- package/dist/lib/esm/obsidian/setting-components/telephone-component.d.mts +2 -2
- package/dist/lib/esm/obsidian/setting-components/telephone-component.mjs +4 -4
- package/dist/lib/esm/obsidian/setting-components/text-based-component.d.mts +2 -2
- package/dist/lib/esm/obsidian/setting-components/text-based-component.mjs +6 -6
- package/dist/lib/esm/obsidian/setting-components/time-component.d.mts +2 -2
- package/dist/lib/esm/obsidian/setting-components/time-component.mjs +4 -4
- package/dist/lib/esm/obsidian/setting-components/tri-state-checkbox-component.d.mts +2 -2
- package/dist/lib/esm/obsidian/setting-components/tri-state-checkbox-component.mjs +5 -5
- package/dist/lib/esm/obsidian/setting-components/typed-dropdown-component.d.mts +2 -2
- package/dist/lib/esm/obsidian/setting-components/typed-dropdown-component.mjs +6 -6
- package/dist/lib/esm/obsidian/setting-components/typed-multiple-dropdown-component.d.mts +2 -2
- package/dist/lib/esm/obsidian/setting-components/typed-multiple-dropdown-component.mjs +8 -8
- package/dist/lib/esm/obsidian/setting-components/typed-text-component.d.mts +4 -4
- package/dist/lib/esm/obsidian/setting-components/typed-text-component.mjs +6 -5
- package/dist/lib/esm/obsidian/setting-components/url-component.d.mts +2 -2
- package/dist/lib/esm/obsidian/setting-components/url-component.mjs +4 -4
- package/dist/lib/esm/obsidian/setting-components/validator-component.d.mts +2 -2
- package/dist/lib/esm/obsidian/setting-components/validator-component.mjs +35 -35
- package/dist/lib/esm/obsidian/setting-components/week-component.d.mts +2 -2
- package/dist/lib/esm/obsidian/setting-components/week-component.mjs +4 -4
- package/dist/lib/esm/obsidian/setting-ex.d.mts +42 -42
- package/dist/lib/esm/obsidian/setting-ex.mjs +66 -66
- package/dist/lib/esm/obsidian/setting-group-ex.d.mts +2 -2
- package/dist/lib/esm/obsidian/setting-group-ex.mjs +4 -4
- package/dist/lib/esm/obsidian/vault-delete.d.mts +16 -2
- package/dist/lib/esm/obsidian/vault-delete.mjs +12 -6
- package/dist/lib/esm/obsidian/vault-transaction.mjs +8 -4
- package/dist/lib/esm/obsidian/vault.d.mts +32 -11
- package/dist/lib/esm/obsidian/vault.mjs +67 -47
- package/dist/lib/esm/obsidian/view-registrar.mjs +1 -1
- package/dist/lib/esm/obsidian/workspace.mjs +2 -2
- package/dist/lib/esm/path.d.mts +1 -1
- package/dist/lib/esm/path.mjs +7 -7
- package/dist/lib/esm/reg-exp.d.mts +4 -4
- package/dist/lib/esm/reg-exp.mjs +28 -21
- package/dist/lib/esm/script-utils/build.d.mts +1 -1
- package/dist/lib/esm/script-utils/build.mjs +15 -12
- package/dist/lib/esm/script-utils/bundlers/esbuild-impl/change-extension-plugin.mjs +14 -14
- package/dist/lib/esm/script-utils/bundlers/esbuild-impl/copy-to-obsidian-plugins-folder-plugin.mjs +26 -20
- package/dist/lib/esm/script-utils/bundlers/esbuild-impl/dependency.mjs +10 -10
- package/dist/lib/esm/script-utils/bundlers/esbuild-impl/fix-esm-plugin.mjs +3 -3
- package/dist/lib/esm/script-utils/bundlers/esbuild-impl/fix-source-maps-plugin.mjs +6 -6
- package/dist/lib/esm/script-utils/bundlers/esbuild-impl/obsidian-plugin-builder.d.mts +6 -2
- package/dist/lib/esm/script-utils/bundlers/esbuild-impl/obsidian-plugin-builder.mjs +1 -1
- package/dist/lib/esm/script-utils/bundlers/esbuild-impl/preprocess-plugin.mjs +20 -20
- package/dist/lib/esm/script-utils/check-project-types.d.mts +12 -4
- package/dist/lib/esm/script-utils/check-project-types.mjs +3 -3
- package/dist/lib/esm/script-utils/cli-utils.d.mts +6 -6
- package/dist/lib/esm/script-utils/cli-utils.mjs +29 -33
- package/dist/lib/esm/script-utils/demo-vault-coverage.mjs +12 -9
- package/dist/lib/esm/script-utils/env-toggle.mjs +3 -3
- package/dist/lib/esm/script-utils/exec.d.mts +4 -4
- package/dist/lib/esm/script-utils/exec.mjs +32 -32
- package/dist/lib/esm/script-utils/formatters/dprint.mjs +2 -2
- package/dist/lib/esm/script-utils/fs.mjs +3 -3
- package/dist/lib/esm/script-utils/json.d.mts +2 -2
- package/dist/lib/esm/script-utils/json.mjs +5 -5
- package/dist/lib/esm/script-utils/linters/cspell.mjs +2 -2
- package/dist/lib/esm/script-utils/linters/eslint-config.mjs +392 -2
- package/dist/lib/esm/script-utils/linters/eslint-rules/no-async-callback-to-unsafe-return.d.mts +3 -1
- package/dist/lib/esm/script-utils/linters/eslint-rules/no-async-callback-to-unsafe-return.mjs +17 -17
- package/dist/lib/esm/script-utils/linters/eslint-rules/no-unused-params-members.d.mts +3 -1
- package/dist/lib/esm/script-utils/linters/eslint-rules/no-unused-params-members.mjs +17 -17
- package/dist/lib/esm/script-utils/linters/eslint-rules/no-used-underscore-variables.d.mts +3 -1
- package/dist/lib/esm/script-utils/linters/eslint-rules/no-used-underscore-variables.mjs +11 -11
- package/dist/lib/esm/script-utils/linters/eslint-rules/params-options-name-match.d.mts +3 -1
- package/dist/lib/esm/script-utils/linters/eslint-rules/params-options-name-match.mjs +99 -99
- package/dist/lib/esm/script-utils/linters/eslint-rules/prefer-noop-async.d.mts +3 -1
- package/dist/lib/esm/script-utils/linters/eslint-rules/prefer-noop-async.mjs +3 -3
- package/dist/lib/esm/script-utils/linters/eslint-rules/readonly-params-options-result-members.d.mts +3 -1
- package/dist/lib/esm/script-utils/linters/eslint-rules/readonly-params-options-result-members.mjs +11 -11
- package/dist/lib/esm/script-utils/linters/eslint-rules/require-component-suffix.d.mts +9 -3
- package/dist/lib/esm/script-utils/linters/eslint-rules/require-component-suffix.mjs +41 -41
- package/dist/lib/esm/script-utils/linters/eslint-rules/require-method-template.d.mts +6 -2
- package/dist/lib/esm/script-utils/linters/eslint-rules/require-method-template.mjs +15 -13
- package/dist/lib/esm/script-utils/linters/eslint-rules/require-super-call.d.mts +3 -1
- package/dist/lib/esm/script-utils/linters/eslint-rules/require-super-call.mjs +23 -23
- package/dist/lib/esm/script-utils/linters/eslint.mjs +4 -4
- package/dist/lib/esm/script-utils/linters/index.d.mts +1 -0
- package/dist/lib/esm/script-utils/linters/index.mjs +3 -1
- package/dist/lib/esm/script-utils/linters/markdownlint-cli2-config.d.mts +2 -2
- package/dist/lib/esm/script-utils/linters/markdownlint-cli2-config.mjs +8 -3
- package/dist/lib/esm/script-utils/linters/markdownlint-ignores.d.mts +35 -0
- package/dist/lib/esm/script-utils/linters/markdownlint-ignores.mjs +33 -0
- package/dist/lib/esm/script-utils/linters/markdownlint.mjs +13 -9
- package/dist/lib/esm/script-utils/linters/over-exposure.d.mts +54 -18
- package/dist/lib/esm/script-utils/linters/over-exposure.mjs +8 -8
- package/dist/lib/esm/script-utils/npm-run.d.mts +16 -2
- package/dist/lib/esm/script-utils/npm-run.mjs +9 -3
- package/dist/lib/esm/script-utils/npm.d.mts +11 -11
- package/dist/lib/esm/script-utils/npm.mjs +11 -11
- package/dist/lib/esm/script-utils/obsidian-dev-utils-repo-paths.d.mts +165 -55
- package/dist/lib/esm/script-utils/obsidian-dev-utils-repo-paths.mjs +1 -1
- package/dist/lib/esm/script-utils/test-runners/index.d.mts +1 -0
- package/dist/lib/esm/script-utils/test-runners/index.mjs +4 -2
- package/dist/lib/esm/script-utils/test-runners/vitest-config.d.mts +118 -0
- package/dist/lib/esm/script-utils/test-runners/vitest-config.mjs +210 -0
- package/dist/lib/esm/script-utils/validate-declarations.mjs +1 -1
- package/dist/lib/esm/script-utils/version.d.mts +21 -21
- package/dist/lib/esm/script-utils/version.mjs +48 -45
- package/dist/lib/esm/setup.d.mts +1 -1
- package/dist/lib/esm/setup.mjs +1 -1
- package/dist/lib/esm/strict-proxy.d.mts +2 -2
- package/dist/lib/esm/strict-proxy.mjs +20 -20
- package/dist/lib/esm/string.d.mts +60 -60
- package/dist/lib/esm/string.mjs +80 -79
- package/dist/lib/esm/transformers/map-transformer.mjs +2 -2
- package/dist/lib/esm/transformers/set-transformer.mjs +2 -2
- package/dist/lib/esm/transformers/two-way-map-transformer.mjs +2 -2
- package/dist/lib/esm/type-guards.d.mts +6 -6
- package/dist/lib/esm/type-guards.mjs +6 -6
- package/dist/lib/esm/type.d.mts +2 -2
- package/dist/lib/esm/type.mjs +3 -3
- package/dist/lib/esm/url.d.mts +4 -4
- package/dist/lib/esm/url.mjs +8 -8
- package/dist/lib/esm/value-provider.d.mts +6 -6
- package/dist/lib/esm/value-provider.mjs +5 -5
- package/dist/templates/scripts/vitest-config.ts +2 -88
- package/obsidian/components/notebook-navigator-menu-event-registrar-component/package.json +6 -0
- package/obsidian/notebook-navigator/package.json +6 -0
- package/package.json +17 -33
- package/script-utils/linters/markdownlint-ignores/package.json +6 -0
- package/script-utils/test-runners/vitest-config/package.json +6 -0
|
@@ -40,16 +40,11 @@ if you want to view the source, please visit the github repository of this plugi
|
|
|
40
40
|
globalThisRecord[key] ??= newFuncs[key]?.();
|
|
41
41
|
}
|
|
42
42
|
|
|
43
|
-
function name(obj) {
|
|
44
|
-
return obj;
|
|
45
|
-
}
|
|
46
|
-
|
|
47
43
|
function extractDefault(module) {
|
|
48
44
|
return module && module.__esModule && 'default' in module ? module.default : module;
|
|
49
45
|
}
|
|
50
46
|
|
|
51
|
-
const OBSIDIAN_BUILT_IN_MODULE_NAMES = [
|
|
52
|
-
'obsidian',
|
|
47
|
+
const OBSIDIAN_BUILT_IN_MODULE_NAMES = new Set([
|
|
53
48
|
'@codemirror/autocomplete',
|
|
54
49
|
'@codemirror/collab',
|
|
55
50
|
'@codemirror/commands',
|
|
@@ -60,11 +55,12 @@ if you want to view the source, please visit the github repository of this plugi
|
|
|
60
55
|
'@codemirror/text',
|
|
61
56
|
'@codemirror/view',
|
|
62
57
|
'@lezer/common',
|
|
58
|
+
'@lezer/highlight',
|
|
63
59
|
'@lezer/lr',
|
|
64
|
-
'
|
|
65
|
-
|
|
60
|
+
'obsidian']
|
|
61
|
+
);
|
|
66
62
|
|
|
67
|
-
const DEPRECATED_OBSIDIAN_BUILT_IN_MODULE_NAMES = [
|
|
63
|
+
const DEPRECATED_OBSIDIAN_BUILT_IN_MODULE_NAMES = new Set([
|
|
68
64
|
'@codemirror/closebrackets',
|
|
69
65
|
'@codemirror/comment',
|
|
70
66
|
'@codemirror/fold',
|
|
@@ -76,11 +72,11 @@ if you want to view the source, please visit the github repository of this plugi
|
|
|
76
72
|
'@codemirror/rangeset',
|
|
77
73
|
'@codemirror/rectangular-selection',
|
|
78
74
|
'@codemirror/stream-parser',
|
|
79
|
-
'@codemirror/tooltip']
|
|
80
|
-
|
|
75
|
+
'@codemirror/tooltip']
|
|
76
|
+
);
|
|
81
77
|
|
|
82
78
|
function requirePatched(id) {
|
|
83
|
-
if (OBSIDIAN_BUILT_IN_MODULE_NAMES.
|
|
79
|
+
if (OBSIDIAN_BUILT_IN_MODULE_NAMES.has(id) || DEPRECATED_OBSIDIAN_BUILT_IN_MODULE_NAMES.has(id)) {
|
|
84
80
|
return originalRequire?.(id);
|
|
85
81
|
}
|
|
86
82
|
|
|
@@ -89,8 +85,8 @@ if you want to view the source, please visit the github repository of this plugi
|
|
|
89
85
|
if (id === 'process' || id === 'node:process') {
|
|
90
86
|
// eslint-disable-next-line no-console -- Valid usage.
|
|
91
87
|
console.debug(`The most likely you can safely ignore this error. Module not found: ${id}. Fake process object is returned instead.`);
|
|
92
|
-
|
|
93
|
-
return
|
|
88
|
+
|
|
89
|
+
return process;
|
|
94
90
|
}
|
|
95
91
|
} else {
|
|
96
92
|
const module = originalRequire?.(id);
|
|
@@ -141,8 +137,8 @@ const requireMethodTemplate = {
|
|
|
141
137
|
return {
|
|
142
138
|
"MethodDefinition"(node) {
|
|
143
139
|
const methodNode = node;
|
|
144
|
-
const
|
|
145
|
-
const typeParams =
|
|
140
|
+
const functionExpression = methodNode.value;
|
|
141
|
+
const typeParams = functionExpression.typeParameters?.params;
|
|
146
142
|
if (!typeParams || typeParams.length === 0) {
|
|
147
143
|
return;
|
|
148
144
|
}
|
|
@@ -152,17 +148,18 @@ const requireMethodTemplate = {
|
|
|
152
148
|
if (!jsdocComment) {
|
|
153
149
|
return;
|
|
154
150
|
}
|
|
155
|
-
const parsedTags =
|
|
151
|
+
const parsedTags = parseTypeParameterTags({
|
|
156
152
|
commentBody: jsdocComment.value,
|
|
157
153
|
tagName: preferredTagName
|
|
158
154
|
});
|
|
159
|
-
for (const
|
|
160
|
-
const
|
|
161
|
-
const matchingTag = parsedTags.find((tag) => tag.name ===
|
|
155
|
+
for (const typeParameter of typeParams) {
|
|
156
|
+
const parameterName = typeParameter.name.name;
|
|
157
|
+
const matchingTag = parsedTags.find((tag) => tag.name === parameterName);
|
|
162
158
|
if (!matchingTag) {
|
|
163
159
|
context.report({
|
|
164
160
|
data: {
|
|
165
|
-
paramName
|
|
161
|
+
// eslint-disable-next-line unicorn/name-replacements -- `paramName` is the placeholder this rule's own message template reads.
|
|
162
|
+
paramName: parameterName,
|
|
166
163
|
tagName: preferredTagName
|
|
167
164
|
},
|
|
168
165
|
messageId: MESSAGE_ID_MISSING_TEMPLATE,
|
|
@@ -171,7 +168,8 @@ const requireMethodTemplate = {
|
|
|
171
168
|
} else if (!matchingTag.hasDescription) {
|
|
172
169
|
context.report({
|
|
173
170
|
data: {
|
|
174
|
-
paramName
|
|
171
|
+
// eslint-disable-next-line unicorn/name-replacements -- `paramName` is the placeholder this rule's own message template reads.
|
|
172
|
+
paramName: parameterName,
|
|
175
173
|
tagName: preferredTagName
|
|
176
174
|
},
|
|
177
175
|
messageId: MESSAGE_ID_MISSING_TEMPLATE_DESCRIPTION,
|
|
@@ -195,18 +193,18 @@ const requireMethodTemplate = {
|
|
|
195
193
|
}
|
|
196
194
|
};
|
|
197
195
|
function findJsdocComment(comments) {
|
|
198
|
-
for (let
|
|
199
|
-
const comment = comments[
|
|
196
|
+
for (let index = comments.length - 1; index >= 0; index--) {
|
|
197
|
+
const comment = comments[index];
|
|
200
198
|
if (comment?.type === "Block" && comment.value.startsWith("*")) {
|
|
201
199
|
return comment;
|
|
202
200
|
}
|
|
203
201
|
}
|
|
204
202
|
return void 0;
|
|
205
203
|
}
|
|
206
|
-
function
|
|
204
|
+
function parseTypeParameterTags(params) {
|
|
207
205
|
const { commentBody, tagName } = params;
|
|
208
206
|
const tags = [];
|
|
209
|
-
const tagPattern = new RegExp(`@(?:${tagName}|template|typeParam)
|
|
207
|
+
const tagPattern = new RegExp(String.raw`@(?:${tagName}|template|typeParam)\s+(?<typeName>[\w$]+)(?<rest>.*)`, "g");
|
|
210
208
|
let match;
|
|
211
209
|
while ((match = tagPattern.exec(commentBody)) !== null) {
|
|
212
210
|
const name = (0, import_reg_exp.getMandatoryNamedGroup)(match, "typeName");
|
|
@@ -222,4 +220,4 @@ function parseTypeParamTags(params) {
|
|
|
222
220
|
MESSAGE_ID_MISSING_TEMPLATE_DESCRIPTION,
|
|
223
221
|
requireMethodTemplate
|
|
224
222
|
});
|
|
225
|
-
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL3NjcmlwdC11dGlscy9saW50ZXJzL2VzbGludC1ydWxlcy9yZXF1aXJlLW1ldGhvZC10ZW1wbGF0ZS50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsiLyoqXG4gKiBAZmlsZVxuICpcbiAqIEVTTGludCBydWxlOiByZXF1aXJlLW1ldGhvZC10ZW1wbGF0ZVxuICpcbiAqIFJlcXVpcmVzIHRoYXQgZ2VuZXJpYyBtZXRob2RzIChtZXRob2RzIHdpdGggdHlwZSBwYXJhbWV0ZXJzKSBoYXZlXG4gKiBjb3JyZXNwb25kaW5nIGBAdHlwZVBhcmFtYCAob3IgYEB0ZW1wbGF0ZWApIEpTRG9jIHRhZ3MgZm9yIGVhY2ggdHlwZSBwYXJhbWV0ZXIuXG4gKlxuICogVGhpcyBmaWxscyBhIGdhcCBpbiBgZXNsaW50LXBsdWdpbi1qc2RvY2AncyBgcmVxdWlyZS10ZW1wbGF0ZWAgcnVsZSwgd2hpY2hcbiAqIG9ubHkgY2hlY2tzIHRvcC1sZXZlbCBkZWNsYXJhdGlvbnMgKGZ1bmN0aW9ucywgY2xhc3NlcywgaW50ZXJmYWNlcywgdHlwZSBhbGlhc2VzKVxuICogYnV0IG5vdCBtZXRob2RzIHdpdGhpbiBjbGFzc2VzLlxuICpcbiAqIEBzZWUge0BsaW5rIGh0dHBzOi8vZ2l0aHViLmNvbS9nYWp1cy9lc2xpbnQtcGx1Z2luLWpzZG9jL2lzc3Vlcy8xMzg2fVxuICovXG5pbXBvcnQgdHlwZSB7IFRTRVNUcmVlIH0gZnJvbSAnQHR5cGVzY3JpcHQtZXNsaW50L3V0aWxzJztcbmltcG9ydCB0eXBlIHsgUnVsZSB9IGZyb20gJ2VzbGludCc7XG5pbXBvcnQgdHlwZSB7IENvbW1lbnQgfSBmcm9tICdlc3RyZWUnO1xuXG5pbXBvcnQgeyBnZXRNYW5kYXRvcnlOYW1lZEdyb3VwIH0gZnJvbSAnLi4vLi4vLi4vcmVnLWV4cC50cyc7XG5cbmludGVyZmFjZSBKc2RvY1NldHRpbmdzIHtcbiAgdGFnTmFtZVByZWZlcmVuY2U/OiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+O1xufVxuXG5jb25zdCBUQUdfTkFNRSA9ICd0eXBlUGFyYW0nO1xuXG4vKiogTWVzc2FnZSBJRCByZXBvcnRlZCB3aGVuIGEgbWV0aG9kIHR5cGUgcGFyYW1ldGVyIGhhcyBubyBtYXRjaGluZyBgQHR5cGVQYXJhbWAgdGFnLiAqL1xuZXhwb3J0IGNvbnN0IE1FU1NBR0VfSURfTUlTU0lOR19URU1QTEFURSA9ICdtaXNzaW5nVGVtcGxhdGUnO1xuXG4vKiogTWVzc2FnZSBJRCByZXBvcnRlZCB3aGVuIGEgbWV0aG9kJ3MgYEB0eXBlUGFyYW1gIHRhZyBpcyBtaXNzaW5nIGEgZGVzY3JpcHRpb24uICovXG5leHBvcnQgY29uc3QgTUVTU0FHRV9JRF9NSVNTSU5HX1RFTVBMQVRFX0RFU0NSSVBUSU9OID0gJ21pc3NpbmdUZW1wbGF0ZURlc2NyaXB0aW9uJztcblxuZXhwb3J0IGNvbnN0IHJlcXVpcmVNZXRob2RUZW1wbGF0ZTogUnVsZS5SdWxlTW9kdWxlID0ge1xuICBjcmVhdGUoY29udGV4dCkge1xuICAgIGNvbnN0IHNldHRpbmdzID0gY29udGV4dC5zZXR0aW5nc1snanNkb2MnXSBhcyBKc2RvY1NldHRpbmdzIHwgdW5kZWZpbmVkO1xuICAgIGNvbnN0IHByZWZlcnJlZFRhZ05hbWUgPSBzZXR0aW5ncz8udGFnTmFtZVByZWZlcmVuY2U/LlsndGVtcGxhdGUnXSA/PyBUQUdfTkFNRTtcblxuICAgIHJldHVybiB7XG4gICAgICAnTWV0aG9kRGVmaW5pdGlvbicobm9kZTogUnVsZS5Ob2RlKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IG1ldGhvZE5vZGUgPSBub2RlIGFzIFRTRVNUcmVlLk1ldGhvZERlZmluaXRpb247XG4gICAgICAgIGNvbnN0IGZ1bmN0aW9uRXhwciA9IG1ldGhvZE5vZGUudmFsdWU7XG5cbiAgICAgICAgY29uc3QgdHlwZVBhcmFtcyA9IGZ1bmN0aW9uRXhwci50eXBlUGFyYW1ldGVycz8ucGFyYW1zO1xuICAgICAgICBpZiAoIXR5cGVQYXJhbXMgfHwgdHlwZVBhcmFtcy5sZW5ndGggPT09IDApIHtcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBzb3VyY2VDb2RlID0gY29udGV4dC5zb3VyY2VDb2RlO1xuICAgICAgICBjb25zdCBjb21tZW50cyA9IHNvdXJjZUNvZGUuZ2V0Q29tbWVudHNCZWZvcmUobm9kZSk7XG4gICAgICAgIGNvbnN0IGpzZG9jQ29tbWVudCA9IGZpbmRKc2RvY0NvbW1lbnQoY29tbWVudHMpO1xuXG4gICAgICAgIGlmICghanNkb2NDb21tZW50KSB7XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgcGFyc2VkVGFncyA9IHBhcnNlVHlwZVBhcmFtVGFncyh7XG4gICAgICAgICAgY29tbWVudEJvZHk6IGpzZG9jQ29tbWVudC52YWx1ZSxcbiAgICAgICAgICB0YWdOYW1lOiBwcmVmZXJyZWRUYWdOYW1lXG4gICAgICAgIH0pO1xuXG4gICAgICAgIGZvciAoY29uc3QgdHlwZVBhcmFtIG9mIHR5cGVQYXJhbXMpIHtcbiAgICAgICAgICBjb25zdCBwYXJhbU5hbWUgPSB0eXBlUGFyYW0ubmFtZS5uYW1lO1xuICAgICAgICAgIGNvbnN0IG1hdGNoaW5nVGFnID0gcGFyc2VkVGFncy5maW5kKCh0YWcpID0+IHRhZy5uYW1lID09PSBwYXJhbU5hbWUpO1xuXG4gICAgICAgICAgaWYgKCFtYXRjaGluZ1RhZykge1xuICAgICAgICAgICAgY29udGV4dC5yZXBvcnQoe1xuICAgICAgICAgICAgICBkYXRhOiB7XG4gICAgICAgICAgICAgICAgcGFyYW1OYW1lLFxuICAgICAgICAgICAgICAgIHRhZ05hbWU6IHByZWZlcnJlZFRhZ05hbWVcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgbWVzc2FnZUlkOiBNRVNTQUdFX0lEX01JU1NJTkdfVEVNUExBVEUsXG4gICAgICAgICAgICAgIG5vZGVcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgIH0gZWxzZSBpZiAoIW1hdGNoaW5nVGFnLmhhc0Rlc2NyaXB0aW9uKSB7XG4gICAgICAgICAgICBjb250ZXh0LnJlcG9ydCh7XG4gICAgICAgICAgICAgIGRhdGE6IHtcbiAgICAgICAgICAgICAgICBwYXJhbU5hbWUsXG4gICAgICAgICAgICAgICAgdGFnTmFtZTogcHJlZmVycmVkVGFnTmFtZVxuICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICBtZXNzYWdlSWQ6IE1FU1NBR0VfSURfTUlTU0lOR19URU1QTEFURV9ERVNDUklQVElPTixcbiAgICAgICAgICAgICAgbm9kZVxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfTtcbiAgfSxcbiAgbWV0YToge1xuICAgIGRvY3M6IHtcbiAgICAgIGRlc2NyaXB0aW9uOiAnUmVxdWlyZSBgQHR5cGVQYXJhbWAgdGFncyB3aXRoIGRlc2NyaXB0aW9ucyBmb3IgZ2VuZXJpYyBtZXRob2QgdHlwZSBwYXJhbWV0ZXJzJ1xuICAgIH0sXG4gICAgbWVzc2FnZXM6IHtcbiAgICAgIFtNRVNTQUdFX0lEX01JU1NJTkdfVEVNUExBVEVdOiAnTWlzc2luZyBAe3sgdGFnTmFtZSB9fSB7eyBwYXJhbU5hbWUgfX0nLFxuICAgICAgW01FU1NBR0VfSURfTUlTU0lOR19URU1QTEFURV9ERVNDUklQVElPTl06ICdAe3sgdGFnTmFtZSB9fSB7eyBwYXJhbU5hbWUgfX0gaXMgbWlzc2luZyBhIGRlc2NyaXB0aW9uJ1xuICAgIH0sXG4gICAgc2NoZW1hOiBbXSxcbiAgICB0eXBlOiAnc3VnZ2VzdGlvbidcbiAgfVxufTtcblxuaW50ZXJmYWNlIFBhcnNlZFRhZyB7XG4gIGhhc0Rlc2NyaXB0aW9uOiBib29sZWFuO1xuICBuYW1lOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyYW1ldGVycyBmb3Ige0BsaW5rIHBhcnNlVHlwZVBhcmFtVGFnc30uXG4gKi9cbmludGVyZmFjZSBQYXJzZVR5cGVQYXJhbVRhZ3NQYXJhbXMge1xuICAvKipcbiAgICogVGhlIHJhdyBjb21tZW50IGJvZHkgKHdpdGhvdXQgdGhlIGxlYWRpbmcgYW5kIHRyYWlsaW5nIGNvbW1lbnQgZGVsaW1pdGVycykuXG4gICAqL1xuICByZWFkb25seSBjb21tZW50Qm9keTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgcHJlZmVycmVkIHRhZyBuYW1lIChgdHlwZVBhcmFtYCBvciBgdGVtcGxhdGVgKS5cbiAgICovXG4gIHJlYWRvbmx5IHRhZ05hbWU6IHN0cmluZztcbn1cblxuLyoqXG4gKiBGaW5kcyB0aGUgSlNEb2MgYmxvY2sgY29tbWVudCBmcm9tIGEgbGlzdCBvZiBjb21tZW50cy5cbiAqXG4gKiBAcGFyYW0gY29tbWVudHMgLSBUaGUgY29tbWVudHMgYmVmb3JlIHRoZSBub2RlLlxuICogQHJldHVybnMgVGhlIEpTRG9jIGJsb2NrIGNvbW1lbnQsIG9yIGB1bmRlZmluZWRgIGlmIG5vbmUgZm91bmQuXG4gKi9cbmZ1bmN0aW9uIGZpbmRKc2RvY0NvbW1lbnQoY29tbWVudHM6IHJlYWRvbmx5IENvbW1lbnRbXSk6IENvbW1lbnQgfCB1bmRlZmluZWQge1xuICBmb3IgKGxldCBpID0gY29tbWVudHMubGVuZ3RoIC0gMTsgaSA+PSAwOyBpLS0pIHtcbiAgICBjb25zdCBjb21tZW50ID0gY29tbWVudHNbaV07XG4gICAgaWYgKGNvbW1lbnQ/LnR5cGUgPT09ICdCbG9jaycgJiYgY29tbWVudC52YWx1ZS5zdGFydHNXaXRoKCcqJykpIHtcbiAgICAgIHJldHVybiBjb21tZW50O1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiB1bmRlZmluZWQ7XG59XG5cbi8qKlxuICogUGFyc2VzIGBAdHlwZVBhcmFtYCAvIGBAdGVtcGxhdGVgIHRhZ3MgZnJvbSBhIEpTRG9jIGNvbW1lbnQgYm9keS5cbiAqXG4gKiBAcGFyYW0gcGFyYW1zIC0gVGhlIHBhcmFtZXRlcnMgZm9yIHRoZSBwYXJzZS5cbiAqIEByZXR1cm5zIEFuIGFycmF5IG9mIHBhcnNlZCB0YWcgZW50cmllcy5cbiAqL1xuZnVuY3Rpb24gcGFyc2VUeXBlUGFyYW1UYWdzKHBhcmFtczogUGFyc2VUeXBlUGFyYW1UYWdzUGFyYW1zKTogUGFyc2VkVGFnW10ge1xuICBjb25zdCB7IGNvbW1lbnRCb2R5LCB0YWdOYW1lIH0gPSBwYXJhbXM7XG4gIGNvbnN0IHRhZ3M6IFBhcnNlZFRhZ1tdID0gW107XG4gIGNvbnN0IHRhZ1BhdHRlcm4gPSBuZXcgUmVnRXhwKGBAKD86JHt0YWdOYW1lfXx0ZW1wbGF0ZXx0eXBlUGFyYW0pXFxcXHMrKD88dHlwZU5hbWU+XFxcXHcrKSg/PHJlc3Q+LiopYCwgJ2cnKTtcblxuICBsZXQgbWF0Y2g7XG4gIHdoaWxlICgobWF0Y2ggPSB0YWdQYXR0ZXJuLmV4ZWMoY29tbWVudEJvZHkpKSAhPT0gbnVsbCkge1xuICAgIGNvbnN0IG5hbWUgPSBnZXRNYW5kYXRvcnlOYW1lZEdyb3VwKG1hdGNoLCAndHlwZU5hbWUnKTtcbiAgICBjb25zdCByZXN0ID0gZ2V0TWFuZGF0b3J5TmFtZWRHcm91cChtYXRjaCwgJ3Jlc3QnKS50cmltKCk7XG4gICAgY29uc3QgaGFzRGVzY3JpcHRpb24gPSByZXN0Lmxlbmd0aCA+IDAgJiYgcmVzdCAhPT0gJy0nO1xuICAgIHRhZ3MucHVzaCh7IGhhc0Rlc2NyaXB0aW9uLCBuYW1lIH0pO1xuICB9XG5cbiAgcmV0dXJuIHRhZ3M7XG59XG4iXSwKICAibWFwcGluZ3MiOiAiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBa0JBLHFCQUF1QztBQU12QyxNQUFNLFdBQVc7QUFHVixNQUFNLDhCQUE4QjtBQUdwQyxNQUFNLDBDQUEwQztBQUVoRCxNQUFNLHdCQUF5QztBQUFBLEVBQ3BELE9BQU8sU0FBUztBQUNkLFVBQU0s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
|
|
223
|
+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL3NjcmlwdC11dGlscy9saW50ZXJzL2VzbGludC1ydWxlcy9yZXF1aXJlLW1ldGhvZC10ZW1wbGF0ZS50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsiLyoqXG4gKiBAZmlsZVxuICpcbiAqIEVTTGludCBydWxlOiByZXF1aXJlLW1ldGhvZC10ZW1wbGF0ZVxuICpcbiAqIFJlcXVpcmVzIHRoYXQgZ2VuZXJpYyBtZXRob2RzIChtZXRob2RzIHdpdGggdHlwZSBwYXJhbWV0ZXJzKSBoYXZlXG4gKiBjb3JyZXNwb25kaW5nIGBAdHlwZVBhcmFtYCAob3IgYEB0ZW1wbGF0ZWApIEpTRG9jIHRhZ3MgZm9yIGVhY2ggdHlwZSBwYXJhbWV0ZXIuXG4gKlxuICogVGhpcyBmaWxscyBhIGdhcCBpbiBgZXNsaW50LXBsdWdpbi1qc2RvY2AncyBgcmVxdWlyZS10ZW1wbGF0ZWAgcnVsZSwgd2hpY2hcbiAqIG9ubHkgY2hlY2tzIHRvcC1sZXZlbCBkZWNsYXJhdGlvbnMgKGZ1bmN0aW9ucywgY2xhc3NlcywgaW50ZXJmYWNlcywgdHlwZSBhbGlhc2VzKVxuICogYnV0IG5vdCBtZXRob2RzIHdpdGhpbiBjbGFzc2VzLlxuICpcbiAqIEBzZWUge0BsaW5rIGh0dHBzOi8vZ2l0aHViLmNvbS9nYWp1cy9lc2xpbnQtcGx1Z2luLWpzZG9jL2lzc3Vlcy8xMzg2fVxuICovXG5pbXBvcnQgdHlwZSB7IFRTRVNUcmVlIH0gZnJvbSAnQHR5cGVzY3JpcHQtZXNsaW50L3V0aWxzJztcbmltcG9ydCB0eXBlIHsgUnVsZSB9IGZyb20gJ2VzbGludCc7XG5pbXBvcnQgdHlwZSB7IENvbW1lbnQgfSBmcm9tICdlc3RyZWUnO1xuXG5pbXBvcnQgeyBnZXRNYW5kYXRvcnlOYW1lZEdyb3VwIH0gZnJvbSAnLi4vLi4vLi4vcmVnLWV4cC50cyc7XG5cbmludGVyZmFjZSBKc2RvY1NldHRpbmdzIHtcbiAgdGFnTmFtZVByZWZlcmVuY2U/OiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+O1xufVxuXG5jb25zdCBUQUdfTkFNRSA9ICd0eXBlUGFyYW0nO1xuXG4vKipcbk1lc3NhZ2UgSUQgcmVwb3J0ZWQgd2hlbiBhIG1ldGhvZCB0eXBlIHBhcmFtZXRlciBoYXMgbm8gbWF0Y2hpbmcgYEB0eXBlUGFyYW1gIHRhZy5cbiAqL1xuZXhwb3J0IGNvbnN0IE1FU1NBR0VfSURfTUlTU0lOR19URU1QTEFURSA9ICdtaXNzaW5nVGVtcGxhdGUnO1xuXG4vKipcbk1lc3NhZ2UgSUQgcmVwb3J0ZWQgd2hlbiBhIG1ldGhvZCdzIGBAdHlwZVBhcmFtYCB0YWcgaXMgbWlzc2luZyBhIGRlc2NyaXB0aW9uLlxuICovXG5leHBvcnQgY29uc3QgTUVTU0FHRV9JRF9NSVNTSU5HX1RFTVBMQVRFX0RFU0NSSVBUSU9OID0gJ21pc3NpbmdUZW1wbGF0ZURlc2NyaXB0aW9uJztcblxuZXhwb3J0IGNvbnN0IHJlcXVpcmVNZXRob2RUZW1wbGF0ZTogUnVsZS5SdWxlTW9kdWxlID0ge1xuICBjcmVhdGUoY29udGV4dCkge1xuICAgIGNvbnN0IHNldHRpbmdzID0gY29udGV4dC5zZXR0aW5nc1snanNkb2MnXSBhcyBKc2RvY1NldHRpbmdzIHwgdW5kZWZpbmVkO1xuICAgIGNvbnN0IHByZWZlcnJlZFRhZ05hbWUgPSBzZXR0aW5ncz8udGFnTmFtZVByZWZlcmVuY2U/LlsndGVtcGxhdGUnXSA/PyBUQUdfTkFNRTtcblxuICAgIHJldHVybiB7XG4gICAgICAnTWV0aG9kRGVmaW5pdGlvbicobm9kZTogUnVsZS5Ob2RlKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IG1ldGhvZE5vZGUgPSBub2RlIGFzIFRTRVNUcmVlLk1ldGhvZERlZmluaXRpb247XG4gICAgICAgIGNvbnN0IGZ1bmN0aW9uRXhwcmVzc2lvbiA9IG1ldGhvZE5vZGUudmFsdWU7XG5cbiAgICAgICAgY29uc3QgdHlwZVBhcmFtcyA9IGZ1bmN0aW9uRXhwcmVzc2lvbi50eXBlUGFyYW1ldGVycz8ucGFyYW1zO1xuICAgICAgICBpZiAoIXR5cGVQYXJhbXMgfHwgdHlwZVBhcmFtcy5sZW5ndGggPT09IDApIHtcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBzb3VyY2VDb2RlID0gY29udGV4dC5zb3VyY2VDb2RlO1xuICAgICAgICBjb25zdCBjb21tZW50cyA9IHNvdXJjZUNvZGUuZ2V0Q29tbWVudHNCZWZvcmUobm9kZSk7XG4gICAgICAgIGNvbnN0IGpzZG9jQ29tbWVudCA9IGZpbmRKc2RvY0NvbW1lbnQoY29tbWVudHMpO1xuXG4gICAgICAgIGlmICghanNkb2NDb21tZW50KSB7XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgcGFyc2VkVGFncyA9IHBhcnNlVHlwZVBhcmFtZXRlclRhZ3Moe1xuICAgICAgICAgIGNvbW1lbnRCb2R5OiBqc2RvY0NvbW1lbnQudmFsdWUsXG4gICAgICAgICAgdGFnTmFtZTogcHJlZmVycmVkVGFnTmFtZVxuICAgICAgICB9KTtcblxuICAgICAgICBmb3IgKGNvbnN0IHR5cGVQYXJhbWV0ZXIgb2YgdHlwZVBhcmFtcykge1xuICAgICAgICAgIGNvbnN0IHBhcmFtZXRlck5hbWUgPSB0eXBlUGFyYW1ldGVyLm5hbWUubmFtZTtcbiAgICAgICAgICBjb25zdCBtYXRjaGluZ1RhZyA9IHBhcnNlZFRhZ3MuZmluZCgodGFnKSA9PiB0YWcubmFtZSA9PT0gcGFyYW1ldGVyTmFtZSk7XG5cbiAgICAgICAgICBpZiAoIW1hdGNoaW5nVGFnKSB7XG4gICAgICAgICAgICBjb250ZXh0LnJlcG9ydCh7XG4gICAgICAgICAgICAgIGRhdGE6IHtcbiAgICAgICAgICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgdW5pY29ybi9uYW1lLXJlcGxhY2VtZW50cyAtLSBgcGFyYW1OYW1lYCBpcyB0aGUgcGxhY2Vob2xkZXIgdGhpcyBydWxlJ3Mgb3duIG1lc3NhZ2UgdGVtcGxhdGUgcmVhZHMuXG4gICAgICAgICAgICAgICAgcGFyYW1OYW1lOiBwYXJhbWV0ZXJOYW1lLFxuICAgICAgICAgICAgICAgIHRhZ05hbWU6IHByZWZlcnJlZFRhZ05hbWVcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgbWVzc2FnZUlkOiBNRVNTQUdFX0lEX01JU1NJTkdfVEVNUExBVEUsXG4gICAgICAgICAgICAgIG5vZGVcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgIH0gZWxzZSBpZiAoIW1hdGNoaW5nVGFnLmhhc0Rlc2NyaXB0aW9uKSB7XG4gICAgICAgICAgICBjb250ZXh0LnJlcG9ydCh7XG4gICAgICAgICAgICAgIGRhdGE6IHtcbiAgICAgICAgICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgdW5pY29ybi9uYW1lLXJlcGxhY2VtZW50cyAtLSBgcGFyYW1OYW1lYCBpcyB0aGUgcGxhY2Vob2xkZXIgdGhpcyBydWxlJ3Mgb3duIG1lc3NhZ2UgdGVtcGxhdGUgcmVhZHMuXG4gICAgICAgICAgICAgICAgcGFyYW1OYW1lOiBwYXJhbWV0ZXJOYW1lLFxuICAgICAgICAgICAgICAgIHRhZ05hbWU6IHByZWZlcnJlZFRhZ05hbWVcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgbWVzc2FnZUlkOiBNRVNTQUdFX0lEX01JU1NJTkdfVEVNUExBVEVfREVTQ1JJUFRJT04sXG4gICAgICAgICAgICAgIG5vZGVcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH07XG4gIH0sXG4gIG1ldGE6IHtcbiAgICBkb2NzOiB7XG4gICAgICBkZXNjcmlwdGlvbjogJ1JlcXVpcmUgYEB0eXBlUGFyYW1gIHRhZ3Mgd2l0aCBkZXNjcmlwdGlvbnMgZm9yIGdlbmVyaWMgbWV0aG9kIHR5cGUgcGFyYW1ldGVycydcbiAgICB9LFxuICAgIG1lc3NhZ2VzOiB7XG4gICAgICBbTUVTU0FHRV9JRF9NSVNTSU5HX1RFTVBMQVRFXTogJ01pc3NpbmcgQHt7IHRhZ05hbWUgfX0ge3sgcGFyYW1OYW1lIH19JyxcbiAgICAgIFtNRVNTQUdFX0lEX01JU1NJTkdfVEVNUExBVEVfREVTQ1JJUFRJT05dOiAnQHt7IHRhZ05hbWUgfX0ge3sgcGFyYW1OYW1lIH19IGlzIG1pc3NpbmcgYSBkZXNjcmlwdGlvbidcbiAgICB9LFxuICAgIHNjaGVtYTogW10sXG4gICAgdHlwZTogJ3N1Z2dlc3Rpb24nXG4gIH1cbn07XG5cbmludGVyZmFjZSBQYXJzZWRUYWcge1xuICBoYXNEZXNjcmlwdGlvbjogYm9vbGVhbjtcbiAgbmFtZTogc3RyaW5nO1xufVxuXG4vKipcbiAqIFBhcmFtZXRlcnMgZm9yIHtAbGluayBwYXJzZVR5cGVQYXJhbVRhZ3N9LlxuICovXG5pbnRlcmZhY2UgUGFyc2VUeXBlUGFyYW1ldGVyVGFnc1BhcmFtcyB7XG4gIC8qKlxuICAgKiBUaGUgcmF3IGNvbW1lbnQgYm9keSAod2l0aG91dCB0aGUgbGVhZGluZyBhbmQgdHJhaWxpbmcgY29tbWVudCBkZWxpbWl0ZXJzKS5cbiAgICovXG4gIHJlYWRvbmx5IGNvbW1lbnRCb2R5OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBwcmVmZXJyZWQgdGFnIG5hbWUgKGB0eXBlUGFyYW1gIG9yIGB0ZW1wbGF0ZWApLlxuICAgKi9cbiAgcmVhZG9ubHkgdGFnTmFtZTogc3RyaW5nO1xufVxuXG4vKipcbiAqIEZpbmRzIHRoZSBKU0RvYyBibG9jayBjb21tZW50IGZyb20gYSBsaXN0IG9mIGNvbW1lbnRzLlxuICpcbiAqIEBwYXJhbSBjb21tZW50cyAtIFRoZSBjb21tZW50cyBiZWZvcmUgdGhlIG5vZGUuXG4gKiBAcmV0dXJucyBUaGUgSlNEb2MgYmxvY2sgY29tbWVudCwgb3IgYHVuZGVmaW5lZGAgaWYgbm9uZSBmb3VuZC5cbiAqL1xuZnVuY3Rpb24gZmluZEpzZG9jQ29tbWVudChjb21tZW50czogcmVhZG9ubHkgQ29tbWVudFtdKTogQ29tbWVudCB8IHVuZGVmaW5lZCB7XG4gIGZvciAobGV0IGluZGV4ID0gY29tbWVudHMubGVuZ3RoIC0gMTsgaW5kZXggPj0gMDsgaW5kZXgtLSkge1xuICAgIGNvbnN0IGNvbW1lbnQgPSBjb21tZW50c1tpbmRleF07XG4gICAgaWYgKGNvbW1lbnQ/LnR5cGUgPT09ICdCbG9jaycgJiYgY29tbWVudC52YWx1ZS5zdGFydHNXaXRoKCcqJykpIHtcbiAgICAgIHJldHVybiBjb21tZW50O1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiB1bmRlZmluZWQ7XG59XG5cbi8qKlxuICogUGFyc2VzIGBAdHlwZVBhcmFtYCAvIGBAdGVtcGxhdGVgIHRhZ3MgZnJvbSBhIEpTRG9jIGNvbW1lbnQgYm9keS5cbiAqXG4gKiBAcGFyYW0gcGFyYW1zIC0gVGhlIHBhcmFtZXRlcnMgZm9yIHRoZSBwYXJzZS5cbiAqIEByZXR1cm5zIEFuIGFycmF5IG9mIHBhcnNlZCB0YWcgZW50cmllcy5cbiAqL1xuZnVuY3Rpb24gcGFyc2VUeXBlUGFyYW1ldGVyVGFncyhwYXJhbXM6IFBhcnNlVHlwZVBhcmFtZXRlclRhZ3NQYXJhbXMpOiBQYXJzZWRUYWdbXSB7XG4gIGNvbnN0IHsgY29tbWVudEJvZHksIHRhZ05hbWUgfSA9IHBhcmFtcztcbiAgY29uc3QgdGFnczogUGFyc2VkVGFnW10gPSBbXTtcbiAgLypcbiAgICogVGhlIGAkYCBjaGFyYWN0ZXIgaXMgYSBsZWdhbCBpZGVudGlmaWVyIGNoYXJhY3RlciB0aGF0IGBcXHdgIGV4Y2x1ZGVzLCBzbyBhIHRhZyBsaWtlIGBAdHlwZVBhcmFtICRPYmplY3RgXG4gICAqIHdvdWxkIGZhaWwgdG8gbWF0Y2ggYXQgYWxsIGFuZCB0aGUgdHlwZSBwYXJhbWV0ZXIgd291bGQgYmUgcmVwb3J0ZWQgYXMgdW5kb2N1bWVudGVkIGRlc3BpdGUgaGF2aW5nIGEgdGFnLlxuICAgKi9cbiAgY29uc3QgdGFnUGF0dGVybiA9IG5ldyBSZWdFeHAoU3RyaW5nLnJhd2BAKD86JHt0YWdOYW1lfXx0ZW1wbGF0ZXx0eXBlUGFyYW0pXFxzKyg/PHR5cGVOYW1lPltcXHckXSspKD88cmVzdD4uKilgLCAnZycpO1xuXG4gIGxldCBtYXRjaDtcbiAgd2hpbGUgKChtYXRjaCA9IHRhZ1BhdHRlcm4uZXhlYyhjb21tZW50Qm9keSkpICE9PSBudWxsKSB7XG4gICAgY29uc3QgbmFtZSA9IGdldE1hbmRhdG9yeU5hbWVkR3JvdXAobWF0Y2gsICd0eXBlTmFtZScpO1xuICAgIGNvbnN0IHJlc3QgPSBnZXRNYW5kYXRvcnlOYW1lZEdyb3VwKG1hdGNoLCAncmVzdCcpLnRyaW0oKTtcbiAgICBjb25zdCBoYXNEZXNjcmlwdGlvbiA9IHJlc3QubGVuZ3RoID4gMCAmJiByZXN0ICE9PSAnLSc7XG4gICAgdGFncy5wdXNoKHsgaGFzRGVzY3JpcHRpb24sIG5hbWUgfSk7XG4gIH1cblxuICByZXR1cm4gdGFncztcbn1cbiJdLAogICJtYXBwaW5ncyI6ICI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQWtCQSxxQkFBdUM7QUFNdkMsTUFBTSxXQUFXO0FBS1YsTUFBTSw4QkFBOEI7QUFLcEMsTUFBTSwwQ0FBMEM7QUFFaEQsTUFBTSx3QkFBeUM7QUFBQSxFQUNwRCxPQUFPLFNBQVM7QUFDZCxVQUFNLFdBQVcsUUFBUSxTQUFTLE9BQU87QUFDekMsVUFBTSxtQkFBbUIsVUFBVSxvQkFBb0IsVUFBVSxLQUFLO0FBRXRFLFdBQU87QUFBQSxNQUNMLG1CQUFtQixNQUF1QjtBQUN4QyxjQUFNLGFBQWE7QUFDbkIsY0FBTSxxQkFBcUIsV0FBVztBQUV0QyxjQUFNLGFBQWEsbUJBQW1CLGdCQUFnQjtBQUN0RCxZQUFJLENBQUMsY0FBYyxXQUFXLFdBQVcsR0FBRztBQUMxQztBQUFBLFFBQ0Y7QUFFQSxjQUFNLGFBQWEsUUFBUTtBQUMzQixjQUFNLFdBQVcsV0FBVyxrQkFBa0IsSUFBSTtBQUNsRCxjQUFNLGVBQWUsaUJBQWlCLFFBQVE7QUFFOUMsWUFBSSxDQUFDLGNBQWM7QUFDakI7QUFBQSxRQUNGO0FBRUEsY0FBTSxhQUFhLHVCQUF1QjtBQUFBLFVBQ3hDLGFBQWEsYUFBYTtBQUFBLFVBQzFCLFNBQVM7QUFBQSxRQUNYLENBQUM7QUFFRCxtQkFBVyxpQkFBaUIsWUFBWTtBQUN0QyxnQkFBTSxnQkFBZ0IsY0FBYyxLQUFLO0FBQ3pDLGdCQUFNLGNBQWMsV0FBVyxLQUFLLENBQUMsUUFBUSxJQUFJLFNBQVMsYUFBYTtBQUV2RSxjQUFJLENBQUMsYUFBYTtBQUNoQixvQkFBUSxPQUFPO0FBQUEsY0FDYixNQUFNO0FBQUE7QUFBQSxnQkFFSixXQUFXO0FBQUEsZ0JBQ1gsU0FBUztBQUFBLGNBQ1g7QUFBQSxjQUNBLFdBQVc7QUFBQSxjQUNYO0FBQUEsWUFDRixDQUFDO0FBQUEsVUFDSCxXQUFXLENBQUMsWUFBWSxnQkFBZ0I7QUFDdEMsb0JBQVEsT0FBTztBQUFBLGNBQ2IsTUFBTTtBQUFBO0FBQUEsZ0JBRUosV0FBVztBQUFBLGdCQUNYLFNBQVM7QUFBQSxjQUNYO0FBQUEsY0FDQSxXQUFXO0FBQUEsY0FDWDtBQUFBLFlBQ0YsQ0FBQztBQUFBLFVBQ0g7QUFBQSxRQUNGO0FBQUEsTUFDRjtBQUFBLElBQ0Y7QUFBQSxFQUNGO0FBQUEsRUFDQSxNQUFNO0FBQUEsSUFDSixNQUFNO0FBQUEsTUFDSixhQUFhO0FBQUEsSUFDZjtBQUFBLElBQ0EsVUFBVTtBQUFBLE1BQ1IsQ0FBQywyQkFBMkIsR0FBRztBQUFBLE1BQy9CLENBQUMsdUNBQXVDLEdBQUc7QUFBQSxJQUM3QztBQUFBLElBQ0EsUUFBUSxDQUFDO0FBQUEsSUFDVCxNQUFNO0FBQUEsRUFDUjtBQUNGO0FBNEJBLFNBQVMsaUJBQWlCLFVBQW1EO0FBQzNFLFdBQVMsUUFBUSxTQUFTLFNBQVMsR0FBRyxTQUFTLEdBQUcsU0FBUztBQUN6RCxVQUFNLFVBQVUsU0FBUyxLQUFLO0FBQzlCLFFBQUksU0FBUyxTQUFTLFdBQVcsUUFBUSxNQUFNLFdBQVcsR0FBRyxHQUFHO0FBQzlELGFBQU87QUFBQSxJQUNUO0FBQUEsRUFDRjtBQUVBLFNBQU87QUFDVDtBQVFBLFNBQVMsdUJBQXVCLFFBQW1EO0FBQ2pGLFFBQU0sRUFBRSxhQUFhLFFBQVEsSUFBSTtBQUNqQyxRQUFNLE9BQW9CLENBQUM7QUFLM0IsUUFBTSxhQUFhLElBQUksT0FBTyxPQUFPLFVBQVUsT0FBTyx5REFBeUQsR0FBRztBQUVsSCxNQUFJO0FBQ0osVUFBUSxRQUFRLFdBQVcsS0FBSyxXQUFXLE9BQU8sTUFBTTtBQUN0RCxVQUFNLFdBQU8sdUNBQXVCLE9BQU8sVUFBVTtBQUNyRCxVQUFNLFdBQU8sdUNBQXVCLE9BQU8sTUFBTSxFQUFFLEtBQUs7QUFDeEQsVUFBTSxpQkFBaUIsS0FBSyxTQUFTLEtBQUssU0FBUztBQUNuRCxTQUFLLEtBQUssRUFBRSxnQkFBZ0IsS0FBSyxDQUFDO0FBQUEsRUFDcEM7QUFFQSxTQUFPO0FBQ1Q7IiwKICAibmFtZXMiOiBbXQp9Cg==
|
|
@@ -1,7 +1,11 @@
|
|
|
1
1
|
/// <reference path="../../../library.d.cts" />
|
|
2
2
|
import type { Rule } from 'eslint' with { 'resolution-mode': 'import' };
|
|
3
|
-
/**
|
|
3
|
+
/**
|
|
4
|
+
Message ID reported when a method type parameter has no matching `@typeParam` tag.
|
|
5
|
+
*/
|
|
4
6
|
export declare const MESSAGE_ID_MISSING_TEMPLATE = "missingTemplate";
|
|
5
|
-
/**
|
|
7
|
+
/**
|
|
8
|
+
Message ID reported when a method's `@typeParam` tag is missing a description.
|
|
9
|
+
*/
|
|
6
10
|
export declare const MESSAGE_ID_MISSING_TEMPLATE_DESCRIPTION = "missingTemplateDescription";
|
|
7
11
|
export declare const requireMethodTemplate: Rule.RuleModule;
|
|
@@ -40,16 +40,11 @@ if you want to view the source, please visit the github repository of this plugi
|
|
|
40
40
|
globalThisRecord[key] ??= newFuncs[key]?.();
|
|
41
41
|
}
|
|
42
42
|
|
|
43
|
-
function name(obj) {
|
|
44
|
-
return obj;
|
|
45
|
-
}
|
|
46
|
-
|
|
47
43
|
function extractDefault(module) {
|
|
48
44
|
return module && module.__esModule && 'default' in module ? module.default : module;
|
|
49
45
|
}
|
|
50
46
|
|
|
51
|
-
const OBSIDIAN_BUILT_IN_MODULE_NAMES = [
|
|
52
|
-
'obsidian',
|
|
47
|
+
const OBSIDIAN_BUILT_IN_MODULE_NAMES = new Set([
|
|
53
48
|
'@codemirror/autocomplete',
|
|
54
49
|
'@codemirror/collab',
|
|
55
50
|
'@codemirror/commands',
|
|
@@ -60,11 +55,12 @@ if you want to view the source, please visit the github repository of this plugi
|
|
|
60
55
|
'@codemirror/text',
|
|
61
56
|
'@codemirror/view',
|
|
62
57
|
'@lezer/common',
|
|
58
|
+
'@lezer/highlight',
|
|
63
59
|
'@lezer/lr',
|
|
64
|
-
'
|
|
65
|
-
|
|
60
|
+
'obsidian']
|
|
61
|
+
);
|
|
66
62
|
|
|
67
|
-
const DEPRECATED_OBSIDIAN_BUILT_IN_MODULE_NAMES = [
|
|
63
|
+
const DEPRECATED_OBSIDIAN_BUILT_IN_MODULE_NAMES = new Set([
|
|
68
64
|
'@codemirror/closebrackets',
|
|
69
65
|
'@codemirror/comment',
|
|
70
66
|
'@codemirror/fold',
|
|
@@ -76,11 +72,11 @@ if you want to view the source, please visit the github repository of this plugi
|
|
|
76
72
|
'@codemirror/rangeset',
|
|
77
73
|
'@codemirror/rectangular-selection',
|
|
78
74
|
'@codemirror/stream-parser',
|
|
79
|
-
'@codemirror/tooltip']
|
|
80
|
-
|
|
75
|
+
'@codemirror/tooltip']
|
|
76
|
+
);
|
|
81
77
|
|
|
82
78
|
function requirePatched(id) {
|
|
83
|
-
if (OBSIDIAN_BUILT_IN_MODULE_NAMES.
|
|
79
|
+
if (OBSIDIAN_BUILT_IN_MODULE_NAMES.has(id) || DEPRECATED_OBSIDIAN_BUILT_IN_MODULE_NAMES.has(id)) {
|
|
84
80
|
return originalRequire?.(id);
|
|
85
81
|
}
|
|
86
82
|
|
|
@@ -89,8 +85,8 @@ if you want to view the source, please visit the github repository of this plugi
|
|
|
89
85
|
if (id === 'process' || id === 'node:process') {
|
|
90
86
|
// eslint-disable-next-line no-console -- Valid usage.
|
|
91
87
|
console.debug(`The most likely you can safely ignore this error. Module not found: ${id}. Fake process object is returned instead.`);
|
|
92
|
-
|
|
93
|
-
return
|
|
88
|
+
|
|
89
|
+
return process;
|
|
94
90
|
}
|
|
95
91
|
} else {
|
|
96
92
|
const module = originalRequire?.(id);
|
|
@@ -137,32 +133,32 @@ const requireSuperCall = {
|
|
|
137
133
|
const methodStack = [];
|
|
138
134
|
return {
|
|
139
135
|
"AssignmentExpression"(node) {
|
|
140
|
-
const current = methodStack
|
|
136
|
+
const current = methodStack.at(-1);
|
|
141
137
|
if (current?.kind !== "set") {
|
|
142
138
|
return;
|
|
143
139
|
}
|
|
144
140
|
const assignNode = node;
|
|
145
|
-
if (
|
|
141
|
+
if (isSuperPropertyAccess(assignNode.left, current.methodName)) {
|
|
146
142
|
current.hasSuperCall = true;
|
|
147
143
|
}
|
|
148
144
|
},
|
|
149
145
|
"CallExpression"(node) {
|
|
150
|
-
const current = methodStack
|
|
146
|
+
const current = methodStack.at(-1);
|
|
151
147
|
if (current?.kind !== "method") {
|
|
152
148
|
return;
|
|
153
149
|
}
|
|
154
150
|
const callNode = node;
|
|
155
|
-
if (
|
|
151
|
+
if (isSuperMethodCall(callNode, current.methodName)) {
|
|
156
152
|
current.hasSuperCall = true;
|
|
157
153
|
}
|
|
158
154
|
},
|
|
159
155
|
"MemberExpression"(node) {
|
|
160
|
-
const current = methodStack
|
|
156
|
+
const current = methodStack.at(-1);
|
|
161
157
|
if (current?.kind !== "get") {
|
|
162
158
|
return;
|
|
163
159
|
}
|
|
164
160
|
const memberNode = node;
|
|
165
|
-
if (
|
|
161
|
+
if (isSuperPropertyAccess(memberNode, current.methodName)) {
|
|
166
162
|
current.hasSuperCall = true;
|
|
167
163
|
}
|
|
168
164
|
},
|
|
@@ -184,7 +180,7 @@ const requireSuperCall = {
|
|
|
184
180
|
});
|
|
185
181
|
},
|
|
186
182
|
"MethodDefinition:exit"() {
|
|
187
|
-
const info = methodStack
|
|
183
|
+
const info = methodStack.at(-1);
|
|
188
184
|
if (!info) {
|
|
189
185
|
return;
|
|
190
186
|
}
|
|
@@ -192,7 +188,7 @@ const requireSuperCall = {
|
|
|
192
188
|
if (info.hasSuperCall) {
|
|
193
189
|
return;
|
|
194
190
|
}
|
|
195
|
-
if (
|
|
191
|
+
if (isParentMethodAbstract({
|
|
196
192
|
context,
|
|
197
193
|
methodName: info.methodName,
|
|
198
194
|
methodNode: info.node
|
|
@@ -218,47 +214,47 @@ const requireSuperCall = {
|
|
|
218
214
|
type: "problem"
|
|
219
215
|
}
|
|
220
216
|
};
|
|
221
|
-
function
|
|
222
|
-
(0, import_type_guards.assert)((0, import_typescript.canHaveModifiers)(
|
|
223
|
-
const modifiers = (0, import_typescript.getModifiers)(
|
|
224
|
-
return modifiers?.some((
|
|
217
|
+
function isAbstract(declaration) {
|
|
218
|
+
(0, import_type_guards.assert)((0, import_typescript.canHaveModifiers)(declaration), "Expected method declaration to support modifiers");
|
|
219
|
+
const modifiers = (0, import_typescript.getModifiers)(declaration);
|
|
220
|
+
return modifiers?.some(($module) => $module.kind === import_typescript.SyntaxKind.AbstractKeyword) ?? false;
|
|
225
221
|
}
|
|
226
|
-
function
|
|
222
|
+
function isParentMethodAbstract(params) {
|
|
227
223
|
const { context, methodName, methodNode } = params;
|
|
228
224
|
const services = context.sourceCode.parserServices;
|
|
229
225
|
if (!services.program || !services.esTreeNodeToTSNodeMap) {
|
|
230
226
|
return false;
|
|
231
227
|
}
|
|
232
228
|
const checker = services.program.getTypeChecker();
|
|
233
|
-
const
|
|
234
|
-
const tsClassNode = services.esTreeNodeToTSNodeMap.get(
|
|
229
|
+
const classDeclaration = methodNode.parent.parent;
|
|
230
|
+
const tsClassNode = services.esTreeNodeToTSNodeMap.get(classDeclaration);
|
|
235
231
|
const classType = checker.getTypeAtLocation(tsClassNode);
|
|
236
232
|
const baseTypes = classType.getBaseTypes();
|
|
237
233
|
if (!baseTypes) {
|
|
238
234
|
return false;
|
|
239
235
|
}
|
|
240
236
|
for (const baseType of baseTypes) {
|
|
241
|
-
const
|
|
242
|
-
if (!
|
|
237
|
+
const property = baseType.getProperty(methodName);
|
|
238
|
+
if (!property) {
|
|
243
239
|
continue;
|
|
244
240
|
}
|
|
245
|
-
const declarations =
|
|
241
|
+
const declarations = property.getDeclarations();
|
|
246
242
|
if (!declarations) {
|
|
247
243
|
continue;
|
|
248
244
|
}
|
|
249
|
-
for (const
|
|
250
|
-
if (
|
|
245
|
+
for (const declaration of declarations) {
|
|
246
|
+
if (isAbstract(declaration)) {
|
|
251
247
|
return true;
|
|
252
248
|
}
|
|
253
249
|
}
|
|
254
250
|
}
|
|
255
251
|
return false;
|
|
256
252
|
}
|
|
257
|
-
function
|
|
253
|
+
function isSuperMethodCall(node, methodName) {
|
|
258
254
|
const callee = node.callee;
|
|
259
255
|
return callee.type === "MemberExpression" && callee.object.type === "Super" && callee.property.type === "Identifier" && callee.property.name === methodName;
|
|
260
256
|
}
|
|
261
|
-
function
|
|
257
|
+
function isSuperPropertyAccess(node, propertyName) {
|
|
262
258
|
return node.type === "MemberExpression" && node.object.type === "Super" && node.property.type === "Identifier" && node.property.name === propertyName;
|
|
263
259
|
}
|
|
264
260
|
// Annotate the CommonJS export names for ESM import in node:
|
|
@@ -266,4 +262,4 @@ function checkIsSuperPropertyAccess(node, propertyName) {
|
|
|
266
262
|
MESSAGE_ID,
|
|
267
263
|
requireSuperCall
|
|
268
264
|
});
|
|
269
|
-
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL3NjcmlwdC11dGlscy9saW50ZXJzL2VzbGludC1ydWxlcy9yZXF1aXJlLXN1cGVyLWNhbGwudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbIi8qKlxuICogQGZpbGVcbiAqXG4gKiBFU0xpbnQgcnVsZTogcmVxdWlyZS1zdXBlci1jYWxsXG4gKlxuICogUmVwb3J0cyBhbiBlcnJvciB3aGVuIGFuIGBvdmVycmlkZWAgbWV0aG9kIGRvZXMgbm90IGNhbGwgYHN1cGVyLm1ldGhvZE5hbWUoKWBcbiAqIGFueXdoZXJlIGluIGl0cyBib2R5LiBPdmVycmlkaW5nIGEgbWV0aG9kIHdpdGhvdXQgY2FsbGluZyBgc3VwZXJgIGlzIGFsbW9zdFxuICogYWx3YXlzIGEgbWlzdGFrZSB0aGF0IHNpbGVudGx5IGJyZWFrcyBwYXJlbnQtY2xhc3MgYmVoYXZpb3IgKGxpZmVjeWNsZSBob29rcyxcbiAqIGluaXRpYWxpemF0aW9uLCBldmVudCB3aXJpbmcsIGV0Yy4pLlxuICpcbiAqIFRoZSBzdXBlciBjYWxsIGNhbiBhcHBlYXIgYW55d2hlcmUgaW4gdGhlIG1ldGhvZCBib2R5IFx1MjAxNCBhcyBhIHN0YW5kYWxvbmVcbiAqIHN0YXRlbWVudCwgYXdhaXRlZCwgYXNzaWduZWQgdG8gYSB2YXJpYWJsZSwgb3IgbmVzdGVkIGluIGFueSBleHByZXNzaW9uLlxuICpcbiAqIFRoZSBydWxlIGF1dG9tYXRpY2FsbHkgc2tpcHMgbWV0aG9kcyB3aGVyZSB0aGUgcGFyZW50IGltcGxlbWVudGF0aW9uIGlzXG4gKiBgYWJzdHJhY3RgLCBzaW5jZSB0aGVyZSBpcyBubyBjb25jcmV0ZSBgc3VwZXJgIHRvIGNhbGwuXG4gKlxuICogSWYgdGhlIG92ZXJyaWRlIGludGVudGlvbmFsbHkgcmVwbGFjZXMgdGhlIHBhcmVudCBpbXBsZW1lbnRhdGlvbiwgZGlzYWJsZSB0aGVcbiAqIHJ1bGUgb24gdGhhdCBsaW5lIHdpdGggYW4gZXhwbGFuYXRvcnkgY29tbWVudC5cbiAqL1xuaW1wb3J0IHR5cGUge1xuICBQYXJzZXJTZXJ2aWNlc1dpdGhUeXBlSW5mb3JtYXRpb24sXG4gIFRTRVNUcmVlXG59IGZyb20gJ0B0eXBlc2NyaXB0LWVzbGludC91dGlscyc7XG5pbXBvcnQgdHlwZSB7IFJ1bGUgfSBmcm9tICdlc2xpbnQnO1xuaW1wb3J0IHR5cGUgeyBEZWNsYXJhdGlvbiB9IGZyb20gJ3R5cGVzY3JpcHQnO1xuXG5pbXBvcnQge1xuICBjYW5IYXZlTW9kaWZpZXJzLFxuICBnZXRNb2RpZmllcnMsXG4gIFN5bnRheEtpbmRcbn0gZnJvbSAndHlwZXNjcmlwdCc7XG5cbmltcG9ydCB7IGFzc2VydCB9IGZyb20gJy4uLy4uLy4uL3R5cGUtZ3VhcmRzLnRzJztcblxuLyoqIE1lc3NhZ2UgSUQgcmVwb3J0ZWQgd2hlbiBhbiBgb3ZlcnJpZGVgIG1ldGhvZCBkb2VzIG5vdCBhY2Nlc3MgaXRzIGBzdXBlcmAgY291bnRlcnBhcnQuICovXG5leHBvcnQgY29uc3QgTUVTU0FHRV9JRCA9ICdyZXF1aXJlU3VwZXJDYWxsJztcblxudHlwZSBNZXRob2RLaW5kID0gJ2dldCcgfCAnbWV0aG9kJyB8ICdzZXQnO1xuXG5pbnRlcmZhY2UgT3ZlcnJpZGVNZXRob2RJbmZvIHtcbiAgaGFzU3VwZXJDYWxsOiBib29sZWFuO1xuICBraW5kOiBNZXRob2RLaW5kO1xuICBtZXRob2ROYW1lOiBzdHJpbmc7XG4gIG5vZGU6IFRTRVNUcmVlLk1ldGhvZERlZmluaXRpb247XG4gIHJlcG9ydE5vZGU6IFJ1bGUuTm9kZTtcbn1cblxuZXhwb3J0IGNvbnN0IHJlcXVpcmVTdXBlckNhbGw6IFJ1bGUuUnVsZU1vZHVsZSA9IHtcbiAgY3JlYXRlKGNvbnRleHQpIHtcbiAgICBjb25zdCBtZXRob2RTdGFjazogT3ZlcnJpZGVNZXRob2RJbmZvW10gPSBbXTtcblxuICAgIHJldHVybiB7XG4gICAgICAnQXNzaWdubWVudEV4cHJlc3Npb24nKG5vZGU6IFJ1bGUuTm9kZSk6IHZvaWQge1xuICAgICAgICBjb25zdCBjdXJyZW50ID0gbWV0aG9kU3RhY2tbbWV0aG9kU3RhY2subGVuZ3RoIC0gMV07XG4gICAgICAgIGlmIChjdXJyZW50Py5raW5kICE9PSAnc2V0Jykge1xuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGFzc2lnbk5vZGUgPSBub2RlIGFzIFRTRVNUcmVlLkFzc2lnbm1lbnRFeHByZXNzaW9uO1xuICAgICAgICBpZiAoY2hlY2tJc1N1cGVyUHJvcGVydHlBY2Nlc3MoYXNzaWduTm9kZS5sZWZ0LCBjdXJyZW50Lm1ldGhvZE5hbWUpKSB7XG4gICAgICAgICAgY3VycmVudC5oYXNTdXBlckNhbGwgPSB0cnVlO1xuICAgICAgICB9XG4gICAgICB9LFxuICAgICAgJ0NhbGxFeHByZXNzaW9uJyhub2RlOiBSdWxlLk5vZGUpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgY3VycmVudCA9IG1ldGhvZFN0YWNrW21ldGhvZFN0YWNrLmxlbmd0aCAtIDFdO1xuICAgICAgICBpZiAoY3VycmVudD8ua2luZCAhPT0gJ21ldGhvZCcpIHtcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBjYWxsTm9kZSA9IG5vZGUgYXMgVFNFU1RyZWUuQ2FsbEV4cHJlc3Npb247XG4gICAgICAgIGlmIChjaGVja0lzU3VwZXJNZXRob2RDYWxsKGNhbGxOb2RlLCBjdXJyZW50Lm1ldGhvZE5hbWUpKSB7XG4gICAgICAgICAgY3VycmVudC5oYXNTdXBlckNhbGwgPSB0cnVlO1xuICAgICAgICB9XG4gICAgICB9LFxuICAgICAgJ01lbWJlckV4cHJlc3Npb24nKG5vZGU6IFJ1bGUuTm9kZSk6IHZvaWQge1xuICAgICAgICBjb25zdCBjdXJyZW50ID0gbWV0aG9kU3RhY2tbbWV0aG9kU3RhY2subGVuZ3RoIC0gMV07XG4gICAgICAgIGlmIChjdXJyZW50Py5raW5kICE9PSAnZ2V0Jykge1xuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IG1lbWJlck5vZGUgPSBub2RlIGFzIFRTRVNUcmVlLk1lbWJlckV4cHJlc3Npb247XG4gICAgICAgIGlmIChjaGVja0lzU3VwZXJQcm9wZXJ0eUFjY2VzcyhtZW1iZXJOb2RlLCBjdXJyZW50Lm1ldGhvZE5hbWUpKSB7XG4gICAgICAgICAgY3VycmVudC5oYXNTdXBlckNhbGwgPSB0cnVlO1xuICAgICAgICB9XG4gICAgICB9LFxuICAgICAgJ01ldGhvZERlZmluaXRpb24nKG5vZGU6IFJ1bGUuTm9kZSk6IHZvaWQge1xuICAgICAgICBjb25zdCBtZXRob2ROb2RlID0gbm9kZSBhcyBUU0VTVHJlZS5NZXRob2REZWZpbml0aW9uO1xuXG4gICAgICAgIGlmICghbWV0aG9kTm9kZS5vdmVycmlkZSkge1xuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW5zYWZlLWVudW0tY29tcGFyaXNvbiAtLSBBU1Qgbm9kZSB0eXBlIHN0cmluZyBsaXRlcmFscyBtYXRjaCB0aGUgVFNFU1RyZWUgZW51bSB2YWx1ZXMuXG4gICAgICAgIGlmIChtZXRob2ROb2RlLmtleS50eXBlICE9PSAnSWRlbnRpZmllcicpIHtcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBraW5kID0gbWV0aG9kTm9kZS5raW5kID09PSAnZ2V0JyB8fCBtZXRob2ROb2RlLmtpbmQgPT09ICdzZXQnID8gbWV0aG9kTm9kZS5raW5kIDogJ21ldGhvZCc7XG5cbiAgICAgICAgbWV0aG9kU3RhY2sucHVzaCh7XG4gICAgICAgICAgaGFzU3VwZXJDYWxsOiBmYWxzZSxcbiAgICAgICAgICBraW5kLFxuICAgICAgICAgIG1ldGhvZE5hbWU6IG1ldGhvZE5vZGUua2V5Lm5hbWUsXG4gICAgICAgICAgbm9kZTogbWV0aG9kTm9kZSxcbiAgICAgICAgICByZXBvcnROb2RlOiBub2RlXG4gICAgICAgIH0pO1xuICAgICAgfSxcbiAgICAgICdNZXRob2REZWZpbml0aW9uOmV4aXQnKCk6IHZvaWQge1xuICAgICAgICBjb25zdCBpbmZvID0gbWV0aG9kU3RhY2tbbWV0aG9kU3RhY2subGVuZ3RoIC0gMV07XG4gICAgICAgIGlmICghaW5mbykge1xuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIG1ldGhvZFN0YWNrLnBvcCgpO1xuXG4gICAgICAgIGlmIChpbmZvLmhhc1N1cGVyQ2FsbCkge1xuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChcbiAgICAgICAgICBjaGVja0lzUGFyZW50TWV0aG9kQWJzdHJhY3Qoe1xuICAgICAgICAgICAgY29udGV4dCxcbiAgICAgICAgICAgIG1ldGhvZE5hbWU6IGluZm8ubWV0aG9kTmFtZSxcbiAgICAgICAgICAgIG1ldGhvZE5vZGU6IGluZm8ubm9kZVxuICAgICAgICAgIH0pXG4gICAgICAgICkge1xuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnRleHQucmVwb3J0KHtcbiAgICAgICAgICBkYXRhOiB7IGtpbmQ6IGluZm8ua2luZCwgbWV0aG9kTmFtZTogaW5mby5tZXRob2ROYW1lIH0sXG4gICAgICAgICAgbWVzc2FnZUlkOiBNRVNTQUdFX0lELFxuICAgICAgICAgIG5vZGU6IGluZm8ucmVwb3J0Tm9kZVxuICAgICAgICB9KTtcbiAgICAgIH1cbiAgICB9O1xuICB9LFxuICBtZXRhOiB7XG4gICAgZG9jczoge1xuICAgICAgZGVzY3JpcHRpb246ICdSZXF1aXJlIGBvdmVycmlkZWAgbWV0aG9kcyB0byBjYWxsIGBzdXBlci5tZXRob2ROYW1lKClgJ1xuICAgIH0sXG4gICAgbWVzc2FnZXM6IHtcbiAgICAgIFtNRVNTQUdFX0lEXTogJ092ZXJyaWRlIHt7IGtpbmQgfX0gYHt7IG1ldGhvZE5hbWUgfX1gIG11c3QgYWNjZXNzIGBzdXBlci57eyBtZXRob2ROYW1lIH19YC4nXG4gICAgfSxcbiAgICBzY2hlbWE6IFtdLFxuICAgIHR5cGU6ICdwcm9ibGVtJ1xuICB9XG59O1xuXG4vKipcbiAqIFBhcmFtZXRlcnMgZm9yIHtAbGluayBjaGVja0lzUGFyZW50TWV0aG9kQWJzdHJhY3R9LlxuICovXG5pbnRlcmZhY2UgQ2hlY2tJc1BhcmVudE1ldGhvZEFic3RyYWN0UGFyYW1zIHtcbiAgLyoqXG4gICAqIFRoZSBFU0xpbnQgcnVsZSBjb250ZXh0LlxuICAgKi9cbiAgcmVhZG9ubHkgY29udGV4dDogUnVsZS5SdWxlQ29udGV4dDtcblxuICAvKipcbiAgICogVGhlIG1ldGhvZCBuYW1lIHRvIGxvb2sgdXAgaW4gdGhlIHBhcmVudCBjbGFzcy5cbiAgICovXG4gIHJlYWRvbmx5IG1ldGhvZE5hbWU6IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIG92ZXJyaWRlIG1ldGhvZCBkZWZpbml0aW9uIEFTVCBub2RlLlxuICAgKi9cbiAgcmVhZG9ubHkgbWV0aG9kTm9kZTogVFNFU1RyZWUuTWV0aG9kRGVmaW5pdGlvbjtcbn1cblxuLyoqXG4gKiBDaGVja3Mgd2hldGhlciBhIGRlY2xhcmF0aW9uIGhhcyB0aGUgYGFic3RyYWN0YCBtb2RpZmllci5cbiAqXG4gKiBAcGFyYW0gZGVjbCAtIFRoZSBUeXBlU2NyaXB0IGRlY2xhcmF0aW9uIHRvIGluc3BlY3QuXG4gKiBAcmV0dXJucyBgdHJ1ZWAgaWYgdGhlIGRlY2xhcmF0aW9uIGlzIGFic3RyYWN0LlxuICovXG5mdW5jdGlvbiBjaGVja0lzQWJzdHJhY3QoZGVjbDogRGVjbGFyYXRpb24pOiBib29sZWFuIHtcbiAgYXNzZXJ0KGNhbkhhdmVNb2RpZmllcnMoZGVjbCksICdFeHBlY3RlZCBtZXRob2QgZGVjbGFyYXRpb24gdG8gc3VwcG9ydCBtb2RpZmllcnMnKTtcblxuICBjb25zdCBtb2RpZmllcnMgPSBnZXRNb2RpZmllcnMoZGVjbCk7XG4gIHJldHVybiBtb2RpZmllcnM/LnNvbWUoKG1vZCkgPT4gbW9kLmtpbmQgPT09IFN5bnRheEtpbmQuQWJzdHJhY3RLZXl3b3JkKSA/PyBmYWxzZTtcbn1cblxuLyoqXG4gKiBDaGVja3Mgd2hldGhlciB0aGUgcGFyZW50IGNsYXNzJ3MgdmVyc2lvbiBvZiB0aGUgbWV0aG9kIGlzIGBhYnN0cmFjdGAuXG4gKlxuICogV2hlbiB0eXBlIGluZm9ybWF0aW9uIGlzIG5vdCBhdmFpbGFibGUgKGUuZy4sIHBhcnNlciBjb25maWd1cmVkIHdpdGhvdXRcbiAqIGBwcm9qZWN0U2VydmljZWApLCByZXR1cm5zIGBmYWxzZWAgc28gdGhlIHJ1bGUgY29uc2VydmF0aXZlbHkgcmVwb3J0cy5cbiAqXG4gKiBAcGFyYW0gcGFyYW1zIC0gVGhlIHBhcmFtZXRlcnMgZm9yIHRoZSBjaGVjay5cbiAqIEByZXR1cm5zIGB0cnVlYCBpZiB0aGUgcGFyZW50IG1ldGhvZCBpcyBhYnN0cmFjdC5cbiAqL1xuZnVuY3Rpb24gY2hlY2tJc1BhcmVudE1ldGhvZEFic3RyYWN0KHBhcmFtczogQ2hlY2tJc1BhcmVudE1ldGhvZEFic3RyYWN0UGFyYW1zKTogYm9vbGVhbiB7XG4gIGNvbnN0IHsgY29udGV4dCwgbWV0aG9kTmFtZSwgbWV0aG9kTm9kZSB9ID0gcGFyYW1zO1xuICBjb25zdCBzZXJ2aWNlcyA9IGNvbnRleHQuc291cmNlQ29kZS5wYXJzZXJTZXJ2aWNlcyBhcyBQYXJ0aWFsPFBhcnNlclNlcnZpY2VzV2l0aFR5cGVJbmZvcm1hdGlvbj47XG5cbiAgaWYgKCFzZXJ2aWNlcy5wcm9ncmFtIHx8ICFzZXJ2aWNlcy5lc1RyZWVOb2RlVG9UU05vZGVNYXApIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICBjb25zdCBjaGVja2VyID0gc2VydmljZXMucHJvZ3JhbS5nZXRUeXBlQ2hlY2tlcigpO1xuICBjb25zdCBjbGFzc0RlY2wgPSBtZXRob2ROb2RlLnBhcmVudC5wYXJlbnQ7XG4gIGNvbnN0IHRzQ2xhc3NOb2RlID0gc2VydmljZXMuZXNUcmVlTm9kZVRvVFNOb2RlTWFwLmdldChjbGFzc0RlY2wpO1xuICBjb25zdCBjbGFzc1R5cGUgPSBjaGVja2VyLmdldFR5cGVBdExvY2F0aW9uKHRzQ2xhc3NOb2RlKTtcbiAgY29uc3QgYmFzZVR5cGVzID0gY2xhc3NUeXBlLmdldEJhc2VUeXBlcygpO1xuXG4gIGlmICghYmFzZVR5cGVzKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgZm9yIChjb25zdCBiYXNlVHlwZSBvZiBiYXNlVHlwZXMpIHtcbiAgICBjb25zdCBwcm9wID0gYmFzZVR5cGUuZ2V0UHJvcGVydHkobWV0aG9kTmFtZSk7XG5cbiAgICBpZiAoIXByb3ApIHtcbiAgICAgIGNvbnRpbnVlO1xuICAgIH1cblxuICAgIGNvbnN0IGRlY2xhcmF0aW9ucyA9IHByb3AuZ2V0RGVjbGFyYXRpb25zKCk7XG5cbiAgICBpZiAoIWRlY2xhcmF0aW9ucykge1xuICAgICAgY29udGludWU7XG4gICAgfVxuXG4gICAgZm9yIChjb25zdCBkZWNsIG9mIGRlY2xhcmF0aW9ucykge1xuICAgICAgaWYgKGNoZWNrSXNBYnN0cmFjdChkZWNsKSkge1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICByZXR1cm4gZmFsc2U7XG59XG5cbi8qKlxuICogQ2hlY2tzIHdoZXRoZXIgYSBjYWxsIGV4cHJlc3Npb24gaXMgYHN1cGVyLm1ldGhvZE5hbWUoLi4uKWAuXG4gKlxuICogQHBhcmFtIG5vZGUgLSBUaGUgY2FsbCBleHByZXNzaW9uIG5vZGUuXG4gKiBAcGFyYW0gbWV0aG9kTmFtZSAtIFRoZSBleHBlY3RlZCBtZXRob2QgbmFtZS5cbiAqIEByZXR1cm5zIGB0cnVlYCBpZiB0aGUgbm9kZSBpcyBhIG1hdGNoaW5nIHN1cGVyIG1ldGhvZCBjYWxsLlxuICovXG5mdW5jdGlvbiBjaGVja0lzU3VwZXJNZXRob2RDYWxsKG5vZGU6IFRTRVNUcmVlLkNhbGxFeHByZXNzaW9uLCBtZXRob2ROYW1lOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgY29uc3QgY2FsbGVlID0gbm9kZS5jYWxsZWU7XG4gIC8qIGVzbGludC1kaXNhYmxlIEB0eXBlc2NyaXB0LWVzbGludC9uby11bnNhZmUtZW51bS1jb21wYXJpc29uIC0tIEFTVCBub2RlIHR5cGUgc3RyaW5nIGxpdGVyYWxzIG1hdGNoIHRoZSBUU0VTVHJlZSBlbnVtIHZhbHVlcy4gKi9cbiAgcmV0dXJuIGNhbGxlZS50eXBlID09PSAnTWVtYmVyRXhwcmVzc2lvbidcbiAgICAmJiBjYWxsZWUub2JqZWN0LnR5cGUgPT09ICdTdXBlcidcbiAgICAmJiBjYWxsZWUucHJvcGVydHkudHlwZSA9PT0gJ0lkZW50aWZpZXInXG4gICAgJiYgY2FsbGVlLnByb3BlcnR5Lm5hbWUgPT09IG1ldGhvZE5hbWU7XG4gIC8qIGVzbGludC1lbmFibGUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXVuc2FmZS1lbnVtLWNvbXBhcmlzb24gLS0gUmUtZW5hYmxlIGFmdGVyIG11bHRpLWxpbmUgc3RyaW5nIGNvbXBhcmlzb24gYmxvY2suICovXG59XG5cbi8qKlxuICogQ2hlY2tzIHdoZXRoZXIgYSBub2RlIGlzIGEgYHN1cGVyLnByb3BlcnR5TmFtZWAgbWVtYmVyIGV4cHJlc3Npb24uXG4gKlxuICogQHBhcmFtIG5vZGUgLSBUaGUgQVNUIG5vZGUgdG8gY2hlY2sgKE1lbWJlckV4cHJlc3Npb24gb3IgQXNzaWdubWVudEV4cHJlc3Npb24gbGVmdC1oYW5kIHNpZGUpLlxuICogQHBhcmFtIHByb3BlcnR5TmFtZSAtIFRoZSBleHBlY3RlZCBwcm9wZXJ0eSBuYW1lLlxuICogQHJldHVybnMgYHRydWVgIGlmIHRoZSBub2RlIGlzIGEgbWF0Y2hpbmcgc3VwZXIgcHJvcGVydHkgYWNjZXNzLlxuICovXG5mdW5jdGlvbiBjaGVja0lzU3VwZXJQcm9wZXJ0eUFjY2Vzcyhub2RlOiBUU0VTVHJlZS5Ob2RlLCBwcm9wZXJ0eU5hbWU6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAvKiBlc2xpbnQtZGlzYWJsZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW5zYWZlLWVudW0tY29tcGFyaXNvbiAtLSBBU1Qgbm9kZSB0eXBlIHN0cmluZyBsaXRlcmFscyBtYXRjaCB0aGUgVFNFU1RyZWUgZW51bSB2YWx1ZXMuICovXG4gIHJldHVybiBub2RlLnR5cGUgPT09ICdNZW1iZXJFeHByZXNzaW9uJ1xuICAgICYmIG5vZGUub2JqZWN0LnR5cGUgPT09ICdTdXBlcidcbiAgICAmJiBub2RlLnByb3BlcnR5LnR5cGUgPT09ICdJZGVudGlmaWVyJ1xuICAgICYmIG5vZGUucHJvcGVydHkubmFtZSA9PT0gcHJvcGVydHlOYW1lO1xuICAvKiBlc2xpbnQtZW5hYmxlIEB0eXBlc2NyaXB0LWVzbGludC9uby11bnNhZmUtZW51bS1jb21wYXJpc29uIC0tIFJlLWVuYWJsZSBhZnRlciBtdWx0aS1saW5lIHN0cmluZyBjb21wYXJpc29uIGJsb2NrLiAqL1xufVxuIl0sCiAgIm1hcHBpbmdzIjogIjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUEwQkEsd0JBSU87QUFFUCx5QkFBdUI7QUFHaEIsTUFBTSxhQUFhO0FBWW5CLE1BQU0sbUJBQW9DO0FBQUEsRUFDL0MsT0FBTyxTQUFTO0FBQ2QsVUFBTSxjQUFvQyxDQUFDO0FBRTNDLFdBQU87QUFBQSxNQUNMLHVCQUF1QixNQUF1QjtBQUM1QyxjQUFNLFVBQVUsWUFBWSxZQUFZLFNBQVMsQ0FBQztBQUNsRCxZQUFJLFNBQVMsU0FBUyxPQUFPO0FBQzNCO0FBQUEsUUFDRjtBQUVBLGNBQU0sYUFBYTtBQUNuQixZQUFJLDJCQUEyQixXQUFXLE1BQU0sUUFBUSxVQUFVLEdBQUc7QUFDbkUsa0JBQVEsZUFBZTtBQUFBLFFBQ3pCO0FBQUEsTUFDRjtBQUFBLE1BQ0EsaUJBQWlCLE1BQXVCO0FBQ3RDLGNBQU0s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
|
|
265
|
+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL3NjcmlwdC11dGlscy9saW50ZXJzL2VzbGludC1ydWxlcy9yZXF1aXJlLXN1cGVyLWNhbGwudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbIi8qKlxuICogQGZpbGVcbiAqXG4gKiBFU0xpbnQgcnVsZTogcmVxdWlyZS1zdXBlci1jYWxsXG4gKlxuICogUmVwb3J0cyBhbiBlcnJvciB3aGVuIGFuIGBvdmVycmlkZWAgbWV0aG9kIGRvZXMgbm90IGNhbGwgYHN1cGVyLm1ldGhvZE5hbWUoKWBcbiAqIGFueXdoZXJlIGluIGl0cyBib2R5LiBPdmVycmlkaW5nIGEgbWV0aG9kIHdpdGhvdXQgY2FsbGluZyBgc3VwZXJgIGlzIGFsbW9zdFxuICogYWx3YXlzIGEgbWlzdGFrZSB0aGF0IHNpbGVudGx5IGJyZWFrcyBwYXJlbnQtY2xhc3MgYmVoYXZpb3IgKGxpZmVjeWNsZSBob29rcyxcbiAqIGluaXRpYWxpemF0aW9uLCBldmVudCB3aXJpbmcsIGV0Yy4pLlxuICpcbiAqIFRoZSBzdXBlciBjYWxsIGNhbiBhcHBlYXIgYW55d2hlcmUgaW4gdGhlIG1ldGhvZCBib2R5IFx1MjAxNCBhcyBhIHN0YW5kYWxvbmVcbiAqIHN0YXRlbWVudCwgYXdhaXRlZCwgYXNzaWduZWQgdG8gYSB2YXJpYWJsZSwgb3IgbmVzdGVkIGluIGFueSBleHByZXNzaW9uLlxuICpcbiAqIFRoZSBydWxlIGF1dG9tYXRpY2FsbHkgc2tpcHMgbWV0aG9kcyB3aGVyZSB0aGUgcGFyZW50IGltcGxlbWVudGF0aW9uIGlzXG4gKiBgYWJzdHJhY3RgLCBzaW5jZSB0aGVyZSBpcyBubyBjb25jcmV0ZSBgc3VwZXJgIHRvIGNhbGwuXG4gKlxuICogSWYgdGhlIG92ZXJyaWRlIGludGVudGlvbmFsbHkgcmVwbGFjZXMgdGhlIHBhcmVudCBpbXBsZW1lbnRhdGlvbiwgZGlzYWJsZSB0aGVcbiAqIHJ1bGUgb24gdGhhdCBsaW5lIHdpdGggYW4gZXhwbGFuYXRvcnkgY29tbWVudC5cbiAqL1xuaW1wb3J0IHR5cGUge1xuICBQYXJzZXJTZXJ2aWNlc1dpdGhUeXBlSW5mb3JtYXRpb24sXG4gIFRTRVNUcmVlXG59IGZyb20gJ0B0eXBlc2NyaXB0LWVzbGludC91dGlscyc7XG5pbXBvcnQgdHlwZSB7IFJ1bGUgfSBmcm9tICdlc2xpbnQnO1xuaW1wb3J0IHR5cGUgeyBEZWNsYXJhdGlvbiB9IGZyb20gJ3R5cGVzY3JpcHQnO1xuXG5pbXBvcnQge1xuICBjYW5IYXZlTW9kaWZpZXJzLFxuICBnZXRNb2RpZmllcnMsXG4gIFN5bnRheEtpbmRcbn0gZnJvbSAndHlwZXNjcmlwdCc7XG5cbmltcG9ydCB7IGFzc2VydCB9IGZyb20gJy4uLy4uLy4uL3R5cGUtZ3VhcmRzLnRzJztcblxuLyoqXG5NZXNzYWdlIElEIHJlcG9ydGVkIHdoZW4gYW4gYG92ZXJyaWRlYCBtZXRob2QgZG9lcyBub3QgYWNjZXNzIGl0cyBgc3VwZXJgIGNvdW50ZXJwYXJ0LlxuICovXG5leHBvcnQgY29uc3QgTUVTU0FHRV9JRCA9ICdyZXF1aXJlU3VwZXJDYWxsJztcblxudHlwZSBNZXRob2RLaW5kID0gJ2dldCcgfCAnbWV0aG9kJyB8ICdzZXQnO1xuXG5pbnRlcmZhY2UgT3ZlcnJpZGVNZXRob2RJbmZvIHtcbiAgaGFzU3VwZXJDYWxsOiBib29sZWFuO1xuICBraW5kOiBNZXRob2RLaW5kO1xuICBtZXRob2ROYW1lOiBzdHJpbmc7XG4gIG5vZGU6IFRTRVNUcmVlLk1ldGhvZERlZmluaXRpb247XG4gIHJlcG9ydE5vZGU6IFJ1bGUuTm9kZTtcbn1cblxuZXhwb3J0IGNvbnN0IHJlcXVpcmVTdXBlckNhbGw6IFJ1bGUuUnVsZU1vZHVsZSA9IHtcbiAgY3JlYXRlKGNvbnRleHQpIHtcbiAgICBjb25zdCBtZXRob2RTdGFjazogT3ZlcnJpZGVNZXRob2RJbmZvW10gPSBbXTtcblxuICAgIHJldHVybiB7XG4gICAgICAnQXNzaWdubWVudEV4cHJlc3Npb24nKG5vZGU6IFJ1bGUuTm9kZSk6IHZvaWQge1xuICAgICAgICBjb25zdCBjdXJyZW50ID0gbWV0aG9kU3RhY2suYXQoLTEpO1xuICAgICAgICBpZiAoY3VycmVudD8ua2luZCAhPT0gJ3NldCcpIHtcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBhc3NpZ25Ob2RlID0gbm9kZSBhcyBUU0VTVHJlZS5Bc3NpZ25tZW50RXhwcmVzc2lvbjtcbiAgICAgICAgaWYgKGlzU3VwZXJQcm9wZXJ0eUFjY2Vzcyhhc3NpZ25Ob2RlLmxlZnQsIGN1cnJlbnQubWV0aG9kTmFtZSkpIHtcbiAgICAgICAgICBjdXJyZW50Lmhhc1N1cGVyQ2FsbCA9IHRydWU7XG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICAnQ2FsbEV4cHJlc3Npb24nKG5vZGU6IFJ1bGUuTm9kZSk6IHZvaWQge1xuICAgICAgICBjb25zdCBjdXJyZW50ID0gbWV0aG9kU3RhY2suYXQoLTEpO1xuICAgICAgICBpZiAoY3VycmVudD8ua2luZCAhPT0gJ21ldGhvZCcpIHtcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBjYWxsTm9kZSA9IG5vZGUgYXMgVFNFU1RyZWUuQ2FsbEV4cHJlc3Npb247XG4gICAgICAgIGlmIChpc1N1cGVyTWV0aG9kQ2FsbChjYWxsTm9kZSwgY3VycmVudC5tZXRob2ROYW1lKSkge1xuICAgICAgICAgIGN1cnJlbnQuaGFzU3VwZXJDYWxsID0gdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgICdNZW1iZXJFeHByZXNzaW9uJyhub2RlOiBSdWxlLk5vZGUpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgY3VycmVudCA9IG1ldGhvZFN0YWNrLmF0KC0xKTtcbiAgICAgICAgaWYgKGN1cnJlbnQ/LmtpbmQgIT09ICdnZXQnKSB7XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgbWVtYmVyTm9kZSA9IG5vZGUgYXMgVFNFU1RyZWUuTWVtYmVyRXhwcmVzc2lvbjtcbiAgICAgICAgaWYgKGlzU3VwZXJQcm9wZXJ0eUFjY2VzcyhtZW1iZXJOb2RlLCBjdXJyZW50Lm1ldGhvZE5hbWUpKSB7XG4gICAgICAgICAgY3VycmVudC5oYXNTdXBlckNhbGwgPSB0cnVlO1xuICAgICAgICB9XG4gICAgICB9LFxuICAgICAgJ01ldGhvZERlZmluaXRpb24nKG5vZGU6IFJ1bGUuTm9kZSk6IHZvaWQge1xuICAgICAgICBjb25zdCBtZXRob2ROb2RlID0gbm9kZSBhcyBUU0VTVHJlZS5NZXRob2REZWZpbml0aW9uO1xuXG4gICAgICAgIGlmICghbWV0aG9kTm9kZS5vdmVycmlkZSkge1xuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW5zYWZlLWVudW0tY29tcGFyaXNvbiAtLSBBU1Qgbm9kZSB0eXBlIHN0cmluZyBsaXRlcmFscyBtYXRjaCB0aGUgVFNFU1RyZWUgZW51bSB2YWx1ZXMuXG4gICAgICAgIGlmIChtZXRob2ROb2RlLmtleS50eXBlICE9PSAnSWRlbnRpZmllcicpIHtcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBraW5kID0gbWV0aG9kTm9kZS5raW5kID09PSAnZ2V0JyB8fCBtZXRob2ROb2RlLmtpbmQgPT09ICdzZXQnID8gbWV0aG9kTm9kZS5raW5kIDogJ21ldGhvZCc7XG5cbiAgICAgICAgbWV0aG9kU3RhY2sucHVzaCh7XG4gICAgICAgICAgaGFzU3VwZXJDYWxsOiBmYWxzZSxcbiAgICAgICAgICBraW5kLFxuICAgICAgICAgIG1ldGhvZE5hbWU6IG1ldGhvZE5vZGUua2V5Lm5hbWUsXG4gICAgICAgICAgbm9kZTogbWV0aG9kTm9kZSxcbiAgICAgICAgICByZXBvcnROb2RlOiBub2RlXG4gICAgICAgIH0pO1xuICAgICAgfSxcbiAgICAgICdNZXRob2REZWZpbml0aW9uOmV4aXQnKCk6IHZvaWQge1xuICAgICAgICBjb25zdCBpbmZvID0gbWV0aG9kU3RhY2suYXQoLTEpO1xuICAgICAgICBpZiAoIWluZm8pIHtcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBtZXRob2RTdGFjay5wb3AoKTtcblxuICAgICAgICBpZiAoaW5mby5oYXNTdXBlckNhbGwpIHtcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoXG4gICAgICAgICAgaXNQYXJlbnRNZXRob2RBYnN0cmFjdCh7XG4gICAgICAgICAgICBjb250ZXh0LFxuICAgICAgICAgICAgbWV0aG9kTmFtZTogaW5mby5tZXRob2ROYW1lLFxuICAgICAgICAgICAgbWV0aG9kTm9kZTogaW5mby5ub2RlXG4gICAgICAgICAgfSlcbiAgICAgICAgKSB7XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgY29udGV4dC5yZXBvcnQoe1xuICAgICAgICAgIGRhdGE6IHsga2luZDogaW5mby5raW5kLCBtZXRob2ROYW1lOiBpbmZvLm1ldGhvZE5hbWUgfSxcbiAgICAgICAgICBtZXNzYWdlSWQ6IE1FU1NBR0VfSUQsXG4gICAgICAgICAgbm9kZTogaW5mby5yZXBvcnROb2RlXG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgIH07XG4gIH0sXG4gIG1ldGE6IHtcbiAgICBkb2NzOiB7XG4gICAgICBkZXNjcmlwdGlvbjogJ1JlcXVpcmUgYG92ZXJyaWRlYCBtZXRob2RzIHRvIGNhbGwgYHN1cGVyLm1ldGhvZE5hbWUoKWAnXG4gICAgfSxcbiAgICBtZXNzYWdlczoge1xuICAgICAgW01FU1NBR0VfSURdOiAnT3ZlcnJpZGUge3sga2luZCB9fSBge3sgbWV0aG9kTmFtZSB9fWAgbXVzdCBhY2Nlc3MgYHN1cGVyLnt7IG1ldGhvZE5hbWUgfX1gLidcbiAgICB9LFxuICAgIHNjaGVtYTogW10sXG4gICAgdHlwZTogJ3Byb2JsZW0nXG4gIH1cbn07XG5cbi8qKlxuICogUGFyYW1ldGVycyBmb3Ige0BsaW5rIGlzUGFyZW50TWV0aG9kQWJzdHJhY3R9LlxuICovXG5pbnRlcmZhY2UgQ2hlY2tJc1BhcmVudE1ldGhvZEFic3RyYWN0UGFyYW1zIHtcbiAgLyoqXG4gICAqIFRoZSBFU0xpbnQgcnVsZSBjb250ZXh0LlxuICAgKi9cbiAgcmVhZG9ubHkgY29udGV4dDogUnVsZS5SdWxlQ29udGV4dDtcblxuICAvKipcbiAgICogVGhlIG1ldGhvZCBuYW1lIHRvIGxvb2sgdXAgaW4gdGhlIHBhcmVudCBjbGFzcy5cbiAgICovXG4gIHJlYWRvbmx5IG1ldGhvZE5hbWU6IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIG92ZXJyaWRlIG1ldGhvZCBkZWZpbml0aW9uIEFTVCBub2RlLlxuICAgKi9cbiAgcmVhZG9ubHkgbWV0aG9kTm9kZTogVFNFU1RyZWUuTWV0aG9kRGVmaW5pdGlvbjtcbn1cblxuLyoqXG4gKiBDaGVja3Mgd2hldGhlciBhIGRlY2xhcmF0aW9uIGhhcyB0aGUgYGFic3RyYWN0YCBtb2RpZmllci5cbiAqXG4gKiBAcGFyYW0gZGVjbGFyYXRpb24gLSBUaGUgVHlwZVNjcmlwdCBkZWNsYXJhdGlvbiB0byBpbnNwZWN0LlxuICogQHJldHVybnMgYHRydWVgIGlmIHRoZSBkZWNsYXJhdGlvbiBpcyBhYnN0cmFjdC5cbiAqL1xuZnVuY3Rpb24gaXNBYnN0cmFjdChkZWNsYXJhdGlvbjogRGVjbGFyYXRpb24pOiBib29sZWFuIHtcbiAgYXNzZXJ0KGNhbkhhdmVNb2RpZmllcnMoZGVjbGFyYXRpb24pLCAnRXhwZWN0ZWQgbWV0aG9kIGRlY2xhcmF0aW9uIHRvIHN1cHBvcnQgbW9kaWZpZXJzJyk7XG5cbiAgY29uc3QgbW9kaWZpZXJzID0gZ2V0TW9kaWZpZXJzKGRlY2xhcmF0aW9uKTtcbiAgcmV0dXJuIG1vZGlmaWVycz8uc29tZSgoJG1vZHVsZSkgPT4gJG1vZHVsZS5raW5kID09PSBTeW50YXhLaW5kLkFic3RyYWN0S2V5d29yZCkgPz8gZmFsc2U7XG59XG5cbi8qKlxuICogQ2hlY2tzIHdoZXRoZXIgdGhlIHBhcmVudCBjbGFzcydzIHZlcnNpb24gb2YgdGhlIG1ldGhvZCBpcyBgYWJzdHJhY3RgLlxuICpcbiAqIFdoZW4gdHlwZSBpbmZvcm1hdGlvbiBpcyBub3QgYXZhaWxhYmxlIChlLmcuLCBwYXJzZXIgY29uZmlndXJlZCB3aXRob3V0XG4gKiBgcHJvamVjdFNlcnZpY2VgKSwgcmV0dXJucyBgZmFsc2VgIHNvIHRoZSBydWxlIGNvbnNlcnZhdGl2ZWx5IHJlcG9ydHMuXG4gKlxuICogQHBhcmFtIHBhcmFtcyAtIFRoZSBwYXJhbWV0ZXJzIGZvciB0aGUgY2hlY2suXG4gKiBAcmV0dXJucyBgdHJ1ZWAgaWYgdGhlIHBhcmVudCBtZXRob2QgaXMgYWJzdHJhY3QuXG4gKi9cbmZ1bmN0aW9uIGlzUGFyZW50TWV0aG9kQWJzdHJhY3QocGFyYW1zOiBDaGVja0lzUGFyZW50TWV0aG9kQWJzdHJhY3RQYXJhbXMpOiBib29sZWFuIHtcbiAgY29uc3QgeyBjb250ZXh0LCBtZXRob2ROYW1lLCBtZXRob2ROb2RlIH0gPSBwYXJhbXM7XG4gIGNvbnN0IHNlcnZpY2VzID0gY29udGV4dC5zb3VyY2VDb2RlLnBhcnNlclNlcnZpY2VzIGFzIFBhcnRpYWw8UGFyc2VyU2VydmljZXNXaXRoVHlwZUluZm9ybWF0aW9uPjtcblxuICBpZiAoIXNlcnZpY2VzLnByb2dyYW0gfHwgIXNlcnZpY2VzLmVzVHJlZU5vZGVUb1RTTm9kZU1hcCkge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIGNvbnN0IGNoZWNrZXIgPSBzZXJ2aWNlcy5wcm9ncmFtLmdldFR5cGVDaGVja2VyKCk7XG4gIGNvbnN0IGNsYXNzRGVjbGFyYXRpb24gPSBtZXRob2ROb2RlLnBhcmVudC5wYXJlbnQ7XG4gIGNvbnN0IHRzQ2xhc3NOb2RlID0gc2VydmljZXMuZXNUcmVlTm9kZVRvVFNOb2RlTWFwLmdldChjbGFzc0RlY2xhcmF0aW9uKTtcbiAgY29uc3QgY2xhc3NUeXBlID0gY2hlY2tlci5nZXRUeXBlQXRMb2NhdGlvbih0c0NsYXNzTm9kZSk7XG4gIGNvbnN0IGJhc2VUeXBlcyA9IGNsYXNzVHlwZS5nZXRCYXNlVHlwZXMoKTtcblxuICBpZiAoIWJhc2VUeXBlcykge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIGZvciAoY29uc3QgYmFzZVR5cGUgb2YgYmFzZVR5cGVzKSB7XG4gICAgY29uc3QgcHJvcGVydHkgPSBiYXNlVHlwZS5nZXRQcm9wZXJ0eShtZXRob2ROYW1lKTtcblxuICAgIGlmICghcHJvcGVydHkpIHtcbiAgICAgIGNvbnRpbnVlO1xuICAgIH1cblxuICAgIGNvbnN0IGRlY2xhcmF0aW9ucyA9IHByb3BlcnR5LmdldERlY2xhcmF0aW9ucygpO1xuXG4gICAgaWYgKCFkZWNsYXJhdGlvbnMpIHtcbiAgICAgIGNvbnRpbnVlO1xuICAgIH1cblxuICAgIGZvciAoY29uc3QgZGVjbGFyYXRpb24gb2YgZGVjbGFyYXRpb25zKSB7XG4gICAgICBpZiAoaXNBYnN0cmFjdChkZWNsYXJhdGlvbikpIHtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIGZhbHNlO1xufVxuXG4vKipcbiAqIENoZWNrcyB3aGV0aGVyIGEgY2FsbCBleHByZXNzaW9uIGlzIGBzdXBlci5tZXRob2ROYW1lKC4uLilgLlxuICpcbiAqIEBwYXJhbSBub2RlIC0gVGhlIGNhbGwgZXhwcmVzc2lvbiBub2RlLlxuICogQHBhcmFtIG1ldGhvZE5hbWUgLSBUaGUgZXhwZWN0ZWQgbWV0aG9kIG5hbWUuXG4gKiBAcmV0dXJucyBgdHJ1ZWAgaWYgdGhlIG5vZGUgaXMgYSBtYXRjaGluZyBzdXBlciBtZXRob2QgY2FsbC5cbiAqL1xuZnVuY3Rpb24gaXNTdXBlck1ldGhvZENhbGwobm9kZTogVFNFU1RyZWUuQ2FsbEV4cHJlc3Npb24sIG1ldGhvZE5hbWU6IHN0cmluZyk6IGJvb2xlYW4ge1xuICBjb25zdCBjYWxsZWUgPSBub2RlLmNhbGxlZTtcbiAgLyogZXNsaW50LWRpc2FibGUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXVuc2FmZS1lbnVtLWNvbXBhcmlzb24gLS0gQVNUIG5vZGUgdHlwZSBzdHJpbmcgbGl0ZXJhbHMgbWF0Y2ggdGhlIFRTRVNUcmVlIGVudW0gdmFsdWVzLiAqL1xuICByZXR1cm4gY2FsbGVlLnR5cGUgPT09ICdNZW1iZXJFeHByZXNzaW9uJ1xuICAgICYmIGNhbGxlZS5vYmplY3QudHlwZSA9PT0gJ1N1cGVyJ1xuICAgICYmIGNhbGxlZS5wcm9wZXJ0eS50eXBlID09PSAnSWRlbnRpZmllcidcbiAgICAmJiBjYWxsZWUucHJvcGVydHkubmFtZSA9PT0gbWV0aG9kTmFtZTtcbiAgLyogZXNsaW50LWVuYWJsZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW5zYWZlLWVudW0tY29tcGFyaXNvbiAtLSBSZS1lbmFibGUgYWZ0ZXIgbXVsdGktbGluZSBzdHJpbmcgY29tcGFyaXNvbiBibG9jay4gKi9cbn1cblxuLyoqXG4gKiBDaGVja3Mgd2hldGhlciBhIG5vZGUgaXMgYSBgc3VwZXIucHJvcGVydHlOYW1lYCBtZW1iZXIgZXhwcmVzc2lvbi5cbiAqXG4gKiBAcGFyYW0gbm9kZSAtIFRoZSBBU1Qgbm9kZSB0byBjaGVjayAoTWVtYmVyRXhwcmVzc2lvbiBvciBBc3NpZ25tZW50RXhwcmVzc2lvbiBsZWZ0LWhhbmQgc2lkZSkuXG4gKiBAcGFyYW0gcHJvcGVydHlOYW1lIC0gVGhlIGV4cGVjdGVkIHByb3BlcnR5IG5hbWUuXG4gKiBAcmV0dXJucyBgdHJ1ZWAgaWYgdGhlIG5vZGUgaXMgYSBtYXRjaGluZyBzdXBlciBwcm9wZXJ0eSBhY2Nlc3MuXG4gKi9cbmZ1bmN0aW9uIGlzU3VwZXJQcm9wZXJ0eUFjY2Vzcyhub2RlOiBUU0VTVHJlZS5Ob2RlLCBwcm9wZXJ0eU5hbWU6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAvKiBlc2xpbnQtZGlzYWJsZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW5zYWZlLWVudW0tY29tcGFyaXNvbiAtLSBBU1Qgbm9kZSB0eXBlIHN0cmluZyBsaXRlcmFscyBtYXRjaCB0aGUgVFNFU1RyZWUgZW51bSB2YWx1ZXMuICovXG4gIHJldHVybiBub2RlLnR5cGUgPT09ICdNZW1iZXJFeHByZXNzaW9uJ1xuICAgICYmIG5vZGUub2JqZWN0LnR5cGUgPT09ICdTdXBlcidcbiAgICAmJiBub2RlLnByb3BlcnR5LnR5cGUgPT09ICdJZGVudGlmaWVyJ1xuICAgICYmIG5vZGUucHJvcGVydHkubmFtZSA9PT0gcHJvcGVydHlOYW1lO1xuICAvKiBlc2xpbnQtZW5hYmxlIEB0eXBlc2NyaXB0LWVzbGludC9uby11bnNhZmUtZW51bS1jb21wYXJpc29uIC0tIFJlLWVuYWJsZSBhZnRlciBtdWx0aS1saW5lIHN0cmluZyBjb21wYXJpc29uIGJsb2NrLiAqL1xufVxuIl0sCiAgIm1hcHBpbmdzIjogIjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQTBCQSx3QkFJTztBQUVQLHlCQUF1QjtBQUtoQixNQUFNLGFBQWE7QUFZbkIsTUFBTSxtQkFBb0M7QUFBQSxFQUMvQyxPQUFPLFNBQVM7QUFDZCxVQUFNLGNBQW9DLENBQUM7QUFFM0MsV0FBTztBQUFBLE1BQ0wsdUJBQXVCLE1BQXVCO0FBQzVDLGNBQU0sVUFBVSxZQUFZLEdBQUcsRUFBRTtBQUNqQyxZQUFJLFNBQVMsU0FBUyxPQUFPO0FBQzNCO0FBQUEsUUFDRjtBQUVBLGNBQU0sYUFBYTtBQUNuQixZQUFJLHNCQUFzQixXQUFXLE1BQU0sUUFBUSxVQUFVLEdBQUc7QUFDOUQsa0JBQVEsZUFBZTtBQUFBLFFBQ3pCO0FBQUEsTUFDRjtBQUFBLE1BQ0EsaUJBQWlCLE1BQXVCO0FBQ3RDLGNBQU0sVUFBVSxZQUFZLEdBQUcsRUFBRTtBQUNqQyxZQUFJLFNBQVMsU0FBUyxVQUFVO0FB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
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
/// <reference path="../../../library.d.cts" />
|
|
2
2
|
import type { Rule } from 'eslint' with { 'resolution-mode': 'import' };
|
|
3
|
-
/**
|
|
3
|
+
/**
|
|
4
|
+
Message ID reported when an `override` method does not access its `super` counterpart.
|
|
5
|
+
*/
|
|
4
6
|
export declare const MESSAGE_ID = "requireSuperCall";
|
|
5
7
|
export declare const requireSuperCall: Rule.RuleModule;
|
|
@@ -40,16 +40,11 @@ if you want to view the source, please visit the github repository of this plugi
|
|
|
40
40
|
globalThisRecord[key] ??= newFuncs[key]?.();
|
|
41
41
|
}
|
|
42
42
|
|
|
43
|
-
function name(obj) {
|
|
44
|
-
return obj;
|
|
45
|
-
}
|
|
46
|
-
|
|
47
43
|
function extractDefault(module) {
|
|
48
44
|
return module && module.__esModule && 'default' in module ? module.default : module;
|
|
49
45
|
}
|
|
50
46
|
|
|
51
|
-
const OBSIDIAN_BUILT_IN_MODULE_NAMES = [
|
|
52
|
-
'obsidian',
|
|
47
|
+
const OBSIDIAN_BUILT_IN_MODULE_NAMES = new Set([
|
|
53
48
|
'@codemirror/autocomplete',
|
|
54
49
|
'@codemirror/collab',
|
|
55
50
|
'@codemirror/commands',
|
|
@@ -60,11 +55,12 @@ if you want to view the source, please visit the github repository of this plugi
|
|
|
60
55
|
'@codemirror/text',
|
|
61
56
|
'@codemirror/view',
|
|
62
57
|
'@lezer/common',
|
|
58
|
+
'@lezer/highlight',
|
|
63
59
|
'@lezer/lr',
|
|
64
|
-
'
|
|
65
|
-
|
|
60
|
+
'obsidian']
|
|
61
|
+
);
|
|
66
62
|
|
|
67
|
-
const DEPRECATED_OBSIDIAN_BUILT_IN_MODULE_NAMES = [
|
|
63
|
+
const DEPRECATED_OBSIDIAN_BUILT_IN_MODULE_NAMES = new Set([
|
|
68
64
|
'@codemirror/closebrackets',
|
|
69
65
|
'@codemirror/comment',
|
|
70
66
|
'@codemirror/fold',
|
|
@@ -76,11 +72,11 @@ if you want to view the source, please visit the github repository of this plugi
|
|
|
76
72
|
'@codemirror/rangeset',
|
|
77
73
|
'@codemirror/rectangular-selection',
|
|
78
74
|
'@codemirror/stream-parser',
|
|
79
|
-
'@codemirror/tooltip']
|
|
80
|
-
|
|
75
|
+
'@codemirror/tooltip']
|
|
76
|
+
);
|
|
81
77
|
|
|
82
78
|
function requirePatched(id) {
|
|
83
|
-
if (OBSIDIAN_BUILT_IN_MODULE_NAMES.
|
|
79
|
+
if (OBSIDIAN_BUILT_IN_MODULE_NAMES.has(id) || DEPRECATED_OBSIDIAN_BUILT_IN_MODULE_NAMES.has(id)) {
|
|
84
80
|
return originalRequire?.(id);
|
|
85
81
|
}
|
|
86
82
|
|
|
@@ -89,8 +85,8 @@ if you want to view the source, please visit the github repository of this plugi
|
|
|
89
85
|
if (id === 'process' || id === 'node:process') {
|
|
90
86
|
// eslint-disable-next-line no-console -- Valid usage.
|
|
91
87
|
console.debug(`The most likely you can safely ignore this error. Module not found: ${id}. Fake process object is returned instead.`);
|
|
92
|
-
|
|
93
|
-
return
|
|
88
|
+
|
|
89
|
+
return process;
|
|
94
90
|
}
|
|
95
91
|
} else {
|
|
96
92
|
const module = originalRequire?.(id);
|
|
@@ -136,4 +132,4 @@ function toRuleTesterModule(rule) {
|
|
|
136
132
|
0 && (module.exports = {
|
|
137
133
|
toRuleTesterModule
|
|
138
134
|
});
|
|
139
|
-
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL3NjcmlwdC11dGlscy9saW50ZXJzL2VzbGludC1ydWxlcy9ydWxlLXRlc3Rlci1oZWxwZXIudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbIi8qKlxuICogQGZpbGVcbiAqXG4gKiBIZWxwZXIgZm9yIGJyaWRnaW5nIEVTTGludCB2MTAgcnVsZSB0eXBlcyB3aXRoIGBAdHlwZXNjcmlwdC1lc2xpbnQvcnVsZS10ZXN0ZXJgLlxuICovXG5pbXBvcnQgdHlwZSB7IFJ1bGVUZXN0ZXIgfSBmcm9tICdAdHlwZXNjcmlwdC1lc2xpbnQvcnVsZS10ZXN0ZXInO1xuaW1wb3J0IHR5cGUgeyBSdWxlIH0gZnJvbSAnZXNsaW50JztcblxuLyoqXG4gKiBDYXN0cyBhbiBFU0xpbnQgdjEwIGBSdWxlLlJ1bGVNb2R1bGVgIHRvIHRoZSB0eXBlIGV4cGVjdGVkIGJ5XG4gKiBgQHR5cGVzY3JpcHQtZXNsaW50L3J1bGUtdGVzdGVyYC4gVGhlIHR5cGVzIGFyZSBpbmNvbXBhdGlibGUgYXQgdGhlIHR5cGVcbiAqIGxldmVsIGJlY2F1c2UgdHlwZXNjcmlwdC1lc2xpbnQgaGFzbid0IHVwZGF0ZWQgZm9yIEVTTGludCB2MTAgeWV0LCBidXRcbiAqIHRoZXkgYXJlIGNvbXBhdGlibGUgYXQgcnVudGltZS5cbiAqXG4gKiBAcGFyYW0gcnVsZSAtIFRoZSBFU0xpbnQgcnVsZSBtb2R1bGUuXG4gKiBAcmV0dXJucyBUaGUgc2FtZSBydWxlLCB0eXBlZCBmb3IgdGhlIHJ1bGUgdGVzdGVyLlxuICovXG5leHBvcnQgZnVuY3Rpb24gdG9SdWxlVGVzdGVyTW9kdWxlKHJ1bGU6IFJ1bGUuUnVsZU1vZHVsZSk6IFBhcmFtZXRlcnM8UnVsZVRlc3RlclsncnVuJ10+WzFdIHtcbiAgLy8gQnJpZGdlIEVTTGludCB2MTAgUnVsZS5SdWxlTW9kdWxlIHRvIEB0eXBlc2NyaXB0LWVzbGludC9ydWxlLXRlc3RlcidzIFJ1bGVNb2R1bGUuXG4gIC8vIFN0cnVjdHVyYWxseSBjb21wYXRpYmxlIGJ1dCBub21pbmFsbHkgaW5jb21wYXRpYmxlIHVudGlsIHR5cGVzY3JpcHQtZXNsaW50IHVwZGF0ZXMuXG4gIGNvbnN0IGJyaWRnZWQ6IHVua25vd24gPSBydWxlO1xuXG4gIHJldHVybiBicmlkZ2VkIGFzIFBhcmFtZXRlcnM8UnVsZVRlc3RlclsncnVuJ10+
|
|
135
|
+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL3NjcmlwdC11dGlscy9saW50ZXJzL2VzbGludC1ydWxlcy9ydWxlLXRlc3Rlci1oZWxwZXIudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbIi8qKlxuICogQGZpbGVcbiAqXG4gKiBIZWxwZXIgZm9yIGJyaWRnaW5nIEVTTGludCB2MTAgcnVsZSB0eXBlcyB3aXRoIGBAdHlwZXNjcmlwdC1lc2xpbnQvcnVsZS10ZXN0ZXJgLlxuICovXG5pbXBvcnQgdHlwZSB7IFJ1bGVUZXN0ZXIgfSBmcm9tICdAdHlwZXNjcmlwdC1lc2xpbnQvcnVsZS10ZXN0ZXInO1xuaW1wb3J0IHR5cGUgeyBSdWxlIH0gZnJvbSAnZXNsaW50JztcblxuLyoqXG4gKiBDYXN0cyBhbiBFU0xpbnQgdjEwIGBSdWxlLlJ1bGVNb2R1bGVgIHRvIHRoZSB0eXBlIGV4cGVjdGVkIGJ5XG4gKiBgQHR5cGVzY3JpcHQtZXNsaW50L3J1bGUtdGVzdGVyYC4gVGhlIHR5cGVzIGFyZSBpbmNvbXBhdGlibGUgYXQgdGhlIHR5cGVcbiAqIGxldmVsIGJlY2F1c2UgdHlwZXNjcmlwdC1lc2xpbnQgaGFzbid0IHVwZGF0ZWQgZm9yIEVTTGludCB2MTAgeWV0LCBidXRcbiAqIHRoZXkgYXJlIGNvbXBhdGlibGUgYXQgcnVudGltZS5cbiAqXG4gKiBAcGFyYW0gcnVsZSAtIFRoZSBFU0xpbnQgcnVsZSBtb2R1bGUuXG4gKiBAcmV0dXJucyBUaGUgc2FtZSBydWxlLCB0eXBlZCBmb3IgdGhlIHJ1bGUgdGVzdGVyLlxuICovXG5leHBvcnQgZnVuY3Rpb24gdG9SdWxlVGVzdGVyTW9kdWxlKHJ1bGU6IFJ1bGUuUnVsZU1vZHVsZSk6IFBhcmFtZXRlcnM8UnVsZVRlc3RlclsncnVuJ10+WzFdIHtcbiAgLy8gQnJpZGdlIEVTTGludCB2MTAgUnVsZS5SdWxlTW9kdWxlIHRvIEB0eXBlc2NyaXB0LWVzbGludC9ydWxlLXRlc3RlcidzIFJ1bGVNb2R1bGUuXG4gIC8vIFN0cnVjdHVyYWxseSBjb21wYXRpYmxlIGJ1dCBub21pbmFsbHkgaW5jb21wYXRpYmxlIHVudGlsIHR5cGVzY3JpcHQtZXNsaW50IHVwZGF0ZXMuXG4gIGNvbnN0IGJyaWRnZWQ6IHVua25vd24gPSBydWxlO1xuXG4gIHJldHVybiBicmlkZ2VkIGFzIFBhcmFtZXRlcnM8UnVsZVRlc3RlclsncnVuJ10+WzFdO1xufVxuIl0sCiAgIm1hcHBpbmdzIjogIjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFpQk8sU0FBUyxtQkFBbUIsTUFBeUQ7QUFHMUYsUUFBTSxVQUFtQjtBQUV6QixTQUFPO0FBQ1Q7IiwKICAibmFtZXMiOiBbXQp9Cg==
|
|
@@ -40,16 +40,11 @@ if you want to view the source, please visit the github repository of this plugi
|
|
|
40
40
|
globalThisRecord[key] ??= newFuncs[key]?.();
|
|
41
41
|
}
|
|
42
42
|
|
|
43
|
-
function name(obj) {
|
|
44
|
-
return obj;
|
|
45
|
-
}
|
|
46
|
-
|
|
47
43
|
function extractDefault(module) {
|
|
48
44
|
return module && module.__esModule && 'default' in module ? module.default : module;
|
|
49
45
|
}
|
|
50
46
|
|
|
51
|
-
const OBSIDIAN_BUILT_IN_MODULE_NAMES = [
|
|
52
|
-
'obsidian',
|
|
47
|
+
const OBSIDIAN_BUILT_IN_MODULE_NAMES = new Set([
|
|
53
48
|
'@codemirror/autocomplete',
|
|
54
49
|
'@codemirror/collab',
|
|
55
50
|
'@codemirror/commands',
|
|
@@ -60,11 +55,12 @@ if you want to view the source, please visit the github repository of this plugi
|
|
|
60
55
|
'@codemirror/text',
|
|
61
56
|
'@codemirror/view',
|
|
62
57
|
'@lezer/common',
|
|
58
|
+
'@lezer/highlight',
|
|
63
59
|
'@lezer/lr',
|
|
64
|
-
'
|
|
65
|
-
|
|
60
|
+
'obsidian']
|
|
61
|
+
);
|
|
66
62
|
|
|
67
|
-
const DEPRECATED_OBSIDIAN_BUILT_IN_MODULE_NAMES = [
|
|
63
|
+
const DEPRECATED_OBSIDIAN_BUILT_IN_MODULE_NAMES = new Set([
|
|
68
64
|
'@codemirror/closebrackets',
|
|
69
65
|
'@codemirror/comment',
|
|
70
66
|
'@codemirror/fold',
|
|
@@ -76,11 +72,11 @@ if you want to view the source, please visit the github repository of this plugi
|
|
|
76
72
|
'@codemirror/rangeset',
|
|
77
73
|
'@codemirror/rectangular-selection',
|
|
78
74
|
'@codemirror/stream-parser',
|
|
79
|
-
'@codemirror/tooltip']
|
|
80
|
-
|
|
75
|
+
'@codemirror/tooltip']
|
|
76
|
+
);
|
|
81
77
|
|
|
82
78
|
function requirePatched(id) {
|
|
83
|
-
if (OBSIDIAN_BUILT_IN_MODULE_NAMES.
|
|
79
|
+
if (OBSIDIAN_BUILT_IN_MODULE_NAMES.has(id) || DEPRECATED_OBSIDIAN_BUILT_IN_MODULE_NAMES.has(id)) {
|
|
84
80
|
return originalRequire?.(id);
|
|
85
81
|
}
|
|
86
82
|
|
|
@@ -89,8 +85,8 @@ if you want to view the source, please visit the github repository of this plugi
|
|
|
89
85
|
if (id === 'process' || id === 'node:process') {
|
|
90
86
|
// eslint-disable-next-line no-console -- Valid usage.
|
|
91
87
|
console.debug(`The most likely you can safely ignore this error. Module not found: ${id}. Fake process object is returned instead.`);
|
|
92
|
-
|
|
93
|
-
return
|
|
88
|
+
|
|
89
|
+
return process;
|
|
94
90
|
}
|
|
95
91
|
} else {
|
|
96
92
|
const module = originalRequire?.(id);
|
|
@@ -159,11 +155,11 @@ async function lint(options) {
|
|
|
159
155
|
import_obsidian_plugin_repo_paths.ObsidianPluginRepoPaths.EslintConfigMts,
|
|
160
156
|
import_obsidian_plugin_repo_paths.ObsidianPluginRepoPaths.EslintConfigCts
|
|
161
157
|
];
|
|
162
|
-
const
|
|
158
|
+
const doesConfigFileExist = configFiles.some((configFile) => {
|
|
163
159
|
const configFilePath = (0, import_root.resolvePathFromRootSafe)({ path: configFile });
|
|
164
160
|
return (0, import_node_fs.existsSync)(configFilePath);
|
|
165
161
|
});
|
|
166
|
-
if (!
|
|
162
|
+
if (!doesConfigFileExist) {
|
|
167
163
|
(0, import_debug.getLibDebugger)("ESLint:lint")("ESLint configuration file not found. Creating default config...");
|
|
168
164
|
const packageFolder = (0, import_root.getRootFolder)((0, import_path.getFolderName)(__import_meta_url));
|
|
169
165
|
(0, import_type_guards.assertNonNullable)(packageFolder, "Package folder not found");
|
|
@@ -173,10 +169,10 @@ async function lint(options) {
|
|
|
173
169
|
);
|
|
174
170
|
}
|
|
175
171
|
const targets = paths?.length ? paths : [import_obsidian_plugin_repo_paths.ObsidianPluginRepoPaths.CurrentFolder];
|
|
176
|
-
await (0, import_root.execFromRoot)(["npx", "eslint", ...shouldFix ? ["--fix"] : [], {
|
|
172
|
+
await (0, import_root.execFromRoot)(["npx", "eslint", ...shouldFix ? ["--fix"] : [], { batchedArguments: targets }]);
|
|
177
173
|
}
|
|
178
174
|
// Annotate the CommonJS export names for ESM import in node:
|
|
179
175
|
0 && (module.exports = {
|
|
180
176
|
lint
|
|
181
177
|
});
|
|
182
|
-
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vLi4vc3JjL3NjcmlwdC11dGlscy9saW50ZXJzL2VzbGludC50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsidmFyIF9faW1wb3J0X21ldGFfdXJsID0gZ2xvYmFsVGhpc1snaW1wb3J0Lm1ldGEudXJsJ10gPz8gKCgpID0+IHtcbiAgICAgIGlmICh0eXBlb2YgX19maWxlbmFtZSA9PT0gJ3N0cmluZycpIHtcbiAgICAgICAgY29uc3QgbG9jYWxSZXF1aXJlID0gcmVxdWlyZTtcbiAgICAgICAgY29uc3QgdXJsID0gbG9jYWxSZXF1aXJlKCdub2RlOnVybCcpO1xuICAgICAgICBpZiAodHlwZW9mIHVybC5wYXRoVG9GaWxlVVJMID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgICAgcmV0dXJuIHVybC5wYXRoVG9GaWxlVVJMKF9fZmlsZW5hbWUpLmhyZWY7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgaWYgKHR5cGVvZiB3aW5kb3cgIT09ICd1bmRlZmluZWQnKSB7XG4gICAgICAgIHJldHVybiBhY3RpdmVXaW5kb3cubG9jYXRpb24uaHJlZjtcbiAgICAgIH1cblxuICAgICAgLy8gRmFsbGJhY2sgdG8gYW4gZW1wdHkgc3RyaW5nIGlmIHRoZSBlbnZpcm9ubWVudCBpcyB1bmtub3duXG4gICAgICByZXR1cm4gJyc7XG4gICAgfSkoKTtcbi8qKlxuICogQGZpbGVcbiAqXG4gKiBMaW50aW5nIHV0aWxpdHkgZm9yIEVTTGludCBjb25maWd1cmF0aW9uIHdpdGggc3VwcG9ydCBmb3IgYXV0b21hdGljIGZpeGluZy5cbiAqXG4gKiBUaGlzIG1vZHVsZSBwcm92aWRlcyBhIGZ1bmN0aW9uIHRvIGxpbnQgZmlsZXMgYmFzZWQgb24gdGhlIEVTTGludCBjb25maWd1cmF0aW9uIGRlZmluZWQgaW4gYGVzbGludC5jb25maWcudHNgLlxuICogSXQgY2FuIGF1dG9tYXRpY2FsbHkgZml4IGxpbnRpbmcgaXNzdWVzIGlmIHNwZWNpZmllZCwgYW5kIGxvZ3MgcmVzdWx0cyB0byB0aGUgY29uc29sZS5cbiAqL1xuXG5pbXBvcnQgeyBleGlzdHNTeW5jIH0gZnJvbSAnbm9kZTpmcyc7XG5pbXBvcnQgeyBjcCB9IGZyb20gJ25vZGU6ZnMvcHJvbWlzZXMnO1xuXG5pbXBvcnQgeyBnZXRMaWJEZWJ1Z2dlciB9IGZyb20gJy4uLy4uL2RlYnVnLnRzJztcbmltcG9ydCB7IE9ic2lkaWFuUGx1Z2luUmVwb1BhdGhzIH0gZnJvbSAnLi4vLi4vb2JzaWRpYW4vcGx1Z2luL29ic2lkaWFuLXBsdWdpbi1yZXBvLXBhdGhzLnRzJztcbmltcG9ydCB7XG4gIGdldEZvbGRlck5hbWUsXG4gIGpvaW5cbn0gZnJvbSAnLi4vLi4vcGF0aC50cyc7XG5pbXBvcnQgeyBhc3NlcnROb25OdWxsYWJsZSB9IGZyb20gJy4uLy4uL3R5cGUtZ3VhcmRzLnRzJztcbmltcG9ydCB7IE9ic2lkaWFuRGV2VXRpbHNSZXBvUGF0aHMgfSBmcm9tICcuLi9vYnNpZGlhbi1kZXYtdXRpbHMtcmVwby1wYXRocy50cyc7XG5pbXBvcnQge1xuICBleGVjRnJvbVJvb3QsXG4gIGdldFJvb3RGb2xkZXIsXG4gIHJlc29sdmVQYXRoRnJvbVJvb3RTYWZlXG59IGZyb20gJy4uL3Jvb3QudHMnO1xuXG4vKipcbiAqIFBhcmFtZXRlcnMgZm9yIHRoZSB7QGxpbmsgbGludH0gZnVuY3Rpb24uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgTGludE9wdGlvbnMge1xuICAvKipcbiAgICogT3B0aW9uYWwgZmlsZSBwYXRocyB0byBsaW50LiBJZiBvbWl0dGVkLCBsaW50cyB0aGUgZW50aXJlIHByb2plY3QuXG4gICAqL1xuICByZWFkb25seSBwYXRocz86IHN0cmluZ1tdIHwgdW5kZWZpbmVkO1xuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRvIGZpeCBsaW50aW5nIGlzc3VlcyBhdXRvbWF0aWNhbGx5LlxuICAgKlxuICAgKiBAZGVmYXVsdCBgZmFsc2VgXG4gICAqL1xuICByZWFkb25seSBzaG91bGRGaXg/OiBib29sZWFuIHwgdW5kZWZpbmVkO1xufVxuXG4vKipcbiAqIExpbnQgdGhlIHByb2plY3Qgd2l0aCBFU0xpbnQuXG4gKlxuICogQHBhcmFtIG9wdGlvbnMgLSBUaGUge0BsaW5rIExpbnRPcHRpb25zfS5cbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGxpbnQob3B0aW9ucz86IExpbnRPcHRpb25zKTogUHJvbWlzZTx2b2lkPiB7XG4gIGNvbnN0IHsgcGF0aHMsIHNob3VsZEZpeCB9ID0gb3B0aW9ucyA/
|
|
178
|
+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vLi4vc3JjL3NjcmlwdC11dGlscy9saW50ZXJzL2VzbGludC50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsidmFyIF9faW1wb3J0X21ldGFfdXJsID0gZ2xvYmFsVGhpc1snaW1wb3J0Lm1ldGEudXJsJ10gPz8gKCgpID0+IHtcbiAgICAgIGlmICh0eXBlb2YgX19maWxlbmFtZSA9PT0gJ3N0cmluZycpIHtcbiAgICAgICAgY29uc3QgbG9jYWxSZXF1aXJlID0gcmVxdWlyZTtcbiAgICAgICAgY29uc3QgdXJsID0gbG9jYWxSZXF1aXJlKCdub2RlOnVybCcpO1xuICAgICAgICBpZiAodHlwZW9mIHVybC5wYXRoVG9GaWxlVVJMID09PSAnZnVuY3Rpb24nKSB7XG4gICAgICAgICAgcmV0dXJuIHVybC5wYXRoVG9GaWxlVVJMKF9fZmlsZW5hbWUpLmhyZWY7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgaWYgKHR5cGVvZiB3aW5kb3cgIT09ICd1bmRlZmluZWQnKSB7XG4gICAgICAgIHJldHVybiBhY3RpdmVXaW5kb3cubG9jYXRpb24uaHJlZjtcbiAgICAgIH1cblxuICAgICAgLy8gRmFsbGJhY2sgdG8gYW4gZW1wdHkgc3RyaW5nIGlmIHRoZSBlbnZpcm9ubWVudCBpcyB1bmtub3duXG4gICAgICByZXR1cm4gJyc7XG4gICAgfSkoKTtcbi8qKlxuICogQGZpbGVcbiAqXG4gKiBMaW50aW5nIHV0aWxpdHkgZm9yIEVTTGludCBjb25maWd1cmF0aW9uIHdpdGggc3VwcG9ydCBmb3IgYXV0b21hdGljIGZpeGluZy5cbiAqXG4gKiBUaGlzIG1vZHVsZSBwcm92aWRlcyBhIGZ1bmN0aW9uIHRvIGxpbnQgZmlsZXMgYmFzZWQgb24gdGhlIEVTTGludCBjb25maWd1cmF0aW9uIGRlZmluZWQgaW4gYGVzbGludC5jb25maWcudHNgLlxuICogSXQgY2FuIGF1dG9tYXRpY2FsbHkgZml4IGxpbnRpbmcgaXNzdWVzIGlmIHNwZWNpZmllZCwgYW5kIGxvZ3MgcmVzdWx0cyB0byB0aGUgY29uc29sZS5cbiAqL1xuXG5pbXBvcnQgeyBleGlzdHNTeW5jIH0gZnJvbSAnbm9kZTpmcyc7XG5pbXBvcnQgeyBjcCB9IGZyb20gJ25vZGU6ZnMvcHJvbWlzZXMnO1xuXG5pbXBvcnQgeyBnZXRMaWJEZWJ1Z2dlciB9IGZyb20gJy4uLy4uL2RlYnVnLnRzJztcbmltcG9ydCB7IE9ic2lkaWFuUGx1Z2luUmVwb1BhdGhzIH0gZnJvbSAnLi4vLi4vb2JzaWRpYW4vcGx1Z2luL29ic2lkaWFuLXBsdWdpbi1yZXBvLXBhdGhzLnRzJztcbmltcG9ydCB7XG4gIGdldEZvbGRlck5hbWUsXG4gIGpvaW5cbn0gZnJvbSAnLi4vLi4vcGF0aC50cyc7XG5pbXBvcnQgeyBhc3NlcnROb25OdWxsYWJsZSB9IGZyb20gJy4uLy4uL3R5cGUtZ3VhcmRzLnRzJztcbmltcG9ydCB7IE9ic2lkaWFuRGV2VXRpbHNSZXBvUGF0aHMgfSBmcm9tICcuLi9vYnNpZGlhbi1kZXYtdXRpbHMtcmVwby1wYXRocy50cyc7XG5pbXBvcnQge1xuICBleGVjRnJvbVJvb3QsXG4gIGdldFJvb3RGb2xkZXIsXG4gIHJlc29sdmVQYXRoRnJvbVJvb3RTYWZlXG59IGZyb20gJy4uL3Jvb3QudHMnO1xuXG4vKipcbiAqIFBhcmFtZXRlcnMgZm9yIHRoZSB7QGxpbmsgbGludH0gZnVuY3Rpb24uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgTGludE9wdGlvbnMge1xuICAvKipcbiAgICogT3B0aW9uYWwgZmlsZSBwYXRocyB0byBsaW50LiBJZiBvbWl0dGVkLCBsaW50cyB0aGUgZW50aXJlIHByb2plY3QuXG4gICAqL1xuICByZWFkb25seSBwYXRocz86IHN0cmluZ1tdIHwgdW5kZWZpbmVkO1xuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRvIGZpeCBsaW50aW5nIGlzc3VlcyBhdXRvbWF0aWNhbGx5LlxuICAgKlxuICAgKiBAZGVmYXVsdCBgZmFsc2VgXG4gICAqL1xuICByZWFkb25seSBzaG91bGRGaXg/OiBib29sZWFuIHwgdW5kZWZpbmVkO1xufVxuXG4vKipcbiAqIExpbnQgdGhlIHByb2plY3Qgd2l0aCBFU0xpbnQuXG4gKlxuICogQHBhcmFtIG9wdGlvbnMgLSBUaGUge0BsaW5rIExpbnRPcHRpb25zfS5cbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGxpbnQob3B0aW9ucz86IExpbnRPcHRpb25zKTogUHJvbWlzZTx2b2lkPiB7XG4gIGNvbnN0IHsgcGF0aHMsIHNob3VsZEZpeCB9ID0gb3B0aW9ucyA/PyB7fTtcbiAgY29uc3QgY29uZmlnRmlsZXMgPSBbXG4gICAgT2JzaWRpYW5QbHVnaW5SZXBvUGF0aHMuRXNsaW50Q29uZmlnSnMsXG4gICAgT2JzaWRpYW5QbHVnaW5SZXBvUGF0aHMuRXNsaW50Q29uZmlnTWpzLFxuICAgIE9ic2lkaWFuUGx1Z2luUmVwb1BhdGhzLkVzbGludENvbmZpZ0NqcyxcbiAgICBPYnNpZGlhblBsdWdpblJlcG9QYXRocy5Fc2xpbnRDb25maWdUcyxcbiAgICBPYnNpZGlhblBsdWdpblJlcG9QYXRocy5Fc2xpbnRDb25maWdNdHMsXG4gICAgT2JzaWRpYW5QbHVnaW5SZXBvUGF0aHMuRXNsaW50Q29uZmlnQ3RzXG4gIF07XG5cbiAgY29uc3QgZG9lc0NvbmZpZ0ZpbGVFeGlzdCA9IGNvbmZpZ0ZpbGVzLnNvbWUoKGNvbmZpZ0ZpbGUpID0+IHtcbiAgICBjb25zdCBjb25maWdGaWxlUGF0aCA9IHJlc29sdmVQYXRoRnJvbVJvb3RTYWZlKHsgcGF0aDogY29uZmlnRmlsZSB9KTtcbiAgICByZXR1cm4gZXhpc3RzU3luYyhjb25maWdGaWxlUGF0aCk7XG4gIH0pO1xuXG4gIGlmICghZG9lc0NvbmZpZ0ZpbGVFeGlzdCkge1xuICAgIGdldExpYkRlYnVnZ2VyKCdFU0xpbnQ6bGludCcpKCdFU0xpbnQgY29uZmlndXJhdGlvbiBmaWxlIG5vdCBmb3VuZC4gQ3JlYXRpbmcgZGVmYXVsdCBjb25maWcuLi4nKTtcbiAgICBjb25zdCBwYWNrYWdlRm9sZGVyID0gZ2V0Um9vdEZvbGRlcihnZXRGb2xkZXJOYW1lKGltcG9ydC5tZXRhLnVybCkpO1xuICAgIGFzc2VydE5vbk51bGxhYmxlKHBhY2thZ2VGb2xkZXIsICdQYWNrYWdlIGZvbGRlciBub3QgZm91bmQnKTtcbiAgICBhd2FpdCBjcChcbiAgICAgIGpvaW4ocGFja2FnZUZvbGRlciwgT2JzaWRpYW5EZXZVdGlsc1JlcG9QYXRocy5EaXN0VGVtcGxhdGVzLCBPYnNpZGlhbkRldlV0aWxzUmVwb1BhdGhzLkVzbGludENvbmZpZ010cyksXG4gICAgICByZXNvbHZlUGF0aEZyb21Sb290U2FmZSh7IHBhdGg6IE9ic2lkaWFuUGx1Z2luUmVwb1BhdGhzLkVzbGludENvbmZpZ010cyB9KVxuICAgICk7XG4gIH1cblxuICAvKiB2OCBpZ25vcmUgc3RhcnQgLS0gVGhlIHBhdGhzLXByb3ZpZGVkIGJyYW5jaCBpcyBvbmx5IGV4ZXJjaXNlZCBieSBjb25zdW1lciBwcm9qZWN0cyBwYXNzaW5nIGZpbGUgbGlzdHMuICovXG4gIGNvbnN0IHRhcmdldHMgPSBwYXRocz8ubGVuZ3RoID8gcGF0aHMgOiBbT2JzaWRpYW5QbHVnaW5SZXBvUGF0aHMuQ3VycmVudEZvbGRlcl07XG4gIC8qIHY4IGlnbm9yZSBzdG9wICovXG4gIGF3YWl0IGV4ZWNGcm9tUm9vdChbJ25weCcsICdlc2xpbnQnLCAuLi4oc2hvdWxkRml4ID8gWyctLWZpeCddIDogW10pLCB7IGJhdGNoZWRBcmd1bWVudHM6IHRhcmdldHMgfV0pO1xufVxuIl0sCiAgIm1hcHBpbmdzIjogIjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUF5QkEscUJBQTJCO0FBQzNCLHNCQUFtQjtBQUVuQixtQkFBK0I7QUFDL0Isd0NBQXdDO0FBQ3hDLGtCQUdPO0FBQ1AseUJBQWtDO0FBQ2xDLDJDQUEwQztBQUMxQyxrQkFJTztBQXhDUCxJQUFJLG9CQUFvQixXQUFXLGlCQUFpQixNQUFNLE1BQU07QUFDMUQsTUFBSSxPQUFPLGVBQWUsVUFBVTtBQUNsQyxVQUFNLGVBQWU7QUFDckIsVUFBTSxNQUFNLGFBQWEsVUFBVTtBQUNuQyxRQUFJLE9BQU8sSUFBSSxrQkFBa0IsWUFBWTtBQUMzQyxhQUFPLElBQUksY0FBYyxVQUFVLEVBQUU7QUFBQSxJQUN2QztBQUFBLEVBQ0Y7QUFFQSxNQUFJLE9BQU8sV0FBVyxhQUFhO0FBQ2pDLFdBQU8sYUFBYSxTQUFTO0FBQUEsRUFDL0I7QUFHQSxTQUFPO0FBQ1QsR0FBRztBQWlEUCxlQUFzQixLQUFLLFNBQXNDO0FBQy9ELFFBQU0sRUFBRSxPQUFPLFVBQVUsSUFBSSxXQUFXLENBQUM7QUFDekMsUUFBTSxjQUFjO0FBQUEsSUFDbEIsMERBQXdCO0FBQUEsSUFDeEIsMERBQXdCO0FBQUEsSUFDeEIsMERBQXdCO0FBQUEsSUFDeEIsMERBQXdCO0FBQUEsSUFDeEIsMERBQXdCO0FBQUEsSUFDeEIsMERBQXdCO0FBQUEsRUFDMUI7QUFFQSxRQUFNLHNCQUFzQixZQUFZLEtBQUssQ0FBQyxlQUFlO0FBQzNELFVBQU0scUJBQWlCLHFDQUF3QixFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQ25FLGVBQU8sMkJBQVcsY0FBYztBQUFBLEVBQ2xDLENBQUM7QUFFRCxNQUFJLENBQUMscUJBQXFCO0FBQ3hCLHFDQUFlLGFBQWEsRUFBRSxpRUFBaUU7QUFDL0YsVUFBTSxvQkFBZ0IsK0JBQWMsMkJBQWMsaUJBQWUsQ0FBQztBQUNsRSw4Q0FBa0IsZUFBZSwwQkFBMEI7QUFDM0QsY0FBTTtBQUFBLFVBQ0osa0JBQUssZUFBZSwrREFBMEIsZUFBZSwrREFBMEIsZUFBZTtBQUFBLFVBQ3RHLHFDQUF3QixFQUFFLE1BQU0sMERBQXdCLGdCQUFnQixDQUFDO0FBQUEsSUFDM0U7QUFBQSxFQUNGO0FBR0EsUUFBTSxVQUFVLE9BQU8sU0FBUyxRQUFRLENBQUMsMERBQXdCLGFBQWE7QUFFOUUsWUFBTSwwQkFBYSxDQUFDLE9BQU8sVUFBVSxHQUFJLFlBQVksQ0FBQyxPQUFPLElBQUksQ0FBQyxHQUFJLEVBQUUsa0JBQWtCLFFBQVEsQ0FBQyxDQUFDO0FBQ3RHOyIsCiAgIm5hbWVzIjogW10KfQo=
|