@dereekb/dbx-firebase 9.19.5 → 9.20.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 (89) hide show
  1. package/esm2020/lib/model/index.mjs +2 -2
  2. package/esm2020/lib/model/model.module.mjs +6 -5
  3. package/esm2020/lib/model/modules/index.mjs +3 -0
  4. package/esm2020/lib/model/modules/model/index.mjs +6 -0
  5. package/esm2020/lib/model/modules/model/model.tracker.service.mjs +30 -0
  6. package/esm2020/lib/model/modules/model/model.types.list.component.mjs +67 -0
  7. package/esm2020/lib/model/modules/model/model.types.module.mjs +21 -0
  8. package/esm2020/lib/model/modules/model/model.types.service.mjs +114 -0
  9. package/esm2020/lib/model/modules/model/model.types.view.directive.mjs +48 -0
  10. package/esm2020/lib/model/modules/store/index.mjs +17 -0
  11. package/esm2020/lib/model/modules/store/model.store.module.mjs +23 -0
  12. package/esm2020/lib/model/modules/store/store.collection.change.directive.mjs +52 -0
  13. package/esm2020/lib/model/modules/store/store.collection.change.if.directive.mjs +57 -0
  14. package/esm2020/lib/model/modules/store/store.collection.directive.mjs +54 -0
  15. package/esm2020/lib/model/{store → modules/store}/store.collection.list.directive.mjs +1 -1
  16. package/esm2020/lib/model/modules/store/store.collection.mjs +55 -0
  17. package/esm2020/lib/model/modules/store/store.document.auth.directive.mjs +33 -0
  18. package/esm2020/lib/model/modules/store/store.document.crud.mjs +80 -0
  19. package/esm2020/lib/model/modules/store/store.document.directive.mjs +61 -0
  20. package/esm2020/lib/model/modules/store/store.document.mjs +109 -0
  21. package/esm2020/lib/model/modules/store/store.document.router.directive.mjs +67 -0
  22. package/esm2020/lib/model/modules/store/store.document.router.key.directive.mjs +67 -0
  23. package/esm2020/lib/model/modules/store/store.subcollection.directive.mjs +30 -0
  24. package/esm2020/lib/model/modules/store/store.subcollection.document.mjs +98 -0
  25. package/esm2020/lib/model/modules/store/store.subcollection.mjs +79 -0
  26. package/esm2020/lib/model/modules/store/store.subcollection.rxjs.mjs +23 -0
  27. package/esm2020/lib/model/service/index.mjs +3 -1
  28. package/esm2020/lib/model/service/model.context.instance.mjs +54 -0
  29. package/esm2020/lib/model/service/model.context.mjs +2 -35
  30. package/esm2020/lib/model/service/model.context.service.mjs +38 -0
  31. package/esm2020/lib/model/system/systemstate.collection.store.directive.mjs +2 -2
  32. package/esm2020/lib/model/system/systemstate.collection.store.mjs +2 -2
  33. package/esm2020/lib/model/system/systemstate.document.store.directive.mjs +2 -2
  34. package/esm2020/lib/model/system/systemstate.document.store.mjs +2 -2
  35. package/fesm2015/dereekb-dbx-firebase.mjs +361 -65
  36. package/fesm2015/dereekb-dbx-firebase.mjs.map +1 -1
  37. package/fesm2020/dereekb-dbx-firebase.mjs +362 -65
  38. package/fesm2020/dereekb-dbx-firebase.mjs.map +1 -1
  39. package/lib/model/index.d.ts +1 -1
  40. package/lib/model/model.module.d.ts +3 -2
  41. package/lib/model/modules/index.d.ts +2 -0
  42. package/lib/model/modules/model/index.d.ts +5 -0
  43. package/lib/model/modules/model/model.tracker.service.d.ts +13 -0
  44. package/lib/model/modules/model/model.types.list.component.d.ts +22 -0
  45. package/lib/model/modules/model/model.types.module.d.ts +10 -0
  46. package/lib/model/modules/model/model.types.service.d.ts +88 -0
  47. package/lib/model/modules/model/model.types.view.directive.d.ts +18 -0
  48. package/lib/model/{store → modules/store}/index.d.ts +0 -0
  49. package/lib/model/{store → modules/store}/model.store.module.d.ts +0 -0
  50. package/lib/model/{store → modules/store}/store.collection.change.directive.d.ts +1 -1
  51. package/lib/model/{store → modules/store}/store.collection.change.if.directive.d.ts +0 -0
  52. package/lib/model/{store → modules/store}/store.collection.d.ts +2 -2
  53. package/lib/model/{store → modules/store}/store.collection.directive.d.ts +1 -1
  54. package/lib/model/{store → modules/store}/store.collection.list.directive.d.ts +0 -0
  55. package/lib/model/{store → modules/store}/store.document.auth.directive.d.ts +1 -1
  56. package/lib/model/{store → modules/store}/store.document.crud.d.ts +0 -0
  57. package/lib/model/{store → modules/store}/store.document.d.ts +0 -0
  58. package/lib/model/{store → modules/store}/store.document.directive.d.ts +5 -3
  59. package/lib/model/{store → modules/store}/store.document.router.directive.d.ts +0 -0
  60. package/lib/model/{store → modules/store}/store.document.router.key.directive.d.ts +0 -0
  61. package/lib/model/{store → modules/store}/store.subcollection.d.ts +0 -0
  62. package/lib/model/{store → modules/store}/store.subcollection.directive.d.ts +0 -0
  63. package/lib/model/{store → modules/store}/store.subcollection.document.d.ts +0 -0
  64. package/lib/model/{store → modules/store}/store.subcollection.rxjs.d.ts +0 -0
  65. package/lib/model/service/index.d.ts +2 -0
  66. package/lib/model/service/model.context.d.ts +16 -16
  67. package/lib/model/service/model.context.instance.d.ts +31 -0
  68. package/lib/model/service/model.context.service.d.ts +31 -0
  69. package/lib/model/system/systemstate.collection.store.d.ts +1 -1
  70. package/lib/model/system/systemstate.collection.store.directive.d.ts +1 -1
  71. package/lib/model/system/systemstate.document.store.d.ts +1 -1
  72. package/lib/model/system/systemstate.document.store.directive.d.ts +1 -1
  73. package/package.json +5 -5
  74. package/esm2020/lib/model/store/index.mjs +0 -17
  75. package/esm2020/lib/model/store/model.store.module.mjs +0 -23
  76. package/esm2020/lib/model/store/store.collection.change.directive.mjs +0 -52
  77. package/esm2020/lib/model/store/store.collection.change.if.directive.mjs +0 -57
  78. package/esm2020/lib/model/store/store.collection.directive.mjs +0 -54
  79. package/esm2020/lib/model/store/store.collection.mjs +0 -55
  80. package/esm2020/lib/model/store/store.document.auth.directive.mjs +0 -33
  81. package/esm2020/lib/model/store/store.document.crud.mjs +0 -80
  82. package/esm2020/lib/model/store/store.document.directive.mjs +0 -59
  83. package/esm2020/lib/model/store/store.document.mjs +0 -109
  84. package/esm2020/lib/model/store/store.document.router.directive.mjs +0 -67
  85. package/esm2020/lib/model/store/store.document.router.key.directive.mjs +0 -67
  86. package/esm2020/lib/model/store/store.subcollection.directive.mjs +0 -30
  87. package/esm2020/lib/model/store/store.subcollection.document.mjs +0 -98
  88. package/esm2020/lib/model/store/store.subcollection.mjs +0 -79
  89. package/esm2020/lib/model/store/store.subcollection.rxjs.mjs +0 -23
@@ -1,6 +1,6 @@
1
1
  import { Injectable } from '@angular/core';
2
2
  import { SystemStateFirestoreCollections } from '@dereekb/firebase';
3
- import { AbstractDbxFirebaseCollectionStore } from '../store/store.collection';
3
+ import { AbstractDbxFirebaseCollectionStore } from '../modules/store/store.collection';
4
4
  import * as i0 from "@angular/core";
5
5
  import * as i1 from "@dereekb/firebase";
6
6
  export class SystemStateCollectionStore extends AbstractDbxFirebaseCollectionStore {
@@ -14,4 +14,4 @@ SystemStateCollectionStore.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12
14
14
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: SystemStateCollectionStore, decorators: [{
15
15
  type: Injectable
16
16
  }], ctorParameters: function () { return [{ type: i1.SystemStateFirestoreCollections }]; } });
