@trpc/openapi 11.16.1-canary.3 → 11.16.1-canary.4

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.
@@ -1,15 +1,13 @@
1
- import { FetchClient, UserConfig } from "@hey-api/openapi-ts";
1
+ import { Plugins } from "@hey-api/openapi-ts";
2
2
  import { TRPCCombinedDataTransformer, TRPCDataTransformer } from "@trpc/server";
3
3
 
4
4
  //#region src/heyapi/index.d.ts
5
5
  type DataTransformerOptions = TRPCDataTransformer | TRPCCombinedDataTransformer;
6
- type HeyAPIResolvers = Exclude<Extract<Exclude<UserConfig['plugins'], undefined | string>[number], {
7
- name: '@hey-api/typescript';
8
- }>['~resolvers'], undefined>;
9
6
  interface TRPCHeyApiClientOptions {
10
7
  transformer?: DataTransformerOptions;
11
8
  }
12
- type HeyApiConfig = ReturnType<FetchClient['getConfig']>;
9
+ type HeyAPIResolvers = Plugins.HeyApiTypeScript.Resolvers;
10
+ type HeyApiConfig = ReturnType<Plugins.HeyApiClientFetch.Client['getConfig']>;
13
11
  type TRPCHeyApiClientConfig = Required<Pick<HeyApiConfig, 'querySerializer'>> & Pick<HeyApiConfig, 'bodySerializer' | 'responseTransformer'>;
14
12
  /**
15
13
  * Returns the `~resolvers` object for the `@hey-api/typescript` plugin.
@@ -61,7 +59,8 @@ declare function createTRPCErrorInterceptor(transformerOpts: DataTransformerOpti
61
59
  * });
62
60
  * ```
63
61
  */
64
- declare function configureTRPCHeyApiClient(client: FetchClient, opts: TRPCHeyApiClientOptions & Omit<HeyApiConfig, keyof TRPCHeyApiClientConfig>): void;
62
+ declare function configureTRPCHeyApiClient(client: Plugins.HeyApiClientFetch.Client, opts: TRPCHeyApiClientOptions & Omit<HeyApiConfig, keyof TRPCHeyApiClientConfig>): void;
63
+ //# sourceMappingURL=index.d.ts.map
65
64
  //#endregion
66
- export { DataTransformerOptions, HeyApiConfig, TRPCHeyApiClientConfig, TRPCHeyApiClientOptions, configureTRPCHeyApiClient, createTRPCErrorInterceptor, createTRPCHeyApiClientConfig, createTRPCHeyApiTypeResolvers };
65
+ export { DataTransformerOptions, HeyAPIResolvers, HeyApiConfig, TRPCHeyApiClientConfig, TRPCHeyApiClientOptions, configureTRPCHeyApiClient, createTRPCErrorInterceptor, createTRPCHeyApiClientConfig, createTRPCHeyApiTypeResolvers };
67
66
  //# sourceMappingURL=index.d.cts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.cts","names":[],"sources":["../../src/heyapi/index.ts"],"sourcesContent":[],"mappings":";;;;KASY,sBAAA,GACR,sBACA;KAEC,eAAA,GAAkB,QACrB,QACE,QAAQ;EANA,IAAA,EAAA,qBAAsB;CAAA,CAAA,CAAA,YAAA,CAAA,EAAA,SAAA,CAAA;AAC9B,UAoBa,uBAAA,CApBb;EAAmB,WACnB,CAAA,EAoBY,sBApBZ;AAA2B;AAE1B,KAqBO,YAAA,GAAe,UArBP,CAqBkB,WArBlB,CAAA,WAAA,CAAA,CAAA;AAAA,KAsBR,sBAAA,GAAyB,QAtBjB,CAuBlB,IAvBkB,CAuBb,YAvBa,EAAA,iBAAA,CAAA,CAAA,GAyBlB,IAzBkB,CAyBb,YAzBa,EAAA,gBAAA,GAAA,qBAAA,CAAA;;;;;AAAU;AAiB9B;AAIA;;;;AAAqC;AACrC;;;;;;;AAGM,iBAoBU,6BAAA,CAAA,CApBV,EAoB2C,eApB3C;AAoBN;AAoBA;;AAAoD,iBAApC,4BAAA,CAAoC,IAAA,CAAA,EAAA,uBAAA,CAAA,EAAA;EAAuB,SAgC5B,cAAA,CAAA,EAAA,CAAA,CAAA,IAAA,EAAA,OAAA,EAAA,GAAA,MAAA,CAAA,GAAA,SAAA;EAAA,SA1BlB,mBAAA,CAAA,EAAA,CAAA,CAAA,IAAA,EAAA,OAAA,EAAA,GA0BkB,OA1BlB,CAAA,OAAA,CAAA,CAAA,GAAA,SAAA;EAAM,SAAA,eAAA,EAAA,CAAA,KAAA,EAAN,MAAM,CAAA,MAAA,EAAA,OAAA,CAAA,EAAA,GAAA,MAAA;AA2CnC,CAAA;AAiCA;;;AAEQ,iBAnCQ,0BAAA,CAmCR,eAAA,EAlCW,sBAkCX,CAAA,EAAA,CAAA,KAAA,EAAA,OAAA,EAAA,GAAA,OAAA;;;;AACA;;;;;;;;;;;;;;;;iBAHQ,yBAAA,SACN,mBACF,0BACJ,KAAK,oBAAoB"}
