banggood-store
Version:
bang data store
40 lines (30 loc) • 1.17 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = undefined;
var _classCallCheck2 = require('babel-runtime/helpers/classCallCheck');
var _classCallCheck3 = _interopRequireDefault(_classCallCheck2);
exports.createEvent = createEvent;
var _invariant = require('invariant');
var _invariant2 = _interopRequireDefault(_invariant);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
var EventScope = function EventScope(name, events) {
(0, _classCallCheck3.default)(this, EventScope);
this.name = 'default';
this.events = [];
(0, _invariant2.default)(typeof name === 'string', 'resource name must be string.');
(0, _invariant2.default)(name !== '', 'resource name can not be null.');
this.name = name;
for (var key in events) {
var event = createEvent(name, events[key]);
this.events.push(event);
//后续优化为Object.defineProperty
this[key] = { name: event, scope: name };
}
};
exports.default = EventScope;
function createEvent(scope, name) {
return scope + '/' + name;
// return {scope, name};
}