@tiledev/sdk-shopify 0.7.0 → 0.9.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.
@@ -1,4 +1,5 @@
1
1
  import { ReactNode } from "react";
2
+ import type { AttributionSource } from "../attribution";
2
3
  import type { AlertMessageKey, AlertMessages, Cart, CartAttribute, CartLineAttribute, CartLineGuard, CartLineInput, CartPolicy, CartWriteResult, Customer, MessageResolver, Product, ShopifyConfig, WishlistItem, WishlistStorageAdapter } from "../types";
3
4
  interface CartState {
4
5
  cart: Cart | null;
@@ -21,9 +22,12 @@ interface CartState {
21
22
  addLines: (inputs: CartLineInput[]) => Promise<Cart | null>;
22
23
  /**
23
24
  * `false` when a `cartGuard` cancelled the increase. `attributes` REPLACE the line's set —
24
- * Shopify does not merge them — so omit the argument to leave them untouched.
25
+ * Shopify does not merge them — so omit the argument to leave them untouched. `opts.source` is
26
+ * where an increase came from, for `attribution` (default `app`).
25
27
  */
26
- updateLine: (lineId: string, quantity: number, attributes?: CartLineAttribute[]) => Promise<boolean>;
28
+ updateLine: (lineId: string, quantity: number, attributes?: CartLineAttribute[], opts?: {
29
+ source?: AttributionSource;
30
+ }) => Promise<boolean>;
27
31
  removeLine: (lineId: string) => Promise<void>;
28
32
  applyDiscountCodes: (codes: string[]) => Promise<void>;
29
33
  /**
@@ -51,6 +55,18 @@ interface CartState {
51
55
  */
52
56
  adopt: (cartId: string) => Promise<Cart | null>;
53
57
  reset: () => Promise<void>;
58
+ /**
59
+ * Waits for queued `attribution` writes and retries an unsent value once. True when the cart holds
60
+ * the device's value (and always when attribution is off). Never throws. Await before checkout:
61
+ * a failed write is otherwise only retried by the next change.
62
+ */
63
+ flushAttribution: () => Promise<boolean>;
64
+ /**
65
+ * Sets `pairs` on the cart (overwriting a different value) and keeps every other attribute,
66
+ * `_apptile_attribution` included. Queued behind pending cart writes; no request when every pair
67
+ * is already there. Never throws: false when it could not be written or there is no cart yet.
68
+ */
69
+ ensureCartAttributes: (pairs: CartAttribute[]) => Promise<boolean>;
54
70
  }
55
71
  interface WishlistState {
56
72
  items: WishlistItem[];
@@ -188,8 +204,15 @@ export interface ShopifyProviderProps {
188
204
  * sets it here or the cart goes out anonymous.
189
205
  */
190
206
  cartAttributes?: CartAttribute[];
207
+ /**
208
+ * Records where the cart's units came from (live show, replay, or the rest of the app) in the
209
+ * `_apptile_attribution` cart attribute, after each line write lands. Off by default.
210
+ */
211
+ attribution?: {
212
+ enabled: boolean;
213
+ };
191
214
  }
192
- export declare function ShopifyProvider({ children, config, storage, onEvent, cartGuard, wishlistKeepDeleted, messages, translate, cartPolicy, cartAttributes, }: ShopifyProviderProps): import("react").JSX.Element;
215
+ export declare function ShopifyProvider({ children, config, storage, onEvent, cartGuard, wishlistKeepDeleted, messages, translate, cartPolicy, cartAttributes, attribution, }: ShopifyProviderProps): import("react").JSX.Element;
193
216
  export declare function useShopify(): ShopifyContextType;
194
217
  export declare function useCart(): CartState;
195
218
  export declare function useWishlist(): WishlistState;
@@ -1 +1 @@
1
- {"version":3,"file":"ShopifyProvider.d.ts","sourceRoot":"","sources":["../../src/react/ShopifyProvider.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ShopifyProvider.d.ts","sourceRoot":"","sources":["../../src/react/ShopifyProvider.tsx"],"names":[],"mappings":"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"}
@@ -12,6 +12,7 @@ const react_1 = require("react");
12
12
  const shopify_1 = require("../shopify");
13
13
  const client_1 = require("../client");
14
14
  const cart_1 = require("../cart");
15
+ const attributionRecorder_1 = require("./attributionRecorder");
15
16
  const cartPolicy_1 = require("../cartPolicy");
16
17
  const errors_1 = require("../errors");
17
18
  const messages_1 = require("../messages");
@@ -156,7 +157,7 @@ function defaultStorage() {
156
157
  }
157
158
  return null;
158
159
  }
159
- function ShopifyProvider({ children, config, storage, onEvent, cartGuard, wishlistKeepDeleted, messages, translate, cartPolicy, cartAttributes, }) {
160
+ function ShopifyProvider({ children, config, storage, onEvent, cartGuard, wishlistKeepDeleted, messages, translate, cartPolicy, cartAttributes, attribution, }) {
160
161
  const [ready, setReady] = (0, react_1.useState)(false);
161
162
  const [error, setError] = (0, react_1.useState)(null);
162
163
  const [cart, setCart] = (0, react_1.useState)(null);
@@ -276,6 +277,21 @@ function ShopifyProvider({ children, config, storage, onEvent, cartGuard, wishli
276
277
  writeQueue.current = run.catch(() => undefined);
277
278
  return run;
278
279
  }, []);
280
+ const attributionOn = (0, react_1.useRef)(false);
281
+ attributionOn.current = !!(attribution === null || attribution === void 0 ? void 0 : attribution.enabled);
282
+ const recorderRef = (0, react_1.useRef)(null);
283
+ if (!recorderRef.current) {
284
+ recorderRef.current = (0, attributionRecorder_1.createAttributionRecorder)({
285
+ enabled: () => attributionOn.current,
286
+ serialize,
287
+ storage: () => storageRef.current,
288
+ write: (cartId, attrs) => shopify_1.shopify.cart.updateAttributes(cartId, attrs),
289
+ onWritten: (next) => persistCartRef.current(next),
290
+ });
291
+ }
292
+ const recorder = recorderRef.current;
293
+ // The cart the last write returned, for work queued behind it that must not read a stale render.
294
+ const cartRef = (0, react_1.useRef)(null);
279
295
  /**
280
296
  * A guard is advisory: a hook that throws must not take the cart down with it. `fallback` is what
281
297
  * that failure means — approval for the `before*` hooks, nothing for the observers.
@@ -293,7 +309,9 @@ function ShopifyProvider({ children, config, storage, onEvent, cartGuard, wishli
293
309
  const guard = guardRef.current;
294
310
  if (!(guard === null || guard === void 0 ? void 0 : guard.beforeAdd))
295
311
  return input;
296
- return runGuard(() => guard.beforeAdd(input), input);
312
+ const approved = await runGuard(() => guard.beforeAdd(input), input);
313
+ // A guard that rebuilds the input must not lose where it came from.
314
+ return approved && !approved.source && input.source ? { ...approved, source: input.source } : approved;
297
315
  }, [runGuard]);
298
316
  /** Hands back units the guard approved for a write that then failed. */
299
317
  const releaseRejected = (0, react_1.useCallback)((input) => {
@@ -341,11 +359,13 @@ function ShopifyProvider({ children, config, storage, onEvent, cartGuard, wishli
341
359
  // A cart created now is already in the configured market — `@inContext` saw to that.
342
360
  next = checkedOut
343
361
  ? await shopify_1.shopify.cart.create({ attributes: cartAttrsRef.current })
344
- : await createFromSnapshot(await loadLineSnapshot(s), cartAttrsRef.current);
362
+ : await createFromSnapshot(await loadLineSnapshot(s), await recorder.restoreAttributes(cartAttrsRef.current));
345
363
  if (s)
346
364
  await Promise.resolve(s.setItem(CART_STORAGE_KEY, next.id));
347
365
  }
348
366
  await saveLineSnapshot(s, next);
367
+ cartRef.current = next;
368
+ await recorder.sync(next);
349
369
  if (mounted)
350
370
  setCart(next);
351
371
  }
@@ -475,15 +495,20 @@ function ShopifyProvider({ children, config, storage, onEvent, cartGuard, wishli
475
495
  }, [config.country]);
476
496
  const persistCart = (0, react_1.useCallback)(async (next) => {
477
497
  setCart(next);
498
+ cartRef.current = next;
499
+ const synced = recorder.sync(next);
478
500
  const s = storageRef.current;
479
- if (!s)
480
- return;
481
- if (next)
482
- await Promise.resolve(s.setItem(CART_STORAGE_KEY, next.id));
483
- else
484
- await Promise.resolve(s.removeItem(CART_STORAGE_KEY));
485
- await saveLineSnapshot(s, next);
486
- }, []);
501
+ if (s) {
502
+ if (next)
503
+ await Promise.resolve(s.setItem(CART_STORAGE_KEY, next.id));
504
+ else
505
+ await Promise.resolve(s.removeItem(CART_STORAGE_KEY));
506
+ await saveLineSnapshot(s, next);
507
+ }
508
+ await synced;
509
+ }, [recorder]);
510
+ const persistCartRef = (0, react_1.useRef)(persistCart);
511
+ persistCartRef.current = persistCart;
487
512
  const ensureCartId = (0, react_1.useCallback)(async () => {
488
513
  if (cart === null || cart === void 0 ? void 0 : cart.id)
489
514
  return cart.id;
@@ -533,6 +558,7 @@ function ShopifyProvider({ children, config, storage, onEvent, cartGuard, wishli
533
558
  }
534
559
  await persistCart(next);
535
560
  await clearCheckoutStarted(storageRef.current);
561
+ recorder.addInput(next.id, approved);
536
562
  emit("cart:add");
537
563
  announceLanded(approved, next);
538
564
  return { ok: true, cart: next };
@@ -540,7 +566,7 @@ function ShopifyProvider({ children, config, storage, onEvent, cartGuard, wishli
540
566
  finally {
541
567
  setCartLoad(false);
542
568
  }
543
- }, [cart, approveAdd, releaseRejected, announceLanded, ensureCartId, persistCart, emit, reportCartFailure, serialize]);
569
+ }, [cart, approveAdd, releaseRejected, announceLanded, ensureCartId, persistCart, emit, reportCartFailure, serialize, recorder]);
544
570
  const cartAddLines = (0, react_1.useCallback)(async (requested) => {
545
571
  if (requested.length === 0)
546
572
  return cart;
@@ -605,6 +631,8 @@ function ShopifyProvider({ children, config, storage, onEvent, cartGuard, wishli
605
631
  if (next) {
606
632
  await persistCart(next);
607
633
  await clearCheckoutStarted(storageRef.current);
634
+ const cartId = next.id;
635
+ landed.forEach((input) => recorder.addInput(cartId, input));
608
636
  emit("cart:add");
609
637
  const settled = next;
610
638
  landed.forEach((input) => announceLanded(input, settled));
@@ -614,7 +642,7 @@ function ShopifyProvider({ children, config, storage, onEvent, cartGuard, wishli
614
642
  finally {
615
643
  setCartLoad(false);
616
644
  }
617
- }, [cart, approveAdd, releaseRejected, announceLanded, ensureCartId, persistCart, emit, reportCartFailure, serialize]);
645
+ }, [cart, approveAdd, releaseRejected, announceLanded, ensureCartId, persistCart, emit, reportCartFailure, serialize, recorder]);
618
646
  const cartSetBuyerIdentity = (0, react_1.useCallback)(async (identity) => {
619
647
  // Deliberately does NOT create a cart — that would mint an empty one checkout never sees.
620
648
  if (!(cart === null || cart === void 0 ? void 0 : cart.id))
@@ -630,7 +658,7 @@ function ShopifyProvider({ children, config, storage, onEvent, cartGuard, wishli
630
658
  setCartLoad(false);
631
659
  }
632
660
  }, [cart, persistCart, emit, serialize]);
633
- const cartUpdateLine = (0, react_1.useCallback)(async (lineId, quantity, attributes) => {
661
+ const cartUpdateLine = (0, react_1.useCallback)(async (lineId, quantity, attributes, opts) => {
634
662
  var _a;
635
663
  if (!(cart === null || cart === void 0 ? void 0 : cart.id))
636
664
  return false;
@@ -661,6 +689,7 @@ function ShopifyProvider({ children, config, storage, onEvent, cartGuard, wishli
661
689
  }
662
690
  await persistCart(next);
663
691
  await clearCheckoutStarted(storageRef.current);
692
+ recorder.changeLine(next.id, previous, previous ? update.quantity - previous.quantity : 0, opts === null || opts === void 0 ? void 0 : opts.source);
664
693
  // A quantity change is not one of the panel's alerts — emitted as a state
665
694
  // signal so a host can refresh a badge, with no copy attached.
666
695
  emit("cart:update");
@@ -678,9 +707,9 @@ function ShopifyProvider({ children, config, storage, onEvent, cartGuard, wishli
678
707
  finally {
679
708
  setCartLoad(false);
680
709
  }
681
- }, [cart, persistCart, runGuard, releaseRejected, emit, reportCartFailure, serialize]);
710
+ }, [cart, persistCart, runGuard, releaseRejected, emit, reportCartFailure, serialize, recorder]);
682
711
  const cartRemoveLine = (0, react_1.useCallback)(async (lineId) => {
683
- var _a;
712
+ var _a, _b;
684
713
  if (!(cart === null || cart === void 0 ? void 0 : cart.id))
685
714
  return;
686
715
  const guard = guardRef.current;
@@ -690,6 +719,7 @@ function ShopifyProvider({ children, config, storage, onEvent, cartGuard, wishli
690
719
  const next = await serialize(() => shopify_1.shopify.cart.removeLines(cart.id, [lineId]));
691
720
  await persistCart(next);
692
721
  await clearCheckoutStarted(storageRef.current);
722
+ recorder.changeLine(next.id, previous, -((_b = previous === null || previous === void 0 ? void 0 : previous.quantity) !== null && _b !== void 0 ? _b : 0));
693
723
  // The panel's "Removed From Cart" alert. Previously nothing fired here, so
694
724
  // the configured copy had no trigger at all.
695
725
  emit("cart:remove");
@@ -706,7 +736,7 @@ function ShopifyProvider({ children, config, storage, onEvent, cartGuard, wishli
706
736
  finally {
707
737
  setCartLoad(false);
708
738
  }
709
- }, [cart, persistCart, runGuard, emit, serialize]);
739
+ }, [cart, persistCart, runGuard, emit, serialize, recorder]);
710
740
  const cartApplyDiscounts = (0, react_1.useCallback)(async (codes) => {
711
741
  if (!(cart === null || cart === void 0 ? void 0 : cart.id))
712
742
  return;
@@ -749,6 +779,27 @@ function ShopifyProvider({ children, config, storage, onEvent, cartGuard, wishli
749
779
  await persistCart(next);
750
780
  return next;
751
781
  }, [persistCart, pinMarket, applyCartAttributes]);
782
+ const cartFlushAttribution = (0, react_1.useCallback)(() => recorder.flushPending(), [recorder]);
783
+ const cartEnsureAttributes = (0, react_1.useCallback)(async (pairs) => {
784
+ try {
785
+ return await serialize(async () => {
786
+ const current = cartRef.current;
787
+ if (!current)
788
+ return false;
789
+ const have = current.attributes;
790
+ if (pairs.every((pair) => have.some((a) => a.key === pair.key && a.value === pair.value)))
791
+ return true;
792
+ const keys = new Set(pairs.map((pair) => pair.key));
793
+ const next = await shopify_1.shopify.cart.updateAttributes(current.id, [...have.filter((a) => !keys.has(a.key)), ...pairs]);
794
+ await persistCart(next);
795
+ return true;
796
+ });
797
+ }
798
+ catch (ensureError) {
799
+ console.warn("[ShopifyProvider] cart attribute write failed", ensureError);
800
+ return false;
801
+ }
802
+ }, [serialize, persistCart]);
752
803
  const cartReset = (0, react_1.useCallback)(async () => {
753
804
  const created = await shopify_1.shopify.cart.create({ attributes: cartAttrsRef.current });
754
805
  await persistCart(created);
@@ -931,6 +982,8 @@ function ShopifyProvider({ children, config, storage, onEvent, cartGuard, wishli
931
982
  refresh: cartRefresh,
932
983
  adopt: cartAdopt,
933
984
  reset: cartReset,
985
+ flushAttribution: cartFlushAttribution,
986
+ ensureCartAttributes: cartEnsureAttributes,
934
987
  },
935
988
  wishlist: {
936
989
  items: wlItems,
@@ -966,7 +1019,7 @@ function ShopifyProvider({ children, config, storage, onEvent, cartGuard, wishli
966
1019
  ready, error,
967
1020
  // A new policy changes `cart.maxLineItems`, so the memo must see it.
968
1021
  resolvedPolicy,
969
- cart, cartLoading, cartAddLine, cartAddLines, cartUpdateLine, cartRemoveLine, cartApplyDiscounts, cartUpdateNote, cartSetBuyerIdentity, cartRefresh, cartAdopt, cartReset,
1022
+ cart, cartLoading, cartAddLine, cartAddLines, cartUpdateLine, cartRemoveLine, cartApplyDiscounts, cartUpdateNote, cartSetBuyerIdentity, cartRefresh, cartAdopt, cartReset, cartFlushAttribution, cartEnsureAttributes,
970
1023
  wlItems, wlIds, wlHas, wlAdd, wlRemove, wlToggle, wlClear, wlRefresh,
971
1024
  customer, token, authLoading, restoring, authLogin, authSignup, authLogout, authRecover, authRefresh,
972
1025
  checkoutStarted, checkoutOrderPlaced, checkoutPaymentFailed,
@@ -1 +1 @@
1
- {"version":3,"file":"ShopifyProvider.js","sourceRoot":"","sources":["../../src/react/ShopifyProvider.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ShopifyProvider.js","sourceRoot":"","sources":["../../src/react/ShopifyProvider.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,29 @@
1
+ import { type AttributionSource } from "../attribution";
2
+ import type { Cart, CartAttribute, CartLine, CartLineInput, WishlistStorageAdapter } from "../types";
3
+ type Storage = WishlistStorageAdapter | null;
4
+ export interface AttributionRecorder {
5
+ /** Takes the value on `cart` as the base, unless this device holds a newer one not yet written. */
6
+ sync(cart: Cart | null): Promise<void>;
7
+ /** An add that landed: source defaults to `app`, line type from the input's attributes. */
8
+ addInput(cartId: string, input: CartLineInput): void;
9
+ /** A quantity change on an existing line: positive adds under `source`, negative removes. */
10
+ changeLine(cartId: string, line: CartLine | null, delta: number, source?: AttributionSource): void;
11
+ /** `base` plus the saved value when enabled, for restoring an expired cart. */
12
+ restoreAttributes(base: CartAttribute[] | undefined): Promise<CartAttribute[] | undefined>;
13
+ /** After every queued write, retries an unsent value once. True when the cart holds the device's value. */
14
+ flushPending(): Promise<boolean>;
15
+ }
16
+ /**
17
+ * Changes apply to the device's copy at once and are written as one whole value through the
18
+ * provider's write queue. A failed write leaves the copy ahead of the cart, so the next change's
19
+ * write carries it too. Every method is a no-op while `enabled()` is false, and none throws.
20
+ */
21
+ export declare function createAttributionRecorder(deps: {
22
+ enabled: () => boolean;
23
+ serialize: <T>(write: () => Promise<T>) => Promise<T>;
24
+ storage: () => Storage;
25
+ write: (cartId: string, attributes: CartAttribute[]) => Promise<Cart>;
26
+ onWritten: (cart: Cart) => Promise<void>;
27
+ }): AttributionRecorder;
28
+ export {};
29
+ //# sourceMappingURL=attributionRecorder.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"attributionRecorder.d.ts","sourceRoot":"","sources":["../../src/react/attributionRecorder.ts"],"names":[],"mappings":"AAAA,OAAO,EASL,KAAK,iBAAiB,EACvB,MAAM,gBAAgB,CAAC;AACxB,OAAO,KAAK,EAAE,IAAI,EAAE,aAAa,EAAE,QAAQ,EAAE,aAAa,EAAE,sBAAsB,EAAE,MAAM,UAAU,CAAC;AAKrG,KAAK,OAAO,GAAG,sBAAsB,GAAG,IAAI,CAAC;AAgC7C,MAAM,WAAW,mBAAmB;IAClC,mGAAmG;IACnG,IAAI,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACvC,2FAA2F;IAC3F,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,aAAa,GAAG,IAAI,CAAC;IACrD,6FAA6F;IAC7F,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,GAAG,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,iBAAiB,GAAG,IAAI,CAAC;IACnG,+EAA+E;IAC/E,iBAAiB,CAAC,IAAI,EAAE,aAAa,EAAE,GAAG,SAAS,GAAG,OAAO,CAAC,aAAa,EAAE,GAAG,SAAS,CAAC,CAAC;IAC3F,2GAA2G;IAC3G,YAAY,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC;CAClC;AAED;;;;GAIG;AACH,wBAAgB,yBAAyB,CAAC,IAAI,EAAE;IAC9C,OAAO,EAAE,MAAM,OAAO,CAAC;IACvB,SAAS,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC;IACtD,OAAO,EAAE,MAAM,OAAO,CAAC;IACvB,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,aAAa,EAAE,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACtE,SAAS,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CAC1C,GAAG,mBAAmB,CA8EtB"}
@@ -0,0 +1,133 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.createAttributionRecorder = createAttributionRecorder;
4
+ const attribution_1 = require("../attribution");
5
+ const CART_ATTRIBUTION_KEY = "shopify:cart-attribution:v1";
6
+ const APP_SOURCE = { type: "app" };
7
+ async function saveAttributionSnapshot(s, value) {
8
+ if (!s)
9
+ return;
10
+ try {
11
+ if (value)
12
+ await Promise.resolve(s.setItem(CART_ATTRIBUTION_KEY, (0, attribution_1.serializeAttribution)(value)));
13
+ else
14
+ await Promise.resolve(s.removeItem(CART_ATTRIBUTION_KEY));
15
+ }
16
+ catch (snapshotError) {
17
+ console.warn("[ShopifyProvider] cart attribution snapshot write failed", snapshotError);
18
+ }
19
+ }
20
+ async function loadAttributionSnapshot(s) {
21
+ if (!s)
22
+ return null;
23
+ try {
24
+ return (0, attribution_1.parseAttribution)(await Promise.resolve(s.getItem(CART_ATTRIBUTION_KEY)));
25
+ }
26
+ catch {
27
+ return null;
28
+ }
29
+ }
30
+ /** `base` plus the saved value, for the cart that replaces an expired one. */
31
+ async function restoredCartAttributes(s, base) {
32
+ const saved = await loadAttributionSnapshot(s);
33
+ return saved ? (0, attribution_1.withAttributionAttribute)(base, saved) : base;
34
+ }
35
+ function attributionOf(cart) {
36
+ var _a, _b;
37
+ const raw = (_a = cart === null || cart === void 0 ? void 0 : cart.attributes.find((attr) => attr.key === attribution_1.ATTRIBUTION_ATTRIBUTE_KEY)) === null || _a === void 0 ? void 0 : _a.value;
38
+ return (_b = (0, attribution_1.parseAttribution)(raw)) !== null && _b !== void 0 ? _b : { v: 1 };
39
+ }
40
+ /**
41
+ * Changes apply to the device's copy at once and are written as one whole value through the
42
+ * provider's write queue. A failed write leaves the copy ahead of the cart, so the next change's
43
+ * write carries it too. Every method is a no-op while `enabled()` is false, and none throws.
44
+ */
45
+ function createAttributionRecorder(deps) {
46
+ let latest = null;
47
+ let cartId = null;
48
+ let value = null;
49
+ let version = 0;
50
+ let written = 0;
51
+ const resetFor = (forCart, base) => {
52
+ cartId = forCart;
53
+ value = base;
54
+ version = written = 0;
55
+ };
56
+ const flush = async (forCart) => {
57
+ if (cartId !== forCart || version === written || !value)
58
+ return;
59
+ if (!latest || latest.id !== forCart)
60
+ return;
61
+ const target = version;
62
+ try {
63
+ const next = await deps.write(forCart, (0, attribution_1.withAttributionAttribute)(latest.attributes, value));
64
+ if (cartId === forCart)
65
+ written = Math.max(written, target);
66
+ await deps.onWritten(next);
67
+ }
68
+ catch (writeError) {
69
+ console.warn("[ShopifyProvider] attribution write failed; retried with the next change", writeError);
70
+ }
71
+ };
72
+ const change = (forCart, apply) => {
73
+ if (!deps.enabled())
74
+ return;
75
+ try {
76
+ if (cartId !== forCart)
77
+ resetFor(forCart, attributionOf((latest === null || latest === void 0 ? void 0 : latest.id) === forCart ? latest : null));
78
+ value = apply(value !== null && value !== void 0 ? value : { v: 1 });
79
+ version += 1;
80
+ void saveAttributionSnapshot(deps.storage(), value);
81
+ void deps.serialize(() => flush(forCart));
82
+ }
83
+ catch (recordError) {
84
+ console.warn("[ShopifyProvider] attribution record failed", recordError);
85
+ }
86
+ };
87
+ return {
88
+ async sync(cart) {
89
+ if (!deps.enabled())
90
+ return;
91
+ latest = cart;
92
+ if (!cart)
93
+ resetFor(null, null);
94
+ else if (cart.id !== cartId)
95
+ resetFor(cart.id, attributionOf(cart));
96
+ else if (version === written)
97
+ value = attributionOf(cart);
98
+ await saveAttributionSnapshot(deps.storage(), value);
99
+ },
100
+ addInput(forCart, input) {
101
+ const now = Math.floor(Date.now() / 1000);
102
+ change(forCart, (current) => { var _a; return (0, attribution_1.recordAdd)(current, (_a = input.source) !== null && _a !== void 0 ? _a : APP_SOURCE, input.merchandiseId, (0, attribution_1.lineTypeOf)(input.attributes), input.quantity, now); });
103
+ },
104
+ changeLine(forCart, line, delta, source) {
105
+ if (!line || delta === 0)
106
+ return;
107
+ const lineType = (0, attribution_1.lineTypeOf)(line.attributes);
108
+ const now = Math.floor(Date.now() / 1000);
109
+ change(forCart, (current) => delta > 0
110
+ ? (0, attribution_1.recordAdd)(current, source !== null && source !== void 0 ? source : APP_SOURCE, line.merchandise.id, lineType, delta, now)
111
+ : (0, attribution_1.recordRemove)(current, line.merchandise.id, lineType, -delta));
112
+ },
113
+ async restoreAttributes(base) {
114
+ return deps.enabled() ? restoredCartAttributes(deps.storage(), base) : base;
115
+ },
116
+ flushPending() {
117
+ if (!deps.enabled())
118
+ return Promise.resolve(true);
119
+ const target = version;
120
+ const forCart = cartId;
121
+ return deps
122
+ .serialize(async () => {
123
+ if (!forCart || cartId !== forCart)
124
+ return version === written;
125
+ if (written < target)
126
+ await flush(forCart);
127
+ return written >= target;
128
+ })
129
+ .catch(() => false);
130
+ },
131
+ };
132
+ }
133
+ //# sourceMappingURL=attributionRecorder.js.map