@trpc/next 11.9.1-canary.8 → 11.10.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.
@@ -23,7 +23,8 @@ function experimental_nextCacheLink(opts) {
23
23
  getRawInput: async () => input,
24
24
  ctx,
25
25
  type,
26
- signal: void 0
26
+ signal: void 0,
27
+ batchIndex: 0
27
28
  });
28
29
  return transformer.input.serialize(procedureResult);
29
30
  };
@@ -22,7 +22,8 @@ function experimental_nextCacheLink(opts) {
22
22
  getRawInput: async () => input,
23
23
  ctx,
24
24
  type,
25
- signal: void 0
25
+ signal: void 0,
26
+ batchIndex: 0
26
27
  });
27
28
  return transformer.input.serialize(procedureResult);
28
29
  };
@@ -1 +1 @@
1
- {"version":3,"file":"nextCache.mjs","names":["opts: NextCacheLinkOptions<TRouter>","_cachebuster: string"],"sources":["../../../src/app-dir/links/nextCache.ts"],"sourcesContent":["// import \"server-only\";\n\nimport type { TRPCLink } from '@trpc/client';\nimport { TRPCClientError } from '@trpc/client';\nimport {\n getTransformer,\n type TransformerOptions,\n} from '@trpc/client/unstable-internals';\nimport { observable } from '@trpc/server/observable';\nimport type {\n AnyRouter,\n inferClientTypes,\n inferRouterContext,\n} from '@trpc/server/unstable-core-do-not-import';\nimport { callProcedure } from '@trpc/server/unstable-core-do-not-import';\nimport { unstable_cache } from 'next/cache';\nimport { generateCacheTag } from '../shared';\n\ntype NextCacheLinkOptions<TRouter extends AnyRouter> = {\n router: TRouter;\n createContext: () => Promise<inferRouterContext<TRouter>>;\n /** how many seconds the cache should hold before revalidating */\n revalidate?: number | false;\n} & TransformerOptions<inferClientTypes<TRouter>>;\n\n// ts-prune-ignore-next\nexport function experimental_nextCacheLink<TRouter extends AnyRouter>(\n opts: NextCacheLinkOptions<TRouter>,\n): TRPCLink<TRouter> {\n const transformer = getTransformer(opts.transformer);\n return () =>\n ({ op }) =>\n observable((observer) => {\n const { path, input, type, context } = op;\n\n const cacheTag = generateCacheTag(path, input);\n // Let per-request revalidate override global revalidate\n const requestRevalidate =\n typeof context['revalidate'] === 'number' ||\n context['revalidate'] === false\n ? context['revalidate']\n : undefined;\n const revalidate = requestRevalidate ?? opts.revalidate ?? false;\n\n const promise = opts\n .createContext()\n .then(async (ctx) => {\n const callProc = async (_cachebuster: string) => {\n // // _cachebuster is not used by us but to make sure\n // // that calls with different tags are properly separated\n // // @link https://github.com/trpc/trpc/issues/4622\n const procedureResult = await callProcedure({\n router: opts.router,\n path,\n getRawInput: async () => input,\n ctx: ctx,\n type,\n signal: undefined,\n });\n\n // We need to serialize cause the cache only accepts JSON\n return transformer.input.serialize(procedureResult);\n };\n\n if (type === 'query') {\n return unstable_cache(callProc, path.split('.'), {\n revalidate,\n tags: [cacheTag],\n })(cacheTag);\n }\n\n return callProc(cacheTag);\n })\n .catch((cause) => {\n observer.error(TRPCClientError.from(cause));\n });\n\n promise\n .then((data) => {\n const transformedResult = transformer.output.deserialize(data);\n observer.next({ result: { data: transformedResult } });\n observer.complete();\n })\n .catch((cause) => {\n observer.error(TRPCClientError.from(cause));\n });\n });\n}\n"],"mappings":";;;;;;;;AA0BA,SAAgB,2BACdA,MACmB;CACnB,MAAM,cAAc,eAAe,KAAK,YAAY;AACpD,QAAO,MACL,CAAC,EAAE,IAAI,KACL,WAAW,CAAC,aAAa;;EACvB,MAAM,EAAE,MAAM,OAAO,MAAM,SAAS,GAAG;EAEvC,MAAM,WAAW,iBAAiB,MAAM,MAAM;EAE9C,MAAM,2BACG,QAAQ,kBAAkB,YACjC,QAAQ,kBAAkB,QACtB,QAAQ;EAEd,MAAM,qBAAa,iFAAqB,KAAK,iDAAc;EAE3D,MAAM,UAAU,KACb,eAAe,CACf,KAAK,OAAO,QAAQ;GACnB,MAAM,WAAW,OAAOC,iBAAyB;IAI/C,MAAM,kBAAkB,MAAM,cAAc;KAC1C,QAAQ,KAAK;KACb;KACA,aAAa,YAAY;KACpB;KACL;KACA;IACD,EAAC;AAGF,WAAO,YAAY,MAAM,UAAU,gBAAgB;GACpD;AAED,OAAI,SAAS,QACX,QAAO,eAAe,UAAU,KAAK,MAAM,IAAI,EAAE;IAC/C;IACA,MAAM,CAAC,QAAS;GACjB,EAAC,CAAC,SAAS;AAGd,UAAO,SAAS,SAAS;EAC1B,EAAC,CACD,MAAM,CAAC,UAAU;AAChB,YAAS,MAAM,gBAAgB,KAAK,MAAM,CAAC;EAC5C,EAAC;AAEJ,UACG,KAAK,CAAC,SAAS;GACd,MAAM,oBAAoB,YAAY,OAAO,YAAY,KAAK;AAC9D,YAAS,KAAK,EAAE,QAAQ,EAAE,MAAM,kBAAmB,EAAE,EAAC;AACtD,YAAS,UAAU;EACpB,EAAC,CACD,MAAM,CAAC,UAAU;AAChB,YAAS,MAAM,gBAAgB,KAAK,MAAM,CAAC;EAC5C,EAAC;CACL,EAAC;AACP"}
1
+ {"version":3,"file":"nextCache.mjs","names":["opts: NextCacheLinkOptions<TRouter>","_cachebuster: string"],"sources":["../../../src/app-dir/links/nextCache.ts"],"sourcesContent":["// import \"server-only\";\n\nimport type { TRPCLink } from '@trpc/client';\nimport { TRPCClientError } from '@trpc/client';\nimport {\n getTransformer,\n type TransformerOptions,\n} from '@trpc/client/unstable-internals';\nimport { observable } from '@trpc/server/observable';\nimport type {\n AnyRouter,\n inferClientTypes,\n inferRouterContext,\n} from '@trpc/server/unstable-core-do-not-import';\nimport { callProcedure } from '@trpc/server/unstable-core-do-not-import';\nimport { unstable_cache } from 'next/cache';\nimport { generateCacheTag } from '../shared';\n\ntype NextCacheLinkOptions<TRouter extends AnyRouter> = {\n router: TRouter;\n createContext: () => Promise<inferRouterContext<TRouter>>;\n /** how many seconds the cache should hold before revalidating */\n revalidate?: number | false;\n} & TransformerOptions<inferClientTypes<TRouter>>;\n\n// ts-prune-ignore-next\nexport function experimental_nextCacheLink<TRouter extends AnyRouter>(\n opts: NextCacheLinkOptions<TRouter>,\n): TRPCLink<TRouter> {\n const transformer = getTransformer(opts.transformer);\n return () =>\n ({ op }) =>\n observable((observer) => {\n const { path, input, type, context } = op;\n\n const cacheTag = generateCacheTag(path, input);\n // Let per-request revalidate override global revalidate\n const requestRevalidate =\n typeof context['revalidate'] === 'number' ||\n context['revalidate'] === false\n ? context['revalidate']\n : undefined;\n const revalidate = requestRevalidate ?? opts.revalidate ?? false;\n\n const promise = opts\n .createContext()\n .then(async (ctx) => {\n const callProc = async (_cachebuster: string) => {\n // // _cachebuster is not used by us but to make sure\n // // that calls with different tags are properly separated\n // // @link https://github.com/trpc/trpc/issues/4622\n const procedureResult = await callProcedure({\n router: opts.router,\n path,\n getRawInput: async () => input,\n ctx: ctx,\n type,\n signal: undefined,\n batchIndex: 0,\n });\n\n // We need to serialize cause the cache only accepts JSON\n return transformer.input.serialize(procedureResult);\n };\n\n if (type === 'query') {\n return unstable_cache(callProc, path.split('.'), {\n revalidate,\n tags: [cacheTag],\n })(cacheTag);\n }\n\n return callProc(cacheTag);\n })\n .catch((cause) => {\n observer.error(TRPCClientError.from(cause));\n });\n\n promise\n .then((data) => {\n const transformedResult = transformer.output.deserialize(data);\n observer.next({ result: { data: transformedResult } });\n observer.complete();\n })\n .catch((cause) => {\n observer.error(TRPCClientError.from(cause));\n });\n });\n}\n"],"mappings":";;;;;;;;AA0BA,SAAgB,2BACdA,MACmB;CACnB,MAAM,cAAc,eAAe,KAAK,YAAY;AACpD,QAAO,MACL,CAAC,EAAE,IAAI,KACL,WAAW,CAAC,aAAa;;EACvB,MAAM,EAAE,MAAM,OAAO,MAAM,SAAS,GAAG;EAEvC,MAAM,WAAW,iBAAiB,MAAM,MAAM;EAE9C,MAAM,2BACG,QAAQ,kBAAkB,YACjC,QAAQ,kBAAkB,QACtB,QAAQ;EAEd,MAAM,qBAAa,iFAAqB,KAAK,iDAAc;EAE3D,MAAM,UAAU,KACb,eAAe,CACf,KAAK,OAAO,QAAQ;GACnB,MAAM,WAAW,OAAOC,iBAAyB;IAI/C,MAAM,kBAAkB,MAAM,cAAc;KAC1C,QAAQ,KAAK;KACb;KACA,aAAa,YAAY;KACpB;KACL;KACA;KACA,YAAY;IACb,EAAC;AAGF,WAAO,YAAY,MAAM,UAAU,gBAAgB;GACpD;AAED,OAAI,SAAS,QACX,QAAO,eAAe,UAAU,KAAK,MAAM,IAAI,EAAE;IAC/C;IACA,MAAM,CAAC,QAAS;GACjB,EAAC,CAAC,SAAS;AAGd,UAAO,SAAS,SAAS;EAC1B,EAAC,CACD,MAAM,CAAC,UAAU;AAChB,YAAS,MAAM,gBAAgB,KAAK,MAAM,CAAC;EAC5C,EAAC;AAEJ,UACG,KAAK,CAAC,SAAS;GACd,MAAM,oBAAoB,YAAY,OAAO,YAAY,KAAK;AAC9D,YAAS,KAAK,EAAE,QAAQ,EAAE,MAAM,kBAAmB,EAAE,EAAC;AACtD,YAAS,UAAU;EACpB,EAAC,CACD,MAAM,CAAC,UAAU;AAChB,YAAS,MAAM,gBAAgB,KAAK,MAAM,CAAC;EAC5C,EAAC;CACL,EAAC;AACP"}
@@ -51,7 +51,8 @@ function experimental_createServerActionHandler(t, opts) {
51
51
  path: "",
52
52
  getRawInput: async () => rawInput,
53
53
  type: proc._def.type,
54
- signal: void 0
54
+ signal: void 0,
55
+ batchIndex: 0
55
56
  });
