Skip to content

Commit 23512e0

Browse files
committed
refactor(tanstack): unify operation naming using SDK serviceFunctionIdentifier
1 parent d687cdd commit 23512e0

File tree

4 files changed

+37
-8
lines changed

4 files changed

+37
-8
lines changed

packages/openapi-ts/src/plugins/@tanstack/query-core/infiniteQueryOptions.ts

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ import { tsNodeToString } from '../../../compiler/utils';
55
import { clientApi } from '../../../generate/client';
66
import { operationPagination } from '../../../ir/operation';
77
import type { IR } from '../../../ir/types';
8+
import { serviceFunctionIdentifier } from '../../@hey-api/sdk/plugin-legacy';
89
import {
910
createOperationComment,
1011
isOperationOptionsRequired,
@@ -312,9 +313,15 @@ export const createInfiniteQueryOptions = ({
312313
});
313314
file.add(node);
314315

316+
const functionIdentifier = serviceFunctionIdentifier({
317+
config: plugin.context.config,
318+
id: operation.id,
319+
operation,
320+
});
321+
315322
const identifierInfiniteQueryKey = file.identifier({
316323
// TODO: refactor for better cross-plugin compatibility
317-
$ref: `#/tanstack-query-infinite-query-key/${operation.id}`,
324+
$ref: `#/tanstack-query-infinite-query-key/${functionIdentifier}`,
318325
case: plugin.config.infiniteQueryKeys.case,
319326
nameTransformer: plugin.config.infiniteQueryKeys.name,
320327
namespace: 'value',
@@ -429,7 +436,7 @@ export const createInfiniteQueryOptions = ({
429436

430437
const identifierInfiniteQueryOptions = file.identifier({
431438
// TODO: refactor for better cross-plugin compatibility
432-
$ref: `#/tanstack-query-infinite-query-options/${operation.id}`,
439+
$ref: `#/tanstack-query-infinite-query-options/${functionIdentifier}`,
433440
case: plugin.config.infiniteQueryOptions.case,
434441
create: true,
435442
nameTransformer: plugin.config.infiniteQueryOptions.name,

packages/openapi-ts/src/plugins/@tanstack/query-core/mutationOptions.ts

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ import type ts from 'typescript';
22

33
import { compiler } from '../../../compiler';
44
import type { IR } from '../../../ir/types';
5+
import { serviceFunctionIdentifier } from '../../@hey-api/sdk/plugin-legacy';
56
import { createOperationComment } from '../../shared/utils/operation';
67
import type { PluginInstance, PluginState } from './types';
78
import { useTypeData, useTypeError, useTypeResponse } from './useType';
@@ -101,9 +102,15 @@ export const createMutationOptions = ({
101102
);
102103
}
103104

105+
const functionIdentifier = serviceFunctionIdentifier({
106+
config: plugin.context.config,
107+
id: operation.id,
108+
operation,
109+
});
110+
104111
const identifier = file.identifier({
105112
// TODO: refactor for better cross-plugin compatibility
106-
$ref: `#/tanstack-query-mutation-options/${operation.id}`,
113+
$ref: `#/tanstack-query-mutation-options/${functionIdentifier}`,
107114
case: plugin.config.mutationOptions.case,
108115
create: true,
109116
nameTransformer: plugin.config.mutationOptions.name,

packages/openapi-ts/src/plugins/@tanstack/query-core/queryKey.ts

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ import { clientApi } from '../../../generate/client';
33
import { hasOperationDataRequired } from '../../../ir/operation';
44
import type { IR } from '../../../ir/types';
55
import { getClientBaseUrlKey } from '../../@hey-api/client-core/utils';
6+
import { serviceFunctionIdentifier } from '../../@hey-api/sdk/plugin-legacy';
67
import type { PluginInstance } from './types';
78
import { useTypeData } from './useType';
89

@@ -306,18 +307,25 @@ export const queryKeyStatement = ({
306307
}) => {
307308
const file = plugin.context.file({ id: plugin.name })!;
308309
const typeData = useTypeData({ operation, plugin });
310+
311+
const functionIdentifier = serviceFunctionIdentifier({
312+
config: plugin.context.config,
313+
id: operation.id,
314+
operation,
315+
});
316+
309317
const identifier = isInfinite
310318
? file.identifier({
311319
// TODO: refactor for better cross-plugin compatibility
312-
$ref: `#/tanstack-query-infinite-query-key/${operation.id}`,
320+
$ref: `#/tanstack-query-infinite-query-key/${functionIdentifier}`,
313321
case: plugin.config.infiniteQueryKeys.case,
314322
create: true,
315323
nameTransformer: plugin.config.infiniteQueryKeys.name,
316324
namespace: 'value',
317325
})
318326
: file.identifier({
319327
// TODO: refactor for better cross-plugin compatibility
320-
$ref: `#/tanstack-query-query-key/${operation.id}`,
328+
$ref: `#/tanstack-query-query-key/${functionIdentifier}`,
321329
case: plugin.config.queryKeys.case,
322330
create: true,
323331
nameTransformer: plugin.config.queryKeys.name,
@@ -335,7 +343,7 @@ export const queryKeyStatement = ({
335343
],
336344
returnType: isInfinite ? typeQueryKey : undefined,
337345
statements: createQueryKeyLiteral({
338-
id: operation.id,
346+
id: functionIdentifier,
339347
isInfinite,
340348
plugin,
341349
}),

packages/openapi-ts/src/plugins/@tanstack/query-core/queryOptions.ts

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ import type ts from 'typescript';
22

33
import { compiler } from '../../../compiler';
44
import type { IR } from '../../../ir/types';
5+
import { serviceFunctionIdentifier } from '../../@hey-api/sdk/plugin-legacy';
56
import {
67
createOperationComment,
78
isOperationOptionsRequired,
@@ -68,9 +69,15 @@ export const createQueryOptions = ({
6869

6970
const typeData = useTypeData({ operation, plugin });
7071

72+
const functionIdentifier = serviceFunctionIdentifier({
73+
config: plugin.context.config,
74+
id: operation.id,
75+
operation,
76+
});
77+
7178
const identifierQueryKey = file.identifier({
7279
// TODO: refactor for better cross-plugin compatibility
73-
$ref: `#/tanstack-query-query-key/${operation.id}`,
80+
$ref: `#/tanstack-query-query-key/${functionIdentifier}`,
7481
case: plugin.config.queryKeys.case,
7582
nameTransformer: plugin.config.queryKeys.name,
7683
namespace: 'value',
@@ -129,7 +136,7 @@ export const createQueryOptions = ({
129136

130137
const identifierQueryOptions = file.identifier({
131138
// TODO: refactor for better cross-plugin compatibility
132-
$ref: `#/tanstack-query-query-options/${operation.id}`,
139+
$ref: `#/tanstack-query-query-options/${functionIdentifier}`,
133140
case: plugin.config.queryOptions.case,
134141
create: true,
135142
nameTransformer: plugin.config.queryOptions.name,

0 commit comments

Comments
 (0)