@fragno-dev/stripe 0.0.2 → 0.1.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.
package/README.md CHANGED
@@ -29,6 +29,13 @@ import { createStripeFragmentClient } from "@fragno-dev/stripe/react";
29
29
  export const stripeClient = createStripeFragmentClient();
30
30
  ```
31
31
 
32
+ The client provides the following hooks:
33
+
34
+ - `upgradeSubscription()`: Create or update a subscription
35
+ - `cancelSubscription()`: Cancel an existing subscription
36
+ - `useBillingPortal()`: Redirect to Stripe's billing portal for managing payment methods and billing
37
+ details
38
+
32
39
  ## Build
33
40
 
34
41
  ```bash
@@ -1,108 +1,108 @@
1
- import { FragnoPublicClientConfig } from "@fragno-dev/core";
2
- import * as zod397 from "zod";
3
- import * as zod_v4_core29 from "zod/v4/core";
1
+ import * as zod619 from "zod";
2
+ import * as zod_v4_core48 from "zod/v4/core";
4
3
  import * as _fragno_dev_core_react0 from "@fragno-dev/core/react";
5
- import * as _fragno_dev_core_api8 from "@fragno-dev/core/api";
4
+ import * as _fragno_dev_core_api5 from "@fragno-dev/core/api";
5
+ import { FragnoPublicClientConfig } from "@fragno-dev/core/client";
6
6
 
7
7
  //#region src/client/react.d.ts
