@openmeter/sdk 1.0.0-beta.22 → 1.0.0-beta.221

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 (170) hide show
  1. package/Makefile +43 -0
  2. package/README.md +38 -150
  3. package/dist/cjs/index.cjs +18 -0
  4. package/dist/cjs/index.d.cts +1 -0
  5. package/dist/cjs/index.js.map +1 -0
  6. package/dist/cjs/src/client/addons.cjs +105 -0
  7. package/dist/cjs/src/client/addons.d.cts +152 -0
  8. package/dist/cjs/src/client/addons.js.map +1 -0
  9. package/dist/cjs/src/client/apps.cjs +247 -0
  10. package/dist/cjs/src/client/apps.d.cts +327 -0
  11. package/dist/cjs/src/client/apps.js.map +1 -0
  12. package/dist/cjs/src/client/billing.cjs +361 -0
  13. package/dist/cjs/src/client/billing.d.cts +526 -0
  14. package/dist/cjs/src/client/billing.js.map +1 -0
  15. package/dist/cjs/src/client/common.cjs +47 -0
  16. package/dist/cjs/src/client/common.d.cts +30 -0
  17. package/dist/cjs/src/client/common.js.map +1 -0
  18. package/dist/cjs/src/client/customers.cjs +283 -0
  19. package/dist/cjs/src/client/customers.d.cts +251 -0
  20. package/dist/cjs/src/client/customers.js.map +1 -0
  21. package/dist/cjs/src/client/debug.cjs +27 -0
  22. package/dist/cjs/src/client/debug.d.cts +17 -0
  23. package/dist/cjs/src/client/debug.js.map +1 -0
  24. package/dist/cjs/src/client/entitlements.cjs +281 -0
  25. package/dist/cjs/src/client/entitlements.d.cts +556 -0
  26. package/dist/cjs/src/client/entitlements.js.map +1 -0
  27. package/dist/cjs/src/client/events.cjs +113 -0
  28. package/dist/cjs/src/client/events.d.cts +48 -0
  29. package/dist/cjs/src/client/events.js.map +1 -0
  30. package/dist/cjs/src/client/features.cjs +78 -0
  31. package/dist/cjs/src/client/features.d.cts +78 -0
  32. package/dist/cjs/src/client/features.js.map +1 -0
  33. package/dist/cjs/src/client/index.cjs +120 -0
  34. package/dist/cjs/src/client/index.d.cts +53 -0
  35. package/dist/cjs/src/client/index.js.map +1 -0
  36. package/dist/cjs/src/client/info.cjs +42 -0
  37. package/dist/cjs/src/client/info.d.cts +34 -0
  38. package/dist/cjs/src/client/info.js.map +1 -0
  39. package/dist/cjs/src/client/meters.cjs +115 -0
  40. package/dist/cjs/src/client/meters.d.cts +123 -0
  41. package/dist/cjs/src/client/meters.js.map +1 -0
  42. package/dist/cjs/src/client/notifications.cjs +249 -0
  43. package/dist/cjs/src/client/notifications.d.cts +397 -0
  44. package/dist/cjs/src/client/notifications.js.map +1 -0
  45. package/dist/cjs/src/client/plans.cjs +204 -0
  46. package/dist/cjs/src/client/plans.d.cts +247 -0
  47. package/dist/cjs/src/client/plans.js.map +1 -0
  48. package/dist/cjs/src/client/portal.cjs +55 -0
  49. package/dist/cjs/src/client/portal.d.cts +48 -0
  50. package/dist/cjs/src/client/portal.js.map +1 -0
  51. package/dist/cjs/src/client/schemas.cjs +3 -0
  52. package/dist/cjs/src/client/schemas.d.cts +25246 -0
  53. package/dist/cjs/src/client/schemas.js.map +1 -0
  54. package/dist/cjs/src/client/subjects.cjs +76 -0
  55. package/dist/cjs/src/client/subjects.d.cts +70 -0
  56. package/dist/cjs/src/client/subjects.js.map +1 -0
  57. package/dist/cjs/src/client/subscription-addons.cjs +70 -0
  58. package/dist/cjs/src/client/subscription-addons.d.cts +123 -0
  59. package/dist/cjs/src/client/subscription-addons.js.map +1 -0
  60. package/dist/cjs/src/client/subscriptions.cjs +132 -0
  61. package/dist/cjs/src/client/subscriptions.d.cts +170 -0
  62. package/dist/cjs/src/client/subscriptions.js.map +1 -0
  63. package/dist/cjs/src/client/utils.cjs +69 -0
  64. package/dist/cjs/src/client/utils.d.cts +12 -0
  65. package/dist/cjs/src/client/utils.js.map +1 -0
  66. package/dist/cjs/src/portal/index.cjs +89 -0
  67. package/dist/cjs/src/portal/index.d.cts +43 -0
  68. package/dist/cjs/src/portal/index.js.map +1 -0
  69. package/dist/cjs/src/react/context.cjs +35 -0
  70. package/dist/cjs/src/react/context.d.cts +9 -0
  71. package/dist/cjs/src/react/context.js.map +1 -0
  72. package/dist/cjs/src/zod/index.cjs +12205 -0
  73. package/dist/cjs/src/zod/index.d.cts +19139 -0
  74. package/dist/cjs/src/zod/index.js.map +1 -0
  75. package/dist/cjs/tsconfig.0bedc47d.tsbuildinfo +1 -0
  76. package/dist/cjs/tsconfig.c449a50f.tsbuildinfo +1 -0
  77. package/dist/index.d.ts +1 -14
  78. package/dist/index.js +2 -15
  79. package/dist/index.js.map +1 -0
  80. package/dist/src/client/addons.d.ts +152 -0
  81. package/dist/src/client/addons.js +101 -0
  82. package/dist/src/client/addons.js.map +1 -0
  83. package/dist/src/client/apps.d.ts +327 -0
  84. package/dist/src/client/apps.js +240 -0
  85. package/dist/src/client/apps.js.map +1 -0
  86. package/dist/src/client/billing.d.ts +526 -0
  87. package/dist/src/client/billing.js +354 -0
  88. package/dist/src/client/billing.js.map +1 -0
  89. package/dist/src/client/common.d.ts +30 -0
  90. package/dist/src/client/common.js +42 -0
  91. package/dist/src/client/common.js.map +1 -0
  92. package/dist/src/client/customers.d.ts +251 -0
  93. package/dist/src/client/customers.js +276 -0
  94. package/dist/src/client/customers.js.map +1 -0
  95. package/dist/src/client/debug.d.ts +17 -0
  96. package/dist/src/client/debug.js +23 -0
  97. package/dist/src/client/debug.js.map +1 -0
  98. package/dist/src/client/entitlements.d.ts +556 -0
  99. package/dist/src/client/entitlements.js +276 -0
  100. package/dist/src/client/entitlements.js.map +1 -0
  101. package/dist/src/client/events.d.ts +48 -0
  102. package/dist/src/client/events.js +108 -0
  103. package/dist/src/client/events.js.map +1 -0
  104. package/dist/src/client/features.d.ts +78 -0
  105. package/dist/src/client/features.js +74 -0
  106. package/dist/src/client/features.js.map +1 -0
  107. package/dist/src/client/index.d.ts +53 -0
  108. package/dist/src/client/index.js +80 -0
  109. package/dist/src/client/index.js.map +1 -0
  110. package/dist/src/client/info.d.ts +34 -0
  111. package/dist/src/client/info.js +38 -0
  112. package/dist/src/client/info.js.map +1 -0
  113. package/dist/src/client/meters.d.ts +123 -0
  114. package/dist/src/client/meters.js +111 -0
  115. package/dist/src/client/meters.js.map +1 -0
  116. package/dist/src/client/notifications.d.ts +397 -0
  117. package/dist/src/client/notifications.js +242 -0
  118. package/dist/src/client/notifications.js.map +1 -0
  119. package/dist/src/client/plans.d.ts +247 -0
  120. package/dist/src/client/plans.js +199 -0
  121. package/dist/src/client/plans.js.map +1 -0
  122. package/dist/src/client/portal.d.ts +48 -0
  123. package/dist/src/client/portal.js +51 -0
  124. package/dist/src/client/portal.js.map +1 -0
  125. package/dist/src/client/schemas.d.ts +25246 -0
  126. package/dist/src/client/schemas.js +2 -0
  127. package/dist/src/client/schemas.js.map +1 -0
  128. package/dist/src/client/subjects.d.ts +70 -0
  129. package/dist/src/client/subjects.js +72 -0
  130. package/dist/src/client/subjects.js.map +1 -0
  131. package/dist/src/client/subscription-addons.d.ts +123 -0
  132. package/dist/src/client/subscription-addons.js +66 -0
  133. package/dist/src/client/subscription-addons.js.map +1 -0
  134. package/dist/src/client/subscriptions.d.ts +170 -0
  135. package/dist/src/client/subscriptions.js +128 -0
  136. package/dist/src/client/subscriptions.js.map +1 -0
  137. package/dist/src/client/utils.d.ts +12 -0
  138. package/dist/src/client/utils.js +63 -0
  139. package/dist/src/client/utils.js.map +1 -0
  140. package/dist/src/portal/index.d.ts +43 -0
  141. package/dist/src/portal/index.js +52 -0
  142. package/dist/src/portal/index.js.map +1 -0
  143. package/dist/src/react/context.d.ts +9 -0
  144. package/dist/src/react/context.js +16 -0
  145. package/dist/src/react/context.js.map +1 -0
  146. package/dist/src/zod/index.d.ts +19139 -0
  147. package/dist/src/zod/index.js +12178 -0
  148. package/dist/src/zod/index.js.map +1 -0
  149. package/dist/tsconfig.tsbuildinfo +1 -1
  150. package/orval.config.ts +42 -0
  151. package/package.json +89 -35
  152. package/patches/openapi-typescript.patch +6194 -0
  153. package/dist/clients/client.d.ts +0 -40
  154. package/dist/clients/client.js +0 -104
  155. package/dist/clients/event.d.ts +0 -79
  156. package/dist/clients/event.js +0 -53
  157. package/dist/clients/meter.d.ts +0 -71
  158. package/dist/clients/meter.js +0 -64
  159. package/dist/clients/portal.d.ts +0 -23
  160. package/dist/clients/portal.js +0 -37
  161. package/dist/next.d.ts +0 -15
  162. package/dist/next.js +0 -46
  163. package/dist/schemas/openapi.d.ts +0 -460
  164. package/dist/schemas/openapi.js +0 -5
  165. package/dist/test/agent.d.ts +0 -2
  166. package/dist/test/agent.js +0 -178
  167. package/dist/test/mocks.d.ts +0 -12
  168. package/dist/test/mocks.js +0 -32
  169. package/index.ts +0 -22
  170. package/next.ts +0 -76
