@mnaoumov/obsidian-lib 7.1.0 → 8.1.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 (355) hide show
  1. package/dist/lib/cjs/__merged.cjs +8 -6
  2. package/dist/lib/cjs/__merged.d.cts +1 -1
  3. package/dist/lib/cjs/active-file-provider.cjs +6 -6
  4. package/dist/lib/cjs/active-file-provider.d.cts +1 -1
  5. package/dist/lib/cjs/app.cjs +5 -5
  6. package/dist/lib/cjs/async-with-notice.cjs +5 -5
  7. package/dist/lib/cjs/attachment-path.cjs +6 -6
  8. package/dist/lib/cjs/attachment-unit-folder.cjs +5 -5
  9. package/dist/lib/cjs/backlink-index.cjs +13 -19
  10. package/dist/lib/cjs/backlink-index.d.cts +1 -1
  11. package/dist/lib/cjs/backlink.cjs +5 -5
  12. package/dist/lib/cjs/bases-view-registrar.cjs +6 -6
  13. package/dist/lib/cjs/bases-view-registrar.d.cts +1 -1
  14. package/dist/lib/cjs/callout.cjs +5 -5
  15. package/dist/lib/cjs/canvas.cjs +5 -5
  16. package/dist/lib/cjs/case-insensitive-file-index.cjs +5 -5
  17. package/dist/lib/cjs/code-block-markdown-information.cjs +6 -6
  18. package/dist/lib/cjs/code-block-markdown-information.d.cts +9 -9
  19. package/dist/lib/cjs/code-block-reg-exp.cjs +5 -5
  20. package/dist/lib/cjs/codemirror/index.cjs +5 -5
  21. package/dist/lib/cjs/codemirror/state-field-spec.cjs +6 -6
  22. package/dist/lib/cjs/codemirror/state-field-spec.d.cts +6 -6
  23. package/dist/lib/cjs/command-handlers/abstract-file-command-handler.cjs +5 -5
  24. package/dist/lib/cjs/command-handlers/command-handler-component.cjs +5 -5
  25. package/dist/lib/cjs/command-handlers/command-handler.cjs +5 -5
  26. package/dist/lib/cjs/command-handlers/editor-command-handler.cjs +5 -5
  27. package/dist/lib/cjs/command-handlers/file-command-handler.cjs +5 -5
  28. package/dist/lib/cjs/command-handlers/folder-command-handler.cjs +5 -5
  29. package/dist/lib/cjs/command-handlers/global-command-handler.cjs +5 -5
  30. package/dist/lib/cjs/command-handlers/index.cjs +5 -5
  31. package/dist/lib/cjs/command-handlers/open-demo-vault-command-handler.cjs +5 -5
  32. package/dist/lib/cjs/command-handlers/open-settings-command-handler.cjs +5 -5
  33. package/dist/lib/cjs/command-handlers/unlock-active-note-command-handler.cjs +5 -5
  34. package/dist/lib/cjs/command-registrar.cjs +6 -6
  35. package/dist/lib/cjs/command-registrar.d.cts +2 -2
  36. package/dist/lib/cjs/community-plugins.cjs +6 -6
  37. package/dist/lib/cjs/components/abort-signal-component.cjs +5 -5
  38. package/dist/lib/cjs/components/all-windows-event-component.cjs +5 -5
  39. package/dist/lib/cjs/components/async-error-handler-component.cjs +5 -5
  40. package/dist/lib/cjs/components/async-events-component.cjs +5 -5
  41. package/dist/lib/cjs/components/case-insensitive-file-index-component.cjs +5 -5
  42. package/dist/lib/cjs/components/component-ex.cjs +5 -5
  43. package/dist/lib/cjs/components/console-debug-component.cjs +5 -5
  44. package/dist/lib/cjs/components/core-plugin-toggle-component.cjs +5 -5
  45. package/dist/lib/cjs/components/disposable-component.cjs +5 -5
  46. package/dist/lib/cjs/components/embed-extensions-component.cjs +5 -5
  47. package/dist/lib/cjs/components/file-explorer-root-menu-component.cjs +13 -16
  48. package/dist/lib/cjs/components/generate-markdown-link-default-params-component.cjs +5 -5
  49. package/dist/lib/cjs/components/incremental-file-index-component.cjs +74 -10
  50. package/dist/lib/cjs/components/incremental-file-index-component.d.cts +16 -1
  51. package/dist/lib/cjs/components/index.cjs +5 -5
  52. package/dist/lib/cjs/components/layout-ready-component.cjs +5 -5
  53. package/dist/lib/cjs/components/menu-event-registrar-component.cjs +5 -5
  54. package/dist/lib/cjs/components/monkey-around-component.cjs +5 -5
  55. package/dist/lib/cjs/components/notebook-navigator-menu-event-registrar-component.cjs +5 -5
  56. package/dist/lib/cjs/components/plugin-context-component.cjs +5 -5
  57. package/dist/lib/cjs/components/plugin-gate-component.cjs +5 -5
  58. package/dist/lib/cjs/components/plugin-notice-component.cjs +6 -6
  59. package/dist/lib/cjs/components/plugin-notice-component.d.cts +3 -3
  60. package/dist/lib/cjs/components/plugin-settings-component.cjs +6 -6
  61. package/dist/lib/cjs/components/plugin-settings-component.d.cts +5 -5
  62. package/dist/lib/cjs/components/plugin-settings-tab-component.cjs +5 -5
  63. package/dist/lib/cjs/components/plugin-suggestion-component.cjs +5 -5
  64. package/dist/lib/cjs/components/pointer-position-component.cjs +5 -5
  65. package/dist/lib/cjs/components/registry-component.cjs +5 -5
  66. package/dist/lib/cjs/components/release-notes-component.cjs +5 -5
  67. package/dist/lib/cjs/components/rename-delete-handler-component.cjs +6 -6
  68. package/dist/lib/cjs/components/rename-delete-handler-component.d.cts +10 -10
  69. package/dist/lib/cjs/components/rmdir-guard-component.cjs +5 -5
  70. package/dist/lib/cjs/components/settings-migration-component.cjs +5 -5
  71. package/dist/lib/cjs/components/syntax-highlighting-component.cjs +5 -5
  72. package/dist/lib/cjs/components/templates-language-component.cjs +5 -5
  73. package/dist/lib/cjs/constructors/get-dom-events-handlers-constructor.cjs +5 -5
  74. package/dist/lib/cjs/constructors/index.cjs +5 -5
  75. package/dist/lib/cjs/css-class.cjs +5 -5
  76. package/dist/lib/cjs/data-handler.cjs +6 -6
  77. package/dist/lib/cjs/data-handler.d.cts +2 -2
  78. package/dist/lib/cjs/data-stores/data-store-replica.cjs +5 -5
  79. package/dist/lib/cjs/data-stores/data-store-seeds.cjs +6 -6
  80. package/dist/lib/cjs/data-stores/data-store-transport.cjs +5 -5
  81. package/dist/lib/cjs/data-stores/index.cjs +5 -5
  82. package/dist/lib/cjs/data-stores/local-data-store.cjs +21 -18
  83. package/dist/lib/cjs/data-stores/local-data-store.d.cts +9 -1
  84. package/dist/lib/cjs/data-stores/shared-data-store.cjs +6 -6
  85. package/dist/lib/cjs/dataview-link.cjs +5 -5
  86. package/dist/lib/cjs/dataview.cjs +12 -12
  87. package/dist/lib/cjs/dataview.d.cts +6 -6
  88. package/dist/lib/cjs/debug.cjs +5 -5
  89. package/dist/lib/cjs/demo-vault-helper-settings.cjs +5 -5
  90. package/dist/lib/cjs/demo-vault-helper.cjs +5 -5
  91. package/dist/lib/cjs/demo-vault-naming.cjs +5 -5
  92. package/dist/lib/cjs/desktop-demo-vault-opener.cjs +5 -5
  93. package/dist/lib/cjs/desktop-trusted-input.cjs +6 -6
  94. package/dist/lib/cjs/desktop-trusted-input.d.cts +1 -1
  95. package/dist/lib/cjs/editor-extension-registrar.cjs +6 -6
  96. package/dist/lib/cjs/editor-extension-registrar.d.cts +1 -1
  97. package/dist/lib/cjs/editor-suggest-registrar.cjs +6 -6
  98. package/dist/lib/cjs/editor-suggest-registrar.d.cts +1 -1
  99. package/dist/lib/cjs/editor.cjs +5 -5
  100. package/dist/lib/cjs/events.cjs +5 -5
  101. package/dist/lib/cjs/extensions-registrar.cjs +6 -6
  102. package/dist/lib/cjs/extensions-registrar.d.cts +1 -1
  103. package/dist/lib/cjs/file-change.cjs +6 -6
  104. package/dist/lib/cjs/file-change.d.cts +3 -3
  105. package/dist/lib/cjs/file-explorer.cjs +5 -5
  106. package/dist/lib/cjs/file-manager.cjs +5 -5
  107. package/dist/lib/cjs/file-system.cjs +5 -5
  108. package/dist/lib/cjs/folder-note.cjs +6 -6
  109. package/dist/lib/cjs/folder-note.d.cts +1 -1
  110. package/dist/lib/cjs/frontmatter-formatting.cjs +5 -5
  111. package/dist/lib/cjs/frontmatter-link-cache-with-offsets.cjs +6 -6
  112. package/dist/lib/cjs/frontmatter-link-cache-with-offsets.d.cts +2 -2
  113. package/dist/lib/cjs/frontmatter.cjs +6 -6
  114. package/dist/lib/cjs/frontmatter.d.cts +7 -7
  115. package/dist/lib/cjs/generated-during-build.cjs +7 -7
  116. package/dist/lib/cjs/hover-link-source-registrar.cjs +6 -6
  117. package/dist/lib/cjs/hover-link-source-registrar.d.cts +1 -1
  118. package/dist/lib/cjs/html-element.cjs +5 -5
  119. package/dist/lib/cjs/i18n/custom-type-options.cjs +6 -6
  120. package/dist/lib/cjs/i18n/custom-type-options.d.cts +4 -4
  121. package/dist/lib/cjs/i18n/default-translations.cjs +5 -5
  122. package/dist/lib/cjs/i18n/i18n.cjs +5 -5
  123. package/dist/lib/cjs/i18n/index.cjs +5 -5
  124. package/dist/lib/cjs/i18n/locales/en.cjs +5 -5
  125. package/dist/lib/cjs/i18n/locales/index.cjs +5 -5
  126. package/dist/lib/cjs/i18n/locales/translations-map.cjs +5 -5
  127. package/dist/lib/cjs/index.cjs +5 -5
  128. package/dist/lib/cjs/is-in-obsidian.cjs +5 -5
  129. package/dist/lib/cjs/library-styles.cjs +5 -5
  130. package/dist/lib/cjs/library.cjs +5 -5
  131. package/dist/lib/cjs/link-name.cjs +5 -5
  132. package/dist/lib/cjs/link-update-progress.cjs +5 -5
  133. package/dist/lib/cjs/link.cjs +39 -15
  134. package/dist/lib/cjs/link.d.cts +49 -2
  135. package/dist/lib/cjs/logger.cjs +5 -5
  136. package/dist/lib/cjs/loop.cjs +5 -5
  137. package/dist/lib/cjs/markdown-code-block-processor-registrar.cjs +6 -6
  138. package/dist/lib/cjs/markdown-code-block-processor-registrar.d.cts +1 -1
  139. package/dist/lib/cjs/markdown-code-block-processor.cjs +5 -5
  140. package/dist/lib/cjs/markdown-post-processor-registrar.cjs +6 -6
  141. package/dist/lib/cjs/markdown-post-processor-registrar.d.cts +1 -1
  142. package/dist/lib/cjs/markdown-view.cjs +5 -5
  143. package/dist/lib/cjs/markdown.cjs +5 -5
  144. package/dist/lib/cjs/menu-event-registrar.cjs +6 -6
  145. package/dist/lib/cjs/menu-event-registrar.d.cts +4 -4
  146. package/dist/lib/cjs/metadata-cache.cjs +6 -6
  147. package/dist/lib/cjs/mobile-trusted-input.cjs +6 -6
  148. package/dist/lib/cjs/modals/alert.cjs +5 -5
  149. package/dist/lib/cjs/modals/confirm.cjs +5 -5
  150. package/dist/lib/cjs/modals/index.cjs +5 -5
  151. package/dist/lib/cjs/modals/minimizable-modal.cjs +6 -6
  152. package/dist/lib/cjs/modals/modal-command-builder.cjs +6 -6
  153. package/dist/lib/cjs/modals/modal-command-builder.d.cts +12 -12
  154. package/dist/lib/cjs/modals/modal.cjs +5 -5
  155. package/dist/lib/cjs/modals/prompt.cjs +14 -14
  156. package/dist/lib/cjs/modals/select-item.cjs +5 -5
  157. package/dist/lib/cjs/modals/select-option.cjs +5 -5
  158. package/dist/lib/cjs/modals/suggest-modal-command-builder.cjs +5 -5
  159. package/dist/lib/cjs/note-priority.cjs +5 -5
  160. package/dist/lib/cjs/notebook-navigator.cjs +6 -6
  161. package/dist/lib/cjs/notebook-navigator.d.cts +3 -3
  162. package/dist/lib/cjs/obsidian-lib-state.cjs +6 -6
  163. package/dist/lib/cjs/obsidian-protocol-handler-registrar.cjs +6 -6
  164. package/dist/lib/cjs/obsidian-protocol-handler-registrar.d.cts +1 -1
  165. package/dist/lib/cjs/obsidian-settings.cjs +5 -5
  166. package/dist/lib/cjs/obsidian-word-characters.cjs +6 -6
  167. package/dist/lib/cjs/parse-link.cjs +6 -6
  168. package/dist/lib/cjs/parse-link.d.cts +2 -2
  169. package/dist/lib/cjs/path-settings.cjs +6 -6
  170. package/dist/lib/cjs/pdf.cjs +5 -5
  171. package/dist/lib/cjs/plugin/index.cjs +5 -5
  172. package/dist/lib/cjs/plugin/plugin-api.cjs +6 -6
  173. package/dist/lib/cjs/plugin/plugin-api.d.cts +2 -2
  174. package/dist/lib/cjs/plugin/plugin-context.cjs +6 -6
  175. package/dist/lib/cjs/plugin/plugin-event-source.cjs +6 -6
  176. package/dist/lib/cjs/plugin/plugin-event-source.d.cts +1 -1
  177. package/dist/lib/cjs/plugin/plugin-install-state.cjs +5 -5
  178. package/dist/lib/cjs/plugin/plugin-lifecycle-events.cjs +5 -5
  179. package/dist/lib/cjs/plugin/plugin-settings-tab.cjs +6 -6
  180. package/dist/lib/cjs/plugin/plugin-settings-tab.d.cts +3 -3
  181. package/dist/lib/cjs/plugin/plugin.cjs +6 -6
  182. package/dist/lib/cjs/plugin/settings-migration-api.cjs +6 -6
  183. package/dist/lib/cjs/plugin/settings-migration-api.d.cts +1 -1
  184. package/dist/lib/cjs/plugin-cli-handler-registrar.cjs +6 -6
  185. package/dist/lib/cjs/plugin-cli-handler-registrar.d.cts +1 -1
  186. package/dist/lib/cjs/popovers/field-popover.cjs +5 -5
  187. package/dist/lib/cjs/popovers/index.cjs +5 -5
  188. package/dist/lib/cjs/popovers/popover-anchor.cjs +5 -5
  189. package/dist/lib/cjs/popovers/popover.cjs +5 -5
  190. package/dist/lib/cjs/property-entry.cjs +5 -5
  191. package/dist/lib/cjs/queue.cjs +6 -6
  192. package/dist/lib/cjs/react/app-context.cjs +5 -5
  193. package/dist/lib/cjs/react/index.cjs +5 -5
  194. package/dist/lib/cjs/reference.cjs +18 -6
  195. package/dist/lib/cjs/reference.d.cts +27 -7
  196. package/dist/lib/cjs/resource-lock.cjs +6 -6
  197. package/dist/lib/cjs/resource-url.cjs +5 -5
  198. package/dist/lib/cjs/ribbon-icon-registrar.cjs +6 -6
  199. package/dist/lib/cjs/ribbon-icon-registrar.d.cts +1 -1
  200. package/dist/lib/cjs/setting-components/checkbox-component.cjs +5 -5
  201. package/dist/lib/cjs/setting-components/code-highlighter-component.cjs +5 -5
  202. package/dist/lib/cjs/setting-components/date-component.cjs +5 -5
  203. package/dist/lib/cjs/setting-components/date-time-component.cjs +5 -5
  204. package/dist/lib/cjs/setting-components/email-component.cjs +5 -5
  205. package/dist/lib/cjs/setting-components/file-component.cjs +5 -5
  206. package/dist/lib/cjs/setting-components/index.cjs +5 -5
  207. package/dist/lib/cjs/setting-components/month-component.cjs +6 -6
  208. package/dist/lib/cjs/setting-components/month-component.d.cts +2 -2
  209. package/dist/lib/cjs/setting-components/multiple-dropdown-component.cjs +5 -5
  210. package/dist/lib/cjs/setting-components/multiple-email-component.cjs +5 -5
  211. package/dist/lib/cjs/setting-components/multiple-file-component.cjs +5 -5
  212. package/dist/lib/cjs/setting-components/multiple-text-component.cjs +5 -5
  213. package/dist/lib/cjs/setting-components/number-component.cjs +5 -5
  214. package/dist/lib/cjs/setting-components/password-component.cjs +5 -5
  215. package/dist/lib/cjs/setting-components/setting-component-wrapper.cjs +5 -5
  216. package/dist/lib/cjs/setting-components/telephone-component.cjs +5 -5
  217. package/dist/lib/cjs/setting-components/text-based-component.cjs +6 -6
  218. package/dist/lib/cjs/setting-components/text-based-component.d.cts +3 -3
  219. package/dist/lib/cjs/setting-components/time-component.cjs +5 -5
  220. package/dist/lib/cjs/setting-components/tri-state-checkbox-component.cjs +5 -5
  221. package/dist/lib/cjs/setting-components/typed-dropdown-component.cjs +5 -5
  222. package/dist/lib/cjs/setting-components/typed-multiple-dropdown-component.cjs +5 -5
  223. package/dist/lib/cjs/setting-components/typed-range-text-component.cjs +5 -5
  224. package/dist/lib/cjs/setting-components/typed-text-component.cjs +5 -5
  225. package/dist/lib/cjs/setting-components/url-component.cjs +5 -5
  226. package/dist/lib/cjs/setting-components/validator-component.cjs +5 -5
  227. package/dist/lib/cjs/setting-components/value-component-with-change-tracking.cjs +6 -6
  228. package/dist/lib/cjs/setting-components/week-component.cjs +6 -6
  229. package/dist/lib/cjs/setting-components/week-component.d.cts +2 -2
  230. package/dist/lib/cjs/setting-ex.cjs +5 -5
  231. package/dist/lib/cjs/setting-group-ex.cjs +5 -5
  232. package/dist/lib/cjs/status-bar-item-registrar.cjs +6 -6
  233. package/dist/lib/cjs/status-bar-item-registrar.d.cts +1 -1
  234. package/dist/lib/cjs/templater.cjs +6 -6
  235. package/dist/lib/cjs/templater.d.cts +9 -9
  236. package/dist/lib/cjs/transformers/duration-transformer.cjs +5 -5
  237. package/dist/lib/cjs/transformers/index.cjs +5 -5
  238. package/dist/lib/cjs/trusted-input.cjs +5 -5
  239. package/dist/lib/cjs/validation.cjs +6 -6
  240. package/dist/lib/cjs/validation.d.cts +1 -1
  241. package/dist/lib/cjs/vault-delete.cjs +5 -5
  242. package/dist/lib/cjs/vault-transaction.cjs +6 -6
  243. package/dist/lib/cjs/vault.cjs +5 -5
  244. package/dist/lib/cjs/view-registrar.cjs +6 -6
  245. package/dist/lib/cjs/view-registrar.d.cts +1 -1
  246. package/dist/lib/cjs/workspace.cjs +5 -5
  247. package/dist/lib/esm/__merged.d.mts +1 -1
  248. package/dist/lib/esm/__merged.mjs +3 -1
  249. package/dist/lib/esm/active-file-provider.d.mts +1 -1
  250. package/dist/lib/esm/active-file-provider.mjs +1 -1
  251. package/dist/lib/esm/attachment-path.mjs +1 -1
  252. package/dist/lib/esm/backlink-index.d.mts +1 -1
  253. package/dist/lib/esm/backlink-index.mjs +8 -14
  254. package/dist/lib/esm/bases-view-registrar.d.mts +1 -1
  255. package/dist/lib/esm/bases-view-registrar.mjs +1 -1
  256. package/dist/lib/esm/code-block-markdown-information.d.mts +9 -9
  257. package/dist/lib/esm/codemirror/state-field-spec.d.mts +6 -6
  258. package/dist/lib/esm/command-registrar.d.mts +2 -2
  259. package/dist/lib/esm/command-registrar.mjs +1 -1
  260. package/dist/lib/esm/community-plugins.mjs +1 -1
  261. package/dist/lib/esm/components/file-explorer-root-menu-component.mjs +8 -11
  262. package/dist/lib/esm/components/incremental-file-index-component.d.mts +16 -1
  263. package/dist/lib/esm/components/incremental-file-index-component.mjs +69 -5
  264. package/dist/lib/esm/components/plugin-notice-component.d.mts +3 -3
  265. package/dist/lib/esm/components/plugin-notice-component.mjs +1 -1
  266. package/dist/lib/esm/components/plugin-settings-component.d.mts +5 -5
  267. package/dist/lib/esm/components/plugin-settings-component.mjs +1 -1
  268. package/dist/lib/esm/components/rename-delete-handler-component.d.mts +10 -10
  269. package/dist/lib/esm/components/rename-delete-handler-component.mjs +1 -1
  270. package/dist/lib/esm/data-handler.d.mts +2 -2
  271. package/dist/lib/esm/data-handler.mjs +1 -1
  272. package/dist/lib/esm/data-stores/data-store-seeds.mjs +1 -1
  273. package/dist/lib/esm/data-stores/local-data-store.d.mts +9 -1
  274. package/dist/lib/esm/data-stores/local-data-store.mjs +16 -13
  275. package/dist/lib/esm/data-stores/shared-data-store.mjs +1 -1
  276. package/dist/lib/esm/dataview.d.mts +6 -6
  277. package/dist/lib/esm/dataview.mjs +7 -7
  278. package/dist/lib/esm/desktop-trusted-input.d.mts +1 -1
  279. package/dist/lib/esm/desktop-trusted-input.mjs +1 -1
  280. package/dist/lib/esm/editor-extension-registrar.d.mts +1 -1
  281. package/dist/lib/esm/editor-extension-registrar.mjs +1 -1
  282. package/dist/lib/esm/editor-suggest-registrar.d.mts +1 -1
  283. package/dist/lib/esm/editor-suggest-registrar.mjs +1 -1
  284. package/dist/lib/esm/extensions-registrar.d.mts +1 -1
  285. package/dist/lib/esm/extensions-registrar.mjs +1 -1
  286. package/dist/lib/esm/file-change.d.mts +3 -3
  287. package/dist/lib/esm/file-change.mjs +1 -1
  288. package/dist/lib/esm/folder-note.d.mts +1 -1
  289. package/dist/lib/esm/folder-note.mjs +1 -1
  290. package/dist/lib/esm/frontmatter-link-cache-with-offsets.d.mts +2 -2
  291. package/dist/lib/esm/frontmatter-link-cache-with-offsets.mjs +1 -1
  292. package/dist/lib/esm/frontmatter.d.mts +7 -7
  293. package/dist/lib/esm/frontmatter.mjs +1 -1
  294. package/dist/lib/esm/generated-during-build.mjs +2 -2
  295. package/dist/lib/esm/hover-link-source-registrar.d.mts +1 -1
  296. package/dist/lib/esm/hover-link-source-registrar.mjs +1 -1
  297. package/dist/lib/esm/i18n/custom-type-options.d.mts +4 -4
  298. package/dist/lib/esm/i18n/custom-type-options.mjs +1 -1
  299. package/dist/lib/esm/link.d.mts +49 -2
  300. package/dist/lib/esm/link.mjs +35 -10
  301. package/dist/lib/esm/markdown-code-block-processor-registrar.d.mts +1 -1
  302. package/dist/lib/esm/markdown-code-block-processor-registrar.mjs +1 -1
  303. package/dist/lib/esm/markdown-post-processor-registrar.d.mts +1 -1
  304. package/dist/lib/esm/markdown-post-processor-registrar.mjs +1 -1
  305. package/dist/lib/esm/menu-event-registrar.d.mts +4 -4
  306. package/dist/lib/esm/metadata-cache.mjs +1 -1
  307. package/dist/lib/esm/mobile-trusted-input.mjs +1 -1
  308. package/dist/lib/esm/modals/minimizable-modal.mjs +1 -1
  309. package/dist/lib/esm/modals/modal-command-builder.d.mts +12 -12
  310. package/dist/lib/esm/modals/modal-command-builder.mjs +1 -1
  311. package/dist/lib/esm/modals/prompt.mjs +9 -9
  312. package/dist/lib/esm/notebook-navigator.d.mts +3 -3
  313. package/dist/lib/esm/notebook-navigator.mjs +1 -1
  314. package/dist/lib/esm/obsidian-lib-state.mjs +1 -1
  315. package/dist/lib/esm/obsidian-protocol-handler-registrar.d.mts +1 -1
  316. package/dist/lib/esm/obsidian-protocol-handler-registrar.mjs +1 -1
  317. package/dist/lib/esm/obsidian-word-characters.mjs +1 -1
  318. package/dist/lib/esm/parse-link.d.mts +2 -2
  319. package/dist/lib/esm/parse-link.mjs +1 -1
  320. package/dist/lib/esm/path-settings.mjs +1 -1
  321. package/dist/lib/esm/plugin/plugin-api.d.mts +2 -2
  322. package/dist/lib/esm/plugin/plugin-api.mjs +1 -1
  323. package/dist/lib/esm/plugin/plugin-context.mjs +1 -1
  324. package/dist/lib/esm/plugin/plugin-event-source.d.mts +1 -1
  325. package/dist/lib/esm/plugin/plugin-event-source.mjs +1 -1
  326. package/dist/lib/esm/plugin/plugin-settings-tab.d.mts +3 -3
  327. package/dist/lib/esm/plugin/plugin-settings-tab.mjs +1 -1
  328. package/dist/lib/esm/plugin/plugin.mjs +1 -1
  329. package/dist/lib/esm/plugin/settings-migration-api.d.mts +1 -1
  330. package/dist/lib/esm/plugin/settings-migration-api.mjs +1 -1
  331. package/dist/lib/esm/plugin-cli-handler-registrar.d.mts +1 -1
  332. package/dist/lib/esm/plugin-cli-handler-registrar.mjs +1 -1
  333. package/dist/lib/esm/queue.mjs +1 -1
  334. package/dist/lib/esm/reference.d.mts +27 -7
  335. package/dist/lib/esm/reference.mjs +12 -1
  336. package/dist/lib/esm/resource-lock.mjs +1 -1
  337. package/dist/lib/esm/ribbon-icon-registrar.d.mts +1 -1
  338. package/dist/lib/esm/ribbon-icon-registrar.mjs +1 -1
  339. package/dist/lib/esm/setting-components/month-component.d.mts +2 -2
  340. package/dist/lib/esm/setting-components/month-component.mjs +1 -1
  341. package/dist/lib/esm/setting-components/text-based-component.d.mts +3 -3
  342. package/dist/lib/esm/setting-components/text-based-component.mjs +1 -1
  343. package/dist/lib/esm/setting-components/week-component.d.mts +2 -2
  344. package/dist/lib/esm/setting-components/week-component.mjs +1 -1
  345. package/dist/lib/esm/status-bar-item-registrar.d.mts +1 -1
  346. package/dist/lib/esm/status-bar-item-registrar.mjs +1 -1
  347. package/dist/lib/esm/templater.d.mts +9 -9
  348. package/dist/lib/esm/templater.mjs +1 -1
  349. package/dist/lib/esm/validation.d.mts +1 -1
  350. package/dist/lib/esm/validation.mjs +1 -1
  351. package/dist/lib/esm/vault-transaction.mjs +1 -1
  352. package/dist/lib/esm/view-registrar.d.mts +1 -1
  353. package/dist/lib/esm/view-registrar.mjs +1 -1
  354. package/dist/styles.css +2 -2
  355. package/package.json +6 -3
