obsidian-dev-utils 67.0.0 → 69.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 (596) hide show
  1. package/CHANGELOG.md +24 -0
  2. package/dist/dev/main.js +487 -267
  3. package/dist/lib/cjs/@types/debug.d.cts +1 -0
  4. package/dist/lib/cjs/abort-controller.d.cts +1 -0
  5. package/dist/lib/cjs/array.d.cts +1 -0
  6. package/dist/lib/cjs/async-events.cjs +178 -18
  7. package/dist/lib/cjs/async-events.d.cts +261 -9
  8. package/dist/lib/cjs/async.d.cts +1 -0
  9. package/dist/lib/cjs/blob.d.cts +1 -0
  10. package/dist/lib/cjs/codemirror/index.d.cts +1 -0
  11. package/dist/lib/cjs/codemirror/state-field-spec.d.cts +1 -0
  12. package/dist/lib/cjs/css-class.d.cts +1 -0
  13. package/dist/lib/cjs/debug-controller.d.cts +1 -0
  14. package/dist/lib/cjs/debug.d.cts +1 -0
  15. package/dist/lib/cjs/enum.d.cts +1 -0
  16. package/dist/lib/cjs/error.cjs +6 -7
  17. package/dist/lib/cjs/error.d.cts +1 -0
  18. package/dist/lib/cjs/function.cjs +6 -2
  19. package/dist/lib/cjs/function.d.cts +7 -0
  20. package/dist/lib/cjs/html-element.d.cts +1 -0
  21. package/dist/lib/cjs/index.d.cts +1 -0
  22. package/dist/lib/cjs/library.cjs +1 -1
  23. package/dist/lib/cjs/library.d.cts +4 -0
  24. package/dist/lib/cjs/object-utils.cjs +1 -1
  25. package/dist/lib/cjs/object-utils.d.cts +3 -0
  26. package/dist/lib/cjs/obsidian/@types/dataview/api/data-array.d.cts +1 -0
  27. package/dist/lib/cjs/obsidian/@types/dataview/api/extensions.d.cts +1 -0
  28. package/dist/lib/cjs/obsidian/@types/dataview/api/inline-api.d.cts +1 -0
  29. package/dist/lib/cjs/obsidian/@types/dataview/api/plugin-api.d.cts +1 -0
  30. package/dist/lib/cjs/obsidian/@types/dataview/api/result.d.cts +1 -0
  31. package/dist/lib/cjs/obsidian/@types/dataview/data-import/common.d.cts +1 -0
  32. package/dist/lib/cjs/obsidian/@types/dataview/data-import/csv.d.cts +1 -0
  33. package/dist/lib/cjs/obsidian/@types/dataview/data-import/inline-field.d.cts +1 -0
  34. package/dist/lib/cjs/obsidian/@types/dataview/data-import/markdown-file.d.cts +1 -0
  35. package/dist/lib/cjs/obsidian/@types/dataview/data-import/persister.d.cts +1 -0
  36. package/dist/lib/cjs/obsidian/@types/dataview/data-import/web-worker/import-entry.d.cts +1 -0
  37. package/dist/lib/cjs/obsidian/@types/dataview/data-import/web-worker/import-impl.d.cts +1 -0
  38. package/dist/lib/cjs/obsidian/@types/dataview/data-import/web-worker/import-manager.d.cts +1 -0
  39. package/dist/lib/cjs/obsidian/@types/dataview/data-index/index.d.cts +1 -0
  40. package/dist/lib/cjs/obsidian/@types/dataview/data-index/resolver.d.cts +1 -0
  41. package/dist/lib/cjs/obsidian/@types/dataview/data-index/source.d.cts +1 -0
  42. package/dist/lib/cjs/obsidian/@types/dataview/data-model/markdown.d.cts +1 -0
  43. package/dist/lib/cjs/obsidian/@types/dataview/data-model/serialized/markdown.d.cts +1 -0
  44. package/dist/lib/cjs/obsidian/@types/dataview/data-model/transferable.d.cts +1 -0
  45. package/dist/lib/cjs/obsidian/@types/dataview/data-model/value.d.cts +1 -0
  46. package/dist/lib/cjs/obsidian/@types/dataview/expression/binaryop.d.cts +1 -0
  47. package/dist/lib/cjs/obsidian/@types/dataview/expression/context.d.cts +1 -0
  48. package/dist/lib/cjs/obsidian/@types/dataview/expression/field.d.cts +1 -0
  49. package/dist/lib/cjs/obsidian/@types/dataview/expression/functions.d.cts +1 -0
  50. package/dist/lib/cjs/obsidian/@types/dataview/expression/parse.d.cts +1 -0
  51. package/dist/lib/cjs/obsidian/@types/dataview/index.d.cts +1 -0
  52. package/dist/lib/cjs/obsidian/@types/dataview/main.d.cts +1 -0
  53. package/dist/lib/cjs/obsidian/@types/dataview/query/engine.d.cts +1 -0
  54. package/dist/lib/cjs/obsidian/@types/dataview/query/parse.d.cts +1 -0
  55. package/dist/lib/cjs/obsidian/@types/dataview/query/query.d.cts +1 -0
  56. package/dist/lib/cjs/obsidian/@types/dataview/settings.d.cts +1 -0
  57. package/dist/lib/cjs/obsidian/@types/dataview/typings/obsidian-ex.d.cts +1 -0
  58. package/dist/lib/cjs/obsidian/@types/dataview/typings/workers.d.cts +1 -0
  59. package/dist/lib/cjs/obsidian/@types/dataview/ui/export/markdown.d.cts +1 -0
  60. package/dist/lib/cjs/obsidian/@types/dataview/ui/lp-render.d.cts +1 -0
  61. package/dist/lib/cjs/obsidian/@types/dataview/ui/markdown.d.cts +1 -0
  62. package/dist/lib/cjs/obsidian/@types/dataview/ui/refreshable-view.d.cts +1 -0
  63. package/dist/lib/cjs/obsidian/@types/dataview/ui/render.d.cts +1 -0
  64. package/dist/lib/cjs/obsidian/@types/dataview/ui/views/calendar-view.d.cts +1 -0
  65. package/dist/lib/cjs/obsidian/@types/dataview/ui/views/inline-field-live-preview.d.cts +1 -0
  66. package/dist/lib/cjs/obsidian/@types/dataview/ui/views/inline-view.d.cts +1 -0
  67. package/dist/lib/cjs/obsidian/@types/dataview/ui/views/js-view.d.cts +1 -0
  68. package/dist/lib/cjs/obsidian/@types/dataview/ui/views/list-view.d.cts +1 -0
  69. package/dist/lib/cjs/obsidian/@types/dataview/ui/views/table-view.d.cts +1 -0
  70. package/dist/lib/cjs/obsidian/@types/dataview/ui/views/task-view.d.cts +1 -0
  71. package/dist/lib/cjs/obsidian/@types/dataview/util/hash.d.cts +1 -0
  72. package/dist/lib/cjs/obsidian/@types/dataview/util/locale.d.cts +1 -0
  73. package/dist/lib/cjs/obsidian/@types/dataview/util/media.d.cts +1 -0
  74. package/dist/lib/cjs/obsidian/@types/dataview/util/normalize.d.cts +1 -0
  75. package/dist/lib/cjs/obsidian/@types/i18next.d.cts +1 -0
  76. package/dist/lib/cjs/obsidian/active-file-provider.cjs +1 -1
  77. package/dist/lib/cjs/obsidian/active-file-provider.d.cts +1 -1
  78. package/dist/lib/cjs/obsidian/app.d.cts +1 -0
  79. package/dist/lib/cjs/obsidian/async-with-notice.d.cts +1 -0
  80. package/dist/lib/cjs/obsidian/attachment-path.d.cts +1 -0
  81. package/dist/lib/cjs/obsidian/backlink.d.cts +1 -0
  82. package/dist/lib/cjs/obsidian/callout.d.cts +1 -0
  83. package/dist/lib/cjs/obsidian/code-block-markdown-information.d.cts +1 -0
  84. package/dist/lib/cjs/obsidian/command-handlers/abstract-file-command-handler.d.cts +1 -0
  85. package/dist/lib/cjs/obsidian/command-handlers/command-handler-component.cjs +4 -4
  86. package/dist/lib/cjs/obsidian/command-handlers/command-handler-component.d.cts +4 -3
  87. package/dist/lib/cjs/obsidian/command-handlers/command-handler.d.cts +1 -0
  88. package/dist/lib/cjs/obsidian/command-handlers/editor-command-handler.d.cts +1 -0
  89. package/dist/lib/cjs/obsidian/command-handlers/file-command-handler.d.cts +1 -0
  90. package/dist/lib/cjs/obsidian/command-handlers/folder-command-handler.d.cts +1 -0
  91. package/dist/lib/cjs/obsidian/command-handlers/global-command-handler.d.cts +1 -0
  92. package/dist/lib/cjs/obsidian/command-handlers/index.d.cts +1 -0
  93. package/dist/lib/cjs/obsidian/command-handlers/open-settings-command-handler.d.cts +1 -0
  94. package/dist/lib/cjs/obsidian/command-registrar.d.cts +1 -0
  95. package/dist/lib/cjs/obsidian/components/abort-signal-component.cjs +3 -7
  96. package/dist/lib/cjs/obsidian/components/abort-signal-component.d.cts +3 -6
  97. package/dist/lib/cjs/obsidian/components/all-windows-event-component.cjs +3 -3
  98. package/dist/lib/cjs/obsidian/components/all-windows-event-component.d.cts +3 -2
  99. package/dist/lib/cjs/obsidian/components/async-error-handler-component.cjs +3 -7
  100. package/dist/lib/cjs/obsidian/components/async-error-handler-component.d.cts +3 -6
  101. package/dist/lib/cjs/obsidian/components/async-events-component.cjs +2 -20
  102. package/dist/lib/cjs/obsidian/components/async-events-component.d.cts +2 -18
  103. package/dist/lib/cjs/obsidian/components/component-ex.cjs +235 -0
  104. package/dist/lib/cjs/obsidian/components/component-ex.d.cts +56 -0
  105. package/dist/lib/cjs/obsidian/components/console-debug-component.cjs +3 -7
  106. package/dist/lib/cjs/obsidian/components/console-debug-component.d.cts +3 -6
  107. package/dist/lib/cjs/obsidian/components/disposable-component.cjs +1 -9
  108. package/dist/lib/cjs/obsidian/components/disposable-component.d.cts +1 -10
  109. package/dist/lib/cjs/obsidian/components/i18n-component.cjs +4 -8
  110. package/dist/lib/cjs/obsidian/components/i18n-component.d.cts +4 -7
  111. package/dist/lib/cjs/obsidian/components/index.cjs +9 -6
  112. package/dist/lib/cjs/obsidian/components/index.d.cts +3 -1
  113. package/dist/lib/cjs/obsidian/components/layout-ready-component.cjs +3 -3
  114. package/dist/lib/cjs/obsidian/components/layout-ready-component.d.cts +3 -2
  115. package/dist/lib/cjs/obsidian/components/menu-event-registrar-component.cjs +3 -3
  116. package/dist/lib/cjs/obsidian/components/menu-event-registrar-component.d.cts +3 -3
  117. package/dist/lib/cjs/obsidian/components/monkey-around-component.cjs +4 -4
  118. package/dist/lib/cjs/obsidian/components/monkey-around-component.d.cts +4 -3
  119. package/dist/lib/cjs/obsidian/components/plugin-context-component.cjs +3 -7
  120. package/dist/lib/cjs/obsidian/components/plugin-context-component.d.cts +3 -6
  121. package/dist/lib/cjs/obsidian/components/plugin-notice-component.cjs +3 -7
  122. package/dist/lib/cjs/obsidian/components/plugin-notice-component.d.cts +3 -6
  123. package/dist/lib/cjs/obsidian/components/plugin-settings-component.cjs +53 -12
  124. package/dist/lib/cjs/obsidian/components/plugin-settings-component.d.cts +54 -18
  125. package/dist/lib/cjs/obsidian/components/plugin-settings-tab-component.cjs +3 -3
  126. package/dist/lib/cjs/obsidian/components/plugin-settings-tab-component.d.cts +3 -2
  127. package/dist/lib/cjs/obsidian/components/registry-component.cjs +180 -0
  128. package/dist/lib/cjs/obsidian/components/registry-component.d.cts +37 -0
  129. package/dist/lib/cjs/obsidian/constructors/getDomEventsHandlersConstructor.d.cts +1 -0
  130. package/dist/lib/cjs/obsidian/constructors/index.d.cts +1 -0
  131. package/dist/lib/cjs/obsidian/data-handler.d.cts +1 -0
  132. package/dist/lib/cjs/obsidian/dataview-link.d.cts +1 -0
  133. package/dist/lib/cjs/obsidian/dataview.d.cts +1 -0
  134. package/dist/lib/cjs/obsidian/editor.d.cts +1 -0
  135. package/dist/lib/cjs/obsidian/file-change.d.cts +1 -0
  136. package/dist/lib/cjs/obsidian/file-manager.d.cts +1 -0
  137. package/dist/lib/cjs/obsidian/file-system.d.cts +1 -0
  138. package/dist/lib/cjs/obsidian/frontmatter-link-cache-with-offsets.d.cts +1 -0
  139. package/dist/lib/cjs/obsidian/frontmatter.d.cts +1 -0
  140. package/dist/lib/cjs/obsidian/i18n/custom-type-options.d.cts +1 -0
  141. package/dist/lib/cjs/obsidian/i18n/default-translations.d.cts +1 -0
  142. package/dist/lib/cjs/obsidian/i18n/i18n.d.cts +1 -0
  143. package/dist/lib/cjs/obsidian/i18n/index.d.cts +1 -0
  144. package/dist/lib/cjs/obsidian/i18n/locales/en.d.cts +1 -0
  145. package/dist/lib/cjs/obsidian/i18n/locales/index.d.cts +1 -0
  146. package/dist/lib/cjs/obsidian/i18n/locales/translations-map.d.cts +1 -0
  147. package/dist/lib/cjs/obsidian/index.d.cts +1 -0
  148. package/dist/lib/cjs/obsidian/is-in-obsidian.d.cts +1 -0
  149. package/dist/lib/cjs/obsidian/link.d.cts +1 -0
  150. package/dist/lib/cjs/obsidian/logger.d.cts +1 -0
  151. package/dist/lib/cjs/obsidian/loop.d.cts +1 -0
  152. package/dist/lib/cjs/obsidian/markdown-code-block-processor-registrar.d.cts +1 -0
  153. package/dist/lib/cjs/obsidian/markdown-code-block-processor.d.cts +1 -0
  154. package/dist/lib/cjs/obsidian/markdown-view.d.cts +1 -0
  155. package/dist/lib/cjs/obsidian/markdown.cjs +2 -3
  156. package/dist/lib/cjs/obsidian/markdown.d.cts +1 -0
  157. package/dist/lib/cjs/obsidian/menu-event-registrar.cjs +1 -1
  158. package/dist/lib/cjs/obsidian/menu-event-registrar.d.cts +1 -1
  159. package/dist/lib/cjs/obsidian/metadata-cache.d.cts +1 -0
  160. package/dist/lib/cjs/obsidian/modals/alert.d.cts +1 -0
  161. package/dist/lib/cjs/obsidian/modals/confirm.d.cts +1 -0
  162. package/dist/lib/cjs/obsidian/modals/index.d.cts +1 -0
  163. package/dist/lib/cjs/obsidian/modals/modal.d.cts +1 -0
  164. package/dist/lib/cjs/obsidian/modals/prompt.d.cts +1 -0
  165. package/dist/lib/cjs/obsidian/modals/select-item.d.cts +1 -0
  166. package/dist/lib/cjs/obsidian/obsidian-protocol-handler-registrar.d.cts +1 -0
  167. package/dist/lib/cjs/obsidian/obsidian-settings.d.cts +1 -0
  168. package/dist/lib/cjs/obsidian/path-settings.d.cts +1 -0
  169. package/dist/lib/cjs/obsidian/pdf.d.cts +1 -0
  170. package/dist/lib/cjs/obsidian/plugin/index.d.cts +1 -0
  171. package/dist/lib/cjs/obsidian/plugin/obsidian-plugin-repo-paths.d.cts +1 -0
  172. package/dist/lib/cjs/obsidian/plugin/plugin-context.d.cts +1 -0
  173. package/dist/lib/cjs/obsidian/plugin/plugin-id.d.cts +1 -0
  174. package/dist/lib/cjs/obsidian/plugin/plugin-settings-tab.cjs +21 -20
  175. package/dist/lib/cjs/obsidian/plugin/plugin-settings-tab.d.cts +8 -3
  176. package/dist/lib/cjs/obsidian/plugin/plugin.cjs +35 -76
  177. package/dist/lib/cjs/obsidian/plugin/plugin.d.cts +36 -36
  178. package/dist/lib/cjs/obsidian/queue.d.cts +1 -0
  179. package/dist/lib/cjs/obsidian/react/app-context.d.cts +1 -0
  180. package/dist/lib/cjs/obsidian/react/index.d.cts +1 -0
  181. package/dist/lib/cjs/obsidian/reference.d.cts +1 -0
  182. package/dist/lib/cjs/obsidian/rename-delete-handler.cjs +1 -2
  183. package/dist/lib/cjs/obsidian/rename-delete-handler.d.cts +1 -0
  184. package/dist/lib/cjs/obsidian/resource-url.d.cts +1 -0
  185. package/dist/lib/cjs/obsidian/setting-components/checkbox-component.d.cts +1 -0
  186. package/dist/lib/cjs/obsidian/setting-components/code-highlighter-component.d.cts +1 -0
  187. package/dist/lib/cjs/obsidian/setting-components/date-component.d.cts +1 -0
  188. package/dist/lib/cjs/obsidian/setting-components/date-time-component.d.cts +1 -0
  189. package/dist/lib/cjs/obsidian/setting-components/email-component.d.cts +1 -0
  190. package/dist/lib/cjs/obsidian/setting-components/file-component.d.cts +1 -0
  191. package/dist/lib/cjs/obsidian/setting-components/index.d.cts +1 -0
  192. package/dist/lib/cjs/obsidian/setting-components/month-component.d.cts +1 -0
  193. package/dist/lib/cjs/obsidian/setting-components/multiple-dropdown-component.d.cts +1 -0
  194. package/dist/lib/cjs/obsidian/setting-components/multiple-email-component.d.cts +1 -0
  195. package/dist/lib/cjs/obsidian/setting-components/multiple-file-component.d.cts +1 -0
  196. package/dist/lib/cjs/obsidian/setting-components/multiple-text-component.d.cts +1 -0
  197. package/dist/lib/cjs/obsidian/setting-components/number-component.d.cts +1 -0
  198. package/dist/lib/cjs/obsidian/setting-components/password-component.d.cts +1 -0
  199. package/dist/lib/cjs/obsidian/setting-components/setting-component-wrapper.d.cts +1 -0
  200. package/dist/lib/cjs/obsidian/setting-components/telephone-component.d.cts +1 -0
  201. package/dist/lib/cjs/obsidian/setting-components/text-based-component.d.cts +1 -0
  202. package/dist/lib/cjs/obsidian/setting-components/time-component.d.cts +1 -0
  203. package/dist/lib/cjs/obsidian/setting-components/tri-state-checkbox-component.d.cts +1 -0
  204. package/dist/lib/cjs/obsidian/setting-components/typed-dropdown-component.cjs +3 -1
  205. package/dist/lib/cjs/obsidian/setting-components/typed-dropdown-component.d.cts +3 -0
  206. package/dist/lib/cjs/obsidian/setting-components/typed-multiple-dropdown-component.d.cts +1 -0
  207. package/dist/lib/cjs/obsidian/setting-components/typed-range-text-component.d.cts +1 -0
  208. package/dist/lib/cjs/obsidian/setting-components/typed-text-component.d.cts +1 -0
  209. package/dist/lib/cjs/obsidian/setting-components/url-component.d.cts +1 -0
  210. package/dist/lib/cjs/obsidian/setting-components/validator-component.d.cts +1 -0
  211. package/dist/lib/cjs/obsidian/setting-components/value-component-with-change-tracking.d.cts +1 -0
  212. package/dist/lib/cjs/obsidian/setting-components/week-component.d.cts +1 -0
  213. package/dist/lib/cjs/obsidian/setting-ex.cjs +3 -1
  214. package/dist/lib/cjs/obsidian/setting-ex.d.cts +3 -0
  215. package/dist/lib/cjs/obsidian/setting-group-ex.d.cts +1 -0
  216. package/dist/lib/cjs/obsidian/validation.d.cts +1 -0
  217. package/dist/lib/cjs/obsidian/vault-delete.d.cts +1 -0
  218. package/dist/lib/cjs/obsidian/vault.d.cts +1 -0
  219. package/dist/lib/cjs/obsidian/workspace.d.cts +1 -0
  220. package/dist/lib/cjs/path.d.cts +1 -0
  221. package/dist/lib/cjs/reg-exp.d.cts +1 -0
  222. package/dist/lib/cjs/script-utils/build.d.cts +1 -0
  223. package/dist/lib/cjs/script-utils/bundlers/esbuild-impl/change-extension-plugin.d.cts +1 -0
  224. package/dist/lib/cjs/script-utils/bundlers/esbuild-impl/copy-to-obsidian-plugins-folder-plugin.d.cts +1 -0
  225. package/dist/lib/cjs/script-utils/bundlers/esbuild-impl/custom-esbuild-options-plugin.d.cts +1 -0
  226. package/dist/lib/cjs/script-utils/bundlers/esbuild-impl/dependency.d.cts +1 -0
  227. package/dist/lib/cjs/script-utils/bundlers/esbuild-impl/fix-esm-plugin.d.cts +1 -0
  228. package/dist/lib/cjs/script-utils/bundlers/esbuild-impl/fix-source-maps-plugin.d.cts +1 -0
  229. package/dist/lib/cjs/script-utils/bundlers/esbuild-impl/index.d.cts +1 -0
  230. package/dist/lib/cjs/script-utils/bundlers/esbuild-impl/obsidian-plugin-builder.d.cts +1 -0
  231. package/dist/lib/cjs/script-utils/bundlers/esbuild-impl/preprocess-plugin.d.cts +1 -0
  232. package/dist/lib/cjs/script-utils/bundlers/esbuild-impl/rename-css-plugin.d.cts +1 -0
  233. package/dist/lib/cjs/script-utils/bundlers/esbuild-impl/svelte-wrapper-plugin.d.cts +1 -0
  234. package/dist/lib/cjs/script-utils/bundlers/esbuild.d.cts +1 -0
  235. package/dist/lib/cjs/script-utils/bundlers/index.d.cts +1 -0
  236. package/dist/lib/cjs/script-utils/cli-utils.d.cts +1 -0
  237. package/dist/lib/cjs/script-utils/code-generator.d.cts +1 -0
  238. package/dist/lib/cjs/script-utils/commitlint-config.d.cts +1 -0
  239. package/dist/lib/cjs/script-utils/exec.d.cts +1 -0
  240. package/dist/lib/cjs/script-utils/formatters/dprint.d.cts +1 -0
  241. package/dist/lib/cjs/script-utils/formatters/index.d.cts +1 -0
  242. package/dist/lib/cjs/script-utils/fs.d.cts +1 -0
  243. package/dist/lib/cjs/script-utils/index.d.cts +1 -0
  244. package/dist/lib/cjs/script-utils/json.d.cts +1 -0
  245. package/dist/lib/cjs/script-utils/linters/cspell.d.cts +1 -0
  246. package/dist/lib/cjs/script-utils/linters/eslint-config.cjs +2 -1
  247. package/dist/lib/cjs/script-utils/linters/eslint-config.d.cts +1 -0
  248. package/dist/lib/cjs/script-utils/linters/eslint-rules/index.cjs +4 -1
  249. package/dist/lib/cjs/script-utils/linters/eslint-rules/index.d.cts +2 -0
  250. package/dist/lib/cjs/script-utils/linters/eslint-rules/no-async-callback-to-unsafe-return.d.cts +1 -0
  251. package/dist/lib/cjs/script-utils/linters/eslint-rules/no-used-underscore-variables.d.cts +1 -0
  252. package/dist/lib/cjs/script-utils/linters/eslint-rules/obsidian-dev-utils-plugin.cjs +3 -1
  253. package/dist/lib/cjs/script-utils/linters/eslint-rules/obsidian-dev-utils-plugin.d.cts +1 -0
  254. package/dist/lib/cjs/script-utils/linters/eslint-rules/params-options-name-match.d.cts +1 -0
  255. package/dist/lib/cjs/script-utils/linters/eslint-rules/prefer-noop-async.d.cts +1 -0
  256. package/dist/lib/cjs/script-utils/linters/eslint-rules/readonly-params-options-members.d.cts +1 -0
  257. package/dist/lib/cjs/script-utils/linters/eslint-rules/require-component-suffix.cjs +2 -2
  258. package/dist/lib/cjs/script-utils/linters/eslint-rules/require-component-suffix.d.cts +1 -0
  259. package/dist/lib/cjs/script-utils/linters/eslint-rules/require-method-template.cjs +222 -0
  260. package/dist/lib/cjs/script-utils/linters/eslint-rules/require-method-template.d.cts +5 -0
  261. package/dist/lib/cjs/script-utils/linters/eslint-rules/require-super-call.d.cts +1 -0
  262. package/dist/lib/cjs/script-utils/linters/eslint-rules/rule-tester-helper.d.cts +1 -0
  263. package/dist/lib/cjs/script-utils/linters/eslint-types/@types/@eslint-community__eslint-plugin-eslint-comments__configs.d.cts +1 -0
  264. package/dist/lib/cjs/script-utils/linters/eslint-types/@types/eslint-plugin-verify-tsdoc.d.cts +1 -0
  265. package/dist/lib/cjs/script-utils/linters/eslint.d.cts +1 -0
  266. package/dist/lib/cjs/script-utils/linters/index.d.cts +1 -0
  267. package/dist/lib/cjs/script-utils/linters/markdownlint-cli2-config.d.cts +1 -0
  268. package/dist/lib/cjs/script-utils/linters/markdownlint-types/@types/markdownlint-cli2-config-schema.d.cts +1 -0
  269. package/dist/lib/cjs/script-utils/linters/markdownlint.d.cts +1 -0
  270. package/dist/lib/cjs/script-utils/nano-staged-config.d.cts +1 -0
  271. package/dist/lib/cjs/script-utils/npm-publish.d.cts +1 -0
  272. package/dist/lib/cjs/script-utils/npm-run.d.cts +1 -0
  273. package/dist/lib/cjs/script-utils/npm.d.cts +1 -0
  274. package/dist/lib/cjs/script-utils/obsidian-dev-utils-repo-paths.d.cts +1 -0
  275. package/dist/lib/cjs/script-utils/root.d.cts +1 -0
  276. package/dist/lib/cjs/script-utils/test-runners/index.d.cts +1 -0
  277. package/dist/lib/cjs/script-utils/test-runners/vitest.d.cts +1 -0
  278. package/dist/lib/cjs/script-utils/version.d.cts +1 -0
  279. package/dist/lib/cjs/strict-proxy.d.cts +1 -0
  280. package/dist/lib/cjs/string.d.cts +1 -0
  281. package/dist/lib/cjs/transformers/date-transformer.d.cts +1 -0
  282. package/dist/lib/cjs/transformers/duration-transformer.d.cts +1 -0
  283. package/dist/lib/cjs/transformers/group-transformer.d.cts +1 -0
  284. package/dist/lib/cjs/transformers/index.d.cts +1 -0
  285. package/dist/lib/cjs/transformers/map-transformer.d.cts +1 -0
  286. package/dist/lib/cjs/transformers/set-transformer.d.cts +1 -0
  287. package/dist/lib/cjs/transformers/skip-private-property-transformer.d.cts +1 -0
  288. package/dist/lib/cjs/transformers/transformer.d.cts +1 -0
  289. package/dist/lib/cjs/transformers/two-way-map-transformer.d.cts +1 -0
  290. package/dist/lib/cjs/transformers/typed-transformer.d.cts +1 -0
  291. package/dist/lib/cjs/two-way-map.d.cts +1 -0
  292. package/dist/lib/cjs/type-guards.d.cts +1 -0
  293. package/dist/lib/cjs/type.d.cts +1 -0
  294. package/dist/lib/cjs/url.d.cts +1 -0
  295. package/dist/lib/cjs/value-provider.d.cts +1 -0
  296. package/dist/lib/esm/@types/debug.d.mts +1 -0
  297. package/dist/lib/esm/abort-controller.d.mts +1 -0
  298. package/dist/lib/esm/array.d.mts +1 -0
  299. package/dist/lib/esm/async-events.d.mts +261 -9
  300. package/dist/lib/esm/async-events.mjs +175 -17
  301. package/dist/lib/esm/async.d.mts +1 -0
  302. package/dist/lib/esm/blob.d.mts +1 -0
  303. package/dist/lib/esm/codemirror/index.d.mts +1 -0
  304. package/dist/lib/esm/codemirror/state-field-spec.d.mts +1 -0
  305. package/dist/lib/esm/css-class.d.mts +1 -0
  306. package/dist/lib/esm/debug-controller.d.mts +1 -0
  307. package/dist/lib/esm/debug.d.mts +1 -0
  308. package/dist/lib/esm/enum.d.mts +1 -0
  309. package/dist/lib/esm/error.d.mts +1 -0
  310. package/dist/lib/esm/error.mjs +6 -7
  311. package/dist/lib/esm/function.d.mts +7 -0
  312. package/dist/lib/esm/function.mjs +5 -2
  313. package/dist/lib/esm/html-element.d.mts +1 -0
  314. package/dist/lib/esm/index.d.mts +1 -0
  315. package/dist/lib/esm/library.d.mts +4 -0
  316. package/dist/lib/esm/library.mjs +1 -1
  317. package/dist/lib/esm/object-utils.d.mts +3 -0
  318. package/dist/lib/esm/object-utils.mjs +1 -1
  319. package/dist/lib/esm/obsidian/@types/dataview/api/data-array.d.mts +1 -0
  320. package/dist/lib/esm/obsidian/@types/dataview/api/extensions.d.mts +1 -0
  321. package/dist/lib/esm/obsidian/@types/dataview/api/inline-api.d.mts +1 -0
  322. package/dist/lib/esm/obsidian/@types/dataview/api/plugin-api.d.mts +1 -0
  323. package/dist/lib/esm/obsidian/@types/dataview/api/result.d.mts +1 -0
  324. package/dist/lib/esm/obsidian/@types/dataview/data-import/common.d.mts +1 -0
  325. package/dist/lib/esm/obsidian/@types/dataview/data-import/csv.d.mts +1 -0
  326. package/dist/lib/esm/obsidian/@types/dataview/data-import/inline-field.d.mts +1 -0
  327. package/dist/lib/esm/obsidian/@types/dataview/data-import/markdown-file.d.mts +1 -0
  328. package/dist/lib/esm/obsidian/@types/dataview/data-import/persister.d.mts +1 -0
  329. package/dist/lib/esm/obsidian/@types/dataview/data-import/web-worker/import-entry.d.mts +1 -0
  330. package/dist/lib/esm/obsidian/@types/dataview/data-import/web-worker/import-impl.d.mts +1 -0
  331. package/dist/lib/esm/obsidian/@types/dataview/data-import/web-worker/import-manager.d.mts +1 -0
  332. package/dist/lib/esm/obsidian/@types/dataview/data-index/index.d.mts +1 -0
  333. package/dist/lib/esm/obsidian/@types/dataview/data-index/resolver.d.mts +1 -0
  334. package/dist/lib/esm/obsidian/@types/dataview/data-index/source.d.mts +1 -0
  335. package/dist/lib/esm/obsidian/@types/dataview/data-model/markdown.d.mts +1 -0
  336. package/dist/lib/esm/obsidian/@types/dataview/data-model/serialized/markdown.d.mts +1 -0
  337. package/dist/lib/esm/obsidian/@types/dataview/data-model/transferable.d.mts +1 -0
  338. package/dist/lib/esm/obsidian/@types/dataview/data-model/value.d.mts +1 -0
  339. package/dist/lib/esm/obsidian/@types/dataview/expression/binaryop.d.mts +1 -0
  340. package/dist/lib/esm/obsidian/@types/dataview/expression/context.d.mts +1 -0
  341. package/dist/lib/esm/obsidian/@types/dataview/expression/field.d.mts +1 -0
  342. package/dist/lib/esm/obsidian/@types/dataview/expression/functions.d.mts +1 -0
  343. package/dist/lib/esm/obsidian/@types/dataview/expression/parse.d.mts +1 -0
  344. package/dist/lib/esm/obsidian/@types/dataview/index.d.mts +1 -0
  345. package/dist/lib/esm/obsidian/@types/dataview/main.d.mts +1 -0
  346. package/dist/lib/esm/obsidian/@types/dataview/query/engine.d.mts +1 -0
  347. package/dist/lib/esm/obsidian/@types/dataview/query/parse.d.mts +1 -0
  348. package/dist/lib/esm/obsidian/@types/dataview/query/query.d.mts +1 -0
  349. package/dist/lib/esm/obsidian/@types/dataview/settings.d.mts +1 -0
  350. package/dist/lib/esm/obsidian/@types/dataview/typings/obsidian-ex.d.mts +1 -0
  351. package/dist/lib/esm/obsidian/@types/dataview/typings/workers.d.mts +1 -0
  352. package/dist/lib/esm/obsidian/@types/dataview/ui/export/markdown.d.mts +1 -0
  353. package/dist/lib/esm/obsidian/@types/dataview/ui/lp-render.d.mts +1 -0
  354. package/dist/lib/esm/obsidian/@types/dataview/ui/markdown.d.mts +1 -0
  355. package/dist/lib/esm/obsidian/@types/dataview/ui/refreshable-view.d.mts +1 -0
  356. package/dist/lib/esm/obsidian/@types/dataview/ui/render.d.mts +1 -0
  357. package/dist/lib/esm/obsidian/@types/dataview/ui/views/calendar-view.d.mts +1 -0
  358. package/dist/lib/esm/obsidian/@types/dataview/ui/views/inline-field-live-preview.d.mts +1 -0
  359. package/dist/lib/esm/obsidian/@types/dataview/ui/views/inline-view.d.mts +1 -0
  360. package/dist/lib/esm/obsidian/@types/dataview/ui/views/js-view.d.mts +1 -0
  361. package/dist/lib/esm/obsidian/@types/dataview/ui/views/list-view.d.mts +1 -0
  362. package/dist/lib/esm/obsidian/@types/dataview/ui/views/table-view.d.mts +1 -0
  363. package/dist/lib/esm/obsidian/@types/dataview/ui/views/task-view.d.mts +1 -0
  364. package/dist/lib/esm/obsidian/@types/dataview/util/hash.d.mts +1 -0
  365. package/dist/lib/esm/obsidian/@types/dataview/util/locale.d.mts +1 -0
  366. package/dist/lib/esm/obsidian/@types/dataview/util/media.d.mts +1 -0
  367. package/dist/lib/esm/obsidian/@types/dataview/util/normalize.d.mts +1 -0
  368. package/dist/lib/esm/obsidian/@types/i18next.d.mts +1 -0
  369. package/dist/lib/esm/obsidian/active-file-provider.d.mts +1 -1
  370. package/dist/lib/esm/obsidian/active-file-provider.mjs +1 -1
  371. package/dist/lib/esm/obsidian/app.d.mts +1 -0
  372. package/dist/lib/esm/obsidian/async-with-notice.d.mts +1 -0
  373. package/dist/lib/esm/obsidian/attachment-path.d.mts +1 -0
  374. package/dist/lib/esm/obsidian/backlink.d.mts +1 -0
  375. package/dist/lib/esm/obsidian/callout.d.mts +1 -0
  376. package/dist/lib/esm/obsidian/code-block-markdown-information.d.mts +1 -0
  377. package/dist/lib/esm/obsidian/command-handlers/abstract-file-command-handler.d.mts +1 -0
  378. package/dist/lib/esm/obsidian/command-handlers/command-handler-component.d.mts +4 -3
  379. package/dist/lib/esm/obsidian/command-handlers/command-handler-component.mjs +4 -4
  380. package/dist/lib/esm/obsidian/command-handlers/command-handler.d.mts +1 -0
  381. package/dist/lib/esm/obsidian/command-handlers/editor-command-handler.d.mts +1 -0
  382. package/dist/lib/esm/obsidian/command-handlers/file-command-handler.d.mts +1 -0
  383. package/dist/lib/esm/obsidian/command-handlers/folder-command-handler.d.mts +1 -0
  384. package/dist/lib/esm/obsidian/command-handlers/global-command-handler.d.mts +1 -0
  385. package/dist/lib/esm/obsidian/command-handlers/index.d.mts +1 -0
  386. package/dist/lib/esm/obsidian/command-handlers/open-settings-command-handler.d.mts +1 -0
  387. package/dist/lib/esm/obsidian/command-registrar.d.mts +1 -0
  388. package/dist/lib/esm/obsidian/components/abort-signal-component.d.mts +3 -6
  389. package/dist/lib/esm/obsidian/components/abort-signal-component.mjs +3 -7
  390. package/dist/lib/esm/obsidian/components/all-windows-event-component.d.mts +3 -2
  391. package/dist/lib/esm/obsidian/components/all-windows-event-component.mjs +3 -3
  392. package/dist/lib/esm/obsidian/components/async-error-handler-component.d.mts +3 -6
  393. package/dist/lib/esm/obsidian/components/async-error-handler-component.mjs +3 -7
  394. package/dist/lib/esm/obsidian/components/async-events-component.d.mts +2 -18
  395. package/dist/lib/esm/obsidian/components/async-events-component.mjs +2 -19
  396. package/dist/lib/esm/obsidian/components/component-ex.d.mts +56 -0
  397. package/dist/lib/esm/obsidian/components/component-ex.mjs +130 -0
  398. package/dist/lib/esm/obsidian/components/console-debug-component.d.mts +3 -6
  399. package/dist/lib/esm/obsidian/components/console-debug-component.mjs +3 -7
  400. package/dist/lib/esm/obsidian/components/disposable-component.d.mts +1 -10
  401. package/dist/lib/esm/obsidian/components/disposable-component.mjs +1 -8
  402. package/dist/lib/esm/obsidian/components/i18n-component.d.mts +4 -7
  403. package/dist/lib/esm/obsidian/components/i18n-component.mjs +4 -8
  404. package/dist/lib/esm/obsidian/components/index.d.mts +3 -1
  405. package/dist/lib/esm/obsidian/components/index.mjs +6 -4
  406. package/dist/lib/esm/obsidian/components/layout-ready-component.d.mts +3 -2
  407. package/dist/lib/esm/obsidian/components/layout-ready-component.mjs +3 -3
  408. package/dist/lib/esm/obsidian/components/menu-event-registrar-component.d.mts +3 -3
  409. package/dist/lib/esm/obsidian/components/menu-event-registrar-component.mjs +3 -3
  410. package/dist/lib/esm/obsidian/components/monkey-around-component.d.mts +4 -3
  411. package/dist/lib/esm/obsidian/components/monkey-around-component.mjs +4 -4
  412. package/dist/lib/esm/obsidian/components/plugin-context-component.d.mts +3 -6
  413. package/dist/lib/esm/obsidian/components/plugin-context-component.mjs +3 -7
  414. package/dist/lib/esm/obsidian/components/plugin-notice-component.d.mts +3 -6
  415. package/dist/lib/esm/obsidian/components/plugin-notice-component.mjs +3 -7
  416. package/dist/lib/esm/obsidian/components/plugin-settings-component.d.mts +54 -18
  417. package/dist/lib/esm/obsidian/components/plugin-settings-component.mjs +53 -12
  418. package/dist/lib/esm/obsidian/components/plugin-settings-tab-component.d.mts +3 -2
  419. package/dist/lib/esm/obsidian/components/plugin-settings-tab-component.mjs +3 -3
  420. package/dist/lib/esm/obsidian/components/registry-component.d.mts +37 -0
  421. package/dist/lib/esm/obsidian/components/registry-component.mjs +72 -0
  422. package/dist/lib/esm/obsidian/constructors/getDomEventsHandlersConstructor.d.mts +1 -0
  423. package/dist/lib/esm/obsidian/constructors/index.d.mts +1 -0
  424. package/dist/lib/esm/obsidian/data-handler.d.mts +1 -0
  425. package/dist/lib/esm/obsidian/dataview-link.d.mts +1 -0
  426. package/dist/lib/esm/obsidian/dataview.d.mts +1 -0
  427. package/dist/lib/esm/obsidian/editor.d.mts +1 -0
  428. package/dist/lib/esm/obsidian/file-change.d.mts +1 -0
  429. package/dist/lib/esm/obsidian/file-manager.d.mts +1 -0
  430. package/dist/lib/esm/obsidian/file-system.d.mts +1 -0
  431. package/dist/lib/esm/obsidian/frontmatter-link-cache-with-offsets.d.mts +1 -0
  432. package/dist/lib/esm/obsidian/frontmatter.d.mts +1 -0
  433. package/dist/lib/esm/obsidian/i18n/custom-type-options.d.mts +1 -0
  434. package/dist/lib/esm/obsidian/i18n/default-translations.d.mts +1 -0
  435. package/dist/lib/esm/obsidian/i18n/i18n.d.mts +1 -0
  436. package/dist/lib/esm/obsidian/i18n/index.d.mts +1 -0
  437. package/dist/lib/esm/obsidian/i18n/locales/en.d.mts +1 -0
  438. package/dist/lib/esm/obsidian/i18n/locales/index.d.mts +1 -0
  439. package/dist/lib/esm/obsidian/i18n/locales/translations-map.d.mts +1 -0
  440. package/dist/lib/esm/obsidian/index.d.mts +1 -0
  441. package/dist/lib/esm/obsidian/is-in-obsidian.d.mts +1 -0
  442. package/dist/lib/esm/obsidian/link.d.mts +1 -0
  443. package/dist/lib/esm/obsidian/logger.d.mts +1 -0
  444. package/dist/lib/esm/obsidian/loop.d.mts +1 -0
  445. package/dist/lib/esm/obsidian/markdown-code-block-processor-registrar.d.mts +1 -0
  446. package/dist/lib/esm/obsidian/markdown-code-block-processor.d.mts +1 -0
  447. package/dist/lib/esm/obsidian/markdown-view.d.mts +1 -0
  448. package/dist/lib/esm/obsidian/markdown.d.mts +1 -0
  449. package/dist/lib/esm/obsidian/markdown.mjs +2 -3
  450. package/dist/lib/esm/obsidian/menu-event-registrar.d.mts +1 -1
  451. package/dist/lib/esm/obsidian/metadata-cache.d.mts +1 -0
  452. package/dist/lib/esm/obsidian/modals/alert.d.mts +1 -0
  453. package/dist/lib/esm/obsidian/modals/confirm.d.mts +1 -0
  454. package/dist/lib/esm/obsidian/modals/index.d.mts +1 -0
  455. package/dist/lib/esm/obsidian/modals/modal.d.mts +1 -0
  456. package/dist/lib/esm/obsidian/modals/prompt.d.mts +1 -0
  457. package/dist/lib/esm/obsidian/modals/select-item.d.mts +1 -0
  458. package/dist/lib/esm/obsidian/obsidian-protocol-handler-registrar.d.mts +1 -0
  459. package/dist/lib/esm/obsidian/obsidian-settings.d.mts +1 -0
  460. package/dist/lib/esm/obsidian/path-settings.d.mts +1 -0
  461. package/dist/lib/esm/obsidian/pdf.d.mts +1 -0
  462. package/dist/lib/esm/obsidian/plugin/index.d.mts +1 -0
  463. package/dist/lib/esm/obsidian/plugin/obsidian-plugin-repo-paths.d.mts +1 -0
  464. package/dist/lib/esm/obsidian/plugin/plugin-context.d.mts +1 -0
  465. package/dist/lib/esm/obsidian/plugin/plugin-id.d.mts +1 -0
  466. package/dist/lib/esm/obsidian/plugin/plugin-settings-tab.d.mts +8 -3
  467. package/dist/lib/esm/obsidian/plugin/plugin-settings-tab.mjs +22 -21
  468. package/dist/lib/esm/obsidian/plugin/plugin.d.mts +36 -36
  469. package/dist/lib/esm/obsidian/plugin/plugin.mjs +35 -77
  470. package/dist/lib/esm/obsidian/queue.d.mts +1 -0
  471. package/dist/lib/esm/obsidian/react/app-context.d.mts +1 -0
  472. package/dist/lib/esm/obsidian/react/index.d.mts +1 -0
  473. package/dist/lib/esm/obsidian/reference.d.mts +1 -0
  474. package/dist/lib/esm/obsidian/rename-delete-handler.d.mts +1 -0
  475. package/dist/lib/esm/obsidian/rename-delete-handler.mjs +1 -2
  476. package/dist/lib/esm/obsidian/resource-url.d.mts +1 -0
  477. package/dist/lib/esm/obsidian/setting-components/checkbox-component.d.mts +1 -0
  478. package/dist/lib/esm/obsidian/setting-components/code-highlighter-component.d.mts +1 -0
  479. package/dist/lib/esm/obsidian/setting-components/date-component.d.mts +1 -0
  480. package/dist/lib/esm/obsidian/setting-components/date-time-component.d.mts +1 -0
  481. package/dist/lib/esm/obsidian/setting-components/email-component.d.mts +1 -0
  482. package/dist/lib/esm/obsidian/setting-components/file-component.d.mts +1 -0
  483. package/dist/lib/esm/obsidian/setting-components/index.d.mts +1 -0
  484. package/dist/lib/esm/obsidian/setting-components/month-component.d.mts +1 -0
  485. package/dist/lib/esm/obsidian/setting-components/multiple-dropdown-component.d.mts +1 -0
  486. package/dist/lib/esm/obsidian/setting-components/multiple-email-component.d.mts +1 -0
  487. package/dist/lib/esm/obsidian/setting-components/multiple-file-component.d.mts +1 -0
  488. package/dist/lib/esm/obsidian/setting-components/multiple-text-component.d.mts +1 -0
  489. package/dist/lib/esm/obsidian/setting-components/number-component.d.mts +1 -0
  490. package/dist/lib/esm/obsidian/setting-components/password-component.d.mts +1 -0
  491. package/dist/lib/esm/obsidian/setting-components/setting-component-wrapper.d.mts +1 -0
  492. package/dist/lib/esm/obsidian/setting-components/telephone-component.d.mts +1 -0
  493. package/dist/lib/esm/obsidian/setting-components/text-based-component.d.mts +1 -0
  494. package/dist/lib/esm/obsidian/setting-components/time-component.d.mts +1 -0
  495. package/dist/lib/esm/obsidian/setting-components/tri-state-checkbox-component.d.mts +1 -0
  496. package/dist/lib/esm/obsidian/setting-components/typed-dropdown-component.d.mts +3 -0
  497. package/dist/lib/esm/obsidian/setting-components/typed-dropdown-component.mjs +3 -1
  498. package/dist/lib/esm/obsidian/setting-components/typed-multiple-dropdown-component.d.mts +1 -0
  499. package/dist/lib/esm/obsidian/setting-components/typed-range-text-component.d.mts +1 -0
  500. package/dist/lib/esm/obsidian/setting-components/typed-text-component.d.mts +1 -0
  501. package/dist/lib/esm/obsidian/setting-components/url-component.d.mts +1 -0
  502. package/dist/lib/esm/obsidian/setting-components/validator-component.d.mts +1 -0
  503. package/dist/lib/esm/obsidian/setting-components/value-component-with-change-tracking.d.mts +1 -0
  504. package/dist/lib/esm/obsidian/setting-components/week-component.d.mts +1 -0
  505. package/dist/lib/esm/obsidian/setting-ex.d.mts +3 -0
  506. package/dist/lib/esm/obsidian/setting-ex.mjs +3 -1
  507. package/dist/lib/esm/obsidian/setting-group-ex.d.mts +1 -0
  508. package/dist/lib/esm/obsidian/validation.d.mts +1 -0
  509. package/dist/lib/esm/obsidian/vault-delete.d.mts +1 -0
  510. package/dist/lib/esm/obsidian/vault.d.mts +1 -0
  511. package/dist/lib/esm/obsidian/workspace.d.mts +1 -0
  512. package/dist/lib/esm/path.d.mts +1 -0
  513. package/dist/lib/esm/reg-exp.d.mts +1 -0
  514. package/dist/lib/esm/script-utils/build.d.mts +1 -0
  515. package/dist/lib/esm/script-utils/bundlers/esbuild-impl/change-extension-plugin.d.mts +1 -0
  516. package/dist/lib/esm/script-utils/bundlers/esbuild-impl/copy-to-obsidian-plugins-folder-plugin.d.mts +1 -0
  517. package/dist/lib/esm/script-utils/bundlers/esbuild-impl/custom-esbuild-options-plugin.d.mts +1 -0
  518. package/dist/lib/esm/script-utils/bundlers/esbuild-impl/dependency.d.mts +1 -0
  519. package/dist/lib/esm/script-utils/bundlers/esbuild-impl/fix-esm-plugin.d.mts +1 -0
  520. package/dist/lib/esm/script-utils/bundlers/esbuild-impl/fix-source-maps-plugin.d.mts +1 -0
  521. package/dist/lib/esm/script-utils/bundlers/esbuild-impl/index.d.mts +1 -0
  522. package/dist/lib/esm/script-utils/bundlers/esbuild-impl/obsidian-plugin-builder.d.mts +1 -0
  523. package/dist/lib/esm/script-utils/bundlers/esbuild-impl/preprocess-plugin.d.mts +1 -0
  524. package/dist/lib/esm/script-utils/bundlers/esbuild-impl/rename-css-plugin.d.mts +1 -0
  525. package/dist/lib/esm/script-utils/bundlers/esbuild-impl/svelte-wrapper-plugin.d.mts +1 -0
  526. package/dist/lib/esm/script-utils/bundlers/esbuild.d.mts +1 -0
  527. package/dist/lib/esm/script-utils/bundlers/index.d.mts +1 -0
  528. package/dist/lib/esm/script-utils/cli-utils.d.mts +1 -0
  529. package/dist/lib/esm/script-utils/code-generator.d.mts +1 -0
  530. package/dist/lib/esm/script-utils/commitlint-config.d.mts +1 -0
  531. package/dist/lib/esm/script-utils/exec.d.mts +1 -0
  532. package/dist/lib/esm/script-utils/formatters/dprint.d.mts +1 -0
  533. package/dist/lib/esm/script-utils/formatters/index.d.mts +1 -0
  534. package/dist/lib/esm/script-utils/fs.d.mts +1 -0
  535. package/dist/lib/esm/script-utils/index.d.mts +1 -0
  536. package/dist/lib/esm/script-utils/json.d.mts +1 -0
  537. package/dist/lib/esm/script-utils/linters/cspell.d.mts +1 -0
  538. package/dist/lib/esm/script-utils/linters/eslint-config.d.mts +1 -0
  539. package/dist/lib/esm/script-utils/linters/eslint-config.mjs +2 -1
  540. package/dist/lib/esm/script-utils/linters/eslint-rules/index.d.mts +2 -0
  541. package/dist/lib/esm/script-utils/linters/eslint-rules/index.mjs +3 -1
  542. package/dist/lib/esm/script-utils/linters/eslint-rules/no-async-callback-to-unsafe-return.d.mts +1 -0
  543. package/dist/lib/esm/script-utils/linters/eslint-rules/no-used-underscore-variables.d.mts +1 -0
  544. package/dist/lib/esm/script-utils/linters/eslint-rules/obsidian-dev-utils-plugin.d.mts +1 -0
  545. package/dist/lib/esm/script-utils/linters/eslint-rules/obsidian-dev-utils-plugin.mjs +3 -1
  546. package/dist/lib/esm/script-utils/linters/eslint-rules/params-options-name-match.d.mts +1 -0
  547. package/dist/lib/esm/script-utils/linters/eslint-rules/prefer-noop-async.d.mts +1 -0
  548. package/dist/lib/esm/script-utils/linters/eslint-rules/readonly-params-options-members.d.mts +1 -0
  549. package/dist/lib/esm/script-utils/linters/eslint-rules/require-component-suffix.d.mts +1 -0
  550. package/dist/lib/esm/script-utils/linters/eslint-rules/require-component-suffix.mjs +2 -2
  551. package/dist/lib/esm/script-utils/linters/eslint-rules/require-method-template.d.mts +5 -0
  552. package/dist/lib/esm/script-utils/linters/eslint-rules/require-method-template.mjs +112 -0
  553. package/dist/lib/esm/script-utils/linters/eslint-rules/require-super-call.d.mts +1 -0
  554. package/dist/lib/esm/script-utils/linters/eslint-rules/rule-tester-helper.d.mts +1 -0
  555. package/dist/lib/esm/script-utils/linters/eslint-types/@types/@eslint-community__eslint-plugin-eslint-comments__configs.d.mts +1 -0
  556. package/dist/lib/esm/script-utils/linters/eslint-types/@types/eslint-plugin-verify-tsdoc.d.mts +1 -0
  557. package/dist/lib/esm/script-utils/linters/eslint.d.mts +1 -0
  558. package/dist/lib/esm/script-utils/linters/index.d.mts +1 -0
  559. package/dist/lib/esm/script-utils/linters/markdownlint-cli2-config.d.mts +1 -0
  560. package/dist/lib/esm/script-utils/linters/markdownlint-types/@types/markdownlint-cli2-config-schema.d.mts +1 -0
  561. package/dist/lib/esm/script-utils/linters/markdownlint.d.mts +1 -0
  562. package/dist/lib/esm/script-utils/nano-staged-config.d.mts +1 -0
  563. package/dist/lib/esm/script-utils/npm-publish.d.mts +1 -0
  564. package/dist/lib/esm/script-utils/npm-run.d.mts +1 -0
  565. package/dist/lib/esm/script-utils/npm.d.mts +1 -0
  566. package/dist/lib/esm/script-utils/obsidian-dev-utils-repo-paths.d.mts +1 -0
  567. package/dist/lib/esm/script-utils/root.d.mts +1 -0
  568. package/dist/lib/esm/script-utils/test-runners/index.d.mts +1 -0
  569. package/dist/lib/esm/script-utils/test-runners/vitest.d.mts +1 -0
  570. package/dist/lib/esm/script-utils/version.d.mts +1 -0
  571. package/dist/lib/esm/strict-proxy.d.mts +1 -0
  572. package/dist/lib/esm/string.d.mts +1 -0
  573. package/dist/lib/esm/transformers/date-transformer.d.mts +1 -0
  574. package/dist/lib/esm/transformers/duration-transformer.d.mts +1 -0
  575. package/dist/lib/esm/transformers/group-transformer.d.mts +1 -0
  576. package/dist/lib/esm/transformers/index.d.mts +1 -0
  577. package/dist/lib/esm/transformers/map-transformer.d.mts +1 -0
  578. package/dist/lib/esm/transformers/set-transformer.d.mts +1 -0
  579. package/dist/lib/esm/transformers/skip-private-property-transformer.d.mts +1 -0
  580. package/dist/lib/esm/transformers/transformer.d.mts +1 -0
  581. package/dist/lib/esm/transformers/two-way-map-transformer.d.mts +1 -0
  582. package/dist/lib/esm/transformers/typed-transformer.d.mts +1 -0
  583. package/dist/lib/esm/two-way-map.d.mts +1 -0
  584. package/dist/lib/esm/type-guards.d.mts +1 -0
  585. package/dist/lib/esm/type.d.mts +1 -0
  586. package/dist/lib/esm/url.d.mts +1 -0
  587. package/dist/lib/esm/value-provider.d.mts +1 -0
  588. package/obsidian/Components/component-ex/package.json +6 -0
  589. package/obsidian/Components/registry-component/package.json +6 -0
  590. package/package.json +25 -23
  591. package/script-utils/linters/eslint-rules/require-method-template/package.json +6 -0
  592. package/dist/lib/cjs/obsidian/components/async-component.cjs +0 -183
  593. package/dist/lib/cjs/obsidian/components/async-component.d.cts +0 -43
  594. package/dist/lib/esm/obsidian/components/async-component.d.mts +0 -43
  595. package/dist/lib/esm/obsidian/components/async-component.mjs +0 -73
  596. package/obsidian/Components/async-component/package.json +0 -6
