obsidian-dev-utils 69.1.2 → 69.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (33) hide show
  1. package/CHANGELOG.md +9 -0
  2. package/dist/dev/main.js +83 -31
  3. package/dist/lib/cjs/async.cjs +16 -1
  4. package/dist/lib/cjs/async.d.cts +8 -0
  5. package/dist/lib/cjs/library.cjs +1 -1
  6. package/dist/lib/cjs/obsidian/command-handlers/abstract-file-command-handler.cjs +12 -5
  7. package/dist/lib/cjs/obsidian/command-handlers/abstract-file-command-handler.d.cts +5 -2
  8. package/dist/lib/cjs/obsidian/command-handlers/file-command-handler.cjs +15 -7
  9. package/dist/lib/cjs/obsidian/command-handlers/file-command-handler.d.cts +6 -3
  10. package/dist/lib/cjs/obsidian/command-handlers/folder-command-handler.cjs +15 -7
  11. package/dist/lib/cjs/obsidian/command-handlers/folder-command-handler.d.cts +6 -3
  12. package/dist/lib/cjs/obsidian/components/component-ex.cjs +5 -15
  13. package/dist/lib/cjs/obsidian/components/component-ex.d.cts +0 -1
  14. package/dist/lib/cjs/obsidian/plugin/plugin.cjs +30 -1
  15. package/dist/lib/cjs/obsidian/plugin/plugin.d.cts +22 -1
  16. package/dist/lib/cjs/strict-proxy.cjs +1 -1
  17. package/dist/lib/cjs/strict-proxy.d.cts +16 -2
  18. package/dist/lib/esm/async.d.mts +8 -0
  19. package/dist/lib/esm/async.mjs +15 -1
  20. package/dist/lib/esm/library.mjs +1 -1
  21. package/dist/lib/esm/obsidian/command-handlers/abstract-file-command-handler.d.mts +5 -2
  22. package/dist/lib/esm/obsidian/command-handlers/abstract-file-command-handler.mjs +16 -6
  23. package/dist/lib/esm/obsidian/command-handlers/file-command-handler.d.mts +6 -3
  24. package/dist/lib/esm/obsidian/command-handlers/file-command-handler.mjs +15 -7
  25. package/dist/lib/esm/obsidian/command-handlers/folder-command-handler.d.mts +6 -3
  26. package/dist/lib/esm/obsidian/command-handlers/folder-command-handler.mjs +15 -7
  27. package/dist/lib/esm/obsidian/components/component-ex.d.mts +0 -1
  28. package/dist/lib/esm/obsidian/components/component-ex.mjs +6 -19
  29. package/dist/lib/esm/obsidian/plugin/plugin.d.mts +22 -1
  30. package/dist/lib/esm/obsidian/plugin/plugin.mjs +30 -1
  31. package/dist/lib/esm/strict-proxy.d.mts +16 -2
  32. package/dist/lib/esm/strict-proxy.mjs +1 -1
  33. package/package.json +1 -1
@@ -21,6 +21,7 @@ if you want to view the source, please visit the github repository of this plugi
21
21
  globalThis.process = browserProcess;
22
22
  })();
23
23
 
