@vrplatform/api 1.3.1-stage.2239 → 1.3.1-stage.2241
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/analytics/generated/v1.d.ts +2 -2
- package/build/main/services/analytics/generated/v1.js.map +1 -1
- package/build/main/services/api/client.js +15 -0
- package/build/main/services/api/client.js.map +1 -1
- package/build/main/services/api/generated/v1.d.ts +117 -117
- package/build/main/services/api/generated/v1.js.map +1 -1
- package/build/main/services/api/types.d.ts +68 -1
- package/build/main/services/api/types.js.map +1 -1
- package/build/main/services/cache/generated/v1.d.ts +6 -6
- package/build/main/services/cache/generated/v1.js.map +1 -1
- package/build/main/services/control-plane/generated/v1.d.ts +10 -10
- package/build/main/services/control-plane/generated/v1.js.map +1 -1
- package/build/main/services/ingest/generated/v1.d.ts +9 -9
- package/build/main/services/ingest/generated/v1.js.map +1 -1
- package/build/module/services/analytics/generated/v1.d.ts +2 -2
- package/build/module/services/analytics/generated/v1.js.map +1 -1
- package/build/module/services/api/client.js +15 -0
- package/build/module/services/api/client.js.map +1 -1
- package/build/module/services/api/generated/v1.d.ts +117 -117
- package/build/module/services/api/generated/v1.js.map +1 -1
- package/build/module/services/api/types.d.ts +68 -1
- package/build/module/services/api/types.js.map +1 -1
- package/build/module/services/cache/generated/v1.d.ts +6 -6
- package/build/module/services/cache/generated/v1.js.map +1 -1
- package/build/module/services/control-plane/generated/v1.d.ts +10 -10
- package/build/module/services/control-plane/generated/v1.js.map +1 -1
- package/build/module/services/ingest/generated/v1.d.ts +9 -9
- package/build/module/services/ingest/generated/v1.js.map +1 -1
- package/package.json +4 -3
- package/src/services/analytics/generated/v1.ts +2 -2
- package/src/services/api/client.ts +30 -0
- package/src/services/api/generated/v1.ts +117 -117
- package/src/services/api/types.ts +113 -1
- package/src/services/cache/generated/v1.ts +6 -6
- package/src/services/control-plane/generated/v1.ts +10 -10
- package/src/services/ingest/generated/v1.ts +9 -9
|
@@ -157,7 +157,7 @@ export interface operations {
|
|
|
157
157
|
path?: never;
|
|
158
158
|
cookie?: never;
|
|
159
159
|
};
|
|
160
|
-
requestBody
|
|
160
|
+
requestBody: {
|
|
161
161
|
content: {
|
|
162
162
|
"application/json": {
|
|
163
163
|
/** Format: uuid */
|
|
@@ -259,7 +259,7 @@ export interface operations {
|
|
|
259
259
|
path?: never;
|
|
260
260
|
cookie?: never;
|
|
261
261
|
};
|
|
262
|
-
requestBody
|
|
262
|
+
requestBody: {
|
|
263
263
|
content: {
|
|
264
264
|
"application/json": {
|
|
265
265
|
events: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"v1.js","sourceRoot":"src/","sources":["services/analytics/generated/v1.ts"],"names":[],"mappings":";AAAA;;;GAGG","sourcesContent":["/**\n * This file was auto-generated by openapi-typescript.\n * Do not make direct changes to the file.\n */\n\nexport interface paths {\n \"/health\": {\n parameters: {\n query?: never;\n header?: never;\n path?: never;\n cookie?: never;\n };\n /** @description Health endpoint for analytics worker. */\n get: operations[\"getHealth\"];\n put?: never;\n post?: never;\n delete?: never;\n options?: never;\n head?: never;\n patch?: never;\n trace?: never;\n };\n \"/v1/events/track\": {\n parameters: {\n query?: never;\n header?: never;\n path?: never;\n cookie?: never;\n };\n get?: never;\n put?: never;\n /** @description Track a single analytics event. */\n post: operations[\"postV1EventsTrack\"];\n delete?: never;\n options?: never;\n head?: never;\n patch?: never;\n trace?: never;\n };\n \"/v1/events/track-batch\": {\n parameters: {\n query?: never;\n header?: never;\n path?: never;\n cookie?: never;\n };\n get?: never;\n put?: never;\n /** @description Track a batch of analytics events. */\n post: operations[\"postV1EventsTrackBatch\"];\n delete?: never;\n options?: never;\n head?: never;\n patch?: never;\n trace?: never;\n };\n}\nexport type webhooks = Record<string, never>;\nexport interface components {\n schemas: never;\n responses: never;\n parameters: never;\n requestBodies: never;\n headers: never;\n pathItems: never;\n}\nexport type $defs = Record<string, never>;\nexport interface operations {\n getHealth: {\n parameters: {\n query?: never;\n header?: never;\n path?: never;\n cookie?: never;\n };\n requestBody?: never;\n responses: {\n /** @description Service health */\n 200: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n ok: boolean;\n /** @constant */\n service: \"analytics\";\n };\n };\n };\n /** @description Bad request */\n 400: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n code: string;\n message: string;\n };\n };\n };\n /** @description Unauthorized */\n 401: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n code: string;\n message: string;\n };\n };\n };\n /** @description Forbidden */\n 403: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n code: string;\n message: string;\n };\n };\n };\n /** @description Not found */\n 404: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n code: string;\n message: string;\n };\n };\n };\n /** @description Internal server error */\n 500: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n code: string;\n message: string;\n };\n };\n };\n };\n };\n postV1EventsTrack: {\n parameters: {\n query?: never;\n header?: never;\n path?: never;\n cookie?: never;\n };\n requestBody?: {\n content: {\n \"application/json\": {\n /** Format: uuid */\n tenantId: string;\n event: string;\n packageName: string;\n /** Format: uuid */\n userId?: string;\n anonymousId?: string;\n groupId?: string;\n /** Format: date-time */\n trackedAt?: string;\n /** @default {} */\n properties?: {\n [key: string]: unknown;\n };\n };\n };\n };\n responses: {\n /** @description Tracked event id */\n 200: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n /** Format: uuid */\n id: string;\n };\n };\n };\n /** @description Bad request */\n 400: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n code: string;\n message: string;\n };\n };\n };\n /** @description Unauthorized */\n 401: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n code: string;\n message: string;\n };\n };\n };\n /** @description Forbidden */\n 403: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n code: string;\n message: string;\n };\n };\n };\n /** @description Not found */\n 404: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n code: string;\n message: string;\n };\n };\n };\n /** @description Internal server error */\n 500: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n code: string;\n message: string;\n };\n };\n };\n };\n };\n postV1EventsTrackBatch: {\n parameters: {\n query?: never;\n header?: never;\n path?: never;\n cookie?: never;\n };\n requestBody?: {\n content: {\n \"application/json\": {\n events: {\n /** Format: uuid */\n tenantId: string;\n event: string;\n packageName: string;\n /** Format: uuid */\n userId?: string;\n anonymousId?: string;\n groupId?: string;\n /** Format: date-time */\n trackedAt?: string;\n /** @default {} */\n properties?: {\n [key: string]: unknown;\n };\n }[];\n };\n };\n };\n responses: {\n /** @description Tracked event ids */\n 200: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n ids: string[];\n total: number;\n };\n };\n };\n /** @description Bad request */\n 400: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n code: string;\n message: string;\n };\n };\n };\n /** @description Unauthorized */\n 401: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n code: string;\n message: string;\n };\n };\n };\n /** @description Forbidden */\n 403: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n code: string;\n message: string;\n };\n };\n };\n /** @description Not found */\n 404: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n code: string;\n message: string;\n };\n };\n };\n /** @description Internal server error */\n 500: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n code: string;\n message: string;\n };\n };\n };\n };\n };\n}\n"]}
|
|
1
|
+
{"version":3,"file":"v1.js","sourceRoot":"src/","sources":["services/analytics/generated/v1.ts"],"names":[],"mappings":";AAAA;;;GAGG","sourcesContent":["/**\n * This file was auto-generated by openapi-typescript.\n * Do not make direct changes to the file.\n */\n\nexport interface paths {\n \"/health\": {\n parameters: {\n query?: never;\n header?: never;\n path?: never;\n cookie?: never;\n };\n /** @description Health endpoint for analytics worker. */\n get: operations[\"getHealth\"];\n put?: never;\n post?: never;\n delete?: never;\n options?: never;\n head?: never;\n patch?: never;\n trace?: never;\n };\n \"/v1/events/track\": {\n parameters: {\n query?: never;\n header?: never;\n path?: never;\n cookie?: never;\n };\n get?: never;\n put?: never;\n /** @description Track a single analytics event. */\n post: operations[\"postV1EventsTrack\"];\n delete?: never;\n options?: never;\n head?: never;\n patch?: never;\n trace?: never;\n };\n \"/v1/events/track-batch\": {\n parameters: {\n query?: never;\n header?: never;\n path?: never;\n cookie?: never;\n };\n get?: never;\n put?: never;\n /** @description Track a batch of analytics events. */\n post: operations[\"postV1EventsTrackBatch\"];\n delete?: never;\n options?: never;\n head?: never;\n patch?: never;\n trace?: never;\n };\n}\nexport type webhooks = Record<string, never>;\nexport interface components {\n schemas: never;\n responses: never;\n parameters: never;\n requestBodies: never;\n headers: never;\n pathItems: never;\n}\nexport type $defs = Record<string, never>;\nexport interface operations {\n getHealth: {\n parameters: {\n query?: never;\n header?: never;\n path?: never;\n cookie?: never;\n };\n requestBody?: never;\n responses: {\n /** @description Service health */\n 200: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n ok: boolean;\n /** @constant */\n service: \"analytics\";\n };\n };\n };\n /** @description Bad request */\n 400: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n code: string;\n message: string;\n };\n };\n };\n /** @description Unauthorized */\n 401: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n code: string;\n message: string;\n };\n };\n };\n /** @description Forbidden */\n 403: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n code: string;\n message: string;\n };\n };\n };\n /** @description Not found */\n 404: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n code: string;\n message: string;\n };\n };\n };\n /** @description Internal server error */\n 500: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n code: string;\n message: string;\n };\n };\n };\n };\n };\n postV1EventsTrack: {\n parameters: {\n query?: never;\n header?: never;\n path?: never;\n cookie?: never;\n };\n requestBody: {\n content: {\n \"application/json\": {\n /** Format: uuid */\n tenantId: string;\n event: string;\n packageName: string;\n /** Format: uuid */\n userId?: string;\n anonymousId?: string;\n groupId?: string;\n /** Format: date-time */\n trackedAt?: string;\n /** @default {} */\n properties?: {\n [key: string]: unknown;\n };\n };\n };\n };\n responses: {\n /** @description Tracked event id */\n 200: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n /** Format: uuid */\n id: string;\n };\n };\n };\n /** @description Bad request */\n 400: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n code: string;\n message: string;\n };\n };\n };\n /** @description Unauthorized */\n 401: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n code: string;\n message: string;\n };\n };\n };\n /** @description Forbidden */\n 403: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n code: string;\n message: string;\n };\n };\n };\n /** @description Not found */\n 404: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n code: string;\n message: string;\n };\n };\n };\n /** @description Internal server error */\n 500: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n code: string;\n message: string;\n };\n };\n };\n };\n };\n postV1EventsTrackBatch: {\n parameters: {\n query?: never;\n header?: never;\n path?: never;\n cookie?: never;\n };\n requestBody: {\n content: {\n \"application/json\": {\n events: {\n /** Format: uuid */\n tenantId: string;\n event: string;\n packageName: string;\n /** Format: uuid */\n userId?: string;\n anonymousId?: string;\n groupId?: string;\n /** Format: date-time */\n trackedAt?: string;\n /** @default {} */\n properties?: {\n [key: string]: unknown;\n };\n }[];\n };\n };\n };\n responses: {\n /** @description Tracked event ids */\n 200: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n ids: string[];\n total: number;\n };\n };\n };\n /** @description Bad request */\n 400: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n code: string;\n message: string;\n };\n };\n };\n /** @description Unauthorized */\n 401: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n code: string;\n message: string;\n };\n };\n };\n /** @description Forbidden */\n 403: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n code: string;\n message: string;\n };\n };\n };\n /** @description Not found */\n 404: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n code: string;\n message: string;\n };\n };\n };\n /** @description Internal server error */\n 500: {\n headers: {\n [name: string]: unknown;\n };\n content: {\n \"application/json\": {\n code: string;\n message: string;\n };\n };\n };\n };\n };\n}\n"]}
|
|
@@ -101,6 +101,21 @@ function useApiClient({ baseUrl: base, local, auth, sessionId: sid, testing, hea
|
|
|
101
101
|
},
|
|
102
102
|
});
|
|
103
103
|
const sessionClient = client;
|
|
104
|
+
function withDefaultEmptyJsonBody(method) {
|
|
105
|
+
return ((url, ...init) => {
|
|
106
|
+
const currentInit = init[0];
|
|
107
|
+
return method(url, (currentInit && 'body' in currentInit
|
|
108
|
+
? currentInit
|
|
109
|
+
: {
|
|
110
|
+
...currentInit,
|
|
111
|
+
body: {},
|
|
112
|
+
}));
|
|
113
|
+
});
|
|
114
|
+
}
|
|
115
|
+
sessionClient.DELETE = withDefaultEmptyJsonBody(client.DELETE.bind(client));
|
|
116
|
+
sessionClient.PATCH = withDefaultEmptyJsonBody(client.PATCH.bind(client));
|
|
117
|
+
sessionClient.POST = withDefaultEmptyJsonBody(client.POST.bind(client));
|
|
118
|
+
sessionClient.PUT = withDefaultEmptyJsonBody(client.PUT.bind(client));
|
|
104
119
|
sessionClient.sessionId = sessionId;
|
|
105
120
|
return sessionClient;
|
|
106
121
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.js","sourceRoot":"src/","sources":["services/api/client.ts"],"names":[],"mappings":"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","sourcesContent":["import * as Sentry from '@sentry/core';\nimport {\n type RetryableFetchParams,\n useRetryableFetch,\n} from '@vrplatform/utils';\nimport createClient from 'openapi-fetch';\nimport { useCache } from '../../cache';\nimport { generateApiKeySec } from '../../sec';\nimport { applySentryTraceHeaders } from '../../service-client';\nimport type { paths } from './generated/v1';\nimport type { ApiClient, ApiClientAuth } from './types';\n\nexport function useApiClient({\n baseUrl: base,\n local,\n auth,\n sessionId: sid,\n testing,\n headers: h,\n ...retryableFetchParams\n}: {\n attempts?: number;\n auth?: ApiClientAuth | (() => ApiClientAuth);\n baseUrl?: string;\n sessionId?: string;\n local?: boolean | number;\n headers?: Record<string, string> | (() => Record<string, string>);\n testing?: {\n overwriteUri?: string;\n getOverwriteTimestamp?: () => number | undefined;\n };\n} & RetryableFetchParams) {\n const baseUrl =\n (local\n ? `http://localhost:${typeof local === 'number' ? local : 8877}`\n : base) || 'https://api.edge.vrplatform.app';\n\n const sessionId = sid || crypto.randomUUID();\n const cache = useCache(\n async (value: string) =>\n generateApiKeySec(value, testing?.getOverwriteTimestamp?.()),\n 60_000\n );\n\n const retryableFetch = useRetryableFetch({\n ...retryableFetchParams,\n onRetry(arg) {\n cache.invalidate();\n if (retryableFetchParams.onRetry) {\n retryableFetchParams.onRetry(arg);\n }\n },\n });\n\n const trace = Sentry.getTraceData();\n const client = createClient<paths>({\n baseUrl,\n querySerializer: {\n array: {\n explode: false,\n style: 'form',\n },\n },\n fetch(req) {\n return retryableFetch(async () => {\n let clone = new Request(req);\n if (testing?.overwriteUri) {\n clone = new Request(testing.overwriteUri, clone);\n }\n\n const resolvedAuth = (typeof auth === 'function' ? auth() : auth) ?? {};\n\n if (sessionId) {\n clone.headers.set('X-Session-Id', sessionId);\n }\n\n if (resolvedAuth.sec) {\n clone.headers.set(\n 'X-Api-Key',\n `Sec ${await cache.current(resolvedAuth.sec)}`\n );\n }\n\n if (resolvedAuth.apiKey) {\n clone.headers.set('X-Api-Key', resolvedAuth.apiKey);\n }\n\n if (resolvedAuth.tenantId) {\n clone.headers.set('X-Team-Id', resolvedAuth.tenantId);\n }\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 const sessionClient = client as ApiClient;\n sessionClient.sessionId = sessionId;\n return sessionClient;\n}\n"]}
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"src/","sources":["services/api/client.ts"],"names":[],"mappings":"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","sourcesContent":["import * as Sentry from '@sentry/core';\nimport {\n type RetryableFetchParams,\n useRetryableFetch,\n} from '@vrplatform/utils';\nimport createClient from 'openapi-fetch';\nimport { useCache } from '../../cache';\nimport { generateApiKeySec } from '../../sec';\nimport { applySentryTraceHeaders } from '../../service-client';\nimport type { paths } from './generated/v1';\nimport type { ApiClient, ApiClientAuth } from './types';\n\nexport function useApiClient({\n baseUrl: base,\n local,\n auth,\n sessionId: sid,\n testing,\n headers: h,\n ...retryableFetchParams\n}: {\n attempts?: number;\n auth?: ApiClientAuth | (() => ApiClientAuth);\n baseUrl?: string;\n sessionId?: string;\n local?: boolean | number;\n headers?: Record<string, string> | (() => Record<string, string>);\n testing?: {\n overwriteUri?: string;\n getOverwriteTimestamp?: () => number | undefined;\n };\n} & RetryableFetchParams) {\n const baseUrl =\n (local\n ? `http://localhost:${typeof local === 'number' ? local : 8877}`\n : base) || 'https://api.edge.vrplatform.app';\n\n const sessionId = sid || crypto.randomUUID();\n const cache = useCache(\n async (value: string) =>\n generateApiKeySec(value, testing?.getOverwriteTimestamp?.()),\n 60_000\n );\n\n const retryableFetch = useRetryableFetch({\n ...retryableFetchParams,\n onRetry(arg) {\n cache.invalidate();\n if (retryableFetchParams.onRetry) {\n retryableFetchParams.onRetry(arg);\n }\n },\n });\n\n const trace = Sentry.getTraceData();\n const client = createClient<paths>({\n baseUrl,\n querySerializer: {\n array: {\n explode: false,\n style: 'form',\n },\n },\n fetch(req) {\n return retryableFetch(async () => {\n let clone = new Request(req);\n if (testing?.overwriteUri) {\n clone = new Request(testing.overwriteUri, clone);\n }\n\n const resolvedAuth = (typeof auth === 'function' ? auth() : auth) ?? {};\n\n if (sessionId) {\n clone.headers.set('X-Session-Id', sessionId);\n }\n\n if (resolvedAuth.sec) {\n clone.headers.set(\n 'X-Api-Key',\n `Sec ${await cache.current(resolvedAuth.sec)}`\n );\n }\n\n if (resolvedAuth.apiKey) {\n clone.headers.set('X-Api-Key', resolvedAuth.apiKey);\n }\n\n if (resolvedAuth.tenantId) {\n clone.headers.set('X-Team-Id', resolvedAuth.tenantId);\n }\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 const sessionClient = client as ApiClient;\n function withDefaultEmptyJsonBody<T extends (...args: any[]) => Promise<any>>(\n method: T\n ) {\n return ((url: string, ...init: [Record<string, unknown>?]) => {\n const currentInit = init[0];\n\n return method(\n url as never,\n (currentInit && 'body' in currentInit\n ? currentInit\n : {\n ...currentInit,\n body: {},\n }) as never\n );\n }) as T;\n }\n\n sessionClient.DELETE = withDefaultEmptyJsonBody(\n client.DELETE.bind(client)\n ) as ApiClient['DELETE'];\n sessionClient.PATCH = withDefaultEmptyJsonBody(\n client.PATCH.bind(client)\n ) as ApiClient['PATCH'];\n sessionClient.POST = withDefaultEmptyJsonBody(\n client.POST.bind(client)\n ) as ApiClient['POST'];\n sessionClient.PUT = withDefaultEmptyJsonBody(\n client.PUT.bind(client)\n ) as ApiClient['PUT'];\n sessionClient.sessionId = sessionId;\n return sessionClient;\n}\n"]}
|