mobx-tanstack-query-api 0.0.58 → 0.0.60

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "mobx-tanstack-query-api",
3
- "version": "0.0.58",
3
+ "version": "0.0.60",
4
4
  "keywords": [],
5
5
  "author": "js2me",
6
6
  "license": "MIT",
@@ -23,16 +23,18 @@
23
23
  "@types/lodash": "^4.17.16",
24
24
  "@types/lodash-es": "^4.17.12",
25
25
  "http-status-code-types": "^0.0.2",
26
- "mobx-tanstack-query": "^5.2.2",
26
+ "mobx-tanstack-query": "^5.2.3",
27
27
  "swagger-typescript-api": "13.2.1",
28
28
  "yummies": "^3.2.9"
29
29
  },
30
30
  "devDependencies": {
31
31
  "@types/node": "^20.17.11",
32
+ "commitfmt": "^1.0.0",
32
33
  "eslint": "^8.57.1",
33
34
  "js2me-eslint-config": "^1.0.7",
34
- "js2me-exports-post-build-script": "^2.0.17",
35
+ "js2me-exports-post-build-script": "^3.0.2",
35
36
  "jsdom": "^26.0.0",
37
+ "lefthook": "^1.11.13",
36
38
  "nodemon": "^3.1.9",
37
39
  "rimraf": "^6.0.1",
38
40
  "typescript": "^5.8.3",
@@ -143,6 +145,7 @@
143
145
  "main": "./index.js",
144
146
  "typings": "./index.d.ts",
145
147
  "scripts": {
148
+ "postinstall": "pnpm dev:install-hooks",
146
149
  "clean": "rimraf dist",
147
150
  "lint:check": "eslint . --fix",
148
151
  "ts:check": "tsc --noEmit",
@@ -158,6 +161,7 @@
158
161
  "test:watch": "vitest watch",
159
162
  "test:coverage": "vitest run --coverage",
160
163
  "dev": "pnpm build && nodemon --delay 0.5 --watch src --ext ts,tsx --exec \"pnpm build && pnpm playground\"",
161
- "playground": "node ./playground/index.mjs"
164
+ "playground": "node ./playground/index.mjs",
165
+ "dev:install-hooks": "if [ -z \"$CI\" ]; then lefthook install; fi"
162
166
  }
163
167
  }
@@ -1,22 +1,10 @@
1
- import { Mutation, MutationConfig, MutationInvalidateQueriesOptions } from 'mobx-tanstack-query';
2
- import { AllPropertiesOptional, AnyObject } from 'yummies/utils/types';
1
+ import { Mutation } from 'mobx-tanstack-query';
2
+ import { AnyObject } from 'yummies/utils/types';
3
+ import { EndpointMutationParams, EndpointMutationOptions } from './endpoint-mutation.types.js';
3
4
  import { EndpointQueryClient } from './endpoint-query-client.js';
4
5
  import { AnyEndpoint } from './endpoint.types.js';