8
8
  declare function createStripeFragmentClient(config?: FragnoPublicClientConfig): {
9
- useCustomers: _fragno_dev_core_react0.FragnoReactHook<"GET", "/admin/customers", zod397.ZodObject<{
10
- customers: zod397.ZodArray<zod397.ZodObject<{
11
- id: zod397.ZodString;
12
- object: zod397.ZodLiteral<"customer">;
13
- balance: zod397.ZodNumber;
14
- business_name: zod397.ZodOptional<zod397.ZodString>;
15
- created: zod397.ZodNumber;
16
- currency: zod397.ZodOptional<zod397.ZodNullable<zod397.ZodString>>;
17
- deleted: zod397.ZodOptional<zod397.ZodVoid>;
18
- delinquent: zod397.ZodOptional<zod397.ZodNullable<zod397.ZodBoolean>>;
19
- description: zod397.ZodNullable<zod397.ZodString>;
20
- email: zod397.ZodNullable<zod397.ZodString>;
21
- individual_name: zod397.ZodOptional<zod397.ZodString>;
22
- invoice_credit_balance: zod397.ZodOptional<zod397.ZodRecord<zod397.ZodString, zod397.ZodNumber>>;
23
- invoice_prefix: zod397.ZodOptional<zod397.ZodNullable<zod397.ZodString>>;
24
- livemode: zod397.ZodBoolean;
25
- metadata: zod397.ZodRecord<zod397.ZodString, zod397.ZodString>;
26
- name: zod397.ZodOptional<zod397.ZodNullable<zod397.ZodString>>;
27
- next_invoice_sequence: zod397.ZodOptional<zod397.ZodNumber>;
28
- phone: zod397.ZodOptional<zod397.ZodNullable<zod397.ZodString>>;
29
- preferred_locales: zod397.ZodOptional<zod397.ZodNullable<zod397.ZodArray<zod397.ZodString>>>;
30
- }, zod_v4_core29.$strip>>;
31
- hasMore: zod397.ZodBoolean;
32
- }, zod_v4_core29.$strip>, string, string>;
33
- useProducts: _fragno_dev_core_react0.FragnoReactHook<"GET", "/admin/products", zod397.ZodObject<{
34
- products: zod397.ZodArray<zod397.ZodObject<{
35
- id: zod397.ZodString;
36
- object: zod397.ZodLiteral<"product">;
37
- active: zod397.ZodBoolean;
38
- created: zod397.ZodNumber;
39
- default_price: zod397.ZodOptional<zod397.ZodNullable<zod397.ZodUnion<readonly [zod397.ZodString, zod397.ZodAny]>>>;
40
- deleted: zod397.ZodOptional<zod397.ZodVoid>;
41
- description: zod397.ZodNullable<zod397.ZodString>;
42
- images: zod397.ZodArray<zod397.ZodString>;
43
- livemode: zod397.ZodBoolean;
44
- marketing_features: zod397.ZodArray<zod397.ZodAny>;
45
- metadata: zod397.ZodAny;
46
- name: zod397.ZodString;
47
- package_dimensions: zod397.ZodNullable<zod397.ZodAny>;
48
- shippable: zod397.ZodNullable<zod397.ZodBoolean>;
49
- statement_descriptor: zod397.ZodOptional<zod397.ZodNullable<zod397.ZodString>>;
50
- tax_code: zod397.ZodNullable<zod397.ZodUnion<readonly [zod397.ZodString, zod397.ZodAny]>>;
51
- type: zod397.ZodString;
52
- unit_label: zod397.ZodOptional<zod397.ZodNullable<zod397.ZodString>>;
53
- updated: zod397.ZodNumber;
54
- url: zod397.ZodNullable<zod397.ZodString>;
55
- }, zod_v4_core29.$strip>>;
56
- hasMore: zod397.ZodBoolean;
57
- }, zod_v4_core29.$strip>, string, string>;
58
- usePrices: _fragno_dev_core_react0.FragnoReactHook<"GET", "/admin/products/:productId/prices", zod397.ZodObject<{
59
- prices: zod397.ZodArray<zod397.ZodObject<{
60
- id: zod397.ZodString;
61
- object: zod397.ZodLiteral<"price">;
62
- active: zod397.ZodBoolean;
63
- billing_scheme: zod397.ZodString;
64
- created: zod397.ZodNumber;
65
- currency: zod397.ZodString;
66
- custom_unit_amount: zod397.ZodOptional<zod397.ZodNullable<zod397.ZodAny>>;
67
- deleted: zod397.ZodOptional<zod397.ZodVoid>;
68
- livemode: zod397.ZodBoolean;
69
- lookup_key: zod397.ZodOptional<zod397.ZodNullable<zod397.ZodString>>;
70
- metadata: zod397.ZodAny;
71
- nickname: zod397.ZodOptional<zod397.ZodNullable<zod397.ZodString>>;
72
- product: zod397.ZodUnion<readonly [zod397.ZodString, zod397.ZodAny]>;
73
- recurring: zod397.ZodOptional<zod397.ZodNullable<zod397.ZodObject<{
74
- aggregate_usage: zod397.ZodOptional<zod397.ZodNullable<zod397.ZodString>>;
75
- interval: zod397.ZodEnum<{
9
+ useCustomers: _fragno_dev_core_react0.FragnoReactHook<"GET", "/admin/customers", zod619.ZodObject<{
10
+ customers: zod619.ZodArray<zod619.ZodObject<{
11
+ id: zod619.ZodString;
12
+ object: zod619.ZodLiteral<"customer">;
13
+ balance: zod619.ZodNumber;
14
+ business_name: zod619.ZodOptional<zod619.ZodString>;
15
+ created: zod619.ZodNumber;
16
+ currency: zod619.ZodOptional<zod619.ZodNullable<zod619.ZodString>>;
17
+ deleted: zod619.ZodOptional<zod619.ZodVoid>;
18
+ delinquent: zod619.ZodOptional<zod619.ZodNullable<zod619.ZodBoolean>>;
19
+ description: zod619.ZodNullable<zod619.ZodString>;
20
+ email: zod619.ZodNullable<zod619.ZodString>;
21
+ individual_name: zod619.ZodOptional<zod619.ZodString>;
22
+ invoice_credit_balance: zod619.ZodOptional<zod619.ZodRecord<zod619.ZodString, zod619.ZodNumber>>;
23
+ invoice_prefix: zod619.ZodOptional<zod619.ZodNullable<zod619.ZodString>>;
24
+ livemode: zod619.ZodBoolean;
25
+ metadata: zod619.ZodRecord<zod619.ZodString, zod619.ZodString>;
26
+ name: zod619.ZodOptional<zod619.ZodNullable<zod619.ZodString>>;
27
+ next_invoice_sequence: zod619.ZodOptional<zod619.ZodNumber>;
28
+ phone: zod619.ZodOptional<zod619.ZodNullable<zod619.ZodString>>;
29
+ preferred_locales: zod619.ZodOptional<zod619.ZodNullable<zod619.ZodArray<zod619.ZodString>>>;
30
+ }, zod_v4_core48.$strip>>;
31
+ hasMore: zod619.ZodBoolean;
32
+ }, zod_v4_core48.$strip>, string, string>;
33
+ useProducts: _fragno_dev_core_react0.FragnoReactHook<"GET", "/admin/products", zod619.ZodObject<{
34
+ products: zod619.ZodArray<zod619.ZodObject<{
35
+ id: zod619.ZodString;
36
+ object: zod619.ZodLiteral<"product">;
37
+ active: zod619.ZodBoolean;
38
+ created: zod619.ZodNumber;
39
+ default_price: zod619.ZodOptional<zod619.ZodNullable<zod619.ZodUnion<readonly [zod619.ZodString, zod619.ZodAny]>>>;
40
+ deleted: zod619.ZodOptional<zod619.ZodVoid>;
41
+ description: zod619.ZodNullable<zod619.ZodString>;
42
+ images: zod619.ZodArray<zod619.ZodString>;
43
+ livemode: zod619.ZodBoolean;
44
+ marketing_features: zod619.ZodArray<zod619.ZodAny>;
45
+ metadata: zod619.ZodAny;
46
+ name: zod619.ZodString;
47
+ package_dimensions: zod619.ZodNullable<zod619.ZodAny>;
48
+ shippable: zod619.ZodNullable<zod619.ZodBoolean>;
49
+ statement_descriptor: zod619.ZodOptional<zod619.ZodNullable<zod619.ZodString>>;
50
+ tax_code: zod619.ZodNullable<zod619.ZodUnion<readonly [zod619.ZodString, zod619.ZodAny]>>;
51
+ type: zod619.ZodString;
52
+ unit_label: zod619.ZodOptional<zod619.ZodNullable<zod619.ZodString>>;
53
+ updated: zod619.ZodNumber;
54
+ url: zod619.ZodNullable<zod619.ZodString>;
55
+ }, zod_v4_core48.$strip>>;
56
+ hasMore: zod619.ZodBoolean;
57
+ }, zod_v4_core48.$strip>, string, string>;
58
+ usePrices: _fragno_dev_core_react0.FragnoReactHook<"GET", "/admin/products/:productId/prices", zod619.ZodObject<{
59
+ prices: zod619.ZodArray<zod619.ZodObject<{
60
+ id: zod619.ZodString;
61
+ object: zod619.ZodLiteral<"price">;
62
+ active: zod619.ZodBoolean;
63
+ billing_scheme: zod619.ZodString;
64
+ created: zod619.ZodNumber;
65
+ currency: zod619.ZodString;
66
+ custom_unit_amount: zod619.ZodOptional<zod619.ZodNullable<zod619.ZodAny>>;
67
+ deleted: zod619.ZodOptional<zod619.ZodVoid>;
68
+ livemode: zod619.ZodBoolean;
69
+ lookup_key: zod619.ZodOptional<zod619.ZodNullable<zod619.ZodString>>;
70
+ metadata: zod619.ZodAny;
71
+ nickname: zod619.ZodOptional<zod619.ZodNullable<zod619.ZodString>>;
72
+ product: zod619.ZodUnion<readonly [zod619.ZodString, zod619.ZodAny]>;
73
+ recurring: zod619.ZodOptional<zod619.ZodNullable<zod619.ZodObject<{
74
+ aggregate_usage: zod619.ZodOptional<zod619.ZodNullable<zod619.ZodString>>;
75
+ interval: zod619.ZodEnum<{
76
76
  day: "day";
77
77
  week: "week";
78
78
  month: "month";
79
79
  year: "year";
80
80
  }>;
81
- interval_count: zod397.ZodNumber;
82
- meter: zod397.ZodOptional<zod397.ZodNullable<zod397.ZodString>>;
83
- trial_period_days: zod397.ZodOptional<zod397.ZodNullable<zod397.ZodNumber>>;
84
- usage_type: zod397.ZodString;
85
- }, zod_v4_core29.$strip>>>;
86
- tax_behavior: zod397.ZodOptional<zod397.ZodNullable<zod397.ZodString>>;
87
- tiers_mode: zod397.ZodOptional<zod397.ZodNullable<zod397.ZodString>>;
88
- transform_quantity: zod397.ZodOptional<zod397.ZodNullable<zod397.ZodAny>>;
89
- type: zod397.ZodEnum<{
81
+ interval_count: zod619.ZodNumber;
82
+ meter: zod619.ZodOptional<zod619.ZodNullable<zod619.ZodString>>;
83
+ trial_period_days: zod619.ZodOptional<zod619.ZodNullable<zod619.ZodNumber>>;
84
+ usage_type: zod619.ZodString;
85
+ }, zod_v4_core48.$strip>>>;
86
+ tax_behavior: zod619.ZodOptional<zod619.ZodNullable<zod619.ZodString>>;
87
+ tiers_mode: zod619.ZodOptional<zod619.ZodNullable<zod619.ZodString>>;
88
+ transform_quantity: zod619.ZodOptional<zod619.ZodNullable<zod619.ZodAny>>;
89
+ type: zod619.ZodEnum<{
90
90
  recurring: "recurring";
91
91
  one_time: "one_time";
92
92
  }>;
93
- unit_amount: zod397.ZodOptional<zod397.ZodNullable<zod397.ZodNumber>>;
94
- unit_amount_decimal: zod397.ZodOptional<zod397.ZodNullable<zod397.ZodString>>;
95
- }, zod_v4_core29.$strip>>;
96
- hasMore: zod397.ZodBoolean;
97
- }, zod_v4_core29.$strip>, string, string>;
98
- useSubscription: _fragno_dev_core_react0.FragnoReactHook<"GET", "/admin/subscriptions", zod397.ZodObject<{
99
- subscriptions: zod397.ZodArray<zod397.ZodObject<{
100
- id: zod397.ZodString;
101
- stripeSubscriptionId: zod397.ZodString;
102
- stripeCustomerId: zod397.ZodString;
103
- stripePriceId: zod397.ZodString;
104
- referenceId: zod397.ZodNullable<zod397.ZodString>;
105
- status: zod397.ZodEnum<{
93
+ unit_amount: zod619.ZodOptional<zod619.ZodNullable<zod619.ZodNumber>>;
94
+ unit_amount_decimal: zod619.ZodOptional<zod619.ZodNullable<zod619.ZodString>>;
95
+ }, zod_v4_core48.$strip>>;
96
+ hasMore: zod619.ZodBoolean;
97
+ }, zod_v4_core48.$strip>, string, string>;
98
+ useSubscription: _fragno_dev_core_react0.FragnoReactHook<"GET", "/admin/subscriptions", zod619.ZodObject<{
99
+ subscriptions: zod619.ZodArray<zod619.ZodObject<{
100
+ id: zod619.ZodString;
101
+ stripeSubscriptionId: zod619.ZodString;
102
+ stripeCustomerId: zod619.ZodString;
103
+ stripePriceId: zod619.ZodString;
104
+ referenceId: zod619.ZodNullable<zod619.ZodString>;
105
+ status: zod619.ZodEnum<{
106
106
  incomplete: "incomplete";
107
107
  active: "active";
108
108
  canceled: "canceled";
@@ -112,34 +112,43 @@ declare function createStripeFragmentClient(config?: FragnoPublicClientConfig):
112
112
  trialing: "trialing";
113
113
  unpaid: "unpaid";
114
114
  }>;
115
- periodStart: zod397.ZodNullable<zod397.ZodDate>;
116
- periodEnd: zod397.ZodNullable<zod397.ZodDate>;
117
- trialStart: zod397.ZodNullable<zod397.ZodDate>;
118
- trialEnd: zod397.ZodNullable<zod397.ZodDate>;
119
- cancelAtPeriodEnd: zod397.ZodNullable<zod397.ZodBoolean>;
120
- cancelAt: zod397.ZodNullable<zod397.ZodDate>;
121
- seats: zod397.ZodNullable<zod397.ZodNumber>;
122
- createdAt: zod397.ZodDate;
123
- updatedAt: zod397.ZodDate;
124
- }, zod_v4_core29.$strip>>;
125
- }, zod_v4_core29.$strip>, string, string>;
126
- upgradeSubscription: _fragno_dev_core_react0.FragnoReactMutator<_fragno_dev_core_api8.NonGetHTTPMethod, "/subscription/upgrade", zod397.ZodObject<{
127
- priceId: zod397.ZodString;
128
- quantity: zod397.ZodNumber;
129
- successUrl: zod397.ZodURL;
130
- cancelUrl: zod397.ZodURL;
131
- returnUrl: zod397.ZodOptional<zod397.ZodString>;
132
- }, zod_v4_core29.$strip> | undefined, zod397.ZodObject<{
133
- url: zod397.ZodString;
134
- redirect: zod397.ZodBoolean;
135
- sessionId: zod397.ZodOptional<zod397.ZodString>;
136
- }, zod_v4_core29.$strip> | undefined, "MISSING_CUSTOMER_INFO" | "SUBSCRIPTION_NOT_FOUND" | "CUSTOMER_SUBSCRIPTION_MISMATCH" | "UPGRADE_HAS_NO_EFFECT" | "SUBSCRIPTION_UPDATE_NOT_ALLOWED", string>;
137
- cancelSubscription: _fragno_dev_core_react0.FragnoReactMutator<_fragno_dev_core_api8.NonGetHTTPMethod, "/subscription/cancel", zod397.ZodObject<{
138
- returnUrl: zod397.ZodURL;
139
- }, zod_v4_core29.$strip> | undefined, zod397.ZodObject<{
140
- url: zod397.ZodURL;
141
- redirect: zod397.ZodBoolean;
142
- }, zod_v4_core29.$strip> | undefined, "SUBSCRIPTION_NOT_FOUND" | "NO_SUBSCRIPTION_TO_CANCEL" | "SUBSCRIPTION_ALREADY_CANCELED", string>;
115
+ periodStart: zod619.ZodNullable<zod619.ZodDate>;
116
+ periodEnd: zod619.ZodNullable<zod619.ZodDate>;
117
+ trialStart: zod619.ZodNullable<zod619.ZodDate>;
118
+ trialEnd: zod619.ZodNullable<zod619.ZodDate>;
119
+ cancelAtPeriodEnd: zod619.ZodNullable<zod619.ZodBoolean>;
120
+ cancelAt: zod619.ZodNullable<zod619.ZodDate>;
121
+ seats: zod619.ZodNullable<zod619.ZodNumber>;
122
+ createdAt: zod619.ZodDate;
123
+ updatedAt: zod619.ZodDate;
124
+ }, zod_v4_core48.$strip>>;
125
+ }, zod_v4_core48.$strip>, string, string>;
126
+ useBillingPortal: _fragno_dev_core_react0.FragnoReactMutator<_fragno_dev_core_api5.NonGetHTTPMethod, "/portal", zod619.ZodObject<{
127
+ returnUrl: zod619.ZodURL;
128
+ }, zod_v4_core48.$strip> | undefined, zod619.ZodObject<{
129
+ url: zod619.ZodURL;
130
+ redirect: zod619.ZodBoolean;
131
+ }, zod_v4_core48.$strip> | undefined, "NO_STRIPE_CUSTOMER_FOR_ENTITY", string>;
132
+ upgradeSubscription: _fragno_dev_core_react0.FragnoReactMutator<_fragno_dev_core_api5.NonGetHTTPMethod, "/subscription/upgrade", zod619.ZodObject<{
133
+ priceId: zod619.ZodString;
134
+ quantity: zod619.ZodNumber;
135
+ successUrl: zod619.ZodURL;
136
+ cancelUrl: zod619.ZodURL;
137
+ returnUrl: zod619.ZodOptional<zod619.ZodString>;
138
+ promotionCode: zod619.ZodOptional<zod619.ZodString>;
139
+ subscriptionId: zod619.ZodOptional<zod619.ZodString>;
140
+ }, zod_v4_core48.$strip> | undefined, zod619.ZodObject<{
141
+ url: zod619.ZodString;
142
+ redirect: zod619.ZodBoolean;
143
+ sessionId: zod619.ZodOptional<zod619.ZodString>;
144
+ }, zod_v4_core48.$strip> | undefined, "MISSING_CUSTOMER_INFO" | "SUBSCRIPTION_NOT_FOUND" | "CUSTOMER_SUBSCRIPTION_MISMATCH" | "UPGRADE_HAS_NO_EFFECT" | "SUBSCRIPTION_UPDATE_NOT_ALLOWED" | "SUBSCRIPTION_UPDATE_PROMO_CODE_NOT_ALLOWED" | "PROMOTION_CODE_CUSTOMER_NOT_FIRST_TIME" | "MULTIPLE_ACTIVE_SUBSCRIPTIONS" | "NO_ACTIVE_SUBSCRIPTIONS", string>;
145
+ cancelSubscription: _fragno_dev_core_react0.FragnoReactMutator<_fragno_dev_core_api5.NonGetHTTPMethod, "/subscription/cancel", zod619.ZodObject<{
146
+ returnUrl: zod619.ZodURL;
147
+ subscriptionId: zod619.ZodOptional<zod619.ZodString>;
148
+ }, zod_v4_core48.$strip> | undefined, zod619.ZodObject<{
149
+ url: zod619.ZodURL;
150
+ redirect: zod619.ZodBoolean;
151
+ }, zod_v4_core48.$strip> | undefined, "SUBSCRIPTION_NOT_FOUND" | "NO_SUBSCRIPTION_TO_CANCEL" | "SUBSCRIPTION_ALREADY_CANCELED" | "NO_STRIPE_CUSTOMER_LINKED" | "MULTIPLE_SUBSCRIPTIONS_FOUND", string>;
143
152
  };
144
153
  //# sourceMappingURL=react.d.ts.map
145
154
 
@@ -1,4 +1,4 @@
1
- import { createStripeFragmentClients, isGetHook, isMutatorHook, isReadableAtom, isStore } from "../src-k2PmVjgJ.js";
1
+ import { createStripeFragmentClients, isGetHook, isMutatorHook, isReadableAtom, isStore } from "../src-BQ175qUc.js";
2
2
  import { useCallback, useMemo, useRef, useSyncExternalStore } from "react";
3
3
 
4
4
  //#region ../../node_modules/.pnpm/nanostores@1.0.1/node_modules/nanostores/listen-keys/index.js
@@ -1 +1 @@
1
- {"version":3,"file":"react.js","names":["listenKeys","$store","keys","listener","keysSet","Set","add","undefined","listen","value","oldValue","changed","has","subscribeKeys","unbind","a","isGetHook","c","isReadableAtom","o","isMutatorHook","s","isStore","hydrateFromWindow","listenKeys","useCallback","useMemo","useRef","useSyncExternalStore","createReactHook","hook","path","query","pathParamValues","Object","values","queryParamValues","store","window","get","useStore","createReactMutator","mutatorStore","createReactStore","obj","result","key","prototype","hasOwnProperty","call","value","useFragno","clientObj","options","snapshotRef","keys","deps","subscribe","onChange","emitChange","current","length","listen","FragnoHydrator","children","useFragno","createStripeFragmentClients","FragnoPublicClientConfig","createStripeFragmentClient","config"],"sources":["../../../../../node_modules/.pnpm/nanostores@1.0.1/node_modules/nanostores/listen-keys/index.js","../../../../fragno/dist/client/react.js","../../../src/client/react.ts"],"sourcesContent":["export function listenKeys($store, keys, listener) {\n let keysSet = new Set(keys).add(undefined)\n return $store.listen((value, oldValue, changed) => {\n if (keysSet.has(changed)) {\n listener(value, oldValue, changed)\n }\n })\n}\n\nexport function subscribeKeys($store, keys, listener) {\n let unbind = listenKeys($store, keys, listener)\n listener($store.value)\n return unbind\n}\n","import \"../fragment-instantiation-DUT-HLl1.js\";\nimport \"../route-C4CyNHkC.js\";\nimport { a as isGetHook, c as isReadableAtom, o as isMutatorHook, s as isStore } from \"../client-DAFHcKqA.js\";\nimport { o as hydrateFromWindow } from \"../ssr-kyKI7pqH.js\";\nimport { listenKeys } from \"nanostores\";\nimport { useCallback, useMemo, useRef, useSyncExternalStore } from \"react\";\n\n//#region src/client/react.ts\nfunction createReactHook(hook) {\n\treturn ({ path, query } = {}) => {\n\t\tconst pathParamValues = path ? Object.values(path) : [];\n\t\tconst queryParamValues = query ? Object.values(query) : [];\n\t\tconst store = useMemo(() => hook.store({\n\t\t\tpath,\n\t\t\tquery\n\t\t}), [hook, ...[...pathParamValues, ...queryParamValues]]);\n\t\tif (typeof window === \"undefined\") return store.get();\n\t\treturn useStore(store);\n\t};\n}\nfunction createReactMutator(hook) {\n\treturn () => {\n\t\treturn useStore(useMemo(() => hook.mutatorStore, [hook]));\n\t};\n}\nfunction createReactStore(hook) {\n\tif (isReadableAtom(hook.obj)) return () => useStore(hook.obj);\n\treturn () => {\n\t\tconst result = {};\n\t\tfor (const key in hook.obj) {\n\t\t\tif (!Object.prototype.hasOwnProperty.call(hook.obj, key)) continue;\n\t\t\tconst value = hook.obj[key];\n\t\t\tif (isReadableAtom(value)) result[key] = useStore(value);\n\t\t\telse result[key] = value;\n\t\t}\n\t\treturn result;\n\t};\n}\nfunction useFragno(clientObj) {\n\tconst result = {};\n\tfor (const key in clientObj) {\n\t\tif (!Object.prototype.hasOwnProperty.call(clientObj, key)) continue;\n\t\tconst hook = clientObj[key];\n\t\tif (isGetHook(hook)) result[key] = createReactHook(hook);\n\t\telse if (isMutatorHook(hook)) result[key] = createReactMutator(hook);\n\t\telse if (isStore(hook)) result[key] = createReactStore(hook);\n\t\telse result[key] = hook;\n\t}\n\treturn result;\n}\nfunction useStore(store, options = {}) {\n\tconst snapshotRef = useRef(store.get());\n\tconst { keys, deps = [store, keys] } = options;\n\tconst subscribe = useCallback((onChange) => {\n\t\tconst emitChange = (value) => {\n\t\t\tif (snapshotRef.current === value) return;\n\t\t\tsnapshotRef.current = value;\n\t\t\tonChange();\n\t\t};\n\t\temitChange(store.value);\n\t\tif (keys?.length) return listenKeys(store, keys, emitChange);\n\t\treturn store.listen(emitChange);\n\t}, deps);\n\tconst get = () => snapshotRef.current;\n\treturn useSyncExternalStore(subscribe, get, () => {\n\t\treturn get();\n\t});\n}\nfunction FragnoHydrator({ children }) {\n\tuseMemo(() => {\n\t\thydrateFromWindow();\n\t}, []);\n\treturn children;\n}\n\n//#endregion\nexport { FragnoHydrator, useFragno, useStore };\n//# sourceMappingURL=react.js.map","import { useFragno } from \"@fragno-dev/core/react\";\nimport { createStripeFragmentClients } from \"..\";\nimport type { FragnoPublicClientConfig } from \"@fragno-dev/core\";\n\nexport function createStripeFragmentClient(config: FragnoPublicClientConfig = {}) {\n return useFragno(createStripeFragmentClients(config));\n}\n"],"x_google_ignoreList":[0],"mappings":";;;;AAAA,SAAgBA,WAAWC,QAAQC,MAAMC,UAAU;CACjD,IAAIC,UAAU,IAAIC,IAAIH,MAAMI,WAAc;AAC1C,QAAOL,OAAOO,OAAO,CAACC,OAAOC,UAAUC,YAAY;AACjD,MAAIP,QAAQQ,IAAID,QAAQ,CACtBR,UAASM,OAAOC,UAAUC,QAAQ;CAErC,EAAC;AACJ;;;;ACCA,SAASkB,gBAAgBC,MAAM;AAC9B,QAAO,CAAC,EAAEC,MAAMC,OAAO,GAAG,CAAE,MAAK;EAChC,MAAMC,kBAAkBF,OAAOG,OAAOC,OAAOJ,KAAK,GAAG,CAAE;EACvD,MAAMK,mBAAmBJ,QAAQE,OAAOC,OAAOH,MAAM,GAAG,CAAE;EAC1D,MAAMK,QAAQX,QAAQ,MAAMI,KAAKO,MAAM;GACtCN;GACAC;EACA,EAAC,EAAE,CAACF,MAAM,GAAG,CAAC,GAAGG,iBAAiB,GAAGG,gBAAiB,CAAC,EAAC;AACzD,aAAWE,WAAW,YAAa,QAAOD,MAAME,KAAK;AACrD,SAAOC,SAASH,MAAM;CACtB;AACF;AACA,SAASI,mBAAmBX,MAAM;AACjC,QAAO,MAAM;AACZ,SAAOU,SAASd,QAAQ,MAAMI,KAAKY,cAAc,CAACZ,IAAK,EAAC,CAAC;CACzD;AACF;AACA,SAASa,iBAAiBb,MAAM;AAC/B,KAAIZ,eAAeY,KAAKc,IAAI,CAAE,QAAO,MAAMJ,SAASV,KAAKc,IAAI;AAC7D,QAAO,MAAM;EACZ,MAAMC,SAAS,CAAE;AACjB,OAAK,MAAMC,OAAOhB,KAAKc,KAAK;AAC3B,QAAKV,OAAOa,UAAUC,eAAeC,KAAKnB,KAAKc,KAAKE,IAAI,CAAE;GAC1D,MAAMI,QAAQpB,KAAKc,IAAIE;AACvB,OAAI5B,eAAegC,MAAM,CAAEL,QAAOC,OAAON,SAASU,MAAM;OACnDL,QAAOC,OAAOI;EACpB;AACA,SAAOL;CACP;AACF;AACA,SAASM,UAAUC,WAAW;CAC7B,MAAMP,SAAS,CAAE;AACjB,MAAK,MAAMC,OAAOM,WAAW;AAC5B,OAAKlB,OAAOa,UAAUC,eAAeC,KAAKG,WAAWN,IAAI,CAAE;EAC3D,MAAMhB,OAAOsB,UAAUN;AACvB,MAAI9B,UAAUc,KAAK,CAAEe,QAAOC,OAAOjB,gBAAgBC,KAAK;WAC/CV,cAAcU,KAAK,CAAEe,QAAOC,OAAOL,mBAAmBX,KAAK;WAC3DR,QAAQQ,KAAK,CAAEe,QAAOC,OAAOH,iBAAiBb,KAAK;MACvDe,QAAOC,OAAOhB;CACpB;AACA,QAAOe;AACR;AACA,SAASL,SAASH,OAAOgB,UAAU,CAAE,GAAE;CACtC,MAAMC,cAAc3B,OAAOU,MAAME,KAAK,CAAC;CACvC,MAAM,EAAEgB,MAAMC,OAAO,CAACnB,OAAOkB,IAAI,GAAG,GAAGF;CACvC,MAAMI,YAAYhC,YAAaiC,cAAa;EAC3C,MAAMC,aAAcT,WAAU;AAC7B,OAAII,YAAYM,YAAYV,MAAO;AACnCI,eAAYM,UAAUV;AACtBQ,aAAU;EACV;AACDC,aAAWtB,MAAMa,MAAM;AACvB,MAAIK,MAAMM,OAAQ,QAAOrC,WAAWa,OAAOkB,MAAMI,WAAW;AAC5D,SAAOtB,MAAMyB,OAAOH,WAAW;CAC/B,GAAEH,KAAK;CACR,MAAMjB,MAAMA,MAAMe,YAAYM;AAC9B,QAAOhC,qBAAqB6B,WAAWlB,KAAK,MAAM;AACjD,SAAOA,KAAK;CACZ,EAAC;AACH;;;;AC/DA,SAAgB6B,2BAA2BC,SAAmC,CAAE,GAAE;AAChF,QAAOJ,UAAUC,4BAA4BG,OAAO,CAAC;AACvD"}
1
+ {"version":3,"file":"react.js","names":["listenKeys","$store","keys","listener","keysSet","Set","add","undefined","listen","value","oldValue","changed","has","subscribeKeys","unbind","hydrateFromWindow","isReadableAtom","isGetHook","isMutatorHook","isStore","listenKeys","useCallback","useMemo","useRef","useSyncExternalStore","createReactHook","hook","path","query","pathParamValues","Object","values","queryParamValues","store","window","get","useStore","createReactMutator","mutatorStore","createReactStore","obj","result","key","prototype","hasOwnProperty","call","value","useFragno","clientObj","options","snapshotRef","keys","deps","subscribe","onChange","emitChange","current","length","listen","FragnoHydrator","children","useFragno","createStripeFragmentClients","FragnoPublicClientConfig","createStripeFragmentClient","config"],"sources":["../../../../../node_modules/.pnpm/nanostores@1.0.1/node_modules/nanostores/listen-keys/index.js","../../../../fragno/dist/client/react.js","../../../src/client/react.ts"],"sourcesContent":["export function listenKeys($store, keys, listener) {\n let keysSet = new Set(keys).add(undefined)\n return $store.listen((value, oldValue, changed) => {\n if (keysSet.has(changed)) {\n listener(value, oldValue, changed)\n }\n })\n}\n\nexport function subscribeKeys($store, keys, listener) {\n let unbind = listenKeys($store, keys, listener)\n listener($store.value)\n return unbind\n}\n","import { hydrateFromWindow } from \"../util/ssr.js\";\nimport { isReadableAtom } from \"../util/nanostores.js\";\nimport { isGetHook, isMutatorHook, isStore } from \"./client.js\";\nimport { listenKeys } from \"nanostores\";\nimport { useCallback, useMemo, useRef, useSyncExternalStore } from \"react\";\n\n//#region src/client/react.ts\nfunction createReactHook(hook) {\n\treturn ({ path, query } = {}) => {\n\t\tconst pathParamValues = path ? Object.values(path) : [];\n\t\tconst queryParamValues = query ? Object.values(query) : [];\n\t\tconst store = useMemo(() => hook.store({\n\t\t\tpath,\n\t\t\tquery\n\t\t}), [hook, ...[...pathParamValues, ...queryParamValues]]);\n\t\tif (typeof window === \"undefined\") return store.get();\n\t\treturn useStore(store);\n\t};\n}\nfunction createReactMutator(hook) {\n\treturn () => {\n\t\treturn useStore(useMemo(() => hook.mutatorStore, [hook]));\n\t};\n}\nfunction createReactStore(hook) {\n\tif (isReadableAtom(hook.obj)) return () => useStore(hook.obj);\n\treturn () => {\n\t\tconst result = {};\n\t\tfor (const key in hook.obj) {\n\t\t\tif (!Object.prototype.hasOwnProperty.call(hook.obj, key)) continue;\n\t\t\tconst value = hook.obj[key];\n\t\t\tif (isReadableAtom(value)) result[key] = useStore(value);\n\t\t\telse result[key] = value;\n\t\t}\n\t\treturn result;\n\t};\n}\nfunction useFragno(clientObj) {\n\tconst result = {};\n\tfor (const key in clientObj) {\n\t\tif (!Object.prototype.hasOwnProperty.call(clientObj, key)) continue;\n\t\tconst hook = clientObj[key];\n\t\tif (isGetHook(hook)) result[key] = createReactHook(hook);\n\t\telse if (isMutatorHook(hook)) result[key] = createReactMutator(hook);\n\t\telse if (isStore(hook)) result[key] = createReactStore(hook);\n\t\telse result[key] = hook;\n\t}\n\treturn result;\n}\nfunction useStore(store, options = {}) {\n\tconst snapshotRef = useRef(store.get());\n\tconst { keys, deps = [store, keys] } = options;\n\tconst subscribe = useCallback((onChange) => {\n\t\tconst emitChange = (value) => {\n\t\t\tif (snapshotRef.current === value) return;\n\t\t\tsnapshotRef.current = value;\n\t\t\tonChange();\n\t\t};\n\t\temitChange(store.value);\n\t\tif (keys?.length) return listenKeys(store, keys, emitChange);\n\t\treturn store.listen(emitChange);\n\t}, deps);\n\tconst get = () => snapshotRef.current;\n\treturn useSyncExternalStore(subscribe, get, () => {\n\t\treturn get();\n\t});\n}\nfunction FragnoHydrator({ children }) {\n\tuseMemo(() => {\n\t\thydrateFromWindow();\n\t}, []);\n\treturn children;\n}\n\n//#endregion\nexport { FragnoHydrator, useFragno, useStore };\n//# sourceMappingURL=react.js.map","import { useFragno } from \"@fragno-dev/core/react\";\nimport { createStripeFragmentClients } from \"..\";\nimport type { FragnoPublicClientConfig } from \"@fragno-dev/core/client\";\n\nexport function createStripeFragmentClient(config: FragnoPublicClientConfig = {}) {\n return useFragno(createStripeFragmentClients(config));\n}\n"],"x_google_ignoreList":[0],"mappings":";;;;AAAA,SAAgBA,WAAWC,QAAQC,MAAMC,UAAU;CACjD,IAAIC,UAAU,IAAIC,IAAIH,MAAMI,WAAc;AAC1C,QAAOL,OAAOO,OAAO,CAACC,OAAOC,UAAUC,YAAY;AACjD,MAAIP,QAAQQ,IAAID,QAAQ,CACtBR,UAASM,OAAOC,UAAUC,QAAQ;CAErC,EAAC;AACJ;;;;ACAA,SAASc,gBAAgBC,MAAM;AAC9B,QAAO,CAAC,EAAEC,MAAMC,OAAO,GAAG,CAAE,MAAK;EAChC,MAAMC,kBAAkBF,OAAOG,OAAOC,OAAOJ,KAAK,GAAG,CAAE;EACvD,MAAMK,mBAAmBJ,QAAQE,OAAOC,OAAOH,MAAM,GAAG,CAAE;EAC1D,MAAMK,QAAQX,QAAQ,MAAMI,KAAKO,MAAM;GACtCN;GACAC;EACA,EAAC,EAAE,CAACF,MAAM,GAAG,CAAC,GAAGG,iBAAiB,GAAGG,gBAAiB,CAAC,EAAC;AACzD,aAAWE,WAAW,YAAa,QAAOD,MAAME,KAAK;AACrD,SAAOC,SAASH,MAAM;CACtB;AACF;AACA,SAASI,mBAAmBX,MAAM;AACjC,QAAO,MAAM;AACZ,SAAOU,SAASd,QAAQ,MAAMI,KAAKY,cAAc,CAACZ,IAAK,EAAC,CAAC;CACzD;AACF;AACA,SAASa,iBAAiBb,MAAM;AAC/B,KAAIV,eAAeU,KAAKc,IAAI,CAAE,QAAO,MAAMJ,SAASV,KAAKc,IAAI;AAC7D,QAAO,MAAM;EACZ,MAAMC,SAAS,CAAE;AACjB,OAAK,MAAMC,OAAOhB,KAAKc,KAAK;AAC3B,QAAKV,OAAOa,UAAUC,eAAeC,KAAKnB,KAAKc,KAAKE,IAAI,CAAE;GAC1D,MAAMI,QAAQpB,KAAKc,IAAIE;AACvB,OAAI1B,eAAe8B,MAAM,CAAEL,QAAOC,OAAON,SAASU,MAAM;OACnDL,QAAOC,OAAOI;EACpB;AACA,SAAOL;CACP;AACF;AACA,SAASM,UAAUC,WAAW;CAC7B,MAAMP,SAAS,CAAE;AACjB,MAAK,MAAMC,OAAOM,WAAW;AAC5B,OAAKlB,OAAOa,UAAUC,eAAeC,KAAKG,WAAWN,IAAI,CAAE;EAC3D,MAAMhB,OAAOsB,UAAUN;AACvB,MAAIzB,UAAUS,KAAK,CAAEe,QAAOC,OAAOjB,gBAAgBC,KAAK;WAC/CR,cAAcQ,KAAK,CAAEe,QAAOC,OAAOL,mBAAmBX,KAAK;WAC3DP,QAAQO,KAAK,CAAEe,QAAOC,OAAOH,iBAAiBb,KAAK;MACvDe,QAAOC,OAAOhB;CACpB;AACA,QAAOe;AACR;AACA,SAASL,SAASH,OAAOgB,UAAU,CAAE,GAAE;CACtC,MAAMC,cAAc3B,OAAOU,MAAME,KAAK,CAAC;CACvC,MAAM,EAAEgB,MAAMC,OAAO,CAACnB,OAAOkB,IAAI,GAAG,GAAGF;CACvC,MAAMI,YAAYhC,YAAaiC,cAAa;EAC3C,MAAMC,aAAcT,WAAU;AAC7B,OAAII,YAAYM,YAAYV,MAAO;AACnCI,eAAYM,UAAUV;AACtBQ,aAAU;EACV;AACDC,aAAWtB,MAAMa,MAAM;AACvB,MAAIK,MAAMM,OAAQ,QAAOrC,WAAWa,OAAOkB,MAAMI,WAAW;AAC5D,SAAOtB,MAAMyB,OAAOH,WAAW;CAC/B,GAAEH,KAAK;CACR,MAAMjB,MAAMA,MAAMe,YAAYM;AAC9B,QAAOhC,qBAAqB6B,WAAWlB,KAAK,MAAM;AACjD,SAAOA,KAAK;CACZ,EAAC;AACH;;;;AC9DA,SAAgB6B,2BAA2BC,SAAmC,CAAE,GAAE;AAChF,QAAOJ,UAAUC,4BAA4BG,OAAO,CAAC;AACvD"}