56
57
  const transformedJSON = (0, __trpc_server_unstable_core_do_not_import.transformTRPCResponse)(config, { result: { data } });
57
58
  return transformedJSON;
@@ -50,7 +50,8 @@ function experimental_createServerActionHandler(t, opts) {
50
50
  path: "",
51
51
  getRawInput: async () => rawInput,
52
52
  type: proc._def.type,
53
- signal: void 0
53
+ signal: void 0,
54
+ batchIndex: 0
54
55
  });
55
56
  const transformedJSON = transformTRPCResponse(config, { result: { data } });
56
57
  return transformedJSON;
@@ -1 +1 @@
1
- {"version":3,"file":"server.mjs","names":["opts: CreateTRPCNextAppRouterOptions<TRouter>","t: TInstance","opts: CreateContextCallback<\n TInstance['_config']['$types']['ctx'],\n () => MaybePromise<TInstance['_config']['$types']['ctx']>\n > & {\n /**\n * Transform form data to a `Record` before passing it to the procedure\n * @default true\n */\n normalizeFormData?: boolean;\n /**\n * Called when an error occurs in the handler\n */\n onError?: (\n opts: ErrorHandlerOptions<TInstance['_config']['$types']['ctx']>,\n ) => void;\n\n /**\n * Rethrow errors that should be handled by Next.js\n * @default true\n */\n rethrowNextErrors?: boolean;\n }","proc: TProc","rawInput: FormData | inferProcedureInput<TProc>","ctx: TInstance['_config']['$types']['ctx'] | undefined","req: Request"],"sources":["../../src/app-dir/server.ts"],"sourcesContent":["/// <reference types=\"next\" />\nimport {\n clientCallTypeToProcedureType,\n createTRPCUntypedClient,\n} from '@trpc/client';\nimport type { CreateContextCallback } from '@trpc/server';\nimport { rethrowNextErrors } from '@trpc/server/adapters/next-app-dir';\nimport type {\n AnyProcedure,\n AnyRootTypes,\n AnyRouter,\n ErrorHandlerOptions,\n inferClientTypes,\n inferProcedureInput,\n MaybePromise,\n RootConfig,\n Simplify,\n TRPCResponse,\n} from '@trpc/server/unstable-core-do-not-import';\nimport {\n createRecursiveProxy,\n formDataToObject,\n getErrorShape,\n getTRPCErrorFromUnknown,\n transformTRPCResponse,\n TRPCError,\n} from '@trpc/server/unstable-core-do-not-import';\nimport { revalidateTag } from 'next/cache';\nimport { cache } from 'react';\nimport type {\n ActionHandlerDef,\n CreateTRPCNextAppRouterOptions,\n inferActionDef,\n} from './shared';\nimport { generateCacheTag, isFormData } from './shared';\nimport type { NextAppDirDecorateRouterRecord } from './types';\n\nexport type { ActionHandlerDef };\n\n// ts-prune-ignore-next\nexport function experimental_createTRPCNextAppDirServer<\n TRouter extends AnyRouter,\n>(opts: CreateTRPCNextAppRouterOptions<TRouter>) {\n const getClient = cache(() => {\n const config = opts.config();\n return createTRPCUntypedClient(config);\n });\n\n return createRecursiveProxy<\n NextAppDirDecorateRouterRecord<\n TRouter['_def']['_config']['$types'],\n TRouter['_def']['record']\n >\n >((callOpts) => {\n // lazily initialize client\n const client = getClient();\n\n const pathCopy = [...callOpts.path];\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n const action = pathCopy.pop()!;\n const procedurePath = pathCopy.join('.');\n const procedureType = clientCallTypeToProcedureType(action);\n const cacheTag = generateCacheTag(procedurePath, callOpts.args[0]);\n\n if (action === 'revalidate') {\n revalidateTag(cacheTag);\n return;\n }\n\n return (client[procedureType] as any)(procedurePath, ...callOpts.args);\n });\n}\n\n/**\n * @internal\n */\nexport type TRPCActionHandler<TDef extends ActionHandlerDef> = (\n input: FormData | TDef['input'],\n) => Promise<TRPCResponse<TDef['output'], TDef['errorShape']>>;\n\nexport function experimental_createServerActionHandler<\n TInstance extends {\n _config: RootConfig<AnyRootTypes>;\n },\n>(\n t: TInstance,\n opts: CreateContextCallback<\n TInstance['_config']['$types']['ctx'],\n () => MaybePromise<TInstance['_config']['$types']['ctx']>\n > & {\n /**\n * Transform form data to a `Record` before passing it to the procedure\n * @default true\n */\n normalizeFormData?: boolean;\n /**\n * Called when an error occurs in the handler\n */\n onError?: (\n opts: ErrorHandlerOptions<TInstance['_config']['$types']['ctx']>,\n ) => void;\n\n /**\n * Rethrow errors that should be handled by Next.js\n * @default true\n */\n rethrowNextErrors?: boolean;\n },\n) {\n const config = t._config;\n const {\n normalizeFormData = true,\n createContext,\n rethrowNextErrors: shouldRethrowNextErrors = true,\n } = opts;\n\n const transformer = config.transformer;\n\n // TODO allow this to take a `TRouter` in addition to a `AnyProcedure`\n return function createServerAction<TProc extends AnyProcedure>(\n proc: TProc,\n ): TRPCActionHandler<\n Simplify<inferActionDef<inferClientTypes<TInstance>, TProc>>\n > {\n return async function actionHandler(\n rawInput: FormData | inferProcedureInput<TProc>,\n ) {\n let ctx: TInstance['_config']['$types']['ctx'] | undefined = undefined;\n try {\n ctx = (await createContext?.()) ?? {};\n if (normalizeFormData && isFormData(rawInput)) {\n // Normalizes FormData so we can use `z.object({})` etc on the server\n try {\n rawInput = formDataToObject(rawInput);\n } catch {\n throw new TRPCError({\n code: 'INTERNAL_SERVER_ERROR',\n message: 'Failed to convert FormData to an object',\n });\n }\n } else if (rawInput && !isFormData(rawInput)) {\n rawInput = transformer.input.deserialize(rawInput);\n }\n\n const data = proc._def.experimental_caller\n ? await proc(rawInput as any)\n : await proc({\n input: undefined,\n ctx,\n path: '',\n getRawInput: async () => rawInput,\n type: proc._def.type,\n // is it possible to get the AbortSignal from the request?\n signal: undefined,\n });\n\n const transformedJSON = transformTRPCResponse(config, {\n result: {\n data,\n },\n });\n return transformedJSON;\n } catch (cause) {\n const error = getTRPCErrorFromUnknown(cause);\n\n opts.onError?.({\n ctx,\n error,\n input: rawInput,\n path: '',\n type: proc._def.type,\n });\n\n if (shouldRethrowNextErrors) {\n rethrowNextErrors(error);\n }\n\n const shape = getErrorShape({\n config,\n ctx,\n error,\n input: rawInput,\n path: '',\n type: proc._def.type,\n });\n\n return transformTRPCResponse(t._config, {\n error: shape,\n });\n }\n } as TRPCActionHandler<\n inferActionDef<TInstance['_config']['$types'], TProc>\n >;\n };\n}\n\n// ts-prune-ignore-next\nexport async function experimental_revalidateEndpoint(req: Request) {\n const { cacheTag } = await req.json();\n\n if (typeof cacheTag !== 'string') {\n return new Response(\n JSON.stringify({\n revalidated: false,\n error: 'cacheTag must be a string',\n }),\n { status: 400 },\n );\n }\n\n revalidateTag(cacheTag);\n return new Response(JSON.stringify({ revalidated: true, now: Date.now() }), {\n status: 200,\n });\n}\n"],"mappings":";;;;;;;;AAwCA,SAAgB,wCAEdA,MAA+C;CAC/C,MAAM,YAAY,MAAM,MAAM;EAC5B,MAAM,SAAS,KAAK,QAAQ;AAC5B,SAAO,wBAAwB,OAAO;CACvC,EAAC;AAEF,QAAO,qBAKL,CAAC,aAAa;EAEd,MAAM,SAAS,WAAW;EAE1B,MAAM,WAAW,CAAC,GAAG,SAAS,IAAK;EAEnC,MAAM,SAAS,SAAS,KAAK;EAC7B,MAAM,gBAAgB,SAAS,KAAK,IAAI;EACxC,MAAM,gBAAgB,8BAA8B,OAAO;EAC3D,MAAM,WAAW,iBAAiB,eAAe,SAAS,KAAK,GAAG;AAElE,MAAI,WAAW,cAAc;AAC3B,iBAAc,SAAS;AACvB;EACD;AAED,SAAO,AAAC,OAAO,eAAuB,eAAe,GAAG,SAAS,KAAK;CACvE,EAAC;AACH;AASD,SAAgB,uCAKdC,GACAC,MAsBA;CACA,MAAM,SAAS,EAAE;CACjB,MAAM,EACJ,oBAAoB,MACpB,eACA,mBAAmB,0BAA0B,MAC9C,GAAG;CAEJ,MAAM,cAAc,OAAO;AAG3B,QAAO,SAAS,mBACdC,MAGA;AACA,SAAO,eAAe,cACpBC,UACA;GACA,IAAIC;AACJ,OAAI;;AACF,kCAAO,qEAAM,eAAiB,wEAAK,CAAE;AACrC,QAAI,qBAAqB,WAAW,SAAS,CAE3C,KAAI;AACF,gBAAW,iBAAiB,SAAS;IACtC,kBAAO;AACN,WAAM,IAAI,UAAU;MAClB,MAAM;MACN,SAAS;KACV;IACF;aACQ,aAAa,WAAW,SAAS,CAC1C,YAAW,YAAY,MAAM,YAAY,SAAS;IAGpD,MAAM,OAAO,KAAK,KAAK,sBACnB,MAAM,KAAK,SAAgB,GAC3B,MAAM,KAAK;KACT;KACA;KACA,MAAM;KACN,aAAa,YAAY;KACzB,MAAM,KAAK,KAAK;KAEhB;IACD,EAAC;IAEN,MAAM,kBAAkB,sBAAsB,QAAQ,EACpD,QAAQ,EACN,KACD,EACF,EAAC;AACF,WAAO;GACR,SAAQ,OAAO;;IACd,MAAM,QAAQ,wBAAwB,MAAM;AAE5C,0BAAK,iDAAL,yBAAe;KACb;KACA;KACA,OAAO;KACP,MAAM;KACN,MAAM,KAAK,KAAK;IACjB,EAAC;AAEF,QAAI,wBACF,mBAAkB,MAAM;IAG1B,MAAM,QAAQ,cAAc;KAC1B;KACA;KACA;KACA,OAAO;KACP,MAAM;KACN,MAAM,KAAK,KAAK;IACjB,EAAC;AAEF,WAAO,sBAAsB,EAAE,SAAS,EACtC,OAAO,MACR,EAAC;GACH;EACF;CAGF;AACF;AAGD,eAAsB,gCAAgCC,KAAc;CAClE,MAAM,EAAE,UAAU,GAAG,MAAM,IAAI,MAAM;AAErC,YAAW,aAAa,SACtB,QAAO,IAAI,SACT,KAAK,UAAU;EACb,aAAa;EACb,OAAO;CACR,EAAC,EACF,EAAE,QAAQ,IAAK;AAInB,eAAc,SAAS;AACvB,QAAO,IAAI,SAAS,KAAK,UAAU;EAAE,aAAa;EAAM,KAAK,KAAK,KAAK;CAAE,EAAC,EAAE,EAC1E,QAAQ,IACT;AACF"}
1
+ {"version":3,"file":"server.mjs","names":["opts: CreateTRPCNextAppRouterOptions<TRouter>","t: TInstance","opts: CreateContextCallback<\n TInstance['_config']['$types']['ctx'],\n () => MaybePromise<TInstance['_config']['$types']['ctx']>\n > & {\n /**\n * Transform form data to a `Record` before passing it to the procedure\n * @default true\n */\n normalizeFormData?: boolean;\n /**\n * Called when an error occurs in the handler\n */\n onError?: (\n opts: ErrorHandlerOptions<TInstance['_config']['$types']['ctx']>,\n ) => void;\n\n /**\n * Rethrow errors that should be handled by Next.js\n * @default true\n */\n rethrowNextErrors?: boolean;\n }","proc: TProc","rawInput: FormData | inferProcedureInput<TProc>","ctx: TInstance['_config']['$types']['ctx'] | undefined","req: Request"],"sources":["../../src/app-dir/server.ts"],"sourcesContent":["/// <reference types=\"next\" />\nimport {\n clientCallTypeToProcedureType,\n createTRPCUntypedClient,\n} from '@trpc/client';\nimport type { CreateContextCallback } from '@trpc/server';\nimport { rethrowNextErrors } from '@trpc/server/adapters/next-app-dir';\nimport type {\n AnyProcedure,\n AnyRootTypes,\n AnyRouter,\n ErrorHandlerOptions,\n inferClientTypes,\n inferProcedureInput,\n MaybePromise,\n RootConfig,\n Simplify,\n TRPCResponse,\n} from '@trpc/server/unstable-core-do-not-import';\nimport {\n createRecursiveProxy,\n formDataToObject,\n getErrorShape,\n getTRPCErrorFromUnknown,\n transformTRPCResponse,\n TRPCError,\n} from '@trpc/server/unstable-core-do-not-import';\nimport { revalidateTag } from 'next/cache';\nimport { cache } from 'react';\nimport type {\n ActionHandlerDef,\n CreateTRPCNextAppRouterOptions,\n inferActionDef,\n} from './shared';\nimport { generateCacheTag, isFormData } from './shared';\nimport type { NextAppDirDecorateRouterRecord } from './types';\n\nexport type { ActionHandlerDef };\n\n// ts-prune-ignore-next\nexport function experimental_createTRPCNextAppDirServer<\n TRouter extends AnyRouter,\n>(opts: CreateTRPCNextAppRouterOptions<TRouter>) {\n const getClient = cache(() => {\n const config = opts.config();\n return createTRPCUntypedClient(config);\n });\n\n return createRecursiveProxy<\n NextAppDirDecorateRouterRecord<\n TRouter['_def']['_config']['$types'],\n TRouter['_def']['record']\n >\n >((callOpts) => {\n // lazily initialize client\n const client = getClient();\n\n const pathCopy = [...callOpts.path];\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n const action = pathCopy.pop()!;\n const procedurePath = pathCopy.join('.');\n const procedureType = clientCallTypeToProcedureType(action);\n const cacheTag = generateCacheTag(procedurePath, callOpts.args[0]);\n\n if (action === 'revalidate') {\n revalidateTag(cacheTag);\n return;\n }\n\n return (client[procedureType] as any)(procedurePath, ...callOpts.args);\n });\n}\n\n/**\n * @internal\n */\nexport type TRPCActionHandler<TDef extends ActionHandlerDef> = (\n input: FormData | TDef['input'],\n) => Promise<TRPCResponse<TDef['output'], TDef['errorShape']>>;\n\nexport function experimental_createServerActionHandler<\n TInstance extends {\n _config: RootConfig<AnyRootTypes>;\n },\n>(\n t: TInstance,\n opts: CreateContextCallback<\n TInstance['_config']['$types']['ctx'],\n () => MaybePromise<TInstance['_config']['$types']['ctx']>\n > & {\n /**\n * Transform form data to a `Record` before passing it to the procedure\n * @default true\n */\n normalizeFormData?: boolean;\n /**\n * Called when an error occurs in the handler\n */\n onError?: (\n opts: ErrorHandlerOptions<TInstance['_config']['$types']['ctx']>,\n ) => void;\n\n /**\n * Rethrow errors that should be handled by Next.js\n * @default true\n */\n rethrowNextErrors?: boolean;\n },\n) {\n const config = t._config;\n const {\n normalizeFormData = true,\n createContext,\n rethrowNextErrors: shouldRethrowNextErrors = true,\n } = opts;\n\n const transformer = config.transformer;\n\n // TODO allow this to take a `TRouter` in addition to a `AnyProcedure`\n return function createServerAction<TProc extends AnyProcedure>(\n proc: TProc,\n ): TRPCActionHandler<\n Simplify<inferActionDef<inferClientTypes<TInstance>, TProc>>\n > {\n return async function actionHandler(\n rawInput: FormData | inferProcedureInput<TProc>,\n ) {\n let ctx: TInstance['_config']['$types']['ctx'] | undefined = undefined;\n try {\n ctx = (await createContext?.()) ?? {};\n if (normalizeFormData && isFormData(rawInput)) {\n // Normalizes FormData so we can use `z.object({})` etc on the server\n try {\n rawInput = formDataToObject(rawInput);\n } catch {\n throw new TRPCError({\n code: 'INTERNAL_SERVER_ERROR',\n message: 'Failed to convert FormData to an object',\n });\n }\n } else if (rawInput && !isFormData(rawInput)) {\n rawInput = transformer.input.deserialize(rawInput);\n }\n\n const data = proc._def.experimental_caller\n ? await proc(rawInput as any)\n : await proc({\n input: undefined,\n ctx,\n path: '',\n getRawInput: async () => rawInput,\n type: proc._def.type,\n // is it possible to get the AbortSignal from the request?\n signal: undefined,\n batchIndex: 0,\n });\n\n const transformedJSON = transformTRPCResponse(config, {\n result: {\n data,\n },\n });\n return transformedJSON;\n } catch (cause) {\n const error = getTRPCErrorFromUnknown(cause);\n\n opts.onError?.({\n ctx,\n error,\n input: rawInput,\n path: '',\n type: proc._def.type,\n });\n\n if (shouldRethrowNextErrors) {\n rethrowNextErrors(error);\n }\n\n const shape = getErrorShape({\n config,\n ctx,\n error,\n input: rawInput,\n path: '',\n type: proc._def.type,\n });\n\n return transformTRPCResponse(t._config, {\n error: shape,\n });\n }\n } as TRPCActionHandler<\n inferActionDef<TInstance['_config']['$types'], TProc>\n >;\n };\n}\n\n// ts-prune-ignore-next\nexport async function experimental_revalidateEndpoint(req: Request) {\n const { cacheTag } = await req.json();\n\n if (typeof cacheTag !== 'string') {\n return new Response(\n JSON.stringify({\n revalidated: false,\n error: 'cacheTag must be a string',\n }),\n { status: 400 },\n );\n }\n\n revalidateTag(cacheTag);\n return new Response(JSON.stringify({ revalidated: true, now: Date.now() }), {\n status: 200,\n });\n}\n"],"mappings":";;;;;;;;AAwCA,SAAgB,wCAEdA,MAA+C;CAC/C,MAAM,YAAY,MAAM,MAAM;EAC5B,MAAM,SAAS,KAAK,QAAQ;AAC5B,SAAO,wBAAwB,OAAO;CACvC,EAAC;AAEF,QAAO,qBAKL,CAAC,aAAa;EAEd,MAAM,SAAS,WAAW;EAE1B,MAAM,WAAW,CAAC,GAAG,SAAS,IAAK;EAEnC,MAAM,SAAS,SAAS,KAAK;EAC7B,MAAM,gBAAgB,SAAS,KAAK,IAAI;EACxC,MAAM,gBAAgB,8BAA8B,OAAO;EAC3D,MAAM,WAAW,iBAAiB,eAAe,SAAS,KAAK,GAAG;AAElE,MAAI,WAAW,cAAc;AAC3B,iBAAc,SAAS;AACvB;EACD;AAED,SAAO,AAAC,OAAO,eAAuB,eAAe,GAAG,SAAS,KAAK;CACvE,EAAC;AACH;AASD,SAAgB,uCAKdC,GACAC,MAsBA;CACA,MAAM,SAAS,EAAE;CACjB,MAAM,EACJ,oBAAoB,MACpB,eACA,mBAAmB,0BAA0B,MAC9C,GAAG;CAEJ,MAAM,cAAc,OAAO;AAG3B,QAAO,SAAS,mBACdC,MAGA;AACA,SAAO,eAAe,cACpBC,UACA;GACA,IAAIC;AACJ,OAAI;;AACF,kCAAO,qEAAM,eAAiB,wEAAK,CAAE;AACrC,QAAI,qBAAqB,WAAW,SAAS,CAE3C,KAAI;AACF,gBAAW,iBAAiB,SAAS;IACtC,kBAAO;AACN,WAAM,IAAI,UAAU;MAClB,MAAM;MACN,SAAS;KACV;IACF;aACQ,aAAa,WAAW,SAAS,CAC1C,YAAW,YAAY,MAAM,YAAY,SAAS;IAGpD,MAAM,OAAO,KAAK,KAAK,sBACnB,MAAM,KAAK,SAAgB,GAC3B,MAAM,KAAK;KACT;KACA;KACA,MAAM;KACN,aAAa,YAAY;KACzB,MAAM,KAAK,KAAK;KAEhB;KACA,YAAY;IACb,EAAC;IAEN,MAAM,kBAAkB,sBAAsB,QAAQ,EACpD,QAAQ,EACN,KACD,EACF,EAAC;AACF,WAAO;GACR,SAAQ,OAAO;;IACd,MAAM,QAAQ,wBAAwB,MAAM;AAE5C,0BAAK,iDAAL,yBAAe;KACb;KACA;KACA,OAAO;KACP,MAAM;KACN,MAAM,KAAK,KAAK;IACjB,EAAC;AAEF,QAAI,wBACF,mBAAkB,MAAM;IAG1B,MAAM,QAAQ,cAAc;KAC1B;KACA;KACA;KACA,OAAO;KACP,MAAM;KACN,MAAM,KAAK,KAAK;IACjB,EAAC;AAEF,WAAO,sBAAsB,EAAE,SAAS,EACtC,OAAO,MACR,EAAC;GACH;EACF;CAGF;AACF;AAGD,eAAsB,gCAAgCC,KAAc;CAClE,MAAM,EAAE,UAAU,GAAG,MAAM,IAAI,MAAM;AAErC,YAAW,aAAa,SACtB,QAAO,IAAI,SACT,KAAK,UAAU;EACb,aAAa;EACb,OAAO;CACR,EAAC,EACF,EAAE,QAAQ,IAAK;AAInB,eAAc,SAAS;AACvB,QAAO,IAAI,SAAS,KAAK,UAAU;EAAE,aAAa;EAAM,KAAK,KAAK,KAAK;CAAE,EAAC,EAAE,EAC1E,QAAQ,IACT;AACF"}
@@ -1 +1 @@
1
- {"version":3,"file":"server.d-C5p0ZwB7.d.mts","names":[],"sources":["../src/app-dir/shared.ts","../src/app-dir/types.ts","../src/app-dir/server.ts"],"sourcesContent":[],"mappings":";;;;;;ACiBA;;;AAEe,UD2EE,8BC3EF,CAAA,gBD2EiD,SC3EjD,CAAA,CAAA;EAAW,MACtB,EAAA,GAAA,GD2EY,uBC3EZ,CD2EoC,OC3EpC,CAAA;;;;;;;;;AAeiB,UDmFJ,gBAAA,CCnFI;EAAQ,KAAA,CAAA,EAAA,GAAA;EAIjB,MAAA,CAAA,EAAA,GAAA;EAA8B,UAAA,EAAA,GAAA;;;;;AAIP,KDqFvB,cCrFuB,CAAA,cDsFnB,cCtFmB,EAAA,cDuFnB,YCvFmB,CAAA,GAAA;EAAI,KACjC,EDwFG,mBCxFH,CDwFuB,KCxFvB,CAAA;EAAM,MAAS,EDyFX,oBCzFW,CDyFU,KCzFV,CAAA;EAAY,UAEvB,EDwFI,KCxFJ,CAAA,YAAA,CAAA;CAAM;;;KApCX,WAAA;;;EDoFY,WAAA,EAAA,OAAA;EAA8B,UAAA,EAAA,GAAA;CAAA;AACP,KC9E5B,uBD8E4B,CAAA,cC7ExB,aD6EwB,EAAA,aC5EzB,WD4EyB,CAAA,GC3EpC,KD2EoC,SAAA,OAAA,GAAA;EAAO,KAA/B,ECzEH,QDyEG,CCzEM,IDyEN,CAAA;EAAuB,UAAA,EAAA,CAAA,KAAA,CAAA,ECvEvB,IDuEuB,CAAA,OAAA,CAAA,EAAA,GCtE5B,ODsE4B,CAAA;IAuBtB,WAAA,EAAA,KAAgB;IAUrB,KAAA,EAAA,MAAc;EAAA,CAAA,GAAA;IACV,WAAA,EAAA,IAAA;EAAc,CAAA,CAAA;CACF,GCrGxB,KDuGyB,SAAA,UAAA,GAAA;EAAK,MAAzB,ECrGO,QDqGP,CCrGgB,IDqGhB,CAAA;CAAmB,GCnGtB,KDoGyB,SAAA,cAAA,GAAA;EAAK,SAA1B,EClGW,QDkGX,CClGoB,IDkGpB,CAAA;CAAoB,GAAA,KAChB;AAAK,KC/FP,8BD+FO,CAAA,cC9FH,YD8FG,EAAA,gBC7FD,YD6FC,CAAA,GAAA,iBC3FF,UAAU,QAAQ,6BAC7B,eAAe,eACb,wBACE;SAES,oBAAoB;UACnB,gCAAgC,OAAO;EAvCtD,UAAW,EAwCQ,KAxCR,CAAA,YAAA,CAAA;EAOJ,WAAA,EAkCa,KAlCb,CAAA,aAAuB,CAAA;AAAA,CAAA,CAAA,GAqC3B,MArC2B,SAqCZ,YArCY,GAsCzB,8BAtCyB,CAsCM,KAtCN,EAsCa,MAtCb,CAAA,GAAA,KAAA,GAAA,KAAA,EAAA;;;AD6ElB,iBEtDD,uCFsD+B,CAAA,gBErD7B,SFqD6B,CAAA,CAAA,IAAA,EEpDvC,8BFoDuC,CEpDR,OFoDQ,CAAA,CAAA,EEpDA,8BFoDA,CEpDA,OFoDA,CAAA,MAAA,CAAA,CAAA,SAAA,CAAA,CAAA,QAAA,CAAA,EEpDA,OFoDA,CAAA,MAAA,CAAA,CAAA,QAAA,CAAA,CAAA;;;;AAC/B,KEnBJ,iBFmBI,CAAA,aEnB2B,gBFmB3B,CAAA,GAAA,CAAA,KAAA,EElBP,QFkBO,GElBI,IFkBJ,CAAA,OAAA,CAAA,EAAA,GEjBX,OFiBW,CEjBH,YFiBG,CEjBU,IFiBV,CAAA,QAAA,CAAA,EEjB0B,IFiB1B,CAAA,YAAA,CAAA,CAAA,CAAA;AAAuB,iBEfvB,sCFeuB,CAAA,kBAAA;EAuBtB,OAAA,EEpCJ,UFoCoB,CEpCT,YFoCS,CAAA;AAUjC,CAAA,CAAA,CAAA,CAAY,EE3CP,SF2CO,EAAA,IAAc,EE1ClB,qBF0CkB,CEzCtB,SFyCsB,CAAA,SAAA,CAAA,CAAA,QAAA,CAAA,CAAA,KAAA,CAAA,EAAA,GAAA,GExChB,YFwCgB,CExCH,SFwCG,CAAA,SAAA,CAAA,CAAA,QAAA,CAAA,CAAA,KAAA,CAAA,CAAA,CAAA,GAAA;EAAA;;;;EAIQ,iBAAzB,CAAA,EAAA,OAAA;EAAmB;;;EAET,OAAA,CAAA,EAAA,CAAA,IAAA,EEnCP,mBFmCO,CEnCa,SFmCb,CAAA,SAAA,CAAA,CAAA,QAAA,CAAA,CAAA,KAAA,CAAA,CAAA,EAAA,GAAA,IAAA;;;;AC9H+B;EAStC,iBAAA,CAAA,EAAA,OAAuB;CAAA,CAAA,EAAA,CAAA,cCsGgB,YDtGhB,CAAA,CAAA,IAAA,ECuGzB,KDvGyB,EAAA,GCwG9B,iBDxG8B,CCyG/B,QDzG+B,CCyGtB,cDzGsB,CCyGP,gBDzGO,CCyGU,SDzGV,CAAA,ECyGsB,KDzGtB,CAAA,CAAA,CAAA;AACnB,iBCmLM,+BAAA,CDnLN,GAAA,ECmL2C,ODnL3C,CAAA,ECmLkD,ODnLlD,CCmLkD,QDnLlD,CAAA"}
1
+ {"version":3,"file":"server.d-C5p0ZwB7.d.mts","names":[],"sources":["../src/app-dir/shared.ts","../src/app-dir/types.ts","../src/app-dir/server.ts"],"sourcesContent":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"server.d-DLnegS7F.d.cts","names":[],"sources":["../src/app-dir/shared.ts","../src/app-dir/types.ts","../src/app-dir/server.ts"],"sourcesContent":[],"mappings":"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"}
1
+ {"version":3,"file":"server.d-DLnegS7F.d.cts","names":[],"sources":["../src/app-dir/shared.ts","../src/app-dir/types.ts","../src/app-dir/server.ts"],"sourcesContent":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "type": "module",
3
3
  "name": "@trpc/next",
4
- "version": "11.9.1-canary.8+9d4b3b975",
4
+ "version": "11.10.0",
5
5
  "description": "The tRPC Next.js library",
6
6
  "author": "KATT",
7
7
  "license": "MIT",
@@ -104,9 +104,9 @@
104
104
  ],
