indexr
Version:
Automated dynamic indexes for your ES6+ source code.
41 lines (29 loc) • 1.24 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
function _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } else { return Array.from(arr); } }
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
var data = {};
exports.default = function (key) {
var decorator = function decorator(val) {
var _ref;
return _ref = {}, _defineProperty(_ref, key, data[key]), _defineProperty(_ref, "value", val), _ref;
};
function store(value, next) {
data[key] = value;
next(null, value);
}
function decorate(func) {
return function () {
for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {
args[_key] = arguments[_key];
}
var firstArg = args[0];
var rest = args.slice(1);
return func.apply(undefined, [decorator(firstArg)].concat(_toConsumableArray(rest)));
};
}
return { store: store, decorate: decorate };
};
module.exports = exports["default"];