17
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3lzdGVtc3RhdGUuY29sbGVjdGlvbi5zdG9yZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2RieC1maXJlYmFzZS9zcmMvbGliL21vZGVsL3N5c3RlbS9zeXN0ZW1zdGF0ZS5jb2xsZWN0aW9uLnN0b3JlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFvQywrQkFBK0IsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ3RHLE9BQU8sRUFBRSxrQ0FBa0MsRUFBRSxNQUFNLDJCQUEyQixDQUFDOzs7QUFHL0UsTUFBTSxPQUFPLDBCQUEyQixTQUFRLGtDQUFvRTtJQUNsSCxZQUFxQixXQUE0QztRQUMvRCxLQUFLLENBQUMsRUFBRSxtQkFBbUIsRUFBRSxXQUFXLENBQUMscUJBQXFCLEVBQUUsQ0FBQyxDQUFDO1FBRC9DLGdCQUFXLEdBQVgsV0FBVyxDQUFpQztJQUVqRSxDQUFDOzt3SEFIVSwwQkFBMEI7NEhBQTFCLDBCQUEwQjs0RkFBMUIsMEJBQTBCO2tCQUR0QyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU3lzdGVtU3RhdGUsIFN5c3RlbVN0YXRlRG9jdW1lbnQsIFN5c3RlbVN0YXRlRmlyZXN0b3JlQ29sbGVjdGlvbnMgfSBmcm9tICdAZGVyZWVrYi9maXJlYmFzZSc7XG5pbXBvcnQgeyBBYnN0cmFjdERieEZpcmViYXNlQ29sbGVjdGlvblN0b3JlIH0gZnJvbSAnLi4vc3RvcmUvc3RvcmUuY29sbGVjdGlvbic7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBTeXN0ZW1TdGF0ZUNvbGxlY3Rpb25TdG9yZSBleHRlbmRzIEFic3RyYWN0RGJ4RmlyZWJhc2VDb2xsZWN0aW9uU3RvcmU8U3lzdGVtU3RhdGUsIFN5c3RlbVN0YXRlRG9jdW1lbnQ+IHtcbiAgY29uc3RydWN0b3IocmVhZG9ubHkgY29sbGVjdGlvbnM6IFN5c3RlbVN0YXRlRmlyZXN0b3JlQ29sbGVjdGlvbnMpIHtcbiAgICBzdXBlcih7IGZpcmVzdG9yZUNvbGxlY3Rpb246IGNvbGxlY3Rpb25zLnN5c3RlbVN0YXRlQ29sbGVjdGlvbiB9KTtcbiAgfVxufVxuIl19
17
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3lzdGVtc3RhdGUuY29sbGVjdGlvbi5zdG9yZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2RieC1maXJlYmFzZS9zcmMvbGliL21vZGVsL3N5c3RlbS9zeXN0ZW1zdGF0ZS5jb2xsZWN0aW9uLnN0b3JlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFvQywrQkFBK0IsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ3RHLE9BQU8sRUFBRSxrQ0FBa0MsRUFBRSxNQUFNLG1DQUFtQyxDQUFDOzs7QUFHdkYsTUFBTSxPQUFPLDBCQUEyQixTQUFRLGtDQUFvRTtJQUNsSCxZQUFxQixXQUE0QztRQUMvRCxLQUFLLENBQUMsRUFBRSxtQkFBbUIsRUFBRSxXQUFXLENBQUMscUJBQXFCLEVBQUUsQ0FBQyxDQUFDO1FBRC9DLGdCQUFXLEdBQVgsV0FBVyxDQUFpQztJQUVqRSxDQUFDOzt3SEFIVSwwQkFBMEI7NEhBQTFCLDBCQUEwQjs0RkFBMUIsMEJBQTBCO2tCQUR0QyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU3lzdGVtU3RhdGUsIFN5c3RlbVN0YXRlRG9jdW1lbnQsIFN5c3RlbVN0YXRlRmlyZXN0b3JlQ29sbGVjdGlvbnMgfSBmcm9tICdAZGVyZWVrYi9maXJlYmFzZSc7XG5pbXBvcnQgeyBBYnN0cmFjdERieEZpcmViYXNlQ29sbGVjdGlvblN0b3JlIH0gZnJvbSAnLi4vbW9kdWxlcy9zdG9yZS9zdG9yZS5jb2xsZWN0aW9uJztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIFN5c3RlbVN0YXRlQ29sbGVjdGlvblN0b3JlIGV4dGVuZHMgQWJzdHJhY3REYnhGaXJlYmFzZUNvbGxlY3Rpb25TdG9yZTxTeXN0ZW1TdGF0ZSwgU3lzdGVtU3RhdGVEb2N1bWVudD4ge1xuICBjb25zdHJ1Y3RvcihyZWFkb25seSBjb2xsZWN0aW9uczogU3lzdGVtU3RhdGVGaXJlc3RvcmVDb2xsZWN0aW9ucykge1xuICAgIHN1cGVyKHsgZmlyZXN0b3JlQ29sbGVjdGlvbjogY29sbGVjdGlvbnMuc3lzdGVtU3RhdGVDb2xsZWN0aW9uIH0pO1xuICB9XG59XG4iXX0=
@@ -1,5 +1,5 @@
1
1
  import { Directive } from '@angular/core';
2
- import { DbxFirebaseDocumentStoreDirective, provideDbxFirebaseDocumentStoreDirective } from '../store/store.document.directive';
2
+ import { DbxFirebaseDocumentStoreDirective, provideDbxFirebaseDocumentStoreDirective } from '../modules/store/store.document.directive';
3
3
  import { SystemStateDocumentStore } from './systemstate.document.store';
4
4
  import * as i0 from "@angular/core";
5
5
  import * as i1 from "./systemstate.document.store";
@@ -17,4 +17,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
17
17
  providers: provideDbxFirebaseDocumentStoreDirective(DbxFirebaseSystemStateDocumentStoreDirective, SystemStateDocumentStore)
18
18
  }]
19
19
  }], ctorParameters: function () { return [{ type: i1.SystemStateDocumentStore }]; } });
20
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3lzdGVtc3RhdGUuZG9jdW1lbnQuc3RvcmUuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZGJ4LWZpcmViYXNlL3NyYy9saWIvbW9kZWwvc3lzdGVtL3N5c3RlbXN0YXRlLmRvY3VtZW50LnN0b3JlLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTFDLE9BQU8sRUFBRSxpQ0FBaUMsRUFBRSx3Q0FBd0MsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ2hJLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLDhCQUE4QixDQUFDOzs7QUFNeEUsTUFBTSxPQUFPLDRDQUFzRyxTQUFRLGlDQUFzRztJQUMvTixZQUFZLEtBQWtDO1FBQzVDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNmLENBQUM7OzBJQUhVLDRDQUE0Qzs4SEFBNUMsNENBQTRDLDJEQUY1Qyx3Q0FBd0MsQ0FBQyw0Q0FBNEMsRUFBRSx3QkFBd0IsQ0FBQzs0RkFFaEgsNENBQTRDO2tCQUp4RCxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxrQ0FBa0M7b0JBQzVDLFNBQVMsRUFBRSx3Q0FBd0MsK0NBQStDLHdCQUF3QixDQUFDO2lCQUM1SCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU3lzdGVtU3RhdGUsIFN5c3RlbVN0YXRlRG9jdW1lbnQsIFN5c3RlbVN0YXRlU3RvcmVkRGF0YSB9IGZyb20gJ0BkZXJlZWtiL2ZpcmViYXNlJztcbmltcG9ydCB7IERieEZpcmViYXNlRG9jdW1lbnRTdG9yZURpcmVjdGl2ZSwgcHJvdmlkZURieEZpcmViYXNlRG9jdW1lbnRTdG9yZURpcmVjdGl2ZSB9IGZyb20gJy4uL3N0b3JlL3N0b3JlLmRvY3VtZW50LmRpcmVjdGl2ZSc7XG5pbXBvcnQgeyBTeXN0ZW1TdGF0ZURvY3VtZW50U3RvcmUgfSBmcm9tICcuL3N5c3RlbXN0YXRlLmRvY3VtZW50LnN0b3JlJztcblxuQERpcmVjdGl2ZSh7XG4gIHNlbGVjdG9yOiAnW2RieEZpcmViYXNlU3lzdGVtU3RhdGVEb2N1bWVudF0nLFxuICBwcm92aWRlcnM6IHByb3ZpZGVEYnhGaXJlYmFzZURvY3VtZW50U3RvcmVEaXJlY3RpdmUoRGJ4RmlyZWJhc2VTeXN0ZW1TdGF0ZURvY3VtZW50U3RvcmVEaXJlY3RpdmUsIFN5c3RlbVN0YXRlRG9jdW1lbnRTdG9yZSlcbn0pXG5leHBvcnQgY2xhc3MgRGJ4RmlyZWJhc2VTeXN0ZW1TdGF0ZURvY3VtZW50U3RvcmVEaXJlY3RpdmU8VCBleHRlbmRzIFN5c3RlbVN0YXRlU3RvcmVkRGF0YSA9IFN5c3RlbVN0YXRlU3RvcmVkRGF0YT4gZXh0ZW5kcyBEYnhGaXJlYmFzZURvY3VtZW50U3RvcmVEaXJlY3RpdmU8U3lzdGVtU3RhdGU8VD4sIFN5c3RlbVN0YXRlRG9jdW1lbnQ8VD4sIFN5c3RlbVN0YXRlRG9jdW1lbnRTdG9yZTxUPj4ge1xuICBjb25zdHJ1Y3RvcihzdG9yZTogU3lzdGVtU3RhdGVEb2N1bWVudFN0b3JlPFQ+KSB7XG4gICAgc3VwZXIoc3RvcmUpO1xuICB9XG59XG4iXX0=
20
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3lzdGVtc3RhdGUuZG9jdW1lbnQuc3RvcmUuZGlyZWN0aXZlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZGJ4LWZpcmViYXNlL3NyYy9saWIvbW9kZWwvc3lzdGVtL3N5c3RlbXN0YXRlLmRvY3VtZW50LnN0b3JlLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTFDLE9BQU8sRUFBRSxpQ0FBaUMsRUFBRSx3Q0FBd0MsRUFBRSxNQUFNLDJDQUEyQyxDQUFDO0FBQ3hJLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLDhCQUE4QixDQUFDOzs7QUFNeEUsTUFBTSxPQUFPLDRDQUFzRyxTQUFRLGlDQUFzRztJQUMvTixZQUFZLEtBQWtDO1FBQzVDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNmLENBQUM7OzBJQUhVLDRDQUE0Qzs4SEFBNUMsNENBQTRDLDJEQUY1Qyx3Q0FBd0MsQ0FBQyw0Q0FBNEMsRUFBRSx3QkFBd0IsQ0FBQzs0RkFFaEgsNENBQTRDO2tCQUp4RCxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxrQ0FBa0M7b0JBQzVDLFNBQVMsRUFBRSx3Q0FBd0MsK0NBQStDLHdCQUF3QixDQUFDO2lCQUM1SCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU3lzdGVtU3RhdGUsIFN5c3RlbVN0YXRlRG9jdW1lbnQsIFN5c3RlbVN0YXRlU3RvcmVkRGF0YSB9IGZyb20gJ0BkZXJlZWtiL2ZpcmViYXNlJztcbmltcG9ydCB7IERieEZpcmViYXNlRG9jdW1lbnRTdG9yZURpcmVjdGl2ZSwgcHJvdmlkZURieEZpcmViYXNlRG9jdW1lbnRTdG9yZURpcmVjdGl2ZSB9IGZyb20gJy4uL21vZHVsZXMvc3RvcmUvc3RvcmUuZG9jdW1lbnQuZGlyZWN0aXZlJztcbmltcG9ydCB7IFN5c3RlbVN0YXRlRG9jdW1lbnRTdG9yZSB9IGZyb20gJy4vc3lzdGVtc3RhdGUuZG9jdW1lbnQuc3RvcmUnO1xuXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbZGJ4RmlyZWJhc2VTeXN0ZW1TdGF0ZURvY3VtZW50XScsXG4gIHByb3ZpZGVyczogcHJvdmlkZURieEZpcmViYXNlRG9jdW1lbnRTdG9yZURpcmVjdGl2ZShEYnhGaXJlYmFzZVN5c3RlbVN0YXRlRG9jdW1lbnRTdG9yZURpcmVjdGl2ZSwgU3lzdGVtU3RhdGVEb2N1bWVudFN0b3JlKVxufSlcbmV4cG9ydCBjbGFzcyBEYnhGaXJlYmFzZVN5c3RlbVN0YXRlRG9jdW1lbnRTdG9yZURpcmVjdGl2ZTxUIGV4dGVuZHMgU3lzdGVtU3RhdGVTdG9yZWREYXRhID0gU3lzdGVtU3RhdGVTdG9yZWREYXRhPiBleHRlbmRzIERieEZpcmViYXNlRG9jdW1lbnRTdG9yZURpcmVjdGl2ZTxTeXN0ZW1TdGF0ZTxUPiwgU3lzdGVtU3RhdGVEb2N1bWVudDxUPiwgU3lzdGVtU3RhdGVEb2N1bWVudFN0b3JlPFQ+PiB7XG4gIGNvbnN0cnVjdG9yKHN0b3JlOiBTeXN0ZW1TdGF0ZURvY3VtZW50U3RvcmU8VD4pIHtcbiAgICBzdXBlcihzdG9yZSk7XG4gIH1cbn1cbiJdfQ==
@@ -1,6 +1,6 @@
1
1
  import { Injectable } from '@angular/core';
