From 5605d525cfb83cb74b3d8d91296590d972368d38 Mon Sep 17 00:00:00 2001 From: Rich Hodgkins Date: Tue, 18 Feb 2025 16:24:56 +0000 Subject: [PATCH 1/3] Added non-null parent properties to ThenableReference --- packages/database-types/index.d.ts | 5 ++++- packages/database/src/api/Reference.ts | 5 ++++- packages/database/src/api/Reference_impl.ts | 5 ++++- packages/firebase/compat/index.d.ts | 5 ++++- 4 files changed, 16 insertions(+), 4 deletions(-) diff --git a/packages/database-types/index.d.ts b/packages/database-types/index.d.ts index f304a4ed5b3..43557ebe1ac 100644 --- a/packages/database-types/index.d.ts +++ b/packages/database-types/index.d.ts @@ -164,7 +164,10 @@ export interface TransactionResult { export interface ThenableReference extends Reference, - Pick, 'then' | 'catch'> {} + Pick, 'then' | 'catch'> { + key: string; + parent: Reference; +} export function enableLogging( logger?: boolean | ((a: string) => any), diff --git a/packages/database/src/api/Reference.ts b/packages/database/src/api/Reference.ts index c2e97aa229e..6c3da5ac489 100644 --- a/packages/database/src/api/Reference.ts +++ b/packages/database/src/api/Reference.ts @@ -119,7 +119,10 @@ export interface DatabaseReference extends Query { */ export interface ThenableReference extends DatabaseReference, - Pick, 'then' | 'catch'> {} + Pick, 'then' | 'catch'> { + key: string; + parent: DatabaseReference; +} /** A callback that can invoked to remove a listener. */ export type Unsubscribe = () => void; diff --git a/packages/database/src/api/Reference_impl.ts b/packages/database/src/api/Reference_impl.ts index 2b606bb83ca..e3ccf3584bc 100644 --- a/packages/database/src/api/Reference_impl.ts +++ b/packages/database/src/api/Reference_impl.ts @@ -568,7 +568,10 @@ export function onDisconnect(ref: DatabaseReference): OnDisconnect { export interface ThenableReferenceImpl extends ReferenceImpl, - Pick, 'then' | 'catch'> {} + Pick, 'then' | 'catch'> { + key: string; + parent: ReferenceImpl; +} /** * Generates a new child location using a unique key and returns its diff --git a/packages/firebase/compat/index.d.ts b/packages/firebase/compat/index.d.ts index 92c7bd2c278..fc2bb09567d 100644 --- a/packages/firebase/compat/index.d.ts +++ b/packages/firebase/compat/index.d.ts @@ -7370,7 +7370,10 @@ declare namespace firebase.database { interface ThenableReference extends firebase.database.Reference, - Pick, 'then' | 'catch'> {} + Pick, 'then' | 'catch'> { + key: string; + parent: Reference; + } /** * Logs debugging information to the console. From 8aeac684bad02d43dae644b1be9d76590ba937b7 Mon Sep 17 00:00:00 2001 From: Rich Hodgkins Date: Tue, 18 Feb 2025 16:28:00 +0000 Subject: [PATCH 2/3] Added change sets --- .changeset/silver-jeans-sell.md | 7 +++++++ 1 file changed, 7 insertions(+) create mode 100644 .changeset/silver-jeans-sell.md diff --git a/.changeset/silver-jeans-sell.md b/.changeset/silver-jeans-sell.md new file mode 100644 index 00000000000..bf479c302ec --- /dev/null +++ b/.changeset/silver-jeans-sell.md @@ -0,0 +1,7 @@ +--- +'@firebase/database-compat': patch +'@firebase/database-types': patch +'@firebase/database': patch +--- + +Added non-null parent properties to ThenableReference From 82c34b2b1b79944e50f7ff52c14e9124ec4a57cd Mon Sep 17 00:00:00 2001 From: Rich Hodgkins Date: Wed, 19 Feb 2025 19:00:51 +0000 Subject: [PATCH 3/3] Generated docs --- common/api-review/database.api.md | 4 ++++ docs-devsite/database.thenablereference.md | 22 ++++++++++++++++++++++ 2 files changed, 26 insertions(+) diff --git a/common/api-review/database.api.md b/common/api-review/database.api.md index 4a98aea3d4e..0b7b36869d6 100644 --- a/common/api-review/database.api.md +++ b/common/api-review/database.api.md @@ -228,6 +228,10 @@ export function startAt(value?: number | string | boolean | null, key?: string): // @public export interface ThenableReference extends DatabaseReference, Pick, 'then' | 'catch'> { + // (undocumented) + key: string; + // (undocumented) + parent: DatabaseReference; } // @public diff --git a/docs-devsite/database.thenablereference.md b/docs-devsite/database.thenablereference.md index 69ad3c6ed55..f66394d36f8 100644 --- a/docs-devsite/database.thenablereference.md +++ b/docs-devsite/database.thenablereference.md @@ -19,3 +19,25 @@ export declare interface ThenableReference extends DatabaseReference, PickExtends: [DatabaseReference](./database.databasereference.md#databasereference_interface), Pick<Promise<[DatabaseReference](./database.databasereference.md#databasereference_interface)>, 'then' \| 'catch'> +## Properties + +| Property | Type | Description | +| --- | --- | --- | +| [key](./database.thenablereference.md#thenablereferencekey) | string | | +| [parent](./database.thenablereference.md#thenablereferenceparent) | [DatabaseReference](./database.databasereference.md#databasereference_interface) | | + +## ThenableReference.key + +Signature: + +```typescript +key: string; +``` + +## ThenableReference.parent + +Signature: + +```typescript +parent: DatabaseReference; +```