@tiledev/sdk-shopify 0.2.5

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 (84) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +269 -0
  3. package/dist/blogs.d.ts +3 -0
  4. package/dist/blogs.d.ts.map +1 -0
  5. package/dist/blogs.js +72 -0
  6. package/dist/blogs.js.map +1 -0
  7. package/dist/cart.d.ts +3 -0
  8. package/dist/cart.d.ts.map +1 -0
  9. package/dist/cart.js +96 -0
  10. package/dist/cart.js.map +1 -0
  11. package/dist/cartPolicy.d.ts +15 -0
  12. package/dist/cartPolicy.d.ts.map +1 -0
  13. package/dist/cartPolicy.js +74 -0
  14. package/dist/cartPolicy.js.map +1 -0
  15. package/dist/client.d.ts +15 -0
  16. package/dist/client.d.ts.map +1 -0
  17. package/dist/client.js +130 -0
  18. package/dist/client.js.map +1 -0
  19. package/dist/collections.d.ts +3 -0
  20. package/dist/collections.d.ts.map +1 -0
  21. package/dist/collections.js +44 -0
  22. package/dist/collections.js.map +1 -0
  23. package/dist/customer.d.ts +3 -0
  24. package/dist/customer.d.ts.map +1 -0
  25. package/dist/customer.js +124 -0
  26. package/dist/customer.js.map +1 -0
  27. package/dist/errors.d.ts +19 -0
  28. package/dist/errors.d.ts.map +1 -0
  29. package/dist/errors.js +63 -0
  30. package/dist/errors.js.map +1 -0
  31. package/dist/index.d.ts +11 -0
  32. package/dist/index.d.ts.map +1 -0
  33. package/dist/index.js +56 -0
  34. package/dist/index.js.map +1 -0
  35. package/dist/messages.d.ts +24 -0
  36. package/dist/messages.d.ts.map +1 -0
  37. package/dist/messages.js +81 -0
  38. package/dist/messages.js.map +1 -0
  39. package/dist/money.d.ts +18 -0
  40. package/dist/money.d.ts.map +1 -0
  41. package/dist/money.js +93 -0
  42. package/dist/money.js.map +1 -0
  43. package/dist/products.d.ts +6 -0
  44. package/dist/products.d.ts.map +1 -0
  45. package/dist/products.js +193 -0
  46. package/dist/products.js.map +1 -0
  47. package/dist/queries.d.ts +55 -0
  48. package/dist/queries.d.ts.map +1 -0
  49. package/dist/queries.js +582 -0
  50. package/dist/queries.js.map +1 -0
  51. package/dist/react/ShopifyProvider.d.ts +181 -0
  52. package/dist/react/ShopifyProvider.d.ts.map +1 -0
  53. package/dist/react/ShopifyProvider.js +785 -0
  54. package/dist/react/ShopifyProvider.js.map +1 -0
  55. package/dist/react/index.d.ts +3 -0
  56. package/dist/react/index.d.ts.map +1 -0
  57. package/dist/react/index.js +14 -0
  58. package/dist/react/index.js.map +1 -0
  59. package/dist/react/useTileCredit.d.ts +34 -0
  60. package/dist/react/useTileCredit.d.ts.map +1 -0
  61. package/dist/react/useTileCredit.js +96 -0
  62. package/dist/react/useTileCredit.js.map +1 -0
  63. package/dist/shopify.d.ts +3 -0
  64. package/dist/shopify.d.ts.map +1 -0
  65. package/dist/shopify.js +54 -0
  66. package/dist/shopify.js.map +1 -0
  67. package/dist/tileCredit.d.ts +64 -0
  68. package/dist/tileCredit.d.ts.map +1 -0
  69. package/dist/tileCredit.js +274 -0
  70. package/dist/tileCredit.js.map +1 -0
  71. package/dist/types.d.ts +785 -0
  72. package/dist/types.d.ts.map +1 -0
  73. package/dist/types.js +25 -0
  74. package/dist/types.js.map +1 -0
  75. package/dist/variants.d.ts +3 -0
  76. package/dist/variants.d.ts.map +1 -0
  77. package/dist/variants.js +67 -0
  78. package/dist/variants.js.map +1 -0
  79. package/dist/wishlist.d.ts +4 -0
  80. package/dist/wishlist.d.ts.map +1 -0
  81. package/dist/wishlist.js +232 -0
  82. package/dist/wishlist.js.map +1 -0
  83. package/package.json +63 -0
  84. package/react/package.json +6 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ShopifyProvider.js","sourceRoot":"","sources":["../../src/react/ShopifyProvider.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ export { ShopifyProvider, useShopify, useCart, useWishlist, useCustomer, useCheckout, useShopifyMessage, type ShopifyProviderProps, type ShopifyEvent, type ShopifyEventType, type CartState, type WishlistState, type CustomerState, type CheckoutState, } from "./ShopifyProvider";
