UNPKG

@grnsft/if

Version:

Impact Framework

34 lines 3.25 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.pluginStorage = void 0; const utils_1 = require("@grnsft/if-core/utils"); const config_1 = require("../config"); const { PluginInitializationError } = utils_1.ERRORS; const { NOT_INITALIZED_PLUGIN } = config_1.STRINGS; /** * Storage for maintaining plugins. */ const pluginStorage = () => { const storage = {}; return { /** * Gets plugin by given `name`. If it's missing then throws error. */ get: (name) => { const plugin = storage[name]; if (!plugin) { throw new PluginInitializationError(NOT_INITALIZED_PLUGIN(name)); } return plugin; }, /** * Saves given `plugin` with given `name`. */ set: function (name, plugin) { storage[name] = plugin; return this; }, }; }; exports.pluginStorage = pluginStorage; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGx1Z2luLXN0b3JhZ2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvaWYtcnVuL3V0aWwvcGx1Z2luLXN0b3JhZ2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsaURBQTZDO0FBRzdDLHNDQUFrQztBQUlsQyxNQUFNLEVBQUMseUJBQXlCLEVBQUMsR0FBRyxjQUFNLENBQUM7QUFDM0MsTUFBTSxFQUFDLHFCQUFxQixFQUFDLEdBQUcsZ0JBQU8sQ0FBQztBQUV4Qzs7R0FFRztBQUNJLE1BQU0sYUFBYSxHQUFHLEdBQUcsRUFBRTtJQUNoQyxNQUFNLE9BQU8sR0FBa0IsRUFBRSxDQUFDO0lBRWxDLE9BQU87UUFDTDs7V0FFRztRQUNILEdBQUcsRUFBRSxDQUFDLElBQVksRUFBRSxFQUFFO1lBQ3BCLE1BQU0sTUFBTSxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUU3QixJQUFJLENBQUMsTUFBTSxFQUFFO2dCQUNYLE1BQU0sSUFBSSx5QkFBeUIsQ0FBQyxxQkFBcUIsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO2FBQ2xFO1lBRUQsT0FBTyxNQUFNLENBQUM7UUFDaEIsQ0FBQztRQUNEOztXQUVHO1FBQ0gsR0FBRyxFQUFFLFVBQVUsSUFBWSxFQUFFLE1BQXVCO1lBQ2xELE9BQU8sQ0FBQyxJQUFJLENBQUMsR0FBRyxNQUFNLENBQUM7WUFFdkIsT0FBTyxJQUFJLENBQUM7UUFDZCxDQUFDO0tBQ0YsQ0FBQztBQUNKLENBQUMsQ0FBQztBQXpCVyxRQUFBLGFBQWEsaUJBeUJ4QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7RVJST1JTfSBmcm9tICdAZ3Juc2Z0L2lmLWNvcmUvdXRpbHMnO1xuaW1wb3J0IHtQbHVnaW5JbnRlcmZhY2V9IGZyb20gJ0Bncm5zZnQvaWYtY29yZS90eXBlcyc7XG5cbmltcG9ydCB7U1RSSU5HU30gZnJvbSAnLi4vY29uZmlnJztcblxuaW1wb3J0IHtQbHVnaW5TdG9yYWdlfSBmcm9tICcuLi90eXBlcy9wbHVnaW4tc3RvcmFnZSc7XG5cbmNvbnN0IHtQbHVnaW5Jbml0aWFsaXphdGlvbkVycm9yfSA9IEVSUk9SUztcbmNvbnN0IHtOT1RfSU5JVEFMSVpFRF9QTFVHSU59ID0gU1RSSU5HUztcblxuLyoqXG4gKiBTdG9yYWdlIGZvciBtYWludGFpbmluZyBwbHVnaW5zLlxuICovXG5leHBvcnQgY29uc3QgcGx1Z2luU3RvcmFnZSA9ICgpID0+IHtcbiAgY29uc3Qgc3RvcmFnZTogUGx1Z2luU3RvcmFnZSA9IHt9O1xuXG4gIHJldHVybiB7XG4gICAgLyoqXG4gICAgICogR2V0cyBwbHVnaW4gYnkgZ2l2ZW4gYG5hbWVgLiBJZiBpdCdzIG1pc3NpbmcgdGhlbiB0aHJvd3MgZXJyb3IuXG4gICAgICovXG4gICAgZ2V0OiAobmFtZTogc3RyaW5nKSA9PiB7XG4gICAgICBjb25zdCBwbHVnaW4gPSBzdG9yYWdlW25hbWVdO1xuXG4gICAgICBpZiAoIXBsdWdpbikge1xuICAgICAgICB0aHJvdyBuZXcgUGx1Z2luSW5pdGlhbGl6YXRpb25FcnJvcihOT1RfSU5JVEFMSVpFRF9QTFVHSU4obmFtZSkpO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gcGx1Z2luO1xuICAgIH0sXG4gICAgLyoqXG4gICAgICogU2F2ZXMgZ2l2ZW4gYHBsdWdpbmAgd2l0aCBnaXZlbiBgbmFtZWAuXG4gICAgICovXG4gICAgc2V0OiBmdW5jdGlvbiAobmFtZTogc3RyaW5nLCBwbHVnaW46IFBsdWdpbkludGVyZmFjZSkge1xuICAgICAgc3RvcmFnZVtuYW1lXSA9IHBsdWdpbjtcblxuICAgICAgcmV0dXJuIHRoaXM7XG4gICAgfSxcbiAgfTtcbn07XG4iXX0=