obsidian-typings 2.0.0 → 2.2.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.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,37 @@
1
1
  # Changelog
2
2
 
3
+ ## 2.2.0
4
+ - Added typings for `LinkUpdateHandler` for `inProgressUpdates` and `runAsyncLinkUpdate` (`FileManager`)
5
+ - Added typings for `onChange` method (`Vault`)
6
+ - Fix first parameter type of `exists` (`Vault`)
7
+ - Fix optionality of `getAvailablePathForAttachments` (`Vault`)
8
+
9
+ ## 2.1.3
10
+
11
+ - Added _initial_ typings for following views:
12
+ - `AllPropertiesView`
13
+ - `AudioView`
14
+ - `BacklinkView`
15
+ - `BookmarksView`
16
+ - `BrowserHistoryView`
17
+ - `BrowserView`
18
+ - `CanvasView`
19
+ - `EmptyView`
20
+ - `FilePropertiesView`
21
+ - `GraphView`
22
+ - `ImageView`
23
+ - `InfoFileView`
24
+ - `LocalGraphView`
25
+ - `OutgoingLinkView`
26
+ - `OutlineView`
27
+ - `PdfView`
28
+ - `ReleaseNotesView`
29
+ - `SearchView`
30
+ - `TagView`
31
+ - `UnknownView`
32
+ - `VideoView`
33
+ - Add typings for `queue` method on `FileManager`
34
+
3
35
  ## 2.0.0
4
36
 
5
37
  - Split up typings codebase into separate files
package/README.md CHANGED
@@ -144,6 +144,7 @@ this.app.internalPlugins.getEnabledPluginById(InternalPluginName.FileExplorer);
144
144
  If you need to extend the typings provided by this package, add the following to any `.d.ts` file in your project:
145
145
 
