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
Returns
Promise<CartData>
createCart
createCart: () =>
Promise<string>
Create new empty cart. Return new cart ID.
Returns
Promise<string>
createCartWithLines?
optionalcreateCartWithLines?: (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
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
Returns
Promise<CartData>