2
2
  import { SystemStateFirestoreCollections } from '@dereekb/firebase';
3
- import { AbstractDbxFirebaseDocumentStore } from '../store/store.document';
3
+ import { AbstractDbxFirebaseDocumentStore } from '../modules/store/store.document';
4
4
  import * as i0 from "@angular/core";
5
5
  import * as i1 from "@dereekb/firebase";
6
6
  export class SystemStateDocumentStore extends AbstractDbxFirebaseDocumentStore {
@@ -14,4 +14,4 @@ SystemStateDocumentStore.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0
14
14
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: SystemStateDocumentStore, decorators: [{
15
15
  type: Injectable
16
16
  }], ctorParameters: function () { return [{ type: i1.SystemStateFirestoreCollections }]; } });
17
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3lzdGVtc3RhdGUuZG9jdW1lbnQuc3RvcmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9kYngtZmlyZWJhc2Uvc3JjL2xpYi9tb2RlbC9zeXN0ZW0vc3lzdGVtc3RhdGUuZG9jdW1lbnQuc3RvcmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQW9FLCtCQUErQixFQUF5QixNQUFNLG1CQUFtQixDQUFDO0FBQzdKLE9BQU8sRUFBRSxnQ0FBZ0MsRUFBRSxNQUFNLHlCQUF5QixDQUFDOzs7QUFHM0UsTUFBTSxPQUFPLHdCQUFrRixTQUFRLGdDQUF3RTtJQUM3SyxZQUFxQixXQUE0QztRQUMvRCxLQUFLLENBQUMsRUFBRSxtQkFBbUIsRUFBRSxXQUFXLENBQUMscUJBQTBELEVBQUUsQ0FBQyxDQUFDO1FBRHBGLGdCQUFXLEdBQVgsV0FBVyxDQUFpQztJQUVqRSxDQUFDOztzSEFIVSx3QkFBd0I7MEhBQXhCLHdCQUF3Qjs0RkFBeEIsd0JBQXdCO2tCQURwQyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU3lzdGVtU3RhdGUsIFN5c3RlbVN0YXRlRG9jdW1lbnQsIFN5c3RlbVN0YXRlRmlyZXN0b3JlQ29sbGVjdGlvbiwgU3lzdGVtU3RhdGVGaXJlc3RvcmVDb2xsZWN0aW9ucywgU3lzdGVtU3RhdGVTdG9yZWREYXRhIH0gZnJvbSAnQGRlcmVla2IvZmlyZWJhc2UnO1xuaW1wb3J0IHsgQWJzdHJhY3REYnhGaXJlYmFzZURvY3VtZW50U3RvcmUgfSBmcm9tICcuLi9zdG9yZS9zdG9yZS5kb2N1bWVudCc7XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBTeXN0ZW1TdGF0ZURvY3VtZW50U3RvcmU8VCBleHRlbmRzIFN5c3RlbVN0YXRlU3RvcmVkRGF0YSA9IFN5c3RlbVN0YXRlU3RvcmVkRGF0YT4gZXh0ZW5kcyBBYnN0cmFjdERieEZpcmViYXNlRG9jdW1lbnRTdG9yZTxTeXN0ZW1TdGF0ZTxUPiwgU3lzdGVtU3RhdGVEb2N1bWVudDxUPj4ge1xuICBjb25zdHJ1Y3RvcihyZWFkb25seSBjb2xsZWN0aW9uczogU3lzdGVtU3RhdGVGaXJlc3RvcmVDb2xsZWN0aW9ucykge1xuICAgIHN1cGVyKHsgZmlyZXN0b3JlQ29sbGVjdGlvbjogY29sbGVjdGlvbnMuc3lzdGVtU3RhdGVDb2xsZWN0aW9uIGFzIFN5c3RlbVN0YXRlRmlyZXN0b3JlQ29sbGVjdGlvbjxUPiB9KTtcbiAgfVxufVxuIl19
17
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3lzdGVtc3RhdGUuZG9jdW1lbnQuc3RvcmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9kYngtZmlyZWJhc2Uvc3JjL2xpYi9tb2RlbC9zeXN0ZW0vc3lzdGVtc3RhdGUuZG9jdW1lbnQuc3RvcmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQW9FLCtCQUErQixFQUF5QixNQUFNLG1CQUFtQixDQUFDO0FBQzdKLE9BQU8sRUFBRSxnQ0FBZ0MsRUFBRSxNQUFNLGlDQUFpQyxDQUFDOzs7QUFHbkYsTUFBTSxPQUFPLHdCQUFrRixTQUFRLGdDQUF3RTtJQUM3SyxZQUFxQixXQUE0QztRQUMvRCxLQUFLLENBQUMsRUFBRSxtQkFBbUIsRUFBRSxXQUFXLENBQUMscUJBQTBELEVBQUUsQ0FBQyxDQUFDO1FBRHBGLGdCQUFXLEdBQVgsV0FBVyxDQUFpQztJQUVqRSxDQUFDOztzSEFIVSx3QkFBd0I7MEhBQXhCLHdCQUF3Qjs0RkFBeEIsd0JBQXdCO2tCQURwQyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgU3lzdGVtU3RhdGUsIFN5c3RlbVN0YXRlRG9jdW1lbnQsIFN5c3RlbVN0YXRlRmlyZXN0b3JlQ29sbGVjdGlvbiwgU3lzdGVtU3RhdGVGaXJlc3RvcmVDb2xsZWN0aW9ucywgU3lzdGVtU3RhdGVTdG9yZWREYXRhIH0gZnJvbSAnQGRlcmVla2IvZmlyZWJhc2UnO1xuaW1wb3J0IHsgQWJzdHJhY3REYnhGaXJlYmFzZURvY3VtZW50U3RvcmUgfSBmcm9tICcuLi9tb2R1bGVzL3N0b3JlL3N0b3JlLmRvY3VtZW50JztcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIFN5c3RlbVN0YXRlRG9jdW1lbnRTdG9yZTxUIGV4dGVuZHMgU3lzdGVtU3RhdGVTdG9yZWREYXRhID0gU3lzdGVtU3RhdGVTdG9yZWREYXRhPiBleHRlbmRzIEFic3RyYWN0RGJ4RmlyZWJhc2VEb2N1bWVudFN0b3JlPFN5c3RlbVN0YXRlPFQ+LCBTeXN0ZW1TdGF0ZURvY3VtZW50PFQ+PiB7XG4gIGNvbnN0cnVjdG9yKHJlYWRvbmx5IGNvbGxlY3Rpb25zOiBTeXN0ZW1TdGF0ZUZpcmVzdG9yZUNvbGxlY3Rpb25zKSB7XG4gICAgc3VwZXIoeyBmaXJlc3RvcmVDb2xsZWN0aW9uOiBjb2xsZWN0aW9ucy5zeXN0ZW1TdGF0ZUNvbGxlY3Rpb24gYXMgU3lzdGVtU3RhdGVGaXJlc3RvcmVDb2xsZWN0aW9uPFQ+IH0pO1xuICB9XG59XG4iXX0=
@@ -1,10 +1,10 @@
1
1
  import * as i0 from '@angular/core';
2
2
  import { Injectable, Optional, InjectionToken, Inject, Component, Input, Directive, EventEmitter, Output, NgModule, Injector, ViewChild, HostListener, forwardRef, Host } from '@angular/core';
3
- import { switchMap, of, shareReplay, map, distinctUntilChanged, catchError, firstValueFrom, BehaviorSubject, combineLatest, from, first, tap, interval, exhaustMap, filter, take, startWith, EMPTY, Subject, throttleTime, NEVER } from 'rxjs';
3
+ import { switchMap, of, shareReplay, map, distinctUntilChanged, catchError, firstValueFrom, BehaviorSubject, combineLatest, from, first, tap, interval, exhaustMap, filter, take, startWith, EMPTY, Subject, throttleTime, NEVER, combineLatestWith } from 'rxjs';
4
4
  import { __awaiter } from 'tslib';
5
- import { asObservable, timeoutStartWith, filterMaybe, isNot, SubscriptionObject, lazyFrom, switchMapWhileTrue, loadingStateFromObs, tapLog, cleanupDestroyable, accumulatorFlattenPageListLoadingState, useFirst, pageLoadingStateFromObs, useAsObservable, successResult, beginLoading, errorResult, cleanup, mapLoadingState } from '@dereekb/rxjs';
5
+ import { asObservable, timeoutStartWith, filterMaybe, isNot, SubscriptionObject, lazyFrom, switchMapWhileTrue, loadingStateFromObs, tapLog, cleanupDestroyable, accumulatorFlattenPageListLoadingState, useFirst, pageLoadingStateFromObs, useAsObservable, distinctUntilModelKeyChange, successResult, beginLoading, errorResult, cleanup, mapLoadingState } from '@dereekb/rxjs';
6
6
  import * as i2$2 from '@dereekb/dbx-core';
