@vrplatform/api 1.3.1-stage.2287 → 1.3.1-stage.2296

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 (171) hide show
  1. package/build/main/{services/api/client.js → client.js} +27 -44
  2. package/build/main/client.js.map +1 -0
  3. package/build/main/error.d.ts +22 -0
  4. package/build/main/{services/api/error.js → error.js} +8 -12
  5. package/build/main/error.js.map +1 -0
  6. package/build/main/generated/openapi-fetch.d.ts +224 -0
  7. package/build/main/generated/openapi-fetch.js +14 -0
  8. package/build/main/generated/openapi-fetch.js.map +1 -0
  9. package/build/{module/services/api → main}/generated/v1.d.ts +185 -1168
  10. package/build/main/{services/api/generated → generated}/v1.js.map +1 -1
  11. package/build/main/index.d.ts +6 -14
  12. package/build/main/index.js +3 -19
  13. package/build/main/index.js.map +1 -1
  14. package/build/main/tsconfig.main.tsbuildinfo +1 -1
  15. package/build/main/types.d.ts +61 -0
  16. package/build/main/types.js.map +1 -0
  17. package/build/module/client.js +66 -0
  18. package/build/module/client.js.map +1 -0
  19. package/build/module/error.d.ts +22 -0
  20. package/build/module/{services/api/error.js → error.js} +8 -12
  21. package/build/module/error.js.map +1 -0
  22. package/build/module/generated/openapi-fetch.d.ts +224 -0
  23. package/build/module/generated/openapi-fetch.js +2 -0
  24. package/build/module/generated/openapi-fetch.js.map +1 -0
  25. package/build/{main/services/api → module}/generated/v1.d.ts +185 -1168
  26. package/build/module/{services/api/generated → generated}/v1.js.map +1 -1
  27. package/build/module/index.d.ts +6 -14
  28. package/build/module/index.js +3 -6
  29. package/build/module/index.js.map +1 -1
  30. package/build/module/tsconfig.esm.tsbuildinfo +1 -1
  31. package/build/module/types.d.ts +61 -0
  32. package/build/module/types.js.map +1 -0
  33. package/package.json +7 -39
  34. package/src/client.ts +99 -0
  35. package/src/error.ts +71 -0
  36. package/src/generated/openapi-fetch.ts +433 -0
  37. package/src/{services/api/generated → generated}/v1.ts +185 -1168
  38. package/src/index.ts +7 -49
  39. package/src/types.ts +98 -0
  40. package/build/main/analytics/client.d.ts +0 -16
  41. package/build/main/analytics/client.js +0 -81
  42. package/build/main/analytics/client.js.map +0 -1
  43. package/build/main/analytics/index.d.ts +0 -2
  44. package/build/main/analytics/index.js +0 -19
  45. package/build/main/analytics/index.js.map +0 -1
  46. package/build/main/analytics/types.d.ts +0 -77
  47. package/build/main/analytics/types.js.map +0 -1
  48. package/build/main/service-client.d.ts +0 -15
  49. package/build/main/service-client.js +0 -90
  50. package/build/main/service-client.js.map +0 -1
  51. package/build/main/services/analytics/client.d.ts +0 -16
  52. package/build/main/services/analytics/client.js +0 -33
  53. package/build/main/services/analytics/client.js.map +0 -1
  54. package/build/main/services/analytics/generated/v1.d.ts +0 -359
  55. package/build/main/services/analytics/generated/v1.js.map +0 -1
  56. package/build/main/services/api/client.js.map +0 -1
  57. package/build/main/services/api/error.d.ts +0 -22
  58. package/build/main/services/api/error.js.map +0 -1
  59. package/build/main/services/api/generated/v1.js +0 -7
  60. package/build/main/services/api/index.d.ts +0 -6
  61. package/build/main/services/api/index.js +0 -20
  62. package/build/main/services/api/index.js.map +0 -1
  63. package/build/main/services/api/types.d.ts +0 -128
  64. package/build/main/services/api/types.js +0 -3
  65. package/build/main/services/api/types.js.map +0 -1
  66. package/build/main/services/cache/client.d.ts +0 -16
  67. package/build/main/services/cache/client.js +0 -33
  68. package/build/main/services/cache/client.js.map +0 -1
  69. package/build/main/services/cache/generated/v1.d.ts +0 -1009
  70. package/build/main/services/cache/generated/v1.js +0 -7
  71. package/build/main/services/cache/generated/v1.js.map +0 -1
  72. package/build/main/services/cache/index.d.ts +0 -2
  73. package/build/main/services/cache/index.js +0 -18
  74. package/build/main/services/cache/index.js.map +0 -1
  75. package/build/main/services/control-plane/client.d.ts +0 -17
  76. package/build/main/services/control-plane/client.js +0 -33
  77. package/build/main/services/control-plane/client.js.map +0 -1
  78. package/build/main/services/control-plane/generated/v1.d.ts +0 -2123
  79. package/build/main/services/control-plane/generated/v1.js +0 -7
  80. package/build/main/services/control-plane/generated/v1.js.map +0 -1
  81. package/build/main/services/control-plane/index.d.ts +0 -2
  82. package/build/main/services/control-plane/index.js +0 -18
  83. package/build/main/services/control-plane/index.js.map +0 -1
  84. package/build/main/services/ingest/client.d.ts +0 -16
  85. package/build/main/services/ingest/client.js +0 -33
  86. package/build/main/services/ingest/client.js.map +0 -1
  87. package/build/main/services/ingest/generated/v1.d.ts +0 -1920
  88. package/build/main/services/ingest/generated/v1.js +0 -7
  89. package/build/main/services/ingest/generated/v1.js.map +0 -1
  90. package/build/main/services/ingest/index.d.ts +0 -2
  91. package/build/main/services/ingest/index.js +0 -18
  92. package/build/main/services/ingest/index.js.map +0 -1
  93. package/build/module/analytics/client.d.ts +0 -16
  94. package/build/module/analytics/client.js +0 -39
  95. package/build/module/analytics/client.js.map +0 -1
  96. package/build/module/analytics/index.d.ts +0 -2
  97. package/build/module/analytics/index.js +0 -3
  98. package/build/module/analytics/index.js.map +0 -1
  99. package/build/module/analytics/types.d.ts +0 -77
  100. package/build/module/analytics/types.js.map +0 -1
  101. package/build/module/service-client.d.ts +0 -15
  102. package/build/module/service-client.js +0 -51
  103. package/build/module/service-client.js.map +0 -1
  104. package/build/module/services/analytics/client.d.ts +0 -16
  105. package/build/module/services/analytics/client.js +0 -24
  106. package/build/module/services/analytics/client.js.map +0 -1
  107. package/build/module/services/analytics/generated/v1.d.ts +0 -359
  108. package/build/module/services/analytics/generated/v1.js.map +0 -1
  109. package/build/module/services/api/client.js +0 -83
  110. package/build/module/services/api/client.js.map +0 -1
  111. package/build/module/services/api/error.d.ts +0 -22
  112. package/build/module/services/api/error.js.map +0 -1
  113. package/build/module/services/api/generated/v1.js +0 -6
  114. package/build/module/services/api/index.d.ts +0 -6
  115. package/build/module/services/api/index.js +0 -4
  116. package/build/module/services/api/index.js.map +0 -1
  117. package/build/module/services/api/types.d.ts +0 -128
  118. package/build/module/services/api/types.js +0 -2
  119. package/build/module/services/api/types.js.map +0 -1
  120. package/build/module/services/cache/client.d.ts +0 -16
  121. package/build/module/services/cache/client.js +0 -24
  122. package/build/module/services/cache/client.js.map +0 -1
  123. package/build/module/services/cache/generated/v1.d.ts +0 -1009
  124. package/build/module/services/cache/generated/v1.js +0 -6
  125. package/build/module/services/cache/generated/v1.js.map +0 -1
  126. package/build/module/services/cache/index.d.ts +0 -2
  127. package/build/module/services/cache/index.js +0 -2
  128. package/build/module/services/cache/index.js.map +0 -1
  129. package/build/module/services/control-plane/client.d.ts +0 -17
  130. package/build/module/services/control-plane/client.js +0 -24
  131. package/build/module/services/control-plane/client.js.map +0 -1
  132. package/build/module/services/control-plane/generated/v1.d.ts +0 -2123
  133. package/build/module/services/control-plane/generated/v1.js +0 -6
  134. package/build/module/services/control-plane/generated/v1.js.map +0 -1
  135. package/build/module/services/control-plane/index.d.ts +0 -2
  136. package/build/module/services/control-plane/index.js +0 -2
  137. package/build/module/services/control-plane/index.js.map +0 -1
  138. package/build/module/services/ingest/client.d.ts +0 -16
  139. package/build/module/services/ingest/client.js +0 -24
  140. package/build/module/services/ingest/client.js.map +0 -1
  141. package/build/module/services/ingest/generated/v1.d.ts +0 -1920
  142. package/build/module/services/ingest/generated/v1.js +0 -6
  143. package/build/module/services/ingest/generated/v1.js.map +0 -1
  144. package/build/module/services/ingest/index.d.ts +0 -2
  145. package/build/module/services/ingest/index.js +0 -2
  146. package/build/module/services/ingest/index.js.map +0 -1
  147. package/src/analytics/client.ts +0 -81
  148. package/src/analytics/index.ts +0 -2
  149. package/src/analytics/types.ts +0 -83
  150. package/src/service-client.ts +0 -80
  151. package/src/services/analytics/client.ts +0 -44
  152. package/src/services/analytics/generated/v1.ts +0 -360
  153. package/src/services/api/client.ts +0 -146
  154. package/src/services/api/error.ts +0 -82
  155. package/src/services/api/index.ts +0 -8
  156. package/src/services/api/types.ts +0 -212
  157. package/src/services/cache/client.ts +0 -44
  158. package/src/services/cache/generated/v1.ts +0 -1010
  159. package/src/services/cache/index.ts +0 -2
  160. package/src/services/control-plane/client.ts +0 -46
  161. package/src/services/control-plane/generated/v1.ts +0 -2124
  162. package/src/services/control-plane/index.ts +0 -2
  163. package/src/services/ingest/client.ts +0 -44
  164. package/src/services/ingest/generated/v1.ts +0 -1921
  165. package/src/services/ingest/index.ts +0 -2
  166. /package/build/main/{services/api/client.d.ts → client.d.ts} +0 -0
  167. /package/build/main/{services/analytics/generated → generated}/v1.js +0 -0
  168. /package/build/main/{analytics/types.js → types.js} +0 -0
  169. /package/build/module/{services/api/client.d.ts → client.d.ts} +0 -0
  170. /package/build/module/{services/analytics/generated → generated}/v1.js +0 -0
  171. /package/build/module/{analytics/types.js → types.js} +0 -0
