obsidian-dev-utils 57.0.1 → 58.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (399) hide show
  1. package/CHANGELOG.md +10 -0
  2. package/dist/lib/cjs/abort-controller.cjs +5 -5
  3. package/dist/lib/cjs/array.cjs +3 -3
  4. package/dist/lib/cjs/async-events.cjs +6 -6
  5. package/dist/lib/cjs/async.cjs +6 -6
  6. package/dist/lib/cjs/blob.cjs +3 -3
  7. package/dist/lib/cjs/codemirror/index.cjs +3 -3
  8. package/dist/lib/cjs/codemirror/state-field-spec.cjs +3 -3
  9. package/dist/lib/cjs/css-class.cjs +3 -3
  10. package/dist/lib/cjs/debug-controller.cjs +3 -3
  11. package/dist/lib/cjs/debug.cjs +3 -3
  12. package/dist/lib/cjs/enum.cjs +3 -3
  13. package/dist/lib/cjs/error.cjs +4 -4
  14. package/dist/lib/cjs/function.cjs +3 -3
  15. package/dist/lib/cjs/html-element.cjs +5 -5
  16. package/dist/lib/cjs/index.cjs +3 -3
  17. package/dist/lib/cjs/library.cjs +4 -4
  18. package/dist/lib/cjs/object-utils.cjs +3 -3
  19. package/dist/lib/cjs/obsidian/app.cjs +4 -4
  20. package/dist/lib/cjs/obsidian/async-with-notice.cjs +7 -7
  21. package/dist/lib/cjs/obsidian/attachment-path.cjs +3 -3
  22. package/dist/lib/cjs/obsidian/backlink.cjs +3 -3
  23. package/dist/lib/cjs/obsidian/callout.cjs +3 -3
  24. package/dist/lib/cjs/obsidian/code-block-markdown-information.cjs +3 -3
  25. package/dist/lib/cjs/obsidian/command-handlers/abstract-file-command-handler.cjs +3 -3
  26. package/dist/lib/cjs/obsidian/command-handlers/app-active-file-provider.cjs +3 -3
  27. package/dist/lib/cjs/obsidian/command-handlers/app-menu-event-registrar.cjs +3 -3
  28. package/dist/lib/cjs/obsidian/command-handlers/command-handler-component.cjs +3 -3
  29. package/dist/lib/cjs/obsidian/command-handlers/command-handler.cjs +3 -3
  30. package/dist/lib/cjs/obsidian/command-handlers/editor-command-handler.cjs +3 -3
  31. package/dist/lib/cjs/obsidian/command-handlers/file-command-handler.cjs +3 -3
  32. package/dist/lib/cjs/obsidian/command-handlers/folder-command-handler.cjs +3 -3
  33. package/dist/lib/cjs/obsidian/command-handlers/global-command-handler.cjs +3 -3
  34. package/dist/lib/cjs/obsidian/command-handlers/index.cjs +3 -3
  35. package/dist/lib/cjs/obsidian/command-handlers/open-settings-command-handler.cjs +3 -3
  36. package/dist/lib/cjs/obsidian/components/all-windows-event-handler.cjs +3 -3
  37. package/dist/lib/cjs/obsidian/components/async-component.cjs +31 -14
  38. package/dist/lib/cjs/obsidian/components/async-component.d.cts +14 -0
  39. package/dist/lib/cjs/obsidian/components/async-events-component.cjs +3 -3
  40. package/dist/lib/cjs/obsidian/components/index.cjs +3 -3
  41. package/dist/lib/cjs/obsidian/components/setting-components/checkbox-component.cjs +3 -3
  42. package/dist/lib/cjs/obsidian/components/setting-components/code-highlighter-component.cjs +5 -5
  43. package/dist/lib/cjs/obsidian/components/setting-components/date-component.cjs +3 -3
  44. package/dist/lib/cjs/obsidian/components/setting-components/date-time-component.cjs +3 -3
  45. package/dist/lib/cjs/obsidian/components/setting-components/email-component.cjs +3 -3
  46. package/dist/lib/cjs/obsidian/components/setting-components/file-component.cjs +3 -3
  47. package/dist/lib/cjs/obsidian/components/setting-components/index.cjs +3 -3
  48. package/dist/lib/cjs/obsidian/components/setting-components/month-component.cjs +3 -3
  49. package/dist/lib/cjs/obsidian/components/setting-components/multiple-dropdown-component.cjs +3 -3
  50. package/dist/lib/cjs/obsidian/components/setting-components/multiple-email-component.cjs +3 -3
  51. package/dist/lib/cjs/obsidian/components/setting-components/multiple-file-component.cjs +3 -3
  52. package/dist/lib/cjs/obsidian/components/setting-components/multiple-text-component.cjs +3 -3
  53. package/dist/lib/cjs/obsidian/components/setting-components/number-component.cjs +3 -3
  54. package/dist/lib/cjs/obsidian/components/setting-components/password-component.cjs +3 -3
  55. package/dist/lib/cjs/obsidian/components/setting-components/setting-component-wrapper.cjs +3 -3
  56. package/dist/lib/cjs/obsidian/components/setting-components/telephone-component.cjs +3 -3
  57. package/dist/lib/cjs/obsidian/components/setting-components/text-based-component.cjs +3 -3
  58. package/dist/lib/cjs/obsidian/components/setting-components/time-component.cjs +3 -3
  59. package/dist/lib/cjs/obsidian/components/setting-components/tri-state-checkbox-component.cjs +3 -3
  60. package/dist/lib/cjs/obsidian/components/setting-components/typed-dropdown-component.cjs +3 -3
  61. package/dist/lib/cjs/obsidian/components/setting-components/typed-multiple-dropdown-component.cjs +3 -3
  62. package/dist/lib/cjs/obsidian/components/setting-components/typed-range-text-component.cjs +3 -3
  63. package/dist/lib/cjs/obsidian/components/setting-components/typed-text-component.cjs +3 -3
  64. package/dist/lib/cjs/obsidian/components/setting-components/url-component.cjs +3 -3
  65. package/dist/lib/cjs/obsidian/components/setting-components/validator-component.cjs +5 -5
  66. package/dist/lib/cjs/obsidian/components/setting-components/value-component-with-change-tracking.cjs +3 -3
  67. package/dist/lib/cjs/obsidian/components/setting-components/week-component.cjs +3 -3
  68. package/dist/lib/cjs/obsidian/constructors/getDomEventsHandlersConstructor.cjs +3 -3
  69. package/dist/lib/cjs/obsidian/constructors/index.cjs +3 -3
  70. package/dist/lib/cjs/obsidian/dataview-link.cjs +3 -3
  71. package/dist/lib/cjs/obsidian/dataview.cjs +3 -3
  72. package/dist/lib/cjs/obsidian/editor.cjs +3 -3
  73. package/dist/lib/cjs/obsidian/file-change.cjs +3 -3
  74. package/dist/lib/cjs/obsidian/file-manager.cjs +3 -3
  75. package/dist/lib/cjs/obsidian/file-system.cjs +3 -3
  76. package/dist/lib/cjs/obsidian/frontmatter-link-cache-with-offsets.cjs +3 -3
  77. package/dist/lib/cjs/obsidian/frontmatter.cjs +3 -3
  78. package/dist/lib/cjs/obsidian/i18n/custom-type-options.cjs +3 -3
  79. package/dist/lib/cjs/obsidian/i18n/default-translations.cjs +3 -3
  80. package/dist/lib/cjs/obsidian/i18n/i18n.cjs +3 -3
  81. package/dist/lib/cjs/obsidian/i18n/index.cjs +3 -3
  82. package/dist/lib/cjs/obsidian/i18n/locales/en.cjs +3 -3
  83. package/dist/lib/cjs/obsidian/i18n/locales/index.cjs +3 -3
  84. package/dist/lib/cjs/obsidian/i18n/locales/translations-map.cjs +3 -3
  85. package/dist/lib/cjs/obsidian/index.cjs +3 -3
  86. package/dist/lib/cjs/obsidian/is-in-obsidian.cjs +3 -3
  87. package/dist/lib/cjs/obsidian/link.cjs +3 -3
  88. package/dist/lib/cjs/obsidian/logger.cjs +3 -3
  89. package/dist/lib/cjs/obsidian/loop.cjs +3 -3
  90. package/dist/lib/cjs/obsidian/markdown-code-block-processor.cjs +3 -3
  91. package/dist/lib/cjs/obsidian/markdown-view.cjs +3 -3
  92. package/dist/lib/cjs/obsidian/markdown.cjs +3 -3
  93. package/dist/lib/cjs/obsidian/metadata-cache.cjs +3 -3
  94. package/dist/lib/cjs/obsidian/modals/alert.cjs +3 -3
  95. package/dist/lib/cjs/obsidian/modals/confirm.cjs +3 -3
  96. package/dist/lib/cjs/obsidian/modals/index.cjs +3 -3
  97. package/dist/lib/cjs/obsidian/modals/modal.cjs +3 -3
  98. package/dist/lib/cjs/obsidian/modals/prompt.cjs +3 -3
  99. package/dist/lib/cjs/obsidian/modals/select-item.cjs +3 -3
  100. package/dist/lib/cjs/obsidian/monkey-around.cjs +3 -3
  101. package/dist/lib/cjs/obsidian/obsidian-settings.cjs +3 -3
  102. package/dist/lib/cjs/obsidian/pdf.cjs +3 -3
  103. package/dist/lib/cjs/obsidian/plugin/components/abort-signal-component.cjs +3 -3
  104. package/dist/lib/cjs/obsidian/plugin/components/async-error-handler-component.cjs +3 -3
  105. package/dist/lib/cjs/obsidian/plugin/components/console-debug-component.cjs +3 -3
  106. package/dist/lib/cjs/obsidian/plugin/components/i18n-component.cjs +3 -3
  107. package/dist/lib/cjs/obsidian/plugin/components/index.cjs +7 -7
  108. package/dist/lib/cjs/obsidian/plugin/components/index.d.cts +1 -1
  109. package/dist/lib/cjs/obsidian/plugin/components/layout-ready-component.cjs +124 -0
  110. package/dist/lib/cjs/obsidian/plugin/components/layout-ready-component.d.cts +18 -0
  111. package/dist/lib/cjs/obsidian/plugin/components/plugin-context-component.cjs +3 -3
  112. package/dist/lib/cjs/obsidian/plugin/components/plugin-notice-component.cjs +3 -3
  113. package/dist/lib/cjs/obsidian/plugin/components/plugin-settings-component.cjs +3 -3
  114. package/dist/lib/cjs/obsidian/plugin/components/plugin-settings-tab-component.cjs +3 -3
  115. package/dist/lib/cjs/obsidian/plugin/index.cjs +3 -3
  116. package/dist/lib/cjs/obsidian/plugin/obsidian-plugin-repo-paths.cjs +3 -3
  117. package/dist/lib/cjs/obsidian/plugin/path-settings.cjs +3 -3
  118. package/dist/lib/cjs/obsidian/plugin/plugin-context.cjs +6 -6
  119. package/dist/lib/cjs/obsidian/plugin/plugin-id.cjs +3 -3
  120. package/dist/lib/cjs/obsidian/plugin/plugin-settings-tab.cjs +6 -6
  121. package/dist/lib/cjs/obsidian/plugin/plugin.cjs +50 -84
  122. package/dist/lib/cjs/obsidian/plugin/plugin.d.cts +13 -51
  123. package/dist/lib/cjs/obsidian/queue.cjs +3 -3
  124. package/dist/lib/cjs/obsidian/react/app-context.cjs +3 -3
  125. package/dist/lib/cjs/obsidian/react/index.cjs +3 -3
  126. package/dist/lib/cjs/obsidian/reference.cjs +3 -3
  127. package/dist/lib/cjs/obsidian/rename-delete-handler.cjs +3 -3
  128. package/dist/lib/cjs/obsidian/resource-url.cjs +3 -3
  129. package/dist/lib/cjs/obsidian/setting-ex.cjs +3 -3
  130. package/dist/lib/cjs/obsidian/setting-group-ex.cjs +3 -3
  131. package/dist/lib/cjs/obsidian/validation.cjs +3 -3
  132. package/dist/lib/cjs/obsidian/vault-delete.cjs +3 -3
  133. package/dist/lib/cjs/obsidian/vault.cjs +3 -3
  134. package/dist/lib/cjs/obsidian/workspace.cjs +3 -3
  135. package/dist/lib/cjs/path.cjs +3 -3
  136. package/dist/lib/cjs/reg-exp.cjs +3 -3
  137. package/dist/lib/cjs/script-utils/build.cjs +3 -3
  138. package/dist/lib/cjs/script-utils/bundlers/esbuild-impl/change-extension-plugin.cjs +3 -3
  139. package/dist/lib/cjs/script-utils/bundlers/esbuild-impl/copy-to-obsidian-plugins-folder-plugin.cjs +3 -3
  140. package/dist/lib/cjs/script-utils/bundlers/esbuild-impl/custom-esbuild-options-plugin.cjs +3 -3
  141. package/dist/lib/cjs/script-utils/bundlers/esbuild-impl/dependency.cjs +3 -3
  142. package/dist/lib/cjs/script-utils/bundlers/esbuild-impl/fix-esm-plugin.cjs +3 -3
  143. package/dist/lib/cjs/script-utils/bundlers/esbuild-impl/fix-source-maps-plugin.cjs +3 -3
  144. package/dist/lib/cjs/script-utils/bundlers/esbuild-impl/index.cjs +3 -3
  145. package/dist/lib/cjs/script-utils/bundlers/esbuild-impl/obsidian-plugin-builder.cjs +3 -3
  146. package/dist/lib/cjs/script-utils/bundlers/esbuild-impl/preprocess-plugin.cjs +4 -4
  147. package/dist/lib/cjs/script-utils/bundlers/esbuild-impl/rename-css-plugin.cjs +3 -3
  148. package/dist/lib/cjs/script-utils/bundlers/esbuild-impl/svelte-wrapper-plugin.cjs +3 -3
  149. package/dist/lib/cjs/script-utils/bundlers/esbuild.cjs +3 -3
  150. package/dist/lib/cjs/script-utils/bundlers/index.cjs +3 -3
  151. package/dist/lib/cjs/script-utils/cli-utils.cjs +3 -3
  152. package/dist/lib/cjs/script-utils/code-generator.cjs +3 -3
  153. package/dist/lib/cjs/script-utils/commitlint-config.cjs +3 -3
  154. package/dist/lib/cjs/script-utils/exec.cjs +3 -3
  155. package/dist/lib/cjs/script-utils/formatters/dprint.cjs +3 -3
  156. package/dist/lib/cjs/script-utils/formatters/index.cjs +3 -3
  157. package/dist/lib/cjs/script-utils/fs.cjs +3 -3
  158. package/dist/lib/cjs/script-utils/index.cjs +3 -3
  159. package/dist/lib/cjs/script-utils/json.cjs +3 -3
  160. package/dist/lib/cjs/script-utils/linters/cspell.cjs +3 -3
  161. package/dist/lib/cjs/script-utils/linters/eslint-config.cjs +3 -3
  162. package/dist/lib/cjs/script-utils/linters/eslint-rules/index.cjs +3 -3
  163. package/dist/lib/cjs/script-utils/linters/eslint-rules/no-async-callback-to-unsafe-return.cjs +3 -3
  164. package/dist/lib/cjs/script-utils/linters/eslint-rules/no-used-underscore-variables.cjs +3 -3
  165. package/dist/lib/cjs/script-utils/linters/eslint-rules/obsidian-dev-utils-plugin.cjs +3 -3
  166. package/dist/lib/cjs/script-utils/linters/eslint-rules/rule-tester-helper.cjs +3 -3
  167. package/dist/lib/cjs/script-utils/linters/eslint.cjs +3 -3
  168. package/dist/lib/cjs/script-utils/linters/index.cjs +3 -3
  169. package/dist/lib/cjs/script-utils/linters/markdownlint-cli2-config.cjs +3 -3
  170. package/dist/lib/cjs/script-utils/linters/markdownlint.cjs +3 -3
  171. package/dist/lib/cjs/script-utils/nano-staged-config.cjs +3 -3
  172. package/dist/lib/cjs/script-utils/npm-publish.cjs +3 -3
  173. package/dist/lib/cjs/script-utils/npm-run.cjs +3 -3
  174. package/dist/lib/cjs/script-utils/npm.cjs +3 -3
  175. package/dist/lib/cjs/script-utils/obsidian-dev-utils-repo-paths.cjs +3 -3
  176. package/dist/lib/cjs/script-utils/root.cjs +3 -3
  177. package/dist/lib/cjs/script-utils/test-runners/index.cjs +3 -3
  178. package/dist/lib/cjs/script-utils/test-runners/vitest.cjs +3 -3
  179. package/dist/lib/cjs/script-utils/version.cjs +3 -3
  180. package/dist/lib/cjs/strict-proxy.cjs +18 -7
  181. package/dist/lib/cjs/strict-proxy.d.cts +12 -0
  182. package/dist/lib/cjs/string.cjs +3 -3
  183. package/dist/lib/cjs/transformers/date-transformer.cjs +3 -3
  184. package/dist/lib/cjs/transformers/duration-transformer.cjs +3 -3
  185. package/dist/lib/cjs/transformers/group-transformer.cjs +3 -3
  186. package/dist/lib/cjs/transformers/index.cjs +3 -3
  187. package/dist/lib/cjs/transformers/map-transformer.cjs +3 -3
  188. package/dist/lib/cjs/transformers/set-transformer.cjs +3 -3
  189. package/dist/lib/cjs/transformers/skip-private-property-transformer.cjs +3 -3
  190. package/dist/lib/cjs/transformers/transformer.cjs +3 -3
  191. package/dist/lib/cjs/transformers/two-way-map-transformer.cjs +3 -3
  192. package/dist/lib/cjs/transformers/typed-transformer.cjs +3 -3
  193. package/dist/lib/cjs/two-way-map.cjs +3 -3
  194. package/dist/lib/cjs/type-guards.cjs +3 -3
  195. package/dist/lib/cjs/type.cjs +3 -3
  196. package/dist/lib/cjs/url.cjs +3 -3
  197. package/dist/lib/cjs/value-provider.cjs +3 -3
  198. package/dist/lib/esm/abort-controller.mjs +4 -4
  199. package/dist/lib/esm/array.mjs +2 -2
  200. package/dist/lib/esm/async-events.mjs +5 -5
  201. package/dist/lib/esm/async.mjs +5 -5
  202. package/dist/lib/esm/blob.mjs +2 -2
  203. package/dist/lib/esm/codemirror/index.mjs +2 -2
  204. package/dist/lib/esm/codemirror/state-field-spec.mjs +2 -2
  205. package/dist/lib/esm/css-class.mjs +2 -2
  206. package/dist/lib/esm/debug-controller.mjs +2 -2
  207. package/dist/lib/esm/debug.mjs +2 -2
  208. package/dist/lib/esm/enum.mjs +2 -2
  209. package/dist/lib/esm/error.mjs +3 -3
  210. package/dist/lib/esm/function.mjs +2 -2
  211. package/dist/lib/esm/html-element.mjs +4 -4
  212. package/dist/lib/esm/index.mjs +2 -2
  213. package/dist/lib/esm/library.mjs +3 -3
  214. package/dist/lib/esm/object-utils.mjs +2 -2
  215. package/dist/lib/esm/obsidian/app.mjs +3 -3
  216. package/dist/lib/esm/obsidian/async-with-notice.mjs +6 -6
  217. package/dist/lib/esm/obsidian/attachment-path.mjs +2 -2
  218. package/dist/lib/esm/obsidian/backlink.mjs +2 -2
  219. package/dist/lib/esm/obsidian/callout.mjs +2 -2
  220. package/dist/lib/esm/obsidian/code-block-markdown-information.mjs +2 -2
  221. package/dist/lib/esm/obsidian/command-handlers/abstract-file-command-handler.mjs +2 -2
  222. package/dist/lib/esm/obsidian/command-handlers/app-active-file-provider.mjs +2 -2
  223. package/dist/lib/esm/obsidian/command-handlers/app-menu-event-registrar.mjs +2 -2
  224. package/dist/lib/esm/obsidian/command-handlers/command-handler-component.mjs +2 -2
  225. package/dist/lib/esm/obsidian/command-handlers/command-handler.mjs +2 -2
  226. package/dist/lib/esm/obsidian/command-handlers/editor-command-handler.mjs +2 -2
  227. package/dist/lib/esm/obsidian/command-handlers/file-command-handler.mjs +2 -2
  228. package/dist/lib/esm/obsidian/command-handlers/folder-command-handler.mjs +2 -2
  229. package/dist/lib/esm/obsidian/command-handlers/global-command-handler.mjs +2 -2
  230. package/dist/lib/esm/obsidian/command-handlers/index.mjs +2 -2
  231. package/dist/lib/esm/obsidian/command-handlers/open-settings-command-handler.mjs +2 -2
  232. package/dist/lib/esm/obsidian/components/all-windows-event-handler.mjs +2 -2
  233. package/dist/lib/esm/obsidian/components/async-component.d.mts +14 -0
  234. package/dist/lib/esm/obsidian/components/async-component.mjs +27 -12
  235. package/dist/lib/esm/obsidian/components/async-events-component.mjs +2 -2
  236. package/dist/lib/esm/obsidian/components/index.mjs +2 -2
  237. package/dist/lib/esm/obsidian/components/setting-components/checkbox-component.mjs +2 -2
  238. package/dist/lib/esm/obsidian/components/setting-components/code-highlighter-component.mjs +4 -4
  239. package/dist/lib/esm/obsidian/components/setting-components/date-component.mjs +2 -2
  240. package/dist/lib/esm/obsidian/components/setting-components/date-time-component.mjs +2 -2
  241. package/dist/lib/esm/obsidian/components/setting-components/email-component.mjs +2 -2
  242. package/dist/lib/esm/obsidian/components/setting-components/file-component.mjs +2 -2
  243. package/dist/lib/esm/obsidian/components/setting-components/index.mjs +2 -2
  244. package/dist/lib/esm/obsidian/components/setting-components/month-component.mjs +2 -2
  245. package/dist/lib/esm/obsidian/components/setting-components/multiple-dropdown-component.mjs +2 -2
  246. package/dist/lib/esm/obsidian/components/setting-components/multiple-email-component.mjs +2 -2
  247. package/dist/lib/esm/obsidian/components/setting-components/multiple-file-component.mjs +2 -2
  248. package/dist/lib/esm/obsidian/components/setting-components/multiple-text-component.mjs +2 -2
  249. package/dist/lib/esm/obsidian/components/setting-components/number-component.mjs +2 -2
  250. package/dist/lib/esm/obsidian/components/setting-components/password-component.mjs +2 -2
  251. package/dist/lib/esm/obsidian/components/setting-components/setting-component-wrapper.mjs +2 -2
  252. package/dist/lib/esm/obsidian/components/setting-components/telephone-component.mjs +2 -2
  253. package/dist/lib/esm/obsidian/components/setting-components/text-based-component.mjs +2 -2
  254. package/dist/lib/esm/obsidian/components/setting-components/time-component.mjs +2 -2
  255. package/dist/lib/esm/obsidian/components/setting-components/tri-state-checkbox-component.mjs +2 -2
  256. package/dist/lib/esm/obsidian/components/setting-components/typed-dropdown-component.mjs +2 -2
  257. package/dist/lib/esm/obsidian/components/setting-components/typed-multiple-dropdown-component.mjs +2 -2
  258. package/dist/lib/esm/obsidian/components/setting-components/typed-range-text-component.mjs +2 -2
  259. package/dist/lib/esm/obsidian/components/setting-components/typed-text-component.mjs +2 -2
  260. package/dist/lib/esm/obsidian/components/setting-components/url-component.mjs +2 -2
  261. package/dist/lib/esm/obsidian/components/setting-components/validator-component.mjs +4 -4
  262. package/dist/lib/esm/obsidian/components/setting-components/value-component-with-change-tracking.mjs +2 -2
  263. package/dist/lib/esm/obsidian/components/setting-components/week-component.mjs +2 -2
  264. package/dist/lib/esm/obsidian/constructors/getDomEventsHandlersConstructor.mjs +2 -2
  265. package/dist/lib/esm/obsidian/constructors/index.mjs +2 -2
  266. package/dist/lib/esm/obsidian/dataview-link.mjs +2 -2
  267. package/dist/lib/esm/obsidian/dataview.mjs +2 -2
  268. package/dist/lib/esm/obsidian/editor.mjs +2 -2
  269. package/dist/lib/esm/obsidian/file-change.mjs +2 -2
  270. package/dist/lib/esm/obsidian/file-manager.mjs +2 -2
  271. package/dist/lib/esm/obsidian/file-system.mjs +2 -2
  272. package/dist/lib/esm/obsidian/frontmatter-link-cache-with-offsets.mjs +2 -2
  273. package/dist/lib/esm/obsidian/frontmatter.mjs +2 -2
  274. package/dist/lib/esm/obsidian/i18n/custom-type-options.mjs +2 -2
  275. package/dist/lib/esm/obsidian/i18n/default-translations.mjs +2 -2
  276. package/dist/lib/esm/obsidian/i18n/i18n.mjs +2 -2
  277. package/dist/lib/esm/obsidian/i18n/index.mjs +2 -2
  278. package/dist/lib/esm/obsidian/i18n/locales/en.mjs +2 -2
  279. package/dist/lib/esm/obsidian/i18n/locales/index.mjs +2 -2
  280. package/dist/lib/esm/obsidian/i18n/locales/translations-map.mjs +2 -2
  281. package/dist/lib/esm/obsidian/index.mjs +2 -2
  282. package/dist/lib/esm/obsidian/is-in-obsidian.mjs +2 -2
  283. package/dist/lib/esm/obsidian/link.mjs +2 -2
  284. package/dist/lib/esm/obsidian/logger.mjs +2 -2
  285. package/dist/lib/esm/obsidian/loop.mjs +2 -2
  286. package/dist/lib/esm/obsidian/markdown-code-block-processor.mjs +2 -2
  287. package/dist/lib/esm/obsidian/markdown-view.mjs +2 -2
  288. package/dist/lib/esm/obsidian/markdown.mjs +2 -2
  289. package/dist/lib/esm/obsidian/metadata-cache.mjs +2 -2
  290. package/dist/lib/esm/obsidian/modals/alert.mjs +2 -2
  291. package/dist/lib/esm/obsidian/modals/confirm.mjs +2 -2
  292. package/dist/lib/esm/obsidian/modals/index.mjs +2 -2
  293. package/dist/lib/esm/obsidian/modals/modal.mjs +2 -2
  294. package/dist/lib/esm/obsidian/modals/prompt.mjs +2 -2
  295. package/dist/lib/esm/obsidian/modals/select-item.mjs +2 -2
  296. package/dist/lib/esm/obsidian/monkey-around.mjs +2 -2
  297. package/dist/lib/esm/obsidian/obsidian-settings.mjs +2 -2
  298. package/dist/lib/esm/obsidian/pdf.mjs +2 -2
  299. package/dist/lib/esm/obsidian/plugin/components/abort-signal-component.mjs +2 -2
  300. package/dist/lib/esm/obsidian/plugin/components/async-error-handler-component.mjs +2 -2
  301. package/dist/lib/esm/obsidian/plugin/components/console-debug-component.mjs +2 -2
  302. package/dist/lib/esm/obsidian/plugin/components/i18n-component.mjs +2 -2
  303. package/dist/lib/esm/obsidian/plugin/components/index.d.mts +1 -1
  304. package/dist/lib/esm/obsidian/plugin/components/index.mjs +5 -5
  305. package/dist/lib/esm/obsidian/plugin/components/layout-ready-component.d.mts +18 -0
  306. package/dist/lib/esm/obsidian/plugin/components/layout-ready-component.mjs +24 -0
  307. package/dist/lib/esm/obsidian/plugin/components/plugin-context-component.mjs +2 -2
  308. package/dist/lib/esm/obsidian/plugin/components/plugin-notice-component.mjs +2 -2
  309. package/dist/lib/esm/obsidian/plugin/components/plugin-settings-component.mjs +2 -2
  310. package/dist/lib/esm/obsidian/plugin/components/plugin-settings-tab-component.mjs +2 -2
  311. package/dist/lib/esm/obsidian/plugin/index.mjs +2 -2
  312. package/dist/lib/esm/obsidian/plugin/obsidian-plugin-repo-paths.mjs +2 -2
  313. package/dist/lib/esm/obsidian/plugin/path-settings.mjs +2 -2
  314. package/dist/lib/esm/obsidian/plugin/plugin-context.mjs +5 -5
  315. package/dist/lib/esm/obsidian/plugin/plugin-id.mjs +2 -2
  316. package/dist/lib/esm/obsidian/plugin/plugin-settings-tab.mjs +5 -5
  317. package/dist/lib/esm/obsidian/plugin/plugin.d.mts +13 -51
  318. package/dist/lib/esm/obsidian/plugin/plugin.mjs +50 -87
  319. package/dist/lib/esm/obsidian/queue.mjs +2 -2
  320. package/dist/lib/esm/obsidian/react/app-context.mjs +2 -2
  321. package/dist/lib/esm/obsidian/react/index.mjs +2 -2
  322. package/dist/lib/esm/obsidian/reference.mjs +2 -2
  323. package/dist/lib/esm/obsidian/rename-delete-handler.mjs +2 -2
  324. package/dist/lib/esm/obsidian/resource-url.mjs +2 -2
  325. package/dist/lib/esm/obsidian/setting-ex.mjs +2 -2
  326. package/dist/lib/esm/obsidian/setting-group-ex.mjs +2 -2
  327. package/dist/lib/esm/obsidian/validation.mjs +2 -2
  328. package/dist/lib/esm/obsidian/vault-delete.mjs +2 -2
  329. package/dist/lib/esm/obsidian/vault.mjs +2 -2
  330. package/dist/lib/esm/obsidian/workspace.mjs +2 -2
  331. package/dist/lib/esm/path.mjs +2 -2
  332. package/dist/lib/esm/reg-exp.mjs +2 -2
  333. package/dist/lib/esm/script-utils/build.mjs +2 -2
  334. package/dist/lib/esm/script-utils/bundlers/esbuild-impl/change-extension-plugin.mjs +2 -2
  335. package/dist/lib/esm/script-utils/bundlers/esbuild-impl/copy-to-obsidian-plugins-folder-plugin.mjs +2 -2
  336. package/dist/lib/esm/script-utils/bundlers/esbuild-impl/custom-esbuild-options-plugin.mjs +2 -2
  337. package/dist/lib/esm/script-utils/bundlers/esbuild-impl/dependency.mjs +2 -2
  338. package/dist/lib/esm/script-utils/bundlers/esbuild-impl/fix-esm-plugin.mjs +2 -2
  339. package/dist/lib/esm/script-utils/bundlers/esbuild-impl/fix-source-maps-plugin.mjs +2 -2
  340. package/dist/lib/esm/script-utils/bundlers/esbuild-impl/index.mjs +2 -2
  341. package/dist/lib/esm/script-utils/bundlers/esbuild-impl/obsidian-plugin-builder.mjs +2 -2
  342. package/dist/lib/esm/script-utils/bundlers/esbuild-impl/preprocess-plugin.mjs +3 -3
  343. package/dist/lib/esm/script-utils/bundlers/esbuild-impl/rename-css-plugin.mjs +2 -2
  344. package/dist/lib/esm/script-utils/bundlers/esbuild-impl/svelte-wrapper-plugin.mjs +2 -2
  345. package/dist/lib/esm/script-utils/bundlers/esbuild.mjs +2 -2
  346. package/dist/lib/esm/script-utils/bundlers/index.mjs +2 -2
  347. package/dist/lib/esm/script-utils/cli-utils.mjs +2 -2
  348. package/dist/lib/esm/script-utils/code-generator.mjs +2 -2
  349. package/dist/lib/esm/script-utils/commitlint-config.mjs +2 -2
  350. package/dist/lib/esm/script-utils/exec.mjs +2 -2
  351. package/dist/lib/esm/script-utils/formatters/dprint.mjs +2 -2
  352. package/dist/lib/esm/script-utils/formatters/index.mjs +2 -2
  353. package/dist/lib/esm/script-utils/fs.mjs +2 -2
  354. package/dist/lib/esm/script-utils/index.mjs +2 -2
  355. package/dist/lib/esm/script-utils/json.mjs +2 -2
  356. package/dist/lib/esm/script-utils/linters/cspell.mjs +2 -2
  357. package/dist/lib/esm/script-utils/linters/eslint-config.mjs +2 -2
  358. package/dist/lib/esm/script-utils/linters/eslint-rules/index.mjs +2 -2
  359. package/dist/lib/esm/script-utils/linters/eslint-rules/no-async-callback-to-unsafe-return.mjs +2 -2
  360. package/dist/lib/esm/script-utils/linters/eslint-rules/no-used-underscore-variables.mjs +2 -2
  361. package/dist/lib/esm/script-utils/linters/eslint-rules/obsidian-dev-utils-plugin.mjs +2 -2
  362. package/dist/lib/esm/script-utils/linters/eslint-rules/rule-tester-helper.mjs +2 -2
  363. package/dist/lib/esm/script-utils/linters/eslint.mjs +2 -2
  364. package/dist/lib/esm/script-utils/linters/index.mjs +2 -2
  365. package/dist/lib/esm/script-utils/linters/markdownlint-cli2-config.mjs +2 -2
  366. package/dist/lib/esm/script-utils/linters/markdownlint.mjs +2 -2
  367. package/dist/lib/esm/script-utils/nano-staged-config.mjs +2 -2
  368. package/dist/lib/esm/script-utils/npm-publish.mjs +2 -2
  369. package/dist/lib/esm/script-utils/npm-run.mjs +2 -2
  370. package/dist/lib/esm/script-utils/npm.mjs +2 -2
  371. package/dist/lib/esm/script-utils/obsidian-dev-utils-repo-paths.mjs +2 -2
  372. package/dist/lib/esm/script-utils/root.mjs +2 -2
  373. package/dist/lib/esm/script-utils/test-runners/index.mjs +2 -2
  374. package/dist/lib/esm/script-utils/test-runners/vitest.mjs +2 -2
  375. package/dist/lib/esm/script-utils/version.mjs +2 -2
  376. package/dist/lib/esm/strict-proxy.d.mts +12 -0
  377. package/dist/lib/esm/strict-proxy.mjs +16 -6
  378. package/dist/lib/esm/string.mjs +2 -2
  379. package/dist/lib/esm/transformers/date-transformer.mjs +2 -2
  380. package/dist/lib/esm/transformers/duration-transformer.mjs +2 -2
  381. package/dist/lib/esm/transformers/group-transformer.mjs +2 -2
  382. package/dist/lib/esm/transformers/index.mjs +2 -2
  383. package/dist/lib/esm/transformers/map-transformer.mjs +2 -2
  384. package/dist/lib/esm/transformers/set-transformer.mjs +2 -2
  385. package/dist/lib/esm/transformers/skip-private-property-transformer.mjs +2 -2
  386. package/dist/lib/esm/transformers/transformer.mjs +2 -2
  387. package/dist/lib/esm/transformers/two-way-map-transformer.mjs +2 -2
  388. package/dist/lib/esm/transformers/typed-transformer.mjs +2 -2
  389. package/dist/lib/esm/two-way-map.mjs +2 -2
  390. package/dist/lib/esm/type-guards.mjs +2 -2
  391. package/dist/lib/esm/type.mjs +2 -2
  392. package/dist/lib/esm/url.mjs +2 -2
  393. package/dist/lib/esm/value-provider.mjs +2 -2
  394. package/obsidian/Plugin/components/{lifecycle-events-component → layout-ready-component}/package.json +3 -3
  395. package/package.json +3 -3
  396. package/dist/lib/cjs/obsidian/plugin/components/lifecycle-events-component.cjs +0 -211
  397. package/dist/lib/cjs/obsidian/plugin/components/lifecycle-events-component.d.cts +0 -63
  398. package/dist/lib/esm/obsidian/plugin/components/lifecycle-events-component.d.mts +0 -63
  399. package/dist/lib/esm/obsidian/plugin/components/lifecycle-events-component.mjs +0 -106