@@ -0,0 +1,130 @@
1
+ /*
2
+ THIS IS A GENERATED/BUNDLED FILE BY ESBUILD
3
+ if you want to view the source, please visit the github repository of this plugin
4
+ */
5
+
6
+ (function initEsm() {
7
+ // eslint-disable-next-line obsidianmd/no-global-this -- Actively use globalThis.
8
+ if (globalThis.process) {
9
+ return;
10
+ }
11
+
12
+ const browserProcess = {
13
+ browser: true,
14
+ cwd() {
15
+ return '/';
16
+ },
17
+ env: {},
18
+ platform: 'android'
19
+ };
20
+ // eslint-disable-next-line obsidianmd/no-global-this -- Actively use globalThis.
21
+ globalThis.process = browserProcess;
22
+ })();
23
+
24
+ import { Component } from "obsidian";
25
+ import {
26
+ noop,
27
+ noopAsyncSingletonPromise
28
+ } from "../../function.mjs";
29
+ class ComponentEx extends Component {
30
+ childrenSet = /* @__PURE__ */ new Set();
31
+ loadPromise = null;
32
+ /**
33
+ * Adds a child component.
34
+ *
35
+ * @typeParam TComponent - The type of component to add.
36
+ * @param component - The component instance to add.
37
+ * @returns The added component.
38
+ */
39
+ addChild(component) {
40
+ this._children.push(component);
41
+ this.childrenSet.add(component);
42
+ if (this._loaded) {
43
+ this.chain(() => this.extractLoadPromisable(component));
44
+ }
45
+ return component;
46
+ }
47
+ /**
48
+ * Loads the component.
49
+ *
50
+ * @returns Despite the declared `void` return type, this method returns a {@link Promise} that resolves when the component is loaded or `null` if the component if fully synchronous.
51
+ */
52
+ load() {
53
+ if (this._loaded) {
54
+ return;
55
+ }
56
+ this._loaded = true;
57
+ this.onload();
58
+ const onloadAsyncPromise = this.onloadAsync();
59
+ if (onloadAsyncPromise !== noopAsyncSingletonPromise) {
60
+ this.chain(() => onloadAsyncPromise);
61
+ }
62
+ for (const child of this._children.slice()) {
63
+ this.chain(() => this.extractLoadPromisable(child));
64
+ }
65
+ if (this.loadPromise) {
66
+ return this.loadPromise;
67
+ }
68
+ }
69
+ /**
70
+ * Loads the component with promises.
71
+ *
72
+ * @returns A {@link Promise} that resolves when the component is loaded or `null` if the component and its children don't use `async` logic.
73
+ */
74
+ loadWithPromises() {
75
+ this.load();
76
+ return this.loadPromise;
77
+ }
78
+ /**
79
+ * Asynchronously loads the component.
80
+ *
81
+ * Override to add async load logic, which is executed after {@link Component.onload}.
82
+ *
83
+ * @returns A {@link Promise} that resolves when the component is loaded.
84
+ */
85
+ onloadAsync() {
86
+ return noopAsyncSingletonPromise;
87
+ }
88
+ /**
89
+ * Removes a child component.
90
+ *
91
+ * @typeParam TComponent - The type of component to remove.
92
+ * @param component - The component instance to remove.
93
+ * @returns The removed component.
94
+ */
95
+ removeChild(component) {
96
+ super.removeChild(component);
97
+ this.childrenSet.delete(component);
98
+ return component;
99
+ }
100
+ /**
101
+ * Disposes of the component.
102
+ */
103
+ [Symbol.dispose]() {
104
+ this.unload();
105
+ }
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
+ extractLoadPromisable(component) {
118
+ if (!this.childrenSet.has(component)) {
119
+ return null;
120
+ }
121
+ if (component instanceof ComponentEx) {
122
+ return component.loadWithPromises();
123
+ }
124
+ return component.load();
125
+ }
126
+ }
127
+ export {
128
+ ComponentEx
129
+ };
130
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vLi4vc3JjL29ic2lkaWFuL2NvbXBvbmVudHMvY29tcG9uZW50LWV4LnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyIvKipcbiAqIEBmaWxlXG4gKlxuICogRXh0ZW5kZWQgQ29tcG9uZW50XG4gKi9cblxuaW1wb3J0IHR5cGUgeyBQcm9taXNhYmxlIH0gZnJvbSAndHlwZS1mZXN0JztcblxuaW1wb3J0IHsgQ29tcG9uZW50IH0gZnJvbSAnb2JzaWRpYW4nO1xuXG5pbXBvcnQge1xuICBub29wLFxuICBub29wQXN5bmNTaW5nbGV0b25Qcm9taXNlXG59IGZyb20gJy4uLy4uL2Z1bmN0aW9uLnRzJztcblxuLyoqXG4gKiBFeHRlbmRlZCBDb21wb25lbnRcbiAqL1xuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG9ic2lkaWFuLWRldi11dGlscy9yZXF1aXJlLWNvbXBvbmVudC1zdWZmaXggLS0gRXh0ZW5kZWQgYmFzZSBjbGFzcy5cbmV4cG9ydCBjbGFzcyBDb21wb25lbnRFeCBleHRlbmRzIENvbXBvbmVudCBpbXBsZW1lbnRzIERpc3Bvc2FibGUge1xuICBwcml2YXRlIHJlYWRvbmx5IGNoaWxkcmVuU2V0ID0gbmV3IFNldDxDb21wb25lbnQ+KCk7XG4gIHByaXZhdGUgbG9hZFByb21pc2U6IG51bGwgfCBQcm9taXNlPHZvaWQ+ID0gbnVsbDtcblxuICAvKipcbiAgICogQWRkcyBhIGNoaWxkIGNvbXBvbmVudC5cbiAgICpcbiAgICogQHR5cGVQYXJhbSBUQ29tcG9uZW50IC0gVGhlIHR5cGUgb2YgY29tcG9uZW50IHRvIGFkZC5cbiAgICogQHBhcmFtIGNvbXBvbmVudCAtIFRoZSBjb21wb25lbnQgaW5zdGFuY2UgdG8gYWRkLlxuICAgKiBAcmV0dXJucyBUaGUgYWRkZWQgY29tcG9uZW50LlxuICAgKi9cbiAgcHVibGljIG92ZXJyaWRlIGFkZENoaWxkPFRDb21wb25lbnQgZXh0ZW5kcyBDb21wb25lbnQ+KGNvbXBvbmVudDogVENvbXBvbmVudCk6IFRDb21wb25lbnQge1xuICAgIHRoaXMuX2NoaWxkcmVuLnB1c2goY29tcG9uZW50KTtcbiAgICB0aGlzLmNoaWxkcmVuU2V0LmFkZChjb21wb25lbnQpO1xuXG4gICAgaWYgKHRoaXMuX2xvYWRlZCkge1xuICAgICAgdGhpcy5jaGFpbigoKSA9PiB0aGlzLmV4dHJhY3RMb2FkUHJvbWlzYWJsZShjb21wb25lbnQpKTtcbiAgICB9XG5cbiAgICByZXR1cm4gY29tcG9uZW50O1xuICB9XG5cbiAgLyoqXG4gICAqIExvYWRzIHRoZSBjb21wb25lbnQuXG4gICAqXG4gICAqIEByZXR1cm5zIERlc3BpdGUgdGhlIGRlY2xhcmVkIGB2b2lkYCByZXR1cm4gdHlwZSwgdGhpcyBtZXRob2QgcmV0dXJucyBhIHtAbGluayBQcm9taXNlfSB0aGF0IHJlc29sdmVzIHdoZW4gdGhlIGNvbXBvbmVudCBpcyBsb2FkZWQgb3IgYG51bGxgIGlmIHRoZSBjb21wb25lbnQgaWYgZnVsbHkgc3luY2hyb25vdXMuXG4gICAqL1xuICBwdWJsaWMgb3ZlcnJpZGUgbG9hZCgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5fbG9hZGVkKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5fbG9hZGVkID0gdHJ1ZTtcblxuICAgIHRoaXMub25sb2FkKCk7XG4gICAgY29uc3Qgb25sb2FkQXN5bmNQcm9taXNlID0gdGhpcy5vbmxvYWRBc3luYygpO1xuICAgIGlmIChvbmxvYWRBc3luY1Byb21pc2UgIT09IG5vb3BBc3luY1NpbmdsZXRvblByb21pc2UpIHtcbiAgICAgIHRoaXMuY2hhaW4oKCkgPT4gb25sb2FkQXN5bmNQcm9taXNlKTtcbiAgICB9XG5cbiAgICBmb3IgKGNvbnN0IGNoaWxkIG9mIHRoaXMuX2NoaWxkcmVuLnNsaWNlKCkpIHtcbiAgICAgIHRoaXMuY2hhaW4oKCkgPT4gdGhpcy5leHRyYWN0TG9hZFByb21pc2FibGUoY2hpbGQpKTtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5sb2FkUHJvbWlzZSkge1xuICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1pbnZhbGlkLXZvaWQtdHlwZSwgbm8tcmVzdHJpY3RlZC1zeW50YXggLS0gV2UgbmVlZCB0byBieXBhc3MgdHlwZSBzeXN0ZW0gdG8gcmV0dXJuIGBQcm9taXNlPHZvaWQ+YC5cbiAgICAgIHJldHVybiB0aGlzLmxvYWRQcm9taXNlIGFzIHVua25vd24gYXMgdm9pZDtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogTG9hZHMgdGhlIGNvbXBvbmVudCB3aXRoIHByb21pc2VzLlxuICAgKlxuICAgKiBAcmV0dXJucyBBIHtAbGluayBQcm9taXNlfSB0aGF0IHJlc29sdmVzIHdoZW4gdGhlIGNvbXBvbmVudCBpcyBsb2FkZWQgb3IgYG51bGxgIGlmIHRoZSBjb21wb25lbnQgYW5kIGl0cyBjaGlsZHJlbiBkb24ndCB1c2UgYGFzeW5jYCBsb2dpYy5cbiAgICovXG4gIHB1YmxpYyBsb2FkV2l0aFByb21pc2VzKCk6IG51bGwgfCBQcm9taXNlPHZvaWQ+IHtcbiAgICB0aGlzLmxvYWQoKTtcbiAgICByZXR1cm4gdGhpcy5sb2FkUHJvbWlzZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBBc3luY2hyb25vdXNseSBsb2FkcyB0aGUgY29tcG9uZW50LlxuICAgKlxuICAgKiBPdmVycmlkZSB0byBhZGQgYXN5bmMgbG9hZCBsb2dpYywgd2hpY2ggaXMgZXhlY3V0ZWQgYWZ0ZXIge0BsaW5rIENvbXBvbmVudC5vbmxvYWR9LlxuICAgKlxuICAgKiBAcmV0dXJucyBBIHtAbGluayBQcm9taXNlfSB0aGF0IHJlc29sdmVzIHdoZW4gdGhlIGNvbXBvbmVudCBpcyBsb2FkZWQuXG4gICAqL1xuICBwdWJsaWMgb25sb2FkQXN5bmMoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgcmV0dXJuIG5vb3BBc3luY1NpbmdsZXRvblByb21pc2U7XG4gIH1cblxuICAvKipcbiAgICogUmVtb3ZlcyBhIGNoaWxkIGNvbXBvbmVudC5cbiAgICpcbiAgICogQHR5cGVQYXJhbSBUQ29tcG9uZW50IC0gVGhlIHR5cGUgb2YgY29tcG9uZW50IHRvIHJlbW92ZS5cbiAgICogQHBhcmFtIGNvbXBvbmVudCAtIFRoZSBjb21wb25lbnQgaW5zdGFuY2UgdG8gcmVtb3ZlLlxuICAgKiBAcmV0dXJucyBUaGUgcmVtb3ZlZCBjb21wb25lbnQuXG4gICAqL1xuICBwdWJsaWMgb3ZlcnJpZGUgcmVtb3ZlQ2hpbGQ8VENvbXBvbmVudCBleHRlbmRzIENvbXBvbmVudD4oY29tcG9uZW50OiBUQ29tcG9uZW50KTogVENvbXBvbmVudCB7XG4gICAgc3VwZXIucmVtb3ZlQ2hpbGQoY29tcG9uZW50KTtcbiAgICB0aGlzLmNoaWxkcmVuU2V0LmRlbGV0ZShjb21wb25lbnQpO1xuICAgIHJldHVybiBjb21wb25lbnQ7XG4gIH1cblxuICAvKipcbiAgICogRGlzcG9zZXMgb2YgdGhlIGNvbXBvbmVudC5cbiAgICovXG4gIHB1YmxpYyBbU3ltYm9sLmRpc3Bvc2VdKCk6IHZvaWQge1xuICAgIHRoaXMudW5sb2FkKCk7XG4gIH1cblxuICBwcml2YXRlIGNoYWluKHByb21pc2FibGVGbjogKCkgPT4gbnVsbCB8IFByb21pc2FibGU8dm9pZD4pOiB2b2lkIHtcbiAgICBpZiAodGhpcy5sb2FkUHJvbWlzZSkge1xuICAgICAgdGhpcy5sb2FkUHJvbWlzZSA9IHRoaXMubG9hZFByb21pc2UudGhlbigoKSA9PiBwcm9taXNhYmxlRm4oKSA/PyB1bmRlZmluZWQpO1xuICAgIH0gZWxzZSB7XG4gICAgICBjb25zdCBwcm9taXNhYmxlID0gcHJvbWlzYWJsZUZuKCk7XG4gICAgICBpZiAocHJvbWlzYWJsZSkge1xuICAgICAgICB0aGlzLmxvYWRQcm9taXNlID0gcHJvbWlzYWJsZSBpbnN0YW5jZW9mIFByb21pc2UgPyBwcm9taXNhYmxlIGFzIFByb21pc2U8dm9pZD4gOiBQcm9taXNlLnJlc29sdmUocHJvbWlzYWJsZSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgdGhpcy5sb2FkUHJvbWlzZT8uY2F0Y2gobm9vcCk7XG4gIH1cblxuICBwcml2YXRlIGV4dHJhY3RMb2FkUHJvbWlzYWJsZShjb21wb25lbnQ6IENvbXBvbmVudCk6IG51bGwgfCBQcm9taXNhYmxlPHZvaWQ+IHtcbiAgICBpZiAoIXRoaXMuY2hpbGRyZW5TZXQuaGFzKGNvbXBvbmVudCkpIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cbiAgICBpZiAoY29tcG9uZW50IGluc3RhbmNlb2YgQ29tcG9uZW50RXgpIHtcbiAgICAgIHJldHVybiBjb21wb25lbnQubG9hZFdpdGhQcm9taXNlcygpO1xuICAgIH1cbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWNvbmZ1c2luZy12b2lkLWV4cHJlc3Npb24sIEB0eXBlc2NyaXB0LWVzbGludC9uby11bm5lY2Vzc2FyeS10eXBlLWFzc2VydGlvbiAtLSBJdCBjYW4gYmUgYFByb21pc2U8dm9pZD5gIGluIHJ1bnRpbWUuIFdhbnQgZXhwbGljaXRseSBjYXN0IHRvIHNob3cgd2Uga25vdyBpdCBtYXkgYmUgcHJvbWlzZSwgZGVzcGl0ZSB0aGUgZGVjbGFyZWQgdHlwZSBgdm9pZGAuXG4gICAgcmV0dXJuIGNvbXBvbmVudC5sb2FkKCkgYXMgUHJvbWlzYWJsZTx2b2lkPjtcbiAgfVxufVxuIl0sCiAgIm1hcHBpbmdzIjogIjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFRQSxTQUFTLGlCQUFpQjtBQUUxQjtBQUFBLEVBQ0U7QUFBQSxFQUNBO0FBQUEsT0FDSztBQU1BLE1BQU0sb0JBQW9CLFVBQWdDO0FBQUEsRUFDOUMsY0FBYyxvQkFBSSxJQUFlO0FBQUEsRUFDMUMsY0FBb0M7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBUzVCLFNBQXVDLFdBQW1DO0FBQ3hGLFNBQUssVUFBVSxLQUFLLFNBQVM7QUFDN0IsU0FBSyxZQUFZLElBQUksU0FBUztBQUU5QixRQUFJLEtBQUssU0FBUztBQUNoQixXQUFLLE1BQU0sTUFBTSxLQUFLLHNCQUFzQixTQUFTLENBQUM7QUFBQSxJQUN4RDtBQUVBLFdBQU87QUFBQSxFQUNUO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBT2dCLE9BQWE7QUFDM0IsUUFBSSxLQUFLLFNBQVM7QUFDaEI7QUFBQSxJQUNGO0FBRUEsU0FBSyxVQUFVO0FBRWYsU0FBSyxPQUFPO0FBQ1osVUFBTSxxQkFBcUIsS0FBSyxZQUFZO0FBQzVDLFFBQUksdUJBQXVCLDJCQUEyQjtBQUNwRCxXQUFLLE1BQU0sTUFBTSxrQkFBa0I7QUFBQSxJQUNyQztBQUVBLGVBQVcsU0FBUyxLQUFLLFVBQVUsTUFBTSxHQUFHO0FBQzFDLFdBQUssTUFBTSxNQUFNLEtBQUssc0JBQXNCLEtBQUssQ0FBQztBQUFBLElBQ3BEO0FBRUEsUUFBSSxLQUFLLGFBQWE7QUFFcEIsYUFBTyxLQUFLO0FBQUEsSUFDZDtBQUFBLEVBQ0Y7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFPTyxtQkFBeUM7QUFDOUMsU0FBSyxLQUFLO0FBQ1YsV0FBTyxLQUFLO0FBQUEsRUFDZDtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFTTyxjQUE2QjtBQUNsQyxXQUFPO0FBQUEsRUFDVDtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFTZ0IsWUFBMEMsV0FBbUM7QUFDM0YsVUFBTSxZQUFZLFNBQVM7QUFDM0IsU0FBSyxZQUFZLE9BQU8sU0FBUztBQUNqQyxXQUFPO0FBQUEsRUFDVDtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBS0EsQ0FBUSxPQUFPLE9BQU8sSUFBVTtBQUM5QixTQUFLLE9BQU87QUFBQSxFQUNkO0FBQUEsRUFFUSxNQUFNLGNBQW1EO0FBQy9ELFFBQUksS0FBSyxhQUFhO0FBQ3BCLFdBQUssY0FBYyxLQUFLLFlBQVksS0FBSyxNQUFNLGFBQWEsS0FBSyxNQUFTO0FBQUEsSUFDNUUsT0FBTztBQUNMLFlBQU0sYUFBYSxhQUFhO0FBQ2hDLFVBQUksWUFBWTtBQUNkLGFBQUssY0FBYyxzQkFBc0IsVUFBVSxhQUE4QixRQUFRLFFBQVEsVUFBVTtBQUFBLE1BQzdHO0FBQUEsSUFDRjtBQUVBLFNBQUssYUFBYSxNQUFNLElBQUk7QUFBQSxFQUM5QjtBQUFBLEVBRVEsc0JBQXNCLFdBQStDO0FBQzNFLFFBQUksQ0FBQyxLQUFLLFlBQVksSUFBSSxTQUFTLEdBQUc7QUFDcEMsYUFBTztBQUFBLElBQ1Q7QUFDQSxRQUFJLHFCQUFxQixhQUFhO0FBQ3BDLGFBQU8sVUFBVSxpQkFBaUI7QUFBQSxJQUNwQztBQUVBLFdBQU8sVUFBVSxLQUFLO0FBQUEsRUFDeEI7QUFDRjsiLAogICJuYW1lcyI6IFtdCn0K
@@ -1,9 +1,10 @@
1
+ /// <reference path="../../library.d.mts" />
1
2
  /**
2
3
  * @file
3
4
  *
4
5
  * Component that provides namespaced console debug logging.
5
6
  */
