koconut
Version:
Provide interchainable array, set, map and etc supporting both normal and async callbacks as their action arguments.
1,342 lines (1,339 loc) • 88.7 kB
JavaScript
'use strict';
var _interopRequireDefault = require('@babel/runtime/helpers/interopRequireDefault');
Object.defineProperty(exports, '__esModule', {
value: true,
});
exports.KoconutMap = void 0;
var _regenerator = _interopRequireDefault(
require('@babel/runtime/regenerator'),
);
var _slicedToArray2 = _interopRequireDefault(
require('@babel/runtime/helpers/slicedToArray'),
);
var _asyncToGenerator2 = _interopRequireDefault(
require('@babel/runtime/helpers/asyncToGenerator'),
);
var _classCallCheck2 = _interopRequireDefault(
require('@babel/runtime/helpers/classCallCheck'),
);
var _createClass2 = _interopRequireDefault(
require('@babel/runtime/helpers/createClass'),
);
var _assertThisInitialized2 = _interopRequireDefault(
require('@babel/runtime/helpers/assertThisInitialized'),
);
var _get2 = _interopRequireDefault(require('@babel/runtime/helpers/get'));
var _inherits2 = _interopRequireDefault(
require('@babel/runtime/helpers/inherits'),
);
var _possibleConstructorReturn2 = _interopRequireDefault(
require('@babel/runtime/helpers/possibleConstructorReturn'),
);
var _getPrototypeOf2 = _interopRequireDefault(
require('@babel/runtime/helpers/getPrototypeOf'),
);
var _defineProperty2 = _interopRequireDefault(
require('@babel/runtime/helpers/defineProperty'),
);
var _module = require('../../../module');
function _createForOfIteratorHelper(o, allowArrayLike) {
var it =
(typeof Symbol !== 'undefined' && o[Symbol.iterator]) || o['@@iterator'];
if (!it) {
if (
Array.isArray(o) ||
(it = _unsupportedIterableToArray(o)) ||
(allowArrayLike && o && typeof o.length === 'number')
) {
if (it) o = it;
var i = 0;
var F = function F() {};
return {
s: F,
n: function n() {
if (i >= o.length) return { done: true };
return { done: false, value: o[i++] };
},
e: function e(_e) {
throw _e;
},
f: F,
};
}
throw new TypeError(
'Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.',
);
}
var normalCompletion = true;
var didErr = false;
var err;
return {
s: function s() {
it = it.call(o);
},
n: function n() {
var step = it.next();
normalCompletion = step.done;
return step;
},
e: function e(_e2) {
didErr = true;
err = _e2;
},
f: function f() {
try {
if (!normalCompletion && it['return'] != null) it['return']();
} finally {
if (didErr) throw err;
}
},
};
}
function _unsupportedIterableToArray(o, minLen) {
if (!o) return;
if (typeof o === 'string') return _arrayLikeToArray(o, minLen);
var n = Object.prototype.toString.call(o).slice(8, -1);
if (n === 'Object' && o.constructor) n = o.constructor.name;
if (n === 'Map' || n === 'Set') return Array.from(o);
if (n === 'Arguments' || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))
return _arrayLikeToArray(o, minLen);
}
function _arrayLikeToArray(arr, len) {
if (len == null || len > arr.length) len = arr.length;
for (var i = 0, arr2 = new Array(len); i < len; i++) {
arr2[i] = arr[i];
}
return arr2;
}
function _createSuper(Derived) {
var hasNativeReflectConstruct = _isNativeReflectConstruct();
return function _createSuperInternal() {
var Super = (0, _getPrototypeOf2['default'])(Derived);
var result;
if (hasNativeReflectConstruct) {
var NewTarget = (0, _getPrototypeOf2['default'])(this).constructor;
result = Reflect.construct(Super, arguments, NewTarget);
} else {
result = Super.apply(this, arguments);
}
return (0, _possibleConstructorReturn2['default'])(this, result);
};
}
function _isNativeReflectConstruct() {
if (typeof Reflect === 'undefined' || !Reflect.construct) return false;
if (Reflect.construct.sham) return false;
if (typeof Proxy === 'function') return true;
try {
Boolean.prototype.valueOf.call(
Reflect.construct(Boolean, [], function () {}),
);
return true;
} catch (e) {
return false;
}
}
('use strict');
var KoconutMap = (function (_KoconutIterable) {
(0, _inherits2['default'])(KoconutMap, _KoconutIterable);
var _super = _createSuper(KoconutMap);
function KoconutMap() {
var _this;
var map =
arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;
(0, _classCallCheck2['default'])(this, KoconutMap);
_this = _super.call(this);
(0, _defineProperty2['default'])(
(0, _assertThisInitialized2['default'])(_this),
'mKeys',
new Set(),
);
(0, _defineProperty2['default'])(
(0, _assertThisInitialized2['default'])(_this),
'mValues',
new Array(),
);
var mapObject = new Map();
if (map != null) {
var _iterator = _createForOfIteratorHelper(map);
var _step;
try {
for (_iterator.s(); !(_step = _iterator.n()).done; ) {
var eachEntry = _step.value;
if (eachEntry instanceof _module.Entry)
mapObject.set(eachEntry.key, eachEntry.value);
else if (eachEntry instanceof _module.Pair)
mapObject.set(eachEntry.first, eachEntry.second);
else mapObject.set(eachEntry[0], eachEntry[1]);
}
} catch (err) {
_iterator.e(err);
} finally {
_iterator.f();
}
}
_this.data = mapObject;
return _this;
}
(0, _createClass2['default'])(
KoconutMap,
[
{
key: 'validate',
value: (function () {
var _validate = (0, _asyncToGenerator2['default'])(
_regenerator['default'].mark(function _callee(data) {
var _iterator2;
var _step2;
var _step2$value;
var key;
var value;
var _this$data;
var isConflict;
var _iterator3;
var _step3;
var eachPrevEquatableKey;
var equalityResult;
return _regenerator['default'].wrap(
function _callee$(_context) {
while (1) {
switch ((_context.prev = _context.next)) {
case 0:
if (!(data != null)) {
_context.next = 53;
break;
}
this.combinedDataWrapper = new Set();
_iterator2 = _createForOfIteratorHelper(data.entries());
_context.prev = 3;
_iterator2.s();
case 5:
if ((_step2 = _iterator2.n()).done) {
_context.next = 44;
break;
}
(_step2$value = (0, _slicedToArray2['default'])(
_step2.value,
2,
)),
(key = _step2$value[0]),
(value = _step2$value[1]);
if (!_module.KoconutTypeChecker.checkIsEquatable(key)) {
_context.next = 39;
break;
}
isConflict = false;
_iterator3 = _createForOfIteratorHelper(this.mKeys);
_context.prev = 10;
_iterator3.s();
case 12:
if ((_step3 = _iterator3.n()).done) {
_context.next = 28;
break;
}
eachPrevEquatableKey = _step3.value;
equalityResult = key.equalsTo(eachPrevEquatableKey);
_context.t1 =
equalityResult instanceof _module.KoconutPrimitive;
if (!_context.t1) {
_context.next = 20;
break;
}
_context.next = 19;
return equalityResult['yield']();
case 19:
_context.t1 = _context.sent;
case 20:
_context.t0 = _context.t1;
if (_context.t0) {
_context.next = 23;
break;
}
_context.t0 =
!(
equalityResult instanceof _module.KoconutPrimitive
) && equalityResult;
case 23:
if (!_context.t0) {
_context.next = 26;
break;
}
isConflict = true;
return _context.abrupt('break', 28);
case 26:
_context.next = 12;
break;
case 28:
_context.next = 33;
break;
case 30:
_context.prev = 30;
_context.t2 = _context['catch'](10);
_iterator3.e(_context.t2);
case 33:
_context.prev = 33;
_iterator3.f();
return _context.finish(33);
case 36:
if (!isConflict) {
this.mKeys.add(key);
this.combinedDataWrapper.add(
new _module.Entry(key, value),
);
this.mValues.push(value);
} else
(_this$data = this.data) === null ||
_this$data === void 0
? void 0
: _this$data['delete'](key);
_context.next = 42;
break;
case 39:
this.mKeys.add(key);
this.combinedDataWrapper.add(
new _module.Entry(key, value),
);
this.mValues.push(value);
case 42:
_context.next = 5;
break;
case 44:
_context.next = 49;
break;
case 46:
_context.prev = 46;
_context.t3 = _context['catch'](3);
_iterator2.e(_context.t3);
case 49:
_context.prev = 49;
_iterator2.f();
return _context.finish(49);
case 52:
this.mSize = data.size;
case 53:
case 'end':
return _context.stop();
}
}
},
_callee,
this,
[
[3, 46, 49, 52],
[10, 30, 33, 36],
],
);
}),
);
function validate(_x) {
return _validate.apply(this, arguments);
}
return validate;
})(),
},
{
key: 'retrieve',
value: (function () {
var _retrieve = (0, _asyncToGenerator2['default'])(
_regenerator['default'].mark(function _callee2() {
return _regenerator['default'].wrap(
function _callee2$(_context2) {
while (1) {
switch ((_context2.prev = _context2.next)) {
case 0:
_context2.next = 2;
return (0, _get2['default'])(
(0, _getPrototypeOf2['default'])(
KoconutMap.prototype,
),
'retrieve',
this,
).call(this);
case 2:
return _context2.abrupt('return', this);
case 3:
case 'end':
return _context2.stop();
}
}
},
_callee2,
this,
);
}),
);
function retrieve() {
return _retrieve.apply(this, arguments);
}
return retrieve;
})(),
},
{
key: 'entries',
get: function get() {
var _this2 = this;
var koconutToReturn = new _module.KoconutSet();
koconutToReturn.setPrevYieldable(this).setProcessor(
(0, _asyncToGenerator2['default'])(
_regenerator['default'].mark(function _callee3() {
return _regenerator['default'].wrap(function _callee3$(
_context3,
) {
while (1) {
switch ((_context3.prev = _context3.next)) {
case 0:
return _context3.abrupt(
'return',
_this2.combinedDataWrapper,
);
case 1:
case 'end':
return _context3.stop();
}
}
},
_callee3);
}),
),
);
return koconutToReturn;
},
},
{
key: 'keys',
get: function get() {
var _this3 = this;
var koconutToReturn = new _module.KoconutSet();
koconutToReturn.setPrevYieldable(this).setProcessor(
(0, _asyncToGenerator2['default'])(
_regenerator['default'].mark(function _callee4() {
return _regenerator['default'].wrap(function _callee4$(
_context4,
) {
while (1) {
switch ((_context4.prev = _context4.next)) {
case 0:
return _context4.abrupt('return', _this3.mKeys);
case 1:
case 'end':
return _context4.stop();
}
}
},
_callee4);
}),
),
);
return koconutToReturn;
},
},
{
key: 'size',
get: function get() {
var _this4 = this;
var koconutToReturn = new _module.KoconutPrimitive();
koconutToReturn.setPrevYieldable(this).setProcessor(
(0, _asyncToGenerator2['default'])(
_regenerator['default'].mark(function _callee5() {
return _regenerator['default'].wrap(function _callee5$(
_context5,
) {
while (1) {
switch ((_context5.prev = _context5.next)) {
case 0:
return _context5.abrupt('return', _this4.mSize);
case 1:
case 'end':
return _context5.stop();
}
}
},
_callee5);
}),
),
);
return koconutToReturn;
},
},
{
key: 'values',
get: function get() {
var _this5 = this;
var koconutToReturn = new _module.KoconutArray();
koconutToReturn.setPrevYieldable(this).setProcessor(
(0, _asyncToGenerator2['default'])(
_regenerator['default'].mark(function _callee6() {
return _regenerator['default'].wrap(function _callee6$(
_context6,
) {
while (1) {
switch ((_context6.prev = _context6.next)) {
case 0:
return _context6.abrupt('return', _this5.mValues);
case 1:
case 'end':
return _context6.stop();
}
}
},
_callee6);
}),
),
);
return koconutToReturn;
},
},
{
key: 'maxBy',
value: function maxBy(selector) {
var thisArg =
arguments.length > 1 && arguments[1] !== undefined
? arguments[1]
: null;
var fromSuper = (0, _get2['default'])(
(0, _getPrototypeOf2['default'])(KoconutMap.prototype),
'maxBy',
this,
).call(this, selector, thisArg);
var koconutToReturn = new _module.KoconutEntry();
koconutToReturn
.setPrevYieldable(fromSuper['prevYieldable'])
.setProcessor(fromSuper['processor']);
return koconutToReturn;
},
},
{
key: 'maxByOrNull',
value: function maxByOrNull(selector) {
var thisArg =
arguments.length > 1 && arguments[1] !== undefined
? arguments[1]
: null;
var fromSuper = (0, _get2['default'])(
(0, _getPrototypeOf2['default'])(KoconutMap.prototype),
'maxByOrNull',
this,
).call(this, selector, thisArg);
var koconutToReturn = new _module.KoconutEntry();
koconutToReturn
.setPrevYieldable(fromSuper['prevYieldable'])
.setProcessor(fromSuper['processor']);
return koconutToReturn;
},
},
{
key: 'maxWith',
value: function maxWith(comparator) {
var thisArg =
arguments.length > 1 && arguments[1] !== undefined
? arguments[1]
: null;
var fromSuper = (0, _get2['default'])(
(0, _getPrototypeOf2['default'])(KoconutMap.prototype),
'maxWith',
this,
).call(this, comparator, thisArg);
var koconutToReturn = new _module.KoconutEntry();
koconutToReturn
.setPrevYieldable(fromSuper['prevYieldable'])
.setProcessor(fromSuper['processor']);
return koconutToReturn;
},
},
{
key: 'maxWithOrNull',
value: function maxWithOrNull(comparator) {
var thisArg =
arguments.length > 1 && arguments[1] !== undefined
? arguments[1]
: null;
var fromSuper = (0, _get2['default'])(
(0, _getPrototypeOf2['default'])(KoconutMap.prototype),
'maxWithOrNull',
this,
).call(this, comparator, thisArg);
var koconutToReturn = new _module.KoconutEntry();
koconutToReturn
.setPrevYieldable(fromSuper['prevYieldable'])
.setProcessor(fromSuper['processor']);
return koconutToReturn;
},
},
{
key: 'minBy',
value: function minBy(selector) {
var thisArg =
arguments.length > 1 && arguments[1] !== undefined
? arguments[1]
: null;
var fromSuper = (0, _get2['default'])(
(0, _getPrototypeOf2['default'])(KoconutMap.prototype),
'minBy',
this,
).call(this, selector, thisArg);
var koconutToReturn = new _module.KoconutEntry();
koconutToReturn
.setPrevYieldable(fromSuper['prevYieldable'])
.setProcessor(fromSuper['processor']);
return koconutToReturn;
},
},
{
key: 'minByOrNull',
value: function minByOrNull(selector) {
var thisArg =
arguments.length > 1 && arguments[1] !== undefined
? arguments[1]
: null;
var fromSuper = (0, _get2['default'])(
(0, _getPrototypeOf2['default'])(KoconutMap.prototype),
'minByOrNull',
this,
).call(this, selector, thisArg);
var koconutToReturn = new _module.KoconutEntry();
koconutToReturn
.setPrevYieldable(fromSuper['prevYieldable'])
.setProcessor(fromSuper['processor']);
return koconutToReturn;
},
},
{
key: 'minWith',
value: function minWith(comparator) {
var thisArg =
arguments.length > 1 && arguments[1] !== undefined
? arguments[1]
: null;
var fromSuper = (0, _get2['default'])(
(0, _getPrototypeOf2['default'])(KoconutMap.prototype),
'minWith',
this,
).call(this, comparator, thisArg);
var koconutToReturn = new _module.KoconutEntry();
koconutToReturn
.setPrevYieldable(fromSuper['prevYieldable'])
.setProcessor(fromSuper['processor']);
return koconutToReturn;
},
},
{
key: 'minWithOrNull',
value: function minWithOrNull(comparator) {
var thisArg =
arguments.length > 1 && arguments[1] !== undefined
? arguments[1]
: null;
var fromSuper = (0, _get2['default'])(
(0, _getPrototypeOf2['default'])(KoconutMap.prototype),
'minWithOrNull',
this,
).call(this, comparator, thisArg);
var koconutToReturn = new _module.KoconutEntry();
koconutToReturn
.setPrevYieldable(fromSuper['prevYieldable'])
.setProcessor(fromSuper['processor']);
return koconutToReturn;
},
},
{
key: 'contains',
value: function contains(key) {
var _this6 = this;
var koconutToReturn = new _module.KoconutBoolean();
koconutToReturn.setPrevYieldable(this).setProcessor(
(0, _asyncToGenerator2['default'])(
_regenerator['default'].mark(function _callee7() {
var _iterator4;
var _step4;
var eachKey;
var equalityResult;
return _regenerator['default'].wrap(
function _callee7$(_context7) {
while (1) {
switch ((_context7.prev = _context7.next)) {
case 0:
_iterator4 = _createForOfIteratorHelper(_this6.mKeys);
_context7.prev = 1;
_iterator4.s();
case 3:
if ((_step4 = _iterator4.n()).done) {
_context7.next = 23;
break;
}
eachKey = _step4.value;
if (
!_module.KoconutTypeChecker.checkIsEquatable(
eachKey,
)
) {
_context7.next = 19;
break;
}
equalityResult = eachKey.equalsTo(key);
_context7.t1 =
equalityResult instanceof _module.KoconutPrimitive;
if (!_context7.t1) {
_context7.next = 12;
break;
}
_context7.next = 11;
return equalityResult['yield']();
case 11:
_context7.t1 = _context7.sent;
case 12:
_context7.t0 = _context7.t1;
if (_context7.t0) {
_context7.next = 15;
break;
}
_context7.t0 =
!(
equalityResult instanceof _module.KoconutPrimitive
) && equalityResult;
case 15:
if (!_context7.t0) {
_context7.next = 17;
break;
}
return _context7.abrupt('return', true);
case 17:
_context7.next = 21;
break;
case 19:
if (!(eachKey == key)) {
_context7.next = 21;
break;
}
return _context7.abrupt('return', true);
case 21:
_context7.next = 3;
break;
case 23:
_context7.next = 28;
break;
case 25:
_context7.prev = 25;
_context7.t2 = _context7['catch'](1);
_iterator4.e(_context7.t2);
case 28:
_context7.prev = 28;
_iterator4.f();
return _context7.finish(28);
case 31:
return _context7.abrupt('return', false);
case 32:
case 'end':
return _context7.stop();
}
}
},
_callee7,
null,
[[1, 25, 28, 31]],
);
}),
),
);
return koconutToReturn;
},
},
{
key: 'containsKey',
value: function containsKey(key) {
return this.contains(key);
},
},
{
key: 'containsValue',
value: function containsValue(value) {
var _this7 = this;
var koconutToReturn = new _module.KoconutBoolean();
koconutToReturn.setPrevYieldable(this).setProcessor(
(0, _asyncToGenerator2['default'])(
_regenerator['default'].mark(function _callee8() {
var _iterator5;
var _step5;
var eachValue;
var equalityResult;
return _regenerator['default'].wrap(
function _callee8$(_context8) {
while (1) {
switch ((_context8.prev = _context8.next)) {
case 0:
_iterator5 = _createForOfIteratorHelper(
_this7.mValues,
);
_context8.prev = 1;
_iterator5.s();
case 3:
if ((_step5 = _iterator5.n()).done) {
_context8.next = 23;
break;
}
eachValue = _step5.value;
if (
!_module.KoconutTypeChecker.checkIsEquatable(
eachValue,
)
) {
_context8.next = 19;
break;
}
equalityResult = eachValue.equalsTo(value);
_context8.t1 =
equalityResult instanceof _module.KoconutPrimitive;
if (!_context8.t1) {
_context8.next = 12;
break;
}
_context8.next = 11;
return equalityResult['yield']();
case 11:
_context8.t1 = _context8.sent;
case 12:
_context8.t0 = _context8.t1;
if (_context8.t0) {
_context8.next = 15;
break;
}
_context8.t0 =
!(
equalityResult instanceof _module.KoconutPrimitive
) && equalityResult;
case 15:
if (!_context8.t0) {
_context8.next = 17;
break;
}
return _context8.abrupt('return', true);
case 17:
_context8.next = 21;
break;
case 19:
if (!(eachValue == value)) {
_context8.next = 21;
break;
}
return _context8.abrupt('return', true);
case 21:
_context8.next = 3;
break;
case 23:
_context8.next = 28;
break;
case 25:
_context8.prev = 25;
_context8.t2 = _context8['catch'](1);
_iterator5.e(_context8.t2);
case 28:
_context8.prev = 28;
_iterator5.f();
return _context8.finish(28);
case 31:
return _context8.abrupt('return', false);
case 32:
case 'end':
return _context8.stop();
}
}
},
_callee8,
null,
[[1, 25, 28, 31]],
);
}),
),
);
return koconutToReturn;
},
},
{
key: 'onEach',
value: function onEach(action) {
var thisArg =
arguments.length > 1 && arguments[1] !== undefined
? arguments[1]
: null;
return KoconutMap.fromIterable(
(0, _get2['default'])(
(0, _getPrototypeOf2['default'])(KoconutMap.prototype),
'onEach',
this,
).call(this, action, thisArg),
);
},
},
{
key: 'filter',
value: function filter(predicate) {
var thisArg =
arguments.length > 1 && arguments[1] !== undefined
? arguments[1]
: null;
return KoconutMap.fromIterable(
(0, _get2['default'])(
(0, _getPrototypeOf2['default'])(KoconutMap.prototype),
'filter',
this,
).call(this, predicate, thisArg),
);
},
},
{
key: 'filterNot',
value: function filterNot(predicate) {
var thisArg =
arguments.length > 1 && arguments[1] !== undefined
? arguments[1]
: null;
return KoconutMap.fromIterable(
(0, _get2['default'])(
(0, _getPrototypeOf2['default'])(KoconutMap.prototype),
'filterNot',
this,
).call(this, predicate, thisArg),
);
},
},
{
key: 'filterTo',
value: function filterTo(destination, predicate) {
var _this8 = this;
var thisArg =
arguments.length > 2 && arguments[2] !== undefined
? arguments[2]
: null;
predicate = predicate.bind(thisArg);
var koconutToReturn = new KoconutMap();
koconutToReturn.setPrevYieldable(this).setProcessor(
(0, _asyncToGenerator2['default'])(
_regenerator['default'].mark(function _callee9() {
var _iterator6;
var _step6;
var eachEntry;
return _regenerator['default'].wrap(
function _callee9$(_context9) {
while (1) {
switch ((_context9.prev = _context9.next)) {
case 0:
_iterator6 = _createForOfIteratorHelper(
_this8.combinedDataWrapper,
);
_context9.prev = 1;
_iterator6.s();
case 3:
if ((_step6 = _iterator6.n()).done) {
_context9.next = 11;
break;
}
eachEntry = _step6.value;
_context9.next = 7;
return predicate(eachEntry);
case 7:
if (!_context9.sent) {
_context9.next = 9;
break;
}
destination.set(eachEntry.key, eachEntry.value);
case 9:
_context9.next = 3;
break;
case 11:
_context9.next = 16;
break;
case 13:
_context9.prev = 13;
_context9.t0 = _context9['catch'](1);
_iterator6.e(_context9.t0);
case 16:
_context9.prev = 16;
_iterator6.f();
return _context9.finish(16);
case 19:
return _context9.abrupt('return', _this8.data);
case 20:
case 'end':
return _context9.stop();
}
}
},
_callee9,
null,
[[1, 13, 16, 19]],
);
}),
),
);
return koconutToReturn;
},
},
{
key: 'filterNotTo',
value: function filterNotTo(destination, predicate) {
var _this9 = this;
var thisArg =
arguments.length > 2 && arguments[2] !== undefined
? arguments[2]
: null;
predicate = predicate.bind(thisArg);
var koconutToReturn = new KoconutMap();
koconutToReturn.setPrevYieldable(this).setProcessor(
(0, _asyncToGenerator2['default'])(
_regenerator['default'].mark(function _callee10() {
var _iterator7;
var _step7;
var eachEntry;
return _regenerator['default'].wrap(
function _callee10$(_context10) {
while (1) {
switch ((_context10.prev = _context10.next)) {
case 0:
_iterator7 = _createForOfIteratorHelper(
_this9.combinedDataWrapper,
);
_context10.prev = 1;
_iterator7.s();
case 3:
if ((_step7 = _iterator7.n()).done) {
_context10.next = 11;
break;
}
eachEntry = _step7.value;
_context10.next = 7;
return predicate(eachEntry);
case 7:
if (_context10.sent) {
_context10.next = 9;
break;
}
destination.set(eachEntry.key, eachEntry.value);
case 9:
_context10.next = 3;
break;
case 11:
_context10.next = 16;
break;
case 13:
_context10.prev = 13;
_context10.t0 = _context10['catch'](1);
_iterator7.e(_context10.t0);
case 16:
_context10.prev = 16;
_iterator7.f();
return _context10.finish(16);
case 19:
return _context10.abrupt('return', _this9.data);
case 20:
case 'end':
return _context10.stop();
}
}
},
_callee10,
null,
[[1, 13, 16, 19]],
);
}),
),
);
return koconutToReturn;
},
},
{
key: 'filterKeys',
value: function filterKeys(predicate) {
var _this10 = this;
var thisArg =
arguments.length > 1 && arguments[1] !== undefined
? arguments[1]
: null;
predicate = predicate.bind(thisArg);
var koconutToReturn = new KoconutMap();
koconutToReturn.setPrevYieldable(this).setProcessor(
(0, _asyncToGenerator2['default'])(
_regenerator['default'].mark(function _callee11() {
var processedMap;
var _iterator8;
var _step8;
var eachEntry;
return _regenerator['default'].wrap(
function _callee11$(_context11) {
while (1) {
switch ((_context11.prev = _context11.next)) {
case 0:
processedMap = new Map();
_iterator8 = _createForOfIteratorHelper(
_this10.combinedDataWrapper,
);
_context11.prev = 2;
_iterator8.s();
case 4:
if ((_step8 = _iterator8.n()).done) {
_context11.next = 12;
break;
}
eachEntry = _step8.value;
_context11.next = 8;
return predicate(eachEntry.key);
case 8:
if (!_context11.sent) {
_context11.next = 10;
break;
}
processedMap.set(eachEntry.key, eachEntry.value);
case 10:
_context11.next = 4;
break;
case 12:
_context11.next = 17;
break;
case 14:
_context11.prev = 14;
_context11.t0 = _context11['catch'](2);
_iterator8.e(_context11.t0);
case 17:
_context11.prev = 17;
_iterator8.f();
return _context11.finish(17);
case 20:
return _context11.abrupt('return', processedMap);
case 21:
case 'end':
return _context11.stop();
}
}
},
_callee11,
null,
[[2, 14, 17, 20]],
);
}),
),
);
return koconutToReturn;
},
},
{
key: 'filterValues',
value: function filterValues(predicate) {
var _this11 = this;
var thisArg =
arguments.length > 1 && arguments[1] !== undefined
? arguments[1]
: null;
predicate = predicate.bind(thisArg);
var koconutToReturn = new KoconutMap();
koconutToReturn.setPrevYieldable(this).setProcessor(
(0, _asyncToGenerator2['default'])(
_regenerator['default'].mark(function _callee12() {
var processedMap;
var _iterator9;
var _step9;
var eachEntry;
return _regenerator['default'].wrap(
function _callee12$(_context12) {
while (1) {
switch ((_context12.prev = _context12.next)) {
case 0:
processedMap = new Map();
_iterator9 = _createForOfIteratorHelper(
_this11.combinedDataWrapper,
);
_context12.prev = 2;
_iterator9.s();
case 4:
if ((_step9 = _iterator9.n()).done) {
_context12.next = 12;
break;
}
eachEntry = _step9.value;
_context12.next = 8;
return predicate(eachEntry.value);
case 8:
if (!_context12.sent) {
_context12.next = 10;
break;
}
processedMap.set(eachEntry.key, eachEntry.value);
case 10:
_context12.next = 4;
break;
case 12:
_context12.next = 17;
break;
case 14:
_context12.prev = 14;
_context12.t0 = _context12['catch'](2);
_iterator9.e(_context12.t0);
case 17:
_context12.prev = 17;
_iterator9.f();
return _context12.finish(17);
case 20:
return _context12.abrupt('return', processedMap);
case 21:
case 'end':
return _context12.stop();
}
}
},
_callee12,
null,
[[2, 14, 17, 20]],
);
}),
),
);
return koconutToReturn;
},
},
{
key: 'minus',
value: function minus() {
var _this12 = this;
for (
var _len = arguments.length, keys = new Array(_len), _key = 0;
_key < _len;
_key++
) {
keys[_key] = arguments[_key];
}
var koconutToReturn = new KoconutMap();
koconutToReturn.setPrevYieldable(this).setProcessor(
(0, _asyncToGenerator2['default'])(
_regenerator['default'].mark(function _callee13() {
var processedMap;
var koconutKeysToExceptArray;
var _iterator10;
var _step10;
var eachEntry;
return _regenerator['default'].wrap(
function _callee13$(_context13) {
while (1) {
switch ((_context13.prev = _context13.next)) {
case 0:
processedMap = new Map();
koconutKeysToExceptArray =
_module.KoconutArray.from(keys);
_iterator10 = _createForOfIteratorHelper(
_this12.combinedDataWrapper,
);
_context13.prev = 3;
_iterator10.s();
case 5:
if ((_step10 = _iterator10.n()).done) {
_context13.next = 13;
break;
}
eachEntry = _step10.value;
_context13.next = 9;
return koconutKeysToExceptArray
.contains(eachEntry.key)
['yield']();
case 9:
if (_context13.sent) {
_context13.next = 11;
break;
}
processedMap.set(eachEntry.key, eachEntry.value);
case 11:
_context13.next = 5;
break;
case 13:
_context13.next = 18;
break;
case 15:
_context13.prev = 15;
_context13.t0 = _context13['catch'](3);
_iterator10.e(_context13.t0);
case 18:
_context13.prev = 18;
_iterator10.f();
return _context13.finish(18);
case 21:
return _context13.abrupt('return', processedMap);
case 22:
case 'end':
return _context13.stop();
}
}
},
_callee13,
null,
[[3, 15, 18, 21]],
);
}),
),
);
return koconutToReturn;
},
},
{
key: 'plus',
value: function plus() {
var _this13 = this;
for (
var _len2 = arguments.length, entries = new Array(_len2), _key2 = 0;
_key2 < _len2;
_key2++
) {
entries[_key2] = arguments[_key2];
}
var koconutToReturn = new KoconutMap();
koconutToReturn.setPrevYieldable(this).setProcessor(
(0, _asyncToGenerator2['default'])(
_regenerator['default'].mark(function _callee14() {
var processedMap;
var _iterator11;
var _step11;
var eachElement;
var eachPair;
var eachEntry;
return _regenerator['default'].wrap(
function _callee14$(_context14) {
while (1) {
switch ((_context14.prev = _context14.next)) {
case 0:
processedMap = new Map(_this13.data);
_iterator11 = _createForOfIteratorHelper(entries);
_context14.prev = 2;
_iterator11.s();
case 4:
if ((_step11 = _iterator11.n()).done) {
_context14.next = 31;
break;
}
eachElement = _step11.value;
if (!(eachElement instanceof _module.Pair)) {
_context14.next = 10;
break;
}
processedMap.set(
eachElement.first,
eachElement.second,
);
_context14.next = 29;
break;
case 10:
if (!(eachElement instanceof _module.KoconutPair)) {
_context14.next = 17;
break;
}
_context14.next = 13;
return eachElement['yield']();
case 13:
eachPair = _context14.sent;
if (eachPair != null)
processedMap.set(eachPair.first, eachPair.second);
_context14.next = 29;
break;
case 17:
if (!(eachElement instanceof _module.Entry)) {
_context14.next = 21;
break;
}
processedMap.set(eachElement.key, eachElement.value);
_context14.next = 29;
break;
case 21:
if (!(eachElement instanceof _module.KoconutEntry)) {
_context14.next = 28;