[FR] Public API to Detect FieldValue.increment()
@ehsannas 已经在做这个了。
开始于 2025年8月12日。
评估
这个 Issue 还没有评估数据。
描述
The Firebase Admin Node SDK currently does not provide a public API to detect if a value is a FieldValue.increment() object. This forces developers to rely on internal implementation details like checking for constructor.name === 'NumericIncrementTransform', which is fragile and may break with SDK updates.
Current Workaround
// Current approach relies on internal implementation
function hasFieldValueIncrement(value: unknown): boolean {
return (
typeof value === 'object' &&
value.constructor &&
value.constructor.name === 'NumericIncrementTransform'
);
}
Problem
- Fragility: The
NumericIncrementTransformclass name is an internal implementation detail - No Stability Guarantee: This approach may break in future SDK versions
- Lack of Documentation: No official way to detect increment operations
Requested Enhancement
Please provide a public API method to detect FieldValue.increment() objects, similar to how other Firebase features provide type guards.
Suggested API
import { FieldValue } from 'firebase-admin/firestore';
// Option 1: Static method on FieldValue
FieldValue.isIncrement(value: unknown): value is FieldValue
// Option 2: Dedicated type guard function
import { isIncrement } from 'firebase-admin/firestore';
isIncrement(value: unknown): value is FieldValue
Use Case
This is needed for:
- Data validation pipelines that need to identify increment operations
- Custom diffing systems that handle FieldValue operations differently
- Development tools that analyze Firestore update patterns
- Testing utilities that need to verify increment operations
- 主要语言
- 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
-
bug(cli): hapi doctor inline-media prints a fabricated B:\ helper-script path in packaged installs 未关闭
难度 2/5 1-3 小时 新手友好度 70/100
-
Crush 未关闭
难度 1/5 1 小时以内 新手友好度 85/100
catppuccin/catppuccin#3125 ·
-
难度 1/5 1 小时以内 新手友好度 90/100
ElementsProject/cln-application#167 · 1 条评论 · 1 个 reaction ·
-
难度 2/5 1-3 小时 新手友好度 75/100
Quantco/pnpm-licenses#17 ·
-
难度 2/5 1-3 小时 新手友好度 75/100