如何在typescript中编写通用prisma方法?
prisma通用方法 参考: 已经添加了一个函数如何在typescript中编写通用prisma方法?,typescript,generics,prisma,Typescript,Generics,Prisma,prisma通用方法 参考: 已经添加了一个函数 export const getClient = <T, K extends keyof T>(obj: T, key: K): T[K] => obj[key]; export const getClient=(obj:T,key:K):T[K]=>obj[key]; 主要代码: export const client=new PrismaClient(); export const getClient=(obj:T,k
export const getClient = <T, K extends keyof T>(obj: T, key: K): T[K] => obj[key];
export const getClient=(obj:T,key:K):T[K]=>obj[key];
主要代码:
export const client=new PrismaClient();
export const getClient=(obj:T,key:K):T[K]=>obj[key];
导出枚举DB_表{
用户='User',
Organization=‘Organization’,
UserOrganization='UserOrganization',
服务器='服务器',
ServerInstance='ServerInstance',
部署='部署',
网络='Network'
}
导出函数deleteById(id:string,db:'user'):Promise{
返回getClient(客户端,数据库)
.删除许多({
其中:{
身份证件
}
})
。然后((result)=>result.count==1);
}
导出函数deleteById2(id:string,db:'server'):Promise{
返回getClient(客户端,数据库)
.删除许多({
其中:{
身份证件
}
})
。然后((result)=>result.count==1);
}
导出函数deleteById3(id:string,db:'user'|'server'):Promise{
返回getClient(客户端,数据库)
.删除许多({
其中:{
身份证件
}
})
。然后((result)=>result.count==1);
}
导出函数deleteById4(id:string,db:'user'|'server'):Promise{
返回getClient(客户端,数据库为“用户”)
.删除许多({
其中:{
身份证件
}
})
。然后((result)=>result.count==1);
}
1,2,4可以。(4看起来很奇怪)
3.出现以下错误:
error TS2349: This expression is not callable.
Each member of the union type '(<T extends UserDeleteManyArgs>(args?: SelectSubset<T, UserDeleteManyArgs>) => PrismaPromise<BatchPayload>) | (<T extends ServerDeleteManyArgs>(args?: SelectSubset<...>) => PrismaPromise<...>)' has signatures, but none of those signatures are compatible with each other.
error TS7006: Parameter 'result' implicitly has an 'any' type.
错误TS2349:此表达式不可调用。
联合类型“((args?:SelectSubset)=>PrismaPromise)|((args?:SelectSubset)=>PrismaPromise)”的每个成员都有签名,但这些签名彼此都不兼容。
错误TS7006:参数“result”隐式具有“any”类型。
如何修复它
来源请在任何游乐场分享可复制的示例