5
- import { AnyHttpResponse } from './http-client.js';
6
- export interface EndpointMutationInvalidateQueriesOptions extends MutationInvalidateQueriesOptions {
7
- invalidateTags?: string[];
8
- }
9
- export type EndpointMutationInput<TBaseInput extends AnyObject, TMutationMeta extends AnyObject | void = void> = TBaseInput & (TMutationMeta extends void ? {} : AllPropertiesOptional<TMutationMeta> extends true ? {
10
- meta?: TMutationMeta;
11
- } : {
12
- meta: TMutationMeta;
13
- });
14
- export type EndpointMutationOptions<TOutput, TInput extends AnyObject, TResponse extends AnyHttpResponse, TMutationMeta extends AnyObject | void = void> = {
15
- transform?: (response: TResponse) => TOutput | Promise<TOutput>;
16
- invalidateQueries?: EndpointMutationInvalidateQueriesOptions | ((data: NoInfer<TOutput>, payload: EndpointMutationInput<NoInfer<TInput>, NoInfer<TMutationMeta>>) => EndpointMutationInvalidateQueriesOptions | null | undefined);
17
- } & Omit<MutationConfig<NoInfer<TOutput>, EndpointMutationInput<NoInfer<TInput>, NoInfer<TMutationMeta>>, NoInfer<TResponse>['error']>, 'queryClient' | 'mutationFn' | 'invalidateQueries'>;
18
- export declare class EndpointMutation<TOutput, TInput extends AnyObject, TResponse extends AnyHttpResponse, TMutationMeta extends AnyObject | void = void> extends Mutation<TOutput, EndpointMutationInput<TInput, TMutationMeta>, TResponse['error']> {
6
+ export declare class EndpointMutation<TEndpoint extends AnyEndpoint, TData = unknown, TParams extends AnyObject = AnyObject, TMutationMeta extends AnyObject | void = void, TContext = unknown> extends Mutation<TData, EndpointMutationParams<TParams, TMutationMeta>, TEndpoint['__response']['error'], TContext> {
19
7
  private endpoint;
20
- constructor(endpoint: AnyEndpoint, queryClient: EndpointQueryClient, { transform: transformResponse, invalidateQueries, ...mutationOptions }: EndpointMutationOptions<TOutput, TInput, TResponse, TMutationMeta>);
8
+ constructor(endpoint: AnyEndpoint, queryClient: EndpointQueryClient, { transform: transformResponse, invalidateQueries, ...mutationOptions }: EndpointMutationOptions<TEndpoint, TData, TParams, TMutationMeta, TContext>);
21
9
  }
22
10
  //# 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,EACL,QAAQ,EACR,cAAc,EACd,gCAAgC,EACjC,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,qBAAqB,EAAE,SAAS,EAAS,MAAM,qBAAqB,CAAC;AAE9E,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,WAAW,wCACf,SAAQ,gCAAgC;IACxC,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;CAC3B;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,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;IAChE,iBAAiB,CAAC,EACd,wCAAwC,GACxC,CAAC,CACC,IAAI,EAAE,OAAO,CAAC,OAAO,CAAC,EACtB,OAAO,EAAE,qBAAqB,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC,KACpE,wCAAwC,GAAG,IAAI,GAAG,SAAS,CAAC,CAAC;CACvE,GAAG,IAAI,CACN,cAAc,CACZ,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,GAAG,mBAAmB,CACnD,CAAC;AAEF,qBAAa,gBAAgB,CAC3B,OAAO,EACP,MAAM,SAAS,SAAS,EACxB,SAAS,SAAS,eAAe,EACjC,aAAa,SAAS,SAAS,GAAG,IAAI,GAAG,IAAI,CAC7C,SAAQ,QAAQ,CAChB,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,iBAAiB,EACjB,GAAG,eAAe,EACnB,EAAE,uBAAuB,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,aAAa,CAAC;CAgDxE"}
1
+ {"version":3,"file":"endpoint-mutation.d.ts","sourceRoot":"","sources":["../../src/runtime/endpoint-mutation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAC/C,OAAO,EAAE,SAAS,EAAS,MAAM,qBAAqB,CAAC;AAEvD,OAAO,EACL,sBAAsB,EAEtB,uBAAuB,EACxB,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AACjE,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAElD,qBAAa,gBAAgB,CAC3B,SAAS,SAAS,WAAW,EAC7B,KAAK,GAAG,OAAO,EACf,OAAO,SAAS,SAAS,GAAG,SAAS,EACrC,aAAa,SAAS,SAAS,GAAG,IAAI,GAAG,IAAI,EAC7C,QAAQ,GAAG,OAAO,CAClB,SAAQ,QAAQ,CAChB,KAAK,EACL,sBAAsB,CAAC,OAAO,EAAE,aAAa,CAAC,EAC9C,SAAS,CAAC,YAAY,CAAC,CAAC,OAAO,CAAC,EAChC,QAAQ,CACT;IAEG,OAAO,CAAC,QAAQ;gBAAR,QAAQ,EAAE,WAAW,EAC7B,WAAW,EAAE,mBAAmB,EAChC,EACE,SAAS,EAAE,iBAAiB,EAC5B,iBAAiB,EACjB,GAAG,eAAe,EACnB,EAAE,uBAAuB,CACxB,SAAS,EACT,KAAK,EACL,OAAO,EACP,aAAa,EACb,QAAQ,CACT;CAyCJ"}
@@ -1,4 +1,4 @@
1
- import { Mutation, } from 'mobx-tanstack-query';
1
+ import { Mutation } from 'mobx-tanstack-query';
2
2
  export class EndpointMutation extends Mutation {
3
3
  endpoint;
4
4
  constructor(endpoint, queryClient, { transform: transformResponse, invalidateQueries, ...mutationOptions }) {
@@ -31,11 +31,7 @@ export class EndpointMutation extends Mutation {
31
31
  },
32
32
  mutationFn: async (input) => {
33
33
  const response = await endpoint.request(input);
34
- let output = response.data;
35
- if (transformResponse) {
36
- output = await transformResponse(response);
37
- }
38
- return output;
34
+ return (await transformResponse?.(response)) ?? response.data;
39
35
  },
40
36
  });
41
37
  this.endpoint = endpoint;
@@ -0,0 +1,19 @@
1
+ import { MutationConfig, MutationInvalidateQueriesOptions } from 'mobx-tanstack-query';
2
+ import { AllPropertiesOptional, AnyObject } from 'yummies/utils/types';
3
+ import { AnyEndpoint } from './endpoint.types.js';
4
+ export interface EndpointMutationInvalidateQueriesOptions extends MutationInvalidateQueriesOptions {
5
+ invalidateTags?: string[];
6
+ }
7
+ export type EndpointMutationParams<TParams extends AnyObject, TMutationMeta extends AnyObject | void = void> = TParams & (TMutationMeta extends void ? {} : AllPropertiesOptional<TMutationMeta> extends true ? {
8
+ meta?: TMutationMeta;
9
+ } : {
10
+ meta: TMutationMeta;
11
+ });
12
+ export type EndpointMutationOptions<TEndpoint extends AnyEndpoint, TData = unknown, TParams extends AnyObject = AnyObject, TMutationMeta extends AnyObject | void = void, TContext = unknown> = {
13
+ /**
14
+ * Transform response to TData
15
+ */
16
+ transform?: (response: TEndpoint['__response']) => TData | Promise<TData>;
17
+ invalidateQueries?: EndpointMutationInvalidateQueriesOptions | ((data: NoInfer<TData>, payload: EndpointMutationParams<NoInfer<TParams>, NoInfer<TMutationMeta>>) => EndpointMutationInvalidateQueriesOptions | null | undefined);
18
+ } & Omit<MutationConfig<NoInfer<TData>, EndpointMutationParams<NoInfer<TParams>, NoInfer<TMutationMeta>>, TEndpoint['__response']['error'], TContext>, 'queryClient' | 'mutationFn' | 'invalidateQueries'>;
19
+ //# sourceMappingURL=endpoint-mutation.types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"endpoint-mutation.types.d.ts","sourceRoot":"","sources":["../../src/runtime/endpoint-mutation.types.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,cAAc,EACd,gCAAgC,EACjC,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,qBAAqB,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAEvE,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAElD,MAAM,WAAW,wCACf,SAAQ,gCAAgC;IACxC,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;CAC3B;AAED,MAAM,MAAM,sBAAsB,CAChC,OAAO,SAAS,SAAS,EACzB,aAAa,SAAS,SAAS,GAAG,IAAI,GAAG,IAAI,IAC3C,OAAO,GACT,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,SAAS,SAAS,WAAW,EAC7B,KAAK,GAAG,OAAO,EACf,OAAO,SAAS,SAAS,GAAG,SAAS,EACrC,aAAa,SAAS,SAAS,GAAG,IAAI,GAAG,IAAI,EAC7C,QAAQ,GAAG,OAAO,IAChB;IACF;;OAEG;IACH,SAAS,CAAC,EAAE,CAAC,QAAQ,EAAE,SAAS,CAAC,YAAY,CAAC,KAAK,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC;IAC1E,iBAAiB,CAAC,EACd,wCAAwC,GACxC,CAAC,CACC,IAAI,EAAE,OAAO,CAAC,KAAK,CAAC,EACpB,OAAO,EAAE,sBAAsB,CAC7B,OAAO,CAAC,OAAO,CAAC,EAChB,OAAO,CAAC,aAAa,CAAC,CACvB,KACE,wCAAwC,GAAG,IAAI,GAAG,SAAS,CAAC,CAAC;CACvE,GAAG,IAAI,CACN,cAAc,CACZ,OAAO,CAAC,KAAK,CAAC,EACd,sBAAsB,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC,EAChE,SAAS,CAAC,YAAY,CAAC,CAAC,OAAO,CAAC,EAChC,QAAQ,CACT,EACD,aAAa,GAAG,YAAY,GAAG,mBAAmB,CACnD,CAAC"}
@@ -0,0 +1 @@
1
+ export {};
@@ -1,14 +1,14 @@
1
- import { DefaultError, QueryFunctionContext, QueryObserverResult } from '@tanstack/query-core';
1
+ import { DefaultError, QueryObserverResult } from '@tanstack/query-core';
2
2
  import { Query } from 'mobx-tanstack-query';
3
3
  import { MaybeFalsy } from 'yummies/utils/types';
4
4
  import { EndpointQueryClient } from './endpoint-query-client.js';
5
5
  import { EndpointQueryOptions } from './endpoint-query.types.js';
6
6
  import { AnyEndpoint } from './endpoint.types.js';
7
- export declare class EndpointQuery<TEndpoint extends AnyEndpoint, TQueryFnData = unknown, TError = DefaultError, TData = TQueryFnData, TQueryData = TQueryFnData> extends Query<TQueryFnData, TError, TData, TQueryData> {
7
+ export declare class EndpointQuery<TEndpoint extends AnyEndpoint, TQueryFnData = TEndpoint['__response']['data'], TError = DefaultError, TData = TQueryFnData, TQueryData = TQueryFnData> extends Query<TQueryFnData, TError, TData, TQueryData> {
8
8
  private endpoint;
9
- response: TEndpoint['__response_type'] | null;
10
- constructor(endpoint: AnyEndpoint, queryClient: EndpointQueryClient, { input: getInput, uniqKey, ...queryOptions }: EndpointQueryOptions<TEndpoint, TQueryFnData, TError, TData, TQueryData>);
11
- start(input: MaybeFalsy<TEndpoint['__input_type']>): Promise<QueryObserverResult<TData, TError>>;
12
- protected getInputFromContext(ctx: QueryFunctionContext<any, any>): TEndpoint["__input_type"];
9
+ response: TEndpoint['__response'] | null;
10
+ private uniqKey?;
11
+ constructor(endpoint: AnyEndpoint, queryClient: EndpointQueryClient, { transform: transformResponse, params: getParams, uniqKey, ...queryOptions }: EndpointQueryOptions<TEndpoint, TQueryFnData, TError, TData, TQueryData>);
12
+ start(input: MaybeFalsy<TEndpoint['__params']>): Promise<QueryObserverResult<TData, TError>>;
13
13
  }
14
14
  //# 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":"AAEA,OAAO,EACL,YAAY,EACZ,oBAAoB,EACpB,mBAAmB,EAEpB,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAC;AAC5C,OAAO,EAAoB,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAEnE,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AACjE,OAAO,EAEL,oBAAoB,EAErB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAGlD,qBAAa,aAAa,CACxB,SAAS,SAAS,WAAW,EAC7B,YAAY,GAAG,OAAO,EACtB,MAAM,GAAG,YAAY,EACrB,KAAK,GAAG,YAAY,EACpB,UAAU,GAAG,YAAY,CACzB,SAAQ,KAAK,CAAC,YAAY,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,CAAC;IAIpD,OAAO,CAAC,QAAQ;IAHlB,QAAQ,EAAE,SAAS,CAAC,iBAAiB,CAAC,GAAG,IAAI,CAAQ;gBAG3C,QAAQ,EAAE,WAAW,EAC7B,WAAW,EAAE,mBAAmB,EAChC,EACE,KAAK,EAAE,QAAQ,EACf,OAAO,EACP,GAAG,YAAY,EAChB,EAAE,oBAAoB,CAAC,SAAS,EAAE,YAAY,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,CAAC;IAgFvE,KAAK,CACT,KAAK,EAAE,UAAU,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC,GAC3C,OAAO,CAAC,mBAAmB,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IAI9C,SAAS,CAAC,mBAAmB,CAAC,GAAG,EAAE,oBAAoB,CAAC,GAAG,EAAE,GAAG,CAAC,GACzB,SAAS,CAAC,cAAc,CAAC;CAElE"}
1
+ {"version":3,"file":"endpoint-query.d.ts","sourceRoot":"","sources":["../../src/runtime/endpoint-query.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,YAAY,EAEZ,mBAAmB,EAEpB,MAAM,sBAAsB,CAAC;AAE9B,OAAO,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAC;AAC5C,OAAO,EAAoB,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAEnE,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AACjE,OAAO,EAEL,oBAAoB,EAErB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAGlD,qBAAa,aAAa,CACxB,SAAS,SAAS,WAAW,EAC7B,YAAY,GAAG,SAAS,CAAC,YAAY,CAAC,CAAC,MAAM,CAAC,EAC9C,MAAM,GAAG,YAAY,EACrB,KAAK,GAAG,YAAY,EACpB,UAAU,GAAG,YAAY,CACzB,SAAQ,KAAK,CAAC,YAAY,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,CAAC;IAMpD,OAAO,CAAC,QAAQ;IALlB,QAAQ,EAAE,SAAS,CAAC,YAAY,CAAC,GAAG,IAAI,CAAQ;IAEhD,OAAO,CAAC,OAAO,CAAC,CAAuB;gBAG7B,QAAQ,EAAE,WAAW,EAC7B,WAAW,EAAE,mBAAmB,EAChC,EACE,SAAS,EAAE,iBAAiB,EAC5B,MAAM,EAAE,SAAS,EACjB,OAAO,EACP,GAAG,YAAY,EAChB,EAAE,oBAAoB,CAAC,SAAS,EAAE,YAAY,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,CAAC;IAgFvE,KAAK,CACT,KAAK,EAAE,UAAU,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,GACvC,OAAO,CAAC,mBAAmB,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;CAK/C"}
@@ -6,7 +6,8 @@ import { Query } from 'mobx-tanstack-query';
6
6
  export class EndpointQuery extends Query {
7
7
  endpoint;
8
8
  response = null;
9
- constructor(endpoint, queryClient, { input: getInput, uniqKey, ...queryOptions }) {
9
+ uniqKey;
10
+ constructor(endpoint, queryClient, { transform: transformResponse, params: getParams, uniqKey, ...queryOptions }) {
10
11
  super({
11
12
  ...queryOptions,
12
13
  queryClient,
@@ -21,8 +22,8 @@ export class EndpointQuery extends Query {
21
22
  },
22
23
  options: (query) => {
23
24
  const willEnableManually = queryOptions.enabled === false;
24
- const input = (getInput?.() || {});
25
- const builtOptions = buildOptionsFromInput(endpoint, input, uniqKey);
25
+ const params = (getParams?.() || {});
26
+ const builtOptions = buildOptionsFromParams(endpoint, params, uniqKey);
26
27
  // const dynamicOuterOptions = getDynamicOptions?.(query);
27
28
  let isEnabled = false;
28
29
  if (willEnableManually) {
@@ -48,7 +49,7 @@ export class EndpointQuery extends Query {
48
49
  runInAction(() => {
49
50
  this.response = null;
50
51
  });
51
- const input = this.getInputFromContext(ctx);
52
+ const input = getInputFromContext(ctx);
52
53
  let requestParams = input.request;
53
54
  if (requestParams) {
54
55
  if (!requestParams.signal) {
@@ -66,27 +67,27 @@ export class EndpointQuery extends Query {
66
67
  runInAction(() => {
67
68
  this.response = response;
68
69
  });
69
- const output = response.data;
70
- return output;
70
+ return (await transformResponse?.(response)) ?? response.data;
71
71
  },
72
72
  });
73
73
  this.endpoint = endpoint;
74
+ this.uniqKey = uniqKey;
74
75
  observable.ref(this, 'response');
75
76
  makeObservable(this);
76
77
  }
77
78
  async start(input) {
78
- return await super.start(buildOptionsFromInput(this.endpoint, input));
79
- }
80
- getInputFromContext(ctx) {
81
- return (ctx.queryKey.at(-2) || {});
79
+ return await super.start(buildOptionsFromParams(this.endpoint, input, this.uniqKey));
82
80
  }
83
81
  }
84
- const buildOptionsFromInput = (endpoint, input, uniqKey) => {
82
+ const getInputFromContext = (ctx) => {
83
+ return (ctx.queryKey.at(-2) || {});
84
+ };
85
+ const buildOptionsFromParams = (endpoint, params, uniqKey) => {
85
86
  const { requiredParams } = endpoint.configuration;
86
87
  let hasRequiredParams = false;
87
88
  if (requiredParams.length > 0) {
88
89
  hasRequiredParams =
89
- !!input && requiredParams.every((param) => param in input);
90
+ !!params && requiredParams.every((param) => param in params);
90
91
  }
91
92
  else {
92
93
  hasRequiredParams = true;
@@ -94,7 +95,7 @@ const buildOptionsFromInput = (endpoint, input, uniqKey) => {
94
95
  return {
95
96
  enabled: hasRequiredParams,
96
97
  queryKey: hasRequiredParams
97
- ? endpoint.getQueryKey(input || {}, uniqKey)
98
+ ? endpoint.getQueryKey(params || {}, uniqKey)
98
99
  : skipToken,
99
100
  };
100
101
  };
@@ -12,9 +12,14 @@ export interface EndpointQueryMeta {
12
12
  pathDeclaration: string;
13
13
  }
14
14
  export type EndpointQueryUnitKey = Maybe<FnValue<string | number | AnyObject | boolean>>;
15
- export type EndpointQueryOptions<TEndpoint extends AnyEndpoint, TQueryFnData = unknown, TError = DefaultError, TData = TQueryFnData, TQueryData = TQueryFnData> = {
16
- input?: () => MaybeFalsy<TEndpoint['__input_type']>;
17
- } & Omit<QueryConfig<TQueryFnData, TError, TData, TQueryData>, 'options' | 'queryFn' | 'queryClient' | 'queryKey'> & {
15
+ export type EndpointQueryOptions<TEndpoint extends AnyEndpoint, TQueryFnData = TEndpoint['__response']['data'], TError = DefaultError, TData = TQueryFnData, TQueryData = TQueryFnData> = {
16
+ params?: () => MaybeFalsy<TEndpoint['__params']>;
17
+ /**
18
+ * Transform response to QueryFnData
19
+ */
20
+ transform?: (response: TEndpoint['__response']) => TQueryFnData | Promise<TQueryFnData>;
21
+ } & Omit<QueryConfig<NoInfer<TQueryFnData>, TError, TData, TQueryData>, 'options' | 'queryFn' | 'queryClient' | 'queryKey' | '_defaulted' | '_optimisticResults' | 'experimental_prefetchInRender' | 'enabled' | 'queryHash' | 'queryKeyHashFn'> & {
18
22
  uniqKey?: EndpointQueryUnitKey;
23
+ enabled?: boolean;
19
24
  };
20
25
  //# sourceMappingURL=endpoint-query.types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"endpoint-query.types.d.ts","sourceRoot":"","sources":["../../src/runtime/endpoint-query.types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AACzC,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAEnE,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAElD,MAAM,WAAW,iBAAiB;IAChC,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,IAAI,CAAC;IACpB,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,eAAe,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,MAAM,oBAAoB,GAAG,KAAK,CACtC,OAAO,CAAC,MAAM,GAAG,MAAM,GAAG,SAAS,GAAG,OAAO,CAAC,CAC/C,CAAC;AAEF,MAAM,MAAM,oBAAoB,CAC9B,SAAS,SAAS,WAAW,EAC7B,YAAY,GAAG,OAAO,EACtB,MAAM,GAAG,YAAY,EACrB,KAAK,GAAG,YAAY,EACpB,UAAU,GAAG,YAAY,IACvB;IACF,KAAK,CAAC,EAAE,MAAM,UAAU,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC,CAAC;CACrD,GAAG,IAAI,CACN,WAAW,CAAC,YAAY,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,CAAC,EACpD,SAAS,GAAG,SAAS,GAAG,aAAa,GAAG,UAAU,CACnD,GAAG;IACA,OAAO,CAAC,EAAE,oBAAoB,CAAC;CAChC,CAAC"}
1
+ {"version":3,"file":"endpoint-query.types.d.ts","sourceRoot":"","sources":["../../src/runtime/endpoint-query.types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AACzC,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAEnE,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAElD,MAAM,WAAW,iBAAiB;IAChC,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,IAAI,CAAC;IACpB,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,eAAe,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,MAAM,oBAAoB,GAAG,KAAK,CACtC,OAAO,CAAC,MAAM,GAAG,MAAM,GAAG,SAAS,GAAG,OAAO,CAAC,CAC/C,CAAC;AAEF,MAAM,MAAM,oBAAoB,CAC9B,SAAS,SAAS,WAAW,EAC7B,YAAY,GAAG,SAAS,CAAC,YAAY,CAAC,CAAC,MAAM,CAAC,EAC9C,MAAM,GAAG,YAAY,EACrB,KAAK,GAAG,YAAY,EACpB,UAAU,GAAG,YAAY,IACvB;IACF,MAAM,CAAC,EAAE,MAAM,UAAU,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC;IACjD;;OAEG;IACH,SAAS,CAAC,EAAE,CACV,QAAQ,EAAE,SAAS,CAAC,YAAY,CAAC,KAC9B,YAAY,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC;CAC3C,GAAG,IAAI,CACN,WAAW,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,CAAC,EAC3D,SAAS,GACT,SAAS,GACT,aAAa,GACb,UAAU,GACV,YAAY,GACZ,oBAAoB,GACpB,+BAA+B,GAC/B,SAAS,GACT,WAAW,GACX,gBAAgB,CACnB,GAAG;IACA,OAAO,CAAC,EAAE,oBAAoB,CAAC;IAC/B,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB,CAAC"}
@@ -1,30 +1,30 @@
1
1
  import { DefaultError, InvalidateOptions, InvalidateQueryFilters } from '@tanstack/query-core';
2
2
  import { AllPropertiesOptional, AnyObject } from 'yummies/utils/types';
3
- import { EndpointMutation, EndpointMutationOptions } from './endpoint-mutation.js';
3
+ import { EndpointMutation } from './endpoint-mutation.js';
4
+ import { EndpointMutationOptions } from './endpoint-mutation.types.js';
4
5
  import { EndpointQueryClient } from './endpoint-query-client.js';
5
6
  import { EndpointQuery } from './endpoint-query.js';
6
7
  import { EndpointQueryOptions, EndpointQueryUnitKey } from './endpoint-query.types.js';
7
8
  import { EndpointConfiguration } from './endpoint.types.js';
8
9
  import type { HttpClient, HttpResponse } from './http-client.js';
9
- export interface Endpoint<TResponse extends HttpResponse<any, any>, TInput extends AnyObject, TMetaData extends AnyObject = AnyObject> {
10
- (...args: AllPropertiesOptional<TInput> extends true ? [input?: TInput] : [input: TInput]): ReturnType<Endpoint<TResponse, TInput, TMetaData>['request']>;
10
+ export interface Endpoint<TResponse extends HttpResponse<any, any>, TParams extends AnyObject, TMetaData extends AnyObject = AnyObject> {
11
+ (...args: AllPropertiesOptional<TParams> extends true ? [params?: TParams] : [params: TParams]): ReturnType<Endpoint<TResponse, TParams, TMetaData>['request']>;
11
12
  }
12
- export declare class Endpoint<TResponse extends HttpResponse<any, any>, TInput extends AnyObject, TMetaData extends AnyObject = AnyObject> {
13
- configuration: EndpointConfiguration<NoInfer<TInput>, TMetaData>;
13
+ export declare class Endpoint<TResponse extends HttpResponse<any, any>, TParams extends AnyObject, TMetaData extends AnyObject = AnyObject> {
14
+ configuration: EndpointConfiguration<NoInfer<TParams>, TMetaData>;
14
15
  protected queryClient: EndpointQueryClient;
15
16
  protected http: HttpClient;
16
17
  endpointId: string;
17
- __input_type: TInput;
18
- __response_type: TResponse;
18
+ __params: TParams;
19
+ __response: TResponse;
19
20
  meta: TMetaData;
20
- constructor(configuration: EndpointConfiguration<NoInfer<TInput>, TMetaData>, queryClient: EndpointQueryClient, http: HttpClient);
21
- getFullUrl(...args: AllPropertiesOptional<TInput> extends true ? [input?: TInput] : [input: TInput]): string;
22
- getPath(...args: AllPropertiesOptional<TInput> extends true ? [input?: TInput] : [input: TInput]): string;
21
+ constructor(configuration: EndpointConfiguration<NoInfer<TParams>, TMetaData>, queryClient: EndpointQueryClient, http: HttpClient);
22
+ getFullUrl(...args: AllPropertiesOptional<TParams> extends true ? [input?: TParams] : [input: TParams]): string;
23
+ getPath(...args: AllPropertiesOptional<TParams> extends true ? [input?: TParams] : [input: TParams]): string;
23
24
  get tags(): string[];
24
25
  get path(): string[];
25
26
  get operationId(): string;
26
- request(...args: AllPropertiesOptional<TInput> extends true ? [input?: TInput] : [input: TInput]): Promise<TResponse>;
27
- getQueryKey(...args: AllPropertiesOptional<TInput> extends true ? [input?: TInput, uniqKey?: EndpointQueryUnitKey] : [input: TInput, uniqKey?: EndpointQueryUnitKey]): any[];
27
+ request(...args: AllPropertiesOptional<TParams> extends true ? [input?: TParams] : [input: TParams]): Promise<TResponse>;
28
28
  /**
29
29
  * segment - last segment number in path which need to crop for invalidate
30
30
  * @example
@@ -36,10 +36,11 @@ export declare class Endpoint<TResponse extends HttpResponse<any, any>, TInput e
36
36
  }, options?: InvalidateOptions): Promise<void>;
37
37
  invalidateByOperationId(filters?: Omit<InvalidateQueryFilters<any[]>, 'queryKey' | 'predicate'>, options?: InvalidateOptions): Promise<void>;
38
38
  invalidateByTags(filters?: Omit<InvalidateQueryFilters<any[]>, 'queryKey' | 'predicate'>, options?: InvalidateOptions): Promise<void>;
39
- invalidate(input: TInput, filters?: Omit<InvalidateQueryFilters<any[]>, 'queryKey' | 'predicate'> & {
39
+ invalidate(input: TParams, filters?: Omit<InvalidateQueryFilters<any[]>, 'queryKey' | 'predicate'> & {
40
40
  queryKeyIndex?: number;
41
41
  }, options?: InvalidateOptions): Promise<void>;
42
- toMutation<TOutput = TResponse, TMutationMeta extends AnyObject | void = void>(options: EndpointMutationOptions<TOutput, TInput, TResponse, TMutationMeta>): EndpointMutation<TOutput, TInput, TResponse, TMutationMeta>;
43
- toQuery<TQueryFnData = TResponse, TError = DefaultError, TData = TResponse['data'], TQueryData = TResponse['data']>(options: EndpointQueryOptions<this, TQueryFnData, TError, TData, TQueryData>): EndpointQuery<this, TQueryFnData, TError, TData, TQueryData>;
42
+ getQueryKey(...args: AllPropertiesOptional<TParams> extends true ? [input?: TParams, uniqKey?: EndpointQueryUnitKey] : [input: TParams, uniqKey?: EndpointQueryUnitKey]): any[];
43
+ toMutation<TData = TResponse['data'], TMutationMeta extends AnyObject | void = void, TContext = unknown>(options: EndpointMutationOptions<this, TData, TParams, TMutationMeta, TContext>): EndpointMutation<this, TData, TParams, TMutationMeta, TContext>;
44
+ toQuery<TQueryFnData = TResponse['data'], TError = DefaultError, TData = TQueryFnData, TQueryData = TQueryFnData>(options: EndpointQueryOptions<this, TQueryFnData, TError, TData, TQueryData>): EndpointQuery<this, TQueryFnData, TError, TData, TQueryData>;
44
45
  }
45
46
  //# 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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"}
@@ -1,13 +1,13 @@
1
1
  import { resolveFnValue } from 'yummies/common';
2
- import { EndpointMutation, } from './endpoint-mutation.js';
2
+ import { EndpointMutation } from './endpoint-mutation.js';
3
3
  import { EndpointQuery } from './endpoint-query.js';
4
4
  export class Endpoint {
5
5
  configuration;
6
6
  queryClient;
7
7
  http;
8
8
  endpointId;
9
- __input_type;
10
- __response_type;
9
+ __params;
10
+ __response;
11
11
  meta;
12
12
  constructor(configuration, queryClient, http) {
13
13
  this.configuration = configuration;
@@ -56,15 +56,6 @@ export class Endpoint {
56
56
  request(...args) {
57
57
  return this.http.request(this.configuration.params(args[0] ?? {}));
58
58
  }
59
- getQueryKey(...args) {
60
- const input = args[0] ?? {};
61
- return [
62
- ...this.configuration.path,
63
- this.configuration.operationId,
64
- input,
65
- resolveFnValue(args[1]),
66
- ];
67
- }
68
59
  /**
69
60
  * segment - last segment number in path which need to crop for invalidate
70
61
  * @example
@@ -87,6 +78,15 @@ export class Endpoint {
87
78
  exact: filters?.exact ?? false,
88
79
  }, options);
89
80
  }
81
+ getQueryKey(...args) {
82
+ const params = args[0] ?? {};
83
+ return [
84
+ ...this.configuration.path,
85
+ this.configuration.operationId,
86
+ params,
87
+ resolveFnValue(args[1]),
88
+ ];
89
+ }
90
90
  toMutation(options) {
91
91
  return new EndpointMutation(this, this.queryClient, options);
92
92
  }
@@ -1,4 +1,4 @@
1
- import { AllPropertiesOptional, AnyObject } from 'yummies/utils/types';
1
+ import { AnyObject } from 'yummies/utils/types';
2
2
  import type { Endpoint } from './endpoint.js';
3
3
  import { FullRequestParams } from './http-client.js';
4
4
  export interface EndpointConfiguration<TInput extends AnyObject, TMetaData extends AnyObject = AnyObject> {
@@ -9,11 +9,6 @@ export interface EndpointConfiguration<TInput extends AnyObject, TMetaData exten
9
9
  params: (input: Partial<TInput>) => FullRequestParams;
10
10
  tags: string[];
11
11
  }
12
- export type EndpointMutationInput<TBaseInput extends AnyObject, TMutationMeta extends AnyObject | void = void> = TBaseInput & (TMutationMeta extends void ? {} : AllPropertiesOptional<TMutationMeta> extends true ? {
13
- meta?: TMutationMeta;
14
- } : {
15
- meta: TMutationMeta;
16
- });
17
12
  export type AnyEndpoint = Endpoint<any, any, any>;
18
13
  export type InferEndpointData<TEndpoint extends AnyEndpoint> = TEndpoint extends Endpoint<infer T, any, any> ? T : never;
19
14
  export type InferEndpointResponse<TEndpoint extends AnyEndpoint> = TEndpoint extends Endpoint<infer T, any, any> ? T : never;
@@ -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,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,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
+ {"version":3,"file":"endpoint.types.d.ts","sourceRoot":"","sources":["../../src/runtime/endpoint.types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAEhD,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,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,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,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"}
@@ -2,5 +2,8 @@ export * from './endpoint.js';
2
2
  export * from './endpoint.types.js';
3
3
  export * from './http-client.js';
4
4
  export * from './endpoint-query-client.js';
5
+ export * from './endpoint-query.js';
5
6
  export * from './endpoint-query.types.js';
7
+ export * from './endpoint-mutation.js';
8
+ export * from './endpoint-mutation.types.js';
6
9
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/runtime/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC;AAC9B,cAAc,qBAAqB,CAAC;AACpC,cAAc,kBAAkB,CAAC;AACjC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,2BAA2B,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/runtime/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC;AAC9B,cAAc,qBAAqB,CAAC;AACpC,cAAc,kBAAkB,CAAC;AACjC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,qBAAqB,CAAC;AACpC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,wBAAwB,CAAC;AACvC,cAAc,8BAA8B,CAAC"}
package/runtime/index.js CHANGED
@@ -2,4 +2,7 @@ export * from './endpoint.js';
2
2
  export * from './endpoint.types.js';
3
3
  export * from './http-client.js';
4
4
  export * from './endpoint-query-client.js';
5
+ export * from './endpoint-query.js';
5
6
  export * from './endpoint-query.types.js';
7
+ export * from './endpoint-mutation.js';
8
+ export * from './endpoint-mutation.types.js';