Skip to content

Commit fb27687

Browse files
committed
add transport methods to update framework usage flags after transport initialization
1 parent cdf7b39 commit fb27687

File tree

4 files changed

+41
-13
lines changed

4 files changed

+41
-13
lines changed

packages/data-connect/src/api/DataConnect.ts

+14-5
Original file line numberDiff line numberDiff line change
@@ -94,7 +94,7 @@ export class DataConnect {
9494
_isUsingGeneratedSdk: boolean = false;
9595
_isUsingTanStackSdk: boolean = false;
9696
_isUsingReactSdk: boolean = false;
97-
_isUsingAngularFireSdk: boolean = false;
97+
_isUsingAngularSdk: boolean = false;
9898
private _appCheckTokenProvider?: AppCheckTokenProvider;
9999
// @internal
100100
constructor(
@@ -124,17 +124,26 @@ export class DataConnect {
124124
if (!this._isUsingTanStackSdk) {
125125
this._isUsingTanStackSdk = true;
126126
}
127+
if (this._transport) {
128+
this._transport._useTanStack();
129+
}
127130
}
128131
// @internal
129132
_useReactSdk(): void {
130133
if (!this._isUsingReactSdk) {
131134
this._isUsingReactSdk = true;
132135
}
136+
if (this._transport) {
137+
this._transport._useReact();
138+
}
133139
}
134140
// @internal
135-
_useAngularFireSdk(): void {
136-
if (!this._isUsingAngularFireSdk) {
137-
this._isUsingAngularFireSdk = true;
141+
_useAngularSdk(): void {
142+
if (!this._isUsingAngularSdk) {
143+
this._isUsingAngularSdk = true;
144+
}
145+
if (this._transport) {
146+
this._transport._useAngular();
138147
}
139148
}
140149
_delete(): Promise<void> {
@@ -188,7 +197,7 @@ export class DataConnect {
188197
this._isUsingGeneratedSdk,
189198
this._isUsingTanStackSdk,
190199
this._isUsingReactSdk,
191-
this._isUsingAngularFireSdk
200+
this._isUsingAngularSdk
192201
);
193202
if (this._transportOptions) {
194203
this._transport.useEmulator(

packages/data-connect/src/network/fetch.ts

+4-4
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ function getGoogApiClientValue(_isUsingGen: boolean): string {
3333
function getWebFrameworkValue(
3434
_isUsingTanStack: boolean,
3535
_isUsingReact: boolean,
36-
_isUsingAngularFire: boolean
36+
_isUsingAngular: boolean
3737
): string {
3838
let str = '';
3939
if (_isUsingTanStack) {
@@ -42,7 +42,7 @@ function getWebFrameworkValue(
4242
if (_isUsingReact) {
4343
str += ' react/';
4444
}
45-
if (_isUsingAngularFire) {
45+
if (_isUsingAngular) {
4646
str += ' angularfire/';
4747
}
4848
// no framework SDK used
@@ -66,7 +66,7 @@ export function dcFetch<T, U>(
6666
_isUsingGen: boolean,
6767
_isUsingTanStack: boolean,
6868
_isUsingReact: boolean,
69-
_isUsingAngularFire: boolean
69+
_isUsingAngular: boolean
7070
): Promise<{ data: T; errors: Error[] }> {
7171
if (!connectFetch) {
7272
throw new DataConnectError(Code.OTHER, 'No Fetch Implementation detected!');
@@ -77,7 +77,7 @@ export function dcFetch<T, U>(
7777
'X-Firebase-DataConnect-Web-Frameworks': getWebFrameworkValue(
7878
_isUsingTanStack,
7979
_isUsingReact,
80-
_isUsingAngularFire
80+
_isUsingAngular
8181
)
8282
};
8383
if (accessToken) {

packages/data-connect/src/network/transport/index.ts

+4-1
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,9 @@ export interface DataConnectTransport {
3333
): Promise<{ data: T; errors: Error[] }>;
3434
useEmulator(host: string, port?: number, sslEnabled?: boolean): void;
3535
onTokenChanged: (token: string | null) => void;
36+
_useTanStack(): void;
37+
_useReact(): void;
38+
_useAngular(): void;
3639
}
3740

3841
/**
@@ -48,5 +51,5 @@ export type TransportClass = new (
4851
_isUsingGen?: boolean,
4952
_isUsingTanStack?: boolean,
5053
_isUsingReact?: boolean,
51-
_isUsingAngularFire?: boolean
54+
_isUsingAngular?: boolean
5255
) => DataConnectTransport;

packages/data-connect/src/network/transport/rest.ts

+19-3
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,7 @@ export class RESTTransport implements DataConnectTransport {
4545
transportOptions?: TransportOptions | undefined,
4646
private _isUsingGen = false,
4747
private _isUsingReact = false,
48-
private _isUsingAngularFire = false,
48+
private _isUsingAngular = false,
4949
private _isUsingTanStack = false
5050
) {
5151
if (transportOptions) {
@@ -186,7 +186,7 @@ export class RESTTransport implements DataConnectTransport {
186186
this._isUsingGen,
187187
this._isUsingTanStack,
188188
this._isUsingReact,
189-
this._isUsingAngularFire
189+
this._isUsingAngular
190190
)
191191
);
192192
return withAuth;
@@ -214,9 +214,25 @@ export class RESTTransport implements DataConnectTransport {
214214
this._isUsingGen,
215215
this._isUsingTanStack,
216216
this._isUsingReact,
217-
this._isUsingAngularFire
217+
this._isUsingAngular
218218
);
219219
});
220220
return taskResult;
221221
};
222+
223+
_useTanStack(): void {
224+
if (!this._isUsingTanStack) {
225+
this._isUsingTanStack = true;
226+
}
227+
}
228+
_useReact(): void {
229+
if (!this._isUsingReact) {
230+
this._isUsingReact = true;
231+
}
232+
}
233+
_useAngular(): void {
234+
if (!this._isUsingAngular) {
235+
this._isUsingAngular = true;
236+
}
237+
}
222238
}

0 commit comments

Comments
 (0)