@@ -4,7 +4,7 @@ if you want to view the source, please visit the github repository of this plugi
4
4
  */
5
5
 
6
6
  (function initEsm() {
7
- // eslint-disable-next-line obsidianmd/prefer-active-doc -- Actively use globalThis.
7
+ // eslint-disable-next-line obsidianmd/no-global-this -- Actively use globalThis.
8
8
  if (globalThis.process) {
9
9
  return;
10
10
  }
@@ -17,7 +17,7 @@ if you want to view the source, please visit the github repository of this plugi
17
17
  env: {},
18
18
  platform: 'android'
19
19
  };
20
- // eslint-disable-next-line obsidianmd/prefer-active-doc -- Actively use globalThis.
20
+ // eslint-disable-next-line obsidianmd/no-global-this -- Actively use globalThis.
21
21
  globalThis.process = browserProcess;
22
22
  })();
23
23
 
@@ -26,3 +26,17 @@ export declare abstract class AsyncComponentBase extends Component {
26
26
  */
27
27
  onload(): Promise<void>;
28
28
  }
29
+ /**
30
+ * Loads a component and its children sequentially.
31
+ *
32
+ * @param component - The component to load.
33
+ * @returns A {@link Promise} that resolves when the component is loaded.
34
+ */
35
+ export declare function loadAsync(component: Component): Promise<void>;
36
+ /**
37
+ * Loads a component and its children (children first).
38
+ *
39
+ * @param component - The component to load.
40
+ * @returns A {@link Promise} that resolves when the component is loaded.
41
+ */
42
+ export declare function loadChildrenFirstAsync(component: Component): Promise<void>;
@@ -4,7 +4,7 @@ if you want to view the source, please visit the github repository of this plugi
4
4
  */
