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
package/dist/lib/esm/script-utils/linters/eslint-rules/no-async-callback-to-unsafe-return.d.mts
CHANGED
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
/// <reference path="../../../library.d.mts" />
|
|
2
2
|
import type { Rule } from 'eslint';
|
|
3
|
-
/**
|
|
3
|
+
/**
|
|
4
|
+
Message ID reported when an async function is passed as a callback to a parameter whose return type is `any`/`unknown`, risking an unhandled promise rejection.
|
|
5
|
+
*/
|
|
4
6
|
export declare const MESSAGE_ID = "noAsyncCallbackToUnsafeReturn";
|
|
5
7
|
export declare const noAsyncCallbackToUnsafeReturn: Rule.RuleModule;
|
package/dist/lib/esm/script-utils/linters/eslint-rules/no-async-callback-to-unsafe-return.mjs
CHANGED
|
@@ -48,13 +48,13 @@ function containsPromiseReference(checker, node) {
|
|
|
48
48
|
if (PROMISE_TYPE_NAMES.has(name)) {
|
|
49
49
|
return true;
|
|
50
50
|
}
|
|
51
|
-
let symbol = checker.getSymbolAtLocation(node.typeName);
|
|
52
|
-
if (symbol && symbol.flags & SymbolFlags.Alias) {
|
|
53
|
-
symbol = checker.getAliasedSymbol(symbol);
|
|
51
|
+
let $symbol = checker.getSymbolAtLocation(node.typeName);
|
|
52
|
+
if ($symbol && $symbol.flags & SymbolFlags.Alias) {
|
|
53
|
+
$symbol = checker.getAliasedSymbol($symbol);
|
|
54
54
|
}
|
|
55
|
-
const
|
|
56
|
-
if (
|
|
57
|
-
return containsPromiseReference(checker,
|
|
55
|
+
const declaration = $symbol?.declarations?.[0];
|
|
56
|
+
if (declaration && isTypeAliasDeclaration(declaration)) {
|
|
57
|
+
return containsPromiseReference(checker, declaration.type);
|
|
58
58
|
}
|
|
59
59
|
}
|
|
60
60
|
return false;
|
|
@@ -64,8 +64,8 @@ function isUnsafeReturnSignature(checker, sig) {
|
|
|
64
64
|
if (!(returnType.flags & UNSAFE_RETURN_FLAGS)) {
|
|
65
65
|
return false;
|
|
66
66
|
}
|
|
67
|
-
const
|
|
68
|
-
const returnTypeNode =
|
|
67
|
+
const declaration = sig.getDeclaration();
|
|
68
|
+
const returnTypeNode = declaration.type;
|
|
69
69
|
assertNonNullable(returnTypeNode, "Signature declarations with any/unknown return always have a return type annotation");
|
|
70
70
|
return !containsPromiseReference(checker, returnTypeNode);
|
|
71
71
|
}
|
|
@@ -76,23 +76,23 @@ const noAsyncCallbackToUnsafeReturn = {
|
|
|
76
76
|
return {
|
|
77
77
|
CallExpression(node) {
|
|
78
78
|
const callNode = node;
|
|
79
|
-
for (let
|
|
80
|
-
const
|
|
81
|
-
if (!
|
|
79
|
+
for (let index = 0; index < callNode.arguments.length; index++) {
|
|
80
|
+
const argument = callNode.arguments[index];
|
|
81
|
+
if (!argument || !isAsyncFunctionNode(argument)) {
|
|
82
82
|
continue;
|
|
83
83
|
}
|
|
84
84
|
const tsCalleeNode = services.esTreeNodeToTSNodeMap.get(callNode.callee);
|
|
85
85
|
const calleeType = checker.getTypeAtLocation(tsCalleeNode);
|
|
86
86
|
for (const sig of calleeType.getCallSignatures()) {
|
|
87
|
-
const
|
|
88
|
-
if (!
|
|
87
|
+
const parameter = sig.getParameters()[index];
|
|
88
|
+
if (!parameter) {
|
|
89
89
|
continue;
|
|
90
90
|
}
|
|
91
|
-
const
|
|
92
|
-
if (hasUnsafeReturnCallSignature(checker,
|
|
91
|
+
const parameterType = checker.getTypeOfSymbol(parameter);
|
|
92
|
+
if (hasUnsafeReturnCallSignature(checker, parameterType)) {
|
|
93
93
|
context.report({
|
|
94
94
|
messageId: MESSAGE_ID,
|
|
95
|
-
node:
|
|
95
|
+
node: argument
|
|
96
96
|
});
|
|
97
97
|
break;
|
|
98
98
|
}
|
|
@@ -116,4 +116,4 @@ export {
|
|
|
116
116
|
MESSAGE_ID,
|
|
117
117
|
noAsyncCallbackToUnsafeReturn
|
|
118
118
|
};
|
|
119
|
-
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL3NjcmlwdC11dGlscy9saW50ZXJzL2VzbGludC1ydWxlcy9uby1hc3luYy1jYWxsYmFjay10by11bnNhZmUtcmV0dXJuLnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyIvKipcbiAqIEBmaWxlXG4gKlxuICogRVNMaW50IHJ1bGU6IG5vLWFzeW5jLWNhbGxiYWNrLXRvLXVuc2FmZS1yZXR1cm5cbiAqXG4gKiBSZXBvcnRzIGFuIGVycm9yIHdoZW4gYW4gYXN5bmMgZnVuY3Rpb24gaXMgcGFzc2VkIGFzIGEgY2FsbGJhY2sgYXJndW1lbnRcbiAqIHRvIGEgZnVuY3Rpb24gcGFyYW1ldGVyIHdob3NlIHJldHVybiB0eXBlIGlzIGBhbnlgIG9yIGB1bmtub3duYC4gQmVjYXVzZVxuICogdGhlc2UgdHlwZXMgc2lsZW50bHkgYWNjZXB0IGBQcm9taXNlPFQ+YCwgdGhlIGNhbGxlciB3b24ndCBhd2FpdCB0aGVcbiAqIHJlc3VsdCwgbGVhZGluZyB0byB1bmhhbmRsZWQgcHJvbWlzZSByZWplY3Rpb25zIGF0IHJ1bnRpbWUuXG4gKlxuICogRXhhbXBsZTpcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIC8vIG9uQ2xpY2soZm46IChldnQ6IE1vdXNlRXZlbnQpID0+IGFueSlcbiAqIGJ1dHRvbi5vbkNsaWNrKGFzeW5jICgpID0+IHtcbiAqICAgYXdhaXQgc29tZUZuKCk7IC8vIFVuaGFuZGxlZCByZWplY3Rpb24gaWYgc29tZUZuIHRocm93c1xuICogfSk7XG4gKiBgYGBcbiAqXG4gKiBgQHR5cGVzY3JpcHQtZXNsaW50L25vLW1pc3VzZWQtcHJvbWlzZXNgIG9ubHkgY2F0Y2hlcyBgPT4gdm9pZGAgY2FsbGJhY2tzLlxuICogVGhpcyBydWxlIGNsb3NlcyB0aGUgZ2FwIGZvciBgPT4gYW55YCBhbmQgYD0+IHVua25vd25gIGNhbGxiYWNrcy5cbiAqL1xuaW1wb3J0IHR5cGUge1xuICBQYXJzZXJTZXJ2aWNlc1dpdGhUeXBlSW5mb3JtYXRpb24sXG4gIFRTRVNUcmVlXG59IGZyb20gJ0B0eXBlc2NyaXB0LWVzbGludC91dGlscyc7XG5pbXBvcnQgdHlwZSB7IFJ1bGUgfSBmcm9tICdlc2xpbnQnO1xuaW1wb3J0IHR5cGUge1xuICBTaWduYXR1cmUsXG4gIFR5cGUsXG4gIFR5cGVDaGVja2VyLFxuICBUeXBlTm9kZVxufSBmcm9tICd0eXBlc2NyaXB0JztcblxuaW1wb3J0IHtcbiAgaXNJZGVudGlmaWVyLFxuICBpc1R5cGVBbGlhc0RlY2xhcmF0aW9uLFxuICBpc1R5cGVSZWZlcmVuY2VOb2RlLFxuICBpc1VuaW9uVHlwZU5vZGUsXG4gIFN5bWJvbEZsYWdzLFxuICBUeXBlRmxhZ3Ncbn0gZnJvbSAndHlwZXNjcmlwdCc7XG5cbmltcG9ydCB7IGFzc2VydE5vbk51bGxhYmxlIH0gZnJvbSAnLi4vLi4vLi4vdHlwZS1ndWFyZHMudHMnO1xuXG4vKiogTWVzc2FnZSBJRCByZXBvcnRlZCB3aGVuIGFuIGFzeW5jIGZ1bmN0aW9uIGlzIHBhc3NlZCBhcyBhIGNhbGxiYWNrIHRvIGEgcGFyYW1ldGVyIHdob3NlIHJldHVybiB0eXBlIGlzIGBhbnlgL2B1bmtub3duYCwgcmlza2luZyBhbiB1bmhhbmRsZWQgcHJvbWlzZSByZWplY3Rpb24uICovXG5leHBvcnQgY29uc3QgTUVTU0FHRV9JRCA9ICdub0FzeW5jQ2FsbGJhY2tUb1Vuc2FmZVJldHVybic7XG5cbi8qKlxuICogQ2hlY2tzIHdoZXRoZXIgdGhlIGdpdmVuIFR5cGVTY3JpcHQgdHlwZSBpcyBhIGZ1bmN0aW9uIHR5cGUgd2l0aCBhbiB1bnNhZmVcbiAqIHJldHVybiB0eXBlIGZvciBhc3luYyBjYWxsYmFja3MuXG4gKlxuICogQHBhcmFtIGNoZWNrZXIgLSBUeXBlU2NyaXB0IHR5cGUgY2hlY2tlci5cbiAqIEBwYXJhbSB0eXBlIC0gVGhlIHR5cGUgdG8gaW5zcGVjdC5cbiAqIEByZXR1cm5zIGB0cnVlYCBpZiB0aGUgdHlwZSBoYXMgYXQgbGVhc3Qgb25lIGNhbGwgc2lnbmF0dXJlIHdpdGggYW4gdW5zYWZlIHJldHVybi5cbiAqL1xuZnVuY3Rpb24gaGFzVW5zYWZlUmV0dXJuQ2FsbFNpZ25hdHVyZShjaGVja2VyOiBUeXBlQ2hlY2tlciwgdHlwZTogVHlwZSk6IGJvb2xlYW4ge1xuICByZXR1cm4gdHlwZS5nZXRDYWxsU2lnbmF0dXJlcygpLnNvbWUoKHNpZykgPT4gaXNVbnNhZmVSZXR1cm5TaWduYXR1cmUoY2hlY2tlciwgc2lnKSk7XG59XG5cbi8qKlxuICogQ2hlY2tzIHdoZXRoZXIgYSBub2RlIGlzIGFuIGFzeW5jIGZ1bmN0aW9uIGV4cHJlc3Npb24gKGFycm93IG9yIHJlZ3VsYXIpLlxuICpcbiAqIEBwYXJhbSBub2RlIC0gQVNUIG5vZGUgdG8gY2hlY2suXG4gKiBAcmV0dXJucyBgdHJ1ZWAgaWYgdGhlIG5vZGUgaXMgYW4gYXN5bmMgYXJyb3cgb3IgZnVuY3Rpb24gZXhwcmVzc2lvbi5cbiAqL1xuZnVuY3Rpb24gaXNBc3luY0Z1bmN0aW9uTm9kZShub2RlOiBUU0VTVHJlZS5Ob2RlKTogbm9kZSBpcyBUU0VTVHJlZS5BcnJvd0Z1bmN0aW9uRXhwcmVzc2lvbiB8IFRTRVNUcmVlLkZ1bmN0aW9uRXhwcmVzc2lvbiB7XG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW5zYWZlLWVudW0tY29tcGFyaXNvbiAtLSBBU1Qgbm9kZSB0eXBlIHN0cmluZyBsaXRlcmFscyBtYXRjaCB0aGUgVFNFU1RyZWUgZW51bSB2YWx1ZXMuXG4gIHJldHVybiAobm9kZS50eXBlID09PSAnQXJyb3dGdW5jdGlvbkV4cHJlc3Npb24nIHx8IG5vZGUudHlwZSA9PT0gJ0Z1bmN0aW9uRXhwcmVzc2lvbicpICYmIG5vZGUuYXN5bmM7XG59XG5cbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1iaXR3aXNlIC0tIEJpdHdpc2UgZmxhZyBtYXNrIGlzIGlkaW9tYXRpYyBmb3IgVHlwZVNjcmlwdCBjb21waWxlciBBUEkuXG5jb25zdCBVTlNBRkVfUkVUVVJOX0ZMQUdTID0gVHlwZUZsYWdzLkFueSB8IFR5cGVGbGFncy5Vbmtub3duO1xuXG5jb25zdCBQUk9NSVNFX1RZUEVfTkFNRVMgPSBuZXcgU2V0KFsnUHJvbWlzZScsICdQcm9taXNlTGlrZSddKTtcblxuLyoqXG4gKiBDaGVja3Mgd2hldGhlciBhIHR5cGUgbm9kZSBjb250YWlucyBhIHJlZmVyZW5jZSB0byBgUHJvbWlzZWAgb3IgYFByb21pc2VMaWtlYCxcbiAqIGVpdGhlciBkaXJlY3RseSBvciB0aHJvdWdoIGEgdHlwZSBhbGlhcy4gVGhpcyBpbmRpY2F0ZXMgdGhlIGNhbGxlciBleHBsaWNpdGx5XG4gKiBhY2NvdW50cyBmb3IgcHJvbWlzZSByZXR1cm5zLlxuICpcbiAqIEBwYXJhbSBjaGVja2VyIC0gVHlwZVNjcmlwdCB0eXBlIGNoZWNrZXIuXG4gKiBAcGFyYW0gbm9kZSAtIFRoZSB0eXBlIG5vZGUgdG8gaW5zcGVjdC5cbiAqIEByZXR1cm5zIGB0cnVlYCBpZiB0aGUgbm9kZSByZWZlcmVuY2VzIGBQcm9taXNlYCBvciBgUHJvbWlzZUxpa2VgLlxuICovXG5mdW5jdGlvbiBjb250YWluc1Byb21pc2VSZWZlcmVuY2UoY2hlY2tlcjogVHlwZUNoZWNrZXIsIG5vZGU6IFR5cGVOb2RlKTogYm9vbGVhbiB7XG4gIGlmIChpc1VuaW9uVHlwZU5vZGUobm9kZSkpIHtcbiAgICByZXR1cm4gbm9kZS50eXBlcy5zb21lKChtZW1iZXIpID0+IGNvbnRhaW5zUHJvbWlzZVJlZmVyZW5jZShjaGVja2VyLCBtZW1iZXIpKTtcbiAgfVxuXG4gIGlmIChpc1R5cGVSZWZlcmVuY2VOb2RlKG5vZGUpKSB7XG4gICAgLyogdjggaWdub3JlIHN0YXJ0IC0tIFF1YWxpZmllZCBuYW1lcyAoZS5nLiwgbnMuUHJvbWlzZSkgYW5kIGltcG9ydCBhbGlhc2VzIHJlcXVpcmUgbXVsdGktZmlsZSBzZXR1cCBub3QgYXZhaWxhYmxlIGluIFJ1bGVUZXN0ZXIuICovXG4gICAgY29uc3QgbmFtZSA9IGlzSWRlbnRpZmllcihub2RlLnR5cGVOYW1lKSA/IG5vZGUudHlwZU5hbWUudGV4dCA6ICcnO1xuICAgIC8qIHY4IGlnbm9yZSBzdG9wICovXG4gICAgaWYgKFBST01JU0VfVFlQRV9OQU1FUy5oYXMobmFtZSkpIHtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cblxuICAgIC8vIFJlc29sdmUgdHlwZSBhbGlhcyAoZm9sbG93aW5nIGltcG9ydHMpIGFuZCBjaGVjayBpdHMgZGVmaW5pdGlvbiBib2R5XG4gICAgbGV0IHN5bWJvbCA9IGNoZWNrZXIuZ2V0U3ltYm9sQXRMb2NhdGlvbihub2RlLnR5cGVOYW1lKTtcbiAgICAvKiB2OCBpZ25vcmUgc3RhcnQgLS0gSW1wb3J0IGFsaWFzZXMgcmVxdWlyZSBtdWx0aS1maWxlIHNldHVwIG5vdCBhdmFpbGFibGUgaW4gUnVsZVRlc3Rlci4gKi9cbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tYml0d2lzZSAtLSBCaXR3aXNlIGZsYWcgY2hlY2sgaXMgaWRpb21hdGljIGZvciBUeXBlU2NyaXB0IGNvbXBpbGVyIEFQSS5cbiAgICBpZiAoc3ltYm9sICYmIHN5bWJvbC5mbGFncyAmIFN5bWJvbEZsYWdzLkFsaWFzKSB7XG4gICAgICBzeW1ib2wgPSBjaGVja2VyLmdldEFsaWFzZWRTeW1ib2woc3ltYm9sKTtcbiAgICB9XG4gICAgLyogdjggaWdub3JlIHN0b3AgKi9cbiAgICBjb25zdCBkZWNsID0gc3ltYm9sPy5kZWNsYXJhdGlvbnM/LlswXTtcbiAgICBpZiAoZGVjbCAmJiBpc1R5cGVBbGlhc0RlY2xhcmF0aW9uKGRlY2wpKSB7XG4gICAgICByZXR1cm4gY29udGFpbnNQcm9taXNlUmVmZXJlbmNlKGNoZWNrZXIsIGRlY2wudHlwZSk7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIGZhbHNlO1xufVxuXG4vKipcbiAqIENoZWNrcyB3aGV0aGVyIGEgY2FsbCBzaWduYXR1cmUgaGFzIGFuIHVuc2FmZSByZXR1cm4gdHlwZSAoYGFueWAgb3IgYHVua25vd25gKVxuICogd2l0aG91dCBleHBsaWNpdGx5IGFjY291bnRpbmcgZm9yIHByb21pc2VzLlxuICpcbiAqIEZsYWdzIGJhcmUgYGFueWAsIGB1bmtub3duYCwgYW5kIHVuaW9ucyBsaWtlIGBhbnkgfCBzdHJpbmdgIHRoYXQgcmVzb2x2ZSB0b1xuICogYGFueWAvYHVua25vd25gIHdpdGhvdXQgaW5jbHVkaW5nIGBQcm9taXNlYC9gUHJvbWlzZUxpa2VgLiBEb2VzIE5PVCBmbGFnIHR5cGVcbiAqIGFsaWFzZXMgbGlrZSBgQXdhaXRhYmxlPFQ+YCBvciB1bmlvbnMgbGlrZSBgYW55IHwgUHJvbWlzZTxhbnk+YCB0aGF0IGV4cGxpY2l0bHlcbiAqIGhhbmRsZSBwcm9taXNlIHJldHVybnMuXG4gKlxuICogQHBhcmFtIGNoZWNrZXIgLSBUeXBlU2NyaXB0IHR5cGUgY2hlY2tlci5cbiAqIEBwYXJhbSBzaWcgLSBUaGUgY2FsbCBzaWduYXR1cmUgdG8gaW5zcGVjdC5cbiAqIEByZXR1cm5zIGB0cnVlYCBpZiB0aGUgcmV0dXJuIHR5cGUgaXMgdW5zYWZlIGZvciBhc3luYyBjYWxsYmFja3MuXG4gKi9cbmZ1bmN0aW9uIGlzVW5zYWZlUmV0dXJuU2lnbmF0dXJlKGNoZWNrZXI6IFR5cGVDaGVja2VyLCBzaWc6IFNpZ25hdHVyZSk6IGJvb2xlYW4ge1xuICBjb25zdCByZXR1cm5UeXBlID0gY2hlY2tlci5nZXRSZXR1cm5UeXBlT2ZTaWduYXR1cmUoc2lnKTtcblxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tYml0d2lzZSAtLSBCaXR3aXNlIGZsYWcgY2hlY2sgaXMgaWRpb21hdGljIGZvciBUeXBlU2NyaXB0IGNvbXBpbGVyIEFQSS5cbiAgaWYgKCEocmV0dXJuVHlwZS5mbGFncyAmIFVOU0FGRV9SRVRVUk5fRkxBR1MpKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgLy8gQ2hlY2sgdGhlIHN5bnRhY3RpYyByZXR1cm4gdHlwZSBhbm5vdGF0aW9uLiBJZiBpdCBjb250YWlucyBhIHJlZmVyZW5jZSB0b1xuICAvLyBQcm9taXNlL1Byb21pc2VMaWtlIChkaXJlY3RseSBvciB2aWEgYSB0eXBlIGFsaWFzKSwgdGhlIGNhbGxlciBleHBsaWNpdGx5XG4gIC8vIEhhbmRsZXMgYXN5bmMgcmV0dXJucyBhbmQgc2hvdWxkIG5vdCBiZSBmbGFnZ2VkLlxuICBjb25zdCBkZWNsID0gc2lnLmdldERlY2xhcmF0aW9uKCk7XG4gIGNvbnN0IHJldHVyblR5cGVOb2RlID0gZGVjbC50eXBlO1xuICBhc3NlcnROb25OdWxsYWJsZShyZXR1cm5UeXBlTm9kZSwgJ1NpZ25hdHVyZSBkZWNsYXJhdGlvbnMgd2l0aCBhbnkvdW5rbm93biByZXR1cm4gYWx3YXlzIGhhdmUgYSByZXR1cm4gdHlwZSBhbm5vdGF0aW9uJyk7XG5cbiAgcmV0dXJuICFjb250YWluc1Byb21pc2VSZWZlcmVuY2UoY2hlY2tlciwgcmV0dXJuVHlwZU5vZGUpO1xufVxuXG5leHBvcnQgY29uc3Qgbm9Bc3luY0NhbGxiYWNrVG9VbnNhZmVSZXR1cm46IFJ1bGUuUnVsZU1vZHVsZSA9IHtcbiAgY3JlYXRlKGNvbnRleHQpIHtcbiAgICBjb25zdCBzZXJ2aWNlcyA9IGNvbnRleHQuc291cmNlQ29kZS5wYXJzZXJTZXJ2aWNlcyBhcyBQYXJzZXJTZXJ2aWNlc1dpdGhUeXBlSW5mb3JtYXRpb247XG4gICAgY29uc3QgY2hlY2tlciA9IHNlcnZpY2VzLnByb2dyYW0uZ2V0VHlwZUNoZWNrZXIoKTtcblxuICAgIHJldHVybiB7XG4gICAgICBDYWxsRXhwcmVzc2lvbihub2RlOiBSdWxlLk5vZGUpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgY2FsbE5vZGUgPSBub2RlIGFzIFRTRVNUcmVlLkNhbGxFeHByZXNzaW9uO1xuXG4gICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgY2FsbE5vZGUuYXJndW1lbnRzLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgY29uc3QgYXJnID0gY2FsbE5vZGUuYXJndW1lbnRzW2ldO1xuICAgICAgICAgIGlmICghYXJnIHx8ICFpc0FzeW5jRnVuY3Rpb25Ob2RlKGFyZykpIHtcbiAgICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGNvbnN0IHRzQ2FsbGVlTm9kZSA9IHNlcnZpY2VzLmVzVHJlZU5vZGVUb1RTTm9kZU1hcC5nZXQoY2FsbE5vZGUuY2FsbGVlKTtcbiAgICAgICAgICBjb25zdCBjYWxsZWVUeXBlID0gY2hlY2tlci5nZXRUeXBlQXRMb2NhdGlvbih0c0NhbGxlZU5vZGUpO1xuXG4gICAgICAgICAgZm9yIChjb25zdCBzaWcgb2YgY2FsbGVlVHlwZS5nZXRDYWxsU2lnbmF0dXJlcygpKSB7XG4gICAgICAgICAgICBjb25zdCBwYXJhbSA9IHNpZy5nZXRQYXJhbWV0ZXJzKClbaV07XG4gICAgICAgICAgICBpZiAoIXBhcmFtKSB7XG4gICAgICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBjb25zdCBwYXJhbVR5cGUgPSBjaGVja2VyLmdldFR5cGVPZlN5bWJvbChwYXJhbSk7XG5cbiAgICAgICAgICAgIGlmIChoYXNVbnNhZmVSZXR1cm5DYWxsU2lnbmF0dXJlKGNoZWNrZXIsIHBhcmFtVHlwZSkpIHtcbiAgICAgICAgICAgICAgY29udGV4dC5yZXBvcnQoe1xuICAgICAgICAgICAgICAgIG1lc3NhZ2VJZDogTUVTU0FHRV9JRCxcbiAgICAgICAgICAgICAgICBub2RlOiBhcmdcbiAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH07XG4gIH0sXG4gIG1ldGE6IHtcbiAgICBkb2NzOiB7XG4gICAgICBkZXNjcmlwdGlvbjogJ0Rpc2FsbG93IHBhc3NpbmcgYXN5bmMgZnVuY3Rpb25zIGFzIGNhbGxiYWNrcyB0byBwYXJhbWV0ZXJzIHdpdGggYGFueWAgb3IgYHVua25vd25gIHJldHVybiB0eXBlJ1xuICAgIH0sXG4gICAgbWVzc2FnZXM6IHtcbiAgICAgIFtNRVNTQUdFX0lEXTogJ0FzeW5jIGZ1bmN0aW9uIHBhc3NlZCBhcyBjYWxsYmFjayB0byBhIHBhcmFtZXRlciB3aXRoIGBhbnlgL2B1bmtub3duYCByZXR1cm4gdHlwZS4gVGhpcyBtYXkgY2F1c2UgdW5oYW5kbGVkIHByb21pc2UgcmVqZWN0aW9ucy4gV3JhcCB0aGUgY2FsbDogYCguLi5hcmdzKSA9PiB7IHlvdXJBc3luY0ZuKC4uLmFyZ3MpOyB9YC4nXG4gICAgfSxcbiAgICBzY2hlbWE6IFtdLFxuICAgIHR5cGU6ICdwcm9ibGVtJ1xuICB9XG59O1xuIl0sCiAgIm1hcHBpbmdzIjogIjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFpQ0E7QUFBQSxFQUNFO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxPQUNLO0FBRVAsU0FBUyx5QkFBeUI7QUFHM0IsTUFBTSxhQUFhO0FBVTFCLFNBQVMsNkJBQTZCLFNBQXNCLE1BQXFCO0FBQy9FLFNBQU8sS0FBSyxrQkFBa0IsRUFBRSxLQUFLLENBQUMsUUFBUSx3QkFBd0IsU0FBUyxHQUFHLENBQUM7QUFDckY7QUFRQSxTQUFTLG9CQUFvQixNQUE2RjtBQUV4SCxVQUFRLEtBQUssU0FBUyw2QkFBNkIsS0FBSyxTQUFTLHlCQUF5QixLQUFLO0FBQ2pHO0FBR0EsTUFBTSxzQkFBc0IsVUFBVSxNQUFNLFVBQVU7QUFFdEQsTUFBTSxxQkFBcUIsb0JBQUksSUFBSSxDQUFDLFdBQVcsYUFBYSxDQUFDO0FBVzdELFNBQVMseUJBQXlCLFNBQXNCLE1BQXlCO0FBQy9FLE1BQUksZ0JBQWdCLElBQUksR0FBRztBQUN6QixXQUFPLEtBQUssTUFBTSxLQUFLLENBQUMsV0FBVyx5QkFBeUIsU0FBUyxNQUFNLENBQUM7QUFBQSxFQUM5RTtBQUVBLE1BQUksb0JBQW9CLElBQUksR0FBRztBQUU3QixVQUFNLE9BQU8sYUFBYSxLQUFLLFFBQVEsSUFBSSxLQUFLLFNBQVMsT0FBTztBQUVoRSxRQUFJLG1CQUFtQixJQUFJLElBQUksR0FBRztBQUNoQyxhQUFPO0FBQUEsSUFDVDtBQUdBLFFBQUksU0FBUyxRQUFRLG9CQUFvQixLQUFLLFFBQVE7QUFHdEQsUUFBSSxVQUFVLE9BQU8sUUFBUSxZQUFZLE9BQU87QUFDOUMsZUFBUyxRQUFRLGlCQUFpQixNQUFNO0FBQUEsSUFDMUM7QUFFQSxVQUFNLE9BQU8sUUFBUSxlQUFlLENBQUM7QUFDckMsUUFBSSxRQUFRLHVCQUF1QixJQUFJLEdBQUc7QUFDeEMsYUFBTyx5QkFBeUIsU0FBUyxLQUFLLElBQUk7QUFBQSxJQUNwRDtBQUFBLEVBQ0Y7QUFFQSxTQUFPO0FBQ1Q7QUFlQSxTQUFTLHdCQUF3QixTQUFzQixLQUF5QjtBQUM5RSxRQUFNLGFBQWEsUUFBUSx5QkFBeUIsR0FBRztBQUd2RCxNQUFJLEVBQUUsV0FBVyxRQUFRLHNCQUFzQjtBQUM3QyxXQUFPO0FBQUEsRUFDVDtBQUtBLFFBQU0sT0FBTyxJQUFJLGVBQWU7QUFDaEMsUUFBTSxpQkFBaUIsS0FBSztBQUM1QixvQkFBa0IsZ0JBQWdCLHFGQUFxRjtBQUV2SCxTQUFPLENBQUMseUJBQXlCLFNBQVMsY0FBYztBQUMxRDtBQUVPLE1BQU0sZ0NBQWlEO0FBQUEsRUFDNUQsT0FBTyxTQUFTO0FBQ2QsVUFBTSxXQUFXLFFBQVEsV0FBVztBQUNwQyxVQUFNLFVBQVUsU0FBUyxRQUFRLGVBQWU7QUFFaEQsV0FBTztBQUFBLE1BQ0wsZUFBZSxNQUF1QjtBQUNwQyxjQUFNLFdBQVc7QUFFakIsaUJBQVMsSUFBSSxHQUFHLElBQUksU0FBUyxVQUFVLFFBQVEsS0FBSztBQUNsRCxnQkFBTSxNQUFNLFNBQVMsVUFBVSxDQUFDO0FBQ2hDLGNBQUksQ0FBQyxPQUFPLENBQUMsb0JBQW9CLEdBQUcsR0FBRztBQUNyQztBQUFBLFVBQ0Y7QUFFQSxnQkFBTSxlQUFlLFNBQVMsc0JBQXNCLElBQUksU0FBUyxNQUFNO0FBQ3ZFLGdCQUFNLGFBQWEsUUFBUSxrQkFBa0IsWUFBWTtBQUV6RCxxQkFBVyxPQUFPLFdBQVcsa0JBQWtCLEdBQUc7QUFDaEQsa0JBQU0sUUFBUSxJQUFJLGNBQWMsRUFBRSxDQUFDO0FBQ25DLGdCQUFJLENBQUMsT0FBTztBQUNWO0FBQUEsWUFDRjtBQUVBLGtCQUFNLFlBQVksUUFBUSxnQkFBZ0IsS0FBSztBQUUvQyxnQkFBSSw2QkFBNkIsU0FBUyxTQUFTLEdBQUc7QUFDcEQsc0JBQVEsT0FBTztBQUFBLGdCQUNiLFdBQVc7QUFBQSxnQkFDWCxNQUFNO0FBQUEsY0FDUixDQUFDO0FBQ0Q7QUFBQSxZQUNGO0FBQUEsVUFDRjtBQUFBLFFBQ0Y7QUFBQSxNQUNGO0FBQUEsSUFDRjtBQUFBLEVBQ0Y7QUFBQSxFQUNBLE1BQU07QUFBQSxJQUNKLE1BQU07QUFBQSxNQUNKLGFBQWE7QUFBQSxJQUNmO0FBQUEsSUFDQSxVQUFVO0FBQUEsTUFDUixDQUFDLFVBQVUsR0FBRztBQUFBLElBQ2hCO0FBQUEsSUFDQSxRQUFRLENBQUM7QUFBQSxJQUNULE1BQU07QUFBQSxFQUNSO0FBQ0Y7IiwKICAibmFtZXMiOiBbXQp9Cg==
|
|
119
|
+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL3NjcmlwdC11dGlscy9saW50ZXJzL2VzbGludC1ydWxlcy9uby1hc3luYy1jYWxsYmFjay10by11bnNhZmUtcmV0dXJuLnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyIvKipcbiAqIEBmaWxlXG4gKlxuICogRVNMaW50IHJ1bGU6IG5vLWFzeW5jLWNhbGxiYWNrLXRvLXVuc2FmZS1yZXR1cm5cbiAqXG4gKiBSZXBvcnRzIGFuIGVycm9yIHdoZW4gYW4gYXN5bmMgZnVuY3Rpb24gaXMgcGFzc2VkIGFzIGEgY2FsbGJhY2sgYXJndW1lbnRcbiAqIHRvIGEgZnVuY3Rpb24gcGFyYW1ldGVyIHdob3NlIHJldHVybiB0eXBlIGlzIGBhbnlgIG9yIGB1bmtub3duYC4gQmVjYXVzZVxuICogdGhlc2UgdHlwZXMgc2lsZW50bHkgYWNjZXB0IGBQcm9taXNlPFQ+YCwgdGhlIGNhbGxlciB3b24ndCBhd2FpdCB0aGVcbiAqIHJlc3VsdCwgbGVhZGluZyB0byB1bmhhbmRsZWQgcHJvbWlzZSByZWplY3Rpb25zIGF0IHJ1bnRpbWUuXG4gKlxuICogRXhhbXBsZTpcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIC8vIG9uQ2xpY2soZm46IChldnQ6IE1vdXNlRXZlbnQpID0+IGFueSlcbiAqIGJ1dHRvbi5vbkNsaWNrKGFzeW5jICgpID0+IHtcbiAqICAgYXdhaXQgc29tZUZuKCk7IC8vIFVuaGFuZGxlZCByZWplY3Rpb24gaWYgc29tZUZuIHRocm93c1xuICogfSk7XG4gKiBgYGBcbiAqXG4gKiBgQHR5cGVzY3JpcHQtZXNsaW50L25vLW1pc3VzZWQtcHJvbWlzZXNgIG9ubHkgY2F0Y2hlcyBgPT4gdm9pZGAgY2FsbGJhY2tzLlxuICogVGhpcyBydWxlIGNsb3NlcyB0aGUgZ2FwIGZvciBgPT4gYW55YCBhbmQgYD0+IHVua25vd25gIGNhbGxiYWNrcy5cbiAqL1xuaW1wb3J0IHR5cGUge1xuICBQYXJzZXJTZXJ2aWNlc1dpdGhUeXBlSW5mb3JtYXRpb24sXG4gIFRTRVNUcmVlXG59IGZyb20gJ0B0eXBlc2NyaXB0LWVzbGludC91dGlscyc7XG5pbXBvcnQgdHlwZSB7IFJ1bGUgfSBmcm9tICdlc2xpbnQnO1xuaW1wb3J0IHR5cGUge1xuICBTaWduYXR1cmUsXG4gIFR5cGUsXG4gIFR5cGVDaGVja2VyLFxuICBUeXBlTm9kZVxufSBmcm9tICd0eXBlc2NyaXB0JztcblxuaW1wb3J0IHtcbiAgaXNJZGVudGlmaWVyLFxuICBpc1R5cGVBbGlhc0RlY2xhcmF0aW9uLFxuICBpc1R5cGVSZWZlcmVuY2VOb2RlLFxuICBpc1VuaW9uVHlwZU5vZGUsXG4gIFN5bWJvbEZsYWdzLFxuICBUeXBlRmxhZ3Ncbn0gZnJvbSAndHlwZXNjcmlwdCc7XG5cbmltcG9ydCB7IGFzc2VydE5vbk51bGxhYmxlIH0gZnJvbSAnLi4vLi4vLi4vdHlwZS1ndWFyZHMudHMnO1xuXG4vKipcbk1lc3NhZ2UgSUQgcmVwb3J0ZWQgd2hlbiBhbiBhc3luYyBmdW5jdGlvbiBpcyBwYXNzZWQgYXMgYSBjYWxsYmFjayB0byBhIHBhcmFtZXRlciB3aG9zZSByZXR1cm4gdHlwZSBpcyBgYW55YC9gdW5rbm93bmAsIHJpc2tpbmcgYW4gdW5oYW5kbGVkIHByb21pc2UgcmVqZWN0aW9uLlxuICovXG5leHBvcnQgY29uc3QgTUVTU0FHRV9JRCA9ICdub0FzeW5jQ2FsbGJhY2tUb1Vuc2FmZVJldHVybic7XG5cbi8qKlxuICogQ2hlY2tzIHdoZXRoZXIgdGhlIGdpdmVuIFR5cGVTY3JpcHQgdHlwZSBpcyBhIGZ1bmN0aW9uIHR5cGUgd2l0aCBhbiB1bnNhZmVcbiAqIHJldHVybiB0eXBlIGZvciBhc3luYyBjYWxsYmFja3MuXG4gKlxuICogQHBhcmFtIGNoZWNrZXIgLSBUeXBlU2NyaXB0IHR5cGUgY2hlY2tlci5cbiAqIEBwYXJhbSB0eXBlIC0gVGhlIHR5cGUgdG8gaW5zcGVjdC5cbiAqIEByZXR1cm5zIGB0cnVlYCBpZiB0aGUgdHlwZSBoYXMgYXQgbGVhc3Qgb25lIGNhbGwgc2lnbmF0dXJlIHdpdGggYW4gdW5zYWZlIHJldHVybi5cbiAqL1xuZnVuY3Rpb24gaGFzVW5zYWZlUmV0dXJuQ2FsbFNpZ25hdHVyZShjaGVja2VyOiBUeXBlQ2hlY2tlciwgdHlwZTogVHlwZSk6IGJvb2xlYW4ge1xuICByZXR1cm4gdHlwZS5nZXRDYWxsU2lnbmF0dXJlcygpLnNvbWUoKHNpZykgPT4gaXNVbnNhZmVSZXR1cm5TaWduYXR1cmUoY2hlY2tlciwgc2lnKSk7XG59XG5cbi8qKlxuICogQ2hlY2tzIHdoZXRoZXIgYSBub2RlIGlzIGFuIGFzeW5jIGZ1bmN0aW9uIGV4cHJlc3Npb24gKGFycm93IG9yIHJlZ3VsYXIpLlxuICpcbiAqIEBwYXJhbSBub2RlIC0gQVNUIG5vZGUgdG8gY2hlY2suXG4gKiBAcmV0dXJucyBgdHJ1ZWAgaWYgdGhlIG5vZGUgaXMgYW4gYXN5bmMgYXJyb3cgb3IgZnVuY3Rpb24gZXhwcmVzc2lvbi5cbiAqL1xuZnVuY3Rpb24gaXNBc3luY0Z1bmN0aW9uTm9kZShub2RlOiBUU0VTVHJlZS5Ob2RlKTogbm9kZSBpcyBUU0VTVHJlZS5BcnJvd0Z1bmN0aW9uRXhwcmVzc2lvbiB8IFRTRVNUcmVlLkZ1bmN0aW9uRXhwcmVzc2lvbiB7XG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW5zYWZlLWVudW0tY29tcGFyaXNvbiAtLSBBU1Qgbm9kZSB0eXBlIHN0cmluZyBsaXRlcmFscyBtYXRjaCB0aGUgVFNFU1RyZWUgZW51bSB2YWx1ZXMuXG4gIHJldHVybiAobm9kZS50eXBlID09PSAnQXJyb3dGdW5jdGlvbkV4cHJlc3Npb24nIHx8IG5vZGUudHlwZSA9PT0gJ0Z1bmN0aW9uRXhwcmVzc2lvbicpICYmIG5vZGUuYXN5bmM7XG59XG5cbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1iaXR3aXNlIC0tIEJpdHdpc2UgZmxhZyBtYXNrIGlzIGlkaW9tYXRpYyBmb3IgVHlwZVNjcmlwdCBjb21waWxlciBBUEkuXG5jb25zdCBVTlNBRkVfUkVUVVJOX0ZMQUdTID0gVHlwZUZsYWdzLkFueSB8IFR5cGVGbGFncy5Vbmtub3duO1xuXG5jb25zdCBQUk9NSVNFX1RZUEVfTkFNRVMgPSBuZXcgU2V0KFsnUHJvbWlzZScsICdQcm9taXNlTGlrZSddKTtcblxuLyoqXG4gKiBDaGVja3Mgd2hldGhlciBhIHR5cGUgbm9kZSBjb250YWlucyBhIHJlZmVyZW5jZSB0byBgUHJvbWlzZWAgb3IgYFByb21pc2VMaWtlYCxcbiAqIGVpdGhlciBkaXJlY3RseSBvciB0aHJvdWdoIGEgdHlwZSBhbGlhcy4gVGhpcyBpbmRpY2F0ZXMgdGhlIGNhbGxlciBleHBsaWNpdGx5XG4gKiBhY2NvdW50cyBmb3IgcHJvbWlzZSByZXR1cm5zLlxuICpcbiAqIEBwYXJhbSBjaGVja2VyIC0gVHlwZVNjcmlwdCB0eXBlIGNoZWNrZXIuXG4gKiBAcGFyYW0gbm9kZSAtIFRoZSB0eXBlIG5vZGUgdG8gaW5zcGVjdC5cbiAqIEByZXR1cm5zIGB0cnVlYCBpZiB0aGUgbm9kZSByZWZlcmVuY2VzIGBQcm9taXNlYCBvciBgUHJvbWlzZUxpa2VgLlxuICovXG5mdW5jdGlvbiBjb250YWluc1Byb21pc2VSZWZlcmVuY2UoY2hlY2tlcjogVHlwZUNoZWNrZXIsIG5vZGU6IFR5cGVOb2RlKTogYm9vbGVhbiB7XG4gIGlmIChpc1VuaW9uVHlwZU5vZGUobm9kZSkpIHtcbiAgICByZXR1cm4gbm9kZS50eXBlcy5zb21lKChtZW1iZXIpID0+IGNvbnRhaW5zUHJvbWlzZVJlZmVyZW5jZShjaGVja2VyLCBtZW1iZXIpKTtcbiAgfVxuXG4gIGlmIChpc1R5cGVSZWZlcmVuY2VOb2RlKG5vZGUpKSB7XG4gICAgLyogdjggaWdub3JlIHN0YXJ0IC0tIFF1YWxpZmllZCBuYW1lcyAoZS5nLiwgbnMuUHJvbWlzZSkgYW5kIGltcG9ydCBhbGlhc2VzIHJlcXVpcmUgbXVsdGktZmlsZSBzZXR1cCBub3QgYXZhaWxhYmxlIGluIFJ1bGVUZXN0ZXIuICovXG4gICAgY29uc3QgbmFtZSA9IGlzSWRlbnRpZmllcihub2RlLnR5cGVOYW1lKSA/IG5vZGUudHlwZU5hbWUudGV4dCA6ICcnO1xuICAgIC8qIHY4IGlnbm9yZSBzdG9wICovXG4gICAgaWYgKFBST01JU0VfVFlQRV9OQU1FUy5oYXMobmFtZSkpIHtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cblxuICAgIC8vIFJlc29sdmUgdHlwZSBhbGlhcyAoZm9sbG93aW5nIGltcG9ydHMpIGFuZCBjaGVjayBpdHMgZGVmaW5pdGlvbiBib2R5XG4gICAgbGV0ICRzeW1ib2wgPSBjaGVja2VyLmdldFN5bWJvbEF0TG9jYXRpb24obm9kZS50eXBlTmFtZSk7XG4gICAgLyogdjggaWdub3JlIHN0YXJ0IC0tIEltcG9ydCBhbGlhc2VzIHJlcXVpcmUgbXVsdGktZmlsZSBzZXR1cCBub3QgYXZhaWxhYmxlIGluIFJ1bGVUZXN0ZXIuICovXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLWJpdHdpc2UgLS0gQml0d2lzZSBmbGFnIGNoZWNrIGlzIGlkaW9tYXRpYyBmb3IgVHlwZVNjcmlwdCBjb21waWxlciBBUEkuXG4gICAgaWYgKCRzeW1ib2wgJiYgJHN5bWJvbC5mbGFncyAmIFN5bWJvbEZsYWdzLkFsaWFzKSB7XG4gICAgICAkc3ltYm9sID0gY2hlY2tlci5nZXRBbGlhc2VkU3ltYm9sKCRzeW1ib2wpO1xuICAgIH1cbiAgICAvKiB2OCBpZ25vcmUgc3RvcCAqL1xuICAgIGNvbnN0IGRlY2xhcmF0aW9uID0gJHN5bWJvbD8uZGVjbGFyYXRpb25zPy5bMF07XG4gICAgaWYgKGRlY2xhcmF0aW9uICYmIGlzVHlwZUFsaWFzRGVjbGFyYXRpb24oZGVjbGFyYXRpb24pKSB7XG4gICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgdW5pY29ybi9uby11c2VsZXNzLXJlY3Vyc2lvbiAtLSBUaGlzIGZ1bmN0aW9uIHJlY3Vyc2VzIGluIHR3byBwbGFjZXM6IGhlcmUsIGZvbGxvd2luZyBhIHR5cGUgYWxpYXMsIGFuZCBhYm92ZSwgZmFubmluZyBvdXQgb3ZlciB0aGUgbWVtYmVycyBvZiBhIHVuaW9uLiBPbmx5IHRoaXMgb25lIGlzIGEgdGFpbCBjYWxsLCBzbyB0dXJuaW5nIGl0IGludG8gYSBsb29wIHdvdWxkIGxlYXZlIHRoZSBmdW5jdGlvbiBoYWxmIHJlY3Vyc2l2ZSBhbmQgaGFsZiBpdGVyYXRpdmUgb3ZlciB0aGUgc2FtZSB0cmVlLlxuICAgICAgcmV0dXJuIGNvbnRhaW5zUHJvbWlzZVJlZmVyZW5jZShjaGVja2VyLCBkZWNsYXJhdGlvbi50eXBlKTtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gZmFsc2U7XG59XG5cbi8qKlxuICogQ2hlY2tzIHdoZXRoZXIgYSBjYWxsIHNpZ25hdHVyZSBoYXMgYW4gdW5zYWZlIHJldHVybiB0eXBlIChgYW55YCBvciBgdW5rbm93bmApXG4gKiB3aXRob3V0IGV4cGxpY2l0bHkgYWNjb3VudGluZyBmb3IgcHJvbWlzZXMuXG4gKlxuICogRmxhZ3MgYmFyZSBgYW55YCwgYHVua25vd25gLCBhbmQgdW5pb25zIGxpa2UgYGFueSB8IHN0cmluZ2AgdGhhdCByZXNvbHZlIHRvXG4gKiBgYW55YC9gdW5rbm93bmAgd2l0aG91dCBpbmNsdWRpbmcgYFByb21pc2VgL2BQcm9taXNlTGlrZWAuIERvZXMgTk9UIGZsYWcgdHlwZVxuICogYWxpYXNlcyBsaWtlIGBBd2FpdGFibGU8VD5gIG9yIHVuaW9ucyBsaWtlIGBhbnkgfCBQcm9taXNlPGFueT5gIHRoYXQgZXhwbGljaXRseVxuICogaGFuZGxlIHByb21pc2UgcmV0dXJucy5cbiAqXG4gKiBAcGFyYW0gY2hlY2tlciAtIFR5cGVTY3JpcHQgdHlwZSBjaGVja2VyLlxuICogQHBhcmFtIHNpZyAtIFRoZSBjYWxsIHNpZ25hdHVyZSB0byBpbnNwZWN0LlxuICogQHJldHVybnMgYHRydWVgIGlmIHRoZSByZXR1cm4gdHlwZSBpcyB1bnNhZmUgZm9yIGFzeW5jIGNhbGxiYWNrcy5cbiAqL1xuZnVuY3Rpb24gaXNVbnNhZmVSZXR1cm5TaWduYXR1cmUoY2hlY2tlcjogVHlwZUNoZWNrZXIsIHNpZzogU2lnbmF0dXJlKTogYm9vbGVhbiB7XG4gIGNvbnN0IHJldHVyblR5cGUgPSBjaGVja2VyLmdldFJldHVyblR5cGVPZlNpZ25hdHVyZShzaWcpO1xuXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1iaXR3aXNlIC0tIEJpdHdpc2UgZmxhZyBjaGVjayBpcyBpZGlvbWF0aWMgZm9yIFR5cGVTY3JpcHQgY29tcGlsZXIgQVBJLlxuICBpZiAoIShyZXR1cm5UeXBlLmZsYWdzICYgVU5TQUZFX1JFVFVSTl9GTEFHUykpIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICAvLyBDaGVjayB0aGUgc3ludGFjdGljIHJldHVybiB0eXBlIGFubm90YXRpb24uIElmIGl0IGNvbnRhaW5zIGEgcmVmZXJlbmNlIHRvXG4gIC8vIFByb21pc2UvUHJvbWlzZUxpa2UgKGRpcmVjdGx5IG9yIHZpYSBhIHR5cGUgYWxpYXMpLCB0aGUgY2FsbGVyIGV4cGxpY2l0bHlcbiAgLy8gSGFuZGxlcyBhc3luYyByZXR1cm5zIGFuZCBzaG91bGQgbm90IGJlIGZsYWdnZWQuXG4gIGNvbnN0IGRlY2xhcmF0aW9uID0gc2lnLmdldERlY2xhcmF0aW9uKCk7XG4gIGNvbnN0IHJldHVyblR5cGVOb2RlID0gZGVjbGFyYXRpb24udHlwZTtcbiAgYXNzZXJ0Tm9uTnVsbGFibGUocmV0dXJuVHlwZU5vZGUsICdTaWduYXR1cmUgZGVjbGFyYXRpb25zIHdpdGggYW55L3Vua25vd24gcmV0dXJuIGFsd2F5cyBoYXZlIGEgcmV0dXJuIHR5cGUgYW5ub3RhdGlvbicpO1xuXG4gIHJldHVybiAhY29udGFpbnNQcm9taXNlUmVmZXJlbmNlKGNoZWNrZXIsIHJldHVyblR5cGVOb2RlKTtcbn1cblxuZXhwb3J0IGNvbnN0IG5vQXN5bmNDYWxsYmFja1RvVW5zYWZlUmV0dXJuOiBSdWxlLlJ1bGVNb2R1bGUgPSB7XG4gIGNyZWF0ZShjb250ZXh0KSB7XG4gICAgY29uc3Qgc2VydmljZXMgPSBjb250ZXh0LnNvdXJjZUNvZGUucGFyc2VyU2VydmljZXMgYXMgUGFyc2VyU2VydmljZXNXaXRoVHlwZUluZm9ybWF0aW9uO1xuICAgIGNvbnN0IGNoZWNrZXIgPSBzZXJ2aWNlcy5wcm9ncmFtLmdldFR5cGVDaGVja2VyKCk7XG5cbiAgICByZXR1cm4ge1xuICAgICAgQ2FsbEV4cHJlc3Npb24obm9kZTogUnVsZS5Ob2RlKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IGNhbGxOb2RlID0gbm9kZSBhcyBUU0VTVHJlZS5DYWxsRXhwcmVzc2lvbjtcblxuICAgICAgICBmb3IgKGxldCBpbmRleCA9IDA7IGluZGV4IDwgY2FsbE5vZGUuYXJndW1lbnRzLmxlbmd0aDsgaW5kZXgrKykge1xuICAgICAgICAgIGNvbnN0IGFyZ3VtZW50ID0gY2FsbE5vZGUuYXJndW1lbnRzW2luZGV4XTtcbiAgICAgICAgICBpZiAoIWFyZ3VtZW50IHx8ICFpc0FzeW5jRnVuY3Rpb25Ob2RlKGFyZ3VtZW50KSkge1xuICAgICAgICAgICAgY29udGludWU7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgY29uc3QgdHNDYWxsZWVOb2RlID0gc2VydmljZXMuZXNUcmVlTm9kZVRvVFNOb2RlTWFwLmdldChjYWxsTm9kZS5jYWxsZWUpO1xuICAgICAgICAgIGNvbnN0IGNhbGxlZVR5cGUgPSBjaGVja2VyLmdldFR5cGVBdExvY2F0aW9uKHRzQ2FsbGVlTm9kZSk7XG5cbiAgICAgICAgICBmb3IgKGNvbnN0IHNpZyBvZiBjYWxsZWVUeXBlLmdldENhbGxTaWduYXR1cmVzKCkpIHtcbiAgICAgICAgICAgIGNvbnN0IHBhcmFtZXRlciA9IHNpZy5nZXRQYXJhbWV0ZXJzKClbaW5kZXhdO1xuICAgICAgICAgICAgaWYgKCFwYXJhbWV0ZXIpIHtcbiAgICAgICAgICAgICAgY29udGludWU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGNvbnN0IHBhcmFtZXRlclR5cGUgPSBjaGVja2VyLmdldFR5cGVPZlN5bWJvbChwYXJhbWV0ZXIpO1xuXG4gICAgICAgICAgICBpZiAoaGFzVW5zYWZlUmV0dXJuQ2FsbFNpZ25hdHVyZShjaGVja2VyLCBwYXJhbWV0ZXJUeXBlKSkge1xuICAgICAgICAgICAgICBjb250ZXh0LnJlcG9ydCh7XG4gICAgICAgICAgICAgICAgbWVzc2FnZUlkOiBNRVNTQUdFX0lELFxuICAgICAgICAgICAgICAgIG5vZGU6IGFyZ3VtZW50XG4gICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9O1xuICB9LFxuICBtZXRhOiB7XG4gICAgZG9jczoge1xuICAgICAgZGVzY3JpcHRpb246ICdEaXNhbGxvdyBwYXNzaW5nIGFzeW5jIGZ1bmN0aW9ucyBhcyBjYWxsYmFja3MgdG8gcGFyYW1ldGVycyB3aXRoIGBhbnlgIG9yIGB1bmtub3duYCByZXR1cm4gdHlwZSdcbiAgICB9LFxuICAgIG1lc3NhZ2VzOiB7XG4gICAgICBbTUVTU0FHRV9JRF06ICdBc3luYyBmdW5jdGlvbiBwYXNzZWQgYXMgY2FsbGJhY2sgdG8gYSBwYXJhbWV0ZXIgd2l0aCBgYW55YC9gdW5rbm93bmAgcmV0dXJuIHR5cGUuIFRoaXMgbWF5IGNhdXNlIHVuaGFuZGxlZCBwcm9taXNlIHJlamVjdGlvbnMuIFdyYXAgdGhlIGNhbGw6IGAoLi4uYXJncykgPT4geyB5b3VyQXN5bmNGbiguLi5hcmdzKTsgfWAuJ1xuICAgIH0sXG4gICAgc2NoZW1hOiBbXSxcbiAgICB0eXBlOiAncHJvYmxlbSdcbiAgfVxufTtcbiJdLAogICJtYXBwaW5ncyI6ICI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBaUNBO0FBQUEsRUFDRTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsT0FDSztBQUVQLFNBQVMseUJBQXlCO0FBSzNCLE1BQU0sYUFBYTtBQVUxQixTQUFTLDZCQUE2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
|
|
@@ -31,6 +31,8 @@
|
|
|
31
31
|
* type is skipped. Only identifier-named members are tracked.
|
|
32
32
|
*/
|
|
33
33
|
import type { Rule } from 'eslint';
|
|
34
|
-
/**
|
|
34
|
+
/**
|
|
35
|
+
Message ID reported when a `*Params`/`*Options` interface member is never accessed by the function that receives it.
|
|
36
|
+
*/
|
|
35
37
|
export declare const MESSAGE_ID = "unusedParamsMember";
|
|
36
38
|
export declare const noUnusedParamsMembers: Rule.RuleModule;
|
|
@@ -30,8 +30,8 @@ const noUnusedParamsMembers = {
|
|
|
30
30
|
const usageByInterface = /* @__PURE__ */ new Map();
|
|
31
31
|
return {
|
|
32
32
|
":function"(node) {
|
|
33
|
-
for (const
|
|
34
|
-
const info =
|
|
33
|
+
for (const parameter of record(node)["params"]) {
|
|
34
|
+
const info = getParameterInfo(parameter);
|
|
35
35
|
if (!info) {
|
|
36
36
|
continue;
|
|
37
37
|
}
|
|
@@ -40,7 +40,7 @@ const noUnusedParamsMembers = {
|
|
|
40
40
|
collectPatternMembers(info.binding.pattern, usage);
|
|
41
41
|
} else {
|
|
42
42
|
collectReferenceMembers({
|
|
43
|
-
|
|
43
|
+
parameterName: info.binding.name,
|
|
44
44
|
scope: context.sourceCode.getScope(node),
|
|
45
45
|
usage
|
|
46
46
|
});
|
|
@@ -108,10 +108,10 @@ function classifyReference(reference, usage) {
|
|
|
108
108
|
usage.usesAll = true;
|
|
109
109
|
}
|
|
110
110
|
function collectMemberAccess(node, usage) {
|
|
111
|
-
const
|
|
111
|
+
const isComputed = record(node)["computed"] === true;
|
|
112
112
|
const property = record(node)["property"];
|
|
113
113
|
if (property.type === "Identifier") {
|
|
114
|
-
if (!
|
|
114
|
+
if (!isComputed) {
|
|
115
115
|
usage.used.add(record(property)["name"]);
|
|
116
116
|
}
|
|
117
117
|
return;
|
|
@@ -139,8 +139,8 @@ function collectPatternMembers(pattern, usage) {
|
|
|
139
139
|
}
|
|
140
140
|
}
|
|
141
141
|
function collectReferenceMembers(params) {
|
|
142
|
-
const {
|
|
143
|
-
const variable = ensureNonNullable(scope.set.get(
|
|
142
|
+
const { parameterName, scope, usage } = params;
|
|
143
|
+
const variable = ensureNonNullable(scope.set.get(parameterName));
|
|
144
144
|
for (const reference of variable.references) {
|
|
145
145
|
classifyReference(reference.identifier, usage);
|
|
146
146
|
}
|
|
@@ -166,22 +166,22 @@ function getInterfaceName(node) {
|
|
|
166
166
|
const id = record(node)["id"];
|
|
167
167
|
return record(id)["name"];
|
|
168
168
|
}
|
|
169
|
-
function
|
|
170
|
-
const
|
|
171
|
-
const typeName = getTypeReferenceName(
|
|
169
|
+
function getParameterInfo(parameter) {
|
|
170
|
+
const actualParameter = nodeType(parameter) === "TSParameterProperty" ? record(parameter)["parameter"] : parameter;
|
|
171
|
+
const typeName = getTypeReferenceName(actualParameter);
|
|
172
172
|
if (!typeName || !PARAMS_OPTIONS_SUFFIX_PATTERN.test(typeName)) {
|
|
173
173
|
return void 0;
|
|
174
174
|
}
|
|
175
|
-
if (
|
|
176
|
-
return { binding: { name: record(
|
|
175
|
+
if (actualParameter.type === "Identifier") {
|
|
176
|
+
return { binding: { name: record(actualParameter)["name"], type: "identifier" }, typeName };
|
|
177
177
|
}
|
|
178
|
-
if (
|
|
179
|
-
return { binding: { pattern:
|
|
178
|
+
if (actualParameter.type === "ObjectPattern") {
|
|
179
|
+
return { binding: { pattern: actualParameter, type: "pattern" }, typeName };
|
|
180
180
|
}
|
|
181
181
|
return void 0;
|
|
182
182
|
}
|
|
183
|
-
function getTypeReferenceName(
|
|
184
|
-
const annotation = record(
|
|
183
|
+
function getTypeReferenceName(parameter) {
|
|
184
|
+
const annotation = record(parameter)["typeAnnotation"];
|
|
185
185
|
if (!isNode(annotation)) {
|
|
186
186
|
return void 0;
|
|
187
187
|
}
|
|
@@ -208,4 +208,4 @@ export {
|
|
|
208
208
|
MESSAGE_ID,
|
|
209
209
|
noUnusedParamsMembers
|
|
210
210
|
};
|
|
211
|
-
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL3NjcmlwdC11dGlscy9saW50ZXJzL2VzbGludC1ydWxlcy9uby11bnVzZWQtcGFyYW1zLW1lbWJlcnMudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbIi8qKlxuICogQGZpbGVcbiAqXG4gKiBFU0xpbnQgcnVsZTogbm8tdW51c2VkLXBhcmFtcy1tZW1iZXJzXG4gKlxuICogRmxhZ3MgbWVtYmVycyBvZiBhIGAqUGFyYW1zYCAvIGAqT3B0aW9uc2AgcGFyYW1ldGVyLWJhZyBpbnRlcmZhY2UgdGhhdCBhcmVcbiAqIG5ldmVyIGFjY2Vzc2VkIHdpdGhpbiB0aGUgZnVuY3Rpb24vbWV0aG9kL2NvbnN0cnVjdG9yIHRoYXQgcmVjZWl2ZXMgdGhlXG4gKiBpbnRlcmZhY2UgYXMgYSBwYXJhbWV0ZXIuXG4gKlxuICogRGV0ZWN0aW9uIGlzIHBlci1mdW5jdGlvbiwgdXNpbmcgc2NvcGUgYW5hbHlzaXMgdG8gZmluZCB0aGUgcmVhbCByZWZlcmVuY2VzXG4gKiB0byB0aGUgcGFyYW1ldGVyIChub3QgdW5yZWxhdGVkIHNhbWUtbmFtZWQgaWRlbnRpZmllcnMpLiBBIG1lbWJlciBjb3VudHMgYXNcbiAqIHVzZWQgd2hlbiBpdCBpcyByZWZlcmVuY2VkIGJ5IG5hbWUgXHUyMDE0IGBwYXJhbXMubWVtYmVyYCwgYHBhcmFtc1snbWVtYmVyJ11gLCBvclxuICogYGNvbnN0IHsgbWVtYmVyIH0gPSBwYXJhbXNgIChwbHVzIGEgZGVzdHJ1Y3R1cmVkIHNpZ25hdHVyZVxuICogYGZuKHsgbWVtYmVyIH06IEZvb1BhcmFtcylgKS5cbiAqXG4gKiBDcnVjaWFsbHksIGlmIHRoZSBvYmplY3QgZXZlciBFU0NBUEVTIHdob2xlIFx1MjAxNCBzcHJlYWQgKGB7IC4uLnBhcmFtcyB9YCksIHJlc3RcbiAqIChgY29uc3QgeyAuLi5yZXN0IH0gPSBwYXJhbXNgKSwgcGFzc2VkIGFzIGFuIGFyZ3VtZW50IChgZihwYXJhbXMpYCksIHJldHVybmVkLFxuICogb3Igc3RvcmVkIChgdGhpcy5wYXJhbXMgPSBwYXJhbXNgKSBcdTIwMTQgZXZlcnkgbWVtYmVyIGlzIHRyZWF0ZWQgYXMgdXNlZCBhbmRcbiAqIG5vdGhpbmcgaXMgcmVwb3J0ZWQgZm9yIHRoYXQgaW50ZXJmYWNlLiBTdWNoIGFuIGVzY2FwZSBlaXRoZXIgcmVhZHMgZXZlcnlcbiAqIG1lbWJlciAoc3ByZWFkL3Jlc3QpIG9yIGhhbmRzIHRoZSBvYmplY3QgdG8gY29kZSB0aGlzIHJ1bGUgY2Fubm90IHNlZSwgc29cbiAqIG1lbWJlciBkZWFkbmVzcyBjYW5ub3QgYmUgZGVjaWRlZCBsb2NhbGx5LlxuICpcbiAqIEEgbWVtYmVyIGlzIHRoZXJlZm9yZSBmbGFnZ2VkIG9ubHkgd2hlbiBpdCBpcyBuZXZlciByZWZlcmVuY2VkIGJ5IG5hbWUgQU5EXG4gKiB0aGUgb2JqZWN0IG5ldmVyIGVzY2FwZXMgXHUyMDE0IGkuZS4gdGhlIFwiYSBgcGFyYW1zLnhgIHVzYWdlIHdhcyBkZWxldGVkIGJ1dCBgeGBcbiAqIHdhcyBsZWZ0IG9uIHRoZSBpbnRlcmZhY2VcIiBjYXNlLiBBIG1lbWJlciB0aGF0IGlzIGFjdHVhbGx5IHN0aWxsIG5lZWRlZCAocmVhZFxuICogdmlhIGFuIGVzY2FwZSkgaXMgbmV2ZXIgd3JvbmdseSBmbGFnZ2VkOyBhIG1lbWJlciB0aGF0IGlzIGVzY2FwZWQgYnV0IGRlYWRcbiAqIGRvd25zdHJlYW0gaXMgYSB0b2xlcmF0ZWQgZmFsc2UgbmVnYXRpdmUgKGl0cyBkZWFkbmVzcyBpcyBub3QgbG9jYWwpLlxuICpcbiAqIE9ubHkgaW50ZXJmYWNlcyBkZWNsYXJlZCBpbiB0aGUgc2FtZSBmaWxlIGFyZSBjaGVja2VkOyBhbiBpbXBvcnRlZCBwYXJhbWV0ZXJcbiAqIHR5cGUgaXMgc2tpcHBlZC4gT25seSBpZGVudGlmaWVyLW5hbWVkIG1lbWJlcnMgYXJlIHRyYWNrZWQuXG4gKi9cblxuaW1wb3J0IHR5cGUge1xuICBSdWxlLFxuICBTY29wZVxufSBmcm9tICdlc2xpbnQnO1xuXG5pbXBvcnQgeyBlbnN1cmVOb25OdWxsYWJsZSB9IGZyb20gJy4uLy4uLy4uL3R5cGUtZ3VhcmRzLnRzJztcblxuY29uc3QgUEFSQU1TX09QVElPTlNfU1VGRklYX1BBVFRFUk4gPSAvKD86UGFyYW1zfE9wdGlvbnMpJC87XG5cbi8qKiBNZXNzYWdlIElEIHJlcG9ydGVkIHdoZW4gYSBgKlBhcmFtc2AvYCpPcHRpb25zYCBpbnRlcmZhY2UgbWVtYmVyIGlzIG5ldmVyIGFjY2Vzc2VkIGJ5IHRoZSBmdW5jdGlvbiB0aGF0IHJlY2VpdmVzIGl0LiAqL1xuZXhwb3J0IGNvbnN0IE1FU1NBR0VfSUQgPSAndW51c2VkUGFyYW1zTWVtYmVyJztcblxuaW50ZXJmYWNlIElkZW50aWZpZXJCaW5kaW5nIHtcbiAgbmFtZTogc3RyaW5nO1xuICB0eXBlOiAnaWRlbnRpZmllcic7XG59XG5cbmludGVyZmFjZSBJbnRlcmZhY2VVc2FnZSB7XG4gIHJlYWRvbmx5IHVzZWQ6IFNldDxzdHJpbmc+O1xuICB1c2VzQWxsOiBib29sZWFuO1xufVxuXG5pbnRlcmZhY2UgTWF5YmVUeXBlZE5vZGUge1xuICB0eXBlPzogdW5rbm93bjtcbn1cblxudHlwZSBQYXJhbUJpbmRpbmcgPSBJZGVudGlmaWVyQmluZGluZyB8IFBhdHRlcm5CaW5kaW5nO1xuXG5pbnRlcmZhY2UgUGFyYW1JbmZvIHtcbiAgcmVhZG9ubHkgYmluZGluZzogUGFyYW1CaW5kaW5nO1xuICByZWFkb25seSB0eXBlTmFtZTogc3RyaW5nO1xufVxuXG5pbnRlcmZhY2UgUGF0dGVybkJpbmRpbmcge1xuICBwYXR0ZXJuOiBSdWxlLk5vZGU7XG4gIHR5cGU6ICdwYXR0ZXJuJztcbn1cblxuZXhwb3J0IGNvbnN0IG5vVW51c2VkUGFyYW1zTWVtYmVyczogUnVsZS5SdWxlTW9kdWxlID0ge1xuICBjcmVhdGUoY29udGV4dCkge1xuICAgIGNvbnN0IGludGVyZmFjZUtleU5vZGVzID0gbmV3IE1hcDxzdHJpbmcsIE1hcDxzdHJpbmcsIFJ1bGUuTm9kZT4+KCk7XG4gICAgY29uc3QgdXNhZ2VCeUludGVyZmFjZSA9IG5ldyBNYXA8c3RyaW5nLCBJbnRlcmZhY2VVc2FnZT4oKTtcblxuICAgIHJldHVybiB7XG4gICAgICAnOmZ1bmN0aW9uJyhub2RlOiBSdWxlLk5vZGUpOiB2b2lkIHtcbiAgICAgICAgZm9yIChjb25zdCBwYXJhbSBvZiByZWNvcmQobm9kZSlbJ3BhcmFtcyddIGFzIFJ1bGUuTm9kZVtdKSB7XG4gICAgICAgICAgY29uc3QgaW5mbyA9IGdldFBhcmFtSW5mbyhwYXJhbSk7XG4gICAgICAgICAgaWYgKCFpbmZvKSB7XG4gICAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBjb25zdCB1c2FnZSA9IGdldE9yQ3JlYXRlVXNhZ2UoaW5mby50eXBlTmFtZSk7XG4gICAgICAgICAgaWYgKGluZm8uYmluZGluZy50eXBlID09PSAncGF0dGVybicpIHtcbiAgICAgICAgICAgIGNvbGxlY3RQYXR0ZXJuTWVtYmVycyhpbmZvLmJpbmRpbmcucGF0dGVybiwgdXNhZ2UpO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBjb2xsZWN0UmVmZXJlbmNlTWVtYmVycyh7XG4gICAgICAgICAgICAgIHBhcmFtTmFtZTogaW5mby5iaW5kaW5nLm5hbWUsXG4gICAgICAgICAgICAgIHNjb3BlOiBjb250ZXh0LnNvdXJjZUNvZGUuZ2V0U2NvcGUobm9kZSksXG4gICAgICAgICAgICAgIHVzYWdlXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICAnUHJvZ3JhbTpleGl0JygpOiB2b2lkIHtcbiAgICAgICAgZm9yIChjb25zdCBbdHlwZU5hbWUsIGtleU5vZGVzXSBvZiBpbnRlcmZhY2VLZXlOb2Rlcykge1xuICAgICAgICAgIGNvbnN0IHVzYWdlID0gdXNhZ2VCeUludGVyZmFjZS5nZXQodHlwZU5hbWUpO1xuICAgICAgICAgIGlmICghdXNhZ2UgfHwgdXNhZ2UudXNlc0FsbCkge1xuICAgICAgICAgICAgY29udGludWU7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgZm9yIChjb25zdCBbbWVtYmVyTmFtZSwga2V5Tm9kZV0gb2Yga2V5Tm9kZXMpIHtcbiAgICAgICAgICAgIGlmICghdXNhZ2UudXNlZC5oYXMobWVtYmVyTmFtZSkpIHtcbiAgICAgICAgICAgICAgY29udGV4dC5yZXBvcnQoe1xuICAgICAgICAgICAgICAgIGRhdGE6IHtcbiAgICAgICAgICAgICAgICAgIGludGVyZmFjZU5hbWU6IHR5cGVOYW1lLFxuICAgICAgICAgICAgICAgICAgbWVtYmVyOiBtZW1iZXJOYW1lXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgICBtZXNzYWdlSWQ6IE1FU1NBR0VfSUQsXG4gICAgICAgICAgICAgICAgbm9kZToga2V5Tm9kZVxuICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH0sXG4gICAgICBUU0ludGVyZmFjZURlY2xhcmF0aW9uKG5vZGU6IFJ1bGUuTm9kZSk6IHZvaWQge1xuICAgICAgICBjb25zdCBuYW1lID0gZ2V0SW50ZXJmYWNlTmFtZShub2RlKTtcbiAgICAgICAgaWYgKCFQQVJBTVNfT1BUSU9OU19TVUZGSVhfUEFUVEVSTi50ZXN0KG5hbWUpKSB7XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGludGVyZmFjZUtleU5vZGVzLnNldChuYW1lLCBnZXRJbnRlcmZhY2VNZW1iZXJzKG5vZGUpKTtcbiAgICAgIH1cbiAgICB9O1xuXG4gICAgZnVuY3Rpb24gZ2V0T3JDcmVhdGVVc2FnZSh0eXBlTmFtZTogc3RyaW5nKTogSW50ZXJmYWNlVXNhZ2Uge1xuICAgICAgbGV0IHVzYWdlID0gdXNhZ2VCeUludGVyZmFjZS5nZXQodHlwZU5hbWUpO1xuICAgICAgaWYgKCF1c2FnZSkge1xuICAgICAgICB1c2FnZSA9IHsgdXNlZDogbmV3IFNldDxzdHJpbmc+KCksIHVzZXNBbGw6IGZhbHNlIH07XG4gICAgICAgIHVzYWdlQnlJbnRlcmZhY2Uuc2V0KHR5cGVOYW1lLCB1c2FnZSk7XG4gICAgICB9XG4gICAgICByZXR1cm4gdXNhZ2U7XG4gICAgfVxuICB9LFxuICBtZXRhOiB7XG4gICAgZG9jczoge1xuICAgICAgZGVzY3JpcHRpb246ICdGbGFnIGAqUGFyYW1zYC9gKk9wdGlvbnNgIGludGVyZmFjZSBtZW1iZXJzIG5ldmVyIGFjY2Vzc2VkIGJ5IHRoZSBmdW5jdGlvbiB0aGF0IHJlY2VpdmVzIHRoZW0nXG4gICAgfSxcbiAgICBtZXNzYWdlczoge1xuICAgICAgW01FU1NBR0VfSURdOiAnTWVtYmVyIFwie3sgbWVtYmVyIH19XCIgb2YgXCJ7eyBpbnRlcmZhY2VOYW1lIH19XCIgaXMgbmV2ZXIgYWNjZXNzZWQgYnkgdGhlIGZ1bmN0aW9uIHRoYXQgcmVjZWl2ZXMgaXQuIFJlbW92ZSBpdCAodGhlIGNvbXBpbGVyIHdpbGwgY2F0Y2ggaXQgaWYgaXQgaXMgc3RpbGwgbmVlZGVkIGVsc2V3aGVyZSkuJ1xuICAgIH0sXG4gICAgc2NoZW1hOiBbXSxcbiAgICB0eXBlOiAnc3VnZ2VzdGlvbidcbiAgfVxufTtcblxuLyoqXG4gKiBQYXJhbWV0ZXJzIGZvciB7QGxpbmsgY29sbGVjdFJlZmVyZW5jZU1lbWJlcnN9LlxuICovXG5pbnRlcmZhY2UgQ29sbGVjdFJlZmVyZW5jZU1lbWJlcnNQYXJhbXMge1xuICAvKipcbiAgICogVGhlIG5hbWUgb2YgdGhlIHBhcmFtZXRlciB3aG9zZSByZWZlcmVuY2VzIGFyZSBpbnNwZWN0ZWQuXG4gICAqL1xuICByZWFkb25seSBwYXJhbU5hbWU6IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIHNjb3BlIGluIHdoaWNoIHRoZSBwYXJhbWV0ZXIgaXMgYm91bmQuXG4gICAqL1xuICByZWFkb25seSBzY29wZTogU2NvcGUuU2NvcGU7XG5cbiAgLyoqXG4gICAqIFRoZSB1c2FnZSBhY2N1bXVsYXRvciB0byByZWNvcmQgYWNjZXNzZWQgbWVtYmVycyBpbnRvLlxuICAgKi9cbiAgcmVhZG9ubHkgdXNhZ2U6IEludGVyZmFjZVVzYWdlO1xufVxuXG5mdW5jdGlvbiBjbGFzc2lmeVJlZmVyZW5jZShyZWZlcmVuY2U6IG9iamVjdCwgdXNhZ2U6IEludGVyZmFjZVVzYWdlKTogdm9pZCB7XG4gIGNvbnN0IHBhcmVudCA9IHJlY29yZChyZWZlcmVuY2UpWydwYXJlbnQnXSBhcyBSdWxlLk5vZGU7XG4gIGlmIChwYXJlbnQudHlwZSA9PT0gJ01lbWJlckV4cHJlc3Npb24nICYmIHJlY29yZChwYXJlbnQpWydvYmplY3QnXSA9PT0gcmVmZXJlbmNlKSB7XG4gICAgY29sbGVjdE1lbWJlckFjY2VzcyhwYXJlbnQsIHVzYWdlKTtcbiAgICByZXR1cm47XG4gIH1cblxuICBpZiAocGFyZW50LnR5cGUgPT09ICdWYXJpYWJsZURlY2xhcmF0b3InICYmIHJlY29yZChwYXJlbnQpWydpbml0J10gPT09IHJlZmVyZW5jZSAmJiAocmVjb3JkKHBhcmVudClbJ2lkJ10gYXMgUnVsZS5Ob2RlKS50eXBlID09PSAnT2JqZWN0UGF0dGVybicpIHtcbiAgICBjb2xsZWN0UGF0dGVybk1lbWJlcnMocmVjb3JkKHBhcmVudClbJ2lkJ10gYXMgUnVsZS5Ob2RlLCB1c2FnZSk7XG4gICAgcmV0dXJuO1xuICB9XG5cbiAgLy8gVGhlIG9iamVjdCBlc2NhcGVzIHdob2xlIChwYXNzZWQgYXMgYW4gYXJndW1lbnQsIHJldHVybmVkLCBzdG9yZWQsIHNwcmVhZCwgLi4uKTogZXZlcnkgbWVtYmVyIG1heSBiZSByZWFkIGVsc2V3aGVyZS5cbiAgdXNhZ2UudXNlc0FsbCA9IHRydWU7XG59XG5cbmZ1bmN0aW9uIGNvbGxlY3RNZW1iZXJBY2Nlc3Mobm9kZTogUnVsZS5Ob2RlLCB1c2FnZTogSW50ZXJmYWNlVXNhZ2UpOiB2b2lkIHtcbiAgY29uc3QgY29tcHV0ZWQgPSByZWNvcmQobm9kZSlbJ2NvbXB1dGVkJ10gPT09IHRydWU7XG4gIGNvbnN0IHByb3BlcnR5ID0gcmVjb3JkKG5vZGUpWydwcm9wZXJ0eSddIGFzIFJ1bGUuTm9kZTtcbiAgaWYgKHByb3BlcnR5LnR5cGUgPT09ICdJZGVudGlmaWVyJykge1xuICAgIGlmICghY29tcHV0ZWQpIHtcbiAgICAgIHVzYWdlLnVzZWQuYWRkKHJlY29yZChwcm9wZXJ0eSlbJ25hbWUnXSBhcyBzdHJpbmcpO1xuICAgIH1cbiAgICByZXR1cm47XG4gIH1cblxuICBpZiAocHJvcGVydHkudHlwZSA9PT0gJ0xpdGVyYWwnKSB7XG4gICAgY29uc3QgdmFsdWUgPSByZWNvcmQocHJvcGVydHkpWyd2YWx1ZSddO1xuICAgIGlmICh0eXBlb2YgdmFsdWUgPT09ICdzdHJpbmcnKSB7XG4gICAgICB1c2FnZS51c2VkLmFkZCh2YWx1ZSk7XG4gICAgfVxuICB9XG59XG5cbmZ1bmN0aW9uIGNvbGxlY3RQYXR0ZXJuTWVtYmVycyhwYXR0ZXJuOiBSdWxlLk5vZGUsIHVzYWdlOiBJbnRlcmZhY2VVc2FnZSk6IHZvaWQge1xuICBmb3IgKGNvbnN0IHByb3BlcnR5IG9mIHJlY29yZChwYXR0ZXJuKVsncHJvcGVydGllcyddIGFzIFJ1bGUuTm9kZVtdKSB7XG4gICAgaWYgKHByb3BlcnR5LnR5cGUgIT09ICdQcm9wZXJ0eScpIHtcbiAgICAgIC8vIGBjb25zdCB7IC4uLnJlc3QgfSA9IHBhcmFtc2AgcmVhZHMgZXZlcnkgcmVtYWluaW5nIG1lbWJlci5cbiAgICAgIHVzYWdlLnVzZXNBbGwgPSB0cnVlO1xuICAgICAgY29udGludWU7XG4gICAgfVxuICAgIGlmIChyZWNvcmQocHJvcGVydHkpWydjb21wdXRlZCddID09PSB0cnVlKSB7XG4gICAgICBjb250aW51ZTtcbiAgICB9XG4gICAgY29uc3Qga2V5ID0gcmVjb3JkKHByb3BlcnR5KVsna2V5J10gYXMgUnVsZS5Ob2RlO1xuICAgIGlmIChrZXkudHlwZSA9PT0gJ0lkZW50aWZpZXInKSB7XG4gICAgICB1c2FnZS51c2VkLmFkZChyZWNvcmQoa2V5KVsnbmFtZSddIGFzIHN0cmluZyk7XG4gICAgfVxuICB9XG59XG5cbmZ1bmN0aW9uIGNvbGxlY3RSZWZlcmVuY2VNZW1iZXJzKHBhcmFtczogQ29sbGVjdFJlZmVyZW5jZU1lbWJlcnNQYXJhbXMpOiB2b2lkIHtcbiAgY29uc3QgeyBwYXJhbU5hbWUsIHNjb3BlLCB1c2FnZSB9ID0gcGFyYW1zO1xuICBjb25zdCB2YXJpYWJsZSA9IGVuc3VyZU5vbk51bGxhYmxlKHNjb3BlLnNldC5nZXQocGFyYW1OYW1lKSk7XG4gIGZvciAoY29uc3QgcmVmZXJlbmNlIG9mIHZhcmlhYmxlLnJlZmVyZW5jZXMpIHtcbiAgICBjbGFzc2lmeVJlZmVyZW5jZShyZWZlcmVuY2UuaWRlbnRpZmllciwgdXNhZ2UpO1xuICB9XG59XG5cbmZ1bmN0aW9uIGdldEludGVyZmFjZU1lbWJlcnMobm9kZTogUnVsZS5Ob2RlKTogTWFwPHN0cmluZywgUnVsZS5Ob2RlPiB7XG4gIGNvbnN0IG1lbWJlcnMgPSBuZXcgTWFwPHN0cmluZywgUnVsZS5Ob2RlPigpO1xuICBjb25zdCBpbnRlcmZhY2VCb2R5ID0gcmVjb3JkKG5vZGUpWydib2R5J10gYXMgUnVsZS5Ob2RlO1xuICBmb3IgKGNvbnN0IHNpZ25hdHVyZSBvZiByZWNvcmQoaW50ZXJmYWNlQm9keSlbJ2JvZHknXSBhcyBSdWxlLk5vZGVbXSkge1xuICAgIGlmIChub2RlVHlwZShzaWduYXR1cmUpICE9PSAnVFNQcm9wZXJ0eVNpZ25hdHVyZScgJiYgbm9kZVR5cGUoc2lnbmF0dXJlKSAhPT0gJ1RTTWV0aG9kU2lnbmF0dXJlJykge1xuICAgICAgY29udGludWU7XG4gICAgfVxuICAgIGlmIChyZWNvcmQoc2lnbmF0dXJlKVsnY29tcHV0ZWQnXSA9PT0gdHJ1ZSkge1xuICAgICAgY29udGludWU7XG4gICAgfVxuICAgIGNvbnN0IGtleSA9IHJlY29yZChzaWduYXR1cmUpWydrZXknXSBhcyBSdWxlLk5vZGU7XG4gICAgaWYgKGtleS50eXBlID09PSAnSWRlbnRpZmllcicpIHtcbiAgICAgIG1lbWJlcnMuc2V0KHJlY29yZChrZXkpWyduYW1lJ10gYXMgc3RyaW5nLCBrZXkpO1xuICAgIH1cbiAgfVxuICByZXR1cm4gbWVtYmVycztcbn1cblxuZnVuY3Rpb24gZ2V0SW50ZXJmYWNlTmFtZShub2RlOiBSdWxlLk5vZGUpOiBzdHJpbmcge1xuICBjb25zdCBpZCA9IHJlY29yZChub2RlKVsnaWQnXSBhcyBSdWxlLk5vZGU7XG4gIHJldHVybiByZWNvcmQoaWQpWyduYW1lJ10gYXMgc3RyaW5nO1xufVxuXG5mdW5jdGlvbiBnZXRQYXJhbUluZm8ocGFyYW06IFJ1bGUuTm9kZSk6IFBhcmFtSW5mbyB8IHVuZGVmaW5lZCB7XG4gIGNvbnN0IGFjdHVhbFBhcmFtID0gbm9kZVR5cGUocGFyYW0pID09PSAnVFNQYXJhbWV0ZXJQcm9wZXJ0eScgPyByZWNvcmQocGFyYW0pWydwYXJhbWV0ZXInXSBhcyBSdWxlLk5vZGUgOiBwYXJhbTtcblxuICBjb25zdCB0eXBlTmFtZSA9IGdldFR5cGVSZWZlcmVuY2VOYW1lKGFjdHVhbFBhcmFtKTtcbiAgaWYgKCF0eXBlTmFtZSB8fCAhUEFSQU1TX09QVElPTlNfU1VGRklYX1BBVFRFUk4udGVzdCh0eXBlTmFtZSkpIHtcbiAgICByZXR1cm4gdW5kZWZpbmVkO1xuICB9XG5cbiAgaWYgKGFjdHVhbFBhcmFtLnR5cGUgPT09ICdJZGVudGlmaWVyJykge1xuICAgIHJldHVybiB7IGJpbmRpbmc6IHsgbmFtZTogcmVjb3JkKGFjdHVhbFBhcmFtKVsnbmFtZSddIGFzIHN0cmluZywgdHlwZTogJ2lkZW50aWZpZXInIH0sIHR5cGVOYW1lIH07XG4gIH1cblxuICBpZiAoYWN0dWFsUGFyYW0udHlwZSA9PT0gJ09iamVjdFBhdHRlcm4nKSB7XG4gICAgcmV0dXJuIHsgYmluZGluZzogeyBwYXR0ZXJuOiBhY3R1YWxQYXJhbSwgdHlwZTogJ3BhdHRlcm4nIH0sIHR5cGVOYW1lIH07XG4gIH1cblxuICByZXR1cm4gdW5kZWZpbmVkO1xufVxuXG5mdW5jdGlvbiBnZXRUeXBlUmVmZXJlbmNlTmFtZShwYXJhbTogUnVsZS5Ob2RlKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgY29uc3QgYW5ub3RhdGlvbiA9IHJlY29yZChwYXJhbSlbJ3R5cGVBbm5vdGF0aW9uJ107XG4gIGlmICghaXNOb2RlKGFubm90YXRpb24pKSB7XG4gICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgfVxuXG4gIGNvbnN0IHR5cGVOb2RlID0gcmVjb3JkKGFubm90YXRpb24pWyd0eXBlQW5ub3RhdGlvbiddIGFzIFJ1bGUuTm9kZTtcbiAgaWYgKG5vZGVUeXBlKHR5cGVOb2RlKSAhPT0gJ1RTVHlwZVJlZmVyZW5jZScpIHtcbiAgICByZXR1cm4gdW5kZWZpbmVkO1xuICB9XG5cbiAgY29uc3QgdHlwZU5hbWUgPSByZWNvcmQodHlwZU5vZGUpWyd0eXBlTmFtZSddIGFzIFJ1bGUuTm9kZTtcbiAgaWYgKHR5cGVOYW1lLnR5cGUgIT09ICdJZGVudGlmaWVyJykge1xuICAgIHJldHVybiB1bmRlZmluZWQ7XG4gIH1cbiAgcmV0dXJuIHJlY29yZCh0eXBlTmFtZSlbJ25hbWUnXSBhcyBzdHJpbmc7XG59XG5cbmZ1bmN0aW9uIGlzTm9kZSh2YWx1ZTogdW5rbm93bik6IHZhbHVlIGlzIFJ1bGUuTm9kZSB7XG4gIHJldHVybiB0eXBlb2YgdmFsdWUgPT09ICdvYmplY3QnICYmIHZhbHVlICE9PSBudWxsICYmIHR5cGVvZiAodmFsdWUgYXMgTWF5YmVUeXBlZE5vZGUpLnR5cGUgPT09ICdzdHJpbmcnO1xufVxuXG5mdW5jdGlvbiBub2RlVHlwZShub2RlOiBSdWxlLk5vZGUpOiBzdHJpbmcge1xuICByZXR1cm4gcmVjb3JkKG5vZGUpWyd0eXBlJ10gYXMgc3RyaW5nO1xufVxuXG5mdW5jdGlvbiByZWNvcmQobm9kZTogb2JqZWN0KTogUmVjb3JkPHN0cmluZywgdW5rbm93bj4ge1xuICByZXR1cm4gbm9kZSBhcyBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPjtcbn1cbiJdLAogICJtYXBwaW5ncyI6ICI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FB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
|
|
211
|
+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL3NjcmlwdC11dGlscy9saW50ZXJzL2VzbGludC1ydWxlcy9uby11bnVzZWQtcGFyYW1zLW1lbWJlcnMudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbIi8qKlxuICogQGZpbGVcbiAqXG4gKiBFU0xpbnQgcnVsZTogbm8tdW51c2VkLXBhcmFtcy1tZW1iZXJzXG4gKlxuICogRmxhZ3MgbWVtYmVycyBvZiBhIGAqUGFyYW1zYCAvIGAqT3B0aW9uc2AgcGFyYW1ldGVyLWJhZyBpbnRlcmZhY2UgdGhhdCBhcmVcbiAqIG5ldmVyIGFjY2Vzc2VkIHdpdGhpbiB0aGUgZnVuY3Rpb24vbWV0aG9kL2NvbnN0cnVjdG9yIHRoYXQgcmVjZWl2ZXMgdGhlXG4gKiBpbnRlcmZhY2UgYXMgYSBwYXJhbWV0ZXIuXG4gKlxuICogRGV0ZWN0aW9uIGlzIHBlci1mdW5jdGlvbiwgdXNpbmcgc2NvcGUgYW5hbHlzaXMgdG8gZmluZCB0aGUgcmVhbCByZWZlcmVuY2VzXG4gKiB0byB0aGUgcGFyYW1ldGVyIChub3QgdW5yZWxhdGVkIHNhbWUtbmFtZWQgaWRlbnRpZmllcnMpLiBBIG1lbWJlciBjb3VudHMgYXNcbiAqIHVzZWQgd2hlbiBpdCBpcyByZWZlcmVuY2VkIGJ5IG5hbWUgXHUyMDE0IGBwYXJhbXMubWVtYmVyYCwgYHBhcmFtc1snbWVtYmVyJ11gLCBvclxuICogYGNvbnN0IHsgbWVtYmVyIH0gPSBwYXJhbXNgIChwbHVzIGEgZGVzdHJ1Y3R1cmVkIHNpZ25hdHVyZVxuICogYGZuKHsgbWVtYmVyIH06IEZvb1BhcmFtcylgKS5cbiAqXG4gKiBDcnVjaWFsbHksIGlmIHRoZSBvYmplY3QgZXZlciBFU0NBUEVTIHdob2xlIFx1MjAxNCBzcHJlYWQgKGB7IC4uLnBhcmFtcyB9YCksIHJlc3RcbiAqIChgY29uc3QgeyAuLi5yZXN0IH0gPSBwYXJhbXNgKSwgcGFzc2VkIGFzIGFuIGFyZ3VtZW50IChgZihwYXJhbXMpYCksIHJldHVybmVkLFxuICogb3Igc3RvcmVkIChgdGhpcy5wYXJhbXMgPSBwYXJhbXNgKSBcdTIwMTQgZXZlcnkgbWVtYmVyIGlzIHRyZWF0ZWQgYXMgdXNlZCBhbmRcbiAqIG5vdGhpbmcgaXMgcmVwb3J0ZWQgZm9yIHRoYXQgaW50ZXJmYWNlLiBTdWNoIGFuIGVzY2FwZSBlaXRoZXIgcmVhZHMgZXZlcnlcbiAqIG1lbWJlciAoc3ByZWFkL3Jlc3QpIG9yIGhhbmRzIHRoZSBvYmplY3QgdG8gY29kZSB0aGlzIHJ1bGUgY2Fubm90IHNlZSwgc29cbiAqIG1lbWJlciBkZWFkbmVzcyBjYW5ub3QgYmUgZGVjaWRlZCBsb2NhbGx5LlxuICpcbiAqIEEgbWVtYmVyIGlzIHRoZXJlZm9yZSBmbGFnZ2VkIG9ubHkgd2hlbiBpdCBpcyBuZXZlciByZWZlcmVuY2VkIGJ5IG5hbWUgQU5EXG4gKiB0aGUgb2JqZWN0IG5ldmVyIGVzY2FwZXMgXHUyMDE0IGkuZS4gdGhlIFwiYSBgcGFyYW1zLnhgIHVzYWdlIHdhcyBkZWxldGVkIGJ1dCBgeGBcbiAqIHdhcyBsZWZ0IG9uIHRoZSBpbnRlcmZhY2VcIiBjYXNlLiBBIG1lbWJlciB0aGF0IGlzIGFjdHVhbGx5IHN0aWxsIG5lZWRlZCAocmVhZFxuICogdmlhIGFuIGVzY2FwZSkgaXMgbmV2ZXIgd3JvbmdseSBmbGFnZ2VkOyBhIG1lbWJlciB0aGF0IGlzIGVzY2FwZWQgYnV0IGRlYWRcbiAqIGRvd25zdHJlYW0gaXMgYSB0b2xlcmF0ZWQgZmFsc2UgbmVnYXRpdmUgKGl0cyBkZWFkbmVzcyBpcyBub3QgbG9jYWwpLlxuICpcbiAqIE9ubHkgaW50ZXJmYWNlcyBkZWNsYXJlZCBpbiB0aGUgc2FtZSBmaWxlIGFyZSBjaGVja2VkOyBhbiBpbXBvcnRlZCBwYXJhbWV0ZXJcbiAqIHR5cGUgaXMgc2tpcHBlZC4gT25seSBpZGVudGlmaWVyLW5hbWVkIG1lbWJlcnMgYXJlIHRyYWNrZWQuXG4gKi9cblxuaW1wb3J0IHR5cGUge1xuICBSdWxlLFxuICBTY29wZVxufSBmcm9tICdlc2xpbnQnO1xuXG5pbXBvcnQgeyBlbnN1cmVOb25OdWxsYWJsZSB9IGZyb20gJy4uLy4uLy4uL3R5cGUtZ3VhcmRzLnRzJztcblxuY29uc3QgUEFSQU1TX09QVElPTlNfU1VGRklYX1BBVFRFUk4gPSAvKD86UGFyYW1zfE9wdGlvbnMpJC87XG5cbi8qKlxuTWVzc2FnZSBJRCByZXBvcnRlZCB3aGVuIGEgYCpQYXJhbXNgL2AqT3B0aW9uc2AgaW50ZXJmYWNlIG1lbWJlciBpcyBuZXZlciBhY2Nlc3NlZCBieSB0aGUgZnVuY3Rpb24gdGhhdCByZWNlaXZlcyBpdC5cbiAqL1xuZXhwb3J0IGNvbnN0IE1FU1NBR0VfSUQgPSAndW51c2VkUGFyYW1zTWVtYmVyJztcblxuaW50ZXJmYWNlIElkZW50aWZpZXJCaW5kaW5nIHtcbiAgbmFtZTogc3RyaW5nO1xuICB0eXBlOiAnaWRlbnRpZmllcic7XG59XG5cbmludGVyZmFjZSBJbnRlcmZhY2VVc2FnZSB7XG4gIHJlYWRvbmx5IHVzZWQ6IFNldDxzdHJpbmc+O1xuICB1c2VzQWxsOiBib29sZWFuO1xufVxuXG5pbnRlcmZhY2UgTWF5YmVUeXBlZE5vZGUge1xuICB0eXBlPzogdW5rbm93bjtcbn1cblxudHlwZSBQYXJhbWV0ZXJCaW5kaW5nID0gSWRlbnRpZmllckJpbmRpbmcgfCBQYXR0ZXJuQmluZGluZztcblxuaW50ZXJmYWNlIFBhcmFtZXRlckluZm8ge1xuICByZWFkb25seSBiaW5kaW5nOiBQYXJhbWV0ZXJCaW5kaW5nO1xuICByZWFkb25seSB0eXBlTmFtZTogc3RyaW5nO1xufVxuXG5pbnRlcmZhY2UgUGF0dGVybkJpbmRpbmcge1xuICBwYXR0ZXJuOiBSdWxlLk5vZGU7XG4gIHR5cGU6ICdwYXR0ZXJuJztcbn1cblxuZXhwb3J0IGNvbnN0IG5vVW51c2VkUGFyYW1zTWVtYmVyczogUnVsZS5SdWxlTW9kdWxlID0ge1xuICBjcmVhdGUoY29udGV4dCkge1xuICAgIGNvbnN0IGludGVyZmFjZUtleU5vZGVzID0gbmV3IE1hcDxzdHJpbmcsIE1hcDxzdHJpbmcsIFJ1bGUuTm9kZT4+KCk7XG4gICAgY29uc3QgdXNhZ2VCeUludGVyZmFjZSA9IG5ldyBNYXA8c3RyaW5nLCBJbnRlcmZhY2VVc2FnZT4oKTtcblxuICAgIHJldHVybiB7XG4gICAgICAnOmZ1bmN0aW9uJyhub2RlOiBSdWxlLk5vZGUpOiB2b2lkIHtcbiAgICAgICAgZm9yIChjb25zdCBwYXJhbWV0ZXIgb2YgcmVjb3JkKG5vZGUpWydwYXJhbXMnXSBhcyBSdWxlLk5vZGVbXSkge1xuICAgICAgICAgIGNvbnN0IGluZm8gPSBnZXRQYXJhbWV0ZXJJbmZvKHBhcmFtZXRlcik7XG4gICAgICAgICAgaWYgKCFpbmZvKSB7XG4gICAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBjb25zdCB1c2FnZSA9IGdldE9yQ3JlYXRlVXNhZ2UoaW5mby50eXBlTmFtZSk7XG4gICAgICAgICAgaWYgKGluZm8uYmluZGluZy50eXBlID09PSAncGF0dGVybicpIHtcbiAgICAgICAgICAgIGNvbGxlY3RQYXR0ZXJuTWVtYmVycyhpbmZvLmJpbmRpbmcucGF0dGVybiwgdXNhZ2UpO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBjb2xsZWN0UmVmZXJlbmNlTWVtYmVycyh7XG4gICAgICAgICAgICAgIHBhcmFtZXRlck5hbWU6IGluZm8uYmluZGluZy5uYW1lLFxuICAgICAgICAgICAgICBzY29wZTogY29udGV4dC5zb3VyY2VDb2RlLmdldFNjb3BlKG5vZGUpLFxuICAgICAgICAgICAgICB1c2FnZVxuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9LFxuICAgICAgJ1Byb2dyYW06ZXhpdCcoKTogdm9pZCB7XG4gICAgICAgIGZvciAoY29uc3QgW3R5cGVOYW1lLCBrZXlOb2Rlc10gb2YgaW50ZXJmYWNlS2V5Tm9kZXMpIHtcbiAgICAgICAgICBjb25zdCB1c2FnZSA9IHVzYWdlQnlJbnRlcmZhY2UuZ2V0KHR5cGVOYW1lKTtcbiAgICAgICAgICBpZiAoIXVzYWdlIHx8IHVzYWdlLnVzZXNBbGwpIHtcbiAgICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGZvciAoY29uc3QgW21lbWJlck5hbWUsIGtleU5vZGVdIG9mIGtleU5vZGVzKSB7XG4gICAgICAgICAgICBpZiAoIXVzYWdlLnVzZWQuaGFzKG1lbWJlck5hbWUpKSB7XG4gICAgICAgICAgICAgIGNvbnRleHQucmVwb3J0KHtcbiAgICAgICAgICAgICAgICBkYXRhOiB7XG4gICAgICAgICAgICAgICAgICBpbnRlcmZhY2VOYW1lOiB0eXBlTmFtZSxcbiAgICAgICAgICAgICAgICAgIG1lbWJlcjogbWVtYmVyTmFtZVxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgbWVzc2FnZUlkOiBNRVNTQUdFX0lELFxuICAgICAgICAgICAgICAgIG5vZGU6IGtleU5vZGVcbiAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9LFxuICAgICAgVFNJbnRlcmZhY2VEZWNsYXJhdGlvbihub2RlOiBSdWxlLk5vZGUpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgbmFtZSA9IGdldEludGVyZmFjZU5hbWUobm9kZSk7XG4gICAgICAgIGlmICghUEFSQU1TX09QVElPTlNfU1VGRklYX1BBVFRFUk4udGVzdChuYW1lKSkge1xuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBpbnRlcmZhY2VLZXlOb2Rlcy5zZXQobmFtZSwgZ2V0SW50ZXJmYWNlTWVtYmVycyhub2RlKSk7XG4gICAgICB9XG4gICAgfTtcblxuICAgIGZ1bmN0aW9uIGdldE9yQ3JlYXRlVXNhZ2UodHlwZU5hbWU6IHN0cmluZyk6IEludGVyZmFjZVVzYWdlIHtcbiAgICAgIGxldCB1c2FnZSA9IHVzYWdlQnlJbnRlcmZhY2UuZ2V0KHR5cGVOYW1lKTtcbiAgICAgIGlmICghdXNhZ2UpIHtcbiAgICAgICAgdXNhZ2UgPSB7IHVzZWQ6IG5ldyBTZXQ8c3RyaW5nPigpLCB1c2VzQWxsOiBmYWxzZSB9O1xuICAgICAgICB1c2FnZUJ5SW50ZXJmYWNlLnNldCh0eXBlTmFtZSwgdXNhZ2UpO1xuICAgICAgfVxuICAgICAgcmV0dXJuIHVzYWdlO1xuICAgIH1cbiAgfSxcbiAgbWV0YToge1xuICAgIGRvY3M6IHtcbiAgICAgIGRlc2NyaXB0aW9uOiAnRmxhZyBgKlBhcmFtc2AvYCpPcHRpb25zYCBpbnRlcmZhY2UgbWVtYmVycyBuZXZlciBhY2Nlc3NlZCBieSB0aGUgZnVuY3Rpb24gdGhhdCByZWNlaXZlcyB0aGVtJ1xuICAgIH0sXG4gICAgbWVzc2FnZXM6IHtcbiAgICAgIFtNRVNTQUdFX0lEXTogJ01lbWJlciBcInt7IG1lbWJlciB9fVwiIG9mIFwie3sgaW50ZXJmYWNlTmFtZSB9fVwiIGlzIG5ldmVyIGFjY2Vzc2VkIGJ5IHRoZSBmdW5jdGlvbiB0aGF0IHJlY2VpdmVzIGl0LiBSZW1vdmUgaXQgKHRoZSBjb21waWxlciB3aWxsIGNhdGNoIGl0IGlmIGl0IGlzIHN0aWxsIG5lZWRlZCBlbHNld2hlcmUpLidcbiAgICB9LFxuICAgIHNjaGVtYTogW10sXG4gICAgdHlwZTogJ3N1Z2dlc3Rpb24nXG4gIH1cbn07XG5cbi8qKlxuICogUGFyYW1ldGVycyBmb3Ige0BsaW5rIGNvbGxlY3RSZWZlcmVuY2VNZW1iZXJzfS5cbiAqL1xuaW50ZXJmYWNlIENvbGxlY3RSZWZlcmVuY2VNZW1iZXJzUGFyYW1zIHtcbiAgLyoqXG4gICAqIFRoZSBuYW1lIG9mIHRoZSBwYXJhbWV0ZXIgd2hvc2UgcmVmZXJlbmNlcyBhcmUgaW5zcGVjdGVkLlxuICAgKi9cbiAgcmVhZG9ubHkgcGFyYW1ldGVyTmFtZTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgc2NvcGUgaW4gd2hpY2ggdGhlIHBhcmFtZXRlciBpcyBib3VuZC5cbiAgICovXG4gIHJlYWRvbmx5IHNjb3BlOiBTY29wZS5TY29wZTtcblxuICAvKipcbiAgICogVGhlIHVzYWdlIGFjY3VtdWxhdG9yIHRvIHJlY29yZCBhY2Nlc3NlZCBtZW1iZXJzIGludG8uXG4gICAqL1xuICByZWFkb25seSB1c2FnZTogSW50ZXJmYWNlVXNhZ2U7XG59XG5cbmZ1bmN0aW9uIGNsYXNzaWZ5UmVmZXJlbmNlKHJlZmVyZW5jZTogb2JqZWN0LCB1c2FnZTogSW50ZXJmYWNlVXNhZ2UpOiB2b2lkIHtcbiAgY29uc3QgcGFyZW50ID0gcmVjb3JkKHJlZmVyZW5jZSlbJ3BhcmVudCddIGFzIFJ1bGUuTm9kZTtcbiAgaWYgKHBhcmVudC50eXBlID09PSAnTWVtYmVyRXhwcmVzc2lvbicgJiYgcmVjb3JkKHBhcmVudClbJ29iamVjdCddID09PSByZWZlcmVuY2UpIHtcbiAgICBjb2xsZWN0TWVtYmVyQWNjZXNzKHBhcmVudCwgdXNhZ2UpO1xuICAgIHJldHVybjtcbiAgfVxuXG4gIGlmIChwYXJlbnQudHlwZSA9PT0gJ1ZhcmlhYmxlRGVjbGFyYXRvcicgJiYgcmVjb3JkKHBhcmVudClbJ2luaXQnXSA9PT0gcmVmZXJlbmNlICYmIChyZWNvcmQocGFyZW50KVsnaWQnXSBhcyBSdWxlLk5vZGUpLnR5cGUgPT09ICdPYmplY3RQYXR0ZXJuJykge1xuICAgIGNvbGxlY3RQYXR0ZXJuTWVtYmVycyhyZWNvcmQocGFyZW50KVsnaWQnXSBhcyBSdWxlLk5vZGUsIHVzYWdlKTtcbiAgICByZXR1cm47XG4gIH1cblxuICAvLyBUaGUgb2JqZWN0IGVzY2FwZXMgd2hvbGUgKHBhc3NlZCBhcyBhbiBhcmd1bWVudCwgcmV0dXJuZWQsIHN0b3JlZCwgc3ByZWFkLCAuLi4pOiBldmVyeSBtZW1iZXIgbWF5IGJlIHJlYWQgZWxzZXdoZXJlLlxuICB1c2FnZS51c2VzQWxsID0gdHJ1ZTtcbn1cblxuZnVuY3Rpb24gY29sbGVjdE1lbWJlckFjY2Vzcyhub2RlOiBSdWxlLk5vZGUsIHVzYWdlOiBJbnRlcmZhY2VVc2FnZSk6IHZvaWQge1xuICBjb25zdCBpc0NvbXB1dGVkID0gcmVjb3JkKG5vZGUpWydjb21wdXRlZCddID09PSB0cnVlO1xuICBjb25zdCBwcm9wZXJ0eSA9IHJlY29yZChub2RlKVsncHJvcGVydHknXSBhcyBSdWxlLk5vZGU7XG4gIGlmIChwcm9wZXJ0eS50eXBlID09PSAnSWRlbnRpZmllcicpIHtcbiAgICBpZiAoIWlzQ29tcHV0ZWQpIHtcbiAgICAgIHVzYWdlLnVzZWQuYWRkKHJlY29yZChwcm9wZXJ0eSlbJ25hbWUnXSBhcyBzdHJpbmcpO1xuICAgIH1cbiAgICByZXR1cm47XG4gIH1cblxuICBpZiAocHJvcGVydHkudHlwZSA9PT0gJ0xpdGVyYWwnKSB7XG4gICAgY29uc3QgdmFsdWUgPSByZWNvcmQocHJvcGVydHkpWyd2YWx1ZSddO1xuICAgIGlmICh0eXBlb2YgdmFsdWUgPT09ICdzdHJpbmcnKSB7XG4gICAgICB1c2FnZS51c2VkLmFkZCh2YWx1ZSk7XG4gICAgfVxuICB9XG59XG5cbmZ1bmN0aW9uIGNvbGxlY3RQYXR0ZXJuTWVtYmVycyhwYXR0ZXJuOiBSdWxlLk5vZGUsIHVzYWdlOiBJbnRlcmZhY2VVc2FnZSk6IHZvaWQge1xuICBmb3IgKGNvbnN0IHByb3BlcnR5IG9mIHJlY29yZChwYXR0ZXJuKVsncHJvcGVydGllcyddIGFzIFJ1bGUuTm9kZVtdKSB7XG4gICAgaWYgKHByb3BlcnR5LnR5cGUgIT09ICdQcm9wZXJ0eScpIHtcbiAgICAgIC8vIGBjb25zdCB7IC4uLnJlc3QgfSA9IHBhcmFtc2AgcmVhZHMgZXZlcnkgcmVtYWluaW5nIG1lbWJlci5cbiAgICAgIHVzYWdlLnVzZXNBbGwgPSB0cnVlO1xuICAgICAgY29udGludWU7XG4gICAgfVxuICAgIGlmIChyZWNvcmQocHJvcGVydHkpWydjb21wdXRlZCddID09PSB0cnVlKSB7XG4gICAgICBjb250aW51ZTtcbiAgICB9XG4gICAgY29uc3Qga2V5ID0gcmVjb3JkKHByb3BlcnR5KVsna2V5J10gYXMgUnVsZS5Ob2RlO1xuICAgIGlmIChrZXkudHlwZSA9PT0gJ0lkZW50aWZpZXInKSB7XG4gICAgICB1c2FnZS51c2VkLmFkZChyZWNvcmQoa2V5KVsnbmFtZSddIGFzIHN0cmluZyk7XG4gICAgfVxuICB9XG59XG5cbmZ1bmN0aW9uIGNvbGxlY3RSZWZlcmVuY2VNZW1iZXJzKHBhcmFtczogQ29sbGVjdFJlZmVyZW5jZU1lbWJlcnNQYXJhbXMpOiB2b2lkIHtcbiAgY29uc3QgeyBwYXJhbWV0ZXJOYW1lLCBzY29wZSwgdXNhZ2UgfSA9IHBhcmFtcztcbiAgY29uc3QgdmFyaWFibGUgPSBlbnN1cmVOb25OdWxsYWJsZShzY29wZS5zZXQuZ2V0KHBhcmFtZXRlck5hbWUpKTtcbiAgZm9yIChjb25zdCByZWZlcmVuY2Ugb2YgdmFyaWFibGUucmVmZXJlbmNlcykge1xuICAgIGNsYXNzaWZ5UmVmZXJlbmNlKHJlZmVyZW5jZS5pZGVudGlmaWVyLCB1c2FnZSk7XG4gIH1cbn1cblxuZnVuY3Rpb24gZ2V0SW50ZXJmYWNlTWVtYmVycyhub2RlOiBSdWxlLk5vZGUpOiBNYXA8c3RyaW5nLCBSdWxlLk5vZGU+IHtcbiAgY29uc3QgbWVtYmVycyA9IG5ldyBNYXA8c3RyaW5nLCBSdWxlLk5vZGU+KCk7XG4gIGNvbnN0IGludGVyZmFjZUJvZHkgPSByZWNvcmQobm9kZSlbJ2JvZHknXSBhcyBSdWxlLk5vZGU7XG4gIGZvciAoY29uc3Qgc2lnbmF0dXJlIG9mIHJlY29yZChpbnRlcmZhY2VCb2R5KVsnYm9keSddIGFzIFJ1bGUuTm9kZVtdKSB7XG4gICAgaWYgKG5vZGVUeXBlKHNpZ25hdHVyZSkgIT09ICdUU1Byb3BlcnR5U2lnbmF0dXJlJyAmJiBub2RlVHlwZShzaWduYXR1cmUpICE9PSAnVFNNZXRob2RTaWduYXR1cmUnKSB7XG4gICAgICBjb250aW51ZTtcbiAgICB9XG4gICAgaWYgKHJlY29yZChzaWduYXR1cmUpWydjb21wdXRlZCddID09PSB0cnVlKSB7XG4gICAgICBjb250aW51ZTtcbiAgICB9XG4gICAgY29uc3Qga2V5ID0gcmVjb3JkKHNpZ25hdHVyZSlbJ2tleSddIGFzIFJ1bGUuTm9kZTtcbiAgICBpZiAoa2V5LnR5cGUgPT09ICdJZGVudGlmaWVyJykge1xuICAgICAgbWVtYmVycy5zZXQocmVjb3JkKGtleSlbJ25hbWUnXSBhcyBzdHJpbmcsIGtleSk7XG4gICAgfVxuICB9XG4gIHJldHVybiBtZW1iZXJzO1xufVxuXG5mdW5jdGlvbiBnZXRJbnRlcmZhY2VOYW1lKG5vZGU6IFJ1bGUuTm9kZSk6IHN0cmluZyB7XG4gIGNvbnN0IGlkID0gcmVjb3JkKG5vZGUpWydpZCddIGFzIFJ1bGUuTm9kZTtcbiAgcmV0dXJuIHJlY29yZChpZClbJ25hbWUnXSBhcyBzdHJpbmc7XG59XG5cbmZ1bmN0aW9uIGdldFBhcmFtZXRlckluZm8ocGFyYW1ldGVyOiBSdWxlLk5vZGUpOiBQYXJhbWV0ZXJJbmZvIHwgdW5kZWZpbmVkIHtcbiAgY29uc3QgYWN0dWFsUGFyYW1ldGVyID0gbm9kZVR5cGUocGFyYW1ldGVyKSA9PT0gJ1RTUGFyYW1ldGVyUHJvcGVydHknID8gcmVjb3JkKHBhcmFtZXRlcilbJ3BhcmFtZXRlciddIGFzIFJ1bGUuTm9kZSA6IHBhcmFtZXRlcjtcblxuICBjb25zdCB0eXBlTmFtZSA9IGdldFR5cGVSZWZlcmVuY2VOYW1lKGFjdHVhbFBhcmFtZXRlcik7XG4gIGlmICghdHlwZU5hbWUgfHwgIVBBUkFNU19PUFRJT05TX1NVRkZJWF9QQVRURVJOLnRlc3QodHlwZU5hbWUpKSB7XG4gICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgfVxuXG4gIGlmIChhY3R1YWxQYXJhbWV0ZXIudHlwZSA9PT0gJ0lkZW50aWZpZXInKSB7XG4gICAgcmV0dXJuIHsgYmluZGluZzogeyBuYW1lOiByZWNvcmQoYWN0dWFsUGFyYW1ldGVyKVsnbmFtZSddIGFzIHN0cmluZywgdHlwZTogJ2lkZW50aWZpZXInIH0sIHR5cGVOYW1lIH07XG4gIH1cblxuICBpZiAoYWN0dWFsUGFyYW1ldGVyLnR5cGUgPT09ICdPYmplY3RQYXR0ZXJuJykge1xuICAgIHJldHVybiB7IGJpbmRpbmc6IHsgcGF0dGVybjogYWN0dWFsUGFyYW1ldGVyLCB0eXBlOiAncGF0dGVybicgfSwgdHlwZU5hbWUgfTtcbiAgfVxuXG4gIHJldHVybiB1bmRlZmluZWQ7XG59XG5cbmZ1bmN0aW9uIGdldFR5cGVSZWZlcmVuY2VOYW1lKHBhcmFtZXRlcjogUnVsZS5Ob2RlKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgY29uc3QgYW5ub3RhdGlvbiA9IHJlY29yZChwYXJhbWV0ZXIpWyd0eXBlQW5ub3RhdGlvbiddO1xuICBpZiAoIWlzTm9kZShhbm5vdGF0aW9uKSkge1xuICAgIHJldHVybiB1bmRlZmluZWQ7XG4gIH1cblxuICBjb25zdCB0eXBlTm9kZSA9IHJlY29yZChhbm5vdGF0aW9uKVsndHlwZUFubm90YXRpb24nXSBhcyBSdWxlLk5vZGU7XG4gIGlmIChub2RlVHlwZSh0eXBlTm9kZSkgIT09ICdUU1R5cGVSZWZlcmVuY2UnKSB7XG4gICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgfVxuXG4gIGNvbnN0IHR5cGVOYW1lID0gcmVjb3JkKHR5cGVOb2RlKVsndHlwZU5hbWUnXSBhcyBSdWxlLk5vZGU7XG4gIGlmICh0eXBlTmFtZS50eXBlICE9PSAnSWRlbnRpZmllcicpIHtcbiAgICByZXR1cm4gdW5kZWZpbmVkO1xuICB9XG4gIHJldHVybiByZWNvcmQodHlwZU5hbWUpWyduYW1lJ10gYXMgc3RyaW5nO1xufVxuXG5mdW5jdGlvbiBpc05vZGUodmFsdWU6IHVua25vd24pOiB2YWx1ZSBpcyBSdWxlLk5vZGUge1xuICByZXR1cm4gdHlwZW9mIHZhbHVlID09PSAnb2JqZWN0JyAmJiB2YWx1ZSAhPT0gbnVsbCAmJiB0eXBlb2YgKHZhbHVlIGFzIE1heWJlVHlwZWROb2RlKS50eXBlID09PSAnc3RyaW5nJztcbn1cblxuZnVuY3Rpb24gbm9kZVR5cGUobm9kZTogUnVsZS5Ob2RlKTogc3RyaW5nIHtcbiAgcmV0dXJuIHJlY29yZChub2RlKVsndHlwZSddIGFzIHN0cmluZztcbn1cblxuZnVuY3Rpb24gcmVjb3JkKG5vZGU6IG9iamVjdCk6IFJlY29yZDxzdHJpbmcsIHVua25vd24+IHtcbiAgcmV0dXJuIG5vZGUgYXMgUmVjb3JkPHN0cmluZywgdW5rbm93bj47XG59XG4iXSwKICAibWFwcGluZ3MiOiAiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQXFDQSxTQUFTLHlCQUF5QjtBQUVsQyxNQUFNLGdDQUFnQztBQUsvQixNQUFNLGFBQWE7QUE0Qm5CLE1BQU0sd0JBQXlDO0FBQUEsRUFDcEQsT0FBTyxTQUFTO0FBQ2QsVUFBTSxvQkFBb0Isb0JBQUksSUFBb0M7QUFDbEUsVUFBTSxtQkFBbUIsb0JBQUksSUFBNEI7QUFFekQsV0FBTztBQUFBLE1BQ0wsWUFBWSxNQUF1QjtBQUNqQyxtQkFBVyxhQUFhLE9BQU8sSUFBSSxFQUFFLFFBQVEsR0FBa0I7QUFDN0QsZ0JBQU0sT0FBTyxpQkFBaUIsU0FBUztBQUN2QyxjQUFJLENBQUMsTUFBTTtBQUNUO0FBQUEsVUFDRjtBQUVBLGdCQUFNLFFBQVEsaUJBQWlCLEtBQUssUUFBUTtBQUM1QyxjQUFJLEtBQUssUUFBUSxTQUFTLFdBQVc7QUFDbkMsa0NBQXNCLEtBQUssUUFBUSxTQUFTLEtBQUs7QUFBQSxVQUNuRCxPQUFPO0FBQ0wsb0NBQXdCO0FBQUEsY0FDdEIsZUFBZSxLQUFLLFFBQVE7QUFBQSxjQUM1QixPQUFPLFFBQVEsV0FBVyxTQUFTLElBQUk7QUFBQSxjQUN2QztBQUFBLFlBQ0YsQ0FBQztBQUFBLFVBQ0g7QUFBQSxRQUNGO0FBQUEsTUFDRjtBQUFBLE1BQ0EsaUJBQXVCO0FBQ3JCLG1CQUFXLENBQUMsVUFBVSxRQUFRLEtBQUssbUJBQW1CO0FBQ3BELGdCQUFNLFFBQVEsaUJBQWlCLElBQUksUUFBUTtBQUMzQyxjQUFJLENBQUMsU0FBUyxNQUFNLFNBQVM7QUFDM0I7QUFBQSxVQUNGO0FBRUEscUJBQVcsQ0FBQyxZQUFZLE9BQU8sS0FBSyxVQUFVO0FBQzVDLGdCQUFJLENBQUMsTUFBTSxLQUFLLElBQUksVUFBVSxHQUFHO0FBQy9CLHNCQUFRLE9BQU87QUFBQSxnQkFDYixNQUFNO0FBQUEsa0JBQ0osZUFBZTtB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
|
|
@@ -10,6 +10,8 @@
|
|
|
10
10
|
* misleading and should be removed.
|
|
11
11
|
*/
|
|
12
12
|
import type { Rule } from 'eslint';
|
|
13
|
-
/**
|
|
13
|
+
/**
|
|
14
|
+
Message ID reported when a variable carries a `_` prefix (signalling unused) but is actually used.
|
|
15
|
+
*/
|
|
14
16
|
export declare const MESSAGE_ID = "noUsedUnderscoreVariables";
|
|
15
17
|
export declare const noUsedUnderscoreVariables: Rule.RuleModule;
|
|
@@ -32,17 +32,17 @@ const noUsedUnderscoreVariables = {
|
|
|
32
32
|
if (!variable.name.startsWith("_")) {
|
|
33
33
|
continue;
|
|
34
34
|
}
|
|
35
|
-
const
|
|
36
|
-
assertNonNullable(
|
|
37
|
-
const
|
|
38
|
-
const bodyRange =
|
|
39
|
-
const
|
|
40
|
-
const hasBodyReferences = variable.references.some((
|
|
41
|
-
if (!
|
|
35
|
+
const definitionNode = variable.defs[0];
|
|
36
|
+
assertNonNullable(definitionNode, "User-declared _-prefixed variables always have at least one definition");
|
|
37
|
+
const functionBody = node.body;
|
|
38
|
+
const bodyRange = functionBody?.range;
|
|
39
|
+
const isParameter = definitionNode.type === "Parameter";
|
|
40
|
+
const hasBodyReferences = variable.references.some((reference) => {
|
|
41
|
+
if (!reference.isRead()) {
|
|
42
42
|
return false;
|
|
43
43
|
}
|
|
44
|
-
if (
|
|
45
|
-
return
|
|
44
|
+
if (isParameter && bodyRange && reference.identifier.range) {
|
|
45
|
+
return reference.identifier.range[0] >= bodyRange[0] && reference.identifier.range[1] <= bodyRange[1];
|
|
46
46
|
}
|
|
47
47
|
return true;
|
|
48
48
|
});
|
|
@@ -50,7 +50,7 @@ const noUsedUnderscoreVariables = {
|
|
|
50
50
|
context.report({
|
|
51
51
|
data: { name: variable.name },
|
|
52
52
|
messageId: MESSAGE_ID,
|
|
53
|
-
node:
|
|
53
|
+
node: definitionNode.name
|
|
54
54
|
});
|
|
55
55
|
}
|
|
56
56
|
}
|
|
@@ -72,4 +72,4 @@ export {
|
|
|
72
72
|
MESSAGE_ID,
|
|
73
73
|
noUsedUnderscoreVariables
|
|
74
74
|
};
|
|
75
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
75
|
+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL3NjcmlwdC11dGlscy9saW50ZXJzL2VzbGludC1ydWxlcy9uby11c2VkLXVuZGVyc2NvcmUtdmFyaWFibGVzLnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyIvKipcbiAqIEBmaWxlXG4gKlxuICogRVNMaW50IHJ1bGU6IG5vLXVzZWQtdW5kZXJzY29yZS12YXJpYWJsZXNcbiAqXG4gKiBSZXBvcnRzIGFuIGVycm9yIHdoZW4gYSBwYXJhbWV0ZXIgb3IgbG9jYWwgdmFyaWFibGUgd2l0aCBhIGBfYCBwcmVmaXggaXNcbiAqIGFjdHVhbGx5IHJlZmVyZW5jZWQgaW4gdGhlIGZ1bmN0aW9uIGJvZHkuIFRoZSBgX2AgcHJlZml4IGNvbnZlbnRpb24gc2lnbmFsc1xuICogXCJ0aGlzIGlkZW50aWZpZXIgaXMgaW50ZW50aW9uYWxseSB1bnVzZWRcIiBcdTIwMTQgaWYgaXQgSVMgdXNlZCwgdGhlIHByZWZpeCBpc1xuICogbWlzbGVhZGluZyBhbmQgc2hvdWxkIGJlIHJlbW92ZWQuXG4gKi9cbmltcG9ydCB0eXBlIHsgUnVsZSB9IGZyb20gJ2VzbGludCc7XG5cbmltcG9ydCB7IGFzc2VydE5vbk51bGxhYmxlIH0gZnJvbSAnLi4vLi4vLi4vdHlwZS1ndWFyZHMudHMnO1xuXG5pbnRlcmZhY2UgTm9kZVdpdGhCb2R5IHtcbiAgYm9keT86IFJ1bGUuTm9kZTtcbn1cblxuLyoqXG5NZXNzYWdlIElEIHJlcG9ydGVkIHdoZW4gYSB2YXJpYWJsZSBjYXJyaWVzIGEgYF9gIHByZWZpeCAoc2lnbmFsbGluZyB1bnVzZWQpIGJ1dCBpcyBhY3R1YWxseSB1c2VkLlxuICovXG5leHBvcnQgY29uc3QgTUVTU0FHRV9JRCA9ICdub1VzZWRVbmRlcnNjb3JlVmFyaWFibGVzJztcblxuZXhwb3J0IGNvbnN0IG5vVXNlZFVuZGVyc2NvcmVWYXJpYWJsZXM6IFJ1bGUuUnVsZU1vZHVsZSA9IHtcbiAgY3JlYXRlKGNvbnRleHQpIHtcbiAgICByZXR1cm4ge1xuICAgICAgJzpmdW5jdGlvbicobm9kZTogUnVsZS5Ob2RlKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHNjb3BlID0gY29udGV4dC5zb3VyY2VDb2RlLmdldFNjb3BlKG5vZGUpO1xuXG4gICAgICAgIGZvciAoY29uc3QgdmFyaWFibGUgb2Ygc2NvcGUudmFyaWFibGVzKSB7XG4gICAgICAgICAgaWYgKCF2YXJpYWJsZS5uYW1lLnN0YXJ0c1dpdGgoJ18nKSkge1xuICAgICAgICAgICAgY29udGludWU7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgY29uc3QgZGVmaW5pdGlvbk5vZGUgPSB2YXJpYWJsZS5kZWZzWzBdO1xuICAgICAgICAgIGFzc2VydE5vbk51bGxhYmxlKGRlZmluaXRpb25Ob2RlLCAnVXNlci1kZWNsYXJlZCBfLXByZWZpeGVkIHZhcmlhYmxlcyBhbHdheXMgaGF2ZSBhdCBsZWFzdCBvbmUgZGVmaW5pdGlvbicpO1xuXG4gICAgICAgICAgLy8gRm9yIHBhcmFtZXRlcnMsIG9ubHkgY291bnQgcmVmZXJlbmNlcyBpbnNpZGUgdGhlIGZ1bmN0aW9uIGJvZHlcbiAgICAgICAgICAvLyAobm90IGluIHR5cGUgYW5ub3RhdGlvbnMgbGlrZSBgYXNzZXJ0cyBfb2JqIGlzIFRgKS5cbiAgICAgICAgICAvLyBGb3IgbG9jYWwgdmFyaWFibGVzLCBhbnkgcmVhZCByZWZlcmVuY2UgY291bnRzLlxuICAgICAgICAgIGNvbnN0IGZ1bmN0aW9uQm9keSA9IChub2RlIGFzIE5vZGVXaXRoQm9keSkuYm9keTtcbiAgICAgICAgICBjb25zdCBib2R5UmFuZ2UgPSBmdW5jdGlvbkJvZHk/LnJhbmdlO1xuICAgICAgICAgIGNvbnN0IGlzUGFyYW1ldGVyID0gZGVmaW5pdGlvbk5vZGUudHlwZSA9PT0gJ1BhcmFtZXRlcic7XG4gICAgICAgICAgY29uc3QgaGFzQm9keVJlZmVyZW5jZXMgPSB2YXJpYWJsZS5yZWZlcmVuY2VzLnNvbWUoKHJlZmVyZW5jZSkgPT4ge1xuICAgICAgICAgICAgaWYgKCFyZWZlcmVuY2UuaXNSZWFkKCkpIHtcbiAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKGlzUGFyYW1ldGVyICYmIGJvZHlSYW5nZSAmJiByZWZlcmVuY2UuaWRlbnRpZmllci5yYW5nZSkge1xuICAgICAgICAgICAgICByZXR1cm4gcmVmZXJlbmNlLmlkZW50aWZpZXIucmFuZ2VbMF0gPj0gYm9keVJhbmdlWzBdXG4gICAgICAgICAgICAgICAgJiYgcmVmZXJlbmNlLmlkZW50aWZpZXIucmFuZ2VbMV0gPD0gYm9keVJhbmdlWzFdO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLy8gTG9jYWwgdmFyaWFibGVzIG9yIGZhbGxiYWNrOiBjb3VudCBhbGwgcmVhZHNcbiAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICAgIH0pO1xuICAgICAgICAgIGlmIChoYXNCb2R5UmVmZXJlbmNlcykge1xuICAgICAgICAgICAgY29udGV4dC5yZXBvcnQoe1xuICAgICAgICAgICAgICBkYXRhOiB7IG5hbWU6IHZhcmlhYmxlLm5hbWUgfSxcbiAgICAgICAgICAgICAgbWVzc2FnZUlkOiBNRVNTQUdFX0lELFxuICAgICAgICAgICAgICBub2RlOiBkZWZpbml0aW9uTm9kZS5uYW1lXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9O1xuICB9LFxuICBtZXRhOiB7XG4gICAgZG9jczoge1xuICAgICAgZGVzY3JpcHRpb246ICdEaXNhbGxvdyBgX2AtcHJlZml4ZWQgcGFyYW1ldGVycyBhbmQgbG9jYWwgdmFyaWFibGVzIHRoYXQgYXJlIGFjdHVhbGx5IHVzZWQnXG4gICAgfSxcbiAgICBtZXNzYWdlczoge1xuICAgICAgW01FU1NBR0VfSURdOiAnXCJ7eyBuYW1lIH19XCIgaGFzIGEgYF9gIHByZWZpeCBidXQgaXMgdXNlZC4gUmVtb3ZlIHRoZSBgX2AgcHJlZml4IHNpbmNlIGl0IGlzIG5vdCB1bnVzZWQuJ1xuICAgIH0sXG4gICAgc2NoZW1hOiBbXSxcbiAgICB0eXBlOiAncHJvYmxlbSdcbiAgfVxufTtcbiJdLAogICJtYXBwaW5ncyI6ICI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBWUEsU0FBUyx5QkFBeUI7QUFTM0IsTUFBTSxhQUFhO0FBRW5CLE1BQU0sNEJBQTZDO0FBQUEsRUFDeEQsT0FBTyxTQUFTO0FBQ2QsV0FBTztBQUFBLE1BQ0wsWUFBWSxNQUF1QjtBQUNqQyxjQUFNLFFBQVEsUUFBUSxXQUFXLFNBQVMsSUFBSTtBQUU5QyxtQkFBVyxZQUFZLE1BQU0sV0FBVztBQUN0QyxjQUFJLENBQUMsU0FBUyxLQUFLLFdBQVcsR0FBRyxHQUFHO0FBQ2xDO0FBQUEsVUFDRjtBQUVBLGdCQUFNLGlCQUFpQixTQUFTLEtBQUssQ0FBQztBQUN0Qyw0QkFBa0IsZ0JBQWdCLHdFQUF3RTtBQUsxRyxnQkFBTSxlQUFnQixLQUFzQjtBQUM1QyxnQkFBTSxZQUFZLGNBQWM7QUFDaEMsZ0JBQU0sY0FBYyxlQUFlLFNBQVM7QUFDNUMsZ0JBQU0sb0JBQW9CLFNBQVMsV0FBVyxLQUFLLENBQUMsY0FBYztBQUNoRSxnQkFBSSxDQUFDLFVBQVUsT0FBTyxHQUFHO0FBQ3ZCLHFCQUFPO0FBQUEsWUFDVDtBQUNBLGdCQUFJLGVBQWUsYUFBYSxVQUFVLFdBQVcsT0FBTztBQUMxRCxxQkFBTyxVQUFVLFdBQVcsTUFBTSxDQUFDLEtBQUssVUFBVSxDQUFDLEtBQzlDLFVBQVUsV0FBVyxNQUFNLENBQUMsS0FBSyxVQUFVLENBQUM7QUFBQSxZQUNuRDtBQUVBLG1CQUFPO0FBQUEsVUFDVCxDQUFDO0FBQ0QsY0FBSSxtQkFBbUI7QUFDckIsb0JBQVEsT0FBTztBQUFBLGNBQ2IsTUFBTSxFQUFFLE1BQU0sU0FBUyxLQUFLO0FBQUEsY0FDNUIsV0FBVztBQUFBLGNBQ1gsTUFBTSxlQUFlO0FBQUEsWUFDdkIsQ0FBQztBQUFBLFVBQ0g7QUFBQSxRQUNGO0FBQUEsTUFDRjtBQUFBLElBQ0Y7QUFBQSxFQUNGO0FBQUEsRUFDQSxNQUFNO0FBQUEsSUFDSixNQUFNO0FBQUEsTUFDSixhQUFhO0FBQUEsSUFDZjtBQUFBLElBQ0EsVUFBVTtBQUFBLE1BQ1IsQ0FBQyxVQUFVLEdBQUc7QUFBQSxJQUNoQjtBQUFBLElBQ0EsUUFBUSxDQUFDO0FBQUEsSUFDVCxNQUFNO0FBQUEsRUFDUjtBQUNGOyIsCiAgIm5hbWVzIjogW10KfQo=
|
|
@@ -26,6 +26,8 @@
|
|
|
26
26
|
* checked) to avoid false positives from internal options-passthrough helpers.
|
|
27
27
|
*/
|
|
28
28
|
import type { Rule } from 'eslint';
|
|
29
|
-
/**
|
|
29
|
+
/**
|
|
30
|
+
Message ID reported when a parameter-bag type's name does not match the expected name (prefix and required/optional suffix) for its function or constructor.
|
|
31
|
+
*/
|
|
30
32
|
export declare const MESSAGE_ID = "paramsOptionsNameMatch";
|
|
31
33
|
export declare const paramsOptionsNameMatch: Rule.RuleModule;
|