@@ -1,360 +0,0 @@
1
- /**
2
- * This file was auto-generated by openapi-typescript.
3
- * Do not make direct changes to the file.
4
- */
5
-
6
- export interface paths {
7
- "/health": {
8
- parameters: {
9
- query?: never;
10
- header?: never;
11
- path?: never;
12
- cookie?: never;
13
- };
14
- /** @description Health endpoint for analytics worker. */
15
- get: operations["getHealth"];
16
- put?: never;
17
- post?: never;
18
- delete?: never;
19
- options?: never;
20
- head?: never;
21
- patch?: never;
22
- trace?: never;
23
- };
24
- "/v1/events/track": {
25
- parameters: {
26
- query?: never;
27
- header?: never;
28
- path?: never;
29
- cookie?: never;
30
- };
31
- get?: never;
32
- put?: never;
33
- /** @description Track a single analytics event. */
34
- post: operations["postV1EventsTrack"];
35
- delete?: never;
36
- options?: never;
37
- head?: never;
38
- patch?: never;
39
- trace?: never;
40
- };
41
- "/v1/events/track-batch": {
42
- parameters: {
43
- query?: never;
44
- header?: never;
45
- path?: never;
46
- cookie?: never;
47
- };
48
- get?: never;
49
- put?: never;
50
- /** @description Track a batch of analytics events. */
51
- post: operations["postV1EventsTrackBatch"];
52
- delete?: never;
53
- options?: never;
54
- head?: never;
55
- patch?: never;
56
- trace?: never;
57
- };
58
- }
59
- export type webhooks = Record<string, never>;
60
- export interface components {
61
- schemas: never;
62
- responses: never;
63
- parameters: never;
64
- requestBodies: never;
65
- headers: never;
66
- pathItems: never;
67
- }
68
- export type $defs = Record<string, never>;
69
- export interface operations {
70
- getHealth: {
71
- parameters: {
72
- query?: never;
73
- header?: never;
74
- path?: never;
75
- cookie?: never;
76
- };
77
- requestBody?: never;
78
- responses: {
79
- /** @description Service health */
80
- 200: {
81
- headers: {
82
- [name: string]: unknown;
83
- };
84
- content: {
85
- "application/json": {
86
- ok: boolean;
87
- /** @constant */
88
- service: "analytics";
89
- };
90
- };
91
- };
92
- /** @description Bad request */
93
- 400: {
94
- headers: {
95
- [name: string]: unknown;
96
- };
97
- content: {
98
- "application/json": {
99
- code: string;
100
- message: string;
101
- };
102
- };
103
- };
104
- /** @description Unauthorized */
105
- 401: {
106
- headers: {
107
- [name: string]: unknown;
108
- };
109
- content: {
110
- "application/json": {
111
- code: string;
112
- message: string;
113
- };
114
- };
115
- };
116
- /** @description Forbidden */
117
- 403: {
118
- headers: {
119
- [name: string]: unknown;
120
- };
121
- content: {
122
- "application/json": {
123
- code: string;
124
- message: string;
125
- };
126
- };
127
- };
128
- /** @description Not found */
129
- 404: {
130
- headers: {
131
- [name: string]: unknown;
132
- };
133
- content: {
134
- "application/json": {
135
- code: string;
136
- message: string;
137
- };
138
- };
139
- };
140
- /** @description Internal server error */
141
- 500: {
142
- headers: {
143
- [name: string]: unknown;
144
- };
145
- content: {
146
- "application/json": {
147
- code: string;
148
- message: string;
149
- };
150
- };
151
- };
152
- };
153
- };
154
- postV1EventsTrack: {
155
- parameters: {
156
- query?: never;
157
- header?: never;
158
- path?: never;
159
- cookie?: never;
160
- };
161
- requestBody: {
162
- content: {
163
- "application/json": {
164
- /** Format: uuid */
165
- tenantId: string;
166
- event: string;
167
- packageName: string;
168
- /** Format: uuid */
169
- userId?: string;
170
- anonymousId?: string;
171
- groupId?: string;
172
- /** Format: date-time */
173
- trackedAt?: string;
174
- /** @default {} */
175
- properties?: {
176
- [key: string]: unknown;
177
- };
178
- };
179
- };
180
- };
181
- responses: {
182
- /** @description Tracked event id */
183
- 200: {
184
- headers: {
185
- [name: string]: unknown;
186
- };
187
- content: {
188
- "application/json": {
189
- /** Format: uuid */
190
- id: string;
191
- };
192
- };
193
- };
194
- /** @description Bad request */
195
- 400: {
196
- headers: {
197
- [name: string]: unknown;
198
- };
199
- content: {
200
- "application/json": {
201
- code: string;
202
- message: string;
203
- };
204
- };
205
- };
206
- /** @description Unauthorized */
207
- 401: {
208
- headers: {
209
- [name: string]: unknown;
210
- };
211
- content: {
212
- "application/json": {
213
- code: string;
214
- message: string;
215
- };
216
- };
217
- };
218
- /** @description Forbidden */
219
- 403: {
220
- headers: {
221
- [name: string]: unknown;
222
- };
223
- content: {
224
- "application/json": {
225
- code: string;
226
- message: string;
227
- };
228
- };
229
- };
230
- /** @description Not found */
231
- 404: {
232
- headers: {
233
- [name: string]: unknown;
234
- };
235
- content: {
236
- "application/json": {
237
- code: string;
238
- message: string;
239
- };
240
- };
241
- };
242
- /** @description Internal server error */
243
- 500: {
244
- headers: {
245
- [name: string]: unknown;
246
- };
247
- content: {
248
- "application/json": {
249
- code: string;
250
- message: string;
251
- };
252
- };
253
- };
254
- };
255
- };
256
- postV1EventsTrackBatch: {
257
- parameters: {
258
- query?: never;
259
- header?: never;
260
- path?: never;
261
- cookie?: never;
262
- };
263
- requestBody: {
264
- content: {
265
- "application/json": {
266
- events: {
267
- /** Format: uuid */
268
- tenantId: string;
269
- event: string;
270
- packageName: string;
271
- /** Format: uuid */
272
- userId?: string;
273
- anonymousId?: string;
274
- groupId?: string;
275
- /** Format: date-time */
276
- trackedAt?: string;
277
- /** @default {} */
278
- properties?: {
279
- [key: string]: unknown;
280
- };
281
- }[];
282
- };
283
- };
284
- };
285
- responses: {
286
- /** @description Tracked event ids */
287
- 200: {
288
- headers: {
289
- [name: string]: unknown;
290
- };
291
- content: {
292
- "application/json": {
293
- ids: string[];
294
- total: number;
295
- };
296
- };
297
- };
298
- /** @description Bad request */
299
- 400: {
300
- headers: {
301
- [name: string]: unknown;
302
- };
303
- content: {
304
- "application/json": {
305
- code: string;
306
- message: string;
307
- };
308
- };
309
- };
310
- /** @description Unauthorized */
311
- 401: {
312
- headers: {
313
- [name: string]: unknown;
314
- };
315
- content: {
316
- "application/json": {
317
- code: string;
318
- message: string;
319
- };
320
- };
321
- };
322
- /** @description Forbidden */
323
- 403: {
324
- headers: {
325
- [name: string]: unknown;
326
- };
327
- content: {
328
- "application/json": {
329
- code: string;
330
- message: string;
331
- };
332
- };
333
- };
334
- /** @description Not found */
335
- 404: {
336
- headers: {
337
- [name: string]: unknown;
338
- };
339
- content: {
340
- "application/json": {
341
- code: string;
342
- message: string;
343
- };
344
- };
345
- };
346
- /** @description Internal server error */
347
- 500: {
348
- headers: {
349
- [name: string]: unknown;
350
- };
351
- content: {
352
- "application/json": {
353
- code: string;
354
- message: string;
355
- };
356
- };
357
- };
358
- };
359
- };
360
- }
@@ -1,146 +0,0 @@
1
- import * as Sentry from '@sentry/core';
2
- import {
3
- type RetryableFetchParams,
4
- useRetryableFetch,
5
- } from '@vrplatform/utils';
6
- import createClient from 'openapi-fetch';
7
- import { useCache } from '../../cache';
8
- import { generateApiKeySec } from '../../sec';
9
- import { applySentryTraceHeaders } from '../../service-client';
10
- import type { paths } from './generated/v1';
11
- import type { ApiClient, ApiClientAuth } from './types';
12
-
13
- export function useApiClient({
14
- baseUrl: base,
15
- local,
16
- auth,
17
- sessionId: sid,
18
- testing,
19
- headers: h,
20
- ...retryableFetchParams
21
- }: {
22
- attempts?: number;
23
- auth?: ApiClientAuth | (() => ApiClientAuth);
24
- baseUrl?: string;
25
- sessionId?: string;
26
- local?: boolean | number;
27
- headers?: Record<string, string> | (() => Record<string, string>);
28
- testing?: {
29
- overwriteUri?: string;
30
- getOverwriteTimestamp?: () => number | undefined;
31
- };
32
- } & RetryableFetchParams) {
33
- const baseUrl =
34
- (local
35
- ? `http://localhost:${typeof local === 'number' ? local : 8877}`
36
- : base) || 'https://api.edge.vrplatform.app';
37
-
38
- const sessionId = sid || crypto.randomUUID();
39
- const cache = useCache(
40
- async (value: string) =>
41
- generateApiKeySec(value, testing?.getOverwriteTimestamp?.()),
42
- 60_000
43
- );
44
-
45
- const retryableFetch = useRetryableFetch({
46
- ...retryableFetchParams,
47
- onRetry(arg) {
48
- cache.invalidate();
49
- if (retryableFetchParams.onRetry) {
50
- retryableFetchParams.onRetry(arg);
51
- }
52
- },
53
- });
54
-
55
- const trace = Sentry.getTraceData();
56
- const client = createClient<paths>({
57
- baseUrl,
58
- querySerializer: {
59
- array: {
60
- explode: false,
61
- style: 'form',
62
- },
63
- },
64
- fetch(req) {
65
- return retryableFetch(async () => {
66
- let clone = new Request(req);
67
- if (testing?.overwriteUri) {
68
- clone = new Request(testing.overwriteUri, clone);
69
- }
70
-
71
- const resolvedAuth = (typeof auth === 'function' ? auth() : auth) ?? {};
72
-
73
- if (sessionId) {
74
- clone.headers.set('X-Session-Id', sessionId);
75
- }
76
-
77
- if (resolvedAuth.sec) {
78
- clone.headers.set(
79
- 'X-Api-Key',
80
- `Sec ${await cache.current(resolvedAuth.sec)}`
81
- );
82
- }
83
-
84
- if (resolvedAuth.apiKey) {
85
- clone.headers.set('X-Api-Key', resolvedAuth.apiKey);
86
- }
87
-
88
- if (resolvedAuth.tenantId) {
89
- clone.headers.set('X-Team-Id', resolvedAuth.tenantId);
90
- }
91
-
92
- if (resolvedAuth.accessToken) {
93
- clone.headers.set(
94
- 'Authorization',
95
- resolvedAuth.accessToken.startsWith('Bearer ')
96
- ? resolvedAuth.accessToken
97
- : `Bearer ${resolvedAuth.accessToken}`
98
- );
99
- }
100
-
101
- const additionalHeaders = h ? (typeof h === 'function' ? h() : h) : {};
102
- for (const key in additionalHeaders) {
103
- clone.headers.set(key, additionalHeaders[key]);
104
- }
105
-
106
- applySentryTraceHeaders(clone.headers, trace);
107
-
108
- return clone;
109
- });
110
- },
111
- });
112
-
113
- const sessionClient = client as ApiClient;
114
- function withDefaultEmptyJsonBody<T extends (...args: any[]) => Promise<any>>(
115
- method: T
116
- ) {
117
- return ((url: string, ...init: [Record<string, unknown>?]) => {
118
- const currentInit = init[0];
119
-
120
- return method(
121
- url as never,
122
- (currentInit && 'body' in currentInit
123
- ? currentInit
124
- : {
125
- ...currentInit,
126
- body: {},
127
- }) as never
128
- );
129
- }) as T;
130
- }
131
-
132
- sessionClient.DELETE = withDefaultEmptyJsonBody(
133
- client.DELETE.bind(client)
134
- ) as ApiClient['DELETE'];
135
- sessionClient.PATCH = withDefaultEmptyJsonBody(
136
- client.PATCH.bind(client)
137
- ) as ApiClient['PATCH'];
138
- sessionClient.POST = withDefaultEmptyJsonBody(
139
- client.POST.bind(client)
140
- ) as ApiClient['POST'];
141
- sessionClient.PUT = withDefaultEmptyJsonBody(
142
- client.PUT.bind(client)
143
- ) as ApiClient['PUT'];
144
- sessionClient.sessionId = sessionId;
145
- return sessionClient;
146
- }
@@ -1,82 +0,0 @@
1
- import { hasValue } from '@vrplatform/utils';
2
- import type { ServiceFetchResponse } from '../../service-client';
3
-
4
- type ApiErrorPayload = {
5
- code: string;
6
- message: string;
7
- issues?: {
8
- message: string;
9
- }[];
10
- context?: Record<string, unknown>;
11
- stack?: string;
12
- };
13
-
14
- export class ApiClientError extends Error {
15
- code: string;
16
- issues: {
17
- message: string;
18
- }[];
19
- context: Record<string, unknown>;
20
-
21
- constructor(public error: ApiErrorPayload) {
22
- const message =
23
- error.message ||
24
- [
25
- error.code,
26
- error.issues
27
- ?.map((issue) =>
28
- [issue.message, (issue as { path?: string[] }).path?.join('->')]
29
- .filter(hasValue)
30
- .join(' on ')
31
- )
32
- .join(', '),
33
- ]
34
- .filter(hasValue)
35
- .join(': ');
36
-
37
- super(message);
38
- this.name = 'ApiClientError';
39
- this.code = error.code;
40
- this.issues = error.issues || [];
41
- this.context = error.context || {};
42
-
43
- if (error.stack) {
44
- this.stack = error.stack;
45
- }
46
- }
47
- }
48
-
49
- export function throwIfError<T extends ServiceFetchResponse>(
50
- response: T
51
- ): NonNullable<T['data']>;
52
- export function throwIfError<T extends ServiceFetchResponse>(
53
- response: Promise<T>
54
- ): Promise<NonNullable<T['data']>>;
55
- export function throwIfError<T extends ServiceFetchResponse>(
56
- response: Promise<T> | T
57
- ): Promise<NonNullable<T['data']>> | NonNullable<T['data']> {
58
- if (response instanceof Promise) {
59
- return response.then((resolved) => {
60
- if (resolved.response.status === 503) {
61
- throw new ApiClientError({
62
- code: 'SERVICE_UNAVAILABLE',
63
- message: 'Worker resources exceeded.',
64
- });
65
- }
66
-
67
- const error = resolved.error as ApiErrorPayload | undefined;
68
- if (error) {
69
- throw new ApiClientError(error);
70
- }
71
-
72
- return resolved.data as NonNullable<T['data']>;
73
- });
74
- }
75
-
76
- const error = response.error as ApiErrorPayload | undefined;
77
- if (error) {
78
- throw new ApiClientError(error);
79
- }
80
-
81
- return response.data as NonNullable<T['data']>;
82
- }
@@ -1,8 +0,0 @@
1
- import type { ApiClient } from './types';
2
-
3
- export * from './client';
4
- export * from './error';
5
- export type * from './generated/v1';
6
- export * from './types';
7
-
8
- export type VRPlatformApi = ApiClient;