{"version":3,"file":"cart-queries.mjs","names":[],"sources":["../../src/cart-queries.ts"],"sourcesContent":["type CartQueryOptions = {\n  includeVisitorConsent?: boolean;\n};\n\nfunction getInContextVariables(includeVisitorConsent: boolean): string {\n  const base = `$country: CountryCode = ZZ\n    $language: LanguageCode`;\n\n  return includeVisitorConsent\n    ? `${base}\n    $visitorConsent: VisitorConsent`\n    : base;\n}\n\nfunction getInContextDirective(includeVisitorConsent: boolean): string {\n  return includeVisitorConsent\n    ? `@inContext(\n    country: $country\n    language: $language\n    visitorConsent: $visitorConsent\n  )`\n    : `@inContext(\n    country: $country\n    language: $language\n  )`;\n}\n\nexport const CartLineAdd = (\n  cartFragment: string,\n  options: CartQueryOptions = {},\n): string => /* GraphQL */ `\n  mutation CartLineAdd(\n    $cartId: ID!\n    $lines: [CartLineInput!]!\n    $numCartLines: Int = 250\n    ${getInContextVariables(options.includeVisitorConsent ?? false)}\n  )\n  ${getInContextDirective(options.includeVisitorConsent ?? false)} {\n    cartLinesAdd(cartId: $cartId, lines: $lines) {\n      cart {\n        ...CartFragment\n      }\n    }\n  }\n\n  ${cartFragment}\n`;\n\nexport const CartCreate = (\n  cartFragment: string,\n  options: CartQueryOptions = {},\n): string => /* GraphQL */ `\n  mutation CartCreate(\n    $input: CartInput!\n    $numCartLines: Int = 250\n    ${getInContextVariables(options.includeVisitorConsent ?? false)}\n  )\n  ${getInContextDirective(options.includeVisitorConsent ?? false)} {\n    cartCreate(input: $input) {\n      cart {\n        ...CartFragment\n      }\n    }\n  }\n\n  ${cartFragment}\n`;\n\nexport const CartLineRemove = (\n  cartFragment: string,\n  options: CartQueryOptions = {},\n): string => /* GraphQL */ `\n  mutation CartLineRemove(\n    $cartId: ID!\n    $lines: [ID!]!\n    $numCartLines: Int = 250\n    ${getInContextVariables(options.includeVisitorConsent ?? false)}\n  )\n  ${getInContextDirective(options.includeVisitorConsent ?? false)} {\n    cartLinesRemove(cartId: $cartId, lineIds: $lines) {\n      cart {\n        ...CartFragment\n      }\n    }\n  }\n\n  ${cartFragment}\n`;\n\nexport const CartLineUpdate = (\n  cartFragment: string,\n  options: CartQueryOptions = {},\n): string => /* GraphQL */ `\n  mutation CartLineUpdate(\n    $cartId: ID!\n    $lines: [CartLineUpdateInput!]!\n    $numCartLines: Int = 250\n    ${getInContextVariables(options.includeVisitorConsent ?? false)}\n  )\n  ${getInContextDirective(options.includeVisitorConsent ?? false)} {\n    cartLinesUpdate(cartId: $cartId, lines: $lines) {\n      cart {\n        ...CartFragment\n      }\n    }\n  }\n\n  ${cartFragment}\n`;\n\nexport const CartNoteUpdate = (\n  cartFragment: string,\n  options: CartQueryOptions = {},\n): string => /* GraphQL */ `\n  mutation CartNoteUpdate(\n    $cartId: ID!\n    $note: String!\n    $numCartLines: Int = 250\n    ${getInContextVariables(options.includeVisitorConsent ?? false)}\n  )\n  ${getInContextDirective(options.includeVisitorConsent ?? false)} {\n    cartNoteUpdate(cartId: $cartId, note: $note) {\n      cart {\n        ...CartFragment\n      }\n    }\n  }\n\n  ${cartFragment}\n`;\n\nexport const CartBuyerIdentityUpdate = (\n  cartFragment: string,\n  options: CartQueryOptions = {},\n): string => /* GraphQL */ `\n  mutation CartBuyerIdentityUpdate(\n    $cartId: ID!\n    $buyerIdentity: CartBuyerIdentityInput!\n    $numCartLines: Int = 250\n    ${getInContextVariables(options.includeVisitorConsent ?? false)}\n  )\n  ${getInContextDirective(options.includeVisitorConsent ?? false)} {\n    cartBuyerIdentityUpdate(cartId: $cartId, buyerIdentity: $buyerIdentity) {\n      cart {\n        ...CartFragment\n      }\n    }\n  }\n\n  ${cartFragment}\n`;\n\nexport const CartAttributesUpdate = (\n  cartFragment: string,\n  options: CartQueryOptions = {},\n): string => /* GraphQL */ `\n  mutation CartAttributesUpdate(\n    $attributes: [AttributeInput!]!\n    $cartId: ID!\n    $numCartLines: Int = 250\n    ${getInContextVariables(options.includeVisitorConsent ?? false)}\n  )\n  ${getInContextDirective(options.includeVisitorConsent ?? false)} {\n    cartAttributesUpdate(attributes: $attributes, cartId: $cartId) {\n      cart {\n        ...CartFragment\n      }\n    }\n  }\n\n  ${cartFragment}\n`;\n\nexport const CartDiscountCodesUpdate = (\n  cartFragment: string,\n  options: CartQueryOptions = {},\n): string => /* GraphQL */ `\n  mutation CartDiscountCodesUpdate(\n    $cartId: ID!\n    $discountCodes: [String!]!\n    $numCartLines: Int = 250\n    ${getInContextVariables(options.includeVisitorConsent ?? false)}\n  )\n  ${getInContextDirective(options.includeVisitorConsent ?? false)} {\n    cartDiscountCodesUpdate(cartId: $cartId, discountCodes: $discountCodes) {\n      cart {\n        ...CartFragment\n      }\n    }\n  }\n\n  ${cartFragment}\n`;\n\nexport const CartQuery = (\n  cartFragment: string,\n  options: CartQueryOptions = {},\n): string => /* GraphQL */ `\n  query CartQuery(\n    $id: ID!\n    $numCartLines: Int = 250\n    ${getInContextVariables(options.includeVisitorConsent ?? false)}\n  )\n  ${getInContextDirective(options.includeVisitorConsent ?? false)} {\n    cart(id: $id) {\n      ...CartFragment\n    }\n  }\n\n  ${cartFragment}\n`;\n\nexport const defaultCartFragment = /* GraphQL */ `\n  fragment CartFragment on Cart {\n    id\n    checkoutUrl\n    totalQuantity\n    buyerIdentity {\n      countryCode\n      customer {\n        id\n        email\n        firstName\n        lastName\n        displayName\n      }\n      email\n      phone\n    }\n    lines(first: $numCartLines) {\n      edges {\n        node {\n          id\n          quantity\n          attributes {\n            key\n            value\n          }\n          cost {\n            totalAmount {\n              amount\n              currencyCode\n            }\n            compareAtAmountPerQuantity {\n              amount\n              currencyCode\n            }\n          }\n          merchandise {\n            ... on ProductVariant {\n              id\n              availableForSale\n              compareAtPrice {\n                ...MoneyFragment\n              }\n              price {\n                ...MoneyFragment\n              }\n              requiresShipping\n              title\n              image {\n                ...ImageFragment\n              }\n              product {\n                handle\n                title\n                id\n              }\n              selectedOptions {\n                name\n                value\n              }\n            }\n          }\n        }\n      }\n    }\n    cost {\n      subtotalAmount {\n        ...MoneyFragment\n      }\n      totalAmount {\n        ...MoneyFragment\n      }\n      totalDutyAmount {\n        ...MoneyFragment\n      }\n      totalTaxAmount {\n        ...MoneyFragment\n      }\n    }\n    note\n    attributes {\n      key\n      value\n    }\n    discountCodes {\n      code\n      applicable\n    }\n  }\n\n  fragment MoneyFragment on MoneyV2 {\n    currencyCode\n    amount\n  }\n  fragment ImageFragment on Image {\n    id\n    url\n    altText\n    width\n    height\n  }\n`;\n"],"mappings":";AAIA,SAAS,sBAAsB,uBAAwC;CACrE,MAAM,OAAO;;AAGb,QAAO,wBACH,GAAG,KAAK;uCAER;;AAGN,SAAS,sBAAsB,uBAAwC;AACrE,QAAO,wBACH;;;;OAKA;;;;;AAMN,IAAa,eACX,cACA,UAA4B,EAAE,KACL;;;;;MAKrB,sBAAsB,QAAQ,yBAAyB,MAAM,CAAC;;IAEhE,sBAAsB,QAAQ,yBAAyB,MAAM,CAAC;;;;;;;;IAQ9D,aAAa;;AAGjB,IAAa,cACX,cACA,UAA4B,EAAE,KACL;;;;MAIrB,sBAAsB,QAAQ,yBAAyB,MAAM,CAAC;;IAEhE,sBAAsB,QAAQ,yBAAyB,MAAM,CAAC;;;;;;;;IAQ9D,aAAa;;AAGjB,IAAa,kBACX,cACA,UAA4B,EAAE,KACL;;;;;MAKrB,sBAAsB,QAAQ,yBAAyB,MAAM,CAAC;;IAEhE,sBAAsB,QAAQ,yBAAyB,MAAM,CAAC;;;;;;;;IAQ9D,aAAa;;AAGjB,IAAa,kBACX,cACA,UAA4B,EAAE,KACL;;;;;MAKrB,sBAAsB,QAAQ,yBAAyB,MAAM,CAAC;;IAEhE,sBAAsB,QAAQ,yBAAyB,MAAM,CAAC;;;;;;;;IAQ9D,aAAa;;AAGjB,IAAa,kBACX,cACA,UAA4B,EAAE,KACL;;;;;MAKrB,sBAAsB,QAAQ,yBAAyB,MAAM,CAAC;;IAEhE,sBAAsB,QAAQ,yBAAyB,MAAM,CAAC;;;;;;;;IAQ9D,aAAa;;AAGjB,IAAa,2BACX,cACA,UAA4B,EAAE,KACL;;;;;MAKrB,sBAAsB,QAAQ,yBAAyB,MAAM,CAAC;;IAEhE,sBAAsB,QAAQ,yBAAyB,MAAM,CAAC;;;;;;;;IAQ9D,aAAa;;AAGjB,IAAa,wBACX,cACA,UAA4B,EAAE,KACL;;;;;MAKrB,sBAAsB,QAAQ,yBAAyB,MAAM,CAAC;;IAEhE,sBAAsB,QAAQ,yBAAyB,MAAM,CAAC;;;;;;;;IAQ9D,aAAa;;AAGjB,IAAa,2BACX,cACA,UAA4B,EAAE,KACL;;;;;MAKrB,sBAAsB,QAAQ,yBAAyB,MAAM,CAAC;;IAEhE,sBAAsB,QAAQ,yBAAyB,MAAM,CAAC;;;;;;;;IAQ9D,aAAa;;AAGjB,IAAa,aACX,cACA,UAA4B,EAAE,KACL;;;;MAIrB,sBAAsB,QAAQ,yBAAyB,MAAM,CAAC;;IAEhE,sBAAsB,QAAQ,yBAAyB,MAAM,CAAC;;;;;;IAM9D,aAAa;;AAGjB,IAAa,sBAAoC"}