@navios/react-query 0.7.1 → 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (117) hide show
  1. package/CHANGELOG.md +171 -1
  2. package/README.md +152 -4
  3. package/coverage/base.css +224 -0
  4. package/coverage/block-navigation.js +87 -0
  5. package/coverage/client/declare-client.mts.html +1264 -0
  6. package/coverage/client/index.html +116 -0
  7. package/coverage/clover.xml +160 -0
  8. package/coverage/coverage-final.json +8 -0
  9. package/coverage/favicon.png +0 -0
  10. package/coverage/index.html +146 -0
  11. package/coverage/mutation/index.html +131 -0
  12. package/coverage/mutation/key-creator.mts.html +277 -0
  13. package/coverage/mutation/make-hook.mts.html +952 -0
  14. package/coverage/prettify.css +1 -0
  15. package/coverage/prettify.js +2 -0
  16. package/coverage/query/index.html +161 -0
  17. package/coverage/query/key-creator.mts.html +415 -0
  18. package/coverage/query/make-infinite-options.mts.html +601 -0
  19. package/coverage/query/make-options.mts.html +838 -0
  20. package/coverage/query/prefetch.mts.html +1063 -0
  21. package/coverage/sort-arrow-sprite.png +0 -0
  22. package/coverage/sorter.js +210 -0
  23. package/dist/src/__tests__/errorSchema.spec.d.mts +2 -0
  24. package/dist/src/__tests__/errorSchema.spec.d.mts.map +1 -0
  25. package/dist/src/__tests__/prefetch.spec.d.mts +2 -0
  26. package/dist/src/__tests__/prefetch.spec.d.mts.map +1 -0
  27. package/dist/src/client/__type-tests__/from-endpoint.spec-d.d.mts +2 -0
  28. package/dist/src/client/__type-tests__/from-endpoint.spec-d.d.mts.map +1 -0
  29. package/dist/src/client/__type-tests__/infinite-query.spec-d.d.mts +2 -0
  30. package/dist/src/client/__type-tests__/infinite-query.spec-d.d.mts.map +1 -0
  31. package/dist/src/client/__type-tests__/multipart-mutation.spec-d.d.mts +2 -0
  32. package/dist/src/client/__type-tests__/multipart-mutation.spec-d.d.mts.map +1 -0
  33. package/dist/src/client/__type-tests__/mutation.spec-d.d.mts +2 -0
  34. package/dist/src/client/__type-tests__/mutation.spec-d.d.mts.map +1 -0
  35. package/dist/src/client/__type-tests__/query.spec-d.d.mts +2 -0
  36. package/dist/src/client/__type-tests__/query.spec-d.d.mts.map +1 -0
  37. package/dist/src/client/declare-client.d.mts +15 -8
  38. package/dist/src/client/declare-client.d.mts.map +1 -1
  39. package/dist/src/client/types/from-endpoint.d.mts +130 -0
  40. package/dist/src/client/types/from-endpoint.d.mts.map +1 -0
  41. package/dist/src/client/types/helpers.d.mts +74 -0
  42. package/dist/src/client/types/helpers.d.mts.map +1 -0
  43. package/dist/src/client/types/index.d.mts +21 -0
  44. package/dist/src/client/types/index.d.mts.map +1 -0
  45. package/dist/src/client/types/infinite-query.d.mts +61 -0
  46. package/dist/src/client/types/infinite-query.d.mts.map +1 -0
  47. package/dist/src/client/types/multipart-mutation.d.mts +98 -0
  48. package/dist/src/client/types/multipart-mutation.d.mts.map +1 -0
  49. package/dist/src/client/types/mutation.d.mts +75 -0
  50. package/dist/src/client/types/mutation.d.mts.map +1 -0
  51. package/dist/src/client/types/query.d.mts +65 -0
  52. package/dist/src/client/types/query.d.mts.map +1 -0
  53. package/dist/src/client/types.d.mts +1 -608
  54. package/dist/src/client/types.d.mts.map +1 -1
  55. package/dist/src/common/types.d.mts +40 -3
  56. package/dist/src/common/types.d.mts.map +1 -1
  57. package/dist/src/mutation/index.d.mts +1 -0
  58. package/dist/src/mutation/index.d.mts.map +1 -1
  59. package/dist/src/mutation/make-hook.d.mts +42 -16
  60. package/dist/src/mutation/make-hook.d.mts.map +1 -1
  61. package/dist/src/mutation/optimistic.d.mts +172 -0
  62. package/dist/src/mutation/optimistic.d.mts.map +1 -0
  63. package/dist/src/mutation/types.d.mts +41 -20
  64. package/dist/src/mutation/types.d.mts.map +1 -1
  65. package/dist/src/query/index.d.mts +1 -0
  66. package/dist/src/query/index.d.mts.map +1 -1
  67. package/dist/src/query/key-creator.d.mts.map +1 -1
  68. package/dist/src/query/make-infinite-options.d.mts +3 -2
  69. package/dist/src/query/make-infinite-options.d.mts.map +1 -1
  70. package/dist/src/query/make-options.d.mts +42 -12
  71. package/dist/src/query/make-options.d.mts.map +1 -1
  72. package/dist/src/query/prefetch.d.mts +245 -0
  73. package/dist/src/query/prefetch.d.mts.map +1 -0
  74. package/dist/src/query/types.d.mts +25 -18
  75. package/dist/src/query/types.d.mts.map +1 -1
  76. package/dist/tsconfig.tsbuildinfo +1 -1
  77. package/lib/index.cjs +451 -28
  78. package/lib/index.cjs.map +1 -1
  79. package/lib/index.d.cts +1019 -600
  80. package/lib/index.d.cts.map +1 -1
  81. package/lib/index.d.mts +1016 -597
  82. package/lib/index.d.mts.map +1 -1
  83. package/lib/index.mjs +447 -29
  84. package/lib/index.mjs.map +1 -1
  85. package/package.json +3 -3
  86. package/src/__tests__/declare-client.spec.mts +229 -2
  87. package/src/__tests__/errorSchema.spec.mts +391 -0
  88. package/src/__tests__/make-mutation.spec.mts +6 -5
  89. package/src/__tests__/makeDataTag.spec.mts +2 -1
  90. package/src/__tests__/makeQueryOptions.spec.mts +2 -1
  91. package/src/__tests__/prefetch.spec.mts +310 -0
  92. package/src/client/__type-tests__/from-endpoint.spec-d.mts +550 -0
  93. package/src/client/__type-tests__/infinite-query.spec-d.mts +648 -0
  94. package/src/client/__type-tests__/multipart-mutation.spec-d.mts +725 -0
  95. package/src/client/__type-tests__/mutation.spec-d.mts +757 -0
  96. package/src/client/__type-tests__/query.spec-d.mts +701 -0
  97. package/src/client/declare-client.mts +59 -34
  98. package/src/client/types/from-endpoint.mts +344 -0
  99. package/src/client/types/helpers.mts +140 -0
  100. package/src/client/types/index.mts +26 -0
  101. package/src/client/types/infinite-query.mts +133 -0
  102. package/src/client/types/multipart-mutation.mts +264 -0
  103. package/src/client/types/mutation.mts +176 -0
  104. package/src/client/types/query.mts +132 -0
  105. package/src/client/types.mts +1 -1935
  106. package/src/common/types.mts +67 -3
  107. package/src/mutation/index.mts +1 -0
  108. package/src/mutation/make-hook.mts +171 -63
  109. package/src/mutation/optimistic.mts +300 -0
  110. package/src/mutation/types.mts +87 -30
  111. package/src/query/index.mts +1 -0
  112. package/src/query/key-creator.mts +24 -13
  113. package/src/query/make-infinite-options.mts +53 -10
  114. package/src/query/make-options.mts +184 -43
  115. package/src/query/prefetch.mts +326 -0
  116. package/src/query/types.mts +56 -17
  117. package/src/client/__type-tests__/client-instance.spec-d.mts +0 -852
