obsidian-dev-utils 2.25.2 → 2.26.1

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.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,13 @@
1
1
  # CHANGELOG
2
2
 
3
+ ## 2.26.1
4
+
5
+ - Prevent double patching
6
+
7
+ ## 2.26.0
8
+
9
+ - Handle fake attachment folder
10
+
3
11
  ## 2.25.2
4
12
 
5
13
  - Register file in uniqueFileLookup
@@ -29,8 +29,8 @@ __export(AttachmentPath_exports, {
29
29
  module.exports = __toCommonJS(AttachmentPath_exports);
30
30
  var import_Path = require("../Path.cjs");
31
31
  var import_implementations = require("obsidian-typings/implementations");
32
- var import_Object = require("../Object.cjs");
33
32
  var import_TAbstractFile = require("./TAbstractFile.cjs");
33
+ var import_MetadataCache = require("./MetadataCache.cjs");
34
34
  var __import_meta_url = globalThis["import.meta.url"] ?? (() => require("node:url").pathToFileURL(__filename))();
35
35
  var __process = globalThis["process"] ?? {
36
36
  "cwd": () => "/",
@@ -46,18 +46,28 @@ async function getAttachmentFilePath(app, attachmentPathOrFile, notePathOrFile)
46
46
  const note = (0, import_implementations.createTFileInstance)(app.vault, notePath);
47
47
  const ext = (0, import_Path.extname)(attachmentPath);
48
48
  const fileName = (0, import_Path.basename)(attachmentPath, ext);
49
+ const unregisters = [];
49
50
  const originalMkdir = app.vault.adapter.mkdir;
50
- app.vault.adapter.mkdir = async (path) => {
51
- if (new Error().stack?.includes((0, import_Object.nameof)("getAvailablePathForAttachments"))) {
52
- return;
53
- }
54
- return originalMkdir.call(app.vault.adapter, path);
55
- };
51
+ const alreadyPatched = originalMkdir.__patched ?? false;
52
+ if (!alreadyPatched) {
53
+ app.vault.adapter.mkdir = async (path) => {
54
+ const fakeFolder = (0, import_implementations.createTFolderInstance)(app.vault, path);
55
+ const unregister = (0, import_MetadataCache.registerFile)(app, fakeFolder);
56
+ unregisters.push(unregister);
57
+ await Promise.resolve();
58
+ };
59
+ app.vault.adapter.mkdir.__patched = true;
60
+ }
56
61
  try {
57
62
  const path = await app.vault.getAvailablePathForAttachments(fileName, ext.slice(1), note);
58
63
  return path;
59
64
  } finally {
60
- app.vault.adapter.mkdir = originalMkdir;
65
+ if (!alreadyPatched) {
66
+ app.vault.adapter.mkdir = originalMkdir;
67
+ for (const unregister of unregisters) {
68
+ unregister();
69
+ }
70
+ }
61
71
  }
62
72
  }
63
73
  // Annotate the CommonJS export names for ESM import in node:
@@ -65,4 +75,4 @@ async function getAttachmentFilePath(app, attachmentPathOrFile, notePathOrFile)
65
75
  getAttachmentFilePath,
66
76
  getAttachmentFolderPath
67
77
  });
