obsidian-dev-utils 24.2.1-beta.4 → 24.2.1-beta.6
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 +19 -0
- package/README.md +3 -3
- package/dist/lib/cjs/AsyncEvents.cjs +8 -1
- package/dist/lib/cjs/AsyncEvents.d.cts +10 -8
- package/dist/lib/cjs/Library.cjs +1 -1
- package/dist/lib/cjs/obsidian/Components/AsyncEventsComponent.cjs +53 -0
- package/dist/lib/cjs/obsidian/Components/AsyncEventsComponent.d.cts +25 -0
- package/dist/lib/cjs/obsidian/Components/SettingComponents/CheckboxComponent.cjs +109 -0
- package/dist/lib/cjs/obsidian/Components/{CheckboxComponent.d.cts → SettingComponents/CheckboxComponent.d.cts} +1 -1
- package/dist/lib/cjs/obsidian/Components/{DateComponent.cjs → SettingComponents/DateComponent.cjs} +2 -2
- package/dist/lib/cjs/obsidian/Components/{DateTimeComponent.cjs → SettingComponents/DateTimeComponent.cjs} +2 -2
- package/dist/lib/cjs/obsidian/Components/{EmailComponent.cjs → SettingComponents/EmailComponent.cjs} +2 -2
- package/dist/lib/cjs/obsidian/Components/{FileComponent.cjs → SettingComponents/FileComponent.cjs} +2 -2
- package/dist/lib/cjs/obsidian/Components/{MonthComponent.cjs → SettingComponents/MonthComponent.cjs} +2 -2
- package/dist/lib/cjs/obsidian/Components/SettingComponents/MultipleDropdownComponent.cjs +122 -0
- package/dist/lib/cjs/obsidian/Components/{MultipleDropdownComponent.d.cts → SettingComponents/MultipleDropdownComponent.d.cts} +5 -5
- package/dist/lib/cjs/obsidian/Components/{MultipleEmailComponent.cjs → SettingComponents/MultipleEmailComponent.cjs} +2 -2
- package/dist/lib/cjs/obsidian/Components/{MultipleEmailComponent.d.cts → SettingComponents/MultipleEmailComponent.d.cts} +3 -3
- package/dist/lib/cjs/obsidian/Components/{MultipleFileComponent.cjs → SettingComponents/MultipleFileComponent.cjs} +2 -2
- package/dist/lib/cjs/obsidian/Components/{MultipleFileComponent.d.cts → SettingComponents/MultipleFileComponent.d.cts} +4 -4
- package/dist/lib/cjs/obsidian/Components/SettingComponents/MultipleTextComponent.cjs +135 -0
- package/dist/lib/cjs/obsidian/Components/{MultipleTextComponent.d.cts → SettingComponents/MultipleTextComponent.d.cts} +6 -6
- package/dist/lib/cjs/obsidian/Components/{NumberComponent.cjs → SettingComponents/NumberComponent.cjs} +2 -2
- package/dist/lib/cjs/obsidian/Components/SettingComponents/TextBasedComponent.cjs +65 -0
- package/dist/lib/cjs/obsidian/Components/SettingComponents/TimeComponent.cjs +74 -0
- package/dist/lib/cjs/obsidian/Components/SettingComponents/TriStateCheckboxComponent.cjs +110 -0
- package/dist/lib/cjs/obsidian/Components/{TriStateCheckboxComponent.d.cts → SettingComponents/TriStateCheckboxComponent.d.cts} +1 -1
- package/dist/lib/cjs/obsidian/Components/SettingComponents/TypedDropdownComponent.cjs +128 -0
- package/dist/lib/cjs/obsidian/Components/{TypedDropdownComponent.d.cts → SettingComponents/TypedDropdownComponent.d.cts} +1 -1
- package/dist/lib/cjs/obsidian/Components/SettingComponents/TypedMultipleDropdownComponent.cjs +130 -0
- package/dist/lib/cjs/obsidian/Components/{TypedMultipleDropdownComponent.d.cts → SettingComponents/TypedMultipleDropdownComponent.d.cts} +5 -5
- package/dist/lib/cjs/obsidian/Components/{TypedRangeTextComponent.cjs → SettingComponents/TypedRangeTextComponent.cjs} +1 -1
- package/dist/lib/cjs/obsidian/Components/SettingComponents/TypedTextComponent.cjs +155 -0
- package/dist/lib/cjs/obsidian/Components/{TypedTextComponent.d.cts → SettingComponents/TypedTextComponent.d.cts} +2 -2
- package/dist/lib/cjs/obsidian/Components/{UrlComponent.cjs → SettingComponents/UrlComponent.cjs} +2 -2
- package/dist/lib/cjs/obsidian/Components/{ValidatorComponent.cjs → SettingComponents/ValidatorComponent.cjs} +1 -1
- package/dist/lib/cjs/obsidian/Components/{ValidatorComponent.d.cts → SettingComponents/ValidatorComponent.d.cts} +1 -1
- package/dist/lib/cjs/obsidian/Components/{ValueComponentWithChangeTracking.cjs → SettingComponents/ValueComponentWithChangeTracking.cjs} +1 -1
- package/dist/lib/cjs/obsidian/Components/{WeekComponent.cjs → SettingComponents/WeekComponent.cjs} +2 -2
- package/dist/lib/cjs/obsidian/Components/SettingComponents/index.cjs +109 -0
- package/dist/lib/cjs/obsidian/Components/SettingComponents/index.d.cts +22 -0
- package/dist/lib/cjs/obsidian/Components/index.cjs +7 -67
- package/dist/lib/cjs/obsidian/Components/index.d.cts +2 -22
- package/dist/lib/cjs/obsidian/Plugin/PluginBase.cjs +25 -31
- package/dist/lib/cjs/obsidian/Plugin/PluginBase.d.cts +15 -23
- package/dist/lib/cjs/obsidian/Plugin/PluginSettingsManagerBase.cjs +17 -4
- package/dist/lib/cjs/obsidian/Plugin/PluginSettingsManagerBase.d.cts +21 -1
- package/dist/lib/cjs/obsidian/Plugin/PluginSettingsTabBase.cjs +62 -13
- package/dist/lib/cjs/obsidian/Plugin/PluginSettingsTabBase.d.cts +18 -5
- package/dist/lib/cjs/obsidian/SettingEx.cjs +18 -18
- package/dist/lib/cjs/obsidian/SettingEx.d.cts +17 -17
- package/dist/lib/esm/AsyncEvents.d.mts +10 -8
- package/dist/lib/esm/AsyncEvents.mjs +8 -1
- package/dist/lib/esm/Library.mjs +1 -1
- package/dist/lib/esm/obsidian/Components/AsyncEventsComponent.d.mts +25 -0
- package/dist/lib/esm/obsidian/Components/AsyncEventsComponent.mjs +28 -0
- package/dist/lib/esm/obsidian/Components/{CheckboxComponent.d.mts → SettingComponents/CheckboxComponent.d.mts} +1 -1
- package/dist/lib/esm/obsidian/Components/SettingComponents/CheckboxComponent.mjs +85 -0
- package/dist/lib/esm/obsidian/Components/SettingComponents/DateComponent.mjs +43 -0
- package/dist/lib/esm/obsidian/Components/SettingComponents/DateTimeComponent.mjs +43 -0
- package/dist/lib/esm/obsidian/Components/SettingComponents/EmailComponent.mjs +32 -0
- package/dist/lib/esm/obsidian/Components/SettingComponents/FileComponent.mjs +48 -0
- package/dist/lib/esm/obsidian/Components/SettingComponents/MonthComponent.mjs +51 -0
- package/dist/lib/esm/obsidian/Components/{MultipleDropdownComponent.d.mts → SettingComponents/MultipleDropdownComponent.d.mts} +5 -5
- package/dist/lib/esm/obsidian/Components/SettingComponents/MultipleDropdownComponent.mjs +101 -0
- package/dist/lib/esm/obsidian/Components/{MultipleEmailComponent.d.mts → SettingComponents/MultipleEmailComponent.d.mts} +3 -3
- package/dist/lib/esm/obsidian/Components/SettingComponents/MultipleEmailComponent.mjs +42 -0
- package/dist/lib/esm/obsidian/Components/{MultipleFileComponent.d.mts → SettingComponents/MultipleFileComponent.d.mts} +4 -4
- package/dist/lib/esm/obsidian/Components/SettingComponents/MultipleFileComponent.mjs +49 -0
- package/dist/lib/esm/obsidian/Components/{MultipleTextComponent.d.mts → SettingComponents/MultipleTextComponent.d.mts} +6 -6
- package/dist/lib/esm/obsidian/Components/SettingComponents/MultipleTextComponent.mjs +114 -0
- package/dist/lib/esm/obsidian/Components/SettingComponents/NumberComponent.mjs +32 -0
- package/dist/lib/esm/obsidian/Components/SettingComponents/TextBasedComponent.mjs +41 -0
- package/dist/lib/esm/obsidian/Components/SettingComponents/TimeComponent.mjs +53 -0
- package/dist/lib/esm/obsidian/Components/{TriStateCheckboxComponent.d.mts → SettingComponents/TriStateCheckboxComponent.d.mts} +1 -1
- package/dist/lib/esm/obsidian/Components/SettingComponents/TriStateCheckboxComponent.mjs +86 -0
- package/dist/lib/esm/obsidian/Components/{TypedDropdownComponent.d.mts → SettingComponents/TypedDropdownComponent.d.mts} +1 -1
- package/dist/lib/esm/obsidian/Components/SettingComponents/TypedDropdownComponent.mjs +107 -0
- package/dist/lib/esm/obsidian/Components/{TypedMultipleDropdownComponent.d.mts → SettingComponents/TypedMultipleDropdownComponent.d.mts} +5 -5
- package/dist/lib/esm/obsidian/Components/SettingComponents/TypedMultipleDropdownComponent.mjs +106 -0
- package/dist/lib/esm/obsidian/Components/SettingComponents/TypedRangeTextComponent.mjs +44 -0
- package/dist/lib/esm/obsidian/Components/{TypedTextComponent.d.mts → SettingComponents/TypedTextComponent.d.mts} +2 -2
- package/dist/lib/esm/obsidian/Components/SettingComponents/TypedTextComponent.mjs +134 -0
- package/dist/lib/esm/obsidian/Components/SettingComponents/UrlComponent.mjs +32 -0
- package/dist/lib/esm/obsidian/Components/{ValidatorComponent.d.mts → SettingComponents/ValidatorComponent.d.mts} +1 -1
- package/dist/lib/esm/obsidian/Components/SettingComponents/ValidatorComponent.mjs +47 -0
- package/dist/lib/esm/obsidian/Components/SettingComponents/WeekComponent.mjs +51 -0
- package/dist/lib/esm/obsidian/Components/SettingComponents/index.d.mts +22 -0
- package/dist/lib/esm/obsidian/Components/SettingComponents/index.mjs +54 -0
- package/dist/lib/esm/obsidian/Components/index.d.mts +2 -22
- package/dist/lib/esm/obsidian/Components/index.mjs +5 -45
- package/dist/lib/esm/obsidian/Plugin/PluginBase.d.mts +15 -23
- package/dist/lib/esm/obsidian/Plugin/PluginBase.mjs +25 -31
- package/dist/lib/esm/obsidian/Plugin/PluginSettingsManagerBase.d.mts +21 -1
- package/dist/lib/esm/obsidian/Plugin/PluginSettingsManagerBase.mjs +17 -4
- package/dist/lib/esm/obsidian/Plugin/PluginSettingsTabBase.d.mts +18 -5
- package/dist/lib/esm/obsidian/Plugin/PluginSettingsTabBase.mjs +66 -14
- package/dist/lib/esm/obsidian/SettingEx.d.mts +17 -17
- package/dist/lib/esm/obsidian/SettingEx.mjs +18 -18
- package/obsidian/Components/AsyncEventsComponent/package.json +6 -0
- package/obsidian/Components/SettingComponents/CheckboxComponent/package.json +6 -0
- package/obsidian/Components/SettingComponents/DateComponent/package.json +6 -0
- package/obsidian/Components/SettingComponents/DateTimeComponent/package.json +6 -0
- package/obsidian/Components/SettingComponents/EmailComponent/package.json +6 -0
- package/obsidian/Components/SettingComponents/FileComponent/package.json +6 -0
- package/obsidian/Components/SettingComponents/MonthComponent/package.json +6 -0
- package/obsidian/Components/SettingComponents/MultipleDropdownComponent/package.json +6 -0
- package/obsidian/Components/SettingComponents/MultipleEmailComponent/package.json +6 -0
- package/obsidian/Components/SettingComponents/MultipleFileComponent/package.json +6 -0
- package/obsidian/Components/SettingComponents/MultipleTextComponent/package.json +6 -0
- package/obsidian/Components/SettingComponents/NumberComponent/package.json +6 -0
- package/obsidian/Components/SettingComponents/TextBasedComponent/package.json +6 -0
- package/obsidian/Components/SettingComponents/TimeComponent/package.json +6 -0
- package/obsidian/Components/SettingComponents/TriStateCheckboxComponent/package.json +6 -0
- package/obsidian/Components/SettingComponents/TypedDropdownComponent/package.json +6 -0
- package/obsidian/Components/SettingComponents/TypedMultipleDropdownComponent/package.json +6 -0
- package/obsidian/Components/SettingComponents/TypedRangeTextComponent/package.json +6 -0
- package/obsidian/Components/SettingComponents/TypedTextComponent/package.json +6 -0
- package/obsidian/Components/SettingComponents/UrlComponent/package.json +6 -0
- package/obsidian/Components/SettingComponents/ValidatorComponent/package.json +6 -0
- package/obsidian/Components/SettingComponents/ValueComponentWithChangeTracking/package.json +6 -0
- package/obsidian/Components/SettingComponents/WeekComponent/package.json +6 -0
- package/obsidian/Components/SettingComponents/index/package.json +6 -0
- package/obsidian/Components/SettingComponents/package.json +6 -0
- package/package.json +21 -1
- package/dist/lib/cjs/obsidian/Components/CheckboxComponent.cjs +0 -109
- package/dist/lib/cjs/obsidian/Components/MultipleDropdownComponent.cjs +0 -122
- package/dist/lib/cjs/obsidian/Components/MultipleTextComponent.cjs +0 -135
- package/dist/lib/cjs/obsidian/Components/TextBasedComponent.cjs +0 -65
- package/dist/lib/cjs/obsidian/Components/TimeComponent.cjs +0 -74
- package/dist/lib/cjs/obsidian/Components/TriStateCheckboxComponent.cjs +0 -110
- package/dist/lib/cjs/obsidian/Components/TypedDropdownComponent.cjs +0 -128
- package/dist/lib/cjs/obsidian/Components/TypedMultipleDropdownComponent.cjs +0 -130
- package/dist/lib/cjs/obsidian/Components/TypedTextComponent.cjs +0 -155
- package/dist/lib/esm/obsidian/Components/CheckboxComponent.mjs +0 -85
- package/dist/lib/esm/obsidian/Components/DateComponent.mjs +0 -43
- package/dist/lib/esm/obsidian/Components/DateTimeComponent.mjs +0 -43
- package/dist/lib/esm/obsidian/Components/EmailComponent.mjs +0 -32
- package/dist/lib/esm/obsidian/Components/FileComponent.mjs +0 -48
- package/dist/lib/esm/obsidian/Components/MonthComponent.mjs +0 -51
- package/dist/lib/esm/obsidian/Components/MultipleDropdownComponent.mjs +0 -101
- package/dist/lib/esm/obsidian/Components/MultipleEmailComponent.mjs +0 -42
- package/dist/lib/esm/obsidian/Components/MultipleFileComponent.mjs +0 -49
- package/dist/lib/esm/obsidian/Components/MultipleTextComponent.mjs +0 -114
- package/dist/lib/esm/obsidian/Components/NumberComponent.mjs +0 -32
- package/dist/lib/esm/obsidian/Components/TextBasedComponent.mjs +0 -41
- package/dist/lib/esm/obsidian/Components/TimeComponent.mjs +0 -53
- package/dist/lib/esm/obsidian/Components/TriStateCheckboxComponent.mjs +0 -86
- package/dist/lib/esm/obsidian/Components/TypedDropdownComponent.mjs +0 -107
- package/dist/lib/esm/obsidian/Components/TypedMultipleDropdownComponent.mjs +0 -106
- package/dist/lib/esm/obsidian/Components/TypedRangeTextComponent.mjs +0 -44
- package/dist/lib/esm/obsidian/Components/TypedTextComponent.mjs +0 -134
- package/dist/lib/esm/obsidian/Components/UrlComponent.mjs +0 -32
- package/dist/lib/esm/obsidian/Components/ValidatorComponent.mjs +0 -47
- package/dist/lib/esm/obsidian/Components/WeekComponent.mjs +0 -51
- package/obsidian/Components/CheckboxComponent/package.json +0 -6
- package/obsidian/Components/DateComponent/package.json +0 -6
- package/obsidian/Components/DateTimeComponent/package.json +0 -6
- package/obsidian/Components/EmailComponent/package.json +0 -6
- package/obsidian/Components/FileComponent/package.json +0 -6
- package/obsidian/Components/MonthComponent/package.json +0 -6
- package/obsidian/Components/MultipleDropdownComponent/package.json +0 -6
- package/obsidian/Components/MultipleEmailComponent/package.json +0 -6
- package/obsidian/Components/MultipleFileComponent/package.json +0 -6
- package/obsidian/Components/MultipleTextComponent/package.json +0 -6
- package/obsidian/Components/NumberComponent/package.json +0 -6
- package/obsidian/Components/TextBasedComponent/package.json +0 -6
- package/obsidian/Components/TimeComponent/package.json +0 -6
- package/obsidian/Components/TriStateCheckboxComponent/package.json +0 -6
- package/obsidian/Components/TypedDropdownComponent/package.json +0 -6
- package/obsidian/Components/TypedMultipleDropdownComponent/package.json +0 -6
- package/obsidian/Components/TypedRangeTextComponent/package.json +0 -6
- package/obsidian/Components/TypedTextComponent/package.json +0 -6
- package/obsidian/Components/UrlComponent/package.json +0 -6
- package/obsidian/Components/ValidatorComponent/package.json +0 -6
- package/obsidian/Components/ValueComponentWithChangeTracking/package.json +0 -6
- package/obsidian/Components/WeekComponent/package.json +0 -6
- /package/dist/lib/cjs/obsidian/Components/{DateComponent.d.cts → SettingComponents/DateComponent.d.cts} +0 -0
- /package/dist/lib/cjs/obsidian/Components/{DateTimeComponent.d.cts → SettingComponents/DateTimeComponent.d.cts} +0 -0
- /package/dist/lib/cjs/obsidian/Components/{EmailComponent.d.cts → SettingComponents/EmailComponent.d.cts} +0 -0
- /package/dist/lib/cjs/obsidian/Components/{FileComponent.d.cts → SettingComponents/FileComponent.d.cts} +0 -0
- /package/dist/lib/cjs/obsidian/Components/{MonthComponent.d.cts → SettingComponents/MonthComponent.d.cts} +0 -0
- /package/dist/lib/cjs/obsidian/Components/{NumberComponent.d.cts → SettingComponents/NumberComponent.d.cts} +0 -0
- /package/dist/lib/cjs/obsidian/Components/{TextBasedComponent.d.cts → SettingComponents/TextBasedComponent.d.cts} +0 -0
- /package/dist/lib/cjs/obsidian/Components/{TimeComponent.d.cts → SettingComponents/TimeComponent.d.cts} +0 -0
- /package/dist/lib/cjs/obsidian/Components/{TypedRangeTextComponent.d.cts → SettingComponents/TypedRangeTextComponent.d.cts} +0 -0
- /package/dist/lib/cjs/obsidian/Components/{UrlComponent.d.cts → SettingComponents/UrlComponent.d.cts} +0 -0
- /package/dist/lib/cjs/obsidian/Components/{ValueComponentWithChangeTracking.d.cts → SettingComponents/ValueComponentWithChangeTracking.d.cts} +0 -0
- /package/dist/lib/cjs/obsidian/Components/{WeekComponent.d.cts → SettingComponents/WeekComponent.d.cts} +0 -0
- /package/dist/lib/esm/obsidian/Components/{DateComponent.d.mts → SettingComponents/DateComponent.d.mts} +0 -0
- /package/dist/lib/esm/obsidian/Components/{DateTimeComponent.d.mts → SettingComponents/DateTimeComponent.d.mts} +0 -0
- /package/dist/lib/esm/obsidian/Components/{EmailComponent.d.mts → SettingComponents/EmailComponent.d.mts} +0 -0
- /package/dist/lib/esm/obsidian/Components/{FileComponent.d.mts → SettingComponents/FileComponent.d.mts} +0 -0
- /package/dist/lib/esm/obsidian/Components/{MonthComponent.d.mts → SettingComponents/MonthComponent.d.mts} +0 -0
- /package/dist/lib/esm/obsidian/Components/{NumberComponent.d.mts → SettingComponents/NumberComponent.d.mts} +0 -0
- /package/dist/lib/esm/obsidian/Components/{TextBasedComponent.d.mts → SettingComponents/TextBasedComponent.d.mts} +0 -0
- /package/dist/lib/esm/obsidian/Components/{TimeComponent.d.mts → SettingComponents/TimeComponent.d.mts} +0 -0
- /package/dist/lib/esm/obsidian/Components/{TypedRangeTextComponent.d.mts → SettingComponents/TypedRangeTextComponent.d.mts} +0 -0
- /package/dist/lib/esm/obsidian/Components/{UrlComponent.d.mts → SettingComponents/UrlComponent.d.mts} +0 -0
- /package/dist/lib/esm/obsidian/Components/{ValueComponentWithChangeTracking.d.mts → SettingComponents/ValueComponentWithChangeTracking.d.mts} +0 -0
- /package/dist/lib/esm/obsidian/Components/{ValueComponentWithChangeTracking.mjs → SettingComponents/ValueComponentWithChangeTracking.mjs} +0 -0
- /package/dist/lib/esm/obsidian/Components/{WeekComponent.d.mts → SettingComponents/WeekComponent.d.mts} +0 -0
@@ -30,12 +30,15 @@ __export(PluginSettingsTabBase_exports, {
|
|
30
30
|
module.exports = __toCommonJS(PluginSettingsTabBase_exports);
|
31
31
|
var import_obsidian = require('obsidian');
|
32
32
|
var import_Async = require('../../Async.cjs');
|
33
|
+
var import_AsyncEvents = require('../../AsyncEvents.cjs');
|
33
34
|
var import_CssClass = require('../../CssClass.cjs');
|
34
35
|
var import_Function = require('../../Function.cjs');
|
35
|
-
var
|
36
|
-
var
|
36
|
+
var import_AsyncEventsComponent = require('../Components/AsyncEventsComponent.cjs');
|
37
|
+
var import_TextBasedComponent = require('../Components/SettingComponents/TextBasedComponent.cjs');
|
38
|
+
var import_ValidatorComponent = require('../Components/SettingComponents/ValidatorComponent.cjs');
|
37
39
|
var import_ValidationMessage = require('../ValidationMessage.cjs');
|
38
40
|
var import_PluginId = require('./PluginId.cjs');
|
41
|
+
const PLUGIN_SETTINGS_TAB_SYMBOL = Symbol("pluginSettingsTab");
|
39
42
|
class PluginSettingsTabBase extends import_obsidian.PluginSettingTab {
|
40
43
|
/**
|
41
44
|
* Creates a new plugin settings tab.
|
@@ -46,7 +49,12 @@ class PluginSettingsTabBase extends import_obsidian.PluginSettingTab {
|
|
46
49
|
super(plugin.app, plugin);
|
47
50
|
this.plugin = plugin;
|
48
51
|
this.containerEl.addClass(import_CssClass.CssClass.LibraryName, (0, import_PluginId.getPluginId)(), import_CssClass.CssClass.PluginSettingsTab);
|
49
|
-
this.saveSettingsDebounced = (0, import_obsidian.debounce)(
|
52
|
+
this.saveSettingsDebounced = (0, import_obsidian.debounce)(
|
53
|
+
(0, import_Async.convertAsyncToSync)(() => this.plugin.settingsManager.saveToFile(PLUGIN_SETTINGS_TAB_SYMBOL)),
|
54
|
+
this.saveSettingsDebounceTimeoutInMilliseconds
|
55
|
+
);
|
56
|
+
this.asyncEventsComponent = new import_AsyncEventsComponent.AsyncEventsComponent();
|
57
|
+
this.asyncEvents = new import_AsyncEvents.AsyncEvents();
|
50
58
|
}
|
51
59
|
/**
|
52
60
|
* Whether the plugin settings tab is open.
|
@@ -66,6 +74,8 @@ class PluginSettingsTabBase extends import_obsidian.PluginSettingTab {
|
|
66
74
|
return DEFAULT;
|
67
75
|
}
|
68
76
|
_isOpen = false;
|
77
|
+
asyncEvents;
|
78
|
+
asyncEventsComponent;
|
69
79
|
saveSettingsDebounced;
|
70
80
|
get pluginSettings() {
|
71
81
|
return this.plugin.settingsManager.settingsWrapper.settings;
|
@@ -83,22 +93,28 @@ class PluginSettingsTabBase extends import_obsidian.PluginSettingTab {
|
|
83
93
|
*/
|
84
94
|
bind(valueComponent, propertyName, options) {
|
85
95
|
const DEFAULT_OPTIONS = {
|
86
|
-
componentToPluginSettingsValueConverter: (
|
96
|
+
componentToPluginSettingsValueConverter: (value) => value,
|
87
97
|
onChanged: import_Function.noop,
|
88
|
-
pluginSettingsToComponentValueConverter: (
|
98
|
+
pluginSettingsToComponentValueConverter: (value) => value,
|
89
99
|
shouldResetSettingWhenComponentIsEmpty: true,
|
90
100
|
shouldShowValidationMessage: true
|
91
101
|
};
|
92
102
|
const optionsExt = { ...DEFAULT_OPTIONS, ...options };
|
93
103
|
const validatorElement = (0, import_ValidatorComponent.getValidatorComponent)(valueComponent)?.validatorEl;
|
94
104
|
const textBasedComponent = (0, import_TextBasedComponent.getTextBasedComponentValue)(valueComponent);
|
95
|
-
const
|
105
|
+
const readonlyValue = this.pluginSettings[propertyName];
|
96
106
|
const defaultValue = this.plugin.settingsManager.defaultSettings[propertyName];
|
97
|
-
textBasedComponent?.setPlaceholderValue(optionsExt.pluginSettingsToComponentValueConverter(
|
98
|
-
|
107
|
+
textBasedComponent?.setPlaceholderValue(optionsExt.pluginSettingsToComponentValueConverter(defaultValue));
|
108
|
+
this.asyncEventsComponent.registerAsyncEvent(this.on("validationMessageChanged", (anotherPropertyName, validationMessage) => {
|
109
|
+
if (propertyName !== anotherPropertyName) {
|
110
|
+
return;
|
111
|
+
}
|
112
|
+
updateValidatorElement(validationMessage);
|
113
|
+
}));
|
114
|
+
if (readonlyValue === defaultValue && textBasedComponent && optionsExt.shouldResetSettingWhenComponentIsEmpty) {
|
99
115
|
textBasedComponent.empty();
|
100
116
|
} else {
|
101
|
-
valueComponent.setValue(optionsExt.pluginSettingsToComponentValueConverter(
|
117
|
+
valueComponent.setValue(optionsExt.pluginSettingsToComponentValueConverter(readonlyValue));
|
102
118
|
}
|
103
119
|
valueComponent.onChange(async (uiValue) => {
|
104
120
|
const oldValue = this.pluginSettings[propertyName];
|
@@ -128,7 +144,7 @@ class PluginSettingsTabBase extends import_obsidian.PluginSettingTab {
|
|
128
144
|
validatorElement?.addEventListener("blur", () => {
|
129
145
|
updateValidatorElement();
|
130
146
|
});
|
131
|
-
updateValidatorElement();
|
147
|
+
updateValidatorElement(this.plugin.settingsManager.settingsWrapper.validationMessages[propertyName]);
|
132
148
|
return valueComponent;
|
133
149
|
function updateValidatorElement(validationMessage) {
|
134
150
|
if (!validatorElement) {
|
@@ -153,15 +169,21 @@ class PluginSettingsTabBase extends import_obsidian.PluginSettingTab {
|
|
153
169
|
*/
|
154
170
|
display() {
|
155
171
|
this._isOpen = true;
|
172
|
+
this.asyncEventsComponent.load();
|
173
|
+
this.asyncEventsComponent.registerAsyncEvent(this.plugin.settingsManager.on("loadSettings", this.onLoadSettings.bind(this)));
|
174
|
+
this.asyncEventsComponent.registerAsyncEvent(this.plugin.settingsManager.on("saveSettings", this.onSaveSettings.bind(this)));
|
156
175
|
}
|
157
176
|
/**
|
158
177
|
* Hides the plugin settings tab.
|
159
178
|
*/
|
160
179
|
hide() {
|
161
180
|
super.hide();
|
162
|
-
this._isOpen = false;
|
163
181
|
this.saveSettingsDebounced.cancel();
|
164
|
-
|
182
|
+
this.containerEl.empty();
|
183
|
+
this._isOpen = false;
|
184
|
+
this.asyncEventsComponent.unload();
|
185
|
+
this.asyncEventsComponent.load();
|
186
|
+
(0, import_Async.invokeAsyncSafely)(() => this.plugin.settingsManager.saveToFile(PLUGIN_SETTINGS_TAB_SYMBOL));
|
165
187
|
}
|
166
188
|
/**
|
167
189
|
* Shows the plugin settings tab.
|
@@ -169,9 +191,36 @@ class PluginSettingsTabBase extends import_obsidian.PluginSettingTab {
|
|
169
191
|
show() {
|
170
192
|
this.app.setting.openTab(this);
|
171
193
|
}
|
194
|
+
/**
|
195
|
+
* Called when the plugin settings are loaded.
|
196
|
+
*
|
197
|
+
* @param _loadedSettings - The loaded settings.
|
198
|
+
* @param _isInitialLoad - Whether the settings are being loaded for the first time.
|
199
|
+
* @returns A {@link Promise} that resolves when the settings are loaded.
|
200
|
+
*/
|
201
|
+
async onLoadSettings(_loadedSettings, _isInitialLoad) {
|
202
|
+
this.refresh();
|
203
|
+
await (0, import_Function.noopAsync)();
|
204
|
+
}
|
205
|
+
on(name, callback, thisArg) {
|
206
|
+
return this.asyncEvents.on(name, callback, thisArg);
|
207
|
+
}
|
208
|
+
async onSaveSettings(newSettings, _oldSettings, context) {
|
209
|
+
if (context === PLUGIN_SETTINGS_TAB_SYMBOL) {
|
210
|
+
for (const [propertyName, validationMessage] of Object.entries(newSettings.validationMessages)) {
|
211
|
+
await this.asyncEvents.triggerAsync("validationMessageChanged", propertyName, validationMessage);
|
212
|
+
}
|
213
|
+
return;
|
214
|
+
}
|
215
|
+
this.refresh();
|
216
|
+
}
|
217
|
+
refresh() {
|
218
|
+
this.containerEl.empty();
|
219
|
+
this.display();
|
220
|
+
}
|
172
221
|
}
|
173
222
|
// Annotate the CommonJS export names for ESM import in node:
|
174
223
|
0 && (module.exports = {
|
175
224
|
PluginSettingsTabBase
|
176
225
|
});
|
177
|
-
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vLi4vc3JjL29ic2lkaWFuL1BsdWdpbi9QbHVnaW5TZXR0aW5nc1RhYkJhc2UudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbIi8qKlxuICogQHBhY2thZ2VEb2N1bWVudGF0aW9uXG4gKlxuICogVGhpcyBtb2R1bGUgZGVmaW5lcyBhIGJhc2UgY2xhc3MgZm9yIGNyZWF0aW5nIHBsdWdpbiBzZXR0aW5nIHRhYnMgaW4gT2JzaWRpYW4uXG4gKiBJdCBwcm92aWRlcyBhIHV0aWxpdHkgbWV0aG9kIHRvIGJpbmQgdmFsdWUgY29tcG9uZW50cyB0byBwbHVnaW4gc2V0dGluZ3MgYW5kIGhhbmRsZSBjaGFuZ2VzLlxuICovXG5cbmltcG9ydCB0eXBlIHsgRGVib3VuY2VyIH0gZnJvbSAnb2JzaWRpYW4nO1xuaW1wb3J0IHR5cGUge1xuICBDb25kaXRpb25hbEtleXMsXG4gIFByb21pc2FibGVcbn0gZnJvbSAndHlwZS1mZXN0JztcblxuaW1wb3J0IHtcbiAgZGVib3VuY2UsXG4gIFBsdWdpblNldHRpbmdUYWIsXG4gIHNldFRvb2x0aXBcbn0gZnJvbSAnb2JzaWRpYW4nO1xuXG5pbXBvcnQgdHlwZSB7IFN0cmluZ0tleXMgfSBmcm9tICcuLi8uLi9UeXBlLnRzJztcbmltcG9ydCB0eXBlIHsgVmFsdWVDb21wb25lbnRXaXRoQ2hhbmdlVHJhY2tpbmcgfSBmcm9tICcuLi9Db21wb25lbnRzL1ZhbHVlQ29tcG9uZW50V2l0aENoYW5nZVRyYWNraW5nLnRzJztcbmltcG9ydCB0eXBlIHsgVmFsaWRhdGlvbk1lc3NhZ2VIb2xkZXIgfSBmcm9tICcuLi9WYWxpZGF0aW9uTWVzc2FnZS50cyc7XG5pbXBvcnQgdHlwZSB7XG4gIEV4dHJhY3RQbHVnaW4sXG4gIEV4dHJhY3RQbHVnaW5TZXR0aW5ncyxcbiAgUGx1Z2luVHlwZXNCYXNlXG59IGZyb20gJy4vUGx1Z2luVHlwZXNCYXNlLnRzJztcblxuaW1wb3J0IHtcbiAgY29udmVydEFzeW5jVG9TeW5jLFxuICBpbnZva2VBc3luY1NhZmVseVxufSBmcm9tICcuLi8uLi9Bc3luYy50cyc7XG5pbXBvcnQgeyBDc3NDbGFzcyB9IGZyb20gJy4uLy4uL0Nzc0NsYXNzLnRzJztcbmltcG9ydCB7IG5vb3AgfSBmcm9tICcuLi8uLi9GdW5jdGlvbi50cyc7XG5pbXBvcnQgeyBnZXRUZXh0QmFzZWRDb21wb25lbnRWYWx1ZSB9IGZyb20gJy4uL0NvbXBvbmVudHMvVGV4dEJhc2VkQ29tcG9uZW50LnRzJztcbmltcG9ydCB7IGdldFZhbGlkYXRvckNvbXBvbmVudCB9IGZyb20gJy4uL0NvbXBvbmVudHMvVmFsaWRhdG9yQ29tcG9uZW50LnRzJztcbmltcG9ydCB7IGlzVmFsaWRhdGlvbk1lc3NhZ2VIb2xkZXIgfSBmcm9tICcuLi9WYWxpZGF0aW9uTWVzc2FnZS50cyc7XG5pbXBvcnQgeyBnZXRQbHVnaW5JZCB9IGZyb20gJy4vUGx1Z2luSWQudHMnO1xuXG4vKipcbiAqIE9wdGlvbnMgZm9yIGJpbmRpbmcgYSB2YWx1ZSBjb21wb25lbnQgdG8gYSBwbHVnaW4gc2V0dGluZy5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBCaW5kT3B0aW9uczxUPiB7XG4gIC8qKlxuICAgKiBBIGNhbGxiYWNrIGZ1bmN0aW9uIHRoYXQgaXMgY2FsbGVkIHdoZW4gdGhlIHZhbHVlIG9mIHRoZSBjb21wb25lbnQgY2hhbmdlcy5cbiAgICovXG4gIG9uQ2hhbmdlZD8obmV3VmFsdWU6IFQgfCB1bmRlZmluZWQsIG9sZFZhbHVlOiBUKTogUHJvbWlzYWJsZTx2b2lkPjtcblxuICAvKipcbiAgICogV2hldGhlciB0byByZXNldCB0aGUgc2V0dGluZyB3aGVuIHRoZSBjb21wb25lbnQgdmFsdWUgaXMgZW1wdHkuIERlZmF1bHQgaXMgYHRydWVgLlxuICAgKiBBcHBsaWNhYmxlIG9ubHkgdG8gdGV4dC1iYXNlZCBjb21wb25lbnRzLlxuICAgKi9cbiAgc2hvdWxkUmVzZXRTZXR0aW5nV2hlbkNvbXBvbmVudElzRW1wdHk/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRvIHNob3cgdGhlIHZhbGlkYXRpb24gbWVzc2FnZSB3aGVuIHRoZSBjb21wb25lbnQgdmFsdWUgaXMgaW52YWxpZC4gRGVmYXVsdCBpcyBgdHJ1ZWAuXG4gICAqL1xuICBzaG91bGRTaG93VmFsaWRhdGlvbk1lc3NhZ2U/OiBib29sZWFuO1xufVxuXG4vKipcbiAqIEV4dGVuZGVkIG9wdGlvbnMgZm9yIGJpbmRpbmcgYSB2YWx1ZSBjb21wb25lbnQgdG8gYSBwbHVnaW4gc2V0dGluZy5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBCaW5kT3B0aW9uc0V4dGVuZGVkPFxuICBQbHVnaW5TZXR0aW5ncyBleHRlbmRzIG9iamVjdCxcbiAgVUlWYWx1ZSxcbiAgUHJvcGVydHlOYW1lIGV4dGVuZHMgU3RyaW5nS2V5czxQbHVnaW5TZXR0aW5ncz5cbj4gZXh0ZW5kcyBCaW5kT3B0aW9uczxQbHVnaW5TZXR0aW5nc1tQcm9wZXJ0eU5hbWVdPiB7XG4gIC8qKlxuICAgKiBDb252ZXJ0cyB0aGUgVUkgY29tcG9uZW50J3MgdmFsdWUgYmFjayB0byB0aGUgcGx1Z2luIHNldHRpbmdzIHZhbHVlLlxuICAgKlxuICAgKiBAcGFyYW0gdWlWYWx1ZSAtIFRoZSB2YWx1ZSBvZiB0aGUgVUkgY29tcG9uZW50LlxuICAgKiBAcmV0dXJucyBUaGUgdmFsdWUgdG8gc2V0IG9uIHRoZSBwbHVnaW4gc2V0dGluZ3MuXG4gICAqL1xuICBjb21wb25lbnRUb1BsdWdpblNldHRpbmdzVmFsdWVDb252ZXJ0ZXI6ICh1aVZhbHVlOiBVSVZhbHVlKSA9PiBQbHVnaW5TZXR0aW5nc1tQcm9wZXJ0eU5hbWVdIHwgVmFsaWRhdGlvbk1lc3NhZ2VIb2xkZXI7XG5cbiAgLyoqXG4gICAqIENvbnZlcnRzIHRoZSBwbHVnaW4gc2V0dGluZ3MgdmFsdWUgdG8gdGhlIHZhbHVlIHVzZWQgYnkgdGhlIFVJIGNvbXBvbmVudC5cbiAgICpcbiAgICogQHBhcmFtIHBsdWdpblNldHRpbmdzVmFsdWUgLSBUaGUgdmFsdWUgb2YgdGhlIHByb3BlcnR5IGluIHRoZSBwbHVnaW4gc2V0dGluZ3MuXG4gICAqIEByZXR1cm5zIFRoZSB2YWx1ZSB0byBzZXQgb24gdGhlIFVJIGNvbXBvbmVudC5cbiAgICovXG4gIHBsdWdpblNldHRpbmdzVG9Db21wb25lbnRWYWx1ZUNvbnZlcnRlcjogKHBsdWdpblNldHRpbmdzVmFsdWU6IFBsdWdpblNldHRpbmdzW1Byb3BlcnR5TmFtZV0pID0+IFVJVmFsdWU7XG59XG5cbi8qKlxuICogQmFzZSBjbGFzcyBmb3IgY3JlYXRpbmcgcGx1Z2luIHNldHRpbmdzIHRhYnMgaW4gT2JzaWRpYW4uXG4gKiBQcm92aWRlcyBhIG1ldGhvZCBmb3IgYmluZGluZyB2YWx1ZSBjb21wb25lbnRzIHRvIHBsdWdpbiBzZXR0aW5ncyBhbmQgaGFuZGxpbmcgY2hhbmdlcy5cbiAqXG4gKiBAdHlwZVBhcmFtIFBsdWdpblR5cGVzIC0gUGx1Z2luLXNwZWNpZmljIHR5cGVzLlxuICovXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgUGx1Z2luU2V0dGluZ3NUYWJCYXNlPFBsdWdpblR5cGVzIGV4dGVuZHMgUGx1Z2luVHlwZXNCYXNlPiBleHRlbmRzIFBsdWdpblNldHRpbmdUYWIge1xuICAvKipcbiAgICogV2hldGhlciB0aGUgcGx1Z2luIHNldHRpbmdzIHRhYiBpcyBvcGVuLlxuICAgKlxuICAgKiBAcmV0dXJucyBXaGV0aGVyIHRoZSBwbHVnaW4gc2V0dGluZ3MgdGFiIGlzIG9wZW4uXG4gICAqL1xuICBwdWJsaWMgZ2V0IGlzT3BlbigpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5faXNPcGVuO1xuICB9XG5cbiAgLyoqXG4gICAqIFRoZSBkZWJvdW5jZSB0aW1lb3V0IGZvciBzYXZpbmcgc2V0dGluZ3MuXG4gICAqXG4gICAqIEByZXR1cm5zIFRoZSBkZWJvdW5jZSB0aW1lb3V0IGZvciBzYXZpbmcgc2V0dGluZ3MuXG4gICAqL1xuICBwcm90ZWN0ZWQgZ2V0IHNhdmVTZXR0aW5nc0RlYm91bmNlVGltZW91dEluTWlsbGlzZWNvbmRzKCk6IG51bWJlciB7XG4gICAgY29uc3QgREVGQVVMVCA9IDJfMDAwO1xuICAgIHJldHVybiBERUZBVUxUO1xuICB9XG5cbiAgcHJpdmF0ZSBfaXNPcGVuID0gZmFsc2U7XG5cbiAgcHJpdmF0ZSBzYXZlU2V0dGluZ3NEZWJvdW5jZWQ6IERlYm91bmNlcjxbXSwgdm9pZD47XG5cbiAgcHJpdmF0ZSBnZXQgcGx1Z2luU2V0dGluZ3MoKTogRXh0cmFjdFBsdWdpblNldHRpbmdzPFBsdWdpblR5cGVzPiB7XG4gICAgcmV0dXJuIHRoaXMucGx1Z2luLnNldHRpbmdzTWFuYWdlci5zZXR0aW5nc1dyYXBwZXIuc2V0dGluZ3MgYXMgRXh0cmFjdFBsdWdpblNldHRpbmdzPFBsdWdpblR5cGVzPjtcbiAgfVxuXG4gIC8qKlxuICAgKiBDcmVhdGVzIGEgbmV3IHBsdWdpbiBzZXR0aW5ncyB0YWIuXG4gICAqXG4gICAqIEBwYXJhbSBwbHVnaW4gLSBUaGUgcGx1Z2luLlxuICAgKi9cbiAgcHVibGljIGNvbnN0cnVjdG9yKHB1YmxpYyBvdmVycmlkZSBwbHVnaW46IEV4dHJhY3RQbHVnaW48UGx1Z2luVHlwZXM+KSB7XG4gICAgc3VwZXIocGx1Z2luLmFwcCwgcGx1Z2luKTtcbiAgICB0aGlzLmNvbnRhaW5lckVsLmFkZENsYXNzKENzc0NsYXNzLkxpYnJhcnlOYW1lLCBnZXRQbHVnaW5JZCgpLCBDc3NDbGFzcy5QbHVnaW5TZXR0aW5nc1RhYik7XG4gICAgdGhpcy5zYXZlU2V0dGluZ3NEZWJvdW5jZWQgPSBkZWJvdW5jZShjb252ZXJ0QXN5bmNUb1N5bmMoKCkgPT4gdGhpcy5wbHVnaW4uc2V0dGluZ3NNYW5hZ2VyLnNhdmVUb0ZpbGUoKSksIHRoaXMuc2F2ZVNldHRpbmdzRGVib3VuY2VUaW1lb3V0SW5NaWxsaXNlY29uZHMpO1xuICB9XG5cbiAgLyoqXG4gICAqIEJpbmRzIGEgdmFsdWUgY29tcG9uZW50IHRvIGEgcGx1Z2luIHNldHRpbmcuXG4gICAqXG4gICAqIEB0eXBlUGFyYW0gVUlWYWx1ZSAtIFRoZSB0eXBlIG9mIHRoZSB2YWx1ZSBvZiB0aGUgVUkgY29tcG9uZW50LlxuICAgKiBAdHlwZVBhcmFtIFRWYWx1ZUNvbXBvbmVudCAtIFRoZSB0eXBlIG9mIHRoZSB2YWx1ZSBjb21wb25lbnQuXG4gICAqIEBwYXJhbSB2YWx1ZUNvbXBvbmVudCAtIFRoZSB2YWx1ZSBjb21wb25lbnQgdG8gYmluZC5cbiAgICogQHBhcmFtIHByb3BlcnR5TmFtZSAtIFRoZSBwcm9wZXJ0eSBvZiB0aGUgcGx1Z2luIHNldHRpbmdzIHRvIGJpbmQgdG8uXG4gICAqIEBwYXJhbSBvcHRpb25zIC0gVGhlIG9wdGlvbnMgZm9yIGJpbmRpbmcgdGhlIHZhbHVlIGNvbXBvbmVudC5cbiAgICogQHJldHVybnMgVGhlIHZhbHVlIGNvbXBvbmVudC5cbiAgICovXG4gIHB1YmxpYyBiaW5kPFxuICAgIFVJVmFsdWUsXG4gICAgVFZhbHVlQ29tcG9uZW50XG4gID4oXG4gICAgdmFsdWVDb21wb25lbnQ6IFRWYWx1ZUNvbXBvbmVudCAmIFZhbHVlQ29tcG9uZW50V2l0aENoYW5nZVRyYWNraW5nPFVJVmFsdWU+LFxuICAgIHByb3BlcnR5TmFtZTogQ29uZGl0aW9uYWxLZXlzPEV4dHJhY3RQbHVnaW5TZXR0aW5nczxQbHVnaW5UeXBlcz4sIFVJVmFsdWU+LFxuICAgIG9wdGlvbnM/OiBCaW5kT3B0aW9uczxVSVZhbHVlPlxuICApOiBUVmFsdWVDb21wb25lbnQ7XG4gIC8qKlxuICAgKiBCaW5kcyBhIHZhbHVlIGNvbXBvbmVudCB0byBhIHBsdWdpbiBzZXR0aW5nLlxuICAgKlxuICAgKiBAdHlwZVBhcmFtIFVJVmFsdWUgLSBUaGUgdHlwZSBvZiB0aGUgdmFsdWUgb2YgdGhlIFVJIGNvbXBvbmVudC5cbiAgICogQHR5cGVQYXJhbSBUVmFsdWVDb21wb25lbnQgLSBUaGUgdHlwZSBvZiB0aGUgdmFsdWUgY29tcG9uZW50LlxuICAgKiBAdHlwZVBhcmFtIFByb3BlcnR5TmFtZSAtIFRoZSBwcm9wZXJ0eSBuYW1lIG9mIHRoZSBwbHVnaW4gc2V0dGluZ3MgdG8gYmluZCB0by5cbiAgICogQHBhcmFtIHZhbHVlQ29tcG9uZW50IC0gVGhlIHZhbHVlIGNvbXBvbmVudCB0byBiaW5kLlxuICAgKiBAcGFyYW0gcHJvcGVydHlOYW1lIC0gVGhlIHByb3BlcnR5IG5hbWUgb2YgdGhlIHBsdWdpbiBzZXR0aW5ncyB0byBiaW5kIHRvLlxuICAgKiBAcGFyYW0gb3B0aW9ucyAtIFRoZSBvcHRpb25zIGZvciBiaW5kaW5nIHRoZSB2YWx1ZSBjb21wb25lbnQuXG4gICAqIEByZXR1cm5zIFRoZSB2YWx1ZSBjb21wb25lbnQuXG4gICAqL1xuICBwdWJsaWMgYmluZDxcbiAgICBVSVZhbHVlLFxuICAgIFRWYWx1ZUNvbXBvbmVudCxcbiAgICBQcm9wZXJ0eU5hbWUgZXh0ZW5kcyBTdHJpbmdLZXlzPEV4dHJhY3RQbHVnaW5TZXR0aW5nczxQbHVnaW5UeXBlcz4+XG4gID4oXG4gICAgdmFsdWVDb21wb25lbnQ6IFRWYWx1ZUNvbXBvbmVudCAmIFZhbHVlQ29tcG9uZW50V2l0aENoYW5nZVRyYWNraW5nPFVJVmFsdWU+LFxuICAgIHByb3BlcnR5TmFtZTogUHJvcGVydHlOYW1lLFxuICAgIG9wdGlvbnM6IEJpbmRPcHRpb25zRXh0ZW5kZWQ8RXh0cmFjdFBsdWdpblNldHRpbmdzPFBsdWdpblR5cGVzPiwgVUlWYWx1ZSwgUHJvcGVydHlOYW1lPlxuICApOiBUVmFsdWVDb21wb25lbnQ7XG4gIC8qKlxuICAgKiBCaW5kcyBhIHZhbHVlIGNvbXBvbmVudCB0byBhIHBsdWdpbiBzZXR0aW5nLlxuICAgKlxuICAgKiBAdHlwZVBhcmFtIFVJVmFsdWUgLSBUaGUgdHlwZSBvZiB0aGUgdmFsdWUgb2YgdGhlIFVJIGNvbXBvbmVudC5cbiAgICogQHR5cGVQYXJhbSBUVmFsdWVDb21wb25lbnQgLSBUaGUgdHlwZSBvZiB0aGUgdmFsdWUgY29tcG9uZW50LlxuICAgKiBAdHlwZVBhcmFtIFByb3BlcnR5TmFtZSAtIFRoZSBwcm9wZXJ0eSBuYW1lIG9mIHRoZSBwbHVnaW4gc2V0dGluZ3MgdG8gYmluZCB0by5cbiAgICogQHBhcmFtIHZhbHVlQ29tcG9uZW50IC0gVGhlIHZhbHVlIGNvbXBvbmVudCB0byBiaW5kLlxuICAgKiBAcGFyYW0gcHJvcGVydHlOYW1lIC0gVGhlIHByb3BlcnR5IG5hbWUgb2YgdGhlIHBsdWdpbiBzZXR0aW5ncyB0byBiaW5kIHRvLlxuICAgKiBAcGFyYW0gb3B0aW9ucyAtIFRoZSBvcHRpb25zIGZvciBiaW5kaW5nIHRoZSB2YWx1ZSBjb21wb25lbnQuXG4gICAqIEByZXR1cm5zIFRoZSB2YWx1ZSBjb21wb25lbnQuXG4gICAqL1xuICBwdWJsaWMgYmluZDxcbiAgICBVSVZhbHVlLFxuICAgIFRWYWx1ZUNvbXBvbmVudCxcbiAgICBQcm9wZXJ0eU5hbWUgZXh0ZW5kcyBTdHJpbmdLZXlzPEV4dHJhY3RQbHVnaW5TZXR0aW5nczxQbHVnaW5UeXBlcz4+XG4gID4oXG4gICAgdmFsdWVDb21wb25lbnQ6IFRWYWx1ZUNvbXBvbmVudCAmIFZhbHVlQ29tcG9uZW50V2l0aENoYW5nZVRyYWNraW5nPFVJVmFsdWU+LFxuICAgIHByb3BlcnR5TmFtZTogUHJvcGVydHlOYW1lLFxuICAgIG9wdGlvbnM/OiBCaW5kT3B0aW9uczxFeHRyYWN0UGx1Z2luU2V0dGluZ3M8UGx1Z2luVHlwZXM+W1Byb3BlcnR5TmFtZV0+XG4gICk6IFRWYWx1ZUNvbXBvbmVudCB7XG4gICAgdHlwZSBQbHVnaW5TZXR0aW5ncyA9IEV4dHJhY3RQbHVnaW5TZXR0aW5nczxQbHVnaW5UeXBlcz47XG4gICAgdHlwZSBQcm9wZXJ0eVR5cGUgPSBQbHVnaW5TZXR0aW5nc1tQcm9wZXJ0eU5hbWVdO1xuICAgIGNvbnN0IERFRkFVTFRfT1BUSU9OUzogUmVxdWlyZWQ8QmluZE9wdGlvbnNFeHRlbmRlZDxQbHVnaW5TZXR0aW5ncywgVUlWYWx1ZSwgUHJvcGVydHlOYW1lPj4gPSB7XG4gICAgICBjb21wb25lbnRUb1BsdWdpblNldHRpbmdzVmFsdWVDb252ZXJ0ZXI6ICh2YWx1ZTogVUlWYWx1ZSk6IFByb3BlcnR5VHlwZSA9PiB2YWx1ZSBhcyBQcm9wZXJ0eVR5cGUsXG4gICAgICBvbkNoYW5nZWQ6IG5vb3AsXG4gICAgICBwbHVnaW5TZXR0aW5nc1RvQ29tcG9uZW50VmFsdWVDb252ZXJ0ZXI6ICh2YWx1ZTogUHJvcGVydHlUeXBlKTogVUlWYWx1ZSA9PiB2YWx1ZSBhcyBVSVZhbHVlLFxuICAgICAgc2hvdWxkUmVzZXRTZXR0aW5nV2hlbkNvbXBvbmVudElzRW1wdHk6IHRydWUsXG4gICAgICBzaG91bGRTaG93VmFsaWRhdGlvbk1lc3NhZ2U6IHRydWVcbiAgICB9O1xuXG4gICAgY29uc3Qgb3B0aW9uc0V4dDogUmVxdWlyZWQ8QmluZE9wdGlvbnNFeHRlbmRlZDxQbHVnaW5TZXR0aW5ncywgVUlWYWx1ZSwgUHJvcGVydHlOYW1lPj4gPSB7IC4uLkRFRkFVTFRfT1BUSU9OUywgLi4ub3B0aW9ucyB9O1xuXG4gICAgY29uc3QgdmFsaWRhdG9yRWxlbWVudCA9IGdldFZhbGlkYXRvckNvbXBvbmVudCh2YWx1ZUNvbXBvbmVudCk/LnZhbGlkYXRvckVsO1xuXG4gICAgY29uc3QgdGV4dEJhc2VkQ29tcG9uZW50ID0gZ2V0VGV4dEJhc2VkQ29tcG9uZW50VmFsdWUodmFsdWVDb21wb25lbnQpO1xuXG4gICAgY29uc3QgdmFsdWUgPSB0aGlzLnBsdWdpblNldHRpbmdzW3Byb3BlcnR5TmFtZV0gYXMgUHJvcGVydHlUeXBlO1xuICAgIGNvbnN0IGRlZmF1bHRWYWx1ZSA9ICh0aGlzLnBsdWdpbi5zZXR0aW5nc01hbmFnZXIuZGVmYXVsdFNldHRpbmdzIGFzIFBsdWdpblNldHRpbmdzKVtwcm9wZXJ0eU5hbWVdIGFzIFByb3BlcnR5VHlwZTtcbiAgICB0ZXh0QmFzZWRDb21wb25lbnQ/LnNldFBsYWNlaG9sZGVyVmFsdWUob3B0aW9uc0V4dC5wbHVnaW5TZXR0aW5nc1RvQ29tcG9uZW50VmFsdWVDb252ZXJ0ZXIodmFsdWUpKTtcblxuICAgIGlmICh2YWx1ZSA9PT0gZGVmYXVsdFZhbHVlICYmIHRleHRCYXNlZENvbXBvbmVudCAmJiBvcHRpb25zRXh0LnNob3VsZFJlc2V0U2V0dGluZ1doZW5Db21wb25lbnRJc0VtcHR5KSB7XG4gICAgICB0ZXh0QmFzZWRDb21wb25lbnQuZW1wdHkoKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdmFsdWVDb21wb25lbnQuc2V0VmFsdWUob3B0aW9uc0V4dC5wbHVnaW5TZXR0aW5nc1RvQ29tcG9uZW50VmFsdWVDb252ZXJ0ZXIodmFsdWUpKTtcbiAgICB9XG5cbiAgICB2YWx1ZUNvbXBvbmVudC5vbkNoYW5nZShhc3luYyAodWlWYWx1ZSkgPT4ge1xuICAgICAgY29uc3Qgb2xkVmFsdWUgPSB0aGlzLnBsdWdpblNldHRpbmdzW3Byb3BlcnR5TmFtZV07XG4gICAgICBsZXQgbmV3VmFsdWU6IFByb3BlcnR5VHlwZSB8IHVuZGVmaW5lZCA9IHVuZGVmaW5lZDtcbiAgICAgIGxldCB2YWxpZGF0aW9uTWVzc2FnZTogc3RyaW5nO1xuICAgICAgaWYgKHRleHRCYXNlZENvbXBvbmVudD8uaXNFbXB0eSgpICYmIG9wdGlvbnNFeHQuc2hvdWxkUmVzZXRTZXR0aW5nV2hlbkNvbXBvbmVudElzRW1wdHkpIHtcbiAgICAgICAgbmV3VmFsdWUgPSBkZWZhdWx0VmFsdWU7XG4gICAgICAgIHZhbGlkYXRpb25NZXNzYWdlID0gJyc7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBjb25zdCBjb252ZXJ0ZWRWYWx1ZSA9IG9wdGlvbnNFeHQuY29tcG9uZW50VG9QbHVnaW5TZXR0aW5nc1ZhbHVlQ29udmVydGVyKHVpVmFsdWUpO1xuICAgICAgICBpZiAoaXNWYWxpZGF0aW9uTWVzc2FnZUhvbGRlcihjb252ZXJ0ZWRWYWx1ZSkpIHtcbiAgICAgICAgICB2YWxpZGF0aW9uTWVzc2FnZSA9IGNvbnZlcnRlZFZhbHVlLnZhbGlkYXRpb25NZXNzYWdlO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIG5ld1ZhbHVlID0gY29udmVydGVkVmFsdWU7XG4gICAgICAgICAgdmFsaWRhdGlvbk1lc3NhZ2UgPSBhd2FpdCB0aGlzLnBsdWdpbi5zZXR0aW5nc01hbmFnZXIuc2V0UHJvcGVydHkocHJvcGVydHlOYW1lLCBuZXdWYWx1ZSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIHVwZGF0ZVZhbGlkYXRvckVsZW1lbnQodmFsaWRhdGlvbk1lc3NhZ2UpO1xuICAgICAgaWYgKG5ld1ZhbHVlICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgYXdhaXQgb3B0aW9uc0V4dC5vbkNoYW5nZWQobmV3VmFsdWUsIG9sZFZhbHVlKTtcbiAgICAgIH1cbiAgICAgIHRoaXMuc2F2ZVNldHRpbmdzRGVib3VuY2VkKCk7XG4gICAgfSk7XG5cbiAgICB2YWxpZGF0b3JFbGVtZW50Py5hZGRFdmVudExpc3RlbmVyKCdmb2N1cycsICgpID0+IHtcbiAgICAgIHVwZGF0ZVZhbGlkYXRvckVsZW1lbnQoKTtcbiAgICB9KTtcbiAgICB2YWxpZGF0b3JFbGVtZW50Py5hZGRFdmVudExpc3RlbmVyKCdibHVyJywgKCkgPT4ge1xuICAgICAgdXBkYXRlVmFsaWRhdG9yRWxlbWVudCgpO1xuICAgIH0pO1xuXG4gICAgdXBkYXRlVmFsaWRhdG9yRWxlbWVudCgpO1xuICAgIHJldHVybiB2YWx1ZUNvbXBvbmVudDtcblxuICAgIGZ1bmN0aW9uIHVwZGF0ZVZhbGlkYXRvckVsZW1lbnQodmFsaWRhdGlvbk1lc3NhZ2U/OiBzdHJpbmcpOiB2b2lkIHtcbiAgICAgIGlmICghdmFsaWRhdG9yRWxlbWVudCkge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIGlmICh2YWxpZGF0aW9uTWVzc2FnZSA9PT0gJycpIHtcbiAgICAgICAgdmFsaWRhdG9yRWxlbWVudC5zZXRDdXN0b21WYWxpZGl0eSgnJyk7XG4gICAgICAgIHZhbGlkYXRvckVsZW1lbnQuY2hlY2tWYWxpZGl0eSgpO1xuICAgICAgICB2YWxpZGF0aW9uTWVzc2FnZSA9IHZhbGlkYXRvckVsZW1lbnQudmFsaWRhdGlvbk1lc3NhZ2U7XG4gICAgICB9XG5cbiAgICAgIGlmICh2YWxpZGF0aW9uTWVzc2FnZSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIHZhbGlkYXRvckVsZW1lbnQuc2V0Q3VzdG9tVmFsaWRpdHkodmFsaWRhdGlvbk1lc3NhZ2UpO1xuICAgICAgICBzZXRUb29sdGlwKHZhbGlkYXRvckVsZW1lbnQsIHZhbGlkYXRpb25NZXNzYWdlKTtcbiAgICAgIH1cbiAgICAgIGlmICh2YWxpZGF0b3JFbGVtZW50LmlzQWN0aXZlRWxlbWVudCgpICYmIG9wdGlvbnNFeHQuc2hvdWxkU2hvd1ZhbGlkYXRpb25NZXNzYWdlKSB7XG4gICAgICAgIHZhbGlkYXRvckVsZW1lbnQucmVwb3J0VmFsaWRpdHkoKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogUmVuZGVycyB0aGUgcGx1Z2luIHNldHRpbmdzIHRhYi5cbiAgICovXG4gIHB1YmxpYyBvdmVycmlkZSBkaXNwbGF5KCk6IHZvaWQge1xuICAgIHRoaXMuX2lzT3BlbiA9IHRydWU7XG4gIH1cblxuICAvKipcbiAgICogSGlkZXMgdGhlIHBsdWdpbiBzZXR0aW5ncyB0YWIuXG4gICAqL1xuICBwdWJsaWMgb3ZlcnJpZGUgaGlkZSgpOiB2b2lkIHtcbiAgICBzdXBlci5oaWRlKCk7XG4gICAgdGhpcy5faXNPcGVuID0gZmFsc2U7XG4gICAgdGhpcy5zYXZlU2V0dGluZ3NEZWJvdW5jZWQuY2FuY2VsKCk7XG4gICAgaW52b2tlQXN5bmNTYWZlbHkoKCkgPT4gdGhpcy5wbHVnaW4uc2V0dGluZ3NNYW5hZ2VyLnNhdmVUb0ZpbGUoKSk7XG4gIH1cblxuICAvKipcbiAgICogU2hvd3MgdGhlIHBsdWdpbiBzZXR0aW5ncyB0YWIuXG4gICAqL1xuICBwdWJsaWMgc2hvdygpOiB2b2lkIHtcbiAgICB0aGlzLmFwcC5zZXR0aW5nLm9wZW5UYWIodGhpcyk7XG4gIH1cbn1cbiJdLAogICJtYXBwaW5ncyI6ICI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7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
|
226
|
+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vLi4vc3JjL29ic2lkaWFuL1BsdWdpbi9QbHVnaW5TZXR0aW5nc1RhYkJhc2UudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbIi8qKlxuICogQHBhY2thZ2VEb2N1bWVudGF0aW9uXG4gKlxuICogVGhpcyBtb2R1bGUgZGVmaW5lcyBhIGJhc2UgY2xhc3MgZm9yIGNyZWF0aW5nIHBsdWdpbiBzZXR0aW5nIHRhYnMgaW4gT2JzaWRpYW4uXG4gKiBJdCBwcm92aWRlcyBhIHV0aWxpdHkgbWV0aG9kIHRvIGJpbmQgdmFsdWUgY29tcG9uZW50cyB0byBwbHVnaW4gc2V0dGluZ3MgYW5kIGhhbmRsZSBjaGFuZ2VzLlxuICovXG5cbmltcG9ydCB0eXBlIHsgRGVib3VuY2VyIH0gZnJvbSAnb2JzaWRpYW4nO1xuaW1wb3J0IHR5cGUge1xuICBDb25kaXRpb25hbEtleXMsXG4gIFByb21pc2FibGUsXG4gIFJlYWRvbmx5RGVlcFxufSBmcm9tICd0eXBlLWZlc3QnO1xuXG5pbXBvcnQge1xuICBkZWJvdW5jZSxcbiAgUGx1Z2luU2V0dGluZ1RhYixcbiAgc2V0VG9vbHRpcFxufSBmcm9tICdvYnNpZGlhbic7XG5cbmltcG9ydCB0eXBlIHsgQXN5bmNFdmVudFJlZiB9IGZyb20gJy4uLy4uL0FzeW5jRXZlbnRzLnRzJztcbmltcG9ydCB0eXBlIHsgU3RyaW5nS2V5cyB9IGZyb20gJy4uLy4uL1R5cGUudHMnO1xuaW1wb3J0IHR5cGUgeyBWYWx1ZUNvbXBvbmVudFdpdGhDaGFuZ2VUcmFja2luZyB9IGZyb20gJy4uL0NvbXBvbmVudHMvU2V0dGluZ0NvbXBvbmVudHMvVmFsdWVDb21wb25lbnRXaXRoQ2hhbmdlVHJhY2tpbmcudHMnO1xuaW1wb3J0IHR5cGUgeyBWYWxpZGF0aW9uTWVzc2FnZUhvbGRlciB9IGZyb20gJy4uL1ZhbGlkYXRpb25NZXNzYWdlLnRzJztcbmltcG9ydCB0eXBlIHtcbiAgRXh0cmFjdFBsdWdpbixcbiAgRXh0cmFjdFBsdWdpblNldHRpbmdzLFxuICBFeHRyYWN0UmVhZG9ubHlQbHVnaW5TZXR0aW5nc1dyYXBwZXIsXG4gIFBsdWdpblR5cGVzQmFzZVxufSBmcm9tICcuL1BsdWdpblR5cGVzQmFzZS50cyc7XG5cbmltcG9ydCB7XG4gIGNvbnZlcnRBc3luY1RvU3luYyxcbiAgaW52b2tlQXN5bmNTYWZlbHlcbn0gZnJvbSAnLi4vLi4vQXN5bmMudHMnO1xuaW1wb3J0IHsgQXN5bmNFdmVudHMgfSBmcm9tICcuLi8uLi9Bc3luY0V2ZW50cy50cyc7XG5pbXBvcnQgeyBDc3NDbGFzcyB9IGZyb20gJy4uLy4uL0Nzc0NsYXNzLnRzJztcbmltcG9ydCB7XG4gIG5vb3AsXG4gIG5vb3BBc3luY1xufSBmcm9tICcuLi8uLi9GdW5jdGlvbi50cyc7XG5pbXBvcnQgeyBBc3luY0V2ZW50c0NvbXBvbmVudCB9IGZyb20gJy4uL0NvbXBvbmVudHMvQXN5bmNFdmVudHNDb21wb25lbnQudHMnO1xuaW1wb3J0IHsgZ2V0VGV4dEJhc2VkQ29tcG9uZW50VmFsdWUgfSBmcm9tICcuLi9Db21wb25lbnRzL1NldHRpbmdDb21wb25lbnRzL1RleHRCYXNlZENvbXBvbmVudC50cyc7XG5pbXBvcnQgeyBnZXRWYWxpZGF0b3JDb21wb25lbnQgfSBmcm9tICcuLi9Db21wb25lbnRzL1NldHRpbmdDb21wb25lbnRzL1ZhbGlkYXRvckNvbXBvbmVudC50cyc7XG5pbXBvcnQgeyBpc1ZhbGlkYXRpb25NZXNzYWdlSG9sZGVyIH0gZnJvbSAnLi4vVmFsaWRhdGlvbk1lc3NhZ2UudHMnO1xuaW1wb3J0IHsgZ2V0UGx1Z2luSWQgfSBmcm9tICcuL1BsdWdpbklkLnRzJztcblxuY29uc3QgUExVR0lOX1NFVFRJTkdTX1RBQl9TWU1CT0wgPSBTeW1ib2woJ3BsdWdpblNldHRpbmdzVGFiJyk7XG5cbi8qKlxuICogT3B0aW9ucyBmb3IgYmluZGluZyBhIHZhbHVlIGNvbXBvbmVudCB0byBhIHBsdWdpbiBzZXR0aW5nLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEJpbmRPcHRpb25zPFQ+IHtcbiAgLyoqXG4gICAqIEEgY2FsbGJhY2sgZnVuY3Rpb24gdGhhdCBpcyBjYWxsZWQgd2hlbiB0aGUgdmFsdWUgb2YgdGhlIGNvbXBvbmVudCBjaGFuZ2VzLlxuICAgKi9cbiAgb25DaGFuZ2VkPyhuZXdWYWx1ZTogUmVhZG9ubHlEZWVwPFQ+LCBvbGRWYWx1ZTogUmVhZG9ubHlEZWVwPFQ+KTogUHJvbWlzYWJsZTx2b2lkPjtcblxuICAvKipcbiAgICogV2hldGhlciB0byByZXNldCB0aGUgc2V0dGluZyB3aGVuIHRoZSBjb21wb25lbnQgdmFsdWUgaXMgZW1wdHkuIERlZmF1bHQgaXMgYHRydWVgLlxuICAgKiBBcHBsaWNhYmxlIG9ubHkgdG8gdGV4dC1iYXNlZCBjb21wb25lbnRzLlxuICAgKi9cbiAgc2hvdWxkUmVzZXRTZXR0aW5nV2hlbkNvbXBvbmVudElzRW1wdHk/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRvIHNob3cgdGhlIHZhbGlkYXRpb24gbWVzc2FnZSB3aGVuIHRoZSBjb21wb25lbnQgdmFsdWUgaXMgaW52YWxpZC4gRGVmYXVsdCBpcyBgdHJ1ZWAuXG4gICAqL1xuICBzaG91bGRTaG93VmFsaWRhdGlvbk1lc3NhZ2U/OiBib29sZWFuO1xufVxuXG4vKipcbiAqIEV4dGVuZGVkIG9wdGlvbnMgZm9yIGJpbmRpbmcgYSB2YWx1ZSBjb21wb25lbnQgdG8gYSBwbHVnaW4gc2V0dGluZy5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBCaW5kT3B0aW9uc0V4dGVuZGVkPFxuICBQbHVnaW5TZXR0aW5ncyBleHRlbmRzIG9iamVjdCxcbiAgVUlWYWx1ZSxcbiAgUHJvcGVydHlOYW1lIGV4dGVuZHMgU3RyaW5nS2V5czxQbHVnaW5TZXR0aW5ncz5cbj4gZXh0ZW5kcyBCaW5kT3B0aW9uczxQbHVnaW5TZXR0aW5nc1tQcm9wZXJ0eU5hbWVdPiB7XG4gIC8qKlxuICAgKiBDb252ZXJ0cyB0aGUgVUkgY29tcG9uZW50J3MgdmFsdWUgYmFjayB0byB0aGUgcGx1Z2luIHNldHRpbmdzIHZhbHVlLlxuICAgKlxuICAgKiBAcGFyYW0gdWlWYWx1ZSAtIFRoZSB2YWx1ZSBvZiB0aGUgVUkgY29tcG9uZW50LlxuICAgKiBAcmV0dXJucyBUaGUgdmFsdWUgdG8gc2V0IG9uIHRoZSBwbHVnaW4gc2V0dGluZ3MuXG4gICAqL1xuICBjb21wb25lbnRUb1BsdWdpblNldHRpbmdzVmFsdWVDb252ZXJ0ZXI6ICh1aVZhbHVlOiBVSVZhbHVlKSA9PiBQbHVnaW5TZXR0aW5nc1tQcm9wZXJ0eU5hbWVdIHwgVmFsaWRhdGlvbk1lc3NhZ2VIb2xkZXI7XG5cbiAgLyoqXG4gICAqIENvbnZlcnRzIHRoZSBwbHVnaW4gc2V0dGluZ3MgdmFsdWUgdG8gdGhlIHZhbHVlIHVzZWQgYnkgdGhlIFVJIGNvbXBvbmVudC5cbiAgICpcbiAgICogQHBhcmFtIHBsdWdpblNldHRpbmdzVmFsdWUgLSBUaGUgdmFsdWUgb2YgdGhlIHByb3BlcnR5IGluIHRoZSBwbHVnaW4gc2V0dGluZ3MuXG4gICAqIEByZXR1cm5zIFRoZSB2YWx1ZSB0byBzZXQgb24gdGhlIFVJIGNvbXBvbmVudC5cbiAgICovXG4gIHBsdWdpblNldHRpbmdzVG9Db21wb25lbnRWYWx1ZUNvbnZlcnRlcjogKHBsdWdpblNldHRpbmdzVmFsdWU6IFJlYWRvbmx5RGVlcDxQbHVnaW5TZXR0aW5nc1tQcm9wZXJ0eU5hbWVdPikgPT4gVUlWYWx1ZTtcbn1cblxuLyoqXG4gKiBCYXNlIGNsYXNzIGZvciBjcmVhdGluZyBwbHVnaW4gc2V0dGluZ3MgdGFicyBpbiBPYnNpZGlhbi5cbiAqIFByb3ZpZGVzIGEgbWV0aG9kIGZvciBiaW5kaW5nIHZhbHVlIGNvbXBvbmVudHMgdG8gcGx1Z2luIHNldHRpbmdzIGFuZCBoYW5kbGluZyBjaGFuZ2VzLlxuICpcbiAqIEB0eXBlUGFyYW0gUGx1Z2luVHlwZXMgLSBQbHVnaW4tc3BlY2lmaWMgdHlwZXMuXG4gKi9cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBQbHVnaW5TZXR0aW5nc1RhYkJhc2U8UGx1Z2luVHlwZXMgZXh0ZW5kcyBQbHVnaW5UeXBlc0Jhc2U+IGV4dGVuZHMgUGx1Z2luU2V0dGluZ1RhYiB7XG4gIC8qKlxuICAgKiBXaGV0aGVyIHRoZSBwbHVnaW4gc2V0dGluZ3MgdGFiIGlzIG9wZW4uXG4gICAqXG4gICAqIEByZXR1cm5zIFdoZXRoZXIgdGhlIHBsdWdpbiBzZXR0aW5ncyB0YWIgaXMgb3Blbi5cbiAgICovXG4gIHB1YmxpYyBnZXQgaXNPcGVuKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLl9pc09wZW47XG4gIH1cblxuICAvKipcbiAgICogVGhlIGRlYm91bmNlIHRpbWVvdXQgZm9yIHNhdmluZyBzZXR0aW5ncy5cbiAgICpcbiAgICogQHJldHVybnMgVGhlIGRlYm91bmNlIHRpbWVvdXQgZm9yIHNhdmluZyBzZXR0aW5ncy5cbiAgICovXG4gIHByb3RlY3RlZCBnZXQgc2F2ZVNldHRpbmdzRGVib3VuY2VUaW1lb3V0SW5NaWxsaXNlY29uZHMoKTogbnVtYmVyIHtcbiAgICBjb25zdCBERUZBVUxUID0gMl8wMDA7XG4gICAgcmV0dXJuIERFRkFVTFQ7XG4gIH1cblxuICBwcml2YXRlIF9pc09wZW4gPSBmYWxzZTtcbiAgcHJpdmF0ZSByZWFkb25seSBhc3luY0V2ZW50czogQXN5bmNFdmVudHM7XG4gIHByaXZhdGUgcmVhZG9ubHkgYXN5bmNFdmVudHNDb21wb25lbnQ6IEFzeW5jRXZlbnRzQ29tcG9uZW50O1xuICBwcml2YXRlIHNhdmVTZXR0aW5nc0RlYm91bmNlZDogRGVib3VuY2VyPFtdLCB2b2lkPjtcblxuICBwcml2YXRlIGdldCBwbHVnaW5TZXR0aW5ncygpOiBFeHRyYWN0UGx1Z2luU2V0dGluZ3M8UGx1Z2luVHlwZXM+IHtcbiAgICByZXR1cm4gdGhpcy5wbHVnaW4uc2V0dGluZ3NNYW5hZ2VyLnNldHRpbmdzV3JhcHBlci5zZXR0aW5ncyBhcyBFeHRyYWN0UGx1Z2luU2V0dGluZ3M8UGx1Z2luVHlwZXM+O1xuICB9XG5cbiAgLyoqXG4gICAqIENyZWF0ZXMgYSBuZXcgcGx1Z2luIHNldHRpbmdzIHRhYi5cbiAgICpcbiAgICogQHBhcmFtIHBsdWdpbiAtIFRoZSBwbHVnaW4uXG4gICAqL1xuICBwdWJsaWMgY29uc3RydWN0b3IocHVibGljIG92ZXJyaWRlIHBsdWdpbjogRXh0cmFjdFBsdWdpbjxQbHVnaW5UeXBlcz4pIHtcbiAgICBzdXBlcihwbHVnaW4uYXBwLCBwbHVnaW4pO1xuICAgIHRoaXMuY29udGFpbmVyRWwuYWRkQ2xhc3MoQ3NzQ2xhc3MuTGlicmFyeU5hbWUsIGdldFBsdWdpbklkKCksIENzc0NsYXNzLlBsdWdpblNldHRpbmdzVGFiKTtcbiAgICB0aGlzLnNhdmVTZXR0aW5nc0RlYm91bmNlZCA9IGRlYm91bmNlKFxuICAgICAgY29udmVydEFzeW5jVG9TeW5jKCgpID0+IHRoaXMucGx1Z2luLnNldHRpbmdzTWFuYWdlci5zYXZlVG9GaWxlKFBMVUdJTl9TRVRUSU5HU19UQUJfU1lNQk9MKSksXG4gICAgICB0aGlzLnNhdmVTZXR0aW5nc0RlYm91bmNlVGltZW91dEluTWlsbGlzZWNvbmRzXG4gICAgKTtcbiAgICB0aGlzLmFzeW5jRXZlbnRzQ29tcG9uZW50ID0gbmV3IEFzeW5jRXZlbnRzQ29tcG9uZW50KCk7XG4gICAgdGhpcy5hc3luY0V2ZW50cyA9IG5ldyBBc3luY0V2ZW50cygpO1xuICB9XG5cbiAgLyoqXG4gICAqIEJpbmRzIGEgdmFsdWUgY29tcG9uZW50IHRvIGEgcGx1Z2luIHNldHRpbmcuXG4gICAqXG4gICAqIEB0eXBlUGFyYW0gVUlWYWx1ZSAtIFRoZSB0eXBlIG9mIHRoZSB2YWx1ZSBvZiB0aGUgVUkgY29tcG9uZW50LlxuICAgKiBAdHlwZVBhcmFtIFRWYWx1ZUNvbXBvbmVudCAtIFRoZSB0eXBlIG9mIHRoZSB2YWx1ZSBjb21wb25lbnQuXG4gICAqIEBwYXJhbSB2YWx1ZUNvbXBvbmVudCAtIFRoZSB2YWx1ZSBjb21wb25lbnQgdG8gYmluZC5cbiAgICogQHBhcmFtIHByb3BlcnR5TmFtZSAtIFRoZSBwcm9wZXJ0eSBvZiB0aGUgcGx1Z2luIHNldHRpbmdzIHRvIGJpbmQgdG8uXG4gICAqIEBwYXJhbSBvcHRpb25zIC0gVGhlIG9wdGlvbnMgZm9yIGJpbmRpbmcgdGhlIHZhbHVlIGNvbXBvbmVudC5cbiAgICogQHJldHVybnMgVGhlIHZhbHVlIGNvbXBvbmVudC5cbiAgICovXG4gIHB1YmxpYyBiaW5kPFxuICAgIFVJVmFsdWUsXG4gICAgVFZhbHVlQ29tcG9uZW50XG4gID4oXG4gICAgdmFsdWVDb21wb25lbnQ6IFRWYWx1ZUNvbXBvbmVudCAmIFZhbHVlQ29tcG9uZW50V2l0aENoYW5nZVRyYWNraW5nPFVJVmFsdWU+LFxuICAgIHByb3BlcnR5TmFtZTogQ29uZGl0aW9uYWxLZXlzPEV4dHJhY3RQbHVnaW5TZXR0aW5nczxQbHVnaW5UeXBlcz4sIFVJVmFsdWU+LFxuICAgIG9wdGlvbnM/OiBCaW5kT3B0aW9uczxVSVZhbHVlPlxuICApOiBUVmFsdWVDb21wb25lbnQ7XG4gIC8qKlxuICAgKiBCaW5kcyBhIHZhbHVlIGNvbXBvbmVudCB0byBhIHBsdWdpbiBzZXR0aW5nLlxuICAgKlxuICAgKiBAdHlwZVBhcmFtIFVJVmFsdWUgLSBUaGUgdHlwZSBvZiB0aGUgdmFsdWUgb2YgdGhlIFVJIGNvbXBvbmVudC5cbiAgICogQHR5cGVQYXJhbSBUVmFsdWVDb21wb25lbnQgLSBUaGUgdHlwZSBvZiB0aGUgdmFsdWUgY29tcG9uZW50LlxuICAgKiBAdHlwZVBhcmFtIFByb3BlcnR5TmFtZSAtIFRoZSBwcm9wZXJ0eSBuYW1lIG9mIHRoZSBwbHVnaW4gc2V0dGluZ3MgdG8gYmluZCB0by5cbiAgICogQHBhcmFtIHZhbHVlQ29tcG9uZW50IC0gVGhlIHZhbHVlIGNvbXBvbmVudCB0byBiaW5kLlxuICAgKiBAcGFyYW0gcHJvcGVydHlOYW1lIC0gVGhlIHByb3BlcnR5IG5hbWUgb2YgdGhlIHBsdWdpbiBzZXR0aW5ncyB0byBiaW5kIHRvLlxuICAgKiBAcGFyYW0gb3B0aW9ucyAtIFRoZSBvcHRpb25zIGZvciBiaW5kaW5nIHRoZSB2YWx1ZSBjb21wb25lbnQuXG4gICAqIEByZXR1cm5zIFRoZSB2YWx1ZSBjb21wb25lbnQuXG4gICAqL1xuICBwdWJsaWMgYmluZDxcbiAgICBVSVZhbHVlLFxuICAgIFRWYWx1ZUNvbXBvbmVudCxcbiAgICBQcm9wZXJ0eU5hbWUgZXh0ZW5kcyBTdHJpbmdLZXlzPEV4dHJhY3RQbHVnaW5TZXR0aW5nczxQbHVnaW5UeXBlcz4+XG4gID4oXG4gICAgdmFsdWVDb21wb25lbnQ6IFRWYWx1ZUNvbXBvbmVudCAmIFZhbHVlQ29tcG9uZW50V2l0aENoYW5nZVRyYWNraW5nPFVJVmFsdWU+LFxuICAgIHByb3BlcnR5TmFtZTogUHJvcGVydHlOYW1lLFxuICAgIG9wdGlvbnM6IEJpbmRPcHRpb25zRXh0ZW5kZWQ8RXh0cmFjdFBsdWdpblNldHRpbmdzPFBsdWdpblR5cGVzPiwgVUlWYWx1ZSwgUHJvcGVydHlOYW1lPlxuICApOiBUVmFsdWVDb21wb25lbnQ7XG4gIC8qKlxuICAgKiBCaW5kcyBhIHZhbHVlIGNvbXBvbmVudCB0byBhIHBsdWdpbiBzZXR0aW5nLlxuICAgKlxuICAgKiBAdHlwZVBhcmFtIFVJVmFsdWUgLSBUaGUgdHlwZSBvZiB0aGUgdmFsdWUgb2YgdGhlIFVJIGNvbXBvbmVudC5cbiAgICogQHR5cGVQYXJhbSBUVmFsdWVDb21wb25lbnQgLSBUaGUgdHlwZSBvZiB0aGUgdmFsdWUgY29tcG9uZW50LlxuICAgKiBAdHlwZVBhcmFtIFByb3BlcnR5TmFtZSAtIFRoZSBwcm9wZXJ0eSBuYW1lIG9mIHRoZSBwbHVnaW4gc2V0dGluZ3MgdG8gYmluZCB0by5cbiAgICogQHBhcmFtIHZhbHVlQ29tcG9uZW50IC0gVGhlIHZhbHVlIGNvbXBvbmVudCB0byBiaW5kLlxuICAgKiBAcGFyYW0gcHJvcGVydHlOYW1lIC0gVGhlIHByb3BlcnR5IG5hbWUgb2YgdGhlIHBsdWdpbiBzZXR0aW5ncyB0byBiaW5kIHRvLlxuICAgKiBAcGFyYW0gb3B0aW9ucyAtIFRoZSBvcHRpb25zIGZvciBiaW5kaW5nIHRoZSB2YWx1ZSBjb21wb25lbnQuXG4gICAqIEByZXR1cm5zIFRoZSB2YWx1ZSBjb21wb25lbnQuXG4gICAqL1xuICBwdWJsaWMgYmluZDxcbiAgICBVSVZhbHVlLFxuICAgIFRWYWx1ZUNvbXBvbmVudCxcbiAgICBQcm9wZXJ0eU5hbWUgZXh0ZW5kcyBTdHJpbmdLZXlzPEV4dHJhY3RQbHVnaW5TZXR0aW5nczxQbHVnaW5UeXBlcz4+XG4gID4oXG4gICAgdmFsdWVDb21wb25lbnQ6IFRWYWx1ZUNvbXBvbmVudCAmIFZhbHVlQ29tcG9uZW50V2l0aENoYW5nZVRyYWNraW5nPFVJVmFsdWU+LFxuICAgIHByb3BlcnR5TmFtZTogUHJvcGVydHlOYW1lLFxuICAgIG9wdGlvbnM/OiBCaW5kT3B0aW9uczxFeHRyYWN0UGx1Z2luU2V0dGluZ3M8UGx1Z2luVHlwZXM+W1Byb3BlcnR5TmFtZV0+XG4gICk6IFRWYWx1ZUNvbXBvbmVudCB7XG4gICAgdHlwZSBQbHVnaW5TZXR0aW5ncyA9IEV4dHJhY3RQbHVnaW5TZXR0aW5nczxQbHVnaW5UeXBlcz47XG4gICAgdHlwZSBQcm9wZXJ0eVR5cGUgPSBQbHVnaW5TZXR0aW5nc1tQcm9wZXJ0eU5hbWVdO1xuICAgIGNvbnN0IERFRkFVTFRfT1BUSU9OUzogUmVxdWlyZWQ8QmluZE9wdGlvbnNFeHRlbmRlZDxQbHVnaW5TZXR0aW5ncywgVUlWYWx1ZSwgUHJvcGVydHlOYW1lPj4gPSB7XG4gICAgICBjb21wb25lbnRUb1BsdWdpblNldHRpbmdzVmFsdWVDb252ZXJ0ZXI6ICh2YWx1ZTogVUlWYWx1ZSk6IFByb3BlcnR5VHlwZSA9PiB2YWx1ZSBhcyBQcm9wZXJ0eVR5cGUsXG4gICAgICBvbkNoYW5nZWQ6IG5vb3AsXG4gICAgICBwbHVnaW5TZXR0aW5nc1RvQ29tcG9uZW50VmFsdWVDb252ZXJ0ZXI6ICh2YWx1ZTogUmVhZG9ubHlEZWVwPFByb3BlcnR5VHlwZT4pOiBVSVZhbHVlID0+IHZhbHVlIGFzIFVJVmFsdWUsXG4gICAgICBzaG91bGRSZXNldFNldHRpbmdXaGVuQ29tcG9uZW50SXNFbXB0eTogdHJ1ZSxcbiAgICAgIHNob3VsZFNob3dWYWxpZGF0aW9uTWVzc2FnZTogdHJ1ZVxuICAgIH07XG5cbiAgICBjb25zdCBvcHRpb25zRXh0OiBSZXF1aXJlZDxCaW5kT3B0aW9uc0V4dGVuZGVkPFBsdWdpblNldHRpbmdzLCBVSVZhbHVlLCBQcm9wZXJ0eU5hbWU+PiA9IHsgLi4uREVGQVVMVF9PUFRJT05TLCAuLi5vcHRpb25zIH07XG5cbiAgICBjb25zdCB2YWxpZGF0b3JFbGVtZW50ID0gZ2V0VmFsaWRhdG9yQ29tcG9uZW50KHZhbHVlQ29tcG9uZW50KT8udmFsaWRhdG9yRWw7XG5cbiAgICBjb25zdCB0ZXh0QmFzZWRDb21wb25lbnQgPSBnZXRUZXh0QmFzZWRDb21wb25lbnRWYWx1ZSh2YWx1ZUNvbXBvbmVudCk7XG5cbiAgICBjb25zdCByZWFkb25seVZhbHVlID0gdGhpcy5wbHVnaW5TZXR0aW5nc1twcm9wZXJ0eU5hbWVdIGFzIFJlYWRvbmx5RGVlcDxQcm9wZXJ0eVR5cGU+O1xuICAgIGNvbnN0IGRlZmF1bHRWYWx1ZSA9ICh0aGlzLnBsdWdpbi5zZXR0aW5nc01hbmFnZXIuZGVmYXVsdFNldHRpbmdzIGFzIFBsdWdpblNldHRpbmdzKVtwcm9wZXJ0eU5hbWVdIGFzIFByb3BlcnR5VHlwZTtcbiAgICB0ZXh0QmFzZWRDb21wb25lbnQ/LnNldFBsYWNlaG9sZGVyVmFsdWUob3B0aW9uc0V4dC5wbHVnaW5TZXR0aW5nc1RvQ29tcG9uZW50VmFsdWVDb252ZXJ0ZXIoZGVmYXVsdFZhbHVlIGFzIFJlYWRvbmx5RGVlcDxQcm9wZXJ0eVR5cGU+KSk7XG5cbiAgICB0aGlzLmFzeW5jRXZlbnRzQ29tcG9uZW50LnJlZ2lzdGVyQXN5bmNFdmVudCh0aGlzLm9uKCd2YWxpZGF0aW9uTWVzc2FnZUNoYW5nZWQnLCAoYW5vdGhlclByb3BlcnR5TmFtZSwgdmFsaWRhdGlvbk1lc3NhZ2UpID0+IHtcbiAgICAgIGlmIChwcm9wZXJ0eU5hbWUgIT09IGFub3RoZXJQcm9wZXJ0eU5hbWUpIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICB1cGRhdGVWYWxpZGF0b3JFbGVtZW50KHZhbGlkYXRpb25NZXNzYWdlKTtcbiAgICB9KSk7XG5cbiAgICBpZiAocmVhZG9ubHlWYWx1ZSA9PT0gZGVmYXVsdFZhbHVlICYmIHRleHRCYXNlZENvbXBvbmVudCAmJiBvcHRpb25zRXh0LnNob3VsZFJlc2V0U2V0dGluZ1doZW5Db21wb25lbnRJc0VtcHR5KSB7XG4gICAgICB0ZXh0QmFzZWRDb21wb25lbnQuZW1wdHkoKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdmFsdWVDb21wb25lbnQuc2V0VmFsdWUob3B0aW9uc0V4dC5wbHVnaW5TZXR0aW5nc1RvQ29tcG9uZW50VmFsdWVDb252ZXJ0ZXIocmVhZG9ubHlWYWx1ZSkpO1xuICAgIH1cblxuICAgIHZhbHVlQ29tcG9uZW50Lm9uQ2hhbmdlKGFzeW5jICh1aVZhbHVlKSA9PiB7XG4gICAgICBjb25zdCBvbGRWYWx1ZSA9IHRoaXMucGx1Z2luU2V0dGluZ3NbcHJvcGVydHlOYW1lXTtcbiAgICAgIGxldCBuZXdWYWx1ZTogUHJvcGVydHlUeXBlIHwgdW5kZWZpbmVkID0gdW5kZWZpbmVkO1xuICAgICAgbGV0IHZhbGlkYXRpb25NZXNzYWdlOiBzdHJpbmc7XG4gICAgICBpZiAodGV4dEJhc2VkQ29tcG9uZW50Py5pc0VtcHR5KCkgJiYgb3B0aW9uc0V4dC5zaG91bGRSZXNldFNldHRpbmdXaGVuQ29tcG9uZW50SXNFbXB0eSkge1xuICAgICAgICBuZXdWYWx1ZSA9IGRlZmF1bHRWYWx1ZTtcbiAgICAgICAgdmFsaWRhdGlvbk1lc3NhZ2UgPSAnJztcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGNvbnN0IGNvbnZlcnRlZFZhbHVlID0gb3B0aW9uc0V4dC5jb21wb25lbnRUb1BsdWdpblNldHRpbmdzVmFsdWVDb252ZXJ0ZXIodWlWYWx1ZSk7XG4gICAgICAgIGlmIChpc1ZhbGlkYXRpb25NZXNzYWdlSG9sZGVyKGNvbnZlcnRlZFZhbHVlKSkge1xuICAgICAgICAgIHZhbGlkYXRpb25NZXNzYWdlID0gY29udmVydGVkVmFsdWUudmFsaWRhdGlvbk1lc3NhZ2U7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgbmV3VmFsdWUgPSBjb252ZXJ0ZWRWYWx1ZTtcbiAgICAgICAgICB2YWxpZGF0aW9uTWVzc2FnZSA9IGF3YWl0IHRoaXMucGx1Z2luLnNldHRpbmdzTWFuYWdlci5zZXRQcm9wZXJ0eShwcm9wZXJ0eU5hbWUsIG5ld1ZhbHVlKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgdXBkYXRlVmFsaWRhdG9yRWxlbWVudCh2YWxpZGF0aW9uTWVzc2FnZSk7XG4gICAgICBpZiAobmV3VmFsdWUgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICBhd2FpdCBvcHRpb25zRXh0Lm9uQ2hhbmdlZChuZXdWYWx1ZSBhcyBSZWFkb25seURlZXA8UHJvcGVydHlUeXBlPiwgb2xkVmFsdWUgYXMgUmVhZG9ubHlEZWVwPFByb3BlcnR5VHlwZT4pO1xuICAgICAgfVxuICAgICAgdGhpcy5zYXZlU2V0dGluZ3NEZWJvdW5jZWQoKTtcbiAgICB9KTtcblxuICAgIHZhbGlkYXRvckVsZW1lbnQ/LmFkZEV2ZW50TGlzdGVuZXIoJ2ZvY3VzJywgKCkgPT4ge1xuICAgICAgdXBkYXRlVmFsaWRhdG9yRWxlbWVudCgpO1xuICAgIH0pO1xuICAgIHZhbGlkYXRvckVsZW1lbnQ/LmFkZEV2ZW50TGlzdGVuZXIoJ2JsdXInLCAoKSA9PiB7XG4gICAgICB1cGRhdGVWYWxpZGF0b3JFbGVtZW50KCk7XG4gICAgfSk7XG5cbiAgICB1cGRhdGVWYWxpZGF0b3JFbGVtZW50KHRoaXMucGx1Z2luLnNldHRpbmdzTWFuYWdlci5zZXR0aW5nc1dyYXBwZXIudmFsaWRhdGlvbk1lc3NhZ2VzW3Byb3BlcnR5TmFtZV0pO1xuICAgIHJldHVybiB2YWx1ZUNvbXBvbmVudDtcblxuICAgIGZ1bmN0aW9uIHVwZGF0ZVZhbGlkYXRvckVsZW1lbnQodmFsaWRhdGlvbk1lc3NhZ2U/OiBzdHJpbmcpOiB2b2lkIHtcbiAgICAgIGlmICghdmFsaWRhdG9yRWxlbWVudCkge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIGlmICh2YWxpZGF0aW9uTWVzc2FnZSA9PT0gJycpIHtcbiAgICAgICAgdmFsaWRhdG9yRWxlbWVudC5zZXRDdXN0b21WYWxpZGl0eSgnJyk7XG4gICAgICAgIHZhbGlkYXRvckVsZW1lbnQuY2hlY2tWYWxpZGl0eSgpO1xuICAgICAgICB2YWxpZGF0aW9uTWVzc2FnZSA9IHZhbGlkYXRvckVsZW1lbnQudmFsaWRhdGlvbk1lc3NhZ2U7XG4gICAgICB9XG5cbiAgICAgIGlmICh2YWxpZGF0aW9uTWVzc2FnZSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIHZhbGlkYXRvckVsZW1lbnQuc2V0Q3VzdG9tVmFsaWRpdHkodmFsaWRhdGlvbk1lc3NhZ2UpO1xuICAgICAgICBzZXRUb29sdGlwKHZhbGlkYXRvckVsZW1lbnQsIHZhbGlkYXRpb25NZXNzYWdlKTtcbiAgICAgIH1cbiAgICAgIGlmICh2YWxpZGF0b3JFbGVtZW50LmlzQWN0aXZlRWxlbWVudCgpICYmIG9wdGlvbnNFeHQuc2hvdWxkU2hvd1ZhbGlkYXRpb25NZXNzYWdlKSB7XG4gICAgICAgIHZhbGlkYXRvckVsZW1lbnQucmVwb3J0VmFsaWRpdHkoKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogUmVuZGVycyB0aGUgcGx1Z2luIHNldHRpbmdzIHRhYi5cbiAgICovXG4gIHB1YmxpYyBvdmVycmlkZSBkaXNwbGF5KCk6IHZvaWQge1xuICAgIHRoaXMuX2lzT3BlbiA9IHRydWU7XG4gICAgdGhpcy5hc3luY0V2ZW50c0NvbXBvbmVudC5sb2FkKCk7XG4gICAgdGhpcy5hc3luY0V2ZW50c0NvbXBvbmVudC5yZWdpc3RlckFzeW5jRXZlbnQodGhpcy5wbHVnaW4uc2V0dGluZ3NNYW5hZ2VyLm9uKCdsb2FkU2V0dGluZ3MnLCB0aGlzLm9uTG9hZFNldHRpbmdzLmJpbmQodGhpcykpKTtcbiAgICB0aGlzLmFzeW5jRXZlbnRzQ29tcG9uZW50LnJlZ2lzdGVyQXN5bmNFdmVudCh0aGlzLnBsdWdpbi5zZXR0aW5nc01hbmFnZXIub24oJ3NhdmVTZXR0aW5ncycsIHRoaXMub25TYXZlU2V0dGluZ3MuYmluZCh0aGlzKSkpO1xuICB9XG5cbiAgLyoqXG4gICAqIEhpZGVzIHRoZSBwbHVnaW4gc2V0dGluZ3MgdGFiLlxuICAgKi9cbiAgcHVibGljIG92ZXJyaWRlIGhpZGUoKTogdm9pZCB7XG4gICAgc3VwZXIuaGlkZSgpO1xuICAgIHRoaXMuc2F2ZVNldHRpbmdzRGVib3VuY2VkLmNhbmNlbCgpO1xuICAgIHRoaXMuY29udGFpbmVyRWwuZW1wdHkoKTtcbiAgICB0aGlzLl9pc09wZW4gPSBmYWxzZTtcbiAgICB0aGlzLmFzeW5jRXZlbnRzQ29tcG9uZW50LnVubG9hZCgpO1xuICAgIHRoaXMuYXN5bmNFdmVudHNDb21wb25lbnQubG9hZCgpO1xuICAgIGludm9rZUFzeW5jU2FmZWx5KCgpID0+IHRoaXMucGx1Z2luLnNldHRpbmdzTWFuYWdlci5zYXZlVG9GaWxlKFBMVUdJTl9TRVRUSU5HU19UQUJfU1lNQk9MKSk7XG4gIH1cblxuICAvKipcbiAgICogU2hvd3MgdGhlIHBsdWdpbiBzZXR0aW5ncyB0YWIuXG4gICAqL1xuICBwdWJsaWMgc2hvdygpOiB2b2lkIHtcbiAgICB0aGlzLmFwcC5zZXR0aW5nLm9wZW5UYWIodGhpcyk7XG4gIH1cblxuICAvKipcbiAgICogQ2FsbGVkIHdoZW4gdGhlIHBsdWdpbiBzZXR0aW5ncyBhcmUgbG9hZGVkLlxuICAgKlxuICAgKiBAcGFyYW0gX2xvYWRlZFNldHRpbmdzIC0gVGhlIGxvYWRlZCBzZXR0aW5ncy5cbiAgICogQHBhcmFtIF9pc0luaXRpYWxMb2FkIC0gV2hldGhlciB0aGUgc2V0dGluZ3MgYXJlIGJlaW5nIGxvYWRlZCBmb3IgdGhlIGZpcnN0IHRpbWUuXG4gICAqIEByZXR1cm5zIEEge0BsaW5rIFByb21pc2V9IHRoYXQgcmVzb2x2ZXMgd2hlbiB0aGUgc2V0dGluZ3MgYXJlIGxvYWRlZC5cbiAgICovXG4gIHByb3RlY3RlZCBhc3luYyBvbkxvYWRTZXR0aW5ncyhfbG9hZGVkU2V0dGluZ3M6IEV4dHJhY3RSZWFkb25seVBsdWdpblNldHRpbmdzV3JhcHBlcjxQbHVnaW5UeXBlcz4sIF9pc0luaXRpYWxMb2FkOiBib29sZWFuKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgdGhpcy5yZWZyZXNoKCk7XG4gICAgYXdhaXQgbm9vcEFzeW5jKCk7XG4gIH1cblxuICBwcml2YXRlIG9uKFxuICAgIG5hbWU6ICd2YWxpZGF0aW9uTWVzc2FnZUNoYW5nZWQnLFxuICAgIGNhbGxiYWNrOiAoXG4gICAgICBwcm9wZXJ0eU5hbWU6IHN0cmluZyxcbiAgICAgIHZhbGlkYXRpb25NZXNzYWdlOiBzdHJpbmdcbiAgICApID0+IFByb21pc2FibGU8dm9pZD4sXG4gICAgdGhpc0FyZz86IHVua25vd25cbiAgKTogQXN5bmNFdmVudFJlZjtcbiAgcHJpdmF0ZSBvbjxBcmdzIGV4dGVuZHMgdW5rbm93bltdPihcbiAgICBuYW1lOiBzdHJpbmcsXG4gICAgY2FsbGJhY2s6ICguLi5hcmdzOiBBcmdzKSA9PiBQcm9taXNhYmxlPHZvaWQ+LFxuICAgIHRoaXNBcmc/OiB1bmtub3duXG4gICk6IEFzeW5jRXZlbnRSZWYge1xuICAgIHJldHVybiB0aGlzLmFzeW5jRXZlbnRzLm9uKG5hbWUsIGNhbGxiYWNrLCB0aGlzQXJnKTtcbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgb25TYXZlU2V0dGluZ3MoXG4gICAgbmV3U2V0dGluZ3M6IEV4dHJhY3RSZWFkb25seVBsdWdpblNldHRpbmdzV3JhcHBlcjxQbHVnaW5UeXBlcz4sXG4gICAgX29sZFNldHRpbmdzOiBFeHRyYWN0UmVhZG9ubHlQbHVnaW5TZXR0aW5nc1dyYXBwZXI8UGx1Z2luVHlwZXM+LFxuICAgIGNvbnRleHQ6IHVua25vd25cbiAgKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgaWYgKGNvbnRleHQgPT09IFBMVUdJTl9TRVRUSU5HU19UQUJfU1lNQk9MKSB7XG4gICAgICBmb3IgKGNvbnN0IFtwcm9wZXJ0eU5hbWUsIHZhbGlkYXRpb25NZXNzYWdlXSBvZiBPYmplY3QuZW50cmllcyhuZXdTZXR0aW5ncy52YWxpZGF0aW9uTWVzc2FnZXMgYXMgUmVjb3JkPHN0cmluZywgc3RyaW5nPikpIHtcbiAgICAgICAgYXdhaXQgdGhpcy5hc3luY0V2ZW50cy50cmlnZ2VyQXN5bmMoJ3ZhbGlkYXRpb25NZXNzYWdlQ2hhbmdlZCcsIHByb3BlcnR5TmFtZSwgdmFsaWRhdGlvbk1lc3NhZ2UpO1xuICAgICAgfVxuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMucmVmcmVzaCgpO1xuICB9XG5cbiAgcHJpdmF0ZSByZWZyZXNoKCk6IHZvaWQge1xuICAgIHRoaXMuY29udGFpbmVyRWwuZW1wdHkoKTtcbiAgICB0aGlzLmRpc3BsYXkoKTtcbiAgfVxufVxuIl0sCiAgIm1hcHBpbmdzIjogIjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFjQSxzQkFJTztBQWFQLG1CQUdPO0FBQ1AseUJBQTRCO0FBQzVCLHNCQUF5QjtBQUN6QixzQkFHTztBQUNQLGtDQUFxQztBQUNyQyxnQ0FBMkM7QUFDM0MsZ0NBQXNDO0FBQ3RDLCtCQUEwQztBQUMxQyxzQkFBNEI7QUFFNUIsTUFBTSw2QkFBNkIsT0FBTyxtQkFBbUI7QUFzRHRELE1BQWUsOEJBQW1FLGlDQUFpQjtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQWtDakcsWUFBNEIsUUFBb0M7QUFDckUsVUFBTSxPQUFPLEtBQUssTUFBTTtBQURTO0FBRWpDLFNBQUssWUFBWSxTQUFTLHlCQUFTLGlCQUFhLDZCQUFZLEdBQUcseUJBQVMsaUJBQWlCO0FBQ3pGLFNBQUssNEJBQXdCO0FBQUEsVUFDM0IsaUNBQW1CLE1BQU0sS0FBSyxPQUFPLGdCQUFnQixXQUFXLDBCQUEwQixDQUFDO0FBQUEs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
|
@@ -4,12 +4,12 @@
|
|
4
4
|
* This module defines a base class for creating plugin setting tabs in Obsidian.
|
5
5
|
* It provides a utility method to bind value components to plugin settings and handle changes.
|
6
6
|
*/
|
7
|
-
import type { ConditionalKeys, Promisable } from 'type-fest';
|
7
|
+
import type { ConditionalKeys, Promisable, ReadonlyDeep } from 'type-fest';
|
8
8
|
import { PluginSettingTab } from 'obsidian';
|
9
9
|
import type { StringKeys } from '../../Type.cjs';
|
10
|
-
import type { ValueComponentWithChangeTracking } from '../Components/ValueComponentWithChangeTracking.cjs';
|
10
|
+
import type { ValueComponentWithChangeTracking } from '../Components/SettingComponents/ValueComponentWithChangeTracking.cjs';
|
11
11
|
import type { ValidationMessageHolder } from '../ValidationMessage.cjs';
|
12
|
-
import type { ExtractPlugin, ExtractPluginSettings, PluginTypesBase } from './PluginTypesBase.cjs';
|
12
|
+
import type { ExtractPlugin, ExtractPluginSettings, ExtractReadonlyPluginSettingsWrapper, PluginTypesBase } from './PluginTypesBase.cjs';
|
13
13
|
/**
|
14
14
|
* Options for binding a value component to a plugin setting.
|
15
15
|
*/
|
@@ -17,7 +17,7 @@ export interface BindOptions<T> {
|
|
17
17
|
/**
|
18
18
|
* A callback function that is called when the value of the component changes.
|
19
19
|
*/
|
20
|
-
onChanged?(newValue: T
|
20
|
+
onChanged?(newValue: ReadonlyDeep<T>, oldValue: ReadonlyDeep<T>): Promisable<void>;
|
21
21
|
/**
|
22
22
|
* Whether to reset the setting when the component value is empty. Default is `true`.
|
23
23
|
* Applicable only to text-based components.
|
@@ -45,7 +45,7 @@ export interface BindOptionsExtended<PluginSettings extends object, UIValue, Pro
|
|
45
45
|
* @param pluginSettingsValue - The value of the property in the plugin settings.
|
46
46
|
* @returns The value to set on the UI component.
|
47
47
|
*/
|
48
|
-
pluginSettingsToComponentValueConverter: (pluginSettingsValue: PluginSettings[PropertyName]) => UIValue;
|
48
|
+
pluginSettingsToComponentValueConverter: (pluginSettingsValue: ReadonlyDeep<PluginSettings[PropertyName]>) => UIValue;
|
49
49
|
}
|
50
50
|
/**
|
51
51
|
* Base class for creating plugin settings tabs in Obsidian.
|
@@ -68,6 +68,8 @@ export declare abstract class PluginSettingsTabBase<PluginTypes extends PluginTy
|
|
68
68
|
*/
|
69
69
|
protected get saveSettingsDebounceTimeoutInMilliseconds(): number;
|
70
70
|
private _isOpen;
|
71
|
+
private readonly asyncEvents;
|
72
|
+
private readonly asyncEventsComponent;
|
71
73
|
private saveSettingsDebounced;
|
72
74
|
private get pluginSettings();
|
73
75
|
/**
|
@@ -111,4 +113,15 @@ export declare abstract class PluginSettingsTabBase<PluginTypes extends PluginTy
|
|
111
113
|
* Shows the plugin settings tab.
|
112
114
|
*/
|
113
115
|
show(): void;
|
116
|
+
/**
|
117
|
+
* Called when the plugin settings are loaded.
|
118
|
+
*
|
119
|
+
* @param _loadedSettings - The loaded settings.
|
120
|
+
* @param _isInitialLoad - Whether the settings are being loaded for the first time.
|
121
|
+
* @returns A {@link Promise} that resolves when the settings are loaded.
|
122
|
+
*/
|
123
|
+
protected onLoadSettings(_loadedSettings: ExtractReadonlyPluginSettingsWrapper<PluginTypes>, _isInitialLoad: boolean): Promise<void>;
|
124
|
+
private on;
|
125
|
+
private onSaveSettings;
|
126
|
+
private refresh;
|
114
127
|
}
|
@@ -29,23 +29,23 @@ __export(SettingEx_exports, {
|
|
29
29
|
});
|
30
30
|
module.exports = __toCommonJS(SettingEx_exports);
|
31
31
|
var import_obsidian = require('obsidian');
|
32
|
-
var import_CheckboxComponent = require('./Components/CheckboxComponent.cjs');
|
33
|
-
var import_DateComponent = require('./Components/DateComponent.cjs');
|
34
|
-
var import_DateTimeComponent = require('./Components/DateTimeComponent.cjs');
|
35
|
-
var import_EmailComponent = require('./Components/EmailComponent.cjs');
|
36
|
-
var import_FileComponent = require('./Components/FileComponent.cjs');
|
37
|
-
var import_MonthComponent = require('./Components/MonthComponent.cjs');
|
38
|
-
var import_MultipleDropdownComponent = require('./Components/MultipleDropdownComponent.cjs');
|
39
|
-
var import_MultipleEmailComponent = require('./Components/MultipleEmailComponent.cjs');
|
40
|
-
var import_MultipleFileComponent = require('./Components/MultipleFileComponent.cjs');
|
41
|
-
var import_MultipleTextComponent = require('./Components/MultipleTextComponent.cjs');
|
42
|
-
var import_NumberComponent = require('./Components/NumberComponent.cjs');
|
43
|
-
var import_TimeComponent = require('./Components/TimeComponent.cjs');
|
44
|
-
var import_TriStateCheckboxComponent = require('./Components/TriStateCheckboxComponent.cjs');
|
45
|
-
var import_TypedDropdownComponent = require('./Components/TypedDropdownComponent.cjs');
|
46
|
-
var import_TypedMultipleDropdownComponent = require('./Components/TypedMultipleDropdownComponent.cjs');
|
47
|
-
var import_UrlComponent = require('./Components/UrlComponent.cjs');
|
48
|
-
var import_WeekComponent = require('./Components/WeekComponent.cjs');
|
32
|
+
var import_CheckboxComponent = require('./Components/SettingComponents/CheckboxComponent.cjs');
|
33
|
+
var import_DateComponent = require('./Components/SettingComponents/DateComponent.cjs');
|
34
|
+
var import_DateTimeComponent = require('./Components/SettingComponents/DateTimeComponent.cjs');
|
35
|
+
var import_EmailComponent = require('./Components/SettingComponents/EmailComponent.cjs');
|
36
|
+
var import_FileComponent = require('./Components/SettingComponents/FileComponent.cjs');
|
37
|
+
var import_MonthComponent = require('./Components/SettingComponents/MonthComponent.cjs');
|
38
|
+
var import_MultipleDropdownComponent = require('./Components/SettingComponents/MultipleDropdownComponent.cjs');
|
39
|
+
var import_MultipleEmailComponent = require('./Components/SettingComponents/MultipleEmailComponent.cjs');
|
40
|
+
var import_MultipleFileComponent = require('./Components/SettingComponents/MultipleFileComponent.cjs');
|
41
|
+
var import_MultipleTextComponent = require('./Components/SettingComponents/MultipleTextComponent.cjs');
|
42
|
+
var import_NumberComponent = require('./Components/SettingComponents/NumberComponent.cjs');
|
43
|
+
var import_TimeComponent = require('./Components/SettingComponents/TimeComponent.cjs');
|
44
|
+
var import_TriStateCheckboxComponent = require('./Components/SettingComponents/TriStateCheckboxComponent.cjs');
|
45
|
+
var import_TypedDropdownComponent = require('./Components/SettingComponents/TypedDropdownComponent.cjs');
|
46
|
+
var import_TypedMultipleDropdownComponent = require('./Components/SettingComponents/TypedMultipleDropdownComponent.cjs');
|
47
|
+
var import_UrlComponent = require('./Components/SettingComponents/UrlComponent.cjs');
|
48
|
+
var import_WeekComponent = require('./Components/SettingComponents/WeekComponent.cjs');
|
49
49
|
class SettingEx extends import_obsidian.Setting {
|
50
50
|
/**
|
51
51
|
* Adds a {@link CheckboxComponent} to the setting.
|
@@ -219,4 +219,4 @@ class SettingEx extends import_obsidian.Setting {
|
|
219
219
|
0 && (module.exports = {
|
220
220
|
SettingEx
|
221
221
|
});
|
222
|
-
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vc3JjL29ic2lkaWFuL1NldHRpbmdFeC50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsiLyoqXG4gKiBAcGFja2FnZURvY3VtZW50YXRpb25cbiAqXG4gKiBFeHRlbmRzIHRoZSBTZXR0aW5nIGNsYXNzIHdpdGggYWRkaXRpb25hbCBtZXRob2RzIGZvciBhZGRpbmcgY29tcG9uZW50cy5cbiAqL1xuXG5pbXBvcnQgdHlwZSB7IEJhc2VDb21wb25lbnQgfSBmcm9tICdvYnNpZGlhbic7XG5cbmltcG9ydCB7IFNldHRpbmcgfSBmcm9tICdvYnNpZGlhbic7XG5cbmltcG9ydCB7IENoZWNrYm94Q29tcG9uZW50IH0gZnJvbSAnLi9Db21wb25lbnRzL0NoZWNrYm94Q29tcG9uZW50LnRzJztcbmltcG9ydCB7IERhdGVDb21wb25lbnQgfSBmcm9tICcuL0NvbXBvbmVudHMvRGF0ZUNvbXBvbmVudC50cyc7XG5pbXBvcnQgeyBEYXRlVGltZUNvbXBvbmVudCB9IGZyb20gJy4vQ29tcG9uZW50cy9EYXRlVGltZUNvbXBvbmVudC50cyc7XG5pbXBvcnQgeyBFbWFpbENvbXBvbmVudCB9IGZyb20gJy4vQ29tcG9uZW50cy9FbWFpbENvbXBvbmVudC50cyc7XG5pbXBvcnQgeyBGaWxlQ29tcG9uZW50IH0gZnJvbSAnLi9Db21wb25lbnRzL0ZpbGVDb21wb25lbnQudHMnO1xuaW1wb3J0IHsgTW9udGhDb21wb25lbnQgfSBmcm9tICcuL0NvbXBvbmVudHMvTW9udGhDb21wb25lbnQudHMnO1xuaW1wb3J0IHsgTXVsdGlwbGVEcm9wZG93bkNvbXBvbmVudCB9IGZyb20gJy4vQ29tcG9uZW50cy9NdWx0aXBsZURyb3Bkb3duQ29tcG9uZW50LnRzJztcbmltcG9ydCB7IE11bHRpcGxlRW1haWxDb21wb25lbnQgfSBmcm9tICcuL0NvbXBvbmVudHMvTXVsdGlwbGVFbWFpbENvbXBvbmVudC50cyc7XG5pbXBvcnQgeyBNdWx0aXBsZUZpbGVDb21wb25lbnQgfSBmcm9tICcuL0NvbXBvbmVudHMvTXVsdGlwbGVGaWxlQ29tcG9uZW50LnRzJztcbmltcG9ydCB7IE11bHRpcGxlVGV4dENvbXBvbmVudCB9IGZyb20gJy4vQ29tcG9uZW50cy9NdWx0aXBsZVRleHRDb21wb25lbnQudHMnO1xuaW1wb3J0IHsgTnVtYmVyQ29tcG9uZW50IH0gZnJvbSAnLi9Db21wb25lbnRzL051bWJlckNvbXBvbmVudC50cyc7XG5pbXBvcnQgeyBUaW1lQ29tcG9uZW50IH0gZnJvbSAnLi9Db21wb25lbnRzL1RpbWVDb21wb25lbnQudHMnO1xuaW1wb3J0IHsgVHJpU3RhdGVDaGVja2JveENvbXBvbmVudCB9IGZyb20gJy4vQ29tcG9uZW50cy9UcmlTdGF0ZUNoZWNrYm94Q29tcG9uZW50LnRzJztcbmltcG9ydCB7IFR5cGVkRHJvcGRvd25Db21wb25lbnQgfSBmcm9tICcuL0NvbXBvbmVudHMvVHlwZWREcm9wZG93bkNvbXBvbmVudC50cyc7XG5pbXBvcnQgeyBUeXBlZE11bHRpcGxlRHJvcGRvd25Db21wb25lbnQgfSBmcm9tICcuL0NvbXBvbmVudHMvVHlwZWRNdWx0aXBsZURyb3Bkb3duQ29tcG9uZW50LnRzJztcbmltcG9ydCB7IFVybENvbXBvbmVudCB9IGZyb20gJy4vQ29tcG9uZW50cy9VcmxDb21wb25lbnQudHMnO1xuaW1wb3J0IHsgV2Vla0NvbXBvbmVudCB9IGZyb20gJy4vQ29tcG9uZW50cy9XZWVrQ29tcG9uZW50LnRzJztcblxuLyoqXG4gKiBFeHRlbmRzIHRoZSBTZXR0aW5nIGNsYXNzIHdpdGggYWRkaXRpb25hbCBtZXRob2RzIGZvciBhZGRpbmcgY29tcG9uZW50cy5cbiAqL1xuZXhwb3J0IGNsYXNzIFNldHRpbmdFeCBleHRlbmRzIFNldHRpbmcge1xuICAvKipcbiAgICogQWRkcyBhIHtAbGluayBDaGVja2JveENvbXBvbmVudH0gdG8gdGhlIHNldHRpbmcuXG4gICAqXG4gICAqIEBwYXJhbSBjYiAtIFRoZSBjYWxsYmFjayB0byBjYWxsIHdpdGggdGhlIGNvbXBvbmVudC5cbiAgICogQHJldHVybnMgVGhlIHNldHRpbmcgaW5zdGFuY2UuXG4gICAqL1xuICBwdWJsaWMgYWRkQ2hlY2tib3goY2I6IChjb21wb25lbnQ6IENoZWNrYm94Q29tcG9uZW50KSA9PiB2b2lkKTogdGhpcyB7XG4gICAgcmV0dXJuIHRoaXMuYWRkQ29tcG9uZW50KENoZWNrYm94Q29tcG9uZW50LCBjYik7XG4gIH1cblxuICAvKipcbiAgICogQWRkcyBhIGNvbXBvbmVudCB0byB0aGUgc2V0dGluZy5cbiAgICpcbiAgICogQHR5cGVQYXJhbSBUIC0gVGhlIHR5cGUgb2YgdGhlIGNvbXBvbmVudCB0byBhZGQuXG4gICAqIEBwYXJhbSBjb21wb25lbnRDbGFzcyAtIFRoZSBjbGFzcyBvZiB0aGUgY29tcG9uZW50IHRvIGFkZC5cbiAgICogQHBhcmFtIGNiIC0gVGhlIGNhbGxiYWNrIHRvIGNhbGwgd2l0aCB0aGUgY29tcG9uZW50LlxuICAgKiBAcmV0dXJucyBUaGUgc2V0dGluZyBpbnN0YW5jZS5cbiAgICovXG4gIHB1YmxpYyBhZGRDb21wb25lbnQ8VCBleHRlbmRzIEJhc2VDb21wb25lbnQ+KGNvbXBvbmVudENsYXNzOiBuZXcgKGNvbnRhaW5lckVsOiBIVE1MRWxlbWVudCkgPT4gVCwgY2I6IChjb21wb25lbnQ6IFQpID0+IHZvaWQpOiB0aGlzIHtcbiAgICBjb25zdCBjb21wb25lbnQgPSBuZXcgY29tcG9uZW50Q2xhc3ModGhpcy5jb250cm9sRWwpO1xuICAgIHRoaXMuY29tcG9uZW50cy5wdXNoKGNvbXBvbmVudCk7XG4gICAgY2IoY29tcG9uZW50KTtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIC8qKlxuICAgKiBBZGRzIGEge0BsaW5rIERhdGVDb21wb25lbnR9IHRvIHRoZSBzZXR0aW5nLlxuICAgKlxuICAgKiBAcGFyYW0gY2IgLSBUaGUgY2FsbGJhY2sgdG8gY2FsbCB3aXRoIHRoZSBjb21wb25lbnQuXG4gICAqIEByZXR1cm5zIFRoZSBzZXR0aW5nIGluc3RhbmNlLlxuICAgKi9cbiAgcHVibGljIGFkZERhdGUoY2I6IChjb21wb25lbnQ6IERhdGVDb21wb25lbnQpID0+IHZvaWQpOiB0aGlzIHtcbiAgICByZXR1cm4gdGhpcy5hZGRDb21wb25lbnQoRGF0ZUNvbXBvbmVudCwgY2IpO1xuICB9XG5cbiAgLyoqXG4gICAqIEFkZHMgYSB7QGxpbmsgRGF0ZVRpbWVDb21wb25lbnR9IHRvIHRoZSBzZXR0aW5nLlxuICAgKlxuICAgKiBAcGFyYW0gY2IgLSBUaGUgY2FsbGJhY2sgdG8gY2FsbCB3aXRoIHRoZSBjb21wb25lbnQuXG4gICAqIEByZXR1cm5zIFRoZSBzZXR0aW5nIGluc3RhbmNlLlxuICAgKi9cbiAgcHVibGljIGFkZERhdGVUaW1lKGNiOiAoY29tcG9uZW50OiBEYXRlVGltZUNvbXBvbmVudCkgPT4gdm9pZCk6IHRoaXMge1xuICAgIHJldHVybiB0aGlzLmFkZENvbXBvbmVudChEYXRlVGltZUNvbXBvbmVudCwgY2IpO1xuICB9XG5cbiAgLyoqXG4gICAqIEFkZHMgYW4ge0BsaW5rIEVtYWlsQ29tcG9uZW50fSB0byB0aGUgc2V0dGluZy5cbiAgICpcbiAgICogQHBhcmFtIGNiIC0gVGhlIGNhbGxiYWNrIHRvIGNhbGwgd2l0aCB0aGUgY29tcG9uZW50LlxuICAgKiBAcmV0dXJucyBUaGUgc2V0dGluZyBpbnN0YW5jZS5cbiAgICovXG4gIHB1YmxpYyBhZGRFbWFpbChjYjogKGNvbXBvbmVudDogRW1haWxDb21wb25lbnQpID0+IHZvaWQpOiB0aGlzIHtcbiAgICByZXR1cm4gdGhpcy5hZGRDb21wb25lbnQoRW1haWxDb21wb25lbnQsIGNiKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBBZGRzIGEge0BsaW5rIEZpbGVDb21wb25lbnR9IHRvIHRoZSBzZXR0aW5nLlxuICAgKlxuICAgKiBAcGFyYW0gY2IgLSBUaGUgY2FsbGJhY2sgdG8gY2FsbCB3aXRoIHRoZSBjb21wb25lbnQuXG4gICAqIEByZXR1cm5zIFRoZSBzZXR0aW5nIGluc3RhbmNlLlxuICAgKi9cbiAgcHVibGljIGFkZEZpbGUoY2I6IChjb21wb25lbnQ6IEZpbGVDb21wb25lbnQpID0+IHZvaWQpOiB0aGlzIHtcbiAgICByZXR1cm4gdGhpcy5hZGRDb21wb25lbnQoRmlsZUNvbXBvbmVudCwgY2IpO1xuICB9XG5cbiAgLyoqXG4gICAqIEFkZHMgYSB7QGxpbmsgTW9udGhDb21wb25lbnR9IHRvIHRoZSBzZXR0aW5nLlxuICAgKlxuICAgKiBAcGFyYW0gY2IgLSBUaGUgY2FsbGJhY2sgdG8gY2FsbCB3aXRoIHRoZSBjb21wb25lbnQuXG4gICAqIEByZXR1cm5zIFRoZSBzZXR0aW5nIGluc3RhbmNlLlxuICAgKi9cbiAgcHVibGljIGFkZE1vbnRoKGNiOiAoY29tcG9uZW50OiBNb250aENvbXBvbmVudCkgPT4gdm9pZCk6IHRoaXMge1xuICAgIHJldHVybiB0aGlzLmFkZENvbXBvbmVudChNb250aENvbXBvbmVudCwgY2IpO1xuICB9XG5cbiAgLyoqXG4gICAqIEFkZHMgYSB7QGxpbmsgTXVsdGlwbGVEcm9wZG93bkNvbXBvbmVudH0gdG8gdGhlIHNldHRpbmcuXG4gICAqXG4gICAqIEBwYXJhbSBjYiAtIFRoZSBjYWxsYmFjayB0byBjYWxsIHdpdGggdGhlIGNvbXBvbmVudC5cbiAgICogQHJldHVybnMgVGhlIHNldHRpbmcgaW5zdGFuY2UuXG4gICAqL1xuICBwdWJsaWMgYWRkTXVsdGlwbGVEcm9wZG93bihjYjogKGNvbXBvbmVudDogTXVsdGlwbGVEcm9wZG93bkNvbXBvbmVudCkgPT4gdm9pZCk6IHRoaXMge1xuICAgIHJldHVybiB0aGlzLmFkZENvbXBvbmVudChNdWx0aXBsZURyb3Bkb3duQ29tcG9uZW50LCBjYik7XG4gIH1cblxuICAvKipcbiAgICogQWRkcyBhIHtAbGluayBNdWx0aXBsZUVtYWlsQ29tcG9uZW50fSB0byB0aGUgc2V0dGluZy5cbiAgICpcbiAgICogQHBhcmFtIGNiIC0gVGhlIGNhbGxiYWNrIHRvIGNhbGwgd2l0aCB0aGUgY29tcG9uZW50LlxuICAgKiBAcmV0dXJucyBUaGUgc2V0dGluZyBpbnN0YW5jZS5cbiAgICovXG4gIHB1YmxpYyBhZGRNdWx0aXBsZUVtYWlsKGNiOiAoY29tcG9uZW50OiBNdWx0aXBsZUVtYWlsQ29tcG9uZW50KSA9PiB2b2lkKTogdGhpcyB7XG4gICAgcmV0dXJuIHRoaXMuYWRkQ29tcG9uZW50KE11bHRpcGxlRW1haWxDb21wb25lbnQsIGNiKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBBZGRzIGEge0BsaW5rIE11bHRpcGxlRmlsZUNvbXBvbmVudH0gdG8gdGhlIHNldHRpbmcuXG4gICAqXG4gICAqIEBwYXJhbSBjYiAtIFRoZSBjYWxsYmFjayB0byBjYWxsIHdpdGggdGhlIGNvbXBvbmVudC5cbiAgICogQHJldHVybnMgVGhlIHNldHRpbmcgaW5zdGFuY2UuXG4gICAqL1xuICBwdWJsaWMgYWRkTXVsdGlwbGVGaWxlKGNiOiAoY29tcG9uZW50OiBNdWx0aXBsZUZpbGVDb21wb25lbnQpID0+IHZvaWQpOiB0aGlzIHtcbiAgICByZXR1cm4gdGhpcy5hZGRDb21wb25lbnQoTXVsdGlwbGVGaWxlQ29tcG9uZW50LCBjYik7XG4gIH1cblxuICAvKipcbiAgICogQWRkcyBhIHtAbGluayBNdWx0aXBsZVRleHRDb21wb25lbnR9IHRvIHRoZSBzZXR0aW5nLlxuICAgKlxuICAgKiBAcGFyYW0gY2IgLSBUaGUgY2FsbGJhY2sgdG8gY2FsbCB3aXRoIHRoZSBjb21wb25lbnQuXG4gICAqIEByZXR1cm5zIFRoZSBzZXR0aW5nIGluc3RhbmNlLlxuICAgKi9cbiAgcHVibGljIGFkZE11bHRpcGxlVGV4dChjYjogKGNvbXBvbmVudDogTXVsdGlwbGVUZXh0Q29tcG9uZW50KSA9PiB2b2lkKTogdGhpcyB7XG4gICAgcmV0dXJuIHRoaXMuYWRkQ29tcG9uZW50KE11bHRpcGxlVGV4dENvbXBvbmVudCwgY2IpO1xuICB9XG5cbiAgLyoqXG4gICAqIEFkZHMgYSB7QGxpbmsgTnVtYmVyQ29tcG9uZW50fSB0byB0aGUgc2V0dGluZy5cbiAgICpcbiAgICogQHBhcmFtIGNiIC0gVGhlIGNhbGxiYWNrIHRvIGNhbGwgd2l0aCB0aGUgY29tcG9uZW50LlxuICAgKiBAcmV0dXJucyBUaGUgc2V0dGluZyBpbnN0YW5jZS5cbiAgICovXG4gIHB1YmxpYyBhZGROdW1iZXIoY2I6IChjb21wb25lbnQ6IE51bWJlckNvbXBvbmVudCkgPT4gdm9pZCk6IHRoaXMge1xuICAgIHJldHVybiB0aGlzLmFkZENvbXBvbmVudChOdW1iZXJDb21wb25lbnQsIGNiKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBBZGRzIGEge0BsaW5rIFRpbWVDb21wb25lbnR9IHRvIHRoZSBzZXR0aW5nLlxuICAgKlxuICAgKiBAcGFyYW0gY2IgLSBUaGUgY2FsbGJhY2sgdG8gY2FsbCB3aXRoIHRoZSBjb21wb25lbnQuXG4gICAqIEByZXR1cm5zIFRoZSBzZXR0aW5nIGluc3RhbmNlLlxuICAgKi9cbiAgcHVibGljIGFkZFRpbWUoY2I6IChjb21wb25lbnQ6IFRpbWVDb21wb25lbnQpID0+IHZvaWQpOiB0aGlzIHtcbiAgICByZXR1cm4gdGhpcy5hZGRDb21wb25lbnQoVGltZUNvbXBvbmVudCwgY2IpO1xuICB9XG5cbiAgLyoqXG4gICAqIEFkZHMgYSB7QGxpbmsgVHJpU3RhdGVDaGVja2JveENvbXBvbmVudH0gdG8gdGhlIHNldHRpbmcuXG4gICAqXG4gICAqIEBwYXJhbSBjYiAtIFRoZSBjYWxsYmFjayB0byBjYWxsIHdpdGggdGhlIGNvbXBvbmVudC5cbiAgICogQHJldHVybnMgVGhlIHNldHRpbmcgaW5zdGFuY2UuXG4gICAqL1xuICBwdWJsaWMgYWRkVHJpU3RhdGVDaGVja2JveChjYjogKGNvbXBvbmVudDogVHJpU3RhdGVDaGVja2JveENvbXBvbmVudCkgPT4gdm9pZCk6IHRoaXMge1xuICAgIHJldHVybiB0aGlzLmFkZENvbXBvbmVudChUcmlTdGF0ZUNoZWNrYm94Q29tcG9uZW50LCBjYik7XG4gIH1cblxuICAvKipcbiAgICogQWRkcyBhIHtAbGluayBUeXBlZERyb3Bkb3duQ29tcG9uZW50fSB0byB0aGUgc2V0dGluZy5cbiAgICpcbiAgICogQHBhcmFtIGNiIC0gVGhlIGNhbGxiYWNrIHRvIGNhbGwgd2l0aCB0aGUgY29tcG9uZW50LlxuICAgKiBAcmV0dXJucyBUaGUgc2V0dGluZyBpbnN0YW5jZS5cbiAgICovXG4gIHB1YmxpYyBhZGRUeXBlZERyb3Bkb3duPFQ+KGNiOiAoY29tcG9uZW50OiBUeXBlZERyb3Bkb3duQ29tcG9uZW50PFQ+KSA9PiB2b2lkKTogdGhpcyB7XG4gICAgcmV0dXJuIHRoaXMuYWRkQ29tcG9uZW50KFR5cGVkRHJvcGRvd25Db21wb25lbnQ8VD4sIGNiKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBBZGRzIGEge0BsaW5rIFR5cGVkTXVsdGlwbGVEcm9wZG93bkNvbXBvbmVudH0gdG8gdGhlIHNldHRpbmcuXG4gICAqXG4gICAqIEBwYXJhbSBjYiAtIFRoZSBjYWxsYmFjayB0byBjYWxsIHdpdGggdGhlIGNvbXBvbmVudC5cbiAgICogQHJldHVybnMgVGhlIHNldHRpbmcgaW5zdGFuY2UuXG4gICAqL1xuICBwdWJsaWMgYWRkVHlwZWRNdWx0aXBsZURyb3Bkb3duPFQ+KGNiOiAoY29tcG9uZW50OiBUeXBlZE11bHRpcGxlRHJvcGRvd25Db21wb25lbnQ8VD4pID0+IHZvaWQpOiB0aGlzIHtcbiAgICByZXR1cm4gdGhpcy5hZGRDb21wb25lbnQoVHlwZWRNdWx0aXBsZURyb3Bkb3duQ29tcG9uZW50PFQ+LCBjYik7XG4gIH1cblxuICAvKipcbiAgICogQWRkcyBhbiB7QGxpbmsgVXJsQ29tcG9uZW50fSB0byB0aGUgc2V0dGluZy5cbiAgICpcbiAgICogQHBhcmFtIGNiIC0gVGhlIGNhbGxiYWNrIHRvIGNhbGwgd2l0aCB0aGUgY29tcG9uZW50LlxuICAgKiBAcmV0dXJucyBUaGUgc2V0dGluZyBpbnN0YW5jZS5cbiAgICovXG4gIHB1YmxpYyBhZGRVcmwoY2I6IChjb21wb25lbnQ6IFVybENvbXBvbmVudCkgPT4gdm9pZCk6IHRoaXMge1xuICAgIHJldHVybiB0aGlzLmFkZENvbXBvbmVudChVcmxDb21wb25lbnQsIGNiKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBBZGRzIGEge0BsaW5rIFdlZWtDb21wb25lbnR9IHRvIHRoZSBzZXR0aW5nLlxuICAgKlxuICAgKiBAcGFyYW0gY2IgLSBUaGUgY2FsbGJhY2sgdG8gY2FsbCB3aXRoIHRoZSBjb21wb25lbnQuXG4gICAqIEByZXR1cm5zIFRoZSBzZXR0aW5nIGluc3RhbmNlLlxuICAgKi9cbiAgcHVibGljIGFkZFdlZWsoY2I6IChjb21wb25lbnQ6IFdlZWtDb21wb25lbnQpID0+IHZvaWQpOiB0aGlzIHtcbiAgICByZXR1cm4gdGhpcy5hZGRDb21wb25lbnQoV2Vla0NvbXBvbmVudCwgY2IpO1xuICB9XG59XG4iXSwKICAibWFwcGluZ3MiOiAiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQVFBLHNCQUF3QjtBQUV4QiwrQkFBa0M7QUFDbEMsMkJBQThCO0FBQzlCLCtCQUFrQztBQUNsQyw0QkFBK0I7QUFDL0IsMkJBQThCO0FBQzlCLDRCQUErQjtBQUMvQix1Q0FBMEM7QUFDMUMsb0NBQXVDO0FBQ3ZDLG1DQUFzQztBQUN0QyxtQ0FBc0M7QUFDdEMsNkJBQWdDO0FBQ2hDLDJCQUE4QjtBQUM5Qix1Q0FBMEM7QUFDMUMsb0NBQXVDO0FBQ3ZDLDRDQUErQztBQUMvQywwQkFBNkI7QUFDN0IsMkJBQThCO0FBS3ZCLE1BQU0sa0JBQWtCLHdCQUFRO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFPOUIsWUFBWSxJQUFrRDtBQUNuRSxXQUFPLEtBQUssYUFBYSw0Q0FBbUIsRUFBRTtBQUFBLEVBQ2hEO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBVU8sYUFBc0MsZ0JBQXFELElBQWtDO0FBQ2xJLFVBQU0sWUFBWSxJQUFJLGVBQWUsS0FBSyxTQUFTO0FBQ25ELFNBQUssV0FBVyxLQUFLLFNBQVM7QUFD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
|
222
|
+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vc3JjL29ic2lkaWFuL1NldHRpbmdFeC50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsiLyoqXG4gKiBAcGFja2FnZURvY3VtZW50YXRpb25cbiAqXG4gKiBFeHRlbmRzIHRoZSBTZXR0aW5nIGNsYXNzIHdpdGggYWRkaXRpb25hbCBtZXRob2RzIGZvciBhZGRpbmcgY29tcG9uZW50cy5cbiAqL1xuXG5pbXBvcnQgdHlwZSB7IEJhc2VDb21wb25lbnQgfSBmcm9tICdvYnNpZGlhbic7XG5cbmltcG9ydCB7IFNldHRpbmcgfSBmcm9tICdvYnNpZGlhbic7XG5cbmltcG9ydCB7IENoZWNrYm94Q29tcG9uZW50IH0gZnJvbSAnLi9Db21wb25lbnRzL1NldHRpbmdDb21wb25lbnRzL0NoZWNrYm94Q29tcG9uZW50LnRzJztcbmltcG9ydCB7IERhdGVDb21wb25lbnQgfSBmcm9tICcuL0NvbXBvbmVudHMvU2V0dGluZ0NvbXBvbmVudHMvRGF0ZUNvbXBvbmVudC50cyc7XG5pbXBvcnQgeyBEYXRlVGltZUNvbXBvbmVudCB9IGZyb20gJy4vQ29tcG9uZW50cy9TZXR0aW5nQ29tcG9uZW50cy9EYXRlVGltZUNvbXBvbmVudC50cyc7XG5pbXBvcnQgeyBFbWFpbENvbXBvbmVudCB9IGZyb20gJy4vQ29tcG9uZW50cy9TZXR0aW5nQ29tcG9uZW50cy9FbWFpbENvbXBvbmVudC50cyc7XG5pbXBvcnQgeyBGaWxlQ29tcG9uZW50IH0gZnJvbSAnLi9Db21wb25lbnRzL1NldHRpbmdDb21wb25lbnRzL0ZpbGVDb21wb25lbnQudHMnO1xuaW1wb3J0IHsgTW9udGhDb21wb25lbnQgfSBmcm9tICcuL0NvbXBvbmVudHMvU2V0dGluZ0NvbXBvbmVudHMvTW9udGhDb21wb25lbnQudHMnO1xuaW1wb3J0IHsgTXVsdGlwbGVEcm9wZG93bkNvbXBvbmVudCB9IGZyb20gJy4vQ29tcG9uZW50cy9TZXR0aW5nQ29tcG9uZW50cy9NdWx0aXBsZURyb3Bkb3duQ29tcG9uZW50LnRzJztcbmltcG9ydCB7IE11bHRpcGxlRW1haWxDb21wb25lbnQgfSBmcm9tICcuL0NvbXBvbmVudHMvU2V0dGluZ0NvbXBvbmVudHMvTXVsdGlwbGVFbWFpbENvbXBvbmVudC50cyc7XG5pbXBvcnQgeyBNdWx0aXBsZUZpbGVDb21wb25lbnQgfSBmcm9tICcuL0NvbXBvbmVudHMvU2V0dGluZ0NvbXBvbmVudHMvTXVsdGlwbGVGaWxlQ29tcG9uZW50LnRzJztcbmltcG9ydCB7IE11bHRpcGxlVGV4dENvbXBvbmVudCB9IGZyb20gJy4vQ29tcG9uZW50cy9TZXR0aW5nQ29tcG9uZW50cy9NdWx0aXBsZVRleHRDb21wb25lbnQudHMnO1xuaW1wb3J0IHsgTnVtYmVyQ29tcG9uZW50IH0gZnJvbSAnLi9Db21wb25lbnRzL1NldHRpbmdDb21wb25lbnRzL051bWJlckNvbXBvbmVudC50cyc7XG5pbXBvcnQgeyBUaW1lQ29tcG9uZW50IH0gZnJvbSAnLi9Db21wb25lbnRzL1NldHRpbmdDb21wb25lbnRzL1RpbWVDb21wb25lbnQudHMnO1xuaW1wb3J0IHsgVHJpU3RhdGVDaGVja2JveENvbXBvbmVudCB9IGZyb20gJy4vQ29tcG9uZW50cy9TZXR0aW5nQ29tcG9uZW50cy9UcmlTdGF0ZUNoZWNrYm94Q29tcG9uZW50LnRzJztcbmltcG9ydCB7IFR5cGVkRHJvcGRvd25Db21wb25lbnQgfSBmcm9tICcuL0NvbXBvbmVudHMvU2V0dGluZ0NvbXBvbmVudHMvVHlwZWREcm9wZG93bkNvbXBvbmVudC50cyc7XG5pbXBvcnQgeyBUeXBlZE11bHRpcGxlRHJvcGRvd25Db21wb25lbnQgfSBmcm9tICcuL0NvbXBvbmVudHMvU2V0dGluZ0NvbXBvbmVudHMvVHlwZWRNdWx0aXBsZURyb3Bkb3duQ29tcG9uZW50LnRzJztcbmltcG9ydCB7IFVybENvbXBvbmVudCB9IGZyb20gJy4vQ29tcG9uZW50cy9TZXR0aW5nQ29tcG9uZW50cy9VcmxDb21wb25lbnQudHMnO1xuaW1wb3J0IHsgV2Vla0NvbXBvbmVudCB9IGZyb20gJy4vQ29tcG9uZW50cy9TZXR0aW5nQ29tcG9uZW50cy9XZWVrQ29tcG9uZW50LnRzJztcblxuLyoqXG4gKiBFeHRlbmRzIHRoZSBTZXR0aW5nIGNsYXNzIHdpdGggYWRkaXRpb25hbCBtZXRob2RzIGZvciBhZGRpbmcgY29tcG9uZW50cy5cbiAqL1xuZXhwb3J0IGNsYXNzIFNldHRpbmdFeCBleHRlbmRzIFNldHRpbmcge1xuICAvKipcbiAgICogQWRkcyBhIHtAbGluayBDaGVja2JveENvbXBvbmVudH0gdG8gdGhlIHNldHRpbmcuXG4gICAqXG4gICAqIEBwYXJhbSBjYiAtIFRoZSBjYWxsYmFjayB0byBjYWxsIHdpdGggdGhlIGNvbXBvbmVudC5cbiAgICogQHJldHVybnMgVGhlIHNldHRpbmcgaW5zdGFuY2UuXG4gICAqL1xuICBwdWJsaWMgYWRkQ2hlY2tib3goY2I6IChjb21wb25lbnQ6IENoZWNrYm94Q29tcG9uZW50KSA9PiB2b2lkKTogdGhpcyB7XG4gICAgcmV0dXJuIHRoaXMuYWRkQ29tcG9uZW50KENoZWNrYm94Q29tcG9uZW50LCBjYik7XG4gIH1cblxuICAvKipcbiAgICogQWRkcyBhIGNvbXBvbmVudCB0byB0aGUgc2V0dGluZy5cbiAgICpcbiAgICogQHR5cGVQYXJhbSBUIC0gVGhlIHR5cGUgb2YgdGhlIGNvbXBvbmVudCB0byBhZGQuXG4gICAqIEBwYXJhbSBjb21wb25lbnRDbGFzcyAtIFRoZSBjbGFzcyBvZiB0aGUgY29tcG9uZW50IHRvIGFkZC5cbiAgICogQHBhcmFtIGNiIC0gVGhlIGNhbGxiYWNrIHRvIGNhbGwgd2l0aCB0aGUgY29tcG9uZW50LlxuICAgKiBAcmV0dXJucyBUaGUgc2V0dGluZyBpbnN0YW5jZS5cbiAgICovXG4gIHB1YmxpYyBhZGRDb21wb25lbnQ8VCBleHRlbmRzIEJhc2VDb21wb25lbnQ+KGNvbXBvbmVudENsYXNzOiBuZXcgKGNvbnRhaW5lckVsOiBIVE1MRWxlbWVudCkgPT4gVCwgY2I6IChjb21wb25lbnQ6IFQpID0+IHZvaWQpOiB0aGlzIHtcbiAgICBjb25zdCBjb21wb25lbnQgPSBuZXcgY29tcG9uZW50Q2xhc3ModGhpcy5jb250cm9sRWwpO1xuICAgIHRoaXMuY29tcG9uZW50cy5wdXNoKGNvbXBvbmVudCk7XG4gICAgY2IoY29tcG9uZW50KTtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIC8qKlxuICAgKiBBZGRzIGEge0BsaW5rIERhdGVDb21wb25lbnR9IHRvIHRoZSBzZXR0aW5nLlxuICAgKlxuICAgKiBAcGFyYW0gY2IgLSBUaGUgY2FsbGJhY2sgdG8gY2FsbCB3aXRoIHRoZSBjb21wb25lbnQuXG4gICAqIEByZXR1cm5zIFRoZSBzZXR0aW5nIGluc3RhbmNlLlxuICAgKi9cbiAgcHVibGljIGFkZERhdGUoY2I6IChjb21wb25lbnQ6IERhdGVDb21wb25lbnQpID0+IHZvaWQpOiB0aGlzIHtcbiAgICByZXR1cm4gdGhpcy5hZGRDb21wb25lbnQoRGF0ZUNvbXBvbmVudCwgY2IpO1xuICB9XG5cbiAgLyoqXG4gICAqIEFkZHMgYSB7QGxpbmsgRGF0ZVRpbWVDb21wb25lbnR9IHRvIHRoZSBzZXR0aW5nLlxuICAgKlxuICAgKiBAcGFyYW0gY2IgLSBUaGUgY2FsbGJhY2sgdG8gY2FsbCB3aXRoIHRoZSBjb21wb25lbnQuXG4gICAqIEByZXR1cm5zIFRoZSBzZXR0aW5nIGluc3RhbmNlLlxuICAgKi9cbiAgcHVibGljIGFkZERhdGVUaW1lKGNiOiAoY29tcG9uZW50OiBEYXRlVGltZUNvbXBvbmVudCkgPT4gdm9pZCk6IHRoaXMge1xuICAgIHJldHVybiB0aGlzLmFkZENvbXBvbmVudChEYXRlVGltZUNvbXBvbmVudCwgY2IpO1xuICB9XG5cbiAgLyoqXG4gICAqIEFkZHMgYW4ge0BsaW5rIEVtYWlsQ29tcG9uZW50fSB0byB0aGUgc2V0dGluZy5cbiAgICpcbiAgICogQHBhcmFtIGNiIC0gVGhlIGNhbGxiYWNrIHRvIGNhbGwgd2l0aCB0aGUgY29tcG9uZW50LlxuICAgKiBAcmV0dXJucyBUaGUgc2V0dGluZyBpbnN0YW5jZS5cbiAgICovXG4gIHB1YmxpYyBhZGRFbWFpbChjYjogKGNvbXBvbmVudDogRW1haWxDb21wb25lbnQpID0+IHZvaWQpOiB0aGlzIHtcbiAgICByZXR1cm4gdGhpcy5hZGRDb21wb25lbnQoRW1haWxDb21wb25lbnQsIGNiKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBBZGRzIGEge0BsaW5rIEZpbGVDb21wb25lbnR9IHRvIHRoZSBzZXR0aW5nLlxuICAgKlxuICAgKiBAcGFyYW0gY2IgLSBUaGUgY2FsbGJhY2sgdG8gY2FsbCB3aXRoIHRoZSBjb21wb25lbnQuXG4gICAqIEByZXR1cm5zIFRoZSBzZXR0aW5nIGluc3RhbmNlLlxuICAgKi9cbiAgcHVibGljIGFkZEZpbGUoY2I6IChjb21wb25lbnQ6IEZpbGVDb21wb25lbnQpID0+IHZvaWQpOiB0aGlzIHtcbiAgICByZXR1cm4gdGhpcy5hZGRDb21wb25lbnQoRmlsZUNvbXBvbmVudCwgY2IpO1xuICB9XG5cbiAgLyoqXG4gICAqIEFkZHMgYSB7QGxpbmsgTW9udGhDb21wb25lbnR9IHRvIHRoZSBzZXR0aW5nLlxuICAgKlxuICAgKiBAcGFyYW0gY2IgLSBUaGUgY2FsbGJhY2sgdG8gY2FsbCB3aXRoIHRoZSBjb21wb25lbnQuXG4gICAqIEByZXR1cm5zIFRoZSBzZXR0aW5nIGluc3RhbmNlLlxuICAgKi9cbiAgcHVibGljIGFkZE1vbnRoKGNiOiAoY29tcG9uZW50OiBNb250aENvbXBvbmVudCkgPT4gdm9pZCk6IHRoaXMge1xuICAgIHJldHVybiB0aGlzLmFkZENvbXBvbmVudChNb250aENvbXBvbmVudCwgY2IpO1xuICB9XG5cbiAgLyoqXG4gICAqIEFkZHMgYSB7QGxpbmsgTXVsdGlwbGVEcm9wZG93bkNvbXBvbmVudH0gdG8gdGhlIHNldHRpbmcuXG4gICAqXG4gICAqIEBwYXJhbSBjYiAtIFRoZSBjYWxsYmFjayB0byBjYWxsIHdpdGggdGhlIGNvbXBvbmVudC5cbiAgICogQHJldHVybnMgVGhlIHNldHRpbmcgaW5zdGFuY2UuXG4gICAqL1xuICBwdWJsaWMgYWRkTXVsdGlwbGVEcm9wZG93bihjYjogKGNvbXBvbmVudDogTXVsdGlwbGVEcm9wZG93bkNvbXBvbmVudCkgPT4gdm9pZCk6IHRoaXMge1xuICAgIHJldHVybiB0aGlzLmFkZENvbXBvbmVudChNdWx0aXBsZURyb3Bkb3duQ29tcG9uZW50LCBjYik7XG4gIH1cblxuICAvKipcbiAgICogQWRkcyBhIHtAbGluayBNdWx0aXBsZUVtYWlsQ29tcG9uZW50fSB0byB0aGUgc2V0dGluZy5cbiAgICpcbiAgICogQHBhcmFtIGNiIC0gVGhlIGNhbGxiYWNrIHRvIGNhbGwgd2l0aCB0aGUgY29tcG9uZW50LlxuICAgKiBAcmV0dXJucyBUaGUgc2V0dGluZyBpbnN0YW5jZS5cbiAgICovXG4gIHB1YmxpYyBhZGRNdWx0aXBsZUVtYWlsKGNiOiAoY29tcG9uZW50OiBNdWx0aXBsZUVtYWlsQ29tcG9uZW50KSA9PiB2b2lkKTogdGhpcyB7XG4gICAgcmV0dXJuIHRoaXMuYWRkQ29tcG9uZW50KE11bHRpcGxlRW1haWxDb21wb25lbnQsIGNiKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBBZGRzIGEge0BsaW5rIE11bHRpcGxlRmlsZUNvbXBvbmVudH0gdG8gdGhlIHNldHRpbmcuXG4gICAqXG4gICAqIEBwYXJhbSBjYiAtIFRoZSBjYWxsYmFjayB0byBjYWxsIHdpdGggdGhlIGNvbXBvbmVudC5cbiAgICogQHJldHVybnMgVGhlIHNldHRpbmcgaW5zdGFuY2UuXG4gICAqL1xuICBwdWJsaWMgYWRkTXVsdGlwbGVGaWxlKGNiOiAoY29tcG9uZW50OiBNdWx0aXBsZUZpbGVDb21wb25lbnQpID0+IHZvaWQpOiB0aGlzIHtcbiAgICByZXR1cm4gdGhpcy5hZGRDb21wb25lbnQoTXVsdGlwbGVGaWxlQ29tcG9uZW50LCBjYik7XG4gIH1cblxuICAvKipcbiAgICogQWRkcyBhIHtAbGluayBNdWx0aXBsZVRleHRDb21wb25lbnR9IHRvIHRoZSBzZXR0aW5nLlxuICAgKlxuICAgKiBAcGFyYW0gY2IgLSBUaGUgY2FsbGJhY2sgdG8gY2FsbCB3aXRoIHRoZSBjb21wb25lbnQuXG4gICAqIEByZXR1cm5zIFRoZSBzZXR0aW5nIGluc3RhbmNlLlxuICAgKi9cbiAgcHVibGljIGFkZE11bHRpcGxlVGV4dChjYjogKGNvbXBvbmVudDogTXVsdGlwbGVUZXh0Q29tcG9uZW50KSA9PiB2b2lkKTogdGhpcyB7XG4gICAgcmV0dXJuIHRoaXMuYWRkQ29tcG9uZW50KE11bHRpcGxlVGV4dENvbXBvbmVudCwgY2IpO1xuICB9XG5cbiAgLyoqXG4gICAqIEFkZHMgYSB7QGxpbmsgTnVtYmVyQ29tcG9uZW50fSB0byB0aGUgc2V0dGluZy5cbiAgICpcbiAgICogQHBhcmFtIGNiIC0gVGhlIGNhbGxiYWNrIHRvIGNhbGwgd2l0aCB0aGUgY29tcG9uZW50LlxuICAgKiBAcmV0dXJucyBUaGUgc2V0dGluZyBpbnN0YW5jZS5cbiAgICovXG4gIHB1YmxpYyBhZGROdW1iZXIoY2I6IChjb21wb25lbnQ6IE51bWJlckNvbXBvbmVudCkgPT4gdm9pZCk6IHRoaXMge1xuICAgIHJldHVybiB0aGlzLmFkZENvbXBvbmVudChOdW1iZXJDb21wb25lbnQsIGNiKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBBZGRzIGEge0BsaW5rIFRpbWVDb21wb25lbnR9IHRvIHRoZSBzZXR0aW5nLlxuICAgKlxuICAgKiBAcGFyYW0gY2IgLSBUaGUgY2FsbGJhY2sgdG8gY2FsbCB3aXRoIHRoZSBjb21wb25lbnQuXG4gICAqIEByZXR1cm5zIFRoZSBzZXR0aW5nIGluc3RhbmNlLlxuICAgKi9cbiAgcHVibGljIGFkZFRpbWUoY2I6IChjb21wb25lbnQ6IFRpbWVDb21wb25lbnQpID0+IHZvaWQpOiB0aGlzIHtcbiAgICByZXR1cm4gdGhpcy5hZGRDb21wb25lbnQoVGltZUNvbXBvbmVudCwgY2IpO1xuICB9XG5cbiAgLyoqXG4gICAqIEFkZHMgYSB7QGxpbmsgVHJpU3RhdGVDaGVja2JveENvbXBvbmVudH0gdG8gdGhlIHNldHRpbmcuXG4gICAqXG4gICAqIEBwYXJhbSBjYiAtIFRoZSBjYWxsYmFjayB0byBjYWxsIHdpdGggdGhlIGNvbXBvbmVudC5cbiAgICogQHJldHVybnMgVGhlIHNldHRpbmcgaW5zdGFuY2UuXG4gICAqL1xuICBwdWJsaWMgYWRkVHJpU3RhdGVDaGVja2JveChjYjogKGNvbXBvbmVudDogVHJpU3RhdGVDaGVja2JveENvbXBvbmVudCkgPT4gdm9pZCk6IHRoaXMge1xuICAgIHJldHVybiB0aGlzLmFkZENvbXBvbmVudChUcmlTdGF0ZUNoZWNrYm94Q29tcG9uZW50LCBjYik7XG4gIH1cblxuICAvKipcbiAgICogQWRkcyBhIHtAbGluayBUeXBlZERyb3Bkb3duQ29tcG9uZW50fSB0byB0aGUgc2V0dGluZy5cbiAgICpcbiAgICogQHBhcmFtIGNiIC0gVGhlIGNhbGxiYWNrIHRvIGNhbGwgd2l0aCB0aGUgY29tcG9uZW50LlxuICAgKiBAcmV0dXJucyBUaGUgc2V0dGluZyBpbnN0YW5jZS5cbiAgICovXG4gIHB1YmxpYyBhZGRUeXBlZERyb3Bkb3duPFQ+KGNiOiAoY29tcG9uZW50OiBUeXBlZERyb3Bkb3duQ29tcG9uZW50PFQ+KSA9PiB2b2lkKTogdGhpcyB7XG4gICAgcmV0dXJuIHRoaXMuYWRkQ29tcG9uZW50KFR5cGVkRHJvcGRvd25Db21wb25lbnQ8VD4sIGNiKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBBZGRzIGEge0BsaW5rIFR5cGVkTXVsdGlwbGVEcm9wZG93bkNvbXBvbmVudH0gdG8gdGhlIHNldHRpbmcuXG4gICAqXG4gICAqIEBwYXJhbSBjYiAtIFRoZSBjYWxsYmFjayB0byBjYWxsIHdpdGggdGhlIGNvbXBvbmVudC5cbiAgICogQHJldHVybnMgVGhlIHNldHRpbmcgaW5zdGFuY2UuXG4gICAqL1xuICBwdWJsaWMgYWRkVHlwZWRNdWx0aXBsZURyb3Bkb3duPFQ+KGNiOiAoY29tcG9uZW50OiBUeXBlZE11bHRpcGxlRHJvcGRvd25Db21wb25lbnQ8VD4pID0+IHZvaWQpOiB0aGlzIHtcbiAgICByZXR1cm4gdGhpcy5hZGRDb21wb25lbnQoVHlwZWRNdWx0aXBsZURyb3Bkb3duQ29tcG9uZW50PFQ+LCBjYik7XG4gIH1cblxuICAvKipcbiAgICogQWRkcyBhbiB7QGxpbmsgVXJsQ29tcG9uZW50fSB0byB0aGUgc2V0dGluZy5cbiAgICpcbiAgICogQHBhcmFtIGNiIC0gVGhlIGNhbGxiYWNrIHRvIGNhbGwgd2l0aCB0aGUgY29tcG9uZW50LlxuICAgKiBAcmV0dXJucyBUaGUgc2V0dGluZyBpbnN0YW5jZS5cbiAgICovXG4gIHB1YmxpYyBhZGRVcmwoY2I6IChjb21wb25lbnQ6IFVybENvbXBvbmVudCkgPT4gdm9pZCk6IHRoaXMge1xuICAgIHJldHVybiB0aGlzLmFkZENvbXBvbmVudChVcmxDb21wb25lbnQsIGNiKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBBZGRzIGEge0BsaW5rIFdlZWtDb21wb25lbnR9IHRvIHRoZSBzZXR0aW5nLlxuICAgKlxuICAgKiBAcGFyYW0gY2IgLSBUaGUgY2FsbGJhY2sgdG8gY2FsbCB3aXRoIHRoZSBjb21wb25lbnQuXG4gICAqIEByZXR1cm5zIFRoZSBzZXR0aW5nIGluc3RhbmNlLlxuICAgKi9cbiAgcHVibGljIGFkZFdlZWsoY2I6IChjb21wb25lbnQ6IFdlZWtDb21wb25lbnQpID0+IHZvaWQpOiB0aGlzIHtcbiAgICByZXR1cm4gdGhpcy5hZGRDb21wb25lbnQoV2Vla0NvbXBvbmVudCwgY2IpO1xuICB9XG59XG4iXSwKICAibWFwcGluZ3MiOiAiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQVFBLHNCQUF3QjtBQUV4QiwrQkFBa0M7QUFDbEMsMkJBQThCO0FBQzlCLCtCQUFrQztBQUNsQyw0QkFBK0I7QUFDL0IsMkJBQThCO0FBQzlCLDRCQUErQjtBQUMvQix1Q0FBMEM7QUFDMUMsb0NBQXVDO0FBQ3ZDLG1DQUFzQztBQUN0QyxtQ0FBc0M7QUFDdEMsNkJBQWdDO0FBQ2hDLDJCQUE4QjtBQUM5Qix1Q0FBMEM7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
|
@@ -5,23 +5,23 @@
|
|
5
5
|
*/
|
6
6
|
import type { BaseComponent } from 'obsidian';
|
7
7
|
import { Setting } from 'obsidian';
|
8
|
-
import { CheckboxComponent } from './Components/CheckboxComponent.cjs';
|
9
|
-
import { DateComponent } from './Components/DateComponent.cjs';
|
10
|
-
import { DateTimeComponent } from './Components/DateTimeComponent.cjs';
|
11
|
-
import { EmailComponent } from './Components/EmailComponent.cjs';
|
12
|
-
import { FileComponent } from './Components/FileComponent.cjs';
|
13
|
-
import { MonthComponent } from './Components/MonthComponent.cjs';
|
14
|
-
import { MultipleDropdownComponent } from './Components/MultipleDropdownComponent.cjs';
|
15
|
-
import { MultipleEmailComponent } from './Components/MultipleEmailComponent.cjs';
|
16
|
-
import { MultipleFileComponent } from './Components/MultipleFileComponent.cjs';
|
17
|
-
import { MultipleTextComponent } from './Components/MultipleTextComponent.cjs';
|
18
|
-
import { NumberComponent } from './Components/NumberComponent.cjs';
|
19
|
-
import { TimeComponent } from './Components/TimeComponent.cjs';
|
20
|
-
import { TriStateCheckboxComponent } from './Components/TriStateCheckboxComponent.cjs';
|
21
|
-
import { TypedDropdownComponent } from './Components/TypedDropdownComponent.cjs';
|
22
|
-
import { TypedMultipleDropdownComponent } from './Components/TypedMultipleDropdownComponent.cjs';
|
23
|
-
import { UrlComponent } from './Components/UrlComponent.cjs';
|
24
|
-
import { WeekComponent } from './Components/WeekComponent.cjs';
|
8
|
+
import { CheckboxComponent } from './Components/SettingComponents/CheckboxComponent.cjs';
|
9
|
+
import { DateComponent } from './Components/SettingComponents/DateComponent.cjs';
|
10
|
+
import { DateTimeComponent } from './Components/SettingComponents/DateTimeComponent.cjs';
|
11
|
+
import { EmailComponent } from './Components/SettingComponents/EmailComponent.cjs';
|
12
|
+
import { FileComponent } from './Components/SettingComponents/FileComponent.cjs';
|
13
|
+
import { MonthComponent } from './Components/SettingComponents/MonthComponent.cjs';
|
14
|
+
import { MultipleDropdownComponent } from './Components/SettingComponents/MultipleDropdownComponent.cjs';
|
15
|
+
import { MultipleEmailComponent } from './Components/SettingComponents/MultipleEmailComponent.cjs';
|
16
|
+
import { MultipleFileComponent } from './Components/SettingComponents/MultipleFileComponent.cjs';
|
17
|
+
import { MultipleTextComponent } from './Components/SettingComponents/MultipleTextComponent.cjs';
|
18
|
+
import { NumberComponent } from './Components/SettingComponents/NumberComponent.cjs';
|
19
|
+
import { TimeComponent } from './Components/SettingComponents/TimeComponent.cjs';
|
20
|
+
import { TriStateCheckboxComponent } from './Components/SettingComponents/TriStateCheckboxComponent.cjs';
|
21
|
+
import { TypedDropdownComponent } from './Components/SettingComponents/TypedDropdownComponent.cjs';
|
22
|
+
import { TypedMultipleDropdownComponent } from './Components/SettingComponents/TypedMultipleDropdownComponent.cjs';
|
23
|
+
import { UrlComponent } from './Components/SettingComponents/UrlComponent.cjs';
|
24
|
+
import { WeekComponent } from './Components/SettingComponents/WeekComponent.cjs';
|
25
25
|
/**
|
26
26
|
* Extends the Setting class with additional methods for adding components.
|
27
27
|
*/
|
@@ -15,7 +15,7 @@ export interface AsyncEventRef {
|
|
15
15
|
/**
|
16
16
|
* The callback to call when the event is triggered.
|
17
17
|
*/
|
18
|
-
callback:
|
18
|
+
callback: GenericCallback;
|
19
19
|
/**
|
20
20
|
* The name of the event.
|
21
21
|
*/
|
@@ -25,6 +25,7 @@ export interface AsyncEventRef {
|
|
25
25
|
*/
|
26
26
|
thisArg: unknown;
|
27
27
|
}
|
28
|
+
type GenericCallback = (...args: unknown[]) => Promisable<void>;
|
28
29
|
/**
|
29
30
|
* Async event emitter implementation
|
30
31
|
*/
|
@@ -43,7 +44,7 @@ export declare class AsyncEvents {
|
|
43
44
|
*
|
44
45
|
* @public
|
45
46
|
*/
|
46
|
-
off(name: string, callback: (...args:
|
47
|
+
off<Args extends unknown[]>(name: string, callback: (...args: Args) => Promisable<void>): void;
|
47
48
|
/**
|
48
49
|
* Remove an event listener by reference.
|
49
50
|
*
|
@@ -75,7 +76,7 @@ export declare class AsyncEvents {
|
|
75
76
|
*
|
76
77
|
* @public
|
77
78
|
*/
|
78
|
-
on(name: string, callback: (...args:
|
79
|
+
on<Args extends unknown[]>(name: string, callback: (...args: Args) => Promisable<void>, thisArg?: unknown): AsyncEventRef;
|
79
80
|
/**
|
80
81
|
* Add an event listener that will be triggered only once.
|
81
82
|
*
|
@@ -94,7 +95,7 @@ export declare class AsyncEvents {
|
|
94
95
|
*
|
95
96
|
* @public
|
96
97
|
*/
|
97
|
-
once(name: string, callback: (...args:
|
98
|
+
once<Args extends unknown[]>(name: string, callback: (...args: Args) => Promisable<void>, thisArg?: unknown): AsyncEventRef;
|
98
99
|
/**
|
99
100
|
* Trigger an event, executing all the listeners in order even if some of them throw an error.
|
100
101
|
*
|
@@ -108,7 +109,7 @@ export declare class AsyncEvents {
|
|
108
109
|
*
|
109
110
|
* @public
|
110
111
|
*/
|
111
|
-
trigger(name: string, ...args:
|
112
|
+
trigger<Args extends unknown[]>(name: string, ...args: Args): void;
|
112
113
|
/**
|
113
114
|
* Trigger an event asynchronously, executing all the listeners in order even if some of them throw an error.
|
114
115
|
*
|
@@ -117,7 +118,7 @@ export declare class AsyncEvents {
|
|
117
118
|
*
|
118
119
|
* @public
|
119
120
|
*/
|
120
|
-
triggerAsync(name: string, ...args:
|
121
|
+
triggerAsync<Args extends unknown[]>(name: string, ...args: Args): Promise<void>;
|
121
122
|
/**
|
122
123
|
* Try to trigger an event, executing all the listeners in order even if some of them throw an error.
|
123
124
|
*
|
@@ -131,7 +132,7 @@ export declare class AsyncEvents {
|
|
131
132
|
*
|
132
133
|
* @public
|
133
134
|
*/
|
134
|
-
tryTrigger(eventRef: AsyncEventRef, args:
|
135
|
+
tryTrigger<Args extends unknown[]>(eventRef: AsyncEventRef, args: Args): void;
|
135
136
|
/**
|
136
137
|
* Try to trigger an event asynchronously, executing all the listeners in order even if some of them throw an error.
|
137
138
|
*
|
@@ -140,5 +141,6 @@ export declare class AsyncEvents {
|
|
140
141
|
*
|
141
142
|
* @public
|
142
143
|
*/
|
143
|
-
tryTriggerAsync(eventRef: AsyncEventRef, args:
|
144
|
+
tryTriggerAsync<Args extends unknown[]>(eventRef: AsyncEventRef, args: Args): Promise<void>;
|
144
145
|
}
|
146
|
+
export {};
|