@@ -31,7 +31,7 @@ export interface RenameDeleteHandlerSettings {
31
31
  /**
32
32
  * A behavior of the rename/delete handler when deleting empty folders.
33
33
  */
34
- emptyFolderBehavior: EmptyFolderBehavior;
34
+ readonly emptyFolderBehavior: EmptyFolderBehavior;
35
35
  /**
36
36
  * Where to move an attachment that a deletion would otherwise strand — one that survives because another
37
37
  * note still references it, but is left sitting in a folder whose owning note is gone.
@@ -40,39 +40,39 @@ export interface RenameDeleteHandlerSettings {
40
40
  * than guesses. Returning `null` — or not implementing this at all — keeps the attachment where it is,
41
41
  * which is the behavior every consumer had before this member existed.
42
42
  */
43
- getRescuePath?: (params: GetRescuePathParams) => Promise<null | string>;
43
+ readonly getRescuePath?: (params: GetRescuePathParams) => Promise<null | string>;
44
44
  /**
45
45
  * Whether the path is a note.
46
46
  */
47
- isNote: (path: string) => boolean;
47
+ readonly isNote: (path: string) => boolean;
48
48
  /**
49
49
  * Whether to ignore the path.
50
50
  */
51
- isPathIgnored: (path: string) => boolean;
51
+ readonly isPathIgnored: (path: string) => boolean;
52
52
  /**
53
53
  * Whether to delete conflicting attachments.
54
54
  */
55
- shouldDeleteConflictingAttachments: boolean;
55
+ readonly shouldDeleteConflictingAttachments: boolean;
56
56
  /**
57
57
  * Whether to handle deletions.
58
58
  */
59
- shouldHandleDeletions: boolean;
59
+ readonly shouldHandleDeletions: boolean;
60
60
  /**
61
61
  * Whether to handle renames.
62
62
  */
63
- shouldHandleRenames: boolean;
63
+ readonly shouldHandleRenames: boolean;
64
64
  /**
65
65
  * Whether to rename attachment files when a note is renamed.
66
66
  */
67
- shouldRenameAttachmentFiles: boolean;
67
+ readonly shouldRenameAttachmentFiles: boolean;
68
68
  /**
69
69
  * Whether to rename attachment folder when a note is renamed.
70
70
  */
71
- shouldRenameAttachmentFolder: boolean;
71
+ readonly shouldRenameAttachmentFolder: boolean;
72
72
  /**
73
73
  * Whether to update file name aliases when a note is renamed.
74
74
  */
75
- shouldUpdateFileNameAliases: boolean;
75
+ readonly shouldUpdateFileNameAliases: boolean;
76
76
  }
77
77
  interface RenameDeleteHandlerComponentConstructorParams {
78
78
  readonly abortSignalComponent: AbortSignalComponent;
@@ -14,8 +14,8 @@ if you want to view the source, please visit the github repository of this plugi
14
14
  __isPatched: true
15
15
  }
16
16
  );
17
- function extractDefault(module) {
18
- return module && module.__esModule && "default" in module ? module.default : module;
17
+ function extractDefault($module) {
18
+ return $module && $module.__esModule && "default" in $module ? $module.default : $module;
19
19
  }
20
20
  const OBSIDIAN_BUILT_IN_MODULE_NAMES = /* @__PURE__ */ new Set([
21
21
  "@codemirror/autocomplete",
@@ -57,9 +57,9 @@ if you want to view the source, please visit the github repository of this plugi
57
57
  return process;
58
58
  }
59
59
  } else {
60
- const module = originalRequire?.(id);
61
- if (module) {
62
- return extractDefault(module);
60
+ const $module = originalRequire?.(id);
61
+ if ($module) {
62
+ return extractDefault($module);
63
63
  }
64
64
  }
65
65
  console.debug(`The most likely you can safely ignore this error. Module not found: ${id}. Empty object is returned instead.`);
@@ -41,8 +41,8 @@ ensureBrowserProcess();
41
41
  __isPatched: true
42
42
  }
43
43
  );
44
- function extractDefault(module) {
45
- return module && module.__esModule && "default" in module ? module.default : module;
44
+ function extractDefault($module) {
45
+ return $module && $module.__esModule && "default" in $module ? $module.default : $module;
46
46
  }
47
47
  const OBSIDIAN_BUILT_IN_MODULE_NAMES = /* @__PURE__ */ new Set([
48
48
  "@codemirror/autocomplete",
@@ -84,9 +84,9 @@ ensureBrowserProcess();
84
84
  return process;
85
85
  }
86
86
  } else {
87
- const module = originalRequire?.(id);
88
- if (module) {
89
- return extractDefault(module);
87
+ const $module = originalRequire?.(id);
88
+ if ($module) {
89
+ return extractDefault($module);
90
90
  }
91
91
  }
92
92
  console.debug(`The most likely you can safely ignore this error. Module not found: ${id}. Empty object is returned instead.`);
@@ -41,8 +41,8 @@ ensureBrowserProcess();
41
41
  __isPatched: true
42
42
  }
43
43
  );
44
- function extractDefault(module) {
45
- return module && module.__esModule && "default" in module ? module.default : module;
44
+ function extractDefault($module) {
45
+ return $module && $module.__esModule && "default" in $module ? $module.default : $module;
46
46
  }
47
47
  const OBSIDIAN_BUILT_IN_MODULE_NAMES = /* @__PURE__ */ new Set([
48
48
  "@codemirror/autocomplete",
@@ -84,9 +84,9 @@ ensureBrowserProcess();
84
84
  return process;
85
85
  }
86
86
  } else {
87
- const module = originalRequire?.(id);
88
- if (module) {
89
- return extractDefault(module);
87
+ const $module = originalRequire?.(id);
88
+ if ($module) {
89
+ return extractDefault($module);
90
90
  }
91
91
  }
92
92
  console.debug(`The most likely you can safely ignore this error. Module not found: ${id}. Empty object is returned instead.`);
@@ -14,8 +14,8 @@ if you want to view the source, please visit the github repository of this plugi
14
14
  __isPatched: true
15
15
  }
16
16
  );
17
- function extractDefault(module) {
18
- return module && module.__esModule && "default" in module ? module.default : module;
17
+ function extractDefault($module) {
18
+ return $module && $module.__esModule && "default" in $module ? $module.default : $module;
19
19
  }
20
20
  const OBSIDIAN_BUILT_IN_MODULE_NAMES = /* @__PURE__ */ new Set([
21
21
  "@codemirror/autocomplete",
@@ -57,9 +57,9 @@ if you want to view the source, please visit the github repository of this plugi
57
57
  return process;
58
58
  }
59
59
  } else {
60
- const module = originalRequire?.(id);
61
- if (module) {
62
- return extractDefault(module);
60
+ const $module = originalRequire?.(id);
61
+ if ($module) {
62
+ return extractDefault($module);
63
63
  }
64
64
  }
65
65
  console.debug(`The most likely you can safely ignore this error. Module not found: ${id}. Empty object is returned instead.`);
@@ -47,8 +47,8 @@ ensureBrowserProcess();
47
47
  __isPatched: true
48
48
  }
49
49
  );
50
- function extractDefault(module) {
51
- return module && module.__esModule && "default" in module ? module.default : module;
50
+ function extractDefault($module) {
51
+ return $module && $module.__esModule && "default" in $module ? $module.default : $module;
52
52
  }
53
53
  const OBSIDIAN_BUILT_IN_MODULE_NAMES = /* @__PURE__ */ new Set([
54
54
  "@codemirror/autocomplete",
@@ -90,9 +90,9 @@ ensureBrowserProcess();
90
90
  return process;
91
91
  }
92
92
  } else {
93
- const module = originalRequire?.(id);
94
- if (module) {
95
- return extractDefault(module);
93
+ const $module = originalRequire?.(id);
94
+ if ($module) {
95
+ return extractDefault($module);
96
96
  }
97
97
  }
98
98
  console.debug(`The most likely you can safely ignore this error. Module not found: ${id}. Empty object is returned instead.`);
@@ -14,8 +14,8 @@ if you want to view the source, please visit the github repository of this plugi
14
14
  __isPatched: true
15
15
  }
16
16
  );