146
146
  ```ts
147
+ export {}; // This is a very essential line. If you don't have any other top-level `import/export` statements, those typings will work not as expected.
147
148
  declare module "obsidian-typings" {
148
149
  interface PluginsPluginsRecord {
149
150
  myPlugin: MyPlugin;
@@ -184,11 +185,11 @@ With these scary disclaimers out of the way, hopefully these typings will help y
184
185
 
185
186
  ## Migration
186
187
 
187
- If you were using a `1.x.x` version of this package, you may need to follow the [Migration guide](MIGRATION.md) after updating to `2.0.0` or newer.
188
+ If you were using a `1.x.x` version of this package, you may need to follow the [Migration guide](https://github.com/Fevol/obsidian-typings/blob/main/MIGRATION.md) after updating to `2.0.0` or newer.
188
189
 
189
190
 
190
191
  ## Contributing
191
192
 
192
193
  Feel free to start typing any part of the Obsidian API that is not yet typed, or fixing/adding additional descriptions to existing typings. If you are unsure about anything, don't hesitate to open an issue.
193
194
 
194
- A brief tutorial is available on how you can get started with adding new typings, or fixing existing ones, see: [CONTRIBUTING.md](CONTRIBUTING.md).
195
+ A brief tutorial is available on how you can get started with adding new typings, or fixing existing ones, see: [CONTRIBUTING.md](https://github.com/Fevol/obsidian-typings/blob/main/CONTRIBUTING.md).
@@ -0,0 +1,37 @@
1
+ {
2
+ "$schema": "https://developer.microsoft.com/json-schemas/api-extractor/v7/api-extractor.schema.json",
3
+ "mainEntryPointFilePath": "src/index.d.ts",
4
+ "bundledPackages": [],
5
+ "compiler": {
6
+ },
7
+ "apiReport": {
8
+ "enabled": false
9
+ },
10
+ "docModel": {
11
+ "enabled": true,
12
+ "apiJsonFilePath": "dist/obsidian-typings.api.json"
13
+ },
14
+ "dtsRollup": {
15
+ "enabled": false
16
+ },
17
+ "tsdocMetadata": {
18
+ "enabled": false
19
+ },
20
+ "messages": {
21
+ "compilerMessageReporting": {
22
+ "default": {
23
+ "logLevel": "warning"
24
+ }
25
+ },
26
+ "extractorMessageReporting": {
27
+ "default": {
28
+ "logLevel": "warning"
29
+ }
30
+ },
31
+ "tsdocMessageReporting": {
32
+ "default": {
33
+ "logLevel": "warning"
34
+ }
35
+ }
36
+ }
37
+ }
@@ -21,57 +21,61 @@ var __copyProps = (to, from, except, desc) => {
21
21
  };
22
22
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
23
23
 
24
- // src/implementations/index.ts
24
+ // src/obsidian/implementations/index.ts
25
25
  var implementations_exports = {};
26
26
  __export(implementations_exports, {
27
27
  CustomArrayDictImpl: () => CustomArrayDictImpl,
28
28
  InternalPluginName: () => InternalPluginName,
29
- createTFile: () => createTFile,
30
- createTFolder: () => createTFolder
29
+ createTFileInstance: () => createTFileInstance,
30
+ createTFolderInstance: () => createTFolderInstance
31
31
  });
32
32
  module.exports = __toCommonJS(implementations_exports);
33
33
 
34
- // src/implementations/createTFile.ts
34
+ // src/obsidian/implementations/createTFolderInstance.ts
35
35
  var import_obsidian = require("obsidian");
36
- function createTFile(vault, path) {
37
- let file = vault.getFileByPath(path);
38
- if (file) {
39
- return file;
40
- }
41
- file = new import_obsidian.TFile(vault, path);
42
- file.parent = createTFolder(vault, vault.adapter.path.dirname(path));
43
- return file;
44
- }
45
-
46
- // src/implementations/createTFolder.ts
47
- var import_obsidian2 = require("obsidian");
48
- function createTFolder(vault, path) {
36
+ function createTFolderInstance(vault, path) {
49
37
  let folder = vault.getFolderByPath(path);
50
38
  if (folder) {
51
39
  return folder;
52
40
  }
53
- folder = new import_obsidian2.TFolder(vault, path);
54
- folder.parent = createTFolder(vault, vault.adapter.path.dirname(path));
41
+ folder = new import_obsidian.TFolder(vault, path);
42
+ folder.parent = createTFolderInstance(vault, vault.adapter.path.dirname(path));
55
43
  return folder;
56
44
  }
57
45
 
58
- // src/implementations/CustomArrayDictImpl.ts
46
+ // src/obsidian/implementations/createTFileInstance.ts
47
+ var import_obsidian2 = require("obsidian");
48
+ function createTFileInstance(vault, path) {
49
+ let file = vault.getFileByPath(path);
50
+ if (file) {
51
+ return file;
52
+ }
53
+ file = new import_obsidian2.TFile(vault, path);
54
+ file.parent = createTFolderInstance(vault, vault.adapter.path.dirname(path));
55
+ return file;
56
+ }
57
+
58
+ // src/obsidian/implementations/CustomArrayDictImpl.ts
59
59
  var CustomArrayDictImpl = class {
60
60
  data = {};
61
61
  add(key, value) {
62
- if (!this.data.hasOwnProperty(key))
62
+ if (!this.data.hasOwnProperty(key)) {
63
63
  this.data[key] = [];
64
+ }
64
65
  const values = this.data[key];
65
- if (!values.includes(value))
66
+ if (!values.includes(value)) {
66
67
  values.push(value);
68
+ }
67
69
  }
68
70
  remove(key, value) {
69
71
  const values = this.data[key];
70
- if (!values)
72
+ if (!values) {
71
73
  return;
74
+ }
72
75
  values.remove(value);
73
- if (values.length === 0)
76
+ if (values.length === 0) {
74
77
  delete this.data[key];
78
+ }
75
79
  }
76
80
  removeKey(key) {
77
81
  delete this.data[key];
@@ -95,14 +99,15 @@ var CustomArrayDictImpl = class {
95
99
  count() {
96
100
  let ans = 0;
97
101
  for (const key in this.data) {
98
- if (this.data.hasOwnProperty(key))
102
+ if (this.data.hasOwnProperty(key)) {
99
103
  ans += this.data[key].length;
104
+ }
100
105
  }
101
106
  return ans;
102
107
  }
103
108
  };
104
109
 
105
- // src/implementations/InternalPluginName.ts
110
+ // src/obsidian/implementations/InternalPluginName.ts
106
111
  var InternalPluginName = {
107
112
  AudioRecorder: "audio-recorder",
108
113
  Backlink: "backlink",
@@ -134,4 +139,4 @@ var InternalPluginName = {
134
139
  Workspaces: "workspaces",
135
140
  ZkPrefixer: "zk-prefixer"
136
141
  };
137
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vc3JjL2ltcGxlbWVudGF0aW9ucy9pbmRleC50cyIsICIuLi9zcmMvaW1wbGVtZW50YXRpb25zL2NyZWF0ZVRGaWxlLnRzIiwgIi4uL3NyYy9pbXBsZW1lbnRhdGlvbnMvY3JlYXRlVEZvbGRlci50cyIsICIuLi9zcmMvaW1wbGVtZW50YXRpb25zL0N1c3RvbUFycmF5RGljdEltcGwudHMiLCAiLi4vc3JjL2ltcGxlbWVudGF0aW9ucy9JbnRlcm5hbFBsdWdpbk5hbWUudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbImV4cG9ydCB7IGNyZWF0ZVRGaWxlIH0gZnJvbSBcIi4vY3JlYXRlVEZpbGUudHNcIjtcbmV4cG9ydCB7IGNyZWF0ZVRGb2xkZXIgfSBmcm9tIFwiLi9jcmVhdGVURm9sZGVyLnRzXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9DdXN0b21BcnJheURpY3RJbXBsLnRzXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9JbnRlcm5hbFBsdWdpbk5hbWUudHNcIjtcbiIsICJpbXBvcnQge1xuICAgIFRGaWxlLFxuICAgIHR5cGUgVmF1bHRcbn0gZnJvbSBcIm9ic2lkaWFuXCI7XG5pbXBvcnQgeyBjcmVhdGVURm9sZGVyIH0gZnJvbSBcIi4vaW5kZXgudHNcIjtcblxudHlwZSBURmlsZUNvbnN0cnVjdG9yID0geyBuZXcodmF1bHQ6IFZhdWx0LCBwYXRoOiBzdHJpbmcpOiBURmlsZSB9O1xuXG4vKipcbiAqIENyZWF0ZXMgYW5kIHByb3Blcmx5IGluaXRpYWxpemVzIHRoZSBpbnN0YW5jZSBvZiBURmlsZSBldmVuIHRoZSB1bmRlcmx5aW5nIGZpbGUgZG9lcyBub3QgZXhpc3QuXG4gKiBUaGlzIGRvZXNuJ3QgY3JlYXRlIHRoZSBtaXNzaW5nIGZpbGUgb24gdGhlIGZpbGUgc3lzdGVtLlxuICovXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlVEZpbGUodmF1bHQ6IFZhdWx0LCBwYXRoOiBzdHJpbmcpOiBURmlsZSB7XG4gICAgbGV0IGZpbGUgPSB2YXVsdC5nZXRGaWxlQnlQYXRoKHBhdGgpO1xuICAgIGlmIChmaWxlKSB7XG4gICAgICAgIHJldHVybiBmaWxlO1xuICAgIH1cblxuICAgIGZpbGUgPSBuZXcgKFRGaWxlIGFzIFRGaWxlQ29uc3RydWN0b3IpKHZhdWx0LCBwYXRoKTtcbiAgICBmaWxlLnBhcmVudCA9IGNyZWF0ZVRGb2xkZXIodmF1bHQsIHZhdWx0LmFkYXB0ZXIucGF0aC5kaXJuYW1lKHBhdGgpKTtcbiAgICByZXR1cm4gZmlsZTtcbn1cbiIsICJpbXBvcnQge1xuICAgIFRGb2xkZXIsXG4gICAgdHlwZSBWYXVsdFxufSBmcm9tIFwib2JzaWRpYW5cIjtcblxudHlwZSBURm9sZGVyQ29uc3RydWN0b3IgPSB7IG5ldyh2YXVsdDogVmF1bHQsIHBhdGg6IHN0cmluZyk6IFRGb2xkZXIgfTtcblxuLyoqXG4gKiBDcmVhdGVzIGFuZCBwcm9wZXJseSBpbml0aWFsaXplcyB0aGUgaW5zdGFuY2Ugb2YgVEZvbGRlciBldmVuIHRoZSB1bmRlcmx5aW5nIGZvbGRlciBkb2VzIG5vdCBleGlzdC5cbiAqIFRoaXMgZG9lc24ndCBjcmVhdGUgdGhlIG1pc3NpbmcgZm9sZGVyIG9uIHRoZSBmaWxlIHN5c3RlbS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZVRGb2xkZXIodmF1bHQ6IFZhdWx0LCBwYXRoOiBzdHJpbmcpOiBURm9sZGVyIHtcbiAgICBsZXQgZm9sZGVyID0gdmF1bHQuZ2V0Rm9sZGVyQnlQYXRoKHBhdGgpO1xuICAgIGlmIChmb2xkZXIpIHtcbiAgICAgICAgcmV0dXJuIGZvbGRlcjtcbiAgICB9XG5cbiAgICBmb2xkZXIgPSBuZXcgKFRGb2xkZXIgYXMgVEZvbGRlckNvbnN0cnVjdG9yKSh2YXVsdCwgcGF0aCk7XG4gICAgZm9sZGVyLnBhcmVudCA9IGNyZWF0ZVRGb2xkZXIodmF1bHQsIHZhdWx0LmFkYXB0ZXIucGF0aC5kaXJuYW1lKHBhdGgpKTtcbiAgICByZXR1cm4gZm9sZGVyO1xufVxuIiwgImltcG9ydCB0eXBlIHtcbiAgICBDdXN0b21BcnJheURpY3QsXG4gICAgQ3VzdG9tQXJyYXlEaWN0RGF0YVJlY29yZFxufSBmcm9tIFwiLi4vb2JzaWRpYW4vdHlwZXMuZC50c1wiO1xuXG5leHBvcnQgY2xhc3MgQ3VzdG9tQXJyYXlEaWN0SW1wbDxUPiBpbXBsZW1lbnRzIEN1c3RvbUFycmF5RGljdDxUPiB7XG4gICAgcHVibGljIGRhdGE6IEN1c3RvbUFycmF5RGljdERhdGFSZWNvcmQ8VD4gPSB7fTtcblxuICAgIHB1YmxpYyBhZGQoa2V5OiBzdHJpbmcsIHZhbHVlOiBUKTogdm9pZCB7XG4gICAgICAgIGlmICghKHRoaXMuZGF0YS5oYXNPd25Qcm9wZXJ0eShrZXkpKSlcbiAgICAgICAgICAgIHRoaXMuZGF0YVtrZXldID0gW10gYXMgVFtdO1xuXG4gICAgICAgIGNvbnN0IHZhbHVlcyA9IHRoaXMuZGF0YVtrZXldITtcblxuICAgICAgICBpZiAoIXZhbHVlcy5pbmNsdWRlcyh2YWx1ZSkpXG4gICAgICAgICAgICB2YWx1ZXMucHVzaCh2YWx1ZSk7XG4gICAgfVxuXG4gICAgcHVibGljIHJlbW92ZShrZXk6IHN0cmluZywgdmFsdWU6IFQpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgdmFsdWVzID0gdGhpcy5kYXRhW2tleV07XG4gICAgICAgIGlmICghdmFsdWVzKVxuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB2YWx1ZXMucmVtb3ZlKHZhbHVlKTtcblxuICAgICAgICBpZiAodmFsdWVzLmxlbmd0aCA9PT0gMClcbiAgICAgICAgICAgIGRlbGV0ZSB0aGlzLmRhdGFba2V5XTtcbiAgICB9XG5cbiAgICBwdWJsaWMgcmVtb3ZlS2V5KGtleTogc3RyaW5nKTogdm9pZCB7XG4gICAgICAgIGRlbGV0ZSB0aGlzLmRhdGFba2V5XTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0KGtleTogc3RyaW5nKTogVFtdIHwgbnVsbCB7XG4gICAgICAgIHJldHVybiB0aGlzLmRhdGEuaGFzT3duUHJvcGVydHkoa2V5KSA/IHRoaXMuZGF0YVtrZXldISA6IG51bGw7XG4gICAgfVxuXG4gICAgcHVibGljIGtleXMoKTogc3RyaW5nW10ge1xuICAgICAgICByZXR1cm4gT2JqZWN0LmtleXModGhpcy5kYXRhKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgY2xlYXIoa2V5OiBzdHJpbmcpOiB2b2lkIHtcbiAgICAgICAgZGVsZXRlIHRoaXMuZGF0YVtrZXldO1xuICAgIH1cblxuICAgIHB1YmxpYyBjbGVhckFsbCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5kYXRhID0ge307XG4gICAgfVxuXG4gICAgcHVibGljIGNvbnRhaW5zKGtleTogc3RyaW5nLCB2YWx1ZTogVCk6IGJvb2xlYW4ge1xuICAgICAgICBjb25zdCB2YWx1ZXMgPSB0aGlzLmRhdGFba2V5XTtcbiAgICAgICAgcmV0dXJuIHZhbHVlcyAmJiB2YWx1ZXMuY29udGFpbnModmFsdWUpIHx8IGZhbHNlO1xuICAgIH1cblxuICAgIHB1YmxpYyBjb3VudCgpOiBudW1iZXIge1xuICAgICAgICBsZXQgYW5zID0gMDtcbiAgICAgICAgZm9yIChjb25zdCBrZXkgaW4gdGhpcy5kYXRhKSB7XG4gICAgICAgICAgICBpZiAodGhpcy5kYXRhLmhhc093blByb3BlcnR5KGtleSkpXG4gICAgICAgICAgICAgICAgYW5zICs9IHRoaXMuZGF0YVtrZXldIS5sZW5ndGg7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gYW5zO1xuICAgIH1cbn1cbiIsICJleHBvcnQgY29uc3QgSW50ZXJuYWxQbHVnaW5OYW1lID0ge1xuICAgIEF1ZGlvUmVjb3JkZXI6IFwiYXVkaW8tcmVjb3JkZXJcIixcbiAgICBCYWNrbGluazogXCJiYWNrbGlua1wiLFxuICAgIEJvb2ttYXJrczogXCJib29rbWFya3NcIixcbiAgICBDYW52YXM6IFwiY2FudmFzXCIsXG4gICAgQ29tbWFuZFBhbGV0dGU6IFwiY29tbWFuZC1wYWxldHRlXCIsXG4gICAgRGFpbHlOb3RlczogXCJkYWlseS1ub3Rlc1wiLFxuICAgIEVkaXRvclN0YXR1czogXCJlZGl0b3Itc3RhdHVzXCIsXG4gICAgRmlsZUV4cGxvcmVyOiBcImZpbGUtZXhwbG9yZXJcIixcbiAgICBGaWxlUmVjb3Zlcnk6IFwiZmlsZS1yZWNvdmVyeVwiLFxuICAgIEdsb2JhbFNlYXJjaDogXCJnbG9iYWwtc2VhcmNoXCIsXG4gICAgR3JhcGg6IFwiZ3JhcGhcIixcbiAgICBNYXJrZG93bkltcG9ydGVyOiBcIm1hcmtkb3duLWltcG9ydGVyXCIsXG4gICAgTm90ZUNvbXBvc2VyOiBcIm5vdGUtY29tcG9zZXJcIixcbiAgICBPdXRnb2luZ0xpbms6IFwib3V0Z29pbmctbGlua1wiLFxuICAgIE91dGxpbmU6IFwib3V0bGluZVwiLFxuICAgIFBhZ2VQcmV2aWV3OiBcInBhZ2UtcHJldmlld1wiLFxuICAgIFByb3BlcnRpZXM6IFwicHJvcGVydGllc1wiLFxuICAgIFB1Ymxpc2g6IFwicHVibGlzaFwiLFxuICAgIFJhbmRvbU5vdGU6IFwicmFuZG9tLW5vdGVcIixcbiAgICBTbGFzaENvbW1hbmQ6IFwic2xhc2gtY29tbWFuZFwiLFxuICAgIFNsaWRlczogXCJzbGlkZXNcIixcbiAgICBTdGFycmVkOiBcInN0YXJyZWRcIixcbiAgICBTd2l0Y2hlcjogXCJzd2l0Y2hlclwiLFxuICAgIFN5bmM6IFwic3luY1wiLFxuICAgIFRhZ1BhbmU6IFwidGFnLXBhbmVcIixcbiAgICBUZW1wbGF0ZXM6IFwidGVtcGxhdGVzXCIsXG4gICAgV29yZENvdW50OiBcIndvcmQtY291bnRcIixcbiAgICBXb3Jrc3BhY2VzOiBcIndvcmtzcGFjZXNcIixcbiAgICBaa1ByZWZpeGVyOiBcInprLXByZWZpeGVyXCJcbn0gYXMgY29uc3Q7XG4iXSwKICAibWFwcGluZ3MiOiAiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBOzs7QUNBQSxzQkFHTztBQVNBLFNBQVMsWUFBWSxPQUFjLE1BQXFCO0FBQzNELE1BQUksT0FBTyxNQUFN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
142
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vc3JjL29ic2lkaWFuL2ltcGxlbWVudGF0aW9ucy9pbmRleC50cyIsICIuLi9zcmMvb2JzaWRpYW4vaW1wbGVtZW50YXRpb25zL2NyZWF0ZVRGb2xkZXJJbnN0YW5jZS50cyIsICIuLi9zcmMvb2JzaWRpYW4vaW1wbGVtZW50YXRpb25zL2NyZWF0ZVRGaWxlSW5zdGFuY2UudHMiLCAiLi4vc3JjL29ic2lkaWFuL2ltcGxlbWVudGF0aW9ucy9DdXN0b21BcnJheURpY3RJbXBsLnRzIiwgIi4uL3NyYy9vYnNpZGlhbi9pbXBsZW1lbnRhdGlvbnMvSW50ZXJuYWxQbHVnaW5OYW1lLnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyIvKiBUSElTIElTIEEgR0VORVJBVEVEL0JVTkRMRUQgRklMRSBCWSBCVUlMRCBTQ1JJUFQgKi9cblxuZXhwb3J0ICogZnJvbSBcIi4vY3JlYXRlVEZvbGRlckluc3RhbmNlLmpzXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9jcmVhdGVURmlsZUluc3RhbmNlLmpzXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9DdXN0b21BcnJheURpY3RJbXBsLmpzXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9JbnRlcm5hbFBsdWdpbk5hbWUuanNcIjtcbmltcG9ydCBcIi4uLy4uL2luZGV4LmpzXCI7XG4iLCAiaW1wb3J0IHtcbiAgICBURm9sZGVyLFxuICAgIHR5cGUgVmF1bHRcbn0gZnJvbSBcIm9ic2lkaWFuXCI7XG5cbnR5cGUgVEZvbGRlckNvbnN0cnVjdG9yID0geyBuZXcodmF1bHQ6IFZhdWx0LCBwYXRoOiBzdHJpbmcpOiBURm9sZGVyIH07XG5cbi8qKlxuICogQ3JlYXRlcyBhbmQgcHJvcGVybHkgaW5pdGlhbGl6ZXMgdGhlIGluc3RhbmNlIG9mIFRGb2xkZXIgZXZlbiB0aGUgdW5kZXJseWluZyBmb2xkZXIgZG9lcyBub3QgZXhpc3QuXG4gKiBUaGlzIGRvZXNuJ3QgY3JlYXRlIHRoZSBtaXNzaW5nIGZvbGRlciBvbiB0aGUgZmlsZSBzeXN0ZW0uXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVURm9sZGVySW5zdGFuY2UodmF1bHQ6IFZhdWx0LCBwYXRoOiBzdHJpbmcpOiBURm9sZGVyIHtcbiAgICBsZXQgZm9sZGVyID0gdmF1bHQuZ2V0Rm9sZGVyQnlQYXRoKHBhdGgpO1xuICAgIGlmIChmb2xkZXIpIHtcbiAgICAgICAgcmV0dXJuIGZvbGRlcjtcbiAgICB9XG5cbiAgICBmb2xkZXIgPSBuZXcgKFRGb2xkZXIgYXMgVEZvbGRlckNvbnN0cnVjdG9yKSh2YXVsdCwgcGF0aCk7XG4gICAgZm9sZGVyLnBhcmVudCA9IGNyZWF0ZVRGb2xkZXJJbnN0YW5jZSh2YXVsdCwgdmF1bHQuYWRhcHRlci5wYXRoLmRpcm5hbWUocGF0aCkpO1xuICAgIHJldHVybiBmb2xkZXI7XG59XG4iLCAiaW1wb3J0IHtcbiAgICBURmlsZSxcbiAgICB0eXBlIFZhdWx0XG59IGZyb20gXCJvYnNpZGlhblwiO1xuaW1wb3J0IHsgY3JlYXRlVEZvbGRlckluc3RhbmNlIH0gZnJvbSBcIi4vY3JlYXRlVEZvbGRlckluc3RhbmNlLnRzXCI7XG5cbnR5cGUgVEZpbGVDb25zdHJ1Y3RvciA9IHsgbmV3KHZhdWx0OiBWYXVsdCwgcGF0aDogc3RyaW5nKTogVEZpbGUgfTtcblxuLyoqXG4gKiBDcmVhdGVzIGFuZCBwcm9wZXJseSBpbml0aWFsaXplcyB0aGUgaW5zdGFuY2Ugb2YgVEZpbGUgZXZlbiB0aGUgdW5kZXJseWluZyBmaWxlIGRvZXMgbm90IGV4aXN0LlxuICogVGhpcyBkb2Vzbid0IGNyZWF0ZSB0aGUgbWlzc2luZyBmaWxlIG9uIHRoZSBmaWxlIHN5c3RlbS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZVRGaWxlSW5zdGFuY2UodmF1bHQ6IFZhdWx0LCBwYXRoOiBzdHJpbmcpOiBURmlsZSB7XG4gICAgbGV0IGZpbGUgPSB2YXVsdC5nZXRGaWxlQnlQYXRoKHBhdGgpO1xuICAgIGlmIChmaWxlKSB7XG4gICAgICAgIHJldHVybiBmaWxlO1xuICAgIH1cblxuICAgIGZpbGUgPSBuZXcgKFRGaWxlIGFzIFRGaWxlQ29uc3RydWN0b3IpKHZhdWx0LCBwYXRoKTtcbiAgICBmaWxlLnBhcmVudCA9IGNyZWF0ZVRGb2xkZXJJbnN0YW5jZSh2YXVsdCwgdmF1bHQuYWRhcHRlci5wYXRoLmRpcm5hbWUocGF0aCkpO1xuICAgIHJldHVybiBmaWxlO1xufVxuIiwgImltcG9ydCB0eXBlIHsgQ3VzdG9tQXJyYXlEaWN0IH0gZnJvbSBcIi4uL2ludGVybmFscy9DdXN0b21BcnJheURpY3QvQ3VzdG9tQXJyYXlEaWN0LmpzXCI7XG5pbXBvcnQgdHlwZSB7IEN1c3RvbUFycmF5RGljdERhdGFSZWNvcmQgfSBmcm9tIFwiLi4vaW50ZXJuYWxzL0N1c3RvbUFycmF5RGljdC9DdXN0b21BcnJheURpY3REYXRhUmVjb3JkLmpzXCI7XG5cbmV4cG9ydCBjbGFzcyBDdXN0b21BcnJheURpY3RJbXBsPFQ+IGltcGxlbWVudHMgQ3VzdG9tQXJyYXlEaWN0PFQ+IHtcbiAgICBwdWJsaWMgZGF0YTogQ3VzdG9tQXJyYXlEaWN0RGF0YVJlY29yZDxUPiA9IHt9O1xuXG4gICAgcHVibGljIGFkZChrZXk6IHN0cmluZywgdmFsdWU6IFQpOiB2b2lkIHtcbiAgICAgICAgaWYgKCEodGhpcy5kYXRhLmhhc093blByb3BlcnR5KGtleSkpKSB7XG4gICAgICAgICAgICB0aGlzLmRhdGFba2V5XSA9IFtdIGFzIFRbXTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IHZhbHVlcyA9IHRoaXMuZGF0YVtrZXldITtcblxuICAgICAgICBpZiAoIXZhbHVlcy5pbmNsdWRlcyh2YWx1ZSkpIHtcbiAgICAgICAgICAgIHZhbHVlcy5wdXNoKHZhbHVlKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHB1YmxpYyByZW1vdmUoa2V5OiBzdHJpbmcsIHZhbHVlOiBUKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHZhbHVlcyA9IHRoaXMuZGF0YVtrZXldO1xuICAgICAgICBpZiAoIXZhbHVlcykge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIHZhbHVlcy5yZW1vdmUodmFsdWUpO1xuXG4gICAgICAgIGlmICh2YWx1ZXMubGVuZ3RoID09PSAwKSB7XG4gICAgICAgICAgICBkZWxldGUgdGhpcy5kYXRhW2tleV07XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwdWJsaWMgcmVtb3ZlS2V5KGtleTogc3RyaW5nKTogdm9pZCB7XG4gICAgICAgIGRlbGV0ZSB0aGlzLmRhdGFba2V5XTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0KGtleTogc3RyaW5nKTogVFtdIHwgbnVsbCB7XG4gICAgICAgIHJldHVybiB0aGlzLmRhdGEuaGFzT3duUHJvcGVydHkoa2V5KSA/IHRoaXMuZGF0YVtrZXldISA6IG51bGw7XG4gICAgfVxuXG4gICAgcHVibGljIGtleXMoKTogc3RyaW5nW10ge1xuICAgICAgICByZXR1cm4gT2JqZWN0LmtleXModGhpcy5kYXRhKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgY2xlYXIoa2V5OiBzdHJpbmcpOiB2b2lkIHtcbiAgICAgICAgZGVsZXRlIHRoaXMuZGF0YVtrZXldO1xuICAgIH1cblxuICAgIHB1YmxpYyBjbGVhckFsbCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5kYXRhID0ge307XG4gICAgfVxuXG4gICAgcHVibGljIGNvbnRhaW5zKGtleTogc3RyaW5nLCB2YWx1ZTogVCk6IGJvb2xlYW4ge1xuICAgICAgICBjb25zdCB2YWx1ZXMgPSB0aGlzLmRhdGFba2V5XTtcbiAgICAgICAgcmV0dXJuIHZhbHVlcyAmJiB2YWx1ZXMuY29udGFpbnModmFsdWUpIHx8IGZhbHNlO1xuICAgIH1cblxuICAgIHB1YmxpYyBjb3VudCgpOiBudW1iZXIge1xuICAgICAgICBsZXQgYW5zID0gMDtcbiAgICAgICAgZm9yIChjb25zdCBrZXkgaW4gdGhpcy5kYXRhKSB7XG4gICAgICAgICAgICBpZiAodGhpcy5kYXRhLmhhc093blByb3BlcnR5KGtleSkpIHtcbiAgICAgICAgICAgICAgICBhbnMgKz0gdGhpcy5kYXRhW2tleV0hLmxlbmd0aDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBhbnM7XG4gICAgfVxufVxuIiwgImV4cG9ydCBjb25zdCBJbnRlcm5hbFBsdWdpbk5hbWUgPSB7XG4gICAgQXVkaW9SZWNvcmRlcjogXCJhdWRpby1yZWNvcmRlclwiLFxuICAgIEJhY2tsaW5rOiBcImJhY2tsaW5rXCIsXG4gICAgQm9va21hcmtzOiBcImJvb2ttYXJrc1wiLFxuICAgIENhbnZhczogXCJjYW52YXNcIixcbiAgICBDb21tYW5kUGFsZXR0ZTogXCJjb21tYW5kLXBhbGV0dGVcIixcbiAgICBEYWlseU5vdGVzOiBcImRhaWx5LW5vdGVzXCIsXG4gICAgRWRpdG9yU3RhdHVzOiBcImVkaXRvci1zdGF0dXNcIixcbiAgICBGaWxlRXhwbG9yZXI6IFwiZmlsZS1leHBsb3JlclwiLFxuICAgIEZpbGVSZWNvdmVyeTogXCJmaWxlLXJlY292ZXJ5XCIsXG4gICAgR2xvYmFsU2VhcmNoOiBcImdsb2JhbC1zZWFyY2hcIixcbiAgICBHcmFwaDogXCJncmFwaFwiLFxuICAgIE1hcmtkb3duSW1wb3J0ZXI6IFwibWFya2Rvd24taW1wb3J0ZXJcIixcbiAgICBOb3RlQ29tcG9zZXI6IFwibm90ZS1jb21wb3NlclwiLFxuICAgIE91dGdvaW5nTGluazogXCJvdXRnb2luZy1saW5rXCIsXG4gICAgT3V0bGluZTogXCJvdXRsaW5lXCIsXG4gICAgUGFnZVByZXZpZXc6IFwicGFnZS1wcmV2aWV3XCIsXG4gICAgUHJvcGVydGllczogXCJwcm9wZXJ0aWVzXCIsXG4gICAgUHVibGlzaDogXCJwdWJsaXNoXCIsXG4gICAgUmFuZG9tTm90ZTogXCJyYW5kb20tbm90ZVwiLFxuICAgIFNsYXNoQ29tbWFuZDogXCJzbGFzaC1jb21tYW5kXCIsXG4gICAgU2xpZGVzOiBcInNsaWRlc1wiLFxuICAgIFN0YXJyZWQ6IFwic3RhcnJlZFwiLFxuICAgIFN3aXRjaGVyOiBcInN3aXRjaGVyXCIsXG4gICAgU3luYzogXCJzeW5jXCIsXG4gICAgVGFnUGFuZTogXCJ0YWctcGFuZVwiLFxuICAgIFRlbXBsYXRlczogXCJ0ZW1wbGF0ZXNcIixcbiAgICBXb3JkQ291bnQ6IFwid29yZC1jb3VudFwiLFxuICAgIFdvcmtzcGFjZXM6IFwid29ya3NwYWNlc1wiLFxuICAgIFprUHJlZml4ZXI6IFwiemstcHJlZml4ZXJcIlxufSBhcyBjb25zdDtcbiJdLAogICJtYXBwaW5ncyI6ICI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7OztBQ0FBLHNCQUdPO0FBUUEsU0FBUyxzQkFBc0IsT0FBYyxNQUF1QjtBQUN2RSxNQUFJLFNBQVMsTUFBTSxnQkFBZ0IsSUFBSTtBQUN2QyxNQUFJLFFBQVE7QUFDUixXQUFPO0FBQUEsRUFDWDtBQUVBLFdBQVMsSUFBSyx3QkFBK0IsT0FBTyxJQUFJO0FBQ3hELFNBQU8sU0FBUyxzQkFBc0IsT0FBTyxNQUFNLFFBQVEsS0FBSyxRQUFRLElBQUksQ0FBQztBQUM3RSxTQUFPO0FBQ1g7OztBQ3BCQSxJQUFBQSxtQkFHTztBQVNBLFNBQVMsb0JBQW9CLE9BQWMsTUFBcUI7QUFDbkUsTUFBSSxPQUFPLE1BQU0sY0FBYyxJQUFJO0FBQ25DLE1BQUksTUFBTTtBQUNOLFdBQU87QUFBQSxFQUNYO0FBRUEsU0FBTyxJQUFLLHVCQUEyQixPQUFPLElBQUk7QUFDbEQsT0FBSyxTQUFTLHNCQUFzQixPQUFPLE1BQU0sUUFBUSxLQUFLLFFBQVEsSUFBSSxDQUFDO0FBQzNFLFNBQU87QUFDWDs7O0FDbEJPLElBQU0sc0JBQU4sTUFBMkQ7QUFBQSxFQUN2RCxPQUFxQyxDQUFDO0FBQUEsRUFFdEMsSUFBSSxLQUFhLE9BQWdCO0FBQ3BDLFFBQUksQ0FBRSxLQUFLLEtBQUssZUFBZSxHQUFHLEdBQUk7QUFDbEMsV0FBSyxLQUFLLEdBQUcsSUFBSSxDQUFDO0FBQUEsSUFDdEI7QUFFQSxVQUFNLFNBQVMsS0FBSyxLQUFLLEdBQUc7QUFFNUIsUUFBSSxDQUFDLE9BQU8sU0FBUyxLQUFLLEdBQUc7QUFDekIsYUFBTyxLQUFLLEtBQUs7QUFBQSxJQUNyQjtBQUFBLEVBQ0o7QUFBQSxFQUVPLE9BQU8sS0FBYSxPQUFnQjtBQUN2QyxVQUFNLFNBQVMsS0FBSyxLQUFLLEdBQUc7QUFDNUIsUUFBSSxDQUFDLFFBQVE7QUFDVDtBQUFBLElBQ0o7QUFDQSxXQUFPLE9BQU8sS0FBSztBQUVuQixRQUFJLE9BQU8sV0FBVyxHQUFHO0FBQ3JCLGFBQU8sS0FBSyxLQUFLLEdBQUc7QUFBQSxJQUN4QjtBQUFBLEVBQ0o7QUFBQSxFQUVPLFVBQVUsS0FBbUI7QUFDaEMsV0FBTyxLQUFLLEtBQUssR0FBRztBQUFBLEVBQ3hCO0FBQUEsRUFFTyxJQUFJLEtBQXlCO0FBQ2hDLFdBQU8sS0FBSyxLQUFLLGVBQWUsR0FBRyxJQUFJLEtBQUssS0FBSyxHQUFHLElBQUs7QUFBQSxFQUM3RDtBQUFBLEVBRU8sT0FBaUI7QUFDcEIsV0FBTyxPQUFPLEtBQUssS0FBSyxJQUFJO0FBQUEsRUFDaEM7QUFBQSxFQUVPLE1BQU0sS0FBbUI7QUFDNUIsV0FBTyxLQUFLLEtBQUssR0FBRztBQUFBLEVBQ3hCO0FBQUEsRUFFTyxXQUFpQjtBQUNwQixTQUFLLE9BQU8sQ0FBQztBQUFBLEVBQ2pCO0FBQUEsRUFFTyxTQUFTLEtBQWEsT0FBbUI7QUFDNUMsVUFBTSxTQUFTLEtBQUssS0FBSyxHQUFHO0FBQzVCLFdBQU8sVUFBVSxPQUFPLFNBQVMsS0FBSyxLQUFLO0FBQUEsRUFDL0M7QUFBQSxFQUVPLFFBQWdCO0FBQ25CLFFBQUksTUFBTTtBQUNWLGVBQVcsT0FBTyxLQUFLLE1BQU07QUFDekIsVUFBSSxLQUFLLEtBQUssZUFBZSxHQUFHLEdBQUc7QUFDL0IsZUFBTyxLQUFLLEtBQUssR0FBRyxFQUFHO0FBQUEsTUFDM0I7QUFBQSxJQUNKO0FBRUEsV0FBTztBQUFBLEVBQ1g7QUFDSjs7O0FDakVPLElBQU0scUJBQXFCO0FBQUEsRUFDOUIsZUFBZTtBQUFBLEVBQ2YsVUFBVTtBQUFBLEVBQ1YsV0FBVztBQUFBLEVBQ1gsUUFBUTtBQUFBLEVBQ1IsZ0JBQWdCO0FBQUEsRUFDaEIsWUFBWTtBQUFBLEVBQ1osY0FBYztBQUFBLEVBQ2QsY0FBYztBQUFBLEVBQ2QsY0FBYztBQUFBLEVBQ2QsY0FBYztBQUFBLEVBQ2QsT0FBTztBQUFBLEVBQ1Asa0JBQWtCO0FBQUEsRUFDbEIsY0FBYztBQUFBLEVBQ2QsY0FBYztBQUFBLEVBQ2QsU0FBUztBQUFBLEVBQ1QsYUFBYTtBQUFBLEVBQ2IsWUFBWTtBQUFBLEVBQ1osU0FBUztBQUFBLEVBQ1QsWUFBWTtBQUFBLEVBQ1osY0FBYztBQUFBLEVBQ2QsUUFBUTtBQUFBLEVBQ1IsU0FBUztBQUFBLEVBQ1QsVUFBVTtBQUFBLEVBQ1YsTUFBTTtBQUFBLEVBQ04sU0FBUztBQUFBLEVBQ1QsV0FBVztBQUFBLEVBQ1gsV0FBVztBQUFBLEVBQ1gsWUFBWTtBQUFBLEVBQ1osWUFBWTtBQUNoQjsiLAogICJuYW1lcyI6IFsiaW1wb3J0X29ic2lkaWFuIl0KfQo=
@@ -5,16 +5,45 @@ import * as fsPromises from 'node:fs/promises';
5
5
  import * as path from 'node:path';
6
6
  import { TAbstractFile, TFile, TFolder, Vault } from 'obsidian';
7
7
 
8
- /**
9
- * Creates and properly initializes the instance of TFile even the underlying file does not exist.
10
- * This doesn't create the missing file on the file system.
11
- */
12
- export declare function createTFile(vault: Vault, path: string): TFile;
13
8
  /**
14
9
  * Creates and properly initializes the instance of TFolder even the underlying folder does not exist.
15
10
  * This doesn't create the missing folder on the file system.
16
11
  */
17
- export declare function createTFolder(vault: Vault, path: string): TFolder;
12
+ export declare function createTFolderInstance(vault: Vault, path: string): TFolder;
13
+ /**
14
+ * Creates and properly initializes the instance of TFile even the underlying file does not exist.
15
+ * This doesn't create the missing file on the file system.
16
+ */
17
+ export declare function createTFileInstance(vault: Vault, path: string): TFile;
18
+ /** @public */
19
+ export interface CustomArrayDictDataRecord<T> extends Record<string, T[]> {
20
+ }
21
+ /** @todo Documentation incomplete */
22
+ /** @public */
23
+ export interface CustomArrayDict<T> {
24
+ data: CustomArrayDictDataRecord<T>;
25
+ add(key: string, value: T): void;
26
+ clear(key: string): void;
27
+ clearAll(): void;
28
+ contains(key: string, value: T): boolean;
29
+ count(): number;
30
+ get(key: string): T[] | null;
31
+ keys(): string[];
32
+ remove(key: string, value: T): void;
33
+ removeKey(key: string): void;
34
+ }
35
+ export declare class CustomArrayDictImpl<T> implements CustomArrayDict<T> {
36
+ data: CustomArrayDictDataRecord<T>;
37
+ add(key: string, value: T): void;
38
+ remove(key: string, value: T): void;
39
+ removeKey(key: string): void;
40
+ get(key: string): T[] | null;
41
+ keys(): string[];
42
+ clear(key: string): void;
43
+ clearAll(): void;
44
+ contains(key: string, value: T): boolean;
45
+ count(): number;
46
+ }
18
47
  export declare const InternalPluginName: {
19
48
  readonly AudioRecorder: "audio-recorder";
20
49
  readonly Backlink: "backlink";
@@ -46,73 +75,77 @@ export declare const InternalPluginName: {
46
75
  readonly Workspaces: "workspaces";
47
76
  readonly ZkPrefixer: "zk-prefixer";
48
77
  };
78
+ /** @public */
79
+ export interface AppVaultConfigHotkeysRecord extends Record<string, string> {
80
+ }
81
+ /** @public */
49
82
  export interface AppVaultConfig {
50
83
  /**
51
- * Appearance > Accent color
84
+ * Appearance \> Accent color
52
85
  */
53
86
  accentColor: "" | string;
54
87
  /**
55
- * Files & Links > Automatically update internal links
88
+ * Files & Links \> Automatically update internal links
56
89
  */
57
90
  alwaysUpdateLinks?: false | boolean;
58
91
  /**
59
- * Files & Links > Attachment folder path
92
+ * Files & Links \> Attachment folder path
60
93
  */
61
94
  attachmentFolderPath?: "/" | string;
62
95
  /**
63
- * Editor > Auto convert HTML
96
+ * Editor \> Auto convert HTML
64
97
  */
65
98
  autoConvertHtml?: true | boolean;
66
99
  /**
67
- * Editor > Auto pair brackets
100
+ * Editor \> Auto pair brackets
68
101
  */
69
102
  autoPairBrackets?: true | boolean;
70
103
  /**
71
- * Editor > Auto pair Markdown syntax
104
+ * Editor \> Auto pair Markdown syntax
72
105
  */
73
106
  autoPairMarkdown?: true | boolean;
74
107
  /**
75
- * Appearance > Font size
108
+ * Appearance \> Font size
76
109
  */
77
110
  baseFontSize?: 16 | number;
78
111
  /**
79
- * Appearance > Quick font size adjustment
112
+ * Appearance \> Quick font size adjustment
80
113
  */
81
114
  baseFontSizeAction?: true | boolean;
82
115
  /**
83
- * Community Plugins > Browse > Sort order
116
+ * Community Plugins \> Browse \> Sort order
84
117
  */
85
118
  communityPluginSortOrder: "download" | "update" | "release" | "alphabetical";
86
119
  /**
87
- * Themes > Browse > Sort order
120
+ * Themes \> Browse \> Sort order
88
121
  */
89
122
  communityThemeSortOrder: "download" | "update" | "release" | "alphabetical";
90
123
  /**
91
- * Appearance > Theme
124
+ * Appearance \> Theme
92
125
  *
93
126
  * @remark is the default Obsidian theme
94
127
  */
95
128
  cssTheme?: "" | string;
96
129
  /**
97
- * Editor > Default view for new tabs
130
+ * Editor \> Default view for new tabs
98
131
  */
99
132
  defaultViewMode?: "source" | "preview";
100
133
  emacsyKeys?: true | boolean;
101
134
  /**
102
- * Appearance > CSS snippets
135
+ * Appearance \> CSS snippets
103
136
  */
104
137
  enabledCssSnippets?: string[];
105
138
  fileSortOrder?: "alphabetical";
106
139
  /**
107
- * Editor > Always focus new tabs
140
+ * Editor \> Always focus new tabs
108
141
  */
109
142
  focusNewTab?: true | boolean;
110
143
  /**
111
- * Editor > Fold heading
144
+ * Editor \> Fold heading
112
145
  */
113
146
  foldHeading?: true | boolean;
114
147
  /**
115
- * Editor > Fold indent
148
+ * Editor \> Fold indent
116
149
  */
117
150
  foldIndent?: true | boolean;
118
151
  /**
@@ -122,38 +155,38 @@ export interface AppVaultConfig {
122
155
  */
123
156
  hotkeys?: AppVaultConfigHotkeysRecord;
124
157
  /**
125
- * Appearance > Interface font
158
+ * Appearance \> Interface font
126
159
  */
127
160
  interfaceFontFamily?: "" | string;
128
161
  /**
129
- * Editor > Use legacy editor
162
+ * Editor \> Use legacy editor
130
163
  */
131
164
  legacyEditor?: false | boolean;
132
165
  livePreview?: true | boolean;
133
166
  /**
134
- * Mobile > Configure mobile Quick Action
167
+ * Mobile \> Configure mobile Quick Action
135
168
  */
136
169
  mobilePullAction?: "command-palette:open" | string;
137
170
  mobileQuickRibbonItem?: "" | string;
138
171
  /**
139
- * Mobile > Manage toolbar options
172
+ * Mobile \> Manage toolbar options
140
173
  */
141
174
  mobileToolbarCommands?: string[];
142
175
  monospaceFontFamily?: "" | string;
143
176
  /**
144
- * Appearance > Native menus
177
+ * Appearance \> Native menus
145
178
  */
146
179
  nativeMenus?: null | boolean;
147
180
  /**
148
- * Files & Links > Default location for new notes | 'folder' > Folder to create new notes in
181
+ * Files & Links \> Default location for new notes | 'folder' \> Folder to create new notes in
149
182
  */
150
183
  newFileFolderPath?: "/" | string;
151
184
  /**
152
- * Files & Links > Default location for new notes
185
+ * Files & Links \> Default location for new notes
153
186
  */
154
187
  newFileLocation?: "root" | "current" | "folder";
155
188
  /**
156
- * Files & Links > New link format
189
+ * Files & Links \> New link format
157
190
  */
158
191
  newLinkFormat?: "shortest" | "relative" | "absolute";
159
192
  /**
@@ -166,127 +199,115 @@ export interface AppVaultConfig {
166
199
  downscalePercent: 100 | number;
167
200
  };
168
201
  /**
169
- * Files & Links > Confirm line deletion
202
+ * Files & Links \> Confirm line deletion
170
203
  */
171
204
  promptDelete?: true | boolean;
172
205
  /**
173
- * Editor > Properties in document
206
+ * Editor \> Properties in document
174
207
  */
175
208
  propertiesInDocument?: "visible" | "hidden" | "source";
176
209
  /**
177
- * Editor > Readable line length
210
+ * Editor \> Readable line length
178
211
  */
179
212
  readableLineLength?: true | boolean;
180
213
  /**
181
- * Editor > Right-to-left (RTL)
214
+ * Editor \> Right-to-left (RTL)
182
215
  */
183
216
  rightToLeft?: false | boolean;
184
217
  /** @deprecated Removed as of version 1.4.3 */
185
218
  showFrontmatter?: false | boolean;
186
219
  /**
187
- * Editor > Show indentation guides
220
+ * Editor \> Show indentation guides
188
221
  */
189
222
  showIndentGuide?: true | boolean;
190
223
  /**
191
- * Editor > Show inline title
224
+ * Editor \> Show inline title
192
225
  */
193
226
  showInlineTitle?: true | boolean;
194
227
  /**
195
- * Editor > Show line numbers
228
+ * Editor \> Show line numbers
196
229
  */
197
230
  showLineNumber?: false | boolean;
198
231
  /**
199
- * Appearance > Show ribbon
232
+ * Appearance \> Show ribbon
200
233
  */
201
234
  showRibbon?: true | boolean;
202
235
  /**
203
- * Files & Links > Detect all file extensions
236
+ * Files & Links \> Detect all file extensions
204
237
  */
205
238
  showUnsupportedFiles?: false | boolean;
206
239
  /**
207
- * Appearance > Show tab title bar
240
+ * Appearance \> Show tab title bar
208
241
  */
209
242
  showViewHeader?: false | boolean;
210
243
  /**
211
- * Editor > Smart indent lists
244
+ * Editor \> Smart indent lists
212
245
  */
213
246
  smartIndentList?: true | boolean;
214
247
  /**
215
- * Editor > Spellcheck
248
+ * Editor \> Spellcheck
216
249
  */
217
250
  spellcheck?: false | boolean;
218
- /** @deprecated */
251
+ /** @deprecated Deprecated @todo */
219
252
  spellcheckDictionary?: [
220
253
  ] | string[];
221
254
  /**
222
- * Editor > Spellcheck languages
255
+ * Editor \> Spellcheck languages
223
256
  */
224
257
  spellcheckLanguages?: null | string[];
225
258
  /**
226
- * Editor > Strict line breaks
259
+ * Editor \> Strict line breaks
227
260
  */
228
261
  strictLineBreaks?: false | boolean;
229
262
  /**
230
- * Editor > Tab indent size
263
+ * Editor \> Tab indent size
231
264
  */
232
265
  tabSize?: 4 | number;
233
266
  /**
234
- * Appearance > Text font
267
+ * Appearance \> Text font
235
268
  */
236
269
  textFontFamily?: "" | string;
237
270
  /**
238
- * Appearance > Base color scheme
271
+ * Appearance \> Base color scheme
239
272
  *
240
273
  * @remark Not be confused with cssTheme, this setting is for the light/dark mode
241
274
  * @remark moonstone is light theme, "obsidian" is dark theme
242
275
  */
243
276
  theme?: "moonstone" | "obsidian";
244
277
  /**
245
- * Appearance > Translucent window
278
+ * Appearance \> Translucent window
246
279
  */
247
280
  translucency?: false | boolean;
248
281
  /**
249
- * Files & Links > Deleted files
282
+ * Files & Links \> Deleted files
250
283
  */
251
284
  trashOption?: "system" | "local" | "none";
252
285
  /** @deprecated Probably left-over code from old properties type storage */
253
286
  types: object;
254
287
  /**
255
- * Files & Links > Use [[Wikilinks]]
288
+ * Files & Links \> Use [[Wikilinks]]
256
289
  */
257
290
  useMarkdownLinks?: false | boolean;
258
291
  /**
259
- * Files & Links > Excluded files
292
+ * Files & Links \> Excluded files
260
293
  */
261
294
  userIgnoreFilters?: null | string[];
262
295
  /**
263
- * Editor > Indent using tabs
296
+ * Editor \> Indent using tabs
264
297
  */
265
298
  useTab?: true | boolean;
266
299
  /**
267
- * Editor > Vim key bindings
300
+ * Editor \> Vim key bindings
268
301
  */
269
302
  vimMode?: false | boolean;
270
303
  }
271
- export interface AppVaultConfigHotkeysRecord extends Record<string, string> {
272
- }
273
304
  /** @todo Documentation incomplete */
305
+ /** @public */
274
306
  export type ConfigItem = "accentColor" | "alwaysUpdateLinks" | "attachmentFolderPath" | "autoConvertHtml" | "autoPairBrackets" | "autoPairMarkdown" | "baseFontSize" | "baseFontSizeAction" | "cssTheme" | "defaultViewMode" | "emacsyKeys" | "enabledCssSnippets" | "fileSortOrder" | "focusNewTab" | "foldHeading" | "foldIndent" | "hotkeys" | "interfaceFontFamily" | "legacyEditor" | "livePreview" | "mobilePullAction" | "mobileQuickRibbonItem" | "mobileToolbarCommands" | "monospaceFontFamily" | "nativeMenus" | "newFileFolderPath" | "newFileLocation" | "newLinkFormat" | "pdfExportSettings" | "promptDelete" | "propertiesInDocument" | "readableLineLength" | "rightToLeft" | "showIndentGuide" | "showInlineTitle" | "showLineNumber" | "showUnsupportedFiles" | "showViewHeader" | "showRibbon" | "smartIndentList" | "spellcheck" | "spellcheckLanguages" | "strictLineBreaks" | "tabSize" | "textFontFamily" | "theme" | "translucency" | "trashOption" | "types" | "useMarkdownLinks" | "useTab" | "userIgnoreFilters" | "vimMode";
275
- /** @todo Documentation incomplete */
276
- export interface CustomArrayDict<T> {
277
- data: CustomArrayDictDataRecord<T>;
278
- add(key: string, value: T): void;
279
- clear(key: string): void;
280
- clearAll(): void;
281
- contains(key: string, value: T): boolean;
282
- count(): number;
283
- get(key: string): T[] | null;
284
- keys(): string[];
285
- remove(key: string, value: T): void;
286
- removeKey(key: string): void;
287
- }
288
- export interface CustomArrayDictDataRecord<T> extends Record<string, T[]> {
307
+ /** @public */
308
+ export interface VaultFileMapRecord extends Record<string, TAbstractFile> {
289
309
  }
310
+ /** @public */
290
311
  export interface FileEntry {
291
312
  /**
292
313
  * Creation time (if file)
@@ -311,26 +332,14 @@ export interface FileEntry {
311
332
  */
312
333
  type: "file" | "folder";
313
334
  }
335
+ /** @public */
314
336
  export interface DataAdapterFilesRecord extends Record<string, FileEntry> {
315
337
  }
338
+ /** @public */
316
339
  export interface DataAdapterWatchersRecord extends Record<string, {
317
340
  resolvedPath: string;
318
341
  watcher: unknown;
319
342
  }> {
320
343
  }
321
- export interface VaultFileMapRecord extends Record<string, TAbstractFile> {
322
- }
323
- export declare class CustomArrayDictImpl<T> implements CustomArrayDict<T> {
324
- data: CustomArrayDictDataRecord<T>;
325
- add(key: string, value: T): void;
326
- remove(key: string, value: T): void;
327
- removeKey(key: string): void;
328
- get(key: string): T[] | null;
329
- keys(): string[];
330
- clear(key: string): void;
331
- clearAll(): void;
332
- contains(key: string, value: T): boolean;
333
- count(): number;
334
- }
335
344
 
336
345
  export {};