mobx-tanstack-query-api 0.0.40 → 0.0.42

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.
@@ -1 +1 @@
1
- {"version":3,"file":"new-request-info.tmpl.d.ts","sourceRoot":"","sources":["../../../src/codegen/templates/new-request-info.tmpl.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAEhD,OAAO,KAAK,EACV,mBAAmB,EACnB,gBAAgB,EAChB,sBAAsB,EACvB,MAAM,aAAa,CAAC;AAErB,MAAM,WAAW,wBAAwB;IACvC,KAAK,EAAE,SAAS,CAAC;IACjB,aAAa,EAAE,SAAS,CAAC;IACzB,SAAS,EAAE,sBAAsB,CAAC;IAClC,gBAAgB,EAAE,mBAAmB,CAAC;IACtC,KAAK,EAAE,gBAAgB,CAAC;CACzB;AAiBD,eAAO,MAAM,kBAAkB,GAAI,gDAKhC,wBAAwB;;;;;;;;CAiK1B,CAAC"}
1
+ {"version":3,"file":"new-request-info.tmpl.d.ts","sourceRoot":"","sources":["../../../src/codegen/templates/new-request-info.tmpl.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAEhD,OAAO,KAAK,EACV,mBAAmB,EACnB,gBAAgB,EAChB,sBAAsB,EACvB,MAAM,aAAa,CAAC;AAErB,MAAM,WAAW,wBAAwB;IACvC,KAAK,EAAE,SAAS,CAAC;IACjB,aAAa,EAAE,SAAS,CAAC;IACzB,SAAS,EAAE,sBAAsB,CAAC;IAClC,gBAAgB,EAAE,mBAAmB,CAAC;IACtC,KAAK,EAAE,gBAAgB,CAAC;CACzB;AAiBD,eAAO,MAAM,kBAAkB,GAAI,gDAKhC,wBAAwB;;;;;;;;CAmM1B,CAAC"}
@@ -29,7 +29,12 @@ export const newRequestInfoTmpl = ({ route, apiParams, importFileParams, utils,
29
29
  type: 'RequestParams',
30
30
  defaultValue: '{}',
31
31
  };
32
- const inputParams = [...pathParams, query, requestConfigParam].filter(Boolean);
32
+ const inputParams = [
33
+ ...pathParams,
34
+ payload,
35
+ query,
36
+ requestConfigParam,
37
+ ].filter(Boolean);
33
38
  const getArgs = ({ withPayload, withRequestConfigParam, }) => {
34
39
  return _.sortBy(_.compact([
35
40
  ...(requestParams
@@ -78,6 +83,33 @@ export const newRequestInfoTmpl = ({ route, apiParams, importFileParams, utils,
78
83
  }).map((it) => it.type),
79
84
  ]);
80
85
  const pathDeclaration = resultPath.replaceAll('$', '');
86
+ const getHttpRequestGenerics = () => {
87
+ const defaultOkResponse = positiveResponseTypes?.[0]?.type || 'unknown';
88
+ const defaultBadResponse = routeResponse.errorType;
89
+ const responses = raw.responsesTypes?.filter((it) => it.status !== 'default') ||
90
+ [];
91
+ if (!responses?.length) {
92
+ return `HttpResponse<unknown, ${routeResponse.errorType}>`;
93
+ }
94
+ if (responses.length === 1 && responses[0].isSuccess) {
95
+ return `HttpResponse<${responses[0].type}, ${routeResponse.errorType}>`;
96
+ }
97
+ return `HttpMultistatusResponse<{
98
+ ${responses
99
+ .map((it) => {
100
+ return [
101
+ it.description && `/** ${it.description} */`,
102
+ `${it.status}: ${it.type};`,
103
+ ]
104
+ .filter(Boolean)
105
+ .join('\n');
106
+ })
107
+ .join('\n')}
108
+ },
109
+ ${defaultOkResponse},
110
+ ${defaultBadResponse}
111
+ >`;
112
+ };
81
113
  const requestInputTypeDc = {
82
114
  typeIdentifier: 'type',
83
115
  name: _.upperFirst(_.camelCase(`${route.routeName.usage}Input`)),
@@ -95,8 +127,7 @@ export const newRequestInfoTmpl = ({ route, apiParams, importFileParams, utils,
95
127
  localModelTypes: [requestInputTypeDc],
96
128
  content: `
97
129
  new ${importFileParams.endpoint.exportName}<
98
- ${requestOutputDataTypes.join('|') || 'any'},
99
- ${requestOutputErrorType},
130
+ ${getHttpRequestGenerics()},
100
131
  ${requestInputTypeDc.name},
101
132
  ${requestInfoMeta?.typeName ?? 'any'}
102
133
  >(
@@ -1 +1 @@
1
- {"version":3,"file":"request-info-per-file.tmpl.d.ts","sourceRoot":"","sources":["../../../src/codegen/templates/request-info-per-file.tmpl.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAEhD,OAAO,KAAK,EACV,mBAAmB,EACnB,gBAAgB,EAChB,cAAc,EACd,sBAAsB,EACvB,MAAM,aAAa,CAAC;AAOrB,MAAM,WAAW,4BAA6B,SAAQ,SAAS;IAC7D,KAAK,EAAE,SAAS,CAAC;IACjB,aAAa,EAAE,SAAS,CAAC;IACzB,SAAS,EAAE,sBAAsB,CAAC;IAClC,cAAc,EAAE,cAAc,CAAC;IAC/B,gBAAgB,EAAE,mBAAmB,CAAC;IACtC,KAAK,EAAE,gBAAgB,CAAC;IACxB,yBAAyB,EAAE,MAAM,CAAC;CACnC;AAED,eAAO,MAAM,sBAAsB,GAAU,2GAQ1C,4BAA4B;;;EAgG9B,CAAC"}
1
+ {"version":3,"file":"request-info-per-file.tmpl.d.ts","sourceRoot":"","sources":["../../../src/codegen/templates/request-info-per-file.tmpl.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAEhD,OAAO,KAAK,EACV,mBAAmB,EACnB,gBAAgB,EAChB,cAAc,EACd,sBAAsB,EACvB,MAAM,aAAa,CAAC;AAOrB,MAAM,WAAW,4BAA6B,SAAQ,SAAS;IAC7D,KAAK,EAAE,SAAS,CAAC;IACjB,aAAa,EAAE,SAAS,CAAC;IACzB,SAAS,EAAE,sBAAsB,CAAC;IAClC,cAAc,EAAE,cAAc,CAAC;IAC/B,gBAAgB,EAAE,mBAAmB,CAAC;IACtC,KAAK,EAAE,gBAAgB,CAAC;IACxB,yBAAyB,EAAE,MAAM,CAAC;CACnC;AAED,eAAO,MAAM,sBAAsB,GAAU,2GAQ1C,4BAA4B;;;EAqG9B,CAAC"}
@@ -21,7 +21,11 @@ export const requestInfoPerFileTmpl = async ({ route, configuration, apiParams,
21
21
  return {
22
22
  reservedDataContractNames: dataContractNamesInThisFile,
23
23
  content: await formatTSContent(`${LINTERS_IGNORE}
24
- import { RequestParams } from "${apiParams.libImports?.['mobx-tanstack-query-api'] ?? 'mobx-tanstack-query-api'}";
24
+ import {
25
+ RequestParams,
26
+ HttpResponse,
27
+ HttpMultistatusResponse,
28
+ } from "${apiParams.libImports?.['mobx-tanstack-query-api'] ?? 'mobx-tanstack-query-api'}";
25
29
  import { ${importFileParams.endpoint.exportName} } from "${importFileParams.endpoint.path}";
26
30
  import { ${importFileParams.httpClient.exportName} } from "${importFileParams.httpClient.path}";
27
31
  import { ${importFileParams.queryClient.exportName} } from "${importFileParams.queryClient.path}";
@@ -29,8 +33,7 @@ export const requestInfoPerFileTmpl = async ({ route, configuration, apiParams,
29
33
  ? `
30
34
  import { ${configuration.modelTypes
31
35
  .map((it) => it.name)
32
- .filter((it) => !dataContractNamesInThisFile.includes(it))
33
- .join(', ')} } from "${relativePathDataContracts}";
36
+ .filter((it) => !dataContractNamesInThisFile.includes(it))} } from "${relativePathDataContracts}";
34
37
  `
35
38
  : ''}
36
39
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "mobx-tanstack-query-api",
3
- "version": "0.0.40",
3
+ "version": "0.0.42",
4
4
  "keywords": [],
5
5
  "author": "js2me",
6
6
  "license": "MIT",
@@ -22,6 +22,7 @@
22
22
  "@tanstack/query-core": "^5.75.0",
23
23
  "@types/lodash": "^4.17.16",
24
24
  "@types/lodash-es": "^4.17.12",
25
+ "http-status-code-types": "^0.0.2",
25
26
  "mobx-tanstack-query": "^4.4.4",
26
27
  "swagger-typescript-api": "13.1.3",
27
28
  "yummies": "^3.0.37"
@@ -8,11 +8,11 @@ export type EndpointMutationInput<TBaseInput extends AnyObject, TMutationMeta ex
8
8
  } : {
9
9
  meta: TMutationMeta;
10
10
  });
11
- export type EndpointMutationOptions<TOutput, TInput extends AnyObject, TResponse extends AnyHttpResponse, TError, TMutationMeta extends AnyObject | void = void> = {
11
+ export type EndpointMutationOptions<TOutput, TInput extends AnyObject, TResponse extends AnyHttpResponse, TMutationMeta extends AnyObject | void = void> = {
12
12
  transform?: (response: TResponse) => TOutput | Promise<TOutput>;
13
- } & Omit<MobxMutationConfig<NoInfer<TOutput>, EndpointMutationInput<NoInfer<TInput>, NoInfer<TMutationMeta>>, NoInfer<TError>>, 'queryClient' | 'mutationFn'>;
14
- export declare class EndpointMutation<TOutput, TInput extends AnyObject, TResponse extends AnyHttpResponse, TError, TMutationMeta extends AnyObject | void = void> extends MobxMutation<TOutput, EndpointMutationInput<TInput, TMutationMeta>> {
13
+ } & Omit<MobxMutationConfig<NoInfer<TOutput>, EndpointMutationInput<NoInfer<TInput>, NoInfer<TMutationMeta>>, NoInfer<TResponse>['error']>, 'queryClient' | 'mutationFn'>;
14
+ export declare class EndpointMutation<TOutput, TInput extends AnyObject, TResponse extends AnyHttpResponse, TMutationMeta extends AnyObject | void = void> extends MobxMutation<TOutput, EndpointMutationInput<TInput, TMutationMeta>, TResponse['error']> {
15
15
  private endpoint;
16
- constructor(endpoint: AnyEndpoint, queryClient: EndpointQueryClient, { transform: transformResponse, ...mutationOptions }: EndpointMutationOptions<TOutput, TInput, TResponse, TError, TMutationMeta>);
16
+ constructor(endpoint: AnyEndpoint, queryClient: EndpointQueryClient, { transform: transformResponse, ...mutationOptions }: EndpointMutationOptions<TOutput, TInput, TResponse, TMutationMeta>);
17
17
  }
18
18
  //# sourceMappingURL=endpoint-mutation.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"endpoint-mutation.d.ts","sourceRoot":"","sources":["../../src/runtime/endpoint-mutation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AACvE,OAAO,EAAE,qBAAqB,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAEvE,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AACjE,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAEnD,MAAM,MAAM,qBAAqB,CAC/B,UAAU,SAAS,SAAS,EAC5B,aAAa,SAAS,SAAS,GAAG,IAAI,GAAG,IAAI,IAC3C,UAAU,GACZ,CAAC,aAAa,SAAS,IAAI,GAEvB,EAAE,GACF,qBAAqB,CAAC,aAAa,CAAC,SAAS,IAAI,GAC/C;IAAE,IAAI,CAAC,EAAE,aAAa,CAAA;CAAE,GACxB;IAAE,IAAI,EAAE,aAAa,CAAA;CAAE,CAAC,CAAC;AAEjC,MAAM,MAAM,uBAAuB,CACjC,OAAO,EACP,MAAM,SAAS,SAAS,EACxB,SAAS,SAAS,eAAe,EACjC,MAAM,EACN,aAAa,SAAS,SAAS,GAAG,IAAI,GAAG,IAAI,IAC3C;IACF,SAAS,CAAC,EAAE,CAAC,QAAQ,EAAE,SAAS,KAAK,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;CACjE,GAAG,IAAI,CACN,kBAAkB,CAChB,OAAO,CAAC,OAAO,CAAC,EAChB,qBAAqB,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC,EAC9D,OAAO,CAAC,MAAM,CAAC,CAChB,EACD,aAAa,GAAG,YAAY,CAC7B,CAAC;AAEF,qBAAa,gBAAgB,CAC3B,OAAO,EACP,MAAM,SAAS,SAAS,EACxB,SAAS,SAAS,eAAe,EACjC,MAAM,EACN,aAAa,SAAS,SAAS,GAAG,IAAI,GAAG,IAAI,CAC7C,SAAQ,YAAY,CAAC,OAAO,EAAE,qBAAqB,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;IAEzE,OAAO,CAAC,QAAQ;gBAAR,QAAQ,EAAE,WAAW,EAC7B,WAAW,EAAE,mBAAmB,EAChC,EACE,SAAS,EAAE,iBAAiB,EAC5B,GAAG,eAAe,EACnB,EAAE,uBAAuB,CACxB,OAAO,EACP,MAAM,EACN,SAAS,EACT,MAAM,EACN,aAAa,CACd;CAoBJ"}
1
+ {"version":3,"file":"endpoint-mutation.d.ts","sourceRoot":"","sources":["../../src/runtime/endpoint-mutation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AACvE,OAAO,EAAE,qBAAqB,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAEvE,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AACjE,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAEnD,MAAM,MAAM,qBAAqB,CAC/B,UAAU,SAAS,SAAS,EAC5B,aAAa,SAAS,SAAS,GAAG,IAAI,GAAG,IAAI,IAC3C,UAAU,GACZ,CAAC,aAAa,SAAS,IAAI,GAEvB,EAAE,GACF,qBAAqB,CAAC,aAAa,CAAC,SAAS,IAAI,GAC/C;IAAE,IAAI,CAAC,EAAE,aAAa,CAAA;CAAE,GACxB;IAAE,IAAI,EAAE,aAAa,CAAA;CAAE,CAAC,CAAC;AAEjC,MAAM,MAAM,uBAAuB,CACjC,OAAO,EACP,MAAM,SAAS,SAAS,EACxB,SAAS,SAAS,eAAe,EACjC,aAAa,SAAS,SAAS,GAAG,IAAI,GAAG,IAAI,IAC3C;IACF,SAAS,CAAC,EAAE,CAAC,QAAQ,EAAE,SAAS,KAAK,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;CACjE,GAAG,IAAI,CACN,kBAAkB,CAChB,OAAO,CAAC,OAAO,CAAC,EAChB,qBAAqB,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC,EAC9D,OAAO,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,CAC5B,EACD,aAAa,GAAG,YAAY,CAC7B,CAAC;AAEF,qBAAa,gBAAgB,CAC3B,OAAO,EACP,MAAM,SAAS,SAAS,EACxB,SAAS,SAAS,eAAe,EACjC,aAAa,SAAS,SAAS,GAAG,IAAI,GAAG,IAAI,CAC7C,SAAQ,YAAY,CACpB,OAAO,EACP,qBAAqB,CAAC,MAAM,EAAE,aAAa,CAAC,EAC5C,SAAS,CAAC,OAAO,CAAC,CACnB;IAEG,OAAO,CAAC,QAAQ;gBAAR,QAAQ,EAAE,WAAW,EAC7B,WAAW,EAAE,mBAAmB,EAChC,EACE,SAAS,EAAE,iBAAiB,EAC5B,GAAG,eAAe,EACnB,EAAE,uBAAuB,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,aAAa,CAAC;CAkBxE"}
@@ -2,8 +2,6 @@ import { MobxMutation } from 'mobx-tanstack-query';
2
2
  export class EndpointMutation extends MobxMutation {
3
3
  endpoint;
4
4
  constructor(endpoint, queryClient, { transform: transformResponse, ...mutationOptions }) {
5
- // eslint-disable-next-line @typescript-eslint/ban-ts-comment
6
- // @ts-expect-error
7
5
  super({
8
6
  ...mutationOptions,
9
7
  queryClient,
@@ -4,14 +4,14 @@ import { AnyObject, MaybeFalsy } from 'yummies/utils/types';
4
4
  import { EndpointQueryClient } from './endpoint-query-client.js';
5
5
  import { AnyEndpoint } from './endpoint.types.js';
6
6
  import { AnyHttpResponse } from './http-client.js';
7
- export type EndpointQueryOptions<TOutput, TInput extends AnyObject, TResponse extends AnyHttpResponse, TError> = {
7
+ export type EndpointQueryOptions<TOutput, TInput extends AnyObject, TResponse extends AnyHttpResponse> = {
8
8
  input?: () => MaybeFalsy<TInput>;
9
9
  transform?: (response: TResponse) => TOutput | Promise<TOutput>;
10
- } & Omit<MobxQueryConfig<NoInfer<TOutput>, NoInfer<TError>>, 'options' | 'queryFn' | 'queryClient'>;
11
- export declare class EndpointQuery<TOutput, TInput extends AnyObject, TResponse extends AnyHttpResponse, TError> extends MobxQuery<NoInfer<TOutput>, NoInfer<TError>> {
10
+ } & Omit<MobxQueryConfig<NoInfer<TOutput>, NoInfer<TResponse>['error']>, 'options' | 'queryFn' | 'queryClient'>;
11
+ export declare class EndpointQuery<TOutput, TInput extends AnyObject, TResponse extends AnyHttpResponse> extends MobxQuery<NoInfer<TOutput>, NoInfer<TResponse>['error']> {
12
12
  private endpoint;
13
13
  response: TResponse | null;
14
- constructor(endpoint: AnyEndpoint, queryClient: EndpointQueryClient, { input: getInput, transform: transformResponse, ...queryOptions }: EndpointQueryOptions<TOutput, TInput, TResponse, TError>);
14
+ constructor(endpoint: AnyEndpoint, queryClient: EndpointQueryClient, { input: getInput, transform: transformResponse, ...queryOptions }: EndpointQueryOptions<TOutput, TInput, TResponse>);
15
15
  setInput(input: MaybeFalsy<TInput>): Promise<TResponse>;
16
16
  protected getInputFromContext(ctx: QueryFunctionContext<any, any>): TInput;
17
17
  }
@@ -1 +1 @@
1
- {"version":3,"file":"endpoint-query.d.ts","sourceRoot":"","sources":["../../src/runtime/endpoint-query.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAE5D,OAAO,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACjE,OAAO,EAAE,SAAS,EAAS,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAEnE,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AACjE,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,EAAE,eAAe,EAAiB,MAAM,kBAAkB,CAAC;AAElE,MAAM,MAAM,oBAAoB,CAC9B,OAAO,EACP,MAAM,SAAS,SAAS,EACxB,SAAS,SAAS,eAAe,EACjC,MAAM,IACJ;IACF,KAAK,CAAC,EAAE,MAAM,UAAU,CAAC,MAAM,CAAC,CAAC;IACjC,SAAS,CAAC,EAAE,CAAC,QAAQ,EAAE,SAAS,KAAK,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;CACjE,GAAG,IAAI,CACN,eAAe,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC,EAClD,SAAS,GAAG,SAAS,GAAG,aAAa,CACtC,CAAC;AAsBF,qBAAa,aAAa,CACxB,OAAO,EACP,MAAM,SAAS,SAAS,EACxB,SAAS,SAAS,eAAe,EACjC,MAAM,CACN,SAAQ,SAAS,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC;IAIlD,OAAO,CAAC,QAAQ;IAHlB,QAAQ,EAAE,SAAS,GAAG,IAAI,CAAQ;gBAGxB,QAAQ,EAAE,WAAW,EAC7B,WAAW,EAAE,mBAAmB,EAChC,EACE,KAAK,EAAE,QAAQ,EACf,SAAS,EAAE,iBAAiB,EAC5B,GAAG,YAAY,EAChB,EAAE,oBAAoB,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,CAAC;IA+DvD,QAAQ,CAAC,KAAK,EAAE,UAAU,CAAC,MAAM,CAAC,GAAG,OAAO,CAAC,SAAS,CAAC;IAO7D,SAAS,CAAC,mBAAmB,CAAC,GAAG,EAAE,oBAAoB,CAAC,GAAG,EAAE,GAAG,CAAC,GAC7B,MAAM;CAE3C"}
1
+ {"version":3,"file":"endpoint-query.d.ts","sourceRoot":"","sources":["../../src/runtime/endpoint-query.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAE5D,OAAO,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACjE,OAAO,EAAE,SAAS,EAAS,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAEnE,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AACjE,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,EAAE,eAAe,EAAiB,MAAM,kBAAkB,CAAC;AAElE,MAAM,MAAM,oBAAoB,CAC9B,OAAO,EACP,MAAM,SAAS,SAAS,EACxB,SAAS,SAAS,eAAe,IAC/B;IACF,KAAK,CAAC,EAAE,MAAM,UAAU,CAAC,MAAM,CAAC,CAAC;IACjC,SAAS,CAAC,EAAE,CAAC,QAAQ,EAAE,SAAS,KAAK,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;CACjE,GAAG,IAAI,CACN,eAAe,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,CAAC,EAC9D,SAAS,GAAG,SAAS,GAAG,aAAa,CACtC,CAAC;AAsBF,qBAAa,aAAa,CACxB,OAAO,EACP,MAAM,SAAS,SAAS,EACxB,SAAS,SAAS,eAAe,CACjC,SAAQ,SAAS,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,CAAC;IAI9D,OAAO,CAAC,QAAQ;IAHlB,QAAQ,EAAE,SAAS,GAAG,IAAI,CAAQ;gBAGxB,QAAQ,EAAE,WAAW,EAC7B,WAAW,EAAE,mBAAmB,EAChC,EACE,KAAK,EAAE,QAAQ,EACf,SAAS,EAAE,iBAAiB,EAC5B,GAAG,YAAY,EAChB,EAAE,oBAAoB,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,CAAC;IA+D/C,QAAQ,CAAC,KAAK,EAAE,UAAU,CAAC,MAAM,CAAC,GAAG,OAAO,CAAC,SAAS,CAAC;IAO7D,SAAS,CAAC,mBAAmB,CAAC,GAAG,EAAE,oBAAoB,CAAC,GAAG,EAAE,GAAG,CAAC,GAC7B,MAAM;CAE3C"}
@@ -5,10 +5,10 @@ import { EndpointQueryClient } from './endpoint-query-client.js';
5
5
  import { EndpointQuery, EndpointQueryOptions } from './endpoint-query.js';
6
6
  import { EndpointConfiguration } from './endpoint.types.js';
7
7
  import type { HttpClient, HttpResponse } from './http-client.js';
8
- export interface Endpoint<TData, TError, TInput extends AnyObject, TMetaData extends AnyObject = AnyObject> {
9
- (...args: AllPropertiesOptional<TInput> extends true ? [input?: TInput] : [input: TInput]): ReturnType<Endpoint<TData, TError, TInput, TMetaData>['request']>;
8
+ export interface Endpoint<TResponse extends HttpResponse<any, any>, TInput extends AnyObject, TMetaData extends AnyObject = AnyObject> {
9
+ (...args: AllPropertiesOptional<TInput> extends true ? [input?: TInput] : [input: TInput]): ReturnType<Endpoint<TResponse, TInput, TMetaData>['request']>;
10
10
  }
11
- export declare class Endpoint<TData, TError, TInput extends AnyObject, TMetaData extends AnyObject = AnyObject> {
11
+ export declare class Endpoint<TResponse extends HttpResponse<any, any>, TInput extends AnyObject, TMetaData extends AnyObject = AnyObject> {
12
12
  configuration: EndpointConfiguration<NoInfer<TInput>, TMetaData>;
13
13
  protected queryClient: EndpointQueryClient;
14
14
  protected http: HttpClient;
@@ -19,7 +19,7 @@ export declare class Endpoint<TData, TError, TInput extends AnyObject, TMetaData
19
19
  get tags(): string[];
20
20
  get pathDeclaration(): string;
21
21
  get operationId(): string;
22
- request(...args: AllPropertiesOptional<TInput> extends true ? [input?: TInput] : [input: TInput]): Promise<HttpResponse<TData, TError>>;
22
+ request(...args: AllPropertiesOptional<TInput> extends true ? [input?: TInput] : [input: TInput]): Promise<TResponse>;
23
23
  getQueryKey(...args: AllPropertiesOptional<TInput> extends true ? [input?: TInput] : [input: TInput]): any[];
24
24
  invalidateByPath(filters?: Omit<InvalidateQueryFilters<any[]>, 'queryKey' | 'predicate'>, options?: InvalidateOptions): Promise<void>;
25
25
  invalidateByOperationId(filters?: Omit<InvalidateQueryFilters<any[]>, 'queryKey' | 'predicate'>, options?: InvalidateOptions): Promise<void>;
@@ -27,7 +27,7 @@ export declare class Endpoint<TData, TError, TInput extends AnyObject, TMetaData
27
27
  invalidate(input: TInput, filters?: Omit<InvalidateQueryFilters<any[]>, 'queryKey' | 'predicate'> & {
28
28
  queryKeyIndex?: number;
29
29
  }, options?: InvalidateOptions): Promise<void>;
30
- toMutation<TOutput = TData, TMutationMeta extends AnyObject | void = void>(options: EndpointMutationOptions<TOutput, TInput, HttpResponse<TData, TError>, TError, TMutationMeta>): EndpointMutation<TOutput, TInput, HttpResponse<TData, TError>, TError, TMutationMeta>;
31
- toQuery<TOutput = TData>(options: EndpointQueryOptions<TOutput, TInput, HttpResponse<TData, TError>, TError>): EndpointQuery<TOutput, TInput, HttpResponse<TData, TError>, TError>;
30
+ toMutation<TOutput = TResponse, TMutationMeta extends AnyObject | void = void>(options: EndpointMutationOptions<TOutput, TInput, TResponse, TMutationMeta>): EndpointMutation<TOutput, TInput, TResponse, TMutationMeta>;
31
+ toQuery<TOutput = TResponse>(options: EndpointQueryOptions<TOutput, TInput, TResponse>): EndpointQuery<TOutput, TInput, TResponse>;
32
32
  }
33
33
  //# sourceMappingURL=endpoint.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"endpoint.d.ts","sourceRoot":"","sources":["../../src/runtime/endpoint.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"endpoint.d.ts","sourceRoot":"","sources":["../../src/runtime/endpoint.ts"],"names":[],"mappings":"AACA,OAAO,EACL,iBAAiB,EACjB,sBAAsB,EACvB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,qBAAqB,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAEvE,OAAO,EACL,gBAAgB,EAChB,uBAAuB,EACxB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AACjE,OAAO,EAAE,aAAa,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAC1E,OAAO,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAC5D,OAAO,KAAK,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAEjE,MAAM,WAAW,QAAQ,CACvB,SAAS,SAAS,YAAY,CAAC,GAAG,EAAE,GAAG,CAAC,EACxC,MAAM,SAAS,SAAS,EACxB,SAAS,SAAS,SAAS,GAAG,SAAS;IAEvC,CACE,GAAG,IAAI,EAAE,qBAAqB,CAAC,MAAM,CAAC,SAAS,IAAI,GAC/C,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC,GAChB,CAAC,KAAK,EAAE,MAAM,CAAC,GAClB,UAAU,CAAC,QAAQ,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC;CAClE;AAED,qBAAa,QAAQ,CACnB,SAAS,SAAS,YAAY,CAAC,GAAG,EAAE,GAAG,CAAC,EACxC,MAAM,SAAS,SAAS,EACxB,SAAS,SAAS,SAAS,GAAG,SAAS;IAK9B,aAAa,EAAE,qBAAqB,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,SAAS,CAAC;IACvE,SAAS,CAAC,WAAW,EAAE,mBAAmB;IAC1C,SAAS,CAAC,IAAI,EAAE,UAAU;IAL5B,IAAI,EAAG,SAAS,CAAC;gBAGR,aAAa,EAAE,qBAAqB,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,SAAS,CAAC,EAC7D,WAAW,EAAE,mBAAmB,EAChC,IAAI,EAAE,UAAU;IAiC5B,UAAU,CACR,GAAG,IAAI,EAAE,qBAAqB,CAAC,MAAM,CAAC,SAAS,IAAI,GAC/C,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC,GAChB,CAAC,KAAK,EAAE,MAAM,CAAC,GAClB,MAAM;IAKT,OAAO,CACL,GAAG,IAAI,EAAE,qBAAqB,CAAC,MAAM,CAAC,SAAS,IAAI,GAC/C,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC,GAChB,CAAC,KAAK,EAAE,MAAM,CAAC,GAClB,MAAM;IAKT,IAAI,IAAI,aAEP;IAED,IAAI,eAAe,WAElB;IAED,IAAI,WAAW,WAEd;IAED,OAAO,CACL,GAAG,IAAI,EAAE,qBAAqB,CAAC,MAAM,CAAC,SAAS,IAAI,GAC/C,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC,GAChB,CAAC,KAAK,EAAE,MAAM,CAAC;IAOrB,WAAW,CACT,GAAG,IAAI,EAAE,qBAAqB,CAAC,MAAM,CAAC,SAAS,IAAI,GAC/C,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC,GAChB,CAAC,KAAK,EAAE,MAAM,CAAC,GAClB,GAAG,EAAE;IAUR,gBAAgB,CACd,OAAO,CAAC,EAAE,IAAI,CAAC,sBAAsB,CAAC,GAAG,EAAE,CAAC,EAAE,UAAU,GAAG,WAAW,CAAC,EACvE,OAAO,CAAC,EAAE,iBAAiB;IAS7B,uBAAuB,CACrB,OAAO,CAAC,EAAE,IAAI,CAAC,sBAAsB,CAAC,GAAG,EAAE,CAAC,EAAE,UAAU,GAAG,WAAW,CAAC,EACvE,OAAO,CAAC,EAAE,iBAAiB;IAS7B,gBAAgB,CACd,OAAO,CAAC,EAAE,IAAI,CAAC,sBAAsB,CAAC,GAAG,EAAE,CAAC,EAAE,UAAU,GAAG,WAAW,CAAC,EACvE,OAAO,CAAC,EAAE,iBAAiB;IAK7B,UAAU,CACR,KAAK,EAAE,MAAM,EACb,OAAO,CAAC,EAAE,IAAI,CAAC,sBAAsB,CAAC,GAAG,EAAE,CAAC,EAAE,UAAU,GAAG,WAAW,CAAC,GAAG;QACxE,aAAa,CAAC,EAAE,MAAM,CAAC;KACxB,EACD,OAAO,CAAC,EAAE,iBAAiB;IAY7B,UAAU,CACR,OAAO,GAAG,SAAS,EACnB,aAAa,SAAS,SAAS,GAAG,IAAI,GAAG,IAAI,EAE7C,OAAO,EAAE,uBAAuB,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,aAAa,CAAC;IAK7E,OAAO,CAAC,OAAO,GAAG,SAAS,EACzB,OAAO,EAAE,oBAAoB,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,CAAC;CAQ5D"}
@@ -14,10 +14,9 @@ export type EndpointMutationInput<TBaseInput extends AnyObject, TMutationMeta ex
14
14
  } : {
15
15
  meta: TMutationMeta;
16
16
  });
17
- export type AnyEndpoint = Endpoint<any, any, any, any>;
18
- export type InferEndpointData<TEndpoint extends AnyEndpoint> = TEndpoint extends Endpoint<infer T, any, any, any> ? T : never;
19
- export type InferEndpointResponse<TEndpoint extends AnyEndpoint> = ReturnType<TEndpoint['request']>;
20
- export type InferEndpointError<TEndpoint extends AnyEndpoint> = TEndpoint extends Endpoint<any, infer T, any, any> ? T : never;
21
- export type InferEndpointInput<TEndpoint extends AnyEndpoint> = TEndpoint extends Endpoint<any, any, infer T, any> ? T : never;
22
- export type InferEndpointMetaData<TEndpoint extends AnyEndpoint> = TEndpoint extends Endpoint<any, any, any, infer T> ? T : never;
17
+ export type AnyEndpoint = Endpoint<any, any, any>;
18
+ export type InferEndpointData<TEndpoint extends AnyEndpoint> = TEndpoint extends Endpoint<infer T, any, any> ? T : never;
19
+ export type InferEndpointResponse<TEndpoint extends AnyEndpoint> = TEndpoint extends Endpoint<infer T, any, any> ? T : never;
20
+ export type InferEndpointInput<TEndpoint extends AnyEndpoint> = TEndpoint extends Endpoint<any, infer T, any> ? T : never;
21
+ export type InferEndpointMetaData<TEndpoint extends AnyEndpoint> = TEndpoint extends Endpoint<any, any, infer T> ? T : never;
23
22
  //# sourceMappingURL=endpoint.types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"endpoint.types.d.ts","sourceRoot":"","sources":["../../src/runtime/endpoint.types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAEvE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAErD,MAAM,WAAW,qBAAqB,CACpC,MAAM,SAAS,SAAS,EACxB,SAAS,SAAS,SAAS,GAAG,SAAS;IAEvC,WAAW,EAAE,MAAM,CAAC;IACpB,eAAe,EAAE,MAAM,CAAC;IACxB,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB,MAAM,EAAE,CAAC,KAAK,EAAE,OAAO,CAAC,MAAM,CAAC,KAAK,iBAAiB,CAAC;IACtD,IAAI,EAAE,MAAM,EAAE,CAAC;CAChB;AAED,MAAM,MAAM,qBAAqB,CAC/B,UAAU,SAAS,SAAS,EAC5B,aAAa,SAAS,SAAS,GAAG,IAAI,GAAG,IAAI,IAC3C,UAAU,GACZ,CAAC,aAAa,SAAS,IAAI,GAEvB,EAAE,GACF,qBAAqB,CAAC,aAAa,CAAC,SAAS,IAAI,GAC/C;IAAE,IAAI,CAAC,EAAE,aAAa,CAAA;CAAE,GACxB;IAAE,IAAI,EAAE,aAAa,CAAA;CAAE,CAAC,CAAC;AAEjC,MAAM,MAAM,WAAW,GAAG,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;AAEvD,MAAM,MAAM,iBAAiB,CAAC,SAAS,SAAS,WAAW,IACzD,SAAS,SAAS,QAAQ,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;AAEjE,MAAM,MAAM,qBAAqB,CAAC,SAAS,SAAS,WAAW,IAAI,UAAU,CAC3E,SAAS,CAAC,SAAS,CAAC,CACrB,CAAC;AAEF,MAAM,MAAM,kBAAkB,CAAC,SAAS,SAAS,WAAW,IAC1D,SAAS,SAAS,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;AAEjE,MAAM,MAAM,kBAAkB,CAAC,SAAS,SAAS,WAAW,IAC1D,SAAS,SAAS,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE,MAAM,CAAC,EAAE,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;AAEjE,MAAM,MAAM,qBAAqB,CAAC,SAAS,SAAS,WAAW,IAC7D,SAAS,SAAS,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC"}
1
+ {"version":3,"file":"endpoint.types.d.ts","sourceRoot":"","sources":["../../src/runtime/endpoint.types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAEvE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAErD,MAAM,WAAW,qBAAqB,CACpC,MAAM,SAAS,SAAS,EACxB,SAAS,SAAS,SAAS,GAAG,SAAS;IAEvC,WAAW,EAAE,MAAM,CAAC;IACpB,eAAe,EAAE,MAAM,CAAC;IACxB,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB,MAAM,EAAE,CAAC,KAAK,EAAE,OAAO,CAAC,MAAM,CAAC,KAAK,iBAAiB,CAAC;IACtD,IAAI,EAAE,MAAM,EAAE,CAAC;CAChB;AAED,MAAM,MAAM,qBAAqB,CAC/B,UAAU,SAAS,SAAS,EAC5B,aAAa,SAAS,SAAS,GAAG,IAAI,GAAG,IAAI,IAC3C,UAAU,GACZ,CAAC,aAAa,SAAS,IAAI,GAEvB,EAAE,GACF,qBAAqB,CAAC,aAAa,CAAC,SAAS,IAAI,GAC/C;IAAE,IAAI,CAAC,EAAE,aAAa,CAAA;CAAE,GACxB;IAAE,IAAI,EAAE,aAAa,CAAA;CAAE,CAAC,CAAC;AAEjC,MAAM,MAAM,WAAW,GAAG,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;AAElD,MAAM,MAAM,iBAAiB,CAAC,SAAS,SAAS,WAAW,IACzD,SAAS,SAAS,QAAQ,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;AAE5D,MAAM,MAAM,qBAAqB,CAAC,SAAS,SAAS,WAAW,IAC7D,SAAS,SAAS,QAAQ,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;AAE5D,MAAM,MAAM,kBAAkB,CAAC,SAAS,SAAS,WAAW,IAC1D,SAAS,SAAS,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC,EAAE,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;AAE5D,MAAM,MAAM,qBAAqB,CAAC,SAAS,SAAS,WAAW,IAC7D,SAAS,SAAS,QAAQ,CAAC,GAAG,EAAE,GAAG,EAAE,MAAM,CAAC,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC"}
@@ -1,3 +1,5 @@
1
+ import { HttpStatusCode, HttpSuccessStatusCode } from 'http-status-code-types';
2
+ import { ValueOf } from 'yummies/utils/types';
1
3
  export type QueryParamsType = Record<string | number, any>;
2
4
  export type ResponseFormat = keyof Omit<Body, 'body' | 'bodyUsed'>;
3
5
  export interface FullRequestParams extends Omit<RequestInit, 'body'> {
@@ -33,10 +35,24 @@ export interface HttpClientConfig<TMeta = unknown> {
33
35
  interceptor?: (requestParams: RequestParams, metadata: TMeta | null) => Promise<RequestParams | void> | RequestParams | void;
34
36
  fetch?: typeof fetch;
35
37
  }
36
- export interface HttpResponse<D, E = unknown> extends Response {
37
- data: D;
38
- error: E;
38
+ export interface HttpResponse<TData, TError = null, TStatus = number> extends Omit<Response, 'status'> {
39
+ data: TData;
40
+ error: TError;
41
+ status: TStatus;
39
42
  }
43
+ export type HttpMultistatusResponse<TResponsesByStatusMap extends Partial<Record<HttpStatusCode, any>>, TDefaultOkResponse, TDefaultBadResponse = unknown> = Omit<Response, 'status'> & (ValueOf<{
44
+ [K in keyof TResponsesByStatusMap]: {
45
+ status: K;
46
+ data: K extends HttpSuccessStatusCode ? TResponsesByStatusMap[K] : ValueOf<TResponsesByStatusMap>;
47
+ error: K extends HttpSuccessStatusCode ? null : TResponsesByStatusMap[K];
48
+ };
49
+ }> | {
50
+ status: Exclude<HttpStatusCode, keyof TResponsesByStatusMap>;
51
+ data: TDefaultOkResponse;
52
+ error: TDefaultBadResponse;
53
+ });
54
+ export type GetHttpResponse<T> = T extends (...args: any[]) => infer R ? R extends Promise<HttpResponse<any, any>> ? Awaited<R> : R extends Promise<HttpMultistatusResponse<any, any, any>> ? Awaited<R> : HttpResponse<any, any> : HttpResponse<any, any>;
55
+ export type HttpBadResponse<T = any> = HttpResponse<null, T>;
40
56
  export type AnyHttpResponse = HttpResponse<any, any>;
41
57
  export declare const isHttpResponse: (response: unknown, status?: number) => response is AnyHttpResponse;
42
58
  export declare const isHttpBadResponse: (response: unknown) => response is HttpResponse<null, any>;
@@ -60,6 +76,7 @@ export declare class HttpClient<TMeta = unknown> {
60
76
  protected mergeRequestParams(params1: RequestParams, params2?: RequestParams): RequestParams;
61
77
  private formatResponse;
62
78
  buildUrl: (params: FullRequestParams) => string;
63
- request: <T = any, E = any>(fullParams: FullRequestParams) => Promise<HttpResponse<T, E>>;
79
+ request<T, E>(fullParams: FullRequestParams): Promise<HttpResponse<T, E>>;
80
+ request<THttpResponse extends HttpResponse<any, any>>(fullParams: FullRequestParams): Promise<THttpResponse>;
64
81
  }
65
82
  //# sourceMappingURL=http-client.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"http-client.d.ts","sourceRoot":"","sources":["../../src/runtime/http-client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"http-client.d.ts","sourceRoot":"","sources":["../../src/runtime/http-client.ts"],"names":[],"mappings":"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"}
@@ -143,7 +143,7 @@ export class HttpClient {
143
143
  const url = baseUrl + path + query;
144
144
  return url;
145
145
  };
146
- request = async (fullParams) => {
146
+ async request(fullParams) {
147
147
  this.setBadResponse(null);
148
148
  const { body, contentType = 'application/json', format = 'json', ...params } = fullParams;
149
149
  let requestParams = this.mergeRequestParams(params);
@@ -175,5 +175,5 @@ export class HttpClient {
175
175
  })
176
176
  .then(responseFormatter)
177
177
  .catch(responseFormatter);
178
- };
178
+ }
179
179
  }