@owlsdepartment/vuex-typed
Version:
Package for writing typed Vuex store with component helpers
38 lines (37 loc) • 1.23 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.AddHelpers = void 0;
var AddHelpers = /** @class */ (function () {
function AddHelpers(obj) {
if ('map' in obj) {
console.error('[vuex-typed] Method `map` is present in passed object. This behaviour is not intended as it will override helper method `map`.');
}
Object.assign(this, obj);
}
AddHelpers.wrap = function (obj) {
return new AddHelpers(obj);
};
AddHelpers.prototype.map = function (keys) {
var _this = this;
if (Array.isArray(keys)) {
return keys.reduce(function (acc, key) {
if (_this[key]) {
acc[key] = _this[key];
}
return acc;
}, {});
}
else {
var out = {};
for (var _i = 0, _a = Object.entries(keys); _i < _a.length; _i++) {
var _b = _a[_i], outputKey = _b[0], baseKey = _b[1];
if (this[baseKey]) {
out[outputKey] = this[baseKey];
}
}
return out;
}
};
return AddHelpers;
}());
exports.AddHelpers = AddHelpers;