obsidian-dev-utils 44.2.4 → 45.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (57) hide show
  1. package/CHANGELOG.md +8 -0
  2. package/dist/lib/cjs/Async.cjs +53 -32
  3. package/dist/lib/cjs/Async.d.cts +92 -10
  4. package/dist/lib/cjs/Library.cjs +1 -1
  5. package/dist/lib/cjs/obsidian/AsyncWithNotice.cjs +167 -0
  6. package/dist/lib/cjs/obsidian/AsyncWithNotice.d.cts +74 -0
  7. package/dist/lib/cjs/obsidian/Backlink.cjs +2 -3
  8. package/dist/lib/cjs/obsidian/Callout.cjs +8 -2
  9. package/dist/lib/cjs/obsidian/Commands/AbstractFileCommandBase.cjs +56 -41
  10. package/dist/lib/cjs/obsidian/Commands/AbstractFileCommandBase.d.cts +45 -12
  11. package/dist/lib/cjs/obsidian/Commands/CommandBase.cjs +13 -1
  12. package/dist/lib/cjs/obsidian/Commands/CommandBase.d.cts +7 -0
  13. package/dist/lib/cjs/obsidian/Commands/EditorCommandBase.cjs +3 -9
  14. package/dist/lib/cjs/obsidian/Commands/EditorCommandBase.d.cts +7 -7
  15. package/dist/lib/cjs/obsidian/Commands/FileCommandBase.cjs +123 -26
  16. package/dist/lib/cjs/obsidian/Commands/FileCommandBase.d.cts +100 -9
  17. package/dist/lib/cjs/obsidian/Commands/FolderCommandBase.cjs +115 -26
  18. package/dist/lib/cjs/obsidian/Commands/FolderCommandBase.d.cts +94 -10
  19. package/dist/lib/cjs/obsidian/FileSystem.cjs +44 -1
  20. package/dist/lib/cjs/obsidian/FileSystem.d.cts +81 -33
  21. package/dist/lib/cjs/obsidian/MetadataCache.cjs +45 -41
  22. package/dist/lib/cjs/obsidian/Queue.cjs +34 -17
  23. package/dist/lib/cjs/obsidian/Queue.d.cts +62 -12
  24. package/dist/lib/cjs/obsidian/RenameDeleteHandler.cjs +37 -27
  25. package/dist/lib/cjs/obsidian/Vault.cjs +45 -66
  26. package/dist/lib/cjs/obsidian/Vault.d.cts +0 -8
  27. package/dist/lib/cjs/obsidian/index.cjs +4 -1
  28. package/dist/lib/cjs/obsidian/index.d.cts +1 -0
  29. package/dist/lib/esm/Async.d.mts +92 -10
  30. package/dist/lib/esm/Async.mjs +53 -32
  31. package/dist/lib/esm/Library.mjs +1 -1
  32. package/dist/lib/esm/obsidian/AsyncWithNotice.d.mts +74 -0
  33. package/dist/lib/esm/obsidian/AsyncWithNotice.mjs +63 -0
  34. package/dist/lib/esm/obsidian/Backlink.mjs +4 -4
  35. package/dist/lib/esm/obsidian/Callout.mjs +8 -2
  36. package/dist/lib/esm/obsidian/Commands/AbstractFileCommandBase.d.mts +45 -12
  37. package/dist/lib/esm/obsidian/Commands/AbstractFileCommandBase.mjs +54 -40
  38. package/dist/lib/esm/obsidian/Commands/CommandBase.d.mts +7 -0
  39. package/dist/lib/esm/obsidian/Commands/CommandBase.mjs +13 -1
  40. package/dist/lib/esm/obsidian/Commands/EditorCommandBase.d.mts +7 -7
  41. package/dist/lib/esm/obsidian/Commands/EditorCommandBase.mjs +3 -9
  42. package/dist/lib/esm/obsidian/Commands/FileCommandBase.d.mts +100 -9
  43. package/dist/lib/esm/obsidian/Commands/FileCommandBase.mjs +127 -26
  44. package/dist/lib/esm/obsidian/Commands/FolderCommandBase.d.mts +94 -10
  45. package/dist/lib/esm/obsidian/Commands/FolderCommandBase.mjs +119 -26
  46. package/dist/lib/esm/obsidian/FileSystem.d.mts +81 -33
  47. package/dist/lib/esm/obsidian/FileSystem.mjs +38 -1
  48. package/dist/lib/esm/obsidian/MetadataCache.mjs +46 -41
  49. package/dist/lib/esm/obsidian/Queue.d.mts +62 -12
  50. package/dist/lib/esm/obsidian/Queue.mjs +35 -19
  51. package/dist/lib/esm/obsidian/RenameDeleteHandler.mjs +37 -27
  52. package/dist/lib/esm/obsidian/Vault.d.mts +0 -8
  53. package/dist/lib/esm/obsidian/Vault.mjs +46 -70
  54. package/dist/lib/esm/obsidian/index.d.mts +1 -0
  55. package/dist/lib/esm/obsidian/index.mjs +3 -1
  56. package/obsidian/AsyncWithNotice/package.json +6 -0
  57. package/package.json +7 -7
@@ -20,6 +20,7 @@ if you want to view the source, please visit the github repository of this plugi
20
20
  })();
21
21
 
22
22
  import { throwExpression } from "../Error.mjs";
23
+ import { normalizeOptionalProperties } from "../ObjectUtils.mjs";
23
24
  import { resolveValue } from "../ValueProvider.mjs";
24
25
  import { getRenderedContainer } from "./Dataview.mjs";
25
26
  import { addToQueue } from "./Queue.mjs";
@@ -47,7 +48,12 @@ function renderCallout(options) {
47
48
  for (const entry of entries) {
48
49
  if (entry.isIntersecting) {
49
50
  observer.unobserve(entry.target);
50
- addToQueue(dv.app, loadContent, options.abortSignal);
51
+ addToQueue(normalizeOptionalProperties({
52
+ abortSignal: options.abortSignal,
53
+ app: dv.app,
54
+ operationFn: loadContent,
55
+ operationName: "Load content for callout"
56
+ }));
51
57
  }
52
58
  }
53
59
  });
@@ -85,4 +91,4 @@ export {
85
91
  renderCallout,
86
92
  wrapForCallout
87
93
  };
