Scribe.js/dist/libs/MultiValueMap.js
bluejamesbond b29dcb6a6c
Updating UI for perf; core fixes
Adding socket options

Core changes; config management; serializing
2016-04-11 06:06:51 -05:00

70 lines
1.6 KiB
JavaScript

"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
var _map = require("babel-runtime/core-js/map");
var _map2 = _interopRequireDefault(_map);
var _classCallCheck2 = require("babel-runtime/helpers/classCallCheck");
var _classCallCheck3 = _interopRequireDefault(_classCallCheck2);
var _createClass2 = require("babel-runtime/helpers/createClass");
var _createClass3 = _interopRequireDefault(_createClass2);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
var multiValueMap = function () {
function multiValueMap() {
(0, _classCallCheck3.default)(this, multiValueMap);
this._map = new _map2.default();
}
(0, _createClass3.default)(multiValueMap, [{
key: "get",
value: function get(key) {
if (!this._map.has(key)) {
this._map.set(key, []);
}
return this._map.get(key);
}
}, {
key: "has",
value: function has(key) {
return Array.isArray(this._map.get(key));
}
}, {
key: "set",
value: function set(key) {
var data = this.get(key);
for (var _len = arguments.length, values = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {
values[_key - 1] = arguments[_key];
}
this._map.set(key, data.concat.apply(data, values));
return this;
}
}, {
key: "remove",
value: function remove(key) {
this._map.set(key, []);
}
}, {
key: "move",
value: function move(old, key) {
this._map.set(key, this._map.get(old));
this._map.remove(old);
}
}]);
return multiValueMap;
}();
exports.default = multiValueMap;