@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.
- package/build/main/{services/api/client.js → client.js} +27 -44
- package/build/main/client.js.map +1 -0
- package/build/main/error.d.ts +22 -0
- package/build/main/{services/api/error.js → error.js} +8 -12
- package/build/main/error.js.map +1 -0
- package/build/main/generated/openapi-fetch.d.ts +224 -0
- package/build/main/generated/openapi-fetch.js +14 -0
- package/build/main/generated/openapi-fetch.js.map +1 -0
- package/build/{module/services/api → main}/generated/v1.d.ts +185 -1168
- package/build/main/{services/api/generated → generated}/v1.js.map +1 -1
- package/build/main/index.d.ts +6 -14
- package/build/main/index.js +3 -19
- package/build/main/index.js.map +1 -1
- package/build/main/tsconfig.main.tsbuildinfo +1 -1
- package/build/main/types.d.ts +61 -0
- package/build/main/types.js.map +1 -0
- package/build/module/client.js +66 -0
- package/build/module/client.js.map +1 -0
- package/build/module/error.d.ts +22 -0
- package/build/module/{services/api/error.js → error.js} +8 -12
- package/build/module/error.js.map +1 -0
- package/build/module/generated/openapi-fetch.d.ts +224 -0
- package/build/module/generated/openapi-fetch.js +2 -0
- package/build/module/generated/openapi-fetch.js.map +1 -0
- package/build/{main/services/api → module}/generated/v1.d.ts +185 -1168
- package/build/module/{services/api/generated → generated}/v1.js.map +1 -1
- package/build/module/index.d.ts +6 -14
- package/build/module/index.js +3 -6
- package/build/module/index.js.map +1 -1
- package/build/module/tsconfig.esm.tsbuildinfo +1 -1
- package/build/module/types.d.ts +61 -0
- package/build/module/types.js.map +1 -0
- package/package.json +7 -39
- package/src/client.ts +99 -0
- package/src/error.ts +71 -0
- package/src/generated/openapi-fetch.ts +433 -0
- package/src/{services/api/generated → generated}/v1.ts +185 -1168
- package/src/index.ts +7 -49
- package/src/types.ts +98 -0
- package/build/main/analytics/client.d.ts +0 -16
- package/build/main/analytics/client.js +0 -81
- package/build/main/analytics/client.js.map +0 -1
- package/build/main/analytics/index.d.ts +0 -2
- package/build/main/analytics/index.js +0 -19
- package/build/main/analytics/index.js.map +0 -1
- package/build/main/analytics/types.d.ts +0 -77
- package/build/main/analytics/types.js.map +0 -1
- package/build/main/service-client.d.ts +0 -15
- package/build/main/service-client.js +0 -90
- package/build/main/service-client.js.map +0 -1
- package/build/main/services/analytics/client.d.ts +0 -16
- package/build/main/services/analytics/client.js +0 -33
- package/build/main/services/analytics/client.js.map +0 -1
- package/build/main/services/analytics/generated/v1.d.ts +0 -359
- package/build/main/services/analytics/generated/v1.js.map +0 -1
- package/build/main/services/api/client.js.map +0 -1
- package/build/main/services/api/error.d.ts +0 -22
- package/build/main/services/api/error.js.map +0 -1
- package/build/main/services/api/generated/v1.js +0 -7
- package/build/main/services/api/index.d.ts +0 -6
- package/build/main/services/api/index.js +0 -20
- package/build/main/services/api/index.js.map +0 -1
- package/build/main/services/api/types.d.ts +0 -128
- package/build/main/services/api/types.js +0 -3
- package/build/main/services/api/types.js.map +0 -1
- package/build/main/services/cache/client.d.ts +0 -16
- package/build/main/services/cache/client.js +0 -33
- package/build/main/services/cache/client.js.map +0 -1
- package/build/main/services/cache/generated/v1.d.ts +0 -1009
- package/build/main/services/cache/generated/v1.js +0 -7
- package/build/main/services/cache/generated/v1.js.map +0 -1
- package/build/main/services/cache/index.d.ts +0 -2
- package/build/main/services/cache/index.js +0 -18
- package/build/main/services/cache/index.js.map +0 -1
- package/build/main/services/control-plane/client.d.ts +0 -17
- package/build/main/services/control-plane/client.js +0 -33
- package/build/main/services/control-plane/client.js.map +0 -1
- package/build/main/services/control-plane/generated/v1.d.ts +0 -2123
- package/build/main/services/control-plane/generated/v1.js +0 -7
- package/build/main/services/control-plane/generated/v1.js.map +0 -1
- package/build/main/services/control-plane/index.d.ts +0 -2
- package/build/main/services/control-plane/index.js +0 -18
- package/build/main/services/control-plane/index.js.map +0 -1
- package/build/main/services/ingest/client.d.ts +0 -16
- package/build/main/services/ingest/client.js +0 -33
- package/build/main/services/ingest/client.js.map +0 -1
- package/build/main/services/ingest/generated/v1.d.ts +0 -1920
- package/build/main/services/ingest/generated/v1.js +0 -7
- package/build/main/services/ingest/generated/v1.js.map +0 -1
- package/build/main/services/ingest/index.d.ts +0 -2
- package/build/main/services/ingest/index.js +0 -18
- package/build/main/services/ingest/index.js.map +0 -1
- package/build/module/analytics/client.d.ts +0 -16
- package/build/module/analytics/client.js +0 -39
- package/build/module/analytics/client.js.map +0 -1
- package/build/module/analytics/index.d.ts +0 -2
- package/build/module/analytics/index.js +0 -3
- package/build/module/analytics/index.js.map +0 -1
- package/build/module/analytics/types.d.ts +0 -77
- package/build/module/analytics/types.js.map +0 -1
- package/build/module/service-client.d.ts +0 -15
- package/build/module/service-client.js +0 -51
- package/build/module/service-client.js.map +0 -1
- package/build/module/services/analytics/client.d.ts +0 -16
- package/build/module/services/analytics/client.js +0 -24
- package/build/module/services/analytics/client.js.map +0 -1
- package/build/module/services/analytics/generated/v1.d.ts +0 -359
- package/build/module/services/analytics/generated/v1.js.map +0 -1
- package/build/module/services/api/client.js +0 -83
- package/build/module/services/api/client.js.map +0 -1
- package/build/module/services/api/error.d.ts +0 -22
- package/build/module/services/api/error.js.map +0 -1
- package/build/module/services/api/generated/v1.js +0 -6
- package/build/module/services/api/index.d.ts +0 -6
- package/build/module/services/api/index.js +0 -4
- package/build/module/services/api/index.js.map +0 -1
- package/build/module/services/api/types.d.ts +0 -128
- package/build/module/services/api/types.js +0 -2
- package/build/module/services/api/types.js.map +0 -1
- package/build/module/services/cache/client.d.ts +0 -16
- package/build/module/services/cache/client.js +0 -24
- package/build/module/services/cache/client.js.map +0 -1
- package/build/module/services/cache/generated/v1.d.ts +0 -1009
- package/build/module/services/cache/generated/v1.js +0 -6
- package/build/module/services/cache/generated/v1.js.map +0 -1
- package/build/module/services/cache/index.d.ts +0 -2
- package/build/module/services/cache/index.js +0 -2
- package/build/module/services/cache/index.js.map +0 -1
- package/build/module/services/control-plane/client.d.ts +0 -17
- package/build/module/services/control-plane/client.js +0 -24
- package/build/module/services/control-plane/client.js.map +0 -1
- package/build/module/services/control-plane/generated/v1.d.ts +0 -2123
- package/build/module/services/control-plane/generated/v1.js +0 -6
- package/build/module/services/control-plane/generated/v1.js.map +0 -1
- package/build/module/services/control-plane/index.d.ts +0 -2
- package/build/module/services/control-plane/index.js +0 -2
- package/build/module/services/control-plane/index.js.map +0 -1
- package/build/module/services/ingest/client.d.ts +0 -16
- package/build/module/services/ingest/client.js +0 -24
- package/build/module/services/ingest/client.js.map +0 -1
- package/build/module/services/ingest/generated/v1.d.ts +0 -1920
- package/build/module/services/ingest/generated/v1.js +0 -6
- package/build/module/services/ingest/generated/v1.js.map +0 -1
- package/build/module/services/ingest/index.d.ts +0 -2
- package/build/module/services/ingest/index.js +0 -2
- package/build/module/services/ingest/index.js.map +0 -1
- package/src/analytics/client.ts +0 -81
- package/src/analytics/index.ts +0 -2
- package/src/analytics/types.ts +0 -83
- package/src/service-client.ts +0 -80
- package/src/services/analytics/client.ts +0 -44
- package/src/services/analytics/generated/v1.ts +0 -360
- package/src/services/api/client.ts +0 -146
- package/src/services/api/error.ts +0 -82
- package/src/services/api/index.ts +0 -8
- package/src/services/api/types.ts +0 -212
- package/src/services/cache/client.ts +0 -44
- package/src/services/cache/generated/v1.ts +0 -1010
- package/src/services/cache/index.ts +0 -2
- package/src/services/control-plane/client.ts +0 -46
- package/src/services/control-plane/generated/v1.ts +0 -2124
- package/src/services/control-plane/index.ts +0 -2
- package/src/services/ingest/client.ts +0 -44
- package/src/services/ingest/generated/v1.ts +0 -1921
- package/src/services/ingest/index.ts +0 -2
- /package/build/main/{services/api/client.d.ts → client.d.ts} +0 -0
- /package/build/main/{services/analytics/generated → generated}/v1.js +0 -0
- /package/build/main/{analytics/types.js → types.js} +0 -0
- /package/build/module/{services/api/client.d.ts → client.d.ts} +0 -0
- /package/build/module/{services/analytics/generated → generated}/v1.js +0 -0
- /package/build/module/{analytics/types.js → types.js} +0 -0
package/src/index.ts
CHANGED
|
@@ -1,50 +1,8 @@
|
|
|
1
|
-
|
|
2
|
-
export type { AnalyticsApiClient } from './services/analytics/client';
|
|
1
|
+
import type { ApiClient } from './types';
|
|
3
2
|
|
|
4
|
-
export
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
export type
|
|
10
|
-
components as AnalyticsComponents,
|
|
11
|
-
operations as AnalyticsOperations,
|
|
12
|
-
paths as AnalyticsPaths,
|
|
13
|
-
} from './services/analytics/generated/v1';
|
|
14
|
-
export * from './services/api';
|
|
15
|
-
export type { CacheApiClient } from './services/cache/client';
|
|
16
|
-
export {
|
|
17
|
-
CacheApiError,
|
|
18
|
-
throwIfError as throwIfCacheError,
|
|
19
|
-
useCacheApiClient,
|
|
20
|
-
} from './services/cache/client';
|
|
21
|
-
export type {
|
|
22
|
-
components as CacheComponents,
|
|
23
|
-
operations as CacheOperations,
|
|
24
|
-
paths as CachePaths,
|
|
25
|
-
} from './services/cache/generated/v1';
|
|
26
|
-
export type {
|
|
27
|
-
ControlPlaneApiClient,
|
|
28
|
-
TenantRoutingResponse,
|
|
29
|
-
} from './services/control-plane/client';
|
|
30
|
-
export {
|
|
31
|
-
ControlPlaneApiError,
|
|
32
|
-
throwIfError as throwIfControlPlaneError,
|
|
33
|
-
useControlPlaneApiClient,
|
|
34
|
-
} from './services/control-plane/client';
|
|
35
|
-
export type {
|
|
36
|
-
components as ControlPlaneComponents,
|
|
37
|
-
operations as ControlPlaneOperations,
|
|
38
|
-
paths as ControlPlanePaths,
|
|
39
|
-
} from './services/control-plane/generated/v1';
|
|
40
|
-
export type { IngestApiClient } from './services/ingest/client';
|
|
41
|
-
export {
|
|
42
|
-
IngestApiError,
|
|
43
|
-
throwIfError as throwIfIngestError,
|
|
44
|
-
useIngestApiClient,
|
|
45
|
-
} from './services/ingest/client';
|
|
46
|
-
export type {
|
|
47
|
-
components as IngestComponents,
|
|
48
|
-
operations as IngestOperations,
|
|
49
|
-
paths as IngestPaths,
|
|
50
|
-
} from './services/ingest/generated/v1';
|
|
3
|
+
export * from './client';
|
|
4
|
+
export * from './error';
|
|
5
|
+
export type * from './generated/v1';
|
|
6
|
+
export * from './types';
|
|
7
|
+
|
|
8
|
+
export type VRPlatformApi = ApiClient;
|
package/src/types.ts
ADDED
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
import type createClient from 'openapi-fetch';
|
|
2
|
+
import type { paths } from './generated/v1';
|
|
3
|
+
|
|
4
|
+
export type ApiClientAuth = {
|
|
5
|
+
apiKey?: string;
|
|
6
|
+
sec?: string;
|
|
7
|
+
tenantId?: string;
|
|
8
|
+
accessToken?: string;
|
|
9
|
+
};
|
|
10
|
+
export type ApiClient = ReturnType<typeof createClient<paths>> & {
|
|
11
|
+
sessionId: string;
|
|
12
|
+
};
|
|
13
|
+
type ResponseCombinations = {
|
|
14
|
+
[Path in keyof paths]: {
|
|
15
|
+
[Method in keyof paths[Path]]: paths[Path][Method] extends never
|
|
16
|
+
? never
|
|
17
|
+
: paths[Path][Method] extends {
|
|
18
|
+
responses: {
|
|
19
|
+
200: { content: { 'application/json': unknown } };
|
|
20
|
+
};
|
|
21
|
+
}
|
|
22
|
+
? `${Method & string}:${Path}`
|
|
23
|
+
: never;
|
|
24
|
+
}[keyof paths[Path]];
|
|
25
|
+
}[keyof paths];
|
|
26
|
+
|
|
27
|
+
export type ResponseData<T extends ResponseCombinations> =
|
|
28
|
+
T extends `${infer Method}:${infer Path}`
|
|
29
|
+
? Path extends keyof paths
|
|
30
|
+
? Method extends keyof paths[Path]
|
|
31
|
+
? paths[Path][Method] extends {
|
|
32
|
+
responses: {
|
|
33
|
+
200: { content: { 'application/json': infer Data } };
|
|
34
|
+
};
|
|
35
|
+
}
|
|
36
|
+
? Data
|
|
37
|
+
: never
|
|
38
|
+
: never
|
|
39
|
+
: never
|
|
40
|
+
: never;
|
|
41
|
+
|
|
42
|
+
type RequestBodyCombinations = {
|
|
43
|
+
[Path in keyof paths]: {
|
|
44
|
+
[Method in keyof paths[Path]]: paths[Path][Method] extends never
|
|
45
|
+
? never
|
|
46
|
+
: ExtractJsonRequestBody<paths[Path][Method]> extends never
|
|
47
|
+
? never
|
|
48
|
+
: `${Method & string}:${Path}`;
|
|
49
|
+
}[keyof paths[Path]];
|
|
50
|
+
}[keyof paths];
|
|
51
|
+
|
|
52
|
+
type ExtractJsonRequestBody<T> = T extends {
|
|
53
|
+
requestBody?: infer RequestBody;
|
|
54
|
+
}
|
|
55
|
+
? RequestBody extends {
|
|
56
|
+
content: { 'application/json': infer Data };
|
|
57
|
+
}
|
|
58
|
+
? Data
|
|
59
|
+
: never
|
|
60
|
+
: never;
|
|
61
|
+
|
|
62
|
+
export type RequestBody<T extends RequestBodyCombinations> =
|
|
63
|
+
T extends `${infer Method}:${infer Path}`
|
|
64
|
+
? Path extends keyof paths
|
|
65
|
+
? Method extends keyof paths[Path]
|
|
66
|
+
? ExtractJsonRequestBody<paths[Path][Method]>
|
|
67
|
+
: never
|
|
68
|
+
: never
|
|
69
|
+
: never;
|
|
70
|
+
|
|
71
|
+
type RequestParamCombinations = {
|
|
72
|
+
[Path in keyof paths]: {
|
|
73
|
+
[Method in keyof paths[Path]]: paths[Path][Method] extends never
|
|
74
|
+
? never
|
|
75
|
+
: paths[Path][Method] extends {
|
|
76
|
+
parameters: {
|
|
77
|
+
query?: Record<string, unknown>;
|
|
78
|
+
};
|
|
79
|
+
}
|
|
80
|
+
? `${Method & string}:${Path}`
|
|
81
|
+
: never;
|
|
82
|
+
}[keyof paths[Path]];
|
|
83
|
+
}[keyof paths];
|
|
84
|
+
|
|
85
|
+
export type RequestQuery<T extends RequestParamCombinations> =
|
|
86
|
+
T extends `${infer Method}:${infer Path}`
|
|
87
|
+
? Path extends keyof paths
|
|
88
|
+
? Method extends keyof paths[Path]
|
|
89
|
+
? paths[Path][Method] extends {
|
|
90
|
+
parameters: {
|
|
91
|
+
query?: infer Data;
|
|
92
|
+
};
|
|
93
|
+
}
|
|
94
|
+
? Data
|
|
95
|
+
: never
|
|
96
|
+
: never
|
|
97
|
+
: never
|
|
98
|
+
: never;
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
import { type RetryableFetchParams } from '@vrplatform/utils';
|
|
2
|
-
import { type ServiceFetchResponse } from '../service-client';
|
|
3
|
-
import type { AnalyticsClient, AnalyticsClientAuth } from './types';
|
|
4
|
-
export declare class AnalyticsApiClientError extends Error {
|
|
5
|
-
constructor(message: string);
|
|
6
|
-
}
|
|
7
|
-
export declare function throwIfAnalyticsError<T extends ServiceFetchResponse>(responsePromise: Promise<T> | T): Promise<{
|
|
8
|
-
data: NonNullable<T['data']>;
|
|
9
|
-
headers: Headers;
|
|
10
|
-
}>;
|
|
11
|
-
export declare function useAnalyticsClient({ baseUrl, auth, headers: h, ...retryableFetchParams }: {
|
|
12
|
-
attempts?: number;
|
|
13
|
-
auth?: AnalyticsClientAuth | (() => AnalyticsClientAuth);
|
|
14
|
-
baseUrl?: string;
|
|
15
|
-
headers?: Record<string, string> | (() => Record<string, string>);
|
|
16
|
-
} & RetryableFetchParams): AnalyticsClient;
|
|
@@ -1,81 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
-
if (k2 === undefined) k2 = k;
|
|
4
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
-
}) : function(o, v) {
|
|
16
|
-
o["default"] = v;
|
|
17
|
-
});
|
|
18
|
-
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
-
var ownKeys = function(o) {
|
|
20
|
-
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
-
var ar = [];
|
|
22
|
-
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
-
return ar;
|
|
24
|
-
};
|
|
25
|
-
return ownKeys(o);
|
|
26
|
-
};
|
|
27
|
-
return function (mod) {
|
|
28
|
-
if (mod && mod.__esModule) return mod;
|
|
29
|
-
var result = {};
|
|
30
|
-
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
-
__setModuleDefault(result, mod);
|
|
32
|
-
return result;
|
|
33
|
-
};
|
|
34
|
-
})();
|
|
35
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
36
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
37
|
-
};
|
|
38
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
39
|
-
exports.AnalyticsApiClientError = void 0;
|
|
40
|
-
exports.throwIfAnalyticsError = throwIfAnalyticsError;
|
|
41
|
-
exports.useAnalyticsClient = useAnalyticsClient;
|
|
42
|
-
const Sentry = __importStar(require("@sentry/core"));
|
|
43
|
-
const utils_1 = require("@vrplatform/utils");
|
|
44
|
-
const openapi_fetch_1 = __importDefault(require("openapi-fetch"));
|
|
45
|
-
const service_client_1 = require("../service-client");
|
|
46
|
-
class AnalyticsApiClientError extends Error {
|
|
47
|
-
constructor(message) {
|
|
48
|
-
super(message);
|
|
49
|
-
this.name = 'AnalyticsApiClientError';
|
|
50
|
-
}
|
|
51
|
-
}
|
|
52
|
-
exports.AnalyticsApiClientError = AnalyticsApiClientError;
|
|
53
|
-
async function throwIfAnalyticsError(responsePromise) {
|
|
54
|
-
return (0, service_client_1.throwIfServiceError)(responsePromise, (message) => new AnalyticsApiClientError(message), 'Analytics request failed');
|
|
55
|
-
}
|
|
56
|
-
function useAnalyticsClient({ baseUrl, auth, headers: h, ...retryableFetchParams }) {
|
|
57
|
-
const retryableFetch = (0, utils_1.useRetryableFetch)(retryableFetchParams);
|
|
58
|
-
const trace = Sentry.getTraceData();
|
|
59
|
-
const client = (0, openapi_fetch_1.default)({
|
|
60
|
-
baseUrl: baseUrl ?? 'https://analytics.edge.vrplatform.app',
|
|
61
|
-
fetch(req) {
|
|
62
|
-
return retryableFetch(async () => {
|
|
63
|
-
const clone = new Request(req);
|
|
64
|
-
const resolvedAuth = typeof auth === 'function' ? auth() : auth;
|
|
65
|
-
if (resolvedAuth?.accessToken) {
|
|
66
|
-
clone.headers.set('Authorization', resolvedAuth.accessToken.startsWith('Bearer ')
|
|
67
|
-
? resolvedAuth.accessToken
|
|
68
|
-
: `Bearer ${resolvedAuth.accessToken}`);
|
|
69
|
-
}
|
|
70
|
-
const additionalHeaders = h ? (typeof h === 'function' ? h() : h) : {};
|
|
71
|
-
for (const key in additionalHeaders) {
|
|
72
|
-
clone.headers.set(key, additionalHeaders[key]);
|
|
73
|
-
}
|
|
74
|
-
(0, service_client_1.applySentryTraceHeaders)(clone.headers, trace);
|
|
75
|
-
return clone;
|
|
76
|
-
});
|
|
77
|
-
},
|
|
78
|
-
});
|
|
79
|
-
return client;
|
|
80
|
-
}
|
|
81
|
-
//# sourceMappingURL=client.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"client.js","sourceRoot":"src/","sources":["analytics/client.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,MAAY,MAAM,yCAAqB;AACvC,6CAG2B;AAC3B,kEAAyC;AACzC,sDAI2B;AAO3B,6BAAqC,SAAQ,KAAK;IAChD,YAAY,OAAe,EAAE;QAC3B,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,yBAAyB,CAAC;IAAA,CACvC;CACF;;AAEM,KAAK,gCACV,eAA+B,EAI9B;IACD,OAAO,IAAA,oCAAmB,EACxB,eAAe,EACf,CAAC,OAAO,EAAE,EAAE,CAAC,IAAI,uBAAuB,CAAC,OAAO,CAAC,EACjD,0BAA0B,CAC3B,CAAC;AAAA,CACH;AAED,4BAAmC,EACjC,OAAO,EACP,IAAI,EACJ,OAAO,EAAE,CAAC,EACV,GAAG,oBAAoB,EAMD,EAAmB;IACzC,MAAM,cAAc,GAAG,IAAA,yBAAiB,EAAC,oBAAoB,CAAC,CAAC;IAC/D,MAAM,KAAK,GAAG,MAAM,CAAC,YAAY,EAAE,CAAC;IAEpC,MAAM,MAAM,GAAG,IAAA,uBAAY,EAAiB;QAC1C,OAAO,EAAE,OAAO,IAAI,uCAAuC;QAC3D,KAAK,CAAC,GAAG,EAAE;YACT,OAAO,cAAc,CAAC,KAAK,IAAI,EAAE,CAAC;gBAChC,MAAM,KAAK,GAAG,IAAI,OAAO,CAAC,GAAG,CAAC,CAAC;gBAC/B,MAAM,YAAY,GAAG,OAAO,IAAI,KAAK,UAAU,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;gBAEhE,IAAI,YAAY,EAAE,WAAW,EAAE,CAAC;oBAC9B,KAAK,CAAC,OAAO,CAAC,GAAG,CACf,eAAe,EACf,YAAY,CAAC,WAAW,CAAC,UAAU,CAAC,SAAS,CAAC;wBAC5C,CAAC,CAAC,YAAY,CAAC,WAAW;wBAC1B,CAAC,CAAC,UAAU,YAAY,CAAC,WAAW,EAAE,CACzC,CAAC;gBACJ,CAAC;gBAED,MAAM,iBAAiB,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,UAAU,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;gBACvE,KAAK,MAAM,GAAG,IAAI,iBAAiB,EAAE,CAAC;oBACpC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,iBAAiB,CAAC,GAAG,CAAC,CAAC,CAAC;gBACjD,CAAC;gBAED,IAAA,wCAAuB,EAAC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;gBAE9C,OAAO,KAAK,CAAC;YAAA,CACd,CAAC,CAAC;QAAA,CACJ;KACF,CAAC,CAAC;IAEH,OAAO,MAAyB,CAAC;AAAA,CAClC","sourcesContent":["import * as Sentry from '@sentry/core';\nimport {\n type RetryableFetchParams,\n useRetryableFetch,\n} from '@vrplatform/utils';\nimport createClient from 'openapi-fetch';\nimport {\n applySentryTraceHeaders,\n type ServiceFetchResponse,\n throwIfServiceError,\n} from '../service-client';\nimport type {\n AnalyticsClient,\n AnalyticsClientAuth,\n AnalyticsPaths,\n} from './types';\n\nexport class AnalyticsApiClientError extends Error {\n constructor(message: string) {\n super(message);\n this.name = 'AnalyticsApiClientError';\n }\n}\n\nexport async function throwIfAnalyticsError<T extends ServiceFetchResponse>(\n responsePromise: Promise<T> | T\n): Promise<{\n data: NonNullable<T['data']>;\n headers: Headers;\n}> {\n return throwIfServiceError(\n responsePromise,\n (message) => new AnalyticsApiClientError(message),\n 'Analytics request failed'\n );\n}\n\nexport function useAnalyticsClient({\n baseUrl,\n auth,\n headers: h,\n ...retryableFetchParams\n}: {\n attempts?: number;\n auth?: AnalyticsClientAuth | (() => AnalyticsClientAuth);\n baseUrl?: string;\n headers?: Record<string, string> | (() => Record<string, string>);\n} & RetryableFetchParams): AnalyticsClient {\n const retryableFetch = useRetryableFetch(retryableFetchParams);\n const trace = Sentry.getTraceData();\n\n const client = createClient<AnalyticsPaths>({\n baseUrl: baseUrl ?? 'https://analytics.edge.vrplatform.app',\n fetch(req) {\n return retryableFetch(async () => {\n const clone = new Request(req);\n const resolvedAuth = typeof auth === 'function' ? auth() : auth;\n\n if (resolvedAuth?.accessToken) {\n clone.headers.set(\n 'Authorization',\n resolvedAuth.accessToken.startsWith('Bearer ')\n ? resolvedAuth.accessToken\n : `Bearer ${resolvedAuth.accessToken}`\n );\n }\n\n const additionalHeaders = h ? (typeof h === 'function' ? h() : h) : {};\n for (const key in additionalHeaders) {\n clone.headers.set(key, additionalHeaders[key]);\n }\n\n applySentryTraceHeaders(clone.headers, trace);\n\n return clone;\n });\n },\n });\n\n return client as AnalyticsClient;\n}\n"]}
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
-
if (k2 === undefined) k2 = k;
|
|
4
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
-
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
-
};
|
|
16
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
-
__exportStar(require("./client"), exports);
|
|
18
|
-
__exportStar(require("./types"), exports);
|
|
19
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"src/","sources":["analytics/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,2CAAyB;AACzB,0CAAwB","sourcesContent":["export * from './client';\nexport * from './types';\n"]}
|
|
@@ -1,77 +0,0 @@
|
|
|
1
|
-
import type createClient from 'openapi-fetch';
|
|
2
|
-
type OpenApiHeaders = {
|
|
3
|
-
[name: string]: unknown;
|
|
4
|
-
};
|
|
5
|
-
type OpenApiNoParameters = {
|
|
6
|
-
query?: never;
|
|
7
|
-
header?: never;
|
|
8
|
-
path?: never;
|
|
9
|
-
cookie?: never;
|
|
10
|
-
};
|
|
11
|
-
type OpenApiJsonResponse<T> = {
|
|
12
|
-
headers: OpenApiHeaders;
|
|
13
|
-
content: {
|
|
14
|
-
'application/json': T;
|
|
15
|
-
};
|
|
16
|
-
};
|
|
17
|
-
export type UiAnalyticsEventInput = {
|
|
18
|
-
anonymousId?: string | null;
|
|
19
|
-
event: string;
|
|
20
|
-
properties?: Record<string, unknown> | null;
|
|
21
|
-
};
|
|
22
|
-
export interface AnalyticsPaths {
|
|
23
|
-
'/analytics/events': {
|
|
24
|
-
parameters: OpenApiNoParameters;
|
|
25
|
-
get?: never;
|
|
26
|
-
put?: never;
|
|
27
|
-
post: {
|
|
28
|
-
parameters: OpenApiNoParameters;
|
|
29
|
-
requestBody: {
|
|
30
|
-
content: {
|
|
31
|
-
'application/json': UiAnalyticsEventInput;
|
|
32
|
-
};
|
|
33
|
-
};
|
|
34
|
-
responses: {
|
|
35
|
-
200: OpenApiJsonResponse<{
|
|
36
|
-
id: string;
|
|
37
|
-
}>;
|
|
38
|
-
};
|
|
39
|
-
};
|
|
40
|
-
delete?: never;
|
|
41
|
-
options?: never;
|
|
42
|
-
head?: never;
|
|
43
|
-
patch?: never;
|
|
44
|
-
trace?: never;
|
|
45
|
-
};
|
|
46
|
-
'/analytics/events/batch': {
|
|
47
|
-
parameters: OpenApiNoParameters;
|
|
48
|
-
get?: never;
|
|
49
|
-
put?: never;
|
|
50
|
-
post: {
|
|
51
|
-
parameters: OpenApiNoParameters;
|
|
52
|
-
requestBody: {
|
|
53
|
-
content: {
|
|
54
|
-
'application/json': {
|
|
55
|
-
events: UiAnalyticsEventInput[];
|
|
56
|
-
};
|
|
57
|
-
};
|
|
58
|
-
};
|
|
59
|
-
responses: {
|
|
60
|
-
200: OpenApiJsonResponse<{
|
|
61
|
-
ids: string[];
|
|
62
|
-
total: number;
|
|
63
|
-
}>;
|
|
64
|
-
};
|
|
65
|
-
};
|
|
66
|
-
delete?: never;
|
|
67
|
-
options?: never;
|
|
68
|
-
head?: never;
|
|
69
|
-
patch?: never;
|
|
70
|
-
trace?: never;
|
|
71
|
-
};
|
|
72
|
-
}
|
|
73
|
-
export type AnalyticsClientAuth = {
|
|
74
|
-
accessToken?: string;
|
|
75
|
-
};
|
|
76
|
-
export type AnalyticsClient = ReturnType<typeof createClient<AnalyticsPaths>>;
|
|
77
|
-
export {};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"src/","sources":["analytics/types.ts"],"names":[],"mappings":"","sourcesContent":["import type createClient from 'openapi-fetch';\n\ntype OpenApiHeaders = {\n [name: string]: unknown;\n};\n\ntype OpenApiNoParameters = {\n query?: never;\n header?: never;\n path?: never;\n cookie?: never;\n};\n\ntype OpenApiJsonResponse<T> = {\n headers: OpenApiHeaders;\n content: {\n 'application/json': T;\n };\n};\n\nexport type UiAnalyticsEventInput = {\n anonymousId?: string | null;\n event: string;\n properties?: Record<string, unknown> | null;\n};\n\nexport interface AnalyticsPaths {\n '/analytics/events': {\n parameters: OpenApiNoParameters;\n get?: never;\n put?: never;\n post: {\n parameters: OpenApiNoParameters;\n requestBody: {\n content: {\n 'application/json': UiAnalyticsEventInput;\n };\n };\n responses: {\n 200: OpenApiJsonResponse<{\n id: string;\n }>;\n };\n };\n delete?: never;\n options?: never;\n head?: never;\n patch?: never;\n trace?: never;\n };\n '/analytics/events/batch': {\n parameters: OpenApiNoParameters;\n get?: never;\n put?: never;\n post: {\n parameters: OpenApiNoParameters;\n requestBody: {\n content: {\n 'application/json': {\n events: UiAnalyticsEventInput[];\n };\n };\n };\n responses: {\n 200: OpenApiJsonResponse<{\n ids: string[];\n total: number;\n }>;\n };\n };\n delete?: never;\n options?: never;\n head?: never;\n patch?: never;\n trace?: never;\n };\n}\n\nexport type AnalyticsClientAuth = {\n accessToken?: string;\n};\n\nexport type AnalyticsClient = ReturnType<typeof createClient<AnalyticsPaths>>;\n"]}
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
import * as Sentry from '@sentry/core';
|
|
2
|
-
export type ServiceFetchResponse<TData = unknown, TError = unknown> = {
|
|
3
|
-
data?: TData;
|
|
4
|
-
error?: TError;
|
|
5
|
-
response: Response;
|
|
6
|
-
};
|
|
7
|
-
export declare function createTraceparentHeader(sentryTrace: string | undefined): string | null;
|
|
8
|
-
export declare function applySentryTraceHeaders(headers: Headers, trace: ReturnType<typeof Sentry.getTraceData>): void;
|
|
9
|
-
export declare function withSentryTrace(request: Request): Request<unknown, CfProperties<unknown>>;
|
|
10
|
-
export declare function throwIfServiceError<T extends ServiceFetchResponse>(responsePromise: Promise<T> | T, createError: (message: string) => Error, defaultMessage: string, options?: {
|
|
11
|
-
serviceUnavailableMessage?: string;
|
|
12
|
-
}): Promise<{
|
|
13
|
-
data: NonNullable<T['data']>;
|
|
14
|
-
headers: Headers;
|
|
15
|
-
}>;
|
|
@@ -1,90 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
-
if (k2 === undefined) k2 = k;
|
|
4
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
-
}) : function(o, v) {
|
|
16
|
-
o["default"] = v;
|
|
17
|
-
});
|
|
18
|
-
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
-
var ownKeys = function(o) {
|
|
20
|
-
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
-
var ar = [];
|
|
22
|
-
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
-
return ar;
|
|
24
|
-
};
|
|
25
|
-
return ownKeys(o);
|
|
26
|
-
};
|
|
27
|
-
return function (mod) {
|
|
28
|
-
if (mod && mod.__esModule) return mod;
|
|
29
|
-
var result = {};
|
|
30
|
-
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
-
__setModuleDefault(result, mod);
|
|
32
|
-
return result;
|
|
33
|
-
};
|
|
34
|
-
})();
|
|
35
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
|
-
exports.createTraceparentHeader = createTraceparentHeader;
|
|
37
|
-
exports.applySentryTraceHeaders = applySentryTraceHeaders;
|
|
38
|
-
exports.withSentryTrace = withSentryTrace;
|
|
39
|
-
exports.throwIfServiceError = throwIfServiceError;
|
|
40
|
-
const Sentry = __importStar(require("@sentry/core"));
|
|
41
|
-
function createTraceparentHeader(sentryTrace) {
|
|
42
|
-
if (!sentryTrace) {
|
|
43
|
-
return null;
|
|
44
|
-
}
|
|
45
|
-
const [traceId, spanId, sampled] = sentryTrace.split('-');
|
|
46
|
-
if (!traceId ||
|
|
47
|
-
!spanId ||
|
|
48
|
-
traceId.length !== 32 ||
|
|
49
|
-
spanId.length !== 16 ||
|
|
50
|
-
!/^[0-9a-f]+$/i.test(traceId) ||
|
|
51
|
-
!/^[0-9a-f]+$/i.test(spanId)) {
|
|
52
|
-
return null;
|
|
53
|
-
}
|
|
54
|
-
return `00-${traceId}-${spanId}-${sampled === '1' ? '01' : '00'}`;
|
|
55
|
-
}
|
|
56
|
-
function applySentryTraceHeaders(headers, trace) {
|
|
57
|
-
if (trace['sentry-trace']) {
|
|
58
|
-
headers.set('sentry-trace', trace['sentry-trace']);
|
|
59
|
-
const traceparent = createTraceparentHeader(trace['sentry-trace']);
|
|
60
|
-
if (traceparent) {
|
|
61
|
-
headers.set('traceparent', traceparent);
|
|
62
|
-
}
|
|
63
|
-
else {
|
|
64
|
-
headers.delete('traceparent');
|
|
65
|
-
}
|
|
66
|
-
}
|
|
67
|
-
if (trace.baggage) {
|
|
68
|
-
headers.set('baggage', trace.baggage);
|
|
69
|
-
}
|
|
70
|
-
}
|
|
71
|
-
function withSentryTrace(request) {
|
|
72
|
-
applySentryTraceHeaders(request.headers, Sentry.getTraceData());
|
|
73
|
-
return request;
|
|
74
|
-
}
|
|
75
|
-
async function throwIfServiceError(responsePromise, createError, defaultMessage, options) {
|
|
76
|
-
const response = await responsePromise;
|
|
77
|
-
if (response.response.status === 503 &&
|
|
78
|
-
options?.serviceUnavailableMessage !== undefined) {
|
|
79
|
-
throw createError(options.serviceUnavailableMessage);
|
|
80
|
-
}
|
|
81
|
-
const error = response.error;
|
|
82
|
-
if (error) {
|
|
83
|
-
throw createError(error.message ?? defaultMessage);
|
|
84
|
-
}
|
|
85
|
-
return {
|
|
86
|
-
data: response.data,
|
|
87
|
-
headers: response.response.headers,
|
|
88
|
-
};
|
|
89
|
-
}
|
|
90
|
-
//# sourceMappingURL=service-client.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"service-client.js","sourceRoot":"src/","sources":["service-client.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,MAAY,MAAM,yCAAqB;AAQvC,iCAAwC,WAA+B,EAAE;IACvE,IAAI,CAAC,WAAW,EAAE,CAAC;QACjB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,GAAG,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAC1D,IACE,CAAC,OAAO;QACR,CAAC,MAAM;QACP,OAAO,CAAC,MAAM,KAAK,EAAE;QACrB,MAAM,CAAC,MAAM,KAAK,EAAE;QACpB,CAAC,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC;QAC7B,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,EAC5B,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO,MAAM,OAAO,IAAI,MAAM,IAAI,OAAO,KAAK,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;AAAA,CACnE;AAED,iCACE,OAAgB,EAChB,KAA6C,EAC7C;IACA,IAAI,KAAK,CAAC,cAAc,CAAC,EAAE,CAAC;QAC1B,OAAO,CAAC,GAAG,CAAC,cAAc,EAAE,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC;QACnD,MAAM,WAAW,GAAG,uBAAuB,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC;QACnE,IAAI,WAAW,EAAE,CAAC;YAChB,OAAO,CAAC,GAAG,CAAC,aAAa,EAAE,WAAW,CAAC,CAAC;QAC1C,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;QAChC,CAAC;IACH,CAAC;IAED,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;QAClB,OAAO,CAAC,GAAG,CAAC,SAAS,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;IACxC,CAAC;AAAA,CACF;AAED,yBAAgC,OAAgB,EAAE;IAChD,uBAAuB,CAAC,OAAO,CAAC,OAAO,EAAE,MAAM,CAAC,YAAY,EAAE,CAAC,CAAC;IAEhE,OAAO,OAAO,CAAC;AAAA,CAChB;AAEM,KAAK,8BACV,eAA+B,EAC/B,WAAuC,EACvC,cAAsB,EACtB,OAEC,EAC4D;IAC7D,MAAM,QAAQ,GAAG,MAAM,eAAe,CAAC;IAEvC,IACE,QAAQ,CAAC,QAAQ,CAAC,MAAM,KAAK,GAAG;QAChC,OAAO,EAAE,yBAAyB,KAAK,SAAS,EAChD,CAAC;QACD,MAAM,WAAW,CAAC,OAAO,CAAC,yBAAyB,CAAC,CAAC;IACvD,CAAC;IAED,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAyC,CAAC;IACjE,IAAI,KAAK,EAAE,CAAC;QACV,MAAM,WAAW,CAAC,KAAK,CAAC,OAAO,IAAI,cAAc,CAAC,CAAC;IACrD,CAAC;IAED,OAAO;QACL,IAAI,EAAE,QAAQ,CAAC,IAA8B;QAC7C,OAAO,EAAE,QAAQ,CAAC,QAAQ,CAAC,OAAO;KACnC,CAAC;AAAA,CACH","sourcesContent":["import * as Sentry from '@sentry/core';\n\nexport type ServiceFetchResponse<TData = unknown, TError = unknown> = {\n data?: TData;\n error?: TError;\n response: Response;\n};\n\nexport function createTraceparentHeader(sentryTrace: string | undefined) {\n if (!sentryTrace) {\n return null;\n }\n\n const [traceId, spanId, sampled] = sentryTrace.split('-');\n if (\n !traceId ||\n !spanId ||\n traceId.length !== 32 ||\n spanId.length !== 16 ||\n !/^[0-9a-f]+$/i.test(traceId) ||\n !/^[0-9a-f]+$/i.test(spanId)\n ) {\n return null;\n }\n\n return `00-${traceId}-${spanId}-${sampled === '1' ? '01' : '00'}`;\n}\n\nexport function applySentryTraceHeaders(\n headers: Headers,\n trace: ReturnType<typeof Sentry.getTraceData>\n) {\n if (trace['sentry-trace']) {\n headers.set('sentry-trace', trace['sentry-trace']);\n const traceparent = createTraceparentHeader(trace['sentry-trace']);\n if (traceparent) {\n headers.set('traceparent', traceparent);\n } else {\n headers.delete('traceparent');\n }\n }\n\n if (trace.baggage) {\n headers.set('baggage', trace.baggage);\n }\n}\n\nexport function withSentryTrace(request: Request) {\n applySentryTraceHeaders(request.headers, Sentry.getTraceData());\n\n return request;\n}\n\nexport async function throwIfServiceError<T extends ServiceFetchResponse>(\n responsePromise: Promise<T> | T,\n createError: (message: string) => Error,\n defaultMessage: string,\n options?: {\n serviceUnavailableMessage?: string;\n }\n): Promise<{ data: NonNullable<T['data']>; headers: Headers }> {\n const response = await responsePromise;\n\n if (\n response.response.status === 503 &&\n options?.serviceUnavailableMessage !== undefined\n ) {\n throw createError(options.serviceUnavailableMessage);\n }\n\n const error = response.error as { message?: string } | undefined;\n if (error) {\n throw createError(error.message ?? defaultMessage);\n }\n\n return {\n data: response.data as NonNullable<T['data']>,\n headers: response.response.headers,\n };\n}\n"]}
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
import createClient from 'openapi-fetch';
|
|
2
|
-
import { type ServiceFetchResponse } from '../../service-client';
|
|
3
|
-
import type { paths } from './generated/v1';
|
|
4
|
-
export declare class AnalyticsApiError extends Error {
|
|
5
|
-
constructor(message: string);
|
|
6
|
-
}
|
|
7
|
-
export type AnalyticsApiClient = ReturnType<typeof createClient<paths>>;
|
|
8
|
-
export declare function throwIfError<T extends ServiceFetchResponse>(responsePromise: Promise<T> | T): Promise<{
|
|
9
|
-
data: NonNullable<T['data']>;
|
|
10
|
-
headers: Headers;
|
|
11
|
-
}>;
|
|
12
|
-
export declare function useAnalyticsApiClient(args: {
|
|
13
|
-
env: {
|
|
14
|
-
ANALYTICS?: Fetcher;
|
|
15
|
-
};
|
|
16
|
-
}): AnalyticsApiClient;
|
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.AnalyticsApiError = void 0;
|
|
7
|
-
exports.throwIfError = throwIfError;
|
|
8
|
-
exports.useAnalyticsApiClient = useAnalyticsApiClient;
|
|
9
|
-
const openapi_fetch_1 = __importDefault(require("openapi-fetch"));
|
|
10
|
-
const service_client_1 = require("../../service-client");
|
|
11
|
-
class AnalyticsApiError extends Error {
|
|
12
|
-
constructor(message) {
|
|
13
|
-
super(message);
|
|
14
|
-
this.name = 'AnalyticsApiError';
|
|
15
|
-
}
|
|
16
|
-
}
|
|
17
|
-
exports.AnalyticsApiError = AnalyticsApiError;
|
|
18
|
-
async function throwIfError(responsePromise) {
|
|
19
|
-
return (0, service_client_1.throwIfServiceError)(responsePromise, (message) => new AnalyticsApiError(message), 'Analytics request failed');
|
|
20
|
-
}
|
|
21
|
-
function useAnalyticsApiClient(args) {
|
|
22
|
-
const binding = args.env.ANALYTICS;
|
|
23
|
-
if (!binding) {
|
|
24
|
-
throw new AnalyticsApiError('Analytics worker not found');
|
|
25
|
-
}
|
|
26
|
-
return (0, openapi_fetch_1.default)({
|
|
27
|
-
baseUrl: 'http://stub.local',
|
|
28
|
-
fetch(request) {
|
|
29
|
-
return binding.fetch((0, service_client_1.withSentryTrace)(request));
|
|
30
|
-
},
|
|
31
|
-
});
|
|
32
|
-
}
|
|
33
|
-
//# sourceMappingURL=client.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"client.js","sourceRoot":"src/","sources":["services/analytics/client.ts"],"names":[],"mappings":";;;;;;;;AAAA,kEAAyC;AACzC,yDAI8B;AAG9B,uBAA+B,SAAQ,KAAK;IAC1C,YAAY,OAAe,EAAE;QAC3B,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,mBAAmB,CAAC;IAAA,CACjC;CACF;;AAIM,KAAK,uBACV,eAA+B,EAC8B;IAC7D,OAAO,IAAA,oCAAmB,EACxB,eAAe,EACf,CAAC,OAAO,EAAE,EAAE,CAAC,IAAI,iBAAiB,CAAC,OAAO,CAAC,EAC3C,0BAA0B,CAC3B,CAAC;AAAA,CACH;AAED,+BAAsC,IAIrC,EAAsB;IACrB,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC;IACnC,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,MAAM,IAAI,iBAAiB,CAAC,4BAA4B,CAAC,CAAC;IAC5D,CAAC;IAED,OAAO,IAAA,uBAAY,EAAQ;QACzB,OAAO,EAAE,mBAAmB;QAC5B,KAAK,CAAC,OAAO,EAAE;YACb,OAAO,OAAO,CAAC,KAAK,CAAC,IAAA,gCAAe,EAAC,OAAO,CAAC,CAAC,CAAC;QAAA,CAChD;KACF,CAAC,CAAC;AAAA,CACJ","sourcesContent":["import createClient from 'openapi-fetch';\nimport {\n type ServiceFetchResponse,\n throwIfServiceError,\n withSentryTrace,\n} from '../../service-client';\nimport type { paths } from './generated/v1';\n\nexport class AnalyticsApiError extends Error {\n constructor(message: string) {\n super(message);\n this.name = 'AnalyticsApiError';\n }\n}\n\nexport type AnalyticsApiClient = ReturnType<typeof createClient<paths>>;\n\nexport async function throwIfError<T extends ServiceFetchResponse>(\n responsePromise: Promise<T> | T\n): Promise<{ data: NonNullable<T['data']>; headers: Headers }> {\n return throwIfServiceError(\n responsePromise,\n (message) => new AnalyticsApiError(message),\n 'Analytics request failed'\n );\n}\n\nexport function useAnalyticsApiClient(args: {\n env: {\n ANALYTICS?: Fetcher;\n };\n}): AnalyticsApiClient {\n const binding = args.env.ANALYTICS;\n if (!binding) {\n throw new AnalyticsApiError('Analytics worker not found');\n }\n\n return createClient<paths>({\n baseUrl: 'http://stub.local',\n fetch(request) {\n return binding.fetch(withSentryTrace(request));\n },\n });\n}\n"]}
|