@aws/nx-plugin 0.11.0 → 0.12.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.
@@ -40,7 +40,7 @@ const canShortCircuitConversion = (property) => {
40
40
  const renderToJsonDateValue = (identifier, format) => {
41
41
  return `${identifier}.toISOString()${format === 'date' ? '.slice(0,10)' : ''}`;
42
42
  };
43
- // Renders the appropriate nested function for .map() or mapValues() for arrays and dictionaries for the given type
43
+ // Renders the appropriate nested function for .map() or $mapValues() for arrays and dictionaries for the given type
44
44
  const renderNestedToJsonValue = (type, depth = 0) => {
45
45
  const itemIdentifier = `item${depth}`;
46
46
  if (type.isPrimitive || type.typescriptType === 'unknown' || type.export === 'enum' || type.isEnum) {
@@ -48,7 +48,7 @@ const renderNestedToJsonValue = (type, depth = 0) => {
48
48
  } else if (type.export === "array") {
49
49
  return `(${itemIdentifier}) => ${itemIdentifier}.map(${renderNestedToJsonValue(type.link, depth + 1)})`;
50
50
  } else if (type.export === "dictionary") {
51
- return `(${itemIdentifier}) => $IO.mapValues(${itemIdentifier}, ${renderNestedToJsonValue(type.link, depth + 1)})`;
51
+ return `(${itemIdentifier}) => $IO.$mapValues(${itemIdentifier}, ${renderNestedToJsonValue(type.link, depth + 1)})`;
52
52
  }
53
53
  return `$IO.${type.name || type.type}.toJson`;
54
54
  };
@@ -64,7 +64,7 @@ const renderToJsonValue = (property, value) => {
64
64
  const prefix = property.uniqueItems ? `Array.from(${value})` : `${value}`;
65
65
  rendered = `(${prefix}.map(${renderNestedToJsonValue(property.link)}))`;
66
66
  } else if (property.export === "dictionary") {
67
- rendered = `($IO.mapValues(${value}, ${renderNestedToJsonValue(property.link)}))`;
67
+ rendered = `($IO.$mapValues(${value}, ${renderNestedToJsonValue(property.link)}))`;
68
68
  } else if (property.type !== "any") {
69
69
  rendered = `$IO.${property.type}.toJson(${value})`;
70
70
  } else {
@@ -76,7 +76,7 @@ const renderToJsonValue = (property, value) => {
76
76
  }
77
77
  return rendered;
78
78
  };
79
- // Renders the appropriate nested function for .map() or mapValues() for arrays and dictionaries for the given type
79
+ // Renders the appropriate nested function for .map() or $mapValues() for arrays and dictionaries for the given type
80
80
  const renderNestedFromJsonValue = (type, depth = 0) => {
81
81
  const itemIdentifier = `item${depth}`;
82
82
  if (type.isPrimitive || type.typescriptType === 'unknown' || type.export === 'enum' || type.isEnum) {
@@ -84,7 +84,7 @@ const renderNestedFromJsonValue = (type, depth = 0) => {
84
84
  } else if (type.export === "array") {
85
85
  return `(${itemIdentifier}) => ${itemIdentifier}.map(${renderNestedFromJsonValue(type.link, depth + 1)})`;
86
86
  } else if (type.export === "dictionary") {
87
- return `(${itemIdentifier}) => $IO.mapValues(${itemIdentifier}, ${renderNestedFromJsonValue(type.link, depth + 1)})`;
87
+ return `(${itemIdentifier}) => $IO.$mapValues(${itemIdentifier}, ${renderNestedFromJsonValue(type.link, depth + 1)})`;
88
88
  }
89
89
  return `$IO.${type.name || type.type}.fromJson`;
90
90
  };
@@ -99,7 +99,7 @@ const renderFromJsonValue = (property, value) => {
99
99
  rendered = `((${value} as Array<any>).map(${renderNestedFromJsonValue(property.link)}))`;
100
100
  rendered = property.uniqueItems ? `new Set(${rendered})` : rendered;
101
101
  } else if (property.export === "dictionary") {
102
- rendered = `($IO.mapValues(${value}, ${renderNestedFromJsonValue(property.link)}))`;
102
+ rendered = `($IO.$mapValues(${value}, ${renderNestedFromJsonValue(property.link)}))`;
103
103
  } else {
104
104
  rendered = `$IO.${property.type}.fromJson(${value})`;
105
105
  }
@@ -116,34 +116,36 @@ const renderResponseCondition = (code) => {
116
116
  return `response.status === ${code}`;
117
117
  };
118
118
  // Renders the code which handles deserialising the response from a fetch call
119
- const renderResponse = (response) => {
120
- if (response.export === 'array') {
121
- if (response.isPrimitive || (response.link && response.link.isPrimitive)) {
122
- return `(await response.json()) as ${response.typescriptType}`;
123
- }
124
- return `(await response.json()).map($IO.${response.type}.fromJson)`;
125
- }
126
- if (response.isPrimitive && ['date', 'date-time'].includes(response.format)) {
127
- return `new Date(await response.text())`;
119
+ const renderResponse = (response, options) => {
120
+ let opts = options || {
121
+ asText: 'await response.text()',
122
+ asJson: 'await response.json()',
123
+ asBlob: 'await response.blob()',
124
+ };
125
+ if (response.type === 'binary') {
126
+ return opts.asBlob;
128
127
  }
129
- if (response.isPrimitive || ['unknown', 'any'].includes(response.type)) {
128
+ if ((response.isPrimitive || ['unknown', 'any'].includes(response.type)) && !['array', 'dictionary'].includes(response.export)) {
130
129
  if (response.type === 'number') {
131
- return `Number(await response.text())`;
130
+ return `Number(${opts.asText})`;
132
131
  } else if (response.type === 'boolean') {
133
- return `Boolean(await response.text())`;
134
- } else if (response.type === 'binary') {
135
- return `await response.blob()`;
132
+ return `(${opts.asText}) === 'true' ? true : false`;
133
+ } else if (['date', 'date-time'].includes(response.format)) {
134
+ return `new Date(${opts.asText})`;
136
135
  }
137
- return `await response.text()${['unknown', 'any'].includes(response.type) ? ' as any' : ''}`;
136
+ return `${opts.asText}${['unknown', 'any'].includes(response.type) ? ' as any' : ''}`;
138
137
  }
139
138
  if (response.isEnum || response.export === 'enum') {
140
- return `(await response.text()) as ${response.typescriptType}`;
139
+ return `(${opts.asText}) as ${response.typescriptType}`;
141
140
  }
142
- // Non primitive
143
- if (response.export === 'array') {
144
- return `(await response.json()).map($IO.${response.type}.fromJson)`;
145
- }
146
- return `$IO.${response.typescriptType}.fromJson(await response.json())`;
141
+ return renderFromJsonValue(response, `(${opts.asJson})`);
142
+ };
143
+ const renderStreamingResponseChunk = (response) => {
144
+ return renderResponse(response, {
145
+ asJson: 'JSON.parse(value)',
146
+ asText: 'value',
147
+ asBlob: 'new Blob([value])',
148
+ });
147
149
  };
148
150
  _%>
149
151
 
@@ -151,7 +153,7 @@ _%>
151
153
  * Utility for serialisation and deserialisation of API types.
152
154
  */
153
155
  class $IO {
154
- private static mapValues = (data: any, fn: (item: any) => any) =>
156
+ protected static $mapValues = (data: any, fn: (item: any) => any) =>
155
157
  Object.fromEntries(Object.entries(data).map(([k, v]) => [k, fn(v)]));
156
158
  <%_ models.filter(m => m.export !== 'enum').forEach((model) => { _%>
157
159
  <%_ const isComposite = model.export === "one-of" || model.export === "any-of" || model.export === "all-of"; _%>
@@ -258,8 +260,26 @@ class $IO {
258
260
  * Client configuration for <%- className %>
259
261
  */
260
262
  export interface <%- className %>Config {
263
+ /**
264
+ * Base URL for the API
265
+ */
261
266
  url: string;
267
+ /**
268
+ * Custom instance of fetch. By default the global 'fetch' is used.
269
+ * You can override this to add custom middleware for use cases such as adding authentication headers.
270
+ */
262
271
  fetch?: typeof fetch;
272
+ /**
273
+ * Additional configuration
274
+ */
275
+ options?: {
276
+ /**
277
+ * By default, the client will add a Content-Type header, set to the media type defined for
278
+ * the request in the OpenAPI specification.
279
+ * Set this to false to omit this header.
280
+ */
281
+ omitContentTypeHeader?: boolean;
282
+ };
263
283
  }
264
284
 
265
285
  /**
@@ -270,6 +290,11 @@ export class <%- className %> {
270
290
 
271
291
  constructor(config: <%- className %>Config) {
272
292
  this.$config = config;
293
+
294
+ <%_ allOperations.forEach((op) => { _%>
295
+ <%_ const hasTag = op.tags && op.tags.length > 0; _%>
296
+ this.<% if (hasTag) { %>_<% } %><%- op.uniqueName %> = this.<% if (hasTag) { %>_<% } %><%- op.uniqueName %>.bind(this);
297
+ <%_ }); _%>
273
298
  }
274
299
 
275
300
  private $url = (path: string, pathParameters: { [key: string]: any }, queryParameters: { [key: string]: any }, collectionFormats?: { [key: string]: 'multi' | 'csv' }): string => {
@@ -298,16 +323,22 @@ export class <%- className %> {
298
323
  private $fetch: typeof fetch = (...args) => (this.$config.fetch ?? fetch)(...args);
299
324
  <%_ allOperations.forEach((op) => { _%>
300
325
  <%_ const hasTag = op.tags && op.tags.length > 0; _%>
301
-
326
+ <%_ const isStreaming = (op.vendorExtensions ?? {})['x-streaming']; _%>
302
327
  <%_ const isInputOptional = (op.parameters.length === 1 && op.parametersBody && !op.parametersBody.isRequired) || op.parameters.length === 0; _%>
303
- <%- docString(op, ' ') %> <%- hasTag ? 'private _' : 'public ' %><%- op.uniqueName %> = async (<% if (op.parameters.length > 0) { %>input<%- isInputOptional ? '?' : '' %>: <%- op.operationIdPascalCase %>Request<% } %>): Promise<<%- op.result ? op.result.typescriptType : 'void' %>> => {
328
+
329
+ <%- docString(op, ' ') %> <%- hasTag ? 'private' : 'public' %> async <% if (isStreaming) { %>*<% } %><%- hasTag ? '_' : '' %><%- op.uniqueName %>(<% if (op.parameters.length > 0) { %>input<%- isInputOptional ? '?' : '' %>: <%- op.operationIdPascalCase %>Request<% } %>): <%- isStreaming ? 'AsyncIterableIterator' : 'Promise' %><<%- op.result ? op.result.typescriptType : 'void' %>> {
304
330
  <%_ ['path', 'query', 'header'].forEach((position) => { _%>
305
331
  <%_ if (op.parameters.map(p => p.in).includes(position)) { _%>
306
- const <%- position %>Parameters = $IO.<%- op.operationIdPascalCase %>Request<%- upperFirst(position) %>Parameters.toJson(input);
332
+ const <%- position %>Parameters: {[key: string]: any} = $IO.<%- op.operationIdPascalCase %>Request<%- upperFirst(position) %>Parameters.toJson(input);
307
333
  <%_ } else { _%>
308
- const <%- position %>Parameters = {};
334
+ const <%- position %>Parameters: {[key: string]: any} = {};
309
335
  <%_ } _%>
310
336
  <%_ }); _%>
337
+ <%_ if (op.parametersBody && op.parametersBody.mediaTypes) { _%>
338
+ if (!this.$config.options?.omitContentTypeHeader) {
339
+ headerParameters['Content-Type'] = '<%- op.parametersBody.mediaTypes %>';
340
+ }
341
+ <%_ } _%>
311
342
  <%_ if (op.parameters.filter(p => p.collectionFormat).length > 0) { _%>
312
343
  const collectionFormats = {
313
344
  <%_ op.parameters.filter(p => p.collectionFormat).forEach((parameter) => { _%>
@@ -342,12 +373,28 @@ export class <%- className %> {
342
373
  <%_ if (response.code !== 'default') { _%>
343
374
  if (<%- renderResponseCondition(response.code) %>) {
344
375
  <%_ } _%>
345
- <% if (response.code !== 'default') { %> <% } %><% if (isResultResponse) { %>return <%- response.type === 'void' ? 'undefined' : renderResponse(response) %><% } else { %>throw {
346
- <% if (response.code !== 'default') { %> <% } %> status: response.status,
376
+ <%_ if (isResultResponse) { _%>
377
+ <%_ if (isStreaming) { _%>
378
+ <%_ if (response.type === 'void') { _%>
379
+ return;
380
+ <%_ } else { _%>
381
+ const reader = response.body?<% if (response.type !== 'binary') { %>.pipeThrough(new TextDecoderStream())<% } %>.getReader();
382
+ while (reader) {
383
+ const { value, done } = await reader.read();
384
+ if (done) return;
385
+ yield <%- renderStreamingResponseChunk(response) %>;
386
+ }
387
+ return;
388
+ <%_ } _%>
389
+ <%_ } else { _%>
390
+ return <%- response.type === 'void' ? 'undefined' : renderResponse(response) _%>
391
+ <%_ } _%>
392
+ <% } else { %>throw {
393
+ status: response.status,
347
394
  <%_ if (response.type !== 'void') { _%>
348
- <% if (response.code !== 'default') { %> <% } %> error: <%- renderResponse(response) %>,
395
+ error: <%- renderResponse(response) %>,
349
396
  <%_ } _%>
350
- <% if (response.code !== 'default') { %> <% } %>}<% } %>;
397
+ }<% } %>;
351
398
  <%_ if (response.code !== 'default') { _%>
352
399
  }
353
400
  <%_ } _%>
@@ -355,13 +402,13 @@ export class <%- className %> {
355
402
  <%_ if (!op.responses.find(response => response.code === 'default')) { _%>
356
403
  throw new Error(`Unknown response status ${response.status} returned by API`);
357
404
  <%_ } _%>
358
- };
405
+ }
359
406
  <%_ }); _%>
360
407
  <%_ Object.entries(operationsByTag).forEach(([tag, operations]) => { _%>
361
408
 
362
409
  <%- docString({ description: `${tag} operations` }, ' ') %> public <%- tag %> = {
363
410
  <%_ operations.forEach((op) => { _%>
364
- <%- docString(op, ' ') %> <%- op.name %>: this._<%- op.uniqueName %>,
411
+ <%- docString(op, ' ') %> <%- op.name %>: this._<%- op.uniqueName %>.bind(this),
365
412
  <%_ }); _%>
366
413
  };
367
414
  <%_ }); _%>
@@ -54,7 +54,7 @@ const buildOpenApiCodeGenData = (inSpec) => tslib_1.__awaiter(void 0, void 0, vo
54
54
  .filter((r) => r.export === 'reference')
55
55
  .map((r) => r.type));
56
56
  op.responses.forEach((response) => {
57
- var _a, _b, _c;
57
+ var _a;
58
58
  // Validate that the response is not a composite schema of primitives since we cannot determine what
59
59
  // the type of the response is (it all comes back as text!)
60
60
  if (response.export === 'reference' &&
@@ -77,12 +77,16 @@ const buildOpenApiCodeGenData = (inSpec) => tslib_1.__awaiter(void 0, void 0, vo
77
77
  }
78
78
  else {
79
79
  // Add the response media types
80
- response.mediaTypes = Object.keys(specResponse.content);
81
- const responseContent = (_c = (_b = specResponse.content) === null || _b === void 0 ? void 0 : _b['application/json']) !== null && _c !== void 0 ? _c : Object.values(specResponse.content)[0];
82
- const responseSchema = (0, refs_1.resolveIfRef)(spec, responseContent.schema);
83
- if (responseSchema) {
84
- mutateWithOpenapiSchemaProperties(spec, response, responseSchema);
85
- }
80
+ const mediaTypes = Object.keys(specResponse.content);
81
+ response.mediaTypes = mediaTypes;
82
+ mediaTypes.forEach((mediaType) => {
83
+ var _a, _b;
84
+ const responseContent = (_b = (_a = specResponse.content) === null || _a === void 0 ? void 0 : _a[mediaType]) !== null && _b !== void 0 ? _b : Object.values(specResponse.content)[0];
85
+ const responseSchema = (0, refs_1.resolveIfRef)(spec, responseContent.schema);
86
+ if (responseSchema) {
87
+ mutateWithOpenapiSchemaProperties(spec, response, responseSchema);
88
+ }
89
+ });
86
90
  }
87
91
  }
88
92
  });
@@ -429,7 +433,7 @@ const ensureModelLinks = (spec, data) => {
429
433
  _ensureModelLinks(spec, modelsByName, model, schema, visited);
430
434
  }
431
435
  });
432
- // Ensure set for all parameters
436
+ // Ensure set for all parameters and responses
433
437
  data.services.forEach((service) => {
434
438
  service.operations.forEach((op) => {
435
439
  var _a, _b, _c;
@@ -454,6 +458,18 @@ const ensureModelLinks = (spec, data) => {
454
458
  }
455
459
  }
456
460
  });
461
+ op.responses.forEach((response) => {
462
+ var _a, _b;
463
+ const specResponse = (0, refs_1.resolveIfRef)(spec, (_a = specOp === null || specOp === void 0 ? void 0 : specOp.responses) === null || _a === void 0 ? void 0 : _a[response.code]);
464
+ const mediaTypes = Object.keys((_b = specResponse === null || specResponse === void 0 ? void 0 : specResponse.content) !== null && _b !== void 0 ? _b : {});
465
+ mediaTypes.forEach((mediaType) => {
466
+ var _a, _b;
467
+ const responseSchema = (0, refs_1.resolveIfRef)(spec, (_b = (_a = specResponse === null || specResponse === void 0 ? void 0 : specResponse.content) === null || _a === void 0 ? void 0 : _a[mediaType]) === null || _b === void 0 ? void 0 : _b.schema);
468
+ if (responseSchema) {
469
+ _ensureModelLinks(spec, modelsByName, response, responseSchema, visited);
470
+ }
471
+ });
472
+ });
457
473
  });
458
474
  });
459
475
  };
@@ -1 +1 @@
1
- {"version":3,"file":"codegen-data.js","sourceRoot":"","sources":["../../../../../../packages/nx-plugin/src/open-api/utils/codegen-data.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"codegen-data.js","sourceRoot":"","sources":["../../../../../../packages/nx-plugin/src/open-api/utils/codegen-data.ts"],"names":[],"mappings":"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"}
@@ -44,7 +44,7 @@ Then add tRPC to your React application:
44
44
 
45
45
  1. Open the NX Console in VSCode
46
46
  2. Click on "Generate"
47
- 3. Search for "trpc#react"
47
+ 3. Search for "api-connection"
48
48
  4. Fill in the required parameters in the form
49
49
  5. Click "Run"
50
50
 
@@ -53,24 +53,24 @@ Then add tRPC to your React application:
53
53
  Add tRPC to your React application:
54
54
 
55
55
  ```bash
56
- nx g @aws/nx-plugin:trpc#react-connection --frontendProjectName=my-app --backendProjectName=my-api --auth=IAM
56
+ nx g @aws/nx-plugin:api-connection --sourceProject=my-app --targetProject=my-api --auth=IAM
57
57
  ```
58
58
 
59
59
  You can also perform a dry-run to see what files would be generated without actually creating them:
60
60
 
61
61
  ```bash
62
- nx g @aws/nx-plugin:trpc#react-connection --frontendProjectName=my-app --backendProjectName=my-api --auth=IAM --dry-run
62
+ nx g @aws/nx-plugin:api-connection --sourceProject=my-app --targetProject=my-api --auth=IAM --dry-run
63
63
  ```
64
64
 
65
65
  Both methods will add tRPC client integration to your React application with all the necessary configuration.
66
66
 
67
- ## Input Parameters
67
+ ### Input Parameters
68
68
 
69
- | Parameter | Type | Default | Description |
70
- | --------------------- | ------ | ------- | ------------------------------------------------------ |
71
- | frontendProjectName\* | string | - | The name of your React application project (required). |
72
- | backendProjectName\* | string | - | The name of your tRPC backend project (required). |
73
- | auth\* | string | "IAM" | Authentication strategy. Options: "IAM", "None" |
69
+ | Parameter | Type | Default | Description |
70
+ | --------------- | ------ | ------- | ------------------------------------------------------ |
71
+ | sourceProject\* | string | - | The name of your React application project (required). |
72
+ | targetProject\* | string | - | The name of your tRPC backend project (required). |
73
+ | auth\* | string | "IAM" | Authentication strategy. Options: "IAM", "None" |
74
74
 
75
75
  \*Required parameter
76
76
 
@@ -106,17 +106,17 @@ Additionally, it:
106
106
  The generator provides a `use<ApiName>` hook that gives you access to the type-safe tRPC client:
107
107
 
108
108
  ```tsx
109
- import { useQuery } from '@tanstack/react-query';
109
+ import { useQuery, useMutation } from '@tanstack/react-query';
110
110
  import { useMyApi } from './hooks/useMyApi';
111
111
 
112
112
  function MyComponent() {
113
113
  const trpc = useMyApi();
114
114
 
115
115
  // Example query
116
- const { data, isLoading } = useQuery(trpc.users.list.queryOptions());
116
+ const { data, isLoading, error } = useQuery(trpc.users.list.queryOptions());
117
117
 
118
118
  // Example mutation
119
- const mutation = trpc.users.create.useMutation();
119
+ const mutation = useMutation(trpc.users.create.mutationOptions());
120
120
 
121
121
  const handleCreate = () => {
122
122
  mutation.mutate({
@@ -127,7 +127,13 @@ function MyComponent() {
127
127
 
128
128
  if (isLoading) return <div>Loading...</div>;
129
129
 
130
- return <div>{/* Your component JSX */}</div>;
130
+ return (
131
+ <ul>
132
+ {data.map((user) => (
133
+ <li key={user.id}>{user.name}</li>
134
+ ))}
135
+ </ul>
136
+ );
131
137
  }
132
138
  ```
133
139
 
@@ -137,7 +143,7 @@ The integration includes built-in error handling that properly processes tRPC er
137
143
 
138
144
  ```tsx
139
145
  function MyComponent() {
140
- const trpc = useTrpc();
146
+ const trpc = useMyApi();
141
147
 
142
148
  const { data, error } = useQuery(trpc.users.list.queryOptions());
143
149
 
@@ -151,7 +157,13 @@ function MyComponent() {
151
157
  );
152
158
  }
153
159
 
154
- return <div>{/* Your component JSX */}</div>;
160
+ return (
161
+ <ul>
162
+ {data.map((user) => (
163
+ <li key={user.id}>{user.name}</li>
164
+ ))}
165
+ </ul>
166
+ );
155
167
  }
156
168
  ```
157
169
 
@@ -159,11 +171,12 @@ function MyComponent() {
159
171
 
160
172
  ### 1. Handle Loading States
161
173
 
162
- Always handle loading states for better user experience:
174
+ Always handle loading and error states for a better user experience:
163
175
 
164
176
  ```tsx
165
177
  function UserList() {
166
- const trpc = useTrpc();
178
+ const trpc = useMyApi();
179
+
167
180
  const users = useQuery(trpc.users.list.queryOptions());
168
181
 
169
182
  if (users.isLoading) {
@@ -186,14 +199,15 @@ function UserList() {
186
199
 
187
200
  ### 2. Optimistic Updates
188
201
 
189
- Use optimistic updates for better user experience:
202
+ Use optimistic updates for a better user experience:
190
203
 
191
204
  ```tsx
192
- import { useQueryClient } from '@tanstack/react-query';
205
+ import { useQueryClient, useQuery, useMutation } from '@tanstack/react-query';
193
206
 
194
207
  function UserList() {
208
+ const trpc = useMyApi();
209
+ const users = useQuery(trpc.users.list.queryOptions());
195
210
  const queryClient = useQueryClient();
196
- const trpc = useTrpc();
197
211
 
198
212
  const deleteMutation = useMutation(
199
213
  trpc.users.delete.mutationOptions({
@@ -235,8 +249,9 @@ Prefetch data for better performance:
235
249
 
236
250
  ```tsx
237
251
  function UserList() {
252
+ const trpc = useMyApi();
253
+ const users = useQuery(trpc.users.list.queryOptions());
238
254
  const queryClient = useQueryClient();
239
- const trpc = useTrpc();
240
255
 
241
256
  // Prefetch user details on hover
242
257
  const prefetchUser = async (userId: string) => {
@@ -261,7 +276,7 @@ Handle pagination with infinite queries:
261
276
 
262
277
  ```tsx
263
278
  function UserList() {
264
- const trpc = useTrpc();
279
+ const trpc = useMyApi();
265
280
 
266
281
  const { data, fetchNextPage, hasNextPage, isFetchingNextPage } = useInfiniteQuery(
267
282
  trpc.users.list.infiniteQueryOptions(
@@ -286,16 +301,18 @@ function UserList() {
286
301
  }
287
302
  ```
288
303
 
304
+ It is important to note that infinite queries can only be used for procedures with an input property named `cursor`.
305
+
289
306
  ## Type Safety
290
307
 
291
308
  The integration provides complete end-to-end type safety. Your IDE will provide full autocompletion and type checking for all your API calls:
292
309
 
293
310
  ```tsx
294
311
  function UserForm() {
295
- const trpc = useTrpc();
312
+ const trpc = useMyApi();
296
313
 
297
314
  // ✅ Input is fully typed
298
- const createUser = useMutation(trpc.users.create.mutationOptions());
315
+ const createUser = trpc.users.create.useMutation();
299
316
 
300
317
  const handleSubmit = (data: CreateUserInput) => {
301
318
  // ✅ Type error if input doesn't match schema
@@ -307,3 +324,7 @@ function UserForm() {
307
324
  ```
308
325
 
309
326
  The types are automatically inferred from your backend's router and schema definitions, ensuring that any changes to your API are immediately reflected in your frontend code without the need to build.
327
+
328
+ ## More Information
329
+
330
+ For more information, please refer to the [tRPC TanStack React Query documentation](https://trpc.io/docs/client/tanstack-react-query/usage).