@dereekb/dbx-firebase 5.0.1 → 5.1.0
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/esm2020/lib/auth/appcheck/appcheck.interceptor.mjs +80 -0
- package/esm2020/lib/auth/appcheck/appcheck.mjs +11 -0
- package/esm2020/lib/auth/appcheck/index.mjs +3 -0
- package/esm2020/lib/auth/index.mjs +2 -1
- package/esm2020/lib/firebase/appcheck.mjs +2 -0
- package/esm2020/lib/firebase/firebase.module.mjs +102 -11
- package/esm2020/lib/firebase/index.mjs +2 -1
- package/esm2020/lib/firebase/options.mjs +3 -2
- package/fesm2015/dereekb-dbx-firebase.mjs +200 -22
- package/fesm2015/dereekb-dbx-firebase.mjs.map +1 -1
- package/fesm2020/dereekb-dbx-firebase.mjs +195 -22
- package/fesm2020/dereekb-dbx-firebase.mjs.map +1 -1
- package/lib/auth/appcheck/appcheck.d.ts +8 -0
- package/lib/auth/appcheck/appcheck.interceptor.d.ts +19 -0
- package/lib/auth/appcheck/index.d.ts +2 -0
- package/lib/auth/index.d.ts +1 -0
- package/lib/firebase/appcheck.d.ts +21 -0
- package/lib/firebase/firebase.module.d.ts +20 -10
- package/lib/firebase/index.d.ts +1 -0
- package/lib/firebase/options.d.ts +7 -0
- package/package.json +8 -7
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
import { urlWithoutParameters } from '@dereekb/util';
|
|
2
|
+
import { DBX_FIREBASE_OPTIONS_TOKEN } from '../../firebase/options';
|
|
3
|
+
import { getToken } from 'firebase/app-check';
|
|
4
|
+
import { switchMap, first, map, from, } from 'rxjs';
|
|
5
|
+
import { Inject, Injectable } from '@angular/core';
|
|
6
|
+
import { AppCheck } from '@angular/fire/app-check';
|
|
7
|
+
import * as i0 from "@angular/core";
|
|
8
|
+
import * as i1 from "@angular/fire/app-check";
|
|
9
|
+
/**
|
|
10
|
+
* HTTP Interceptor that sets the X-Firebase-AppCheck for any requests to the routes configured in DbxFirebaseOptions.
|
|
11
|
+
*/
|
|
12
|
+
export class DbxFirebaseAppCheckHttpInterceptor {
|
|
13
|
+
constructor(dbxFirebaseOptions, appCheck) {
|
|
14
|
+
this.dbxFirebaseOptions = dbxFirebaseOptions;
|
|
15
|
+
this.appCheck = appCheck;
|
|
16
|
+
let routes = [];
|
|
17
|
+
if (appCheck != null) {
|
|
18
|
+
routes = (this.dbxFirebaseOptions.appCheck?.appCheckRoutes ?? ['/api/*']).map((route) => {
|
|
19
|
+
const wildcardIndex = route.indexOf('*');
|
|
20
|
+
const isWildcard = (wildcardIndex === route.length - 1);
|
|
21
|
+
const match = (isWildcard) ? route.substring(0, wildcardIndex) : route;
|
|
22
|
+
return {
|
|
23
|
+
isWildcard,
|
|
24
|
+
match
|
|
25
|
+
};
|
|
26
|
+
});
|
|
27
|
+
}
|
|
28
|
+
this._appCheckRoutes = routes;
|
|
29
|
+
this._isEnabled = routes.length > 0;
|
|
30
|
+
}
|
|
31
|
+
intercept(req, next) {
|
|
32
|
+
let obs;
|
|
33
|
+
if (this._isEnabled) {
|
|
34
|
+
obs = this.matchesAnyRoute(req.url).pipe(switchMap((isMatch) => {
|
|
35
|
+
let nextEvent;
|
|
36
|
+
if (isMatch) {
|
|
37
|
+
nextEvent = from(getToken(this.appCheck).then((appCheckTokenResponse) => {
|
|
38
|
+
const token = appCheckTokenResponse.token;
|
|
39
|
+
let nextRequest = req;
|
|
40
|
+
if (token) {
|
|
41
|
+
nextRequest = req.clone({
|
|
42
|
+
headers: req.headers.set('X-Firebase-AppCheck', token)
|
|
43
|
+
});
|
|
44
|
+
}
|
|
45
|
+
return nextRequest;
|
|
46
|
+
})).pipe(switchMap((nextRequest) => next.handle(nextRequest)));
|
|
47
|
+
}
|
|
48
|
+
else {
|
|
49
|
+
nextEvent = next.handle(req);
|
|
50
|
+
}
|
|
51
|
+
return nextEvent;
|
|
52
|
+
}));
|
|
53
|
+
}
|
|
54
|
+
else {
|
|
55
|
+
obs = next.handle(req);
|
|
56
|
+
}
|
|
57
|
+
return obs;
|
|
58
|
+
}
|
|
59
|
+
matchesAnyRoute(inputUrl) {
|
|
60
|
+
const url = urlWithoutParameters(inputUrl);
|
|
61
|
+
function isEnabledRouteMatch(enabledRoute) {
|
|
62
|
+
if (enabledRoute.isWildcard) {
|
|
63
|
+
return url.startsWith(enabledRoute.match);
|
|
64
|
+
}
|
|
65
|
+
else {
|
|
66
|
+
return url === enabledRoute.match;
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
return from(this._appCheckRoutes).pipe(first((route) => isEnabledRouteMatch(route), false), map(x => Boolean(x)));
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
DbxFirebaseAppCheckHttpInterceptor.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxFirebaseAppCheckHttpInterceptor, deps: [{ token: DBX_FIREBASE_OPTIONS_TOKEN }, { token: i1.AppCheck }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
73
|
+
DbxFirebaseAppCheckHttpInterceptor.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxFirebaseAppCheckHttpInterceptor });
|
|
74
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxFirebaseAppCheckHttpInterceptor, decorators: [{
|
|
75
|
+
type: Injectable
|
|
76
|
+
}], ctorParameters: function () { return [{ type: undefined, decorators: [{
|
|
77
|
+
type: Inject,
|
|
78
|
+
args: [DBX_FIREBASE_OPTIONS_TOKEN]
|
|
79
|
+
}] }, { type: i1.AppCheck }]; } });
|
|
80
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwY2hlY2suaW50ZXJjZXB0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9kYngtZmlyZWJhc2Uvc3JjL2xpYi9hdXRoL2FwcGNoZWNrL2FwcGNoZWNrLmludGVyY2VwdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNyRCxPQUFPLEVBQUUsMEJBQTBCLEVBQXNCLE1BQU0sd0JBQXdCLENBQUM7QUFJeEYsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQzlDLE9BQU8sRUFFTCxTQUFTLEVBQ1QsS0FBSyxFQUNMLEdBQUcsRUFDSCxJQUFJLEdBQ0wsTUFBTSxNQUFNLENBQUM7QUFDZCxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0seUJBQXlCLENBQUM7OztBQU9uRDs7R0FFRztBQUVILE1BQU0sT0FBTyxrQ0FBa0M7SUFLN0MsWUFDOEMsa0JBQXNDLEVBQzFFLFFBQWtCO1FBRGtCLHVCQUFrQixHQUFsQixrQkFBa0IsQ0FBb0I7UUFDMUUsYUFBUSxHQUFSLFFBQVEsQ0FBVTtRQUUxQixJQUFJLE1BQU0sR0FBMkIsRUFBRSxDQUFDO1FBRXhDLElBQUksUUFBUSxJQUFJLElBQUksRUFBRTtZQUNwQixNQUFNLEdBQUcsQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsUUFBUSxFQUFFLGNBQWMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUU7Z0JBQ3RGLE1BQU0sYUFBYSxHQUFHLEtBQUssQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUM7Z0JBQ3pDLE1BQU0sVUFBVSxHQUFHLENBQUMsYUFBYSxLQUFLLEtBQUssQ0FBQyxNQUFNLEdB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dXJsV2l0aG91dFBhcmFtZXRlcnMgfSBmcm9tICdAZGVyZWVrYi91dGlsJztcbmltcG9ydCB7IERCWF9GSVJFQkFTRV9PUFRJT05TX1RPS0VOLCBEYnhGaXJlYmFzZU9wdGlvbnMgfSBmcm9tICcuLi8uLi9maXJlYmFzZS9vcHRpb25zJztcbmltcG9ydCB7XG4gIEh0dHBJbnRlcmNlcHRvciwgSHR0cFJlcXVlc3QsIEh0dHBIYW5kbGVyLCBIdHRwRXZlbnRcbn0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgZ2V0VG9rZW4gfSBmcm9tICdmaXJlYmFzZS9hcHAtY2hlY2snO1xuaW1wb3J0IHtcbiAgT2JzZXJ2YWJsZSxcbiAgc3dpdGNoTWFwLFxuICBmaXJzdCxcbiAgbWFwLFxuICBmcm9tLFxufSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQXBwQ2hlY2sgfSBmcm9tICdAYW5ndWxhci9maXJlL2FwcC1jaGVjayc7XG5cbmludGVyZmFjZSBFbmFibGVkQXBwQ2hlY2tSb3V0ZSB7XG4gIGlzV2lsZGNhcmQ6IGJvb2xlYW47XG4gIG1hdGNoOiBzdHJpbmc7XG59XG5cbi8qKlxuICogSFRUUCBJbnRlcmNlcHRvciB0aGF0IHNldHMgdGhlIFgtRmlyZWJhc2UtQXBwQ2hlY2sgZm9yIGFueSByZXF1ZXN0cyB0byB0aGUgcm91dGVzIGNvbmZpZ3VyZWQgaW4gRGJ4RmlyZWJhc2VPcHRpb25zLlxuICovXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgRGJ4RmlyZWJhc2VBcHBDaGVja0h0dHBJbnRlcmNlcHRvciBpbXBsZW1lbnRzIEh0dHBJbnRlcmNlcHRvciB7XG5cbiAgcHJpdmF0ZSBfaXNFbmFibGVkOiBib29sZWFuO1xuICBwcml2YXRlIF9hcHBDaGVja1JvdXRlczogRW5hYmxlZEFwcENoZWNrUm91dGVbXTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBASW5qZWN0KERCWF9GSVJFQkFTRV9PUFRJT05TX1RPS0VOKSBwcml2YXRlIGRieEZpcmViYXNlT3B0aW9uczogRGJ4RmlyZWJhc2VPcHRpb25zLFxuICAgIHByaXZhdGUgYXBwQ2hlY2s6IEFwcENoZWNrXG4gICkge1xuICAgIGxldCByb3V0ZXM6IEVuYWJsZWRBcHBDaGVja1JvdXRlW10gPSBbXTtcblxuICAgIGlmIChhcHBDaGVjayAhPSBudWxsKSB7XG4gICAgICByb3V0ZXMgPSAodGhpcy5kYnhGaXJlYmFzZU9wdGlvbnMuYXBwQ2hlY2s/LmFwcENoZWNrUm91dGVzID8/IFsnL2FwaS8qJ10pLm1hcCgocm91dGUpID0+IHtcbiAgICAgICAgY29uc3Qgd2lsZGNhcmRJbmRleCA9IHJvdXRlLmluZGV4T2YoJyonKTtcbiAgICAgICAgY29uc3QgaXNXaWxkY2FyZCA9ICh3aWxkY2FyZEluZGV4ID09PSByb3V0ZS5sZW5ndGggLSAxKTtcbiAgICAgICAgY29uc3QgbWF0Y2ggPSAoaXNXaWxkY2FyZCkgPyByb3V0ZS5zdWJzdHJpbmcoMCwgd2lsZGNhcmRJbmRleCkgOiByb3V0ZTtcblxuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgIGlzV2lsZGNhcmQsXG4gICAgICAgICAgbWF0Y2hcbiAgICAgICAgfTtcbiAgICAgIH0pO1xuICAgIH1cblxuICAgIHRoaXMuX2FwcENoZWNrUm91dGVzID0gcm91dGVzO1xuICAgIHRoaXMuX2lzRW5hYmxlZCA9IHJvdXRlcy5sZW5ndGggPiAwO1xuICB9XG5cbiAgaW50ZXJjZXB0KFxuICAgIHJlcTogSHR0cFJlcXVlc3Q8dW5rbm93bj4sXG4gICAgbmV4dDogSHR0cEhhbmRsZXJcbiAgKTogT2JzZXJ2YWJsZTxIdHRwRXZlbnQ8dW5rbm93bj4+IHtcblxuICAgIGxldCBvYnM6IE9ic2VydmFibGU8SHR0cEV2ZW50PHVua25vd24+PjtcblxuICAgIGlmICh0aGlzLl9pc0VuYWJsZWQpIHtcbiAgICAgIG9icyA9IHRoaXMubWF0Y2hlc0FueVJvdXRlKHJlcS51cmwpLnBpcGUoXG4gICAgICAgIHN3aXRjaE1hcCgoaXNNYXRjaCkgPT4ge1xuICAgICAgICAgIGxldCBuZXh0RXZlbnQ6IE9ic2VydmFibGU8SHR0cEV2ZW50PHVua25vd24+PjtcblxuICAgICAgICAgIGlmIChpc01hdGNoKSB7XG4gICAgICAgICAgICBuZXh0RXZlbnQgPSBmcm9tKGdldFRva2VuKHRoaXMuYXBwQ2hlY2spLnRoZW4oKGFwcENoZWNrVG9rZW5SZXNwb25zZSkgPT4ge1xuICAgICAgICAgICAgICBjb25zdCB0b2tlbiA9IGFwcENoZWNrVG9rZW5SZXNwb25zZS50b2tlbjtcbiAgICAgICAgICAgICAgbGV0IG5leHRSZXF1ZXN0OiBIdHRwUmVxdWVzdDx1bmtub3duPiA9IHJlcTtcblxuICAgICAgICAgICAgICBpZiAodG9rZW4pIHtcbiAgICAgICAgICAgICAgICBuZXh0UmVxdWVzdCA9IHJlcS5jbG9uZSh7XG4gICAgICAgICAgICAgICAgICBoZWFkZXJzOiByZXEuaGVhZGVycy5zZXQoJ1gtRmlyZWJhc2UtQXBwQ2hlY2snLCB0b2tlbilcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgIHJldHVybiBuZXh0UmVxdWVzdDtcbiAgICAgICAgICAgIH0pKS5waXBlKFxuICAgICAgICAgICAgICBzd2l0Y2hNYXAoKG5leHRSZXF1ZXN0KSA9PiBuZXh0LmhhbmRsZShuZXh0UmVxdWVzdCkpXG4gICAgICAgICAgICApO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBuZXh0RXZlbnQgPSBuZXh0LmhhbmRsZShyZXEpO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIHJldHVybiBuZXh0RXZlbnQ7XG4gICAgICAgIH0pXG4gICAgICApO1xuICAgIH0gZWxzZSB7XG4gICAgICBvYnMgPSBuZXh0LmhhbmRsZShyZXEpO1xuICAgIH1cblxuICAgIHJldHVybiBvYnM7XG4gIH1cblxuICBwcml2YXRlIG1hdGNoZXNBbnlSb3V0ZShpbnB1dFVybDogc3RyaW5nKTogT2JzZXJ2YWJsZTxib29sZWFuPiB7XG4gICAgY29uc3QgdXJsID0gdXJsV2l0aG91dFBhcmFtZXRlcnMoaW5wdXRVcmwpO1xuXG4gICAgZnVuY3Rpb24gaXNFbmFibGVkUm91dGVNYXRjaChlbmFibGVkUm91dGU6IEVuYWJsZWRBcHBDaGVja1JvdXRlKTogYm9vbGVhbiB7XG4gICAgICBpZiAoZW5hYmxlZFJvdXRlLmlzV2lsZGNhcmQpIHtcbiAgICAgICAgcmV0dXJuIHVybC5zdGFydHNXaXRoKGVuYWJsZWRSb3V0ZS5tYXRjaCk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICByZXR1cm4gdXJsID09PSBlbmFibGVkUm91dGUubWF0Y2g7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIGZyb20odGhpcy5fYXBwQ2hlY2tSb3V0ZXMpLnBpcGUoXG4gICAgICBmaXJzdCgocm91dGUpID0+IGlzRW5hYmxlZFJvdXRlTWF0Y2gocm91dGUpLCBmYWxzZSksXG4gICAgICBtYXAoeCA9PiBCb29sZWFuKHgpKVxuICAgICk7XG4gIH1cblxufVxuIl19
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Enables debug token generation for AppCheck by setting FIREBASE_APPCHECK_DEBUG_TOKEN in the browser's self/window.
|
|
3
|
+
*
|
|
4
|
+
* https://firebase.google.com/docs/app-check/web/debug-provider
|
|
5
|
+
*
|
|
6
|
+
* @param enable
|
|
7
|
+
*/
|
|
8
|
+
export function enableAppCheckDebugTokenGeneration(enable = true) {
|
|
9
|
+
self.FIREBASE_APPCHECK_DEBUG_TOKEN = enable;
|
|
10
|
+
}
|
|
11
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwY2hlY2suanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9kYngtZmlyZWJhc2Uvc3JjL2xpYi9hdXRoL2FwcGNoZWNrL2FwcGNoZWNrLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBOzs7Ozs7R0FNRztBQUNGLE1BQU0sVUFBVSxrQ0FBa0MsQ0FBQyxNQUFNLEdBQUcsSUFBSTtJQUM5RCxJQUE4RCxDQUFDLDZCQUE2QixHQUFHLE1BQU0sQ0FBQztBQUN6RyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiXG4vKipcbiAqIEVuYWJsZXMgZGVidWcgdG9rZW4gZ2VuZXJhdGlvbiBmb3IgQXBwQ2hlY2sgYnkgc2V0dGluZyBGSVJFQkFTRV9BUFBDSEVDS19ERUJVR19UT0tFTiBpbiB0aGUgYnJvd3NlcidzIHNlbGYvd2luZG93LlxuICogXG4gKiBodHRwczovL2ZpcmViYXNlLmdvb2dsZS5jb20vZG9jcy9hcHAtY2hlY2svd2ViL2RlYnVnLXByb3ZpZGVyXG4gKiBcbiAqIEBwYXJhbSBlbmFibGUgXG4gKi9cbiBleHBvcnQgZnVuY3Rpb24gZW5hYmxlQXBwQ2hlY2tEZWJ1Z1Rva2VuR2VuZXJhdGlvbihlbmFibGUgPSB0cnVlKSB7XG4gIChzZWxmIGFzIHVua25vd24gYXMgeyBGSVJFQkFTRV9BUFBDSEVDS19ERUJVR19UT0tFTjogYm9vbGVhbiB9KS5GSVJFQkFTRV9BUFBDSEVDS19ERUJVR19UT0tFTiA9IGVuYWJsZTtcbn1cbiJdfQ==
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
export * from './appcheck';
|
|
2
|
+
export * from './appcheck.interceptor';
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9kYngtZmlyZWJhc2Uvc3JjL2xpYi9hdXRoL2FwcGNoZWNrL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsWUFBWSxDQUFDO0FBQzNCLGNBQWMsd0JBQXdCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2FwcGNoZWNrJztcbmV4cG9ydCAqIGZyb20gJy4vYXBwY2hlY2suaW50ZXJjZXB0b3InO1xuIl19
|
|
@@ -1,6 +1,7 @@
|
|
|
1
|
+
export * from './appcheck';
|
|
1
2
|
export * from './login';
|
|
2
3
|
export * from './service';
|
|
3
4
|
export * from './firebase.auth.module';
|
|
4
5
|
export * from './auth';
|
|
5
6
|
export * from './error';
|
|
6
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
7
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9kYngtZmlyZWJhc2Uvc3JjL2xpYi9hdXRoL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsWUFBWSxDQUFDO0FBQzNCLGNBQWMsU0FBUyxDQUFDO0FBQ3hCLGNBQWMsV0FBVyxDQUFDO0FBQzFCLGNBQWMsd0JBQXdCLENBQUM7QUFDdkMsY0FBYyxRQUFRLENBQUM7QUFDdkIsY0FBYyxTQUFTLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2FwcGNoZWNrJztcbmV4cG9ydCAqIGZyb20gJy4vbG9naW4nO1xuZXhwb3J0ICogZnJvbSAnLi9zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vZmlyZWJhc2UuYXV0aC5tb2R1bGUnO1xuZXhwb3J0ICogZnJvbSAnLi9hdXRoJztcbmV4cG9ydCAqIGZyb20gJy4vZXJyb3InO1xuIl19
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwY2hlY2suanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9kYngtZmlyZWJhc2Uvc3JjL2xpYi9maXJlYmFzZS9hcHBjaGVjay50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQXBwQ2hlY2tPcHRpb25zIH0gZnJvbSAnQGZpcmViYXNlL2FwcC1jaGVjayc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgRGJ4RmlyZWJhc2VBcHBDaGVja0NvbmZpZyBleHRlbmRzIFBhcnRpYWw8T21pdDxBcHBDaGVja09wdGlvbnMsICdwcm92aWRlcic+PiB7XG4gIHJlQ2FwdGNoYVYzOiBzdHJpbmc7XG4gIC8qKlxuICAgKiBXaGV0aGVyIG9yIG5vdCB0byBlbmFibGUgQXBwQ2hlY2sgZGVidWcgdG9rZW5zLiBBcHBDaGVjayB0b2tlbnMgYXJlIG9ubHkgcHJpbnRlZCBpbnRvIHRoZSBjb25zb2xlLCBhbmQgbW9yZSBhY3Rpb25zIG11c3QgYmUgdGFrZW4uXG4gICAqIFNlZSBodHRwczovL2ZpcmViYXNlLmdvb2dsZS5jb20vZG9jcy9hcHAtY2hlY2svd2ViL2RlYnVnLXByb3ZpZGVyIGZvciBtb3JlIGluZm8uXG4gICAqIFxuICAgKiBEZWJ1ZyB0b2tlbnMgYXJlIG9ubHkgZ2VuZXJhdGVkIHdoZW4gZW11bGF0b3JzIGFyZSBkaXNhYmxlZCwgYW5kIGFsbG93RGVidWdUb2tlbnMgaXMgdHJ1ZS5cbiAgICovXG4gIGFsbG93RGVidWdUb2tlbnM/OiBib29sZWFuO1xuICAvKipcbiAgICogSWYgdHJ1ZSwgZGlzYWJsZXMgQXBwQ2hlY2sgaW5pdGlhbGl6YXRpb24gZm9yIHRoaXMgYXBwLlxuICAgKi9cbiAgZGlzYWJsZWQ/OiBib29sZWFuO1xuICAvKipcbiAgICogTGlzdCBvZiByb3V0ZXMgdGhhdCBhcHAgY2hlY2sgaXMgYXV0aG9yaXplZCB0byBoaXQuXG4gICAqIFxuICAgKiBJZiBub3QgZGVmaW5lZCwgL2FwaS8qIGFsbG93ZWQgYnkgZGVmYXVsdC5cbiAgICovXG4gIGFwcENoZWNrUm91dGVzPzogc3RyaW5nW107XG59XG4iXX0=
|
|
@@ -1,17 +1,24 @@
|
|
|
1
|
-
import { NgModule
|
|
1
|
+
import { NgModule } from '@angular/core';
|
|
2
2
|
import { initializeApp } from 'firebase/app';
|
|
3
|
+
import { initializeAppCheck, ReCaptchaV3Provider } from 'firebase/app-check';
|
|
3
4
|
import { FirebaseApp, provideFirebaseApp } from '@angular/fire/app';
|
|
4
5
|
import { provideStorage, getStorage, connectStorageEmulator } from '@angular/fire/storage';
|
|
5
6
|
import { provideFunctions, getFunctions, connectFunctionsEmulator } from '@angular/fire/functions';
|
|
6
7
|
import { provideFirestore, getFirestore, connectFirestoreEmulator, enableIndexedDbPersistence } from '@angular/fire/firestore';
|
|
7
8
|
import { provideAuth, getAuth, connectAuthEmulator } from '@angular/fire/auth';
|
|
9
|
+
import { provideAppCheck } from '@angular/fire/app-check';
|
|
8
10
|
import { DbxFirebaseParsedEmulatorsConfig } from './emulators';
|
|
11
|
+
import { DBX_FIREBASE_OPTIONS_TOKEN } from './options';
|
|
12
|
+
import { HTTP_INTERCEPTORS } from '@angular/common/http';
|
|
13
|
+
import { enableAppCheckDebugTokenGeneration } from '../auth/appcheck';
|
|
14
|
+
import { DbxFirebaseAppCheckHttpInterceptor } from '../auth/appcheck/appcheck.interceptor';
|
|
9
15
|
import * as i0 from "@angular/core";
|
|
10
16
|
import * as i1 from "@angular/fire/firestore";
|
|
11
|
-
import * as i2 from "@angular/fire/
|
|
12
|
-
import * as i3 from "@angular/fire/
|
|
13
|
-
import * as i4 from "@angular/fire/
|
|
14
|
-
import * as i5 from "@angular/fire/
|
|
17
|
+
import * as i2 from "@angular/fire/app-check";
|
|
18
|
+
import * as i3 from "@angular/fire/auth";
|
|
19
|
+
import * as i4 from "@angular/fire/storage";
|
|
20
|
+
import * as i5 from "@angular/fire/functions";
|
|
21
|
+
import * as i6 from "@angular/fire/app";
|
|
15
22
|
// TODO: remove "as any" typescript casting - https://github.com/angular/angularfire/issues/3086
|
|
16
23
|
/**
|
|
17
24
|
* Default firebase firestore provider module.
|
|
@@ -49,13 +56,96 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImpor
|
|
|
49
56
|
]
|
|
50
57
|
}]
|
|
51
58
|
}] });
|
|
59
|
+
/**
|
|
60
|
+
* Default firebase app check provider module.
|
|
61
|
+
*
|
|
62
|
+
* Also configures the DbxFirebaseAppCheckHttpInterceptor with HTTP_INTERCEPTORS in order for appCheck to be appended to requests to the api.
|
|
63
|
+
*/
|
|
64
|
+
export class DbxFirebaseDefaultAppCheckProviderModule {
|
|
65
|
+
}
|
|
66
|
+
DbxFirebaseDefaultAppCheckProviderModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxFirebaseDefaultAppCheckProviderModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
67
|
+
DbxFirebaseDefaultAppCheckProviderModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxFirebaseDefaultAppCheckProviderModule, imports: [i2.AppCheckModule] });
|
|
68
|
+
DbxFirebaseDefaultAppCheckProviderModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxFirebaseDefaultAppCheckProviderModule, providers: [
|
|
69
|
+
{
|
|
70
|
+
provide: HTTP_INTERCEPTORS,
|
|
71
|
+
useClass: DbxFirebaseAppCheckHttpInterceptor,
|
|
72
|
+
multi: true
|
|
73
|
+
}
|
|
74
|
+
], imports: [[
|
|
75
|
+
provideAppCheck(((injector) => {
|
|
76
|
+
const firebaseApp = injector.get(FirebaseApp);
|
|
77
|
+
const firebaseOptions = injector.get(DBX_FIREBASE_OPTIONS_TOKEN);
|
|
78
|
+
const appCheckOptions = firebaseOptions.appCheck;
|
|
79
|
+
const appCheckKnowinglyDisabled = appCheckOptions?.disabled === true || firebaseOptions.emulators?.useEmulators === true;
|
|
80
|
+
let appCheck;
|
|
81
|
+
if (appCheckOptions && !appCheckKnowinglyDisabled) {
|
|
82
|
+
// enable the debug tokens if not using emulators and allowDebugTokens is set true
|
|
83
|
+
if (firebaseOptions.emulators?.useEmulators !== true && appCheckOptions.allowDebugTokens) {
|
|
84
|
+
enableAppCheckDebugTokenGeneration(true);
|
|
85
|
+
}
|
|
86
|
+
// Only enabled outside of app-check environments. The emulators will not use appcheck.
|
|
87
|
+
appCheck = initializeAppCheck(firebaseApp, {
|
|
88
|
+
provider: new ReCaptchaV3Provider(appCheckOptions.reCaptchaV3),
|
|
89
|
+
isTokenAutoRefreshEnabled: appCheckOptions.isTokenAutoRefreshEnabled ?? true
|
|
90
|
+
});
|
|
91
|
+
console.debug('Enabled AppCheck.');
|
|
92
|
+
}
|
|
93
|
+
else {
|
|
94
|
+
appCheck = undefined;
|
|
95
|
+
if (!appCheckKnowinglyDisabled) {
|
|
96
|
+
console.error('dbx-firebase: No appcheck configuration for the app, and not specifically disabled in config either.');
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
return appCheck;
|
|
100
|
+
}))
|
|
101
|
+
]] });
|
|
102
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxFirebaseDefaultAppCheckProviderModule, decorators: [{
|
|
103
|
+
type: NgModule,
|
|
104
|
+
args: [{
|
|
105
|
+
imports: [
|
|
106
|
+
provideAppCheck(((injector) => {
|
|
107
|
+
const firebaseApp = injector.get(FirebaseApp);
|
|
108
|
+
const firebaseOptions = injector.get(DBX_FIREBASE_OPTIONS_TOKEN);
|
|
109
|
+
const appCheckOptions = firebaseOptions.appCheck;
|
|
110
|
+
const appCheckKnowinglyDisabled = appCheckOptions?.disabled === true || firebaseOptions.emulators?.useEmulators === true;
|
|
111
|
+
let appCheck;
|
|
112
|
+
if (appCheckOptions && !appCheckKnowinglyDisabled) {
|
|
113
|
+
// enable the debug tokens if not using emulators and allowDebugTokens is set true
|
|
114
|
+
if (firebaseOptions.emulators?.useEmulators !== true && appCheckOptions.allowDebugTokens) {
|
|
115
|
+
enableAppCheckDebugTokenGeneration(true);
|
|
116
|
+
}
|
|
117
|
+
// Only enabled outside of app-check environments. The emulators will not use appcheck.
|
|
118
|
+
appCheck = initializeAppCheck(firebaseApp, {
|
|
119
|
+
provider: new ReCaptchaV3Provider(appCheckOptions.reCaptchaV3),
|
|
120
|
+
isTokenAutoRefreshEnabled: appCheckOptions.isTokenAutoRefreshEnabled ?? true
|
|
121
|
+
});
|
|
122
|
+
console.debug('Enabled AppCheck.');
|
|
123
|
+
}
|
|
124
|
+
else {
|
|
125
|
+
appCheck = undefined;
|
|
126
|
+
if (!appCheckKnowinglyDisabled) {
|
|
127
|
+
console.error('dbx-firebase: No appcheck configuration for the app, and not specifically disabled in config either.');
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
return appCheck;
|
|
131
|
+
}))
|
|
132
|
+
],
|
|
133
|
+
providers: [
|
|
134
|
+
{
|
|
135
|
+
provide: HTTP_INTERCEPTORS,
|
|
136
|
+
useClass: DbxFirebaseAppCheckHttpInterceptor,
|
|
137
|
+
multi: true
|
|
138
|
+
}
|
|
139
|
+
]
|
|
140
|
+
}]
|
|
141
|
+
}] });
|
|
52
142
|
/**
|
|
53
143
|
* Default firebase auth provider module.
|
|
54
144
|
*/
|
|
55
145
|
export class DbxFirebaseDefaultAuthProviderModule {
|
|
56
146
|
}
|
|
57
147
|
DbxFirebaseDefaultAuthProviderModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxFirebaseDefaultAuthProviderModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
58
|
-
DbxFirebaseDefaultAuthProviderModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxFirebaseDefaultAuthProviderModule, imports: [
|
|
148
|
+
DbxFirebaseDefaultAuthProviderModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxFirebaseDefaultAuthProviderModule, imports: [i3.AuthModule] });
|
|
59
149
|
DbxFirebaseDefaultAuthProviderModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxFirebaseDefaultAuthProviderModule, imports: [[
|
|
60
150
|
provideAuth(((injector) => {
|
|
61
151
|
const firebaseApp = injector.get(FirebaseApp);
|
|
@@ -89,7 +179,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImpor
|
|
|
89
179
|
export class DbxFirebaseDefaultStorageProviderModule {
|
|
90
180
|
}
|
|
91
181
|
DbxFirebaseDefaultStorageProviderModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxFirebaseDefaultStorageProviderModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
92
|
-
DbxFirebaseDefaultStorageProviderModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxFirebaseDefaultStorageProviderModule, imports: [
|
|
182
|
+
DbxFirebaseDefaultStorageProviderModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxFirebaseDefaultStorageProviderModule, imports: [i4.StorageModule] });
|
|
93
183
|
DbxFirebaseDefaultStorageProviderModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxFirebaseDefaultStorageProviderModule, imports: [[
|
|
94
184
|
provideStorage(((injector) => {
|
|
95
185
|
const firebaseApp = injector.get(FirebaseApp);
|
|
@@ -123,7 +213,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImpor
|
|
|
123
213
|
export class DbxFirebaseDefaultFunctionsProviderModule {
|
|
124
214
|
}
|
|
125
215
|
DbxFirebaseDefaultFunctionsProviderModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxFirebaseDefaultFunctionsProviderModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
126
|
-
DbxFirebaseDefaultFunctionsProviderModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxFirebaseDefaultFunctionsProviderModule, imports: [
|
|
216
|
+
DbxFirebaseDefaultFunctionsProviderModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxFirebaseDefaultFunctionsProviderModule, imports: [i5.FunctionsModule] });
|
|
127
217
|
DbxFirebaseDefaultFunctionsProviderModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxFirebaseDefaultFunctionsProviderModule, imports: [[
|
|
128
218
|
provideFunctions(((injector) => {
|
|
129
219
|
const firebaseApp = injector.get(FirebaseApp);
|
|
@@ -155,7 +245,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImpor
|
|
|
155
245
|
]
|
|
156
246
|
}]
|
|
157
247
|
}] });
|
|
158
|
-
export const DBX_FIREBASE_OPTIONS_TOKEN = new InjectionToken('DbxFirebaseOptions');
|
|
159
248
|
/**
|
|
160
249
|
* Default provider module.
|
|
161
250
|
*/
|
|
@@ -173,12 +262,13 @@ export class DbxFirebaseDefaultFirebaseProvidersModule {
|
|
|
173
262
|
}
|
|
174
263
|
}
|
|
175
264
|
DbxFirebaseDefaultFirebaseProvidersModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxFirebaseDefaultFirebaseProvidersModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
176
|
-
DbxFirebaseDefaultFirebaseProvidersModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxFirebaseDefaultFirebaseProvidersModule, imports: [
|
|
265
|
+
DbxFirebaseDefaultFirebaseProvidersModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxFirebaseDefaultFirebaseProvidersModule, imports: [i6.FirebaseAppModule, DbxFirebaseDefaultAppCheckProviderModule, DbxFirebaseDefaultFirestoreProviderModule, DbxFirebaseDefaultAuthProviderModule, DbxFirebaseDefaultStorageProviderModule, DbxFirebaseDefaultFunctionsProviderModule] });
|
|
177
266
|
DbxFirebaseDefaultFirebaseProvidersModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.2", ngImport: i0, type: DbxFirebaseDefaultFirebaseProvidersModule, imports: [[
|
|
178
267
|
provideFirebaseApp(((injector) => {
|
|
179
268
|
const firebaseOptions = injector.get(DBX_FIREBASE_OPTIONS_TOKEN);
|
|
180
269
|
return initializeApp(firebaseOptions);
|
|
181
270
|
})),
|
|
271
|
+
DbxFirebaseDefaultAppCheckProviderModule,
|
|
182
272
|
DbxFirebaseDefaultFirestoreProviderModule,
|
|
183
273
|
DbxFirebaseDefaultAuthProviderModule,
|
|
184
274
|
DbxFirebaseDefaultStorageProviderModule,
|
|
@@ -192,6 +282,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImpor
|
|
|
192
282
|
const firebaseOptions = injector.get(DBX_FIREBASE_OPTIONS_TOKEN);
|
|
193
283
|
return initializeApp(firebaseOptions);
|
|
194
284
|
})),
|
|
285
|
+
DbxFirebaseDefaultAppCheckProviderModule,
|
|
195
286
|
DbxFirebaseDefaultFirestoreProviderModule,
|
|
196
287
|
DbxFirebaseDefaultAuthProviderModule,
|
|
197
288
|
DbxFirebaseDefaultStorageProviderModule,
|
|
@@ -199,4 +290,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.2", ngImpor
|
|
|
199
290
|
]
|
|
200
291
|
}]
|
|
201
292
|
}] });
|
|
202
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlyZWJhc2UubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZGJ4LWZpcmViYXNlL3NyYy9saWIvZmlyZWJhc2UvZmlyZWJhc2UubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBdUIsUUFBUSxFQUFZLGNBQWMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN4RixPQUFPLEVBQW1CLGFBQWEsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUM5RCxPQUFPLEVBQUUsV0FBVyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDcEUsT0FBTyxFQUFFLGNBQWMsRUFBRSxVQUFVLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUMzRixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsWUFBWSxFQUFFLHdCQUF3QixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDbkcsT0FBTyxFQUFFLGdCQUFnQixFQUFFLFlBQVksRUFBRSx3QkFBd0IsRUFBRSwwQkFBMEIsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQy9ILE9BQU8sRUFBRSxXQUFXLEVBQUUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDL0UsT0FBTyxFQUFFLGdDQUFnQyxFQUFFLE1BQU0sYUFBYSxDQUFDOzs7Ozs7O0FBRy9ELGdHQUFnRztBQUVoRzs7R0FFRztBQWtCSCxNQUFNLE9BQU8seUNBQXlDOztzSUFBekMseUNBQXlDO3VJQUF6Qyx5Q0FBeUM7dUlBQXpDLHlDQUF5QyxZQWhCM0M7WUFDUCxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsUUFBa0IsRUFBRSxFQUFFO2dCQUN2QyxNQUFNLFdBQVcsR0FBRyxRQUFRLENBQUMsR0FBRyxDQUFDLFdBQVcsQ0FBQyxDQUFDO2dCQUM5QyxNQUFNLFNBQVMsR0FBRyxZQUFZLENBQUMsV0FBVyxDQUFDLENBQUM7Z0JBQzVDLE1BQU0s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ZUFBZSxDQUFDLENBQUM7WUFDeEMsQ0FBQyxDQUFRLENBQUM7WUFDVix5Q0FBeUM7WUFDekMsb0NBQW9DO1lBQ3BDLHVDQUF1QztZQUN2Qyx5Q0FBeUM7U0FDMUM7MkZBRVUseUNBQXlDO2tCQVpyRCxRQUFRO21CQUFDO29CQUNSLE9BQU8sRUFBRTt3QkFDUCxrQkFBa0IsQ0FBQyxDQUFDLENBQUMsUUFBa0IsRUFBRSxFQUFFOzRCQUN6QyxNQUFNLGVBQWUsR0FBRyxRQUFRLENBQUMsR0FBRyxDQUFxQiwwQkFBMEIsQ0FBQyxDQUFDOzRCQUNyRixPQUFPLGFBQWEsQ0FBQyxlQUFlLENBQUMsQ0FBQzt3QkFDeEMsQ0FBQyxDQUFRLENBQUM7d0JBQ1YseUNBQXlDO3dCQUN6QyxvQ0FBb0M7d0JBQ3BDLHVDQUF1Qzt3QkFDdkMseUNBQXlDO3FCQUMxQztpQkFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE1vZHVsZVdpdGhQcm92aWRlcnMsIE5nTW9kdWxlLCBJbmplY3RvciwgSW5qZWN0aW9uVG9rZW4gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZpcmViYXNlT3B0aW9ucywgaW5pdGlhbGl6ZUFwcCB9IGZyb20gJ2ZpcmViYXNlL2FwcCc7XG5pbXBvcnQgeyBGaXJlYmFzZUFwcCwgcHJvdmlkZUZpcmViYXNlQXBwIH0gZnJvbSAnQGFuZ3VsYXIvZmlyZS9hcHAnO1xuaW1wb3J0IHsgcHJvdmlkZVN0b3JhZ2UsIGdldFN0b3JhZ2UsIGNvbm5lY3RTdG9yYWdlRW11bGF0b3IgfSBmcm9tICdAYW5ndWxhci9maXJlL3N0b3JhZ2UnO1xuaW1wb3J0IHsgcHJvdmlkZUZ1bmN0aW9ucywgZ2V0RnVuY3Rpb25zLCBjb25uZWN0RnVuY3Rpb25zRW11bGF0b3IgfSBmcm9tICdAYW5ndWxhci9maXJlL2Z1bmN0aW9ucyc7XG5pbXBvcnQgeyBwcm92aWRlRmlyZXN0b3JlLCBnZXRGaXJlc3RvcmUsIGNvbm5lY3RGaXJlc3RvcmVFbXVsYXRvciwgZW5hYmxlSW5kZXhlZERiUGVyc2lzdGVuY2UgfSBmcm9tICdAYW5ndWxhci9maXJlL2ZpcmVzdG9yZSc7XG5pbXBvcnQgeyBwcm92aWRlQXV0aCwgZ2V0QXV0aCwgY29ubmVjdEF1dGhFbXVsYXRvciB9IGZyb20gJ0Bhbmd1bGFyL2ZpcmUvYXV0aCc7XG5pbXBvcnQgeyBEYnhGaXJlYmFzZVBhcnNlZEVtdWxhdG9yc0NvbmZpZyB9IGZyb20gJy4vZW11bGF0b3JzJztcbmltcG9ydCB7IERieEZpcmViYXNlT3B0aW9ucyB9IGZyb20gJy4vb3B0aW9ucyc7XG5cbi8vIFRPRE86IHJlbW92ZSBcImFzIGFueVwiIHR5cGVzY3JpcHQgY2FzdGluZyAtIGh0dHBzOi8vZ2l0aHViLmNvbS9hbmd1bGFyL2FuZ3VsYXJmaXJlL2lzc3Vlcy8zMDg2XG5cbi8qKlxuICogRGVmYXVsdCBmaXJlYmFzZSBmaXJlc3RvcmUgcHJvdmlkZXIgbW9kdWxlLlxuICovXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbXG4gICAgcHJvdmlkZUZpcmVzdG9yZSgoKGluamVjdG9yOiBJbmplY3RvcikgPT4ge1xuICAgICAgY29uc3QgZmlyZWJhc2VBcHAgPSBpbmplY3Rvci5nZXQoRmlyZWJhc2VBcHApO1xuICAgICAgY29uc3QgZmlyZXN0b3JlID0gZ2V0RmlyZXN0b3JlKGZpcmViYXNlQXBwKTtcbiAgICAgIGNvbnN0IGVtdWxhdG9ycyA9IGluamVjdG9yLmdldDxEYnhGaXJlYmFzZVBhcnNlZEVtdWxhdG9yc0NvbmZpZz4oRGJ4RmlyZWJhc2VQYXJzZWRFbXVsYXRvcnNDb25maWcsIHVuZGVmaW5lZCk7XG5cbiAgICAgIGlmIChlbXVsYXRvcnM/LnVzZUVtdWxhdG9ycyAmJiBlbXVsYXRvcnM/LmZpcmVzdG9yZSkge1xuICAgICAgICBjb25uZWN0RmlyZXN0b3JlRW11bGF0b3IoZmlyZXN0b3JlLCBlbXVsYXRvcnMuZmlyZXN0b3JlLmhvc3QsIGVtdWxhdG9ycy5maXJlc3RvcmUucG9ydCwge30pO1xuICAgICAgfVxuXG4gICAgICBlbmFibGVJbmRleGVkRGJQZXJzaXN0ZW5jZShmaXJlc3RvcmUpO1xuXG4gICAgICByZXR1cm4gZmlyZXN0b3JlO1xuICAgIH0pIGFzIGFueSlcbiAgXVxufSlcbmV4cG9ydCBjbGFzcyBEYnhGaXJlYmFzZURlZmF1bHRGaXJlc3RvcmVQcm92aWRlck1vZHVsZSB7fVxuXG4vKipcbiAqIERlZmF1bHQgZmlyZWJhc2UgYXV0aCBwcm92aWRlciBtb2R1bGUuXG4gKi9cbkBOZ01vZHVsZSh7XG4gIGltcG9ydHM6IFtcbiAgICBwcm92aWRlQXV0aCgoKGluamVjdG9yOiBJbmplY3RvcikgPT4ge1xuICAgICAgY29uc3QgZmlyZWJhc2VBcHAgPSBpbmplY3Rvci5nZXQoRmlyZWJhc2VBcHApO1xuICAgICAgY29uc3QgYXV0aCA9IGdldEF1dGgoZmlyZWJhc2VBcHApO1xuICAgICAgY29uc3QgZW11bGF0b3JzID0gaW5qZWN0b3IuZ2V0PERieEZpcmViYXNlUGFyc2VkRW11bGF0b3JzQ29uZmlnPihEYnhGaXJlYmFzZVBhcnNlZEVtdWxhdG9yc0NvbmZpZywgdW5kZWZpbmVkKTtcblxuICAgICAgaWYgKGVtdWxhdG9ycz8udXNlRW11bGF0b3JzICYmIGVtdWxhdG9ycz8uYXV0aCkge1xuICAgICAgICBjb25uZWN0QXV0aEVtdWxhdG9yKGF1dGgsIGBodHRwOi8vJHtlbXVsYXRvcnMuYXV0aC5ob3N0fToke2VtdWxhdG9ycy5hdXRoLnBvcnR9YCk7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBhdXRoO1xuICAgIH0pIGFzIGFueSlcbiAgXVxufSlcbmV4cG9ydCBjbGFzcyBEYnhGaXJlYmFzZURlZmF1bHRBdXRoUHJvdmlkZXJNb2R1bGUge31cblxuLyoqXG4gKiBEZWZhdWx0IGZpcmViYXNlIHN0b3JhZ2UgcHJvdmlkZXIgbW9kdWxlLlxuICovXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbXG4gICAgcHJvdmlkZVN0b3JhZ2UoKChpbmplY3RvcjogSW5qZWN0b3IpID0+IHtcbiAgICAgIGNvbnN0IGZpcmViYXNlQXBwID0gaW5qZWN0b3IuZ2V0KEZpcmViYXNlQXBwKTtcbiAgICAgIGNvbnN0IHN0b3JhZ2UgPSBnZXRTdG9yYWdlKGZpcmViYXNlQXBwKTtcbiAgICAgIGNvbnN0IGVtdWxhdG9ycyA9IGluamVjdG9yLmdldDxEYnhGaXJlYmFzZVBhcnNlZEVtdWxhdG9yc0NvbmZpZz4oRGJ4RmlyZWJhc2VQYXJzZWRFbXVsYXRvcnNDb25maWcsIHVuZGVmaW5lZCk7XG5cbiAgICAgIGlmIChlbXVsYXRvcnM/LnVzZUVtdWxhdG9ycyAmJiBlbXVsYXRvcnM/LnN0b3JhZ2UpIHtcbiAgICAgICAgY29ubmVjdFN0b3JhZ2VFbXVsYXRvcihzdG9yYWdlLCBlbXVsYXRvcnMuc3RvcmFnZS5ob3N0LCBlbXVsYXRvcnMuc3RvcmFnZS5wb3J0LCB7fSk7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBzdG9yYWdlO1xuICAgIH0pIGFzIGFueSlcbiAgXVxufSlcbmV4cG9ydCBjbGFzcyBEYnhGaXJlYmFzZURlZmF1bHRTdG9yYWdlUHJvdmlkZXJNb2R1bGUge31cblxuLyoqXG4gKiBEZWZhdWx0IGZpcmViYXNlIGZ1bmN0aW9ucyBwcm92aWRlciBtb2R1bGUuXG4gKi9cbkBOZ01vZHVsZSh7XG4gIGltcG9ydHM6IFtcbiAgICBwcm92aWRlRnVuY3Rpb25zKCgoaW5qZWN0b3I6IEluamVjdG9yKSA9PiB7XG4gICAgICBjb25zdCBmaXJlYmFzZUFwcCA9IGluamVjdG9yLmdldChGaXJlYmFzZUFwcCk7XG4gICAgICBjb25zdCBmaXJlYmFzZU9wdGlvbnMgPSBpbmplY3Rvci5nZXQ8RGJ4RmlyZWJhc2VPcHRpb25zPihEQlhfRklSRUJBU0VfT1BUSU9OU19UT0tFTik7XG4gICAgICBjb25zdCB7IGZ1bmN0aW9uc1JlZ2lvbk9yQ3VzdG9tRG9tYWluIH0gPSBmaXJlYmFzZU9wdGlvbnM7XG5cbiAgICAgIGNvbnN0IGZ1bmN0aW9ucyA9IGdldEZ1bmN0aW9ucyhmaXJlYmFzZUFwcCwgZnVuY3Rpb25zUmVnaW9uT3JDdXN0b21Eb21haW4pO1xuICAgICAgY29uc3QgZW11bGF0b3JzID0gaW5qZWN0b3IuZ2V0PERieEZpcmViYXNlUGFyc2VkRW11bGF0b3JzQ29uZmlnPihEYnhGaXJlYmFzZVBhcnNlZEVtdWxhdG9yc0NvbmZpZywgdW5kZWZpbmVkKTtcblxuICAgICAgaWYgKGVtdWxhdG9ycz8udXNlRW11bGF0b3JzICYmIGVtdWxhdG9ycz8uZnVuY3Rpb25zKSB7XG4gICAgICAgIGNvbm5lY3RGdW5jdGlvbnNFbXVsYXRvcihmdW5jdGlvbnMsIGVtdWxhdG9ycy5mdW5jdGlvbnMuaG9zdCwgZW11bGF0b3JzLmZ1bmN0aW9ucy5wb3J0KTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIGZ1bmN0aW9ucztcbiAgICB9KSBhcyBhbnkpXG4gIF1cbn0pXG5leHBvcnQgY2xhc3MgRGJ4RmlyZWJhc2VEZWZhdWx0RnVuY3Rpb25zUHJvdmlkZXJNb2R1bGUge31cblxuZXhwb3J0IGNvbnN0IERCWF9GSVJFQkFTRV9PUFRJT05TX1RPS0VOID0gbmV3IEluamVjdGlvblRva2VuKCdEYnhGaXJlYmFzZU9wdGlvbnMnKTtcblxuLyoqXG4gKiBEZWZhdWx0IHByb3ZpZGVyIG1vZHVsZS5cbiAqL1xuQE5nTW9kdWxlKHtcbiAgaW1wb3J0czogW1xuICAgIHByb3ZpZGVGaXJlYmFzZUFwcCgoKGluamVjdG9yOiBJbmplY3RvcikgPT4ge1xuICAgICAgY29uc3QgZmlyZWJhc2VPcHRpb25zID0gaW5qZWN0b3IuZ2V0PERieEZpcmViYXNlT3B0aW9ucz4oREJYX0ZJUkVCQVNFX09QVElPTlNfVE9LRU4pO1xuICAgICAgcmV0dXJuIGluaXRpYWxpemVBcHAoZmlyZWJhc2VPcHRpb25zKTtcbiAgICB9KSBhcyBhbnkpLFxuICAgIERieEZpcmViYXNlRGVmYXVsdEZpcmVzdG9yZVByb3ZpZGVyTW9kdWxlLFxuICAgIERieEZpcmViYXNlRGVmYXVsdEF1dGhQcm92aWRlck1vZHVsZSxcbiAgICBEYnhGaXJlYmFzZURlZmF1bHRTdG9yYWdlUHJvdmlkZXJNb2R1bGUsXG4gICAgRGJ4RmlyZWJhc2VEZWZhdWx0RnVuY3Rpb25zUHJvdmlkZXJNb2R1bGVcbiAgXVxufSlcbmV4cG9ydCBjbGFzcyBEYnhGaXJlYmFzZURlZmF1bHRGaXJlYmFzZVByb3ZpZGVyc01vZHVsZSB7XG4gIHN0YXRpYyBmb3JSb290KGZpcmViYXNlT3B0aW9uczogRmlyZWJhc2VPcHRpb25zKTogTW9kdWxlV2l0aFByb3ZpZGVyczxEYnhGaXJlYmFzZURlZmF1bHRGaXJlYmFzZVByb3ZpZGVyc01vZHVsZT4ge1xuICAgIHJldHVybiB7XG4gICAgICBuZ01vZHVsZTogRGJ4RmlyZWJhc2VEZWZhdWx0RmlyZWJhc2VQcm92aWRlcnNNb2R1bGUsXG4gICAgICBwcm92aWRlcnM6IFtcbiAgICAgICAge1xuICAgICAgICAgIHByb3ZpZGU6IERCWF9GSVJFQkFTRV9PUFRJT05TX1RPS0VOLFxuICAgICAgICAgIHVzZVZhbHVlOiBmaXJlYmFzZU9wdGlvbnNcbiAgICAgICAgfVxuICAgICAgXVxuICAgIH07XG4gIH1cbn1cbiJdfQ==
|
|
293
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlyZWJhc2UubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZGJ4LWZpcmViYXNlL3NyYy9saWIvZmlyZWJhc2UvZmlyZWJhc2UubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBdUIsUUFBUSxFQUE0QixNQUFNLGVBQWUsQ0FBQztBQUN4RixPQUFPLEVBQW1CLGFBQWEsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUM5RCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUM3RSxPQUFPLEVBQUUsV0FBVyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDcEUsT0FBTyxFQUFFLGNBQWMsRUFBRSxVQUFVLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUMzRixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsWUFBWSxFQUFFLHdCQUF3QixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDbkcsT0FBTyxFQUFFLGdCQUFnQixFQUFFLFlBQVksRUFBRSx3QkFBd0IsRUFBRSwwQkFBMEIsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQy9ILE9BQU8sRUFBRSxXQUFXLEVBQUUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDL0UsT0FBTyxFQUFZLGVBQWUsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ3BFLE9BQU8sRUFBRSxnQ0FBZ0MsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUMvRCxPQUFPLEVBQXNCLDBCQUEwQixFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQzNFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3pELE9BQU8sRUFBRSxrQ0FBa0MsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ3RFLE9BQU8sRUFBRSxrQ0FBa0MsRUFBRSxNQUFNLHVDQUF1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Q29udGVudCI6WyJpbXBvcnQgeyBNb2R1bGVXaXRoUHJvdmlkZXJzLCBOZ01vZHVsZSwgSW5qZWN0b3IsIEluamVjdGlvblRva2VuIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGaXJlYmFzZU9wdGlvbnMsIGluaXRpYWxpemVBcHAgfSBmcm9tICdmaXJlYmFzZS9hcHAnO1xuaW1wb3J0IHsgaW5pdGlhbGl6ZUFwcENoZWNrLCBSZUNhcHRjaGFWM1Byb3ZpZGVyIH0gZnJvbSAnZmlyZWJhc2UvYXBwLWNoZWNrJztcbmltcG9ydCB7IEZpcmViYXNlQXBwLCBwcm92aWRlRmlyZWJhc2VBcHAgfSBmcm9tICdAYW5ndWxhci9maXJlL2FwcCc7XG5pbXBvcnQgeyBwcm92aWRlU3RvcmFnZSwgZ2V0U3RvcmFnZSwgY29ubmVjdFN0b3JhZ2VFbXVsYXRvciB9IGZyb20gJ0Bhbmd1bGFyL2ZpcmUvc3RvcmFnZSc7XG5pbXBvcnQgeyBwcm92aWRlRnVuY3Rpb25zLCBnZXRGdW5jdGlvbnMsIGNvbm5lY3RGdW5jdGlvbnNFbXVsYXRvciB9IGZyb20gJ0Bhbmd1bGFyL2ZpcmUvZnVuY3Rpb25zJztcbmltcG9ydCB7IHByb3ZpZGVGaXJlc3RvcmUsIGdldEZpcmVzdG9yZSwgY29ubmVjdEZpcmVzdG9yZUVtdWxhdG9yLCBlbmFibGVJbmRleGVkRGJQZXJzaXN0ZW5jZSB9IGZyb20gJ0Bhbmd1bGFyL2ZpcmUvZmlyZXN0b3JlJztcbmltcG9ydCB7IHByb3ZpZGVBdXRoLCBnZXRBdXRoLCBjb25uZWN0QXV0aEVtdWxhdG9yIH0gZnJvbSAnQGFuZ3VsYXIvZmlyZS9hdXRoJztcbmltcG9ydCB7IEFwcENoZWNrLCBwcm92aWRlQXBwQ2hlY2sgfSBmcm9tICdAYW5ndWxhci9maXJlL2FwcC1jaGVjayc7XG5pbXBvcnQgeyBEYnhGaXJlYmFzZVBhcnNlZEVtdWxhdG9yc0NvbmZpZyB9IGZyb20gJy4vZW11bGF0b3JzJztcbmltcG9ydCB7IERieEZpcmViYXNlT3B0aW9ucywgREJYX0ZJUkVCQVNFX09QVElPTlNfVE9LRU4gfSBmcm9tICcuL29wdGlvbnMnO1xuaW1wb3J0IHsgSFRUUF9JTlRFUkNFUFRPUlMgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBlbmFibGVBcHBDaGVja0RlYnVnVG9rZW5HZW5lcmF0aW9uIH0gZnJvbSAnLi4vYXV0aC9hcHBjaGVjayc7XG5pbXBvcnQgeyBEYnhGaXJlYmFzZUFwcENoZWNrSHR0cEludGVyY2VwdG9yIH0gZnJvbSAnLi4vYXV0aC9hcHBjaGVjay9hcHBjaGVjay5pbnRlcmNlcHRvcic7XG5cbi8vIFRPRE86IHJlbW92ZSBcImFzIGFueVwiIHR5cGVzY3JpcHQgY2FzdGluZyAtIGh0dHBzOi8vZ2l0aHViLmNvbS9hbmd1bGFyL2FuZ3VsYXJmaXJlL2lzc3Vlcy8zMDg2XG5cbi8qKlxuICogRGVmYXVsdCBmaXJlYmFzZSBmaXJlc3RvcmUgcHJvdmlkZXIgbW9kdWxlLlxuICovXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbXG4gICAgcHJvdmlkZUZpcmVzdG9yZSgoKGluamVjdG9yOiBJbmplY3RvcikgPT4ge1xuICAgICAgY29uc3QgZmlyZWJhc2VBcHAgPSBpbmplY3Rvci5nZXQoRmlyZWJhc2VBcHApO1xuICAgICAgY29uc3QgZmlyZXN0b3JlID0gZ2V0RmlyZXN0b3JlKGZpcmViYXNlQXBwKTtcbiAgICAgIGNvbnN0IGVtdWxhdG9ycyA9IGluamVjdG9yLmdldDxEYnhGaXJlYmFzZVBhcnNlZEVtdWxhdG9yc0NvbmZpZz4oRGJ4RmlyZWJhc2VQYXJzZWRFbXVsYXRvcnNDb25maWcsIHVuZGVmaW5lZCk7XG5cbiAgICAgIGlmIChlbXVsYXRvcnM/LnVzZUVtdWxhdG9ycyAmJiBlbXVsYXRvcnM/LmZpcmVzdG9yZSkge1xuICAgICAgICBjb25uZWN0RmlyZXN0b3JlRW11bGF0b3IoZmlyZXN0b3JlLCBlbXVsYXRvcnMuZmlyZXN0b3JlLmhvc3QsIGVtdWxhdG9ycy5maXJlc3RvcmUucG9ydCwge30pO1xuICAgICAgfVxuXG4gICAgICBlbmFibGVJbmRleGVkRGJQZXJzaXN0ZW5jZShmaXJlc3RvcmUpO1xuXG4gICAgICByZXR1cm4gZmlyZXN0b3JlO1xuICAgIH0pIGFzIGFueSlcbiAgXVxufSlcbmV4cG9ydCBjbGFzcyBEYnhGaXJlYmFzZURlZmF1bHRGaXJlc3RvcmVQcm92aWRlck1vZHVsZSB7IH1cblxuLyoqXG4gKiBEZWZhdWx0IGZpcmViYXNlIGFwcCBjaGVjayBwcm92aWRlciBtb2R1bGUuXG4gKiBcbiAqIEFsc28gY29uZmlndXJlcyB0aGUgRGJ4RmlyZWJhc2VBcHBDaGVja0h0dHBJbnRlcmNlcHRvciB3aXRoIEhUVFBfSU5URVJDRVBUT1JTIGluIG9yZGVyIGZvciBhcHBDaGVjayB0byBiZSBhcHBlbmRlZCB0byByZXF1ZXN0cyB0byB0aGUgYXBpLlxuICovXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbXG4gICAgcHJvdmlkZUFwcENoZWNrKCgoaW5qZWN0b3I6IEluamVjdG9yKSA9PiB7XG4gICAgICBjb25zdCBmaXJlYmFzZUFwcCA9IGluamVjdG9yLmdldChGaXJlYmFzZUFwcCk7XG4gICAgICBjb25zdCBmaXJlYmFzZU9wdGlvbnMgPSBpbmplY3Rvci5nZXQ8RGJ4RmlyZWJhc2VPcHRpb25zPihEQlhfRklSRUJBU0VfT1BUSU9OU19UT0tFTik7XG4gICAgICBjb25zdCBhcHBDaGVja09wdGlvbnMgPSBmaXJlYmFzZU9wdGlvbnMuYXBwQ2hlY2s7XG4gICAgICBjb25zdCBhcHBDaGVja0tub3dpbmdseURpc2FibGVkID0gYXBwQ2hlY2tPcHRpb25zPy5kaXNhYmxlZCA9PT0gdHJ1ZSB8fCBmaXJlYmFzZU9wdGlvbnMuZW11bGF0b3JzPy51c2VFbXVsYXRvcnMgPT09IHRydWU7XG4gICAgICBsZXQgYXBwQ2hlY2s6IEFwcENoZWNrO1xuXG4gICAgICBpZiAoYXBwQ2hlY2tPcHRpb25zICYmICFhcHBDaGVja0tub3dpbmdseURpc2FibGVkKSB7XG5cbiAgICAgICAgLy8gZW5hYmxlIHRoZSBkZWJ1ZyB0b2tlbnMgaWYgbm90IHVzaW5nIGVtdWxhdG9ycyBhbmQgYWxsb3dEZWJ1Z1Rva2VucyBpcyBzZXQgdHJ1ZVxuICAgICAgICBpZiAoZmlyZWJhc2VPcHRpb25zLmVtdWxhdG9ycz8udXNlRW11bGF0b3JzICE9PSB0cnVlICYmIGFwcENoZWNrT3B0aW9ucy5hbGxvd0RlYnVnVG9rZW5zKSB7XG4gICAgICAgICAgZW5hYmxlQXBwQ2hlY2tEZWJ1Z1Rva2VuR2VuZXJhdGlvbih0cnVlKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIE9ubHkgZW5hYmxlZCBvdXRzaWRlIG9mIGFwcC1jaGVjayBlbnZpcm9ubWVudHMuIFRoZSBlbXVsYXRvcnMgd2lsbCBub3QgdXNlIGFwcGNoZWNrLlxuICAgICAgICBhcHBDaGVjayA9IGluaXRpYWxpemVBcHBDaGVjayhmaXJlYmFzZUFwcCwge1xuICAgICAgICAgIHByb3ZpZGVyOiBuZXcgUmVDYXB0Y2hhVjNQcm92aWRlcihhcHBDaGVja09wdGlvbnMucmVDYXB0Y2hhVjMpLFxuICAgICAgICAgIGlzVG9rZW5BdXRvUmVmcmVzaEVuYWJsZWQ6IGFwcENoZWNrT3B0aW9ucy5pc1Rva2VuQXV0b1JlZnJlc2hFbmFibGVkID8/IHRydWVcbiAgICAgICAgfSk7XG5cbiAgICAgICAgY29uc29sZS5kZWJ1ZygnRW5hYmxlZCBBcHBDaGVjay4nKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGFwcENoZWNrID0gdW5kZWZpbmVkIGFzIHVua25vd24gYXMgQXBwQ2hlY2s7XG5cbiAgICAgICAgaWYgKCFhcHBDaGVja0tub3dpbmdseURpc2FibGVkKSB7XG4gICAgICAgICAgY29uc29sZS5lcnJvcignZGJ4LWZpcmViYXNlOiBObyBhcHBjaGVjayBjb25maWd1cmF0aW9uIGZvciB0aGUgYXBwLCBhbmQgbm90IHNwZWNpZmljYWxseSBkaXNhYmxlZCBpbiBjb25maWcgZWl0aGVyLicpO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBhcHBDaGVjaztcbiAgICB9KSBhcyBhbnkpXG4gIF0sXG4gIHByb3ZpZGVyczogW1xuICAgIHtcbiAgICAgIHByb3ZpZGU6IEhUVFBfSU5URVJDRVBUT1JTLFxuICAgICAgdXNlQ2xhc3M6IERieEZpcmViYXNlQXBwQ2hlY2tIdHRwSW50ZXJjZXB0b3IsXG4gICAgICBtdWx0aTogdHJ1ZVxuICAgIH1cbiAgXVxufSlcbmV4cG9ydCBjbGFzcyBEYnhGaXJlYmFzZURlZmF1bHRBcHBDaGVja1Byb3ZpZGVyTW9kdWxlIHsgfVxuXG4vKipcbiAqIERlZmF1bHQgZmlyZWJhc2UgYXV0aCBwcm92aWRlciBtb2R1bGUuXG4gKi9cbkBOZ01vZHVsZSh7XG4gIGltcG9ydHM6IFtcbiAgICBwcm92aWRlQXV0aCgoKGluamVjdG9yOiBJbmplY3RvcikgPT4ge1xuICAgICAgY29uc3QgZmlyZWJhc2VBcHAgPSBpbmplY3Rvci5nZXQoRmlyZWJhc2VBcHApO1xuICAgICAgY29uc3QgYXV0aCA9IGdldEF1dGgoZmlyZWJhc2VBcHApO1xuICAgICAgY29uc3QgZW11bGF0b3JzID0gaW5qZWN0b3IuZ2V0PERieEZpcmViYXNlUGFyc2VkRW11bGF0b3JzQ29uZmlnPihEYnhGaXJlYmFzZVBhcnNlZEVtdWxhdG9yc0NvbmZpZywgdW5kZWZpbmVkKTtcblxuICAgICAgaWYgKGVtdWxhdG9ycz8udXNlRW11bGF0b3JzICYmIGVtdWxhdG9ycz8uYXV0aCkge1xuICAgICAgICBjb25uZWN0QXV0aEVtdWxhdG9yKGF1dGgsIGBodHRwOi8vJHtlbXVsYXRvcnMuYXV0aC5ob3N0fToke2VtdWxhdG9ycy5hdXRoLnBvcnR9YCk7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBhdXRoO1xuICAgIH0pIGFzIGFueSlcbiAgXVxufSlcbmV4cG9ydCBjbGFzcyBEYnhGaXJlYmFzZURlZmF1bHRBdXRoUHJvdmlkZXJNb2R1bGUgeyB9XG5cbi8qKlxuICogRGVmYXVsdCBmaXJlYmFzZSBzdG9yYWdlIHByb3ZpZGVyIG1vZHVsZS5cbiAqL1xuQE5nTW9kdWxlKHtcbiAgaW1wb3J0czogW1xuICAgIHByb3ZpZGVTdG9yYWdlKCgoaW5qZWN0b3I6IEluamVjdG9yKSA9PiB7XG4gICAgICBjb25zdCBmaXJlYmFzZUFwcCA9IGluamVjdG9yLmdldChGaXJlYmFzZUFwcCk7XG4gICAgICBjb25zdCBzdG9yYWdlID0gZ2V0U3RvcmFnZShmaXJlYmFzZUFwcCk7XG4gICAgICBjb25zdCBlbXVsYXRvcnMgPSBpbmplY3Rvci5nZXQ8RGJ4RmlyZWJhc2VQYXJzZWRFbXVsYXRvcnNDb25maWc+KERieEZpcmViYXNlUGFyc2VkRW11bGF0b3JzQ29uZmlnLCB1bmRlZmluZWQpO1xuXG4gICAgICBpZiAoZW11bGF0b3JzPy51c2VFbXVsYXRvcnMgJiYgZW11bGF0b3JzPy5zdG9yYWdlKSB7XG4gICAgICAgIGNvbm5lY3RTdG9yYWdlRW11bGF0b3Ioc3RvcmFnZSwgZW11bGF0b3JzLnN0b3JhZ2UuaG9zdCwgZW11bGF0b3JzLnN0b3JhZ2UucG9ydCwge30pO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gc3RvcmFnZTtcbiAgICB9KSBhcyBhbnkpXG4gIF1cbn0pXG5leHBvcnQgY2xhc3MgRGJ4RmlyZWJhc2VEZWZhdWx0U3RvcmFnZVByb3ZpZGVyTW9kdWxlIHsgfVxuXG4vKipcbiAqIERlZmF1bHQgZmlyZWJhc2UgZnVuY3Rpb25zIHByb3ZpZGVyIG1vZHVsZS5cbiAqL1xuQE5nTW9kdWxlKHtcbiAgaW1wb3J0czogW1xuICAgIHByb3ZpZGVGdW5jdGlvbnMoKChpbmplY3RvcjogSW5qZWN0b3IpID0+IHtcbiAgICAgIGNvbnN0IGZpcmViYXNlQXBwID0gaW5qZWN0b3IuZ2V0KEZpcmViYXNlQXBwKTtcbiAgICAgIGNvbnN0IGZpcmViYXNlT3B0aW9ucyA9IGluamVjdG9yLmdldDxEYnhGaXJlYmFzZU9wdGlvbnM+KERCWF9GSVJFQkFTRV9PUFRJT05TX1RPS0VOKTtcbiAgICAgIGNvbnN0IHsgZnVuY3Rpb25zUmVnaW9uT3JDdXN0b21Eb21haW4gfSA9IGZpcmViYXNlT3B0aW9ucztcblxuICAgICAgY29uc3QgZnVuY3Rpb25zID0gZ2V0RnVuY3Rpb25zKGZpcmViYXNlQXBwLCBmdW5jdGlvbnNSZWdpb25PckN1c3RvbURvbWFpbik7XG4gICAgICBjb25zdCBlbXVsYXRvcnMgPSBpbmplY3Rvci5nZXQ8RGJ4RmlyZWJhc2VQYXJzZWRFbXVsYXRvcnNDb25maWc+KERieEZpcmViYXNlUGFyc2VkRW11bGF0b3JzQ29uZmlnLCB1bmRlZmluZWQpO1xuXG4gICAgICBpZiAoZW11bGF0b3JzPy51c2VFbXVsYXRvcnMgJiYgZW11bGF0b3JzPy5mdW5jdGlvbnMpIHtcbiAgICAgICAgY29ubmVjdEZ1bmN0aW9uc0VtdWxhdG9yKGZ1bmN0aW9ucywgZW11bGF0b3JzLmZ1bmN0aW9ucy5ob3N0LCBlbXVsYXRvcnMuZnVuY3Rpb25zLnBvcnQpO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gZnVuY3Rpb25zO1xuICAgIH0pIGFzIGFueSlcbiAgXVxufSlcbmV4cG9ydCBjbGFzcyBEYnhGaXJlYmFzZURlZmF1bHRGdW5jdGlvbnNQcm92aWRlck1vZHVsZSB7IH1cblxuLyoqXG4gKiBEZWZhdWx0IHByb3ZpZGVyIG1vZHVsZS5cbiAqL1xuQE5nTW9kdWxlKHtcbiAgaW1wb3J0czogW1xuICAgIHByb3ZpZGVGaXJlYmFzZUFwcCgoKGluamVjdG9yOiBJbmplY3RvcikgPT4ge1xuICAgICAgY29uc3QgZmlyZWJhc2VPcHRpb25zID0gaW5qZWN0b3IuZ2V0PERieEZpcmViYXNlT3B0aW9ucz4oREJYX0ZJUkVCQVNFX09QVElPTlNfVE9LRU4pO1xuICAgICAgcmV0dXJuIGluaXRpYWxpemVBcHAoZmlyZWJhc2VPcHRpb25zKTtcbiAgICB9KSBhcyBhbnkpLFxuICAgIERieEZpcmViYXNlRGVmYXVsdEFwcENoZWNrUHJvdmlkZXJNb2R1bGUsXG4gICAgRGJ4RmlyZWJhc2VEZWZhdWx0RmlyZXN0b3JlUHJvdmlkZXJNb2R1bGUsXG4gICAgRGJ4RmlyZWJhc2VEZWZhdWx0QXV0aFByb3ZpZGVyTW9kdWxlLFxuICAgIERieEZpcmViYXNlRGVmYXVsdFN0b3JhZ2VQcm92aWRlck1vZHVsZSxcbiAgICBEYnhGaXJlYmFzZURlZmF1bHRGdW5jdGlvbnNQcm92aWRlck1vZHVsZVxuICBdXG59KVxuZXhwb3J0IGNsYXNzIERieEZpcmViYXNlRGVmYXVsdEZpcmViYXNlUHJvdmlkZXJzTW9kdWxlIHtcblxuICBzdGF0aWMgZm9yUm9vdChmaXJlYmFzZU9wdGlvbnM6IEZpcmViYXNlT3B0aW9ucyk6IE1vZHVsZVdpdGhQcm92aWRlcnM8RGJ4RmlyZWJhc2VEZWZhdWx0RmlyZWJhc2VQcm92aWRlcnNNb2R1bGU+IHtcbiAgICByZXR1cm4ge1xuICAgICAgbmdNb2R1bGU6IERieEZpcmViYXNlRGVmYXVsdEZpcmViYXNlUHJvdmlkZXJzTW9kdWxlLFxuICAgICAgcHJvdmlkZXJzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICBwcm92aWRlOiBEQlhfRklSRUJBU0VfT1BUSU9OU19UT0tFTixcbiAgICAgICAgICB1c2VWYWx1ZTogZmlyZWJhc2VPcHRpb25zXG4gICAgICAgIH1cbiAgICAgIF1cbiAgICB9O1xuICB9XG5cbn1cbiJdfQ==
|
|
@@ -1,5 +1,6 @@
|
|
|
1
|
+
export * from './appcheck';
|
|
1
2
|
export * from './emulators';
|
|
2
3
|
export * from './firebase.module';
|
|
3
4
|
export * from './firebase.emulator.module';
|
|
4
5
|
export * from './options';
|
|
5
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
6
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9kYngtZmlyZWJhc2Uvc3JjL2xpYi9maXJlYmFzZS9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLFlBQVksQ0FBQztBQUMzQixjQUFjLGFBQWEsQ0FBQztBQUM1QixjQUFjLG1CQUFtQixDQUFDO0FBQ2xDLGNBQWMsNEJBQTRCLENBQUM7QUFDM0MsY0FBYyxXQUFXLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL2FwcGNoZWNrJztcbmV4cG9ydCAqIGZyb20gJy4vZW11bGF0b3JzJztcbmV4cG9ydCAqIGZyb20gJy4vZmlyZWJhc2UubW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vZmlyZWJhc2UuZW11bGF0b3IubW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vb3B0aW9ucyc7XG4iXX0=
|
|
@@ -1,2 +1,3 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
import { InjectionToken } from '@angular/core';
|
|
2
|
+
export const DBX_FIREBASE_OPTIONS_TOKEN = new InjectionToken('DbxFirebaseOptions');
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3B0aW9ucy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2RieC1maXJlYmFzZS9zcmMvbGliL2ZpcmViYXNlL29wdGlvbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQU0vQyxNQUFNLENBQUMsTUFBTSwwQkFBMEIsR0FBRyxJQUFJLGNBQWMsQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0aW9uVG9rZW4gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZpcmViYXNlT3B0aW9ucyB9IGZyb20gJ2ZpcmViYXNlL2FwcCc7XG5pbXBvcnQgeyBEYnhGaXJlYmFzZUxvZ2luTW9kdWxlUm9vdENvbmZpZyB9IGZyb20gJy4uL2F1dGgvbG9naW4vZmlyZWJhc2UubG9naW4ubW9kdWxlJztcbmltcG9ydCB7IERieEZpcmViYXNlQXBwQ2hlY2tDb25maWcgfSBmcm9tICcuL2FwcGNoZWNrJztcbmltcG9ydCB7IERieEZpcmViYXNlRW11bGF0b3JzQ29uZmlnIH0gZnJvbSAnLi9lbXVsYXRvcnMnO1xuXG5leHBvcnQgY29uc3QgREJYX0ZJUkVCQVNFX09QVElPTlNfVE9LRU4gPSBuZXcgSW5qZWN0aW9uVG9rZW4oJ0RieEZpcmViYXNlT3B0aW9ucycpO1xuXG5leHBvcnQgaW50ZXJmYWNlIERieEZpcmViYXNlT3B0aW9ucyBleHRlbmRzIEZpcmViYXNlT3B0aW9ucywgUGljazxEYnhGaXJlYmFzZUxvZ2luTW9kdWxlUm9vdENvbmZpZywgJ2VuYWJsZWRMb2dpbk1ldGhvZHMnPiB7XG4gIGVtdWxhdG9yczogRGJ4RmlyZWJhc2VFbXVsYXRvcnNDb25maWc7XG4gIC8qKlxuICAgKiBGaXJlYmFzZSBBcHBDaGVjayBoYW5kbGluZ1xuICAgKi9cbiAgYXBwQ2hlY2s/OiBEYnhGaXJlYmFzZUFwcENoZWNrQ29uZmlnO1xuICAvKipcbiAgICogUGFzc2VkIHRvIHRoZSBGdW5jdGlvbnMgaW5pdGlhbGl6YXRpb24gdG8gc2V0IHRoZSBkb21haW4gdG8gdXNlIHdoZW4gc2VuZGluZyByZXF1ZXN0cy5cbiAgICovXG4gIGZ1bmN0aW9uc1JlZ2lvbk9yQ3VzdG9tRG9tYWluPzogc3RyaW5nIHwgdW5kZWZpbmVkO1xufVxuIl19
|