1
+ {"version":3,"file":"index.d.cts","names":[],"sources":["../../src/heyapi/index.ts"],"sourcesContent":[],"mappings":";;;;KAMY,sBAAA,GACR,sBACA;UACa,uBAAA;EAHL,WAAA,CAAA,EAII,sBAJkB;;AAC9B,KAMQ,eAAA,GAAkB,OAAA,CAAQ,gBAAA,CAAiB,SANnD;AACA,KAOQ,YAAA,GAAe,UAPvB,CAQF,OAAA,CAAQ,iBAAA,CAAkB,MARxB,CAAA,WAAA,CAAA,CAAA;AAA2B,KAWnB,sBAAA,GAAyB,QAXN,CAY7B,IAZ6B,CAYxB,YAZwB,EAAA,iBAAA,CAAA,CAAA,GAc7B,IAd6B,CAcxB,YAdwB,EAAA,gBAAA,GAAA,qBAAA,CAAA;AAC/B;AAIA;AAEA;;;;AAAqC;AAIrC;;;;;;;AAGM;AA6BN;AAoBA;;AAAoD,iBApBpC,6BAAA,CAAA,CAoBoC,EApBH,eAoBG;;;AAMjB;AA2CnB,iBAjDA,4BAAA,CAkDG,IAAsB,CAAtB,EAlDiC,uBAkDX,CAAA,EAAA;EAgCzB,SAAA,cAAA,CAAA,EAAA,CAAA,CAAyB,IAAA,EAAA,OAAA,EAAA,GAAA,MAAA,CAAA,GAAA,SAAA;EAAA,SAAA,mBAAA,CAAA,EAAA,CAAA,CAAA,IAAA,EAAA,OAAA,EAAA,GAlDM,OAkDN,CAAA,OAAA,CAAA,CAAA,GAAA,SAAA;EAAA,SAC/B,eAAQ,EAAA,CAAA,KAAkB,EA7EP,MA6EO,CAAA,MAAA,EAAA,OAAA,CAAA,EAAA,GAAA,MAAA;CAAM;;;;AAElC,iBApCQ,0BAAA,CAoCR,eAAA,EAnCW,sBAmCX,CAAA,EAAA,CAAA,KAAA,EAAA,OAAA,EAAA,GAAA,OAAA;;;;;;;;;;;;;;;;;;;;iBAHQ,yBAAA,SACN,OAAA,CAAQ,iBAAA,CAAkB,cAC5B,0BACJ,KAAK,oBAAoB"}
@@ -1,15 +1,13 @@
1
- import { FetchClient, UserConfig } from "@hey-api/openapi-ts";
1
+ import { Plugins } from "@hey-api/openapi-ts";
2
2
  import { TRPCCombinedDataTransformer, TRPCDataTransformer } from "@trpc/server";
3
3
 
4
4
  //#region src/heyapi/index.d.ts
5
5
  type DataTransformerOptions = TRPCDataTransformer | TRPCCombinedDataTransformer;
