@paykit-sdk/react 1.0.1-alpha.6 → 1.0.1

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
@@ -5,7 +5,7 @@ React hooks and components for PayKit SDK - Universal payment processing with St
5
5
  ## Installation
6
6
 
7
7
  ```bash
8
- npm install @paykit-sdk/react @tanstack/react-query
8
+ npm install @paykit-sdk/react
9
9
  ```
10
10
 
11
11
  ## Quick Start
@@ -15,21 +15,17 @@ npm install @paykit-sdk/react @tanstack/react-query
15
15
  ```tsx
16
16
  import { PaykitProvider } from '@paykit-sdk/react';
17
17
  import { stripe } from '@paykit-sdk/stripe';
18
- import { QueryClient, QueryClientProvider } from '@tanstack/react-query';
19
18
 
20
19
  // or import { local } from '@paykit-sdk/local';
21
20
  // or import { polar } from '@paykit-sdk/polar';
22
21
 
23
- const queryClient = new QueryClient();
24
22
  const provider = stripe();
25
23
 
26
24
  function App() {
27
25
  return (
28
- <QueryClientProvider client={queryClient}>
29
- <PaykitProvider provider={provider}>
30
- <YourApp />
31
- </PaykitProvider>
32
- </QueryClientProvider>
26
+ <PaykitProvider provider={provider}>
27
+ <YourApp />
28
+ </PaykitProvider>
33
29
  );
34
30
  }
35
31
  ```
