update(deps): scaffold

This commit is contained in:
windingwind 2025-01-06 19:45:43 +01:00
parent 63f8ce3a58
commit 4fae5a422f
3 changed files with 79 additions and 4490 deletions

4525
package-lock.json generated

File diff suppressed because it is too large Load Diff

View File

@ -18,6 +18,7 @@
"release": "zotero-plugin release",
"lint": "prettier --write . && eslint . --ext .ts --fix",
"test": "zotero-plugin test --abort-on-fail --exit-on-finish",
"test-dev": "zotero-plugin test --abort-on-fail",
"update-deps": "npm update --save"
},
"repository": {
@ -87,7 +88,7 @@
"replace-in-file": "^7.2.0",
"typescript": "^5.7.2",
"xslt3": "^2.7.0",
"zotero-plugin-scaffold": "0.2.0-beta.5",
"zotero-plugin-scaffold": "^0.2.0-beta.17",
"zotero-types": "^3.1.0"
},
"eslintConfig": {

View File

@ -1,18 +1,38 @@
import { config } from "../../package.json";
export function getPref(key: string) {
return Zotero.Prefs.get(`${config.prefsPrefix}.${key}`, true);
export {
getPref,
setPref,
clearPref,
getPrefJSON,
registerPrefObserver,
unregisterPrefObserver,
};
type _PluginPrefsMap = object;
function getPref<K extends keyof _PluginPrefsMap>(key: K): _PluginPrefsMap[K];
function getPref(key: string): string | number | boolean;
function getPref(key: string): string | number | boolean {
return Zotero.Prefs.get(`${config.prefsPrefix}.${key}`, true) as any;
}
export function setPref(key: string, value: string | number | boolean) {
function setPref<K extends keyof _PluginPrefsMap>(
key: K,
value: _PluginPrefsMap[K],
): void;
function setPref(key: string, value: string | number | boolean): void;
function setPref(key: string, value: string | number | boolean) {
return Zotero.Prefs.set(`${config.prefsPrefix}.${key}`, value, true);
}
export function clearPref(key: string) {
function clearPref<K extends keyof _PluginPrefsMap>(key: K): void;
function clearPref(key: string): void;
function clearPref(key: string) {
return Zotero.Prefs.clear(`${config.prefsPrefix}.${key}`, true);
}
export function getPrefJSON(key: string) {
function getPrefJSON(key: string) {
try {
return JSON.parse(String(getPref(key) || "{}"));
} catch (e) {
@ -21,10 +41,15 @@ export function getPrefJSON(key: string) {
return {};
}
export function registerPrefObserver(
function registerPrefObserver<K extends keyof _PluginPrefsMap>(
key: K,
callback: (value: _PluginPrefsMap[K]) => void,
): symbol;
function registerPrefObserver(
key: string,
callback: (value: any) => void,
) {
): symbol;
function registerPrefObserver(key: string, callback: (value: any) => void) {
return Zotero.Prefs.registerObserver(
`${config.prefsPrefix}.${key}`,
callback,
@ -32,6 +57,6 @@ export function registerPrefObserver(
);
}
export function unregisterPrefObserver(observerID: symbol) {
function unregisterPrefObserver(observerID: symbol) {
return Zotero.Prefs.unregisterObserver(observerID);
}