17
- function extractDefault(module) {
18
- return module && module.__esModule && "default" in module ? module.default : module;
17
+ function extractDefault($module) {
18
+ return $module && $module.__esModule && "default" in $module ? $module.default : $module;
19
19
  }
20
20
  const OBSIDIAN_BUILT_IN_MODULE_NAMES = /* @__PURE__ */ new Set([
21
21
  "@codemirror/autocomplete",
@@ -57,9 +57,9 @@ if you want to view the source, please visit the github repository of this plugi
57
57
  return process;
58
58
  }
59
59
  } else {
60
- const module = originalRequire?.(id);
61
- if (module) {
62
- return extractDefault(module);
60
+ const $module = originalRequire?.(id);
61
+ if ($module) {
62
+ return extractDefault($module);
63
63
  }
64
64
  }
65
65
  console.debug(`The most likely you can safely ignore this error. Module not found: ${id}. Empty object is returned instead.`);
@@ -14,8 +14,8 @@ if you want to view the source, please visit the github repository of this plugi
14
14
  __isPatched: true
15
15
  }
16
16
  );
17
- function extractDefault(module) {
18
- return module && module.__esModule && "default" in module ? module.default : module;
17
+ function extractDefault($module) {
18
+ return $module && $module.__esModule && "default" in $module ? $module.default : $module;
19
19
  }
20
20
  const OBSIDIAN_BUILT_IN_MODULE_NAMES = /* @__PURE__ */ new Set([
21
21
  "@codemirror/autocomplete",
@@ -57,9 +57,9 @@ if you want to view the source, please visit the github repository of this plugi
57
57
  return process;
58
58
  }
59
59
  } else {
60
- const module = originalRequire?.(id);
61
- if (module) {
62
- return extractDefault(module);
60
+ const $module = originalRequire?.(id);
61
+ if ($module) {
62
+ return extractDefault($module);
63
63
  }
64
64
  }
65
65
  console.debug(`The most likely you can safely ignore this error. Module not found: ${id}. Empty object is returned instead.`);
@@ -14,8 +14,8 @@ if you want to view the source, please visit the github repository of this plugi
14
14
  __isPatched: true
15
15
  }
16
16
  );