68
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL29ic2lkaWFuL0F0dGFjaG1lbnRQYXRoLnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyJ2YXIgX19pbXBvcnRfbWV0YV91cmwgPSBnbG9iYWxUaGlzW1wiaW1wb3J0Lm1ldGEudXJsXCJdID8/ICgoKT0+cmVxdWlyZShcIm5vZGU6dXJsXCIpLnBhdGhUb0ZpbGVVUkwoX19maWxlbmFtZSkpKCk7XG52YXIgX19wcm9jZXNzID0gZ2xvYmFsVGhpc1tcInByb2Nlc3NcIl0gPz8ge1xuICBcImN3ZFwiOiAoKT0+XCIvXCIsXG4gIFwiZW52XCI6IHt9LFxuICBcInBsYXRmb3JtXCI6IFwiYW5kcm9pZFwiXG59O1xuLyoqXG4gKiBAcGFja2FnZURvY3VtZW50YXRpb24gQXR0YWNobWVudFBhdGhcbiAqIFByb3ZpZGVzIHV0aWxpdHkgZnVuY3Rpb25zIGZvciB3b3JraW5nIHdpdGggYXR0YWNobWVudCBwYXRocy5cbiAqL1xuXG5pbXBvcnQgdHlwZSB7XG4gIEFwcCxcbiAgVmF1bHRcbn0gZnJvbSBcIm9ic2lkaWFuXCI7XG5pbXBvcnQge1xuICBiYXNlbmFtZSxcbiAgZGlybmFtZSxcbiAgZXh0bmFtZVxufSBmcm9tIFwiLi4vUGF0aC50c1wiO1xuaW1wb3J0IHsgY3JlYXRlVEZpbGVJbnN0YW5jZSB9IGZyb20gXCJvYnNpZGlhbi10eXBpbmdzL2ltcGxlbWVudGF0aW9uc1wiO1xuaW1wb3J0IHsgbmFtZW9mIH0gZnJvbSBcIi4uL09iamVjdC50c1wiO1xuaW1wb3J0IHR5cGUgeyBQYXRoT3JGaWxlIH0gZnJvbSBcIi4vVEZpbGUudHNcIjtcbmltcG9ydCB7IGdldFBhdGggfSBmcm9tIFwiLi9UQWJzdHJhY3RGaWxlLnRzXCI7XG5cbi8qKlxuICogUmV0cmlldmVzIHRoZSBhdHRhY2htZW50IGZvbGRlciBwYXRoIGZvciBhIGdpdmVuIG5vdGUuXG4gKlxuICogQHBhcmFtIGFwcCAtIFRoZSBPYnNpZGlhbiBhcHBsaWNhdGlvbiBpbnN0YW5jZS5cbiAqIEBwYXJhbSBub3RlUGF0aE9yRmlsZSAtIFRoZSBwYXRoIG9mIHRoZSBub3RlLlxuICogQHJldHVybnMgQSBwcm9taXNlIHRoYXQgcmVzb2x2ZXMgdG8gdGhlIGF0dGFjaG1lbnQgZm9sZGVyIHBhdGguXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBnZXRBdHRhY2htZW50Rm9sZGVyUGF0aChhcHA6IEFwcCwgbm90ZVBhdGhPckZpbGU6IFBhdGhPckZpbGUpOiBQcm9taXNlPHN0cmluZz4ge1xuICByZXR1cm4gZGlybmFtZShhd2FpdCBnZXRBdHRhY2htZW50RmlsZVBhdGgoYXBwLCBcIkRVTU1ZX0ZJTEUucGRmXCIsIG5vdGVQYXRoT3JGaWxlKSk7XG59XG5cbi8qKlxuICogUmV0cmlldmVzIHRoZSBmaWxlIHBhdGggZm9yIGFuIGF0dGFjaG1lbnQgd2l0aGluIGEgbm90ZS5cbiAqXG4gKiBAcGFyYW0gYXBwIC0gVGhlIE9ic2lkaWFuIGFwcGxpY2F0aW9uIGluc3RhbmNlLlxuICogQHBhcmFtIGF0dGFjaG1lbnRQYXRoT3JGaWxlIC0gVGhlIHBhdGggb2YgdGhlIGF0dGFjaG1lbnQuXG4gKiBAcGFyYW0gbm90ZVBhdGhPckZpbGUgLSBUaGUgcGF0aCBvZiB0aGUgbm90ZS5cbiAqIEByZXR1cm5zIEEgcHJvbWlzZSB0aGF0IHJlc29sdmVzIHRvIHRoZSBmaWxlIHBhdGggb2YgdGhlIGF0dGFjaG1lbnQuXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBnZXRBdHRhY2htZW50RmlsZVBhdGgoYXBwOiBBcHAsIGF0dGFjaG1lbnRQYXRoT3JGaWxlOiBQYXRoT3JGaWxlLCBub3RlUGF0aE9yRmlsZTogUGF0aE9yRmlsZSk6IFByb21pc2U8c3RyaW5nPiB7XG4gIGNvbnN0IGF0dGFjaG1lbnRQYXRoID0gZ2V0UGF0aChhdHRhY2htZW50UGF0aE9yRmlsZSk7XG4gIGNvbnN0IG5vdGVQYXRoID0gZ2V0UGF0aChub3RlUGF0aE9yRmlsZSk7XG4gIGNvbnN0IG5vdGUgPSBjcmVhdGVURmlsZUluc3RhbmNlKGFwcC52YXVsdCwgbm90ZVBhdGgpO1xuICBjb25zdCBleHQgPSBleHRuYW1lKGF0dGFjaG1lbnRQYXRoKTtcbiAgY29uc3QgZmlsZU5hbWUgPSBiYXNlbmFtZShhdHRhY2htZW50UGF0aCwgZXh0KTtcblxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L3VuYm91bmQtbWV0aG9kXG4gIGNvbnN0IG9yaWdpbmFsTWtkaXIgPSBhcHAudmF1bHQuYWRhcHRlci5ta2RpcjtcbiAgYXBwLnZhdWx0LmFkYXB0ZXIubWtkaXIgPSBhc3luYyAocGF0aDogc3RyaW5nKTogUHJvbWlzZTx2b2lkPiA9PiB7XG4gICAgaWYgKG5ldyBFcnJvcigpLnN0YWNrPy5pbmNsdWRlcyhuYW1lb2Y8VmF1bHQ+KFwiZ2V0QXZhaWxhYmxlUGF0aEZvckF0dGFjaG1lbnRzXCIpKSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICByZXR1cm4gb3JpZ2luYWxNa2Rpci5jYWxsKGFwcC52YXVsdC5hZGFwdGVyLCBwYXRoKTtcbiAgfTtcblxuICB0cnkge1xuICAgIGNvbnN0IHBhdGggPSBhd2FpdCBhcHAudmF1bHQuZ2V0QXZhaWxhYmxlUGF0aEZvckF0dGFjaG1lbnRzKGZpbGVOYW1lLCBleHQuc2xpY2UoMSksIG5vdGUpO1xuICAgIHJldHVybiBwYXRoO1xuICB9IGZpbmFsbHkge1xuICAgIGFwcC52YXVsdC5hZGFwdGVyLm1rZGlyID0gb3JpZ2luYWxNa2RpcjtcbiAgfVxufVxuIl0sCiAgIm1hcHBpbmdzIjogIjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFlQSxrQkFJTztBQUNQLDZCQUFvQztBQUNwQyxvQkFBdUI7QUFFdkIsMkJBQXdCO0FBdkJ4QixJQUFJLG9CQUFvQixXQUFXLGlCQUFpQixNQUFNLE1BQUksUUFBUSxVQUFVLEVBQUUsY0FBYyxVQUFVLEdBQUc7QUFDN0csSUFBSSxZQUFZLFdBQVcsU0FBUyxLQUFLO0FBQUEsRUFDdkMsT0FBTyxNQUFJO0FBQUEsRUFDWCxPQUFPLENBQUM7QUFBQSxFQUNSLFlBQVk7QUFDZDtBQTJCQSxlQUFzQix3QkFBd0IsS0FBVSxnQkFBNkM7QUFDbkcsYUFBTyxxQkFBUSxNQUFNLHNCQUFzQixLQUFLLGtCQUFrQixjQUFjLENBQUM7QUFDbkY7QUFVQSxlQUFzQixzQkFBc0IsS0FBVSxzQkFBa0MsZ0JBQTZDO0FBQ25JLFFBQU0scUJBQWlCLDhCQUFRLG9CQUFvQjtBQUNuRCxRQUFNLGVBQVcsOEJBQVEsY0FBYztBQUN2QyxRQUFNLFdBQU8sNENBQW9CLElBQUksT0FBTyxRQUFRO0FBQ3BELFFBQU0sVUFBTSxxQkFBUSxjQUFjO0FBQ2xDLFFBQU0sZUFBVyxzQkFBUyxnQkFBZ0IsR0FBRztBQUc3QyxRQUFNLGdCQUFnQixJQUFJLE1BQU0sUUFBUTtBQUN4QyxNQUFJLE1BQU0sUUFBUSxRQUFRLE9BQU8sU0FBZ0M7QUFDL0QsUUFBSSxJQUFJLE1BQU0sRUFBRSxPQUFPLGFBQVMsc0JBQWMsZ0NBQWdDLENBQUMsR0FBRztBQUNoRjtBQUFBLElBQ0Y7QUFDQSxXQUFPLGNBQWMsS0FBSyxJQUFJLE1BQU0sU0FBUyxJQUFJO0FBQUEsRUFDbkQ7QUFFQSxNQUFJO0FBQ0YsVUFBTSxPQUFPLE1BQU0sSUFBSSxNQUFNLCtCQUErQixVQUFVLElBQUksTUFBTSxDQUFDLEdBQUcsSUFBSTtBQUN4RixXQUFPO0FBQUEsRUFDVCxVQUFFO0FBQ0EsUUFBSSxNQUFNLFFBQVEsUUFBUTtBQUFBLEVBQzVCO0FBQ0Y7IiwKICAibmFtZXMiOiBbXQp9Cg==
78
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL29ic2lkaWFuL0F0dGFjaG1lbnRQYXRoLnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyJ2YXIgX19pbXBvcnRfbWV0YV91cmwgPSBnbG9iYWxUaGlzW1wiaW1wb3J0Lm1ldGEudXJsXCJdID8/ICgoKT0+cmVxdWlyZShcIm5vZGU6dXJsXCIpLnBhdGhUb0ZpbGVVUkwoX19maWxlbmFtZSkpKCk7XG52YXIgX19wcm9jZXNzID0gZ2xvYmFsVGhpc1tcInByb2Nlc3NcIl0gPz8ge1xuICBcImN3ZFwiOiAoKT0+XCIvXCIsXG4gIFwiZW52XCI6IHt9LFxuICBcInBsYXRmb3JtXCI6IFwiYW5kcm9pZFwiXG59O1xuLyoqXG4gKiBAcGFja2FnZURvY3VtZW50YXRpb24gQXR0YWNobWVudFBhdGhcbiAqIFByb3ZpZGVzIHV0aWxpdHkgZnVuY3Rpb25zIGZvciB3b3JraW5nIHdpdGggYXR0YWNobWVudCBwYXRocy5cbiAqL1xuXG5pbXBvcnQgdHlwZSB7IEFwcCB9IGZyb20gXCJvYnNpZGlhblwiO1xuaW1wb3J0IHtcbiAgYmFzZW5hbWUsXG4gIGRpcm5hbWUsXG4gIGV4dG5hbWVcbn0gZnJvbSBcIi4uL1BhdGgudHNcIjtcbmltcG9ydCB7XG4gIGNyZWF0ZVRGaWxlSW5zdGFuY2UsXG4gIGNyZWF0ZVRGb2xkZXJJbnN0YW5jZVxufSBmcm9tIFwib2JzaWRpYW4tdHlwaW5ncy9pbXBsZW1lbnRhdGlvbnNcIjtcbmltcG9ydCB0eXBlIHsgUGF0aE9yRmlsZSB9IGZyb20gXCIuL1RGaWxlLnRzXCI7XG5pbXBvcnQgeyBnZXRQYXRoIH0gZnJvbSBcIi4vVEFic3RyYWN0RmlsZS50c1wiO1xuaW1wb3J0IHsgcmVnaXN0ZXJGaWxlIH0gZnJvbSBcIi4vTWV0YWRhdGFDYWNoZS50c1wiO1xuXG4vKipcbiAqIFJldHJpZXZlcyB0aGUgYXR0YWNobWVudCBmb2xkZXIgcGF0aCBmb3IgYSBnaXZlbiBub3RlLlxuICpcbiAqIEBwYXJhbSBhcHAgLSBUaGUgT2JzaWRpYW4gYXBwbGljYXRpb24gaW5zdGFuY2UuXG4gKiBAcGFyYW0gbm90ZVBhdGhPckZpbGUgLSBUaGUgcGF0aCBvZiB0aGUgbm90ZS5cbiAqIEByZXR1cm5zIEEgcHJvbWlzZSB0aGF0IHJlc29sdmVzIHRvIHRoZSBhdHRhY2htZW50IGZvbGRlciBwYXRoLlxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gZ2V0QXR0YWNobWVudEZvbGRlclBhdGgoYXBwOiBBcHAsIG5vdGVQYXRoT3JGaWxlOiBQYXRoT3JGaWxlKTogUHJvbWlzZTxzdHJpbmc+IHtcbiAgcmV0dXJuIGRpcm5hbWUoYXdhaXQgZ2V0QXR0YWNobWVudEZpbGVQYXRoKGFwcCwgXCJEVU1NWV9GSUxFLnBkZlwiLCBub3RlUGF0aE9yRmlsZSkpO1xufVxuXG4vKipcbiAqIFJldHJpZXZlcyB0aGUgZmlsZSBwYXRoIGZvciBhbiBhdHRhY2htZW50IHdpdGhpbiBhIG5vdGUuXG4gKlxuICogQHBhcmFtIGFwcCAtIFRoZSBPYnNpZGlhbiBhcHBsaWNhdGlvbiBpbnN0YW5jZS5cbiAqIEBwYXJhbSBhdHRhY2htZW50UGF0aE9yRmlsZSAtIFRoZSBwYXRoIG9mIHRoZSBhdHRhY2htZW50LlxuICogQHBhcmFtIG5vdGVQYXRoT3JGaWxlIC0gVGhlIHBhdGggb2YgdGhlIG5vdGUuXG4gKiBAcmV0dXJucyBBIHByb21pc2UgdGhhdCByZXNvbHZlcyB0byB0aGUgZmlsZSBwYXRoIG9mIHRoZSBhdHRhY2htZW50LlxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gZ2V0QXR0YWNobWVudEZpbGVQYXRoKGFwcDogQXBwLCBhdHRhY2htZW50UGF0aE9yRmlsZTogUGF0aE9yRmlsZSwgbm90ZVBhdGhPckZpbGU6IFBhdGhPckZpbGUpOiBQcm9taXNlPHN0cmluZz4ge1xuICBjb25zdCBhdHRhY2htZW50UGF0aCA9IGdldFBhdGgoYXR0YWNobWVudFBhdGhPckZpbGUpO1xuICBjb25zdCBub3RlUGF0aCA9IGdldFBhdGgobm90ZVBhdGhPckZpbGUpO1xuICBjb25zdCBub3RlID0gY3JlYXRlVEZpbGVJbnN0YW5jZShhcHAudmF1bHQsIG5vdGVQYXRoKTtcbiAgY29uc3QgZXh0ID0gZXh0bmFtZShhdHRhY2htZW50UGF0aCk7XG4gIGNvbnN0IGZpbGVOYW1lID0gYmFzZW5hbWUoYXR0YWNobWVudFBhdGgsIGV4dCk7XG5cbiAgdHlwZSBQYXRjaGVkID0ge1xuICAgIF9fcGF0Y2hlZD86IHRydWU7XG4gIH07XG5cbiAgY29uc3QgdW5yZWdpc3RlcnM6ICgoKSA9PiB2b2lkKVtdID0gW107XG5cbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC91bmJvdW5kLW1ldGhvZFxuICBjb25zdCBvcmlnaW5hbE1rZGlyID0gYXBwLnZhdWx0LmFkYXB0ZXIubWtkaXI7XG4gIGNvbnN0IGFscmVhZHlQYXRjaGVkID0gKG9yaWdpbmFsTWtkaXIgYXMgUGF0Y2hlZCkuX19wYXRjaGVkID8/IGZhbHNlO1xuICBpZiAoIWFscmVhZHlQYXRjaGVkKSB7XG4gICAgYXBwLnZhdWx0LmFkYXB0ZXIubWtkaXIgPSBhc3luYyAocGF0aDogc3RyaW5nKTogUHJvbWlzZTx2b2lkPiA9PiB7XG4gICAgICBjb25zdCBmYWtlRm9sZGVyID0gY3JlYXRlVEZvbGRlckluc3RhbmNlKGFwcC52YXVsdCwgcGF0aCk7XG4gICAgICBjb25zdCB1bnJlZ2lzdGVyID0gcmVnaXN0ZXJGaWxlKGFwcCwgZmFrZUZvbGRlcik7XG4gICAgICB1bnJlZ2lzdGVycy5wdXNoKHVucmVnaXN0ZXIpO1xuICAgICAgYXdhaXQgUHJvbWlzZS5yZXNvbHZlKCk7XG4gICAgfTtcbiAgICAoYXBwLnZhdWx0LmFkYXB0ZXIubWtkaXIgYXMgUGF0Y2hlZCkuX19wYXRjaGVkID0gdHJ1ZTtcbiAgfVxuXG4gIHRyeSB7XG4gICAgY29uc3QgcGF0aCA9IGF3YWl0IGFwcC52YXVsdC5nZXRBdmFpbGFibGVQYXRoRm9yQXR0YWNobWVudHMoZmlsZU5hbWUsIGV4dC5zbGljZSgxKSwgbm90ZSk7XG4gICAgcmV0dXJuIHBhdGg7XG4gIH0gZmluYWxseSB7XG4gICAgaWYgKCFhbHJlYWR5UGF0Y2hlZCkge1xuICAgICAgYXBwLnZhdWx0LmFkYXB0ZXIubWtkaXIgPSBvcmlnaW5hbE1rZGlyO1xuICAgICAgZm9yIChjb25zdCB1bnJlZ2lzdGVyIG9mIHVucmVnaXN0ZXJzKSB7XG4gICAgICAgIHVucmVnaXN0ZXIoKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiJdLAogICJtYXBwaW5ncyI6ICI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBWUEsa0JBSU87QUFDUCw2QkFHTztBQUVQLDJCQUF3QjtBQUN4QiwyQkFBNkI7QUF2QjdCLElBQUksb0JBQW9CLFdBQVcsaUJBQWlCLE1BQU0sTUFBSSxRQUFRLFVBQVUsRUFBRSxjQUFjLFVBQVUsR0FBRztBQUM3RyxJQUFJLFlBQVksV0FBVyxTQUFTLEtBQUs7QUFBQSxFQUN2QyxPQUFPLE1BQUk7QUFBQSxFQUNYLE9BQU8sQ0FBQztBQUFBLEVBQ1IsWUFBWTtBQUNkO0FBMkJBLGVBQXNCLHdCQUF3QixLQUFVLGdCQUE2QztBQUNuRyxhQUFPLHFCQUFRLE1BQU0sc0JBQXNCLEtBQUssa0JBQWtCLGNBQWMsQ0FBQztBQUNuRjtBQVVBLGVBQXNCLHNCQUFzQixLQUFVLHNCQUFrQyxnQkFBNkM7QUFDbkksUUFBTSxxQkFBaUIsOEJBQVEsb0JBQW9CO0FBQ25ELFFBQU0sZUFBVyw4QkFBUSxjQUFjO0FBQ3ZDLFFBQU0sV0FBTyw0Q0FBb0IsSUFBSSxPQUFPLFFBQVE7QUFDcEQsUUFBTSxVQUFNLHFCQUFRLGNBQWM7QUFDbEMsUUFBTSxlQUFXLHNCQUFTLGdCQUFnQixHQUFHO0FBTTdDLFFBQU0sY0FBOEIsQ0FBQztBQUdyQyxRQUFNLGdCQUFnQixJQUFJLE1BQU0sUUFBUTtBQUN4QyxRQUFNLGlCQUFrQixjQUEwQixhQUFhO0FBQy9ELE1BQUksQ0FBQyxnQkFBZ0I7QUFDbkIsUUFBSSxNQUFNLFFBQVEsUUFBUSxPQUFPLFNBQWdDO0FBQy9ELFlBQU0saUJBQWEsOENBQXNCLElBQUksT0FBTyxJQUFJO0FBQ3hELFlBQU0saUJBQWEsbUNBQWEsS0FBSyxVQUFVO0FBQy9DLGtCQUFZLEtBQUssVUFBVTtBQUMzQixZQUFNLFFBQVEsUUFBUTtBQUFBLElBQ3hCO0FBQ0EsSUFBQyxJQUFJLE1BQU0sUUFBUSxNQUFrQixZQUFZO0FBQUEsRUFDbkQ7QUFFQSxNQUFJO0FBQ0YsVUFBTSxPQUFPLE1BQU0sSUFBSSxNQUFNLCtCQUErQixVQUFVLElBQUksTUFBTSxDQUFDLEdBQUcsSUFBSTtBQUN4RixXQUFPO0FBQUEsRUFDVCxVQUFFO0FBQ0EsUUFBSSxDQUFDLGdCQUFnQjtBQUNuQixVQUFJLE1BQU0sUUFBUSxRQUFRO0FBQzFCLGlCQUFXLGNBQWMsYUFBYTtBQUNwQyxtQkFBVztBQUFBLE1BQ2I7QUFBQSxJQUNGO0FBQUEsRUFDRjtBQUNGOyIsCiAgIm5hbWVzIjogW10KfQo=
@@ -27,6 +27,7 @@ __export(MetadataCache_exports, {
27
27
  getBacklinksForFileSafe: () => getBacklinksForFileSafe,
28
28
  getCacheSafe: () => getCacheSafe,
29
29
  getFrontMatterSafe: () => getFrontMatterSafe,
30
+ registerFile: () => registerFile,
30
31
  tempRegisterFileAndRun: () => tempRegisterFileAndRun
31
32
  });