5
5
 
6
6
  (function initEsm() {
7
- // eslint-disable-next-line obsidianmd/prefer-active-doc -- Actively use globalThis.
7
+ // eslint-disable-next-line obsidianmd/no-global-this -- Actively use globalThis.
8
8
  if (globalThis.process) {
9
9
  return;
10
10
  }
@@ -17,7 +17,7 @@ if you want to view the source, please visit the github repository of this plugi
17
17
  env: {},
18
18
  platform: 'android'
19
19
  };
20
- // eslint-disable-next-line obsidianmd/prefer-active-doc -- Actively use globalThis.
20
+ // eslint-disable-next-line obsidianmd/no-global-this -- Actively use globalThis.
21
21
  globalThis.process = browserProcess;
22
22
  })();
23
23
 
@@ -31,14 +31,7 @@ class AsyncComponentBase extends Component {
31
31
  */
32
32
  // eslint-disable-next-line @typescript-eslint/no-misused-promises -- Obsidian's load() handles async returns at runtime.
33
33
  async load() {
34
- if (this._loaded) {
35
- return;
36
- }
37
- this._loaded = true;
38
- await this.onload();
39
- for (const child of this._children) {
40
- await child.load();
41
- }
34
+ await loadAsync(this);
42
35
  }
43
36
  /**
44
37
  * Override this method to perform async initialization.
@@ -50,7 +43,29 @@ class AsyncComponentBase extends Component {
50
43
  await Promise.resolve();
51
44
  }
52
45
  }
46
+ async function loadAsync(component) {
47
+ if (component._loaded) {
48
+ return;
49
+ }
50
+ component._loaded = true;
51
+ await component.onload();
52
+ for (const child of component._children) {
53
+ await loadAsync(child);
54
+ }
55
+ }
56
+ async function loadChildrenFirstAsync(component) {
57
+ if (component._loaded) {
58
+ return;
59
+ }
60
+ for (const child of component._children) {
61
+ await loadChildrenFirstAsync(child);
62
+ }
63
+ component._loaded = true;
64
+ await component.onload();
65
+ }
53
66
  export {
54
- AsyncComponentBase
67
+ AsyncComponentBase,
68
+ loadAsync,
69
+ loadChildrenFirstAsync
55
70
  };
56
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vLi4vc3JjL29ic2lkaWFuL2NvbXBvbmVudHMvYXN5bmMtY29tcG9uZW50LnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyIvKipcbiAqIEBmaWxlXG4gKlxuICogQmFzZSBjbGFzcyBmb3IgY29tcG9uZW50cyB0aGF0IG5lZWQgYXN5bmMgbGlmZWN5Y2xlIG1ldGhvZHMuXG4gKi9cblxuaW1wb3J0IHR5cGUgeyBQcm9taXNhYmxlIH0gZnJvbSAndHlwZS1mZXN0JztcblxuaW1wb3J0IHsgQ29tcG9uZW50IH0gZnJvbSAnb2JzaWRpYW4nO1xuXG4vKipcbiAqIEEge0BsaW5rIENvbXBvbmVudH0gdGhhdCBzdXBwb3J0cyBhc3luYyBsaWZlY3ljbGUgbWV0aG9kcy5cbiAqXG4gKiBPYnNpZGlhbidzIGBDb21wb25lbnQubG9hZCgpYCBjYXB0dXJlcyB0aGUgcmV0dXJuIHZhbHVlIG9mIGBvbmxvYWQoKWAgYW5kIGluY2x1ZGVzIFByb21pc2VzXG4gKiBpbiBhIGBQcm9taXNlLmFsbCgpYC4gVGhpcyBjbGFzcyBvdmVycmlkZXMgYGxvYWQoKWAgdG8gYGF3YWl0YCBgb25sb2FkKClgIGJlZm9yZSBsb2FkaW5nIGNoaWxkcmVuLFxuICogZW5zdXJpbmcgb3JkZXJlZCBpbml0aWFsaXphdGlvbi5cbiAqL1xuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEFzeW5jQ29tcG9uZW50QmFzZSBleHRlbmRzIENvbXBvbmVudCB7XG4gIC8qKlxuICAgKiBMb2FkcyB0aGlzIGNvbXBvbmVudCBhbmQgaXRzIGNoaWxkcmVuIHNlcXVlbnRpYWxseS5cbiAgICpcbiAgICogVW5saWtlIENvbXBvbmVudCdzIGBsb2FkKClgIHdoaWNoIHJ1bnMgYG9ubG9hZCgpYCBhbmQgY2hpbGRyZW4gY29uY3VycmVudGx5LFxuICAgKiB0aGlzIGF3YWl0cyBgb25sb2FkKClgIGZpcnN0LCB0aGVuIGxvYWRzIGNoaWxkcmVuIGluIG9yZGVyLlxuICAgKi9cbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1taXN1c2VkLXByb21pc2VzIC0tIE9ic2lkaWFuJ3MgbG9hZCgpIGhhbmRsZXMgYXN5bmMgcmV0dXJucyBhdCBydW50aW1lLlxuICBwdWJsaWMgb3ZlcnJpZGUgYXN5bmMgbG9hZCgpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBpZiAodGhpcy5fbG9hZGVkKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHRoaXMuX2xvYWRlZCA9IHRydWU7XG4gICAgYXdhaXQgdGhpcy5vbmxvYWQoKTtcblxuICAgIGZvciAoY29uc3QgY2hpbGQgb2YgdGhpcy5fY2hpbGRyZW4pIHtcbiAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tY29uZnVzaW5nLXZvaWQtZXhwcmVzc2lvbiAtLSBDb21wb25lbnQubG9hZCgpIHJldHVybnMgdm9pZHxQcm9taXNlIGF0IHJ1bnRpbWUgZGVzcGl0ZSB2b2lkIHR5cGluZy5cbiAgICAgIGF3YWl0IChjaGlsZC5sb2FkKCkgYXMgUHJvbWlzYWJsZTx2b2lkPik7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIE92ZXJyaWRlIHRoaXMgbWV0aG9kIHRvIHBlcmZvcm0gYXN5bmMgaW5pdGlhbGl6YXRpb24uXG4gICAqXG4gICAqIEByZXR1cm5zIEEge0BsaW5rIFByb21pc2V9IHRoYXQgcmVzb2x2ZXMgd2hlbiBpbml0aWFsaXphdGlvbiBpcyBjb21wbGV0ZS5cbiAgICovXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tbWlzdXNlZC1wcm9taXNlcyAtLSBJbnRlbnRpb25hbCBhc3luYyBvdmVycmlkZTsgY2FsbGVkIGZyb20gb3VyIG93biBhc3luYyBsb2FkKCkuXG4gIHB1YmxpYyBvdmVycmlkZSBhc3luYyBvbmxvYWQoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgYXdhaXQgUHJvbWlzZS5yZXNvbHZlKCk7XG4gIH1cbn1cbiJdLAogICJtYXBwaW5ncyI6ICI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBUUEsU0FBUyxpQkFBaUI7QUFTbkIsTUFBZSwyQkFBMkIsVUFBVTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFRekQsTUFBc0IsT0FBc0I7QUFDMUMsUUFBSSxLQUFLLFNBQVM7QUFDaEI7QUFBQSxJQUNGO0FBQ0EsU0FBSyxVQUFVO0FBQ2YsVUFBTSxLQUFLLE9BQU87QUFFbEIsZUFBVyxTQUFTLEtBQUssV0FBVztBQUVsQyxZQUFPLE1BQU0sS0FBSztBQUFBLElBQ3BCO0FBQUEsRUFDRjtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBUUEsTUFBc0IsU0FBd0I7QUFDNUMsVUFBTSxRQUFRLFFBQVE7QUFBQSxFQUN4QjtBQUNGOyIsCiAgIm5hbWVzIjogW10KfQo=
71
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vLi4vc3JjL29ic2lkaWFuL2NvbXBvbmVudHMvYXN5bmMtY29tcG9uZW50LnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyIvKipcbiAqIEBmaWxlXG4gKlxuICogQmFzZSBjbGFzcyBmb3IgY29tcG9uZW50cyB0aGF0IG5lZWQgYXN5bmMgbGlmZWN5Y2xlIG1ldGhvZHMuXG4gKi9cblxuaW1wb3J0IHR5cGUgeyBQcm9taXNhYmxlIH0gZnJvbSAndHlwZS1mZXN0JztcblxuaW1wb3J0IHsgQ29tcG9uZW50IH0gZnJvbSAnb2JzaWRpYW4nO1xuXG4vKipcbiAqIEEge0BsaW5rIENvbXBvbmVudH0gdGhhdCBzdXBwb3J0cyBhc3luYyBsaWZlY3ljbGUgbWV0aG9kcy5cbiAqXG4gKiBPYnNpZGlhbidzIGBDb21wb25lbnQubG9hZCgpYCBjYXB0dXJlcyB0aGUgcmV0dXJuIHZhbHVlIG9mIGBvbmxvYWQoKWAgYW5kIGluY2x1ZGVzIFByb21pc2VzXG4gKiBpbiBhIGBQcm9taXNlLmFsbCgpYC4gVGhpcyBjbGFzcyBvdmVycmlkZXMgYGxvYWQoKWAgdG8gYGF3YWl0YCBgb25sb2FkKClgIGJlZm9yZSBsb2FkaW5nIGNoaWxkcmVuLFxuICogZW5zdXJpbmcgb3JkZXJlZCBpbml0aWFsaXphdGlvbi5cbiAqL1xuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEFzeW5jQ29tcG9uZW50QmFzZSBleHRlbmRzIENvbXBvbmVudCB7XG4gIC8qKlxuICAgKiBMb2FkcyB0aGlzIGNvbXBvbmVudCBhbmQgaXRzIGNoaWxkcmVuIHNlcXVlbnRpYWxseS5cbiAgICpcbiAgICogVW5saWtlIENvbXBvbmVudCdzIGBsb2FkKClgIHdoaWNoIHJ1bnMgYG9ubG9hZCgpYCBhbmQgY2hpbGRyZW4gY29uY3VycmVudGx5LFxuICAgKiB0aGlzIGF3YWl0cyBgb25sb2FkKClgIGZpcnN0LCB0aGVuIGxvYWRzIGNoaWxkcmVuIGluIG9yZGVyLlxuICAgKi9cbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1taXN1c2VkLXByb21pc2VzIC0tIE9ic2lkaWFuJ3MgbG9hZCgpIGhhbmRsZXMgYXN5bmMgcmV0dXJucyBhdCBydW50aW1lLlxuICBwdWJsaWMgb3ZlcnJpZGUgYXN5bmMgbG9hZCgpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBhd2FpdCBsb2FkQXN5bmModGhpcyk7XG4gIH1cblxuICAvKipcbiAgICogT3ZlcnJpZGUgdGhpcyBtZXRob2QgdG8gcGVyZm9ybSBhc3luYyBpbml0aWFsaXphdGlvbi5cbiAgICpcbiAgICogQHJldHVybnMgQSB7QGxpbmsgUHJvbWlzZX0gdGhhdCByZXNvbHZlcyB3aGVuIGluaXRpYWxpemF0aW9uIGlzIGNvbXBsZXRlLlxuICAgKi9cbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1taXN1c2VkLXByb21pc2VzIC0tIEludGVudGlvbmFsIGFzeW5jIG92ZXJyaWRlOyBjYWxsZWQgZnJvbSBvdXIgb3duIGFzeW5jIGxvYWQoKS5cbiAgcHVibGljIG92ZXJyaWRlIGFzeW5jIG9ubG9hZCgpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBhd2FpdCBQcm9taXNlLnJlc29sdmUoKTtcbiAgfVxufVxuXG4vKipcbiAqIExvYWRzIGEgY29tcG9uZW50IGFuZCBpdHMgY2hpbGRyZW4gc2VxdWVudGlhbGx5LlxuICpcbiAqIEBwYXJhbSBjb21wb25lbnQgLSBUaGUgY29tcG9uZW50IHRvIGxvYWQuXG4gKiBAcmV0dXJucyBBIHtAbGluayBQcm9taXNlfSB0aGF0IHJlc29sdmVzIHdoZW4gdGhlIGNvbXBvbmVudCBpcyBsb2FkZWQuXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBsb2FkQXN5bmMoY29tcG9uZW50OiBDb21wb25lbnQpOiBQcm9taXNlPHZvaWQ+IHtcbiAgaWYgKGNvbXBvbmVudC5fbG9hZGVkKSB7XG4gICAgcmV0dXJuO1xuICB9XG4gIGNvbXBvbmVudC5fbG9hZGVkID0gdHJ1ZTtcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1jb25mdXNpbmctdm9pZC1leHByZXNzaW9uIC0tIENvbXBvbmVudC5sb2FkKCkgcmV0dXJucyB2b2lkfFByb21pc2UgYXQgcnVudGltZSBkZXNwaXRlIHZvaWQgdHlwaW5nLlxuICBhd2FpdCAoY29tcG9uZW50Lm9ubG9hZCgpIGFzIFByb21pc2FibGU8dm9pZD4pO1xuXG4gIGZvciAoY29uc3QgY2hpbGQgb2YgY29tcG9uZW50Ll9jaGlsZHJlbikge1xuICAgIGF3YWl0IGxvYWRBc3luYyhjaGlsZCk7XG4gIH1cbn1cblxuLyoqXG4gKiBMb2FkcyBhIGNvbXBvbmVudCBhbmQgaXRzIGNoaWxkcmVuIChjaGlsZHJlbiBmaXJzdCkuXG4gKlxuICogQHBhcmFtIGNvbXBvbmVudCAtIFRoZSBjb21wb25lbnQgdG8gbG9hZC5cbiAqIEByZXR1cm5zIEEge0BsaW5rIFByb21pc2V9IHRoYXQgcmVzb2x2ZXMgd2hlbiB0aGUgY29tcG9uZW50IGlzIGxvYWRlZC5cbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGxvYWRDaGlsZHJlbkZpcnN0QXN5bmMoY29tcG9uZW50OiBDb21wb25lbnQpOiBQcm9taXNlPHZvaWQ+IHtcbiAgaWYgKGNvbXBvbmVudC5fbG9hZGVkKSB7XG4gICAgcmV0dXJuO1xuICB9XG5cbiAgZm9yIChjb25zdCBjaGlsZCBvZiBjb21wb25lbnQuX2NoaWxkcmVuKSB7XG4gICAgYXdhaXQgbG9hZENoaWxkcmVuRmlyc3RBc3luYyhjaGlsZCk7XG4gIH1cblxuICBjb21wb25lbnQuX2xvYWRlZCA9IHRydWU7XG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tY29uZnVzaW5nLXZvaWQtZXhwcmVzc2lvbiAtLSBDb21wb25lbnQubG9hZCgpIHJldHVybnMgdm9pZHxQcm9taXNlIGF0IHJ1bnRpbWUgZGVzcGl0ZSB2b2lkIHR5cGluZy5cbiAgYXdhaXQgKGNvbXBvbmVudC5vbmxvYWQoKSBhcyBQcm9taXNhYmxlPHZvaWQ+KTtcbn1cbiJdLAogICJtYXBwaW5ncyI6ICI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBUUEsU0FBUyxpQkFBaUI7QUFTbkIsTUFBZSwyQkFBMkIsVUFBVTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFRekQsTUFBc0IsT0FBc0I7QUFDMUMsVUFBTSxVQUFVLElBQUk7QUFBQSxFQUN0QjtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBUUEsTUFBc0IsU0FBd0I7QUFDNUMsVUFBTSxRQUFRLFFBQVE7QUFBQSxFQUN4QjtBQUNGO0FBUUEsZUFBc0IsVUFBVSxXQUFxQztBQUNuRSxNQUFJLFVBQVUsU0FBUztBQUNyQjtBQUFBLEVBQ0Y7QUFDQSxZQUFVLFVBQVU7QUFFcEIsUUFBTyxVQUFVLE9BQU87QUFFeEIsYUFBVyxTQUFTLFVBQVUsV0FBVztBQUN2QyxVQUFNLFVBQVUsS0FBSztBQUFBLEVBQ3ZCO0FBQ0Y7QUFRQSxlQUFzQix1QkFBdUIsV0FBcUM7QUFDaEYsTUFBSSxVQUFVLFNBQVM7QUFDckI7QUFBQSxFQUNGO0FBRUEsYUFBVyxTQUFTLFVBQVUsV0FBVztBQUN2QyxVQUFNLHVCQUF1QixLQUFLO0FBQUEsRUFDcEM7QUFFQSxZQUFVLFVBQVU7QUFFcEIsUUFBTyxVQUFVLE9BQU87QUFDMUI7IiwKICAibmFtZXMiOiBbXQp9Cg==
@@ -4,7 +4,7 @@ if you want to view the source, please visit the github repository of this plugi
4
4
  */
5
5
 
6
6
  (function initEsm() {
7
- // eslint-disable-next-line obsidianmd/prefer-active-doc -- Actively use globalThis.
7
+ // eslint-disable-next-line obsidianmd/no-global-this -- Actively use globalThis.
8
8
  if (globalThis.process) {
9
9
  return;
10
10
  }
@@ -17,7 +17,7 @@ if you want to view the source, please visit the github repository of this plugi
17
17
  env: {},
18
18
  platform: 'android'
19
19
  };
20
- // eslint-disable-next-line obsidianmd/prefer-active-doc -- Actively use globalThis.
20
+ // eslint-disable-next-line obsidianmd/no-global-this -- Actively use globalThis.
21
21
  globalThis.process = browserProcess;
22
22
  })();
