obsidian-typings 2.4.0 → 2.5.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.
@@ -41,24 +41,9 @@ __export(implementations_exports, {
41
41
  });
42
42
  module.exports = __toCommonJS(implementations_exports);
43
43
 
44
- // src/obsidian/implementations/TypeGuards/isReferenceCache.ts
45
- function isReferenceCache(reference) {
46
- return !!reference.position;
47
- }
48
-
49
- // src/obsidian/implementations/TypeGuards/isEmbedCache.ts
50
- function isEmbedCache(reference) {
51
- return isReferenceCache(reference) && reference.original[0] === "!";
52
- }
53
-
54
- // src/obsidian/implementations/TypeGuards/isFrontmatterLinkCache.ts
55
- function isFrontmatterLinkCache(reference) {
56
- return !!reference.key;
57
- }
58
-
59
- // src/obsidian/implementations/TypeGuards/isLinkCache.ts
60
- function isLinkCache(reference) {
61
- return isReferenceCache(reference) && reference.original[0] !== "!";
44
+ // src/obsidian/implementations/PathUtils.ts
45
+ function parentFolderPath(path) {
46
+ return path.replace(/\/?[^\/]*$/, "") || "/";
62
47
  }
63
48
 
64
49
  // src/obsidian/implementations/Constructors/constructTFolder.ts
@@ -67,37 +52,6 @@ function constructTFolder(vault, path) {
67
52
  return new import_obsidian.TFolder(vault, path);
68
53
  }
69
54
 
70
- // src/obsidian/implementations/Constructors/constructInternalPlugins.ts
71
- function constructInternalPlugins(app) {
72
- return new app.internalPlugins.constructor(app);
73
- }
74
-
75
- // src/obsidian/implementations/Constructors/constructInternalPlugin.ts
76
- function constructInternalPlugin(app, instance, internalPlugins) {
77
- const anyPlugin = Object.values(app.internalPlugins.plugins)[0];
78
- if (!anyPlugin) {
79
- throw new Error("No internal plugin found");
80
- }
81
- return new anyPlugin.constructor(app, instance, internalPlugins);
82
- }
83
-
84
- // src/obsidian/implementations/Constructors/constructApp.ts
85
- var import_obsidian2 = require("obsidian");
86
- function constructApp(adapter, appId) {
87
- return new import_obsidian2.App(adapter, appId);
88
- }
89
-
90
- // src/obsidian/implementations/Constructors/constructTFile.ts
91
- var import_obsidian3 = require("obsidian");
92
- function constructTFile(vault, path) {
93
- return new import_obsidian3.TFile(vault, path);
94
- }
95
-
96
- // src/obsidian/implementations/PathUtils.ts
97
- function parentFolderPath(path) {
98
- return path.replace(/\/?[^\/]*$/, "") || "/";
99
- }
100
-
101
55
  // src/obsidian/implementations/createTFolderInstance.ts
102
56
  function createTFolderInstance(vault, path) {
103
57
  let folder = vault.getFolderByPath(path);
@@ -189,6 +143,12 @@ var InternalPluginName = {
189
143
  ZkPrefixer: "zk-prefixer"
190
144
  };
191
145
 
146
+ // src/obsidian/implementations/Constructors/constructTFile.ts
147
+ var import_obsidian2 = require("obsidian");
148
+ function constructTFile(vault, path) {
149
+ return new import_obsidian2.TFile(vault, path);
150
+ }
151
+
192
152
  // src/obsidian/implementations/createTFileInstance.ts
193
153
  function createTFileInstance(vault, path) {
194
154
  let file = vault.getFileByPath(path);
@@ -200,4 +160,44 @@ function createTFileInstance(vault, path) {
200
160
  file.deleted = true;
201
161
  return file;
202
162
  }
203
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vc3JjL29ic2lkaWFuL2ltcGxlbWVudGF0aW9ucy9pbmRleC50cyIsICIuLi9zcmMvb2JzaWRpYW4vaW1wbGVtZW50YXRpb25zL1R5cGVHdWFyZHMvaXNSZWZlcmVuY2VDYWNoZS50cyIsICIuLi9zcmMvb2JzaWRpYW4vaW1wbGVtZW50YXRpb25zL1R5cGVHdWFyZHMvaXNFbWJlZENhY2hlLnRzIiwgIi4uL3NyYy9vYnNpZGlhbi9pbXBsZW1lbnRhdGlvbnMvVHlwZUd1YXJkcy9pc0Zyb250bWF0dGVyTGlua0NhY2hlLnRzIiwgIi4uL3NyYy9vYnNpZGlhbi9pbXBsZW1lbnRhdGlvbnMvVHlwZUd1YXJkcy9pc0xpbmtDYWNoZS50cyIsICIuLi9zcmMvb2JzaWRpYW4vaW1wbGVtZW50YXRpb25zL0NvbnN0cnVjdG9ycy9jb25zdHJ1Y3RURm9sZGVyLnRzIiwgIi4uL3NyYy9vYnNpZGlhbi9pbXBsZW1lbnRhdGlvbnMvQ29uc3RydWN0b3JzL2NvbnN0cnVjdEludGVybmFsUGx1Z2lucy50cyIsICIuLi9zcmMvb2JzaWRpYW4vaW1wbGVtZW50YXRpb25zL0NvbnN0cnVjdG9ycy9jb25zdHJ1Y3RJbnRlcm5hbFBsdWdpbi50cyIsICIuLi9zcmMvb2JzaWRpYW4vaW1wbGVtZW50YXRpb25zL0NvbnN0cnVjdG9ycy9jb25zdHJ1Y3RBcHAudHMiLCAiLi4vc3JjL29ic2lkaWFuL2ltcGxlbWVudGF0aW9ucy9Db25zdHJ1Y3RvcnMvY29uc3RydWN0VEZpbGUudHMiLCAiLi4vc3JjL29ic2lkaWFuL2ltcGxlbWVudGF0aW9ucy9QYXRoVXRpbHMudHMiLCAiLi4vc3JjL29ic2lkaWFuL2ltcGxlbWVudGF0aW9ucy9jcmVhdGVURm9sZGVySW5zdGFuY2UudHMiLCAiLi4vc3JjL29ic2lkaWFuL2ltcGxlbWVudGF0aW9ucy9DdXN0b21BcnJheURpY3RJbXBsLnRzIiwgIi4uL3NyYy9vYnNpZGlhbi9pbXBsZW1lbnRhdGlvbnMvSW50ZXJuYWxQbHVnaW5OYW1lLnRzIiwgIi4uL3NyYy9vYnNpZGlhbi9pbXBsZW1lbnRhdGlvbnMvY3JlYXRlVEZpbGVJbnN0YW5jZS50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsiLyogVEhJUyBJUyBBIEdFTkVSQVRFRC9CVU5ETEVEIEZJTEUgQlkgQlVJTEQgU0NSSVBUICovXG5cbmV4cG9ydCAqIGZyb20gJy4vVHlwZUd1YXJkcy9pc0VtYmVkQ2FjaGUuanMnO1xuZXhwb3J0ICogZnJvbSAnLi9UeXBlR3VhcmRzL2lzRnJvbnRtYXR0ZXJMaW5rQ2FjaGUuanMnO1xuZXhwb3J0ICogZnJvbSAnLi9UeXBlR3VhcmRzL2lzUmVmZXJlbmNlQ2FjaGUuanMnO1xuZXhwb3J0ICogZnJvbSAnLi9UeXBlR3VhcmRzL2lzTGlua0NhY2hlLmpzJztcbmV4cG9ydCAqIGZyb20gJy4vQ29uc3RydWN0b3JzL2NvbnN0cnVjdFRGb2xkZXIuanMnO1xuZXhwb3J0ICogZnJvbSAnLi9Db25zdHJ1Y3RvcnMvY29uc3RydWN0SW50ZXJuYWxQbHVnaW5zLmpzJztcbmV4cG9ydCAqIGZyb20gJy4vQ29uc3RydWN0b3JzL2NvbnN0cnVjdEludGVybmFsUGx1Z2luLmpzJztcbmV4cG9ydCAqIGZyb20gJy4vQ29uc3RydWN0b3JzL2NvbnN0cnVjdEFwcC5qcyc7XG5leHBvcnQgKiBmcm9tICcuL0NvbnN0cnVjdG9ycy9jb25zdHJ1Y3RURmlsZS5qcyc7XG5leHBvcnQgKiBmcm9tICcuL1BhdGhVdGlscy5qcyc7XG5leHBvcnQgKiBmcm9tICcuL2NyZWF0ZVRGb2xkZXJJbnN0YW5jZS5qcyc7XG5leHBvcnQgKiBmcm9tICcuL0N1c3RvbUFycmF5RGljdEltcGwuanMnO1xuZXhwb3J0ICogZnJvbSAnLi9JbnRlcm5hbFBsdWdpbk5hbWUuanMnO1xuZXhwb3J0ICogZnJvbSAnLi9jcmVhdGVURmlsZUluc3RhbmNlLmpzJztcbmltcG9ydCAnLi4vLi4vaW5kZXguanMnO1xuIiwgImltcG9ydCB0eXBlIHtcbiAgICBSZWZlcmVuY2UsXG4gICAgUmVmZXJlbmNlQ2FjaGVcbn0gZnJvbSAnb2JzaWRpYW4nO1xuXG5leHBvcnQgZnVuY3Rpb24gaXNSZWZlcmVuY2VDYWNoZShyZWZlcmVuY2U6IFJlZmVyZW5jZSk6IHJlZmVyZW5jZSBpcyBSZWZlcmVuY2VDYWNoZSB7XG4gICAgcmV0dXJuICEhKHJlZmVyZW5jZSBhcyBQYXJ0aWFsPFJlZmVyZW5jZUNhY2hlPikucG9zaXRpb247XG59XG4iLCAiaW1wb3J0IHR5cGUge1xuICAgIEVtYmVkQ2FjaGUsXG4gICAgUmVmZXJlbmNlXG59IGZyb20gJ29ic2lkaWFuJztcbmltcG9ydCB7IGlzUmVmZXJlbmNlQ2FjaGUgfSBmcm9tICcuL2lzUmVmZXJlbmNlQ2FjaGUudHMnO1xuXG5leHBvcnQgZnVuY3Rpb24gaXNFbWJlZENhY2hlKHJlZmVyZW5jZTogUmVmZXJlbmNlKTogcmVmZXJlbmNlIGlzIEVtYmVkQ2FjaGUge1xuICAgIHJldHVybiBpc1JlZmVyZW5jZUNhY2hlKHJlZmVyZW5jZSkgJiYgcmVmZXJlbmNlLm9yaWdpbmFsWzBdID09PSAnISc7XG59XG4iLCAiaW1wb3J0IHR5cGUge1xuICAgIEZyb250bWF0dGVyTGlua0NhY2hlLFxuICAgIFJlZmVyZW5jZVxufSBmcm9tICdvYnNpZGlhbic7XG5cbmV4cG9ydCBmdW5jdGlvbiBpc0Zyb250bWF0dGVyTGlua0NhY2hlKHJlZmVyZW5jZTogUmVmZXJlbmNlKTogcmVmZXJlbmNlIGlzIEZyb250bWF0dGVyTGlua0NhY2hlIHtcbiAgICByZXR1cm4gISEocmVmZXJlbmNlIGFzIFBhcnRpYWw8RnJvbnRtYXR0ZXJMaW5rQ2FjaGU+KS5rZXk7XG59XG4iLCAiaW1wb3J0IHR5cGUge1xuICAgIExpbmtDYWNoZSxcbiAgICBSZWZlcmVuY2Vcbn0gZnJvbSAnb2JzaWRpYW4nO1xuaW1wb3J0IHsgaXNSZWZlcmVuY2VDYWNoZSB9IGZyb20gJy4vaXNSZWZlcmVuY2VDYWNoZS50cyc7XG5cbmV4cG9ydCBmdW5jdGlvbiBpc0xpbmtDYWNoZShyZWZlcmVuY2U6IFJlZmVyZW5jZSk6IHJlZmVyZW5jZSBpcyBMaW5rQ2FjaGUge1xuICAgIHJldHVybiBpc1JlZmVyZW5jZUNhY2hlKHJlZmVyZW5jZSkgJiYgcmVmZXJlbmNlLm9yaWdpbmFsWzBdICE9PSAnISc7XG59XG4iLCAiaW1wb3J0IHtcbiAgICBURm9sZGVyLFxuICAgIHR5cGUgVmF1bHRcbn0gZnJvbSAnb2JzaWRpYW4nO1xuXG50eXBlIFRGb2xkZXJDb25zdHJ1Y3RvciA9IG5ldyh2YXVsdDogVmF1bHQsIHBhdGg6IHN0cmluZykgPT4gVEZvbGRlcjtcblxuLyoqXG4gKiBDb25zdHJ1Y3RzIGEgbmV3IFRGb2xkZXIgaW5zdGFuY2UuXG4gKlxuICogQHBhcmFtIHZhdWx0IC0gVGhlIHZhdWx0IHRvIHdoaWNoIHRoZSBmb2xkZXIgYmVsb25ncy5cbiAqIEBwYXJhbSBwYXRoIC0gVGhlIHBhdGggb2YgdGhlIGZvbGRlci5cbiAqIEByZXR1cm5zIFRoZSBjb25zdHJ1Y3RlZCBURm9sZGVyIGluc3RhbmNlLlxuICovXG5leHBvcnQgZnVuY3Rpb24gY29uc3RydWN0VEZvbGRlcih2YXVsdDogVmF1bHQsIHBhdGg6IHN0cmluZyk6IFRGb2xkZXIge1xuICAgIHJldHVybiBuZXcgKFRGb2xkZXIgYXMgVEZvbGRlckNvbnN0cnVjdG9yKSh2YXVsdCwgcGF0aCk7XG59XG4iLCAiaW1wb3J0IHR5cGUgeyBBcHAgfSBmcm9tICdvYnNpZGlhbic7XG5pbXBvcnQgdHlwZSB7IEludGVybmFsUGx1Z2lucyB9IGZyb20gJy4uLy4uL2ludGVybmFscy9JbnRlcm5hbFBsdWdpbi9JbnRlcm5hbFBsdWdpbnMuanMnO1xuXG50eXBlIEludGVybmFsUGx1Z2luc0NvbnN0cnVjdG9yID0gbmV3KGFwcDogQXBwKSA9PiBJbnRlcm5hbFBsdWdpbnM7XG5cbi8qKlxuICogQ29uc3RydWN0cyBhIG5ldyBJbnRlcm5hbFBsdWdpbnMgaW5zdGFuY2UuXG4gKlxuICogQHBhcmFtIGFwcCAtIFRoZSBhcHAgaW5zdGFuY2UuXG4gKiBAcmV0dXJucyBUaGUgY29uc3RydWN0ZWQgSW50ZXJuYWxQbHVnaW5zIGluc3RhbmNlLlxuICovXG5leHBvcnQgZnVuY3Rpb24gY29uc3RydWN0SW50ZXJuYWxQbHVnaW5zKGFwcDogQXBwKTogSW50ZXJuYWxQbHVnaW5zIHtcbiAgICByZXR1cm4gbmV3IChhcHAuaW50ZXJuYWxQbHVnaW5zLmNvbnN0cnVjdG9yIGFzIEludGVybmFsUGx1Z2luc0NvbnN0cnVjdG9yKShhcHApO1xufVxuIiwgImltcG9ydCB0eXBlIHsgQXBwIH0gZnJvbSAnb2JzaWRpYW4nO1xuaW1wb3J0IHR5cGUgeyBJbnRlcm5hbFBsdWdpbiB9IGZyb20gJy4uLy4uL2ludGVybmFscy9JbnRlcm5hbFBsdWdpbi9JbnRlcm5hbFBsdWdpbi5qcyc7XG5pbXBvcnQgdHlwZSB7IEludGVybmFsUGx1Z2lucyB9IGZyb20gJy4uLy4uL2ludGVybmFscy9JbnRlcm5hbFBsdWdpbi9JbnRlcm5hbFBsdWdpbnMuanMnO1xuXG50eXBlIEludGVybmFsUGx1Z2luQ29uc3RydWN0b3I8SW5zdGFuY2U+ID0gbmV3KFxuICAgIGFwcDogQXBwLFxuICAgIGluc3RhbmNlOiBJbnN0YW5jZSxcbiAgICBpbnRlcm5hbFBsdWdpbnM6IEludGVybmFsUGx1Z2luc1xuKSA9PiBJbnRlcm5hbFBsdWdpbjxJbnN0YW5jZT47XG5cbi8qKlxuICogQ29uc3RydWN0cyBhIG5ldyBJbnRlcm5hbFBsdWdpbiBpbnN0YW5jZS5cbiAqXG4gKiBAcGFyYW0gYXBwIC0gVGhlIGFwcCBpbnN0YW5jZS5cbiAqIEBwYXJhbSBpbnN0YW5jZSAtIFRoZSBpbnN0YW5jZSBvZiB0aGUgcGx1Z2luLlxuICogQHBhcmFtIGludGVybmFsUGx1Z2lucyAtIFRoZSBpbnRlcm5hbCBwbHVnaW5zIGluc3RhbmNlLlxuICogQHJldHVybnMgVGhlIGNvbnN0cnVjdGVkIEludGVybmFsUGx1Z2luIGluc3RhbmNlLlxuICovXG5leHBvcnQgZnVuY3Rpb24gY29uc3RydWN0SW50ZXJuYWxQbHVnaW48SW5zdGFuY2U+KFxuICAgIGFwcDogQXBwLFxuICAgIGluc3RhbmNlOiBJbnN0YW5jZSxcbiAgICBpbnRlcm5hbFBsdWdpbnM6IEludGVybmFsUGx1Z2luc1xuKTogSW50ZXJuYWxQbHVnaW48SW5zdGFuY2U+IHtcbiAgICBjb25zdCBhbnlQbHVnaW4gPSBPYmplY3QudmFsdWVzKGFwcC5pbnRlcm5hbFBsdWdpbnMucGx1Z2lucylbMF07XG4gICAgaWYgKCFhbnlQbHVnaW4pIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdObyBpbnRlcm5hbCBwbHVnaW4gZm91bmQnKTtcbiAgICB9XG4gICAgcmV0dXJuIG5ldyAoYW55UGx1Z2luLmNvbnN0cnVjdG9yIGFzIEludGVybmFsUGx1Z2luQ29uc3RydWN0b3I8SW5zdGFuY2U+KShhcHAsIGluc3RhbmNlLCBpbnRlcm5hbFBsdWdpbnMpO1xufVxuIiwgImltcG9ydCB7XG4gICAgQXBwLFxuICAgIHR5cGUgRGF0YUFkYXB0ZXJcbn0gZnJvbSAnb2JzaWRpYW4nO1xuXG50eXBlIEFwcENvbnN0cnVjdG9yID0gbmV3KGFkYXB0ZXI6IERhdGFBZGFwdGVyLCBhcHBJZDogc3RyaW5nKSA9PiBBcHA7XG5cbi8qKlxuICogQ29uc3RydWN0cyBhIG5ldyBBcHAgaW5zdGFuY2UuXG4gKlxuICogQHBhcmFtIGFkYXB0ZXIgLSBUaGUgZGF0YSBhZGFwdGVyIHRvIHVzZS5cbiAqIEBwYXJhbSBhcHBJZCAtIFRoZSBJRCBvZiB0aGUgYXBwLlxuICogQHJldHVybnMgVGhlIGNvbnN0cnVjdGVkIEFwcCBpbnN0YW5jZS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGNvbnN0cnVjdEFwcChhZGFwdGVyOiBEYXRhQWRhcHRlciwgYXBwSWQ6IHN0cmluZyk6IEFwcCB7XG4gICAgcmV0dXJuIG5ldyAoQXBwIGFzIEFwcENvbnN0cnVjdG9yKShhZGFwdGVyLCBhcHBJZCk7XG59XG4iLCAiaW1wb3J0IHtcbiAgICBURmlsZSxcbiAgICB0eXBlIFZhdWx0XG59IGZyb20gJ29ic2lkaWFuJztcblxudHlwZSBURmlsZUNvbnN0cnVjdG9yID0gbmV3KHZhdWx0OiBWYXVsdCwgcGF0aDogc3RyaW5nKSA9PiBURmlsZTtcblxuLyoqXG4gKiBDb25zdHJ1Y3RzIGEgbmV3IFRGaWxlIGluc3RhbmNlLlxuICpcbiAqIEBwYXJhbSB2YXVsdCAtIFRoZSB2YXVsdCB0byB3aGljaCB0aGUgZmlsZSBiZWxvbmdzLlxuICogQHBhcmFtIHBhdGggLSBUaGUgcGF0aCBvZiB0aGUgZmlsZS5cbiAqIEByZXR1cm5zIFRoZSBjb25zdHJ1Y3RlZCBURmlsZSBpbnN0YW5jZS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGNvbnN0cnVjdFRGaWxlKHZhdWx0OiBWYXVsdCwgcGF0aDogc3RyaW5nKTogVEZpbGUge1xuICAgIHJldHVybiBuZXcgKFRGaWxlIGFzIFRGaWxlQ29uc3RydWN0b3IpKHZhdWx0LCBwYXRoKTtcbn1cbiIsICJleHBvcnQgZnVuY3Rpb24gcGFyZW50Rm9sZGVyUGF0aChwYXRoOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIHJldHVybiBwYXRoLnJlcGxhY2UoL1xcLz9bXlxcL10qJC8sICcnKSB8fCAnLyc7XG59XG4iLCAiaW1wb3J0IHtcbiAgICBURm9sZGVyLFxuICAgIHR5cGUgVmF1bHRcbn0gZnJvbSAnb2JzaWRpYW4nO1xuaW1wb3J0IHsgY29uc3RydWN0VEZvbGRlciB9IGZyb20gJy4vQ29uc3RydWN0b3JzL2NvbnN0cnVjdFRGb2xkZXIudHMnO1xuaW1wb3J0IHsgcGFyZW50Rm9sZGVyUGF0aCB9IGZyb20gJy4vUGF0aFV0aWxzLnRzJztcblxuLyoqXG4gKiBDcmVhdGVzIGFuZCBwcm9wZXJseSBpbml0aWFsaXplcyB0aGUgaW5zdGFuY2Ugb2YgVEZvbGRlciBldmVuIHRoZSB1bmRlcmx5aW5nIGZvbGRlciBkb2VzIG5vdCBleGlzdC5cbiAqIFRoaXMgZG9lc24ndCBjcmVhdGUgdGhlIG1pc3NpbmcgZm9sZGVyIG9uIHRoZSBmaWxlIHN5c3RlbS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZVRGb2xkZXJJbnN0YW5jZSh2YXVsdDogVmF1bHQsIHBhdGg6IHN0cmluZyk6IFRGb2xkZXIge1xuICAgIGxldCBmb2xkZXIgPSB2YXVsdC5nZXRGb2xkZXJCeVBhdGgocGF0aCk7XG4gICAgaWYgKGZvbGRlcikge1xuICAgICAgICByZXR1cm4gZm9sZGVyO1xuICAgIH1cblxuICAgIGZvbGRlciA9IGNvbnN0cnVjdFRGb2xkZXIodmF1bHQsIHBhdGgpO1xuICAgIGZvbGRlci5wYXJlbnQgPSBjcmVhdGVURm9sZGVySW5zdGFuY2UodmF1bHQsIHBhcmVudEZvbGRlclBhdGgocGF0aCkpO1xuICAgIGZvbGRlci5kZWxldGVkID0gdHJ1ZTtcbiAgICByZXR1cm4gZm9sZGVyO1xufVxuIiwgImltcG9ydCB0eXBlIHsgQ3VzdG9tQXJyYXlEaWN0IH0gZnJvbSAnLi4vaW50ZXJuYWxzL0N1c3RvbUFycmF5RGljdC5qcyc7XG5cbmV4cG9ydCBjbGFzcyBDdXN0b21BcnJheURpY3RJbXBsPFQ+IGltcGxlbWVudHMgQ3VzdG9tQXJyYXlEaWN0PFQ+IHtcbiAgICBwdWJsaWMgZGF0YTogTWFwPHN0cmluZywgVFtdPiA9IG5ldyBNYXAoKTtcblxuICAgIHB1YmxpYyBhZGQoa2V5OiBzdHJpbmcsIHZhbHVlOiBUKTogdm9pZCB7XG4gICAgICAgIGxldCB2YWx1ZXMgPSB0aGlzLmdldChrZXkpO1xuICAgICAgICBpZiAoIXZhbHVlcykge1xuICAgICAgICAgICAgdmFsdWVzID0gW107XG4gICAgICAgICAgICB0aGlzLmRhdGEuc2V0KGtleSwgdmFsdWVzKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICghdmFsdWVzLmluY2x1ZGVzKHZhbHVlKSkge1xuICAgICAgICAgICAgdmFsdWVzLnB1c2godmFsdWUpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHVibGljIHJlbW92ZShrZXk6IHN0cmluZywgdmFsdWU6IFQpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgdmFsdWVzID0gdGhpcy5nZXQoa2V5KTtcbiAgICAgICAgaWYgKCF2YWx1ZXMpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICB2YWx1ZXMucmVtb3ZlKHZhbHVlKTtcblxuICAgICAgICBpZiAodmFsdWVzLmxlbmd0aCA9PT0gMCkge1xuICAgICAgICAgICAgdGhpcy5jbGVhcihrZXkpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHVibGljIGdldChrZXk6IHN0cmluZyk6IFRbXSB8IG51bGwge1xuICAgICAgICByZXR1cm4gdGhpcy5kYXRhLmdldChrZXkpIHx8IG51bGw7XG4gICAgfVxuXG4gICAgcHVibGljIGtleXMoKTogc3RyaW5nW10ge1xuICAgICAgICByZXR1cm4gQXJyYXkuZnJvbSh0aGlzLmRhdGEua2V5cygpKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgY2xlYXIoa2V5OiBzdHJpbmcpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5kYXRhLmRlbGV0ZShrZXkpO1xuICAgIH1cblxuICAgIHB1YmxpYyBjbGVhckFsbCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5kYXRhLmNsZWFyKCk7XG4gICAgfVxuXG4gICAgcHVibGljIGNvbnRhaW5zKGtleTogc3RyaW5nLCB2YWx1ZTogVCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gISF0aGlzLmdldChrZXkpPy5jb250YWlucyh2YWx1ZSk7XG4gICAgfVxuXG4gICAgcHVibGljIGNvdW50KCk6IG51bWJlciB7XG4gICAgICAgIGxldCBhbnMgPSAwO1xuICAgICAgICBmb3IgKGNvbnN0IGtleSBpbiB0aGlzLmtleXMoKSkge1xuICAgICAgICAgICAgYW5zICs9IHRoaXMuZ2V0KGtleSk/Lmxlbmd0aCA/PyAwO1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIGFucztcbiAgICB9XG59XG4iLCAiZXhwb3J0IGNvbnN0IEludGVybmFsUGx1Z2luTmFtZSA9IHtcbiAgICBBdWRpb1JlY29yZGVyOiAnYXVkaW8tcmVjb3JkZXInLFxuICAgIEJhY2tsaW5rOiAnYmFja2xpbmsnLFxuICAgIEJvb2ttYXJrczogJ2Jvb2ttYXJrcycsXG4gICAgQ2FudmFzOiAnY2FudmFzJyxcbiAgICBDb21tYW5kUGFsZXR0ZTogJ2NvbW1hbmQtcGFsZXR0ZScsXG4gICAgRGFpbHlOb3RlczogJ2RhaWx5LW5vdGVzJyxcbiAgICBFZGl0b3JTdGF0dXM6ICdlZGl0b3Itc3RhdHVzJyxcbiAgICBGaWxlRXhwbG9yZXI6ICdmaWxlLWV4cGxvcmVyJyxcbiAgICBGaWxlUmVjb3Zlcnk6ICdmaWxlLXJlY292ZXJ5JyxcbiAgICBHbG9iYWxTZWFyY2g6ICdnbG9iYWwtc2VhcmNoJyxcbiAgICBHcmFwaDogJ2dyYXBoJyxcbiAgICBNYXJrZG93bkltcG9ydGVyOiAnbWFya2Rvd24taW1wb3J0ZXInLFxuICAgIE5vdGVDb21wb3NlcjogJ25vdGUtY29tcG9zZXInLFxuICAgIE91dGdvaW5nTGluazogJ291dGdvaW5nLWxpbmsnLFxuICAgIE91dGxpbmU6ICdvdXRsaW5lJyxcbiAgICBQYWdlUHJldmlldzogJ3BhZ2UtcHJldmlldycsXG4gICAgUHJvcGVydGllczogJ3Byb3BlcnRpZXMnLFxuICAgIFB1Ymxpc2g6ICdwdWJsaXNoJyxcbiAgICBSYW5kb21Ob3RlOiAncmFuZG9tLW5vdGUnLFxuICAgIFNsYXNoQ29tbWFuZDogJ3NsYXNoLWNvbW1hbmQnLFxuICAgIFNsaWRlczogJ3NsaWRlcycsXG4gICAgU3dpdGNoZXI6ICdzd2l0Y2hlcicsXG4gICAgU3luYzogJ3N5bmMnLFxuICAgIFRhZ1BhbmU6ICd0YWctcGFuZScsXG4gICAgVGVtcGxhdGVzOiAndGVtcGxhdGVzJyxcbiAgICBXb3JkQ291bnQ6ICd3b3JkLWNvdW50JyxcbiAgICBXb3Jrc3BhY2VzOiAnd29ya3NwYWNlcycsXG4gICAgWmtQcmVmaXhlcjogJ3prLXByZWZpeGVyJ1xufSBhcyBjb25zdDtcbiIsICJpbXBvcnQge1xuICAgIFRGaWxlLFxuICAgIHR5cGUgVmF1bHRcbn0gZnJvbSAnb2JzaWRpYW4nO1xuaW1wb3J0IHsgY29uc3RydWN0VEZpbGUgfSBmcm9tICcuL0NvbnN0cnVjdG9ycy9jb25zdHJ1Y3RURmlsZS50cyc7XG5pbXBvcnQgeyBjcmVhdGVURm9sZGVySW5zdGFuY2UgfSBmcm9tICcuL2NyZWF0ZVRGb2xkZXJJbnN0YW5jZS50cyc7XG5pbXBvcnQgeyBwYXJlbnRGb2xkZXJQYXRoIH0gZnJvbSAnLi9QYXRoVXRpbHMudHMnO1xuXG4vKipcbiAqIENyZWF0ZXMgYW5kIHByb3Blcmx5IGluaXRpYWxpemVzIHRoZSBpbnN0YW5jZSBvZiBURmlsZSBldmVuIHRoZSB1bmRlcmx5aW5nIGZpbGUgZG9lcyBub3QgZXhpc3QuXG4gKiBUaGlzIGRvZXNuJ3QgY3JlYXRlIHRoZSBtaXNzaW5nIGZpbGUgb24gdGhlIGZpbGUgc3lzdGVtLlxuICovXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlVEZpbGVJbnN0YW5jZSh2YXVsdDogVmF1bHQsIHBhdGg6IHN0cmluZyk6IFRGaWxlIHtcbiAgICBsZXQgZmlsZSA9IHZhdWx0LmdldEZpbGVCeVBhdGgocGF0aCk7XG4gICAgaWYgKGZpbGUpIHtcbiAgICAgICAgcmV0dXJuIGZpbGU7XG4gICAgfVxuXG4gICAgZmlsZSA9IGNvbnN0cnVjdFRGaWxlKHZhdWx0LCBwYXRoKTtcbiAgICBmaWxlLnBhcmVudCA9IGNyZWF0ZVRGb2xkZXJJbnN0YW5jZSh2YXVsdCwgcGFyZW50Rm9sZGVyUGF0aChwYXRoKSk7XG4gICAgZmlsZS5kZWxldGVkID0gdHJ1ZTtcbiAgICByZXR1cm4gZmlsZTtcbn1cbiJdLAogICJtYXBwaW5ncyI6ICI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTs7O0FDS08sU0FBUyxpQkFBaUIsV0FBbUQ7QUFDaEYsU0FBTyxDQUFDLENBQUUsVUFBc0M7QUFDcEQ7OztBQ0RPLFNBQVMsYUFBYSxXQUErQztBQUN4RSxTQUFPLGlCQUFpQixTQUFTLEtB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
163
+
164
+ // src/obsidian/implementations/Constructors/constructInternalPlugins.ts
165
+ function constructInternalPlugins(app) {
166
+ return new app.internalPlugins.constructor(app);
167
+ }
168
+
169
+ // src/obsidian/implementations/Constructors/constructInternalPlugin.ts
170
+ function constructInternalPlugin(app, instance, internalPlugins) {
171
+ const anyPlugin = Object.values(app.internalPlugins.plugins)[0];
172
+ if (!anyPlugin) {
173
+ throw new Error("No internal plugin found");
174
+ }
175
+ return new anyPlugin.constructor(app, instance, internalPlugins);
176
+ }
177
+
178
+ // src/obsidian/implementations/Constructors/constructApp.ts
179
+ var import_obsidian3 = require("obsidian");
180
+ function constructApp(adapter, appId) {
181
+ return new import_obsidian3.App(adapter, appId);
182
+ }
183
+
184
+ // src/obsidian/implementations/TypeGuards/isReferenceCache.ts
185
+ function isReferenceCache(reference) {
186
+ return !!reference.position;
187
+ }
188
+
189
+ // src/obsidian/implementations/TypeGuards/isEmbedCache.ts
190
+ function isEmbedCache(reference) {
191
+ return isReferenceCache(reference) && reference.original[0] === "!";
192
+ }
193
+
194
+ // src/obsidian/implementations/TypeGuards/isFrontmatterLinkCache.ts
195
+ function isFrontmatterLinkCache(reference) {
196
+ return !!reference.key;
197
+ }
198
+
199
+ // src/obsidian/implementations/TypeGuards/isLinkCache.ts
200
+ function isLinkCache(reference) {
201
+ return isReferenceCache(reference) && reference.original[0] !== "!";
202
+ }
203
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vc3JjL29ic2lkaWFuL2ltcGxlbWVudGF0aW9ucy9pbmRleC50cyIsICIuLi9zcmMvb2JzaWRpYW4vaW1wbGVtZW50YXRpb25zL1BhdGhVdGlscy50cyIsICIuLi9zcmMvb2JzaWRpYW4vaW1wbGVtZW50YXRpb25zL0NvbnN0cnVjdG9ycy9jb25zdHJ1Y3RURm9sZGVyLnRzIiwgIi4uL3NyYy9vYnNpZGlhbi9pbXBsZW1lbnRhdGlvbnMvY3JlYXRlVEZvbGRlckluc3RhbmNlLnRzIiwgIi4uL3NyYy9vYnNpZGlhbi9pbXBsZW1lbnRhdGlvbnMvQ3VzdG9tQXJyYXlEaWN0SW1wbC50cyIsICIuLi9zcmMvb2JzaWRpYW4vaW1wbGVtZW50YXRpb25zL0ludGVybmFsUGx1Z2luTmFtZS50cyIsICIuLi9zcmMvb2JzaWRpYW4vaW1wbGVtZW50YXRpb25zL0NvbnN0cnVjdG9ycy9jb25zdHJ1Y3RURmlsZS50cyIsICIuLi9zcmMvb2JzaWRpYW4vaW1wbGVtZW50YXRpb25zL2NyZWF0ZVRGaWxlSW5zdGFuY2UudHMiLCAiLi4vc3JjL29ic2lkaWFuL2ltcGxlbWVudGF0aW9ucy9Db25zdHJ1Y3RvcnMvY29uc3RydWN0SW50ZXJuYWxQbHVnaW5zLnRzIiwgIi4uL3NyYy9vYnNpZGlhbi9pbXBsZW1lbnRhdGlvbnMvQ29uc3RydWN0b3JzL2NvbnN0cnVjdEludGVybmFsUGx1Z2luLnRzIiwgIi4uL3NyYy9vYnNpZGlhbi9pbXBsZW1lbnRhdGlvbnMvQ29uc3RydWN0b3JzL2NvbnN0cnVjdEFwcC50cyIsICIuLi9zcmMvb2JzaWRpYW4vaW1wbGVtZW50YXRpb25zL1R5cGVHdWFyZHMvaXNSZWZlcmVuY2VDYWNoZS50cyIsICIuLi9zcmMvb2JzaWRpYW4vaW1wbGVtZW50YXRpb25zL1R5cGVHdWFyZHMvaXNFbWJlZENhY2hlLnRzIiwgIi4uL3NyYy9vYnNpZGlhbi9pbXBsZW1lbnRhdGlvbnMvVHlwZUd1YXJkcy9pc0Zyb250bWF0dGVyTGlua0NhY2hlLnRzIiwgIi4uL3NyYy9vYnNpZGlhbi9pbXBsZW1lbnRhdGlvbnMvVHlwZUd1YXJkcy9pc0xpbmtDYWNoZS50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsiLyogVEhJUyBJUyBBIEdFTkVSQVRFRC9CVU5ETEVEIEZJTEUgQlkgQlVJTEQgU0NSSVBUICovXG5cbmV4cG9ydCAqIGZyb20gJy4vUGF0aFV0aWxzLmpzJztcbmV4cG9ydCAqIGZyb20gJy4vY3JlYXRlVEZvbGRlckluc3RhbmNlLmpzJztcbmV4cG9ydCAqIGZyb20gJy4vQ3VzdG9tQXJyYXlEaWN0SW1wbC5qcyc7XG5leHBvcnQgKiBmcm9tICcuL0ludGVybmFsUGx1Z2luTmFtZS5qcyc7XG5leHBvcnQgKiBmcm9tICcuL2NyZWF0ZVRGaWxlSW5zdGFuY2UuanMnO1xuZXhwb3J0ICogZnJvbSAnLi9Db25zdHJ1Y3RvcnMvY29uc3RydWN0VEZvbGRlci5qcyc7XG5leHBvcnQgKiBmcm9tICcuL0NvbnN0cnVjdG9ycy9jb25zdHJ1Y3RJbnRlcm5hbFBsdWdpbnMuanMnO1xuZXhwb3J0ICogZnJvbSAnLi9Db25zdHJ1Y3RvcnMvY29uc3RydWN0SW50ZXJuYWxQbHVnaW4uanMnO1xuZXhwb3J0ICogZnJvbSAnLi9Db25zdHJ1Y3RvcnMvY29uc3RydWN0QXBwLmpzJztcbmV4cG9ydCAqIGZyb20gJy4vQ29uc3RydWN0b3JzL2NvbnN0cnVjdFRGaWxlLmpzJztcbmV4cG9ydCAqIGZyb20gJy4vVHlwZUd1YXJkcy9pc0VtYmVkQ2FjaGUuanMnO1xuZXhwb3J0ICogZnJvbSAnLi9UeXBlR3VhcmRzL2lzRnJvbnRtYXR0ZXJMaW5rQ2FjaGUuanMnO1xuZXhwb3J0ICogZnJvbSAnLi9UeXBlR3VhcmRzL2lzUmVmZXJlbmNlQ2FjaGUuanMnO1xuZXhwb3J0ICogZnJvbSAnLi9UeXBlR3VhcmRzL2lzTGlua0NhY2hlLmpzJztcbmltcG9ydCAnLi4vLi4vaW5kZXguanMnO1xuIiwgImV4cG9ydCBmdW5jdGlvbiBwYXJlbnRGb2xkZXJQYXRoKHBhdGg6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHBhdGgucmVwbGFjZSgvXFwvP1teXFwvXSokLywgJycpIHx8ICcvJztcbn1cbiIsICJpbXBvcnQge1xuICAgIFRGb2xkZXIsXG4gICAgdHlwZSBWYXVsdFxufSBmcm9tICdvYnNpZGlhbic7XG5cbnR5cGUgVEZvbGRlckNvbnN0cnVjdG9yID0gbmV3KHZhdWx0OiBWYXVsdCwgcGF0aDogc3RyaW5nKSA9PiBURm9sZGVyO1xuXG4vKipcbiAqIENvbnN0cnVjdHMgYSBuZXcgVEZvbGRlciBpbnN0YW5jZS5cbiAqXG4gKiBAcGFyYW0gdmF1bHQgLSBUaGUgdmF1bHQgdG8gd2hpY2ggdGhlIGZvbGRlciBiZWxvbmdzLlxuICogQHBhcmFtIHBhdGggLSBUaGUgcGF0aCBvZiB0aGUgZm9sZGVyLlxuICogQHJldHVybnMgVGhlIGNvbnN0cnVjdGVkIFRGb2xkZXIgaW5zdGFuY2UuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBjb25zdHJ1Y3RURm9sZGVyKHZhdWx0OiBWYXVsdCwgcGF0aDogc3RyaW5nKTogVEZvbGRlciB7XG4gICAgcmV0dXJuIG5ldyAoVEZvbGRlciBhcyBURm9sZGVyQ29uc3RydWN0b3IpKHZhdWx0LCBwYXRoKTtcbn1cbiIsICJpbXBvcnQge1xuICAgIFRGb2xkZXIsXG4gICAgdHlwZSBWYXVsdFxufSBmcm9tICdvYnNpZGlhbic7XG5pbXBvcnQgeyBjb25zdHJ1Y3RURm9sZGVyIH0gZnJvbSAnLi9Db25zdHJ1Y3RvcnMvY29uc3RydWN0VEZvbGRlci50cyc7XG5pbXBvcnQgeyBwYXJlbnRGb2xkZXJQYXRoIH0gZnJvbSAnLi9QYXRoVXRpbHMudHMnO1xuXG4vKipcbiAqIENyZWF0ZXMgYW5kIHByb3Blcmx5IGluaXRpYWxpemVzIHRoZSBpbnN0YW5jZSBvZiBURm9sZGVyIGV2ZW4gdGhlIHVuZGVybHlpbmcgZm9sZGVyIGRvZXMgbm90IGV4aXN0LlxuICogVGhpcyBkb2Vzbid0IGNyZWF0ZSB0aGUgbWlzc2luZyBmb2xkZXIgb24gdGhlIGZpbGUgc3lzdGVtLlxuICovXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlVEZvbGRlckluc3RhbmNlKHZhdWx0OiBWYXVsdCwgcGF0aDogc3RyaW5nKTogVEZvbGRlciB7XG4gICAgbGV0IGZvbGRlciA9IHZhdWx0LmdldEZvbGRlckJ5UGF0aChwYXRoKTtcbiAgICBpZiAoZm9sZGVyKSB7XG4gICAgICAgIHJldHVybiBmb2xkZXI7XG4gICAgfVxuXG4gICAgZm9sZGVyID0gY29uc3RydWN0VEZvbGRlcih2YXVsdCwgcGF0aCk7XG4gICAgZm9sZGVyLnBhcmVudCA9IGNyZWF0ZVRGb2xkZXJJbnN0YW5jZSh2YXVsdCwgcGFyZW50Rm9sZGVyUGF0aChwYXRoKSk7XG4gICAgZm9sZGVyLmRlbGV0ZWQgPSB0cnVlO1xuICAgIHJldHVybiBmb2xkZXI7XG59XG4iLCAiaW1wb3J0IHR5cGUgeyBDdXN0b21BcnJheURpY3QgfSBmcm9tICcuLi9pbnRlcm5hbHMvQ3VzdG9tQXJyYXlEaWN0LmpzJztcblxuZXhwb3J0IGNsYXNzIEN1c3RvbUFycmF5RGljdEltcGw8VD4gaW1wbGVtZW50cyBDdXN0b21BcnJheURpY3Q8VD4ge1xuICAgIHB1YmxpYyBkYXRhOiBNYXA8c3RyaW5nLCBUW10+ID0gbmV3IE1hcCgpO1xuXG4gICAgcHVibGljIGFkZChrZXk6IHN0cmluZywgdmFsdWU6IFQpOiB2b2lkIHtcbiAgICAgICAgbGV0IHZhbHVlcyA9IHRoaXMuZ2V0KGtleSk7XG4gICAgICAgIGlmICghdmFsdWVzKSB7XG4gICAgICAgICAgICB2YWx1ZXMgPSBbXTtcbiAgICAgICAgICAgIHRoaXMuZGF0YS5zZXQoa2V5LCB2YWx1ZXMpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKCF2YWx1ZXMuaW5jbHVkZXModmFsdWUpKSB7XG4gICAgICAgICAgICB2YWx1ZXMucHVzaCh2YWx1ZSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwdWJsaWMgcmVtb3ZlKGtleTogc3RyaW5nLCB2YWx1ZTogVCk6IHZvaWQge1xuICAgICAgICBjb25zdCB2YWx1ZXMgPSB0aGlzLmdldChrZXkpO1xuICAgICAgICBpZiAoIXZhbHVlcykge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIHZhbHVlcy5yZW1vdmUodmFsdWUpO1xuXG4gICAgICAgIGlmICh2YWx1ZXMubGVuZ3RoID09PSAwKSB7XG4gICAgICAgICAgICB0aGlzLmNsZWFyKGtleSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0KGtleTogc3RyaW5nKTogVFtdIHwgbnVsbCB7XG4gICAgICAgIHJldHVybiB0aGlzLmRhdGEuZ2V0KGtleSkgfHwgbnVsbDtcbiAgICB9XG5cbiAgICBwdWJsaWMga2V5cygpOiBzdHJpbmdbXSB7XG4gICAgICAgIHJldHVybiBBcnJheS5mcm9tKHRoaXMuZGF0YS5rZXlzKCkpO1xuICAgIH1cblxuICAgIHB1YmxpYyBjbGVhcihrZXk6IHN0cmluZyk6IHZvaWQge1xuICAgICAgICB0aGlzLmRhdGEuZGVsZXRlKGtleSk7XG4gICAgfVxuXG4gICAgcHVibGljIGNsZWFyQWxsKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmRhdGEuY2xlYXIoKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgY29udGFpbnMoa2V5OiBzdHJpbmcsIHZhbHVlOiBUKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAhIXRoaXMuZ2V0KGtleSk/LmNvbnRhaW5zKHZhbHVlKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgY291bnQoKTogbnVtYmVyIHtcbiAgICAgICAgbGV0IGFucyA9IDA7XG4gICAgICAgIGZvciAoY29uc3Qga2V5IGluIHRoaXMua2V5cygpKSB7XG4gICAgICAgICAgICBhbnMgKz0gdGhpcy5nZXQoa2V5KT8ubGVuZ3RoID8/IDA7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gYW5zO1xuICAgIH1cbn1cbiIsICJleHBvcnQgY29uc3QgSW50ZXJuYWxQbHVnaW5OYW1lID0ge1xuICAgIEF1ZGlvUmVjb3JkZXI6ICdhdWRpby1yZWNvcmRlcicsXG4gICAgQmFja2xpbms6ICdiYWNrbGluaycsXG4gICAgQm9va21hcmtzOiAnYm9va21hcmtzJyxcbiAgICBDYW52YXM6ICdjYW52YXMnLFxuICAgIENvbW1hbmRQYWxldHRlOiAnY29tbWFuZC1wYWxldHRlJyxcbiAgICBEYWlseU5vdGVzOiAnZGFpbHktbm90ZXMnLFxuICAgIEVkaXRvclN0YXR1czogJ2VkaXRvci1zdGF0dXMnLFxuICAgIEZpbGVFeHBsb3JlcjogJ2ZpbGUtZXhwbG9yZXInLFxuICAgIEZpbGVSZWNvdmVyeTogJ2ZpbGUtcmVjb3ZlcnknLFxuICAgIEdsb2JhbFNlYXJjaDogJ2dsb2JhbC1zZWFyY2gnLFxuICAgIEdyYXBoOiAnZ3JhcGgnLFxuICAgIE1hcmtkb3duSW1wb3J0ZXI6ICdtYXJrZG93bi1pbXBvcnRlcicsXG4gICAgTm90ZUNvbXBvc2VyOiAnbm90ZS1jb21wb3NlcicsXG4gICAgT3V0Z29pbmdMaW5rOiAnb3V0Z29pbmctbGluaycsXG4gICAgT3V0bGluZTogJ291dGxpbmUnLFxuICAgIFBhZ2VQcmV2aWV3OiAncGFnZS1wcmV2aWV3JyxcbiAgICBQcm9wZXJ0aWVzOiAncHJvcGVydGllcycsXG4gICAgUHVibGlzaDogJ3B1Ymxpc2gnLFxuICAgIFJhbmRvbU5vdGU6ICdyYW5kb20tbm90ZScsXG4gICAgU2xhc2hDb21tYW5kOiAnc2xhc2gtY29tbWFuZCcsXG4gICAgU2xpZGVzOiAnc2xpZGVzJyxcbiAgICBTd2l0Y2hlcjogJ3N3aXRjaGVyJyxcbiAgICBTeW5jOiAnc3luYycsXG4gICAgVGFnUGFuZTogJ3RhZy1wYW5lJyxcbiAgICBUZW1wbGF0ZXM6ICd0ZW1wbGF0ZXMnLFxuICAgIFdvcmRDb3VudDogJ3dvcmQtY291bnQnLFxuICAgIFdvcmtzcGFjZXM6ICd3b3Jrc3BhY2VzJyxcbiAgICBaa1ByZWZpeGVyOiAnemstcHJlZml4ZXInXG59IGFzIGNvbnN0O1xuIiwgImltcG9ydCB7XG4gICAgVEZpbGUsXG4gICAgdHlwZSBWYXVsdFxufSBmcm9tICdvYnNpZGlhbic7XG5cbnR5cGUgVEZpbGVDb25zdHJ1Y3RvciA9IG5ldyh2YXVsdDogVmF1bHQsIHBhdGg6IHN0cmluZykgPT4gVEZpbGU7XG5cbi8qKlxuICogQ29uc3RydWN0cyBhIG5ldyBURmlsZSBpbnN0YW5jZS5cbiAqXG4gKiBAcGFyYW0gdmF1bHQgLSBUaGUgdmF1bHQgdG8gd2hpY2ggdGhlIGZpbGUgYmVsb25ncy5cbiAqIEBwYXJhbSBwYXRoIC0gVGhlIHBhdGggb2YgdGhlIGZpbGUuXG4gKiBAcmV0dXJucyBUaGUgY29uc3RydWN0ZWQgVEZpbGUgaW5zdGFuY2UuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBjb25zdHJ1Y3RURmlsZSh2YXVsdDogVmF1bHQsIHBhdGg6IHN0cmluZyk6IFRGaWxlIHtcbiAgICByZXR1cm4gbmV3IChURmlsZSBhcyBURmlsZUNvbnN0cnVjdG9yKSh2YXVsdCwgcGF0aCk7XG59XG4iLCAiaW1wb3J0IHtcbiAgICBURmlsZSxcbiAgICB0eXBlIFZhdWx0XG59IGZyb20gJ29ic2lkaWFuJztcbmltcG9ydCB7IGNvbnN0cnVjdFRGaWxlIH0gZnJvbSAnLi9Db25zdHJ1Y3RvcnMvY29uc3RydWN0VEZpbGUudHMnO1xuaW1wb3J0IHsgY3JlYXRlVEZvbGRlckluc3RhbmNlIH0gZnJvbSAnLi9jcmVhdGVURm9sZGVySW5zdGFuY2UudHMnO1xuaW1wb3J0IHsgcGFyZW50Rm9sZGVyUGF0aCB9IGZyb20gJy4vUGF0aFV0aWxzLnRzJztcblxuLyoqXG4gKiBDcmVhdGVzIGFuZCBwcm9wZXJseSBpbml0aWFsaXplcyB0aGUgaW5zdGFuY2Ugb2YgVEZpbGUgZXZlbiB0aGUgdW5kZXJseWluZyBmaWxlIGRvZXMgbm90IGV4aXN0LlxuICogVGhpcyBkb2Vzbid0IGNyZWF0ZSB0aGUgbWlzc2luZyBmaWxlIG9uIHRoZSBmaWxlIHN5c3RlbS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZVRGaWxlSW5zdGFuY2UodmF1bHQ6IFZhdWx0LCBwYXRoOiBzdHJpbmcpOiBURmlsZSB7XG4gICAgbGV0IGZpbGUgPSB2YXVsdC5nZXRGaWxlQnlQYXRoKHBhdGgpO1xuICAgIGlmIChmaWxlKSB7XG4gICAgICAgIHJldHVybiBmaWxlO1xuICAgIH1cblxuICAgIGZpbGUgPSBjb25zdHJ1Y3RURmlsZSh2YXVsdCwgcGF0aCk7XG4gICAgZmlsZS5wYXJlbnQgPSBjcmVhdGVURm9sZGVySW5zdGFuY2UodmF1bHQsIHBhcmVudEZvbGRlclBhdGgocGF0aCkpO1xuICAgIGZpbGUuZGVsZXRlZCA9IHRydWU7XG4gICAgcmV0dXJuIGZpbGU7XG59XG4iLCAiaW1wb3J0IHR5cGUgeyBBcHAgfSBmcm9tICdvYnNpZGlhbic7XG5pbXBvcnQgdHlwZSB7IEludGVybmFsUGx1Z2lucyB9IGZyb20gJy4uLy4uL2ludGVybmFscy9JbnRlcm5hbFBsdWdpbi9JbnRlcm5hbFBsdWdpbnMuanMnO1xuXG50eXBlIEludGVybmFsUGx1Z2luc0NvbnN0cnVjdG9yID0gbmV3KGFwcDogQXBwKSA9PiBJbnRlcm5hbFBsdWdpbnM7XG5cbi8qKlxuICogQ29uc3RydWN0cyBhIG5ldyBJbnRlcm5hbFBsdWdpbnMgaW5zdGFuY2UuXG4gKlxuICogQHBhcmFtIGFwcCAtIFRoZSBhcHAgaW5zdGFuY2UuXG4gKiBAcmV0dXJucyBUaGUgY29uc3RydWN0ZWQgSW50ZXJuYWxQbHVnaW5zIGluc3RhbmNlLlxuICovXG5leHBvcnQgZnVuY3Rpb24gY29uc3RydWN0SW50ZXJuYWxQbHVnaW5zKGFwcDogQXBwKTogSW50ZXJuYWxQbHVnaW5zIHtcbiAgICByZXR1cm4gbmV3IChhcHAuaW50ZXJuYWxQbHVnaW5zLmNvbnN0cnVjdG9yIGFzIEludGVybmFsUGx1Z2luc0NvbnN0cnVjdG9yKShhcHApO1xufVxuIiwgImltcG9ydCB0eXBlIHsgQXBwIH0gZnJvbSAnb2JzaWRpYW4nO1xuaW1wb3J0IHR5cGUgeyBJbnRlcm5hbFBsdWdpbiB9IGZyb20gJy4uLy4uL2ludGVybmFscy9JbnRlcm5hbFBsdWdpbi9JbnRlcm5hbFBsdWdpbi5qcyc7XG5pbXBvcnQgdHlwZSB7IEludGVybmFsUGx1Z2lucyB9IGZyb20gJy4uLy4uL2ludGVybmFscy9JbnRlcm5hbFBsdWdpbi9JbnRlcm5hbFBsdWdpbnMuanMnO1xuXG50eXBlIEludGVybmFsUGx1Z2luQ29uc3RydWN0b3I8SW5zdGFuY2U+ID0gbmV3KFxuICAgIGFwcDogQXBwLFxuICAgIGluc3RhbmNlOiBJbnN0YW5jZSxcbiAgICBpbnRlcm5hbFBsdWdpbnM6IEludGVybmFsUGx1Z2luc1xuKSA9PiBJbnRlcm5hbFBsdWdpbjxJbnN0YW5jZT47XG5cbi8qKlxuICogQ29uc3RydWN0cyBhIG5ldyBJbnRlcm5hbFBsdWdpbiBpbnN0YW5jZS5cbiAqXG4gKiBAcGFyYW0gYXBwIC0gVGhlIGFwcCBpbnN0YW5jZS5cbiAqIEBwYXJhbSBpbnN0YW5jZSAtIFRoZSBpbnN0YW5jZSBvZiB0aGUgcGx1Z2luLlxuICogQHBhcmFtIGludGVybmFsUGx1Z2lucyAtIFRoZSBpbnRlcm5hbCBwbHVnaW5zIGluc3RhbmNlLlxuICogQHJldHVybnMgVGhlIGNvbnN0cnVjdGVkIEludGVybmFsUGx1Z2luIGluc3RhbmNlLlxuICovXG5leHBvcnQgZnVuY3Rpb24gY29uc3RydWN0SW50ZXJuYWxQbHVnaW48SW5zdGFuY2U+KFxuICAgIGFwcDogQXBwLFxuICAgIGluc3RhbmNlOiBJbnN0YW5jZSxcbiAgICBpbnRlcm5hbFBsdWdpbnM6IEludGVybmFsUGx1Z2luc1xuKTogSW50ZXJuYWxQbHVnaW48SW5zdGFuY2U+IHtcbiAgICBjb25zdCBhbnlQbHVnaW4gPSBPYmplY3QudmFsdWVzKGFwcC5pbnRlcm5hbFBsdWdpbnMucGx1Z2lucylbMF07XG4gICAgaWYgKCFhbnlQbHVnaW4pIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdObyBpbnRlcm5hbCBwbHVnaW4gZm91bmQnKTtcbiAgICB9XG4gICAgcmV0dXJuIG5ldyAoYW55UGx1Z2luLmNvbnN0cnVjdG9yIGFzIEludGVybmFsUGx1Z2luQ29uc3RydWN0b3I8SW5zdGFuY2U+KShhcHAsIGluc3RhbmNlLCBpbnRlcm5hbFBsdWdpbnMpO1xufVxuIiwgImltcG9ydCB7XG4gICAgQXBwLFxuICAgIHR5cGUgRGF0YUFkYXB0ZXJcbn0gZnJvbSAnb2JzaWRpYW4nO1xuXG50eXBlIEFwcENvbnN0cnVjdG9yID0gbmV3KGFkYXB0ZXI6IERhdGFBZGFwdGVyLCBhcHBJZDogc3RyaW5nKSA9PiBBcHA7XG5cbi8qKlxuICogQ29uc3RydWN0cyBhIG5ldyBBcHAgaW5zdGFuY2UuXG4gKlxuICogQHBhcmFtIGFkYXB0ZXIgLSBUaGUgZGF0YSBhZGFwdGVyIHRvIHVzZS5cbiAqIEBwYXJhbSBhcHBJZCAtIFRoZSBJRCBvZiB0aGUgYXBwLlxuICogQHJldHVybnMgVGhlIGNvbnN0cnVjdGVkIEFwcCBpbnN0YW5jZS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGNvbnN0cnVjdEFwcChhZGFwdGVyOiBEYXRhQWRhcHRlciwgYXBwSWQ6IHN0cmluZyk6IEFwcCB7XG4gICAgcmV0dXJuIG5ldyAoQXBwIGFzIEFwcENvbnN0cnVjdG9yKShhZGFwdGVyLCBhcHBJZCk7XG59XG4iLCAiaW1wb3J0IHR5cGUge1xuICAgIFJlZmVyZW5jZSxcbiAgICBSZWZlcmVuY2VDYWNoZVxufSBmcm9tICdvYnNpZGlhbic7XG5cbmV4cG9ydCBmdW5jdGlvbiBpc1JlZmVyZW5jZUNhY2hlKHJlZmVyZW5jZTogUmVmZXJlbmNlKTogcmVmZXJlbmNlIGlzIFJlZmVyZW5jZUNhY2hlIHtcbiAgICByZXR1cm4gISEocmVmZXJlbmNlIGFzIFBhcnRpYWw8UmVmZXJlbmNlQ2FjaGU+KS5wb3NpdGlvbjtcbn1cbiIsICJpbXBvcnQgdHlwZSB7XG4gICAgRW1iZWRDYWNoZSxcbiAgICBSZWZlcmVuY2Vcbn0gZnJvbSAnb2JzaWRpYW4nO1xuaW1wb3J0IHsgaXNSZWZlcmVuY2VDYWNoZSB9IGZyb20gJy4vaXNSZWZlcmVuY2VDYWNoZS50cyc7XG5cbmV4cG9ydCBmdW5jdGlvbiBpc0VtYmVkQ2FjaGUocmVmZXJlbmNlOiBSZWZlcmVuY2UpOiByZWZlcmVuY2UgaXMgRW1iZWRDYWNoZSB7XG4gICAgcmV0dXJuIGlzUmVmZXJlbmNlQ2FjaGUocmVmZXJlbmNlKSAmJiByZWZlcmVuY2Uub3JpZ2luYWxbMF0gPT09ICchJztcbn1cbiIsICJpbXBvcnQgdHlwZSB7XG4gICAgRnJvbnRtYXR0ZXJMaW5rQ2FjaGUsXG4gICAgUmVmZXJlbmNlXG59IGZyb20gJ29ic2lkaWFuJztcblxuZXhwb3J0IGZ1bmN0aW9uIGlzRnJvbnRtYXR0ZXJMaW5rQ2FjaGUocmVmZXJlbmNlOiBSZWZlcmVuY2UpOiByZWZlcmVuY2UgaXMgRnJvbnRtYXR0ZXJMaW5rQ2FjaGUge1xuICAgIHJldHVybiAhIShyZWZlcmVuY2UgYXMgUGFydGlhbDxGcm9udG1hdHRlckxpbmtDYWNoZT4pLmtleTtcbn1cbiIsICJpbXBvcnQgdHlwZSB7XG4gICAgTGlua0NhY2hlLFxuICAgIFJlZmVyZW5jZVxufSBmcm9tICdvYnNpZGlhbic7XG5pbXBvcnQgeyBpc1JlZmVyZW5jZUNhY2hlIH0gZnJvbSAnLi9pc1JlZmVyZW5jZUNhY2hlLnRzJztcblxuZXhwb3J0IGZ1bmN0aW9uIGlzTGlua0NhY2hlKHJlZmVyZW5jZTogUmVmZXJlbmNlKTogcmVmZXJlbmNlIGlzIExpbmtDYWNoZSB7XG4gICAgcmV0dXJuIGlzUmVmZXJlbmNlQ2FjaGUocmVmZXJlbmNlKSAmJiByZWZlcmVuY2Uub3JpZ2luYWxbMF0gIT09ICchJztcbn1cbiJdLAogICJtYXBwaW5ncyI6ICI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTs7O0FDQU8sU0FBUyxpQkFBaUIsTUFBc0I7QUFDbkQsU0FBTyxLQUFLLFFBQVEsY0FBYyxFQUFFLEtBQUs7QUFDN0M7OztBQ0ZBLHNCQUdPO0FBV0EsU0FBUyxpQkFBaUIsT0FBYyxNQUF1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
@@ -4,12 +4,73 @@ import { Extension } from '@codemirror/state';
4
4
  import { EditorView, ViewUpdate } from '@codemirror/view';
5
5
  import { App, CachedMetadata, CloseableComponent, Command, Component, DataAdapter, Debouncer, Editor, EditorPosition, EditorRange, EditorSuggest, EmbedCache, Events, FileStats, FileView, FrontmatterLinkCache, HoverLinkSource, HoverPopover, IconName, ItemView, KeymapInfo, LinkCache, Loc, MarkdownFileInfo, MarkdownView, Menu, Modal, PaneType, Plugin as Plugin$1, PluginManifest, PluginSettingTab, Reference, ReferenceCache, Scope, SearchComponent, SearchResult, SettingTab, SplitDirection, TAbstractFile, TFile, TFolder, TextFileView, Vault, View, ViewCreator, ViewState, Workspace, WorkspaceLeaf, WorkspaceTabs } from 'obsidian';
6
6
 
7
+ export declare function parentFolderPath(path: string): string;
7
8
  export type StyleModule = {};
8
9
  export type StyleSpec = {};
9
- export declare function isEmbedCache(reference: Reference): reference is EmbedCache;
10
- export declare function isFrontmatterLinkCache(reference: Reference): reference is FrontmatterLinkCache;
11
- export declare function isReferenceCache(reference: Reference): reference is ReferenceCache;
12
- export declare function isLinkCache(reference: Reference): reference is LinkCache;
10
+ /**
11
+ * Creates and properly initializes the instance of TFolder even the underlying folder does not exist.
12
+ * This doesn't create the missing folder on the file system.
13
+ */
14
+ export declare function createTFolderInstance(vault: Vault, path: string): TFolder;
15
+ /** @todo Documentation incomplete */
16
+ /** @public */
17
+ export interface CustomArrayDict<T> {
18
+ data: Map<string, T[]>;
19
+ add(key: string, value: T): void;
20
+ clear(key: string): void;
21
+ clearAll(): void;
22
+ contains(key: string, value: T): boolean;
23
+ count(): number;
24
+ get(key: string): T[] | null;
25
+ keys(): string[];
26
+ remove(key: string, value: T): void;
27
+ }
28
+ export declare class CustomArrayDictImpl<T> implements CustomArrayDict<T> {
29
+ data: Map<string, T[]>;
30
+ add(key: string, value: T): void;
31
+ remove(key: string, value: T): void;
32
+ get(key: string): T[] | null;
33
+ keys(): string[];
34
+ clear(key: string): void;
35
+ clearAll(): void;
36
+ contains(key: string, value: T): boolean;
37
+ count(): number;
38
+ }
39
+ export declare const InternalPluginName: {
40
+ readonly AudioRecorder: "audio-recorder";
41
+ readonly Backlink: "backlink";
42
+ readonly Bookmarks: "bookmarks";
43
+ readonly Canvas: "canvas";
44
+ readonly CommandPalette: "command-palette";
45
+ readonly DailyNotes: "daily-notes";
46
+ readonly EditorStatus: "editor-status";
47
+ readonly FileExplorer: "file-explorer";
48
+ readonly FileRecovery: "file-recovery";
49
+ readonly GlobalSearch: "global-search";
50
+ readonly Graph: "graph";
51
+ readonly MarkdownImporter: "markdown-importer";
52
+ readonly NoteComposer: "note-composer";
53
+ readonly OutgoingLink: "outgoing-link";
54
+ readonly Outline: "outline";
55
+ readonly PagePreview: "page-preview";
56
+ readonly Properties: "properties";
57
+ readonly Publish: "publish";
58
+ readonly RandomNote: "random-note";
59
+ readonly SlashCommand: "slash-command";
60
+ readonly Slides: "slides";
61
+ readonly Switcher: "switcher";
62
+ readonly Sync: "sync";
63
+ readonly TagPane: "tag-pane";
64
+ readonly Templates: "templates";
65
+ readonly WordCount: "word-count";
66
+ readonly Workspaces: "workspaces";
67
+ readonly ZkPrefixer: "zk-prefixer";
68
+ };
69
+ /**
70
+ * Creates and properly initializes the instance of TFile even the underlying file does not exist.
71
+ * This doesn't create the missing file on the file system.
72
+ */
73
+ export declare function createTFileInstance(vault: Vault, path: string): TFile;
13
74
  /**
14
75
  * Constructs a new TFolder instance.
15
76
  *
@@ -67,6 +128,10 @@ export interface InternalPluginInstance<InternalPlugin> {
67
128
  description: string;
68
129
  id: string;
69
130
  name: string;
131
+ onDisable?: (app: App, plugin: InternalPlugin) => void;
132
+ onEnable?: (app: App, plugin: InternalPlugin) => Promise<void>;
133
+ onUserDisable?: (app: App) => void;
134
+ onUserEnable?: (app: App) => void;
70
135
  init(app: App, plugin: InternalPlugin): void;
71
136
  }
72
137
  /** @public */
@@ -402,7 +467,7 @@ export interface GraphPluginInstance extends InternalPluginInstance<GraphPlugin>
402
467
  defaultOn: boolean;
403
468
  plugin: GraphPlugin;
404
469
  }
405
- declare const InternalPluginName: {
470
+ declare const InternalPluginName$1: {
406
471
  readonly AudioRecorder: "audio-recorder";
407
472
  readonly Backlink: "backlink";
408
473
  readonly Bookmarks: "bookmarks";
@@ -573,68 +638,68 @@ export interface ZkPrefixerPluginInstance extends InternalPluginInstance<ZkPrefi
573
638
  }
574
639
  /** @public */
575
640
  export type InternalPluginNameInstancesMapping = {
576
- [InternalPluginName.AudioRecorder]: AudioRecorderPluginInstance;
577
- [InternalPluginName.Backlink]: BacklinkPluginInstance;
578
- [InternalPluginName.Bookmarks]: BookmarksPluginInstance;
579
- [InternalPluginName.Canvas]: CanvasPluginInstance;
580
- [InternalPluginName.CommandPalette]: CommandPalettePluginInstance;
581
- [InternalPluginName.DailyNotes]: DailyNotesPluginInstance;
582
- [InternalPluginName.EditorStatus]: EditorStatusPluginInstance;
583
- [InternalPluginName.FileExplorer]: FileExplorerPluginInstance;
584
- [InternalPluginName.FileRecovery]: FileRecoveryPluginInstance;
585
- [InternalPluginName.GlobalSearch]: GlobalSearchPluginInstance;
586
- [InternalPluginName.Graph]: GraphPluginInstance;
587
- [InternalPluginName.MarkdownImporter]: MarkdownImporterPluginInstance;
588
- [InternalPluginName.NoteComposer]: NoteComposerPluginInstance;
589
- [InternalPluginName.OutgoingLink]: OutgoingLinkPluginInstance;
590
- [InternalPluginName.Outline]: OutlinePluginInstance;
591
- [InternalPluginName.PagePreview]: PagePreviewPluginInstance;
592
- [InternalPluginName.Properties]: PropertiesPluginInstance;
593
- [InternalPluginName.Publish]: PublishPluginInstance;
594
- [InternalPluginName.RandomNote]: RandomNotePluginInstance;
595
- [InternalPluginName.SlashCommand]: SlashCommandPluginInstance;
596
- [InternalPluginName.Slides]: SlidesPluginInstance;
597
- [InternalPluginName.Switcher]: SwitcherPluginInstance;
598
- [InternalPluginName.Sync]: SyncPluginInstance;
599
- [InternalPluginName.TagPane]: TagPanePluginInstance;
600
- [InternalPluginName.Templates]: TemplatesPluginInstance;
601
- [InternalPluginName.WordCount]: WordCountPluginInstance;
602
- [InternalPluginName.Workspaces]: WorkspacesPluginInstance;
603
- [InternalPluginName.ZkPrefixer]: ZkPrefixerPluginInstance;
641
+ [InternalPluginName$1.AudioRecorder]: AudioRecorderPluginInstance;
642
+ [InternalPluginName$1.Backlink]: BacklinkPluginInstance;
643
+ [InternalPluginName$1.Bookmarks]: BookmarksPluginInstance;
644
+ [InternalPluginName$1.Canvas]: CanvasPluginInstance;
645
+ [InternalPluginName$1.CommandPalette]: CommandPalettePluginInstance;
646
+ [InternalPluginName$1.DailyNotes]: DailyNotesPluginInstance;
647
+ [InternalPluginName$1.EditorStatus]: EditorStatusPluginInstance;
648
+ [InternalPluginName$1.FileExplorer]: FileExplorerPluginInstance;
649
+ [InternalPluginName$1.FileRecovery]: FileRecoveryPluginInstance;
650
+ [InternalPluginName$1.GlobalSearch]: GlobalSearchPluginInstance;
651
+ [InternalPluginName$1.Graph]: GraphPluginInstance;
652
+ [InternalPluginName$1.MarkdownImporter]: MarkdownImporterPluginInstance;
653
+ [InternalPluginName$1.NoteComposer]: NoteComposerPluginInstance;
654
+ [InternalPluginName$1.OutgoingLink]: OutgoingLinkPluginInstance;
655
+ [InternalPluginName$1.Outline]: OutlinePluginInstance;
656
+ [InternalPluginName$1.PagePreview]: PagePreviewPluginInstance;
657
+ [InternalPluginName$1.Properties]: PropertiesPluginInstance;
658
+ [InternalPluginName$1.Publish]: PublishPluginInstance;
659
+ [InternalPluginName$1.RandomNote]: RandomNotePluginInstance;
660
+ [InternalPluginName$1.SlashCommand]: SlashCommandPluginInstance;
661
+ [InternalPluginName$1.Slides]: SlidesPluginInstance;
662
+ [InternalPluginName$1.Switcher]: SwitcherPluginInstance;
663
+ [InternalPluginName$1.Sync]: SyncPluginInstance;
664
+ [InternalPluginName$1.TagPane]: TagPanePluginInstance;
665
+ [InternalPluginName$1.Templates]: TemplatesPluginInstance;
666
+ [InternalPluginName$1.WordCount]: WordCountPluginInstance;
667
+ [InternalPluginName$1.Workspaces]: WorkspacesPluginInstance;
668
+ [InternalPluginName$1.ZkPrefixer]: ZkPrefixerPluginInstance;
604
669
  };
605
670
  /** @public */
606
671
  export type InternalPluginNamePluginsMapping = {
607
- [InternalPluginName.AudioRecorder]: AudioRecorderPlugin;
608
- [InternalPluginName.Backlink]: BacklinkPlugin;
609
- [InternalPluginName.Bookmarks]: BookmarksPlugin;
610
- [InternalPluginName.Canvas]: CanvasPlugin;
611
- [InternalPluginName.CommandPalette]: CommandPalettePlugin;
612
- [InternalPluginName.DailyNotes]: DailyNotesPlugin;
613
- [InternalPluginName.EditorStatus]: EditorStatusPlugin;
614
- [InternalPluginName.FileExplorer]: FileExplorerPlugin;
615
- [InternalPluginName.FileRecovery]: FileRecoveryPlugin;
616
- [InternalPluginName.GlobalSearch]: GlobalSearchPlugin;
617
- [InternalPluginName.Graph]: GraphPlugin;
618
- [InternalPluginName.MarkdownImporter]: MarkdownImporterPlugin;
619
- [InternalPluginName.NoteComposer]: NoteComposerPlugin;
620
- [InternalPluginName.OutgoingLink]: OutgoingLinkPlugin;
621
- [InternalPluginName.Outline]: OutlinePlugin;
622
- [InternalPluginName.PagePreview]: PagePreviewPlugin;
623
- [InternalPluginName.Properties]: PropertiesPlugin;
624
- [InternalPluginName.Publish]: PublishPlugin;
625
- [InternalPluginName.RandomNote]: RandomNotePlugin;
626
- [InternalPluginName.SlashCommand]: SlashCommandPlugin;
627
- [InternalPluginName.Slides]: SlidesPlugin;
628
- [InternalPluginName.Switcher]: SwitcherPlugin;
629
- [InternalPluginName.Sync]: SyncPlugin;
630
- [InternalPluginName.TagPane]: TagPanePlugin;
631
- [InternalPluginName.Templates]: TemplatesPlugin;
632
- [InternalPluginName.WordCount]: WordCountPlugin;
633
- [InternalPluginName.Workspaces]: WorkspacesPlugin;
634
- [InternalPluginName.ZkPrefixer]: ZkPrefixerPlugin;
672
+ [InternalPluginName$1.AudioRecorder]: AudioRecorderPlugin;
673
+ [InternalPluginName$1.Backlink]: BacklinkPlugin;
674
+ [InternalPluginName$1.Bookmarks]: BookmarksPlugin;
675
+ [InternalPluginName$1.Canvas]: CanvasPlugin;
676
+ [InternalPluginName$1.CommandPalette]: CommandPalettePlugin;
677
+ [InternalPluginName$1.DailyNotes]: DailyNotesPlugin;
678
+ [InternalPluginName$1.EditorStatus]: EditorStatusPlugin;
679
+ [InternalPluginName$1.FileExplorer]: FileExplorerPlugin;
680
+ [InternalPluginName$1.FileRecovery]: FileRecoveryPlugin;
681
+ [InternalPluginName$1.GlobalSearch]: GlobalSearchPlugin;
682
+ [InternalPluginName$1.Graph]: GraphPlugin;
683
+ [InternalPluginName$1.MarkdownImporter]: MarkdownImporterPlugin;
684
+ [InternalPluginName$1.NoteComposer]: NoteComposerPlugin;
685
+ [InternalPluginName$1.OutgoingLink]: OutgoingLinkPlugin;
686
+ [InternalPluginName$1.Outline]: OutlinePlugin;
687
+ [InternalPluginName$1.PagePreview]: PagePreviewPlugin;
688
+ [InternalPluginName$1.Properties]: PropertiesPlugin;
689
+ [InternalPluginName$1.Publish]: PublishPlugin;
690
+ [InternalPluginName$1.RandomNote]: RandomNotePlugin;
691
+ [InternalPluginName$1.SlashCommand]: SlashCommandPlugin;
692
+ [InternalPluginName$1.Slides]: SlidesPlugin;
693
+ [InternalPluginName$1.Switcher]: SwitcherPlugin;
694
+ [InternalPluginName$1.Sync]: SyncPlugin;
695
+ [InternalPluginName$1.TagPane]: TagPanePlugin;
696
+ [InternalPluginName$1.Templates]: TemplatesPlugin;
697
+ [InternalPluginName$1.WordCount]: WordCountPlugin;
698
+ [InternalPluginName$1.Workspaces]: WorkspacesPlugin;
699
+ [InternalPluginName$1.ZkPrefixer]: ZkPrefixerPlugin;
635
700
  };
636
701
  /** @public */
637
- export type InternalPluginNameType = (typeof InternalPluginName)[keyof typeof InternalPluginName];
702
+ export type InternalPluginNameType = (typeof InternalPluginName$1)[keyof typeof InternalPluginName$1];
638
703
  /** @public */
639
704
  export interface InternalPluginsConfigRecord extends Record<InternalPluginNameType, boolean> {
640
705
  }
@@ -716,71 +781,10 @@ export declare function constructApp(adapter: DataAdapter, appId: string): App;
716
781
  * @returns The constructed TFile instance.
717
782
  */
718
783
  export declare function constructTFile(vault: Vault, path: string): TFile;
719
- export declare function parentFolderPath(path: string): string;
720
- /**
721
- * Creates and properly initializes the instance of TFolder even the underlying folder does not exist.
722
- * This doesn't create the missing folder on the file system.
723
- */
724
- export declare function createTFolderInstance(vault: Vault, path: string): TFolder;
725
- /** @todo Documentation incomplete */
726
- /** @public */
727
- export interface CustomArrayDict<T> {
728
- data: Map<string, T[]>;
729
- add(key: string, value: T): void;
730
- clear(key: string): void;
731
- clearAll(): void;
732
- contains(key: string, value: T): boolean;
733
- count(): number;
734
- get(key: string): T[] | null;
735
- keys(): string[];
736
- remove(key: string, value: T): void;
737
- }
738
- export declare class CustomArrayDictImpl<T> implements CustomArrayDict<T> {
739
- data: Map<string, T[]>;
740
- add(key: string, value: T): void;
741
- remove(key: string, value: T): void;
742
- get(key: string): T[] | null;
743
- keys(): string[];
744
- clear(key: string): void;
745
- clearAll(): void;
746
- contains(key: string, value: T): boolean;
747
- count(): number;
748
- }
749
- declare const InternalPluginName$1: {
750
- readonly AudioRecorder: "audio-recorder";
751
- readonly Backlink: "backlink";
752
- readonly Bookmarks: "bookmarks";
753
- readonly Canvas: "canvas";
754
- readonly CommandPalette: "command-palette";
755
- readonly DailyNotes: "daily-notes";
756
- readonly EditorStatus: "editor-status";
757
- readonly FileExplorer: "file-explorer";
758
- readonly FileRecovery: "file-recovery";
759
- readonly GlobalSearch: "global-search";
760
- readonly Graph: "graph";
761
- readonly MarkdownImporter: "markdown-importer";
762
- readonly NoteComposer: "note-composer";
763
- readonly OutgoingLink: "outgoing-link";
764
- readonly Outline: "outline";
765
- readonly PagePreview: "page-preview";
766
- readonly Properties: "properties";
767
- readonly Publish: "publish";
768
- readonly RandomNote: "random-note";
769
- readonly SlashCommand: "slash-command";
770
- readonly Slides: "slides";
771
- readonly Switcher: "switcher";
772
- readonly Sync: "sync";
773
- readonly TagPane: "tag-pane";
774
- readonly Templates: "templates";
775
- readonly WordCount: "word-count";
776
- readonly Workspaces: "workspaces";
777
- readonly ZkPrefixer: "zk-prefixer";
778
- };
779
- /**
780
- * Creates and properly initializes the instance of TFile even the underlying file does not exist.
781
- * This doesn't create the missing file on the file system.
782
- */
783
- export declare function createTFileInstance(vault: Vault, path: string): TFile;
784
+ export declare function isEmbedCache(reference: Reference): reference is EmbedCache;
785
+ export declare function isFrontmatterLinkCache(reference: Reference): reference is FrontmatterLinkCache;
786
+ export declare function isReferenceCache(reference: Reference): reference is ReferenceCache;
787
+ export declare function isLinkCache(reference: Reference): reference is LinkCache;
784
788
  /** @public */
785
789
  export interface EditorViewState {
786
790
  printing: boolean;
@@ -3899,8 +3903,4 @@ export interface SerializedWorkspaceSidedock extends SerializedWorkspaceItem {
3899
3903
  width: number;
3900
3904
  }
3901
3905
 
3902
- export {
3903
- InternalPluginName$1 as InternalPluginName,
3904
- };
3905
-
3906
3906
  export {};
@@ -36726,6 +36726,159 @@
36726
36726
  "startIndex": 1,
36727
36727
  "endIndex": 2
36728
36728
  }
36729
+ },
36730
+ {
36731
+ "kind": "PropertySignature",
36732
+ "canonicalReference": "obsidian-typings!InternalPluginInstance#onDisable:member",
36733
+ "docComment": "",
36734
+ "excerptTokens": [
36735
+ {
36736
+ "kind": "Content",
36737
+ "text": "onDisable?: "
36738
+ },
36739
+ {
36740
+ "kind": "Content",
36741
+ "text": "(app: "
36742
+ },
36743
+ {
36744
+ "kind": "Reference",
36745
+ "text": "App",
36746
+ "canonicalReference": "obsidian-typings!~App"
36747
+ },
36748
+ {
36749
+ "kind": "Content",
36750
+ "text": ", plugin: InternalPlugin) => void"
36751
+ },
36752
+ {
36753
+ "kind": "Content",
36754
+ "text": ";"
36755
+ }
36756
+ ],
36757
+ "isReadonly": false,
36758
+ "isOptional": true,
36759
+ "releaseTag": "Public",
36760
+ "name": "onDisable",
36761
+ "propertyTypeTokenRange": {
36762
+ "startIndex": 1,
36763
+ "endIndex": 4
36764
+ }
36765
+ },
36766
+ {
36767
+ "kind": "PropertySignature",
36768
+ "canonicalReference": "obsidian-typings!InternalPluginInstance#onEnable:member",
36769
+ "docComment": "",
36770
+ "excerptTokens": [
36771
+ {
36772
+ "kind": "Content",
36773
+ "text": "onEnable?: "
36774
+ },
36775
+ {
36776
+ "kind": "Content",
36777
+ "text": "(app: "
36778
+ },
36779
+ {
36780
+ "kind": "Reference",
36781
+ "text": "App",
36782
+ "canonicalReference": "obsidian-typings!~App"
36783
+ },
36784
+ {
36785
+ "kind": "Content",
36786
+ "text": ", plugin: InternalPlugin) => "
36787
+ },
36788
+ {
36789
+ "kind": "Reference",
36790
+ "text": "Promise",
36791
+ "canonicalReference": "!Promise:interface"
36792
+ },
36793
+ {
36794
+ "kind": "Content",
36795
+ "text": "<void>"
36796
+ },
36797
+ {
36798
+ "kind": "Content",
36799
+ "text": ";"
36800
+ }
36801
+ ],
36802
+ "isReadonly": false,
36803
+ "isOptional": true,
36804
+ "releaseTag": "Public",
36805
+ "name": "onEnable",
36806
+ "propertyTypeTokenRange": {
36807
+ "startIndex": 1,
36808
+ "endIndex": 6
36809
+ }
36810
+ },
36811
+ {
36812
+ "kind": "PropertySignature",
36813
+ "canonicalReference": "obsidian-typings!InternalPluginInstance#onUserDisable:member",
36814
+ "docComment": "",
36815
+ "excerptTokens": [
36816
+ {
36817
+ "kind": "Content",
36818
+ "text": "onUserDisable?: "
36819
+ },
36820
+ {
36821
+ "kind": "Content",
36822
+ "text": "(app: "
36823
+ },
36824
+ {
36825
+ "kind": "Reference",
36826
+ "text": "App",
36827
+ "canonicalReference": "obsidian-typings!~App"
36828
+ },
36829
+ {
36830
+ "kind": "Content",
36831
+ "text": ") => void"
36832
+ },
36833
+ {
36834
+ "kind": "Content",
36835
+ "text": ";"
36836
+ }
36837
+ ],
36838
+ "isReadonly": false,
36839
+ "isOptional": true,
36840
+ "releaseTag": "Public",
36841
+ "name": "onUserDisable",
36842
+ "propertyTypeTokenRange": {
36843
+ "startIndex": 1,
36844
+ "endIndex": 4
36845
+ }
36846
+ },
36847
+ {
36848
+ "kind": "PropertySignature",
36849
+ "canonicalReference": "obsidian-typings!InternalPluginInstance#onUserEnable:member",
36850
+ "docComment": "",
36851
+ "excerptTokens": [
36852
+ {
36853
+ "kind": "Content",
36854
+ "text": "onUserEnable?: "
36855
+ },
36856
+ {
36857
+ "kind": "Content",
36858
+ "text": "(app: "
36859
+ },
36860
+ {
36861
+ "kind": "Reference",
36862
+ "text": "App",
36863
+ "canonicalReference": "obsidian-typings!~App"
36864
+ },
36865
+ {
36866
+ "kind": "Content",
36867
+ "text": ") => void"
36868
+ },
36869
+ {
36870
+ "kind": "Content",
36871
+ "text": ";"
36872
+ }
36873
+ ],
36874
+ "isReadonly": false,
36875
+ "isOptional": true,
36876
+ "releaseTag": "Public",
36877
+ "name": "onUserEnable",
36878
+ "propertyTypeTokenRange": {
36879
+ "startIndex": 1,
36880
+ "endIndex": 4
36881
+ }
36729
36882
  }
36730
36883
  ],
36731
36884
  "extendsTokenRanges": []
package/dist/types.d.ts CHANGED
@@ -1509,6 +1509,10 @@ export interface InternalPluginInstance<InternalPlugin> {
1509
1509
  description: string;
1510
1510
  id: string;
1511
1511
  name: string;
1512
+ onDisable?: (app: App, plugin: InternalPlugin) => void;
1513
+ onEnable?: (app: App, plugin: InternalPlugin) => Promise<void>;
1514
+ onUserDisable?: (app: App) => void;
1515
+ onUserEnable?: (app: App) => void;
1512
1516
  init(app: App, plugin: InternalPlugin): void;
1513
1517
  }
1514
1518
  /** @public */
@@ -7441,6 +7445,11 @@ declare global {
7441
7445
  */
7442
7446
  var wf: typeof Object.defineProperty;
7443
7447
  }
7448
+ declare global {
7449
+ interface DomElementInfo {
7450
+ [eventName: `on${string}`]: EventListenerOrEventListenerObject;
7451
+ }
7452
+ }
7444
7453
  /** @public */
7445
7454
  export interface IFramedMarkdownEditor extends MarkdownScrollableEditView {
7446
7455
  /**
@@ -7812,11 +7821,6 @@ export interface FileSuggest<T> extends EditorSuggest<T> {
7812
7821
  */
7813
7822
  suggestManager: FileSuggestManager;
7814
7823
  }
7815
- declare global {
7816
- interface DomElementInfo {
7817
- [eventName: `on${string}`]: EventListenerOrEventListenerObject;
7818
- }
7819
- }
7820
7824
  /** @todo Documentation incomplete */
7821
7825
  /** @public */
7822
7826
  export interface FilePropertiesView extends InfoFileView {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "obsidian-typings",
3
- "version": "2.4.0",
3
+ "version": "2.5.0",
4
4
  "description": "Extended type definitions for the Obsidian API (https://obsidian.md)",
5
5
  "main": "",
6
6
  "module": "",