zent
Version:
一套前端设计语言和基于React的实现
67 lines (54 loc) • 1.56 kB
JavaScript
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
var _classCallCheck2 = require('babel-runtime/helpers/classCallCheck');
var _classCallCheck3 = _interopRequireDefault(_classCallCheck2);
var _createClass2 = require('babel-runtime/helpers/createClass');
var _createClass3 = _interopRequireDefault(_createClass2);
var _has2 = require('lodash/has');
var _has3 = _interopRequireDefault(_has2);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }
var InstanceCountMap = function () {
function InstanceCountMap(defaultValue) {
(0, _classCallCheck3['default'])(this, InstanceCountMap);
this.defaultValue = defaultValue;
this.map = {};
}
(0, _createClass3['default'])(InstanceCountMap, [{
key: 'get',
value: function get(key) {
if ((0, _has3['default'])(this.map, key)) {
return this.map[key];
}
return this.defaultValue;
}
}, {
key: 'set',
value: function set(key, value) {
this.map[key] = value;
return this;
}
}, {
key: 'has',
value: function has(key) {
return (0, _has3['default'])(this.map, key);
}
}, {
key: 'inc',
value: function inc(key) {
var oldValue = this.get(key);
this.set(key, oldValue + 1);
return this;
}
}, {
key: 'dec',
value: function dec(key) {
var oldValue = this.get(key);
this.set(key, oldValue - 1);
return this;
}
}]);
return InstanceCountMap;
}();
exports['default'] = InstanceCountMap;