23
23
 
@@ -4,7 +4,7 @@ if you want to view the source, please visit the github repository of this plugi
4
4
  */
5
5
 
6
6
  (function initEsm() {
7
- // eslint-disable-next-line obsidianmd/prefer-active-doc -- Actively use globalThis.
7
+ // eslint-disable-next-line obsidianmd/no-global-this -- Actively use globalThis.
8
8
  if (globalThis.process) {
9
9
  return;
10
10
  }
@@ -17,7 +17,7 @@ if you want to view the source, please visit the github repository of this plugi
17
17
  env: {},
18
18
  platform: 'android'
19
19
  };
20
- // eslint-disable-next-line obsidianmd/prefer-active-doc -- Actively use globalThis.
20
+ // eslint-disable-next-line obsidianmd/no-global-this -- Actively use globalThis.
21
21
  globalThis.process = browserProcess;
22
22
  })();
23
23
 
@@ -4,7 +4,7 @@ if you want to view the source, please visit the github repository of this plugi
4
4
  */
5
5
 
6
6
  (function initEsm() {
7
- // eslint-disable-next-line obsidianmd/prefer-active-doc -- Actively use globalThis.
7
+ // eslint-disable-next-line obsidianmd/no-global-this -- Actively use globalThis.
8
8
  if (globalThis.process) {
9
9
  return;
10
10
  }
@@ -17,7 +17,7 @@ if you want to view the source, please visit the github repository of this plugi
17
17
  env: {},
18
18
  platform: 'android'
19
19
  };
20
- // eslint-disable-next-line obsidianmd/prefer-active-doc -- Actively use globalThis.
20
+ // eslint-disable-next-line obsidianmd/no-global-this -- Actively use globalThis.
21
21
  globalThis.process = browserProcess;
22
22
  })();
23
23
 
@@ -4,7 +4,7 @@ if you want to view the source, please visit the github repository of this plugi
4
4
  */
5
5
 
6
6
  (function initEsm() {
7
- // eslint-disable-next-line obsidianmd/prefer-active-doc -- Actively use globalThis.
7
+ // eslint-disable-next-line obsidianmd/no-global-this -- Actively use globalThis.
8
8
  if (globalThis.process) {
9
9
  return;
10
10
  }
@@ -17,7 +17,7 @@ if you want to view the source, please visit the github repository of this plugi
17
17
  env: {},
18
18
  platform: 'android'
19
19
  };
20
- // eslint-disable-next-line obsidianmd/prefer-active-doc -- Actively use globalThis.
20
+ // eslint-disable-next-line obsidianmd/no-global-this -- Actively use globalThis.
21
21
  globalThis.process = browserProcess;
22
22
  })();
23
23
 
