Skip to content

Commit 6d11118

Browse files
committed
refactor: remove default connector
1 parent 2eeea30 commit 6d11118

File tree

25 files changed

+637
-1611
lines changed

25 files changed

+637
-1611
lines changed

CONTRIBUTING.md

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,21 @@ pnpm emulator
3030

3131
## Development Tools
3232

33+
### Firebase Multi-Version Support
34+
35+
This monorepo supports multiple Firebase versions simultaneously:
36+
- The React package supports both Firebase 11 and 12
37+
- The Angular package is locked to Firebase 11 (due to @angular/fire compatibility)
38+
39+
To handle type differences between Firebase versions, we use separate Data Connect connectors:
40+
- `connector-v11`: Used for Firebase 11 compatibility
41+
- `connector-v12`: Used for Firebase 12 compatibility
42+
43+
The connectors generate identical functionality but with version-specific types. This approach ensures:
44+
- Type safety at compile time
45+
- No runtime version detection needed
46+
- Clean separation of version-specific code
47+
3348
### Turborepo
3449

3550
This project uses Turborepo for managing the monorepo. Key commands:

dataconnect-sdk/js/default-connector-v12/esm/index.esm.js

Lines changed: 33 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -6,39 +6,6 @@ export const connectorConfig = {
66
location: 'us-central1'
77
};
88