6
- type HeyAPIResolvers = Exclude<Extract<Exclude<UserConfig['plugins'], undefined | string>[number], {
7
- name: '@hey-api/typescript';
8
- }>['~resolvers'], undefined>;
9
6
  interface TRPCHeyApiClientOptions {
10
7
  transformer?: DataTransformerOptions;
11
8
  }
12
- type HeyApiConfig = ReturnType<FetchClient['getConfig']>;
9
+ type HeyAPIResolvers = Plugins.HeyApiTypeScript.Resolvers;
10
+ type HeyApiConfig = ReturnType<Plugins.HeyApiClientFetch.Client['getConfig']>;
13
11
  type TRPCHeyApiClientConfig = Required<Pick<HeyApiConfig, 'querySerializer'>> & Pick<HeyApiConfig, 'bodySerializer' | 'responseTransformer'>;
14
12
  /**
15
13
  * Returns the `~resolvers` object for the `@hey-api/typescript` plugin.
@@ -61,7 +59,8 @@ declare function createTRPCErrorInterceptor(transformerOpts: DataTransformerOpti
61
59
  * });
62
60
  * ```
63
61
  */
64
- declare function configureTRPCHeyApiClient(client: FetchClient, opts: TRPCHeyApiClientOptions & Omit<HeyApiConfig, keyof TRPCHeyApiClientConfig>): void;
62
+ declare function configureTRPCHeyApiClient(client: Plugins.HeyApiClientFetch.Client, opts: TRPCHeyApiClientOptions & Omit<HeyApiConfig, keyof TRPCHeyApiClientConfig>): void;
63
+ //# sourceMappingURL=index.d.ts.map
65
64
  //#endregion
66
- export { DataTransformerOptions, HeyApiConfig, TRPCHeyApiClientConfig, TRPCHeyApiClientOptions, configureTRPCHeyApiClient, createTRPCErrorInterceptor, createTRPCHeyApiClientConfig, createTRPCHeyApiTypeResolvers };
65
+ export { DataTransformerOptions, HeyAPIResolvers, HeyApiConfig, TRPCHeyApiClientConfig, TRPCHeyApiClientOptions, configureTRPCHeyApiClient, createTRPCErrorInterceptor, createTRPCHeyApiClientConfig, createTRPCHeyApiTypeResolvers };
67
66
  //# sourceMappingURL=index.d.mts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.mts","names":[],"sources":["../../src/heyapi/index.ts"],"sourcesContent":[],"mappings":";;;;KASY,sBAAA,GACR,sBACA;KAEC,eAAA,GAAkB,QACrB,QACE,QAAQ;EANA,IAAA,EAAA,qBAAsB;CAAA,CAAA,CAAA,YAAA,CAAA,EAAA,SAAA,CAAA;AAC9B,UAoBa,uBAAA,CApBb;EAAmB,WACnB,CAAA,EAoBY,sBApBZ;AAA2B;AAE1B,KAqBO,YAAA,GAAe,UArBP,CAqBkB,WArBlB,CAAA,WAAA,CAAA,CAAA;AAAA,KAsBR,sBAAA,GAAyB,QAtBjB,CAuBlB,IAvBkB,CAuBb,YAvBa,EAAA,iBAAA,CAAA,CAAA,GAyBlB,IAzBkB,CAyBb,YAzBa,EAAA,gBAAA,GAAA,qBAAA,CAAA;;;;;AAAU;AAiB9B;AAIA;;;;AAAqC;AACrC;;;;;;;AAGM,iBAoBU,6BAAA,CAAA,CApBV,EAoB2C,eApB3C;AAoBN;AAoBA;;AAAoD,iBAApC,4BAAA,CAAoC,IAAA,CAAA,EAAA,uBAAA,CAAA,EAAA;EAAuB,SAgC5B,cAAA,CAAA,EAAA,CAAA,CAAA,IAAA,EAAA,OAAA,EAAA,GAAA,MAAA,CAAA,GAAA,SAAA;EAAA,SA1BlB,mBAAA,CAAA,EAAA,CAAA,CAAA,IAAA,EAAA,OAAA,EAAA,GA0BkB,OA1BlB,CAAA,OAAA,CAAA,CAAA,GAAA,SAAA;EAAM,SAAA,eAAA,EAAA,CAAA,KAAA,EAAN,MAAM,CAAA,MAAA,EAAA,OAAA,CAAA,EAAA,GAAA,MAAA;AA2CnC,CAAA;AAiCA;;;AAEQ,iBAnCQ,0BAAA,CAmCR,eAAA,EAlCW,sBAkCX,CAAA,EAAA,CAAA,KAAA,EAAA,OAAA,EAAA,GAAA,OAAA;;;;AACA;;;;;;;;;;;;;;;;iBAHQ,yBAAA,SACN,mBACF,0BACJ,KAAK,oBAAoB"}