@@ -239,7 +239,7 @@ class CodeHighlighterComponent extends ValueComponent {
239
239
  const prism = await loadPrism();
240
240
  prism.highlightElement(this.codeEl);
241
241
  this.preEl.toggleClass(CssClass.IsPlaceholder, this.isEmpty());
242
- requestAnimationFrame(() => {
242
+ window.requestAnimationFrame(() => {
243
243
  const gap = Math.max(0, this.inputEl.scrollHeight - this.preEl.scrollHeight);
244
244
  this.preEl.setCssProps({
245
245
  "--bottom-gap": toPx(gap)
@@ -251,4 +251,4 @@ class CodeHighlighterComponent extends ValueComponent {
251
251
  export {
252
252
  CodeHighlighterComponent
253
253
  };
254
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL29ic2lkaWFuL2NvbXBvbmVudHMvc2V0dGluZy1jb21wb25lbnRzL2NvZGUtaGlnaGxpZ2h0ZXItY29tcG9uZW50LnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyIvKipcbiAqIEBmaWxlXG4gKlxuICogQ29udGFpbnMgYSBjb21wb25lbnQgdGhhdCBkaXNwbGF5cyBhbmQgZWRpdHMgbXVsdGlwbGUgdGV4dCB2YWx1ZXMuXG4gKi9cblxuaW1wb3J0IHR5cGUgeyBQcm9taXNhYmxlIH0gZnJvbSAndHlwZS1mZXN0JztcblxuaW1wb3J0IHtcbiAgVGV4dEFyZWFDb21wb25lbnQsXG4gIFZhbHVlQ29tcG9uZW50XG59IGZyb20gJ29ic2lkaWFuJztcbmltcG9ydCB7IGxvYWRQcmlzbSB9IGZyb20gJ29ic2lkaWFuLXR5cGluZ3MvaW1wbGVtZW50YXRpb25zJztcblxuaW1wb3J0IHR5cGUgeyBWYWxpZGF0b3JFbGVtZW50IH0gZnJvbSAnLi4vLi4vLi4vaHRtbC1lbGVtZW50LnRzJztcbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW51c2VkLXZhcnMgLS0gV2UgbmVlZCB0byBpbXBvcnQgYGluaXRQbHVnaW5Db250ZXh0YCB0byB1c2UgaXQgaW4gdGhlIHRzZG9jcy5cbmltcG9ydCB0eXBlIHsgaW5pdFBsdWdpbkNvbnRleHQgfSBmcm9tICcuLi8uLi9wbHVnaW4vcGx1Z2luLWNvbnRleHQudHMnO1xuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby11bnVzZWQtdmFycyAtLSBXZSBuZWVkIHRvIGltcG9ydCBgU2V0dGluZ0V4YCB0byB1c2UgaXQgaW4gdGhlIHRzZG9jcy5cbmltcG9ydCB0eXBlIHsgU2V0dGluZ0V4IH0gZnJvbSAnLi4vLi4vc2V0dGluZy1leC50cyc7XG5pbXBvcnQgdHlwZSB7IFRleHRCYXNlZENvbXBvbmVudCB9IGZyb20gJy4vdGV4dC1iYXNlZC1jb21wb25lbnQudHMnO1xuaW1wb3J0IHR5cGUgeyBWYWxpZGF0b3JDb21wb25lbnQgfSBmcm9tICcuL3ZhbGlkYXRvci1jb21wb25lbnQudHMnO1xuaW1wb3J0IHR5cGUgeyBWYWx1ZUNvbXBvbmVudFdpdGhDaGFuZ2VUcmFja2luZyB9IGZyb20gJy4vdmFsdWUtY29tcG9uZW50LXdpdGgtY2hhbmdlLXRyYWNraW5nLnRzJztcblxuaW1wb3J0IHtcbiAgY29udmVydEFzeW5jVG9TeW5jLFxuICBpbnZva2VBc3luY1NhZmVseVxufSBmcm9tICcuLi8uLi8uLi9hc3luYy50cyc7XG5pbXBvcnQgeyBDc3NDbGFzcyB9IGZyb20gJy4uLy4uLy4uL2Nzcy1jbGFzcy50cyc7XG5pbXBvcnQgeyB0b1B4IH0gZnJvbSAnLi4vLi4vLi4vaHRtbC1lbGVtZW50LnRzJztcbmltcG9ydCB7IGFkZFBsdWdpbkNzc0NsYXNzZXMgfSBmcm9tICcuLi8uLi9wbHVnaW4vcGx1Z2luLWNvbnRleHQudHMnO1xuXG4vKipcbiAqIEEgY29tcG9uZW50IHRoYXQgZGlzcGxheXMgYW5kIGVkaXRzIGNvZGUuXG4gKlxuICogWW91IGNhbiBhZGQgdGhpcyBjb21wb25lbnQgdXNpbmcge0BsaW5rIFNldHRpbmdFeC5hZGRDb2RlSGlnaGxpZ2h0ZXJ9LlxuICpcbiAqIEluIG9yZGVyIHRvIGFkZCB0aGUgc3R5bGVzIGZvciB0aGUgY29tcG9uZW50LCB1c2Uge0BsaW5rIGluaXRQbHVnaW5Db250ZXh0fSBpbiB5b3VyIHBsdWdpbidzIGBvbmxvYWQoKWAgZnVuY3Rpb24uXG4gKlxuICogQWx0ZXJuYXRpdmVseSwgeW91IGNhbiBjb3B5IHN0eWxlcyBmcm9tIHtAbGluayBodHRwczovL2dpdGh1Yi5jb20vbW5hb3Vtb3Yvb2JzaWRpYW4tZGV2LXV0aWxzL3JlbGVhc2VzL2xhdGVzdC9kb3dubG9hZC9zdHlsZXMuY3NzfS5cbiAqL1xuZXhwb3J0IGNsYXNzIENvZGVIaWdobGlnaHRlckNvbXBvbmVudCBleHRlbmRzIFZhbHVlQ29tcG9uZW50PHN0cmluZz5cbiAgaW1wbGVtZW50cyBUZXh0QmFzZWRDb21wb25lbnQ8c3RyaW5nPiwgVmFsaWRhdG9yQ29tcG9uZW50LCBWYWx1ZUNvbXBvbmVudFdpdGhDaGFuZ2VUcmFja2luZzxzdHJpbmc+IHtcbiAgLyoqXG4gICAqIEFuIGlucHV0IGVsZW1lbnQgb2YgdGhlIGNvbXBvbmVudC5cbiAgICpcbiAgICogQHJldHVybnMgVGhlIGlucHV0IGVsZW1lbnQgb2YgdGhlIGNvbXBvbmVudC5cbiAgICovXG4gIHB1YmxpYyBnZXQgaW5wdXRFbCgpOiBIVE1MVGV4dEFyZWFFbGVtZW50IHtcbiAgICByZXR1cm4gdGhpcy50ZXh0QXJlYUNvbXBvbmVudC5pbnB1dEVsO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldHMgdGhlIHZhbGlkYXRvciBlbGVtZW50IG9mIHRoZSBjb21wb25lbnQuXG4gICAqXG4gICAqIEByZXR1cm5zIFRoZSB2YWxpZGF0b3IgZWxlbWVudCBvZiB0aGUgY29tcG9uZW50LlxuICAgKi9cbiAgcHVibGljIGdldCB2YWxpZGF0b3JFbCgpOiBWYWxpZGF0b3JFbGVtZW50IHtcbiAgICByZXR1cm4gdGhpcy5pbnB1dEVsO1xuICB9XG5cbiAgcHJpdmF0ZSByZWFkb25seSBjb2RlRWw6IEhUTUxFbGVtZW50O1xuICBwcml2YXRlIHBsYWNlaG9sZGVyID0gJyc7XG4gIHByaXZhdGUgcmVhZG9ubHkgcHJlRWw6IEhUTUxFbGVtZW50O1xuICBwcml2YXRlIHNpbXVsYXRlQ2hhbmdlQ2FsbGJhY2s/OiAoKSA9PiB2b2lkO1xuICBwcml2YXRlIHRhYlNpemU6IG51bWJlcjtcbiAgcHJpdmF0ZSByZWFkb25seSB0ZXh0QXJlYUNvbXBvbmVudDogVGV4dEFyZWFDb21wb25lbnQ7XG5cbiAgLyoqXG4gICAqIENyZWF0ZXMgYSBuZXcgbXVsdGlwbGUgdGV4dCBjb21wb25lbnQuXG4gICAqXG4gICAqIEBwYXJhbSBjb250YWluZXJFbCAtIFRoZSBjb250YWluZXIgZWxlbWVudCBvZiB0aGUgY29tcG9uZW50LlxuICAgKi9cbiAgcHVibGljIGNvbnN0cnVjdG9yKGNvbnRhaW5lckVsOiBIVE1MRWxlbWVudCkge1xuICAgIHN1cGVyKCk7XG4gICAgYWRkUGx1Z2luQ3NzQ2xhc3Nlcyhjb250YWluZXJFbCwgQ3NzQ2xhc3MuQ29kZUhpZ2hsaWdodGVyQ29tcG9uZW50KTtcblxuICAgIGNvbnN0IHdyYXBwZXIgPSBjb250YWluZXJFbC5jcmVhdGVEaXYoKTtcbiAgICBhZGRQbHVnaW5Dc3NDbGFzc2VzKHdyYXBwZXIsIENzc0NsYXNzLlNldHRpbmdDb21wb25lbnRXcmFwcGVyKTtcblxuICAgIHRoaXMudGV4dEFyZWFDb21wb25lbnQgPSBuZXcgVGV4dEFyZWFDb21wb25lbnQod3JhcHBlcik7XG4gICAgdGhpcy5wcmVFbCA9IHdyYXBwZXIuY3JlYXRlRWwoJ3ByZScsIHtcbiAgICAgIGF0dHI6IHtcbiAgICAgICAgdGFiSW5kZXg6ICctMSdcbiAgICAgIH1cbiAgICB9KTtcbiAgICB0aGlzLmNvZGVFbCA9IHRoaXMucHJlRWwuY3JlYXRlRWwoJ2NvZGUnLCB7XG4gICAgICBhdHRyOiB7XG4gICAgICAgIHRhYkluZGV4OiAnLTEnXG4gICAgICB9XG4gICAgfSk7XG5cbiAgICB0aGlzLmlucHV0RWwuYWRkRXZlbnRMaXN0ZW5lcignaW5wdXQnLCBjb252ZXJ0QXN5bmNUb1N5bmModGhpcy51cGRhdGVIaWdobGlnaHRlZENvZGUuYmluZCh0aGlzKSkpO1xuICAgIHRoaXMuaW5wdXRFbC5hZGRFdmVudExpc3RlbmVyKCdzY3JvbGwnLCB0aGlzLmhhbmRsZVNjcm9sbC5iaW5kKHRoaXMpKTtcbiAgICB0aGlzLmlucHV0RWwuYWRkRXZlbnRMaXN0ZW5lcigna2V5ZG93bicsIHRoaXMuaGFuZGxlS2V5RG93bi5iaW5kKHRoaXMpKTtcbiAgICBjb25zdCBERUZBVUxUX1RBQl9TSVpFID0gMjtcbiAgICB0aGlzLnRhYlNpemUgPSBERUZBVUxUX1RBQl9TSVpFO1xuICB9XG5cbiAgLyoqXG4gICAqIEVtcHRpZXMgdGhlIGNvbXBvbmVudC5cbiAgICovXG4gIHB1YmxpYyBlbXB0eSgpOiB2b2lkIHtcbiAgICB0aGlzLnNldFZhbHVlKCcnKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXRzIHRoZSB2YWx1ZSBvZiB0aGUgY29tcG9uZW50LlxuICAgKlxuICAgKiBAcmV0dXJucyBUaGUgdmFsdWUgb2YgdGhlIGNvbXBvbmVudC5cbiAgICovXG4gIHB1YmxpYyBvdmVycmlkZSBnZXRWYWx1ZSgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLnRleHRBcmVhQ29tcG9uZW50LmdldFZhbHVlKCk7XG4gIH1cblxuICAvKipcbiAgICogQ2hlY2tzIGlmIHRoZSBjb21wb25lbnQgaXMgZW1wdHkuXG4gICAqXG4gICAqIEByZXR1cm5zIGB0cnVlYCBpZiB0aGUgY29tcG9uZW50IGlzIGVtcHR5LCBgZmFsc2VgIG90aGVyd2lzZS5cbiAgICovXG4gIHB1YmxpYyBpc0VtcHR5KCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLnRleHRBcmVhQ29tcG9uZW50LmdldFZhbHVlKCkgPT09ICcnO1xuICB9XG5cbiAgLyoqXG4gICAqIEFkZHMgYSBjaGFuZ2UgbGlzdGVuZXIgdG8gdGhlIGNvbXBvbmVudC5cbiAgICpcbiAgICogQHBhcmFtIGNhbGxiYWNrIC0gVGhlIGNhbGxiYWNrIHRvIGNhbGwgd2hlbiB0aGUgdmFsdWUgY2hhbmdlcy5cbiAgICogQHJldHVybnMgVGhlIGNvbXBvbmVudC5cbiAgICovXG4gIHB1YmxpYyBvbkNoYW5nZShjYWxsYmFjazogKG5ld1ZhbHVlOiBzdHJpbmcpID0+IFByb21pc2FibGU8dm9pZD4pOiB0aGlzIHtcbiAgICBjb25zdCBjaGFuZ2VIYW5kbGVyID0gKCk6IHZvaWQgPT4ge1xuICAgICAgY2FsbGJhY2sodGhpcy5nZXRWYWx1ZSgpKTtcbiAgICB9O1xuICAgIHRoaXMuc2ltdWxhdGVDaGFuZ2VDYWxsYmFjayA9IGNoYW5nZUhhbmRsZXI7XG4gICAgdGhpcy50ZXh0QXJlYUNvbXBvbmVudC5vbkNoYW5nZShjaGFuZ2VIYW5kbGVyKTtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXRzIHRoZSBkaXNhYmxlZCBzdGF0ZSBvZiB0aGUgY29tcG9uZW50LlxuICAgKlxuICAgKiBAcGFyYW0gZGlzYWJsZWQgLSBUaGUgZGlzYWJsZWQgc3RhdGUgdG8gc2V0LlxuICAgKiBAcmV0dXJucyBUaGUgY29tcG9uZW50LlxuICAgKi9cbiAgcHVibGljIG92ZXJyaWRlIHNldERpc2FibGVkKGRpc2FibGVkOiBib29sZWFuKTogdGhpcyB7XG4gICAgc3VwZXIuc2V0RGlzYWJsZWQoZGlzYWJsZWQpO1xuICAgIHRoaXMudGV4dEFyZWFDb21wb25lbnQuc2V0RGlzYWJsZWQoZGlzYWJsZWQpO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgLyoqXG4gICAqIFNldHMgdGhlIGxhbmd1YWdlIGZvciBjb2RlIGhpZ2hsaWdodGluZy5cbiAgICpcbiAgICogQHBhcmFtIGxhbmd1YWdlIC0gVGhlIGxhbmd1YWdlIHRvIHNldC5cbiAgICogQHJldHVybnMgVGhlIGNvbXBvbmVudC5cbiAgICovXG4gIHB1YmxpYyBzZXRMYW5ndWFnZShsYW5ndWFnZTogc3RyaW5nKTogdGhpcyB7XG4gICAgY29uc3QgTEFOR1VBR0VfQ0xBU1NfUFJFRklYID0gJ2xhbmd1YWdlLSc7XG4gICAgZm9yIChjb25zdCBlbCBvZiBbdGhpcy5wcmVFbCwgdGhpcy5jb2RlRWxdKSB7XG4gICAgICBmb3IgKGNvbnN0IGNscyBvZiBBcnJheS5mcm9tKGVsLmNsYXNzTGlzdCkpIHtcbiAgICAgICAgaWYgKGNscy5zdGFydHNXaXRoKExBTkdVQUdFX0NMQVNTX1BSRUZJWCkpIHtcbiAgICAgICAgICBlbC5jbGFzc0xpc3QucmVtb3ZlKGNscyk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIGVsLmNsYXNzTGlzdC5hZGQoYCR7TEFOR1VBR0VfQ0xBU1NfUFJFRklYfSR7bGFuZ3VhZ2V9YCk7XG4gICAgfVxuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgLyoqXG4gICAqIFNldHMgdGhlIHBsYWNlaG9sZGVyIG9mIHRoZSBjb21wb25lbnQuXG4gICAqXG4gICAqIEBwYXJhbSBwbGFjZWhvbGRlciAtIFRoZSBwbGFjZWhvbGRlciB0byBzZXQuXG4gICAqIEByZXR1cm5zIFRoZSBjb21wb25lbnQuXG4gICAqL1xuICBwdWJsaWMgc2V0UGxhY2Vob2xkZXIocGxhY2Vob2xkZXI6IHN0cmluZyk6IHRoaXMge1xuICAgIHRoaXMucGxhY2Vob2xkZXIgPSBwbGFjZWhvbGRlcjtcbiAgICBpbnZva2VBc3luY1NhZmVseSh0aGlzLnVwZGF0ZUhpZ2hsaWdodGVkQ29kZS5iaW5kKHRoaXMpKTtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXRzIHRoZSBwbGFjZWhvbGRlciB2YWx1ZSBvZiB0aGUgY29tcG9uZW50LlxuICAgKlxuICAgKiBAcGFyYW0gcGxhY2Vob2xkZXJWYWx1ZSAtIFRoZSBwbGFjZWhvbGRlciB2YWx1ZSB0byBzZXQuXG4gICAqIEByZXR1cm5zIFRoZSBjb21wb25lbnQuXG4gICAqL1xuICBwdWJsaWMgc2V0UGxhY2Vob2xkZXJWYWx1ZShwbGFjZWhvbGRlclZhbHVlOiBzdHJpbmcpOiB0aGlzIHtcbiAgICB0aGlzLnNldFBsYWNlaG9sZGVyKHBsYWNlaG9sZGVyVmFsdWUpO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgLyoqXG4gICAqIFNldHMgdGhlIHRhYiBzaXplIG9mIHRoZSBjb21wb25lbnQuXG4gICAqXG4gICAqIEBwYXJhbSB0YWJTaXplIC0gVGhlIHRhYiBzaXplIHRvIHNldC5cbiAgICogQHJldHVybnMgVGhlIGNvbXBvbmVudC5cbiAgICovXG4gIHB1YmxpYyBzZXRUYWJTaXplKHRhYlNpemU6IG51bWJlcik6IHRoaXMge1xuICAgIHRoaXMudGFiU2l6ZSA9IHRhYlNpemU7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICAvKipcbiAgICogU2V0cyB0aGUgdmFsdWUgb2YgdGhlIGNvbXBvbmVudC5cbiAgICpcbiAgICogQHBhcmFtIHZhbHVlIC0gVGhlIHZhbHVlIHRvIHNldC5cbiAgICogQHJldHVybnMgVGhlIGNvbXBvbmVudC5cbiAgICovXG4gIHB1YmxpYyBvdmVycmlkZSBzZXRWYWx1ZSh2YWx1ZTogc3RyaW5nKTogdGhpcyB7XG4gICAgdGhpcy50ZXh0QXJlYUNvbXBvbmVudC5zZXRWYWx1ZSh2YWx1ZSk7XG4gICAgaW52b2tlQXN5bmNTYWZlbHkodGhpcy51cGRhdGVIaWdobGlnaHRlZENvZGUuYmluZCh0aGlzKSk7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICAvKipcbiAgICogQGRlcHJlY2F0ZWQgVXNlIG9ubHkgZnJvbSB0ZXN0cyB0byBzaW11bGF0ZSBhIGNoYW5nZSBldmVudC5cbiAgICovXG4gIHB1YmxpYyBzaW11bGF0ZUNoYW5nZSgpOiB2b2lkIHtcbiAgICB0aGlzLnNpbXVsYXRlQ2hhbmdlQ2FsbGJhY2s/LigpO1xuICB9XG5cbiAgcHJpdmF0ZSBoYW5kbGVLZXlEb3duKGV2dDogS2V5Ym9hcmRFdmVudCk6IHZvaWQge1xuICAgIGlmIChldnQua2V5ICE9PSAnVGFiJykge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGV2dC5wcmV2ZW50RGVmYXVsdCgpO1xuXG4gICAgaWYgKGV2dC5jdHJsS2V5IHx8IGV2dC5tZXRhS2V5KSB7XG4gICAgICBjb25zdCBmb2N1c2FibGVzID0gQXJyYXkuZnJvbShhY3RpdmVEb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsPEhUTUxFbGVtZW50PihcbiAgICAgICAgJzppcyhhLCBidXR0b24sIGlucHV0LCBzZWxlY3QsIHRleHRhcmVhLCBbdGFiaW5kZXhdKTpub3QoW3RhYmluZGV4PVwiLTFcIl0pOm5vdCg6ZGlzYWJsZWQpOm5vdChbdHlwZT1cImhpZGRlblwiXSknXG4gICAgICApKTtcbiAgICAgIGNvbnN0IGluZGV4ID0gZm9jdXNhYmxlcy5pbmRleE9mKHRoaXMuaW5wdXRFbCk7XG4gICAgICBjb25zdCBkZWx0YUluZGV4ID0gZXZ0LnNoaWZ0S2V5ID8gLTEgOiAxO1xuICAgICAgY29uc3QgbmV4dENvbnRyb2wgPSBmb2N1c2FibGVzWyhpbmRleCArIGRlbHRhSW5kZXggKyBmb2N1c2FibGVzLmxlbmd0aCkgJSBmb2N1c2FibGVzLmxlbmd0aF07XG4gICAgICBuZXh0Q29udHJvbD8uZm9jdXMoKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBvbGRWYWx1ZSA9IHRoaXMuZ2V0VmFsdWUoKTtcbiAgICBjb25zdCBzZWxlY3Rpb25TdGFydCA9IHRoaXMuaW5wdXRFbC5zZWxlY3Rpb25TdGFydDtcbiAgICBjb25zdCBzZWxlY3Rpb25FbmQgPSB0aGlzLmlucHV0RWwuc2VsZWN0aW9uRW5kO1xuICAgIGNvbnN0IGJlZm9yZVNlbGVjdGlvbiA9IG9sZFZhbHVlLnNsaWNlKDAsIHNlbGVjdGlvblN0YXJ0KTtcbiAgICBjb25zdCBhZnRlclNlbGVjdGlvbiA9IG9sZFZhbHVlLnNsaWNlKHNlbGVjdGlvbkVuZCk7XG4gICAgY29uc3QgdGFicyA9ICcgJy5yZXBlYXQodGhpcy50YWJTaXplKTtcbiAgICBsZXQgbmV3QmVmb3JlU2VsZWN0aW9uID0gYmVmb3JlU2VsZWN0aW9uO1xuXG4gICAgaWYgKGV2dC5zaGlmdEtleSkge1xuICAgICAgaWYgKGJlZm9yZVNlbGVjdGlvbi5lbmRzV2l0aCh0YWJzKSkge1xuICAgICAgICBuZXdCZWZvcmVTZWxlY3Rpb24gPSBiZWZvcmVTZWxlY3Rpb24uc2xpY2UoMCwgLXRoaXMudGFiU2l6ZSk7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIG5ld0JlZm9yZVNlbGVjdGlvbiA9IGJlZm9yZVNlbGVjdGlvbiArIHRhYnM7XG4gICAgfVxuXG4gICAgY29uc3QgbmV3VmFsdWUgPSBgJHtuZXdCZWZvcmVTZWxlY3Rpb259JHthZnRlclNlbGVjdGlvbn1gO1xuICAgIHRoaXMuc2V0VmFsdWUobmV3VmFsdWUpO1xuICAgIHRoaXMuaW5wdXRFbC5zZWxlY3Rpb25TdGFydCA9IG5ld0JlZm9yZVNlbGVjdGlvbi5sZW5ndGg7XG4gICAgdGhpcy5pbnB1dEVsLnNlbGVjdGlvbkVuZCA9IG5ld0JlZm9yZVNlbGVjdGlvbi5sZW5ndGg7XG4gIH1cblxuICBwcml2YXRlIGhhbmRsZVNjcm9sbCgpOiB2b2lkIHtcbiAgICB0aGlzLnByZUVsLnNjcm9sbFRvcCA9IHRoaXMuaW5wdXRFbC5zY3JvbGxUb3A7XG4gICAgdGhpcy5wcmVFbC5zY3JvbGxMZWZ0ID0gdGhpcy5pbnB1dEVsLnNjcm9sbExlZnQ7XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIHVwZGF0ZUhpZ2hsaWdodGVkQ29kZSgpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICB0aGlzLmNvZGVFbC50ZXh0Q29udGVudCA9IHRoaXMuaW5wdXRFbC52YWx1ZSB8fCB0aGlzLnBsYWNlaG9sZGVyO1xuICAgIGNvbnN0IHByaXNtID0gYXdhaXQgbG9hZFByaXNtKCk7XG4gICAgcHJpc20uaGlnaGxpZ2h0RWxlbWVudCh0aGlzLmNvZGVFbCk7XG4gICAgdGhpcy5wcmVFbC50b2dnbGVDbGFzcyhDc3NDbGFzcy5Jc1BsYWNlaG9sZGVyLCB0aGlzLmlzRW1wdHkoKSk7XG4gICAgcmVxdWVzdEFuaW1hdGlvbkZyYW1lKCgpID0+IHtcbiAgICAgIGNvbnN0IGdhcCA9IE1hdGgubWF4KDAsIHRoaXMuaW5wdXRFbC5zY3JvbGxIZWlnaHQgLSB0aGlzLnByZUVsLnNjcm9sbEhlaWdodCk7XG4gICAgICB0aGlzLnByZUVsLnNldENzc1Byb3BzKHtcbiAgICAgICAgJy0tYm90dG9tLWdhcCc6IHRvUHgoZ2FwKVxuICAgICAgfSk7XG4gICAgICB0aGlzLmhhbmRsZVNjcm9sbCgpO1xuICAgIH0pO1xuICB9XG59XG4iXSwKICAibWFwcGluZ3MiOiAiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQVFBO0FBQUEsRUFDRTtBQUFBLEVBQ0E7QUFBQSxPQUNLO0FBQ1AsU0FBUyxpQkFBaUI7QUFXMUI7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
254
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL29ic2lkaWFuL2NvbXBvbmVudHMvc2V0dGluZy1jb21wb25lbnRzL2NvZGUtaGlnaGxpZ2h0ZXItY29tcG9uZW50LnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyIvKipcbiAqIEBmaWxlXG4gKlxuICogQ29udGFpbnMgYSBjb21wb25lbnQgdGhhdCBkaXNwbGF5cyBhbmQgZWRpdHMgbXVsdGlwbGUgdGV4dCB2YWx1ZXMuXG4gKi9cblxuaW1wb3J0IHR5cGUgeyBQcm9taXNhYmxlIH0gZnJvbSAndHlwZS1mZXN0JztcblxuaW1wb3J0IHtcbiAgVGV4dEFyZWFDb21wb25lbnQsXG4gIFZhbHVlQ29tcG9uZW50XG59IGZyb20gJ29ic2lkaWFuJztcbmltcG9ydCB7IGxvYWRQcmlzbSB9IGZyb20gJ29ic2lkaWFuLXR5cGluZ3MvaW1wbGVtZW50YXRpb25zJztcblxuaW1wb3J0IHR5cGUgeyBWYWxpZGF0b3JFbGVtZW50IH0gZnJvbSAnLi4vLi4vLi4vaHRtbC1lbGVtZW50LnRzJztcbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW51c2VkLXZhcnMgLS0gV2UgbmVlZCB0byBpbXBvcnQgYGluaXRQbHVnaW5Db250ZXh0YCB0byB1c2UgaXQgaW4gdGhlIHRzZG9jcy5cbmltcG9ydCB0eXBlIHsgaW5pdFBsdWdpbkNvbnRleHQgfSBmcm9tICcuLi8uLi9wbHVnaW4vcGx1Z2luLWNvbnRleHQudHMnO1xuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby11bnVzZWQtdmFycyAtLSBXZSBuZWVkIHRvIGltcG9ydCBgU2V0dGluZ0V4YCB0byB1c2UgaXQgaW4gdGhlIHRzZG9jcy5cbmltcG9ydCB0eXBlIHsgU2V0dGluZ0V4IH0gZnJvbSAnLi4vLi4vc2V0dGluZy1leC50cyc7XG5pbXBvcnQgdHlwZSB7IFRleHRCYXNlZENvbXBvbmVudCB9IGZyb20gJy4vdGV4dC1iYXNlZC1jb21wb25lbnQudHMnO1xuaW1wb3J0IHR5cGUgeyBWYWxpZGF0b3JDb21wb25lbnQgfSBmcm9tICcuL3ZhbGlkYXRvci1jb21wb25lbnQudHMnO1xuaW1wb3J0IHR5cGUgeyBWYWx1ZUNvbXBvbmVudFdpdGhDaGFuZ2VUcmFja2luZyB9IGZyb20gJy4vdmFsdWUtY29tcG9uZW50LXdpdGgtY2hhbmdlLXRyYWNraW5nLnRzJztcblxuaW1wb3J0IHtcbiAgY29udmVydEFzeW5jVG9TeW5jLFxuICBpbnZva2VBc3luY1NhZmVseVxufSBmcm9tICcuLi8uLi8uLi9hc3luYy50cyc7XG5pbXBvcnQgeyBDc3NDbGFzcyB9IGZyb20gJy4uLy4uLy4uL2Nzcy1jbGFzcy50cyc7XG5pbXBvcnQgeyB0b1B4IH0gZnJvbSAnLi4vLi4vLi4vaHRtbC1lbGVtZW50LnRzJztcbmltcG9ydCB7IGFkZFBsdWdpbkNzc0NsYXNzZXMgfSBmcm9tICcuLi8uLi9wbHVnaW4vcGx1Z2luLWNvbnRleHQudHMnO1xuXG4vKipcbiAqIEEgY29tcG9uZW50IHRoYXQgZGlzcGxheXMgYW5kIGVkaXRzIGNvZGUuXG4gKlxuICogWW91IGNhbiBhZGQgdGhpcyBjb21wb25lbnQgdXNpbmcge0BsaW5rIFNldHRpbmdFeC5hZGRDb2RlSGlnaGxpZ2h0ZXJ9LlxuICpcbiAqIEluIG9yZGVyIHRvIGFkZCB0aGUgc3R5bGVzIGZvciB0aGUgY29tcG9uZW50LCB1c2Uge0BsaW5rIGluaXRQbHVnaW5Db250ZXh0fSBpbiB5b3VyIHBsdWdpbidzIGBvbmxvYWQoKWAgZnVuY3Rpb24uXG4gKlxuICogQWx0ZXJuYXRpdmVseSwgeW91IGNhbiBjb3B5IHN0eWxlcyBmcm9tIHtAbGluayBodHRwczovL2dpdGh1Yi5jb20vbW5hb3Vtb3Yvb2JzaWRpYW4tZGV2LXV0aWxzL3JlbGVhc2VzL2xhdGVzdC9kb3dubG9hZC9zdHlsZXMuY3NzfS5cbiAqL1xuZXhwb3J0IGNsYXNzIENvZGVIaWdobGlnaHRlckNvbXBvbmVudCBleHRlbmRzIFZhbHVlQ29tcG9uZW50PHN0cmluZz5cbiAgaW1wbGVtZW50cyBUZXh0QmFzZWRDb21wb25lbnQ8c3RyaW5nPiwgVmFsaWRhdG9yQ29tcG9uZW50LCBWYWx1ZUNvbXBvbmVudFdpdGhDaGFuZ2VUcmFja2luZzxzdHJpbmc+IHtcbiAgLyoqXG4gICAqIEFuIGlucHV0IGVsZW1lbnQgb2YgdGhlIGNvbXBvbmVudC5cbiAgICpcbiAgICogQHJldHVybnMgVGhlIGlucHV0IGVsZW1lbnQgb2YgdGhlIGNvbXBvbmVudC5cbiAgICovXG4gIHB1YmxpYyBnZXQgaW5wdXRFbCgpOiBIVE1MVGV4dEFyZWFFbGVtZW50IHtcbiAgICByZXR1cm4gdGhpcy50ZXh0QXJlYUNvbXBvbmVudC5pbnB1dEVsO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldHMgdGhlIHZhbGlkYXRvciBlbGVtZW50IG9mIHRoZSBjb21wb25lbnQuXG4gICAqXG4gICAqIEByZXR1cm5zIFRoZSB2YWxpZGF0b3IgZWxlbWVudCBvZiB0aGUgY29tcG9uZW50LlxuICAgKi9cbiAgcHVibGljIGdldCB2YWxpZGF0b3JFbCgpOiBWYWxpZGF0b3JFbGVtZW50IHtcbiAgICByZXR1cm4gdGhpcy5pbnB1dEVsO1xuICB9XG5cbiAgcHJpdmF0ZSByZWFkb25seSBjb2RlRWw6IEhUTUxFbGVtZW50O1xuICBwcml2YXRlIHBsYWNlaG9sZGVyID0gJyc7XG4gIHByaXZhdGUgcmVhZG9ubHkgcHJlRWw6IEhUTUxFbGVtZW50O1xuICBwcml2YXRlIHNpbXVsYXRlQ2hhbmdlQ2FsbGJhY2s/OiAoKSA9PiB2b2lkO1xuICBwcml2YXRlIHRhYlNpemU6IG51bWJlcjtcbiAgcHJpdmF0ZSByZWFkb25seSB0ZXh0QXJlYUNvbXBvbmVudDogVGV4dEFyZWFDb21wb25lbnQ7XG5cbiAgLyoqXG4gICAqIENyZWF0ZXMgYSBuZXcgbXVsdGlwbGUgdGV4dCBjb21wb25lbnQuXG4gICAqXG4gICAqIEBwYXJhbSBjb250YWluZXJFbCAtIFRoZSBjb250YWluZXIgZWxlbWVudCBvZiB0aGUgY29tcG9uZW50LlxuICAgKi9cbiAgcHVibGljIGNvbnN0cnVjdG9yKGNvbnRhaW5lckVsOiBIVE1MRWxlbWVudCkge1xuICAgIHN1cGVyKCk7XG4gICAgYWRkUGx1Z2luQ3NzQ2xhc3Nlcyhjb250YWluZXJFbCwgQ3NzQ2xhc3MuQ29kZUhpZ2hsaWdodGVyQ29tcG9uZW50KTtcblxuICAgIGNvbnN0IHdyYXBwZXIgPSBjb250YWluZXJFbC5jcmVhdGVEaXYoKTtcbiAgICBhZGRQbHVnaW5Dc3NDbGFzc2VzKHdyYXBwZXIsIENzc0NsYXNzLlNldHRpbmdDb21wb25lbnRXcmFwcGVyKTtcblxuICAgIHRoaXMudGV4dEFyZWFDb21wb25lbnQgPSBuZXcgVGV4dEFyZWFDb21wb25lbnQod3JhcHBlcik7XG4gICAgdGhpcy5wcmVFbCA9IHdyYXBwZXIuY3JlYXRlRWwoJ3ByZScsIHtcbiAgICAgIGF0dHI6IHtcbiAgICAgICAgdGFiSW5kZXg6ICctMSdcbiAgICAgIH1cbiAgICB9KTtcbiAgICB0aGlzLmNvZGVFbCA9IHRoaXMucHJlRWwuY3JlYXRlRWwoJ2NvZGUnLCB7XG4gICAgICBhdHRyOiB7XG4gICAgICAgIHRhYkluZGV4OiAnLTEnXG4gICAgICB9XG4gICAgfSk7XG5cbiAgICB0aGlzLmlucHV0RWwuYWRkRXZlbnRMaXN0ZW5lcignaW5wdXQnLCBjb252ZXJ0QXN5bmNUb1N5bmModGhpcy51cGRhdGVIaWdobGlnaHRlZENvZGUuYmluZCh0aGlzKSkpO1xuICAgIHRoaXMuaW5wdXRFbC5hZGRFdmVudExpc3RlbmVyKCdzY3JvbGwnLCB0aGlzLmhhbmRsZVNjcm9sbC5iaW5kKHRoaXMpKTtcbiAgICB0aGlzLmlucHV0RWwuYWRkRXZlbnRMaXN0ZW5lcigna2V5ZG93bicsIHRoaXMuaGFuZGxlS2V5RG93bi5iaW5kKHRoaXMpKTtcbiAgICBjb25zdCBERUZBVUxUX1RBQl9TSVpFID0gMjtcbiAgICB0aGlzLnRhYlNpemUgPSBERUZBVUxUX1RBQl9TSVpFO1xuICB9XG5cbiAgLyoqXG4gICAqIEVtcHRpZXMgdGhlIGNvbXBvbmVudC5cbiAgICovXG4gIHB1YmxpYyBlbXB0eSgpOiB2b2lkIHtcbiAgICB0aGlzLnNldFZhbHVlKCcnKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXRzIHRoZSB2YWx1ZSBvZiB0aGUgY29tcG9uZW50LlxuICAgKlxuICAgKiBAcmV0dXJucyBUaGUgdmFsdWUgb2YgdGhlIGNvbXBvbmVudC5cbiAgICovXG4gIHB1YmxpYyBvdmVycmlkZSBnZXRWYWx1ZSgpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLnRleHRBcmVhQ29tcG9uZW50LmdldFZhbHVlKCk7XG4gIH1cblxuICAvKipcbiAgICogQ2hlY2tzIGlmIHRoZSBjb21wb25lbnQgaXMgZW1wdHkuXG4gICAqXG4gICAqIEByZXR1cm5zIGB0cnVlYCBpZiB0aGUgY29tcG9uZW50IGlzIGVtcHR5LCBgZmFsc2VgIG90aGVyd2lzZS5cbiAgICovXG4gIHB1YmxpYyBpc0VtcHR5KCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLnRleHRBcmVhQ29tcG9uZW50LmdldFZhbHVlKCkgPT09ICcnO1xuICB9XG5cbiAgLyoqXG4gICAqIEFkZHMgYSBjaGFuZ2UgbGlzdGVuZXIgdG8gdGhlIGNvbXBvbmVudC5cbiAgICpcbiAgICogQHBhcmFtIGNhbGxiYWNrIC0gVGhlIGNhbGxiYWNrIHRvIGNhbGwgd2hlbiB0aGUgdmFsdWUgY2hhbmdlcy5cbiAgICogQHJldHVybnMgVGhlIGNvbXBvbmVudC5cbiAgICovXG4gIHB1YmxpYyBvbkNoYW5nZShjYWxsYmFjazogKG5ld1ZhbHVlOiBzdHJpbmcpID0+IFByb21pc2FibGU8dm9pZD4pOiB0aGlzIHtcbiAgICBjb25zdCBjaGFuZ2VIYW5kbGVyID0gKCk6IHZvaWQgPT4ge1xuICAgICAgY2FsbGJhY2sodGhpcy5nZXRWYWx1ZSgpKTtcbiAgICB9O1xuICAgIHRoaXMuc2ltdWxhdGVDaGFuZ2VDYWxsYmFjayA9IGNoYW5nZUhhbmRsZXI7XG4gICAgdGhpcy50ZXh0QXJlYUNvbXBvbmVudC5vbkNoYW5nZShjaGFuZ2VIYW5kbGVyKTtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXRzIHRoZSBkaXNhYmxlZCBzdGF0ZSBvZiB0aGUgY29tcG9uZW50LlxuICAgKlxuICAgKiBAcGFyYW0gZGlzYWJsZWQgLSBUaGUgZGlzYWJsZWQgc3RhdGUgdG8gc2V0LlxuICAgKiBAcmV0dXJucyBUaGUgY29tcG9uZW50LlxuICAgKi9cbiAgcHVibGljIG92ZXJyaWRlIHNldERpc2FibGVkKGRpc2FibGVkOiBib29sZWFuKTogdGhpcyB7XG4gICAgc3VwZXIuc2V0RGlzYWJsZWQoZGlzYWJsZWQpO1xuICAgIHRoaXMudGV4dEFyZWFDb21wb25lbnQuc2V0RGlzYWJsZWQoZGlzYWJsZWQpO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgLyoqXG4gICAqIFNldHMgdGhlIGxhbmd1YWdlIGZvciBjb2RlIGhpZ2hsaWdodGluZy5cbiAgICpcbiAgICogQHBhcmFtIGxhbmd1YWdlIC0gVGhlIGxhbmd1YWdlIHRvIHNldC5cbiAgICogQHJldHVybnMgVGhlIGNvbXBvbmVudC5cbiAgICovXG4gIHB1YmxpYyBzZXRMYW5ndWFnZShsYW5ndWFnZTogc3RyaW5nKTogdGhpcyB7XG4gICAgY29uc3QgTEFOR1VBR0VfQ0xBU1NfUFJFRklYID0gJ2xhbmd1YWdlLSc7XG4gICAgZm9yIChjb25zdCBlbCBvZiBbdGhpcy5wcmVFbCwgdGhpcy5jb2RlRWxdKSB7XG4gICAgICBmb3IgKGNvbnN0IGNscyBvZiBBcnJheS5mcm9tKGVsLmNsYXNzTGlzdCkpIHtcbiAgICAgICAgaWYgKGNscy5zdGFydHNXaXRoKExBTkdVQUdFX0NMQVNTX1BSRUZJWCkpIHtcbiAgICAgICAgICBlbC5jbGFzc0xpc3QucmVtb3ZlKGNscyk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIGVsLmNsYXNzTGlzdC5hZGQoYCR7TEFOR1VBR0VfQ0xBU1NfUFJFRklYfSR7bGFuZ3VhZ2V9YCk7XG4gICAgfVxuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgLyoqXG4gICAqIFNldHMgdGhlIHBsYWNlaG9sZGVyIG9mIHRoZSBjb21wb25lbnQuXG4gICAqXG4gICAqIEBwYXJhbSBwbGFjZWhvbGRlciAtIFRoZSBwbGFjZWhvbGRlciB0byBzZXQuXG4gICAqIEByZXR1cm5zIFRoZSBjb21wb25lbnQuXG4gICAqL1xuICBwdWJsaWMgc2V0UGxhY2Vob2xkZXIocGxhY2Vob2xkZXI6IHN0cmluZyk6IHRoaXMge1xuICAgIHRoaXMucGxhY2Vob2xkZXIgPSBwbGFjZWhvbGRlcjtcbiAgICBpbnZva2VBc3luY1NhZmVseSh0aGlzLnVwZGF0ZUhpZ2hsaWdodGVkQ29kZS5iaW5kKHRoaXMpKTtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXRzIHRoZSBwbGFjZWhvbGRlciB2YWx1ZSBvZiB0aGUgY29tcG9uZW50LlxuICAgKlxuICAgKiBAcGFyYW0gcGxhY2Vob2xkZXJWYWx1ZSAtIFRoZSBwbGFjZWhvbGRlciB2YWx1ZSB0byBzZXQuXG4gICAqIEByZXR1cm5zIFRoZSBjb21wb25lbnQuXG4gICAqL1xuICBwdWJsaWMgc2V0UGxhY2Vob2xkZXJWYWx1ZShwbGFjZWhvbGRlclZhbHVlOiBzdHJpbmcpOiB0aGlzIHtcbiAgICB0aGlzLnNldFBsYWNlaG9sZGVyKHBsYWNlaG9sZGVyVmFsdWUpO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgLyoqXG4gICAqIFNldHMgdGhlIHRhYiBzaXplIG9mIHRoZSBjb21wb25lbnQuXG4gICAqXG4gICAqIEBwYXJhbSB0YWJTaXplIC0gVGhlIHRhYiBzaXplIHRvIHNldC5cbiAgICogQHJldHVybnMgVGhlIGNvbXBvbmVudC5cbiAgICovXG4gIHB1YmxpYyBzZXRUYWJTaXplKHRhYlNpemU6IG51bWJlcik6IHRoaXMge1xuICAgIHRoaXMudGFiU2l6ZSA9IHRhYlNpemU7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICAvKipcbiAgICogU2V0cyB0aGUgdmFsdWUgb2YgdGhlIGNvbXBvbmVudC5cbiAgICpcbiAgICogQHBhcmFtIHZhbHVlIC0gVGhlIHZhbHVlIHRvIHNldC5cbiAgICogQHJldHVybnMgVGhlIGNvbXBvbmVudC5cbiAgICovXG4gIHB1YmxpYyBvdmVycmlkZSBzZXRWYWx1ZSh2YWx1ZTogc3RyaW5nKTogdGhpcyB7XG4gICAgdGhpcy50ZXh0QXJlYUNvbXBvbmVudC5zZXRWYWx1ZSh2YWx1ZSk7XG4gICAgaW52b2tlQXN5bmNTYWZlbHkodGhpcy51cGRhdGVIaWdobGlnaHRlZENvZGUuYmluZCh0aGlzKSk7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICAvKipcbiAgICogQGRlcHJlY2F0ZWQgVXNlIG9ubHkgZnJvbSB0ZXN0cyB0byBzaW11bGF0ZSBhIGNoYW5nZSBldmVudC5cbiAgICovXG4gIHB1YmxpYyBzaW11bGF0ZUNoYW5nZSgpOiB2b2lkIHtcbiAgICB0aGlzLnNpbXVsYXRlQ2hhbmdlQ2FsbGJhY2s/LigpO1xuICB9XG5cbiAgcHJpdmF0ZSBoYW5kbGVLZXlEb3duKGV2dDogS2V5Ym9hcmRFdmVudCk6IHZvaWQge1xuICAgIGlmIChldnQua2V5ICE9PSAnVGFiJykge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGV2dC5wcmV2ZW50RGVmYXVsdCgpO1xuXG4gICAgaWYgKGV2dC5jdHJsS2V5IHx8IGV2dC5tZXRhS2V5KSB7XG4gICAgICBjb25zdCBmb2N1c2FibGVzID0gQXJyYXkuZnJvbShhY3RpdmVEb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsPEhUTUxFbGVtZW50PihcbiAgICAgICAgJzppcyhhLCBidXR0b24sIGlucHV0LCBzZWxlY3QsIHRleHRhcmVhLCBbdGFiaW5kZXhdKTpub3QoW3RhYmluZGV4PVwiLTFcIl0pOm5vdCg6ZGlzYWJsZWQpOm5vdChbdHlwZT1cImhpZGRlblwiXSknXG4gICAgICApKTtcbiAgICAgIGNvbnN0IGluZGV4ID0gZm9jdXNhYmxlcy5pbmRleE9mKHRoaXMuaW5wdXRFbCk7XG4gICAgICBjb25zdCBkZWx0YUluZGV4ID0gZXZ0LnNoaWZ0S2V5ID8gLTEgOiAxO1xuICAgICAgY29uc3QgbmV4dENvbnRyb2wgPSBmb2N1c2FibGVzWyhpbmRleCArIGRlbHRhSW5kZXggKyBmb2N1c2FibGVzLmxlbmd0aCkgJSBmb2N1c2FibGVzLmxlbmd0aF07XG4gICAgICBuZXh0Q29udHJvbD8uZm9jdXMoKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBvbGRWYWx1ZSA9IHRoaXMuZ2V0VmFsdWUoKTtcbiAgICBjb25zdCBzZWxlY3Rpb25TdGFydCA9IHRoaXMuaW5wdXRFbC5zZWxlY3Rpb25TdGFydDtcbiAgICBjb25zdCBzZWxlY3Rpb25FbmQgPSB0aGlzLmlucHV0RWwuc2VsZWN0aW9uRW5kO1xuICAgIGNvbnN0IGJlZm9yZVNlbGVjdGlvbiA9IG9sZFZhbHVlLnNsaWNlKDAsIHNlbGVjdGlvblN0YXJ0KTtcbiAgICBjb25zdCBhZnRlclNlbGVjdGlvbiA9IG9sZFZhbHVlLnNsaWNlKHNlbGVjdGlvbkVuZCk7XG4gICAgY29uc3QgdGFicyA9ICcgJy5yZXBlYXQodGhpcy50YWJTaXplKTtcbiAgICBsZXQgbmV3QmVmb3JlU2VsZWN0aW9uID0gYmVmb3JlU2VsZWN0aW9uO1xuXG4gICAgaWYgKGV2dC5zaGlmdEtleSkge1xuICAgICAgaWYgKGJlZm9yZVNlbGVjdGlvbi5lbmRzV2l0aCh0YWJzKSkge1xuICAgICAgICBuZXdCZWZvcmVTZWxlY3Rpb24gPSBiZWZvcmVTZWxlY3Rpb24uc2xpY2UoMCwgLXRoaXMudGFiU2l6ZSk7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIG5ld0JlZm9yZVNlbGVjdGlvbiA9IGJlZm9yZVNlbGVjdGlvbiArIHRhYnM7XG4gICAgfVxuXG4gICAgY29uc3QgbmV3VmFsdWUgPSBgJHtuZXdCZWZvcmVTZWxlY3Rpb259JHthZnRlclNlbGVjdGlvbn1gO1xuICAgIHRoaXMuc2V0VmFsdWUobmV3VmFsdWUpO1xuICAgIHRoaXMuaW5wdXRFbC5zZWxlY3Rpb25TdGFydCA9IG5ld0JlZm9yZVNlbGVjdGlvbi5sZW5ndGg7XG4gICAgdGhpcy5pbnB1dEVsLnNlbGVjdGlvbkVuZCA9IG5ld0JlZm9yZVNlbGVjdGlvbi5sZW5ndGg7XG4gIH1cblxuICBwcml2YXRlIGhhbmRsZVNjcm9sbCgpOiB2b2lkIHtcbiAgICB0aGlzLnByZUVsLnNjcm9sbFRvcCA9IHRoaXMuaW5wdXRFbC5zY3JvbGxUb3A7XG4gICAgdGhpcy5wcmVFbC5zY3JvbGxMZWZ0ID0gdGhpcy5pbnB1dEVsLnNjcm9sbExlZnQ7XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIHVwZGF0ZUhpZ2hsaWdodGVkQ29kZSgpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICB0aGlzLmNvZGVFbC50ZXh0Q29udGVudCA9IHRoaXMuaW5wdXRFbC52YWx1ZSB8fCB0aGlzLnBsYWNlaG9sZGVyO1xuICAgIGNvbnN0IHByaXNtID0gYXdhaXQgbG9hZFByaXNtKCk7XG4gICAgcHJpc20uaGlnaGxpZ2h0RWxlbWVudCh0aGlzLmNvZGVFbCk7XG4gICAgdGhpcy5wcmVFbC50b2dnbGVDbGFzcyhDc3NDbGFzcy5Jc1BsYWNlaG9sZGVyLCB0aGlzLmlzRW1wdHkoKSk7XG4gICAgd2luZG93LnJlcXVlc3RBbmltYXRpb25GcmFtZSgoKSA9PiB7XG4gICAgICBjb25zdCBnYXAgPSBNYXRoLm1heCgwLCB0aGlzLmlucHV0RWwuc2Nyb2xsSGVpZ2h0IC0gdGhpcy5wcmVFbC5zY3JvbGxIZWlnaHQpO1xuICAgICAgdGhpcy5wcmVFbC5zZXRDc3NQcm9wcyh7XG4gICAgICAgICctLWJvdHRvbS1nYXAnOiB0b1B4KGdhcClcbiAgICAgIH0pO1xuICAgICAgdGhpcy5oYW5kbGVTY3JvbGwoKTtcbiAgICB9KTtcbiAgfVxufVxuIl0sCiAgIm1hcHBpbmdzIjogIjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFRQTtBQUFBLEVBQ0U7QUFBQSxFQUNBO0FBQUEsT0FDSztBQUNQLFNBQVMsaUJBQWlC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
@@ -4,7 +4,7 @@ if you want to view the source, please visit the github repository of this plugi
4
4
  */
5
5
 
6
6
  (function initEsm() {
7
- // eslint-disable-next-line obsidianmd/prefer-active-doc -- Actively use globalThis.
7
+ // eslint-disable-next-line obsidianmd/no-global-this -- Actively use globalThis.
8
8
  if (globalThis.process) {
9
9
  return;
10
10
  }
@@ -17,7 +17,7 @@ if you want to view the source, please visit the github repository of this plugi
17
17
  env: {},
18
18
  platform: 'android'
19
19
  };
20
- // eslint-disable-next-line obsidianmd/prefer-active-doc -- Actively use globalThis.
20
+ // eslint-disable-next-line obsidianmd/no-global-this -- Actively use globalThis.
21
21
  globalThis.process = browserProcess;
22
22
  })();
23
23
 
@@ -4,7 +4,7 @@ if you want to view the source, please visit the github repository of this plugi
4
4
  */
5
5
 
6
6
  (function initEsm() {
7
- // eslint-disable-next-line obsidianmd/prefer-active-doc -- Actively use globalThis.
7
+ // eslint-disable-next-line obsidianmd/no-global-this -- Actively use globalThis.
8
8
  if (globalThis.process) {
9
9
  return;
10
10
  }
@@ -17,7 +17,7 @@ if you want to view the source, please visit the github repository of this plugi
17
17
  env: {},
18
18
  platform: 'android'
19
19
  };
20
- // eslint-disable-next-line obsidianmd/prefer-active-doc -- Actively use globalThis.
20
+ // eslint-disable-next-line obsidianmd/no-global-this -- Actively use globalThis.
21
21
  globalThis.process = browserProcess;
22
22
  })();
23
23
 
@@ -4,7 +4,7 @@ if you want to view the source, please visit the github repository of this plugi
4
4
  */
5
5
 
6
6
  (function initEsm() {
7
- // eslint-disable-next-line obsidianmd/prefer-active-doc -- Actively use globalThis.
7
+ // eslint-disable-next-line obsidianmd/no-global-this -- Actively use globalThis.
8
8
  if (globalThis.process) {
9
9
  return;
10
10
  }
@@ -17,7 +17,7 @@ if you want to view the source, please visit the github repository of this plugi
17
17
  env: {},
18
18
  platform: 'android'
19
19
  };
20
- // eslint-disable-next-line obsidianmd/prefer-active-doc -- Actively use globalThis.
20
+ // eslint-disable-next-line obsidianmd/no-global-this -- Actively use globalThis.
21
21
  globalThis.process = browserProcess;
22
22
  })();
23
23
 
@@ -4,7 +4,7 @@ if you want to view the source, please visit the github repository of this plugi
4
4
  */
5
5
 
6
6
  (function initEsm() {
7
- // eslint-disable-next-line obsidianmd/prefer-active-doc -- Actively use globalThis.
7
+ // eslint-disable-next-line obsidianmd/no-global-this -- Actively use globalThis.
8
8
  if (globalThis.process) {
9
9
  return;
10
10
  }
@@ -17,7 +17,7 @@ if you want to view the source, please visit the github repository of this plugi
17
17
  env: {},
18
18
  platform: 'android'
19
19
  };
20
- // eslint-disable-next-line obsidianmd/prefer-active-doc -- Actively use globalThis.
20
+ // eslint-disable-next-line obsidianmd/no-global-this -- Actively use globalThis.
21
21
  globalThis.process = browserProcess;
22
22
  })();
23
23
 
@@ -4,7 +4,7 @@ if you want to view the source, please visit the github repository of this plugi
4
4
  */
5
5
 
6
6
  (function initEsm() {
7
- // eslint-disable-next-line obsidianmd/prefer-active-doc -- Actively use globalThis.
7
+ // eslint-disable-next-line obsidianmd/no-global-this -- Actively use globalThis.
8
8
  if (globalThis.process) {
9
9
  return;
10
10
  }
@@ -17,7 +17,7 @@ if you want to view the source, please visit the github repository of this plugi
17
17
  env: {},
18
18
  platform: 'android'
19
19
  };
20
- // eslint-disable-next-line obsidianmd/prefer-active-doc -- Actively use globalThis.
20
+ // eslint-disable-next-line obsidianmd/no-global-this -- Actively use globalThis.
21
21
  globalThis.process = browserProcess;
22
22
  })();
23
23
 
@@ -4,7 +4,7 @@ if you want to view the source, please visit the github repository of this plugi
4
4
  */
5
5
 
6
6
  (function initEsm() {
7
- // eslint-disable-next-line obsidianmd/prefer-active-doc -- Actively use globalThis.
7
+ // eslint-disable-next-line obsidianmd/no-global-this -- Actively use globalThis.
8
8
  if (globalThis.process) {
9
9
  return;
10
10
  }
@@ -17,7 +17,7 @@ if you want to view the source, please visit the github repository of this plugi
17
17
  env: {},
18
18
  platform: 'android'
19
19
  };
20
- // eslint-disable-next-line obsidianmd/prefer-active-doc -- Actively use globalThis.
20
+ // eslint-disable-next-line obsidianmd/no-global-this -- Actively use globalThis.
21
21
  globalThis.process = browserProcess;
22
22
  })();
23
23
 
@@ -4,7 +4,7 @@ if you want to view the source, please visit the github repository of this plugi
4
4
  */
5
5
 
6
6
  (function initEsm() {
7
- // eslint-disable-next-line obsidianmd/prefer-active-doc -- Actively use globalThis.
7
+ // eslint-disable-next-line obsidianmd/no-global-this -- Actively use globalThis.
8
8
  if (globalThis.process) {
9
9
  return;
10
10
  }
@@ -17,7 +17,7 @@ if you want to view the source, please visit the github repository of this plugi
17
17
  env: {},
18
18
  platform: 'android'
19
19
  };
20
- // eslint-disable-next-line obsidianmd/prefer-active-doc -- Actively use globalThis.
20
+ // eslint-disable-next-line obsidianmd/no-global-this -- Actively use globalThis.
21
21
  globalThis.process = browserProcess;
22
22
  })();
23
23
 
@@ -4,7 +4,7 @@ if you want to view the source, please visit the github repository of this plugi
4
4
  */
5
5
 
6
6
  (function initEsm() {
7
- // eslint-disable-next-line obsidianmd/prefer-active-doc -- Actively use globalThis.
7
+ // eslint-disable-next-line obsidianmd/no-global-this -- Actively use globalThis.
8
8
  if (globalThis.process) {
9
9
  return;
10
10
  }
@@ -17,7 +17,7 @@ if you want to view the source, please visit the github repository of this plugi
17
17
  env: {},
18
18
  platform: 'android'
19
19
  };
20
- // eslint-disable-next-line obsidianmd/prefer-active-doc -- Actively use globalThis.
20
+ // eslint-disable-next-line obsidianmd/no-global-this -- Actively use globalThis.
21
21
  globalThis.process = browserProcess;
22
22
  })();
