@dereekb/dbx-firebase 10.0.3 → 10.0.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2022/lib/firebase/appcheck.mjs +1 -1
- package/esm2022/lib/firebase/firebase.module.mjs +40 -21
- package/esm2022/lib/firebase/options.mjs +1 -1
- package/fesm2022/dereekb-dbx-firebase.mjs +39 -20
- package/fesm2022/dereekb-dbx-firebase.mjs.map +1 -1
- package/lib/firebase/appcheck.d.ts +1 -1
- package/lib/firebase/options.d.ts +5 -0
- package/package.json +1 -2
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwY2hlY2suanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9kYngtZmlyZWJhc2Uvc3JjL2xpYi9maXJlYmFzZS9hcHBjaGVjay50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQXBwQ2hlY2tPcHRpb25zIH0gZnJvbSAnZmlyZWJhc2UvYXBwLWNoZWNrJztcblxuZXhwb3J0IGludGVyZmFjZSBEYnhGaXJlYmFzZUFwcENoZWNrQ29uZmlnIGV4dGVuZHMgUGFydGlhbDxPbWl0PEFwcENoZWNrT3B0aW9ucywgJ3Byb3ZpZGVyJz4+IHtcbiAgcmVDYXB0Y2hhVjM6IHN0cmluZztcbiAgLyoqXG4gICAqIFdoZXRoZXIgb3Igbm90IHRvIGVuYWJsZSBBcHBDaGVjayBkZWJ1ZyB0b2tlbnMuIEFwcENoZWNrIHRva2VucyBhcmUgb25seSBwcmludGVkIGludG8gdGhlIGNvbnNvbGUsIGFuZCBtb3JlIGFjdGlvbnMgbXVzdCBiZSB0YWtlbi5cbiAgICogU2VlIGh0dHBzOi8vZmlyZWJhc2UuZ29vZ2xlLmNvbS9kb2NzL2FwcC1jaGVjay93ZWIvZGVidWctcHJvdmlkZXIgZm9yIG1vcmUgaW5mby5cbiAgICpcbiAgICogRGVidWcgdG9rZW5zIGFyZSBvbmx5IGdlbmVyYXRlZCB3aGVuIGVtdWxhdG9ycyBhcmUgZGlzYWJsZWQsIGFuZCBhbGxvd0RlYnVnVG9rZW5zIGlzIHRydWUuXG4gICAqL1xuICBhbGxvd0RlYnVnVG9rZW5zPzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIElmIHRydWUsIGRpc2FibGVzIEFwcENoZWNrIGluaXRpYWxpemF0aW9uIGZvciB0aGlzIGFwcC5cbiAgICovXG4gIGRpc2FibGVkPzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIExpc3Qgb2Ygcm91dGVzIHRoYXQgYXBwIGNoZWNrIGlzIGF1dGhvcml6ZWQgdG8gaGl0LlxuICAgKlxuICAgKiBJZiBub3QgZGVmaW5lZCwgL2FwaS8qIGFsbG93ZWQgYnkgZGVmYXVsdC5cbiAgICovXG4gIGFwcENoZWNrUm91dGVzPzogc3RyaW5nW107XG59XG4iXX0=
|
|
@@ -4,7 +4,7 @@ import { initializeAppCheck, ReCaptchaV3Provider } from 'firebase/app-check';
|
|
|
4
4
|
import { FirebaseApp, provideFirebaseApp } from '@angular/fire/app';
|
|
5
5
|
import { provideStorage, getStorage, connectStorageEmulator } from '@angular/fire/storage';
|
|
6
6
|
import { provideFunctions, getFunctions, connectFunctionsEmulator } from '@angular/fire/functions';
|
|
7
|
-
import { provideFirestore,
|
|
7
|
+
import { provideFirestore, connectFirestoreEmulator, initializeFirestore, persistentLocalCache, persistentMultipleTabManager, persistentSingleTabManager } from '@angular/fire/firestore';
|
|
8
8
|
import { provideAuth, getAuth, connectAuthEmulator } from '@angular/fire/auth';
|
|
9
9
|
import { provideAppCheck } from '@angular/fire/app-check';
|
|
10
10
|
import { DbxFirebaseParsedEmulatorsConfig } from './emulators';
|
|
@@ -19,50 +19,69 @@ import * as i3 from "@angular/fire/auth";
|
|
|
19
19
|
import * as i4 from "@angular/fire/storage";
|
|
20
20
|
import * as i5 from "@angular/fire/functions";
|
|
21
21
|
import * as i6 from "@angular/fire/app";
|
|
22
|
-
// TODO: remove "as any" typescript casting - https://github.com/angular/angularfire/issues/3086
|
|
23
22
|
/**
|
|
24
23
|
* Default firebase firestore provider module.
|
|
25
24
|
*/
|
|
26
25
|
export class DbxFirebaseDefaultFirestoreProviderModule {
|
|
27
26
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DbxFirebaseDefaultFirestoreProviderModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
28
27
|
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: DbxFirebaseDefaultFirestoreProviderModule, imports: [i1.FirestoreModule] }); }
|
|
29
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DbxFirebaseDefaultFirestoreProviderModule, imports: [provideFirestore((
|
|
28
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DbxFirebaseDefaultFirestoreProviderModule, imports: [provideFirestore((injector) => {
|
|
30
29
|
const firebaseApp = injector.get(FirebaseApp);
|
|
31
30
|
const firebaseOptions = injector.get(DBX_FIREBASE_OPTIONS_TOKEN);
|
|
32
|
-
const
|
|
31
|
+
const firestoreSettings = {};
|
|
32
|
+
const { enableMultiTabIndexedDbPersistence, enableIndexedDbPersistence } = firebaseOptions;
|
|
33
|
+
const { persistentCacheSettings } = firebaseOptions;
|
|
34
|
+
if (enableIndexedDbPersistence !== false) {
|
|
35
|
+
let tabManager;
|
|
36
|
+
if (enableMultiTabIndexedDbPersistence !== false) {
|
|
37
|
+
tabManager = persistentMultipleTabManager();
|
|
38
|
+
}
|
|
39
|
+
else {
|
|
40
|
+
tabManager = persistentSingleTabManager(undefined);
|
|
41
|
+
}
|
|
42
|
+
firestoreSettings.localCache = persistentLocalCache({
|
|
43
|
+
tabManager,
|
|
44
|
+
...persistentCacheSettings
|
|
45
|
+
});
|
|
46
|
+
}
|
|
47
|
+
const firestore = initializeFirestore(firebaseApp, firestoreSettings);
|
|
33
48
|
const emulators = injector.get(DbxFirebaseParsedEmulatorsConfig, undefined);
|
|
34
49
|
if (emulators?.useEmulators && emulators?.firestore) {
|
|
35
50
|
connectFirestoreEmulator(firestore, emulators.firestore.host, emulators.firestore.port, {});
|
|
36
51
|
}
|
|
37
|
-
if (firebaseOptions.enableMultiTabIndexedDbPersistence !== false) {
|
|
38
|
-
enableMultiTabIndexedDbPersistence(firestore);
|
|
39
|
-
}
|
|
40
|
-
else if (firebaseOptions.enableIndexedDbPersistence !== false) {
|
|
41
|
-
enableIndexedDbPersistence(firestore);
|
|
42
|
-
}
|
|
43
52
|
return firestore;
|
|
44
|
-
})
|
|
53
|
+
})] }); }
|
|
45
54
|
}
|
|
46
55
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DbxFirebaseDefaultFirestoreProviderModule, decorators: [{
|
|
47
56
|
type: NgModule,
|
|
48
57
|
args: [{
|
|
49
58
|
imports: [
|
|
50
|
-
provideFirestore((
|
|
59
|
+
provideFirestore((injector) => {
|
|
51
60
|
const firebaseApp = injector.get(FirebaseApp);
|
|
52
61
|
const firebaseOptions = injector.get(DBX_FIREBASE_OPTIONS_TOKEN);
|
|
53
|
-
const
|
|
62
|
+
const firestoreSettings = {};
|
|
63
|
+
const { enableMultiTabIndexedDbPersistence, enableIndexedDbPersistence } = firebaseOptions;
|
|
64
|
+
const { persistentCacheSettings } = firebaseOptions;
|
|
65
|
+
if (enableIndexedDbPersistence !== false) {
|
|
66
|
+
let tabManager;
|
|
67
|
+
if (enableMultiTabIndexedDbPersistence !== false) {
|
|
68
|
+
tabManager = persistentMultipleTabManager();
|
|
69
|
+
}
|
|
70
|
+
else {
|
|
71
|
+
tabManager = persistentSingleTabManager(undefined);
|
|
72
|
+
}
|
|
73
|
+
firestoreSettings.localCache = persistentLocalCache({
|
|
74
|
+
tabManager,
|
|
75
|
+
...persistentCacheSettings
|
|
76
|
+
});
|
|
77
|
+
}
|
|
78
|
+
const firestore = initializeFirestore(firebaseApp, firestoreSettings);
|
|
54
79
|
const emulators = injector.get(DbxFirebaseParsedEmulatorsConfig, undefined);
|
|
55
80
|
if (emulators?.useEmulators && emulators?.firestore) {
|
|
56
81
|
connectFirestoreEmulator(firestore, emulators.firestore.host, emulators.firestore.port, {});
|
|
57
82
|
}
|
|
58
|
-
if (firebaseOptions.enableMultiTabIndexedDbPersistence !== false) {
|
|
59
|
-
enableMultiTabIndexedDbPersistence(firestore);
|
|
60
|
-
}
|
|
61
|
-
else if (firebaseOptions.enableIndexedDbPersistence !== false) {
|
|
62
|
-
enableIndexedDbPersistence(firestore);
|
|
63
|
-
}
|
|
64
83
|
return firestore;
|
|
65
|
-
})
|
|
84
|
+
})
|
|
66
85
|
]
|
|
67
86
|
}]
|
|
68
87
|
}] });
|
|
@@ -290,4 +309,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
290
309
|
]
|
|
291
310
|
}]
|
|
292
311
|
}] });
|
|
293
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlyZWJhc2UubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZGJ4LWZpcmViYXNlL3NyYy9saWIvZmlyZWJhc2UvZmlyZWJhc2UubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBdUIsUUFBUSxFQUFZLE1BQU0sZUFBZSxDQUFDO0FBQ3hFLE9BQU8sRUFBbUIsYUFBYSxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQzlELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQzdFLE9BQU8sRUFBRSxXQUFXLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNwRSxPQUFPLEVBQUUsY0FBYyxFQUFFLFVBQVUsRUFBRSxzQkFBc0IsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQzNGLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxZQUFZLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUNuRyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsWUFBWSxFQUFFLHdCQUF3QixFQUFFLDBCQUEwQixFQUFFLGtDQUFrQyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDbkssT0FBTyxFQUFFLFdBQVcsRUFBRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUMvRSxPQUFPLEVBQVksZUFBZSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDcEUsT0FBTyxFQUFFLGdDQUFnQyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQy9ELE9BQU8sRUFBc0IsMEJBQTBCLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDM0UsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDekQsT0FBTyxFQUFFLGtDQUFrQyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDdEUsT0FBTyxFQUFFLGtDQUFrQyxFQUFF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QUNQLGtCQUFrQixDQUFDLENBQUMsUUFBa0IsRUFBRSxFQUFFOzRCQUN4QyxNQUFNLGVBQWUsR0FBRyxRQUFRLENBQUMsR0FBRyxDQUFxQiwwQkFBMEIsQ0FBQyxDQUFDOzRCQUNyRixPQUFPLGFBQWEsQ0FBQyxlQUFlLENBQUMsQ0FBQzt3QkFDeEMsQ0FBQyxDQUFDO3dCQUNGLHdDQUF3Qzt3QkFDeEMseUNBQXlDO3dCQUN6QyxvQ0FBb0M7d0JBQ3BDLHVDQUF1Qzt3QkFDdkMseUNBQXlDO3FCQUMxQztpQkFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE1vZHVsZVdpdGhQcm92aWRlcnMsIE5nTW9kdWxlLCBJbmplY3RvciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRmlyZWJhc2VPcHRpb25zLCBpbml0aWFsaXplQXBwIH0gZnJvbSAnZmlyZWJhc2UvYXBwJztcbmltcG9ydCB7IGluaXRpYWxpemVBcHBDaGVjaywgUmVDYXB0Y2hhVjNQcm92aWRlciB9IGZyb20gJ2ZpcmViYXNlL2FwcC1jaGVjayc7XG5pbXBvcnQgeyBGaXJlYmFzZUFwcCwgcHJvdmlkZUZpcmViYXNlQXBwIH0gZnJvbSAnQGFuZ3VsYXIvZmlyZS9hcHAnO1xuaW1wb3J0IHsgcHJvdmlkZVN0b3JhZ2UsIGdldFN0b3JhZ2UsIGNvbm5lY3RTdG9yYWdlRW11bGF0b3IgfSBmcm9tICdAYW5ndWxhci9maXJlL3N0b3JhZ2UnO1xuaW1wb3J0IHsgcHJvdmlkZUZ1bmN0aW9ucywgZ2V0RnVuY3Rpb25zLCBjb25uZWN0RnVuY3Rpb25zRW11bGF0b3IgfSBmcm9tICdAYW5ndWxhci9maXJlL2Z1bmN0aW9ucyc7XG5pbXBvcnQgeyBwcm92aWRlRmlyZXN0b3JlLCBnZXRGaXJlc3RvcmUsIGNvbm5lY3RGaXJlc3RvcmVFbXVsYXRvciwgZW5hYmxlSW5kZXhlZERiUGVyc2lzdGVuY2UsIGVuYWJsZU11bHRpVGFiSW5kZXhlZERiUGVyc2lzdGVuY2UgfSBmcm9tICdAYW5ndWxhci9maXJlL2ZpcmVzdG9yZSc7XG5pbXBvcnQgeyBwcm92aWRlQXV0aCwgZ2V0QXV0aCwgY29ubmVjdEF1dGhFbXVsYXRvciB9IGZyb20gJ0Bhbmd1bGFyL2ZpcmUvYXV0aCc7XG5pbXBvcnQgeyBBcHBDaGVjaywgcHJvdmlkZUFwcENoZWNrIH0gZnJvbSAnQGFuZ3VsYXIvZmlyZS9hcHAtY2hlY2snO1xuaW1wb3J0IHsgRGJ4RmlyZWJhc2VQYXJzZWRFbXVsYXRvcnNDb25maWcgfSBmcm9tICcuL2VtdWxhdG9ycyc7XG5pbXBvcnQgeyBEYnhGaXJlYmFzZU9wdGlvbnMsIERCWF9GSVJFQkFTRV9PUFRJT05TX1RPS0VOIH0gZnJvbSAnLi9vcHRpb25zJztcbmltcG9ydCB7IEhUVFBfSU5URVJDRVBUT1JTIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgZW5hYmxlQXBwQ2hlY2tEZWJ1Z1Rva2VuR2VuZXJhdGlvbiB9IGZyb20gJy4uL2F1dGgvYXBwY2hlY2snO1xuaW1wb3J0IHsgRGJ4RmlyZWJhc2VBcHBDaGVja0h0dHBJbnRlcmNlcHRvciB9IGZyb20gJy4uL2F1dGgvYXBwY2hlY2svYXBwY2hlY2suaW50ZXJjZXB0b3InO1xuXG4vLyBUT0RPOiByZW1vdmUgXCJhcyBhbnlcIiB0eXBlc2NyaXB0IGNhc3RpbmcgLSBodHRwczovL2dpdGh1Yi5jb20vYW5ndWxhci9hbmd1bGFyZmlyZS9pc3N1ZXMvMzA4NlxuXG4vKipcbiAqIERlZmF1bHQgZmlyZWJhc2UgZmlyZXN0b3JlIHByb3ZpZGVyIG1vZHVsZS5cbiAqL1xuQE5nTW9kdWxlKHtcbiAgaW1wb3J0czogW1xuICAgIHByb3ZpZGVGaXJlc3RvcmUoKChpbmplY3RvcjogSW5qZWN0b3IpID0+IHtcbiAgICAgIGNvbnN0IGZpcmViYXNlQXBwID0gaW5qZWN0b3IuZ2V0KEZpcmViYXNlQXBwKTtcbiAgICAgIGNvbnN0IGZpcmViYXNlT3B0aW9ucyA9IGluamVjdG9yLmdldDxEYnhGaXJlYmFzZU9wdGlvbnM+KERCWF9GSVJFQkFTRV9PUFRJT05TX1RPS0VOKTtcbiAgICAgIGNvbnN0IGZpcmVzdG9yZSA9IGdldEZpcmVzdG9yZShmaXJlYmFzZUFwcCk7XG4gICAgICBjb25zdCBlbXVsYXRvcnMgPSBpbmplY3Rvci5nZXQ8RGJ4RmlyZWJhc2VQYXJzZWRFbXVsYXRvcnNDb25maWc+KERieEZpcmViYXNlUGFyc2VkRW11bGF0b3JzQ29uZmlnLCB1bmRlZmluZWQpO1xuXG4gICAgICBpZiAoZW11bGF0b3JzPy51c2VFbXVsYXRvcnMgJiYgZW11bGF0b3JzPy5maXJlc3RvcmUpIHtcbiAgICAgICAgY29ubmVjdEZpcmVzdG9yZUVtdWxhdG9yKGZpcmVzdG9yZSwgZW11bGF0b3JzLmZpcmVzdG9yZS5ob3N0LCBlbXVsYXRvcnMuZmlyZXN0b3JlLnBvcnQsIHt9KTtcbiAgICAgIH1cblxuICAgICAgaWYgKGZpcmViYXNlT3B0aW9ucy5lbmFibGVNdWx0aVRhYkluZGV4ZWREYlBlcnNpc3RlbmNlICE9PSBmYWxzZSkge1xuICAgICAgICBlbmFibGVNdWx0aVRhYkluZGV4ZWREYlBlcnNpc3RlbmNlKGZpcmVzdG9yZSk7XG4gICAgICB9IGVsc2UgaWYgKGZpcmViYXNlT3B0aW9ucy5lbmFibGVJbmRleGVkRGJQZXJzaXN0ZW5jZSAhPT0gZmFsc2UpIHtcbiAgICAgICAgZW5hYmxlSW5kZXhlZERiUGVyc2lzdGVuY2UoZmlyZXN0b3JlKTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIGZpcmVzdG9yZTtcbiAgICB9KSBhcyBhbnkpXG4gIF1cbn0pXG5leHBvcnQgY2xhc3MgRGJ4RmlyZWJhc2VEZWZhdWx0RmlyZXN0b3JlUHJvdmlkZXJNb2R1bGUge31cblxuLyoqXG4gKiBEZWZhdWx0IGZpcmViYXNlIGFwcCBjaGVjayBwcm92aWRlciBtb2R1bGUuXG4gKlxuICogQWxzbyBjb25maWd1cmVzIHRoZSBEYnhGaXJlYmFzZUFwcENoZWNrSHR0cEludGVyY2VwdG9yIHdpdGggSFRUUF9JTlRFUkNFUFRPUlMgaW4gb3JkZXIgZm9yIGFwcENoZWNrIHRvIGJlIGFwcGVuZGVkIHRvIHJlcXVlc3RzIHRvIHRoZSBhcGkuXG4gKi9cbkBOZ01vZHVsZSh7XG4gIGltcG9ydHM6IFtcbiAgICBwcm92aWRlQXBwQ2hlY2soKGluamVjdG9yOiBJbmplY3RvcikgPT4ge1xuICAgICAgY29uc3QgZmlyZWJhc2VBcHAgPSBpbmplY3Rvci5nZXQoRmlyZWJhc2VBcHApO1xuICAgICAgY29uc3QgZmlyZWJhc2VPcHRpb25zID0gaW5qZWN0b3IuZ2V0PERieEZpcmViYXNlT3B0aW9ucz4oREJYX0ZJUkVCQVNFX09QVElPTlNfVE9LRU4pO1xuICAgICAgY29uc3QgYXBwQ2hlY2tPcHRpb25zID0gZmlyZWJhc2VPcHRpb25zLmFwcENoZWNrO1xuICAgICAgY29uc3QgYXBwQ2hlY2tLbm93aW5nbHlEaXNhYmxlZCA9IGFwcENoZWNrT3B0aW9ucz8uZGlzYWJsZWQgPT09IHRydWUgfHwgZmlyZWJhc2VPcHRpb25zLmVtdWxhdG9ycz8udXNlRW11bGF0b3JzID09PSB0cnVlO1xuICAgICAgbGV0IGFwcENoZWNrOiBBcHBDaGVjaztcblxuICAgICAgaWYgKGFwcENoZWNrT3B0aW9ucyAmJiAhYXBwQ2hlY2tLbm93aW5nbHlEaXNhYmxlZCkge1xuICAgICAgICAvLyBlbmFibGUgdGhlIGRlYnVnIHRva2VucyBpZiBub3QgdXNpbmcgZW11bGF0b3JzIGFuZCBhbGxvd0RlYnVnVG9rZW5zIGlzIHNldCB0cnVlXG4gICAgICAgIGlmIChmaXJlYmFzZU9wdGlvbnMuZW11bGF0b3JzPy51c2VFbXVsYXRvcnMgIT09IHRydWUgJiYgYXBwQ2hlY2tPcHRpb25zLmFsbG93RGVidWdUb2tlbnMpIHtcbiAgICAgICAgICBlbmFibGVBcHBDaGVja0RlYnVnVG9rZW5HZW5lcmF0aW9uKHRydWUpO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gT25seSBlbmFibGVkIG91dHNpZGUgb2YgYXBwLWNoZWNrIGVudmlyb25tZW50cy4gVGhlIGVtdWxhdG9ycyB3aWxsIG5vdCB1c2UgYXBwY2hlY2suXG4gICAgICAgIGFwcENoZWNrID0gaW5pdGlhbGl6ZUFwcENoZWNrKGZpcmViYXNlQXBwLCB7XG4gICAgICAgICAgcHJvdmlkZXI6IG5ldyBSZUNhcHRjaGFWM1Byb3ZpZGVyKGFwcENoZWNrT3B0aW9ucy5yZUNhcHRjaGFWMyksXG4gICAgICAgICAgaXNUb2tlbkF1dG9SZWZyZXNoRW5hYmxlZDogYXBwQ2hlY2tPcHRpb25zLmlzVG9rZW5BdXRvUmVmcmVzaEVuYWJsZWQgPz8gdHJ1ZVxuICAgICAgICB9KTtcblxuICAgICAgICBjb25zb2xlLmxvZygnRW5hYmxlZCBBcHBDaGVjay4nKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGFwcENoZWNrID0gdW5kZWZpbmVkIGFzIHVua25vd24gYXMgQXBwQ2hlY2s7XG5cbiAgICAgICAgaWYgKCFhcHBDaGVja0tub3dpbmdseURpc2FibGVkKSB7XG4gICAgICAgICAgY29uc29sZS5lcnJvcignZGJ4LWZpcmViYXNlOiBObyBhcHBjaGVjayBjb25maWd1cmF0aW9uIGZvciB0aGUgYXBwLCBhbmQgbm90IHNwZWNpZmljYWxseSBkaXNhYmxlZCBpbiBjb25maWcgZWl0aGVyLicpO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBhcHBDaGVjaztcbiAgICB9KVxuICBdLFxuICBwcm92aWRlcnM6IFtcbiAgICB7XG4gICAgICBwcm92aWRlOiBIVFRQX0lOVEVSQ0VQVE9SUyxcbiAgICAgIHVzZUNsYXNzOiBEYnhGaXJlYmFzZUFwcENoZWNrSHR0cEludGVyY2VwdG9yLFxuICAgICAgbXVsdGk6IHRydWVcbiAgICB9XG4gIF1cbn0pXG5leHBvcnQgY2xhc3MgRGJ4RmlyZWJhc2VEZWZhdWx0QXBwQ2hlY2tQcm92aWRlck1vZHVsZSB7fVxuXG4vKipcbiAqIERlZmF1bHQgZmlyZWJhc2UgYXV0aCBwcm92aWRlciBtb2R1bGUuXG4gKi9cbkBOZ01vZHVsZSh7XG4gIGltcG9ydHM6IFtcbiAgICBwcm92aWRlQXV0aCgoaW5qZWN0b3I6IEluamVjdG9yKSA9PiB7XG4gICAgICBjb25zdCBmaXJlYmFzZUFwcCA9IGluamVjdG9yLmdldChGaXJlYmFzZUFwcCk7XG4gICAgICBjb25zdCBhdXRoID0gZ2V0QXV0aChmaXJlYmFzZUFwcCk7XG4gICAgICBjb25zdCBlbXVsYXRvcnMgPSBpbmplY3Rvci5nZXQ8RGJ4RmlyZWJhc2VQYXJzZWRFbXVsYXRvcnNDb25maWc+KERieEZpcmViYXNlUGFyc2VkRW11bGF0b3JzQ29uZmlnLCB1bmRlZmluZWQpO1xuXG4gICAgICBpZiAoZW11bGF0b3JzPy51c2VFbXVsYXRvcnMgJiYgZW11bGF0b3JzPy5hdXRoKSB7XG4gICAgICAgIGNvbm5lY3RBdXRoRW11bGF0b3IoYXV0aCwgYGh0dHA6Ly8ke2VtdWxhdG9ycy5hdXRoLmhvc3R9OiR7ZW11bGF0b3JzLmF1dGgucG9ydH1gKTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIGF1dGg7XG4gICAgfSlcbiAgXVxufSlcbmV4cG9ydCBjbGFzcyBEYnhGaXJlYmFzZURlZmF1bHRBdXRoUHJvdmlkZXJNb2R1bGUge31cblxuLyoqXG4gKiBEZWZhdWx0IGZpcmViYXNlIHN0b3JhZ2UgcHJvdmlkZXIgbW9kdWxlLlxuICovXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbXG4gICAgcHJvdmlkZVN0b3JhZ2UoKGluamVjdG9yOiBJbmplY3RvcikgPT4ge1xuICAgICAgY29uc3QgZmlyZWJhc2VBcHAgPSBpbmplY3Rvci5nZXQoRmlyZWJhc2VBcHApO1xuICAgICAgY29uc3Qgc3RvcmFnZSA9IGdldFN0b3JhZ2UoZmlyZWJhc2VBcHApO1xuICAgICAgY29uc3QgZW11bGF0b3JzID0gaW5qZWN0b3IuZ2V0PERieEZpcmViYXNlUGFyc2VkRW11bGF0b3JzQ29uZmlnPihEYnhGaXJlYmFzZVBhcnNlZEVtdWxhdG9yc0NvbmZpZywgdW5kZWZpbmVkKTtcblxuICAgICAgaWYgKGVtdWxhdG9ycz8udXNlRW11bGF0b3JzICYmIGVtdWxhdG9ycz8uc3RvcmFnZSkge1xuICAgICAgICBjb25uZWN0U3RvcmFnZUVtdWxhdG9yKHN0b3JhZ2UsIGVtdWxhdG9ycy5zdG9yYWdlLmhvc3QsIGVtdWxhdG9ycy5zdG9yYWdlLnBvcnQsIHt9KTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIHN0b3JhZ2U7XG4gICAgfSlcbiAgXVxufSlcbmV4cG9ydCBjbGFzcyBEYnhGaXJlYmFzZURlZmF1bHRTdG9yYWdlUHJvdmlkZXJNb2R1bGUge31cblxuLyoqXG4gKiBEZWZhdWx0IGZpcmViYXNlIGZ1bmN0aW9ucyBwcm92aWRlciBtb2R1bGUuXG4gKi9cbkBOZ01vZHVsZSh7XG4gIGltcG9ydHM6IFtcbiAgICBwcm92aWRlRnVuY3Rpb25zKChpbmplY3RvcjogSW5qZWN0b3IpID0+IHtcbiAgICAgIGNvbnN0IGZpcmViYXNlQXBwID0gaW5qZWN0b3IuZ2V0KEZpcmViYXNlQXBwKTtcbiAgICAgIGNvbnN0IGZpcmViYXNlT3B0aW9ucyA9IGluamVjdG9yLmdldDxEYnhGaXJlYmFzZU9wdGlvbnM+KERCWF9GSVJFQkFTRV9PUFRJT05TX1RPS0VOKTtcbiAgICAgIGNvbnN0IHsgZnVuY3Rpb25zUmVnaW9uT3JDdXN0b21Eb21haW4gfSA9IGZpcmViYXNlT3B0aW9ucztcblxuICAgICAgY29uc3QgZnVuY3Rpb25zID0gZ2V0RnVuY3Rpb25zKGZpcmViYXNlQXBwLCBmdW5jdGlvbnNSZWdpb25PckN1c3RvbURvbWFpbik7XG4gICAgICBjb25zdCBlbXVsYXRvcnMgPSBpbmplY3Rvci5nZXQ8RGJ4RmlyZWJhc2VQYXJzZWRFbXVsYXRvcnNDb25maWc+KERieEZpcmViYXNlUGFyc2VkRW11bGF0b3JzQ29uZmlnLCB1bmRlZmluZWQpO1xuXG4gICAgICBpZiAoZW11bGF0b3JzPy51c2VFbXVsYXRvcnMgJiYgZW11bGF0b3JzPy5mdW5jdGlvbnMpIHtcbiAgICAgICAgY29ubmVjdEZ1bmN0aW9uc0VtdWxhdG9yKGZ1bmN0aW9ucywgZW11bGF0b3JzLmZ1bmN0aW9ucy5ob3N0LCBlbXVsYXRvcnMuZnVuY3Rpb25zLnBvcnQpO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gZnVuY3Rpb25zO1xuICAgIH0pXG4gIF1cbn0pXG5leHBvcnQgY2xhc3MgRGJ4RmlyZWJhc2VEZWZhdWx0RnVuY3Rpb25zUHJvdmlkZXJNb2R1bGUge31cblxuLyoqXG4gKiBEZWZhdWx0IHByb3ZpZGVyIG1vZHVsZS5cbiAqL1xuQE5nTW9kdWxlKHtcbiAgaW1wb3J0czogW1xuICAgIHByb3ZpZGVGaXJlYmFzZUFwcCgoaW5qZWN0b3I6IEluamVjdG9yKSA9PiB7XG4gICAgICBjb25zdCBmaXJlYmFzZU9wdGlvbnMgPSBpbmplY3Rvci5nZXQ8RGJ4RmlyZWJhc2VPcHRpb25zPihEQlhfRklSRUJBU0VfT1BUSU9OU19UT0tFTik7XG4gICAgICByZXR1cm4gaW5pdGlhbGl6ZUFwcChmaXJlYmFzZU9wdGlvbnMpO1xuICAgIH0pLFxuICAgIERieEZpcmViYXNlRGVmYXVsdEFwcENoZWNrUHJvdmlkZXJNb2R1bGUsXG4gICAgRGJ4RmlyZWJhc2VEZWZhdWx0RmlyZXN0b3JlUHJvdmlkZXJNb2R1bGUsXG4gICAgRGJ4RmlyZWJhc2VEZWZhdWx0QXV0aFByb3ZpZGVyTW9kdWxlLFxuICAgIERieEZpcmViYXNlRGVmYXVsdFN0b3JhZ2VQcm92aWRlck1vZHVsZSxcbiAgICBEYnhGaXJlYmFzZURlZmF1bHRGdW5jdGlvbnNQcm92aWRlck1vZHVsZVxuICBdXG59KVxuZXhwb3J0IGNsYXNzIERieEZpcmViYXNlRGVmYXVsdEZpcmViYXNlUHJvdmlkZXJzTW9kdWxlIHtcbiAgc3RhdGljIGZvclJvb3QoZmlyZWJhc2VPcHRpb25zOiBGaXJlYmFzZU9wdGlvbnMpOiBNb2R1bGVXaXRoUHJvdmlkZXJzPERieEZpcmViYXNlRGVmYXVsdEZpcmViYXNlUHJvdmlkZXJzTW9kdWxlPiB7XG4gICAgcmV0dXJuIHtcbiAgICAgIG5nTW9kdWxlOiBEYnhGaXJlYmFzZURlZmF1bHRGaXJlYmFzZVByb3ZpZGVyc01vZHVsZSxcbiAgICAgIHByb3ZpZGVyczogW1xuICAgICAgICB7XG4gICAgICAgICAgcHJvdmlkZTogREJYX0ZJUkVCQVNFX09QVElPTlNfVE9LRU4sXG4gICAgICAgICAgdXNlVmFsdWU6IGZpcmViYXNlT3B0aW9uc1xuICAgICAgICB9XG4gICAgICBdXG4gICAgfTtcbiAgfVxufVxuIl19
|
|
312
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlyZWJhc2UubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZGJ4LWZpcmViYXNlL3NyYy9saWIvZmlyZWJhc2UvZmlyZWJhc2UubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBdUIsUUFBUSxFQUFZLE1BQU0sZUFBZSxDQUFDO0FBQ3hFLE9BQU8sRUFBbUIsYUFBYSxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQzlELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQzdFLE9BQU8sRUFBRSxXQUFXLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNwRSxPQUFPLEVBQUUsY0FBYyxFQUFFLFVBQVUsRUFBRSxzQkFBc0IsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQzNGLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxZQUFZLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUNuRyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsd0JBQXdCLEVBQUUsbUJBQW1CLEVBQUUsb0JBQW9CLEVBQUUsNEJBQTRCLEVBQXFCLDBCQUEwQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDN00sT0FBTyxFQUFFLFdBQVcsRUFBRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUMvRSxPQUFPLEVBQVksZUFBZSxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDcEUsT0FBTyxFQUFFLGdDQUFnQyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQy9ELE9BQU8sRUFBc0IsMEJBQTBCLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDM0UsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDekQsT0FBTyxFQUFFLGtDQUFrQyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDdEUsT0FBTyxF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QUNMLFFBQVEsRUFBRSx5Q0FBeUM7WUFDbkQsU0FBUyxFQUFFO2dCQUNUO29CQUNFLE9BQU8sRUFBRSwwQkFBMEI7b0JBQ25DLFFBQVEsRUFBRSxlQUFlO2lCQUMxQjthQUNGO1NBQ0YsQ0FBQztJQUNKLENBQUM7K0dBWFUseUNBQXlDO2dIQUF6Qyx5Q0FBeUMsa0NBakZ6Qyx3Q0FBd0MsRUFoRHhDLHlDQUF5QyxFQW9FekMsb0NBQW9DLEVBb0JwQyx1Q0FBdUMsRUF1QnZDLHlDQUF5QztnSEFrQnpDLHlDQUF5QyxZQVhsRCxrQkFBa0IsQ0FBQyxDQUFDLFFBQWtCLEVBQUUsRUFBRTtnQkFDeEMsTUFBTSxlQUFlLEdBQUcsUUFBUSxDQUFDLEdBQUcsQ0FBcUIsMEJBQTBCLENBQUMsQ0FBQztnQkFDckYsT0FBTyxhQUFhLENBQUMsZUFBZSxDQUFDLENBQUM7WUFDeEMsQ0FBQyxDQUFDO1lBQ0Ysd0NBQXdDO1lBQ3hDLHlDQUF5QztZQUN6QyxvQ0FBb0M7WUFDcEMsdUNBQXVDO1lBQ3ZDLHlDQUF5Qzs7NEZBR2hDLHlDQUF5QztrQkFickQsUUFBUTttQkFBQztvQkFDUixPQUFPLEVBQUU7d0JBQ1Asa0JBQWtCLENBQUMsQ0FBQyxRQUFrQixFQUFFLEVBQUU7NEJBQ3hDLE1BQU0sZUFBZSxHQUFHLFFBQVEsQ0FBQyxHQUFHLENBQXFCLDBCQUEwQixDQUFDLENBQUM7NEJBQ3JGLE9BQU8sYUFBYSxDQUFDLGVBQWUsQ0FBQyxDQUFDO3dCQUN4QyxDQUFDLENBQUM7d0JBQ0Ysd0NBQXdDO3dCQUN4Qyx5Q0FBeUM7d0JBQ3pDLG9DQUFvQzt3QkFDcEMsdUNBQXVDO3dCQUN2Qyx5Q0FBeUM7cUJBQzFDO2lCQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTW9kdWxlV2l0aFByb3ZpZGVycywgTmdNb2R1bGUsIEluamVjdG9yIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGaXJlYmFzZU9wdGlvbnMsIGluaXRpYWxpemVBcHAgfSBmcm9tICdmaXJlYmFzZS9hcHAnO1xuaW1wb3J0IHsgaW5pdGlhbGl6ZUFwcENoZWNrLCBSZUNhcHRjaGFWM1Byb3ZpZGVyIH0gZnJvbSAnZmlyZWJhc2UvYXBwLWNoZWNrJztcbmltcG9ydCB7IEZpcmViYXNlQXBwLCBwcm92aWRlRmlyZWJhc2VBcHAgfSBmcm9tICdAYW5ndWxhci9maXJlL2FwcCc7XG5pbXBvcnQgeyBwcm92aWRlU3RvcmFnZSwgZ2V0U3RvcmFnZSwgY29ubmVjdFN0b3JhZ2VFbXVsYXRvciB9IGZyb20gJ0Bhbmd1bGFyL2ZpcmUvc3RvcmFnZSc7XG5pbXBvcnQgeyBwcm92aWRlRnVuY3Rpb25zLCBnZXRGdW5jdGlvbnMsIGNvbm5lY3RGdW5jdGlvbnNFbXVsYXRvciB9IGZyb20gJ0Bhbmd1bGFyL2ZpcmUvZnVuY3Rpb25zJztcbmltcG9ydCB7IHByb3ZpZGVGaXJlc3RvcmUsIGNvbm5lY3RGaXJlc3RvcmVFbXVsYXRvciwgaW5pdGlhbGl6ZUZpcmVzdG9yZSwgcGVyc2lzdGVudExvY2FsQ2FjaGUsIHBlcnNpc3RlbnRNdWx0aXBsZVRhYk1hbmFnZXIsIEZpcmVzdG9yZVNldHRpbmdzLCBwZXJzaXN0ZW50U2luZ2xlVGFiTWFuYWdlciB9IGZyb20gJ0Bhbmd1bGFyL2ZpcmUvZmlyZXN0b3JlJztcbmltcG9ydCB7IHByb3ZpZGVBdXRoLCBnZXRBdXRoLCBjb25uZWN0QXV0aEVtdWxhdG9yIH0gZnJvbSAnQGFuZ3VsYXIvZmlyZS9hdXRoJztcbmltcG9ydCB7IEFwcENoZWNrLCBwcm92aWRlQXBwQ2hlY2sgfSBmcm9tICdAYW5ndWxhci9maXJlL2FwcC1jaGVjayc7XG5pbXBvcnQgeyBEYnhGaXJlYmFzZVBhcnNlZEVtdWxhdG9yc0NvbmZpZyB9IGZyb20gJy4vZW11bGF0b3JzJztcbmltcG9ydCB7IERieEZpcmViYXNlT3B0aW9ucywgREJYX0ZJUkVCQVNFX09QVElPTlNfVE9LRU4gfSBmcm9tICcuL29wdGlvbnMnO1xuaW1wb3J0IHsgSFRUUF9JTlRFUkNFUFRPUlMgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBlbmFibGVBcHBDaGVja0RlYnVnVG9rZW5HZW5lcmF0aW9uIH0gZnJvbSAnLi4vYXV0aC9hcHBjaGVjayc7XG5pbXBvcnQgeyBEYnhGaXJlYmFzZUFwcENoZWNrSHR0cEludGVyY2VwdG9yIH0gZnJvbSAnLi4vYXV0aC9hcHBjaGVjay9hcHBjaGVjay5pbnRlcmNlcHRvcic7XG5cbi8qKlxuICogRGVmYXVsdCBmaXJlYmFzZSBmaXJlc3RvcmUgcHJvdmlkZXIgbW9kdWxlLlxuICovXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbXG4gICAgcHJvdmlkZUZpcmVzdG9yZSgoaW5qZWN0b3I6IEluamVjdG9yKSA9PiB7XG4gICAgICBjb25zdCBmaXJlYmFzZUFwcCA9IGluamVjdG9yLmdldChGaXJlYmFzZUFwcCk7XG4gICAgICBjb25zdCBmaXJlYmFzZU9wdGlvbnMgPSBpbmplY3Rvci5nZXQ8RGJ4RmlyZWJhc2VPcHRpb25zPihEQlhfRklSRUJBU0VfT1BUSU9OU19UT0tFTik7XG5cbiAgICAgIGNvbnN0IGZpcmVzdG9yZVNldHRpbmdzOiBGaXJlc3RvcmVTZXR0aW5ncyA9IHt9O1xuXG4gICAgICBjb25zdCB7IGVuYWJsZU11bHRpVGFiSW5kZXhlZERiUGVyc2lzdGVuY2UsIGVuYWJsZUluZGV4ZWREYlBlcnNpc3RlbmNlIH0gPSBmaXJlYmFzZU9wdGlvbnM7XG4gICAgICBjb25zdCB7IHBlcnNpc3RlbnRDYWNoZVNldHRpbmdzIH0gPSBmaXJlYmFzZU9wdGlvbnM7XG5cbiAgICAgIGlmIChlbmFibGVJbmRleGVkRGJQZXJzaXN0ZW5jZSAhPT0gZmFsc2UpIHtcbiAgICAgICAgbGV0IHRhYk1hbmFnZXI7XG5cbiAgICAgICAgaWYgKGVuYWJsZU11bHRpVGFiSW5kZXhlZERiUGVyc2lzdGVuY2UgIT09IGZhbHNlKSB7XG4gICAgICAgICAgdGFiTWFuYWdlciA9IHBlcnNpc3RlbnRNdWx0aXBsZVRhYk1hbmFnZXIoKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB0YWJNYW5hZ2VyID0gcGVyc2lzdGVudFNpbmdsZVRhYk1hbmFnZXIodW5kZWZpbmVkKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGZpcmVzdG9yZVNldHRpbmdzLmxvY2FsQ2FjaGUgPSBwZXJzaXN0ZW50TG9jYWxDYWNoZSh7XG4gICAgICAgICAgdGFiTWFuYWdlcixcbiAgICAgICAgICAuLi5wZXJzaXN0ZW50Q2FjaGVTZXR0aW5nc1xuICAgICAgICB9KTtcbiAgICAgIH1cblxuICAgICAgY29uc3QgZmlyZXN0b3JlID0gaW5pdGlhbGl6ZUZpcmVzdG9yZShmaXJlYmFzZUFwcCwgZmlyZXN0b3JlU2V0dGluZ3MpO1xuICAgICAgY29uc3QgZW11bGF0b3JzID0gaW5qZWN0b3IuZ2V0PERieEZpcmViYXNlUGFyc2VkRW11bGF0b3JzQ29uZmlnPihEYnhGaXJlYmFzZVBhcnNlZEVtdWxhdG9yc0NvbmZpZywgdW5kZWZpbmVkKTtcblxuICAgICAgaWYgKGVtdWxhdG9ycz8udXNlRW11bGF0b3JzICYmIGVtdWxhdG9ycz8uZmlyZXN0b3JlKSB7XG4gICAgICAgIGNvbm5lY3RGaXJlc3RvcmVFbXVsYXRvcihmaXJlc3RvcmUsIGVtdWxhdG9ycy5maXJlc3RvcmUuaG9zdCwgZW11bGF0b3JzLmZpcmVzdG9yZS5wb3J0LCB7fSk7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBmaXJlc3RvcmU7XG4gICAgfSlcbiAgXVxufSlcbmV4cG9ydCBjbGFzcyBEYnhGaXJlYmFzZURlZmF1bHRGaXJlc3RvcmVQcm92aWRlck1vZHVsZSB7fVxuXG4vKipcbiAqIERlZmF1bHQgZmlyZWJhc2UgYXBwIGNoZWNrIHByb3ZpZGVyIG1vZHVsZS5cbiAqXG4gKiBBbHNvIGNvbmZpZ3VyZXMgdGhlIERieEZpcmViYXNlQXBwQ2hlY2tIdHRwSW50ZXJjZXB0b3Igd2l0aCBIVFRQX0lOVEVSQ0VQVE9SUyBpbiBvcmRlciBmb3IgYXBwQ2hlY2sgdG8gYmUgYXBwZW5kZWQgdG8gcmVxdWVzdHMgdG8gdGhlIGFwaS5cbiAqL1xuQE5nTW9kdWxlKHtcbiAgaW1wb3J0czogW1xuICAgIHByb3ZpZGVBcHBDaGVjaygoaW5qZWN0b3I6IEluamVjdG9yKSA9PiB7XG4gICAgICBjb25zdCBmaXJlYmFzZUFwcCA9IGluamVjdG9yLmdldChGaXJlYmFzZUFwcCk7XG4gICAgICBjb25zdCBmaXJlYmFzZU9wdGlvbnMgPSBpbmplY3Rvci5nZXQ8RGJ4RmlyZWJhc2VPcHRpb25zPihEQlhfRklSRUJBU0VfT1BUSU9OU19UT0tFTik7XG4gICAgICBjb25zdCBhcHBDaGVja09wdGlvbnMgPSBmaXJlYmFzZU9wdGlvbnMuYXBwQ2hlY2s7XG4gICAgICBjb25zdCBhcHBDaGVja0tub3dpbmdseURpc2FibGVkID0gYXBwQ2hlY2tPcHRpb25zPy5kaXNhYmxlZCA9PT0gdHJ1ZSB8fCBmaXJlYmFzZU9wdGlvbnMuZW11bGF0b3JzPy51c2VFbXVsYXRvcnMgPT09IHRydWU7XG4gICAgICBsZXQgYXBwQ2hlY2s6IEFwcENoZWNrO1xuXG4gICAgICBpZiAoYXBwQ2hlY2tPcHRpb25zICYmICFhcHBDaGVja0tub3dpbmdseURpc2FibGVkKSB7XG4gICAgICAgIC8vIGVuYWJsZSB0aGUgZGVidWcgdG9rZW5zIGlmIG5vdCB1c2luZyBlbXVsYXRvcnMgYW5kIGFsbG93RGVidWdUb2tlbnMgaXMgc2V0IHRydWVcbiAgICAgICAgaWYgKGZpcmViYXNlT3B0aW9ucy5lbXVsYXRvcnM/LnVzZUVtdWxhdG9ycyAhPT0gdHJ1ZSAmJiBhcHBDaGVja09wdGlvbnMuYWxsb3dEZWJ1Z1Rva2Vucykge1xuICAgICAgICAgIGVuYWJsZUFwcENoZWNrRGVidWdUb2tlbkdlbmVyYXRpb24odHJ1ZSk7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBPbmx5IGVuYWJsZWQgb3V0c2lkZSBvZiBhcHAtY2hlY2sgZW52aXJvbm1lbnRzLiBUaGUgZW11bGF0b3JzIHdpbGwgbm90IHVzZSBhcHBjaGVjay5cbiAgICAgICAgYXBwQ2hlY2sgPSBpbml0aWFsaXplQXBwQ2hlY2soZmlyZWJhc2VBcHAsIHtcbiAgICAgICAgICBwcm92aWRlcjogbmV3IFJlQ2FwdGNoYVYzUHJvdmlkZXIoYXBwQ2hlY2tPcHRpb25zLnJlQ2FwdGNoYVYzKSxcbiAgICAgICAgICBpc1Rva2VuQXV0b1JlZnJlc2hFbmFibGVkOiBhcHBDaGVja09wdGlvbnMuaXNUb2tlbkF1dG9SZWZyZXNoRW5hYmxlZCA/PyB0cnVlXG4gICAgICAgIH0pO1xuXG4gICAgICAgIGNvbnNvbGUubG9nKCdFbmFibGVkIEFwcENoZWNrLicpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgYXBwQ2hlY2sgPSB1bmRlZmluZWQgYXMgdW5rbm93biBhcyBBcHBDaGVjaztcblxuICAgICAgICBpZiAoIWFwcENoZWNrS25vd2luZ2x5RGlzYWJsZWQpIHtcbiAgICAgICAgICBjb25zb2xlLmVycm9yKCdkYngtZmlyZWJhc2U6IE5vIGFwcGNoZWNrIGNvbmZpZ3VyYXRpb24gZm9yIHRoZSBhcHAsIGFuZCBub3Qgc3BlY2lmaWNhbGx5IGRpc2FibGVkIGluIGNvbmZpZyBlaXRoZXIuJyk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgcmV0dXJuIGFwcENoZWNrO1xuICAgIH0pXG4gIF0sXG4gIHByb3ZpZGVyczogW1xuICAgIHtcbiAgICAgIHByb3ZpZGU6IEhUVFBfSU5URVJDRVBUT1JTLFxuICAgICAgdXNlQ2xhc3M6IERieEZpcmViYXNlQXBwQ2hlY2tIdHRwSW50ZXJjZXB0b3IsXG4gICAgICBtdWx0aTogdHJ1ZVxuICAgIH1cbiAgXVxufSlcbmV4cG9ydCBjbGFzcyBEYnhGaXJlYmFzZURlZmF1bHRBcHBDaGVja1Byb3ZpZGVyTW9kdWxlIHt9XG5cbi8qKlxuICogRGVmYXVsdCBmaXJlYmFzZSBhdXRoIHByb3ZpZGVyIG1vZHVsZS5cbiAqL1xuQE5nTW9kdWxlKHtcbiAgaW1wb3J0czogW1xuICAgIHByb3ZpZGVBdXRoKChpbmplY3RvcjogSW5qZWN0b3IpID0+IHtcbiAgICAgIGNvbnN0IGZpcmViYXNlQXBwID0gaW5qZWN0b3IuZ2V0KEZpcmViYXNlQXBwKTtcbiAgICAgIGNvbnN0IGF1dGggPSBnZXRBdXRoKGZpcmViYXNlQXBwKTtcbiAgICAgIGNvbnN0IGVtdWxhdG9ycyA9IGluamVjdG9yLmdldDxEYnhGaXJlYmFzZVBhcnNlZEVtdWxhdG9yc0NvbmZpZz4oRGJ4RmlyZWJhc2VQYXJzZWRFbXVsYXRvcnNDb25maWcsIHVuZGVmaW5lZCk7XG5cbiAgICAgIGlmIChlbXVsYXRvcnM/LnVzZUVtdWxhdG9ycyAmJiBlbXVsYXRvcnM/LmF1dGgpIHtcbiAgICAgICAgY29ubmVjdEF1dGhFbXVsYXRvcihhdXRoLCBgaHR0cDovLyR7ZW11bGF0b3JzLmF1dGguaG9zdH06JHtlbXVsYXRvcnMuYXV0aC5wb3J0fWApO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gYXV0aDtcbiAgICB9KVxuICBdXG59KVxuZXhwb3J0IGNsYXNzIERieEZpcmViYXNlRGVmYXVsdEF1dGhQcm92aWRlck1vZHVsZSB7fVxuXG4vKipcbiAqIERlZmF1bHQgZmlyZWJhc2Ugc3RvcmFnZSBwcm92aWRlciBtb2R1bGUuXG4gKi9cbkBOZ01vZHVsZSh7XG4gIGltcG9ydHM6IFtcbiAgICBwcm92aWRlU3RvcmFnZSgoaW5qZWN0b3I6IEluamVjdG9yKSA9PiB7XG4gICAgICBjb25zdCBmaXJlYmFzZUFwcCA9IGluamVjdG9yLmdldChGaXJlYmFzZUFwcCk7XG4gICAgICBjb25zdCBzdG9yYWdlID0gZ2V0U3RvcmFnZShmaXJlYmFzZUFwcCk7XG4gICAgICBjb25zdCBlbXVsYXRvcnMgPSBpbmplY3Rvci5nZXQ8RGJ4RmlyZWJhc2VQYXJzZWRFbXVsYXRvcnNDb25maWc+KERieEZpcmViYXNlUGFyc2VkRW11bGF0b3JzQ29uZmlnLCB1bmRlZmluZWQpO1xuXG4gICAgICBpZiAoZW11bGF0b3JzPy51c2VFbXVsYXRvcnMgJiYgZW11bGF0b3JzPy5zdG9yYWdlKSB7XG4gICAgICAgIGNvbm5lY3RTdG9yYWdlRW11bGF0b3Ioc3RvcmFnZSwgZW11bGF0b3JzLnN0b3JhZ2UuaG9zdCwgZW11bGF0b3JzLnN0b3JhZ2UucG9ydCwge30pO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gc3RvcmFnZTtcbiAgICB9KVxuICBdXG59KVxuZXhwb3J0IGNsYXNzIERieEZpcmViYXNlRGVmYXVsdFN0b3JhZ2VQcm92aWRlck1vZHVsZSB7fVxuXG4vKipcbiAqIERlZmF1bHQgZmlyZWJhc2UgZnVuY3Rpb25zIHByb3ZpZGVyIG1vZHVsZS5cbiAqL1xuQE5nTW9kdWxlKHtcbiAgaW1wb3J0czogW1xuICAgIHByb3ZpZGVGdW5jdGlvbnMoKGluamVjdG9yOiBJbmplY3RvcikgPT4ge1xuICAgICAgY29uc3QgZmlyZWJhc2VBcHAgPSBpbmplY3Rvci5nZXQoRmlyZWJhc2VBcHApO1xuICAgICAgY29uc3QgZmlyZWJhc2VPcHRpb25zID0gaW5qZWN0b3IuZ2V0PERieEZpcmViYXNlT3B0aW9ucz4oREJYX0ZJUkVCQVNFX09QVElPTlNfVE9LRU4pO1xuICAgICAgY29uc3QgeyBmdW5jdGlvbnNSZWdpb25PckN1c3RvbURvbWFpbiB9ID0gZmlyZWJhc2VPcHRpb25zO1xuXG4gICAgICBjb25zdCBmdW5jdGlvbnMgPSBnZXRGdW5jdGlvbnMoZmlyZWJhc2VBcHAsIGZ1bmN0aW9uc1JlZ2lvbk9yQ3VzdG9tRG9tYWluKTtcbiAgICAgIGNvbnN0IGVtdWxhdG9ycyA9IGluamVjdG9yLmdldDxEYnhGaXJlYmFzZVBhcnNlZEVtdWxhdG9yc0NvbmZpZz4oRGJ4RmlyZWJhc2VQYXJzZWRFbXVsYXRvcnNDb25maWcsIHVuZGVmaW5lZCk7XG5cbiAgICAgIGlmIChlbXVsYXRvcnM/LnVzZUVtdWxhdG9ycyAmJiBlbXVsYXRvcnM/LmZ1bmN0aW9ucykge1xuICAgICAgICBjb25uZWN0RnVuY3Rpb25zRW11bGF0b3IoZnVuY3Rpb25zLCBlbXVsYXRvcnMuZnVuY3Rpb25zLmhvc3QsIGVtdWxhdG9ycy5mdW5jdGlvbnMucG9ydCk7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBmdW5jdGlvbnM7XG4gICAgfSlcbiAgXVxufSlcbmV4cG9ydCBjbGFzcyBEYnhGaXJlYmFzZURlZmF1bHRGdW5jdGlvbnNQcm92aWRlck1vZHVsZSB7fVxuXG4vKipcbiAqIERlZmF1bHQgcHJvdmlkZXIgbW9kdWxlLlxuICovXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbXG4gICAgcHJvdmlkZUZpcmViYXNlQXBwKChpbmplY3RvcjogSW5qZWN0b3IpID0+IHtcbiAgICAgIGNvbnN0IGZpcmViYXNlT3B0aW9ucyA9IGluamVjdG9yLmdldDxEYnhGaXJlYmFzZU9wdGlvbnM+KERCWF9GSVJFQkFTRV9PUFRJT05TX1RPS0VOKTtcbiAgICAgIHJldHVybiBpbml0aWFsaXplQXBwKGZpcmViYXNlT3B0aW9ucyk7XG4gICAgfSksXG4gICAgRGJ4RmlyZWJhc2VEZWZhdWx0QXBwQ2hlY2tQcm92aWRlck1vZHVsZSxcbiAgICBEYnhGaXJlYmFzZURlZmF1bHRGaXJlc3RvcmVQcm92aWRlck1vZHVsZSxcbiAgICBEYnhGaXJlYmFzZURlZmF1bHRBdXRoUHJvdmlkZXJNb2R1bGUsXG4gICAgRGJ4RmlyZWJhc2VEZWZhdWx0U3RvcmFnZVByb3ZpZGVyTW9kdWxlLFxuICAgIERieEZpcmViYXNlRGVmYXVsdEZ1bmN0aW9uc1Byb3ZpZGVyTW9kdWxlXG4gIF1cbn0pXG5leHBvcnQgY2xhc3MgRGJ4RmlyZWJhc2VEZWZhdWx0RmlyZWJhc2VQcm92aWRlcnNNb2R1bGUge1xuICBzdGF0aWMgZm9yUm9vdChmaXJlYmFzZU9wdGlvbnM6IEZpcmViYXNlT3B0aW9ucyk6IE1vZHVsZVdpdGhQcm92aWRlcnM8RGJ4RmlyZWJhc2VEZWZhdWx0RmlyZWJhc2VQcm92aWRlcnNNb2R1bGU+IHtcbiAgICByZXR1cm4ge1xuICAgICAgbmdNb2R1bGU6IERieEZpcmViYXNlRGVmYXVsdEZpcmViYXNlUHJvdmlkZXJzTW9kdWxlLFxuICAgICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICBwcm92aWRlOiBEQlhfRklSRUJBU0VfT1BUSU9OU19UT0tFTixcbiAgICAgICAgICB1c2VWYWx1ZTogZmlyZWJhc2VPcHRpb25zXG4gICAgICAgIH1cbiAgICAgIF1cbiAgICB9O1xuICB9XG59XG4iXX0=
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import { InjectionToken } from '@angular/core';
|
|
2
2
|
export const DBX_FIREBASE_OPTIONS_TOKEN = new InjectionToken('DbxFirebaseOptions');
|
|
3
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3B0aW9ucy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2RieC1maXJlYmFzZS9zcmMvbGliL2ZpcmViYXNlL29wdGlvbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQU8vQyxNQUFNLENBQUMsTUFBTSwwQkFBMEIsR0FBRyxJQUFJLGNBQWMsQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0aW9uVG9rZW4gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFBlcnNpc3RlbnRDYWNoZVNldHRpbmdzIH0gZnJvbSAnZmlyZWJhc2UvZmlyZXN0b3JlJztcbmltcG9ydCB7IEZpcmViYXNlT3B0aW9ucyB9IGZyb20gJ2ZpcmViYXNlL2FwcCc7XG5pbXBvcnQgeyBEYnhGaXJlYmFzZUxvZ2luTW9kdWxlUm9vdENvbmZpZyB9IGZyb20gJy4uL2F1dGgvbG9naW4vZmlyZWJhc2UubG9naW4ubW9kdWxlJztcbmltcG9ydCB7IERieEZpcmViYXNlQXBwQ2hlY2tDb25maWcgfSBmcm9tICcuL2FwcGNoZWNrJztcbmltcG9ydCB7IERieEZpcmViYXNlRW11bGF0b3JzQ29uZmlnIH0gZnJvbSAnLi9lbXVsYXRvcnMnO1xuXG5leHBvcnQgY29uc3QgREJYX0ZJUkVCQVNFX09QVElPTlNfVE9LRU4gPSBuZXcgSW5qZWN0aW9uVG9rZW4oJ0RieEZpcmViYXNlT3B0aW9ucycpO1xuXG5leHBvcnQgaW50ZXJmYWNlIERieEZpcmViYXNlT3B0aW9ucyBleHRlbmRzIEZpcmViYXNlT3B0aW9ucywgUGljazxEYnhGaXJlYmFzZUxvZ2luTW9kdWxlUm9vdENvbmZpZywgJ2VuYWJsZWRMb2dpbk1ldGhvZHMnPiB7XG4gIGVtdWxhdG9yczogRGJ4RmlyZWJhc2VFbXVsYXRvcnNDb25maWc7XG4gIC8qKlxuICAgKiBGaXJlYmFzZSBBcHBDaGVjayBoYW5kbGluZ1xuICAgKi9cbiAgYXBwQ2hlY2s/OiBEYnhGaXJlYmFzZUFwcENoZWNrQ29uZmlnO1xuICAvKipcbiAgICogUGFzc2VkIHRvIHRoZSBGdW5jdGlvbnMgaW5pdGlhbGl6YXRpb24gdG8gc2V0IHRoZSBkb21haW4gdG8gdXNlIHdoZW4gc2VuZGluZyByZXF1ZXN0cy5cbiAgICovXG4gIGZ1bmN0aW9uc1JlZ2lvbk9yQ3VzdG9tRG9tYWluPzogc3RyaW5nIHwgdW5kZWZpbmVkO1xuICAvKipcbiAgICogV2hldGhlciBvciBub3QgdG8gY2FsbCBlbmFibGVNdWx0aVRhYkluZGV4ZWREYlBlcnNpc3RlbmNlKCkgZm9yIGZpcmVzdG9yZSBhdCBzZXR1cCB0aW1lLlxuICAgKlxuICAgKiBUcnVlIGJ5IGRlZmF1bHQuXG4gICAqL1xuICBlbmFibGVNdWx0aVRhYkluZGV4ZWREYlBlcnNpc3RlbmNlPzogYm9vbGVhbjtcbiAgLyoqXG4gICAqIFdoZXRoZXIgb3Igbm90IHRvIGNhbGwgZW5hYmxlSW5kZXhlZERiUGVyc2lzdGVuY2UoKSBmb3IgZmlyZXN0b3JlIGF0IHNldHVwIHRpbWUuXG4gICAqXG4gICAqIFRydWUgYnkgZGVmYXVsdCBpZiBlbmFibGVNdWx0aVRhYkluZGV4ZWREYlBlcnNpc3RlbmNlIGlzIGZhbHNlLlxuICAgKi9cbiAgZW5hYmxlSW5kZXhlZERiUGVyc2lzdGVuY2U/OiBib29sZWFuO1xuICAvKipcbiAgICogT3B0aW9uYWwgcGVyc2lzdGVudCBjYWNoZSBzZXR0aW5nIHRvIHBhc3MgdG8gdGhlIEZpcmVzdG9yZSBjYWNoZS5cbiAgICovXG4gIHBlcnNpc3RlbnRDYWNoZVNldHRpbmdzPzogT21pdDxQZXJzaXN0ZW50Q2FjaGVTZXR0aW5ncywgJ3RhYk1hbmFnZXInPjtcbn1cbiJdfQ==
|
|
@@ -33,7 +33,7 @@ import { provideStorage, getStorage, connectStorageEmulator, Storage } from '@an
|
|
|
33
33
|
import * as i5 from '@angular/fire/functions';
|
|
34
34
|
import { provideFunctions, getFunctions, connectFunctionsEmulator, Functions } from '@angular/fire/functions';
|
|
35
35
|
import * as i1$5 from '@angular/fire/firestore';
|
|
36
|
-
import { provideFirestore,
|
|
36
|
+
import { provideFirestore, persistentMultipleTabManager, persistentSingleTabManager, persistentLocalCache, initializeFirestore, connectFirestoreEmulator, Firestore } from '@angular/fire/firestore';
|
|
37
37
|
import { HTTP_INTERCEPTORS } from '@angular/common/http';
|
|
38
38
|
import * as i2$3 from '@angular/material/snack-bar';
|
|
39
39
|
import { __decorate, __param, __metadata } from 'tslib';
|
|
@@ -1817,50 +1817,69 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
1817
1817
|
class DbxFirebaseParsedEmulatorsConfig {
|
|
1818
1818
|
}
|
|
1819
1819
|
|
|
1820
|
-
// TODO: remove "as any" typescript casting - https://github.com/angular/angularfire/issues/3086
|
|
1821
1820
|
/**
|
|
1822
1821
|
* Default firebase firestore provider module.
|
|
1823
1822
|
*/
|
|
1824
1823
|
class DbxFirebaseDefaultFirestoreProviderModule {
|
|
1825
1824
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DbxFirebaseDefaultFirestoreProviderModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
1826
1825
|
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: DbxFirebaseDefaultFirestoreProviderModule, imports: [i1$5.FirestoreModule] }); }
|
|
1827
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DbxFirebaseDefaultFirestoreProviderModule, imports: [provideFirestore((
|
|
1826
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DbxFirebaseDefaultFirestoreProviderModule, imports: [provideFirestore((injector) => {
|
|
1828
1827
|
const firebaseApp = injector.get(FirebaseApp);
|
|
1829
1828
|
const firebaseOptions = injector.get(DBX_FIREBASE_OPTIONS_TOKEN);
|
|
1830
|
-
const
|
|
1829
|
+
const firestoreSettings = {};
|
|
1830
|
+
const { enableMultiTabIndexedDbPersistence, enableIndexedDbPersistence } = firebaseOptions;
|
|
1831
|
+
const { persistentCacheSettings } = firebaseOptions;
|
|
1832
|
+
if (enableIndexedDbPersistence !== false) {
|
|
1833
|
+
let tabManager;
|
|
1834
|
+
if (enableMultiTabIndexedDbPersistence !== false) {
|
|
1835
|
+
tabManager = persistentMultipleTabManager();
|
|
1836
|
+
}
|
|
1837
|
+
else {
|
|
1838
|
+
tabManager = persistentSingleTabManager(undefined);
|
|
1839
|
+
}
|
|
1840
|
+
firestoreSettings.localCache = persistentLocalCache({
|
|
1841
|
+
tabManager,
|
|
1842
|
+
...persistentCacheSettings
|
|
1843
|
+
});
|
|
1844
|
+
}
|
|
1845
|
+
const firestore = initializeFirestore(firebaseApp, firestoreSettings);
|
|
1831
1846
|
const emulators = injector.get(DbxFirebaseParsedEmulatorsConfig, undefined);
|
|
1832
1847
|
if (emulators?.useEmulators && emulators?.firestore) {
|
|
1833
1848
|
connectFirestoreEmulator(firestore, emulators.firestore.host, emulators.firestore.port, {});
|
|
1834
1849
|
}
|
|
1835
|
-
if (firebaseOptions.enableMultiTabIndexedDbPersistence !== false) {
|
|
1836
|
-
enableMultiTabIndexedDbPersistence(firestore);
|
|
1837
|
-
}
|
|
1838
|
-
else if (firebaseOptions.enableIndexedDbPersistence !== false) {
|
|
1839
|
-
enableIndexedDbPersistence(firestore);
|
|
1840
|
-
}
|
|
1841
1850
|
return firestore;
|
|
1842
|
-
})
|
|
1851
|
+
})] }); }
|
|
1843
1852
|
}
|
|
1844
1853
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DbxFirebaseDefaultFirestoreProviderModule, decorators: [{
|
|
1845
1854
|
type: NgModule,
|
|
1846
1855
|
args: [{
|
|
1847
1856
|
imports: [
|
|
1848
|
-
provideFirestore((
|
|
1857
|
+
provideFirestore((injector) => {
|
|
1849
1858
|
const firebaseApp = injector.get(FirebaseApp);
|
|
1850
1859
|
const firebaseOptions = injector.get(DBX_FIREBASE_OPTIONS_TOKEN);
|
|
1851
|
-
const
|
|
1860
|
+
const firestoreSettings = {};
|
|
1861
|
+
const { enableMultiTabIndexedDbPersistence, enableIndexedDbPersistence } = firebaseOptions;
|
|
1862
|
+
const { persistentCacheSettings } = firebaseOptions;
|
|
1863
|
+
if (enableIndexedDbPersistence !== false) {
|
|
1864
|
+
let tabManager;
|
|
1865
|
+
if (enableMultiTabIndexedDbPersistence !== false) {
|
|
1866
|
+
tabManager = persistentMultipleTabManager();
|
|
1867
|
+
}
|
|
1868
|
+
else {
|
|
1869
|
+
tabManager = persistentSingleTabManager(undefined);
|
|
1870
|
+
}
|
|
1871
|
+
firestoreSettings.localCache = persistentLocalCache({
|
|
1872
|
+
tabManager,
|
|
1873
|
+
...persistentCacheSettings
|
|
1874
|
+
});
|
|
1875
|
+
}
|
|
1876
|
+
const firestore = initializeFirestore(firebaseApp, firestoreSettings);
|
|
1852
1877
|
const emulators = injector.get(DbxFirebaseParsedEmulatorsConfig, undefined);
|
|
1853
1878
|
if (emulators?.useEmulators && emulators?.firestore) {
|
|
1854
1879
|
connectFirestoreEmulator(firestore, emulators.firestore.host, emulators.firestore.port, {});
|
|
1855
1880
|
}
|
|
1856
|
-
if (firebaseOptions.enableMultiTabIndexedDbPersistence !== false) {
|
|
1857
|
-
enableMultiTabIndexedDbPersistence(firestore);
|
|
1858
|
-
}
|
|
1859
|
-
else if (firebaseOptions.enableIndexedDbPersistence !== false) {
|
|
1860
|
-
enableIndexedDbPersistence(firestore);
|
|
1861
|
-
}
|
|
1862
1881
|
return firestore;
|
|
1863
|
-
})
|
|
1882
|
+
})
|
|
1864
1883
|
]
|
|
1865
1884
|
}]
|
|
1866
1885
|
}] });
|