17
- function extractDefault(module) {
18
- return module && module.__esModule && "default" in module ? module.default : module;
17
+ function extractDefault($module) {
18
+ return $module && $module.__esModule && "default" in $module ? $module.default : $module;
19
19
  }
20
20
  const OBSIDIAN_BUILT_IN_MODULE_NAMES = /* @__PURE__ */ new Set([
21
21
  "@codemirror/autocomplete",
@@ -57,9 +57,9 @@ if you want to view the source, please visit the github repository of this plugi
57
57
  return process;
58
58
  }
59
59
  } else {
60
- const module = originalRequire?.(id);
61
- if (module) {
62
- return extractDefault(module);
60
+ const $module = originalRequire?.(id);
61
+ if ($module) {
62
+ return extractDefault($module);
63
63
  }
64
64
  }
65
65
  console.debug(`The most likely you can safely ignore this error. Module not found: ${id}. Empty object is returned instead.`);
@@ -122,4 +122,4 @@ class PluginDataHandler {
122
122
  0 && (module.exports = {
123
123
  PluginDataHandler
124
124
  });
125
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9kYXRhLWhhbmRsZXIudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAZmlsZVxuICpcbiAqIEEgbW9kdWxlIGZvciBoYW5kbGluZyBkYXRhIGxvYWRpbmcgYW5kIHNhdmluZyB0byB0aGUgcGx1Z2luJ3MgZGF0YSBmaWxlLlxuICovXG5cbmltcG9ydCB0eXBlIHsgUGx1Z2luIH0gZnJvbSAnb2JzaWRpYW4nO1xuXG4vKipcbiAqIEEgaGFuZGxlciBmb3IgbG9hZGluZyBhbmQgc2F2aW5nIGRhdGEgdG8gdGhlIHBsdWdpbidzIGRhdGEgZmlsZS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBEYXRhSGFuZGxlciB7XG4gIC8qKlxuICAgKiBBIGZ1bmN0aW9uIHRvIGxvYWQgZGF0YSBmcm9tIHRoZSBwbHVnaW4ncyBkYXRhIGZpbGUuXG4gICAqXG4gICAqIEByZXR1cm5zIFRoZSBsb2FkZWQgZGF0YS5cbiAgICovXG4gIGxvYWREYXRhOiAoKSA9PiBQcm9taXNlPHVua25vd24+O1xuXG4gIC8qKlxuICAgKiBBIGZ1bmN0aW9uIHRvIHNhdmUgZGF0YSB0byB0aGUgcGx1Z2luJ3MgZGF0YSBmaWxlLlxuICAgKlxuICAgKiBAcGFyYW0gZGF0YSAtIFRoZSBkYXRhIHRvIHNhdmUuXG4gICAqL1xuICBzYXZlRGF0YTogKGRhdGE6IHVua25vd24pID0+IFByb21pc2U8dm9pZD47XG59XG5cbi8qKlxuICogQSBoYW5kbGVyIGZvciBsb2FkaW5nIGFuZCBzYXZpbmcgZGF0YSB0byB0aGUgcGx1Z2luJ3MgZGF0YSBmaWxlLlxuICovXG5leHBvcnQgY2xhc3MgUGx1Z2luRGF0YUhhbmRsZXIgaW1wbGVtZW50cyBEYXRhSGFuZGxlciB7XG4gIC8qKlxuICAgKiBDcmVhdGVzIGEgbmV3IHBsdWdpbiBkYXRhIGhhbmRsZXIuXG4gICAqXG4gICAqIEBwYXJhbSBwbHVnaW4gLSBUaGUgcGx1Z2luIGluc3RhbmNlLlxuICAgKi9cbiAgcHVibGljIGNvbnN0cnVjdG9yKHByb3RlY3RlZCByZWFkb25seSBwbHVnaW46IFBsdWdpbikge31cblxuICAvKipcbiAgICogTG9hZHMgZGF0YSBmcm9tIHRoZSBwbHVnaW4ncyBkYXRhIGZpbGUuXG4gICAqXG4gICAqIEByZXR1cm5zIFRoZSBsb2FkZWQgZGF0YS5cbiAgICovXG4gIHB1YmxpYyBhc3luYyBsb2FkRGF0YSgpOiBQcm9taXNlPHVua25vd24+IHtcbiAgICByZXR1cm4gdGhpcy5wbHVnaW4ubG9hZERhdGEoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTYXZlcyBkYXRhIHRvIHRoZSBwbHVnaW4ncyBkYXRhIGZpbGUuXG4gICAqXG4gICAqIEBwYXJhbSBkYXRhIC0gVGhlIGRhdGEgdG8gc2F2ZS5cbiAgICogQHJldHVybnMgQSBwcm9taXNlIHRoYXQgcmVzb2x2ZXMgd2hlbiB0aGUgZGF0YSBpcyBzYXZlZC5cbiAgICovXG4gIHB1YmxpYyBhc3luYyBzYXZlRGF0YShkYXRhOiB1bmtub3duKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgcmV0dXJuIHRoaXMucGx1Z2luLnNhdmVEYXRhKGRhdGEpO1xuICB9XG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUE4Qk8sTUFBTSxrQkFBeUM7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFNN0MsWUFBK0IsUUFBZ0I7QUFBaEI7QUFBQSxFQUFpQjtBQUFBLEVBQWpCO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBT3RDLE1BQWEsV0FBNkI7QUFDeEMsV0FBTyxLQUFLLE9BQU8sU0FBUztBQUFBLEVBQzlCO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFRQSxNQUFhLFNBQVMsTUFBOEI7QUFDbEQsV0FBTyxLQUFLLE9BQU8sU0FBUyxJQUFJO0FBQUEsRUFDbEM7QUFDRjsiLCJuYW1lcyI6W119
125
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9kYXRhLWhhbmRsZXIudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAZmlsZVxuICpcbiAqIEEgbW9kdWxlIGZvciBoYW5kbGluZyBkYXRhIGxvYWRpbmcgYW5kIHNhdmluZyB0byB0aGUgcGx1Z2luJ3MgZGF0YSBmaWxlLlxuICovXG5cbmltcG9ydCB0eXBlIHsgUGx1Z2luIH0gZnJvbSAnb2JzaWRpYW4nO1xuXG4vKipcbiAqIEEgaGFuZGxlciBmb3IgbG9hZGluZyBhbmQgc2F2aW5nIGRhdGEgdG8gdGhlIHBsdWdpbidzIGRhdGEgZmlsZS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBEYXRhSGFuZGxlciB7XG4gIC8qKlxuICAgKiBBIGZ1bmN0aW9uIHRvIGxvYWQgZGF0YSBmcm9tIHRoZSBwbHVnaW4ncyBkYXRhIGZpbGUuXG4gICAqXG4gICAqIEByZXR1cm5zIFRoZSBsb2FkZWQgZGF0YS5cbiAgICovXG4gIHJlYWRvbmx5IGxvYWREYXRhOiAoKSA9PiBQcm9taXNlPHVua25vd24+O1xuXG4gIC8qKlxuICAgKiBBIGZ1bmN0aW9uIHRvIHNhdmUgZGF0YSB0byB0aGUgcGx1Z2luJ3MgZGF0YSBmaWxlLlxuICAgKlxuICAgKiBAcGFyYW0gZGF0YSAtIFRoZSBkYXRhIHRvIHNhdmUuXG4gICAqL1xuICByZWFkb25seSBzYXZlRGF0YTogKGRhdGE6IHVua25vd24pID0+IFByb21pc2U8dm9pZD47XG59XG5cbi8qKlxuICogQSBoYW5kbGVyIGZvciBsb2FkaW5nIGFuZCBzYXZpbmcgZGF0YSB0byB0aGUgcGx1Z2luJ3MgZGF0YSBmaWxlLlxuICovXG5leHBvcnQgY2xhc3MgUGx1Z2luRGF0YUhhbmRsZXIgaW1wbGVtZW50cyBEYXRhSGFuZGxlciB7XG4gIC8qKlxuICAgKiBDcmVhdGVzIGEgbmV3IHBsdWdpbiBkYXRhIGhhbmRsZXIuXG4gICAqXG4gICAqIEBwYXJhbSBwbHVnaW4gLSBUaGUgcGx1Z2luIGluc3RhbmNlLlxuICAgKi9cbiAgcHVibGljIGNvbnN0cnVjdG9yKHByb3RlY3RlZCByZWFkb25seSBwbHVnaW46IFBsdWdpbikge31cblxuICAvKipcbiAgICogTG9hZHMgZGF0YSBmcm9tIHRoZSBwbHVnaW4ncyBkYXRhIGZpbGUuXG4gICAqXG4gICAqIEByZXR1cm5zIFRoZSBsb2FkZWQgZGF0YS5cbiAgICovXG4gIHB1YmxpYyBhc3luYyBsb2FkRGF0YSgpOiBQcm9taXNlPHVua25vd24+IHtcbiAgICByZXR1cm4gdGhpcy5wbHVnaW4ubG9hZERhdGEoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTYXZlcyBkYXRhIHRvIHRoZSBwbHVnaW4ncyBkYXRhIGZpbGUuXG4gICAqXG4gICAqIEBwYXJhbSBkYXRhIC0gVGhlIGRhdGEgdG8gc2F2ZS5cbiAgICogQHJldHVybnMgQSBwcm9taXNlIHRoYXQgcmVzb2x2ZXMgd2hlbiB0aGUgZGF0YSBpcyBzYXZlZC5cbiAgICovXG4gIHB1YmxpYyBhc3luYyBzYXZlRGF0YShkYXRhOiB1bmtub3duKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgcmV0dXJuIHRoaXMucGx1Z2luLnNhdmVEYXRhKGRhdGEpO1xuICB9XG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUE4Qk8sTUFBTSxrQkFBeUM7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFNN0MsWUFBK0IsUUFBZ0I7QUFBaEI7QUFBQSxFQUFpQjtBQUFBLEVBQWpCO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBT3RDLE1BQWEsV0FBNkI7QUFDeEMsV0FBTyxLQUFLLE9BQU8sU0FBUztBQUFBLEVBQzlCO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFRQSxNQUFhLFNBQVMsTUFBOEI7QUFDbEQsV0FBTyxLQUFLLE9BQU8sU0FBUyxJQUFJO0FBQUEsRUFDbEM7QUFDRjsiLCJuYW1lcyI6W119
@@ -14,13 +14,13 @@ export interface DataHandler {
14
14
  *
15
15
  * @returns The loaded data.
16
16
  */
17
- loadData: () => Promise<unknown>;
17
+ readonly loadData: () => Promise<unknown>;
18
18
  /**
19
19
  * A function to save data to the plugin's data file.
20
20
  *
21
21
  * @param data - The data to save.
22
22
  */
23
- saveData: (data: unknown) => Promise<void>;
23
+ readonly saveData: (data: unknown) => Promise<void>;
24
24
  }
25
25
  /**
26
26
  * A handler for loading and saving data to the plugin's data file.
@@ -14,8 +14,8 @@ if you want to view the source, please visit the github repository of this plugi
14
14
  __isPatched: true
15
15
  }
16
16
  );
17
- function extractDefault(module) {
18
- return module && module.__esModule && "default" in module ? module.default : module;
17
+ function extractDefault($module) {
18
+ return $module && $module.__esModule && "default" in $module ? $module.default : $module;
19
19
  }
20
20
  const OBSIDIAN_BUILT_IN_MODULE_NAMES = /* @__PURE__ */ new Set([
21
21
  "@codemirror/autocomplete",
@@ -57,9 +57,9 @@ if you want to view the source, please visit the github repository of this plugi
57
57
  return process;
58
58
  }
59
59
  } else {
60
- const module = originalRequire?.(id);
61
- if (module) {
62
- return extractDefault(module);
60
+ const $module = originalRequire?.(id);
61
+ if ($module) {
62
+ return extractDefault($module);
63
63
  }
64
64
  }
65
65
  console.debug(`The most likely you can safely ignore this error. Module not found: ${id}. Empty object is returned instead.`);
@@ -14,8 +14,8 @@ if you want to view the source, please visit the github repository of this plugi
14
14
  __isPatched: true
15
15
  }
16
16
  );
17
- function extractDefault(module) {
18
- return module && module.__esModule && "default" in module ? module.default : module;
17
+ function extractDefault($module) {
18
+ return $module && $module.__esModule && "default" in $module ? $module.default : $module;
19
19
  }
20
20
  const OBSIDIAN_BUILT_IN_MODULE_NAMES = /* @__PURE__ */ new Set([
21
21
  "@codemirror/autocomplete",
@@ -57,9 +57,9 @@ if you want to view the source, please visit the github repository of this plugi
57
57
  return process;
58
58
  }
59
59
  } else {
60
- const module = originalRequire?.(id);
61
- if (module) {
62
- return extractDefault(module);
60
+ const $module = originalRequire?.(id);
61
+ if ($module) {
62
+ return extractDefault($module);
63
63
  }
64
64
  }
65
65
  console.debug(`The most likely you can safely ignore this error. Module not found: ${id}. Empty object is returned instead.`);
@@ -201,4 +201,4 @@ function isSeed(value) {
201
201
  DataStoreSeeds,
202
202
  validateDataStoreSeed
203
203
  });
204
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9kYXRhLXN0b3Jlcy9kYXRhLXN0b3JlLXNlZWRzLnRzIl0sInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIG4vbm8tdW5zdXBwb3J0ZWQtZmVhdHVyZXMvbm9kZS1idWlsdGlucyAtLSBUaGVzZSBhcmUgT2JzaWRpYW4gcmVuZGVyZXIgV2ViIEFQSXMsIG5vdCBOb2RlIGJ1aWx0aW5zLiAqL1xuLyoqXG4gKiBAZmlsZVxuICpcbiAqIE9wdGlvbmFsIGNodW5rZWQgc2VlZHMgZm9yIGV4cGVuc2l2ZSBkZXJpdmVkIGNhY2hlcywgd2l0aCBwZXItZmlsZSB2YWxpZGF0aW9uIGJlZm9yZSByZXVzZS5cbiAqL1xuXG5pbXBvcnQgdHlwZSB7IEpzb25WYWx1ZSB9IGZyb20gJ3R5cGUtZmVzdCc7XG5cbmltcG9ydCB0eXBlIHsgTG9jYWxEYXRhU3RvcmUgfSBmcm9tICcuL2xvY2FsLWRhdGEtc3RvcmUudHMnO1xuXG5pbXBvcnQgeyBpc0RhdGFTdG9yZUpzb25WYWx1ZSB9IGZyb20gJy4vZGF0YS1zdG9yZS1yZXBsaWNhLnRzJztcbmltcG9ydCB7IERhdGFTdG9yZVRyYW5zcG9ydCB9IGZyb20gJy4vZGF0YS1zdG9yZS10cmFuc3BvcnQudHMnO1xuXG4vKipcbiAqIEEgZGVyaXZlZCByZWNvcmQgdGFnZ2VkIHdpdGggYm90aCBjaGVhcCBzdGF0aXN0aWNzIGFuZCBhIGNvbnRlbnQgaGFzaC5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBEYXRhU3RvcmVTZWVkRW50cnkgZXh0ZW5kcyBEYXRhU3RvcmVTZWVkRmlsZSB7XG4gIC8qKlxuICAgKiBDb250ZW50IGhhc2gsIHVzaW5nIHRoZSBzYW1lIGFsZ29yaXRobSBvbiBldmVyeSBkZXZpY2UuXG4gICAqL1xuICByZWFkb25seSBoYXNoOiBzdHJpbmc7XG4gIC8qKlxuICAgKiBDb25zdW1lci1kZWZpbmVkIEpTT04gY2FjaGUgcmVjb3JkLlxuICAgKi9cbiAgcmVhZG9ubHkgdmFsdWU6IEpzb25WYWx1ZTtcbn1cblxuLyoqXG4gKiBDaGVhcCBmaWxlIGlkZW50aXR5IGFscmVhZHkgYXZhaWxhYmxlIGZyb20gdGhlIHZhdWx0J3MgZmlsZSB0cmVlLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIERhdGFTdG9yZVNlZWRGaWxlIHtcbiAgLyoqXG4gICAqIExhc3QgbW9kaWZpY2F0aW9uIHRpbWUuXG4gICAqL1xuICByZWFkb25seSBtdGltZTogbnVtYmVyO1xuICAvKipcbiAgICogVmF1bHQtcmVsYXRpdmUgcGF0aC5cbiAgICovXG4gIHJlYWRvbmx5IHBhdGg6IHN0cmluZztcbiAgLyoqXG4gICAqIEZpbGUgc2l6ZSBpbiBieXRlcy5cbiAgICovXG4gIHJlYWRvbmx5IHNpemU6IG51bWJlcjtcbn1cblxuLyoqXG4gKiBQYXJhbWV0ZXJzIGZvciBvcHRpb25hbCBjYWNoZS1zZWVkIHNoYXJpbmcuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGF0YVN0b3JlU2VlZHNDb25zdHJ1Y3RvclBhcmFtcyB7XG4gIC8qKlxuICAgKiBEZWRpY2F0ZWQgZGV2aWNlLWxvY2FsIHN0b3JlIHRoYXQgb3ducyB0aGUgc2VlZCBwdWJsaXNoZXIgaWRlbnRpdHkuXG4gICAqL1xuICByZWFkb25seSBsb2NhbDogTG9jYWxEYXRhU3RvcmU7XG4gIC8qKlxuICAgKiBQZXItc3RvcmUgdXNlciBzZXR0aW5nLiBEaXNhYmxlZCBtZWFucyBuZWl0aGVyIHB1Ymxpc2hpbmcgbm9yIGFkb3B0aW5nIHNlZWRzLlxuICAgKi9cbiAgcmVhZG9ubHkgc2hhcmU6IGJvb2xlYW47XG4gIC8qKlxuICAgKiBTdG9yZS1zY29wZWQsIGJvdW5kZWQgTWFya2Rvd24gdHJhbnNwb3J0LiBJbmNsdWRlIHRoZSBjb25zdW1lciBzY2hlbWEgdmVyc2lvbiBpbiBpdHMgc3RvcmUgaWQuXG4gICAqL1xuICByZWFkb25seSB0cmFuc3BvcnQ6IERhdGFTdG9yZVRyYW5zcG9ydDtcbn1cblxuLyoqXG4gKiBSZXN1bHRzIG9mIHZhbGlkYXRpbmcgYSBzaGFyZWQgY2FjaGUgc2VlZCBhZ2FpbnN0IHRoZSBsb2NhbCB2YXVsdC5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBEYXRhU3RvcmVTZWVkVmFsaWRhdGlvbiB7XG4gIC8qKlxuICAgKiBGaWxlcyBhYnNlbnQgZnJvbSB0aGUgc2VlZCwgb3Igd2l0aCBkaWZmZXJlbnQgY29udGVudC5cbiAgICovXG4gIHJlYWRvbmx5IHJlYnVpbGQ6IHN0cmluZ1tdO1xuICAvKipcbiAgICogVmFsaWRhdGVkIHNlZWQgcmVjb3Jkcywgd2l0aCBsb2NhbCBmaWxlIHN0YXRpc3RpY3MuXG4gICAqL1xuICByZWFkb25seSByZXVzYWJsZTogRGF0YVN0b3JlU2VlZEVudHJ5W107XG59XG5cbi8qKlxuICogUGFyYW1ldGVycyBmb3IgcGVyLWZpbGUgc2VlZCB2YWxpZGF0aW9uLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFZhbGlkYXRlRGF0YVN0b3JlU2VlZFBhcmFtcyB7XG4gIC8qKlxuICAgKiBTZWVkIGVudHJpZXMgZnJvbSBhIHJlY29nbml6ZWQgY29uc3VtZXIgc2NoZW1hLlxuICAgKi9cbiAgcmVhZG9ubHkgZW50cmllczogcmVhZG9ubHkgRGF0YVN0b3JlU2VlZEVudHJ5W107XG4gIC8qKlxuICAgKiBDdXJyZW50IGZpbGUgdHJlZSwgYXZhaWxhYmxlIHdpdGhvdXQgcmVhZGluZyBub3RlIHRleHQuXG4gICAqL1xuICByZWFkb25seSBmaWxlczogcmVhZG9ubHkgRGF0YVN0b3JlU2VlZEZpbGVbXTtcbiAgLyoqXG4gICAqIEhhc2hlcyB0ZXh0IG9ubHkgd2hlbiBzaXplIG1hdGNoZXMgYnV0IG10aW1lIGRpZmZlcnMuXG4gICAqXG4gICAqIEBwYXJhbSBwYXRoIC0gRmlsZSByZXF1aXJpbmcgdmFsaWRhdGlvbi5cbiAgICogQHJldHVybnMgSXRzIGNvbnRlbnQgaGFzaC5cbiAgICovXG4gIHJlYWRvbmx5IGhhc2hGaWxlOiAocGF0aDogc3RyaW5nKSA9PiBQcm9taXNlPHN0cmluZz47XG59XG5cbmludGVyZmFjZSBTZWVkIHtcbiAgZW50cmllczogRGF0YVN0b3JlU2VlZEVudHJ5W107XG4gIGZvcm1hdDogMTtcbiAgdGltZTogbnVtYmVyO1xufVxuXG4vKipcbiAqIE9wdGlvbmFsIHBlcmZvcm1hbmNlIGhpbnRzLiBTZWVkcyBhcmUgbmV2ZXIgYXV0aG9yaXRhdGl2ZSBzdGF0ZSBhbmQgbXVzdCBiZSB2YWxpZGF0ZWQgYmVmb3JlIHJldXNlLlxuICovXG5leHBvcnQgY2xhc3MgRGF0YVN0b3JlU2VlZHMge1xuICAvKipcbiAgICogRGV2aWNlLWxvY2FsIGlkZW50aXR5IGFuZCBzZXJpYWxpemF0aW9uIGJvdW5kYXJ5LlxuICAgKi9cbiAgcHJvdGVjdGVkIHJlYWRvbmx5IGxvY2FsOiBMb2NhbERhdGFTdG9yZTtcbiAgLyoqXG4gICAqIFdoZXRoZXIgdGhpcyBzdG9yZSBzaGFyZXMgY2FjaGUgc2VlZHMuXG4gICAqL1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgc2hhcmU6IGJvb2xlYW47XG4gIC8qKlxuICAgKiBTdG9yZS1zY29wZWQgc25hcHNob3QgdHJhbnNwb3J0LlxuICAgKi9cbiAgcHJvdGVjdGVkIHJlYWRvbmx5IHRyYW5zcG9ydDogRGF0YVN0b3JlVHJhbnNwb3J0O1xuICAvKipcbiAgICogQ3JlYXRlcyBhIGNhY2hlLXNlZWQgcHVibGlzaGVyIGFuZCByZWFkZXIuXG4gICAqXG4gICAqIEBwYXJhbSBwYXJhbXMgLSBMb2NhbCBpZGVudGl0eSwgdHJhbnNwb3J0IGFuZCB0aGUgcGVyLXN0b3JlIHNoYXJpbmcgc2V0dGluZy5cbiAgICovXG4gIHB1YmxpYyBjb25zdHJ1Y3RvcihwYXJhbXM6IERhdGFTdG9yZVNlZWRzQ29uc3RydWN0b3JQYXJhbXMpIHtcbiAgICB0aGlzLmxvY2FsID0gcGFyYW1zLmxvY2FsO1xuICAgIHRoaXMuc2hhcmUgPSBwYXJhbXMuc2hhcmU7XG4gICAgdGhpcy50cmFuc3BvcnQgPSBwYXJhbXMudHJhbnNwb3J0O1xuICB9XG5cbiAgLyoqXG4gICAqIFB1Ymxpc2hlcyBhIGJvdW5kZWQgc2VlZCwgcmVwbGFjaW5nIG9ubHkgdGhpcyBkZXZpY2UncyBlYXJsaWVyIHB1YmxpY2F0aW9ucy5cbiAgICpcbiAgICogQHBhcmFtIGVudHJpZXMgLSBEZXJpdmVkIHJlY29yZHMgd2l0aCBmaWxlIHN0YXRpc3RpY3MgYW5kIGhhc2hlcy5cbiAgICogQHJldHVybnMgV2hldGhlciBzaGFyaW5nIHdhcyBlbmFibGVkIGFuZCB0aGUgc2VlZCB3YXMgcHVibGlzaGVkLlxuICAgKi9cbiAgcHVibGljIGFzeW5jIHB1Ymxpc2goZW50cmllczogcmVhZG9ubHkgRGF0YVN0b3JlU2VlZEVudHJ5W10pOiBQcm9taXNlPGJvb2xlYW4+IHtcbiAgICBpZiAoIXRoaXMuc2hhcmUpIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gICAgcmV0dXJuIGF3YWl0IHRoaXMubG9jYWwuZXhjbHVzaXZlKGFzeW5jICgpID0+IHtcbiAgICAgIGNvbnN0IGRldmljZSA9IGF3YWl0IHRoaXMubG9jYWwuZ2V0T3JDcmVhdGUoJ3NlZWQtZGV2aWNlLXYxJywgd2luZG93LmNyeXB0by5yYW5kb21VVUlEKCkpO1xuICAgICAgaWYgKHR5cGVvZiBkZXZpY2UgIT09ICdzdHJpbmcnIHx8ICEvXltcXHctXSskLy50ZXN0KGRldmljZSkpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdJbnZhbGlkIGxvY2FsIHNlZWQgaWRlbnRpdHknKTtcbiAgICAgIH1cbiAgICAgIGNvbnN0IHJvb3QgPSBgJHt0aGlzLnRyYW5zcG9ydC5yb290fS9zZWVkcy8ke2RldmljZX1gO1xuICAgICAgY29uc3QgZmlsZXMgPSBhd2FpdCB0aGlzLnRyYW5zcG9ydC5saXN0KCk7XG4gICAgICBjb25zdCBiYXNlID0gYCR7cm9vdH0vc2VlZC0ke3dpbmRvdy5jcnlwdG8ucmFuZG9tVVVJRCgpfS1tYW5pZmVzdGA7XG4gICAgICBhd2FpdCB0aGlzLnRyYW5zcG9ydC53cml0ZVNuYXBzaG90KHsgYmFzZSwgcGF5bG9hZDogeyBlbnRyaWVzLCBmb3JtYXQ6IDEsIHRpbWU6IERhdGUubm93KCkgfSB9KTtcbiAgICAgIGZvciAoY29uc3QgcGF0aCBvZiBmaWxlcykge1xuICAgICAgICBpZiAocGF0aC5zdGFydHNXaXRoKGAke3Jvb3R9L3NlZWQtYCkpIHtcbiAgICAgICAgICBhd2FpdCB0aGlzLnRyYW5zcG9ydC5yZW1vdmUocGF0aCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIFJlYWRzIHRoZSBuZXdlc3QgY29tcGxldGUgc2VlZCBmb3IgdGhpcyB0cmFuc3BvcnQncyBzY2hlbWEuXG4gICAqXG4gICAqIEByZXR1cm5zIFNlZWQgcmVjb3Jkcywgb3IgYHVuZGVmaW5lZGAgaWYgc2hhcmluZyBpcyBkaXNhYmxlZCBvciBubyBjb21wbGV0ZSBzZWVkIGlzIGF2YWlsYWJsZSB5ZXQuXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgcmVhZExhdGVzdCgpOiBQcm9taXNlPERhdGFTdG9yZVNlZWRFbnRyeVtdIHwgdW5kZWZpbmVkPiB7XG4gICAgaWYgKCF0aGlzLnNoYXJlKSB7XG4gICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgIH1cbiAgICBjb25zdCBmaWxlcyA9IGF3YWl0IHRoaXMudHJhbnNwb3J0Lmxpc3QoKTtcbiAgICBsZXQgbmV3ZXN0ID0gLUluZmluaXR5O1xuICAgIGxldCBlbnRyaWVzOiBEYXRhU3RvcmVTZWVkRW50cnlbXSB8IHVuZGVmaW5lZDtcbiAgICBmb3IgKGNvbnN0IHBhdGggb2YgZmlsZXMpIHtcbiAgICAgIGlmICghL1xcL3NlZWQtW1xcdy1dKy1tYW5pZmVzdFxcLm1kJC8udGVzdChwYXRoKSkge1xuICAgICAgICBjb250aW51ZTtcbiAgICAgIH1cbiAgICAgIGxldCBzZWVkOiB1bmtub3duO1xuICAgICAgdHJ5IHtcbiAgICAgICAgc2VlZCA9IGF3YWl0IHRoaXMudHJhbnNwb3J0LnJlYWRTbmFwc2hvdChwYXRoKTtcbiAgICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgIGlmIChlcnJvciBpbnN0YW5jZW9mIFN5bnRheEVycm9yKSB7XG4gICAgICAgICAgY29udGludWU7XG4gICAgICAgIH1cbiAgICAgICAgdGhyb3cgZXJyb3I7XG4gICAgICB9XG4gICAgICBpZiAoIShpc1NlZWQoc2VlZCkgJiYgc2VlZC50aW1lID4gbmV3ZXN0KSkge1xuICAgICAgICBjb250aW51ZTtcbiAgICAgIH1cblxuICAgICAgbmV3ZXN0ID0gc2VlZC50aW1lO1xuICAgICAgZW50cmllcyA9IHNlZWQuZW50cmllcztcbiAgICB9XG4gICAgcmV0dXJuIGVudHJpZXM7XG4gIH1cbn1cblxuLyoqXG4gKiBWYWxpZGF0ZXMgYSBzZWVkIHVzaW5nIGZyZWUgZmlsZSBzdGF0aXN0aWNzIGZpcnN0LCBoYXNoaW5nIG9ubHkgc2l6ZS1lcXVhbCBtdGltZSBtaXNtYXRjaGVzLlxuICogRmlsZXMgYWJzZW50IGxvY2FsbHkgYXJlIGRpc2NhcmRlZC4gQ29uc3VtZXJzIGluZGV4IG9ubHkgdGhlIHJldHVybmVkIHJlYnVpbGQgcGF0aHMuXG4gKlxuICogQHBhcmFtIHBhcmFtcyAtIFNlZWQsIGN1cnJlbnQgZmlsZSB0cmVlIGFuZCBjb250ZW50LWhhc2ggcmVhZGVyLlxuICogQHJldHVybnMgUmV1c2FibGUgcmVjb3JkcyBhbmQgdGhlIHBhdGhzIHRoYXQgc3RpbGwgbmVlZCBpbmRleGluZy5cbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIHZhbGlkYXRlRGF0YVN0b3JlU2VlZChwYXJhbXM6IFZhbGlkYXRlRGF0YVN0b3JlU2VlZFBhcmFtcyk6IFByb21pc2U8RGF0YVN0b3JlU2VlZFZhbGlkYXRpb24+IHtcbiAgY29uc3Qgc2VlZCA9IG5ldyBNYXAocGFyYW1zLmVudHJpZXMubWFwKChlbnRyeSkgPT4gW2VudHJ5LnBhdGgsIGVudHJ5XSkpO1xuICBjb25zdCByZXVzYWJsZTogRGF0YVN0b3JlU2VlZEVudHJ5W10gPSBbXTtcbiAgY29uc3QgcmVidWlsZDogc3RyaW5nW10gPSBbXTtcbiAgZm9yIChjb25zdCBmaWxlIG9mIHBhcmFtcy5maWxlcykge1xuICAgIGNvbnN0IGVudHJ5ID0gc2VlZC5nZXQoZmlsZS5wYXRoKTtcbiAgICBpZiAoZW50cnk/LnNpemUgPT09IGZpbGUuc2l6ZSAmJiAoZW50cnkubXRpbWUgPT09IGZpbGUubXRpbWUgfHwgZW50cnkuaGFzaCA9PT0gYXdhaXQgcGFyYW1zLmhhc2hGaWxlKGZpbGUucGF0aCkpKSB7XG4gICAgICByZXVzYWJsZS5wdXNoKHsgLi4uZW50cnksIC4uLmZpbGUgfSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJlYnVpbGQucHVzaChmaWxlLnBhdGgpO1xuICAgIH1cbiAgfVxuICByZXR1cm4geyByZWJ1aWxkLCByZXVzYWJsZSB9O1xufVxuXG5mdW5jdGlvbiBpc1NlZWQodmFsdWU6IHVua25vd24pOiB2YWx1ZSBpcyBTZWVkIHtcbiAgcmV0dXJuIHR5cGVvZiB2YWx1ZSA9PT0gJ29iamVjdCcgJiYgdmFsdWUgIT09IG51bGwgJiYgJ2Zvcm1hdCcgaW4gdmFsdWUgJiYgdmFsdWUuZm9ybWF0ID09PSAxXG4gICAgJiYgJ3RpbWUnIGluIHZhbHVlICYmIHR5cGVvZiB2YWx1ZS50aW1lID09PSAnbnVtYmVyJyAmJiBOdW1iZXIuaXNGaW5pdGUodmFsdWUudGltZSlcbiAgICAmJiAnZW50cmllcycgaW4gdmFsdWUgJiYgQXJyYXkuaXNBcnJheSh2YWx1ZS5lbnRyaWVzKSAmJiB2YWx1ZS5lbnRyaWVzLmV2ZXJ5KChlbnRyeTogdW5rbm93bikgPT5cbiAgICAgIHR5cGVvZiBlbnRyeSA9PT0gJ29iamVjdCcgJiYgZW50cnkgIT09IG51bGwgJiYgJ3BhdGgnIGluIGVudHJ5ICYmIHR5cGVvZiBlbnRyeS5wYXRoID09PSAnc3RyaW5nJ1xuICAgICAgJiYgJ210aW1lJyBpbiBlbnRyeSAmJiB0eXBlb2YgZW50cnkubXRpbWUgPT09ICdudW1iZXInICYmIE51bWJlci5pc0Zpbml0ZShlbnRyeS5tdGltZSlcbiAgICAgICYmICdzaXplJyBpbiBlbnRyeSAmJiB0eXBlb2YgZW50cnkuc2l6ZSA9PT0gJ251bWJlcicgJiYgTnVtYmVyLmlzRmluaXRlKGVudHJ5LnNpemUpXG4gICAgICAmJiAnaGFzaCcgaW4gZW50cnkgJiYgdHlwZW9mIGVudHJ5Lmhhc2ggPT09ICdzdHJpbmcnICYmICd2YWx1ZScgaW4gZW50cnkgJiYgaXNEYXRhU3RvcmVKc29uVmFsdWUoZW50cnkudmFsdWUpXG4gICAgKTtcbn1cblxuLyogZXNsaW50LWVuYWJsZSBuL25vLXVuc3VwcG9ydGVkLWZlYXR1cmVzL25vZGUtYnVpbHRpbnMgLS0gVGhlc2UgYXJlIE9ic2lkaWFuIHJlbmRlcmVyIFdlYiBBUElzLCBub3QgTm9kZSBidWlsdGlucy4gKi9cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBV0EsZ0NBQXFDO0FBQ3JDLGtDQUFtQztBQWdHNUIsTUFBTSxlQUFlO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFJUDtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBSUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQUlBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBTVosWUFBWSxRQUF5QztBQUMxRCxTQUFLLFFBQVEsT0FBTztBQUNwQixTQUFLLFFBQVEsT0FBTztBQUNwQixTQUFLLFlBQVksT0FBTztBQUFBLEVBQzFCO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFRQSxNQUFhLFFBQVEsU0FBMEQ7QUFDN0UsUUFBSSxDQUFDLEtBQUssT0FBTztBQUNmLGFBQU87QUFBQSxJQUNUO0FBQ0EsV0FBTyxNQUFNLEtBQUssTUFBTSxVQUFVLFlBQVk7QUFDNUMsWUFBTSxTQUFTLE1BQU0sS0FBSyxNQUFNLFlBQVksa0JBQWtCLE9BQU8sT0FBTyxXQUFXLENBQUM7QUFD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
204
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9kYXRhLXN0b3Jlcy9kYXRhLXN0b3JlLXNlZWRzLnRzIl0sInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIG4vbm8tdW5zdXBwb3J0ZWQtZmVhdHVyZXMvbm9kZS1idWlsdGlucyAtLSBUaGVzZSBhcmUgT2JzaWRpYW4gcmVuZGVyZXIgV2ViIEFQSXMsIG5vdCBOb2RlIGJ1aWx0aW5zLiAqL1xuLyoqXG4gKiBAZmlsZVxuICpcbiAqIE9wdGlvbmFsIGNodW5rZWQgc2VlZHMgZm9yIGV4cGVuc2l2ZSBkZXJpdmVkIGNhY2hlcywgd2l0aCBwZXItZmlsZSB2YWxpZGF0aW9uIGJlZm9yZSByZXVzZS5cbiAqL1xuXG5pbXBvcnQgdHlwZSB7IEpzb25WYWx1ZSB9IGZyb20gJ3R5cGUtZmVzdCc7XG5cbmltcG9ydCB0eXBlIHsgTG9jYWxEYXRhU3RvcmUgfSBmcm9tICcuL2xvY2FsLWRhdGEtc3RvcmUudHMnO1xuXG5pbXBvcnQgeyBpc0RhdGFTdG9yZUpzb25WYWx1ZSB9IGZyb20gJy4vZGF0YS1zdG9yZS1yZXBsaWNhLnRzJztcbmltcG9ydCB7IERhdGFTdG9yZVRyYW5zcG9ydCB9IGZyb20gJy4vZGF0YS1zdG9yZS10cmFuc3BvcnQudHMnO1xuXG4vKipcbiAqIEEgZGVyaXZlZCByZWNvcmQgdGFnZ2VkIHdpdGggYm90aCBjaGVhcCBzdGF0aXN0aWNzIGFuZCBhIGNvbnRlbnQgaGFzaC5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBEYXRhU3RvcmVTZWVkRW50cnkgZXh0ZW5kcyBEYXRhU3RvcmVTZWVkRmlsZSB7XG4gIC8qKlxuICAgKiBDb250ZW50IGhhc2gsIHVzaW5nIHRoZSBzYW1lIGFsZ29yaXRobSBvbiBldmVyeSBkZXZpY2UuXG4gICAqL1xuICByZWFkb25seSBoYXNoOiBzdHJpbmc7XG4gIC8qKlxuICAgKiBDb25zdW1lci1kZWZpbmVkIEpTT04gY2FjaGUgcmVjb3JkLlxuICAgKi9cbiAgcmVhZG9ubHkgdmFsdWU6IEpzb25WYWx1ZTtcbn1cblxuLyoqXG4gKiBDaGVhcCBmaWxlIGlkZW50aXR5IGFscmVhZHkgYXZhaWxhYmxlIGZyb20gdGhlIHZhdWx0J3MgZmlsZSB0cmVlLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIERhdGFTdG9yZVNlZWRGaWxlIHtcbiAgLyoqXG4gICAqIExhc3QgbW9kaWZpY2F0aW9uIHRpbWUuXG4gICAqL1xuICByZWFkb25seSBtdGltZTogbnVtYmVyO1xuICAvKipcbiAgICogVmF1bHQtcmVsYXRpdmUgcGF0aC5cbiAgICovXG4gIHJlYWRvbmx5IHBhdGg6IHN0cmluZztcbiAgLyoqXG4gICAqIEZpbGUgc2l6ZSBpbiBieXRlcy5cbiAgICovXG4gIHJlYWRvbmx5IHNpemU6IG51bWJlcjtcbn1cblxuLyoqXG4gKiBQYXJhbWV0ZXJzIGZvciBvcHRpb25hbCBjYWNoZS1zZWVkIHNoYXJpbmcuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGF0YVN0b3JlU2VlZHNDb25zdHJ1Y3RvclBhcmFtcyB7XG4gIC8qKlxuICAgKiBEZWRpY2F0ZWQgZGV2aWNlLWxvY2FsIHN0b3JlIHRoYXQgb3ducyB0aGUgc2VlZCBwdWJsaXNoZXIgaWRlbnRpdHkuXG4gICAqL1xuICByZWFkb25seSBsb2NhbDogTG9jYWxEYXRhU3RvcmU7XG4gIC8qKlxuICAgKiBQZXItc3RvcmUgdXNlciBzZXR0aW5nLiBEaXNhYmxlZCBtZWFucyBuZWl0aGVyIHB1Ymxpc2hpbmcgbm9yIGFkb3B0aW5nIHNlZWRzLlxuICAgKi9cbiAgcmVhZG9ubHkgc2hhcmU6IGJvb2xlYW47XG4gIC8qKlxuICAgKiBTdG9yZS1zY29wZWQsIGJvdW5kZWQgTWFya2Rvd24gdHJhbnNwb3J0LiBJbmNsdWRlIHRoZSBjb25zdW1lciBzY2hlbWEgdmVyc2lvbiBpbiBpdHMgc3RvcmUgaWQuXG4gICAqL1xuICByZWFkb25seSB0cmFuc3BvcnQ6IERhdGFTdG9yZVRyYW5zcG9ydDtcbn1cblxuLyoqXG4gKiBSZXN1bHRzIG9mIHZhbGlkYXRpbmcgYSBzaGFyZWQgY2FjaGUgc2VlZCBhZ2FpbnN0IHRoZSBsb2NhbCB2YXVsdC5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBEYXRhU3RvcmVTZWVkVmFsaWRhdGlvbiB7XG4gIC8qKlxuICAgKiBGaWxlcyBhYnNlbnQgZnJvbSB0aGUgc2VlZCwgb3Igd2l0aCBkaWZmZXJlbnQgY29udGVudC5cbiAgICovXG4gIHJlYWRvbmx5IHJlYnVpbGQ6IHN0cmluZ1tdO1xuICAvKipcbiAgICogVmFsaWRhdGVkIHNlZWQgcmVjb3Jkcywgd2l0aCBsb2NhbCBmaWxlIHN0YXRpc3RpY3MuXG4gICAqL1xuICByZWFkb25seSByZXVzYWJsZTogRGF0YVN0b3JlU2VlZEVudHJ5W107XG59XG5cbi8qKlxuICogUGFyYW1ldGVycyBmb3IgcGVyLWZpbGUgc2VlZCB2YWxpZGF0aW9uLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFZhbGlkYXRlRGF0YVN0b3JlU2VlZFBhcmFtcyB7XG4gIC8qKlxuICAgKiBTZWVkIGVudHJpZXMgZnJvbSBhIHJlY29nbml6ZWQgY29uc3VtZXIgc2NoZW1hLlxuICAgKi9cbiAgcmVhZG9ubHkgZW50cmllczogcmVhZG9ubHkgRGF0YVN0b3JlU2VlZEVudHJ5W107XG4gIC8qKlxuICAgKiBDdXJyZW50IGZpbGUgdHJlZSwgYXZhaWxhYmxlIHdpdGhvdXQgcmVhZGluZyBub3RlIHRleHQuXG4gICAqL1xuICByZWFkb25seSBmaWxlczogcmVhZG9ubHkgRGF0YVN0b3JlU2VlZEZpbGVbXTtcbiAgLyoqXG4gICAqIEhhc2hlcyB0ZXh0IG9ubHkgd2hlbiBzaXplIG1hdGNoZXMgYnV0IG10aW1lIGRpZmZlcnMuXG4gICAqXG4gICAqIEBwYXJhbSBwYXRoIC0gRmlsZSByZXF1aXJpbmcgdmFsaWRhdGlvbi5cbiAgICogQHJldHVybnMgSXRzIGNvbnRlbnQgaGFzaC5cbiAgICovXG4gIHJlYWRvbmx5IGhhc2hGaWxlOiAocGF0aDogc3RyaW5nKSA9PiBQcm9taXNlPHN0cmluZz47XG59XG5cbmludGVyZmFjZSBTZWVkIHtcbiAgcmVhZG9ubHkgZW50cmllczogRGF0YVN0b3JlU2VlZEVudHJ5W107XG4gIHJlYWRvbmx5IGZvcm1hdDogMTtcbiAgcmVhZG9ubHkgdGltZTogbnVtYmVyO1xufVxuXG4vKipcbiAqIE9wdGlvbmFsIHBlcmZvcm1hbmNlIGhpbnRzLiBTZWVkcyBhcmUgbmV2ZXIgYXV0aG9yaXRhdGl2ZSBzdGF0ZSBhbmQgbXVzdCBiZSB2YWxpZGF0ZWQgYmVmb3JlIHJldXNlLlxuICovXG5leHBvcnQgY2xhc3MgRGF0YVN0b3JlU2VlZHMge1xuICAvKipcbiAgICogRGV2aWNlLWxvY2FsIGlkZW50aXR5IGFuZCBzZXJpYWxpemF0aW9uIGJvdW5kYXJ5LlxuICAgKi9cbiAgcHJvdGVjdGVkIHJlYWRvbmx5IGxvY2FsOiBMb2NhbERhdGFTdG9yZTtcbiAgLyoqXG4gICAqIFdoZXRoZXIgdGhpcyBzdG9yZSBzaGFyZXMgY2FjaGUgc2VlZHMuXG4gICAqL1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgc2hhcmU6IGJvb2xlYW47XG4gIC8qKlxuICAgKiBTdG9yZS1zY29wZWQgc25hcHNob3QgdHJhbnNwb3J0LlxuICAgKi9cbiAgcHJvdGVjdGVkIHJlYWRvbmx5IHRyYW5zcG9ydDogRGF0YVN0b3JlVHJhbnNwb3J0O1xuICAvKipcbiAgICogQ3JlYXRlcyBhIGNhY2hlLXNlZWQgcHVibGlzaGVyIGFuZCByZWFkZXIuXG4gICAqXG4gICAqIEBwYXJhbSBwYXJhbXMgLSBMb2NhbCBpZGVudGl0eSwgdHJhbnNwb3J0IGFuZCB0aGUgcGVyLXN0b3JlIHNoYXJpbmcgc2V0dGluZy5cbiAgICovXG4gIHB1YmxpYyBjb25zdHJ1Y3RvcihwYXJhbXM6IERhdGFTdG9yZVNlZWRzQ29uc3RydWN0b3JQYXJhbXMpIHtcbiAgICB0aGlzLmxvY2FsID0gcGFyYW1zLmxvY2FsO1xuICAgIHRoaXMuc2hhcmUgPSBwYXJhbXMuc2hhcmU7XG4gICAgdGhpcy50cmFuc3BvcnQgPSBwYXJhbXMudHJhbnNwb3J0O1xuICB9XG5cbiAgLyoqXG4gICAqIFB1Ymxpc2hlcyBhIGJvdW5kZWQgc2VlZCwgcmVwbGFjaW5nIG9ubHkgdGhpcyBkZXZpY2UncyBlYXJsaWVyIHB1YmxpY2F0aW9ucy5cbiAgICpcbiAgICogQHBhcmFtIGVudHJpZXMgLSBEZXJpdmVkIHJlY29yZHMgd2l0aCBmaWxlIHN0YXRpc3RpY3MgYW5kIGhhc2hlcy5cbiAgICogQHJldHVybnMgV2hldGhlciBzaGFyaW5nIHdhcyBlbmFibGVkIGFuZCB0aGUgc2VlZCB3YXMgcHVibGlzaGVkLlxuICAgKi9cbiAgcHVibGljIGFzeW5jIHB1Ymxpc2goZW50cmllczogcmVhZG9ubHkgRGF0YVN0b3JlU2VlZEVudHJ5W10pOiBQcm9taXNlPGJvb2xlYW4+IHtcbiAgICBpZiAoIXRoaXMuc2hhcmUpIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gICAgcmV0dXJuIGF3YWl0IHRoaXMubG9jYWwuZXhjbHVzaXZlKGFzeW5jICgpID0+IHtcbiAgICAgIGNvbnN0IGRldmljZSA9IGF3YWl0IHRoaXMubG9jYWwuZ2V0T3JDcmVhdGUoJ3NlZWQtZGV2aWNlLXYxJywgd2luZG93LmNyeXB0by5yYW5kb21VVUlEKCkpO1xuICAgICAgaWYgKHR5cGVvZiBkZXZpY2UgIT09ICdzdHJpbmcnIHx8ICEvXltcXHctXSskLy50ZXN0KGRldmljZSkpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdJbnZhbGlkIGxvY2FsIHNlZWQgaWRlbnRpdHknKTtcbiAgICAgIH1cbiAgICAgIGNvbnN0IHJvb3QgPSBgJHt0aGlzLnRyYW5zcG9ydC5yb290fS9zZWVkcy8ke2RldmljZX1gO1xuICAgICAgY29uc3QgZmlsZXMgPSBhd2FpdCB0aGlzLnRyYW5zcG9ydC5saXN0KCk7XG4gICAgICBjb25zdCBiYXNlID0gYCR7cm9vdH0vc2VlZC0ke3dpbmRvdy5jcnlwdG8ucmFuZG9tVVVJRCgpfS1tYW5pZmVzdGA7XG4gICAgICBhd2FpdCB0aGlzLnRyYW5zcG9ydC53cml0ZVNuYXBzaG90KHsgYmFzZSwgcGF5bG9hZDogeyBlbnRyaWVzLCBmb3JtYXQ6IDEsIHRpbWU6IERhdGUubm93KCkgfSB9KTtcbiAgICAgIGZvciAoY29uc3QgcGF0aCBvZiBmaWxlcykge1xuICAgICAgICBpZiAocGF0aC5zdGFydHNXaXRoKGAke3Jvb3R9L3NlZWQtYCkpIHtcbiAgICAgICAgICBhd2FpdCB0aGlzLnRyYW5zcG9ydC5yZW1vdmUocGF0aCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIFJlYWRzIHRoZSBuZXdlc3QgY29tcGxldGUgc2VlZCBmb3IgdGhpcyB0cmFuc3BvcnQncyBzY2hlbWEuXG4gICAqXG4gICAqIEByZXR1cm5zIFNlZWQgcmVjb3Jkcywgb3IgYHVuZGVmaW5lZGAgaWYgc2hhcmluZyBpcyBkaXNhYmxlZCBvciBubyBjb21wbGV0ZSBzZWVkIGlzIGF2YWlsYWJsZSB5ZXQuXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgcmVhZExhdGVzdCgpOiBQcm9taXNlPERhdGFTdG9yZVNlZWRFbnRyeVtdIHwgdW5kZWZpbmVkPiB7XG4gICAgaWYgKCF0aGlzLnNoYXJlKSB7XG4gICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgIH1cbiAgICBjb25zdCBmaWxlcyA9IGF3YWl0IHRoaXMudHJhbnNwb3J0Lmxpc3QoKTtcbiAgICBsZXQgbmV3ZXN0ID0gLUluZmluaXR5O1xuICAgIGxldCBlbnRyaWVzOiBEYXRhU3RvcmVTZWVkRW50cnlbXSB8IHVuZGVmaW5lZDtcbiAgICBmb3IgKGNvbnN0IHBhdGggb2YgZmlsZXMpIHtcbiAgICAgIGlmICghL1xcL3NlZWQtW1xcdy1dKy1tYW5pZmVzdFxcLm1kJC8udGVzdChwYXRoKSkge1xuICAgICAgICBjb250aW51ZTtcbiAgICAgIH1cbiAgICAgIGxldCBzZWVkOiB1bmtub3duO1xuICAgICAgdHJ5IHtcbiAgICAgICAgc2VlZCA9IGF3YWl0IHRoaXMudHJhbnNwb3J0LnJlYWRTbmFwc2hvdChwYXRoKTtcbiAgICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgIGlmIChlcnJvciBpbnN0YW5jZW9mIFN5bnRheEVycm9yKSB7XG4gICAgICAgICAgY29udGludWU7XG4gICAgICAgIH1cbiAgICAgICAgdGhyb3cgZXJyb3I7XG4gICAgICB9XG4gICAgICBpZiAoIShpc1NlZWQoc2VlZCkgJiYgc2VlZC50aW1lID4gbmV3ZXN0KSkge1xuICAgICAgICBjb250aW51ZTtcbiAgICAgIH1cblxuICAgICAgbmV3ZXN0ID0gc2VlZC50aW1lO1xuICAgICAgZW50cmllcyA9IHNlZWQuZW50cmllcztcbiAgICB9XG4gICAgcmV0dXJuIGVudHJpZXM7XG4gIH1cbn1cblxuLyoqXG4gKiBWYWxpZGF0ZXMgYSBzZWVkIHVzaW5nIGZyZWUgZmlsZSBzdGF0aXN0aWNzIGZpcnN0LCBoYXNoaW5nIG9ubHkgc2l6ZS1lcXVhbCBtdGltZSBtaXNtYXRjaGVzLlxuICogRmlsZXMgYWJzZW50IGxvY2FsbHkgYXJlIGRpc2NhcmRlZC4gQ29uc3VtZXJzIGluZGV4IG9ubHkgdGhlIHJldHVybmVkIHJlYnVpbGQgcGF0aHMuXG4gKlxuICogQHBhcmFtIHBhcmFtcyAtIFNlZWQsIGN1cnJlbnQgZmlsZSB0cmVlIGFuZCBjb250ZW50LWhhc2ggcmVhZGVyLlxuICogQHJldHVybnMgUmV1c2FibGUgcmVjb3JkcyBhbmQgdGhlIHBhdGhzIHRoYXQgc3RpbGwgbmVlZCBpbmRleGluZy5cbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIHZhbGlkYXRlRGF0YVN0b3JlU2VlZChwYXJhbXM6IFZhbGlkYXRlRGF0YVN0b3JlU2VlZFBhcmFtcyk6IFByb21pc2U8RGF0YVN0b3JlU2VlZFZhbGlkYXRpb24+IHtcbiAgY29uc3Qgc2VlZCA9IG5ldyBNYXAocGFyYW1zLmVudHJpZXMubWFwKChlbnRyeSkgPT4gW2VudHJ5LnBhdGgsIGVudHJ5XSkpO1xuICBjb25zdCByZXVzYWJsZTogRGF0YVN0b3JlU2VlZEVudHJ5W10gPSBbXTtcbiAgY29uc3QgcmVidWlsZDogc3RyaW5nW10gPSBbXTtcbiAgZm9yIChjb25zdCBmaWxlIG9mIHBhcmFtcy5maWxlcykge1xuICAgIGNvbnN0IGVudHJ5ID0gc2VlZC5nZXQoZmlsZS5wYXRoKTtcbiAgICBpZiAoZW50cnk/LnNpemUgPT09IGZpbGUuc2l6ZSAmJiAoZW50cnkubXRpbWUgPT09IGZpbGUubXRpbWUgfHwgZW50cnkuaGFzaCA9PT0gYXdhaXQgcGFyYW1zLmhhc2hGaWxlKGZpbGUucGF0aCkpKSB7XG4gICAgICByZXVzYWJsZS5wdXNoKHsgLi4uZW50cnksIC4uLmZpbGUgfSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJlYnVpbGQucHVzaChmaWxlLnBhdGgpO1xuICAgIH1cbiAgfVxuICByZXR1cm4geyByZWJ1aWxkLCByZXVzYWJsZSB9O1xufVxuXG5mdW5jdGlvbiBpc1NlZWQodmFsdWU6IHVua25vd24pOiB2YWx1ZSBpcyBTZWVkIHtcbiAgcmV0dXJuIHR5cGVvZiB2YWx1ZSA9PT0gJ29iamVjdCcgJiYgdmFsdWUgIT09IG51bGwgJiYgJ2Zvcm1hdCcgaW4gdmFsdWUgJiYgdmFsdWUuZm9ybWF0ID09PSAxXG4gICAgJiYgJ3RpbWUnIGluIHZhbHVlICYmIHR5cGVvZiB2YWx1ZS50aW1lID09PSAnbnVtYmVyJyAmJiBOdW1iZXIuaXNGaW5pdGUodmFsdWUudGltZSlcbiAgICAmJiAnZW50cmllcycgaW4gdmFsdWUgJiYgQXJyYXkuaXNBcnJheSh2YWx1ZS5lbnRyaWVzKSAmJiB2YWx1ZS5lbnRyaWVzLmV2ZXJ5KChlbnRyeTogdW5rbm93bikgPT5cbiAgICAgIHR5cGVvZiBlbnRyeSA9PT0gJ29iamVjdCcgJiYgZW50cnkgIT09IG51bGwgJiYgJ3BhdGgnIGluIGVudHJ5ICYmIHR5cGVvZiBlbnRyeS5wYXRoID09PSAnc3RyaW5nJ1xuICAgICAgJiYgJ210aW1lJyBpbiBlbnRyeSAmJiB0eXBlb2YgZW50cnkubXRpbWUgPT09ICdudW1iZXInICYmIE51bWJlci5pc0Zpbml0ZShlbnRyeS5tdGltZSlcbiAgICAgICYmICdzaXplJyBpbiBlbnRyeSAmJiB0eXBlb2YgZW50cnkuc2l6ZSA9PT0gJ251bWJlcicgJiYgTnVtYmVyLmlzRmluaXRlKGVudHJ5LnNpemUpXG4gICAgICAmJiAnaGFzaCcgaW4gZW50cnkgJiYgdHlwZW9mIGVudHJ5Lmhhc2ggPT09ICdzdHJpbmcnICYmICd2YWx1ZScgaW4gZW50cnkgJiYgaXNEYXRhU3RvcmVKc29uVmFsdWUoZW50cnkudmFsdWUpXG4gICAgKTtcbn1cblxuLyogZXNsaW50LWVuYWJsZSBuL25vLXVuc3VwcG9ydGVkLWZlYXR1cmVzL25vZGUtYnVpbHRpbnMgLS0gVGhlc2UgYXJlIE9ic2lkaWFuIHJlbmRlcmVyIFdlYiBBUElzLCBub3QgTm9kZSBidWlsdGlucy4gKi9cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBV0EsZ0NBQXFDO0FBQ3JDLGtDQUFtQztBQWdHNUIsTUFBTSxlQUFlO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFJUDtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBSUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQUlBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBTVosWUFBWSxRQUF5QztBQUMxRCxTQUFLLFFBQVEsT0FBTztBQUNwQixTQUFLLFFBQVEsT0FBTztBQUNwQixTQUFLLFlBQVksT0FBTztBQUFBLEVBQzFCO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFRQSxNQUFhLFFBQVEsU0FBMEQ7QUFDN0UsUUFBSSxDQUFDLEtBQUssT0FBTztBQUNmLGFBQU87QUFBQSxJQUNUO0FBQ0EsV0FBTyxNQUFNLEtBQUssTUFBTSxVQUFVLFlBQVk7QUFDNUMsWUFBTSxTQUFTLE1BQU0sS0FBSyxNQUFNLFlBQVksa0JB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
@@ -41,8 +41,8 @@ ensureBrowserProcess();
41
41
  __isPatched: true
42
42
  }
43
43
  );
44
- function extractDefault(module) {
45
- return module && module.__esModule && "default" in module ? module.default : module;
44
+ function extractDefault($module) {
45
+ return $module && $module.__esModule && "default" in $module ? $module.default : $module;
46
46
  }
47
47
  const OBSIDIAN_BUILT_IN_MODULE_NAMES = /* @__PURE__ */ new Set([
48
48
  "@codemirror/autocomplete",
@@ -84,9 +84,9 @@ ensureBrowserProcess();
84
84
  return process;
85
85
  }
86
86
  } else {
87
- const module = originalRequire?.(id);
88
- if (module) {
89
- return extractDefault(module);
87
+ const $module = originalRequire?.(id);
88
+ if ($module) {
89
+ return extractDefault($module);
90
90
  }
91
91
  }
92
92
  console.debug(`The most likely you can safely ignore this error. Module not found: ${id}. Empty object is returned instead.`);
@@ -14,8 +14,8 @@ if you want to view the source, please visit the github repository of this plugi
14
14
  __isPatched: true
15
15
  }
16
16
  );
17
- function extractDefault(module) {
18
- return module && module.__esModule && "default" in module ? module.default : module;
17
+ function extractDefault($module) {
18
+ return $module && $module.__esModule && "default" in $module ? $module.default : $module;
19
19
  }
20
20
  const OBSIDIAN_BUILT_IN_MODULE_NAMES = /* @__PURE__ */ new Set([
21
21
  "@codemirror/autocomplete",
@@ -57,9 +57,9 @@ if you want to view the source, please visit the github repository of this plugi
57
57
  return process;
58
58
  }
59
59
  } else {
60
- const module = originalRequire?.(id);
61
- if (module) {
62
- return extractDefault(module);
60
+ const $module = originalRequire?.(id);
61
+ if ($module) {
62
+ return extractDefault($module);
63
63
  }
64
64
  }
65
65
  console.debug(`The most likely you can safely ignore this error. Module not found: ${id}. Empty object is returned instead.`);
@@ -14,8 +14,8 @@ if you want to view the source, please visit the github repository of this plugi
14
14
  __isPatched: true
15
15
  }
16
16
  );
17
- function extractDefault(module) {
18
- return module && module.__esModule && "default" in module ? module.default : module;
17
+ function extractDefault($module) {
18
+ return $module && $module.__esModule && "default" in $module ? $module.default : $module;
19
19
  }
20
20
  const OBSIDIAN_BUILT_IN_MODULE_NAMES = /* @__PURE__ */ new Set([
21
21
  "@codemirror/autocomplete",
@@ -57,9 +57,9 @@ if you want to view the source, please visit the github repository of this plugi
57
57
  return process;
58
58
  }
59
59
  } else {
60
- const module = originalRequire?.(id);
61
- if (module) {
62
- return extractDefault(module);
60
+ const $module = originalRequire?.(id);
61
+ if ($module) {
62
+ return extractDefault($module);
63
63
  }
64
64
  }
65
65
  console.debug(`The most likely you can safely ignore this error. Module not found: ${id}. Empty object is returned instead.`);
@@ -137,11 +137,14 @@ class LocalDataStore {
137
137
  /**
138
138
  * Commits several record changes atomically without serializing the rest of the database.
139
139
  *
140
- * @param params - Writes and deletions in one transaction.
140
+ * @param params - Writes and deletions in one transaction, optionally after clearing the store.
141
141
  * @returns A promise that resolves only after all changes commit.
142
142
  */
143
143
  async commit(params) {
144
144
  await this.run("readwrite", (store) => {
145
+ if (params.shouldClear) {
146
+ store.clear();
147
+ }
145
148
  for (const key of params.removedKeys ?? []) {
146
149
  store.delete(key);
147
150
  }
@@ -168,19 +171,19 @@ class LocalDataStore {
168
171
  async entries() {
169
172
  const records = [];
170
173
  await this.run("readonly", (store) => {
171
- const request = store.openCursor();
172
- request.onsuccess = () => {
173
- const cursor = request.result;
174
- if (!cursor) {
175
- return;
174
+ const keysRequest = store.getAllKeys();
175
+ const valuesRequest = store.getAll();
176
+ valuesRequest.onsuccess = () => {
177
+ const keys = keysRequest.result;
178
+ const values = valuesRequest.result;
179
+ for (const [index, key] of keys.entries()) {
180
+ if (typeof key !== "string") {
181
+ throw new TypeError("Local data-store key is not a string");
182
+ }
183
+ records.push([key, values[index]]);
176
184
  }
177
- if (typeof cursor.key !== "string") {
178
- throw new TypeError("Local data-store key is not a string");
179
- }
180
- records.push([cursor.key, cursor.value]);
181
- cursor.continue();
182
185
  };
183
- return request;
186
+ return valuesRequest;
184
187
  });
185
188
  return records;
186
189
  }
@@ -255,4 +258,4 @@ class LocalDataStore {
255
258
  0 && (module.exports = {
256
259
  LocalDataStore
257
260
  });
258
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9kYXRhLXN0b3Jlcy9sb2NhbC1kYXRhLXN0b3JlLnRzIl0sInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIG4vbm8tdW5zdXBwb3J0ZWQtZmVhdHVyZXMvbm9kZS1idWlsdGlucyAtLSBUaGVzZSBhcmUgT2JzaWRpYW4gcmVuZGVyZXIgV2ViIEFQSXMsIG5vdCBOb2RlIGJ1aWx0aW5zLiAqL1xuLyoqXG4gKiBAZmlsZVxuICpcbiAqIFJlY29yZC1iYXNlZCBkZXZpY2UtbG9jYWwgcGVyc2lzdGVuY2UsIGlzb2xhdGVkIGJ5IHZhdWx0LCBwbHVnaW4gYW5kIHN0b3JlLlxuICovXG5cbi8qKlxuICogQXRvbWljIG11dGF0aW9ucyBvZiBhIGxvY2FsIHJlY29yZCBzdG9yZS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBMb2NhbERhdGFTdG9yZUNvbW1pdFBhcmFtcyB7XG4gIC8qKlxuICAgKiBLZXkvdmFsdWUgcGFpcnMgdG8gd3JpdGUuXG4gICAqL1xuICByZWFkb25seSBlbnRyaWVzOiByZWFkb25seSAocmVhZG9ubHkgW3N0cmluZywgdW5rbm93bl0pW107XG4gIC8qKlxuICAgKiBLZXlzIHJlbW92ZWQgaW4gdGhlIHNhbWUgdHJhbnNhY3Rpb24gYXMgdGhlIHdyaXRlcy5cbiAgICpcbiAgICogQGRlZmF1bHQgYFtdYFxuICAgKi9cbiAgcmVhZG9ubHkgcmVtb3ZlZEtleXM/OiByZWFkb25seSBzdHJpbmdbXTtcbn1cblxuLyoqXG4gKiBQYXJhbWV0ZXJzIGZvciBvcGVuaW5nIGEgbG9jYWwgc3RvcmUuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgTG9jYWxEYXRhU3RvcmVPcGVuUGFyYW1zIHtcbiAgLyoqXG4gICAqIEluZGV4ZWREQiBpbXBsZW1lbnRhdGlvbiwgaW5qZWN0YWJsZSBmb3IgdGVzdHMuXG4gICAqL1xuICByZWFkb25seSBmYWN0b3J5PzogSURCRmFjdG9yeTtcbiAgLyoqXG4gICAqIFBsdWdpbiBtYW5pZmVzdCBpZC5cbiAgICovXG4gIHJlYWRvbmx5IHBsdWdpbklkOiBzdHJpbmc7XG4gIC8qKlxuICAgKiBTdG9yZSBuYW1lIGFuZCBzY2hlbWEgdmVyc2lvbiBjaG9zZW4gYnkgdGhlIGNvbnN1bWVyLlxuICAgKi9cbiAgcmVhZG9ubHkgc3RvcmVJZDogc3RyaW5nO1xuICAvKipcbiAgICogU3RhYmxlLCBkZXZpY2UtbG9jYWwgdmF1bHQgaWRlbnRpdHk7IG5ldmVyIHRoZSB2YXVsdCBkaXNwbGF5IG5hbWUuXG4gICAqL1xuICByZWFkb25seSB2YXVsdElkOiBzdHJpbmc7XG59XG5cbi8qKlxuICogQSBsb2NhbCBzdG9yZSBob2xkcyBzdHJ1Y3R1cmVkLWNsb25lYWJsZSB2YWx1ZXM7IGl0IG5ldmVyIHdyaXRlcyB0byB0aGUgdmF1bHQuXG4gKi9cbmV4cG9ydCBjbGFzcyBMb2NhbERhdGFTdG9yZSB7XG4gIHByaXZhdGUgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSBkYXRhYmFzZTogSURCRGF0YWJhc2UpIHt9XG5cbiAgLyoqXG4gICAqIE9wZW5zIGFuIGlzb2xhdGVkIGRhdGFiYXNlLiBXcml0ZXMgcmVzb2x2ZSBvbmx5IG9uY2UgdGhlaXIgdHJhbnNhY3Rpb24gY29tbWl0cy5cbiAgICpcbiAgICogQHBhcmFtIHBhcmFtcyAtIFN0b3JlIGlkZW50aXR5IGFuZCBvcHRpb25hbCBJbmRleGVkREIgaW1wbGVtZW50YXRpb24uXG4gICAqIEByZXR1cm5zIFRoZSBjb25uZWN0ZWQgc3RvcmU7IGNsb3NlIGl0IHdoZW4gaXRzIG93bmVyIHVubG9hZHMuXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIGFzeW5jIG9wZW4ocGFyYW1zOiBMb2NhbERhdGFTdG9yZU9wZW5QYXJhbXMpOiBQcm9taXNlPExvY2FsRGF0YVN0b3JlPiB7XG4gICAgY29uc3QgbmFtZSA9IGBvYnNpZGlhbi1saWI6JHtKU09OLnN0cmluZ2lmeShbcGFyYW1zLnZhdWx0SWQsIHBhcmFtcy5wbHVnaW5JZCwgcGFyYW1zLnN0b3JlSWRdKX1gO1xuICAgIGNvbnN0IHJlcXVlc3QgPSAocGFyYW1zLmZhY3RvcnkgPz8gaW5kZXhlZERCKS5vcGVuKG5hbWUsIDEpO1xuICAgIHJldHVybiBhd2FpdCBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gICAgICByZXF1ZXN0Lm9udXBncmFkZW5lZWRlZCA9ICgpOiB2b2lkID0+IHtcbiAgICAgICAgcmVxdWVzdC5yZXN1bHQuY3JlYXRlT2JqZWN0U3RvcmUoJ3JlY29yZHMnKTtcbiAgICAgIH07XG4gICAgICByZXF1ZXN0LmFkZEV2ZW50TGlzdGVuZXIoJ2Vycm9yJywgKCk6IHZvaWQgPT4ge1xuICAgICAgICByZWplY3QobmV3IEVycm9yKCdDb3VsZCBub3Qgb3BlbiBsb2NhbCBkYXRhIHN0b3JlJywgeyBjYXVzZTogcmVxdWVzdC5lcnJvciB9KSk7XG4gICAgICB9KTtcbiAgICAgIHJlcXVlc3Qub25zdWNjZXNzID0gKCk6IHZvaWQgPT4ge1xuICAgICAgICBjb25zdCBkYXRhYmFzZSA9IHJlcXVlc3QucmVzdWx0O1xuICAgICAgICBkYXRhYmFzZS5vbnZlcnNpb25jaGFuZ2UgPSAoKTogdm9pZCA9PiB7XG4gICAgICAgICAgZGF0YWJhc2UuY2xvc2UoKTtcbiAgICAgICAgfTtcbiAgICAgICAgcmVzb2x2ZShuZXcgTG9jYWxEYXRhU3RvcmUoZGF0YWJhc2UpKTtcbiAgICAgIH07XG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogRGVsZXRlcyBldmVyeSByZWNvcmQgaW4gdGhpcyBzdG9yZSBvbmx5LlxuICAgKlxuICAgKiBAcmV0dXJucyBBIHByb21pc2UgdGhhdCByZXNvbHZlcyBhZnRlciBjb21taXQuXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgY2xlYXIoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgYXdhaXQgdGhpcy5ydW4oJ3JlYWR3cml0ZScsIChzdG9yZSkgPT4gc3RvcmUuY2xlYXIoKSk7XG4gIH1cblxuICAvKipcbiAgICogQ2xvc2VzIHRoaXMgY29ubmVjdGlvbiB3aXRob3V0IGRlbGV0aW5nIGl0cyByZWNvcmRzLlxuICAgKi9cbiAgcHVibGljIGNsb3NlKCk6IHZvaWQge1xuICAgIHRoaXMuZGF0YWJhc2UuY2xvc2UoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDb21taXRzIHNldmVyYWwgcmVjb3JkIGNoYW5nZXMgYXRvbWljYWxseSB3aXRob3V0IHNlcmlhbGl6aW5nIHRoZSByZXN0IG9mIHRoZSBkYXRhYmFzZS5cbiAgICpcbiAgICogQHBhcmFtIHBhcmFtcyAtIFdyaXRlcyBhbmQgZGVsZXRpb25zIGluIG9uZSB0cmFuc2FjdGlvbi5cbiAgICogQHJldHVybnMgQSBwcm9taXNlIHRoYXQgcmVzb2x2ZXMgb25seSBhZnRlciBhbGwgY2hhbmdlcyBjb21taXQuXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgY29tbWl0KHBhcmFtczogTG9jYWxEYXRhU3RvcmVDb21taXRQYXJhbXMpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBhd2FpdCB0aGlzLnJ1bigncmVhZHdyaXRlJywgKHN0b3JlKSA9PiB7XG4gICAgICBmb3IgKGNvbnN0IGtleSBvZiBwYXJhbXMucmVtb3ZlZEtleXMgPz8gW10pIHtcbiAgICAgICAgc3RvcmUuZGVsZXRlKGtleSk7XG4gICAgICB9XG4gICAgICBmb3IgKGNvbnN0IFtrZXksIHZhbHVlXSBvZiBwYXJhbXMuZW50cmllcykge1xuICAgICAgICBzdG9yZS5wdXQodmFsdWUsIGtleSk7XG4gICAgICB9XG4gICAgICByZXR1cm4gc3RvcmUuY291bnQoKTtcbiAgICB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBEZWxldGVzIGEgcmVjb3JkLlxuICAgKlxuICAgKiBAcGFyYW0ga2V5IC0gUmVjb3JkIGtleS5cbiAgICogQHJldHVybnMgQSBwcm9taXNlIHRoYXQgcmVzb2x2ZXMgYWZ0ZXIgY29tbWl0LlxuICAgKi9cbiAgcHVibGljIGFzeW5jIGRlbGV0ZShrZXk6IHN0cmluZyk6IFByb21pc2U8dm9pZD4ge1xuICAgIGF3YWl0IHRoaXMucnVuKCdyZWFkd3JpdGUnLCAoc3RvcmUpID0+IHN0b3JlLmRlbGV0ZShrZXkpKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZWFkcyBhbGwgcmVjb3JkcyBpbiBrZXkgb3JkZXIuXG4gICAqXG4gICAqIEByZXR1cm5zIERldGFjaGVkIGtleS92YWx1ZSBwYWlycy5cbiAgICovXG4gIHB1YmxpYyBhc3luYyBlbnRyaWVzKCk6IFByb21pc2U8W3N0cmluZywgdW5rbm93bl1bXT4ge1xuICAgIGNvbnN0IHJlY29yZHM6IFtzdHJpbmcsIHVua25vd25dW10gPSBbXTtcbiAgICBhd2FpdCB0aGlzLnJ1bigncmVhZG9ubHknLCAoc3RvcmUpID0+IHtcbiAgICAgIGNvbnN0IHJlcXVlc3QgPSBzdG9yZS5vcGVuQ3Vyc29yKCk7XG4gICAgICByZXF1ZXN0Lm9uc3VjY2VzcyA9ICgpOiB2b2lkID0+IHtcbiAgICAgICAgY29uc3QgY3Vyc29yID0gcmVxdWVzdC5yZXN1bHQ7XG4gICAgICAgIGlmICghY3Vyc29yKSB7XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHR5cGVvZiBjdXJzb3Iua2V5ICE9PSAnc3RyaW5nJykge1xuICAgICAgICAgIHRocm93IG5ldyBUeXBlRXJyb3IoJ0xvY2FsIGRhdGEtc3RvcmUga2V5IGlzIG5vdCBhIHN0cmluZycpO1xuICAgICAgICB9XG4gICAgICAgIHJlY29yZHMucHVzaChbY3Vyc29yLmtleSwgY3Vyc29yLnZhbHVlXSk7XG4gICAgICAgIGN1cnNvci5jb250aW51ZSgpO1xuICAgICAgfTtcbiAgICAgIHJldHVybiByZXF1ZXN0O1xuICAgIH0pO1xuICAgIHJldHVybiByZWNvcmRzO1xuICB9XG5cbiAgLyoqXG4gICAqIFNlcmlhbGl6ZXMgYSBzaGFyZWQtc3RvcmUgb3BlcmF0aW9uIGFjcm9zcyBjb25uZWN0aW9ucywgd2luZG93cyBhbmQgYnVuZGxlZCBsaWJyYXJ5IGNvcGllcy5cbiAgICpcbiAgICogQHR5cGVQYXJhbSBUIC0gQ2FsbGJhY2sgcmVzdWx0LlxuICAgKiBAcGFyYW0gY2FsbGJhY2sgLSBXb3JrIHBlcmZvcm1lZCB3aGlsZSBob2xkaW5nIHRoaXMgZGF0YWJhc2UncyBXZWIgTG9jay5cbiAgICogQHJldHVybnMgVGhlIGNhbGxiYWNrIHJlc3VsdCBhZnRlciByZWxlYXNpbmcgdGhlIGxvY2suXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgZXhjbHVzaXZlPFQ+KGNhbGxiYWNrOiAoKSA9PiBQcm9taXNlPFQ+KTogUHJvbWlzZTxUPiB7XG4gICAgcmV0dXJuIGF3YWl0IHdpbmRvdy5uYXZpZ2F0b3IubG9ja3MucmVxdWVzdCh0aGlzLmRhdGFiYXNlLm5hbWUsIGNhbGxiYWNrKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZWFkcyBhIHJlY29yZC5cbiAgICpcbiAgICogQHBhcmFtIGtleSAtIFJlY29yZCBrZXkuXG4gICAqIEByZXR1cm5zIEl0cyB2YWx1ZSwgb3IgYHVuZGVmaW5lZGAgd2hlbiBhYnNlbnQuXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgZ2V0KGtleTogc3RyaW5nKTogUHJvbWlzZTx1bmtub3duPiB7XG4gICAgcmV0dXJuIGF3YWl0IHRoaXMucnVuPHVua25vd24+KCdyZWFkb25seScsIChzdG9yZSkgPT4gc3RvcmUuZ2V0KGtleSkpO1xuICB9XG5cbiAgLyoqXG4gICAqIEluaXRpYWxpemVzIGEgcmVjb3JkIG9uY2UsIGF0b21pY2FsbHkgYWNyb3NzIGNvbm5lY3Rpb25zLlxuICAgKlxuICAgKiBAcGFyYW0ga2V5IC0gUmVjb3JkIGtleS5cbiAgICogQHBhcmFtIHZhbHVlIC0gVmFsdWUgdXNlZCBvbmx5IHdoZW4gdGhlIGtleSBpcyBhYnNlbnQuXG4gICAqIEByZXR1cm5zIFRoZSBleGlzdGluZyBvciBuZXdseSBjb21taXR0ZWQgdmFsdWUuXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgZ2V0T3JDcmVhdGUoa2V5OiBzdHJpbmcsIHZhbHVlOiB1bmtub3duKTogUHJvbWlzZTx1bmtub3duPiB7XG4gICAgcmV0dXJuIGF3YWl0IHRoaXMucnVuPHVua25vd24+KCdyZWFkd3JpdGUnLCAoc3RvcmUpID0+IHtcbiAgICAgIGNvbnN0IHJlcXVlc3QgPSBzdG9yZS5nZXQoa2V5KTtcbiAgICAgIHJlcXVlc3Qub25zdWNjZXNzID0gKCk6IHZvaWQgPT4ge1xuICAgICAgICBpZiAocmVxdWVzdC5yZXN1bHQgPT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgIHN0b3JlLnB1dCh2YWx1ZSwga2V5KTtcbiAgICAgICAgfVxuICAgICAgfTtcbiAgICAgIHJldHVybiByZXF1ZXN0O1xuICAgIH0pLnRoZW4oKGV4aXN0aW5nKSA9PiBleGlzdGluZyA9PT0gdW5kZWZpbmVkID8gdmFsdWUgOiBleGlzdGluZyk7XG4gIH1cblxuICAvKipcbiAgICogV3JpdGVzIGEgc3RydWN0dXJlZC1jbG9uZWFibGUgdmFsdWUuXG4gICAqXG4gICAqIEBwYXJhbSBrZXkgLSBSZWNvcmQga2V5LlxuICAgKiBAcGFyYW0gdmFsdWUgLSBWYWx1ZSB0byBwZXJzaXN0LlxuICAgKiBAcmV0dXJucyBBIHByb21pc2UgdGhhdCByZXNvbHZlcyBhZnRlciBjb21taXQuXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgc2V0KGtleTogc3RyaW5nLCB2YWx1ZTogdW5rbm93bik6IFByb21pc2U8dm9pZD4ge1xuICAgIGF3YWl0IHRoaXMucnVuKCdyZWFkd3JpdGUnLCAoc3RvcmUpID0+IHN0b3JlLnB1dCh2YWx1ZSwga2V5KSk7XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIHJ1bjxUPihtb2RlOiBJREJUcmFuc2FjdGlvbk1vZGUsIGFjdGlvbjogKHN0b3JlOiBJREJPYmplY3RTdG9yZSkgPT4gSURCUmVxdWVzdDxUPik6IFByb21pc2U8VD4ge1xuICAgIHJldHVybiBhd2FpdCBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gICAgICBjb25zdCB0cmFuc2FjdGlvbiA9IHRoaXMuZGF0YWJhc2UudHJhbnNhY3Rpb24oJ3JlY29yZHMnLCBtb2RlKTtcbiAgICAgIGxldCByZXF1ZXN0OiBJREJSZXF1ZXN0PFQ+O1xuICAgICAgdHJ5IHtcbiAgICAgICAgcmVxdWVzdCA9IGFjdGlvbih0cmFuc2FjdGlvbi5vYmplY3RTdG9yZSgncmVjb3JkcycpKTtcbiAgICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgIHRyYW5zYWN0aW9uLmFib3J0KCk7XG4gICAgICAgIHJlamVjdChlcnJvciBpbnN0YW5jZW9mIEVycm9yID8gZXJyb3IgOiBuZXcgRXJyb3IoJ0xvY2FsIGRhdGEtc3RvcmUgdHJhbnNhY3Rpb24gZmFpbGVkJywgeyBjYXVzZTogZXJyb3IgfSkpO1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgICB0cmFuc2FjdGlvbi5vbmNvbXBsZXRlID0gKCk6IHZvaWQgPT4ge1xuICAgICAgICByZXNvbHZlKHJlcXVlc3QucmVzdWx0KTtcbiAgICAgIH07XG4gICAgICB0cmFuc2FjdGlvbi5hZGRFdmVudExpc3RlbmVyKCdhYm9ydCcsICgpOiB2b2lkID0+IHtcbiAgICAgICAgcmVqZWN0KG5ldyBFcnJvcignTG9jYWwgZGF0YS1zdG9yZSB0cmFuc2FjdGlvbiBhYm9ydGVkJywgeyBjYXVzZTogdHJhbnNhY3Rpb24uZXJyb3IgfSkpO1xuICAgICAgfSk7XG4gICAgfSk7XG4gIH1cbn1cblxuLyogZXNsaW50LWVuYWJsZSBuL25vLXVuc3VwcG9ydGVkLWZlYXR1cmVzL25vZGUtYnVpbHRpbnMgLS0gVGhlc2UgYXJlIE9ic2lkaWFuIHJlbmRlcmVyIFdlYiBBUElzLCBub3QgTm9kZSBidWlsdGlucy4gKi9cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQWdETyxNQUFNLGVBQWU7QUFBQSxFQUNsQixZQUE2QixVQUF1QjtBQUF2QjtBQUFBLEVBQXdCO0FBQUEsRUFBeEI7QUFBQTtB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
261
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9kYXRhLXN0b3Jlcy9sb2NhbC1kYXRhLXN0b3JlLnRzIl0sInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIG4vbm8tdW5zdXBwb3J0ZWQtZmVhdHVyZXMvbm9kZS1idWlsdGlucyAtLSBUaGVzZSBhcmUgT2JzaWRpYW4gcmVuZGVyZXIgV2ViIEFQSXMsIG5vdCBOb2RlIGJ1aWx0aW5zLiAqL1xuLyoqXG4gKiBAZmlsZVxuICpcbiAqIFJlY29yZC1iYXNlZCBkZXZpY2UtbG9jYWwgcGVyc2lzdGVuY2UsIGlzb2xhdGVkIGJ5IHZhdWx0LCBwbHVnaW4gYW5kIHN0b3JlLlxuICovXG5cbi8qKlxuICogQXRvbWljIG11dGF0aW9ucyBvZiBhIGxvY2FsIHJlY29yZCBzdG9yZS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBMb2NhbERhdGFTdG9yZUNvbW1pdFBhcmFtcyB7XG4gIC8qKlxuICAgKiBLZXkvdmFsdWUgcGFpcnMgdG8gd3JpdGUuXG4gICAqL1xuICByZWFkb25seSBlbnRyaWVzOiByZWFkb25seSAocmVhZG9ubHkgW3N0cmluZywgdW5rbm93bl0pW107XG4gIC8qKlxuICAgKiBLZXlzIHJlbW92ZWQgaW4gdGhlIHNhbWUgdHJhbnNhY3Rpb24gYXMgdGhlIHdyaXRlcy5cbiAgICpcbiAgICogQGRlZmF1bHQgYFtdYFxuICAgKi9cbiAgcmVhZG9ubHkgcmVtb3ZlZEtleXM/OiByZWFkb25seSBzdHJpbmdbXTtcbiAgLyoqXG4gICAqIERlbGV0ZXMgZXZlcnkgcmVjb3JkIG9mIHRoaXMgc3RvcmUgZmlyc3QsIGluIHRoZSBzYW1lIHRyYW5zYWN0aW9uIGFzIHRoZSB3cml0ZXMuXG4gICAqXG4gICAqIEVpdGhlciB0aGUgc3RvcmUgaXMgcmVwbGFjZWQgYnkgYGVudHJpZXNgIGFzIGEgd2hvbGUsIG9yLCB3aGVuIHRoZSB0cmFuc2FjdGlvbiBmYWlscywgZXZlcnkgcHJldmlvdXMgcmVjb3JkIHN1cnZpdmVzLlxuICAgKlxuICAgKiBAZGVmYXVsdCBgZmFsc2VgXG4gICAqL1xuICByZWFkb25seSBzaG91bGRDbGVhcj86IGJvb2xlYW47XG59XG5cbi8qKlxuICogUGFyYW1ldGVycyBmb3Igb3BlbmluZyBhIGxvY2FsIHN0b3JlLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIExvY2FsRGF0YVN0b3JlT3BlblBhcmFtcyB7XG4gIC8qKlxuICAgKiBJbmRleGVkREIgaW1wbGVtZW50YXRpb24sIGluamVjdGFibGUgZm9yIHRlc3RzLlxuICAgKi9cbiAgcmVhZG9ubHkgZmFjdG9yeT86IElEQkZhY3Rvcnk7XG4gIC8qKlxuICAgKiBQbHVnaW4gbWFuaWZlc3QgaWQuXG4gICAqL1xuICByZWFkb25seSBwbHVnaW5JZDogc3RyaW5nO1xuICAvKipcbiAgICogU3RvcmUgbmFtZSBhbmQgc2NoZW1hIHZlcnNpb24gY2hvc2VuIGJ5IHRoZSBjb25zdW1lci5cbiAgICovXG4gIHJlYWRvbmx5IHN0b3JlSWQ6IHN0cmluZztcbiAgLyoqXG4gICAqIFN0YWJsZSwgZGV2aWNlLWxvY2FsIHZhdWx0IGlkZW50aXR5OyBuZXZlciB0aGUgdmF1bHQgZGlzcGxheSBuYW1lLlxuICAgKi9cbiAgcmVhZG9ubHkgdmF1bHRJZDogc3RyaW5nO1xufVxuXG4vKipcbiAqIEEgbG9jYWwgc3RvcmUgaG9sZHMgc3RydWN0dXJlZC1jbG9uZWFibGUgdmFsdWVzOyBpdCBuZXZlciB3cml0ZXMgdG8gdGhlIHZhdWx0LlxuICovXG5leHBvcnQgY2xhc3MgTG9jYWxEYXRhU3RvcmUge1xuICBwcml2YXRlIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgZGF0YWJhc2U6IElEQkRhdGFiYXNlKSB7fVxuXG4gIC8qKlxuICAgKiBPcGVucyBhbiBpc29sYXRlZCBkYXRhYmFzZS4gV3JpdGVzIHJlc29sdmUgb25seSBvbmNlIHRoZWlyIHRyYW5zYWN0aW9uIGNvbW1pdHMuXG4gICAqXG4gICAqIEBwYXJhbSBwYXJhbXMgLSBTdG9yZSBpZGVudGl0eSBhbmQgb3B0aW9uYWwgSW5kZXhlZERCIGltcGxlbWVudGF0aW9uLlxuICAgKiBAcmV0dXJucyBUaGUgY29ubmVjdGVkIHN0b3JlOyBjbG9zZSBpdCB3aGVuIGl0cyBvd25lciB1bmxvYWRzLlxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBhc3luYyBvcGVuKHBhcmFtczogTG9jYWxEYXRhU3RvcmVPcGVuUGFyYW1zKTogUHJvbWlzZTxMb2NhbERhdGFTdG9yZT4ge1xuICAgIGNvbnN0IG5hbWUgPSBgb2JzaWRpYW4tbGliOiR7SlNPTi5zdHJpbmdpZnkoW3BhcmFtcy52YXVsdElkLCBwYXJhbXMucGx1Z2luSWQsIHBhcmFtcy5zdG9yZUlkXSl9YDtcbiAgICBjb25zdCByZXF1ZXN0ID0gKHBhcmFtcy5mYWN0b3J5ID8/IGluZGV4ZWREQikub3BlbihuYW1lLCAxKTtcbiAgICByZXR1cm4gYXdhaXQgbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuICAgICAgcmVxdWVzdC5vbnVwZ3JhZGVuZWVkZWQgPSAoKTogdm9pZCA9PiB7XG4gICAgICAgIHJlcXVlc3QucmVzdWx0LmNyZWF0ZU9iamVjdFN0b3JlKCdyZWNvcmRzJyk7XG4gICAgICB9O1xuICAgICAgcmVxdWVzdC5hZGRFdmVudExpc3RlbmVyKCdlcnJvcicsICgpOiB2b2lkID0+IHtcbiAgICAgICAgcmVqZWN0KG5ldyBFcnJvcignQ291bGQgbm90IG9wZW4gbG9jYWwgZGF0YSBzdG9yZScsIHsgY2F1c2U6IHJlcXVlc3QuZXJyb3IgfSkpO1xuICAgICAgfSk7XG4gICAgICByZXF1ZXN0Lm9uc3VjY2VzcyA9ICgpOiB2b2lkID0+IHtcbiAgICAgICAgY29uc3QgZGF0YWJhc2UgPSByZXF1ZXN0LnJlc3VsdDtcbiAgICAgICAgZGF0YWJhc2Uub252ZXJzaW9uY2hhbmdlID0gKCk6IHZvaWQgPT4ge1xuICAgICAgICAgIGRhdGFiYXNlLmNsb3NlKCk7XG4gICAgICAgIH07XG4gICAgICAgIHJlc29sdmUobmV3IExvY2FsRGF0YVN0b3JlKGRhdGFiYXNlKSk7XG4gICAgICB9O1xuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIERlbGV0ZXMgZXZlcnkgcmVjb3JkIGluIHRoaXMgc3RvcmUgb25seS5cbiAgICpcbiAgICogQHJldHVybnMgQSBwcm9taXNlIHRoYXQgcmVzb2x2ZXMgYWZ0ZXIgY29tbWl0LlxuICAgKi9cbiAgcHVibGljIGFzeW5jIGNsZWFyKCk6IFByb21pc2U8dm9pZD4ge1xuICAgIGF3YWl0IHRoaXMucnVuKCdyZWFkd3JpdGUnLCAoc3RvcmUpID0+IHN0b3JlLmNsZWFyKCkpO1xuICB9XG5cbiAgLyoqXG4gICAqIENsb3NlcyB0aGlzIGNvbm5lY3Rpb24gd2l0aG91dCBkZWxldGluZyBpdHMgcmVjb3Jkcy5cbiAgICovXG4gIHB1YmxpYyBjbG9zZSgpOiB2b2lkIHtcbiAgICB0aGlzLmRhdGFiYXNlLmNsb3NlKCk7XG4gIH1cblxuICAvKipcbiAgICogQ29tbWl0cyBzZXZlcmFsIHJlY29yZCBjaGFuZ2VzIGF0b21pY2FsbHkgd2l0aG91dCBzZXJpYWxpemluZyB0aGUgcmVzdCBvZiB0aGUgZGF0YWJhc2UuXG4gICAqXG4gICAqIEBwYXJhbSBwYXJhbXMgLSBXcml0ZXMgYW5kIGRlbGV0aW9ucyBpbiBvbmUgdHJhbnNhY3Rpb24sIG9wdGlvbmFsbHkgYWZ0ZXIgY2xlYXJpbmcgdGhlIHN0b3JlLlxuICAgKiBAcmV0dXJucyBBIHByb21pc2UgdGhhdCByZXNvbHZlcyBvbmx5IGFmdGVyIGFsbCBjaGFuZ2VzIGNvbW1pdC5cbiAgICovXG4gIHB1YmxpYyBhc3luYyBjb21taXQocGFyYW1zOiBMb2NhbERhdGFTdG9yZUNvbW1pdFBhcmFtcyk6IFByb21pc2U8dm9pZD4ge1xuICAgIGF3YWl0IHRoaXMucnVuKCdyZWFkd3JpdGUnLCAoc3RvcmUpID0+IHtcbiAgICAgIGlmIChwYXJhbXMuc2hvdWxkQ2xlYXIpIHtcbiAgICAgICAgc3RvcmUuY2xlYXIoKTtcbiAgICAgIH1cbiAgICAgIGZvciAoY29uc3Qga2V5IG9mIHBhcmFtcy5yZW1vdmVkS2V5cyA/PyBbXSkge1xuICAgICAgICBzdG9yZS5kZWxldGUoa2V5KTtcbiAgICAgIH1cbiAgICAgIGZvciAoY29uc3QgW2tleSwgdmFsdWVdIG9mIHBhcmFtcy5lbnRyaWVzKSB7XG4gICAgICAgIHN0b3JlLnB1dCh2YWx1ZSwga2V5KTtcbiAgICAgIH1cbiAgICAgIHJldHVybiBzdG9yZS5jb3VudCgpO1xuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIERlbGV0ZXMgYSByZWNvcmQuXG4gICAqXG4gICAqIEBwYXJhbSBrZXkgLSBSZWNvcmQga2V5LlxuICAgKiBAcmV0dXJucyBBIHByb21pc2UgdGhhdCByZXNvbHZlcyBhZnRlciBjb21taXQuXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgZGVsZXRlKGtleTogc3RyaW5nKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgYXdhaXQgdGhpcy5ydW4oJ3JlYWR3cml0ZScsIChzdG9yZSkgPT4gc3RvcmUuZGVsZXRlKGtleSkpO1xuICB9XG5cbiAgLyoqXG4gICAqIFJlYWRzIGFsbCByZWNvcmRzIGluIGtleSBvcmRlci5cbiAgICpcbiAgICogQHJldHVybnMgRGV0YWNoZWQga2V5L3ZhbHVlIHBhaXJzLlxuICAgKi9cbiAgcHVibGljIGFzeW5jIGVudHJpZXMoKTogUHJvbWlzZTxbc3RyaW5nLCB1bmtub3duXVtdPiB7XG4gICAgY29uc3QgcmVjb3JkczogW3N0cmluZywgdW5rbm93bl1bXSA9IFtdO1xuICAgIC8vIFR3byBidWxrIHJlYWRzIGluIG9uZSB0cmFuc2FjdGlvbiBzZWUgdGhlIHNhbWUgc25hcHNob3QgaW4gdGhlIHNhbWUga2V5IG9yZGVyLCBzbyB0aGV5IHBhaXIgdXAgYnkgaW5kZXguXG4gICAgLy8gQSBjdXJzb3IgZGlzcGF0Y2hlcyBvbmUgZXZlbnQgcGVyIHJlY29yZCBpbnN0ZWFkOyBhdCA5MCwwMDAgcmVjb3JkcyBpbiBPYnNpZGlhbiBpdCB0b29rIDEuNSB0byAyIHRpbWVzIGFzIGxvbmcuXG4gICAgYXdhaXQgdGhpcy5ydW4oJ3JlYWRvbmx5JywgKHN0b3JlKSA9PiB7XG4gICAgICBjb25zdCBrZXlzUmVxdWVzdCA9IHN0b3JlLmdldEFsbEtleXMoKTtcbiAgICAgIGNvbnN0IHZhbHVlc1JlcXVlc3QgPSBzdG9yZS5nZXRBbGwoKTtcbiAgICAgIHZhbHVlc1JlcXVlc3Qub25zdWNjZXNzID0gKCk6IHZvaWQgPT4ge1xuICAgICAgICBjb25zdCBrZXlzID0ga2V5c1JlcXVlc3QucmVzdWx0O1xuICAgICAgICBjb25zdCB2YWx1ZXMgPSB2YWx1ZXNSZXF1ZXN0LnJlc3VsdDtcbiAgICAgICAgZm9yIChjb25zdCBbaW5kZXgsIGtleV0gb2Yga2V5cy5lbnRyaWVzKCkpIHtcbiAgICAgICAgICBpZiAodHlwZW9mIGtleSAhPT0gJ3N0cmluZycpIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBUeXBlRXJyb3IoJ0xvY2FsIGRhdGEtc3RvcmUga2V5IGlzIG5vdCBhIHN0cmluZycpO1xuICAgICAgICAgIH1cbiAgICAgICAgICByZWNvcmRzLnB1c2goW2tleSwgdmFsdWVzW2luZGV4XV0pO1xuICAgICAgICB9XG4gICAgICB9O1xuICAgICAgcmV0dXJuIHZhbHVlc1JlcXVlc3Q7XG4gICAgfSk7XG4gICAgcmV0dXJuIHJlY29yZHM7XG4gIH1cblxuICAvKipcbiAgICogU2VyaWFsaXplcyBhIHNoYXJlZC1zdG9yZSBvcGVyYXRpb24gYWNyb3NzIGNvbm5lY3Rpb25zLCB3aW5kb3dzIGFuZCBidW5kbGVkIGxpYnJhcnkgY29waWVzLlxuICAgKlxuICAgKiBAdHlwZVBhcmFtIFQgLSBDYWxsYmFjayByZXN1bHQuXG4gICAqIEBwYXJhbSBjYWxsYmFjayAtIFdvcmsgcGVyZm9ybWVkIHdoaWxlIGhvbGRpbmcgdGhpcyBkYXRhYmFzZSdzIFdlYiBMb2NrLlxuICAgKiBAcmV0dXJucyBUaGUgY2FsbGJhY2sgcmVzdWx0IGFmdGVyIHJlbGVhc2luZyB0aGUgbG9jay5cbiAgICovXG4gIHB1YmxpYyBhc3luYyBleGNsdXNpdmU8VD4oY2FsbGJhY2s6ICgpID0+IFByb21pc2U8VD4pOiBQcm9taXNlPFQ+IHtcbiAgICByZXR1cm4gYXdhaXQgd2luZG93Lm5hdmlnYXRvci5sb2Nrcy5yZXF1ZXN0KHRoaXMuZGF0YWJhc2UubmFtZSwgY2FsbGJhY2spO1xuICB9XG5cbiAgLyoqXG4gICAqIFJlYWRzIGEgcmVjb3JkLlxuICAgKlxuICAgKiBAcGFyYW0ga2V5IC0gUmVjb3JkIGtleS5cbiAgICogQHJldHVybnMgSXRzIHZhbHVlLCBvciBgdW5kZWZpbmVkYCB3aGVuIGFic2VudC5cbiAgICovXG4gIHB1YmxpYyBhc3luYyBnZXQoa2V5OiBzdHJpbmcpOiBQcm9taXNlPHVua25vd24+IHtcbiAgICByZXR1cm4gYXdhaXQgdGhpcy5ydW48dW5rbm93bj4oJ3JlYWRvbmx5JywgKHN0b3JlKSA9PiBzdG9yZS5nZXQoa2V5KSk7XG4gIH1cblxuICAvKipcbiAgICogSW5pdGlhbGl6ZXMgYSByZWNvcmQgb25jZSwgYXRvbWljYWxseSBhY3Jvc3MgY29ubmVjdGlvbnMuXG4gICAqXG4gICAqIEBwYXJhbSBrZXkgLSBSZWNvcmQga2V5LlxuICAgKiBAcGFyYW0gdmFsdWUgLSBWYWx1ZSB1c2VkIG9ubHkgd2hlbiB0aGUga2V5IGlzIGFic2VudC5cbiAgICogQHJldHVybnMgVGhlIGV4aXN0aW5nIG9yIG5ld2x5IGNvbW1pdHRlZCB2YWx1ZS5cbiAgICovXG4gIHB1YmxpYyBhc3luYyBnZXRPckNyZWF0ZShrZXk6IHN0cmluZywgdmFsdWU6IHVua25vd24pOiBQcm9taXNlPHVua25vd24+IHtcbiAgICByZXR1cm4gYXdhaXQgdGhpcy5ydW48dW5rbm93bj4oJ3JlYWR3cml0ZScsIChzdG9yZSkgPT4ge1xuICAgICAgY29uc3QgcmVxdWVzdCA9IHN0b3JlLmdldChrZXkpO1xuICAgICAgcmVxdWVzdC5vbnN1Y2Nlc3MgPSAoKTogdm9pZCA9PiB7XG4gICAgICAgIGlmIChyZXF1ZXN0LnJlc3VsdCA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgc3RvcmUucHV0KHZhbHVlLCBrZXkpO1xuICAgICAgICB9XG4gICAgICB9O1xuICAgICAgcmV0dXJuIHJlcXVlc3Q7XG4gICAgfSkudGhlbigoZXhpc3RpbmcpID0+IGV4aXN0aW5nID09PSB1bmRlZmluZWQgPyB2YWx1ZSA6IGV4aXN0aW5nKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBXcml0ZXMgYSBzdHJ1Y3R1cmVkLWNsb25lYWJsZSB2YWx1ZS5cbiAgICpcbiAgICogQHBhcmFtIGtleSAtIFJlY29yZCBrZXkuXG4gICAqIEBwYXJhbSB2YWx1ZSAtIFZhbHVlIHRvIHBlcnNpc3QuXG4gICAqIEByZXR1cm5zIEEgcHJvbWlzZSB0aGF0IHJlc29sdmVzIGFmdGVyIGNvbW1pdC5cbiAgICovXG4gIHB1YmxpYyBhc3luYyBzZXQoa2V5OiBzdHJpbmcsIHZhbHVlOiB1bmtub3duKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgYXdhaXQgdGhpcy5ydW4oJ3JlYWR3cml0ZScsIChzdG9yZSkgPT4gc3RvcmUucHV0KHZhbHVlLCBrZXkpKTtcbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgcnVuPFQ+KG1vZGU6IElEQlRyYW5zYWN0aW9uTW9kZSwgYWN0aW9uOiAoc3RvcmU6IElEQk9iamVjdFN0b3JlKSA9PiBJREJSZXF1ZXN0PFQ+KTogUHJvbWlzZTxUPiB7XG4gICAgcmV0dXJuIGF3YWl0IG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHtcbiAgICAgIGNvbnN0IHRyYW5zYWN0aW9uID0gdGhpcy5kYXRhYmFzZS50cmFuc2FjdGlvbigncmVjb3JkcycsIG1vZGUpO1xuICAgICAgbGV0IHJlcXVlc3Q6IElEQlJlcXVlc3Q8VD47XG4gICAgICB0cnkge1xuICAgICAgICByZXF1ZXN0ID0gYWN0aW9uKHRyYW5zYWN0aW9uLm9iamVjdFN0b3JlKCdyZWNvcmRzJykpO1xuICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgdHJhbnNhY3Rpb24uYWJvcnQoKTtcbiAgICAgICAgcmVqZWN0KGVycm9yIGluc3RhbmNlb2YgRXJyb3IgPyBlcnJvciA6IG5ldyBFcnJvcignTG9jYWwgZGF0YS1zdG9yZSB0cmFuc2FjdGlvbiBmYWlsZWQnLCB7IGNhdXNlOiBlcnJvciB9KSk7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICAgIHRyYW5zYWN0aW9uLm9uY29tcGxldGUgPSAoKTogdm9pZCA9PiB7XG4gICAgICAgIHJlc29sdmUocmVxdWVzdC5yZXN1bHQpO1xuICAgICAgfTtcbiAgICAgIHRyYW5zYWN0aW9uLmFkZEV2ZW50TGlzdGVuZXIoJ2Fib3J0JywgKCk6IHZvaWQgPT4ge1xuICAgICAgICByZWplY3QobmV3IEVycm9yKCdMb2NhbCBkYXRhLXN0b3JlIHRyYW5zYWN0aW9uIGFib3J0ZWQnLCB7IGNhdXNlOiB0cmFuc2FjdGlvbi5lcnJvciB9KSk7XG4gICAgICB9KTtcbiAgICB9KTtcbiAgfVxufVxuXG4vKiBlc2xpbnQtZW5hYmxlIG4vbm8tdW5zdXBwb3J0ZWQtZmVhdHVyZXMvbm9kZS1idWlsdGlucyAtLSBUaGVzZSBhcmUgT2JzaWRpYW4gcmVuZGVyZXIgV2ViIEFQSXMsIG5vdCBOb2RlIGJ1aWx0aW5zLiAqL1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBd0RPLE1BQU0sZUFBZTtBQUFBLEVBQ2xCLFlBQTZCLFVBQXVCO0FBQXZCO0FBQUEsRUFBd0I7QUFBQSxFQUF4QjtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBUXJDLGFBQW9CLEtBQUssUUFBMkQ7QUFDbEYsVUFBTSxPQUFPLGdCQUFnQixLQUFLLFVBQVUsQ0FBQyxPQUFPLFNBQVMsT0FBTyxVQUFVLE9BQU8sT0FBTyxDQUFDLENBQUM7QUFDOUYsVUFBTSxXQUFXLE9BQU8sV0FBVyxXQUFXLEtBQUssTUFBTSxDQUFDO0FBQzFELFdB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
@@ -19,6 +19,14 @@ export interface LocalDataStoreCommitParams {
19
19
  * @default `[]`
20
20
  */
21
21
  readonly removedKeys?: readonly string[];
22
+ /**
23
+ * Deletes every record of this store first, in the same transaction as the writes.
24
+ *
25
+ * Either the store is replaced by `entries` as a whole, or, when the transaction fails, every previous record survives.
26
+ *
27
+ * @default `false`
28
+ */
29
+ readonly shouldClear?: boolean;
22
30
  }
23
31
  /**
24
32
  * Parameters for opening a local store.
@@ -67,7 +75,7 @@ export declare class LocalDataStore {
67
75
  /**
68
76
  * Commits several record changes atomically without serializing the rest of the database.
69
77
  *
70
- * @param params - Writes and deletions in one transaction.
78
+ * @param params - Writes and deletions in one transaction, optionally after clearing the store.
71
79
  * @returns A promise that resolves only after all changes commit.
72
80
  */
73
81
  commit(params: LocalDataStoreCommitParams): Promise<void>;