23
23
 
@@ -4,7 +4,7 @@ if you want to view the source, please visit the github repository of this plugi
4
4
  */
5
5
 
6
6
  (function initEsm() {
7
- // eslint-disable-next-line obsidianmd/prefer-active-doc -- Actively use globalThis.
7
+ // eslint-disable-next-line obsidianmd/no-global-this -- Actively use globalThis.
8
8
  if (globalThis.process) {
9
9
  return;
10
10
  }
@@ -17,7 +17,7 @@ if you want to view the source, please visit the github repository of this plugi
17
17
  env: {},
18
18
  platform: 'android'
19
19
  };
20
- // eslint-disable-next-line obsidianmd/prefer-active-doc -- Actively use globalThis.
20
+ // eslint-disable-next-line obsidianmd/no-global-this -- Actively use globalThis.
21
21
  globalThis.process = browserProcess;
22
22
  })();
23
23
 
@@ -4,7 +4,7 @@ if you want to view the source, please visit the github repository of this plugi
4
4
  */
5
5
 
6
6
  (function initEsm() {
7
- // eslint-disable-next-line obsidianmd/prefer-active-doc -- Actively use globalThis.
7
+ // eslint-disable-next-line obsidianmd/no-global-this -- Actively use globalThis.
8
8
  if (globalThis.process) {
9
9
  return;
10
10
  }
@@ -17,7 +17,7 @@ if you want to view the source, please visit the github repository of this plugi
17
17
  env: {},
18
18
  platform: 'android'
19
19
  };
20
- // eslint-disable-next-line obsidianmd/prefer-active-doc -- Actively use globalThis.
20
+ // eslint-disable-next-line obsidianmd/no-global-this -- Actively use globalThis.
21
21
  globalThis.process = browserProcess;
22
22
  })();
23
23
 
@@ -4,7 +4,7 @@ if you want to view the source, please visit the github repository of this plugi
4
4
  */
5
5
 
6
6
  (function initEsm() {
7
- // eslint-disable-next-line obsidianmd/prefer-active-doc -- Actively use globalThis.
7
+ // eslint-disable-next-line obsidianmd/no-global-this -- Actively use globalThis.
8
8
  if (globalThis.process) {
9
9
  return;
10
10
  }
@@ -17,7 +17,7 @@ if you want to view the source, please visit the github repository of this plugi
17
17
  env: {},
18
18
  platform: 'android'
19
19
  };
20
- // eslint-disable-next-line obsidianmd/prefer-active-doc -- Actively use globalThis.
20
+ // eslint-disable-next-line obsidianmd/no-global-this -- Actively use globalThis.
21
21
  globalThis.process = browserProcess;
22
22
  })();
23
23
 
@@ -4,7 +4,7 @@ if you want to view the source, please visit the github repository of this plugi
4
4
  */
5
5
 
6
6
  (function initEsm() {
7
- // eslint-disable-next-line obsidianmd/prefer-active-doc -- Actively use globalThis.
7
+ // eslint-disable-next-line obsidianmd/no-global-this -- Actively use globalThis.
8
8
  if (globalThis.process) {
9
9
  return;
10
10
  }
@@ -17,7 +17,7 @@ if you want to view the source, please visit the github repository of this plugi
17
17
  env: {},
18
18
  platform: 'android'
19
19
  };
20
- // eslint-disable-next-line obsidianmd/prefer-active-doc -- Actively use globalThis.
20
+ // eslint-disable-next-line obsidianmd/no-global-this -- Actively use globalThis.
21
21
  globalThis.process = browserProcess;
22
22
  })();
