29 lines
741 B
TypeScript
29 lines
741 B
TypeScript
import { BasicTool } from "zotero-plugin-toolkit";
|
|
import Addon from "./addon";
|
|
import { config } from "../package.json";
|
|
|
|
const basicTool = new BasicTool();
|
|
|
|
if (!basicTool.getGlobal("Zotero")[config.addonInstance]) {
|
|
// Set global variables
|
|
defineGlobal("window");
|
|
defineGlobal("document");
|
|
defineGlobal("ZoteroPane");
|
|
defineGlobal("Zotero_Tabs");
|
|
_globalThis.addon = new Addon();
|
|
Object.defineProperty(_globalThis, "ztoolkit", {
|
|
get() {
|
|
return _globalThis.addon.data.ztoolkit;
|
|
},
|
|
});
|
|
Zotero[config.addonInstance] = addon;
|
|
}
|
|
|
|
function defineGlobal(name: Parameters<BasicTool["getGlobal"]>[0]) {
|
|
Object.defineProperty(_globalThis, name, {
|
|
get() {
|
|
return basicTool.getGlobal(name);
|
|
},
|
|
});
|
|
}
|