24
+ import { chain } from "../../async.mjs";
24
25
  import {
25
26
  asArrayOfFolders,
26
27
  asFolder,
@@ -78,27 +79,34 @@ class FolderCommandHandler extends AbstractFileCommandHandler {
78
79
  * Delegates to {@link executeFolder}.
79
80
  *
80
81
  * @param abstractFile - The file or folder.
82
+ * @returns `Promisable<void>` that resolves when abstract file had been executed.
81
83
  */
82
- async executeAbstractFile(abstractFile) {
83
- await this.executeFolder(asFolder(abstractFile));
84
+ executeAbstractFile(abstractFile) {
85
+ return this.executeFolder(asFolder(abstractFile));
84
86
  }
85
87
  /**
86
88
  * Delegates to {@link executeFolders}.
87
89
  *
88
90
  * @param abstractFiles - The files or folders.
91
+ * @returns `Promisable<void>` that resolves when all abstract files have been executed.
89
92
  */
90
- async executeAbstractFiles(abstractFiles) {
91
- await this.executeFolders(asArrayOfFolders(abstractFiles));
93
+ executeAbstractFiles(abstractFiles) {
94
+ return this.executeFolders(asArrayOfFolders(abstractFiles));
92
95
  }
93
96
  /**
94
97
  * Executes the command for multiple folders.
95
98
  * Default implementation executes sequentially.
96
99
  *
97
100
  * @param folders - The folders.
101
+ * @returns `Promisable<void>` that resolves when all folders have been executed.
98
102
  */
99
- async executeFolders(folders) {
103
+ executeFolders(folders) {
104
+ let promise = null;
100
105
  for (const folder of folders) {
101
- await this.executeFolder(folder);
106
+ promise = chain(promise, () => this.executeFolder(folder));
107
+ }
108
+ if (promise) {
109
+ return promise;
102
110
  }
103
111
  }
104
112
  /**
@@ -155,4 +163,4 @@ class FolderCommandHandler extends AbstractFileCommandHandler {
155
163
  export {
156
164
  FolderCommandHandler
157
165
  };
158
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vLi4vc3JjL29ic2lkaWFuL2NvbW1hbmQtaGFuZGxlcnMvZm9sZGVyLWNvbW1hbmQtaGFuZGxlci50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsiLyoqXG4gKiBAZmlsZVxuICpcbiAqIENvbW1hbmQgaGFuZGxlciBmb3IgZm9sZGVyLXNwZWNpZmljIGNvbW1hbmRzIChURm9sZGVyIG9ubHksIG5vdCBURmlsZSkuXG4gKi9cblxuaW1wb3J0IHR5cGUge1xuICBUQWJzdHJhY3RGaWxlLFxuICBURm9sZGVyLFxuICBXb3Jrc3BhY2VMZWFmXG59IGZyb20gJ29ic2lkaWFuJztcbmltcG9ydCB0eXBlIHsgUHJvbWlzYWJsZSB9IGZyb20gJ3R5cGUtZmVzdCc7XG5cbmltcG9ydCB0eXBlIHsgQWJzdHJhY3RGaWxlQ29tbWFuZEhhbmRsZXJDb25zdHJ1Y3RvclBhcmFtcyB9IGZyb20gJy4vYWJzdHJhY3QtZmlsZS1jb21tYW5kLWhhbmRsZXIudHMnO1xuXG5pbXBvcnQge1xuICBhc0FycmF5T2ZGb2xkZXJzLFxuICBhc0ZvbGRlcixcbiAgaXNGb2xkZXJcbn0gZnJvbSAnLi4vZmlsZS1zeXN0ZW0udHMnO1xuaW1wb3J0IHsgQWJzdHJhY3RGaWxlQ29tbWFuZEhhbmRsZXIgfSBmcm9tICcuL2Fic3RyYWN0LWZpbGUtY29tbWFuZC1oYW5kbGVyLnRzJztcblxuLyoqXG4gKiBDb21tYW5kIGhhbmRsZXIgZm9yIGZvbGRlci1zcGVjaWZpYyBjb21tYW5kcy5cbiAqXG4gKiBGaWx0ZXJzIGFic3RyYWN0IGZpbGVzIHRvIG9ubHkgYWNjZXB0IHtAbGluayBURm9sZGVyfSBpbnN0YW5jZXMuXG4gKiBTdWJjbGFzc2VzIG92ZXJyaWRlIHtAbGluayBjYW5FeGVjdXRlRm9sZGVyfSBhbmQge0BsaW5rIGV4ZWN1dGVGb2xkZXJ9LlxuICovXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgRm9sZGVyQ29tbWFuZEhhbmRsZXIgZXh0ZW5kcyBBYnN0cmFjdEZpbGVDb21tYW5kSGFuZGxlciB7XG4gIC8qKlxuICAgKiBDcmVhdGVzIGEgbmV3IGZvbGRlciBjb21tYW5kIGhhbmRsZXIuXG4gICAqXG4gICAqIEBwYXJhbSBwYXJhbXMgLSBUaGUgcGFyYW1ldGVycyBmb3IgdGhlIGZvbGRlciBjb21tYW5kIGhhbmRsZXIuXG4gICAqL1xuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgb2JzaWRpYW4tZGV2LXV0aWxzL3BhcmFtcy1vcHRpb25zLW5hbWUtbWF0Y2ggLS0gSW5oZXJpdHMgcGFyZW50J3MgcGFyYW1zIHR5cGUuXG4gIHB1YmxpYyBjb25zdHJ1Y3RvcihwYXJhbXM6IEFic3RyYWN0RmlsZUNvbW1hbmRIYW5kbGVyQ29uc3RydWN0b3JQYXJhbXMpIHtcbiAgICBzdXBlcihwYXJhbXMpO1xuICB9XG5cbiAgLyoqXG4gICAqIEZpbHRlcnMgdG8gb25seSBhY2NlcHQgVEZvbGRlciBpbnN0YW5jZXMsIHRoZW4gZGVsZWdhdGVzIHRvIHtAbGluayBjYW5FeGVjdXRlRm9sZGVyfS5cbiAgICpcbiAgICogQHBhcmFtIGFic3RyYWN0RmlsZSAtIFRoZSBmaWxlIG9yIGZvbGRlci5cbiAgICogQHJldHVybnMgV2hldGhlciB0aGUgY29tbWFuZCBjYW4gZXhlY3V0ZS5cbiAgICovXG4gIHByb3RlY3RlZCBvdmVycmlkZSBjYW5FeGVjdXRlQWJzdHJhY3RGaWxlKGFic3RyYWN0RmlsZTogVEFic3RyYWN0RmlsZSk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBpc0ZvbGRlcihhYnN0cmFjdEZpbGUpICYmIHRoaXMuY2FuRXhlY3V0ZUZvbGRlcihhYnN0cmFjdEZpbGUpO1xuICB9XG5cbiAgLyoqXG4gICAqIEZpbHRlcnMgdG8gb25seSBhY2NlcHQgVEZvbGRlciBhcnJheXMsIHRoZW4gZGVsZWdhdGVzIHRvIHtAbGluayBjYW5FeGVjdXRlRm9sZGVyc30uXG4gICAqXG4gICAqIEBwYXJhbSBhYnN0cmFjdEZpbGVzIC0gVGhlIGZpbGVzIG9yIGZvbGRlcnMuXG4gICAqIEByZXR1cm5zIFdoZXRoZXIgdGhlIGNvbW1hbmQgY2FuIGV4ZWN1dGUuXG4gICAqL1xuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgY2FuRXhlY3V0ZUFic3RyYWN0RmlsZXMoYWJzdHJhY3RGaWxlczogVEFic3RyYWN0RmlsZVtdKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIGFic3RyYWN0RmlsZXMuZXZlcnkoKGYpID0+IGlzRm9sZGVyKGYpKSAmJiB0aGlzLmNhbkV4ZWN1dGVGb2xkZXJzKGFzQXJyYXlPZkZvbGRlcnMoYWJzdHJhY3RGaWxlcykpO1xuICB9XG5cbiAgLyoqXG4gICAqIENoZWNrcyB3aGV0aGVyIHRoZSBjb21tYW5kIGNhbiBleGVjdXRlIGZvciBhIHNpbmdsZSBmb2xkZXIuXG4gICAqXG4gICAqIEBwYXJhbSBfZm9sZGVyIC0gVGhlIGZvbGRlci5cbiAgICogQHJldHVybnMgV2hldGhlciB0aGUgY29tbWFuZCBjYW4gZXhlY3V0ZS5cbiAgICovXG4gIHByb3RlY3RlZCBjYW5FeGVjdXRlRm9sZGVyKF9mb2xkZXI6IFRGb2xkZXIpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDaGVja3Mgd2hldGhlciB0aGUgY29tbWFuZCBjYW4gZXhlY3V0ZSBmb3IgbXVsdGlwbGUgZm9sZGVycy5cbiAgICogRGVmYXVsdCBpbXBsZW1lbnRhdGlvbiBjaGVja3MgZWFjaCBmb2xkZXIgaW5kaXZpZHVhbGx5LlxuICAgKlxuICAgKiBAcGFyYW0gZm9sZGVycyAtIFRoZSBmb2xkZXJzLlxuICAgKiBAcmV0dXJucyBXaGV0aGVyIHRoZSBjb21tYW5kIGNhbiBleGVjdXRlLlxuICAgKi9cbiAgcHJvdGVjdGVkIGNhbkV4ZWN1dGVGb2xkZXJzKGZvbGRlcnM6IFRGb2xkZXJbXSk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBmb2xkZXJzLmxlbmd0aCA+IDAgJiYgZm9sZGVycy5ldmVyeSgoZikgPT4gdGhpcy5jYW5FeGVjdXRlRm9sZGVyKGYpKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBEZWxlZ2F0ZXMgdG8ge0BsaW5rIGV4ZWN1dGVGb2xkZXJ9LlxuICAgKlxuICAgKiBAcGFyYW0gYWJzdHJhY3RGaWxlIC0gVGhlIGZpbGUgb3IgZm9sZGVyLlxuICAgKi9cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIGFzeW5jIGV4ZWN1dGVBYnN0cmFjdEZpbGUoYWJzdHJhY3RGaWxlOiBUQWJzdHJhY3RGaWxlKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgYXdhaXQgdGhpcy5leGVjdXRlRm9sZGVyKGFzRm9sZGVyKGFic3RyYWN0RmlsZSkpO1xuICB9XG5cbiAgLyoqXG4gICAqIERlbGVnYXRlcyB0byB7QGxpbmsgZXhlY3V0ZUZvbGRlcnN9LlxuICAgKlxuICAgKiBAcGFyYW0gYWJzdHJhY3RGaWxlcyAtIFRoZSBmaWxlcyBvciBmb2xkZXJzLlxuICAgKi9cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIGFzeW5jIGV4ZWN1dGVBYnN0cmFjdEZpbGVzKGFic3RyYWN0RmlsZXM6IFRBYnN0cmFjdEZpbGVbXSk6IFByb21pc2U8dm9pZD4ge1xuICAgIGF3YWl0IHRoaXMuZXhlY3V0ZUZvbGRlcnMoYXNBcnJheU9mRm9sZGVycyhhYnN0cmFjdEZpbGVzKSk7XG4gIH1cblxuICAvKipcbiAgICogRXhlY3V0ZXMgdGhlIGNvbW1hbmQgZm9yIGEgc2luZ2xlIGZvbGRlci5cbiAgICpcbiAgICogQHBhcmFtIGZvbGRlciAtIFRoZSBmb2xkZXIuXG4gICAqL1xuICBwcm90ZWN0ZWQgYWJzdHJhY3QgZXhlY3V0ZUZvbGRlcihmb2xkZXI6IFRGb2xkZXIpOiBQcm9taXNhYmxlPHZvaWQ+O1xuXG4gIC8qKlxuICAgKiBFeGVjdXRlcyB0aGUgY29tbWFuZCBmb3IgbXVsdGlwbGUgZm9sZGVycy5cbiAgICogRGVmYXVsdCBpbXBsZW1lbnRhdGlvbiBleGVjdXRlcyBzZXF1ZW50aWFsbHkuXG4gICAqXG4gICAqIEBwYXJhbSBmb2xkZXJzIC0gVGhlIGZvbGRlcnMuXG4gICAqL1xuICBwcm90ZWN0ZWQgYXN5bmMgZXhlY3V0ZUZvbGRlcnMoZm9sZGVyczogVEZvbGRlcltdKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgZm9yIChjb25zdCBmb2xkZXIgb2YgZm9sZGVycykge1xuICAgICAgYXdhaXQgdGhpcy5leGVjdXRlRm9sZGVyKGZvbGRlcik7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIEZpbHRlcnMgdG8gb25seSBzaG93IG1lbnUgZm9yIFRGb2xkZXIgaW5zdGFuY2VzLlxuICAgKlxuICAgKiBAcGFyYW0gYWJzdHJhY3RGaWxlIC0gVGhlIGZpbGUgb3IgZm9sZGVyLlxuICAgKiBAcGFyYW0gc291cmNlIC0gVGhlIHNvdXJjZSBvZiB0aGUgZXZlbnQuXG4gICAqIEBwYXJhbSBsZWFmIC0gVGhlIHdvcmtzcGFjZSBsZWFmLCBpZiBhdmFpbGFibGUuXG4gICAqIEByZXR1cm5zIFdoZXRoZXIgdG8gYWRkIHRvIHRoZSBmaWxlIG1lbnUuXG4gICAqL1xuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgc2hvdWxkQWRkVG9BYnN0cmFjdEZpbGVNZW51KGFic3RyYWN0RmlsZTogVEFic3RyYWN0RmlsZSwgc291cmNlOiBzdHJpbmcsIGxlYWY/OiBXb3Jrc3BhY2VMZWFmKTogYm9vbGVhbiB7XG4gICAgaWYgKCFpc0ZvbGRlcihhYnN0cmFjdEZpbGUpKSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLnNob3VsZEFkZFRvRm9sZGVyTWVudShhYnN0cmFjdEZpbGUsIHNvdXJjZSwgbGVhZik7XG4gIH1cblxuICAvKipcbiAgICogRmlsdGVycyB0byBvbmx5IHNob3cgbWVudSBmb3IgVEZvbGRlciBhcnJheXMuXG4gICAqXG4gICAqIEBwYXJhbSBhYnN0cmFjdEZpbGVzIC0gVGhlIGZpbGVzIG9yIGZvbGRlcnMuXG4gICAqIEBwYXJhbSBzb3VyY2UgLSBUaGUgc291cmNlIG9mIHRoZSBldmVudC5cbiAgICogQHBhcmFtIGxlYWYgLSBUaGUgd29ya3NwYWNlIGxlYWYsIGlmIGF2YWlsYWJsZS5cbiAgICogQHJldHVybnMgV2hldGhlciB0byBhZGQgdG8gdGhlIGZpbGVzIG1lbnUuXG4gICAqL1xuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgc2hvdWxkQWRkVG9BYnN0cmFjdEZpbGVzTWVudShhYnN0cmFjdEZpbGVzOiBUQWJzdHJhY3RGaWxlW10sIHNvdXJjZTogc3RyaW5nLCBsZWFmPzogV29ya3NwYWNlTGVhZik6IGJvb2xlYW4ge1xuICAgIGlmICghYWJzdHJhY3RGaWxlcy5ldmVyeSgoZikgPT4gaXNGb2xkZXIoZikpKSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLnNob3VsZEFkZFRvRm9sZGVyc01lbnUoYXNBcnJheU9mRm9sZGVycyhhYnN0cmFjdEZpbGVzKSwgc291cmNlLCBsZWFmKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDaGVja3Mgd2hldGhlciB0aGUgY29tbWFuZCBzaG91bGQgYXBwZWFyIGluIHRoZSBzaW5nbGUtZm9sZGVyIGNvbnRleHQgbWVudS5cbiAgICpcbiAgICogQHBhcmFtIF9mb2xkZXIgLSBUaGUgZm9sZGVyLlxuICAgKiBAcGFyYW0gX3NvdXJjZSAtIFRoZSBzb3VyY2Ugb2YgdGhlIGV2ZW50LlxuICAgKiBAcGFyYW0gX2xlYWYgLSBUaGUgd29ya3NwYWNlIGxlYWYsIGlmIGF2YWlsYWJsZS5cbiAgICogQHJldHVybnMgV2hldGhlciB0byBhZGQgdG8gdGhlIGZvbGRlciBtZW51LlxuICAgKi9cbiAgcHJvdGVjdGVkIHNob3VsZEFkZFRvRm9sZGVyTWVudShfZm9sZGVyOiBURm9sZGVyLCBfc291cmNlOiBzdHJpbmcsIF9sZWFmPzogV29ya3NwYWNlTGVhZik6IGJvb2xlYW4ge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDaGVja3Mgd2hldGhlciB0aGUgY29tbWFuZCBzaG91bGQgYXBwZWFyIGluIHRoZSBtdWx0aS1mb2xkZXIgY29udGV4dCBtZW51LlxuICAgKlxuICAgKiBAcGFyYW0gX2ZvbGRlcnMgLSBUaGUgZm9sZGVycy5cbiAgICogQHBhcmFtIF9zb3VyY2UgLSBUaGUgc291cmNlIG9mIHRoZSBldmVudC5cbiAgICogQHBhcmFtIF9sZWFmIC0gVGhlIHdvcmtzcGFjZSBsZWFmLCBpZiBhdmFpbGFibGUuXG4gICAqIEByZXR1cm5zIFdoZXRoZXIgdG8gYWRkIHRvIHRoZSBmb2xkZXJzIG1lbnUuXG4gICAqL1xuICBwcm90ZWN0ZWQgc2hvdWxkQWRkVG9Gb2xkZXJzTWVudShfZm9sZGVyczogVEZvbGRlcltdLCBfc291cmNlOiBzdHJpbmcsIF9sZWFmPzogV29ya3NwYWNlTGVhZik6IGJvb2xlYW4ge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxufVxuIl0sCiAgIm1hcHBpbmdzIjogIjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFlQTtBQUFBLEVBQ0U7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLE9BQ0s7QUFDUCxTQUFTLGtDQUFrQztBQVFwQyxNQUFlLDZCQUE2QiwyQkFBMkI7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQU9yRSxZQUFZLFFBQXFEO0FBQ3RFLFVBQU0sTUFBTTtBQUFBLEVBQ2Q7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQVFtQix1QkFBdUIsY0FBc0M7QUFDOUUsV0FBTyxTQUFTLFlBQVksS0FBSyxLQUFLLGlCQUFpQixZQUFZO0FBQUEsRUFDckU7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQVFtQix3QkFBd0IsZUFBeUM7QUFDbEYsV0FBTyxjQUFjLE1BQU0sQ0FBQyxNQUFNLFNBQVMsQ0FBQyxDQUFDLEtBQUssS0FBSyxrQkFBa0IsaUJBQWlCLGFBQWEsQ0FBQztBQUFBLEVBQzFHO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFRVSxpQkFBaUIsU0FBMkI7QUFDcEQsV0FBTztBQUFBLEVBQ1Q7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBU1Usa0JBQWtCLFNBQTZCO0FBQ3ZELFdBQU8sUUFBUSxTQUFTLEtBQUssUUFBUSxNQUFNLENBQUMsTUFBTSxLQUFLLGlCQUFpQixDQUFDLENBQUM7QUFBQSxFQUM1RTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQU9BLE1BQXlCLG9CQUFvQixjQUE0QztBQUN2RixVQUFNLEtBQUssY0FBYyxTQUFTLFlBQVksQ0FBQztBQUFBLEVBQ2pEO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBT0EsTUFBeUIscUJBQXFCLGVBQStDO0FBQzNGLFVBQU0sS0FBSyxlQUFlLGlCQUFpQixhQUFhLENBQUM7QUFBQSxFQUMzRDtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBZUEsTUFBZ0IsZUFBZSxTQUFtQztBQUNoRSxlQUFXLFVBQVUsU0FBUztBQUM1QixZQUFNLEtBQUssY0FBYyxNQUFNO0FBQUEsSUFDakM7QUFBQSxFQUNGO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBVW1CLDRCQUE0QixjQUE2QixRQUFnQixNQUErQjtBQUN6SCxRQUFJLENBQUMsU0FBUyxZQUFZLEdBQUc7QUFDM0IsYUFBTztBQUFBLElBQ1Q7QUFDQSxXQUFPLEtBQUssc0JBQXNCLGNBQWMsUUFBUSxJQUFJO0FBQUEsRUFDOUQ7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFVbUIsNkJBQTZCLGVBQWdDLFFBQWdCLE1BQStCO0FBQzdILFFBQUksQ0FBQyxjQUFjLE1BQU0sQ0FBQyxNQUFNLFNBQVMsQ0FBQyxDQUFDLEdBQUc7QUFDNUMsYUFBTztBQUFBLElBQ1Q7QUFDQSxXQUFPLEtBQUssdUJBQXVCLGlCQUFpQixhQUFhLEdBQUcsUUFBUSxJQUFJO0FBQUEsRUFDbEY7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFVVSxzQkFBc0IsU0FBa0IsU0FBaUIsT0FBZ0M7QUFDakcsV0FBTztBQUFBLEVBQ1Q7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFVVSx1QkFBdUIsVUFBcUIsU0FBaUIsT0FBZ0M7QUFDckcsV0FBTztBQUFBLEVBQ1Q7QUFDRjsiLAogICJuYW1lcyI6IFtdCn0K
166
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vLi4vc3JjL29ic2lkaWFuL2NvbW1hbmQtaGFuZGxlcnMvZm9sZGVyLWNvbW1hbmQtaGFuZGxlci50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsiLyoqXG4gKiBAZmlsZVxuICpcbiAqIENvbW1hbmQgaGFuZGxlciBmb3IgZm9sZGVyLXNwZWNpZmljIGNvbW1hbmRzIChURm9sZGVyIG9ubHksIG5vdCBURmlsZSkuXG4gKi9cblxuaW1wb3J0IHR5cGUge1xuICBUQWJzdHJhY3RGaWxlLFxuICBURm9sZGVyLFxuICBXb3Jrc3BhY2VMZWFmXG59IGZyb20gJ29ic2lkaWFuJztcbmltcG9ydCB0eXBlIHsgUHJvbWlzYWJsZSB9IGZyb20gJ3R5cGUtZmVzdCc7XG5cbmltcG9ydCB0eXBlIHsgQWJzdHJhY3RGaWxlQ29tbWFuZEhhbmRsZXJDb25zdHJ1Y3RvclBhcmFtcyB9IGZyb20gJy4vYWJzdHJhY3QtZmlsZS1jb21tYW5kLWhhbmRsZXIudHMnO1xuXG5pbXBvcnQgeyBjaGFpbiB9IGZyb20gJy4uLy4uL2FzeW5jLnRzJztcbmltcG9ydCB7XG4gIGFzQXJyYXlPZkZvbGRlcnMsXG4gIGFzRm9sZGVyLFxuICBpc0ZvbGRlclxufSBmcm9tICcuLi9maWxlLXN5c3RlbS50cyc7XG5pbXBvcnQgeyBBYnN0cmFjdEZpbGVDb21tYW5kSGFuZGxlciB9IGZyb20gJy4vYWJzdHJhY3QtZmlsZS1jb21tYW5kLWhhbmRsZXIudHMnO1xuXG4vKipcbiAqIENvbW1hbmQgaGFuZGxlciBmb3IgZm9sZGVyLXNwZWNpZmljIGNvbW1hbmRzLlxuICpcbiAqIEZpbHRlcnMgYWJzdHJhY3QgZmlsZXMgdG8gb25seSBhY2NlcHQge0BsaW5rIFRGb2xkZXJ9IGluc3RhbmNlcy5cbiAqIFN1YmNsYXNzZXMgb3ZlcnJpZGUge0BsaW5rIGNhbkV4ZWN1dGVGb2xkZXJ9IGFuZCB7QGxpbmsgZXhlY3V0ZUZvbGRlcn0uXG4gKi9cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBGb2xkZXJDb21tYW5kSGFuZGxlciBleHRlbmRzIEFic3RyYWN0RmlsZUNvbW1hbmRIYW5kbGVyIHtcbiAgLyoqXG4gICAqIENyZWF0ZXMgYSBuZXcgZm9sZGVyIGNvbW1hbmQgaGFuZGxlci5cbiAgICpcbiAgICogQHBhcmFtIHBhcmFtcyAtIFRoZSBwYXJhbWV0ZXJzIGZvciB0aGUgZm9sZGVyIGNvbW1hbmQgaGFuZGxlci5cbiAgICovXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBvYnNpZGlhbi1kZXYtdXRpbHMvcGFyYW1zLW9wdGlvbnMtbmFtZS1tYXRjaCAtLSBJbmhlcml0cyBwYXJlbnQncyBwYXJhbXMgdHlwZS5cbiAgcHVibGljIGNvbnN0cnVjdG9yKHBhcmFtczogQWJzdHJhY3RGaWxlQ29tbWFuZEhhbmRsZXJDb25zdHJ1Y3RvclBhcmFtcykge1xuICAgIHN1cGVyKHBhcmFtcyk7XG4gIH1cblxuICAvKipcbiAgICogRmlsdGVycyB0byBvbmx5IGFjY2VwdCBURm9sZGVyIGluc3RhbmNlcywgdGhlbiBkZWxlZ2F0ZXMgdG8ge0BsaW5rIGNhbkV4ZWN1dGVGb2xkZXJ9LlxuICAgKlxuICAgKiBAcGFyYW0gYWJzdHJhY3RGaWxlIC0gVGhlIGZpbGUgb3IgZm9sZGVyLlxuICAgKiBAcmV0dXJucyBXaGV0aGVyIHRoZSBjb21tYW5kIGNhbiBleGVjdXRlLlxuICAgKi9cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIGNhbkV4ZWN1dGVBYnN0cmFjdEZpbGUoYWJzdHJhY3RGaWxlOiBUQWJzdHJhY3RGaWxlKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIGlzRm9sZGVyKGFic3RyYWN0RmlsZSkgJiYgdGhpcy5jYW5FeGVjdXRlRm9sZGVyKGFic3RyYWN0RmlsZSk7XG4gIH1cblxuICAvKipcbiAgICogRmlsdGVycyB0byBvbmx5IGFjY2VwdCBURm9sZGVyIGFycmF5cywgdGhlbiBkZWxlZ2F0ZXMgdG8ge0BsaW5rIGNhbkV4ZWN1dGVGb2xkZXJzfS5cbiAgICpcbiAgICogQHBhcmFtIGFic3RyYWN0RmlsZXMgLSBUaGUgZmlsZXMgb3IgZm9sZGVycy5cbiAgICogQHJldHVybnMgV2hldGhlciB0aGUgY29tbWFuZCBjYW4gZXhlY3V0ZS5cbiAgICovXG4gIHByb3RlY3RlZCBvdmVycmlkZSBjYW5FeGVjdXRlQWJzdHJhY3RGaWxlcyhhYnN0cmFjdEZpbGVzOiBUQWJzdHJhY3RGaWxlW10pOiBib29sZWFuIHtcbiAgICByZXR1cm4gYWJzdHJhY3RGaWxlcy5ldmVyeSgoZikgPT4gaXNGb2xkZXIoZikpICYmIHRoaXMuY2FuRXhlY3V0ZUZvbGRlcnMoYXNBcnJheU9mRm9sZGVycyhhYnN0cmFjdEZpbGVzKSk7XG4gIH1cblxuICAvKipcbiAgICogQ2hlY2tzIHdoZXRoZXIgdGhlIGNvbW1hbmQgY2FuIGV4ZWN1dGUgZm9yIGEgc2luZ2xlIGZvbGRlci5cbiAgICpcbiAgICogQHBhcmFtIF9mb2xkZXIgLSBUaGUgZm9sZGVyLlxuICAgKiBAcmV0dXJucyBXaGV0aGVyIHRoZSBjb21tYW5kIGNhbiBleGVjdXRlLlxuICAgKi9cbiAgcHJvdGVjdGVkIGNhbkV4ZWN1dGVGb2xkZXIoX2ZvbGRlcjogVEZvbGRlcik6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0cnVlO1xuICB9XG5cbiAgLyoqXG4gICAqIENoZWNrcyB3aGV0aGVyIHRoZSBjb21tYW5kIGNhbiBleGVjdXRlIGZvciBtdWx0aXBsZSBmb2xkZXJzLlxuICAgKiBEZWZhdWx0IGltcGxlbWVudGF0aW9uIGNoZWNrcyBlYWNoIGZvbGRlciBpbmRpdmlkdWFsbHkuXG4gICAqXG4gICAqIEBwYXJhbSBmb2xkZXJzIC0gVGhlIGZvbGRlcnMuXG4gICAqIEByZXR1cm5zIFdoZXRoZXIgdGhlIGNvbW1hbmQgY2FuIGV4ZWN1dGUuXG4gICAqL1xuICBwcm90ZWN0ZWQgY2FuRXhlY3V0ZUZvbGRlcnMoZm9sZGVyczogVEZvbGRlcltdKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIGZvbGRlcnMubGVuZ3RoID4gMCAmJiBmb2xkZXJzLmV2ZXJ5KChmKSA9PiB0aGlzLmNhbkV4ZWN1dGVGb2xkZXIoZikpO1xuICB9XG5cbiAgLyoqXG4gICAqIERlbGVnYXRlcyB0byB7QGxpbmsgZXhlY3V0ZUZvbGRlcn0uXG4gICAqXG4gICAqIEBwYXJhbSBhYnN0cmFjdEZpbGUgLSBUaGUgZmlsZSBvciBmb2xkZXIuXG4gICAqIEByZXR1cm5zIGBQcm9taXNhYmxlPHZvaWQ+YCB0aGF0IHJlc29sdmVzIHdoZW4gYWJzdHJhY3QgZmlsZSBoYWQgYmVlbiBleGVjdXRlZC5cbiAgICovXG4gIHByb3RlY3RlZCBvdmVycmlkZSBleGVjdXRlQWJzdHJhY3RGaWxlKGFic3RyYWN0RmlsZTogVEFic3RyYWN0RmlsZSk6IFByb21pc2FibGU8dm9pZD4ge1xuICAgIHJldHVybiB0aGlzLmV4ZWN1dGVGb2xkZXIoYXNGb2xkZXIoYWJzdHJhY3RGaWxlKSk7XG4gIH1cblxuICAvKipcbiAgICogRGVsZWdhdGVzIHRvIHtAbGluayBleGVjdXRlRm9sZGVyc30uXG4gICAqXG4gICAqIEBwYXJhbSBhYnN0cmFjdEZpbGVzIC0gVGhlIGZpbGVzIG9yIGZvbGRlcnMuXG4gICAqIEByZXR1cm5zIGBQcm9taXNhYmxlPHZvaWQ+YCB0aGF0IHJlc29sdmVzIHdoZW4gYWxsIGFic3RyYWN0IGZpbGVzIGhhdmUgYmVlbiBleGVjdXRlZC5cbiAgICovXG4gIHByb3RlY3RlZCBvdmVycmlkZSBleGVjdXRlQWJzdHJhY3RGaWxlcyhhYnN0cmFjdEZpbGVzOiBUQWJzdHJhY3RGaWxlW10pOiBQcm9taXNhYmxlPHZvaWQ+IHtcbiAgICByZXR1cm4gdGhpcy5leGVjdXRlRm9sZGVycyhhc0FycmF5T2ZGb2xkZXJzKGFic3RyYWN0RmlsZXMpKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBFeGVjdXRlcyB0aGUgY29tbWFuZCBmb3IgYSBzaW5nbGUgZm9sZGVyLlxuICAgKlxuICAgKiBAcGFyYW0gZm9sZGVyIC0gVGhlIGZvbGRlci5cbiAgICovXG4gIHByb3RlY3RlZCBhYnN0cmFjdCBleGVjdXRlRm9sZGVyKGZvbGRlcjogVEZvbGRlcik6IFByb21pc2FibGU8dm9pZD47XG5cbiAgLyoqXG4gICAqIEV4ZWN1dGVzIHRoZSBjb21tYW5kIGZvciBtdWx0aXBsZSBmb2xkZXJzLlxuICAgKiBEZWZhdWx0IGltcGxlbWVudGF0aW9uIGV4ZWN1dGVzIHNlcXVlbnRpYWxseS5cbiAgICpcbiAgICogQHBhcmFtIGZvbGRlcnMgLSBUaGUgZm9sZGVycy5cbiAgICogQHJldHVybnMgYFByb21pc2FibGU8dm9pZD5gIHRoYXQgcmVzb2x2ZXMgd2hlbiBhbGwgZm9sZGVycyBoYXZlIGJlZW4gZXhlY3V0ZWQuXG4gICAqL1xuICBwcm90ZWN0ZWQgZXhlY3V0ZUZvbGRlcnMoZm9sZGVyczogVEZvbGRlcltdKTogUHJvbWlzYWJsZTx2b2lkPiB7XG4gICAgbGV0IHByb21pc2U6IG51bGwgfCBQcm9taXNlPHZvaWQ+ID0gbnVsbDtcbiAgICBmb3IgKGNvbnN0IGZvbGRlciBvZiBmb2xkZXJzKSB7XG4gICAgICBwcm9taXNlID0gY2hhaW4ocHJvbWlzZSwgKCkgPT4gdGhpcy5leGVjdXRlRm9sZGVyKGZvbGRlcikpO1xuICAgIH1cblxuICAgIGlmIChwcm9taXNlKSB7XG4gICAgICByZXR1cm4gcHJvbWlzZTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogRmlsdGVycyB0byBvbmx5IHNob3cgbWVudSBmb3IgVEZvbGRlciBpbnN0YW5jZXMuXG4gICAqXG4gICAqIEBwYXJhbSBhYnN0cmFjdEZpbGUgLSBUaGUgZmlsZSBvciBmb2xkZXIuXG4gICAqIEBwYXJhbSBzb3VyY2UgLSBUaGUgc291cmNlIG9mIHRoZSBldmVudC5cbiAgICogQHBhcmFtIGxlYWYgLSBUaGUgd29ya3NwYWNlIGxlYWYsIGlmIGF2YWlsYWJsZS5cbiAgICogQHJldHVybnMgV2hldGhlciB0byBhZGQgdG8gdGhlIGZpbGUgbWVudS5cbiAgICovXG4gIHByb3RlY3RlZCBvdmVycmlkZSBzaG91bGRBZGRUb0Fic3RyYWN0RmlsZU1lbnUoYWJzdHJhY3RGaWxlOiBUQWJzdHJhY3RGaWxlLCBzb3VyY2U6IHN0cmluZywgbGVhZj86IFdvcmtzcGFjZUxlYWYpOiBib29sZWFuIHtcbiAgICBpZiAoIWlzRm9sZGVyKGFic3RyYWN0RmlsZSkpIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuc2hvdWxkQWRkVG9Gb2xkZXJNZW51KGFic3RyYWN0RmlsZSwgc291cmNlLCBsZWFmKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBGaWx0ZXJzIHRvIG9ubHkgc2hvdyBtZW51IGZvciBURm9sZGVyIGFycmF5cy5cbiAgICpcbiAgICogQHBhcmFtIGFic3RyYWN0RmlsZXMgLSBUaGUgZmlsZXMgb3IgZm9sZGVycy5cbiAgICogQHBhcmFtIHNvdXJjZSAtIFRoZSBzb3VyY2Ugb2YgdGhlIGV2ZW50LlxuICAgKiBAcGFyYW0gbGVhZiAtIFRoZSB3b3Jrc3BhY2UgbGVhZiwgaWYgYXZhaWxhYmxlLlxuICAgKiBAcmV0dXJucyBXaGV0aGVyIHRvIGFkZCB0byB0aGUgZmlsZXMgbWVudS5cbiAgICovXG4gIHByb3RlY3RlZCBvdmVycmlkZSBzaG91bGRBZGRUb0Fic3RyYWN0RmlsZXNNZW51KGFic3RyYWN0RmlsZXM6IFRBYnN0cmFjdEZpbGVbXSwgc291cmNlOiBzdHJpbmcsIGxlYWY/OiBXb3Jrc3BhY2VMZWFmKTogYm9vbGVhbiB7XG4gICAgaWYgKCFhYnN0cmFjdEZpbGVzLmV2ZXJ5KChmKSA9PiBpc0ZvbGRlcihmKSkpIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuc2hvdWxkQWRkVG9Gb2xkZXJzTWVudShhc0FycmF5T2ZGb2xkZXJzKGFic3RyYWN0RmlsZXMpLCBzb3VyY2UsIGxlYWYpO1xuICB9XG5cbiAgLyoqXG4gICAqIENoZWNrcyB3aGV0aGVyIHRoZSBjb21tYW5kIHNob3VsZCBhcHBlYXIgaW4gdGhlIHNpbmdsZS1mb2xkZXIgY29udGV4dCBtZW51LlxuICAgKlxuICAgKiBAcGFyYW0gX2ZvbGRlciAtIFRoZSBmb2xkZXIuXG4gICAqIEBwYXJhbSBfc291cmNlIC0gVGhlIHNvdXJjZSBvZiB0aGUgZXZlbnQuXG4gICAqIEBwYXJhbSBfbGVhZiAtIFRoZSB3b3Jrc3BhY2UgbGVhZiwgaWYgYXZhaWxhYmxlLlxuICAgKiBAcmV0dXJucyBXaGV0aGVyIHRvIGFkZCB0byB0aGUgZm9sZGVyIG1lbnUuXG4gICAqL1xuICBwcm90ZWN0ZWQgc2hvdWxkQWRkVG9Gb2xkZXJNZW51KF9mb2xkZXI6IFRGb2xkZXIsIF9zb3VyY2U6IHN0cmluZywgX2xlYWY/OiBXb3Jrc3BhY2VMZWFmKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgLyoqXG4gICAqIENoZWNrcyB3aGV0aGVyIHRoZSBjb21tYW5kIHNob3VsZCBhcHBlYXIgaW4gdGhlIG11bHRpLWZvbGRlciBjb250ZXh0IG1lbnUuXG4gICAqXG4gICAqIEBwYXJhbSBfZm9sZGVycyAtIFRoZSBmb2xkZXJzLlxuICAgKiBAcGFyYW0gX3NvdXJjZSAtIFRoZSBzb3VyY2Ugb2YgdGhlIGV2ZW50LlxuICAgKiBAcGFyYW0gX2xlYWYgLSBUaGUgd29ya3NwYWNlIGxlYWYsIGlmIGF2YWlsYWJsZS5cbiAgICogQHJldHVybnMgV2hldGhlciB0byBhZGQgdG8gdGhlIGZvbGRlcnMgbWVudS5cbiAgICovXG4gIHByb3RlY3RlZCBzaG91bGRBZGRUb0ZvbGRlcnNNZW51KF9mb2xkZXJzOiBURm9sZGVyW10sIF9zb3VyY2U6IHN0cmluZywgX2xlYWY/OiBXb3Jrc3BhY2VMZWFmKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG59XG4iXSwKICAibWFwcGluZ3MiOiAiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQWVBLFNBQVMsYUFBYTtBQUN0QjtBQUFBLEVBQ0U7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLE9BQ0s7QUFDUCxTQUFTLGtDQUFrQztBQVFwQyxNQUFlLDZCQUE2QiwyQkFBMkI7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQU9yRSxZQUFZLFFBQXFEO0FBQ3RFLFVBQU0sTUFBTTtBQUFBLEVBQ2Q7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQVFtQix1QkFBdUIsY0FBc0M7QUFDOUUsV0FBTyxTQUFTLFlBQVksS0FBSyxLQUFLLGlCQUFpQixZQUFZO0FBQUEsRUFDckU7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQVFtQix3QkFBd0IsZUFBeUM7QUFDbEYsV0FBTyxjQUFjLE1BQU0sQ0FBQyxNQUFNLFNBQVMsQ0FBQyxDQUFDLEtBQUssS0FBSyxrQkFBa0IsaUJBQWlCLGFBQWEsQ0FBQztBQUFBLEVBQzFHO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFRVSxpQkFBaUIsU0FBMkI7QUFDcEQsV0FBTztBQUFBLEVBQ1Q7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBU1Usa0JBQWtCLFNBQTZCO0FBQ3ZELFdBQU8sUUFBUSxTQUFTLEtBQUssUUFBUSxNQUFNLENBQUMsTUFBTSxLQUFLLGlCQUFpQixDQUFDLENBQUM7QUFBQSxFQUM1RTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBUW1CLG9CQUFvQixjQUErQztBQUNwRixXQUFPLEtBQUssY0FBYyxTQUFTLFlBQVksQ0FBQztBQUFBLEVBQ2xEO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFRbUIscUJBQXFCLGVBQWtEO0FBQ3hGLFdBQU8sS0FBSyxlQUFlLGlCQUFpQixhQUFhLENBQUM7QUFBQSxFQUM1RDtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFnQlUsZUFBZSxTQUFzQztBQUM3RCxRQUFJLFVBQWdDO0FBQ3BDLGVBQVcsVUFBVSxTQUFTO0FBQzVCLGdCQUFVLE1BQU0sU0FBUyxNQUFNLEtBQUssY0FBYyxNQUFNLENBQUM7QUFBQSxJQUMzRDtBQUVBLFFBQUksU0FBUztBQUNYLGFBQU87QUFBQSxJQUNUO0FBQUEsRUFDRjtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQVVtQiw0QkFBNEIsY0FBNkIsUUFBZ0IsTUFBK0I7QUFDekgsUUFBSSxDQUFDLFNBQVMsWUFBWSxHQUFHO0FBQzNCLGFBQU87QUFBQSxJQUNUO0FBQ0EsV0FBTyxLQUFLLHNCQUFzQixjQUFjLFFBQVEsSUFBSTtBQUFBLEVBQzlEO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBVW1CLDZCQUE2QixlQUFnQyxRQUFnQixNQUErQjtBQUM3SCxRQUFJLENBQUMsY0FBYyxNQUFNLENBQUMsTUFBTSxTQUFTLENBQUMsQ0FBQyxHQUFHO0FBQzVDLGFBQU87QUFBQSxJQUNUO0FBQ0EsV0FBTyxLQUFLLHVCQUF1QixpQkFBaUIsYUFBYSxHQUFHLFFBQVEsSUFBSTtBQUFBLEVBQ2xGO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBVVUsc0JBQXNCLFNBQWtCLFNBQWlCLE9BQWdDO0FBQ2pHLFdBQU87QUFBQSxFQUNUO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBVVUsdUJBQXVCLFVBQXFCLFNBQWlCLE9BQWdDO0FBQ3JHLFdBQU87QUFBQSxFQUNUO0FBQ0Y7IiwKICAibmFtZXMiOiBbXQp9Cg==
@@ -51,6 +51,5 @@ export declare class ComponentEx extends Component implements Disposable {
51
51
  * Disposes of the component.
52
52
  */
53
53
  [Symbol.dispose](): void;
54
- private chain;
55
54
  private extractLoadPromisable;
56
55
  }
@@ -22,10 +22,8 @@ if you want to view the source, please visit the github repository of this plugi
22
22
  })();
23
23
 
24
24
  import { Component } from "obsidian";
25
- import {
26
- noop,
27
- noopAsyncSingletonPromise
28
- } from "../../function.mjs";
25
+ import { chain } from "../../async.mjs";
26
+ import { noopAsyncSingletonPromise } from "../../function.mjs";
29
27
  class ComponentEx extends Component {
30
28
  childrenSet = /* @__PURE__ */ new Set();
31
29
  loadPromise = null;
@@ -40,7 +38,7 @@ class ComponentEx extends Component {
40
38
  this._children.push(component);
41
39
  this.childrenSet.add(component);
42
40
  if (this._loaded) {
43
- this.chain(() => this.extractLoadPromisable(component));
41
+ this.loadPromise = chain(this.loadPromise, () => this.extractLoadPromisable(component));
44
42
  }
45
43
  return component;
46
44
  }
@@ -57,10 +55,10 @@ class ComponentEx extends Component {
57
55
  this.onload();
58
56
  const onloadAsyncPromise = this.onloadAsync();
59
57
  if (onloadAsyncPromise !== noopAsyncSingletonPromise) {
60
- this.chain(() => onloadAsyncPromise);
58
+ this.loadPromise = chain(this.loadPromise, () => onloadAsyncPromise);
61
59
  }
62
60
  for (const child of this._children.slice()) {
63
- this.chain(() => this.extractLoadPromisable(child));
61
+ this.loadPromise = chain(this.loadPromise, () => this.extractLoadPromisable(child));
64
62
  }
65
63
  if (this.loadPromise) {
66
64
  return this.loadPromise;
@@ -103,17 +101,6 @@ class ComponentEx extends Component {
103
101
  [Symbol.dispose]() {
104
102
  this.unload();
105
103
  }
106
- chain(promisableFn) {
107
- if (this.loadPromise) {
108
- this.loadPromise = this.loadPromise.then(() => promisableFn() ?? void 0);
109
- } else {
110
- const promisable = promisableFn();
111
- if (promisable) {
112
- this.loadPromise = promisable instanceof Promise ? promisable : Promise.resolve(promisable);
113
- }
114
- }
115
- this.loadPromise?.catch(noop);
116
- }
117
104
  extractLoadPromisable(component) {
118
105
  if (!this.childrenSet.has(component)) {
119
106
  return null;
@@ -127,4 +114,4 @@ class ComponentEx extends Component {
127
114
  export {
128
115
  ComponentEx
129
116
  };
130
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vLi4vc3JjL29ic2lkaWFuL2NvbXBvbmVudHMvY29tcG9uZW50LWV4LnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyIvKipcbiAqIEBmaWxlXG4gKlxuICogRXh0ZW5kZWQgQ29tcG9uZW50XG4gKi9cblxuaW1wb3J0IHR5cGUgeyBQcm9taXNhYmxlIH0gZnJvbSAndHlwZS1mZXN0JztcblxuaW1wb3J0IHsgQ29tcG9uZW50IH0gZnJvbSAnb2JzaWRpYW4nO1xuXG5pbXBvcnQge1xuICBub29wLFxuICBub29wQXN5bmNTaW5nbGV0b25Qcm9taXNlXG59IGZyb20gJy4uLy4uL2Z1bmN0aW9uLnRzJztcblxuLyoqXG4gKiBFeHRlbmRlZCBDb21wb25lbnRcbiAqL1xuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG9ic2lkaWFuLWRldi11dGlscy9yZXF1aXJlLWNvbXBvbmVudC1zdWZmaXggLS0gRXh0ZW5kZWQgYmFzZSBjbGFzcy5cbmV4cG9ydCBjbGFzcyBDb21wb25lbnRFeCBleHRlbmRzIENvbXBvbmVudCBpbXBsZW1lbnRzIERpc3Bvc2FibGUge1xuICBwcml2YXRlIHJlYWRvbmx5IGNoaWxkcmVuU2V0ID0gbmV3IFNldDxDb21wb25lbnQ+KCk7XG4gIHByaXZhdGUgbG9hZFByb21pc2U6IG51bGwgfCBQcm9taXNlPHZvaWQ+ID0gbnVsbDtcblxuICAvKipcbiAgICogQWRkcyBhIGNoaWxkIGNvbXBvbmVudC5cbiAgICpcbiAgICogQHR5cGVQYXJhbSBUQ29tcG9uZW50IC0gVGhlIHR5cGUgb2YgY29tcG9uZW50IHRvIGFkZC5cbiAgICogQHBhcmFtIGNvbXBvbmVudCAtIFRoZSBjb21wb25lbnQgaW5zdGFuY2UgdG8gYWRkLlxuICAgKiBAcmV0dXJucyBUaGUgYWRkZWQgY29tcG9uZW50LlxuICAgKi9cbiAgcHVibGljIG92ZXJyaWRlIGFkZENoaWxkPFRDb21wb25lbnQgZXh0ZW5kcyBDb21wb25lbnQ+KGNvbXBvbmVudDogVENvbXBvbmVudCk6IFRDb21wb25lbnQge1xuICAgIHRoaXMuX2NoaWxkcmVuLnB1c2goY29tcG9uZW50KTtcbiAgICB0aGlzLmNoaWxkcmVuU2V0LmFkZChjb21wb25lbnQpO1xuXG4gICAgaWYgKHRoaXMuX2xvYWRlZCkge1xuICAgICAgdGhpcy5jaGFpbigoKSA9PiB0aGlzLmV4dHJhY3RMb2FkUHJvbWlzYWJsZShjb21wb25lbnQpKTtcbiAgICB9XG5cbiAgICByZXR1cm4gY29tcG9uZW50O1xuICB9XG5cbiAgLyoqXG4gICAqIExvYWRzIHRoZSBjb21wb25lbnQuXG4gICAqXG4gICAqIEByZXR1cm5zIERlc3BpdGUgdGhlIGRlY2xhcmVkIGB2b2lkYCByZXR1cm4gdHlwZSwgdGhpcyBtZXRob2QgcmV0dXJucyBhIHtAbGluayBQcm9taXNlfSB0aGF0IHJlc29sdmVzIHdoZW4gdGhlIGNvbXBvbmVudCBpcyBsb2FkZWQgb3IgYG51bGxgIGlmIHRoZSBjb21wb25lbnQgaWYgZnVsbHkgc3luY2hyb25vdXMuXG4gICAqL1xuICBwdWJsaWMgb3ZlcnJpZGUgbG9hZCgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5fbG9hZGVkKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5fbG9hZGVkID0gdHJ1ZTtcblxuICAgIHRoaXMub25sb2FkKCk7XG4gICAgY29uc3Qgb25sb2FkQXN5bmNQcm9taXNlID0gdGhpcy5vbmxvYWRBc3luYygpO1xuICAgIGlmIChvbmxvYWRBc3luY1Byb21pc2UgIT09IG5vb3BBc3luY1NpbmdsZXRvblByb21pc2UpIHtcbiAgICAgIHRoaXMuY2hhaW4oKCkgPT4gb25sb2FkQXN5bmNQcm9taXNlKTtcbiAgICB9XG5cbiAgICBmb3IgKGNvbnN0IGNoaWxkIG9mIHRoaXMuX2NoaWxkcmVuLnNsaWNlKCkpIHtcbiAgICAgIHRoaXMuY2hhaW4oKCkgPT4gdGhpcy5leHRyYWN0TG9hZFByb21pc2FibGUoY2hpbGQpKTtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5sb2FkUHJvbWlzZSkge1xuICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1pbnZhbGlkLXZvaWQtdHlwZSwgbm8tcmVzdHJpY3RlZC1zeW50YXggLS0gV2UgbmVlZCB0byBieXBhc3MgdHlwZSBzeXN0ZW0gdG8gcmV0dXJuIGBQcm9taXNlPHZvaWQ+YC5cbiAgICAgIHJldHVybiB0aGlzLmxvYWRQcm9taXNlIGFzIHVua25vd24gYXMgdm9pZDtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogTG9hZHMgdGhlIGNvbXBvbmVudCB3aXRoIHByb21pc2VzLlxuICAgKlxuICAgKiBAcmV0dXJucyBBIHtAbGluayBQcm9taXNlfSB0aGF0IHJlc29sdmVzIHdoZW4gdGhlIGNvbXBvbmVudCBpcyBsb2FkZWQgb3IgYG51bGxgIGlmIHRoZSBjb21wb25lbnQgYW5kIGl0cyBjaGlsZHJlbiBkb24ndCB1c2UgYGFzeW5jYCBsb2dpYy5cbiAgICovXG4gIHB1YmxpYyBsb2FkV2l0aFByb21pc2VzKCk6IG51bGwgfCBQcm9taXNlPHZvaWQ+IHtcbiAgICB0aGlzLmxvYWQoKTtcbiAgICByZXR1cm4gdGhpcy5sb2FkUHJvbWlzZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBBc3luY2hyb25vdXNseSBsb2FkcyB0aGUgY29tcG9uZW50LlxuICAgKlxuICAgKiBPdmVycmlkZSB0byBhZGQgYXN5bmMgbG9hZCBsb2dpYywgd2hpY2ggaXMgZXhlY3V0ZWQgYWZ0ZXIge0BsaW5rIENvbXBvbmVudC5vbmxvYWR9LlxuICAgKlxuICAgKiBAcmV0dXJucyBBIHtAbGluayBQcm9taXNlfSB0aGF0IHJlc29sdmVzIHdoZW4gdGhlIGNvbXBvbmVudCBpcyBsb2FkZWQuXG4gICAqL1xuICBwdWJsaWMgb25sb2FkQXN5bmMoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgcmV0dXJuIG5vb3BBc3luY1NpbmdsZXRvblByb21pc2U7XG4gIH1cblxuICAvKipcbiAgICogUmVtb3ZlcyBhIGNoaWxkIGNvbXBvbmVudC5cbiAgICpcbiAgICogQHR5cGVQYXJhbSBUQ29tcG9uZW50IC0gVGhlIHR5cGUgb2YgY29tcG9uZW50IHRvIHJlbW92ZS5cbiAgICogQHBhcmFtIGNvbXBvbmVudCAtIFRoZSBjb21wb25lbnQgaW5zdGFuY2UgdG8gcmVtb3ZlLlxuICAgKiBAcmV0dXJucyBUaGUgcmVtb3ZlZCBjb21wb25lbnQuXG4gICAqL1xuICBwdWJsaWMgb3ZlcnJpZGUgcmVtb3ZlQ2hpbGQ8VENvbXBvbmVudCBleHRlbmRzIENvbXBvbmVudD4oY29tcG9uZW50OiBUQ29tcG9uZW50KTogVENvbXBvbmVudCB7XG4gICAgc3VwZXIucmVtb3ZlQ2hpbGQoY29tcG9uZW50KTtcbiAgICB0aGlzLmNoaWxkcmVuU2V0LmRlbGV0ZShjb21wb25lbnQpO1xuICAgIHJldHVybiBjb21wb25lbnQ7XG4gIH1cblxuICAvKipcbiAgICogRGlzcG9zZXMgb2YgdGhlIGNvbXBvbmVudC5cbiAgICovXG4gIHB1YmxpYyBbU3ltYm9sLmRpc3Bvc2VdKCk6IHZvaWQge1xuICAgIHRoaXMudW5sb2FkKCk7XG4gIH1cblxuICBwcml2YXRlIGNoYWluKHByb21pc2FibGVGbjogKCkgPT4gbnVsbCB8IFByb21pc2FibGU8dm9pZD4pOiB2b2lkIHtcbiAgICBpZiAodGhpcy5sb2FkUHJvbWlzZSkge1xuICAgICAgdGhpcy5sb2FkUHJvbWlzZSA9IHRoaXMubG9hZFByb21pc2UudGhlbigoKSA9PiBwcm9taXNhYmxlRm4oKSA/PyB1bmRlZmluZWQpO1xuICAgIH0gZWxzZSB7XG4gICAgICBjb25zdCBwcm9taXNhYmxlID0gcHJvbWlzYWJsZUZuKCk7XG4gICAgICBpZiAocHJvbWlzYWJsZSkge1xuICAgICAgICB0aGlzLmxvYWRQcm9taXNlID0gcHJvbWlzYWJsZSBpbnN0YW5jZW9mIFByb21pc2UgPyBwcm9taXNhYmxlIGFzIFByb21pc2U8dm9pZD4gOiBQcm9taXNlLnJlc29sdmUocHJvbWlzYWJsZSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgdGhpcy5sb2FkUHJvbWlzZT8uY2F0Y2gobm9vcCk7XG4gIH1cblxuICBwcml2YXRlIGV4dHJhY3RMb2FkUHJvbWlzYWJsZShjb21wb25lbnQ6IENvbXBvbmVudCk6IG51bGwgfCBQcm9taXNhYmxlPHZvaWQ+IHtcbiAgICBpZiAoIXRoaXMuY2hpbGRyZW5TZXQuaGFzKGNvbXBvbmVudCkpIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cbiAgICBpZiAoY29tcG9uZW50IGluc3RhbmNlb2YgQ29tcG9uZW50RXgpIHtcbiAgICAgIHJldHVybiBjb21wb25lbnQubG9hZFdpdGhQcm9taXNlcygpO1xuICAgIH1cbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWNvbmZ1c2luZy12b2lkLWV4cHJlc3Npb24sIEB0eXBlc2NyaXB0LWVzbGludC9uby11bm5lY2Vzc2FyeS10eXBlLWFzc2VydGlvbiAtLSBJdCBjYW4gYmUgYFByb21pc2U8dm9pZD5gIGluIHJ1bnRpbWUuIFdhbnQgZXhwbGljaXRseSBjYXN0IHRvIHNob3cgd2Uga25vdyBpdCBtYXkgYmUgcHJvbWlzZSwgZGVzcGl0ZSB0aGUgZGVjbGFyZWQgdHlwZSBgdm9pZGAuXG4gICAgcmV0dXJuIGNvbXBvbmVudC5sb2FkKCkgYXMgUHJvbWlzYWJsZTx2b2lkPjtcbiAgfVxufVxuIl0sCiAgIm1hcHBpbmdzIjogIjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFRQSxTQUFTLGlCQUFpQjtBQUUxQjtBQUFBLEVBQ0U7QUFBQSxFQUNBO0FBQUEsT0FDSztBQU1BLE1BQU0sb0JBQW9CLFVBQWdDO0FBQUEsRUFDOUMsY0FBYyxvQkFBSSxJQUFlO0FBQUEsRUFDMUMsY0FBb0M7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBUzVCLFNBQXVDLFdBQW1DO0FBQ3hGLFNBQUssVUFBVSxLQUFLLFNBQVM7QUFDN0IsU0FBSyxZQUFZLElBQUksU0FBUztBQUU5QixRQUFJLEtBQUssU0FBUztBQUNoQixXQUFLLE1BQU0sTUFBTSxLQUFLLHNCQUFzQixTQUFTLENBQUM7QUFBQSxJQUN4RDtBQUVBLFdBQU87QUFBQSxFQUNUO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBT2dCLE9BQWE7QUFDM0IsUUFBSSxLQUFLLFNBQVM7QUFDaEI7QUFBQSxJQUNGO0FBRUEsU0FBSyxVQUFVO0FBRWYsU0FBSyxPQUFPO0FBQ1osVUFBTSxxQkFBcUIsS0FBSyxZQUFZO0FBQzVDLFFBQUksdUJBQXVCLDJCQUEyQjtBQUNwRCxXQUFLLE1BQU0sTUFBTSxrQkFBa0I7QUFBQSxJQUNyQztBQUVBLGVBQVcsU0FBUyxLQUFLLFVBQVUsTUFBTSxHQUFHO0FBQzFDLFdBQUssTUFBTSxNQUFNLEtBQUssc0JBQXNCLEtBQUssQ0FBQztBQUFBLElBQ3BEO0FBRUEsUUFBSSxLQUFLLGFBQWE7QUFFcEIsYUFBTyxLQUFLO0FBQUEsSUFDZDtBQUFBLEVBQ0Y7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFPTyxtQkFBeUM7QUFDOUMsU0FBSyxLQUFLO0FBQ1YsV0FBTyxLQUFLO0FBQUEsRUFDZDtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFTTyxjQUE2QjtBQUNsQyxXQUFPO0FBQUEsRUFDVDtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFTZ0IsWUFBMEMsV0FBbUM7QUFDM0YsVUFBTSxZQUFZLFNBQVM7QUFDM0IsU0FBSyxZQUFZLE9BQU8sU0FBUztBQUNqQyxXQUFPO0FBQUEsRUFDVDtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBS0EsQ0FBUSxPQUFPLE9BQU8sSUFBVTtBQUM5QixTQUFLLE9BQU87QUFBQSxFQUNkO0FBQUEsRUFFUSxNQUFNLGNBQW1EO0FBQy9ELFFBQUksS0FBSyxhQUFhO0FBQ3BCLFdBQUssY0FBYyxLQUFLLFlBQVksS0FBSyxNQUFNLGFBQWEsS0FBSyxNQUFTO0FBQUEsSUFDNUUsT0FBTztBQUNMLFlBQU0sYUFBYSxhQUFhO0FBQ2hDLFVBQUksWUFBWTtBQUNkLGFBQUssY0FBYyxzQkFBc0IsVUFBVSxhQUE4QixRQUFRLFFBQVEsVUFBVTtBQUFBLE1BQzdHO0FBQUEsSUFDRjtBQUVBLFNBQUssYUFBYSxNQUFNLElBQUk7QUFBQSxFQUM5QjtBQUFBLEVBRVEsc0JBQXNCLFdBQStDO0FBQzNFLFFBQUksQ0FBQyxLQUFLLFlBQVksSUFBSSxTQUFTLEdBQUc7QUFDcEMsYUFBTztBQUFBLElBQ1Q7QUFDQSxRQUFJLHFCQUFxQixhQUFhO0FBQ3BDLGFBQU8sVUFBVSxpQkFBaUI7QUFBQSxJQUNwQztBQUVBLFdBQU8sVUFBVSxLQUFLO0FBQUEsRUFDeEI7QUFDRjsiLAogICJuYW1lcyI6IFtdCn0K
117
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vLi4vc3JjL29ic2lkaWFuL2NvbXBvbmVudHMvY29tcG9uZW50LWV4LnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyIvKipcbiAqIEBmaWxlXG4gKlxuICogRXh0ZW5kZWQgQ29tcG9uZW50XG4gKi9cblxuaW1wb3J0IHR5cGUgeyBQcm9taXNhYmxlIH0gZnJvbSAndHlwZS1mZXN0JztcblxuaW1wb3J0IHsgQ29tcG9uZW50IH0gZnJvbSAnb2JzaWRpYW4nO1xuXG5pbXBvcnQgeyBjaGFpbiB9IGZyb20gJy4uLy4uL2FzeW5jLnRzJztcbmltcG9ydCB7IG5vb3BBc3luY1NpbmdsZXRvblByb21pc2UgfSBmcm9tICcuLi8uLi9mdW5jdGlvbi50cyc7XG5cbi8qKlxuICogRXh0ZW5kZWQgQ29tcG9uZW50XG4gKi9cbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBvYnNpZGlhbi1kZXYtdXRpbHMvcmVxdWlyZS1jb21wb25lbnQtc3VmZml4IC0tIEV4dGVuZGVkIGJhc2UgY2xhc3MuXG5leHBvcnQgY2xhc3MgQ29tcG9uZW50RXggZXh0ZW5kcyBDb21wb25lbnQgaW1wbGVtZW50cyBEaXNwb3NhYmxlIHtcbiAgcHJpdmF0ZSByZWFkb25seSBjaGlsZHJlblNldCA9IG5ldyBTZXQ8Q29tcG9uZW50PigpO1xuICBwcml2YXRlIGxvYWRQcm9taXNlOiBudWxsIHwgUHJvbWlzZTx2b2lkPiA9IG51bGw7XG5cbiAgLyoqXG4gICAqIEFkZHMgYSBjaGlsZCBjb21wb25lbnQuXG4gICAqXG4gICAqIEB0eXBlUGFyYW0gVENvbXBvbmVudCAtIFRoZSB0eXBlIG9mIGNvbXBvbmVudCB0byBhZGQuXG4gICAqIEBwYXJhbSBjb21wb25lbnQgLSBUaGUgY29tcG9uZW50IGluc3RhbmNlIHRvIGFkZC5cbiAgICogQHJldHVybnMgVGhlIGFkZGVkIGNvbXBvbmVudC5cbiAgICovXG4gIHB1YmxpYyBvdmVycmlkZSBhZGRDaGlsZDxUQ29tcG9uZW50IGV4dGVuZHMgQ29tcG9uZW50Pihjb21wb25lbnQ6IFRDb21wb25lbnQpOiBUQ29tcG9uZW50IHtcbiAgICB0aGlzLl9jaGlsZHJlbi5wdXNoKGNvbXBvbmVudCk7XG4gICAgdGhpcy5jaGlsZHJlblNldC5hZGQoY29tcG9uZW50KTtcblxuICAgIGlmICh0aGlzLl9sb2FkZWQpIHtcbiAgICAgIHRoaXMubG9hZFByb21pc2UgPSBjaGFpbih0aGlzLmxvYWRQcm9taXNlLCAoKSA9PiB0aGlzLmV4dHJhY3RMb2FkUHJvbWlzYWJsZShjb21wb25lbnQpKTtcbiAgICB9XG5cbiAgICByZXR1cm4gY29tcG9uZW50O1xuICB9XG5cbiAgLyoqXG4gICAqIExvYWRzIHRoZSBjb21wb25lbnQuXG4gICAqXG4gICAqIEByZXR1cm5zIERlc3BpdGUgdGhlIGRlY2xhcmVkIGB2b2lkYCByZXR1cm4gdHlwZSwgdGhpcyBtZXRob2QgcmV0dXJucyBhIHtAbGluayBQcm9taXNlfSB0aGF0IHJlc29sdmVzIHdoZW4gdGhlIGNvbXBvbmVudCBpcyBsb2FkZWQgb3IgYG51bGxgIGlmIHRoZSBjb21wb25lbnQgaWYgZnVsbHkgc3luY2hyb25vdXMuXG4gICAqL1xuICBwdWJsaWMgb3ZlcnJpZGUgbG9hZCgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5fbG9hZGVkKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5fbG9hZGVkID0gdHJ1ZTtcblxuICAgIHRoaXMub25sb2FkKCk7XG4gICAgY29uc3Qgb25sb2FkQXN5bmNQcm9taXNlID0gdGhpcy5vbmxvYWRBc3luYygpO1xuICAgIGlmIChvbmxvYWRBc3luY1Byb21pc2UgIT09IG5vb3BBc3luY1NpbmdsZXRvblByb21pc2UpIHtcbiAgICAgIHRoaXMubG9hZFByb21pc2UgPSBjaGFpbih0aGlzLmxvYWRQcm9taXNlLCAoKSA9PiBvbmxvYWRBc3luY1Byb21pc2UpO1xuICAgIH1cblxuICAgIGZvciAoY29uc3QgY2hpbGQgb2YgdGhpcy5fY2hpbGRyZW4uc2xpY2UoKSkge1xuICAgICAgdGhpcy5sb2FkUHJvbWlzZSA9IGNoYWluKHRoaXMubG9hZFByb21pc2UsICgpID0+IHRoaXMuZXh0cmFjdExvYWRQcm9taXNhYmxlKGNoaWxkKSk7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMubG9hZFByb21pc2UpIHtcbiAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8taW52YWxpZC12b2lkLXR5cGUsIG5vLXJlc3RyaWN0ZWQtc3ludGF4IC0tIFdlIG5lZWQgdG8gYnlwYXNzIHR5cGUgc3lzdGVtIHRvIHJldHVybiBgUHJvbWlzZTx2b2lkPmAuXG4gICAgICByZXR1cm4gdGhpcy5sb2FkUHJvbWlzZSBhcyB1bmtub3duIGFzIHZvaWQ7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIExvYWRzIHRoZSBjb21wb25lbnQgd2l0aCBwcm9taXNlcy5cbiAgICpcbiAgICogQHJldHVybnMgQSB7QGxpbmsgUHJvbWlzZX0gdGhhdCByZXNvbHZlcyB3aGVuIHRoZSBjb21wb25lbnQgaXMgbG9hZGVkIG9yIGBudWxsYCBpZiB0aGUgY29tcG9uZW50IGFuZCBpdHMgY2hpbGRyZW4gZG9uJ3QgdXNlIGBhc3luY2AgbG9naWMuXG4gICAqL1xuICBwdWJsaWMgbG9hZFdpdGhQcm9taXNlcygpOiBudWxsIHwgUHJvbWlzZTx2b2lkPiB7XG4gICAgdGhpcy5sb2FkKCk7XG4gICAgcmV0dXJuIHRoaXMubG9hZFByb21pc2U7XG4gIH1cblxuICAvKipcbiAgICogQXN5bmNocm9ub3VzbHkgbG9hZHMgdGhlIGNvbXBvbmVudC5cbiAgICpcbiAgICogT3ZlcnJpZGUgdG8gYWRkIGFzeW5jIGxvYWQgbG9naWMsIHdoaWNoIGlzIGV4ZWN1dGVkIGFmdGVyIHtAbGluayBDb21wb25lbnQub25sb2FkfS5cbiAgICpcbiAgICogQHJldHVybnMgQSB7QGxpbmsgUHJvbWlzZX0gdGhhdCByZXNvbHZlcyB3aGVuIHRoZSBjb21wb25lbnQgaXMgbG9hZGVkLlxuICAgKi9cbiAgcHVibGljIG9ubG9hZEFzeW5jKCk6IFByb21pc2U8dm9pZD4ge1xuICAgIHJldHVybiBub29wQXN5bmNTaW5nbGV0b25Qcm9taXNlO1xuICB9XG5cbiAgLyoqXG4gICAqIFJlbW92ZXMgYSBjaGlsZCBjb21wb25lbnQuXG4gICAqXG4gICAqIEB0eXBlUGFyYW0gVENvbXBvbmVudCAtIFRoZSB0eXBlIG9mIGNvbXBvbmVudCB0byByZW1vdmUuXG4gICAqIEBwYXJhbSBjb21wb25lbnQgLSBUaGUgY29tcG9uZW50IGluc3RhbmNlIHRvIHJlbW92ZS5cbiAgICogQHJldHVybnMgVGhlIHJlbW92ZWQgY29tcG9uZW50LlxuICAgKi9cbiAgcHVibGljIG92ZXJyaWRlIHJlbW92ZUNoaWxkPFRDb21wb25lbnQgZXh0ZW5kcyBDb21wb25lbnQ+KGNvbXBvbmVudDogVENvbXBvbmVudCk6IFRDb21wb25lbnQge1xuICAgIHN1cGVyLnJlbW92ZUNoaWxkKGNvbXBvbmVudCk7XG4gICAgdGhpcy5jaGlsZHJlblNldC5kZWxldGUoY29tcG9uZW50KTtcbiAgICByZXR1cm4gY29tcG9uZW50O1xuICB9XG5cbiAgLyoqXG4gICAqIERpc3Bvc2VzIG9mIHRoZSBjb21wb25lbnQuXG4gICAqL1xuICBwdWJsaWMgW1N5bWJvbC5kaXNwb3NlXSgpOiB2b2lkIHtcbiAgICB0aGlzLnVubG9hZCgpO1xuICB9XG5cbiAgcHJpdmF0ZSBleHRyYWN0TG9hZFByb21pc2FibGUoY29tcG9uZW50OiBDb21wb25lbnQpOiBudWxsIHwgUHJvbWlzYWJsZTx2b2lkPiB7XG4gICAgaWYgKCF0aGlzLmNoaWxkcmVuU2V0Lmhhcyhjb21wb25lbnQpKSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG4gICAgaWYgKGNvbXBvbmVudCBpbnN0YW5jZW9mIENvbXBvbmVudEV4KSB7XG4gICAgICByZXR1cm4gY29tcG9uZW50LmxvYWRXaXRoUHJvbWlzZXMoKTtcbiAgICB9XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1jb25mdXNpbmctdm9pZC1leHByZXNzaW9uLCBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW5uZWNlc3NhcnktdHlwZS1hc3NlcnRpb24gLS0gSXQgY2FuIGJlIGBQcm9taXNlPHZvaWQ+YCBpbiBydW50aW1lLiBXYW50IGV4cGxpY2l0bHkgY2FzdCB0byBzaG93IHdlIGtub3cgaXQgbWF5IGJlIHByb21pc2UsIGRlc3BpdGUgdGhlIGRlY2xhcmVkIHR5cGUgYHZvaWRgLlxuICAgIHJldHVybiBjb21wb25lbnQubG9hZCgpIGFzIFByb21pc2FibGU8dm9pZD47XG4gIH1cbn1cbiJdLAogICJtYXBwaW5ncyI6ICI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBUUEsU0FBUyxpQkFBaUI7QUFFMUIsU0FBUyxhQUFhO0FBQ3RCLFNBQVMsaUNBQWlDO0FBTW5DLE1BQU0sb0JBQW9CLFVBQWdDO0FBQUEsRUFDOUMsY0FBYyxvQkFBSSxJQUFlO0FBQUEsRUFDMUMsY0FBb0M7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBUzVCLFNBQXVDLFdBQW1DO0FBQ3hGLFNBQUssVUFBVSxLQUFLLFNBQVM7QUFDN0IsU0FBSyxZQUFZLElBQUksU0FBUztBQUU5QixRQUFJLEtBQUssU0FBUztBQUNoQixXQUFLLGNBQWMsTUFBTSxLQUFLLGFBQWEsTUFBTSxLQUFLLHNCQUFzQixTQUFTLENBQUM7QUFBQSxJQUN4RjtBQUVBLFdBQU87QUFBQSxFQUNUO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBT2dCLE9BQWE7QUFDM0IsUUFBSSxLQUFLLFNBQVM7QUFDaEI7QUFBQSxJQUNGO0FBRUEsU0FBSyxVQUFVO0FBRWYsU0FBSyxPQUFPO0FBQ1osVUFBTSxxQkFBcUIsS0FBSyxZQUFZO0FBQzVDLFFBQUksdUJBQXVCLDJCQUEyQjtBQUNwRCxXQUFLLGNBQWMsTUFBTSxLQUFLLGFBQWEsTUFBTSxrQkFBa0I7QUFBQSxJQUNyRTtBQUVBLGVBQVcsU0FBUyxLQUFLLFVBQVUsTUFBTSxHQUFHO0FBQzFDLFdBQUssY0FBYyxNQUFNLEtBQUssYUFBYSxNQUFNLEtBQUssc0JBQXNCLEtBQUssQ0FBQztBQUFBLElBQ3BGO0FBRUEsUUFBSSxLQUFLLGFBQWE7QUFFcEIsYUFBTyxLQUFLO0FBQUEsSUFDZDtBQUFBLEVBQ0Y7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFPTyxtQkFBeUM7QUFDOUMsU0FBSyxLQUFLO0FBQ1YsV0FBTyxLQUFLO0FBQUEsRUFDZDtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFTTyxjQUE2QjtBQUNsQyxXQUFPO0FBQUEsRUFDVDtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFTZ0IsWUFBMEMsV0FBbUM7QUFDM0YsVUFBTSxZQUFZLFNBQVM7QUFDM0IsU0FBSyxZQUFZLE9BQU8sU0FBUztBQUNqQyxXQUFPO0FBQUEsRUFDVDtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBS0EsQ0FBUSxPQUFPLE9BQU8sSUFBVTtBQUM5QixTQUFLLE9BQU87QUFBQSxFQUNkO0FBQUEsRUFFUSxzQkFBc0IsV0FBK0M7QUFDM0UsUUFBSSxDQUFDLEtBQUssWUFBWSxJQUFJLFNBQVMsR0FBRztBQUNwQyxhQUFPO0FBQUEsSUFDVDtBQUNBLFFBQUkscUJBQXFCLGFBQWE7QUFDcEMsYUFBTyxVQUFVLGlCQUFpQjtBQUFBLElBQ3BDO0FBRUEsV0FBTyxVQUFVLEtBQUs7QUFBQSxFQUN4QjtBQUNGOyIsCiAgIm5hbWVzIjogW10KfQo=
@@ -6,7 +6,7 @@
6
6
  *
7
7
  * PluginBase registers universal components (context, i18n, error handling, abort signal, lifecycle events, debug).
8
8
  */
9
- import type { App, PluginManifest } from 'obsidian';
9
+ import type { App, Component, PluginManifest } from 'obsidian';
10
10
  import { Plugin as ObsidianPlugin } from 'obsidian';
11
11
  import type { PluginEventMap, PluginEventSource } from './plugin-event-source.mjs';
12
12
  import { AbortSignalComponent } from '../components/abort-signal-component.mjs';
@@ -47,6 +47,7 @@ export declare abstract class PluginBase extends PluginBase_base implements Plug
47
47
  * Plugin notice component.
48
48
  */
49
49
  protected pluginNoticeComponent: PluginNoticeComponent;
50
+ private readonly wrapperComponent;
50
51
  /**
51
52
  * Creates a new plugin.
52
53
  *
@@ -54,12 +55,32 @@ export declare abstract class PluginBase extends PluginBase_base implements Plug
54
55
  * @param manifest - The plugin manifest.
55
56
  */
56
57
  constructor(app: App, manifest: PluginManifest);
58
+ /**
59
+ * Adds a child component to the plugin.
60
+ *
61
+ * @typeParam TComponent - The type of component to add.
62
+ * @param component - The component to add.
63
+ * @returns The added component.
64
+ */
65
+ addChild<TComponent extends Component>(component: TComponent): TComponent;
57
66
  /**
58
67
  * Called when the external settings change.
59
68
  *
60
69
  * Override in subclass if needed. Make sure to call `await super.onExternalSettingsChange()` first.
61
70
  */
62
71
  onExternalSettingsChange(): Promise<void>;
72
+ /**
73
+ * Called when the plugin is loaded.
74
+ */
75
+ onload(): Promise<void>;
76
+ /**
77
+ * Removes a child component from the plugin.
78
+ *
79
+ * @typeParam TComponent - The type of component to remove.
80
+ * @param component - The component to remove.
81
+ * @returns The removed component.
82
+ */
83
+ removeChild<TComponent extends Component>(component: TComponent): TComponent;
63
84
  }
64
85
  /**
65
86
  * Reloads the specified plugin by disabling and then re-enabling it.
@@ -29,6 +29,7 @@ import { mixinAsyncEvents } from "../../async-events.mjs";
29
29
  import { printError } from "../../error.mjs";
30
30
  import { AbortSignalComponent } from "../components/abort-signal-component.mjs";
31
31
  import { AsyncErrorHandlerComponent } from "../components/async-error-handler-component.mjs";
32
+ import { ComponentEx } from "../components/component-ex.mjs";
32
33
  import { ConsoleDebugComponent } from "../components/console-debug-component.mjs";
33
34
  import { I18nComponent } from "../components/i18n-component.mjs";
34
35
  import { PluginContextComponent } from "../components/plugin-context-component.mjs";
@@ -58,6 +59,7 @@ class PluginBase extends mixinAsyncEvents()(ObsidianPlugin) {
58
59
  * Plugin notice component.
59
60
  */
60
61
  pluginNoticeComponent;
62
+ wrapperComponent;
61
63
  /**
62
64
  * Creates a new plugin.
63
65
  *
@@ -66,6 +68,7 @@ class PluginBase extends mixinAsyncEvents()(ObsidianPlugin) {
66
68
  */
67
69
  constructor(app, manifest) {
68
70
  super(app, manifest);
71
+ this.wrapperComponent = super.addChild(new ComponentEx());
69
72
  this.pluginContextComponent = this.addChild(
70
73
  new PluginContextComponent({
71
74
  app: this.app,
@@ -78,6 +81,16 @@ class PluginBase extends mixinAsyncEvents()(ObsidianPlugin) {
78
81
  this.abortSignalComponent = this.addChild(new AbortSignalComponent(this.manifest.id));
79
82
  this.consoleDebugComponent = this.addChild(new ConsoleDebugComponent(this.manifest.id));
80
83
  }
84
+ /**
85
+ * Adds a child component to the plugin.
86
+ *
87
+ * @typeParam TComponent - The type of component to add.
88
+ * @param component - The component to add.
89
+ * @returns The added component.
90
+ */
91
+ addChild(component) {
92
+ return this.wrapperComponent.addChild(component);
93
+ }
81
94
  /**
82
95
  * Called when the external settings change.
83
96
  *
@@ -87,6 +100,22 @@ class PluginBase extends mixinAsyncEvents()(ObsidianPlugin) {
87
100
  await super.onExternalSettingsChange?.();
88
101
  await this.triggerAsync("externalSettingsChange");
89
102
  }
103
+ /**
104
+ * Called when the plugin is loaded.
105
+ */
106
+ async onload() {
107
+ await this.wrapperComponent.loadWithPromises();
108
+ }
109
+ /**
110
+ * Removes a child component from the plugin.
111
+ *
112
+ * @typeParam TComponent - The type of component to remove.
113
+ * @param component - The component to remove.
114
+ * @returns The removed component.
115
+ */
116
+ removeChild(component) {
117
+ return this.wrapperComponent.removeChild(component);
118
+ }
90
119
  }
91
120
  async function reloadPlugin(plugin) {
92
121
  const plugins = plugin.app.plugins;
@@ -104,4 +133,4 @@ export {
104
133
  reloadPlugin,
105
134
  showErrorAndDisablePlugin
106
135
  };
107
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vLi4vc3JjL29ic2lkaWFuL3BsdWdpbi9wbHVnaW4udHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbIi8qKlxuICogQGZpbGVcbiAqXG4gKiBCYXNlIGNsYXNzIGZvciBPYnNpZGlhbiBwbHVnaW5zIHVzaW5nIGEgY29tcG9uZW50LWJhc2VkIGFyY2hpdGVjdHVyZS5cbiAqXG4gKiBQbHVnaW5CYXNlIHJlZ2lzdGVycyB1bml2ZXJzYWwgY29tcG9uZW50cyAoY29udGV4dCwgaTE4biwgZXJyb3IgaGFuZGxpbmcsIGFib3J0IHNpZ25hbCwgbGlmZWN5Y2xlIGV2ZW50cywgZGVidWcpLlxuICovXG5cbmltcG9ydCB0eXBlIHtcbiAgQXBwLFxuICBQbHVnaW5NYW5pZmVzdFxufSBmcm9tICdvYnNpZGlhbic7XG5cbmltcG9ydCB7XG4gIE5vdGljZSxcbiAgUGx1Z2luIGFzIE9ic2lkaWFuUGx1Z2luXG59IGZyb20gJ29ic2lkaWFuJztcblxuaW1wb3J0IHR5cGUge1xuICBQbHVnaW5FdmVudE1hcCxcbiAgUGx1Z2luRXZlbnRTb3VyY2Vcbn0gZnJvbSAnLi9wbHVnaW4tZXZlbnQtc291cmNlLnRzJztcblxuaW1wb3J0IHsgbWl4aW5Bc3luY0V2ZW50cyB9IGZyb20gJy4uLy4uL2FzeW5jLWV2ZW50cy50cyc7XG5pbXBvcnQgeyBwcmludEVycm9yIH0gZnJvbSAnLi4vLi4vZXJyb3IudHMnO1xuaW1wb3J0IHsgQWJvcnRTaWduYWxDb21wb25lbnQgfSBmcm9tICcuLi9jb21wb25lbnRzL2Fib3J0LXNpZ25hbC1jb21wb25lbnQudHMnO1xuaW1wb3J0IHsgQXN5bmNFcnJvckhhbmRsZXJDb21wb25lbnQgfSBmcm9tICcuLi9jb21wb25lbnRzL2FzeW5jLWVycm9yLWhhbmRsZXItY29tcG9uZW50LnRzJztcbmltcG9ydCB7IENvbnNvbGVEZWJ1Z0NvbXBvbmVudCB9IGZyb20gJy4uL2NvbXBvbmVudHMvY29uc29sZS1kZWJ1Zy1jb21wb25lbnQudHMnO1xuaW1wb3J0IHsgSTE4bkNvbXBvbmVudCB9IGZyb20gJy4uL2NvbXBvbmVudHMvaTE4bi1jb21wb25lbnQudHMnO1xuaW1wb3J0IHsgUGx1Z2luQ29udGV4dENvbXBvbmVudCB9IGZyb20gJy4uL2NvbXBvbmVudHMvcGx1Z2luLWNvbnRleHQtY29tcG9uZW50LnRzJztcbmltcG9ydCB7IFBsdWdpbk5vdGljZUNvbXBvbmVudCB9IGZyb20gJy4uL2NvbXBvbmVudHMvcGx1Z2luLW5vdGljZS1jb21wb25lbnQudHMnO1xuXG4vKipcbiAqIEJhc2UgY2xhc3MgZm9yIGNyZWF0aW5nIE9ic2lkaWFuIHBsdWdpbnMgd2l0aCBhIGNvbXBvbmVudC1iYXNlZCBhcmNoaXRlY3R1cmUuXG4gKlxuICogUmVnaXN0ZXJzIHVuaXZlcnNhbCBjb21wb25lbnRzIGF1dG9tYXRpY2FsbHkuIFN1YmNsYXNzZXMgYWRkIG9yIHJlcGxhY2UgY29tcG9uZW50c1xuICogdmlhIHtAbGluayBQbHVnaW5CYXNlLmFkZENoaWxkfSBpbiB0aGVpciBjb25zdHJ1Y3Rvci5cbiAqL1xuZXhwb3J0IGFic3RyYWN0IGNsYXNzIFBsdWdpbkJhc2UgZXh0ZW5kcyBtaXhpbkFzeW5jRXZlbnRzPFBsdWdpbkV2ZW50TWFwPigpKE9ic2lkaWFuUGx1Z2luKSBpbXBsZW1lbnRzIFBsdWdpbkV2ZW50U291cmNlIHtcbiAgLyoqXG4gICAqIEFib3J0IHNpZ25hbCBjb21wb25lbnQuXG4gICAqL1xuICBwcm90ZWN0ZWQgYWJvcnRTaWduYWxDb21wb25lbnQ6IEFib3J0U2lnbmFsQ29tcG9uZW50O1xuXG4gIC8qKlxuICAgKiBBc3luYyBlcnJvciBoYW5kbGVyIGNvbXBvbmVudC5cbiAgICovXG4gIHByb3RlY3RlZCBhc3luY0Vycm9ySGFuZGxlckNvbXBvbmVudDogQXN5bmNFcnJvckhhbmRsZXJDb21wb25lbnQ7XG5cbiAgLyoqXG4gICAqIENvbnNvbGUgZGVidWcgY29tcG9uZW50LlxuICAgKi9cbiAgcHJvdGVjdGVkIGNvbnNvbGVEZWJ1Z0NvbXBvbmVudDogQ29uc29sZURlYnVnQ29tcG9uZW50O1xuXG4gIC8qKlxuICAgKiBJMThuIGNvbXBvbmVudC5cbiAgICovXG4gIHByb3RlY3RlZCBpMThuQ29tcG9uZW50OiBJMThuQ29tcG9uZW50O1xuXG4gIC8qKlxuICAgKiBQbHVnaW4gY29udGV4dCBjb21wb25lbnQgKHBsdWdpbiBJRCwgZGVidWcgY29udHJvbGxlciwgbGlicmFyeSBzdHlsZXMpLlxuICAgKi9cbiAgcHJvdGVjdGVkIHBsdWdpbkNvbnRleHRDb21wb25lbnQ6IFBsdWdpbkNvbnRleHRDb21wb25lbnQ7XG5cbiAgLyoqXG4gICAqIFBsdWdpbiBub3RpY2UgY29tcG9uZW50LlxuICAgKi9cbiAgcHJvdGVjdGVkIHBsdWdpbk5vdGljZUNvbXBvbmVudDogUGx1Z2luTm90aWNlQ29tcG9uZW50O1xuXG4gIC8qKlxuICAgKiBDcmVhdGVzIGEgbmV3IHBsdWdpbi5cbiAgICpcbiAgICogQHBhcmFtIGFwcCAtIFRoZSBPYnNpZGlhbiBBcHAgaW5zdGFuY2UuXG4gICAqIEBwYXJhbSBtYW5pZmVzdCAtIFRoZSBwbHVnaW4gbWFuaWZlc3QuXG4gICAqL1xuICBwdWJsaWMgY29uc3RydWN0b3IoYXBwOiBBcHAsIG1hbmlmZXN0OiBQbHVnaW5NYW5pZmVzdCkge1xuICAgIHN1cGVyKGFwcCwgbWFuaWZlc3QpO1xuXG4gICAgdGhpcy5wbHVnaW5Db250ZXh0Q29tcG9uZW50ID0gdGhpcy5hZGRDaGlsZChcbiAgICAgIG5ldyBQbHVnaW5Db250ZXh0Q29tcG9uZW50KHtcbiAgICAgICAgYXBwOiB0aGlzLmFwcCxcbiAgICAgICAgcGx1Z2luSWQ6IHRoaXMubWFuaWZlc3QuaWRcbiAgICAgIH0pXG4gICAgKTtcbiAgICB0aGlzLmkxOG5Db21wb25lbnQgPSB0aGlzLmFkZENoaWxkKG5ldyBJMThuQ29tcG9uZW50KCkpO1xuICAgIHRoaXMucGx1Z2luTm90aWNlQ29tcG9uZW50ID0gdGhpcy5hZGRDaGlsZChuZXcgUGx1Z2luTm90aWNlQ29tcG9uZW50KHRoaXMubWFuaWZlc3QubmFtZSkpO1xuICAgIHRoaXMuYXN5bmNFcnJvckhhbmRsZXJDb21wb25lbnQgPSB0aGlzLmFkZENoaWxkKG5ldyBBc3luY0Vycm9ySGFuZGxlckNvbXBvbmVudCh0aGlzLnBsdWdpbk5vdGljZUNvbXBvbmVudCkpO1xuICAgIHRoaXMuYWJvcnRTaWduYWxDb21wb25lbnQgPSB0aGlzLmFkZENoaWxkKG5ldyBBYm9ydFNpZ25hbENvbXBvbmVudCh0aGlzLm1hbmlmZXN0LmlkKSk7XG4gICAgdGhpcy5jb25zb2xlRGVidWdDb21wb25lbnQgPSB0aGlzLmFkZENoaWxkKG5ldyBDb25zb2xlRGVidWdDb21wb25lbnQodGhpcy5tYW5pZmVzdC5pZCkpO1xuICB9XG5cbiAgLyoqXG4gICAqIENhbGxlZCB3aGVuIHRoZSBleHRlcm5hbCBzZXR0aW5ncyBjaGFuZ2UuXG4gICAqXG4gICAqIE92ZXJyaWRlIGluIHN1YmNsYXNzIGlmIG5lZWRlZC4gTWFrZSBzdXJlIHRvIGNhbGwgYGF3YWl0IHN1cGVyLm9uRXh0ZXJuYWxTZXR0aW5nc0NoYW5nZSgpYCBmaXJzdC5cbiAgICovXG4gIHB1YmxpYyBvdmVycmlkZSBhc3luYyBvbkV4dGVybmFsU2V0dGluZ3NDaGFuZ2UoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgYXdhaXQgc3VwZXIub25FeHRlcm5hbFNldHRpbmdzQ2hhbmdlPy4oKTtcbiAgICBhd2FpdCB0aGlzLnRyaWdnZXJBc3luYygnZXh0ZXJuYWxTZXR0aW5nc0NoYW5nZScpO1xuICB9XG59XG5cbi8qKlxuICogUmVsb2FkcyB0aGUgc3BlY2lmaWVkIHBsdWdpbiBieSBkaXNhYmxpbmcgYW5kIHRoZW4gcmUtZW5hYmxpbmcgaXQuXG4gKlxuICogQHBhcmFtIHBsdWdpbiAtIFRoZSBwbHVnaW4gdG8gcmVsb2FkLlxuICogQHJldHVybnMgQSB7QGxpbmsgUHJvbWlzZX0gdGhhdCByZXNvbHZlcyB3aGVuIHRoZSBwbHVnaW4gaXMgcmVsb2FkZWQuXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiByZWxvYWRQbHVnaW4ocGx1Z2luOiBPYnNpZGlhblBsdWdpbik6IFByb21pc2U8dm9pZD4ge1xuICBjb25zdCBwbHVnaW5zID0gcGx1Z2luLmFwcC5wbHVnaW5zO1xuICBjb25zdCBwbHVnaW5JZCA9IHBsdWdpbi5tYW5pZmVzdC5pZDtcbiAgYXdhaXQgcGx1Z2lucy5kaXNhYmxlUGx1Z2luKHBsdWdpbklkKTtcbiAgYXdhaXQgcGx1Z2lucy5lbmFibGVQbHVnaW4ocGx1Z2luSWQpO1xufVxuXG4vKipcbiAqIERpc3BsYXlzIGFuIGVycm9yIG1lc3NhZ2UgYXMgYSBub3RpY2UsIGxvZ3MgaXQgdG8gdGhlIGNvbnNvbGUsIGFuZCBkaXNhYmxlcyB0aGUgc3BlY2lmaWVkIHBsdWdpbi5cbiAqXG4gKiBAcGFyYW0gcGx1Z2luIC0gVGhlIHBsdWdpbiB0byBkaXNhYmxlLlxuICogQHBhcmFtIG1lc3NhZ2UgLSBUaGUgZXJyb3IgbWVzc2FnZSB0byBkaXNwbGF5IGFuZCBsb2cuXG4gKiBAcmV0dXJucyBBIHtAbGluayBQcm9taXNlfSB0aGF0IHJlc29sdmVzIHdoZW4gdGhlIHBsdWdpbiBpcyBkaXNhYmxlZC5cbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIHNob3dFcnJvckFuZERpc2FibGVQbHVnaW4ocGx1Z2luOiBPYnNpZGlhblBsdWdpbiwgbWVzc2FnZTogc3RyaW5nKTogUHJvbWlzZTx2b2lkPiB7XG4gIG5ldyBOb3RpY2UobWVzc2FnZSk7XG4gIHByaW50RXJyb3IobmV3IEVycm9yKG1lc3NhZ2UpKTtcbiAgYXdhaXQgcGx1Z2luLmFwcC5wbHVnaW5zLmRpc2FibGVQbHVnaW4ocGx1Z2luLm1hbmlmZXN0LmlkKTtcbn1cbiJdLAogICJtYXBwaW5ncyI6ICI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBYUE7QUFBQSxFQUNFO0FBQUEsRUFDQSxVQUFVO0FBQUEsT0FDTDtBQU9QLFNBQVMsd0JBQXdCO0FBQ2pDLFNBQVMsa0JBQWtCO0FBQzNCLFNBQVMsNEJBQTRCO0FBQ3JDLFNBQVMsa0NBQWtDO0FBQzNDLFNBQVMsNkJBQTZCO0FBQ3RDLFNBQVMscUJBQXFCO0FBQzlCLFNBQVMsOEJBQThCO0FBQ3ZDLFNBQVMsNkJBQTZCO0FBUS9CLE1BQWUsbUJBQW1CLGlCQUFpQyxFQUFFLGNBQWMsRUFBK0I7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQUk3RztBQUFBO0FBQUE7QUFBQTtBQUFBLEVBS0E7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQUtBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFLQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBS0E7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQUtBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFRSCxZQUFZLEtBQVUsVUFBMEI7QUFDckQsVUFBTSxLQUFLLFFBQVE7QUFFbkIsU0FBSyx5QkFBeUIsS0FBSztBQUFBLE1BQ2pDLElBQUksdUJBQXVCO0FBQUEsUUFDekIsS0FBSyxLQUFLO0FBQUEsUUFDVixVQUFVLEtBQUssU0FBUztBQUFBLE1BQzFCLENBQUM7QUFBQSxJQUNIO0FBQ0EsU0FBSyxnQkFBZ0IsS0FBSyxTQUFTLElBQUksY0FBYyxDQUFDO0FBQ3RELFNBQUssd0JBQXdCLEtBQUssU0FBUyxJQUFJLHNCQUFzQixLQUFLLFNBQVMsSUFBSSxDQUFDO0FBQ3hGLFNBQUssNkJBQTZCLEtBQUssU0FBUyxJQUFJLDJCQUEyQixLQUFLLHFCQUFxQixDQUFDO0FBQzFHLFNBQUssdUJBQXVCLEtBQUssU0FBUyxJQUFJLHFCQUFxQixLQUFLLFNBQVMsRUFBRSxDQUFDO0FBQ3BGLFNBQUssd0JBQXdCLEtBQUssU0FBUyxJQUFJLHNCQUFzQixLQUFLLFNBQVMsRUFBRSxDQUFDO0FBQUEsRUFDeEY7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFPQSxNQUFzQiwyQkFBMEM7QUFDOUQsVUFBTSxNQUFNLDJCQUEyQjtBQUN2QyxVQUFNLEtBQUssYUFBYSx3QkFBd0I7QUFBQSxFQUNsRDtBQUNGO0FBUUEsZUFBc0IsYUFBYSxRQUF1QztBQUN4RSxRQUFNLFVBQVUsT0FBTyxJQUFJO0FBQzNCLFFBQU0sV0FBVyxPQUFPLFNBQVM7QUFDakMsUUFBTSxRQUFRLGNBQWMsUUFBUTtBQUNwQyxRQUFNLFFBQVEsYUFBYSxRQUFRO0FBQ3JDO0FBU0EsZUFBc0IsMEJBQTBCLFFBQXdCLFNBQWdDO0FBQ3RHLE1BQUksT0FBTyxPQUFPO0FBQ2xCLGFBQVcsSUFBSSxNQUFNLE9BQU8sQ0FBQztBQUM3QixRQUFNLE9BQU8sSUFBSSxRQUFRLGNBQWMsT0FBTyxTQUFTLEVBQUU7QUFDM0Q7IiwKICAibmFtZXMiOiBbXQp9Cg==
136
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vLi4vc3JjL29ic2lkaWFuL3BsdWdpbi9wbHVnaW4udHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbIi8qKlxuICogQGZpbGVcbiAqXG4gKiBCYXNlIGNsYXNzIGZvciBPYnNpZGlhbiBwbHVnaW5zIHVzaW5nIGEgY29tcG9uZW50LWJhc2VkIGFyY2hpdGVjdHVyZS5cbiAqXG4gKiBQbHVnaW5CYXNlIHJlZ2lzdGVycyB1bml2ZXJzYWwgY29tcG9uZW50cyAoY29udGV4dCwgaTE4biwgZXJyb3IgaGFuZGxpbmcsIGFib3J0IHNpZ25hbCwgbGlmZWN5Y2xlIGV2ZW50cywgZGVidWcpLlxuICovXG5cbmltcG9ydCB0eXBlIHtcbiAgQXBwLFxuICBDb21wb25lbnQsXG4gIFBsdWdpbk1hbmlmZXN0XG59IGZyb20gJ29ic2lkaWFuJztcblxuaW1wb3J0IHtcbiAgTm90aWNlLFxuICBQbHVnaW4gYXMgT2JzaWRpYW5QbHVnaW5cbn0gZnJvbSAnb2JzaWRpYW4nO1xuXG5pbXBvcnQgdHlwZSB7XG4gIFBsdWdpbkV2ZW50TWFwLFxuICBQbHVnaW5FdmVudFNvdXJjZVxufSBmcm9tICcuL3BsdWdpbi1ldmVudC1zb3VyY2UudHMnO1xuXG5pbXBvcnQgeyBtaXhpbkFzeW5jRXZlbnRzIH0gZnJvbSAnLi4vLi4vYXN5bmMtZXZlbnRzLnRzJztcbmltcG9ydCB7IHByaW50RXJyb3IgfSBmcm9tICcuLi8uLi9lcnJvci50cyc7XG5pbXBvcnQgeyBBYm9ydFNpZ25hbENvbXBvbmVudCB9IGZyb20gJy4uL2NvbXBvbmVudHMvYWJvcnQtc2lnbmFsLWNvbXBvbmVudC50cyc7XG5pbXBvcnQgeyBBc3luY0Vycm9ySGFuZGxlckNvbXBvbmVudCB9IGZyb20gJy4uL2NvbXBvbmVudHMvYXN5bmMtZXJyb3ItaGFuZGxlci1jb21wb25lbnQudHMnO1xuaW1wb3J0IHsgQ29tcG9uZW50RXggfSBmcm9tICcuLi9jb21wb25lbnRzL2NvbXBvbmVudC1leC50cyc7XG5pbXBvcnQgeyBDb25zb2xlRGVidWdDb21wb25lbnQgfSBmcm9tICcuLi9jb21wb25lbnRzL2NvbnNvbGUtZGVidWctY29tcG9uZW50LnRzJztcbmltcG9ydCB7IEkxOG5Db21wb25lbnQgfSBmcm9tICcuLi9jb21wb25lbnRzL2kxOG4tY29tcG9uZW50LnRzJztcbmltcG9ydCB7IFBsdWdpbkNvbnRleHRDb21wb25lbnQgfSBmcm9tICcuLi9jb21wb25lbnRzL3BsdWdpbi1jb250ZXh0LWNvbXBvbmVudC50cyc7XG5pbXBvcnQgeyBQbHVnaW5Ob3RpY2VDb21wb25lbnQgfSBmcm9tICcuLi9jb21wb25lbnRzL3BsdWdpbi1ub3RpY2UtY29tcG9uZW50LnRzJztcblxuLyoqXG4gKiBCYXNlIGNsYXNzIGZvciBjcmVhdGluZyBPYnNpZGlhbiBwbHVnaW5zIHdpdGggYSBjb21wb25lbnQtYmFzZWQgYXJjaGl0ZWN0dXJlLlxuICpcbiAqIFJlZ2lzdGVycyB1bml2ZXJzYWwgY29tcG9uZW50cyBhdXRvbWF0aWNhbGx5LiBTdWJjbGFzc2VzIGFkZCBvciByZXBsYWNlIGNvbXBvbmVudHNcbiAqIHZpYSB7QGxpbmsgUGx1Z2luQmFzZS5hZGRDaGlsZH0gaW4gdGhlaXIgY29uc3RydWN0b3IuXG4gKi9cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBQbHVnaW5CYXNlIGV4dGVuZHMgbWl4aW5Bc3luY0V2ZW50czxQbHVnaW5FdmVudE1hcD4oKShPYnNpZGlhblBsdWdpbikgaW1wbGVtZW50cyBQbHVnaW5FdmVudFNvdXJjZSB7XG4gIC8qKlxuICAgKiBBYm9ydCBzaWduYWwgY29tcG9uZW50LlxuICAgKi9cbiAgcHJvdGVjdGVkIGFib3J0U2lnbmFsQ29tcG9uZW50OiBBYm9ydFNpZ25hbENvbXBvbmVudDtcblxuICAvKipcbiAgICogQXN5bmMgZXJyb3IgaGFuZGxlciBjb21wb25lbnQuXG4gICAqL1xuICBwcm90ZWN0ZWQgYXN5bmNFcnJvckhhbmRsZXJDb21wb25lbnQ6IEFzeW5jRXJyb3JIYW5kbGVyQ29tcG9uZW50O1xuXG4gIC8qKlxuICAgKiBDb25zb2xlIGRlYnVnIGNvbXBvbmVudC5cbiAgICovXG4gIHByb3RlY3RlZCBjb25zb2xlRGVidWdDb21wb25lbnQ6IENvbnNvbGVEZWJ1Z0NvbXBvbmVudDtcblxuICAvKipcbiAgICogSTE4biBjb21wb25lbnQuXG4gICAqL1xuICBwcm90ZWN0ZWQgaTE4bkNvbXBvbmVudDogSTE4bkNvbXBvbmVudDtcblxuICAvKipcbiAgICogUGx1Z2luIGNvbnRleHQgY29tcG9uZW50IChwbHVnaW4gSUQsIGRlYnVnIGNvbnRyb2xsZXIsIGxpYnJhcnkgc3R5bGVzKS5cbiAgICovXG4gIHByb3RlY3RlZCBwbHVnaW5Db250ZXh0Q29tcG9uZW50OiBQbHVnaW5Db250ZXh0Q29tcG9uZW50O1xuXG4gIC8qKlxuICAgKiBQbHVnaW4gbm90aWNlIGNvbXBvbmVudC5cbiAgICovXG4gIHByb3RlY3RlZCBwbHVnaW5Ob3RpY2VDb21wb25lbnQ6IFBsdWdpbk5vdGljZUNvbXBvbmVudDtcblxuICBwcml2YXRlIHJlYWRvbmx5IHdyYXBwZXJDb21wb25lbnQ6IENvbXBvbmVudEV4O1xuXG4gIC8qKlxuICAgKiBDcmVhdGVzIGEgbmV3IHBsdWdpbi5cbiAgICpcbiAgICogQHBhcmFtIGFwcCAtIFRoZSBPYnNpZGlhbiBBcHAgaW5zdGFuY2UuXG4gICAqIEBwYXJhbSBtYW5pZmVzdCAtIFRoZSBwbHVnaW4gbWFuaWZlc3QuXG4gICAqL1xuICBwdWJsaWMgY29uc3RydWN0b3IoYXBwOiBBcHAsIG1hbmlmZXN0OiBQbHVnaW5NYW5pZmVzdCkge1xuICAgIHN1cGVyKGFwcCwgbWFuaWZlc3QpO1xuICAgIHRoaXMud3JhcHBlckNvbXBvbmVudCA9IHN1cGVyLmFkZENoaWxkKG5ldyBDb21wb25lbnRFeCgpKTtcblxuICAgIHRoaXMucGx1Z2luQ29udGV4dENvbXBvbmVudCA9IHRoaXMuYWRkQ2hpbGQoXG4gICAgICBuZXcgUGx1Z2luQ29udGV4dENvbXBvbmVudCh7XG4gICAgICAgIGFwcDogdGhpcy5hcHAsXG4gICAgICAgIHBsdWdpbklkOiB0aGlzLm1hbmlmZXN0LmlkXG4gICAgICB9KVxuICAgICk7XG4gICAgdGhpcy5pMThuQ29tcG9uZW50ID0gdGhpcy5hZGRDaGlsZChuZXcgSTE4bkNvbXBvbmVudCgpKTtcbiAgICB0aGlzLnBsdWdpbk5vdGljZUNvbXBvbmVudCA9IHRoaXMuYWRkQ2hpbGQobmV3IFBsdWdpbk5vdGljZUNvbXBvbmVudCh0aGlzLm1hbmlmZXN0Lm5hbWUpKTtcbiAgICB0aGlzLmFzeW5jRXJyb3JIYW5kbGVyQ29tcG9uZW50ID0gdGhpcy5hZGRDaGlsZChuZXcgQXN5bmNFcnJvckhhbmRsZXJDb21wb25lbnQodGhpcy5wbHVnaW5Ob3RpY2VDb21wb25lbnQpKTtcbiAgICB0aGlzLmFib3J0U2lnbmFsQ29tcG9uZW50ID0gdGhpcy5hZGRDaGlsZChuZXcgQWJvcnRTaWduYWxDb21wb25lbnQodGhpcy5tYW5pZmVzdC5pZCkpO1xuICAgIHRoaXMuY29uc29sZURlYnVnQ29tcG9uZW50ID0gdGhpcy5hZGRDaGlsZChuZXcgQ29uc29sZURlYnVnQ29tcG9uZW50KHRoaXMubWFuaWZlc3QuaWQpKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBBZGRzIGEgY2hpbGQgY29tcG9uZW50IHRvIHRoZSBwbHVnaW4uXG4gICAqXG4gICAqIEB0eXBlUGFyYW0gVENvbXBvbmVudCAtIFRoZSB0eXBlIG9mIGNvbXBvbmVudCB0byBhZGQuXG4gICAqIEBwYXJhbSBjb21wb25lbnQgLSBUaGUgY29tcG9uZW50IHRvIGFkZC5cbiAgICogQHJldHVybnMgVGhlIGFkZGVkIGNvbXBvbmVudC5cbiAgICovXG4gIHB1YmxpYyBvdmVycmlkZSBhZGRDaGlsZDxUQ29tcG9uZW50IGV4dGVuZHMgQ29tcG9uZW50Pihjb21wb25lbnQ6IFRDb21wb25lbnQpOiBUQ29tcG9uZW50IHtcbiAgICByZXR1cm4gdGhpcy53cmFwcGVyQ29tcG9uZW50LmFkZENoaWxkKGNvbXBvbmVudCk7XG4gIH1cblxuICAvKipcbiAgICogQ2FsbGVkIHdoZW4gdGhlIGV4dGVybmFsIHNldHRpbmdzIGNoYW5nZS5cbiAgICpcbiAgICogT3ZlcnJpZGUgaW4gc3ViY2xhc3MgaWYgbmVlZGVkLiBNYWtlIHN1cmUgdG8gY2FsbCBgYXdhaXQgc3VwZXIub25FeHRlcm5hbFNldHRpbmdzQ2hhbmdlKClgIGZpcnN0LlxuICAgKi9cbiAgcHVibGljIG92ZXJyaWRlIGFzeW5jIG9uRXh0ZXJuYWxTZXR0aW5nc0NoYW5nZSgpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBhd2FpdCBzdXBlci5vbkV4dGVybmFsU2V0dGluZ3NDaGFuZ2U/LigpO1xuICAgIGF3YWl0IHRoaXMudHJpZ2dlckFzeW5jKCdleHRlcm5hbFNldHRpbmdzQ2hhbmdlJyk7XG4gIH1cblxuICAvKipcbiAgICogQ2FsbGVkIHdoZW4gdGhlIHBsdWdpbiBpcyBsb2FkZWQuXG4gICAqL1xuICBwdWJsaWMgb3ZlcnJpZGUgYXN5bmMgb25sb2FkKCk6IFByb21pc2U8dm9pZD4ge1xuICAgIGF3YWl0IHRoaXMud3JhcHBlckNvbXBvbmVudC5sb2FkV2l0aFByb21pc2VzKCk7XG4gIH1cblxuICAvKipcbiAgICogUmVtb3ZlcyBhIGNoaWxkIGNvbXBvbmVudCBmcm9tIHRoZSBwbHVnaW4uXG4gICAqXG4gICAqIEB0eXBlUGFyYW0gVENvbXBvbmVudCAtIFRoZSB0eXBlIG9mIGNvbXBvbmVudCB0byByZW1vdmUuXG4gICAqIEBwYXJhbSBjb21wb25lbnQgLSBUaGUgY29tcG9uZW50IHRvIHJlbW92ZS5cbiAgICogQHJldHVybnMgVGhlIHJlbW92ZWQgY29tcG9uZW50LlxuICAgKi9cbiAgcHVibGljIG92ZXJyaWRlIHJlbW92ZUNoaWxkPFRDb21wb25lbnQgZXh0ZW5kcyBDb21wb25lbnQ+KGNvbXBvbmVudDogVENvbXBvbmVudCk6IFRDb21wb25lbnQge1xuICAgIHJldHVybiB0aGlzLndyYXBwZXJDb21wb25lbnQucmVtb3ZlQ2hpbGQoY29tcG9uZW50KTtcbiAgfVxufVxuXG4vKipcbiAqIFJlbG9hZHMgdGhlIHNwZWNpZmllZCBwbHVnaW4gYnkgZGlzYWJsaW5nIGFuZCB0aGVuIHJlLWVuYWJsaW5nIGl0LlxuICpcbiAqIEBwYXJhbSBwbHVnaW4gLSBUaGUgcGx1Z2luIHRvIHJlbG9hZC5cbiAqIEByZXR1cm5zIEEge0BsaW5rIFByb21pc2V9IHRoYXQgcmVzb2x2ZXMgd2hlbiB0aGUgcGx1Z2luIGlzIHJlbG9hZGVkLlxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gcmVsb2FkUGx1Z2luKHBsdWdpbjogT2JzaWRpYW5QbHVnaW4pOiBQcm9taXNlPHZvaWQ+IHtcbiAgY29uc3QgcGx1Z2lucyA9IHBsdWdpbi5hcHAucGx1Z2lucztcbiAgY29uc3QgcGx1Z2luSWQgPSBwbHVnaW4ubWFuaWZlc3QuaWQ7XG4gIGF3YWl0IHBsdWdpbnMuZGlzYWJsZVBsdWdpbihwbHVnaW5JZCk7XG4gIGF3YWl0IHBsdWdpbnMuZW5hYmxlUGx1Z2luKHBsdWdpbklkKTtcbn1cblxuLyoqXG4gKiBEaXNwbGF5cyBhbiBlcnJvciBtZXNzYWdlIGFzIGEgbm90aWNlLCBsb2dzIGl0IHRvIHRoZSBjb25zb2xlLCBhbmQgZGlzYWJsZXMgdGhlIHNwZWNpZmllZCBwbHVnaW4uXG4gKlxuICogQHBhcmFtIHBsdWdpbiAtIFRoZSBwbHVnaW4gdG8gZGlzYWJsZS5cbiAqIEBwYXJhbSBtZXNzYWdlIC0gVGhlIGVycm9yIG1lc3NhZ2UgdG8gZGlzcGxheSBhbmQgbG9nLlxuICogQHJldHVybnMgQSB7QGxpbmsgUHJvbWlzZX0gdGhhdCByZXNvbHZlcyB3aGVuIHRoZSBwbHVnaW4gaXMgZGlzYWJsZWQuXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBzaG93RXJyb3JBbmREaXNhYmxlUGx1Z2luKHBsdWdpbjogT2JzaWRpYW5QbHVnaW4sIG1lc3NhZ2U6IHN0cmluZyk6IFByb21pc2U8dm9pZD4ge1xuICBuZXcgTm90aWNlKG1lc3NhZ2UpO1xuICBwcmludEVycm9yKG5ldyBFcnJvcihtZXNzYWdlKSk7XG4gIGF3YWl0IHBsdWdpbi5hcHAucGx1Z2lucy5kaXNhYmxlUGx1Z2luKHBsdWdpbi5tYW5pZmVzdC5pZCk7XG59XG4iXSwKICAibWFwcGluZ3MiOiAiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQWNBO0FBQUEsRUFDRTtBQUFBLEVBQ0EsVUFBVTtBQUFBLE9BQ0w7QUFPUCxTQUFTLHdCQUF3QjtBQUNqQyxTQUFTLGtCQUFrQjtBQUMzQixTQUFTLDRCQUE0QjtBQUNyQyxTQUFTLGtDQUFrQztBQUMzQyxTQUFTLG1CQUFtQjtBQUM1QixTQUFTLDZCQUE2QjtBQUN0QyxTQUFTLHFCQUFxQjtBQUM5QixTQUFTLDhCQUE4QjtBQUN2QyxTQUFTLDZCQUE2QjtBQVEvQixNQUFlLG1CQUFtQixpQkFBaUMsRUFBRSxjQUFjLEVBQStCO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFJN0c7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQUtBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFLQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBS0E7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQUtBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFLQTtBQUFBLEVBRU87QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQVFWLFlBQVksS0FBVSxVQUEwQjtBQUNyRCxVQUFNLEtBQUssUUFBUTtBQUNuQixTQUFLLG1CQUFtQixNQUFNLFNBQVMsSUFBSSxZQUFZLENBQUM7QUFFeEQsU0FBSyx5QkFBeUIsS0FBSztBQUFBLE1BQ2pDLElBQUksdUJBQXVCO0FBQUEsUUFDekIsS0FBSyxLQUFLO0FBQUEsUUFDVixVQUFVLEtBQUssU0FBUztBQUFBLE1BQzFCLENBQUM7QUFBQSxJQUNIO0FBQ0EsU0FBSyxnQkFBZ0IsS0FBSyxTQUFTLElBQUksY0FBYyxDQUFDO0FBQ3RELFNBQUssd0JBQXdCLEtBQUssU0FBUyxJQUFJLHNCQUFzQixLQUFLLFNBQVMsSUFBSSxDQUFDO0FBQ3hGLFNBQUssNkJBQTZCLEtBQUssU0FBUyxJQUFJLDJCQUEyQixLQUFLLHFCQUFxQixDQUFDO0FBQzFHLFNBQUssdUJBQXVCLEtBQUssU0FBUyxJQUFJLHFCQUFxQixLQUFLLFNBQVMsRUFBRSxDQUFDO0FBQ3BGLFNBQUssd0JBQXdCLEtBQUssU0FBUyxJQUFJLHNCQUFzQixLQUFLLFNBQVMsRUFBRSxDQUFDO0FBQUEsRUFDeEY7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBU2dCLFNBQXVDLFdBQW1DO0FBQ3hGLFdBQU8sS0FBSyxpQkFBaUIsU0FBUyxTQUFTO0FBQUEsRUFDakQ7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFPQSxNQUFzQiwyQkFBMEM7QUFDOUQsVUFBTSxNQUFNLDJCQUEyQjtBQUN2QyxVQUFNLEtBQUssYUFBYSx3QkFBd0I7QUFBQSxFQUNsRDtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBS0EsTUFBc0IsU0FBd0I7QUFDNUMsVUFBTSxLQUFLLGlCQUFpQixpQkFBaUI7QUFBQSxFQUMvQztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFTZ0IsWUFBMEMsV0FBbUM7QUFDM0YsV0FBTyxLQUFLLGlCQUFpQixZQUFZLFNBQVM7QUFBQSxFQUNwRDtBQUNGO0FBUUEsZUFBc0IsYUFBYSxRQUF1QztBQUN4RSxRQUFNLFVBQVUsT0FBTyxJQUFJO0FBQzNCLFFBQU0sV0FBVyxPQUFPLFNBQVM7QUFDakMsUUFBTSxRQUFRLGNBQWMsUUFBUTtBQUNwQyxRQUFNLFFBQVEsYUFBYSxRQUFRO0FBQ3JDO0FBU0EsZUFBc0IsMEJBQTBCLFFBQXdCLFNBQWdDO0FBQ3RHLE1BQUksT0FBTyxPQUFPO0FBQ2xCLGFBQVcsSUFBSSxNQUFNLE9BQU8sQ0FBQztBQUM3QixRQUFNLE9BQU8sSUFBSSxRQUFRLGNBQWMsT0FBTyxTQUFTLEVBQUU7QUFDM0Q7IiwKICAibmFtZXMiOiBbXQp9Cg==
@@ -8,7 +8,20 @@
8
8
  * The proxy implementation mirrors the design of
9
9
  * `obsidian-test-mocks/src/internal/strict-proxy.ts`.
10
10
  */
11
- import type { PartialDeep } from 'type-fest';
11
+ import type { GenericFunction } from './function.mjs';
12
+ /**
13
+ * A recursive partial type compatible with `exactOptionalPropertyTypes`.
14
+ *
15
+ * Unlike `PartialDeep` from type-fest, this type allows full `T` values at any
16
+ * nesting level via the `| T[K]` union. This is essential for composing nested
17
+ * `strictProxy` calls — an inner `strictProxy<MetadataCache>({...})` returns
18
+ * `MetadataCache`, which must be assignable to the outer partial type.
19
+ *
20
+ * @typeParam T - The target type to create a partial version of.
21
+ */
22
+ type StrictProxyPartial<T> = T extends GenericFunction ? T : T extends readonly unknown[] ? T : T extends object ? {
23
+ [K in keyof T]?: StrictProxyPartial<T[K]> | T[K];
24
+ } : T;
12
25
  /**
13
26
  * Bypasses strict proxy to access the underlying object.
14
27
  *
@@ -34,4 +47,5 @@ export declare function bypassStrictProxy<T>(obj: T): T;
34
47
  * @param partial - A partial object containing only the mocked members.
35
48
  * @returns A proxy typed as `T` that throws on unmocked property access.
36
49
  */
37
- export declare function strictProxy<T>(partial: PartialDeep<T>): T;
50
+ export declare function strictProxy<T>(partial: StrictProxyPartial<T>): T;
51
+ export {};
@@ -81,4 +81,4 @@ export {
81
81
  bypassStrictProxy,
82
82
  strictProxy
83
83
  };
84
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL3N0cmljdC1wcm94eS50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsiLyoqXG4gKiBAZmlsZVxuICpcbiAqIFN0cmljdGx5LXR5cGVkIG1vY2sgb2JqZWN0IGZhY3RvcnkgdmlhIGBQcm94eWAuIFRocm93cyBhIGRlc2NyaXB0aXZlIGVycm9yXG4gKiB3aGVuIGFueSB1bm1vY2tlZCBwcm9wZXJ0eSBpcyBhY2Nlc3NlZCwgcHJldmVudGluZyBzaWxlbnQgYHVuZGVmaW5lZGAgcmV0dXJucy5cbiAqXG4gKiBUaGUgcHJveHkgaW1wbGVtZW50YXRpb24gbWlycm9ycyB0aGUgZGVzaWduIG9mXG4gKiBgb2JzaWRpYW4tdGVzdC1tb2Nrcy9zcmMvaW50ZXJuYWwvc3RyaWN0LXByb3h5LnRzYC5cbiAqL1xuXG5pbXBvcnQgdHlwZSB7IFBhcnRpYWxEZWVwIH0gZnJvbSAndHlwZS1mZXN0JztcblxuY29uc3QgU1RSSUNUX1BST1hZX1RBUkdFVF9TWU1CT0wgPSBTeW1ib2wuZm9yKCdzdHJpY3RQcm94eVRhcmdldCcpO1xuXG5jb25zdCBQQVNTVEhST1VHSF9QUk9QUyA9IG5ldyBTZXQ8c3RyaW5nIHwgc3ltYm9sPihbXG4gIFN5bWJvbC5pdGVyYXRvcixcbiAgU3ltYm9sLnRvUHJpbWl0aXZlLFxuICBTeW1ib2wudG9TdHJpbmdUYWcsXG4gICd0aGVuJyxcbiAgJ3RvSlNPTidcbl0pO1xuXG4vKipcbiAqIEJ5cGFzc2VzIHN0cmljdCBwcm94eSB0byBhY2Nlc3MgdGhlIHVuZGVybHlpbmcgb2JqZWN0LlxuICpcbiAqIElmIHRoZSBvYmplY3QgaXMgd3JhcHBlZCBpbiBhIHN0cmljdCBwcm94eSwgcmV0dXJucyB0aGUgdW53cmFwcGVkIHRhcmdldC5cbiAqIE90aGVyd2lzZSwgcmV0dXJucyB0aGUgb2JqZWN0IGFzLWlzLiBUaGlzIGFsbG93cyBzYWZlbHkgYWNjZXNzaW5nXG4gKiBvcHRpb25hbCBwcm9wZXJ0aWVzIHdpdGhvdXQgdHJpZ2dlcmluZyB0aGUgcHJveHkncyBlcnJvciBvbiBtaXNzaW5nIHByb3BzLlxuICpcbiAqIEB0eXBlUGFyYW0gVCAtIFRoZSBvYmplY3QgdHlwZS5cbiAqIEBwYXJhbSBvYmogLSBUaGUgb2JqZWN0IHRvIGJ5cGFzcy5cbiAqIEByZXR1cm5zIFRoZSB1bndyYXBwZWQgb2JqZWN0LlxuICovXG5leHBvcnQgZnVuY3Rpb24gYnlwYXNzU3RyaWN0UHJveHk8VD4ob2JqOiBUKTogVCB7XG4gIGlmICghaXNPYmplY3RMaWtlKG9iaikpIHtcbiAgICByZXR1cm4gb2JqO1xuICB9XG4gIGlmICghKFNUUklDVF9QUk9YWV9UQVJHRVRfU1lNQk9MIGluIG9iaikpIHtcbiAgICByZXR1cm4gb2JqO1xuICB9XG4gIHJldHVybiBvYmpbU1RSSUNUX1BST1hZX1RBUkdFVF9TWU1CT0xdIGFzIFQ7XG59XG5cbi8qKlxuICogQ3JlYXRlcyBhIHN0cmljdGx5LXR5cGVkIG1vY2sgb2JqZWN0IGZyb20gYSBwYXJ0aWFsIGltcGxlbWVudGF0aW9uLlxuICogVXNlcyBhIGBQcm94eWAgdGhhdCB0aHJvd3MgYSBkZXNjcmlwdGl2ZSBlcnJvciB3aGVuIGFueSB1bm1vY2tlZFxuICogcHJvcGVydHkgaXMgYWNjZXNzZWQsIHByZXZlbnRpbmcgc2lsZW50IGB1bmRlZmluZWRgIHJldHVybnMuXG4gKlxuICogLSBJZGVtcG90ZW50OiBkb3VibGUtd3JhcHBpbmcgaXMgYSBuby1vcC5cbiAqIC0gUGFzc3Rocm91Z2ggZm9yIHdlbGwta25vd24gcHJvcHMgKGB0aGVuYCwgYHRvSlNPTmAsIGBTeW1ib2wuaXRlcmF0b3JgLCBldGMuKS5cbiAqIC0gUmVjdXJzaXZlIHByb3h5aW5nIG9mIG5lc3RlZCBwbGFpbiBvYmplY3RzLlxuICpcbiAqIEB0eXBlUGFyYW0gVCAtIFRoZSB0YXJnZXQgdHlwZSB0byBtb2NrLlxuICogQHBhcmFtIHBhcnRpYWwgLSBBIHBhcnRpYWwgb2JqZWN0IGNvbnRhaW5pbmcgb25seSB0aGUgbW9ja2VkIG1lbWJlcnMuXG4gKiBAcmV0dXJucyBBIHByb3h5IHR5cGVkIGFzIGBUYCB0aGF0IHRocm93cyBvbiB1bm1vY2tlZCBwcm9wZXJ0eSBhY2Nlc3MuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBzdHJpY3RQcm94eTxUPihwYXJ0aWFsOiBQYXJ0aWFsRGVlcDxUPik6IFQge1xuICByZXR1cm4gd3JhcFByb3h5PFQ+KHBhcnRpYWwpO1xufVxuXG4vKipcbiAqIENoZWNrcyBpZiBhIHZhbHVlIGlzIGFuIG9iamVjdC1saWtlIHZhbHVlIChub3QgbnVsbCkuXG4gKlxuICogQHBhcmFtIHZhbHVlIC0gVGhlIHZhbHVlIHRvIGNoZWNrLlxuICogQHJldHVybnMgV2hldGhlciB0aGUgdmFsdWUgaXMgb2JqZWN0LWxpa2UuXG4gKi9cbmZ1bmN0aW9uIGlzT2JqZWN0TGlrZSh2YWx1ZTogdW5rbm93bik6IHZhbHVlIGlzIG9iamVjdCB7XG4gIHJldHVybiB2YWx1ZSAhPT0gbnVsbCAmJiB0eXBlb2YgdmFsdWUgPT09ICdvYmplY3QnO1xufVxuXG4vKipcbiAqIENoZWNrcyBpZiBhIHZhbHVlIGlzIGEgcGxhaW4gb2JqZWN0IChub3QgYSBjbGFzcyBpbnN0YW5jZSwgYXJyYXksIG51bGwsIGV0Yy4pLlxuICpcbiAqIEBwYXJhbSB2YWx1ZSAtIFRoZSB2YWx1ZSB0byBjaGVjay5cbiAqIEByZXR1cm5zIFdoZXRoZXIgdGhlIHZhbHVlIGlzIGEgcGxhaW4gb2JqZWN0LlxuICovXG5mdW5jdGlvbiBpc1BsYWluT2JqZWN0KHZhbHVlOiB1bmtub3duKTogdmFsdWUgaXMgUmVjb3JkPHN0cmluZywgdW5rbm93bj4ge1xuICByZXR1cm4gaXNPYmplY3RMaWtlKHZhbHVlKSAmJiBPYmplY3QuZ2V0UHJvdG90eXBlT2YodmFsdWUpID09PSBPYmplY3QucHJvdG90eXBlO1xufVxuXG4vKipcbiAqIFdyYXBzIGEgdmFsdWUgaW4gYSBzdHJpY3QgcHJveHkuIElkZW1wb3RlbnQgXHUyMDE0IGRvdWJsZS13cmFwcGluZyBpcyBhIG5vLW9wLlxuICpcbiAqIEB0eXBlUGFyYW0gVCAtIFRoZSB0YXJnZXQgdHlwZSBmb3IgdGhlIHByb3h5LlxuICogQHBhcmFtIHZhbHVlIC0gVGhlIHZhbHVlIHRvIHdyYXAuXG4gKiBAcmV0dXJucyBUaGUgcHJveGllZCB2YWx1ZSB0eXBlZCBhcyBgVGAuXG4gKi9cbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW5uZWNlc3NhcnktdHlwZS1wYXJhbWV0ZXJzIC0tIFQgcHJvdmlkZXMgcmV0dXJuIHR5cGUgaW5mZXJlbmNlIGF0IGNhbGwgc2l0ZXMuXG5mdW5jdGlvbiB3cmFwUHJveHk8VD4odmFsdWU6IHVua25vd24pOiBUIHtcbiAgaWYgKCFpc09iamVjdExpa2UodmFsdWUpKSB7XG4gICAgcmV0dXJuIHZhbHVlIGFzIFQ7XG4gIH1cblxuICBpZiAoU1RSSUNUX1BST1hZX1RBUkdFVF9TWU1CT0wgaW4gdmFsdWUpIHtcbiAgICByZXR1cm4gdmFsdWUgYXMgVDtcbiAgfVxuICBPYmplY3QuZGVmaW5lUHJvcGVydHkodmFsdWUsIFNUUklDVF9QUk9YWV9UQVJHRVRfU1lNQk9MLCB7IHZhbHVlIH0pO1xuXG4gIGNvbnN0IHByb3hpZWRDaGlsZHJlbiA9IG5ldyBNYXA8c3RyaW5nIHwgc3ltYm9sPigpO1xuXG4gIHJldHVybiBuZXcgUHJveHkodmFsdWUsIHtcbiAgICBnZXQodGFyZ2V0LCBwcm9wLCByZWNlaXZlcik6IHVua25vd24ge1xuICAgICAgaWYgKHByb3AgaW4gdGFyZ2V0KSB7XG4gICAgICAgIGlmIChwcm94aWVkQ2hpbGRyZW4uaGFzKHByb3ApKSB7XG4gICAgICAgICAgcmV0dXJuIHByb3hpZWRDaGlsZHJlbi5nZXQocHJvcCk7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCB2YWw6IHVua25vd24gPSBSZWZsZWN0LmdldCh0YXJnZXQsIHByb3AsIHJlY2VpdmVyKTtcbiAgICAgICAgaWYgKGlzUGxhaW5PYmplY3QodmFsKSkge1xuICAgICAgICAgIGNvbnN0IHJlc3VsdCA9IHdyYXBQcm94eTx1bmtub3duPih2YWwpO1xuICAgICAgICAgIHByb3hpZWRDaGlsZHJlbi5zZXQocHJvcCwgcmVzdWx0KTtcbiAgICAgICAgICByZXR1cm4gcmVzdWx0O1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB2YWw7XG4gICAgICB9XG5cbiAgICAgIGlmICh0eXBlb2YgcHJvcCA9PT0gJ3N5bWJvbCcgfHwgUEFTU1RIUk9VR0hfUFJPUFMuaGFzKHByb3ApKSB7XG4gICAgICAgIHJldHVybiBSZWZsZWN0LmdldCh0YXJnZXQsIHByb3AsIHJlY2VpdmVyKTtcbiAgICAgIH1cblxuICAgICAgdGhyb3cgbmV3IEVycm9yKGBVbm1vY2tlZCBwcm9wZXJ0eSBcIiR7cHJvcH1cIiB3YXMgYWNjZXNzZWQgb24gbW9jayBvYmplY3RgKTtcbiAgICB9XG4gIH0pIGFzIFQ7XG59XG4iXSwKICAibWFwcGluZ3MiOiAiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQVlBLE1BQU0sNkJBQTZCLHVCQUFPLElBQUksbUJBQW1CO0FBRWpFLE1BQU0sb0JBQW9CLG9CQUFJLElBQXFCO0FBQUEsRUFDakQsT0FBTztBQUFBLEVBQ1AsT0FBTztBQUFBLEVBQ1AsT0FBTztBQUFBLEVBQ1A7QUFBQSxFQUNBO0FBQ0YsQ0FBQztBQWFNLFNBQVMsa0JBQXFCLEtBQVc7QUFDOUMsTUFBSSxDQUFDLGFBQWEsR0FBRyxHQUFHO0FBQ3RCLFdBQU87QUFBQSxFQUNUO0FBQ0EsTUFBSSxFQUFFLDhCQUE4QixNQUFNO0FBQ3hDLFdBQU87QUFBQSxFQUNUO0FBQ0EsU0FBTyxJQUFJLDBCQUEwQjtBQUN2QztBQWVPLFNBQVMsWUFBZSxTQUE0QjtBQUN6RCxTQUFPLFVBQWEsT0FBTztBQUM3QjtBQVFBLFNBQVMsYUFBYSxPQUFpQztBQUNyRCxTQUFPLFVBQVUsUUFBUSxPQUFPLFVBQVU7QUFDNUM7QUFRQSxTQUFTLGNBQWMsT0FBa0Q7QUFDdkUsU0FBTyxhQUFhLEtBQUssS0FBSyxPQUFPLGVBQWUsS0FBSyxNQUFNLE9BQU87QUFDeEU7QUFVQSxTQUFTLFVBQWEsT0FBbUI7QUFDdkMsTUFBSSxDQUFDLGFBQWEsS0FBSyxHQUFHO0FBQ3hCLFdBQU87QUFBQSxFQUNUO0FBRUEsTUFBSSw4QkFBOEIsT0FBTztBQUN2QyxXQUFPO0FBQUEsRUFDVDtBQUNBLFNBQU8sZUFBZSxPQUFPLDRCQUE0QixFQUFFLE1BQU0sQ0FBQztBQUVsRSxRQUFNLGtCQUFrQixvQkFBSSxJQUFxQjtBQUVqRCxTQUFPLElBQUksTUFBTSxPQUFPO0FBQUEsSUFDdEIsSUFBSSxRQUFRLE1BQU0sVUFBbUI7QUFDbkMsVUFBSSxRQUFRLFFBQVE7QUFDbEIsWUFBSSxnQkFBZ0IsSUFBSSxJQUFJLEdBQUc7QUFDN0IsaUJBQU8sZ0JBQWdCLElBQUksSUFBSTtBQUFBLFFBQ2pDO0FBRUEsY0FBTSxNQUFlLFFBQVEsSUFBSSxRQUFRLE1BQU0sUUFBUTtBQUN2RCxZQUFJLGNBQWMsR0FBRyxHQUFHO0FBQ3RCLGdCQUFNLFNBQVMsVUFBbUIsR0FBRztBQUNyQywwQkFBZ0IsSUFBSSxNQUFNLE1BQU07QUFDaEMsaUJBQU87QUFBQSxRQUNUO0FBQ0EsZUFBTztBQUFBLE1BQ1Q7QUFFQSxVQUFJLE9BQU8sU0FBUyxZQUFZLGtCQUFrQixJQUFJLElBQUksR0FBRztBQUMzRCxlQUFPLFFBQVEsSUFBSSxRQUFRLE1BQU0sUUFBUTtBQUFBLE1BQzNDO0FBRUEsWUFBTSxJQUFJLE1BQU0sc0JBQXNCLElBQUksK0JBQStCO0FBQUEsSUFDM0U7QUFBQSxFQUNGLENBQUM7QUFDSDsiLAogICJuYW1lcyI6IFtdCn0K
84
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL3N0cmljdC1wcm94eS50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsiLyoqXG4gKiBAZmlsZVxuICpcbiAqIFN0cmljdGx5LXR5cGVkIG1vY2sgb2JqZWN0IGZhY3RvcnkgdmlhIGBQcm94eWAuIFRocm93cyBhIGRlc2NyaXB0aXZlIGVycm9yXG4gKiB3aGVuIGFueSB1bm1vY2tlZCBwcm9wZXJ0eSBpcyBhY2Nlc3NlZCwgcHJldmVudGluZyBzaWxlbnQgYHVuZGVmaW5lZGAgcmV0dXJucy5cbiAqXG4gKiBUaGUgcHJveHkgaW1wbGVtZW50YXRpb24gbWlycm9ycyB0aGUgZGVzaWduIG9mXG4gKiBgb2JzaWRpYW4tdGVzdC1tb2Nrcy9zcmMvaW50ZXJuYWwvc3RyaWN0LXByb3h5LnRzYC5cbiAqL1xuXG5pbXBvcnQgdHlwZSB7IEdlbmVyaWNGdW5jdGlvbiB9IGZyb20gJy4vZnVuY3Rpb24udHMnO1xuXG4vKipcbiAqIEEgcmVjdXJzaXZlIHBhcnRpYWwgdHlwZSBjb21wYXRpYmxlIHdpdGggYGV4YWN0T3B0aW9uYWxQcm9wZXJ0eVR5cGVzYC5cbiAqXG4gKiBVbmxpa2UgYFBhcnRpYWxEZWVwYCBmcm9tIHR5cGUtZmVzdCwgdGhpcyB0eXBlIGFsbG93cyBmdWxsIGBUYCB2YWx1ZXMgYXQgYW55XG4gKiBuZXN0aW5nIGxldmVsIHZpYSB0aGUgYHwgVFtLXWAgdW5pb24uIFRoaXMgaXMgZXNzZW50aWFsIGZvciBjb21wb3NpbmcgbmVzdGVkXG4gKiBgc3RyaWN0UHJveHlgIGNhbGxzIFx1MjAxNCBhbiBpbm5lciBgc3RyaWN0UHJveHk8TWV0YWRhdGFDYWNoZT4oey4uLn0pYCByZXR1cm5zXG4gKiBgTWV0YWRhdGFDYWNoZWAsIHdoaWNoIG11c3QgYmUgYXNzaWduYWJsZSB0byB0aGUgb3V0ZXIgcGFydGlhbCB0eXBlLlxuICpcbiAqIEB0eXBlUGFyYW0gVCAtIFRoZSB0YXJnZXQgdHlwZSB0byBjcmVhdGUgYSBwYXJ0aWFsIHZlcnNpb24gb2YuXG4gKi9cbnR5cGUgU3RyaWN0UHJveHlQYXJ0aWFsPFQ+ID0gVCBleHRlbmRzIEdlbmVyaWNGdW5jdGlvbiA/IFRcbiAgOiBUIGV4dGVuZHMgcmVhZG9ubHkgdW5rbm93bltdID8gVFxuICA6IFQgZXh0ZW5kcyBvYmplY3QgPyB7IFtLIGluIGtleW9mIFRdPzogU3RyaWN0UHJveHlQYXJ0aWFsPFRbS10+IHwgVFtLXSB9XG4gIDogVDtcblxuY29uc3QgU1RSSUNUX1BST1hZX1RBUkdFVF9TWU1CT0wgPSBTeW1ib2wuZm9yKCdzdHJpY3RQcm94eVRhcmdldCcpO1xuXG5jb25zdCBQQVNTVEhST1VHSF9QUk9QUyA9IG5ldyBTZXQ8c3RyaW5nIHwgc3ltYm9sPihbXG4gIFN5bWJvbC5pdGVyYXRvcixcbiAgU3ltYm9sLnRvUHJpbWl0aXZlLFxuICBTeW1ib2wudG9TdHJpbmdUYWcsXG4gICd0aGVuJyxcbiAgJ3RvSlNPTidcbl0pO1xuXG4vKipcbiAqIEJ5cGFzc2VzIHN0cmljdCBwcm94eSB0byBhY2Nlc3MgdGhlIHVuZGVybHlpbmcgb2JqZWN0LlxuICpcbiAqIElmIHRoZSBvYmplY3QgaXMgd3JhcHBlZCBpbiBhIHN0cmljdCBwcm94eSwgcmV0dXJucyB0aGUgdW53cmFwcGVkIHRhcmdldC5cbiAqIE90aGVyd2lzZSwgcmV0dXJucyB0aGUgb2JqZWN0IGFzLWlzLiBUaGlzIGFsbG93cyBzYWZlbHkgYWNjZXNzaW5nXG4gKiBvcHRpb25hbCBwcm9wZXJ0aWVzIHdpdGhvdXQgdHJpZ2dlcmluZyB0aGUgcHJveHkncyBlcnJvciBvbiBtaXNzaW5nIHByb3BzLlxuICpcbiAqIEB0eXBlUGFyYW0gVCAtIFRoZSBvYmplY3QgdHlwZS5cbiAqIEBwYXJhbSBvYmogLSBUaGUgb2JqZWN0IHRvIGJ5cGFzcy5cbiAqIEByZXR1cm5zIFRoZSB1bndyYXBwZWQgb2JqZWN0LlxuICovXG5leHBvcnQgZnVuY3Rpb24gYnlwYXNzU3RyaWN0UHJveHk8VD4ob2JqOiBUKTogVCB7XG4gIGlmICghaXNPYmplY3RMaWtlKG9iaikpIHtcbiAgICByZXR1cm4gb2JqO1xuICB9XG4gIGlmICghKFNUUklDVF9QUk9YWV9UQVJHRVRfU1lNQk9MIGluIG9iaikpIHtcbiAgICByZXR1cm4gb2JqO1xuICB9XG4gIHJldHVybiBvYmpbU1RSSUNUX1BST1hZX1RBUkdFVF9TWU1CT0xdIGFzIFQ7XG59XG5cbi8qKlxuICogQ3JlYXRlcyBhIHN0cmljdGx5LXR5cGVkIG1vY2sgb2JqZWN0IGZyb20gYSBwYXJ0aWFsIGltcGxlbWVudGF0aW9uLlxuICogVXNlcyBhIGBQcm94eWAgdGhhdCB0aHJvd3MgYSBkZXNjcmlwdGl2ZSBlcnJvciB3aGVuIGFueSB1bm1vY2tlZFxuICogcHJvcGVydHkgaXMgYWNjZXNzZWQsIHByZXZlbnRpbmcgc2lsZW50IGB1bmRlZmluZWRgIHJldHVybnMuXG4gKlxuICogLSBJZGVtcG90ZW50OiBkb3VibGUtd3JhcHBpbmcgaXMgYSBuby1vcC5cbiAqIC0gUGFzc3Rocm91Z2ggZm9yIHdlbGwta25vd24gcHJvcHMgKGB0aGVuYCwgYHRvSlNPTmAsIGBTeW1ib2wuaXRlcmF0b3JgLCBldGMuKS5cbiAqIC0gUmVjdXJzaXZlIHByb3h5aW5nIG9mIG5lc3RlZCBwbGFpbiBvYmplY3RzLlxuICpcbiAqIEB0eXBlUGFyYW0gVCAtIFRoZSB0YXJnZXQgdHlwZSB0byBtb2NrLlxuICogQHBhcmFtIHBhcnRpYWwgLSBBIHBhcnRpYWwgb2JqZWN0IGNvbnRhaW5pbmcgb25seSB0aGUgbW9ja2VkIG1lbWJlcnMuXG4gKiBAcmV0dXJucyBBIHByb3h5IHR5cGVkIGFzIGBUYCB0aGF0IHRocm93cyBvbiB1bm1vY2tlZCBwcm9wZXJ0eSBhY2Nlc3MuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBzdHJpY3RQcm94eTxUPihwYXJ0aWFsOiBTdHJpY3RQcm94eVBhcnRpYWw8VD4pOiBUIHtcbiAgcmV0dXJuIHdyYXBQcm94eTxUPihwYXJ0aWFsKTtcbn1cblxuLyoqXG4gKiBDaGVja3MgaWYgYSB2YWx1ZSBpcyBhbiBvYmplY3QtbGlrZSB2YWx1ZSAobm90IG51bGwpLlxuICpcbiAqIEBwYXJhbSB2YWx1ZSAtIFRoZSB2YWx1ZSB0byBjaGVjay5cbiAqIEByZXR1cm5zIFdoZXRoZXIgdGhlIHZhbHVlIGlzIG9iamVjdC1saWtlLlxuICovXG5mdW5jdGlvbiBpc09iamVjdExpa2UodmFsdWU6IHVua25vd24pOiB2YWx1ZSBpcyBvYmplY3Qge1xuICByZXR1cm4gdmFsdWUgIT09IG51bGwgJiYgdHlwZW9mIHZhbHVlID09PSAnb2JqZWN0Jztcbn1cblxuLyoqXG4gKiBDaGVja3MgaWYgYSB2YWx1ZSBpcyBhIHBsYWluIG9iamVjdCAobm90IGEgY2xhc3MgaW5zdGFuY2UsIGFycmF5LCBudWxsLCBldGMuKS5cbiAqXG4gKiBAcGFyYW0gdmFsdWUgLSBUaGUgdmFsdWUgdG8gY2hlY2suXG4gKiBAcmV0dXJucyBXaGV0aGVyIHRoZSB2YWx1ZSBpcyBhIHBsYWluIG9iamVjdC5cbiAqL1xuZnVuY3Rpb24gaXNQbGFpbk9iamVjdCh2YWx1ZTogdW5rbm93bik6IHZhbHVlIGlzIFJlY29yZDxzdHJpbmcsIHVua25vd24+IHtcbiAgcmV0dXJuIGlzT2JqZWN0TGlrZSh2YWx1ZSkgJiYgT2JqZWN0LmdldFByb3RvdHlwZU9mKHZhbHVlKSA9PT0gT2JqZWN0LnByb3RvdHlwZTtcbn1cblxuLyoqXG4gKiBXcmFwcyBhIHZhbHVlIGluIGEgc3RyaWN0IHByb3h5LiBJZGVtcG90ZW50IFx1MjAxNCBkb3VibGUtd3JhcHBpbmcgaXMgYSBuby1vcC5cbiAqXG4gKiBAdHlwZVBhcmFtIFQgLSBUaGUgdGFyZ2V0IHR5cGUgZm9yIHRoZSBwcm94eS5cbiAqIEBwYXJhbSB2YWx1ZSAtIFRoZSB2YWx1ZSB0byB3cmFwLlxuICogQHJldHVybnMgVGhlIHByb3hpZWQgdmFsdWUgdHlwZWQgYXMgYFRgLlxuICovXG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXVubmVjZXNzYXJ5LXR5cGUtcGFyYW1ldGVycyAtLSBUIHByb3ZpZGVzIHJldHVybiB0eXBlIGluZmVyZW5jZSBhdCBjYWxsIHNpdGVzLlxuZnVuY3Rpb24gd3JhcFByb3h5PFQ+KHZhbHVlOiB1bmtub3duKTogVCB7XG4gIGlmICghaXNPYmplY3RMaWtlKHZhbHVlKSkge1xuICAgIHJldHVybiB2YWx1ZSBhcyBUO1xuICB9XG5cbiAgaWYgKFNUUklDVF9QUk9YWV9UQVJHRVRfU1lNQk9MIGluIHZhbHVlKSB7XG4gICAgcmV0dXJuIHZhbHVlIGFzIFQ7XG4gIH1cbiAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHZhbHVlLCBTVFJJQ1RfUFJPWFlfVEFSR0VUX1NZTUJPTCwgeyB2YWx1ZSB9KTtcblxuICBjb25zdCBwcm94aWVkQ2hpbGRyZW4gPSBuZXcgTWFwPHN0cmluZyB8IHN5bWJvbD4oKTtcblxuICByZXR1cm4gbmV3IFByb3h5KHZhbHVlLCB7XG4gICAgZ2V0KHRhcmdldCwgcHJvcCwgcmVjZWl2ZXIpOiB1bmtub3duIHtcbiAgICAgIGlmIChwcm9wIGluIHRhcmdldCkge1xuICAgICAgICBpZiAocHJveGllZENoaWxkcmVuLmhhcyhwcm9wKSkge1xuICAgICAgICAgIHJldHVybiBwcm94aWVkQ2hpbGRyZW4uZ2V0KHByb3ApO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgdmFsOiB1bmtub3duID0gUmVmbGVjdC5nZXQodGFyZ2V0LCBwcm9wLCByZWNlaXZlcik7XG4gICAgICAgIGlmIChpc1BsYWluT2JqZWN0KHZhbCkpIHtcbiAgICAgICAgICBjb25zdCByZXN1bHQgPSB3cmFwUHJveHk8dW5rbm93bj4odmFsKTtcbiAgICAgICAgICBwcm94aWVkQ2hpbGRyZW4uc2V0KHByb3AsIHJlc3VsdCk7XG4gICAgICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdmFsO1xuICAgICAgfVxuXG4gICAgICBpZiAodHlwZW9mIHByb3AgPT09ICdzeW1ib2wnIHx8IFBBU1NUSFJPVUdIX1BST1BTLmhhcyhwcm9wKSkge1xuICAgICAgICByZXR1cm4gUmVmbGVjdC5nZXQodGFyZ2V0LCBwcm9wLCByZWNlaXZlcik7XG4gICAgICB9XG5cbiAgICAgIHRocm93IG5ldyBFcnJvcihgVW5tb2NrZWQgcHJvcGVydHkgXCIke3Byb3B9XCIgd2FzIGFjY2Vzc2VkIG9uIG1vY2sgb2JqZWN0YCk7XG4gICAgfVxuICB9KSBhcyBUO1xufVxuIl0sCiAgIm1hcHBpbmdzIjogIjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUEyQkEsTUFBTSw2QkFBNkIsdUJBQU8sSUFBSSxtQkFBbUI7QUFFakUsTUFBTSxvQkFBb0Isb0JBQUksSUFBcUI7QUFBQSxFQUNqRCxPQUFPO0FBQUEsRUFDUCxPQUFPO0FBQUEsRUFDUCxPQUFPO0FBQUEsRUFDUDtBQUFBLEVBQ0E7QUFDRixDQUFDO0FBYU0sU0FBUyxrQkFBcUIsS0FBVztBQUM5QyxNQUFJLENBQUMsYUFBYSxHQUFHLEdBQUc7QUFDdEIsV0FBTztBQUFBLEVBQ1Q7QUFDQSxNQUFJLEVBQUUsOEJBQThCLE1BQU07QUFDeEMsV0FBTztBQUFBLEVBQ1Q7QUFDQSxTQUFPLElBQUksMEJBQTBCO0FBQ3ZDO0FBZU8sU0FBUyxZQUFlLFNBQW1DO0FBQ2hFLFNBQU8sVUFBYSxPQUFPO0FBQzdCO0FBUUEsU0FBUyxhQUFhLE9BQWlDO0FBQ3JELFNBQU8sVUFBVSxRQUFRLE9BQU8sVUFBVTtBQUM1QztBQVFBLFNBQVMsY0FBYyxPQUFrRDtBQUN2RSxTQUFPLGFBQWEsS0FBSyxLQUFLLE9BQU8sZUFBZSxLQUFLLE1BQU0sT0FBTztBQUN4RTtBQVVBLFNBQVMsVUFBYSxPQUFtQjtBQUN2QyxNQUFJLENBQUMsYUFBYSxLQUFLLEdBQUc7QUFDeEIsV0FBTztBQUFBLEVBQ1Q7QUFFQSxNQUFJLDhCQUE4QixPQUFPO0FBQ3ZDLFdBQU87QUFBQSxFQUNUO0FBQ0EsU0FBTyxlQUFlLE9BQU8sNEJBQTRCLEVBQUUsTUFBTSxDQUFDO0FBRWxFLFFBQU0sa0JBQWtCLG9CQUFJLElBQXFCO0FBRWpELFNBQU8sSUFBSSxNQUFNLE9BQU87QUFBQSxJQUN0QixJQUFJLFFBQVEsTUFBTSxVQUFtQjtBQUNuQyxVQUFJLFFBQVEsUUFBUTtBQUNsQixZQUFJLGdCQUFnQixJQUFJLElBQUksR0FBRztBQUM3QixpQkFBTyxnQkFBZ0IsSUFBSSxJQUFJO0FBQUEsUUFDakM7QUFFQSxjQUFNLE1BQWUsUUFBUSxJQUFJLFFBQVEsTUFBTSxRQUFRO0FBQ3ZELFlBQUksY0FBYyxHQUFHLEdBQUc7QUFDdEIsZ0JBQU0sU0FBUyxVQUFtQixHQUFHO0FBQ3JDLDBCQUFnQixJQUFJLE1BQU0sTUFBTTtBQUNoQyxpQkFBTztBQUFBLFFBQ1Q7QUFDQSxlQUFPO0FBQUEsTUFDVDtBQUVBLFVBQUksT0FBTyxTQUFTLFlBQVksa0JBQWtCLElBQUksSUFBSSxHQUFHO0FBQzNELGVBQU8sUUFBUSxJQUFJLFFBQVEsTUFBTSxRQUFRO0FBQUEsTUFDM0M7QUFFQSxZQUFNLElBQUksTUFBTSxzQkFBc0IsSUFBSSwrQkFBK0I7QUFBQSxJQUMzRTtBQUFBLEVBQ0YsQ0FBQztBQUNIOyIsCiAgIm5hbWVzIjogW10KfQo=
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "obsidian-dev-utils",
3
- "version": "69.1.2",
3
+ "version": "69.2.0",
4
4
  "description": "This is the collection of useful functions that you can use for your Obsidian plugin development.",
5
5
  "keywords": [
6
6
  "obsidian"