23
23
 
@@ -4,7 +4,7 @@ if you want to view the source, please visit the github repository of this plugi
4
4
  */
5
5
 
6
6
  (function initEsm() {
7
- // eslint-disable-next-line obsidianmd/prefer-active-doc -- Actively use globalThis.
7
+ // eslint-disable-next-line obsidianmd/no-global-this -- Actively use globalThis.
8
8
  if (globalThis.process) {
9
9
  return;
10
10
  }
@@ -17,7 +17,7 @@ if you want to view the source, please visit the github repository of this plugi
17
17
  env: {},
18
18
  platform: 'android'
19
19
  };
20
- // eslint-disable-next-line obsidianmd/prefer-active-doc -- Actively use globalThis.
20
+ // eslint-disable-next-line obsidianmd/no-global-this -- Actively use globalThis.
21
21
  globalThis.process = browserProcess;
22
22
  })();
23
23
 
@@ -4,7 +4,7 @@ if you want to view the source, please visit the github repository of this plugi
4
4
  */
5
5
 
6
6
  (function initEsm() {
7
- // eslint-disable-next-line obsidianmd/prefer-active-doc -- Actively use globalThis.
7
+ // eslint-disable-next-line obsidianmd/no-global-this -- Actively use globalThis.
8
8
  if (globalThis.process) {
9
9
  return;
10
10
  }
@@ -17,7 +17,7 @@ if you want to view the source, please visit the github repository of this plugi
17
17
  env: {},
18
18
  platform: 'android'
19
19
  };
20
- // eslint-disable-next-line obsidianmd/prefer-active-doc -- Actively use globalThis.
20
+ // eslint-disable-next-line obsidianmd/no-global-this -- Actively use globalThis.
21
21
  globalThis.process = browserProcess;
22
22
  })();
23
23
 
@@ -4,7 +4,7 @@ if you want to view the source, please visit the github repository of this plugi
4
4
  */
5
5
 
6
6
  (function initEsm() {
7
- // eslint-disable-next-line obsidianmd/prefer-active-doc -- Actively use globalThis.
7
+ // eslint-disable-next-line obsidianmd/no-global-this -- Actively use globalThis.
8
8
  if (globalThis.process) {
9
9
  return;
10
10
  }
@@ -17,7 +17,7 @@ if you want to view the source, please visit the github repository of this plugi
17
17
  env: {},
18
18
  platform: 'android'
19
19
  };
20
- // eslint-disable-next-line obsidianmd/prefer-active-doc -- Actively use globalThis.
20
+ // eslint-disable-next-line obsidianmd/no-global-this -- Actively use globalThis.
21
21
  globalThis.process = browserProcess;
22
22
  })();
23
23
 
@@ -4,7 +4,7 @@ if you want to view the source, please visit the github repository of this plugi
4
4
  */
5
5
 
6
6
  (function initEsm() {
7
- // eslint-disable-next-line obsidianmd/prefer-active-doc -- Actively use globalThis.
7
+ // eslint-disable-next-line obsidianmd/no-global-this -- Actively use globalThis.
8
8
  if (globalThis.process) {
9
9
  return;
10
10
  }
@@ -17,7 +17,7 @@ if you want to view the source, please visit the github repository of this plugi
17
17
  env: {},
18
18
  platform: 'android'
19
19
  };
20
- // eslint-disable-next-line obsidianmd/prefer-active-doc -- Actively use globalThis.
20
+ // eslint-disable-next-line obsidianmd/no-global-this -- Actively use globalThis.
21
21
  globalThis.process = browserProcess;
22
22
  })();
23
23
 
@@ -4,7 +4,7 @@ if you want to view the source, please visit the github repository of this plugi
4
4
  */
5
5
 
6
6
  (function initEsm() {
7
- // eslint-disable-next-line obsidianmd/prefer-active-doc -- Actively use globalThis.
7
+ // eslint-disable-next-line obsidianmd/no-global-this -- Actively use globalThis.
8
8
  if (globalThis.process) {
9
9
  return;
10
10
  }
@@ -17,7 +17,7 @@ if you want to view the source, please visit the github repository of this plugi
17
17
  env: {},
18
18
  platform: 'android'
19
19
  };
20
- // eslint-disable-next-line obsidianmd/prefer-active-doc -- Actively use globalThis.
20
+ // eslint-disable-next-line obsidianmd/no-global-this -- Actively use globalThis.
21
21
  globalThis.process = browserProcess;
22
22
  })();
23
23
 
@@ -4,7 +4,7 @@ if you want to view the source, please visit the github repository of this plugi
4
4
  */
5
5
 
6
6
  (function initEsm() {
7
- // eslint-disable-next-line obsidianmd/prefer-active-doc -- Actively use globalThis.
7
+ // eslint-disable-next-line obsidianmd/no-global-this -- Actively use globalThis.
8
8
  if (globalThis.process) {
9
9
  return;
10
10
  }
@@ -17,7 +17,7 @@ if you want to view the source, please visit the github repository of this plugi
17
17
  env: {},
18
18
  platform: 'android'
19
19
  };
20
- // eslint-disable-next-line obsidianmd/prefer-active-doc -- Actively use globalThis.
20
+ // eslint-disable-next-line obsidianmd/no-global-this -- Actively use globalThis.
21
21
  globalThis.process = browserProcess;
22
22
  })();
23
23
 
@@ -4,7 +4,7 @@ if you want to view the source, please visit the github repository of this plugi
4
4
  */
5
5
 
6
6
  (function initEsm() {
7
- // eslint-disable-next-line obsidianmd/prefer-active-doc -- Actively use globalThis.
7
+ // eslint-disable-next-line obsidianmd/no-global-this -- Actively use globalThis.
8
8
  if (globalThis.process) {
9
9
  return;
10
10
  }
@@ -17,7 +17,7 @@ if you want to view the source, please visit the github repository of this plugi
17
17
  env: {},
18
18
  platform: 'android'
19
19
  };
20
- // eslint-disable-next-line obsidianmd/prefer-active-doc -- Actively use globalThis.
20
+ // eslint-disable-next-line obsidianmd/no-global-this -- Actively use globalThis.
21
21
  globalThis.process = browserProcess;
22
22
  })();
23
23