Skip to content

feat: Add support for new Firestore types #2337

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 11 commits into
base: main
Choose a base branch
from
Open

Conversation

ehsannas
Copy link
Contributor

@ehsannas ehsannas commented May 1, 2025

Adds support for MinKey, MaxKey, RegexValue, Int32Value, Decimal128Value, BsonObjectId, BsonTimestamp, and BsonBinaryData.

* feat: add MinKey and MaxKey.

* feat: add RegexValue type.

* feat: add ObjectIdValue type.

* feat: add 32-bit integer type.

* feat: Add BsonTimestampValue type.

* feat: Add BsonBinaryData type.

* WIP: Integration testing.

* WIP: Added integration tests for using types in filters.

* Expose new types for construction and add tests.

* Do not perform data manipulation on the client side.

* Address feedback (1).

* Only use `Uint8Array` in the API.

* Fix formatting.

* Regex and ObjectId comparisons should use compareUtf8Strings.

* Don't use static methods from field-value.ts

* Address code review feedback.

* Address code review feedback (tests, documentation, corner cases)

* improve doc.
* fix: MinKey should be sorted after null.

* add null to the minKey test case.

* Remove unnecessary test.

* fix node version for ci.
The tests titled `can use ... in filter` are removed as
they test duplicate logic as `can filter and order ...`.
* Fix: Rename BsonTimestampValue to the correct name (BsonTimestamp).

* Add range checks for BsonTimestamp.

* Address feedback.
* Remove FieldValue factory methods.

* Add comment for minkey and maxkey `instance()` methods.
@ehsannas ehsannas requested review from a team as code owners May 1, 2025 21:08
@product-auto-label product-auto-label bot added size: xl Pull request size is extra large. api: firestore Issues related to the googleapis/nodejs-firestore API. labels May 1, 2025
@ehsannas ehsannas self-assigned this May 1, 2025
* WIP: feat: Add decimal128 support.

* WIP: decimal128 tests added. Issue: +/-Infinity order.

* properly handle NaN, -Infinity, and Infinity.

* prettier.

* Use Quadruple implementation.

* Add tests and fix lint issues.

* Add @internal and @Private tags to Quadruple implementation.

* Fix .jsdoc.js to handle BigInt.

* Fix the equality_matcher behavior around +0 and -0.

* Address feedback.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
api: firestore Issues related to the googleapis/nodejs-firestore API. size: xl Pull request size is extra large.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant