@brytdesigns/shopify-ajax-cart 1.0.0

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.
Files changed (66) hide show
  1. package/dist/jsdelivr/api.js +8 -0
  2. package/dist/jsdelivr/api.js.map +1 -0
  3. package/dist/jsdelivr/client.js +20 -0
  4. package/dist/jsdelivr/client.js.map +1 -0
  5. package/dist/jsdelivr/index.js +94 -0
  6. package/dist/jsdelivr/index.js.map +1 -0
  7. package/dist/jsdelivr/mutations/addItems.js +24 -0
  8. package/dist/jsdelivr/mutations/addItems.js.map +1 -0
  9. package/dist/jsdelivr/mutations/clearCart.js +39 -0
  10. package/dist/jsdelivr/mutations/clearCart.js.map +1 -0
  11. package/dist/jsdelivr/mutations/index.js +18 -0
  12. package/dist/jsdelivr/mutations/index.js.map +1 -0
  13. package/dist/jsdelivr/mutations/removeItems.js +44 -0
  14. package/dist/jsdelivr/mutations/removeItems.js.map +1 -0
  15. package/dist/jsdelivr/mutations/replaceItem.js +49 -0
  16. package/dist/jsdelivr/mutations/replaceItem.js.map +1 -0
  17. package/dist/jsdelivr/mutations/updateAttributes.js +43 -0
  18. package/dist/jsdelivr/mutations/updateAttributes.js.map +1 -0
  19. package/dist/jsdelivr/mutations/updateDiscounts.js +28 -0
  20. package/dist/jsdelivr/mutations/updateDiscounts.js.map +1 -0
  21. package/dist/jsdelivr/mutations/updateItem.js +69 -0
  22. package/dist/jsdelivr/mutations/updateItem.js.map +1 -0
  23. package/dist/jsdelivr/mutations/updateNote.js +40 -0
  24. package/dist/jsdelivr/mutations/updateNote.js.map +1 -0
  25. package/dist/jsdelivr/query/cart.js +30 -0
  26. package/dist/jsdelivr/query/cart.js.map +1 -0
  27. package/dist/jsdelivr/query/index.js +4 -0
  28. package/dist/jsdelivr/query/index.js.map +1 -0
  29. package/dist/jsdelivr/types.js +3 -0
  30. package/dist/jsdelivr/types.js.map +1 -0
  31. package/dist/jsdelivr/utils.js +33 -0
  32. package/dist/jsdelivr/utils.js.map +1 -0
  33. package/dist/main/api.js +8 -0
  34. package/dist/main/api.js.map +1 -0
  35. package/dist/main/client.js +20 -0
  36. package/dist/main/client.js.map +1 -0
  37. package/dist/main/index.d.ts +15831 -0
  38. package/dist/main/index.js +94 -0
  39. package/dist/main/index.js.map +1 -0
  40. package/dist/main/mutations/addItems.js +24 -0
  41. package/dist/main/mutations/addItems.js.map +1 -0
  42. package/dist/main/mutations/clearCart.js +39 -0
  43. package/dist/main/mutations/clearCart.js.map +1 -0
  44. package/dist/main/mutations/index.js +18 -0
  45. package/dist/main/mutations/index.js.map +1 -0
  46. package/dist/main/mutations/removeItems.js +44 -0
  47. package/dist/main/mutations/removeItems.js.map +1 -0
  48. package/dist/main/mutations/replaceItem.js +49 -0
  49. package/dist/main/mutations/replaceItem.js.map +1 -0
  50. package/dist/main/mutations/updateAttributes.js +43 -0
  51. package/dist/main/mutations/updateAttributes.js.map +1 -0
  52. package/dist/main/mutations/updateDiscounts.js +30 -0
  53. package/dist/main/mutations/updateDiscounts.js.map +1 -0
  54. package/dist/main/mutations/updateItem.js +69 -0
  55. package/dist/main/mutations/updateItem.js.map +1 -0
  56. package/dist/main/mutations/updateNote.js +40 -0
  57. package/dist/main/mutations/updateNote.js.map +1 -0
  58. package/dist/main/query/cart.js +30 -0
  59. package/dist/main/query/cart.js.map +1 -0
  60. package/dist/main/query/index.js +4 -0
  61. package/dist/main/query/index.js.map +1 -0
  62. package/dist/main/types.js +3 -0
  63. package/dist/main/types.js.map +1 -0
  64. package/dist/main/utils.js +33 -0
  65. package/dist/main/utils.js.map +1 -0
  66. package/package.json +37 -0
