UNPKG

canner

Version:

Build CMS in few lines of code for different data sources

199 lines (171 loc) 6.3 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); Object.defineProperty(exports, "__esModule", { value: true }); exports.isCreateArray = isCreateArray; exports.isCreateNestedArrayInArray = isCreateNestedArrayInArray; exports.isCreateNestedArrayInObject = isCreateNestedArrayInObject; exports.isCreateAndConnect = isCreateAndConnect; exports.isDeleteArray = isDeleteArray; exports.isDeleteNestedArrayInArray = isDeleteNestedArrayInArray; exports.isDeleteNestedArrayInObject = isDeleteNestedArrayInObject; exports.isDisconnectAndDelete = isDisconnectAndDelete; exports.isUpdateArray = isUpdateArray; exports.isUpdateObject = isUpdateObject; exports.isUpdateConnect = isUpdateConnect; exports.isSwapRootArray = isSwapRootArray; exports.isSwapArrayInArray = isSwapArrayInArray; exports.isSwapArrayInObject = isSwapArrayInObject; exports.isConnect = isConnect; exports.isDisconnect = isDisconnect; exports.isArrayAction = isArrayAction; var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof")); var _lodash = require("lodash"); /** |-------------------------------------------------- | create |-------------------------------------------------- */ function isCreateArray(_ref) { var id = _ref.id, updateType = _ref.updateType, rootValue = _ref.rootValue, relation = _ref.relation; return idLength(id) === 1 && updateType === 'create' && isArrayAction(rootValue, id) && !relation; } function isCreateNestedArrayInArray(_ref2) { var id = _ref2.id, updateType = _ref2.updateType, rootValue = _ref2.rootValue, relation = _ref2.relation; return idLength(id) > 2 && updateType === 'create' && isArrayAction(rootValue, id) && !relation; } function isCreateNestedArrayInObject(_ref3) { var id = _ref3.id, updateType = _ref3.updateType, rootValue = _ref3.rootValue, relation = _ref3.relation; return idLength(id) > 1 && updateType === 'create' && isObjectAction(rootValue, id) && !relation; } function isCreateAndConnect(_ref4) { var id = _ref4.id, updateType = _ref4.updateType, relation = _ref4.relation; return idLength(id) > 2 && updateType === 'create' && relation; } /** |-------------------------------------------------- | delete |-------------------------------------------------- */ function isDeleteArray(_ref5) { var id = _ref5.id, updateType = _ref5.updateType, rootValue = _ref5.rootValue, relation = _ref5.relation; return idLength(id) === 2 && updateType === 'delete' && isArrayAction(rootValue, id) && !relation; } function isDeleteNestedArrayInArray(_ref6) { var id = _ref6.id, updateType = _ref6.updateType, rootValue = _ref6.rootValue, relation = _ref6.relation; return idLength(id) > 2 && updateType === 'delete' && isArrayAction(rootValue, id) && !relation; } function isDeleteNestedArrayInObject(_ref7) { var id = _ref7.id, updateType = _ref7.updateType, rootValue = _ref7.rootValue, relation = _ref7.relation; return idLength(id) > 1 && updateType === 'delete' && isObjectAction(rootValue, id) && !relation; } function isDisconnectAndDelete(_ref8) { var id = _ref8.id, updateType = _ref8.updateType, relation = _ref8.relation; return idLength(id) > 1 && updateType === 'delete' && relation; } /** |-------------------------------------------------- | update |-------------------------------------------------- */ function isUpdateArray(_ref9) { var id = _ref9.id, updateType = _ref9.updateType, rootValue = _ref9.rootValue, relation = _ref9.relation; return idLength(id) >= 2 && updateType === 'update' && isArrayAction(rootValue, id) && !relation; } function isUpdateObject(_ref10) { var id = _ref10.id, updateType = _ref10.updateType, rootValue = _ref10.rootValue, relation = _ref10.relation; return idLength(id) >= 1 && updateType === 'update' && isObjectAction(rootValue, id) && !relation; } function isUpdateConnect(_ref11) { var id = _ref11.id, updateType = _ref11.updateType, rootValue = _ref11.rootValue, relation = _ref11.relation; return idLength(id) >= 4 && updateType === 'update' && isArrayAction(rootValue, id) && relation; } /** |-------------------------------------------------- | swap |-------------------------------------------------- */ function isSwapRootArray(_ref12) { var id = _ref12.id, updateType = _ref12.updateType, rootValue = _ref12.rootValue, relation = _ref12.relation; return updateType === 'swap' && (0, _typeof2.default)(id) === 'object' && idLength(id.firstId) === 2 && isArrayAction(rootValue, id.firstId) && !relation; } function isSwapArrayInArray(_ref13) { var id = _ref13.id, updateType = _ref13.updateType, rootValue = _ref13.rootValue, relation = _ref13.relation; return updateType === 'swap' && (0, _typeof2.default)(id) === 'object' && idLength(id.firstId) > 2 && isArrayAction(rootValue, id.firstId) && !relation; } function isSwapArrayInObject(_ref14) { var id = _ref14.id, updateType = _ref14.updateType, rootValue = _ref14.rootValue, relation = _ref14.relation; return updateType === 'swap' && (0, _typeof2.default)(id) === 'object' && idLength(id.firstId) > 1 && isObjectAction(rootValue, id.firstId) && !relation; } /** |-------------------------------------------------- | connect |-------------------------------------------------- */ function isConnect(_ref15) { var id = _ref15.id, updateType = _ref15.updateType, relation = _ref15.relation; return idLength(id) > 1 && updateType === 'connect' && relation; } /** |-------------------------------------------------- | disconnect |-------------------------------------------------- */ function isDisconnect(_ref16) { var id = _ref16.id, updateType = _ref16.updateType, relation = _ref16.relation; return idLength(id) > 1 && updateType === 'disconnect' && relation; } function idLength(id) { return typeof id === 'string' && id.split('/').length; } function isObjectAction(rootValue, id) { return (0, _lodash.isPlainObject)(rootValue[id.split('/')[0]]); } function isArrayAction(rootValue, id) { return (0, _lodash.isArray)(rootValue[id.split('/')[0]]); }