7
- import { loggedInObsFromIsLoggedIn, loggedOutObsFromIsLoggedIn, authUserIdentifier, DbxInjectionContext, AbstractForwardDbxInjectionContextDirective, DBX_INJECTION_COMPONENT_DATA, DbxInjectionComponentModule, DbxAuthService, AbstractIfDirective, AbstractSubscriptionDirective, DbxRouteParamReaderInstance, DbxRouteParamDefaultRedirectInstance, LockSetComponentStore } from '@dereekb/dbx-core';
7
+ import { loggedInObsFromIsLoggedIn, loggedOutObsFromIsLoggedIn, authUserIdentifier, DbxInjectionContext, AbstractForwardDbxInjectionContextDirective, DBX_INJECTION_COMPONENT_DATA, DbxInjectionComponentModule, DbxAuthService, AbstractSubscriptionDirective, AbstractIfDirective, DbxRouteParamReaderInstance, DbxRouteParamDefaultRedirectInstance, LockSetComponentStore } from '@dereekb/dbx-core';
8
8
  import * as i1 from '@angular/fire/auth';
9
9
  import { authState, idToken, GoogleAuthProvider, FacebookAuthProvider, TwitterAuthProvider, GithubAuthProvider, signInWithPopup, createUserWithEmailAndPassword, signInWithEmailAndPassword, signInAnonymously, provideAuth, getAuth, connectAuthEmulator } from '@angular/fire/auth';
10
10
  import { AUTH_ADMIN_ROLE, cachedGetter, urlWithoutParameters, addToSet, removeFromSet, filterMaybeValues, mapIterable, asArray, excludeValuesFromArray, containsStringAnyCase, addToSetCopy, iterableToArray, PromiseUtility, forEachKeyValue, readableError, isMaybeSo, firstValue } from '@dereekb/util';
@@ -19,9 +19,9 @@ import { MatIconModule } from '@angular/material/icon';
19
19
  import * as i2 from '@angular/common';
20
20
  import { CommonModule } from '@angular/common';
21
21
  import * as i1$2 from '@dereekb/dbx-web';
22
- import { DbxRouterAnchorModule, DbxReadableErrorModule, DbxActionModule, DbxButtonModule, AbstractDbxSelectionListWrapperDirective, provideDbxListViewWrapper, DEFAULT_LIST_WRAPPER_DIRECTIVE_TEMPLATE, AbstractDbxSelectionListViewDirective, provideDbxListView, DEFAULT_DBX_SELECTION_VALUE_LIST_DIRECTIVE_TEMPLATE, AbstractDbxValueListViewItemComponent, DBX_VALUE_LIST_VIEW_ITEM, TwoColumnsContextStore, AbstractPopupDirective, DbxWidgetModule, DbxTextModule, DbxBlockLayoutModule, DbxTwoColumnLayoutModule, DbxPopupInteractionModule, DbxListLayoutModule } from '@dereekb/dbx-web';
22
+ import { DbxRouterAnchorModule, DbxReadableErrorModule, DbxActionModule, DbxButtonModule, AbstractDbxSelectionListWrapperDirective, provideDbxListViewWrapper, DEFAULT_LIST_WRAPPER_DIRECTIVE_TEMPLATE, AbstractDbxSelectionListViewDirective, provideDbxListView, DEFAULT_DBX_SELECTION_VALUE_LIST_DIRECTIVE_TEMPLATE, AbstractDbxValueListViewItemComponent, DBX_VALUE_LIST_VIEW_ITEM, TwoColumnsContextStore, AbstractPopupDirective, DbxWidgetModule, DbxTextModule, DbxBlockLayoutModule, DbxTwoColumnLayoutModule, DbxPopupInteractionModule, DbxListLayoutModule, allDbxModelViewTrackerEventModelKeys, DbxModelInfoModule } from '@dereekb/dbx-web';
23
23
  import * as i1$4 from '@dereekb/firebase';
24
- import { firebaseAuthErrorToReadableError, ScheduledFunctionDevelopmentFunctionTypeEnum, clientFirebaseFirestoreContextFactory, SystemStateFirestoreCollections, FIREBASE_DEVELOPMENT_FUNCTIONS_MAP_KEY, FirebaseDevelopmentFunctions, iterationQueryDocChangeWatcher, firebaseQuerySnapshotAccumulator, firebaseQueryItemAccumulator, firestoreModelKeysFromDocuments, firestoreModelIdsFromDocuments, documentReferencesFromDocuments, getDocumentSnapshots, getDataFromDocumentSnapshots, latestSnapshotsFromDocuments, dataFromDocumentSnapshots, loadDocumentsForKeys, loadDocumentsForDocumentReferences, loadDocumentsForIds, FirestoreAccessorStreamMode, firestoreModelIdsFromKey, firestoreModelKeyPartPairs, firestoreModelKeyPairObject, documentDataWithIdAndKey, inferKeyFromTwoWayFlatFirestoreModelKey, clientFirebaseStorageContextFactory } from '@dereekb/firebase';
24
+ import { firebaseAuthErrorToReadableError, ScheduledFunctionDevelopmentFunctionTypeEnum, clientFirebaseFirestoreContextFactory, SystemStateFirestoreCollections, FIREBASE_DEVELOPMENT_FUNCTIONS_MAP_KEY, FirebaseDevelopmentFunctions, iterationQueryDocChangeWatcher, firebaseQuerySnapshotAccumulator, firebaseQueryItemAccumulator, firestoreModelKeysFromDocuments, firestoreModelIdsFromDocuments, documentReferencesFromDocuments, getDocumentSnapshots, getDataFromDocumentSnapshots, latestSnapshotsFromDocuments, dataFromDocumentSnapshots, loadDocumentsForKeys, loadDocumentsForDocumentReferences, loadDocumentsForIds, asFirestoreModelKeyCollectionType, buildFirebaseCollectionTypeModelTypeMap, FirestoreAccessorStreamMode, firestoreModelIdsFromKey, firestoreModelKeyPartPairs, firestoreModelKeyPairObject, documentDataWithIdAndKey, inferKeyFromTwoWayFlatFirestoreModelKey, clientFirebaseStorageContextFactory } from '@dereekb/firebase';
25
25
  import * as i1$3 from '@dereekb/dbx-form';
26
26
  import { AbstractAsyncFormlyFormDirective, usernamePasswordLoginFields, provideFormlyContext, AbstractSyncFormlyFormDirective, emailField, DbxFormIoModule, DbxFormModule, DbxFormlyModule, DbxFormActionModule, DbxFormFormlyTextFieldModule, AbstractConfigAsyncFormlyFormDirective, pickableItemChipField, filterPickableItemFieldValuesByLabel } from '@dereekb/dbx-form';
27
27
  import { msToSeconds } from '@dereekb/date';
@@ -2837,17 +2837,35 @@ function dbxFirebaseDocumentLoaderInstanceWithAccessor(accessor) {
2837
2837
  return new DbxFirebaseDocumentLoaderInstance({ accessor });
2838
2838
  }
2839
2839
 
2840
+ function dbxFirebaseInContextFirebaseModelServiceInstanceFactory(context$) {
2841
+ return (type, keyObs) => {
2842
+ const key$ = asObservable(keyObs);
2843
+ const modelServiceObs = context$.pipe(map((x) => x(type)), switchMap((service) => key$.pipe(map((key) => service(key)))));
2844
+ return new DbxFirebaseInContextFirebaseModelServiceInstance(modelServiceObs);
2845
+ };
2846
+ }
2840
2847
  /**
2841
2848
  * Wraps an InModelContextFirebaseModelService observable and provides different piped observables.
2842
2849
  */
2843
2850
  class DbxFirebaseInContextFirebaseModelServiceInstance {
2844
2851
  constructor(modelService$) {
2845
2852
  this.modelService$ = modelService$;
2853
+ this.key$ = this.modelService$.pipe(map((x) => x.model.key));
2854
+ // MARK: Model
2855
+ this.modelType$ = this.modelService$.pipe(map((x) => x.model.modelType), distinctUntilChanged());
2856
+ this.model$ = this.modelService$.pipe(map((x) => x.model), distinctUntilChanged((a, b) => a.key === b.key), shareReplay(1));
2857
+ this.snapshotData$ = this.model$.pipe(switchMap((x) => x.snapshotData()), shareReplay(1));
2846
2858
  // MARK: Roles
2847
2859
  this.roleReader$ = this.modelService$.pipe(switchMap((x) => x.roleReader()), shareReplay(1));
2848
2860
  this.roleMap$ = this.roleReader$.pipe(map((x) => x.roleMap), shareReplay(1));
2849
2861
  this.hasNoAccess$ = this.roleReader$.pipe(map((x) => x.hasNoAccess()), shareReplay(1));
2850
2862
  }
2863
+ snapshotStream(mode) {
2864
+ return this.model$.pipe(switchMap((x) => x.snapshotStream(mode)), shareReplay(1));
2865
+ }
2866
+ snapshotDataStream(mode, options) {
2867
+ return this.model$.pipe(switchMap((x) => x.snapshotDataStream(mode)), shareReplay(1));
2868
+ }
2851
2869
  truthMap(input) {
2852
2870
  return this.roleReader$.pipe(map((x) => x.truthMap(input)), shareReplay(1));
2853
2871
  }
@@ -2871,6 +2889,340 @@ class DbxFirebaseInContextFirebaseModelServiceInstance {
2871
2889
  }
2872
2890
  }
2873
2891
 
