obsidian-dev-utils 57.0.2 → 58.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 +5 -0
- package/dist/lib/cjs/library.cjs +1 -1
- package/dist/lib/cjs/obsidian/components/async-component.cjs +28 -11
- package/dist/lib/cjs/obsidian/components/async-component.d.cts +14 -0
- package/dist/lib/cjs/obsidian/plugin/components/index.cjs +4 -4
- package/dist/lib/cjs/obsidian/plugin/components/index.d.cts +1 -1
- package/dist/lib/cjs/obsidian/plugin/components/layout-ready-component.cjs +124 -0
- package/dist/lib/cjs/obsidian/plugin/components/layout-ready-component.d.cts +18 -0
- package/dist/lib/cjs/obsidian/plugin/plugin.cjs +47 -81
- package/dist/lib/cjs/obsidian/plugin/plugin.d.cts +13 -51
- package/dist/lib/cjs/strict-proxy.cjs +15 -4
- package/dist/lib/cjs/strict-proxy.d.cts +12 -0
- package/dist/lib/esm/library.mjs +1 -1
- package/dist/lib/esm/obsidian/components/async-component.d.mts +14 -0
- package/dist/lib/esm/obsidian/components/async-component.mjs +25 -10
- package/dist/lib/esm/obsidian/plugin/components/index.d.mts +1 -1
- package/dist/lib/esm/obsidian/plugin/components/index.mjs +3 -3
- package/dist/lib/esm/obsidian/plugin/components/layout-ready-component.d.mts +18 -0
- package/dist/lib/esm/obsidian/plugin/components/layout-ready-component.mjs +24 -0
- package/dist/lib/esm/obsidian/plugin/plugin.d.mts +13 -51
- package/dist/lib/esm/obsidian/plugin/plugin.mjs +48 -85
- package/dist/lib/esm/strict-proxy.d.mts +12 -0
- package/dist/lib/esm/strict-proxy.mjs +14 -4
- package/obsidian/Plugin/components/{lifecycle-events-component → layout-ready-component}/package.json +3 -3
- package/package.json +3 -3
- package/dist/lib/cjs/obsidian/plugin/components/lifecycle-events-component.cjs +0 -211
- package/dist/lib/cjs/obsidian/plugin/components/lifecycle-events-component.d.cts +0 -63
- package/dist/lib/esm/obsidian/plugin/components/lifecycle-events-component.d.mts +0 -63
- package/dist/lib/esm/obsidian/plugin/components/lifecycle-events-component.mjs +0 -106
package/CHANGELOG.md
CHANGED
package/dist/lib/cjs/library.cjs
CHANGED
|
@@ -130,7 +130,7 @@ __export(library_exports, {
|
|
|
130
130
|
LIBRARY_VERSION: () => LIBRARY_VERSION
|
|
131
131
|
});
|
|
132
132
|
module.exports = __toCommonJS(library_exports);
|
|
133
|
-
const LIBRARY_VERSION = "
|
|
133
|
+
const LIBRARY_VERSION = "58.0.0";
|
|
134
134
|
const LIBRARY_NAME = "obsidian-dev-utils";
|
|
135
135
|
const LIBRARY_STYLES = ".obsidian-dev-utils.code-highlighter-component textarea, .obsidian-dev-utils.code-highlighter-component pre, .obsidian-dev-utils.code-highlighter-component code {\n font-family: var(--font-monospace);\n line-height: var(--line-height-normal);\n margin: 0;\n}\n.obsidian-dev-utils.code-highlighter-component textarea, .obsidian-dev-utils.code-highlighter-component code {\n font-size: var(--code-size);\n}\n.obsidian-dev-utils.code-highlighter-component textarea {\n background: transparent;\n color: transparent;\n z-index: 2;\n width: 20em;\n height: 10em;\n}\n.obsidian-dev-utils.code-highlighter-component pre {\n position: absolute;\n pointer-events: none;\n border: var(--input-border-width) solid transparent;\n overflow: auto;\n inset: 0;\n padding: var(--size-4-1) var(--size-4-2);\n z-index: 1;\n}\n.obsidian-dev-utils.code-highlighter-component pre::after {\n content: \"\";\n display: block;\n height: var(--bottom-gap, 0);\n}\n.obsidian-dev-utils.code-highlighter-component pre.is-placeholder {\n opacity: 0.6;\n}\n.obsidian-dev-utils.code-highlighter-component code {\n display: block;\n padding: 0;\n}\n\n.obsidian-dev-utils input[type=url] {\n height: var(--input-height);\n}\n.obsidian-dev-utils input[type=month],\n.obsidian-dev-utils input[type=tel],\n.obsidian-dev-utils input[type=time],\n.obsidian-dev-utils input[type=url],\n.obsidian-dev-utils input[type=week] {\n -webkit-app-region: no-drag;\n background: var(--background-modifier-form-field);\n border: var(--input-border-width) solid var(--background-modifier-border);\n color: var(--text-normal);\n font-family: inherit;\n padding: var(--size-4-1) var(--size-4-2);\n font-size: var(--font-ui-small);\n border-radius: var(--input-radius);\n outline: none;\n}\n@media (hover: hover) {\n .obsidian-dev-utils input[type=month]:hover,\n .obsidian-dev-utils input[type=tel]:hover,\n .obsidian-dev-utils input[type=time]:hover,\n .obsidian-dev-utils input[type=url]:hover,\n .obsidian-dev-utils input[type=week]:hover {\n border-color: var(--background-modifier-border-hover);\n transition: box-shadow 0.15s ease-in-out, border 0.15s ease-in-out;\n }\n}\n.obsidian-dev-utils input[type=month]:active, .obsidian-dev-utils input[type=month]:focus,\n.obsidian-dev-utils input[type=tel]:active,\n.obsidian-dev-utils input[type=tel]:focus,\n.obsidian-dev-utils input[type=time]:active,\n.obsidian-dev-utils input[type=time]:focus,\n.obsidian-dev-utils input[type=url]:active,\n.obsidian-dev-utils input[type=url]:focus,\n.obsidian-dev-utils input[type=week]:active,\n.obsidian-dev-utils input[type=week]:focus {\n border-color: var(--background-modifier-border-focus);\n transition: box-shadow 0.15s ease-in-out, border 0.15s ease-in-out;\n}\n.obsidian-dev-utils input[type=month]:active, .obsidian-dev-utils input[type=month]:focus, .obsidian-dev-utils input[type=month]:focus-visible,\n.obsidian-dev-utils input[type=tel]:active,\n.obsidian-dev-utils input[type=tel]:focus,\n.obsidian-dev-utils input[type=tel]:focus-visible,\n.obsidian-dev-utils input[type=time]:active,\n.obsidian-dev-utils input[type=time]:focus,\n.obsidian-dev-utils input[type=time]:focus-visible,\n.obsidian-dev-utils input[type=url]:active,\n.obsidian-dev-utils input[type=url]:focus,\n.obsidian-dev-utils input[type=url]:focus-visible,\n.obsidian-dev-utils input[type=week]:active,\n.obsidian-dev-utils input[type=week]:focus,\n.obsidian-dev-utils input[type=week]:focus-visible {\n box-shadow: 0 0 0 2px var(--background-modifier-border-focus);\n}\n.obsidian-dev-utils input[type=month]::placeholder,\n.obsidian-dev-utils input[type=tel]::placeholder,\n.obsidian-dev-utils input[type=time]::placeholder,\n.obsidian-dev-utils input[type=url]::placeholder,\n.obsidian-dev-utils input[type=week]::placeholder {\n color: var(--text-faint);\n}\n.mod-rtl input[type=month],\n.mod-rtl input[type=time],\n.mod-rtl input[type=week],\n.is-rtl input[type=month],\n.is-rtl input[type=time],\n.is-rtl input[type=week],\n.rtl input[type=month],\n.rtl input[type=time],\n.rtl input[type=week] {\n direction: rtl;\n}\n.mod-rtl input[type=month]::-webkit-calendar-picker-indicator,\n.mod-rtl input[type=time]::-webkit-calendar-picker-indicator,\n.mod-rtl input[type=week]::-webkit-calendar-picker-indicator,\n.is-rtl input[type=month]::-webkit-calendar-picker-indicator,\n.is-rtl input[type=time]::-webkit-calendar-picker-indicator,\n.is-rtl input[type=week]::-webkit-calendar-picker-indicator,\n.rtl input[type=month]::-webkit-calendar-picker-indicator,\n.rtl input[type=time]::-webkit-calendar-picker-indicator,\n.rtl input[type=week]::-webkit-calendar-picker-indicator {\n right: var(--size-4-1);\n left: auto;\n}\n\n.obsidian-dev-utils input[type=month],\n.obsidian-dev-utils input[type=time],\n.obsidian-dev-utils input[type=week] {\n font-variant-numeric: tabular-nums;\n position: relative;\n}\n.obsidian-dev-utils input[type=month]::-webkit-datetime-edit-text,\n.obsidian-dev-utils input[type=time]::-webkit-datetime-edit-text,\n.obsidian-dev-utils input[type=week]::-webkit-datetime-edit-text {\n color: var(--text-faint);\n padding-inline-end: 0;\n}\n.obsidian-dev-utils input[type=month]::-webkit-calendar-picker-indicator,\n.obsidian-dev-utils input[type=time]::-webkit-calendar-picker-indicator,\n.obsidian-dev-utils input[type=week]::-webkit-calendar-picker-indicator {\n position: absolute;\n left: var(--size-4-1);\n right: auto;\n opacity: 0.5;\n}\n.obsidian-dev-utils input[type=month]::-webkit-datetime-edit-month-field:active, .obsidian-dev-utils input[type=month]::-webkit-datetime-edit-month-field:focus, .obsidian-dev-utils input[type=month]::-webkit-datetime-edit-day-field:active, .obsidian-dev-utils input[type=month]::-webkit-datetime-edit-day-field:focus, .obsidian-dev-utils input[type=month]::-webkit-datetime-edit-year-field:active, .obsidian-dev-utils input[type=month]::-webkit-datetime-edit-year-field:focus,\n.obsidian-dev-utils input[type=time]::-webkit-datetime-edit-month-field:active,\n.obsidian-dev-utils input[type=time]::-webkit-datetime-edit-month-field:focus,\n.obsidian-dev-utils input[type=time]::-webkit-datetime-edit-day-field:active,\n.obsidian-dev-utils input[type=time]::-webkit-datetime-edit-day-field:focus,\n.obsidian-dev-utils input[type=time]::-webkit-datetime-edit-year-field:active,\n.obsidian-dev-utils input[type=time]::-webkit-datetime-edit-year-field:focus,\n.obsidian-dev-utils input[type=week]::-webkit-datetime-edit-month-field:active,\n.obsidian-dev-utils input[type=week]::-webkit-datetime-edit-month-field:focus,\n.obsidian-dev-utils input[type=week]::-webkit-datetime-edit-day-field:active,\n.obsidian-dev-utils input[type=week]::-webkit-datetime-edit-day-field:focus,\n.obsidian-dev-utils input[type=week]::-webkit-datetime-edit-year-field:active,\n.obsidian-dev-utils input[type=week]::-webkit-datetime-edit-year-field:focus {\n background-color: var(--text-selection);\n color: var(--text-normal);\n cursor: text;\n}\n.mod-rtl .obsidian-dev-utils input[type=month], .is-rtl .obsidian-dev-utils input[type=month], .rtl .obsidian-dev-utils input[type=month],\n.mod-rtl .obsidian-dev-utils input[type=time],\n.is-rtl .obsidian-dev-utils input[type=time],\n.rtl .obsidian-dev-utils input[type=time],\n.mod-rtl .obsidian-dev-utils input[type=week],\n.is-rtl .obsidian-dev-utils input[type=week],\n.rtl .obsidian-dev-utils input[type=week] {\n direction: rtl;\n}\n.mod-rtl .obsidian-dev-utils input[type=month]::-webkit-calendar-picker-indicator, .is-rtl .obsidian-dev-utils input[type=month]::-webkit-calendar-picker-indicator, .rtl .obsidian-dev-utils input[type=month]::-webkit-calendar-picker-indicator,\n.mod-rtl .obsidian-dev-utils input[type=time]::-webkit-calendar-picker-indicator,\n.is-rtl .obsidian-dev-utils input[type=time]::-webkit-calendar-picker-indicator,\n.rtl .obsidian-dev-utils input[type=time]::-webkit-calendar-picker-indicator,\n.mod-rtl .obsidian-dev-utils input[type=week]::-webkit-calendar-picker-indicator,\n.is-rtl .obsidian-dev-utils input[type=week]::-webkit-calendar-picker-indicator,\n.rtl .obsidian-dev-utils input[type=week]::-webkit-calendar-picker-indicator {\n left: auto;\n right: var(--size-4-1);\n}\n\nbody:not(.is-ios):not(.is-android) .obsidian-dev-utils input[type=month],\nbody:not(.is-ios):not(.is-android) .obsidian-dev-utils input[type=time],\nbody:not(.is-ios):not(.is-android) .obsidian-dev-utils input[type=week] {\n padding-inline-start: var(--size-4-6);\n}\n\n.obsidian-dev-utils input[type=time]::-webkit-calendar-picker-indicator {\n margin-inline-start: 0;\n}\n\n.obsidian-dev-utilsprogress.loop {\n min-width: 200px;\n}\n\n.obsidian-dev-utils.modal-container .ok-button {\n margin-right: 10px;\n margin-top: 20px;\n}\n\n.obsidian-dev-utils .multiple-dropdown-component select,\n.obsidian-dev-utils .multiple-dropdown-component select:focus,\n.obsidian-dev-utils .multiple-dropdown-component .dropdown {\n height: auto;\n padding-top: 3px;\n}\n.obsidian-dev-utils .multiple-dropdown-component select option:checked,\n.obsidian-dev-utils .multiple-dropdown-component select:focus option:checked,\n.obsidian-dev-utils .multiple-dropdown-component .dropdown option:checked {\n background-color: #1967d2;\n color: #fff;\n}\n\n.obsidian-dev-utils.plugin-settings-tab a:focus {\n outline: 2px solid var(--link-color);\n}\n\n.obsidian-dev-utils.prompt-modal .text-box {\n width: 100%;\n}\n\n.obsidian-dev-utils.tri-state-checkbox-component input[type=checkbox]:indeterminate {\n appearance: checkbox;\n}\n\n.obsidian-dev-utils :invalid {\n box-shadow: 0 0 0 2px var(--text-error);\n}\n.obsidian-dev-utils input.metadata-input-text:active:invalid, .obsidian-dev-utils input.metadata-input-text:focus-visible:invalid, .obsidian-dev-utils input.metadata-input-text:focus:invalid,\n.obsidian-dev-utils input[type=date]:active:invalid,\n.obsidian-dev-utils input[type=date]:focus-visible:invalid,\n.obsidian-dev-utils input[type=date]:focus:invalid,\n.obsidian-dev-utils input[type=datetime-local]:active:invalid,\n.obsidian-dev-utils input[type=datetime-local]:focus-visible:invalid,\n.obsidian-dev-utils input[type=datetime-local]:focus:invalid,\n.obsidian-dev-utils input[type=email]:active:invalid,\n.obsidian-dev-utils input[type=email]:focus-visible:invalid,\n.obsidian-dev-utils input[type=email]:focus:invalid,\n.obsidian-dev-utils input[type=number]:active:invalid,\n.obsidian-dev-utils input[type=number]:focus-visible:invalid,\n.obsidian-dev-utils input[type=number]:focus:invalid,\n.obsidian-dev-utils input[type=password]:active:invalid,\n.obsidian-dev-utils input[type=password]:focus-visible:invalid,\n.obsidian-dev-utils input[type=password]:focus:invalid,\n.obsidian-dev-utils input[type=search]:active:invalid,\n.obsidian-dev-utils input[type=search]:focus-visible:invalid,\n.obsidian-dev-utils input[type=search]:focus:invalid,\n.obsidian-dev-utils input[type=text]:active:invalid,\n.obsidian-dev-utils input[type=text]:focus-visible:invalid,\n.obsidian-dev-utils input[type=text]:focus:invalid,\n.obsidian-dev-utils textarea:active:invalid,\n.obsidian-dev-utils textarea:focus-visible:invalid,\n.obsidian-dev-utils textarea:focus:invalid {\n box-shadow: 0 0 0 2px var(--text-error);\n}\n.obsidian-dev-utils.setting-component-wrapper {\n position: relative;\n display: inline-flex;\n}\n.obsidian-dev-utils.overlay-validator {\n caret-color: transparent;\n cursor: default;\n position: absolute;\n background-color: transparent;\n border: none;\n outline: none;\n pointer-events: none;\n z-index: 9999;\n left: 0;\n top: 0;\n width: 100%;\n height: 100%;\n}\n.obsidian-dev-utils.tooltip.tooltip-validator {\n position: absolute;\n top: calc(100% + 8px);\n width: max-content;\n}\n\n/*# sourceMappingURL=data:application/json;charset=utf-8,%7B%22version%22:3,%22sourceRoot%22:%22%22,%22sources%22:%5B%22../src/styles/code-highlighter-component.scss%22,%22../src/styles/input.scss%22,%22../src/styles/input-time.scss%22,%22../src/styles/loop.scss%22,%22../src/styles/modal-container.scss%22,%22../src/styles/multiple-dropdown-component.scss%22,%22../src/styles/plugin-settings-tab.scss%22,%22../src/styles/prompt-modal.scss%22,%22../src/styles/tri-state-checkbox-component.scss%22,%22../src/styles/validation.scss%22%5D,%22names%22:%5B%5D,%22mappings%22:%22AAEI;EACE;EACA;EACA;;AAGF;EACE;;AAGF;EACE;EACA;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;;AAGF;EACE;;AAGF;EACE;EACA;;;ACzCJ;EACE;;AAGF;AAAA;AAAA;AAAA;AAAA;EAKE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAGE;EACE;AAAA;AAAA;AAAA;AAAA;IACE;IACA,YACE;;;AAMR;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;EAEE;EACA,YACE;;AAIJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;EAGE;;AAGF;AAAA;AAAA;AAAA;AAAA;EACE;;AASE;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;EAGE;;AAEA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;EACE;EACA;;;AC7DV;AAAA;AAAA;EAGE;EACA;;AAEA;AAAA;AAAA;EACE;EACA;;AAGF;AAAA;AAAA;EACE;EACA;EACA;EACA;;AAMA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;EAEE;EACA;EACA;;AAIK;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;EAGP;;AAEA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;EACE;EACA;;;AAKF;AAAA;AAAA;EACE;;;AAMJ;EACE;;;ACjDJ;EACE;;;ACAA;EACE;EACA;;;ACFF;AAAA;AAAA;EAGE;EACA;;AAEA;AAAA;AAAA;EACE;EACA;;;ACRJ;EACE;;;ACDF;EACE;;;ACDF;EACE;;;ACEJ;EAJA;;AAoBI;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;EApBJ;;AA0BA;EACE;EACA;;AAGF;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA%22,%22file%22:%22styles.css%22,%22sourcesContent%22:%5B%22.obsidian-dev-utils%20%7B%5Cn%20%20&.code-highlighter-component%20%7B%5Cn%20%20%20%20textarea,%20pre,%20code%20%7B%5Cn%20%20%20%20%20%20font-family:%20var(--font-monospace);%5Cn%20%20%20%20%20%20line-height:%20var(--line-height-normal);%5Cn%20%20%20%20%20%20margin:%200;%5Cn%20%20%20%20%7D%5Cn%5Cn%20%20%20%20textarea,%20code%20%7B%5Cn%20%20%20%20%20%20font-size:%20var(--code-size);%5Cn%20%20%20%20%7D%5Cn%5Cn%20%20%20%20textarea%20%7B%5Cn%20%20%20%20%20%20background:%20transparent;%5Cn%20%20%20%20%20%20color:%20transparent;%5Cn%20%20%20%20%20%20z-index:%202;%5Cn%20%20%20%20%20%20width:%2020em;%5Cn%20%20%20%20%20%20height:%2010em;%5Cn%20%20%20%20%7D%5Cn%5Cn%20%20%20%20pre%20%7B%5Cn%20%20%20%20%20%20position:%20absolute;%5Cn%20%20%20%20%20%20pointer-events:%20none;%5Cn%20%20%20%20%20%20border:%20var(--input-border-width)%20solid%20transparent;%5Cn%20%20%20%20%20%20overflow:%20auto;%5Cn%20%20%20%20%20%20inset:%200;%5Cn%20%20%20%20%20%20padding:%20var(--size-4-1)%20var(--size-4-2);%5Cn%20%20%20%20%20%20z-index:%201;%5Cn%20%20%20%20%7D%5Cn%5Cn%20%20%20%20pre::after%20%7B%5Cn%20%20%20%20%20%20content:%20%5C%22%5C%22;%5Cn%20%20%20%20%20%20display:%20block;%5Cn%20%20%20%20%20%20height:%20var(--bottom-gap,%200);%5Cn%20%20%20%20%7D%5Cn%5Cn%20%20%20%20pre.is-placeholder%20%7B%5Cn%20%20%20%20%20%20opacity:%200.6;%5Cn%20%20%20%20%7D%5Cn%5Cn%20%20%20%20code%20%7B%5Cn%20%20%20%20%20%20display:%20block;%5Cn%20%20%20%20%20%20padding:%200;%5Cn%20%20%20%20%7D%5Cn%20%20%7D%5Cn%7D%5Cn%22,%22.obsidian-dev-utils%20%7B%5Cn%20%20input%5Btype='url'%5D%20%7B%5Cn%20%20%20%20height:%20var(--input-height)%5Cn%20%20%7D%5Cn%5Cn%20%20input%5Btype='month'%5D,%5Cn%20%20input%5Btype='tel'%5D,%5Cn%20%20input%5Btype='time'%5D,%5Cn%20%20input%5Btype='url'%5D,%5Cn%20%20input%5Btype='week'%5D%20%7B%5Cn%20%20%20%20-webkit-app-region:%20no-drag;%5Cn%20%20%20%20background:%20var(--background-modifier-form-field);%5Cn%20%20%20%20border:%20var(--input-border-width)%20solid%20var(--background-modifier-border);%5Cn%20%20%20%20color:%20var(--text-normal);%5Cn%20%20%20%20font-family:%20inherit;%5Cn%20%20%20%20padding:%20var(--size-4-1)%20var(--size-4-2);%5Cn%20%20%20%20font-size:%20var(--font-ui-small);%5Cn%20%20%20%20border-radius:%20var(--input-radius);%5Cn%20%20%20%20outline:%20none;%5Cn%5Cn%20%20%20%20@at-root%20%7B%5Cn%20%20%20%20%20%20@media%20(hover:%20hover)%20%7B%5Cn%20%20%20%20%20%20%20%20&:hover%20%7B%5Cn%20%20%20%20%20%20%20%20%20%20border-color:%20var(--background-modifier-border-hover);%5Cn%20%20%20%20%20%20%20%20%20%20transition:%5Cn%20%20%20%20%20%20%20%20%20%20%20%20box-shadow%200.15s%20ease-in-out,%5Cn%20%20%20%20%20%20%20%20%20%20%20%20border%200.15s%20ease-in-out;%5Cn%20%20%20%20%20%20%20%20%7D%5Cn%20%20%20%20%20%20%7D%5Cn%20%20%20%20%7D%5Cn%5Cn%20%20%20%20&:active,%5Cn%20%20%20%20&:focus%20%7B%5Cn%20%20%20%20%20%20border-color:%20var(--background-modifier-border-focus);%5Cn%20%20%20%20%20%20transition:%5Cn%20%20%20%20%20%20%20%20box-shadow%200.15s%20ease-in-out,%5Cn%20%20%20%20%20%20%20%20border%200.15s%20ease-in-out;%5Cn%20%20%20%20%7D%5Cn%5Cn%20%20%20%20&:active,%5Cn%20%20%20%20&:focus,%5Cn%20%20%20%20&:focus-visible%20%7B%5Cn%20%20%20%20%20%20box-shadow:%200%200%200%202px%20var(--background-modifier-border-focus);%5Cn%20%20%20%20%7D%5Cn%5Cn%20%20%20%20&::placeholder%20%7B%5Cn%20%20%20%20%20%20color:%20var(--text-faint);%5Cn%20%20%20%20%7D%5Cn%20%20%7D%5Cn%5Cn%20%20@at-root%20%7B%5Cn%20%20%20%20.mod-rtl,%5Cn%20%20%20%20.is-rtl,%5Cn%20%20%20%20.rtl%20%7B%5Cn%20%20%20%20%20%20&%20%7B%5Cn%20%20%20%20%20%20%20%20input%5Btype='month'%5D,%5Cn%20%20%20%20%20%20%20%20input%5Btype='time'%5D,%5Cn%20%20%20%20%20%20%20%20input%5Btype='week'%5D%20%7B%5Cn%20%20%20%20%20%20%20%20%20%20direction:%20rtl;%5Cn%5Cn%20%20%20%20%20%20%20%20%20%20&::-webkit-calendar-picker-indicator%20%7B%5Cn%20%20%20%20%20%20%20%20%20%20%20%20right:%20var(--size-4-1);%5Cn%20%20%20%20%20%20%20%20%20%20%20%20left:%20auto;%5Cn%20%20%20%20%20%20%20%20%20%20%7D%5Cn%20%20%20%20%20%20%20%20%7D%5Cn%20%20%20%20%20%20%7D%5Cn%20%20%20%20%7D%5Cn%20%20%7D%5Cn%7D%5Cn%22,%22.obsidian-dev-utils%20%7B%5Cn%20%20input%5Btype='month'%5D,%5Cn%20%20input%5Btype='time'%5D,%5Cn%20%20input%5Btype='week'%5D%20%7B%5Cn%20%20%20%20font-variant-numeric:%20tabular-nums;%5Cn%20%20%20%20position:%20relative;%5Cn%5Cn%20%20%20%20&::-webkit-datetime-edit-text%20%7B%5Cn%20%20%20%20%20%20color:%20var(--text-faint);%5Cn%20%20%20%20%20%20padding-inline-end:%200;%5Cn%20%20%20%20%7D%5Cn%5Cn%20%20%20%20&::-webkit-calendar-picker-indicator%20%7B%5Cn%20%20%20%20%20%20position:%20absolute;%5Cn%20%20%20%20%20%20left:%20var(--size-4-1);%5Cn%20%20%20%20%20%20right:%20auto;%5Cn%20%20%20%20%20%20opacity:%200.5;%5Cn%20%20%20%20%7D%5Cn%5Cn%20%20%20%20&::-webkit-datetime-edit-month-field,%5Cn%20%20%20%20&::-webkit-datetime-edit-day-field,%5Cn%20%20%20%20&::-webkit-datetime-edit-year-field%20%7B%5Cn%20%20%20%20%20%20&:active,%5Cn%20%20%20%20%20%20&:focus%20%7B%5Cn%20%20%20%20%20%20%20%20background-color:%20var(--text-selection);%5Cn%20%20%20%20%20%20%20%20color:%20var(--text-normal);%5Cn%20%20%20%20%20%20%20%20cursor:%20text;%5Cn%20%20%20%20%20%20%7D%5Cn%20%20%20%20%7D%5Cn%5Cn%20%20%20%20@at-root%20.mod-rtl%20&,%5Cn%20%20%20%20%20%20.is-rtl%20&,%5Cn%20%20%20%20%20%20.rtl%20&%20%7B%5Cn%20%20%20%20%20%20direction:%20rtl;%5Cn%5Cn%20%20%20%20%20%20&::-webkit-calendar-picker-indicator%20%7B%5Cn%20%20%20%20%20%20%20%20left:%20auto;%5Cn%20%20%20%20%20%20%20%20right:%20var(--size-4-1);%5Cn%20%20%20%20%20%20%7D%5Cn%20%20%20%20%7D%5Cn%5Cn%20%20%20%20@at-root%20%7B%5Cn%20%20%20%20%20%20body:not(.is-ios):not(.is-android)%20&%20%7B%5Cn%20%20%20%20%20%20%20%20padding-inline-start:%20var(--size-4-6);%5Cn%20%20%20%20%20%20%7D%5Cn%20%20%20%20%7D%5Cn%20%20%7D%5Cn%5Cn%20%20input%5Btype='time'%5D%20%7B%5Cn%20%20%20%20&::-webkit-calendar-picker-indicator%20%7B%5Cn%20%20%20%20%20%20margin-inline-start:%200;%5Cn%20%20%20%20%7D%5Cn%20%20%7D%5Cn%7D%5Cn%22,%22.obsidian-dev-utils%20%7B%5Cn%20%20&progress.loop%20%7B%5Cn%20%20%20%20min-width:%20200px;%5Cn%20%20%7D%5Cn%7D%5Cn%22,%22.obsidian-dev-utils%20%7B%5Cn%20%20&.modal-container%20%7B%5Cn%20%20%20%20.ok-button%20%7B%5Cn%20%20%20%20%20%20margin-right:%2010px;%5Cn%20%20%20%20%20%20margin-top:%2020px;%5Cn%20%20%20%20%7D%5Cn%20%20%7D%5Cn%7D%5Cn%22,%22.obsidian-dev-utils%20%7B%5Cn%20%20.multiple-dropdown-component%20%7B%5Cn%20%20%20%20select,%5Cn%20%20%20%20select:focus,%5Cn%20%20%20%20.dropdown%20%7B%5Cn%20%20%20%20%20%20height:%20auto;%5Cn%20%20%20%20%20%20padding-top:%203px;%5Cn%5Cn%20%20%20%20%20%20option:checked%20%7B%5Cn%20%20%20%20%20%20%20%20background-color:%20%231967d2;%5Cn%20%20%20%20%20%20%20%20color:%20%23fff;%5Cn%20%20%20%20%20%20%7D%5Cn%20%20%20%20%7D%5Cn%20%20%7D%5Cn%7D%5Cn%22,%22.obsidian-dev-utils%20%7B%5Cn%20%20&.plugin-settings-tab%20%7B%5Cn%20%20%20%20a:focus%20%7B%5Cn%20%20%20%20%20%20outline:%202px%20solid%20var(--link-color);%5Cn%20%20%20%20%7D%5Cn%20%20%7D%5Cn%7D%5Cn%22,%22.obsidian-dev-utils%20%7B%5Cn%20%20&.prompt-modal%20%7B%5Cn%20%20%20%20.text-box%20%7B%5Cn%20%20%20%20%20%20width:%20100%25;%5Cn%20%20%20%20%7D%5Cn%20%20%7D%5Cn%7D%5Cn%22,%22.obsidian-dev-utils%20%7B%5Cr%5Cn%20%20&.tri-state-checkbox-component%20%7B%5Cr%5Cn%20%20%20%20input%5Btype='checkbox'%5D:indeterminate%20%7B%5Cr%5Cn%20%20%20%20%20%20appearance:%20checkbox;%5Cr%5Cn%20%20%20%20%7D%5Cr%5Cn%20%20%7D%5Cr%5Cn%7D%5Cr%5Cn%22,%22@mixin%20invalid%20%7B%5Cn%20%20box-shadow:%200%200%200%202px%20var(--text-error);%5Cn%7D%5Cn%5Cn.obsidian-dev-utils%20%7B%5Cn%20%20:invalid%20%7B%5Cn%20%20%20%20@include%20invalid;%5Cn%20%20%7D%5Cn%5Cn%20%20input.metadata-input-text,%5Cn%20%20input%5Btype='date'%5D,%5Cn%20%20input%5Btype='datetime-local'%5D,%5Cn%20%20input%5Btype='email'%5D,%5Cn%20%20input%5Btype='number'%5D,%5Cn%20%20input%5Btype='password'%5D,%5Cn%20%20input%5Btype='search'%5D,%5Cn%20%20input%5Btype='text'%5D,%5Cn%20%20textarea%20%7B%5Cn%20%20%20%20&:active,%5Cn%20%20%20%20&:focus-visible,%5Cn%20%20%20%20&:focus%20%7B%5Cn%20%20%20%20%20%20&:invalid%20%7B%5Cn%20%20%20%20%20%20%20%20@include%20invalid;%5Cn%20%20%20%20%20%20%7D%5Cn%20%20%20%20%7D%5Cn%20%20%7D%5Cn%5Cn%20%20&.setting-component-wrapper%20%7B%5Cn%20%20%20%20position:%20relative;%5Cn%20%20%20%20display:%20inline-flex;%5Cn%20%20%7D%5Cn%5Cn%20%20&.overlay-validator%20%7B%5Cn%20%20%20%20caret-color:%20transparent;%5Cn%20%20%20%20cursor:%20default;%5Cn%20%20%20%20position:%20absolute;%5Cn%20%20%20%20background-color:%20transparent;%5Cn%20%20%20%20border:%20none;%5Cn%20%20%20%20outline:%20none;%5Cn%20%20%20%20pointer-events:%20none;%5Cn%20%20%20%20z-index:%209999;%5Cn%20%20%20%20left:%200;%5Cn%20%20%20%20top:%200;%5Cn%20%20%20%20width:%20100%25;%5Cn%20%20%20%20height:%20100%25;%5Cn%20%20%7D%5Cn%5Cn%20%20&.tooltip.tooltip-validator%20%7B%5Cn%20%20%20%20position:%20absolute;%5Cn%20%20%20%20top:%20calc(100%25%20+%208px);%5Cn%20%20%20%20width:%20max-content;%5Cn%20%20%7D%5Cn%7D%5Cn%22%5D%7D */\n";
|
|
136
136
|
// Annotate the CommonJS export names for ESM import in node:
|
|
@@ -125,7 +125,9 @@ var __copyProps = (to, from, except, desc) => {
|
|
|
125
125
|
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
126
126
|
var async_component_exports = {};
|
|
127
127
|
__export(async_component_exports, {
|
|
128
|
-
AsyncComponentBase: () => AsyncComponentBase
|
|
128
|
+
AsyncComponentBase: () => AsyncComponentBase,
|
|
129
|
+
loadAsync: () => loadAsync,
|
|
130
|
+
loadChildrenFirstAsync: () => loadChildrenFirstAsync
|
|
129
131
|
});
|
|
130
132
|
module.exports = __toCommonJS(async_component_exports);
|
|
131
133
|
var import_obsidian = require('obsidian');
|
|
@@ -138,14 +140,7 @@ class AsyncComponentBase extends import_obsidian.Component {
|
|
|
138
140
|
*/
|
|
139
141
|
// eslint-disable-next-line @typescript-eslint/no-misused-promises -- Obsidian's load() handles async returns at runtime.
|
|
140
142
|
async load() {
|
|
141
|
-
|
|
142
|
-
return;
|
|
143
|
-
}
|
|
144
|
-
this._loaded = true;
|
|
145
|
-
await this.onload();
|
|
146
|
-
for (const child of this._children) {
|
|
147
|
-
await child.load();
|
|
148
|
-
}
|
|
143
|
+
await loadAsync(this);
|
|
149
144
|
}
|
|
150
145
|
/**
|
|
151
146
|
* Override this method to perform async initialization.
|
|
@@ -157,8 +152,30 @@ class AsyncComponentBase extends import_obsidian.Component {
|
|
|
157
152
|
await Promise.resolve();
|
|
158
153
|
}
|
|
159
154
|
}
|
|
155
|
+
async function loadAsync(component) {
|
|
156
|
+
if (component._loaded) {
|
|
157
|
+
return;
|
|
158
|
+
}
|
|
159
|
+
component._loaded = true;
|
|
160
|
+
await component.onload();
|
|
161
|
+
for (const child of component._children) {
|
|
162
|
+
await loadAsync(child);
|
|
163
|
+
}
|
|
164
|
+
}
|
|
165
|
+
async function loadChildrenFirstAsync(component) {
|
|
166
|
+
if (component._loaded) {
|
|
167
|
+
return;
|
|
168
|
+
}
|
|
169
|
+
for (const child of component._children) {
|
|
170
|
+
await loadChildrenFirstAsync(child);
|
|
171
|
+
}
|
|
172
|
+
component._loaded = true;
|
|
173
|
+
await component.onload();
|
|
174
|
+
}
|
|
160
175
|
// Annotate the CommonJS export names for ESM import in node:
|
|
161
176
|
0 && (module.exports = {
|
|
162
|
-
AsyncComponentBase
|
|
177
|
+
AsyncComponentBase,
|
|
178
|
+
loadAsync,
|
|
179
|
+
loadChildrenFirstAsync
|
|
163
180
|
});
|
|
164
|
-
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vLi4vc3JjL29ic2lkaWFuL2NvbXBvbmVudHMvYXN5bmMtY29tcG9uZW50LnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyIvKipcbiAqIEBmaWxlXG4gKlxuICogQmFzZSBjbGFzcyBmb3IgY29tcG9uZW50cyB0aGF0IG5lZWQgYXN5bmMgbGlmZWN5Y2xlIG1ldGhvZHMuXG4gKi9cblxuaW1wb3J0IHR5cGUgeyBQcm9taXNhYmxlIH0gZnJvbSAndHlwZS1mZXN0JztcblxuaW1wb3J0IHsgQ29tcG9uZW50IH0gZnJvbSAnb2JzaWRpYW4nO1xuXG4vKipcbiAqIEEge0BsaW5rIENvbXBvbmVudH0gdGhhdCBzdXBwb3J0cyBhc3luYyBsaWZlY3ljbGUgbWV0aG9kcy5cbiAqXG4gKiBPYnNpZGlhbidzIGBDb21wb25lbnQubG9hZCgpYCBjYXB0dXJlcyB0aGUgcmV0dXJuIHZhbHVlIG9mIGBvbmxvYWQoKWAgYW5kIGluY2x1ZGVzIFByb21pc2VzXG4gKiBpbiBhIGBQcm9taXNlLmFsbCgpYC4gVGhpcyBjbGFzcyBvdmVycmlkZXMgYGxvYWQoKWAgdG8gYGF3YWl0YCBgb25sb2FkKClgIGJlZm9yZSBsb2FkaW5nIGNoaWxkcmVuLFxuICogZW5zdXJpbmcgb3JkZXJlZCBpbml0aWFsaXphdGlvbi5cbiAqL1xuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEFzeW5jQ29tcG9uZW50QmFzZSBleHRlbmRzIENvbXBvbmVudCB7XG4gIC8qKlxuICAgKiBMb2FkcyB0aGlzIGNvbXBvbmVudCBhbmQgaXRzIGNoaWxkcmVuIHNlcXVlbnRpYWxseS5cbiAgICpcbiAgICogVW5saWtlIENvbXBvbmVudCdzIGBsb2FkKClgIHdoaWNoIHJ1bnMgYG9ubG9hZCgpYCBhbmQgY2hpbGRyZW4gY29uY3VycmVudGx5LFxuICAgKiB0aGlzIGF3YWl0cyBgb25sb2FkKClgIGZpcnN0LCB0aGVuIGxvYWRzIGNoaWxkcmVuIGluIG9yZGVyLlxuICAgKi9cbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1taXN1c2VkLXByb21pc2VzIC0tIE9ic2lkaWFuJ3MgbG9hZCgpIGhhbmRsZXMgYXN5bmMgcmV0dXJucyBhdCBydW50aW1lLlxuICBwdWJsaWMgb3ZlcnJpZGUgYXN5bmMgbG9hZCgpOiBQcm9taXNlPHZvaWQ+
|
|
181
|
+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vLi4vc3JjL29ic2lkaWFuL2NvbXBvbmVudHMvYXN5bmMtY29tcG9uZW50LnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyIvKipcbiAqIEBmaWxlXG4gKlxuICogQmFzZSBjbGFzcyBmb3IgY29tcG9uZW50cyB0aGF0IG5lZWQgYXN5bmMgbGlmZWN5Y2xlIG1ldGhvZHMuXG4gKi9cblxuaW1wb3J0IHR5cGUgeyBQcm9taXNhYmxlIH0gZnJvbSAndHlwZS1mZXN0JztcblxuaW1wb3J0IHsgQ29tcG9uZW50IH0gZnJvbSAnb2JzaWRpYW4nO1xuXG4vKipcbiAqIEEge0BsaW5rIENvbXBvbmVudH0gdGhhdCBzdXBwb3J0cyBhc3luYyBsaWZlY3ljbGUgbWV0aG9kcy5cbiAqXG4gKiBPYnNpZGlhbidzIGBDb21wb25lbnQubG9hZCgpYCBjYXB0dXJlcyB0aGUgcmV0dXJuIHZhbHVlIG9mIGBvbmxvYWQoKWAgYW5kIGluY2x1ZGVzIFByb21pc2VzXG4gKiBpbiBhIGBQcm9taXNlLmFsbCgpYC4gVGhpcyBjbGFzcyBvdmVycmlkZXMgYGxvYWQoKWAgdG8gYGF3YWl0YCBgb25sb2FkKClgIGJlZm9yZSBsb2FkaW5nIGNoaWxkcmVuLFxuICogZW5zdXJpbmcgb3JkZXJlZCBpbml0aWFsaXphdGlvbi5cbiAqL1xuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEFzeW5jQ29tcG9uZW50QmFzZSBleHRlbmRzIENvbXBvbmVudCB7XG4gIC8qKlxuICAgKiBMb2FkcyB0aGlzIGNvbXBvbmVudCBhbmQgaXRzIGNoaWxkcmVuIHNlcXVlbnRpYWxseS5cbiAgICpcbiAgICogVW5saWtlIENvbXBvbmVudCdzIGBsb2FkKClgIHdoaWNoIHJ1bnMgYG9ubG9hZCgpYCBhbmQgY2hpbGRyZW4gY29uY3VycmVudGx5LFxuICAgKiB0aGlzIGF3YWl0cyBgb25sb2FkKClgIGZpcnN0LCB0aGVuIGxvYWRzIGNoaWxkcmVuIGluIG9yZGVyLlxuICAgKi9cbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1taXN1c2VkLXByb21pc2VzIC0tIE9ic2lkaWFuJ3MgbG9hZCgpIGhhbmRsZXMgYXN5bmMgcmV0dXJucyBhdCBydW50aW1lLlxuICBwdWJsaWMgb3ZlcnJpZGUgYXN5bmMgbG9hZCgpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBhd2FpdCBsb2FkQXN5bmModGhpcyk7XG4gIH1cblxuICAvKipcbiAgICogT3ZlcnJpZGUgdGhpcyBtZXRob2QgdG8gcGVyZm9ybSBhc3luYyBpbml0aWFsaXphdGlvbi5cbiAgICpcbiAgICogQHJldHVybnMgQSB7QGxpbmsgUHJvbWlzZX0gdGhhdCByZXNvbHZlcyB3aGVuIGluaXRpYWxpemF0aW9uIGlzIGNvbXBsZXRlLlxuICAgKi9cbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1taXN1c2VkLXByb21pc2VzIC0tIEludGVudGlvbmFsIGFzeW5jIG92ZXJyaWRlOyBjYWxsZWQgZnJvbSBvdXIgb3duIGFzeW5jIGxvYWQoKS5cbiAgcHVibGljIG92ZXJyaWRlIGFzeW5jIG9ubG9hZCgpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBhd2FpdCBQcm9taXNlLnJlc29sdmUoKTtcbiAgfVxufVxuXG4vKipcbiAqIExvYWRzIGEgY29tcG9uZW50IGFuZCBpdHMgY2hpbGRyZW4gc2VxdWVudGlhbGx5LlxuICpcbiAqIEBwYXJhbSBjb21wb25lbnQgLSBUaGUgY29tcG9uZW50IHRvIGxvYWQuXG4gKiBAcmV0dXJucyBBIHtAbGluayBQcm9taXNlfSB0aGF0IHJlc29sdmVzIHdoZW4gdGhlIGNvbXBvbmVudCBpcyBsb2FkZWQuXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBsb2FkQXN5bmMoY29tcG9uZW50OiBDb21wb25lbnQpOiBQcm9taXNlPHZvaWQ+IHtcbiAgaWYgKGNvbXBvbmVudC5fbG9hZGVkKSB7XG4gICAgcmV0dXJuO1xuICB9XG4gIGNvbXBvbmVudC5fbG9hZGVkID0gdHJ1ZTtcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1jb25mdXNpbmctdm9pZC1leHByZXNzaW9uIC0tIENvbXBvbmVudC5sb2FkKCkgcmV0dXJucyB2b2lkfFByb21pc2UgYXQgcnVudGltZSBkZXNwaXRlIHZvaWQgdHlwaW5nLlxuICBhd2FpdCAoY29tcG9uZW50Lm9ubG9hZCgpIGFzIFByb21pc2FibGU8dm9pZD4pO1xuXG4gIGZvciAoY29uc3QgY2hpbGQgb2YgY29tcG9uZW50Ll9jaGlsZHJlbikge1xuICAgIGF3YWl0IGxvYWRBc3luYyhjaGlsZCk7XG4gIH1cbn1cblxuLyoqXG4gKiBMb2FkcyBhIGNvbXBvbmVudCBhbmQgaXRzIGNoaWxkcmVuIChjaGlsZHJlbiBmaXJzdCkuXG4gKlxuICogQHBhcmFtIGNvbXBvbmVudCAtIFRoZSBjb21wb25lbnQgdG8gbG9hZC5cbiAqIEByZXR1cm5zIEEge0BsaW5rIFByb21pc2V9IHRoYXQgcmVzb2x2ZXMgd2hlbiB0aGUgY29tcG9uZW50IGlzIGxvYWRlZC5cbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGxvYWRDaGlsZHJlbkZpcnN0QXN5bmMoY29tcG9uZW50OiBDb21wb25lbnQpOiBQcm9taXNlPHZvaWQ+IHtcbiAgaWYgKGNvbXBvbmVudC5fbG9hZGVkKSB7XG4gICAgcmV0dXJuO1xuICB9XG5cbiAgZm9yIChjb25zdCBjaGlsZCBvZiBjb21wb25lbnQuX2NoaWxkcmVuKSB7XG4gICAgYXdhaXQgbG9hZENoaWxkcmVuRmlyc3RBc3luYyhjaGlsZCk7XG4gIH1cblxuICBjb21wb25lbnQuX2xvYWRlZCA9IHRydWU7XG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tY29uZnVzaW5nLXZvaWQtZXhwcmVzc2lvbiAtLSBDb21wb25lbnQubG9hZCgpIHJldHVybnMgdm9pZHxQcm9taXNlIGF0IHJ1bnRpbWUgZGVzcGl0ZSB2b2lkIHR5cGluZy5cbiAgYXdhaXQgKGNvbXBvbmVudC5vbmxvYWQoKSBhcyBQcm9taXNhYmxlPHZvaWQ+KTtcbn1cbiJdLAogICJtYXBwaW5ncyI6ICI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFRQSxzQkFBMEI7QUFTbkIsTUFBZSwyQkFBMkIsMEJBQVU7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBUXpELE1BQXNCLE9BQXNCO0FBQzFDLFVBQU0sVUFBVSxJQUFJO0FBQUEsRUFDdEI7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQVFBLE1BQXNCLFNBQXdCO0FBQzVDLFVBQU0sUUFBUSxRQUFRO0FBQUEsRUFDeEI7QUFDRjtBQVFBLGVBQXNCLFVBQVUsV0FBcUM7QUFDbkUsTUFBSSxVQUFVLFNBQVM7QUFDckI7QUFBQSxFQUNGO0FBQ0EsWUFBVSxVQUFVO0FBRXBCLFFBQU8sVUFBVSxPQUFPO0FBRXhCLGFBQVcsU0FBUyxVQUFVLFdBQVc7QUFDdkMsVUFBTSxVQUFVLEtBQUs7QUFBQSxFQUN2QjtBQUNGO0FBUUEsZUFBc0IsdUJBQXVCLFdBQXFDO0FBQ2hGLE1BQUksVUFBVSxTQUFTO0FBQ3JCO0FBQUEsRUFDRjtBQUVBLGFBQVcsU0FBUyxVQUFVLFdBQVc7QUFDdkMsVUFBTSx1QkFBdUIsS0FBSztBQUFBLEVBQ3BDO0FBRUEsWUFBVSxVQUFVO0FBRXBCLFFBQU8sVUFBVSxPQUFPO0FBQzFCOyIsCiAgIm5hbWVzIjogW10KfQo=
|
|
@@ -26,3 +26,17 @@ export declare abstract class AsyncComponentBase extends Component {
|
|
|
26
26
|
*/
|
|
27
27
|
onload(): Promise<void>;
|
|
28
28
|
}
|
|
29
|
+
/**
|
|
30
|
+
* Loads a component and its children sequentially.
|
|
31
|
+
*
|
|
32
|
+
* @param component - The component to load.
|
|
33
|
+
* @returns A {@link Promise} that resolves when the component is loaded.
|
|
34
|
+
*/
|
|
35
|
+
export declare function loadAsync(component: Component): Promise<void>;
|
|
36
|
+
/**
|
|
37
|
+
* Loads a component and its children (children first).
|
|
38
|
+
*
|
|
39
|
+
* @param component - The component to load.
|
|
40
|
+
* @returns A {@link Promise} that resolves when the component is loaded.
|
|
41
|
+
*/
|
|
42
|
+
export declare function loadChildrenFirstAsync(component: Component): Promise<void>;
|
|
@@ -139,7 +139,7 @@ __export(components_exports, {
|
|
|
139
139
|
async_error_handler_component: () => async_error_handler_component,
|
|
140
140
|
console_debug_component: () => console_debug_component,
|
|
141
141
|
i18n_component: () => i18n_component,
|
|
142
|
-
|
|
142
|
+
layout_ready_component: () => layout_ready_component,
|
|
143
143
|
plugin_context_component: () => plugin_context_component,
|
|
144
144
|
plugin_notice_component: () => plugin_notice_component,
|
|
145
145
|
plugin_settings_component: () => plugin_settings_component,
|
|
@@ -150,7 +150,7 @@ var abort_signal_component = __toESM(__extractDefault(require('./abort-signal-co
|
|
|
150
150
|
var async_error_handler_component = __toESM(__extractDefault(require('./async-error-handler-component.cjs')), 1);
|
|
151
151
|
var console_debug_component = __toESM(__extractDefault(require('./console-debug-component.cjs')), 1);
|
|
152
152
|
var i18n_component = __toESM(__extractDefault(require('./i18n-component.cjs')), 1);
|
|
153
|
-
var
|
|
153
|
+
var layout_ready_component = __toESM(__extractDefault(require('./layout-ready-component.cjs')), 1);
|
|
154
154
|
var plugin_context_component = __toESM(__extractDefault(require('./plugin-context-component.cjs')), 1);
|
|
155
155
|
var plugin_notice_component = __toESM(__extractDefault(require('./plugin-notice-component.cjs')), 1);
|
|
156
156
|
var plugin_settings_component = __toESM(__extractDefault(require('./plugin-settings-component.cjs')), 1);
|
|
@@ -161,10 +161,10 @@ var plugin_settings_tab_component = __toESM(__extractDefault(require('./plugin-s
|
|
|
161
161
|
async_error_handler_component,
|
|
162
162
|
console_debug_component,
|
|
163
163
|
i18n_component,
|
|
164
|
-
|
|
164
|
+
layout_ready_component,
|
|
165
165
|
plugin_context_component,
|
|
166
166
|
plugin_notice_component,
|
|
167
167
|
plugin_settings_component,
|
|
168
168
|
plugin_settings_tab_component
|
|
169
169
|
});
|
|
170
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
170
|
+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL29ic2lkaWFuL3BsdWdpbi9jb21wb25lbnRzL2luZGV4LnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyIvKiBUSElTIElTIEEgR0VORVJBVEVEL0JVTkRMRUQgRklMRSBCWSBCVUlMRCBTQ1JJUFQgKi9cblxuZXhwb3J0ICogYXMgYWJvcnRfc2lnbmFsX2NvbXBvbmVudCBmcm9tICcuL2Fib3J0LXNpZ25hbC1jb21wb25lbnQudHMnO1xuZXhwb3J0ICogYXMgYXN5bmNfZXJyb3JfaGFuZGxlcl9jb21wb25lbnQgZnJvbSAnLi9hc3luYy1lcnJvci1oYW5kbGVyLWNvbXBvbmVudC50cyc7XG5leHBvcnQgKiBhcyBjb25zb2xlX2RlYnVnX2NvbXBvbmVudCBmcm9tICcuL2NvbnNvbGUtZGVidWctY29tcG9uZW50LnRzJztcbmV4cG9ydCAqIGFzIGkxOG5fY29tcG9uZW50IGZyb20gJy4vaTE4bi1jb21wb25lbnQudHMnO1xuZXhwb3J0ICogYXMgbGF5b3V0X3JlYWR5X2NvbXBvbmVudCBmcm9tICcuL2xheW91dC1yZWFkeS1jb21wb25lbnQudHMnO1xuZXhwb3J0ICogYXMgcGx1Z2luX2NvbnRleHRfY29tcG9uZW50IGZyb20gJy4vcGx1Z2luLWNvbnRleHQtY29tcG9uZW50LnRzJztcbmV4cG9ydCAqIGFzIHBsdWdpbl9ub3RpY2VfY29tcG9uZW50IGZyb20gJy4vcGx1Z2luLW5vdGljZS1jb21wb25lbnQudHMnO1xuZXhwb3J0ICogYXMgcGx1Z2luX3NldHRpbmdzX2NvbXBvbmVudCBmcm9tICcuL3BsdWdpbi1zZXR0aW5ncy1jb21wb25lbnQudHMnO1xuZXhwb3J0ICogYXMgcGx1Z2luX3NldHRpbmdzX3RhYl9jb21wb25lbnQgZnJvbSAnLi9wbHVnaW4tc2V0dGluZ3MtdGFiLWNvbXBvbmVudC50cyc7XG4iXSwKICAibWFwcGluZ3MiOiAiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUVBLDZCQUF3QztBQUN4QyxvQ0FBK0M7QUFDL0MsOEJBQXlDO0FBQ3pDLHFCQUFnQztBQUNoQyw2QkFBd0M7QUFDeEMsK0JBQTBDO0FBQzFDLDhCQUF5QztBQUN6QyxnQ0FBMkM7QUFDM0Msb0NBQStDOyIsCiAgIm5hbWVzIjogW10KfQo=
|
|
@@ -2,7 +2,7 @@ export * as abort_signal_component from './abort-signal-component.cjs';
|
|
|
2
2
|
export * as async_error_handler_component from './async-error-handler-component.cjs';
|
|
3
3
|
export * as console_debug_component from './console-debug-component.cjs';
|
|
4
4
|
export * as i18n_component from './i18n-component.cjs';
|
|
5
|
-
export * as
|
|
5
|
+
export * as layout_ready_component from './layout-ready-component.cjs';
|
|
6
6
|
export * as plugin_context_component from './plugin-context-component.cjs';
|
|
7
7
|
export * as plugin_notice_component from './plugin-notice-component.cjs';
|
|
8
8
|
export * as plugin_settings_component from './plugin-settings-component.cjs';
|
|
@@ -0,0 +1,124 @@
|
|
|
1
|
+
/*
|
|
2
|
+
THIS IS A GENERATED/BUNDLED FILE BY ESBUILD
|
|
3
|
+
if you want to view the source, please visit the github repository of this plugin
|
|
4
|
+
*/
|
|
5
|
+
|
|
6
|
+
(function initCjs() {
|
|
7
|
+
// eslint-disable-next-line obsidianmd/no-global-this -- Actively use globalThis.
|
|
8
|
+
const globalThisRecord = globalThis;
|
|
9
|
+
globalThisRecord['__name'] ??= name;
|
|
10
|
+
const originalRequire = require;
|
|
11
|
+
if (originalRequire && !originalRequire.__isPatched) {
|
|
12
|
+
// eslint-disable-next-line no-global-assign, no-implicit-globals -- We need to patch the `require()` function.
|
|
13
|
+
require = Object.assign(
|
|
14
|
+
(id) => requirePatched(id),
|
|
15
|
+
originalRequire,
|
|
16
|
+
{
|
|
17
|
+
__isPatched: true
|
|
18
|
+
}
|
|
19
|
+
);
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
const newFuncs = {
|
|
23
|
+
__extractDefault() {
|
|
24
|
+
return extractDefault;
|
|
25
|
+
},
|
|
26
|
+
process() {
|
|
27
|
+
const browserProcess = {
|
|
28
|
+
browser: true,
|
|
29
|
+
cwd() {
|
|
30
|
+
return '/';
|
|
31
|
+
},
|
|
32
|
+
env: {},
|
|
33
|
+
platform: 'android'
|
|
34
|
+
};
|
|
35
|
+
return browserProcess;
|
|
36
|
+
}
|
|
37
|
+
};
|
|
38
|
+
|
|
39
|
+
for (const key of Object.keys(newFuncs)) {
|
|
40
|
+
globalThisRecord[key] ??= newFuncs[key]?.();
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
function name(obj) {
|
|
44
|
+
return obj;
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
function extractDefault(module) {
|
|
48
|
+
return module && module.__esModule && 'default' in module ? module.default : module;
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
const OBSIDIAN_BUILT_IN_MODULE_NAMES = [
|
|
52
|
+
'obsidian',
|
|
53
|
+
'@codemirror/autocomplete',
|
|
54
|
+
'@codemirror/collab',
|
|
55
|
+
'@codemirror/commands',
|
|
56
|
+
'@codemirror/language',
|
|
57
|
+
'@codemirror/lint',
|
|
58
|
+
'@codemirror/search',
|
|
59
|
+
'@codemirror/state',
|
|
60
|
+
'@codemirror/text',
|
|
61
|
+
'@codemirror/view',
|
|
62
|
+
'@lezer/common',
|
|
63
|
+
'@lezer/lr',
|
|
64
|
+
'@lezer/highlight'];
|
|
65
|
+
|
|
66
|
+
|
|
67
|
+
const DEPRECATED_OBSIDIAN_BUILT_IN_MODULE_NAMES = [
|
|
68
|
+
'@codemirror/closebrackets',
|
|
69
|
+
'@codemirror/comment',
|
|
70
|
+
'@codemirror/fold',
|
|
71
|
+
'@codemirror/gutter',
|
|
72
|
+
'@codemirror/highlight',
|
|
73
|
+
'@codemirror/history',
|
|
74
|
+
'@codemirror/matchbrackets',
|
|
75
|
+
'@codemirror/panel',
|
|
76
|
+
'@codemirror/rangeset',
|
|
77
|
+
'@codemirror/rectangular-selection',
|
|
78
|
+
'@codemirror/stream-parser',
|
|
79
|
+
'@codemirror/tooltip'];
|
|
80
|
+
|
|
81
|
+
|
|
82
|
+
function requirePatched(id) {
|
|
83
|
+
if (OBSIDIAN_BUILT_IN_MODULE_NAMES.includes(id) || DEPRECATED_OBSIDIAN_BUILT_IN_MODULE_NAMES.includes(id)) {
|
|
84
|
+
return originalRequire?.(id);
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
// eslint-disable-next-line @typescript-eslint/no-deprecated, obsidianmd/no-global-this -- Need access to app. Actively use globalThis.
|
|
88
|
+
if (globalThis.app.isMobile) {
|
|
89
|
+
if (id === 'process' || id === 'node:process') {
|
|
90
|
+
// eslint-disable-next-line no-console -- Valid usage.
|
|
91
|
+
console.debug(`The most likely you can safely ignore this error. Module not found: ${id}. Fake process object is returned instead.`);
|
|
92
|
+
// eslint-disable-next-line obsidianmd/no-global-this -- Actively use globalThis.
|
|
93
|
+
return globalThis.process;
|
|
94
|
+
}
|
|
95
|
+
} else {
|
|
96
|
+
const module = originalRequire?.(id);
|
|
97
|
+
if (module) {
|
|
98
|
+
return extractDefault(module);
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
|
|
102
|
+
// eslint-disable-next-line no-console -- Valid usage.
|
|
103
|
+
console.debug(`The most likely you can safely ignore this error. Module not found: ${id}. Empty object is returned instead.`);
|
|
104
|
+
return {};
|
|
105
|
+
}
|
|
106
|
+
})();
|
|
107
|
+
|
|
108
|
+
"use strict";
|
|
109
|
+
var __defProp = Object.defineProperty;
|
|
110
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
111
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
112
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
113
|
+
var __copyProps = (to, from, except, desc) => {
|
|
114
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
115
|
+
for (let key of __getOwnPropNames(from))
|
|
116
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
117
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
118
|
+
}
|
|
119
|
+
return to;
|
|
120
|
+
};
|
|
121
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
122
|
+
var layout_ready_component_exports = {};
|
|
123
|
+
module.exports = __toCommonJS(layout_ready_component_exports);
|
|
124
|
+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL29ic2lkaWFuL3BsdWdpbi9jb21wb25lbnRzL2xheW91dC1yZWFkeS1jb21wb25lbnQudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbIi8qKlxuICogQGZpbGVcbiAqXG4gKiBJbnRlcmZhY2UgZm9yIGNvbXBvbmVudHMgdGhhdCBuZWVkIHRvIHBlcmZvcm0gd29yayB3aGVuIHRoZSB3b3Jrc3BhY2UgbGF5b3V0IGlzIHJlYWR5LlxuICovXG5cbmltcG9ydCB0eXBlIHsgUHJvbWlzYWJsZSB9IGZyb20gJ3R5cGUtZmVzdCc7XG5cbi8qKlxuICogQ29tcG9uZW50cyBpbXBsZW1lbnRpbmcgdGhpcyBpbnRlcmZhY2Ugd2lsbCBoYXZlIHtAbGluayBvbkxheW91dFJlYWR5fSBjYWxsZWRcbiAqIGJ5IFBsdWdpbkJhc2UgYWZ0ZXIgdGhlIHdvcmtzcGFjZSBsYXlvdXQgaXMgcmVhZHksIHdpdGggZXJyb3IgaXNvbGF0aW9uLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIExheW91dFJlYWR5Q29tcG9uZW50IHtcbiAgLyoqXG4gICAqIENhbGxlZCB3aGVuIHRoZSB3b3Jrc3BhY2UgbGF5b3V0IGlzIHJlYWR5LlxuICAgKlxuICAgKiBAcmV0dXJucyBBIHtAbGluayBQcm9taXNlfSB0aGF0IHJlc29sdmVzIHdoZW4gbGF5b3V0LXJlYWR5IHdvcmsgaXMgY29tcGxldGUuXG4gICAqL1xuICBvbkxheW91dFJlYWR5KCk6IFByb21pc2FibGU8dm9pZD47XG59XG4iXSwKICAibWFwcGluZ3MiOiAiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7QUFBQTsiLAogICJuYW1lcyI6IFtdCn0K
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @file
|
|
3
|
+
*
|
|
4
|
+
* Interface for components that need to perform work when the workspace layout is ready.
|
|
5
|
+
*/
|
|
6
|
+
import type { Promisable } from 'type-fest';
|
|
7
|
+
/**
|
|
8
|
+
* Components implementing this interface will have {@link onLayoutReady} called
|
|
9
|
+
* by PluginBase after the workspace layout is ready, with error isolation.
|
|
10
|
+
*/
|
|
11
|
+
export interface LayoutReadyComponent {
|
|
12
|
+
/**
|
|
13
|
+
* Called when the workspace layout is ready.
|
|
14
|
+
*
|
|
15
|
+
* @returns A {@link Promise} that resolves when layout-ready work is complete.
|
|
16
|
+
*/
|
|
17
|
+
onLayoutReady(): Promisable<void>;
|
|
18
|
+
}
|
|
@@ -133,12 +133,12 @@ module.exports = __toCommonJS(plugin_exports);
|
|
|
133
133
|
var import_obsidian = require('obsidian');
|
|
134
134
|
var import_async = require('../../async.cjs');
|
|
135
135
|
var import_error = require('../../error.cjs');
|
|
136
|
-
var
|
|
136
|
+
var import_strict_proxy = require('../../strict-proxy.cjs');
|
|
137
|
+
var import_async_component = require('../components/async-component.cjs');
|
|
137
138
|
var import_abort_signal_component = require('./components/abort-signal-component.cjs');
|
|
138
139
|
var import_async_error_handler_component = require('./components/async-error-handler-component.cjs');
|
|
139
140
|
var import_console_debug_component = require('./components/console-debug-component.cjs');
|
|
140
141
|
var import_i18n_component = require('./components/i18n-component.cjs');
|
|
141
|
-
var import_lifecycle_events_component = require('./components/lifecycle-events-component.cjs');
|
|
142
142
|
var import_plugin_context_component = require('./components/plugin-context-component.cjs');
|
|
143
143
|
var import_plugin_notice_component = require('./components/plugin-notice-component.cjs');
|
|
144
144
|
var import_plugin_settings_component = require('./components/plugin-settings-component.cjs');
|
|
@@ -151,10 +151,6 @@ class PluginBase extends import_obsidian.Plugin {
|
|
|
151
151
|
* The console debug component. Provides namespaced debug logging.
|
|
152
152
|
*/
|
|
153
153
|
consoleDebugComponent;
|
|
154
|
-
/**
|
|
155
|
-
* The lifecycle events component. Provides load, layoutReady, and unload events.
|
|
156
|
-
*/
|
|
157
|
-
lifecycleEventsComponent;
|
|
158
154
|
/**
|
|
159
155
|
* The notice component. Displays notices to the user.
|
|
160
156
|
*/
|
|
@@ -163,7 +159,6 @@ class PluginBase extends import_obsidian.Plugin {
|
|
|
163
159
|
* The settings component. Manages plugin settings lifecycle.
|
|
164
160
|
*/
|
|
165
161
|
settingsComponent;
|
|
166
|
-
preloadComponents = [];
|
|
167
162
|
singletonComponents = /* @__PURE__ */ new Map();
|
|
168
163
|
/**
|
|
169
164
|
* Creates a new PluginBase.
|
|
@@ -173,95 +168,66 @@ class PluginBase extends import_obsidian.Plugin {
|
|
|
173
168
|
*/
|
|
174
169
|
constructor(app, manifest) {
|
|
175
170
|
super(app, manifest);
|
|
176
|
-
this.
|
|
177
|
-
this.
|
|
178
|
-
this.noticeComponent = this.
|
|
179
|
-
this.
|
|
180
|
-
this.abortSignalComponent = this.
|
|
181
|
-
this.consoleDebugComponent = this.
|
|
182
|
-
this.
|
|
183
|
-
this.settingsComponent = this.registerComponent({ component: new import_plugin_settings_component.EmptyPluginSettingsComponent(), shouldPreload: true });
|
|
184
|
-
}
|
|
185
|
-
/**
|
|
186
|
-
* Called when the external settings change.
|
|
187
|
-
*
|
|
188
|
-
* Override in subclass if needed. Make sure to call `await super.onExternalSettingsChange()` first.
|
|
189
|
-
*/
|
|
190
|
-
async onExternalSettingsChange() {
|
|
191
|
-
await super.onExternalSettingsChange?.();
|
|
192
|
-
await this.settingsComponent.onExternalSettingsChange();
|
|
193
|
-
}
|
|
194
|
-
/**
|
|
195
|
-
* Called when the plugin is loaded. Force-loads components that must be ready
|
|
196
|
-
* before plugin logic, then calls `onloadImpl()`.
|
|
197
|
-
*
|
|
198
|
-
* Usually, you don't need to override this method. Override {@link onloadImpl} instead.
|
|
199
|
-
*/
|
|
200
|
-
async onload() {
|
|
201
|
-
await super.onload();
|
|
202
|
-
for (const component of this.preloadComponents) {
|
|
203
|
-
await component.load();
|
|
204
|
-
}
|
|
205
|
-
await this.onloadImpl();
|
|
206
|
-
(0, import_async.invokeAsyncSafelyAfterDelay)(this.afterLoad.bind(this));
|
|
207
|
-
}
|
|
208
|
-
/**
|
|
209
|
-
* Called when the layout is ready.
|
|
210
|
-
*/
|
|
211
|
-
async onLayoutReady() {
|
|
212
|
-
await (0, import_function.noopAsync)();
|
|
171
|
+
this.addChild(new import_plugin_context_component.PluginContextComponent(app, manifest.id));
|
|
172
|
+
this.addChild(new import_i18n_component.I18nComponent());
|
|
173
|
+
this.noticeComponent = this.addChild(new import_plugin_notice_component.PluginNoticeComponent(manifest.name));
|
|
174
|
+
this.addChild(new import_async_error_handler_component.AsyncErrorHandlerComponent(this.noticeComponent));
|
|
175
|
+
this.abortSignalComponent = this.addChild(new import_abort_signal_component.AbortSignalComponent(manifest.id));
|
|
176
|
+
this.consoleDebugComponent = this.addChild(new import_console_debug_component.ConsoleDebugComponent(manifest.id));
|
|
177
|
+
this.settingsComponent = this.addChild(new import_plugin_settings_component.EmptyPluginSettingsComponent());
|
|
213
178
|
}
|
|
214
179
|
/**
|
|
215
|
-
*
|
|
216
|
-
*
|
|
217
|
-
* @remarks It is important to call `super.onloadImpl()` in overridden method.
|
|
218
|
-
*/
|
|
219
|
-
async onloadImpl() {
|
|
220
|
-
await (0, import_function.noopAsync)();
|
|
221
|
-
}
|
|
222
|
-
/**
|
|
223
|
-
* Registers a component with the plugin.
|
|
180
|
+
* Adds a component to the plugin.
|
|
224
181
|
*
|
|
225
182
|
* If the component's class defines a static `COMPONENT_KEY` symbol, it is treated as a singleton —
|
|
226
|
-
*
|
|
183
|
+
* adding another component with the same key replaces the previous one.
|
|
227
184
|
* Components without a `COMPONENT_KEY` are multi-instance and simply added.
|
|
228
185
|
*
|
|
229
186
|
* @typeParam T - The component type.
|
|
230
|
-
* @param
|
|
231
|
-
* @returns The
|
|
187
|
+
* @param component - The component to add.
|
|
188
|
+
* @returns The added component.
|
|
232
189
|
*/
|
|
233
|
-
|
|
234
|
-
|
|
190
|
+
addChild(component) {
|
|
191
|
+
if (this._loaded) {
|
|
192
|
+
return super.addChild(component);
|
|
193
|
+
}
|
|
194
|
+
const singletonKey = component.constructor.COMPONENT_KEY;
|
|
235
195
|
if (singletonKey) {
|
|
236
196
|
const oldComponent = this.singletonComponents.get(singletonKey);
|
|
237
197
|
if (oldComponent) {
|
|
238
198
|
this.removeChild(oldComponent);
|
|
239
|
-
const preloadIndex = this.preloadComponents.indexOf(oldComponent);
|
|
240
|
-
if (preloadIndex !== -1) {
|
|
241
|
-
this.preloadComponents.splice(preloadIndex, 1);
|
|
242
|
-
}
|
|
243
199
|
}
|
|
244
|
-
this.singletonComponents.set(singletonKey,
|
|
200
|
+
this.singletonComponents.set(singletonKey, component);
|
|
245
201
|
}
|
|
246
|
-
|
|
247
|
-
if (params.shouldPreload) {
|
|
248
|
-
this.preloadComponents.push(params.component);
|
|
249
|
-
}
|
|
250
|
-
return params.component;
|
|
202
|
+
return super.addChild(component);
|
|
251
203
|
}
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
204
|
+
/**
|
|
205
|
+
* Loads the plugin and its components.
|
|
206
|
+
*/
|
|
207
|
+
// eslint-disable-next-line @typescript-eslint/no-misused-promises -- Obsidian's load() handles async returns at runtime.
|
|
208
|
+
async load() {
|
|
209
|
+
await (0, import_async_component.loadChildrenFirstAsync)(this);
|
|
210
|
+
this.app.workspace.onLayoutReady(() => {
|
|
211
|
+
(0, import_async.invokeAsyncSafelyAfterDelay)(
|
|
212
|
+
async () => {
|
|
213
|
+
for (const child of this._children) {
|
|
214
|
+
await (0, import_strict_proxy.bypassStrictProxy)(child).onLayoutReady?.();
|
|
215
|
+
}
|
|
216
|
+
},
|
|
217
|
+
0,
|
|
218
|
+
void 0,
|
|
219
|
+
this.abortSignalComponent.abortSignal
|
|
220
|
+
);
|
|
221
|
+
});
|
|
258
222
|
}
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
223
|
+
/**
|
|
224
|
+
* Called when the external settings change.
|
|
225
|
+
*
|
|
226
|
+
* Override in subclass if needed. Make sure to call `await super.onExternalSettingsChange()` first.
|
|
227
|
+
*/
|
|
228
|
+
async onExternalSettingsChange() {
|
|
229
|
+
await super.onExternalSettingsChange?.();
|
|
230
|
+
await this.settingsComponent.onExternalSettingsChange();
|
|
265
231
|
}
|
|
266
232
|
}
|
|
267
233
|
async function reloadPlugin(plugin) {
|
|
@@ -281,4 +247,4 @@ async function showErrorAndDisablePlugin(plugin, message) {
|
|
|
281
247
|
reloadPlugin,
|
|
282
248
|
showErrorAndDisablePlugin
|
|
283
249
|
});
|
|
284
|
-
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vLi4vc3JjL29ic2lkaWFuL3BsdWdpbi9wbHVnaW4udHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbIi8qKlxuICogQGZpbGVcbiAqXG4gKiBCYXNlIGNsYXNzIGZvciBPYnNpZGlhbiBwbHVnaW5zIHVzaW5nIGEgY29tcG9uZW50LWJhc2VkIGFyY2hpdGVjdHVyZS5cbiAqXG4gKiBQbHVnaW5CYXNlIHJlZ2lzdGVycyB1bml2ZXJzYWwgY29tcG9uZW50cyAoY29udGV4dCwgaTE4biwgZXJyb3IgaGFuZGxpbmcsIGFib3J0IHNpZ25hbCwgbGlmZWN5Y2xlIGV2ZW50cywgZGVidWcpLlxuICogU3ViY2xhc3NlcyBhZGQgdGhlaXIgb3duIGNvbXBvbmVudHMgdmlhIHtAbGluayByZWdpc3RlckNvbXBvbmVudH0gaW4gdGhlaXIgY29uc3RydWN0b3IuXG4gKiBBbnkgdW5pdmVyc2FsIGNvbXBvbmVudCBjYW4gYmUgcmVwbGFjZWQgYnkgY2FsbGluZyB7QGxpbmsgcmVnaXN0ZXJDb21wb25lbnR9IHdpdGggYSBuZXcgaW5zdGFuY2Ugb2YgdGhlIHNhbWUgY2xhc3MuXG4gKi9cblxuaW1wb3J0IHR5cGUge1xuICBBcHAsXG4gIFBsdWdpbk1hbmlmZXN0XG59IGZyb20gJ29ic2lkaWFuJztcbmltcG9ydCB0eXBlIHsgUHJvbWlzYWJsZSB9IGZyb20gJ3R5cGUtZmVzdCc7XG5cbmltcG9ydCB7XG4gIENvbXBvbmVudCxcbiAgTm90aWNlLFxuICBQbHVnaW4gYXMgT2JzaWRpYW5QbHVnaW5cbn0gZnJvbSAnb2JzaWRpYW4nO1xuXG5pbXBvcnQgdHlwZSB7IFBsdWdpblNldHRpbmdzQ29tcG9uZW50QmFzZSB9IGZyb20gJy4vY29tcG9uZW50cy9wbHVnaW4tc2V0dGluZ3MtY29tcG9uZW50LnRzJztcblxuaW1wb3J0IHtcbiAgY29udmVydEFzeW5jVG9TeW5jLFxuICBpbnZva2VBc3luY1NhZmVseUFmdGVyRGVsYXlcbn0gZnJvbSAnLi4vLi4vYXN5bmMudHMnO1xuaW1wb3J0IHsgcHJpbnRFcnJvciB9IGZyb20gJy4uLy4uL2Vycm9yLnRzJztcbmltcG9ydCB7IG5vb3BBc3luYyB9IGZyb20gJy4uLy4uL2Z1bmN0aW9uLnRzJztcbmltcG9ydCB7IEFib3J0U2lnbmFsQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2Fib3J0LXNpZ25hbC1jb21wb25lbnQudHMnO1xuaW1wb3J0IHsgQXN5bmNFcnJvckhhbmRsZXJDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvYXN5bmMtZXJyb3ItaGFuZGxlci1jb21wb25lbnQudHMnO1xuaW1wb3J0IHsgQ29uc29sZURlYnVnQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2NvbnNvbGUtZGVidWctY29tcG9uZW50LnRzJztcbmltcG9ydCB7IEkxOG5Db21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvaTE4bi1jb21wb25lbnQudHMnO1xuaW1wb3J0IHsgTGlmZWN5Y2xlRXZlbnRzQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2xpZmVjeWNsZS1ldmVudHMtY29tcG9uZW50LnRzJztcbmltcG9ydCB7IFBsdWdpbkNvbnRleHRDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvcGx1Z2luLWNvbnRleHQtY29tcG9uZW50LnRzJztcbmltcG9ydCB7IFBsdWdpbk5vdGljZUNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9wbHVnaW4tbm90aWNlLWNvbXBvbmVudC50cyc7XG5pbXBvcnQgeyBFbXB0eVBsdWdpblNldHRpbmdzQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3BsdWdpbi1zZXR0aW5ncy1jb21wb25lbnQudHMnO1xuXG4vKipcbiAqIFBhcmFtcyBmb3Ige0BsaW5rIFBsdWdpbkJhc2UucmVnaXN0ZXJDb21wb25lbnR9LlxuICpcbiAqIEB0eXBlUGFyYW0gVCAtIFRoZSBjb21wb25lbnQgdHlwZS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBSZWdpc3RlckNvbXBvbmVudFBhcmFtczxUIGV4dGVuZHMgQ29tcG9uZW50ID0gQ29tcG9uZW50PiB7XG4gIC8qKlxuICAgKiBUaGUgY29tcG9uZW50IHRvIHJlZ2lzdGVyLlxuICAgKi9cbiAgcmVhZG9ubHkgY29tcG9uZW50OiBUO1xuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRoaXMgY29tcG9uZW50IHNob3VsZCBiZSBsb2FkZWQgYmVmb3JlIHRoZSBwbHVnaW4ncyBgb25sb2FkSW1wbCgpYCBydW5zLlxuICAgKiBDb21wb25lbnRzIG1hcmtlZCB3aXRoIHRoaXMgZmxhZyBhcmUgZm9yY2UtbG9hZGVkIGR1cmluZyBgb25sb2FkKClgLCBlbnN1cmluZyB0aGV5IGFyZVxuICAgKiBmdWxseSBpbml0aWFsaXplZCBiZWZvcmUgcGx1Z2luIGxvZ2ljIGV4ZWN1dGVzLlxuICAgKi9cbiAgcmVhZG9ubHkgc2hvdWxkUHJlbG9hZD86IGJvb2xlYW47XG59XG5cbmludGVyZmFjZSBDb21wb25lbnRDbGFzc1dpdGhLZXkge1xuICBDT01QT05FTlRfS0VZOiBzeW1ib2w7XG59XG5cbi8qKlxuICogQmFzZSBjbGFzcyBmb3IgY3JlYXRpbmcgT2JzaWRpYW4gcGx1Z2lucyB3aXRoIGEgY29tcG9uZW50LWJhc2VkIGFyY2hpdGVjdHVyZS5cbiAqXG4gKiBSZWdpc3RlcnMgdW5pdmVyc2FsIGNvbXBvbmVudHMgYXV0b21hdGljYWxseS4gU3ViY2xhc3NlcyBhZGQgb3IgcmVwbGFjZSBjb21wb25lbnRzXG4gKiB2aWEge0BsaW5rIHJlZ2lzdGVyQ29tcG9uZW50fSBpbiB0aGVpciBjb25zdHJ1Y3Rvci5cbiAqL1xuZXhwb3J0IGFic3RyYWN0IGNsYXNzIFBsdWdpbkJhc2UgZXh0ZW5kcyBPYnNpZGlhblBsdWdpbiB7XG4gIC8qKlxuICAgKiBUaGUgYWJvcnQgc2lnbmFsIGNvbXBvbmVudC4gQWJvcnRlZCB3aGVuIHRoZSBwbHVnaW4gaXMgdW5sb2FkZWQuXG4gICAqL1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgYWJvcnRTaWduYWxDb21wb25lbnQ6IEFib3J0U2lnbmFsQ29tcG9uZW50O1xuXG4gIC8qKlxuICAgKiBUaGUgY29uc29sZSBkZWJ1ZyBjb21wb25lbnQuIFByb3ZpZGVzIG5hbWVzcGFjZWQgZGVidWcgbG9nZ2luZy5cbiAgICovXG4gIHByb3RlY3RlZCByZWFkb25seSBjb25zb2xlRGVidWdDb21wb25lbnQ6IENvbnNvbGVEZWJ1Z0NvbXBvbmVudDtcblxuICAvKipcbiAgICogVGhlIGxpZmVjeWNsZSBldmVudHMgY29tcG9uZW50LiBQcm92aWRlcyBsb2FkLCBsYXlvdXRSZWFkeSwgYW5kIHVubG9hZCBldmVudHMuXG4gICAqL1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgbGlmZWN5Y2xlRXZlbnRzQ29tcG9uZW50OiBMaWZlY3ljbGVFdmVudHNDb21wb25lbnQ7XG5cbiAgLyoqXG4gICAqIFRoZSBub3RpY2UgY29tcG9uZW50LiBEaXNwbGF5cyBub3RpY2VzIHRvIHRoZSB1c2VyLlxuICAgKi9cbiAgcHJvdGVjdGVkIHJlYWRvbmx5IG5vdGljZUNvbXBvbmVudDogUGx1Z2luTm90aWNlQ29tcG9uZW50O1xuXG4gIC8qKlxuICAgKiBUaGUgc2V0dGluZ3MgY29tcG9uZW50LiBNYW5hZ2VzIHBsdWdpbiBzZXR0aW5ncyBsaWZlY3ljbGUuXG4gICAqL1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgc2V0dGluZ3NDb21wb25lbnQ6IFBsdWdpblNldHRpbmdzQ29tcG9uZW50QmFzZTxvYmplY3Q+O1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgcHJlbG9hZENvbXBvbmVudHM6IENvbXBvbmVudFtdID0gW107XG4gIHByaXZhdGUgcmVhZG9ubHkgc2luZ2xldG9uQ29tcG9uZW50cyA9IG5ldyBNYXA8c3ltYm9sLCBDb21wb25lbnQ+KCk7XG5cbiAgLyoqXG4gICAqIENyZWF0ZXMgYSBuZXcgUGx1Z2luQmFzZS5cbiAgICpcbiAgICogQHBhcmFtIGFwcCAtIFRoZSBPYnNpZGlhbiBhcHAgaW5zdGFuY2UuXG4gICAqIEBwYXJhbSBtYW5pZmVzdCAtIFRoZSBwbHVnaW4gbWFuaWZlc3QuXG4gICAqL1xuICBwdWJsaWMgY29uc3RydWN0b3IoYXBwOiBBcHAsIG1hbmlmZXN0OiBQbHVnaW5NYW5pZmVzdCkge1xuICAgIHN1cGVyKGFwcCwgbWFuaWZlc3QpO1xuXG4gICAgdGhpcy5yZWdpc3RlckNvbXBvbmVudCh7IGNvbXBvbmVudDogbmV3IFBsdWdpbkNvbnRleHRDb21wb25lbnQoYXBwLCBtYW5pZmVzdC5pZCksIHNob3VsZFByZWxvYWQ6IHRydWUgfSk7XG4gICAgdGhpcy5yZWdpc3RlckNvbXBvbmVudCh7IGNvbXBvbmVudDogbmV3IEkxOG5Db21wb25lbnQoKSwgc2hvdWxkUHJlbG9hZDogdHJ1ZSB9KTtcbiAgICB0aGlzLm5vdGljZUNvbXBvbmVudCA9IHRoaXMucmVnaXN0ZXJDb21wb25lbnQoeyBjb21wb25lbnQ6IG5ldyBQbHVnaW5Ob3RpY2VDb21wb25lbnQobWFuaWZlc3QubmFtZSkgfSk7XG4gICAgdGhpcy5yZWdpc3RlckNvbXBvbmVudCh7IGNvbXBvbmVudDogbmV3IEFzeW5jRXJyb3JIYW5kbGVyQ29tcG9uZW50KHRoaXMubm90aWNlQ29tcG9uZW50KSB9KTtcbiAgICB0aGlzLmFib3J0U2lnbmFsQ29tcG9uZW50ID0gdGhpcy5yZWdpc3RlckNvbXBvbmVudCh7IGNvbXBvbmVudDogbmV3IEFib3J0U2lnbmFsQ29tcG9uZW50KG1hbmlmZXN0LmlkKSB9KTtcbiAgICB0aGlzLmNvbnNvbGVEZWJ1Z0NvbXBvbmVudCA9IHRoaXMucmVnaXN0ZXJDb21wb25lbnQoeyBjb21wb25lbnQ6IG5ldyBDb25zb2xlRGVidWdDb21wb25lbnQobWFuaWZlc3QuaWQpIH0pO1xuICAgIHRoaXMubGlmZWN5Y2xlRXZlbnRzQ29tcG9uZW50ID0gdGhpcy5yZWdpc3RlckNvbXBvbmVudCh7IGNvbXBvbmVudDogbmV3IExpZmVjeWNsZUV2ZW50c0NvbXBvbmVudChhcHApIH0pO1xuICAgIHRoaXMuc2V0dGluZ3NDb21wb25lbnQgPSB0aGlzLnJlZ2lzdGVyQ29tcG9uZW50KHsgY29tcG9uZW50OiBuZXcgRW1wdHlQbHVnaW5TZXR0aW5nc0NvbXBvbmVudCgpLCBzaG91bGRQcmVsb2FkOiB0cnVlIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIENhbGxlZCB3aGVuIHRoZSBleHRlcm5hbCBzZXR0aW5ncyBjaGFuZ2UuXG4gICAqXG4gICAqIE92ZXJyaWRlIGluIHN1YmNsYXNzIGlmIG5lZWRlZC4gTWFrZSBzdXJlIHRvIGNhbGwgYGF3YWl0IHN1cGVyLm9uRXh0ZXJuYWxTZXR0aW5nc0NoYW5nZSgpYCBmaXJzdC5cbiAgICovXG4gIHB1YmxpYyBvdmVycmlkZSBhc3luYyBvbkV4dGVybmFsU2V0dGluZ3NDaGFuZ2UoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgYXdhaXQgc3VwZXIub25FeHRlcm5hbFNldHRpbmdzQ2hhbmdlPy4oKTtcbiAgICBhd2FpdCB0aGlzLnNldHRpbmdzQ29tcG9uZW50Lm9uRXh0ZXJuYWxTZXR0aW5nc0NoYW5nZSgpO1xuICB9XG5cbiAgLyoqXG4gICAqIENhbGxlZCB3aGVuIHRoZSBwbHVnaW4gaXMgbG9hZGVkLiBGb3JjZS1sb2FkcyBjb21wb25lbnRzIHRoYXQgbXVzdCBiZSByZWFkeVxuICAgKiBiZWZvcmUgcGx1Z2luIGxvZ2ljLCB0aGVuIGNhbGxzIGBvbmxvYWRJbXBsKClgLlxuICAgKlxuICAgKiBVc3VhbGx5LCB5b3UgZG9uJ3QgbmVlZCB0byBvdmVycmlkZSB0aGlzIG1ldGhvZC4gT3ZlcnJpZGUge0BsaW5rIG9ubG9hZEltcGx9IGluc3RlYWQuXG4gICAqL1xuICBwdWJsaWMgb3ZlcnJpZGUgYXN5bmMgb25sb2FkKCk6IFByb21pc2U8dm9pZD4ge1xuICAgIGF3YWl0IHN1cGVyLm9ubG9hZCgpO1xuXG4gICAgZm9yIChjb25zdCBjb21wb25lbnQgb2YgdGhpcy5wcmVsb2FkQ29tcG9uZW50cykge1xuICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1jb25mdXNpbmctdm9pZC1leHByZXNzaW9uIC0tIENvbXBvbmVudC5sb2FkKCkgcmV0dXJucyB2b2lkfFByb21pc2UgYXQgcnVudGltZSBkZXNwaXRlIHZvaWQgdHlwaW5nLlxuICAgICAgYXdhaXQgKGNvbXBvbmVudC5sb2FkKCkgYXMgUHJvbWlzYWJsZTx2b2lkPik7XG4gICAgfVxuXG4gICAgYXdhaXQgdGhpcy5vbmxvYWRJbXBsKCk7XG4gICAgaW52b2tlQXN5bmNTYWZlbHlBZnRlckRlbGF5KHRoaXMuYWZ0ZXJMb2FkLmJpbmQodGhpcykpO1xuICB9XG5cbiAgLyoqXG4gICAqIENhbGxlZCB3aGVuIHRoZSBsYXlvdXQgaXMgcmVhZHkuXG4gICAqL1xuICBwcm90ZWN0ZWQgYXN5bmMgb25MYXlvdXRSZWFkeSgpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBhd2FpdCBub29wQXN5bmMoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDYWxsZWQgYWZ0ZXIgYWxsIHByZS1sb2FkIGNvbXBvbmVudHMgYXJlIGluaXRpYWxpemVkLiBPdmVycmlkZSB0aGlzIHRvIGFkZCBwbHVnaW4tc3BlY2lmaWMgbG9naWMuXG4gICAqXG4gICAqIEByZW1hcmtzIEl0IGlzIGltcG9ydGFudCB0byBjYWxsIGBzdXBlci5vbmxvYWRJbXBsKClgIGluIG92ZXJyaWRkZW4gbWV0aG9kLlxuICAgKi9cbiAgcHJvdGVjdGVkIGFzeW5jIG9ubG9hZEltcGwoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgYXdhaXQgbm9vcEFzeW5jKCk7XG4gIH1cblxuICAvKipcbiAgICogUmVnaXN0ZXJzIGEgY29tcG9uZW50IHdpdGggdGhlIHBsdWdpbi5cbiAgICpcbiAgICogSWYgdGhlIGNvbXBvbmVudCdzIGNsYXNzIGRlZmluZXMgYSBzdGF0aWMgYENPTVBPTkVOVF9LRVlgIHN5bWJvbCwgaXQgaXMgdHJlYXRlZCBhcyBhIHNpbmdsZXRvbiBcdTIwMTRcbiAgICogcmVnaXN0ZXJpbmcgYW5vdGhlciBjb21wb25lbnQgd2l0aCB0aGUgc2FtZSBrZXkgcmVwbGFjZXMgdGhlIHByZXZpb3VzIG9uZS5cbiAgICogQ29tcG9uZW50cyB3aXRob3V0IGEgYENPTVBPTkVOVF9LRVlgIGFyZSBtdWx0aS1pbnN0YW5jZSBhbmQgc2ltcGx5IGFkZGVkLlxuICAgKlxuICAgKiBAdHlwZVBhcmFtIFQgLSBUaGUgY29tcG9uZW50IHR5cGUuXG4gICAqIEBwYXJhbSBwYXJhbXMgLSBUaGUgcmVnaXN0cmF0aW9uIHBhcmFtcy5cbiAgICogQHJldHVybnMgVGhlIHJlZ2lzdGVyZWQgY29tcG9uZW50LlxuICAgKi9cbiAgcHJvdGVjdGVkIHJlZ2lzdGVyQ29tcG9uZW50PFQgZXh0ZW5kcyBDb21wb25lbnQ+KHBhcmFtczogUmVnaXN0ZXJDb21wb25lbnRQYXJhbXM8VD4pOiBUIHtcbiAgICBjb25zdCBzaW5nbGV0b25LZXkgPSAocGFyYW1zLmNvbXBvbmVudC5jb25zdHJ1Y3RvciBhcyBQYXJ0aWFsPENvbXBvbmVudENsYXNzV2l0aEtleT4pLkNPTVBPTkVOVF9LRVk7XG5cbiAgICBpZiAoc2luZ2xldG9uS2V5KSB7XG4gICAgICBjb25zdCBvbGRDb21wb25lbnQgPSB0aGlzLnNpbmdsZXRvbkNvbXBvbmVudHMuZ2V0KHNpbmdsZXRvbktleSk7XG4gICAgICBpZiAob2xkQ29tcG9uZW50KSB7XG4gICAgICAgIHRoaXMucmVtb3ZlQ2hpbGQob2xkQ29tcG9uZW50KTtcbiAgICAgICAgY29uc3QgcHJlbG9hZEluZGV4ID0gdGhpcy5wcmVsb2FkQ29tcG9uZW50cy5pbmRleE9mKG9sZENvbXBvbmVudCk7XG4gICAgICAgIGlmIChwcmVsb2FkSW5kZXggIT09IC0xKSB7XG4gICAgICAgICAgdGhpcy5wcmVsb2FkQ29tcG9uZW50cy5zcGxpY2UocHJlbG9hZEluZGV4LCAxKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgdGhpcy5zaW5nbGV0b25Db21wb25lbnRzLnNldChzaW5nbGV0b25LZXksIHBhcmFtcy5jb21wb25lbnQpO1xuICAgIH1cblxuICAgIHRoaXMuYWRkQ2hpbGQocGFyYW1zLmNvbXBvbmVudCk7XG5cbiAgICBpZiAocGFyYW1zLnNob3VsZFByZWxvYWQpIHtcbiAgICAgIHRoaXMucHJlbG9hZENvbXBvbmVudHMucHVzaChwYXJhbXMuY29tcG9uZW50KTtcbiAgICB9XG5cbiAgICByZXR1cm4gcGFyYW1zLmNvbXBvbmVudDtcbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgYWZ0ZXJMb2FkKCk6IFByb21pc2U8dm9pZD4ge1xuICAgIGlmICh0aGlzLmFib3J0U2lnbmFsQ29tcG9uZW50LmFib3J0U2lnbmFsLmFib3J0ZWQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgYXdhaXQgdGhpcy5saWZlY3ljbGVFdmVudHNDb21wb25lbnQudHJpZ2dlckxpZmVjeWNsZUV2ZW50KCdsb2FkJyk7XG4gICAgdGhpcy5hcHAud29ya3NwYWNlLm9uTGF5b3V0UmVhZHkoY29udmVydEFzeW5jVG9TeW5jKHRoaXMub25MYXlvdXRSZWFkeUJhc2UuYmluZCh0aGlzKSkpO1xuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyBvbkxheW91dFJlYWR5QmFzZSgpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICB0cnkge1xuICAgICAgYXdhaXQgdGhpcy5vbkxheW91dFJlYWR5KCk7XG4gICAgfSBmaW5hbGx5IHtcbiAgICAgIGF3YWl0IHRoaXMubGlmZWN5Y2xlRXZlbnRzQ29tcG9uZW50LnRyaWdnZXJMaWZlY3ljbGVFdmVudCgnbGF5b3V0UmVhZHknKTtcbiAgICB9XG4gIH1cbn1cblxuLyoqXG4gKiBSZWxvYWRzIHRoZSBzcGVjaWZpZWQgcGx1Z2luIGJ5IGRpc2FibGluZyBhbmQgdGhlbiByZS1lbmFibGluZyBpdC5cbiAqXG4gKiBAcGFyYW0gcGx1Z2luIC0gVGhlIHBsdWdpbiB0byByZWxvYWQuXG4gKiBAcmV0dXJucyBBIHtAbGluayBQcm9taXNlfSB0aGF0IHJlc29sdmVzIHdoZW4gdGhlIHBsdWdpbiBpcyByZWxvYWRlZC5cbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIHJlbG9hZFBsdWdpbihwbHVnaW46IE9ic2lkaWFuUGx1Z2luKTogUHJvbWlzZTx2b2lkPiB7XG4gIGNvbnN0IHBsdWdpbnMgPSBwbHVnaW4uYXBwLnBsdWdpbnM7XG4gIGNvbnN0IHBsdWdpbklkID0gcGx1Z2luLm1hbmlmZXN0LmlkO1xuICBhd2FpdCBwbHVnaW5zLmRpc2FibGVQbHVnaW4ocGx1Z2luSWQpO1xuICBhd2FpdCBwbHVnaW5zLmVuYWJsZVBsdWdpbihwbHVnaW5JZCk7XG59XG5cbi8qKlxuICogRGlzcGxheXMgYW4gZXJyb3IgbWVzc2FnZSBhcyBhIG5vdGljZSwgbG9ncyBpdCB0byB0aGUgY29uc29sZSwgYW5kIGRpc2FibGVzIHRoZSBzcGVjaWZpZWQgcGx1Z2luLlxuICpcbiAqIEBwYXJhbSBwbHVnaW4gLSBUaGUgcGx1Z2luIHRvIGRpc2FibGUuXG4gKiBAcGFyYW0gbWVzc2FnZSAtIFRoZSBlcnJvciBtZXNzYWdlIHRvIGRpc3BsYXkgYW5kIGxvZy5cbiAqIEByZXR1cm5zIEEge0BsaW5rIFByb21pc2V9IHRoYXQgcmVzb2x2ZXMgd2hlbiB0aGUgcGx1Z2luIGlzIGRpc2FibGVkLlxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gc2hvd0Vycm9yQW5kRGlzYWJsZVBsdWdpbihwbHVnaW46IE9ic2lkaWFuUGx1Z2luLCBtZXNzYWdlOiBzdHJpbmcpOiBQcm9taXNlPHZvaWQ+IHtcbiAgbmV3IE5vdGljZShtZXNzYWdlKTtcbiAgcHJpbnRFcnJvcihuZXcgRXJyb3IobWVzc2FnZSkpO1xuICBhd2FpdCBwbHVnaW4uYXBwLnBsdWdpbnMuZGlzYWJsZVBsdWdpbihwbHVnaW4ubWFuaWZlc3QuaWQpO1xufVxuIl0sCiAgIm1hcHBpbmdzIjogIjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTtBQUFBO0FBQUE7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
|
|
250
|
+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vLi4vc3JjL29ic2lkaWFuL3BsdWdpbi9wbHVnaW4udHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbIi8qKlxuICogQGZpbGVcbiAqXG4gKiBCYXNlIGNsYXNzIGZvciBPYnNpZGlhbiBwbHVnaW5zIHVzaW5nIGEgY29tcG9uZW50LWJhc2VkIGFyY2hpdGVjdHVyZS5cbiAqXG4gKiBQbHVnaW5CYXNlIHJlZ2lzdGVycyB1bml2ZXJzYWwgY29tcG9uZW50cyAoY29udGV4dCwgaTE4biwgZXJyb3IgaGFuZGxpbmcsIGFib3J0IHNpZ25hbCwgbGlmZWN5Y2xlIGV2ZW50cywgZGVidWcpLlxuICogU3ViY2xhc3NlcyBhZGQgdGhlaXIgb3duIGNvbXBvbmVudHMgdmlhIHtAbGluayByZWdpc3RlckNvbXBvbmVudH0gaW4gdGhlaXIgY29uc3RydWN0b3IuXG4gKiBBbnkgdW5pdmVyc2FsIGNvbXBvbmVudCBjYW4gYmUgcmVwbGFjZWQgYnkgY2FsbGluZyB7QGxpbmsgcmVnaXN0ZXJDb21wb25lbnR9IHdpdGggYSBuZXcgaW5zdGFuY2Ugb2YgdGhlIHNhbWUgY2xhc3MuXG4gKi9cblxuaW1wb3J0IHR5cGUge1xuICBBcHAsXG4gIFBsdWdpbk1hbmlmZXN0XG59IGZyb20gJ29ic2lkaWFuJztcblxuaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBOb3RpY2UsXG4gIFBsdWdpbiBhcyBPYnNpZGlhblBsdWdpblxufSBmcm9tICdvYnNpZGlhbic7XG5cbmltcG9ydCB0eXBlIHsgTGF5b3V0UmVhZHlDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvbGF5b3V0LXJlYWR5LWNvbXBvbmVudC50cyc7XG5pbXBvcnQgdHlwZSB7IFBsdWdpblNldHRpbmdzQ29tcG9uZW50QmFzZSB9IGZyb20gJy4vY29tcG9uZW50cy9wbHVnaW4tc2V0dGluZ3MtY29tcG9uZW50LnRzJztcblxuaW1wb3J0IHsgaW52b2tlQXN5bmNTYWZlbHlBZnRlckRlbGF5IH0gZnJvbSAnLi4vLi4vYXN5bmMudHMnO1xuaW1wb3J0IHsgcHJpbnRFcnJvciB9IGZyb20gJy4uLy4uL2Vycm9yLnRzJztcbmltcG9ydCB7IGJ5cGFzc1N0cmljdFByb3h5IH0gZnJvbSAnLi4vLi4vc3RyaWN0LXByb3h5LnRzJztcbmltcG9ydCB7IGxvYWRDaGlsZHJlbkZpcnN0QXN5bmMgfSBmcm9tICcuLi9jb21wb25lbnRzL2FzeW5jLWNvbXBvbmVudC50cyc7XG5pbXBvcnQgeyBBYm9ydFNpZ25hbENvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9hYm9ydC1zaWduYWwtY29tcG9uZW50LnRzJztcbmltcG9ydCB7IEFzeW5jRXJyb3JIYW5kbGVyQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2FzeW5jLWVycm9yLWhhbmRsZXItY29tcG9uZW50LnRzJztcbmltcG9ydCB7IENvbnNvbGVEZWJ1Z0NvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9jb25zb2xlLWRlYnVnLWNvbXBvbmVudC50cyc7XG5pbXBvcnQgeyBJMThuQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL2kxOG4tY29tcG9uZW50LnRzJztcbmltcG9ydCB7IFBsdWdpbkNvbnRleHRDb21wb25lbnQgfSBmcm9tICcuL2NvbXBvbmVudHMvcGx1Z2luLWNvbnRleHQtY29tcG9uZW50LnRzJztcbmltcG9ydCB7IFBsdWdpbk5vdGljZUNvbXBvbmVudCB9IGZyb20gJy4vY29tcG9uZW50cy9wbHVnaW4tbm90aWNlLWNvbXBvbmVudC50cyc7XG5pbXBvcnQgeyBFbXB0eVBsdWdpblNldHRpbmdzQ29tcG9uZW50IH0gZnJvbSAnLi9jb21wb25lbnRzL3BsdWdpbi1zZXR0aW5ncy1jb21wb25lbnQudHMnO1xuXG5pbnRlcmZhY2UgQ29tcG9uZW50Q2xhc3NXaXRoS2V5IHtcbiAgQ09NUE9ORU5UX0tFWTogc3ltYm9sO1xufVxuXG4vKipcbiAqIEJhc2UgY2xhc3MgZm9yIGNyZWF0aW5nIE9ic2lkaWFuIHBsdWdpbnMgd2l0aCBhIGNvbXBvbmVudC1iYXNlZCBhcmNoaXRlY3R1cmUuXG4gKlxuICogUmVnaXN0ZXJzIHVuaXZlcnNhbCBjb21wb25lbnRzIGF1dG9tYXRpY2FsbHkuIFN1YmNsYXNzZXMgYWRkIG9yIHJlcGxhY2UgY29tcG9uZW50c1xuICogdmlhIHtAbGluayByZWdpc3RlckNvbXBvbmVudH0gaW4gdGhlaXIgY29uc3RydWN0b3IuXG4gKi9cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBQbHVnaW5CYXNlIGV4dGVuZHMgT2JzaWRpYW5QbHVnaW4ge1xuICAvKipcbiAgICogVGhlIGFib3J0IHNpZ25hbCBjb21wb25lbnQuIEFib3J0ZWQgd2hlbiB0aGUgcGx1Z2luIGlzIHVubG9hZGVkLlxuICAgKi9cbiAgcHJvdGVjdGVkIHJlYWRvbmx5IGFib3J0U2lnbmFsQ29tcG9uZW50OiBBYm9ydFNpZ25hbENvbXBvbmVudDtcblxuICAvKipcbiAgICogVGhlIGNvbnNvbGUgZGVidWcgY29tcG9uZW50LiBQcm92aWRlcyBuYW1lc3BhY2VkIGRlYnVnIGxvZ2dpbmcuXG4gICAqL1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgY29uc29sZURlYnVnQ29tcG9uZW50OiBDb25zb2xlRGVidWdDb21wb25lbnQ7XG5cbiAgLyoqXG4gICAqIFRoZSBub3RpY2UgY29tcG9uZW50LiBEaXNwbGF5cyBub3RpY2VzIHRvIHRoZSB1c2VyLlxuICAgKi9cbiAgcHJvdGVjdGVkIHJlYWRvbmx5IG5vdGljZUNvbXBvbmVudDogUGx1Z2luTm90aWNlQ29tcG9uZW50O1xuXG4gIC8qKlxuICAgKiBUaGUgc2V0dGluZ3MgY29tcG9uZW50LiBNYW5hZ2VzIHBsdWdpbiBzZXR0aW5ncyBsaWZlY3ljbGUuXG4gICAqL1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgc2V0dGluZ3NDb21wb25lbnQ6IFBsdWdpblNldHRpbmdzQ29tcG9uZW50QmFzZTxvYmplY3Q+O1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgc2luZ2xldG9uQ29tcG9uZW50cyA9IG5ldyBNYXA8c3ltYm9sLCBDb21wb25lbnQ+KCk7XG5cbiAgLyoqXG4gICAqIENyZWF0ZXMgYSBuZXcgUGx1Z2luQmFzZS5cbiAgICpcbiAgICogQHBhcmFtIGFwcCAtIFRoZSBPYnNpZGlhbiBhcHAgaW5zdGFuY2UuXG4gICAqIEBwYXJhbSBtYW5pZmVzdCAtIFRoZSBwbHVnaW4gbWFuaWZlc3QuXG4gICAqL1xuICBwdWJsaWMgY29uc3RydWN0b3IoYXBwOiBBcHAsIG1hbmlmZXN0OiBQbHVnaW5NYW5pZmVzdCkge1xuICAgIHN1cGVyKGFwcCwgbWFuaWZlc3QpO1xuXG4gICAgdGhpcy5hZGRDaGlsZChuZXcgUGx1Z2luQ29udGV4dENvbXBvbmVudChhcHAsIG1hbmlmZXN0LmlkKSk7XG4gICAgdGhpcy5hZGRDaGlsZChuZXcgSTE4bkNvbXBvbmVudCgpKTtcbiAgICB0aGlzLm5vdGljZUNvbXBvbmVudCA9IHRoaXMuYWRkQ2hpbGQobmV3IFBsdWdpbk5vdGljZUNvbXBvbmVudChtYW5pZmVzdC5uYW1lKSk7XG4gICAgdGhpcy5hZGRDaGlsZChuZXcgQXN5bmNFcnJvckhhbmRsZXJDb21wb25lbnQodGhpcy5ub3RpY2VDb21wb25lbnQpKTtcbiAgICB0aGlzLmFib3J0U2lnbmFsQ29tcG9uZW50ID0gdGhpcy5hZGRDaGlsZChuZXcgQWJvcnRTaWduYWxDb21wb25lbnQobWFuaWZlc3QuaWQpKTtcbiAgICB0aGlzLmNvbnNvbGVEZWJ1Z0NvbXBvbmVudCA9IHRoaXMuYWRkQ2hpbGQobmV3IENvbnNvbGVEZWJ1Z0NvbXBvbmVudChtYW5pZmVzdC5pZCkpO1xuICAgIHRoaXMuc2V0dGluZ3NDb21wb25lbnQgPSB0aGlzLmFkZENoaWxkKG5ldyBFbXB0eVBsdWdpblNldHRpbmdzQ29tcG9uZW50KCkpO1xuICB9XG5cbiAgLyoqXG4gICAqIEFkZHMgYSBjb21wb25lbnQgdG8gdGhlIHBsdWdpbi5cbiAgICpcbiAgICogSWYgdGhlIGNvbXBvbmVudCdzIGNsYXNzIGRlZmluZXMgYSBzdGF0aWMgYENPTVBPTkVOVF9LRVlgIHN5bWJvbCwgaXQgaXMgdHJlYXRlZCBhcyBhIHNpbmdsZXRvbiBcdTIwMTRcbiAgICogYWRkaW5nIGFub3RoZXIgY29tcG9uZW50IHdpdGggdGhlIHNhbWUga2V5IHJlcGxhY2VzIHRoZSBwcmV2aW91cyBvbmUuXG4gICAqIENvbXBvbmVudHMgd2l0aG91dCBhIGBDT01QT05FTlRfS0VZYCBhcmUgbXVsdGktaW5zdGFuY2UgYW5kIHNpbXBseSBhZGRlZC5cbiAgICpcbiAgICogQHR5cGVQYXJhbSBUIC0gVGhlIGNvbXBvbmVudCB0eXBlLlxuICAgKiBAcGFyYW0gY29tcG9uZW50IC0gVGhlIGNvbXBvbmVudCB0byBhZGQuXG4gICAqIEByZXR1cm5zIFRoZSBhZGRlZCBjb21wb25lbnQuXG4gICAqL1xuICBwdWJsaWMgb3ZlcnJpZGUgYWRkQ2hpbGQ8VCBleHRlbmRzIENvbXBvbmVudD4oY29tcG9uZW50OiBUKTogVCB7XG4gICAgaWYgKHRoaXMuX2xvYWRlZCkge1xuICAgICAgcmV0dXJuIHN1cGVyLmFkZENoaWxkKGNvbXBvbmVudCk7XG4gICAgfVxuXG4gICAgY29uc3Qgc2luZ2xldG9uS2V5ID0gKGNvbXBvbmVudC5jb25zdHJ1Y3RvciBhcyBQYXJ0aWFsPENvbXBvbmVudENsYXNzV2l0aEtleT4pLkNPTVBPTkVOVF9LRVk7XG5cbiAgICBpZiAoc2luZ2xldG9uS2V5KSB7XG4gICAgICBjb25zdCBvbGRDb21wb25lbnQgPSB0aGlzLnNpbmdsZXRvbkNvbXBvbmVudHMuZ2V0KHNpbmdsZXRvbktleSk7XG4gICAgICBpZiAob2xkQ29tcG9uZW50KSB7XG4gICAgICAgIHRoaXMucmVtb3ZlQ2hpbGQob2xkQ29tcG9uZW50KTtcbiAgICAgIH1cbiAgICAgIHRoaXMuc2luZ2xldG9uQ29tcG9uZW50cy5zZXQoc2luZ2xldG9uS2V5LCBjb21wb25lbnQpO1xuICAgIH1cblxuICAgIHJldHVybiBzdXBlci5hZGRDaGlsZChjb21wb25lbnQpO1xuICB9XG5cbiAgLyoqXG4gICAqIExvYWRzIHRoZSBwbHVnaW4gYW5kIGl0cyBjb21wb25lbnRzLlxuICAgKi9cbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1taXN1c2VkLXByb21pc2VzIC0tIE9ic2lkaWFuJ3MgbG9hZCgpIGhhbmRsZXMgYXN5bmMgcmV0dXJucyBhdCBydW50aW1lLlxuICBwdWJsaWMgb3ZlcnJpZGUgYXN5bmMgbG9hZCgpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBhd2FpdCBsb2FkQ2hpbGRyZW5GaXJzdEFzeW5jKHRoaXMpO1xuICAgIHRoaXMuYXBwLndvcmtzcGFjZS5vbkxheW91dFJlYWR5KCgpID0+IHtcbiAgICAgIGludm9rZUFzeW5jU2FmZWx5QWZ0ZXJEZWxheShcbiAgICAgICAgYXN5bmMgKCkgPT4ge1xuICAgICAgICAgIGZvciAoY29uc3QgY2hpbGQgb2YgdGhpcy5fY2hpbGRyZW4pIHtcbiAgICAgICAgICAgIGF3YWl0IChieXBhc3NTdHJpY3RQcm94eShjaGlsZCkgYXMgUGFydGlhbDxMYXlvdXRSZWFkeUNvbXBvbmVudD4pLm9uTGF5b3V0UmVhZHk/LigpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgICAgMCxcbiAgICAgICAgdW5kZWZpbmVkLFxuICAgICAgICB0aGlzLmFib3J0U2lnbmFsQ29tcG9uZW50LmFib3J0U2lnbmFsXG4gICAgICApO1xuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIENhbGxlZCB3aGVuIHRoZSBleHRlcm5hbCBzZXR0aW5ncyBjaGFuZ2UuXG4gICAqXG4gICAqIE92ZXJyaWRlIGluIHN1YmNsYXNzIGlmIG5lZWRlZC4gTWFrZSBzdXJlIHRvIGNhbGwgYGF3YWl0IHN1cGVyLm9uRXh0ZXJuYWxTZXR0aW5nc0NoYW5nZSgpYCBmaXJzdC5cbiAgICovXG4gIHB1YmxpYyBvdmVycmlkZSBhc3luYyBvbkV4dGVybmFsU2V0dGluZ3NDaGFuZ2UoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgYXdhaXQgc3VwZXIub25FeHRlcm5hbFNldHRpbmdzQ2hhbmdlPy4oKTtcbiAgICBhd2FpdCB0aGlzLnNldHRpbmdzQ29tcG9uZW50Lm9uRXh0ZXJuYWxTZXR0aW5nc0NoYW5nZSgpO1xuICB9XG59XG5cbi8qKlxuICogUmVsb2FkcyB0aGUgc3BlY2lmaWVkIHBsdWdpbiBieSBkaXNhYmxpbmcgYW5kIHRoZW4gcmUtZW5hYmxpbmcgaXQuXG4gKlxuICogQHBhcmFtIHBsdWdpbiAtIFRoZSBwbHVnaW4gdG8gcmVsb2FkLlxuICogQHJldHVybnMgQSB7QGxpbmsgUHJvbWlzZX0gdGhhdCByZXNvbHZlcyB3aGVuIHRoZSBwbHVnaW4gaXMgcmVsb2FkZWQuXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiByZWxvYWRQbHVnaW4ocGx1Z2luOiBPYnNpZGlhblBsdWdpbik6IFByb21pc2U8dm9pZD4ge1xuICBjb25zdCBwbHVnaW5zID0gcGx1Z2luLmFwcC5wbHVnaW5zO1xuICBjb25zdCBwbHVnaW5JZCA9IHBsdWdpbi5tYW5pZmVzdC5pZDtcbiAgYXdhaXQgcGx1Z2lucy5kaXNhYmxlUGx1Z2luKHBsdWdpbklkKTtcbiAgYXdhaXQgcGx1Z2lucy5lbmFibGVQbHVnaW4ocGx1Z2luSWQpO1xufVxuXG4vKipcbiAqIERpc3BsYXlzIGFuIGVycm9yIG1lc3NhZ2UgYXMgYSBub3RpY2UsIGxvZ3MgaXQgdG8gdGhlIGNvbnNvbGUsIGFuZCBkaXNhYmxlcyB0aGUgc3BlY2lmaWVkIHBsdWdpbi5cbiAqXG4gKiBAcGFyYW0gcGx1Z2luIC0gVGhlIHBsdWdpbiB0byBkaXNhYmxlLlxuICogQHBhcmFtIG1lc3NhZ2UgLSBUaGUgZXJyb3IgbWVzc2FnZSB0byBkaXNwbGF5IGFuZCBsb2cuXG4gKiBAcmV0dXJucyBBIHtAbGluayBQcm9taXNlfSB0aGF0IHJlc29sdmVzIHdoZW4gdGhlIHBsdWdpbiBpcyBkaXNhYmxlZC5cbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIHNob3dFcnJvckFuZERpc2FibGVQbHVnaW4ocGx1Z2luOiBPYnNpZGlhblBsdWdpbiwgbWVzc2FnZTogc3RyaW5nKTogUHJvbWlzZTx2b2lkPiB7XG4gIG5ldyBOb3RpY2UobWVzc2FnZSk7XG4gIHByaW50RXJyb3IobmV3IEVycm9yKG1lc3NhZ2UpKTtcbiAgYXdhaXQgcGx1Z2luLmFwcC5wbHVnaW5zLmRpc2FibGVQbHVnaW4ocGx1Z2luLm1hbmlmZXN0LmlkKTtcbn1cbiJdLAogICJtYXBwaW5ncyI6ICI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFlQSxzQkFJTztBQUtQLG1CQUE0QztBQUM1QyxtQkFBMkI7QUFDM0IsMEJBQWtDO0FBQ2xDLDZCQUF1QztBQUN2QyxvQ0FBcUM7QUFDckMsMkNBQTJDO0FBQzNDLHFDQUFzQztBQUN0Qyw0QkFBOEI7QUFDOUIsc0NBQXVDO0FBQ3ZDLHFDQUFzQztBQUN0Qyx1Q0FBNkM7QUFZdEMsTUFBZSxtQkFBbUIsZ0JBQUFBLE9BQWU7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQUluQztBQUFBO0FBQUE7QUFBQTtBQUFBLEVBS0E7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQUtBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFLQTtBQUFBLEVBRUYsc0JBQXNCLG9CQUFJLElBQXVCO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFRM0QsWUFBWSxLQUFVLFVBQTBCO0FBQ3JELFVBQU0sS0FBSyxRQUFRO0FBRW5CLFNBQUssU0FBUyxJQUFJLHVEQUF1QixLQUFLLFNBQVMsRUFBRSxDQUFDO0FBQzFELFNBQUssU0FBUyxJQUFJLG9DQUFjLENBQUM7QUFDakMsU0FBSyxrQkFBa0IsS0FBSyxTQUFTLElBQUkscURBQXNCLFNBQVMsSUFBSSxDQUFDO0FBQzdFLFNBQUssU0FBUyxJQUFJLGdFQUEyQixLQUFLLGVBQWUsQ0FBQztBQUNsRSxTQUFLLHVCQUF1QixLQUFLLFNBQVMsSUFBSSxtREFBcUIsU0FBUyxFQUFFLENBQUM7QUFDL0UsU0FBSyx3QkFBd0IsS0FBSyxTQUFTLElBQUkscURBQXNCLFNBQVMsRUFBRSxDQUFDO0FBQ2pGLFNBQUssb0JBQW9CLEtBQUssU0FBUyxJQUFJLDhEQUE2QixDQUFDO0FBQUEsRUFDM0U7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFhZ0IsU0FBOEIsV0FBaUI7QUFDN0QsUUFBSSxLQUFLLFNBQVM7QUFDaEIsYUFBTyxNQUFNLFNBQVMsU0FBUztBQUFBLElBQ2pDO0FBRUEsVUFBTSxlQUFnQixVQUFVLFlBQStDO0FBRS9FLFFBQUksY0FBYztBQUNoQixZQUFNLGVBQWUsS0FBSyxvQkFBb0IsSUFBSSxZQUFZO0FBQzlELFVBQUksY0FBYztBQUNoQixhQUFLLFlBQVksWUFBWTtBQUFBLE1BQy9CO0FBQ0EsV0FBSyxvQkFBb0IsSUFBSSxjQUFjLFNBQVM7QUFBQSxJQUN0RDtBQUVBLFdBQU8sTUFBTSxTQUFTLFNBQVM7QUFBQSxFQUNqQztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFNQSxNQUFzQixPQUFzQjtBQUMxQyxjQUFNLCtDQUF1QixJQUFJO0FBQ2pDLFNBQUssSUFBSSxVQUFVLGNBQWMsTUFBTTtBQUNyQztBQUFBLFFBQ0UsWUFBWTtBQUNWLHFCQUFXLFNBQVMsS0FBSyxXQUFXO0FBQ2xDLHNCQUFPLHVDQUFrQixLQUFLLEVBQW9DLGdCQUFnQjtBQUFBLFVBQ3BGO0FBQUEsUUFDRjtBQUFBLFFBQ0E7QUFBQSxRQUNBO0FBQUEsUUFDQSxLQUFLLHFCQUFxQjtBQUFBLE1BQzVCO0FBQUEsSUFDRixDQUFDO0FBQUEsRUFDSDtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQU9BLE1BQXNCLDJCQUEwQztBQUM5RCxVQUFNLE1BQU0sMkJBQTJCO0FBQ3ZDLFVBQU0sS0FBSyxrQkFBa0IseUJBQXlCO0FBQUEsRUFDeEQ7QUFDRjtBQVFBLGVBQXNCLGFBQWEsUUFBdUM7QUFDeEUsUUFBTSxVQUFVLE9BQU8sSUFBSTtBQUMzQixRQUFNLFdBQVcsT0FBTyxTQUFTO0FBQ2pDLFFBQU0sUUFBUSxjQUFjLFFBQVE7QUFDcEMsUUFBTSxRQUFRLGFBQWEsUUFBUTtBQUNyQztBQVNBLGVBQXNCLDBCQUEwQixRQUF3QixTQUFnQztBQUN0RyxNQUFJLHVCQUFPLE9BQU87QUFDbEIsK0JBQVcsSUFBSSxNQUFNLE9BQU8sQ0FBQztBQUM3QixRQUFNLE9BQU8sSUFBSSxRQUFRLGNBQWMsT0FBTyxTQUFTLEVBQUU7QUFDM0Q7IiwKICAibmFtZXMiOiBbIk9ic2lkaWFuUGx1Z2luIl0KfQo=
|