koconut
Version:
Provide interchainable array, set, map and etc supporting both normal and async callbacks as their action arguments.
1,290 lines (1,289 loc) • 258 kB
JavaScript
'use strict';
var _interopRequireDefault = require('@babel/runtime/helpers/interopRequireDefault');
Object.defineProperty(exports, '__esModule', {
value: true,
});
exports.KoconutCollection = 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');
var _KoconutEntry = require('../base/KoconutEntry');
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 KoconutCollection = (function (_KoconutIterable) {
(0, _inherits2['default'])(KoconutCollection, _KoconutIterable);
var _super = _createSuper(KoconutCollection);
function KoconutCollection() {
var _this;
(0, _classCallCheck2['default'])(this, KoconutCollection);
for (
var _len = arguments.length, args = new Array(_len), _key = 0;
_key < _len;
_key++
) {
args[_key] = arguments[_key];
}
_this = _super.call.apply(_super, [this].concat(args));
(0, _defineProperty2['default'])(
(0, _assertThisInitialized2['default'])(_this),
'mIndices',
new Array(),
);
return _this;
}
(0, _createClass2['default'])(
KoconutCollection,
[
{
key: 'validate',
value: (function () {
var _validate = (0, _asyncToGenerator2['default'])(
_regenerator['default'].mark(function _callee(data) {
var _this2 = this;
var dataArray;
return _regenerator['default'].wrap(
function _callee$(_context) {
while (1) {
switch ((_context.prev = _context.next)) {
case 0:
if (data != null) {
dataArray = Array.from(data);
this.mSize = dataArray.length;
Object.keys(dataArray)
.map(function (eachString) {
return parseInt(eachString);
})
.forEach(function (eachIndex) {
return _this2.mIndices.push(eachIndex);
});
this.combinedDataWrapper = data;
}
case 1:
case 'end':
return _context.stop();
}
}
},
_callee,
this,
);
}),
);
function validate(_x) {
return _validate.apply(this, arguments);
}
return validate;
})(),
},
{
key: 'size',
value: function size() {
var _this3 = this;
var koconutToReturn = new _module.KoconutPrimitive();
koconutToReturn.setPrevYieldable(this).setProcessor(
(0, _asyncToGenerator2['default'])(
_regenerator['default'].mark(function _callee2() {
return _regenerator['default'].wrap(function _callee2$(
_context2,
) {
while (1) {
switch ((_context2.prev = _context2.next)) {
case 0:
return _context2.abrupt('return', _this3.mSize);
case 1:
case 'end':
return _context2.stop();
}
}
},
_callee2);
}),
),
);
return koconutToReturn;
},
},
{
key: 'indices',
value: function indices() {
var _this4 = this;
var koconutToReturn = new _module.KoconutArray();
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', _this4.mIndices);
case 1:
case 'end':
return _context3.stop();
}
}
},
_callee3);
}),
),
);
return koconutToReturn;
},
},
{
key: 'fold',
value: function fold(initial, operation) {
var _this5 = this;
var thisArg =
arguments.length > 2 && arguments[2] !== undefined
? arguments[2]
: null;
operation = operation.bind(thisArg);
var koconutToReturn = new _module.KoconutPrimitive();
koconutToReturn.setPrevYieldable(this).setProcessor(
(0, _asyncToGenerator2['default'])(
_regenerator['default'].mark(function _callee4() {
var dataToReturn;
var _iterator;
var _step;
var eachDatum;
return _regenerator['default'].wrap(
function _callee4$(_context4) {
while (1) {
switch ((_context4.prev = _context4.next)) {
case 0:
dataToReturn = initial;
_iterator = _createForOfIteratorHelper(_this5.data);
_context4.prev = 2;
_iterator.s();
case 4:
if ((_step = _iterator.n()).done) {
_context4.next = 11;
break;
}
eachDatum = _step.value;
_context4.next = 8;
return operation(dataToReturn, eachDatum);
case 8:
dataToReturn = _context4.sent;
case 9:
_context4.next = 4;
break;
case 11:
_context4.next = 16;
break;
case 13:
_context4.prev = 13;
_context4.t0 = _context4['catch'](2);
_iterator.e(_context4.t0);
case 16:
_context4.prev = 16;
_iterator.f();
return _context4.finish(16);
case 19:
return _context4.abrupt('return', dataToReturn);
case 20:
case 'end':
return _context4.stop();
}
}
},
_callee4,
null,
[[2, 13, 16, 19]],
);
}),
),
);
return koconutToReturn;
},
},
{
key: 'foldIndexed',
value: function foldIndexed(initial, operation) {
var _this6 = this;
var thisArg =
arguments.length > 2 && arguments[2] !== undefined
? arguments[2]
: null;
operation = operation.bind(thisArg);
var koconutToReturn = new _module.KoconutPrimitive();
koconutToReturn.setPrevYieldable(this).setProcessor(
(0, _asyncToGenerator2['default'])(
_regenerator['default'].mark(function _callee5() {
var dataToReturn;
var _iterator2;
var _step2;
var _step2$value;
var eachIndex;
var eachDatum;
return _regenerator['default'].wrap(
function _callee5$(_context5) {
while (1) {
switch ((_context5.prev = _context5.next)) {
case 0:
dataToReturn = initial;
_iterator2 = _createForOfIteratorHelper(
Array.from(_this6.data).entries(),
);
_context5.prev = 2;
_iterator2.s();
case 4:
if ((_step2 = _iterator2.n()).done) {
_context5.next = 11;
break;
}
(_step2$value = (0, _slicedToArray2['default'])(
_step2.value,
2,
)),
(eachIndex = _step2$value[0]),
(eachDatum = _step2$value[1]);
_context5.next = 8;
return operation(eachIndex, dataToReturn, eachDatum);
case 8:
dataToReturn = _context5.sent;
case 9:
_context5.next = 4;
break;
case 11:
_context5.next = 16;
break;
case 13:
_context5.prev = 13;
_context5.t0 = _context5['catch'](2);
_iterator2.e(_context5.t0);
case 16:
_context5.prev = 16;
_iterator2.f();
return _context5.finish(16);
case 19:
return _context5.abrupt('return', dataToReturn);
case 20:
case 'end':
return _context5.stop();
}
}
},
_callee5,
null,
[[2, 13, 16, 19]],
);
}),
),
);
return koconutToReturn;
},
},
{
key: 'contains',
value: function contains(element) {
var _this7 = this;
var koconutToReturn = new _module.KoconutBoolean();
koconutToReturn.setPrevYieldable(this).setProcessor(
(0, _asyncToGenerator2['default'])(
_regenerator['default'].mark(function _callee6() {
var _iterator3;
var _step3;
var eachDatum;
var isContained;
var equalityResult;
return _regenerator['default'].wrap(
function _callee6$(_context6) {
while (1) {
switch ((_context6.prev = _context6.next)) {
case 0:
_iterator3 = _createForOfIteratorHelper(_this7.data);
_context6.prev = 1;
_iterator3.s();
case 3:
if ((_step3 = _iterator3.n()).done) {
_context6.next = 22;
break;
}
eachDatum = _step3.value;
isContained = false;
if (
!_module.KoconutTypeChecker.checkIsEquatable(
eachDatum,
)
) {
_context6.next = 17;
break;
}
equalityResult = eachDatum.equalsTo(element);
if (
!(
equalityResult instanceof _module.KoconutPrimitive
)
) {
_context6.next = 14;
break;
}
_context6.next = 11;
return equalityResult['yield']();
case 11:
isContained = _context6.sent;
_context6.next = 15;
break;
case 14:
isContained = equalityResult;
case 15:
_context6.next = 18;
break;
case 17:
isContained = eachDatum == element;
case 18:
if (!isContained) {
_context6.next = 20;
break;
}
return _context6.abrupt('return', true);
case 20:
_context6.next = 3;
break;
case 22:
_context6.next = 27;
break;
case 24:
_context6.prev = 24;
_context6.t0 = _context6['catch'](1);
_iterator3.e(_context6.t0);
case 27:
_context6.prev = 27;
_iterator3.f();
return _context6.finish(27);
case 30:
return _context6.abrupt('return', false);
case 31:
case 'end':
return _context6.stop();
}
}
},
_callee6,
null,
[[1, 24, 27, 30]],
);
}),
),
);
return koconutToReturn;
},
},
{
key: 'containsAll',
value: function containsAll(elements) {
var _this8 = this;
var koconutToReturn = new _module.KoconutBoolean();
koconutToReturn.setPrevYieldable(this).setProcessor(
(0, _asyncToGenerator2['default'])(
_regenerator['default'].mark(function _callee7() {
var dataArray;
var _iterator4;
var _step4;
var eachElementToCheck;
var isIncluded;
var _iterator5;
var _step5;
var eachDatum;
var equalityResult;
return _regenerator['default'].wrap(
function _callee7$(_context7) {
while (1) {
switch ((_context7.prev = _context7.next)) {
case 0:
dataArray = Array.from(_this8.data);
_iterator4 = _createForOfIteratorHelper(elements);
_context7.prev = 2;
_iterator4.s();
case 4:
if ((_step4 = _iterator4.n()).done) {
_context7.next = 43;
break;
}
eachElementToCheck = _step4.value;
if (
!_module.KoconutTypeChecker.checkIsEquatable(
eachElementToCheck,
)
) {
_context7.next = 39;
break;
}
isIncluded = false;
_iterator5 = _createForOfIteratorHelper(dataArray);
_context7.prev = 9;
_iterator5.s();
case 11:
if ((_step5 = _iterator5.n()).done) {
_context7.next = 27;
break;
}
eachDatum = _step5.value;
equalityResult =
eachElementToCheck.equalsTo(eachDatum);
_context7.t1 =
equalityResult instanceof _module.KoconutPrimitive;
if (!_context7.t1) {
_context7.next = 19;
break;
}
_context7.next = 18;
return equalityResult['yield']();
case 18:
_context7.t1 = _context7.sent;
case 19:
_context7.t0 = _context7.t1;
if (_context7.t0) {
_context7.next = 22;
break;
}
_context7.t0 =
!(
equalityResult instanceof _module.KoconutPrimitive
) && equalityResult;
case 22:
if (!_context7.t0) {
_context7.next = 25;
break;
}
isIncluded = true;
return _context7.abrupt('break', 27);
case 25:
_context7.next = 11;
break;
case 27:
_context7.next = 32;
break;
case 29:
_context7.prev = 29;
_context7.t2 = _context7['catch'](9);
_iterator5.e(_context7.t2);
case 32:
_context7.prev = 32;
_iterator5.f();
return _context7.finish(32);
case 35:
if (isIncluded) {
_context7.next = 37;
break;
}
return _context7.abrupt('return', false);
case 37:
_context7.next = 41;
break;
case 39:
if (dataArray.includes(eachElementToCheck)) {
_context7.next = 41;
break;
}
return _context7.abrupt('return', false);
case 41:
_context7.next = 4;
break;
case 43:
_context7.next = 48;
break;
case 45:
_context7.prev = 45;
_context7.t3 = _context7['catch'](2);
_iterator4.e(_context7.t3);
case 48:
_context7.prev = 48;
_iterator4.f();
return _context7.finish(48);
case 51:
return _context7.abrupt('return', true);
case 52:
case 'end':
return _context7.stop();
}
}
},
_callee7,
null,
[
[2, 45, 48, 51],
[9, 29, 32, 35],
],
);
}),
),
);
return koconutToReturn;
},
},
{
key: 'forEachIndexed',
value: function forEachIndexed(action) {
var _this9 = this;
var thisArg =
arguments.length > 1 && arguments[1] !== undefined
? arguments[1]
: null;
action = action.bind(thisArg);
var koconutToReturn = new _module.KoconutPrimitive();
koconutToReturn.setPrevYieldable(this).setProcessor(
(0, _asyncToGenerator2['default'])(
_regenerator['default'].mark(function _callee8() {
var eachIndex;
var _iterator6;
var _step6;
var eachCombinedDatum;
var signal;
return _regenerator['default'].wrap(
function _callee8$(_context8) {
while (1) {
switch ((_context8.prev = _context8.next)) {
case 0:
eachIndex = 0;
_iterator6 = _createForOfIteratorHelper(_this9.data);
_context8.prev = 2;
_iterator6.s();
case 4:
if ((_step6 = _iterator6.n()).done) {
_context8.next = 13;
break;
}
eachCombinedDatum = _step6.value;
_context8.next = 8;
return action(eachIndex++, eachCombinedDatum);
case 8:
signal = _context8.sent;
if (
!(
signal == false ||
signal == _module.KoconutLoopSignal.BREAK
)
) {
_context8.next = 11;
break;
}
return _context8.abrupt('break', 13);
case 11:
_context8.next = 4;
break;
case 13:
_context8.next = 18;
break;
case 15:
_context8.prev = 15;
_context8.t0 = _context8['catch'](2);
_iterator6.e(_context8.t0);
case 18:
_context8.prev = 18;
_iterator6.f();
return _context8.finish(18);
case 21:
case 'end':
return _context8.stop();
}
}
},
_callee8,
null,
[[2, 15, 18, 21]],
);
}),
),
);
return koconutToReturn;
},
},
{
key: 'onEach',
value: function onEach(action, thisArg) {
return KoconutCollection.fromIterable(
(0, _get2['default'])(
(0, _getPrototypeOf2['default'])(KoconutCollection.prototype),
'onEach',
this,
).call(this, action, thisArg),
);
},
},
{
key: 'onEachIndexed',
value: function onEachIndexed(action, thisArg) {
var _this10 = this;
action = action.bind(thisArg);
var koconutToReturn = new KoconutCollection();
koconutToReturn.setPrevYieldable(this).setProcessor(
(0, _asyncToGenerator2['default'])(
_regenerator['default'].mark(function _callee9() {
var eachIndex;
var _iterator7;
var _step7;
var eachDatum;
var signal;
return _regenerator['default'].wrap(
function _callee9$(_context9) {
while (1) {
switch ((_context9.prev = _context9.next)) {
case 0:
eachIndex = 0;
_iterator7 = _createForOfIteratorHelper(_this10.data);
_context9.prev = 2;
_iterator7.s();
case 4:
if ((_step7 = _iterator7.n()).done) {
_context9.next = 13;
break;
}
eachDatum = _step7.value;
_context9.next = 8;
return action(eachIndex++, eachDatum);
case 8:
signal = _context9.sent;
if (
!(
signal == false ||
signal == _module.KoconutLoopSignal.BREAK
)
) {
_context9.next = 11;
break;
}
return _context9.abrupt('break', 13);
case 11:
_context9.next = 4;
break;
case 13:
_context9.next = 18;
break;
case 15:
_context9.prev = 15;
_context9.t0 = _context9['catch'](2);
_iterator7.e(_context9.t0);
case 18:
_context9.prev = 18;
_iterator7.f();
return _context9.finish(18);
case 21:
return _context9.abrupt('return', _this10.data);
case 22:
case 'end':
return _context9.stop();
}
}
},
_callee9,
null,
[[2, 15, 18, 21]],
);
}),
),
);
return koconutToReturn;
},
},
{
key: 'distinct',
value: function distinct() {
var _this11 = this;
var koconutToReturn = new KoconutCollection();
koconutToReturn.setPrevYieldable(this).setProcessor(
(0, _asyncToGenerator2['default'])(
_regenerator['default'].mark(function _callee10() {
var processedArray;
var _iterator8;
var _step8;
var eachDatum;
var isConflict;
var _iterator9;
var _step9;
var eachPrevEquatableDatum;
var equalityResult;
return _regenerator['default'].wrap(
function _callee10$(_context10) {
while (1) {
switch ((_context10.prev = _context10.next)) {
case 0:
processedArray = new Array();
_iterator8 = _createForOfIteratorHelper(_this11.data);
_context10.prev = 2;
_iterator8.s();
case 4:
if ((_step8 = _iterator8.n()).done) {
_context10.next = 42;
break;
}
eachDatum = _step8.value;
if (
!_module.KoconutTypeChecker.checkIsEquatable(
eachDatum,
)
) {
_context10.next = 38;
break;
}
isConflict = false;
_iterator9 =
_createForOfIteratorHelper(processedArray);
_context10.prev = 9;
_iterator9.s();
case 11:
if ((_step9 = _iterator9.n()).done) {
_context10.next = 27;
break;
}
eachPrevEquatableDatum = _step9.value;
equalityResult = eachDatum.equalsTo(
eachPrevEquatableDatum,
);
_context10.t1 =
equalityResult instanceof _module.KoconutPrimitive;
if (!_context10.t1) {
_context10.next = 19;
break;
}
_context10.next = 18;
return equalityResult['yield']();
case 18:
_context10.t1 = _context10.sent;
case 19:
_context10.t0 = _context10.t1;
if (_context10.t0) {
_context10.next = 22;
break;
}
_context10.t0 =
!(
equalityResult instanceof _module.KoconutPrimitive
) && equalityResult;
case 22:
if (!_context10.t0) {
_context10.next = 25;
break;
}
isConflict = true;
return _context10.abrupt('break', 27);
case 25:
_context10.next = 11;
break;
case 27:
_context10.next = 32;
break;
case 29:
_context10.prev = 29;
_context10.t2 = _context10['catch'](9);
_iterator9.e(_context10.t2);
case 32:
_context10.prev = 32;
_iterator9.f();
return _context10.finish(32);
case 35:
if (!isConflict) processedArray.push(eachDatum);
_context10.next = 40;
break;
case 38:
processedArray = Array.from(new Set(_this11.data));
return _context10.abrupt('break', 42);
case 40:
_context10.next = 4;
break;
case 42:
_context10.next = 47;
break;
case 44:
_context10.prev = 44;
_context10.t3 = _context10['catch'](2);
_iterator8.e(_context10.t3);
case 47:
_context10.prev = 47;
_iterator8.f();
return _context10.finish(47);
case 50:
if (!(_this11.data instanceof Array)) {
_context10.next = 54;
break;
}
return _context10.abrupt('return', processedArray);
case 54:
return _context10.abrupt(
'return',
new Set(processedArray),
);
case 55:
case 'end':
return _context10.stop();
}
}
},
_callee10,
null,
[
[2, 44, 47, 50],
[9, 29, 32, 35],
],
);
}),
),
);
return koconutToReturn;
},
},
{
key: 'distinctBy',
value: function distinctBy(selector, thisArg) {
var _this12 = this;
selector = selector.bind(thisArg);
var koconutToReturn = new KoconutCollection();
koconutToReturn.setPrevYieldable(this).setProcessor(
(0, _asyncToGenerator2['default'])(
_regenerator['default'].mark(function _callee11() {
var processedArray;
var keyArray;
var equatableKeyArray;
var _iterator10;
var _step10;
var eachDatum;
var eachKey;
var isConflict;
var _iterator11;
var _step11;
var eachPrevEquatableKey;
var equalityResult;
return _regenerator['default'].wrap(
function _callee11$(_context11) {
while (1) {
switch ((_context11.prev = _context11.next)) {
case 0:
processedArray = new Array();
keyArray = new Array();
equatableKeyArray = new Array();
_iterator10 = _createForOfIteratorHelper(
_this12.data,
);
_context11.prev = 4;
_iterator10.s();
case 6:
if ((_step10 = _iterator10.n()).done) {
_context11.next = 46;
break;
}
eachDatum = _step10.value;
_context11.next = 10;
return selector(eachDatum);
case 10:
eachKey = _context11.sent;
if (
!_module.KoconutTypeChecker.checkIsEquatable(
eachKey,
)
) {
_context11.next = 43;
break;
}
isConflict = false;
_iterator11 =
_createForOfIteratorHelper(equatableKeyArray);
_context11.prev = 14;
_iterator11.s();
case 16:
if ((_step11 = _iterator11.n()).done) {
_context11.next = 32;
break;
}
eachPrevEquatableKey = _step11.value;
equalityResult =
eachPrevEquatableKey.equalsTo(eachKey);
_context11.t1 =
equalityResult instanceof _module.KoconutPrimitive;
if (!_context11.t1) {
_context11.next = 24;
break;
}
_context11.next = 23;
return equalityResult['yield']();
case 23:
_context11.t1 = _context11.sent;
case 24:
_context11.t0 = _context11.t1;
if (_context11.t0) {
_context11.next = 27;
break;
}
_context11.t0 =
!(
equalityResult instanceof _module.KoconutPrimitive
) && equalityResult;
case 27:
if (!_context11.t0) {
_context11.next = 30;
break;
}
isConflict = true;
return _context11.abrupt('break', 32);
case 30:
_context11.next = 16;
break;
case 32:
_context11.next = 37;
break;
case 34:
_context11.prev = 34;
_context11.t2 = _context11['catch'](14);
_iterator11.e(_context11.t2);
case 37:
_context11.prev = 37;
_iterator11.f();
return _context11.finish(37);
case 40:
if (!isConflict) {
equatableKeyArray.push(eachKey);
processedArray.push(eachDatum);
}
_context11.next = 44;
break;
case 43:
if (!keyArray.includes(eachKey)) {
keyArray.push(eachKey);
processedArray.push(eachDatum);
}
case 44:
_context11.next = 6;
break;
case 46:
_context11.next = 51;
break;
case 48:
_context11.prev = 48;
_context11.t3 = _context11['catch'](4);
_iterator10.e(_context11.t3);
case 51:
_context11.prev = 51;
_iterator10.f();
return _context11.finish(51);
case 54:
if (!(_this12.data instanceof Array)) {
_context11.next = 58;
break;
}
return _context11.abrupt('return', processedArray);
case 58:
return _context11.abrupt(
'return',
new Set(processedArray),
);
case 59:
case 'end':
return _context11.stop();
}
}
},
_callee11,
null,
[
[4, 48, 51, 54],
[14, 34, 37, 40],
],
);
}),
),
);
return koconutToReturn;
},
},
{
key: 'drop',
value: function drop(n) {
var _this13 = this;
var koconutToReturn = new KoconutCollection();
koconutToReturn.setPrevYieldable(this).setProcessor(
(0, _asyncToGenerator2['default'])(
_regenerator['default'].mark(function _callee12() {
var processedArray;
return _regenerator['default'].wrap(function _callee12$(
_context12,
) {
while (1) {
switch ((_context12.prev = _context12.next)) {
case 0:
if (!(n < 0)) {
_context12.next = 2;
break;
}
throw new _module.KoconutInvalidArgumentException(
'Given argument '.concat(
n,
" is invalid, 'n' must be larger than 0.",
),
);
case 2:
processedArray = new Array();
processedArray = Array.from(_this13.data).slice(n);
if (!(_this13.data instanceof Array)) {
_context12.next = 8;
break;
}
return _context12.abrupt('return', processedArray);
case 8:
return _context12.abrupt(
'return',
new Set(processedArray),
);
case 9:
case 'end':
return _context12.stop();
}
}
},
_callee12);
}),
),
);
return koconutToReturn;
},
},
{
key: 'dropLast',
value: function dropLast(n) {
var _this14 = this;
var koconutToReturn = new KoconutCollection();
koconutToReturn.setPrevYieldable(this).setProcessor(
(0, _asyncToGenerator2['default'])(
_regenerator['default'].mark(function _callee13() {
var processedArray;
return _regenerator['default'].wrap(function _callee13$(
_context13,
) {
while (1) {
switch ((_context13.prev = _context13.next)) {
case 0:
if (!(n < 0)) {
_context13.next = 2;
break;
}
throw new _module.KoconutInvalidArgumentException(
'Given argument '.concat(
n,
" is invalid, 'n' must be larger than 0.",
),
);
case 2:
processedArray = new Array();
processedArray = Array.from(_this14.data).slice(0, -n);
if (!(_this14.data instanceof Array)) {
_context13.next = 8;
break;
}
return _context13.abrupt('return', processedArray);
case 8:
return _context13.abrupt(
'return',
new Set(processedArray),
);
case 9:
case 'end':
return _context13.stop();
}
}
},
_callee13);
}),
),
);
return koconutToReturn;
},
},
{
key: 'dropLastWhile',
value: function dropLastWhile(predicate, thisArg) {
var _this15 = this;
predicate = predicate.bind(thisArg);
var koconutToReturn = new KoconutCollection();
koconutToReturn.setPrevYieldable(this).setProcessor(
(0, _asyncToGenerator2['default'])(
_regenerator['default'].mark(function _callee14() {
var processedArray;
var dataArray;
var indexNumber;
var eachIndex;
return _regenerator['default'].wrap(function _callee14$(
_context14,
) {
while (1) {
switch ((_context14.prev = _context14.next)) {
case 0:
processedArray = new Array();
dataArray = Array.from(_this15.data);
indexNumber = 0;
eachIndex = dataArray.length - 1;
case 4:
if (!(eachIndex >= 0)) {
_context14.next = 13;
break;
}
_context14.next = 7;
return predicate(dataArray[eachIndex]);
case 7:
if (_context14.sent) {
_context14.next = 10;
break;
}
indexNumber = eachIndex;
return _context14.abrupt('break', 13);
case 10:
eachIndex--;
_context14.next = 4;
break;
case 13:
processedArray = dataArray.slice(0, indexNumber + 1);
if (!(_this15.data instanceof Array)) {
_context14.next = 18;
break;
}
return _context14.abrupt('return', processedArray);
case 18:
return _context14.abrupt(
'return',
new Set(processedArray),
);
case 19:
case 'end':
return _context14.stop();
}
}
},
_callee14);
}),
),
);
return koconutToReturn;
},
},
{
key: 'dropWhile',
value: function dropWhile(predicate, thisArg) {
var _this16 = this;
predicate = predicate.bind(thisArg);
var koconutToReturn = new KoconutCollection();
koconutToReturn.setPrevYieldable(this).setProcessor(
(0, _