UNPKG

@eastsideco/escshopify

Version:

WIP JS library for Shopify, containing a variety of useful functionality.

1,849 lines (993 loc) 75.3 kB
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <base data-ice="baseUrl" href="../../../"> <title data-ice="title">Cart | @eastsideco/escshopify</title> <link type="text/css" rel="stylesheet" href="css/style.css"> <link type="text/css" rel="stylesheet" href="css/prettify-tomorrow.css"> <script src="script/prettify/prettify.js"></script> <script src="script/manual.js"></script> </head> <body class="layout-container" data-ice="rootContainer"> <header> <a href="./">Home</a> <a href="./manual/index.html" data-ice="manualHeaderLink">Manual</a> <a href="identifiers.html">Reference</a> <a href="source.html">Source</a> <div class="search-box"> <span> <img src="./image/search.png"> <span class="search-input-edge"></span><input class="search-input"><span class="search-input-edge"></span> </span> <ul class="search-result"></ul> </div> <a href="https://bitbucket.org/sigapps/escshopify.git">Repository</a></header> <nav class="navigation" data-ice="nav"><div> <ul> <li data-ice="doc"><span data-ice="kind" class="kind-variable">V</span><span data-ice="name"><span><a href="variable/index.html#static-variable-cart">cart</a></span></span></li> <li data-ice="doc"><span data-ice="kind" class="kind-variable">V</span><span data-ice="name"><span><a href="variable/index.html#static-variable-easyCurrency">easyCurrency</a></span></span></li> <li data-ice="doc"><span data-ice="kind" class="kind-variable">V</span><span data-ice="name"><span><a href="variable/index.html#static-variable-geoService">geoService</a></span></span></li> <li data-ice="doc"><span data-ice="kind" class="kind-variable">V</span><span data-ice="name"><span><a href="variable/index.html#static-variable-utils">utils</a></span></span></li> <li data-ice="doc"><span data-ice="kind" class="kind-external">E</span><span data-ice="name"><span><a href="https://www.npmjs.com/package/promise-queue">promise-queue</a></span></span></li> <li data-ice="doc"><a data-ice="dirPath" class="nav-dir-path" href="identifiers.html#ajax">ajax</a><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/src/ajax/Cart.js~Cart.html">Cart</a></span></span></li> <li data-ice="doc"><span data-ice="kind" class="kind-typedef">T</span><span data-ice="name"><span><a href="typedef/index.html#static-typedef-ShopifyCart">ShopifyCart</a></span></span></li> <li data-ice="doc"><span data-ice="kind" class="kind-typedef">T</span><span data-ice="name"><span><a href="typedef/index.html#static-typedef-ShopifyCartLineItem">ShopifyCartLineItem</a></span></span></li> <li data-ice="doc"><a data-ice="dirPath" class="nav-dir-path" href="identifiers.html#easycurrency">easycurrency</a><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/src/easycurrency/EasyCurrency.js~EasyCurrency.html">EasyCurrency</a></span></span></li> <li data-ice="doc"><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/src/easycurrency/MoneySpan.js~MoneySpan.html">MoneySpan</a></span></span></li> <li data-ice="doc"><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/src/easycurrency/MoneySpanSet.js~MoneySpanSet.html">MoneySpanSet</a></span></span></li> <li data-ice="doc"><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/src/easycurrency/Session.js~Session.html">Session</a></span></span></li> <li data-ice="doc"><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/src/easycurrency/config.js~Config.html">Config</a></span></span></li> <li data-ice="doc"><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/src/easycurrency/state.js~State.html">State</a></span></span></li> <li data-ice="doc"><a data-ice="dirPath" class="nav-dir-path" href="identifiers.html#easycurrency-formatters">easycurrency/formatters</a><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/src/easycurrency/formatters/DefaultFormatter.js~DefaultFormatter.html">DefaultFormatter</a></span></span></li> <li data-ice="doc"><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/src/easycurrency/formatters/Formatter.js~Formatter.html">Formatter</a></span></span></li> <li data-ice="doc"><a data-ice="dirPath" class="nav-dir-path" href="identifiers.html#easycurrency-helpers">easycurrency/helpers</a><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/src/easycurrency/helpers/SelectHelper.js~SelectHelper.html">SelectHelper</a></span></span></li> <li data-ice="doc"><a data-ice="dirPath" class="nav-dir-path" href="identifiers.html#easycurrency-resolvers">easycurrency/resolvers</a><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/src/easycurrency/resolvers/CurrencyResolver.js~CurrencyResolver.html">CurrencyResolver</a></span></span></li> <li data-ice="doc"><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/src/easycurrency/resolvers/GeoserviceResolver.js~GeoserviceResolver.html">GeoserviceResolver</a></span></span></li> <li data-ice="doc"><a data-ice="dirPath" class="nav-dir-path" href="identifiers.html#geoservice">geoservice</a><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/src/geoservice/API.js~API.html">API</a></span></span></li> <li data-ice="doc"><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/src/geoservice/GeoService.js~GeoService.html">GeoService</a></span></span></li> <li data-ice="doc"><a data-ice="dirPath" class="nav-dir-path" href="identifiers.html#http">http</a><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/src/http/RequestQueuable.js~RequestQueuable.html">RequestQueuable</a></span></span></li> <li data-ice="doc"><a data-ice="dirPath" class="nav-dir-path" href="identifiers.html#utils">utils</a><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/src/utils/Log.js~Log.html">Log</a></span></span></li> <li data-ice="doc"><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/src/utils/general.js~GeneralUtils.html">GeneralUtils</a></span></span></li> <li data-ice="doc"><a data-ice="dirPath" class="nav-dir-path" href="identifiers.html#utils-loggers">utils/loggers</a><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/src/utils/loggers/ConsoleLogger.js~ConsoleLogger.html">ConsoleLogger</a></span></span></li> <li data-ice="doc"><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/src/utils/loggers/Logger.js~Logger.html">Logger</a></span></span></li> <li data-ice="doc"><span data-ice="kind" class="kind-class">C</span><span data-ice="name"><span><a href="class/src/utils/loggers/logLevel.js~LogLevel.html">LogLevel</a></span></span></li> <li data-ice="doc"><span data-ice="kind" class="kind-variable">V</span><span data-ice="name"><span><a href="variable/index.html#static-variable-logLevel">logLevel</a></span></span></li> </ul> </div> </nav> <div class="content" data-ice="content"><div class="header-notice"> <div data-ice="importPath" class="import-path"><pre class="prettyprint"><code data-ice="importPathCode">import Cart from &apos;<span><a href="file/src/ajax/Cart.js.html#lineNumber60">@eastsideco/escshopify/src/ajax/Cart.js</a></span>&apos;</code></pre></div> <span data-ice="access">public</span> <span data-ice="kind">class</span> <span data-ice="source">| <span><a href="file/src/ajax/Cart.js.html#lineNumber60">source</a></span></span> </div> <div class="self-detail detail"> <h1 data-ice="name">Cart</h1> <div data-ice="instanceDocs" class="instance-docs"> <span>You can directly use an instance of this class.</span> <span data-ice="instanceDoc"><span><a href="variable/index.html#static-variable-cart">cart</a></span></span> </div> <div class="flat-list" data-ice="extendsChain"><h4>Extends:</h4><div><span>evee</span> &#x2192; Cart</div></div> <div class="description" data-ice="description"><p>Shopify Cart entity.</p> </div> </div> <div data-ice="constructorSummary"><h2>Constructor Summary</h2><table class="summary" data-ice="summary"> <thead><tr><td data-ice="title" colspan="3">Public Constructor</td></tr></thead> <tbody> <tr data-ice="target"> <td> <span class="access" data-ice="access">public</span> <span class="override" data-ice="override"></span> </td> <td> <div> <p> <span class="code" data-ice="name"><span><a href="class/src/ajax/Cart.js~Cart.html#instance-constructor-constructor">constructor</a></span></span><span class="code" data-ice="signature">()</span> </p> </div> <div> <div data-ice="description"><p>Construct a new instance of the cart entity.</p> </div> </div> </td> <td> </td> </tr> </tbody> </table> </div> <div data-ice="memberSummary"><h2>Member Summary</h2><table class="summary" data-ice="summary"> <thead><tr><td data-ice="title" colspan="3">Public Members</td></tr></thead> <tbody> <tr data-ice="target"> <td> <span class="access" data-ice="access">public</span> <span class="kind" data-ice="kind">get</span> <span class="override" data-ice="override"></span> </td> <td> <div> <p> <span class="code" data-ice="name"><span><a href="class/src/ajax/Cart.js~Cart.html#instance-get-attributes">attributes</a></span></span><span class="code" data-ice="signature">: <span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object">Object</a></span></span> </p> </div> <div> <div data-ice="description"><p>Alias to getAttributes()</p> </div> </div> </td> <td> </td> </tr> <tr data-ice="target"> <td> <span class="access" data-ice="access">public</span> <span class="kind" data-ice="kind">get</span> <span class="override" data-ice="override"></span> </td> <td> <div> <p> <span class="code" data-ice="name"><span><a href="class/src/ajax/Cart.js~Cart.html#instance-get-items">items</a></span></span><span class="code" data-ice="signature">: <span><span><a href="typedef/index.html#static-typedef-ShopifyCartLineItem">ShopifyCartLineItem</a></span><span>[]</span></span></span> </p> </div> <div> <div data-ice="description"><p>Alias to getItems();</p> </div> </div> </td> <td> </td> </tr> <tr data-ice="target"> <td> <span class="access" data-ice="access">public</span> <span class="kind" data-ice="kind">get</span> <span class="override" data-ice="override"></span> </td> <td> <div> <p> <span class="code" data-ice="name"><span><a href="class/src/ajax/Cart.js~Cart.html#instance-get-totalPrice">totalPrice</a></span></span><span class="code" data-ice="signature">: <span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number">Number</a></span></span> </p> </div> <div> <div data-ice="description"><p>Alias to getTotalPrice();</p> </div> </div> </td> <td> </td> </tr> <tr data-ice="target"> <td> <span class="access" data-ice="access">public</span> <span class="kind" data-ice="kind">get</span> <span class="override" data-ice="override"></span> </td> <td> <div> <p> <span class="code" data-ice="name"><span><a href="class/src/ajax/Cart.js~Cart.html#instance-get-total_price">total_price</a></span></span><span class="code" data-ice="signature">: <span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number">Number</a></span></span> </p> </div> <div> <div data-ice="description"><p>Alias to getTotalPrice();</p> </div> </div> </td> <td> </td> </tr> </tbody> </table> <table class="summary" data-ice="summary"> <thead><tr><td data-ice="title" colspan="3">Private Members</td></tr></thead> <tbody> <tr data-ice="target"> <td> <span class="access" data-ice="access">private</span> <span class="override" data-ice="override"></span> </td> <td> <div> <p> <span class="code" data-ice="name"><span><a href="class/src/ajax/Cart.js~Cart.html#instance-member-_attributes">_attributes</a></span></span><span class="code" data-ice="signature">: {}</span> </p> </div> <div> </div> </td> <td> </td> </tr> <tr data-ice="target"> <td> <span class="access" data-ice="access">private</span> <span class="override" data-ice="override"></span> </td> <td> <div> <p> <span class="code" data-ice="name"><span><a href="class/src/ajax/Cart.js~Cart.html#instance-member-_items">_items</a></span></span><span class="code" data-ice="signature">: <span><span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object">Object</a></span><span>[]</span></span></span> </p> </div> <div> </div> </td> <td> </td> </tr> <tr data-ice="target"> <td> <span class="access" data-ice="access">private</span> <span class="override" data-ice="override"></span> </td> <td> <div> <p> <span class="code" data-ice="name"><span><a href="class/src/ajax/Cart.js~Cart.html#instance-member-_queue">_queue</a></span></span><span class="code" data-ice="signature">: <span><a href="https://www.npmjs.com/package/promise-queue">promise-queue</a></span></span> </p> </div> <div> </div> </td> <td> </td> </tr> <tr data-ice="target"> <td> <span class="access" data-ice="access">private</span> <span class="override" data-ice="override"></span> </td> <td> <div> <p> <span class="code" data-ice="name"><span><a href="class/src/ajax/Cart.js~Cart.html#instance-member-_ready">_ready</a></span></span><span class="code" data-ice="signature">: <span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Boolean">boolean</a></span></span> </p> </div> <div> </div> </td> <td> </td> </tr> </tbody> </table> </div> <div data-ice="methodSummary"><h2>Method Summary</h2><table class="summary" data-ice="summary"> <thead><tr><td data-ice="title" colspan="3">Public Methods</td></tr></thead> <tbody> <tr data-ice="target"> <td> <span class="access" data-ice="access">public</span> <span class="override" data-ice="override"></span> </td> <td> <div> <p> <span class="code" data-ice="name"><span><a href="class/src/ajax/Cart.js~Cart.html#instance-method-addItem">addItem</a></span></span><span class="code" data-ice="signature">(id: <span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number">Number</a></span> | <span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String">String</a></span>, quantity: <span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number">Number</a></span>, properties: <span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object">Object</a></span>): <span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise">Promise</a></span>&lt;<span><a href="typedef/index.html#static-typedef-ShopifyCartLineItem">ShopifyCartLineItem</a></span>, <span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Error">Error</a></span>&gt;</span> </p> </div> <div> <div data-ice="description"><p>Add a new item to the cart.</p> </div> </div> </td> <td> </td> </tr> <tr data-ice="target"> <td> <span class="access" data-ice="access">public</span> <span class="override" data-ice="override"></span> </td> <td> <div> <p> <span class="code" data-ice="name"><span><a href="class/src/ajax/Cart.js~Cart.html#instance-method-clear">clear</a></span></span><span class="code" data-ice="signature">(): <span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise">Promise</a></span>&lt;<span><a href="class/src/ajax/Cart.js~Cart.html">Cart</a></span>, <span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Error">Error</a></span>&gt;</span> </p> </div> <div> <div data-ice="description"><p>Clear the cart.</p> </div> </div> </td> <td> </td> </tr> <tr data-ice="target"> <td> <span class="access" data-ice="access">public</span> <span class="override" data-ice="override"></span> </td> <td> <div> <p> <span class="code" data-ice="name"><span><a href="class/src/ajax/Cart.js~Cart.html#instance-method-getAttribute">getAttribute</a></span></span><span class="code" data-ice="signature">(key: <span>*</span>): <span>*</span></span> </p> </div> <div> </div> </td> <td> </td> </tr> <tr data-ice="target"> <td> <span class="access" data-ice="access">public</span> <span class="override" data-ice="override"></span> </td> <td> <div> <p> <span class="code" data-ice="name"><span><a href="class/src/ajax/Cart.js~Cart.html#instance-method-getAttributes">getAttributes</a></span></span><span class="code" data-ice="signature">(): <span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object">Object</a></span></span> </p> </div> <div> <div data-ice="description"><p>Returns cart attributes.</p> </div> </div> </td> <td> </td> </tr> <tr data-ice="target"> <td> <span class="access" data-ice="access">public</span> <span class="override" data-ice="override"></span> </td> <td> <div> <p> <span class="code" data-ice="name"><span><a href="class/src/ajax/Cart.js~Cart.html#instance-method-getItems">getItems</a></span></span><span class="code" data-ice="signature">(): <span><span><a href="typedef/index.html#static-typedef-ShopifyCartLineItem">ShopifyCartLineItem</a></span><span>[]</span></span></span> </p> </div> <div> <div data-ice="description"><p>Returns items in the cart (in the normal Shopify line item format.</p> </div> </div> </td> <td> </td> </tr> <tr data-ice="target"> <td> <span class="access" data-ice="access">public</span> <span class="override" data-ice="override"></span> </td> <td> <div> <p> <span class="code" data-ice="name"><span><a href="class/src/ajax/Cart.js~Cart.html#instance-method-getTotalPrice">getTotalPrice</a></span></span><span class="code" data-ice="signature">(): <span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number">Number</a></span></span> </p> </div> <div> <div data-ice="description"><p>Calculates the total value of the cart.</p> </div> </div> </td> <td> </td> </tr> <tr data-ice="target"> <td> <span class="access" data-ice="access">public</span> <span class="override" data-ice="override"></span> </td> <td> <div> <p> <span class="code" data-ice="name"><span><a href="class/src/ajax/Cart.js~Cart.html#instance-method-initialize">initialize</a></span></span><span class="code" data-ice="signature">(cartData: <span><a href="typedef/index.html#static-typedef-ShopifyCart">ShopifyCart</a></span>)</span> </p> </div> <div> <div data-ice="description"><p>Initialize the cart entity with the current state of the visitor&apos;s cart.</p> </div> </div> </td> <td> </td> </tr> <tr data-ice="target"> <td> <span class="access" data-ice="access">public</span> <span class="override" data-ice="override"></span> </td> <td> <div> <p> <span data-ice="async">async</span> <span class="code" data-ice="name"><span><a href="class/src/ajax/Cart.js~Cart.html#instance-method-reload">reload</a></span></span><span class="code" data-ice="signature">(): <span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise">Promise</a></span>&lt;<span><a href="class/src/ajax/Cart.js~Cart.html">Cart</a></span>, <span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Error">Error</a></span>&gt;</span> </p> </div> <div> <div data-ice="description"><p>Reloads the cart state via AJAX.</p> </div> </div> </td> <td> </td> </tr> <tr data-ice="target"> <td> <span class="access" data-ice="access">public</span> <span class="override" data-ice="override"></span> </td> <td> <div> <p> <span class="code" data-ice="name"><span><a href="class/src/ajax/Cart.js~Cart.html#instance-method-removeItem">removeItem</a></span></span><span class="code" data-ice="signature">(lineNumber: <span>*</span>): <span>*</span></span> </p> </div> <div> </div> </td> <td> </td> </tr> <tr data-ice="target"> <td> <span class="access" data-ice="access">public</span> <span class="override" data-ice="override"></span> </td> <td> <div> <p> <span class="code" data-ice="name"><span><a href="class/src/ajax/Cart.js~Cart.html#instance-method-removeItemById">removeItemById</a></span></span><span class="code" data-ice="signature">(id: <span>*</span>): <span>*</span></span> </p> </div> <div> </div> </td> <td> </td> </tr> <tr data-ice="target"> <td> <span class="access" data-ice="access">public</span> <span class="override" data-ice="override"></span> </td> <td> <div> <p> <span class="code" data-ice="name"><span><a href="class/src/ajax/Cart.js~Cart.html#instance-method-setAttribute">setAttribute</a></span></span><span class="code" data-ice="signature">(key: <span>*</span>, value: <span>*</span>): <span>*</span></span> </p> </div> <div> </div> </td> <td> </td> </tr> <tr data-ice="target"> <td> <span class="access" data-ice="access">public</span> <span class="override" data-ice="override"></span> </td> <td> <div> <p> <span class="code" data-ice="name"><span><a href="class/src/ajax/Cart.js~Cart.html#instance-method-setAttributes">setAttributes</a></span></span><span class="code" data-ice="signature">(attributes: <span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object">Object</a></span>): <span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise">Promise</a></span>&lt;<span><a href="class/src/ajax/Cart.js~Cart.html">Cart</a></span>, <span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Error">Error</a></span>&gt;</span> </p> </div> <div> <div data-ice="description"><p>Sets all attributes on the cart.</p> </div> </div> </td> <td> </td> </tr> <tr data-ice="target"> <td> <span class="access" data-ice="access">public</span> <span class="override" data-ice="override"></span> </td> <td> <div> <p> <span class="code" data-ice="name"><span><a href="class/src/ajax/Cart.js~Cart.html#instance-method-updateItem">updateItem</a></span></span><span class="code" data-ice="signature">(lineNumber: <span>*</span>, quantity: <span>*</span>, properties: <span>*</span>): <span>*</span></span> </p> </div> <div> </div> </td> <td> </td> </tr> <tr data-ice="target"> <td> <span class="access" data-ice="access">public</span> <span class="override" data-ice="override"></span> </td> <td> <div> <p> <span class="code" data-ice="name"><span><a href="class/src/ajax/Cart.js~Cart.html#instance-method-updateItemById">updateItemById</a></span></span><span class="code" data-ice="signature">(id: <span>*</span>, quantity: <span>*</span>, properties: <span>*</span>): <span>*</span></span> </p> </div> <div> </div> </td> <td> </td> </tr> <tr data-ice="target"> <td> <span class="access" data-ice="access">public</span> <span class="override" data-ice="override"></span> </td> <td> <div> <p> <span class="code" data-ice="name"><span><a href="class/src/ajax/Cart.js~Cart.html#instance-method-updateItemById">updateItemById</a></span></span><span class="code" data-ice="signature">(id: <span>*</span>, quantity: <span>*</span>, properties: <span>*</span>): <span>*</span></span> </p> </div> <div> </div> </td> <td> </td> </tr> <tr data-ice="target"> <td> <span class="access" data-ice="access">public</span> <span class="override" data-ice="override"></span> </td> <td> <div> <p> <span class="code" data-ice="name"><span><a href="class/src/ajax/Cart.js~Cart.html#instance-method-updateItemQuantitiesById">updateItemQuantitiesById</a></span></span><span class="code" data-ice="signature">(updates: <span>*</span>): <span>*</span></span> </p> </div> <div> </div> </td> <td> </td> </tr> </tbody> </table> <table class="summary" data-ice="summary"> <thead><tr><td data-ice="title" colspan="3">Private Methods</td></tr></thead> <tbody> <tr data-ice="target"> <td> <span class="access" data-ice="access">private</span> <span class="override" data-ice="override"></span> </td> <td> <div> <p> <span class="code" data-ice="name"><span><a href="class/src/ajax/Cart.js~Cart.html#instance-method-_emitAdd">_emitAdd</a></span></span><span class="code" data-ice="signature">(item: <span>*</span>)</span> </p> </div> <div> </div> </td> <td> </td> </tr> <tr data-ice="target"> <td> <span class="access" data-ice="access">private</span> <span class="override" data-ice="override"></span> </td> <td> <div> <p> <span class="code" data-ice="name"><span><a href="class/src/ajax/Cart.js~Cart.html#instance-method-_emitClear">_emitClear</a></span></span><span class="code" data-ice="signature">(oldItems: <span>*</span>)</span> </p> </div> <div> </div> </td> <td> </td> </tr> <tr data-ice="target"> <td> <span class="access" data-ice="access">private</span> <span class="override" data-ice="override"></span> </td> <td> <div> <p> <span class="code" data-ice="name"><span><a href="class/src/ajax/Cart.js~Cart.html#instance-method-_emitRemove">_emitRemove</a></span></span><span class="code" data-ice="signature">(item: <span>*</span>)</span> </p> </div> <div> </div> </td> <td> </td> </tr> <tr data-ice="target"> <td> <span class="access" data-ice="access">private</span> <span class="override" data-ice="override"></span> </td> <td> <div> <p> <span class="code" data-ice="name"><span><a href="class/src/ajax/Cart.js~Cart.html#instance-method-_emitUpdate">_emitUpdate</a></span></span><span class="code" data-ice="signature">(operation: <span>*</span>, item: <span>*</span>)</span> </p> </div> <div> </div> </td> <td> </td> </tr> <tr data-ice="target"> <td> <span class="access" data-ice="access">private</span> <span class="override" data-ice="override"></span> </td> <td> <div> <p> <span class="code" data-ice="name"><span><a href="class/src/ajax/Cart.js~Cart.html#instance-method-_emitUpdateItem">_emitUpdateItem</a></span></span><span class="code" data-ice="signature">(item: <span>*</span>)</span> </p> </div> <div> </div> </td> <td> </td> </tr> <tr data-ice="target"> <td> <span class="access" data-ice="access">private</span> <span class="override" data-ice="override"></span> </td> <td> <div> <p> <span class="code" data-ice="name"><span><a href="class/src/ajax/Cart.js~Cart.html#instance-method-_loadFromShopifyCart">_loadFromShopifyCart</a></span></span><span class="code" data-ice="signature">(cart: <span>*</span>)</span> </p> </div> <div> </div> </td> <td> </td> </tr> <tr data-ice="target"> <td> <span class="access" data-ice="access">private</span> <span class="override" data-ice="override"></span> </td> <td> <div> <p> <span class="code" data-ice="name"><span><a href="class/src/ajax/Cart.js~Cart.html#instance-method-_loadItem">_loadItem</a></span></span><span class="code" data-ice="signature">(itemData: <span>*</span>): <span>*</span></span> </p> </div> <div> </div> </td> <td> </td> </tr> </tbody> </table> </div> <div data-ice="constructorDetails"><h2 data-ice="title">Public Constructors</h2> <div class="detail" data-ice="detail"> <h3 data-ice="anchor" id="instance-constructor-constructor"> <span class="access" data-ice="access">public</span> <span class="code" data-ice="name">constructor</span><span class="code" data-ice="signature">()</span> <span class="right-info"> <span data-ice="source"><span><a href="file/src/ajax/Cart.js.html#lineNumber64">source</a></span></span> </span> </h3> <div data-ice="description"><p>Construct a new instance of the cart entity.</p> </div> <div data-ice="properties"> </div> </div> </div> <div data-ice="memberDetails"><h2 data-ice="title">Public Members</h2> <div class="detail" data-ice="detail"> <h3 data-ice="anchor" id="instance-get-attributes"> <span class="access" data-ice="access">public</span> <span class="kind" data-ice="kind">get</span> <span class="code" data-ice="name">attributes</span><span class="code" data-ice="signature">: <span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object">Object</a></span></span> <span class="right-info"> <span data-ice="source"><span><a href="file/src/ajax/Cart.js.html#lineNumber142">source</a></span></span> </span> </h3> <div data-ice="description"><p>Alias to getAttributes()</p> </div> <div data-ice="properties"> </div> </div> <div class="detail" data-ice="detail"> <h3 data-ice="anchor" id="instance-get-items"> <span class="access" data-ice="access">public</span> <span class="kind" data-ice="kind">get</span> <span class="code" data-ice="name">items</span><span class="code" data-ice="signature">: <span><span><a href="typedef/index.html#static-typedef-ShopifyCartLineItem">ShopifyCartLineItem</a></span><span>[]</span></span></span> <span class="right-info"> <span data-ice="source"><span><a href="file/src/ajax/Cart.js.html#lineNumber96">source</a></span></span> </span> </h3> <div data-ice="description"><p>Alias to getItems();</p> </div> <div data-ice="properties"> </div> </div> <div class="detail" data-ice="detail"> <h3 data-ice="anchor" id="instance-get-totalPrice"> <span class="access" data-ice="access">public</span> <span class="kind" data-ice="kind">get</span> <span class="code" data-ice="name">totalPrice</span><span class="code" data-ice="signature">: <span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number">Number</a></span></span> <span class="right-info"> <span data-ice="source"><span><a href="file/src/ajax/Cart.js.html#lineNumber114">source</a></span></span> </span> </h3> <div data-ice="description"><p>Alias to getTotalPrice();</p> </div> <div data-ice="properties"> </div> </div> <div class="detail" data-ice="detail"> <h3 data-ice="anchor" id="instance-get-total_price"> <span class="access" data-ice="access">public</span> <span class="kind" data-ice="kind">get</span> <span class="code" data-ice="name">total_price</span><span class="code" data-ice="signature">: <span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number">Number</a></span></span> <span class="right-info"> <span data-ice="source"><span><a href="file/src/ajax/Cart.js.html#lineNumber109">source</a></span></span> </span> </h3> <div data-ice="description"><p>Alias to getTotalPrice();</p> </div> <div data-ice="properties"> </div> </div> <h2 data-ice="title">Private Members</h2> <div class="detail" data-ice="detail"> <h3 data-ice="anchor" id="instance-member-_attributes"> <span class="access" data-ice="access">private</span> <span class="code" data-ice="name">_attributes</span><span class="code" data-ice="signature">: {}</span> <span class="right-info"> <span data-ice="source"><span><a href="file/src/ajax/Cart.js.html#lineNumber69">source</a></span></span> </span> </h3> <div data-ice="properties"> </div> </div> <div class="detail" data-ice="detail"> <h3 data-ice="anchor" id="instance-member-_items"> <span class="access" data-ice="access">private</span> <span class="code" data-ice="name">_items</span><span class="code" data-ice="signature">: <span><span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object">Object</a></span><span>[]</span></span></span> <span class="right-info"> <span data-ice="source"><span><a href="file/src/ajax/Cart.js.html#lineNumber73">source</a></span></span> </span> </h3> <div data-ice="properties"> </div> </div> <div class="detail" data-ice="detail"> <h3 data-ice="anchor" id="instance-member-_queue"> <span class="access" data-ice="access">private</span> <span class="code" data-ice="name">_queue</span><span class="code" data-ice="signature">: <span><a href="https://www.npmjs.com/package/promise-queue">promise-queue</a></span></span> <span class="right-info"> <span data-ice="source"><span><a href="file/src/ajax/Cart.js.html#lineNumber68">source</a></span></span> </span> </h3> <div data-ice="properties"> </div> </div> <div class="detail" data-ice="detail"> <h3 data-ice="anchor" id="instance-member-_ready"> <span class="access" data-ice="access">private</span> <span class="code" data-ice="name">_ready</span><span class="code" data-ice="signature">: <span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Boolean">boolean</a></span></span> <span class="right-info"> <span data-ice="source"><span><a href="file/src/ajax/Cart.js.html#lineNumber70">source</a></span></span> </span> </h3> <div data-ice="properties"> </div> </div> </div> <div data-ice="methodDetails"><h2 data-ice="title">Public Methods</h2> <div class="detail" data-ice="detail"> <h3 data-ice="anchor" id="instance-method-addItem"> <span class="access" data-ice="access">public</span> <span class="code" data-ice="name">addItem</span><span class="code" data-ice="signature">(id: <span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number">Number</a></span> | <span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String">String</a></span>, quantity: <span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number">Number</a></span>, properties: <span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object">Object</a></span>): <span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise">Promise</a></span>&lt;<span><a href="typedef/index.html#static-typedef-ShopifyCartLineItem">ShopifyCartLineItem</a></span>, <span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Error">Error</a></span>&gt;</span> <span class="right-info"> <span data-ice="source"><span><a href="file/src/ajax/Cart.js.html#lineNumber193">source</a></span></span> </span> </h3> <div data-ice="description"><p>Add a new item to the cart.</p> </div> <div data-ice="properties"><div data-ice="properties"> <h4 data-ice="title">Params:</h4> <table class="params"> <thead> <tr><td>Name</td><td>Type</td><td>Attribute</td><td>Description</td></tr> </thead> <tbody> <tr data-ice="property" data-depth="0"> <td data-ice="name" class="code" data-depth="0">id</td> <td data-ice="type" class="code"><span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number">Number</a></span> | <span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String">String</a></span></td> <td data-ice="appendix"></td> <td data-ice="description"><p>Variant ID to add to cart.</p> </td> </tr> <tr data-ice="property" data-depth="0"> <td data-ice="name" class="code" data-depth="0">quantity</td> <td data-ice="type" class="code"><span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number">Number</a></span></td> <td data-ice="appendix"></td> <td data-ice="description"><p>Quantity to add.</p> </td> </tr> <tr data-ice="property" data-depth="0"> <td data-ice="name" class="code" data-depth="0">properties</td> <td data-ice="type" class="code"><span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object">Object</a></span></td> <td data-ice="appendix"></td> <td data-ice="description"><p>Line item attributes.</p> </td> </tr> </tbody> </table> </div> </div> <div class="return-params" data-ice="returnParams"> <h4>Return:</h4> <table> <tbody> <tr> <td class="return-type code" data-ice="returnType"><span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise">Promise</a></span>&lt;<span><a href="typedef/index.html#static-typedef-ShopifyCartLineItem">ShopifyCartLineItem</a></span>, <span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Error">Error</a></span>&gt;</td> </tr> </tbody> </table> <div data-ice="returnProperties"> </div> </div> </div> <div class="detail" data-ice="detail"> <h3 data-ice="anchor" id="instance-method-clear"> <span class="access" data-ice="access">public</span> <span class="code" data-ice="name">clear</span><span class="code" data-ice="signature">(): <span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise">Promise</a></span>&lt;<span><a href="class/src/ajax/Cart.js~Cart.html">Cart</a></span>, <span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Error">Error</a></span>&gt;</span> <span class="right-info"> <span data-ice="source"><span><a href="file/src/ajax/Cart.js.html#lineNumber269">source</a></span></span> </span> </h3> <div data-ice="description"><p>Clear the cart.</p> </div> <div data-ice="properties"> </div> <div class="return-params" data-ice="returnParams"> <h4>Return:</h4> <table> <tbody> <tr> <td class="return-type code" data-ice="returnType"><span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise">Promise</a></span>&lt;<span><a href="class/src/ajax/Cart.js~Cart.html">Cart</a></span>, <span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Error">Error</a></span>&gt;</td> </tr> </tbody> </table> <div data-ice="returnProperties"> </div> </div> </div> <div class="detail" data-ice="detail"> <h3 data-ice="anchor" id="instance-method-getAttribute"> <span class="access" data-ice="access">public</span> <span class="code" data-ice="name">getAttribute</span><span class="code" data-ice="signature">(key: <span>*</span>): <span>*</span></span> <span class="right-info"> <span data-ice="source"><span><a href="file/src/ajax/Cart.js.html#lineNumber167">source</a></span></span> </span> </h3> <div data-ice="properties"><div data-ice="properties"> <h4 data-ice="title">Params:</h4> <table class="params"> <thead> <tr><td>Name</td><td>Type</td><td>Attribute</td><td>Description</td></tr> </thead> <tbody> <tr data-ice="property" data-depth="0"> <td data-ice="name" class="code" data-depth="0">key</td> <td data-ice="type" class="code"><span>*</span></td> <td data-ice="appendix"></td> <td data-ice="description"></td> </tr> </tbody> </table> </div> </div> <div class="return-params" data-ice="returnParams"> <h4>Return:</h4> <table> <tbody> <tr> <td class="return-type code" data-ice="returnType"><span>*</span></td> </tr> </tbody> </table> <div data-ice="returnProperties"> </div> </div> </div> <div class="detail" data-ice="detail"> <h3 data-ice="anchor" id="instance-method-getAttributes"> <span class="access" data-ice="access">public</span> <span class="code" data-ice="name">getAttributes</span><span class="code" data-ice="signature">(): <span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object">Object</a></span></span> <span class="right-info"> <span data-ice="source"><span><a href="file/src/ajax/Cart.js.html#lineNumber147">source</a></span></span> </span> </h3> <div data-ice="description"><p>Returns cart attributes.</p> </div> <div data-ice="properties"> </div> <div class="return-params" data-ice="returnParams"> <h4>Return:</h4> <table> <tbody> <tr> <td class="return-type code" data-ice="returnType"><span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object">Object</a></span></td> </tr> </tbody> </table> <div data-ice="returnProperties"> </div> </div> </div> <div class="detail" data-ice="detail"> <h3 data-ice="anchor" id="instance-method-getItems"> <span class="access" data-ice="access">public</span> <span class="code" data-ice="name">getItems</span><span class="code" data-ice="signature">(): <span><span><a href="typedef/index.html#static-typedef-ShopifyCartLineItem">ShopifyCartLineItem</a></span><span>[]</span></span></span> <span class="right-info"> <span data-ice="source"><span><a href="file/src/ajax/Cart.js.html#lineNumber101">source</a></span></span> </span> </h3> <div data-ice="description"><p>Returns items in the cart (in the normal Shopify line item format.</p> </div> <div data-ice="properties"> </div> <div class="return-params" data-ice="returnParams"> <h4>Return:</h4> <table> <tbody> <tr> <td class="return-type code" data-ice="returnType"><span><span><a href="typedef/index.html#static-typedef-ShopifyCartLineItem">ShopifyCartLineItem</a></span><span>[]</span></span></td> </tr> </tbody> </table> <div data-ice="returnProperties"> </div> </div> </div> <div class="detail" data-ice="detail"> <h3 data-ice="anchor" id="instance-method-getTotalPrice"> <span class="access" data-ice="access">public</span> <span class="code" data-ice="name">getTotalPrice</span><span class="code" data-ice="signature">(): <span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number">Number</a></span></span> <span class="right-info"> <span data-ice="source"><span><a href="file/src/ajax/Cart.js.html#lineNumber119">source</a></span></span> </span> </h3> <div data-ice="description"><p>Calculates the total value of the cart.</p> </div> <div data-ice="properties"> </div> <div class="return-params" data-ice="returnParams"> <h4>Return:</h4> <table> <tbody> <tr> <td class="return-type code" data-ice="returnType"><span><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Number">Number</a></span></td> </tr> </tbody> </table> <div data-ice="returnProperties"> </div> </div> </div> <div class="detail" data-ice="detail"> <h3 data-ice="anchor" id="instance-method-initialize"> <span class="access" data-ice="access">public</span> <span class="code" data-ice="name">initialize</span><span class="code" data-ice="signature">(cartData: <span><a href="typedef/index.html#static-typedef-ShopifyCart">Shopif