obsidian-typings 2.3.4 → 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.
@@ -161,26 +161,6 @@ function createTFileInstance(vault, path) {
161
161
  return file;
162
162
  }
163
163
 
164
- // src/obsidian/implementations/TypeGuards/isReferenceCache.ts
165
- function isReferenceCache(reference) {
166
- return !!reference.position;
167
- }
168
-
169
- // src/obsidian/implementations/TypeGuards/isEmbedCache.ts
170
- function isEmbedCache(reference) {
171
- return isReferenceCache(reference) && reference.original[0] === "!";
172
- }
173
-
174
- // src/obsidian/implementations/TypeGuards/isFrontmatterLinkCache.ts
175
- function isFrontmatterLinkCache(reference) {
176
- return !!reference.key;
177
- }
178
-
179
- // src/obsidian/implementations/TypeGuards/isLinkCache.ts
180
- function isLinkCache(reference) {
181
- return isReferenceCache(reference) && reference.original[0] !== "!";
182
- }
183
-
184
164
  // src/obsidian/implementations/Constructors/constructInternalPlugins.ts
185
165
  function constructInternalPlugins(app) {
186
166
  return new app.internalPlugins.constructor(app);
@@ -200,4 +180,24 @@ var import_obsidian3 = require("obsidian");
200
180
  function constructApp(adapter, appId) {
201
181
  return new import_obsidian3.App(adapter, appId);
202
182
  }
203
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vc3JjL29ic2lkaWFuL2ltcGxlbWVudGF0aW9ucy9pbmRleC50cyIsICIuLi9zcmMvb2JzaWRpYW4vaW1wbGVtZW50YXRpb25zL1BhdGhVdGlscy50cyIsICIuLi9zcmMvb2JzaWRpYW4vaW1wbGVtZW50YXRpb25zL0NvbnN0cnVjdG9ycy9jb25zdHJ1Y3RURm9sZGVyLnRzIiwgIi4uL3NyYy9vYnNpZGlhbi9pbXBsZW1lbnRhdGlvbnMvY3JlYXRlVEZvbGRlckluc3RhbmNlLnRzIiwgIi4uL3NyYy9vYnNpZGlhbi9pbXBsZW1lbnRhdGlvbnMvQ3VzdG9tQXJyYXlEaWN0SW1wbC50cyIsICIuLi9zcmMvb2JzaWRpYW4vaW1wbGVtZW50YXRpb25zL0ludGVybmFsUGx1Z2luTmFtZS50cyIsICIuLi9zcmMvb2JzaWRpYW4vaW1wbGVtZW50YXRpb25zL0NvbnN0cnVjdG9ycy9jb25zdHJ1Y3RURmlsZS50cyIsICIuLi9zcmMvb2JzaWRpYW4vaW1wbGVtZW50YXRpb25zL2NyZWF0ZVRGaWxlSW5zdGFuY2UudHMiLCAiLi4vc3JjL29ic2lkaWFuL2ltcGxlbWVudGF0aW9ucy9UeXBlR3VhcmRzL2lzUmVmZXJlbmNlQ2FjaGUudHMiLCAiLi4vc3JjL29ic2lkaWFuL2ltcGxlbWVudGF0aW9ucy9UeXBlR3VhcmRzL2lzRW1iZWRDYWNoZS50cyIsICIuLi9zcmMvb2JzaWRpYW4vaW1wbGVtZW50YXRpb25zL1R5cGVHdWFyZHMvaXNGcm9udG1hdHRlckxpbmtDYWNoZS50cyIsICIuLi9zcmMvb2JzaWRpYW4vaW1wbGVtZW50YXRpb25zL1R5cGVHdWFyZHMvaXNMaW5rQ2FjaGUudHMiLCAiLi4vc3JjL29ic2lkaWFuL2ltcGxlbWVudGF0aW9ucy9Db25zdHJ1Y3RvcnMvY29uc3RydWN0SW50ZXJuYWxQbHVnaW5zLnRzIiwgIi4uL3NyYy9vYnNpZGlhbi9pbXBsZW1lbnRhdGlvbnMvQ29uc3RydWN0b3JzL2NvbnN0cnVjdEludGVybmFsUGx1Z2luLnRzIiwgIi4uL3NyYy9vYnNpZGlhbi9pbXBsZW1lbnRhdGlvbnMvQ29uc3RydWN0b3JzL2NvbnN0cnVjdEFwcC50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsiLyogVEhJUyBJUyBBIEdFTkVSQVRFRC9CVU5ETEVEIEZJTEUgQlkgQlVJTEQgU0NSSVBUICovXG5cbmV4cG9ydCAqIGZyb20gJy4vUGF0aFV0aWxzLmpzJztcbmV4cG9ydCAqIGZyb20gJy4vY3JlYXRlVEZvbGRlckluc3RhbmNlLmpzJztcbmV4cG9ydCAqIGZyb20gJy4vQ3VzdG9tQXJyYXlEaWN0SW1wbC5qcyc7XG5leHBvcnQgKiBmcm9tICcuL0ludGVybmFsUGx1Z2luTmFtZS5qcyc7XG5leHBvcnQgKiBmcm9tICcuL2NyZWF0ZVRGaWxlSW5zdGFuY2UuanMnO1xuZXhwb3J0ICogZnJvbSAnLi9UeXBlR3VhcmRzL2lzRW1iZWRDYWNoZS5qcyc7XG5leHBvcnQgKiBmcm9tICcuL1R5cGVHdWFyZHMvaXNGcm9udG1hdHRlckxpbmtDYWNoZS5qcyc7XG5leHBvcnQgKiBmcm9tICcuL1R5cGVHdWFyZHMvaXNSZWZlcmVuY2VDYWNoZS5qcyc7XG5leHBvcnQgKiBmcm9tICcuL1R5cGVHdWFyZHMvaXNMaW5rQ2FjaGUuanMnO1xuZXhwb3J0ICogZnJvbSAnLi9Db25zdHJ1Y3RvcnMvY29uc3RydWN0VEZvbGRlci5qcyc7XG5leHBvcnQgKiBmcm9tICcuL0NvbnN0cnVjdG9ycy9jb25zdHJ1Y3RJbnRlcm5hbFBsdWdpbnMuanMnO1xuZXhwb3J0ICogZnJvbSAnLi9Db25zdHJ1Y3RvcnMvY29uc3RydWN0SW50ZXJuYWxQbHVnaW4uanMnO1xuZXhwb3J0ICogZnJvbSAnLi9Db25zdHJ1Y3RvcnMvY29uc3RydWN0QXBwLmpzJztcbmV4cG9ydCAqIGZyb20gJy4vQ29uc3RydWN0b3JzL2NvbnN0cnVjdFRGaWxlLmpzJztcbmltcG9ydCAnLi4vLi4vaW5kZXguanMnO1xuIiwgImV4cG9ydCBmdW5jdGlvbiBwYXJlbnRGb2xkZXJQYXRoKHBhdGg6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHBhdGgucmVwbGFjZSgvXFwvP1teXFwvXSokLywgJycpIHx8ICcvJztcbn1cbiIsICJpbXBvcnQge1xuICAgIFRGb2xkZXIsXG4gICAgdHlwZSBWYXVsdFxufSBmcm9tICdvYnNpZGlhbic7XG5cbnR5cGUgVEZvbGRlckNvbnN0cnVjdG9yID0gbmV3KHZhdWx0OiBWYXVsdCwgcGF0aDogc3RyaW5nKSA9PiBURm9sZGVyO1xuXG4vKipcbiAqIENvbnN0cnVjdHMgYSBuZXcgVEZvbGRlciBpbnN0YW5jZS5cbiAqXG4gKiBAcGFyYW0gdmF1bHQgLSBUaGUgdmF1bHQgdG8gd2hpY2ggdGhlIGZvbGRlciBiZWxvbmdzLlxuICogQHBhcmFtIHBhdGggLSBUaGUgcGF0aCBvZiB0aGUgZm9sZGVyLlxuICogQHJldHVybnMgVGhlIGNvbnN0cnVjdGVkIFRGb2xkZXIgaW5zdGFuY2UuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBjb25zdHJ1Y3RURm9sZGVyKHZhdWx0OiBWYXVsdCwgcGF0aDogc3RyaW5nKTogVEZvbGRlciB7XG4gICAgcmV0dXJuIG5ldyAoVEZvbGRlciBhcyBURm9sZGVyQ29uc3RydWN0b3IpKHZhdWx0LCBwYXRoKTtcbn1cbiIsICJpbXBvcnQge1xuICAgIFRGb2xkZXIsXG4gICAgdHlwZSBWYXVsdFxufSBmcm9tICdvYnNpZGlhbic7XG5pbXBvcnQgeyBjb25zdHJ1Y3RURm9sZGVyIH0gZnJvbSAnLi9Db25zdHJ1Y3RvcnMvY29uc3RydWN0VEZvbGRlci50cyc7XG5pbXBvcnQgeyBwYXJlbnRGb2xkZXJQYXRoIH0gZnJvbSAnLi9QYXRoVXRpbHMudHMnO1xuXG4vKipcbiAqIENyZWF0ZXMgYW5kIHByb3Blcmx5IGluaXRpYWxpemVzIHRoZSBpbnN0YW5jZSBvZiBURm9sZGVyIGV2ZW4gdGhlIHVuZGVybHlpbmcgZm9sZGVyIGRvZXMgbm90IGV4aXN0LlxuICogVGhpcyBkb2Vzbid0IGNyZWF0ZSB0aGUgbWlzc2luZyBmb2xkZXIgb24gdGhlIGZpbGUgc3lzdGVtLlxuICovXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlVEZvbGRlckluc3RhbmNlKHZhdWx0OiBWYXVsdCwgcGF0aDogc3RyaW5nKTogVEZvbGRlciB7XG4gICAgbGV0IGZvbGRlciA9IHZhdWx0LmdldEZvbGRlckJ5UGF0aChwYXRoKTtcbiAgICBpZiAoZm9sZGVyKSB7XG4gICAgICAgIHJldHVybiBmb2xkZXI7XG4gICAgfVxuXG4gICAgZm9sZGVyID0gY29uc3RydWN0VEZvbGRlcih2YXVsdCwgcGF0aCk7XG4gICAgZm9sZGVyLnBhcmVudCA9IGNyZWF0ZVRGb2xkZXJJbnN0YW5jZSh2YXVsdCwgcGFyZW50Rm9sZGVyUGF0aChwYXRoKSk7XG4gICAgZm9sZGVyLmRlbGV0ZWQgPSB0cnVlO1xuICAgIHJldHVybiBmb2xkZXI7XG59XG4iLCAiaW1wb3J0IHR5cGUgeyBDdXN0b21BcnJheURpY3QgfSBmcm9tICcuLi9pbnRlcm5hbHMvQ3VzdG9tQXJyYXlEaWN0LmpzJztcblxuZXhwb3J0IGNsYXNzIEN1c3RvbUFycmF5RGljdEltcGw8VD4gaW1wbGVtZW50cyBDdXN0b21BcnJheURpY3Q8VD4ge1xuICAgIHB1YmxpYyBkYXRhOiBNYXA8c3RyaW5nLCBUW10+ID0gbmV3IE1hcCgpO1xuXG4gICAgcHVibGljIGFkZChrZXk6IHN0cmluZywgdmFsdWU6IFQpOiB2b2lkIHtcbiAgICAgICAgbGV0IHZhbHVlcyA9IHRoaXMuZ2V0KGtleSk7XG4gICAgICAgIGlmICghdmFsdWVzKSB7XG4gICAgICAgICAgICB2YWx1ZXMgPSBbXTtcbiAgICAgICAgICAgIHRoaXMuZGF0YS5zZXQoa2V5LCB2YWx1ZXMpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKCF2YWx1ZXMuaW5jbHVkZXModmFsdWUpKSB7XG4gICAgICAgICAgICB2YWx1ZXMucHVzaCh2YWx1ZSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwdWJsaWMgcmVtb3ZlKGtleTogc3RyaW5nLCB2YWx1ZTogVCk6IHZvaWQge1xuICAgICAgICBjb25zdCB2YWx1ZXMgPSB0aGlzLmdldChrZXkpO1xuICAgICAgICBpZiAoIXZhbHVlcykge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIHZhbHVlcy5yZW1vdmUodmFsdWUpO1xuXG4gICAgICAgIGlmICh2YWx1ZXMubGVuZ3RoID09PSAwKSB7XG4gICAgICAgICAgICB0aGlzLmNsZWFyKGtleSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0KGtleTogc3RyaW5nKTogVFtdIHwgbnVsbCB7XG4gICAgICAgIHJldHVybiB0aGlzLmRhdGEuZ2V0KGtleSkgfHwgbnVsbDtcbiAgICB9XG5cbiAgICBwdWJsaWMga2V5cygpOiBzdHJpbmdbXSB7XG4gICAgICAgIHJldHVybiBBcnJheS5mcm9tKHRoaXMuZGF0YS5rZXlzKCkpO1xuICAgIH1cblxuICAgIHB1YmxpYyBjbGVhcihrZXk6IHN0cmluZyk6IHZvaWQge1xuICAgICAgICB0aGlzLmRhdGEuZGVsZXRlKGtleSk7XG4gICAgfVxuXG4gICAgcHVibGljIGNsZWFyQWxsKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmRhdGEuY2xlYXIoKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgY29udGFpbnMoa2V5OiBzdHJpbmcsIHZhbHVlOiBUKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAhIXRoaXMuZ2V0KGtleSk/LmNvbnRhaW5zKHZhbHVlKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgY291bnQoKTogbnVtYmVyIHtcbiAgICAgICAgbGV0IGFucyA9IDA7XG4gICAgICAgIGZvciAoY29uc3Qga2V5IGluIHRoaXMua2V5cygpKSB7XG4gICAgICAgICAgICBhbnMgKz0gdGhpcy5nZXQoa2V5KT8ubGVuZ3RoID8/IDA7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gYW5zO1xuICAgIH1cbn1cbiIsICJleHBvcnQgY29uc3QgSW50ZXJuYWxQbHVnaW5OYW1lID0ge1xuICAgIEF1ZGlvUmVjb3JkZXI6ICdhdWRpby1yZWNvcmRlcicsXG4gICAgQmFja2xpbms6ICdiYWNrbGluaycsXG4gICAgQm9va21hcmtzOiAnYm9va21hcmtzJyxcbiAgICBDYW52YXM6ICdjYW52YXMnLFxuICAgIENvbW1hbmRQYWxldHRlOiAnY29tbWFuZC1wYWxldHRlJyxcbiAgICBEYWlseU5vdGVzOiAnZGFpbHktbm90ZXMnLFxuICAgIEVkaXRvclN0YXR1czogJ2VkaXRvci1zdGF0dXMnLFxuICAgIEZpbGVFeHBsb3JlcjogJ2ZpbGUtZXhwbG9yZXInLFxuICAgIEZpbGVSZWNvdmVyeTogJ2ZpbGUtcmVjb3ZlcnknLFxuICAgIEdsb2JhbFNlYXJjaDogJ2dsb2JhbC1zZWFyY2gnLFxuICAgIEdyYXBoOiAnZ3JhcGgnLFxuICAgIE1hcmtkb3duSW1wb3J0ZXI6ICdtYXJrZG93bi1pbXBvcnRlcicsXG4gICAgTm90ZUNvbXBvc2VyOiAnbm90ZS1jb21wb3NlcicsXG4gICAgT3V0Z29pbmdMaW5rOiAnb3V0Z29pbmctbGluaycsXG4gICAgT3V0bGluZTogJ291dGxpbmUnLFxuICAgIFBhZ2VQcmV2aWV3OiAncGFnZS1wcmV2aWV3JyxcbiAgICBQcm9wZXJ0aWVzOiAncHJvcGVydGllcycsXG4gICAgUHVibGlzaDogJ3B1Ymxpc2gnLFxuICAgIFJhbmRvbU5vdGU6ICdyYW5kb20tbm90ZScsXG4gICAgU2xhc2hDb21tYW5kOiAnc2xhc2gtY29tbWFuZCcsXG4gICAgU2xpZGVzOiAnc2xpZGVzJyxcbiAgICBTd2l0Y2hlcjogJ3N3aXRjaGVyJyxcbiAgICBTeW5jOiAnc3luYycsXG4gICAgVGFnUGFuZTogJ3RhZy1wYW5lJyxcbiAgICBUZW1wbGF0ZXM6ICd0ZW1wbGF0ZXMnLFxuICAgIFdvcmRDb3VudDogJ3dvcmQtY291bnQnLFxuICAgIFdvcmtzcGFjZXM6ICd3b3Jrc3BhY2VzJyxcbiAgICBaa1ByZWZpeGVyOiAnemstcHJlZml4ZXInXG59IGFzIGNvbnN0O1xuIiwgImltcG9ydCB7XG4gICAgVEZpbGUsXG4gICAgdHlwZSBWYXVsdFxufSBmcm9tICdvYnNpZGlhbic7XG5cbnR5cGUgVEZpbGVDb25zdHJ1Y3RvciA9IG5ldyh2YXVsdDogVmF1bHQsIHBhdGg6IHN0cmluZykgPT4gVEZpbGU7XG5cbi8qKlxuICogQ29uc3RydWN0cyBhIG5ldyBURmlsZSBpbnN0YW5jZS5cbiAqXG4gKiBAcGFyYW0gdmF1bHQgLSBUaGUgdmF1bHQgdG8gd2hpY2ggdGhlIGZpbGUgYmVsb25ncy5cbiAqIEBwYXJhbSBwYXRoIC0gVGhlIHBhdGggb2YgdGhlIGZpbGUuXG4gKiBAcmV0dXJucyBUaGUgY29uc3RydWN0ZWQgVEZpbGUgaW5zdGFuY2UuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBjb25zdHJ1Y3RURmlsZSh2YXVsdDogVmF1bHQsIHBhdGg6IHN0cmluZyk6IFRGaWxlIHtcbiAgICByZXR1cm4gbmV3IChURmlsZSBhcyBURmlsZUNvbnN0cnVjdG9yKSh2YXVsdCwgcGF0aCk7XG59XG4iLCAiaW1wb3J0IHtcbiAgICBURmlsZSxcbiAgICB0eXBlIFZhdWx0XG59IGZyb20gJ29ic2lkaWFuJztcbmltcG9ydCB7IGNvbnN0cnVjdFRGaWxlIH0gZnJvbSAnLi9Db25zdHJ1Y3RvcnMvY29uc3RydWN0VEZpbGUudHMnO1xuaW1wb3J0IHsgY3JlYXRlVEZvbGRlckluc3RhbmNlIH0gZnJvbSAnLi9jcmVhdGVURm9sZGVySW5zdGFuY2UudHMnO1xuaW1wb3J0IHsgcGFyZW50Rm9sZGVyUGF0aCB9IGZyb20gJy4vUGF0aFV0aWxzLnRzJztcblxuLyoqXG4gKiBDcmVhdGVzIGFuZCBwcm9wZXJseSBpbml0aWFsaXplcyB0aGUgaW5zdGFuY2Ugb2YgVEZpbGUgZXZlbiB0aGUgdW5kZXJseWluZyBmaWxlIGRvZXMgbm90IGV4aXN0LlxuICogVGhpcyBkb2Vzbid0IGNyZWF0ZSB0aGUgbWlzc2luZyBmaWxlIG9uIHRoZSBmaWxlIHN5c3RlbS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZVRGaWxlSW5zdGFuY2UodmF1bHQ6IFZhdWx0LCBwYXRoOiBzdHJpbmcpOiBURmlsZSB7XG4gICAgbGV0IGZpbGUgPSB2YXVsdC5nZXRGaWxlQnlQYXRoKHBhdGgpO1xuICAgIGlmIChmaWxlKSB7XG4gICAgICAgIHJldHVybiBmaWxlO1xuICAgIH1cblxuICAgIGZpbGUgPSBjb25zdHJ1Y3RURmlsZSh2YXVsdCwgcGF0aCk7XG4gICAgZmlsZS5wYXJlbnQgPSBjcmVhdGVURm9sZGVySW5zdGFuY2UodmF1bHQsIHBhcmVudEZvbGRlclBhdGgocGF0aCkpO1xuICAgIGZpbGUuZGVsZXRlZCA9IHRydWU7XG4gICAgcmV0dXJuIGZpbGU7XG59XG4iLCAiaW1wb3J0IHR5cGUge1xuICAgIFJlZmVyZW5jZSxcbiAgICBSZWZlcmVuY2VDYWNoZVxufSBmcm9tICdvYnNpZGlhbic7XG5cbmV4cG9ydCBmdW5jdGlvbiBpc1JlZmVyZW5jZUNhY2hlKHJlZmVyZW5jZTogUmVmZXJlbmNlKTogcmVmZXJlbmNlIGlzIFJlZmVyZW5jZUNhY2hlIHtcbiAgICByZXR1cm4gISEocmVmZXJlbmNlIGFzIFBhcnRpYWw8UmVmZXJlbmNlQ2FjaGU+KS5wb3NpdGlvbjtcbn1cbiIsICJpbXBvcnQgdHlwZSB7XG4gICAgRW1iZWRDYWNoZSxcbiAgICBSZWZlcmVuY2Vcbn0gZnJvbSAnb2JzaWRpYW4nO1xuaW1wb3J0IHsgaXNSZWZlcmVuY2VDYWNoZSB9IGZyb20gJy4vaXNSZWZlcmVuY2VDYWNoZS50cyc7XG5cbmV4cG9ydCBmdW5jdGlvbiBpc0VtYmVkQ2FjaGUocmVmZXJlbmNlOiBSZWZlcmVuY2UpOiByZWZlcmVuY2UgaXMgRW1iZWRDYWNoZSB7XG4gICAgcmV0dXJuIGlzUmVmZXJlbmNlQ2FjaGUocmVmZXJlbmNlKSAmJiByZWZlcmVuY2Uub3JpZ2luYWxbMF0gPT09ICchJztcbn1cbiIsICJpbXBvcnQgdHlwZSB7XG4gICAgRnJvbnRtYXR0ZXJMaW5rQ2FjaGUsXG4gICAgUmVmZXJlbmNlXG59IGZyb20gJ29ic2lkaWFuJztcblxuZXhwb3J0IGZ1bmN0aW9uIGlzRnJvbnRtYXR0ZXJMaW5rQ2FjaGUocmVmZXJlbmNlOiBSZWZlcmVuY2UpOiByZWZlcmVuY2UgaXMgRnJvbnRtYXR0ZXJMaW5rQ2FjaGUge1xuICAgIHJldHVybiAhIShyZWZlcmVuY2UgYXMgUGFydGlhbDxGcm9udG1hdHRlckxpbmtDYWNoZT4pLmtleTtcbn1cbiIsICJpbXBvcnQgdHlwZSB7XG4gICAgTGlua0NhY2hlLFxuICAgIFJlZmVyZW5jZVxufSBmcm9tICdvYnNpZGlhbic7XG5pbXBvcnQgeyBpc1JlZmVyZW5jZUNhY2hlIH0gZnJvbSAnLi9pc1JlZmVyZW5jZUNhY2hlLnRzJztcblxuZXhwb3J0IGZ1bmN0aW9uIGlzTGlua0NhY2hlKHJlZmVyZW5jZTogUmVmZXJlbmNlKTogcmVmZXJlbmNlIGlzIExpbmtDYWNoZSB7XG4gICAgcmV0dXJuIGlzUmVmZXJlbmNlQ2FjaGUocmVmZXJlbmNlKSAmJiByZWZlcmVuY2Uub3JpZ2luYWxbMF0gIT09ICchJztcbn1cbiIsICJpbXBvcnQgdHlwZSB7IEFwcCB9IGZyb20gJ29ic2lkaWFuJztcbmltcG9ydCB0eXBlIHsgSW50ZXJuYWxQbHVnaW5zIH0gZnJvbSAnLi4vLi4vaW50ZXJuYWxzL0ludGVybmFsUGx1Z2luL0ludGVybmFsUGx1Z2lucy5qcyc7XG5cbnR5cGUgSW50ZXJuYWxQbHVnaW5zQ29uc3RydWN0b3IgPSBuZXcoYXBwOiBBcHApID0+IEludGVybmFsUGx1Z2lucztcblxuLyoqXG4gKiBDb25zdHJ1Y3RzIGEgbmV3IEludGVybmFsUGx1Z2lucyBpbnN0YW5jZS5cbiAqXG4gKiBAcGFyYW0gYXBwIC0gVGhlIGFwcCBpbnN0YW5jZS5cbiAqIEByZXR1cm5zIFRoZSBjb25zdHJ1Y3RlZCBJbnRlcm5hbFBsdWdpbnMgaW5zdGFuY2UuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBjb25zdHJ1Y3RJbnRlcm5hbFBsdWdpbnMoYXBwOiBBcHApOiBJbnRlcm5hbFBsdWdpbnMge1xuICAgIHJldHVybiBuZXcgKGFwcC5pbnRlcm5hbFBsdWdpbnMuY29uc3RydWN0b3IgYXMgSW50ZXJuYWxQbHVnaW5zQ29uc3RydWN0b3IpKGFwcCk7XG59XG4iLCAiaW1wb3J0IHR5cGUgeyBBcHAgfSBmcm9tICdvYnNpZGlhbic7XG5pbXBvcnQgdHlwZSB7IEludGVybmFsUGx1Z2luIH0gZnJvbSAnLi4vLi4vaW50ZXJuYWxzL0ludGVybmFsUGx1Z2luL0ludGVybmFsUGx1Z2luLmpzJztcbmltcG9ydCB0eXBlIHsgSW50ZXJuYWxQbHVnaW5zIH0gZnJvbSAnLi4vLi4vaW50ZXJuYWxzL0ludGVybmFsUGx1Z2luL0ludGVybmFsUGx1Z2lucy5qcyc7XG5cbnR5cGUgSW50ZXJuYWxQbHVnaW5Db25zdHJ1Y3RvcjxJbnN0YW5jZT4gPSBuZXcoXG4gICAgYXBwOiBBcHAsXG4gICAgaW5zdGFuY2U6IEluc3RhbmNlLFxuICAgIGludGVybmFsUGx1Z2luczogSW50ZXJuYWxQbHVnaW5zXG4pID0+IEludGVybmFsUGx1Z2luPEluc3RhbmNlPjtcblxuLyoqXG4gKiBDb25zdHJ1Y3RzIGEgbmV3IEludGVybmFsUGx1Z2luIGluc3RhbmNlLlxuICpcbiAqIEBwYXJhbSBhcHAgLSBUaGUgYXBwIGluc3RhbmNlLlxuICogQHBhcmFtIGluc3RhbmNlIC0gVGhlIGluc3RhbmNlIG9mIHRoZSBwbHVnaW4uXG4gKiBAcGFyYW0gaW50ZXJuYWxQbHVnaW5zIC0gVGhlIGludGVybmFsIHBsdWdpbnMgaW5zdGFuY2UuXG4gKiBAcmV0dXJucyBUaGUgY29uc3RydWN0ZWQgSW50ZXJuYWxQbHVnaW4gaW5zdGFuY2UuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBjb25zdHJ1Y3RJbnRlcm5hbFBsdWdpbjxJbnN0YW5jZT4oXG4gICAgYXBwOiBBcHAsXG4gICAgaW5zdGFuY2U6IEluc3RhbmNlLFxuICAgIGludGVybmFsUGx1Z2luczogSW50ZXJuYWxQbHVnaW5zXG4pOiBJbnRlcm5hbFBsdWdpbjxJbnN0YW5jZT4ge1xuICAgIGNvbnN0IGFueVBsdWdpbiA9IE9iamVjdC52YWx1ZXMoYXBwLmludGVybmFsUGx1Z2lucy5wbHVnaW5zKVswXTtcbiAgICBpZiAoIWFueVBsdWdpbikge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ05vIGludGVybmFsIHBsdWdpbiBmb3VuZCcpO1xuICAgIH1cbiAgICByZXR1cm4gbmV3IChhbnlQbHVnaW4uY29uc3RydWN0b3IgYXMgSW50ZXJuYWxQbHVnaW5Db25zdHJ1Y3RvcjxJbnN0YW5jZT4pKGFwcCwgaW5zdGFuY2UsIGludGVybmFsUGx1Z2lucyk7XG59XG4iLCAiaW1wb3J0IHtcbiAgICBBcHAsXG4gICAgdHlwZSBEYXRhQWRhcHRlclxufSBmcm9tICdvYnNpZGlhbic7XG5cbnR5cGUgQXBwQ29uc3RydWN0b3IgPSBuZXcoYWRhcHRlcjogRGF0YUFkYXB0ZXIsIGFwcElkOiBzdHJpbmcpID0+IEFwcDtcblxuLyoqXG4gKiBDb25zdHJ1Y3RzIGEgbmV3IEFwcCBpbnN0YW5jZS5cbiAqXG4gKiBAcGFyYW0gYWRhcHRlciAtIFRoZSBkYXRhIGFkYXB0ZXIgdG8gdXNlLlxuICogQHBhcmFtIGFwcElkIC0gVGhlIElEIG9mIHRoZSBhcHAuXG4gKiBAcmV0dXJucyBUaGUgY29uc3RydWN0ZWQgQXBwIGluc3RhbmNlLlxuICovXG5leHBvcnQgZnVuY3Rpb24gY29uc3RydWN0QXBwKGFkYXB0ZXI6IERhdGFBZGFwdGVyLCBhcHBJZDogc3RyaW5nKTogQXBwIHtcbiAgICByZXR1cm4gbmV3IChBcHAgYXMgQXBwQ29uc3RydWN0b3IpKGFkYXB0ZXIsIGFwcElkKTtcbn1cbiJdLAogICJtYXBwaW5ncyI6ICI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTs7O0FDQU8sU0FBUyxpQkFBaUIsTUFBc0I7QUFDbkQsU0FBTyxLQUFLLFFBQVEsY0FBYyxFQUFFLEtBQUs7QUFDN0M7OztBQ0ZBLHNCQUdPO0FBV0EsU0FBUyxpQkFBaUIsT0FBYyxNQUF1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
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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
@@ -71,10 +71,6 @@ export declare const InternalPluginName: {
71
71
  * This doesn't create the missing file on the file system.
72
72
  */
73
73
  export declare function createTFileInstance(vault: Vault, path: string): TFile;
74
- export declare function isEmbedCache(reference: Reference): reference is EmbedCache;
75
- export declare function isFrontmatterLinkCache(reference: Reference): reference is FrontmatterLinkCache;
76
- export declare function isReferenceCache(reference: Reference): reference is ReferenceCache;
77
- export declare function isLinkCache(reference: Reference): reference is LinkCache;
78
74
  /**
79
75
  * Constructs a new TFolder instance.
80
76
  *
@@ -132,6 +128,10 @@ export interface InternalPluginInstance<InternalPlugin> {
132
128
  description: string;
133
129
  id: string;
134
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;
135
135
  init(app: App, plugin: InternalPlugin): void;
136
136
  }
137
137
  /** @public */
@@ -164,6 +164,9 @@ export interface InfoFileView extends FileView {
164
164
  /** @todo Documentation incomplete */
165
165
  /** @public */
166
166
  export interface BacklinkView extends InfoFileView {
167
+ backlink: {
168
+ recomputeBacklink: (backlinkFile: TFile) => void;
169
+ };
167
170
  /**
168
171
  * Get the current view type
169
172
  */
@@ -778,6 +781,10 @@ export declare function constructApp(adapter: DataAdapter, appId: string): App;
778
781
  * @returns The constructed TFile instance.
779
782
  */
780
783
  export declare function constructTFile(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;
781
788
  /** @public */
782
789
  export interface EditorViewState {
783
790
  printing: boolean;
@@ -5068,6 +5068,42 @@
5068
5068
  "name": "BacklinkView",
5069
5069
  "preserveMemberOrder": false,
5070
5070
  "members": [
5071
+ {
5072
+ "kind": "PropertySignature",
5073
+ "canonicalReference": "obsidian-typings!BacklinkView#backlink:member",
5074
+ "docComment": "",
5075
+ "excerptTokens": [
5076
+ {
5077
+ "kind": "Content",
5078
+ "text": "backlink: "
5079
+ },
5080
+ {
5081
+ "kind": "Content",
5082
+ "text": "{\n recomputeBacklink: (backlinkFile: "
5083
+ },
5084
+ {
5085
+ "kind": "Reference",
5086
+ "text": "TFile",
5087
+ "canonicalReference": "obsidian!TFile:class"
5088
+ },
5089
+ {
5090
+ "kind": "Content",
5091
+ "text": ") => void;\n }"
5092
+ },
5093
+ {
5094
+ "kind": "Content",
5095
+ "text": ";"
5096
+ }
5097
+ ],
5098
+ "isReadonly": false,
5099
+ "isOptional": false,
5100
+ "releaseTag": "Public",
5101
+ "name": "backlink",
5102
+ "propertyTypeTokenRange": {
5103
+ "startIndex": 1,
5104
+ "endIndex": 4
5105
+ }
5106
+ },
5071
5107
  {
5072
5108
  "kind": "MethodSignature",
5073
5109
  "canonicalReference": "obsidian-typings!BacklinkView#getViewType:member(1)",
@@ -36690,6 +36726,159 @@
36690
36726
  "startIndex": 1,
36691
36727
  "endIndex": 2
36692
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
+ }
36693
36882
  }
36694
36883
  ],
36695
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 */
@@ -1541,6 +1545,9 @@ export interface InfoFileView extends FileView {
1541
1545
  /** @todo Documentation incomplete */
1542
1546
  /** @public */
1543
1547
  export interface BacklinkView extends InfoFileView {
1548
+ backlink: {
1549
+ recomputeBacklink: (backlinkFile: TFile) => void;
1550
+ };
1544
1551
  /**
1545
1552
  * Get the current view type
1546
1553
  */
@@ -6250,7 +6257,7 @@ declare module "obsidian" {
6250
6257
  /** @internal Update file cache entry and sync to indexedDB */
6251
6258
  saveFileCache(path: string, entry: FileCacheEntry): void;
6252
6259
  /** @internal Update metadata cache entry and sync to indexedDB */
6253
- saveMetaCache(path: string, entry: CachedMetadata): void;
6260
+ saveMetaCache(hash: string, entry: CachedMetadata): void;
6254
6261
  /** @internal Show a notice that the cache is being rebuilt */
6255
6262
  showIndexingNotice(): void;
6256
6263
  /** @internal Re-resolve all links for changed path */
@@ -7438,6 +7445,11 @@ declare global {
7438
7445
  */
7439
7446
  var wf: typeof Object.defineProperty;
7440
7447
  }
7448
+ declare global {
7449
+ interface DomElementInfo {
7450
+ [eventName: `on${string}`]: EventListenerOrEventListenerObject;
7451
+ }
7452
+ }
7441
7453
  /** @public */
7442
7454
  export interface IFramedMarkdownEditor extends MarkdownScrollableEditView {
7443
7455
  /**
@@ -7809,11 +7821,6 @@ export interface FileSuggest<T> extends EditorSuggest<T> {
7809
7821
  */
7810
7822
  suggestManager: FileSuggestManager;
7811
7823
  }
7812
- declare global {
7813
- interface DomElementInfo {
7814
- [eventName: `on${string}`]: EventListenerOrEventListenerObject;
7815
- }
7816
- }
7817
7824
  /** @todo Documentation incomplete */
7818
7825
  /** @public */
7819
7826
  export interface FilePropertiesView extends InfoFileView {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "obsidian-typings",
3
- "version": "2.3.4",
3
+ "version": "2.5.0",
4
4
  "description": "Extended type definitions for the Obsidian API (https://obsidian.md)",
5
5
  "main": "",
6
6
  "module": "",