1
+ {"version":3,"file":"index.d.mts","names":[],"sources":["../../src/heyapi/index.ts"],"sourcesContent":[],"mappings":";;;;KAMY,sBAAA,GACR,sBACA;UACa,uBAAA;EAHL,WAAA,CAAA,EAII,sBAJkB;;AAC9B,KAMQ,eAAA,GAAkB,OAAA,CAAQ,gBAAA,CAAiB,SANnD;AACA,KAOQ,YAAA,GAAe,UAPvB,CAQF,OAAA,CAAQ,iBAAA,CAAkB,MARxB,CAAA,WAAA,CAAA,CAAA;AAA2B,KAWnB,sBAAA,GAAyB,QAXN,CAY7B,IAZ6B,CAYxB,YAZwB,EAAA,iBAAA,CAAA,CAAA,GAc7B,IAd6B,CAcxB,YAdwB,EAAA,gBAAA,GAAA,qBAAA,CAAA;AAC/B;AAIA;AAEA;;;;AAAqC;AAIrC;;;;;;;AAGM;AA6BN;AAoBA;;AAAoD,iBApBpC,6BAAA,CAAA,CAoBoC,EApBH,eAoBG;;;AAMjB;AA2CnB,iBAjDA,4BAAA,CAkDG,IAAsB,CAAtB,EAlDiC,uBAkDX,CAAA,EAAA;EAgCzB,SAAA,cAAA,CAAA,EAAA,CAAA,CAAyB,IAAA,EAAA,OAAA,EAAA,GAAA,MAAA,CAAA,GAAA,SAAA;EAAA,SAAA,mBAAA,CAAA,EAAA,CAAA,CAAA,IAAA,EAAA,OAAA,EAAA,GAlDM,OAkDN,CAAA,OAAA,CAAA,CAAA,GAAA,SAAA;EAAA,SAC/B,eAAQ,EAAA,CAAA,KAAkB,EA7EP,MA6EO,CAAA,MAAA,EAAA,OAAA,CAAA,EAAA,GAAA,MAAA;CAAM;;;;AAElC,iBApCQ,0BAAA,CAoCR,eAAA,EAnCW,sBAmCX,CAAA,EAAA,CAAA,KAAA,EAAA,OAAA,EAAA,GAAA,OAAA;;;;;;;;;;;;;;;;;;;;iBAHQ,yBAAA,SACN,OAAA,CAAQ,iBAAA,CAAkB,cAC5B,0BACJ,KAAK,oBAAoB"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","names":["_objectWithoutProperties","transformer: DataTransformerOptions","opts?: TRPCHeyApiClientOptions","query: Record<string, unknown>","body: unknown","data: unknown","transformerOpts: DataTransformerOptions","error: unknown","client: HeyApiFetchClient","opts: TRPCHeyApiClientOptions &\n Omit<HeyApiConfig, keyof TRPCHeyApiClientConfig>"],"sources":["../../../../node_modules/.pnpm/@oxc-project+runtime@0.72.2/node_modules/@oxc-project/runtime/src/helpers/objectWithoutPropertiesLoose.js","../../../../node_modules/.pnpm/@oxc-project+runtime@0.72.2/node_modules/@oxc-project/runtime/src/helpers/objectWithoutProperties.js","../../src/heyapi/index.ts"],"sourcesContent":["function _objectWithoutPropertiesLoose(r, e) {\n if (null == r) return {};\n var t = {};\n for (var n in r) if ({}.hasOwnProperty.call(r, n)) {\n if (e.includes(n)) continue;\n t[n] = r[n];\n }\n return t;\n}\nmodule.exports = _objectWithoutPropertiesLoose, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var objectWithoutPropertiesLoose = require(\"./objectWithoutPropertiesLoose.js\");\nfunction _objectWithoutProperties(e, t) {\n if (null == e) return {};\n var o,\n r,\n i = objectWithoutPropertiesLoose(e, t);\n if (Object.getOwnPropertySymbols) {\n var s = Object.getOwnPropertySymbols(e);\n for (r = 0; r < s.length; r++) o = s[r], t.includes(o) || {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]);\n }\n return i;\n}\nmodule.exports = _objectWithoutProperties, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","import type {\n FetchClient as HeyApiFetchClient,\n UserConfig,\n} from '@hey-api/openapi-ts';\nimport type {\n TRPCCombinedDataTransformer,\n TRPCDataTransformer,\n} from '@trpc/server';\n\nexport type DataTransformerOptions =\n | TRPCDataTransformer\n | TRPCCombinedDataTransformer;\n\ntype HeyAPIResolvers = Exclude<\n Extract<\n Exclude<UserConfig['plugins'], undefined | string>[number],\n { name: '@hey-api/typescript' }\n >['~resolvers'],\n undefined\n>;\n\nfunction resolveTransformer(\n transformer: DataTransformerOptions,\n): TRPCCombinedDataTransformer {\n if ('input' in transformer) {\n return transformer;\n }\n return { input: transformer, output: transformer };\n}\n\nexport interface TRPCHeyApiClientOptions {\n transformer?: DataTransformerOptions;\n}\n\nexport type HeyApiConfig = ReturnType<HeyApiFetchClient['getConfig']>;\nexport type TRPCHeyApiClientConfig = Required<\n Pick<HeyApiConfig, 'querySerializer'>\n> &\n Pick<HeyApiConfig, 'bodySerializer' | 'responseTransformer'>;\n\n/**\n * Returns the `~resolvers` object for the `@hey-api/typescript` plugin.\n *\n * Maps `date` and `date-time` string formats to `Date` so that the\n * generated SDK uses `Date` instead of `string` for those fields.\n *\n * @example\n * ```ts\n * import { createClient } from '@hey-api/openapi-ts';\n * import { createTRPCHeyApiTypeResolvers } from '@trpc/openapi/heyapi';\n *\n * await createClient({\n * plugins: [\n * { name: '@hey-api/typescript', '~resolvers': createTRPCHeyApiTypeResolvers() },\n * ],\n * });\n * ```\n */\nexport function createTRPCHeyApiTypeResolvers(): HeyAPIResolvers {\n return {\n string(ctx) {\n if (ctx.schema.format === 'date-time' || ctx.schema.format === 'date') {\n return ctx.$.type('Date');\n }\n return undefined;\n },\n number(ctx) {\n if (ctx.schema.format === 'bigint') {\n return ctx.$.type('bigint');\n }\n return undefined;\n },\n };\n}\n\n/**\n * @internal - Prefer `configureTRPCHeyApiClient`\n */\nexport function createTRPCHeyApiClientConfig(opts?: TRPCHeyApiClientOptions) {\n const transformer = opts?.transformer\n ? resolveTransformer(opts.transformer)\n : undefined;\n\n return {\n querySerializer: (query: Record<string, unknown>) => {\n const params = new URLSearchParams();\n\n for (const [key, value] of Object.entries(query)) {\n if (value === undefined) {\n continue;\n }\n\n if (key === 'input' && transformer) {\n params.append(\n key,\n JSON.stringify(transformer.input.serialize(value)),\n );\n } else {\n params.append(key, JSON.stringify(value));\n }\n }\n\n return params.toString();\n },\n\n ...(transformer && {\n bodySerializer: (body: unknown) => {\n return JSON.stringify(transformer.input.serialize(body));\n },\n\n responseTransformer: async (data: unknown) => {\n if (!!data && typeof data === 'object' && 'result' in data) {\n const result = (data as any).result;\n if (!result.type || result.type === 'data') {\n result.data = transformer.output.deserialize(result.data);\n }\n }\n\n return data;\n },\n }),\n } as const satisfies TRPCHeyApiClientConfig;\n}\n\n/**\n * @internal - Prefer `configureTRPCHeyApiClient`\n */\nexport function createTRPCErrorInterceptor(\n transformerOpts: DataTransformerOptions,\n) {\n const transformer = resolveTransformer(transformerOpts);\n return (error: unknown) => {\n if (!!error && typeof error === 'object' && 'error' in error) {\n (error as any).error = transformer.output.deserialize(\n (error as any).error,\n );\n }\n return error;\n };\n}\n\n/**\n * Configures a hey-api client for use with a tRPC OpenAPI backend.\n *\n * Sets up querySerializer, bodySerializer, responseTransformer, and\n * an error interceptor (for transformer-based error deserialization)\n * in a single call.\n *\n * @example\n * ```ts\n * import { configureTRPCHeyApiClient } from '@trpc/openapi/heyapi';\n * import superjson from 'superjson';\n * import { client } from './generated/client.gen';\n *\n * configureTRPCHeyApiClient(client, {\n * baseUrl: 'http://localhost:3000',\n * transformer: superjson,\n * });\n * ```\n */\nexport function configureTRPCHeyApiClient(\n client: HeyApiFetchClient,\n opts: TRPCHeyApiClientOptions &\n Omit<HeyApiConfig, keyof TRPCHeyApiClientConfig>,\n) {\n const { transformer, ...heyConfig } = opts;\n const trpcConfig = createTRPCHeyApiClientConfig({ transformer });\n\n client.setConfig({ ...heyConfig, ...trpcConfig });\n\n if (transformer) {\n client.interceptors.error.use(createTRPCErrorInterceptor(transformer));\n }\n}\n"],"x_google_ignoreList":[0,1],"mappings":"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"}
1
+ {"version":3,"file":"index.mjs","names":["_objectWithoutProperties","transformer: DataTransformerOptions","opts?: TRPCHeyApiClientOptions","query: Record<string, unknown>","body: unknown","data: unknown","transformerOpts: DataTransformerOptions","error: unknown","client: Plugins.HeyApiClientFetch.Client","opts: TRPCHeyApiClientOptions &\n Omit<HeyApiConfig, keyof TRPCHeyApiClientConfig>"],"sources":["../../../../node_modules/.pnpm/@oxc-project+runtime@0.72.2/node_modules/@oxc-project/runtime/src/helpers/objectWithoutPropertiesLoose.js","../../../../node_modules/.pnpm/@oxc-project+runtime@0.72.2/node_modules/@oxc-project/runtime/src/helpers/objectWithoutProperties.js","../../src/heyapi/index.ts"],"sourcesContent":["function _objectWithoutPropertiesLoose(r, e) {\n if (null == r) return {};\n var t = {};\n for (var n in r) if ({}.hasOwnProperty.call(r, n)) {\n if (e.includes(n)) continue;\n t[n] = r[n];\n }\n return t;\n}\nmodule.exports = _objectWithoutPropertiesLoose, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","var objectWithoutPropertiesLoose = require(\"./objectWithoutPropertiesLoose.js\");\nfunction _objectWithoutProperties(e, t) {\n if (null == e) return {};\n var o,\n r,\n i = objectWithoutPropertiesLoose(e, t);\n if (Object.getOwnPropertySymbols) {\n var s = Object.getOwnPropertySymbols(e);\n for (r = 0; r < s.length; r++) o = s[r], t.includes(o) || {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]);\n }\n return i;\n}\nmodule.exports = _objectWithoutProperties, module.exports.__esModule = true, module.exports[\"default\"] = module.exports;","import type { Plugins } from '@hey-api/openapi-ts';\nimport type {\n TRPCCombinedDataTransformer,\n TRPCDataTransformer,\n} from '@trpc/server';\n\nexport type DataTransformerOptions =\n | TRPCDataTransformer\n | TRPCCombinedDataTransformer;\nexport interface TRPCHeyApiClientOptions {\n transformer?: DataTransformerOptions;\n}\n\nexport type HeyAPIResolvers = Plugins.HeyApiTypeScript.Resolvers;\n\nexport type HeyApiConfig = ReturnType<\n Plugins.HeyApiClientFetch.Client['getConfig']\n>;\n\nexport type TRPCHeyApiClientConfig = Required<\n Pick<HeyApiConfig, 'querySerializer'>\n> &\n Pick<HeyApiConfig, 'bodySerializer' | 'responseTransformer'>;\n\nfunction resolveTransformer(\n transformer: DataTransformerOptions,\n): TRPCCombinedDataTransformer {\n if ('input' in transformer) {\n return transformer;\n }\n return { input: transformer, output: transformer };\n}\n\n/**\n * Returns the `~resolvers` object for the `@hey-api/typescript` plugin.\n *\n * Maps `date` and `date-time` string formats to `Date` so that the\n * generated SDK uses `Date` instead of `string` for those fields.\n *\n * @example\n * ```ts\n * import { createClient } from '@hey-api/openapi-ts';\n * import { createTRPCHeyApiTypeResolvers } from '@trpc/openapi/heyapi';\n *\n * await createClient({\n * plugins: [\n * { name: '@hey-api/typescript', '~resolvers': createTRPCHeyApiTypeResolvers() },\n * ],\n * });\n * ```\n */\nexport function createTRPCHeyApiTypeResolvers(): HeyAPIResolvers {\n return {\n string(ctx) {\n if (ctx.schema.format === 'date-time' || ctx.schema.format === 'date') {\n return ctx.$.type('Date');\n }\n return undefined;\n },\n number(ctx) {\n if (ctx.schema.format === 'bigint') {\n return ctx.$.type('bigint');\n }\n return undefined;\n },\n };\n}\n\n/**\n * @internal - Prefer `configureTRPCHeyApiClient`\n */\nexport function createTRPCHeyApiClientConfig(opts?: TRPCHeyApiClientOptions) {\n const transformer = opts?.transformer\n ? resolveTransformer(opts.transformer)\n : undefined;\n\n return {\n querySerializer: (query: Record<string, unknown>) => {\n const params = new URLSearchParams();\n\n for (const [key, value] of Object.entries(query)) {\n if (value === undefined) {\n continue;\n }\n\n if (key === 'input' && transformer) {\n params.append(\n key,\n JSON.stringify(transformer.input.serialize(value)),\n );\n } else {\n params.append(key, JSON.stringify(value));\n }\n }\n\n return params.toString();\n },\n\n ...(transformer && {\n bodySerializer: (body: unknown) => {\n return JSON.stringify(transformer.input.serialize(body));\n },\n\n responseTransformer: async (data: unknown) => {\n if (!!data && typeof data === 'object' && 'result' in data) {\n const result = (data as any).result;\n if (!result.type || result.type === 'data') {\n result.data = transformer.output.deserialize(result.data);\n }\n }\n\n return data;\n },\n }),\n } as const satisfies TRPCHeyApiClientConfig;\n}\n\n/**\n * @internal - Prefer `configureTRPCHeyApiClient`\n */\nexport function createTRPCErrorInterceptor(\n transformerOpts: DataTransformerOptions,\n) {\n const transformer = resolveTransformer(transformerOpts);\n return (error: unknown) => {\n if (!!error && typeof error === 'object' && 'error' in error) {\n (error as any).error = transformer.output.deserialize(\n (error as any).error,\n );\n }\n return error;\n };\n}\n\n/**\n * Configures a hey-api client for use with a tRPC OpenAPI backend.\n *\n * Sets up querySerializer, bodySerializer, responseTransformer, and\n * an error interceptor (for transformer-based error deserialization)\n * in a single call.\n *\n * @example\n * ```ts\n * import { configureTRPCHeyApiClient } from '@trpc/openapi/heyapi';\n * import superjson from 'superjson';\n * import { client } from './generated/client.gen';\n *\n * configureTRPCHeyApiClient(client, {\n * baseUrl: 'http://localhost:3000',\n * transformer: superjson,\n * });\n * ```\n */\nexport function configureTRPCHeyApiClient(\n client: Plugins.HeyApiClientFetch.Client,\n opts: TRPCHeyApiClientOptions &\n Omit<HeyApiConfig, keyof TRPCHeyApiClientConfig>,\n) {\n const { transformer, ...heyConfig } = opts;\n const trpcConfig = createTRPCHeyApiClientConfig({ transformer });\n\n client.setConfig({ ...heyConfig, ...trpcConfig });\n\n if (transformer) {\n client.interceptors.error.use(createTRPCErrorInterceptor(transformer));\n }\n}\n"],"x_google_ignoreList":[0,1],"mappings":"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"}
package/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "name": "@trpc/openapi",
3
3
  "type": "module",
