UNPKG

vuex-tstore

Version:

Provides a low-overhead TypeScript wrapper around Vuex that can trigger compilation errors and IntelliSense tips.

44 lines 5.01 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.install = exports.TStore = void 0; const store_1 = require("./store"); Object.defineProperty(exports, "TStore", { enumerable: true, get: function () { return store_1.Store; } }); let installedVue = null; function install(vue) { if (installedVue && vue === installedVue) { console.error("[vuex-tstore] already installed. Vue.use(TStore) should be called only once."); return; } installedVue = vue; applyMixin(vue); } exports.install = install; function applyMixin(vue) { const version = Number(vue.version.split(".")[0]); if (version >= 2) { vue.mixin({ beforeCreate: tstoreInit }); } else { const _init = vue.prototype._init; vue.prototype._init = function (options = {}) { options.init = options.init ? [tstoreInit].concat(options.init) : tstoreInit; _init.call(this, options); }; } function tstoreInit() { const options = this.$options; if (options.tstore) { this.$tstore = typeof options.tstore === "function" ? options.tstore() : options.tstore; } else if (options.parent && options.parent.$tstore) { this.$tstore = options.parent.$tstore; } } } exports.default = { Store: store_1.Store, install }; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiLi9zcmMvIiwic291cmNlcyI6WyJpbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFDQSxtQ0FBZ0M7QUFFZCx1RkFGVCxhQUFLLE9BRVU7QUFFeEIsSUFBSSxZQUFZLEdBQWUsSUFBSSxDQUFDO0FBRXBDLFNBQWdCLE9BQU8sQ0FBQyxHQUFRO0lBQzlCLElBQUksWUFBWSxJQUFJLEdBQUcsS0FBSyxZQUFZLEVBQUU7UUFDeEMsT0FBTyxDQUFDLEtBQUssQ0FDWCw4RUFBOEUsQ0FDL0UsQ0FBQztRQUNGLE9BQU87S0FDUjtJQUVELFlBQVksR0FBRyxHQUFHLENBQUM7SUFDbkIsVUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0FBQ2xCLENBQUM7QUFWRCwwQkFVQztBQUVELFNBQVMsVUFBVSxDQUFDLEdBQVE7SUFDMUIsTUFBTSxPQUFPLEdBQUcsTUFBTSxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFFbEQsSUFBSSxPQUFPLElBQUksQ0FBQyxFQUFFO1FBQ2hCLEdBQUcsQ0FBQyxLQUFLLENBQUMsRUFBRSxZQUFZLEVBQUUsVUFBVSxFQUFFLENBQUMsQ0FBQztLQUN6QztTQUFNO1FBQ0wsTUFBTSxLQUFLLEdBQUcsR0FBRyxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUM7UUFDbEMsR0FBRyxDQUFDLFNBQVMsQ0FBQyxLQUFLLEdBQUcsVUFBUyxVQUFlLEVBQUU7WUFDOUMsT0FBTyxDQUFDLElBQUksR0FBRyxPQUFPLENBQUMsSUFBSTtnQkFDekIsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUM7Z0JBQ25DLENBQUMsQ0FBQyxVQUFVLENBQUM7WUFDZixLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxPQUFPLENBQUMsQ0FBQztRQUM1QixDQUFDLENBQUM7S0FDSDtJQUNELFNBQVMsVUFBVTtRQUNqQixNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDO1FBRTlCLElBQUssT0FBZSxDQUFDLE1BQU0sRUFBRTtZQUMxQixJQUFZLENBQUMsT0FBTztnQkFDbkIsT0FBUSxPQUFlLENBQUMsTUFBTSxLQUFLLFVBQVU7b0JBQzNDLENBQUMsQ0FBRSxPQUFlLENBQUMsTUFBTSxFQUFFO29CQUMzQixDQUFDLENBQUUsT0FBZSxDQUFDLE1BQU0sQ0FBQztTQUMvQjthQUFNLElBQUksT0FBTyxDQUFDLE1BQU0sSUFBSyxPQUFPLENBQUMsTUFBYyxDQUFDLE9BQU8sRUFBRTtZQUMzRCxJQUFZLENBQUMsT0FBTyxHQUFJLE9BQU8sQ0FBQyxNQUFjLENBQUMsT0FBTyxDQUFDO1NBQ3pEO0lBQ0gsQ0FBQztBQUNILENBQUM7QUFFRCxrQkFBZSxFQUFFLEtBQUssRUFBTCxhQUFLLEVBQUUsT0FBTyxFQUFFLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgVnVlIGZyb20gXCJ2dWVcIjtcbmltcG9ydCB7IFN0b3JlIH0gZnJvbSBcIi4vc3RvcmVcIjtcblxuZXhwb3J0IHsgU3RvcmUgYXMgVFN0b3JlIH07XG5cbmxldCBpbnN0YWxsZWRWdWU6IFZ1ZSB8IG51bGwgPSBudWxsO1xuXG5leHBvcnQgZnVuY3Rpb24gaW5zdGFsbCh2dWU6IGFueSkge1xuICBpZiAoaW5zdGFsbGVkVnVlICYmIHZ1ZSA9PT0gaW5zdGFsbGVkVnVlKSB7XG4gICAgY29uc29sZS5lcnJvcihcbiAgICAgIFwiW3Z1ZXgtdHN0b3JlXSBhbHJlYWR5IGluc3RhbGxlZC4gVnVlLnVzZShUU3RvcmUpIHNob3VsZCBiZSBjYWxsZWQgb25seSBvbmNlLlwiXG4gICAgKTtcbiAgICByZXR1cm47XG4gIH1cblxuICBpbnN0YWxsZWRWdWUgPSB2dWU7XG4gIGFwcGx5TWl4aW4odnVlKTtcbn1cblxuZnVuY3Rpb24gYXBwbHlNaXhpbih2dWU6IGFueSkge1xuICBjb25zdCB2ZXJzaW9uID0gTnVtYmVyKHZ1ZS52ZXJzaW9uLnNwbGl0KFwiLlwiKVswXSk7XG5cbiAgaWYgKHZlcnNpb24gPj0gMikge1xuICAgIHZ1ZS5taXhpbih7IGJlZm9yZUNyZWF0ZTogdHN0b3JlSW5pdCB9KTtcbiAgfSBlbHNlIHtcbiAgICBjb25zdCBfaW5pdCA9IHZ1ZS5wcm90b3R5cGUuX2luaXQ7XG4gICAgdnVlLnByb3RvdHlwZS5faW5pdCA9IGZ1bmN0aW9uKG9wdGlvbnM6IGFueSA9IHt9KSB7XG4gICAgICBvcHRpb25zLmluaXQgPSBvcHRpb25zLmluaXRcbiAgICAgICAgPyBbdHN0b3JlSW5pdF0uY29uY2F0KG9wdGlvbnMuaW5pdClcbiAgICAgICAgOiB0c3RvcmVJbml0O1xuICAgICAgX2luaXQuY2FsbCh0aGlzLCBvcHRpb25zKTtcbiAgICB9O1xuICB9XG4gIGZ1bmN0aW9uIHRzdG9yZUluaXQodGhpczogVnVlKSB7XG4gICAgY29uc3Qgb3B0aW9ucyA9IHRoaXMuJG9wdGlvbnM7XG5cbiAgICBpZiAoKG9wdGlvbnMgYXMgYW55KS50c3RvcmUpIHtcbiAgICAgICh0aGlzIGFzIGFueSkuJHRzdG9yZSA9XG4gICAgICAgIHR5cGVvZiAob3B0aW9ucyBhcyBhbnkpLnRzdG9yZSA9PT0gXCJmdW5jdGlvblwiXG4gICAgICAgICAgPyAob3B0aW9ucyBhcyBhbnkpLnRzdG9yZSgpXG4gICAgICAgICAgOiAob3B0aW9ucyBhcyBhbnkpLnRzdG9yZTtcbiAgICB9IGVsc2UgaWYgKG9wdGlvbnMucGFyZW50ICYmIChvcHRpb25zLnBhcmVudCBhcyBhbnkpLiR0c3RvcmUpIHtcbiAgICAgICh0aGlzIGFzIGFueSkuJHRzdG9yZSA9IChvcHRpb25zLnBhcmVudCBhcyBhbnkpLiR0c3RvcmU7XG4gICAgfVxuICB9XG59XG5cbmV4cG9ydCBkZWZhdWx0IHsgU3RvcmUsIGluc3RhbGwgfTtcbiJdfQ==