2892
+ /**
2893
+ * Used for retrieving contexts for a specific model type/identity.
2894
+ */
2895
+ class DbxFirebaseModelContextService {
2896
+ }
2897
+ function dbxFirebaseModelContextServiceInfoInstanceFactory(config) {
2898
+ const { modelService, entityMap$ } = config;
2899
+ return (keyObs) => {
2900
+ const key$ = asObservable(keyObs);
2901
+ return key$.pipe(asFirestoreModelKeyCollectionType(), switchMap((pair) => {
2902
+ return entityMap$.pipe(map((entityMap) => {
2903
+ const modelType = entityMap.get(pair.collectionType);
2904
+ if (!modelType) {
2905
+ const message = `dbxFirebaseModelContextServiceInfoInstanceFactory Error: Failed to retrieve model type for collection type "${pair.collectionType}"`;
2906
+ console.error(message);
2907
+ throw new Error(message);
2908
+ }
2909
+ return modelService(modelType, pair.key);
2910
+ }));
2911
+ }));
2912
+ };
2913
+ }
2914
+ /**
2915
+ * Operator function that builds a FirestoreModelIdentityTypeMap from the input context and shares the replay.
2916
+ *
2917
+ * Since the output won't change with different contexts, the map is built once and then shared.
2918
+ *
2919
+ * @returns
2920
+ */
2921
+ function firebaseContextServiceEntityMap() {
2922
+ return (obs) => {
2923
+ return obs.pipe(map((x) => buildFirebaseCollectionTypeModelTypeMap(x)), first(), shareReplay(1));
2924
+ };
2925
+ }
2926
+
2927
+ /**
2928
+ * Configuration provided in the root module for configuring entries.
2929
+ */
2930
+ class DbxFirebaseModelTypesServiceConfig {
2931
+ }
2932
+ /**
2933
+ * Provides model type information about models registered within Firebase.
2934
+ *
2935
+ * Automatically configures the DbxModelTypesService.
2936
+ */
2937
+ class DbxFirebaseModelTypesService {
2938
+ constructor(dbxFirebaseModelContextService, dbxModelTypesService, config) {
2939
+ this.dbxFirebaseModelContextService = dbxFirebaseModelContextService;
2940
+ this.dbxModelTypesService = dbxModelTypesService;
2941
+ if (config) {
2942
+ this.register(config.entries);
2943
+ }
2944
+ }
2945
+ getDisplayInfo(typeInfo, data) {
2946
+ let displayInfo;
2947
+ if (data != null) {
2948
+ displayInfo = typeInfo.displayInfoFactory(data);
2949
+ displayInfo.icon = displayInfo.icon || typeInfo.icon; // set default icon
2950
+ }
2951
+ else {
2952
+ displayInfo = this.getDefaultDisplayInfo(typeInfo);
2953
+ }
2954
+ return displayInfo;
2955
+ }
2956
+ getDefaultDisplayInfo(typeInfo) {
2957
+ var _a;
2958
+ // TODO: Make configurable
2959
+ return {
2960
+ title: (_a = typeInfo.label) !== null && _a !== void 0 ? _a : '',
2961
+ icon: 'warning'
2962
+ };
2963
+ }
2964
+ // MARK: Register
2965
+ register(entries) {
2966
+ const typeConfigs = asArray(entries).map((x) => (Object.assign(Object.assign({}, x), { modelType: x.identity.modelType })));
2967
+ this.dbxModelTypesService.addTypeConfigs(typeConfigs);
2968
+ }
2969
+ // MARK: Retrieval
2970
+ currentInfoForType(type) {
2971
+ return this.dbxModelTypesService.typesMap$.pipe(map((x) => x[type]));
2972
+ }
2973
+ infoForType(type) {
2974
+ return this.currentInfoForType(type).pipe(map((x) => {
2975
+ if (!x) {
2976
+ console.error(`DbxFirebaseModelTypesService: contained no info for type "${type}". Ensure the correct type was entered, and that the type is registered with the DbxFirebaseModelTypesService.`);
2977
+ throw x;
2978
+ }
2979
+ return x;
2980
+ }));
2981
+ }
2982
+ instanceForKey(key$) {
2983
+ return new DbxFirebaseModelTypesServiceInstance(this.dbxFirebaseModelContextService.modelInfoInstance(key$), this);
2984
+ }
2985
+ instancePairsForKeys(keys) {
2986
+ return dbxFirebaseModelTypesServiceInstancePairForKeysFactory(this)(keys);
2987
+ }
2988
+ }
2989
+ DbxFirebaseModelTypesService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: DbxFirebaseModelTypesService, deps: [{ token: DbxFirebaseModelContextService }, { token: i1$2.DbxModelTypesService }, { token: DbxFirebaseModelTypesServiceConfig, optional: true }], target: i0.ɵɵFactoryTarget.Injectable });
2990
+ DbxFirebaseModelTypesService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: DbxFirebaseModelTypesService, providedIn: 'root' });
2991
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: DbxFirebaseModelTypesService, decorators: [{
2992
+ type: Injectable,
2993
+ args: [{
2994
+ providedIn: 'root'
2995
+ }]
2996
+ }], ctorParameters: function () {
2997
+ return [{ type: DbxFirebaseModelContextService }, { type: i1$2.DbxModelTypesService }, { type: DbxFirebaseModelTypesServiceConfig, decorators: [{
2998
+ type: Optional
2999
+ }] }];
3000
+ } });
3001
+ function dbxFirebaseModelTypesServiceInstancePairForKeysFactory(service) {
3002
+ return (keys) => {
3003
+ const instances = asArray(keys).map((x) => service.instanceForKey(x).instancePair$);
3004
+ return combineLatest(instances);
3005
+ };
3006
+ }
3007
+ /**
3008
+ * DbxFirebaseModelTypesService instance
3009
+ */
3010
+ class DbxFirebaseModelTypesServiceInstance {
3011
+ constructor(modelInfoInstance$, dbxFirebaseModelTypesService) {
3012
+ this.modelInfoInstance$ = modelInfoInstance$;
3013
+ this.dbxFirebaseModelTypesService = dbxFirebaseModelTypesService;
3014
+ this.key$ = this.modelInfoInstance$.pipe(switchMap((x) => x.key$));
3015
+ this.modelType$ = this.modelInfoInstance$.pipe(switchMap((x) => x.modelType$));
3016
+ this.snapshotData$ = this.modelInfoInstance$.pipe(switchMap((x) => x.snapshotData$));
3017
+ this.typeInfo$ = this.modelType$.pipe(switchMap((x) => this.dbxFirebaseModelTypesService.infoForType(x)), distinctUntilChanged(), shareReplay(1));
3018
+ this.identity$ = this.typeInfo$.pipe(map((x) => x.identity), distinctUntilChanged());
3019
+ this.segueRef$ = combineLatest([this.key$, this.typeInfo$]).pipe(map(([key, info]) => (info.sref ? info.sref(key) : undefined)), shareReplay(1));
3020
+ this.displayInfo$ = combineLatest([this.typeInfo$, this.snapshotData$]).pipe(map(([typeInfo, data]) => this.dbxFirebaseModelTypesService.getDisplayInfo(typeInfo, data)), shareReplay(1));
3021
+ this.clickableSegueRef$ = combineLatest([this.segueRef$, this.displayInfo$]).pipe(map(([segueRef, displayInfo]) => {
3022
+ let ref = undefined;
3023
+ if (segueRef) {
3024
+ ref = Object.assign(Object.assign({}, segueRef), { title: displayInfo.title, icon: displayInfo.icon });
3025
+ }
3026
+ return ref;
3027
+ }), shareReplay(1));
3028
+ this.instancePair$ = combineLatest([this.clickableSegueRef$, this.displayInfo$, this.key$]).pipe(map(([segueRef, displayInfo, key]) => ({ segueRef, displayInfo, key, instance: this })), shareReplay(1));
3029
+ }
3030
+ }
3031
+
3032
+ class DbxFirebaseModelTrackerService {
3033
+ constructor(dbxModelTrackerService, dbxFirebaseModelTypesService) {
3034
+ this.dbxModelTrackerService = dbxModelTrackerService;
3035
+ this.dbxFirebaseModelTypesService = dbxFirebaseModelTypesService;
3036
+ }
3037
+ // TODO: Expose as observables directly that update when history events change.
3038
+ loadHistoryKeys() {
3039
+ return this.dbxModelTrackerService.getAllViewEvents().pipe(map(allDbxModelViewTrackerEventModelKeys));
3040
+ }
3041
+ loadHistoryPairs() {
3042
+ const historyKeys$ = this.loadHistoryKeys();
3043
+ return historyKeys$.pipe(switchMap((x) => this.dbxFirebaseModelTypesService.instancePairsForKeys(x)));
3044
+ }
3045
+ }
3046
+ DbxFirebaseModelTrackerService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: DbxFirebaseModelTrackerService, deps: [{ token: i1$2.DbxModelTrackerService }, { token: DbxFirebaseModelTypesService }], target: i0.ɵɵFactoryTarget.Injectable });
3047
+ DbxFirebaseModelTrackerService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: DbxFirebaseModelTrackerService, providedIn: 'root' });
3048
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: DbxFirebaseModelTrackerService, decorators: [{
3049
+ type: Injectable,
3050
+ args: [{
3051
+ providedIn: 'root'
3052
+ }]
3053
+ }], ctorParameters: function () { return [{ type: i1$2.DbxModelTrackerService }, { type: DbxFirebaseModelTypesService }]; } });
3054
+
3055
+ /**
3056
+ * Renders an item as configured from the DbxFirebaseModelTypesServiceInstancePair.
3057
+ */
3058
+ class DbxFirebaseModelTypeInstanceComponent extends AbstractDbxSelectionListWrapperDirective {
3059
+ constructor() {
3060
+ super({
3061
+ componentClass: DbxFirebaseModelTypeInstanceViewComponent,
3062
+ defaultSelectionMode: 'view'
3063
+ });
3064
+ }
3065
+ }
3066
+ DbxFirebaseModelTypeInstanceComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: DbxFirebaseModelTypeInstanceComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
3067
+ DbxFirebaseModelTypeInstanceComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", type: DbxFirebaseModelTypeInstanceComponent, selector: "dbx-firebase-model-type-instance-list", providers: provideDbxListViewWrapper(DbxFirebaseModelTypeInstanceComponent), usesInheritance: true, ngImport: i0, template: "\n<dbx-list [state$]=\"state$\" [config]=\"config$ | async\" [disabled]=\"disabled\" [selectionMode]=\"selectionMode\">\n <ng-content top select=\"[top]\"></ng-content>\n <ng-content bottom select=\"[bottom]\"></ng-content>\n <ng-content empty select=\"[empty]\"></ng-content>\n</dbx-list>\n", isInline: true, dependencies: [{ kind: "component", type: i1$2.DbxListComponent, selector: "dbx-list", inputs: ["padded", "state$", "config", "disabled", "selectionMode"], outputs: ["contentScrolled"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }] });
3068
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: DbxFirebaseModelTypeInstanceComponent, decorators: [{
3069
+ type: Component,
3070
+ args: [{
3071
+ selector: 'dbx-firebase-model-type-instance-list',
3072
+ template: DEFAULT_LIST_WRAPPER_DIRECTIVE_TEMPLATE,
3073
+ providers: provideDbxListViewWrapper(DbxFirebaseModelTypeInstanceComponent)
3074
+ }]
3075
+ }], ctorParameters: function () { return []; } });
3076
+ class DbxFirebaseModelTypeInstanceViewComponent extends AbstractDbxSelectionListViewDirective {
3077
+ constructor() {
3078
+ super(...arguments);
3079
+ this.config = {
3080
+ componentClass: DbxFirebaseModelTypeInstanceViewItemComponent,
3081
+ mapValuesToItemValues: (x) => of(x.map((y) => { var _a; return ({ itemValue: y, icon: (_a = y.displayInfo.icon) !== null && _a !== void 0 ? _a : y.icon, anchor: y.segueRef }); }))
3082
+ };
3083
+ }
3084
+ }
3085
+ DbxFirebaseModelTypeInstanceViewComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: DbxFirebaseModelTypeInstanceViewComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
3086
+ DbxFirebaseModelTypeInstanceViewComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", type: DbxFirebaseModelTypeInstanceViewComponent, selector: "ng-component", providers: provideDbxListView(DbxFirebaseModelTypeInstanceViewComponent), usesInheritance: true, ngImport: i0, template: "<dbx-selection-list-view [config]=\"config\"></dbx-selection-list-view>", isInline: true, dependencies: [{ kind: "component", type: i1$2.DbxSelectionValueListViewComponent, selector: "dbx-selection-list-view" }] });
3087
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: DbxFirebaseModelTypeInstanceViewComponent, decorators: [{
3088
+ type: Component,
3089
+ args: [{
3090
+ template: DEFAULT_DBX_SELECTION_VALUE_LIST_DIRECTIVE_TEMPLATE,
3091
+ providers: provideDbxListView(DbxFirebaseModelTypeInstanceViewComponent)
3092
+ }]
3093
+ }] });
3094
+ class DbxFirebaseModelTypeInstanceViewItemComponent extends AbstractDbxValueListViewItemComponent {
3095
+ get title() {
3096
+ return this.itemValue.displayInfo.title;
3097
+ }
3098
+ }
3099
+ DbxFirebaseModelTypeInstanceViewItemComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: DbxFirebaseModelTypeInstanceViewItemComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
3100
+ DbxFirebaseModelTypeInstanceViewItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", type: DbxFirebaseModelTypeInstanceViewItemComponent, selector: "ng-component", usesInheritance: true, ngImport: i0, template: `
3101
+ <div>
3102
+ <p>{{ title }}</p>
3103
+ </div>
3104
+ `, isInline: true });
3105
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: DbxFirebaseModelTypeInstanceViewItemComponent, decorators: [{
3106
+ type: Component,
3107
+ args: [{
3108
+ template: `
3109
+ <div>
3110
+ <p>{{ title }}</p>
3111
+ </div>
3112
+ `
3113
+ }]
3114
+ }] });
3115
+
3116
+ /**
3117
+ * Abstract directive that contains a DbxFirebaseDocumentStore and provides an interface for communicating with other directives.
3118
+ */
3119
+ class DbxFirebaseDocumentStoreDirective {
3120
+ constructor(store) {
3121
+ this.store = store;
3122
+ this.exists$ = this.store.exists$;
3123
+ this.document$ = this.store.document$;
3124
+ this.documentLoadingState$ = this.store.documentLoadingState$;
3125
+ this.id$ = this.store.id$;
3126
+ this.key$ = this.store.key$;
3127
+ this.ref$ = this.store.ref$;
3128
+ this.snapshot$ = this.store.snapshot$;
3129
+ this.snapshotLoadingState$ = this.store.snapshotLoadingState$;
3130
+ this.modelIdentity$ = this.store.modelIdentity$;
3131
+ this.data$ = this.store.data$;
3132
+ this.loadingState$ = this.store.dataLoadingState$;
3133
+ }
3134
+ // MARK: Inputs
3135
+ set id(id) {
3136
+ this.store.setId(id);
3137
+ }
3138
+ set key(key) {
3139
+ this.store.setKey(key);
3140
+ }
3141
+ set ref(ref) {
3142
+ this.store.setRef(ref);
3143
+ }
3144
+ set streamMode(streamMode) {
3145
+ this.store.setStreamMode(streamMode);
3146
+ }
3147
+ }
3148
+ DbxFirebaseDocumentStoreDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: DbxFirebaseDocumentStoreDirective, deps: "invalid", target: i0.ɵɵFactoryTarget.Directive });
3149
+ DbxFirebaseDocumentStoreDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.2.12", type: DbxFirebaseDocumentStoreDirective, inputs: { id: "id", key: "key", ref: "ref", streamMode: "streamMode" }, ngImport: i0 });
3150
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: DbxFirebaseDocumentStoreDirective, decorators: [{
3151
+ type: Directive
3152
+ }], ctorParameters: function () { return [{ type: undefined }]; }, propDecorators: { id: [{
3153
+ type: Input
3154
+ }], key: [{
3155
+ type: Input
3156
+ }], ref: [{
3157
+ type: Input
3158
+ }], streamMode: [{
3159
+ type: Input
3160
+ }] } });
3161
+ function provideDbxFirebaseDocumentStoreDirective(sourceType, storeType) {
3162
+ const providers = [
3163
+ {
3164
+ provide: DbxFirebaseDocumentStoreDirective,
3165
+ useExisting: forwardRef(() => sourceType)
3166
+ }
3167
+ ];
3168
+ if (storeType) {
3169
+ providers.push(storeType);
3170
+ }
3171
+ return providers;
3172
+ }
3173
+
3174
+ /**
3175
+ * Used with a DbxFirebaseDocumentStoreDirective to emit model viewed events.
3176
+ */
3177
+ class DbxfirebaseModelViewedEventDirective extends AbstractSubscriptionDirective {
3178
+ constructor(dbxFirebaseDocumentStoreDirective, dbxModelObjectStateService, dbxFirebaseModelTypesService) {
3179
+ super();
3180
+ this.dbxFirebaseDocumentStoreDirective = dbxFirebaseDocumentStoreDirective;
3181
+ this.dbxModelObjectStateService = dbxModelObjectStateService;
3182
+ this.dbxFirebaseModelTypesService = dbxFirebaseModelTypesService;
3183
+ }
3184
+ ngOnInit() {
3185
+ this.sub = this.dbxFirebaseDocumentStoreDirective.data$
3186
+ .pipe(
3187
+ //
3188
+ distinctUntilModelKeyChange(), combineLatestWith(this.dbxFirebaseDocumentStoreDirective.modelIdentity$.pipe(switchMap((x) => this.dbxFirebaseModelTypesService.infoForType(x.modelType)), first()), this.dbxFirebaseDocumentStoreDirective.key$), map(([data, typeInfo, key]) => {
3189
+ const displayInfo = this.dbxFirebaseModelTypesService.getDisplayInfo(typeInfo, data);
3190
+ const pair = {
3191
+ key,
3192
+ type: typeInfo.modelType,
3193
+ name: displayInfo.title
3194
+ };
3195
+ return pair;
3196
+ }))
3197
+ .subscribe((modelKeyTypeNamePair) => {
3198
+ this.dbxModelObjectStateService.emitModelViewEvent({ modelKeyTypeNamePair });
3199
+ });
3200
+ }
3201
+ }
3202
+ DbxfirebaseModelViewedEventDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: DbxfirebaseModelViewedEventDirective, deps: [{ token: DbxFirebaseDocumentStoreDirective }, { token: i1$2.DbxModelObjectStateService }, { token: DbxFirebaseModelTypesService }], target: i0.ɵɵFactoryTarget.Directive });
3203
+ DbxfirebaseModelViewedEventDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.2.12", type: DbxfirebaseModelViewedEventDirective, selector: "[dbxFirebaseModelViewedEvent]", usesInheritance: true, ngImport: i0 });
3204
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: DbxfirebaseModelViewedEventDirective, decorators: [{
3205
+ type: Directive,
3206
+ args: [{
3207
+ selector: '[dbxFirebaseModelViewedEvent]'
3208
+ }]
3209
+ }], ctorParameters: function () { return [{ type: DbxFirebaseDocumentStoreDirective }, { type: i1$2.DbxModelObjectStateService }, { type: DbxFirebaseModelTypesService }]; } });
3210
+
3211
+ const declarations$1 = [DbxfirebaseModelViewedEventDirective, DbxFirebaseModelTypeInstanceComponent, DbxFirebaseModelTypeInstanceViewComponent, DbxFirebaseModelTypeInstanceViewItemComponent];
3212
+ class DbxFirebaseModelTypesModule {
3213
+ }
3214
+ DbxFirebaseModelTypesModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: DbxFirebaseModelTypesModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
3215
+ DbxFirebaseModelTypesModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.2.12", ngImport: i0, type: DbxFirebaseModelTypesModule, declarations: [DbxfirebaseModelViewedEventDirective, DbxFirebaseModelTypeInstanceComponent, DbxFirebaseModelTypeInstanceViewComponent, DbxFirebaseModelTypeInstanceViewItemComponent], imports: [CommonModule, DbxModelInfoModule, DbxListLayoutModule], exports: [DbxfirebaseModelViewedEventDirective, DbxFirebaseModelTypeInstanceComponent, DbxFirebaseModelTypeInstanceViewComponent, DbxFirebaseModelTypeInstanceViewItemComponent] });
3216
+ DbxFirebaseModelTypesModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: DbxFirebaseModelTypesModule, imports: [CommonModule, DbxModelInfoModule, DbxListLayoutModule] });
3217
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: DbxFirebaseModelTypesModule, decorators: [{
3218
+ type: NgModule,
3219
+ args: [{
3220
+ imports: [CommonModule, DbxModelInfoModule, DbxListLayoutModule],
3221
+ declarations: declarations$1,
3222
+ exports: declarations$1
3223
+ }]
3224
+ }] });
3225
+
2874
3226
  /**
2875
3227
  * Abstract directive that contains a DbxFirebaseCollectionStore and provides an interface for communicating with other directives.
2876
3228
  */
@@ -3043,62 +3395,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
3043
3395
  }] }];
3044
3396
  } });
3045
3397
 
3046
- /**
3047
- * Abstract directive that contains a DbxFirebaseDocumentStore and provides an interface for communicating with other directives.
3048
- */
3049
- class DbxFirebaseDocumentStoreDirective {
3050
- constructor(store) {
3051
- this.store = store;
3052
- this.exists$ = this.store.exists$;
3053
- this.document$ = this.store.document$;
3054
- this.documentLoadingState$ = this.store.documentLoadingState$;
3055
- this.id$ = this.store.id$;
3056
- this.ref$ = this.store.ref$;
3057
- this.snapshot$ = this.store.snapshot$;
3058
- this.snapshotLoadingState$ = this.store.snapshotLoadingState$;
3059
- this.data$ = this.store.data$;
3060
- this.loadingState$ = this.store.dataLoadingState$;
3061
- }
3062
- // MARK: Inputs
3063
- set id(id) {
3064
- this.store.setId(id);
3065
- }
3066
- set key(key) {
3067
- this.store.setKey(key);
3068
- }
3069
- set ref(ref) {
3070
- this.store.setRef(ref);
3071
- }
3072
- set streamMode(streamMode) {
3073
- this.store.setStreamMode(streamMode);
3074
- }
3075
- }
3076
- DbxFirebaseDocumentStoreDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: DbxFirebaseDocumentStoreDirective, deps: "invalid", target: i0.ɵɵFactoryTarget.Directive });
3077
- DbxFirebaseDocumentStoreDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.2.12", type: DbxFirebaseDocumentStoreDirective, inputs: { id: "id", key: "key", ref: "ref", streamMode: "streamMode" }, ngImport: i0 });
3078
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: DbxFirebaseDocumentStoreDirective, decorators: [{
3079
- type: Directive
3080
- }], ctorParameters: function () { return [{ type: undefined }]; }, propDecorators: { id: [{
3081
- type: Input
3082
- }], key: [{
3083
- type: Input
3084
- }], ref: [{
3085
- type: Input
3086
- }], streamMode: [{
3087
- type: Input
3088
- }] } });
3089
- function provideDbxFirebaseDocumentStoreDirective(sourceType, storeType) {
3090
- const providers = [
3091
- {
3092
- provide: DbxFirebaseDocumentStoreDirective,
3093
- useExisting: forwardRef(() => sourceType)
3094
- }
3095
- ];
3096
- if (storeType) {
3097
- providers.push(storeType);
3098
- }
3099
- return providers;
3100
- }
3101
-
3102
3398
  /**
3103
3399
  * Utility directive for a host DbxFirebaseDocumentStoreDirective that sets the document's ID to match the ID of the current user.
3104
3400
  *
@@ -3846,12 +4142,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
3846
4142
  class DbxFirebaseModelModule {
3847
4143
  }
3848
4144
  DbxFirebaseModelModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: DbxFirebaseModelModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
3849
- DbxFirebaseModelModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.2.12", ngImport: i0, type: DbxFirebaseModelModule, exports: [DbxFirebaseModelStoreModule] });
3850
- DbxFirebaseModelModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: DbxFirebaseModelModule, imports: [DbxFirebaseModelStoreModule] });
4145
+ DbxFirebaseModelModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.2.12", ngImport: i0, type: DbxFirebaseModelModule, exports: [DbxFirebaseModelStoreModule, DbxFirebaseModelTypesModule] });
4146
+ DbxFirebaseModelModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: DbxFirebaseModelModule, imports: [DbxFirebaseModelStoreModule, DbxFirebaseModelTypesModule] });
3851
4147
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: DbxFirebaseModelModule, decorators: [{
3852
4148
  type: NgModule,
3853
4149
  args: [{
3854
- exports: [DbxFirebaseModelStoreModule]
4150
+ exports: [DbxFirebaseModelStoreModule, DbxFirebaseModelTypesModule]
3855
4151
  }]
3856
4152
  }] });
3857
4153
 
@@ -3951,5 +4247,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
3951
4247
  * Generated bundle index. Do not edit.
3952
4248
  */
3953
4249
 
3954
- export { AbstractConfiguredDbxFirebaseLoginButtonDirective, AbstractDbxFirebaseCollectionStore, AbstractDbxFirebaseCollectionWithParentStore, AbstractDbxFirebaseDocumentStore, AbstractDbxFirebaseDocumentWithParentStore, AbstractSingleItemDbxFirebaseDocument, AbstractSystemStateDocumentStoreAccessor, DBX_FIREBASE_ID_ROUTER_PARAM_DEFAULT_ID_PARAM_KEY, DBX_FIREBASE_ID_ROUTER_PARAM_DEFAULT_KEY_PARAM_KEY, DBX_FIREBASE_ID_ROUTER_PARAM_DEFAULT_USE_PARAM_VALUE, DBX_FIREBASE_MODEL_DOES_NOT_EXIST_ERROR, DBX_FIREBASE_OPTIONS_TOKEN, DBX_FIREBASE_STORAGE_CONTEXT_CONFIG_TOKEN, DBX_FIREBASE_STORAGE_CONTEXT_TOKEN, DBX_FIRESTORE_CONTEXT_TOKEN, DEFAULT_CONFIGURED_DBX_FIREBASE_LOGIN_BUTTON_TEMPLATE, DEFAULT_DBX_FIREBASE_ANALYTICS_USER_PROPERTIES_FACTORY, DEFAULT_DBX_FIREBASE_AUTH_SERVICE_DELEGATE, DEFAULT_FIREBASE_AUTH_LOGIN_PASSWORD_CONFIG, DEFAULT_FIREBASE_AUTH_LOGIN_PASSWORD_CONFIG_TOKEN, DEFAULT_FIREBASE_AUTH_LOGIN_PROVIDERS_TOKEN, DEFAULT_FIREBASE_AUTH_LOGIN_TERMS_COMPONENT_CLASS_TOKEN, DEFAULT_FIREBASE_COLLECTION_CHANGE_TRIGGER_FUNCTION, DEFAULT_FIREBASE_DEVELOPMENT_ENABLED_TOKEN, DEFAULT_FIREBASE_DEVELOPMENT_POPUP_KEY, DEFAULT_FIREBASE_DEVELOPMENT_SCHEDULER_ENABLED_TOKEN, DEFAULT_FIREBASE_DEVELOPMENT_WIDGET_PROVIDERS_TOKEN, DEFAULT_FIREBASE_LOGIN_METHOD_CATEGORY, DEVELOPMENT_FIREBASE_SERVER_SCHEDULER_WIDGET_KEY, DbxFirebaseAnalyticsUserSource, DbxFirebaseAppCheckHttpInterceptor, DbxFirebaseAuthContextInfo, DbxFirebaseAuthLoginService, DbxFirebaseAuthModule, DbxFirebaseAuthService, DbxFirebaseAuthServiceDelegate, DbxFirebaseCollectionChangeDirective, DbxFirebaseCollectionChangeTriggerInstance, DbxFirebaseCollectionChangeWatcherInstance, DbxFirebaseCollectionHasChangeDirective, DbxFirebaseCollectionListDirective, DbxFirebaseCollectionLoaderInstance, DbxFirebaseCollectionStoreDirective, DbxFirebaseCollectionWithParentStoreDirective, DbxFirebaseDefaultAppCheckProviderModule, DbxFirebaseDefaultAuthProviderModule, DbxFirebaseDefaultFirebaseProvidersModule, DbxFirebaseDefaultFirestoreProviderModule, DbxFirebaseDefaultFunctionsProviderModule, DbxFirebaseDefaultStorageProviderModule, DbxFirebaseDevelopmentDirective, DbxFirebaseDevelopmentModule, DbxFirebaseDevelopmentModuleRootConfig, DbxFirebaseDevelopmentPopupComponent, DbxFirebaseDevelopmentPopupContentComponent, DbxFirebaseDevelopmentPopupContentFormComponent, DbxFirebaseDevelopmentSchedulerListComponent, DbxFirebaseDevelopmentSchedulerListViewComponent, DbxFirebaseDevelopmentSchedulerListViewItemComponent, DbxFirebaseDevelopmentSchedulerService, DbxFirebaseDevelopmentSchedulerWidgetComponent, DbxFirebaseDevelopmentService, DbxFirebaseDevelopmentWidgetService, DbxFirebaseDocumentAuthIdDirective, DbxFirebaseDocumentLoaderInstance, DbxFirebaseDocumentStoreDirective, DbxFirebaseDocumentStoreRouteIdDirective, DbxFirebaseDocumentStoreRouteKeyDirective, DbxFirebaseEmailFormComponent, DbxFirebaseEmailRecoveryFormComponent, DbxFirebaseEmulatorModule, DbxFirebaseEmulatorService, DbxFirebaseFirestoreCollectionModule, DbxFirebaseFunctionsModule, DbxFirebaseIdRouteParamRedirectInstance, DbxFirebaseInContextFirebaseModelServiceInstance, DbxFirebaseLoginAnonymousComponent, DbxFirebaseLoginAppleComponent, DbxFirebaseLoginButtonComponent, DbxFirebaseLoginButtonContainerComponent, DbxFirebaseLoginComponent, DbxFirebaseLoginContext, DbxFirebaseLoginContextBackButtonComponent, DbxFirebaseLoginContextDirective, DbxFirebaseLoginEmailComponent, DbxFirebaseLoginEmailContentComponent, DbxFirebaseLoginFacebookComponent, DbxFirebaseLoginGitHubComponent, DbxFirebaseLoginGoogleComponent, DbxFirebaseLoginListComponent, DbxFirebaseLoginMicrosoftComponent, DbxFirebaseLoginModule, DbxFirebaseLoginModuleRootConfig, DbxFirebaseLoginTermsComponent, DbxFirebaseLoginTermsSimpleComponent, DbxFirebaseLoginTwitterComponent, DbxFirebaseModelModule, DbxFirebaseModelStoreModule, DbxFirebaseModule, DbxFirebaseParsedEmulatorsConfig, DbxFirebaseRegisterComponent, DbxFirebaseRegisterEmailComponent, DbxFirebaseStorageModule, DbxFirebaseStorageService, DbxFirebaseSystemStateCollectionStoreDirective, DbxFirebaseSystemStateDocumentStoreDirective, DbxFirestoreContextService, DbxLimitedFirebaseDocumentLoaderInstance, OAUTH_FIREBASE_LOGIN_METHOD_CATEGORY, SystemStateCollectionStore, SystemStateDocumentStore, authRolesObsWithClaimsService, authUserInfoFromAuthUser, authUserStateFromFirebaseAuthServiceFunction, dbxFirebaseCollectionChangeTrigger, dbxFirebaseCollectionChangeTriggerForStore, dbxFirebaseCollectionChangeTriggerForWatcher, dbxFirebaseCollectionChangeWatcher, dbxFirebaseCollectionLoaderInstance, dbxFirebaseCollectionLoaderInstanceWithCollection, dbxFirebaseDocumentLoaderInstance, dbxFirebaseDocumentLoaderInstanceWithAccessor, dbxFirebaseIdRouteParamRedirect, dbxFirebaseKeyRouteParamRedirect, dbxFirebaseStorageModuleContextConfigFactory, dbxLimitedFirebaseDocumentLoaderInstance, dbxLimitedFirebaseDocumentLoaderInstanceWithAccessor, defaultDbxFirebaseAuthServiceDelegateWithClaimsService, defaultFirebaseAuthLoginProvidersFactory, developmentFirebaseServerSchedulerWidgetEntry, enableAppCheckDebugTokenGeneration, firebaseAuthTokenFromUser, firebaseDocumentStoreCreateFunction, firebaseDocumentStoreCrudFunction, firebaseDocumentStoreDeleteFunction, firebaseDocumentStoreReadFunction, firebaseDocumentStoreUpdateFunction, modelDoesNotExistError, provideDbxFirebaseCollectionStoreDirective, provideDbxFirebaseCollectionWithParentStoreDirective, provideDbxFirebaseDocumentStoreDirective, provideSystemStateFirestoreCollections, readDbxAnalyticsUserPropertiesFromAuthUserInfo, readValueFromIdToken, setParentStoreEffect, stateFromTokenForLoggedInUserFunction };
4250
+ export { AbstractConfiguredDbxFirebaseLoginButtonDirective, AbstractDbxFirebaseCollectionStore, AbstractDbxFirebaseCollectionWithParentStore, AbstractDbxFirebaseDocumentStore, AbstractDbxFirebaseDocumentWithParentStore, AbstractSingleItemDbxFirebaseDocument, AbstractSystemStateDocumentStoreAccessor, DBX_FIREBASE_ID_ROUTER_PARAM_DEFAULT_ID_PARAM_KEY, DBX_FIREBASE_ID_ROUTER_PARAM_DEFAULT_KEY_PARAM_KEY, DBX_FIREBASE_ID_ROUTER_PARAM_DEFAULT_USE_PARAM_VALUE, DBX_FIREBASE_MODEL_DOES_NOT_EXIST_ERROR, DBX_FIREBASE_OPTIONS_TOKEN, DBX_FIREBASE_STORAGE_CONTEXT_CONFIG_TOKEN, DBX_FIREBASE_STORAGE_CONTEXT_TOKEN, DBX_FIRESTORE_CONTEXT_TOKEN, DEFAULT_CONFIGURED_DBX_FIREBASE_LOGIN_BUTTON_TEMPLATE, DEFAULT_DBX_FIREBASE_ANALYTICS_USER_PROPERTIES_FACTORY, DEFAULT_DBX_FIREBASE_AUTH_SERVICE_DELEGATE, DEFAULT_FIREBASE_AUTH_LOGIN_PASSWORD_CONFIG, DEFAULT_FIREBASE_AUTH_LOGIN_PASSWORD_CONFIG_TOKEN, DEFAULT_FIREBASE_AUTH_LOGIN_PROVIDERS_TOKEN, DEFAULT_FIREBASE_AUTH_LOGIN_TERMS_COMPONENT_CLASS_TOKEN, DEFAULT_FIREBASE_COLLECTION_CHANGE_TRIGGER_FUNCTION, DEFAULT_FIREBASE_DEVELOPMENT_ENABLED_TOKEN, DEFAULT_FIREBASE_DEVELOPMENT_POPUP_KEY, DEFAULT_FIREBASE_DEVELOPMENT_SCHEDULER_ENABLED_TOKEN, DEFAULT_FIREBASE_DEVELOPMENT_WIDGET_PROVIDERS_TOKEN, DEFAULT_FIREBASE_LOGIN_METHOD_CATEGORY, DEVELOPMENT_FIREBASE_SERVER_SCHEDULER_WIDGET_KEY, DbxFirebaseAnalyticsUserSource, DbxFirebaseAppCheckHttpInterceptor, DbxFirebaseAuthContextInfo, DbxFirebaseAuthLoginService, DbxFirebaseAuthModule, DbxFirebaseAuthService, DbxFirebaseAuthServiceDelegate, DbxFirebaseCollectionChangeDirective, DbxFirebaseCollectionChangeTriggerInstance, DbxFirebaseCollectionChangeWatcherInstance, DbxFirebaseCollectionHasChangeDirective, DbxFirebaseCollectionListDirective, DbxFirebaseCollectionLoaderInstance, DbxFirebaseCollectionStoreDirective, DbxFirebaseCollectionWithParentStoreDirective, DbxFirebaseDefaultAppCheckProviderModule, DbxFirebaseDefaultAuthProviderModule, DbxFirebaseDefaultFirebaseProvidersModule, DbxFirebaseDefaultFirestoreProviderModule, DbxFirebaseDefaultFunctionsProviderModule, DbxFirebaseDefaultStorageProviderModule, DbxFirebaseDevelopmentDirective, DbxFirebaseDevelopmentModule, DbxFirebaseDevelopmentModuleRootConfig, DbxFirebaseDevelopmentPopupComponent, DbxFirebaseDevelopmentPopupContentComponent, DbxFirebaseDevelopmentPopupContentFormComponent, DbxFirebaseDevelopmentSchedulerListComponent, DbxFirebaseDevelopmentSchedulerListViewComponent, DbxFirebaseDevelopmentSchedulerListViewItemComponent, DbxFirebaseDevelopmentSchedulerService, DbxFirebaseDevelopmentSchedulerWidgetComponent, DbxFirebaseDevelopmentService, DbxFirebaseDevelopmentWidgetService, DbxFirebaseDocumentAuthIdDirective, DbxFirebaseDocumentLoaderInstance, DbxFirebaseDocumentStoreDirective, DbxFirebaseDocumentStoreRouteIdDirective, DbxFirebaseDocumentStoreRouteKeyDirective, DbxFirebaseEmailFormComponent, DbxFirebaseEmailRecoveryFormComponent, DbxFirebaseEmulatorModule, DbxFirebaseEmulatorService, DbxFirebaseFirestoreCollectionModule, DbxFirebaseFunctionsModule, DbxFirebaseIdRouteParamRedirectInstance, DbxFirebaseInContextFirebaseModelServiceInstance, DbxFirebaseLoginAnonymousComponent, DbxFirebaseLoginAppleComponent, DbxFirebaseLoginButtonComponent, DbxFirebaseLoginButtonContainerComponent, DbxFirebaseLoginComponent, DbxFirebaseLoginContext, DbxFirebaseLoginContextBackButtonComponent, DbxFirebaseLoginContextDirective, DbxFirebaseLoginEmailComponent, DbxFirebaseLoginEmailContentComponent, DbxFirebaseLoginFacebookComponent, DbxFirebaseLoginGitHubComponent, DbxFirebaseLoginGoogleComponent, DbxFirebaseLoginListComponent, DbxFirebaseLoginMicrosoftComponent, DbxFirebaseLoginModule, DbxFirebaseLoginModuleRootConfig, DbxFirebaseLoginTermsComponent, DbxFirebaseLoginTermsSimpleComponent, DbxFirebaseLoginTwitterComponent, DbxFirebaseModelContextService, DbxFirebaseModelModule, DbxFirebaseModelStoreModule, DbxFirebaseModelTrackerService, DbxFirebaseModelTypeInstanceComponent, DbxFirebaseModelTypeInstanceViewComponent, DbxFirebaseModelTypeInstanceViewItemComponent, DbxFirebaseModelTypesModule, DbxFirebaseModelTypesService, DbxFirebaseModelTypesServiceConfig, DbxFirebaseModelTypesServiceInstance, DbxFirebaseModule, DbxFirebaseParsedEmulatorsConfig, DbxFirebaseRegisterComponent, DbxFirebaseRegisterEmailComponent, DbxFirebaseStorageModule, DbxFirebaseStorageService, DbxFirebaseSystemStateCollectionStoreDirective, DbxFirebaseSystemStateDocumentStoreDirective, DbxFirestoreContextService, DbxLimitedFirebaseDocumentLoaderInstance, DbxfirebaseModelViewedEventDirective, OAUTH_FIREBASE_LOGIN_METHOD_CATEGORY, SystemStateCollectionStore, SystemStateDocumentStore, authRolesObsWithClaimsService, authUserInfoFromAuthUser, authUserStateFromFirebaseAuthServiceFunction, dbxFirebaseCollectionChangeTrigger, dbxFirebaseCollectionChangeTriggerForStore, dbxFirebaseCollectionChangeTriggerForWatcher, dbxFirebaseCollectionChangeWatcher, dbxFirebaseCollectionLoaderInstance, dbxFirebaseCollectionLoaderInstanceWithCollection, dbxFirebaseDocumentLoaderInstance, dbxFirebaseDocumentLoaderInstanceWithAccessor, dbxFirebaseIdRouteParamRedirect, dbxFirebaseInContextFirebaseModelServiceInstanceFactory, dbxFirebaseKeyRouteParamRedirect, dbxFirebaseModelContextServiceInfoInstanceFactory, dbxFirebaseModelTypesServiceInstancePairForKeysFactory, dbxFirebaseStorageModuleContextConfigFactory, dbxLimitedFirebaseDocumentLoaderInstance, dbxLimitedFirebaseDocumentLoaderInstanceWithAccessor, defaultDbxFirebaseAuthServiceDelegateWithClaimsService, defaultFirebaseAuthLoginProvidersFactory, developmentFirebaseServerSchedulerWidgetEntry, enableAppCheckDebugTokenGeneration, firebaseAuthTokenFromUser, firebaseContextServiceEntityMap, firebaseDocumentStoreCreateFunction, firebaseDocumentStoreCrudFunction, firebaseDocumentStoreDeleteFunction, firebaseDocumentStoreReadFunction, firebaseDocumentStoreUpdateFunction, modelDoesNotExistError, provideDbxFirebaseCollectionStoreDirective, provideDbxFirebaseCollectionWithParentStoreDirective, provideDbxFirebaseDocumentStoreDirective, provideSystemStateFirestoreCollections, readDbxAnalyticsUserPropertiesFromAuthUserInfo, readValueFromIdToken, setParentStoreEffect, stateFromTokenForLoggedInUserFunction };
3955
4251
  //# sourceMappingURL=dereekb-dbx-firebase.mjs.map