@@ -0,0 +1,33 @@
1
+ import { observable } from '/npm/solid-js@^1.9.5/+esm';
2
+ import { Cart } from '/npm/@brytdesigns/shopify-hybrid-cart@0.1.29/dist/jsdelivr/query/index.js';
3
+
4
+ const uniq = (array) => Array.from(new Set(array));
5
+ const getNormalizedAttributes = () => {
6
+ const cart = Cart.get();
7
+ const mergedAttributes = {
8
+ ...cart.attributes
9
+ };
10
+ return mergedAttributes;
11
+ };
12
+ const getCartDiscountCodes = () => {
13
+ const cart = Cart.get();
14
+ const cartLevelCodes = (cart?.cart_level_discount_applications || []).filter((discount) => discount.type === "discount_code").map((discount) => discount.title);
15
+ const itemLevelCodes = (cart?.items || [])?.reduce((codes, item) => {
16
+ const itemCodes = (item?.line_level_discount_allocations || []).filter(
17
+ (allocation) => allocation.discount_application.type === "discount_code"
18
+ ).map((allocation) => allocation.discount_application.title);
19
+ return uniq([...codes, ...itemCodes]);
20
+ }, []);
21
+ return uniq([...cartLevelCodes, ...itemLevelCodes]);
22
+ };
23
+ function defaultUnwrap(cart) {
24
+ return cart;
25
+ }
26
+ function subscribe(unwrapValue = defaultUnwrap, cb) {
27
+ const observer = observable(() => unwrapValue(Cart.query.data));
28
+ return observer.subscribe(cb).unsubscribe;
29
+ }
30
+
31
+ export { getCartDiscountCodes, getNormalizedAttributes, subscribe, uniq };
32
+ //# sourceMappingURL=utils.js.map
33
+ //# sourceMappingURL=utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/utils.ts"],"names":[],"mappings":";;;AAMa,MAAA,IAAA,GAAO,CAAC,KAA8B,KAAA,KAAA,CAAM,KAAK,IAAI,GAAA,CAAI,KAAK,CAAC;AAErE,MAAM,0BAA0B,MAAM;AAC3C,EAAM,MAAA,IAAA,GAAO,KAAK,GAAI,EAAA;AACtB,EAAA,MAAM,gBAAmB,GAAA;AAAA,IACvB,GAAG,IAAK,CAAA;AAAA,GACV;AACA,EAAO,OAAA,gBAAA;AACT;AAEO,MAAM,uBAAuB,MAAM;AACxC,EAAM,MAAA,IAAA,GAAO,KAAK,GAAI,EAAA;AACtB,EAAA,MAAM,kBAAkB,IAAM,EAAA,gCAAA,IAAoC,EAAC,EAChE,OAAO,CAAC,QAAA,KAAa,QAAS,CAAA,IAAA,KAAS,eAAe,CACtD,CAAA,GAAA,CAAI,CAAC,QAAA,KAAa,SAAS,KAAK,CAAA;AAEnC,EAAM,MAAA,cAAA,GAAA,CAAkB,MAAM,KAAS,IAAA,KAAK,MAAO,CAAA,CAAC,OAAO,IAAS,KAAA;AAClE,IAAA,MAAM,SAAa,GAAA,CAAA,IAAA,EAAM,+BAAmC,IAAA,EACzD,EAAA,MAAA;AAAA,MACC,CAAC,UAAA,KACC,UAAW,CAAA,oBAAA,CAAqB,IAAS,KAAA;AAAA,MAE5C,GAAI,CAAA,CAAC,UAAe,KAAA,UAAA,CAAW,qBAAqB,KAAK,CAAA;AAC5D,IAAA,OAAO,KAAK,CAAC,GAAG,KAAO,EAAA,GAAG,SAAS,CAAC,CAAA;AAAA,GACtC,EAAG,EAAc,CAAA;AAEjB,EAAA,OAAO,KAAK,CAAC,GAAG,cAAgB,EAAA,GAAG,cAAc,CAAC,CAAA;AACpD;AAEA,SAAS,cAAiB,IAAmB,EAAA;AAC3C,EAAO,OAAA,IAAA;AACT;AAEO,SAAS,SAAA,CACd,WAAqC,GAAA,aAAA,EACrC,EACY,EAAA;AAEZ,EAAA,MAAM,WAAW,UAAW,CAAA,MAAM,YAAY,IAAK,CAAA,KAAA,CAAM,IAAI,CAAC,CAAA;AAC9D,EAAO,OAAA,QAAA,CAAS,SAAU,CAAA,EAAE,CAAE,CAAA,WAAA;AAChC","file":"utils.js","sourcesContent":["import type { CartData } from \"/npm/@brytdesigns/shopify-hybrid-cart@0.1.29/dist/jsdelivr/types\";\n\nimport { observable } from \"/npm/solid-js@^1.9.5/+esm\";\n\nimport { Cart } from \"/npm/@brytdesigns/shopify-hybrid-cart@0.1.29/dist/jsdelivr/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"]}
@@ -0,0 +1,8 @@
1
+ import { createAjaxCartApi } from '@brytdesigns/shopify-ajax-cart-api';
2
+
3
+ const API = createAjaxCartApi({ debug: window?.BrytDesigns?.debug });
4
+ var api_default = API;
5
+
6
+ export { api_default as default };
7
+ //# sourceMappingURL=api.js.map
8
+ //# sourceMappingURL=api.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/api.ts"],"names":[],"mappings":";;AAKA,MAAM,MAAM,iBAAkB,CAAA,EAAE,OAAO,MAAQ,EAAA,WAAA,EAAa,OAAO,CAAA;AAEnE,IAAO,WAAQ,GAAA","file":"api.js","sourcesContent":["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"]}
@@ -0,0 +1,20 @@
1
+ import { QueryClient } from '@tanstack/solid-query';
2
+ import { persistQueryClient } from '@tanstack/solid-query-persist-client';
3
+ import { createSyncStoragePersister } from '@tanstack/query-sync-storage-persister';
4
+ import lz from 'lz-string';
5
+
6
+ const client = new QueryClient();
7
+ persistQueryClient({
8
+ queryClient: client,
9
+ persister: createSyncStoragePersister({
10
+ storage: window.localStorage,
11
+ serialize: (data) => lz.compressToUTF16(JSON.stringify(data)),
12
+ deserialize: (data) => JSON.parse(lz.decompressFromUTF16(data)),
13
+ key: "brytdesigns-hybrid-cart"
14
+ })
15
+ });
16
+ var client_default = client;
17
+
18
+ export { client_default as default };
19
+ //# sourceMappingURL=client.js.map
20
+ //# sourceMappingURL=client.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/client.ts"],"names":[],"mappings":";;;;;AAKA,MAAM,MAAA,GAAS,IAAI,WAAY,EAAA;AAE/B,kBAAmB,CAAA;AAAA,EACjB,WAAa,EAAA,MAAA;AAAA,EACb,WAAW,0BAA2B,CAAA;AAAA,IACpC,SAAS,MAAO,CAAA,YAAA;AAAA,IAChB,SAAA,EAAW,CAAC,IAAS,KAAA,EAAA,CAAG,gBAAgB,IAAK,CAAA,SAAA,CAAU,IAAI,CAAC,CAAA;AAAA,IAC5D,WAAA,EAAa,CAAC,IAAS,KAAA,IAAA,CAAK,MAAM,EAAG,CAAA,mBAAA,CAAoB,IAAI,CAAC,CAAA;AAAA,IAC9D,GAAK,EAAA;AAAA,GACN;AACH,CAAC,CAAA;AAED,IAAO,cAAQ,GAAA","file":"client.js","sourcesContent":["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-hybrid-cart\",\n }),\n});\n\nexport default client;\n"]}