@eudiplo/sdk-core 4.0.0 → 4.2.0

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.
@@ -27,7 +27,7 @@ type ArrayStyle = "form" | "spaceDelimited" | "pipeDelimited";
27
27
  type ObjectStyle = "form" | "deepObject";
28
28
 
29
29
  type QuerySerializer = (query: Record<string, unknown>) => string;
30
- type BodySerializer = (body: any) => any;
30
+ type BodySerializer = (body: unknown) => unknown;
31
31
  type QuerySerializerOptionsObject = {
32
32
  allowReserved?: boolean;
33
33
  array?: Partial<SerializerOptions<ArrayStyle>>;
@@ -41,13 +41,13 @@ type QuerySerializerOptions = QuerySerializerOptionsObject & {
41
41
  parameters?: Record<string, QuerySerializerOptionsObject>;
42
42
  };
43
43
  declare const formDataBodySerializer: {
44
- bodySerializer: <T extends Record<string, any> | Array<Record<string, any>>>(body: T) => FormData;
44
+ bodySerializer: (body: unknown) => FormData;
45
45
  };
46
46
  declare const jsonBodySerializer: {
47
- bodySerializer: <T>(body: T) => string;
47
+ bodySerializer: (body: unknown) => string;
48
48
  };
49
49
  declare const urlSearchParamsBodySerializer: {
50
- bodySerializer: <T extends Record<string, any> | Array<Record<string, any>>>(body: T) => string;
50
+ bodySerializer: (body: unknown) => string;
51
51
  };
52
52
 
53
53
  type HttpMethod = "connect" | "delete" | "get" | "head" | "options" | "patch" | "post" | "put" | "trace";
@@ -111,7 +111,7 @@ interface Config$1 {
111
111
  requestValidator?: (data: unknown) => Promise<unknown>;
112
112
  /**
113
113
  * A function transforming response data before it's returned. This is useful
114
- * for post-processing data, e.g. converting ISO strings into Date objects.
114
+ * for post-processing data, e.g., converting ISO strings into Date objects.
115
115
  */
116
116
  responseTransformer?: (data: unknown) => Promise<unknown>;
117
117
  /**
@@ -193,7 +193,11 @@ type ServerSentEventsResult<TData = unknown, TReturn = void, TNext = unknown> =
193
193
  };
194
194
 
195
195
  declare const mergeHeaders: (...headers: Array<Required<Config>["headers"] | undefined>) => Headers;
196
- type ErrInterceptor<Err, Res, Req, Options> = (error: Err, response: Res, request: Req, options: Options) => Err | Promise<Err>;
196
+ type ErrInterceptor<Err, Res, Req, Options> = (error: Err,
197
+ /** response may be undefined due to a network error where no response object is produced */
198
+ response: Res | undefined,
199
+ /** request may be undefined, because error may be from building the request object itself */
200
+ request: Req | undefined, options: Options) => Err | Promise<Err>;
197
201
  type ReqInterceptor<Req, Options> = (request: Req, options: Options) => Req | Promise<Req>;
198
202
  type ResInterceptor<Res, Req, Options> = (response: Res, request: Req, options: Options) => Res | Promise<Res>;
199
203
  declare class Interceptors<Interceptor> {
@@ -273,6 +277,7 @@ interface RequestOptions<TData = unknown, TResponseStyle extends ResponseStyle =
273
277
  url: Url;
274
278
  }
275
279
  interface ResolvedRequestOptions<TResponseStyle extends ResponseStyle = "fields", ThrowOnError extends boolean = boolean, Url extends string = string> extends RequestOptions<unknown, TResponseStyle, ThrowOnError, Url> {
280
+ headers: Headers;
276
281
  serializedBody?: string;
277
282
  }
278
283
  type RequestResult<TData = unknown, TError = unknown, ThrowOnError extends boolean = boolean, TResponseStyle extends ResponseStyle = "fields"> = ThrowOnError extends true ? Promise<TResponseStyle extends "data" ? TData extends Record<string, unknown> ? TData[keyof TData] : TData : {
@@ -286,8 +291,10 @@ type RequestResult<TData = unknown, TError = unknown, ThrowOnError extends boole
286
291
  data: undefined;
287
292
  error: TError extends Record<string, unknown> ? TError[keyof TError] : TError;
288
293
  }) & {
289
- request: Request;
290
- response: Response;
294
+ /** request may be undefined, because error may be from building the request object itself */
295
+ request?: Request;
296
+ /** response may be undefined, because error may be from building the request object itself or from a network error */
297
+ response?: Response;
291
298
  }>;
