Hacktoberfest 2026: the issues maintainers tagged for October, open and beginner-friendly. Browse Hacktoberfest issues

[FR] Public API to Detect FieldValue.increment()

Open
#2,957 2 comments 0 reactions 1 assignee View on GitHub

@ehsannas is already working on this.

Since Aug 12, 2025.

Assessment

This issue has not been assessed yet.

Description

api: firestore type: feature request

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

  1. Fragility: The NumericIncrementTransform class name is an internal implementation detail
  2. No Stability Guarantee: This approach may break in future SDK versions
  3. 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
Dominant language
TypeScript
Stars
1.7k
Forks
419
Avg merge
4d 20h
Merged PRs (30d)
16

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from firebase/firebase-admin-node

All issues in firebase/firebase-admin-node

Similar issues

More TypeScript issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.