Skip to content

Commit f0b7576

Browse files
committed
feat(pinia-colada): refactor createQueryKeyFunction to register serializeQueryKeyValue symbol
1 parent c83f425 commit f0b7576

File tree

1 file changed

+16
-5
lines changed
  • packages/openapi-ts/src/plugins/@pinia/colada

1 file changed

+16
-5
lines changed

packages/openapi-ts/src/plugins/@pinia/colada/queryKey.ts

Lines changed: 16 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,6 @@ export const createQueryKeyFunction = ({
2222
}: {
2323
plugin: PiniaColadaPlugin['Instance'];
2424
}) => {
25-
const coreModule = '../core/queryKeySerializer.gen';
2625
const symbolCreateQueryKey = plugin.registerSymbol({
2726
name: buildName({
2827
config: {
@@ -35,10 +34,6 @@ export const createQueryKeyFunction = ({
3534
const symbolQueryKeyType = plugin.referenceSymbol(
3635
plugin.api.getSelector('QueryKey'),
3736
);
38-
const symbolSerializeQueryValue = plugin.registerSymbol({
39-
external: coreModule,
40-
name: 'serializeQueryKeyValue',
41-
});
4237

4338
const returnType = tsc.indexedAccessTypeNode({
4439
indexType: tsc.literalTypeNode({
@@ -60,6 +55,22 @@ export const createQueryKeyFunction = ({
6055
client.api.getSelector('client'),
6156
)
6257
: undefined;
58+
let symbolSerializeQueryValue;
59+
if (client.api && 'getSelector' in client.api) {
60+
// @ts-expect-error
61+
const selector = client.api.getSelector('serializeQueryKeyValue');
62+
const existingSymbol = plugin.getSymbol(selector);
63+
if (existingSymbol) {
64+
symbolSerializeQueryValue = plugin.referenceSymbol(selector);
65+
}
66+
}
67+
68+
if (!symbolSerializeQueryValue) {
69+
symbolSerializeQueryValue = plugin.registerSymbol({
70+
external: '../core/queryKeySerializer.gen',
71+
name: 'serializeQueryKeyValue',
72+
});
73+
}
6374

6475
const sdkPlugin = plugin.getPluginOrThrow('@hey-api/sdk');
6576
const symbolOptions = plugin.referenceSymbol(

0 commit comments

Comments
 (0)