UNPKG

vuex-tstore

Version:

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

40 lines 4.8 kB
import { Store } from "./store"; export { Store as TStore }; let installedVue = null; export 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); } 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; } } } export default { Store, install }; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiLi9zcmMvIiwic291cmNlcyI6WyJpbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sU0FBUyxDQUFDO0FBRWhDLE9BQU8sRUFBRSxLQUFLLElBQUksTUFBTSxFQUFFLENBQUM7QUFFM0IsSUFBSSxZQUFZLEdBQWUsSUFBSSxDQUFDO0FBRXBDLE1BQU0sVUFBVSxPQUFPLENBQUMsR0FBUTtJQUM5QixJQUFJLFlBQVksSUFBSSxHQUFHLEtBQUssWUFBWSxFQUFFO1FBQ3hDLE9BQU8sQ0FBQyxLQUFLLENBQ1gsOEVBQThFLENBQy9FLENBQUM7UUFDRixPQUFPO0tBQ1I7SUFFRCxZQUFZLEdBQUcsR0FBRyxDQUFDO0lBQ25CLFVBQVUsQ0FBQyxHQUFHLENBQUMsQ0FBQztBQUNsQixDQUFDO0FBRUQsU0FBUyxVQUFVLENBQUMsR0FBUTtJQUMxQixNQUFNLE9BQU8sR0FBRyxNQUFNLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUVsRCxJQUFJLE9BQU8sSUFBSSxDQUFDLEVBQUU7UUFDaEIsR0FBRyxDQUFDLEtBQUssQ0FBQyxFQUFFLFlBQVksRUFBRSxVQUFVLEVBQUUsQ0FBQyxDQUFDO0tBQ3pDO1NBQU07UUFDTCxNQUFNLEtBQUssR0FBRyxHQUFHLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQztRQUNsQyxHQUFHLENBQUMsU0FBUyxDQUFDLEtBQUssR0FBRyxVQUFTLFVBQWUsRUFBRTtZQUM5QyxPQUFPLENBQUMsSUFBSSxHQUFHLE9BQU8sQ0FBQyxJQUFJO2dCQUN6QixDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQztnQkFDbkMsQ0FBQyxDQUFDLFVBQVUsQ0FBQztZQUNmLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLE9BQU8sQ0FBQyxDQUFDO1FBQzVCLENBQUMsQ0FBQztLQUNIO0lBQ0QsU0FBUyxVQUFVO1FBQ2pCLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUM7UUFFOUIsSUFBSyxPQUFlLENBQUMsTUFBTSxFQUFFO1lBQzFCLElBQVksQ0FBQyxPQUFPO2dCQUNuQixPQUFRLE9BQWUsQ0FBQyxNQUFNLEtBQUssVUFBVTtvQkFDM0MsQ0FBQyxDQUFFLE9BQWUsQ0FBQyxNQUFNLEVBQUU7b0JBQzNCLENBQUMsQ0FBRSxPQUFlLENBQUMsTUFBTSxDQUFDO1NBQy9CO2FBQU0sSUFBSSxPQUFPLENBQUMsTUFBTSxJQUFLLE9BQU8sQ0FBQyxNQUFjLENBQUMsT0FBTyxFQUFFO1lBQzNELElBQVksQ0FBQyxPQUFPLEdBQUksT0FBTyxDQUFDLE1BQWMsQ0FBQyxPQUFPLENBQUM7U0FDekQ7SUFDSCxDQUFDO0FBQ0gsQ0FBQztBQUVELGVBQWUsRUFBRSxLQUFLLEVBQUUsT0FBTyxFQUFFLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgVnVlIGZyb20gXCJ2dWVcIjtcbmltcG9ydCB7IFN0b3JlIH0gZnJvbSBcIi4vc3RvcmVcIjtcblxuZXhwb3J0IHsgU3RvcmUgYXMgVFN0b3JlIH07XG5cbmxldCBpbnN0YWxsZWRWdWU6IFZ1ZSB8IG51bGwgPSBudWxsO1xuXG5leHBvcnQgZnVuY3Rpb24gaW5zdGFsbCh2dWU6IGFueSkge1xuICBpZiAoaW5zdGFsbGVkVnVlICYmIHZ1ZSA9PT0gaW5zdGFsbGVkVnVlKSB7XG4gICAgY29uc29sZS5lcnJvcihcbiAgICAgIFwiW3Z1ZXgtdHN0b3JlXSBhbHJlYWR5IGluc3RhbGxlZC4gVnVlLnVzZShUU3RvcmUpIHNob3VsZCBiZSBjYWxsZWQgb25seSBvbmNlLlwiXG4gICAgKTtcbiAgICByZXR1cm47XG4gIH1cblxuICBpbnN0YWxsZWRWdWUgPSB2dWU7XG4gIGFwcGx5TWl4aW4odnVlKTtcbn1cblxuZnVuY3Rpb24gYXBwbHlNaXhpbih2dWU6IGFueSkge1xuICBjb25zdCB2ZXJzaW9uID0gTnVtYmVyKHZ1ZS52ZXJzaW9uLnNwbGl0KFwiLlwiKVswXSk7XG5cbiAgaWYgKHZlcnNpb24gPj0gMikge1xuICAgIHZ1ZS5taXhpbih7IGJlZm9yZUNyZWF0ZTogdHN0b3JlSW5pdCB9KTtcbiAgfSBlbHNlIHtcbiAgICBjb25zdCBfaW5pdCA9IHZ1ZS5wcm90b3R5cGUuX2luaXQ7XG4gICAgdnVlLnByb3RvdHlwZS5faW5pdCA9IGZ1bmN0aW9uKG9wdGlvbnM6IGFueSA9IHt9KSB7XG4gICAgICBvcHRpb25zLmluaXQgPSBvcHRpb25zLmluaXRcbiAgICAgICAgPyBbdHN0b3JlSW5pdF0uY29uY2F0KG9wdGlvbnMuaW5pdClcbiAgICAgICAgOiB0c3RvcmVJbml0O1xuICAgICAgX2luaXQuY2FsbCh0aGlzLCBvcHRpb25zKTtcbiAgICB9O1xuICB9XG4gIGZ1bmN0aW9uIHRzdG9yZUluaXQodGhpczogVnVlKSB7XG4gICAgY29uc3Qgb3B0aW9ucyA9IHRoaXMuJG9wdGlvbnM7XG5cbiAgICBpZiAoKG9wdGlvbnMgYXMgYW55KS50c3RvcmUpIHtcbiAgICAgICh0aGlzIGFzIGFueSkuJHRzdG9yZSA9XG4gICAgICAgIHR5cGVvZiAob3B0aW9ucyBhcyBhbnkpLnRzdG9yZSA9PT0gXCJmdW5jdGlvblwiXG4gICAgICAgICAgPyAob3B0aW9ucyBhcyBhbnkpLnRzdG9yZSgpXG4gICAgICAgICAgOiAob3B0aW9ucyBhcyBhbnkpLnRzdG9yZTtcbiAgICB9IGVsc2UgaWYgKG9wdGlvbnMucGFyZW50ICYmIChvcHRpb25zLnBhcmVudCBhcyBhbnkpLiR0c3RvcmUpIHtcbiAgICAgICh0aGlzIGFzIGFueSkuJHRzdG9yZSA9IChvcHRpb25zLnBhcmVudCBhcyBhbnkpLiR0c3RvcmU7XG4gICAgfVxuICB9XG59XG5cbmV4cG9ydCBkZWZhdWx0IHsgU3RvcmUsIGluc3RhbGwgfTtcbiJdfQ==