obsidian-dev-utils 1.7.0 → 1.7.2

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,15 @@
1
1
  # CHANGELOG
2
2
 
3
+ ## 1.7.2
4
+
5
+ - Avoid second definition of the const
6
+ - Allow MaybePromise for overrides
7
+ - Move typings to deps
8
+
9
+ ## 1.7.1
10
+
11
+ - Make proper `bindValueComponent` overloads
12
+
3
13
  ## 1.7.0
4
14
 
5
15
  - Allow convert plugin setting values
@@ -67,6 +67,9 @@ function preprocessPlugin() {
67
67
  let contents = await (0, import_promises.readFile)(args.path, "utf-8");
68
68
  for (const [key, value] of Object.entries(replacements)) {
69
69
  const valueStr = typeof value === "function" ? `(${value.toString()})()` : (0, import_JSON.toJson)(value, { shouldHandleFunctions: true });
70
+ if (contents.includes(`const __${(0, import_String.makeValidVariableName)(key)}`)) {
71
+ continue;
72
+ }
70
73
  contents = `const __${(0, import_String.makeValidVariableName)(key)} = globalThis["${key}"] ?? ${valueStr};
71
74
  ` + contents;
72
75
  }
@@ -83,4 +86,4 @@ function preprocessPlugin() {
83
86
  0 && (module.exports = {
84
87
  preprocessPlugin
85
88
  });
86
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vc3JjL2Jpbi9lc2J1aWxkL3ByZXByb2Nlc3NQbHVnaW4udHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbImNvbnN0IF9faW1wb3J0X21ldGFfdXJsID0gZ2xvYmFsVGhpc1tcImltcG9ydC5tZXRhLnVybFwiXSA/PyAoKCk9PnJlcXVpcmUoXCJub2RlOnVybFwiKS5wYXRoVG9GaWxlVVJMKF9fZmlsZW5hbWUpKSgpO1xuY29uc3QgX19wcm9jZXNzID0gZ2xvYmFsVGhpc1tcInByb2Nlc3NcIl0gPz8ge1xuICBcImN3ZFwiOiAoKT0+XCIvXCIsXG4gIFwiZW52XCI6IHt9LFxuICBcInBsYXRmb3JtXCI6IFwiYW5kcm9pZFwiXG59O1xuLyoqXG4gKiBAZmlsZVxuICogVGhpcyBtb2R1bGUgZGVmaW5lcyBhIGN1c3RvbSBlc2J1aWxkIHBsdWdpbiB0aGF0IHByZXByb2Nlc3NlcyBKYXZhU2NyaXB0IGFuZCBUeXBlU2NyaXB0IGZpbGVzLlxuICogVGhlIHByZXByb2Nlc3NpbmcgaW5jbHVkZXMgcmVwbGFjaW5nIGBpbXBvcnQoZG90KW1ldGEoZG90KXVybGAgd2l0aCBhIE5vZGUuanMtY29tcGF0aWJsZSBhbHRlcm5hdGl2ZSxcbiAqIGVuc3VyaW5nIGNvbXBhdGliaWxpdHkgd2l0aCBPYnNpZGlhbidzIHBsdWdpbiBzeXN0ZW0sIGFuZCBhZGRpbmcgYSBiYXNpYyBgcHJvY2Vzc2Agb2JqZWN0IGZvciBlbnZpcm9ubWVudHNcbiAqIHdoZXJlIGBwcm9jZXNzYCBpcyBub3QgYXZhaWxhYmxlIChsaWtlIG1vYmlsZSBvciB3ZWIgZW52aXJvbm1lbnRzKS5cbiAqXG4gKiBAbm90ZVxuICogV2UgY2Fubm90IHVzZSBgLmAgaW5zdGVhZCBvZiBgKGRvdClgIGluIHRoZSBhYm92ZSBkZXNjcmlwdGlvbiBiZWNhdXNlIHRoZSBmaWxlIGl0c2VsZiBpcyBwcmVwcm9jZXNzZWQgd2l0aCB0aGUgc2FtZSBydWxlLlxuICovXG5cbmltcG9ydCB0eXBlIHsgUGx1Z2luIH0gZnJvbSBcImVzYnVpbGRcIjtcbmltcG9ydCB7IHJlYWRGaWxlIH0gZnJvbSBcIm5vZGU6ZnMvcHJvbWlzZXNcIjtcbmltcG9ydCB7IHRvSnNvbiB9IGZyb20gXCIuLi8uLi9KU09OLnRzXCI7XG5pbXBvcnQgeyBtYWtlVmFsaWRWYXJpYWJsZU5hbWUgfSBmcm9tIFwiLi4vLi4vU3RyaW5nLnRzXCI7XG5pbXBvcnQgcHJvY2VzcyBmcm9tIFwibm9kZTpwcm9jZXNzXCI7XG5cbi8qKlxuICogQ3JlYXRlcyBhbiBlc2J1aWxkIHBsdWdpbiB0aGF0IHByZXByb2Nlc3NlcyBKYXZhU2NyaXB0IGFuZCBUeXBlU2NyaXB0IGZpbGVzLlxuICpcbiAqIFRoaXMgcGx1Z2luIHBlcmZvcm1zIHRoZSBmb2xsb3dpbmcgdGFza3M6XG4gKiAtIFJlcGxhY2VzIGluc3RhbmNlcyBvZiBgaW1wb3J0Lm1ldGEudXJsYCB3aXRoIGEgTm9kZS5qcy1jb21wYXRpYmxlIGBfX2ZpbGVuYW1lYCBhbHRlcm5hdGl2ZS5cbiAqIC0gTW9kaWZpZXMgdGhlIGBzb3VyY2VNYXBwaW5nVVJMYCBjb21tZW50IHRvIGVuc3VyZSBjb21wYXRpYmlsaXR5IHdpdGggT2JzaWRpYW4ncyBwbHVnaW4gc3lzdGVtLlxuICogLSBBZGRzIGEgYmFzaWMgYHByb2Nlc3NgIG9iamVjdCB0byB0aGUgZ2xvYmFsIHNjb3BlIGlmIGBwcm9jZXNzYCBpcyByZWZlcmVuY2VkIGJ1dCBub3QgZGVmaW5lZC5cbiAqXG4gKiBAcmV0dXJucyBBbiBlc2J1aWxkIGBQbHVnaW5gIG9iamVjdCB0aGF0IGhhbmRsZXMgdGhlIHByZXByb2Nlc3NpbmcuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBwcmVwcm9jZXNzUGx1Z2luKCk6IFBsdWdpbiB7XG4gIGNvbnN0IHJlcGxhY2VtZW50cyA9IHtcbiAgICBcInByb2Nlc3NcIjoge1xuICAgICAgY3dkOiAoKSA9PiBcIi9cIixcbiAgICAgIGVudjoge30sXG4gICAgICBwbGF0Zm9ybTogXCJhbmRyb2lkXCJcbiAgICB9IGFzIHR5cGVvZiBwcm9jZXNzLFxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdmFyLXJlcXVpcmVzXG4gICAgXCJpbXBvcnQubWV0YS51cmxcIjogKCk6IFVSTCA9PiAocmVxdWlyZShcIm5vZGU6dXJsXCIpIGFzIHR5cGVvZiBpbXBvcnQoXCJub2RlOnVybFwiKSkucGF0aFRvRmlsZVVSTChfX2ZpbGVuYW1lKVxuICB9O1xuXG4gIHJldHVybiB7XG4gICAgbmFtZTogXCJwcmVwcm9jZXNzXCIsXG4gICAgc2V0dXAoYnVpbGQpOiB2b2lkIHtcbiAgICAgIGJ1aWxkLmluaXRpYWxPcHRpb25zLmRlZmluZSA/Pz0ge307XG5cbiAgICAgIGZvciAoY29uc3Qga2V5IG9mIE9iamVjdC5rZXlzKHJlcGxhY2VtZW50cykpIHtcbiAgICAgICAgYnVpbGQuaW5pdGlhbE9wdGlvbnMuZGVmaW5lW2tleV0gPSBcIl9fXCIgKyBtYWtlVmFsaWRWYXJpYWJsZU5hbWUoa2V5KTtcbiAgICAgIH1cblxuICAgICAgYnVpbGQub25Mb2FkKHsgZmlsdGVyOiAvXFwuKGpzfHRzfGNqc3xtanN8Y3RzfG10cykkLyB9LCBhc3luYyAoYXJncykgPT4ge1xuICAgICAgICBsZXQgY29udGVudHMgPSBhd2FpdCByZWFkRmlsZShhcmdzLnBhdGgsIFwidXRmLThcIik7XG5cbiAgICAgICAgZm9yIChjb25zdCBba2V5LCB2YWx1ZV0gb2YgT2JqZWN0LmVudHJpZXMocmVwbGFjZW1lbnRzKSkge1xuICAgICAgICAgIGNvbnN0IHZhbHVlU3RyID0gdHlwZW9mIHZhbHVlID09PSBcImZ1bmN0aW9uXCIgPyBgKCR7dmFsdWUudG9TdHJpbmcoKX0pKClgIDogdG9Kc29uKHZhbHVlLCB7IHNob3VsZEhhbmRsZUZ1bmN0aW9uczogdHJ1ZSB9KTtcbiAgICAgICAgICBjb250ZW50cyA9IGBjb25zdCBfXyR7bWFrZVZhbGlkVmFyaWFibGVOYW1lKGtleSl9ID0gZ2xvYmFsVGhpc1tcIiR7a2V5fVwiXSA/PyAke3ZhbHVlU3RyfTtcXG5gICsgY29udGVudHM7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBIQUNLOiBUaGUgJHtcIlwifSBwYXJ0IGlzIHVzZWQgdG8gZW5zdXJlIE9ic2lkaWFuIGxvYWRzIHRoZSBwbHVnaW4gcHJvcGVybHksXG4gICAgICAgIC8vIG90aGVyd2lzZSwgaXQgc3RvcHMgbG9hZGluZyBhZnRlciB0aGUgZmlyc3QgbGluZSBvZiB0aGUgc291cmNlTWFwcGluZ1VSTCBjb21tZW50LlxuICAgICAgICBjb250ZW50cyA9IGNvbnRlbnRzLnJlcGxhY2UoL1xcYFxccj9cXG5cXC9cXC8jIHNvdXJjZU1hcHBpbmdVUkwvZywgXCJgXFxuLy8jJHtcXFwiXFxcIn0gc291cmNlTWFwcGluZ1VSTFwiKTtcblxuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgIGNvbnRlbnRzLFxuICAgICAgICAgIGxvYWRlcjogXCJ0c1wiXG4gICAgICAgIH07XG4gICAgICB9KTtcbiAgICB9LFxuICB9O1xufVxuIl0sCiAgIm1hcHBpbmdzIjogIjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQWtCQSxzQkFBeUI7QUFDekIsa0JBQXVCO0FBQ3ZCLG9CQUFzQztBQUN0QywwQkFBb0I7QUFyQnBCLE1BQU0sb0JBQW9CLFdBQVcsaUJBQWlCLE1BQU0sTUFBSSxRQUFRLFVBQVUsRUFBRSxjQUFjLFVBQVUsR0FBRztBQUMvRyxNQUFNLFlBQVksV0FBVyxTQUFTLEtBQUs7QUFBQSxFQUN6QyxPQUFPLE1BQUk7QUFBQSxFQUNYLE9BQU8sQ0FBQztBQUFBLEVBQ1IsWUFBWTtBQUNkO0FBNEJPLFNBQVMsbUJBQTJCO0FBQ3pDLFFBQU0sZUFBZTtBQUFBLElBQ25CLFdBQVc7QUFBQSxNQUNULEtBQUssTUFBTTtBQUFBLE1BQ1gsS0FBSyxDQUFDO0FBQUEsTUFDTixVQUFVO0FBQUEsSUFDWjtBQUFBO0FBQUEsSUFFQSxtQkFBbUIsTUFBWSxRQUFRLFVBQVUsRUFBZ0MsY0FBYyxVQUFVO0FBQUEsRUFDM0c7QUFFQSxTQUFPO0FBQUEsSUFDTCxNQUFNO0FBQUEsSUFDTixNQUFNLE9BQWE7QUFDakIsWUFBTSxlQUFlLFdBQVcsQ0FBQztBQUVqQyxpQkFBVyxPQUFPLE9BQU8sS0FBSyxZQUFZLEdBQUc7QUFDM0MsY0FBTSxlQUFlLE9BQU8sR0FBRyxJQUFJLFdBQU8scUNBQXNCLEdBQUc7QUFBQSxNQUNyRTtBQUVBLFlBQU0sT0FBTyxFQUFFLFFBQVEsNkJBQTZCLEdBQUcsT0FBTyxTQUFTO0FBQ3JFLFlBQUksV0FBVyxVQUFNLDBCQUFTLEtBQUssTUFBTSxPQUFPO0FBRWhELG1CQUFXLENBQUMsS0FBSyxLQUFLLEtBQUssT0FBTyxRQUFRLFlBQVksR0FBRztBQUN2RCxnQkFBTSxXQUFXLE9BQU8sVUFBVSxhQUFhLElBQUksTUFBTSxTQUFTLENBQUMsWUFBUSxvQkFBTyxPQUFPLEVBQUUsdUJBQXVCLEtBQUssQ0FBQztBQUN4SCxxQkFBVyxlQUFXLHFDQUFzQixHQUFHLENBQUMsa0JBQWtCLEdBQUcsU0FBUyxRQUFRO0FBQUEsSUFBUTtBQUFBLFFBQ2hHO0FBSUEsbUJBQVcsU0FBUyxRQUFRLGtDQUFrQyw4QkFBZ0M7QUFFOUYsZUFBTztBQUFBLFVBQ0w7QUFBQSxVQUNBLFFBQVE7QUFBQSxRQUNWO0FBQUEsTUFDRixDQUFDO0FBQUEsSUFDSDtBQUFBLEVBQ0Y7QUFDRjsiLAogICJuYW1lcyI6IFtdCn0K
89
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vc3JjL2Jpbi9lc2J1aWxkL3ByZXByb2Nlc3NQbHVnaW4udHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbImNvbnN0IF9faW1wb3J0X21ldGFfdXJsID0gZ2xvYmFsVGhpc1tcImltcG9ydC5tZXRhLnVybFwiXSA/PyAoKCk9PnJlcXVpcmUoXCJub2RlOnVybFwiKS5wYXRoVG9GaWxlVVJMKF9fZmlsZW5hbWUpKSgpO1xuY29uc3QgX19wcm9jZXNzID0gZ2xvYmFsVGhpc1tcInByb2Nlc3NcIl0gPz8ge1xuICBcImN3ZFwiOiAoKT0+XCIvXCIsXG4gIFwiZW52XCI6IHt9LFxuICBcInBsYXRmb3JtXCI6IFwiYW5kcm9pZFwiXG59O1xuLyoqXG4gKiBAZmlsZVxuICogVGhpcyBtb2R1bGUgZGVmaW5lcyBhIGN1c3RvbSBlc2J1aWxkIHBsdWdpbiB0aGF0IHByZXByb2Nlc3NlcyBKYXZhU2NyaXB0IGFuZCBUeXBlU2NyaXB0IGZpbGVzLlxuICogVGhlIHByZXByb2Nlc3NpbmcgaW5jbHVkZXMgcmVwbGFjaW5nIGBpbXBvcnQoZG90KW1ldGEoZG90KXVybGAgd2l0aCBhIE5vZGUuanMtY29tcGF0aWJsZSBhbHRlcm5hdGl2ZSxcbiAqIGVuc3VyaW5nIGNvbXBhdGliaWxpdHkgd2l0aCBPYnNpZGlhbidzIHBsdWdpbiBzeXN0ZW0sIGFuZCBhZGRpbmcgYSBiYXNpYyBgcHJvY2Vzc2Agb2JqZWN0IGZvciBlbnZpcm9ubWVudHNcbiAqIHdoZXJlIGBwcm9jZXNzYCBpcyBub3QgYXZhaWxhYmxlIChsaWtlIG1vYmlsZSBvciB3ZWIgZW52aXJvbm1lbnRzKS5cbiAqXG4gKiBAbm90ZVxuICogV2UgY2Fubm90IHVzZSBgLmAgaW5zdGVhZCBvZiBgKGRvdClgIGluIHRoZSBhYm92ZSBkZXNjcmlwdGlvbiBiZWNhdXNlIHRoZSBmaWxlIGl0c2VsZiBpcyBwcmVwcm9jZXNzZWQgd2l0aCB0aGUgc2FtZSBydWxlLlxuICovXG5cbmltcG9ydCB0eXBlIHsgUGx1Z2luIH0gZnJvbSBcImVzYnVpbGRcIjtcbmltcG9ydCB7IHJlYWRGaWxlIH0gZnJvbSBcIm5vZGU6ZnMvcHJvbWlzZXNcIjtcbmltcG9ydCB7IHRvSnNvbiB9IGZyb20gXCIuLi8uLi9KU09OLnRzXCI7XG5pbXBvcnQgeyBtYWtlVmFsaWRWYXJpYWJsZU5hbWUgfSBmcm9tIFwiLi4vLi4vU3RyaW5nLnRzXCI7XG5pbXBvcnQgcHJvY2VzcyBmcm9tIFwibm9kZTpwcm9jZXNzXCI7XG5cbi8qKlxuICogQ3JlYXRlcyBhbiBlc2J1aWxkIHBsdWdpbiB0aGF0IHByZXByb2Nlc3NlcyBKYXZhU2NyaXB0IGFuZCBUeXBlU2NyaXB0IGZpbGVzLlxuICpcbiAqIFRoaXMgcGx1Z2luIHBlcmZvcm1zIHRoZSBmb2xsb3dpbmcgdGFza3M6XG4gKiAtIFJlcGxhY2VzIGluc3RhbmNlcyBvZiBgaW1wb3J0Lm1ldGEudXJsYCB3aXRoIGEgTm9kZS5qcy1jb21wYXRpYmxlIGBfX2ZpbGVuYW1lYCBhbHRlcm5hdGl2ZS5cbiAqIC0gTW9kaWZpZXMgdGhlIGBzb3VyY2VNYXBwaW5nVVJMYCBjb21tZW50IHRvIGVuc3VyZSBjb21wYXRpYmlsaXR5IHdpdGggT2JzaWRpYW4ncyBwbHVnaW4gc3lzdGVtLlxuICogLSBBZGRzIGEgYmFzaWMgYHByb2Nlc3NgIG9iamVjdCB0byB0aGUgZ2xvYmFsIHNjb3BlIGlmIGBwcm9jZXNzYCBpcyByZWZlcmVuY2VkIGJ1dCBub3QgZGVmaW5lZC5cbiAqXG4gKiBAcmV0dXJucyBBbiBlc2J1aWxkIGBQbHVnaW5gIG9iamVjdCB0aGF0IGhhbmRsZXMgdGhlIHByZXByb2Nlc3NpbmcuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBwcmVwcm9jZXNzUGx1Z2luKCk6IFBsdWdpbiB7XG4gIGNvbnN0IHJlcGxhY2VtZW50cyA9IHtcbiAgICBcInByb2Nlc3NcIjoge1xuICAgICAgY3dkOiAoKSA9PiBcIi9cIixcbiAgICAgIGVudjoge30sXG4gICAgICBwbGF0Zm9ybTogXCJhbmRyb2lkXCJcbiAgICB9IGFzIHR5cGVvZiBwcm9jZXNzLFxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdmFyLXJlcXVpcmVzXG4gICAgXCJpbXBvcnQubWV0YS51cmxcIjogKCk6IFVSTCA9PiAocmVxdWlyZShcIm5vZGU6dXJsXCIpIGFzIHR5cGVvZiBpbXBvcnQoXCJub2RlOnVybFwiKSkucGF0aFRvRmlsZVVSTChfX2ZpbGVuYW1lKVxuICB9O1xuXG4gIHJldHVybiB7XG4gICAgbmFtZTogXCJwcmVwcm9jZXNzXCIsXG4gICAgc2V0dXAoYnVpbGQpOiB2b2lkIHtcbiAgICAgIGJ1aWxkLmluaXRpYWxPcHRpb25zLmRlZmluZSA/Pz0ge307XG5cbiAgICAgIGZvciAoY29uc3Qga2V5IG9mIE9iamVjdC5rZXlzKHJlcGxhY2VtZW50cykpIHtcbiAgICAgICAgYnVpbGQuaW5pdGlhbE9wdGlvbnMuZGVmaW5lW2tleV0gPSBcIl9fXCIgKyBtYWtlVmFsaWRWYXJpYWJsZU5hbWUoa2V5KTtcbiAgICAgIH1cblxuICAgICAgYnVpbGQub25Mb2FkKHsgZmlsdGVyOiAvXFwuKGpzfHRzfGNqc3xtanN8Y3RzfG10cykkLyB9LCBhc3luYyAoYXJncykgPT4ge1xuICAgICAgICBsZXQgY29udGVudHMgPSBhd2FpdCByZWFkRmlsZShhcmdzLnBhdGgsIFwidXRmLThcIik7XG5cbiAgICAgICAgZm9yIChjb25zdCBba2V5LCB2YWx1ZV0gb2YgT2JqZWN0LmVudHJpZXMocmVwbGFjZW1lbnRzKSkge1xuICAgICAgICAgIGNvbnN0IHZhbHVlU3RyID0gdHlwZW9mIHZhbHVlID09PSBcImZ1bmN0aW9uXCIgPyBgKCR7dmFsdWUudG9TdHJpbmcoKX0pKClgIDogdG9Kc29uKHZhbHVlLCB7IHNob3VsZEhhbmRsZUZ1bmN0aW9uczogdHJ1ZSB9KTtcbiAgICAgICAgICBpZiAoY29udGVudHMuaW5jbHVkZXMoYGNvbnN0IF9fJHttYWtlVmFsaWRWYXJpYWJsZU5hbWUoa2V5KX1gKSkge1xuICAgICAgICAgICAgY29udGludWU7XG4gICAgICAgICAgfVxuICAgICAgICAgIGNvbnRlbnRzID0gYGNvbnN0IF9fJHttYWtlVmFsaWRWYXJpYWJsZU5hbWUoa2V5KX0gPSBnbG9iYWxUaGlzW1wiJHtrZXl9XCJdID8/ICR7dmFsdWVTdHJ9O1xcbmAgKyBjb250ZW50cztcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIEhBQ0s6IFRoZSAke1wiXCJ9IHBhcnQgaXMgdXNlZCB0byBlbnN1cmUgT2JzaWRpYW4gbG9hZHMgdGhlIHBsdWdpbiBwcm9wZXJseSxcbiAgICAgICAgLy8gb3RoZXJ3aXNlLCBpdCBzdG9wcyBsb2FkaW5nIGFmdGVyIHRoZSBmaXJzdCBsaW5lIG9mIHRoZSBzb3VyY2VNYXBwaW5nVVJMIGNvbW1lbnQuXG4gICAgICAgIGNvbnRlbnRzID0gY29udGVudHMucmVwbGFjZSgvXFxgXFxyP1xcblxcL1xcLyMgc291cmNlTWFwcGluZ1VSTC9nLCBcImBcXG4vLyMke1xcXCJcXFwifSBzb3VyY2VNYXBwaW5nVVJMXCIpO1xuXG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgY29udGVudHMsXG4gICAgICAgICAgbG9hZGVyOiBcInRzXCJcbiAgICAgICAgfTtcbiAgICAgIH0pO1xuICAgIH0sXG4gIH07XG59XG4iXSwKICAibWFwcGluZ3MiOiAiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBa0JBLHNCQUF5QjtBQUN6QixrQkFBdUI7QUFDdkIsb0JBQXNDO0FBQ3RDLDBCQUFvQjtBQXJCcEIsTUFBTSxvQkFBb0IsV0FBVyxpQkFBaUIsTUFBTSxNQUFJLFFBQVEsVUFBVSxFQUFFLGNBQWMsVUFBVSxHQUFHO0FBQy9HLE1BQU0sWUFBWSxXQUFXLFNBQVMsS0FBSztBQUFBLEVBQ3pDLE9BQU8sTUFBSTtBQUFBLEVBQ1gsT0FBTyxDQUFDO0FBQUEsRUFDUixZQUFZO0FBQ2Q7QUE0Qk8sU0FBUyxtQkFBMkI7QUFDekMsUUFBTSxlQUFlO0FBQUEsSUFDbkIsV0FBVztBQUFBLE1BQ1QsS0FBSyxNQUFNO0FBQUEsTUFDWCxLQUFLLENBQUM7QUFBQSxNQUNOLFVBQVU7QUFBQSxJQUNaO0FBQUE7QUFBQSxJQUVBLG1CQUFtQixNQUFZLFFBQVEsVUFBVSxFQUFnQyxjQUFjLFVBQVU7QUFBQSxFQUMzRztBQUVBLFNBQU87QUFBQSxJQUNMLE1BQU07QUFBQSxJQUNOLE1BQU0sT0FBYTtBQUNqQixZQUFNLGVBQWUsV0FBVyxDQUFDO0FBRWpDLGlCQUFXLE9BQU8sT0FBTyxLQUFLLFlBQVksR0FBRztBQUMzQyxjQUFNLGVBQWUsT0FBTyxHQUFHLElBQUksV0FBTyxxQ0FBc0IsR0FBRztBQUFBLE1BQ3JFO0FBRUEsWUFBTSxPQUFPLEVBQUUsUUFBUSw2QkFBNkIsR0FBRyxPQUFPLFNBQVM7QUFDckUsWUFBSSxXQUFXLFVBQU0sMEJBQVMsS0FBSyxNQUFNLE9BQU87QUFFaEQsbUJBQVcsQ0FBQyxLQUFLLEtBQUssS0FBSyxPQUFPLFFBQVEsWUFBWSxHQUFHO0FBQ3ZELGdCQUFNLFdBQVcsT0FBTyxVQUFVLGFBQWEsSUFBSSxNQUFNLFNBQVMsQ0FBQyxZQUFRLG9CQUFPLE9BQU8sRUFBRSx1QkFBdUIsS0FBSyxDQUFDO0FBQ3hILGNBQUksU0FBUyxTQUFTLGVBQVcscUNBQXNCLEdBQUcsQ0FBQyxFQUFFLEdBQUc7QUFDOUQ7QUFBQSxVQUNGO0FBQ0EscUJBQVcsZUFBVyxxQ0FBc0IsR0FBRyxDQUFDLGtCQUFrQixHQUFHLFNBQVMsUUFBUTtBQUFBLElBQVE7QUFBQSxRQUNoRztBQUlBLG1CQUFXLFNBQVMsUUFBUSxrQ0FBa0MsOEJBQWdDO0FBRTlGLGVBQU87QUFBQSxVQUNMO0FBQUEsVUFDQSxRQUFRO0FBQUEsUUFDVjtBQUFBLE1BQ0YsQ0FBQztBQUFBLElBQ0g7QUFBQSxFQUNGO0FBQ0Y7IiwKICAibmFtZXMiOiBbXQp9Cg==
@@ -100,13 +100,14 @@ class PluginBase extends import_obsidian.Plugin {
100
100
  this._settings = await this.parseSettings(data);
101
101
  }
102
102
  /**
103
- * Parses the settings data and returns a PluginSettings object.
103
+ * Parses the provided settings data and returns the parsed `PluginSettings`.
104
104
  *
105
- * @param {unknown} data - The raw settings data.
106
- * @returns {Promise<PluginSettings>} A promise that resolves with the parsed settings.
105
+ * @protected
106
+ * @param {unknown} data - The raw data to be parsed into `PluginSettings`.
107
+ * @returns {MaybePromise<PluginSettings>} A promise that resolves to `PluginSettings` or the settings directly.
107
108
  */
108
- async parseSettings(data) {
109
- return await Promise.resolve((0, import_PluginSettings.loadPluginSettings)(this.createDefaultPluginSettings, data));
109
+ parseSettings(data) {
110
+ return (0, import_PluginSettings.loadPluginSettings)(this.createDefaultPluginSettings, data);
110
111
  }
111
112
  /**
112
113
  * Saves the new plugin settings.
@@ -135,4 +136,4 @@ ${message}`);
135
136
  0 && (module.exports = {
136
137
  PluginBase
137
138
  });
138
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vc3JjL29ic2lkaWFuL1BsdWdpbi9QbHVnaW5CYXNlLnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyJjb25zdCBfX2ltcG9ydF9tZXRhX3VybCA9IGdsb2JhbFRoaXNbXCJpbXBvcnQubWV0YS51cmxcIl0gPz8gKCgpPT5yZXF1aXJlKFwibm9kZTp1cmxcIikucGF0aFRvRmlsZVVSTChfX2ZpbGVuYW1lKSkoKTtcbmNvbnN0IF9fcHJvY2VzcyA9IGdsb2JhbFRoaXNbXCJwcm9jZXNzXCJdID8/IHtcbiAgXCJjd2RcIjogKCk9PlwiL1wiLFxuICBcImVudlwiOiB7fSxcbiAgXCJwbGF0Zm9ybVwiOiBcImFuZHJvaWRcIlxufTtcbi8qKlxuICogQGZpbGUgQmFzZSBjbGFzcyBmb3IgT2JzaWRpYW4gcGx1Z2lucyBwcm92aWRpbmcgdXRpbGl0eSBtZXRob2RzIGZvciBzZXR0aW5ncyBtYW5hZ2VtZW50LCBlcnJvciBoYW5kbGluZywgYW5kIG5vdGlmaWNhdGlvbnMuXG4gKlxuICogVGhpcyBjbGFzcyBzaW1wbGlmaWVzIHRoZSBwcm9jZXNzIG9mIG1hbmFnaW5nIHBsdWdpbiBzZXR0aW5ncywgZGlzcGxheWluZyBub3RpZmljYXRpb25zLCBhbmQgaGFuZGxpbmcgZXJyb3JzLlxuICogU3ViY2xhc3NlcyBzaG91bGQgaW1wbGVtZW50IG1ldGhvZHMgdG8gY3JlYXRlIGRlZmF1bHQgc2V0dGluZ3MgYW5kIHNldHRpbmdzIHRhYnMsIGFuZCBjb21wbGV0ZSBwbHVnaW4tc3BlY2lmaWNcbiAqIGxvYWRpbmcgdGFza3MuXG4gKi9cblxuaW1wb3J0IHtcbiAgTm90aWNlLFxuICBQbHVnaW4sXG4gIFBsdWdpblNldHRpbmdUYWJcbn0gZnJvbSBcIm9ic2lkaWFuXCI7XG5pbXBvcnQgeyByZWdpc3RlckFzeW5jRXJyb3JFdmVudEhhbmRsZXIgfSBmcm9tIFwiLi4vLi4vRXJyb3IudHNcIjtcbmltcG9ydCB7XG4gIGxvYWRQbHVnaW5TZXR0aW5ncyxcbiAgY2xvbmVQbHVnaW5TZXR0aW5nc1xufSBmcm9tIFwiLi9QbHVnaW5TZXR0aW5ncy50c1wiO1xuXG4vKipcbiAqIEJhc2UgY2xhc3MgZm9yIGNyZWF0aW5nIE9ic2lkaWFuIHBsdWdpbnMgd2l0aCBidWlsdC1pbiBzdXBwb3J0IGZvciBzZXR0aW5ncyBtYW5hZ2VtZW50LCBlcnJvciBoYW5kbGluZywgYW5kIG5vdGlmaWNhdGlvbnMuXG4gKlxuICogQHRlbXBsYXRlIFBsdWdpblNldHRpbmdzIC0gVGhlIHR5cGUgcmVwcmVzZW50aW5nIHRoZSBwbHVnaW4gc2V0dGluZ3Mgb2JqZWN0LlxuICovXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgUGx1Z2luQmFzZTxQbHVnaW5TZXR0aW5ncyBleHRlbmRzIG9iamVjdD4gZXh0ZW5kcyBQbHVnaW4ge1xuICBwcml2YXRlIF9zZXR0aW5ncyE6IFBsdWdpblNldHRpbmdzO1xuICBwcml2YXRlIG5vdGljZT86IE5vdGljZTtcbiAgcHJpdmF0ZSBfYWJvcnRTaWduYWwhOiBBYm9ydFNpZ25hbDtcblxuICAvKipcbiAgICogR2V0cyB0aGUgQWJvcnRTaWduYWwgdXNlZCBmb3IgYWJvcnRpbmcgYXN5bmNocm9ub3VzIG9wZXJhdGlvbnMuXG4gICAqXG4gICAqIEByZXR1cm5zIHtBYm9ydFNpZ25hbH0gVGhlIGFib3J0IHNpZ25hbC5cbiAgICovXG4gIHByb3RlY3RlZCBnZXQgYWJvcnRTaWduYWwoKTogQWJvcnRTaWduYWwge1xuICAgIHJldHVybiB0aGlzLl9hYm9ydFNpZ25hbDtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXRzIGEgY29weSBvZiB0aGUgY3VycmVudCBwbHVnaW4gc2V0dGluZ3MuXG4gICAqXG4gICAqIEByZXR1cm5zIHtQbHVnaW5TZXR0aW5nc30gQSBjb3B5IG9mIHRoZSBwbHVnaW4gc2V0dGluZ3MuXG4gICAqL1xuICBwdWJsaWMgZ2V0IHNldHRpbmdzQ29weSgpOiBQbHVnaW5TZXR0aW5ncyB7XG4gICAgcmV0dXJuIGNsb25lUGx1Z2luU2V0dGluZ3ModGhpcy5jcmVhdGVEZWZhdWx0UGx1Z2luU2V0dGluZ3MsIHRoaXMuc2V0dGluZ3MpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldHMgdGhlIHBsdWdpbiBzZXR0aW5ncy5cbiAgICpcbiAgICogQHJldHVybnMgVGhlIHBsdWdpbiBzZXR0aW5ncy5cbiAgICovXG4gIHByb3RlY3RlZCBnZXQgc2V0dGluZ3MoKTogUGx1Z2luU2V0dGluZ3Mge1xuICAgIHJldHVybiB0aGlzLl9zZXR0aW5ncztcbiAgfVxuXG4gIC8qKlxuICAgKiBDcmVhdGVzIHRoZSBkZWZhdWx0IHBsdWdpbiBzZXR0aW5ncy4gVGhpcyBtZXRob2QgbXVzdCBiZSBpbXBsZW1lbnRlZCBieSBzdWJjbGFzc2VzLlxuICAgKlxuICAgKiBAcmV0dXJucyB7UGx1Z2luU2V0dGluZ3N9IFRoZSBkZWZhdWx0IHBsdWdpbiBzZXR0aW5ncy5cbiAgICovXG4gIHByb3RlY3RlZCBhYnN0cmFjdCBjcmVhdGVEZWZhdWx0UGx1Z2luU2V0dGluZ3ModGhpczogdm9pZCk6IFBsdWdpblNldHRpbmdzO1xuXG4gIC8qKlxuICAgKiBDcmVhdGVzIGEgcGx1Z2luIHNldHRpbmdzIHRhYi4gVGhpcyBtZXRob2QgbXVzdCBiZSBpbXBsZW1lbnRlZCBieSBzdWJjbGFzc2VzLlxuICAgKlxuICAgKiBAcmV0dXJucyB7UGx1Z2luU2V0dGluZ1RhYiB8IG51bGx9IFRoZSBzZXR0aW5ncyB0YWIgb3IgbnVsbCBpZiBub3QgYXBwbGljYWJsZS5cbiAgICovXG4gIHByb3RlY3RlZCBhYnN0cmFjdCBjcmVhdGVQbHVnaW5TZXR0aW5nc1RhYigpOiBQbHVnaW5TZXR0aW5nVGFiIHwgbnVsbDtcblxuICAvKipcbiAgICogQ2FsbGVkIHdoZW4gdGhlIHBsdWdpbiBpcyBsb2FkZWQuIEhhbmRsZXMgbG9hZGluZyBzZXR0aW5ncywgYWRkaW5nIGEgc2V0dGluZ3MgdGFiLCByZWdpc3RlcmluZyBlcnJvciBoYW5kbGVycyxcbiAgICogYW5kIGluaXRpYWxpemluZyB0aGUgcGx1Z2luLlxuICAgKlxuICAgKiBAcmV0dXJucyB7UHJvbWlzZTx2b2lkPn0gQSBwcm9taXNlIHRoYXQgcmVzb2x2ZXMgd2hlbiB0aGUgcGx1Z2luIGlzIGZ1bGx5IGxvYWRlZC5cbiAgICovXG4gIHB1YmxpYyBvdmVycmlkZSBhc3luYyBvbmxvYWQoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgYXdhaXQgdGhpcy5sb2FkU2V0dGluZ3MoKTtcbiAgICBjb25zdCBwbHVnaW5TZXR0aW5nc1RhYiA9IHRoaXMuY3JlYXRlUGx1Z2luU2V0dGluZ3NUYWIoKTtcbiAgICBpZiAocGx1Z2luU2V0dGluZ3NUYWIpIHtcbiAgICAgIHRoaXMuYWRkU2V0dGluZ1RhYihwbHVnaW5TZXR0aW5nc1RhYik7XG4gICAgfVxuICAgIHRoaXMucmVnaXN0ZXIocmVnaXN0ZXJBc3luY0Vycm9yRXZlbnRIYW5kbGVyKCgpID0+IHtcbiAgICAgIHRoaXMuc2hvd05vdGljZShcIkFuIHVuaGFuZGxlZCBlcnJvciBvY2N1cnJlZC4gUGxlYXNlIGNoZWNrIHRoZSBjb25zb2xlIGZvciBtb3JlIGluZm9ybWF0aW9uLlwiKTtcbiAgICB9KSk7XG5cbiAgICBjb25zdCBhYm9ydENvbnRyb2xsZXIgPSBuZXcgQWJvcnRDb250cm9sbGVyKCk7XG4gICAgdGhpcy5fYWJvcnRTaWduYWwgPSBhYm9ydENvbnRyb2xsZXIuc2lnbmFsO1xuICAgIHRoaXMucmVnaXN0ZXIoKCkgPT4gYWJvcnRDb250cm9sbGVyLmFib3J0KCkpO1xuICAgIGF3YWl0IHRoaXMub25sb2FkQ29tcGxldGUoKTtcbiAgICB0aGlzLmFwcC53b3Jrc3BhY2Uub25MYXlvdXRSZWFkeSgoKSA9PiB0aGlzLm9uTGF5b3V0UmVhZHkoKSk7XG4gIH1cblxuICAvKipcbiAgICogQ2FsbGVkIHdoZW4gdGhlIHBsdWdpbiBsb2FkaW5nIGlzIGNvbXBsZXRlLiBUaGlzIG1ldGhvZCBtdXN0IGJlIGltcGxlbWVudGVkIGJ5IHN1YmNsYXNzZXMgdG8gcGVyZm9ybVxuICAgKiBhbnkgYWRkaXRpb25hbCBzZXR1cCByZXF1aXJlZCBhZnRlciBsb2FkaW5nIGlzIGNvbXBsZXRlLlxuICAgKlxuICAgKiBAcmV0dXJucyB7UHJvbWlzZTx2b2lkPn0gQSBwcm9taXNlIHRoYXQgcmVzb2x2ZXMgd2hlbiBsb2FkaW5nIGlzIGNvbXBsZXRlLlxuICAgKi9cbiAgcHJvdGVjdGVkIGFic3RyYWN0IG9ubG9hZENvbXBsZXRlKCk6IFByb21pc2U8dm9pZD47XG5cbiAgLyoqXG4gICAqIENhbGxlZCB3aGVuIHRoZSBsYXlvdXQgaXMgcmVhZHkuIFRoaXMgbWV0aG9kIGNhbiBiZSBvdmVycmlkZGVuIGJ5IHN1YmNsYXNzZXMgdG8gcGVyZm9ybSBhY3Rpb25zIG9uY2VcbiAgICogdGhlIGxheW91dCBpcyByZWFkeS5cbiAgICovXG4gIHByb3RlY3RlZCBvbkxheW91dFJlYWR5KCk6IHZvaWQgeyB9XG5cbiAgLyoqXG4gICAqIExvYWRzIHRoZSBwbHVnaW4gc2V0dGluZ3MgZnJvbSB0aGUgc2F2ZWQgZGF0YS5cbiAgICpcbiAgICogQHJldHVybnMge1Byb21pc2U8dm9pZD59IEEgcHJvbWlzZSB0aGF0IHJlc29sdmVzIHdoZW4gdGhlIHNldHRpbmdzIGFyZSBsb2FkZWQuXG4gICAqL1xuICBwcml2YXRlIGFzeW5jIGxvYWRTZXR0aW5ncygpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBjb25zdCBkYXRhID0gYXdhaXQgdGhpcy5sb2FkRGF0YSgpIGFzIHVua25vd247XG4gICAgdGhpcy5fc2V0dGluZ3MgPSBhd2FpdCB0aGlzLnBhcnNlU2V0dGluZ3MoZGF0YSk7XG4gIH1cblxuICAvKipcbiAgICogUGFyc2VzIHRoZSBzZXR0aW5ncyBkYXRhIGFuZCByZXR1cm5zIGEgUGx1Z2luU2V0dGluZ3Mgb2JqZWN0LlxuICAgKlxuICAgKiBAcGFyYW0ge3Vua25vd259IGRhdGEgLSBUaGUgcmF3IHNldHRpbmdzIGRhdGEuXG4gICAqIEByZXR1cm5zIHtQcm9taXNlPFBsdWdpblNldHRpbmdzPn0gQSBwcm9taXNlIHRoYXQgcmVzb2x2ZXMgd2l0aCB0aGUgcGFyc2VkIHNldHRpbmdzLlxuICAgKi9cbiAgcHJvdGVjdGVkIGFzeW5jIHBhcnNlU2V0dGluZ3MoZGF0YTogdW5rbm93bik6IFByb21pc2U8UGx1Z2luU2V0dGluZ3M+IHtcbiAgICByZXR1cm4gYXdhaXQgUHJvbWlzZS5yZXNvbHZlKGxvYWRQbHVnaW5TZXR0aW5ncyh0aGlzLmNyZWF0ZURlZmF1bHRQbHVnaW5TZXR0aW5ncywgZGF0YSkpO1xuICB9XG5cbiAgLyoqXG4gICAqIFNhdmVzIHRoZSBuZXcgcGx1Z2luIHNldHRpbmdzLlxuICAgKlxuICAgKiBAcGFyYW0ge1BsdWdpblNldHRpbmdzfSBuZXdTZXR0aW5ncyAtIFRoZSBuZXcgc2V0dGluZ3MgdG8gc2F2ZS5cbiAgICogQHJldHVybnMge1Byb21pc2U8dm9pZD59IEEgcHJvbWlzZSB0aGF0IHJlc29sdmVzIHdoZW4gdGhlIHNldHRpbmdzIGFyZSBzYXZlZC5cbiAgICovXG4gIHB1YmxpYyBhc3luYyBzYXZlU2V0dGluZ3MobmV3U2V0dGluZ3M6IFBsdWdpblNldHRpbmdzKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgdGhpcy5fc2V0dGluZ3MgPSBjbG9uZVBsdWdpblNldHRpbmdzKHRoaXMuY3JlYXRlRGVmYXVsdFBsdWdpblNldHRpbmdzLCBuZXdTZXR0aW5ncyk7XG4gICAgYXdhaXQgdGhpcy5zYXZlRGF0YSh0aGlzLnNldHRpbmdzKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBEaXNwbGF5cyBhIG5vdGljZSBtZXNzYWdlIHRvIHRoZSB1c2VyLlxuICAgKlxuICAgKiBAcGFyYW0ge3N0cmluZ30gbWVzc2FnZSAtIFRoZSBtZXNzYWdlIHRvIGRpc3BsYXkuXG4gICAqL1xuICBwcm90ZWN0ZWQgc2hvd05vdGljZShtZXNzYWdlOiBzdHJpbmcpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5ub3RpY2UpIHtcbiAgICAgIHRoaXMubm90aWNlLmhpZGUoKTtcbiAgICB9XG5cbiAgICB0aGlzLm5vdGljZSA9IG5ldyBOb3RpY2UoYCR7dGhpcy5tYW5pZmVzdC5uYW1lfVxcbiR7bWVzc2FnZX1gKTtcbiAgfVxufVxuIl0sCiAgIm1hcHBpbmdzIjogIjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBY0Esc0JBSU87QUFDUCxtQkFBK0M7QUFDL0MsNEJBR087QUF2QlAsTUFBTSxvQkFBb0IsV0FBVyxpQkFBaUIsTUFBTSxNQUFJLFFBQVEsVUFBVSxFQUFFLGNBQWMsVUFBVSxHQUFHO0FBQy9HLE1BQU0sWUFBWSxXQUFXLFNBQVMsS0FBSztBQUFBLEVBQ3pDLE9BQU8sTUFBSTtBQUFBLEVBQ1gsT0FBTyxDQUFDO0FBQUEsRUFDUixZQUFZO0FBQ2Q7QUF5Qk8sTUFBZSxtQkFBa0QsdUJBQU87QUFBQSxFQUNyRTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBT1IsSUFBYyxjQUEyQjtBQUN2QyxXQUFPLEtBQUs7QUFBQSxFQUNkO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBT0EsSUFBVyxlQUErQjtBQUN4QyxlQUFPLDJDQUFvQixLQUFLLDZCQUE2QixLQUFLLFFBQVE7QUFBQSxFQUM1RTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQU9BLElBQWMsV0FBMkI7QUFDdkMsV0FBTyxLQUFLO0FBQUEsRUFDZDtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBc0JBLE1BQXNCLFNBQXdCO0FBQzVDLFVBQU0sS0FBSyxhQUFhO0FBQ3hCLFVBQU0sb0JBQW9CLEtBQUssd0JBQXdCO0FBQ3ZELFFBQUksbUJBQW1CO0FBQ3JCLFdBQUssY0FBYyxpQkFBaUI7QUFBQSxJQUN0QztBQUNBLFNBQUssYUFBUyw2Q0FBK0IsTUFBTTtBQUNqRCxXQUFLLFdBQVcsNkVBQTZFO0FBQUEsSUFDL0YsQ0FBQyxDQUFDO0FBRUYsVUFBTSxrQkFBa0IsSUFBSSxnQkFBZ0I7QUFDNUMsU0FBSyxlQUFlLGdCQUFnQjtBQUNwQyxTQUFLLFNBQVMsTUFBTSxnQkFBZ0IsTUFBTSxDQUFDO0FBQzNDLFVBQU0sS0FBSyxlQUFlO0FBQzFCLFNBQUssSUFBSSxVQUFVLGNBQWMsTUFBTSxLQUFLLGNBQWMsQ0FBQztBQUFBLEVBQzdEO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQWNVLGdCQUFzQjtBQUFBLEVBQUU7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFPbEMsTUFBYyxlQUE4QjtBQUMxQyxVQUFNLE9BQU8sTUFBTSxLQUFLLFNBQVM7QUFDakMsU0FBSyxZQUFZLE1BQU0sS0FBSyxjQUFjLElBQUk7QUFBQSxFQUNoRDtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBUUEsTUFBZ0IsY0FBYyxNQUF3QztBQUNwRSxXQUFPLE1BQU0sUUFBUSxZQUFRLDBDQUFtQixLQUFLLDZCQUE2QixJQUFJLENBQUM7QUFBQSxFQUN6RjtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBUUEsTUFBYSxhQUFhLGFBQTRDO0FBQ3BFLFNBQUssZ0JBQVksMkNBQW9CLEtBQUssNkJBQTZCLFdBQVc7QUFDbEYsVUFBTSxLQUFLLFNBQVMsS0FBSyxRQUFRO0FBQUEsRUFDbkM7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFPVSxXQUFXLFNBQXVCO0FBQzFDLFFBQUksS0FBSyxRQUFRO0FBQ2YsV0FBSyxPQUFPLEtBQUs7QUFBQSxJQUNuQjtBQUVBLFNBQUssU0FBUyxJQUFJLHVCQUFPLEdBQUcsS0FBSyxTQUFTLElBQUk7QUFBQSxFQUFLLE9BQU8sRUFBRTtBQUFBLEVBQzlEO0FBQ0Y7IiwKICAibmFtZXMiOiBbXQp9Cg==
139
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vc3JjL29ic2lkaWFuL1BsdWdpbi9QbHVnaW5CYXNlLnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyJjb25zdCBfX2ltcG9ydF9tZXRhX3VybCA9IGdsb2JhbFRoaXNbXCJpbXBvcnQubWV0YS51cmxcIl0gPz8gKCgpPT5yZXF1aXJlKFwibm9kZTp1cmxcIikucGF0aFRvRmlsZVVSTChfX2ZpbGVuYW1lKSkoKTtcbmNvbnN0IF9fcHJvY2VzcyA9IGdsb2JhbFRoaXNbXCJwcm9jZXNzXCJdID8/IHtcbiAgXCJjd2RcIjogKCk9PlwiL1wiLFxuICBcImVudlwiOiB7fSxcbiAgXCJwbGF0Zm9ybVwiOiBcImFuZHJvaWRcIlxufTtcbi8qKlxuICogQGZpbGUgQmFzZSBjbGFzcyBmb3IgT2JzaWRpYW4gcGx1Z2lucyBwcm92aWRpbmcgdXRpbGl0eSBtZXRob2RzIGZvciBzZXR0aW5ncyBtYW5hZ2VtZW50LCBlcnJvciBoYW5kbGluZywgYW5kIG5vdGlmaWNhdGlvbnMuXG4gKlxuICogVGhpcyBjbGFzcyBzaW1wbGlmaWVzIHRoZSBwcm9jZXNzIG9mIG1hbmFnaW5nIHBsdWdpbiBzZXR0aW5ncywgZGlzcGxheWluZyBub3RpZmljYXRpb25zLCBhbmQgaGFuZGxpbmcgZXJyb3JzLlxuICogU3ViY2xhc3NlcyBzaG91bGQgaW1wbGVtZW50IG1ldGhvZHMgdG8gY3JlYXRlIGRlZmF1bHQgc2V0dGluZ3MgYW5kIHNldHRpbmdzIHRhYnMsIGFuZCBjb21wbGV0ZSBwbHVnaW4tc3BlY2lmaWNcbiAqIGxvYWRpbmcgdGFza3MuXG4gKi9cblxuaW1wb3J0IHtcbiAgTm90aWNlLFxuICBQbHVnaW4sXG4gIFBsdWdpblNldHRpbmdUYWJcbn0gZnJvbSBcIm9ic2lkaWFuXCI7XG5pbXBvcnQgeyByZWdpc3RlckFzeW5jRXJyb3JFdmVudEhhbmRsZXIgfSBmcm9tIFwiLi4vLi4vRXJyb3IudHNcIjtcbmltcG9ydCB7XG4gIGxvYWRQbHVnaW5TZXR0aW5ncyxcbiAgY2xvbmVQbHVnaW5TZXR0aW5nc1xufSBmcm9tIFwiLi9QbHVnaW5TZXR0aW5ncy50c1wiO1xuaW1wb3J0IHR5cGUgeyBNYXliZVByb21pc2UgfSBmcm9tIFwiLi4vLi4vQXN5bmMudHNcIjtcblxuLyoqXG4gKiBCYXNlIGNsYXNzIGZvciBjcmVhdGluZyBPYnNpZGlhbiBwbHVnaW5zIHdpdGggYnVpbHQtaW4gc3VwcG9ydCBmb3Igc2V0dGluZ3MgbWFuYWdlbWVudCwgZXJyb3IgaGFuZGxpbmcsIGFuZCBub3RpZmljYXRpb25zLlxuICpcbiAqIEB0ZW1wbGF0ZSBQbHVnaW5TZXR0aW5ncyAtIFRoZSB0eXBlIHJlcHJlc2VudGluZyB0aGUgcGx1Z2luIHNldHRpbmdzIG9iamVjdC5cbiAqL1xuZXhwb3J0IGFic3RyYWN0IGNsYXNzIFBsdWdpbkJhc2U8UGx1Z2luU2V0dGluZ3MgZXh0ZW5kcyBvYmplY3Q+IGV4dGVuZHMgUGx1Z2luIHtcbiAgcHJpdmF0ZSBfc2V0dGluZ3MhOiBQbHVnaW5TZXR0aW5ncztcbiAgcHJpdmF0ZSBub3RpY2U/OiBOb3RpY2U7XG4gIHByaXZhdGUgX2Fib3J0U2lnbmFsITogQWJvcnRTaWduYWw7XG5cbiAgLyoqXG4gICAqIEdldHMgdGhlIEFib3J0U2lnbmFsIHVzZWQgZm9yIGFib3J0aW5nIGFzeW5jaHJvbm91cyBvcGVyYXRpb25zLlxuICAgKlxuICAgKiBAcmV0dXJucyB7QWJvcnRTaWduYWx9IFRoZSBhYm9ydCBzaWduYWwuXG4gICAqL1xuICBwcm90ZWN0ZWQgZ2V0IGFib3J0U2lnbmFsKCk6IEFib3J0U2lnbmFsIHtcbiAgICByZXR1cm4gdGhpcy5fYWJvcnRTaWduYWw7XG4gIH1cblxuICAvKipcbiAgICogR2V0cyBhIGNvcHkgb2YgdGhlIGN1cnJlbnQgcGx1Z2luIHNldHRpbmdzLlxuICAgKlxuICAgKiBAcmV0dXJucyB7UGx1Z2luU2V0dGluZ3N9IEEgY29weSBvZiB0aGUgcGx1Z2luIHNldHRpbmdzLlxuICAgKi9cbiAgcHVibGljIGdldCBzZXR0aW5nc0NvcHkoKTogUGx1Z2luU2V0dGluZ3Mge1xuICAgIHJldHVybiBjbG9uZVBsdWdpblNldHRpbmdzKHRoaXMuY3JlYXRlRGVmYXVsdFBsdWdpblNldHRpbmdzLCB0aGlzLnNldHRpbmdzKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXRzIHRoZSBwbHVnaW4gc2V0dGluZ3MuXG4gICAqXG4gICAqIEByZXR1cm5zIFRoZSBwbHVnaW4gc2V0dGluZ3MuXG4gICAqL1xuICBwcm90ZWN0ZWQgZ2V0IHNldHRpbmdzKCk6IFBsdWdpblNldHRpbmdzIHtcbiAgICByZXR1cm4gdGhpcy5fc2V0dGluZ3M7XG4gIH1cblxuICAvKipcbiAgICogQ3JlYXRlcyB0aGUgZGVmYXVsdCBwbHVnaW4gc2V0dGluZ3MuIFRoaXMgbWV0aG9kIG11c3QgYmUgaW1wbGVtZW50ZWQgYnkgc3ViY2xhc3Nlcy5cbiAgICpcbiAgICogQHJldHVybnMge1BsdWdpblNldHRpbmdzfSBUaGUgZGVmYXVsdCBwbHVnaW4gc2V0dGluZ3MuXG4gICAqL1xuICBwcm90ZWN0ZWQgYWJzdHJhY3QgY3JlYXRlRGVmYXVsdFBsdWdpblNldHRpbmdzKHRoaXM6IHZvaWQpOiBQbHVnaW5TZXR0aW5ncztcblxuICAvKipcbiAgICogQ3JlYXRlcyBhIHBsdWdpbiBzZXR0aW5ncyB0YWIuIFRoaXMgbWV0aG9kIG11c3QgYmUgaW1wbGVtZW50ZWQgYnkgc3ViY2xhc3Nlcy5cbiAgICpcbiAgICogQHJldHVybnMge1BsdWdpblNldHRpbmdUYWIgfCBudWxsfSBUaGUgc2V0dGluZ3MgdGFiIG9yIG51bGwgaWYgbm90IGFwcGxpY2FibGUuXG4gICAqL1xuICBwcm90ZWN0ZWQgYWJzdHJhY3QgY3JlYXRlUGx1Z2luU2V0dGluZ3NUYWIoKTogUGx1Z2luU2V0dGluZ1RhYiB8IG51bGw7XG5cbiAgLyoqXG4gICAqIENhbGxlZCB3aGVuIHRoZSBwbHVnaW4gaXMgbG9hZGVkLiBIYW5kbGVzIGxvYWRpbmcgc2V0dGluZ3MsIGFkZGluZyBhIHNldHRpbmdzIHRhYiwgcmVnaXN0ZXJpbmcgZXJyb3IgaGFuZGxlcnMsXG4gICAqIGFuZCBpbml0aWFsaXppbmcgdGhlIHBsdWdpbi5cbiAgICpcbiAgICogQHJldHVybnMge1Byb21pc2U8dm9pZD59IEEgcHJvbWlzZSB0aGF0IHJlc29sdmVzIHdoZW4gdGhlIHBsdWdpbiBpcyBmdWxseSBsb2FkZWQuXG4gICAqL1xuICBwdWJsaWMgb3ZlcnJpZGUgYXN5bmMgb25sb2FkKCk6IFByb21pc2U8dm9pZD4ge1xuICAgIGF3YWl0IHRoaXMubG9hZFNldHRpbmdzKCk7XG4gICAgY29uc3QgcGx1Z2luU2V0dGluZ3NUYWIgPSB0aGlzLmNyZWF0ZVBsdWdpblNldHRpbmdzVGFiKCk7XG4gICAgaWYgKHBsdWdpblNldHRpbmdzVGFiKSB7XG4gICAgICB0aGlzLmFkZFNldHRpbmdUYWIocGx1Z2luU2V0dGluZ3NUYWIpO1xuICAgIH1cbiAgICB0aGlzLnJlZ2lzdGVyKHJlZ2lzdGVyQXN5bmNFcnJvckV2ZW50SGFuZGxlcigoKSA9PiB7XG4gICAgICB0aGlzLnNob3dOb3RpY2UoXCJBbiB1bmhhbmRsZWQgZXJyb3Igb2NjdXJyZWQuIFBsZWFzZSBjaGVjayB0aGUgY29uc29sZSBmb3IgbW9yZSBpbmZvcm1hdGlvbi5cIik7XG4gICAgfSkpO1xuXG4gICAgY29uc3QgYWJvcnRDb250cm9sbGVyID0gbmV3IEFib3J0Q29udHJvbGxlcigpO1xuICAgIHRoaXMuX2Fib3J0U2lnbmFsID0gYWJvcnRDb250cm9sbGVyLnNpZ25hbDtcbiAgICB0aGlzLnJlZ2lzdGVyKCgpID0+IGFib3J0Q29udHJvbGxlci5hYm9ydCgpKTtcbiAgICBhd2FpdCB0aGlzLm9ubG9hZENvbXBsZXRlKCk7XG4gICAgdGhpcy5hcHAud29ya3NwYWNlLm9uTGF5b3V0UmVhZHkoKCkgPT4gdGhpcy5vbkxheW91dFJlYWR5KCkpO1xuICB9XG5cbiAgLyoqXG4gICAqIENhbGxlZCB3aGVuIHRoZSBwbHVnaW4gbG9hZGluZyBpcyBjb21wbGV0ZS4gVGhpcyBtZXRob2QgbXVzdCBiZSBpbXBsZW1lbnRlZCBieSBzdWJjbGFzc2VzIHRvIHBlcmZvcm1cbiAgICogYW55IGFkZGl0aW9uYWwgc2V0dXAgcmVxdWlyZWQgYWZ0ZXIgbG9hZGluZyBpcyBjb21wbGV0ZS5cbiAgICpcbiAgICogQHJldHVybnMge01heWJlUHJvbWlzZTx2b2lkPn0gQSBwcm9taXNlIG9yIHZvaWQgaW5kaWNhdGluZyB0aGUgY29tcGxldGlvbiBvZiB0aGUgbG9hZCBwcm9jZXNzLlxuICAgKi9cbiAgcHJvdGVjdGVkIGFic3RyYWN0IG9ubG9hZENvbXBsZXRlKCk6IE1heWJlUHJvbWlzZTx2b2lkPjtcblxuICAvKipcbiAgICogQ2FsbGVkIHdoZW4gdGhlIGxheW91dCBpcyByZWFkeS4gVGhpcyBtZXRob2QgY2FuIGJlIG92ZXJyaWRkZW4gYnkgc3ViY2xhc3NlcyB0byBwZXJmb3JtIGFjdGlvbnMgb25jZVxuICAgKiB0aGUgbGF5b3V0IGlzIHJlYWR5LlxuICAgKi9cbiAgcHJvdGVjdGVkIG9uTGF5b3V0UmVhZHkoKTogdm9pZCB7IH1cblxuICAvKipcbiAgICogTG9hZHMgdGhlIHBsdWdpbiBzZXR0aW5ncyBmcm9tIHRoZSBzYXZlZCBkYXRhLlxuICAgKlxuICAgKiBAcmV0dXJucyB7UHJvbWlzZTx2b2lkPn0gQSBwcm9taXNlIHRoYXQgcmVzb2x2ZXMgd2hlbiB0aGUgc2V0dGluZ3MgYXJlIGxvYWRlZC5cbiAgICovXG4gIHByaXZhdGUgYXN5bmMgbG9hZFNldHRpbmdzKCk6IFByb21pc2U8dm9pZD4ge1xuICAgIGNvbnN0IGRhdGEgPSBhd2FpdCB0aGlzLmxvYWREYXRhKCkgYXMgdW5rbm93bjtcbiAgICB0aGlzLl9zZXR0aW5ncyA9IGF3YWl0IHRoaXMucGFyc2VTZXR0aW5ncyhkYXRhKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBQYXJzZXMgdGhlIHByb3ZpZGVkIHNldHRpbmdzIGRhdGEgYW5kIHJldHVybnMgdGhlIHBhcnNlZCBgUGx1Z2luU2V0dGluZ3NgLlxuICAgKlxuICAgKiBAcHJvdGVjdGVkXG4gICAqIEBwYXJhbSB7dW5rbm93bn0gZGF0YSAtIFRoZSByYXcgZGF0YSB0byBiZSBwYXJzZWQgaW50byBgUGx1Z2luU2V0dGluZ3NgLlxuICAgKiBAcmV0dXJucyB7TWF5YmVQcm9taXNlPFBsdWdpblNldHRpbmdzPn0gQSBwcm9taXNlIHRoYXQgcmVzb2x2ZXMgdG8gYFBsdWdpblNldHRpbmdzYCBvciB0aGUgc2V0dGluZ3MgZGlyZWN0bHkuXG4gICAqL1xuICBwcm90ZWN0ZWQgcGFyc2VTZXR0aW5ncyhkYXRhOiB1bmtub3duKTogTWF5YmVQcm9taXNlPFBsdWdpblNldHRpbmdzPiB7XG4gICAgcmV0dXJuIGxvYWRQbHVnaW5TZXR0aW5ncyh0aGlzLmNyZWF0ZURlZmF1bHRQbHVnaW5TZXR0aW5ncywgZGF0YSk7XG4gIH1cblxuICAvKipcbiAgICogU2F2ZXMgdGhlIG5ldyBwbHVnaW4gc2V0dGluZ3MuXG4gICAqXG4gICAqIEBwYXJhbSB7UGx1Z2luU2V0dGluZ3N9IG5ld1NldHRpbmdzIC0gVGhlIG5ldyBzZXR0aW5ncyB0byBzYXZlLlxuICAgKiBAcmV0dXJucyB7UHJvbWlzZTx2b2lkPn0gQSBwcm9taXNlIHRoYXQgcmVzb2x2ZXMgd2hlbiB0aGUgc2V0dGluZ3MgYXJlIHNhdmVkLlxuICAgKi9cbiAgcHVibGljIGFzeW5jIHNhdmVTZXR0aW5ncyhuZXdTZXR0aW5nczogUGx1Z2luU2V0dGluZ3MpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICB0aGlzLl9zZXR0aW5ncyA9IGNsb25lUGx1Z2luU2V0dGluZ3ModGhpcy5jcmVhdGVEZWZhdWx0UGx1Z2luU2V0dGluZ3MsIG5ld1NldHRpbmdzKTtcbiAgICBhd2FpdCB0aGlzLnNhdmVEYXRhKHRoaXMuc2V0dGluZ3MpO1xuICB9XG5cbiAgLyoqXG4gICAqIERpc3BsYXlzIGEgbm90aWNlIG1lc3NhZ2UgdG8gdGhlIHVzZXIuXG4gICAqXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBtZXNzYWdlIC0gVGhlIG1lc3NhZ2UgdG8gZGlzcGxheS5cbiAgICovXG4gIHByb3RlY3RlZCBzaG93Tm90aWNlKG1lc3NhZ2U6IHN0cmluZyk6IHZvaWQge1xuICAgIGlmICh0aGlzLm5vdGljZSkge1xuICAgICAgdGhpcy5ub3RpY2UuaGlkZSgpO1xuICAgIH1cblxuICAgIHRoaXMubm90aWNlID0gbmV3IE5vdGljZShgJHt0aGlzLm1hbmlmZXN0Lm5hbWV9XFxuJHttZXNzYWdlfWApO1xuICB9XG59XG4iXSwKICAibWFwcGluZ3MiOiAiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFjQSxzQkFJTztBQUNQLG1CQUErQztBQUMvQyw0QkFHTztBQXZCUCxNQUFNLG9CQUFvQixXQUFXLGlCQUFpQixNQUFNLE1BQUksUUFBUSxVQUFVLEVBQUUsY0FBYyxVQUFVLEdBQUc7QUFDL0csTUFBTSxZQUFZLFdBQVcsU0FBUyxLQUFLO0FBQUEsRUFDekMsT0FBTyxNQUFJO0FBQUEsRUFDWCxPQUFPLENBQUM7QUFBQSxFQUNSLFlBQVk7QUFDZDtBQTBCTyxNQUFlLG1CQUFrRCx1QkFBTztBQUFBLEVBQ3JFO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFPUixJQUFjLGNBQTJCO0FBQ3ZDLFdBQU8sS0FBSztBQUFBLEVBQ2Q7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFPQSxJQUFXLGVBQStCO0FBQ3hDLGVBQU8sMkNBQW9CLEtBQUssNkJBQTZCLEtBQUssUUFBUTtBQUFBLEVBQzVFO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBT0EsSUFBYyxXQUEyQjtBQUN2QyxXQUFPLEtBQUs7QUFBQSxFQUNkO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFzQkEsTUFBc0IsU0FBd0I7QUFDNUMsVUFBTSxLQUFLLGFBQWE7QUFDeEIsVUFBTSxvQkFBb0IsS0FBSyx3QkFBd0I7QUFDdkQsUUFBSSxtQkFBbUI7QUFDckIsV0FBSyxjQUFjLGlCQUFpQjtBQUFBLElBQ3RDO0FBQ0EsU0FBSyxhQUFTLDZDQUErQixNQUFNO0FBQ2pELFdBQUssV0FBVyw2RUFBNkU7QUFBQSxJQUMvRixDQUFDLENBQUM7QUFFRixVQUFNLGtCQUFrQixJQUFJLGdCQUFnQjtBQUM1QyxTQUFLLGVBQWUsZ0JBQWdCO0FBQ3BDLFNBQUssU0FBUyxNQUFNLGdCQUFnQixNQUFNLENBQUM7QUFDM0MsVUFBTSxLQUFLLGVBQWU7QUFDMUIsU0FBSyxJQUFJLFVBQVUsY0FBYyxNQUFNLEtBQUssY0FBYyxDQUFDO0FBQUEsRUFDN0Q7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBY1UsZ0JBQXNCO0FBQUEsRUFBRTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQU9sQyxNQUFjLGVBQThCO0FBQzFDLFVBQU0sT0FBTyxNQUFNLEtBQUssU0FBUztBQUNqQyxTQUFLLFlBQVksTUFBTSxLQUFLLGNBQWMsSUFBSTtBQUFBLEVBQ2hEO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQVNVLGNBQWMsTUFBNkM7QUFDbkUsZUFBTywwQ0FBbUIsS0FBSyw2QkFBNkIsSUFBSTtBQUFBLEVBQ2xFO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFRQSxNQUFhLGFBQWEsYUFBNEM7QUFDcEUsU0FBSyxnQkFBWSwyQ0FBb0IsS0FBSyw2QkFBNkIsV0FBVztBQUNsRixVQUFNLEtBQUssU0FBUyxLQUFLLFFBQVE7QUFBQSxFQUNuQztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQU9VLFdBQVcsU0FBdUI7QUFDMUMsUUFBSSxLQUFLLFFBQVE7QUFDZixXQUFLLE9BQU8sS0FBSztBQUFBLElBQ25CO0FBRUEsU0FBSyxTQUFTLElBQUksdUJBQU8sR0FBRyxLQUFLLFNBQVMsSUFBSTtBQUFBLEVBQUssT0FBTyxFQUFFO0FBQUEsRUFDOUQ7QUFDRjsiLAogICJuYW1lcyI6IFtdCn0K
@@ -6,6 +6,7 @@
6
6
  * loading tasks.
7
7
  */
8
8
  import { Plugin, PluginSettingTab } from "obsidian";
9
+ import type { MaybePromise } from "../../Async.ts";
9
10
  /**
10
11
  * Base class for creating Obsidian plugins with built-in support for settings management, error handling, and notifications.
11
12
  *
@@ -56,9 +57,9 @@ export declare abstract class PluginBase<PluginSettings extends object> extends
56
57
  * Called when the plugin loading is complete. This method must be implemented by subclasses to perform
57
58
  * any additional setup required after loading is complete.
58
59
  *
59
- * @returns {Promise<void>} A promise that resolves when loading is complete.
60
+ * @returns {MaybePromise<void>} A promise or void indicating the completion of the load process.
60
61
  */
61
- protected abstract onloadComplete(): Promise<void>;
62
+ protected abstract onloadComplete(): MaybePromise<void>;
62
63
  /**
63
64
  * Called when the layout is ready. This method can be overridden by subclasses to perform actions once
64
65
  * the layout is ready.
@@ -71,12 +72,13 @@ export declare abstract class PluginBase<PluginSettings extends object> extends
71
72
  */
72
73
  private loadSettings;
73
74
  /**
74
- * Parses the settings data and returns a PluginSettings object.
75
+ * Parses the provided settings data and returns the parsed `PluginSettings`.
75
76
  *
76
- * @param {unknown} data - The raw settings data.
77
- * @returns {Promise<PluginSettings>} A promise that resolves with the parsed settings.
77
+ * @protected
78
+ * @param {unknown} data - The raw data to be parsed into `PluginSettings`.
79
+ * @returns {MaybePromise<PluginSettings>} A promise that resolves to `PluginSettings` or the settings directly.
78
80
  */
79
- protected parseSettings(data: unknown): Promise<PluginSettings>;
81
+ protected parseSettings(data: unknown): MaybePromise<PluginSettings>;
80
82
  /**
81
83
  * Saves the new plugin settings.
82
84
  *
@@ -45,26 +45,26 @@ class PluginSettingsTabBase extends import_obsidian.PluginSettingTab {
45
45
  this.plugin = plugin;
46
46
  }
47
47
  /**
48
- * Binds a value component to a plugin setting property.
48
+ * Internal implementation of `bindValueComponent` that handles both overloads.
49
49
  *
50
- * @template TValueComponent - The type of the value component.
51
- * @template Property - The type of the plugin setting property.
52
- * @template PropertyType - The type of the plugin setting property value.
50
+ * @typeParam TValueComponent - The type of the value component extending `ValueComponent`.
51
+ * @typeParam Property - The key of the plugin setting that the component is bound to.
52
+ * @typeParam UIValueType - The inferred type of the UI value based on the value component's type.
53
53
  *
54
- * @param valueComponent - The value component to bind.
55
- * @param property - The plugin setting property to bind the value component to.
56
- * @param options - Additional options for binding.
57
- * @param options.autoSave - Whether to automatically save the settings when the value changes. Default is true.
58
- * @param options.settingToUIValueConverter - A function to convert the setting value to the UI value. Default is identity function.
59
- * @param options.uiToSettingValueConverter - A function to convert the UI value to the setting value. Default is identity function.
54
+ * @param valueComponent - The component that will display and interact with the setting value.
55
+ * @param property - The property key in `PluginSettings` to bind to the component.
56
+ * @param options - Configuration options.
57
+ * @param options.autoSave - If true, saves the plugin settings automatically after the component value changes.
58
+ * @param options.settingToUIValueConverter - A function that converts the setting value to the value used by the UI component.
59
+ * @param options.uiToSettingValueConverter - A function that converts the UI component's value back to the setting value.
60
60
  *
61
- * @returns The bound value component.
61
+ * @returns The `TValueComponent` instance that was bound to the property.
62
62
  */
63
63
  bindValueComponent(valueComponent, property, {
64
- autoSave = true,
65
- settingToUIValueConverter = (value) => value,
66
- uiToSettingValueConverter = (value) => value
67
- } = {}) {
64
+ autoSave,
65
+ settingToUIValueConverter,
66
+ uiToSettingValueConverter
67
+ }) {
68
68
  const pluginSettings = this.plugin.settingsCopy;
69
69
  valueComponent.setValue(settingToUIValueConverter(pluginSettings[property])).onChange(async (newValue) => {
70
70
  pluginSettings[property] = uiToSettingValueConverter(newValue);
@@ -79,4 +79,4 @@ class PluginSettingsTabBase extends import_obsidian.PluginSettingTab {
79
79
  0 && (module.exports = {
80
80
  PluginSettingsTabBase
81
81
  });
82
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vc3JjL29ic2lkaWFuL1BsdWdpbi9QbHVnaW5TZXR0aW5nc1RhYkJhc2UudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbImNvbnN0IF9faW1wb3J0X21ldGFfdXJsID0gZ2xvYmFsVGhpc1tcImltcG9ydC5tZXRhLnVybFwiXSA/PyAoKCk9PnJlcXVpcmUoXCJub2RlOnVybFwiKS5wYXRoVG9GaWxlVVJMKF9fZmlsZW5hbWUpKSgpO1xuY29uc3QgX19wcm9jZXNzID0gZ2xvYmFsVGhpc1tcInByb2Nlc3NcIl0gPz8ge1xuICBcImN3ZFwiOiAoKT0+XCIvXCIsXG4gIFwiZW52XCI6IHt9LFxuICBcInBsYXRmb3JtXCI6IFwiYW5kcm9pZFwiXG59O1xuLyoqXG4gKiBAZmlsZSBUaGlzIG1vZHVsZSBkZWZpbmVzIGEgYmFzZSBjbGFzcyBmb3IgY3JlYXRpbmcgcGx1Z2luIHNldHRpbmcgdGFicyBpbiBPYnNpZGlhbi5cbiAqIEl0IHByb3ZpZGVzIGEgdXRpbGl0eSBtZXRob2QgdG8gYmluZCB2YWx1ZSBjb21wb25lbnRzIHRvIHBsdWdpbiBzZXR0aW5ncyBhbmQgaGFuZGxlIGNoYW5nZXMuXG4gKi9cblxuaW1wb3J0IHsgUGx1Z2luU2V0dGluZ1RhYiB9IGZyb20gXCJvYnNpZGlhblwiO1xuaW1wb3J0IHsgUGx1Z2luQmFzZSB9IGZyb20gXCIuL1BsdWdpbkJhc2UudHNcIjtcbmltcG9ydCB0eXBlIHsgS2V5c01hdGNoaW5nIH0gZnJvbSBcIi4uLy4uL0B0eXBlcy50c1wiO1xuXG5pbnRlcmZhY2UgVmFsdWVDb21wb25lbnQ8VD4ge1xuICBzZXRWYWx1ZSh2YWx1ZTogVCk6IHRoaXM7XG4gIG9uQ2hhbmdlKGNhbGxiYWNrOiAobmV3VmFsdWU6IFQpID0+IFByb21pc2U8dm9pZD4pOiB0aGlzO1xufVxuXG4vKipcbiAqIEJhc2UgY2xhc3MgZm9yIGNyZWF0aW5nIHBsdWdpbiBzZXR0aW5ncyB0YWJzIGluIE9ic2lkaWFuLlxuICogUHJvdmlkZXMgYSBtZXRob2QgZm9yIGJpbmRpbmcgdmFsdWUgY29tcG9uZW50cyB0byBwbHVnaW4gc2V0dGluZ3MgYW5kIGhhbmRsaW5nIGNoYW5nZXMuXG4gKlxuICogQHRlbXBsYXRlIFRQbHVnaW4gLSBUaGUgdHlwZSBvZiB0aGUgcGx1Z2luIHRoYXQgZXh0ZW5kcyBQbHVnaW5CYXNlLlxuICogQHRlbXBsYXRlIFBsdWdpblNldHRpbmdzIC0gVGhlIHR5cGUgb2YgdGhlIHBsdWdpbiBzZXR0aW5ncyBvYmplY3QuXG4gKi9cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBQbHVnaW5TZXR0aW5nc1RhYkJhc2U8XG4gIFRQbHVnaW4gZXh0ZW5kcyBQbHVnaW5CYXNlPFBsdWdpblNldHRpbmdzPixcbiAgUGx1Z2luU2V0dGluZ3MgZXh0ZW5kcyBvYmplY3Rcbj4gZXh0ZW5kcyBQbHVnaW5TZXR0aW5nVGFiIHtcbiAgLyoqXG4gICAqIENyZWF0ZXMgYW4gaW5zdGFuY2Ugb2YgUGx1Z2luU2V0dGluZ3NUYWJCYXNlLlxuICAgKlxuICAgKiBAcGFyYW0ge1RQbHVnaW59IHBsdWdpbiAtIFRoZSBwbHVnaW4gaW5zdGFuY2UgdG8gd2hpY2ggdGhpcyBzZXR0aW5ncyB0YWIgYmVsb25ncy5cbiAgICovXG4gIHB1YmxpYyBjb25zdHJ1Y3RvcihwdWJsaWMgb3ZlcnJpZGUgcGx1Z2luOiBUUGx1Z2luKSB7XG4gICAgc3VwZXIocGx1Z2luLmFwcCwgcGx1Z2luKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBCaW5kcyBhIHZhbHVlIGNvbXBvbmVudCB0byBhIHBsdWdpbiBzZXR0aW5nIHByb3BlcnR5LlxuICAgKlxuICAgKiBAdGVtcGxhdGUgVFZhbHVlQ29tcG9uZW50IC0gVGhlIHR5cGUgb2YgdGhlIHZhbHVlIGNvbXBvbmVudC5cbiAgICogQHRlbXBsYXRlIFByb3BlcnR5IC0gVGhlIHR5cGUgb2YgdGhlIHBsdWdpbiBzZXR0aW5nIHByb3BlcnR5LlxuICAgKiBAdGVtcGxhdGUgUHJvcGVydHlUeXBlIC0gVGhlIHR5cGUgb2YgdGhlIHBsdWdpbiBzZXR0aW5nIHByb3BlcnR5IHZhbHVlLlxuICAgKlxuICAgKiBAcGFyYW0gdmFsdWVDb21wb25lbnQgLSBUaGUgdmFsdWUgY29tcG9uZW50IHRvIGJpbmQuXG4gICAqIEBwYXJhbSBwcm9wZXJ0eSAtIFRoZSBwbHVnaW4gc2V0dGluZyBwcm9wZXJ0eSB0byBiaW5kIHRoZSB2YWx1ZSBjb21wb25lbnQgdG8uXG4gICAqIEBwYXJhbSBvcHRpb25zIC0gQWRkaXRpb25hbCBvcHRpb25zIGZvciBiaW5kaW5nLlxuICAgKiBAcGFyYW0gb3B0aW9ucy5hdXRvU2F2ZSAtIFdoZXRoZXIgdG8gYXV0b21hdGljYWxseSBzYXZlIHRoZSBzZXR0aW5ncyB3aGVuIHRoZSB2YWx1ZSBjaGFuZ2VzLiBEZWZhdWx0IGlzIHRydWUuXG4gICAqIEBwYXJhbSBvcHRpb25zLnNldHRpbmdUb1VJVmFsdWVDb252ZXJ0ZXIgLSBBIGZ1bmN0aW9uIHRvIGNvbnZlcnQgdGhlIHNldHRpbmcgdmFsdWUgdG8gdGhlIFVJIHZhbHVlLiBEZWZhdWx0IGlzIGlkZW50aXR5IGZ1bmN0aW9uLlxuICAgKiBAcGFyYW0gb3B0aW9ucy51aVRvU2V0dGluZ1ZhbHVlQ29udmVydGVyIC0gQSBmdW5jdGlvbiB0byBjb252ZXJ0IHRoZSBVSSB2YWx1ZSB0byB0aGUgc2V0dGluZyB2YWx1ZS4gRGVmYXVsdCBpcyBpZGVudGl0eSBmdW5jdGlvbi5cbiAgICpcbiAgICogQHJldHVybnMgVGhlIGJvdW5kIHZhbHVlIGNvbXBvbmVudC5cbiAgICovXG4gIHByb3RlY3RlZCBiaW5kVmFsdWVDb21wb25lbnQ8XG4gICAgVFZhbHVlQ29tcG9uZW50IGV4dGVuZHMgVmFsdWVDb21wb25lbnQ8dW5rbm93bj4sXG4gICAgUHJvcGVydHkgZXh0ZW5kcyBLZXlzTWF0Y2hpbmc8UGx1Z2luU2V0dGluZ3MsIFByb3BlcnR5VHlwZT4sXG4gICAgUHJvcGVydHlUeXBlID0gVFZhbHVlQ29tcG9uZW50IGV4dGVuZHMgVmFsdWVDb21wb25lbnQ8aW5mZXIgUD4gPyBQIDogbmV2ZXIsXG4gID4oXG4gICAgdmFsdWVDb21wb25lbnQ6IFRWYWx1ZUNvbXBvbmVudCxcbiAgICBwcm9wZXJ0eTogUHJvcGVydHksXG4gICAge1xuICAgICAgYXV0b1NhdmUgPSB0cnVlLFxuICAgICAgc2V0dGluZ1RvVUlWYWx1ZUNvbnZlcnRlciA9ICh2YWx1ZSk6IFBsdWdpblNldHRpbmdzW1Byb3BlcnR5XSA9PiB2YWx1ZSxcbiAgICAgIHVpVG9TZXR0aW5nVmFsdWVDb252ZXJ0ZXIgPSAodmFsdWUpOiBQbHVnaW5TZXR0aW5nc1tQcm9wZXJ0eV0gPT4gdmFsdWVcbiAgICB9OiB7XG4gICAgICBhdXRvU2F2ZT86IGJvb2xlYW5cbiAgICAgIHNldHRpbmdUb1VJVmFsdWVDb252ZXJ0ZXI/OiAodmFsdWU6IFBsdWdpblNldHRpbmdzW1Byb3BlcnR5XSkgPT4gUGx1Z2luU2V0dGluZ3NbUHJvcGVydHldLFxuICAgICAgdWlUb1NldHRpbmdWYWx1ZUNvbnZlcnRlcj86ICh2YWx1ZTogUGx1Z2luU2V0dGluZ3NbUHJvcGVydHldKSA9PiBQbHVnaW5TZXR0aW5nc1tQcm9wZXJ0eV1cbiAgICB9ID0ge31cbiAgKTogVFZhbHVlQ29tcG9uZW50IHtcbiAgICBjb25zdCBwbHVnaW5TZXR0aW5ncyA9IHRoaXMucGx1Z2luLnNldHRpbmdzQ29weTtcbiAgICB2YWx1ZUNvbXBvbmVudFxuICAgICAgLnNldFZhbHVlKHNldHRpbmdUb1VJVmFsdWVDb252ZXJ0ZXIocGx1Z2luU2V0dGluZ3NbcHJvcGVydHldKSlcbiAgICAgIC5vbkNoYW5nZShhc3luYyAobmV3VmFsdWUpID0+IHtcbiAgICAgICAgcGx1Z2luU2V0dGluZ3NbcHJvcGVydHldID0gdWlUb1NldHRpbmdWYWx1ZUNvbnZlcnRlcihuZXdWYWx1ZSBhcyBQbHVnaW5TZXR0aW5nc1tQcm9wZXJ0eV0pO1xuICAgICAgICBpZiAoYXV0b1NhdmUpIHtcbiAgICAgICAgICBhd2FpdCB0aGlzLnBsdWdpbi5zYXZlU2V0dGluZ3MocGx1Z2luU2V0dGluZ3MpO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICByZXR1cm4gdmFsdWVDb21wb25lbnQ7XG4gIH1cbn1cbiJdLAogICJtYXBwaW5ncyI6ICI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQVdBLHNCQUFpQztBQUNqQyx3QkFBMkI7QUFaM0IsTUFBTSxvQkFBb0IsV0FBVyxpQkFBaUIsTUFBTSxNQUFJLFFBQVEsVUFBVSxFQUFFLGNBQWMsVUFBVSxHQUFHO0FBQy9HLE1BQU0sWUFBWSxXQUFXLFNBQVMsS0FBSztBQUFBLEVBQ3pDLE9BQU8sTUFBSTtBQUFBLEVBQ1gsT0FBTyxDQUFDO0FBQUEsRUFDUixZQUFZO0FBQ2Q7QUFzQk8sTUFBZSw4QkFHWixpQ0FBaUI7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFNbEIsWUFBNEIsUUFBaUI7QUFDbEQsVUFBTSxPQUFPLEtBQUssTUFBTTtBQURTO0FBQUEsRUFFbkM7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBa0JVLG1CQUtSLGdCQUNBLFVBQ0E7QUFBQSxJQUNFLFdBQVc7QUFBQSxJQUNYLDRCQUE0QixDQUFDLFVBQW9DO0FBQUEsSUFDakUsNEJBQTRCLENBQUMsVUFBb0M7QUFBQSxFQUNuRSxJQUlJLENBQUMsR0FDWTtBQUNqQixVQUFNLGlCQUFpQixLQUFLLE9BQU87QUFDbkMsbUJBQ0csU0FBUywwQkFBMEIsZUFBZSxRQUFRLENBQUMsQ0FBQyxFQUM1RCxTQUFTLE9BQU8sYUFBYTtBQUM1QixxQkFBZSxRQUFRLElBQUksMEJBQTBCLFFBQW9DO0FBQ3pGLFVBQUksVUFBVTtBQUNaLGNBQU0sS0FBSyxPQUFPLGFBQWEsY0FBYztBQUFBLE1BQy9DO0FBQUEsSUFDRixDQUFDO0FBQ0gsV0FBTztBQUFBLEVBQ1Q7QUFDRjsiLAogICJuYW1lcyI6IFtdCn0K
82
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vc3JjL29ic2lkaWFuL1BsdWdpbi9QbHVnaW5TZXR0aW5nc1RhYkJhc2UudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbImNvbnN0IF9faW1wb3J0X21ldGFfdXJsID0gZ2xvYmFsVGhpc1tcImltcG9ydC5tZXRhLnVybFwiXSA/PyAoKCk9PnJlcXVpcmUoXCJub2RlOnVybFwiKS5wYXRoVG9GaWxlVVJMKF9fZmlsZW5hbWUpKSgpO1xuY29uc3QgX19wcm9jZXNzID0gZ2xvYmFsVGhpc1tcInByb2Nlc3NcIl0gPz8ge1xuICBcImN3ZFwiOiAoKT0+XCIvXCIsXG4gIFwiZW52XCI6IHt9LFxuICBcInBsYXRmb3JtXCI6IFwiYW5kcm9pZFwiXG59O1xuLyoqXG4gKiBAZmlsZSBUaGlzIG1vZHVsZSBkZWZpbmVzIGEgYmFzZSBjbGFzcyBmb3IgY3JlYXRpbmcgcGx1Z2luIHNldHRpbmcgdGFicyBpbiBPYnNpZGlhbi5cbiAqIEl0IHByb3ZpZGVzIGEgdXRpbGl0eSBtZXRob2QgdG8gYmluZCB2YWx1ZSBjb21wb25lbnRzIHRvIHBsdWdpbiBzZXR0aW5ncyBhbmQgaGFuZGxlIGNoYW5nZXMuXG4gKi9cblxuaW1wb3J0IHsgUGx1Z2luU2V0dGluZ1RhYiB9IGZyb20gXCJvYnNpZGlhblwiO1xuaW1wb3J0IHsgUGx1Z2luQmFzZSB9IGZyb20gXCIuL1BsdWdpbkJhc2UudHNcIjtcbmltcG9ydCB0eXBlIHsgS2V5c01hdGNoaW5nIH0gZnJvbSBcIi4uLy4uL0B0eXBlcy50c1wiO1xuXG5pbnRlcmZhY2UgVmFsdWVDb21wb25lbnQ8VD4ge1xuICBzZXRWYWx1ZSh2YWx1ZTogVCk6IHRoaXM7XG4gIG9uQ2hhbmdlKGNhbGxiYWNrOiAobmV3VmFsdWU6IFQpID0+IFByb21pc2U8dm9pZD4pOiB0aGlzO1xufVxuXG4vKipcbiAqIEJhc2UgY2xhc3MgZm9yIGNyZWF0aW5nIHBsdWdpbiBzZXR0aW5ncyB0YWJzIGluIE9ic2lkaWFuLlxuICogUHJvdmlkZXMgYSBtZXRob2QgZm9yIGJpbmRpbmcgdmFsdWUgY29tcG9uZW50cyB0byBwbHVnaW4gc2V0dGluZ3MgYW5kIGhhbmRsaW5nIGNoYW5nZXMuXG4gKlxuICogQHRlbXBsYXRlIFRQbHVnaW4gLSBUaGUgdHlwZSBvZiB0aGUgcGx1Z2luIHRoYXQgZXh0ZW5kcyBQbHVnaW5CYXNlLlxuICogQHRlbXBsYXRlIFBsdWdpblNldHRpbmdzIC0gVGhlIHR5cGUgb2YgdGhlIHBsdWdpbiBzZXR0aW5ncyBvYmplY3QuXG4gKi9cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBQbHVnaW5TZXR0aW5nc1RhYkJhc2U8XG4gIFRQbHVnaW4gZXh0ZW5kcyBQbHVnaW5CYXNlPFBsdWdpblNldHRpbmdzPixcbiAgUGx1Z2luU2V0dGluZ3MgZXh0ZW5kcyBvYmplY3Rcbj4gZXh0ZW5kcyBQbHVnaW5TZXR0aW5nVGFiIHtcbiAgLyoqXG4gICAqIENyZWF0ZXMgYW4gaW5zdGFuY2Ugb2YgUGx1Z2luU2V0dGluZ3NUYWJCYXNlLlxuICAgKlxuICAgKiBAcGFyYW0ge1RQbHVnaW59IHBsdWdpbiAtIFRoZSBwbHVnaW4gaW5zdGFuY2UgdG8gd2hpY2ggdGhpcyBzZXR0aW5ncyB0YWIgYmVsb25ncy5cbiAgICovXG4gIHB1YmxpYyBjb25zdHJ1Y3RvcihwdWJsaWMgb3ZlcnJpZGUgcGx1Z2luOiBUUGx1Z2luKSB7XG4gICAgc3VwZXIocGx1Z2luLmFwcCwgcGx1Z2luKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBCaW5kcyBhIHZhbHVlIGNvbXBvbmVudCB0byBhIHByb3BlcnR5IGluIHRoZSBwbHVnaW4gc2V0dGluZ3Mgd2l0aCBvcHRpb25hbCBhdXRvbWF0aWMgc2F2aW5nIGFuZCB2YWx1ZSBjb252ZXJzaW9uLlxuICAgKlxuICAgKiBAdHlwZVBhcmFtIFRWYWx1ZUNvbXBvbmVudCAtIFRoZSB0eXBlIG9mIHRoZSB2YWx1ZSBjb21wb25lbnQgZXh0ZW5kaW5nIGBWYWx1ZUNvbXBvbmVudGAuXG4gICAqIEB0eXBlUGFyYW0gUHJvcGVydHkgLSBUaGUga2V5IG9mIHRoZSBwbHVnaW4gc2V0dGluZyB0aGF0IHRoZSBjb21wb25lbnQgaXMgYm91bmQgdG8uXG4gICAqIEB0eXBlUGFyYW0gUHJvcGVydHlUeXBlIC0gVGhlIGluZmVycmVkIHR5cGUgb2YgdGhlIHByb3BlcnR5IGJhc2VkIG9uIHRoZSB2YWx1ZSBjb21wb25lbnQncyB0eXBlLlxuICAgKlxuICAgKiBAcGFyYW0gdmFsdWVDb21wb25lbnQgLSBUaGUgY29tcG9uZW50IHRoYXQgd2lsbCBkaXNwbGF5IGFuZCBpbnRlcmFjdCB3aXRoIHRoZSBzZXR0aW5nIHZhbHVlLlxuICAgKiBAcGFyYW0gcHJvcGVydHkgLSBUaGUgcHJvcGVydHkga2V5IGluIGBQbHVnaW5TZXR0aW5nc2AgdG8gYmluZCB0byB0aGUgY29tcG9uZW50LlxuICAgKiBAcGFyYW0gb3B0aW9ucyAtIENvbmZpZ3VyYXRpb24gb3B0aW9ucy5cbiAgICogQHBhcmFtIG9wdGlvbnMuYXV0b1NhdmUgLSBJZiB0cnVlLCBzYXZlcyB0aGUgcGx1Z2luIHNldHRpbmdzIGF1dG9tYXRpY2FsbHkgYWZ0ZXIgdGhlIGNvbXBvbmVudCB2YWx1ZSBjaGFuZ2VzLlxuICAgKlxuICAgKiBAcmV0dXJucyBUaGUgYFRWYWx1ZUNvbXBvbmVudGAgaW5zdGFuY2UgdGhhdCB3YXMgYm91bmQgdG8gdGhlIHByb3BlcnR5LlxuICAgKi9cbiAgcHJvdGVjdGVkIGJpbmRWYWx1ZUNvbXBvbmVudDxcbiAgICBUVmFsdWVDb21wb25lbnQgZXh0ZW5kcyBWYWx1ZUNvbXBvbmVudDx1bmtub3duPixcbiAgICBQcm9wZXJ0eSBleHRlbmRzIEtleXNNYXRjaGluZzxQbHVnaW5TZXR0aW5ncywgVUlWYWx1ZVR5cGU+LFxuICAgIFVJVmFsdWVUeXBlID0gVFZhbHVlQ29tcG9uZW50IGV4dGVuZHMgVmFsdWVDb21wb25lbnQ8aW5mZXIgUD4gPyBQIDogbmV2ZXIsXG4gID4oXG4gICAgdmFsdWVDb21wb25lbnQ6IFRWYWx1ZUNvbXBvbmVudCxcbiAgICBwcm9wZXJ0eTogUHJvcGVydHksXG4gICAgb3B0aW9ucz86IHtcbiAgICAgIGF1dG9TYXZlPzogYm9vbGVhblxuICAgIH1cbiAgKTogVFZhbHVlQ29tcG9uZW50O1xuXG4gIC8qKlxuICAgKiBCaW5kcyBhIHZhbHVlIGNvbXBvbmVudCB0byBhIHByb3BlcnR5IGluIHRoZSBwbHVnaW4gc2V0dGluZ3Mgd2l0aCBhdXRvbWF0aWMgc2F2aW5nIGFuZCBjdXN0b20gdmFsdWUgY29udmVyc2lvbi5cbiAgICpcbiAgICogQHR5cGVQYXJhbSBUVmFsdWVDb21wb25lbnQgLSBUaGUgdHlwZSBvZiB0aGUgdmFsdWUgY29tcG9uZW50IGV4dGVuZGluZyBgVmFsdWVDb21wb25lbnRgLlxuICAgKiBAdHlwZVBhcmFtIFByb3BlcnR5IC0gVGhlIGtleSBvZiB0aGUgcGx1Z2luIHNldHRpbmcgdGhhdCB0aGUgY29tcG9uZW50IGlzIGJvdW5kIHRvLlxuICAgKiBAdHlwZVBhcmFtIFVJVmFsdWVUeXBlIC0gVGhlIGluZmVycmVkIHR5cGUgb2YgdGhlIFVJIHZhbHVlIGJhc2VkIG9uIHRoZSB2YWx1ZSBjb21wb25lbnQncyB0eXBlLlxuICAgKlxuICAgKiBAcGFyYW0gdmFsdWVDb21wb25lbnQgLSBUaGUgY29tcG9uZW50IHRoYXQgd2lsbCBkaXNwbGF5IGFuZCBpbnRlcmFjdCB3aXRoIHRoZSBzZXR0aW5nIHZhbHVlLlxuICAgKiBAcGFyYW0gcHJvcGVydHkgLSBUaGUgcHJvcGVydHkga2V5IGluIGBQbHVnaW5TZXR0aW5nc2AgdG8gYmluZCB0byB0aGUgY29tcG9uZW50LlxuICAgKiBAcGFyYW0gb3B0aW9ucyAtIENvbmZpZ3VyYXRpb24gb3B0aW9ucy5cbiAgICogQHBhcmFtIG9wdGlvbnMuYXV0b1NhdmUgLSBJZiB0cnVlLCBzYXZlcyB0aGUgcGx1Z2luIHNldHRpbmdzIGF1dG9tYXRpY2FsbHkgYWZ0ZXIgdGhlIGNvbXBvbmVudCB2YWx1ZSBjaGFuZ2VzLlxuICAgKiBAcGFyYW0gb3B0aW9ucy5zZXR0aW5nVG9VSVZhbHVlQ29udmVydGVyIC0gQSBmdW5jdGlvbiB0aGF0IGNvbnZlcnRzIHRoZSBzZXR0aW5nIHZhbHVlIHRvIHRoZSB2YWx1ZSB1c2VkIGJ5IHRoZSBVSSBjb21wb25lbnQuXG4gICAqIEBwYXJhbSBvcHRpb25zLnVpVG9TZXR0aW5nVmFsdWVDb252ZXJ0ZXIgLSBBIGZ1bmN0aW9uIHRoYXQgY29udmVydHMgdGhlIFVJIGNvbXBvbmVudCdzIHZhbHVlIGJhY2sgdG8gdGhlIHNldHRpbmcgdmFsdWUuXG4gICAqXG4gICAqIEByZXR1cm5zIFRoZSBgVFZhbHVlQ29tcG9uZW50YCBpbnN0YW5jZSB0aGF0IHdhcyBib3VuZCB0byB0aGUgcHJvcGVydHkuXG4gICAqL1xuICBwcm90ZWN0ZWQgYmluZFZhbHVlQ29tcG9uZW50PFxuICAgIFRWYWx1ZUNvbXBvbmVudCBleHRlbmRzIFZhbHVlQ29tcG9uZW50PHVua25vd24+LFxuICAgIFByb3BlcnR5IGV4dGVuZHMga2V5b2YgUGx1Z2luU2V0dGluZ3MsXG4gICAgVUlWYWx1ZVR5cGUgPSBUVmFsdWVDb21wb25lbnQgZXh0ZW5kcyBWYWx1ZUNvbXBvbmVudDxpbmZlciBQPiA/IFAgOiBuZXZlcixcbiAgPihcbiAgICB2YWx1ZUNvbXBvbmVudDogVFZhbHVlQ29tcG9uZW50LFxuICAgIHByb3BlcnR5OiBQcm9wZXJ0eSxcbiAgICBvcHRpb25zOiB7XG4gICAgICBhdXRvU2F2ZT86IGJvb2xlYW4sXG4gICAgICBzZXR0aW5nVG9VSVZhbHVlQ29udmVydGVyOiAocHJvcGVydHlWYWx1ZTogUGx1Z2luU2V0dGluZ3NbUHJvcGVydHldKSA9PiBVSVZhbHVlVHlwZSxcbiAgICAgIHVpVG9TZXR0aW5nVmFsdWVDb252ZXJ0ZXI6ICh1aVZhbHVlOiBVSVZhbHVlVHlwZSkgPT4gUGx1Z2luU2V0dGluZ3NbUHJvcGVydHldXG4gICAgfVxuICApOiBUVmFsdWVDb21wb25lbnQ7XG5cbiAgLyoqXG4gICAqIEludGVybmFsIGltcGxlbWVudGF0aW9uIG9mIGBiaW5kVmFsdWVDb21wb25lbnRgIHRoYXQgaGFuZGxlcyBib3RoIG92ZXJsb2Fkcy5cbiAgICpcbiAgICogQHR5cGVQYXJhbSBUVmFsdWVDb21wb25lbnQgLSBUaGUgdHlwZSBvZiB0aGUgdmFsdWUgY29tcG9uZW50IGV4dGVuZGluZyBgVmFsdWVDb21wb25lbnRgLlxuICAgKiBAdHlwZVBhcmFtIFByb3BlcnR5IC0gVGhlIGtleSBvZiB0aGUgcGx1Z2luIHNldHRpbmcgdGhhdCB0aGUgY29tcG9uZW50IGlzIGJvdW5kIHRvLlxuICAgKiBAdHlwZVBhcmFtIFVJVmFsdWVUeXBlIC0gVGhlIGluZmVycmVkIHR5cGUgb2YgdGhlIFVJIHZhbHVlIGJhc2VkIG9uIHRoZSB2YWx1ZSBjb21wb25lbnQncyB0eXBlLlxuICAgKlxuICAgKiBAcGFyYW0gdmFsdWVDb21wb25lbnQgLSBUaGUgY29tcG9uZW50IHRoYXQgd2lsbCBkaXNwbGF5IGFuZCBpbnRlcmFjdCB3aXRoIHRoZSBzZXR0aW5nIHZhbHVlLlxuICAgKiBAcGFyYW0gcHJvcGVydHkgLSBUaGUgcHJvcGVydHkga2V5IGluIGBQbHVnaW5TZXR0aW5nc2AgdG8gYmluZCB0byB0aGUgY29tcG9uZW50LlxuICAgKiBAcGFyYW0gb3B0aW9ucyAtIENvbmZpZ3VyYXRpb24gb3B0aW9ucy5cbiAgICogQHBhcmFtIG9wdGlvbnMuYXV0b1NhdmUgLSBJZiB0cnVlLCBzYXZlcyB0aGUgcGx1Z2luIHNldHRpbmdzIGF1dG9tYXRpY2FsbHkgYWZ0ZXIgdGhlIGNvbXBvbmVudCB2YWx1ZSBjaGFuZ2VzLlxuICAgKiBAcGFyYW0gb3B0aW9ucy5zZXR0aW5nVG9VSVZhbHVlQ29udmVydGVyIC0gQSBmdW5jdGlvbiB0aGF0IGNvbnZlcnRzIHRoZSBzZXR0aW5nIHZhbHVlIHRvIHRoZSB2YWx1ZSB1c2VkIGJ5IHRoZSBVSSBjb21wb25lbnQuXG4gICAqIEBwYXJhbSBvcHRpb25zLnVpVG9TZXR0aW5nVmFsdWVDb252ZXJ0ZXIgLSBBIGZ1bmN0aW9uIHRoYXQgY29udmVydHMgdGhlIFVJIGNvbXBvbmVudCdzIHZhbHVlIGJhY2sgdG8gdGhlIHNldHRpbmcgdmFsdWUuXG4gICAqXG4gICAqIEByZXR1cm5zIFRoZSBgVFZhbHVlQ29tcG9uZW50YCBpbnN0YW5jZSB0aGF0IHdhcyBib3VuZCB0byB0aGUgcHJvcGVydHkuXG4gICAqL1xuICBwcm90ZWN0ZWQgYmluZFZhbHVlQ29tcG9uZW50PFxuICAgIFRWYWx1ZUNvbXBvbmVudCBleHRlbmRzIFZhbHVlQ29tcG9uZW50PHVua25vd24+LFxuICAgIFByb3BlcnR5IGV4dGVuZHMga2V5b2YgUGx1Z2luU2V0dGluZ3MsXG4gICAgVUlWYWx1ZVR5cGUgPSBUVmFsdWVDb21wb25lbnQgZXh0ZW5kcyBWYWx1ZUNvbXBvbmVudDxpbmZlciBQPiA/IFAgOiBuZXZlcixcbiAgPihcbiAgICB2YWx1ZUNvbXBvbmVudDogVFZhbHVlQ29tcG9uZW50LFxuICAgIHByb3BlcnR5OiBQcm9wZXJ0eSxcbiAgICB7XG4gICAgICBhdXRvU2F2ZSxcbiAgICAgIHNldHRpbmdUb1VJVmFsdWVDb252ZXJ0ZXIsXG4gICAgICB1aVRvU2V0dGluZ1ZhbHVlQ29udmVydGVyXG4gICAgfToge1xuICAgICAgYXV0b1NhdmU/OiBib29sZWFuLFxuICAgICAgc2V0dGluZ1RvVUlWYWx1ZUNvbnZlcnRlcjogKHByb3BlcnR5VmFsdWU6IFBsdWdpblNldHRpbmdzW1Byb3BlcnR5XSkgPT4gVUlWYWx1ZVR5cGUsXG4gICAgICB1aVRvU2V0dGluZ1ZhbHVlQ29udmVydGVyOiAodWlWYWx1ZTogVUlWYWx1ZVR5cGUpID0+IFBsdWdpblNldHRpbmdzW1Byb3BlcnR5XVxuICAgIH1cbiAgKTogVFZhbHVlQ29tcG9uZW50IHtcbiAgICBjb25zdCBwbHVnaW5TZXR0aW5ncyA9IHRoaXMucGx1Z2luLnNldHRpbmdzQ29weTtcbiAgICAodmFsdWVDb21wb25lbnQgYXMgVmFsdWVDb21wb25lbnQ8VUlWYWx1ZVR5cGU+KVxuICAgICAgLnNldFZhbHVlKHNldHRpbmdUb1VJVmFsdWVDb252ZXJ0ZXIocGx1Z2luU2V0dGluZ3NbcHJvcGVydHldKSlcbiAgICAgIC5vbkNoYW5nZShhc3luYyAobmV3VmFsdWUpID0+IHtcbiAgICAgICAgcGx1Z2luU2V0dGluZ3NbcHJvcGVydHldID0gdWlUb1NldHRpbmdWYWx1ZUNvbnZlcnRlcihuZXdWYWx1ZSk7XG4gICAgICAgIGlmIChhdXRvU2F2ZSkge1xuICAgICAgICAgIGF3YWl0IHRoaXMucGx1Z2luLnNhdmVTZXR0aW5ncyhwbHVnaW5TZXR0aW5ncyk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIHJldHVybiB2YWx1ZUNvbXBvbmVudDtcbiAgfVxufVxuIl0sCiAgIm1hcHBpbmdzIjogIjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBV0Esc0JBQWlDO0FBQ2pDLHdCQUEyQjtBQVozQixNQUFNLG9CQUFvQixXQUFXLGlCQUFpQixNQUFNLE1BQUksUUFBUSxVQUFVLEVBQUUsY0FBYyxVQUFVLEdBQUc7QUFDL0csTUFBTSxZQUFZLFdBQVcsU0FBUyxLQUFLO0FBQUEsRUFDekMsT0FBTyxNQUFJO0FBQUEsRUFDWCxPQUFPLENBQUM7QUFBQSxFQUNSLFlBQVk7QUFDZDtBQXNCTyxNQUFlLDhCQUdaLGlDQUFpQjtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQU1sQixZQUE0QixRQUFpQjtBQUNsRCxVQUFNLE9BQU8sS0FBSyxNQUFNO0FBRFM7QUFBQSxFQUVuQztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUEwRVUsbUJBS1IsZ0JBQ0EsVUFDQTtBQUFBLElBQ0U7QUFBQSxJQUNBO0FBQUEsSUFDQTtBQUFBLEVBQ0YsR0FLaUI7QUFDakIsVUFBTSxpQkFBaUIsS0FBSyxPQUFPO0FBQ25DLElBQUMsZUFDRSxTQUFTLDBCQUEwQixlQUFlLFFBQVEsQ0FBQyxDQUFDLEVBQzVELFNBQVMsT0FBTyxhQUFhO0FBQzVCLHFCQUFlLFFBQVEsSUFBSSwwQkFBMEIsUUFBUTtBQUM3RCxVQUFJLFVBQVU7QUFDWixjQUFNLEtBQUssT0FBTyxhQUFhLGNBQWM7QUFBQSxNQUMvQztBQUFBLElBQ0YsQ0FBQztBQUNILFdBQU87QUFBQSxFQUNUO0FBQ0Y7IiwKICAibmFtZXMiOiBbXQp9Cg==
@@ -25,25 +25,42 @@ export declare abstract class PluginSettingsTabBase<TPlugin extends PluginBase<P
25
25
  */
26
26
  constructor(plugin: TPlugin);
27
27
  /**
28
- * Binds a value component to a plugin setting property.
28
+ * Binds a value component to a property in the plugin settings with optional automatic saving and value conversion.
29
29
  *
30
- * @template TValueComponent - The type of the value component.
31
- * @template Property - The type of the plugin setting property.
32
- * @template PropertyType - The type of the plugin setting property value.
30
+ * @typeParam TValueComponent - The type of the value component extending `ValueComponent`.
31
+ * @typeParam Property - The key of the plugin setting that the component is bound to.
32
+ * @typeParam PropertyType - The inferred type of the property based on the value component's type.
33
33
  *
34
- * @param valueComponent - The value component to bind.
35
- * @param property - The plugin setting property to bind the value component to.
36
- * @param options - Additional options for binding.
37
- * @param options.autoSave - Whether to automatically save the settings when the value changes. Default is true.
38
- * @param options.settingToUIValueConverter - A function to convert the setting value to the UI value. Default is identity function.
39
- * @param options.uiToSettingValueConverter - A function to convert the UI value to the setting value. Default is identity function.
34
+ * @param valueComponent - The component that will display and interact with the setting value.
35
+ * @param property - The property key in `PluginSettings` to bind to the component.
36
+ * @param options - Configuration options.
37
+ * @param options.autoSave - If true, saves the plugin settings automatically after the component value changes.
40
38
  *
41
- * @returns The bound value component.
39
+ * @returns The `TValueComponent` instance that was bound to the property.
42
40
  */
43
- protected bindValueComponent<TValueComponent extends ValueComponent<unknown>, Property extends KeysMatching<PluginSettings, PropertyType>, PropertyType = TValueComponent extends ValueComponent<infer P> ? P : never>(valueComponent: TValueComponent, property: Property, { autoSave, settingToUIValueConverter, uiToSettingValueConverter }?: {
41
+ protected bindValueComponent<TValueComponent extends ValueComponent<unknown>, Property extends KeysMatching<PluginSettings, UIValueType>, UIValueType = TValueComponent extends ValueComponent<infer P> ? P : never>(valueComponent: TValueComponent, property: Property, options?: {
44
42
  autoSave?: boolean;
45
- settingToUIValueConverter?: (value: PluginSettings[Property]) => PluginSettings[Property];
46
- uiToSettingValueConverter?: (value: PluginSettings[Property]) => PluginSettings[Property];
43
+ }): TValueComponent;
44
+ /**
45
+ * Binds a value component to a property in the plugin settings with automatic saving and custom value conversion.
46
+ *
47
+ * @typeParam TValueComponent - The type of the value component extending `ValueComponent`.
48
+ * @typeParam Property - The key of the plugin setting that the component is bound to.
49
+ * @typeParam UIValueType - The inferred type of the UI value based on the value component's type.
50
+ *
51
+ * @param valueComponent - The component that will display and interact with the setting value.
52
+ * @param property - The property key in `PluginSettings` to bind to the component.
53
+ * @param options - Configuration options.
54
+ * @param options.autoSave - If true, saves the plugin settings automatically after the component value changes.
55
+ * @param options.settingToUIValueConverter - A function that converts the setting value to the value used by the UI component.
56
+ * @param options.uiToSettingValueConverter - A function that converts the UI component's value back to the setting value.
57
+ *
58
+ * @returns The `TValueComponent` instance that was bound to the property.
59
+ */
60
+ protected bindValueComponent<TValueComponent extends ValueComponent<unknown>, Property extends keyof PluginSettings, UIValueType = TValueComponent extends ValueComponent<infer P> ? P : never>(valueComponent: TValueComponent, property: Property, options: {
61
+ autoSave?: boolean;
62
+ settingToUIValueConverter: (propertyValue: PluginSettings[Property]) => UIValueType;
63
+ uiToSettingValueConverter: (uiValue: UIValueType) => PluginSettings[Property];
47
64
  }): TValueComponent;
48
65
  }
49
66
  export {};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "obsidian-dev-utils",
3
- "version": "1.7.0",
3
+ "version": "1.7.2",
4
4
  "description": "This is the collection of useful functions that you can use for your Obsidian plugin development",
5
5
  "main": "./dist/lib/index.cjs",
6
6
  "types": "./dist/lib/index.d.ts",
@@ -43,7 +43,6 @@
43
43
  "@types/luxon": "^3.4.2",
44
44
  "@types/node": "^22.2.0",
45
45
  "@types/parsimmon": "^1.10.9",
46
- "@types/path-browserify": "^1.0.2",
47
46
  "@typescript-eslint/eslint-plugin": "^7.16.1",
48
47
  "builtin-modules": "^4.0.0",
49
48
  "commander": "^12.1.0",
@@ -62,6 +61,7 @@
62
61
  "typescript": "^5.5.4"
63
62
  },
64
63
  "dependencies": {
64
+ "@types/path-browserify": "^1.0.2",
65
65
  "@typescript-eslint/parser": "^7.16.1",
66
66
  "adm-zip": "^0.5.15",
67
67
  "cspell": "^8.13.2",