@dereekb/dbx-firebase 9.9.4 → 9.10.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.
Files changed (34) hide show
  1. package/esm2020/lib/development/development.module.mjs +100 -0
  2. package/esm2020/lib/development/development.popup.component.mjs +48 -0
  3. package/esm2020/lib/development/development.popup.content.component.mjs +67 -0
  4. package/esm2020/lib/development/development.popup.content.form.component.mjs +43 -0
  5. package/esm2020/lib/development/development.popup.directive.mjs +81 -0
  6. package/esm2020/lib/development/development.scheduler.list.component.mjs +79 -0
  7. package/esm2020/lib/development/development.scheduler.service.mjs +85 -0
  8. package/esm2020/lib/development/development.scheduler.widget.component.mjs +40 -0
  9. package/esm2020/lib/development/development.service.mjs +30 -0
  10. package/esm2020/lib/development/development.widget.mjs +2 -0
  11. package/esm2020/lib/development/development.widget.service.mjs +60 -0
  12. package/esm2020/lib/development/index.mjs +13 -0
  13. package/esm2020/lib/function/firebase.function.module.mjs +15 -1
  14. package/esm2020/lib/index.mjs +2 -1
  15. package/fesm2015/dereekb-dbx-firebase.mjs +603 -29
  16. package/fesm2015/dereekb-dbx-firebase.mjs.map +1 -1
  17. package/fesm2020/dereekb-dbx-firebase.mjs +592 -29
  18. package/fesm2020/dereekb-dbx-firebase.mjs.map +1 -1
  19. package/lib/development/development.module.d.ts +32 -0
  20. package/lib/development/development.popup.component.d.ts +15 -0
  21. package/lib/development/development.popup.component.scss +4 -0
  22. package/lib/development/development.popup.content.component.d.ts +42 -0
  23. package/lib/development/development.popup.content.form.component.d.ts +18 -0
  24. package/lib/development/development.popup.directive.d.ts +25 -0
  25. package/lib/development/development.scheduler.list.component.d.ts +24 -0
  26. package/lib/development/development.scheduler.service.d.ts +33 -0
  27. package/lib/development/development.scheduler.widget.component.d.ts +13 -0
  28. package/lib/development/development.service.d.ts +17 -0
  29. package/lib/development/development.widget.d.ts +8 -0
  30. package/lib/development/development.widget.service.d.ts +29 -0
  31. package/lib/development/index.d.ts +12 -0
  32. package/lib/function/firebase.function.module.d.ts +8 -0
  33. package/lib/index.d.ts +1 -0
  34. package/package.json +7 -6
