@dereekb/dbx-firebase 12.6.21 → 13.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +1 -1
- package/fesm2022/dereekb-dbx-firebase.mjs +910 -1396
- package/fesm2022/dereekb-dbx-firebase.mjs.map +1 -1
- package/package.json +21 -23
- package/types/dereekb-dbx-firebase.d.ts +4304 -0
- package/esm2022/dereekb-dbx-firebase.mjs +0 -5
- package/esm2022/index.mjs +0 -2
- package/esm2022/lib/analytics/analytics.user.events.providers.mjs +0 -25
- package/esm2022/lib/analytics/analytics.user.events.service.mjs +0 -37
- package/esm2022/lib/analytics/analytics.user.source.mjs +0 -48
- package/esm2022/lib/analytics/index.mjs +0 -4
- package/esm2022/lib/auth/appcheck/appcheck.interceptor.mjs +0 -76
- package/esm2022/lib/auth/appcheck/appcheck.mjs +0 -11
- package/esm2022/lib/auth/appcheck/index.mjs +0 -3
- package/esm2022/lib/auth/auth.mjs +0 -22
- package/esm2022/lib/auth/firebase.auth.module.mjs +0 -22
- package/esm2022/lib/auth/firebase.auth.providers.mjs +0 -27
- package/esm2022/lib/auth/index.mjs +0 -7
- package/esm2022/lib/auth/login/firebase.login.module.mjs +0 -124
- package/esm2022/lib/auth/login/firebase.login.providers.default.mjs +0 -109
- package/esm2022/lib/auth/login/firebase.login.providers.mjs +0 -59
- package/esm2022/lib/auth/login/index.mjs +0 -27
- package/esm2022/lib/auth/login/login.anonymous.component.mjs +0 -23
- package/esm2022/lib/auth/login/login.apple.component.mjs +0 -23
- package/esm2022/lib/auth/login/login.button.component.mjs +0 -148
- package/esm2022/lib/auth/login/login.component.mjs +0 -39
- package/esm2022/lib/auth/login/login.context.back.component.mjs +0 -26
- package/esm2022/lib/auth/login/login.context.directive.mjs +0 -30
- package/esm2022/lib/auth/login/login.context.mjs +0 -7
- package/esm2022/lib/auth/login/login.email.component.mjs +0 -24
- package/esm2022/lib/auth/login/login.email.content.component.mjs +0 -102
- package/esm2022/lib/auth/login/login.email.form.component.mjs +0 -27
- package/esm2022/lib/auth/login/login.email.recovery.form.component.mjs +0 -21
- package/esm2022/lib/auth/login/login.facebook.component.mjs +0 -23
- package/esm2022/lib/auth/login/login.github.component.mjs +0 -23
- package/esm2022/lib/auth/login/login.google.component.mjs +0 -23
- package/esm2022/lib/auth/login/login.list.component.mjs +0 -71
- package/esm2022/lib/auth/login/login.microsoft.component.mjs +0 -23
- package/esm2022/lib/auth/login/login.mjs +0 -3
- package/esm2022/lib/auth/login/login.password.mjs +0 -4
- package/esm2022/lib/auth/login/login.service.mjs +0 -127
- package/esm2022/lib/auth/login/login.terms.component.mjs +0 -29
- package/esm2022/lib/auth/login/login.terms.mjs +0 -6
- package/esm2022/lib/auth/login/login.terms.simple.component.mjs +0 -38
- package/esm2022/lib/auth/login/login.twitter.component.mjs +0 -23
- package/esm2022/lib/auth/login/register.component.mjs +0 -27
- package/esm2022/lib/auth/login/register.email.component.mjs +0 -23
- package/esm2022/lib/auth/service/firebase.auth.rxjs.mjs +0 -46
- package/esm2022/lib/auth/service/firebase.auth.service.delegate.mjs +0 -28
- package/esm2022/lib/auth/service/firebase.auth.service.mjs +0 -193
- package/esm2022/lib/auth/service/index.mjs +0 -4
- package/esm2022/lib/development/development.directive.mjs +0 -78
- package/esm2022/lib/development/development.module.mjs +0 -61
- package/esm2022/lib/development/development.popup.component.mjs +0 -44
- package/esm2022/lib/development/development.popup.content.component.mjs +0 -79
- package/esm2022/lib/development/development.popup.content.form.component.mjs +0 -39
- package/esm2022/lib/development/development.providers.mjs +0 -47
- package/esm2022/lib/development/development.scheduler.list.component.mjs +0 -79
- package/esm2022/lib/development/development.scheduler.service.mjs +0 -78
- package/esm2022/lib/development/development.scheduler.widget.component.mjs +0 -40
- package/esm2022/lib/development/development.service.mjs +0 -20
- package/esm2022/lib/development/development.widget.mjs +0 -2
- package/esm2022/lib/development/development.widget.service.mjs +0 -56
- package/esm2022/lib/development/index.mjs +0 -14
- package/esm2022/lib/firebase/appcheck.mjs +0 -2
- package/esm2022/lib/firebase/emulators.mjs +0 -14
- package/esm2022/lib/firebase/firebase.emulator.module.mjs +0 -23
- package/esm2022/lib/firebase/firebase.emulator.providers.mjs +0 -33
- package/esm2022/lib/firebase/firebase.emulator.service.mjs +0 -29
- package/esm2022/lib/firebase/firebase.module.mjs +0 -26
- package/esm2022/lib/firebase/firebase.options.environment.mjs +0 -2
- package/esm2022/lib/firebase/firebase.options.mjs +0 -3
- package/esm2022/lib/firebase/firebase.providers.mjs +0 -149
- package/esm2022/lib/firebase/index.mjs +0 -10
- package/esm2022/lib/firestore/firebase.firestore.context.service.mjs +0 -18
- package/esm2022/lib/firestore/firebase.firestore.mjs +0 -6
- package/esm2022/lib/firestore/firebase.firestore.module.mjs +0 -23
- package/esm2022/lib/firestore/firebase.firestore.providers.mjs +0 -86
- package/esm2022/lib/firestore/index.mjs +0 -5
- package/esm2022/lib/function/firebase.function.module.mjs +0 -23
- package/esm2022/lib/function/firebase.function.providers.mjs +0 -54
- package/esm2022/lib/function/index.mjs +0 -3
- package/esm2022/lib/index.mjs +0 -14
- package/esm2022/lib/model/error.mjs +0 -6
- package/esm2022/lib/model/index.mjs +0 -7
- package/esm2022/lib/model/loader/collection.change.trigger.mjs +0 -80
- package/esm2022/lib/model/loader/collection.change.watcher.mjs +0 -35
- package/esm2022/lib/model/loader/collection.loader.instance.mjs +0 -227
- package/esm2022/lib/model/loader/collection.loader.mjs +0 -2
- package/esm2022/lib/model/loader/document.loader.instance.mjs +0 -68
- package/esm2022/lib/model/loader/document.loader.mjs +0 -2
- package/esm2022/lib/model/loader/index.mjs +0 -7
- package/esm2022/lib/model/model.module.mjs +0 -17
- package/esm2022/lib/model/modules/index.mjs +0 -3
- package/esm2022/lib/model/modules/model/entities/index.mjs +0 -11
- package/esm2022/lib/model/modules/model/entities/model.entities.component.mjs +0 -122
- package/esm2022/lib/model/modules/model/entities/model.entities.entity.component.mjs +0 -79
- package/esm2022/lib/model/modules/model/entities/model.entities.mjs +0 -15
- package/esm2022/lib/model/modules/model/entities/model.entities.popover.button.component.mjs +0 -49
- package/esm2022/lib/model/modules/model/entities/model.entities.popover.component.mjs +0 -42
- package/esm2022/lib/model/modules/model/entities/model.entities.providers.mjs +0 -20
- package/esm2022/lib/model/modules/model/entities/model.entities.source.directive.mjs +0 -38
- package/esm2022/lib/model/modules/model/entities/model.entities.widget.entity.abstract.directive.mjs +0 -18
- package/esm2022/lib/model/modules/model/entities/model.entities.widget.entity.debug.component.mjs +0 -41
- package/esm2022/lib/model/modules/model/entities/model.entities.widget.mjs +0 -51
- package/esm2022/lib/model/modules/model/entities/model.entities.widget.service.mjs +0 -91
- package/esm2022/lib/model/modules/model/history/index.mjs +0 -7
- package/esm2022/lib/model/modules/model/history/model.history.component.mjs +0 -36
- package/esm2022/lib/model/modules/model/history/model.history.module.mjs +0 -26
- package/esm2022/lib/model/modules/model/history/model.history.popover.button.component.mjs +0 -40
- package/esm2022/lib/model/modules/model/history/model.history.popover.component.mjs +0 -36
- package/esm2022/lib/model/modules/model/history/model.sourceselect.history.mjs +0 -18
- package/esm2022/lib/model/modules/model/history/model.tracker.service.mjs +0 -58
- package/esm2022/lib/model/modules/model/index.mjs +0 -8
- package/esm2022/lib/model/modules/model/model.key.component.mjs +0 -51
- package/esm2022/lib/model/modules/model/model.types.list.component.mjs +0 -67
- package/esm2022/lib/model/modules/model/model.types.module.mjs +0 -26
- package/esm2022/lib/model/modules/model/model.types.providers.mjs +0 -20
- package/esm2022/lib/model/modules/model/model.types.service.mjs +0 -122
- package/esm2022/lib/model/modules/model/model.types.view.directive.mjs +0 -45
- package/esm2022/lib/model/modules/store/index.mjs +0 -22
- package/esm2022/lib/model/modules/store/model.store.module.mjs +0 -21
- package/esm2022/lib/model/modules/store/store.collection.change.directive.mjs +0 -45
- package/esm2022/lib/model/modules/store/store.collection.change.if.directive.mjs +0 -42
- package/esm2022/lib/model/modules/store/store.collection.crud.mjs +0 -28
- package/esm2022/lib/model/modules/store/store.collection.directive.mjs +0 -99
- package/esm2022/lib/model/modules/store/store.collection.list.directive.mjs +0 -31
- package/esm2022/lib/model/modules/store/store.collection.mjs +0 -79
- package/esm2022/lib/model/modules/store/store.document.context.store.directive.mjs +0 -19
- package/esm2022/lib/model/modules/store/store.document.context.store.link.mjs +0 -45
- package/esm2022/lib/model/modules/store/store.document.context.store.mjs +0 -86
- package/esm2022/lib/model/modules/store/store.document.crud.mjs +0 -80
- package/esm2022/lib/model/modules/store/store.document.directive.mjs +0 -114
- package/esm2022/lib/model/modules/store/store.document.mjs +0 -193
- package/esm2022/lib/model/modules/store/store.document.twoway.key.directive.mjs +0 -26
- package/esm2022/lib/model/modules/store/store.document.twoway.key.source.directive.mjs +0 -22
- package/esm2022/lib/model/modules/store/store.document.twoway.key.source.mjs +0 -16
- package/esm2022/lib/model/modules/store/store.mjs +0 -2
- package/esm2022/lib/model/modules/store/store.subcollection.directive.mjs +0 -44
- package/esm2022/lib/model/modules/store/store.subcollection.document.mjs +0 -99
- package/esm2022/lib/model/modules/store/store.subcollection.mjs +0 -80
- package/esm2022/lib/model/modules/store/store.subcollection.rxjs.mjs +0 -23
- package/esm2022/lib/model/service/index.mjs +0 -5
- package/esm2022/lib/model/service/model.context.instance.mjs +0 -73
- package/esm2022/lib/model/service/model.context.mjs +0 -2
- package/esm2022/lib/model/service/model.context.providers.mjs +0 -32
- package/esm2022/lib/model/service/model.context.service.mjs +0 -38
- package/esm2022/lib/model/system/index.mjs +0 -6
- package/esm2022/lib/model/system/systemstate.collection.store.directive.mjs +0 -20
- package/esm2022/lib/model/system/systemstate.collection.store.mjs +0 -16
- package/esm2022/lib/model/system/systemstate.document.store.accessor.mjs +0 -35
- package/esm2022/lib/model/system/systemstate.document.store.directive.mjs +0 -19
- package/esm2022/lib/model/system/systemstate.document.store.mjs +0 -16
- package/esm2022/lib/module.mjs +0 -15
- package/esm2022/lib/modules/index.mjs +0 -3
- package/esm2022/lib/modules/notification/component/index.mjs +0 -6
- package/esm2022/lib/modules/notification/component/notificationitem.content.component.mjs +0 -15
- package/esm2022/lib/modules/notification/component/notificationitem.list.component.mjs +0 -90
- package/esm2022/lib/modules/notification/component/notificationitem.view.component.mjs +0 -37
- package/esm2022/lib/modules/notification/component/notificationitem.view.default.component.mjs +0 -27
- package/esm2022/lib/modules/notification/component/notificationitem.view.directive.mjs +0 -14
- package/esm2022/lib/modules/notification/container/index.mjs +0 -3
- package/esm2022/lib/modules/notification/container/notification.item.store.popover.button.component.mjs +0 -48
- package/esm2022/lib/modules/notification/container/notification.item.store.popover.component.mjs +0 -35
- package/esm2022/lib/modules/notification/index.mjs +0 -7
- package/esm2022/lib/modules/notification/notification.module.mjs +0 -103
- package/esm2022/lib/modules/notification/notification.providers.mjs +0 -47
- package/esm2022/lib/modules/notification/service/index.mjs +0 -4
- package/esm2022/lib/modules/notification/service/notification.template.service.mjs +0 -28
- package/esm2022/lib/modules/notification/service/notificationitem.widget.mjs +0 -11
- package/esm2022/lib/modules/notification/service/notificationitem.widget.service.mjs +0 -55
- package/esm2022/lib/modules/notification/store/index.mjs +0 -18
- package/esm2022/lib/modules/notification/store/notification.collection.store.directive.mjs +0 -21
- package/esm2022/lib/modules/notification/store/notification.collection.store.mjs +0 -23
- package/esm2022/lib/modules/notification/store/notification.document.store.directive.mjs +0 -21
- package/esm2022/lib/modules/notification/store/notification.document.store.mjs +0 -33
- package/esm2022/lib/modules/notification/store/notification.item.store.mjs +0 -30
- package/esm2022/lib/modules/notification/store/notificationbox.collection.store.directive.mjs +0 -21
- package/esm2022/lib/modules/notification/store/notificationbox.collection.store.mjs +0 -16
- package/esm2022/lib/modules/notification/store/notificationbox.document.store.directive.mjs +0 -21
- package/esm2022/lib/modules/notification/store/notificationbox.document.store.mjs +0 -22
- package/esm2022/lib/modules/notification/store/notificationsummary.collection.store.directive.mjs +0 -21
- package/esm2022/lib/modules/notification/store/notificationsummary.collection.store.mjs +0 -16
- package/esm2022/lib/modules/notification/store/notificationsummary.document.store.directive.mjs +0 -21
- package/esm2022/lib/modules/notification/store/notificationsummary.document.store.mjs +0 -34
- package/esm2022/lib/modules/notification/store/notificationuser.collection.store.directive.mjs +0 -21
- package/esm2022/lib/modules/notification/store/notificationuser.collection.store.mjs +0 -16
- package/esm2022/lib/modules/notification/store/notificationuser.document.store.directive.mjs +0 -21
- package/esm2022/lib/modules/notification/store/notificationuser.document.store.mjs +0 -18
- package/esm2022/lib/modules/storagefile/container/index.mjs +0 -8
- package/esm2022/lib/modules/storagefile/container/storagefile.download.button.component.mjs +0 -278
- package/esm2022/lib/modules/storagefile/container/storagefile.upload.action.handler.directive.mjs +0 -118
- package/esm2022/lib/modules/storagefile/container/storagefile.upload.error.mjs +0 -12
- package/esm2022/lib/modules/storagefile/container/storagefile.upload.handler.mjs +0 -260
- package/esm2022/lib/modules/storagefile/container/storagefile.upload.initialize.document.directive.mjs +0 -51
- package/esm2022/lib/modules/storagefile/container/storagefile.upload.store.directive.mjs +0 -38
- package/esm2022/lib/modules/storagefile/container/storagefile.upload.sync.directive.mjs +0 -36
- package/esm2022/lib/modules/storagefile/index.mjs +0 -6
- package/esm2022/lib/modules/storagefile/service/index.mjs +0 -3
- package/esm2022/lib/modules/storagefile/service/storagefile.download.service.mjs +0 -158
- package/esm2022/lib/modules/storagefile/service/storagefile.download.storage.service.mjs +0 -91
- package/esm2022/lib/modules/storagefile/storagefile.providers.mjs +0 -33
- package/esm2022/lib/modules/storagefile/storagefile.upload.module.mjs +0 -83
- package/esm2022/lib/modules/storagefile/store/index.mjs +0 -8
- package/esm2022/lib/modules/storagefile/store/storagefile.collection.store.directive.mjs +0 -22
- package/esm2022/lib/modules/storagefile/store/storagefile.collection.store.mjs +0 -18
- package/esm2022/lib/modules/storagefile/store/storagefile.document.store.directive.mjs +0 -21
- package/esm2022/lib/modules/storagefile/store/storagefile.document.store.mjs +0 -23
- package/esm2022/lib/modules/storagefile/store/storagefile.upload.store.mjs +0 -63
- package/esm2022/lib/modules/storagefile/store/storagefilegroup.document.store.directive.mjs +0 -21
- package/esm2022/lib/modules/storagefile/store/storagefilegroup.document.store.mjs +0 -18
- package/esm2022/lib/pipe/index.mjs +0 -4
- package/esm2022/lib/pipe/key.flat.pipe.mjs +0 -20
- package/esm2022/lib/pipe/key.twoway.pipe.mjs +0 -20
- package/esm2022/lib/pipe/pipe.module.mjs +0 -23
- package/esm2022/lib/providers.mjs +0 -48
- package/esm2022/lib/router/id.param.redirect.mjs +0 -64
- package/esm2022/lib/router/index.mjs +0 -2
- package/esm2022/lib/storage/firebase.storage.mjs +0 -10
- package/esm2022/lib/storage/firebase.storage.module.mjs +0 -22
- package/esm2022/lib/storage/firebase.storage.providers.mjs +0 -44
- package/esm2022/lib/storage/firebase.storage.service.mjs +0 -27
- package/esm2022/lib/storage/index.mjs +0 -5
- package/index.d.ts +0 -1
- package/lib/analytics/analytics.user.events.providers.d.ts +0 -6
- package/lib/analytics/analytics.user.events.service.d.ts +0 -19
- package/lib/analytics/analytics.user.source.d.ts +0 -21
- package/lib/analytics/index.d.ts +0 -3
- package/lib/auth/appcheck/appcheck.d.ts +0 -8
- package/lib/auth/appcheck/appcheck.interceptor.d.ts +0 -15
- package/lib/auth/appcheck/index.d.ts +0 -2
- package/lib/auth/auth.d.ts +0 -15
- package/lib/auth/firebase.auth.module.d.ts +0 -13
- package/lib/auth/firebase.auth.providers.d.ts +0 -21
- package/lib/auth/index.d.ts +0 -6
- package/lib/auth/login/firebase.login.module.d.ts +0 -36
- package/lib/auth/login/firebase.login.providers.d.ts +0 -32
- package/lib/auth/login/firebase.login.providers.default.d.ts +0 -7
- package/lib/auth/login/index.d.ts +0 -26
- package/lib/auth/login/login.anonymous.component.d.ts +0 -8
- package/lib/auth/login/login.apple.component.d.ts +0 -8
- package/lib/auth/login/login.button.component.d.ts +0 -53
- package/lib/auth/login/login.component.d.ts +0 -14
- package/lib/auth/login/login.context.back.component.d.ts +0 -8
- package/lib/auth/login/login.context.d.ts +0 -6
- package/lib/auth/login/login.context.directive.d.ts +0 -10
- package/lib/auth/login/login.d.ts +0 -7
- package/lib/auth/login/login.email.component.d.ts +0 -8
- package/lib/auth/login/login.email.content.component.d.ts +0 -41
- package/lib/auth/login/login.email.form.component.d.ts +0 -17
- package/lib/auth/login/login.email.recovery.form.component.d.ts +0 -11
- package/lib/auth/login/login.facebook.component.d.ts +0 -8
- package/lib/auth/login/login.github.component.d.ts +0 -8
- package/lib/auth/login/login.google.component.d.ts +0 -8
- package/lib/auth/login/login.list.component.d.ts +0 -21
- package/lib/auth/login/login.microsoft.component.d.ts +0 -8
- package/lib/auth/login/login.password.d.ts +0 -3
- package/lib/auth/login/login.service.d.ts +0 -115
- package/lib/auth/login/login.terms.component.d.ts +0 -9
- package/lib/auth/login/login.terms.d.ts +0 -18
- package/lib/auth/login/login.terms.simple.component.d.ts +0 -9
- package/lib/auth/login/login.twitter.component.d.ts +0 -8
- package/lib/auth/login/register.component.d.ts +0 -12
- package/lib/auth/login/register.email.component.d.ts +0 -8
- package/lib/auth/service/firebase.auth.rxjs.d.ts +0 -23
- package/lib/auth/service/firebase.auth.service.d.ts +0 -95
- package/lib/auth/service/firebase.auth.service.delegate.d.ts +0 -25
- package/lib/auth/service/index.d.ts +0 -3
- package/lib/development/development.directive.d.ts +0 -24
- package/lib/development/development.module.d.ts +0 -15
- package/lib/development/development.popup.component.d.ts +0 -14
- package/lib/development/development.popup.content.component.d.ts +0 -49
- package/lib/development/development.popup.content.form.component.d.ts +0 -17
- package/lib/development/development.providers.d.ts +0 -32
- package/lib/development/development.scheduler.list.component.d.ts +0 -23
- package/lib/development/development.scheduler.service.d.ts +0 -31
- package/lib/development/development.scheduler.widget.component.d.ts +0 -12
- package/lib/development/development.service.d.ts +0 -16
- package/lib/development/development.widget.d.ts +0 -8
- package/lib/development/development.widget.service.d.ts +0 -29
- package/lib/development/index.d.ts +0 -13
- package/lib/firebase/appcheck.d.ts +0 -21
- package/lib/firebase/emulators.d.ts +0 -60
- package/lib/firebase/firebase.emulator.module.d.ts +0 -14
- package/lib/firebase/firebase.emulator.providers.d.ts +0 -13
- package/lib/firebase/firebase.emulator.service.d.ts +0 -11
- package/lib/firebase/firebase.module.d.ts +0 -14
- package/lib/firebase/firebase.options.d.ts +0 -36
- package/lib/firebase/firebase.options.environment.d.ts +0 -10
- package/lib/firebase/firebase.providers.d.ts +0 -51
- package/lib/firebase/index.d.ts +0 -9
- package/lib/firestore/firebase.firestore.context.service.d.ts +0 -10
- package/lib/firestore/firebase.firestore.d.ts +0 -5
- package/lib/firestore/firebase.firestore.module.d.ts +0 -15
- package/lib/firestore/firebase.firestore.providers.d.ts +0 -62
- package/lib/firestore/index.d.ts +0 -4
- package/lib/function/firebase.function.module.d.ts +0 -16
- package/lib/function/firebase.function.providers.d.ts +0 -43
- package/lib/function/index.d.ts +0 -2
- package/lib/index.d.ts +0 -13
- package/lib/model/error.d.ts +0 -2
- package/lib/model/index.d.ts +0 -6
- package/lib/model/loader/collection.change.trigger.d.ts +0 -57
- package/lib/model/loader/collection.change.watcher.d.ts +0 -44
- package/lib/model/loader/collection.loader.d.ts +0 -61
- package/lib/model/loader/collection.loader.instance.d.ts +0 -110
- package/lib/model/loader/document.loader.d.ts +0 -75
- package/lib/model/loader/document.loader.instance.d.ts +0 -46
- package/lib/model/loader/index.d.ts +0 -6
- package/lib/model/model.module.d.ts +0 -9
- package/lib/model/modules/index.d.ts +0 -2
- package/lib/model/modules/model/entities/index.d.ts +0 -10
- package/lib/model/modules/model/entities/model.entities.component.d.ts +0 -47
- package/lib/model/modules/model/entities/model.entities.d.ts +0 -60
- package/lib/model/modules/model/entities/model.entities.entity.component.d.ts +0 -43
- package/lib/model/modules/model/entities/model.entities.popover.button.component.d.ts +0 -30
- package/lib/model/modules/model/entities/model.entities.popover.component.d.ts +0 -59
- package/lib/model/modules/model/entities/model.entities.providers.d.ts +0 -22
- package/lib/model/modules/model/entities/model.entities.source.directive.d.ts +0 -8
- package/lib/model/modules/model/entities/model.entities.widget.d.ts +0 -30
- package/lib/model/modules/model/entities/model.entities.widget.entity.abstract.directive.d.ts +0 -13
- package/lib/model/modules/model/entities/model.entities.widget.entity.debug.component.d.ts +0 -17
- package/lib/model/modules/model/entities/model.entities.widget.service.d.ts +0 -74
- package/lib/model/modules/model/history/index.d.ts +0 -6
- package/lib/model/modules/model/history/model.history.component.d.ts +0 -16
- package/lib/model/modules/model/history/model.history.module.d.ts +0 -16
- package/lib/model/modules/model/history/model.history.popover.button.component.d.ts +0 -16
- package/lib/model/modules/model/history/model.history.popover.component.d.ts +0 -50
- package/lib/model/modules/model/history/model.sourceselect.history.d.ts +0 -32
- package/lib/model/modules/model/history/model.tracker.service.d.ts +0 -43
- package/lib/model/modules/model/index.d.ts +0 -7
- package/lib/model/modules/model/model.key.component.d.ts +0 -25
- package/lib/model/modules/model/model.types.list.component.d.ts +0 -22
- package/lib/model/modules/model/model.types.module.d.ts +0 -16
- package/lib/model/modules/model/model.types.providers.d.ts +0 -22
- package/lib/model/modules/model/model.types.service.d.ts +0 -90
- package/lib/model/modules/model/model.types.view.directive.d.ts +0 -19
- package/lib/model/modules/store/index.d.ts +0 -21
- package/lib/model/modules/store/model.store.module.d.ts +0 -11
- package/lib/model/modules/store/store.collection.change.directive.d.ts +0 -28
- package/lib/model/modules/store/store.collection.change.if.directive.d.ts +0 -18
- package/lib/model/modules/store/store.collection.crud.d.ts +0 -21
- package/lib/model/modules/store/store.collection.d.ts +0 -97
- package/lib/model/modules/store/store.collection.directive.d.ts +0 -56
- package/lib/model/modules/store/store.collection.list.directive.d.ts +0 -16
- package/lib/model/modules/store/store.d.ts +0 -87
- package/lib/model/modules/store/store.document.context.store.d.ts +0 -59
- package/lib/model/modules/store/store.document.context.store.directive.d.ts +0 -8
- package/lib/model/modules/store/store.document.context.store.link.d.ts +0 -17
- package/lib/model/modules/store/store.document.crud.d.ts +0 -63
- package/lib/model/modules/store/store.document.d.ts +0 -101
- package/lib/model/modules/store/store.document.directive.d.ts +0 -66
- package/lib/model/modules/store/store.document.twoway.key.directive.d.ts +0 -14
- package/lib/model/modules/store/store.document.twoway.key.source.d.ts +0 -10
- package/lib/model/modules/store/store.document.twoway.key.source.directive.d.ts +0 -13
- package/lib/model/modules/store/store.subcollection.d.ts +0 -51
- package/lib/model/modules/store/store.subcollection.directive.d.ts +0 -28
- package/lib/model/modules/store/store.subcollection.document.d.ts +0 -67
- package/lib/model/modules/store/store.subcollection.rxjs.d.ts +0 -24
- package/lib/model/service/index.d.ts +0 -4
- package/lib/model/service/model.context.d.ts +0 -33
- package/lib/model/service/model.context.instance.d.ts +0 -17
- package/lib/model/service/model.context.providers.d.ts +0 -18
- package/lib/model/service/model.context.service.d.ts +0 -31
- package/lib/model/system/index.d.ts +0 -5
- package/lib/model/system/systemstate.collection.store.d.ts +0 -8
- package/lib/model/system/systemstate.collection.store.directive.d.ts +0 -9
- package/lib/model/system/systemstate.document.store.accessor.d.ts +0 -22
- package/lib/model/system/systemstate.document.store.d.ts +0 -8
- package/lib/model/system/systemstate.document.store.directive.d.ts +0 -9
- package/lib/module.d.ts +0 -7
- package/lib/modules/index.d.ts +0 -2
- package/lib/modules/notification/component/index.d.ts +0 -5
- package/lib/modules/notification/component/notificationitem.content.component.d.ts +0 -9
- package/lib/modules/notification/component/notificationitem.list.component.d.ts +0 -24
- package/lib/modules/notification/component/notificationitem.view.component.d.ts +0 -10
- package/lib/modules/notification/component/notificationitem.view.default.component.d.ts +0 -9
- package/lib/modules/notification/component/notificationitem.view.directive.d.ts +0 -8
- package/lib/modules/notification/container/index.d.ts +0 -2
- package/lib/modules/notification/container/notification.item.store.popover.button.component.d.ts +0 -17
- package/lib/modules/notification/container/notification.item.store.popover.component.d.ts +0 -50
- package/lib/modules/notification/index.d.ts +0 -6
- package/lib/modules/notification/notification.module.d.ts +0 -38
- package/lib/modules/notification/notification.providers.d.ts +0 -24
- package/lib/modules/notification/service/index.d.ts +0 -3
- package/lib/modules/notification/service/notification.template.service.d.ts +0 -11
- package/lib/modules/notification/service/notificationitem.widget.d.ts +0 -26
- package/lib/modules/notification/service/notificationitem.widget.service.d.ts +0 -22
- package/lib/modules/notification/store/index.d.ts +0 -17
- package/lib/modules/notification/store/notification.collection.store.d.ts +0 -9
- package/lib/modules/notification/store/notification.collection.store.directive.d.ts +0 -9
- package/lib/modules/notification/store/notification.document.store.d.ts +0 -16
- package/lib/modules/notification/store/notification.document.store.directive.d.ts +0 -9
- package/lib/modules/notification/store/notification.item.store.d.ts +0 -28
- package/lib/modules/notification/store/notificationbox.collection.store.d.ts +0 -8
- package/lib/modules/notification/store/notificationbox.collection.store.directive.d.ts +0 -9
- package/lib/modules/notification/store/notificationbox.document.store.d.ts +0 -13
- package/lib/modules/notification/store/notificationbox.document.store.directive.d.ts +0 -9
- package/lib/modules/notification/store/notificationsummary.collection.store.d.ts +0 -8
- package/lib/modules/notification/store/notificationsummary.collection.store.directive.d.ts +0 -9
- package/lib/modules/notification/store/notificationsummary.document.store.d.ts +0 -21
- package/lib/modules/notification/store/notificationsummary.document.store.directive.d.ts +0 -9
- package/lib/modules/notification/store/notificationuser.collection.store.d.ts +0 -8
- package/lib/modules/notification/store/notificationuser.collection.store.directive.d.ts +0 -9
- package/lib/modules/notification/store/notificationuser.document.store.d.ts +0 -11
- package/lib/modules/notification/store/notificationuser.document.store.directive.d.ts +0 -9
- package/lib/modules/storagefile/container/index.d.ts +0 -7
- package/lib/modules/storagefile/container/storagefile.download.button.component.d.ts +0 -160
- package/lib/modules/storagefile/container/storagefile.upload.action.handler.directive.d.ts +0 -47
- package/lib/modules/storagefile/container/storagefile.upload.error.d.ts +0 -9
- package/lib/modules/storagefile/container/storagefile.upload.handler.d.ts +0 -183
- package/lib/modules/storagefile/container/storagefile.upload.initialize.document.directive.d.ts +0 -21
- package/lib/modules/storagefile/container/storagefile.upload.store.directive.d.ts +0 -20
- package/lib/modules/storagefile/container/storagefile.upload.sync.directive.d.ts +0 -18
- package/lib/modules/storagefile/index.d.ts +0 -5
- package/lib/modules/storagefile/service/index.d.ts +0 -2
- package/lib/modules/storagefile/service/storagefile.download.service.d.ts +0 -79
- package/lib/modules/storagefile/service/storagefile.download.storage.service.d.ts +0 -56
- package/lib/modules/storagefile/storagefile.providers.d.ts +0 -13
- package/lib/modules/storagefile/storagefile.upload.module.d.ts +0 -29
- package/lib/modules/storagefile/store/index.d.ts +0 -7
- package/lib/modules/storagefile/store/storagefile.collection.store.d.ts +0 -10
- package/lib/modules/storagefile/store/storagefile.collection.store.directive.d.ts +0 -9
- package/lib/modules/storagefile/store/storagefile.document.store.d.ts +0 -16
- package/lib/modules/storagefile/store/storagefile.document.store.directive.d.ts +0 -9
- package/lib/modules/storagefile/store/storagefile.upload.store.d.ts +0 -166
- package/lib/modules/storagefile/store/storagefilegroup.document.store.d.ts +0 -11
- package/lib/modules/storagefile/store/storagefilegroup.document.store.directive.d.ts +0 -9
- package/lib/pipe/index.d.ts +0 -3
- package/lib/pipe/key.flat.pipe.d.ts +0 -9
- package/lib/pipe/key.twoway.pipe.d.ts +0 -9
- package/lib/pipe/pipe.module.d.ts +0 -13
- package/lib/providers.d.ts +0 -64
- package/lib/router/id.param.redirect.d.ts +0 -41
- package/lib/router/index.d.ts +0 -1
- package/lib/storage/firebase.storage.d.ts +0 -9
- package/lib/storage/firebase.storage.module.d.ts +0 -13
- package/lib/storage/firebase.storage.providers.d.ts +0 -31
- package/lib/storage/firebase.storage.service.d.ts +0 -13
- package/lib/storage/index.d.ts +0 -4
|
@@ -1,99 +0,0 @@
|
|
|
1
|
-
import { Directive, forwardRef, model } from '@angular/core';
|
|
2
|
-
import { BehaviorSubject, shareReplay, switchMap } from 'rxjs';
|
|
3
|
-
import { filterMaybe, skipInitialMaybe, SubscriptionObject } from '@dereekb/rxjs';
|
|
4
|
-
import { toObservable } from '@angular/core/rxjs-interop';
|
|
5
|
-
import * as i0 from "@angular/core";
|
|
6
|
-
/**
|
|
7
|
-
* Abstract directive that contains a DbxFirebaseCollectionStore and provides an interface for communicating with other directives.
|
|
8
|
-
*/
|
|
9
|
-
export class DbxFirebaseCollectionStoreDirective {
|
|
10
|
-
collectionMode = model('query');
|
|
11
|
-
collectionKeys = model(undefined);
|
|
12
|
-
collectionRefs = model(undefined);
|
|
13
|
-
maxPages = model(undefined);
|
|
14
|
-
itemsPerPage = model(undefined);
|
|
15
|
-
constraints = model(undefined);
|
|
16
|
-
waitForNonNullConstraints = model(undefined);
|
|
17
|
-
_collectionMode = toObservable(this.collectionMode).pipe(skipInitialMaybe());
|
|
18
|
-
_collectionKeys = toObservable(this.collectionKeys).pipe(skipInitialMaybe());
|
|
19
|
-
_collectionRefs = toObservable(this.collectionRefs).pipe(skipInitialMaybe());
|
|
20
|
-
_maxPages = toObservable(this.maxPages).pipe(skipInitialMaybe());
|
|
21
|
-
_itemsPerPage = toObservable(this.itemsPerPage).pipe(skipInitialMaybe());
|
|
22
|
-
_constraints = toObservable(this.constraints).pipe(skipInitialMaybe());
|
|
23
|
-
_waitForNonNullConstraints = toObservable(this.waitForNonNullConstraints).pipe(skipInitialMaybe());
|
|
24
|
-
_store = new BehaviorSubject(undefined);
|
|
25
|
-
_storeSub = new SubscriptionObject();
|
|
26
|
-
store$ = this._store.pipe(filterMaybe(), shareReplay(1));
|
|
27
|
-
pageLoadingState$ = this.store$.pipe(switchMap((x) => x.pageLoadingState$));
|
|
28
|
-
constructor(store) {
|
|
29
|
-
this.replaceStore(store);
|
|
30
|
-
// sync inputs to store any time the store changes
|
|
31
|
-
this._storeSub.subscription = this.store$.subscribe((x) => {
|
|
32
|
-
x.setCollectionMode(this._collectionMode);
|
|
33
|
-
x.setCollectionKeys(this._collectionKeys);
|
|
34
|
-
x.setCollectionRefs(this._collectionRefs);
|
|
35
|
-
x.setConstraints(this._constraints);
|
|
36
|
-
x.setMaxPages(this._maxPages);
|
|
37
|
-
x.setItemsPerPage(this._itemsPerPage);
|
|
38
|
-
x.setWaitForNonNullConstraints(this._waitForNonNullConstraints);
|
|
39
|
-
});
|
|
40
|
-
}
|
|
41
|
-
get store() {
|
|
42
|
-
return this._store.value;
|
|
43
|
-
}
|
|
44
|
-
ngOnDestroy() {
|
|
45
|
-
this._store.complete();
|
|
46
|
-
this._storeSub.destroy();
|
|
47
|
-
}
|
|
48
|
-
/**
|
|
49
|
-
* Replaces the internal store.
|
|
50
|
-
*/
|
|
51
|
-
replaceStore(store) {
|
|
52
|
-
this._store.next(store);
|
|
53
|
-
}
|
|
54
|
-
setCollectionMode(collectionMode) {
|
|
55
|
-
this.collectionMode.set(collectionMode);
|
|
56
|
-
}
|
|
57
|
-
setCollectionKeys(collectionKeys) {
|
|
58
|
-
this.collectionKeys.set(collectionKeys);
|
|
59
|
-
}
|
|
60
|
-
setCollectionRefs(collectionRefs) {
|
|
61
|
-
this.collectionRefs.set(collectionRefs);
|
|
62
|
-
}
|
|
63
|
-
setMaxPages(maxPages) {
|
|
64
|
-
this.maxPages.set(maxPages);
|
|
65
|
-
}
|
|
66
|
-
setItemsPerPage(itemsPerPage) {
|
|
67
|
-
this.itemsPerPage.set(itemsPerPage);
|
|
68
|
-
}
|
|
69
|
-
setConstraints(constraints) {
|
|
70
|
-
this.constraints.set(constraints);
|
|
71
|
-
}
|
|
72
|
-
setWaitForNonNullConstraints(waitForNonNullConstraints) {
|
|
73
|
-
this.waitForNonNullConstraints.set(waitForNonNullConstraints);
|
|
74
|
-
}
|
|
75
|
-
next() {
|
|
76
|
-
this.store.next();
|
|
77
|
-
}
|
|
78
|
-
restart() {
|
|
79
|
-
this.store.restart();
|
|
80
|
-
}
|
|
81
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxFirebaseCollectionStoreDirective, deps: "invalid", target: i0.ɵɵFactoryTarget.Directive });
|
|
82
|
-
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "18.2.13", type: DbxFirebaseCollectionStoreDirective, inputs: { collectionMode: { classPropertyName: "collectionMode", publicName: "collectionMode", isSignal: true, isRequired: false, transformFunction: null }, collectionKeys: { classPropertyName: "collectionKeys", publicName: "collectionKeys", isSignal: true, isRequired: false, transformFunction: null }, collectionRefs: { classPropertyName: "collectionRefs", publicName: "collectionRefs", isSignal: true, isRequired: false, transformFunction: null }, maxPages: { classPropertyName: "maxPages", publicName: "maxPages", isSignal: true, isRequired: false, transformFunction: null }, itemsPerPage: { classPropertyName: "itemsPerPage", publicName: "itemsPerPage", isSignal: true, isRequired: false, transformFunction: null }, constraints: { classPropertyName: "constraints", publicName: "constraints", isSignal: true, isRequired: false, transformFunction: null }, waitForNonNullConstraints: { classPropertyName: "waitForNonNullConstraints", publicName: "waitForNonNullConstraints", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { collectionMode: "collectionModeChange", collectionKeys: "collectionKeysChange", collectionRefs: "collectionRefsChange", maxPages: "maxPagesChange", itemsPerPage: "itemsPerPageChange", constraints: "constraintsChange", waitForNonNullConstraints: "waitForNonNullConstraintsChange" }, ngImport: i0 });
|
|
83
|
-
}
|
|
84
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxFirebaseCollectionStoreDirective, decorators: [{
|
|
85
|
-
type: Directive
|
|
86
|
-
}], ctorParameters: () => [{ type: undefined }] });
|
|
87
|
-
export function provideDbxFirebaseCollectionStoreDirective(sourceType, storeType) {
|
|
88
|
-
const providers = [
|
|
89
|
-
{
|
|
90
|
-
provide: DbxFirebaseCollectionStoreDirective,
|
|
91
|
-
useExisting: forwardRef(() => sourceType)
|
|
92
|
-
}
|
|
93
|
-
];
|
|
94
|
-
if (storeType) {
|
|
95
|
-
providers.push(storeType);
|
|
96
|
-
}
|
|
97
|
-
return providers;
|
|
98
|
-
}
|
|
99
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RvcmUuY29sbGVjdGlvbi5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9kYngtZmlyZWJhc2Uvc3JjL2xpYi9tb2RlbC9tb2R1bGVzL3N0b3JlL3N0b3JlLmNvbGxlY3Rpb24uZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLEtBQUssRUFBNkIsTUFBTSxlQUFlLENBQUM7QUFJeEYsT0FBTyxFQUFFLGVBQWUsRUFBRSxXQUFXLEVBQUUsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQy9ELE9BQU8sRUFBRSxXQUFXLEVBQUUsZ0JBQWdCLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbEYsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDRCQUE0QixDQUFDOztBQUcxRDs7R0FFRztBQUVILE1BQU0sT0FBZ0IsbUNBQW1DO0lBQzlDLGNBQWMsR0FBRyxLQUFLLENBQTRCLE9BQU8sQ0FBQyxDQUFDO0lBQzNELGNBQWMsR0FBRyxLQUFLLENBQTZCLFNBQVMsQ0FBQyxDQUFDO0lBQzlELGNBQWMsR0FBRyxLQUFLLENBQWdDLFNBQVMsQ0FBQyxDQUFDO0lBQ2pFLFFBQVEsR0FBRyxLQUFLLENBQWdCLFNBQVMsQ0FBQyxDQUFDO0lBQzNDLFlBQVksR0FBRyxLQUFLLENBQWdCLFNBQVMsQ0FBQyxDQUFDO0lBQy9DLFdBQVcsR0FBRyxLQUFLLENBQWdELFNBQVMsQ0FBQyxDQUFDO0lBQzlFLHlCQUF5QixHQUFHLEtBQUssQ0FBaUIsU0FBUyxDQUFDLENBQUM7SUFFckQsZUFBZSxHQUFHLFlBQVksQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUMsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUMsQ0FBQztJQUM3RSxlQUFlLEdBQUcsWUFBWSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMs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Q0FBQztJQUMxQyxDQUFDO0lBRUQsV0FBVyxDQUFDLFFBQXVCO1FBQ2pDLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQzlCLENBQUM7SUFFRCxlQUFlLENBQUMsWUFBMkI7UUFDekMsSUFBSSxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUMsWUFBWSxDQUFDLENBQUM7SUFDdEMsQ0FBQztJQUVELGNBQWMsQ0FBQyxXQUEwRDtRQUN2RSxJQUFJLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUNwQyxDQUFDO0lBRUQsNEJBQTRCLENBQUMseUJBQXlDO1FBQ3BFLElBQUksQ0FBQyx5QkFBeUIsQ0FBQyxHQUFHLENBQUMseUJBQXlCLENBQUMsQ0FBQztJQUNoRSxDQUFDO0lBRUQsSUFBSTtRQUNGLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDcEIsQ0FBQztJQUVELE9BQU87UUFDTCxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQ3ZCLENBQUM7d0dBeEZtQixtQ0FBbUM7NEZBQW5DLG1DQUFtQzs7NEZBQW5DLG1DQUFtQztrQkFEeEQsU0FBUzs7QUF3R1YsTUFBTSxVQUFVLDBDQUEwQyxDQUFnSyxVQUFtQixFQUFFLFNBQW1CO0lBQ2hRLE1BQU0sU0FBUyxHQUFlO1FBQzVCO1lBQ0UsT0FBTyxFQUFFLG1DQUFtQztZQUM1QyxXQUFXLEVBQUUsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLFVBQVUsQ0FBQztTQUMxQztLQUNGLENBQUM7SUFFRixJQUFJLFNBQVMsRUFBRSxDQUFDO1FBQ2QsU0FBUyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUM1QixDQUFDO0lBRUQsT0FBTyxTQUFTLENBQUM7QUFDbkIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgZm9yd2FyZFJlZiwgbW9kZWwsIE9uRGVzdHJveSwgUHJvdmlkZXIsIFR5cGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IERvY3VtZW50UmVmZXJlbmNlLCBGaXJlc3RvcmVEb2N1bWVudCwgRmlyZXN0b3JlTW9kZWxLZXksIEZpcmVzdG9yZVF1ZXJ5Q29uc3RyYWludCB9IGZyb20gJ0BkZXJlZWtiL2ZpcmViYXNlJztcbmltcG9ydCB7IE1heWJlLCBBcnJheU9yVmFsdWUgfSBmcm9tICdAZGVyZWVrYi91dGlsJztcbmltcG9ydCB7IERieEZpcmViYXNlQ29sbGVjdGlvblN0b3JlIH0gZnJvbSAnLi9zdG9yZS5jb2xsZWN0aW9uJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgc2hhcmVSZXBsYXksIHN3aXRjaE1hcCB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgZmlsdGVyTWF5YmUsIHNraXBJbml0aWFsTWF5YmUsIFN1YnNjcmlwdGlvbk9iamVjdCB9IGZyb20gJ0BkZXJlZWtiL3J4anMnO1xuaW1wb3J0IHsgdG9PYnNlcnZhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZS9yeGpzLWludGVyb3AnO1xuaW1wb3J0IHsgRGJ4RmlyZWJhc2VDb2xsZWN0aW9uTW9kZSB9IGZyb20gJy4uLy4uL2xvYWRlci9jb2xsZWN0aW9uLmxvYWRlci5pbnN0YW5jZSc7XG5cbi8qKlxuICogQWJzdHJhY3QgZGlyZWN0aXZlIHRoYXQgY29udGFpbnMgYSBEYnhGaXJlYmFzZUNvbGxlY3Rpb25TdG9yZSBhbmQgcHJvdmlkZXMgYW4gaW50ZXJmYWNlIGZvciBjb21tdW5pY2F0aW5nIHdpdGggb3RoZXIgZGlyZWN0aXZlcy5cbiAqL1xuQERpcmVjdGl2ZSgpXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgRGJ4RmlyZWJhc2VDb2xsZWN0aW9uU3RvcmVEaXJlY3RpdmU8VCA9IHVua25vd24sIEQgZXh0ZW5kcyBGaXJlc3RvcmVEb2N1bWVudDxUPiA9IEZpcmVzdG9yZURvY3VtZW50PFQ+LCBTIGV4dGVuZHMgRGJ4RmlyZWJhc2VDb2xsZWN0aW9uU3RvcmU8VCwgRD4gPSBEYnhGaXJlYmFzZUNvbGxlY3Rpb25TdG9yZTxULCBEPj4gaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xuICByZWFkb25seSBjb2xsZWN0aW9uTW9kZSA9IG1vZGVsPERieEZpcmViYXNlQ29sbGVjdGlvbk1vZGU+KCdxdWVyeScpO1xuICByZWFkb25seSBjb2xsZWN0aW9uS2V5cyA9IG1vZGVsPE1heWJlPEZpcmVzdG9yZU1vZGVsS2V5W10+Pih1bmRlZmluZWQpO1xuICByZWFkb25seSBjb2xsZWN0aW9uUmVmcyA9IG1vZGVsPE1heWJlPERvY3VtZW50UmVmZXJlbmNlPFQ+W10+Pih1bmRlZmluZWQpO1xuICByZWFkb25seSBtYXhQYWdlcyA9IG1vZGVsPE1heWJlPG51bWJlcj4+KHVuZGVmaW5lZCk7XG4gIHJlYWRvbmx5IGl0ZW1zUGVyUGFnZSA9IG1vZGVsPE1heWJlPG51bWJlcj4+KHVuZGVmaW5lZCk7XG4gIHJlYWRvbmx5IGNvbnN0cmFpbnRzID0gbW9kZWw8TWF5YmU8QXJyYXlPclZhbHVlPEZpcmVzdG9yZVF1ZXJ5Q29uc3RyYWludD4+Pih1bmRlZmluZWQpO1xuICByZWFkb25seSB3YWl0Rm9yTm9uTnVsbENvbnN0cmFpbnRzID0gbW9kZWw8TWF5YmU8Ym9vbGVhbj4+KHVuZGVmaW5lZCk7XG5cbiAgcHJpdmF0ZSByZWFkb25seSBfY29sbGVjdGlvbk1vZGUgPSB0b09ic2VydmFibGUodGhpcy5jb2xsZWN0aW9uTW9kZSkucGlwZShza2lwSW5pdGlhbE1heWJlKCkpO1xuICBwcml2YXRlIHJlYWRvbmx5IF9jb2xsZWN0aW9uS2V5cyA9IHRvT2JzZXJ2YWJsZSh0aGlzLmNvbGxlY3Rpb25LZXlzKS5waXBlKHNraXBJbml0aWFsTWF5YmUoKSk7XG4gIHByaXZhdGUgcmVhZG9ubHkgX2NvbGxlY3Rpb25SZWZzID0gdG9PYnNlcnZhYmxlKHRoaXMuY29sbGVjdGlvblJlZnMpLnBpcGUoc2tpcEluaXRpYWxNYXliZSgpKTtcbiAgcHJpdmF0ZSByZWFkb25seSBfbWF4UGFnZXMgPSB0b09ic2VydmFibGUodGhpcy5tYXhQYWdlcykucGlwZShza2lwSW5pdGlhbE1heWJlKCkpO1xuICBwcml2YXRlIHJlYWRvbmx5IF9pdGVtc1BlclBhZ2UgPSB0b09ic2VydmFibGUodGhpcy5pdGVtc1BlclBhZ2UpLnBpcGUoc2tpcEluaXRpYWxNYXliZSgpKTtcbiAgcHJpdmF0ZSByZWFkb25seSBfY29uc3RyYWludHMgPSB0b09ic2VydmFibGUodGhpcy5jb25zdHJhaW50cykucGlwZShza2lwSW5pdGlhbE1heWJlKCkpO1xuICBwcml2YXRlIHJlYWRvbmx5IF93YWl0Rm9yTm9uTnVsbENvbnN0cmFpbnRzID0gdG9PYnNlcnZhYmxlKHRoaXMud2FpdEZvck5vbk51bGxDb25zdHJhaW50cykucGlwZShza2lwSW5pdGlhbE1heWJlKCkpO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgX3N0b3JlID0gbmV3IEJlaGF2aW9yU3ViamVjdDxNYXliZTxTPj4odW5kZWZpbmVkKTtcbiAgcHJpdmF0ZSByZWFkb25seSBfc3RvcmVTdWIgPSBuZXcgU3Vic2NyaXB0aW9uT2JqZWN0KCk7XG5cbiAgcmVhZG9ubHkgc3RvcmUkID0gdGhpcy5fc3RvcmUucGlwZShmaWx0ZXJNYXliZSgpLCBzaGFyZVJlcGxheSgxKSk7XG4gIHJlYWRvbmx5IHBhZ2VMb2FkaW5nU3RhdGUkID0gdGhpcy5zdG9yZSQucGlwZShzd2l0Y2hNYXAoKHgpID0+IHgucGFnZUxvYWRpbmdTdGF0ZSQpKTtcblxuICBjb25zdHJ1Y3RvcihzdG9yZTogUykge1xuICAgIHRoaXMucmVwbGFjZVN0b3JlKHN0b3JlKTtcblxuICAgIC8vIHN5bmMgaW5wdXRzIHRvIHN0b3JlIGFueSB0aW1lIHRoZSBzdG9yZSBjaGFuZ2VzXG4gICAgdGhpcy5fc3RvcmVTdWIuc3Vic2NyaXB0aW9uID0gdGhpcy5zdG9yZSQuc3Vic2NyaWJlKCh4KSA9PiB7XG4gICAgICB4LnNldENvbGxlY3Rpb25Nb2RlKHRoaXMuX2NvbGxlY3Rpb25Nb2RlKTtcbiAgICAgIHguc2V0Q29sbGVjdGlvbktleXModGhpcy5fY29sbGVjdGlvbktleXMpO1xuICAgICAgeC5zZXRDb2xsZWN0aW9uUmVmcyh0aGlzLl9jb2xsZWN0aW9uUmVmcyk7XG4gICAgICB4LnNldENvbnN0cmFpbnRzKHRoaXMuX2NvbnN0cmFpbnRzKTtcbiAgICAgIHguc2V0TWF4UGFnZXModGhpcy5fbWF4UGFnZXMpO1xuICAgICAgeC5zZXRJdGVtc1BlclBhZ2UodGhpcy5faXRlbXNQZXJQYWdlKTtcbiAgICAgIHguc2V0V2FpdEZvck5vbk51bGxDb25zdHJhaW50cyh0aGlzLl93YWl0Rm9yTm9uTnVsbENvbnN0cmFpbnRzKTtcbiAgICB9KTtcbiAgfVxuXG4gIGdldCBzdG9yZSgpIHtcbiAgICByZXR1cm4gdGhpcy5fc3RvcmUudmFsdWUgYXMgUztcbiAgfVxuXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuX3N0b3JlLmNvbXBsZXRlKCk7XG4gICAgdGhpcy5fc3RvcmVTdWIuZGVzdHJveSgpO1xuICB9XG5cbiAgLyoqXG4gICAqIFJlcGxhY2VzIHRoZSBpbnRlcm5hbCBzdG9yZS5cbiAgICovXG4gIHJlcGxhY2VTdG9yZShzdG9yZTogUykge1xuICAgIHRoaXMuX3N0b3JlLm5leHQoc3RvcmUpO1xuICB9XG5cbiAgc2V0Q29sbGVjdGlvbk1vZGUoY29sbGVjdGlvbk1vZGU6IERieEZpcmViYXNlQ29sbGVjdGlvbk1vZGUpIHtcbiAgICB0aGlzLmNvbGxlY3Rpb25Nb2RlLnNldChjb2xsZWN0aW9uTW9kZSk7XG4gIH1cblxuICBzZXRDb2xsZWN0aW9uS2V5cyhjb2xsZWN0aW9uS2V5czogTWF5YmU8RmlyZXN0b3JlTW9kZWxLZXlbXT4pIHtcbiAgICB0aGlzLmNvbGxlY3Rpb25LZXlzLnNldChjb2xsZWN0aW9uS2V5cyk7XG4gIH1cblxuICBzZXRDb2xsZWN0aW9uUmVmcyhjb2xsZWN0aW9uUmVmczogTWF5YmU8RG9jdW1lbnRSZWZlcmVuY2U8VD5bXT4pIHtcbiAgICB0aGlzLmNvbGxlY3Rpb25SZWZzLnNldChjb2xsZWN0aW9uUmVmcyk7XG4gIH1cblxuICBzZXRNYXhQYWdlcyhtYXhQYWdlczogTWF5YmU8bnVtYmVyPikge1xuICAgIHRoaXMubWF4UGFnZXMuc2V0KG1heFBhZ2VzKTtcbiAgfVxuXG4gIHNldEl0ZW1zUGVyUGFnZShpdGVtc1BlclBhZ2U6IE1heWJlPG51bWJlcj4pIHtcbiAgICB0aGlzLml0ZW1zUGVyUGFnZS5zZXQoaXRlbXNQZXJQYWdlKTtcbiAgfVxuXG4gIHNldENvbnN0cmFpbnRzKGNvbnN0cmFpbnRzOiBNYXliZTxBcnJheU9yVmFsdWU8RmlyZXN0b3JlUXVlcnlDb25zdHJhaW50Pj4pIHtcbiAgICB0aGlzLmNvbnN0cmFpbnRzLnNldChjb25zdHJhaW50cyk7XG4gIH1cblxuICBzZXRXYWl0Rm9yTm9uTnVsbENvbnN0cmFpbnRzKHdhaXRGb3JOb25OdWxsQ29uc3RyYWludHM6IE1heWJlPGJvb2xlYW4+KSB7XG4gICAgdGhpcy53YWl0Rm9yTm9uTnVsbENvbnN0cmFpbnRzLnNldCh3YWl0Rm9yTm9uTnVsbENvbnN0cmFpbnRzKTtcbiAgfVxuXG4gIG5leHQoKSB7XG4gICAgdGhpcy5zdG9yZS5uZXh0KCk7XG4gIH1cblxuICByZXN0YXJ0KCkge1xuICAgIHRoaXMuc3RvcmUucmVzdGFydCgpO1xuICB9XG59XG5cbi8qIGVzbGludC1kaXNhYmxlIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnkgKi9cbi8vIFRoZSB1c2Ugb2YgYW55IGhlcmUgZG9lcyBub3QgZGVncmFkZSB0aGUgdHlwZS1zYWZldHk7IHdlIHdhbnQgdG8gc2ltcGx5IG1hdGNoIHRoYXQgdGhlIFN0b3JlIHR5cGUgUyBpcyB1c2VkIGluIHRoZSBEaXJlY3RpdmUgdHlwZSBDIHRvIHByb3ZpZGUgaXQuXG5cbi8qKlxuICogQ29uZmlndXJlcyBwcm92aWRlcnMgZm9yIGEgRGJ4RmlyZWJhc2VDb2xsZWN0aW9uU3RvcmVEaXJlY3RpdmUuXG4gKlxuICogQ2FuIG9wdGlvbmFsbHkgYWxzbyBwcm92aWRlIHRoZSBhY3R1YWwgc3RvcmUgdHlwZSB0byBpbmNsdWRlIGluIHRoZSBwcm92aWRlcnMgYXJyYXkgc28gaXQgaXMgaW5zdGFudGlhdGVkIGJ5IEFuZ3VsYXIuXG4gKlxuICogQHBhcmFtIHNvdXJjZVR5cGVcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHByb3ZpZGVEYnhGaXJlYmFzZUNvbGxlY3Rpb25TdG9yZURpcmVjdGl2ZTxTIGV4dGVuZHMgRGJ4RmlyZWJhc2VDb2xsZWN0aW9uU3RvcmVEaXJlY3RpdmU8YW55LCBhbnksIGFueT4+KHNvdXJjZVR5cGU6IFR5cGU8Uz4pOiBQcm92aWRlcltdO1xuZXhwb3J0IGZ1bmN0aW9uIHByb3ZpZGVEYnhGaXJlYmFzZUNvbGxlY3Rpb25TdG9yZURpcmVjdGl2ZTxTIGV4dGVuZHMgRGJ4RmlyZWJhc2VDb2xsZWN0aW9uU3RvcmU8YW55LCBhbnk+LCBDIGV4dGVuZHMgRGJ4RmlyZWJhc2VDb2xsZWN0aW9uU3RvcmVEaXJlY3RpdmU8YW55LCBhbnksIFM+ID0gRGJ4RmlyZWJhc2VDb2xsZWN0aW9uU3RvcmVEaXJlY3RpdmU8YW55LCBhbnksIFM+Pihzb3VyY2VUeXBlOiBUeXBlPEM+LCBzdG9yZVR5cGU/OiBUeXBlPFM+KTogUHJvdmlkZXJbXTtcbmV4cG9ydCBmdW5jdGlvbiBwcm92aWRlRGJ4RmlyZWJhc2VDb2xsZWN0aW9uU3RvcmVEaXJlY3RpdmU8UyBleHRlbmRzIERieEZpcmViYXNlQ29sbGVjdGlvblN0b3JlPGFueSwgYW55PiwgQyBleHRlbmRzIERieEZpcmViYXNlQ29sbGVjdGlvblN0b3JlRGlyZWN0aXZlPGFueSwgYW55LCBTPiA9IERieEZpcmViYXNlQ29sbGVjdGlvblN0b3JlRGlyZWN0aXZlPGFueSwgYW55LCBTPj4oc291cmNlVHlwZTogVHlwZTxDPiwgc3RvcmVUeXBlPzogVHlwZTxTPik6IFByb3ZpZGVyW10ge1xuICBjb25zdCBwcm92aWRlcnM6IFByb3ZpZGVyW10gPSBbXG4gICAge1xuICAgICAgcHJvdmlkZTogRGJ4RmlyZWJhc2VDb2xsZWN0aW9uU3RvcmVEaXJlY3RpdmUsXG4gICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBzb3VyY2VUeXBlKVxuICAgIH1cbiAgXTtcblxuICBpZiAoc3RvcmVUeXBlKSB7XG4gICAgcHJvdmlkZXJzLnB1c2goc3RvcmVUeXBlKTtcbiAgfVxuXG4gIHJldHVybiBwcm92aWRlcnM7XG59XG4iXX0=
|
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
import { AbstractSubscriptionDirective } from '@dereekb/dbx-core';
|
|
2
|
-
import { DbxListViewWrapper } from '@dereekb/dbx-web';
|
|
3
|
-
import { Directive, inject } from '@angular/core';
|
|
4
|
-
import { DbxFirebaseCollectionStoreDirective } from './store.collection.directive';
|
|
5
|
-
import * as i0 from "@angular/core";
|
|
6
|
-
/**
|
|
7
|
-
* Directive that connects a host DbxListView to a DbxFirebaseCollectionStoreDirective to pass data for rendering items from a collection and query parameters.
|
|
8
|
-
*/
|
|
9
|
-
export class DbxFirebaseCollectionListDirective extends AbstractSubscriptionDirective {
|
|
10
|
-
dbxFirebaseCollectionStoreDirective = inject((DbxFirebaseCollectionStoreDirective));
|
|
11
|
-
dbxListViewWrapper = inject((DbxListViewWrapper), { host: true });
|
|
12
|
-
constructor() {
|
|
13
|
-
super();
|
|
14
|
-
this.dbxListViewWrapper.setState(this.dbxFirebaseCollectionStoreDirective.pageLoadingState$);
|
|
15
|
-
}
|
|
16
|
-
ngOnInit() {
|
|
17
|
-
this.sub = this.dbxListViewWrapper.loadMore?.subscribe(() => {
|
|
18
|
-
this.dbxFirebaseCollectionStoreDirective.next();
|
|
19
|
-
});
|
|
20
|
-
}
|
|
21
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxFirebaseCollectionListDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
22
|
-
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.13", type: DbxFirebaseCollectionListDirective, isStandalone: true, selector: "[dbxFirebaseCollectionList]", usesInheritance: true, ngImport: i0 });
|
|
23
|
-
}
|
|
24
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxFirebaseCollectionListDirective, decorators: [{
|
|
25
|
-
type: Directive,
|
|
26
|
-
args: [{
|
|
27
|
-
selector: '[dbxFirebaseCollectionList]',
|
|
28
|
-
standalone: true
|
|
29
|
-
}]
|
|
30
|
-
}], ctorParameters: () => [] });
|
|
31
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RvcmUuY29sbGVjdGlvbi5saXN0LmRpcmVjdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2RieC1maXJlYmFzZS9zcmMvbGliL21vZGVsL21vZHVsZXMvc3RvcmUvc3RvcmUuY29sbGVjdGlvbi5saXN0LmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNsRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUN0RCxPQUFPLEVBQUUsU0FBUyxFQUFVLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMxRCxPQUFPLEVBQUUsbUNBQW1DLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQzs7QUFFbkY7O0dBRUc7QUFLSCxNQUFNLE9BQU8sa0NBQXNDLFNBQVEsNkJBQTZCO0lBQzdFLG1DQUFtQyxHQUFHLE1BQU0sQ0FBQyxDQUFBLG1DQUFzQyxDQUFBLENBQUMsQ0FBQztJQUNyRixrQkFBa0IsR0FBRyxNQUFNLENBQUMsQ0FBQSxrQkFBcUIsQ0FBQSxFQUFFLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxDQUFDLENBQUM7SUFFNUU7UUFDRSxLQUFLLEVBQUUsQ0FBQztRQUNSLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLG1DQUFtQyxDQUFDLGlCQUFpQixDQUFDLENBQUM7SUFDL0YsQ0FBQztJQUVELFFBQVE7UUFDTixJQUFJLENBQUMsR0FBRyxHQUFHLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxRQUFRLEVBQUUsU0FBUyxDQUFDLEdBQUcsRUFBRTtZQUMxRCxJQUFJLENBQUMsbUNBQW1DLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDbEQsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO3dHQWJVLGtDQUFrQzs0RkFBbEMsa0NBQWtDOzs0RkFBbEMsa0NBQWtDO2tCQUo5QyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSw2QkFBNkI7b0JBQ3ZDLFVBQVUsRUFBRSxJQUFJO2lCQUNqQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFic3RyYWN0U3Vic2NyaXB0aW9uRGlyZWN0aXZlIH0gZnJvbSAnQGRlcmVla2IvZGJ4LWNvcmUnO1xuaW1wb3J0IHsgRGJ4TGlzdFZpZXdXcmFwcGVyIH0gZnJvbSAnQGRlcmVla2IvZGJ4LXdlYic7XG5pbXBvcnQgeyBEaXJlY3RpdmUsIE9uSW5pdCwgaW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBEYnhGaXJlYmFzZUNvbGxlY3Rpb25TdG9yZURpcmVjdGl2ZSB9IGZyb20gJy4vc3RvcmUuY29sbGVjdGlvbi5kaXJlY3RpdmUnO1xuXG4vKipcbiAqIERpcmVjdGl2ZSB0aGF0IGNvbm5lY3RzIGEgaG9zdCBEYnhMaXN0VmlldyB0byBhIERieEZpcmViYXNlQ29sbGVjdGlvblN0b3JlRGlyZWN0aXZlIHRvIHBhc3MgZGF0YSBmb3IgcmVuZGVyaW5nIGl0ZW1zIGZyb20gYSBjb2xsZWN0aW9uIGFuZCBxdWVyeSBwYXJhbWV0ZXJzLlxuICovXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbZGJ4RmlyZWJhc2VDb2xsZWN0aW9uTGlzdF0nLFxuICBzdGFuZGFsb25lOiB0cnVlXG59KVxuZXhwb3J0IGNsYXNzIERieEZpcmViYXNlQ29sbGVjdGlvbkxpc3REaXJlY3RpdmU8VD4gZXh0ZW5kcyBBYnN0cmFjdFN1YnNjcmlwdGlvbkRpcmVjdGl2ZSBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIHJlYWRvbmx5IGRieEZpcmViYXNlQ29sbGVjdGlvblN0b3JlRGlyZWN0aXZlID0gaW5qZWN0KERieEZpcmViYXNlQ29sbGVjdGlvblN0b3JlRGlyZWN0aXZlPFQ+KTtcbiAgcmVhZG9ubHkgZGJ4TGlzdFZpZXdXcmFwcGVyID0gaW5qZWN0KERieExpc3RWaWV3V3JhcHBlcjxUPiwgeyBob3N0OiB0cnVlIH0pO1xuXG4gIGNvbnN0cnVjdG9yKCkge1xuICAgIHN1cGVyKCk7XG4gICAgdGhpcy5kYnhMaXN0Vmlld1dyYXBwZXIuc2V0U3RhdGUodGhpcy5kYnhGaXJlYmFzZUNvbGxlY3Rpb25TdG9yZURpcmVjdGl2ZS5wYWdlTG9hZGluZ1N0YXRlJCk7XG4gIH1cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLnN1YiA9IHRoaXMuZGJ4TGlzdFZpZXdXcmFwcGVyLmxvYWRNb3JlPy5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgdGhpcy5kYnhGaXJlYmFzZUNvbGxlY3Rpb25TdG9yZURpcmVjdGl2ZS5uZXh0KCk7XG4gICAgfSk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -1,79 +0,0 @@
|
|
|
1
|
-
import { Injectable } from '@angular/core';
|
|
2
|
-
import { shareReplay, distinctUntilChanged, first, map, switchMap, tap } from 'rxjs';
|
|
3
|
-
import { cleanupDestroyable, filterMaybe } from '@dereekb/rxjs';
|
|
4
|
-
import { LockSetComponentStore } from '@dereekb/dbx-core';
|
|
5
|
-
import { dbxFirebaseCollectionLoaderInstance } from '../../loader/collection.loader.instance';
|
|
6
|
-
import * as i0 from "@angular/core";
|
|
7
|
-
export class AbstractDbxFirebaseCollectionStore extends LockSetComponentStore {
|
|
8
|
-
// MARK: Effects
|
|
9
|
-
setCollectionMode = this.effect((input) => {
|
|
10
|
-
return input.pipe(switchMap((mode) => this.loader$.pipe(tap((x) => x.setCollectionMode(mode)))));
|
|
11
|
-
});
|
|
12
|
-
setCollectionKeys = this.effect((input) => {
|
|
13
|
-
return input.pipe(switchMap((keys) => this.loader$.pipe(tap((x) => x.setCollectionKeys(keys)))));
|
|
14
|
-
});
|
|
15
|
-
setCollectionRefs = this.effect((input) => {
|
|
16
|
-
return input.pipe(switchMap((refs) => this.loader$.pipe(tap((x) => x.setCollectionRefs(refs)))));
|
|
17
|
-
});
|
|
18
|
-
setMaxPages = this.effect((input) => {
|
|
19
|
-
return input.pipe(switchMap((maxPages) => this.loader$.pipe(tap((x) => x.setMaxPages(maxPages)))));
|
|
20
|
-
});
|
|
21
|
-
setItemsPerPage = this.effect((input) => {
|
|
22
|
-
return input.pipe(switchMap((itemsPerPage) => this.loader$.pipe(tap((x) => x.setItemsPerPage(itemsPerPage)))));
|
|
23
|
-
});
|
|
24
|
-
setConstraints = this.effect((input) => {
|
|
25
|
-
return input.pipe(switchMap((constraints) => this.loader$.pipe(tap((x) => x.setConstraints(constraints)))));
|
|
26
|
-
});
|
|
27
|
-
setWaitForNonNullConstraints = this.effect((input) => {
|
|
28
|
-
return input.pipe(switchMap((waitForNonNullConstraints) => this.loader$.pipe(tap((x) => x.setWaitForNonNullConstraints(waitForNonNullConstraints)))));
|
|
29
|
-
});
|
|
30
|
-
next = this.effect((input) => {
|
|
31
|
-
return input.pipe(switchMap(() => this.loader$.pipe(first(), tap((x) => x.next()))));
|
|
32
|
-
});
|
|
33
|
-
restart = this.effect((input) => {
|
|
34
|
-
return input.pipe(switchMap(() => this.loader$.pipe(first(), tap((x) => x.restart()))));
|
|
35
|
-
});
|
|
36
|
-
// MARK: Accessors
|
|
37
|
-
currentFirestoreCollection$ = this.state$.pipe(map((x) => x.firestoreCollection), distinctUntilChanged(), shareReplay(1));
|
|
38
|
-
firestoreCollection$ = this.currentFirestoreCollection$.pipe(filterMaybe());
|
|
39
|
-
loader$ = this.currentFirestoreCollection$.pipe(switchMap((collection) => this.state$.pipe(first(), map((x) => dbxFirebaseCollectionLoaderInstance({
|
|
40
|
-
collection,
|
|
41
|
-
collectionMode: x.collectionMode,
|
|
42
|
-
collectionKeys: x.collectionKeys,
|
|
43
|
-
collectionRefs: x.collectionRefs,
|
|
44
|
-
maxPages: x.maxPages,
|
|
45
|
-
itemsPerPage: x.itemsPerPage,
|
|
46
|
-
constraints: x.constraints,
|
|
47
|
-
waitForNonNullConstraints: x.waitForNonNullConstraints
|
|
48
|
-
})))), cleanupDestroyable(), distinctUntilChanged(), shareReplay(1));
|
|
49
|
-
collectionMode$ = this.loader$.pipe(switchMap((x) => x.collectionMode$));
|
|
50
|
-
constraints$ = this.loader$.pipe(switchMap((x) => x.constraints$));
|
|
51
|
-
firestoreIteration$ = this.loader$.pipe(switchMap((x) => x.firestoreIteration$));
|
|
52
|
-
queryChangeWatcher$ = this.loader$.pipe(switchMap((x) => x.queryChangeWatcher$));
|
|
53
|
-
pageLoadingState$ = this.loader$.pipe(switchMap((x) => x.pageLoadingState$));
|
|
54
|
-
snapshotAccumulator$ = this.loader$.pipe(switchMap((x) => x.snapshotAccumulator$));
|
|
55
|
-
accumulator$ = this.loader$.pipe(switchMap((x) => x.accumulator$));
|
|
56
|
-
hasNext$ = this.loader$.pipe(switchMap((x) => x.hasNext$));
|
|
57
|
-
canLoadMore$ = this.loader$.pipe(switchMap((x) => x.canLoadMore$));
|
|
58
|
-
hasNextAndCanLoadMore$ = this.loader$.pipe(switchMap((x) => x.hasNextAndCanLoadMore$));
|
|
59
|
-
hasDocuments$ = this.loader$.pipe(switchMap((x) => x.hasDocuments$));
|
|
60
|
-
allDocumentRefs$ = this.loader$.pipe(switchMap((x) => x.allDocumentRefs$));
|
|
61
|
-
allDocuments$ = this.loader$.pipe(switchMap((x) => x.allDocuments$));
|
|
62
|
-
allDocumentData$ = this.loader$.pipe(switchMap((x) => x.allDocumentData$));
|
|
63
|
-
setFirestoreCollection = this.updater((state, firestoreCollection) => ({ ...state, firestoreCollection }));
|
|
64
|
-
loadToPage(page) {
|
|
65
|
-
return this.loader$.pipe(switchMap((x) => x.loadToPage(page)));
|
|
66
|
-
}
|
|
67
|
-
loadPagesUntilResultsCount(maxResultsCount, countFunction) {
|
|
68
|
-
return this.loader$.pipe(switchMap((x) => x.loadPagesUntilResultsCount(maxResultsCount, countFunction)));
|
|
69
|
-
}
|
|
70
|
-
loadAllResults() {
|
|
71
|
-
return this.loader$.pipe(switchMap((x) => x.loadAllResults()));
|
|
72
|
-
}
|
|
73
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AbstractDbxFirebaseCollectionStore, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
|
|
74
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AbstractDbxFirebaseCollectionStore });
|
|
75
|
-
}
|
|
76
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: AbstractDbxFirebaseCollectionStore, decorators: [{
|
|
77
|
-
type: Injectable
|
|
78
|
-
}] });
|
|
79
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RvcmUuY29sbGVjdGlvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2RieC1maXJlYmFzZS9zcmMvbGliL21vZGVsL21vZHVsZXMvc3RvcmUvc3RvcmUuY29sbGVjdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBYyxXQUFXLEVBQUUsb0JBQW9CLEVBQWdCLEtBQUssRUFBRSxHQUFHLEVBQUUsU0FBUyxFQUFFLEdBQUcsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUUvRyxPQUFPLEVBQXFCLGtCQUFrQixFQUF3QixXQUFXLEVBQWtELE1BQU0sZUFBZSxDQUFDO0FBRXpKLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQzFELE9BQU8sRUFBdUMsbUNBQW1DLEVBQXFILE1BQU0seUNBQXlDLENBQUM7O0FBbUV0UCxNQUFNLE9BQU8sa0NBQW9NLFNBQVEscUJBQXdCO0lBQy9PLGdCQUFnQjtJQUNQLGlCQUFpQixHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxLQUE0QyxFQUFFLEVBQUU7UUFDeEYsT0FBTyxLQUFLLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNuRyxDQUFDLENBQUMsQ0FBQztJQUVNLGlCQUFpQixHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxLQUE2QyxFQUFFLEVBQUU7UUFDekYsT0FBTyxLQUFLLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLElBQUksRUFB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LElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDakUsQ0FBQztJQUVELDBCQUEwQixDQUFDLGVBQXVCLEVBQUUsYUFBNEY7UUFDOUksT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQywwQkFBMEIsQ0FBQyxlQUFlLEVBQUUsYUFBYSxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQzNHLENBQUM7SUFFRCxjQUFjO1FBQ1osT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxjQUFjLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDakUsQ0FBQzt3R0FqSFUsa0NBQWtDOzRHQUFsQyxrQ0FBa0M7OzRGQUFsQyxrQ0FBa0M7a0JBRDlDLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBzaGFyZVJlcGxheSwgZGlzdGluY3RVbnRpbENoYW5nZWQsIFN1YnNjcmlwdGlvbiwgZmlyc3QsIG1hcCwgc3dpdGNoTWFwLCB0YXAgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEZpcmViYXNlUXVlcnlJdGVtQWNjdW11bGF0b3IsIEZpcmVzdG9yZUNvbGxlY3Rpb25MaWtlLCBGaXJlc3RvcmVEb2N1bWVudCwgRmlyZXN0b3JlSXRlbVBhZ2VJdGVyYXRpb25JbnN0YW5jZSwgRmlyZXN0b3JlUXVlcnlDb25zdHJhaW50LCBJdGVyYXRpb25RdWVyeURvY0NoYW5nZVdhdGNoZXIsIERvY3VtZW50RGF0YVdpdGhJZEFuZEtleSwgRG9jdW1lbnRSZWZlcmVuY2UsIEZpcmViYXNlUXVlcnlTbmFwc2hvdEFjY3VtdWxhdG9yLCBGaXJlYmFzZVF1ZXJ5SXRlbUFjY3VtdWxhdG9yTmV4dFBhZ2VVbnRpbFJlc3VsdHNDb3VudEZ1bmN0aW9uLCBGaXJlc3RvcmVNb2RlbEtleSB9IGZyb20gJ0BkZXJlZWtiL2ZpcmViYXNlJztcbmltcG9ydCB7IE9ic2VydmFibGVPclZhbHVlLCBjbGVhbnVwRGVzdHJveWFibGUsIFBhZ2VMaXN0TG9hZGluZ1N0YXRlLCBmaWx0ZXJNYXliZSwgSXRlbUFjY3VtdWxhdG9yTmV4dFBhZ2VVbnRpbFJlc3VsdHNDb3VudFJlc3VsdCB9IGZyb20gJ0BkZXJlZWtiL3J4anMnO1xuaW1wb3J0IHsgQXJyYXlPclZhbHVlLCBNYXliZSwgUGFnZU51bWJlciB9IGZyb20gJ0BkZXJlZWtiL3V0aWwnO1xuaW1wb3J0IHsgTG9ja1NldENvbXBvbmVudFN0b3JlIH0gZnJvbSAnQGRlcmVla2IvZGJ4LWNvcmUnO1xuaW1wb3J0IHsgRGJ4RmlyZWJhc2VDb2xsZWN0aW9uTG9hZGVySW5zdGFuY2UsIGRieEZpcmViYXNlQ29sbGVjdGlvbkxvYWRlckluc3RhbmNlLCBEYnhGaXJlYmFzZUNvbGxlY3Rpb25Mb2FkZXJJbnN0YW5jZURhdGEsIERieEZpcmViYXNlQ29sbGVjdGlvbkxvYWRlckluc3RhbmNlSW5pdENvbmZpZywgRGJ4RmlyZWJhc2VDb2xsZWN0aW9uTW9kZSB9IGZyb20gJy4uLy4uL2xvYWRlci9jb2xsZWN0aW9uLmxvYWRlci5pbnN0YW5jZSc7XG5pbXBvcnQgeyBEYnhGaXJlYmFzZUNvbGxlY3Rpb25Mb2FkZXJBY2Nlc3NvcldpdGhBY2N1bXVsYXRvciB9IGZyb20gJy4uLy4uL2xvYWRlci9jb2xsZWN0aW9uLmxvYWRlcic7XG5cbmV4cG9ydCBpbnRlcmZhY2UgRGJ4RmlyZWJhc2VDb2xsZWN0aW9uU3RvcmU8VCwgRCBleHRlbmRzIEZpcmVzdG9yZURvY3VtZW50PFQ+ID0gRmlyZXN0b3JlRG9jdW1lbnQ8VD4+IGV4dGVuZHMgRGJ4RmlyZWJhc2VDb2xsZWN0aW9uTG9hZGVyQWNjZXNzb3JXaXRoQWNjdW11bGF0b3I8VD4sIERieEZpcmViYXNlQ29sbGVjdGlvbkxvYWRlckluc3RhbmNlRGF0YTxULCBEPiB7XG4gIC8qKlxuICAgKiBUaGUgY3VycmVudCBjb2xsZWN0aW9uIHRoYXQgZG9jdW1lbnRzIGFyZSBsb2FkZWQgZnJvbS5cbiAgICovXG4gIHJlYWRvbmx5IGZpcmVzdG9yZUNvbGxlY3Rpb24kOiBPYnNlcnZhYmxlPE1heWJlPEZpcmVzdG9yZUNvbGxlY3Rpb25MaWtlPFQsIEQ+Pj47XG4gIC8qKlxuICAgKiBUaGUgY3VycmVudCBzdG9yZSBtb2RlLlxuICAgKi9cbiAgcmVhZG9ubHkgY29sbGVjdGlvbk1vZGUkOiBPYnNlcnZhYmxlPERieEZpcmViYXNlQ29sbGVjdGlvbk1vZGU+O1xuICAvKipcbiAgICogVGhlIGxvYWRlciBpbnN0YW5jZS5cbiAgICovXG4gIHJlYWRvbmx5IGxvYWRlciQ6IE9ic2VydmFibGU8RGJ4RmlyZWJhc2VDb2xsZWN0aW9uTG9hZGVySW5zdGFuY2U8VCwgRD4+O1xuICAvKipcbiAgICogV2hldGhlciBvciBub3QgdGhlIGl0ZXJhdG9yIGhhcyBtb3JlIHBhZ2VzIHRvIGxvYWQuXG4gICAqL1xuICByZWFkb25seSBoYXNOZXh0JDogT2JzZXJ2YWJsZTxib29sZWFuPjtcbiAgLyoqXG4gICAqIFdoZXRoZXIgb3Igbm90IHRoZSBpdGVyYXRvciBjYW4gbG9hZCBtb3JlIHBhZ2VzLlxuICAgKi9cbiAgcmVhZG9ubHkgY2FuTG9hZE1vcmUkOiBPYnNlcnZhYmxlPGJvb2xlYW4+O1xuICAvKipcbiAgICogV2hldGhlciBvciBub3QgdGhlIGl0ZXJhdG9yIGhhcyBtb3JlIHBhZ2VzIHRvIGxvYWQgYW5kIGNhbiBsb2FkIG1vcmUgcGFnZXMuXG4gICAqL1xuICByZWFkb25seSBoYXNOZXh0QW5kQ2FuTG9hZE1vcmUkOiBPYnNlcnZhYmxlPGJvb2xlYW4+O1xuICAvKipcbiAgICogUmV0dXJucyB0cnVlIGlmIHRoZSBjb2xsZWN0aW9uIGhhcyBkb2N1bWVudHMuXG4gICAqL1xuICByZWFkb25seSBoYXNEb2N1bWVudHMkOiBPYnNlcnZhYmxlPGJvb2xlYW4+O1xuICAvKipcbiAgICogUmV0dXJucyBhbGwgZG9jdW1lbnQgcmVmZXJlbmNlcyBsb2FkZWQgYnkgdGhlIGFjY3VtdWxhdG9yLlxuICAgKi9cbiAgcmVhZG9ubHkgYWxsRG9jdW1lbnRSZWZzJDogT2JzZXJ2YWJsZTxEb2N1bWVudFJlZmVyZW5jZTxUPltdPjtcbiAgLyoqXG4gICAqIFJldHVybnMgYWxsIGRvY3VtZW50cyBsb2FkZWQgYnkgdGhlIGFjY29tdWxhdG9yLlxuICAgKi9cbiAgcmVhZG9ubHkgYWxsRG9jdW1lbnRzJDogT2JzZXJ2YWJsZTxEW10+O1xuICAvKipcbiAgICogUmV0dXJucyBhbGwgZG9jdW1lbnRzIGRhdGEgbG9hZGVkIGJ5IHRoZSBhY2N1bXVsYXRvci5cbiAgICovXG4gIHJlYWRvbmx5IGFsbERvY3VtZW50RGF0YSQ6IE9ic2VydmFibGU8RG9jdW1lbnREYXRhV2l0aElkQW5kS2V5PFQ+W10+O1xuXG4gIHNldENvbGxlY3Rpb25Nb2RlKG9ic2VydmFibGVPclZhbHVlOiBPYnNlcnZhYmxlT3JWYWx1ZTxEYnhGaXJlYmFzZUNvbGxlY3Rpb25Nb2RlPik6IFN1YnNjcmlwdGlvbjtcblxuICAvLyBSZWZlcmVuY2VzIE1vZGVcbiAgc2V0Q29sbGVjdGlvbktleXMob2JzZXJ2YWJsZU9yVmFsdWU6IE9ic2VydmFibGVPclZhbHVlPE1heWJlPEZpcmVzdG9yZU1vZGVsS2V5W10+Pik6IFN1YnNjcmlwdGlvbjtcbiAgc2V0Q29sbGVjdGlvblJlZnMob2JzZXJ2YWJsZU9yVmFsdWU6IE9ic2VydmFibGVPclZhbHVlPE1heWJlPERvY3VtZW50UmVmZXJlbmNlPFQ+W10+Pik6IFN1YnNjcmlwdGlvbjtcblxuICAvLyBRdWVyeSBNb2RlXG4gIHNldE1heFBhZ2VzKG9ic2VydmFibGVPclZhbHVlOiBPYnNlcnZhYmxlT3JWYWx1ZTxNYXliZTxudW1iZXI+Pik6IFN1YnNjcmlwdGlvbjtcbiAgc2V0SXRlbXNQZXJQYWdlKG9ic2VydmFibGVPclZhbHVlOiBPYnNlcnZhYmxlT3JWYWx1ZTxNYXliZTxudW1iZXI+Pik6IFN1YnNjcmlwdGlvbjtcbiAgc2V0Q29uc3RyYWludHMob2JzZXJ2YWJsZU9yVmFsdWU6IE9ic2VydmFibGVPclZhbHVlPE1heWJlPEFycmF5T3JWYWx1ZTxGaXJlc3RvcmVRdWVyeUNvbnN0cmFpbnQ+Pj4pOiBTdWJzY3JpcHRpb247XG4gIHNldFdhaXRGb3JOb25OdWxsQ29uc3RyYWludHMob2JzZXJ2YWJsZU9yVmFsdWU6IE9ic2VydmFibGVPclZhbHVlPE1heWJlPGJvb2xlYW4+Pik6IFN1YnNjcmlwdGlvbjtcbiAgbmV4dChvYnNlcnZhYmxlT3JWYWx1ZTogT2JzZXJ2YWJsZU9yVmFsdWU8dm9pZD4pOiB2b2lkO1xuICByZXN0YXJ0KG9ic2VydmFibGVPclZhbHVlOiBPYnNlcnZhYmxlT3JWYWx1ZTx2b2lkPik6IHZvaWQ7XG5cbiAgcmVhZG9ubHkgc2V0RmlyZXN0b3JlQ29sbGVjdGlvbjogKCgpID0+IHZvaWQpIHwgKChvYnNlcnZhYmxlT3JWYWx1ZTogT2JzZXJ2YWJsZU9yVmFsdWU8TWF5YmU8RmlyZXN0b3JlQ29sbGVjdGlvbkxpa2U8VCwgRD4+PikgPT4gU3Vic2NyaXB0aW9uKTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBEYnhGaXJlYmFzZUNvbGxlY3Rpb25TdG9yZUNvbnRleHRTdGF0ZTxULCBEIGV4dGVuZHMgRmlyZXN0b3JlRG9jdW1lbnQ8VD4gPSBGaXJlc3RvcmVEb2N1bWVudDxUPj4gZXh0ZW5kcyBPbWl0PERieEZpcmViYXNlQ29sbGVjdGlvbkxvYWRlckluc3RhbmNlSW5pdENvbmZpZzxULCBEPiwgJ2NvbGxlY3Rpb24nPiB7XG4gIHJlYWRvbmx5IGZpcmVzdG9yZUNvbGxlY3Rpb24/OiBNYXliZTxGaXJlc3RvcmVDb2xsZWN0aW9uTGlrZTxULCBEPj47XG59XG5cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBBYnN0cmFjdERieEZpcmViYXNlQ29sbGVjdGlvblN0b3JlPFQsIEQgZXh0ZW5kcyBGaXJlc3RvcmVEb2N1bWVudDxUPiA9IEZpcmVzdG9yZURvY3VtZW50PFQ+LCBDIGV4dGVuZHMgRGJ4RmlyZWJhc2VDb2xsZWN0aW9uU3RvcmVDb250ZXh0U3RhdGU8VCwgRD4gPSBEYnhGaXJlYmFzZUNvbGxlY3Rpb25TdG9yZUNvbnRleHRTdGF0ZTxULCBEPj4gZXh0ZW5kcyBMb2NrU2V0Q29tcG9uZW50U3RvcmU8Qz4gaW1wbGVtZW50cyBEYnhGaXJlYmFzZUNvbGxlY3Rpb25TdG9yZTxULCBEPiB7XG4gIC8vIE1BUks6IEVmZmVjdHNcbiAgcmVhZG9ubHkgc2V0Q29sbGVjdGlvbk1vZGUgPSB0aGlzLmVmZmVjdCgoaW5wdXQ6IE9ic2VydmFibGU8RGJ4RmlyZWJhc2VDb2xsZWN0aW9uTW9kZT4pID0+IHtcbiAgICByZXR1cm4gaW5wdXQucGlwZShzd2l0Y2hNYXAoKG1vZGUpID0+IHRoaXMubG9hZGVyJC5waXBlKHRhcCgoeCkgPT4geC5zZXRDb2xsZWN0aW9uTW9kZShtb2RlKSkpKSk7XG4gIH0pO1xuXG4gIHJlYWRvbmx5IHNldENvbGxlY3Rpb25LZXlzID0gdGhpcy5lZmZlY3QoKGlucHV0OiBPYnNlcnZhYmxlPE1heWJlPEZpcmVzdG9yZU1vZGVsS2V5W10+PikgPT4ge1xuICAgIHJldHVybiBpbnB1dC5waXBlKHN3aXRjaE1hcCgoa2V5cykgPT4gdGhpcy5sb2FkZXIkLnBpcGUodGFwKCh4KSA9PiB4LnNldENvbGxlY3Rpb25LZXlzKGtleXMpKSkpKTtcbiAgfSk7XG5cbiAgcmVhZG9ubHkgc2V0Q29sbGVjdGlvblJlZnMgPSB0aGlzLmVmZmVjdCgoaW5wdXQ6IE9ic2VydmFibGU8TWF5YmU8RG9jdW1lbnRSZWZlcmVuY2U8VD5bXT4+KSA9PiB7XG4gICAgcmV0dXJuIGlucHV0LnBpcGUoc3dpdGNoTWFwKChyZWZzKSA9PiB0aGlzLmxvYWRlciQucGlwZSh0YXAoKHgpID0+IHguc2V0Q29sbGVjdGlvblJlZnMocmVmcykpKSkpO1xuICB9KTtcblxuICByZWFkb25seSBzZXRNYXhQYWdlcyA9IHRoaXMuZWZmZWN0KChpbnB1dDogT2JzZXJ2YWJsZTxNYXliZTxudW1iZXI+PikgPT4ge1xuICAgIHJldHVybiBpbnB1dC5waXBlKHN3aXRjaE1hcCgobWF4UGFnZXMpID0+IHRoaXMubG9hZGVyJC5waXBlKHRhcCgoeCkgPT4geC5zZXRNYXhQYWdlcyhtYXhQYWdlcykpKSkpO1xuICB9KTtcblxuICByZWFkb25seSBzZXRJdGVtc1BlclBhZ2UgPSB0aGlzLmVmZmVjdCgoaW5wdXQ6IE9ic2VydmFibGU8TWF5YmU8bnVtYmVyPj4pID0+IHtcbiAgICByZXR1cm4gaW5wdXQucGlwZShzd2l0Y2hNYXAoKGl0ZW1zUGVyUGFnZSkgPT4gdGhpcy5sb2FkZXIkLnBpcGUodGFwKCh4KSA9PiB4LnNldEl0ZW1zUGVyUGFnZShpdGVtc1BlclBhZ2UpKSkpKTtcbiAgfSk7XG5cbiAgcmVhZG9ubHkgc2V0Q29uc3RyYWludHMgPSB0aGlzLmVmZmVjdCgoaW5wdXQ6IE9ic2VydmFibGU8TWF5YmU8QXJyYXlPclZhbHVlPEZpcmVzdG9yZVF1ZXJ5Q29uc3RyYWludD4+PikgPT4ge1xuICAgIHJldHVybiBpbnB1dC5waXBlKHN3aXRjaE1hcCgoY29uc3RyYWludHMpID0+IHRoaXMubG9hZGVyJC5waXBlKHRhcCgoeCkgPT4geC5zZXRDb25zdHJhaW50cyhjb25zdHJhaW50cykpKSkpO1xuICB9KTtcblxuICByZWFkb25seSBzZXRXYWl0Rm9yTm9uTnVsbENvbnN0cmFpbnRzID0gdGhpcy5lZmZlY3QoKGlucHV0OiBPYnNlcnZhYmxlPE1heWJlPGJvb2xlYW4+PikgPT4ge1xuICAgIHJldHVybiBpbnB1dC5waXBlKHN3aXRjaE1hcCgod2FpdEZvck5vbk51bGxDb25zdHJhaW50cykgPT4gdGhpcy5sb2FkZXIkLnBpcGUodGFwKCh4KSA9PiB4LnNldFdhaXRGb3JOb25OdWxsQ29uc3RyYWludHMod2FpdEZvck5vbk51bGxDb25zdHJhaW50cykpKSkpO1xuICB9KTtcblxuICByZWFkb25seSBuZXh0ID0gdGhpcy5lZmZlY3QoKGlucHV0OiBPYnNlcnZhYmxlPHZvaWQ+KSA9PiB7XG4gICAgcmV0dXJuIGlucHV0LnBpcGUoXG4gICAgICBzd2l0Y2hNYXAoKCkgPT5cbiAgICAgICAgdGhpcy5sb2FkZXIkLnBpcGUoXG4gICAgICAgICAgZmlyc3QoKSxcbiAgICAgICAgICB0YXAoKHgpID0+IHgubmV4dCgpKVxuICAgICAgICApXG4gICAgICApXG4gICAgKTtcbiAgfSk7XG5cbiAgcmVhZG9ubHkgcmVzdGFydCA9IHRoaXMuZWZmZWN0KChpbnB1dDogT2JzZXJ2YWJsZTx2b2lkPikgPT4ge1xuICAgIHJldHVybiBpbnB1dC5waXBlKFxuICAgICAgc3dpdGNoTWFwKCgpID0+XG4gICAgICAgIHRoaXMubG9hZGVyJC5waXBlKFxuICAgICAgICAgIGZpcnN0KCksXG4gICAgICAgICAgdGFwKCh4KSA9PiB4LnJlc3RhcnQoKSlcbiAgICAgICAgKVxuICAgICAgKVxuICAgICk7XG4gIH0pO1xuXG4gIC8vIE1BUks6IEFjY2Vzc29yc1xuICByZWFkb25seSBjdXJyZW50RmlyZXN0b3JlQ29sbGVjdGlvbiQ6IE9ic2VydmFibGU8TWF5YmU8RmlyZXN0b3JlQ29sbGVjdGlvbkxpa2U8VCwgRD4+PiA9IHRoaXMuc3RhdGUkLnBpcGUoXG4gICAgbWFwKCh4KSA9PiB4LmZpcmVzdG9yZUNvbGxlY3Rpb24pLFxuICAgIGRpc3RpbmN0VW50aWxDaGFuZ2VkKCksXG4gICAgc2hhcmVSZXBsYXkoMSlcbiAgKTtcblxuICByZWFkb25seSBmaXJlc3RvcmVDb2xsZWN0aW9uJDogT2JzZXJ2YWJsZTxGaXJlc3RvcmVDb2xsZWN0aW9uTGlrZTxULCBEPj4gPSB0aGlzLmN1cnJlbnRGaXJlc3RvcmVDb2xsZWN0aW9uJC5waXBlKGZpbHRlck1heWJlKCkpO1xuXG4gIHJlYWRvbmx5IGxvYWRlciQ6IE9ic2VydmFibGU8RGJ4RmlyZWJhc2VDb2xsZWN0aW9uTG9hZGVySW5zdGFuY2U8VCwgRD4+ID0gdGhpcy5jdXJyZW50RmlyZXN0b3JlQ29sbGVjdGlvbiQucGlwZShcbiAgICBzd2l0Y2hNYXAoKGNvbGxlY3Rpb24pID0+XG4gICAgICB0aGlzLnN0YXRlJC5waXBlKFxuICAgICAgICBmaXJzdCgpLFxuICAgICAgICBtYXAoKHgpID0+XG4gICAgICAgICAgZGJ4RmlyZWJhc2VDb2xsZWN0aW9uTG9hZGVySW5zdGFuY2Uoe1xuICAgICAgICAgICAgY29sbGVjdGlvbixcbiAgICAgICAgICAgIGNvbGxlY3Rpb25Nb2RlOiB4LmNvbGxlY3Rpb25Nb2RlLFxuICAgICAgICAgICAgY29sbGVjdGlvbktleXM6IHguY29sbGVjdGlvbktleXMsXG4gICAgICAgICAgICBjb2xsZWN0aW9uUmVmczogeC5jb2xsZWN0aW9uUmVmcyxcbiAgICAgICAgICAgIG1heFBhZ2VzOiB4Lm1heFBhZ2VzLFxuICAgICAgICAgICAgaXRlbXNQZXJQYWdlOiB4Lml0ZW1zUGVyUGFnZSxcbiAgICAgICAgICAgIGNvbnN0cmFpbnRzOiB4LmNvbnN0cmFpbnRzLFxuICAgICAgICAgICAgd2FpdEZvck5vbk51bGxDb25zdHJhaW50czogeC53YWl0Rm9yTm9uTnVsbENvbnN0cmFpbnRzXG4gICAgICAgICAgfSlcbiAgICAgICAgKVxuICAgICAgKVxuICAgICksXG4gICAgY2xlYW51cERlc3Ryb3lhYmxlKCksXG4gICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKSxcbiAgICBzaGFyZVJlcGxheSgxKVxuICApO1xuXG4gIHJlYWRvbmx5IGNvbGxlY3Rpb25Nb2RlJDogT2JzZXJ2YWJsZTxEYnhGaXJlYmFzZUNvbGxlY3Rpb25Nb2RlPiA9IHRoaXMubG9hZGVyJC5waXBlKHN3aXRjaE1hcCgoeCkgPT4geC5jb2xsZWN0aW9uTW9kZSQpKTtcbiAgcmVhZG9ubHkgY29uc3RyYWludHMkOiBPYnNlcnZhYmxlPE1heWJlPEFycmF5T3JWYWx1ZTxGaXJlc3RvcmVRdWVyeUNvbnN0cmFpbnQ+Pj4gPSB0aGlzLmxvYWRlciQucGlwZShzd2l0Y2hNYXAoKHgpID0+IHguY29uc3RyYWludHMkKSk7XG4gIHJlYWRvbmx5IGZpcmVzdG9yZUl0ZXJhdGlvbiQ6IE9ic2VydmFibGU8RmlyZXN0b3JlSXRlbVBhZ2VJdGVyYXRpb25JbnN0YW5jZTxUPj4gPSB0aGlzLmxvYWRlciQucGlwZShzd2l0Y2hNYXAoKHgpID0+IHguZmlyZXN0b3JlSXRlcmF0aW9uJCkpO1xuICByZWFkb25seSBxdWVyeUNoYW5nZVdhdGNoZXIkOiBPYnNlcnZhYmxlPEl0ZXJhdGlvblF1ZXJ5RG9jQ2hhbmdlV2F0Y2hlcjxUPj4gPSB0aGlzLmxvYWRlciQucGlwZShzd2l0Y2hNYXAoKHgpID0+IHgucXVlcnlDaGFuZ2VXYXRjaGVyJCkpO1xuICByZWFkb25seSBwYWdlTG9hZGluZ1N0YXRlJDogT2JzZXJ2YWJsZTxQYWdlTGlzdExvYWRpbmdTdGF0ZTxEb2N1bWVudERhdGFXaXRoSWRBbmRLZXk8VD4+PiA9IHRoaXMubG9hZGVyJC5waXBlKHN3aXRjaE1hcCgoeCkgPT4geC5wYWdlTG9hZGluZ1N0YXRlJCkpO1xuICByZWFkb25seSBzbmFwc2hvdEFjY3VtdWxhdG9yJDogT2JzZXJ2YWJsZTxGaXJlYmFzZVF1ZXJ5U25hcHNob3RBY2N1bXVsYXRvcjxUPj4gPSB0aGlzLmxvYWRlciQucGlwZShzd2l0Y2hNYXAoKHgpID0+IHguc25hcHNob3RBY2N1bXVsYXRvciQpKTtcbiAgcmVhZG9ubHkgYWNjdW11bGF0b3IkOiBPYnNlcnZhYmxlPEZpcmViYXNlUXVlcnlJdGVtQWNjdW11bGF0b3I8VD4+ID0gdGhpcy5sb2FkZXIkLnBpcGUoc3dpdGNoTWFwKCh4KSA9PiB4LmFjY3VtdWxhdG9yJCkpO1xuXG4gIHJlYWRvbmx5IGhhc05leHQkOiBPYnNlcnZhYmxlPGJvb2xlYW4+ID0gdGhpcy5sb2FkZXIkLnBpcGUoc3dpdGNoTWFwKCh4KSA9PiB4Lmhhc05leHQkKSk7XG4gIHJlYWRvbmx5IGNhbkxvYWRNb3JlJDogT2JzZXJ2YWJsZTxib29sZWFuPiA9IHRoaXMubG9hZGVyJC5waXBlKHN3aXRjaE1hcCgoeCkgPT4geC5jYW5Mb2FkTW9yZSQpKTtcbiAgcmVhZG9ubHkgaGFzTmV4dEFuZENhbkxvYWRNb3JlJDogT2JzZXJ2YWJsZTxib29sZWFuPiA9IHRoaXMubG9hZGVyJC5waXBlKHN3aXRjaE1hcCgoeCkgPT4geC5oYXNOZXh0QW5kQ2FuTG9hZE1vcmUkKSk7XG5cbiAgcmVhZG9ubHkgaGFzRG9jdW1lbnRzJDogT2JzZXJ2YWJsZTxib29sZWFuPiA9IHRoaXMubG9hZGVyJC5waXBlKHN3aXRjaE1hcCgoeCkgPT4geC5oYXNEb2N1bWVudHMkKSk7XG4gIHJlYWRvbmx5IGFsbERvY3VtZW50UmVmcyQ6IE9ic2VydmFibGU8RG9jdW1lbnRSZWZlcmVuY2U8VD5bXT4gPSB0aGlzLmxvYWRlciQucGlwZShzd2l0Y2hNYXAoKHgpID0+IHguYWxsRG9jdW1lbnRSZWZzJCkpO1xuICByZWFkb25seSBhbGxEb2N1bWVudHMkOiBPYnNlcnZhYmxlPERbXT4gPSB0aGlzLmxvYWRlciQucGlwZShzd2l0Y2hNYXAoKHgpID0+IHguYWxsRG9jdW1lbnRzJCkpO1xuICByZWFkb25seSBhbGxEb2N1bWVudERhdGEkOiBPYnNlcnZhYmxlPERvY3VtZW50RGF0YVdpdGhJZEFuZEtleTxUPltdPiA9IHRoaXMubG9hZGVyJC5waXBlKHN3aXRjaE1hcCgoeCkgPT4geC5hbGxEb2N1bWVudERhdGEkKSk7XG5cbiAgcmVhZG9ubHkgc2V0RmlyZXN0b3JlQ29sbGVjdGlvbiA9IHRoaXMudXBkYXRlcigoc3RhdGUsIGZpcmVzdG9yZUNvbGxlY3Rpb246IEZpcmVzdG9yZUNvbGxlY3Rpb25MaWtlPFQsIEQ+IHwgbnVsbCB8IHVuZGVmaW5lZCkgPT4gKHsgLi4uc3RhdGUsIGZpcmVzdG9yZUNvbGxlY3Rpb24gfSkpO1xuXG4gIGxvYWRUb1BhZ2UocGFnZTogUGFnZU51bWJlcik6IE9ic2VydmFibGU8UGFnZU51bWJlcj4ge1xuICAgIHJldHVybiB0aGlzLmxvYWRlciQucGlwZShzd2l0Y2hNYXAoKHgpID0+IHgubG9hZFRvUGFnZShwYWdlKSkpO1xuICB9XG5cbiAgbG9hZFBhZ2VzVW50aWxSZXN1bHRzQ291bnQobWF4UmVzdWx0c0NvdW50OiBudW1iZXIsIGNvdW50RnVuY3Rpb24/OiBGaXJlYmFzZVF1ZXJ5SXRlbUFjY3VtdWxhdG9yTmV4dFBhZ2VVbnRpbFJlc3VsdHNDb3VudEZ1bmN0aW9uPFQ+IHwgdW5kZWZpbmVkKTogT2JzZXJ2YWJsZTxJdGVtQWNjdW11bGF0b3JOZXh0UGFnZVVudGlsUmVzdWx0c0NvdW50UmVzdWx0PiB7XG4gICAgcmV0dXJuIHRoaXMubG9hZGVyJC5waXBlKHN3aXRjaE1hcCgoeCkgPT4geC5sb2FkUGFnZXNVbnRpbFJlc3VsdHNDb3VudChtYXhSZXN1bHRzQ291bnQsIGNvdW50RnVuY3Rpb24pKSk7XG4gIH1cblxuICBsb2FkQWxsUmVzdWx0cygpOiBPYnNlcnZhYmxlPFBhZ2VOdW1iZXI+IHtcbiAgICByZXR1cm4gdGhpcy5sb2FkZXIkLnBpcGUoc3dpdGNoTWFwKCh4KSA9PiB4LmxvYWRBbGxSZXN1bHRzKCkpKTtcbiAgfVxufVxuIl19
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
import { Directive } from '@angular/core';
|
|
2
|
-
import { provideDbxFirebaseDocumentStoreContextStore } from './store.document.context.store.link';
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
/**
|
|
5
|
-
* Directive that provides a DbxFirebaseDocumentStoreContextStore.
|
|
6
|
-
*/
|
|
7
|
-
export class DbxFirebaseDocumentStoreContextStoreDirective {
|
|
8
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxFirebaseDocumentStoreContextStoreDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
9
|
-
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.2.13", type: DbxFirebaseDocumentStoreContextStoreDirective, isStandalone: true, selector: "[dbxFirebaseDocumentStoreContextStore]", providers: provideDbxFirebaseDocumentStoreContextStore(), ngImport: i0 });
|
|
10
|
-
}
|
|
11
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxFirebaseDocumentStoreContextStoreDirective, decorators: [{
|
|
12
|
-
type: Directive,
|
|
13
|
-
args: [{
|
|
14
|
-
selector: '[dbxFirebaseDocumentStoreContextStore]',
|
|
15
|
-
providers: provideDbxFirebaseDocumentStoreContextStore(),
|
|
16
|
-
standalone: true
|
|
17
|
-
}]
|
|
18
|
-
}] });
|
|
19
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RvcmUuZG9jdW1lbnQuY29udGV4dC5zdG9yZS5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9kYngtZmlyZWJhc2Uvc3JjL2xpYi9tb2RlbC9tb2R1bGVzL3N0b3JlL3N0b3JlLmRvY3VtZW50LmNvbnRleHQuc3RvcmUuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDMUMsT0FBTyxFQUFFLDJDQUEyQyxFQUFFLE1BQU0scUNBQXFDLENBQUM7O0FBRWxHOztHQUVHO0FBTUgsTUFBTSxPQUFPLDZDQUE2Qzt3R0FBN0MsNkNBQTZDOzRGQUE3Qyw2Q0FBNkMscUZBSDdDLDJDQUEyQyxFQUFFOzs0RkFHN0MsNkNBQTZDO2tCQUx6RCxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSx3Q0FBd0M7b0JBQ2xELFNBQVMsRUFBRSwyQ0FBMkMsRUFBRTtvQkFDeEQsVUFBVSxFQUFFLElBQUk7aUJBQ2pCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBwcm92aWRlRGJ4RmlyZWJhc2VEb2N1bWVudFN0b3JlQ29udGV4dFN0b3JlIH0gZnJvbSAnLi9zdG9yZS5kb2N1bWVudC5jb250ZXh0LnN0b3JlLmxpbmsnO1xuXG4vKipcbiAqIERpcmVjdGl2ZSB0aGF0IHByb3ZpZGVzIGEgRGJ4RmlyZWJhc2VEb2N1bWVudFN0b3JlQ29udGV4dFN0b3JlLlxuICovXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbZGJ4RmlyZWJhc2VEb2N1bWVudFN0b3JlQ29udGV4dFN0b3JlXScsXG4gIHByb3ZpZGVyczogcHJvdmlkZURieEZpcmViYXNlRG9jdW1lbnRTdG9yZUNvbnRleHRTdG9yZSgpLFxuICBzdGFuZGFsb25lOiB0cnVlXG59KVxuZXhwb3J0IGNsYXNzIERieEZpcmViYXNlRG9jdW1lbnRTdG9yZUNvbnRleHRTdG9yZURpcmVjdGl2ZSB7fVxuIl19
|
|
@@ -1,45 +0,0 @@
|
|
|
1
|
-
import { inject, DestroyRef, InjectionToken } from '@angular/core';
|
|
2
|
-
import { DbxFirebaseDocumentStoreContextStore } from './store.document.context.store';
|
|
3
|
-
/**
|
|
4
|
-
* Injection token for DbxFirebaseDocumentStoreContextStore.
|
|
5
|
-
*/
|
|
6
|
-
export const DBX_FIREBASE_DOCUMENT_STORE_CONTEXT_STORE_TOKEN = new InjectionToken('DBX_FIREBASE_DOCUMENT_STORE_CONTEXT_STORE_TOKEN');
|
|
7
|
-
/**
|
|
8
|
-
* Provides the DbxFirebaseDocumentStoreContextStore.
|
|
9
|
-
*/
|
|
10
|
-
export function provideDbxFirebaseDocumentStoreContextStore() {
|
|
11
|
-
return [
|
|
12
|
-
{
|
|
13
|
-
// Create/Provide a "nearest" DbxFirebaseDocumentStoreContextStore.
|
|
14
|
-
provide: DbxFirebaseDocumentStoreContextStore
|
|
15
|
-
},
|
|
16
|
-
{
|
|
17
|
-
// Also make that context store available to the DBX_FIREBASE_DOCUMENT_STORE_CONTEXT_STORE_TOKEN.
|
|
18
|
-
provide: DBX_FIREBASE_DOCUMENT_STORE_CONTEXT_STORE_TOKEN,
|
|
19
|
-
useExisting: DbxFirebaseDocumentStoreContextStore,
|
|
20
|
-
multi: true
|
|
21
|
-
}
|
|
22
|
-
];
|
|
23
|
-
}
|
|
24
|
-
/**
|
|
25
|
-
* Links a DbxFirebaseDocumentStore to parent DbxFirebaseDocumentStoreContextStore instances.
|
|
26
|
-
*
|
|
27
|
-
* This should be called in an Angular injection context.
|
|
28
|
-
*/
|
|
29
|
-
export function linkDocumentStoreToParentContextStores(store) {
|
|
30
|
-
const contextStores = inject(DBX_FIREBASE_DOCUMENT_STORE_CONTEXT_STORE_TOKEN, { optional: true });
|
|
31
|
-
const destroyRef = inject(DestroyRef);
|
|
32
|
-
if (contextStores) {
|
|
33
|
-
// add the store to each available context store
|
|
34
|
-
contextStores.forEach((contextStore) => {
|
|
35
|
-
contextStore.addStore(store);
|
|
36
|
-
});
|
|
37
|
-
// remove the store from each available context store when the context is destroyed
|
|
38
|
-
destroyRef.onDestroy(() => {
|
|
39
|
-
contextStores.forEach((contextStore) => {
|
|
40
|
-
contextStore.removeStore(store);
|
|
41
|
-
});
|
|
42
|
-
});
|
|
43
|
-
}
|
|
44
|
-
}
|
|
45
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RvcmUuZG9jdW1lbnQuY29udGV4dC5zdG9yZS5saW5rLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZGJ4LWZpcmViYXNlL3NyYy9saWIvbW9kZWwvbW9kdWxlcy9zdG9yZS9zdG9yZS5kb2N1bWVudC5jb250ZXh0LnN0b3JlLmxpbmsudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsY0FBYyxFQUFpQixNQUFNLGVBQWUsQ0FBQztBQUNsRixPQUFPLEVBQUUsb0NBQW9DLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUd0Rjs7R0FFRztBQUNILE1BQU0sQ0FBQyxNQUFNLCtDQUErQyxHQUFHLElBQUksY0FBYyxDQUF5QyxpREFBaUQsQ0FBQyxDQUFDO0FBRTdLOztHQUVHO0FBQ0gsTUFBTSxVQUFVLDJDQUEyQztJQUN6RCxPQUFPO1FBQ0w7WUFDRSxtRUFBbUU7WUFDbkUsT0FBTyxFQUFFLG9DQUFvQztTQUM5QztRQUNEO1lBQ0UsaUdBQWlHO1lBQ2pHLE9BQU8sRUFBRSwrQ0FBK0M7WUFDeEQsV0FBVyxFQUFFLG9DQUFvQztZQUNqRCxLQUFLLEVBQUUsSUFBSTtTQUNaO0tBQ0YsQ0FBQztBQUNKLENBQUM7QUFFRDs7OztHQUlHO0FBQ0gsTUFBTSxVQUFVLHNDQUFzQyxDQUFDLEtBQXlDO0lBQzlGLE1BQU0sYUFBYSxHQUFHLE1BQU0sQ0FBQywrQ0FBK0MsRUFBRSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO0lBQ2xHLE1BQU0sVUFBVSxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUV0QyxJQUFJLGFBQWEsRUFBRSxDQUFDO1FBQ2xCLGdEQUFnRDtRQUNoRCxhQUFhLENBQUMsT0FBTyxDQUFDLENBQUMsWUFBWSxFQUFFLEVBQUU7WUFDckMsWUFBWSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUMvQixDQUFDLENBQUMsQ0FBQztRQUVILG1GQUFtRjtRQUNuRixVQUFVLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRTtZQUN4QixhQUFhLENBQUMsT0FBTyxDQUFDLENBQUMsWUFBWSxFQUFFLEVBQUU7Z0JBQ3JDLFlBQVksQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDbEMsQ0FBQyxDQUFDLENBQUM7UUFDTCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7QUFDSCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaW5qZWN0LCBEZXN0cm95UmVmLCBJbmplY3Rpb25Ub2tlbiwgdHlwZSBQcm92aWRlciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRGJ4RmlyZWJhc2VEb2N1bWVudFN0b3JlQ29udGV4dFN0b3JlIH0gZnJvbSAnLi9zdG9yZS5kb2N1bWVudC5jb250ZXh0LnN0b3JlJztcbmltcG9ydCB7IHR5cGUgRGJ4RmlyZWJhc2VEb2N1bWVudFN0b3JlIH0gZnJvbSAnLi9zdG9yZSc7XG5cbi8qKlxuICogSW5qZWN0aW9uIHRva2VuIGZvciBEYnhGaXJlYmFzZURvY3VtZW50U3RvcmVDb250ZXh0U3RvcmUuXG4gKi9cbmV4cG9ydCBjb25zdCBEQlhfRklSRUJBU0VfRE9DVU1FTlRfU1RPUkVfQ09OVEVYVF9TVE9SRV9UT0tFTiA9IG5ldyBJbmplY3Rpb25Ub2tlbjxEYnhGaXJlYmFzZURvY3VtZW50U3RvcmVDb250ZXh0U3RvcmVbXT4oJ0RCWF9GSVJFQkFTRV9ET0NVTUVOVF9TVE9SRV9DT05URVhUX1NUT1JFX1RPS0VOJyk7XG5cbi8qKlxuICogUHJvdmlkZXMgdGhlIERieEZpcmViYXNlRG9jdW1lbnRTdG9yZUNvbnRleHRTdG9yZS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHByb3ZpZGVEYnhGaXJlYmFzZURvY3VtZW50U3RvcmVDb250ZXh0U3RvcmUoKTogUHJvdmlkZXJbXSB7XG4gIHJldHVybiBbXG4gICAge1xuICAgICAgLy8gQ3JlYXRlL1Byb3ZpZGUgYSBcIm5lYXJlc3RcIiBEYnhGaXJlYmFzZURvY3VtZW50U3RvcmVDb250ZXh0U3RvcmUuXG4gICAgICBwcm92aWRlOiBEYnhGaXJlYmFzZURvY3VtZW50U3RvcmVDb250ZXh0U3RvcmVcbiAgICB9LFxuICAgIHtcbiAgICAgIC8vIEFsc28gbWFrZSB0aGF0IGNvbnRleHQgc3RvcmUgYXZhaWxhYmxlIHRvIHRoZSBEQlhfRklSRUJBU0VfRE9DVU1FTlRfU1RPUkVfQ09OVEVYVF9TVE9SRV9UT0tFTi5cbiAgICAgIHByb3ZpZGU6IERCWF9GSVJFQkFTRV9ET0NVTUVOVF9TVE9SRV9DT05URVhUX1NUT1JFX1RPS0VOLFxuICAgICAgdXNlRXhpc3Rpbmc6IERieEZpcmViYXNlRG9jdW1lbnRTdG9yZUNvbnRleHRTdG9yZSxcbiAgICAgIG11bHRpOiB0cnVlXG4gICAgfVxuICBdO1xufVxuXG4vKipcbiAqIExpbmtzIGEgRGJ4RmlyZWJhc2VEb2N1bWVudFN0b3JlIHRvIHBhcmVudCBEYnhGaXJlYmFzZURvY3VtZW50U3RvcmVDb250ZXh0U3RvcmUgaW5zdGFuY2VzLlxuICpcbiAqIFRoaXMgc2hvdWxkIGJlIGNhbGxlZCBpbiBhbiBBbmd1bGFyIGluamVjdGlvbiBjb250ZXh0LlxuICovXG5leHBvcnQgZnVuY3Rpb24gbGlua0RvY3VtZW50U3RvcmVUb1BhcmVudENvbnRleHRTdG9yZXMoc3RvcmU6IERieEZpcmViYXNlRG9jdW1lbnRTdG9yZTxhbnksIGFueT4pIHtcbiAgY29uc3QgY29udGV4dFN0b3JlcyA9IGluamVjdChEQlhfRklSRUJBU0VfRE9DVU1FTlRfU1RPUkVfQ09OVEVYVF9TVE9SRV9UT0tFTiwgeyBvcHRpb25hbDogdHJ1ZSB9KTtcbiAgY29uc3QgZGVzdHJveVJlZiA9IGluamVjdChEZXN0cm95UmVmKTtcblxuICBpZiAoY29udGV4dFN0b3Jlcykge1xuICAgIC8vIGFkZCB0aGUgc3RvcmUgdG8gZWFjaCBhdmFpbGFibGUgY29udGV4dCBzdG9yZVxuICAgIGNvbnRleHRTdG9yZXMuZm9yRWFjaCgoY29udGV4dFN0b3JlKSA9PiB7XG4gICAgICBjb250ZXh0U3RvcmUuYWRkU3RvcmUoc3RvcmUpO1xuICAgIH0pO1xuXG4gICAgLy8gcmVtb3ZlIHRoZSBzdG9yZSBmcm9tIGVhY2ggYXZhaWxhYmxlIGNvbnRleHQgc3RvcmUgd2hlbiB0aGUgY29udGV4dCBpcyBkZXN0cm95ZWRcbiAgICBkZXN0cm95UmVmLm9uRGVzdHJveSgoKSA9PiB7XG4gICAgICBjb250ZXh0U3RvcmVzLmZvckVhY2goKGNvbnRleHRTdG9yZSkgPT4ge1xuICAgICAgICBjb250ZXh0U3RvcmUucmVtb3ZlU3RvcmUoc3RvcmUpO1xuICAgICAgfSk7XG4gICAgfSk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -1,86 +0,0 @@
|
|
|
1
|
-
import { Injectable } from '@angular/core';
|
|
2
|
-
import { ComponentStore } from '@ngrx/component-store';
|
|
3
|
-
import { separateValues, sortByNumberFunction } from '@dereekb/util';
|
|
4
|
-
import { combineLatest, distinctUntilChanged, first, map, of, shareReplay, switchMap } from 'rxjs';
|
|
5
|
-
import { isSameDate } from '@dereekb/date';
|
|
6
|
-
import * as i0 from "@angular/core";
|
|
7
|
-
export class DbxFirebaseDocumentStoreContextStore extends ComponentStore {
|
|
8
|
-
constructor() {
|
|
9
|
-
super({
|
|
10
|
-
nextEntryNumber: 0,
|
|
11
|
-
currentEntryCount: 0,
|
|
12
|
-
stores: new Map(),
|
|
13
|
-
lastStoresChangeAt: new Date()
|
|
14
|
-
});
|
|
15
|
-
}
|
|
16
|
-
// MARK: Accessors
|
|
17
|
-
stores$ = this.select((state) => [state.stores, state.currentEntryCount, state.nextEntryNumber], {
|
|
18
|
-
debounce: true, // NOTE: The addStore/removeStore functions use the same map, so we overload the equal function to properly trigger changes to the map.
|
|
19
|
-
equal: (a, b) => a[1] === b[1] && a[2] === b[2] // only considered different if the nextEntryNumber changes
|
|
20
|
-
}).pipe(map((x) => x[0]), shareReplay(1));
|
|
21
|
-
lastStoresChangeAt$ = this.select((state) => state.lastStoresChangeAt).pipe(distinctUntilChanged(isSameDate), shareReplay(1));
|
|
22
|
-
entriesGroupedByIdentity$ = this.stores$.pipe(switchMap((stores) => {
|
|
23
|
-
let entriesObs;
|
|
24
|
-
const allEntries = Array.from(stores.values());
|
|
25
|
-
const { included: hasIdentity, excluded: noIdentity } = separateValues(allEntries, (x) => x.modelIdentity != null);
|
|
26
|
-
if (noIdentity.length > 0) {
|
|
27
|
-
entriesObs = combineLatest(noIdentity.map((entryWithoutCachedIdentity) => entryWithoutCachedIdentity.store.modelIdentity$.pipe(first(), map((z) => {
|
|
28
|
-
// set the model identity on the entry
|
|
29
|
-
entryWithoutCachedIdentity.modelIdentity = z;
|
|
30
|
-
// return the entry
|
|
31
|
-
return entryWithoutCachedIdentity;
|
|
32
|
-
})))).pipe(map(() => {
|
|
33
|
-
return allEntries; // all the entries should have an identity now
|
|
34
|
-
}));
|
|
35
|
-
}
|
|
36
|
-
else {
|
|
37
|
-
entriesObs = of(hasIdentity);
|
|
38
|
-
}
|
|
39
|
-
return entriesObs;
|
|
40
|
-
}), map((x) => {
|
|
41
|
-
// sort in ascending order by entry number
|
|
42
|
-
x.sort(sortByNumberFunction((x) => x.entryNumber));
|
|
43
|
-
return x;
|
|
44
|
-
}), shareReplay(1));
|
|
45
|
-
// MARK: State Changes
|
|
46
|
-
addStore = this.updater(addStore);
|
|
47
|
-
removeStore = this.updater(removeStore);
|
|
48
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxFirebaseDocumentStoreContextStore, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
49
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxFirebaseDocumentStoreContextStore });
|
|
50
|
-
}
|
|
51
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: DbxFirebaseDocumentStoreContextStore, decorators: [{
|
|
52
|
-
type: Injectable
|
|
53
|
-
}], ctorParameters: () => [] });
|
|
54
|
-
function addStore(state, store) {
|
|
55
|
-
const { stores, nextEntryNumber } = state;
|
|
56
|
-
let nextState;
|
|
57
|
-
if (stores.has(store)) {
|
|
58
|
-
nextState = state;
|
|
59
|
-
}
|
|
60
|
-
else {
|
|
61
|
-
// add the entry
|
|
62
|
-
const entry = {
|
|
63
|
-
store,
|
|
64
|
-
entryNumber: nextEntryNumber
|
|
65
|
-
};
|
|
66
|
-
stores.set(store, entry);
|
|
67
|
-
// update the last changed date
|
|
68
|
-
nextState = { ...state, currentEntryCount: state.currentEntryCount + 1, lastStoresChangeAt: new Date(), nextEntryNumber: nextEntryNumber + 1 };
|
|
69
|
-
}
|
|
70
|
-
return nextState;
|
|
71
|
-
}
|
|
72
|
-
function removeStore(state, store) {
|
|
73
|
-
const { stores } = state;
|
|
74
|
-
let nextState;
|
|
75
|
-
if (!stores.has(store)) {
|
|
76
|
-
nextState = state;
|
|
77
|
-
}
|
|
78
|
-
else {
|
|
79
|
-
// remove the entry
|
|
80
|
-
stores.delete(store);
|
|
81
|
-
// update the last changed date
|
|
82
|
-
nextState = { ...state, currentEntryCount: state.currentEntryCount - 1, lastStoresChangeAt: new Date() };
|
|
83
|
-
}
|
|
84
|
-
return nextState;
|
|
85
|
-
}
|
|
86
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RvcmUuZG9jdW1lbnQuY29udGV4dC5zdG9yZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2RieC1maXJlYmFzZS9zcmMvbGliL21vZGVsL21vZHVsZXMvc3RvcmUvc3RvcmUuZG9jdW1lbnQuY29udGV4dC5zdG9yZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUd2RCxPQUFPLEVBQXVCLGNBQWMsRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMxRixPQUFPLEVBQUUsYUFBYSxFQUFFLG9CQUFvQixFQUFFLEtBQUssRUFBRSxHQUFHLEVBQWMsRUFBRSxFQUFFLFdBQVcsRUFBRSxTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDL0csT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFvRDNDLE1BQU0sT0FBTyxvQ0FBcUMsU0FBUSxjQUF5RDtJQUNqSDtRQUNFLEtBQUssQ0FBQztZQUNKLGVBQWUsRUFBRSxDQUFDO1lBQ2xCLGlCQUFpQixFQUFFLENBQUM7WUFDcEIsTUFBTSxFQUFFLElBQUksR0FBRyxFQUFFO1lBQ2pCLGtCQUFrQixFQUFFLElBQUksSUFBSSxFQUFFO1NBQy9CLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxrQkFBa0I7SUFDVCxPQUFPLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQyxLQUFLLENBQUMsTUFBTSxFQUFFLEtBQUssQ0FBQyxpQkFBaUIsRUFBRSxLQUFLLENBQUMsZUFBZSxDQUFVLEVBQUU7UUFDakgsUUFBUSxFQUFFLElBQUksRUFBRSx1SUFBdUk7UUFDdkosS0FBSyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFB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QUcsS0FBSyxDQUFDO0lBQ3BCLENBQUM7U0FBTSxDQUFDO1FBQ04sZ0JBQWdCO1FBQ2hCLE1BQU0sS0FBSyxHQUE0RDtZQUNyRSxLQUFLO1lBQ0wsV0FBVyxFQUFFLGVBQWU7U0FDN0IsQ0FBQztRQUVGLE1BQU0sQ0FBQyxHQUFHLENBQUMsS0FBSyxFQUFFLEtBQUssQ0FBQyxDQUFDO1FBRXpCLCtCQUErQjtRQUMvQixTQUFTLEdBQUcsRUFBRSxHQUFHLEtBQUssRUFBRSxpQkFBaUIsRUFBRSxLQUFLLENBQUMsaUJBQWlCLEdBQUcsQ0FBQyxFQUFFLGtCQUFrQixFQUFFLElBQUksSUFBSSxFQUFFLEVBQUUsZUFBZSxFQUFFLGVBQWUsR0FBRyxDQUFDLEVBQUUsQ0FBQztJQUNqSixDQUFDO0lBRUQsT0FBTyxTQUFTLENBQUM7QUFDbkIsQ0FBQztBQUVELFNBQVMsV0FBVyxDQUFDLEtBQWdELEVBQUUsS0FBd0M7SUFDN0csTUFBTSxFQUFFLE1BQU0sRUFBRSxHQUFHLEtBQUssQ0FBQztJQUV6QixJQUFJLFNBQW9ELENBQUM7SUFFekQsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQztRQUN2QixTQUFTLEdBQUcsS0FBSyxDQUFDO0lBQ3BCLENBQUM7U0FBTSxDQUFDO1FBQ04sbUJBQW1CO1FBQ25CLE1BQU0sQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7UUFFckIsK0JBQStCO1FBQy9CLFNBQVMsR0FBRyxFQUFFLEdBQUcsS0FBSyxFQUFFLGlCQUFpQixFQUFFLEtBQUssQ0FBQyxpQkFBaUIsR0FBRyxDQUFDLEVBQUUsa0JBQWtCLEVBQUUsSUFBSSxJQUFJLEVBQUUsRUFBRSxDQUFDO0lBQzNHLENBQUM7SUFFRCxPQUFPLFNBQVMsQ0FBQztBQUNuQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tcG9uZW50U3RvcmUgfSBmcm9tICdAbmdyeC9jb21wb25lbnQtc3RvcmUnO1xuaW1wb3J0IHsgRGJ4RmlyZWJhc2VEb2N1bWVudFN0b3JlIH0gZnJvbSAnLi9zdG9yZSc7XG5pbXBvcnQgeyBGaXJlc3RvcmVNb2RlbElkZW50aXR5IH0gZnJvbSAnQGRlcmVla2IvZmlyZWJhc2UnO1xuaW1wb3J0IHsgQ29uZmlndXJhYmxlLCBNYXliZSwgc2VwYXJhdGVWYWx1ZXMsIHNvcnRCeU51bWJlckZ1bmN0aW9uIH0gZnJvbSAnQGRlcmVla2IvdXRpbCc7XG5pbXBvcnQgeyBjb21iaW5lTGF0ZXN0LCBkaXN0aW5jdFVudGlsQ2hhbmdlZCwgZmlyc3QsIG1hcCwgT2JzZXJ2YWJsZSwgb2YsIHNoYXJlUmVwbGF5LCBzd2l0Y2hNYXAgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGlzU2FtZURhdGUgfSBmcm9tICdAZGVyZWVrYi9kYXRlJztcblxuLyoqXG4gKiBBIHVuaXF1ZSBudW1iZXIgZm9yIGEgc3RvcmUgZW50cnkuXG4gKi9cbmV4cG9ydCB0eXBlIERieEZpcmViYXNlRG9jdW1lbnRTdG9yZUNvbnRleHRTdG9yZUVudHJ5TnVtYmVyID0gbnVtYmVyO1xuXG4vKipcbiAqIEEgc3BlY2lmaXkgZW50cnkgaW4gdGhlIHN0b3JlLlxuICpcbiAqIFVzZWQgZm9yIGNhY2hpbmcgaW5mb3JtYXRpb24gYWJvdXQgYSBzcGVjaWZpYyBzdG9yZS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBEYnhGaXJlYmFzZURvY3VtZW50U3RvcmVDb250ZXh0U3RvcmVFbnRyeSB7XG4gIC8qKlxuICAgKiBUaGUgbnVtYmVyIHRoZSBlbnRyeSB3YXMgYXNzaWduZWQgd2hlbiBhZGRlZCB0byB0aGUgc3RvcmUuXG4gICAqL1xuICByZWFkb25seSBlbnRyeU51bWJlcjogRGJ4RmlyZWJhc2VEb2N1bWVudFN0b3JlQ29udGV4dFN0b3JlRW50cnlOdW1iZXI7XG4gIC8qKlxuICAgKiBUaGUgcmVmZXJlbmNlZCBkb2N1bWVudCBzdG9yZS5cbiAgICovXG4gIHJlYWRvbmx5IHN0b3JlOiBEYnhGaXJlYmFzZURvY3VtZW50U3RvcmU8dW5rbm93bj47XG5cbiAgLy8gQ2FjaGVkIFZhbHVlc1xuICByZWFkb25seSBtb2RlbElkZW50aXR5PzogTWF5YmU8RmlyZXN0b3JlTW9kZWxJZGVudGl0eT47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRGJ4RmlyZWJhc2VEb2N1bWVudFN0b3JlQ29udGV4dFN0b3JlRW50cnlXaXRoSWRlbnRpdHkgZXh0ZW5kcyBPbWl0PERieEZpcmViYXNlRG9jdW1lbnRTdG9yZUNvbnRleHRTdG9yZUVudHJ5LCAnbW9kZWxJZGVudGl0eSc+IHtcbiAgcmVhZG9ubHkgbW9kZWxJZGVudGl0eTogRmlyZXN0b3JlTW9kZWxJZGVudGl0eTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBEYnhGaXJlYmFzZURvY3VtZW50U3RvcmVDb250ZXh0U3RvcmVTdGF0ZSB7XG4gIC8qKlxuICAgKiBUaGUgbmV4dCBlbnRyeSBudW1iZXIgdG8gdXNlIGZvciBhIG5ldyBzdG9yZS5cbiAgICovXG4gIHJlYWRvbmx5IG5leHRFbnRyeU51bWJlcjogRGJ4RmlyZWJhc2VEb2N1bWVudFN0b3JlQ29udGV4dFN0b3JlRW50cnlOdW1iZXI7XG4gIC8qKlxuICAgKiBUaGUgY3VycmVudCBudW1iZXIgb2YgZW50cmllc1xuICAgKi9cbiAgcmVhZG9ubHkgY3VycmVudEVudHJ5Q291bnQ6IG51bWJlcjtcbiAgLyoqXG4gICAqIFRoZSBtYXAgb2YgYWxsIGN1cnJlbnQgc3RvcmVzLlxuICAgKlxuICAgKiBUaGUgbWFwIHVzZXMgdGhlIHN0b3JlIGFzIHRoZSBrZXkgZm9yIGl0J3MgY29ycmVzcG9uZGluZyBlbnRyeSB0aGF0IGNvbnRhaW5zIGFkZGl0aW9uYWwgaW5mb3JtYXRpb24gYWJvdXQgdGhlIHN0b3JlLlxuICAgKi9cbiAgcmVhZG9ubHkgc3RvcmVzOiBNYXA8RGJ4RmlyZWJhc2VEb2N1bWVudFN0b3JlPHVua25vd24+LCBEYnhGaXJlYmFzZURvY3VtZW50U3RvcmVDb250ZXh0U3RvcmVFbnRyeT47XG4gIC8qKlxuICAgKiBUaGUgbGFzdCB0aW1lIHRoZSBzdG9yZXMgbWFwIHdhcyBjaGFuZ2VkLlxuICAgKi9cbiAgcmVhZG9ubHkgbGFzdFN0b3Jlc0NoYW5nZUF0OiBEYXRlO1xufVxuXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgRGJ4RmlyZWJhc2VEb2N1bWVudFN0b3JlQ29udGV4dFN0b3JlIGV4dGVuZHMgQ29tcG9uZW50U3RvcmU8RGJ4RmlyZWJhc2VEb2N1bWVudFN0b3JlQ29udGV4dFN0b3JlU3RhdGU+IHtcbiAgY29uc3RydWN0b3IoKSB7XG4gICAgc3VwZXIoe1xuICAgICAgbmV4dEVudHJ5TnVtYmVyOiAwLFxuICAgICAgY3VycmVudEVudHJ5Q291bnQ6IDAsXG4gICAgICBzdG9yZXM6IG5ldyBNYXAoKSxcbiAgICAgIGxhc3RTdG9yZXNDaGFuZ2VBdDogbmV3IERhdGUoKVxuICAgIH0pO1xuICB9XG5cbiAgLy8gTUFSSzogQWNjZXNzb3JzXG4gIHJlYWRvbmx5IHN0b3JlcyQgPSB0aGlzLnNlbGVjdCgoc3RhdGUpID0+IFtzdGF0ZS5zdG9yZXMsIHN0YXRlLmN1cnJlbnRFbnRyeUNvdW50LCBzdGF0ZS5uZXh0RW50cnlOdW1iZXJdIGFzIGNvbnN0LCB7XG4gICAgZGVib3VuY2U6IHRydWUsIC8vIE5PVEU6IFRoZSBhZGRTdG9yZS9yZW1vdmVTdG9yZSBmdW5jdGlvbnMgdXNlIHRoZSBzYW1lIG1hcCwgc28gd2Ugb3ZlcmxvYWQgdGhlIGVxdWFsIGZ1bmN0aW9uIHRvIHByb3Blcmx5IHRyaWdnZXIgY2hhbmdlcyB0byB0aGUgbWFwLlxuICAgIGVxdWFsOiAoYSwgYikgPT4gYVsxXSA9PT0gYlsxXSAmJiBhWzJdID09PSBiWzJdIC8vIG9ubHkgY29uc2lkZXJlZCBkaWZmZXJlbnQgaWYgdGhlIG5leHRFbnRyeU51bWJlciBjaGFuZ2VzXG4gIH0pLnBpcGUoXG4gICAgbWFwKCh4KSA9PiB4WzBdKSxcbiAgICBzaGFyZVJlcGxheSgxKVxuICApO1xuXG4gIHJlYWRvbmx5IGxhc3RTdG9yZXNDaGFuZ2VBdCQgPSB0aGlzLnNlbGVjdCgoc3RhdGUpID0+IHN0YXRlLmxhc3RTdG9yZXNDaGFuZ2VBdCkucGlwZShkaXN0aW5jdFVudGlsQ2hhbmdlZChpc1NhbWVEYXRlKSwgc2hhcmVSZXBsYXkoMSkpO1xuXG4gIHJlYWRvbmx5IGVudHJpZXNHcm91cGVkQnlJZGVudGl0eSQ6IE9ic2VydmFibGU8RGJ4RmlyZWJhc2VEb2N1bWVudFN0b3JlQ29udGV4dFN0b3JlRW50cnlXaXRoSWRlbnRpdHlbXT4gPSB0aGlzLnN0b3JlcyQucGlwZShcbiAgICBzd2l0Y2hNYXAoKHN0b3JlcykgPT4ge1xuICAgICAgbGV0IGVudHJpZXNPYnM6IE9ic2VydmFibGU8RGJ4RmlyZWJhc2VEb2N1bWVudFN0b3JlQ29udGV4dFN0b3JlRW50cnlXaXRoSWRlbnRpdHlbXT47XG5cbiAgICAgIGNvbnN0IGFsbEVudHJpZXMgPSBBcnJheS5mcm9tKHN0b3Jlcy52YWx1ZXMoKSk7XG5cbiAgICAgIGNvbnN0IHsgaW5jbHVkZWQ6IGhhc0lkZW50aXR5LCBleGNsdWRlZDogbm9JZGVudGl0eSB9ID0gc2VwYXJhdGVWYWx1ZXMoYWxsRW50cmllcywgKHgpID0+IHgubW9kZWxJZGVudGl0eSAhPSBudWxsKTtcblxuICAgICAgaWYgKG5vSWRlbnRpdHkubGVuZ3RoID4gMCkge1xuICAgICAgICBlbnRyaWVzT2JzID0gY29tYmluZUxhdGVzdChcbiAgICAgICAgICBub0lkZW50aXR5Lm1hcCgoZW50cnlXaXRob3V0Q2FjaGVkSWRlbnRpdHkpID0+XG4gICAgICAgICAgICBlbnRyeVdpdGhvdXRDYWNoZWRJZGVudGl0eS5zdG9yZS5tb2RlbElkZW50aXR5JC5waXBlKFxuICAgICAgICAgICAgICBmaXJzdCgpLFxuICAgICAgICAgICAgICBtYXAoKHopID0+IHtcbiAgICAgICAgICAgICAgICAvLyBzZXQgdGhlIG1vZGVsIGlkZW50aXR5IG9uIHRoZSBlbnRyeVxuICAgICAgICAgICAgICAgIChlbnRyeVdpdGhvdXRDYWNoZWRJZGVudGl0eSBhcyBDb25maWd1cmFibGU8RGJ4RmlyZWJhc2VEb2N1bWVudFN0b3JlQ29udGV4dFN0b3JlRW50cnlXaXRoSWRlbnRpdHk+KS5tb2RlbElkZW50aXR5ID0gejtcbiAgICAgICAgICAgICAgICAvLyByZXR1cm4gdGhlIGVudHJ5XG4gICAgICAgICAgICAgICAgcmV0dXJuIGVudHJ5V2l0aG91dENhY2hlZElkZW50aXR5O1xuICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgKVxuICAgICAgICAgIClcbiAgICAgICAgKS5waXBlKFxuICAgICAgICAgIG1hcCgoKSA9PiB7XG4gICAgICAgICAgICByZXR1cm4gYWxsRW50cmllcyBhcyBEYnhGaXJlYmFzZURvY3VtZW50U3RvcmVDb250ZXh0U3RvcmVFbnRyeVdpdGhJZGVudGl0eVtdOyAvLyBhbGwgdGhlIGVudHJpZXMgc2hvdWxkIGhhdmUgYW4gaWRlbnRpdHkgbm93XG4gICAgICAgICAgfSlcbiAgICAgICAgKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGVudHJpZXNPYnMgPSBvZihoYXNJZGVudGl0eSBhcyBEYnhGaXJlYmFzZURvY3VtZW50U3RvcmVDb250ZXh0U3RvcmVFbnRyeVdpdGhJZGVudGl0eVtdKTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIGVudHJpZXNPYnM7XG4gICAgfSksXG4gICAgbWFwKCh4KSA9PiB7XG4gICAgICAvLyBzb3J0IGluIGFzY2VuZGluZyBvcmRlciBieSBlbnRyeSBudW1iZXJcbiAgICAgIHguc29ydChzb3J0QnlOdW1iZXJGdW5jdGlvbigoeCkgPT4geC5lbnRyeU51bWJlcikpO1xuXG4gICAgICByZXR1cm4geDtcbiAgICB9KSxcbiAgICBzaGFyZVJlcGxheSgxKVxuICApO1xuXG4gIC8vIE1BUks6IFN0YXRlIENoYW5nZXNcbiAgcmVhZG9ubHkgYWRkU3RvcmUgPSB0aGlzLnVwZGF0ZXIoYWRkU3RvcmUpO1xuICByZWFkb25seSByZW1vdmVTdG9yZSA9IHRoaXMudXBkYXRlcihyZW1vdmVTdG9yZSk7XG59XG5cbmZ1bmN0aW9uIGFkZFN0b3JlKHN0YXRlOiBEYnhGaXJlYmFzZURvY3VtZW50U3RvcmVDb250ZXh0U3RvcmVTdGF0ZSwgc3RvcmU6IERieEZpcmViYXNlRG9jdW1lbnRTdG9yZTx1bmtub3duPikge1xuICBjb25zdCB7IHN0b3JlcywgbmV4dEVudHJ5TnVtYmVyIH0gPSBzdGF0ZTtcblxuICBsZXQgbmV4dFN0YXRlOiBEYnhGaXJlYmFzZURvY3VtZW50U3RvcmVDb250ZXh0U3RvcmVTdGF0ZTtcblxuICBpZiAoc3RvcmVzLmhhcyhzdG9yZSkpIHtcbiAgICBuZXh0U3RhdGUgPSBzdGF0ZTtcbiAgfSBlbHNlIHtcbiAgICAvLyBhZGQgdGhlIGVudHJ5XG4gICAgY29uc3QgZW50cnk6IENvbmZpZ3VyYWJsZTxEYnhGaXJlYmFzZURvY3VtZW50U3RvcmVDb250ZXh0U3RvcmVFbnRyeT4gPSB7XG4gICAgICBzdG9yZSxcbiAgICAgIGVudHJ5TnVtYmVyOiBuZXh0RW50cnlOdW1iZXJcbiAgICB9O1xuXG4gICAgc3RvcmVzLnNldChzdG9yZSwgZW50cnkpO1xuXG4gICAgLy8gdXBkYXRlIHRoZSBsYXN0IGNoYW5nZWQgZGF0ZVxuICAgIG5leHRTdGF0ZSA9IHsgLi4uc3RhdGUsIGN1cnJlbnRFbnRyeUNvdW50OiBzdGF0ZS5jdXJyZW50RW50cnlDb3VudCArIDEsIGxhc3RTdG9yZXNDaGFuZ2VBdDogbmV3IERhdGUoKSwgbmV4dEVudHJ5TnVtYmVyOiBuZXh0RW50cnlOdW1iZXIgKyAxIH07XG4gIH1cblxuICByZXR1cm4gbmV4dFN0YXRlO1xufVxuXG5mdW5jdGlvbiByZW1vdmVTdG9yZShzdGF0ZTogRGJ4RmlyZWJhc2VEb2N1bWVudFN0b3JlQ29udGV4dFN0b3JlU3RhdGUsIHN0b3JlOiBEYnhGaXJlYmFzZURvY3VtZW50U3RvcmU8dW5rbm93bj4pIHtcbiAgY29uc3QgeyBzdG9yZXMgfSA9IHN0YXRlO1xuXG4gIGxldCBuZXh0U3RhdGU6IERieEZpcmViYXNlRG9jdW1lbnRTdG9yZUNvbnRleHRTdG9yZVN0YXRlO1xuXG4gIGlmICghc3RvcmVzLmhhcyhzdG9yZSkpIHtcbiAgICBuZXh0U3RhdGUgPSBzdGF0ZTtcbiAgfSBlbHNlIHtcbiAgICAvLyByZW1vdmUgdGhlIGVudHJ5XG4gICAgc3RvcmVzLmRlbGV0ZShzdG9yZSk7XG5cbiAgICAvLyB1cGRhdGUgdGhlIGxhc3QgY2hhbmdlZCBkYXRlXG4gICAgbmV4dFN0YXRlID0geyAuLi5zdGF0ZSwgY3VycmVudEVudHJ5Q291bnQ6IHN0YXRlLmN1cnJlbnRFbnRyeUNvdW50IC0gMSwgbGFzdFN0b3Jlc0NoYW5nZUF0OiBuZXcgRGF0ZSgpIH07XG4gIH1cblxuICByZXR1cm4gbmV4dFN0YXRlO1xufVxuIl19
|
|
@@ -1,80 +0,0 @@
|
|
|
1
|
-
import { lazyFrom, loadingStateFromObs } from '@dereekb/rxjs';
|
|
2
|
-
import { firstValue } from '@dereekb/util';
|
|
3
|
-
import { shareReplay, exhaustMap, first, from } from 'rxjs';
|
|
4
|
-
/**
|
|
5
|
-
* Creates a function for a store that DbxFirebaseDocumentStore captures the ModelFirebaseCreateFunction result and sets the key of the created value.
|
|
6
|
-
*
|
|
7
|
-
* @param store
|
|
8
|
-
* @param fn
|
|
9
|
-
* @returns
|
|
10
|
-
*/
|
|
11
|
-
export function firebaseDocumentStoreCreateFunction(store, fn) {
|
|
12
|
-
return (params) => loadingStateFromObs(lazyFrom(() => fn(params).then((result) => {
|
|
13
|
-
const modelKeys = result.modelKeys;
|
|
14
|
-
const firstKey = firstValue(modelKeys);
|
|
15
|
-
if (firstKey) {
|
|
16
|
-
store.setKey(firstKey);
|
|
17
|
-
}
|
|
18
|
-
return result;
|
|
19
|
-
})));
|
|
20
|
-
}
|
|
21
|
-
/**
|
|
22
|
-
* Creates a DbxfirebaseDocumentStoreCrudFunction from the input ModelFirebaseCrudFunction.
|
|
23
|
-
*
|
|
24
|
-
* @param fn
|
|
25
|
-
* @returns
|
|
26
|
-
*/
|
|
27
|
-
export function firebaseDocumentStoreCrudFunction(fn) {
|
|
28
|
-
return (params) => loadingStateFromObs(from(fn(params)).pipe(shareReplay(1)));
|
|
29
|
-
}
|
|
30
|
-
// MARK: Read
|
|
31
|
-
/**
|
|
32
|
-
* Creates a DbxfirebaseDocumentStoreCrudFunction for read.
|
|
33
|
-
*
|
|
34
|
-
* The store's current key is always injected into the params of the request.
|
|
35
|
-
*
|
|
36
|
-
* For functions that do not require the store's current key, use firebaseDocumentStoreCrudFunction() instead.
|
|
37
|
-
*
|
|
38
|
-
* @param store
|
|
39
|
-
* @param fn
|
|
40
|
-
* @returns
|
|
41
|
-
*/
|
|
42
|
-
export function firebaseDocumentStoreReadFunction(store, fn) {
|
|
43
|
-
return firebaseDocumentStoreUpdateFunction(store, fn);
|
|
44
|
-
}
|
|
45
|
-
// MARK: Update
|
|
46
|
-
/**
|
|
47
|
-
* Creates a DbxFirebaseDocumentStoreFunction for update.
|
|
48
|
-
*
|
|
49
|
-
* The store's current key is always injected into the params of the request.
|
|
50
|
-
*
|
|
51
|
-
* @param store
|
|
52
|
-
* @param fn
|
|
53
|
-
* @returns
|
|
54
|
-
*/
|
|
55
|
-
export function firebaseDocumentStoreUpdateFunction(store, fn) {
|
|
56
|
-
return (params) => loadingStateFromObs(store.key$.pipe(first(), exhaustMap((key) => fn({
|
|
57
|
-
...params,
|
|
58
|
-
key // inject key into the parameters.
|
|
59
|
-
})), shareReplay(1)));
|
|
60
|
-
}
|
|
61
|
-
// MARK: Delete
|
|
62
|
-
/**
|
|
63
|
-
* Creates a DbxFirebaseDocumentStoreFunction for delete.
|
|
64
|
-
*
|
|
65
|
-
* The store's current key is always injected into the params of the request.
|
|
66
|
-
*
|
|
67
|
-
* @param store
|
|
68
|
-
* @param fn
|
|
69
|
-
* @returns
|
|
70
|
-
*/
|
|
71
|
-
export function firebaseDocumentStoreDeleteFunction(store, fn) {
|
|
72
|
-
return (params) => loadingStateFromObs(store.key$.pipe(first(), exhaustMap((key) => fn({
|
|
73
|
-
...params,
|
|
74
|
-
key // inject key into the parameters.
|
|
75
|
-
}).then((result) => {
|
|
76
|
-
store.clearRefs();
|
|
77
|
-
return result;
|
|
78
|
-
})), shareReplay(1)));
|
|
79
|
-
}
|
|
80
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RvcmUuZG9jdW1lbnQuY3J1ZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2RieC1maXJlYmFzZS9zcmMvbGliL21vZGVsL21vZHVsZXMvc3RvcmUvc3RvcmUuZG9jdW1lbnQuY3J1ZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsUUFBUSxFQUFxQixtQkFBbUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNqRixPQUFPLEVBQUUsVUFBVSxFQUFzQixNQUFNLGVBQWUsQ0FBQztBQUMvRCxPQUFPLEVBQUUsV0FBVyxFQUFFLFVBQVUsRUFBRSxLQUFLLEVBQUUsSUFBSSxFQUFtQixNQUFNLE1BQU0sQ0FBQztBQU03RTs7Ozs7O0dBTUc7QUFDSCxNQUFNLFVBQVUsbUNBQW1DLENBQWlFLEtBQXlDLEVBQUUsRUFBcUM7SUFDbE0sT0FBTyxDQUFDLE1BQVMsRUFBRSxFQUFFLENBQ25CLG1CQUFtQixDQUNqQixRQUFRLENBQUMsR0FBRyxFQUFFLENBQ1osRUFBRSxDQUFDLE1BQU0sQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFO1FBQ3pCLE1BQU0sU0FBUyxHQUFHLE1BQU0sQ0FBQyxTQUFTLENBQUM7UUFDbkMsTUFBTSxRQUFRLEdBQUcsVUFBVSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBRXZDLElBQUksUUFBUSxFQUFFLENBQUM7WUFDYixLQUFLLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ3pCLENBQUM7UUFFRCxPQUFPLE1BQU0sQ0FBQztJQUNoQixDQUFDLENBQUMsQ0FDSCxDQUNGLENBQUM7QUFDTixDQUFDO0FBSUQ7Ozs7O0dBS0c7QUFDSCxNQUFNLFVBQVUsaUNBQWlDLENBQWMsRUFBbUM7SUFDaEcsT0FBTyxDQUFDLE1BQVMsRUFBRSxFQUFFLENBQUMsbUJBQW1CLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ25GLENBQUM7QUFjRCxhQUFhO0FBQ2I7Ozs7Ozs7Ozs7R0FVRztBQUNILE1BQU0sVUFBVSxpQ0FBaUMsQ0FBc0QsS0FBeUMsRUFBRSxFQUFtQztJQUNuTCxPQUFPLG1DQUFtQyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQztBQUN4RCxDQUFDO0FBRUQsZUFBZTtBQUNmOzs7Ozs7OztHQVFHO0FBQ0gsTUFBTSxVQUFVLG1DQUFtQyxDQUE2RCxLQUF5QyxFQUFFLEVBQXFDO0lBQzlMLE9BQU8sQ0FBQyxNQUFzRCxFQUFFLEVBQUUsQ0FDaEUsbUJBQW1CLENBQ2pCLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUNiLEtBQUssRUFBRSxFQUNQLFVBQVUsQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQ2pCLEVBQUUsQ0FBQztRQUNELEdBQUcsTUFBTTtRQUNULEdBQUcsQ0FBQyxrQ0FBa0M7S0FDbEMsQ0FBQyxDQUNSLEVBQ0QsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUNmLENBQ0YsQ0FBQztBQUNOLENBQUM7QUFFRCxlQUFlO0FBQ2Y7Ozs7Ozs7O0dBUUc7QUFDSCxNQUFNLFVBQVUsbUNBQW1DLENBQTZELEtBQXlDLEVBQUUsRUFBcUM7SUFDOUwsT0FBTyxDQUFDLE1BQXNELEVBQUUsRUFBRSxDQUNoRSxtQkFBbUIsQ0FDakIsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQ2IsS0FBSyxFQUFFLEVBQ1AsVUFBVSxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FDakIsRUFBRSxDQUFDO1FBQ0QsR0FBRyxNQUFNO1FBQ1QsR0FBRyxDQUFDLGtDQUFrQztLQUNsQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUU7UUFDdEIsS0FBSyxDQUFDLFNBQVMsRUFBRSxDQUFDO1FBQ2xCLE9BQU8sTUFBTSxDQUFDO0lBQ2hCLENBQUMsQ0FBQyxDQUNILEVBQ0QsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUNmLENBQ0YsQ0FBQztBQUNOLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyB0eXBlIE1vZGVsRmlyZWJhc2VDcmVhdGVGdW5jdGlvbiwgdHlwZSBNb2RlbEZpcmViYXNlRGVsZXRlRnVuY3Rpb24sIHR5cGUgTW9kZWxGaXJlYmFzZVVwZGF0ZUZ1bmN0aW9uLCB0eXBlIE9uQ2FsbENyZWF0ZU1vZGVsUmVzdWx0LCB0eXBlIFRhcmdldE1vZGVsUGFyYW1zLCB0eXBlIEluZmVycmVkVGFyZ2V0TW9kZWxQYXJhbXMsIHR5cGUgTW9kZWxGaXJlYmFzZUNydWRGdW5jdGlvbiwgdHlwZSBNb2RlbEZpcmViYXNlUmVhZEZ1bmN0aW9uIH0gZnJvbSAnQGRlcmVla2IvZmlyZWJhc2UnO1xuaW1wb3J0IHsgbGF6eUZyb20sIHR5cGUgTG9hZGluZ1N0YXRlLCBsb2FkaW5nU3RhdGVGcm9tT2JzIH0gZnJvbSAnQGRlcmVla2Ivcnhqcyc7XG5pbXBvcnQgeyBmaXJzdFZhbHVlLCB0eXBlIFBhcnRpYWxPbktleXMgfSBmcm9tICdAZGVyZWVrYi91dGlsJztcbmltcG9ydCB7IHNoYXJlUmVwbGF5LCBleGhhdXN0TWFwLCBmaXJzdCwgZnJvbSwgdHlwZSBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyB0eXBlIERieEZpcmViYXNlRG9jdW1lbnRTdG9yZSB9IGZyb20gJy4vc3RvcmUnO1xuXG4vLyBNQVJLOiBDcmVhdGVcbmV4cG9ydCB0eXBlIERieEZpcmViYXNlRG9jdW1lbnRTdG9yZUNyZWF0ZUZ1bmN0aW9uPEksIE8gZXh0ZW5kcyBPbkNhbGxDcmVhdGVNb2RlbFJlc3VsdCA9IE9uQ2FsbENyZWF0ZU1vZGVsUmVzdWx0PiA9IChwYXJhbXM6IEkpID0+IE9ic2VydmFibGU8TG9hZGluZ1N0YXRlPE8+PjtcblxuLyoqXG4gKiBDcmVhdGVzIGEgZnVuY3Rpb24gZm9yIGEgc3RvcmUgdGhhdCBEYnhGaXJlYmFzZURvY3VtZW50U3RvcmUgY2FwdHVyZXMgdGhlIE1vZGVsRmlyZWJhc2VDcmVhdGVGdW5jdGlvbiByZXN1bHQgYW5kIHNldHMgdGhlIGtleSBvZiB0aGUgY3JlYXRlZCB2YWx1ZS5cbiAqXG4gKiBAcGFyYW0gc3RvcmVcbiAqIEBwYXJhbSBmblxuICogQHJldHVybnNcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGZpcmViYXNlRG9jdW1lbnRTdG9yZUNyZWF0ZUZ1bmN0aW9uPEksIE8gZXh0ZW5kcyBPbkNhbGxDcmVhdGVNb2RlbFJlc3VsdCA9IE9uQ2FsbENyZWF0ZU1vZGVsUmVzdWx0PihzdG9yZTogRGJ4RmlyZWJhc2VEb2N1bWVudFN0b3JlPGFueSwgYW55PiwgZm46IE1vZGVsRmlyZWJhc2VDcmVhdGVGdW5jdGlvbjxJLCBPPik6IERieEZpcmViYXNlRG9jdW1lbnRTdG9yZUNyZWF0ZUZ1bmN0aW9uPEksIE8+IHtcbiAgcmV0dXJuIChwYXJhbXM6IEkpID0+XG4gICAgbG9hZGluZ1N0YXRlRnJvbU9icyhcbiAgICAgIGxhenlGcm9tKCgpID0+XG4gICAgICAgIGZuKHBhcmFtcykudGhlbigocmVzdWx0KSA9PiB7XG4gICAgICAgICAgY29uc3QgbW9kZWxLZXlzID0gcmVzdWx0Lm1vZGVsS2V5cztcbiAgICAgICAgICBjb25zdCBmaXJzdEtleSA9IGZpcnN0VmFsdWUobW9kZWxLZXlzKTtcblxuICAgICAgICAgIGlmIChmaXJzdEtleSkge1xuICAgICAgICAgICAgc3RvcmUuc2V0S2V5KGZpcnN0S2V5KTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICByZXR1cm4gcmVzdWx0O1xuICAgICAgICB9KVxuICAgICAgKVxuICAgICk7XG59XG5cbmV4cG9ydCB0eXBlIERieEZpcmViYXNlRG9jdW1lbnRTdG9yZUNydWRGdW5jdGlvbjxJLCBPID0gdm9pZD4gPSAoaW5wdXQ6IEkpID0+IE9ic2VydmFibGU8TG9hZGluZ1N0YXRlPE8+PjtcblxuLyoqXG4gKiBDcmVhdGVzIGEgRGJ4ZmlyZWJhc2VEb2N1bWVudFN0b3JlQ3J1ZEZ1bmN0aW9uIGZyb20gdGhlIGlucHV0IE1vZGVsRmlyZWJhc2VDcnVkRnVuY3Rpb24uXG4gKlxuICogQHBhcmFtIGZuXG4gKiBAcmV0dXJuc1xuICovXG5leHBvcnQgZnVuY3Rpb24gZmlyZWJhc2VEb2N1bWVudFN0b3JlQ3J1ZEZ1bmN0aW9uPEksIE8gPSB2b2lkPihmbjogTW9kZWxGaXJlYmFzZUNydWRGdW5jdGlvbjxJLCBPPik6IERieEZpcmViYXNlRG9jdW1lbnRTdG9yZUNydWRGdW5jdGlvbjxJLCBPPiB7XG4gIHJldHVybiAocGFyYW1zOiBJKSA9PiBsb2FkaW5nU3RhdGVGcm9tT2JzKGZyb20oZm4ocGFyYW1zKSkucGlwZShzaGFyZVJlcGxheSgxKSkpO1xufVxuXG4vLyBNQVJLOiBUYXJnZXRlZCBGdW5jdGlvbnNcbi8qKlxuICogQSBwYXJhbWV0ZXIgdGhhdCByZWZlcnMgdG8gYSBzcGVjaWZpYyBrZXkuXG4gKi9cbmV4cG9ydCB0eXBlIERieEZpcmViYXNlRG9jdW1lbnRTdG9yZUZ1bmN0aW9uUGFyYW1zID0gVGFyZ2V0TW9kZWxQYXJhbXMgfCBJbmZlcnJlZFRhcmdldE1vZGVsUGFyYW1zO1xuXG4vKipcbiAqIFVzZWQgZm9yIHRoZSBpbnB1dCB0byByZWxhdGVkIGZ1bmN0aW9uc1xuICovXG5leHBvcnQgdHlwZSBEYnhGaXJlYmFzZURvY3VtZW50U3RvcmVGdW5jdGlvblBhcmFtc0lucHV0PEkgZXh0ZW5kcyBEYnhGaXJlYmFzZURvY3VtZW50U3RvcmVGdW5jdGlvblBhcmFtcz4gPSBQYXJ0aWFsT25LZXlzPEksICdrZXknPjtcbmV4cG9ydCB0eXBlIERieEZpcmViYXNlRG9jdW1lbnRTdG9yZUZ1bmN0aW9uPEkgZXh0ZW5kcyBEYnhGaXJlYmFzZURvY3VtZW50U3RvcmVGdW5jdGlvblBhcmFtcywgTyA9IHZvaWQ+ID0gRGJ4RmlyZWJhc2VEb2N1bWVudFN0b3JlQ3J1ZEZ1bmN0aW9uPERieEZpcmViYXNlRG9jdW1lbnRTdG9yZUZ1bmN0aW9uUGFyYW1zSW5wdXQ8ST4sIE8+O1xuXG4vLyBNQVJLOiBSZWFkXG4vKipcbiAqIENyZWF0ZXMgYSBEYnhmaXJlYmFzZURvY3VtZW50U3RvcmVDcnVkRnVuY3Rpb24gZm9yIHJlYWQuXG4gKlxuICogVGhlIHN0b3JlJ3MgY3VycmVudCBrZXkgaXMgYWx3YXlzIGluamVjdGVkIGludG8gdGhlIHBhcmFtcyBvZiB0aGUgcmVxdWVzdC5cbiAqXG4gKiBGb3IgZnVuY3Rpb25zIHRoYXQgZG8gbm90IHJlcXVpcmUgdGhlIHN0b3JlJ3MgY3VycmVudCBrZXksIHVzZSBmaXJlYmFzZURvY3VtZW50U3RvcmVDcnVkRnVuY3Rpb24oKSBpbnN0ZWFkLlxuICpcbiAqIEBwYXJhbSBzdG9yZVxuICogQHBhcmFtIGZuXG4gKiBAcmV0dXJuc1xuICovXG5leHBvcnQgZnVuY3Rpb24gZmlyZWJhc2VEb2N1bWVudFN0b3JlUmVhZEZ1bmN0aW9uPEkgZXh0ZW5kcyBEYnhGaXJlYmFzZURvY3VtZW50U3RvcmVGdW5jdGlvblBhcmFtcywgTz4oc3RvcmU6IERieEZpcmViYXNlRG9jdW1lbnRTdG9yZTxhbnksIGFueT4sIGZuOiBNb2RlbEZpcmViYXNlUmVhZEZ1bmN0aW9uPEksIE8+KTogRGJ4RmlyZWJhc2VEb2N1bWVudFN0b3JlRnVuY3Rpb248SSwgTz4ge1xuICByZXR1cm4gZmlyZWJhc2VEb2N1bWVudFN0b3JlVXBkYXRlRnVuY3Rpb24oc3RvcmUsIGZuKTtcbn1cblxuLy8gTUFSSzogVXBkYXRlXG4vKipcbiAqIENyZWF0ZXMgYSBEYnhGaXJlYmFzZURvY3VtZW50U3RvcmVGdW5jdGlvbiBmb3IgdXBkYXRlLlxuICpcbiAqIFRoZSBzdG9yZSdzIGN1cnJlbnQga2V5IGlzIGFsd2F5cyBpbmplY3RlZCBpbnRvIHRoZSBwYXJhbXMgb2YgdGhlIHJlcXVlc3QuXG4gKlxuICogQHBhcmFtIHN0b3JlXG4gKiBAcGFyYW0gZm5cbiAqIEByZXR1cm5zXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBmaXJlYmFzZURvY3VtZW50U3RvcmVVcGRhdGVGdW5jdGlvbjxJIGV4dGVuZHMgRGJ4RmlyZWJhc2VEb2N1bWVudFN0b3JlRnVuY3Rpb25QYXJhbXMsIE8gPSB2b2lkPihzdG9yZTogRGJ4RmlyZWJhc2VEb2N1bWVudFN0b3JlPGFueSwgYW55PiwgZm46IE1vZGVsRmlyZWJhc2VVcGRhdGVGdW5jdGlvbjxJLCBPPik6IERieEZpcmViYXNlRG9jdW1lbnRTdG9yZUZ1bmN0aW9uPEksIE8+IHtcbiAgcmV0dXJuIChwYXJhbXM6IERieEZpcmViYXNlRG9jdW1lbnRTdG9yZUZ1bmN0aW9uUGFyYW1zSW5wdXQ8ST4pID0+XG4gICAgbG9hZGluZ1N0YXRlRnJvbU9icyhcbiAgICAgIHN0b3JlLmtleSQucGlwZShcbiAgICAgICAgZmlyc3QoKSxcbiAgICAgICAgZXhoYXVzdE1hcCgoa2V5KSA9PlxuICAgICAgICAgIGZuKHtcbiAgICAgICAgICAgIC4uLnBhcmFtcyxcbiAgICAgICAgICAgIGtleSAvLyBpbmplY3Qga2V5IGludG8gdGhlIHBhcmFtZXRlcnMuXG4gICAgICAgICAgfSBhcyBJKVxuICAgICAgICApLFxuICAgICAgICBzaGFyZVJlcGxheSgxKVxuICAgICAgKVxuICAgICk7XG59XG5cbi8vIE1BUks6IERlbGV0ZVxuLyoqXG4gKiBDcmVhdGVzIGEgRGJ4RmlyZWJhc2VEb2N1bWVudFN0b3JlRnVuY3Rpb24gZm9yIGRlbGV0ZS5cbiAqXG4gKiBUaGUgc3RvcmUncyBjdXJyZW50IGtleSBpcyBhbHdheXMgaW5qZWN0ZWQgaW50byB0aGUgcGFyYW1zIG9mIHRoZSByZXF1ZXN0LlxuICpcbiAqIEBwYXJhbSBzdG9yZVxuICogQHBhcmFtIGZuXG4gKiBAcmV0dXJuc1xuICovXG5leHBvcnQgZnVuY3Rpb24gZmlyZWJhc2VEb2N1bWVudFN0b3JlRGVsZXRlRnVuY3Rpb248SSBleHRlbmRzIERieEZpcmViYXNlRG9jdW1lbnRTdG9yZUZ1bmN0aW9uUGFyYW1zLCBPID0gdm9pZD4oc3RvcmU6IERieEZpcmViYXNlRG9jdW1lbnRTdG9yZTxhbnksIGFueT4sIGZuOiBNb2RlbEZpcmViYXNlRGVsZXRlRnVuY3Rpb248SSwgTz4pOiBEYnhGaXJlYmFzZURvY3VtZW50U3RvcmVGdW5jdGlvbjxJLCBPPiB7XG4gIHJldHVybiAocGFyYW1zOiBEYnhGaXJlYmFzZURvY3VtZW50U3RvcmVGdW5jdGlvblBhcmFtc0lucHV0PEk+KSA9PlxuICAgIGxvYWRpbmdTdGF0ZUZyb21PYnMoXG4gICAgICBzdG9yZS5rZXkkLnBpcGUoXG4gICAgICAgIGZpcnN0KCksXG4gICAgICAgIGV4aGF1c3RNYXAoKGtleSkgPT5cbiAgICAgICAgICBmbih7XG4gICAgICAgICAgICAuLi5wYXJhbXMsXG4gICAgICAgICAgICBrZXkgLy8gaW5qZWN0IGtleSBpbnRvIHRoZSBwYXJhbWV0ZXJzLlxuICAgICAgICAgIH0gYXMgSSkudGhlbigocmVzdWx0KSA9PiB7XG4gICAgICAgICAgICBzdG9yZS5jbGVhclJlZnMoKTtcbiAgICAgICAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgICAgICAgfSlcbiAgICAgICAgKSxcbiAgICAgICAgc2hhcmVSZXBsYXkoMSlcbiAgICAgIClcbiAgICApO1xufVxuIl19
|