@brytdesigns/shopify-ajax-cart 1.0.20 → 1.0.21
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/esm/index.js +2 -2
- package/dist/esm/index.js.map +1 -1
- package/dist/main/index.d.ts +20196 -137
- package/dist/main/query/cart.js +1 -2
- package/dist/main/query/cart.js.map +1 -1
- package/dist/main/utils.js.map +1 -1
- package/package.json +2 -2
package/dist/esm/index.js
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { mergeProps, observable } from 'solid-js';
|
|
2
2
|
import { QueryClient, useQuery, useMutation } from '@tanstack/solid-query';
|
|
3
|
-
import { createAjaxCartApi, validateCart } from '@brytdesigns/shopify-ajax-cart-api';
|
|
4
3
|
import { persistQueryClient } from '@tanstack/solid-query-persist-client';
|
|
5
4
|
import { createSyncStoragePersister } from '@tanstack/query-sync-storage-persister';
|
|
6
5
|
import lz from 'lz-string';
|
|
6
|
+
import { createAjaxCartApi } from '@brytdesigns/shopify-ajax-cart-api';
|
|
7
7
|
|
|
8
8
|
var __defProp = Object.defineProperty;
|
|
9
9
|
var __export = (target, all) => {
|
|
@@ -51,7 +51,7 @@ var query = useQuery(
|
|
|
51
51
|
}
|
|
52
52
|
return cart.data;
|
|
53
53
|
},
|
|
54
|
-
initialData: validateCart(window.BrytDesigns.initialCart),
|
|
54
|
+
// initialData: async () => validateCart(window.BrytDesigns.initialCart),
|
|
55
55
|
refetchOnMount: "always",
|
|
56
56
|
staleTime: 1e3 * 60 * 5,
|
|
57
57
|
throwOnError: true,
|
package/dist/esm/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/query/cart.ts","../../src/client.ts","../../src/api.ts","../../src/mutations/addItems.ts","../../src/mutations/removeItems.ts","../../src/mutations/updateAttributes.ts","../../src/mutations/updateDiscounts.ts","../../src/mutations/updateItem.ts","../../src/mutations/updateNote.ts","../../src/mutations/clearCart.ts","../../src/mutations/replaceItem.ts","../../src/utils.ts","../../src/index.ts"],"names":["mutation","useMutation"],"mappings":"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","file":"index.js","sourcesContent":["import type { CartData } from \"../types\";\n\nimport { useQuery } from \"@tanstack/solid-query\";\nimport { validateCart } from \"@brytdesigns/shopify-ajax-cart-api\";\n\nimport client from \"../client.js\";\nimport API from \"../api.js\";\n\nexport const KEY = \"cart\";\nexport const invalidate = () => client.invalidateQueries({ queryKey: [KEY] });\nexport const set = (cb: (data: CartData) => CartData) =>\n client.setQueryData([KEY], cb);\nexport const cancel = async () => client.cancelQueries({ queryKey: [KEY] });\nexport const get = () => client.getQueryData([KEY]) as CartData;\n\nexport const query = useQuery(\n () => ({\n queryKey: [KEY],\n async queryFn({ signal }) {\n const cart = await API.get({}, { signal });\n if (cart?.error || !cart?.data) {\n throw cart.error;\n }\n return cart.data;\n },\n initialData: validateCart(window.BrytDesigns.initialCart),\n refetchOnMount: \"always\",\n staleTime: 1000 * 60 * 5,\n throwOnError: true,\n reconcile: \"id\",\n }),\n () => client,\n);\n","import { QueryClient } from \"@tanstack/solid-query\";\nimport { persistQueryClient } from \"@tanstack/solid-query-persist-client\";\nimport { createSyncStoragePersister } from \"@tanstack/query-sync-storage-persister\";\nimport lz from \"lz-string\";\n\nconst client = new QueryClient();\n\npersistQueryClient({\n queryClient: client,\n persister: createSyncStoragePersister({\n storage: window.localStorage,\n serialize: (data) => lz.compressToUTF16(JSON.stringify(data)),\n deserialize: (data) => JSON.parse(lz.decompressFromUTF16(data)),\n key: \"brytdesigns-ajax-cart\",\n }),\n});\n\nexport default client;\n","import { createAjaxCartApi } from \"@brytdesigns/shopify-ajax-cart-api\";\n\n/**\n * @internal\n */\nconst API = createAjaxCartApi({ debug: window?.BrytDesigns?.debug });\n\nexport default API;\n","import { useMutation } from \"@tanstack/solid-query\";\n\nimport client from \"../client.js\";\nimport API from \"../api.js\";\nimport { Cart } from \"../query/index.js\";\n\nexport type Input = Parameters<typeof API.add>[0][\"items\"][number];\n\nexport const mutation = useMutation(\n () => ({\n mutationFn: async (items: Input[]) => {\n const response = await API.add({ items });\n if (response?.error || !response.data) {\n throw response?.error;\n }\n return response.data;\n },\n onSettled() {\n Cart.invalidate();\n },\n }),\n () => client,\n);\n","import { useMutation } from \"@tanstack/solid-query\";\n\nimport client from \"../client.js\";\nimport API from \"../api.js\";\nimport { Cart } from \"../query/index.js\";\n\nexport type Input = string;\n\nexport const mutation = useMutation(\n () => ({\n mutationFn: async (items: Input[]) => {\n const response = await API.update({\n updates: items.reduce(\n (updates, key) =>\n ({ ...updates, [key]: 0 }) as Record<string, number>,\n {},\n ),\n });\n if (response?.error || !response.data) {\n throw response?.error;\n }\n return response.data;\n },\n async onMutate(items) {\n await Cart.cancel();\n const previousCart = Cart.get();\n\n Cart.set((old) => ({\n ...old,\n items_count: old.items\n .filter((item) => items.includes(item.key))\n .reduce((total, item) => total + item.quantity, 0),\n items: old.items.filter((item) => !items.includes(item.key)),\n }));\n\n return { previousCart };\n },\n onError(_, __, context) {\n if (context?.previousCart) Cart.set(() => context.previousCart);\n Cart.invalidate();\n },\n onSuccess(cart) {\n if (!cart) return Cart.invalidate();\n Cart.set(() => cart);\n },\n }),\n () => client,\n);\n","import { useMutation } from \"@tanstack/solid-query\";\n\nimport client from \"../client.js\";\nimport API from \"../api.js\";\nimport { Cart } from \"../query/index.js\";\n\nexport type Input = NonNullable<Parameters<typeof API.update>[0][\"attributes\"]>;\n\nexport const mutation = useMutation(\n () => ({\n mutationFn: async (attributes: Input) => {\n const response = await API.update({\n attributes,\n });\n\n if (response.error) {\n throw response.error;\n }\n\n return response.data;\n },\n async onMutate(attributes) {\n await Cart.cancel();\n const previousCart = Cart.get();\n\n Cart.set((old) => ({\n ...old,\n attributes: {\n ...old.attributes,\n ...attributes,\n },\n }));\n\n return { previousCart };\n },\n onError(_, __, context) {\n if (context?.previousCart) Cart.set(() => context.previousCart);\n Cart.invalidate();\n },\n onSuccess(cart) {\n if (!cart) return Cart.invalidate();\n Cart.set(() => cart);\n },\n }),\n () => client,\n);\n","import { useMutation } from \"@tanstack/solid-query\";\n\nimport client from \"../client.js\";\nimport API from \"../api.js\";\nimport { Cart } from \"../query/index.js\";\n\nexport type Input = string;\n\nexport const mutation = useMutation(\n () => ({\n mutationFn: async (discounts: Input[]) => {\n const response = await API.update({\n discount: discounts,\n });\n\n if (response.error) {\n throw response.error;\n }\n\n return response.data;\n },\n onError() {\n Cart.invalidate();\n },\n onSuccess(cart) {\n if (!cart) return Cart.invalidate();\n Cart.set(() => cart);\n },\n }),\n () => client,\n);\n","import { useMutation } from \"@tanstack/solid-query\";\n\nimport client from \"../client.js\";\nimport API from \"../api.js\";\nimport { Cart } from \"../query/index.js\";\n\nexport type Input = Parameters<typeof API.change>[0];\n\ntype CartItem = NonNullable<\n Awaited<ReturnType<typeof API.get>>[\"data\"]\n>[\"items\"][number];\n\nconst createIsItemCheck = (input: Input) => (item: CartItem, index: number) => {\n if (\"id\" in input && input.id === `${item.id}`) {\n return true;\n }\n if (\"key\" in input && input.key === item.key) {\n return true;\n }\n if (\"line\" in input && input.line === index + 1) {\n return true;\n }\n return false;\n};\n\nexport const mutation = useMutation(\n () => ({\n mutationFn: async (item: Input) => {\n const response = await API.change(item);\n if (response?.error || !response.data) {\n throw response?.error;\n }\n return response.data;\n },\n async onMutate(item) {\n await Cart.cancel();\n const previousCart = Cart.get();\n const isItemCheck = createIsItemCheck(item);\n\n Cart.set((old) => ({\n ...old,\n items_count: old.items.reduce((total, i, index) => {\n if (isItemCheck(i, index)) {\n return (\n total +\n (typeof item.quantity !== \"undefined\"\n ? item.quantity\n : i.quantity)\n );\n }\n return total + i.quantity;\n }, 0),\n items: old.items.map((i, index) => {\n if (isItemCheck(i, index)) {\n return {\n ...i,\n quantity:\n typeof item.quantity !== \"undefined\"\n ? item.quantity\n : i.quantity,\n properties: {\n ...item.properties,\n ...i.properties,\n },\n };\n }\n return i;\n }),\n }));\n\n return { previousCart };\n },\n onError(_, __, context) {\n if (context?.previousCart) Cart.set(() => context.previousCart);\n Cart.invalidate();\n },\n onSuccess(cart) {\n if (!cart) return Cart.invalidate();\n Cart.set(() => cart);\n },\n }),\n () => client,\n);\n","import { useMutation } from \"@tanstack/solid-query\";\n\nimport client from \"../client.js\";\nimport API from \"../api.js\";\nimport { Cart } from \"../query/index.js\";\n\nexport type Input = string | null;\n\nexport const mutation = useMutation(\n () => ({\n mutationFn: async (note: string | null) => {\n const response = await API.update({\n note,\n });\n\n if (response.error) {\n throw response.error;\n }\n\n return response.data;\n },\n async onMutate(note) {\n await Cart.cancel();\n const previousCart = Cart.get();\n\n Cart.set((old) => ({\n ...old,\n note,\n }));\n\n return { previousCart };\n },\n onError(_, __, context) {\n if (context?.previousCart) Cart.set(() => context.previousCart);\n Cart.invalidate();\n },\n onSuccess(cart) {\n if (!cart) return Cart.invalidate();\n Cart.set(() => cart);\n },\n }),\n () => client,\n);\n","import { useMutation } from \"@tanstack/solid-query\";\n\nimport client from \"../client.js\";\nimport API from \"../api.js\";\nimport { Cart } from \"../query/index.js\";\n\nexport type Input = string | null;\n\nexport const mutation = useMutation(\n () => ({\n mutationFn: async () => {\n const response = await API.clear({});\n\n if (response.error) {\n throw response.error;\n }\n\n return response.data;\n },\n async onMutate() {\n await Cart.cancel();\n const previousCart = Cart.get();\n\n Cart.set((old) => ({\n ...old,\n item_count: 0,\n items: [],\n }));\n\n return { previousCart };\n },\n onError(_, __, context) {\n if (context?.previousCart) Cart.set(() => context.previousCart);\n Cart.invalidate();\n },\n onSuccess(cart) {\n if (!cart) return Cart.invalidate();\n Cart.set(() => cart);\n },\n }),\n () => client,\n);\n","import { useMutation } from \"@tanstack/solid-query\";\n\nimport client from \"../client.js\";\nimport API from \"../api.js\";\nimport { Cart } from \"../query/index.js\";\n\nexport type Input = {\n key: string;\n id: string | number;\n};\n\nexport const mutation = useMutation(\n () => ({\n mutationFn: async (item: Input) => {\n const cart = Cart.get();\n const currentItem = cart.items.find((i) => i.key === item.key);\n if (!currentItem) {\n throw new Error(\n `Item with provided key of ${item.key} does not exists!`,\n );\n }\n\n const tempValues = {\n quantity: currentItem.quantity,\n properties: {\n ...currentItem.properties,\n },\n selling_plan:\n currentItem?.selling_plan_allocation?.selling_plan.id || undefined,\n } as const;\n\n await API.change({\n id: item.key,\n quantity: 0,\n });\n const response = await API.add({\n items: [\n {\n id: item.id,\n ...tempValues,\n properties: {\n ...tempValues.properties,\n },\n },\n ],\n });\n if (response?.error || !response.data) {\n throw response?.error;\n }\n return response.data;\n },\n onSettled() {\n Cart.invalidate();\n },\n }),\n () => client,\n);\n","import type { CartData } from \"./types\";\n\nimport { observable } from \"solid-js\";\n\nimport { Cart } from \"./query/index.js\";\n\nexport const uniq = (array: string[]): string[] => Array.from(new Set(array));\n\nexport const getNormalizedAttributes = () => {\n const cart = Cart.get();\n const mergedAttributes = {\n ...cart.attributes,\n };\n return mergedAttributes;\n};\n\nexport const getCartDiscountCodes = () => {\n const cart = Cart.get();\n const cartLevelCodes = (cart?.cart_level_discount_applications || [])\n .filter((discount) => discount.type === \"discount_code\")\n .map((discount) => discount.title);\n\n const itemLevelCodes = (cart?.items || [])?.reduce((codes, item) => {\n const itemCodes = (item?.line_level_discount_allocations || [])\n .filter(\n (allocation) =>\n allocation.discount_application.type === \"discount_code\",\n )\n .map((allocation) => allocation.discount_application.title);\n return uniq([...codes, ...itemCodes]);\n }, [] as string[]);\n\n return uniq([...cartLevelCodes, ...itemLevelCodes]);\n};\n\nfunction defaultUnwrap<T>(cart: CartData): T {\n return cart as T; // Use unknown as intermediary to satisfy TypeScript\n}\n\nexport function subscribe<T>(\n unwrapValue: (cart: CartData) => T = defaultUnwrap,\n cb: (data: T) => void,\n): () => void {\n // Assuming cartQuery and observable are defined and set correctly.\n const observer = observable(() => unwrapValue(Cart.query.data));\n return observer.subscribe(cb).unsubscribe;\n}\n","import type { CartData } from \"./types\";\n\nimport { mergeProps } from \"solid-js\";\n\nimport { Cart } from \"./query/index.js\";\nimport {\n AddItems,\n RemoveItems,\n UpdateAttributes,\n UpdateDiscounts,\n UpdateItem,\n UpdateNote,\n ClearCart,\n ReplaceItem,\n} from \"./mutations/index.js\";\nimport {\n getNormalizedAttributes,\n subscribe,\n getCartDiscountCodes,\n uniq,\n} from \"./utils.js\";\n\nconst AjaxCart = mergeProps(Cart.query, {\n addItems: AddItems.mutation.mutateAsync,\n addItem: (input: AddItems.Input) => AddItems.mutation.mutateAsync([input]),\n removeItems: RemoveItems.mutation.mutateAsync,\n removeItem(input: RemoveItems.Input) {\n return RemoveItems.mutation.mutateAsync([input]);\n },\n addAttributes(input: UpdateAttributes.Input) {\n const mergedAttributes = getNormalizedAttributes();\n return UpdateAttributes.mutation.mutateAsync({\n ...mergedAttributes,\n ...input,\n });\n },\n addAttribute(input: { key: string; value: UpdateAttributes.Input[string] }) {\n const mergedAttributes = getNormalizedAttributes();\n return UpdateAttributes.mutation.mutateAsync({\n ...mergedAttributes,\n [input.key]: input.value,\n });\n },\n updateAttributes: UpdateAttributes.mutation.mutateAsync,\n removeAttributes(input: string[]) {\n const mergedAttributes = getNormalizedAttributes();\n return UpdateAttributes.mutation.mutateAsync({\n ...mergedAttributes,\n ...Object.fromEntries(input.map((key) => [key, null])),\n });\n },\n removeAttribute(key: string) {\n const mergedAttributes = getNormalizedAttributes();\n return UpdateAttributes.mutation.mutateAsync({\n ...mergedAttributes,\n [key]: null,\n });\n },\n updateNote: UpdateNote.mutation.mutateAsync,\n clear: ClearCart.mutation.mutateAsync,\n updateItem: UpdateItem.mutation.mutateAsync,\n async updateItems(input: UpdateItem.Input[]) {\n const results = await Promise.allSettled(\n input.map((i) => UpdateItem.mutation.mutateAsync(i)),\n );\n return {\n rejected: results.filter((r) => r.status === \"rejected\"),\n resolved: results.filter((r) => r.status === \"fulfilled\"),\n };\n },\n addDiscounts(input: UpdateDiscounts.Input[]) {\n const codes = getCartDiscountCodes();\n return UpdateDiscounts.mutation.mutateAsync(uniq([...codes, ...input]));\n },\n addDiscount(input: UpdateDiscounts.Input) {\n const codes = getCartDiscountCodes();\n return UpdateDiscounts.mutation.mutateAsync(uniq([...codes, input]));\n },\n removeDiscounts(input: UpdateDiscounts.Input[]) {\n const codes = getCartDiscountCodes();\n return UpdateDiscounts.mutation.mutateAsync(\n codes.filter((code) => !input.includes(code)),\n );\n },\n removeDiscount(input: UpdateDiscounts.Input) {\n const codes = getCartDiscountCodes();\n return UpdateDiscounts.mutation.mutateAsync(\n codes.filter((code) => code !== input),\n );\n },\n replaceItem(input: ReplaceItem.Input) {\n return ReplaceItem.mutation.mutateAsync(input);\n },\n async replaceItems(input: ReplaceItem.Input[]) {\n const results = await Promise.allSettled(\n input.map((i) => ReplaceItem.mutation.mutateAsync(i)),\n );\n return {\n rejected: results.filter((r) => r.status === \"rejected\"),\n resolved: results.filter((r) => r.status === \"fulfilled\"),\n };\n },\n subscribe,\n});\n\nconst oldFetch = window.fetch;\n\n// Override any mutation based fetch calls to the cart to ensure our cart state is always up to date.\nwindow.fetch = async function (...args: Parameters<typeof fetch>) {\n let [input, options] = args;\n let route: string;\n if (input instanceof Request) route = input.url;\n else if (input instanceof URL) route = input.toString();\n else if (typeof input === \"string\") route = input;\n else route = \"\";\n if (!route.startsWith(\"/cart/\")) return oldFetch(...args);\n\n if (input instanceof Request && !options) {\n options = {\n headers: input.headers,\n };\n }\n\n if (\n options &&\n options.headers &&\n \"x-sdk-variant\" in options.headers &&\n options.headers[\"x-sdk-variant\"] === \"brytdesigns\"\n )\n return oldFetch(...args);\n Cart.cancel();\n return oldFetch(...args).finally(() => Cart.invalidate());\n};\n\ndeclare global {\n interface Window {\n BrytDesigns: {\n initialCart: CartData;\n cart: typeof AjaxCart;\n debug?: boolean;\n };\n }\n}\n\n//@ts-ignore\nif (!window.BrytDesigns) window.BrytDesigns = {};\nwindow.BrytDesigns.cart = AjaxCart;\n\nexport default AjaxCart;\n"]}
|
|
1
|
+
{"version":3,"sources":["../../src/query/cart.ts","../../src/client.ts","../../src/api.ts","../../src/mutations/addItems.ts","../../src/mutations/removeItems.ts","../../src/mutations/updateAttributes.ts","../../src/mutations/updateDiscounts.ts","../../src/mutations/updateItem.ts","../../src/mutations/updateNote.ts","../../src/mutations/clearCart.ts","../../src/mutations/replaceItem.ts","../../src/utils.ts","../../src/index.ts"],"names":["mutation","useMutation"],"mappings":"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","file":"index.js","sourcesContent":["import type { CartData } from \"../types\";\n\nimport { useQuery } from \"@tanstack/solid-query\";\n// import { validateCart } from \"@brytdesigns/shopify-ajax-cart-api\";\n\nimport client from \"../client.js\";\nimport API from \"../api.js\";\n\nexport const KEY = \"cart\";\nexport const invalidate = () => client.invalidateQueries({ queryKey: [KEY] });\nexport const set = (cb: (data: CartData) => CartData) =>\n client.setQueryData([KEY], cb);\nexport const cancel = async () => client.cancelQueries({ queryKey: [KEY] });\nexport const get = () => client.getQueryData([KEY]) as CartData;\n\nexport const query = useQuery(\n () => ({\n queryKey: [KEY],\n async queryFn({ signal }) {\n const cart = await API.get({}, { signal });\n if (cart?.error || !cart?.data) {\n throw cart.error;\n }\n return cart.data;\n },\n // initialData: async () => validateCart(window.BrytDesigns.initialCart),\n refetchOnMount: \"always\",\n staleTime: 1000 * 60 * 5,\n throwOnError: true,\n reconcile: \"id\",\n }),\n () => client,\n);\n","import { QueryClient } from \"@tanstack/solid-query\";\nimport { persistQueryClient } from \"@tanstack/solid-query-persist-client\";\nimport { createSyncStoragePersister } from \"@tanstack/query-sync-storage-persister\";\nimport lz from \"lz-string\";\n\nconst client = new QueryClient();\n\npersistQueryClient({\n queryClient: client,\n persister: createSyncStoragePersister({\n storage: window.localStorage,\n serialize: (data) => lz.compressToUTF16(JSON.stringify(data)),\n deserialize: (data) => JSON.parse(lz.decompressFromUTF16(data)),\n key: \"brytdesigns-ajax-cart\",\n }),\n});\n\nexport default client;\n","import { createAjaxCartApi } from \"@brytdesigns/shopify-ajax-cart-api\";\n\n/**\n * @internal\n */\nconst API = createAjaxCartApi({ debug: window?.BrytDesigns?.debug });\n\nexport default API;\n","import { useMutation } from \"@tanstack/solid-query\";\n\nimport client from \"../client.js\";\nimport API from \"../api.js\";\nimport { Cart } from \"../query/index.js\";\n\nexport type Input = Parameters<typeof API.add>[0][\"items\"][number];\n\nexport const mutation = useMutation(\n () => ({\n mutationFn: async (items: Input[]) => {\n const response = await API.add({ items });\n if (response?.error || !response.data) {\n throw response?.error;\n }\n return response.data;\n },\n onSettled() {\n Cart.invalidate();\n },\n }),\n () => client,\n);\n","import { useMutation } from \"@tanstack/solid-query\";\n\nimport client from \"../client.js\";\nimport API from \"../api.js\";\nimport { Cart } from \"../query/index.js\";\n\nexport type Input = string;\n\nexport const mutation = useMutation(\n () => ({\n mutationFn: async (items: Input[]) => {\n const response = await API.update({\n updates: items.reduce(\n (updates, key) =>\n ({ ...updates, [key]: 0 }) as Record<string, number>,\n {},\n ),\n });\n if (response?.error || !response.data) {\n throw response?.error;\n }\n return response.data;\n },\n async onMutate(items) {\n await Cart.cancel();\n const previousCart = Cart.get();\n\n Cart.set((old) => ({\n ...old,\n items_count: old.items\n .filter((item) => items.includes(item.key))\n .reduce((total, item) => total + item.quantity, 0),\n items: old.items.filter((item) => !items.includes(item.key)),\n }));\n\n return { previousCart };\n },\n onError(_, __, context) {\n if (context?.previousCart) Cart.set(() => context.previousCart);\n Cart.invalidate();\n },\n onSuccess(cart) {\n if (!cart) return Cart.invalidate();\n Cart.set(() => cart);\n },\n }),\n () => client,\n);\n","import { useMutation } from \"@tanstack/solid-query\";\n\nimport client from \"../client.js\";\nimport API from \"../api.js\";\nimport { Cart } from \"../query/index.js\";\n\nexport type Input = NonNullable<Parameters<typeof API.update>[0][\"attributes\"]>;\n\nexport const mutation = useMutation(\n () => ({\n mutationFn: async (attributes: Input) => {\n const response = await API.update({\n attributes,\n });\n\n if (response.error) {\n throw response.error;\n }\n\n return response.data;\n },\n async onMutate(attributes) {\n await Cart.cancel();\n const previousCart = Cart.get();\n\n Cart.set((old) => ({\n ...old,\n attributes: {\n ...old.attributes,\n ...attributes,\n },\n }));\n\n return { previousCart };\n },\n onError(_, __, context) {\n if (context?.previousCart) Cart.set(() => context.previousCart);\n Cart.invalidate();\n },\n onSuccess(cart) {\n if (!cart) return Cart.invalidate();\n Cart.set(() => cart);\n },\n }),\n () => client,\n);\n","import { useMutation } from \"@tanstack/solid-query\";\n\nimport client from \"../client.js\";\nimport API from \"../api.js\";\nimport { Cart } from \"../query/index.js\";\n\nexport type Input = string;\n\nexport const mutation = useMutation(\n () => ({\n mutationFn: async (discounts: Input[]) => {\n const response = await API.update({\n discount: discounts,\n });\n\n if (response.error) {\n throw response.error;\n }\n\n return response.data;\n },\n onError() {\n Cart.invalidate();\n },\n onSuccess(cart) {\n if (!cart) return Cart.invalidate();\n Cart.set(() => cart);\n },\n }),\n () => client,\n);\n","import { useMutation } from \"@tanstack/solid-query\";\n\nimport client from \"../client.js\";\nimport API from \"../api.js\";\nimport { Cart } from \"../query/index.js\";\n\nexport type Input = Parameters<typeof API.change>[0];\n\ntype CartItem = NonNullable<\n Awaited<ReturnType<typeof API.get>>[\"data\"]\n>[\"items\"][number];\n\nconst createIsItemCheck = (input: Input) => (item: CartItem, index: number) => {\n if (\"id\" in input && input.id === `${item.id}`) {\n return true;\n }\n if (\"key\" in input && input.key === item.key) {\n return true;\n }\n if (\"line\" in input && input.line === index + 1) {\n return true;\n }\n return false;\n};\n\nexport const mutation = useMutation(\n () => ({\n mutationFn: async (item: Input) => {\n const response = await API.change(item);\n if (response?.error || !response.data) {\n throw response?.error;\n }\n return response.data;\n },\n async onMutate(item) {\n await Cart.cancel();\n const previousCart = Cart.get();\n const isItemCheck = createIsItemCheck(item);\n\n Cart.set((old) => ({\n ...old,\n items_count: old.items.reduce((total, i, index) => {\n if (isItemCheck(i, index)) {\n return (\n total +\n (typeof item.quantity !== \"undefined\"\n ? item.quantity\n : i.quantity)\n );\n }\n return total + i.quantity;\n }, 0),\n items: old.items.map((i, index) => {\n if (isItemCheck(i, index)) {\n return {\n ...i,\n quantity:\n typeof item.quantity !== \"undefined\"\n ? item.quantity\n : i.quantity,\n properties: {\n ...item.properties,\n ...i.properties,\n },\n };\n }\n return i;\n }),\n }));\n\n return { previousCart };\n },\n onError(_, __, context) {\n if (context?.previousCart) Cart.set(() => context.previousCart);\n Cart.invalidate();\n },\n onSuccess(cart) {\n if (!cart) return Cart.invalidate();\n Cart.set(() => cart);\n },\n }),\n () => client,\n);\n","import { useMutation } from \"@tanstack/solid-query\";\n\nimport client from \"../client.js\";\nimport API from \"../api.js\";\nimport { Cart } from \"../query/index.js\";\n\nexport type Input = string | null;\n\nexport const mutation = useMutation(\n () => ({\n mutationFn: async (note: string | null) => {\n const response = await API.update({\n note,\n });\n\n if (response.error) {\n throw response.error;\n }\n\n return response.data;\n },\n async onMutate(note) {\n await Cart.cancel();\n const previousCart = Cart.get();\n\n Cart.set((old) => ({\n ...old,\n note,\n }));\n\n return { previousCart };\n },\n onError(_, __, context) {\n if (context?.previousCart) Cart.set(() => context.previousCart);\n Cart.invalidate();\n },\n onSuccess(cart) {\n if (!cart) return Cart.invalidate();\n Cart.set(() => cart);\n },\n }),\n () => client,\n);\n","import { useMutation } from \"@tanstack/solid-query\";\n\nimport client from \"../client.js\";\nimport API from \"../api.js\";\nimport { Cart } from \"../query/index.js\";\n\nexport type Input = string | null;\n\nexport const mutation = useMutation(\n () => ({\n mutationFn: async () => {\n const response = await API.clear({});\n\n if (response.error) {\n throw response.error;\n }\n\n return response.data;\n },\n async onMutate() {\n await Cart.cancel();\n const previousCart = Cart.get();\n\n Cart.set((old) => ({\n ...old,\n item_count: 0,\n items: [],\n }));\n\n return { previousCart };\n },\n onError(_, __, context) {\n if (context?.previousCart) Cart.set(() => context.previousCart);\n Cart.invalidate();\n },\n onSuccess(cart) {\n if (!cart) return Cart.invalidate();\n Cart.set(() => cart);\n },\n }),\n () => client,\n);\n","import { useMutation } from \"@tanstack/solid-query\";\n\nimport client from \"../client.js\";\nimport API from \"../api.js\";\nimport { Cart } from \"../query/index.js\";\n\nexport type Input = {\n key: string;\n id: string | number;\n};\n\nexport const mutation = useMutation(\n () => ({\n mutationFn: async (item: Input) => {\n const cart = Cart.get();\n const currentItem = cart.items.find((i) => i.key === item.key);\n if (!currentItem) {\n throw new Error(\n `Item with provided key of ${item.key} does not exists!`,\n );\n }\n\n const tempValues = {\n quantity: currentItem.quantity,\n properties: {\n ...currentItem.properties,\n },\n selling_plan:\n currentItem?.selling_plan_allocation?.selling_plan.id || undefined,\n } as const;\n\n await API.change({\n id: item.key,\n quantity: 0,\n });\n const response = await API.add({\n items: [\n {\n id: item.id,\n ...tempValues,\n properties: {\n ...tempValues.properties,\n },\n },\n ],\n });\n if (response?.error || !response.data) {\n throw response?.error;\n }\n return response.data;\n },\n onSettled() {\n Cart.invalidate();\n },\n }),\n () => client,\n);\n","import type { CartData } from \"./types\";\n\nimport { observable } from \"solid-js\";\n\nimport { Cart } from \"./query/index.js\";\n\nexport const uniq = (array: string[]): string[] => Array.from(new Set(array));\n\nexport const getNormalizedAttributes = () => {\n const cart = Cart.get();\n const mergedAttributes = {\n ...cart.attributes,\n };\n return mergedAttributes;\n};\n\nexport const getCartDiscountCodes = () => {\n const cart = Cart.get();\n const cartLevelCodes = (cart?.cart_level_discount_applications || [])\n .filter((discount) => discount.type === \"discount_code\")\n .map((discount) => discount.title);\n\n const itemLevelCodes = (cart?.items || [])?.reduce((codes, item) => {\n const itemCodes = (item?.line_level_discount_allocations || [])\n .filter(\n (allocation) =>\n allocation.discount_application.type === \"discount_code\",\n )\n .map((allocation) => allocation.discount_application.title);\n return uniq([...codes, ...itemCodes]);\n }, [] as string[]);\n\n return uniq([...cartLevelCodes, ...itemLevelCodes]);\n};\n\nfunction defaultUnwrap<T>(cart?: CartData): T {\n return cart as T; // Use unknown as intermediary to satisfy TypeScript\n}\n\nexport function subscribe<T>(\n unwrapValue: (cart?: CartData) => T = defaultUnwrap,\n cb: (data: T) => void,\n): () => void {\n // Assuming cartQuery and observable are defined and set correctly.\n const observer = observable(() => unwrapValue(Cart.query.data));\n return observer.subscribe(cb).unsubscribe;\n}\n","import type { CartData } from \"./types\";\n\nimport { mergeProps } from \"solid-js\";\n\nimport { Cart } from \"./query/index.js\";\nimport {\n AddItems,\n RemoveItems,\n UpdateAttributes,\n UpdateDiscounts,\n UpdateItem,\n UpdateNote,\n ClearCart,\n ReplaceItem,\n} from \"./mutations/index.js\";\nimport {\n getNormalizedAttributes,\n subscribe,\n getCartDiscountCodes,\n uniq,\n} from \"./utils.js\";\n\nconst AjaxCart = mergeProps(Cart.query, {\n addItems: AddItems.mutation.mutateAsync,\n addItem: (input: AddItems.Input) => AddItems.mutation.mutateAsync([input]),\n removeItems: RemoveItems.mutation.mutateAsync,\n removeItem(input: RemoveItems.Input) {\n return RemoveItems.mutation.mutateAsync([input]);\n },\n addAttributes(input: UpdateAttributes.Input) {\n const mergedAttributes = getNormalizedAttributes();\n return UpdateAttributes.mutation.mutateAsync({\n ...mergedAttributes,\n ...input,\n });\n },\n addAttribute(input: { key: string; value: UpdateAttributes.Input[string] }) {\n const mergedAttributes = getNormalizedAttributes();\n return UpdateAttributes.mutation.mutateAsync({\n ...mergedAttributes,\n [input.key]: input.value,\n });\n },\n updateAttributes: UpdateAttributes.mutation.mutateAsync,\n removeAttributes(input: string[]) {\n const mergedAttributes = getNormalizedAttributes();\n return UpdateAttributes.mutation.mutateAsync({\n ...mergedAttributes,\n ...Object.fromEntries(input.map((key) => [key, null])),\n });\n },\n removeAttribute(key: string) {\n const mergedAttributes = getNormalizedAttributes();\n return UpdateAttributes.mutation.mutateAsync({\n ...mergedAttributes,\n [key]: null,\n });\n },\n updateNote: UpdateNote.mutation.mutateAsync,\n clear: ClearCart.mutation.mutateAsync,\n updateItem: UpdateItem.mutation.mutateAsync,\n async updateItems(input: UpdateItem.Input[]) {\n const results = await Promise.allSettled(\n input.map((i) => UpdateItem.mutation.mutateAsync(i)),\n );\n return {\n rejected: results.filter((r) => r.status === \"rejected\"),\n resolved: results.filter((r) => r.status === \"fulfilled\"),\n };\n },\n addDiscounts(input: UpdateDiscounts.Input[]) {\n const codes = getCartDiscountCodes();\n return UpdateDiscounts.mutation.mutateAsync(uniq([...codes, ...input]));\n },\n addDiscount(input: UpdateDiscounts.Input) {\n const codes = getCartDiscountCodes();\n return UpdateDiscounts.mutation.mutateAsync(uniq([...codes, input]));\n },\n removeDiscounts(input: UpdateDiscounts.Input[]) {\n const codes = getCartDiscountCodes();\n return UpdateDiscounts.mutation.mutateAsync(\n codes.filter((code) => !input.includes(code)),\n );\n },\n removeDiscount(input: UpdateDiscounts.Input) {\n const codes = getCartDiscountCodes();\n return UpdateDiscounts.mutation.mutateAsync(\n codes.filter((code) => code !== input),\n );\n },\n replaceItem(input: ReplaceItem.Input) {\n return ReplaceItem.mutation.mutateAsync(input);\n },\n async replaceItems(input: ReplaceItem.Input[]) {\n const results = await Promise.allSettled(\n input.map((i) => ReplaceItem.mutation.mutateAsync(i)),\n );\n return {\n rejected: results.filter((r) => r.status === \"rejected\"),\n resolved: results.filter((r) => r.status === \"fulfilled\"),\n };\n },\n subscribe,\n});\n\nconst oldFetch = window.fetch;\n\n// Override any mutation based fetch calls to the cart to ensure our cart state is always up to date.\nwindow.fetch = async function (...args: Parameters<typeof fetch>) {\n let [input, options] = args;\n let route: string;\n if (input instanceof Request) route = input.url;\n else if (input instanceof URL) route = input.toString();\n else if (typeof input === \"string\") route = input;\n else route = \"\";\n if (!route.startsWith(\"/cart/\")) return oldFetch(...args);\n\n if (input instanceof Request && !options) {\n options = {\n headers: input.headers,\n };\n }\n\n if (\n options &&\n options.headers &&\n \"x-sdk-variant\" in options.headers &&\n options.headers[\"x-sdk-variant\"] === \"brytdesigns\"\n )\n return oldFetch(...args);\n Cart.cancel();\n return oldFetch(...args).finally(() => Cart.invalidate());\n};\n\ndeclare global {\n interface Window {\n BrytDesigns: {\n initialCart: CartData;\n cart: typeof AjaxCart;\n debug?: boolean;\n };\n }\n}\n\n//@ts-ignore\nif (!window.BrytDesigns) window.BrytDesigns = {};\nwindow.BrytDesigns.cart = AjaxCart;\n\nexport default AjaxCart;\n"]}
|