clayful
Version:
JavaScript & Node.js SDK for Clayful API
1 lines • 2.93 kB
JavaScript
!function(){function e(t,n,r){function i(u,s){if(!n[u]){if(!t[u]){var d="function"==typeof require&&require;if(!s&&d)return d(u,!0);if(o)return o(u,!0);var f=new Error("Cannot find module '"+u+"'");throw f.code="MODULE_NOT_FOUND",f}var a=n[u]={exports:{}};t[u][0].call(a.exports,function(e){return i(t[u][1][e]||e)},a,a.exports,e,t,n,r)}return n[u].exports}for(var o="function"==typeof require&&require,u=0;u<r.length;u++)i(r[u]);return i}return e}()({1:[function(e,t,n){"use strict";var r="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},i=e("../util/assign"),o={storage:"object"===("undefined"==typeof window?"undefined":r(window))?window.localStorage:null,storageKey:"__cartItems__",items:null};o.parseISOString=function(e){var t=e.split(/\D+/);return new Date(Date.UTC(t[0],--t[1],t[2],t[3],t[4],t[5],t[6]))},o.config=function(e){return i(o,e)},o.limitTotal=function(e){if(e){o.items.reduce(function(e,t){return e.concat(t,t.bundleItems||[])},[]).length>50&&(o.items=o.items.slice(1))}},o.loadItems=function(){return o.items=(o.items||JSON.parse(o.storage.getItem(o.storageKey)||"[]")).map(function(e){return e.addedAt="string"==typeof e.addedAt?o.parseISOString(e.addedAt):e.addedAt,e}),o.items},o.saveItems=function(){o.limitTotal(),o.storage.setItem(o.storageKey,JSON.stringify(o.items))},o.setItemDefaults=function(e){return[].concat(e,e.bundleItems||[]).forEach(function(e){e._id=e._id||(Math.random()+"").slice(2,17),e.shippingMethod=e.shippingMethod||null}),e},o.findItem=function(e,t){"string"!=typeof e||t||(t=e,e=o.items),e=e||[];for(var n=0;n<e.length;n++){var r=e[n];if(r._id===t+"")return r}return null},o.addItem=o.addItemForMe=function(e){if(e)return o.setItemDefaults(e),e.bundleItems=e.bundleItems||[],e.addedAt=new Date,o.items=o.loadItems().concat(e),o.saveItems(),e},o.updateItem=o.updateItemForMe=function(e,t){if(t){o.loadItems();var n=o.findItem(o.items,e);if(n){var r=t.bundleItems;if(delete t.bundleItems,i(n,t),r)if(n.bundleItems=n.bundleItems||[],r.length)n.bundleItems=r;else{for(var u in r)!function(e){var t=o.findItem(n.bundleItems,e),u=r[e];!t&&u&&n.bundleItems.push(u),t&&u&&i(t,u),null===u&&(n.bundleItems=n.bundleItems.filter(function(t){return t._id!==e}))}(u)}return o.setItemDefaults(n),o.saveItems(),n}}},o.deleteItem=o.deleteItemForMe=function(e){o.items=o.loadItems().filter(function(t){return t._id!==e+""}),o.saveItems()},o.empty=o.emptyForMe=function(){o.items=[],o.saveItems()},o.loadItems(),"object"===(void 0===t?"undefined":r(t))&&(t.exports=o),"object"===("undefined"==typeof window?"undefined":r(window))&&("object"===r(window.Clayful)?window.Clayful.LocalCart=o:window.Clayful={LocalCart:o})},{"../util/assign":2}],2:[function(e,t,n){"use strict";t.exports=function(e,t){for(var n in t)e[n]=t[n];return e}},{}]},{},[1]);