@sebspark/openapi-client 4.0.2 → 4.0.4

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/dist/index.d.ts CHANGED
@@ -58,4 +58,4 @@ declare class GatewayGraphqlClient<T extends GatewayGraphqlClient$1 = GatewayGra
58
58
  isHealthy(): Promise<boolean>;
59
59
  }
60
60
 
61
- export { GatewayGraphqlClient, TypedAxiosClient, TypedClient };
61
+ export { GatewayGraphqlClient, type TypedAxiosClient, TypedClient };
package/dist/index.js CHANGED
@@ -1,30 +1,10 @@
1
- var __defProp = Object.defineProperty;
2
- var __defProps = Object.defineProperties;
3
- var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
4
- var __getOwnPropSymbols = Object.getOwnPropertySymbols;
5
- var __hasOwnProp = Object.prototype.hasOwnProperty;
6
- var __propIsEnum = Object.prototype.propertyIsEnumerable;
7
- var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, {enumerable: true, configurable: true, writable: true, value}) : obj[key] = value;
8
- var __spreadValues = (a, b) => {
9
- for (var prop in b || (b = {}))
10
- if (__hasOwnProp.call(b, prop))
11
- __defNormalProp(a, prop, b[prop]);
12
- if (__getOwnPropSymbols)
13
- for (var prop of __getOwnPropSymbols(b)) {
14
- if (__propIsEnum.call(b, prop))
15
- __defNormalProp(a, prop, b[prop]);
16
- }
17
- return a;
18
- };
19
- var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
20
-
21
1
  // src/index.ts
22
2
  export * from "@sebspark/retry";
23
3
 
24
4
  // src/client.ts
25
- import {fromAxiosError} from "@sebspark/openapi-core";
26
- import {getLogger} from "@sebspark/otel";
27
- import {retry} from "@sebspark/retry";
5
+ import { fromAxiosError } from "@sebspark/openapi-core";
6
+ import { getLogger } from "@sebspark/otel";
7
+ import { retry } from "@sebspark/retry";
28
8
  import axios from "axios";
29
9
  import createAuthRefreshInterceptor from "axios-auth-refresh";
30
10
 