292
299
  interface ClientOptions {
293
300
  baseUrl?: string;
@@ -295,7 +302,7 @@ interface ClientOptions {
295
302
  throwOnError?: boolean;
296
303
  }
297
304
  type MethodFn = <TData = unknown, TError = unknown, ThrowOnError extends boolean = false, TResponseStyle extends ResponseStyle = "fields">(options: Omit<RequestOptions<TData, TResponseStyle, ThrowOnError>, "method">) => RequestResult<TData, TError, ThrowOnError, TResponseStyle>;
298
- type SseFn = <TData = unknown, TError = unknown, ThrowOnError extends boolean = false, TResponseStyle extends ResponseStyle = "fields">(options: Omit<RequestOptions<TData, TResponseStyle, ThrowOnError>, "method">) => Promise<ServerSentEventsResult<TData, TError>>;
305
+ type SseFn = <TData = unknown, TError = unknown, ThrowOnError extends boolean = false, TResponseStyle extends ResponseStyle = "fields">(options: Omit<RequestOptions<never, TResponseStyle, ThrowOnError>, "method">) => Promise<ServerSentEventsResult<TData, TError>>;
299
306
  type RequestFn = <TData = unknown, TError = unknown, ThrowOnError extends boolean = false, TResponseStyle extends ResponseStyle = "fields">(options: Omit<RequestOptions<TData, TResponseStyle, ThrowOnError>, "method"> & Pick<Required<RequestOptions<TData, TResponseStyle, ThrowOnError>>, "method">) => RequestResult<TData, TError, ThrowOnError, TResponseStyle>;
300
307
  type BuildUrlFn = <TData extends {
301
308
  body?: unknown;
@@ -314,7 +321,7 @@ type Client = Client$1<RequestFn, Config, MethodFn, BuildUrlFn, SseFn> & {
314
321
  * `setConfig()`. This is useful for example if you're using Next.js
315
322
  * to ensure your client always has the correct values.
316
323
  */
317
- type CreateClientConfig<T extends ClientOptions = ClientOptions> = (override?: Config<ClientOptions & T>) => Config<Required<ClientOptions> & T> | Promise<Config<Required<ClientOptions> & T>>;
324
+ type CreateClientConfig<T extends ClientOptions = ClientOptions> = (override?: Config<ClientOptions & T>) => Config<Required<ClientOptions> & T>;
318
325
  interface TDataShape {
319
326
  body?: unknown;
320
327
  headers?: unknown;
@@ -27,7 +27,7 @@ type ArrayStyle = "form" | "spaceDelimited" | "pipeDelimited";
27
27
  type ObjectStyle = "form" | "deepObject";
28
28
 
29
29
  type QuerySerializer = (query: Record<string, unknown>) => string;
30
- type BodySerializer = (body: any) => any;
30
+ type BodySerializer = (body: unknown) => unknown;
31
31
  type QuerySerializerOptionsObject = {
32
32
  allowReserved?: boolean;
33
33
  array?: Partial<SerializerOptions<ArrayStyle>>;
@@ -41,13 +41,13 @@ type QuerySerializerOptions = QuerySerializerOptionsObject & {
41
41
  parameters?: Record<string, QuerySerializerOptionsObject>;
42
42
  };
43
43
  declare const formDataBodySerializer: {
44
- bodySerializer: <T extends Record<string, any> | Array<Record<string, any>>>(body: T) => FormData;
44
+ bodySerializer: (body: unknown) => FormData;
45
45
  };
46
46
  declare const jsonBodySerializer: {
47
- bodySerializer: <T>(body: T) => string;
47
+ bodySerializer: (body: unknown) => string;
48
48
  };
49
49
  declare const urlSearchParamsBodySerializer: {
50
- bodySerializer: <T extends Record<string, any> | Array<Record<string, any>>>(body: T) => string;
50
+ bodySerializer: (body: unknown) => string;
51
51
  };
52
52
 
53
53
  type HttpMethod = "connect" | "delete" | "get" | "head" | "options" | "patch" | "post" | "put" | "trace";
@@ -111,7 +111,7 @@ interface Config$1 {
111
111
  requestValidator?: (data: unknown) => Promise<unknown>;
112
112
  /**
113
113
  * A function transforming response data before it's returned. This is useful
114
- * for post-processing data, e.g. converting ISO strings into Date objects.
114
+ * for post-processing data, e.g., converting ISO strings into Date objects.
115
115
  */
116
116
  responseTransformer?: (data: unknown) => Promise<unknown>;
117
117
  /**
@@ -193,7 +193,11 @@ type ServerSentEventsResult<TData = unknown, TReturn = void, TNext = unknown> =
193
193
  };
194
194
 
195
195
  declare const mergeHeaders: (...headers: Array<Required<Config>["headers"] | undefined>) => Headers;
196
- type ErrInterceptor<Err, Res, Req, Options> = (error: Err, response: Res, request: Req, options: Options) => Err | Promise<Err>;
196
+ type ErrInterceptor<Err, Res, Req, Options> = (error: Err,
197
+ /** response may be undefined due to a network error where no response object is produced */
198
+ response: Res | undefined,
199
+ /** request may be undefined, because error may be from building the request object itself */
200
+ request: Req | undefined, options: Options) => Err | Promise<Err>;
197
201
  type ReqInterceptor<Req, Options> = (request: Req, options: Options) => Req | Promise<Req>;
198
202
  type ResInterceptor<Res, Req, Options> = (response: Res, request: Req, options: Options) => Res | Promise<Res>;
199
203
  declare class Interceptors<Interceptor> {
@@ -273,6 +277,7 @@ interface RequestOptions<TData = unknown, TResponseStyle extends ResponseStyle =
273
277
  url: Url;
274
278
  }
275
279
  interface ResolvedRequestOptions<TResponseStyle extends ResponseStyle = "fields", ThrowOnError extends boolean = boolean, Url extends string = string> extends RequestOptions<unknown, TResponseStyle, ThrowOnError, Url> {
280
+ headers: Headers;
276
281
  serializedBody?: string;
277
282
  }
278
283
  type RequestResult<TData = unknown, TError = unknown, ThrowOnError extends boolean = boolean, TResponseStyle extends ResponseStyle = "fields"> = ThrowOnError extends true ? Promise<TResponseStyle extends "data" ? TData extends Record<string, unknown> ? TData[keyof TData] : TData : {
@@ -286,8 +291,10 @@ type RequestResult<TData = unknown, TError = unknown, ThrowOnError extends boole
286
291
  data: undefined;
287
292
  error: TError extends Record<string, unknown> ? TError[keyof TError] : TError;
288
293
  }) & {
289
- request: Request;
290
- response: Response;
294
+ /** request may be undefined, because error may be from building the request object itself */
295
+ request?: Request;
296
+ /** response may be undefined, because error may be from building the request object itself or from a network error */
297
+ response?: Response;
291
298
  }>;
292
299
  interface ClientOptions {
293
300
  baseUrl?: string;
@@ -295,7 +302,7 @@ interface ClientOptions {
295
302
  throwOnError?: boolean;
296
303
  }
297
304
  type MethodFn = <TData = unknown, TError = unknown, ThrowOnError extends boolean = false, TResponseStyle extends ResponseStyle = "fields">(options: Omit<RequestOptions<TData, TResponseStyle, ThrowOnError>, "method">) => RequestResult<TData, TError, ThrowOnError, TResponseStyle>;
298
- type SseFn = <TData = unknown, TError = unknown, ThrowOnError extends boolean = false, TResponseStyle extends ResponseStyle = "fields">(options: Omit<RequestOptions<TData, TResponseStyle, ThrowOnError>, "method">) => Promise<ServerSentEventsResult<TData, TError>>;
305
+ type SseFn = <TData = unknown, TError = unknown, ThrowOnError extends boolean = false, TResponseStyle extends ResponseStyle = "fields">(options: Omit<RequestOptions<never, TResponseStyle, ThrowOnError>, "method">) => Promise<ServerSentEventsResult<TData, TError>>;
299
306
  type RequestFn = <TData = unknown, TError = unknown, ThrowOnError extends boolean = false, TResponseStyle extends ResponseStyle = "fields">(options: Omit<RequestOptions<TData, TResponseStyle, ThrowOnError>, "method"> & Pick<Required<RequestOptions<TData, TResponseStyle, ThrowOnError>>, "method">) => RequestResult<TData, TError, ThrowOnError, TResponseStyle>;
300
307
  type BuildUrlFn = <TData extends {
301
308
  body?: unknown;
@@ -314,7 +321,7 @@ type Client = Client$1<RequestFn, Config, MethodFn, BuildUrlFn, SseFn> & {
314
321
  * `setConfig()`. This is useful for example if you're using Next.js
315
322
  * to ensure your client always has the correct values.
316
323
  */
317
- type CreateClientConfig<T extends ClientOptions = ClientOptions> = (override?: Config<ClientOptions & T>) => Config<Required<ClientOptions> & T> | Promise<Config<Required<ClientOptions> & T>>;
324
+ type CreateClientConfig<T extends ClientOptions = ClientOptions> = (override?: Config<ClientOptions & T>) => Config<Required<ClientOptions> & T>;
318
325
  interface TDataShape {
319
326
  body?: unknown;
320
327
  headers?: unknown;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@eudiplo/sdk-core",
3
- "version": "4.0.0",
3
+ "version": "4.2.0",
4
4
  "description": "Framework-agnostic EUDIPLO SDK for demos and integrations",
5
5
  "main": "dist/index.js",
6
6
  "module": "dist/index.mjs",
@@ -35,7 +35,7 @@
35
35
  "prepublishOnly": "pnpm build"
36
36
  },
37
37
  "devDependencies": {
38
- "@hey-api/openapi-ts": "^0.93.1",
38
+ "@hey-api/openapi-ts": "^0.97.0",
39
39
  "@types/node": "^25.3.3",
40
40
  "tsup": "^8.5.1",
41
41
  "typescript": "^5.9.3"