@@ -0,0 +1,354 @@
1
+ import { transformResponse } from './utils.js';
2
+ /**
3
+ * Billing
4
+ */
5
+ export class Billing {
6
+ client;
7
+ profiles;
8
+ invoices;
9
+ customers;
10
+ constructor(client) {
11
+ this.client = client;
12
+ this.profiles = new BillingProfiles(this.client);
13
+ this.invoices = new BillingInvoices(this.client);
14
+ this.customers = new BillingCustomers(this.client);
15
+ }
16
+ }
17
+ /**
18
+ * Billing Profiles
19
+ */
20
+ export class BillingProfiles {
21
+ client;
22
+ constructor(client) {
23
+ this.client = client;
24
+ }
25
+ /**
26
+ * Create a billing profile
27
+ * @param billingProfile - The billing profile to create
28
+ * @param signal - An optional abort signal
29
+ * @returns The created billing profile
30
+ */
31
+ async create(billingProfile, options) {
32
+ const resp = await this.client.POST('/api/v1/billing/profiles', {
33
+ body: billingProfile,
34
+ ...options,
35
+ });
36
+ return transformResponse(resp);
37
+ }
38
+ /**
39
+ * Get a billing profile by ID
40
+ * @param id - The ID of the billing profile to get
41
+ * @param signal - An optional abort signal
42
+ * @returns The billing profile
43
+ */
44
+ async get(id, options) {
45
+ const resp = await this.client.GET('/api/v1/billing/profiles/{id}', {
46
+ params: {
47
+ path: { id },
48
+ },
49
+ ...options,
50
+ });
51
+ return transformResponse(resp);
52
+ }
53
+ /**
54
+ * List billing profiles
55
+ * @param query - The query parameters
56
+ * @param signal - An optional abort signal
57
+ * @returns The billing profiles
58
+ */
59
+ async list(query, options) {
60
+ const resp = await this.client.GET('/api/v1/billing/profiles', {
61
+ params: {
62
+ query,
63
+ },
64
+ ...options,
65
+ });
66
+ return transformResponse(resp);
67
+ }
68
+ /**
69
+ * Update a billing profile
70
+ * @param id - The ID of the billing profile to update
71
+ * @param billingProfile - The billing profile to update
72
+ * @param signal - An optional abort signal
73
+ * @returns The updated billing profile
74
+ */
75
+ async update(id, billingProfile, options) {
76
+ const resp = await this.client.PUT('/api/v1/billing/profiles/{id}', {
77
+ body: billingProfile,
78
+ params: {
79
+ path: { id },
80
+ },
81
+ ...options,
82
+ });
83
+ return transformResponse(resp);
84
+ }
85
+ /**
86
+ * Delete a billing profile
87
+ * @param id - The ID of the billing profile to delete
88
+ * @param options - The request options
89
+ * @returns The deleted billing profile
90
+ */
91
+ async delete(id, options) {
92
+ const resp = await this.client.DELETE('/api/v1/billing/profiles/{id}', {
93
+ params: {
94
+ path: { id },
95
+ },
96
+ ...options,
97
+ });
98
+ return transformResponse(resp);
99
+ }
100
+ }
101
+ /**
102
+ * Billing Invoices
103
+ */
104
+ export class BillingInvoices {
105
+ client;
106
+ constructor(client) {
107
+ this.client = client;
108
+ }
109
+ /**
110
+ * List invoices
111
+ * @param query - The query parameters
112
+ * @param signal - An optional abort signal
113
+ * @returns The invoices
114
+ */
115
+ async list(query, options) {
116
+ const resp = await this.client.GET('/api/v1/billing/invoices', {
117
+ params: {
118
+ query,
119
+ },
120
+ ...options,
121
+ });
122
+ return transformResponse(resp);
123
+ }
124
+ /**
125
+ * Get an invoice by ID
126
+ * @param id - The ID of the invoice to get
127
+ * @param signal - An optional abort signal
128
+ * @returns The invoice
129
+ */
130
+ async get(id, options) {
131
+ const resp = await this.client.GET('/api/v1/billing/invoices/{invoiceId}', {
132
+ params: {
133
+ path: { invoiceId: id },
134
+ },
135
+ ...options,
136
+ });
137
+ return transformResponse(resp);
138
+ }
139
+ /**
140
+ * Update an invoice
141
+ * @description Only invoices in draft or earlier status can be updated.
142
+ * @param id - The ID of the invoice to update
143
+ * @param invoice - The invoice to update
144
+ * @param signal - An optional abort signal
145
+ * @returns The updated invoice
146
+ */
147
+ async update(id, invoice, options) {
148
+ const resp = await this.client.PUT('/api/v1/billing/invoices/{invoiceId}', {
149
+ body: invoice,
150
+ params: { path: { invoiceId: id } },
151
+ ...options,
152
+ });
153
+ return transformResponse(resp);
154
+ }
155
+ /**
156
+ * Delete an invoice
157
+ * @description Only invoices that are in the draft (or earlier) status can be deleted.
158
+ * @param id - The ID of the invoice to delete
159
+ * @param options - The request options
160
+ * @returns The deleted invoice
161
+ */
162
+ async delete(id, options) {
163
+ const resp = await this.client.DELETE('/api/v1/billing/invoices/{invoiceId}', {
164
+ params: { path: { invoiceId: id } },
165
+ ...options,
166
+ });
167
+ return transformResponse(resp);
168
+ }
169
+ /**
170
+ * Advance the invoice to the next status
171
+ * @description The call doesn't "approve the invoice", it only advances the invoice to the next status if the transition would be automatic. The action can be called when the invoice's statusDetails' actions field contain the "advance" action.
172
+ * @param id - The ID of the invoice to advance
173
+ * @param signal - An optional abort signal
174
+ * @returns The advanced invoice
175
+ */
176
+ async advance(id, options) {
177
+ const resp = await this.client.POST('/api/v1/billing/invoices/{invoiceId}/advance', {
178
+ params: { path: { invoiceId: id } },
179
+ ...options,
180
+ });
181
+ return transformResponse(resp);
182
+ }
183
+ /**
184
+ * Approve an invoice
185
+ * @description This call instantly sends the invoice to the customer using the configured billing profile app.
186
+ * @param id - The ID of the invoice to approve
187
+ * @param signal - An optional abort signal
188
+ * @returns The approved invoice
189
+ */
190
+ async approve(id, options) {
191
+ const resp = await this.client.POST('/api/v1/billing/invoices/{invoiceId}/approve', {
192
+ params: { path: { invoiceId: id } },
193
+ ...options,
194
+ });
195
+ return transformResponse(resp);
196
+ }
197
+ /**
198
+ * Retry advancing the invoice after a failed attempt.
199
+ * @param id - The ID of the invoice to retry
200
+ * @param signal - An optional abort signal
201
+ * @returns The retried invoice
202
+ */
203
+ async retry(id, options) {
204
+ const resp = await this.client.POST('/api/v1/billing/invoices/{invoiceId}/retry', {
205
+ params: { path: { invoiceId: id } },
206
+ ...options,
207
+ });
208
+ return transformResponse(resp);
209
+ }
210
+ /**
211
+ * Void an invoice
212
+ * @description Void an invoice
213
+ *
214
+ * Only invoices that have been alread issued can be voided.
215
+ * @param id - The ID of the invoice to void
216
+ * @param signal - An optional abort signal
217
+ * @returns The voided invoice
218
+ */
219
+ async void(id, body, options) {
220
+ const resp = await this.client.POST('/api/v1/billing/invoices/{invoiceId}/void', {
221
+ body,
222
+ params: { path: { invoiceId: id } },
223
+ ...options,
224
+ });
225
+ return transformResponse(resp);
226
+ }
227
+ /**
228
+ * Recalculate an invoice's tax amounts
229
+ * @param id - The ID of the invoice to recalculate
230
+ * @param signal - An optional abort signal
231
+ * @returns The recalculated invoice
232
+ */
233
+ async recalculateTax(id, options) {
234
+ const resp = await this.client.POST('/api/v1/billing/invoices/{invoiceId}/taxes/recalculate', {
235
+ params: { path: { invoiceId: id } },
236
+ ...options,
237
+ });
238
+ return transformResponse(resp);
239
+ }
240
+ /**
241
+ * Simulate an invoice for a customer
242
+ * @param id - The ID of the customer to simulate the invoice for
243
+ * @param signal - An optional abort signal
244
+ * @returns The simulated invoice
245
+ */
246
+ async simulate(id, body, options) {
247
+ const resp = await this.client.POST('/api/v1/billing/customers/{customerId}/invoices/simulate', {
248
+ body,
249
+ params: { path: { customerId: id } },
250
+ ...options,
251
+ });
252
+ return transformResponse(resp);
253
+ }
254
+ /**
255
+ * Create pending line items
256
+ * @description Create new pending line items (charges).
257
+ * This call is used to create a new pending line item for the customer if required a new
258
+ * gathering invoice will be created.
259
+ *
260
+ * A new invoice will be created if:
261
+ * - there is no invoice in gathering state
262
+ * - the currency of the line item doesn't match the currency of any invoices in gathering state
263
+ * @param customerId - The ID of the customer to create the line items for
264
+ * @param body - The line items to create
265
+ * @param signal - An optional abort signal
266
+ * @returns The created line items
267
+ */
268
+ async createLineItems(customerId, body, options) {
269
+ const resp = await this.client.POST('/api/v1/billing/customers/{customerId}/invoices/pending-lines', {
270
+ body,
271
+ params: { path: { customerId } },
272
+ ...options,
273
+ });
274
+ return transformResponse(resp);
275
+ }
276
+ /**
277
+ * Invoice a customer based on the pending line items
278
+ * @description Create a new invoice from the pending line items. This should only be called if for some reason we need to invoice a customer outside of the normal billing cycle.
279
+ * @param body - The invoice data
280
+ * @param options - The request options
281
+ * @returns The created invoices
282
+ */
283
+ async invoicePendingLines(body, options) {
284
+ const resp = await this.client.POST('/api/v1/billing/invoices/invoice', {
285
+ body,
286
+ ...options,
287
+ });
288
+ return transformResponse(resp);
289
+ }
290
+ }
291
+ /**
292
+ * Billing Customer Invoices and Overrides
293
+ */
294
+ export class BillingCustomers {
295
+ client;
296
+ constructor(client) {
297
+ this.client = client;
298
+ }
299
+ /**
300
+ * Create or update a customer override
301
+ * @param id - The ID of the customer to create the override for
302
+ * @param body - The customer override to create
303
+ * @param signal - An optional abort signal
304
+ * @returns The created customer override
305
+ */
306
+ async createOverride(id, body, options) {
307
+ const resp = await this.client.PUT('/api/v1/billing/customers/{customerId}', {
308
+ body,
309
+ params: { path: { customerId: id } },
310
+ ...options,
311
+ });
312
+ return transformResponse(resp);
313
+ }
314
+ /**
315
+ * Get a customer override
316
+ * @param id - The ID of the customer to get the override for
317
+ * @param signal - An optional abort signal
318
+ * @returns The customer override
319
+ */
320
+ async getOverride(id, options) {
321
+ const resp = await this.client.GET('/api/v1/billing/customers/{customerId}', {
322
+ params: { path: { customerId: id } },
323
+ ...options,
324
+ });
325
+ return transformResponse(resp);
326
+ }
327
+ /**
328
+ * List customer overrides
329
+ * @param query - The query parameters
330
+ * @param signal - An optional abort signal
331
+ * @returns The customer overrides
332
+ */
333
+ async listOverrides(query, options) {
334
+ const resp = await this.client.GET('/api/v1/billing/customers', {
335
+ params: { query },
336
+ ...options,
337
+ });
338
+ return transformResponse(resp);
339
+ }
340
+ /**
341
+ * Delete a customer override
342
+ * @param id - The ID of the customer to delete the override for
343
+ * @param signal - An optional abort signal
344
+ * @returns The deleted customer override
345
+ */
346
+ async deleteOverride(id, options) {
347
+ const resp = await this.client.DELETE('/api/v1/billing/customers/{customerId}', {
348
+ params: { path: { customerId: id } },
349
+ ...options,
350
+ });
351
+ return transformResponse(resp);
352
+ }
353
+ }
354
+ //# sourceMappingURL=billing.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"billing.js","sourceRoot":"","sources":["../../../src/client/billing.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,30 @@
1
+ import type { UnexpectedProblemResponse } from './schemas.js';
2
+ /**
3
+ * Request options
4
+ */
5
+ export type RequestOptions = Pick<RequestInit, 'signal'>;
6
+ /**
7
+ * An error that occurred during an HTTP request
8
+ */
9
+ export declare class HTTPError extends Error {
10
+ message: string;
11
+ type: string;
12
+ title: string;
13
+ status: number;
14
+ url: string;
15
+ protected __raw?: Record<string, any> | undefined;
16
+ name: string;
17
+ client: string;
18
+ constructor(message: string, type: string, title: string, status: number, url: string, __raw?: Record<string, any> | undefined);
19
+ static fromResponse(resp: {
20
+ response: Response;
21
+ error?: UnexpectedProblemResponse;
22
+ }): HTTPError;
23
+ getField(key: string): any;
24
+ }
25
+ /**
26
+ * Check if an error is an HTTPError
27
+ * @param error - The error to check
28
+ * @returns Whether the error is an HTTPError
29
+ */
30
+ export declare function isHTTPError(error: unknown): error is HTTPError;
@@ -0,0 +1,42 @@
1
+ /**
2
+ * An error that occurred during an HTTP request
3
+ */
4
+ export class HTTPError extends Error {
5
+ message;
6
+ type;
7
+ title;
8
+ status;
9
+ url;
10
+ __raw;
11
+ name = 'HTTPError';
12
+ client = 'OpenMeter';
13
+ constructor(message, type, title, status, url, __raw) {
14
+ super(message);
15
+ this.message = message;
16
+ this.type = type;
17
+ this.title = title;
18
+ this.status = status;
19
+ this.url = url;
20
+ this.__raw = __raw;
21
+ }
22
+ static fromResponse(resp) {
23
+ if (resp.response.headers.get('Content-Type') ===
24
+ 'application/problem+json' &&
25
+ resp.error) {
26
+ return new HTTPError(`Request failed (${resp.response.url}) [${resp.response.status}]: ${resp.error.detail}`, resp.error.type, resp.error.title, resp.error.status ?? resp.response.status, resp.response.url, resp.error);
27
+ }
28
+ return new HTTPError(`Request failed (${resp.response.url}) [${resp.response.status}]: ${resp.response.statusText}`, resp.response.statusText, resp.response.statusText, resp.response.status, resp.response.url);
29
+ }
30
+ getField(key) {
31
+ return this.__raw?.[key];
32
+ }
33
+ }
34
+ /**
35
+ * Check if an error is an HTTPError
36
+ * @param error - The error to check
37
+ * @returns Whether the error is an HTTPError
38
+ */
39
+ export function isHTTPError(error) {
40
+ return error instanceof HTTPError;
41
+ }
42
+ //# sourceMappingURL=common.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"common.js","sourceRoot":"","sources":["../../../src/client/common.ts"],"names":[],"mappings":"AAOA;;GAEG;AACH,MAAM,OAAO,SAAU,SAAQ,KAAK;IAKzB;IACA;IACA;IACA;IACA;IACG;IATL,IAAI,GAAG,WAAW,CAAA;IAClB,MAAM,GAAG,WAAW,CAAA;IAE3B,YACS,OAAe,EACf,IAAY,EACZ,KAAa,EACb,MAAc,EACd,GAAW,EACR,KAA2B;QAErC,KAAK,CAAC,OAAO,CAAC,CAAA;QAPP,YAAO,GAAP,OAAO,CAAQ;QACf,SAAI,GAAJ,IAAI,CAAQ;QACZ,UAAK,GAAL,KAAK,CAAQ;QACb,WAAM,GAAN,MAAM,CAAQ;QACd,QAAG,GAAH,GAAG,CAAQ;QACR,UAAK,GAAL,KAAK,CAAsB;IAGvC,CAAC;IAED,MAAM,CAAC,YAAY,CAAC,IAGnB;QACC,IACE,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC;YACvC,0BAA0B;YAC5B,IAAI,CAAC,KAAK,EACV,CAAC;YACD,OAAO,IAAI,SAAS,CAClB,mBAAmB,IAAI,CAAC,QAAQ,CAAC,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,MAAM,MAAM,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,EACvF,IAAI,CAAC,KAAK,CAAC,IAAI,EACf,IAAI,CAAC,KAAK,CAAC,KAAK,EAChB,IAAI,CAAC,KAAK,CAAC,MAAM,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,EACzC,IAAI,CAAC,QAAQ,CAAC,GAAG,EACjB,IAAI,CAAC,KAAK,CACX,CAAA;QACH,CAAC;QAED,OAAO,IAAI,SAAS,CAClB,mBAAmB,IAAI,CAAC,QAAQ,CAAC,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,MAAM,MAAM,IAAI,CAAC,QAAQ,CAAC,UAAU,EAAE,EAC9F,IAAI,CAAC,QAAQ,CAAC,UAAU,EACxB,IAAI,CAAC,QAAQ,CAAC,UAAU,EACxB,IAAI,CAAC,QAAQ,CAAC,MAAM,EACpB,IAAI,CAAC,QAAQ,CAAC,GAAG,CAClB,CAAA;IACH,CAAC;IAED,QAAQ,CAAC,GAAW;QAClB,OAAO,IAAI,CAAC,KAAK,EAAE,CAAC,GAAG,CAAC,CAAA;IAC1B,CAAC;CACF;AAED;;;;GAIG;AACH,MAAM,UAAU,WAAW,CAAC,KAAc;IACxC,OAAO,KAAK,YAAY,SAAS,CAAA;AACnC,CAAC"}