@vanakat/plugin-api
Version:
Obsidian helper for inter-plugin API communication
17 lines • 2.33 kB
JavaScript
import { Notice } from 'obsidian';
export function registerAPI(name, api, plugin) {
window['PluginApi'] = window['PluginApi'] || {};
window['PluginApi'][name] = api;
plugin.register(() => {
delete window['PluginApi'][name];
});
}
export function pluginApi(name) {
if ('PluginApi' in window && name in window['PluginApi']) {
return window['PluginApi'][name];
}
else {
new Notice(`Plugin ${name} not found. Please install ${name} first.`);
}
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJpbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQVUsTUFBTSxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBUTFDLE1BQU0sVUFBVSxXQUFXLENBQUMsSUFBWSxFQUFFLEdBQVEsRUFBRSxNQUFjO0lBQzlELE1BQU0sQ0FBQyxXQUFXLENBQUMsR0FBRyxNQUFNLENBQUMsV0FBVyxDQUFDLElBQUksRUFBRSxDQUFDO0lBRWhELE1BQU0sQ0FBQyxXQUFXLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxHQUFHLENBQUM7SUFFaEMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxHQUFHLEVBQUU7UUFDakIsT0FBTyxNQUFNLENBQUMsV0FBVyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDckMsQ0FBQyxDQUFDLENBQUM7QUFDUCxDQUFDO0FBRUQsTUFBTSxVQUFVLFNBQVMsQ0FBQyxJQUFZO0lBQ2xDLElBQUksV0FBVyxJQUFJLE1BQU0sSUFBSSxJQUFJLElBQUksTUFBTSxDQUFDLFdBQVcsQ0FBQyxFQUFFLENBQUM7UUFDdkQsT0FBTyxNQUFNLENBQUMsV0FBVyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDckMsQ0FBQztTQUFNLENBQUM7UUFDSixJQUFJLE1BQU0sQ0FBQyxVQUFVLElBQUksOEJBQThCLElBQUksU0FBUyxDQUFDLENBQUE7SUFDekUsQ0FBQztBQUNMLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQbHVnaW4sIE5vdGljZSB9IGZyb20gJ29ic2lkaWFuJztcblxuZGVjbGFyZSBnbG9iYWwge1xuICAgIGludGVyZmFjZSBXaW5kb3cge1xuICAgICAgICBbJ1BsdWdpbkFwaSddPzogYW55XG4gICAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gcmVnaXN0ZXJBUEkobmFtZTogc3RyaW5nLCBhcGk6IGFueSwgcGx1Z2luOiBQbHVnaW4pIHtcbiAgICB3aW5kb3dbJ1BsdWdpbkFwaSddID0gd2luZG93WydQbHVnaW5BcGknXSB8fCB7fTtcblxuICAgIHdpbmRvd1snUGx1Z2luQXBpJ11bbmFtZV0gPSBhcGk7XG5cbiAgICBwbHVnaW4ucmVnaXN0ZXIoKCkgPT4ge1xuICAgICAgICBkZWxldGUgd2luZG93WydQbHVnaW5BcGknXVtuYW1lXTtcbiAgICB9KTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHBsdWdpbkFwaShuYW1lOiBzdHJpbmcpIHtcbiAgICBpZiAoJ1BsdWdpbkFwaScgaW4gd2luZG93ICYmIG5hbWUgaW4gd2luZG93WydQbHVnaW5BcGknXSkge1xuICAgICAgICByZXR1cm4gd2luZG93WydQbHVnaW5BcGknXVtuYW1lXTtcbiAgICB9IGVsc2Uge1xuICAgICAgICBuZXcgTm90aWNlKGBQbHVnaW4gJHtuYW1lfSBub3QgZm91bmQuIFBsZWFzZSBpbnN0YWxsICR7bmFtZX0gZmlyc3QuYClcbiAgICB9XG59XG4iXX0=