88
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vc3JjL29ic2lkaWFuL0NhbGxvdXQudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbIi8qKlxuICogQHBhY2thZ2VEb2N1bWVudGF0aW9uXG4gKlxuICogVGhpcyBtb2R1bGUgcHJvdmlkZXMgdXRpbGl0eSBmdW5jdGlvbnMgZm9yIHJlbmRlcmluZyBjYWxsb3V0cyBpbiBEYXRhdmlldy5cbiAqL1xuXG5pbXBvcnQgdHlwZSB7IE1heWJlUmV0dXJuIH0gZnJvbSAnLi4vVHlwZS50cyc7XG5pbXBvcnQgdHlwZSB7IFZhbHVlUHJvdmlkZXIgfSBmcm9tICcuLi9WYWx1ZVByb3ZpZGVyLnRzJztcbmltcG9ydCB0eXBlIHsgRGF0YXZpZXdJbmxpbmVBcGkgfSBmcm9tICcuL0RhdGF2aWV3LnRzJztcblxuaW1wb3J0IHsgdGhyb3dFeHByZXNzaW9uIH0gZnJvbSAnLi4vRXJyb3IudHMnO1xuaW1wb3J0IHsgcmVzb2x2ZVZhbHVlIH0gZnJvbSAnLi4vVmFsdWVQcm92aWRlci50cyc7XG5pbXBvcnQgeyBnZXRSZW5kZXJlZENvbnRhaW5lciB9IGZyb20gJy4vRGF0YXZpZXcudHMnO1xuaW1wb3J0IHsgYWRkVG9RdWV1ZSB9IGZyb20gJy4vUXVldWUudHMnO1xuXG4vKipcbiAqIEVudW0gcmVwcmVzZW50aW5nIHRoZSBtb2RlIG9mIGEgY2FsbG91dC5cbiAqL1xuZXhwb3J0IGVudW0gQ2FsbG91dE1vZGUge1xuICAvKiogRGVmYXVsdCBtb2RlLCB3aXRoIG5vIHNwZWNpYWwgYmVoYXZpb3IuICovXG4gIERlZmF1bHQsXG5cbiAgLyoqIEZvbGRhYmxlIG1vZGUgd2l0aCB0aGUgY2FsbG91dCBjb2xsYXBzZWQuICovXG4gIEZvbGRhYmxlQ29sbGFwc2VkLFxuXG4gIC8qKiBGb2xkYWJsZSBtb2RlIHdpdGggdGhlIGNhbGxvdXQgZXhwYW5kZWQuICovXG4gIEZvbGRhYmxlRXhwYW5kZWRcbn1cblxuLyoqXG4gKiBPcHRpb25zIGZvciB7QGxpbmsgcmVuZGVyQ2FsbG91dH0uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUmVuZGVyQ2FsbG91dE9wdGlvbnMge1xuICAvKipcbiAgICogQW4gYWJvcnQgc2lnbmFsLlxuICAgKi9cbiAgYWJvcnRTaWduYWw/OiBBYm9ydFNpZ25hbDtcblxuICAvKipcbiAgICogQW4gb3B0aW9uYWwgcHJvdmlkZXIgZm9yIHRoZSBjb250ZW50LCB3aGljaCBjYW4gYmUgZWl0aGVyIGEgc3RyaW5nIG9yIGEgTm9kZS5cbiAgICovXG4gIGNvbnRlbnRQcm92aWRlcj86IFZhbHVlUHJvdmlkZXI8TWF5YmVSZXR1cm48Tm9kZSB8IHN0cmluZz4+O1xuXG4gIC8qKlxuICAgKiBBIHtAbGluayBEYXRhdmlld0lubGluZUFwaX0gaW5zdGFuY2UuXG4gICAqL1xuICBkdjogRGF0YXZpZXdJbmxpbmVBcGk7XG5cbiAgLyoqXG4gICAqIEEgaGVhZGVyIHRleHQgb2YgdGhlIGNhbGxvdXQsIGRlZmF1bHQgaXMgYW4gZW1wdHkgc3RyaW5nLlxuICAgKi9cbiAgaGVhZGVyPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBBIGNhbGxvdXQgbW9kZSwgZGVmYXVsdCBpcyBgQ2FsbG91dE1vZGUuRm9sZGFibGVDb2xsYXBzZWRgLlxuICAgKi9cbiAgbW9kZT86IENhbGxvdXRNb2RlO1xuXG4gIC8qKlxuICAgKiBBIHR5cGUgb2YgdGhlIGNhbGxvdXQsIGRlZmF1bHQgaXMgYFwiTk9URVwiYC5cbiAgICovXG4gIHR5cGU/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUmVuZGVycyBhIGNhbGxvdXQgYmxvY2sgaW4gRGF0YXZpZXcuXG4gKlxuICogQHBhcmFtIG9wdGlvbnMgLSBUaGUgb3B0aW9ucyBmb3IgcmVuZGVyaW5nIHRoZSBjYWxsb3V0LlxuICovXG5leHBvcnQgZnVuY3Rpb24gcmVuZGVyQ2FsbG91dChvcHRpb25zOiBSZW5kZXJDYWxsb3V0T3B0aW9ucyk6IHZvaWQge1xuICBjb25zdCB7XG4gICAgY29udGVudFByb3ZpZGVyID0gJycsXG4gICAgZHYsXG4gICAgaGVhZGVyID0gJycsXG4gICAgbW9kZSA9IENhbGxvdXRNb2RlLkZvbGRhYmxlQ29sbGFwc2VkLFxuICAgIHR5cGUgPSAnTk9URSdcbiAgfSA9IG9wdGlvbnM7XG4gIGNvbnN0IG1vZGlmaWVyID0gZ2V0TW9kaWZpZXIobW9kZSk7XG4gIGNvbnN0IGNhbGxvdXQgPSBkdi5wYXJhZ3JhcGgoYD4gWyEke3R5cGV9XSR7bW9kaWZpZXJ9ICR7aGVhZGVyfVxcbj5cXG4+IDxkaXYgY2xhc3M9XCJjb250ZW50XCI+PC9kaXY+YCk7XG4gIGNvbnN0IGNvbnRlbnREaXYgPSBjYWxsb3V0LnF1ZXJ5U2VsZWN0b3I8SFRNTERpdkVsZW1lbnQ+KCcuY29udGVudCcpID8/IHRocm93RXhwcmVzc2lvbihuZXcgRXJyb3IoJ0NvbnRlbnQgZGl2IG5vdCBmb3VuZCcpKTtcbiAgZHYucGFyYWdyYXBoKCdMb2FkaW5nLi4uIFx1MjNGMycsIHsgY29udGFpbmVyOiBjb250ZW50RGl2IH0pO1xuXG4gIGNvbnN0IG9ic2VydmVyID0gbmV3IEludGVyc2VjdGlvbk9ic2VydmVyKChlbnRyaWVzOiBJbnRlcnNlY3Rpb25PYnNlcnZlckVudHJ5W10pID0+IHtcbiAgICBmb3IgKGNvbnN0IGVudHJ5IG9mIGVudHJpZXMpIHtcbiAgICAgIGlmIChlbnRyeS5pc0ludGVyc2VjdGluZykge1xuICAgICAgICBvYnNlcnZlci51bm9ic2VydmUoZW50cnkudGFyZ2V0KTtcbiAgICAgICAgYWRkVG9RdWV1ZShkdi5hcHAsIGxvYWRDb250ZW50LCBvcHRpb25zLmFib3J0U2lnbmFsKTtcbiAgICAgIH1cbiAgICB9XG4gIH0pO1xuICBvYnNlcnZlci5vYnNlcnZlKGNvbnRlbnREaXYpO1xuXG4gIGFzeW5jIGZ1bmN0aW9uIGxvYWRDb250ZW50KGFib3J0U2lnbmFsOiBBYm9ydFNpZ25hbCk6IFByb21pc2U8dm9pZD4ge1xuICAgIGFib3J0U2lnbmFsLnRocm93SWZBYm9ydGVkKCk7XG4gICAgbGV0IGNvbnRlbnQ6IE1heWJlUmV0dXJuPE5vZGUgfCBzdHJpbmcgfCB1bmRlZmluZWQ+O1xuXG4gICAgY29uc3QgcGFyYWdyYXBoID0gYXdhaXQgZ2V0UmVuZGVyZWRDb250YWluZXIoZHYsIGFzeW5jICgpID0+IHtcbiAgICAgIGNvbnRlbnQgPSBhd2FpdCByZXNvbHZlVmFsdWUoY29udGVudFByb3ZpZGVyLCBhYm9ydFNpZ25hbCk7XG4gICAgICBhYm9ydFNpZ25hbC50aHJvd0lmQWJvcnRlZCgpO1xuICAgIH0pO1xuICAgIGFib3J0U2lnbmFsLnRocm93SWZBYm9ydGVkKCk7XG5cbiAgICBjb250ZW50ID8/PSBwYXJhZ3JhcGg7XG5cbiAgICBjb250ZW50RGl2LmVtcHR5KCk7XG4gICAgZHYucGFyYWdyYXBoKGNvbnRlbnQsIHsgY29udGFpbmVyOiBjb250ZW50RGl2IH0pO1xuICB9XG59XG5cbi8qKlxuICogV3JhcHMgdGhlIHByb3ZpZGVkIGNvbnRlbnQgaW4gYmxvY2txdW90ZSBzeW50YXggZm9yIGEgY2FsbG91dC5cbiAqXG4gKiBAcGFyYW0gY29udGVudCAtIFRoZSBjb250ZW50IHRvIHdyYXAuXG4gKiBAcmV0dXJucyBUaGUgY29udGVudCB3cmFwcGVkIGluIGJsb2NrcXVvdGUgc3ludGF4LlxuICovXG5leHBvcnQgZnVuY3Rpb24gd3JhcEZvckNhbGxvdXQoY29udGVudDogc3RyaW5nKTogc3RyaW5nIHtcbiAgY29uc3QgbGluZXMgPSBjb250ZW50LnNwbGl0KCdcXG4nKTtcbiAgY29uc3QgcHJlZml4ZWRMaW5lcyA9IGxpbmVzLm1hcCgobGluZSkgPT4gYD4gJHtsaW5lfWApO1xuICByZXR1cm4gcHJlZml4ZWRMaW5lcy5qb2luKCdcXG4nKTtcbn1cblxuLyoqXG4gKiBSZXR1cm5zIHRoZSBtb2RpZmllciBzdHJpbmcgYmFzZWQgb24gdGhlIGNhbGxvdXQgbW9kZS5cbiAqXG4gKiBAcGFyYW0gbW9kZSAtIFRoZSBtb2RlIG9mIHRoZSBjYWxsb3V0LlxuICogQHJldHVybnMgVGhlIGNvcnJlc3BvbmRpbmcgbW9kaWZpZXIgc3RyaW5nLlxuICovXG5mdW5jdGlvbiBnZXRNb2RpZmllcihtb2RlOiBDYWxsb3V0TW9kZSk6IHN0cmluZyB7XG4gIHN3aXRjaCAobW9kZSkge1xuICAgIGNhc2UgQ2FsbG91dE1vZGUuRm9sZGFibGVDb2xsYXBzZWQ6XG4gICAgICByZXR1cm4gJy0nO1xuICAgIGNhc2UgQ2FsbG91dE1vZGUuRm9sZGFibGVFeHBhbmRlZDpcbiAgICAgIHJldHVybiAnKyc7XG4gICAgZGVmYXVsdDpcbiAgICAgIHJldHVybiAnJztcbiAgfVxufVxuIl0sCiAgIm1hcHBpbmdzIjogIjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBVUEsU0FBUyx1QkFBdUI7QUFDaEMsU0FBUyxvQkFBb0I7QUFDN0IsU0FBUyw0QkFBNEI7QUFDckMsU0FBUyxrQkFBa0I7QUFLcEIsSUFBSyxjQUFMLGtCQUFLQSxpQkFBTDtBQUVMLEVBQUFBLDBCQUFBO0FBR0EsRUFBQUEsMEJBQUE7QUFHQSxFQUFBQSwwQkFBQTtBQVJVLFNBQUFBO0FBQUEsR0FBQTtBQW1ETCxTQUFTLGNBQWMsU0FBcUM7QUFDakUsUUFBTTtBQUFBLElBQ0osa0JBQWtCO0FBQUEsSUFDbEI7QUFBQSxJQUNBLFNBQVM7QUFBQSxJQUNULE9BQU87QUFBQSxJQUNQLE9BQU87QUFBQSxFQUNULElBQUk7QUFDSixRQUFNLFdBQVcsWUFBWSxJQUFJO0FBQ2pDLFFBQU0sVUFBVSxHQUFHLFVBQVUsT0FBTyxJQUFJLElBQUksUUFBUSxJQUFJLE1BQU07QUFBQTtBQUFBLDhCQUFvQztBQUNsRyxRQUFNLGFBQWEsUUFBUSxjQUE4QixVQUFVLEtBQUssZ0JBQWdCLElBQUksTUFBTSx1QkFBdUIsQ0FBQztBQUMxSCxLQUFHLFVBQVUscUJBQWdCLEVBQUUsV0FBVyxXQUFXLENBQUM7QUFFdEQsUUFBTSxXQUFXLElBQUkscUJBQXFCLENBQUMsWUFBeUM7QUFDbEYsZUFBVyxTQUFTLFNBQVM7QUFDM0IsVUFBSSxNQUFNLGdCQUFnQjtBQUN4QixpQkFBUyxVQUFVLE1BQU0sTUFBTTtBQUMvQixtQkFBVyxHQUFHLEtBQUssYUFBYSxRQUFRLFdBQVc7QUFBQSxNQUNyRDtBQUFBLElBQ0Y7QUFBQSxFQUNGLENBQUM7QUFDRCxXQUFTLFFBQVEsVUFBVTtBQUUzQixpQkFBZSxZQUFZLGFBQXlDO0FBQ2xFLGdCQUFZLGVBQWU7QUFDM0IsUUFBSTtBQUVKLFVBQU0sWUFBWSxNQUFNLHFCQUFxQixJQUFJLFlBQVk7QUFDM0QsZ0JBQVUsTUFBTSxhQUFhLGlCQUFpQixXQUFXO0FBQ3pELGtCQUFZLGVBQWU7QUFBQSxJQUM3QixDQUFDO0FBQ0QsZ0JBQVksZUFBZTtBQUUzQixnQkFBWTtBQUVaLGVBQVcsTUFBTTtBQUNqQixPQUFHLFVBQVUsU0FBUyxFQUFFLFdBQVcsV0FBVyxDQUFDO0FBQUEsRUFDakQ7QUFDRjtBQVFPLFNBQVMsZUFBZSxTQUF5QjtBQUN0RCxRQUFNLFFBQVEsUUFBUSxNQUFNLElBQUk7QUFDaEMsUUFBTSxnQkFBZ0IsTUFBTSxJQUFJLENBQUMsU0FBUyxLQUFLLElBQUksRUFBRTtBQUNyRCxTQUFPLGNBQWMsS0FBSyxJQUFJO0FBQ2hDO0FBUUEsU0FBUyxZQUFZLE1BQTJCO0FBQzlDLFVBQVEsTUFBTTtBQUFBLElBQ1osS0FBSztBQUNILGFBQU87QUFBQSxJQUNULEtBQUs7QUFDSCxhQUFPO0FBQUEsSUFDVDtBQUNFLGFBQU87QUFBQSxFQUNYO0FBQ0Y7IiwKICAibmFtZXMiOiBbIkNhbGxvdXRNb2RlIl0KfQo=
94
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vc3JjL29ic2lkaWFuL0NhbGxvdXQudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbIi8qKlxuICogQHBhY2thZ2VEb2N1bWVudGF0aW9uXG4gKlxuICogVGhpcyBtb2R1bGUgcHJvdmlkZXMgdXRpbGl0eSBmdW5jdGlvbnMgZm9yIHJlbmRlcmluZyBjYWxsb3V0cyBpbiBEYXRhdmlldy5cbiAqL1xuXG5pbXBvcnQgdHlwZSB7IE1heWJlUmV0dXJuIH0gZnJvbSAnLi4vVHlwZS50cyc7XG5pbXBvcnQgdHlwZSB7IFZhbHVlUHJvdmlkZXIgfSBmcm9tICcuLi9WYWx1ZVByb3ZpZGVyLnRzJztcbmltcG9ydCB0eXBlIHsgRGF0YXZpZXdJbmxpbmVBcGkgfSBmcm9tICcuL0RhdGF2aWV3LnRzJztcbmltcG9ydCB0eXBlIHsgQWRkVG9RdWV1ZU9wdGlvbnMgfSBmcm9tICcuL1F1ZXVlLnRzJztcblxuaW1wb3J0IHsgdGhyb3dFeHByZXNzaW9uIH0gZnJvbSAnLi4vRXJyb3IudHMnO1xuaW1wb3J0IHsgbm9ybWFsaXplT3B0aW9uYWxQcm9wZXJ0aWVzIH0gZnJvbSAnLi4vT2JqZWN0VXRpbHMudHMnO1xuaW1wb3J0IHsgcmVzb2x2ZVZhbHVlIH0gZnJvbSAnLi4vVmFsdWVQcm92aWRlci50cyc7XG5pbXBvcnQgeyBnZXRSZW5kZXJlZENvbnRhaW5lciB9IGZyb20gJy4vRGF0YXZpZXcudHMnO1xuaW1wb3J0IHsgYWRkVG9RdWV1ZSB9IGZyb20gJy4vUXVldWUudHMnO1xuXG4vKipcbiAqIEVudW0gcmVwcmVzZW50aW5nIHRoZSBtb2RlIG9mIGEgY2FsbG91dC5cbiAqL1xuZXhwb3J0IGVudW0gQ2FsbG91dE1vZGUge1xuICAvKiogRGVmYXVsdCBtb2RlLCB3aXRoIG5vIHNwZWNpYWwgYmVoYXZpb3IuICovXG4gIERlZmF1bHQsXG5cbiAgLyoqIEZvbGRhYmxlIG1vZGUgd2l0aCB0aGUgY2FsbG91dCBjb2xsYXBzZWQuICovXG4gIEZvbGRhYmxlQ29sbGFwc2VkLFxuXG4gIC8qKiBGb2xkYWJsZSBtb2RlIHdpdGggdGhlIGNhbGxvdXQgZXhwYW5kZWQuICovXG4gIEZvbGRhYmxlRXhwYW5kZWRcbn1cblxuLyoqXG4gKiBPcHRpb25zIGZvciB7QGxpbmsgcmVuZGVyQ2FsbG91dH0uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUmVuZGVyQ2FsbG91dE9wdGlvbnMge1xuICAvKipcbiAgICogQW4gYWJvcnQgc2lnbmFsLlxuICAgKi9cbiAgYWJvcnRTaWduYWw/OiBBYm9ydFNpZ25hbDtcblxuICAvKipcbiAgICogQW4gb3B0aW9uYWwgcHJvdmlkZXIgZm9yIHRoZSBjb250ZW50LCB3aGljaCBjYW4gYmUgZWl0aGVyIGEgc3RyaW5nIG9yIGEgTm9kZS5cbiAgICovXG4gIGNvbnRlbnRQcm92aWRlcj86IFZhbHVlUHJvdmlkZXI8TWF5YmVSZXR1cm48Tm9kZSB8IHN0cmluZz4+O1xuXG4gIC8qKlxuICAgKiBBIHtAbGluayBEYXRhdmlld0lubGluZUFwaX0gaW5zdGFuY2UuXG4gICAqL1xuICBkdjogRGF0YXZpZXdJbmxpbmVBcGk7XG5cbiAgLyoqXG4gICAqIEEgaGVhZGVyIHRleHQgb2YgdGhlIGNhbGxvdXQsIGRlZmF1bHQgaXMgYW4gZW1wdHkgc3RyaW5nLlxuICAgKi9cbiAgaGVhZGVyPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBBIGNhbGxvdXQgbW9kZSwgZGVmYXVsdCBpcyBgQ2FsbG91dE1vZGUuRm9sZGFibGVDb2xsYXBzZWRgLlxuICAgKi9cbiAgbW9kZT86IENhbGxvdXRNb2RlO1xuXG4gIC8qKlxuICAgKiBBIHR5cGUgb2YgdGhlIGNhbGxvdXQsIGRlZmF1bHQgaXMgYFwiTk9URVwiYC5cbiAgICovXG4gIHR5cGU/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUmVuZGVycyBhIGNhbGxvdXQgYmxvY2sgaW4gRGF0YXZpZXcuXG4gKlxuICogQHBhcmFtIG9wdGlvbnMgLSBUaGUgb3B0aW9ucyBmb3IgcmVuZGVyaW5nIHRoZSBjYWxsb3V0LlxuICovXG5leHBvcnQgZnVuY3Rpb24gcmVuZGVyQ2FsbG91dChvcHRpb25zOiBSZW5kZXJDYWxsb3V0T3B0aW9ucyk6IHZvaWQge1xuICBjb25zdCB7XG4gICAgY29udGVudFByb3ZpZGVyID0gJycsXG4gICAgZHYsXG4gICAgaGVhZGVyID0gJycsXG4gICAgbW9kZSA9IENhbGxvdXRNb2RlLkZvbGRhYmxlQ29sbGFwc2VkLFxuICAgIHR5cGUgPSAnTk9URSdcbiAgfSA9IG9wdGlvbnM7XG4gIGNvbnN0IG1vZGlmaWVyID0gZ2V0TW9kaWZpZXIobW9kZSk7XG4gIGNvbnN0IGNhbGxvdXQgPSBkdi5wYXJhZ3JhcGgoYD4gWyEke3R5cGV9XSR7bW9kaWZpZXJ9ICR7aGVhZGVyfVxcbj5cXG4+IDxkaXYgY2xhc3M9XCJjb250ZW50XCI+PC9kaXY+YCk7XG4gIGNvbnN0IGNvbnRlbnREaXYgPSBjYWxsb3V0LnF1ZXJ5U2VsZWN0b3I8SFRNTERpdkVsZW1lbnQ+KCcuY29udGVudCcpID8/IHRocm93RXhwcmVzc2lvbihuZXcgRXJyb3IoJ0NvbnRlbnQgZGl2IG5vdCBmb3VuZCcpKTtcbiAgZHYucGFyYWdyYXBoKCdMb2FkaW5nLi4uIFx1MjNGMycsIHsgY29udGFpbmVyOiBjb250ZW50RGl2IH0pO1xuXG4gIGNvbnN0IG9ic2VydmVyID0gbmV3IEludGVyc2VjdGlvbk9ic2VydmVyKChlbnRyaWVzOiBJbnRlcnNlY3Rpb25PYnNlcnZlckVudHJ5W10pID0+IHtcbiAgICBmb3IgKGNvbnN0IGVudHJ5IG9mIGVudHJpZXMpIHtcbiAgICAgIGlmIChlbnRyeS5pc0ludGVyc2VjdGluZykge1xuICAgICAgICBvYnNlcnZlci51bm9ic2VydmUoZW50cnkudGFyZ2V0KTtcbiAgICAgICAgYWRkVG9RdWV1ZShub3JtYWxpemVPcHRpb25hbFByb3BlcnRpZXM8QWRkVG9RdWV1ZU9wdGlvbnM+KHtcbiAgICAgICAgICBhYm9ydFNpZ25hbDogb3B0aW9ucy5hYm9ydFNpZ25hbCxcbiAgICAgICAgICBhcHA6IGR2LmFwcCxcbiAgICAgICAgICBvcGVyYXRpb25GbjogbG9hZENvbnRlbnQsXG4gICAgICAgICAgb3BlcmF0aW9uTmFtZTogJ0xvYWQgY29udGVudCBmb3IgY2FsbG91dCdcbiAgICAgICAgfSkpO1xuICAgICAgfVxuICAgIH1cbiAgfSk7XG4gIG9ic2VydmVyLm9ic2VydmUoY29udGVudERpdik7XG5cbiAgYXN5bmMgZnVuY3Rpb24gbG9hZENvbnRlbnQoYWJvcnRTaWduYWw6IEFib3J0U2lnbmFsKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgYWJvcnRTaWduYWwudGhyb3dJZkFib3J0ZWQoKTtcbiAgICBsZXQgY29udGVudDogTWF5YmVSZXR1cm48Tm9kZSB8IHN0cmluZyB8IHVuZGVmaW5lZD47XG5cbiAgICBjb25zdCBwYXJhZ3JhcGggPSBhd2FpdCBnZXRSZW5kZXJlZENvbnRhaW5lcihkdiwgYXN5bmMgKCkgPT4ge1xuICAgICAgY29udGVudCA9IGF3YWl0IHJlc29sdmVWYWx1ZShjb250ZW50UHJvdmlkZXIsIGFib3J0U2lnbmFsKTtcbiAgICAgIGFib3J0U2lnbmFsLnRocm93SWZBYm9ydGVkKCk7XG4gICAgfSk7XG4gICAgYWJvcnRTaWduYWwudGhyb3dJZkFib3J0ZWQoKTtcblxuICAgIGNvbnRlbnQgPz89IHBhcmFncmFwaDtcblxuICAgIGNvbnRlbnREaXYuZW1wdHkoKTtcbiAgICBkdi5wYXJhZ3JhcGgoY29udGVudCwgeyBjb250YWluZXI6IGNvbnRlbnREaXYgfSk7XG4gIH1cbn1cblxuLyoqXG4gKiBXcmFwcyB0aGUgcHJvdmlkZWQgY29udGVudCBpbiBibG9ja3F1b3RlIHN5bnRheCBmb3IgYSBjYWxsb3V0LlxuICpcbiAqIEBwYXJhbSBjb250ZW50IC0gVGhlIGNvbnRlbnQgdG8gd3JhcC5cbiAqIEByZXR1cm5zIFRoZSBjb250ZW50IHdyYXBwZWQgaW4gYmxvY2txdW90ZSBzeW50YXguXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB3cmFwRm9yQ2FsbG91dChjb250ZW50OiBzdHJpbmcpOiBzdHJpbmcge1xuICBjb25zdCBsaW5lcyA9IGNvbnRlbnQuc3BsaXQoJ1xcbicpO1xuICBjb25zdCBwcmVmaXhlZExpbmVzID0gbGluZXMubWFwKChsaW5lKSA9PiBgPiAke2xpbmV9YCk7XG4gIHJldHVybiBwcmVmaXhlZExpbmVzLmpvaW4oJ1xcbicpO1xufVxuXG4vKipcbiAqIFJldHVybnMgdGhlIG1vZGlmaWVyIHN0cmluZyBiYXNlZCBvbiB0aGUgY2FsbG91dCBtb2RlLlxuICpcbiAqIEBwYXJhbSBtb2RlIC0gVGhlIG1vZGUgb2YgdGhlIGNhbGxvdXQuXG4gKiBAcmV0dXJucyBUaGUgY29ycmVzcG9uZGluZyBtb2RpZmllciBzdHJpbmcuXG4gKi9cbmZ1bmN0aW9uIGdldE1vZGlmaWVyKG1vZGU6IENhbGxvdXRNb2RlKTogc3RyaW5nIHtcbiAgc3dpdGNoIChtb2RlKSB7XG4gICAgY2FzZSBDYWxsb3V0TW9kZS5Gb2xkYWJsZUNvbGxhcHNlZDpcbiAgICAgIHJldHVybiAnLSc7XG4gICAgY2FzZSBDYWxsb3V0TW9kZS5Gb2xkYWJsZUV4cGFuZGVkOlxuICAgICAgcmV0dXJuICcrJztcbiAgICBkZWZhdWx0OlxuICAgICAgcmV0dXJuICcnO1xuICB9XG59XG4iXSwKICAibWFwcGluZ3MiOiAiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFXQSxTQUFTLHVCQUF1QjtBQUNoQyxTQUFTLG1DQUFtQztBQUM1QyxTQUFTLG9CQUFvQjtBQUM3QixTQUFTLDRCQUE0QjtBQUNyQyxTQUFTLGtCQUFrQjtBQUtwQixJQUFLLGNBQUwsa0JBQUtBLGlCQUFMO0FBRUwsRUFBQUEsMEJBQUE7QUFHQSxFQUFBQSwwQkFBQTtBQUdBLEVBQUFBLDBCQUFBO0FBUlUsU0FBQUE7QUFBQSxHQUFBO0FBbURMLFNBQVMsY0FBYyxTQUFxQztBQUNqRSxRQUFNO0FBQUEsSUFDSixrQkFBa0I7QUFBQSxJQUNsQjtBQUFBLElBQ0EsU0FBUztBQUFBLElBQ1QsT0FBTztBQUFBLElBQ1AsT0FBTztBQUFBLEVBQ1QsSUFBSTtBQUNKLFFBQU0sV0FBVyxZQUFZLElBQUk7QUFDakMsUUFBTSxVQUFVLEdBQUcsVUFBVSxPQUFPLElBQUksSUFBSSxRQUFRLElBQUksTUFBTTtBQUFBO0FBQUEsOEJBQW9DO0FBQ2xHLFFBQU0sYUFBYSxRQUFRLGNBQThCLFVBQVUsS0FBSyxnQkFBZ0IsSUFBSSxNQUFNLHVCQUF1QixDQUFDO0FBQzFILEtBQUcsVUFBVSxxQkFBZ0IsRUFBRSxXQUFXLFdBQVcsQ0FBQztBQUV0RCxRQUFNLFdBQVcsSUFBSSxxQkFBcUIsQ0FBQyxZQUF5QztBQUNsRixlQUFXLFNBQVMsU0FBUztBQUMzQixVQUFJLE1BQU0sZ0JBQWdCO0FBQ3hCLGlCQUFTLFVBQVUsTUFBTSxNQUFNO0FBQy9CLG1CQUFXLDRCQUErQztBQUFBLFVBQ3hELGFBQWEsUUFBUTtBQUFBLFVBQ3JCLEtBQUssR0FBRztBQUFBLFVBQ1IsYUFBYTtBQUFBLFVBQ2IsZUFBZTtBQUFBLFFBQ2pCLENBQUMsQ0FBQztBQUFBLE1BQ0o7QUFBQSxJQUNGO0FBQUEsRUFDRixDQUFDO0FBQ0QsV0FBUyxRQUFRLFVBQVU7QUFFM0IsaUJBQWUsWUFBWSxhQUF5QztBQUNsRSxnQkFBWSxlQUFlO0FBQzNCLFFBQUk7QUFFSixVQUFNLFlBQVksTUFBTSxxQkFBcUIsSUFBSSxZQUFZO0FBQzNELGdCQUFVLE1BQU0sYUFBYSxpQkFBaUIsV0FBVztBQUN6RCxrQkFBWSxlQUFlO0FBQUEsSUFDN0IsQ0FBQztBQUNELGdCQUFZLGVBQWU7QUFFM0IsZ0JBQVk7QUFFWixlQUFXLE1BQU07QUFDakIsT0FBRyxVQUFVLFNBQVMsRUFBRSxXQUFXLFdBQVcsQ0FBQztBQUFBLEVBQ2pEO0FBQ0Y7QUFRTyxTQUFTLGVBQWUsU0FBeUI7QUFDdEQsUUFBTSxRQUFRLFFBQVEsTUFBTSxJQUFJO0FBQ2hDLFFBQU0sZ0JBQWdCLE1BQU0sSUFBSSxDQUFDLFNBQVMsS0FBSyxJQUFJLEVBQUU7QUFDckQsU0FBTyxjQUFjLEtBQUssSUFBSTtBQUNoQztBQVFBLFNBQVMsWUFBWSxNQUEyQjtBQUM5QyxVQUFRLE1BQU07QUFBQSxJQUNaLEtBQUs7QUFDSCxhQUFPO0FBQUEsSUFDVCxLQUFLO0FBQ0gsYUFBTztBQUFBLElBQ1Q7QUFDRSxhQUFPO0FBQUEsRUFDWDtBQUNGOyIsCiAgIm5hbWVzIjogWyJDYWxsb3V0TW9kZSJdCn0K
@@ -42,9 +42,24 @@ export declare abstract class AbstractFileCommandBase<TPlugin extends Plugin = P
42
42
  /**
43
43
  * Creates a new file command invocation.
44
44
  *
45
+ * @param abstractFile - The abstract file to create the command invocation for.
45
46
  * @returns The command invocation.
46
47
  */
47
- protected abstract createCommandInvocation(): AbstractFileCommandInvocationBase<TPlugin>;
48
+ protected createCommandInvocation(abstractFile?: TAbstractFile): AbstractFileCommandInvocationBase<TPlugin>;
49
+ /**
50
+ * Creates a new command invocation for an abstract file.
51
+ *
52
+ * @param abstractFile - The abstract file to create the command invocation for.
53
+ * @returns The command invocation.
54
+ */
55
+ protected abstract createCommandInvocationForAbstractFile(abstractFile: null | TAbstractFile): AbstractFileCommandInvocationBase<TPlugin>;
56
+ /**
57
+ * Creates a new command invocation for abstract files.
58
+ *
59
+ * @param abstractFiles - The abstract files to create the command invocation for.
60
+ * @returns The command invocation.
61
+ */
62
+ protected abstract createCommandInvocationForAbstractFiles(abstractFiles: TAbstractFile[]): AbstractFilesCommandInvocationBase<TPlugin>;
48
63
  /**
49
64
  * Checks if the command should be added to the abstract file menu.
50
65
  *
@@ -54,6 +69,15 @@ export declare abstract class AbstractFileCommandBase<TPlugin extends Plugin = P
54
69
  * @returns Whether the command should be added to the abstract file menu.
55
70
  */