105
105
  "peerDependencies": {
106
106
  "@tanstack/react-query": "^5.59.15",
107
- "@trpc/client": "11.9.1-canary.8+9d4b3b975",
108
- "@trpc/react-query": "11.9.1-canary.8+9d4b3b975",
109
- "@trpc/server": "11.9.1-canary.8+9d4b3b975",
107
+ "@trpc/client": "11.10.0",
108
+ "@trpc/react-query": "11.10.0",
109
+ "@trpc/server": "11.10.0",
110
110
  "next": "*",
111
111
  "react": ">=16.8.0",
112
112
  "react-dom": ">=16.8.0",
@@ -122,9 +122,9 @@
122
122
  },
123
123
  "devDependencies": {
124
124
  "@tanstack/react-query": "^5.80.3",
125
- "@trpc/client": "11.9.1-canary.8+9d4b3b975",
126
- "@trpc/react-query": "11.9.1-canary.8+9d4b3b975",
127
- "@trpc/server": "11.9.1-canary.8+9d4b3b975",
125
+ "@trpc/client": "11.10.0",
126
+ "@trpc/react-query": "11.10.0",
127
+ "@trpc/server": "11.10.0",
128
128
  "@types/express": "^5.0.0",
129
129
  "@types/node": "^22.13.5",
130
130
  "@types/react": "^19.1.0",
@@ -145,5 +145,5 @@
145
145
  "funding": [
146
146
  "https://trpc.io/sponsor"
147
147
  ],
148
- "gitHead": "9d4b3b975197890a71cac20a7a0836ef349c087b"
148
+ "gitHead": "54ee800f414841b4a34860ffb3e5a6bac5aef7da"
149
149
  }
@@ -56,6 +56,7 @@ export function experimental_nextCacheLink<TRouter extends AnyRouter>(
56
56
  ctx: ctx,
57
57
  type,
58
58
  signal: undefined,
59
+ batchIndex: 0,
59
60
  });
60
61
 
61
62
  // We need to serialize cause the cache only accepts JSON
@@ -152,6 +152,7 @@ export function experimental_createServerActionHandler<
152
152
  type: proc._def.type,
153
153
  // is it possible to get the AbortSignal from the request?
154
154
  signal: undefined,
155
+ batchIndex: 0,
155
156
  });
156
157
 
157
158
  const transformedJSON = transformTRPCResponse(config, {