@@ -40,27 +36,16 @@ function App() {
40
36
  import { useCustomer, useSubscription, useCheckout } from '@paykit-sdk/react';
41
37
 
42
38
  function CustomerDashboard() {
43
- const { customer, create, update } = useCustomer({ customerId: 'cus_123' });
44
- const { subscriptions, cancel } = useSubscription('sub_456');
45
- const { checkout, create: createCheckout } = useCheckout();
39
+ const { retrieve, create, update } = useCustomer();
46
40
 
47
- const handleCreateCheckout = async () => {
48
- const newCheckout = await createCheckout.mutate({
49
- customer_id: 'cus_123',
50
- item_id: 'price_123',
51
- session_type: 'one_time',
52
- });
41
+ React.useEffect(() => {
42
+ retrieve.run(customerId);
43
+ }, [customerId]);
53
44
 
54
- // Redirect to payment URL
55
- window.location.href = newCheckout.payment_url;
56
- };
45
+ if (retrieve.loading) return <Spinner />;
46
+ if (retrieve.error) return <Error error={retrieve.error} />;
57
47
 
58
- return (
59
- <div>
60
- <h1>Welcome, {customer?.name}</h1>
61
- <button onClick={handleCreateCheckout}>Buy Now</button>
62
- </div>
63
- );
48
+ return <CustomerView customer={retrieve.data} />;
64
49
  }
65
50
  ```
66
51
 
package/dist/index.d.mts CHANGED
@@ -1,64 +1,68 @@
1
- import * as _tanstack_react_query from '@tanstack/react-query';
2
- import { QueryClient } from '@tanstack/react-query';
3
- import * as _paykit_sdk_core from '@paykit-sdk/core';
4
- import { CreateCustomerParams, UpdateCustomerParams, PayKitProvider, UpdateSubscriptionParams, CreateCheckoutParams } from '@paykit-sdk/core';
5
1
  import * as react_jsx_runtime from 'react/jsx-runtime';
6
2
  import * as React from 'react';
3
+ import * as _paykit_sdk_core from '@paykit-sdk/core';
4
+ import { PayKitProvider } from '@paykit-sdk/core';
7
5
 
8
- declare const useCustomer: ({ customerId }: {
9
- customerId: string;
10
- }) => {
11
- customer: _paykit_sdk_core.Customer | null | undefined;
12
- isLoading: boolean;
13
- error: Error | null;
6
+ type PaykitContextValue = {
7
+ provider: PayKitProvider;
8
+ };
9
+ declare const PaykitProvider: ({ provider, children }: React.PropsWithChildren<PaykitContextValue>) => react_jsx_runtime.JSX.Element;
10
+ declare const usePaykitContext: () => PaykitContextValue;
11
+
12
+ declare const useCustomer: () => {
13
+ retrieve: {
14
+ run: (id: string) => Promise<void>;
15
+ loading: boolean;
16
+ error: Error | null;
17
+ data: _paykit_sdk_core.Customer | null;
18
+ };
14
19
  create: {
15
- mutate: _tanstack_react_query.UseMutateAsyncFunction<_paykit_sdk_core.Customer, Error, CreateCustomerParams, unknown>;
16
- isLoading: boolean;
20
+ run: (params: _paykit_sdk_core.CreateCustomerParams) => Promise<void>;
21
+ loading: boolean;
17
22
  error: Error | null;
23
+ data: _paykit_sdk_core.Customer | null;
18
24
  };
19
25
  update: {
20
- mutate: _tanstack_react_query.UseMutateAsyncFunction<_paykit_sdk_core.Customer, Error, {
21
- id: string;
22
- params: UpdateCustomerParams;
23
- }, unknown>;
24
- isLoading: boolean;
26
+ run: (id: string, params: _paykit_sdk_core.UpdateCustomerParams) => Promise<void>;
27
+ loading: boolean;
25
28
  error: Error | null;
29
+ data: _paykit_sdk_core.Customer | null;
26
30
  };
27
31
  };
28
32
 
29
- type PaykitContextValue = {
30
- provider: PayKitProvider;
31
- queryClient?: QueryClient;
32
- };
33
- declare const PaykitProvider: ({ provider, queryClient, children }: React.PropsWithChildren<PaykitContextValue>) => react_jsx_runtime.JSX.Element;
34
- declare const usePaykitContext: () => PaykitContextValue;
35
-
36
- declare const useSubscription: ({ subscriptionId }: {
37
- subscriptionId: string;
38
- }) => {
39
- subscription: _paykit_sdk_core.Subscription | undefined;
40
- isLoading: boolean;
41
- error: Error | null;
33
+ declare const useSubscription: () => {
34
+ retrieve: {
35
+ run: (id: string) => Promise<void>;
36
+ loading: boolean;
37
+ error: Error | null;
38
+ data: _paykit_sdk_core.Subscription | null;
39
+ };
42
40
  update: {
43
- mutate: _tanstack_react_query.UseMutateAsyncFunction<_paykit_sdk_core.Subscription, Error, UpdateSubscriptionParams, unknown>;
44
- isLoading: boolean;
41
+ run: (id: string, params: _paykit_sdk_core.UpdateSubscriptionParams) => Promise<void>;
42
+ loading: boolean;
45
43
  error: Error | null;
44
+ data: _paykit_sdk_core.Subscription | null;
46
45
  };
47
46
  cancel: {
48
- mutate: _tanstack_react_query.UseMutateAsyncFunction<_paykit_sdk_core.Subscription, Error, void, unknown>;
49
- isLoading: boolean;
47
+ run: (id: string) => Promise<void>;
48
+ loading: boolean;
50
49
  error: Error | null;
50
+ data: _paykit_sdk_core.Subscription | null;
51
51
  };
52
52
  };
53
53
 
54
- declare const useCheckout: (checkoutId?: string) => {
55
- checkout: _paykit_sdk_core.Checkout | undefined;
56
- isLoading: boolean;
57
- error: Error | null;
54
+ declare const useCheckout: () => {
58
55
  create: {
59
- mutate: _tanstack_react_query.UseMutateAsyncFunction<_paykit_sdk_core.Checkout, Error, CreateCheckoutParams, unknown>;
60
- isLoading: boolean;
56
+ run: (params: _paykit_sdk_core.CreateCheckoutParams) => Promise<void>;
57
+ loading: boolean;
58
+ error: Error | null;
59
+ data: _paykit_sdk_core.Checkout | null;
60
+ };
61
+ retrieve: {
62
+ run: (id: string) => Promise<void>;
63
+ loading: boolean;
61
64
  error: Error | null;
65
+ data: _paykit_sdk_core.Checkout | null;
62
66
  };
63
67
  };
64
68
 
package/dist/index.d.ts CHANGED
@@ -1,64 +1,68 @@
1
- import * as _tanstack_react_query from '@tanstack/react-query';
2
- import { QueryClient } from '@tanstack/react-query';
3
- import * as _paykit_sdk_core from '@paykit-sdk/core';
4
- import { CreateCustomerParams, UpdateCustomerParams, PayKitProvider, UpdateSubscriptionParams, CreateCheckoutParams } from '@paykit-sdk/core';
5
1
  import * as react_jsx_runtime from 'react/jsx-runtime';
6
2
  import * as React from 'react';
3
+ import * as _paykit_sdk_core from '@paykit-sdk/core';
4
+ import { PayKitProvider } from '@paykit-sdk/core';
7
5
 
8
- declare const useCustomer: ({ customerId }: {
9
- customerId: string;
10
- }) => {
11
- customer: _paykit_sdk_core.Customer | null | undefined;
12
- isLoading: boolean;
13
- error: Error | null;
6
+ type PaykitContextValue = {
7
+ provider: PayKitProvider;
8
+ };
9
+ declare const PaykitProvider: ({ provider, children }: React.PropsWithChildren<PaykitContextValue>) => react_jsx_runtime.JSX.Element;
10
+ declare const usePaykitContext: () => PaykitContextValue;
11
+
12
+ declare const useCustomer: () => {
13
+ retrieve: {
14
+ run: (id: string) => Promise<void>;
15
+ loading: boolean;
16
+ error: Error | null;
17
+ data: _paykit_sdk_core.Customer | null;
18
+ };
14
19
  create: {
15
- mutate: _tanstack_react_query.UseMutateAsyncFunction<_paykit_sdk_core.Customer, Error, CreateCustomerParams, unknown>;
16
- isLoading: boolean;
20
+ run: (params: _paykit_sdk_core.CreateCustomerParams) => Promise<void>;
21
+ loading: boolean;
17
22
  error: Error | null;
23
+ data: _paykit_sdk_core.Customer | null;
18
24
  };
19
25
  update: {
20
- mutate: _tanstack_react_query.UseMutateAsyncFunction<_paykit_sdk_core.Customer, Error, {
21
- id: string;
22
- params: UpdateCustomerParams;
23
- }, unknown>;
24
- isLoading: boolean;
26
+ run: (id: string, params: _paykit_sdk_core.UpdateCustomerParams) => Promise<void>;
27
+ loading: boolean;
25
28
  error: Error | null;
29
+ data: _paykit_sdk_core.Customer | null;
26
30
  };
27
31
  };
28
32
 
29
- type PaykitContextValue = {
30
- provider: PayKitProvider;
31
- queryClient?: QueryClient;
32
- };
33
- declare const PaykitProvider: ({ provider, queryClient, children }: React.PropsWithChildren<PaykitContextValue>) => react_jsx_runtime.JSX.Element;
34
- declare const usePaykitContext: () => PaykitContextValue;
35
-
36
- declare const useSubscription: ({ subscriptionId }: {
37
- subscriptionId: string;
38
- }) => {
39
- subscription: _paykit_sdk_core.Subscription | undefined;
40
- isLoading: boolean;
41
- error: Error | null;
33
+ declare const useSubscription: () => {
34
+ retrieve: {
35
+ run: (id: string) => Promise<void>;
36
+ loading: boolean;
37
+ error: Error | null;
38
+ data: _paykit_sdk_core.Subscription | null;
39
+ };
42
40
  update: {
43
- mutate: _tanstack_react_query.UseMutateAsyncFunction<_paykit_sdk_core.Subscription, Error, UpdateSubscriptionParams, unknown>;
44
- isLoading: boolean;
41
+ run: (id: string, params: _paykit_sdk_core.UpdateSubscriptionParams) => Promise<void>;
42
+ loading: boolean;
45
43
  error: Error | null;
44
+ data: _paykit_sdk_core.Subscription | null;
46
45
  };
47
46
  cancel: {
48
- mutate: _tanstack_react_query.UseMutateAsyncFunction<_paykit_sdk_core.Subscription, Error, void, unknown>;
49
- isLoading: boolean;
47
+ run: (id: string) => Promise<void>;
48
+ loading: boolean;
50
49
  error: Error | null;
50
+ data: _paykit_sdk_core.Subscription | null;
51
51
  };
52
52
  };
53
53
 
54
- declare const useCheckout: (checkoutId?: string) => {
55
- checkout: _paykit_sdk_core.Checkout | undefined;
56
- isLoading: boolean;
57
- error: Error | null;
54
+ declare const useCheckout: () => {
58
55
  create: {
59
- mutate: _tanstack_react_query.UseMutateAsyncFunction<_paykit_sdk_core.Checkout, Error, CreateCheckoutParams, unknown>;
60
- isLoading: boolean;
56
+ run: (params: _paykit_sdk_core.CreateCheckoutParams) => Promise<void>;
57
+ loading: boolean;
58
+ error: Error | null;
59
+ data: _paykit_sdk_core.Checkout | null;
60
+ };
61
+ retrieve: {
62
+ run: (id: string) => Promise<void>;
63
+ loading: boolean;
61
64
  error: Error | null;
65
+ data: _paykit_sdk_core.Checkout | null;
62
66
  };
63
67
  };
64
68
 
package/dist/index.js CHANGED
@@ -38,12 +38,8 @@ __export(index_exports, {
38
38
  });
39
39
  module.exports = __toCommonJS(index_exports);
40
40
 
41
- // src/customer.ts
42
- var import_react_query2 = require("@tanstack/react-query");
43
-
44
- // src/paykit.tsx
41
+ // src/core.tsx
45
42
  var React = __toESM(require("react"));
46
- var import_react_query = require("@tanstack/react-query");
47
43
 
48
44
  // src/util.ts
49
45
  var parseElementContext = (ctx, name) => {
@@ -51,112 +47,60 @@ var parseElementContext = (ctx, name) => {
51
47
  return ctx;
52
48
  };
53
49
 
54
- // src/paykit.tsx
50
+ // src/core.tsx
55
51
  var import_jsx_runtime = require("react/jsx-runtime");
56
52
  var PaykitContext = React.createContext({});
57
- var PaykitProvider = ({ provider, queryClient, children }) => {
58
- const queryClient$1 = queryClient != null ? queryClient : new import_react_query.QueryClient();
59
- return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(PaykitContext.Provider, { value: { provider, queryClient: queryClient$1 }, children });
53
+ var PaykitProvider = ({ provider, children }) => {
54
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)(PaykitContext.Provider, { value: { provider }, children });
60
55
  };
61
56
  var usePaykitContext = () => parseElementContext(React.useContext(PaykitContext), "PaykitContext");
62
57
 
63
- // src/customer.ts
64
- var useCustomer = ({ customerId }) => {
58
+ // src/hooks/use-async-fn.ts
59
+ var React2 = __toESM(require("react"));
60
+ var import_core = require("@paykit-sdk/core");
61
+ var useAsyncFn = (fn) => {
62
+ const [loading, setLoading] = React2.useState(false);
63
+ const [error, setError] = React2.useState(null);
64
+ const [data, setData] = React2.useState(null);
65
+ const run = React2.useCallback(
66
+ async (...args) => {
67
+ setLoading(true);
68
+ setError(null);
69
+ setData(null);
70
+ const [result, error2] = await (0, import_core.tryCatchAsync)(fn(...args));
71
+ if (result) setData(result);
72
+ if (error2) setError(error2);
73
+ setLoading(false);
74
+ },
75
+ [fn]
76
+ );
77
+ return { run, loading, error, data };
78
+ };
79
+
80
+ // src/resources/customer.ts
81
+ var useCustomer = () => {
65
82
  const { provider } = usePaykitContext();
66
- const {
67
- data: customer,
68
- isLoading,
69
- error
70
- } = (0, import_react_query2.useQuery)({
71
- queryKey: ["paykit", "customer", customerId],
72
- queryFn: () => provider.retrieveCustomer(customerId),
73
- enabled: !!customerId
74
- });
75
- const {
76
- mutateAsync: createCustomer,
77
- isPending: isCreating,
78
- error: createError
79
- } = (0, import_react_query2.useMutation)({
80
- mutationFn: (params) => provider.createCustomer(params)
81
- });
82
- const {
83
- mutateAsync: updateCustomer,
84
- isPending: isUpdating,
85
- error: updateError
86
- } = (0, import_react_query2.useMutation)({
87
- mutationFn: ({ id, params }) => provider.updateCustomer(id, params)
88
- });
89
- return {
90
- customer,
91
- isLoading,
92
- error,
93
- create: { mutate: createCustomer, isLoading: isCreating, error: createError },
94
- update: { mutate: updateCustomer, isLoading: isUpdating, error: updateError }
95
- };
83
+ const retrieve = useAsyncFn(provider.retrieveCustomer);
84
+ const create = useAsyncFn(provider.createCustomer);
85
+ const update = useAsyncFn(provider.updateCustomer);
86
+ return { retrieve, create, update };
96
87
  };
97
88
 
98
- // src/subscription.tsx
99
- var import_react_query3 = require("@tanstack/react-query");
100
- var useSubscription = ({ subscriptionId }) => {
89
+ // src/resources/subscription.ts
90
+ var useSubscription = () => {
101
91
  const { provider } = usePaykitContext();
102
- const {
103
- data: subscription,
104
- isLoading,
105
- error
106
- } = (0, import_react_query3.useQuery)({
107
- queryKey: ["paykit", "subscription", subscriptionId],
108
- queryFn: () => provider.retrieveSubscription(subscriptionId),
109
- enabled: !!subscriptionId
110
- });
111
- const {
112
- mutateAsync: updateSubscription,
113
- isPending: isUpdating,
114
- error: updateError
115
- } = (0, import_react_query3.useMutation)({
116
- mutationFn: (params) => provider.updateSubscription(subscriptionId, params)
117
- });
118
- const {
119
- mutateAsync: cancelSubscription,
120
- isPending: isCancelling,
121
- error: cancelError
122
- } = (0, import_react_query3.useMutation)({
123
- mutationFn: () => provider.cancelSubscription(subscriptionId)
124
- });
125
- return {
126
- subscription,
127
- isLoading,
128
- error,
129
- update: { mutate: updateSubscription, isLoading: isUpdating, error: updateError },
130
- cancel: { mutate: cancelSubscription, isLoading: isCancelling, error: cancelError }
131
- };
92
+ const retrieve = useAsyncFn(provider.retrieveSubscription);
93
+ const update = useAsyncFn(provider.updateSubscription);
94
+ const cancel = useAsyncFn(provider.cancelSubscription);
95
+ return { retrieve, update, cancel };
132
96
  };
133
97
 
134
- // src/checkout.ts
135
- var import_react_query4 = require("@tanstack/react-query");
136
- var useCheckout = (checkoutId) => {
98
+ // src/resources/checkout.ts
99
+ var useCheckout = () => {
137
100
  const { provider } = usePaykitContext();
138
- const {
139
- data: checkout,
140
- isLoading,
141
- error
142
- } = (0, import_react_query4.useQuery)({
143
- queryKey: ["paykit", "checkout", checkoutId],
144
- queryFn: () => provider.retrieveCheckout(checkoutId),
145
- enabled: !!checkoutId
146
- });
147
- const {
148
- mutateAsync: createCheckout,
149
- isPending: isCreating,
150
- error: createError
151
- } = (0, import_react_query4.useMutation)({
152
- mutationFn: (params) => provider.createCheckout(params)
153
- });
154
- return {
155
- checkout,
156
- isLoading,
157
- error,
158
- create: { mutate: createCheckout, isLoading: isCreating, error: createError }
159
- };
101
+ const create = useAsyncFn(provider.createCheckout);
102
+ const retrieve = useAsyncFn(provider.retrieveCheckout);
103
+ return { create, retrieve };
160
104
  };
161
105
  // Annotate the CommonJS export names for ESM import in node:
162
106
  0 && (module.exports = {
package/dist/index.mjs CHANGED
@@ -1,9 +1,5 @@
1
- // src/customer.ts
2
- import { useMutation, useQuery } from "@tanstack/react-query";
3
-
4
- // src/paykit.tsx
1
+ // src/core.tsx
5
2
  import * as React from "react";
6
- import { QueryClient } from "@tanstack/react-query";
7
3
 
8
4
  // src/util.ts
9
5
  var parseElementContext = (ctx, name) => {
@@ -11,112 +7,60 @@ var parseElementContext = (ctx, name) => {
11
7
  return ctx;
12
8
  };
13
9
 
14
- // src/paykit.tsx
10
+ // src/core.tsx
15
11
  import { jsx } from "react/jsx-runtime";
16
12
  var PaykitContext = React.createContext({});
17
- var PaykitProvider = ({ provider, queryClient, children }) => {
18
- const queryClient$1 = queryClient != null ? queryClient : new QueryClient();
19
- return /* @__PURE__ */ jsx(PaykitContext.Provider, { value: { provider, queryClient: queryClient$1 }, children });
13
+ var PaykitProvider = ({ provider, children }) => {
14
+ return /* @__PURE__ */ jsx(PaykitContext.Provider, { value: { provider }, children });
20
15
  };
21
16
  var usePaykitContext = () => parseElementContext(React.useContext(PaykitContext), "PaykitContext");
22
17
 
23
- // src/customer.ts
24
- var useCustomer = ({ customerId }) => {
18
+ // src/hooks/use-async-fn.ts
19
+ import * as React2 from "react";
20
+ import { tryCatchAsync } from "@paykit-sdk/core";
21
+ var useAsyncFn = (fn) => {
22
+ const [loading, setLoading] = React2.useState(false);
23
+ const [error, setError] = React2.useState(null);
24
+ const [data, setData] = React2.useState(null);
25
+ const run = React2.useCallback(
26
+ async (...args) => {
27
+ setLoading(true);
28
+ setError(null);
29
+ setData(null);
30
+ const [result, error2] = await tryCatchAsync(fn(...args));
31
+ if (result) setData(result);
32
+ if (error2) setError(error2);
33
+ setLoading(false);
34
+ },
35
+ [fn]
36
+ );
37
+ return { run, loading, error, data };
38
+ };
39
+
40
+ // src/resources/customer.ts
41
+ var useCustomer = () => {
25
42
  const { provider } = usePaykitContext();
26
- const {
27
- data: customer,
28
- isLoading,
29
- error
30
- } = useQuery({
31
- queryKey: ["paykit", "customer", customerId],
32
- queryFn: () => provider.retrieveCustomer(customerId),
33
- enabled: !!customerId
34
- });
35
- const {
36
- mutateAsync: createCustomer,
37
- isPending: isCreating,
38
- error: createError
39
- } = useMutation({
40
- mutationFn: (params) => provider.createCustomer(params)
41
- });
42
- const {
43
- mutateAsync: updateCustomer,
44
- isPending: isUpdating,
45
- error: updateError
46
- } = useMutation({
47
- mutationFn: ({ id, params }) => provider.updateCustomer(id, params)
48
- });
49
- return {
50
- customer,
51
- isLoading,
52
- error,
53
- create: { mutate: createCustomer, isLoading: isCreating, error: createError },
54
- update: { mutate: updateCustomer, isLoading: isUpdating, error: updateError }
55
- };
43
+ const retrieve = useAsyncFn(provider.retrieveCustomer);
44
+ const create = useAsyncFn(provider.createCustomer);
45
+ const update = useAsyncFn(provider.updateCustomer);
46
+ return { retrieve, create, update };
56
47
  };
57
48
 
58
- // src/subscription.tsx
59
- import { useMutation as useMutation2, useQuery as useQuery2 } from "@tanstack/react-query";
60
- var useSubscription = ({ subscriptionId }) => {
49
+ // src/resources/subscription.ts
50
+ var useSubscription = () => {
61
51
  const { provider } = usePaykitContext();
62
- const {
63
- data: subscription,
64
- isLoading,
65
- error
66
- } = useQuery2({
67
- queryKey: ["paykit", "subscription", subscriptionId],
68
- queryFn: () => provider.retrieveSubscription(subscriptionId),
69
- enabled: !!subscriptionId
70
- });
71
- const {
72
- mutateAsync: updateSubscription,
73
- isPending: isUpdating,
74
- error: updateError
75
- } = useMutation2({
76
- mutationFn: (params) => provider.updateSubscription(subscriptionId, params)
77
- });
78
- const {
79
- mutateAsync: cancelSubscription,
80
- isPending: isCancelling,
81
- error: cancelError
82
- } = useMutation2({
83
- mutationFn: () => provider.cancelSubscription(subscriptionId)
84
- });
85
- return {
86
- subscription,
87
- isLoading,
88
- error,
89
- update: { mutate: updateSubscription, isLoading: isUpdating, error: updateError },
90
- cancel: { mutate: cancelSubscription, isLoading: isCancelling, error: cancelError }
91
- };
52
+ const retrieve = useAsyncFn(provider.retrieveSubscription);
53
+ const update = useAsyncFn(provider.updateSubscription);
54
+ const cancel = useAsyncFn(provider.cancelSubscription);
55
+ return { retrieve, update, cancel };
92
56
  };
93
57
 
94
- // src/checkout.ts
95
- import { useMutation as useMutation3, useQuery as useQuery3 } from "@tanstack/react-query";
96
- var useCheckout = (checkoutId) => {
58
+ // src/resources/checkout.ts
59
+ var useCheckout = () => {
97
60
  const { provider } = usePaykitContext();
98
- const {
99
- data: checkout,
100
- isLoading,
101
- error
102
- } = useQuery3({
103
- queryKey: ["paykit", "checkout", checkoutId],
104
- queryFn: () => provider.retrieveCheckout(checkoutId),
105
- enabled: !!checkoutId
106
- });
107
- const {
108
- mutateAsync: createCheckout,
109
- isPending: isCreating,
110
- error: createError
111
- } = useMutation3({
112
- mutationFn: (params) => provider.createCheckout(params)
113
- });
114
- return {
115
- checkout,
116
- isLoading,
117
- error,
118
- create: { mutate: createCheckout, isLoading: isCreating, error: createError }
119
- };
61
+ const create = useAsyncFn(provider.createCheckout);
62
+ const retrieve = useAsyncFn(provider.retrieveCheckout);
63
+ return { create, retrieve };
120
64
  };
121
65
  export {
122
66
  PaykitProvider,
package/package.json CHANGED
@@ -1,32 +1,24 @@
1
1
  {
2
2
  "name": "@paykit-sdk/react",
3
- "version": "1.0.1-alpha.6",
3
+ "version": "1.0.1",
4
4
  "main": "dist/index.js",
5
5
  "module": "dist/index.esm.js",
6
6
  "types": "dist/index.d.ts",
7
7
  "files": [
8
8
  "dist"
9
9
  ],
10
- "scripts": {
11
- "build": "tsup src/index.ts --format cjs,esm --dts --clean",
12
- "dev": "tsup src/index.ts --format cjs,esm --dts --watch",
13
- "prepublishOnly": "npm run build",
14
- "typecheck": "tsc --noEmit"
15
- },
16
10
  "publishConfig": {
17
11
  "access": "public"
18
12
  },
19
13
  "dependencies": {
20
- "@paykit-sdk/core": "workspace:*"
14
+ "@paykit-sdk/core": "1.0.1"
21
15
  },
22
16
  "peerDependencies": {
23
- "@tanstack/react-query": "^5.80.5",
24
17
  "react": ">=16.8.0",
25
18
  "react-dom": ">=16.8.0"
26
19
  },
27
20
  "devDependencies": {
28
21
  "@swc/core": "^1.12.9",
29
- "@tanstack/react-query": "^5.80.5",
30
22
  "@types/react": "^18.0.0",
31
23
  "@types/react-dom": "^18.0.0",
32
24
  "react": "^18.0.0",
@@ -47,5 +39,10 @@
47
39
  ],
48
40
  "author": "Emmanuel Odii",
49
41
  "license": "ISC",
50
- "homepage": "https://paykit-web.vercel.app"
51
- }
42
+ "homepage": "https://paykit-web.vercel.app",
43
+ "scripts": {
44
+ "build": "tsup src/index.ts --format cjs,esm --dts --clean",
45
+ "dev": "tsup src/index.ts --format cjs,esm --dts --watch",
46
+ "typecheck": "tsc --noEmit"
47
+ }
48
+ }