@@ -0,0 +1,85 @@
1
+ import { DbxAuthService } from '@dereekb/dbx-core';
2
+ import { tap, switchMap, BehaviorSubject, interval, combineLatest, map, exhaustMap, distinctUntilChanged, shareReplay } from 'rxjs';
3
+ import { PromiseUtility } from '@dereekb/util';
4
+ import { Inject, Injectable, InjectionToken, Optional } from '@angular/core';
5
+ import { lazyFrom, SubscriptionObject, switchMapWhileTrue, tapLog } from '@dereekb/rxjs';
6
+ import { FirebaseDevelopmentFunctions, ScheduledFunctionDevelopmentFunctionTypeEnum } from '@dereekb/firebase';
7
+ import * as i0 from "@angular/core";
8
+ import * as i1 from "@dereekb/dbx-core";
9
+ import * as i2 from "@dereekb/firebase";
10
+ /**
11
+ * Whether or not the scheduler should be enabled.
12
+ */
13
+ export const DEFAULT_FIREBASE_DEVELOPMENT_SCHEDULER_ENABLED_TOKEN = new InjectionToken('DefaultDbxFirebaseDevelopmentSchedulerEnabled');
14
+ /**
15
+ * Service used for hitting the scheduler in the development environment using the
16
+ */
17
+ export class DbxFirebaseDevelopmentSchedulerService {
18
+ constructor(_startEnabled, dbxAuthService, firebaseDevelopmentFunctions) {
19
+ this._startEnabled = _startEnabled;
20
+ this.dbxAuthService = dbxAuthService;
21
+ this.firebaseDevelopmentFunctions = firebaseDevelopmentFunctions;
22
+ this._sub = new SubscriptionObject();
23
+ this._enabled = new BehaviorSubject(this._startEnabled !== false);
24
+ this._timerInterval = new BehaviorSubject(60 * 1000);
25
+ this._error = new BehaviorSubject(false);
26
+ this.enabled$ = this._enabled.asObservable();
27
+ this.running$ = combineLatest([this._enabled, this.dbxAuthService.authUserState$.pipe(map((x) => x === 'user'))]).pipe(map(([enabled, userReady]) => enabled && userReady), distinctUntilChanged(), shareReplay(1));
28
+ this.timerInterval$ = this._timerInterval.asObservable();
29
+ this.error$ = this._error.pipe(distinctUntilChanged());
30
+ this.schedulerList$ = lazyFrom(() => {
31
+ return this.firebaseDevelopmentFunctions
32
+ .scheduledFunction({ type: ScheduledFunctionDevelopmentFunctionTypeEnum.LIST })
33
+ .then((result) => {
34
+ const list = result;
35
+ return list.list;
36
+ })
37
+ .catch((e) => {
38
+ console.error('Failed to retrieve development schedule list from server.', e);
39
+ throw e;
40
+ });
41
+ });
42
+ }
43
+ init() {
44
+ this._sub.subscription = this.running$
45
+ .pipe(tapLog('DbxFirebaseDevelopmentSchedulerService enabled state:'), switchMapWhileTrue(() => {
46
+ return combineLatest([this._timerInterval, this.schedulerList$]).pipe(switchMap(([timerInterval, schedulerList]) => {
47
+ const executionOrder = schedulerList.map((x) => x.name);
48
+ return interval(timerInterval).pipe(exhaustMap(() => {
49
+ console.log('Running scheduled tasks in order... ', executionOrder);
50
+ return PromiseUtility.runTasksForValues(executionOrder, (taskName) => this.runScheduledFunction(taskName), { sequential: true, retriesAllowed: 0, retryWait: 0 }).catch((e) => {
51
+ console.log('Failed running scheduled task: ', e);
52
+ this._error.next(true);
53
+ });
54
+ }), tap(() => {
55
+ console.log('Successfully finished running all scheduled tasks.');
56
+ this._error.next(false);
57
+ }));
58
+ }));
59
+ }))
60
+ .subscribe();
61
+ }
62
+ runScheduledFunction(taskName) {
63
+ return this.firebaseDevelopmentFunctions.scheduledFunction({
64
+ run: taskName,
65
+ type: ScheduledFunctionDevelopmentFunctionTypeEnum.RUN
66
+ });
67
+ }
68
+ setTimer(timerInterval) {
69
+ this._timerInterval.next(timerInterval);
70
+ }
71
+ }
72
+ DbxFirebaseDevelopmentSchedulerService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: DbxFirebaseDevelopmentSchedulerService, deps: [{ token: DEFAULT_FIREBASE_DEVELOPMENT_SCHEDULER_ENABLED_TOKEN, optional: true }, { token: i1.DbxAuthService }, { token: i2.FirebaseDevelopmentFunctions }], target: i0.ɵɵFactoryTarget.Injectable });
73
+ DbxFirebaseDevelopmentSchedulerService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: DbxFirebaseDevelopmentSchedulerService, providedIn: 'root' });
74
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: DbxFirebaseDevelopmentSchedulerService, decorators: [{
75
+ type: Injectable,
76
+ args: [{
77
+ providedIn: 'root'
78
+ }]
79
+ }], ctorParameters: function () { return [{ type: undefined, decorators: [{
80
+ type: Optional
81
+ }, {
82
+ type: Inject,
83
+ args: [DEFAULT_FIREBASE_DEVELOPMENT_SCHEDULER_ENABLED_TOKEN]
84
+ }] }, { type: i1.DbxAuthService }, { type: i2.FirebaseDevelopmentFunctions }]; } });
85
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGV2ZWxvcG1lbnQuc2NoZWR1bGVyLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9kYngtZmlyZWJhc2Uvc3JjL2xpYi9kZXZlbG9wbWVudC9kZXZlbG9wbWVudC5zY2hlZHVsZXIuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDbkQsT0FBTyxFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQUUsZUFBZSxFQUFjLFFBQVEsRUFBRSxhQUFhLEVBQUUsR0FBRyxFQUFFLFVBQVUsRUFBRSxvQkFBb0IsRUFBRSxXQUFXLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDaEosT0FBTyxFQUE2QixjQUFjLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDMUUsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsY0FBYyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM3RSxPQUFPLEVBQUUsUUFBUSxFQUFFLGtCQUFrQixFQUFFLGtCQUFrQixFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6RixPQUFPLEVBQUUsNEJBQTRCLEVBQWlILDRDQUE0QyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7Ozs7QUFFOU47O0dBRUc7QUFDSCxNQUFNLENBQUMsTUFBTSxvREFBb0QsR0FBRyxJQUFJLGNBQWMsQ0FBQywrQ0FBK0MsQ0FBQyxDQUFDO0FBRXhJOztHQUVHO0FBSUgsTUFBTSxPQUFPLHNDQUFzQztJQTRCakQsWUFBOEYsYUFBc0IsRUFBVyxjQUE4QixFQUFXLDRCQUEwRDtRQUFwSSxrQkFBYSxHQUFiLGFBQWEsQ0FBUztRQUFXLG1CQUFjLEdBQWQsY0FBYyxDQUFnQjtRQUFXLGlDQUE0QixHQUE1Qiw0QkFBNEIsQ0FBOEI7UUEzQjFOLFNBQUksR0FBRyxJQUFJLGtCQUFrQixFQUFFLENBQUM7UUFDaEMsYUFB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LE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7b0JBQ3pCLENBQUMsQ0FBQyxDQUFDO2dCQUNMLENBQUMsQ0FBQyxFQUNGLEdBQUcsQ0FBQyxHQUFHLEVBQUU7b0JBQ1AsT0FBTyxDQUFDLEdBQUcsQ0FBQyxvREFBb0QsQ0FBQyxDQUFDO29CQUNsRSxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztnQkFDMUIsQ0FBQyxDQUFDLENBQ0gsQ0FBQztZQUNKLENBQUMsQ0FBQyxDQUNILENBQUM7UUFDSixDQUFDLENBQUMsQ0FDSDthQUNBLFNBQVMsRUFBRSxDQUFDO0lBQ2pCLENBQUM7SUFFRCxvQkFBb0IsQ0FBQyxRQUFnQjtRQUNuQyxPQUFPLElBQUksQ0FBQyw0QkFBNEIsQ0FBQyxpQkFBaUIsQ0FBQztZQUN6RCxHQUFHLEVBQUUsUUFBUTtZQUNiLElBQUksRUFBRSw0Q0FBNEMsQ0FBQyxHQUFHO1NBQ3ZELENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxRQUFRLENBQUMsYUFBcUI7UUFDNUIsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUM7SUFDMUMsQ0FBQzs7bUlBckVVLHNDQUFzQyxrQkE0QmpCLG9EQUFvRDt1SUE1QnpFLHNDQUFzQyxjQUZyQyxNQUFNOzJGQUVQLHNDQUFzQztrQkFIbEQsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkI7OzBCQTZCYyxRQUFROzswQkFBSSxNQUFNOzJCQUFDLG9EQUFvRCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERieEF1dGhTZXJ2aWNlIH0gZnJvbSAnQGRlcmVla2IvZGJ4LWNvcmUnO1xuaW1wb3J0IHsgdGFwLCBzd2l0Y2hNYXAsIEJlaGF2aW9yU3ViamVjdCwgT2JzZXJ2YWJsZSwgaW50ZXJ2YWwsIGNvbWJpbmVMYXRlc3QsIG1hcCwgZXhoYXVzdE1hcCwgZGlzdGluY3RVbnRpbENoYW5nZWQsIHNoYXJlUmVwbGF5IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBJbml0aWFsaXplZCwgTWlsbGlzZWNvbmRzLCBQcm9taXNlVXRpbGl0eSB9IGZyb20gJ0BkZXJlZWtiL3V0aWwnO1xuaW1wb3J0IHsgSW5qZWN0LCBJbmplY3RhYmxlLCBJbmplY3Rpb25Ub2tlbiwgT3B0aW9uYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGxhenlGcm9tLCBTdWJzY3JpcHRpb25PYmplY3QsIHN3aXRjaE1hcFdoaWxlVHJ1ZSwgdGFwTG9nIH0gZnJvbSAnQGRlcmVla2Ivcnhqcyc7XG5pbXBvcnQgeyBGaXJlYmFzZURldmVsb3BtZW50RnVuY3Rpb25zLCBTY2hlZHVsZWRGdW5jdGlvbkRldmVsb3BtZW50RmlyZWJhc2VGdW5jdGlvbkxpc3RFbnRyeSwgU2NoZWR1bGVkRnVuY3Rpb25EZXZlbG9wbWVudEZpcmViYXNlRnVuY3Rpb25MaXN0UmVzdWx0LCBTY2hlZHVsZWRGdW5jdGlvbkRldmVsb3BtZW50RnVuY3Rpb25UeXBlRW51bSB9IGZyb20gJ0BkZXJlZWtiL2ZpcmViYXNlJztcblxuLyoqXG4gKiBXaGV0aGVyIG9yIG5vdCB0aGUgc2NoZWR1bGVyIHNob3VsZCBiZSBlbmFibGVkLlxuICovXG5leHBvcnQgY29uc3QgREVGQVVMVF9GSVJFQkFTRV9ERVZFTE9QTUVOVF9TQ0hFRFVMRVJfRU5BQkxFRF9UT0tFTiA9IG5ldyBJbmplY3Rpb25Ub2tlbignRGVmYXVsdERieEZpcmViYXNlRGV2ZWxvcG1lbnRTY2hlZHVsZXJFbmFibGVkJyk7XG5cbi8qKlxuICogU2VydmljZSB1c2VkIGZvciBoaXR0aW5nIHRoZSBzY2hlZHVsZXIgaW4gdGhlIGRldmVsb3BtZW50IGVudmlyb25tZW50IHVzaW5nIHRoZVxuICovXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBEYnhGaXJlYmFzZURldmVsb3BtZW50U2NoZWR1bGVyU2VydmljZSBpbXBsZW1lbnRzIEluaXRpYWxpemVkIHtcbiAgcHJpdmF0ZSBfc3ViID0gbmV3IFN1YnNjcmlwdGlvbk9iamVjdCgpO1xuICBwcml2YXRlIF9lbmFibGVkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxib29sZWFuPih0aGlzLl9zdGFydEVuYWJsZWQgIT09IGZhbHNlKTtcbiAgcHJpdmF0ZSBfdGltZXJJbnRlcnZhbCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8TWlsbGlzZWNvbmRzPig2MCAqIDEwMDApO1xuICBwcml2YXRlIF9lcnJvciA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4oZmFsc2UpO1xuXG4gIHJlYWRvbmx5IGVuYWJsZWQkID0gdGhpcy5fZW5hYmxlZC5hc09ic2VydmFibGUoKTtcbiAgcmVhZG9ubHkgcnVubmluZyQgPSBjb21iaW5lTGF0ZXN0KFt0aGlzLl9lbmFibGVkLCB0aGlzLmRieEF1dGhTZXJ2aWNlLmF1dGhVc2VyU3RhdGUkLnBpcGUobWFwKCh4KSA9PiB4ID09PSAndXNlcicpKV0pLnBpcGUoXG4gICAgbWFwKChbZW5hYmxlZCwgdXNlclJlYWR5XSkgPT4gZW5hYmxlZCAmJiB1c2VyUmVhZHkpLFxuICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKCksXG4gICAgc2hhcmVSZXBsYXkoMSlcbiAgKTtcbiAgcmVhZG9ubHkgdGltZXJJbnRlcnZhbCQgPSB0aGlzLl90aW1lckludGVydmFsLmFzT2JzZXJ2YWJsZSgpO1xuICByZWFkb25seSBlcnJvciQgPSB0aGlzLl9lcnJvci5waXBlKGRpc3RpbmN0VW50aWxDaGFuZ2VkKCkpO1xuXG4gIHJlYWRvbmx5IHNjaGVkdWxlckxpc3QkOiBPYnNlcnZhYmxlPFNjaGVkdWxlZEZ1bmN0aW9uRGV2ZWxvcG1lbnRGaXJlYmFzZUZ1bmN0aW9uTGlzdEVudHJ5W10+ID0gbGF6eUZyb20oKCkgPT4ge1xuICAgIHJldHVybiB0aGlzLmZpcmViYXNlRGV2ZWxvcG1lbnRGdW5jdGlvbnNcbiAgICAgIC5zY2hlZHVsZWRGdW5jdGlvbih7IHR5cGU6IFNjaGVkdWxlZEZ1bmN0aW9uRGV2ZWxvcG1lbnRGdW5jdGlvblR5cGVFbnVtLkxJU1QgfSlcbiAgICAgIC50aGVuKChyZXN1bHQpID0+IHtcbiAgICAgICAgY29uc3QgbGlzdCA9IHJlc3VsdCBhcyBTY2hlZHVsZWRGdW5jdGlvbkRldmVsb3BtZW50RmlyZWJhc2VGdW5jdGlvbkxpc3RSZXN1bHQ7XG4gICAgICAgIHJldHVybiBsaXN0Lmxpc3Q7XG4gICAgICB9KVxuICAgICAgLmNhdGNoKChlKSA9PiB7XG4gICAgICAgIGNvbnNvbGUuZXJyb3IoJ0ZhaWxlZCB0byByZXRyaWV2ZSBkZXZlbG9wbWVudCBzY2hlZHVsZSBsaXN0IGZyb20gc2VydmVyLicsIGUpO1xuICAgICAgICB0aHJvdyBlO1xuICAgICAgfSk7XG4gIH0pO1xuXG4gIGNvbnN0cnVjdG9yKEBPcHRpb25hbCgpIEBJbmplY3QoREVGQVVMVF9GSVJFQkFTRV9ERVZFTE9QTUVOVF9TQ0hFRFVMRVJfRU5BQkxFRF9UT0tFTikgcHJpdmF0ZSBfc3RhcnRFbmFibGVkOiBib29sZWFuLCByZWFkb25seSBkYnhBdXRoU2VydmljZTogRGJ4QXV0aFNlcnZpY2UsIHJlYWRvbmx5IGZpcmViYXNlRGV2ZWxvcG1lbnRGdW5jdGlvbnM6IEZpcmViYXNlRGV2ZWxvcG1lbnRGdW5jdGlvbnMpIHt9XG5cbiAgaW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLl9zdWIuc3Vic2NyaXB0aW9uID0gdGhpcy5ydW5uaW5nJFxuICAgICAgLnBpcGUoXG4gICAgICAgIHRhcExvZygnRGJ4RmlyZWJhc2VEZXZlbG9wbWVudFNjaGVkdWxlclNlcnZpY2UgZW5hYmxlZCBzdGF0ZTonKSxcbiAgICAgICAgc3dpdGNoTWFwV2hpbGVUcnVlKCgpID0+IHtcbiAgICAgICAgICByZXR1cm4gY29tYmluZUxhdGVzdChbdGhpcy5fdGltZXJJbnRlcnZhbCwgdGhpcy5zY2hlZHVsZXJMaXN0JF0pLnBpcGUoXG4gICAgICAgICAgICBzd2l0Y2hNYXAoKFt0aW1lckludGVydmFsLCBzY2hlZHVsZXJMaXN0XSkgPT4ge1xuICAgICAgICAgICAgICBjb25zdCBleGVjdXRpb25PcmRlcjogc3RyaW5nW10gPSBzY2hlZHVsZXJMaXN0Lm1hcCgoeCkgPT4geC5uYW1lKTtcblxuICAgICAgICAgICAgICByZXR1cm4gaW50ZXJ2YWwodGltZXJJbnRlcnZhbCkucGlwZShcbiAgICAgICAgICAgICAgICBleGhhdXN0TWFwKCgpID0+IHtcbiAgICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKCdSdW5uaW5nIHNjaGVkdWxlZCB0YXNrcyBpbiBvcmRlci4uLiAnLCBleGVjdXRpb25PcmRlcik7XG5cbiAgICAgICAgICAgICAgICAgIHJldHVybiBQcm9taXNlVXRpbGl0eS5ydW5UYXNrc0ZvclZhbHVlcyhleGVjdXRpb25PcmRlciwgKHRhc2tOYW1lKSA9PiB0aGlzLnJ1blNjaGVkdWxlZEZ1bmN0aW9uKHRhc2tOYW1lKSwgeyBzZXF1ZW50aWFsOiB0cnVlLCByZXRyaWVzQWxsb3dlZDogMCwgcmV0cnlXYWl0OiAwIH0pLmNhdGNoKChlKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnNvbGUubG9nKCdGYWlsZWQgcnVubmluZyBzY2hlZHVsZWQgdGFzazogJywgZSk7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuX2Vycm9yLm5leHQodHJ1ZSk7XG4gICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICAgICB0YXAoKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgY29uc29sZS5sb2coJ1N1Y2Nlc3NmdWxseSBmaW5pc2hlZCBydW5uaW5nIGFsbCBzY2hlZHVsZWQgdGFza3MuJyk7XG4gICAgICAgICAgICAgICAgICB0aGlzLl9lcnJvci5uZXh0KGZhbHNlKTtcbiAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgfSlcbiAgICAgICAgICApO1xuICAgICAgICB9KVxuICAgICAgKVxuICAgICAgLnN1YnNjcmliZSgpO1xuICB9XG5cbiAgcnVuU2NoZWR1bGVkRnVuY3Rpb24odGFza05hbWU6IHN0cmluZykge1xuICAgIHJldHVybiB0aGlzLmZpcmViYXNlRGV2ZWxvcG1lbnRGdW5jdGlvbnMuc2NoZWR1bGVkRnVuY3Rpb24oe1xuICAgICAgcnVuOiB0YXNrTmFtZSxcbiAgICAgIHR5cGU6IFNjaGVkdWxlZEZ1bmN0aW9uRGV2ZWxvcG1lbnRGdW5jdGlvblR5cGVFbnVtLlJVTlxuICAgIH0pO1xuICB9XG5cbiAgc2V0VGltZXIodGltZXJJbnRlcnZhbDogbnVtYmVyKSB7XG4gICAgdGhpcy5fdGltZXJJbnRlcnZhbC5uZXh0KHRpbWVySW50ZXJ2YWwpO1xuICB9XG59XG4iXX0=
@@ -0,0 +1,40 @@
1
+ import { Component } from '@angular/core';
2
+ import { loadingStateFromObs, tapLog } from '@dereekb/rxjs';
3
+ import { DbxFirebaseDevelopmentSchedulerService } from './development.scheduler.service';
4
+ import * as i0 from "@angular/core";
5
+ import * as i1 from "./development.scheduler.service";
6
+ import * as i2 from "./development.scheduler.list.component";
7
+ export const DEVELOPMENT_FIREBASE_SERVER_SCHEDULER_WIDGET_KEY = 'DEVELOPMENT_FIREBASE_SERVER_SCHEDULER_WIDGET';
8
+ export function developmentFirebaseServerSchedulerWidgetEntry() {
9
+ return {
10
+ label: 'Run Scheduled Task',
11
+ widget: {
12
+ type: DEVELOPMENT_FIREBASE_SERVER_SCHEDULER_WIDGET_KEY,
13
+ componentClass: DbxFirebaseDevelopmentSchedulerWidgetComponent
14
+ }
15
+ };
16
+ }
17
+ export class DbxFirebaseDevelopmentSchedulerWidgetComponent {
18
+ constructor(dbxFirebaseDevelopmentSchedulerService) {
19
+ this.dbxFirebaseDevelopmentSchedulerService = dbxFirebaseDevelopmentSchedulerService;
20
+ this.entries$ = this.dbxFirebaseDevelopmentSchedulerService.schedulerList$;
21
+ this.state$ = loadingStateFromObs(this.entries$).pipe(tapLog('x'));
22
+ }
23
+ }
24
+ DbxFirebaseDevelopmentSchedulerWidgetComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: DbxFirebaseDevelopmentSchedulerWidgetComponent, deps: [{ token: i1.DbxFirebaseDevelopmentSchedulerService }], target: i0.ɵɵFactoryTarget.Component });
25
+ DbxFirebaseDevelopmentSchedulerWidgetComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.1.2", type: DbxFirebaseDevelopmentSchedulerWidgetComponent, selector: "ng-component", ngImport: i0, template: `
26
+ <div>
27
+ <dbx-firebase-development-scheduler-list [state$]="state$"></dbx-firebase-development-scheduler-list>
28
+ </div>
29
+ `, isInline: true, dependencies: [{ kind: "component", type: i2.DbxFirebaseDevelopmentSchedulerListComponent, selector: "dbx-firebase-development-scheduler-list" }] });
30
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: DbxFirebaseDevelopmentSchedulerWidgetComponent, decorators: [{
31
+ type: Component,
32
+ args: [{
33
+ template: `
34
+ <div>
35
+ <dbx-firebase-development-scheduler-list [state$]="state$"></dbx-firebase-development-scheduler-list>
36
+ </div>
37
+ `
38
+ }]
39
+ }], ctorParameters: function () { return [{ type: i1.DbxFirebaseDevelopmentSchedulerService }]; } });
40
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGV2ZWxvcG1lbnQuc2NoZWR1bGVyLndpZGdldC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9kYngtZmlyZWJhc2Uvc3JjL2xpYi9kZXZlbG9wbWVudC9kZXZlbG9wbWVudC5zY2hlZHVsZXIud2lkZ2V0LmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzFDLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDNUQsT0FBTyxFQUFFLHNDQUFzQyxFQUFFLE1BQU0saUNBQWlDLENBQUM7Ozs7QUFHekYsTUFBTSxDQUFDLE1BQU0sZ0RBQWdELEdBQUcsOENBQThDLENBQUM7QUFFL0csTUFBTSxVQUFVLDZDQUE2QztJQUMzRCxPQUFPO1FBQ0wsS0FBSyxFQUFFLG9CQUFvQjtRQUMzQixNQUFNLEVBQUU7WUFDTixJQUFJLEVBQUUsZ0RBQWdEO1lBQ3RELGNBQWMsRUFBRSw4Q0FBOEM7U0FDL0Q7S0FDRixDQUFDO0FBQ0osQ0FBQztBQVNELE1BQU0sT0FBTyw4Q0FBOEM7SUFJekQsWUFBcUIsc0NBQThFO1FBQTlFLDJDQUFzQyxHQUF0QyxzQ0FBc0MsQ0FBd0M7UUFIMUYsYUFBUSxHQUFHLElBQUksQ0FBQyxzQ0FBc0MsQ0FBQyxjQUFjLENBQUM7UUFDdEUsV0FBTSxHQUFHLG1CQUFtQixDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7SUFFK0IsQ0FBQzs7MklBSjVGLDhDQUE4QzsrSEFBOUMsOENBQThDLG9EQU4vQzs7OztHQUlUOzJGQUVVLDhDQUE4QztrQkFQMUQsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUU7Ozs7R0FJVDtpQkFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgbG9hZGluZ1N0YXRlRnJvbU9icywgdGFwTG9nIH0gZnJvbSAnQGRlcmVla2Ivcnhqcyc7XG5pbXBvcnQgeyBEYnhGaXJlYmFzZURldmVsb3BtZW50U2NoZWR1bGVyU2VydmljZSB9IGZyb20gJy4vZGV2ZWxvcG1lbnQuc2NoZWR1bGVyLnNlcnZpY2UnO1xuaW1wb3J0IHsgRGJ4RmlyZWJhc2VEZXZlbG9wbWVudFdpZGdldEVudHJ5IH0gZnJvbSAnLi9kZXZlbG9wbWVudC53aWRnZXQnO1xuXG5leHBvcnQgY29uc3QgREVWRUxPUE1FTlRfRklSRUJBU0VfU0VSVkVSX1NDSEVEVUxFUl9XSURHRVRfS0VZID0gJ0RFVkVMT1BNRU5UX0ZJUkVCQVNFX1NFUlZFUl9TQ0hFRFVMRVJfV0lER0VUJztcblxuZXhwb3J0IGZ1bmN0aW9uIGRldmVsb3BtZW50RmlyZWJhc2VTZXJ2ZXJTY2hlZHVsZXJXaWRnZXRFbnRyeSgpOiBEYnhGaXJlYmFzZURldmVsb3BtZW50V2lkZ2V0RW50cnkge1xuICByZXR1cm4ge1xuICAgIGxhYmVsOiAnUnVuIFNjaGVkdWxlZCBUYXNrJyxcbiAgICB3aWRnZXQ6IHtcbiAgICAgIHR5cGU6IERFVkVMT1BNRU5UX0ZJUkVCQVNFX1NFUlZFUl9TQ0hFRFVMRVJfV0lER0VUX0tFWSxcbiAgICAgIGNvbXBvbmVudENsYXNzOiBEYnhGaXJlYmFzZURldmVsb3BtZW50U2NoZWR1bGVyV2lkZ2V0Q29tcG9uZW50XG4gICAgfVxuICB9O1xufVxuXG5AQ29tcG9uZW50KHtcbiAgdGVtcGxhdGU6IGBcbiAgICA8ZGl2PlxuICAgICAgPGRieC1maXJlYmFzZS1kZXZlbG9wbWVudC1zY2hlZHVsZXItbGlzdCBbc3RhdGUkXT1cInN0YXRlJFwiPjwvZGJ4LWZpcmViYXNlLWRldmVsb3BtZW50LXNjaGVkdWxlci1saXN0PlxuICAgIDwvZGl2PlxuICBgXG59KVxuZXhwb3J0IGNsYXNzIERieEZpcmViYXNlRGV2ZWxvcG1lbnRTY2hlZHVsZXJXaWRnZXRDb21wb25lbnQge1xuICByZWFkb25seSBlbnRyaWVzJCA9IHRoaXMuZGJ4RmlyZWJhc2VEZXZlbG9wbWVudFNjaGVkdWxlclNlcnZpY2Uuc2NoZWR1bGVyTGlzdCQ7XG4gIHJlYWRvbmx5IHN0YXRlJCA9IGxvYWRpbmdTdGF0ZUZyb21PYnModGhpcy5lbnRyaWVzJCkucGlwZSh0YXBMb2coJ3gnKSk7XG5cbiAgY29uc3RydWN0b3IocmVhZG9ubHkgZGJ4RmlyZWJhc2VEZXZlbG9wbWVudFNjaGVkdWxlclNlcnZpY2U6IERieEZpcmViYXNlRGV2ZWxvcG1lbnRTY2hlZHVsZXJTZXJ2aWNlKSB7fVxufVxuIl19
@@ -0,0 +1,30 @@
1
+ import { Inject, Injectable, InjectionToken, Optional } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ /**
4
+ * Enabled state
5
+ */
6
+ export const DEFAULT_FIREBASE_DEVELOPMENT_ENABLED_TOKEN = new InjectionToken('DefaultDbxFirebaseDevelopmentEnabled');
7
+ /**
8
+ * Service used for registering widgets used for development.
9
+ *
10
+ * Default providers can be configured by the DEFAULT_FIREBASE_AUTH_LOGIN_PROVIDERS_TOKEN injectable value.
11
+ */
12
+ export class DbxFirebaseDevelopmentService {
13
+ constructor(enabled) {
14
+ this.enabled = enabled;
15
+ }
16
+ }
17
+ DbxFirebaseDevelopmentService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: DbxFirebaseDevelopmentService, deps: [{ token: DEFAULT_FIREBASE_DEVELOPMENT_ENABLED_TOKEN, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });
18
+ DbxFirebaseDevelopmentService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: DbxFirebaseDevelopmentService, providedIn: 'root' });
19
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: DbxFirebaseDevelopmentService, decorators: [{
20
+ type: Injectable,
21
+ args: [{
22
+ providedIn: 'root'
23
+ }]
24
+ }], ctorParameters: function () { return [{ type: undefined, decorators: [{
25
+ type: Optional
26
+ }, {
27
+ type: Inject,
28
+ args: [DEFAULT_FIREBASE_DEVELOPMENT_ENABLED_TOKEN]
29
+ }] }]; } });
30
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGV2ZWxvcG1lbnQuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2RieC1maXJlYmFzZS9zcmMvbGliL2RldmVsb3BtZW50L2RldmVsb3BtZW50LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsY0FBYyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFHN0U7O0dBRUc7QUFDSCxNQUFNLENBQUMsTUFBTSwwQ0FBMEMsR0FBRyxJQUFJLGNBQWMsQ0FBQyxzQ0FBc0MsQ0FBQyxDQUFDO0FBRXJIOzs7O0dBSUc7QUFJSCxNQUFNLE9BQU8sNkJBQTZCO0lBQ3hDLFlBQXFGLE9BQWdCO1FBQWhCLFlBQU8sR0FBUCxPQUFPLENBQVM7SUFBRyxDQUFDOzswSEFEOUYsNkJBQTZCLGtCQUNSLDBDQUEwQzs4SEFEL0QsNkJBQTZCLGNBRjVCLE1BQU07MkZBRVAsNkJBQTZCO2tCQUh6QyxVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQjs7MEJBRWMsUUFBUTs7MEJBQUksTUFBTTsyQkFBQywwQ0FBMEMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBpdGVyYWJsZVRvQXJyYXkgfSBmcm9tICdAZGVyZWVrYi91dGlsJztcbmltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSwgSW5qZWN0aW9uVG9rZW4sIE9wdGlvbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBEYnhXaWRnZXRFbnRyeSwgRGJ4V2lkZ2V0VHlwZSB9IGZyb20gJ0BkZXJlZWtiL2RieC13ZWInO1xuXG4vKipcbiAqIEVuYWJsZWQgc3RhdGVcbiAqL1xuZXhwb3J0IGNvbnN0IERFRkFVTFRfRklSRUJBU0VfREVWRUxPUE1FTlRfRU5BQkxFRF9UT0tFTiA9IG5ldyBJbmplY3Rpb25Ub2tlbignRGVmYXVsdERieEZpcmViYXNlRGV2ZWxvcG1lbnRFbmFibGVkJyk7XG5cbi8qKlxuICogU2VydmljZSB1c2VkIGZvciByZWdpc3RlcmluZyB3aWRnZXRzIHVzZWQgZm9yIGRldmVsb3BtZW50LlxuICpcbiAqIERlZmF1bHQgcHJvdmlkZXJzIGNhbiBiZSBjb25maWd1cmVkIGJ5IHRoZSBERUZBVUxUX0ZJUkVCQVNFX0FVVEhfTE9HSU5fUFJPVklERVJTX1RPS0VOIGluamVjdGFibGUgdmFsdWUuXG4gKi9cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIERieEZpcmViYXNlRGV2ZWxvcG1lbnRTZXJ2aWNlIHtcbiAgY29uc3RydWN0b3IoQE9wdGlvbmFsKCkgQEluamVjdChERUZBVUxUX0ZJUkVCQVNFX0RFVkVMT1BNRU5UX0VOQUJMRURfVE9LRU4pIHJlYWRvbmx5IGVuYWJsZWQ6IGJvb2xlYW4pIHt9XG59XG4iXX0=
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGV2ZWxvcG1lbnQud2lkZ2V0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZGJ4LWZpcmViYXNlL3NyYy9saWIvZGV2ZWxvcG1lbnQvZGV2ZWxvcG1lbnQud2lkZ2V0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEYnhXaWRnZXRFbnRyeSB9IGZyb20gJ0BkZXJlZWtiL2RieC13ZWInO1xuXG5leHBvcnQgaW50ZXJmYWNlIERieEZpcmViYXNlRGV2ZWxvcG1lbnRXaWRnZXRFbnRyeSB7XG4gIHJlYWRvbmx5IGxhYmVsOiBzdHJpbmc7XG4gIC8qKlxuICAgKiBXaWRnZXQgZW50cnkgZm9yIHRoaXMgcHJvdmlkZXIuXG4gICAqL1xuICByZWFkb25seSB3aWRnZXQ6IERieFdpZGdldEVudHJ5O1xufVxuIl19
@@ -0,0 +1,60 @@
1
+ import { iterableToArray } from '@dereekb/util';
2
+ import { Inject, Injectable, InjectionToken, Optional } from '@angular/core';
3
+ import { DbxWidgetService } from '@dereekb/dbx-web';
4
+ import * as i0 from "@angular/core";
5
+ import * as i1 from "@dereekb/dbx-web";
6
+ /**
7
+ * Default providers to inject.
8
+ */
9
+ export const DEFAULT_FIREBASE_DEVELOPMENT_WIDGET_PROVIDERS_TOKEN = new InjectionToken('DefaultDbxFirebaseDevelopmentWidgetEntries');
10
+ /**
11
+ * Service used for registering widgets used for development.
12
+ *
13
+ * Default providers can be configured by the DEFAULT_FIREBASE_AUTH_LOGIN_PROVIDERS_TOKEN injectable value.
14
+ */
15
+ export class DbxFirebaseDevelopmentWidgetService {
16
+ constructor(defaultEntries, dbxWidgetService) {
17
+ this.dbxWidgetService = dbxWidgetService;
18
+ this._entries = new Map();
19
+ if (defaultEntries) {
20
+ defaultEntries.forEach((x) => this.register(x, false));
21
+ }
22
+ }
23
+ /**
24
+ * Used to register a provider. If a provider is already registered, this will override it by default.
25
+ *
26
+ * @param provider
27
+ * @param override
28
+ */
29
+ register(provider, override = true) {
30
+ const type = provider.widget.type;
31
+ if (override || !this._entries.has(type)) {
32
+ this._entries.set(type, provider);
33
+ this.dbxWidgetService.register(provider.widget, override);
34
+ return true;
35
+ }
36
+ else {
37
+ return false;
38
+ }
39
+ }
40
+ getEntryWidgetIdentifiers() {
41
+ return Array.from(this._entries.keys());
42
+ }
43
+ getEntries() {
44
+ return iterableToArray(this._entries.values());
45
+ }
46
+ }
47
+ DbxFirebaseDevelopmentWidgetService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: DbxFirebaseDevelopmentWidgetService, deps: [{ token: DEFAULT_FIREBASE_DEVELOPMENT_WIDGET_PROVIDERS_TOKEN, optional: true }, { token: i1.DbxWidgetService }], target: i0.ɵɵFactoryTarget.Injectable });
48
+ DbxFirebaseDevelopmentWidgetService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: DbxFirebaseDevelopmentWidgetService, providedIn: 'root' });
49
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: DbxFirebaseDevelopmentWidgetService, decorators: [{
50
+ type: Injectable,
51
+ args: [{
52
+ providedIn: 'root'
53
+ }]
54
+ }], ctorParameters: function () { return [{ type: undefined, decorators: [{
55
+ type: Optional
56
+ }, {
57
+ type: Inject,
58
+ args: [DEFAULT_FIREBASE_DEVELOPMENT_WIDGET_PROVIDERS_TOKEN]
59
+ }] }, { type: i1.DbxWidgetService }]; } });
60
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGV2ZWxvcG1lbnQud2lkZ2V0LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9kYngtZmlyZWJhc2Uvc3JjL2xpYi9kZXZlbG9wbWVudC9kZXZlbG9wbWVudC53aWRnZXQuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2hELE9BQU8sRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLGNBQWMsRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDN0UsT0FBTyxFQUFFLGdCQUFnQixFQUFpQixNQUFNLGtCQUFrQixDQUFDOzs7QUFHbkU7O0dBRUc7QUFDSCxNQUFNLENBQUMsTUFBTSxtREFBbUQsR0FBRyxJQUFJLGNBQWMsQ0FBQyw0Q0FBNEMsQ0FBQyxDQUFDO0FBRXBJOzs7O0dBSUc7QUFJSCxNQUFNLE9BQU8sbUNBQW1DO0lBRzlDLFlBQXFGLGNBQW1ELEVBQVcsZ0JBQWtDO1FBQWxDLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7UUFGN0ssYUFBUSxHQUFHLElBQUksR0FBRyxFQUFvRCxDQUFDO1FBRzdFLElBQUksY0FBYyxFQUFFO1lBQ2xCLGNBQWMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUM7U0FDeEQ7SUFDSCxDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSCxRQUFRLENBQUMsUUFBMkMsRUFBRSxXQUFvQixJQUFJO1FBQzVFLE1BQU0sSUFBSSxHQUFHLFFBQVEsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDO1FBRWxDLElBQUksUUFBUSxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUU7WUFDeEMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsSUFBSSxFQUFFLFFBQVEsQ0FBQyxDQUFDO1lBQ2xDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLE1BQU0sRUFBRSxRQUFRLENBQUMsQ0FBQztZQUMxRCxPQUFPLElBQUksQ0FBQztTQUNiO2FBQU07WUFDTCxPQUFPLEtBQUssQ0FBQztTQUNkO0lBQ0gsQ0FBQztJQUVELHlCQUF5QjtRQUN2QixPQUFPLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDO0lBQzFDLENBQUM7SUFFRCxVQUFVO1FBQ1IsT0FBTyxlQUFlLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDO0lBQ2pELENBQUM7O2dJQWpDVSxtQ0FBbUMsa0JBR2QsbURBQW1EO29JQUh4RSxtQ0FBbUMsY0FGbEMsTUFBTTsyRkFFUCxtQ0FBbUM7a0JBSC9DLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25COzswQkFJYyxRQUFROzswQkFBSSxNQUFNOzJCQUFDLG1EQUFtRCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGl0ZXJhYmxlVG9BcnJheSB9IGZyb20gJ0BkZXJlZWtiL3V0aWwnO1xuaW1wb3J0IHsgSW5qZWN0LCBJbmplY3RhYmxlLCBJbmplY3Rpb25Ub2tlbiwgT3B0aW9uYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IERieFdpZGdldFNlcnZpY2UsIERieFdpZGdldFR5cGUgfSBmcm9tICdAZGVyZWVrYi9kYngtd2ViJztcbmltcG9ydCB7IERieEZpcmViYXNlRGV2ZWxvcG1lbnRXaWRnZXRFbnRyeSB9IGZyb20gJy4vZGV2ZWxvcG1lbnQud2lkZ2V0JztcblxuLyoqXG4gKiBEZWZhdWx0IHByb3ZpZGVycyB0byBpbmplY3QuXG4gKi9cbmV4cG9ydCBjb25zdCBERUZBVUxUX0ZJUkVCQVNFX0RFVkVMT1BNRU5UX1dJREdFVF9QUk9WSURFUlNfVE9LRU4gPSBuZXcgSW5qZWN0aW9uVG9rZW4oJ0RlZmF1bHREYnhGaXJlYmFzZURldmVsb3BtZW50V2lkZ2V0RW50cmllcycpO1xuXG4vKipcbiAqIFNlcnZpY2UgdXNlZCBmb3IgcmVnaXN0ZXJpbmcgd2lkZ2V0cyB1c2VkIGZvciBkZXZlbG9wbWVudC5cbiAqXG4gKiBEZWZhdWx0IHByb3ZpZGVycyBjYW4gYmUgY29uZmlndXJlZCBieSB0aGUgREVGQVVMVF9GSVJFQkFTRV9BVVRIX0xPR0lOX1BST1ZJREVSU19UT0tFTiBpbmplY3RhYmxlIHZhbHVlLlxuICovXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBEYnhGaXJlYmFzZURldmVsb3BtZW50V2lkZ2V0U2VydmljZSB7XG4gIHByaXZhdGUgX2VudHJpZXMgPSBuZXcgTWFwPERieFdpZGdldFR5cGUsIERieEZpcmViYXNlRGV2ZWxvcG1lbnRXaWRnZXRFbnRyeT4oKTtcblxuICBjb25zdHJ1Y3RvcihAT3B0aW9uYWwoKSBASW5qZWN0KERFRkFVTFRfRklSRUJBU0VfREVWRUxPUE1FTlRfV0lER0VUX1BST1ZJREVSU19UT0tFTikgZGVmYXVsdEVudHJpZXM6IERieEZpcmViYXNlRGV2ZWxvcG1lbnRXaWRnZXRFbnRyeVtdLCByZWFkb25seSBkYnhXaWRnZXRTZXJ2aWNlOiBEYnhXaWRnZXRTZXJ2aWNlKSB7XG4gICAgaWYgKGRlZmF1bHRFbnRyaWVzKSB7XG4gICAgICBkZWZhdWx0RW50cmllcy5mb3JFYWNoKCh4KSA9PiB0aGlzLnJlZ2lzdGVyKHgsIGZhbHNlKSk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIFVzZWQgdG8gcmVnaXN0ZXIgYSBwcm92aWRlci4gSWYgYSBwcm92aWRlciBpcyBhbHJlYWR5IHJlZ2lzdGVyZWQsIHRoaXMgd2lsbCBvdmVycmlkZSBpdCBieSBkZWZhdWx0LlxuICAgKlxuICAgKiBAcGFyYW0gcHJvdmlkZXJcbiAgICogQHBhcmFtIG92ZXJyaWRlXG4gICAqL1xuICByZWdpc3Rlcihwcm92aWRlcjogRGJ4RmlyZWJhc2VEZXZlbG9wbWVudFdpZGdldEVudHJ5LCBvdmVycmlkZTogYm9vbGVhbiA9IHRydWUpOiBib29sZWFuIHtcbiAgICBjb25zdCB0eXBlID0gcHJvdmlkZXIud2lkZ2V0LnR5cGU7XG5cbiAgICBpZiAob3ZlcnJpZGUgfHwgIXRoaXMuX2VudHJpZXMuaGFzKHR5cGUpKSB7XG4gICAgICB0aGlzLl9lbnRyaWVzLnNldCh0eXBlLCBwcm92aWRlcik7XG4gICAgICB0aGlzLmRieFdpZGdldFNlcnZpY2UucmVnaXN0ZXIocHJvdmlkZXIud2lkZ2V0LCBvdmVycmlkZSk7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgfVxuXG4gIGdldEVudHJ5V2lkZ2V0SWRlbnRpZmllcnMoKTogRGJ4V2lkZ2V0VHlwZVtdIHtcbiAgICByZXR1cm4gQXJyYXkuZnJvbSh0aGlzLl9lbnRyaWVzLmtleXMoKSk7XG4gIH1cblxuICBnZXRFbnRyaWVzKCk6IERieEZpcmViYXNlRGV2ZWxvcG1lbnRXaWRnZXRFbnRyeVtdIHtcbiAgICByZXR1cm4gaXRlcmFibGVUb0FycmF5KHRoaXMuX2VudHJpZXMudmFsdWVzKCkpO1xuICB9XG59XG4iXX0=
@@ -0,0 +1,13 @@
1
+ export * from './development.module';
2
+ export * from './development.widget.service';
3
+ export * from './development.popup.component';
4
+ export * from './development.popup.content.component';
5
+ export * from './development.popup.content.form.component';
6
+ export * from './development.popup.directive';
7
+ export * from './development.scheduler.list.component';
8
+ export * from './development.scheduler.service';
9
+ export * from './development.scheduler.widget.component';
10
+ export * from './development.service';
11
+ export * from './development.widget.service';
12
+ export * from './development.widget';
13
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9kYngtZmlyZWJhc2Uvc3JjL2xpYi9kZXZlbG9wbWVudC9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLHNCQUFzQixDQUFDO0FBQ3JDLGNBQWMsOEJBQThCLENBQUM7QUFDN0MsY0FBYywrQkFBK0IsQ0FBQztBQUM5QyxjQUFjLHVDQUF1QyxDQUFDO0FBQ3RELGNBQWMsNENBQTRDLENBQUM7QUFDM0QsY0FBYywrQkFBK0IsQ0FBQztBQUM5QyxjQUFjLHdDQUF3QyxDQUFDO0FBQ3ZELGNBQWMsaUNBQWlDLENBQUM7QUFDaEQsY0FBYywwQ0FBMEMsQ0FBQztBQUN6RCxjQUFjLHVCQUF1QixDQUFDO0FBQ3RDLGNBQWMsOEJBQThCLENBQUM7QUFDN0MsY0FBYyxzQkFBc0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vZGV2ZWxvcG1lbnQubW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vZGV2ZWxvcG1lbnQud2lkZ2V0LnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9kZXZlbG9wbWVudC5wb3B1cC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9kZXZlbG9wbWVudC5wb3B1cC5jb250ZW50LmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2RldmVsb3BtZW50LnBvcHVwLmNvbnRlbnQuZm9ybS5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9kZXZlbG9wbWVudC5wb3B1cC5kaXJlY3RpdmUnO1xuZXhwb3J0ICogZnJvbSAnLi9kZXZlbG9wbWVudC5zY2hlZHVsZXIubGlzdC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9kZXZlbG9wbWVudC5zY2hlZHVsZXIuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL2RldmVsb3BtZW50LnNjaGVkdWxlci53aWRnZXQuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vZGV2ZWxvcG1lbnQuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL2RldmVsb3BtZW50LndpZGdldC5zZXJ2aWNlJztcbmV4cG9ydCAqIGZyb20gJy4vZGV2ZWxvcG1lbnQud2lkZ2V0JztcbiJdfQ==
@@ -1,9 +1,12 @@
1
1
  import { NgModule } from '@angular/core';
2
2
  import { Functions } from '@angular/fire/functions';
3
+ import { FirebaseDevelopmentFunctions, FIREBASE_DEVELOPMENT_FUNCTIONS_MAP_KEY } from '@dereekb/firebase';
3
4
  import { forEachKeyValue } from '@dereekb/util';
4
5
  import * as i0 from "@angular/core";
5
6
  /**
6
7
  * Used to initialize the LazyFirebaseFunctions type for a DbxFirebase app.
8
+ *
9
+ * Handles the key different, automatically injecting FirebaseDevelopmentFunctions with this existing value.
7
10
  */
8
11
  export class DbxFirebaseFunctionsModule {
9
12
  static forRoot(config) {
@@ -33,6 +36,17 @@ export class DbxFirebaseFunctionsModule {
33
36
  });
34
37
  }
35
38
  });
39
+ // Add a provider for FirebaseDevelopmentFunctions if developmentFunctions is provided.
40
+ const developmentFunctionsKey = config.developmentFunctionsKey ?? FIREBASE_DEVELOPMENT_FUNCTIONS_MAP_KEY;
41
+ if (developmentFunctionsKey) {
42
+ const developmentFunctionsConfig = config.functionsConfigMap[developmentFunctionsKey];
43
+ if (developmentFunctionsConfig != null) {
44
+ providers.push({
45
+ provide: FirebaseDevelopmentFunctions,
46
+ useExisting: developmentFunctionsConfig[0]
47
+ });
48
+ }
49
+ }
36
50
  }
37
51
  return {
38
52
  ngModule: DbxFirebaseFunctionsModule,
@@ -46,4 +60,4 @@ DbxFirebaseFunctionsModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.
46
60
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.1.2", ngImport: i0, type: DbxFirebaseFunctionsModule, decorators: [{
47
61
  type: NgModule
48
62
  }] });
49
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlyZWJhc2UuZnVuY3Rpb24ubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZGJ4LWZpcmViYXNlL3NyYy9saWIvZnVuY3Rpb24vZmlyZWJhc2UuZnVuY3Rpb24ubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBdUIsUUFBUSxFQUFZLE1BQU0sZUFBZSxDQUFDO0FBQ3hFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUVwRCxPQUFPLEVBQWlCLGVBQWUsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFhL0Q7O0dBRUc7QUFFSCxNQUFNLE9BQU8sMEJBQTBCO0lBQ3JDLE1BQU0sQ0FBQyxPQUFPLENBQTJELE1BQThDO1FBQ3JILE1BQU0sU0FBUyxHQUFlO1lBQzVCO2dCQUNFLE9BQU8sRUFBRSxNQUFNLENBQUMsb0JBQW9CO2dCQUNwQyxVQUFVLEVBQUUsTUFBTSxDQUFDLHNCQUFzQjtnQkFDekMsSUFBSSxFQUFFLENBQUMsU0FBUyxDQUFDO2FBQ2xCO1NBQ0YsQ0FBQztRQUVGLElBQUksTUFBTSxDQUFDLGtCQUFrQixFQUFFO1lBQzdCLGVBQWUsQ0FBQyxNQUFNLENBQUMsa0JBQWtCLEVBQUU7Z0JBQ3pDLE9BQU8sRUFBRSxDQUFDLENBQUMsR0FBRyxFQUFFLEtBQUssQ0FBQyxFQUFFLEVBQUU7b0JBQ3hCLE1BQU0sT0FBTyxHQUFHLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztvQkFFekIsU0FBUyxDQUFDLElBQUksQ0FBQzt3QkFDYixPQUFPO3dCQUNQLFVBQVUsRUFBRSxDQUFDLGFBQXVDLEVBQUUsRUFBRTs0QkFDdEQsTUFBTSxNQUFNLEdBQUcsYUFBYSxDQUFDLEdBQWEsQ0FBQyxDQUFDOzRCQUU1QyxJQUFJLENBQUMsTUFBTSxFQUFFO2dDQUNYLE1BQU0sSUFBSSxLQUFLLENBQUMsMkRBQTJELE9BQU8sa0NBQWtDLENBQUMsQ0FBQzs2QkFDdkg7aUNBQU07Z0NBQ0wsT0FBTyxNQUFNLEVBQUUsQ0FBQzs2QkFDakI7d0JBQ0gsQ0FBQzt3QkFDRCxJQUFJLEVBQUUsQ0FBQyxNQUFNLENBQUMsb0JBQW9CLENBQUM7cUJBQ3BDLENBQUMsQ0FBQztnQkFDTCxDQUFDO2FBQ0YsQ0FBQyxDQUFDO1NBQ0o7UUFFRCxPQUFPO1lBQ0wsUUFBUSxFQUFFLDBCQUEwQjtZQUNwQyxTQUFTO1NBQ1YsQ0FBQztJQUNKLENBQUM7O3VIQXBDVSwwQkFBMEI7d0hBQTFCLDBCQUEwQjt3SEFBMUIsMEJBQTBCOzJGQUExQiwwQkFBMEI7a0JBRHRDLFFBQVEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBNb2R1bGVXaXRoUHJvdmlkZXJzLCBOZ01vZHVsZSwgUHJvdmlkZXIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZ1bmN0aW9ucyB9IGZyb20gJ0Bhbmd1bGFyL2ZpcmUvZnVuY3Rpb25zJztcbmltcG9ydCB7IEZpcmViYXNlRnVuY3Rpb25zQ29uZmlnTWFwLCBGaXJlYmFzZUZ1bmN0aW9uc01hcCwgTGF6eUZpcmViYXNlRnVuY3Rpb25zIH0gZnJvbSAnQGRlcmVla2IvZmlyZWJhc2UnO1xuaW1wb3J0IHsgQ2xhc3NMaWtlVHlwZSwgZm9yRWFjaEtleVZhbHVlIH0gZnJvbSAnQGRlcmVla2IvdXRpbCc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgRGJ4RmlyZWJhc2VGdW5jdGlvbnNNb2R1bGVDb25maWc8VCwgTSBleHRlbmRzIEZpcmViYXNlRnVuY3Rpb25zTWFwID0gRmlyZWJhc2VGdW5jdGlvbnNNYXA+IHtcbiAgZnVuY3Rpb25zR2V0dGVyVG9rZW46IENsYXNzTGlrZVR5cGU8VD47XG4gIGZ1bmN0aW9uc0dldHRlckZhY3Rvcnk6IChmdW5jdGlvbnM6IEZ1bmN0aW9ucykgPT4gVDtcbiAgLyoqXG4gICAqIE9wdGlvbmFsIGZ1bmN0aW9ucyBjb25maWcgbWFwIHRvIHByb3ZpZGUuXG4gICAqXG4gICAqIElmIHByb3ZpZGVkLCB3aWxsIGluamVjdCBhbGwgdGhlIHR5cGVzIHdpdGggZmFjdG9yeSBmdW5jdGlvbnMgc28gdGhleSBjYW4gYmUgaW5qZWN0ZWQgaW50byB0aGUgYXBwLlxuICAgKi9cbiAgZnVuY3Rpb25zQ29uZmlnTWFwPzogRmlyZWJhc2VGdW5jdGlvbnNDb25maWdNYXA8TT47XG59XG5cbi8qKlxuICogVXNlZCB0byBpbml0aWFsaXplIHRoZSBMYXp5RmlyZWJhc2VGdW5jdGlvbnMgdHlwZSBmb3IgYSBEYnhGaXJlYmFzZSBhcHAuXG4gKi9cbkBOZ01vZHVsZSgpXG5leHBvcnQgY2xhc3MgRGJ4RmlyZWJhc2VGdW5jdGlvbnNNb2R1bGUge1xuICBzdGF0aWMgZm9yUm9vdDxULCBNIGV4dGVuZHMgRmlyZWJhc2VGdW5jdGlvbnNNYXAgPSBGaXJlYmFzZUZ1bmN0aW9uc01hcD4oY29uZmlnOiBEYnhGaXJlYmFzZUZ1bmN0aW9uc01vZHVsZUNvbmZpZzxULCBNPik6IE1vZHVsZVdpdGhQcm92aWRlcnM8RGJ4RmlyZWJhc2VGdW5jdGlvbnNNb2R1bGU+IHtcbiAgICBjb25zdCBwcm92aWRlcnM6IFByb3ZpZGVyW10gPSBbXG4gICAgICB7XG4gICAgICAgIHByb3ZpZGU6IGNvbmZpZy5mdW5jdGlvbnNHZXR0ZXJUb2tlbixcbiAgICAgICAgdXNlRmFjdG9yeTogY29uZmlnLmZ1bmN0aW9uc0dldHRlckZhY3RvcnksXG4gICAgICAgIGRlcHM6IFtGdW5jdGlvbnNdXG4gICAgICB9XG4gICAgXTtcblxuICAgIGlmIChjb25maWcuZnVuY3Rpb25zQ29uZmlnTWFwKSB7XG4gICAgICBmb3JFYWNoS2V5VmFsdWUoY29uZmlnLmZ1bmN0aW9uc0NvbmZpZ01hcCwge1xuICAgICAgICBmb3JFYWNoOiAoW2tleSwgZW50cnldKSA9PiB7XG4gICAgICAgICAgY29uc3QgcHJvdmlkZSA9IGVudHJ5WzBdO1xuXG4gICAgICAgICAgcHJvdmlkZXJzLnB1c2goe1xuICAgICAgICAgICAgcHJvdmlkZSxcbiAgICAgICAgICAgIHVzZUZhY3Rvcnk6IChsYXp5RnVuY3Rpb25zOiBMYXp5RmlyZWJhc2VGdW5jdGlvbnM8TT4pID0+IHtcbiAgICAgICAgICAgICAgY29uc3QgZ2V0dGVyID0gbGF6eUZ1bmN0aW9uc1trZXkgYXMgc3RyaW5nXTtcblxuICAgICAgICAgICAgICBpZiAoIWdldHRlcikge1xuICAgICAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihgQ291bGQgbm90IGNyZWF0ZSBwcm92aWRlciBmb3IgZmlyZWJhc2UgZnVuY3Rpb24gZ2V0dGVyIFwiJHtwcm92aWRlfVwiIGFzIHRoZSBnZXR0ZXIgd2FzIHVuYXZhaWxhYmxlLmApO1xuICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHJldHVybiBnZXR0ZXIoKTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIGRlcHM6IFtjb25maWcuZnVuY3Rpb25zR2V0dGVyVG9rZW5dXG4gICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH1cblxuICAgIHJldHVybiB7XG4gICAgICBuZ01vZHVsZTogRGJ4RmlyZWJhc2VGdW5jdGlvbnNNb2R1bGUsXG4gICAgICBwcm92aWRlcnNcbiAgICB9O1xuICB9XG59XG4iXX0=
63
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlyZWJhc2UuZnVuY3Rpb24ubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZGJ4LWZpcmViYXNlL3NyYy9saWIvZnVuY3Rpb24vZmlyZWJhc2UuZnVuY3Rpb24ubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBdUIsUUFBUSxFQUFZLE1BQU0sZUFBZSxDQUFDO0FBQ3hFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUNwRCxPQUFPLEVBQUUsNEJBQTRCLEVBQW9ELHNDQUFzQyxFQUF5QixNQUFNLG1CQUFtQixDQUFDO0FBQ2xMLE9BQU8sRUFBaUIsZUFBZSxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQW1CL0Q7Ozs7R0FJRztBQUVILE1BQU0sT0FBTywwQkFBMEI7SUFDckMsTUFBTSxDQUFDLE9BQU8sQ0FBMkQsTUFBOEM7UUFDckgsTUFBTSxTQUFTLEdBQWU7WUFDNUI7Z0JBQ0UsT0FBTyxFQUFFLE1BQU0sQ0FBQyxvQkFBb0I7Z0JBQ3BDLFVBQVUsRUFBRSxNQUFNLENBQUMsc0JBQXNCO2dCQUN6QyxJQUFJLEVBQUUsQ0FBQyxTQUFTLENBQUM7YUFDbEI7U0FDRixDQUFDO1FBRUYsSUFBSSxNQUFNLENBQUMsa0JBQWtCLEVBQUU7WUFDN0IsZUFBZSxDQUFDLE1BQU0sQ0FBQyxrQkFBa0IsRUFBRTtnQkFDekMsT0FBTyxFQUFFLENBQUMsQ0FBQyxHQUFHLEVBQUUsS0FBSyxDQUFDLEVBQUUsRUFBRTtvQkFDeEIsTUFBTSxPQUFPLEdBQUcsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDO29CQUV6QixTQUFTLENBQUMsSUFBSSxDQUFDO3dCQUNiLE9BQU87d0JBQ1AsVUFBVSxFQUFFLENBQUMsYUFBdUMsRUFBRSxFQUFFOzRCQUN0RCxNQUFNLE1BQU0sR0FBRyxhQUFhLENBQUMsR0FBYSxDQUFDLENBQUM7NEJBRTVDLElBQUksQ0FBQyxNQUFNLEVBQUU7Z0NBQ1gsTUFBTSxJQUFJLEtBQUssQ0FBQywyREFBMkQsT0FBTyxrQ0FBa0MsQ0FBQyxDQUFDOzZCQUN2SDtpQ0FBTTtnQ0FDTCxPQUFPLE1BQU0sRUFBRSxDQUFDOzZCQUNqQjt3QkFDSCxDQUFDO3dCQUNELElBQUksRUFBRSxDQUFDLE1BQU0sQ0FBQyxvQkFBb0IsQ0FBQztxQkFDcEMsQ0FBQyxDQUFDO2dCQUNMLENBQUM7YUFDRixDQUFDLENBQUM7WUFFSCx1RkFBdUY7WUFDdkYsTUFBTSx1QkFBdUIsR0FBRyxNQUFNLENBQUMsdUJBQXVCLElBQUksc0NBQXNDLENBQUM7WUFFekcsSUFBSSx1QkFBdUIsRUFBRTtnQkFDM0IsTUFBTSwwQkFBMEIsR0FBRyxNQUFNLENBQUMsa0JBQWtCLENBQUMsdUJBQXVCLENBQUMsQ0FBQztnQkFFdEYsSUFBSSwwQkFBMEIsSUFBSSxJQUFJLEVBQUU7b0JBQ3RDLFNBQVMsQ0FBQyxJQUFJLENBQUM7d0JBQ2IsT0FBTyxFQUFFLDRCQUE0Qjt3QkFDckMsV0FBVyxFQUFFLDBCQUEwQixDQUFDLENBQUMsQ0FBQztxQkFDM0MsQ0FBQyxDQUFDO2lCQUNKO2FBQ0Y7U0FDRjtRQUVELE9BQU87WUFDTCxRQUFRLEVBQUUsMEJBQTBCO1lBQ3BDLFNBQVM7U0FDVixDQUFDO0lBQ0osQ0FBQzs7dUhBbERVLDBCQUEwQjt3SEFBMUIsMEJBQTBCO3dIQUExQiwwQkFBMEI7MkZBQTFCLDBCQUEwQjtrQkFEdEMsUUFBUSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE1vZHVsZVdpdGhQcm92aWRlcnMsIE5nTW9kdWxlLCBQcm92aWRlciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRnVuY3Rpb25zIH0gZnJvbSAnQGFuZ3VsYXIvZmlyZS9mdW5jdGlvbnMnO1xuaW1wb3J0IHsgRmlyZWJhc2VEZXZlbG9wbWVudEZ1bmN0aW9ucywgRmlyZWJhc2VGdW5jdGlvbnNDb25maWdNYXAsIEZpcmViYXNlRnVuY3Rpb25zTWFwLCBGSVJFQkFTRV9ERVZFTE9QTUVOVF9GVU5DVElPTlNfTUFQX0tFWSwgTGF6eUZpcmViYXNlRnVuY3Rpb25zIH0gZnJvbSAnQGRlcmVla2IvZmlyZWJhc2UnO1xuaW1wb3J0IHsgQ2xhc3NMaWtlVHlwZSwgZm9yRWFjaEtleVZhbHVlIH0gZnJvbSAnQGRlcmVla2IvdXRpbCc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgRGJ4RmlyZWJhc2VGdW5jdGlvbnNNb2R1bGVDb25maWc8VCwgTSBleHRlbmRzIEZpcmViYXNlRnVuY3Rpb25zTWFwID0gRmlyZWJhc2VGdW5jdGlvbnNNYXA+IHtcbiAgZnVuY3Rpb25zR2V0dGVyVG9rZW46IENsYXNzTGlrZVR5cGU8VD47XG4gIGZ1bmN0aW9uc0dldHRlckZhY3Rvcnk6IChmdW5jdGlvbnM6IEZ1bmN0aW9ucykgPT4gVDtcbiAgLyoqXG4gICAqIEtleSBvZiB0aGUgZnVuY3Rpb25zIGNvbmZpZyB0byB1c2UgdG8gaW5qZWN0IEZpcmViYXNlRGV2ZWxvcG1lbnRGdW5jdGlvbnMgdXNpbmcgdGhhdCBzYW1lIHByb3ZpZGVyLlxuICAgKlxuICAgKiBEZWZhdWx0cyB0byBcImRldmVsb3BtZW50RnVuY3Rpb25zXCIuIElmIGZhbHNlLCB3aWxsIG5vdCBiZSBpbmplY3RlZCBhdXRvbWF0aWNhbGx5LlxuICAgKi9cbiAgZGV2ZWxvcG1lbnRGdW5jdGlvbnNLZXk/OiBzdHJpbmcgfCBmYWxzZTtcbiAgLyoqXG4gICAqIE9wdGlvbmFsIGZ1bmN0aW9ucyBjb25maWcgbWFwIHRvIHByb3ZpZGUuXG4gICAqXG4gICAqIElmIHByb3ZpZGVkLCB3aWxsIGluamVjdCBhbGwgdGhlIHR5cGVzIHdpdGggZmFjdG9yeSBmdW5jdGlvbnMgc28gdGhleSBjYW4gYmUgaW5qZWN0ZWQgaW50byB0aGUgYXBwLlxuICAgKi9cbiAgZnVuY3Rpb25zQ29uZmlnTWFwPzogRmlyZWJhc2VGdW5jdGlvbnNDb25maWdNYXA8TT47XG59XG5cbi8qKlxuICogVXNlZCB0byBpbml0aWFsaXplIHRoZSBMYXp5RmlyZWJhc2VGdW5jdGlvbnMgdHlwZSBmb3IgYSBEYnhGaXJlYmFzZSBhcHAuXG4gKlxuICogSGFuZGxlcyB0aGUgIGtleSBkaWZmZXJlbnQsIGF1dG9tYXRpY2FsbHkgaW5qZWN0aW5nIEZpcmViYXNlRGV2ZWxvcG1lbnRGdW5jdGlvbnMgd2l0aCB0aGlzIGV4aXN0aW5nIHZhbHVlLlxuICovXG5ATmdNb2R1bGUoKVxuZXhwb3J0IGNsYXNzIERieEZpcmViYXNlRnVuY3Rpb25zTW9kdWxlIHtcbiAgc3RhdGljIGZvclJvb3Q8VCwgTSBleHRlbmRzIEZpcmViYXNlRnVuY3Rpb25zTWFwID0gRmlyZWJhc2VGdW5jdGlvbnNNYXA+KGNvbmZpZzogRGJ4RmlyZWJhc2VGdW5jdGlvbnNNb2R1bGVDb25maWc8VCwgTT4pOiBNb2R1bGVXaXRoUHJvdmlkZXJzPERieEZpcmViYXNlRnVuY3Rpb25zTW9kdWxlPiB7XG4gICAgY29uc3QgcHJvdmlkZXJzOiBQcm92aWRlcltdID0gW1xuICAgICAge1xuICAgICAgICBwcm92aWRlOiBjb25maWcuZnVuY3Rpb25zR2V0dGVyVG9rZW4sXG4gICAgICAgIHVzZUZhY3Rvcnk6IGNvbmZpZy5mdW5jdGlvbnNHZXR0ZXJGYWN0b3J5LFxuICAgICAgICBkZXBzOiBbRnVuY3Rpb25zXVxuICAgICAgfVxuICAgIF07XG5cbiAgICBpZiAoY29uZmlnLmZ1bmN0aW9uc0NvbmZpZ01hcCkge1xuICAgICAgZm9yRWFjaEtleVZhbHVlKGNvbmZpZy5mdW5jdGlvbnNDb25maWdNYXAsIHtcbiAgICAgICAgZm9yRWFjaDogKFtrZXksIGVudHJ5XSkgPT4ge1xuICAgICAgICAgIGNvbnN0IHByb3ZpZGUgPSBlbnRyeVswXTtcblxuICAgICAgICAgIHByb3ZpZGVycy5wdXNoKHtcbiAgICAgICAgICAgIHByb3ZpZGUsXG4gICAgICAgICAgICB1c2VGYWN0b3J5OiAobGF6eUZ1bmN0aW9uczogTGF6eUZpcmViYXNlRnVuY3Rpb25zPE0+KSA9PiB7XG4gICAgICAgICAgICAgIGNvbnN0IGdldHRlciA9IGxhenlGdW5jdGlvbnNba2V5IGFzIHN0cmluZ107XG5cbiAgICAgICAgICAgICAgaWYgKCFnZXR0ZXIpIHtcbiAgICAgICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYENvdWxkIG5vdCBjcmVhdGUgcHJvdmlkZXIgZm9yIGZpcmViYXNlIGZ1bmN0aW9uIGdldHRlciBcIiR7cHJvdmlkZX1cIiBhcyB0aGUgZ2V0dGVyIHdhcyB1bmF2YWlsYWJsZS5gKTtcbiAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gZ2V0dGVyKCk7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICBkZXBzOiBbY29uZmlnLmZ1bmN0aW9uc0dldHRlclRva2VuXVxuICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICB9KTtcblxuICAgICAgLy8gQWRkIGEgcHJvdmlkZXIgZm9yIEZpcmViYXNlRGV2ZWxvcG1lbnRGdW5jdGlvbnMgaWYgZGV2ZWxvcG1lbnRGdW5jdGlvbnMgaXMgcHJvdmlkZWQuXG4gICAgICBjb25zdCBkZXZlbG9wbWVudEZ1bmN0aW9uc0tleSA9IGNvbmZpZy5kZXZlbG9wbWVudEZ1bmN0aW9uc0tleSA/PyBGSVJFQkFTRV9ERVZFTE9QTUVOVF9GVU5DVElPTlNfTUFQX0tFWTtcblxuICAgICAgaWYgKGRldmVsb3BtZW50RnVuY3Rpb25zS2V5KSB7XG4gICAgICAgIGNvbnN0IGRldmVsb3BtZW50RnVuY3Rpb25zQ29uZmlnID0gY29uZmlnLmZ1bmN0aW9uc0NvbmZpZ01hcFtkZXZlbG9wbWVudEZ1bmN0aW9uc0tleV07XG5cbiAgICAgICAgaWYgKGRldmVsb3BtZW50RnVuY3Rpb25zQ29uZmlnICE9IG51bGwpIHtcbiAgICAgICAgICBwcm92aWRlcnMucHVzaCh7XG4gICAgICAgICAgICBwcm92aWRlOiBGaXJlYmFzZURldmVsb3BtZW50RnVuY3Rpb25zLFxuICAgICAgICAgICAgdXNlRXhpc3Rpbmc6IGRldmVsb3BtZW50RnVuY3Rpb25zQ29uZmlnWzBdXG4gICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4ge1xuICAgICAgbmdNb2R1bGU6IERieEZpcmViYXNlRnVuY3Rpb25zTW9kdWxlLFxuICAgICAgcHJvdmlkZXJzXG4gICAgfTtcbiAgfVxufVxuIl19
@@ -1,4 +1,5 @@
1
1
  export * from './auth';
2
+ export * from './development';
2
3
  export * from './firebase';
3
4
  export * from './firestore';
4
5
  export * from './function';
@@ -6,4 +7,4 @@ export * from './model';
6
7
  export * from './router';
7
8
  export * from './storage';
8
9
  export * from './module';
9
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9kYngtZmlyZWJhc2Uvc3JjL2xpYi9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLFFBQVEsQ0FBQztBQUN2QixjQUFjLFlBQVksQ0FBQztBQUMzQixjQUFjLGFBQWEsQ0FBQztBQUM1QixjQUFjLFlBQVksQ0FBQztBQUMzQixjQUFjLFNBQVMsQ0FBQztBQUN4QixjQUFjLFVBQVUsQ0FBQztBQUN6QixjQUFjLFdBQVcsQ0FBQztBQUMxQixjQUFjLFVBQVUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vYXV0aCc7XG5leHBvcnQgKiBmcm9tICcuL2ZpcmViYXNlJztcbmV4cG9ydCAqIGZyb20gJy4vZmlyZXN0b3JlJztcbmV4cG9ydCAqIGZyb20gJy4vZnVuY3Rpb24nO1xuZXhwb3J0ICogZnJvbSAnLi9tb2RlbCc7XG5leHBvcnQgKiBmcm9tICcuL3JvdXRlcic7XG5leHBvcnQgKiBmcm9tICcuL3N0b3JhZ2UnO1xuZXhwb3J0ICogZnJvbSAnLi9tb2R1bGUnO1xuIl19
10
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9kYngtZmlyZWJhc2Uvc3JjL2xpYi9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLFFBQVEsQ0FBQztBQUN2QixjQUFjLGVBQWUsQ0FBQztBQUM5QixjQUFjLFlBQVksQ0FBQztBQUMzQixjQUFjLGFBQWEsQ0FBQztBQUM1QixjQUFjLFlBQVksQ0FBQztBQUMzQixjQUFjLFNBQVMsQ0FBQztBQUN4QixjQUFjLFVBQVUsQ0FBQztBQUN6QixjQUFjLFdBQVcsQ0FBQztBQUMxQixjQUFjLFVBQVUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vYXV0aCc7XG5leHBvcnQgKiBmcm9tICcuL2RldmVsb3BtZW50JztcbmV4cG9ydCAqIGZyb20gJy4vZmlyZWJhc2UnO1xuZXhwb3J0ICogZnJvbSAnLi9maXJlc3RvcmUnO1xuZXhwb3J0ICogZnJvbSAnLi9mdW5jdGlvbic7XG5leHBvcnQgKiBmcm9tICcuL21vZGVsJztcbmV4cG9ydCAqIGZyb20gJy4vcm91dGVyJztcbmV4cG9ydCAqIGZyb20gJy4vc3RvcmFnZSc7XG5leHBvcnQgKiBmcm9tICcuL21vZHVsZSc7XG4iXX0=