UNPKG

@mic-rexjs/usecases

Version:
74 lines (73 loc) 3.63 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); Object.defineProperty(exports, "__esModule", { value: true }); exports.dataListUseCase = void 0; var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty")); var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator")); var _arrayUseCase = require("../arrayUseCase"); var _getDataKeyValue = require("./methods/getDataKeyValue"); function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; } function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2["default"])(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; } var dataListUseCase = exports.dataListUseCase = function dataListUseCase() { var arrayReducers = (0, _arrayUseCase.arrayUseCase)(); var extractEntity = arrayReducers.extractEntity; var extractEntityBy = function extractEntityBy(entity, target) { var expect = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false; return extractEntity(entity, function (item) { var value = (0, _getDataKeyValue.getDataKeyValue)(item); return value === target === expect; }); }; var filterEntityBy = /*#__PURE__*/_regenerator["default"].mark(function filterEntityBy(entity, target, expect) { return _regenerator["default"].wrap(function filterEntityBy$(_context) { while (1) switch (_context.prev = _context.next) { case 0: _context.next = 2; return extractEntityBy(entity, target, expect); case 2: return _context.abrupt("return", _context.sent); case 3: case "end": return _context.stop(); } }, filterEntityBy); }); var replaceEntity = function replaceEntity(entity, newItem) { var target = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : (0, _getDataKeyValue.getDataKeyValue)(newItem); return /*#__PURE__*/_regenerator["default"].mark(function _callee() { var index, targetItem, newEntity; return _regenerator["default"].wrap(function _callee$(_context2) { while (1) switch (_context2.prev = _context2.next) { case 0: index = entity.findIndex(function (item) { var value = (0, _getDataKeyValue.getDataKeyValue)(item); return value === target; }); if (!(index === -1)) { _context2.next = 3; break; } return _context2.abrupt("return", null); case 3: targetItem = entity[index]; newEntity = entity.slice(); newEntity[index] = newItem; _context2.next = 8; return newEntity; case 8: return _context2.abrupt("return", targetItem); case 9: case "end": return _context2.stop(); } }, _callee); })(); }; return _objectSpread(_objectSpread({}, arrayReducers), {}, { extractEntityBy: extractEntityBy, filterEntityBy: filterEntityBy, replaceEntity: replaceEntity }); };