Przejdź do głównej zawartości

Interface: CartActions

DI contract — template implements these methods.

Properties​

addLines​

addLines: (cartId, lines) => Promise<CartData>

Add line items. Return updated cart or throw.

Parameters​

cartId​

string

lines​

CartLineInput[]

Returns​

Promise<CartData>


createCart​

createCart: () => Promise<string>

Create new empty cart. Return new cart ID.

Returns​

Promise<string>


createCartWithLines?​

optional createCartWithLines?: (lines) => Promise<CartData>

Optional — atomic create-with-lines for stale-cart recovery. When provided, the store recovers from CART_NOT_FOUND / ALREADY_COMPLETED in a single cartCreate({ lines }) round trip. When omitted, store falls back to createCart() + addLines() (2 round trips, identical outcome).

Wire this when your GraphQL cartCreate mutation accepts an initial lines payload (DoSwiftly Storefront API does).

Parameters​

lines​

CartLineInput[]

Returns​

Promise<CartData>


fetchCart​

fetchCart: (cartId) => Promise<CartData | null>

Fetch cart by ID. Return null if cart expired/not found.

Parameters​

cartId​

string

Returns​

Promise<CartData | null>


removeLines​

removeLines: (cartId, lineIds) => Promise<CartData>

Remove line items. Return updated cart or throw.

Parameters​

cartId​

string

lineIds​

string[]

Returns​

Promise<CartData>


updateLines​

updateLines: (cartId, lines) => Promise<CartData>

Update line quantities. Return updated cart or throw.

Parameters​

cartId​

string

lines​

CartLineUpdateInput[]

Returns​

Promise<CartData>