9-
export const listMoviesRef = (dc) => {
10-
const { dc: dcInstance} = validateArgs(connectorConfig, dc, undefined);
11-
dcInstance._useGeneratedSdk();
12-
return queryRef(dcInstance, 'ListMovies');
13-
}
14-
listMoviesRef.operationName = 'ListMovies';
15-
16-
export function listMovies(dc) {
17-
return executeQuery(listMoviesRef(dc));
18-
}
19-
20-
export const getMovieByIdRef = (dcOrVars, vars) => {
21-
const { dc: dcInstance, vars: inputVars} = validateArgs(connectorConfig, dcOrVars, vars, true);
22-
dcInstance._useGeneratedSdk();
23-
return queryRef(dcInstance, 'GetMovieById', inputVars);
24-
}
25-
getMovieByIdRef.operationName = 'GetMovieById';
26-
27-
export function getMovieById(dcOrVars, vars) {
28-
return executeQuery(getMovieByIdRef(dcOrVars, vars));
29-
}
30-
31-
export const getMetaRef = (dc) => {
32-
const { dc: dcInstance} = validateArgs(connectorConfig, dc, undefined);
33-
dcInstance._useGeneratedSdk();
34-
return queryRef(dcInstance, 'GetMeta');
35-
}
36-
getMetaRef.operationName = 'GetMeta';
37-
38-
export function getMeta(dc) {
39-
return executeQuery(getMetaRef(dc));
40-
}
41-
429
export const createMovieRef = (dcOrVars, vars) => {
4310
const { dc: dcInstance, vars: inputVars} = validateArgs(connectorConfig, dcOrVars, vars, true);
4411
dcInstance._useGeneratedSdk();
@@ -94,3 +61,36 @@ export function deleteMeta(dcOrVars, vars) {
9461
return executeMutation(deleteMetaRef(dcOrVars, vars));
9562
}
9663

64+
export const listMoviesRef = (dc) => {
65+
const { dc: dcInstance} = validateArgs(connectorConfig, dc, undefined);
66+
dcInstance._useGeneratedSdk();
67+
return queryRef(dcInstance, 'ListMovies');
68+
}
69+
listMoviesRef.operationName = 'ListMovies';
70+
71+
export function listMovies(dc) {
72+
return executeQuery(listMoviesRef(dc));
73+
}
74+
75+
export const getMovieByIdRef = (dcOrVars, vars) => {
76+
const { dc: dcInstance, vars: inputVars} = validateArgs(connectorConfig, dcOrVars, vars, true);
77+
dcInstance._useGeneratedSdk();
78+
return queryRef(dcInstance, 'GetMovieById', inputVars);
79+
}
80+
getMovieByIdRef.operationName = 'GetMovieById';
81+
82+
export function getMovieById(dcOrVars, vars) {
83+
return executeQuery(getMovieByIdRef(dcOrVars, vars));
84+
}
85+
86+
export const getMetaRef = (dc) => {
87+
const { dc: dcInstance} = validateArgs(connectorConfig, dc, undefined);
88+
dcInstance._useGeneratedSdk();
89+
return queryRef(dcInstance, 'GetMeta');
90+
}
91+
getMetaRef.operationName = 'GetMeta';
92+
93+
export function getMeta(dc) {
94+
return executeQuery(getMetaRef(dc));
95+
}
96+

dataconnect-sdk/js/default-connector-v12/index.cjs.js

Lines changed: 36 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -7,42 +7,6 @@ const connectorConfig = {
77
};
88
exports.connectorConfig = connectorConfig;
99

10-
const listMoviesRef = (dc) => {
11-
const { dc: dcInstance} = validateArgs(connectorConfig, dc, undefined);
12-
dcInstance._useGeneratedSdk();
13-
return queryRef(dcInstance, 'ListMovies');
14-
}
15-
listMoviesRef.operationName = 'ListMovies';
16-
exports.listMoviesRef = listMoviesRef;
17-
18-
exports.listMovies = function listMovies(dc) {
19-
return executeQuery(listMoviesRef(dc));
20-
};
21-
22-
const getMovieByIdRef = (dcOrVars, vars) => {
23-
const { dc: dcInstance, vars: inputVars} = validateArgs(connectorConfig, dcOrVars, vars, true);
24-
dcInstance._useGeneratedSdk();
25-
return queryRef(dcInstance, 'GetMovieById', inputVars);
26-
}
27-
getMovieByIdRef.operationName = 'GetMovieById';
28-
exports.getMovieByIdRef = getMovieByIdRef;
29-
30-
exports.getMovieById = function getMovieById(dcOrVars, vars) {
31-
return executeQuery(getMovieByIdRef(dcOrVars, vars));
32-
};
33-
34-
const getMetaRef = (dc) => {
35-
const { dc: dcInstance} = validateArgs(connectorConfig, dc, undefined);
36-
dcInstance._useGeneratedSdk();
37-
return queryRef(dcInstance, 'GetMeta');
38-
}
39-
getMetaRef.operationName = 'GetMeta';
40-
exports.getMetaRef = getMetaRef;
41-
42-
exports.getMeta = function getMeta(dc) {
43-
return executeQuery(getMetaRef(dc));
44-
};
45-
4610
const createMovieRef = (dcOrVars, vars) => {
4711
const { dc: dcInstance, vars: inputVars} = validateArgs(connectorConfig, dcOrVars, vars, true);
4812
dcInstance._useGeneratedSdk();
@@ -102,3 +66,39 @@ exports.deleteMetaRef = deleteMetaRef;
10266
exports.deleteMeta = function deleteMeta(dcOrVars, vars) {
10367
return executeMutation(deleteMetaRef(dcOrVars, vars));
10468
};
69+
70+
const listMoviesRef = (dc) => {
71+
const { dc: dcInstance} = validateArgs(connectorConfig, dc, undefined);
72+
dcInstance._useGeneratedSdk();
73+
return queryRef(dcInstance, 'ListMovies');
74+
}
75+
listMoviesRef.operationName = 'ListMovies';
76+
exports.listMoviesRef = listMoviesRef;
77+
78+
exports.listMovies = function listMovies(dc) {
79+
return executeQuery(listMoviesRef(dc));
80+
};
81+
82+
const getMovieByIdRef = (dcOrVars, vars) => {
83+
const { dc: dcInstance, vars: inputVars} = validateArgs(connectorConfig, dcOrVars, vars, true);
84+
dcInstance._useGeneratedSdk();
85+
return queryRef(dcInstance, 'GetMovieById', inputVars);
86+
}
87+
getMovieByIdRef.operationName = 'GetMovieById';
88+
exports.getMovieByIdRef = getMovieByIdRef;
89+
90+
exports.getMovieById = function getMovieById(dcOrVars, vars) {
91+
return executeQuery(getMovieByIdRef(dcOrVars, vars));
92+
};
93+
94+
const getMetaRef = (dc) => {
95+
const { dc: dcInstance} = validateArgs(connectorConfig, dc, undefined);
96+
dcInstance._useGeneratedSdk();
97+
return queryRef(dcInstance, 'GetMeta');
98+
}
99+
getMetaRef.operationName = 'GetMeta';
100+
exports.getMetaRef = getMetaRef;
101+
102+
exports.getMeta = function getMeta(dc) {
103+
return executeQuery(getMetaRef(dc));
104+
};

dataconnect-sdk/js/default-connector-v12/index.d.ts

Lines changed: 36 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -93,42 +93,6 @@ export interface UpsertMovieVariables {
9393
imageUrl: string;
9494
}
9595

96-
interface ListMoviesRef {
97-
/* Allow users to create refs without passing in DataConnect */
98-
(): QueryRef<ListMoviesData, undefined>;
99-
/* Allow users to pass in custom DataConnect instances */
100-
(dc: DataConnect): QueryRef<ListMoviesData, undefined>;
101-
operationName: string;
102-
}
103-
export const listMoviesRef: ListMoviesRef;
104-
105-
export function listMovies(): QueryPromise<ListMoviesData, undefined>;
106-
export function listMovies(dc: DataConnect): QueryPromise<ListMoviesData, undefined>;
107-
108-
interface GetMovieByIdRef {
109-
/* Allow users to create refs without passing in DataConnect */
110-
(vars: GetMovieByIdVariables): QueryRef<GetMovieByIdData, GetMovieByIdVariables>;
111-
/* Allow users to pass in custom DataConnect instances */
112-
(dc: DataConnect, vars: GetMovieByIdVariables): QueryRef<GetMovieByIdData, GetMovieByIdVariables>;
113-
operationName: string;
114-
}
115-
export const getMovieByIdRef: GetMovieByIdRef;
116-
117-
export function getMovieById(vars: GetMovieByIdVariables): QueryPromise<GetMovieByIdData, GetMovieByIdVariables>;
118-
export function getMovieById(dc: DataConnect, vars: GetMovieByIdVariables): QueryPromise<GetMovieByIdData, GetMovieByIdVariables>;
119-
120-
interface GetMetaRef {
121-
/* Allow users to create refs without passing in DataConnect */
122-
(): QueryRef<GetMetaData, undefined>;
123-
/* Allow users to pass in custom DataConnect instances */
124-
(dc: DataConnect): QueryRef<GetMetaData, undefined>;
125-
operationName: string;
126-
}
127-
export const getMetaRef: GetMetaRef;
128-
129-
export function getMeta(): QueryPromise<GetMetaData, undefined>;
130-
export function getMeta(dc: DataConnect): QueryPromise<GetMetaData, undefined>;
131-
13296
interface CreateMovieRef {
13397
/* Allow users to create refs without passing in DataConnect */
13498
(vars: CreateMovieVariables): MutationRef<CreateMovieData, CreateMovieVariables>;
@@ -189,3 +153,39 @@ export const deleteMetaRef: DeleteMetaRef;
189153
export function deleteMeta(vars: DeleteMetaVariables): MutationPromise<DeleteMetaData, DeleteMetaVariables>;
190154
export function deleteMeta(dc: DataConnect, vars: DeleteMetaVariables): MutationPromise<DeleteMetaData, DeleteMetaVariables>;
191155

156+
interface ListMoviesRef {
157+
/* Allow users to create refs without passing in DataConnect */
158+
(): QueryRef<ListMoviesData, undefined>;
159+
/* Allow users to pass in custom DataConnect instances */
160+
(dc: DataConnect): QueryRef<ListMoviesData, undefined>;
161+
operationName: string;
162+
}
163+
export const listMoviesRef: ListMoviesRef;
164+
165+
export function listMovies(): QueryPromise<ListMoviesData, undefined>;
166+
export function listMovies(dc: DataConnect): QueryPromise<ListMoviesData, undefined>;
167+
168+
interface GetMovieByIdRef {
169+
/* Allow users to create refs without passing in DataConnect */
170+
(vars: GetMovieByIdVariables): QueryRef<GetMovieByIdData, GetMovieByIdVariables>;
171+
/* Allow users to pass in custom DataConnect instances */
172+
(dc: DataConnect, vars: GetMovieByIdVariables): QueryRef<GetMovieByIdData, GetMovieByIdVariables>;
173+
operationName: string;
174+
}
175+
export const getMovieByIdRef: GetMovieByIdRef;
176+
177+
export function getMovieById(vars: GetMovieByIdVariables): QueryPromise<GetMovieByIdData, GetMovieByIdVariables>;
178+
export function getMovieById(dc: DataConnect, vars: GetMovieByIdVariables): QueryPromise<GetMovieByIdData, GetMovieByIdVariables>;
179+
180+
interface GetMetaRef {
181+
/* Allow users to create refs without passing in DataConnect */
182+
(): QueryRef<GetMetaData, undefined>;
183+
/* Allow users to pass in custom DataConnect instances */
184+
(dc: DataConnect): QueryRef<GetMetaData, undefined>;
185+
operationName: string;
186+
}
187+
export const getMetaRef: GetMetaRef;
188+
189+
export function getMeta(): QueryPromise<GetMetaData, undefined>;
190+
export function getMeta(dc: DataConnect): QueryPromise<GetMetaData, undefined>;
191+

0 commit comments

Comments
 (0)