4
4
  "sideEffects": false,
5
- "version": "11.16.1-canary.3+492bacf3b",
5
+ "version": "11.16.1-canary.4+fb9fe87fd",
6
6
  "description": "OpenAPI document generator for tRPC routers",
7
7
  "author": "KATT",
8
8
  "license": "MIT",
@@ -77,7 +77,7 @@
77
77
  "openapi-types": "^12.1.3"
78
78
  },
79
79
  "devDependencies": {
80
- "@hey-api/openapi-ts": "^0.94.1",
80
+ "@hey-api/openapi-ts": "^0.94.5",
81
81
  "@swagger-api/apidom-ls": "^1.6.0",
82
82
  "@tanstack/intent": "^0.0.23",
83
83
  "@trpc/server": "11.16.1",
@@ -93,7 +93,7 @@
93
93
  "zod": "^4.2.1"
94
94
  },
95
95
  "peerDependencies": {
96
- "@hey-api/openapi-ts": ">=0.13.0",
96
+ "@hey-api/openapi-ts": ">=0.94.5",
97
97
  "@trpc/server": "11.16.1",
98
98
  "typescript": ">=5.7.2",
99
99
  "zod": ">=4.0.0"
@@ -112,5 +112,5 @@
112
112
  "keywords": [
113
113
  "tanstack-intent"
114
114
  ],
115
- "gitHead": "492bacf3b9ca28d16cfe5ec32e4eb4d164b7f8f0"
115
+ "gitHead": "fb9fe87fd4885f3e2b3f16fe484b1467b77d5324"
116
116
  }
