From 36996ac79504241825d68735b03c057f269eab88 Mon Sep 17 00:00:00 2001 From: Alfredo Ochoa Date: Fri, 28 Nov 2025 10:55:27 -0600 Subject: [PATCH] feat: Add `database` option to `Typesaurus.Options` and pass it to `getFirestore` in Firebase adapters, to allow connections to named databases. --- CHANGELOG.md | 6 ++++++ package.json | 2 +- src/adapter/admin/firebase.mjs | 2 +- src/adapter/web/firebase.mjs | 2 +- src/types/core.ts | 2 ++ 5 files changed, 11 insertions(+), 3 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 1933db5..7190abe 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,6 +7,12 @@ This change log follows the format documented in [Keep a CHANGELOG]. [semantic versioning]: http://semver.org/ [keep a changelog]: http://keepachangelog.com/ +## v10.7.1 - 2025-11-28 + +### Added + +- Added `database` option to `Typesaurus.Options` to allow specifying the database ID. + ## v10.7.0 - 2024-04-23 ### Added diff --git a/package.json b/package.json index a36bd1d..6c0da05 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "typesaurus", - "version": "10.7.0", + "version": "10.7.1", "description": "Type-safe ODM for Firestore", "keywords": [ "Firebase", diff --git a/src/adapter/admin/firebase.mjs b/src/adapter/admin/firebase.mjs index bf72250..96b96c5 100644 --- a/src/adapter/admin/firebase.mjs +++ b/src/adapter/admin/firebase.mjs @@ -12,6 +12,6 @@ export function firestore(options) { preferRest: options?.server?.preferRest, }); } else { - return getFirestore(app); + return getFirestore(app, options?.database); } } diff --git a/src/adapter/web/firebase.mjs b/src/adapter/web/firebase.mjs index c0d7f4c..523c175 100644 --- a/src/adapter/web/firebase.mjs +++ b/src/adapter/web/firebase.mjs @@ -6,5 +6,5 @@ export const firestoreSymbol = Symbol(); export function firestore(options) { const appName = options?.client?.app || options?.app; const app = getApp(appName); - return getFirestore(app); + return getFirestore(app, options?.database); } diff --git a/src/types/core.ts b/src/types/core.ts index 1a2149e..213f448 100644 --- a/src/types/core.ts +++ b/src/types/core.ts @@ -1686,6 +1686,8 @@ export namespace TypesaurusCore { export interface Options { /** The app name. */ app?: string; + /** The database id */ + database?: string; /** The server options. */ server?: OptionsServer; /** The client options. */