Skip to content

Commit 6a86a1b

Browse files
Tree-Shake Repo (#4489)
1 parent 70af481 commit 6a86a1b

File tree

8 files changed

+1201
-1157
lines changed

8 files changed

+1201
-1157
lines changed

packages/database/src/api/Database.ts

+4-4
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ import { fatal } from '../core/util/util';
1919
import { parseRepoInfo } from '../core/util/libs/parser';
2020
import { newEmptyPath } from '../core/util/Path';
2121
import { Reference } from './Reference';
22-
import { Repo } from '../core/Repo';
22+
import { Repo, repoInterrupt, repoResume, repoStart } from '../core/Repo';
2323
import { RepoManager } from '../core/RepoManager';
2424
import { validateArgCount } from '@firebase/util';
2525
import { validateUrl } from '../core/util/validation';
@@ -71,7 +71,7 @@ export class Database implements FirebaseService {
7171

7272
private get repo_(): Repo {
7373
if (!this.instanceStarted_) {
74-
this.repoInternal_.start();
74+
repoStart(this.repoInternal_);
7575
this.instanceStarted_ = true;
7676
}
7777
return this.repoInternal_;
@@ -180,12 +180,12 @@ export class Database implements FirebaseService {
180180
goOffline(): void {
181181
validateArgCount('database.goOffline', 0, 0, arguments.length);
182182
this.checkDeleted_('goOffline');
183-
this.repo_.interrupt();
183+
repoInterrupt(this.repo_);
184184
}
185185

186186
goOnline(): void {
187187
validateArgCount('database.goOnline', 0, 0, arguments.length);
188188
this.checkDeleted_('goOnline');
189-
this.repo_.resume();
189+
repoResume(this.repo_);
190190
}
191191
}

packages/database/src/api/Query.ts

+15-10
Original file line numberDiff line numberDiff line change
@@ -48,17 +48,22 @@ import {
4848
ValueEventRegistration
4949
} from '../core/view/EventRegistration';
5050

51-
import { Repo } from '../core/Repo';
51+
import {
52+
Repo,
53+
repoAddEventCallbackForQuery,
54+
repoGetValue,
55+
repoRemoveEventCallbackForQuery
56+
} from '../core/Repo';
5257
import {
5358
QueryParams,
54-
queryParamsLimitToFirst,
55-
queryParamsLimitToLast,
56-
queryParamsStartAfter,
57-
queryParamsStartAt,
5859
queryParamsEndAt,
5960
queryParamsEndBefore,
6061
queryParamsGetQueryObject,
61-
queryParamsOrderBy
62+
queryParamsLimitToFirst,
63+
queryParamsLimitToLast,
64+
queryParamsOrderBy,
65+
queryParamsStartAfter,
66+
queryParamsStartAt
6267
} from '../core/view/QueryParams';
6368
import { Reference } from './Reference';
6469
import { DataSnapshot } from './DataSnapshot';
@@ -231,7 +236,7 @@ export class Query {
231236
cancelCallback || null,
232237
context || null
233238
);
234-
this.repo.addEventCallbackForQuery(this, container);
239+
repoAddEventCallbackForQuery(this.repo, this, container);
235240
}
236241

237242
onChildEvent(
@@ -244,7 +249,7 @@ export class Query {
244249
cancelCallback,
245250
context
246251
);
247-
this.repo.addEventCallbackForQuery(this, container);
252+
repoAddEventCallbackForQuery(this.repo, this, container);
248253
}
249254

250255
off(
@@ -273,14 +278,14 @@ export class Query {
273278
}
274279
container = new ChildEventRegistration(callbacks, null, context || null);
275280
}
276-
this.repo.removeEventCallbackForQuery(this, container);
281+
repoRemoveEventCallbackForQuery(this.repo, this, container);
277282
}
278283

279284
/**
280285
* Get the server-value for this query, or return a cached value if not connected.
281286
*/
282287
get(): Promise<DataSnapshot> {
283-
return this.repo.getValue(this);
288+
return repoGetValue(this.repo, this);
284289
}
285290

286291
/**

packages/database/src/api/Reference.ts

+20-8
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,14 @@ import { TransactionResult } from './TransactionResult';
2020
import { warn } from '../core/util/util';
2121
import { nextPushId } from '../core/util/NextPushId';
2222
import { Query } from './Query';
23-
import { Repo } from '../core/Repo';
23+
import {
24+
Repo,
25+
repoGetDatabase,
26+
repoServerTime,
27+
repoSetWithPriority,
28+
repoStartTransaction,
29+
repoUpdate
30+
} from '../core/Repo';
2431
import {
2532
Path,
2633
pathChild,
@@ -118,7 +125,7 @@ export class Reference extends Query {
118125

119126
/** @return {!Database} */
120127
databaseProp(): Database {
121-
return this.repo.database;
128+
return repoGetDatabase(this.repo);
122129
}
123130

124131
set(
@@ -131,7 +138,8 @@ export class Reference extends Query {
131138
validateCallback('Reference.set', 2, onComplete, true);
132139

133140
const deferred = new Deferred();
134-
this.repo.setWithPriority(
141+
repoSetWithPriority(
142+
this.repo,
135143
this.path,
136144
newVal,
137145
/*priority=*/ null,
@@ -169,7 +177,8 @@ export class Reference extends Query {
169177
);
170178
validateCallback('Reference.update', 2, onComplete, true);
171179
const deferred = new Deferred();
172-
this.repo.update(
180+
repoUpdate(
181+
this.repo,
173182
this.path,
174183
objectToMerge as { [k: string]: unknown },
175184
deferred.wrapCallback(onComplete)
@@ -203,7 +212,8 @@ export class Reference extends Query {
203212
}
204213

205214
const deferred = new Deferred();
206-
this.repo.setWithPriority(
215+
repoSetWithPriority(
216+
this.repo,
207217
this.path,
208218
newVal,
209219
newPriority,
@@ -264,7 +274,8 @@ export class Reference extends Query {
264274
onComplete(error, committed, snapshot);
265275
}
266276
};
267-
this.repo.startTransaction(
277+
repoStartTransaction(
278+
this.repo,
268279
this.path,
269280
transactionUpdate,
270281
promiseComplete,
@@ -284,7 +295,8 @@ export class Reference extends Query {
284295
validateCallback('Reference.setPriority', 2, onComplete, true);
285296

286297
const deferred = new Deferred();
287-
this.repo.setWithPriority(
298+
repoSetWithPriority(
299+
this.repo,
288300
pathChild(this.path, '.priority'),
289301
priority,
290302
null,
@@ -299,7 +311,7 @@ export class Reference extends Query {
299311
validateFirebaseDataArg('Reference.push', 1, value, this.path, true);
300312
validateCallback('Reference.push', 2, onComplete, true);
301313

302-
const now = this.repo.serverTime();
314+
const now = repoServerTime(this.repo);
303315
const name = nextPushId(now);
304316

305317
// push() returns a ThennableReference whose promise is fulfilled with a regular Reference.

packages/database/src/api/internal.ts

+8-3
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,11 @@ import {
3232
Component,
3333
ComponentType
3434
} from '@firebase/component';
35+
import {
36+
repoInterceptServerData,
37+
repoStats,
38+
repoStatsIncrementCounter
39+
} from '../core/Repo';
3540

3641
/**
3742
* INTERNAL methods for internal-use only (tests, etc.).
@@ -62,11 +67,11 @@ export const setSecurityDebugCallback = function (
6267
};
6368

6469
export const stats = function (ref: Reference, showDelta?: boolean) {
65-
ref.repo.stats(showDelta);
70+
repoStats(ref.repo, showDelta);
6671
};
6772

6873
export const statsIncrementCounter = function (ref: Reference, metric: string) {
69-
ref.repo.statsIncrementCounter(metric);
74+
repoStatsIncrementCounter(ref.repo, metric);
7075
};
7176

7277
export const dataUpdateCount = function (ref: Reference): number {
@@ -77,7 +82,7 @@ export const interceptServerData = function (
7782
ref: Reference,
7883
callback: ((a: string, b: unknown) => void) | null
7984
) {
80-
return ref.repo.interceptServerData_(callback);
85+
return repoInterceptServerData(ref.repo, callback);
8186
};
8287

8388
/**

packages/database/src/api/onDisconnect.ts

+18-7
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@
1515
* limitations under the License.
1616
*/
1717

18-
import { validateArgCount, validateCallback, Deferred } from '@firebase/util';
18+
import { Deferred, validateArgCount, validateCallback } from '@firebase/util';
1919
import {
2020
validateWritablePath,
2121
validateFirebaseDataArg,
@@ -24,7 +24,13 @@ import {
2424
} from '../core/util/validation';
2525
import { warn } from '../core/util/util';
2626

27-
import { Repo } from '../core/Repo';
27+
import {
28+
Repo,
29+
repoOnDisconnectCancel,
30+
repoOnDisconnectSet,
31+
repoOnDisconnectSetWithPriority,
32+
repoOnDisconnectUpdate
33+
} from '../core/Repo';
2834
import { Path } from '../core/util/Path';
2935
import { Indexable } from '../core/util/misc';
3036

@@ -35,7 +41,8 @@ export class OnDisconnect {
3541
validateArgCount('OnDisconnect.cancel', 0, 1, arguments.length);
3642
validateCallback('OnDisconnect.cancel', 1, onComplete, true);
3743
const deferred = new Deferred<void>();
38-
this.repo_.onDisconnectCancel(
44+
repoOnDisconnectCancel(
45+
this.repo_,
3946
this.path_,
4047
deferred.wrapCallback(onComplete)
4148
);
@@ -47,7 +54,8 @@ export class OnDisconnect {
4754
validateWritablePath('OnDisconnect.remove', this.path_);
4855
validateCallback('OnDisconnect.remove', 1, onComplete, true);
4956
const deferred = new Deferred<void>();
50-
this.repo_.onDisconnectSet(
57+
repoOnDisconnectSet(
58+
this.repo_,
5159
this.path_,
5260
null,
5361
deferred.wrapCallback(onComplete)
@@ -61,7 +69,8 @@ export class OnDisconnect {
6169
validateFirebaseDataArg('OnDisconnect.set', 1, value, this.path_, false);
6270
validateCallback('OnDisconnect.set', 2, onComplete, true);
6371
const deferred = new Deferred<void>();
64-
this.repo_.onDisconnectSet(
72+
repoOnDisconnectSet(
73+
this.repo_,
6574
this.path_,
6675
value,
6776
deferred.wrapCallback(onComplete)
@@ -87,7 +96,8 @@ export class OnDisconnect {
8796
validateCallback('OnDisconnect.setWithPriority', 3, onComplete, true);
8897

8998
const deferred = new Deferred<void>();
90-
this.repo_.onDisconnectSetWithPriority(
99+
repoOnDisconnectSetWithPriority(
100+
this.repo_,
91101
this.path_,
92102
value,
93103
priority,
@@ -122,7 +132,8 @@ export class OnDisconnect {
122132
);
123133
validateCallback('OnDisconnect.update', 2, onComplete, true);
124134
const deferred = new Deferred<void>();
125-
this.repo_.onDisconnectUpdate(
135+
repoOnDisconnectUpdate(
136+
this.repo_,
126137
this.path_,
127138
objectToMerge,
128139
deferred.wrapCallback(onComplete)

0 commit comments

Comments
 (0)