UNPKG

decentralized-internet

Version:

An NPM library of programs to create decentralized web and distributed computing projects

45 lines (37 loc) 1.08 kB
import fixSubtotal from './../lib/fix-subtotal' /** * @method * @name EcomCart#removeItem * @description Remove specific item from cart by ID. * * @param {string} itemId - The unique object ID of item * @param {boolean} [canSave=true] - Save cart data * * @returns {object|null} Returns the removed item object or null * when item not found. * * @example ecomCart.removeItem('12300000000000000000000f') */ export default ({ data, save }, emitter, [itemId, canSave = true]) => { for (let i = 0; i < data.items.length; i++) { const item = data.items[i] if (item._id === itemId) { data.items.splice(i, 1) fixSubtotal(data) /** * @event EcomCart#removeItem * @type {object} * @property {object} data - Shopping cart data * @property {object} item - Cart item removed * @example ecomCart.on('removeItem', ({ data, item }) => { console.log(data, item) }) */ emitter.emit('removeItem', { data, item }) if (canSave) { save(false) } return item } } return null }