@b3dotfun/sdk 0.1.68-alpha.3 → 0.1.68-alpha.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 (167) hide show
  1. package/dist/cjs/anyspend/platform/client.d.ts +35 -0
  2. package/dist/cjs/anyspend/platform/client.js +158 -0
  3. package/dist/cjs/anyspend/platform/errors.d.ts +38 -0
  4. package/dist/cjs/anyspend/platform/errors.js +77 -0
  5. package/dist/cjs/anyspend/platform/index.d.ts +87 -0
  6. package/dist/cjs/anyspend/platform/index.js +85 -0
  7. package/dist/cjs/anyspend/platform/resources/analytics.d.ts +7 -0
  8. package/dist/cjs/anyspend/platform/resources/analytics.js +12 -0
  9. package/dist/cjs/anyspend/platform/resources/checkout-sessions.d.ts +17 -0
  10. package/dist/cjs/anyspend/platform/resources/checkout-sessions.js +27 -0
  11. package/dist/cjs/anyspend/platform/resources/customers.d.ts +19 -0
  12. package/dist/cjs/anyspend/platform/resources/customers.js +34 -0
  13. package/dist/cjs/anyspend/platform/resources/discount-codes.d.ts +29 -0
  14. package/dist/cjs/anyspend/platform/resources/discount-codes.js +31 -0
  15. package/dist/cjs/anyspend/platform/resources/events.d.ts +14 -0
  16. package/dist/cjs/anyspend/platform/resources/events.js +16 -0
  17. package/dist/cjs/anyspend/platform/resources/notifications.d.ts +18 -0
  18. package/dist/cjs/anyspend/platform/resources/notifications.js +27 -0
  19. package/dist/cjs/anyspend/platform/resources/organization.d.ts +17 -0
  20. package/dist/cjs/anyspend/platform/resources/organization.js +15 -0
  21. package/dist/cjs/anyspend/platform/resources/payment-links.d.ts +21 -0
  22. package/dist/cjs/anyspend/platform/resources/payment-links.js +49 -0
  23. package/dist/cjs/anyspend/platform/resources/products.d.ts +27 -0
  24. package/dist/cjs/anyspend/platform/resources/products.js +31 -0
  25. package/dist/cjs/anyspend/platform/resources/transactions.d.ts +11 -0
  26. package/dist/cjs/anyspend/platform/resources/transactions.js +25 -0
  27. package/dist/cjs/anyspend/platform/resources/webhooks.d.ts +14 -0
  28. package/dist/cjs/anyspend/platform/resources/webhooks.js +33 -0
  29. package/dist/cjs/anyspend/platform/resources/widgets.d.ts +38 -0
  30. package/dist/cjs/anyspend/platform/resources/widgets.js +31 -0
  31. package/dist/cjs/anyspend/platform/types.d.ts +478 -0
  32. package/dist/cjs/anyspend/platform/types.js +5 -0
  33. package/dist/cjs/anyspend/platform/utils/idempotency.d.ts +4 -0
  34. package/dist/cjs/anyspend/platform/utils/idempotency.js +17 -0
  35. package/dist/cjs/anyspend/platform/utils/pagination.d.ts +12 -0
  36. package/dist/cjs/anyspend/platform/utils/pagination.js +22 -0
  37. package/dist/cjs/anyspend/react/components/AnySpend.d.ts +3 -1
  38. package/dist/cjs/anyspend/react/components/AnySpend.js +128 -11
  39. package/dist/cjs/anyspend/react/components/checkout/FiatCheckoutPanel.js +13 -12
  40. package/dist/cjs/anyspend/react/components/checkout/KycGate.d.ts +11 -0
  41. package/dist/cjs/anyspend/react/components/checkout/KycGate.js +181 -0
  42. package/dist/cjs/anyspend/react/hooks/index.d.ts +1 -0
  43. package/dist/cjs/anyspend/react/hooks/index.js +1 -0
  44. package/dist/cjs/anyspend/react/hooks/useAnyspendCreateOnrampOrder.js +9 -0
  45. package/dist/cjs/anyspend/react/hooks/useKycStatus.d.ts +42 -0
  46. package/dist/cjs/anyspend/react/hooks/useKycStatus.js +113 -0
  47. package/dist/cjs/anyspend/services/anyspend.d.ts +3 -1
  48. package/dist/cjs/anyspend/services/anyspend.js +2 -1
  49. package/dist/cjs/global-account/react/components/B3DynamicModal.js +1 -1
  50. package/dist/cjs/global-account/react/components/ManageAccount/BottomNavigation.js +3 -3
  51. package/dist/cjs/global-account/react/hooks/useAuth.js +1 -1
  52. package/dist/cjs/global-account/react/stores/useModalStore.d.ts +4 -0
  53. package/dist/cjs/global-account/react/stores/useModalStore.js +2 -0
  54. package/dist/cjs/global-account/react/utils/createWagmiConfig.d.ts +18 -0
  55. package/dist/cjs/global-account/react/utils/createWagmiConfig.js +17 -0
  56. package/dist/esm/anyspend/platform/client.d.ts +35 -0
  57. package/dist/esm/anyspend/platform/client.js +153 -0
  58. package/dist/esm/anyspend/platform/errors.d.ts +38 -0
  59. package/dist/esm/anyspend/platform/errors.js +67 -0
  60. package/dist/esm/anyspend/platform/index.d.ts +87 -0
  61. package/dist/esm/anyspend/platform/index.js +75 -0
  62. package/dist/esm/anyspend/platform/resources/analytics.d.ts +7 -0
  63. package/dist/esm/anyspend/platform/resources/analytics.js +8 -0
  64. package/dist/esm/anyspend/platform/resources/checkout-sessions.d.ts +17 -0
  65. package/dist/esm/anyspend/platform/resources/checkout-sessions.js +23 -0
  66. package/dist/esm/anyspend/platform/resources/customers.d.ts +19 -0
  67. package/dist/esm/anyspend/platform/resources/customers.js +30 -0
  68. package/dist/esm/anyspend/platform/resources/discount-codes.d.ts +29 -0
  69. package/dist/esm/anyspend/platform/resources/discount-codes.js +27 -0
  70. package/dist/esm/anyspend/platform/resources/events.d.ts +14 -0
  71. package/dist/esm/anyspend/platform/resources/events.js +12 -0
  72. package/dist/esm/anyspend/platform/resources/notifications.d.ts +18 -0
  73. package/dist/esm/anyspend/platform/resources/notifications.js +23 -0
  74. package/dist/esm/anyspend/platform/resources/organization.d.ts +17 -0
  75. package/dist/esm/anyspend/platform/resources/organization.js +11 -0
  76. package/dist/esm/anyspend/platform/resources/payment-links.d.ts +21 -0
  77. package/dist/esm/anyspend/platform/resources/payment-links.js +45 -0
  78. package/dist/esm/anyspend/platform/resources/products.d.ts +27 -0
  79. package/dist/esm/anyspend/platform/resources/products.js +27 -0
  80. package/dist/esm/anyspend/platform/resources/transactions.d.ts +11 -0
  81. package/dist/esm/anyspend/platform/resources/transactions.js +21 -0
  82. package/dist/esm/anyspend/platform/resources/webhooks.d.ts +14 -0
  83. package/dist/esm/anyspend/platform/resources/webhooks.js +29 -0
  84. package/dist/esm/anyspend/platform/resources/widgets.d.ts +38 -0
  85. package/dist/esm/anyspend/platform/resources/widgets.js +27 -0
  86. package/dist/esm/anyspend/platform/types.d.ts +478 -0
  87. package/dist/esm/anyspend/platform/types.js +4 -0
  88. package/dist/esm/anyspend/platform/utils/idempotency.d.ts +4 -0
  89. package/dist/esm/anyspend/platform/utils/idempotency.js +14 -0
  90. package/dist/esm/anyspend/platform/utils/pagination.d.ts +12 -0
  91. package/dist/esm/anyspend/platform/utils/pagination.js +19 -0
  92. package/dist/esm/anyspend/react/components/AnySpend.d.ts +3 -1
  93. package/dist/esm/anyspend/react/components/AnySpend.js +129 -12
  94. package/dist/esm/anyspend/react/components/checkout/FiatCheckoutPanel.js +13 -12
  95. package/dist/esm/anyspend/react/components/checkout/KycGate.d.ts +11 -0
  96. package/dist/esm/anyspend/react/components/checkout/KycGate.js +145 -0
  97. package/dist/esm/anyspend/react/hooks/index.d.ts +1 -0
  98. package/dist/esm/anyspend/react/hooks/index.js +1 -0
  99. package/dist/esm/anyspend/react/hooks/useAnyspendCreateOnrampOrder.js +9 -0
  100. package/dist/esm/anyspend/react/hooks/useKycStatus.d.ts +42 -0
  101. package/dist/esm/anyspend/react/hooks/useKycStatus.js +107 -0
  102. package/dist/esm/anyspend/services/anyspend.d.ts +3 -1
  103. package/dist/esm/anyspend/services/anyspend.js +2 -1
  104. package/dist/esm/global-account/react/components/B3DynamicModal.js +1 -1
  105. package/dist/esm/global-account/react/components/ManageAccount/BottomNavigation.js +3 -3
  106. package/dist/esm/global-account/react/hooks/useAuth.js +2 -2
  107. package/dist/esm/global-account/react/stores/useModalStore.d.ts +4 -0
  108. package/dist/esm/global-account/react/stores/useModalStore.js +2 -0
  109. package/dist/esm/global-account/react/utils/createWagmiConfig.d.ts +18 -0
  110. package/dist/esm/global-account/react/utils/createWagmiConfig.js +16 -0
  111. package/dist/styles/index.css +1 -1
  112. package/dist/types/anyspend/platform/client.d.ts +35 -0
  113. package/dist/types/anyspend/platform/errors.d.ts +38 -0
  114. package/dist/types/anyspend/platform/index.d.ts +87 -0
  115. package/dist/types/anyspend/platform/resources/analytics.d.ts +7 -0
  116. package/dist/types/anyspend/platform/resources/checkout-sessions.d.ts +17 -0
  117. package/dist/types/anyspend/platform/resources/customers.d.ts +19 -0
  118. package/dist/types/anyspend/platform/resources/discount-codes.d.ts +29 -0
  119. package/dist/types/anyspend/platform/resources/events.d.ts +14 -0
  120. package/dist/types/anyspend/platform/resources/notifications.d.ts +18 -0
  121. package/dist/types/anyspend/platform/resources/organization.d.ts +17 -0
  122. package/dist/types/anyspend/platform/resources/payment-links.d.ts +21 -0
  123. package/dist/types/anyspend/platform/resources/products.d.ts +27 -0
  124. package/dist/types/anyspend/platform/resources/transactions.d.ts +11 -0
  125. package/dist/types/anyspend/platform/resources/webhooks.d.ts +14 -0
  126. package/dist/types/anyspend/platform/resources/widgets.d.ts +38 -0
  127. package/dist/types/anyspend/platform/types.d.ts +478 -0
  128. package/dist/types/anyspend/platform/utils/idempotency.d.ts +4 -0
  129. package/dist/types/anyspend/platform/utils/pagination.d.ts +12 -0
  130. package/dist/types/anyspend/react/components/AnySpend.d.ts +3 -1
  131. package/dist/types/anyspend/react/components/checkout/KycGate.d.ts +11 -0
  132. package/dist/types/anyspend/react/hooks/index.d.ts +1 -0
  133. package/dist/types/anyspend/react/hooks/useKycStatus.d.ts +42 -0
  134. package/dist/types/anyspend/services/anyspend.d.ts +3 -1
  135. package/dist/types/global-account/react/stores/useModalStore.d.ts +4 -0
  136. package/dist/types/global-account/react/utils/createWagmiConfig.d.ts +18 -0
  137. package/package.json +7 -1
  138. package/src/anyspend/platform/client.ts +198 -0
  139. package/src/anyspend/platform/errors.ts +92 -0
  140. package/src/anyspend/platform/index.ts +129 -0
  141. package/src/anyspend/platform/resources/analytics.ts +10 -0
  142. package/src/anyspend/platform/resources/checkout-sessions.ts +36 -0
  143. package/src/anyspend/platform/resources/customers.ts +54 -0
  144. package/src/anyspend/platform/resources/discount-codes.ts +63 -0
  145. package/src/anyspend/platform/resources/events.ts +22 -0
  146. package/src/anyspend/platform/resources/notifications.ts +37 -0
  147. package/src/anyspend/platform/resources/organization.ts +24 -0
  148. package/src/anyspend/platform/resources/payment-links.ts +74 -0
  149. package/src/anyspend/platform/resources/products.ts +59 -0
  150. package/src/anyspend/platform/resources/transactions.ts +33 -0
  151. package/src/anyspend/platform/resources/webhooks.ts +47 -0
  152. package/src/anyspend/platform/resources/widgets.ts +63 -0
  153. package/src/anyspend/platform/types.ts +532 -0
  154. package/src/anyspend/platform/utils/idempotency.ts +15 -0
  155. package/src/anyspend/platform/utils/pagination.ts +32 -0
  156. package/src/anyspend/react/components/AnySpend.tsx +150 -13
  157. package/src/anyspend/react/components/checkout/FiatCheckoutPanel.tsx +16 -13
  158. package/src/anyspend/react/components/checkout/KycGate.tsx +351 -0
  159. package/src/anyspend/react/hooks/index.ts +1 -0
  160. package/src/anyspend/react/hooks/useAnyspendCreateOnrampOrder.ts +10 -0
  161. package/src/anyspend/react/hooks/useKycStatus.ts +140 -0
  162. package/src/anyspend/services/anyspend.ts +4 -0
  163. package/src/global-account/react/components/B3DynamicModal.tsx +0 -2
  164. package/src/global-account/react/components/ManageAccount/BottomNavigation.tsx +7 -7
  165. package/src/global-account/react/hooks/useAuth.ts +2 -2
  166. package/src/global-account/react/stores/useModalStore.ts +6 -0
  167. package/src/global-account/react/utils/createWagmiConfig.tsx +18 -0