32
33
  module.exports = __toCommonJS(MetadataCache_exports);
@@ -134,8 +135,17 @@ async function getFrontMatterSafe(app, pathOrFile) {
134
135
  return cache?.frontmatter ?? {};
135
136
  }
136
137
  function tempRegisterFileAndRun(app, file, fn) {
137
- if (!file.deleted) {
138
+ const unregister = registerFile(app, file);
139
+ try {
138
140
  return fn();
141
+ } finally {
142
+ unregister();
143
+ }
144
+ }
145
+ function registerFile(app, file) {
146
+ if (!file.deleted) {
147
+ return () => {
148
+ };
139
149
  }
140
150
  const deletedPaths = [];
141
151
  let deletedFile = file;
@@ -147,16 +157,14 @@ function tempRegisterFileAndRun(app, file, fn) {
147
157
  if (file instanceof import_obsidian.TFile) {
148
158
  app.metadataCache.uniqueFileLookup.add(file.name.toLowerCase(), file);
149
159
  }
150
- try {
151
- return fn();
152
- } finally {
160
+ return () => {
153
161
  for (const path of deletedPaths) {
154
162
  delete app.vault.fileMap[path];
155
163
  }
156
164
  if (file instanceof import_obsidian.TFile) {
157
165
  app.metadataCache.uniqueFileLookup.remove(file.name.toLowerCase(), file);
158
166
  }
159
- }
167
+ };
160
168
  }
161
169
  // Annotate the CommonJS export names for ESM import in node:
162
170
  0 && (module.exports = {
@@ -164,6 +172,7 @@ function tempRegisterFileAndRun(app, file, fn) {
164
172
  getBacklinksForFileSafe,
165
173
  getCacheSafe,
166
174
  getFrontMatterSafe,
175
+ registerFile,
167
176
  tempRegisterFileAndRun
168
177
  });
169
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL29ic2lkaWFuL01ldGFkYXRhQ2FjaGUudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbInZhciBfX2ltcG9ydF9tZXRhX3VybCA9IGdsb2JhbFRoaXNbXCJpbXBvcnQubWV0YS51cmxcIl0gPz8gKCgpPT5yZXF1aXJlKFwibm9kZTp1cmxcIikucGF0aFRvRmlsZVVSTChfX2ZpbGVuYW1lKSkoKTtcbnZhciBfX3Byb2Nlc3MgPSBnbG9iYWxUaGlzW1wicHJvY2Vzc1wiXSA/PyB7XG4gIFwiY3dkXCI6ICgpPT5cIi9cIixcbiAgXCJlbnZcIjoge30sXG4gIFwicGxhdGZvcm1cIjogXCJhbmRyb2lkXCJcbn07XG4vKipcbiAqIEBwYWNrYWdlRG9jdW1lbnRhdGlvbiBNZXRhZGF0YUNhY2hlXG4gKiBUaGlzIG1vZHVsZSBwcm92aWRlcyB1dGlsaXR5IGZ1bmN0aW9ucyBmb3Igd29ya2luZyB3aXRoIHRoZSBtZXRhZGF0YSBjYWNoZSBpbiBPYnNpZGlhbi5cbiAqL1xuXG5pbXBvcnQge1xuICBURmlsZSxcbiAgdHlwZSBBcHAsXG4gIHR5cGUgQ2FjaGVkTWV0YWRhdGEsXG4gIHR5cGUgTGlua0NhY2hlLFxuICB0eXBlIE1hcmtkb3duVmlldyxcbiAgdHlwZSBSZWZlcmVuY2VDYWNoZSxcbiAgdHlwZSBUQWJzdHJhY3RGaWxlXG59IGZyb20gXCJvYnNpZGlhblwiO1xuaW1wb3J0IHtcbiAgcmV0cnlXaXRoVGltZW91dCxcbiAgdHlwZSBSZXRyeU9wdGlvbnNcbn0gZnJvbSBcIi4uL0FzeW5jLnRzXCI7XG5pbXBvcnQgdHlwZSB7IEN1c3RvbUFycmF5RGljdCB9IGZyb20gXCJvYnNpZGlhbi10eXBpbmdzXCI7XG5pbXBvcnQge1xuICBnZXRQYXRoLFxuICBpc01hcmtkb3duRmlsZVxufSBmcm9tIFwiLi9UQWJzdHJhY3RGaWxlLnRzXCI7XG5pbXBvcnQge1xuICBnZXRGaWxlLFxuICBnZXRGaWxlT3JOdWxsLFxuICB0eXBlIFBhdGhPckZpbGVcbn0gZnJvbSBcIi4vVEZpbGUudHNcIjtcbmltcG9ydCB0eXBlIHsgQ29tYmluZWRGcm9udE1hdHRlciB9IGZyb20gXCIuL0Zyb250TWF0dGVyLnRzXCI7XG5cbi8qKlxuICogUmV0cmlldmVzIHRoZSBjYWNoZWQgbWV0YWRhdGEgZm9yIGEgZ2l2ZW4gZmlsZSBvciBwYXRoLlxuICpcbiAqIEBwYXJhbSBhcHAgLSBUaGUgT2JzaWRpYW4gYXBwIGluc3RhbmNlLlxuICogQHBhcmFtIGZpbGVPclBhdGggLSBUaGUgZmlsZSBvciBwYXRoIHRvIHJldHJpZXZlIHRoZSBtZXRhZGF0YSBmb3IuXG4gKiBAcGFyYW0gcmV0cnlPcHRpb25zIC0gT3B0aW9uYWwgcmV0cnkgb3B0aW9ucyBmb3IgdGhlIHJldHJpZXZhbCBwcm9jZXNzLlxuICogQHJldHVybnMgVGhlIGNhY2hlZCBtZXRhZGF0YSBmb3IgdGhlIGZpbGUsIG9yIG51bGwgaWYgaXQgZG9lc24ndCBleGlzdC5cbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGdldENhY2hlU2FmZShhcHA6IEFwcCwgZmlsZU9yUGF0aDogUGF0aE9yRmlsZSwgcmV0cnlPcHRpb25zOiBQYXJ0aWFsPFJldHJ5T3B0aW9ucz4gPSB7fSk6IFByb21pc2U8Q2FjaGVkTWV0YWRhdGEgfCBudWxsPiB7XG4gIGNvbnN0IERFRkFVTFRfUkVUUllfT1BUSU9OUzogUGFydGlhbDxSZXRyeU9wdGlvbnM+ID0geyB0aW1lb3V0SW5NaWxsaXNlY29uZHM6IDYwMDAwIH07XG4gIGNvbnN0IG92ZXJyaWRkZW5PcHRpb25zOiBQYXJ0aWFsPFJldHJ5T3B0aW9ucz4gPSB7IC4uLkRFRkFVTFRfUkVUUllfT1BUSU9OUywgLi4ucmV0cnlPcHRpb25zIH07XG4gIGxldCBjYWNoZTogQ2FjaGVkTWV0YWRhdGEgfCBudWxsID0gbnVsbDtcblxuICBhd2FpdCByZXRyeVdpdGhUaW1lb3V0KGFzeW5jICgpID0+IHtcbiAgICBjb25zdCBmaWxlID0gZ2V0RmlsZU9yTnVsbChhcHAsIGZpbGVPclBhdGgpO1xuXG4gICAgaWYgKCFmaWxlIHx8IGZpbGUuZGVsZXRlZCkge1xuICAgICAgY2FjaGUgPSBudWxsO1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuXG4gICAgYXdhaXQgc2F2ZU5vdGUoYXBwLCBmaWxlKTtcblxuICAgIGNvbnN0IGZpbGVJbmZvID0gYXBwLm1ldGFkYXRhQ2FjaGUuZ2V0RmlsZUluZm8oZmlsZS5wYXRoKTtcbiAgICBjb25zdCBzdGF0ID0gYXdhaXQgYXBwLnZhdWx0LmFkYXB0ZXIuc3RhdChmaWxlLnBhdGgpO1xuXG4gICAgaWYgKCFmaWxlSW5mbykge1xuICAgICAgY29uc29sZS5kZWJ1ZyhgRmlsZSBjYWNoZSBpbmZvIGZvciAke2ZpbGUucGF0aH0gaXMgbWlzc2luZ2ApO1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH0gZWxzZSBpZiAoIXN0YXQpIHtcbiAgICAgIGNvbnNvbGUuZGVidWcoYEZpbGUgc3RhdCBmb3IgJHtmaWxlLnBhdGh9IGlzIG1pc3NpbmdgKTtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9IGVsc2UgaWYgKGZpbGVJbmZvLm10aW1lIDwgc3RhdC5tdGltZSkge1xuICAgICAgY29uc29sZS5kZWJ1ZyhgRmlsZSBjYWNoZSBpbmZvIGZvciAke2ZpbGUucGF0aH0gaXMgZnJvbSAke25ldyBEYXRlKGZpbGVJbmZvLm10aW1lKS50b1N0cmluZygpfSB3aGljaCBpcyBvbGRlciB0aGFuIHRoZSBmaWxlIG1vZGlmaWNhdGlvbiB0aW1lc3RhbXAgJHtuZXcgRGF0ZShzdGF0Lm10aW1lKS50b1N0cmluZygpfWApO1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH0gZWxzZSB7XG4gICAgICBjYWNoZSA9IGFwcC5tZXRhZGF0YUNhY2hlLmdldEZpbGVDYWNoZShmaWxlKTtcbiAgICAgIGlmICghY2FjaGUpIHtcbiAgICAgICAgY29uc29sZS5kZWJ1ZyhgRmlsZSBjYWNoZSBmb3IgJHtmaWxlLnBhdGh9IGlzIG1pc3NpbmdgKTtcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICB9XG4gICAgfVxuICB9LCBvdmVycmlkZGVuT3B0aW9ucyk7XG5cbiAgcmV0dXJuIGNhY2hlO1xufVxuXG4vKipcbiAqIFJldHJpZXZlcyBhbGwgbGlua3MgZnJvbSB0aGUgcHJvdmlkZWQgY2FjaGUuXG4gKlxuICogQHBhcmFtIGNhY2hlIC0gVGhlIGNhY2hlZCBtZXRhZGF0YS5cbiAqIEByZXR1cm5zIEFuIGFycmF5IG9mIHJlZmVyZW5jZSBjYWNoZXMgcmVwcmVzZW50aW5nIHRoZSBsaW5rcy5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldEFsbExpbmtzKGNhY2hlOiBDYWNoZWRNZXRhZGF0YSk6IFJlZmVyZW5jZUNhY2hlW10ge1xuICBsZXQgbGlua3M6IFJlZmVyZW5jZUNhY2hlW10gPSBbXTtcblxuICBpZiAoY2FjaGUubGlua3MpIHtcbiAgICBsaW5rcy5wdXNoKC4uLmNhY2hlLmxpbmtzKTtcbiAgfVxuXG4gIGlmIChjYWNoZS5lbWJlZHMpIHtcbiAgICBsaW5rcy5wdXNoKC4uLmNhY2hlLmVtYmVkcyk7XG4gIH1cblxuICBsaW5rcy5zb3J0KChhLCBiKSA9PiBhLnBvc2l0aW9uLnN0YXJ0Lm9mZnNldCAtIGIucG9zaXRpb24uc3RhcnQub2Zmc2V0KTtcblxuICAvLyBCVUc6IGh0dHBzOi8vZm9ydW0ub2JzaWRpYW4ubWQvdC9idWctZHVwbGljYXRlZC1saW5rcy1pbi1tZXRhZGF0YWNhY2hlLWluc2lkZS1mb290bm90ZXMvODU1NTFcbiAgbGlua3MgPSBsaW5rcy5maWx0ZXIoKGxpbmssIGluZGV4KSA9PiB7XG4gICAgaWYgKGluZGV4ID09PSAwKSB7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gICAgcmV0dXJuIGxpbmsucG9zaXRpb24uc3RhcnQub2Zmc2V0ICE9PSBsaW5rc1tpbmRleCAtIDFdIS5wb3NpdGlvbi5zdGFydC5vZmZzZXQ7XG4gIH0pO1xuXG4gIHJldHVybiBsaW5rcztcbn1cblxuLyoqXG4gKiBSZXRyaWV2ZXMgdGhlIGJhY2tsaW5rcyBmb3IgYSBmaWxlIHNhZmVseS5cbiAqXG4gKiBAcGFyYW0gYXBwIC0gVGhlIE9ic2lkaWFuIGFwcGxpY2F0aW9uIGluc3RhbmNlLlxuICogQHBhcmFtIHBhdGhPckZpbGUgLSBUaGUgcGF0aCBvciBmaWxlIG9iamVjdC5cbiAqIEBwYXJhbSByZXRyeU9wdGlvbnMgLSBPcHRpb25hbCByZXRyeSBvcHRpb25zLlxuICogQHJldHVybnMgQSBwcm9taXNlIHRoYXQgcmVzb2x2ZXMgdG8gYW4gYXJyYXkgZGljdGlvbmFyeSBvZiBiYWNrbGlua3MuXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBnZXRCYWNrbGlua3NGb3JGaWxlU2FmZShhcHA6IEFwcCwgcGF0aE9yRmlsZTogUGF0aE9yRmlsZSwgcmV0cnlPcHRpb25zOiBQYXJ0aWFsPFJldHJ5T3B0aW9ucz4gPSB7fSk6IFByb21pc2U8Q3VzdG9tQXJyYXlEaWN0PExpbmtDYWNoZT4+IHtcbiAgY29uc3QgREVGQVVMVF9SRVRSWV9PUFRJT05TOiBQYXJ0aWFsPFJldHJ5T3B0aW9ucz4gPSB7IHRpbWVvdXRJbk1pbGxpc2Vjb25kczogNjAwMDAgfTtcbiAgY29uc3Qgb3ZlcnJpZGRlbk9wdGlvbnM6IFBhcnRpYWw8UmV0cnlPcHRpb25zPiA9IHsgLi4uREVGQVVMVF9SRVRSWV9PUFRJT05TLCAuLi5yZXRyeU9wdGlvbnMgfTtcbiAgbGV0IGJhY2tsaW5rczogQ3VzdG9tQXJyYXlEaWN0PExpbmtDYWNoZT4gfCBudWxsID0gbnVsbDtcbiAgYXdhaXQgcmV0cnlXaXRoVGltZW91dChhc3luYyAoKSA9PiB7XG4gICAgY29uc3QgZmlsZSA9IGdldEZpbGUoYXBwLCBwYXRoT3JGaWxlKTtcbiAgICBiYWNrbGlua3MgPSB0ZW1wUmVnaXN0ZXJGaWxlQW5kUnVuKGFwcCwgZmlsZSwgKCkgPT4gYXBwLm1ldGFkYXRhQ2FjaGUuZ2V0QmFja2xpbmtzRm9yRmlsZShmaWxlKSk7XG4gICAgZm9yIChjb25zdCBub3RlUGF0aCBvZiBiYWNrbGlua3Mua2V5cygpKSB7XG4gICAgICBjb25zdCBub3RlID0gYXBwLnZhdWx0LmdldEZpbGVCeVBhdGgobm90ZVBhdGgpO1xuICAgICAgaWYgKCFub3RlKSB7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgIH1cblxuICAgICAgYXdhaXQgc2F2ZU5vdGUoYXBwLCBub3RlKTtcblxuICAgICAgY29uc3QgY29udGVudCA9IGF3YWl0IGFwcC52YXVsdC5yZWFkKG5vdGUpO1xuICAgICAgY29uc3QgbGlua3MgPSBiYWNrbGlua3MuZ2V0KG5vdGVQYXRoKSE7XG4gICAgICBmb3IgKGNvbnN0IGxpbmsgb2YgbGlua3MpIHtcbiAgICAgICAgY29uc3QgYWN0dWFsTGluayA9IGNvbnRlbnQuc2xpY2UobGluay5wb3NpdGlvbi5zdGFydC5vZmZzZXQsIGxpbmsucG9zaXRpb24uZW5kLm9mZnNldCk7XG4gICAgICAgIGlmIChhY3R1YWxMaW5rICE9PSBsaW5rLm9yaWdpbmFsKSB7XG4gICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIHRydWU7XG4gIH0sIG92ZXJyaWRkZW5PcHRpb25zKTtcblxuICByZXR1cm4gYmFja2xpbmtzITtcbn1cblxuLyoqXG4gKiBTYXZlcyB0aGUgc3BlY2lmaWVkIG5vdGUgaW4gdGhlIE9ic2lkaWFuIGFwcC5cbiAqXG4gKiBAcGFyYW0gYXBwIC0gVGhlIE9ic2lkaWFuIGFwcCBpbnN0YW5jZS5cbiAqIEBwYXJhbSBwYXRoT3JGaWxlIC0gVGhlIG5vdGUgdG8gYmUgc2F2ZWQuXG4gKiBAcmV0dXJucyBBIHByb21pc2UgdGhhdCByZXNvbHZlcyB3aGVuIHRoZSBub3RlIGlzIHNhdmVkLlxuICovXG5hc3luYyBmdW5jdGlvbiBzYXZlTm90ZShhcHA6IEFwcCwgcGF0aE9yRmlsZTogUGF0aE9yRmlsZSk6IFByb21pc2U8dm9pZD4ge1xuICBpZiAoIWlzTWFya2Rvd25GaWxlKHBhdGhPckZpbGUpKSB7XG4gICAgcmV0dXJuO1xuICB9XG5cbiAgY29uc3QgcGF0aCA9IGdldFBhdGgocGF0aE9yRmlsZSk7XG5cbiAgZm9yIChjb25zdCBsZWFmIG9mIGFwcC53b3Jrc3BhY2UuZ2V0TGVhdmVzT2ZUeXBlKFwibWFya2Rvd25cIikpIHtcbiAgICBjb25zdCB2aWV3ID0gbGVhZi52aWV3IGFzIE1hcmtkb3duVmlldztcbiAgICBpZiAodmlldy5maWxlPy5wYXRoID09PSBwYXRoKSB7XG4gICAgICBhd2FpdCB2aWV3LnNhdmUoKTtcbiAgICB9XG4gIH1cbn1cblxuLyoqXG4gKiBSZXRyaWV2ZXMgdGhlIGZyb250IG1hdHRlciBmcm9tIHRoZSBtZXRhZGF0YSBjYWNoZSBzYWZlbHkuXG4gKlxuICogQHR5cGVQYXJhbSBDdXN0b21Gcm9udE1hdHRlciAtIFRoZSB0eXBlIG9mIGN1c3RvbSBmcm9udCBtYXR0ZXIuXG4gKiBAcGFyYW0gYXBwIC0gVGhlIE9ic2lkaWFuIGFwcCBpbnN0YW5jZS5cbiAqIEBwYXJhbSBwYXRoT3JGaWxlIC0gVGhlIHBhdGggb3IgZmlsZSB0byByZXRyaWV2ZSB0aGUgZnJvbnQgbWF0dGVyIGZyb20uXG4gKiBAcmV0dXJucyBUaGUgY29tYmluZWQgZnJvbnQgbWF0dGVyLlxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gZ2V0RnJvbnRNYXR0ZXJTYWZlPEN1c3RvbUZyb250TWF0dGVyID0gdW5rbm93bj4oYXBwOiBBcHAsIHBhdGhPckZpbGU6IFBhdGhPckZpbGUpOiBQcm9taXNlPENvbWJpbmVkRnJvbnRNYXR0ZXI8Q3VzdG9tRnJvbnRNYXR0ZXI+PiB7XG4gIGNvbnN0IGNhY2hlID0gYXdhaXQgZ2V0Q2FjaGVTYWZlKGFwcCwgcGF0aE9yRmlsZSk7XG4gIHJldHVybiAoY2FjaGU/LmZyb250bWF0dGVyID8/IHt9KSBhcyBDb21iaW5lZEZyb250TWF0dGVyPEN1c3RvbUZyb250TWF0dGVyPjtcbn1cblxuLyoqXG4gKiBUZW1wb3JhcmlseSByZWdpc3RlcnMgYSBmaWxlIGFuZCBydW5zIGEgZnVuY3Rpb24uXG4gKlxuICogQHBhcmFtIGFwcCAtIFRoZSBPYnNpZGlhbiBhcHAgaW5zdGFuY2UuXG4gKiBAcGFyYW0gZmlsZSAtIFRoZSBmaWxlIHRvIHRlbXBvcmFyaWx5IHJlZ2lzdGVyLlxuICogQHBhcmFtIGZuIC0gVGhlIGZ1bmN0aW9uIHRvIHJ1bi5cbiAqIEByZXR1cm5zIFRoZSByZXN1bHQgb2YgdGhlIGZ1bmN0aW9uLlxuICovXG5leHBvcnQgZnVuY3Rpb24gdGVtcFJlZ2lzdGVyRmlsZUFuZFJ1bjxUPihhcHA6IEFwcCwgZmlsZTogVEFic3RyYWN0RmlsZSwgZm46ICgpID0+IFQpOiBUIHtcbiAgaWYgKCFmaWxlLmRlbGV0ZWQpIHtcbiAgICByZXR1cm4gZm4oKTtcbiAgfVxuXG4gIGNvbnN0IGRlbGV0ZWRQYXRoczogc3RyaW5nW10gPSBbXTtcblxuICBsZXQgZGVsZXRlZEZpbGU6IFRBYnN0cmFjdEZpbGUgPSBmaWxlO1xuXG4gIHdoaWxlIChkZWxldGVkRmlsZS5kZWxldGVkKSB7XG4gICAgZGVsZXRlZFBhdGhzLnB1c2goZGVsZXRlZEZpbGUucGF0aCk7XG4gICAgYXBwLnZhdWx0LmZpbGVNYXBbZGVsZXRlZEZpbGUucGF0aF0gPSBkZWxldGVkRmlsZTtcbiAgICBkZWxldGVkRmlsZSA9IGRlbGV0ZWRGaWxlLnBhcmVudCE7XG4gIH1cblxuICBpZiAoZmlsZSBpbnN0YW5jZW9mIFRGaWxlKSB7XG4gICAgYXBwLm1ldGFkYXRhQ2FjaGUudW5pcXVlRmlsZUxvb2t1cC5hZGQoZmlsZS5uYW1lLnRvTG93ZXJDYXNlKCksIGZpbGUpO1xuICB9XG5cbiAgdHJ5IHtcbiAgICByZXR1cm4gZm4oKTtcbiAgfSBmaW5hbGx5IHtcbiAgICBmb3IgKGNvbnN0IHBhdGggb2YgZGVsZXRlZFBhdGhzKSB7XG4gICAgICBkZWxldGUgYXBwLnZhdWx0LmZpbGVNYXBbcGF0aF07XG4gICAgfVxuXG4gICAgaWYgKGZpbGUgaW5zdGFuY2VvZiBURmlsZSkge1xuICAgICAgYXBwLm1ldGFkYXRhQ2FjaGUudW5pcXVlRmlsZUxvb2t1cC5yZW1vdmUoZmlsZS5uYW1lLnRvTG93ZXJDYXNlKCksIGZpbGUpO1xuICAgIH1cbiAgfVxufVxuIl0sCiAgIm1hcHBpbmdzIjogIjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFXQSxzQkFRTztBQUNQLG1CQUdPO0FBRVAsMkJBR087QUFDUCxtQkFJTztBQWpDUCxJQUFJLG9CQUFvQixXQUFXLGlCQUFpQixNQUFNLE1BQUksUUFBUSxVQUFVLEVBQUUsY0FBYyxVQUFVLEdBQUc7QUFDN0csSUFBSSxZQUFZLFdBQVcsU0FBUyxLQUFLO0FBQUEsRUFDdkMsT0FBTyxNQUFJO0FBQUEsRUFDWCxPQUFPLENBQUM7QUFBQSxFQUNSLFlBQVk7QUFDZDtBQXVDQSxlQUFzQixhQUFhLEtBQVUsWUFBd0IsZUFBc0MsQ0FBQyxHQUFtQztBQUM3SSxRQUFNLHdCQUErQyxFQUFFLHVCQUF1QixJQUFNO0FBQ3BGLFFBQU0sb0JBQTJDLEVBQUUsR0FBRyx1QkFBdUIsR0FBRyxhQUFhO0FBQzdGLE1BQUksUUFBK0I7QUFFbkMsWUFBTSwrQkFBaUIsWUFBWTtBQUNqQyxVQUFNLFdBQU8sNEJBQWMsS0FBSyxVQUFVO0FBRTFDLFFBQUksQ0FBQyxRQUFRLEtBQUssU0FBUztBQUN6QixjQUFRO0FBQ1IsYUFBTztBQUFBLElBQ1Q7QUFFQSxVQUFNLFNBQVMsS0FBSyxJQUFJO0FBRXhCLFVBQU0sV0FBVyxJQUFJLGNBQWMsWUFBWSxLQUFLLElBQUk7QUFDeEQsVUFBTSxPQUFPLE1BQU0sSUFBSSxNQUFNLFFBQVEsS0FBSyxLQUFLLElBQUk7QUFFbkQsUUFBSSxDQUFDLFVBQVU7QUFDYixjQUFRLE1BQU0sdUJBQXVCLEtBQUssSUFBSSxhQUFhO0FBQzNELGFBQU87QUFBQSxJQUNULFdBQVcsQ0FBQyxNQUFNO0FBQ2hCLGNBQVEsTUFBTSxpQkFBaUIsS0FBSyxJQUFJLGFBQWE7QUFDckQs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
178
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vc3JjL29ic2lkaWFuL01ldGFkYXRhQ2FjaGUudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbInZhciBfX2ltcG9ydF9tZXRhX3VybCA9IGdsb2JhbFRoaXNbXCJpbXBvcnQubWV0YS51cmxcIl0gPz8gKCgpPT5yZXF1aXJlKFwibm9kZTp1cmxcIikucGF0aFRvRmlsZVVSTChfX2ZpbGVuYW1lKSkoKTtcbnZhciBfX3Byb2Nlc3MgPSBnbG9iYWxUaGlzW1wicHJvY2Vzc1wiXSA/PyB7XG4gIFwiY3dkXCI6ICgpPT5cIi9cIixcbiAgXCJlbnZcIjoge30sXG4gIFwicGxhdGZvcm1cIjogXCJhbmRyb2lkXCJcbn07XG4vKipcbiAqIEBwYWNrYWdlRG9jdW1lbnRhdGlvbiBNZXRhZGF0YUNhY2hlXG4gKiBUaGlzIG1vZHVsZSBwcm92aWRlcyB1dGlsaXR5IGZ1bmN0aW9ucyBmb3Igd29ya2luZyB3aXRoIHRoZSBtZXRhZGF0YSBjYWNoZSBpbiBPYnNpZGlhbi5cbiAqL1xuXG5pbXBvcnQge1xuICBURmlsZSxcbiAgdHlwZSBBcHAsXG4gIHR5cGUgQ2FjaGVkTWV0YWRhdGEsXG4gIHR5cGUgTGlua0NhY2hlLFxuICB0eXBlIE1hcmtkb3duVmlldyxcbiAgdHlwZSBSZWZlcmVuY2VDYWNoZSxcbiAgdHlwZSBUQWJzdHJhY3RGaWxlXG59IGZyb20gXCJvYnNpZGlhblwiO1xuaW1wb3J0IHtcbiAgcmV0cnlXaXRoVGltZW91dCxcbiAgdHlwZSBSZXRyeU9wdGlvbnNcbn0gZnJvbSBcIi4uL0FzeW5jLnRzXCI7XG5pbXBvcnQgdHlwZSB7IEN1c3RvbUFycmF5RGljdCB9IGZyb20gXCJvYnNpZGlhbi10eXBpbmdzXCI7XG5pbXBvcnQge1xuICBnZXRQYXRoLFxuICBpc01hcmtkb3duRmlsZVxufSBmcm9tIFwiLi9UQWJzdHJhY3RGaWxlLnRzXCI7XG5pbXBvcnQge1xuICBnZXRGaWxlLFxuICBnZXRGaWxlT3JOdWxsLFxuICB0eXBlIFBhdGhPckZpbGVcbn0gZnJvbSBcIi4vVEZpbGUudHNcIjtcbmltcG9ydCB0eXBlIHsgQ29tYmluZWRGcm9udE1hdHRlciB9IGZyb20gXCIuL0Zyb250TWF0dGVyLnRzXCI7XG5cbi8qKlxuICogUmV0cmlldmVzIHRoZSBjYWNoZWQgbWV0YWRhdGEgZm9yIGEgZ2l2ZW4gZmlsZSBvciBwYXRoLlxuICpcbiAqIEBwYXJhbSBhcHAgLSBUaGUgT2JzaWRpYW4gYXBwIGluc3RhbmNlLlxuICogQHBhcmFtIGZpbGVPclBhdGggLSBUaGUgZmlsZSBvciBwYXRoIHRvIHJldHJpZXZlIHRoZSBtZXRhZGF0YSBmb3IuXG4gKiBAcGFyYW0gcmV0cnlPcHRpb25zIC0gT3B0aW9uYWwgcmV0cnkgb3B0aW9ucyBmb3IgdGhlIHJldHJpZXZhbCBwcm9jZXNzLlxuICogQHJldHVybnMgVGhlIGNhY2hlZCBtZXRhZGF0YSBmb3IgdGhlIGZpbGUsIG9yIG51bGwgaWYgaXQgZG9lc24ndCBleGlzdC5cbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGdldENhY2hlU2FmZShhcHA6IEFwcCwgZmlsZU9yUGF0aDogUGF0aE9yRmlsZSwgcmV0cnlPcHRpb25zOiBQYXJ0aWFsPFJldHJ5T3B0aW9ucz4gPSB7fSk6IFByb21pc2U8Q2FjaGVkTWV0YWRhdGEgfCBudWxsPiB7XG4gIGNvbnN0IERFRkFVTFRfUkVUUllfT1BUSU9OUzogUGFydGlhbDxSZXRyeU9wdGlvbnM+ID0geyB0aW1lb3V0SW5NaWxsaXNlY29uZHM6IDYwMDAwIH07XG4gIGNvbnN0IG92ZXJyaWRkZW5PcHRpb25zOiBQYXJ0aWFsPFJldHJ5T3B0aW9ucz4gPSB7IC4uLkRFRkFVTFRfUkVUUllfT1BUSU9OUywgLi4ucmV0cnlPcHRpb25zIH07XG4gIGxldCBjYWNoZTogQ2FjaGVkTWV0YWRhdGEgfCBudWxsID0gbnVsbDtcblxuICBhd2FpdCByZXRyeVdpdGhUaW1lb3V0KGFzeW5jICgpID0+IHtcbiAgICBjb25zdCBmaWxlID0gZ2V0RmlsZU9yTnVsbChhcHAsIGZpbGVPclBhdGgpO1xuXG4gICAgaWYgKCFmaWxlIHx8IGZpbGUuZGVsZXRlZCkge1xuICAgICAgY2FjaGUgPSBudWxsO1xuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfVxuXG4gICAgYXdhaXQgc2F2ZU5vdGUoYXBwLCBmaWxlKTtcblxuICAgIGNvbnN0IGZpbGVJbmZvID0gYXBwLm1ldGFkYXRhQ2FjaGUuZ2V0RmlsZUluZm8oZmlsZS5wYXRoKTtcbiAgICBjb25zdCBzdGF0ID0gYXdhaXQgYXBwLnZhdWx0LmFkYXB0ZXIuc3RhdChmaWxlLnBhdGgpO1xuXG4gICAgaWYgKCFmaWxlSW5mbykge1xuICAgICAgY29uc29sZS5kZWJ1ZyhgRmlsZSBjYWNoZSBpbmZvIGZvciAke2ZpbGUucGF0aH0gaXMgbWlzc2luZ2ApO1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH0gZWxzZSBpZiAoIXN0YXQpIHtcbiAgICAgIGNvbnNvbGUuZGVidWcoYEZpbGUgc3RhdCBmb3IgJHtmaWxlLnBhdGh9IGlzIG1pc3NpbmdgKTtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9IGVsc2UgaWYgKGZpbGVJbmZvLm10aW1lIDwgc3RhdC5tdGltZSkge1xuICAgICAgY29uc29sZS5kZWJ1ZyhgRmlsZSBjYWNoZSBpbmZvIGZvciAke2ZpbGUucGF0aH0gaXMgZnJvbSAke25ldyBEYXRlKGZpbGVJbmZvLm10aW1lKS50b1N0cmluZygpfSB3aGljaCBpcyBvbGRlciB0aGFuIHRoZSBmaWxlIG1vZGlmaWNhdGlvbiB0aW1lc3RhbXAgJHtuZXcgRGF0ZShzdGF0Lm10aW1lKS50b1N0cmluZygpfWApO1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH0gZWxzZSB7XG4gICAgICBjYWNoZSA9IGFwcC5tZXRhZGF0YUNhY2hlLmdldEZpbGVDYWNoZShmaWxlKTtcbiAgICAgIGlmICghY2FjaGUpIHtcbiAgICAgICAgY29uc29sZS5kZWJ1ZyhgRmlsZSBjYWNoZSBmb3IgJHtmaWxlLnBhdGh9IGlzIG1pc3NpbmdgKTtcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICB9XG4gICAgfVxuICB9LCBvdmVycmlkZGVuT3B0aW9ucyk7XG5cbiAgcmV0dXJuIGNhY2hlO1xufVxuXG4vKipcbiAqIFJldHJpZXZlcyBhbGwgbGlua3MgZnJvbSB0aGUgcHJvdmlkZWQgY2FjaGUuXG4gKlxuICogQHBhcmFtIGNhY2hlIC0gVGhlIGNhY2hlZCBtZXRhZGF0YS5cbiAqIEByZXR1cm5zIEFuIGFycmF5IG9mIHJlZmVyZW5jZSBjYWNoZXMgcmVwcmVzZW50aW5nIHRoZSBsaW5rcy5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldEFsbExpbmtzKGNhY2hlOiBDYWNoZWRNZXRhZGF0YSk6IFJlZmVyZW5jZUNhY2hlW10ge1xuICBsZXQgbGlua3M6IFJlZmVyZW5jZUNhY2hlW10gPSBbXTtcblxuICBpZiAoY2FjaGUubGlua3MpIHtcbiAgICBsaW5rcy5wdXNoKC4uLmNhY2hlLmxpbmtzKTtcbiAgfVxuXG4gIGlmIChjYWNoZS5lbWJlZHMpIHtcbiAgICBsaW5rcy5wdXNoKC4uLmNhY2hlLmVtYmVkcyk7XG4gIH1cblxuICBsaW5rcy5zb3J0KChhLCBiKSA9PiBhLnBvc2l0aW9uLnN0YXJ0Lm9mZnNldCAtIGIucG9zaXRpb24uc3RhcnQub2Zmc2V0KTtcblxuICAvLyBCVUc6IGh0dHBzOi8vZm9ydW0ub2JzaWRpYW4ubWQvdC9idWctZHVwbGljYXRlZC1saW5rcy1pbi1tZXRhZGF0YWNhY2hlLWluc2lkZS1mb290bm90ZXMvODU1NTFcbiAgbGlua3MgPSBsaW5rcy5maWx0ZXIoKGxpbmssIGluZGV4KSA9PiB7XG4gICAgaWYgKGluZGV4ID09PSAwKSB7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gICAgcmV0dXJuIGxpbmsucG9zaXRpb24uc3RhcnQub2Zmc2V0ICE9PSBsaW5rc1tpbmRleCAtIDFdIS5wb3NpdGlvbi5zdGFydC5vZmZzZXQ7XG4gIH0pO1xuXG4gIHJldHVybiBsaW5rcztcbn1cblxuLyoqXG4gKiBSZXRyaWV2ZXMgdGhlIGJhY2tsaW5rcyBmb3IgYSBmaWxlIHNhZmVseS5cbiAqXG4gKiBAcGFyYW0gYXBwIC0gVGhlIE9ic2lkaWFuIGFwcGxpY2F0aW9uIGluc3RhbmNlLlxuICogQHBhcmFtIHBhdGhPckZpbGUgLSBUaGUgcGF0aCBvciBmaWxlIG9iamVjdC5cbiAqIEBwYXJhbSByZXRyeU9wdGlvbnMgLSBPcHRpb25hbCByZXRyeSBvcHRpb25zLlxuICogQHJldHVybnMgQSBwcm9taXNlIHRoYXQgcmVzb2x2ZXMgdG8gYW4gYXJyYXkgZGljdGlvbmFyeSBvZiBiYWNrbGlua3MuXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBnZXRCYWNrbGlua3NGb3JGaWxlU2FmZShhcHA6IEFwcCwgcGF0aE9yRmlsZTogUGF0aE9yRmlsZSwgcmV0cnlPcHRpb25zOiBQYXJ0aWFsPFJldHJ5T3B0aW9ucz4gPSB7fSk6IFByb21pc2U8Q3VzdG9tQXJyYXlEaWN0PExpbmtDYWNoZT4+IHtcbiAgY29uc3QgREVGQVVMVF9SRVRSWV9PUFRJT05TOiBQYXJ0aWFsPFJldHJ5T3B0aW9ucz4gPSB7IHRpbWVvdXRJbk1pbGxpc2Vjb25kczogNjAwMDAgfTtcbiAgY29uc3Qgb3ZlcnJpZGRlbk9wdGlvbnM6IFBhcnRpYWw8UmV0cnlPcHRpb25zPiA9IHsgLi4uREVGQVVMVF9SRVRSWV9PUFRJT05TLCAuLi5yZXRyeU9wdGlvbnMgfTtcbiAgbGV0IGJhY2tsaW5rczogQ3VzdG9tQXJyYXlEaWN0PExpbmtDYWNoZT4gfCBudWxsID0gbnVsbDtcbiAgYXdhaXQgcmV0cnlXaXRoVGltZW91dChhc3luYyAoKSA9PiB7XG4gICAgY29uc3QgZmlsZSA9IGdldEZpbGUoYXBwLCBwYXRoT3JGaWxlKTtcbiAgICBiYWNrbGlua3MgPSB0ZW1wUmVnaXN0ZXJGaWxlQW5kUnVuKGFwcCwgZmlsZSwgKCkgPT4gYXBwLm1ldGFkYXRhQ2FjaGUuZ2V0QmFja2xpbmtzRm9yRmlsZShmaWxlKSk7XG4gICAgZm9yIChjb25zdCBub3RlUGF0aCBvZiBiYWNrbGlua3Mua2V5cygpKSB7XG4gICAgICBjb25zdCBub3RlID0gYXBwLnZhdWx0LmdldEZpbGVCeVBhdGgobm90ZVBhdGgpO1xuICAgICAgaWYgKCFub3RlKSB7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgIH1cblxuICAgICAgYXdhaXQgc2F2ZU5vdGUoYXBwLCBub3RlKTtcblxuICAgICAgY29uc3QgY29udGVudCA9IGF3YWl0IGFwcC52YXVsdC5yZWFkKG5vdGUpO1xuICAgICAgY29uc3QgbGlua3MgPSBiYWNrbGlua3MuZ2V0KG5vdGVQYXRoKSE7XG4gICAgICBmb3IgKGNvbnN0IGxpbmsgb2YgbGlua3MpIHtcbiAgICAgICAgY29uc3QgYWN0dWFsTGluayA9IGNvbnRlbnQuc2xpY2UobGluay5wb3NpdGlvbi5zdGFydC5vZmZzZXQsIGxpbmsucG9zaXRpb24uZW5kLm9mZnNldCk7XG4gICAgICAgIGlmIChhY3R1YWxMaW5rICE9PSBsaW5rLm9yaWdpbmFsKSB7XG4gICAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIHRydWU7XG4gIH0sIG92ZXJyaWRkZW5PcHRpb25zKTtcblxuICByZXR1cm4gYmFja2xpbmtzITtcbn1cblxuLyoqXG4gKiBTYXZlcyB0aGUgc3BlY2lmaWVkIG5vdGUgaW4gdGhlIE9ic2lkaWFuIGFwcC5cbiAqXG4gKiBAcGFyYW0gYXBwIC0gVGhlIE9ic2lkaWFuIGFwcCBpbnN0YW5jZS5cbiAqIEBwYXJhbSBwYXRoT3JGaWxlIC0gVGhlIG5vdGUgdG8gYmUgc2F2ZWQuXG4gKiBAcmV0dXJucyBBIHByb21pc2UgdGhhdCByZXNvbHZlcyB3aGVuIHRoZSBub3RlIGlzIHNhdmVkLlxuICovXG5hc3luYyBmdW5jdGlvbiBzYXZlTm90ZShhcHA6IEFwcCwgcGF0aE9yRmlsZTogUGF0aE9yRmlsZSk6IFByb21pc2U8dm9pZD4ge1xuICBpZiAoIWlzTWFya2Rvd25GaWxlKHBhdGhPckZpbGUpKSB7XG4gICAgcmV0dXJuO1xuICB9XG5cbiAgY29uc3QgcGF0aCA9IGdldFBhdGgocGF0aE9yRmlsZSk7XG5cbiAgZm9yIChjb25zdCBsZWFmIG9mIGFwcC53b3Jrc3BhY2UuZ2V0TGVhdmVzT2ZUeXBlKFwibWFya2Rvd25cIikpIHtcbiAgICBjb25zdCB2aWV3ID0gbGVhZi52aWV3IGFzIE1hcmtkb3duVmlldztcbiAgICBpZiAodmlldy5maWxlPy5wYXRoID09PSBwYXRoKSB7XG4gICAgICBhd2FpdCB2aWV3LnNhdmUoKTtcbiAgICB9XG4gIH1cbn1cblxuLyoqXG4gKiBSZXRyaWV2ZXMgdGhlIGZyb250IG1hdHRlciBmcm9tIHRoZSBtZXRhZGF0YSBjYWNoZSBzYWZlbHkuXG4gKlxuICogQHR5cGVQYXJhbSBDdXN0b21Gcm9udE1hdHRlciAtIFRoZSB0eXBlIG9mIGN1c3RvbSBmcm9udCBtYXR0ZXIuXG4gKiBAcGFyYW0gYXBwIC0gVGhlIE9ic2lkaWFuIGFwcCBpbnN0YW5jZS5cbiAqIEBwYXJhbSBwYXRoT3JGaWxlIC0gVGhlIHBhdGggb3IgZmlsZSB0byByZXRyaWV2ZSB0aGUgZnJvbnQgbWF0dGVyIGZyb20uXG4gKiBAcmV0dXJucyBUaGUgY29tYmluZWQgZnJvbnQgbWF0dGVyLlxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gZ2V0RnJvbnRNYXR0ZXJTYWZlPEN1c3RvbUZyb250TWF0dGVyID0gdW5rbm93bj4oYXBwOiBBcHAsIHBhdGhPckZpbGU6IFBhdGhPckZpbGUpOiBQcm9taXNlPENvbWJpbmVkRnJvbnRNYXR0ZXI8Q3VzdG9tRnJvbnRNYXR0ZXI+PiB7XG4gIGNvbnN0IGNhY2hlID0gYXdhaXQgZ2V0Q2FjaGVTYWZlKGFwcCwgcGF0aE9yRmlsZSk7XG4gIHJldHVybiAoY2FjaGU/LmZyb250bWF0dGVyID8/IHt9KSBhcyBDb21iaW5lZEZyb250TWF0dGVyPEN1c3RvbUZyb250TWF0dGVyPjtcbn1cblxuLyoqXG4gKiBUZW1wb3JhcmlseSByZWdpc3RlcnMgYSBmaWxlIGFuZCBydW5zIGEgZnVuY3Rpb24uXG4gKlxuICogQHBhcmFtIGFwcCAtIFRoZSBPYnNpZGlhbiBhcHAgaW5zdGFuY2UuXG4gKiBAcGFyYW0gZmlsZSAtIFRoZSBmaWxlIHRvIHRlbXBvcmFyaWx5IHJlZ2lzdGVyLlxuICogQHBhcmFtIGZuIC0gVGhlIGZ1bmN0aW9uIHRvIHJ1bi5cbiAqIEByZXR1cm5zIFRoZSByZXN1bHQgb2YgdGhlIGZ1bmN0aW9uLlxuICovXG5leHBvcnQgZnVuY3Rpb24gdGVtcFJlZ2lzdGVyRmlsZUFuZFJ1bjxUPihhcHA6IEFwcCwgZmlsZTogVEFic3RyYWN0RmlsZSwgZm46ICgpID0+IFQpOiBUIHtcbiAgY29uc3QgdW5yZWdpc3RlciA9IHJlZ2lzdGVyRmlsZShhcHAsIGZpbGUpO1xuXG4gIHRyeSB7XG4gICAgcmV0dXJuIGZuKCk7XG4gIH0gZmluYWxseSB7XG4gICAgdW5yZWdpc3RlcigpO1xuICB9XG59XG5cbi8qKipcbiAqIFJlZ2lzdGVycyBhIGZpbGUgaW4gdGhlIE9ic2lkaWFuIGFwcC5cbiAqXG4gKiBAcGFyYW0gYXBwIC0gVGhlIE9ic2lkaWFuIGFwcCBpbnN0YW5jZS5cbiAqIEBwYXJhbSBmaWxlIC0gVGhlIGZpbGUgdG8gcmVnaXN0ZXIuXG4gKiBAcmV0dXJucyBBIGZ1bmN0aW9uIHRoYXQgdW5yZWdpc3RlcnMgdGhlIGZpbGUuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiByZWdpc3RlckZpbGUoYXBwOiBBcHAsIGZpbGU6IFRBYnN0cmFjdEZpbGUpOiAoKSA9PiB2b2lkIHtcbiAgaWYgKCFmaWxlLmRlbGV0ZWQpIHtcbiAgICByZXR1cm4gKCkgPT4geyB9O1xuICB9XG5cbiAgY29uc3QgZGVsZXRlZFBhdGhzOiBzdHJpbmdbXSA9IFtdO1xuXG4gIGxldCBkZWxldGVkRmlsZTogVEFic3RyYWN0RmlsZSA9IGZpbGU7XG5cbiAgd2hpbGUgKGRlbGV0ZWRGaWxlLmRlbGV0ZWQpIHtcbiAgICBkZWxldGVkUGF0aHMucHVzaChkZWxldGVkRmlsZS5wYXRoKTtcbiAgICBhcHAudmF1bHQuZmlsZU1hcFtkZWxldGVkRmlsZS5wYXRoXSA9IGRlbGV0ZWRGaWxlO1xuICAgIGRlbGV0ZWRGaWxlID0gZGVsZXRlZEZpbGUucGFyZW50ITtcbiAgfVxuXG4gIGlmIChmaWxlIGluc3RhbmNlb2YgVEZpbGUpIHtcbiAgICBhcHAubWV0YWRhdGFDYWNoZS51bmlxdWVGaWxlTG9va3VwLmFkZChmaWxlLm5hbWUudG9Mb3dlckNhc2UoKSwgZmlsZSk7XG4gIH1cblxuICByZXR1cm4gKCkgPT4ge1xuICAgIGZvciAoY29uc3QgcGF0aCBvZiBkZWxldGVkUGF0aHMpIHtcbiAgICAgIGRlbGV0ZSBhcHAudmF1bHQuZmlsZU1hcFtwYXRoXTtcbiAgICB9XG5cbiAgICBpZiAoZmlsZSBpbnN0YW5jZW9mIFRGaWxlKSB7XG4gICAgICBhcHAubWV0YWRhdGFDYWNoZS51bmlxdWVGaWxlTG9va3VwLnJlbW92ZShmaWxlLm5hbWUudG9Mb3dlckNhc2UoKSwgZmlsZSk7XG4gICAgfVxuICB9O1xufVxuIl0sCiAgIm1hcHBpbmdzIjogIjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQVdBLHNCQVFPO0FBQ1AsbUJBR087QUFFUCwyQkFHTztBQUNQLG1CQUlPO0FBakNQLElBQUksb0JBQW9CLFdBQVcsaUJBQWlCLE1BQU0sTUFBSSxRQUFRLFVBQVUsRUFBRSxjQUFjLFVBQVUsR0FBRztBQUM3RyxJQUFJLFlBQVksV0FBVyxTQUFTLEtBQUs7QUFBQSxFQUN2QyxPQUFPLE1BQUk7QUFBQSxFQUNYLE9BQU8sQ0FBQztBQUFBLEVBQ1IsWUFBWTtBQUNkO0FBdUNBLGVBQXNCLGFBQWEsS0FBVSxZQUF3QixlQUFzQyxDQUFDLEdBQW1DO0FBQzdJLFFBQU0sd0JBQStDLEVBQUUsdUJBQXVCLElBQU07QUFDcEYsUUFBTSxvQkFBMkMsRUFBRSxHQUFHLHVCQUF1QixHQUFHLGFBQWE7QUFDN0YsTUFBSSxRQUErQjtBQUVuQyxZQUFNLCtCQUFpQixZQUFZO0FBQ2pDLFVBQU0sV0FBTyw0QkFBYyxLQUFLLFVBQVU7QUFFMUMsUUFBSSxDQUFDLFFBQVEsS0FBSyxTQUFTO0FBQ3pCLGNBQVE7QUFDUixhQUFPO0FBQUEsSUFDVDtBQUVBLFVBQU0sU0FBUyxLQUFLLElBQUk7QUFFeEIsVUFBTSxXQUFXLElBQUksY0FBYyxZQUFZLEtBQUssSUFBSTtBQUN4RCxVQUFNLE9BQU8sTUFBTSxJQUFJLE1BQU0sUUFBUSxLQUFLLEtBQUssSUFBSTtBQUVuRCxRQUFJLENBQUMsVUFBVTtBQUNiLGNBQVEsTUFBTSx1QkFBdUIsS0FBSyxJQUFJLGFBQWE7QUFDM0QsYUFBTztBQUFBLElBQ1QsV0FBVyxDQUFDLE1BQU07QUFDaEIsY0FBUSxNQUFNLGlCQUFpQixLQUFLLElBQUksYUFBYTtBQUNyRCxhQUFPO0FBQUEsSUFDVCxXQUFXLFNBQVMsUUFBUSxLQUFLLE9BQU87QUFDdEMsY0FBUSxNQUFNLHVCQUF1QixLQUFLLElBQUksWUFBWSxJQUFJLEtBQUssU0FBUyxLQUFLLEVBQUUsU0FBUyxDQUFDLHdEQUF3RCxJQUFJLEtBQUssS0FBSyxLQUFLLEVBQUUsU0FBUyxDQUFDLEVBQUU7QUFDdEwsYUFBTztBQUFBLElBQ1QsT0FBTztBQUNMLGNBQVEsSUFBSSxjQUFjLGFBQWEsSUFBSTtBQUMzQyxVQUFJLENBQUMsT0FBTztBQUNWLGdCQUFRLE1BQU0sa0JBQWtCLEtBQUssSUFBSSxhQUFhO0FBQ3RELGVBQU87QUFBQSxNQUNULE9BQU87QUFDTCxlQUFPO0FBQUEsTUFDVDtBQUFBLElBQ0Y7QUFBQSxFQUNGLEdBQUcsaUJBQWlCO0FBRXBCLFNBQU87QUFDVDtBQVFPLFNBQVMsWUFBWSxPQUF5QztBQUNuRSxNQUFJLFFBQTBCLENBQUM7QUFFL0IsTUFBSSxNQUFNLE9BQU87QUFDZixVQUFNLEtBQUssR0FBRyxNQUFNLEtBQUs7QUFBQSxFQUMzQjtBQUVBLE1BQUksTUFBTSxRQUFRO0FBQ2hCLFVBQU0sS0FBSyxHQUFHLE1BQU0sTUFBTTtBQUFBLEVBQzVCO0FBRUEsUUFBTSxLQUFLLENBQUMsR0FBRyxNQUFNLEVBQUUsU0FBUyxNQUFNLFNBQVMsRUFBRSxTQUFTLE1BQU0sTUFBTTtBQUd0RSxVQUFRLE1BQU0sT0FBTyxDQUFDLE1BQU0sVUFBVTtBQUNwQyxRQUFJLFVBQVUsR0FBRztBQUNmLGFBQU87QUFBQSxJQUNUO0FBQ0EsV0FBTyxLQUFLLFNBQVMsTUFBTSxXQUFXLE1BQU0sUUFBUSxDQUFDLEVBQUcsU0FBUyxNQUFNO0FBQUEsRUFDekUsQ0FBQztBQUVELFNBQU87QUFDVDtBQVVBLGVBQXNCLHdCQUF3QixLQUFVLFlBQXdCLGVBQXNDLENBQUMsR0FBd0M7QUFDN0osUUFBTSx3QkFBK0MsRUFBRSx1QkFBdUIsSUFBTTtBQUNwRixRQUFNLG9CQUEyQyxFQUFFLEdBQUcsdUJBQXVCLEdBQUcsYUFBYTtBQUM3RixNQUFJLFlBQStDO0FBQ25ELFlBQU0sK0JBQWlCLFlBQVk7QUFDakMsVUFBTSxXQUFPLHNCQUFRLEtBQUssVUFBVTtBQUNwQyxnQkFBWSx1QkFBdUIsS0FBSyxNQUFNLE1BQU0sSUFBSSxjQUFjLG9CQUFvQixJQUFJLENBQUM7QUFDL0YsZUFBVyxZQUFZLFVBQVUsS0FBSyxHQUFHO0FBQ3ZDLFlBQU0sT0FBTyxJQUFJLE1BQU0sY0FBYyxRQUFRO0FBQzdDLFVBQUksQ0FBQyxNQUFNO0FBQ1QsZUFBTztBQUFBLE1BQ1Q7QUFFQSxZQUFNLFNBQVMsS0FBSyxJQUFJO0FBRXhCLFlBQU0sVUFBVSxNQUFNLElBQUksTUFBTSxLQUFLLElBQUk7QUFDekMsWUFBTSxRQUFRLFVBQVUsSUFBSSxRQUFRO0FBQ3BDLGlCQUFXLFFBQVEsT0FBTztBQUN4QixjQUFNLGFBQWEsUUFBUSxNQUFNLEtBQUssU0FBUyxNQUFNLFFBQVEsS0FBSyxTQUFTLElBQUksTUFBTTtBQUNyRixZQUFJLGVBQWUsS0FBSyxVQUFVO0FBQ2hDLGlCQUFPO0FBQUEsUUFDVDtBQUFBLE1BQ0Y7QUFBQSxJQUNGO0FBRUEsV0FBTztBQUFBLEVBQ1QsR0FBRyxpQkFBaUI7QUFFcEIsU0FBTztBQUNUO0FBU0EsZUFBZSxTQUFTLEtBQVUsWUFBdUM7QUFDdkUsTUFBSSxLQUFDLHFDQUFlLFVBQVUsR0FBRztBQUMvQjtBQUFBLEVBQ0Y7QUFFQSxRQUFNLFdBQU8sOEJBQVEsVUFBVTtBQUUvQixhQUFXLFFBQVEsSUFBSSxVQUFVLGdCQUFnQixVQUFVLEdBQUc7QUFDNUQsVUFBTSxPQUFPLEtBQUs7QUFDbEIsUUFBSSxLQUFLLE1BQU0sU0FBUyxNQUFNO0FBQzVCLFlBQU0sS0FBSyxLQUFLO0FBQUEsSUFDbEI7QUFBQSxFQUNGO0FBQ0Y7QUFVQSxlQUFzQixtQkFBZ0QsS0FBVSxZQUF5RTtBQUN2SixRQUFNLFFBQVEsTUFBTSxhQUFhLEtBQUssVUFBVTtBQUNoRCxTQUFRLE9BQU8sZUFBZSxDQUFDO0FBQ2pDO0FBVU8sU0FBUyx1QkFBMEIsS0FBVSxNQUFxQixJQUFnQjtBQUN2RixRQUFNLGFBQWEsYUFBYSxLQUFLLElBQUk7QUFFekMsTUFBSTtBQUNGLFdBQU8sR0FBRztBQUFBLEVBQ1osVUFBRTtBQUNBLGVBQVc7QUFBQSxFQUNiO0FBQ0Y7QUFTTyxTQUFTLGFBQWEsS0FBVSxNQUFpQztBQUN0RSxNQUFJLENBQUMsS0FBSyxTQUFTO0FBQ2pCLFdBQU8sTUFBTTtBQUFBLElBQUU7QUFBQSxFQUNqQjtBQUVBLFFBQU0sZUFBeUIsQ0FBQztBQUVoQyxNQUFJLGNBQTZCO0FBRWpDLFNBQU8sWUFBWSxTQUFTO0FBQzFCLGlCQUFhLEtBQUssWUFBWSxJQUFJO0FBQ2xDLFFBQUksTUFBTSxRQUFRLFlBQVksSUFBSSxJQUFJO0FBQ3RDLGtCQUFjLFlBQVk7QUFBQSxFQUM1QjtBQUVBLE1BQUksZ0JBQWdCLHVCQUFPO0FBQ3pCLFFBQUksY0FBYyxpQkFBaUIsSUFBSSxLQUFLLEtBQUssWUFBWSxHQUFHLElBQUk7QUFBQSxFQUN0RTtBQUVBLFNBQU8sTUFBTTtBQUNYLGVBQVcsUUFBUSxjQUFjO0FBQy9CLGFBQU8sSUFBSSxNQUFNLFFBQVEsSUFBSTtBQUFBLElBQy9CO0FBRUEsUUFBSSxnQkFBZ0IsdUJBQU87QUFDekIsVUFBSSxjQUFjLGlCQUFpQixPQUFPLEtBQUssS0FBSyxZQUFZLEdBQUcsSUFBSTtBQUFBLElBQ3pFO0FBQUEsRUFDRjtBQUNGOyIsCiAgIm5hbWVzIjogW10KfQo=
@@ -50,3 +50,11 @@ export declare function getFrontMatterSafe<CustomFrontMatter = unknown>(app: App
50
50
  * @returns The result of the function.
51
51
  */
52
52
  export declare function tempRegisterFileAndRun<T>(app: App, file: TAbstractFile, fn: () => T): T;
53
+ /***
54
+ * Registers a file in the Obsidian app.
55
+ *
56
+ * @param app - The Obsidian app instance.
57
+ * @param file - The file to register.
58
+ * @returns A function that unregisters the file.
59
+ */
60
+ export declare function registerFile(app: App, file: TAbstractFile): () => void;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "obsidian-dev-utils",
3
- "version": "2.25.2",
3
+ "version": "2.26.1",
4
4
  "description": "This is the collection of useful functions that you can use for your Obsidian plugin development",
5
5
  "main": "./dist/lib/index.cjs",
6
6
  "types": "./dist/lib/index.d.ts",