TS mapped types not behaving as expected on promise inference
Desired DX
export const FileRouter = UploadThingServerHelper({ someKey: { middleware: async (req) => { const user = await auth(req); if (!user.userId) throw new Error("someProperty is required"); return { userIds: user.userId }; }, onUpload: async (request) => { console.log("uploaded with the following metadata:", request.metadata); // THIS SHOULD INFER THE TYPE FROM THE RETURN }, },});
export const FileRouter = UploadThingServerHelper({ someKey: { middleware: async (req) => { const user = await auth(req); if (!user.userId) throw new Error("someProperty is required"); return { userIds: user.userId }; }, onUpload: async (request) => { console.log("uploaded with the following metadata:", request.metadata); // THIS SHOULD INFER THE TYPE FROM THE RETURN }, },});