@@ -0,0 +1,74 @@
1
+ import type { HttpClient } from "../client";
2
+ import { autoPaginate } from "../utils/pagination";
3
+ import type {
4
+ PaymentLink,
5
+ PaymentLinkItem,
6
+ PaymentLinkStats,
7
+ CheckoutSession,
8
+ ListResponse,
9
+ DeletedResponse,
10
+ CreatePaymentLinkParams,
11
+ CreatePaymentLinkItemParams,
12
+ UpdatePaymentLinkParams,
13
+ ListPaymentLinksParams,
14
+ PaginationParams,
15
+ } from "../types";
16
+
17
+ export class PaymentLinksResource {
18
+ constructor(private client: HttpClient) {}
19
+
20
+ async list(params?: ListPaymentLinksParams): Promise<ListResponse<PaymentLink>> {
21
+ return this.client.get<ListResponse<PaymentLink>>("/payment-links", params);
22
+ }
23
+
24
+ async *listAutoPaginate(params?: Omit<ListPaymentLinksParams, "page">): AsyncGenerator<PaymentLink> {
25
+ yield* autoPaginate<PaymentLink>((page, limit) => this.list({ ...params, page, limit }), { limit: params?.limit });
26
+ }
27
+
28
+ async create(params: CreatePaymentLinkParams): Promise<PaymentLink> {
29
+ return this.client.post<PaymentLink>("/payment-links", params);
30
+ }
31
+
32
+ async get(id: string): Promise<PaymentLink> {
33
+ return this.client.get<PaymentLink>(`/payment-links/${id}`);
34
+ }
35
+
36
+ async update(id: string, params: UpdatePaymentLinkParams): Promise<PaymentLink> {
37
+ return this.client.patch<PaymentLink>(`/payment-links/${id}`, params);
38
+ }
39
+
40
+ async delete(id: string): Promise<DeletedResponse> {
41
+ return this.client.delete<DeletedResponse>(`/payment-links/${id}`);
42
+ }
43
+
44
+ async duplicate(id: string, overrides?: Partial<CreatePaymentLinkParams>): Promise<PaymentLink> {
45
+ return this.client.post<PaymentLink>(`/payment-links/${id}/duplicate`, overrides ?? {});
46
+ }
47
+
48
+ async stats(id: string, days?: number): Promise<PaymentLinkStats> {
49
+ return this.client.get<PaymentLinkStats>(`/payment-links/${id}/stats`, days !== undefined ? { days } : undefined);
50
+ }
51
+
52
+ async sessions(id: string, params?: PaginationParams): Promise<ListResponse<CheckoutSession>> {
53
+ return this.client.get<ListResponse<CheckoutSession>>(`/payment-links/${id}/sessions`, params);
54
+ }
55
+
56
+ async visitors(
57
+ id: string,
58
+ params?: PaginationParams & { days?: number },
59
+ ): Promise<ListResponse<Record<string, unknown>>> {
60
+ return this.client.get<ListResponse<Record<string, unknown>>>(`/payment-links/${id}/visitors`, params);
61
+ }
62
+
63
+ async items(id: string): Promise<PaymentLinkItem[]> {
64
+ return this.client.get<PaymentLinkItem[]>(`/payment-links/${id}/items`);
65
+ }
66
+
67
+ async addItem(id: string, item: CreatePaymentLinkItemParams): Promise<PaymentLinkItem> {
68
+ return this.client.post<PaymentLinkItem>(`/payment-links/${id}/items`, item);
69
+ }
70
+
71
+ async removeItem(id: string, itemId: string): Promise<DeletedResponse> {
72
+ return this.client.delete<DeletedResponse>(`/payment-links/${id}/items/${itemId}`);
73
+ }
74
+ }
@@ -0,0 +1,59 @@
1
+ import type { HttpClient } from "../client";
2
+ import { autoPaginate } from "../utils/pagination";
3
+ import type {
4
+ Product,
5
+ PaymentLink,
6
+ ListResponse,
7
+ DeletedResponse,
8
+ CreateProductParams,
9
+ UpdateProductParams,
10
+ PaginationParams,
11
+ } from "../types";
12
+
13
+ export interface ListProductsParams extends PaginationParams {
14
+ search?: string;
15
+ active?: "true" | "false";
16
+ product_type?: "one_time" | "subscription" | "variable";
17
+ sort?: "created_at" | "updated_at" | "name";
18
+ order?: "asc" | "desc";
19
+ }
20
+
21
+ export interface GenerateLinkParams {
22
+ recipient_address?: string;
23
+ name?: string;
24
+ description?: string;
25
+ theme_color?: string;
26
+ button_text?: string;
27
+ }
28
+
29
+ export class ProductsResource {
30
+ constructor(private client: HttpClient) {}
31
+
32
+ async list(params?: ListProductsParams): Promise<ListResponse<Product>> {
33
+ return this.client.get<ListResponse<Product>>("/products", params);
34
+ }
35
+
36
+ async *listAutoPaginate(params?: Omit<ListProductsParams, "page">): AsyncGenerator<Product> {
37
+ yield* autoPaginate<Product>((page, limit) => this.list({ ...params, page, limit }), { limit: params?.limit });
38
+ }
39
+
40
+ async create(params: CreateProductParams): Promise<Product> {
41
+ return this.client.post<Product>("/products", params);
42
+ }
43
+
44
+ async get(id: string): Promise<Product> {
45
+ return this.client.get<Product>(`/products/${id}`);
46
+ }
47
+
48
+ async update(id: string, params: UpdateProductParams): Promise<Product> {
49
+ return this.client.patch<Product>(`/products/${id}`, params);
50
+ }
51
+
52
+ async delete(id: string): Promise<DeletedResponse> {
53
+ return this.client.delete<DeletedResponse>(`/products/${id}`);
54
+ }
55
+
56
+ async generateLink(id: string, params?: GenerateLinkParams): Promise<PaymentLink> {
57
+ return this.client.post<PaymentLink>(`/products/${id}/generate-link`, params ?? {});
58
+ }
59
+ }
@@ -0,0 +1,33 @@
1
+ import type { HttpClient } from "../client";
2
+ import { autoPaginate } from "../utils/pagination";
3
+ import type {
4
+ Transaction,
5
+ TransactionStats,
6
+ ListResponse,
7
+ ListTransactionsParams,
8
+ ExportTransactionsParams,
9
+ } from "../types";
10
+
11
+ export class TransactionsResource {
12
+ constructor(private client: HttpClient) {}
13
+
14
+ async list(params?: ListTransactionsParams): Promise<ListResponse<Transaction>> {
15
+ return this.client.get<ListResponse<Transaction>>("/transactions", params);
16
+ }
17
+
18
+ async *listAutoPaginate(params?: Omit<ListTransactionsParams, "page">): AsyncGenerator<Transaction> {
19
+ yield* autoPaginate<Transaction>((page, limit) => this.list({ ...params, page, limit }), { limit: params?.limit });
20
+ }
21
+
22
+ async get(id: string): Promise<Transaction> {
23
+ return this.client.get<Transaction>(`/transactions/${id}`);
24
+ }
25
+
26
+ async stats(): Promise<TransactionStats> {
27
+ return this.client.get<TransactionStats>("/transactions/stats");
28
+ }
29
+
30
+ async export(params?: ExportTransactionsParams): Promise<string> {
31
+ return this.client.get<string>("/transactions/export", params);
32
+ }
33
+ }
@@ -0,0 +1,47 @@
1
+ import type { HttpClient } from "../client";
2
+ import type {
3
+ Webhook,
4
+ WebhookDelivery,
5
+ ListResponse,
6
+ DeletedResponse,
7
+ ActionResponse,
8
+ CreateWebhookParams,
9
+ UpdateWebhookParams,
10
+ PaginationParams,
11
+ } from "../types";
12
+
13
+ export class WebhooksResource {
14
+ constructor(private client: HttpClient) {}
15
+
16
+ async list(): Promise<ListResponse<Webhook>> {
17
+ return this.client.get<ListResponse<Webhook>>("/webhooks");
18
+ }
19
+
20
+ async create(params: CreateWebhookParams): Promise<Webhook> {
21
+ return this.client.post<Webhook>("/webhooks", params);
22
+ }
23
+
24
+ async get(id: string): Promise<Webhook> {
25
+ return this.client.get<Webhook>(`/webhooks/${id}`);
26
+ }
27
+
28
+ async update(id: string, params: UpdateWebhookParams): Promise<Webhook> {
29
+ return this.client.patch<Webhook>(`/webhooks/${id}`, params);
30
+ }
31
+
32
+ async delete(id: string): Promise<DeletedResponse> {
33
+ return this.client.delete<DeletedResponse>(`/webhooks/${id}`);
34
+ }
35
+
36
+ async test(id: string): Promise<ActionResponse> {
37
+ return this.client.post<ActionResponse>(`/webhooks/${id}/test`);
38
+ }
39
+
40
+ async deliveries(id: string, params?: PaginationParams): Promise<ListResponse<WebhookDelivery>> {
41
+ return this.client.get<ListResponse<WebhookDelivery>>(`/webhooks/${id}/deliveries`, params);
42
+ }
43
+
44
+ async retry(id: string, deliveryId: string): Promise<ActionResponse> {
45
+ return this.client.post<ActionResponse>(`/webhooks/${id}/deliveries/${deliveryId}/retry`);
46
+ }
47
+ }
@@ -0,0 +1,63 @@
1
+ import type { HttpClient } from "../client";
2
+ import { autoPaginate } from "../utils/pagination";
3
+ import type { WidgetConfig, ListResponse, DeletedResponse, CreateWidgetParams, PaginationParams } from "../types";
4
+
5
+ export interface ListWidgetsParams extends PaginationParams {
6
+ search?: string;
7
+ widget_type?: "swap" | "checkout" | "nft" | "deposit";
8
+ active?: "true" | "false";
9
+ sort?: "created_at" | "updated_at" | "name" | "current_views";
10
+ order?: "asc" | "desc";
11
+ }
12
+
13
+ export interface UpdateWidgetParams extends Partial<CreateWidgetParams> {
14
+ is_active?: boolean;
15
+ }
16
+
17
+ export interface WidgetStats {
18
+ object: "widget_stats";
19
+ widget_id: string;
20
+ summary: {
21
+ total_views: number;
22
+ total_interactions: number;
23
+ total_completions: number;
24
+ };
25
+ daily: {
26
+ date: string;
27
+ views: number;
28
+ interactions: number;
29
+ completions: number;
30
+ }[];
31
+ }
32
+
33
+ export class WidgetsResource {
34
+ constructor(private client: HttpClient) {}
35
+
36
+ async list(params?: ListWidgetsParams): Promise<ListResponse<WidgetConfig>> {
37
+ return this.client.get<ListResponse<WidgetConfig>>("/widgets", params);
38
+ }
39
+
40
+ async *listAutoPaginate(params?: Omit<ListWidgetsParams, "page">): AsyncGenerator<WidgetConfig> {
41
+ yield* autoPaginate<WidgetConfig>((page, limit) => this.list({ ...params, page, limit }), { limit: params?.limit });
42
+ }
43
+
44
+ async create(params: CreateWidgetParams): Promise<WidgetConfig> {
45
+ return this.client.post<WidgetConfig>("/widgets", params);
46
+ }
47
+
48
+ async get(id: string): Promise<WidgetConfig> {
49
+ return this.client.get<WidgetConfig>(`/widgets/${id}`);
50
+ }
51
+
52
+ async update(id: string, params: UpdateWidgetParams): Promise<WidgetConfig> {
53
+ return this.client.patch<WidgetConfig>(`/widgets/${id}`, params);
54
+ }
55
+
56
+ async delete(id: string): Promise<DeletedResponse> {
57
+ return this.client.delete<DeletedResponse>(`/widgets/${id}`);
58
+ }
59
+
60
+ async stats(id: string, days?: number): Promise<WidgetStats> {
61
+ return this.client.get<WidgetStats>(`/widgets/${id}/stats`, days !== undefined ? { days } : undefined);
62
+ }
63
+ }