Typescript errors TS2345 on update method
还没有人认领这个 Issue。
评估
- 难度
- 3/5
- 预计耗时
- 1-2 天
- 新手友好度
- 35/100
- Issue 类型
- 缺陷
- 描述清晰度
- 基本清楚
- 活跃度
- 停滞
- 技术栈
- node.js, typescript
- 领域
- database
调研方向
首先,使用类型化接口示例重现报告的 TS2345 错误,并检查 DocumentSnapshot 和 DocumentReference 的 update 入口。将接受的更新类型与 MyInterface 示例进行比较。当类型化接口数据无需转换为 any 即可传递给 update,并且相关类型行为已得到验证时,即表示完成。
由索引模型根据 Issue 内容生成。
描述
[READ] Step 1: Are you in the right place?
Yes
[REQUIRED] Step 2: Describe your environment
- Operating System version: Ubuntu 22.04
- Firebase SDK version: 11.11.0
- Firebase Product: firebase-admin
- Node.js version: 18
- NPM version: 9.7.2
[REQUIRED] Step 3: Describe the problem
DocumentSnapshot or DocumentReference update method can't be used with typed interfaces. I get the following typescript error
TS2345: Argument of type MyInterface is not assignable to parameter of type
{ [x: string]: any; } & AddPrefixToKeys<string, any>
Relevant Code:
Calls like this will get errors:
const data = snapshot.data() as MyInterface;
db.collection(`anypath`).doc(id).update(data)
Quick workaround would be to cast it as any
db.collection(`anypath`).doc(id).update(data as any)
But it would require to refactor every update call which can be painful for large projects.
- 主要语言
- TypeScript
- 星标
- 1.7k
- 派生
- 419
- 平均合并
- 4 天 20 小时
- 30 天内合并 PR
- 16
贡献指南
从这里开始
- 先读完整个 Issue,再读项目的贡献指南。
- 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
- Fork 仓库,在一个分支上完成修改。
- 提交 Pull Request,并在描述里引用这个 Issue 编号。
firebase/firebase-admin-node 的其他 Issue
-
难度 3/5 1-2 天 新手友好度 35/100
firebase/firebase-admin-node#3234 ·
-
firebase/firebase-admin-node#3221 · 3 条评论 · 已指派 1 人 ·
-
api: messaging
难度 3/5 1-2 天 新手友好度 70/100
firebase/firebase-admin-node#3215 ·
-
api: messaging
难度 5/5 一周以上 新手友好度 28/100
firebase/firebase-admin-node#3214 ·
-
api: firestore type: feature request
firebase/firebase-admin-node#3183 · 1 条评论 · 已指派 1 人 ·
查看 firebase/firebase-admin-node 的全部 Issue
相似的 Issue
-
VerificationGate: ATTRIBUTION quote guard never matches a normal quotation (\b around the quote) 未关闭
难度 2/5 1-3 小时 新手友好度 75/100
danielmiessler/LifeOS#2234 ·
-
T: Bug
难度 2/5 1-3 小时 新手友好度 75/100
-
难度 2/5 1-3 小时 新手友好度 65/100
-
难度 1/5 1 小时以内 新手友好度 85/100
-
Mend: dependency security vulnerability untriaged
难度 2/5 1-3 小时 新手友好度 70/100