@@ -85,7 +65,9 @@ var paramsSerializer = (format) => (params) => {
85
65
  var TypedClient = (baseURL, globalOptions) => {
86
66
  const axiosInstance = axios.create();
87
67
  const logger = getLogger("TypedClient");
88
- logger.debug(`client initialized with arrayFormat '${globalOptions?.arrayFormat}'`);
68
+ logger.debug(
69
+ `client initialized with arrayFormat '${globalOptions?.arrayFormat}'`
70
+ );
89
71
  if (globalOptions?.authorizationTokenGenerator) {
90
72
  logger.debug("authorizationTokenGenerator is set");
91
73
  axiosInstance.interceptors.request.use(async (request) => {
@@ -114,7 +96,10 @@ var TypedClient = (baseURL, globalOptions) => {
114
96
  if (globalOptions?.authorizationTokenRefresh) {
115
97
  const refreshAuthLogic = async (failedRequest) => {
116
98
  if (!axios.isAxiosError(failedRequest)) {
117
- logger.error("Failed request is not an axios error", failedRequest);
99
+ logger.error(
100
+ "Failed request is not an axios error",
101
+ failedRequest
102
+ );
118
103
  throw failedRequest;
119
104
  } else {
120
105
  logger.debug("Failed request", failedRequest);
@@ -156,31 +141,54 @@ var TypedClient = (baseURL, globalOptions) => {
156
141
  });
157
142
  }
158
143
  const client = {
159
- get: (url, args, opts) => callServer(axiosInstance, mergeArgs(baseURL, url, "get", args, opts, globalOptions), logger),
160
- post: (url, args, opts) => callServer(axiosInstance, mergeArgs(baseURL, url, "post", args, opts, globalOptions), logger),
161
- put: (url, args, opts) => callServer(axiosInstance, mergeArgs(baseURL, url, "put", args, opts, globalOptions), logger),
162
- patch: (url, args, opts) => callServer(axiosInstance, mergeArgs(baseURL, url, "patch", args, opts, globalOptions), logger),
163
- delete: (url, args, opts) => callServer(axiosInstance, mergeArgs(baseURL, url, "delete", args, opts, globalOptions), logger)
144
+ get: (url, args, opts) => callServer(
145
+ axiosInstance,
146
+ mergeArgs(baseURL, url, "get", args, opts, globalOptions),
147
+ logger
148
+ ),
149
+ post: (url, args, opts) => callServer(
150
+ axiosInstance,
151
+ mergeArgs(baseURL, url, "post", args, opts, globalOptions),
152
+ logger
153
+ ),
154
+ put: (url, args, opts) => callServer(
155
+ axiosInstance,
156
+ mergeArgs(baseURL, url, "put", args, opts, globalOptions),
157
+ logger
158
+ ),
159
+ patch: (url, args, opts) => callServer(
160
+ axiosInstance,
161
+ mergeArgs(baseURL, url, "patch", args, opts, globalOptions),
162
+ logger
163
+ ),
164
+ delete: (url, args, opts) => callServer(
165
+ axiosInstance,
166
+ mergeArgs(baseURL, url, "delete", args, opts, globalOptions),
167
+ logger
168
+ )
164
169
  };
165
- return __spreadProps(__spreadValues({}, client), {axiosInstance});
170
+ return { ...client, axiosInstance };
166
171
  };
167
172
  var callServer = async (axiosInstance, args, logger) => {
168
173
  try {
169
174
  const serializer = paramsSerializer(args.arrayFormat);
170
175
  logger.debug(`[callServer] typeof serializer: ${typeof serializer}`);
171
176
  const body = args.method?.toLowerCase() === "get" || args.method?.toLowerCase() === "delete" ? void 0 : args.body;
172
- const {headers, data} = await retry(() => axiosInstance.request({
173
- baseURL: args.baseUrl,
174
- url: args.url,
175
- method: args.method,
176
- headers: args.headers,
177
- params: args.params,
178
- paramsSerializer: serializer,
179
- data: body,
180
- httpsAgent: args.httpsAgent,
181
- httpAgent: args.httpAgent
182
- }), args.retry);
183
- return {headers, data};
177
+ const { headers, data } = await retry(
178
+ () => axiosInstance.request({
179
+ baseURL: args.baseUrl,
180
+ url: args.url,
181
+ method: args.method,
182
+ headers: args.headers,
183
+ params: args.params,
184
+ paramsSerializer: serializer,
185
+ data: body,
186
+ httpsAgent: args.httpsAgent,
187
+ httpAgent: args.httpAgent
188
+ }),
189
+ args.retry
190
+ );
191
+ return { headers, data };
184
192
  } catch (error) {
185
193
  throw fromAxiosError(error);
186
194
  }
@@ -206,15 +214,22 @@ var mergeArgs = (baseUrl, url, method, requestArgs, extras, global) => {
206
214
  return merged;
207
215
  };
208
216
  var merge = (prop, ...args) => Object.assign({}, ...args.map((a) => a?.[prop] || {}));
209
- var setParams = (url, params = {}) => Object.entries(params).reduce((url2, [key, val]) => url2.replace(new RegExp(`/:${key}(?!\\w|\\d)`, "g"), `/${val}`), url);
217
+ var setParams = (url, params = {}) => Object.entries(params).reduce(
218
+ (url2, [key, val]) => url2.replace(new RegExp(`/:${key}(?!\\w|\\d)`, "g"), `/${val}`),
219
+ url
220
+ );
210
221
 
211
222
  // src/graphql/client.ts
212
223
  import {
213
224
  apiGatewayTokenByUrlGenerator,
214
225
  apiGatewayTokenRefresh
215
226
  } from "@sebspark/openapi-auth-iam";
216
- import {getLogger as getLogger2} from "@sebspark/otel";
227
+ import { getLogger as getLogger2 } from "@sebspark/otel";
217
228
  var GatewayGraphqlClient = class {
229
+ client;
230
+ logger;
231
+ uri;
232
+ options;
218
233
  constructor(args) {
219
234
  this.uri = args.uri;
220
235
  this.logger = getLogger2("GatewayGraphqlClient");
@@ -234,7 +249,7 @@ var GatewayGraphqlClient = class {
234
249
  async graphql(query, variables) {
235
250
  try {
236
251
  const response = await this.client.post("/graphql", {
237
- body: {query: query.trim(), variables}
252
+ body: { query: query.trim(), variables }
238
253
  });
239
254
  if (response.data.errors) {
240
255
  this.logger.error(`Error posting graphql query to: ${this.uri}`);
@@ -260,3 +275,4 @@ export {
260
275
  GatewayGraphqlClient,
261
276
  TypedClient
262
277
  };
278
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/index.ts","../src/client.ts","../src/paramsSerializer.ts","../src/graphql/client.ts"],"sourcesContent":["export * from '@sebspark/retry'\nexport * from './client'\nexport * from './graphql/index'\n","import type {\n APIResponse,\n BaseClient,\n ClientOptions,\n RequestArgs,\n RequestOptions,\n} from '@sebspark/openapi-core'\nimport { fromAxiosError } from '@sebspark/openapi-core'\nimport { getLogger } from '@sebspark/otel'\nimport { retry } from '@sebspark/retry'\nimport type {\n AxiosError,\n AxiosInstance,\n AxiosRequestConfig,\n AxiosResponse,\n} from 'axios'\nimport axios from 'axios'\nimport createAuthRefreshInterceptor from 'axios-auth-refresh'\nimport { paramsSerializer } from './paramsSerializer'\n\nexport type TypedAxiosClient<T> = T & {\n axiosInstance: AxiosInstance\n}\n\nexport const TypedClient = <C extends Partial<BaseClient>>(\n baseURL: string,\n globalOptions?: ClientOptions\n): TypedAxiosClient<C> => {\n const axiosInstance = axios.create()\n\n const logger = getLogger('TypedClient')\n\n logger.debug(\n `client initialized with arrayFormat '${globalOptions?.arrayFormat}'`\n )\n\n if (globalOptions?.authorizationTokenGenerator) {\n logger.debug('authorizationTokenGenerator is set')\n\n axiosInstance.interceptors.request.use(async (request) => {\n const url = `${request.baseURL}${request.url}`\n logger.debug(`Intercepting request to ${url}`)\n\n if (globalOptions?.authorizationTokenGenerator && url) {\n try {\n const authorizationTokenHeaders =\n await globalOptions.authorizationTokenGenerator(url)\n\n if (authorizationTokenHeaders) {\n for (const key of Object.keys(authorizationTokenHeaders)) {\n const value = authorizationTokenHeaders[key]\n logger.debug(`Setting header ${key} to ${value}`)\n request.headers[key] = value\n }\n }\n } catch (error) {\n logger.error(`Error generating token for URL: ${url}`, error as Error)\n throw error\n }\n }\n\n logger.debug('Intercepted request:')\n logger.debug(JSON.stringify(request, null, 2))\n return request\n })\n }\n\n if (globalOptions?.authorizationTokenRefresh) {\n const refreshAuthLogic = async (\n // biome-ignore lint/suspicious/noExplicitAny: Defined by dependency\n failedRequest: any\n ): Promise<AxiosResponse> => {\n if (!axios.isAxiosError(failedRequest)) {\n logger.error(\n 'Failed request is not an axios error',\n failedRequest as Error\n )\n throw failedRequest\n } else {\n logger.debug('Failed request', failedRequest)\n }\n\n const axiosError = failedRequest as AxiosError\n\n logger.debug('Failed request config', axiosError.config)\n\n const url = `${axiosError.config?.baseURL}${axiosError.config?.url}`\n if (globalOptions?.authorizationTokenRefresh && url) {\n logger.debug(`Refreshing token for URL ${url}`)\n try {\n await globalOptions?.authorizationTokenRefresh(url)\n } catch (error) {\n logger.error(`Error refreshing token for URL: ${url}`, error as Error)\n throw error\n }\n }\n\n return axiosError.response as AxiosResponse\n }\n\n createAuthRefreshInterceptor(axiosInstance, refreshAuthLogic)\n }\n\n if (logger) {\n axiosInstance.interceptors.request.use((request) => {\n const requestObject = {\n url: request.url,\n params: request.params,\n headers: request.headers,\n }\n logger.debug('request', requestObject)\n return request\n })\n\n axiosInstance.interceptors.response.use((response) => {\n const responseObject = {\n data: response.data,\n config: response.config,\n headers: response.headers,\n }\n\n logger.debug('response', responseObject)\n return response\n })\n }\n\n const client: BaseClient = {\n get: (url, args, opts) =>\n callServer(\n axiosInstance,\n mergeArgs(baseURL, url, 'get', args, opts, globalOptions),\n logger\n ),\n post: (url, args, opts) =>\n callServer(\n axiosInstance,\n mergeArgs(baseURL, url, 'post', args, opts, globalOptions),\n logger\n ),\n put: (url, args, opts) =>\n callServer(\n axiosInstance,\n mergeArgs(baseURL, url, 'put', args, opts, globalOptions),\n logger\n ),\n patch: (url, args, opts) =>\n callServer(\n axiosInstance,\n mergeArgs(baseURL, url, 'patch', args, opts, globalOptions),\n logger\n ),\n delete: (url, args, opts) =>\n callServer(\n axiosInstance,\n mergeArgs(baseURL, url, 'delete', args, opts, globalOptions),\n logger\n ),\n }\n\n return { ...client, axiosInstance } as TypedAxiosClient<C>\n}\n\nconst callServer = async <\n R extends APIResponse<\n unknown | undefined,\n Record<string, string> | undefined\n >,\n>(\n axiosInstance: AxiosInstance,\n args: Partial<ClientOptions & RequestArgs>,\n logger: ReturnType<typeof getLogger>\n): Promise<R> => {\n try {\n const serializer = paramsSerializer((args as ClientOptions).arrayFormat)\n\n logger.debug(`[callServer] typeof serializer: ${typeof serializer}`)\n\n const body =\n args.method?.toLowerCase() === 'get' ||\n args.method?.toLowerCase() === 'delete'\n ? undefined\n : args.body\n const { headers, data } = await retry(\n () =>\n axiosInstance.request({\n baseURL: args.baseUrl,\n url: args.url,\n method: args.method,\n headers: args.headers as AxiosRequestConfig['headers'],\n params: args.params,\n paramsSerializer: serializer,\n data: body,\n httpsAgent: args.httpsAgent,\n httpAgent: args.httpAgent,\n }),\n args.retry\n )\n return { headers, data } as R\n } catch (error) {\n throw fromAxiosError(error as AxiosError)\n }\n}\n\nconst mergeArgs = (\n baseUrl: string,\n url: string,\n method: string,\n requestArgs: RequestArgs | RequestOptions | undefined,\n extras: RequestOptions | undefined,\n global: ClientOptions | undefined\n): Partial<ClientOptions & RequestArgs> => {\n const params = merge('params', global, requestArgs, extras)\n const query = merge('query', global, requestArgs, extras)\n const headers = merge('headers', global, requestArgs, extras)\n const body = merge('body', global, requestArgs, extras)\n const retry = merge('retry', global, requestArgs, extras)\n const merged: Partial<ClientOptions & RequestArgs> = {\n url: setParams(url, params),\n baseUrl,\n method,\n params: query,\n headers,\n body,\n retry,\n arrayFormat: global?.arrayFormat,\n httpsAgent: extras?.httpsAgent,\n httpAgent: extras?.httpAgent,\n }\n\n return merged\n}\n\nconst merge = (\n prop: keyof (ClientOptions & RequestArgs),\n // biome-ignore lint/suspicious/noExplicitAny: it is any\n ...args: (any | undefined)[]\n // biome-ignore lint/suspicious/noExplicitAny: it is any\n): any => Object.assign({}, ...args.map((a) => a?.[prop] || {}))\n\nconst setParams = (url: string, params: Record<string, string> = {}): string =>\n Object.entries(params).reduce(\n (url, [key, val]) =>\n url.replace(new RegExp(`/:${key}(?!\\\\w|\\\\d)`, 'g'), `/${val}`),\n url\n )\n","import type { ArrayFormat } from '@sebspark/openapi-core'\n\ntype Param = boolean | string | number | Date | undefined | Array<Param>\ntype Params = Record<string, Param>\n\nconst encodeParam = (param: string) => encodeURIComponent(param)\nconst encodeValue = (param: Param, encodeCommas = false) => {\n if (param instanceof Date) {\n return encodeURIComponent(param.toISOString())\n }\n if (\n typeof param === 'number' ||\n typeof param === 'string' ||\n typeof param === 'boolean'\n ) {\n if (encodeCommas) {\n return encodeURIComponent(param)\n }\n\n return param\n .toString()\n .split(',')\n .map((p) => encodeURIComponent(p))\n .join(',')\n }\n\n return ''\n}\n\nexport const paramsSerializer = (format?: ArrayFormat) => (params?: Params) => {\n if (!params) {\n return ''\n }\n\n const s = []\n\n for (const [key, value] of Object.entries(params)) {\n if (value === undefined) {\n continue\n }\n\n if (Array.isArray(value)) {\n const title = encodeParam(key)\n\n if (format === 'comma') {\n s.push(`${title}=${value.map((v) => encodeValue(v, true)).join(',')}`)\n continue\n }\n\n value.forEach((v, ix) => {\n const value = encodeValue(v)\n\n switch (format) {\n case 'indices': {\n s.push(`${title}[${ix}]=${value}`)\n break\n }\n case 'repeat': {\n s.push(`${title}=${value}`)\n break\n }\n default: {\n s.push(`${title}[]=${value}`)\n break\n }\n }\n })\n } else {\n s.push(`${encodeParam(key)}=${encodeValue(value)}`)\n }\n }\n\n return s.join('&')\n}\n","import {\n apiGatewayTokenByUrlGenerator,\n apiGatewayTokenRefresh,\n} from '@sebspark/openapi-auth-iam'\nimport type { ClientOptions } from '@sebspark/openapi-core'\nimport { getLogger } from '@sebspark/otel'\nimport { TypedClient } from '../client'\nimport type {\n GatewayGraphqlClientArgs,\n GatewayGraphqlClient as GatewayGraphqlClientType,\n} from './types'\n\nexport class GatewayGraphqlClient<\n T extends GatewayGraphqlClientType = GatewayGraphqlClientType,\n> {\n public client: T\n public logger: ReturnType<typeof getLogger>\n private uri: string\n private options: ClientOptions\n\n constructor(args: GatewayGraphqlClientArgs) {\n this.uri = args.uri\n this.logger = getLogger('GatewayGraphqlClient')\n this.options = {\n timeout: 10 * 1000,\n authorizationTokenGenerator: async (url) => {\n this.logger.debug(`Generating token for: ${this.uri}`)\n return apiGatewayTokenByUrlGenerator(args.apiKey)(url)\n },\n authorizationTokenRefresh: async (url) => {\n this.logger.debug(`Refreshing token for: ${this.uri}`)\n return apiGatewayTokenRefresh()(url)\n },\n }\n this.client = TypedClient<T>(args.uri, this.options)\n }\n\n public async graphql<K>(query: string, variables?: Record<string, unknown>) {\n try {\n const response = await this.client.post('/graphql', {\n body: { query: query.trim(), variables },\n })\n\n if (response.data.errors) {\n this.logger.error(`Error posting graphql query to: ${this.uri}`)\n throw new Error(response.data.errors.map((e) => e.message).join('\\n'))\n }\n\n return response.data.data as K\n } catch (error) {\n this.logger.error(`Error posting graphql: ${this.uri}`)\n throw error\n }\n }\n\n public async isHealthy() {\n try {\n await this.client.get('/health')\n return true\n } catch (error) {\n this.logger.error(error as Error)\n }\n return false\n }\n}\n"],"mappings":"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","names":["value","retry","url","getLogger","getLogger"]}
package/package.json CHANGED
@@ -1,16 +1,22 @@
1
1
  {
2
2
  "name": "@sebspark/openapi-client",
3
- "version": "4.0.2",
3
+ "version": "4.0.4",
4
4
  "license": "Apache-2.0",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
7
7
  "types": "dist/index.d.ts",
8
+ "exports": {
9
+ ".": {
10
+ "types": "./dist/index.d.ts",
11
+ "import": "./dist/index.js"
12
+ }
13
+ },
8
14
  "files": [
9
15
  "dist"
10
16
  ],
11
17
  "scripts": {
12
18
  "generate": "yarn openapi-typegen -i ./src/test/ -o ./src/test/",
13
- "build": "tsup-node src/index.ts --format esm --target node22 --dts",
19
+ "build": "tsup src/index.ts --config tsup.config.ts",
14
20
  "dev": "tsc --watch --noEmit",
15
21
  "lint": "biome check .",
16
22
  "test": "vitest run --passWithNoTests --coverage",
@@ -23,18 +29,18 @@
23
29
  "@sebspark/tsconfig": "*",
24
30
  "express": "5.1.0",
25
31
  "nock": "14.0.10",
26
- "tsup-node": "^0.1.0",
32
+ "tsup": "8.5.0",
27
33
  "vitest": "4.0.6"
28
34
  },
29
35
  "dependencies": {
30
36
  "@sebspark/openapi-auth-iam": "*",
31
37
  "@sebspark/openapi-core": "*",
32
38
  "@sebspark/retry": "*",
39
+ "@types/express-serve-static-core": "5.1.0",
33
40
  "axios": "1.13.1",
34
- "axios-auth-refresh": "3.3.6",
35
- "express-serve-static-core": "0.1.1"
41
+ "axios-auth-refresh": "3.3.6"
36
42
  },
37
43
  "peerDependencies": {
38
- "@sebspark/otel": ">=2.0.2"
44
+ "@sebspark/otel": ">=2.0.5"
39
45
  }
40
46
  }