@@ -1,7 +1,4 @@
1
- import type {
2
- FetchClient as HeyApiFetchClient,
3
- UserConfig,
4
- } from '@hey-api/openapi-ts';
1
+ import type { Plugins } from '@hey-api/openapi-ts';
5
2
  import type {
6
3
  TRPCCombinedDataTransformer,
7
4
  TRPCDataTransformer,
@@ -10,15 +7,21 @@ import type {
10
7
  export type DataTransformerOptions =
11
8
  | TRPCDataTransformer
12
9
  | TRPCCombinedDataTransformer;
10
+ export interface TRPCHeyApiClientOptions {
11
+ transformer?: DataTransformerOptions;
12
+ }
13
+
14
+ export type HeyAPIResolvers = Plugins.HeyApiTypeScript.Resolvers;
13
15
 
14
- type HeyAPIResolvers = Exclude<
15
- Extract<
16
- Exclude<UserConfig['plugins'], undefined | string>[number],
17
- { name: '@hey-api/typescript' }
18
- >['~resolvers'],
19
- undefined
16
+ export type HeyApiConfig = ReturnType<
17
+ Plugins.HeyApiClientFetch.Client['getConfig']
20
18
  >;
21
19
 
20
+ export type TRPCHeyApiClientConfig = Required<
21
+ Pick<HeyApiConfig, 'querySerializer'>
22
+ > &
23
+ Pick<HeyApiConfig, 'bodySerializer' | 'responseTransformer'>;
24
+
22
25
  function resolveTransformer(
23
26
  transformer: DataTransformerOptions,
24
27
  ): TRPCCombinedDataTransformer {
@@ -28,16 +31,6 @@ function resolveTransformer(
28
31
  return { input: transformer, output: transformer };
29
32
  }
30
33
 
31
- export interface TRPCHeyApiClientOptions {
32
- transformer?: DataTransformerOptions;
33
- }
34
-
35
- export type HeyApiConfig = ReturnType<HeyApiFetchClient['getConfig']>;
36
- export type TRPCHeyApiClientConfig = Required<
37
- Pick<HeyApiConfig, 'querySerializer'>
38
- > &
39
- Pick<HeyApiConfig, 'bodySerializer' | 'responseTransformer'>;
40
-
41
34
  /**
42
35
  * Returns the `~resolvers` object for the `@hey-api/typescript` plugin.
43
36
  *
@@ -159,7 +152,7 @@ export function createTRPCErrorInterceptor(
159
152
  * ```
160
153
  */
161
154
  export function configureTRPCHeyApiClient(
162
- client: HeyApiFetchClient,
155
+ client: Plugins.HeyApiClientFetch.Client,
163
156
  opts: TRPCHeyApiClientOptions &
164
157
  Omit<HeyApiConfig, keyof TRPCHeyApiClientConfig>,
165
158
  ) {