6
- import { DisposableComponent } from './disposable-component.mjs';
7
+ import { ComponentEx } from './component-ex.mjs';
7
8
  /**
8
9
  * Provides a namespaced `consoleDebug()` method for logging.
9
10
  *
@@ -11,12 +12,8 @@ import { DisposableComponent } from './disposable-component.mjs';
11
12
  *
12
13
  * @see {@link https://github.com/mnaoumov/obsidian-dev-utils/blob/main/docs/debugging.md} for more information.
13
14
  */
14
- export declare class ConsoleDebugComponent extends DisposableComponent {
15
+ export declare class ConsoleDebugComponent extends ComponentEx {
15
16
  private readonly pluginId;
16
- /**
17
- * The singleton key for the {@link ConsoleDebugComponent} class.
18
- */
19
- static readonly COMPONENT_KEY: unique symbol;
20
17
  /**
21
18
  * Creates a new console debug component.
22
19
  *
@@ -22,8 +22,8 @@ if you want to view the source, please visit the github repository of this plugi
22
22
  })();
23
23
 
24
24
  import { getDebugger } from "../../debug.mjs";
25
- import { DisposableComponent } from "./disposable-component.mjs";
26
- class ConsoleDebugComponent extends DisposableComponent {
25
+ import { ComponentEx } from "./component-ex.mjs";
26
+ class ConsoleDebugComponent extends ComponentEx {
27
27
  /**
28
28
  * Creates a new console debug component.
29
29
  *
@@ -34,10 +34,6 @@ class ConsoleDebugComponent extends DisposableComponent {
34
34
  this.pluginId = pluginId;
35
35
  }
36
36
  pluginId;
37
- /**
38
- * The singleton key for the {@link ConsoleDebugComponent} class.
39
- */
40
- static COMPONENT_KEY = Symbol(ConsoleDebugComponent.name);
41
37
  /**
42
38
  * Logs a message to the console under the plugin's debugger namespace.
43
39
  *
@@ -53,4 +49,4 @@ class ConsoleDebugComponent extends DisposableComponent {
53
49
  export {
54
50
  ConsoleDebugComponent
55
51
  };
56
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vLi4vc3JjL29ic2lkaWFuL2NvbXBvbmVudHMvY29uc29sZS1kZWJ1Zy1jb21wb25lbnQudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbIi8qKlxuICogQGZpbGVcbiAqXG4gKiBDb21wb25lbnQgdGhhdCBwcm92aWRlcyBuYW1lc3BhY2VkIGNvbnNvbGUgZGVidWcgbG9nZ2luZy5cbiAqL1xuXG5pbXBvcnQgeyBnZXREZWJ1Z2dlciB9IGZyb20gJy4uLy4uL2RlYnVnLnRzJztcbmltcG9ydCB7IERpc3Bvc2FibGVDb21wb25lbnQgfSBmcm9tICcuL2Rpc3Bvc2FibGUtY29tcG9uZW50LnRzJztcblxuLyoqXG4gKiBQcm92aWRlcyBhIG5hbWVzcGFjZWQgYGNvbnNvbGVEZWJ1ZygpYCBtZXRob2QgZm9yIGxvZ2dpbmcuXG4gKlxuICogTWVzc2FnZXMgYXJlIG5vdCBzaG93biBieSBkZWZhdWx0IFx1MjAxNCBlbmFibGUgdGhlIHBsdWdpbidzIGRlYnVnZ2VyIG5hbWVzcGFjZSB0byBzZWUgdGhlbS5cbiAqXG4gKiBAc2VlIHtAbGluayBodHRwczovL2dpdGh1Yi5jb20vbW5hb3Vtb3Yvb2JzaWRpYW4tZGV2LXV0aWxzL2Jsb2IvbWFpbi9kb2NzL2RlYnVnZ2luZy5tZH0gZm9yIG1vcmUgaW5mb3JtYXRpb24uXG4gKi9cbmV4cG9ydCBjbGFzcyBDb25zb2xlRGVidWdDb21wb25lbnQgZXh0ZW5kcyBEaXNwb3NhYmxlQ29tcG9uZW50IHtcbiAgLyoqXG4gICAqIFRoZSBzaW5nbGV0b24ga2V5IGZvciB0aGUge0BsaW5rIENvbnNvbGVEZWJ1Z0NvbXBvbmVudH0gY2xhc3MuXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IENPTVBPTkVOVF9LRVkgPSBTeW1ib2woQ29uc29sZURlYnVnQ29tcG9uZW50Lm5hbWUpO1xuXG4gIC8qKlxuICAgKiBDcmVhdGVzIGEgbmV3IGNvbnNvbGUgZGVidWcgY29tcG9uZW50LlxuICAgKlxuICAgKiBAcGFyYW0gcGx1Z2luSWQgLSBUaGUgcGx1Z2luIElEICh1c2VkIGFzIHRoZSBkZWJ1Z2dlciBuYW1lc3BhY2UpLlxuICAgKi9cbiAgcHVibGljIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgcGx1Z2luSWQ6IHN0cmluZykge1xuICAgIHN1cGVyKCk7XG4gIH1cblxuICAvKipcbiAgICogTG9ncyBhIG1lc3NhZ2UgdG8gdGhlIGNvbnNvbGUgdW5kZXIgdGhlIHBsdWdpbidzIGRlYnVnZ2VyIG5hbWVzcGFjZS5cbiAgICpcbiAgICogQHBhcmFtIG1lc3NhZ2UgLSBUaGUgbWVzc2FnZSB0byBsb2cuXG4gICAqIEBwYXJhbSBhcmdzIC0gQWRkaXRpb25hbCBhcmd1bWVudHMgdG8gbG9nLlxuICAgKi9cbiAgcHVibGljIGRlYnVnKG1lc3NhZ2U6IHN0cmluZywgLi4uYXJnczogdW5rbm93bltdKTogdm9pZCB7XG4gICAgLy8gU2tpcCB0aGUgYGRlYnVnKClgIGNhbGwgaXRzZWxmXG4gICAgY29uc3QgRlJBTUVTX1RPX1NLSVAgPSAxO1xuICAgIGNvbnN0IHBsdWdpbkRlYnVnZ2VyID0gZ2V0RGVidWdnZXIodGhpcy5wbHVnaW5JZCwgRlJBTUVTX1RPX1NLSVApO1xuICAgIHBsdWdpbkRlYnVnZ2VyKG1lc3NhZ2UsIC4uLmFyZ3MpO1xuICB9XG59XG4iXSwKICAibWFwcGluZ3MiOiAiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQU1BLFNBQVMsbUJBQW1CO0FBQzVCLFNBQVMsMkJBQTJCO0FBUzdCLE1BQU0sOEJBQThCLG9CQUFvQjtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQVd0RCxZQUE2QixVQUFrQjtBQUNwRCxVQUFNO0FBRDRCO0FBQUEsRUFFcEM7QUFBQSxFQUZvQztBQUFBO0FBQUE7QUFBQTtBQUFBLEVBUHBDLE9BQXVCLGdCQUFnQixPQUFPLHNCQUFzQixJQUFJO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFpQmpFLE1BQU0sWUFBb0IsTUFBdUI7QUFFdEQsVUFBTSxpQkFBaUI7QUFDdkIsVUFBTSxpQkFBaUIsWUFBWSxLQUFLLFVBQVUsY0FBYztBQUNoRSxtQkFBZSxTQUFTLEdBQUcsSUFBSTtBQUFBLEVBQ2pDO0FBQ0Y7IiwKICAibmFtZXMiOiBbXQp9Cg==
52
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vLi4vc3JjL29ic2lkaWFuL2NvbXBvbmVudHMvY29uc29sZS1kZWJ1Zy1jb21wb25lbnQudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbIi8qKlxuICogQGZpbGVcbiAqXG4gKiBDb21wb25lbnQgdGhhdCBwcm92aWRlcyBuYW1lc3BhY2VkIGNvbnNvbGUgZGVidWcgbG9nZ2luZy5cbiAqL1xuXG5pbXBvcnQgeyBnZXREZWJ1Z2dlciB9IGZyb20gJy4uLy4uL2RlYnVnLnRzJztcbmltcG9ydCB7IENvbXBvbmVudEV4IH0gZnJvbSAnLi9jb21wb25lbnQtZXgudHMnO1xuXG4vKipcbiAqIFByb3ZpZGVzIGEgbmFtZXNwYWNlZCBgY29uc29sZURlYnVnKClgIG1ldGhvZCBmb3IgbG9nZ2luZy5cbiAqXG4gKiBNZXNzYWdlcyBhcmUgbm90IHNob3duIGJ5IGRlZmF1bHQgXHUyMDE0IGVuYWJsZSB0aGUgcGx1Z2luJ3MgZGVidWdnZXIgbmFtZXNwYWNlIHRvIHNlZSB0aGVtLlxuICpcbiAqIEBzZWUge0BsaW5rIGh0dHBzOi8vZ2l0aHViLmNvbS9tbmFvdW1vdi9vYnNpZGlhbi1kZXYtdXRpbHMvYmxvYi9tYWluL2RvY3MvZGVidWdnaW5nLm1kfSBmb3IgbW9yZSBpbmZvcm1hdGlvbi5cbiAqL1xuZXhwb3J0IGNsYXNzIENvbnNvbGVEZWJ1Z0NvbXBvbmVudCBleHRlbmRzIENvbXBvbmVudEV4IHtcbiAgLyoqXG4gICAqIENyZWF0ZXMgYSBuZXcgY29uc29sZSBkZWJ1ZyBjb21wb25lbnQuXG4gICAqXG4gICAqIEBwYXJhbSBwbHVnaW5JZCAtIFRoZSBwbHVnaW4gSUQgKHVzZWQgYXMgdGhlIGRlYnVnZ2VyIG5hbWVzcGFjZSkuXG4gICAqL1xuICBwdWJsaWMgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSBwbHVnaW5JZDogc3RyaW5nKSB7XG4gICAgc3VwZXIoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBMb2dzIGEgbWVzc2FnZSB0byB0aGUgY29uc29sZSB1bmRlciB0aGUgcGx1Z2luJ3MgZGVidWdnZXIgbmFtZXNwYWNlLlxuICAgKlxuICAgKiBAcGFyYW0gbWVzc2FnZSAtIFRoZSBtZXNzYWdlIHRvIGxvZy5cbiAgICogQHBhcmFtIGFyZ3MgLSBBZGRpdGlvbmFsIGFyZ3VtZW50cyB0byBsb2cuXG4gICAqL1xuICBwdWJsaWMgZGVidWcobWVzc2FnZTogc3RyaW5nLCAuLi5hcmdzOiB1bmtub3duW10pOiB2b2lkIHtcbiAgICAvLyBTa2lwIHRoZSBgZGVidWcoKWAgY2FsbCBpdHNlbGZcbiAgICBjb25zdCBGUkFNRVNfVE9fU0tJUCA9IDE7XG4gICAgY29uc3QgcGx1Z2luRGVidWdnZXIgPSBnZXREZWJ1Z2dlcih0aGlzLnBsdWdpbklkLCBGUkFNRVNfVE9fU0tJUCk7XG4gICAgcGx1Z2luRGVidWdnZXIobWVzc2FnZSwgLi4uYXJncyk7XG4gIH1cbn1cbiJdLAogICJtYXBwaW5ncyI6ICI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBTUEsU0FBUyxtQkFBbUI7QUFDNUIsU0FBUyxtQkFBbUI7QUFTckIsTUFBTSw4QkFBOEIsWUFBWTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQU05QyxZQUE2QixVQUFrQjtBQUNwRCxVQUFNO0FBRDRCO0FBQUEsRUFFcEM7QUFBQSxFQUZvQztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBVTdCLE1BQU0sWUFBb0IsTUFBdUI7QUFFdEQsVUFBTSxpQkFBaUI7QUFDdkIsVUFBTSxpQkFBaUIsWUFBWSxLQUFLLFVBQVUsY0FBYztBQUNoRSxtQkFBZSxTQUFTLEdBQUcsSUFBSTtBQUFBLEVBQ2pDO0FBQ0Y7IiwKICAibmFtZXMiOiBbXQp9Cg==
@@ -1,3 +1,4 @@
1
+ /// <reference path="../../library.d.mts" />
1
2
  /**
2
3
  * @file
3
4
  *
@@ -5,16 +6,6 @@
5
6
  */
6
7
  import { Component } from 'obsidian';
7
8
  type DisposableComponentWrapper<TComponent extends Component> = Disposable & TComponent;
8
- /**
9
- * A component that implements the Disposable interface for automatic resource cleanup.
10
- *
11
- * This class extends Obsidian's Component and provides a `Symbol.dispose` method
12
- * that delegates to the component's unload lifecycle method.
13
- */
14
- export declare class DisposableComponent extends Component implements Disposable {
15
- /** */
16
- [Symbol.dispose](): void;
17
- }
18
9
  /**
19
10
  * Convert component to a Disposable interface by adding a Symbol.dispose method.
20
11
  *
@@ -22,12 +22,6 @@ 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
- class DisposableComponent extends Component {
26
- /** */
27
- [Symbol.dispose]() {
28
- this.unload();
29
- }
30
- }
31
25
  function asDisposableComponent(component) {
32
26
  if (isDisposable(component)) {
33
27
  return component;
@@ -43,8 +37,7 @@ function isDisposable(obj) {
43
37
  return !!disposable[Symbol.dispose];
44
38
  }
45
39
  export {
46
- DisposableComponent,
47
40
  asDisposableComponent,
48
41
  isDisposable
49
42
  };
50
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vLi4vc3JjL29ic2lkaWFuL2NvbXBvbmVudHMvZGlzcG9zYWJsZS1jb21wb25lbnQudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbIi8qKlxuICogQGZpbGVcbiAqXG4gKiBEaXNwb3NhYmxlIGNvbXBvbmVudCBiYXNlIGNsYXNzIGFuZCB1dGlsaXRpZXMgZm9yIGB1c2luZ2AgZGVjbGFyYXRpb25zLlxuICovXG5cbmltcG9ydCB7IENvbXBvbmVudCB9IGZyb20gJ29ic2lkaWFuJztcblxudHlwZSBEaXNwb3NhYmxlQ29tcG9uZW50V3JhcHBlcjxUQ29tcG9uZW50IGV4dGVuZHMgQ29tcG9uZW50PiA9IERpc3Bvc2FibGUgJiBUQ29tcG9uZW50O1xuXG4vKipcbiAqIEEgY29tcG9uZW50IHRoYXQgaW1wbGVtZW50cyB0aGUgRGlzcG9zYWJsZSBpbnRlcmZhY2UgZm9yIGF1dG9tYXRpYyByZXNvdXJjZSBjbGVhbnVwLlxuICpcbiAqIFRoaXMgY2xhc3MgZXh0ZW5kcyBPYnNpZGlhbidzIENvbXBvbmVudCBhbmQgcHJvdmlkZXMgYSBgU3ltYm9sLmRpc3Bvc2VgIG1ldGhvZFxuICogdGhhdCBkZWxlZ2F0ZXMgdG8gdGhlIGNvbXBvbmVudCdzIHVubG9hZCBsaWZlY3ljbGUgbWV0aG9kLlxuICovXG5leHBvcnQgY2xhc3MgRGlzcG9zYWJsZUNvbXBvbmVudCBleHRlbmRzIENvbXBvbmVudCBpbXBsZW1lbnRzIERpc3Bvc2FibGUge1xuICAvKiogKi9cbiAgcHVibGljIFtTeW1ib2wuZGlzcG9zZV0oKTogdm9pZCB7XG4gICAgdGhpcy51bmxvYWQoKTtcbiAgfVxufVxuXG4vKipcbiAqIENvbnZlcnQgY29tcG9uZW50IHRvIGEgRGlzcG9zYWJsZSBpbnRlcmZhY2UgYnkgYWRkaW5nIGEgU3ltYm9sLmRpc3Bvc2UgbWV0aG9kLlxuICpcbiAqIEB0eXBlUGFyYW0gVENvbXBvbmVudCAtIFRoZSB0eXBlIG9mIGNvbXBvbmVudCB0byB3cmFwLCBjb25zdHJhaW5lZCB0byBleHRlbmQgQ29tcG9uZW50LlxuICpcbiAqIEBwYXJhbSBjb21wb25lbnQgLSBUaGUgY29tcG9uZW50IGluc3RhbmNlIHRvIHdyYXAgd2l0aCBEaXNwb3NhYmxlIHN1cHBvcnQuXG4gKiBAcmV0dXJucyBUaGUgY29tcG9uZW50IGNhc3QgdG8gYERpc3Bvc2FibGVDb21wb25lbnRXcmFwcGVyYCB3aXRoIGBTeW1ib2wuZGlzcG9zZWAgYXR0YWNoZWQuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBhc0Rpc3Bvc2FibGVDb21wb25lbnQ8VENvbXBvbmVudCBleHRlbmRzIENvbXBvbmVudD4oY29tcG9uZW50OiBUQ29tcG9uZW50KTogRGlzcG9zYWJsZUNvbXBvbmVudFdyYXBwZXI8VENvbXBvbmVudD4ge1xuICBpZiAoaXNEaXNwb3NhYmxlKGNvbXBvbmVudCkpIHtcbiAgICByZXR1cm4gY29tcG9uZW50O1xuICB9XG5cbiAgY29uc3QgZGlzcG9zYWJsZSA9IGNvbXBvbmVudCBhcyBQYXJ0aWFsPERpc3Bvc2FibGU+O1xuICBkaXNwb3NhYmxlW1N5bWJvbC5kaXNwb3NlXSA9ICgpOiB2b2lkID0+IHtcbiAgICBjb21wb25lbnQudW5sb2FkKCk7XG4gIH07XG4gIHJldHVybiBkaXNwb3NhYmxlIGFzIERpc3Bvc2FibGVDb21wb25lbnRXcmFwcGVyPFRDb21wb25lbnQ+O1xufVxuXG4vKipcbiAqIFR5cGUgZ3VhcmQgdG8gY2hlY2sgaWYgYW4gb2JqZWN0IGltcGxlbWVudHMgdGhlIGBEaXNwb3NhYmxlYCBpbnRlcmZhY2UuXG4gKlxuICogQHBhcmFtIG9iaiBUaGUgb2JqZWN0IHRvIGNoZWNrIGZvciB0aGUgYERpc3Bvc2FibGVgIGludGVyZmFjZVxuICogQHJldHVybnMgV2hldGhlciB0aGUgb2JqZWN0IGltcGxlbWVudHMgdGhlIGBEaXNwb3NhYmxlYCBpbnRlcmZhY2VcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGlzRGlzcG9zYWJsZShvYmo6IHVua25vd24pOiBvYmogaXMgRGlzcG9zYWJsZSB7XG4gIGNvbnN0IGRpc3Bvc2FibGUgPSBvYmogYXMgUGFydGlhbDxEaXNwb3NhYmxlPjtcbiAgcmV0dXJuICEhZGlzcG9zYWJsZVtTeW1ib2wuZGlzcG9zZV07XG59XG4iXSwKICAibWFwcGluZ3MiOiAiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQU1BLFNBQVMsaUJBQWlCO0FBVW5CLE1BQU0sNEJBQTRCLFVBQWdDO0FBQUE7QUFBQSxFQUV2RSxDQUFRLE9BQU8sT0FBTyxJQUFVO0FBQzlCLFNBQUssT0FBTztBQUFBLEVBQ2Q7QUFDRjtBQVVPLFNBQVMsc0JBQW9ELFdBQStEO0FBQ2pJLE1BQUksYUFBYSxTQUFTLEdBQUc7QUFDM0IsV0FBTztBQUFBLEVBQ1Q7QUFFQSxRQUFNLGFBQWE7QUFDbkIsYUFBVyxPQUFPLE9BQU8sSUFBSSxNQUFZO0FBQ3ZDLGNBQVUsT0FBTztBQUFBLEVBQ25CO0FBQ0EsU0FBTztBQUNUO0FBUU8sU0FBUyxhQUFhLEtBQWlDO0FBQzVELFFBQU0sYUFBYTtBQUNuQixTQUFPLENBQUMsQ0FBQyxXQUFXLE9BQU8sT0FBTztBQUNwQzsiLAogICJuYW1lcyI6IFtdCn0K
43
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vLi4vc3JjL29ic2lkaWFuL2NvbXBvbmVudHMvZGlzcG9zYWJsZS1jb21wb25lbnQudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbIi8qKlxuICogQGZpbGVcbiAqXG4gKiBEaXNwb3NhYmxlIGNvbXBvbmVudCBiYXNlIGNsYXNzIGFuZCB1dGlsaXRpZXMgZm9yIGB1c2luZ2AgZGVjbGFyYXRpb25zLlxuICovXG5cbmltcG9ydCB7IENvbXBvbmVudCB9IGZyb20gJ29ic2lkaWFuJztcblxudHlwZSBEaXNwb3NhYmxlQ29tcG9uZW50V3JhcHBlcjxUQ29tcG9uZW50IGV4dGVuZHMgQ29tcG9uZW50PiA9IERpc3Bvc2FibGUgJiBUQ29tcG9uZW50O1xuXG4vKipcbiAqIENvbnZlcnQgY29tcG9uZW50IHRvIGEgRGlzcG9zYWJsZSBpbnRlcmZhY2UgYnkgYWRkaW5nIGEgU3ltYm9sLmRpc3Bvc2UgbWV0aG9kLlxuICpcbiAqIEB0eXBlUGFyYW0gVENvbXBvbmVudCAtIFRoZSB0eXBlIG9mIGNvbXBvbmVudCB0byB3cmFwLCBjb25zdHJhaW5lZCB0byBleHRlbmQgQ29tcG9uZW50LlxuICpcbiAqIEBwYXJhbSBjb21wb25lbnQgLSBUaGUgY29tcG9uZW50IGluc3RhbmNlIHRvIHdyYXAgd2l0aCBEaXNwb3NhYmxlIHN1cHBvcnQuXG4gKiBAcmV0dXJucyBUaGUgY29tcG9uZW50IGNhc3QgdG8gYERpc3Bvc2FibGVDb21wb25lbnRXcmFwcGVyYCB3aXRoIGBTeW1ib2wuZGlzcG9zZWAgYXR0YWNoZWQuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBhc0Rpc3Bvc2FibGVDb21wb25lbnQ8VENvbXBvbmVudCBleHRlbmRzIENvbXBvbmVudD4oY29tcG9uZW50OiBUQ29tcG9uZW50KTogRGlzcG9zYWJsZUNvbXBvbmVudFdyYXBwZXI8VENvbXBvbmVudD4ge1xuICBpZiAoaXNEaXNwb3NhYmxlKGNvbXBvbmVudCkpIHtcbiAgICByZXR1cm4gY29tcG9uZW50O1xuICB9XG5cbiAgY29uc3QgZGlzcG9zYWJsZSA9IGNvbXBvbmVudCBhcyBQYXJ0aWFsPERpc3Bvc2FibGU+O1xuICBkaXNwb3NhYmxlW1N5bWJvbC5kaXNwb3NlXSA9ICgpOiB2b2lkID0+IHtcbiAgICBjb21wb25lbnQudW5sb2FkKCk7XG4gIH07XG4gIHJldHVybiBkaXNwb3NhYmxlIGFzIERpc3Bvc2FibGVDb21wb25lbnRXcmFwcGVyPFRDb21wb25lbnQ+O1xufVxuXG4vKipcbiAqIFR5cGUgZ3VhcmQgdG8gY2hlY2sgaWYgYW4gb2JqZWN0IGltcGxlbWVudHMgdGhlIGBEaXNwb3NhYmxlYCBpbnRlcmZhY2UuXG4gKlxuICogQHBhcmFtIG9iaiBUaGUgb2JqZWN0IHRvIGNoZWNrIGZvciB0aGUgYERpc3Bvc2FibGVgIGludGVyZmFjZVxuICogQHJldHVybnMgV2hldGhlciB0aGUgb2JqZWN0IGltcGxlbWVudHMgdGhlIGBEaXNwb3NhYmxlYCBpbnRlcmZhY2VcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGlzRGlzcG9zYWJsZShvYmo6IHVua25vd24pOiBvYmogaXMgRGlzcG9zYWJsZSB7XG4gIGNvbnN0IGRpc3Bvc2FibGUgPSBvYmogYXMgUGFydGlhbDxEaXNwb3NhYmxlPjtcbiAgcmV0dXJuICEhZGlzcG9zYWJsZVtTeW1ib2wuZGlzcG9zZV07XG59XG4iXSwKICAibWFwcGluZ3MiOiAiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQU1BLFNBQVMsaUJBQWlCO0FBWW5CLFNBQVMsc0JBQW9ELFdBQStEO0FBQ2pJLE1BQUksYUFBYSxTQUFTLEdBQUc7QUFDM0IsV0FBTztBQUFBLEVBQ1Q7QUFFQSxRQUFNLGFBQWE7QUFDbkIsYUFBVyxPQUFPLE9BQU8sSUFBSSxNQUFZO0FBQ3ZDLGNBQVUsT0FBTztBQUFBLEVBQ25CO0FBQ0EsU0FBTztBQUNUO0FBUU8sU0FBUyxhQUFhLEtBQWlDO0FBQzVELFFBQU0sYUFBYTtBQUNuQixTQUFPLENBQUMsQ0FBQyxXQUFXLE9BQU8sT0FBTztBQUNwQzsiLAogICJuYW1lcyI6IFtdCn0K
@@ -1,19 +1,16 @@
1
+ /// <reference path="../../library.d.mts" />
1
2
  /**
2
3
  * @file
3
4
  *
4
5
  * Component that initializes i18n translations.
5
6
  */
6
7
  import type { TranslationsMap } from '../i18n/i18n.mjs';
7
- import { AsyncComponent } from './async-component.mjs';
8
+ import { ComponentEx } from './component-ex.mjs';
8
9
  /**
9
10
  * Initializes the i18n module with the provided translations map.
10
11
  */
11
- export declare class I18nComponent extends AsyncComponent {
12
+ export declare class I18nComponent extends ComponentEx {
12
13
  private readonly translationsMap;
13
- /**
14
- * The singleton key for the {@link I18nComponent} class.
15
- */
16
- static readonly COMPONENT_KEY: unique symbol;
17
14
  /**
18
15
  * Creates a new i18n component.
19
16
  *
@@ -23,5 +20,5 @@ export declare class I18nComponent extends AsyncComponent {
23
20
  /**
24
21
  * Initializes i18n.
25
22
  */
26
- onload(): Promise<void>;
23
+ onloadAsync(): Promise<void>;
27
24
  }
@@ -23,8 +23,8 @@ if you want to view the source, please visit the github repository of this plugi
23
23
 
24
24
  import { initI18N } from "../i18n/i18n.mjs";
25
25
  import { defaultTranslationsMap } from "../i18n/locales/translations-map.mjs";
26
- import { AsyncComponent } from "./async-component.mjs";
27
- class I18nComponent extends AsyncComponent {
26
+ import { ComponentEx } from "./component-ex.mjs";
27
+ class I18nComponent extends ComponentEx {
28
28
  /**
29
29
  * Creates a new i18n component.
30
30
  *
@@ -35,18 +35,14 @@ class I18nComponent extends AsyncComponent {
35
35
  this.translationsMap = translationsMap;
36
36
  }
37
37
  translationsMap;
38
- /**
39
- * The singleton key for the {@link I18nComponent} class.
40
- */
41
- static COMPONENT_KEY = Symbol(I18nComponent.name);
42
38
  /**
43
39
  * Initializes i18n.
44
40
  */
45
- async onload() {
41
+ async onloadAsync() {
46
42
  await initI18N(this.translationsMap);
47
43
  }
48
44
  }
49
45
  export {
50
46
  I18nComponent
51
47
  };
52
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vLi4vc3JjL29ic2lkaWFuL2NvbXBvbmVudHMvaTE4bi1jb21wb25lbnQudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbIi8qKlxuICogQGZpbGVcbiAqXG4gKiBDb21wb25lbnQgdGhhdCBpbml0aWFsaXplcyBpMThuIHRyYW5zbGF0aW9ucy5cbiAqL1xuXG5pbXBvcnQgdHlwZSB7IFRyYW5zbGF0aW9uc01hcCB9IGZyb20gJy4uL2kxOG4vaTE4bi50cyc7XG5cbmltcG9ydCB7IGluaXRJMThOIH0gZnJvbSAnLi4vaTE4bi9pMThuLnRzJztcbmltcG9ydCB7IGRlZmF1bHRUcmFuc2xhdGlvbnNNYXAgfSBmcm9tICcuLi9pMThuL2xvY2FsZXMvdHJhbnNsYXRpb25zLW1hcC50cyc7XG5pbXBvcnQgeyBBc3luY0NvbXBvbmVudCB9IGZyb20gJy4vYXN5bmMtY29tcG9uZW50LnRzJztcblxuLyoqXG4gKiBJbml0aWFsaXplcyB0aGUgaTE4biBtb2R1bGUgd2l0aCB0aGUgcHJvdmlkZWQgdHJhbnNsYXRpb25zIG1hcC5cbiAqL1xuZXhwb3J0IGNsYXNzIEkxOG5Db21wb25lbnQgZXh0ZW5kcyBBc3luY0NvbXBvbmVudCB7XG4gIC8qKlxuICAgKiBUaGUgc2luZ2xldG9uIGtleSBmb3IgdGhlIHtAbGluayBJMThuQ29tcG9uZW50fSBjbGFzcy5cbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgcmVhZG9ubHkgQ09NUE9ORU5UX0tFWSA9IFN5bWJvbChJMThuQ29tcG9uZW50Lm5hbWUpO1xuXG4gIC8qKlxuICAgKiBDcmVhdGVzIGEgbmV3IGkxOG4gY29tcG9uZW50LlxuICAgKlxuICAgKiBAcGFyYW0gdHJhbnNsYXRpb25zTWFwIC0gVGhlIHRyYW5zbGF0aW9ucyBtYXAuIERlZmF1bHRzIHRvIHRoZSBidWlsdC1pbiB0cmFuc2xhdGlvbnMuXG4gICAqL1xuICBwdWJsaWMgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSB0cmFuc2xhdGlvbnNNYXA6IFRyYW5zbGF0aW9uc01hcCA9IGRlZmF1bHRUcmFuc2xhdGlvbnNNYXApIHtcbiAgICBzdXBlcigpO1xuICB9XG5cbiAgLyoqXG4gICAqIEluaXRpYWxpemVzIGkxOG4uXG4gICAqL1xuICBwdWJsaWMgb3ZlcnJpZGUgYXN5bmMgb25sb2FkKCk6IFByb21pc2U8dm9pZD4ge1xuICAgIGF3YWl0IGluaXRJMThOKHRoaXMudHJhbnNsYXRpb25zTWFwKTtcbiAgfVxufVxuIl0sCiAgIm1hcHBpbmdzIjogIjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFRQSxTQUFTLGdCQUFnQjtBQUN6QixTQUFTLDhCQUE4QjtBQUN2QyxTQUFTLHNCQUFzQjtBQUt4QixNQUFNLHNCQUFzQixlQUFlO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBV3pDLFlBQTZCLGtCQUFtQyx3QkFBd0I7QUFDN0YsVUFBTTtBQUQ0QjtBQUFBLEVBRXBDO0FBQUEsRUFGb0M7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQVBwQyxPQUF1QixnQkFBZ0IsT0FBTyxjQUFjLElBQUk7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQWNoRSxNQUFzQixTQUF3QjtBQUM1QyxVQUFNLFNBQVMsS0FBSyxlQUFlO0FBQUEsRUFDckM7QUFDRjsiLAogICJuYW1lcyI6IFtdCn0K
48
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vLi4vc3JjL29ic2lkaWFuL2NvbXBvbmVudHMvaTE4bi1jb21wb25lbnQudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbIi8qKlxuICogQGZpbGVcbiAqXG4gKiBDb21wb25lbnQgdGhhdCBpbml0aWFsaXplcyBpMThuIHRyYW5zbGF0aW9ucy5cbiAqL1xuXG5pbXBvcnQgdHlwZSB7IFRyYW5zbGF0aW9uc01hcCB9IGZyb20gJy4uL2kxOG4vaTE4bi50cyc7XG5cbmltcG9ydCB7IGluaXRJMThOIH0gZnJvbSAnLi4vaTE4bi9pMThuLnRzJztcbmltcG9ydCB7IGRlZmF1bHRUcmFuc2xhdGlvbnNNYXAgfSBmcm9tICcuLi9pMThuL2xvY2FsZXMvdHJhbnNsYXRpb25zLW1hcC50cyc7XG5pbXBvcnQgeyBDb21wb25lbnRFeCB9IGZyb20gJy4vY29tcG9uZW50LWV4LnRzJztcblxuLyoqXG4gKiBJbml0aWFsaXplcyB0aGUgaTE4biBtb2R1bGUgd2l0aCB0aGUgcHJvdmlkZWQgdHJhbnNsYXRpb25zIG1hcC5cbiAqL1xuZXhwb3J0IGNsYXNzIEkxOG5Db21wb25lbnQgZXh0ZW5kcyBDb21wb25lbnRFeCB7XG4gIC8qKlxuICAgKiBDcmVhdGVzIGEgbmV3IGkxOG4gY29tcG9uZW50LlxuICAgKlxuICAgKiBAcGFyYW0gdHJhbnNsYXRpb25zTWFwIC0gVGhlIHRyYW5zbGF0aW9ucyBtYXAuIERlZmF1bHRzIHRvIHRoZSBidWlsdC1pbiB0cmFuc2xhdGlvbnMuXG4gICAqL1xuICBwdWJsaWMgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSB0cmFuc2xhdGlvbnNNYXA6IFRyYW5zbGF0aW9uc01hcCA9IGRlZmF1bHRUcmFuc2xhdGlvbnNNYXApIHtcbiAgICBzdXBlcigpO1xuICB9XG5cbiAgLyoqXG4gICAqIEluaXRpYWxpemVzIGkxOG4uXG4gICAqL1xuICBwdWJsaWMgb3ZlcnJpZGUgYXN5bmMgb25sb2FkQXN5bmMoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgYXdhaXQgaW5pdEkxOE4odGhpcy50cmFuc2xhdGlvbnNNYXApO1xuICB9XG59XG4iXSwKICAibWFwcGluZ3MiOiAiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQVFBLFNBQVMsZ0JBQWdCO0FBQ3pCLFNBQVMsOEJBQThCO0FBQ3ZDLFNBQVMsbUJBQW1CO0FBS3JCLE1BQU0sc0JBQXNCLFlBQVk7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFNdEMsWUFBNkIsa0JBQW1DLHdCQUF3QjtBQUM3RixVQUFNO0FBRDRCO0FBQUEsRUFFcEM7QUFBQSxFQUZvQztBQUFBO0FBQUE7QUFBQTtBQUFBLEVBT3BDLE1BQXNCLGNBQTZCO0FBQ2pELFVBQU0sU0FBUyxLQUFLLGVBQWU7QUFBQSxFQUNyQztBQUNGOyIsCiAgIm5hbWVzIjogW10KfQo=
@@ -1,8 +1,9 @@
1
+ /// <reference path="../../library.d.mts" />
1
2
  export * as 'abort-signal-component' from './abort-signal-component.mjs';
2
3
  export * as 'all-windows-event-component' from './all-windows-event-component.mjs';
3
- export * as 'async-component' from './async-component.mjs';
4
4
  export * as 'async-error-handler-component' from './async-error-handler-component.mjs';
5
5
  export * as 'async-events-component' from './async-events-component.mjs';
6
+ export * as 'component-ex' from './component-ex.mjs';
6
7
  export * as 'console-debug-component' from './console-debug-component.mjs';
7
8
  export * as 'disposable-component' from './disposable-component.mjs';
8
9
  export * as 'i18n-component' from './i18n-component.mjs';
@@ -13,3 +14,4 @@ export * as 'plugin-context-component' from './plugin-context-component.mjs';
13
14
  export * as 'plugin-notice-component' from './plugin-notice-component.mjs';
14
15
  export * as 'plugin-settings-component' from './plugin-settings-component.mjs';
15
16
  export * as 'plugin-settings-tab-component' from './plugin-settings-tab-component.mjs';
17
+ export * as 'registry-component' from './registry-component.mjs';
@@ -23,9 +23,9 @@ if you want to view the source, please visit the github repository of this plugi
23
23
 
24
24
  import * as abort_signal_component from "./abort-signal-component.mjs";
25
25
  import * as all_windows_event_component from "./all-windows-event-component.mjs";
26
- import * as async_component from "./async-component.mjs";
27
26
  import * as async_error_handler_component from "./async-error-handler-component.mjs";
28
27
  import * as async_events_component from "./async-events-component.mjs";
28
+ import * as component_ex from "./component-ex.mjs";
29
29
  import * as console_debug_component from "./console-debug-component.mjs";
30
30
  import * as disposable_component from "./disposable-component.mjs";
31
31
  import * as i18n_component from "./i18n-component.mjs";
@@ -36,12 +36,13 @@ import * as plugin_context_component from "./plugin-context-component.mjs";
36
36
  import * as plugin_notice_component from "./plugin-notice-component.mjs";
37
37
  import * as plugin_settings_component from "./plugin-settings-component.mjs";
38
38
  import * as plugin_settings_tab_component from "./plugin-settings-tab-component.mjs";
39
+ import * as registry_component from "./registry-component.mjs";
39
40
  export {
40
41
  abort_signal_component as "abort-signal-component",
41
42
  all_windows_event_component as "all-windows-event-component",
42
- async_component as "async-component",
43
43
  async_error_handler_component as "async-error-handler-component",
44
44
  async_events_component as "async-events-component",
45
+ component_ex as "component-ex",
45
46
  console_debug_component as "console-debug-component",
46
47
  disposable_component as "disposable-component",
47
48
  i18n_component as "i18n-component",
@@ -51,6 +52,7 @@ export {
51
52
  plugin_context_component as "plugin-context-component",
52
53
  plugin_notice_component as "plugin-notice-component",
53
54
  plugin_settings_component as "plugin-settings-component",
54
- plugin_settings_tab_component as "plugin-settings-tab-component"
55
+ plugin_settings_tab_component as "plugin-settings-tab-component",
56
+ registry_component as "registry-component"
55
57
  };
56
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vLi4vc3JjL29ic2lkaWFuL2NvbXBvbmVudHMvaW5kZXgudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbIi8qIFRISVMgSVMgQSBHRU5FUkFURUQvQlVORExFRCBGSUxFIEJZIEJVSUxEIFNDUklQVCAqL1xuXG5leHBvcnQgKiBhcyAnYWJvcnQtc2lnbmFsLWNvbXBvbmVudCcgZnJvbSAnLi9hYm9ydC1zaWduYWwtY29tcG9uZW50LnRzJztcbmV4cG9ydCAqIGFzICdhbGwtd2luZG93cy1ldmVudC1jb21wb25lbnQnIGZyb20gJy4vYWxsLXdpbmRvd3MtZXZlbnQtY29tcG9uZW50LnRzJztcbmV4cG9ydCAqIGFzICdhc3luYy1jb21wb25lbnQnIGZyb20gJy4vYXN5bmMtY29tcG9uZW50LnRzJztcbmV4cG9ydCAqIGFzICdhc3luYy1lcnJvci1oYW5kbGVyLWNvbXBvbmVudCcgZnJvbSAnLi9hc3luYy1lcnJvci1oYW5kbGVyLWNvbXBvbmVudC50cyc7XG5leHBvcnQgKiBhcyAnYXN5bmMtZXZlbnRzLWNvbXBvbmVudCcgZnJvbSAnLi9hc3luYy1ldmVudHMtY29tcG9uZW50LnRzJztcbmV4cG9ydCAqIGFzICdjb25zb2xlLWRlYnVnLWNvbXBvbmVudCcgZnJvbSAnLi9jb25zb2xlLWRlYnVnLWNvbXBvbmVudC50cyc7XG5leHBvcnQgKiBhcyAnZGlzcG9zYWJsZS1jb21wb25lbnQnIGZyb20gJy4vZGlzcG9zYWJsZS1jb21wb25lbnQudHMnO1xuZXhwb3J0ICogYXMgJ2kxOG4tY29tcG9uZW50JyBmcm9tICcuL2kxOG4tY29tcG9uZW50LnRzJztcbmV4cG9ydCAqIGFzICdsYXlvdXQtcmVhZHktY29tcG9uZW50JyBmcm9tICcuL2xheW91dC1yZWFkeS1jb21wb25lbnQudHMnO1xuZXhwb3J0ICogYXMgJ21lbnUtZXZlbnQtcmVnaXN0cmFyLWNvbXBvbmVudCcgZnJvbSAnLi9tZW51LWV2ZW50LXJlZ2lzdHJhci1jb21wb25lbnQudHMnO1xuZXhwb3J0ICogYXMgJ21vbmtleS1hcm91bmQtY29tcG9uZW50JyBmcm9tICcuL21vbmtleS1hcm91bmQtY29tcG9uZW50LnRzJztcbmV4cG9ydCAqIGFzICdwbHVnaW4tY29udGV4dC1jb21wb25lbnQnIGZyb20gJy4vcGx1Z2luLWNvbnRleHQtY29tcG9uZW50LnRzJztcbmV4cG9ydCAqIGFzICdwbHVnaW4tbm90aWNlLWNvbXBvbmVudCcgZnJvbSAnLi9wbHVnaW4tbm90aWNlLWNvbXBvbmVudC50cyc7XG5leHBvcnQgKiBhcyAncGx1Z2luLXNldHRpbmdzLWNvbXBvbmVudCcgZnJvbSAnLi9wbHVnaW4tc2V0dGluZ3MtY29tcG9uZW50LnRzJztcbmV4cG9ydCAqIGFzICdwbHVnaW4tc2V0dGluZ3MtdGFiLWNvbXBvbmVudCcgZnJvbSAnLi9wbHVnaW4tc2V0dGluZ3MtdGFiLWNvbXBvbmVudC50cyc7XG4iXSwKICAibWFwcGluZ3MiOiAiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUVBLFlBQVlBLDRCQUE4QjtBQUMxQyxZQUFZQyxpQ0FBbUM7QUFDL0MsWUFBWUMscUJBQXVCO0FBQ25DLFlBQVlDLG1DQUFxQztBQUNqRCxZQUFZQyw0QkFBOEI7QUFDMUMsWUFBWUMsNkJBQStCO0FBQzNDLFlBQVlDLDBCQUE0QjtBQUN4QyxZQUFZQyxvQkFBc0I7QUFDbEMsWUFBWUMsNEJBQThCO0FBQzFDLFlBQVlDLG9DQUFzQztBQUNsRCxZQUFZQyw2QkFBK0I7QUFDM0MsWUFBWUMsOEJBQWdDO0FBQzVDLFlBQVlDLDZCQUErQjtBQUMzQyxZQUFZQywrQkFBaUM7QUFDN0MsWUFBWUMsbUNBQXFDOyIsCiAgIm5hbWVzIjogWyJhYm9ydC1zaWduYWwtY29tcG9uZW50IiwgImFsbC13aW5kb3dzLWV2ZW50LWNvbXBvbmVudCIsICJhc3luYy1jb21wb25lbnQiLCAiYXN5bmMtZXJyb3ItaGFuZGxlci1jb21wb25lbnQiLCAiYXN5bmMtZXZlbnRzLWNvbXBvbmVudCIsICJjb25zb2xlLWRlYnVnLWNvbXBvbmVudCIsICJkaXNwb3NhYmxlLWNvbXBvbmVudCIsICJpMThuLWNvbXBvbmVudCIsICJsYXlvdXQtcmVhZHktY29tcG9uZW50IiwgIm1lbnUtZXZlbnQtcmVnaXN0cmFyLWNvbXBvbmVudCIsICJtb25rZXktYXJvdW5kLWNvbXBvbmVudCIsICJwbHVnaW4tY29udGV4dC1jb21wb25lbnQiLCAicGx1Z2luLW5vdGljZS1jb21wb25lbnQiLCAicGx1Z2luLXNldHRpbmdzLWNvbXBvbmVudCIsICJwbHVnaW4tc2V0dGluZ3MtdGFiLWNvbXBvbmVudCJdCn0K
58
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vLi4vc3JjL29ic2lkaWFuL2NvbXBvbmVudHMvaW5kZXgudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbIi8qIFRISVMgSVMgQSBHRU5FUkFURUQvQlVORExFRCBGSUxFIEJZIEJVSUxEIFNDUklQVCAqL1xuXG5leHBvcnQgKiBhcyAnYWJvcnQtc2lnbmFsLWNvbXBvbmVudCcgZnJvbSAnLi9hYm9ydC1zaWduYWwtY29tcG9uZW50LnRzJztcbmV4cG9ydCAqIGFzICdhbGwtd2luZG93cy1ldmVudC1jb21wb25lbnQnIGZyb20gJy4vYWxsLXdpbmRvd3MtZXZlbnQtY29tcG9uZW50LnRzJztcbmV4cG9ydCAqIGFzICdhc3luYy1lcnJvci1oYW5kbGVyLWNvbXBvbmVudCcgZnJvbSAnLi9hc3luYy1lcnJvci1oYW5kbGVyLWNvbXBvbmVudC50cyc7XG5leHBvcnQgKiBhcyAnYXN5bmMtZXZlbnRzLWNvbXBvbmVudCcgZnJvbSAnLi9hc3luYy1ldmVudHMtY29tcG9uZW50LnRzJztcbmV4cG9ydCAqIGFzICdjb21wb25lbnQtZXgnIGZyb20gJy4vY29tcG9uZW50LWV4LnRzJztcbmV4cG9ydCAqIGFzICdjb25zb2xlLWRlYnVnLWNvbXBvbmVudCcgZnJvbSAnLi9jb25zb2xlLWRlYnVnLWNvbXBvbmVudC50cyc7XG5leHBvcnQgKiBhcyAnZGlzcG9zYWJsZS1jb21wb25lbnQnIGZyb20gJy4vZGlzcG9zYWJsZS1jb21wb25lbnQudHMnO1xuZXhwb3J0ICogYXMgJ2kxOG4tY29tcG9uZW50JyBmcm9tICcuL2kxOG4tY29tcG9uZW50LnRzJztcbmV4cG9ydCAqIGFzICdsYXlvdXQtcmVhZHktY29tcG9uZW50JyBmcm9tICcuL2xheW91dC1yZWFkeS1jb21wb25lbnQudHMnO1xuZXhwb3J0ICogYXMgJ21lbnUtZXZlbnQtcmVnaXN0cmFyLWNvbXBvbmVudCcgZnJvbSAnLi9tZW51LWV2ZW50LXJlZ2lzdHJhci1jb21wb25lbnQudHMnO1xuZXhwb3J0ICogYXMgJ21vbmtleS1hcm91bmQtY29tcG9uZW50JyBmcm9tICcuL21vbmtleS1hcm91bmQtY29tcG9uZW50LnRzJztcbmV4cG9ydCAqIGFzICdwbHVnaW4tY29udGV4dC1jb21wb25lbnQnIGZyb20gJy4vcGx1Z2luLWNvbnRleHQtY29tcG9uZW50LnRzJztcbmV4cG9ydCAqIGFzICdwbHVnaW4tbm90aWNlLWNvbXBvbmVudCcgZnJvbSAnLi9wbHVnaW4tbm90aWNlLWNvbXBvbmVudC50cyc7XG5leHBvcnQgKiBhcyAncGx1Z2luLXNldHRpbmdzLWNvbXBvbmVudCcgZnJvbSAnLi9wbHVnaW4tc2V0dGluZ3MtY29tcG9uZW50LnRzJztcbmV4cG9ydCAqIGFzICdwbHVnaW4tc2V0dGluZ3MtdGFiLWNvbXBvbmVudCcgZnJvbSAnLi9wbHVnaW4tc2V0dGluZ3MtdGFiLWNvbXBvbmVudC50cyc7XG5leHBvcnQgKiBhcyAncmVnaXN0cnktY29tcG9uZW50JyBmcm9tICcuL3JlZ2lzdHJ5LWNvbXBvbmVudC50cyc7XG4iXSwKICAibWFwcGluZ3MiOiAiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUVBLFlBQVlBLDRCQUE4QjtBQUMxQyxZQUFZQyxpQ0FBbUM7QUFDL0MsWUFBWUMsbUNBQXFDO0FBQ2pELFlBQVlDLDRCQUE4QjtBQUMxQyxZQUFZQyxrQkFBb0I7QUFDaEMsWUFBWUMsNkJBQStCO0FBQzNDLFlBQVlDLDBCQUE0QjtBQUN4QyxZQUFZQyxvQkFBc0I7QUFDbEMsWUFBWUMsNEJBQThCO0FBQzFDLFlBQVlDLG9DQUFzQztBQUNsRCxZQUFZQyw2QkFBK0I7QUFDM0MsWUFBWUMsOEJBQWdDO0FBQzVDLFlBQVlDLDZCQUErQjtBQUMzQyxZQUFZQywrQkFBaUM7QUFDN0MsWUFBWUMsbUNBQXFDO0FBQ2pELFlBQVlDLHdCQUEwQjsiLAogICJuYW1lcyI6IFsiYWJvcnQtc2lnbmFsLWNvbXBvbmVudCIsICJhbGwtd2luZG93cy1ldmVudC1jb21wb25lbnQiLCAiYXN5bmMtZXJyb3ItaGFuZGxlci1jb21wb25lbnQiLCAiYXN5bmMtZXZlbnRzLWNvbXBvbmVudCIsICJjb21wb25lbnQtZXgiLCAiY29uc29sZS1kZWJ1Zy1jb21wb25lbnQiLCAiZGlzcG9zYWJsZS1jb21wb25lbnQiLCAiaTE4bi1jb21wb25lbnQiLCAibGF5b3V0LXJlYWR5LWNvbXBvbmVudCIsICJtZW51LWV2ZW50LXJlZ2lzdHJhci1jb21wb25lbnQiLCAibW9ua2V5LWFyb3VuZC1jb21wb25lbnQiLCAicGx1Z2luLWNvbnRleHQtY29tcG9uZW50IiwgInBsdWdpbi1ub3RpY2UtY29tcG9uZW50IiwgInBsdWdpbi1zZXR0aW5ncy1jb21wb25lbnQiLCAicGx1Z2luLXNldHRpbmdzLXRhYi1jb21wb25lbnQiLCAicmVnaXN0cnktY29tcG9uZW50Il0KfQo=
@@ -1,3 +1,4 @@
1
+ /// <reference path="../../library.d.mts" />
1
2
  /**
2
3
  * @file
3
4
  *
@@ -5,11 +6,11 @@
5
6
  */
6
7
  import type { App } from 'obsidian';
7
8
  import type { Promisable } from 'type-fest';
8
- import { DisposableComponent } from './disposable-component.mjs';
9
+ import { ComponentEx } from './component-ex.mjs';
9
10
  /**
10
11
  * A component that executes a callback function when the Obsidian layout becomes ready.
11
12
  */
12
- export declare class LayoutReadyComponent extends DisposableComponent {
13
+ export declare class LayoutReadyComponent extends ComponentEx {
13
14
  private readonly app;
14
15
  /**
15
16
  * Creates a new LayoutReadyComponent instance.
@@ -23,8 +23,8 @@ if you want to view the source, please visit the github repository of this plugi
23
23
 
24
24
  import { invokeAsyncSafely } from "../../async.mjs";
25
25
  import { noop } from "../../function.mjs";
26
- import { DisposableComponent } from "./disposable-component.mjs";
27
- class LayoutReadyComponent extends DisposableComponent {
26
+ import { ComponentEx } from "./component-ex.mjs";
27
+ class LayoutReadyComponent extends ComponentEx {
28
28
  /**
29
29
  * Creates a new LayoutReadyComponent instance.
30
30
  *
@@ -79,4 +79,4 @@ export {
79
79
  CallbackLayoutReadyComponent,
80
80
  LayoutReadyComponent
81
81
  };
82
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vLi4vc3JjL29ic2lkaWFuL2NvbXBvbmVudHMvbGF5b3V0LXJlYWR5LWNvbXBvbmVudC50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsiLyoqXG4gKiBAZmlsZVxuICpcbiAqIEludGVyZmFjZSBmb3IgY29tcG9uZW50cyB0aGF0IG5lZWQgdG8gcGVyZm9ybSB3b3JrIHdoZW4gdGhlIHdvcmtzcGFjZSBsYXlvdXQgaXMgcmVhZHkuXG4gKi9cblxuaW1wb3J0IHR5cGUgeyBBcHAgfSBmcm9tICdvYnNpZGlhbic7XG5pbXBvcnQgdHlwZSB7IFByb21pc2FibGUgfSBmcm9tICd0eXBlLWZlc3QnO1xuXG5pbXBvcnQgeyBpbnZva2VBc3luY1NhZmVseSB9IGZyb20gJy4uLy4uL2FzeW5jLnRzJztcbmltcG9ydCB7IG5vb3AgfSBmcm9tICcuLi8uLi9mdW5jdGlvbi50cyc7XG5pbXBvcnQgeyBEaXNwb3NhYmxlQ29tcG9uZW50IH0gZnJvbSAnLi9kaXNwb3NhYmxlLWNvbXBvbmVudC50cyc7XG5cbi8qKlxuICogQSBjb21wb25lbnQgdGhhdCBleGVjdXRlcyBhIGNhbGxiYWNrIGZ1bmN0aW9uIHdoZW4gdGhlIE9ic2lkaWFuIGxheW91dCBiZWNvbWVzIHJlYWR5LlxuICovXG5leHBvcnQgY2xhc3MgTGF5b3V0UmVhZHlDb21wb25lbnQgZXh0ZW5kcyBEaXNwb3NhYmxlQ29tcG9uZW50IHtcbiAgLyoqXG4gICAqIENyZWF0ZXMgYSBuZXcgTGF5b3V0UmVhZHlDb21wb25lbnQgaW5zdGFuY2UuXG4gICAqXG4gICAqIEBwYXJhbSBhcHAgLSBUaGUgT2JzaWRpYW4gQXBwIGluc3RhbmNlLlxuICAgKi9cbiAgcHVibGljIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgYXBwOiBBcHApIHtcbiAgICBzdXBlcigpO1xuICB9XG5cbiAgLyoqXG4gICAqIExvYWRzIHRoZSBjb21wb25lbnQgYW5kIHJlZ2lzdGVycyB0aGUgbGF5b3V0IHJlYWR5IGhhbmRsZXIuXG4gICAqL1xuICBwdWJsaWMgb3ZlcnJpZGUgb25sb2FkKCk6IHZvaWQge1xuICAgIHRoaXMuYXBwLndvcmtzcGFjZS5vbkxheW91dFJlYWR5KCgpID0+IHtcbiAgICAgIHdpbmRvdy5zZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgaWYgKHRoaXMuX2xvYWRlZCkge1xuICAgICAgICAgIGludm9rZUFzeW5jU2FmZWx5KHRoaXMub25MYXlvdXRSZWFkeS5iaW5kKHRoaXMpKTtcbiAgICAgICAgfVxuICAgICAgfSwgMCk7XG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogRXhlY3V0ZXMgd2hlbiB0aGUgT2JzaWRpYW4gbGF5b3V0IGJlY29tZXMgcmVhZHkuXG4gICAqL1xuICBwcm90ZWN0ZWQgb25MYXlvdXRSZWFkeSgpOiBQcm9taXNhYmxlPHZvaWQ+IHtcbiAgICBub29wKCk7XG4gIH1cbn1cblxuLyoqXG4gKiBBIHtAbGluayBMYXlvdXRSZWFkeUNvbXBvbmVudH0gc3ViY2xhc3MgdGhhdCBpbnZva2VzIGEgcHJvdmlkZWQgY2FsbGJhY2sgZnVuY3Rpb24gd2hlbiB0aGUgbGF5b3V0IGJlY29tZXMgcmVhZHkuXG4gKi9cbmV4cG9ydCBjbGFzcyBDYWxsYmFja0xheW91dFJlYWR5Q29tcG9uZW50IGV4dGVuZHMgTGF5b3V0UmVhZHlDb21wb25lbnQge1xuICAvKipcbiAgICogQ3JlYXRlcyBhIG5ldyBDYWxsYmFja0xheW91dFJlYWR5Q29tcG9uZW50IGluc3RhbmNlLlxuICAgKlxuICAgKiBAcGFyYW0gYXBwIC0gVGhlIE9ic2lkaWFuIEFwcCBpbnN0YW5jZS5cbiAgICogQHBhcmFtIGNhbGxiYWNrIC0gVGhlIGNhbGxiYWNrIHRvIGludm9rZSB3aGVuIGxheW91dCBpcyByZWFkeS5cbiAgICovXG4gIHB1YmxpYyBjb25zdHJ1Y3RvcihhcHA6IEFwcCwgcHJpdmF0ZSByZWFkb25seSBjYWxsYmFjazogKCkgPT4gUHJvbWlzYWJsZTx2b2lkPikge1xuICAgIHN1cGVyKGFwcCk7XG4gIH1cblxuICAvKipcbiAgICogRXhlY3V0ZXMgd2hlbiB0aGUgT2JzaWRpYW4gbGF5b3V0IGJlY29tZXMgcmVhZHkuXG4gICAqXG4gICAqIEByZXR1cm5zIFRoZSByZXN1bHQgb2YgaW52b2tpbmcgdGhlIGNhbGxiYWNrLlxuICAgKi9cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIG9uTGF5b3V0UmVhZHkoKTogUHJvbWlzYWJsZTx2b2lkPiB7XG4gICAgcmV0dXJuIHRoaXMuY2FsbGJhY2soKTtcbiAgfVxufVxuIl0sCiAgIm1hcHBpbmdzIjogIjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFTQSxTQUFTLHlCQUF5QjtBQUNsQyxTQUFTLFlBQVk7QUFDckIsU0FBUywyQkFBMkI7QUFLN0IsTUFBTSw2QkFBNkIsb0JBQW9CO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBTXJELFlBQTZCLEtBQVU7QUFDNUMsVUFBTTtBQUQ0QjtBQUFBLEVBRXBDO0FBQUEsRUFGb0M7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQU9wQixTQUFlO0FBQzdCLFNBQUssSUFBSSxVQUFVLGNBQWMsTUFBTTtBQUNyQyxhQUFPLFdBQVcsTUFBTTtBQUN0QixZQUFJLEtBQUssU0FBUztBQUNoQiw0QkFBa0IsS0FBSyxjQUFjLEtBQUssSUFBSSxDQUFDO0FBQUEsUUFDakQ7QUFBQSxNQUNGLEdBQUcsQ0FBQztBQUFBLElBQ04sQ0FBQztBQUFBLEVBQ0g7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQUtVLGdCQUFrQztBQUMxQyxTQUFLO0FBQUEsRUFDUDtBQUNGO0FBS08sTUFBTSxxQ0FBcUMscUJBQXFCO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFPOUQsWUFBWSxLQUEyQixVQUFrQztBQUM5RSxVQUFNLEdBQUc7QUFEbUM7QUFBQSxFQUU5QztBQUFBLEVBRjhDO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBUzNCLGdCQUFrQztBQUNuRCxXQUFPLEtBQUssU0FBUztBQUFBLEVBQ3ZCO0FBQ0Y7IiwKICAibmFtZXMiOiBbXQp9Cg==
82
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vLi4vc3JjL29ic2lkaWFuL2NvbXBvbmVudHMvbGF5b3V0LXJlYWR5LWNvbXBvbmVudC50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsiLyoqXG4gKiBAZmlsZVxuICpcbiAqIEludGVyZmFjZSBmb3IgY29tcG9uZW50cyB0aGF0IG5lZWQgdG8gcGVyZm9ybSB3b3JrIHdoZW4gdGhlIHdvcmtzcGFjZSBsYXlvdXQgaXMgcmVhZHkuXG4gKi9cblxuaW1wb3J0IHR5cGUgeyBBcHAgfSBmcm9tICdvYnNpZGlhbic7XG5pbXBvcnQgdHlwZSB7IFByb21pc2FibGUgfSBmcm9tICd0eXBlLWZlc3QnO1xuXG5pbXBvcnQgeyBpbnZva2VBc3luY1NhZmVseSB9IGZyb20gJy4uLy4uL2FzeW5jLnRzJztcbmltcG9ydCB7IG5vb3AgfSBmcm9tICcuLi8uLi9mdW5jdGlvbi50cyc7XG5pbXBvcnQgeyBDb21wb25lbnRFeCB9IGZyb20gJy4vY29tcG9uZW50LWV4LnRzJztcblxuLyoqXG4gKiBBIGNvbXBvbmVudCB0aGF0IGV4ZWN1dGVzIGEgY2FsbGJhY2sgZnVuY3Rpb24gd2hlbiB0aGUgT2JzaWRpYW4gbGF5b3V0IGJlY29tZXMgcmVhZHkuXG4gKi9cbmV4cG9ydCBjbGFzcyBMYXlvdXRSZWFkeUNvbXBvbmVudCBleHRlbmRzIENvbXBvbmVudEV4IHtcbiAgLyoqXG4gICAqIENyZWF0ZXMgYSBuZXcgTGF5b3V0UmVhZHlDb21wb25lbnQgaW5zdGFuY2UuXG4gICAqXG4gICAqIEBwYXJhbSBhcHAgLSBUaGUgT2JzaWRpYW4gQXBwIGluc3RhbmNlLlxuICAgKi9cbiAgcHVibGljIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgYXBwOiBBcHApIHtcbiAgICBzdXBlcigpO1xuICB9XG5cbiAgLyoqXG4gICAqIExvYWRzIHRoZSBjb21wb25lbnQgYW5kIHJlZ2lzdGVycyB0aGUgbGF5b3V0IHJlYWR5IGhhbmRsZXIuXG4gICAqL1xuICBwdWJsaWMgb3ZlcnJpZGUgb25sb2FkKCk6IHZvaWQge1xuICAgIHRoaXMuYXBwLndvcmtzcGFjZS5vbkxheW91dFJlYWR5KCgpID0+IHtcbiAgICAgIHdpbmRvdy5zZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgaWYgKHRoaXMuX2xvYWRlZCkge1xuICAgICAgICAgIGludm9rZUFzeW5jU2FmZWx5KHRoaXMub25MYXlvdXRSZWFkeS5iaW5kKHRoaXMpKTtcbiAgICAgICAgfVxuICAgICAgfSwgMCk7XG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogRXhlY3V0ZXMgd2hlbiB0aGUgT2JzaWRpYW4gbGF5b3V0IGJlY29tZXMgcmVhZHkuXG4gICAqL1xuICBwcm90ZWN0ZWQgb25MYXlvdXRSZWFkeSgpOiBQcm9taXNhYmxlPHZvaWQ+IHtcbiAgICBub29wKCk7XG4gIH1cbn1cblxuLyoqXG4gKiBBIHtAbGluayBMYXlvdXRSZWFkeUNvbXBvbmVudH0gc3ViY2xhc3MgdGhhdCBpbnZva2VzIGEgcHJvdmlkZWQgY2FsbGJhY2sgZnVuY3Rpb24gd2hlbiB0aGUgbGF5b3V0IGJlY29tZXMgcmVhZHkuXG4gKi9cbmV4cG9ydCBjbGFzcyBDYWxsYmFja0xheW91dFJlYWR5Q29tcG9uZW50IGV4dGVuZHMgTGF5b3V0UmVhZHlDb21wb25lbnQge1xuICAvKipcbiAgICogQ3JlYXRlcyBhIG5ldyBDYWxsYmFja0xheW91dFJlYWR5Q29tcG9uZW50IGluc3RhbmNlLlxuICAgKlxuICAgKiBAcGFyYW0gYXBwIC0gVGhlIE9ic2lkaWFuIEFwcCBpbnN0YW5jZS5cbiAgICogQHBhcmFtIGNhbGxiYWNrIC0gVGhlIGNhbGxiYWNrIHRvIGludm9rZSB3aGVuIGxheW91dCBpcyByZWFkeS5cbiAgICovXG4gIHB1YmxpYyBjb25zdHJ1Y3RvcihhcHA6IEFwcCwgcHJpdmF0ZSByZWFkb25seSBjYWxsYmFjazogKCkgPT4gUHJvbWlzYWJsZTx2b2lkPikge1xuICAgIHN1cGVyKGFwcCk7XG4gIH1cblxuICAvKipcbiAgICogRXhlY3V0ZXMgd2hlbiB0aGUgT2JzaWRpYW4gbGF5b3V0IGJlY29tZXMgcmVhZHkuXG4gICAqXG4gICAqIEByZXR1cm5zIFRoZSByZXN1bHQgb2YgaW52b2tpbmcgdGhlIGNhbGxiYWNrLlxuICAgKi9cbiAgcHJvdGVjdGVkIG92ZXJyaWRlIG9uTGF5b3V0UmVhZHkoKTogUHJvbWlzYWJsZTx2b2lkPiB7XG4gICAgcmV0dXJuIHRoaXMuY2FsbGJhY2soKTtcbiAgfVxufVxuIl0sCiAgIm1hcHBpbmdzIjogIjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFTQSxTQUFTLHlCQUF5QjtBQUNsQyxTQUFTLFlBQVk7QUFDckIsU0FBUyxtQkFBbUI7QUFLckIsTUFBTSw2QkFBNkIsWUFBWTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQU03QyxZQUE2QixLQUFVO0FBQzVDLFVBQU07QUFENEI7QUFBQSxFQUVwQztBQUFBLEVBRm9DO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFPcEIsU0FBZTtBQUM3QixTQUFLLElBQUksVUFBVSxjQUFjLE1BQU07QUFDckMsYUFBTyxXQUFXLE1BQU07QUFDdEIsWUFBSSxLQUFLLFNBQVM7QUFDaEIsNEJBQWtCLEtBQUssY0FBYyxLQUFLLElBQUksQ0FBQztBQUFBLFFBQ2pEO0FBQUEsTUFDRixHQUFHLENBQUM7QUFBQSxJQUNOLENBQUM7QUFBQSxFQUNIO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFLVSxnQkFBa0M7QUFDMUMsU0FBSztBQUFBLEVBQ1A7QUFDRjtBQUtPLE1BQU0scUNBQXFDLHFCQUFxQjtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBTzlELFlBQVksS0FBMkIsVUFBa0M7QUFDOUUsVUFBTSxHQUFHO0FBRG1DO0FBQUEsRUFFOUM7QUFBQSxFQUY4QztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQVMzQixnQkFBa0M7QUFDbkQsV0FBTyxLQUFLLFNBQVM7QUFBQSxFQUN2QjtBQUNGOyIsCiAgIm5hbWVzIjogW10KfQo=
@@ -1,3 +1,4 @@
1
+ /// <reference path="../../library.d.mts" />
1
2
  /**
2
3
  * @file
3
4
  *
@@ -5,14 +6,13 @@
5
6
  */
6
7
  import type { App } from 'obsidian';
7
8
  import type { EditorMenuEventHandler, FileMenuEventHandler, FilesMenuEventHandler, MenuEventRegistrar } from '../menu-event-registrar.mjs';
8
- import { DisposableComponent } from './disposable-component.mjs';
9
+ import { ComponentEx } from './component-ex.mjs';
9
10
  /**
10
11
  * {@link MenuEventRegistrar} backed by Obsidian's {@link App} workspace events.
11
12
  *
12
13
  * Event handlers are registered with the provided {@link Component} for lifecycle management.
13
14
  */
14
- /** */
15
- export declare class MenuEventRegistrarComponent extends DisposableComponent implements MenuEventRegistrar {
15
+ export declare class MenuEventRegistrarComponent extends ComponentEx implements MenuEventRegistrar {
16
16
  private readonly app;
17
17
  /**
18
18
  * Creates a new app-backed menu event registrar.
@@ -21,8 +21,8 @@ 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 { DisposableComponent } from "./disposable-component.mjs";
25
- class MenuEventRegistrarComponent extends DisposableComponent {
24
+ import { ComponentEx } from "./component-ex.mjs";
25
+ class MenuEventRegistrarComponent extends ComponentEx {
26
26
  /**
27
27
  * Creates a new app-backed menu event registrar.
28
28
  *
@@ -61,4 +61,4 @@ class MenuEventRegistrarComponent extends DisposableComponent {
61
61
  export {
62
62
  MenuEventRegistrarComponent
63
63
  };
64
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vLi4vc3JjL29ic2lkaWFuL2NvbXBvbmVudHMvbWVudS1ldmVudC1yZWdpc3RyYXItY29tcG9uZW50LnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyIvKipcbiAqIEBmaWxlXG4gKlxuICogUmVnaXN0ZXJzIG1lbnUgZXZlbnQgaGFuZGxlcnMgd2l0aCBPYnNpZGlhbidzIHdvcmtzcGFjZSwgc3VwcG9ydGluZyBlZGl0b3IsIGZpbGUsIGFuZCBtdWx0aS1maWxlIGNvbnRleHQgbWVudXMuXG4gKi9cblxuaW1wb3J0IHR5cGUgeyBBcHAgfSBmcm9tICdvYnNpZGlhbic7XG5cbmltcG9ydCB0eXBlIHtcbiAgRWRpdG9yTWVudUV2ZW50SGFuZGxlcixcbiAgRmlsZU1lbnVFdmVudEhhbmRsZXIsXG4gIEZpbGVzTWVudUV2ZW50SGFuZGxlcixcbiAgTWVudUV2ZW50UmVnaXN0cmFyXG59IGZyb20gJy4uL21lbnUtZXZlbnQtcmVnaXN0cmFyLnRzJztcblxuaW1wb3J0IHsgRGlzcG9zYWJsZUNvbXBvbmVudCB9IGZyb20gJy4vZGlzcG9zYWJsZS1jb21wb25lbnQudHMnO1xuXG4vKipcbiAqIHtAbGluayBNZW51RXZlbnRSZWdpc3RyYXJ9IGJhY2tlZCBieSBPYnNpZGlhbidzIHtAbGluayBBcHB9IHdvcmtzcGFjZSBldmVudHMuXG4gKlxuICogRXZlbnQgaGFuZGxlcnMgYXJlIHJlZ2lzdGVyZWQgd2l0aCB0aGUgcHJvdmlkZWQge0BsaW5rIENvbXBvbmVudH0gZm9yIGxpZmVjeWNsZSBtYW5hZ2VtZW50LlxuICovXG5cbi8qKiAqL1xuZXhwb3J0IGNsYXNzIE1lbnVFdmVudFJlZ2lzdHJhckNvbXBvbmVudCBleHRlbmRzIERpc3Bvc2FibGVDb21wb25lbnQgaW1wbGVtZW50cyBNZW51RXZlbnRSZWdpc3RyYXIge1xuICAvKipcbiAgICogQ3JlYXRlcyBhIG5ldyBhcHAtYmFja2VkIG1lbnUgZXZlbnQgcmVnaXN0cmFyLlxuICAgKlxuICAgKiBAcGFyYW0gYXBwIC0gVGhlIE9ic2lkaWFuIGFwcCBpbnN0YW5jZS5cbiAgICovXG4gIHB1YmxpYyBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IGFwcDogQXBwKSB7XG4gICAgc3VwZXIoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZWdpc3RlcnMgYSBoYW5kbGVyIGZvciB0aGUgZWRpdG9yIGNvbnRleHQgbWVudSBldmVudC5cbiAgICpcbiAgICogQHBhcmFtIGhhbmRsZXIgLSBUaGUgaGFuZGxlciB0byByZWdpc3Rlci5cbiAgICovXG4gIHB1YmxpYyByZWdpc3RlckVkaXRvck1lbnVFdmVudEhhbmRsZXIoaGFuZGxlcjogRWRpdG9yTWVudUV2ZW50SGFuZGxlcik6IHZvaWQge1xuICAgIHRoaXMucmVnaXN0ZXJFdmVudCh0aGlzLmFwcC53b3Jrc3BhY2Uub24oJ2VkaXRvci1tZW51JywgaGFuZGxlcikpO1xuICB9XG5cbiAgLyoqXG4gICAqIFJlZ2lzdGVycyBhIGhhbmRsZXIgZm9yIHRoZSBzaW5nbGUtZmlsZSBjb250ZXh0IG1lbnUgZXZlbnQuXG4gICAqXG4gICAqIEBwYXJhbSBoYW5kbGVyIC0gVGhlIGhhbmRsZXIgdG8gcmVnaXN0ZXIuXG4gICAqL1xuICBwdWJsaWMgcmVnaXN0ZXJGaWxlTWVudUV2ZW50SGFuZGxlcihoYW5kbGVyOiBGaWxlTWVudUV2ZW50SGFuZGxlcik6IHZvaWQge1xuICAgIHRoaXMucmVnaXN0ZXJFdmVudCh0aGlzLmFwcC53b3Jrc3BhY2Uub24oJ2ZpbGUtbWVudScsIGhhbmRsZXIpKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZWdpc3RlcnMgYSBoYW5kbGVyIGZvciB0aGUgbXVsdGktZmlsZSBjb250ZXh0IG1lbnUgZXZlbnQuXG4gICAqXG4gICAqIEBwYXJhbSBoYW5kbGVyIC0gVGhlIGhhbmRsZXIgdG8gcmVnaXN0ZXIuXG4gICAqL1xuICBwdWJsaWMgcmVnaXN0ZXJGaWxlc01lbnVFdmVudEhhbmRsZXIoaGFuZGxlcjogRmlsZXNNZW51RXZlbnRIYW5kbGVyKTogdm9pZCB7XG4gICAgdGhpcy5yZWdpc3RlckV2ZW50KHRoaXMuYXBwLndvcmtzcGFjZS5vbignZmlsZXMtbWVudScsIGhhbmRsZXIpKTtcbiAgfVxufVxuIl0sCiAgIm1hcHBpbmdzIjogIjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFlQSxTQUFTLDJCQUEyQjtBQVM3QixNQUFNLG9DQUFvQyxvQkFBa0Q7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFNMUYsWUFBNkIsS0FBVTtBQUM1QyxVQUFNO0FBRDRCO0FBQUEsRUFFcEM7QUFBQSxFQUZvQztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQVM3QiwrQkFBK0IsU0FBdUM7QUFDM0UsU0FBSyxjQUFjLEtBQUssSUFBSSxVQUFVLEdBQUcsZUFBZSxPQUFPLENBQUM7QUFBQSxFQUNsRTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQU9PLDZCQUE2QixTQUFxQztBQUN2RSxTQUFLLGNBQWMsS0FBSyxJQUFJLFVBQVUsR0FBRyxhQUFhLE9BQU8sQ0FBQztBQUFBLEVBQ2hFO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBT08sOEJBQThCLFNBQXNDO0FBQ3pFLFNBQUssY0FBYyxLQUFLLElBQUksVUFBVSxHQUFHLGNBQWMsT0FBTyxDQUFDO0FBQUEsRUFDakU7QUFDRjsiLAogICJuYW1lcyI6IFtdCn0K
64
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vLi4vc3JjL29ic2lkaWFuL2NvbXBvbmVudHMvbWVudS1ldmVudC1yZWdpc3RyYXItY29tcG9uZW50LnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyIvKipcbiAqIEBmaWxlXG4gKlxuICogUmVnaXN0ZXJzIG1lbnUgZXZlbnQgaGFuZGxlcnMgd2l0aCBPYnNpZGlhbidzIHdvcmtzcGFjZSwgc3VwcG9ydGluZyBlZGl0b3IsIGZpbGUsIGFuZCBtdWx0aS1maWxlIGNvbnRleHQgbWVudXMuXG4gKi9cblxuaW1wb3J0IHR5cGUgeyBBcHAgfSBmcm9tICdvYnNpZGlhbic7XG5cbmltcG9ydCB0eXBlIHtcbiAgRWRpdG9yTWVudUV2ZW50SGFuZGxlcixcbiAgRmlsZU1lbnVFdmVudEhhbmRsZXIsXG4gIEZpbGVzTWVudUV2ZW50SGFuZGxlcixcbiAgTWVudUV2ZW50UmVnaXN0cmFyXG59IGZyb20gJy4uL21lbnUtZXZlbnQtcmVnaXN0cmFyLnRzJztcblxuaW1wb3J0IHsgQ29tcG9uZW50RXggfSBmcm9tICcuL2NvbXBvbmVudC1leC50cyc7XG5cbi8qKlxuICoge0BsaW5rIE1lbnVFdmVudFJlZ2lzdHJhcn0gYmFja2VkIGJ5IE9ic2lkaWFuJ3Mge0BsaW5rIEFwcH0gd29ya3NwYWNlIGV2ZW50cy5cbiAqXG4gKiBFdmVudCBoYW5kbGVycyBhcmUgcmVnaXN0ZXJlZCB3aXRoIHRoZSBwcm92aWRlZCB7QGxpbmsgQ29tcG9uZW50fSBmb3IgbGlmZWN5Y2xlIG1hbmFnZW1lbnQuXG4gKi9cbmV4cG9ydCBjbGFzcyBNZW51RXZlbnRSZWdpc3RyYXJDb21wb25lbnQgZXh0ZW5kcyBDb21wb25lbnRFeCBpbXBsZW1lbnRzIE1lbnVFdmVudFJlZ2lzdHJhciB7XG4gIC8qKlxuICAgKiBDcmVhdGVzIGEgbmV3IGFwcC1iYWNrZWQgbWVudSBldmVudCByZWdpc3RyYXIuXG4gICAqXG4gICAqIEBwYXJhbSBhcHAgLSBUaGUgT2JzaWRpYW4gYXBwIGluc3RhbmNlLlxuICAgKi9cbiAgcHVibGljIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgYXBwOiBBcHApIHtcbiAgICBzdXBlcigpO1xuICB9XG5cbiAgLyoqXG4gICAqIFJlZ2lzdGVycyBhIGhhbmRsZXIgZm9yIHRoZSBlZGl0b3IgY29udGV4dCBtZW51IGV2ZW50LlxuICAgKlxuICAgKiBAcGFyYW0gaGFuZGxlciAtIFRoZSBoYW5kbGVyIHRvIHJlZ2lzdGVyLlxuICAgKi9cbiAgcHVibGljIHJlZ2lzdGVyRWRpdG9yTWVudUV2ZW50SGFuZGxlcihoYW5kbGVyOiBFZGl0b3JNZW51RXZlbnRIYW5kbGVyKTogdm9pZCB7XG4gICAgdGhpcy5yZWdpc3RlckV2ZW50KHRoaXMuYXBwLndvcmtzcGFjZS5vbignZWRpdG9yLW1lbnUnLCBoYW5kbGVyKSk7XG4gIH1cblxuICAvKipcbiAgICogUmVnaXN0ZXJzIGEgaGFuZGxlciBmb3IgdGhlIHNpbmdsZS1maWxlIGNvbnRleHQgbWVudSBldmVudC5cbiAgICpcbiAgICogQHBhcmFtIGhhbmRsZXIgLSBUaGUgaGFuZGxlciB0byByZWdpc3Rlci5cbiAgICovXG4gIHB1YmxpYyByZWdpc3RlckZpbGVNZW51RXZlbnRIYW5kbGVyKGhhbmRsZXI6IEZpbGVNZW51RXZlbnRIYW5kbGVyKTogdm9pZCB7XG4gICAgdGhpcy5yZWdpc3RlckV2ZW50KHRoaXMuYXBwLndvcmtzcGFjZS5vbignZmlsZS1tZW51JywgaGFuZGxlcikpO1xuICB9XG5cbiAgLyoqXG4gICAqIFJlZ2lzdGVycyBhIGhhbmRsZXIgZm9yIHRoZSBtdWx0aS1maWxlIGNvbnRleHQgbWVudSBldmVudC5cbiAgICpcbiAgICogQHBhcmFtIGhhbmRsZXIgLSBUaGUgaGFuZGxlciB0byByZWdpc3Rlci5cbiAgICovXG4gIHB1YmxpYyByZWdpc3RlckZpbGVzTWVudUV2ZW50SGFuZGxlcihoYW5kbGVyOiBGaWxlc01lbnVFdmVudEhhbmRsZXIpOiB2b2lkIHtcbiAgICB0aGlzLnJlZ2lzdGVyRXZlbnQodGhpcy5hcHAud29ya3NwYWNlLm9uKCdmaWxlcy1tZW51JywgaGFuZGxlcikpO1xuICB9XG59XG4iXSwKICAibWFwcGluZ3MiOiAiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQWVBLFNBQVMsbUJBQW1CO0FBT3JCLE1BQU0sb0NBQW9DLFlBQTBDO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBTWxGLFlBQTZCLEtBQVU7QUFDNUMsVUFBTTtBQUQ0QjtBQUFBLEVBRXBDO0FBQUEsRUFGb0M7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFTN0IsK0JBQStCLFNBQXVDO0FBQzNFLFNBQUssY0FBYyxLQUFLLElBQUksVUFBVSxHQUFHLGVBQWUsT0FBTyxDQUFDO0FBQUEsRUFDbEU7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFPTyw2QkFBNkIsU0FBcUM7QUFDdkUsU0FBSyxjQUFjLEtBQUssSUFBSSxVQUFVLEdBQUcsYUFBYSxPQUFPLENBQUM7QUFBQSxFQUNoRTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQU9PLDhCQUE4QixTQUFzQztBQUN6RSxTQUFLLGNBQWMsS0FBSyxJQUFJLFVBQVUsR0FBRyxjQUFjLE9BQU8sQ0FBQztBQUFBLEVBQ2pFO0FBQ0Y7IiwKICAibmFtZXMiOiBbXQp9Cg==
@@ -1,3 +1,4 @@
1
+ /// <reference path="../../library.d.mts" />
1
2
  /**
2
3
  * @file
3
4
  *
@@ -5,7 +6,7 @@
5
6
  */
6
7
  import type { ConditionalKeys } from 'type-fest';
7
8
  import type { GenericFunction } from '../../function.mjs';
8
- import { DisposableComponent } from './disposable-component.mjs';
9
+ import { ComponentEx } from './component-ex.mjs';
9
10
  /**
10
11
  * A type of the factories to apply to the object.
11
12
  *
@@ -74,12 +75,12 @@ type WrapperFactory<T extends Function | undefined> = (next: T) => T;
74
75
  * A component that manages monkey-patches with lifecycle-bound cleanup.
75
76
  * All patches registered via this component are automatically uninstalled when the component unloads.
76
77
  */
77
- export declare class MonkeyAroundComponent extends DisposableComponent {
78
+ export declare class MonkeyAroundComponent extends ComponentEx {
78
79
  /**
79
80
  * Registers a single-method patch using a simplified handler.
80
81
  *
81
82
  * @typeParam Obj - The object to patch.
82
- * @typeParam K - The method name to patch.
83
+ * @typeParam MethodName - The method name to patch.
83
84
  * @param params - The parameters of the patch.
84
85
  */
85
86
  registerMethodPatch<Obj extends object, const MethodName extends MethodKeys<Obj>>(params: MonkeyAroundComponentRegisterMethodPatchParams<Obj, MethodName>): void;
@@ -23,13 +23,13 @@ if you want to view the source, please visit the github repository of this plugi
23
23
 
24
24
  import { around as originalAround } from "monkey-around";
25
25
  import { getObsidianDevUtilsState } from "../app.mjs";
26
- import { DisposableComponent } from "./disposable-component.mjs";
27
- class MonkeyAroundComponent extends DisposableComponent {
26
+ import { ComponentEx } from "./component-ex.mjs";
27
+ class MonkeyAroundComponent extends ComponentEx {
28
28
  /**
29
29
  * Registers a single-method patch using a simplified handler.
30
30
  *
31
31
  * @typeParam Obj - The object to patch.
32
- * @typeParam K - The method name to patch.
32
+ * @typeParam MethodName - The method name to patch.
33
33
  * @param params - The parameters of the patch.
34
34
  */
35
35
  registerMethodPatch(params) {
@@ -84,4 +84,4 @@ export {
84
84
  around,
85
85
  hasPatchToken
86
86
  };
87
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vLi4vc3JjL29ic2lkaWFuL2NvbXBvbmVudHMvbW9ua2V5LWFyb3VuZC1jb21wb25lbnQudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbIi8qKlxuICogQGZpbGVcbiAqXG4gKiBJbXByb3ZlZCB0eXBlLXNhZmUgd3JhcHBlciBvZiB7QGxpbmsgaHR0cHM6Ly93d3cubnBtanMuY29tL3BhY2thZ2UvbW9ua2V5LWFyb3VuZH0gbGlicmFyeS5cbiAqL1xuXG5pbXBvcnQgdHlwZSB7IENvbmRpdGlvbmFsS2V5cyB9IGZyb20gJ3R5cGUtZmVzdCc7XG5cbmltcG9ydCB7IGFyb3VuZCBhcyBvcmlnaW5hbEFyb3VuZCB9IGZyb20gJ21vbmtleS1hcm91bmQnO1xuXG5pbXBvcnQgdHlwZSB7IEdlbmVyaWNGdW5jdGlvbiB9IGZyb20gJy4uLy4uL2Z1bmN0aW9uLnRzJztcbmltcG9ydCB0eXBlIHsgR2VuZXJpY09iamVjdCB9IGZyb20gJy4uLy4uL3R5cGUtZ3VhcmRzLnRzJztcblxuaW1wb3J0IHsgZ2V0T2JzaWRpYW5EZXZVdGlsc1N0YXRlIH0gZnJvbSAnLi4vYXBwLnRzJztcbmltcG9ydCB7IERpc3Bvc2FibGVDb21wb25lbnQgfSBmcm9tICcuL2Rpc3Bvc2FibGUtY29tcG9uZW50LnRzJztcblxuLyoqXG4gKiBBIHR5cGUgb2YgdGhlIGZhY3RvcmllcyB0byBhcHBseSB0byB0aGUgb2JqZWN0LlxuICpcbiAqIEB0eXBlUGFyYW0gT2JqIC0gVGhlIG9iamVjdCB0byBwYXRjaC5cbiAqL1xuZXhwb3J0IHR5cGUgRmFjdG9yaWVzPE9iaiBleHRlbmRzIG9iamVjdD4gPSBQYXJ0aWFsPFxuICB7XG4gICAgW0tleSBpbiBDb25kaXRpb25hbEtleXM8T2JqLCBHZW5lcmljRnVuY3Rpb24gfCB1bmRlZmluZWQ+XTogV3JhcHBlckZhY3Rvcnk8RXh0cmFjdDxPYmpbS2V5XSwgR2VuZXJpY0Z1bmN0aW9uIHwgdW5kZWZpbmVkPj47XG4gIH1cbj47XG5cbi8qKlxuICogUGFyYW1ldGVycyBwYXNzZWQgdG8ge0BsaW5rIE1vbmtleUFyb3VuZENvbXBvbmVudCNyZWdpc3Rlck1ldGhvZFBhdGNofS5cbiAqXG4gKiBAdHlwZVBhcmFtIE9iaiAtIFRoZSBvYmplY3QgdG8gcGF0Y2guXG4gKiBAdHlwZVBhcmFtIE1ldGhvZE5hbWUgLSBUaGUgbWV0aG9kIG5hbWUgdG8gcGF0Y2guXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgTW9ua2V5QXJvdW5kQ29tcG9uZW50UmVnaXN0ZXJNZXRob2RQYXRjaFBhcmFtczxPYmogZXh0ZW5kcyBvYmplY3QsIE1ldGhvZE5hbWUgZXh0ZW5kcyBNZXRob2RLZXlzPE9iaj4+IHtcbiAgLyoqXG4gICAqIFRoZSBtZXRob2QgbmFtZSB0byBwYXRjaC5cbiAgICovXG4gIHJlYWRvbmx5IG1ldGhvZE5hbWU6IE1ldGhvZE5hbWU7XG5cbiAgLyoqXG4gICAqIFRoZSBvYmplY3QgdG8gcGF0Y2guXG4gICAqL1xuICByZWFkb25seSBvYmo6IE9iajtcblxuICAvKipcbiAgICogVGhlIHBhdGNoIGhhbmRsZXIgZnVuY3Rpb24uXG4gICAqL1xuICByZWFkb25seSBwYXRjaEhhbmRsZXI6IFBhdGNoSGFuZGxlckZuPE9iaiwgTWV0aG9kTmFtZT47XG5cbiAgLyoqXG4gICAqIEFuIG9wdGlvbmFsIHRva2VuIHRvIGlkZW50aWZ5IHRoZSBwYXRjaC5cbiAgICovXG4gIHJlYWRvbmx5IHBhdGNoVG9rZW4/OiBzeW1ib2w7XG59XG5cbi8qKlxuICogQSBwYXRjaCBoYW5kbGVyIGZ1bmN0aW9uIHRoYXQgaW50ZXJjZXB0cyBjYWxscyB0byBhIG1ldGhvZCBvbiBhbiBvYmplY3QuXG4gKlxuICogQHR5cGVQYXJhbSBPYmogLSBUaGUgb2JqZWN0IGJlaW5nIHBhdGNoZWQuXG4gKiBAdHlwZVBhcmFtIEsgLSBUaGUgbWV0aG9kIG5hbWUgYmVpbmcgcGF0Y2hlZC5cbiAqL1xuZXhwb3J0IHR5cGUgUGF0Y2hIYW5kbGVyRm48T2JqIGV4dGVuZHMgb2JqZWN0LCBLIGV4dGVuZHMgTWV0aG9kS2V5czxPYmo+PiA9IChcbiAgcGFyYW1zOiBQYXRjaEhhbmRsZXJQYXJhbXM8T2JqLCBLPlxuKSA9PiBSZXR1cm5UeXBlPEV4dHJhY3Q8T2JqW0tdLCBHZW5lcmljRnVuY3Rpb24+PjtcblxuLyoqXG4gKiBQYXJhbWV0ZXJzIHBhc3NlZCB0byBhIHtAbGluayBQYXRjaEhhbmRsZXJGbn0gY2FsbGJhY2suXG4gKlxuICogQHR5cGVQYXJhbSBPYmogLSBUaGUgb2JqZWN0IGJlaW5nIHBhdGNoZWQuXG4gKiBAdHlwZVBhcmFtIEsgLSBUaGUgbWV0aG9kIG5hbWUgYmVpbmcgcGF0Y2hlZC5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBQYXRjaEhhbmRsZXJQYXJhbXM8T2JqIGV4dGVuZHMgb2JqZWN0LCBLIGV4dGVuZHMgTWV0aG9kS2V5czxPYmo+PiB7XG4gIGZhbGxiYWNrKHRoaXM6IHZvaWQpOiBSZXR1cm5UeXBlPEV4dHJhY3Q8T2JqW0tdLCBHZW5lcmljRnVuY3Rpb24+PjtcblxuICAvKipcbiAgICogVGhlIG9yaWdpbmFsIGFyZ3VtZW50cyBvZiB0aGUgaW50ZXJjZXB0ZWQgY2FsbCwgYXMgYSB0dXBsZS5cbiAgICovXG4gIHJlYWRvbmx5IG9yaWdpbmFsQXJnczogUGFyYW1ldGVyczxFeHRyYWN0PE9ialtLXSwgR2VuZXJpY0Z1bmN0aW9uPj47XG5cbiAgLyoqXG4gICAqIFRoZSBvcmlnaW5hbCAodW5wYXRjaGVkKSBmdW5jdGlvbi4gQ2FsbCB2aWEgYG9yaWdpbmFsRm4uY2FsbChvcmlnaW5hbFRoaXMsIC4uLm9yaWdpbmFsQXJncylgLlxuICAgKi9cbiAgcmVhZG9ubHkgb3JpZ2luYWxNZXRob2Q6IEV4dHJhY3Q8T2JqW0tdLCBHZW5lcmljRnVuY3Rpb24+O1xuXG4gIHJlYWRvbmx5IG9yaWdpbmFsTWV0aG9kQm91bmQ6IE9taXRUaGlzUGFyYW1ldGVyPEV4dHJhY3Q8T2JqW0tdLCBHZW5lcmljRnVuY3Rpb24+PjtcblxuICAvKipcbiAgICogVGhlIG9yaWdpbmFsIGB0aGlzYCBjb250ZXh0IG9mIHRoZSBpbnRlcmNlcHRlZCBjYWxsLlxuICAgKi9cbiAgcmVhZG9ubHkgb3JpZ2luYWxUaGlzOiBPYmo7XG59XG5cbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW5zYWZlLWZ1bmN0aW9uLXR5cGUgLS0gV2UgbmVlZCB0byB1c2UgYEZ1bmN0aW9uYCB0eXBlIGFzIGEgZ2VuZXJpYyByZXN0cmljdGlvbi5cbnR5cGUgTWV0aG9kS2V5czxPYmogZXh0ZW5kcyBvYmplY3Q+ID0gQ29uZGl0aW9uYWxLZXlzPE9iaiwgRnVuY3Rpb24gfCB1bmRlZmluZWQ+ICYga2V5b2YgT2JqO1xuXG50eXBlIE9yaWdpbmFsRmFjdG9yaWVzPE9iaiBleHRlbmRzIEdlbmVyaWNPYmplY3Q+ID0gUGFyYW1ldGVyczx0eXBlb2Ygb3JpZ2luYWxBcm91bmQ8T2JqPj5bMV07XG5cbnR5cGUgVW5pbnN0YWxsZXIgPSAoKSA9PiB2b2lkO1xuXG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXVuc2FmZS1mdW5jdGlvbi10eXBlIC0tIFdlIG5lZWQgdG8gdXNlIGBGdW5jdGlvbmAgdHlwZSBhcyBhIGdlbmVyaWMgcmVzdHJpY3Rpb24uXG50eXBlIFdyYXBwZXJGYWN0b3J5PFQgZXh0ZW5kcyBGdW5jdGlvbiB8IHVuZGVmaW5lZD4gPSAobmV4dDogVCkgPT4gVDtcblxuLyoqXG4gKiBBIGNvbXBvbmVudCB0aGF0IG1hbmFnZXMgbW9ua2V5LXBhdGNoZXMgd2l0aCBsaWZlY3ljbGUtYm91bmQgY2xlYW51cC5cbiAqIEFsbCBwYXRjaGVzIHJlZ2lzdGVyZWQgdmlhIHRoaXMgY29tcG9uZW50IGFyZSBhdXRvbWF0aWNhbGx5IHVuaW5zdGFsbGVkIHdoZW4gdGhlIGNvbXBvbmVudCB1bmxvYWRzLlxuICovXG5leHBvcnQgY2xhc3MgTW9ua2V5QXJvdW5kQ29tcG9uZW50IGV4dGVuZHMgRGlzcG9zYWJsZUNvbXBvbmVudCB7XG4gIC8qKlxuICAgKiBSZWdpc3RlcnMgYSBzaW5nbGUtbWV0aG9kIHBhdGNoIHVzaW5nIGEgc2ltcGxpZmllZCBoYW5kbGVyLlxuICAgKlxuICAgKiBAdHlwZVBhcmFtIE9iaiAtIFRoZSBvYmplY3QgdG8gcGF0Y2guXG4gICAqIEB0eXBlUGFyYW0gSyAtIFRoZSBtZXRob2QgbmFtZSB0byBwYXRjaC5cbiAgICogQHBhcmFtIHBhcmFtcyAtIFRoZSBwYXJhbWV0ZXJzIG9mIHRoZSBwYXRjaC5cbiAgICovXG4gIHB1YmxpYyByZWdpc3Rlck1ldGhvZFBhdGNoPE9iaiBleHRlbmRzIG9iamVjdCwgY29uc3QgTWV0aG9kTmFtZSBleHRlbmRzIE1ldGhvZEtleXM8T2JqPj4oXG4gICAgcGFyYW1zOiBNb25rZXlBcm91bmRDb21wb25lbnRSZWdpc3Rlck1ldGhvZFBhdGNoUGFyYW1zPE9iaiwgTWV0aG9kTmFtZT5cbiAgKTogdm9pZCB7XG4gICAgaWYgKHBhcmFtcy5wYXRjaFRva2VuKSB7XG4gICAgICBjb25zdCBvcmlnaW5hbE1ldGhvZCA9IHBhcmFtcy5vYmpbcGFyYW1zLm1ldGhvZE5hbWVdIGFzIEdlbmVyaWNGdW5jdGlvbjtcbiAgICAgIGdldE1vbmtleUFyb3VuZFBhdGNoZXMoKS5zZXQob3JpZ2luYWxNZXRob2QsIHBhcmFtcy5wYXRjaFRva2VuKTtcbiAgICB9XG5cbiAgICB0eXBlIFJhd0ZuID0gRXh0cmFjdDxPYmpbTWV0aG9kTmFtZV0sIEdlbmVyaWNGdW5jdGlvbj47XG4gICAgdHlwZSBGbiA9IEdlbmVyaWNGdW5jdGlvbjxQYXJhbWV0ZXJzPFJhd0ZuPiwgUmV0dXJuVHlwZTxSYXdGbj4+O1xuICAgIHRoaXMucmVnaXN0ZXJQYXRjaChwYXJhbXMub2JqLCB7XG4gICAgICBbcGFyYW1zLm1ldGhvZE5hbWVdOiAob3JpZ2luYWxNZXRob2Q6IEZuKTogRm4gPT4ge1xuICAgICAgICByZXR1cm4gcGF0Y2hlZE1ldGhvZDtcbiAgICAgICAgZnVuY3Rpb24gcGF0Y2hlZE1ldGhvZCh0aGlzOiBPYmosIC4uLm9yaWdpbmFsQXJnczogUGFyYW1ldGVyczxSYXdGbj4pOiBSZXR1cm5UeXBlPFJhd0ZuPiB7XG4gICAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGNvbnNpc3RlbnQtdGhpcywgQHR5cGVzY3JpcHQtZXNsaW50L25vLXRoaXMtYWxpYXMgLS0gV2UgbmVlZCB0byB1c2UgdGhlIGB0aGlzYCBjb250ZXh0LlxuICAgICAgICAgIGNvbnN0IG9yaWdpbmFsVGhpcyA9IHRoaXM7XG4gICAgICAgICAgcmV0dXJuIHBhcmFtcy5wYXRjaEhhbmRsZXIoe1xuICAgICAgICAgICAgZmFsbGJhY2soKSB7XG4gICAgICAgICAgICAgIHJldHVybiBvcmlnaW5hbE1ldGhvZC5jYWxsKG9yaWdpbmFsVGhpcywgLi4ub3JpZ2luYWxBcmdzKTtcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBvcmlnaW5hbEFyZ3MsXG4gICAgICAgICAgICBvcmlnaW5hbE1ldGhvZDogb3JpZ2luYWxNZXRob2QgYXMgUmF3Rm4sXG4gICAgICAgICAgICBvcmlnaW5hbE1ldGhvZEJvdW5kOiBvcmlnaW5hbE1ldGhvZC5iaW5kKG9yaWdpbmFsVGhpcykgYXMgT21pdFRoaXNQYXJhbWV0ZXI8UmF3Rm4+LFxuICAgICAgICAgICAgb3JpZ2luYWxUaGlzXG4gICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9IGFzIEZhY3RvcmllczxPYmo+KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZWdpc3RlcnMgYSBwYXRjaCB1c2luZyByYXcgZmFjdG9yaWVzIChhZHZhbmNlZCBBUEkpLlxuICAgKlxuICAgKiBAdHlwZVBhcmFtIE9iaiAtIFRoZSBvYmplY3QgdG8gcGF0Y2guXG4gICAqIEBwYXJhbSBvYmogLSBUaGUgb2JqZWN0IHRvIHBhdGNoLlxuICAgKiBAcGFyYW0gZmFjdG9yaWVzIC0gVGhlIGZhY3RvcmllcyB0byBhcHBseSB0byB0aGUgb2JqZWN0LlxuICAgKi9cbiAgcHVibGljIHJlZ2lzdGVyUGF0Y2g8T2JqIGV4dGVuZHMgb2JqZWN0PihvYmo6IE9iaiwgZmFjdG9yaWVzOiBGYWN0b3JpZXM8T2JqPik6IHZvaWQge1xuICAgIGlmICghdGhpcy5fbG9hZGVkKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ0Nhbm5vdCByZWdpc3RlciBwYXRjaCBvbiBhIGNvbXBvbmVudCB0aGF0IGlzIG5vdCBsb2FkZWQuJyk7XG4gICAgfVxuXG4gICAgY29uc3QgdW5pbnN0YWxsZXIgPSBhcm91bmQob2JqLCBmYWN0b3JpZXMpO1xuICAgIHRoaXMucmVnaXN0ZXIodW5pbnN0YWxsZXIpO1xuICB9XG59XG5cbi8qKlxuICogQXBwbGllcyBhIHBhdGNoIHRvIHRoZSBvYmplY3QuXG4gKiBCZXR0ZXIgc3Ryb25nbHktdHlwZWQgdmVyc2lvbiBvZiBgbW9ua2V5LWFyb3VuZGAuXG4gKlxuICogQHR5cGVQYXJhbSBPYmogLSBUaGUgb2JqZWN0IHRvIHBhdGNoLlxuICogQHBhcmFtIG9iaiAtIFRoZSBvYmplY3QgdG8gcGF0Y2guXG4gKiBAcGFyYW0gZmFjdG9yaWVzIC0gVGhlIGZhY3RvcmllcyB0byBhcHBseSB0byB0aGUgb2JqZWN0LlxuICogQHJldHVybnMgVGhlIHVuaW5zdGFsbGVyIHRoYXQgcmVtb3ZlcyB0aGUgcGF0Y2ggd2hlbiBjYWxsZWQuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBhcm91bmQ8T2JqIGV4dGVuZHMgb2JqZWN0PihvYmo6IE9iaiwgZmFjdG9yaWVzOiBGYWN0b3JpZXM8T2JqPik6IFVuaW5zdGFsbGVyIHtcbiAgcmV0dXJuIG9yaWdpbmFsQXJvdW5kKG9iaiBhcyBHZW5lcmljT2JqZWN0LCBmYWN0b3JpZXMgYXMgT3JpZ2luYWxGYWN0b3JpZXM8R2VuZXJpY09iamVjdD4pO1xufVxuXG4vKipcbiAqIENoZWNrcyBpZiBhIGZ1bmN0aW9uIGhhcyBhIHNwZWNpZmljIHBhdGNoIHRva2VuLlxuICpcbiAqIEBwYXJhbSBmbiAtIFRoZSBmdW5jdGlvbiB0byBjaGVjay5cbiAqIEBwYXJhbSBwYXRjaFRva2VuIC0gVGhlIHBhdGNoIHRva2VuIHRvIGNoZWNrIGZvci5cbiAqIEByZXR1cm5zIFdoZXRoZXIgdGhlIGZ1bmN0aW9uIGhhcyB0aGUgcGF0Y2ggdG9rZW4uXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBoYXNQYXRjaFRva2VuKGZuOiBHZW5lcmljRnVuY3Rpb24sIHBhdGNoVG9rZW46IHN5bWJvbCk6IGJvb2xlYW4ge1xuICByZXR1cm4gZ2V0TW9ua2V5QXJvdW5kUGF0Y2hlcygpLmdldChmbikgPT09IHBhdGNoVG9rZW47XG59XG5cbmZ1bmN0aW9uIGdldE1vbmtleUFyb3VuZFBhdGNoZXMoKTogV2Vha01hcDxHZW5lcmljRnVuY3Rpb24sIHN5bWJvbD4ge1xuICByZXR1cm4gZ2V0T2JzaWRpYW5EZXZVdGlsc1N0YXRlKG51bGwsICdtb25rZXlBcm91bmRQYXRjaGVzJywgbmV3IFdlYWtNYXA8R2VuZXJpY0Z1bmN0aW9uLCBzeW1ib2w+KCkpLnZhbHVlO1xufVxuIl0sCiAgIm1hcHBpbmdzIjogIjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFRQSxTQUFTLFVBQVUsc0JBQXNCO0FBS3pDLFNBQVMsZ0NBQWdDO0FBQ3pDLFNBQVMsMkJBQTJCO0FBNEY3QixNQUFNLDhCQUE4QixvQkFBb0I7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBUXRELG9CQUNMLFFBQ007QUFDTixRQUFJLE9BQU8sWUFBWTtBQUNyQixZQUFNLGlCQUFpQixPQUFPLElBQUksT0FBTyxVQUFVO0FBQ25ELDZCQUF1QixFQUFFLElBQUksZ0JBQWdCLE9BQU8sVUFBVTtBQUFBLElBQ2hFO0FBSUEsU0FBSyxjQUFjLE9BQU8sS0FBSztBQUFBLE1BQzdCLENBQUMsT0FBTyxVQUFVLEdBQUcsQ0FBQyxtQkFBMkI7QUFDL0MsZUFBTztBQUNQLGlCQUFTLGlCQUE0QixjQUFvRDtBQUV2RixnQkFBTSxlQUFlO0FBQ3JCLGlCQUFPLE9BQU8sYUFBYTtBQUFBLFlBQ3pCLFdBQVc7QUFDVCxxQkFBTyxlQUFlLEtBQUssY0FBYyxHQUFHLFlBQVk7QUFBQSxZQUMxRDtBQUFBLFlBQ0E7QUFBQSxZQUNBO0FBQUEsWUFDQSxxQkFBcUIsZUFBZSxLQUFLLFlBQVk7QUFBQSxZQUNyRDtBQUFBLFVBQ0YsQ0FBQztBQUFBLFFBQ0g7QUFBQSxNQUNGO0FBQUEsSUFDRixDQUFtQjtBQUFBLEVBQ3JCO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQVNPLGNBQWtDLEtBQVUsV0FBaUM7QUFDbEYsUUFBSSxDQUFDLEtBQUssU0FBUztBQUNqQixZQUFNLElBQUksTUFBTSwwREFBMEQ7QUFBQSxJQUM1RTtBQUVBLFVBQU0sY0FBYyxPQUFPLEtBQUssU0FBUztBQUN6QyxTQUFLLFNBQVMsV0FBVztBQUFBLEVBQzNCO0FBQ0Y7QUFXTyxTQUFTLE9BQTJCLEtBQVUsV0FBd0M7QUFDM0YsU0FBTyxlQUFlLEtBQXNCLFNBQTZDO0FBQzNGO0FBU08sU0FBUyxjQUFjLElBQXFCLFlBQTZCO0FBQzlFLFNBQU8sdUJBQXVCLEVBQUUsSUFBSSxFQUFFLE1BQU07QUFDOUM7QUFFQSxTQUFTLHlCQUEyRDtBQUNsRSxTQUFPLHlCQUF5QixNQUFNLHVCQUF1QixvQkFBSSxRQUFpQyxDQUFDLEVBQUU7QUFDdkc7IiwKICAibmFtZXMiOiBbXQp9Cg==
87
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vLi4vc3JjL29ic2lkaWFuL2NvbXBvbmVudHMvbW9ua2V5LWFyb3VuZC1jb21wb25lbnQudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbIi8qKlxuICogQGZpbGVcbiAqXG4gKiBJbXByb3ZlZCB0eXBlLXNhZmUgd3JhcHBlciBvZiB7QGxpbmsgaHR0cHM6Ly93d3cubnBtanMuY29tL3BhY2thZ2UvbW9ua2V5LWFyb3VuZH0gbGlicmFyeS5cbiAqL1xuXG5pbXBvcnQgdHlwZSB7IENvbmRpdGlvbmFsS2V5cyB9IGZyb20gJ3R5cGUtZmVzdCc7XG5cbmltcG9ydCB7IGFyb3VuZCBhcyBvcmlnaW5hbEFyb3VuZCB9IGZyb20gJ21vbmtleS1hcm91bmQnO1xuXG5pbXBvcnQgdHlwZSB7IEdlbmVyaWNGdW5jdGlvbiB9IGZyb20gJy4uLy4uL2Z1bmN0aW9uLnRzJztcbmltcG9ydCB0eXBlIHsgR2VuZXJpY09iamVjdCB9IGZyb20gJy4uLy4uL3R5cGUtZ3VhcmRzLnRzJztcblxuaW1wb3J0IHsgZ2V0T2JzaWRpYW5EZXZVdGlsc1N0YXRlIH0gZnJvbSAnLi4vYXBwLnRzJztcbmltcG9ydCB7IENvbXBvbmVudEV4IH0gZnJvbSAnLi9jb21wb25lbnQtZXgudHMnO1xuXG4vKipcbiAqIEEgdHlwZSBvZiB0aGUgZmFjdG9yaWVzIHRvIGFwcGx5IHRvIHRoZSBvYmplY3QuXG4gKlxuICogQHR5cGVQYXJhbSBPYmogLSBUaGUgb2JqZWN0IHRvIHBhdGNoLlxuICovXG5leHBvcnQgdHlwZSBGYWN0b3JpZXM8T2JqIGV4dGVuZHMgb2JqZWN0PiA9IFBhcnRpYWw8XG4gIHtcbiAgICBbS2V5IGluIENvbmRpdGlvbmFsS2V5czxPYmosIEdlbmVyaWNGdW5jdGlvbiB8IHVuZGVmaW5lZD5dOiBXcmFwcGVyRmFjdG9yeTxFeHRyYWN0PE9ialtLZXldLCBHZW5lcmljRnVuY3Rpb24gfCB1bmRlZmluZWQ+PjtcbiAgfVxuPjtcblxuLyoqXG4gKiBQYXJhbWV0ZXJzIHBhc3NlZCB0byB7QGxpbmsgTW9ua2V5QXJvdW5kQ29tcG9uZW50I3JlZ2lzdGVyTWV0aG9kUGF0Y2h9LlxuICpcbiAqIEB0eXBlUGFyYW0gT2JqIC0gVGhlIG9iamVjdCB0byBwYXRjaC5cbiAqIEB0eXBlUGFyYW0gTWV0aG9kTmFtZSAtIFRoZSBtZXRob2QgbmFtZSB0byBwYXRjaC5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBNb25rZXlBcm91bmRDb21wb25lbnRSZWdpc3Rlck1ldGhvZFBhdGNoUGFyYW1zPE9iaiBleHRlbmRzIG9iamVjdCwgTWV0aG9kTmFtZSBleHRlbmRzIE1ldGhvZEtleXM8T2JqPj4ge1xuICAvKipcbiAgICogVGhlIG1ldGhvZCBuYW1lIHRvIHBhdGNoLlxuICAgKi9cbiAgcmVhZG9ubHkgbWV0aG9kTmFtZTogTWV0aG9kTmFtZTtcblxuICAvKipcbiAgICogVGhlIG9iamVjdCB0byBwYXRjaC5cbiAgICovXG4gIHJlYWRvbmx5IG9iajogT2JqO1xuXG4gIC8qKlxuICAgKiBUaGUgcGF0Y2ggaGFuZGxlciBmdW5jdGlvbi5cbiAgICovXG4gIHJlYWRvbmx5IHBhdGNoSGFuZGxlcjogUGF0Y2hIYW5kbGVyRm48T2JqLCBNZXRob2ROYW1lPjtcblxuICAvKipcbiAgICogQW4gb3B0aW9uYWwgdG9rZW4gdG8gaWRlbnRpZnkgdGhlIHBhdGNoLlxuICAgKi9cbiAgcmVhZG9ubHkgcGF0Y2hUb2tlbj86IHN5bWJvbDtcbn1cblxuLyoqXG4gKiBBIHBhdGNoIGhhbmRsZXIgZnVuY3Rpb24gdGhhdCBpbnRlcmNlcHRzIGNhbGxzIHRvIGEgbWV0aG9kIG9uIGFuIG9iamVjdC5cbiAqXG4gKiBAdHlwZVBhcmFtIE9iaiAtIFRoZSBvYmplY3QgYmVpbmcgcGF0Y2hlZC5cbiAqIEB0eXBlUGFyYW0gSyAtIFRoZSBtZXRob2QgbmFtZSBiZWluZyBwYXRjaGVkLlxuICovXG5leHBvcnQgdHlwZSBQYXRjaEhhbmRsZXJGbjxPYmogZXh0ZW5kcyBvYmplY3QsIEsgZXh0ZW5kcyBNZXRob2RLZXlzPE9iaj4+ID0gKFxuICBwYXJhbXM6IFBhdGNoSGFuZGxlclBhcmFtczxPYmosIEs+XG4pID0+IFJldHVyblR5cGU8RXh0cmFjdDxPYmpbS10sIEdlbmVyaWNGdW5jdGlvbj4+O1xuXG4vKipcbiAqIFBhcmFtZXRlcnMgcGFzc2VkIHRvIGEge0BsaW5rIFBhdGNoSGFuZGxlckZufSBjYWxsYmFjay5cbiAqXG4gKiBAdHlwZVBhcmFtIE9iaiAtIFRoZSBvYmplY3QgYmVpbmcgcGF0Y2hlZC5cbiAqIEB0eXBlUGFyYW0gSyAtIFRoZSBtZXRob2QgbmFtZSBiZWluZyBwYXRjaGVkLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFBhdGNoSGFuZGxlclBhcmFtczxPYmogZXh0ZW5kcyBvYmplY3QsIEsgZXh0ZW5kcyBNZXRob2RLZXlzPE9iaj4+IHtcbiAgZmFsbGJhY2sodGhpczogdm9pZCk6IFJldHVyblR5cGU8RXh0cmFjdDxPYmpbS10sIEdlbmVyaWNGdW5jdGlvbj4+O1xuXG4gIC8qKlxuICAgKiBUaGUgb3JpZ2luYWwgYXJndW1lbnRzIG9mIHRoZSBpbnRlcmNlcHRlZCBjYWxsLCBhcyBhIHR1cGxlLlxuICAgKi9cbiAgcmVhZG9ubHkgb3JpZ2luYWxBcmdzOiBQYXJhbWV0ZXJzPEV4dHJhY3Q8T2JqW0tdLCBHZW5lcmljRnVuY3Rpb24+PjtcblxuICAvKipcbiAgICogVGhlIG9yaWdpbmFsICh1bnBhdGNoZWQpIGZ1bmN0aW9uLiBDYWxsIHZpYSBgb3JpZ2luYWxGbi5jYWxsKG9yaWdpbmFsVGhpcywgLi4ub3JpZ2luYWxBcmdzKWAuXG4gICAqL1xuICByZWFkb25seSBvcmlnaW5hbE1ldGhvZDogRXh0cmFjdDxPYmpbS10sIEdlbmVyaWNGdW5jdGlvbj47XG5cbiAgcmVhZG9ubHkgb3JpZ2luYWxNZXRob2RCb3VuZDogT21pdFRoaXNQYXJhbWV0ZXI8RXh0cmFjdDxPYmpbS10sIEdlbmVyaWNGdW5jdGlvbj4+O1xuXG4gIC8qKlxuICAgKiBUaGUgb3JpZ2luYWwgYHRoaXNgIGNvbnRleHQgb2YgdGhlIGludGVyY2VwdGVkIGNhbGwuXG4gICAqL1xuICByZWFkb25seSBvcmlnaW5hbFRoaXM6IE9iajtcbn1cblxuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby11bnNhZmUtZnVuY3Rpb24tdHlwZSAtLSBXZSBuZWVkIHRvIHVzZSBgRnVuY3Rpb25gIHR5cGUgYXMgYSBnZW5lcmljIHJlc3RyaWN0aW9uLlxudHlwZSBNZXRob2RLZXlzPE9iaiBleHRlbmRzIG9iamVjdD4gPSBDb25kaXRpb25hbEtleXM8T2JqLCBGdW5jdGlvbiB8IHVuZGVmaW5lZD4gJiBrZXlvZiBPYmo7XG5cbnR5cGUgT3JpZ2luYWxGYWN0b3JpZXM8T2JqIGV4dGVuZHMgR2VuZXJpY09iamVjdD4gPSBQYXJhbWV0ZXJzPHR5cGVvZiBvcmlnaW5hbEFyb3VuZDxPYmo+PlsxXTtcblxudHlwZSBVbmluc3RhbGxlciA9ICgpID0+IHZvaWQ7XG5cbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW5zYWZlLWZ1bmN0aW9uLXR5cGUgLS0gV2UgbmVlZCB0byB1c2UgYEZ1bmN0aW9uYCB0eXBlIGFzIGEgZ2VuZXJpYyByZXN0cmljdGlvbi5cbnR5cGUgV3JhcHBlckZhY3Rvcnk8VCBleHRlbmRzIEZ1bmN0aW9uIHwgdW5kZWZpbmVkPiA9IChuZXh0OiBUKSA9PiBUO1xuXG4vKipcbiAqIEEgY29tcG9uZW50IHRoYXQgbWFuYWdlcyBtb25rZXktcGF0Y2hlcyB3aXRoIGxpZmVjeWNsZS1ib3VuZCBjbGVhbnVwLlxuICogQWxsIHBhdGNoZXMgcmVnaXN0ZXJlZCB2aWEgdGhpcyBjb21wb25lbnQgYXJlIGF1dG9tYXRpY2FsbHkgdW5pbnN0YWxsZWQgd2hlbiB0aGUgY29tcG9uZW50IHVubG9hZHMuXG4gKi9cbmV4cG9ydCBjbGFzcyBNb25rZXlBcm91bmRDb21wb25lbnQgZXh0ZW5kcyBDb21wb25lbnRFeCB7XG4gIC8qKlxuICAgKiBSZWdpc3RlcnMgYSBzaW5nbGUtbWV0aG9kIHBhdGNoIHVzaW5nIGEgc2ltcGxpZmllZCBoYW5kbGVyLlxuICAgKlxuICAgKiBAdHlwZVBhcmFtIE9iaiAtIFRoZSBvYmplY3QgdG8gcGF0Y2guXG4gICAqIEB0eXBlUGFyYW0gTWV0aG9kTmFtZSAtIFRoZSBtZXRob2QgbmFtZSB0byBwYXRjaC5cbiAgICogQHBhcmFtIHBhcmFtcyAtIFRoZSBwYXJhbWV0ZXJzIG9mIHRoZSBwYXRjaC5cbiAgICovXG4gIHB1YmxpYyByZWdpc3Rlck1ldGhvZFBhdGNoPE9iaiBleHRlbmRzIG9iamVjdCwgY29uc3QgTWV0aG9kTmFtZSBleHRlbmRzIE1ldGhvZEtleXM8T2JqPj4oXG4gICAgcGFyYW1zOiBNb25rZXlBcm91bmRDb21wb25lbnRSZWdpc3Rlck1ldGhvZFBhdGNoUGFyYW1zPE9iaiwgTWV0aG9kTmFtZT5cbiAgKTogdm9pZCB7XG4gICAgaWYgKHBhcmFtcy5wYXRjaFRva2VuKSB7XG4gICAgICBjb25zdCBvcmlnaW5hbE1ldGhvZCA9IHBhcmFtcy5vYmpbcGFyYW1zLm1ldGhvZE5hbWVdIGFzIEdlbmVyaWNGdW5jdGlvbjtcbiAgICAgIGdldE1vbmtleUFyb3VuZFBhdGNoZXMoKS5zZXQob3JpZ2luYWxNZXRob2QsIHBhcmFtcy5wYXRjaFRva2VuKTtcbiAgICB9XG5cbiAgICB0eXBlIFJhd0ZuID0gRXh0cmFjdDxPYmpbTWV0aG9kTmFtZV0sIEdlbmVyaWNGdW5jdGlvbj47XG4gICAgdHlwZSBGbiA9IEdlbmVyaWNGdW5jdGlvbjxQYXJhbWV0ZXJzPFJhd0ZuPiwgUmV0dXJuVHlwZTxSYXdGbj4+O1xuICAgIHRoaXMucmVnaXN0ZXJQYXRjaChwYXJhbXMub2JqLCB7XG4gICAgICBbcGFyYW1zLm1ldGhvZE5hbWVdOiAob3JpZ2luYWxNZXRob2Q6IEZuKTogRm4gPT4ge1xuICAgICAgICByZXR1cm4gcGF0Y2hlZE1ldGhvZDtcbiAgICAgICAgZnVuY3Rpb24gcGF0Y2hlZE1ldGhvZCh0aGlzOiBPYmosIC4uLm9yaWdpbmFsQXJnczogUGFyYW1ldGVyczxSYXdGbj4pOiBSZXR1cm5UeXBlPFJhd0ZuPiB7XG4gICAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGNvbnNpc3RlbnQtdGhpcywgQHR5cGVzY3JpcHQtZXNsaW50L25vLXRoaXMtYWxpYXMgLS0gV2UgbmVlZCB0byB1c2UgdGhlIGB0aGlzYCBjb250ZXh0LlxuICAgICAgICAgIGNvbnN0IG9yaWdpbmFsVGhpcyA9IHRoaXM7XG4gICAgICAgICAgcmV0dXJuIHBhcmFtcy5wYXRjaEhhbmRsZXIoe1xuICAgICAgICAgICAgZmFsbGJhY2soKSB7XG4gICAgICAgICAgICAgIHJldHVybiBvcmlnaW5hbE1ldGhvZC5jYWxsKG9yaWdpbmFsVGhpcywgLi4ub3JpZ2luYWxBcmdzKTtcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBvcmlnaW5hbEFyZ3MsXG4gICAgICAgICAgICBvcmlnaW5hbE1ldGhvZDogb3JpZ2luYWxNZXRob2QgYXMgUmF3Rm4sXG4gICAgICAgICAgICBvcmlnaW5hbE1ldGhvZEJvdW5kOiBvcmlnaW5hbE1ldGhvZC5iaW5kKG9yaWdpbmFsVGhpcykgYXMgT21pdFRoaXNQYXJhbWV0ZXI8UmF3Rm4+LFxuICAgICAgICAgICAgb3JpZ2luYWxUaGlzXG4gICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9IGFzIEZhY3RvcmllczxPYmo+KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZWdpc3RlcnMgYSBwYXRjaCB1c2luZyByYXcgZmFjdG9yaWVzIChhZHZhbmNlZCBBUEkpLlxuICAgKlxuICAgKiBAdHlwZVBhcmFtIE9iaiAtIFRoZSBvYmplY3QgdG8gcGF0Y2guXG4gICAqIEBwYXJhbSBvYmogLSBUaGUgb2JqZWN0IHRvIHBhdGNoLlxuICAgKiBAcGFyYW0gZmFjdG9yaWVzIC0gVGhlIGZhY3RvcmllcyB0byBhcHBseSB0byB0aGUgb2JqZWN0LlxuICAgKi9cbiAgcHVibGljIHJlZ2lzdGVyUGF0Y2g8T2JqIGV4dGVuZHMgb2JqZWN0PihvYmo6IE9iaiwgZmFjdG9yaWVzOiBGYWN0b3JpZXM8T2JqPik6IHZvaWQge1xuICAgIGlmICghdGhpcy5fbG9hZGVkKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ0Nhbm5vdCByZWdpc3RlciBwYXRjaCBvbiBhIGNvbXBvbmVudCB0aGF0IGlzIG5vdCBsb2FkZWQuJyk7XG4gICAgfVxuXG4gICAgY29uc3QgdW5pbnN0YWxsZXIgPSBhcm91bmQob2JqLCBmYWN0b3JpZXMpO1xuICAgIHRoaXMucmVnaXN0ZXIodW5pbnN0YWxsZXIpO1xuICB9XG59XG5cbi8qKlxuICogQXBwbGllcyBhIHBhdGNoIHRvIHRoZSBvYmplY3QuXG4gKiBCZXR0ZXIgc3Ryb25nbHktdHlwZWQgdmVyc2lvbiBvZiBgbW9ua2V5LWFyb3VuZGAuXG4gKlxuICogQHR5cGVQYXJhbSBPYmogLSBUaGUgb2JqZWN0IHRvIHBhdGNoLlxuICogQHBhcmFtIG9iaiAtIFRoZSBvYmplY3QgdG8gcGF0Y2guXG4gKiBAcGFyYW0gZmFjdG9yaWVzIC0gVGhlIGZhY3RvcmllcyB0byBhcHBseSB0byB0aGUgb2JqZWN0LlxuICogQHJldHVybnMgVGhlIHVuaW5zdGFsbGVyIHRoYXQgcmVtb3ZlcyB0aGUgcGF0Y2ggd2hlbiBjYWxsZWQuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBhcm91bmQ8T2JqIGV4dGVuZHMgb2JqZWN0PihvYmo6IE9iaiwgZmFjdG9yaWVzOiBGYWN0b3JpZXM8T2JqPik6IFVuaW5zdGFsbGVyIHtcbiAgcmV0dXJuIG9yaWdpbmFsQXJvdW5kKG9iaiBhcyBHZW5lcmljT2JqZWN0LCBmYWN0b3JpZXMgYXMgT3JpZ2luYWxGYWN0b3JpZXM8R2VuZXJpY09iamVjdD4pO1xufVxuXG4vKipcbiAqIENoZWNrcyBpZiBhIGZ1bmN0aW9uIGhhcyBhIHNwZWNpZmljIHBhdGNoIHRva2VuLlxuICpcbiAqIEBwYXJhbSBmbiAtIFRoZSBmdW5jdGlvbiB0byBjaGVjay5cbiAqIEBwYXJhbSBwYXRjaFRva2VuIC0gVGhlIHBhdGNoIHRva2VuIHRvIGNoZWNrIGZvci5cbiAqIEByZXR1cm5zIFdoZXRoZXIgdGhlIGZ1bmN0aW9uIGhhcyB0aGUgcGF0Y2ggdG9rZW4uXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBoYXNQYXRjaFRva2VuKGZuOiBHZW5lcmljRnVuY3Rpb24sIHBhdGNoVG9rZW46IHN5bWJvbCk6IGJvb2xlYW4ge1xuICByZXR1cm4gZ2V0TW9ua2V5QXJvdW5kUGF0Y2hlcygpLmdldChmbikgPT09IHBhdGNoVG9rZW47XG59XG5cbmZ1bmN0aW9uIGdldE1vbmtleUFyb3VuZFBhdGNoZXMoKTogV2Vha01hcDxHZW5lcmljRnVuY3Rpb24sIHN5bWJvbD4ge1xuICByZXR1cm4gZ2V0T2JzaWRpYW5EZXZVdGlsc1N0YXRlKG51bGwsICdtb25rZXlBcm91bmRQYXRjaGVzJywgbmV3IFdlYWtNYXA8R2VuZXJpY0Z1bmN0aW9uLCBzeW1ib2w+KCkpLnZhbHVlO1xufVxuIl0sCiAgIm1hcHBpbmdzIjogIjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFRQSxTQUFTLFVBQVUsc0JBQXNCO0FBS3pDLFNBQVMsZ0NBQWdDO0FBQ3pDLFNBQVMsbUJBQW1CO0FBNEZyQixNQUFNLDhCQUE4QixZQUFZO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQVE5QyxvQkFDTCxRQUNNO0FBQ04sUUFBSSxPQUFPLFlBQVk7QUFDckIsWUFBTSxpQkFBaUIsT0FBTyxJQUFJLE9BQU8sVUFBVTtBQUNuRCw2QkFBdUIsRUFBRSxJQUFJLGdCQUFnQixPQUFPLFVBQVU7QUFBQSxJQUNoRTtBQUlBLFNBQUssY0FBYyxPQUFPLEtBQUs7QUFBQSxNQUM3QixDQUFDLE9BQU8sVUFBVSxHQUFHLENBQUMsbUJBQTJCO0FBQy9DLGVBQU87QUFDUCxpQkFBUyxpQkFBNEIsY0FBb0Q7QUFFdkYsZ0JBQU0sZUFBZTtBQUNyQixpQkFBTyxPQUFPLGFBQWE7QUFBQSxZQUN6QixXQUFXO0FBQ1QscUJBQU8sZUFBZSxLQUFLLGNBQWMsR0FBRyxZQUFZO0FBQUEsWUFDMUQ7QUFBQSxZQUNBO0FBQUEsWUFDQTtBQUFBLFlBQ0EscUJBQXFCLGVBQWUsS0FBSyxZQUFZO0FBQUEsWUFDckQ7QUFBQSxVQUNGLENBQUM7QUFBQSxRQUNIO0FBQUEsTUFDRjtBQUFBLElBQ0YsQ0FBbUI7QUFBQSxFQUNyQjtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFTTyxjQUFrQyxLQUFVLFdBQWlDO0FBQ2xGLFFBQUksQ0FBQyxLQUFLLFNBQVM7QUFDakIsWUFBTSxJQUFJLE1BQU0sMERBQTBEO0FBQUEsSUFDNUU7QUFFQSxVQUFNLGNBQWMsT0FBTyxLQUFLLFNBQVM7QUFDekMsU0FBSyxTQUFTLFdBQVc7QUFBQSxFQUMzQjtBQUNGO0FBV08sU0FBUyxPQUEyQixLQUFVLFdBQXdDO0FBQzNGLFNBQU8sZUFBZSxLQUFzQixTQUE2QztBQUMzRjtBQVNPLFNBQVMsY0FBYyxJQUFxQixZQUE2QjtBQUM5RSxTQUFPLHVCQUF1QixFQUFFLElBQUksRUFBRSxNQUFNO0FBQzlDO0FBRUEsU0FBUyx5QkFBMkQ7QUFDbEUsU0FBTyx5QkFBeUIsTUFBTSx1QkFBdUIsb0JBQUksUUFBaUMsQ0FBQyxFQUFFO0FBQ3ZHOyIsCiAgIm5hbWVzIjogW10KfQo=
@@ -1,10 +1,11 @@
1
+ /// <reference path="../../library.d.mts" />
1
2
  /**
2
3
  * @file
3
4
  *
4
5
  * Component that initializes the plugin context, debug controller, and library styles.
5
6
  */
6
7
  import type { App } from 'obsidian';
7
- import { DisposableComponent } from './disposable-component.mjs';
8
+ import { ComponentEx } from './component-ex.mjs';
8
9
  interface PluginContextComponentConstructorParams {
9
10
  readonly app: App;
10
11
  readonly pluginId: string;
@@ -12,11 +13,7 @@ interface PluginContextComponentConstructorParams {
12
13
  /**
13
14
  * Initializes plugin context (plugin ID, debug controller, library styles) on load.
14
15
  */
15
- export declare class PluginContextComponent extends DisposableComponent {
16
- /**
17
- * The singleton key for the {@link PluginContextComponent} class.
18
- */
19
- static readonly COMPONENT_KEY: unique symbol;
16
+ export declare class PluginContextComponent extends ComponentEx {
20
17
  private readonly app;
21
18
  private readonly pluginId;
22
19
  /**