mobx-tanstack-query-api 0.0.38 → 0.0.40

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.
@@ -61,6 +61,7 @@ export interface GenerateQueryApiParams {
61
61
  };
62
62
  requestOptions?: AnyObject;
63
63
  otherCodegenParams?: AnyObject;
64
+ filterRoutes?: (route: AnyObject) => boolean;
64
65
  libImports?: {
65
66
  'mobx-tanstack-query-api'?: string;
66
67
  };
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/codegen/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AAEtC,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAc9D,MAAM,MAAM,gBAAgB,GAAG;IAC7B,CAAC,EAAE,YAAY,CAAC;IAChB,qBAAqB,EAAE,CAAC,aAAa,EAAE,SAAS,KAAK,MAAM,CAAC;IAC5D,eAAe,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,MAAM,CAAC;CAChD,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG,SAAS,CAAC;AAEvC,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,sBAAsB;IACrC,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,GAAG,SAAS,CAAC;IAE1B,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAE3B,qBAAqB,CAAC,EAAE,CACtB,SAAS,EAAE,MAAM,EACjB,KAAK,EAAE,gBAAgB,KACpB,MAAM,CAAC;IAEZ;;OAEG;IACH,OAAO,CAAC,EACJ,CAAC,CAAC,KAAK,EAAE,SAAS,KAAK,MAAM,CAAC,GAC9B,cAAc,GACd,gBAAgB,MAAM,EAAE,GACxB,KAAK,GACL,OAAO,MAAM,EAAE,CAAC;IAEpB;;;;;;;;;;;;;;;OAeG;IACH,SAAS,CAAC,EAAE,MAAM,GAAG,CAAC,CAAC,KAAK,EAAE,SAAS,KAAK,MAAM,CAAC,CAAC;IAEpD;;;;;;;;OAQG;IACH,yBAAyB,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;IAE7C,WAAW,CAAC,EAAE,SAAS,GAAG,gBAAgB,CAAC;IAC3C,QAAQ,CAAC,EAAE,SAAS,GAAG,gBAAgB,CAAC;IACxC,UAAU,CAAC,EAAE,SAAS,GAAG,gBAAgB,CAAC;IAE1C,eAAe,CAAC,EAAE,CAChB,KAAK,EAAE,SAAS,EAChB,KAAK,EAAE,SAAS,KACb;QACH,QAAQ,EAAE,MAAM,CAAC;QACjB,cAAc,EAAE,MAAM,CAAC;QACvB,QAAQ,EAAE,MAAM,CAAC;KAClB,CAAC;IACF,cAAc,CAAC,EAAE,CACf,KAAK,EAAE,SAAS,EAChB,KAAK,EAAE,SAAS,KACb;QACH,QAAQ,EAAE,MAAM,CAAC;KAClB,CAAC;IAEF,cAAc,CAAC,EAAE,SAAS,CAAC;IAE3B,kBAAkB,CAAC,EAAE,SAAS,CAAC;IAE/B,UAAU,CAAC,EAAE;QACX,yBAAyB,CAAC,EAAE,MAAM,CAAC;KACpC,CAAC;CACH;AAED,MAAM,MAAM,mBAAmB,GAAG,MAAM,CACtC,YAAY,CAAC,QAAQ,CAAC,sBAAsB,CAAC,EAAE,SAAS,GAAG,gBAAgB,CAAC,EAC5E,gBAAgB,CACjB,CAAC;AAEF,eAAO,MAAM,WAAW,GACtB,QAAQ,sBAAsB,GAAG,sBAAsB,EAAE,KACxD,OAAO,CAAC,IAAI,CAkXd,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/codegen/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AAEtC,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAc9D,MAAM,MAAM,gBAAgB,GAAG;IAC7B,CAAC,EAAE,YAAY,CAAC;IAChB,qBAAqB,EAAE,CAAC,aAAa,EAAE,SAAS,KAAK,MAAM,CAAC;IAC5D,eAAe,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,MAAM,CAAC;CAChD,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG,SAAS,CAAC;AAEvC,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,sBAAsB;IACrC,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,GAAG,SAAS,CAAC;IAE1B,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAE3B,qBAAqB,CAAC,EAAE,CACtB,SAAS,EAAE,MAAM,EACjB,KAAK,EAAE,gBAAgB,KACpB,MAAM,CAAC;IAEZ;;OAEG;IACH,OAAO,CAAC,EACJ,CAAC,CAAC,KAAK,EAAE,SAAS,KAAK,MAAM,CAAC,GAC9B,cAAc,GACd,gBAAgB,MAAM,EAAE,GACxB,KAAK,GACL,OAAO,MAAM,EAAE,CAAC;IAEpB;;;;;;;;;;;;;;;OAeG;IACH,SAAS,CAAC,EAAE,MAAM,GAAG,CAAC,CAAC,KAAK,EAAE,SAAS,KAAK,MAAM,CAAC,CAAC;IAEpD;;;;;;;;OAQG;IACH,yBAAyB,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;IAE7C,WAAW,CAAC,EAAE,SAAS,GAAG,gBAAgB,CAAC;IAC3C,QAAQ,CAAC,EAAE,SAAS,GAAG,gBAAgB,CAAC;IACxC,UAAU,CAAC,EAAE,SAAS,GAAG,gBAAgB,CAAC;IAE1C,eAAe,CAAC,EAAE,CAChB,KAAK,EAAE,SAAS,EAChB,KAAK,EAAE,SAAS,KACb;QACH,QAAQ,EAAE,MAAM,CAAC;QACjB,cAAc,EAAE,MAAM,CAAC;QACvB,QAAQ,EAAE,MAAM,CAAC;KAClB,CAAC;IACF,cAAc,CAAC,EAAE,CACf,KAAK,EAAE,SAAS,EAChB,KAAK,EAAE,SAAS,KACb;QACH,QAAQ,EAAE,MAAM,CAAC;KAClB,CAAC;IAEF,cAAc,CAAC,EAAE,SAAS,CAAC;IAE3B,kBAAkB,CAAC,EAAE,SAAS,CAAC;IAE/B,YAAY,CAAC,EAAE,CAAC,KAAK,EAAE,SAAS,KAAK,OAAO,CAAC;IAE7C,UAAU,CAAC,EAAE;QACX,yBAAyB,CAAC,EAAE,MAAM,CAAC;KACpC,CAAC;CACH;AAED,MAAM,MAAM,mBAAmB,GAAG,MAAM,CACtC,YAAY,CAAC,QAAQ,CAAC,sBAAsB,CAAC,EAAE,SAAS,GAAG,gBAAgB,CAAC,EAC5E,gBAAgB,CACjB,CAAC;AAEF,eAAO,MAAM,WAAW,GACtB,QAAQ,sBAAsB,GAAG,sBAAsB,EAAE,KACxD,OAAO,CAAC,IAAI,CAsXd,CAAC"}
package/codegen/index.js CHANGED
@@ -48,7 +48,7 @@ export const generateApi = async (params) => {
48
48
  disableStrictSSL: false,
49
49
  singleHttpClient: true,
50
50
  extractRequestBody: true,
51
- extractRequestParams: true,
51
+ extractRequestParams: false,
52
52
  extractResponseBody: true,
53
53
  extractResponseError: true,
54
54
  generateResponses: true,
@@ -113,9 +113,12 @@ export const generateApi = async (params) => {
113
113
  const codegenFs = codegenProcess.fileSystem;
114
114
  codegenFs.cleanDir(params.output);
115
115
  codegenFs.createDir(params.output);
116
- const allRoutes = Object.values(generated.configuration.routes)
116
+ let allRoutes = Object.values(generated.configuration.routes)
117
117
  .flat()
118
118
  .flatMap((routeGroup) => 'routes' in routeGroup ? routeGroup.routes : routeGroup);
119
+ allRoutes = params.filterRoutes
120
+ ? allRoutes.filter(params.filterRoutes)
121
+ : allRoutes;
119
122
  const reservedDataContractNamesMap = new Map();
120
123
  const collectedExportFiles = [];
121
124
  if (params.groupBy == null) {
@@ -9,6 +9,11 @@ export interface NewRequestInfoTmplParams {
9
9
  }
10
10
  export declare const newRequestInfoTmpl: ({ route, apiParams, importFileParams, utils, }: NewRequestInfoTmplParams) => {
11
11
  reservedDataContractNames: string[];
12
+ localModelTypes: {
13
+ typeIdentifier: string;
14
+ name: Capitalize<string>;
15
+ content: string;
16
+ }[];
12
17
  content: string;
13
18
  };
14
19
  //# sourceMappingURL=new-request-info.tmpl.d.ts.map
@@ -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;;;CA2K1B,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;;;;;;;;CAiK1B,CAAC"}
@@ -24,11 +24,12 @@ export const newRequestInfoTmpl = ({ route, apiParams, importFileParams, utils,
24
24
  const pathParams = _.values(parameters);
25
25
  const pathParamsNames = _.map(pathParams, 'name');
26
26
  const requestConfigParam = {
27
- name: 'request',
27
+ name: 'requestParams',
28
28
  optional: true,
29
29
  type: 'RequestParams',
30
30
  defaultValue: '{}',
31
31
  };
32
+ const inputParams = [...pathParams, query, requestConfigParam].filter(Boolean);
32
33
  const getArgs = ({ withPayload, withRequestConfigParam, }) => {
33
34
  return _.sortBy(_.compact([
34
35
  ...(requestParams
@@ -47,15 +48,8 @@ export const newRequestInfoTmpl = ({ route, apiParams, importFileParams, utils,
47
48
  ]), [(o) => o.optional]);
48
49
  };
49
50
  const tags = (raw.tags || []).filter(Boolean);
50
- const allArgs = getArgs({
51
- withPayload: true,
52
- withRequestConfigParam: true,
53
- });
54
- const requiredArgs = allArgs.filter((it) => !it.optional);
55
51
  const requestOutputDataTypes = positiveResponseTypes.map((it) => it.type);
56
52
  const requestOutputErrorType = routeResponse.errorType;
57
- let requestInputCombinedType;
58
- const requestInfoFnArgNames = allArgs.map(({ name }) => name);
59
53
  const pathParamsToInline = path.split('/').slice(1);
60
54
  let lastDynamicStructPos = 0;
61
55
  const queryParamStruct = query == null
@@ -69,22 +63,6 @@ export const newRequestInfoTmpl = ({ route, apiParams, importFileParams, utils,
69
63
  if (queryParamStruct && !lastDynamicStructPos) {
70
64
  lastDynamicStructPos++;
71
65
  }
72
- let requestInputType = `{
73
- ${allArgs
74
- .map(({ name, optional, type, defaultValue }) => {
75
- const isCombinedType = name.includes('...') || name === 'query';
76
- if (isCombinedType) {
77
- requestInputCombinedType = { name, optional, type, defaultValue };
78
- return;
79
- }
80
- return `${name}${optional ? '?' : ''}:${type}`;
81
- })
82
- .filter(Boolean)
83
- .join(', ')}
84
- }`;
85
- if (requestInputCombinedType) {
86
- requestInputType = `${requestInputCombinedType.type} & ${requestInputType}`;
87
- }
88
66
  const requestInfoMeta = apiParams.getEndpointMeta?.(route, utils);
89
67
  const requestMeta = apiParams.getRequestMeta?.(route, utils);
90
68
  const resultPath = (apiParams.requestPathPrefix ?? '') +
@@ -100,17 +78,32 @@ export const newRequestInfoTmpl = ({ route, apiParams, importFileParams, utils,
100
78
  }).map((it) => it.type),
101
79
  ]);
102
80
  const pathDeclaration = resultPath.replaceAll('$', '');
81
+ const requestInputTypeDc = {
82
+ typeIdentifier: 'type',
83
+ name: _.upperFirst(_.camelCase(`${route.routeName.usage}Input`)),
84
+ content: `{
85
+ ${inputParams
86
+ .map(({ name, optional, type }) => {
87
+ return `${name}${optional ? '?' : ''}:${type}`;
88
+ })
89
+ .filter(Boolean)
90
+ .join(', ')}
91
+ }`,
92
+ };
103
93
  return {
104
94
  reservedDataContractNames,
95
+ localModelTypes: [requestInputTypeDc],
105
96
  content: `
106
97
  new ${importFileParams.endpoint.exportName}<
107
98
  ${requestOutputDataTypes.join('|') || 'any'},
108
99
  ${requestOutputErrorType},
109
- ${requestInputType},
100
+ ${requestInputTypeDc.name},
110
101
  ${requestInfoMeta?.typeName ?? 'any'}
111
102
  >(
112
103
  {
113
- params: ({ ${requestInfoFnArgNames} }) => ({
104
+ params: ({
105
+ ${inputParams.map((it) => it.name)}
106
+ }) => ({
114
107
  path: \`${resultPath}\`,
115
108
  method: '${_.upperCase(method)}',
116
109
  ${requestMeta?.tmplData ? `meta: ${requestMeta.tmplData},` : ''}
@@ -119,9 +112,9 @@ new ${importFileParams.endpoint.exportName}<
119
112
  ${security ? 'secure: true,' : ''}
120
113
  ${bodyContentType ? `contentType: ${bodyContentType},` : ''}
121
114
  ${responseFormat ? `format: ${responseFormat},` : ''}
122
- ...${requestInfoFnArgNames.at(-1)},
115
+ ...${requestConfigParam.name},
123
116
  }),
124
- requiredParams: [${requiredArgs.map((it) => `"${it.name}"`)}],
117
+ requiredParams: [${inputParams.filter((it) => !it.optional).map((it) => `"${it.name}"`)}],
125
118
  operationId: "${raw.operationId}",
126
119
  pathDeclaration: "${pathDeclaration}",
127
120
  tags: [${tags.map((tag) => `"${tag}"`)}],
@@ -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;;;EA6E9B,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;;;EAgG9B,CAAC"}
@@ -4,7 +4,7 @@ import { newRequestInfoTmpl } from './new-request-info.tmpl.js';
4
4
  import { requestInfoJSDocTmpl } from './request-info-jsdoc.tmpl.js';
5
5
  export const requestInfoPerFileTmpl = async ({ route, configuration, apiParams, formatTSContent, importFileParams, utils, relativePathDataContracts, }) => {
6
6
  const { _ } = utils;
7
- const { content: requestInfoInstanceContent, reservedDataContractNames } = newRequestInfoTmpl({
7
+ const { content: requestInfoInstanceContent, reservedDataContractNames, localModelTypes, } = newRequestInfoTmpl({
8
8
  route,
9
9
  configuration,
10
10
  apiParams,
@@ -48,6 +48,17 @@ export const requestInfoPerFileTmpl = async ({ route, configuration, apiParams,
48
48
  })))
49
49
  .filter(Boolean)
50
50
  .join('\n\n')}
51
+
52
+ ${(await Promise.all(localModelTypes.map(async (modelType) => {
53
+ const contractType = await dataContractTmpl({
54
+ configuration,
55
+ contract: modelType,
56
+ addExportKeyword: true,
57
+ });
58
+ return contractType;
59
+ })))
60
+ .filter(Boolean)
61
+ .join('\n\n')}
51
62
 
52
63
  ${requestInfoJSDocTmpl({
53
64
  route,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "mobx-tanstack-query-api",
3
- "version": "0.0.38",
3
+ "version": "0.0.40",
4
4
  "keywords": [],
5
5
  "author": "js2me",
6
6
  "license": "MIT",
@@ -1,16 +1,18 @@
1
1
  import { MobxMutation, MobxMutationConfig } from 'mobx-tanstack-query';
2
- import { AllPropertiesOptional, AnyObject, Unpromise } from 'yummies/utils/types';
2
+ import { AllPropertiesOptional, AnyObject } from 'yummies/utils/types';
3
3
  import { EndpointQueryClient } from './endpoint-query-client.js';
4
- import { AnyEndpoint, InferEndpointError, InferEndpointInput, InferEndpointResponse } from './endpoint.types.js';
4
+ import { AnyEndpoint } from './endpoint.types.js';
5
+ import { AnyHttpResponse } from './http-client.js';
5
6
  export type EndpointMutationInput<TBaseInput extends AnyObject, TMutationMeta extends AnyObject | void = void> = TBaseInput & (TMutationMeta extends void ? {} : AllPropertiesOptional<TMutationMeta> extends true ? {
6
7
  meta?: TMutationMeta;
7
8
  } : {
8
9
  meta: TMutationMeta;
9
10
  });
10
- export interface EndpointMutationOptions<TEndpoint extends AnyEndpoint, TMutationMeta extends AnyObject | void = void> extends Omit<MobxMutationConfig<Unpromise<InferEndpointResponse<TEndpoint>>, EndpointMutationInput<InferEndpointInput<TEndpoint>, TMutationMeta>, InferEndpointError<TEndpoint>>, 'queryClient' | 'mutationFn'> {
11
- }
12
- export declare class EndpointMutation<TEndpoint extends AnyEndpoint, TMutationMeta extends AnyObject | void = void> extends MobxMutation<Unpromise<InferEndpointResponse<TEndpoint>>, EndpointMutationInput<InferEndpointInput<TEndpoint>, TMutationMeta>> {
11
+ export type EndpointMutationOptions<TOutput, TInput extends AnyObject, TResponse extends AnyHttpResponse, TError, TMutationMeta extends AnyObject | void = void> = {
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
15
  private endpoint;
14
- constructor(endpoint: TEndpoint, queryClient: EndpointQueryClient, options: EndpointMutationOptions<TEndpoint, TMutationMeta>);
16
+ constructor(endpoint: AnyEndpoint, queryClient: EndpointQueryClient, { transform: transformResponse, ...mutationOptions }: EndpointMutationOptions<TOutput, TInput, TResponse, TError, TMutationMeta>);
15
17
  }
16
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,EACL,qBAAqB,EACrB,SAAS,EACT,SAAS,EACV,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AACjE,OAAO,EACL,WAAW,EACX,kBAAkB,EAClB,kBAAkB,EAClB,qBAAqB,EACtB,MAAM,qBAAqB,CAAC;AAE7B,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,WAAW,uBAAuB,CACtC,SAAS,SAAS,WAAW,EAC7B,aAAa,SAAS,SAAS,GAAG,IAAI,GAAG,IAAI,CAC7C,SAAQ,IAAI,CACV,kBAAkB,CAChB,SAAS,CAAC,qBAAqB,CAAC,SAAS,CAAC,CAAC,EAC3C,qBAAqB,CAAC,kBAAkB,CAAC,SAAS,CAAC,EAAE,aAAa,CAAC,EACnE,kBAAkB,CAAC,SAAS,CAAC,CAC9B,EACD,aAAa,GAAG,YAAY,CAC7B;CAAG;AAEN,qBAAa,gBAAgB,CAC3B,SAAS,SAAS,WAAW,EAC7B,aAAa,SAAS,SAAS,GAAG,IAAI,GAAG,IAAI,CAC7C,SAAQ,YAAY,CACpB,SAAS,CAAC,qBAAqB,CAAC,SAAS,CAAC,CAAC,EAC3C,qBAAqB,CAAC,kBAAkB,CAAC,SAAS,CAAC,EAAE,aAAa,CAAC,CACpE;IAEG,OAAO,CAAC,QAAQ;gBAAR,QAAQ,EAAE,SAAS,EAC3B,WAAW,EAAE,mBAAmB,EAChC,OAAO,EAAE,uBAAuB,CAAC,SAAS,EAAE,aAAa,CAAC;CAa7D"}
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,15 +1,19 @@
1
1
  import { MobxMutation } from 'mobx-tanstack-query';
2
2
  export class EndpointMutation extends MobxMutation {
3
3
  endpoint;
4
- constructor(endpoint, queryClient, options) {
4
+ constructor(endpoint, queryClient, { transform: transformResponse, ...mutationOptions }) {
5
5
  // eslint-disable-next-line @typescript-eslint/ban-ts-comment
6
6
  // @ts-expect-error
7
7
  super({
8
- ...options,
8
+ ...mutationOptions,
9
9
  queryClient,
10
10
  mutationFn: async (input) => {
11
11
  const response = await endpoint.request(input);
12
- return response;
12
+ let output = response.data;
13
+ if (transformResponse) {
14
+ output = await transformResponse(response);
15
+ }
16
+ return output;
13
17
  },
14
18
  });
15
19
  this.endpoint = endpoint;
@@ -1,21 +1,18 @@
1
1
  import { QueryFunctionContext } from '@tanstack/query-core';
2
2
  import { MobxQuery, MobxQueryConfig } from 'mobx-tanstack-query';
3
- import { MaybeFalsy, Unpromise } from 'yummies/utils/types';
3
+ import { AnyObject, MaybeFalsy } from 'yummies/utils/types';
4
4
  import { EndpointQueryClient } from './endpoint-query-client.js';
5
- import { AnyEndpoint, InferEndpointError, InferEndpointInput, InferEndpointResponse } from './endpoint.types.js';
6
- export type EndpointQueryOptions<TOutput, TEndpoint extends AnyEndpoint> = {
7
- input?: () => MaybeFalsy<InferEndpointInput<TEndpoint>>;
8
- transform?: (response: Unpromise<InferEndpointResponse<TEndpoint>>) => TOutput;
9
- } & Omit<MobxQueryConfig<TOutput, InferEndpointError<TEndpoint>>, 'options' | 'queryFn' | 'queryClient'>;
10
- export declare class EndpointQuery<TOutput, TEndpoint extends AnyEndpoint> extends MobxQuery<TOutput, InferEndpointError<TEndpoint>> {
5
+ import { AnyEndpoint } from './endpoint.types.js';
6
+ import { AnyHttpResponse } from './http-client.js';
7
+ export type EndpointQueryOptions<TOutput, TInput extends AnyObject, TResponse extends AnyHttpResponse, TError> = {
8
+ input?: () => MaybeFalsy<TInput>;
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>> {
11
12
  private endpoint;
12
- response: Unpromise<InferEndpointResponse<TEndpoint>> | null;
13
- constructor(endpoint: TEndpoint, queryClient: EndpointQueryClient, { input: getInput, ...queryOptions }: EndpointQueryOptions<TOutput, TEndpoint>);
14
- setInput(input: MaybeFalsy<InferEndpointInput<TEndpoint>>): Promise<Unpromise<InferEndpointResponse<TEndpoint>>>;
15
- buildOptionsFromInput(input: MaybeFalsy<Partial<InferEndpointInput<TEndpoint>>>): {
16
- enabled: boolean;
17
- queryKey: any[];
18
- };
19
- protected getInputFromContext(ctx: QueryFunctionContext<any, any>): InferEndpointInput<TEndpoint>;
13
+ response: TResponse | null;
14
+ constructor(endpoint: AnyEndpoint, queryClient: EndpointQueryClient, { input: getInput, transform: transformResponse, ...queryOptions }: EndpointQueryOptions<TOutput, TInput, TResponse, TError>);
15
+ setInput(input: MaybeFalsy<TInput>): Promise<TResponse>;
16
+ protected getInputFromContext(ctx: QueryFunctionContext<any, any>): TInput;
20
17
  }
21
18
  //# sourceMappingURL=endpoint-query.d.ts.map
@@ -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,EAAS,UAAU,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAEnE,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AACjE,OAAO,EACL,WAAW,EACX,kBAAkB,EAClB,kBAAkB,EAClB,qBAAqB,EACtB,MAAM,qBAAqB,CAAC;AAG7B,MAAM,MAAM,oBAAoB,CAAC,OAAO,EAAE,SAAS,SAAS,WAAW,IAAI;IACzE,KAAK,CAAC,EAAE,MAAM,UAAU,CAAC,kBAAkB,CAAC,SAAS,CAAC,CAAC,CAAC;IACxD,SAAS,CAAC,EAAE,CACV,QAAQ,EAAE,SAAS,CAAC,qBAAqB,CAAC,SAAS,CAAC,CAAC,KAClD,OAAO,CAAC;CACd,GAAG,IAAI,CACN,eAAe,CAAC,OAAO,EAAE,kBAAkB,CAAC,SAAS,CAAC,CAAC,EACvD,SAAS,GAAG,SAAS,GAAG,aAAa,CACtC,CAAC;AAEF,qBAAa,aAAa,CACxB,OAAO,EACP,SAAS,SAAS,WAAW,CAC7B,SAAQ,SAAS,CAAC,OAAO,EAAE,kBAAkB,CAAC,SAAS,CAAC,CAAC;IAIvD,OAAO,CAAC,QAAQ;IAHlB,QAAQ,EAAE,SAAS,CAAC,qBAAqB,CAAC,SAAS,CAAC,CAAC,GAAG,IAAI,CAAQ;gBAG1D,QAAQ,EAAE,SAAS,EAC3B,WAAW,EAAE,mBAAmB,EAChC,EACE,KAAK,EAAE,QAAQ,EACf,GAAG,YAAY,EAChB,EAAE,oBAAoB,CAAC,OAAO,EAAE,SAAS,CAAC;IA+DvC,QAAQ,CACZ,KAAK,EAAE,UAAU,CAAC,kBAAkB,CAAC,SAAS,CAAC,CAAC,GAC/C,OAAO,CAAC,SAAS,CAAC,qBAAqB,CAAC,SAAS,CAAC,CAAC,CAAC;IAOvD,qBAAqB,CACnB,KAAK,EAAE,UAAU,CAAC,OAAO,CAAC,kBAAkB,CAAC,SAAS,CAAC,CAAC,CAAC;;;;IAkB3D,SAAS,CAAC,mBAAmB,CAAC,GAAG,EAAE,oBAAoB,CAAC,GAAG,EAAE,GAAG,CAAC,GAC7B,kBAAkB,CAAC,SAAS,CAAC;CAElE"}
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,9 +1,24 @@
1
1
  import { makeObservable, observable, runInAction, when } from 'mobx';
2
2
  import { MobxQuery } from 'mobx-tanstack-query';
3
+ const buildOptionsFromInput = (endpoint, input) => {
4
+ const { requiredParams } = endpoint.configuration;
5
+ let hasRequiredParams = false;
6
+ if (requiredParams.length > 0) {
7
+ hasRequiredParams =
8
+ !!input && requiredParams.every((param) => param in input);
9
+ }
10
+ else {
11
+ hasRequiredParams = true;
12
+ }
13
+ return {
14
+ enabled: hasRequiredParams,
15
+ queryKey: endpoint.getQueryKey(input || {}),
16
+ };
17
+ };
3
18
  export class EndpointQuery extends MobxQuery {
4
19
  endpoint;
5
20
  response = null;
6
- constructor(endpoint, queryClient, { input: getInput, ...queryOptions }) {
21
+ constructor(endpoint, queryClient, { input: getInput, transform: transformResponse, ...queryOptions }) {
7
22
  super({
8
23
  ...queryOptions,
9
24
  queryClient,
@@ -15,7 +30,7 @@ export class EndpointQuery extends MobxQuery {
15
30
  options: ({ options }) => {
16
31
  const willEnableManually = options?.enabled === false;
17
32
  const input = (getInput?.() || {});
18
- const builtOptions = this.buildOptionsFromInput(input);
33
+ const builtOptions = buildOptionsFromInput(endpoint, input);
19
34
  return {
20
35
  ...options,
21
36
  ...builtOptions,
@@ -44,7 +59,11 @@ export class EndpointQuery extends MobxQuery {
44
59
  runInAction(() => {
45
60
  this.response = response;
46
61
  });
47
- return response.data;
62
+ let output = response.data;
63
+ if (transformResponse) {
64
+ output = await transformResponse(response);
65
+ }
66
+ return output;
48
67
  },
49
68
  });
50
69
  this.endpoint = endpoint;
@@ -52,26 +71,11 @@ export class EndpointQuery extends MobxQuery {
52
71
  makeObservable(this);
53
72
  }
54
73
  async setInput(input) {
55
- this.update(this.buildOptionsFromInput(input));
74
+ this.update(buildOptionsFromInput(this.endpoint, input));
56
75
  await when(() => !this.result.isFetching);
57
76
  // @ts-ignore
58
77
  return this.result.data;
59
78
  }
60
- buildOptionsFromInput(input) {
61
- const { requiredParams } = this.endpoint.configuration;
62
- let hasRequiredParams = false;
63
- if (requiredParams.length > 0) {
64
- hasRequiredParams =
65
- !!input && requiredParams.every((param) => param in input);
66
- }
67
- else {
68
- hasRequiredParams = true;
69
- }
70
- return {
71
- enabled: hasRequiredParams,
72
- queryKey: this.endpoint.getQueryKey(input || {}),
73
- };
74
- }
75
79
  getInputFromContext(ctx) {
76
80
  return (ctx.queryKey[2] || {});
77
81
  }
@@ -4,7 +4,7 @@ import { EndpointMutation, EndpointMutationOptions } from './endpoint-mutation.j
4
4
  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
- import type { HttpClient } from './http-client.js';
7
+ import type { HttpClient, HttpResponse } from './http-client.js';
8
8
  export interface Endpoint<TData, TError, TInput extends AnyObject, TMetaData extends AnyObject = AnyObject> {
9
9
  (...args: AllPropertiesOptional<TInput> extends true ? [input?: TInput] : [input: TInput]): ReturnType<Endpoint<TData, TError, TInput, TMetaData>['request']>;
10
10
  }
@@ -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<import("./http-client.js").HttpResponse<TData, TError>>;
22
+ request(...args: AllPropertiesOptional<TInput> extends true ? [input?: TInput] : [input: TInput]): Promise<HttpResponse<TData, TError>>;
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<TMutationMeta extends AnyObject | void = void>(options: EndpointMutationOptions<typeof this, TMutationMeta>): EndpointMutation<this, TMutationMeta>;
31
- toQuery<TOutput>(options: EndpointQueryOptions<TOutput, typeof this>): EndpointQuery<TOutput, this>;
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>;
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":"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"}
@@ -75,12 +75,9 @@ export class Endpoint {
75
75
  exact: filters?.exact ?? false,
76
76
  }, options);
77
77
  }
78
- toMutation(
79
- // @ts-expect-error
80
- options) {
78
+ toMutation(options) {
81
79
  return new EndpointMutation(this, this.queryClient, options);
82
80
  }
83
- // @ts-expect-error
84
81
  toQuery(options) {
85
82
  return new EndpointQuery(this, this.queryClient, options);
86
83
  }
@@ -6,7 +6,7 @@ export interface EndpointConfiguration<TInput extends AnyObject, TMetaData exten
6
6
  pathDeclaration: string;
7
7
  meta?: TMetaData;
8
8
  requiredParams: string[];
9
- params: (...args: AllPropertiesOptional<TInput> extends true ? [input: Partial<TInput>] : [input: TInput]) => FullRequestParams;
9
+ params: (input: Partial<TInput>) => FullRequestParams;
10
10
  tags: string[];
11
11
  }
12
12
  export type EndpointMutationInput<TBaseInput extends AnyObject, TMutationMeta extends AnyObject | void = void> = TBaseInput & (TMutationMeta extends void ? {} : AllPropertiesOptional<TMutationMeta> extends true ? {
@@ -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,CACN,GAAG,IAAI,EAAE,qBAAqB,CAAC,MAAM,CAAC,SAAS,IAAI,GAC/C,CAAC,KAAK,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC,GACxB,CAAC,KAAK,EAAE,MAAM,CAAC,KAChB,iBAAiB,CAAC;IACvB,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,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"}