Home Manual Reference Source Repository
public class | source

Cart

Extends:

evee → Cart

Shopify Cart entity.

Constructor Summary

Public Constructor
public

Construct a new instance of the cart entity.

Member Summary

Public Members
public get

Alias to getAttributes()

public get

Alias to getItems();

public get

Alias to getTotalPrice();

public get

Alias to getTotalPrice();

Private Members
private
private
private
private

Method Summary

Public Methods
public

addItem(id: Number | String, quantity: Number, properties: Object): Promise<ShopifyCartLineItem, Error>

Add a new item to the cart.

public

Clear the cart.

public

getAttribute(key: *): *

public

Returns cart attributes.

public

Returns items in the cart (in the normal Shopify line item format.

public

Calculates the total value of the cart.

public

initialize(cartData: ShopifyCart)

Initialize the cart entity with the current state of the visitor's cart.

public

async reload(): Promise<Cart, Error>

Reloads the cart state via AJAX.

public

removeItem(lineNumber: *): *

public

removeItemById(id: *): *

public

setAttribute(key: *, value: *): *

public

Sets all attributes on the cart.

public

updateItem(lineNumber: *, quantity: *, properties: *): *

public

updateItemById(id: *, quantity: *, properties: *): *

public

updateItemById(id: *, quantity: *, properties: *): *

public

updateItemQuantitiesById(updates: *): *

Private Methods
private

_emitAdd(item: *)

private

_emitClear(oldItems: *)

private

_emitRemove(item: *)

private

_emitUpdate(operation: *, item: *)

private

_emitUpdateItem(item: *)

private
private

_loadItem(itemData: *): *

Public Constructors

public constructor() source

Construct a new instance of the cart entity.

Public Members

public get attributes: Object source

Alias to getAttributes()

public get items: ShopifyCartLineItem[] source

Alias to getItems();

public get totalPrice: Number source

Alias to getTotalPrice();

public get total_price: Number source

Alias to getTotalPrice();

Private Members

private _attributes: {} source

private _items: Object[] source

private _queue: promise-queue source

private _ready: boolean source

Public Methods

public addItem(id: Number | String, quantity: Number, properties: Object): Promise<ShopifyCartLineItem, Error> source

Add a new item to the cart.

Params:

NameTypeAttributeDescription
id Number | String

Variant ID to add to cart.

quantity Number

Quantity to add.

properties Object

Line item attributes.

public clear(): Promise<Cart, Error> source

Clear the cart.

Return:

Promise<Cart, Error>

public getAttribute(key: *): * source

Params:

NameTypeAttributeDescription
key *

Return:

*

public getAttributes(): Object source

Returns cart attributes.

Return:

Object

public getItems(): ShopifyCartLineItem[] source

Returns items in the cart (in the normal Shopify line item format.

public getTotalPrice(): Number source

Calculates the total value of the cart.

Return:

Number

public initialize(cartData: ShopifyCart) source

Initialize the cart entity with the current state of the visitor's cart.

Params:

NameTypeAttributeDescription
cartData ShopifyCart

Shopify Cart object.

public async reload(): Promise<Cart, Error> source

Reloads the cart state via AJAX.

Return:

Promise<Cart, Error>

public removeItem(lineNumber: *): * source

Params:

NameTypeAttributeDescription
lineNumber *

Return:

*

public removeItemById(id: *): * source

Params:

NameTypeAttributeDescription
id *

Return:

*

public setAttribute(key: *, value: *): * source

Params:

NameTypeAttributeDescription
key *
value *

Return:

*

public setAttributes(attributes: Object): Promise<Cart, Error> source

Sets all attributes on the cart. This will override/remove existing attributes.

Params:

NameTypeAttributeDescription
attributes Object

New attributes for the cart.

Return:

Promise<Cart, Error>

public updateItem(lineNumber: *, quantity: *, properties: *): * source

Params:

NameTypeAttributeDescription
lineNumber *
quantity *
properties *

Return:

*

public updateItemById(id: *, quantity: *, properties: *): * source

Params:

NameTypeAttributeDescription
id *
quantity *
properties *

Return:

*

public updateItemById(id: *, quantity: *, properties: *): * source

Params:

NameTypeAttributeDescription
id *
quantity *
properties *

Return:

*

public updateItemQuantitiesById(updates: *): * source

Params:

NameTypeAttributeDescription
updates *

Return:

*

Private Methods

private _emitAdd(item: *) source

Params:

NameTypeAttributeDescription
item *

private _emitClear(oldItems: *) source

Params:

NameTypeAttributeDescription
oldItems *

private _emitRemove(item: *) source

Params:

NameTypeAttributeDescription
item *

private _emitUpdate(operation: *, item: *) source

Params:

NameTypeAttributeDescription
operation *
item *

private _emitUpdateItem(item: *) source

Params:

NameTypeAttributeDescription
item *

private _loadFromShopifyCart(cart: *) source

Params:

NameTypeAttributeDescription
cart *

private _loadItem(itemData: *): * source

Params:

NameTypeAttributeDescription
itemData *

Return:

*