2
+ export { useTileCredit, type UseTileCreditOptions, type UseTileCreditState, } from "./useTileCredit";
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/react/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,eAAe,EACf,UAAU,EACV,OAAO,EACP,WAAW,EACX,WAAW,EACX,WAAW,EACX,iBAAiB,EACjB,KAAK,oBAAoB,EACzB,KAAK,YAAY,EACjB,KAAK,gBAAgB,EACrB,KAAK,SAAS,EACd,KAAK,aAAa,EAClB,KAAK,aAAa,EAClB,KAAK,aAAa,GACnB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACL,aAAa,EACb,KAAK,oBAAoB,EACzB,KAAK,kBAAkB,GACxB,MAAM,iBAAiB,CAAC"}
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.useTileCredit = exports.useShopifyMessage = exports.useCheckout = exports.useCustomer = exports.useWishlist = exports.useCart = exports.useShopify = exports.ShopifyProvider = void 0;
4
+ var ShopifyProvider_1 = require("./ShopifyProvider");
5
+ Object.defineProperty(exports, "ShopifyProvider", { enumerable: true, get: function () { return ShopifyProvider_1.ShopifyProvider; } });
6
+ Object.defineProperty(exports, "useShopify", { enumerable: true, get: function () { return ShopifyProvider_1.useShopify; } });
7
+ Object.defineProperty(exports, "useCart", { enumerable: true, get: function () { return ShopifyProvider_1.useCart; } });
8
+ Object.defineProperty(exports, "useWishlist", { enumerable: true, get: function () { return ShopifyProvider_1.useWishlist; } });
9
+ Object.defineProperty(exports, "useCustomer", { enumerable: true, get: function () { return ShopifyProvider_1.useCustomer; } });
10
+ Object.defineProperty(exports, "useCheckout", { enumerable: true, get: function () { return ShopifyProvider_1.useCheckout; } });
11
+ Object.defineProperty(exports, "useShopifyMessage", { enumerable: true, get: function () { return ShopifyProvider_1.useShopifyMessage; } });
12
+ var useTileCredit_1 = require("./useTileCredit");
13
+ Object.defineProperty(exports, "useTileCredit", { enumerable: true, get: function () { return useTileCredit_1.useTileCredit; } });
14
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/react/index.ts"],"names":[],"mappings":";;;AAAA,qDAe2B;AAdzB,kHAAA,eAAe,OAAA;AACf,6GAAA,UAAU,OAAA;AACV,0GAAA,OAAO,OAAA;AACP,8GAAA,WAAW,OAAA;AACX,8GAAA,WAAW,OAAA;AACX,8GAAA,WAAW,OAAA;AACX,oHAAA,iBAAiB,OAAA;AASnB,iDAIyB;AAHvB,8GAAA,aAAa,OAAA"}
@@ -0,0 +1,34 @@
1
+ import type { Cart, TileCreditPublicConfig, TileCreditRedeemResult, TileCreditWallet } from '../types';
2
+ export interface UseTileCreditOptions {
3
+ /** Tile-credit service URL, no trailing slash. Optional — defaults to the
4
+ * hosted service (`https://tile-credit.apptile.io`). */
5
+ baseUrl?: string;
6
+ /** `shcat_…` or classic Storefront customer token. `null` when signed out. */
7
+ customerAccessToken: string | null;
8
+ /** `{shop}.myshopify.com`. */
9
+ shopDomain: string;
10
+ /** Auto-fetch wallet + config on mount / when the token changes. Default true. */
11
+ autoLoad?: boolean;
12
+ }
13
+ export interface UseTileCreditState {
14
+ ready: boolean;
15
+ wallet: TileCreditWallet | null;
16
+ config: TileCreditPublicConfig | null;
17
+ loading: boolean;
18
+ error: Error | null;
19
+ refresh: () => Promise<void>;
20
+ /** Redeem N cents and apply to the current cart (from `useCart`).
21
+ * Throws if no cart is loaded yet. */
22
+ redeemAndApply: (amountCents: number, opts?: {
23
+ idempotencyKey?: string;
24
+ reason?: string;
25
+ countryFallback?: string;
26
+ }) => Promise<{
27
+ redeemed: TileCreditRedeemResult;
28
+ cart: Cart;
29
+ }>;
30
+ /** Remove one or more applied gift cards from the current cart. */
31
+ removeAppliedGiftCards: (appliedGiftCardIds: string[]) => Promise<Cart>;
32
+ }
33
+ export declare function useTileCredit(opts: UseTileCreditOptions): UseTileCreditState;
34
+ //# sourceMappingURL=useTileCredit.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useTileCredit.d.ts","sourceRoot":"","sources":["../../src/react/useTileCredit.ts"],"names":[],"mappings":"AAaA,OAAO,KAAK,EACV,IAAI,EACJ,sBAAsB,EACtB,sBAAsB,EACtB,gBAAgB,EACjB,MAAM,UAAU,CAAC;AAElB,MAAM,WAAW,oBAAoB;IACnC;6DACyD;IACzD,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,8EAA8E;IAC9E,mBAAmB,EAAE,MAAM,GAAG,IAAI,CAAC;IACnC,8BAA8B;IAC9B,UAAU,EAAE,MAAM,CAAC;IACnB,kFAAkF;IAClF,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED,MAAM,WAAW,kBAAkB;IACjC,KAAK,EAAE,OAAO,CAAC;IACf,MAAM,EAAE,gBAAgB,GAAG,IAAI,CAAC;IAChC,MAAM,EAAE,sBAAsB,GAAG,IAAI,CAAC;IACtC,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;IACpB,OAAO,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAC7B;2CACuC;IACvC,cAAc,EAAE,CAAC,WAAW,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE;QAC3C,cAAc,CAAC,EAAE,MAAM,CAAC;QACxB,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,eAAe,CAAC,EAAE,MAAM,CAAC;KAC1B,KAAK,OAAO,CAAC;QAAE,QAAQ,EAAE,sBAAsB,CAAC;QAAC,IAAI,EAAE,IAAI,CAAA;KAAE,CAAC,CAAC;IAChE,mEAAmE;IACnE,sBAAsB,EAAE,CAAC,kBAAkB,EAAE,MAAM,EAAE,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CACzE;AAED,wBAAgB,aAAa,CAAC,IAAI,EAAE,oBAAoB,GAAG,kBAAkB,CAuF5E"}
@@ -0,0 +1,96 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.useTileCredit = useTileCredit;
4
+ /**
5
+ * useTileCredit — customer wallet + redeem hook.
6
+ *
7
+ * The hook keeps the client wired to the ShopifyProvider's cart so
8
+ * `redeemAndApply(amountCents)` mints a gift card AND applies it in one
9
+ * call. It re-configures the underlying client whenever the customer
10
+ * access token changes (rebuild the client on logout / new customer;
11
+ * the token is baked in for the lifetime of the instance).
12
+ */
13
+ const react_1 = require("react");
14
+ const shopify_1 = require("../shopify");
15
+ const tileCredit_1 = require("../tileCredit");
16
+ const ShopifyProvider_1 = require("./ShopifyProvider");
17
+ function useTileCredit(opts) {
18
+ const { baseUrl = tileCredit_1.DEFAULT_TILE_CREDIT_BASE_URL, customerAccessToken, shopDomain, autoLoad = true } = opts;
19
+ const cartState = (0, ShopifyProvider_1.useCart)();
20
+ const [wallet, setWallet] = (0, react_1.useState)(null);
21
+ const [config, setConfig] = (0, react_1.useState)(null);
22
+ const [loading, setLoading] = (0, react_1.useState)(false);
23
+ const [error, setError] = (0, react_1.useState)(null);
24
+ const [configured, setConfigured] = (0, react_1.useState)(false);
25
+ // (Re)configure the client whenever the token / domain / baseUrl changes.
26
+ (0, react_1.useEffect)(() => {
27
+ if (!customerAccessToken) {
28
+ setConfigured(false);
29
+ setWallet(null);
30
+ return;
31
+ }
32
+ shopify_1.shopify.tileCredit.configure({ baseUrl, customerAccessToken, shopDomain });
33
+ setConfigured(true);
34
+ }, [baseUrl, customerAccessToken, shopDomain]);
35
+ const refresh = (0, react_1.useCallback)(async () => {
36
+ if (!configured)
37
+ return;
38
+ const client = shopify_1.shopify.tileCredit.client();
39
+ if (!client)
40
+ return;
41
+ setLoading(true);
42
+ setError(null);
43
+ try {
44
+ const [w, c] = await Promise.all([client.getWallet(), client.getConfig()]);
45
+ setWallet(w);
46
+ setConfig(c);
47
+ }
48
+ catch (e) {
49
+ setError(e instanceof Error ? e : new Error(String(e)));
50
+ }
51
+ finally {
52
+ setLoading(false);
53
+ }
54
+ }, [configured]);
55
+ (0, react_1.useEffect)(() => {
56
+ if (autoLoad && configured)
57
+ void refresh();
58
+ }, [autoLoad, configured, refresh]);
59
+ const redeemAndApply = (0, react_1.useCallback)(async (amountCents, o = {}) => {
60
+ const currentCart = cartState.cart;
61
+ if (!currentCart)
62
+ throw new Error('useTileCredit.redeemAndApply: no cart loaded');
63
+ const result = await shopify_1.shopify.tileCredit.redeemAndApplyToCart({
64
+ cartId: currentCart.id,
65
+ amountCents,
66
+ idempotencyKey: o.idempotencyKey,
67
+ reason: o.reason,
68
+ countryFallback: o.countryFallback,
69
+ });
70
+ // Refresh the wallet so the balance debit shows in the UI.
71
+ void refresh();
72
+ // The convenience method already applied; refresh cart state so the
73
+ // provider re-emits with the new totals + appliedGiftCards.
74
+ await cartState.refresh();
75
+ return result;
76
+ }, [cartState, refresh]);
77
+ const removeAppliedGiftCards = (0, react_1.useCallback)(async (ids) => {
78
+ const currentCart = cartState.cart;
79
+ if (!currentCart)
80
+ throw new Error('useTileCredit.removeAppliedGiftCards: no cart loaded');
81
+ const next = await shopify_1.shopify.cart.removeGiftCardCodes(currentCart.id, ids);
82
+ await cartState.refresh();
83
+ return next;
84
+ }, [cartState]);
85
+ return (0, react_1.useMemo)(() => ({
86
+ ready: configured && !loading && (wallet !== null || error !== null),
87
+ wallet,
88
+ config,
89
+ loading,
90
+ error,
91
+ refresh,
92
+ redeemAndApply,
93
+ removeAppliedGiftCards,
94
+ }), [configured, wallet, config, loading, error, refresh, redeemAndApply, removeAppliedGiftCards]);
95
+ }
96
+ //# sourceMappingURL=useTileCredit.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useTileCredit.js","sourceRoot":"","sources":["../../src/react/useTileCredit.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import type { ShopifyIntegration } from './types';
2
+ export declare const shopify: ShopifyIntegration;
3
+ //# sourceMappingURL=shopify.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"shopify.d.ts","sourceRoot":"","sources":["../src/shopify.ts"],"names":[],"mappings":"AAeA,OAAO,KAAK,EAAiB,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAEjE,eAAO,MAAM,OAAO,EAAE,kBAkCrB,CAAC"}
@@ -0,0 +1,54 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.shopify = void 0;
4
+ // Separate from index.ts so ShopifyProvider can import the facade without going
5
+ // through the barrel — that would be a require cycle, which minified bundles
6
+ // resolve to `undefined` (React error #130). Direction: index -> react -> shopify.
7
+ const blogs_1 = require("./blogs");
8
+ const cart_1 = require("./cart");
9
+ const collections_1 = require("./collections");
10
+ const customer_1 = require("./customer");
11
+ const products_1 = require("./products");
12
+ const variants_1 = require("./variants");
13
+ const wishlist_1 = require("./wishlist");
14
+ const client_1 = require("./client");
15
+ const money_1 = require("./money");
16
+ const cartPolicy_1 = require("./cartPolicy");
17
+ const messages_1 = require("./messages");
18
+ const tileCredit_1 = require("./tileCredit");
19
+ exports.shopify = {
20
+ async init(config) {
21
+ (0, client_1.setConfig)(config);
22
+ // Alert copy and cart rules are usable before the network settles — a
23
+ // limit refusal or an offline error toast must not wait on shop.load().
24
+ (0, messages_1.setMessages)(config.messages);
25
+ (0, messages_1.setMessageResolver)(config.translate);
26
+ (0, cartPolicy_1.setCartPolicy)(config.cart);
27
+ await money_1.shop.load();
28
+ },
29
+ isReady() {
30
+ return (0, client_1.isConfigured)();
31
+ },
32
+ isMock: false,
33
+ products: products_1.products,
34
+ variants: variants_1.variants,
35
+ collections: collections_1.collections,
36
+ cart: cart_1.cart,
37
+ customer: customer_1.customer,
38
+ blogs: blogs_1.blogs,
39
+ wishlist: wishlist_1.wishlist,
40
+ shop: money_1.shop,
41
+ formatMoney: money_1.formatMoney,
42
+ alerts: {
43
+ message: messages_1.message,
44
+ setMessages: messages_1.setMessages,
45
+ patchMessages: messages_1.patchMessages,
46
+ setPolicy: cartPolicy_1.setCartPolicy,
47
+ },
48
+ tileCredit: {
49
+ configure: tileCredit_1.configureTileCredit,
50
+ client: tileCredit_1.getTileCreditClient,
51
+ redeemAndApplyToCart: tileCredit_1.redeemAndApplyToCart,
52
+ },
53
+ };
54
+ //# sourceMappingURL=shopify.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"shopify.js","sourceRoot":"","sources":["../src/shopify.ts"],"names":[],"mappings":";;;AAAA,gFAAgF;AAChF,6EAA6E;AAC7E,mFAAmF;AACnF,mCAAgC;AAChC,iCAA8B;AAC9B,+CAA4C;AAC5C,yCAAsC;AACtC,yCAAsC;AACtC,yCAAsC;AACtC,yCAAsC;AACtC,qCAAmD;AACnD,mCAA4C;AAC5C,6CAA6C;AAC7C,yCAAqF;AACrF,6CAA8F;AAGjF,QAAA,OAAO,GAAuB;IACzC,KAAK,CAAC,IAAI,CAAC,MAAqB;QAC9B,IAAA,kBAAS,EAAC,MAAM,CAAC,CAAC;QAClB,sEAAsE;QACtE,wEAAwE;QACxE,IAAA,sBAAW,EAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QAC7B,IAAA,6BAAkB,EAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QACrC,IAAA,0BAAa,EAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAC3B,MAAM,YAAI,CAAC,IAAI,EAAE,CAAC;IACpB,CAAC;IACD,OAAO;QACL,OAAO,IAAA,qBAAY,GAAE,CAAC;IACxB,CAAC;IACD,MAAM,EAAE,KAAK;IACb,QAAQ,EAAR,mBAAQ;IACR,QAAQ,EAAR,mBAAQ;IACR,WAAW,EAAX,yBAAW;IACX,IAAI,EAAJ,WAAI;IACJ,QAAQ,EAAR,mBAAQ;IACR,KAAK,EAAL,aAAK;IACL,QAAQ,EAAR,mBAAQ;IACR,IAAI,EAAJ,YAAI;IACJ,WAAW,EAAX,mBAAW;IACX,MAAM,EAAE;QACN,OAAO,EAAP,kBAAO;QACP,WAAW,EAAX,sBAAW;QACX,aAAa,EAAb,wBAAa;QACb,SAAS,EAAE,0BAAa;KACzB;IACD,UAAU,EAAE;QACV,SAAS,EAAE,gCAAmB;QAC9B,MAAM,EAAE,gCAAmB;QAC3B,oBAAoB,EAApB,iCAAoB;KACrB;CACF,CAAC"}
@@ -0,0 +1,64 @@
1
+ import type { Cart, TileCreditAPI, TileCreditConfig, TileCreditHistoryPage, TileCreditIssuedGiftCard, TileCreditLedgerPage, TileCreditPublicConfig, TileCreditRedeemInput, TileCreditRedeemResult, TileCreditWallet } from './types';
2
+ /** `1500 → "15.00"`. Use everywhere the wire cents get rendered — never
3
+ * hand-roll `amount / 100`. Negatives keep the sign. */
4
+ export declare function centsToMoney(cents: number): string;
5
+ /** `"15.00" | 15.0 → 1500`. Rounds half-up on the second decimal. */
6
+ export declare function moneyToCents(money: string | number): number;
7
+ /** Default tile-credit service base URL when the caller doesn't supply one. */
8
+ export declare const DEFAULT_TILE_CREDIT_BASE_URL = "https://tile-credit.apptile.io";
9
+ export declare class TileCreditClient implements TileCreditAPI {
10
+ private readonly baseUrl;
11
+ private readonly token;
12
+ private readonly shopDomain;
13
+ private readonly signal?;
14
+ private readonly timeoutMs;
15
+ constructor(config: TileCreditConfig);
16
+ private call;
17
+ getWallet(): Promise<TileCreditWallet>;
18
+ getLedger(opts?: {
19
+ limit?: number;
20
+ before?: string;
21
+ }): Promise<TileCreditLedgerPage>;
22
+ listGiftCards(): Promise<{
23
+ giftCards: TileCreditIssuedGiftCard[];
24
+ }>;
25
+ getConfig(): Promise<TileCreditPublicConfig>;
26
+ /**
27
+ * Ledger + gift-cards joined into one history feed (docs §4.6). Each redeem
28
+ * row gets `.card` populated with the masked info (last4 / status / expiry)
29
+ * so you can render "•••• adf7 · depleted" in one pass. Non-redeem rows
30
+ * pass through unchanged with `card: null`.
31
+ *
32
+ * Note: the join happens client-side. If you paginate the ledger with a
33
+ * cursor, the gift-cards call is a full re-fetch on every page — cache the
34
+ * `giftCards` map at the caller if you paginate deep.
35
+ */
36
+ getHistory(opts?: {
37
+ limit?: number;
38
+ before?: string;
39
+ }): Promise<TileCreditHistoryPage>;
40
+ redeem(input: TileCreditRedeemInput): Promise<TileCreditRedeemResult>;
41
+ }
42
+ /** Configure the singleton client for the current customer session. Safe to
43
+ * call multiple times — replaces the instance. Rebuild on logout / new
44
+ * customer (`token` is baked in for the lifetime of the instance). */
45
+ export declare function configureTileCredit(config: TileCreditConfig): TileCreditAPI;
46
+ export declare function getTileCreditClient(): TileCreditAPI | null;
47
+ /**
48
+ * Mint a gift card and apply it to the given cart — the "one function that
49
+ * does it all" from the integration guide (§5.7). If `countryFallback` is
50
+ * omitted, the shop's `localization.country.isoCode` is used. The buyer
51
+ * identity update is a no-op when the cart already has a countryCode, so
52
+ * calling this on a freshly created cart is safe.
53
+ */
54
+ export declare function redeemAndApplyToCart(opts: {
55
+ cartId: string;
56
+ amountCents: number;
57
+ idempotencyKey?: string;
58
+ reason?: string;
59
+ countryFallback?: string;
60
+ }): Promise<{
61
+ redeemed: TileCreditRedeemResult;
62
+ cart: Cart;
63
+ }>;
64
+ //# sourceMappingURL=tileCredit.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tileCredit.d.ts","sourceRoot":"","sources":["../src/tileCredit.ts"],"names":[],"mappings":"AAgBA,OAAO,KAAK,EACV,IAAI,EACJ,aAAa,EACb,gBAAgB,EAIhB,qBAAqB,EACrB,wBAAwB,EAExB,oBAAoB,EACpB,sBAAsB,EACtB,qBAAqB,EACrB,sBAAsB,EACtB,gBAAgB,EACjB,MAAM,SAAS,CAAC;AAOjB;yDACyD;AACzD,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAMlD;AAED,qEAAqE;AACrE,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,CAI3D;AA4BD,+EAA+E;AAC/E,eAAO,MAAM,4BAA4B,mCAAmC,CAAC;AAE7E,qBAAa,gBAAiB,YAAW,aAAa;IACpD,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IACjC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAS;IAC/B,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAS;IACpC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAc;IACtC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;gBAEvB,MAAM,EAAE,gBAAgB;YAatB,IAAI;IA+CZ,SAAS,IAAI,OAAO,CAAC,gBAAgB,CAAC;IAYtC,SAAS,CAAC,IAAI,GAAE;QAAE,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAO,GAAG,OAAO,CAAC,oBAAoB,CAAC;IASxF,aAAa,IAAI,OAAO,CAAC;QAAE,SAAS,EAAE,wBAAwB,EAAE,CAAA;KAAE,CAAC;IAKnE,SAAS,IAAI,OAAO,CAAC,sBAAsB,CAAC;IASlD;;;;;;;;;OASG;IACG,UAAU,CAAC,IAAI,GAAE;QAAE,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAO,GAAG,OAAO,CAAC,qBAAqB,CAAC;IAuB1F,MAAM,CAAC,KAAK,EAAE,qBAAqB,GAAG,OAAO,CAAC,sBAAsB,CAAC;CAW5E;AAQD;;uEAEuE;AACvE,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,gBAAgB,GAAG,aAAa,CAG3E;AAED,wBAAgB,mBAAmB,IAAI,aAAa,GAAG,IAAI,CAE1D;AAED;;;;;;GAMG;AACH,wBAAsB,oBAAoB,CAAC,IAAI,EAAE;IAC/C,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;IACpB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B,GAAG,OAAO,CAAC;IAAE,QAAQ,EAAE,sBAAsB,CAAC;IAAC,IAAI,EAAE,IAAI,CAAA;CAAE,CAAC,CAwB5D"}
@@ -0,0 +1,274 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.TileCreditClient = exports.DEFAULT_TILE_CREDIT_BASE_URL = void 0;
4
+ exports.centsToMoney = centsToMoney;
5
+ exports.moneyToCents = moneyToCents;
6
+ exports.configureTileCredit = configureTileCredit;
7
+ exports.getTileCreditClient = getTileCreditClient;
8
+ exports.redeemAndApplyToCart = redeemAndApplyToCart;
9
+ /**
10
+ * Tile Credit — customer wallet + gift-card mint client.
11
+ *
12
+ * A typed, error-normalized wrapper around the tile-credit Cloud Run
13
+ * service. Talks to `/public/*` on behalf of one signed-in customer.
14
+ * The service resolves shop → appId internally; callers never pass an
15
+ * appId, only the shop domain + the customer access token.
16
+ *
17
+ * See `docs/tile-credit-integration.md` for the mobile flow (wallet
18
+ * screen → redeem sheet → apply to cart), the idempotency contract, and
19
+ * the error taxonomy. This file is deliberately dependency-free (pure
20
+ * `fetch`) so it can be lifted into any tile SDK.
21
+ */
22
+ const client_1 = require("./client");
23
+ const cart_1 = require("./cart");
24
+ const money_1 = require("./money");
25
+ const types_1 = require("./types");
26
+ // ---------------------------------------------------------------------------
27
+ // Helpers
28
+ // ---------------------------------------------------------------------------
29
+ /** `1500 → "15.00"`. Use everywhere the wire cents get rendered — never
30
+ * hand-roll `amount / 100`. Negatives keep the sign. */
31
+ function centsToMoney(cents) {
32
+ const sign = cents < 0 ? '-' : '';
33
+ const abs = Math.abs(cents);
34
+ const whole = Math.floor(abs / 100);
35
+ const frac = String(abs % 100).padStart(2, '0');
36
+ return `${sign}${whole}.${frac}`;
37
+ }
38
+ /** `"15.00" | 15.0 → 1500`. Rounds half-up on the second decimal. */
39
+ function moneyToCents(money) {
40
+ const n = typeof money === 'string' ? parseFloat(money) : money;
41
+ if (!isFinite(n))
42
+ return 0;
43
+ return Math.round(n * 100);
44
+ }
45
+ function randomKey(prefix = 'redeem') {
46
+ // Not a security-grade token — just enough to disambiguate retries.
47
+ const rand = Math.random().toString(36).slice(2, 10);
48
+ const ts = Math.floor(Date.now() / 1000).toString(36);
49
+ return `${prefix}-${ts}-${rand}`;
50
+ }
51
+ function statusToCode(status, bodyMsg) {
52
+ if (status === 401)
53
+ return 'unauthorized';
54
+ if (status === 403)
55
+ return 'forbidden';
56
+ if (status === 404)
57
+ return 'not_found';
58
+ if (status === 400)
59
+ return 'validation';
60
+ if (status === 402)
61
+ return 'insufficient_balance';
62
+ if (status === 409)
63
+ return 'conflict';
64
+ if (status === 429)
65
+ return 'rate_limited';
66
+ if (status === 502)
67
+ return 'shopify_upstream';
68
+ if (status >= 500)
69
+ return 'internal';
70
+ return 'internal';
71
+ }
72
+ // ---------------------------------------------------------------------------
73
+ // Client
74
+ // ---------------------------------------------------------------------------
75
+ const DEFAULT_TIMEOUT = 20000;
76
+ /** Default tile-credit service base URL when the caller doesn't supply one. */
77
+ exports.DEFAULT_TILE_CREDIT_BASE_URL = 'https://tile-credit.apptile.io';
78
+ class TileCreditClient {
79
+ constructor(config) {
80
+ var _a;
81
+ if (!config.customerAccessToken)
82
+ throw new Error('TileCreditClient: customerAccessToken is required');
83
+ if (!config.shopDomain)
84
+ throw new Error('TileCreditClient: shopDomain is required');
85
+ // baseUrl is optional — falls back to the hosted tile-credit service.
86
+ this.baseUrl = (config.baseUrl || exports.DEFAULT_TILE_CREDIT_BASE_URL).replace(/\/+$/, '');
87
+ this.token = config.customerAccessToken;
88
+ this.shopDomain = config.shopDomain.toLowerCase();
89
+ this.signal = config.signal;
90
+ this.timeoutMs = (_a = config.timeoutMs) !== null && _a !== void 0 ? _a : DEFAULT_TIMEOUT;
91
+ }
92
+ // ─── HTTP core ──────────────────────────────────────────────────────────
93
+ async call(path, init = {}) {
94
+ var _a, _b;
95
+ // Combine the constructor signal with a per-request timeout signal so
96
+ // either can cancel the fetch; AbortController.abort() is idempotent.
97
+ const controller = new AbortController();
98
+ const timer = setTimeout(() => controller.abort(), this.timeoutMs);
99
+ const outerAbort = () => controller.abort();
100
+ if (this.signal) {
101
+ if (this.signal.aborted)
102
+ controller.abort();
103
+ else
104
+ this.signal.addEventListener('abort', outerAbort);
105
+ }
106
+ const url = `${this.baseUrl}${path}`;
107
+ try {
108
+ const res = await fetch(url, {
109
+ method: (_a = init.method) !== null && _a !== void 0 ? _a : 'GET',
110
+ headers: {
111
+ 'content-type': 'application/json',
112
+ accept: 'application/json',
113
+ Authorization: `Customer ${this.token}`,
114
+ 'x-shopify-shop-domain': this.shopDomain,
115
+ },
116
+ body: init.body === undefined ? undefined : JSON.stringify(init.body),
117
+ signal: controller.signal,
118
+ });
119
+ const text = await res.text();
120
+ let body = null;
121
+ if (text) {
122
+ try {
123
+ body = JSON.parse(text);
124
+ }
125
+ catch {
126
+ body = { error: text.slice(0, 500) };
127
+ }
128
+ }
129
+ if (!res.ok) {
130
+ const code = statusToCode(res.status);
131
+ const msg = (body && (body.message || body.error)) || `${res.status} ${res.statusText}`;
132
+ throw new types_1.TileCreditError(code, msg, res.status, (_b = body === null || body === void 0 ? void 0 : body.details) !== null && _b !== void 0 ? _b : undefined);
133
+ }
134
+ return body;
135
+ }
136
+ catch (e) {
137
+ if (e instanceof types_1.TileCreditError)
138
+ throw e;
139
+ // fetch throws on network / timeout / abort — normalize to `network`.
140
+ const msg = e instanceof Error ? e.message : String(e);
141
+ throw new types_1.TileCreditError('network', `${url} → ${msg}`);
142
+ }
143
+ finally {
144
+ clearTimeout(timer);
145
+ if (this.signal)
146
+ this.signal.removeEventListener('abort', outerAbort);
147
+ }
148
+ }
149
+ // ─── Public API — one method per endpoint (docs §4) ─────────────────────
150
+ async getWallet() {
151
+ const raw = await this.call('/public/me');
152
+ return {
153
+ appId: raw.appId,
154
+ customer: raw.customer,
155
+ balanceCents: raw.balanceCents,
156
+ lifetimeEarnedCents: raw.lifetimeEarnedCents,
157
+ lifetimeRedeemedCents: raw.lifetimeRedeemedCents,
158
+ expiringCents: raw.expiringCents,
159
+ };
160
+ }
161
+ async getLedger(opts = {}) {
162
+ var _a, _b;
163
+ const q = new URLSearchParams();
164
+ if (opts.limit)
165
+ q.set('limit', String(opts.limit));
166
+ if (opts.before)
167
+ q.set('before', opts.before);
168
+ const path = `/public/me/ledger${q.toString() ? `?${q}` : ''}`;
169
+ const raw = await this.call(path);
170
+ return { entries: (_a = raw.entries) !== null && _a !== void 0 ? _a : [], nextCursor: (_b = raw.nextCursor) !== null && _b !== void 0 ? _b : null };
171
+ }
172
+ async listGiftCards() {
173
+ var _a;
174
+ const raw = await this.call('/public/me/gift-cards');
175
+ return { giftCards: (_a = raw.giftCards) !== null && _a !== void 0 ? _a : [] };
176
+ }
177
+ async getConfig() {
178
+ var _a, _b;
179
+ const raw = await this.call('/public/config');
180
+ return {
181
+ currency: raw.currency,
182
+ redemptionMinCents: (_a = raw.redemptionMinCents) !== null && _a !== void 0 ? _a : 0,
183
+ redemptionMaxCents: (_b = raw.redemptionMaxCents) !== null && _b !== void 0 ? _b : null,
184
+ };
185
+ }
186
+ /**
187
+ * Ledger + gift-cards joined into one history feed (docs §4.6). Each redeem
188
+ * row gets `.card` populated with the masked info (last4 / status / expiry)
189
+ * so you can render "•••• adf7 · depleted" in one pass. Non-redeem rows
190
+ * pass through unchanged with `card: null`.
191
+ *
192
+ * Note: the join happens client-side. If you paginate the ledger with a
193
+ * cursor, the gift-cards call is a full re-fetch on every page — cache the
194
+ * `giftCards` map at the caller if you paginate deep.
195
+ */
196
+ async getHistory(opts = {}) {
197
+ const [ledger, cards] = await Promise.all([
198
+ this.getLedger(opts),
199
+ this.listGiftCards(),
200
+ ]);
201
+ const cardByGid = new Map(cards.giftCards.map((g) => [g.shopifyGiftCardGid, g]));
202
+ const entries = ledger.entries.map((entry) => {
203
+ const card = entry.giftCardGid ? cardByGid.get(entry.giftCardGid) : undefined;
204
+ return {
205
+ ...entry,
206
+ card: card ? {
207
+ last4: card.last4,
208
+ status: card.status,
209
+ expiresAt: card.expiresAt,
210
+ initialAmountCents: card.initialAmountCents,
211
+ } : null,
212
+ };
213
+ });
214
+ return { entries, nextCursor: ledger.nextCursor };
215
+ }
216
+ async redeem(input) {
217
+ var _a;
218
+ if (!Number.isFinite(input.amountCents) || input.amountCents <= 0) {
219
+ throw new types_1.TileCreditError('validation', 'amountCents must be a positive integer');
220
+ }
221
+ const body = {
222
+ amountCents: input.amountCents,
223
+ idempotencyKey: (_a = input.idempotencyKey) !== null && _a !== void 0 ? _a : randomKey('redeem'),
224
+ reason: input.reason,
225
+ };
226
+ return this.call('/public/me/redeem', { method: 'POST', body });
227
+ }
228
+ }
229
+ exports.TileCreditClient = TileCreditClient;
230
+ // ---------------------------------------------------------------------------
231
+ // Facade — configured once, reused across screens (docs §7)
232
+ // ---------------------------------------------------------------------------
233
+ let activeClient = null;
234
+ /** Configure the singleton client for the current customer session. Safe to
235
+ * call multiple times — replaces the instance. Rebuild on logout / new
236
+ * customer (`token` is baked in for the lifetime of the instance). */
237
+ function configureTileCredit(config) {
238
+ activeClient = new TileCreditClient(config);
239
+ return activeClient;
240
+ }
241
+ function getTileCreditClient() {
242
+ return activeClient;
243
+ }
244
+ /**
245
+ * Mint a gift card and apply it to the given cart — the "one function that
246
+ * does it all" from the integration guide (§5.7). If `countryFallback` is
247
+ * omitted, the shop's `localization.country.isoCode` is used. The buyer
248
+ * identity update is a no-op when the cart already has a countryCode, so
249
+ * calling this on a freshly created cart is safe.
250
+ */
251
+ async function redeemAndApplyToCart(opts) {
252
+ var _a, _b, _c;
253
+ if (!activeClient) {
254
+ throw new types_1.TileCreditError('unauthorized', 'Tile Credit not configured — call shopify.tileCredit.configure(...)');
255
+ }
256
+ // Ensure the Shopify SDK is initialized — we need its Storefront client
257
+ // to run cartBuyerIdentityUpdate + cartGiftCardCodesUpdate below.
258
+ (0, client_1.getConfig)(); // throws with a friendly message if init() wasn't called
259
+ // 1. Mint the credit (idempotent — pass a key if you want crash-safe retry).
260
+ const redeemed = await activeClient.redeem({
261
+ amountCents: opts.amountCents,
262
+ idempotencyKey: opts.idempotencyKey,
263
+ reason: (_a = opts.reason) !== null && _a !== void 0 ? _a : 'Wallet redemption',
264
+ });
265
+ // 2. Ensure the cart has a buyerIdentity.countryCode so Shopify accepts
266
+ // the gift card as a payment tender. No-op if already set to the same
267
+ // value; belt-and-suspenders per the integration guide.
268
+ const country = (_c = (_b = opts.countryFallback) !== null && _b !== void 0 ? _b : (await money_1.shop.countryCode())) !== null && _c !== void 0 ? _c : 'US';
269
+ await cart_1.cart.setBuyerIdentity(opts.cartId, { countryCode: country });
270
+ // 3. Apply. `applyGiftCardCodes` asserts no userErrors internally.
271
+ const cart = await cart_1.cart.applyGiftCardCodes(opts.cartId, [redeemed.code]);
272
+ return { redeemed, cart };
273
+ }
274
+ //# sourceMappingURL=tileCredit.js.map