obsidian-dev-utils 2.16.0 → 2.17.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +9 -0
- package/dist/lib/@types/compare-versions.d.ts +1 -1
- package/dist/lib/@types.cjs +1 -1
- package/dist/lib/@types.d.ts +5 -5
- package/dist/lib/Async.cjs +1 -1
- package/dist/lib/Async.d.ts +12 -12
- package/dist/lib/Blob.cjs +1 -1
- package/dist/lib/Blob.d.ts +1 -1
- package/dist/lib/CodeGenerator.cjs +1 -1
- package/dist/lib/CodeGenerator.d.ts +1 -1
- package/dist/lib/DocumentFragment.cjs +1 -1
- package/dist/lib/DocumentFragment.d.ts +1 -1
- package/dist/lib/Error.cjs +1 -1
- package/dist/lib/Error.d.ts +1 -1
- package/dist/lib/Fs.cjs +1 -1
- package/dist/lib/Fs.d.ts +1 -1
- package/dist/lib/JSON.cjs +10 -8
- package/dist/lib/JSON.d.ts +28 -14
- package/dist/lib/Npm.cjs +11 -9
- package/dist/lib/Npm.d.ts +19 -13
- package/dist/lib/Object.cjs +1 -1
- package/dist/lib/Object.d.ts +3 -3
- package/dist/lib/Path.cjs +10 -10
- package/dist/lib/Path.d.ts +75 -10
- package/dist/lib/RegExp.cjs +1 -1
- package/dist/lib/RegExp.d.ts +1 -1
- package/dist/lib/Root.cjs +9 -8
- package/dist/lib/Root.d.ts +57 -24
- package/dist/lib/String.cjs +1 -1
- package/dist/lib/String.d.ts +2 -2
- package/dist/lib/ValueProvider.cjs +1 -1
- package/dist/lib/ValueProvider.d.ts +5 -5
- package/dist/lib/bin/ESLint/@types/@guardian__eslint-plugin-tsdoc-required.d.ts +10 -0
- package/dist/lib/bin/ESLint/@types/@stylistic__eslint-plugin.d.ts +1 -1
- package/dist/lib/bin/ESLint/@types/@typescript-eslint__eslint-plugin.d.ts +1 -1
- package/dist/lib/bin/ESLint/@types/@typescript-eslint__parser.d.ts +1 -1
- package/dist/lib/bin/ESLint/@types/eslint-plugin-deprecation.d.ts +1 -1
- package/dist/lib/bin/ESLint/@types/eslint-plugin-import.d.ts +1 -1
- package/dist/lib/bin/ESLint/@types/eslint-plugin-modules-newlines.d.ts +1 -1
- package/dist/lib/bin/ESLint/@types/eslint-plugin-verify-tsdoc.d.ts +10 -0
- package/dist/lib/bin/ESLint/@types/globals.d.ts +1 -1
- package/dist/lib/bin/ESLint/ESLint.cjs +11 -11
- package/dist/lib/bin/ESLint/ESLint.d.ts +7 -5
- package/dist/lib/bin/ESLint/eslint.config.cjs +1 -1
- package/dist/lib/bin/ESLint/eslint.config.d.ts +2 -4
- package/dist/lib/bin/ObsidianDevUtilsRepoPaths.cjs +1 -1
- package/dist/lib/bin/ObsidianDevUtilsRepoPaths.d.ts +1 -1
- package/dist/lib/bin/build.cjs +1 -1
- package/dist/lib/bin/build.d.ts +1 -1
- package/dist/lib/bin/cli.cjs +1 -1
- package/dist/lib/bin/cli.d.ts +1 -1
- package/dist/lib/bin/esbuild/Dependency.cjs +1 -1
- package/dist/lib/bin/esbuild/Dependency.d.ts +1 -1
- package/dist/lib/bin/esbuild/ObsidianPluginBuilder.cjs +7 -6
- package/dist/lib/bin/esbuild/ObsidianPluginBuilder.d.ts +21 -9
- package/dist/lib/bin/esbuild/copyToObsidianPluginsFolderPlugin.cjs +1 -1
- package/dist/lib/bin/esbuild/copyToObsidianPluginsFolderPlugin.d.ts +1 -1
- package/dist/lib/bin/esbuild/fixSourceMapsPlugin.cjs +1 -1
- package/dist/lib/bin/esbuild/fixSourceMapsPlugin.d.ts +1 -1
- package/dist/lib/bin/esbuild/lintPlugin.cjs +1 -1
- package/dist/lib/bin/esbuild/lintPlugin.d.ts +1 -1
- package/dist/lib/bin/esbuild/preprocessPlugin.cjs +1 -1
- package/dist/lib/bin/esbuild/preprocessPlugin.d.ts +2 -2
- package/dist/lib/bin/esbuild/renameToCjsPlugin.cjs +1 -1
- package/dist/lib/bin/esbuild/renameToCjsPlugin.d.ts +1 -1
- package/dist/lib/bin/spellcheck.cjs +1 -1
- package/dist/lib/bin/spellcheck.d.ts +1 -1
- package/dist/lib/bin/version.cjs +1 -1
- package/dist/lib/bin/version.d.ts +1 -1
- package/dist/lib/cli.cjs +2 -8
- package/dist/lib/cli.d.ts +2 -8
- package/dist/lib/obsidian/App.cjs +1 -1
- package/dist/lib/obsidian/App.d.ts +1 -1
- package/dist/lib/obsidian/AttachmentPath.cjs +1 -1
- package/dist/lib/obsidian/AttachmentPath.d.ts +1 -1
- package/dist/lib/obsidian/Backlink.cjs +15 -13
- package/dist/lib/obsidian/Backlink.d.ts +36 -16
- package/dist/lib/obsidian/Callout.cjs +9 -8
- package/dist/lib/obsidian/Callout.d.ts +26 -11
- package/dist/lib/obsidian/Dataview.cjs +28 -24
- package/dist/lib/obsidian/Dataview.d.ts +132 -79
- package/dist/lib/obsidian/DataviewLink.cjs +1 -1
- package/dist/lib/obsidian/DataviewLink.d.ts +7 -9
- package/dist/lib/obsidian/FrontMatter.cjs +1 -1
- package/dist/lib/obsidian/FrontMatter.d.ts +15 -18
- package/dist/lib/obsidian/Link.cjs +33 -30
- package/dist/lib/obsidian/Link.d.ts +93 -41
- package/dist/lib/obsidian/MarkdownCodeBlockProcessor.cjs +1 -1
- package/dist/lib/obsidian/MarkdownCodeBlockProcessor.d.ts +1 -1
- package/dist/lib/obsidian/MetadataCache.cjs +1 -1
- package/dist/lib/obsidian/MetadataCache.d.ts +11 -10
- package/dist/lib/obsidian/Modal/Alert.cjs +1 -1
- package/dist/lib/obsidian/Modal/Alert.d.ts +4 -4
- package/dist/lib/obsidian/Modal/Prompt.cjs +8 -7
- package/dist/lib/obsidian/Modal/Prompt.d.ts +26 -11
- package/dist/lib/obsidian/Modal/SelectItem.cjs +1 -1
- package/dist/lib/obsidian/Modal/SelectItem.d.ts +26 -11
- package/dist/lib/obsidian/Plugin/ObsidianPluginRepoPaths.cjs +1 -1
- package/dist/lib/obsidian/Plugin/ObsidianPluginRepoPaths.d.ts +1 -1
- package/dist/lib/obsidian/Plugin/Plugin.cjs +1 -1
- package/dist/lib/obsidian/Plugin/Plugin.d.ts +6 -6
- package/dist/lib/obsidian/Plugin/PluginBase.cjs +10 -11
- package/dist/lib/obsidian/Plugin/PluginBase.d.ts +14 -15
- package/dist/lib/obsidian/Plugin/PluginSettings.cjs +1 -1
- package/dist/lib/obsidian/Plugin/PluginSettings.d.ts +9 -9
- package/dist/lib/obsidian/Plugin/PluginSettingsTabBase.cjs +12 -19
- package/dist/lib/obsidian/Plugin/PluginSettingsTabBase.d.ts +27 -22
- package/dist/lib/obsidian/ResourceUrl.cjs +1 -1
- package/dist/lib/obsidian/ResourceUrl.d.ts +1 -1
- package/dist/lib/obsidian/TAbstractFile.cjs +1 -1
- package/dist/lib/obsidian/TAbstractFile.d.ts +4 -4
- package/dist/lib/obsidian/TFile.cjs +1 -1
- package/dist/lib/obsidian/TFile.d.ts +1 -1
- package/dist/lib/obsidian/TFolder.cjs +1 -1
- package/dist/lib/obsidian/TFolder.d.ts +11 -8
- package/dist/lib/obsidian/Vault.cjs +1 -1
- package/dist/lib/obsidian/Vault.d.ts +1 -1
- package/dist/lib/url.cjs +1 -1
- package/dist/lib/url.d.ts +1 -1
- package/package.json +7 -4
@@ -1,18 +1,19 @@
|
|
1
1
|
/**
|
2
|
-
* @
|
2
|
+
* @packageDocumentation MetadataCache
|
3
3
|
* This module provides utility functions for working with the metadata cache in Obsidian.
|
4
4
|
*/
|
5
5
|
import type { App, CachedMetadata, LinkCache, ReferenceCache } from "obsidian";
|
6
6
|
import { type RetryOptions } from "../Async.ts";
|
7
7
|
import type { CustomArrayDict } from "obsidian-typings";
|
8
8
|
import { type PathOrFile } from "./TFile.ts";
|
9
|
+
import type { CombinedFrontMatter } from "./FrontMatter.ts";
|
9
10
|
/**
|
10
11
|
* Retrieves the cached metadata for a given file or path.
|
11
12
|
*
|
12
|
-
* @param
|
13
|
-
* @param
|
14
|
-
* @param
|
15
|
-
* @returns
|
13
|
+
* @param app - The Obsidian app instance.
|
14
|
+
* @param fileOrPath - The file or path to retrieve the metadata for.
|
15
|
+
* @param retryOptions - Optional retry options for the retrieval process.
|
16
|
+
* @returns The cached metadata for the file, or null if it doesn't exist.
|
16
17
|
*/
|
17
18
|
export declare function getCacheSafe(app: App, fileOrPath: PathOrFile, retryOptions?: Partial<RetryOptions>): Promise<CachedMetadata | null>;
|
18
19
|
/**
|
@@ -34,9 +35,9 @@ export declare function getBacklinksForFileSafe(app: App, pathOrFile: PathOrFile
|
|
34
35
|
/**
|
35
36
|
* Retrieves the front matter from the metadata cache safely.
|
36
37
|
*
|
37
|
-
* @
|
38
|
-
* @param
|
39
|
-
* @param
|
40
|
-
* @returns
|
38
|
+
* @typeParam CustomFrontMatter - The type of custom front matter.
|
39
|
+
* @param app - The Obsidian app instance.
|
40
|
+
* @param pathOrFile - The path or file to retrieve the front matter from.
|
41
|
+
* @returns The combined front matter.
|
41
42
|
*/
|
42
|
-
export declare function getFrontMatterSafe<
|
43
|
+
export declare function getFrontMatterSafe<CustomFrontMatter = unknown>(app: App, pathOrFile: PathOrFile): Promise<CombinedFrontMatter<CustomFrontMatter>>;
|
@@ -62,4 +62,4 @@ async function alert(app, message) {
|
|
62
62
|
0 && (module.exports = {
|
63
63
|
alert
|
64
64
|
});
|
65
|
-
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vc3JjL29ic2lkaWFuL01vZGFsL0FsZXJ0LnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyJ2YXIgX19pbXBvcnRfbWV0YV91cmwgPSBnbG9iYWxUaGlzW1wiaW1wb3J0Lm1ldGEudXJsXCJdID8/ICgoKT0+cmVxdWlyZShcIm5vZGU6dXJsXCIpLnBhdGhUb0ZpbGVVUkwoX19maWxlbmFtZSkpKCk7XG52YXIgX19wcm9jZXNzID0gZ2xvYmFsVGhpc1tcInByb2Nlc3NcIl0gPz8ge1xuICBcImN3ZFwiOiAoKT0+
|
65
|
+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vc3JjL29ic2lkaWFuL01vZGFsL0FsZXJ0LnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyJ2YXIgX19pbXBvcnRfbWV0YV91cmwgPSBnbG9iYWxUaGlzW1wiaW1wb3J0Lm1ldGEudXJsXCJdID8/ICgoKT0+cmVxdWlyZShcIm5vZGU6dXJsXCIpLnBhdGhUb0ZpbGVVUkwoX19maWxlbmFtZSkpKCk7XG52YXIgX19wcm9jZXNzID0gZ2xvYmFsVGhpc1tcInByb2Nlc3NcIl0gPz8ge1xuICBcImN3ZFwiOiAoKT0+XCIvXCIsXG4gIFwiZW52XCI6IHt9LFxuICBcInBsYXRmb3JtXCI6IFwiYW5kcm9pZFwiXG59O1xuLyoqXG4gKiBAcGFja2FnZURvY3VtZW50YXRpb24gQWxlcnRcbiAqIFV0aWxpdHkgZm9yIGRpc3BsYXlpbmcgYWxlcnQgbW9kYWxzIGluIE9ic2lkaWFuLlxuICpcbiAqIFRoaXMgbW9kdWxlIGV4cG9ydHMgYSBmdW5jdGlvbiB0byBkaXNwbGF5IGEgbW9kYWwgd2l0aCBhIG1lc3NhZ2UgaW4gT2JzaWRpYW4uIFRoZSBtb2RhbCBpbmNsdWRlcyBhbiBcIk9LXCIgYnV0dG9uIHRvIGNsb3NlIGl0LlxuICovXG5cbmltcG9ydCB7XG4gIHR5cGUgQXBwLFxuICBNb2RhbFxufSBmcm9tIFwib2JzaWRpYW5cIjtcblxuLyoqXG4gKiBEaXNwbGF5cyBhbiBhbGVydCBtb2RhbCBpbiBPYnNpZGlhbiB3aXRoIGEgc3BlY2lmaWVkIG1lc3NhZ2UuXG4gKlxuICogQHBhcmFtIGFwcCAtIFRoZSBPYnNpZGlhbiBhcHAgaW5zdGFuY2UuXG4gKiBAcGFyYW0gbWVzc2FnZSAtIFRoZSBtZXNzYWdlIHRvIGRpc3BsYXkgaW4gdGhlIG1vZGFsLlxuICogQHJldHVybnMgLSBBIHByb21pc2UgdGhhdCByZXNvbHZlcyB3aGVuIHRoZSBtb2RhbCBpcyBjbG9zZWQuXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBhbGVydChhcHA6IEFwcCwgbWVzc2FnZTogc3RyaW5nKTogUHJvbWlzZTx2b2lkPiB7XG4gIHJldHVybiBuZXcgUHJvbWlzZTx2b2lkPigocmVzb2x2ZSkgPT4ge1xuICAgIGNsYXNzIEFsZXJ0TW9kYWwgZXh0ZW5kcyBNb2RhbCB7XG4gICAgICBwdWJsaWMgY29uc3RydWN0b3IoYXBwOiBBcHApIHtcbiAgICAgICAgc3VwZXIoYXBwKTtcbiAgICAgIH1cblxuICAgICAgcHVibGljIG92ZXJyaWRlIG9uT3BlbigpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5zZXRDb250ZW50KGNyZWF0ZUZyYWdtZW50KChmcmFnbWVudCkgPT4ge1xuICAgICAgICAgIGNvbnN0IG1vZGFsQ29udGVudCA9IGZyYWdtZW50LmNyZWF0ZURpdih7IGNsczogXCJtb2QtY3RhXCIgfSk7XG4gICAgICAgICAgbW9kYWxDb250ZW50LmNyZWF0ZUVsKFwicFwiLCB7IHRleHQ6IG1lc3NhZ2UgfSk7XG4gICAgICAgICAgbW9kYWxDb250ZW50LmNyZWF0ZUVsKFwiYnV0dG9uXCIsIHtcbiAgICAgICAgICAgIGNsczogXCJtb2QtY3RhXCIsXG4gICAgICAgICAgICB0ZXh0OiBcIk9LXCIsXG4gICAgICAgICAgICBvbmNsaWNrOiAoKSA9PiB0aGlzLmNsb3NlKClcbiAgICAgICAgICB9IGFzIERvbUVsZW1lbnRJbmZvKTtcbiAgICAgICAgfSkpO1xuICAgICAgfVxuXG4gICAgICBwdWJsaWMgb3ZlcnJpZGUgb25DbG9zZSgpOiB2b2lkIHtcbiAgICAgICAgcmVzb2x2ZSgpO1xuICAgICAgfVxuICAgIH1cblxuICAgIGNvbnN0IG1vZGFsID0gbmV3IEFsZXJ0TW9kYWwoYXBwKTtcbiAgICBtb2RhbC5vcGVuKCk7XG4gIH0pO1xufVxuIl0sCiAgIm1hcHBpbmdzIjogIjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBYUEsc0JBR087QUFoQlAsSUFBSSxvQkFBb0IsV0FBVyxpQkFBaUIsTUFBTSxNQUFJLFFBQVEsVUFBVSxFQUFFLGNBQWMsVUFBVSxHQUFHO0FBQzdHLElBQUksWUFBWSxXQUFXLFNBQVMsS0FBSztBQUFBLEVBQ3ZDLE9BQU8sTUFBSTtBQUFBLEVBQ1gsT0FBTyxDQUFDO0FBQUEsRUFDUixZQUFZO0FBQ2Q7QUFvQkEsZUFBc0IsTUFBTSxLQUFVLFNBQWdDO0FBQ3BFLFNBQU8sSUFBSSxRQUFjLENBQUMsWUFBWTtBQUFBLElBQ3BDLE1BQU0sbUJBQW1CLHNCQUFNO0FBQUEsTUFDdEIsWUFBWUEsTUFBVTtBQUMzQixjQUFNQSxJQUFHO0FBQUEsTUFDWDtBQUFBLE1BRWdCLFNBQWU7QUFDN0IsYUFBSyxXQUFXLGVBQWUsQ0FBQyxhQUFhO0FBQzNDLGdCQUFNLGVBQWUsU0FBUyxVQUFVLEVBQUUsS0FBSyxVQUFVLENBQUM7QUFDMUQsdUJBQWEsU0FBUyxLQUFLLEVBQUUsTUFBTSxRQUFRLENBQUM7QUFDNUMsdUJBQWEsU0FBUyxVQUFVO0FBQUEsWUFDOUIsS0FBSztBQUFBLFlBQ0wsTUFBTTtBQUFBLFlBQ04sU0FBUyxNQUFNLEtBQUssTUFBTTtBQUFBLFVBQzVCLENBQW1CO0FBQUEsUUFDckIsQ0FBQyxDQUFDO0FBQUEsTUFDSjtBQUFBLE1BRWdCLFVBQWdCO0FBQzlCLGdCQUFRO0FBQUEsTUFDVjtBQUFBLElBQ0Y7QUFFQSxVQUFNLFFBQVEsSUFBSSxXQUFXLEdBQUc7QUFDaEMsVUFBTSxLQUFLO0FBQUEsRUFDYixDQUFDO0FBQ0g7IiwKICAibmFtZXMiOiBbImFwcCJdCn0K
|
@@ -1,5 +1,5 @@
|
|
1
1
|
/**
|
2
|
-
* @
|
2
|
+
* @packageDocumentation Alert
|
3
3
|
* Utility for displaying alert modals in Obsidian.
|
4
4
|
*
|
5
5
|
* This module exports a function to display a modal with a message in Obsidian. The modal includes an "OK" button to close it.
|
@@ -8,8 +8,8 @@ import { type App } from "obsidian";
|
|
8
8
|
/**
|
9
9
|
* Displays an alert modal in Obsidian with a specified message.
|
10
10
|
*
|
11
|
-
* @param
|
12
|
-
* @param
|
13
|
-
* @returns
|
11
|
+
* @param app - The Obsidian app instance.
|
12
|
+
* @param message - The message to display in the modal.
|
13
|
+
* @returns - A promise that resolves when the modal is closed.
|
14
14
|
*/
|
15
15
|
export declare function alert(app: App, message: string): Promise<void>;
|
@@ -33,12 +33,13 @@ var __process = globalThis["process"] ?? {
|
|
33
33
|
"env": {},
|
34
34
|
"platform": "android"
|
35
35
|
};
|
36
|
-
async function prompt({
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
36
|
+
async function prompt(options) {
|
37
|
+
const {
|
38
|
+
app,
|
39
|
+
title,
|
40
|
+
defaultValue,
|
41
|
+
valueValidator
|
42
|
+
} = options;
|
42
43
|
return new Promise((resolve) => {
|
43
44
|
class PromptModal extends import_obsidian.Modal {
|
44
45
|
value = "";
|
@@ -98,4 +99,4 @@ async function prompt({
|
|
98
99
|
0 && (module.exports = {
|
99
100
|
prompt
|
100
101
|
});
|
101
|
-
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vc3JjL29ic2lkaWFuL01vZGFsL1Byb21wdC50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsidmFyIF9faW1wb3J0X21ldGFfdXJsID0gZ2xvYmFsVGhpc1tcImltcG9ydC5tZXRhLnVybFwiXSA/PyAoKCk9PnJlcXVpcmUoXCJub2RlOnVybFwiKS5wYXRoVG9GaWxlVVJMKF9fZmlsZW5hbWUpKSgpO1xudmFyIF9fcHJvY2VzcyA9IGdsb2JhbFRoaXNbXCJwcm9jZXNzXCJdID8/
|
102
|
+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vc3JjL29ic2lkaWFuL01vZGFsL1Byb21wdC50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsidmFyIF9faW1wb3J0X21ldGFfdXJsID0gZ2xvYmFsVGhpc1tcImltcG9ydC5tZXRhLnVybFwiXSA/PyAoKCk9PnJlcXVpcmUoXCJub2RlOnVybFwiKS5wYXRoVG9GaWxlVVJMKF9fZmlsZW5hbWUpKSgpO1xudmFyIF9fcHJvY2VzcyA9IGdsb2JhbFRoaXNbXCJwcm9jZXNzXCJdID8/IHtcbiAgXCJjd2RcIjogKCk9PlwiL1wiLFxuICBcImVudlwiOiB7fSxcbiAgXCJwbGF0Zm9ybVwiOiBcImFuZHJvaWRcIlxufTtcbi8qKlxuICogQHBhY2thZ2VEb2N1bWVudGF0aW9uIFByb21wdFxuICogVXRpbGl0eSBmb3IgZGlzcGxheWluZyBhIHByb21wdCBtb2RhbCBpbiBPYnNpZGlhbi5cbiAqXG4gKiBUaGlzIG1vZHVsZSBleHBvcnRzIGEgZnVuY3Rpb24gdG8gZGlzcGxheSBhIG1vZGFsIHRoYXQgcHJvbXB0cyB0aGUgdXNlciBmb3IgaW5wdXQuIFRoZSBtb2RhbCBpbmNsdWRlcyBcIk9LXCIgYW5kIFwiQ2FuY2VsXCIgYnV0dG9ucy5cbiAqL1xuXG5pbXBvcnQge1xuICBBcHAsXG4gIEJ1dHRvbkNvbXBvbmVudCxcbiAgTW9kYWwsXG4gIFRleHRDb21wb25lbnRcbn0gZnJvbSBcIm9ic2lkaWFuXCI7XG5cblxuLyoqXG4gKiBUaGUgb3B0aW9ucyBmb3IgdGhlIHByb21wdCBtb2RhbC5cbiAqL1xudHlwZSBQcm9tcHRPcHRpb25zID0ge1xuICAvKipcbiAgICogVGhlIE9ic2lkaWFuIGFwcCBpbnN0YW5jZS5cbiAgICovXG4gIGFwcDogQXBwO1xuXG4gIC8qKlxuICAgKiBUaGUgdGl0bGUgb2YgdGhlIG1vZGFsLlxuICAgKi9cbiAgdGl0bGU/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBkZWZhdWx0IHZhbHVlIHRvIHByZS1maWxsIHRoZSBpbnB1dCBmaWVsZC5cbiAgICovXG4gIGRlZmF1bHRWYWx1ZT86IHN0cmluZztcblxuICAvKipcbiAgICogQSBmdW5jdGlvbiB0byB2YWxpZGF0ZSB0aGUgaW5wdXQgdmFsdWUuXG4gICAqIEBwYXJhbSB2YWx1ZSAtIFRoZSBpbnB1dCB2YWx1ZSB0byB2YWxpZGF0ZS5cbiAgICogQHJldHVybnMgYW4gZXJyb3IgbWVzc2FnZSBpZiB0aGUgdmFsdWUgaXMgaW52YWxpZCwgb3IgbnVsbCBpZiB0aGUgdmFsdWUgaXMgdmFsaWQuXG4gICAqL1xuICB2YWx1ZVZhbGlkYXRvcj86ICh2YWx1ZTogc3RyaW5nKSA9PiBzdHJpbmcgfCBudWxsO1xufTtcblxuLyoqXG4gKiBEaXNwbGF5cyBhIHByb21wdCBtb2RhbCBpbiBPYnNpZGlhbiB0byBnZXQgdXNlciBpbnB1dC5cbiAqXG4gKiBAcGFyYW0gb3B0aW9ucyAtIFRoZSBvcHRpb25zIGZvciB0aGUgcHJvbXB0IG1vZGFsLlxuICogQHJldHVybnMgLSBBIHByb21pc2UgdGhhdCByZXNvbHZlcyB3aXRoIHRoZSB1c2VyIGlucHV0IG9yIG51bGwgaWYgdGhlIHByb21wdCB3YXMgY2FuY2VsbGVkLlxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gcHJvbXB0KG9wdGlvbnM6IFByb21wdE9wdGlvbnMpOiBQcm9taXNlPHN0cmluZyB8IG51bGw+IHtcbiAgY29uc3Qge1xuICAgIGFwcCxcbiAgICB0aXRsZSxcbiAgICBkZWZhdWx0VmFsdWUsXG4gICAgdmFsdWVWYWxpZGF0b3JcbiAgfSA9IG9wdGlvbnM7XG4gIHJldHVybiBuZXcgUHJvbWlzZTxzdHJpbmcgfCBudWxsPigocmVzb2x2ZSk6IHZvaWQgPT4ge1xuICAgIGNsYXNzIFByb21wdE1vZGFsIGV4dGVuZHMgTW9kYWwge1xuICAgICAgcHJpdmF0ZSB2YWx1ZSA9IFwiXCI7XG4gICAgICBwcml2YXRlIGlzQ2FuY2VsbGVkID0gdHJ1ZTtcblxuICAgICAgcHVibGljIGNvbnN0cnVjdG9yKCkge1xuICAgICAgICBzdXBlcihhcHApO1xuICAgICAgfVxuXG4gICAgICBwdWJsaWMgb3ZlcnJpZGUgb25PcGVuKCk6IHZvaWQge1xuICAgICAgICB0aGlzLnZhbHVlID0gZGVmYXVsdFZhbHVlID8/IFwiXCI7XG4gICAgICAgIHRoaXMudGl0bGVFbC5zZXRUZXh0KHRpdGxlID8/IFwiXCIpO1xuICAgICAgICBjb25zdCB0ZXh0Q29tcG9uZW50ID0gbmV3IFRleHRDb21wb25lbnQodGhpcy5jb250ZW50RWwpO1xuICAgICAgICB0ZXh0Q29tcG9uZW50LnNldFZhbHVlKHRoaXMudmFsdWUpO1xuICAgICAgICB0ZXh0Q29tcG9uZW50LnNldFBsYWNlaG9sZGVyKHRoaXMudmFsdWUpO1xuICAgICAgICB0ZXh0Q29tcG9uZW50LmlucHV0RWwuc3R5bGUud2lkdGggPSBcIjEwMCVcIjtcbiAgICAgICAgdGV4dENvbXBvbmVudC5vbkNoYW5nZSgodmFsdWUpID0+IHRoaXMudmFsdWUgPSB2YWx1ZSk7XG4gICAgICAgIHRleHRDb21wb25lbnQuaW5wdXRFbC5hZGRFdmVudExpc3RlbmVyKFwia2V5ZG93blwiLCAoZXZlbnQ6IEtleWJvYXJkRXZlbnQpID0+IHtcbiAgICAgICAgICBpZiAoZXZlbnQua2V5ID09PSBcIkVudGVyXCIpIHtcbiAgICAgICAgICAgIHRoaXMuaGFuZGxlT2soZXZlbnQsIHRleHRDb21wb25lbnQpO1xuICAgICAgICAgIH0gZWxzZSBpZiAoZXZlbnQua2V5ID09PSBcIkVzY2FwZVwiKSB7XG4gICAgICAgICAgICB0aGlzLmNsb3NlKCk7XG4gICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgICAgaWYgKHZhbHVlVmFsaWRhdG9yKSB7XG4gICAgICAgICAgdGV4dENvbXBvbmVudC5pbnB1dEVsLmFkZEV2ZW50TGlzdGVuZXIoXCJpbnB1dFwiLCAoKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBlcnJvck1lc3NhZ2UgPSB2YWx1ZVZhbGlkYXRvcih0ZXh0Q29tcG9uZW50LmlucHV0RWwudmFsdWUpO1xuICAgICAgICAgICAgdGV4dENvbXBvbmVudC5pbnB1dEVsLnNldEN1c3RvbVZhbGlkaXR5KGVycm9yTWVzc2FnZSA/PyBcIlwiKTtcbiAgICAgICAgICAgIHRleHRDb21wb25lbnQuaW5wdXRFbC5yZXBvcnRWYWxpZGl0eSgpO1xuICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IG9rQnV0dG9uID0gbmV3IEJ1dHRvbkNvbXBvbmVudCh0aGlzLmNvbnRlbnRFbCk7XG4gICAgICAgIG9rQnV0dG9uLnNldEJ1dHRvblRleHQoXCJPS1wiKTtcbiAgICAgICAgb2tCdXR0b24uc2V0Q2xhc3MoXCJtb2QtY3RhXCIpO1xuICAgICAgICBva0J1dHRvbi5vbkNsaWNrKChldmVudCkgPT4gdGhpcy5oYW5kbGVPayhldmVudCwgdGV4dENvbXBvbmVudCkpO1xuICAgICAgICBva0J1dHRvbi5idXR0b25FbC5zdHlsZS5tYXJnaW5Ub3AgPSBcIjIwcHhcIjtcbiAgICAgICAgb2tCdXR0b24uYnV0dG9uRWwuc3R5bGUubWFyZ2luUmlnaHQgPSBcIjEwcHhcIjtcbiAgICAgICAgY29uc3QgY2FuY2VsQnV0dG9uID0gbmV3IEJ1dHRvbkNvbXBvbmVudCh0aGlzLmNvbnRlbnRFbCk7XG4gICAgICAgIGNhbmNlbEJ1dHRvbi5zZXRCdXR0b25UZXh0KFwiQ2FuY2VsXCIpO1xuICAgICAgICBjYW5jZWxCdXR0b24ub25DbGljayh0aGlzLmNsb3NlLmJpbmQodGhpcykpO1xuICAgICAgfVxuXG4gICAgICBwdWJsaWMgb3ZlcnJpZGUgb25DbG9zZSgpOiB2b2lkIHtcbiAgICAgICAgcmVzb2x2ZSh0aGlzLmlzQ2FuY2VsbGVkID8gbnVsbCA6IHRoaXMudmFsdWUpO1xuICAgICAgfVxuXG4gICAgICBwcml2YXRlIGhhbmRsZU9rKGV2ZW50OiBFdmVudCwgdGV4dENvbXBvbmVudDogVGV4dENvbXBvbmVudCk6IHZvaWQge1xuICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICBpZiAoIXRleHRDb21wb25lbnQuaW5wdXRFbC5jaGVja1ZhbGlkaXR5KCkpIHtcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLmlzQ2FuY2VsbGVkID0gZmFsc2U7XG4gICAgICAgIHRoaXMuY2xvc2UoKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBjb25zdCBtb2RhbCA9IG5ldyBQcm9tcHRNb2RhbCgpO1xuICAgIG1vZGFsLm9wZW4oKTtcbiAgfSk7XG59XG4iXSwKICAibWFwcGluZ3MiOiAiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFhQSxzQkFLTztBQWxCUCxJQUFJLG9CQUFvQixXQUFXLGlCQUFpQixNQUFNLE1BQUksUUFBUSxVQUFVLEVBQUUsY0FBYyxVQUFVLEdBQUc7QUFDN0csSUFBSSxZQUFZLFdBQVcsU0FBUyxLQUFLO0FBQUEsRUFDdkMsT0FBTyxNQUFJO0FBQUEsRUFDWCxPQUFPLENBQUM7QUFBQSxFQUNSLFlBQVk7QUFDZDtBQWlEQSxlQUFzQixPQUFPLFNBQWdEO0FBQzNFLFFBQU07QUFBQSxJQUNKO0FBQUEsSUFDQTtBQUFBLElBQ0E7QUFBQSxJQUNBO0FBQUEsRUFDRixJQUFJO0FBQ0osU0FBTyxJQUFJLFFBQXVCLENBQUMsWUFBa0I7QUFBQSxJQUNuRCxNQUFNLG9CQUFvQixzQkFBTTtBQUFBLE1BQ3RCLFFBQVE7QUFBQSxNQUNSLGNBQWM7QUFBQSxNQUVmLGNBQWM7QUFDbkIsY0FBTSxHQUFHO0FBQUEsTUFDWDtBQUFBLE1BRWdCLFNBQWU7QUFDN0IsYUFBSyxRQUFRLGdCQUFnQjtBQUM3QixhQUFLLFFBQVEsUUFBUSxTQUFTLEVBQUU7QUFDaEMsY0FBTSxnQkFBZ0IsSUFBSSw4QkFBYyxLQUFLLFNBQVM7QUFDdEQsc0JBQWMsU0FBUyxLQUFLLEtBQUs7QUFDakMsc0JBQWMsZUFBZSxLQUFLLEtBQUs7QUFDdkMsc0JBQWMsUUFBUSxNQUFNLFFBQVE7QUFDcEMsc0JBQWMsU0FBUyxDQUFDLFVBQVUsS0FBSyxRQUFRLEtBQUs7QUFDcEQsc0JBQWMsUUFBUSxpQkFBaUIsV0FBVyxDQUFDLFVBQXlCO0FBQzFFLGNBQUksTUFBTSxRQUFRLFNBQVM7QUFDekIsaUJBQUssU0FBUyxPQUFPLGFBQWE7QUFBQSxVQUNwQyxXQUFXLE1BQU0sUUFBUSxVQUFVO0FBQ2pDLGlCQUFLLE1BQU07QUFBQSxVQUNiO0FBQUEsUUFDRixDQUFDO0FBQ0QsWUFBSSxnQkFBZ0I7QUFDbEIsd0JBQWMsUUFBUSxpQkFBaUIsU0FBUyxNQUFNO0FBQ3BELGtCQUFNLGVBQWUsZUFBZSxjQUFjLFFBQVEsS0FBSztBQUMvRCwwQkFBYyxRQUFRLGtCQUFrQixnQkFBZ0IsRUFBRTtBQUMxRCwwQkFBYyxRQUFRLGVBQWU7QUFBQSxVQUN2QyxDQUFDO0FBQUEsUUFDSDtBQUNBLGNBQU0sV0FBVyxJQUFJLGdDQUFnQixLQUFLLFNBQVM7QUFDbkQsaUJBQVMsY0FBYyxJQUFJO0FBQzNCLGlCQUFTLFNBQVMsU0FBUztBQUMzQixpQkFBUyxRQUFRLENBQUMsVUFBVSxLQUFLLFNBQVMsT0FBTyxhQUFhLENBQUM7QUFDL0QsaUJBQVMsU0FBUyxNQUFNLFlBQVk7QUFDcEMsaUJBQVMsU0FBUyxNQUFNLGNBQWM7QUFDdEMsY0FBTSxlQUFlLElBQUksZ0NBQWdCLEtBQUssU0FBUztBQUN2RCxxQkFBYSxjQUFjLFFBQVE7QUFDbkMscUJBQWEsUUFBUSxLQUFLLE1BQU0sS0FBSyxJQUFJLENBQUM7QUFBQSxNQUM1QztBQUFBLE1BRWdCLFVBQWdCO0FBQzlCLGdCQUFRLEtBQUssY0FBYyxPQUFPLEtBQUssS0FBSztBQUFBLE1BQzlDO0FBQUEsTUFFUSxTQUFTLE9BQWMsZUFBb0M7QUFDakUsY0FBTSxlQUFlO0FBQ3JCLFlBQUksQ0FBQyxjQUFjLFFBQVEsY0FBYyxHQUFHO0FBQzFDO0FBQUEsUUFDRjtBQUVBLGFBQUssY0FBYztBQUNuQixhQUFLLE1BQU07QUFBQSxNQUNiO0FBQUEsSUFDRjtBQUVBLFVBQU0sUUFBUSxJQUFJLFlBQVk7QUFDOUIsVUFBTSxLQUFLO0FBQUEsRUFDYixDQUFDO0FBQ0g7IiwKICAibmFtZXMiOiBbXQp9Cg==
|
@@ -1,23 +1,38 @@
|
|
1
1
|
/**
|
2
|
-
* @
|
2
|
+
* @packageDocumentation Prompt
|
3
3
|
* Utility for displaying a prompt modal in Obsidian.
|
4
4
|
*
|
5
5
|
* This module exports a function to display a modal that prompts the user for input. The modal includes "OK" and "Cancel" buttons.
|
6
6
|
*/
|
7
7
|
import { App } from "obsidian";
|
8
8
|
/**
|
9
|
-
*
|
10
|
-
*
|
11
|
-
* @param {Object} params - The parameters for the prompt.
|
12
|
-
* @param {App} params.app - The Obsidian app instance.
|
13
|
-
* @param {string} [params.title] - The title of the modal.
|
14
|
-
* @param {string} [params.defaultValue] - The default value to pre-fill the input field.
|
15
|
-
* @param {(value: string) => string | null} [params.valueValidator] - A function to validate the input value. Returns an error message or null.
|
16
|
-
* @returns {Promise<string | null>} - A promise that resolves with the user input or null if the prompt was cancelled.
|
9
|
+
* The options for the prompt modal.
|
17
10
|
*/
|
18
|
-
|
11
|
+
type PromptOptions = {
|
12
|
+
/**
|
13
|
+
* The Obsidian app instance.
|
14
|
+
*/
|
19
15
|
app: App;
|
16
|
+
/**
|
17
|
+
* The title of the modal.
|
18
|
+
*/
|
20
19
|
title?: string;
|
20
|
+
/**
|
21
|
+
* The default value to pre-fill the input field.
|
22
|
+
*/
|
21
23
|
defaultValue?: string;
|
24
|
+
/**
|
25
|
+
* A function to validate the input value.
|
26
|
+
* @param value - The input value to validate.
|
27
|
+
* @returns an error message if the value is invalid, or null if the value is valid.
|
28
|
+
*/
|
22
29
|
valueValidator?: (value: string) => string | null;
|
23
|
-
}
|
30
|
+
};
|
31
|
+
/**
|
32
|
+
* Displays a prompt modal in Obsidian to get user input.
|
33
|
+
*
|
34
|
+
* @param options - The options for the prompt modal.
|
35
|
+
* @returns - A promise that resolves with the user input or null if the prompt was cancelled.
|
36
|
+
*/
|
37
|
+
export declare function prompt(options: PromptOptions): Promise<string | null>;
|
38
|
+
export {};
|
@@ -73,4 +73,4 @@ async function selectItem({
|
|
73
73
|
0 && (module.exports = {
|
74
74
|
selectItem
|
75
75
|
});
|
76
|
-
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vc3JjL29ic2lkaWFuL01vZGFsL1NlbGVjdEl0ZW0udHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbInZhciBfX2ltcG9ydF9tZXRhX3VybCA9IGdsb2JhbFRoaXNbXCJpbXBvcnQubWV0YS51cmxcIl0gPz8gKCgpPT5yZXF1aXJlKFwibm9kZTp1cmxcIikucGF0aFRvRmlsZVVSTChfX2ZpbGVuYW1lKSkoKTtcbnZhciBfX3Byb2Nlc3MgPSBnbG9iYWxUaGlzW1wicHJvY2Vzc1wiXSA/
|
76
|
+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vc3JjL29ic2lkaWFuL01vZGFsL1NlbGVjdEl0ZW0udHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbInZhciBfX2ltcG9ydF9tZXRhX3VybCA9IGdsb2JhbFRoaXNbXCJpbXBvcnQubWV0YS51cmxcIl0gPz8gKCgpPT5yZXF1aXJlKFwibm9kZTp1cmxcIikucGF0aFRvRmlsZVVSTChfX2ZpbGVuYW1lKSkoKTtcbnZhciBfX3Byb2Nlc3MgPSBnbG9iYWxUaGlzW1wicHJvY2Vzc1wiXSA/PyB7XG4gIFwiY3dkXCI6ICgpPT5cIi9cIixcbiAgXCJlbnZcIjoge30sXG4gIFwicGxhdGZvcm1cIjogXCJhbmRyb2lkXCJcbn07XG4vKipcbiAqIEBwYWNrYWdlRG9jdW1lbnRhdGlvbiBzZWxlY3RJdGVtXG4gKiBVdGlsaXR5IGZvciBkaXNwbGF5aW5nIGEgc2VsZWN0aW9uIG1vZGFsIGluIE9ic2lkaWFuLlxuICpcbiAqIFRoaXMgbW9kdWxlIGV4cG9ydHMgYSBmdW5jdGlvbiB0byBkaXNwbGF5IGEgbW9kYWwgdGhhdCBhbGxvd3MgdGhlIHVzZXIgdG8gc2VsZWN0IGFuIGl0ZW0gZnJvbSBhIGxpc3QuIFRoZSBtb2RhbCB1c2VzIGZ1enp5IHNlYXJjaCB0byBoZWxwIHRoZSB1c2VyIGZpbmQgdGhlIGl0ZW0uXG4gKi9cblxuaW1wb3J0IHtcbiAgQXBwLFxuICBGdXp6eVN1Z2dlc3RNb2RhbCxcbiAgdHlwZSBGdXp6eU1hdGNoXG59IGZyb20gXCJvYnNpZGlhblwiO1xuXG4vKipcbiAqIFRoZSBwYXJhbWV0ZXJzIGZvciB0aGUgc2VsZWN0aW9uIG1vZGFsLlxuICovXG50eXBlIFNlbGVjdEl0ZW1PcHRpb25zPFQ+ID0ge1xuICAvKipcbiAgICogVGhlIE9ic2lkaWFuIGFwcCBpbnN0YW5jZS5cbiAgICovXG4gIGFwcDogQXBwO1xuXG4gIC8qKlxuICAgKiBUaGUgbGlzdCBvZiBpdGVtcyB0byBjaG9vc2UgZnJvbS5cbiAgICovXG4gIGl0ZW1zOiBUW107XG5cbiAgLyoqXG4gICAqIEEgZnVuY3Rpb24gdG8gZ2V0IHRoZSBkaXNwbGF5IHRleHQgZm9yIGVhY2ggaXRlbVxuICAgKiBAcGFyYW0gaXRlbSAtIFRoZSBpdGVtIHRvIGdldCB0aGUgZGlzcGxheSB0ZXh0IGZvci5cbiAgICogQHJldHVybnMgVGhlIGRpc3BsYXkgdGV4dCBmb3IgdGhlIGl0ZW0uXG4gICAqL1xuICBpdGVtVGV4dEZ1bmMoaXRlbTogVCk6IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIHBsYWNlaG9sZGVyIHRleHQgZm9yIHRoZSBpbnB1dCBmaWVsZC5cbiAgICovXG4gIHBsYWNlaG9sZGVyPzogc3RyaW5nO1xufTtcblxuLyoqXG4gKiBEaXNwbGF5cyBhIHNlbGVjdGlvbiBtb2RhbCBpbiBPYnNpZGlhbiBmb3IgY2hvb3NpbmcgYW4gaXRlbSBmcm9tIGEgbGlzdC5cbiAqXG4gKiBAcGFyYW0gcGFyYW1zIC0gVGhlIHBhcmFtZXRlcnMgZm9yIHRoZSBzZWxlY3Rpb24gbW9kYWwuXG4gKiBAcmV0dXJucyAtIEEgcHJvbWlzZSB0aGF0IHJlc29sdmVzIHdpdGggdGhlIHNlbGVjdGVkIGl0ZW0gb3IgbnVsbCBpZiBubyBpdGVtIHdhcyBzZWxlY3RlZC5cbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIHNlbGVjdEl0ZW08VD4oe1xuICBhcHAsXG4gIGl0ZW1zLFxuICBpdGVtVGV4dEZ1bmMsXG4gIHBsYWNlaG9sZGVyID0gXCJcIlxufTogU2VsZWN0SXRlbU9wdGlvbnM8VD4pOiBQcm9taXNlPFQgfCBudWxsPiB7XG4gIHJldHVybiBhd2FpdCBuZXcgUHJvbWlzZTxUIHwgbnVsbD4oKHJlc29sdmUpID0+IHtcbiAgICBjbGFzcyBJdGVtU2VsZWN0TW9kYWwgZXh0ZW5kcyBGdXp6eVN1Z2dlc3RNb2RhbDxUPiB7XG4gICAgICBwcml2YXRlIGlzU2VsZWN0ZWQgPSBmYWxzZTtcblxuICAgICAgcHVibGljIGNvbnN0cnVjdG9yKCkge1xuICAgICAgICBzdXBlcihhcHApO1xuICAgICAgfVxuXG4gICAgICBwdWJsaWMgb3ZlcnJpZGUgZ2V0SXRlbXMoKTogVFtdIHtcbiAgICAgICAgcmV0dXJuIGl0ZW1zO1xuICAgICAgfVxuXG4gICAgICBwdWJsaWMgb3ZlcnJpZGUgZ2V0SXRlbVRleHQoaXRlbTogVCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiBpdGVtVGV4dEZ1bmMoaXRlbSk7XG4gICAgICB9XG5cbiAgICAgIHB1YmxpYyBvdmVycmlkZSBzZWxlY3RTdWdnZXN0aW9uKFxuICAgICAgICB2YWx1ZTogRnV6enlNYXRjaDxUPixcbiAgICAgICAgZXZ0OiBNb3VzZUV2ZW50IHwgS2V5Ym9hcmRFdmVudCxcbiAgICAgICk6IHZvaWQge1xuICAgICAgICB0aGlzLmlzU2VsZWN0ZWQgPSB0cnVlO1xuICAgICAgICBzdXBlci5zZWxlY3RTdWdnZXN0aW9uKHZhbHVlLCBldnQpO1xuICAgICAgfVxuXG4gICAgICBwdWJsaWMgb3ZlcnJpZGUgb25DaG9vc2VJdGVtKGl0ZW06IFQpOiB2b2lkIHtcbiAgICAgICAgcmVzb2x2ZShpdGVtKTtcbiAgICAgIH1cblxuICAgICAgcHVibGljIG92ZXJyaWRlIG9uQ2xvc2UoKTogdm9pZCB7XG4gICAgICAgIGlmICghdGhpcy5pc1NlbGVjdGVkKSB7XG4gICAgICAgICAgcmVzb2x2ZShudWxsKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIGNvbnN0IG1vZGFsID0gbmV3IEl0ZW1TZWxlY3RNb2RhbCgpO1xuICAgIG1vZGFsLnNldFBsYWNlaG9sZGVyKHBsYWNlaG9sZGVyKTtcbiAgICBtb2RhbC5vcGVuKCk7XG4gIH0pO1xufVxuIl0sCiAgIm1hcHBpbmdzIjogIjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBYUEsc0JBSU87QUFqQlAsSUFBSSxvQkFBb0IsV0FBVyxpQkFBaUIsTUFBTSxNQUFJLFFBQVEsVUFBVSxFQUFFLGNBQWMsVUFBVSxHQUFHO0FBQzdHLElBQUksWUFBWSxXQUFXLFNBQVMsS0FBSztBQUFBLEVBQ3ZDLE9BQU8sTUFBSTtBQUFBLEVBQ1gsT0FBTyxDQUFDO0FBQUEsRUFDUixZQUFZO0FBQ2Q7QUErQ0EsZUFBc0IsV0FBYztBQUFBLEVBQ2xDO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBLGNBQWM7QUFDaEIsR0FBNEM7QUFDMUMsU0FBTyxNQUFNLElBQUksUUFBa0IsQ0FBQyxZQUFZO0FBQUEsSUFDOUMsTUFBTSx3QkFBd0Isa0NBQXFCO0FBQUEsTUFDekMsYUFBYTtBQUFBLE1BRWQsY0FBYztBQUNuQixjQUFNLEdBQUc7QUFBQSxNQUNYO0FBQUEsTUFFZ0IsV0FBZ0I7QUFDOUIsZUFBTztBQUFBLE1BQ1Q7QUFBQSxNQUVnQixZQUFZLE1BQWlCO0FBQzNDLGVBQU8sYUFBYSxJQUFJO0FBQUEsTUFDMUI7QUFBQSxNQUVnQixpQkFDZCxPQUNBLEtBQ007QUFDTixhQUFLLGFBQWE7QUFDbEIsY0FBTSxpQkFBaUIsT0FBTyxHQUFHO0FBQUEsTUFDbkM7QUFBQSxNQUVnQixhQUFhLE1BQWU7QUFDMUMsZ0JBQVEsSUFBSTtBQUFBLE1BQ2Q7QUFBQSxNQUVnQixVQUFnQjtBQUM5QixZQUFJLENBQUMsS0FBSyxZQUFZO0FBQ3BCLGtCQUFRLElBQUk7QUFBQSxRQUNkO0FBQUEsTUFDRjtBQUFBLElBQ0Y7QUFFQSxVQUFNLFFBQVEsSUFBSSxnQkFBZ0I7QUFDbEMsVUFBTSxlQUFlLFdBQVc7QUFDaEMsVUFBTSxLQUFLO0FBQUEsRUFDYixDQUFDO0FBQ0g7IiwKICAibmFtZXMiOiBbXQp9Cg==
|
@@ -1,23 +1,38 @@
|
|
1
1
|
/**
|
2
|
-
* @
|
2
|
+
* @packageDocumentation selectItem
|
3
3
|
* Utility for displaying a selection modal in Obsidian.
|
4
4
|
*
|
5
5
|
* This module exports a function to display a modal that allows the user to select an item from a list. The modal uses fuzzy search to help the user find the item.
|
6
6
|
*/
|
7
7
|
import { App } from "obsidian";
|
8
8
|
/**
|
9
|
-
*
|
10
|
-
*
|
11
|
-
* @param {Object} params - The parameters for the selection modal.
|
12
|
-
* @param {App} params.app - The Obsidian app instance.
|
13
|
-
* @param {T[]} params.items - The list of items to choose from.
|
14
|
-
* @param {(item: T) => string} params.itemTextFunc - A function to get the display text for each item.
|
15
|
-
* @param {string} [params.placeholder] - The placeholder text for the input field.
|
16
|
-
* @returns {Promise<T | null>} - A promise that resolves with the selected item or null if no item was selected.
|
9
|
+
* The parameters for the selection modal.
|
17
10
|
*/
|
18
|
-
|
11
|
+
type SelectItemOptions<T> = {
|
12
|
+
/**
|
13
|
+
* The Obsidian app instance.
|
14
|
+
*/
|
19
15
|
app: App;
|
16
|
+
/**
|
17
|
+
* The list of items to choose from.
|
18
|
+
*/
|
20
19
|
items: T[];
|
20
|
+
/**
|
21
|
+
* A function to get the display text for each item
|
22
|
+
* @param item - The item to get the display text for.
|
23
|
+
* @returns The display text for the item.
|
24
|
+
*/
|
21
25
|
itemTextFunc(item: T): string;
|
26
|
+
/**
|
27
|
+
* The placeholder text for the input field.
|
28
|
+
*/
|
22
29
|
placeholder?: string;
|
23
|
-
}
|
30
|
+
};
|
31
|
+
/**
|
32
|
+
* Displays a selection modal in Obsidian for choosing an item from a list.
|
33
|
+
*
|
34
|
+
* @param params - The parameters for the selection modal.
|
35
|
+
* @returns - A promise that resolves with the selected item or null if no item was selected.
|
36
|
+
*/
|
37
|
+
export declare function selectItem<T>({ app, items, itemTextFunc, placeholder }: SelectItemOptions<T>): Promise<T | null>;
|
38
|
+
export {};
|
@@ -55,4 +55,4 @@ var ObsidianPluginRepoPaths = /* @__PURE__ */ ((ObsidianPluginRepoPaths2) => {
|
|
55
55
|
0 && (module.exports = {
|
56
56
|
ObsidianPluginRepoPaths
|
57
57
|
});
|
58
|
-
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vc3JjL29ic2lkaWFuL1BsdWdpbi9PYnNpZGlhblBsdWdpblJlcG9QYXRocy50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsidmFyIF9faW1wb3J0X21ldGFfdXJsID0gZ2xvYmFsVGhpc1tcImltcG9ydC5tZXRhLnVybFwiXSA/PyAoKCk9PnJlcXVpcmUoXCJub2RlOnVybFwiKS5wYXRoVG9GaWxlVVJMKF9fZmlsZW5hbWUpKSgpO1xudmFyIF9fcHJvY2VzcyA9IGdsb2JhbFRoaXNbXCJwcm9jZXNzXCJdID8/
|
58
|
+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vc3JjL29ic2lkaWFuL1BsdWdpbi9PYnNpZGlhblBsdWdpblJlcG9QYXRocy50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsidmFyIF9faW1wb3J0X21ldGFfdXJsID0gZ2xvYmFsVGhpc1tcImltcG9ydC5tZXRhLnVybFwiXSA/PyAoKCk9PnJlcXVpcmUoXCJub2RlOnVybFwiKS5wYXRoVG9GaWxlVVJMKF9fZmlsZW5hbWUpKSgpO1xudmFyIF9fcHJvY2VzcyA9IGdsb2JhbFRoaXNbXCJwcm9jZXNzXCJdID8/IHtcbiAgXCJjd2RcIjogKCk9PlwiL1wiLFxuICBcImVudlwiOiB7fSxcbiAgXCJwbGF0Zm9ybVwiOiBcImFuZHJvaWRcIlxufTtcbi8qKlxuICogQHBhY2thZ2VEb2N1bWVudGF0aW9uIE9ic2lkaWFuUGx1Z2luUmVwb1BhdGhzXG4gKiBUaGlzIGZpbGUgZGVmaW5lcyBhbiBlbnVtZXJhdGlvbiBmb3IgY29tbW9uIGZpbGUgYW5kIGRpcmVjdG9yeSBwYXRocyB1c2VkIGluIE9ic2lkaWFuIHBsdWdpbiBkZXZlbG9wbWVudC5cbiAqL1xuXG4vKipcbiAqIEVudW1lcmF0aW9uIG9mIGNvbW1vbmx5IHVzZWQgZmlsZSBhbmQgZGlyZWN0b3J5IHBhdGhzIGluIE9ic2lkaWFuIHBsdWdpbiBkZXZlbG9wbWVudC5cbiAqL1xuZXhwb3J0IGVudW0gT2JzaWRpYW5QbHVnaW5SZXBvUGF0aHMge1xuICAvKiogUmVwcmVzZW50cyBhbnkgcGF0aCByZWN1cnNpdmVseS4gKi9cbiAgQW55UGF0aCA9IFwiKipcIixcblxuICAvKiogUmVwcmVzZW50cyBhbnkgVHlwZVNjcmlwdCBmaWxlLiAqL1xuICBBbnlUcyA9IFwiKi50c1wiLFxuXG4gIC8qKiBSZXByZXNlbnRzIHRoZSBjaGFuZ2Vsb2cgZmlsZS4gKi9cbiAgQ2hhbmdlbG9nTWQgPSBcIkNIQU5HRUxPRy5tZFwiLFxuXG4gIC8qKiBSZXByZXNlbnRzIHRoZSBkaXN0cmlidXRpb24gZGlyZWN0b3J5LiAqL1xuICBEaXN0ID0gXCJkaXN0XCIsXG5cbiAgLyoqIFJlcHJlc2VudHMgdGhlIGJ1aWxkIGRpcmVjdG9yeSB3aXRoaW4gdGhlIGRpc3RyaWJ1dGlvbiBkaXJlY3RvcnkuICovXG4gIERpc3RCdWlsZCA9IFwiZGlzdC9idWlsZFwiLFxuXG4gIC8qKiBSZXByZXNlbnRzIHRoZSBkZXZlbG9wbWVudCBkaXJlY3Rvcnkgd2l0aGluIHRoZSBkaXN0cmlidXRpb24gZGlyZWN0b3J5LiAqL1xuICBEaXN0RGV2ID0gXCJkaXN0L2RldlwiLFxuXG4gIC8qKiBSZXByZXNlbnRzIHRoZSBob3QgcmVsb2FkIGZpbGUuICovXG4gIEhvdFJlbG9hZCA9IFwiLmhvdHJlbG9hZFwiLFxuXG4gIC8qKiBSZXByZXNlbnRzIHRoZSBtYWluIEphdmFTY3JpcHQgZmlsZS4gKi9cbiAgTWFpbkpzID0gXCJtYWluLmpzXCIsXG5cbiAgLyoqIFJlcHJlc2VudHMgdGhlIG1haW4gVHlwZVNjcmlwdCBmaWxlLiAqL1xuICBNYWluVHMgPSBcIm1haW4udHNcIixcblxuICAvKiogUmVwcmVzZW50cyB0aGUgbWFuaWZlc3QgZmlsZS4gKi9cbiAgTWFuaWZlc3RKc29uID0gXCJtYW5pZmVzdC5qc29uXCIsXG5cbiAgLyoqIFJlcHJlc2VudHMgdGhlIHBhY2thZ2UuanNvbiBmaWxlLiAqL1xuICBQYWNrYWdlSnNvbiA9IFwicGFja2FnZS5qc29uXCIsXG5cbiAgLyoqIFJlcHJlc2VudHMgdGhlIHBhY2thZ2UtbG9jay5qc29uIGZpbGUuICovXG4gIFBhY2thZ2VMb2NrSnNvbiA9IFwicGFja2FnZS1sb2NrLmpzb25cIixcblxuICAvKiogUmVwcmVzZW50cyB0aGUgc291cmNlIGRpcmVjdG9yeS4gKi9cbiAgU3JjID0gXCJzcmNcIixcblxuICAvKiogUmVwcmVzZW50cyB0aGUgc3R5bGVzLmNzcyBmaWxlLiAqL1xuICBTdHlsZXNDc3MgPSBcInN0eWxlcy5jc3NcIixcblxuICAvKiogUmVwcmVzZW50cyB0aGUgVHlwZVNjcmlwdCBjb25maWd1cmF0aW9uIGZpbGUuICovXG4gIFRzQ29uZmlnSnNvbiA9IFwidHNjb25maWcuanNvblwiLFxuXG4gIC8qKiBSZXByZXNlbnRzIHRoZSB2ZXJzaW9ucy5qc29uIGZpbGUuICovXG4gIFZlcnNpb25zSnNvbiA9IFwidmVyc2lvbnMuanNvblwiXG59XG4iXSwKICAibWFwcGluZ3MiOiAiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxJQUFJLG9CQUFvQixXQUFXLGlCQUFpQixNQUFNLE1BQUksUUFBUSxVQUFVLEVBQUUsY0FBYyxVQUFVLEdBQUc7QUFDN0csSUFBSSxZQUFZLFdBQVcsU0FBUyxLQUFLO0FBQUEsRUFDdkMsT0FBTyxNQUFJO0FBQUEsRUFDWCxPQUFPLENBQUM7QUFBQSxFQUNSLFlBQVk7QUFDZDtBQVNPLElBQUssMEJBQUwsa0JBQUtBLDZCQUFMO0FBRUwsRUFBQUEseUJBQUEsYUFBVTtBQUdWLEVBQUFBLHlCQUFBLFdBQVE7QUFHUixFQUFBQSx5QkFBQSxpQkFBYztBQUdkLEVBQUFBLHlCQUFBLFVBQU87QUFHUCxFQUFBQSx5QkFBQSxlQUFZO0FBR1osRUFBQUEseUJBQUEsYUFBVTtBQUdWLEVBQUFBLHlCQUFBLGVBQVk7QUFHWixFQUFBQSx5QkFBQSxZQUFTO0FBR1QsRUFBQUEseUJBQUEsWUFBUztBQUdULEVBQUFBLHlCQUFBLGtCQUFlO0FBR2YsRUFBQUEseUJBQUEsaUJBQWM7QUFHZCxFQUFBQSx5QkFBQSxxQkFBa0I7QUFHbEIsRUFBQUEseUJBQUEsU0FBTTtBQUdOLEVBQUFBLHlCQUFBLGVBQVk7QUFHWixFQUFBQSx5QkFBQSxrQkFBZTtBQUdmLEVBQUFBLHlCQUFBLGtCQUFlO0FBL0NMLFNBQUFBO0FBQUEsR0FBQTsiLAogICJuYW1lcyI6IFsiT2JzaWRpYW5QbHVnaW5SZXBvUGF0aHMiXQp9Cg==
|
@@ -51,4 +51,4 @@ async function reloadPlugin(plugin) {
|
|
51
51
|
reloadPlugin,
|
52
52
|
showErrorAndDisablePlugin
|
53
53
|
});
|
54
|
-
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vc3JjL29ic2lkaWFuL1BsdWdpbi9QbHVnaW4udHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbInZhciBfX2ltcG9ydF9tZXRhX3VybCA9IGdsb2JhbFRoaXNbXCJpbXBvcnQubWV0YS51cmxcIl0gPz8gKCgpPT5yZXF1aXJlKFwibm9kZTp1cmxcIikucGF0aFRvRmlsZVVSTChfX2ZpbGVuYW1lKSkoKTtcbnZhciBfX3Byb2Nlc3MgPSBnbG9iYWxUaGlzW1wicHJvY2Vzc1wiXSA/
|
54
|
+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vc3JjL29ic2lkaWFuL1BsdWdpbi9QbHVnaW4udHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbInZhciBfX2ltcG9ydF9tZXRhX3VybCA9IGdsb2JhbFRoaXNbXCJpbXBvcnQubWV0YS51cmxcIl0gPz8gKCgpPT5yZXF1aXJlKFwibm9kZTp1cmxcIikucGF0aFRvRmlsZVVSTChfX2ZpbGVuYW1lKSkoKTtcbnZhciBfX3Byb2Nlc3MgPSBnbG9iYWxUaGlzW1wicHJvY2Vzc1wiXSA/PyB7XG4gIFwiY3dkXCI6ICgpPT5cIi9cIixcbiAgXCJlbnZcIjoge30sXG4gIFwicGxhdGZvcm1cIjogXCJhbmRyb2lkXCJcbn07XG4vKipcbiAqIEBwYWNrYWdlRG9jdW1lbnRhdGlvbiBQbHVnaW5cbiAqIFRoaXMgbW9kdWxlIHByb3ZpZGVzIHV0aWxpdHkgZnVuY3Rpb25zIGZvciBtYW5hZ2luZyBPYnNpZGlhbiBwbHVnaW5zLFxuICogaW5jbHVkaW5nIGRpc3BsYXlpbmcgZXJyb3IgbWVzc2FnZXMsIGRpc2FibGluZyBwbHVnaW5zLCBhbmQgcmVsb2FkaW5nIHRoZW0uXG4gKi9cblxuaW1wb3J0IHtcbiAgTm90aWNlLFxuICBQbHVnaW5cbn0gZnJvbSBcIm9ic2lkaWFuXCI7XG5pbXBvcnQgeyBwcmludEVycm9yIH0gZnJvbSBcIi4uLy4uL0Vycm9yLnRzXCI7XG5cbi8qKlxuICogRGlzcGxheXMgYW4gZXJyb3IgbWVzc2FnZSBhcyBhIG5vdGljZSwgbG9ncyBpdCB0byB0aGUgY29uc29sZSwgYW5kIGRpc2FibGVzIHRoZSBzcGVjaWZpZWQgcGx1Z2luLlxuICpcbiAqIEBwYXJhbSBwbHVnaW4gLSBUaGUgcGx1Z2luIHRvIGRpc2FibGUuXG4gKiBAcGFyYW0gbWVzc2FnZSAtIFRoZSBlcnJvciBtZXNzYWdlIHRvIGRpc3BsYXkgYW5kIGxvZy5cbiAqIEByZXR1cm5zIEEgcHJvbWlzZSB0aGF0IHJlc29sdmVzIHdoZW4gdGhlIHBsdWdpbiBpcyBkaXNhYmxlZC5cbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIHNob3dFcnJvckFuZERpc2FibGVQbHVnaW4ocGx1Z2luOiBQbHVnaW4sIG1lc3NhZ2U6IHN0cmluZyk6IFByb21pc2U8dm9pZD4ge1xuICBuZXcgTm90aWNlKG1lc3NhZ2UpO1xuICBwcmludEVycm9yKG5ldyBFcnJvcihtZXNzYWdlKSk7XG4gIGF3YWl0IHBsdWdpbi5hcHAucGx1Z2lucy5kaXNhYmxlUGx1Z2luKHBsdWdpbi5tYW5pZmVzdC5pZCk7XG59XG5cbi8qKlxuICogUmVsb2FkcyB0aGUgc3BlY2lmaWVkIHBsdWdpbiBieSBkaXNhYmxpbmcgYW5kIHRoZW4gcmUtZW5hYmxpbmcgaXQuXG4gKlxuICogQHBhcmFtIHBsdWdpbiAtIFRoZSBwbHVnaW4gdG8gcmVsb2FkLlxuICogQHJldHVybnMgQSBwcm9taXNlIHRoYXQgcmVzb2x2ZXMgd2hlbiB0aGUgcGx1Z2luIGlzIHJlbG9hZGVkLlxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gcmVsb2FkUGx1Z2luKHBsdWdpbjogUGx1Z2luKTogUHJvbWlzZTx2b2lkPiB7XG4gIGNvbnN0IHBsdWdpbnMgPSBwbHVnaW4uYXBwLnBsdWdpbnM7XG4gIGNvbnN0IHBsdWdpbklkID0gcGx1Z2luLm1hbmlmZXN0LmlkO1xuICBhd2FpdCBwbHVnaW5zLmRpc2FibGVQbHVnaW4ocGx1Z2luSWQpO1xuICBhd2FpdCBwbHVnaW5zLmVuYWJsZVBsdWdpbihwbHVnaW5JZCk7XG59XG4iXSwKICAibWFwcGluZ3MiOiAiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQVlBLHNCQUdPO0FBQ1AsbUJBQTJCO0FBaEIzQixJQUFJLG9CQUFvQixXQUFXLGlCQUFpQixNQUFNLE1BQUksUUFBUSxVQUFVLEVBQUUsY0FBYyxVQUFVLEdBQUc7QUFDN0csSUFBSSxZQUFZLFdBQVcsU0FBUyxLQUFLO0FBQUEsRUFDdkMsT0FBTyxNQUFJO0FBQUEsRUFDWCxPQUFPLENBQUM7QUFBQSxFQUNSLFlBQVk7QUFDZDtBQW9CQSxlQUFzQiwwQkFBMEIsUUFBZ0IsU0FBZ0M7QUFDOUYsTUFBSSx1QkFBTyxPQUFPO0FBQ2xCLCtCQUFXLElBQUksTUFBTSxPQUFPLENBQUM7QUFDN0IsUUFBTSxPQUFPLElBQUksUUFBUSxjQUFjLE9BQU8sU0FBUyxFQUFFO0FBQzNEO0FBUUEsZUFBc0IsYUFBYSxRQUErQjtBQUNoRSxRQUFNLFVBQVUsT0FBTyxJQUFJO0FBQzNCLFFBQU0sV0FBVyxPQUFPLFNBQVM7QUFDakMsUUFBTSxRQUFRLGNBQWMsUUFBUTtBQUNwQyxRQUFNLFFBQVEsYUFBYSxRQUFRO0FBQ3JDOyIsCiAgIm5hbWVzIjogW10KfQo=
|
@@ -1,5 +1,5 @@
|
|
1
1
|
/**
|
2
|
-
* @
|
2
|
+
* @packageDocumentation Plugin
|
3
3
|
* This module provides utility functions for managing Obsidian plugins,
|
4
4
|
* including displaying error messages, disabling plugins, and reloading them.
|
5
5
|
*/
|
@@ -7,15 +7,15 @@ import { Plugin } from "obsidian";
|
|
7
7
|
/**
|
8
8
|
* Displays an error message as a notice, logs it to the console, and disables the specified plugin.
|
9
9
|
*
|
10
|
-
* @param
|
11
|
-
* @param
|
12
|
-
* @returns
|
10
|
+
* @param plugin - The plugin to disable.
|
11
|
+
* @param message - The error message to display and log.
|
12
|
+
* @returns A promise that resolves when the plugin is disabled.
|
13
13
|
*/
|
14
14
|
export declare function showErrorAndDisablePlugin(plugin: Plugin, message: string): Promise<void>;
|
15
15
|
/**
|
16
16
|
* Reloads the specified plugin by disabling and then re-enabling it.
|
17
17
|
*
|
18
|
-
* @param
|
19
|
-
* @returns
|
18
|
+
* @param plugin - The plugin to reload.
|
19
|
+
* @returns A promise that resolves when the plugin is reloaded.
|
20
20
|
*/
|
21
21
|
export declare function reloadPlugin(plugin: Plugin): Promise<void>;
|
@@ -42,7 +42,7 @@ class PluginBase extends import_obsidian.Plugin {
|
|
42
42
|
/**
|
43
43
|
* Gets the AbortSignal used for aborting asynchronous operations.
|
44
44
|
*
|
45
|
-
* @returns
|
45
|
+
* @returns The abort signal.
|
46
46
|
*/
|
47
47
|
get abortSignal() {
|
48
48
|
return this._abortSignal;
|
@@ -50,7 +50,7 @@ class PluginBase extends import_obsidian.Plugin {
|
|
50
50
|
/**
|
51
51
|
* Gets a copy of the current plugin settings.
|
52
52
|
*
|
53
|
-
* @returns
|
53
|
+
* @returns A copy of the plugin settings.
|
54
54
|
*/
|
55
55
|
get settingsCopy() {
|
56
56
|
return (0, import_PluginSettings.clonePluginSettings)(this.createDefaultPluginSettings, this.settings);
|
@@ -67,7 +67,7 @@ class PluginBase extends import_obsidian.Plugin {
|
|
67
67
|
* Called when the plugin is loaded. Handles loading settings, adding a settings tab, registering error handlers,
|
68
68
|
* and initializing the plugin.
|
69
69
|
*
|
70
|
-
* @returns
|
70
|
+
* @returns A promise that resolves when the plugin is fully loaded.
|
71
71
|
*/
|
72
72
|
async onload() {
|
73
73
|
await this.loadSettings();
|
@@ -93,7 +93,7 @@ class PluginBase extends import_obsidian.Plugin {
|
|
93
93
|
/**
|
94
94
|
* Loads the plugin settings from the saved data.
|
95
95
|
*
|
96
|
-
* @returns
|
96
|
+
* @returns A promise that resolves when the settings are loaded.
|
97
97
|
*/
|
98
98
|
async loadSettings() {
|
99
99
|
const data = await this.loadData();
|
@@ -102,9 +102,8 @@ class PluginBase extends import_obsidian.Plugin {
|
|
102
102
|
/**
|
103
103
|
* Parses the provided settings data and returns the parsed `PluginSettings`.
|
104
104
|
*
|
105
|
-
* @
|
106
|
-
* @
|
107
|
-
* @returns {MaybePromise<PluginSettings>} A promise that resolves to `PluginSettings` or the settings directly.
|
105
|
+
* @param data - The raw data to be parsed into `PluginSettings`.
|
106
|
+
* @returns A promise that resolves to `PluginSettings` or the settings directly.
|
108
107
|
*/
|
109
108
|
parseSettings(data) {
|
110
109
|
return (0, import_PluginSettings.loadPluginSettings)(this.createDefaultPluginSettings, data);
|
@@ -112,8 +111,8 @@ class PluginBase extends import_obsidian.Plugin {
|
|
112
111
|
/**
|
113
112
|
* Saves the new plugin settings.
|
114
113
|
*
|
115
|
-
* @param
|
116
|
-
* @returns
|
114
|
+
* @param newSettings - The new settings to save.
|
115
|
+
* @returns A promise that resolves when the settings are saved.
|
117
116
|
*/
|
118
117
|
async saveSettings(newSettings) {
|
119
118
|
this._settings = (0, import_PluginSettings.clonePluginSettings)(this.createDefaultPluginSettings, newSettings);
|
@@ -122,7 +121,7 @@ class PluginBase extends import_obsidian.Plugin {
|
|
122
121
|
/**
|
123
122
|
* Displays a notice message to the user.
|
124
123
|
*
|
125
|
-
* @param
|
124
|
+
* @param message - The message to display.
|
126
125
|
*/
|
127
126
|
showNotice(message) {
|
128
127
|
if (this.notice) {
|
@@ -136,4 +135,4 @@ ${message}`);
|
|
136
135
|
0 && (module.exports = {
|
137
136
|
PluginBase
|
138
137
|
});
|
139
|
-
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vc3JjL29ic2lkaWFuL1BsdWdpbi9QbHVnaW5CYXNlLnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyJ2YXIgX19pbXBvcnRfbWV0YV91cmwgPSBnbG9iYWxUaGlzW1wiaW1wb3J0Lm1ldGEudXJsXCJdID8/ICgoKT0+cmVxdWlyZShcIm5vZGU6dXJsXCIpLnBhdGhUb0ZpbGVVUkwoX19maWxlbmFtZSkpKCk7XG52YXIgX19wcm9jZXNzID0gZ2xvYmFsVGhpc1tcInByb2Nlc3NcIl0gPz8ge1xuICBcImN3ZFwiOiAoKT0+
|
138
|
+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vc3JjL29ic2lkaWFuL1BsdWdpbi9QbHVnaW5CYXNlLnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyJ2YXIgX19pbXBvcnRfbWV0YV91cmwgPSBnbG9iYWxUaGlzW1wiaW1wb3J0Lm1ldGEudXJsXCJdID8/ICgoKT0+cmVxdWlyZShcIm5vZGU6dXJsXCIpLnBhdGhUb0ZpbGVVUkwoX19maWxlbmFtZSkpKCk7XG52YXIgX19wcm9jZXNzID0gZ2xvYmFsVGhpc1tcInByb2Nlc3NcIl0gPz8ge1xuICBcImN3ZFwiOiAoKT0+XCIvXCIsXG4gIFwiZW52XCI6IHt9LFxuICBcInBsYXRmb3JtXCI6IFwiYW5kcm9pZFwiXG59O1xuLyoqXG4gKiBAcGFja2FnZURvY3VtZW50YXRpb24gUGx1Z2luQmFzZVxuICogQmFzZSBjbGFzcyBmb3IgT2JzaWRpYW4gcGx1Z2lucyBwcm92aWRpbmcgdXRpbGl0eSBtZXRob2RzIGZvciBzZXR0aW5ncyBtYW5hZ2VtZW50LCBlcnJvciBoYW5kbGluZywgYW5kIG5vdGlmaWNhdGlvbnMuXG4gKlxuICogVGhpcyBjbGFzcyBzaW1wbGlmaWVzIHRoZSBwcm9jZXNzIG9mIG1hbmFnaW5nIHBsdWdpbiBzZXR0aW5ncywgZGlzcGxheWluZyBub3RpZmljYXRpb25zLCBhbmQgaGFuZGxpbmcgZXJyb3JzLlxuICogU3ViY2xhc3NlcyBzaG91bGQgaW1wbGVtZW50IG1ldGhvZHMgdG8gY3JlYXRlIGRlZmF1bHQgc2V0dGluZ3MgYW5kIHNldHRpbmdzIHRhYnMsIGFuZCBjb21wbGV0ZSBwbHVnaW4tc3BlY2lmaWNcbiAqIGxvYWRpbmcgdGFza3MuXG4gKi9cblxuaW1wb3J0IHtcbiAgTm90aWNlLFxuICBQbHVnaW4sXG4gIFBsdWdpblNldHRpbmdUYWJcbn0gZnJvbSBcIm9ic2lkaWFuXCI7XG5pbXBvcnQgeyByZWdpc3RlckFzeW5jRXJyb3JFdmVudEhhbmRsZXIgfSBmcm9tIFwiLi4vLi4vRXJyb3IudHNcIjtcbmltcG9ydCB7XG4gIGxvYWRQbHVnaW5TZXR0aW5ncyxcbiAgY2xvbmVQbHVnaW5TZXR0aW5nc1xufSBmcm9tIFwiLi9QbHVnaW5TZXR0aW5ncy50c1wiO1xuaW1wb3J0IHR5cGUgeyBNYXliZVByb21pc2UgfSBmcm9tIFwiLi4vLi4vQXN5bmMudHNcIjtcblxuLyoqXG4gKiBCYXNlIGNsYXNzIGZvciBjcmVhdGluZyBPYnNpZGlhbiBwbHVnaW5zIHdpdGggYnVpbHQtaW4gc3VwcG9ydCBmb3Igc2V0dGluZ3MgbWFuYWdlbWVudCwgZXJyb3IgaGFuZGxpbmcsIGFuZCBub3RpZmljYXRpb25zLlxuICpcbiAqIEB0eXBlUGFyYW0gUGx1Z2luU2V0dGluZ3MgLSBUaGUgdHlwZSByZXByZXNlbnRpbmcgdGhlIHBsdWdpbiBzZXR0aW5ncyBvYmplY3QuXG4gKi9cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBQbHVnaW5CYXNlPFBsdWdpblNldHRpbmdzIGV4dGVuZHMgb2JqZWN0PiBleHRlbmRzIFBsdWdpbiB7XG4gIHByaXZhdGUgX3NldHRpbmdzITogUGx1Z2luU2V0dGluZ3M7XG4gIHByaXZhdGUgbm90aWNlPzogTm90aWNlO1xuICBwcml2YXRlIF9hYm9ydFNpZ25hbCE6IEFib3J0U2lnbmFsO1xuXG4gIC8qKlxuICAgKiBHZXRzIHRoZSBBYm9ydFNpZ25hbCB1c2VkIGZvciBhYm9ydGluZyBhc3luY2hyb25vdXMgb3BlcmF0aW9ucy5cbiAgICpcbiAgICogQHJldHVybnMgVGhlIGFib3J0IHNpZ25hbC5cbiAgICovXG4gIHByb3RlY3RlZCBnZXQgYWJvcnRTaWduYWwoKTogQWJvcnRTaWduYWwge1xuICAgIHJldHVybiB0aGlzLl9hYm9ydFNpZ25hbDtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXRzIGEgY29weSBvZiB0aGUgY3VycmVudCBwbHVnaW4gc2V0dGluZ3MuXG4gICAqXG4gICAqIEByZXR1cm5zIEEgY29weSBvZiB0aGUgcGx1Z2luIHNldHRpbmdzLlxuICAgKi9cbiAgcHVibGljIGdldCBzZXR0aW5nc0NvcHkoKTogUGx1Z2luU2V0dGluZ3Mge1xuICAgIHJldHVybiBjbG9uZVBsdWdpblNldHRpbmdzKHRoaXMuY3JlYXRlRGVmYXVsdFBsdWdpblNldHRpbmdzLCB0aGlzLnNldHRpbmdzKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXRzIHRoZSBwbHVnaW4gc2V0dGluZ3MuXG4gICAqXG4gICAqIEByZXR1cm5zIFRoZSBwbHVnaW4gc2V0dGluZ3MuXG4gICAqL1xuICBwcm90ZWN0ZWQgZ2V0IHNldHRpbmdzKCk6IFBsdWdpblNldHRpbmdzIHtcbiAgICByZXR1cm4gdGhpcy5fc2V0dGluZ3M7XG4gIH1cblxuICAvKipcbiAgICogQ3JlYXRlcyB0aGUgZGVmYXVsdCBwbHVnaW4gc2V0dGluZ3MuIFRoaXMgbWV0aG9kIG11c3QgYmUgaW1wbGVtZW50ZWQgYnkgc3ViY2xhc3Nlcy5cbiAgICpcbiAgICogQHJldHVybnMgVGhlIGRlZmF1bHQgcGx1Z2luIHNldHRpbmdzLlxuICAgKi9cbiAgcHJvdGVjdGVkIGFic3RyYWN0IGNyZWF0ZURlZmF1bHRQbHVnaW5TZXR0aW5ncyh0aGlzOiB2b2lkKTogUGx1Z2luU2V0dGluZ3M7XG5cbiAgLyoqXG4gICAqIENyZWF0ZXMgYSBwbHVnaW4gc2V0dGluZ3MgdGFiLiBUaGlzIG1ldGhvZCBtdXN0IGJlIGltcGxlbWVudGVkIGJ5IHN1YmNsYXNzZXMuXG4gICAqXG4gICAqIEByZXR1cm5zIFRoZSBzZXR0aW5ncyB0YWIgb3IgbnVsbCBpZiBub3QgYXBwbGljYWJsZS5cbiAgICovXG4gIHByb3RlY3RlZCBhYnN0cmFjdCBjcmVhdGVQbHVnaW5TZXR0aW5nc1RhYigpOiBQbHVnaW5TZXR0aW5nVGFiIHwgbnVsbDtcblxuICAvKipcbiAgICogQ2FsbGVkIHdoZW4gdGhlIHBsdWdpbiBpcyBsb2FkZWQuIEhhbmRsZXMgbG9hZGluZyBzZXR0aW5ncywgYWRkaW5nIGEgc2V0dGluZ3MgdGFiLCByZWdpc3RlcmluZyBlcnJvciBoYW5kbGVycyxcbiAgICogYW5kIGluaXRpYWxpemluZyB0aGUgcGx1Z2luLlxuICAgKlxuICAgKiBAcmV0dXJucyBBIHByb21pc2UgdGhhdCByZXNvbHZlcyB3aGVuIHRoZSBwbHVnaW4gaXMgZnVsbHkgbG9hZGVkLlxuICAgKi9cbiAgcHVibGljIG92ZXJyaWRlIGFzeW5jIG9ubG9hZCgpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBhd2FpdCB0aGlzLmxvYWRTZXR0aW5ncygpO1xuICAgIGNvbnN0IHBsdWdpblNldHRpbmdzVGFiID0gdGhpcy5jcmVhdGVQbHVnaW5TZXR0aW5nc1RhYigpO1xuICAgIGlmIChwbHVnaW5TZXR0aW5nc1RhYikge1xuICAgICAgdGhpcy5hZGRTZXR0aW5nVGFiKHBsdWdpblNldHRpbmdzVGFiKTtcbiAgICB9XG4gICAgdGhpcy5yZWdpc3RlcihyZWdpc3RlckFzeW5jRXJyb3JFdmVudEhhbmRsZXIoKCkgPT4ge1xuICAgICAgdGhpcy5zaG93Tm90aWNlKFwiQW4gdW5oYW5kbGVkIGVycm9yIG9jY3VycmVkLiBQbGVhc2UgY2hlY2sgdGhlIGNvbnNvbGUgZm9yIG1vcmUgaW5mb3JtYXRpb24uXCIpO1xuICAgIH0pKTtcblxuICAgIGNvbnN0IGFib3J0Q29udHJvbGxlciA9IG5ldyBBYm9ydENvbnRyb2xsZXIoKTtcbiAgICB0aGlzLl9hYm9ydFNpZ25hbCA9IGFib3J0Q29udHJvbGxlci5zaWduYWw7XG4gICAgdGhpcy5yZWdpc3RlcigoKSA9PiBhYm9ydENvbnRyb2xsZXIuYWJvcnQoKSk7XG4gICAgYXdhaXQgdGhpcy5vbmxvYWRDb21wbGV0ZSgpO1xuICAgIHRoaXMuYXBwLndvcmtzcGFjZS5vbkxheW91dFJlYWR5KCgpID0+IHRoaXMub25MYXlvdXRSZWFkeSgpKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDYWxsZWQgd2hlbiB0aGUgcGx1Z2luIGxvYWRpbmcgaXMgY29tcGxldGUuIFRoaXMgbWV0aG9kIG11c3QgYmUgaW1wbGVtZW50ZWQgYnkgc3ViY2xhc3NlcyB0byBwZXJmb3JtXG4gICAqIGFueSBhZGRpdGlvbmFsIHNldHVwIHJlcXVpcmVkIGFmdGVyIGxvYWRpbmcgaXMgY29tcGxldGUuXG4gICAqXG4gICAqIEByZXR1cm5zIEEgcHJvbWlzZSBvciB2b2lkIGluZGljYXRpbmcgdGhlIGNvbXBsZXRpb24gb2YgdGhlIGxvYWQgcHJvY2Vzcy5cbiAgICovXG4gIHByb3RlY3RlZCBhYnN0cmFjdCBvbmxvYWRDb21wbGV0ZSgpOiBNYXliZVByb21pc2U8dm9pZD47XG5cbiAgLyoqXG4gICAqIENhbGxlZCB3aGVuIHRoZSBsYXlvdXQgaXMgcmVhZHkuIFRoaXMgbWV0aG9kIGNhbiBiZSBvdmVycmlkZGVuIGJ5IHN1YmNsYXNzZXMgdG8gcGVyZm9ybSBhY3Rpb25zIG9uY2VcbiAgICogdGhlIGxheW91dCBpcyByZWFkeS5cbiAgICovXG4gIHByb3RlY3RlZCBvbkxheW91dFJlYWR5KCk6IHZvaWQgeyB9XG5cbiAgLyoqXG4gICAqIExvYWRzIHRoZSBwbHVnaW4gc2V0dGluZ3MgZnJvbSB0aGUgc2F2ZWQgZGF0YS5cbiAgICpcbiAgICogQHJldHVybnMgQSBwcm9taXNlIHRoYXQgcmVzb2x2ZXMgd2hlbiB0aGUgc2V0dGluZ3MgYXJlIGxvYWRlZC5cbiAgICovXG4gIHByaXZhdGUgYXN5bmMgbG9hZFNldHRpbmdzKCk6IFByb21pc2U8dm9pZD4ge1xuICAgIGNvbnN0IGRhdGEgPSBhd2FpdCB0aGlzLmxvYWREYXRhKCkgYXMgdW5rbm93bjtcbiAgICB0aGlzLl9zZXR0aW5ncyA9IGF3YWl0IHRoaXMucGFyc2VTZXR0aW5ncyhkYXRhKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBQYXJzZXMgdGhlIHByb3ZpZGVkIHNldHRpbmdzIGRhdGEgYW5kIHJldHVybnMgdGhlIHBhcnNlZCBgUGx1Z2luU2V0dGluZ3NgLlxuICAgKlxuICAgKiBAcGFyYW0gZGF0YSAtIFRoZSByYXcgZGF0YSB0byBiZSBwYXJzZWQgaW50byBgUGx1Z2luU2V0dGluZ3NgLlxuICAgKiBAcmV0dXJucyBBIHByb21pc2UgdGhhdCByZXNvbHZlcyB0byBgUGx1Z2luU2V0dGluZ3NgIG9yIHRoZSBzZXR0aW5ncyBkaXJlY3RseS5cbiAgICovXG4gIHByb3RlY3RlZCBwYXJzZVNldHRpbmdzKGRhdGE6IHVua25vd24pOiBNYXliZVByb21pc2U8UGx1Z2luU2V0dGluZ3M+IHtcbiAgICByZXR1cm4gbG9hZFBsdWdpblNldHRpbmdzKHRoaXMuY3JlYXRlRGVmYXVsdFBsdWdpblNldHRpbmdzLCBkYXRhKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTYXZlcyB0aGUgbmV3IHBsdWdpbiBzZXR0aW5ncy5cbiAgICpcbiAgICogQHBhcmFtIG5ld1NldHRpbmdzIC0gVGhlIG5ldyBzZXR0aW5ncyB0byBzYXZlLlxuICAgKiBAcmV0dXJucyBBIHByb21pc2UgdGhhdCByZXNvbHZlcyB3aGVuIHRoZSBzZXR0aW5ncyBhcmUgc2F2ZWQuXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgc2F2ZVNldHRpbmdzKG5ld1NldHRpbmdzOiBQbHVnaW5TZXR0aW5ncyk6IFByb21pc2U8dm9pZD4ge1xuICAgIHRoaXMuX3NldHRpbmdzID0gY2xvbmVQbHVnaW5TZXR0aW5ncyh0aGlzLmNyZWF0ZURlZmF1bHRQbHVnaW5TZXR0aW5ncywgbmV3U2V0dGluZ3MpO1xuICAgIGF3YWl0IHRoaXMuc2F2ZURhdGEodGhpcy5zZXR0aW5ncyk7XG4gIH1cblxuICAvKipcbiAgICogRGlzcGxheXMgYSBub3RpY2UgbWVzc2FnZSB0byB0aGUgdXNlci5cbiAgICpcbiAgICogQHBhcmFtIG1lc3NhZ2UgLSBUaGUgbWVzc2FnZSB0byBkaXNwbGF5LlxuICAgKi9cbiAgcHJvdGVjdGVkIHNob3dOb3RpY2UobWVzc2FnZTogc3RyaW5nKTogdm9pZCB7XG4gICAgaWYgKHRoaXMubm90aWNlKSB7XG4gICAgICB0aGlzLm5vdGljZS5oaWRlKCk7XG4gICAgfVxuXG4gICAgdGhpcy5ub3RpY2UgPSBuZXcgTm90aWNlKGAke3RoaXMubWFuaWZlc3QubmFtZX1cXG4ke21lc3NhZ2V9YCk7XG4gIH1cbn1cbiJdLAogICJtYXBwaW5ncyI6ICI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQWVBLHNCQUlPO0FBQ1AsbUJBQStDO0FBQy9DLDRCQUdPO0FBeEJQLElBQUksb0JBQW9CLFdBQVcsaUJBQWlCLE1BQU0sTUFBSSxRQUFRLFVBQVUsRUFBRSxjQUFjLFVBQVUsR0FBRztBQUM3RyxJQUFJLFlBQVksV0FBVyxTQUFTLEtBQUs7QUFBQSxFQUN2QyxPQUFPLE1BQUk7QUFBQSxFQUNYLE9BQU8sQ0FBQztBQUFBLEVBQ1IsWUFBWTtBQUNkO0FBMkJPLE1BQWUsbUJBQWtELHVCQUFPO0FBQUEsRUFDckU7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQU9SLElBQWMsY0FBMkI7QUFDdkMsV0FBTyxLQUFLO0FBQUEsRUFDZDtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQU9BLElBQVcsZUFBK0I7QUFDeEMsZUFBTywyQ0FBb0IsS0FBSyw2QkFBNkIsS0FBSyxRQUFRO0FBQUEsRUFDNUU7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFPQSxJQUFjLFdBQTJCO0FBQ3ZDLFdBQU8sS0FBSztBQUFBLEVBQ2Q7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQXNCQSxNQUFzQixTQUF3QjtBQUM1QyxVQUFNLEtBQUssYUFBYTtBQUN4QixVQUFNLG9CQUFvQixLQUFLLHdCQUF3QjtBQUN2RCxRQUFJLG1CQUFtQjtBQUNyQixXQUFLLGNBQWMsaUJBQWlCO0FBQUEsSUFDdEM7QUFDQSxTQUFLLGFBQVMsNkNBQStCLE1BQU07QUFDakQsV0FBSyxXQUFXLDZFQUE2RTtBQUFBLElBQy9GLENBQUMsQ0FBQztBQUVGLFVBQU0sa0JBQWtCLElBQUksZ0JBQWdCO0FBQzVDLFNBQUssZUFBZSxnQkFBZ0I7QUFDcEMsU0FBSyxTQUFTLE1BQU0sZ0JBQWdCLE1BQU0sQ0FBQztBQUMzQyxVQUFNLEtBQUssZUFBZTtBQUMxQixTQUFLLElBQUksVUFBVSxjQUFjLE1BQU0sS0FBSyxjQUFjLENBQUM7QUFBQSxFQUM3RDtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFjVSxnQkFBc0I7QUFBQSxFQUFFO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBT2xDLE1BQWMsZUFBOEI7QUFDMUMsVUFBTSxPQUFPLE1BQU0sS0FBSyxTQUFTO0FBQ2pDLFNBQUssWUFBWSxNQUFNLEtBQUssY0FBYyxJQUFJO0FBQUEsRUFDaEQ7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQVFVLGNBQWMsTUFBNkM7QUFDbkUsZUFBTywwQ0FBbUIsS0FBSyw2QkFBNkIsSUFBSTtBQUFBLEVBQ2xFO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFRQSxNQUFhLGFBQWEsYUFBNEM7QUFDcEUsU0FBSyxnQkFBWSwyQ0FBb0IsS0FBSyw2QkFBNkIsV0FBVztBQUNsRixVQUFNLEtBQUssU0FBUyxLQUFLLFFBQVE7QUFBQSxFQUNuQztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQU9VLFdBQVcsU0FBdUI7QUFDMUMsUUFBSSxLQUFLLFFBQVE7QUFDZixXQUFLLE9BQU8sS0FBSztBQUFBLElBQ25CO0FBRUEsU0FBSyxTQUFTLElBQUksdUJBQU8sR0FBRyxLQUFLLFNBQVMsSUFBSTtBQUFBLEVBQUssT0FBTyxFQUFFO0FBQUEsRUFDOUQ7QUFDRjsiLAogICJuYW1lcyI6IFtdCn0K
|
@@ -1,5 +1,5 @@
|
|
1
1
|
/**
|
2
|
-
* @
|
2
|
+
* @packageDocumentation PluginBase
|
3
3
|
* Base class for Obsidian plugins providing utility methods for settings management, error handling, and notifications.
|
4
4
|
*
|
5
5
|
* This class simplifies the process of managing plugin settings, displaying notifications, and handling errors.
|
@@ -11,7 +11,7 @@ import type { MaybePromise } from "../../Async.ts";
|
|
11
11
|
/**
|
12
12
|
* Base class for creating Obsidian plugins with built-in support for settings management, error handling, and notifications.
|
13
13
|
*
|
14
|
-
* @
|
14
|
+
* @typeParam PluginSettings - The type representing the plugin settings object.
|
15
15
|
*/
|
16
16
|
export declare abstract class PluginBase<PluginSettings extends object> extends Plugin {
|
17
17
|
private _settings;
|
@@ -20,13 +20,13 @@ export declare abstract class PluginBase<PluginSettings extends object> extends
|
|
20
20
|
/**
|
21
21
|
* Gets the AbortSignal used for aborting asynchronous operations.
|
22
22
|
*
|
23
|
-
* @returns
|
23
|
+
* @returns The abort signal.
|
24
24
|
*/
|
25
25
|
protected get abortSignal(): AbortSignal;
|
26
26
|
/**
|
27
27
|
* Gets a copy of the current plugin settings.
|
28
28
|
*
|
29
|
-
* @returns
|
29
|
+
* @returns A copy of the plugin settings.
|
30
30
|
*/
|
31
31
|
get settingsCopy(): PluginSettings;
|
32
32
|
/**
|
@@ -38,27 +38,27 @@ export declare abstract class PluginBase<PluginSettings extends object> extends
|
|
38
38
|
/**
|
39
39
|
* Creates the default plugin settings. This method must be implemented by subclasses.
|
40
40
|
*
|
41
|
-
* @returns
|
41
|
+
* @returns The default plugin settings.
|
42
42
|
*/
|
43
43
|
protected abstract createDefaultPluginSettings(this: void): PluginSettings;
|
44
44
|
/**
|
45
45
|
* Creates a plugin settings tab. This method must be implemented by subclasses.
|
46
46
|
*
|
47
|
-
* @returns
|
47
|
+
* @returns The settings tab or null if not applicable.
|
48
48
|
*/
|
49
49
|
protected abstract createPluginSettingsTab(): PluginSettingTab | null;
|
50
50
|
/**
|
51
51
|
* Called when the plugin is loaded. Handles loading settings, adding a settings tab, registering error handlers,
|
52
52
|
* and initializing the plugin.
|
53
53
|
*
|
54
|
-
* @returns
|
54
|
+
* @returns A promise that resolves when the plugin is fully loaded.
|
55
55
|
*/
|
56
56
|
onload(): Promise<void>;
|
57
57
|
/**
|
58
58
|
* Called when the plugin loading is complete. This method must be implemented by subclasses to perform
|
59
59
|
* any additional setup required after loading is complete.
|
60
60
|
*
|
61
|
-
* @returns
|
61
|
+
* @returns A promise or void indicating the completion of the load process.
|
62
62
|
*/
|
63
63
|
protected abstract onloadComplete(): MaybePromise<void>;
|
64
64
|
/**
|
@@ -69,28 +69,27 @@ export declare abstract class PluginBase<PluginSettings extends object> extends
|
|
69
69
|
/**
|
70
70
|
* Loads the plugin settings from the saved data.
|
71
71
|
*
|
72
|
-
* @returns
|
72
|
+
* @returns A promise that resolves when the settings are loaded.
|
73
73
|
*/
|
74
74
|
private loadSettings;
|
75
75
|
/**
|
76
76
|
* Parses the provided settings data and returns the parsed `PluginSettings`.
|
77
77
|
*
|
78
|
-
* @
|
79
|
-
* @
|
80
|
-
* @returns {MaybePromise<PluginSettings>} A promise that resolves to `PluginSettings` or the settings directly.
|
78
|
+
* @param data - The raw data to be parsed into `PluginSettings`.
|
79
|
+
* @returns A promise that resolves to `PluginSettings` or the settings directly.
|
81
80
|
*/
|
82
81
|
protected parseSettings(data: unknown): MaybePromise<PluginSettings>;
|
83
82
|
/**
|
84
83
|
* Saves the new plugin settings.
|
85
84
|
*
|
86
|
-
* @param
|
87
|
-
* @returns
|
85
|
+
* @param newSettings - The new settings to save.
|
86
|
+
* @returns A promise that resolves when the settings are saved.
|
88
87
|
*/
|
89
88
|
saveSettings(newSettings: PluginSettings): Promise<void>;
|
90
89
|
/**
|
91
90
|
* Displays a notice message to the user.
|
92
91
|
*
|
93
|
-
* @param
|
92
|
+
* @param message - The message to display.
|
94
93
|
*/
|
95
94
|
protected showNotice(message: string): void;
|
96
95
|
}
|
@@ -53,4 +53,4 @@ function clonePluginSettings(defaultPluginSettingsFactory, settings) {
|
|
53
53
|
clonePluginSettings,
|
54
54
|
loadPluginSettings
|
55
55
|
});
|
56
|
-
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vc3JjL29ic2lkaWFuL1BsdWdpbi9QbHVnaW5TZXR0aW5ncy50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsidmFyIF9faW1wb3J0X21ldGFfdXJsID0gZ2xvYmFsVGhpc1tcImltcG9ydC5tZXRhLnVybFwiXSA/PyAoKCk9PnJlcXVpcmUoXCJub2RlOnVybFwiKS5wYXRoVG9GaWxlVVJMKF9fZmlsZW5hbWUpKSgpO1xudmFyIF9fcHJvY2VzcyA9IGdsb2JhbFRoaXNbXCJwcm9jZXNzXCJdID8/
|
56
|
+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vc3JjL29ic2lkaWFuL1BsdWdpbi9QbHVnaW5TZXR0aW5ncy50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsidmFyIF9faW1wb3J0X21ldGFfdXJsID0gZ2xvYmFsVGhpc1tcImltcG9ydC5tZXRhLnVybFwiXSA/PyAoKCk9PnJlcXVpcmUoXCJub2RlOnVybFwiKS5wYXRoVG9GaWxlVVJMKF9fZmlsZW5hbWUpKSgpO1xudmFyIF9fcHJvY2VzcyA9IGdsb2JhbFRoaXNbXCJwcm9jZXNzXCJdID8/IHtcbiAgXCJjd2RcIjogKCk9PlwiL1wiLFxuICBcImVudlwiOiB7fSxcbiAgXCJwbGF0Zm9ybVwiOiBcImFuZHJvaWRcIlxufTtcbi8qKlxuICogQHBhY2thZ2VEb2N1bWVudGF0aW9uIFBsdWdpblNldHRpbmdzXG4gKiBUaGlzIG1vZHVsZSBwcm92aWRlcyBmdW5jdGlvbnMgZm9yIGxvYWRpbmcgYW5kIGNsb25pbmcgcGx1Z2luIHNldHRpbmdzLlxuICogSXQgaW5jbHVkZXMgdXRpbGl0aWVzIGZvciBtZXJnaW5nIHVzZXIgc2V0dGluZ3Mgd2l0aCBkZWZhdWx0IHNldHRpbmdzIGFuZCBjcmVhdGluZyBjb3BpZXMgb2Ygc2V0dGluZ3MuXG4gKi9cblxuLyoqXG4gKiBMb2FkcyBwbHVnaW4gc2V0dGluZ3MgYnkgbWVyZ2luZyBwcm92aWRlZCBkYXRhIHdpdGggZGVmYXVsdCBzZXR0aW5ncy5cbiAqXG4gKiBAdHlwZVBhcmFtIFBsdWdpblNldHRpbmdzIC0gVGhlIHR5cGUgb2YgcGx1Z2luIHNldHRpbmdzIG9iamVjdC5cbiAqIEBwYXJhbSBkZWZhdWx0UGx1Z2luU2V0dGluZ3NGYWN0b3J5IC0gQSBmYWN0b3J5IGZ1bmN0aW9uIHRoYXQgcmV0dXJucyB0aGUgZGVmYXVsdCBzZXR0aW5ncy5cbiAqIEBwYXJhbSBkYXRhIC0gVGhlIGRhdGEgdG8gbWVyZ2Ugd2l0aCB0aGUgZGVmYXVsdCBzZXR0aW5ncy5cbiAqIEByZXR1cm5zIFRoZSBtZXJnZWQgc2V0dGluZ3Mgb2JqZWN0LlxuICovXG5leHBvcnQgZnVuY3Rpb24gbG9hZFBsdWdpblNldHRpbmdzPFBsdWdpblNldHRpbmdzIGV4dGVuZHMgb2JqZWN0PihcbiAgZGVmYXVsdFBsdWdpblNldHRpbmdzRmFjdG9yeTogKCkgPT4gUGx1Z2luU2V0dGluZ3MsXG4gIGRhdGE6IHVua25vd25cbik6IFBsdWdpblNldHRpbmdzIHtcbiAgY29uc3QgZGVmYXVsdFBsdWdpblNldHRpbmdzID0gZGVmYXVsdFBsdWdpblNldHRpbmdzRmFjdG9yeSgpO1xuXG4gIHR5cGUgUGx1Z2luU2V0dGluZ3NLZXlzID0ga2V5b2YgUGx1Z2luU2V0dGluZ3M7XG4gIHR5cGUgUGx1Z2luU2V0dGluZ3NWYWx1ZXMgPSBQbHVnaW5TZXR0aW5nc1tQbHVnaW5TZXR0aW5nc0tleXNdO1xuXG4gIGlmIChkYXRhICYmIHR5cGVvZiBkYXRhID09PSBcIm9iamVjdFwiKSB7XG4gICAgY29uc3QgcmVjb3JkID0gZGF0YSBhcyBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPjtcbiAgICBmb3IgKGNvbnN0IFtrZXksIHZhbHVlXSBvZiBPYmplY3QuZW50cmllcyhyZWNvcmQpKSB7XG4gICAgICBpZiAoa2V5IGluIGRlZmF1bHRQbHVnaW5TZXR0aW5ncykge1xuICAgICAgICBkZWZhdWx0UGx1Z2luU2V0dGluZ3Nba2V5IGFzIFBsdWdpblNldHRpbmdzS2V5c10gPSB2YWx1ZSBhcyBQbHVnaW5TZXR0aW5nc1ZhbHVlcztcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICByZXR1cm4gZGVmYXVsdFBsdWdpblNldHRpbmdzO1xufVxuXG4vKipcbiAqIENsb25lcyBwbHVnaW4gc2V0dGluZ3MgYnkgbG9hZGluZyB0aGVtIGZyb20gdGhlIGdpdmVuIHNldHRpbmdzIG9iamVjdCBhbmQgZGVmYXVsdCBzZXR0aW5ncyBmYWN0b3J5LlxuICpcbiAqIEB0eXBlUGFyYW0gUGx1Z2luU2V0dGluZ3MgLSBUaGUgdHlwZSBvZiBwbHVnaW4gc2V0dGluZ3Mgb2JqZWN0LlxuICogQHBhcmFtIGRlZmF1bHRQbHVnaW5TZXR0aW5nc0ZhY3RvcnkgLSBBIGZhY3RvcnkgZnVuY3Rpb24gdGhhdCByZXR1cm5zIHRoZSBkZWZhdWx0IHNldHRpbmdzLlxuICogQHBhcmFtIHNldHRpbmdzIC0gVGhlIHNldHRpbmdzIHRvIGNsb25lLlxuICogQHJldHVybnMgQSBuZXcgc2V0dGluZ3Mgb2JqZWN0IHRoYXQgaXMgYSBjbG9uZSBvZiB0aGUgcHJvdmlkZWQgc2V0dGluZ3MuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBjbG9uZVBsdWdpblNldHRpbmdzPFBsdWdpblNldHRpbmdzIGV4dGVuZHMgb2JqZWN0PihcbiAgZGVmYXVsdFBsdWdpblNldHRpbmdzRmFjdG9yeTogKCkgPT4gUGx1Z2luU2V0dGluZ3MsXG4gIHNldHRpbmdzOiBQbHVnaW5TZXR0aW5nc1xuKTogUGx1Z2luU2V0dGluZ3Mge1xuICByZXR1cm4gbG9hZFBsdWdpblNldHRpbmdzKGRlZmF1bHRQbHVnaW5TZXR0aW5nc0ZhY3RvcnksIHNldHRpbmdzKTtcbn1cbiJdLAogICJtYXBwaW5ncyI6ICI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsSUFBSSxvQkFBb0IsV0FBVyxpQkFBaUIsTUFBTSxNQUFJLFFBQVEsVUFBVSxFQUFFLGNBQWMsVUFBVSxHQUFHO0FBQzdHLElBQUksWUFBWSxXQUFXLFNBQVMsS0FBSztBQUFBLEVBQ3ZDLE9BQU8sTUFBSTtBQUFBLEVBQ1gsT0FBTyxDQUFDO0FBQUEsRUFDUixZQUFZO0FBQ2Q7QUFlTyxTQUFTLG1CQUNkLDhCQUNBLE1BQ2dCO0FBQ2hCLFFBQU0sd0JBQXdCLDZCQUE2QjtBQUszRCxNQUFJLFFBQVEsT0FBTyxTQUFTLFVBQVU7QUFDcEMsVUFBTSxTQUFTO0FBQ2YsZUFBVyxDQUFDLEtBQUssS0FBSyxLQUFLLE9BQU8sUUFBUSxNQUFNLEdBQUc7QUFDakQsVUFBSSxPQUFPLHVCQUF1QjtBQUNoQyw4QkFBc0IsR0FBeUIsSUFBSTtBQUFBLE1BQ3JEO0FBQUEsSUFDRjtBQUFBLEVBQ0Y7QUFFQSxTQUFPO0FBQ1Q7QUFVTyxTQUFTLG9CQUNkLDhCQUNBLFVBQ2dCO0FBQ2hCLFNBQU8sbUJBQW1CLDhCQUE4QixRQUFRO0FBQ2xFOyIsCiAgIm5hbWVzIjogW10KfQo=
|
@@ -1,23 +1,23 @@
|
|
1
1
|
/**
|
2
|
-
* @
|
2
|
+
* @packageDocumentation PluginSettings
|
3
3
|
* This module provides functions for loading and cloning plugin settings.
|
4
4
|
* It includes utilities for merging user settings with default settings and creating copies of settings.
|
5
5
|
*/
|
6
6
|
/**
|
7
7
|
* Loads plugin settings by merging provided data with default settings.
|
8
8
|
*
|
9
|
-
* @
|
10
|
-
* @param
|
11
|
-
* @param
|
12
|
-
* @returns
|
9
|
+
* @typeParam PluginSettings - The type of plugin settings object.
|
10
|
+
* @param defaultPluginSettingsFactory - A factory function that returns the default settings.
|
11
|
+
* @param data - The data to merge with the default settings.
|
12
|
+
* @returns The merged settings object.
|
13
13
|
*/
|
14
14
|
export declare function loadPluginSettings<PluginSettings extends object>(defaultPluginSettingsFactory: () => PluginSettings, data: unknown): PluginSettings;
|
15
15
|
/**
|
16
16
|
* Clones plugin settings by loading them from the given settings object and default settings factory.
|
17
17
|
*
|
18
|
-
* @
|
19
|
-
* @param
|
20
|
-
* @param
|
21
|
-
* @returns
|
18
|
+
* @typeParam PluginSettings - The type of plugin settings object.
|
19
|
+
* @param defaultPluginSettingsFactory - A factory function that returns the default settings.
|
20
|
+
* @param settings - The settings to clone.
|
21
|
+
* @returns A new settings object that is a clone of the provided settings.
|
22
22
|
*/
|
23
23
|
export declare function clonePluginSettings<PluginSettings extends object>(defaultPluginSettingsFactory: () => PluginSettings, settings: PluginSettings): PluginSettings;
|