@@ -0,0 +1,61 @@
1
+ import type { EndpointOptions, ErrorSchemaRecord, HttpMethod, InferEndpointParams, Simplify } from '@navios/builder';
2
+ import type { DataTag, InfiniteData, UseSuspenseInfiniteQueryOptions } from '@tanstack/react-query';
3
+ import type { z, ZodObject, ZodType } from 'zod/v4';
4
+ import type { Split } from '../../common/types.mjs';
5
+ import type { QueryHelpers } from '../../query/types.mjs';
6
+ import type { ComputeBaseResult, EndpointHelper } from './helpers.mjs';
7
+ /**
8
+ * Extended endpoint options interface for infinite query that includes processResponse and pagination.
9
+ */
10
+ interface InfiniteQueryEndpointConfig<_UseDiscriminator extends boolean, Method extends HttpMethod, Url extends string, QuerySchema extends ZodObject, RequestSchema extends ZodType | undefined, ResponseSchema extends ZodType, ErrorSchema extends ErrorSchemaRecord | undefined, UrlParamsSchema extends ZodObject | undefined, TBaseResult, PageResult> extends EndpointOptions {
11
+ method: Method;
12
+ url: Url;
13
+ querySchema: QuerySchema;
14
+ requestSchema?: RequestSchema;
15
+ responseSchema: ResponseSchema;
16
+ errorSchema?: ErrorSchema;
17
+ urlParamsSchema?: UrlParamsSchema;
18
+ processResponse?: (data: TBaseResult) => PageResult;
19
+ getNextPageParam: (lastPage: PageResult, allPages: PageResult[], lastPageParam: z.infer<QuerySchema> | undefined, allPageParams: z.infer<QuerySchema>[] | undefined) => z.input<QuerySchema> | undefined;
20
+ getPreviousPageParam?: (firstPage: PageResult, allPages: PageResult[], lastPageParam: z.infer<QuerySchema> | undefined, allPageParams: z.infer<QuerySchema>[] | undefined) => z.input<QuerySchema>;
21
+ }
22
+ /**
23
+ * Infinite query method using decomposed generics pattern for proper processResponse typing.
24
+ *
25
+ * @template UseDiscriminator - When `true`, errors are returned as union types.
26
+ * When `false` (default), errors are thrown and not included in TData.
27
+ */
28
+ export interface ClientInfiniteQueryMethods<UseDiscriminator extends boolean = false> {
29
+ /**
30
+ * Creates a type-safe infinite query with automatic type inference.
31
+ *
32
+ * Uses decomposed generic pattern to infer types from the configuration object.
33
+ * All schema combinations are handled by a single method.
34
+ *
35
+ * @example
36
+ * ```ts
37
+ * const getUsers = client.infiniteQuery({
38
+ * method: 'GET',
39
+ * url: '/users',
40
+ * querySchema: z.object({ page: z.number() }),
41
+ * responseSchema: z.array(userSchema),
42
+ * getNextPageParam: (lastPage, allPages, lastPageParam) => {
43
+ * return lastPage.length > 0 ? { page: (lastPageParam?.page ?? 0) + 1 } : undefined
44
+ * },
45
+ * })
46
+ *
47
+ * const { data } = getUsers.useSuspense({ params: { page: 0 } })
48
+ * ```
49
+ */
50
+ infiniteQuery<const Method extends HttpMethod = HttpMethod, const Url extends string = string, const QuerySchema extends ZodObject = ZodObject, const RequestSchema extends ZodType | undefined = undefined, const ResponseSchema extends ZodType = ZodType, const ErrorSchema extends ErrorSchemaRecord | undefined = undefined, const UrlParamsSchema extends ZodObject | undefined = undefined, const TBaseResult = ComputeBaseResult<UseDiscriminator, ResponseSchema, ErrorSchema>, const PageResult = TBaseResult, const Options extends EndpointOptions = {
51
+ method: Method;
52
+ url: Url;
53
+ querySchema: QuerySchema;
54
+ requestSchema: RequestSchema;
55
+ responseSchema: ResponseSchema;
56
+ errorSchema: ErrorSchema;
57
+ urlParamsSchema: UrlParamsSchema;
58
+ }>(config: InfiniteQueryEndpointConfig<UseDiscriminator, Method, Url, QuerySchema, RequestSchema, ResponseSchema, ErrorSchema, UrlParamsSchema, TBaseResult, PageResult>): ((params: Simplify<InferEndpointParams<Options>>) => UseSuspenseInfiniteQueryOptions<PageResult, Error, InfiniteData<PageResult>, DataTag<Split<Url, '/'>, PageResult, Error>, z.output<QuerySchema>>) & QueryHelpers<Url, QuerySchema, PageResult, true, RequestSchema> & EndpointHelper<Options, UseDiscriminator>;
59
+ }
60
+ export {};
61
+ //# sourceMappingURL=infinite-query.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"infinite-query.d.mts","sourceRoot":"","sources":["../../../../src/client/types/infinite-query.mts"],"names":[],"mappings":"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"}
@@ -0,0 +1,98 @@
1
+ import type { ErrorSchemaRecord, Simplify, UrlHasParams, UrlParams } from '@navios/builder';
2
+ import type { MutationFunctionContext, UseMutationResult } from '@tanstack/react-query';
3
+ import type { ZodObject, ZodType } from 'zod/v4';
4
+ import type { MutationArgs, MutationHelpers } from '../../mutation/types.mjs';
5
+ import type { ComputeBaseResult, EndpointHelper } from './helpers.mjs';
6
+ /**
7
+ * Multipart mutation method overloads for ClientInstance.
8
+ *
9
+ * @template UseDiscriminator - When `true`, errors are returned as union types.
10
+ * When `false` (default), errors are thrown and not included in TData.
11
+ */
12
+ export interface ClientMultipartMutationMethods<UseDiscriminator extends boolean = false> {
13
+ multipartMutation<Method extends 'POST' | 'PUT' | 'PATCH' = 'POST' | 'PUT' | 'PATCH', Url extends string = string, RequestSchema extends ZodType = ZodType, QuerySchema extends ZodObject = ZodObject, Response extends ZodType = ZodType, ErrorSchema extends ErrorSchemaRecord | undefined = undefined, TBaseResult = ComputeBaseResult<UseDiscriminator, Response, ErrorSchema>, Result = unknown, OnMutateResult = unknown, Context = unknown, UseKey extends true = true>(config: {
14
+ method: Method;
15
+ url: Url;
16
+ useKey: UseKey;
17
+ requestSchema: RequestSchema;
18
+ querySchema: QuerySchema;
19
+ responseSchema: Response;
20
+ errorSchema?: ErrorSchema;
21
+ processResponse: (data: TBaseResult) => Result | Promise<Result>;
22
+ useContext?: () => Context;
23
+ onMutate?: (variables: Simplify<MutationArgs<Url, RequestSchema, QuerySchema>>, context: Context & MutationFunctionContext) => OnMutateResult | Promise<OnMutateResult>;
24
+ onSuccess?: (data: NoInfer<Result>, variables: Simplify<MutationArgs<Url, RequestSchema, QuerySchema>>, context: Context & MutationFunctionContext & {
25
+ onMutateResult: OnMutateResult | undefined;
26
+ }) => void | Promise<void>;
27
+ onError?: (error: Error, variables: Simplify<MutationArgs<Url, RequestSchema, QuerySchema>>, context: Context & MutationFunctionContext & {
28
+ onMutateResult: OnMutateResult | undefined;
29
+ }) => void | Promise<void>;
30
+ onSettled?: (data: NoInfer<Result> | undefined, error: Error | null, variables: Simplify<MutationArgs<Url, RequestSchema, QuerySchema>>, context: Context & MutationFunctionContext & {
31
+ onMutateResult: OnMutateResult | undefined;
32
+ }) => void | Promise<void>;
33
+ }): ((params: UrlHasParams<Url> extends true ? {
34
+ urlParams: UrlParams<Url>;
35
+ } : {}) => UseMutationResult<Result, Error, MutationArgs<Url, RequestSchema, QuerySchema>, OnMutateResult>) & MutationHelpers<Url, Result> & EndpointHelper<Method, Url, RequestSchema, Response, QuerySchema>;
36
+ multipartMutation<Method extends 'POST' | 'PUT' | 'PATCH' = 'POST' | 'PUT' | 'PATCH', Url extends string = string, RequestSchema extends ZodType = ZodType, QuerySchema extends ZodObject = ZodObject, Response extends ZodType = ZodType, ErrorSchema extends ErrorSchemaRecord | undefined = undefined, TBaseResult = ComputeBaseResult<UseDiscriminator, Response, ErrorSchema>, Result = unknown, OnMutateResult = unknown, Context = unknown>(config: {
37
+ method: Method;
38
+ url: Url;
39
+ requestSchema: RequestSchema;
40
+ querySchema: QuerySchema;
41
+ responseSchema: Response;
42
+ errorSchema?: ErrorSchema;
43
+ processResponse: (data: TBaseResult) => Result | Promise<Result>;
44
+ useContext?: () => Context;
45
+ onMutate?: (variables: Simplify<MutationArgs<Url, RequestSchema, QuerySchema>>, context: Context & MutationFunctionContext) => OnMutateResult | Promise<OnMutateResult>;
46
+ onSuccess?: (data: NoInfer<Result>, variables: Simplify<MutationArgs<Url, RequestSchema, QuerySchema>>, context: Context & MutationFunctionContext & {
47
+ onMutateResult: OnMutateResult | undefined;
48
+ }) => void | Promise<void>;
49
+ onError?: (error: Error, variables: Simplify<MutationArgs<Url, RequestSchema, QuerySchema>>, context: Context & MutationFunctionContext & {
50
+ onMutateResult: OnMutateResult | undefined;
51
+ }) => void | Promise<void>;
52
+ onSettled?: (data: NoInfer<Result> | undefined, error: Error | null, variables: Simplify<MutationArgs<Url, RequestSchema, QuerySchema>>, context: Context & MutationFunctionContext & {
53
+ onMutateResult: OnMutateResult | undefined;
54
+ }) => void | Promise<void>;
55
+ }): (() => UseMutationResult<Result, Error, MutationArgs<Url, RequestSchema, QuerySchema>, OnMutateResult>) & MutationHelpers<Url, Result> & EndpointHelper<Method, Url, RequestSchema, Response, QuerySchema>;
56
+ multipartMutation<Method extends 'POST' | 'PUT' | 'PATCH' = 'POST' | 'PUT' | 'PATCH', Url extends string = string, RequestSchema extends ZodType = ZodType, Response extends ZodType = ZodType, ErrorSchema extends ErrorSchemaRecord | undefined = undefined, TBaseResult = ComputeBaseResult<UseDiscriminator, Response, ErrorSchema>, Result = unknown, OnMutateResult = unknown, Context = unknown>(config: {
57
+ method: Method;
58
+ url: Url;
59
+ requestSchema: RequestSchema;
60
+ responseSchema: Response;
61
+ errorSchema?: ErrorSchema;
62
+ processResponse: (data: TBaseResult) => Result | Promise<Result>;
63
+ useContext?: () => Context;
64
+ onMutate?: (variables: Simplify<MutationArgs<Url, RequestSchema, undefined>>, context: Context & MutationFunctionContext) => OnMutateResult | Promise<OnMutateResult>;
65
+ onSuccess?: (data: NoInfer<Result>, variables: Simplify<MutationArgs<Url, RequestSchema, undefined>>, context: Context & MutationFunctionContext & {
66
+ onMutateResult: OnMutateResult | undefined;
67
+ }) => void | Promise<void>;
68
+ onError?: (error: Error, variables: Simplify<MutationArgs<Url, RequestSchema, undefined>>, context: Context & MutationFunctionContext & {
69
+ onMutateResult: OnMutateResult | undefined;
70
+ }) => void | Promise<void>;
71
+ onSettled?: (data: NoInfer<Result> | undefined, error: Error | null, variables: Simplify<MutationArgs<Url, RequestSchema, undefined>>, context: Context & MutationFunctionContext & {
72
+ onMutateResult: OnMutateResult | undefined;
73
+ }) => void | Promise<void>;
74
+ }): (() => UseMutationResult<Result, Error, MutationArgs<Url, RequestSchema, undefined>, OnMutateResult>) & MutationHelpers<Url, Result> & EndpointHelper<Method, Url, RequestSchema, Response>;
75
+ multipartMutation<Method extends 'POST' | 'PUT' | 'PATCH' = 'POST' | 'PUT' | 'PATCH', Url extends string = string, RequestSchema extends ZodType = ZodType, Response extends ZodType = ZodType, ErrorSchema extends ErrorSchemaRecord | undefined = undefined, TBaseResult = ComputeBaseResult<UseDiscriminator, Response, ErrorSchema>, Result = unknown, OnMutateResult = unknown, Context = unknown, UseKey extends true = true>(config: {
76
+ method: Method;
77
+ url: Url;
78
+ useKey: UseKey;
79
+ requestSchema: RequestSchema;
80
+ responseSchema: Response;
81
+ errorSchema?: ErrorSchema;
82
+ processResponse: (data: TBaseResult) => Result | Promise<Result>;
83
+ useContext?: () => Context;
84
+ onMutate?: (variables: Simplify<MutationArgs<Url, RequestSchema, undefined>>, context: Context & MutationFunctionContext) => OnMutateResult | Promise<OnMutateResult>;
85
+ onSuccess?: (data: NoInfer<Result>, variables: Simplify<MutationArgs<Url, RequestSchema, undefined>>, context: Context & MutationFunctionContext & {
86
+ onMutateResult: OnMutateResult | undefined;
87
+ }) => void | Promise<void>;
88
+ onError?: (error: Error, variables: Simplify<MutationArgs<Url, RequestSchema, undefined>>, context: Context & MutationFunctionContext & {
89
+ onMutateResult: OnMutateResult | undefined;
90
+ }) => void | Promise<void>;
91
+ onSettled?: (data: NoInfer<Result> | undefined, error: Error | null, variables: Simplify<MutationArgs<Url, RequestSchema, undefined>>, context: Context & MutationFunctionContext & {
92
+ onMutateResult: OnMutateResult | undefined;
93
+ }) => void | Promise<void>;
94
+ }): ((params: UrlHasParams<Url> extends true ? {
95
+ urlParams: UrlParams<Url>;
96
+ } : {}) => UseMutationResult<Result, Error, MutationArgs<Url, RequestSchema, undefined>, OnMutateResult>) & MutationHelpers<Url, Result> & EndpointHelper<Method, Url, RequestSchema, Response>;
97
+ }
98
+ //# sourceMappingURL=multipart-mutation.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"multipart-mutation.d.mts","sourceRoot":"","sources":["../../../../src/client/types/multipart-mutation.mts"],"names":[],"mappings":"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"}
@@ -0,0 +1,75 @@
1
+ import type { EndpointOptions, ErrorSchemaRecord, HttpMethod, RequestArgs, Simplify, UrlHasParams, UrlParams } from '@navios/builder';
2
+ import type { MutationFunctionContext, UseMutationResult } from '@tanstack/react-query';
3
+ import type { ZodObject, ZodType } from 'zod/v4';
4
+ import type { MutationHelpers } from '../../mutation/types.mjs';
5
+ import type { ComputeBaseResult, EndpointHelper } from './helpers.mjs';
6
+ /**
7
+ * Compute variables type from URL, schemas
8
+ */
9
+ type ComputeVariables<Url extends string, QuerySchema extends ZodObject | undefined, RequestSchema extends ZodType | undefined, UrlParamsSchema extends ZodObject | undefined> = Simplify<RequestArgs<Url, QuerySchema, RequestSchema, UrlParamsSchema>>;
10
+ /**
11
+ * Extended endpoint options interface for mutation that includes processResponse and callbacks.
12
+ */
13
+ interface MutationEndpointConfig<_UseDiscriminator extends boolean, Method extends HttpMethod, Url extends string, QuerySchema extends ZodObject | undefined, RequestSchema extends ZodType | undefined, ResponseSchema extends ZodType, ErrorSchema extends ErrorSchemaRecord | undefined, UrlParamsSchema extends ZodObject | undefined, UseKey extends boolean, TBaseResult, Result, OnMutateResult, Context, Variables> extends EndpointOptions {
14
+ method: Method;
15
+ url: Url;
16
+ querySchema?: QuerySchema;
17
+ requestSchema?: RequestSchema;
18
+ responseSchema: ResponseSchema;
19
+ errorSchema?: ErrorSchema;
20
+ urlParamsSchema?: UrlParamsSchema;
21
+ processResponse?: (data: TBaseResult) => Result | Promise<Result>;
22
+ useContext?: () => Context;
23
+ useKey?: UseKey;
24
+ onMutate?: (variables: Variables, context: Context & MutationFunctionContext) => OnMutateResult | Promise<OnMutateResult>;
25
+ onSuccess?: (data: NoInfer<Result>, variables: Variables, context: Context & MutationFunctionContext & {
26
+ onMutateResult: OnMutateResult | undefined;
27
+ }) => void | Promise<void>;
28
+ onError?: (error: Error, variables: Variables, context: Context & MutationFunctionContext & {
29
+ onMutateResult: OnMutateResult | undefined;
30
+ }) => void | Promise<void>;
31
+ onSettled?: (data: NoInfer<Result> | undefined, error: Error | null, variables: Variables, context: Context & MutationFunctionContext & {
32
+ onMutateResult: OnMutateResult | undefined;
33
+ }) => void | Promise<void>;
34
+ }
35
+ /**
36
+ * Mutation method using decomposed generics pattern for proper processResponse typing.
37
+ *
38
+ * @template UseDiscriminator - When `true`, errors are returned as union types.
39
+ * When `false` (default), errors are thrown and not included in TData.
40
+ */
41
+ export interface ClientMutationMethods<UseDiscriminator extends boolean = false> {
42
+ /**
43
+ * Creates a type-safe mutation with automatic type inference.
44
+ *
45
+ * Uses decomposed generic pattern to infer types from the configuration object.
46
+ * All schema combinations are handled by a single method.
47
+ *
48
+ * @example
49
+ * ```ts
50
+ * const createUser = client.mutation({
51
+ * method: 'POST',
52
+ * url: '/users',
53
+ * requestSchema: createUserSchema,
54
+ * responseSchema: userSchema,
55
+ * processResponse: (data) => data,
56
+ * })
57
+ *
58
+ * const { mutate } = createUser()
59
+ * mutate({ data: { name: 'John' } })
60
+ * ```
61
+ */
62
+ mutation<const Method extends HttpMethod = HttpMethod, const Url extends string = string, const QuerySchema extends ZodObject | undefined = undefined, const RequestSchema extends ZodType | undefined = undefined, const ResponseSchema extends ZodType = ZodType, const ErrorSchema extends ErrorSchemaRecord | undefined = undefined, const UrlParamsSchema extends ZodObject | undefined = undefined, const UseKey extends boolean = false, const TBaseResult = ComputeBaseResult<UseDiscriminator, ResponseSchema, ErrorSchema>, const Result = TBaseResult, const OnMutateResult = unknown, const Context = unknown, const Variables = ComputeVariables<Url, QuerySchema, RequestSchema, UrlParamsSchema>, const Options extends EndpointOptions = {
63
+ method: Method;
64
+ url: Url;
65
+ querySchema: QuerySchema;
66
+ requestSchema: RequestSchema;
67
+ responseSchema: ResponseSchema;
68
+ errorSchema: ErrorSchema;
69
+ urlParamsSchema: UrlParamsSchema;
70
+ }>(config: MutationEndpointConfig<UseDiscriminator, Method, Url, QuerySchema, RequestSchema, ResponseSchema, ErrorSchema, UrlParamsSchema, UseKey, TBaseResult, Result, OnMutateResult, Context, Variables>): ((...args: UseKey extends true ? UrlHasParams<Url> extends true ? [{
71
+ urlParams: UrlParams<Url>;
72
+ }] : [{}] : []) => UseMutationResult<Result, Error, Variables, OnMutateResult>) & (UseKey extends true ? MutationHelpers<Url, Result> : {}) & EndpointHelper<Options, UseDiscriminator>;
73
+ }
74
+ export {};
75
+ //# sourceMappingURL=mutation.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mutation.d.mts","sourceRoot":"","sources":["../../../../src/client/types/mutation.mts"],"names":[],"mappings":"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"}
@@ -0,0 +1,65 @@
1
+ import type { EndpointOptions, ErrorSchemaRecord, HttpMethod, InferEndpointParams, Simplify } from '@navios/builder';
2
+ import type { DataTag, UseSuspenseQueryOptions } from '@tanstack/react-query';
3
+ import type { ZodObject, ZodType } from 'zod/v4';
4
+ import type { Split } from '../../common/types.mjs';
5
+ import type { QueryHelpers } from '../../query/types.mjs';
6
+ import type { ComputeBaseResult, EndpointHelper } from './helpers.mjs';
7
+ /**
8
+ * Helper type to build endpoint options without including undefined properties.
9
+ * This ensures HasProperty correctly identifies missing properties.
10
+ */
11
+ type BuildEndpointOptions<Method extends HttpMethod, Url extends string, QuerySchema extends ZodObject | undefined, RequestSchema extends ZodType | undefined, ResponseSchema extends ZodType, ErrorSchema extends ErrorSchemaRecord | undefined, UrlParamsSchema extends ZodObject | undefined> = {
12
+ method: Method;
13
+ url: Url;
14
+ responseSchema: ResponseSchema;
15
+ } & (QuerySchema extends undefined ? {} : {
16
+ querySchema: QuerySchema;
17
+ }) & (RequestSchema extends undefined ? {} : {
18
+ requestSchema: RequestSchema;
19
+ }) & (ErrorSchema extends undefined ? {} : {
20
+ errorSchema: ErrorSchema;
21
+ }) & (UrlParamsSchema extends undefined ? {} : {
22
+ urlParamsSchema: UrlParamsSchema;
23
+ });
24
+ /**
25
+ * Extended endpoint options interface for query that includes processResponse.
26
+ */
27
+ interface QueryEndpointConfig<Method extends HttpMethod, Url extends string, QuerySchema extends ZodObject | undefined, RequestSchema extends ZodType | undefined, ResponseSchema extends ZodType, ErrorSchema extends ErrorSchemaRecord | undefined, UrlParamsSchema extends ZodObject | undefined, TBaseResult, Result> extends EndpointOptions {
28
+ method: Method;
29
+ url: Url;
30
+ querySchema?: QuerySchema;
31
+ requestSchema?: RequestSchema;
32
+ responseSchema: ResponseSchema;
33
+ errorSchema?: ErrorSchema;
34
+ urlParamsSchema?: UrlParamsSchema;
35
+ processResponse?: (data: TBaseResult) => Result;
36
+ }
37
+ /**
38
+ * Query method using decomposed generics pattern for proper processResponse typing.
39
+ *
40
+ * @template UseDiscriminator - When `true`, errors are returned as union types.
41
+ * When `false` (default), errors are thrown and not included in TData.
42
+ */
43
+ export interface ClientQueryMethods<UseDiscriminator extends boolean = false> {
44
+ /**
45
+ * Creates a type-safe query with automatic type inference.
46
+ *
47
+ * Uses decomposed generic pattern to infer types from the configuration object.
48
+ * All schema combinations are handled by a single method.
49
+ *
50
+ * @example
51
+ * ```ts
52
+ * const getUser = client.query({
53
+ * method: 'GET',
54
+ * url: '/users/$userId',
55
+ * responseSchema: userSchema,
56
+ * urlParamsSchema: z.object({ userId: z.string().uuid() }),
57
+ * })
58
+ *
59
+ * const { data } = getUser.useSuspense({ urlParams: { userId: '123' } })
60
+ * ```
61
+ */
62
+ query<const Method extends HttpMethod = HttpMethod, const Url extends string = string, const QuerySchema extends ZodObject | undefined = undefined, const RequestSchema extends ZodType | undefined = undefined, const ResponseSchema extends ZodType = ZodType, const ErrorSchema extends ErrorSchemaRecord | undefined = undefined, const UrlParamsSchema extends ZodObject | undefined = undefined, const TBaseResult = ComputeBaseResult<UseDiscriminator, ResponseSchema, ErrorSchema>, const Result = TBaseResult, const Options extends EndpointOptions = BuildEndpointOptions<Method, Url, QuerySchema, RequestSchema, ResponseSchema, ErrorSchema, UrlParamsSchema>>(config: QueryEndpointConfig<Method, Url, QuerySchema, RequestSchema, ResponseSchema, ErrorSchema, UrlParamsSchema, TBaseResult, Result>): ((params: Simplify<InferEndpointParams<Options>>) => UseSuspenseQueryOptions<Result, Error, Result, DataTag<Split<Url, '/'>, Result, Error>>) & QueryHelpers<Url, QuerySchema, Result, false, RequestSchema> & EndpointHelper<Options, UseDiscriminator>;
63
+ }
64
+ export {};
65
+ //# sourceMappingURL=query.d.mts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"query.d.mts","sourceRoot":"","sources":["../../../../src/client/types/query.mts"],"names":[],"mappings":"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"}