56
71
  protected shouldAddToAbstractFileMenu(_abstractFile: TAbstractFile, _source: string, _leaf?: WorkspaceLeaf): boolean;
72
+ /**
73
+ * Checks if the command should be added to the abstract files menu.
74
+ *
75
+ * @param abstractFiles - The abstract files to check.
76
+ * @param source - The source of the abstract files.
77
+ * @param leaf - The leaf to check.
78
+ * @returns Whether the command should be added to the abstract files menu.
79
+ */
80
+ protected shouldAddToAbstractFilesMenu(abstractFiles: TAbstractFile[], source: string, leaf?: WorkspaceLeaf): boolean;
57
81
  /**
58
82
  * Checks if the command should be added to the command palette.
59
83
  *
@@ -69,6 +93,8 @@ export declare abstract class AbstractFileCommandBase<TPlugin extends Plugin = P
69
93
  * @typeParam TPlugin - The type of the plugin that the command belongs to.
70
94
  */
71
95
  export declare abstract class AbstractFileCommandInvocationBase<TPlugin extends Plugin> extends CommandInvocationBase<TPlugin> {
96
+ /** */
97
+ protected readonly _abstractFile: null | TAbstractFile;
72
98
  /**
73
99
  * The abstract file to invoke the command for.
74
100
  *
@@ -77,20 +103,12 @@ export declare abstract class AbstractFileCommandInvocationBase<TPlugin extends
77
103
  */
78
104
  protected get abstractFile(): TAbstractFile;
79
105
  /**
80
- * Sets the abstract file to invoke the command for.
81
- *
82
- * @param abstractFile - The abstract file to invoke the command for.
83
- */
84
- protected set abstractFile(abstractFile: TAbstractFile);
85
- private _abstractFile?;
86
- /**
87
- * Invokes the command.
106
+ * Creates a new abstract file command invocation.
88
107
  *
89
- * @param checking - Is checking mode only. If `true`, only the check if the command can execute is performed. If `false`, the command is executed.
108
+ * @param plugin - The plugin that the command belongs to.
90
109
  * @param abstractFile - The abstract file to invoke the command for.
91
- * @returns Whether the command was executed.
92
110
  */
93
- invoke(checking: boolean, abstractFile?: TAbstractFile): boolean;
111
+ constructor(plugin: TPlugin, abstractFile: null | TAbstractFile);
94
112
  /**
95
113
  * Checks if the command can execute.
96
114
  *
@@ -98,3 +116,18 @@ export declare abstract class AbstractFileCommandInvocationBase<TPlugin extends
98
116
  */
99
117
  protected canExecute(): boolean;
100
118
  }
119
+ /**
120
+ * Base class for abstract files command invocations.
121
+ *
122
+ * @typeParam TPlugin - The type of the plugin that the command belongs to.
123
+ */
124
+ export declare abstract class AbstractFilesCommandInvocationBase<TPlugin extends Plugin> extends CommandInvocationBase<TPlugin> {
125
+ readonly abstractFiles: TAbstractFile[];
126
+ /**
127
+ * Creates a new abstract files command invocation.
128
+ *
129
+ * @param plugin - The plugin that the command belongs to.
130
+ * @param abstractFiles - The abstract files to invoke the command for.
131
+ */
132
+ constructor(plugin: TPlugin, abstractFiles: TAbstractFile[]);
133
+ }
@@ -58,6 +58,15 @@ class AbstractFileCommandBase extends NonEditorCommandBase {
58
58
  this.plugin.registerEvent(this.app.workspace.on("file-menu", this.handleAbstractFileMenu.bind(this)));
59
59
  this.plugin.registerEvent(this.app.workspace.on("files-menu", this.handleAbstractFilesMenu.bind(this)));
60
60
  }
61
+ /**
62
+ * Creates a new file command invocation.
63
+ *
64
+ * @param abstractFile - The abstract file to create the command invocation for.
65
+ * @returns The command invocation.
66
+ */
67
+ createCommandInvocation(abstractFile) {
68
+ return this.createCommandInvocationForAbstractFile(abstractFile ?? this.app.workspace.getActiveFile());
69
+ }
61
70
  /**
62
71
  * Checks if the command should be added to the abstract file menu.
63
72
  *
@@ -69,6 +78,22 @@ class AbstractFileCommandBase extends NonEditorCommandBase {
69
78
  shouldAddToAbstractFileMenu(_abstractFile, _source, _leaf) {
70
79
  return false;
71
80
  }
81
+ /**
82
+ * Checks if the command should be added to the abstract files menu.
83
+ *
84
+ * @param abstractFiles - The abstract files to check.
85
+ * @param source - The source of the abstract files.
86
+ * @param leaf - The leaf to check.
87
+ * @returns Whether the command should be added to the abstract files menu.
88
+ */
89
+ shouldAddToAbstractFilesMenu(abstractFiles, source, leaf) {
90
+ for (const abstractFile of abstractFiles) {
91
+ if (!this.shouldAddToAbstractFileMenu(abstractFile, source, leaf)) {
92
+ return false;
93
+ }
94
+ }
95
+ return true;
96
+ }
72
97
  /**
73
98
  * Checks if the command should be added to the command palette.
74
99
  *
@@ -81,32 +106,28 @@ class AbstractFileCommandBase extends NonEditorCommandBase {
81
106
  if (!this.shouldAddToAbstractFileMenu(abstractFile, source, leaf)) {
82
107
  return;
83
108
  }
84
- if (!this.createCommandInvocation().invoke(true, abstractFile)) {
109
+ if (!this.createCommandInvocation(abstractFile).invoke(true)) {
85
110
  return;
86
111
  }
87
112
  menu.addItem((item) => {
88
- item.setTitle(this.fileMenuItemName ?? this.originalName).setIcon(this.icon).setSection(this.fileMenuSection ?? "").onClick(() => this.createCommandInvocation().invoke(false, abstractFile));
113
+ item.setTitle(this.fileMenuItemName ?? this.originalName).setIcon(this.icon).setSection(this.fileMenuSection ?? "").onClick(() => this.createCommandInvocation(abstractFile).invoke(false));
89
114
  });
90
115
  }
91
116
  handleAbstractFilesMenu(menu, abstractFiles, source, leaf) {
92
- for (const abstractFile of abstractFiles) {
93
- if (!this.shouldAddToAbstractFileMenu(abstractFile, source, leaf)) {
94
- return;
95
- }
96
- if (!this.createCommandInvocation().invoke(true, abstractFile)) {
97
- return;
98
- }
117
+ if (!this.shouldAddToAbstractFilesMenu(abstractFiles, source, leaf)) {
118
+ return;
119
+ }
120
+ if (!this.createCommandInvocationForAbstractFiles(abstractFiles).invoke(true)) {
121
+ return;
99
122
  }
100
123
  menu.addItem((item) => {
101
- item.setTitle(this.filesMenuItemName ?? this.fileMenuItemName ?? this.originalName).setIcon(this.icon).setSection(this.filesMenuSection ?? this.fileMenuSection ?? "").onClick(() => {
102
- for (const abstractFile of abstractFiles) {
103
- this.createCommandInvocation().invoke(false, abstractFile);
104
- }
105
- });
124
+ item.setTitle(this.filesMenuItemName ?? this.fileMenuItemName ?? this.originalName).setIcon(this.icon).setSection(this.filesMenuSection ?? this.fileMenuSection ?? "").onClick(() => this.createCommandInvocationForAbstractFiles(abstractFiles).invoke(false));
106
125
  });
107
126
  }
108
127
  }
109
128
  class AbstractFileCommandInvocationBase extends CommandInvocationBase {
129
+ /** */
130
+ _abstractFile;
110
131
  /**
111
132
  * The abstract file to invoke the command for.
112
133
  *
@@ -120,46 +141,39 @@ class AbstractFileCommandInvocationBase extends CommandInvocationBase {
120
141
  return this._abstractFile;
121
142
  }
122
143
  /**
123
- * Sets the abstract file to invoke the command for.
144
+ * Creates a new abstract file command invocation.
124
145
  *
146
+ * @param plugin - The plugin that the command belongs to.
125
147
  * @param abstractFile - The abstract file to invoke the command for.
126
148
  */
127
- set abstractFile(abstractFile) {
149
+ constructor(plugin, abstractFile) {
150
+ super(plugin);
128
151
  this._abstractFile = abstractFile;
129
152
  }
130
- _abstractFile;
131
153
  /**
132
- * Invokes the command.
154
+ * Checks if the command can execute.
133
155
  *
134
- * @param checking - Is checking mode only. If `true`, only the check if the command can execute is performed. If `false`, the command is executed.
135
- * @param abstractFile - The abstract file to invoke the command for.
136
- * @returns Whether the command was executed.
156
+ * @returns Whether the command can execute.
137
157
  */
138
- invoke(checking, abstractFile) {
139
- if (abstractFile) {
140
- this._abstractFile = abstractFile;
141
- }
142
- return super.invoke(checking);
158
+ canExecute() {
159
+ return super.canExecute() && !!this._abstractFile;
143
160
  }
161
+ }
162
+ class AbstractFilesCommandInvocationBase extends CommandInvocationBase {
144
163
  /**
145
- * Checks if the command can execute.
164
+ * Creates a new abstract files command invocation.
146
165
  *
147
- * @returns Whether the command can execute.
166
+ * @param plugin - The plugin that the command belongs to.
167
+ * @param abstractFiles - The abstract files to invoke the command for.
148
168
  */
149
- canExecute() {
150
- if (!super.canExecute()) {
151
- return false;
152
- }
153
- const abstractFile = this._abstractFile ?? this.app.workspace.getActiveFile();
154
- if (!abstractFile) {
155
- return false;
156
- }
157
- this._abstractFile = abstractFile;
158
- return true;
169
+ constructor(plugin, abstractFiles) {
170
+ super(plugin);
171
+ this.abstractFiles = abstractFiles;
159
172
  }
160
173
  }
161
174
  export {
162
175
  AbstractFileCommandBase,
163
- AbstractFileCommandInvocationBase
176
+ AbstractFileCommandInvocationBase,
177
+ AbstractFilesCommandInvocationBase
164
178
  };
165
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vLi4vc3JjL29ic2lkaWFuL0NvbW1hbmRzL0Fic3RyYWN0RmlsZUNvbW1hbmRCYXNlLnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyIvKipcbiAqIEBwYWNrYWdlRG9jdW1lbnRhdGlvblxuICpcbiAqIEJhc2UgY2xhc3NlcyBmb3IgYWJzdHJhY3QgZmlsZSBjb21tYW5kcy5cbiAqL1xuXG5pbXBvcnQgdHlwZSB7XG4gIE1lbnUsXG4gIFBsdWdpbixcbiAgVEFic3RyYWN0RmlsZSxcbiAgV29ya3NwYWNlTGVhZlxufSBmcm9tICdvYnNpZGlhbic7XG5cbmltcG9ydCB7IENvbW1hbmRJbnZvY2F0aW9uQmFzZSB9IGZyb20gJy4vQ29tbWFuZEJhc2UudHMnO1xuaW1wb3J0IHsgTm9uRWRpdG9yQ29tbWFuZEJhc2UgfSBmcm9tICcuL05vbkVkaXRvckNvbW1hbmRCYXNlLnRzJztcblxuLyoqXG4gKiBCYXNlIGNsYXNzIGZvciBhYnN0cmFjdCBmaWxlIGNvbW1hbmRzLlxuICpcbiAqIEB0eXBlUGFyYW0gVFBsdWdpbiAtIFRoZSB0eXBlIG9mIHRoZSBwbHVnaW4gdGhhdCB0aGUgY29tbWFuZCBiZWxvbmdzIHRvLlxuICovXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgQWJzdHJhY3RGaWxlQ29tbWFuZEJhc2U8VFBsdWdpbiBleHRlbmRzIFBsdWdpbiA9IFBsdWdpbj4gZXh0ZW5kcyBOb25FZGl0b3JDb21tYW5kQmFzZTxUUGx1Z2luPiB7XG4gIC8qKlxuICAgKiBUaGUgaXRlbSBuYW1lIHRvIHVzZSBpbiB0aGUgZmlsZSBtZW51LlxuICAgKi9cbiAgcHJvdGVjdGVkIHJlYWRvbmx5IGZpbGVNZW51SXRlbU5hbWU/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBzZWN0aW9uIHRvIHVzZSBpbiB0aGUgZmlsZSBtZW51LlxuICAgKi9cbiAgcHJvdGVjdGVkIHJlYWRvbmx5IGZpbGVNZW51U2VjdGlvbj86IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIGl0ZW0gbmFtZSB0byB1c2UgaW4gdGhlIGZpbGVzIG1lbnUuXG4gICAqL1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgZmlsZXNNZW51SXRlbU5hbWU/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBzZWN0aW9uIHRvIHVzZSBpbiB0aGUgZmlsZXMgbWVudS5cbiAgICovXG4gIHByb3RlY3RlZCByZWFkb25seSBmaWxlc01lbnVTZWN0aW9uPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBDaGVja3MgaWYgdGhlIGNvbW1hbmQgY2FuIGV4ZWN1dGUgb3IgZXhlY3V0ZXMgaXQuXG4gICAqXG4gICAqIEBwYXJhbSBjaGVja2luZyAtIElzIGNoZWNraW5nIG1vZGUgb25seS4gSWYgYHRydWVgLCBvbmx5IHRoZSBjaGVjayBpZiB0aGUgY29tbWFuZCBjYW4gZXhlY3V0ZSBpcyBwZXJmb3JtZWQuIElmIGBmYWxzZWAsIHRoZSBjb21tYW5kIGlzIGV4ZWN1dGVkLlxuICAgKiBAcmV0dXJucyBXaGV0aGVyIHRoZSBjb21tYW5kIGNhbiBleGVjdXRlLlxuICAgKi9cbiAgcHVibGljIG92ZXJyaWRlIGNoZWNrQ2FsbGJhY2soY2hlY2tpbmc6IGJvb2xlYW4pOiBib29sZWFuIHtcbiAgICBpZiAoIXRoaXMuc2hvdWxkQWRkVG9Db21tYW5kUGFsZXR0ZSgpKSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICAgIHJldHVybiBzdXBlci5jaGVja0NhbGxiYWNrKGNoZWNraW5nKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZWdpc3RlcnMgdGhlIGNvbW1hbmQuXG4gICAqL1xuICBwdWJsaWMgb3ZlcnJpZGUgcmVnaXN0ZXIoKTogdm9pZCB7XG4gICAgc3VwZXIucmVnaXN0ZXIoKTtcbiAgICB0aGlzLnBsdWdpbi5yZWdpc3RlckV2ZW50KHRoaXMuYXBwLndvcmtzcGFjZS5vbignZmlsZS1tZW51JywgdGhpcy5oYW5kbGVBYnN0cmFjdEZpbGVNZW51LmJpbmQodGhpcykpKTtcbiAgICB0aGlzLnBsdWdpbi5yZWdpc3RlckV2ZW50KHRoaXMuYXBwLndvcmtzcGFjZS5vbignZmlsZXMtbWVudScsIHRoaXMuaGFuZGxlQWJzdHJhY3RGaWxlc01lbnUuYmluZCh0aGlzKSkpO1xuICB9XG5cbiAgLyoqXG4gICAqIENyZWF0ZXMgYSBuZXcgZmlsZSBjb21tYW5kIGludm9jYXRpb24uXG4gICAqXG4gICAqIEByZXR1cm5zIFRoZSBjb21tYW5kIGludm9jYXRpb24uXG4gICAqL1xuICBwcm90ZWN0ZWQgYWJzdHJhY3Qgb3ZlcnJpZGUgY3JlYXRlQ29tbWFuZEludm9jYXRpb24oKTogQWJzdHJhY3RGaWxlQ29tbWFuZEludm9jYXRpb25CYXNlPFRQbHVnaW4+O1xuXG4gIC8qKlxuICAgKiBDaGVja3MgaWYgdGhlIGNvbW1hbmQgc2hvdWxkIGJlIGFkZGVkIHRvIHRoZSBhYnN0cmFjdCBmaWxlIG1lbnUuXG4gICAqXG4gICAqIEBwYXJhbSBfYWJzdHJhY3RGaWxlIC0gVGhlIGFic3RyYWN0IGZpbGUgdG8gY2hlY2suXG4gICAqIEBwYXJhbSBfc291cmNlIC0gVGhlIHNvdXJjZSBvZiB0aGUgYWJzdHJhY3QgZmlsZS5cbiAgICogQHBhcmFtIF9sZWFmIC0gVGhlIGxlYWYgdG8gY2hlY2suXG4gICAqIEByZXR1cm5zIFdoZXRoZXIgdGhlIGNvbW1hbmQgc2hvdWxkIGJlIGFkZGVkIHRvIHRoZSBhYnN0cmFjdCBmaWxlIG1lbnUuXG4gICAqL1xuICBwcm90ZWN0ZWQgc2hvdWxkQWRkVG9BYnN0cmFjdEZpbGVNZW51KF9hYnN0cmFjdEZpbGU6IFRBYnN0cmFjdEZpbGUsIF9zb3VyY2U6IHN0cmluZywgX2xlYWY/OiBXb3Jrc3BhY2VMZWFmKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgLyoqXG4gICAqIENoZWNrcyBpZiB0aGUgY29tbWFuZCBzaG91bGQgYmUgYWRkZWQgdG8gdGhlIGNvbW1hbmQgcGFsZXR0ZS5cbiAgICpcbiAgICogQHJldHVybnMgV2hldGhlciB0aGUgY29tbWFuZCBzaG91bGQgYmUgYWRkZWQgdG8gdGhlIGNvbW1hbmQgcGFsZXR0ZS5cbiAgICovXG4gIHByb3RlY3RlZCBzaG91bGRBZGRUb0NvbW1hbmRQYWxldHRlKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0cnVlO1xuICB9XG5cbiAgcHJpdmF0ZSBoYW5kbGVBYnN0cmFjdEZpbGVNZW51KG1lbnU6IE1lbnUsIGFic3RyYWN0RmlsZTogVEFic3RyYWN0RmlsZSwgc291cmNlOiBzdHJpbmcsIGxlYWY/OiBXb3Jrc3BhY2VMZWFmKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLnNob3VsZEFkZFRvQWJzdHJhY3RGaWxlTWVudShhYnN0cmFjdEZpbGUsIHNvdXJjZSwgbGVhZikpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAoIXRoaXMuY3JlYXRlQ29tbWFuZEludm9jYXRpb24oKS5pbnZva2UodHJ1ZSwgYWJzdHJhY3RGaWxlKSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIG1lbnUuYWRkSXRlbSgoaXRlbSkgPT4ge1xuICAgICAgaXRlbVxuICAgICAgICAuc2V0VGl0bGUodGhpcy5maWxlTWVudUl0ZW1OYW1lID8/IHRoaXMub3JpZ2luYWxOYW1lKVxuICAgICAgICAuc2V0SWNvbih0aGlzLmljb24pXG4gICAgICAgIC5zZXRTZWN0aW9uKHRoaXMuZmlsZU1lbnVTZWN0aW9uID8/ICcnKVxuICAgICAgICAub25DbGljaygoKSA9PiB0aGlzLmNyZWF0ZUNvbW1hbmRJbnZvY2F0aW9uKCkuaW52b2tlKGZhbHNlLCBhYnN0cmFjdEZpbGUpKTtcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgaGFuZGxlQWJzdHJhY3RGaWxlc01lbnUobWVudTogTWVudSwgYWJzdHJhY3RGaWxlczogVEFic3RyYWN0RmlsZVtdLCBzb3VyY2U6IHN0cmluZywgbGVhZj86IFdvcmtzcGFjZUxlYWYpOiB2b2lkIHtcbiAgICBmb3IgKGNvbnN0IGFic3RyYWN0RmlsZSBvZiBhYnN0cmFjdEZpbGVzKSB7XG4gICAgICBpZiAoIXRoaXMuc2hvdWxkQWRkVG9BYnN0cmFjdEZpbGVNZW51KGFic3RyYWN0RmlsZSwgc291cmNlLCBsZWFmKSkge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIGlmICghdGhpcy5jcmVhdGVDb21tYW5kSW52b2NhdGlvbigpLmludm9rZSh0cnVlLCBhYnN0cmFjdEZpbGUpKSB7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBtZW51LmFkZEl0ZW0oKGl0ZW0pID0+IHtcbiAgICAgIGl0ZW1cbiAgICAgICAgLnNldFRpdGxlKHRoaXMuZmlsZXNNZW51SXRlbU5hbWUgPz8gdGhpcy5maWxlTWVudUl0ZW1OYW1lID8/IHRoaXMub3JpZ2luYWxOYW1lKVxuICAgICAgICAuc2V0SWNvbih0aGlzLmljb24pXG4gICAgICAgIC5zZXRTZWN0aW9uKHRoaXMuZmlsZXNNZW51U2VjdGlvbiA/PyB0aGlzLmZpbGVNZW51U2VjdGlvbiA/PyAnJylcbiAgICAgICAgLm9uQ2xpY2soKCkgPT4ge1xuICAgICAgICAgIGZvciAoY29uc3QgYWJzdHJhY3RGaWxlIG9mIGFic3RyYWN0RmlsZXMpIHtcbiAgICAgICAgICAgIHRoaXMuY3JlYXRlQ29tbWFuZEludm9jYXRpb24oKS5pbnZva2UoZmFsc2UsIGFic3RyYWN0RmlsZSk7XG4gICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9KTtcbiAgfVxufVxuXG4vKipcbiAqIEJhc2UgY2xhc3MgZm9yIGFic3RyYWN0IGZpbGUgY29tbWFuZCBpbnZvY2F0aW9ucy5cbiAqXG4gKiBAdHlwZVBhcmFtIFRQbHVnaW4gLSBUaGUgdHlwZSBvZiB0aGUgcGx1Z2luIHRoYXQgdGhlIGNvbW1hbmQgYmVsb25ncyB0by5cbiAqL1xuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEFic3RyYWN0RmlsZUNvbW1hbmRJbnZvY2F0aW9uQmFzZTxUUGx1Z2luIGV4dGVuZHMgUGx1Z2luPiBleHRlbmRzIENvbW1hbmRJbnZvY2F0aW9uQmFzZTxUUGx1Z2luPiB7XG4gIC8qKlxuICAgKiBUaGUgYWJzdHJhY3QgZmlsZSB0byBpbnZva2UgdGhlIGNvbW1hbmQgZm9yLlxuICAgKlxuICAgKiBAcmV0dXJucyBUaGUgYWJzdHJhY3QgZmlsZSB0byBpbnZva2UgdGhlIGNvbW1hbmQgZm9yLlxuICAgKiBAdGhyb3dzIElmIHRoZSBhYnN0cmFjdCBmaWxlIGlzIG5vdCBzZXQuXG4gICAqL1xuICBwcm90ZWN0ZWQgZ2V0IGFic3RyYWN0RmlsZSgpOiBUQWJzdHJhY3RGaWxlIHtcbiAgICBpZiAoIXRoaXMuX2Fic3RyYWN0RmlsZSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdBYnN0cmFjdCBmaWxlIG5vdCBzZXQnKTtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuX2Fic3RyYWN0RmlsZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXRzIHRoZSBhYnN0cmFjdCBmaWxlIHRvIGludm9rZSB0aGUgY29tbWFuZCBmb3IuXG4gICAqXG4gICAqIEBwYXJhbSBhYnN0cmFjdEZpbGUgLSBUaGUgYWJzdHJhY3QgZmlsZSB0byBpbnZva2UgdGhlIGNvbW1hbmQgZm9yLlxuICAgKi9cbiAgcHJvdGVjdGVkIHNldCBhYnN0cmFjdEZpbGUoYWJzdHJhY3RGaWxlOiBUQWJzdHJhY3RGaWxlKSB7XG4gICAgdGhpcy5fYWJzdHJhY3RGaWxlID0gYWJzdHJhY3RGaWxlO1xuICB9XG5cbiAgcHJpdmF0ZSBfYWJzdHJhY3RGaWxlPzogVEFic3RyYWN0RmlsZTtcblxuICAvKipcbiAgICogSW52b2tlcyB0aGUgY29tbWFuZC5cbiAgICpcbiAgICogQHBhcmFtIGNoZWNraW5nIC0gSXMgY2hlY2tpbmcgbW9kZSBvbmx5LiBJZiBgdHJ1ZWAsIG9ubHkgdGhlIGNoZWNrIGlmIHRoZSBjb21tYW5kIGNhbiBleGVjdXRlIGlzIHBlcmZvcm1lZC4gSWYgYGZhbHNlYCwgdGhlIGNvbW1hbmQgaXMgZXhlY3V0ZWQuXG4gICAqIEBwYXJhbSBhYnN0cmFjdEZpbGUgLSBUaGUgYWJzdHJhY3QgZmlsZSB0byBpbnZva2UgdGhlIGNvbW1hbmQgZm9yLlxuICAgKiBAcmV0dXJucyBXaGV0aGVyIHRoZSBjb21tYW5kIHdhcyBleGVjdXRlZC5cbiAgICovXG4gIHB1YmxpYyBvdmVycmlkZSBpbnZva2UoY2hlY2tpbmc6IGJvb2xlYW4sIGFic3RyYWN0RmlsZT86IFRBYnN0cmFjdEZpbGUpOiBib29sZWFuIHtcbiAgICBpZiAoYWJzdHJhY3RGaWxlKSB7XG4gICAgICB0aGlzLl9hYnN0cmFjdEZpbGUgPSBhYnN0cmFjdEZpbGU7XG4gICAgfVxuICAgIHJldHVybiBzdXBlci5pbnZva2UoY2hlY2tpbmcpO1xuICB9XG5cbiAgLyoqXG4gICAqIENoZWNrcyBpZiB0aGUgY29tbWFuZCBjYW4gZXhlY3V0ZS5cbiAgICpcbiAgICogQHJldHVybnMgV2hldGhlciB0aGUgY29tbWFuZCBjYW4gZXhlY3V0ZS5cbiAgICovXG4gIHByb3RlY3RlZCBvdmVycmlkZSBjYW5FeGVjdXRlKCk6IGJvb2xlYW4ge1xuICAgIGlmICghc3VwZXIuY2FuRXhlY3V0ZSgpKSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICAgIGNvbnN0IGFic3RyYWN0RmlsZSA9IHRoaXMuX2Fic3RyYWN0RmlsZSA/PyB0aGlzLmFwcC53b3Jrc3BhY2UuZ2V0QWN0aXZlRmlsZSgpO1xuICAgIGlmICghYWJzdHJhY3RGaWxlKSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICAgIHRoaXMuX2Fic3RyYWN0RmlsZSA9IGFic3RyYWN0RmlsZTtcbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxufVxuIl0sCiAgIm1hcHBpbmdzIjogIjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBYUEsU0FBUyw2QkFBNkI7QUFDdEMsU0FBUyw0QkFBNEI7QUFPOUIsTUFBZSxnQ0FBaUUscUJBQThCO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFJaEc7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQUtBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFLQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBS0E7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQVFILGNBQWMsVUFBNEI7QUFDeEQsUUFBSSxDQUFDLEtBQUssMEJBQTBCLEdBQUc7QUFDckMsYUFBTztBQUFBLElBQ1Q7QUFDQSxXQUFPLE1BQU0sY0FBYyxRQUFRO0FBQUEsRUFDckM7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQUtnQixXQUFpQjtBQUMvQixVQUFNLFNBQVM7QUFDZixTQUFLLE9BQU8sY0FBYyxLQUFLLElBQUksVUFBVSxHQUFHLGFBQWEsS0FBSyx1QkFBdUIsS0FBSyxJQUFJLENBQUMsQ0FBQztBQUNwRyxTQUFLLE9BQU8sY0FBYyxLQUFLLElBQUksVUFBVSxHQUFHLGNBQWMsS0FBSyx3QkFBd0IsS0FBSyxJQUFJLENBQUMsQ0FBQztBQUFBLEVBQ3hHO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBaUJVLDRCQUE0QixlQUE4QixTQUFpQixPQUFnQztBQUNuSCxXQUFPO0FBQUEsRUFDVDtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQU9VLDRCQUFxQztBQUM3QyxXQUFPO0FBQUEsRUFDVDtBQUFBLEVBRVEsdUJBQXVCLE1BQVksY0FBNkIsUUFBZ0IsTUFBNEI7QUFDbEgsUUFBSSxDQUFDLEtBQUssNEJBQTRCLGNBQWMsUUFBUSxJQUFJLEdBQUc7QUFDakU7QUFBQSxJQUNGO0FBRUEsUUFBSSxDQUFDLEtBQUssd0JBQXdCLEVBQUUsT0FBTyxNQUFNLFlBQVksR0FBRztBQUM5RDtBQUFBLElBQ0Y7QUFFQSxTQUFLLFFBQVEsQ0FBQyxTQUFTO0FBQ3JCLFdBQ0csU0FBUyxLQUFLLG9CQUFvQixLQUFLLFlBQVksRUFDbkQsUUFBUSxLQUFLLElBQUksRUFDakIsV0FBVyxLQUFLLG1CQUFtQixFQUFFLEVBQ3JDLFFBQVEsTUFBTSxLQUFLLHdCQUF3QixFQUFFLE9BQU8sT0FBTyxZQUFZLENBQUM7QUFBQSxJQUM3RSxDQUFDO0FBQUEsRUFDSDtBQUFBLEVBRVEsd0JBQXdCLE1BQVksZUFBZ0MsUUFBZ0IsTUFBNEI7QUFDdEgsZUFBVyxnQkFBZ0IsZUFBZTtBQUN4QyxVQUFJLENBQUMsS0FBSyw0QkFBNEIsY0FBYyxRQUFRLElBQUksR0FBRztBQUNqRTtBQUFBLE1BQ0Y7QUFFQSxVQUFJLENBQUMsS0FBSyx3QkFBd0IsRUFBRSxPQUFPLE1BQU0sWUFBWSxHQUFHO0FBQzlEO0FBQUEsTUFDRjtBQUFBLElBQ0Y7QUFFQSxTQUFLLFFBQVEsQ0FBQyxTQUFTO0FBQ3JCLFdBQ0csU0FBUyxLQUFLLHFCQUFxQixLQUFLLG9CQUFvQixLQUFLLFlBQVksRUFDN0UsUUFBUSxLQUFLLElBQUksRUFDakIsV0FBVyxLQUFLLG9CQUFvQixLQUFLLG1CQUFtQixFQUFFLEVBQzlELFFBQVEsTUFBTTtBQUNiLG1CQUFXLGdCQUFnQixlQUFlO0FBQ3hDLGVBQUssd0JBQXdCLEVBQUUsT0FBTyxPQUFPLFlBQVk7QUFBQSxRQUMzRDtBQUFBLE1BQ0YsQ0FBQztBQUFBLElBQ0wsQ0FBQztBQUFBLEVBQ0g7QUFDRjtBQU9PLE1BQWUsMENBQWtFLHNCQUErQjtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBT3JILElBQWMsZUFBOEI7QUFDMUMsUUFBSSxDQUFDLEtBQUssZUFBZTtBQUN2QixZQUFNLElBQUksTUFBTSx1QkFBdUI7QUFBQSxJQUN6QztBQUNBLFdBQU8sS0FBSztBQUFBLEVBQ2Q7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFPQSxJQUFjLGFBQWEsY0FBNkI7QUFDdEQsU0FBSyxnQkFBZ0I7QUFBQSxFQUN2QjtBQUFBLEVBRVE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBU1EsT0FBTyxVQUFtQixjQUF1QztBQUMvRSxRQUFJLGNBQWM7QUFDaEIsV0FBSyxnQkFBZ0I7QUFBQSxJQUN2QjtBQUNBLFdBQU8sTUFBTSxPQUFPLFFBQVE7QUFBQSxFQUM5QjtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQU9tQixhQUFzQjtBQUN2QyxRQUFJLENBQUMsTUFBTSxXQUFXLEdBQUc7QUFDdkIsYUFBTztBQUFBLElBQ1Q7QUFDQSxVQUFNLGVBQWUsS0FBSyxpQkFBaUIsS0FBSyxJQUFJLFVBQVUsY0FBYztBQUM1RSxRQUFJLENBQUMsY0FBYztBQUNqQixhQUFPO0FBQUEsSUFDVDtBQUNBLFNBQUssZ0JBQWdCO0FBQ3JCLFdBQU87QUFBQSxFQUNUO0FBQ0Y7IiwKICAibmFtZXMiOiBbXQp9Cg==
179
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vLi4vc3JjL29ic2lkaWFuL0NvbW1hbmRzL0Fic3RyYWN0RmlsZUNvbW1hbmRCYXNlLnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyIvKipcbiAqIEBwYWNrYWdlRG9jdW1lbnRhdGlvblxuICpcbiAqIEJhc2UgY2xhc3NlcyBmb3IgYWJzdHJhY3QgZmlsZSBjb21tYW5kcy5cbiAqL1xuXG5pbXBvcnQgdHlwZSB7XG4gIE1lbnUsXG4gIFBsdWdpbixcbiAgVEFic3RyYWN0RmlsZSxcbiAgV29ya3NwYWNlTGVhZlxufSBmcm9tICdvYnNpZGlhbic7XG5cbmltcG9ydCB7IENvbW1hbmRJbnZvY2F0aW9uQmFzZSB9IGZyb20gJy4vQ29tbWFuZEJhc2UudHMnO1xuaW1wb3J0IHsgTm9uRWRpdG9yQ29tbWFuZEJhc2UgfSBmcm9tICcuL05vbkVkaXRvckNvbW1hbmRCYXNlLnRzJztcblxuLyoqXG4gKiBCYXNlIGNsYXNzIGZvciBhYnN0cmFjdCBmaWxlIGNvbW1hbmRzLlxuICpcbiAqIEB0eXBlUGFyYW0gVFBsdWdpbiAtIFRoZSB0eXBlIG9mIHRoZSBwbHVnaW4gdGhhdCB0aGUgY29tbWFuZCBiZWxvbmdzIHRvLlxuICovXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgQWJzdHJhY3RGaWxlQ29tbWFuZEJhc2U8VFBsdWdpbiBleHRlbmRzIFBsdWdpbiA9IFBsdWdpbj4gZXh0ZW5kcyBOb25FZGl0b3JDb21tYW5kQmFzZTxUUGx1Z2luPiB7XG4gIC8qKlxuICAgKiBUaGUgaXRlbSBuYW1lIHRvIHVzZSBpbiB0aGUgZmlsZSBtZW51LlxuICAgKi9cbiAgcHJvdGVjdGVkIHJlYWRvbmx5IGZpbGVNZW51SXRlbU5hbWU/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBzZWN0aW9uIHRvIHVzZSBpbiB0aGUgZmlsZSBtZW51LlxuICAgKi9cbiAgcHJvdGVjdGVkIHJlYWRvbmx5IGZpbGVNZW51U2VjdGlvbj86IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIGl0ZW0gbmFtZSB0byB1c2UgaW4gdGhlIGZpbGVzIG1lbnUuXG4gICAqL1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgZmlsZXNNZW51SXRlbU5hbWU/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBzZWN0aW9uIHRvIHVzZSBpbiB0aGUgZmlsZXMgbWVudS5cbiAgICovXG4gIHByb3RlY3RlZCByZWFkb25seSBmaWxlc01lbnVTZWN0aW9uPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBDaGVja3MgaWYgdGhlIGNvbW1hbmQgY2FuIGV4ZWN1dGUgb3IgZXhlY3V0ZXMgaXQuXG4gICAqXG4gICAqIEBwYXJhbSBjaGVja2luZyAtIElzIGNoZWNraW5nIG1vZGUgb25seS4gSWYgYHRydWVgLCBvbmx5IHRoZSBjaGVjayBpZiB0aGUgY29tbWFuZCBjYW4gZXhlY3V0ZSBpcyBwZXJmb3JtZWQuIElmIGBmYWxzZWAsIHRoZSBjb21tYW5kIGlzIGV4ZWN1dGVkLlxuICAgKiBAcmV0dXJucyBXaGV0aGVyIHRoZSBjb21tYW5kIGNhbiBleGVjdXRlLlxuICAgKi9cbiAgcHVibGljIG92ZXJyaWRlIGNoZWNrQ2FsbGJhY2soY2hlY2tpbmc6IGJvb2xlYW4pOiBib29sZWFuIHtcbiAgICBpZiAoIXRoaXMuc2hvdWxkQWRkVG9Db21tYW5kUGFsZXR0ZSgpKSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICAgIHJldHVybiBzdXBlci5jaGVja0NhbGxiYWNrKGNoZWNraW5nKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZWdpc3RlcnMgdGhlIGNvbW1hbmQuXG4gICAqL1xuICBwdWJsaWMgb3ZlcnJpZGUgcmVnaXN0ZXIoKTogdm9pZCB7XG4gICAgc3VwZXIucmVnaXN0ZXIoKTtcbiAgICB0aGlzLnBsdWdpbi5yZWdpc3RlckV2ZW50KHRoaXMuYXBwLndvcmtzcGFjZS5vbignZmlsZS1tZW51JywgdGhpcy5oYW5kbGVBYnN0cmFjdEZpbGVNZW51LmJpbmQodGhpcykpKTtcbiAgICB0aGlzLnBsdWdpbi5yZWdpc3RlckV2ZW50KHRoaXMuYXBwLndvcmtzcGFjZS5vbignZmlsZXMtbWVudScsIHRoaXMuaGFuZGxlQWJzdHJhY3RGaWxlc01lbnUuYmluZCh0aGlzKSkpO1xuICB9XG5cbiAgLyoqXG4gICAqIENyZWF0ZXMgYSBuZXcgZmlsZSBjb21tYW5kIGludm9jYXRpb24uXG4gICAqXG4gICAqIEBwYXJhbSBhYnN0cmFjdEZpbGUgLSBUaGUgYWJzdHJhY3QgZmlsZSB0byBjcmVhdGUgdGhlIGNvbW1hbmQgaW52b2NhdGlvbiBmb3IuXG4gICAqIEByZXR1cm5zIFRoZSBjb21tYW5kIGludm9jYXRpb24uXG4gICAqL1xuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgY3JlYXRlQ29tbWFuZEludm9jYXRpb24oYWJzdHJhY3RGaWxlPzogVEFic3RyYWN0RmlsZSk6IEFic3RyYWN0RmlsZUNvbW1hbmRJbnZvY2F0aW9uQmFzZTxUUGx1Z2luPiB7XG4gICAgcmV0dXJuIHRoaXMuY3JlYXRlQ29tbWFuZEludm9jYXRpb25Gb3JBYnN0cmFjdEZpbGUoYWJzdHJhY3RGaWxlID8/IHRoaXMuYXBwLndvcmtzcGFjZS5nZXRBY3RpdmVGaWxlKCkpO1xuICB9XG5cbiAgLyoqXG4gICAqIENyZWF0ZXMgYSBuZXcgY29tbWFuZCBpbnZvY2F0aW9uIGZvciBhbiBhYnN0cmFjdCBmaWxlLlxuICAgKlxuICAgKiBAcGFyYW0gYWJzdHJhY3RGaWxlIC0gVGhlIGFic3RyYWN0IGZpbGUgdG8gY3JlYXRlIHRoZSBjb21tYW5kIGludm9jYXRpb24gZm9yLlxuICAgKiBAcmV0dXJucyBUaGUgY29tbWFuZCBpbnZvY2F0aW9uLlxuICAgKi9cbiAgcHJvdGVjdGVkIGFic3RyYWN0IGNyZWF0ZUNvbW1hbmRJbnZvY2F0aW9uRm9yQWJzdHJhY3RGaWxlKGFic3RyYWN0RmlsZTogbnVsbCB8IFRBYnN0cmFjdEZpbGUpOiBBYnN0cmFjdEZpbGVDb21tYW5kSW52b2NhdGlvbkJhc2U8VFBsdWdpbj47XG5cbiAgLyoqXG4gICAqIENyZWF0ZXMgYSBuZXcgY29tbWFuZCBpbnZvY2F0aW9uIGZvciBhYnN0cmFjdCBmaWxlcy5cbiAgICpcbiAgICogQHBhcmFtIGFic3RyYWN0RmlsZXMgLSBUaGUgYWJzdHJhY3QgZmlsZXMgdG8gY3JlYXRlIHRoZSBjb21tYW5kIGludm9jYXRpb24gZm9yLlxuICAgKiBAcmV0dXJucyBUaGUgY29tbWFuZCBpbnZvY2F0aW9uLlxuICAgKi9cbiAgcHJvdGVjdGVkIGFic3RyYWN0IGNyZWF0ZUNvbW1hbmRJbnZvY2F0aW9uRm9yQWJzdHJhY3RGaWxlcyhhYnN0cmFjdEZpbGVzOiBUQWJzdHJhY3RGaWxlW10pOiBBYnN0cmFjdEZpbGVzQ29tbWFuZEludm9jYXRpb25CYXNlPFRQbHVnaW4+O1xuXG4gIC8qKlxuICAgKiBDaGVja3MgaWYgdGhlIGNvbW1hbmQgc2hvdWxkIGJlIGFkZGVkIHRvIHRoZSBhYnN0cmFjdCBmaWxlIG1lbnUuXG4gICAqXG4gICAqIEBwYXJhbSBfYWJzdHJhY3RGaWxlIC0gVGhlIGFic3RyYWN0IGZpbGUgdG8gY2hlY2suXG4gICAqIEBwYXJhbSBfc291cmNlIC0gVGhlIHNvdXJjZSBvZiB0aGUgYWJzdHJhY3QgZmlsZS5cbiAgICogQHBhcmFtIF9sZWFmIC0gVGhlIGxlYWYgdG8gY2hlY2suXG4gICAqIEByZXR1cm5zIFdoZXRoZXIgdGhlIGNvbW1hbmQgc2hvdWxkIGJlIGFkZGVkIHRvIHRoZSBhYnN0cmFjdCBmaWxlIG1lbnUuXG4gICAqL1xuICBwcm90ZWN0ZWQgc2hvdWxkQWRkVG9BYnN0cmFjdEZpbGVNZW51KF9hYnN0cmFjdEZpbGU6IFRBYnN0cmFjdEZpbGUsIF9zb3VyY2U6IHN0cmluZywgX2xlYWY/OiBXb3Jrc3BhY2VMZWFmKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgLyoqXG4gICAqIENoZWNrcyBpZiB0aGUgY29tbWFuZCBzaG91bGQgYmUgYWRkZWQgdG8gdGhlIGFic3RyYWN0IGZpbGVzIG1lbnUuXG4gICAqXG4gICAqIEBwYXJhbSBhYnN0cmFjdEZpbGVzIC0gVGhlIGFic3RyYWN0IGZpbGVzIHRvIGNoZWNrLlxuICAgKiBAcGFyYW0gc291cmNlIC0gVGhlIHNvdXJjZSBvZiB0aGUgYWJzdHJhY3QgZmlsZXMuXG4gICAqIEBwYXJhbSBsZWFmIC0gVGhlIGxlYWYgdG8gY2hlY2suXG4gICAqIEByZXR1cm5zIFdoZXRoZXIgdGhlIGNvbW1hbmQgc2hvdWxkIGJlIGFkZGVkIHRvIHRoZSBhYnN0cmFjdCBmaWxlcyBtZW51LlxuICAgKi9cbiAgcHJvdGVjdGVkIHNob3VsZEFkZFRvQWJzdHJhY3RGaWxlc01lbnUoYWJzdHJhY3RGaWxlczogVEFic3RyYWN0RmlsZVtdLCBzb3VyY2U6IHN0cmluZywgbGVhZj86IFdvcmtzcGFjZUxlYWYpOiBib29sZWFuIHtcbiAgICBmb3IgKGNvbnN0IGFic3RyYWN0RmlsZSBvZiBhYnN0cmFjdEZpbGVzKSB7XG4gICAgICBpZiAoIXRoaXMuc2hvdWxkQWRkVG9BYnN0cmFjdEZpbGVNZW51KGFic3RyYWN0RmlsZSwgc291cmNlLCBsZWFmKSkge1xuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIHRydWU7XG4gIH1cblxuICAvKipcbiAgICogQ2hlY2tzIGlmIHRoZSBjb21tYW5kIHNob3VsZCBiZSBhZGRlZCB0byB0aGUgY29tbWFuZCBwYWxldHRlLlxuICAgKlxuICAgKiBAcmV0dXJucyBXaGV0aGVyIHRoZSBjb21tYW5kIHNob3VsZCBiZSBhZGRlZCB0byB0aGUgY29tbWFuZCBwYWxldHRlLlxuICAgKi9cbiAgcHJvdGVjdGVkIHNob3VsZEFkZFRvQ29tbWFuZFBhbGV0dGUoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRydWU7XG4gIH1cblxuICBwcml2YXRlIGhhbmRsZUFic3RyYWN0RmlsZU1lbnUobWVudTogTWVudSwgYWJzdHJhY3RGaWxlOiBUQWJzdHJhY3RGaWxlLCBzb3VyY2U6IHN0cmluZywgbGVhZj86IFdvcmtzcGFjZUxlYWYpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuc2hvdWxkQWRkVG9BYnN0cmFjdEZpbGVNZW51KGFic3RyYWN0RmlsZSwgc291cmNlLCBsZWFmKSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGlmICghdGhpcy5jcmVhdGVDb21tYW5kSW52b2NhdGlvbihhYnN0cmFjdEZpbGUpLmludm9rZSh0cnVlKSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIG1lbnUuYWRkSXRlbSgoaXRlbSkgPT4ge1xuICAgICAgaXRlbVxuICAgICAgICAuc2V0VGl0bGUodGhpcy5maWxlTWVudUl0ZW1OYW1lID8/IHRoaXMub3JpZ2luYWxOYW1lKVxuICAgICAgICAuc2V0SWNvbih0aGlzLmljb24pXG4gICAgICAgIC5zZXRTZWN0aW9uKHRoaXMuZmlsZU1lbnVTZWN0aW9uID8/ICcnKVxuICAgICAgICAub25DbGljaygoKSA9PiB0aGlzLmNyZWF0ZUNvbW1hbmRJbnZvY2F0aW9uKGFic3RyYWN0RmlsZSkuaW52b2tlKGZhbHNlKSk7XG4gICAgfSk7XG4gIH1cblxuICBwcml2YXRlIGhhbmRsZUFic3RyYWN0RmlsZXNNZW51KG1lbnU6IE1lbnUsIGFic3RyYWN0RmlsZXM6IFRBYnN0cmFjdEZpbGVbXSwgc291cmNlOiBzdHJpbmcsIGxlYWY/OiBXb3Jrc3BhY2VMZWFmKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLnNob3VsZEFkZFRvQWJzdHJhY3RGaWxlc01lbnUoYWJzdHJhY3RGaWxlcywgc291cmNlLCBsZWFmKSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGlmICghdGhpcy5jcmVhdGVDb21tYW5kSW52b2NhdGlvbkZvckFic3RyYWN0RmlsZXMoYWJzdHJhY3RGaWxlcykuaW52b2tlKHRydWUpKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgbWVudS5hZGRJdGVtKChpdGVtKSA9PiB7XG4gICAgICBpdGVtXG4gICAgICAgIC5zZXRUaXRsZSh0aGlzLmZpbGVzTWVudUl0ZW1OYW1lID8/IHRoaXMuZmlsZU1lbnVJdGVtTmFtZSA/PyB0aGlzLm9yaWdpbmFsTmFtZSlcbiAgICAgICAgLnNldEljb24odGhpcy5pY29uKVxuICAgICAgICAuc2V0U2VjdGlvbih0aGlzLmZpbGVzTWVudVNlY3Rpb24gPz8gdGhpcy5maWxlTWVudVNlY3Rpb24gPz8gJycpXG4gICAgICAgIC5vbkNsaWNrKCgpID0+IHRoaXMuY3JlYXRlQ29tbWFuZEludm9jYXRpb25Gb3JBYnN0cmFjdEZpbGVzKGFic3RyYWN0RmlsZXMpLmludm9rZShmYWxzZSkpO1xuICAgIH0pO1xuICB9XG59XG5cbi8qKlxuICogQmFzZSBjbGFzcyBmb3IgYWJzdHJhY3QgZmlsZSBjb21tYW5kIGludm9jYXRpb25zLlxuICpcbiAqIEB0eXBlUGFyYW0gVFBsdWdpbiAtIFRoZSB0eXBlIG9mIHRoZSBwbHVnaW4gdGhhdCB0aGUgY29tbWFuZCBiZWxvbmdzIHRvLlxuICovXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgQWJzdHJhY3RGaWxlQ29tbWFuZEludm9jYXRpb25CYXNlPFRQbHVnaW4gZXh0ZW5kcyBQbHVnaW4+IGV4dGVuZHMgQ29tbWFuZEludm9jYXRpb25CYXNlPFRQbHVnaW4+IHtcbiAgLyoqICovXG4gIHByb3RlY3RlZCByZWFkb25seSBfYWJzdHJhY3RGaWxlOiBudWxsIHwgVEFic3RyYWN0RmlsZTtcblxuICAvKipcbiAgICogVGhlIGFic3RyYWN0IGZpbGUgdG8gaW52b2tlIHRoZSBjb21tYW5kIGZvci5cbiAgICpcbiAgICogQHJldHVybnMgVGhlIGFic3RyYWN0IGZpbGUgdG8gaW52b2tlIHRoZSBjb21tYW5kIGZvci5cbiAgICogQHRocm93cyBJZiB0aGUgYWJzdHJhY3QgZmlsZSBpcyBub3Qgc2V0LlxuICAgKi9cbiAgcHJvdGVjdGVkIGdldCBhYnN0cmFjdEZpbGUoKTogVEFic3RyYWN0RmlsZSB7XG4gICAgaWYgKCF0aGlzLl9hYnN0cmFjdEZpbGUpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignQWJzdHJhY3QgZmlsZSBub3Qgc2V0Jyk7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLl9hYnN0cmFjdEZpbGU7XG4gIH1cblxuICAvKipcbiAgICogQ3JlYXRlcyBhIG5ldyBhYnN0cmFjdCBmaWxlIGNvbW1hbmQgaW52b2NhdGlvbi5cbiAgICpcbiAgICogQHBhcmFtIHBsdWdpbiAtIFRoZSBwbHVnaW4gdGhhdCB0aGUgY29tbWFuZCBiZWxvbmdzIHRvLlxuICAgKiBAcGFyYW0gYWJzdHJhY3RGaWxlIC0gVGhlIGFic3RyYWN0IGZpbGUgdG8gaW52b2tlIHRoZSBjb21tYW5kIGZvci5cbiAgICovXG4gIHB1YmxpYyBjb25zdHJ1Y3RvcihwbHVnaW46IFRQbHVnaW4sIGFic3RyYWN0RmlsZTogbnVsbCB8IFRBYnN0cmFjdEZpbGUpIHtcbiAgICBzdXBlcihwbHVnaW4pO1xuICAgIHRoaXMuX2Fic3RyYWN0RmlsZSA9IGFic3RyYWN0RmlsZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDaGVja3MgaWYgdGhlIGNvbW1hbmQgY2FuIGV4ZWN1dGUuXG4gICAqXG4gICAqIEByZXR1cm5zIFdoZXRoZXIgdGhlIGNvbW1hbmQgY2FuIGV4ZWN1dGUuXG4gICAqL1xuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgY2FuRXhlY3V0ZSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gc3VwZXIuY2FuRXhlY3V0ZSgpICYmICEhdGhpcy5fYWJzdHJhY3RGaWxlO1xuICB9XG59XG5cbi8qKlxuICogQmFzZSBjbGFzcyBmb3IgYWJzdHJhY3QgZmlsZXMgY29tbWFuZCBpbnZvY2F0aW9ucy5cbiAqXG4gKiBAdHlwZVBhcmFtIFRQbHVnaW4gLSBUaGUgdHlwZSBvZiB0aGUgcGx1Z2luIHRoYXQgdGhlIGNvbW1hbmQgYmVsb25ncyB0by5cbiAqL1xuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEFic3RyYWN0RmlsZXNDb21tYW5kSW52b2NhdGlvbkJhc2U8VFBsdWdpbiBleHRlbmRzIFBsdWdpbj4gZXh0ZW5kcyBDb21tYW5kSW52b2NhdGlvbkJhc2U8VFBsdWdpbj4ge1xuICAvKipcbiAgICogQ3JlYXRlcyBhIG5ldyBhYnN0cmFjdCBmaWxlcyBjb21tYW5kIGludm9jYXRpb24uXG4gICAqXG4gICAqIEBwYXJhbSBwbHVnaW4gLSBUaGUgcGx1Z2luIHRoYXQgdGhlIGNvbW1hbmQgYmVsb25ncyB0by5cbiAgICogQHBhcmFtIGFic3RyYWN0RmlsZXMgLSBUaGUgYWJzdHJhY3QgZmlsZXMgdG8gaW52b2tlIHRoZSBjb21tYW5kIGZvci5cbiAgICovXG4gIHB1YmxpYyBjb25zdHJ1Y3RvcihwbHVnaW46IFRQbHVnaW4sIHB1YmxpYyByZWFkb25seSBhYnN0cmFjdEZpbGVzOiBUQWJzdHJhY3RGaWxlW10pIHtcbiAgICBzdXBlcihwbHVnaW4pO1xuICB9XG59XG4iXSwKICAibWFwcGluZ3MiOiAiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFhQSxTQUFTLDZCQUE2QjtBQUN0QyxTQUFTLDRCQUE0QjtBQU85QixNQUFlLGdDQUFpRSxxQkFBOEI7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQUloRztBQUFBO0FBQUE7QUFBQTtBQUFBLEVBS0E7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQUtBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFLQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBUUgsY0FBYyxVQUE0QjtBQUN4RCxRQUFJLENBQUMsS0FBSywwQkFBMEIsR0FBRztBQUNyQyxhQUFPO0FBQUEsSUFDVDtBQUNBLFdBQU8sTUFBTSxjQUFjLFFBQVE7QUFBQSxFQUNyQztBQUFBO0FBQUE7QUFBQTtBQUFBLEVBS2dCLFdBQWlCO0FBQy9CLFVBQU0sU0FBUztBQUNmLFNBQUssT0FBTyxjQUFjLEtBQUssSUFBSSxVQUFVLEdBQUcsYUFBYSxLQUFLLHVCQUF1QixLQUFLLElBQUksQ0FBQyxDQUFDO0FBQ3BHLFNBQUssT0FBTyxjQUFjLEtBQUssSUFBSSxVQUFVLEdBQUcsY0FBYyxLQUFLLHdCQUF3QixLQUFLLElBQUksQ0FBQyxDQUFDO0FBQUEsRUFDeEc7QUFBQTtBQUFBO0FBQUE7QUFB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
@@ -105,6 +105,13 @@ export declare abstract class CommandInvocationBase<TPlugin extends Plugin = Plu
105
105
  * @returns Whether the command was executed.
106
106
  */
107
107
  invoke(checking: boolean): boolean;
108
+ /**
109
+ * Invokes the command asynchronously.
110
+ *
111
+ * @param checking - Is checking mode only. If `true`, only the check if the command can execute is performed. If `false`, the command is executed.
112
+ * @returns A promise that resolves when the command has been executed.
113
+ */
114
+ invokeAsync(checking: boolean): Promise<void>;
108
115
  /**
109
116
  * Checks if the command can execute.
110
117
  *
@@ -106,6 +106,18 @@ class CommandInvocationBase {
106
106
  }
107
107
  return this.lastCanExecuteResult;
108
108
  }
109
+ /**
110
+ * Invokes the command asynchronously.
111
+ *
112
+ * @param checking - Is checking mode only. If `true`, only the check if the command can execute is performed. If `false`, the command is executed.
113
+ * @returns A promise that resolves when the command has been executed.
114
+ */
115
+ async invokeAsync(checking) {
116
+ this.lastCanExecuteResult = this.canExecute();
117
+ if (!checking && this.lastCanExecuteResult) {
118
+ await this.execute();
119
+ }
120
+ }
109
121
  /**
110
122
  * Checks if the command can execute.
111
123
  *
@@ -131,4 +143,4 @@ export {
131
143
  CommandBase,
132
144
  CommandInvocationBase
133
145
  };
134
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vLi4vc3JjL29ic2lkaWFuL0NvbW1hbmRzL0NvbW1hbmRCYXNlLnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyIvKipcbiAqIEBwYWNrYWdlRG9jdW1lbnRhdGlvblxuICpcbiAqIEJhc2UgY2xhc3NlcyBmb3IgY29tbWFuZHMuXG4gKi9cblxuaW1wb3J0IHR5cGUge1xuICBBcHAsXG4gIENvbW1hbmQsXG4gIEljb25OYW1lLFxuICBQbHVnaW5cbn0gZnJvbSAnb2JzaWRpYW4nO1xuXG5pbXBvcnQgeyBpbnZva2VBc3luY1NhZmVseSB9IGZyb20gJy4uLy4uL0FzeW5jLnRzJztcblxuLyoqXG4gKiBPcHRpb25zIGZvciBjcmVhdGluZyBhIGNvbW1hbmQuXG4gKlxuICogQHR5cGVQYXJhbSBUUGx1Z2luIC0gVGhlIHR5cGUgb2YgdGhlIHBsdWdpbiB0aGF0IHRoZSBjb21tYW5kIGJlbG9uZ3MgdG8uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQ29tbWFuZEJhc2VPcHRpb25zPFRQbHVnaW4gZXh0ZW5kcyBQbHVnaW4+IHtcbiAgLyoqXG4gICAqIFRoZSBpY29uIHRvIHVzZSBmb3IgdGhlIGNvbW1hbmQuXG4gICAqL1xuICBpY29uOiBJY29uTmFtZTtcblxuICAvKipcbiAgICogVGhlIElEIG9mIHRoZSBjb21tYW5kLlxuICAgKi9cbiAgaWQ6IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIG5hbWUgb2YgdGhlIGNvbW1hbmQuXG4gICAqL1xuICBuYW1lOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBwbHVnaW4gdGhhdCB0aGUgY29tbWFuZCBiZWxvbmdzIHRvLlxuICAgKi9cbiAgcGx1Z2luOiBUUGx1Z2luO1xufVxuXG4vKipcbiAqIEJhc2UgY2xhc3MgZm9yIGNvbW1hbmRzLlxuICpcbiAqIEB0eXBlUGFyYW0gVFBsdWdpbiAtIFRoZSB0eXBlIG9mIHRoZSBwbHVnaW4gdGhhdCB0aGUgY29tbWFuZCBiZWxvbmdzIHRvLlxuICovXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgQ29tbWFuZEJhc2U8VFBsdWdpbiBleHRlbmRzIFBsdWdpbj4gaW1wbGVtZW50cyBDb21tYW5kIHtcbiAgLyoqXG4gICAqIFRoZSBpY29uIG9mIHRoZSBjb21tYW5kLlxuICAgKi9cbiAgcHVibGljIGljb246IEljb25OYW1lO1xuXG4gIC8qKlxuICAgKiBUaGUgSUQgb2YgdGhlIGNvbW1hbmQuXG4gICAqXG4gICAqIE9ic2lkaWFuIGNoYW5nZXMgdGhlIHBhc3NlZCBJRCBieSBwcmVwZW5kaW5nIHRoZSBwbHVnaW4ncyBJRCB0byBpdC5cbiAgICpcbiAgICogQHNlZSB7QGxpbmsgb3JpZ2luYWxJZH0uXG4gICAqL1xuICBwdWJsaWMgaWQ6IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIG5hbWUgb2YgdGhlIGNvbW1hbmQuXG4gICAqXG4gICAqIE9ic2lkaWFuIGNoYW5nZXMgdGhlIHBhc3NlZCBuYW1lIGJ5IHByZXBlbmRpbmcgdGhlIHBsdWdpbidzIG5hbWUgdG8gaXQuXG4gICAqXG4gICAqIEBzZWUge0BsaW5rIG9yaWdpbmFsTmFtZX0uXG4gICAqL1xuICBwdWJsaWMgbmFtZTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgYXBwIHRoYXQgdGhlIGNvbW1hbmQgYmVsb25ncyB0by5cbiAgICovXG4gIHByb3RlY3RlZCByZWFkb25seSBhcHA6IEFwcDtcblxuICAvKipcbiAgICogVGhlIG9yaWdpbmFsIElEIG9mIHRoZSBjb21tYW5kLlxuICAgKi9cbiAgcHJvdGVjdGVkIHJlYWRvbmx5IG9yaWdpbmFsSWQ6IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIG9yaWdpbmFsIG5hbWUgb2YgdGhlIGNvbW1hbmQuXG4gICAqL1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgb3JpZ2luYWxOYW1lOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBwbHVnaW4gdGhhdCB0aGUgY29tbWFuZCBiZWxvbmdzIHRvLlxuICAgKi9cbiAgcHJvdGVjdGVkIHJlYWRvbmx5IHBsdWdpbjogVFBsdWdpbjtcblxuICAvKipcbiAgICogQ3JlYXRlcyBhIG5ldyBjb21tYW5kLlxuICAgKlxuICAgKiBAcGFyYW0gb3B0aW9ucyAtIFRoZSBvcHRpb25zIGZvciB0aGUgY29tbWFuZC5cbiAgICovXG4gIHB1YmxpYyBjb25zdHJ1Y3RvcihvcHRpb25zOiBDb21tYW5kQmFzZU9wdGlvbnM8VFBsdWdpbj4pIHtcbiAgICB0aGlzLmlkID0gb3B0aW9ucy5pZDtcbiAgICB0aGlzLm5hbWUgPSBvcHRpb25zLm5hbWU7XG4gICAgdGhpcy5pY29uID0gb3B0aW9ucy5pY29uO1xuICAgIHRoaXMucGx1Z2luID0gb3B0aW9ucy5wbHVnaW47XG4gICAgdGhpcy5hcHAgPSB0aGlzLnBsdWdpbi5hcHA7XG4gICAgdGhpcy5vcmlnaW5hbElkID0gdGhpcy5pZDtcbiAgICB0aGlzLm9yaWdpbmFsTmFtZSA9IHRoaXMubmFtZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZWdpc3RlcnMgdGhlIGNvbW1hbmQuXG4gICAqL1xuICBwdWJsaWMgcmVnaXN0ZXIoKTogdm9pZCB7XG4gICAgdGhpcy5wbHVnaW4uYWRkQ29tbWFuZCh0aGlzKTtcbiAgfVxufVxuXG4vKipcbiAqIEJhc2UgY2xhc3MgZm9yIGNvbW1hbmQgaW52b2NhdGlvbnMuXG4gKlxuICogQHR5cGVQYXJhbSBUUGx1Z2luIC0gVGhlIHR5cGUgb2YgdGhlIHBsdWdpbiB0aGF0IHRoZSBjb21tYW5kIGJlbG9uZ3MgdG8uXG4gKi9cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBDb21tYW5kSW52b2NhdGlvbkJhc2U8VFBsdWdpbiBleHRlbmRzIFBsdWdpbiA9IFBsdWdpbj4ge1xuICAvKipcbiAgICogVGhlIGFwcCB0aGF0IHRoZSBjb21tYW5kIGludm9jYXRpb24gYmVsb25ncyB0by5cbiAgICovXG4gIHByb3RlY3RlZCByZWFkb25seSBhcHA6IEFwcDtcblxuICBwcml2YXRlIGxhc3RDYW5FeGVjdXRlUmVzdWx0PzogYm9vbGVhbjtcblxuICAvKipcbiAgICogQ3JlYXRlcyBhIG5ldyBjb21tYW5kIGludm9jYXRpb24uXG4gICAqXG4gICAqIEBwYXJhbSBwbHVnaW4gLSBUaGUgcGx1Z2luIHRoYXQgdGhlIGNvbW1hbmQgaW52b2NhdGlvbiBiZWxvbmdzIHRvLlxuICAgKi9cbiAgcHVibGljIGNvbnN0cnVjdG9yKHByb3RlY3RlZCByZWFkb25seSBwbHVnaW46IFRQbHVnaW4pIHtcbiAgICB0aGlzLmFwcCA9IHBsdWdpbi5hcHA7XG4gIH1cblxuICAvKipcbiAgICogSW52b2tlcyB0aGUgY29tbWFuZC5cbiAgICpcbiAgICogQHBhcmFtIGNoZWNraW5nIC0gSXMgY2hlY2tpbmcgbW9kZSBvbmx5LiBJZiBgdHJ1ZWAsIG9ubHkgdGhlIGNoZWNrIGlmIHRoZSBjb21tYW5kIGNhbiBleGVjdXRlIGlzIHBlcmZvcm1lZC4gSWYgYGZhbHNlYCwgdGhlIGNvbW1hbmQgaXMgZXhlY3V0ZWQuXG4gICAqIEByZXR1cm5zIFdoZXRoZXIgdGhlIGNvbW1hbmQgd2FzIGV4ZWN1dGVkLlxuICAgKi9cbiAgcHVibGljIGludm9rZShjaGVja2luZzogYm9vbGVhbik6IGJvb2xlYW4ge1xuICAgIHRoaXMubGFzdENhbkV4ZWN1dGVSZXN1bHQgPSB0aGlzLmNhbkV4ZWN1dGUoKTtcbiAgICBpZiAoIWNoZWNraW5nICYmIHRoaXMubGFzdENhbkV4ZWN1dGVSZXN1bHQpIHtcbiAgICAgIGludm9rZUFzeW5jU2FmZWx5KCgpID0+IHRoaXMuZXhlY3V0ZSgpKTtcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5sYXN0Q2FuRXhlY3V0ZVJlc3VsdDtcbiAgfVxuXG4gIC8qKlxuICAgKiBDaGVja3MgaWYgdGhlIGNvbW1hbmQgY2FuIGV4ZWN1dGUuXG4gICAqXG4gICAqIEByZXR1cm5zIFdoZXRoZXIgdGhlIGNvbW1hbmQgY2FuIGV4ZWN1dGUuXG4gICAqL1xuICBwcm90ZWN0ZWQgY2FuRXhlY3V0ZSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBFeGVjdXRlcyB0aGUgY29tbWFuZC5cbiAgICovXG4gIHByb3RlY3RlZCBhc3luYyBleGVjdXRlKCk6IFByb21pc2U8dm9pZD4ge1xuICAgIGlmICh0aGlzLmxhc3RDYW5FeGVjdXRlUmVzdWx0ID09PSB1bmRlZmluZWQpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignY2FuRXhlY3V0ZSgpIG11c3QgYmUgY2FsbGVkIGJlZm9yZSBleGVjdXRlKCknKTtcbiAgICB9XG4gICAgaWYgKCF0aGlzLmxhc3RDYW5FeGVjdXRlUmVzdWx0KSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ2NhbkV4ZWN1dGUoKSBtdXN0IHJldHVybiB0cnVlIGJlZm9yZSBleGVjdXRlKCknKTtcbiAgICB9XG4gICAgYXdhaXQgUHJvbWlzZS5yZXNvbHZlKCk7XG4gIH1cbn1cbiJdLAogICJtYXBwaW5ncyI6ICI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQWFBLFNBQVMseUJBQXlCO0FBa0MzQixNQUFlLFlBQXVEO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFJcEU7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBU0E7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBU0E7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQUtZO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFLQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBS0E7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQUtBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBT1osWUFBWSxTQUFzQztBQUN2RCxTQUFLLEtBQUssUUFBUTtBQUNsQixTQUFLLE9BQU8sUUFBUTtBQUNwQixTQUFLLE9BQU8sUUFBUTtBQUNwQixTQUFLLFNBQVMsUUFBUTtBQUN0QixTQUFLLE1BQU0sS0FBSyxPQUFPO0FBQ3ZCLFNBQUssYUFBYSxLQUFLO0FBQ3ZCLFNBQUssZUFBZSxLQUFLO0FBQUEsRUFDM0I7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQUtPLFdBQWlCO0FBQ3RCLFNBQUssT0FBTyxXQUFXLElBQUk7QUFBQSxFQUM3QjtBQUNGO0FBT08sTUFBZSxzQkFBdUQ7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFhcEUsWUFBK0IsUUFBaUI7QUFBakI7QUFDcEMsU0FBSyxNQUFNLE9BQU87QUFBQSxFQUNwQjtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBWG1CO0FBQUEsRUFFWDtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBaUJELE9BQU8sVUFBNEI7QUFDeEMsU0FBSyx1QkFBdUIsS0FBSyxXQUFXO0FBQzVDLFFBQUksQ0FBQyxZQUFZLEtBQUssc0JBQXNCO0FBQzFDLHdCQUFrQixNQUFNLEtBQUssUUFBUSxDQUFDO0FBQUEsSUFDeEM7QUFFQSxXQUFPLEtBQUs7QUFBQSxFQUNkO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBT1UsYUFBc0I7QUFDOUIsV0FBTztBQUFBLEVBQ1Q7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQUtBLE1BQWdCLFVBQXlCO0FBQ3ZDLFFBQUksS0FBSyx5QkFBeUIsUUFBVztBQUMzQyxZQUFNLElBQUksTUFBTSw4Q0FBOEM7QUFBQSxJQUNoRTtBQUNBLFFBQUksQ0FBQyxLQUFLLHNCQUFzQjtBQUM5QixZQUFNLElBQUksTUFBTSxnREFBZ0Q7QUFBQSxJQUNsRTtBQUNBLFVBQU0sUUFBUSxRQUFRO0FBQUEsRUFDeEI7QUFDRjsiLAogICJuYW1lcyI6IFtdCn0K
146
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vLi4vc3JjL29ic2lkaWFuL0NvbW1hbmRzL0NvbW1hbmRCYXNlLnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyIvKipcbiAqIEBwYWNrYWdlRG9jdW1lbnRhdGlvblxuICpcbiAqIEJhc2UgY2xhc3NlcyBmb3IgY29tbWFuZHMuXG4gKi9cblxuaW1wb3J0IHR5cGUge1xuICBBcHAsXG4gIENvbW1hbmQsXG4gIEljb25OYW1lLFxuICBQbHVnaW5cbn0gZnJvbSAnb2JzaWRpYW4nO1xuXG5pbXBvcnQgeyBpbnZva2VBc3luY1NhZmVseSB9IGZyb20gJy4uLy4uL0FzeW5jLnRzJztcblxuLyoqXG4gKiBPcHRpb25zIGZvciBjcmVhdGluZyBhIGNvbW1hbmQuXG4gKlxuICogQHR5cGVQYXJhbSBUUGx1Z2luIC0gVGhlIHR5cGUgb2YgdGhlIHBsdWdpbiB0aGF0IHRoZSBjb21tYW5kIGJlbG9uZ3MgdG8uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQ29tbWFuZEJhc2VPcHRpb25zPFRQbHVnaW4gZXh0ZW5kcyBQbHVnaW4+IHtcbiAgLyoqXG4gICAqIFRoZSBpY29uIHRvIHVzZSBmb3IgdGhlIGNvbW1hbmQuXG4gICAqL1xuICBpY29uOiBJY29uTmFtZTtcblxuICAvKipcbiAgICogVGhlIElEIG9mIHRoZSBjb21tYW5kLlxuICAgKi9cbiAgaWQ6IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIG5hbWUgb2YgdGhlIGNvbW1hbmQuXG4gICAqL1xuICBuYW1lOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBwbHVnaW4gdGhhdCB0aGUgY29tbWFuZCBiZWxvbmdzIHRvLlxuICAgKi9cbiAgcGx1Z2luOiBUUGx1Z2luO1xufVxuXG4vKipcbiAqIEJhc2UgY2xhc3MgZm9yIGNvbW1hbmRzLlxuICpcbiAqIEB0eXBlUGFyYW0gVFBsdWdpbiAtIFRoZSB0eXBlIG9mIHRoZSBwbHVnaW4gdGhhdCB0aGUgY29tbWFuZCBiZWxvbmdzIHRvLlxuICovXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgQ29tbWFuZEJhc2U8VFBsdWdpbiBleHRlbmRzIFBsdWdpbj4gaW1wbGVtZW50cyBDb21tYW5kIHtcbiAgLyoqXG4gICAqIFRoZSBpY29uIG9mIHRoZSBjb21tYW5kLlxuICAgKi9cbiAgcHVibGljIGljb246IEljb25OYW1lO1xuXG4gIC8qKlxuICAgKiBUaGUgSUQgb2YgdGhlIGNvbW1hbmQuXG4gICAqXG4gICAqIE9ic2lkaWFuIGNoYW5nZXMgdGhlIHBhc3NlZCBJRCBieSBwcmVwZW5kaW5nIHRoZSBwbHVnaW4ncyBJRCB0byBpdC5cbiAgICpcbiAgICogQHNlZSB7QGxpbmsgb3JpZ2luYWxJZH0uXG4gICAqL1xuICBwdWJsaWMgaWQ6IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIG5hbWUgb2YgdGhlIGNvbW1hbmQuXG4gICAqXG4gICAqIE9ic2lkaWFuIGNoYW5nZXMgdGhlIHBhc3NlZCBuYW1lIGJ5IHByZXBlbmRpbmcgdGhlIHBsdWdpbidzIG5hbWUgdG8gaXQuXG4gICAqXG4gICAqIEBzZWUge0BsaW5rIG9yaWdpbmFsTmFtZX0uXG4gICAqL1xuICBwdWJsaWMgbmFtZTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgYXBwIHRoYXQgdGhlIGNvbW1hbmQgYmVsb25ncyB0by5cbiAgICovXG4gIHByb3RlY3RlZCByZWFkb25seSBhcHA6IEFwcDtcblxuICAvKipcbiAgICogVGhlIG9yaWdpbmFsIElEIG9mIHRoZSBjb21tYW5kLlxuICAgKi9cbiAgcHJvdGVjdGVkIHJlYWRvbmx5IG9yaWdpbmFsSWQ6IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIG9yaWdpbmFsIG5hbWUgb2YgdGhlIGNvbW1hbmQuXG4gICAqL1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgb3JpZ2luYWxOYW1lOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBwbHVnaW4gdGhhdCB0aGUgY29tbWFuZCBiZWxvbmdzIHRvLlxuICAgKi9cbiAgcHJvdGVjdGVkIHJlYWRvbmx5IHBsdWdpbjogVFBsdWdpbjtcblxuICAvKipcbiAgICogQ3JlYXRlcyBhIG5ldyBjb21tYW5kLlxuICAgKlxuICAgKiBAcGFyYW0gb3B0aW9ucyAtIFRoZSBvcHRpb25zIGZvciB0aGUgY29tbWFuZC5cbiAgICovXG4gIHB1YmxpYyBjb25zdHJ1Y3RvcihvcHRpb25zOiBDb21tYW5kQmFzZU9wdGlvbnM8VFBsdWdpbj4pIHtcbiAgICB0aGlzLmlkID0gb3B0aW9ucy5pZDtcbiAgICB0aGlzLm5hbWUgPSBvcHRpb25zLm5hbWU7XG4gICAgdGhpcy5pY29uID0gb3B0aW9ucy5pY29uO1xuICAgIHRoaXMucGx1Z2luID0gb3B0aW9ucy5wbHVnaW47XG4gICAgdGhpcy5hcHAgPSB0aGlzLnBsdWdpbi5hcHA7XG4gICAgdGhpcy5vcmlnaW5hbElkID0gdGhpcy5pZDtcbiAgICB0aGlzLm9yaWdpbmFsTmFtZSA9IHRoaXMubmFtZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZWdpc3RlcnMgdGhlIGNvbW1hbmQuXG4gICAqL1xuICBwdWJsaWMgcmVnaXN0ZXIoKTogdm9pZCB7XG4gICAgdGhpcy5wbHVnaW4uYWRkQ29tbWFuZCh0aGlzKTtcbiAgfVxufVxuXG4vKipcbiAqIEJhc2UgY2xhc3MgZm9yIGNvbW1hbmQgaW52b2NhdGlvbnMuXG4gKlxuICogQHR5cGVQYXJhbSBUUGx1Z2luIC0gVGhlIHR5cGUgb2YgdGhlIHBsdWdpbiB0aGF0IHRoZSBjb21tYW5kIGJlbG9uZ3MgdG8uXG4gKi9cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBDb21tYW5kSW52b2NhdGlvbkJhc2U8VFBsdWdpbiBleHRlbmRzIFBsdWdpbiA9IFBsdWdpbj4ge1xuICAvKipcbiAgICogVGhlIGFwcCB0aGF0IHRoZSBjb21tYW5kIGludm9jYXRpb24gYmVsb25ncyB0by5cbiAgICovXG4gIHByb3RlY3RlZCByZWFkb25seSBhcHA6IEFwcDtcblxuICBwcml2YXRlIGxhc3RDYW5FeGVjdXRlUmVzdWx0PzogYm9vbGVhbjtcblxuICAvKipcbiAgICogQ3JlYXRlcyBhIG5ldyBjb21tYW5kIGludm9jYXRpb24uXG4gICAqXG4gICAqIEBwYXJhbSBwbHVnaW4gLSBUaGUgcGx1Z2luIHRoYXQgdGhlIGNvbW1hbmQgaW52b2NhdGlvbiBiZWxvbmdzIHRvLlxuICAgKi9cbiAgcHVibGljIGNvbnN0cnVjdG9yKHByb3RlY3RlZCByZWFkb25seSBwbHVnaW46IFRQbHVnaW4pIHtcbiAgICB0aGlzLmFwcCA9IHBsdWdpbi5hcHA7XG4gIH1cblxuICAvKipcbiAgICogSW52b2tlcyB0aGUgY29tbWFuZC5cbiAgICpcbiAgICogQHBhcmFtIGNoZWNraW5nIC0gSXMgY2hlY2tpbmcgbW9kZSBvbmx5LiBJZiBgdHJ1ZWAsIG9ubHkgdGhlIGNoZWNrIGlmIHRoZSBjb21tYW5kIGNhbiBleGVjdXRlIGlzIHBlcmZvcm1lZC4gSWYgYGZhbHNlYCwgdGhlIGNvbW1hbmQgaXMgZXhlY3V0ZWQuXG4gICAqIEByZXR1cm5zIFdoZXRoZXIgdGhlIGNvbW1hbmQgd2FzIGV4ZWN1dGVkLlxuICAgKi9cbiAgcHVibGljIGludm9rZShjaGVja2luZzogYm9vbGVhbik6IGJvb2xlYW4ge1xuICAgIHRoaXMubGFzdENhbkV4ZWN1dGVSZXN1bHQgPSB0aGlzLmNhbkV4ZWN1dGUoKTtcbiAgICBpZiAoIWNoZWNraW5nICYmIHRoaXMubGFzdENhbkV4ZWN1dGVSZXN1bHQpIHtcbiAgICAgIGludm9rZUFzeW5jU2FmZWx5KCgpID0+IHRoaXMuZXhlY3V0ZSgpKTtcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5sYXN0Q2FuRXhlY3V0ZVJlc3VsdDtcbiAgfVxuXG4gIC8qKlxuICAgKiBJbnZva2VzIHRoZSBjb21tYW5kIGFzeW5jaHJvbm91c2x5LlxuICAgKlxuICAgKiBAcGFyYW0gY2hlY2tpbmcgLSBJcyBjaGVja2luZyBtb2RlIG9ubHkuIElmIGB0cnVlYCwgb25seSB0aGUgY2hlY2sgaWYgdGhlIGNvbW1hbmQgY2FuIGV4ZWN1dGUgaXMgcGVyZm9ybWVkLiBJZiBgZmFsc2VgLCB0aGUgY29tbWFuZCBpcyBleGVjdXRlZC5cbiAgICogQHJldHVybnMgQSBwcm9taXNlIHRoYXQgcmVzb2x2ZXMgd2hlbiB0aGUgY29tbWFuZCBoYXMgYmVlbiBleGVjdXRlZC5cbiAgICovXG4gIHB1YmxpYyBhc3luYyBpbnZva2VBc3luYyhjaGVja2luZzogYm9vbGVhbik6IFByb21pc2U8dm9pZD4ge1xuICAgIHRoaXMubGFzdENhbkV4ZWN1dGVSZXN1bHQgPSB0aGlzLmNhbkV4ZWN1dGUoKTtcbiAgICBpZiAoIWNoZWNraW5nICYmIHRoaXMubGFzdENhbkV4ZWN1dGVSZXN1bHQpIHtcbiAgICAgIGF3YWl0IHRoaXMuZXhlY3V0ZSgpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBDaGVja3MgaWYgdGhlIGNvbW1hbmQgY2FuIGV4ZWN1dGUuXG4gICAqXG4gICAqIEByZXR1cm5zIFdoZXRoZXIgdGhlIGNvbW1hbmQgY2FuIGV4ZWN1dGUuXG4gICAqL1xuICBwcm90ZWN0ZWQgY2FuRXhlY3V0ZSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdHJ1ZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBFeGVjdXRlcyB0aGUgY29tbWFuZC5cbiAgICovXG4gIHByb3RlY3RlZCBhc3luYyBleGVjdXRlKCk6IFByb21pc2U8dm9pZD4ge1xuICAgIGlmICh0aGlzLmxhc3RDYW5FeGVjdXRlUmVzdWx0ID09PSB1bmRlZmluZWQpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignY2FuRXhlY3V0ZSgpIG11c3QgYmUgY2FsbGVkIGJlZm9yZSBleGVjdXRlKCknKTtcbiAgICB9XG4gICAgaWYgKCF0aGlzLmxhc3RDYW5FeGVjdXRlUmVzdWx0KSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ2NhbkV4ZWN1dGUoKSBtdXN0IHJldHVybiB0cnVlIGJlZm9yZSBleGVjdXRlKCknKTtcbiAgICB9XG4gICAgYXdhaXQgUHJvbWlzZS5yZXNvbHZlKCk7XG4gIH1cbn1cbiJdLAogICJtYXBwaW5ncyI6ICI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQWFBLFNBQVMseUJBQXlCO0FBa0MzQixNQUFlLFlBQXVEO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFJcEU7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBU0E7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBU0E7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQUtZO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFLQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBS0E7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQUtBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBT1osWUFBWSxTQUFzQztBQUN2RCxTQUFLLEtBQUssUUFBUTtBQUNsQixTQUFLLE9BQU8sUUFBUTtBQUNwQixTQUFLLE9BQU8sUUFBUTtBQUNwQixTQUFLLFNBQVMsUUFBUTtBQUN0QixTQUFLLE1BQU0sS0FBSyxPQUFPO0FBQ3ZCLFNBQUssYUFBYSxLQUFLO0FBQ3ZCLFNBQUssZUFBZSxLQUFLO0FBQUEsRUFDM0I7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQUtPLFdBQWlCO0FBQ3RCLFNBQUssT0FBTyxXQUFXLElBQUk7QUFBQSxFQUM3QjtBQUNGO0FBT08sTUFBZSxzQkFBdUQ7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFhcEUsWUFBK0IsUUFBaUI7QUFBakI7QUFDcEMsU0FBSyxNQUFNLE9BQU87QUFBQSxFQUNwQjtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBWG1CO0FBQUEsRUFFWDtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBaUJELE9BQU8sVUFBNEI7QUFDeEMsU0FBSyx1QkFBdUIsS0FBSyxXQUFXO0FBQzVDLFFBQUksQ0FBQyxZQUFZLEtBQUssc0JBQXNCO0FBQzFDLHdCQUFrQixNQUFNLEtBQUssUUFBUSxDQUFDO0FBQUEsSUFDeEM7QUFFQSxXQUFPLEtBQUs7QUFBQSxFQUNkO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFRQSxNQUFhLFlBQVksVUFBa0M7QUFDekQsU0FBSyx1QkFBdUIsS0FBSyxXQUFXO0FBQzVDLFFBQUksQ0FBQyxZQUFZLEtBQUssc0JBQXNCO0FBQzFDLFlBQU0sS0FBSyxRQUFRO0FBQUEsSUFDckI7QUFBQSxFQUNGO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBT1UsYUFBc0I7QUFDOUIsV0FBTztBQUFBLEVBQ1Q7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQUtBLE1BQWdCLFVBQXlCO0FBQ3ZDLFFBQUksS0FBSyx5QkFBeUIsUUFBVztBQUMzQyxZQUFNLElBQUksTUFBTSw4Q0FBOEM7QUFBQSxJQUNoRTtBQUNBLFFBQUksQ0FBQyxLQUFLLHNCQUFzQjtBQUM5QixZQUFNLElBQUksTUFBTSxnREFBZ0Q7QUFBQSxJQUNsRTtBQUNBLFVBQU0sUUFBUSxRQUFRO0FBQUEsRUFDeEI7QUFDRjsiLAogICJuYW1lcyI6IFtdCn0K
@@ -3,7 +3,7 @@
3
3
  *
4
4
  * Base classes for editor commands.
5
5
  */
6
- import type { Editor, MarkdownFileInfo, MarkdownView, Plugin, TFile } from 'obsidian';
6
+ import type { Editor, MarkdownFileInfo, Plugin, TFile } from 'obsidian';
7
7
  import { CommandBase, CommandInvocationBase } from './CommandBase.mjs';
8
8
  /**
9
9
  * Base class for editor commands.
@@ -27,7 +27,7 @@ export declare abstract class EditorCommandBase<TPlugin extends Plugin> extends
27
27
  * @param ctx - The context of the command.
28
28
  * @returns Whether the command can execute.
29
29
  */
30
- editorCheckCallback(checking: boolean, editor: Editor, ctx: MarkdownFileInfo | MarkdownView): boolean;
30
+ editorCheckCallback(checking: boolean, editor: Editor, ctx: MarkdownFileInfo): boolean;
31
31
  /**
32
32
  * Registers the command.
33
33
  */
@@ -39,7 +39,7 @@ export declare abstract class EditorCommandBase<TPlugin extends Plugin> extends
39
39
  * @param ctx - The context of the command.
40
40
  * @returns The command invocation.
41
41
  */
42
- protected abstract createEditorCommandInvocation(editor: Editor, ctx: MarkdownFileInfo | MarkdownView): CommandInvocationBase;
42
+ protected abstract createEditorCommandInvocation(editor: Editor, ctx: MarkdownFileInfo): CommandInvocationBase;
43
43
  /**
44
44
  * Checks if the command should be added to the command palette.
45
45
  *
@@ -53,7 +53,7 @@ export declare abstract class EditorCommandBase<TPlugin extends Plugin> extends
53
53
  * @param _ctx - The context of the command.
54
54
  * @returns Whether the command should be added to the editor menu.
55
55
  */
56
- protected shouldAddToEditorMenu(_editor: Editor, _ctx: MarkdownFileInfo | MarkdownView): boolean;
56
+ protected shouldAddToEditorMenu(_editor: Editor, _ctx: MarkdownFileInfo): boolean;
57
57
  private handleEditorMenu;
58
58
  }
59
59
  /**
@@ -63,7 +63,7 @@ export declare abstract class EditorCommandBase<TPlugin extends Plugin> extends
63
63
  */
64
64
  export declare class EditorCommandInvocationBase<TPlugin extends Plugin> extends CommandInvocationBase<TPlugin> {
65
65
  protected readonly editor: Editor;
66
- protected readonly ctx: MarkdownFileInfo | MarkdownView;
66
+ protected readonly ctx: MarkdownFileInfo;
67
67
  /**
68
68
  * The file to invoke the command for.
69
69
  *
@@ -71,7 +71,7 @@ export declare class EditorCommandInvocationBase<TPlugin extends Plugin> extends
71
71
  * @throws If the file is not set.
72
72
  */
73
73
  protected get file(): TFile;
74
- private _file?;
74
+ private readonly _file;
75
75
  /**
76
76
  * Creates a new editor command invocation.
77
77
  *
@@ -79,7 +79,7 @@ export declare class EditorCommandInvocationBase<TPlugin extends Plugin> extends
79
79
  * @param editor - The editor to create the command invocation for.
80
80
  * @param ctx - The context of the command.
81
81
  */
82
- constructor(plugin: TPlugin, editor: Editor, ctx: MarkdownFileInfo | MarkdownView);
82
+ constructor(plugin: TPlugin, editor: Editor, ctx: MarkdownFileInfo);
83
83
  /**
84
84
  * Checks if the command can execute.
85
85
  *
@@ -95,6 +95,7 @@ class EditorCommandInvocationBase extends CommandInvocationBase {
95
95
  super(plugin);
96
96
  this.editor = editor;
97
97
  this.ctx = ctx;
98
+ this._file = ctx.file;
98
99
  }
99
100
  /**
100
101
  * The file to invoke the command for.
@@ -115,18 +116,11 @@ class EditorCommandInvocationBase extends CommandInvocationBase {
115
116
  * @returns Whether the command can execute.
116
117
  */
117
118
  canExecute() {
118
- if (!super.canExecute()) {
119
- return false;
120
- }
121
- if (!this.ctx.file) {
122
- return false;
123
- }
124
- this._file = this.ctx.file;
125
- return true;
119
+ return super.canExecute() && !!this._file;
126
120
  }
127
121
  }
128
122
  export {
129
123
  EditorCommandBase,
130
124
  EditorCommandInvocationBase
131
125
  };
132
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vLi4vc3JjL29ic2lkaWFuL0NvbW1hbmRzL0VkaXRvckNvbW1hbmRCYXNlLnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyIvKipcbiAqIEBwYWNrYWdlRG9jdW1lbnRhdGlvblxuICpcbiAqIEJhc2UgY2xhc3NlcyBmb3IgZWRpdG9yIGNvbW1hbmRzLlxuICovXG5cbmltcG9ydCB0eXBlIHtcbiAgRWRpdG9yLFxuICBNYXJrZG93bkZpbGVJbmZvLFxuICBNYXJrZG93blZpZXcsXG4gIE1lbnUsXG4gIFBsdWdpbixcbiAgVEZpbGVcbn0gZnJvbSAnb2JzaWRpYW4nO1xuXG5pbXBvcnQge1xuICBDb21tYW5kQmFzZSxcbiAgQ29tbWFuZEludm9jYXRpb25CYXNlXG59IGZyb20gJy4vQ29tbWFuZEJhc2UudHMnO1xuXG4vKipcbiAqIEJhc2UgY2xhc3MgZm9yIGVkaXRvciBjb21tYW5kcy5cbiAqXG4gKiBAdHlwZVBhcmFtIFRQbHVnaW4gLSBUaGUgdHlwZSBvZiB0aGUgcGx1Z2luIHRoYXQgdGhlIGNvbW1hbmQgYmVsb25ncyB0by5cbiAqL1xuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEVkaXRvckNvbW1hbmRCYXNlPFRQbHVnaW4gZXh0ZW5kcyBQbHVnaW4+IGV4dGVuZHMgQ29tbWFuZEJhc2U8VFBsdWdpbj4ge1xuICAvKipcbiAgICogVGhlIGl0ZW0gbmFtZSB0byB1c2UgaW4gdGhlIGVkaXRvciBtZW51LlxuICAgKi9cbiAgcHJvdGVjdGVkIHJlYWRvbmx5IGVkaXRvck1lbnVJdGVtTmFtZT86IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIHNlY3Rpb24gdG8gdXNlIGluIHRoZSBlZGl0b3IgbWVudS5cbiAgICovXG4gIHByb3RlY3RlZCByZWFkb25seSBlZGl0b3JNZW51U2VjdGlvbj86IHN0cmluZztcblxuICAvKipcbiAgICogQ2hlY2tzIGlmIHRoZSBjb21tYW5kIGNhbiBleGVjdXRlIG9yIGV4ZWN1dGVzIGl0LlxuICAgKlxuICAgKiBAcGFyYW0gY2hlY2tpbmcgLSBJcyBjaGVja2luZyBtb2RlIG9ubHkuIElmIGB0cnVlYCwgb25seSB0aGUgY2hlY2sgaWYgdGhlIGNvbW1hbmQgY2FuIGV4ZWN1dGUgaXMgcGVyZm9ybWVkLiBJZiBgZmFsc2VgLCB0aGUgY29tbWFuZCBpcyBleGVjdXRlZC5cbiAgICogQHBhcmFtIGVkaXRvciAtIFRoZSBlZGl0b3IgdG8gY2hlY2suXG4gICAqIEBwYXJhbSBjdHggLSBUaGUgY29udGV4dCBvZiB0aGUgY29tbWFuZC5cbiAgICogQHJldHVybnMgV2hldGhlciB0aGUgY29tbWFuZCBjYW4gZXhlY3V0ZS5cbiAgICovXG4gIHB1YmxpYyBlZGl0b3JDaGVja0NhbGxiYWNrKGNoZWNraW5nOiBib29sZWFuLCBlZGl0b3I6IEVkaXRvciwgY3R4OiBNYXJrZG93bkZpbGVJbmZvIHwgTWFya2Rvd25WaWV3KTogYm9vbGVhbiB7XG4gICAgaWYgKCF0aGlzLnNob3VsZEFkZFRvQ29tbWFuZFBhbGV0dGUoKSkge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5jcmVhdGVFZGl0b3JDb21tYW5kSW52b2NhdGlvbihlZGl0b3IsIGN0eCkuaW52b2tlKGNoZWNraW5nKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZWdpc3RlcnMgdGhlIGNvbW1hbmQuXG4gICAqL1xuICBwdWJsaWMgb3ZlcnJpZGUgcmVnaXN0ZXIoKTogdm9pZCB7XG4gICAgc3VwZXIucmVnaXN0ZXIoKTtcbiAgICB0aGlzLnBsdWdpbi5yZWdpc3RlckV2ZW50KHRoaXMuYXBwLndvcmtzcGFjZS5vbignZWRpdG9yLW1lbnUnLCB0aGlzLmhhbmRsZUVkaXRvck1lbnUuYmluZCh0aGlzKSkpO1xuICB9XG5cbiAgLyoqXG4gICAqIENyZWF0ZXMgYSBuZXcgZWRpdG9yIGNvbW1hbmQgaW52b2NhdGlvbi5cbiAgICpcbiAgICogQHBhcmFtIGVkaXRvciAtIFRoZSBlZGl0b3IgdG8gY3JlYXRlIHRoZSBjb21tYW5kIGludm9jYXRpb24gZm9yLlxuICAgKiBAcGFyYW0gY3R4IC0gVGhlIGNvbnRleHQgb2YgdGhlIGNvbW1hbmQuXG4gICAqIEByZXR1cm5zIFRoZSBjb21tYW5kIGludm9jYXRpb24uXG4gICAqL1xuICBwcm90ZWN0ZWQgYWJzdHJhY3QgY3JlYXRlRWRpdG9yQ29tbWFuZEludm9jYXRpb24oZWRpdG9yOiBFZGl0b3IsIGN0eDogTWFya2Rvd25GaWxlSW5mbyB8IE1hcmtkb3duVmlldyk6IENvbW1hbmRJbnZvY2F0aW9uQmFzZTtcblxuICAvKipcbiAgICogQ2hlY2tzIGlmIHRoZSBjb21tYW5kIHNob3VsZCBiZSBhZGRlZCB0byB0aGUgY29tbWFuZCBwYWxldHRlLlxuICAgKlxuICAgKiBAcmV0dXJucyBXaGV0aGVyIHRoZSBjb21tYW5kIHNob3VsZCBiZSBhZGRlZCB0byB0aGUgY29tbWFuZCBwYWxldHRlLlxuICAgKi9cbiAgcHJvdGVjdGVkIHNob3VsZEFkZFRvQ29tbWFuZFBhbGV0dGUoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRydWU7XG4gIH1cblxuICAvKipcbiAgICogQ2hlY2tzIGlmIHRoZSBjb21tYW5kIHNob3VsZCBiZSBhZGRlZCB0byB0aGUgZWRpdG9yIG1lbnUuXG4gICAqXG4gICAqIEBwYXJhbSBfZWRpdG9yIC0gVGhlIGVkaXRvciB0byBjaGVjay5cbiAgICogQHBhcmFtIF9jdHggLSBUaGUgY29udGV4dCBvZiB0aGUgY29tbWFuZC5cbiAgICogQHJldHVybnMgV2hldGhlciB0aGUgY29tbWFuZCBzaG91bGQgYmUgYWRkZWQgdG8gdGhlIGVkaXRvciBtZW51LlxuICAgKi9cbiAgcHJvdGVjdGVkIHNob3VsZEFkZFRvRWRpdG9yTWVudShfZWRpdG9yOiBFZGl0b3IsIF9jdHg6IE1hcmtkb3duRmlsZUluZm8gfCBNYXJrZG93blZpZXcpOiBib29sZWFuIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cblxuICBwcml2YXRlIGhhbmRsZUVkaXRvck1lbnUobWVudTogTWVudSwgZWRpdG9yOiBFZGl0b3IsIGN0eDogTWFya2Rvd25GaWxlSW5mbyB8IE1hcmtkb3duVmlldyk6IHZvaWQge1xuICAgIGlmICghdGhpcy5zaG91bGRBZGRUb0VkaXRvck1lbnUoZWRpdG9yLCBjdHgpKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKCF0aGlzLmNyZWF0ZUVkaXRvckNvbW1hbmRJbnZvY2F0aW9uKGVkaXRvciwgY3R4KS5pbnZva2UodHJ1ZSkpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBtZW51LmFkZEl0ZW0oKGl0ZW0pID0+IHtcbiAgICAgIGl0ZW1cbiAgICAgICAgLnNldFRpdGxlKHRoaXMuZWRpdG9yTWVudUl0ZW1OYW1lID8/IHRoaXMub3JpZ2luYWxOYW1lKVxuICAgICAgICAuc2V0SWNvbih0aGlzLmljb24pXG4gICAgICAgIC5zZXRTZWN0aW9uKHRoaXMuZWRpdG9yTWVudVNlY3Rpb24gPz8gJycpXG4gICAgICAgIC5vbkNsaWNrKCgpID0+IHRoaXMuY3JlYXRlRWRpdG9yQ29tbWFuZEludm9jYXRpb24oZWRpdG9yLCBjdHgpLmludm9rZShmYWxzZSkpO1xuICAgIH0pO1xuICB9XG59XG5cbi8qKlxuICogQmFzZSBjbGFzcyBmb3IgZWRpdG9yIGNvbW1hbmQgaW52b2NhdGlvbnMuXG4gKlxuICogQHR5cGVQYXJhbSBUUGx1Z2luIC0gVGhlIHR5cGUgb2YgdGhlIHBsdWdpbiB0aGF0IHRoZSBjb21tYW5kIGJlbG9uZ3MgdG8uXG4gKi9cbmV4cG9ydCBjbGFzcyBFZGl0b3JDb21tYW5kSW52b2NhdGlvbkJhc2U8VFBsdWdpbiBleHRlbmRzIFBsdWdpbj4gZXh0ZW5kcyBDb21tYW5kSW52b2NhdGlvbkJhc2U8VFBsdWdpbj4ge1xuICAvKipcbiAgICogVGhlIGZpbGUgdG8gaW52b2tlIHRoZSBjb21tYW5kIGZvci5cbiAgICpcbiAgICogQHJldHVybnMgVGhlIGZpbGUgdG8gaW52b2tlIHRoZSBjb21tYW5kIGZvci5cbiAgICogQHRocm93cyBJZiB0aGUgZmlsZSBpcyBub3Qgc2V0LlxuICAgKi9cbiAgcHJvdGVjdGVkIGdldCBmaWxlKCk6IFRGaWxlIHtcbiAgICBpZiAoIXRoaXMuX2ZpbGUpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignRmlsZSBub3Qgc2V0Jyk7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLl9maWxlO1xuICB9XG5cbiAgcHJpdmF0ZSBfZmlsZT86IFRGaWxlO1xuXG4gIC8qKlxuICAgKiBDcmVhdGVzIGEgbmV3IGVkaXRvciBjb21tYW5kIGludm9jYXRpb24uXG4gICAqXG4gICAqIEBwYXJhbSBwbHVnaW4gLSBUaGUgcGx1Z2luIHRoYXQgdGhlIGNvbW1hbmQgaW52b2NhdGlvbiBiZWxvbmdzIHRvLlxuICAgKiBAcGFyYW0gZWRpdG9yIC0gVGhlIGVkaXRvciB0byBjcmVhdGUgdGhlIGNvbW1hbmQgaW52b2NhdGlvbiBmb3IuXG4gICAqIEBwYXJhbSBjdHggLSBUaGUgY29udGV4dCBvZiB0aGUgY29tbWFuZC5cbiAgICovXG4gIHB1YmxpYyBjb25zdHJ1Y3RvcihwbHVnaW46IFRQbHVnaW4sIHByb3RlY3RlZCByZWFkb25seSBlZGl0b3I6IEVkaXRvciwgcHJvdGVjdGVkIHJlYWRvbmx5IGN0eDogTWFya2Rvd25GaWxlSW5mbyB8IE1hcmtkb3duVmlldykge1xuICAgIHN1cGVyKHBsdWdpbik7XG4gIH1cblxuICAvKipcbiAgICogQ2hlY2tzIGlmIHRoZSBjb21tYW5kIGNhbiBleGVjdXRlLlxuICAgKlxuICAgKiBAcmV0dXJucyBXaGV0aGVyIHRoZSBjb21tYW5kIGNhbiBleGVjdXRlLlxuICAgKi9cbiAgcHVibGljIG92ZXJyaWRlIGNhbkV4ZWN1dGUoKTogYm9vbGVhbiB7XG4gICAgaWYgKCFzdXBlci5jYW5FeGVjdXRlKCkpIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG5cbiAgICBpZiAoIXRoaXMuY3R4LmZpbGUpIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG5cbiAgICB0aGlzLl9maWxlID0g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
126
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vLi4vc3JjL29ic2lkaWFuL0NvbW1hbmRzL0VkaXRvckNvbW1hbmRCYXNlLnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyIvKipcbiAqIEBwYWNrYWdlRG9jdW1lbnRhdGlvblxuICpcbiAqIEJhc2UgY2xhc3NlcyBmb3IgZWRpdG9yIGNvbW1hbmRzLlxuICovXG5cbmltcG9ydCB0eXBlIHtcbiAgRWRpdG9yLFxuICBNYXJrZG93bkZpbGVJbmZvLFxuICBNZW51LFxuICBQbHVnaW4sXG4gIFRGaWxlXG59IGZyb20gJ29ic2lkaWFuJztcblxuaW1wb3J0IHtcbiAgQ29tbWFuZEJhc2UsXG4gIENvbW1hbmRJbnZvY2F0aW9uQmFzZVxufSBmcm9tICcuL0NvbW1hbmRCYXNlLnRzJztcblxuLyoqXG4gKiBCYXNlIGNsYXNzIGZvciBlZGl0b3IgY29tbWFuZHMuXG4gKlxuICogQHR5cGVQYXJhbSBUUGx1Z2luIC0gVGhlIHR5cGUgb2YgdGhlIHBsdWdpbiB0aGF0IHRoZSBjb21tYW5kIGJlbG9uZ3MgdG8uXG4gKi9cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBFZGl0b3JDb21tYW5kQmFzZTxUUGx1Z2luIGV4dGVuZHMgUGx1Z2luPiBleHRlbmRzIENvbW1hbmRCYXNlPFRQbHVnaW4+IHtcbiAgLyoqXG4gICAqIFRoZSBpdGVtIG5hbWUgdG8gdXNlIGluIHRoZSBlZGl0b3IgbWVudS5cbiAgICovXG4gIHByb3RlY3RlZCByZWFkb25seSBlZGl0b3JNZW51SXRlbU5hbWU/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBzZWN0aW9uIHRvIHVzZSBpbiB0aGUgZWRpdG9yIG1lbnUuXG4gICAqL1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgZWRpdG9yTWVudVNlY3Rpb24/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIENoZWNrcyBpZiB0aGUgY29tbWFuZCBjYW4gZXhlY3V0ZSBvciBleGVjdXRlcyBpdC5cbiAgICpcbiAgICogQHBhcmFtIGNoZWNraW5nIC0gSXMgY2hlY2tpbmcgbW9kZSBvbmx5LiBJZiBgdHJ1ZWAsIG9ubHkgdGhlIGNoZWNrIGlmIHRoZSBjb21tYW5kIGNhbiBleGVjdXRlIGlzIHBlcmZvcm1lZC4gSWYgYGZhbHNlYCwgdGhlIGNvbW1hbmQgaXMgZXhlY3V0ZWQuXG4gICAqIEBwYXJhbSBlZGl0b3IgLSBUaGUgZWRpdG9yIHRvIGNoZWNrLlxuICAgKiBAcGFyYW0gY3R4IC0gVGhlIGNvbnRleHQgb2YgdGhlIGNvbW1hbmQuXG4gICAqIEByZXR1cm5zIFdoZXRoZXIgdGhlIGNvbW1hbmQgY2FuIGV4ZWN1dGUuXG4gICAqL1xuICBwdWJsaWMgZWRpdG9yQ2hlY2tDYWxsYmFjayhjaGVja2luZzogYm9vbGVhbiwgZWRpdG9yOiBFZGl0b3IsIGN0eDogTWFya2Rvd25GaWxlSW5mbyk6IGJvb2xlYW4ge1xuICAgIGlmICghdGhpcy5zaG91bGRBZGRUb0NvbW1hbmRQYWxldHRlKCkpIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuY3JlYXRlRWRpdG9yQ29tbWFuZEludm9jYXRpb24oZWRpdG9yLCBjdHgpLmludm9rZShjaGVja2luZyk7XG4gIH1cblxuICAvKipcbiAgICogUmVnaXN0ZXJzIHRoZSBjb21tYW5kLlxuICAgKi9cbiAgcHVibGljIG92ZXJyaWRlIHJlZ2lzdGVyKCk6IHZvaWQge1xuICAgIHN1cGVyLnJlZ2lzdGVyKCk7XG4gICAgdGhpcy5wbHVnaW4ucmVnaXN0ZXJFdmVudCh0aGlzLmFwcC53b3Jrc3BhY2Uub24oJ2VkaXRvci1tZW51JywgdGhpcy5oYW5kbGVFZGl0b3JNZW51LmJpbmQodGhpcykpKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDcmVhdGVzIGEgbmV3IGVkaXRvciBjb21tYW5kIGludm9jYXRpb24uXG4gICAqXG4gICAqIEBwYXJhbSBlZGl0b3IgLSBUaGUgZWRpdG9yIHRvIGNyZWF0ZSB0aGUgY29tbWFuZCBpbnZvY2F0aW9uIGZvci5cbiAgICogQHBhcmFtIGN0eCAtIFRoZSBjb250ZXh0IG9mIHRoZSBjb21tYW5kLlxuICAgKiBAcmV0dXJucyBUaGUgY29tbWFuZCBpbnZvY2F0aW9uLlxuICAgKi9cbiAgcHJvdGVjdGVkIGFic3RyYWN0IGNyZWF0ZUVkaXRvckNvbW1hbmRJbnZvY2F0aW9uKGVkaXRvcjogRWRpdG9yLCBjdHg6IE1hcmtkb3duRmlsZUluZm8pOiBDb21tYW5kSW52b2NhdGlvbkJhc2U7XG5cbiAgLyoqXG4gICAqIENoZWNrcyBpZiB0aGUgY29tbWFuZCBzaG91bGQgYmUgYWRkZWQgdG8gdGhlIGNvbW1hbmQgcGFsZXR0ZS5cbiAgICpcbiAgICogQHJldHVybnMgV2hldGhlciB0aGUgY29tbWFuZCBzaG91bGQgYmUgYWRkZWQgdG8gdGhlIGNvbW1hbmQgcGFsZXR0ZS5cbiAgICovXG4gIHByb3RlY3RlZCBzaG91bGRBZGRUb0NvbW1hbmRQYWxldHRlKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0cnVlO1xuICB9XG5cbiAgLyoqXG4gICAqIENoZWNrcyBpZiB0aGUgY29tbWFuZCBzaG91bGQgYmUgYWRkZWQgdG8gdGhlIGVkaXRvciBtZW51LlxuICAgKlxuICAgKiBAcGFyYW0gX2VkaXRvciAtIFRoZSBlZGl0b3IgdG8gY2hlY2suXG4gICAqIEBwYXJhbSBfY3R4IC0gVGhlIGNvbnRleHQgb2YgdGhlIGNvbW1hbmQuXG4gICAqIEByZXR1cm5zIFdoZXRoZXIgdGhlIGNvbW1hbmQgc2hvdWxkIGJlIGFkZGVkIHRvIHRoZSBlZGl0b3IgbWVudS5cbiAgICovXG4gIHByb3RlY3RlZCBzaG91bGRBZGRUb0VkaXRvck1lbnUoX2VkaXRvcjogRWRpdG9yLCBfY3R4OiBNYXJrZG93bkZpbGVJbmZvKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgcHJpdmF0ZSBoYW5kbGVFZGl0b3JNZW51KG1lbnU6IE1lbnUsIGVkaXRvcjogRWRpdG9yLCBjdHg6IE1hcmtkb3duRmlsZUluZm8pOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuc2hvdWxkQWRkVG9FZGl0b3JNZW51KGVkaXRvciwgY3R4KSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGlmICghdGhpcy5jcmVhdGVFZGl0b3JDb21tYW5kSW52b2NhdGlvbihlZGl0b3IsIGN0eCkuaW52b2tlKHRydWUpKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgbWVudS5hZGRJdGVtKChpdGVtKSA9PiB7XG4gICAgICBpdGVtXG4gICAgICAgIC5zZXRUaXRsZSh0aGlzLmVkaXRvck1lbnVJdGVtTmFtZSA/PyB0aGlzLm9yaWdpbmFsTmFtZSlcbiAgICAgICAgLnNldEljb24odGhpcy5pY29uKVxuICAgICAgICAuc2V0U2VjdGlvbih0aGlzLmVkaXRvck1lbnVTZWN0aW9uID8/ICcnKVxuICAgICAgICAub25DbGljaygoKSA9PiB0aGlzLmNyZWF0ZUVkaXRvckNvbW1hbmRJbnZvY2F0aW9uKGVkaXRvciwgY3R4KS5pbnZva2UoZmFsc2UpKTtcbiAgICB9KTtcbiAgfVxufVxuXG4vKipcbiAqIEJhc2UgY2xhc3MgZm9yIGVkaXRvciBjb21tYW5kIGludm9jYXRpb25zLlxuICpcbiAqIEB0eXBlUGFyYW0gVFBsdWdpbiAtIFRoZSB0eXBlIG9mIHRoZSBwbHVnaW4gdGhhdCB0aGUgY29tbWFuZCBiZWxvbmdzIHRvLlxuICovXG5leHBvcnQgY2xhc3MgRWRpdG9yQ29tbWFuZEludm9jYXRpb25CYXNlPFRQbHVnaW4gZXh0ZW5kcyBQbHVnaW4+IGV4dGVuZHMgQ29tbWFuZEludm9jYXRpb25CYXNlPFRQbHVnaW4+IHtcbiAgLyoqXG4gICAqIFRoZSBmaWxlIHRvIGludm9rZSB0aGUgY29tbWFuZCBmb3IuXG4gICAqXG4gICAqIEByZXR1cm5zIFRoZSBmaWxlIHRvIGludm9rZSB0aGUgY29tbWFuZCBmb3IuXG4gICAqIEB0aHJvd3MgSWYgdGhlIGZpbGUgaXMgbm90IHNldC5cbiAgICovXG4gIHByb3RlY3RlZCBnZXQgZmlsZSgpOiBURmlsZSB7XG4gICAgaWYgKCF0aGlzLl9maWxlKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ0ZpbGUgbm90IHNldCcpO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5fZmlsZTtcbiAgfVxuXG4gIHByaXZhdGUgcmVhZG9ubHkgX2ZpbGU6IG51bGwgfCBURmlsZTtcblxuICAvKipcbiAgICogQ3JlYXRlcyBhIG5ldyBlZGl0b3IgY29tbWFuZCBpbnZvY2F0aW9uLlxuICAgKlxuICAgKiBAcGFyYW0gcGx1Z2luIC0gVGhlIHBsdWdpbiB0aGF0IHRoZSBjb21tYW5kIGludm9jYXRpb24gYmVsb25ncyB0by5cbiAgICogQHBhcmFtIGVkaXRvciAtIFRoZSBlZGl0b3IgdG8gY3JlYXRlIHRoZSBjb21tYW5kIGludm9jYXRpb24gZm9yLlxuICAgKiBAcGFyYW0gY3R4IC0gVGhlIGNvbnRleHQgb2YgdGhlIGNvbW1hbmQuXG4gICAqL1xuICBwdWJsaWMgY29uc3RydWN0b3IocGx1Z2luOiBUUGx1Z2luLCBwcm90ZWN0ZWQgcmVhZG9ubHkgZWRpdG9yOiBFZGl0b3IsIHByb3RlY3RlZCByZWFkb25seSBjdHg6IE1hcmtkb3duRmlsZUluZm8pIHtcbiAgICBzdXBlcihwbHVnaW4pO1xuICAgIHRoaXMuX2ZpbGUgPSBjdHguZmlsZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDaGVja3MgaWYgdGhlIGNvbW1hbmQgY2FuIGV4ZWN1dGUuXG4gICAqXG4gICAqIEByZXR1cm5zIFdoZXRoZXIgdGhlIGNvbW1hbmQgY2FuIGV4ZWN1dGUuXG4gICAqL1xuICBwdWJsaWMgb3ZlcnJpZGUgY2FuRXhlY3V0ZSgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gc3VwZXIuY2FuRXhlY3V0ZSgpICYmICEhdGhpcy5fZmlsZTtcbiAgfVxufVxuIl0sCiAgIm1hcHBpbmdzIjogIjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBY0E7QUFBQSxFQUNFO0FBQUEsRUFDQTtBQUFBLE9BQ0s7QUFPQSxNQUFlLDBCQUFrRCxZQUFxQjtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBSXhFO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFLQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQVVaLG9CQUFvQixVQUFtQixRQUFnQixLQUFnQztBQUM1RixRQUFJLENBQUMsS0FBSywwQkFBMEIsR0FBRztBQUNyQyxhQUFPO0FBQUEsSUFDVDtBQUNBLFdBQU8sS0FBSyw4QkFBOEIsUUFBUSxHQUFHLEVBQUUsT0FBTyxRQUFRO0FBQUEsRUFDeEU7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQUtnQixXQUFpQjtBQUMvQixVQUFNLFNBQVM7QUFDZixTQUFLLE9BQU8sY0FBYyxLQUFLLElBQUksVUFBVSxHQUFHLGVBQWUsS0FBSyxpQkFBaUIsS0FBSyxJQUFJLENBQUMsQ0FBQztBQUFBLEVBQ2xHO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBZ0JVLDRCQUFxQztBQUM3QyxXQUFPO0FBQUEsRUFDVDtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFTVSxzQkFBc0IsU0FBaUIsTUFBaUM7QUFDaEYsV0FBTztBQUFBLEVBQ1Q7QUFBQSxFQUVRLGlCQUFpQixNQUFZLFFBQWdCLEtBQTZCO0FBQ2hGLFFBQUksQ0FBQyxLQUFLLHNCQUFzQixRQUFRLEdBQUcsR0FBRztBQUM1QztBQUFBLElBQ0Y7QUFFQSxRQUFJLENBQUMsS0FBSyw4QkFBOEIsUUFBUSxHQUFHLEVBQUUsT0FBTyxJQUFJLEdBQUc7QUFDakU7QUFBQSxJQUNGO0FBRUEsU0FBSyxRQUFRLENBQUMsU0FBUztBQUNyQixXQUNHLFNBQVMsS0FBSyxzQkFBc0IsS0FBSyxZQUFZLEVBQ3JELFFBQVEsS0FBSyxJQUFJLEVBQ2pCLFdBQVcsS0FBSyxxQkFBcUIsRUFBRSxFQUN2QyxRQUFRLE1BQU0sS0FBSyw4QkFBOEIsUUFBUSxHQUFHLEVBQUUsT0FBTyxLQUFLLENBQUM7QUFBQSxJQUNoRixDQUFDO0FBQUEsRUFDSDtBQUNGO0FBT08sTUFBTSxvQ0FBNEQsc0JBQStCO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQXVCL0YsWUFBWSxRQUFvQyxRQUFtQyxLQUF1QjtBQUMvRyxVQUFNLE1BQU07QUFEeUM7QUFBbUM7QUFFeEYsU0FBSyxRQUFRLElBQUk7QUFBQSxFQUNuQjtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBbkJBLElBQWMsT0FBYztBQUMxQixRQUFJLENBQUMsS0FBSyxPQUFPO0FBQ2YsWUFBTSxJQUFJLE1BQU0sY0FBYztBQUFBLElBQ2hDO0FBQ0EsV0FBTyxLQUFLO0FBQUEsRUFDZDtBQUFBLEVBRWlCO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBbUJELGFBQXNCO0FBQ3BDLFdBQU8sTUFBTSxXQUFXLEtBQUssQ0FBQyxDQUFDLEtBQUs7QUFBQSxFQUN0QztBQUNGOyIsCiAgIm5hbWVzIjogW10KfQo=