@dereekb/dbx-core 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/fesm2022/dereekb-dbx-core.mjs +920 -1176
- package/fesm2022/dereekb-dbx-core.mjs.map +1 -1
- package/package.json +16 -18
- package/types/dereekb-dbx-core.d.ts +3633 -0
- package/esm2022/dereekb-dbx-core.mjs +0 -5
- package/esm2022/index.mjs +0 -2
- package/esm2022/lib/action/action.handler.mjs +0 -22
- package/esm2022/lib/action/action.holder.mjs +0 -76
- package/esm2022/lib/action/action.machine.mjs +0 -72
- package/esm2022/lib/action/action.mjs +0 -95
- package/esm2022/lib/action/action.module.mjs +0 -85
- package/esm2022/lib/action/action.reference.mjs +0 -7
- package/esm2022/lib/action/action.store.mjs +0 -286
- package/esm2022/lib/action/action.store.source.mjs +0 -162
- package/esm2022/lib/action/action.store.source.provide.mjs +0 -41
- package/esm2022/lib/action/directive/auto/action.automodify.directive.mjs +0 -36
- package/esm2022/lib/action/directive/auto/action.autotrigger.directive.mjs +0 -113
- package/esm2022/lib/action/directive/auto/index.mjs +0 -3
- package/esm2022/lib/action/directive/context/action.directive.mjs +0 -30
- package/esm2022/lib/action/directive/context/action.source.directive.mjs +0 -25
- package/esm2022/lib/action/directive/context/index.mjs +0 -3
- package/esm2022/lib/action/directive/debug/action.logger.directive.mjs +0 -25
- package/esm2022/lib/action/directive/debug/index.mjs +0 -2
- package/esm2022/lib/action/directive/index.mjs +0 -6
- package/esm2022/lib/action/directive/map/action.map.directive.mjs +0 -36
- package/esm2022/lib/action/directive/map/action.map.key.directive.mjs +0 -27
- package/esm2022/lib/action/directive/map/action.map.mjs +0 -59
- package/esm2022/lib/action/directive/map/action.map.source.directive.mjs +0 -44
- package/esm2022/lib/action/directive/map/action.map.utility.mjs +0 -37
- package/esm2022/lib/action/directive/map/action.map.working.disable.directive.mjs +0 -35
- package/esm2022/lib/action/directive/map/index.mjs +0 -7
- package/esm2022/lib/action/directive/state/action.disabled.directive.mjs +0 -34
- package/esm2022/lib/action/directive/state/action.disableonsuccess.directive.mjs +0 -35
- package/esm2022/lib/action/directive/state/action.enforce.modified.directive.mjs +0 -37
- package/esm2022/lib/action/directive/state/action.error.handler.directive.mjs +0 -32
- package/esm2022/lib/action/directive/state/action.handler.directive.mjs +0 -59
- package/esm2022/lib/action/directive/state/action.handler.instance.mjs +0 -61
- package/esm2022/lib/action/directive/state/action.idle.directive.mjs +0 -34
- package/esm2022/lib/action/directive/state/action.presuccess.directive.mjs +0 -34
- package/esm2022/lib/action/directive/state/action.success.directive.mjs +0 -34
- package/esm2022/lib/action/directive/state/action.success.handler.directive.mjs +0 -32
- package/esm2022/lib/action/directive/state/action.triggered.directive.mjs +0 -34
- package/esm2022/lib/action/directive/state/action.value.directive.mjs +0 -51
- package/esm2022/lib/action/directive/state/action.value.stream.directive.mjs +0 -60
- package/esm2022/lib/action/directive/state/action.value.trigger.directive.mjs +0 -76
- package/esm2022/lib/action/directive/state/action.value.trigger.instance.mjs +0 -59
- package/esm2022/lib/action/directive/state/action.working.directive.mjs +0 -41
- package/esm2022/lib/action/directive/state/index.mjs +0 -17
- package/esm2022/lib/action/index.mjs +0 -11
- package/esm2022/lib/auth/auth.module.mjs +0 -25
- package/esm2022/lib/auth/auth.providers.mjs +0 -16
- package/esm2022/lib/auth/auth.role.any.directive.mjs +0 -24
- package/esm2022/lib/auth/auth.role.has.directive.mjs +0 -24
- package/esm2022/lib/auth/auth.role.not.directive.mjs +0 -24
- package/esm2022/lib/auth/auth.state.providers.mjs +0 -14
- package/esm2022/lib/auth/auth.state.service.mjs +0 -20
- package/esm2022/lib/auth/auth.user.mjs +0 -11
- package/esm2022/lib/auth/index.mjs +0 -12
- package/esm2022/lib/auth/router/auth.router.mjs +0 -6
- package/esm2022/lib/auth/router/auth.router.providers.mjs +0 -19
- package/esm2022/lib/auth/router/auth.router.service.mjs +0 -73
- package/esm2022/lib/auth/router/index.mjs +0 -6
- package/esm2022/lib/auth/router/provider/uirouter/auth.hook.mjs +0 -23
- package/esm2022/lib/auth/router/provider/uirouter/hook.mjs +0 -71
- package/esm2022/lib/auth/router/provider/uirouter/index.mjs +0 -6
- package/esm2022/lib/auth/router/provider/uirouter/redirect.mjs +0 -29
- package/esm2022/lib/auth/router/provider/uirouter/role.hook.mjs +0 -58
- package/esm2022/lib/auth/router/provider/uirouter/state.hook.mjs +0 -53
- package/esm2022/lib/auth/router/state/auth.router.state.providers.mjs +0 -23
- package/esm2022/lib/auth/router/state/effect/auth.router.state.effect.mjs +0 -37
- package/esm2022/lib/auth/router/state/effect/index.mjs +0 -2
- package/esm2022/lib/auth/router/state/index.mjs +0 -3
- package/esm2022/lib/auth/service/auth.service.mjs +0 -6
- package/esm2022/lib/auth/service/auth.service.rxjs.mjs +0 -30
- package/esm2022/lib/auth/service/index.mjs +0 -3
- package/esm2022/lib/auth/state/action/auth.action.mjs +0 -14
- package/esm2022/lib/auth/state/action/index.mjs +0 -12
- package/esm2022/lib/auth/state/action/user.action.mjs +0 -18
- package/esm2022/lib/auth/state/effect/auth.effect.mjs +0 -33
- package/esm2022/lib/auth/state/index.mjs +0 -13
- package/esm2022/lib/auth/state/reducer/index.mjs +0 -23
- package/esm2022/lib/auth/state/reducer/user.reducer.mjs +0 -12
- package/esm2022/lib/auth/state/state.mjs +0 -2
- package/esm2022/lib/button/action/action.button.directive.mjs +0 -35
- package/esm2022/lib/button/action/action.button.trigger.directive.mjs +0 -30
- package/esm2022/lib/button/action/index.mjs +0 -3
- package/esm2022/lib/button/button.directive.mjs +0 -120
- package/esm2022/lib/button/button.loading.directive.mjs +0 -36
- package/esm2022/lib/button/button.mjs +0 -21
- package/esm2022/lib/button/button.module.mjs +0 -28
- package/esm2022/lib/button/index.mjs +0 -7
- package/esm2022/lib/button/router/button.segue.directive.mjs +0 -30
- package/esm2022/lib/button/router/index.mjs +0 -2
- package/esm2022/lib/context/context.directive.mjs +0 -26
- package/esm2022/lib/context/context.mjs +0 -25
- package/esm2022/lib/context/context.module.mjs +0 -19
- package/esm2022/lib/context/context.providers.mjs +0 -12
- package/esm2022/lib/context/context.service.mjs +0 -26
- package/esm2022/lib/context/index.mjs +0 -7
- package/esm2022/lib/context/state/action/data.action.mjs +0 -10
- package/esm2022/lib/context/state/action/index.mjs +0 -7
- package/esm2022/lib/context/state/effect/index.mjs +0 -33
- package/esm2022/lib/context/state/index.mjs +0 -13
- package/esm2022/lib/context/state/reducer/data.reducer.mjs +0 -16
- package/esm2022/lib/context/state/reducer/index.mjs +0 -25
- package/esm2022/lib/context/state/state.mjs +0 -2
- package/esm2022/lib/environment/environment.mjs +0 -6
- package/esm2022/lib/environment/environment.providers.mjs +0 -19
- package/esm2022/lib/environment/environment.service.mjs +0 -30
- package/esm2022/lib/environment/index.mjs +0 -4
- package/esm2022/lib/filter/filter.abstract.connector.directive.mjs +0 -23
- package/esm2022/lib/filter/filter.abstract.source.directive.mjs +0 -69
- package/esm2022/lib/filter/filter.connect.source.directive.mjs +0 -23
- package/esm2022/lib/filter/filter.connector.directive.mjs +0 -20
- package/esm2022/lib/filter/filter.content.mjs +0 -29
- package/esm2022/lib/filter/filter.map.connector.directive.mjs +0 -33
- package/esm2022/lib/filter/filter.map.directive.mjs +0 -24
- package/esm2022/lib/filter/filter.map.instance.directive.mjs +0 -25
- package/esm2022/lib/filter/filter.map.source.directive.mjs +0 -38
- package/esm2022/lib/filter/filter.module.mjs +0 -22
- package/esm2022/lib/filter/filter.preset.mjs +0 -8
- package/esm2022/lib/filter/filter.source.directive.mjs +0 -19
- package/esm2022/lib/filter/index.mjs +0 -13
- package/esm2022/lib/index.mjs +0 -15
- package/esm2022/lib/injection/index.mjs +0 -14
- package/esm2022/lib/injection/injection.array.component.mjs +0 -31
- package/esm2022/lib/injection/injection.array.mjs +0 -2
- package/esm2022/lib/injection/injection.component.mjs +0 -32
- package/esm2022/lib/injection/injection.component.module.mjs +0 -26
- package/esm2022/lib/injection/injection.context.directive.mjs +0 -130
- package/esm2022/lib/injection/injection.context.forward.directive.mjs +0 -25
- package/esm2022/lib/injection/injection.context.mjs +0 -20
- package/esm2022/lib/injection/injection.directive.mjs +0 -30
- package/esm2022/lib/injection/injection.instance.mjs +0 -121
- package/esm2022/lib/injection/injection.mjs +0 -16
- package/esm2022/lib/injection/injection.rxjs.mjs +0 -24
- package/esm2022/lib/injection/injection.util.mjs +0 -11
- package/esm2022/lib/injection/injector.mjs +0 -13
- package/esm2022/lib/ngrx/index.mjs +0 -2
- package/esm2022/lib/ngrx/store.lockset.mjs +0 -66
- package/esm2022/lib/pipe/async/asobservable.pipe.mjs +0 -21
- package/esm2022/lib/pipe/async/async.pipe.module.mjs +0 -20
- package/esm2022/lib/pipe/async/index.mjs +0 -3
- package/esm2022/lib/pipe/date/date.pipe.module.mjs +0 -108
- package/esm2022/lib/pipe/date/datedayrange.pipe.mjs +0 -24
- package/esm2022/lib/pipe/date/datedaytimerange.pipe.mjs +0 -24
- package/esm2022/lib/pipe/date/datedistance.pipe.mjs +0 -27
- package/esm2022/lib/pipe/date/dateformatdistance.pipe.mjs +0 -36
- package/esm2022/lib/pipe/date/datefromtoformat.pipe.mjs +0 -34
- package/esm2022/lib/pipe/date/daterangedistance.pipe.mjs +0 -24
- package/esm2022/lib/pipe/date/datetimerange.pipe.mjs +0 -24
- package/esm2022/lib/pipe/date/datetimerangeonly.pipe.mjs +0 -24
- package/esm2022/lib/pipe/date/datetimerangeonlydistance.pipe.mjs +0 -24
- package/esm2022/lib/pipe/date/index.mjs +0 -18
- package/esm2022/lib/pipe/date/minutesstring.pipe.mjs +0 -36
- package/esm2022/lib/pipe/date/systemdatetotargetdate.pipe.mjs +0 -27
- package/esm2022/lib/pipe/date/targetdatetosystemdate.pipe.mjs +0 -27
- package/esm2022/lib/pipe/date/timedistance.pipe.mjs +0 -57
- package/esm2022/lib/pipe/date/timezoneabbreviation.pipe.mjs +0 -27
- package/esm2022/lib/pipe/date/tojsdate.pipe.mjs +0 -30
- package/esm2022/lib/pipe/date/tominutes.pipe.mjs +0 -21
- package/esm2022/lib/pipe/index.mjs +0 -6
- package/esm2022/lib/pipe/misc/index.mjs +0 -3
- package/esm2022/lib/pipe/misc/misc.pipe.module.mjs +0 -21
- package/esm2022/lib/pipe/misc/prettyjson.pipe.mjs +0 -30
- package/esm2022/lib/pipe/pipe.module.mjs +0 -25
- package/esm2022/lib/pipe/value/cuttext.pipe.mjs +0 -22
- package/esm2022/lib/pipe/value/dollar.pipe.mjs +0 -24
- package/esm2022/lib/pipe/value/getvalue.pipe.mjs +0 -40
- package/esm2022/lib/pipe/value/index.mjs +0 -5
- package/esm2022/lib/pipe/value/value.pipe.module.mjs +0 -27
- package/esm2022/lib/router/anchor/anchor.directive.mjs +0 -63
- package/esm2022/lib/router/anchor/anchor.mjs +0 -52
- package/esm2022/lib/router/anchor/clickable.mjs +0 -18
- package/esm2022/lib/router/anchor/index.mjs +0 -5
- package/esm2022/lib/router/anchor/mousable.mjs +0 -2
- package/esm2022/lib/router/auth/hook/id.hook.mjs +0 -54
- package/esm2022/lib/router/auth/hook/index.mjs +0 -3
- package/esm2022/lib/router/auth/hook/uid.hook.mjs +0 -19
- package/esm2022/lib/router/auth/index.mjs +0 -2
- package/esm2022/lib/router/index.mjs +0 -6
- package/esm2022/lib/router/model/id.param.redirect.mjs +0 -73
- package/esm2022/lib/router/model/index.mjs +0 -7
- package/esm2022/lib/router/model/model.module.mjs +0 -26
- package/esm2022/lib/router/model/model.router.id.directive.mjs +0 -62
- package/esm2022/lib/router/model/model.router.key.directive.mjs +0 -63
- package/esm2022/lib/router/model/model.router.mjs +0 -38
- package/esm2022/lib/router/model/model.router.uid.directive.mjs +0 -25
- package/esm2022/lib/router/router/index.mjs +0 -5
- package/esm2022/lib/router/router/provider/angular/angular.router.service.mjs +0 -78
- package/esm2022/lib/router/router/provider/angular/angular.router.service.module.mjs +0 -31
- package/esm2022/lib/router/router/provider/angular/index.mjs +0 -3
- package/esm2022/lib/router/router/provider/index.mjs +0 -3
- package/esm2022/lib/router/router/provider/uirouter/index.mjs +0 -4
- package/esm2022/lib/router/router/provider/uirouter/uirouter.router.service.mjs +0 -95
- package/esm2022/lib/router/router/provider/uirouter/uirouter.router.service.module.mjs +0 -34
- package/esm2022/lib/router/router/provider/uirouter/uirouter.router.service.providers.mjs +0 -24
- package/esm2022/lib/router/router/service/index.mjs +0 -6
- package/esm2022/lib/router/router/service/router.go.mjs +0 -14
- package/esm2022/lib/router/router/service/router.service.mjs +0 -7
- package/esm2022/lib/router/router/service/router.service.rxjs.mjs +0 -39
- package/esm2022/lib/router/router/service/router.service.util.mjs +0 -14
- package/esm2022/lib/router/router/service/router.transition.service.mjs +0 -6
- package/esm2022/lib/router/router/transition/index.mjs +0 -5
- package/esm2022/lib/router/router/transition/transition.directive.mjs +0 -19
- package/esm2022/lib/router/router/transition/transition.mjs +0 -12
- package/esm2022/lib/router/router/transition/transition.rxjs.mjs +0 -55
- package/esm2022/lib/router/router/transition/transition.watcher.directive.mjs +0 -31
- package/esm2022/lib/router/router/util/index.mjs +0 -3
- package/esm2022/lib/router/router/util/route.default.mjs +0 -63
- package/esm2022/lib/router/router/util/route.reader.mjs +0 -47
- package/esm2022/lib/router/segue.mjs +0 -35
- package/esm2022/lib/storage/index.mjs +0 -9
- package/esm2022/lib/storage/storage.accessor.mjs +0 -16
- package/esm2022/lib/storage/storage.accessor.simple.factory.mjs +0 -26
- package/esm2022/lib/storage/storage.accessor.simple.mjs +0 -172
- package/esm2022/lib/storage/storage.accessor.string.mjs +0 -50
- package/esm2022/lib/storage/storage.di.mjs +0 -4
- package/esm2022/lib/storage/storage.object.localstorage.mjs +0 -47
- package/esm2022/lib/storage/storage.object.memory.mjs +0 -17
- package/esm2022/lib/storage/storage.providers.mjs +0 -41
- package/esm2022/lib/subscription/index.mjs +0 -2
- package/esm2022/lib/subscription/subscription.directive.mjs +0 -38
- package/esm2022/lib/util/index.mjs +0 -3
- package/esm2022/lib/util/input.mjs +0 -7
- package/esm2022/lib/util/view.mjs +0 -81
- package/esm2022/lib/view/if.directive.mjs +0 -27
- package/esm2022/lib/view/index.mjs +0 -2
- package/index.d.ts +0 -1
- package/lib/action/action.d.ts +0 -80
- package/lib/action/action.handler.d.ts +0 -15
- package/lib/action/action.holder.d.ts +0 -38
- package/lib/action/action.machine.d.ts +0 -50
- package/lib/action/action.module.d.ts +0 -30
- package/lib/action/action.reference.d.ts +0 -11
- package/lib/action/action.store.d.ts +0 -208
- package/lib/action/action.store.source.d.ts +0 -77
- package/lib/action/action.store.source.provide.d.ts +0 -10
- package/lib/action/directive/auto/action.automodify.directive.d.ts +0 -13
- package/lib/action/directive/auto/action.autotrigger.directive.d.ts +0 -38
- package/lib/action/directive/auto/index.d.ts +0 -2
- package/lib/action/directive/context/action.directive.d.ts +0 -12
- package/lib/action/directive/context/action.source.directive.d.ts +0 -12
- package/lib/action/directive/context/index.d.ts +0 -2
- package/lib/action/directive/debug/action.logger.directive.d.ts +0 -13
- package/lib/action/directive/debug/index.d.ts +0 -1
- package/lib/action/directive/index.d.ts +0 -5
- package/lib/action/directive/map/action.map.d.ts +0 -43
- package/lib/action/directive/map/action.map.directive.d.ts +0 -14
- package/lib/action/directive/map/action.map.key.directive.d.ts +0 -14
- package/lib/action/directive/map/action.map.source.directive.d.ts +0 -19
- package/lib/action/directive/map/action.map.utility.d.ts +0 -48
- package/lib/action/directive/map/action.map.working.disable.directive.d.ts +0 -19
- package/lib/action/directive/map/index.d.ts +0 -6
- package/lib/action/directive/state/action.disabled.directive.d.ts +0 -18
- package/lib/action/directive/state/action.disableonsuccess.directive.d.ts +0 -18
- package/lib/action/directive/state/action.enforce.modified.directive.d.ts +0 -18
- package/lib/action/directive/state/action.error.handler.directive.d.ts +0 -20
- package/lib/action/directive/state/action.handler.directive.d.ts +0 -35
- package/lib/action/directive/state/action.handler.instance.d.ts +0 -22
- package/lib/action/directive/state/action.idle.directive.d.ts +0 -15
- package/lib/action/directive/state/action.presuccess.directive.d.ts +0 -15
- package/lib/action/directive/state/action.success.directive.d.ts +0 -16
- package/lib/action/directive/state/action.success.handler.directive.d.ts +0 -20
- package/lib/action/directive/state/action.triggered.directive.d.ts +0 -15
- package/lib/action/directive/state/action.value.directive.d.ts +0 -27
- package/lib/action/directive/state/action.value.stream.directive.d.ts +0 -23
- package/lib/action/directive/state/action.value.trigger.directive.d.ts +0 -39
- package/lib/action/directive/state/action.value.trigger.instance.d.ts +0 -45
- package/lib/action/directive/state/action.working.directive.d.ts +0 -17
- package/lib/action/directive/state/index.d.ts +0 -16
- package/lib/action/index.d.ts +0 -10
- package/lib/auth/auth.module.d.ts +0 -16
- package/lib/auth/auth.providers.d.ts +0 -12
- package/lib/auth/auth.role.any.directive.d.ts +0 -15
- package/lib/auth/auth.role.has.directive.d.ts +0 -15
- package/lib/auth/auth.role.not.directive.d.ts +0 -15
- package/lib/auth/auth.state.providers.d.ts +0 -7
- package/lib/auth/auth.state.service.d.ts +0 -11
- package/lib/auth/auth.user.d.ts +0 -28
- package/lib/auth/index.d.ts +0 -11
- package/lib/auth/router/auth.router.d.ts +0 -10
- package/lib/auth/router/auth.router.providers.d.ts +0 -18
- package/lib/auth/router/auth.router.service.d.ts +0 -46
- package/lib/auth/router/index.d.ts +0 -5
- package/lib/auth/router/provider/uirouter/auth.hook.d.ts +0 -18
- package/lib/auth/router/provider/uirouter/hook.d.ts +0 -51
- package/lib/auth/router/provider/uirouter/index.d.ts +0 -5
- package/lib/auth/router/provider/uirouter/redirect.d.ts +0 -9
- package/lib/auth/router/provider/uirouter/role.hook.d.ts +0 -44
- package/lib/auth/router/provider/uirouter/state.hook.d.ts +0 -31
- package/lib/auth/router/state/auth.router.state.providers.d.ts +0 -19
- package/lib/auth/router/state/effect/auth.router.state.effect.d.ts +0 -28
- package/lib/auth/router/state/effect/index.d.ts +0 -1
- package/lib/auth/router/state/index.d.ts +0 -2
- package/lib/auth/service/auth.service.d.ts +0 -46
- package/lib/auth/service/auth.service.rxjs.d.ts +0 -19
- package/lib/auth/service/index.d.ts +0 -2
- package/lib/auth/state/action/auth.action.d.ts +0 -12
- package/lib/auth/state/action/index.d.ts +0 -11
- package/lib/auth/state/action/user.action.d.ts +0 -34
- package/lib/auth/state/effect/auth.effect.d.ts +0 -28
- package/lib/auth/state/index.d.ts +0 -12
- package/lib/auth/state/reducer/index.d.ts +0 -29
- package/lib/auth/state/reducer/user.reducer.d.ts +0 -11
- package/lib/auth/state/state.d.ts +0 -5
- package/lib/button/action/action.button.directive.d.ts +0 -14
- package/lib/button/action/action.button.trigger.directive.d.ts +0 -16
- package/lib/button/action/index.d.ts +0 -2
- package/lib/button/button.d.ts +0 -113
- package/lib/button/button.directive.d.ts +0 -62
- package/lib/button/button.loading.directive.d.ts +0 -18
- package/lib/button/button.module.d.ts +0 -19
- package/lib/button/index.d.ts +0 -6
- package/lib/button/router/button.segue.directive.d.ts +0 -14
- package/lib/button/router/index.d.ts +0 -1
- package/lib/context/context.d.ts +0 -42
- package/lib/context/context.directive.d.ts +0 -13
- package/lib/context/context.module.d.ts +0 -10
- package/lib/context/context.providers.d.ts +0 -7
- package/lib/context/context.service.d.ts +0 -14
- package/lib/context/index.d.ts +0 -6
- package/lib/context/state/action/data.action.d.ts +0 -13
- package/lib/context/state/action/index.d.ts +0 -6
- package/lib/context/state/effect/index.d.ts +0 -24
- package/lib/context/state/index.d.ts +0 -12
- package/lib/context/state/reducer/data.reducer.d.ts +0 -13
- package/lib/context/state/reducer/index.d.ts +0 -34
- package/lib/context/state/state.d.ts +0 -9
- package/lib/environment/environment.d.ts +0 -21
- package/lib/environment/environment.providers.d.ts +0 -8
- package/lib/environment/environment.service.d.ts +0 -17
- package/lib/environment/index.d.ts +0 -3
- package/lib/filter/filter.abstract.connector.directive.d.ts +0 -15
- package/lib/filter/filter.abstract.source.directive.d.ts +0 -37
- package/lib/filter/filter.connect.source.directive.d.ts +0 -13
- package/lib/filter/filter.connector.directive.d.ts +0 -9
- package/lib/filter/filter.content.d.ts +0 -10
- package/lib/filter/filter.map.connector.directive.d.ts +0 -14
- package/lib/filter/filter.map.directive.d.ts +0 -12
- package/lib/filter/filter.map.instance.directive.d.ts +0 -16
- package/lib/filter/filter.map.source.directive.d.ts +0 -23
- package/lib/filter/filter.module.d.ts +0 -12
- package/lib/filter/filter.preset.d.ts +0 -29
- package/lib/filter/filter.source.directive.d.ts +0 -9
- package/lib/filter/index.d.ts +0 -12
- package/lib/index.d.ts +0 -14
- package/lib/injection/index.d.ts +0 -13
- package/lib/injection/injection.array.component.d.ts +0 -11
- package/lib/injection/injection.array.d.ts +0 -12
- package/lib/injection/injection.component.d.ts +0 -19
- package/lib/injection/injection.component.module.d.ts +0 -16
- package/lib/injection/injection.context.d.ts +0 -39
- package/lib/injection/injection.context.directive.d.ts +0 -26
- package/lib/injection/injection.context.forward.directive.d.ts +0 -15
- package/lib/injection/injection.d.ts +0 -51
- package/lib/injection/injection.directive.d.ts +0 -18
- package/lib/injection/injection.instance.d.ts +0 -32
- package/lib/injection/injection.rxjs.d.ts +0 -10
- package/lib/injection/injection.util.d.ts +0 -9
- package/lib/injection/injector.d.ts +0 -10
- package/lib/ngrx/index.d.ts +0 -1
- package/lib/ngrx/store.lockset.d.ts +0 -36
- package/lib/pipe/async/asobservable.pipe.d.ts +0 -12
- package/lib/pipe/async/async.pipe.module.d.ts +0 -10
- package/lib/pipe/async/index.d.ts +0 -2
- package/lib/pipe/date/date.pipe.module.d.ts +0 -43
- package/lib/pipe/date/datedayrange.pipe.d.ts +0 -9
- package/lib/pipe/date/datedaytimerange.pipe.d.ts +0 -9
- package/lib/pipe/date/datedistance.pipe.d.ts +0 -8
- package/lib/pipe/date/dateformatdistance.pipe.d.ts +0 -12
- package/lib/pipe/date/datefromtoformat.pipe.d.ts +0 -13
- package/lib/pipe/date/daterangedistance.pipe.d.ts +0 -9
- package/lib/pipe/date/datetimerange.pipe.d.ts +0 -9
- package/lib/pipe/date/datetimerangeonly.pipe.d.ts +0 -9
- package/lib/pipe/date/datetimerangeonlydistance.pipe.d.ts +0 -9
- package/lib/pipe/date/index.d.ts +0 -17
- package/lib/pipe/date/minutesstring.pipe.d.ts +0 -8
- package/lib/pipe/date/systemdatetotargetdate.pipe.d.ts +0 -12
- package/lib/pipe/date/targetdatetosystemdate.pipe.d.ts +0 -12
- package/lib/pipe/date/timedistance.pipe.d.ts +0 -13
- package/lib/pipe/date/timezoneabbreviation.pipe.d.ts +0 -12
- package/lib/pipe/date/tojsdate.pipe.d.ts +0 -10
- package/lib/pipe/date/tominutes.pipe.d.ts +0 -7
- package/lib/pipe/index.d.ts +0 -5
- package/lib/pipe/misc/index.d.ts +0 -2
- package/lib/pipe/misc/misc.pipe.module.d.ts +0 -12
- package/lib/pipe/misc/prettyjson.pipe.d.ts +0 -9
- package/lib/pipe/pipe.module.d.ts +0 -15
- package/lib/pipe/value/cuttext.pipe.d.ts +0 -11
- package/lib/pipe/value/dollar.pipe.d.ts +0 -13
- package/lib/pipe/value/getvalue.pipe.d.ts +0 -19
- package/lib/pipe/value/index.d.ts +0 -4
- package/lib/pipe/value/value.pipe.module.d.ts +0 -17
- package/lib/router/anchor/anchor.d.ts +0 -71
- package/lib/router/anchor/anchor.directive.d.ts +0 -30
- package/lib/router/anchor/clickable.d.ts +0 -20
- package/lib/router/anchor/index.d.ts +0 -4
- package/lib/router/anchor/mousable.d.ts +0 -9
- package/lib/router/auth/hook/id.hook.d.ts +0 -44
- package/lib/router/auth/hook/index.d.ts +0 -2
- package/lib/router/auth/hook/uid.hook.d.ts +0 -41
- package/lib/router/auth/index.d.ts +0 -1
- package/lib/router/index.d.ts +0 -5
- package/lib/router/model/id.param.redirect.d.ts +0 -51
- package/lib/router/model/index.d.ts +0 -6
- package/lib/router/model/model.module.d.ts +0 -16
- package/lib/router/model/model.router.d.ts +0 -35
- package/lib/router/model/model.router.id.directive.d.ts +0 -30
- package/lib/router/model/model.router.key.directive.d.ts +0 -32
- package/lib/router/model/model.router.uid.directive.d.ts +0 -15
- package/lib/router/router/index.d.ts +0 -4
- package/lib/router/router/provider/angular/angular.router.service.d.ts +0 -24
- package/lib/router/router/provider/angular/angular.router.service.module.d.ts +0 -8
- package/lib/router/router/provider/angular/index.d.ts +0 -2
- package/lib/router/router/provider/index.d.ts +0 -2
- package/lib/router/router/provider/uirouter/index.d.ts +0 -3
- package/lib/router/router/provider/uirouter/uirouter.router.service.d.ts +0 -32
- package/lib/router/router/provider/uirouter/uirouter.router.service.module.d.ts +0 -11
- package/lib/router/router/provider/uirouter/uirouter.router.service.providers.d.ts +0 -7
- package/lib/router/router/service/index.d.ts +0 -5
- package/lib/router/router/service/router.go.d.ts +0 -14
- package/lib/router/router/service/router.service.d.ts +0 -49
- package/lib/router/router/service/router.service.rxjs.d.ts +0 -27
- package/lib/router/router/service/router.service.util.d.ts +0 -26
- package/lib/router/router/service/router.transition.service.d.ts +0 -11
- package/lib/router/router/transition/index.d.ts +0 -4
- package/lib/router/router/transition/transition.d.ts +0 -13
- package/lib/router/router/transition/transition.directive.d.ts +0 -13
- package/lib/router/router/transition/transition.rxjs.d.ts +0 -67
- package/lib/router/router/transition/transition.watcher.directive.d.ts +0 -16
- package/lib/router/router/util/index.d.ts +0 -2
- package/lib/router/router/util/route.default.d.ts +0 -20
- package/lib/router/router/util/route.reader.d.ts +0 -56
- package/lib/router/segue.d.ts +0 -38
- package/lib/storage/index.d.ts +0 -8
- package/lib/storage/storage.accessor.d.ts +0 -35
- package/lib/storage/storage.accessor.simple.d.ts +0 -80
- package/lib/storage/storage.accessor.simple.factory.d.ts +0 -17
- package/lib/storage/storage.accessor.string.d.ts +0 -16
- package/lib/storage/storage.di.d.ts +0 -3
- package/lib/storage/storage.object.localstorage.d.ts +0 -16
- package/lib/storage/storage.object.memory.d.ts +0 -9
- package/lib/storage/storage.providers.d.ts +0 -13
- package/lib/subscription/index.d.ts +0 -1
- package/lib/subscription/subscription.directive.d.ts +0 -25
- package/lib/util/index.d.ts +0 -2
- package/lib/util/input.d.ts +0 -6
- package/lib/util/view.d.ts +0 -61
- package/lib/view/if.directive.d.ts +0 -18
- package/lib/view/index.d.ts +0 -1
|
@@ -1,63 +0,0 @@
|
|
|
1
|
-
import { BehaviorSubject, EMPTY, switchMap, of } from 'rxjs';
|
|
2
|
-
import { defaultForwardFunctionFactory } from '@dereekb/util';
|
|
3
|
-
import { SubscriptionObject, switchMapToDefault, filterMaybe } from '@dereekb/rxjs';
|
|
4
|
-
const DEFAULT_REDIRECT_INSTANCE_FORWARD_FACTORY = defaultForwardFunctionFactory((value) => of(value == null));
|
|
5
|
-
/**
|
|
6
|
-
* Utility class used in conjuction with a DbxRouteParamReaderInstance to redirect when the default param is not valid.
|
|
7
|
-
*/
|
|
8
|
-
export class DbxRouteParamDefaultRedirectInstance {
|
|
9
|
-
instance;
|
|
10
|
-
_enabled = new BehaviorSubject(true);
|
|
11
|
-
_useDefaultFilter = new BehaviorSubject(undefined);
|
|
12
|
-
_sub = new SubscriptionObject();
|
|
13
|
-
constructor(instance) {
|
|
14
|
-
this.instance = instance;
|
|
15
|
-
}
|
|
16
|
-
init() {
|
|
17
|
-
this._sub.subscription = this._enabled
|
|
18
|
-
.pipe(switchMap((enabled) => {
|
|
19
|
-
if (enabled) {
|
|
20
|
-
return this.instance.paramValue$.pipe(switchMapToDefault(this.instance.defaultValue$, (value) => {
|
|
21
|
-
return this._useDefaultFilter.pipe(switchMap((fn) => DEFAULT_REDIRECT_INSTANCE_FORWARD_FACTORY(fn)(value)));
|
|
22
|
-
}), filterMaybe(), // do not redirect on MaybeNot values
|
|
23
|
-
switchMap((defaultValue) => {
|
|
24
|
-
return this.redirectWithDefaultValue(defaultValue);
|
|
25
|
-
}));
|
|
26
|
-
}
|
|
27
|
-
else {
|
|
28
|
-
return EMPTY;
|
|
29
|
-
}
|
|
30
|
-
}))
|
|
31
|
-
.subscribe();
|
|
32
|
-
}
|
|
33
|
-
destroy() {
|
|
34
|
-
this._enabled.complete();
|
|
35
|
-
this._useDefaultFilter.complete();
|
|
36
|
-
this._sub.destroy();
|
|
37
|
-
}
|
|
38
|
-
redirectWithDefaultValue(value) {
|
|
39
|
-
if (value != null) {
|
|
40
|
-
// perform a segue once
|
|
41
|
-
return this.redirectWithValue(value);
|
|
42
|
-
}
|
|
43
|
-
else {
|
|
44
|
-
// do nothing
|
|
45
|
-
return Promise.resolve(false);
|
|
46
|
-
}
|
|
47
|
-
}
|
|
48
|
-
redirectWithValue(value) {
|
|
49
|
-
return this.instance.dbxRouterService.updateParams({
|
|
50
|
-
[this.instance.getParamKey()]: value
|
|
51
|
-
});
|
|
52
|
-
}
|
|
53
|
-
get enabled() {
|
|
54
|
-
return this._enabled.value;
|
|
55
|
-
}
|
|
56
|
-
set enabled(enabled) {
|
|
57
|
-
this._enabled.next(enabled);
|
|
58
|
-
}
|
|
59
|
-
setUseDefaultFilter(useValueFilter) {
|
|
60
|
-
this._useDefaultFilter.next(useValueFilter);
|
|
61
|
-
}
|
|
62
|
-
}
|
|
63
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUuZGVmYXVsdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2RieC1jb3JlL3NyYy9saWIvcm91dGVyL3JvdXRlci91dGlsL3JvdXRlLmRlZmF1bHQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGVBQWUsRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLEVBQUUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUU3RCxPQUFPLEVBQXNGLDZCQUE2QixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2xKLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxrQkFBa0IsRUFBeUMsV0FBVyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTNILE1BQU0seUNBQXlDLEdBQUcsNkJBQTZCLENBQTRDLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUMsS0FBSyxJQUFJLElBQUksQ0FBQyxDQUFDLENBQUM7QUFFeko7O0dBRUc7QUFDSCxNQUFNLE9BQU8sb0NBQW9DO0lBQzlCLFFBQVEsQ0FBaUM7SUFFekMsUUFBUSxHQUFHLElBQUksZUFBZSxDQUFVLElBQUksQ0FBQyxDQUFDO0lBQzlDLGlCQUFpQixHQUFHLElBQUksZUFBZSxDQUE2QyxTQUFTLENBQUMsQ0FBQztJQUMvRixJQUFJLEdBQUcsSUFBSSxrQkFBa0IsRUFBRSxDQUFDO0lBRWpELFlBQVksUUFBd0M7UUFDbEQsSUFBSSxDQUFDLFFBQVEsR0FBRyxRQUFRLENBQUM7SUFDM0IsQ0FBQztJQUVELElBQUk7UUFDRixJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsUUFBUTthQUNuQyxJQUFJLENBQ0gsU0FBUyxDQUFDLENBQUMsT0FBTyxFQUFFLEVBQUU7WUFDcEIsSUFBSSxPQUFPLEVBQUUsQ0FBQztnQkFDWixPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLElBQUksQ0FDbkMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxhQUFhLEVBQUUsQ0FBQyxLQUFLLEVBQUUsRUFBRTtvQkFDeEQsT0FBTyxJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUUseUNBQWdILENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDO2dCQUN0TCxDQUFDLENBQUMsRUFDRixXQUFXLEVBQUUsRUFBRSxxQ0FBcUM7Z0JBQ3BELFNBQVMsQ0FBQyxDQUFDLFlBQVksRUFBRSxFQUFFO29CQUN6QixPQUFPLElBQUksQ0FBQyx3QkFBd0IsQ0FBQyxZQUFZLENBQUMsQ0FBQztnQkFDckQsQ0FBQyxDQUFDLENBQ0gsQ0FBQztZQUNKLENBQUM7aUJBQU0sQ0FBQztnQkFDTixPQUFPLEtBQUssQ0FBQztZQUNmLENBQUM7UUFDSCxDQUFDLENBQUMsQ0FDSDthQUNBLFNBQVMsRUFBRSxDQUFDO0lBQ2pCLENBQUM7SUFFRCxPQUFPO1FBQ0wsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUN6QixJQUFJLENBQUMsaUJBQWlCLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDbEMsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztJQUN0QixDQUFDO0lBRVMsd0JBQXdCLENBQUMsS0FBZTtRQUNoRCxJQUFJLEtBQUssSUFBSSxJQUFJLEVBQUUsQ0FBQztZQUNsQix1QkFBdUI7WUFDdkIsT0FBTyxJQUFJLENBQUMsaUJBQWlCLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDdkMsQ0FBQzthQUFNLENBQUM7WUFDTixhQUFhO1lBQ2IsT0FBTyxPQUFPLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ2hDLENBQUM7SUFDSCxDQUFDO0lBRVMsaUJBQWlCLENBQUMsS0FBZTtRQUN6QyxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsZ0JBQWdCLENBQUMsWUFBWSxDQUFDO1lBQ2pELENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxFQUFFLEtBQUs7U0FDckMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELElBQUksT0FBTztRQUNULE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUM7SUFDN0IsQ0FBQztJQUVELElBQUksT0FBTyxDQUFDLE9BQWdCO1FBQzFCLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQzlCLENBQUM7SUFFRCxtQkFBbUIsQ0FBQyxjQUEwRDtRQUM1RSxJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDO0lBQzlDLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgRU1QVFksIHN3aXRjaE1hcCwgb2YgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IHR5cGUgRGJ4Um91dGVQYXJhbVJlYWRlckluc3RhbmNlIH0gZnJvbSAnLi9yb3V0ZS5yZWFkZXInO1xuaW1wb3J0IHsgdHlwZSBEZXN0cm95YWJsZSwgdHlwZSBJbml0aWFsaXplZCwgdHlwZSBNYXliZSwgdHlwZSBEZWZhdWx0Rm9yd2FyZEZ1bmN0aW9uRmFjdG9yeSwgZGVmYXVsdEZvcndhcmRGdW5jdGlvbkZhY3RvcnkgfSBmcm9tICdAZGVyZWVrYi91dGlsJztcbmltcG9ydCB7IFN1YnNjcmlwdGlvbk9iamVjdCwgc3dpdGNoTWFwVG9EZWZhdWx0LCB0eXBlIFN3aXRjaE1hcFRvRGVmYXVsdEZpbHRlckZ1bmN0aW9uLCBmaWx0ZXJNYXliZSB9IGZyb20gJ0BkZXJlZWtiL3J4anMnO1xuXG5jb25zdCBERUZBVUxUX1JFRElSRUNUX0lOU1RBTkNFX0ZPUldBUkRfRkFDVE9SWSA9IGRlZmF1bHRGb3J3YXJkRnVuY3Rpb25GYWN0b3J5PFN3aXRjaE1hcFRvRGVmYXVsdEZpbHRlckZ1bmN0aW9uPHVua25vd24+PigodmFsdWUpID0+IG9mKHZhbHVlID09IG51bGwpKTtcblxuLyoqXG4gKiBVdGlsaXR5IGNsYXNzIHVzZWQgaW4gY29uanVjdGlvbiB3aXRoIGEgRGJ4Um91dGVQYXJhbVJlYWRlckluc3RhbmNlIHRvIHJlZGlyZWN0IHdoZW4gdGhlIGRlZmF1bHQgcGFyYW0gaXMgbm90IHZhbGlkLlxuICovXG5leHBvcnQgY2xhc3MgRGJ4Um91dGVQYXJhbURlZmF1bHRSZWRpcmVjdEluc3RhbmNlPFQ+IGltcGxlbWVudHMgSW5pdGlhbGl6ZWQsIERlc3Ryb3lhYmxlIHtcbiAgcHJpdmF0ZSByZWFkb25seSBpbnN0YW5jZTogRGJ4Um91dGVQYXJhbVJlYWRlckluc3RhbmNlPFQ+O1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgX2VuYWJsZWQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGJvb2xlYW4+KHRydWUpO1xuICBwcml2YXRlIHJlYWRvbmx5IF91c2VEZWZhdWx0RmlsdGVyID0gbmV3IEJlaGF2aW9yU3ViamVjdDxNYXliZTxTd2l0Y2hNYXBUb0RlZmF1bHRGaWx0ZXJGdW5jdGlvbjxUPj4+KHVuZGVmaW5lZCk7XG4gIHByaXZhdGUgcmVhZG9ubHkgX3N1YiA9IG5ldyBTdWJzY3JpcHRpb25PYmplY3QoKTtcblxuICBjb25zdHJ1Y3RvcihpbnN0YW5jZTogRGJ4Um91dGVQYXJhbVJlYWRlckluc3RhbmNlPFQ+KSB7XG4gICAgdGhpcy5pbnN0YW5jZSA9IGluc3RhbmNlO1xuICB9XG5cbiAgaW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLl9zdWIuc3Vic2NyaXB0aW9uID0gdGhpcy5fZW5hYmxlZFxuICAgICAgLnBpcGUoXG4gICAgICAgIHN3aXRjaE1hcCgoZW5hYmxlZCkgPT4ge1xuICAgICAgICAgIGlmIChlbmFibGVkKSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5pbnN0YW5jZS5wYXJhbVZhbHVlJC5waXBlKFxuICAgICAgICAgICAgICBzd2l0Y2hNYXBUb0RlZmF1bHQodGhpcy5pbnN0YW5jZS5kZWZhdWx0VmFsdWUkLCAodmFsdWUpID0+IHtcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5fdXNlRGVmYXVsdEZpbHRlci5waXBlKHN3aXRjaE1hcCgoZm4pID0+IChERUZBVUxUX1JFRElSRUNUX0lOU1RBTkNFX0ZPUldBUkRfRkFDVE9SWSBhcyBEZWZhdWx0Rm9yd2FyZEZ1bmN0aW9uRmFjdG9yeTxTd2l0Y2hNYXBUb0RlZmF1bHRGaWx0ZXJGdW5jdGlvbjxUPj4pKGZuKSh2YWx1ZSkpKTtcbiAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICAgIGZpbHRlck1heWJlKCksIC8vIGRvIG5vdCByZWRpcmVjdCBvbiBNYXliZU5vdCB2YWx1ZXNcbiAgICAgICAgICAgICAgc3dpdGNoTWFwKChkZWZhdWx0VmFsdWUpID0+IHtcbiAgICAgICAgICAgICAgICByZXR1cm4gdGhpcy5yZWRpcmVjdFdpdGhEZWZhdWx0VmFsdWUoZGVmYXVsdFZhbHVlKTtcbiAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHJldHVybiBFTVBUWTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pXG4gICAgICApXG4gICAgICAuc3Vic2NyaWJlKCk7XG4gIH1cblxuICBkZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuX2VuYWJsZWQuY29tcGxldGUoKTtcbiAgICB0aGlzLl91c2VEZWZhdWx0RmlsdGVyLmNvbXBsZXRlKCk7XG4gICAgdGhpcy5fc3ViLmRlc3Ryb3koKTtcbiAgfVxuXG4gIHByb3RlY3RlZCByZWRpcmVjdFdpdGhEZWZhdWx0VmFsdWUodmFsdWU6IE1heWJlPFQ+KTogUHJvbWlzZTxib29sZWFuPiB7XG4gICAgaWYgKHZhbHVlICE9IG51bGwpIHtcbiAgICAgIC8vIHBlcmZvcm0gYSBzZWd1ZSBvbmNlXG4gICAgICByZXR1cm4gdGhpcy5yZWRpcmVjdFdpdGhWYWx1ZSh2YWx1ZSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIC8vIGRvIG5vdGhpbmdcbiAgICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUoZmFsc2UpO1xuICAgIH1cbiAgfVxuXG4gIHByb3RlY3RlZCByZWRpcmVjdFdpdGhWYWx1ZSh2YWx1ZTogTWF5YmU8VD4pOiBQcm9taXNlPGJvb2xlYW4+IHtcbiAgICByZXR1cm4gdGhpcy5pbnN0YW5jZS5kYnhSb3V0ZXJTZXJ2aWNlLnVwZGF0ZVBhcmFtcyh7XG4gICAgICBbdGhpcy5pbnN0YW5jZS5nZXRQYXJhbUtleSgpXTogdmFsdWVcbiAgICB9KTtcbiAgfVxuXG4gIGdldCBlbmFibGVkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLl9lbmFibGVkLnZhbHVlO1xuICB9XG5cbiAgc2V0IGVuYWJsZWQoZW5hYmxlZDogYm9vbGVhbikge1xuICAgIHRoaXMuX2VuYWJsZWQubmV4dChlbmFibGVkKTtcbiAgfVxuXG4gIHNldFVzZURlZmF1bHRGaWx0ZXIodXNlVmFsdWVGaWx0ZXI6IE1heWJlPFN3aXRjaE1hcFRvRGVmYXVsdEZpbHRlckZ1bmN0aW9uPFQ+Pik6IHZvaWQge1xuICAgIHRoaXMuX3VzZURlZmF1bHRGaWx0ZXIubmV4dCh1c2VWYWx1ZUZpbHRlcik7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -1,47 +0,0 @@
|
|
|
1
|
-
import { switchMapToDefault, maybeValueFromObservableOrValueGetter, asObservableFromGetter } from '@dereekb/rxjs';
|
|
2
|
-
import { BehaviorSubject, combineLatest, distinctUntilChanged, first, map, shareReplay } from 'rxjs';
|
|
3
|
-
/**
|
|
4
|
-
* Creates a new DbxRouteParamReaderInstance from the input.
|
|
5
|
-
*
|
|
6
|
-
* @param dbxRouterService
|
|
7
|
-
* @param defaultParamKey
|
|
8
|
-
* @param defaultValue
|
|
9
|
-
* @returns
|
|
10
|
-
*/
|
|
11
|
-
export function dbxRouteParamReaderInstance(dbxRouterService, defaultParamKey, defaultValue) {
|
|
12
|
-
const _paramKey = new BehaviorSubject(defaultParamKey);
|
|
13
|
-
const _defaultValue = new BehaviorSubject(defaultValue);
|
|
14
|
-
const paramKey$ = _paramKey.asObservable();
|
|
15
|
-
const paramValue$ = combineLatest([paramKey$, dbxRouterService.params$]).pipe(map(([key, params]) => params[key] ?? undefined), distinctUntilChanged(), shareReplay(1));
|
|
16
|
-
const nextDefaultValue$ = _defaultValue.pipe(maybeValueFromObservableOrValueGetter(), shareReplay(1));
|
|
17
|
-
const defaultValue$ = _defaultValue.pipe(maybeValueFromObservableOrValueGetter(), shareReplay(1));
|
|
18
|
-
const value$ = paramValue$.pipe(switchMapToDefault(defaultValue$), shareReplay(1));
|
|
19
|
-
const result = {
|
|
20
|
-
dbxRouterService,
|
|
21
|
-
paramKey$,
|
|
22
|
-
paramValue$,
|
|
23
|
-
nextDefaultValue$,
|
|
24
|
-
defaultValue$,
|
|
25
|
-
value$,
|
|
26
|
-
destroy() {
|
|
27
|
-
_paramKey.complete();
|
|
28
|
-
_defaultValue.complete();
|
|
29
|
-
},
|
|
30
|
-
getParamKey() {
|
|
31
|
-
return _paramKey.value;
|
|
32
|
-
},
|
|
33
|
-
setParamKey(paramKey) {
|
|
34
|
-
_paramKey.next(paramKey || defaultParamKey);
|
|
35
|
-
},
|
|
36
|
-
setDefaultValue(newValue) {
|
|
37
|
-
_defaultValue.next(newValue ?? defaultValue);
|
|
38
|
-
},
|
|
39
|
-
setParamValue(value) {
|
|
40
|
-
combineLatest([paramKey$, asObservableFromGetter(value)])
|
|
41
|
-
.pipe(first())
|
|
42
|
-
.subscribe(([paramKey, value]) => dbxRouterService.updateParams({ [paramKey]: value }));
|
|
43
|
-
}
|
|
44
|
-
};
|
|
45
|
-
return result;
|
|
46
|
-
}
|
|
47
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUucmVhZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZGJ4LWNvcmUvc3JjL2xpYi9yb3V0ZXIvcm91dGVyL3V0aWwvcm91dGUucmVhZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBbUUsa0JBQWtCLEVBQUUscUNBQXFDLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFbkwsT0FBTyxFQUFFLGVBQWUsRUFBRSxhQUFhLEVBQUUsb0JBQW9CLEVBQUUsS0FBSyxFQUFFLEdBQUcsRUFBbUIsV0FBVyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBc0R0SDs7Ozs7OztHQU9HO0FBQ0gsTUFBTSxVQUFVLDJCQUEyQixDQUFJLGdCQUFrQyxFQUFFLGVBQXVCLEVBQUUsWUFBOEM7SUFDeEosTUFBTSxTQUFTLEdBQUcsSUFBSSxlQUFlLENBQVMsZUFBZSxDQUFDLENBQUM7SUFDL0QsTUFBTSxhQUFhLEdBQUcsSUFBSSxlQUFlLENBQTJDLFlBQVksQ0FBQyxDQUFDO0lBRWxHLE1BQU0sU0FBUyxHQUFHLFNBQVMsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUUzQyxNQUFNLFdBQVcsR0FBRyxhQUFhLENBQUMsQ0FBQyxTQUFTLEVBQUUsZ0JBQWdCLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQzNFLEdBQUcsQ0FBQyxDQUFDLENBQUMsR0FBRyxFQUFFLE1BQU0sQ0FBQyxFQUFFLEVBQUUsQ0FBRSxNQUFNLENBQUMsR0FBRyxDQUFjLElBQUksU0FBUyxDQUFDLEVBQzlELG9CQUFvQixFQUFFLEVBQ3RCLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FDZixDQUFDO0lBRUYsTUFBTSxpQkFBaUIsR0FBRyxhQUFhLENBQUMsSUFBSSxDQUFDLHFDQUFxQyxFQUFFLEVBQUUsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDdEcsTUFBTSxhQUFhLEdBQUcsYUFBYSxDQUFDLElBQUksQ0FBQyxxQ0FBcUMsRUFBRSxFQUFFLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ2xHLE1BQU0sTUFBTSxHQUFHLFdBQVcsQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsYUFBYSxDQUFDLEVBQUUsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFFbkYsTUFBTSxNQUFNLEdBQW1DO1FBQzdDLGdCQUFnQjtRQUVoQixTQUFTO1FBQ1QsV0FBVztRQUNYLGlCQUFpQjtRQUNqQixhQUFhO1FBQ2IsTUFBTTtRQUVOLE9BQU87WUFDTCxTQUFTLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDckIsYUFBYSxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQzNCLENBQUM7UUFFRCxXQUFXO1lBQ1QsT0FBTyxTQUFTLENBQUMsS0FBSyxDQUFDO1FBQ3pCLENBQUM7UUFFRCxXQUFXLENBQUMsUUFBdUI7WUFDakMsU0FBUyxDQUFDLElBQUksQ0FBQyxRQUFRLElBQUksZUFBZSxDQUFDLENBQUM7UUFDOUMsQ0FBQztRQUVELGVBQWUsQ0FBQyxRQUF5QztZQUN2RCxhQUFhLENBQUMsSUFBSSxDQUFDLFFBQVEsSUFBSSxZQUFZLENBQUMsQ0FBQztRQUMvQyxDQUFDO1FBRUQsYUFBYSxDQUFDLEtBQXNDO1lBQ2xELGFBQWEsQ0FBQyxDQUFDLFNBQVMsRUFBRSxzQkFBc0IsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO2lCQUN0RCxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7aUJBQ2IsU0FBUyxDQUFDLENBQUMsQ0FBQyxRQUFRLEVBQUUsS0FBSyxDQUFDLEVBQUUsRUFBRSxDQUFDLGdCQUFnQixDQUFDLFlBQVksQ0FBQyxFQUFFLENBQUMsUUFBUSxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBQzVGLENBQUM7S0FDRixDQUFDO0lBRUYsT0FBTyxNQUFNLENBQUM7QUFDaEIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHR5cGUgT2JzZXJ2YWJsZU9yVmFsdWVHZXR0ZXIsIHR5cGUgTWF5YmVPYnNlcnZhYmxlT3JWYWx1ZUdldHRlciwgc3dpdGNoTWFwVG9EZWZhdWx0LCBtYXliZVZhbHVlRnJvbU9ic2VydmFibGVPclZhbHVlR2V0dGVyLCBhc09ic2VydmFibGVGcm9tR2V0dGVyIH0gZnJvbSAnQGRlcmVla2Ivcnhqcyc7XG5pbXBvcnQgeyB0eXBlIERlc3Ryb3lhYmxlLCB0eXBlIE1heWJlIH0gZnJvbSAnQGRlcmVla2IvdXRpbCc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIGNvbWJpbmVMYXRlc3QsIGRpc3RpbmN0VW50aWxDaGFuZ2VkLCBmaXJzdCwgbWFwLCB0eXBlIE9ic2VydmFibGUsIHNoYXJlUmVwbGF5IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyB0eXBlIERieFJvdXRlclNlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlL3JvdXRlci5zZXJ2aWNlJztcblxuLyoqXG4gKiBJbnRlcmZhY2UgdXNlZCBmb3IgcmVhZGluZyBhIHNpbmdsZSB2YWx1ZSBmcm9tIHRoZSBEYnhSb3V0ZXJTZXJ2aWNlLiBTdXBwb3J0cyBhIGRlZmF1bHQgdmFsdWUuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGJ4Um91dGVQYXJhbVJlYWRlcjxUPiB7XG4gIC8qKlxuICAgKiBUaGUgcGFyYW0gdmFsdWUgYXMgcmVhZCBmcm9tIHRoZSBjdXJyZW50IHJvdXRlciBzdGF0ZS5cbiAgICovXG4gIHJlYWRvbmx5IHBhcmFtVmFsdWUkOiBPYnNlcnZhYmxlPE1heWJlPFQ+PjtcblxuICAvKipcbiAgICogVGhlIGRlZmF1bHQgdmFsdWUgb2JzZXJ2YWJsZS5cbiAgICovXG4gIHJlYWRvbmx5IGRlZmF1bHRWYWx1ZSQ6IE9ic2VydmFibGU8TWF5YmU8VD4+O1xuXG4gIC8qKlxuICAgKiBUaGUgY3VycmVudCB2YWx1ZSBnaXZlbiB0aGUgcGFyYW1WYWx1ZSBhbmQgdGhlIGRlZmF1bHRWYWx1ZS5cbiAgICovXG4gIHJlYWRvbmx5IHZhbHVlJDogT2JzZXJ2YWJsZTxNYXliZTxUPj47XG5cbiAgLyoqXG4gICAqIFJldHVybnMgdGhlIGN1cnJlbnQgcGFyYW0ga2V5LlxuICAgKi9cbiAgZ2V0UGFyYW1LZXkoKTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBTZXRzIGEgbmV3IHBhcmFtIGtleS4gSWYgdGhlIHZhbHVlIGlzIHVuZGVmaW5lZCwgdGhlIHBhcmFtIHJlYWRlciB3aWxsIHVzZSB0aGUgZGVmYXVsdCBrZXkuXG4gICAqL1xuICBzZXRQYXJhbUtleShwYXJhbUtleTogTWF5YmU8c3RyaW5nPik6IHZvaWQ7XG5cbiAgLyoqXG4gICAqIFNldHMgdGhlIGRlZmF1bHQgdmFsdWUgc291cmNlLlxuICAgKlxuICAgKiBAcGFyYW0gZGVmYXVsdFZhbHVlXG4gICAqL1xuICBzZXREZWZhdWx0VmFsdWUoZGVmYXVsdFZhbHVlOiBNYXliZU9ic2VydmFibGVPclZhbHVlR2V0dGVyPFQ+KTogdm9pZDtcblxuICAvKipcbiAgICogVXBkYXRlcyB0aGUgdmFsdWUgb24gdGhlIGN1cnJlbnQgcm91dGUgZm9yIHRoZSBwYXJhbUtleS5cbiAgICpcbiAgICogQHBhcmFtIHZhbHVlXG4gICAqL1xuICBzZXRQYXJhbVZhbHVlKHZhbHVlOiBNYXliZU9ic2VydmFibGVPclZhbHVlR2V0dGVyPFQ+KTogdm9pZDtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBEYnhSb3V0ZVBhcmFtUmVhZGVySW5zdGFuY2U8VD4gZXh0ZW5kcyBEYnhSb3V0ZVBhcmFtUmVhZGVyPFQ+LCBEZXN0cm95YWJsZSB7XG4gIHJlYWRvbmx5IGRieFJvdXRlclNlcnZpY2U6IERieFJvdXRlclNlcnZpY2U7XG4gIHJlYWRvbmx5IHBhcmFtS2V5JDogT2JzZXJ2YWJsZTxzdHJpbmc+O1xuICByZWFkb25seSBuZXh0RGVmYXVsdFZhbHVlJDogT2JzZXJ2YWJsZTxNYXliZTxUPj47XG4gIHJlYWRvbmx5IHZhbHVlJDogT2JzZXJ2YWJsZTxNYXliZTxUPj47XG59XG5cbi8qKlxuICogQ3JlYXRlcyBhIG5ldyBEYnhSb3V0ZVBhcmFtUmVhZGVySW5zdGFuY2UgZnJvbSB0aGUgaW5wdXQuXG4gKlxuICogQHBhcmFtIGRieFJvdXRlclNlcnZpY2VcbiAqIEBwYXJhbSBkZWZhdWx0UGFyYW1LZXlcbiAqIEBwYXJhbSBkZWZhdWx0VmFsdWVcbiAqIEByZXR1cm5zXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBkYnhSb3V0ZVBhcmFtUmVhZGVySW5zdGFuY2U8VD4oZGJ4Um91dGVyU2VydmljZTogRGJ4Um91dGVyU2VydmljZSwgZGVmYXVsdFBhcmFtS2V5OiBzdHJpbmcsIGRlZmF1bHRWYWx1ZT86IE1heWJlT2JzZXJ2YWJsZU9yVmFsdWVHZXR0ZXI8VD4pOiBEYnhSb3V0ZVBhcmFtUmVhZGVySW5zdGFuY2U8VD4ge1xuICBjb25zdCBfcGFyYW1LZXkgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PHN0cmluZz4oZGVmYXVsdFBhcmFtS2V5KTtcbiAgY29uc3QgX2RlZmF1bHRWYWx1ZSA9IG5ldyBCZWhhdmlvclN1YmplY3Q8TWF5YmU8T2JzZXJ2YWJsZU9yVmFsdWVHZXR0ZXI8TWF5YmU8VD4+Pj4oZGVmYXVsdFZhbHVlKTtcblxuICBjb25zdCBwYXJhbUtleSQgPSBfcGFyYW1LZXkuYXNPYnNlcnZhYmxlKCk7XG5cbiAgY29uc3QgcGFyYW1WYWx1ZSQgPSBjb21iaW5lTGF0ZXN0KFtwYXJhbUtleSQsIGRieFJvdXRlclNlcnZpY2UucGFyYW1zJF0pLnBpcGUoXG4gICAgbWFwKChba2V5LCBwYXJhbXNdKSA9PiAocGFyYW1zW2tleV0gYXMgTWF5YmU8VD4pID8/IHVuZGVmaW5lZCksXG4gICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKSxcbiAgICBzaGFyZVJlcGxheSgxKVxuICApO1xuXG4gIGNvbnN0IG5leHREZWZhdWx0VmFsdWUkID0gX2RlZmF1bHRWYWx1ZS5waXBlKG1heWJlVmFsdWVGcm9tT2JzZXJ2YWJsZU9yVmFsdWVHZXR0ZXIoKSwgc2hhcmVSZXBsYXkoMSkpO1xuICBjb25zdCBkZWZhdWx0VmFsdWUkID0gX2RlZmF1bHRWYWx1ZS5waXBlKG1heWJlVmFsdWVGcm9tT2JzZXJ2YWJsZU9yVmFsdWVHZXR0ZXIoKSwgc2hhcmVSZXBsYXkoMSkpO1xuICBjb25zdCB2YWx1ZSQgPSBwYXJhbVZhbHVlJC5waXBlKHN3aXRjaE1hcFRvRGVmYXVsdChkZWZhdWx0VmFsdWUkKSwgc2hhcmVSZXBsYXkoMSkpO1xuXG4gIGNvbnN0IHJlc3VsdDogRGJ4Um91dGVQYXJhbVJlYWRlckluc3RhbmNlPFQ+ID0ge1xuICAgIGRieFJvdXRlclNlcnZpY2UsXG5cbiAgICBwYXJhbUtleSQsXG4gICAgcGFyYW1WYWx1ZSQsXG4gICAgbmV4dERlZmF1bHRWYWx1ZSQsXG4gICAgZGVmYXVsdFZhbHVlJCxcbiAgICB2YWx1ZSQsXG5cbiAgICBkZXN0cm95KCkge1xuICAgICAgX3BhcmFtS2V5LmNvbXBsZXRlKCk7XG4gICAgICBfZGVmYXVsdFZhbHVlLmNvbXBsZXRlKCk7XG4gICAgfSxcblxuICAgIGdldFBhcmFtS2V5KCk6IHN0cmluZyB7XG4gICAgICByZXR1cm4gX3BhcmFtS2V5LnZhbHVlO1xuICAgIH0sXG5cbiAgICBzZXRQYXJhbUtleShwYXJhbUtleTogTWF5YmU8c3RyaW5nPikge1xuICAgICAgX3BhcmFtS2V5Lm5leHQocGFyYW1LZXkgfHwgZGVmYXVsdFBhcmFtS2V5KTtcbiAgICB9LFxuXG4gICAgc2V0RGVmYXVsdFZhbHVlKG5ld1ZhbHVlOiBNYXliZU9ic2VydmFibGVPclZhbHVlR2V0dGVyPFQ+KSB7XG4gICAgICBfZGVmYXVsdFZhbHVlLm5leHQobmV3VmFsdWUgPz8gZGVmYXVsdFZhbHVlKTtcbiAgICB9LFxuXG4gICAgc2V0UGFyYW1WYWx1ZSh2YWx1ZTogTWF5YmVPYnNlcnZhYmxlT3JWYWx1ZUdldHRlcjxUPikge1xuICAgICAgY29tYmluZUxhdGVzdChbcGFyYW1LZXkkLCBhc09ic2VydmFibGVGcm9tR2V0dGVyKHZhbHVlKV0pXG4gICAgICAgIC5waXBlKGZpcnN0KCkpXG4gICAgICAgIC5zdWJzY3JpYmUoKFtwYXJhbUtleSwgdmFsdWVdKSA9PiBkYnhSb3V0ZXJTZXJ2aWNlLnVwZGF0ZVBhcmFtcyh7IFtwYXJhbUtleV06IHZhbHVlIH0pKTtcbiAgICB9XG4gIH07XG5cbiAgcmV0dXJuIHJlc3VsdDtcbn1cbiJdfQ==
|
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
import { hasValueOrNotEmpty } from '@dereekb/util';
|
|
2
|
-
import { map } from 'rxjs';
|
|
3
|
-
export function isSegueRef(input) {
|
|
4
|
-
return typeof input === 'object' && hasValueOrNotEmpty(input.ref);
|
|
5
|
-
}
|
|
6
|
-
export function asSegueRef(input) {
|
|
7
|
-
const type = typeof input;
|
|
8
|
-
if (type === 'string') {
|
|
9
|
-
return refStringToSegueRef(input);
|
|
10
|
-
}
|
|
11
|
-
else if (isSegueRef(input)) {
|
|
12
|
-
return input;
|
|
13
|
-
}
|
|
14
|
-
else {
|
|
15
|
-
return undefined;
|
|
16
|
-
}
|
|
17
|
-
}
|
|
18
|
-
export function asSegueRefString(input) {
|
|
19
|
-
if (typeof input === 'string') {
|
|
20
|
-
return input;
|
|
21
|
-
}
|
|
22
|
-
else if (isSegueRef(input)) {
|
|
23
|
-
return input.ref;
|
|
24
|
-
}
|
|
25
|
-
else {
|
|
26
|
-
throw new Error(`asSegueRefString() failed to convert the input to a string: ${input}`);
|
|
27
|
-
}
|
|
28
|
-
}
|
|
29
|
-
export function refStringToSegueRef(ref, options) {
|
|
30
|
-
return { ...options, ref };
|
|
31
|
-
}
|
|
32
|
-
export function mapRefStringObsToSegueRefObs(obs, options) {
|
|
33
|
-
return obs.pipe(map((x) => refStringToSegueRef(x, options)));
|
|
34
|
-
}
|
|
35
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VndWUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9kYngtY29yZS9zcmMvbGliL3JvdXRlci9zZWd1ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQXFCLGtCQUFrQixFQUFjLE1BQU0sZUFBZSxDQUFDO0FBQ2xGLE9BQU8sRUFBRSxHQUFHLEVBQW1CLE1BQU0sTUFBTSxDQUFDO0FBcUM1QyxNQUFNLFVBQVUsVUFBVSxDQUFhLEtBQTZDO0lBQ2xGLE9BQU8sT0FBTyxLQUFLLEtBQUssUUFBUSxJQUFJLGtCQUFrQixDQUFFLEtBQWtCLENBQUMsR0FBRyxDQUFDLENBQUM7QUFDbEYsQ0FBQztBQUlELE1BQU0sVUFBVSxVQUFVLENBQWEsS0FBNkM7SUFDbEYsTUFBTSxJQUFJLEdBQUcsT0FBTyxLQUFLLENBQUM7SUFFMUIsSUFBSSxJQUFJLEtBQUssUUFBUSxFQUFFLENBQUM7UUFDdEIsT0FBTyxtQkFBbUIsQ0FBQyxLQUFlLENBQUMsQ0FBQztJQUM5QyxDQUFDO1NBQU0sSUFBSSxVQUFVLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQztRQUM3QixPQUFPLEtBQW9CLENBQUM7SUFDOUIsQ0FBQztTQUFNLENBQUM7UUFDTixPQUFPLFNBQVMsQ0FBQztJQUNuQixDQUFDO0FBQ0gsQ0FBQztBQUlELE1BQU0sVUFBVSxnQkFBZ0IsQ0FBYSxLQUFzRDtJQUNqRyxJQUFJLE9BQU8sS0FBSyxLQUFLLFFBQVEsRUFBRSxDQUFDO1FBQzlCLE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztTQUFNLElBQUksVUFBVSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUM7UUFDN0IsT0FBTyxLQUFLLENBQUMsR0FBYSxDQUFDO0lBQzdCLENBQUM7U0FBTSxDQUFDO1FBQ04sTUFBTSxJQUFJLEtBQUssQ0FBQywrREFBK0QsS0FBSyxFQUFFLENBQUMsQ0FBQztJQUMxRixDQUFDO0FBQ0gsQ0FBQztBQUVELE1BQU0sVUFBVSxtQkFBbUIsQ0FBYSxHQUFXLEVBQUUsT0FBNEI7SUFDdkYsT0FBTyxFQUFFLEdBQUcsT0FBTyxFQUFFLEdBQUcsRUFBRSxDQUFDO0FBQzdCLENBQUM7QUFFRCxNQUFNLFVBQVUsNEJBQTRCLENBQWEsR0FBdUIsRUFBRSxPQUE0QjtJQUM1RyxPQUFPLEdBQUcsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDLEVBQUUsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQy9ELENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyB0eXBlIEFycmF5T3JWYWx1ZSwgaGFzVmFsdWVPck5vdEVtcHR5LCB0eXBlIE1heWJlIH0gZnJvbSAnQGRlcmVla2IvdXRpbCc7XG5pbXBvcnQgeyBtYXAsIHR5cGUgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuXG5leHBvcnQgdHlwZSBTZWd1ZVJlZlJvdXRlckxpbmsgPSBzdHJpbmcgfCBBcnJheU9yVmFsdWU8b2JqZWN0PjtcblxuZXhwb3J0IGludGVyZmFjZSBTZWd1ZVJlZlJhd1NlZ3VlUGFyYW1zIHtcbiAgW2tleTogc3RyaW5nXTogdW5rbm93bjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBTZWd1ZVJlZk9wdGlvbnM8TyA9IG9iamVjdD4ge1xuICAvKipcbiAgICogUmF3IHBhcmFtZXRlcnNcbiAgICovXG4gIHJlZlBhcmFtcz86IFNlZ3VlUmVmUmF3U2VndWVQYXJhbXM7XG5cbiAgLyoqXG4gICAqIEN1c3RvbSBUcmFuc2l0aW9uIE9wdGlvbnMuXG4gICAqXG4gICAqIEZvciBVSVJvdXRlciwgdGhpcyBpcyBUcmFuc2l0aW9uT3B0aW9ucy5cbiAgICovXG4gIHJlZk9wdGlvbnM/OiBPO1xufVxuXG4vKipcbiAqIFJlcHJlc2VudHMgYSBzZWd1ZSByZWZcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTZWd1ZVJlZjxPID0gb2JqZWN0PiBleHRlbmRzIFNlZ3VlUmVmT3B0aW9uczxPPiB7XG4gIC8qKlxuICAgKiBSZWYgcGF0aCB2YWx1ZS5cbiAgICovXG4gIHJlZjogU2VndWVSZWZSb3V0ZXJMaW5rO1xufVxuXG4vKipcbiAqIEEgU2VndWVSZWYgb2JqZWN0IG9yIGEgZGlmZmVyZW50IHJvdXRlciBsaW5rIHJlcHJlc2VudGF0aW9uLlxuICovXG5leHBvcnQgdHlwZSBTZWd1ZVJlZk9yU2VndWVSZWZSb3V0ZXJMaW5rPE8gPSBvYmplY3Q+ID0gU2VndWVSZWY8Tz4gfCBTZWd1ZVJlZlJvdXRlckxpbms7XG5cbmV4cG9ydCBmdW5jdGlvbiBpc1NlZ3VlUmVmPE8gPSBvYmplY3Q+KGlucHV0OiBNYXliZTxTZWd1ZVJlZk9yU2VndWVSZWZSb3V0ZXJMaW5rPE8+Pik6IGlucHV0IGlzIFNlZ3VlUmVmPE8+IHtcbiAgcmV0dXJuIHR5cGVvZiBpbnB1dCA9PT0gJ29iamVjdCcgJiYgaGFzVmFsdWVPck5vdEVtcHR5KChpbnB1dCBhcyBTZWd1ZVJlZikucmVmKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGFzU2VndWVSZWY8TyA9IG9iamVjdD4oaW5wdXQ6IFNlZ3VlUmVmT3JTZWd1ZVJlZlJvdXRlckxpbms8Tz4pOiBTZWd1ZVJlZjxPPjtcbmV4cG9ydCBmdW5jdGlvbiBhc1NlZ3VlUmVmPE8gPSBvYmplY3Q+KGlucHV0OiBNYXliZTxTZWd1ZVJlZk9yU2VndWVSZWZSb3V0ZXJMaW5rPE8+Pik6IE1heWJlPFNlZ3VlUmVmPE8+PjtcbmV4cG9ydCBmdW5jdGlvbiBhc1NlZ3VlUmVmPE8gPSBvYmplY3Q+KGlucHV0OiBNYXliZTxTZWd1ZVJlZk9yU2VndWVSZWZSb3V0ZXJMaW5rPE8+Pik6IE1heWJlPFNlZ3VlUmVmPE8+PiB7XG4gIGNvbnN0IHR5cGUgPSB0eXBlb2YgaW5wdXQ7XG5cbiAgaWYgKHR5cGUgPT09ICdzdHJpbmcnKSB7XG4gICAgcmV0dXJuIHJlZlN0cmluZ1RvU2VndWVSZWYoaW5wdXQgYXMgc3RyaW5nKTtcbiAgfSBlbHNlIGlmIChpc1NlZ3VlUmVmKGlucHV0KSkge1xuICAgIHJldHVybiBpbnB1dCBhcyBTZWd1ZVJlZjxPPjtcbiAgfSBlbHNlIHtcbiAgICByZXR1cm4gdW5kZWZpbmVkO1xuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBhc1NlZ3VlUmVmU3RyaW5nPE8gPSBvYmplY3Q+KGlucHV0OiBTZWd1ZVJlZk9yU2VndWVSZWZSb3V0ZXJMaW5rPE8+IHwgc3RyaW5nKTogc3RyaW5nO1xuZXhwb3J0IGZ1bmN0aW9uIGFzU2VndWVSZWZTdHJpbmc8TyA9IG9iamVjdD4oaW5wdXQ6IE1heWJlPFNlZ3VlUmVmT3JTZWd1ZVJlZlJvdXRlckxpbms8Tz4gfCBzdHJpbmc+KTogTWF5YmU8c3RyaW5nPjtcbmV4cG9ydCBmdW5jdGlvbiBhc1NlZ3VlUmVmU3RyaW5nPE8gPSBvYmplY3Q+KGlucHV0OiBNYXliZTxTZWd1ZVJlZk9yU2VndWVSZWZSb3V0ZXJMaW5rPE8+IHwgc3RyaW5nPik6IE1heWJlPHN0cmluZz4ge1xuICBpZiAodHlwZW9mIGlucHV0ID09PSAnc3RyaW5nJykge1xuICAgIHJldHVybiBpbnB1dDtcbiAgfSBlbHNlIGlmIChpc1NlZ3VlUmVmKGlucHV0KSkge1xuICAgIHJldHVybiBpbnB1dC5yZWYgYXMgc3RyaW5nO1xuICB9IGVsc2Uge1xuICAgIHRocm93IG5ldyBFcnJvcihgYXNTZWd1ZVJlZlN0cmluZygpIGZhaWxlZCB0byBjb252ZXJ0IHRoZSBpbnB1dCB0byBhIHN0cmluZzogJHtpbnB1dH1gKTtcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gcmVmU3RyaW5nVG9TZWd1ZVJlZjxPID0gb2JqZWN0PihyZWY6IHN0cmluZywgb3B0aW9ucz86IFNlZ3VlUmVmT3B0aW9uczxPPik6IFNlZ3VlUmVmPE8+IHtcbiAgcmV0dXJuIHsgLi4ub3B0aW9ucywgcmVmIH07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBtYXBSZWZTdHJpbmdPYnNUb1NlZ3VlUmVmT2JzPE8gPSBvYmplY3Q+KG9iczogT2JzZXJ2YWJsZTxzdHJpbmc+LCBvcHRpb25zPzogU2VndWVSZWZPcHRpb25zPE8+KTogT2JzZXJ2YWJsZTxTZWd1ZVJlZjxPPj4ge1xuICByZXR1cm4gb2JzLnBpcGUobWFwKCh4KSA9PiByZWZTdHJpbmdUb1NlZ3VlUmVmKHgsIG9wdGlvbnMpKSk7XG59XG4iXX0=
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
export * from './storage.accessor.simple.factory';
|
|
2
|
-
export * from './storage.accessor.simple';
|
|
3
|
-
export * from './storage.accessor.string';
|
|
4
|
-
export * from './storage.accessor';
|
|
5
|
-
export * from './storage.di';
|
|
6
|
-
export * from './storage.object.localstorage';
|
|
7
|
-
export * from './storage.object.memory';
|
|
8
|
-
export * from './storage.providers';
|
|
9
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9kYngtY29yZS9zcmMvbGliL3N0b3JhZ2UvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxtQ0FBbUMsQ0FBQztBQUNsRCxjQUFjLDJCQUEyQixDQUFDO0FBQzFDLGNBQWMsMkJBQTJCLENBQUM7QUFDMUMsY0FBYyxvQkFBb0IsQ0FBQztBQUNuQyxjQUFjLGNBQWMsQ0FBQztBQUM3QixjQUFjLCtCQUErQixDQUFDO0FBQzlDLGNBQWMseUJBQXlCLENBQUM7QUFDeEMsY0FBYyxxQkFBcUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vc3RvcmFnZS5hY2Nlc3Nvci5zaW1wbGUuZmFjdG9yeSc7XG5leHBvcnQgKiBmcm9tICcuL3N0b3JhZ2UuYWNjZXNzb3Iuc2ltcGxlJztcbmV4cG9ydCAqIGZyb20gJy4vc3RvcmFnZS5hY2Nlc3Nvci5zdHJpbmcnO1xuZXhwb3J0ICogZnJvbSAnLi9zdG9yYWdlLmFjY2Vzc29yJztcbmV4cG9ydCAqIGZyb20gJy4vc3RvcmFnZS5kaSc7XG5leHBvcnQgKiBmcm9tICcuL3N0b3JhZ2Uub2JqZWN0LmxvY2Fsc3RvcmFnZSc7XG5leHBvcnQgKiBmcm9tICcuL3N0b3JhZ2Uub2JqZWN0Lm1lbW9yeSc7XG5leHBvcnQgKiBmcm9tICcuL3N0b3JhZ2UucHJvdmlkZXJzJztcbiJdfQ==
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Stored object accessor that can get/set/remove via a key, or be cleared entirely.
|
|
3
|
-
*/
|
|
4
|
-
export class LimitedStorageAccessor {
|
|
5
|
-
}
|
|
6
|
-
/**
|
|
7
|
-
* LimitedStorageAccessor extension that has knowledge of all stored keys.
|
|
8
|
-
*/
|
|
9
|
-
export class StorageAccessor extends LimitedStorageAccessor {
|
|
10
|
-
}
|
|
11
|
-
/**
|
|
12
|
-
* StorageAccessor-like object that has immediate/synchronous functionality for get/set.
|
|
13
|
-
*/
|
|
14
|
-
export class InstantStorageAccessor {
|
|
15
|
-
}
|
|
16
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RvcmFnZS5hY2Nlc3Nvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2RieC1jb3JlL3NyYy9saWIvc3RvcmFnZS9zdG9yYWdlLmFjY2Vzc29yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUdBOztHQUVHO0FBQ0gsTUFBTSxPQUFnQixzQkFBc0I7Q0FXM0M7QUFFRDs7R0FFRztBQUNILE1BQU0sT0FBZ0IsZUFBbUIsU0FBUSxzQkFBeUI7Q0FVekU7QUFFRDs7R0FFRztBQUNILE1BQU0sT0FBZ0Isc0JBQXNCO0NBTTNDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgdHlwZSBNYXliZSB9IGZyb20gJ0BkZXJlZWtiL3V0aWwnO1xuaW1wb3J0IHsgdHlwZSBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5cbi8qKlxuICogU3RvcmVkIG9iamVjdCBhY2Nlc3NvciB0aGF0IGNhbiBnZXQvc2V0L3JlbW92ZSB2aWEgYSBrZXksIG9yIGJlIGNsZWFyZWQgZW50aXJlbHkuXG4gKi9cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBMaW1pdGVkU3RvcmFnZUFjY2Vzc29yPFQ+IHtcbiAgLyoqXG4gICAqIEF0dGVtcHRzIHRvIGdldCB0aGUgdmFsdWUuIFRocm93cyBhIERhdGFEb2VzTm90RXhpc3RFcnJvciBpZiBub3QgYXZhaWxhYmxlLlxuICAgKi9cbiAgYWJzdHJhY3QgZ2V0KGtleTogc3RyaW5nKTogT2JzZXJ2YWJsZTxNYXliZTxUPj47XG5cbiAgYWJzdHJhY3Qgc2V0KGtleTogc3RyaW5nLCB2YWx1ZTogTWF5YmU8VD4pOiBPYnNlcnZhYmxlPHZvaWQ+O1xuXG4gIGFic3RyYWN0IHJlbW92ZShrZXk6IHN0cmluZyk6IE9ic2VydmFibGU8dm9pZD47XG5cbiAgYWJzdHJhY3QgY2xlYXIoKTogT2JzZXJ2YWJsZTxvYmplY3Q+O1xufVxuXG4vKipcbiAqIExpbWl0ZWRTdG9yYWdlQWNjZXNzb3IgZXh0ZW5zaW9uIHRoYXQgaGFzIGtub3dsZWRnZSBvZiBhbGwgc3RvcmVkIGtleXMuXG4gKi9cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBTdG9yYWdlQWNjZXNzb3I8VD4gZXh0ZW5kcyBMaW1pdGVkU3RvcmFnZUFjY2Vzc29yPFQ+IHtcbiAgLyoqXG4gICAqIFJldHVybnMgYWxsIHZhbHVlcy4gRmlsdGVyZWQgYnkga2V5cyBvZiBhIGdpdmVuIHByZWZpeC5cbiAgICovXG4gIGFic3RyYWN0IGFsbChwcmVmaXg/OiBzdHJpbmcpOiBPYnNlcnZhYmxlPFRbXT47XG5cbiAgLyoqXG4gICAqIFJldHVybnMgYWxsIGtleXMuIEZpbHRlcmVkIGJ5IGtleXMgb2YgYSBnaXZlbiBwcmVmaXguXG4gICAqL1xuICBhYnN0cmFjdCBhbGxLZXlzKHByZWZpeD86IHN0cmluZyk6IE9ic2VydmFibGU8c3RyaW5nW10+O1xufVxuXG4vKipcbiAqIFN0b3JhZ2VBY2Nlc3Nvci1saWtlIG9iamVjdCB0aGF0IGhhcyBpbW1lZGlhdGUvc3luY2hyb25vdXMgZnVuY3Rpb25hbGl0eSBmb3IgZ2V0L3NldC5cbiAqL1xuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEluc3RhbnRTdG9yYWdlQWNjZXNzb3I8VD4ge1xuICBhYnN0cmFjdCBnZXROb3coa2V5OiBzdHJpbmcpOiBUIHwgdW5kZWZpbmVkO1xuXG4gIGFic3RyYWN0IHNldE5vdyhrZXk6IHN0cmluZywgdmFsdWU6IFQpOiB2b2lkO1xuXG4gIGFic3RyYWN0IHJlbW92ZU5vdyhrZXk6IHN0cmluZyk6IHZvaWQ7XG59XG4iXX0=
|
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
import { Injectable, inject } from '@angular/core';
|
|
2
|
-
import { SimpleStorageAccessor, StringifySimpleStorageAccessorConverter, WrapperSimpleStorageAccessorDelegate } from './storage.accessor.simple';
|
|
3
|
-
import { StringStorageAccessor } from './storage.accessor.string';
|
|
4
|
-
import { DEFAULT_STORAGE_OBJECT_TOKEN } from './storage.di';
|
|
5
|
-
import * as i0 from "@angular/core";
|
|
6
|
-
/**
|
|
7
|
-
* Used for building SimpleStorageAccessor instances from SimpleStorageAccessorConfig.
|
|
8
|
-
*/
|
|
9
|
-
export class SimpleStorageAccessorFactory {
|
|
10
|
-
storageObject = inject(DEFAULT_STORAGE_OBJECT_TOKEN);
|
|
11
|
-
createStorageAccessor(config) {
|
|
12
|
-
const storage = config.storage ?? new StringStorageAccessor(this.storageObject);
|
|
13
|
-
const converter = config.converter ?? new StringifySimpleStorageAccessorConverter();
|
|
14
|
-
const delegate = new WrapperSimpleStorageAccessorDelegate(storage, converter);
|
|
15
|
-
const accessorConfig = {
|
|
16
|
-
prefix: config.prefix
|
|
17
|
-
};
|
|
18
|
-
return new SimpleStorageAccessor(delegate, accessorConfig);
|
|
19
|
-
}
|
|
20
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SimpleStorageAccessorFactory, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
21
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SimpleStorageAccessorFactory });
|
|
22
|
-
}
|
|
23
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SimpleStorageAccessorFactory, decorators: [{
|
|
24
|
-
type: Injectable
|
|
25
|
-
}] });
|
|
26
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RvcmFnZS5hY2Nlc3Nvci5zaW1wbGUuZmFjdG9yeS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2RieC1jb3JlL3NyYy9saWIvc3RvcmFnZS9zdG9yYWdlLmFjY2Vzc29yLnNpbXBsZS5mYWN0b3J5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRW5ELE9BQU8sRUFBK0IscUJBQXFCLEVBQWtDLHVDQUF1QyxFQUFFLG9DQUFvQyxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDOU0sT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDbEUsT0FBTyxFQUFFLDRCQUE0QixFQUFFLE1BQU0sY0FBYyxDQUFDOztBQVE1RDs7R0FFRztBQUVILE1BQU0sT0FBTyw0QkFBNEI7SUFDOUIsYUFBYSxHQUFHLE1BQU0sQ0FBb0IsNEJBQTRCLENBQUMsQ0FBQztJQUVqRixxQkFBcUIsQ0FBSSxNQUF1QztRQUM5RCxNQUFNLE9BQU8sR0FBRyxNQUFNLENBQUMsT0FBTyxJQUFJLElBQUkscUJBQXFCLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQ2hGLE1BQU0sU0FBUyxHQUFHLE1BQU0sQ0FBQyxTQUFTLElBQUksSUFBSSx1Q0FBdUMsRUFBSyxDQUFDO1FBQ3ZGLE1BQU0sUUFBUSxHQUFHLElBQUksb0NBQW9DLENBQUksT0FBTyxFQUFFLFNBQVMsQ0FBQyxDQUFDO1FBRWpGLE1BQU0sY0FBYyxHQUFHO1lBQ3JCLE1BQU0sRUFBRSxNQUFNLENBQUMsTUFBTTtTQUN0QixDQUFDO1FBRUYsT0FBTyxJQUFJLHFCQUFxQixDQUFJLFFBQVEsRUFBRSxjQUFjLENBQUMsQ0FBQztJQUNoRSxDQUFDO3dHQWJVLDRCQUE0Qjs0R0FBNUIsNEJBQTRCOzs0RkFBNUIsNEJBQTRCO2tCQUR4QyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSwgaW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTdG9yYWdlQWNjZXNzb3IgfSBmcm9tICcuL3N0b3JhZ2UuYWNjZXNzb3InO1xuaW1wb3J0IHsgU2ltcGxlU3RvcmFnZUFjY2Vzc29yQ29uZmlnLCBTaW1wbGVTdG9yYWdlQWNjZXNzb3IsIFNpbXBsZVN0b3JhZ2VBY2Nlc3NvckNvbnZlcnRlciwgU3RyaW5naWZ5U2ltcGxlU3RvcmFnZUFjY2Vzc29yQ29udmVydGVyLCBXcmFwcGVyU2ltcGxlU3RvcmFnZUFjY2Vzc29yRGVsZWdhdGUgfSBmcm9tICcuL3N0b3JhZ2UuYWNjZXNzb3Iuc2ltcGxlJztcbmltcG9ydCB7IFN0cmluZ1N0b3JhZ2VBY2Nlc3NvciB9IGZyb20gJy4vc3RvcmFnZS5hY2Nlc3Nvci5zdHJpbmcnO1xuaW1wb3J0IHsgREVGQVVMVF9TVE9SQUdFX09CSkVDVF9UT0tFTiB9IGZyb20gJy4vc3RvcmFnZS5kaSc7XG5pbXBvcnQgeyBGdWxsU3RvcmFnZU9iamVjdCwgU3RvcmVkRGF0YVN0cmluZyB9IGZyb20gJ0BkZXJlZWtiL3V0aWwnO1xuXG5leHBvcnQgaW50ZXJmYWNlIFN0b3JhZ2VBY2Nlc3NvckZhY3RvcnlDb25maWc8VD4gZXh0ZW5kcyBTaW1wbGVTdG9yYWdlQWNjZXNzb3JDb25maWcge1xuICBzdG9yYWdlPzogU3RvcmFnZUFjY2Vzc29yPFN0b3JlZERhdGFTdHJpbmc+O1xuICBjb252ZXJ0ZXI/OiBTaW1wbGVTdG9yYWdlQWNjZXNzb3JDb252ZXJ0ZXI8VD47XG59XG5cbi8qKlxuICogVXNlZCBmb3IgYnVpbGRpbmcgU2ltcGxlU3RvcmFnZUFjY2Vzc29yIGluc3RhbmNlcyBmcm9tIFNpbXBsZVN0b3JhZ2VBY2Nlc3NvckNvbmZpZy5cbiAqL1xuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIFNpbXBsZVN0b3JhZ2VBY2Nlc3NvckZhY3Rvcnkge1xuICByZWFkb25seSBzdG9yYWdlT2JqZWN0ID0gaW5qZWN0PEZ1bGxTdG9yYWdlT2JqZWN0PihERUZBVUxUX1NUT1JBR0VfT0JKRUNUX1RPS0VOKTtcblxuICBjcmVhdGVTdG9yYWdlQWNjZXNzb3I8VD4oY29uZmlnOiBTdG9yYWdlQWNjZXNzb3JGYWN0b3J5Q29uZmlnPFQ+KTogU2ltcGxlU3RvcmFnZUFjY2Vzc29yPFQ+IHtcbiAgICBjb25zdCBzdG9yYWdlID0gY29uZmlnLnN0b3JhZ2UgPz8gbmV3IFN0cmluZ1N0b3JhZ2VBY2Nlc3Nvcih0aGlzLnN0b3JhZ2VPYmplY3QpO1xuICAgIGNvbnN0IGNvbnZlcnRlciA9IGNvbmZpZy5jb252ZXJ0ZXIgPz8gbmV3IFN0cmluZ2lmeVNpbXBsZVN0b3JhZ2VBY2Nlc3NvckNvbnZlcnRlcjxUPigpO1xuICAgIGNvbnN0IGRlbGVnYXRlID0gbmV3IFdyYXBwZXJTaW1wbGVTdG9yYWdlQWNjZXNzb3JEZWxlZ2F0ZTxUPihzdG9yYWdlLCBjb252ZXJ0ZXIpO1xuXG4gICAgY29uc3QgYWNjZXNzb3JDb25maWcgPSB7XG4gICAgICBwcmVmaXg6IGNvbmZpZy5wcmVmaXhcbiAgICB9O1xuXG4gICAgcmV0dXJuIG5ldyBTaW1wbGVTdG9yYWdlQWNjZXNzb3I8VD4oZGVsZWdhdGUsIGFjY2Vzc29yQ29uZmlnKTtcbiAgfVxufVxuIl19
|
|
@@ -1,172 +0,0 @@
|
|
|
1
|
-
import { map } from 'rxjs';
|
|
2
|
-
import { isThrottled, unixDateTimeSecondsNumberForNow, DataDoesNotExistError, DataIsExpiredError, hasNonNullValue, splitJoinRemainder } from '@dereekb/util';
|
|
3
|
-
export class StringifySimpleStorageAccessorConverter {
|
|
4
|
-
stringifyValue(value) {
|
|
5
|
-
return JSON.stringify(value);
|
|
6
|
-
}
|
|
7
|
-
parseValue(data) {
|
|
8
|
-
return JSON.parse(data);
|
|
9
|
-
}
|
|
10
|
-
}
|
|
11
|
-
export class WrapperSimpleStorageAccessorDelegate {
|
|
12
|
-
_delegate;
|
|
13
|
-
_converter;
|
|
14
|
-
constructor(delegate, converter) {
|
|
15
|
-
this._delegate = delegate;
|
|
16
|
-
this._converter = converter;
|
|
17
|
-
}
|
|
18
|
-
get(key) {
|
|
19
|
-
return this._delegate.get(key);
|
|
20
|
-
}
|
|
21
|
-
set(key, value) {
|
|
22
|
-
return this._delegate.set(key, value);
|
|
23
|
-
}
|
|
24
|
-
remove(key) {
|
|
25
|
-
return this._delegate.remove(key);
|
|
26
|
-
}
|
|
27
|
-
clear() {
|
|
28
|
-
return this._delegate.clear();
|
|
29
|
-
}
|
|
30
|
-
all(prefix) {
|
|
31
|
-
return this._delegate.all(prefix);
|
|
32
|
-
}
|
|
33
|
-
allKeys(prefix) {
|
|
34
|
-
return this._delegate.allKeys(prefix);
|
|
35
|
-
}
|
|
36
|
-
stringifyValue(value) {
|
|
37
|
-
return this._converter.stringifyValue(value);
|
|
38
|
-
}
|
|
39
|
-
parseValue(data) {
|
|
40
|
-
return this._converter.parseValue(data);
|
|
41
|
-
}
|
|
42
|
-
}
|
|
43
|
-
export function assertValidStorageKeyPrefix(prefix, prefixSplitter) {
|
|
44
|
-
if (!prefixSplitter) {
|
|
45
|
-
throw new Error('Invalid storage key prefix splitter. Must be defined and not empty.'); // TODO(FUTURE): Consider changing to a concrete error type
|
|
46
|
-
}
|
|
47
|
-
if (!isValidStorageKeyPrefix(prefix, prefixSplitter)) {
|
|
48
|
-
throw new Error('Invalid storage key prefix.');
|
|
49
|
-
}
|
|
50
|
-
}
|
|
51
|
-
export function isValidStorageKeyPrefix(prefix, prefixSpltter) {
|
|
52
|
-
return Boolean(prefix && prefix.indexOf(prefixSpltter) === -1);
|
|
53
|
-
}
|
|
54
|
-
/**
|
|
55
|
-
* LimitedStorageAccessor implementation that uses a Delegate
|
|
56
|
-
*/
|
|
57
|
-
export class SimpleStorageAccessor {
|
|
58
|
-
static PREFIX_SPLITTER = '::';
|
|
59
|
-
_delegate;
|
|
60
|
-
_config;
|
|
61
|
-
constructor(delegate, config) {
|
|
62
|
-
const prefix = config.prefix;
|
|
63
|
-
const prefixSplitter = config.prefixSplitter ?? SimpleStorageAccessor.PREFIX_SPLITTER;
|
|
64
|
-
assertValidStorageKeyPrefix(prefix, prefixSplitter);
|
|
65
|
-
const fullPrefix = `${prefix}${prefixSplitter}`;
|
|
66
|
-
this._delegate = delegate;
|
|
67
|
-
this._config = {
|
|
68
|
-
...config,
|
|
69
|
-
prefixSplitter,
|
|
70
|
-
fullPrefix
|
|
71
|
-
};
|
|
72
|
-
}
|
|
73
|
-
get delegate() {
|
|
74
|
-
return this._delegate;
|
|
75
|
-
}
|
|
76
|
-
get config() {
|
|
77
|
-
return this._config;
|
|
78
|
-
}
|
|
79
|
-
// MARK: LimitedStorageAccessor
|
|
80
|
-
get(inputKey) {
|
|
81
|
-
const storeKey = this.makeStorageKey(inputKey);
|
|
82
|
-
return this._delegate.get(storeKey).pipe(map((storedData) => {
|
|
83
|
-
if (storedData) {
|
|
84
|
-
const readStoredData = this.readStoredData(storedData);
|
|
85
|
-
if (!readStoredData.expired) {
|
|
86
|
-
return readStoredData.convertedData;
|
|
87
|
-
}
|
|
88
|
-
else {
|
|
89
|
-
throw new DataIsExpiredError(readStoredData);
|
|
90
|
-
}
|
|
91
|
-
}
|
|
92
|
-
else {
|
|
93
|
-
throw new DataDoesNotExistError();
|
|
94
|
-
}
|
|
95
|
-
}));
|
|
96
|
-
}
|
|
97
|
-
set(inputKey, inputValue) {
|
|
98
|
-
const storeKey = this.makeStorageKey(inputKey);
|
|
99
|
-
const storeData = this.buildStoredData(inputValue);
|
|
100
|
-
const data = JSON.stringify(storeData);
|
|
101
|
-
return this._delegate.set(storeKey, data);
|
|
102
|
-
}
|
|
103
|
-
remove(key) {
|
|
104
|
-
const storeKey = this.makeStorageKey(key);
|
|
105
|
-
return this._delegate.remove(storeKey);
|
|
106
|
-
}
|
|
107
|
-
all() {
|
|
108
|
-
return this._delegate.all(this._config.fullPrefix).pipe(map((allStoredData) => {
|
|
109
|
-
return allStoredData
|
|
110
|
-
.map((storedData) => {
|
|
111
|
-
const readStoredData = this.readStoredData(storedData);
|
|
112
|
-
if (!readStoredData.expired) {
|
|
113
|
-
return readStoredData.convertedData;
|
|
114
|
-
}
|
|
115
|
-
else {
|
|
116
|
-
return null;
|
|
117
|
-
}
|
|
118
|
-
})
|
|
119
|
-
.filter(hasNonNullValue);
|
|
120
|
-
}));
|
|
121
|
-
}
|
|
122
|
-
allKeys() {
|
|
123
|
-
return this._delegate.allKeys(this._config.fullPrefix).pipe(map((keys) => keys.map((x) => this.decodeStorageKey(x))));
|
|
124
|
-
}
|
|
125
|
-
clear() {
|
|
126
|
-
return this._delegate.clear();
|
|
127
|
-
}
|
|
128
|
-
// MARK: Stored Values
|
|
129
|
-
readStoredData(storedDataString) {
|
|
130
|
-
const storedData = JSON.parse(storedDataString);
|
|
131
|
-
const expired = this.isExpiredStoredData(storedData);
|
|
132
|
-
const convertedData = this._delegate.parseValue(storedData.data);
|
|
133
|
-
return {
|
|
134
|
-
...storedData,
|
|
135
|
-
expired,
|
|
136
|
-
convertedData
|
|
137
|
-
};
|
|
138
|
-
}
|
|
139
|
-
buildStoredData(value) {
|
|
140
|
-
return {
|
|
141
|
-
storedAt: unixDateTimeSecondsNumberForNow(),
|
|
142
|
-
data: this.stringifyValue(value)
|
|
143
|
-
};
|
|
144
|
-
}
|
|
145
|
-
isExpiredStoredData(storeData) {
|
|
146
|
-
const expiresIn = this._config.expiresIn;
|
|
147
|
-
if (expiresIn) {
|
|
148
|
-
if (storeData.storedAt) {
|
|
149
|
-
return isThrottled(expiresIn, storeData.storedAt);
|
|
150
|
-
}
|
|
151
|
-
return true;
|
|
152
|
-
}
|
|
153
|
-
else {
|
|
154
|
-
return false;
|
|
155
|
-
}
|
|
156
|
-
}
|
|
157
|
-
// MARK: Internal
|
|
158
|
-
makeStorageKey(key) {
|
|
159
|
-
return `${this._config.prefix}${this._config.prefixSplitter}${String(key)}`;
|
|
160
|
-
}
|
|
161
|
-
isKeyOfAccessor(storageKey) {
|
|
162
|
-
return storageKey.startsWith(this._config.fullPrefix);
|
|
163
|
-
}
|
|
164
|
-
decodeStorageKey(storageKey) {
|
|
165
|
-
const split = splitJoinRemainder(storageKey, this._config.prefixSplitter, 2);
|
|
166
|
-
return split[1];
|
|
167
|
-
}
|
|
168
|
-
stringifyValue(value) {
|
|
169
|
-
return this._delegate.stringifyValue(value);
|
|
170
|
-
}
|
|
171
|
-
}
|
|
172
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RvcmFnZS5hY2Nlc3Nvci5zaW1wbGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9kYngtY29yZS9zcmMvbGliL3N0b3JhZ2Uvc3RvcmFnZS5hY2Nlc3Nvci5zaW1wbGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFtQixHQUFHLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDNUMsT0FBTyxFQUFFLFdBQVcsRUFBRSwrQkFBK0IsRUFBRSxxQkFBcUIsRUFBRSxrQkFBa0IsRUFBc0csZUFBZSxFQUFFLGtCQUFrQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBb0JqUSxNQUFNLE9BQU8sdUNBQXVDO0lBQ2xELGNBQWMsQ0FBQyxLQUFRO1FBQ3JCLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUMvQixDQUFDO0lBRUQsVUFBVSxDQUFDLElBQXNCO1FBQy9CLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUMxQixDQUFDO0NBQ0Y7QUFFRCxNQUFNLE9BQU8sb0NBQW9DO0lBQzlCLFNBQVMsQ0FBb0M7SUFDN0MsVUFBVSxDQUFvQztJQUUvRCxZQUFZLFFBQTJDLEVBQUUsU0FBNEM7UUFDbkcsSUFBSSxDQUFDLFNBQVMsR0FBRyxRQUFRLENBQUM7UUFDMUIsSUFBSSxDQUFDLFVBQVUsR0FBRyxTQUFTLENBQUM7SUFDOUIsQ0FBQztJQUVELEdBQUcsQ0FBQyxHQUFXO1FBQ2IsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUNqQyxDQUFDO0lBRUQsR0FBRyxDQUFDLEdBQVcsRUFBRSxLQUF1QjtRQUN0QyxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxLQUFLLENBQUMsQ0FBQztJQUN4QyxDQUFDO0lBRUQsTUFBTSxDQUFDLEdBQVc7UUFDaEIsT0FBTyxJ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QU8sQ0FBQyxTQUFTLENBQUM7UUFDekMsSUFBSSxTQUFTLEVBQUUsQ0FBQztZQUNkLElBQUksU0FBUyxDQUFDLFFBQVEsRUFBRSxDQUFDO2dCQUN2QixPQUFPLFdBQVcsQ0FBQyxTQUFTLEVBQUUsU0FBUyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1lBQ3BELENBQUM7WUFFRCxPQUFPLElBQUksQ0FBQztRQUNkLENBQUM7YUFBTSxDQUFDO1lBQ04sT0FBTyxLQUFLLENBQUM7UUFDZixDQUFDO0lBQ0gsQ0FBQztJQUVELGlCQUFpQjtJQUNQLGNBQWMsQ0FBQyxHQUFXO1FBQ2xDLE9BQU8sR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLGNBQWMsR0FBRyxNQUFNLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQztJQUM5RSxDQUFDO0lBRVMsZUFBZSxDQUFDLFVBQWdDO1FBQ3hELE9BQU8sVUFBVSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQ3hELENBQUM7SUFFUyxnQkFBZ0IsQ0FBQyxVQUFnQztRQUN6RCxNQUFNLEtBQUssR0FBRyxrQkFBa0IsQ0FBQyxVQUFVLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxjQUFjLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDN0UsT0FBTyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDbEIsQ0FBQztJQUVTLGNBQWMsQ0FBQyxLQUFRO1FBQy9CLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxjQUFjLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDOUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHR5cGUgT2JzZXJ2YWJsZSwgbWFwIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBpc1Rocm90dGxlZCwgdW5peERhdGVUaW1lU2Vjb25kc051bWJlckZvck5vdywgRGF0YURvZXNOb3RFeGlzdEVycm9yLCBEYXRhSXNFeHBpcmVkRXJyb3IsIHR5cGUgUmVhZFN0b3JlZERhdGEsIHR5cGUgU3RvcmVkRGF0YSwgdHlwZSBTdG9yZWREYXRhU3RvcmFnZUtleSwgdHlwZSBTdG9yZWREYXRhU3RyaW5nLCB0eXBlIE1heWJlLCBoYXNOb25OdWxsVmFsdWUsIHNwbGl0Sm9pblJlbWFpbmRlciB9IGZyb20gJ0BkZXJlZWtiL3V0aWwnO1xuaW1wb3J0IHsgdHlwZSBTdG9yYWdlQWNjZXNzb3IgfSBmcm9tICcuL3N0b3JhZ2UuYWNjZXNzb3InO1xuXG4vLyBNQVJLOiBTaW1wbGVTdG9yYWdlQWNjZXNzb3JcbmV4cG9ydCBpbnRlcmZhY2UgU2ltcGxlU3RvcmFnZUFjY2Vzc29yQ29udmVydGVyPFQ+IHtcbiAgLyoqXG4gICAqIENvbnZlcnRzIHRoZSBpbnB1dCB2YWx1ZSB0byBhIHN0cmluZy5cbiAgICovXG4gIHN0cmluZ2lmeVZhbHVlKHZhbHVlOiBUKTogU3RvcmVkRGF0YVN0cmluZztcbiAgLyoqXG4gICAqIENvbnZlcnRzIHRoZSBkYXRhIHN0cmluZyBpbnRvIGEgdmFsdWUuXG4gICAqL1xuICBwYXJzZVZhbHVlKGRhdGE6IFN0b3JlZERhdGFTdHJpbmcpOiBUO1xufVxuXG4vKipcbiAqIFNpbXBsZVN0b3JhZ2VBY2Nlc3NvciBkZWxlZ2F0ZS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTaW1wbGVTdG9yYWdlQWNjZXNzb3JEZWxlZ2F0ZTxUPiBleHRlbmRzIFNpbXBsZVN0b3JhZ2VBY2Nlc3NvckNvbnZlcnRlcjxUPiwgU3RvcmFnZUFjY2Vzc29yPFN0b3JlZERhdGFTdHJpbmc+IHt9XG5cbmV4cG9ydCBjbGFzcyBTdHJpbmdpZnlTaW1wbGVTdG9yYWdlQWNjZXNzb3JDb252ZXJ0ZXI8VD4gaW1wbGVtZW50cyBTaW1wbGVTdG9yYWdlQWNjZXNzb3JDb252ZXJ0ZXI8VD4ge1xuICBzdHJpbmdpZnlWYWx1ZSh2YWx1ZTogVCk6IFN0b3JlZERhdGFTdHJpbmcge1xuICAgIHJldHVybiBKU09OLnN0cmluZ2lmeSh2YWx1ZSk7XG4gIH1cblxuICBwYXJzZVZhbHVlKGRhdGE6IFN0b3JlZERhdGFTdHJpbmcpOiBUIHtcbiAgICByZXR1cm4gSlNPTi5wYXJzZShkYXRhKTtcbiAgfVxufVxuXG5leHBvcnQgY2xhc3MgV3JhcHBlclNpbXBsZVN0b3JhZ2VBY2Nlc3NvckRlbGVnYXRlPFQ+IGltcGxlbWVudHMgU2ltcGxlU3RvcmFnZUFjY2Vzc29yRGVsZWdhdGU8VD4ge1xuICBwcml2YXRlIHJlYWRvbmx5IF9kZWxlZ2F0ZTogU3RvcmFnZUFjY2Vzc29yPFN0b3JlZERhdGFTdHJpbmc+O1xuICBwcml2YXRlIHJlYWRvbmx5IF9jb252ZXJ0ZXI6IFNpbXBsZVN0b3JhZ2VBY2Nlc3NvckNvbnZlcnRlcjxUPjtcblxuICBjb25zdHJ1Y3RvcihkZWxlZ2F0ZTogU3RvcmFnZUFjY2Vzc29yPFN0b3JlZERhdGFTdHJpbmc+LCBjb252ZXJ0ZXI6IFNpbXBsZVN0b3JhZ2VBY2Nlc3NvckNvbnZlcnRlcjxUPikge1xuICAgIHRoaXMuX2RlbGVnYXRlID0gZGVsZWdhdGU7XG4gICAgdGhpcy5fY29udmVydGVyID0gY29udmVydGVyO1xuICB9XG5cbiAgZ2V0KGtleTogc3RyaW5nKTogT2JzZXJ2YWJsZTxNYXliZTxTdG9yZWREYXRhU3RyaW5nPj4ge1xuICAgIHJldHVybiB0aGlzLl9kZWxlZ2F0ZS5nZXQoa2V5KTtcbiAgfVxuXG4gIHNldChrZXk6IHN0cmluZywgdmFsdWU6IFN0b3JlZERhdGFTdHJpbmcpOiBPYnNlcnZhYmxlPHZvaWQ+IHtcbiAgICByZXR1cm4gdGhpcy5fZGVsZWdhdGUuc2V0KGtleSwgdmFsdWUpO1xuICB9XG5cbiAgcmVtb3ZlKGtleTogc3RyaW5nKTogT2JzZXJ2YWJsZTx2b2lkPiB7XG4gICAgcmV0dXJuIHRoaXMuX2RlbGVnYXRlLnJlbW92ZShrZXkpO1xuICB9XG5cbiAgY2xlYXIoKTogT2JzZXJ2YWJsZTxvYmplY3Q+IHtcbiAgICByZXR1cm4gdGhpcy5fZGVsZWdhdGUuY2xlYXIoKTtcbiAgfVxuXG4gIGFsbChwcmVmaXg/OiBzdHJpbmcpOiBPYnNlcnZhYmxlPHN0cmluZ1tdPiB7XG4gICAgcmV0dXJuIHRoaXMuX2RlbGVnYXRlLmFsbChwcmVmaXgpO1xuICB9XG5cbiAgYWxsS2V5cyhwcmVmaXg/OiBzdHJpbmcpOiBPYnNlcnZhYmxlPHN0cmluZ1tdPiB7XG4gICAgcmV0dXJuIHRoaXMuX2RlbGVnYXRlLmFsbEtleXMocHJlZml4KTtcbiAgfVxuXG4gIHN0cmluZ2lmeVZhbHVlKHZhbHVlOiBUKTogU3RvcmVkRGF0YVN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuX2NvbnZlcnRlci5zdHJpbmdpZnlWYWx1ZSh2YWx1ZSk7XG4gIH1cblxuICBwYXJzZVZhbHVlKGRhdGE6IFN0b3JlZERhdGFTdHJpbmcpOiBUIHtcbiAgICByZXR1cm4gdGhpcy5fY29udmVydGVyLnBhcnNlVmFsdWUoZGF0YSk7XG4gIH1cbn1cblxuZXhwb3J0IGludGVyZmFjZSBTaW1wbGVTdG9yYWdlQWNjZXNzb3JDb25maWcge1xuICAvKipcbiAgICogU3RvcmFnZSBLZXkgUHJlZml4XG4gICAqL1xuICByZWFkb25seSBwcmVmaXg6IHN0cmluZztcbiAgLyoqXG4gICAqIE9wdGlvbmFsIHByZWZpeC92YWx1ZSBzcGxpdHRlci5cbiAgICovXG4gIHJlYWRvbmx5IHByZWZpeFNwbGl0dGVyPzogc3RyaW5nO1xuICAvKipcbiAgICogTnVtYmVyIGluIG1pbGxpc2Vjb25kcyB0aGF0IG9iamVjdHMgc3RvcmVkIHdpbGwgZXhwaXJlIGluLlxuICAgKi9cbiAgcmVhZG9ubHkgZXhwaXJlc0luPzogbnVtYmVyO1xufVxuXG5pbnRlcmZhY2UgQ29uZmlndXJlZFNpbXBsZVN0b3JhZ2VBY2Nlc3NvckNvbmZpZyBleHRlbmRzIFNpbXBsZVN0b3JhZ2VBY2Nlc3NvckNvbmZpZyB7XG4gIHJlYWRvbmx5IHByZWZpeFNwbGl0dGVyOiBzdHJpbmc7XG4gIHJlYWRvbmx5IGZ1bGxQcmVmaXg6IHN0cmluZztcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGFzc2VydFZhbGlkU3RvcmFnZUtleVByZWZpeChwcmVmaXg6IHN0cmluZywgcHJlZml4U3BsaXR0ZXI6IHN0cmluZyk6IHZvaWQge1xuICBpZiAoIXByZWZpeFNwbGl0dGVyKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdJbnZhbGlkIHN0b3JhZ2Uga2V5IHByZWZpeCBzcGxpdHRlci4gTXVzdCBiZSBkZWZpbmVkIGFuZCBub3QgZW1wdHkuJyk7IC8vIFRPRE8oRlVUVVJFKTogQ29uc2lkZXIgY2hhbmdpbmcgdG8gYSBjb25jcmV0ZSBlcnJvciB0eXBlXG4gIH1cblxuICBpZiAoIWlzVmFsaWRTdG9yYWdlS2V5UHJlZml4KHByZWZpeCwgcHJlZml4U3BsaXR0ZXIpKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdJbnZhbGlkIHN0b3JhZ2Uga2V5IHByZWZpeC4nKTtcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gaXNWYWxpZFN0b3JhZ2VLZXlQcmVmaXgocHJlZml4OiBzdHJpbmcsIHByZWZpeFNwbHR0ZXI6IHN0cmluZyk6IGJvb2xlYW4ge1xuICByZXR1cm4gQm9vbGVhbihwcmVmaXggJiYgcHJlZml4LmluZGV4T2YocHJlZml4U3BsdHRlcikgPT09IC0xKTtcbn1cblxuLyoqXG4gKiBMaW1pdGVkU3RvcmFnZUFjY2Vzc29yIGltcGxlbWVudGF0aW9uIHRoYXQgdXNlcyBhIERlbGVnYXRlXG4gKi9cbmV4cG9ydCBjbGFzcyBTaW1wbGVTdG9yYWdlQWNjZXNzb3I8VD4gaW1wbGVtZW50cyBTdG9yYWdlQWNjZXNzb3I8VD4ge1xuICBzdGF0aWMgcmVhZG9ubHkgUFJFRklYX1NQTElUVEVSID0gJzo6JztcblxuICBwcml2YXRlIHJlYWRvbmx5IF9kZWxlZ2F0ZTogU2ltcGxlU3RvcmFnZUFjY2Vzc29yRGVsZWdhdGU8VD47XG4gIHByb3RlY3RlZCByZWFkb25seSBfY29uZmlnOiBDb25maWd1cmVkU2ltcGxlU3RvcmFnZUFjY2Vzc29yQ29uZmlnO1xuXG4gIGNvbnN0cnVjdG9yKGRlbGVnYXRlOiBTaW1wbGVTdG9yYWdlQWNjZXNzb3JEZWxlZ2F0ZTxUPiwgY29uZmlnOiBTaW1wbGVTdG9yYWdlQWNjZXNzb3JDb25maWcpIHtcbiAgICBjb25zdCBwcmVmaXggPSBjb25maWcucHJlZml4O1xuICAgIGNvbnN0IHByZWZpeFNwbGl0dGVyID0gY29uZmlnLnByZWZpeFNwbGl0dGVyID8/IFNpbXBsZVN0b3JhZ2VBY2Nlc3Nvci5QUkVGSVhfU1BMSVRURVI7XG5cbiAgICBhc3NlcnRWYWxpZFN0b3JhZ2VLZXlQcmVmaXgocHJlZml4LCBwcmVmaXhTcGxpdHRlcik7XG5cbiAgICBjb25zdCBmdWxsUHJlZml4ID0gYCR7cHJlZml4fSR7cHJlZml4U3BsaXR0ZXJ9YDtcblxuICAgIHRoaXMuX2RlbGVnYXRlID0gZGVsZWdhdGU7XG4gICAgdGhpcy5fY29uZmlnID0ge1xuICAgICAgLi4uY29uZmlnLFxuICAgICAgcHJlZml4U3BsaXR0ZXIsXG4gICAgICBmdWxsUHJlZml4XG4gICAgfTtcbiAgfVxuXG4gIGdldCBkZWxlZ2F0ZSgpIHtcbiAgICByZXR1cm4gdGhpcy5fZGVsZWdhdGU7XG4gIH1cblxuICBnZXQgY29uZmlnKCkge1xuICAgIHJldHVybiB0aGlzLl9jb25maWc7XG4gIH1cblxuICAvLyBNQVJLOiBMaW1pdGVkU3RvcmFnZUFjY2Vzc29yXG4gIGdldChpbnB1dEtleTogc3RyaW5nKTogT2JzZXJ2YWJsZTxUPiB7XG4gICAgY29uc3Qgc3RvcmVLZXkgPSB0aGlzLm1ha2VTdG9yYWdlS2V5KGlucHV0S2V5KTtcbiAgICByZXR1cm4gdGhpcy5fZGVsZWdhdGUuZ2V0KHN0b3JlS2V5KS5waXBlKFxuICAgICAgbWFwKChzdG9yZWREYXRhOiBNYXliZTxzdHJpbmc+KSA9PiB7XG4gICAgICAgIGlmIChzdG9yZWREYXRhKSB7XG4gICAgICAgICAgY29uc3QgcmVhZFN0b3JlZERhdGEgPSB0aGlzLnJlYWRTdG9yZWREYXRhKHN0b3JlZERhdGEpO1xuXG4gICAgICAgICAgaWYgKCFyZWFkU3RvcmVkRGF0YS5leHBpcmVkKSB7XG4gICAgICAgICAgICByZXR1cm4gcmVhZFN0b3JlZERhdGEuY29udmVydGVkRGF0YTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhyb3cgbmV3IERhdGFJc0V4cGlyZWRFcnJvcjxUPihyZWFkU3RvcmVkRGF0YSk7XG4gICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHRocm93IG5ldyBEYXRhRG9lc05vdEV4aXN0RXJyb3IoKTtcbiAgICAgICAgfVxuICAgICAgfSlcbiAgICApO1xuICB9XG5cbiAgc2V0KGlucHV0S2V5OiBzdHJpbmcsIGlucHV0VmFsdWU6IFQpOiBPYnNlcnZhYmxlPHZvaWQ+IHtcbiAgICBjb25zdCBzdG9yZUtleSA9IHRoaXMubWFrZVN0b3JhZ2VLZXkoaW5wdXRLZXkpO1xuICAgIGNvbnN0IHN0b3JlRGF0YTogU3RvcmVkRGF0YSA9IHRoaXMuYnVpbGRTdG9yZWREYXRhKGlucHV0VmFsdWUpO1xuICAgIGNvbnN0IGRhdGEgPSBKU09OLnN0cmluZ2lmeShzdG9yZURhdGEpO1xuICAgIHJldHVybiB0aGlzLl9kZWxlZ2F0ZS5zZXQoc3RvcmVLZXksIGRhdGEpO1xuICB9XG5cbiAgcmVtb3ZlKGtleTogc3RyaW5nKTogT2JzZXJ2YWJsZTx2b2lkPiB7XG4gICAgY29uc3Qgc3RvcmVLZXkgPSB0aGlzLm1ha2VTdG9yYWdlS2V5KGtleSk7XG4gICAgcmV0dXJuIHRoaXMuX2RlbGVnYXRlLnJlbW92ZShzdG9yZUtleSk7XG4gIH1cblxuICBhbGwoKTogT2JzZXJ2YWJsZTxUW10+IHtcbiAgICByZXR1cm4gdGhpcy5fZGVsZWdhdGUuYWxsKHRoaXMuX2NvbmZpZy5mdWxsUHJlZml4KS5waXBlKFxuICAgICAgbWFwKChhbGxTdG9yZWREYXRhKSA9PiB7XG4gICAgICAgIHJldHVybiBhbGxTdG9yZWREYXRhXG4gICAgICAgICAgLm1hcCgoc3RvcmVkRGF0YSkgPT4ge1xuICAgICAgICAgICAgY29uc3QgcmVhZFN0b3JlZERhdGEgPSB0aGlzLnJlYWRTdG9yZWREYXRhKHN0b3JlZERhdGEpO1xuXG4gICAgICAgICAgICBpZiAoIXJlYWRTdG9yZWREYXRhLmV4cGlyZWQpIHtcbiAgICAgICAgICAgICAgcmV0dXJuIHJlYWRTdG9yZWREYXRhLmNvbnZlcnRlZERhdGE7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9KVxuICAgICAgICAgIC5maWx0ZXIoaGFzTm9uTnVsbFZhbHVlKTtcbiAgICAgIH0pXG4gICAgKTtcbiAgfVxuXG4gIGFsbEtleXMoKTogT2JzZXJ2YWJsZTxzdHJpbmdbXT4ge1xuICAgIHJldHVybiB0aGlzLl9kZWxlZ2F0ZS5hbGxLZXlzKHRoaXMuX2NvbmZpZy5mdWxsUHJlZml4KS5waXBlKG1hcCgoa2V5cykgPT4ga2V5cy5tYXAoKHgpID0+IHRoaXMuZGVjb2RlU3RvcmFnZUtleSh4KSkpKTtcbiAgfVxuXG4gIGNsZWFyKCk6IE9ic2VydmFibGU8b2JqZWN0PiB7XG4gICAgcmV0dXJuIHRoaXMuX2RlbGVnYXRlLmNsZWFyKCk7XG4gIH1cblxuICAvLyBNQVJLOiBTdG9yZWQgVmFsdWVzXG4gIHByb3RlY3RlZCByZWFkU3RvcmVkRGF0YShzdG9yZWREYXRhU3RyaW5nOiBTdG9yZWREYXRhU3RyaW5nKTogUmVhZFN0b3JlZERhdGE8VD4ge1xuICAgIGNvbnN0IHN0b3JlZERhdGE6IFN0b3JlZERhdGEgPSBKU09OLnBhcnNlKHN0b3JlZERhdGFTdHJpbmcpO1xuICAgIGNvbnN0IGV4cGlyZWQgPSB0aGlzLmlzRXhwaXJlZFN0b3JlZERhdGEoc3RvcmVkRGF0YSk7XG4gICAgY29uc3QgY29udmVydGVkRGF0YSA9IHRoaXMuX2RlbGVnYXRlLnBhcnNlVmFsdWUoc3RvcmVkRGF0YS5kYXRhKTtcblxuICAgIHJldHVybiB7XG4gICAgICAuLi5zdG9yZWREYXRhLFxuICAgICAgZXhwaXJlZCxcbiAgICAgIGNvbnZlcnRlZERhdGFcbiAgICB9O1xuICB9XG5cbiAgcHJvdGVjdGVkIGJ1aWxkU3RvcmVkRGF0YSh2YWx1ZTogVCk6IFN0b3JlZERhdGEge1xuICAgIHJldHVybiB7XG4gICAgICBzdG9yZWRBdDogdW5peERhdGVUaW1lU2Vjb25kc051bWJlckZvck5vdygpLFxuICAgICAgZGF0YTogdGhpcy5zdHJpbmdpZnlWYWx1ZSh2YWx1ZSlcbiAgICB9O1xuICB9XG5cbiAgcHJvdGVjdGVkIGlzRXhwaXJlZFN0b3JlZERhdGEoc3RvcmVEYXRhOiBTdG9yZWREYXRhKTogYm9vbGVhbiB7XG4gICAgY29uc3QgZXhwaXJlc0luID0gdGhpcy5fY29uZmlnLmV4cGlyZXNJbjtcbiAgICBpZiAoZXhwaXJlc0luKSB7XG4gICAgICBpZiAoc3RvcmVEYXRhLnN0b3JlZEF0KSB7XG4gICAgICAgIHJldHVybiBpc1Rocm90dGxlZChleHBpcmVzSW4sIHN0b3JlRGF0YS5zdG9yZWRBdCk7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICB9XG5cbiAgLy8gTUFSSzogSW50ZXJuYWxcbiAgcHJvdGVjdGVkIG1ha2VTdG9yYWdlS2V5KGtleTogc3RyaW5nKTogU3RvcmVkRGF0YVN0b3JhZ2VLZXkge1xuICAgIHJldHVybiBgJHt0aGlzLl9jb25maWcucHJlZml4fSR7dGhpcy5fY29uZmlnLnByZWZpeFNwbGl0dGVyfSR7U3RyaW5nKGtleSl9YDtcbiAgfVxuXG4gIHByb3RlY3RlZCBpc0tleU9mQWNjZXNzb3Ioc3RvcmFnZUtleTogU3RvcmVkRGF0YVN0b3JhZ2VLZXkpOiBib29sZWFuIHtcbiAgICByZXR1cm4gc3RvcmFnZUtleS5zdGFydHNXaXRoKHRoaXMuX2NvbmZpZy5mdWxsUHJlZml4KTtcbiAgfVxuXG4gIHByb3RlY3RlZCBkZWNvZGVTdG9yYWdlS2V5KHN0b3JhZ2VLZXk6IFN0b3JlZERhdGFTdG9yYWdlS2V5KTogc3RyaW5nIHtcbiAgICBjb25zdCBzcGxpdCA9IHNwbGl0Sm9pblJlbWFpbmRlcihzdG9yYWdlS2V5LCB0aGlzLl9jb25maWcucHJlZml4U3BsaXR0ZXIsIDIpO1xuICAgIHJldHVybiBzcGxpdFsxXTtcbiAgfVxuXG4gIHByb3RlY3RlZCBzdHJpbmdpZnlWYWx1ZSh2YWx1ZTogVCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuX2RlbGVnYXRlLnN0cmluZ2lmeVZhbHVlKHZhbHVlKTtcbiAgfVxufVxuIl19
|
|
@@ -1,50 +0,0 @@
|
|
|
1
|
-
import { filterMaybeArrayValues, StorageObjectUtility } from '@dereekb/util';
|
|
2
|
-
import { Observable, map, shareReplay } from 'rxjs';
|
|
3
|
-
/**
|
|
4
|
-
* Simple StorageAccessor implementation that wraps a FullStorageObject.
|
|
5
|
-
*/
|
|
6
|
-
export class StringStorageAccessor {
|
|
7
|
-
_storage;
|
|
8
|
-
constructor(storage) {
|
|
9
|
-
this._storage = storage;
|
|
10
|
-
}
|
|
11
|
-
get(key) {
|
|
12
|
-
return new Observable((x) => {
|
|
13
|
-
const value = this._storage.getItem(key);
|
|
14
|
-
x.next(value);
|
|
15
|
-
x.complete();
|
|
16
|
-
});
|
|
17
|
-
}
|
|
18
|
-
set(key, value) {
|
|
19
|
-
return new Observable((x) => {
|
|
20
|
-
this._storage.setItem(key, value);
|
|
21
|
-
x.next();
|
|
22
|
-
x.complete();
|
|
23
|
-
});
|
|
24
|
-
}
|
|
25
|
-
remove(key) {
|
|
26
|
-
return new Observable((x) => {
|
|
27
|
-
this._storage.removeItem(key);
|
|
28
|
-
x.next();
|
|
29
|
-
x.complete();
|
|
30
|
-
});
|
|
31
|
-
}
|
|
32
|
-
clear() {
|
|
33
|
-
const removed = this._storage.removeAll();
|
|
34
|
-
return new Observable((x) => {
|
|
35
|
-
x.next(removed);
|
|
36
|
-
x.complete();
|
|
37
|
-
});
|
|
38
|
-
}
|
|
39
|
-
all() {
|
|
40
|
-
return this.allKeys().pipe(map((x) => filterMaybeArrayValues(x.map((y) => this._storage.getItem(y)))), shareReplay(1));
|
|
41
|
-
}
|
|
42
|
-
allKeys() {
|
|
43
|
-
return new Observable((x) => {
|
|
44
|
-
const result = StorageObjectUtility.allKeysFromStorageObject(this._storage);
|
|
45
|
-
x.next(result);
|
|
46
|
-
x.complete();
|
|
47
|
-
});
|
|
48
|
-
}
|
|
49
|
-
}
|
|
50
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RvcmFnZS5hY2Nlc3Nvci5zdHJpbmcuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9kYngtY29yZS9zcmMvbGliL3N0b3JhZ2Uvc3RvcmFnZS5hY2Nlc3Nvci5zdHJpbmcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLHNCQUFzQixFQUFpRCxvQkFBb0IsRUFBYyxNQUFNLGVBQWUsQ0FBQztBQUN4SSxPQUFPLEVBQUUsVUFBVSxFQUFFLEdBQUcsRUFBRSxXQUFXLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFHcEQ7O0dBRUc7QUFDSCxNQUFNLE9BQU8scUJBQXFCO0lBQ2YsUUFBUSxDQUFvQjtJQUU3QyxZQUFZLE9BQTBCO1FBQ3BDLElBQUksQ0FBQyxRQUFRLEdBQUcsT0FBTyxDQUFDO0lBQzFCLENBQUM7SUFFRCxHQUFHLENBQUMsR0FBVztRQUNiLE9BQU8sSUFBSSxVQUFVLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRTtZQUMxQixNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUN6QyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQ2QsQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ2YsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsR0FBRyxDQUFDLEdBQVcsRUFBRSxLQUF1QjtRQUN0QyxPQUFPLElBQUksVUFBVSxDQUFPLENBQUMsQ0FBQyxFQUFFLEVBQUU7WUFDaEMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsR0FBRyxFQUFFLEtBQUssQ0FBQyxDQUFDO1lBQ2xDLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUNULENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUNmLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELE1BQU0sQ0FBQyxHQUFXO1FBQ2hCLE9BQU8sSUFBSSxVQUFVLENBQU8sQ0FBQyxDQUFDLEVBQUUsRUFBRTtZQUNoQyxJQUFJLENBQUMsUUFBUSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUM5QixDQUFDLENBQUMsSUFBSSxFQUFFLENBQUM7WUFDVCxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDZixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxLQUFLO1FBQ0gsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxTQUFTLEVBQUUsQ0FBQztRQUMxQyxPQUFPLElBQUksVUFBVSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUU7WUFDMUIsQ0FBQyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztZQUNoQixDQUFDLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDZixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxHQUFHO1FBQ0QsT0FBTyxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUMsSUFBSSxDQUN4QixHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLHNCQUFzQixDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUMxRSxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQ2YsQ0FBQztJQUNKLENBQUM7SUFFRCxPQUFPO1FBQ0wsT0FBTyxJQUFJLFVBQVUsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFO1lBQzFCLE1BQU0sTUFBTSxHQUFHLG9CQUFvQixDQUFDLHdCQUF3QixDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQztZQUM1RSxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQ2YsQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ2YsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBmaWx0ZXJNYXliZUFycmF5VmFsdWVzLCB0eXBlIFN0b3JlZERhdGFTdHJpbmcsIHR5cGUgRnVsbFN0b3JhZ2VPYmplY3QsIFN0b3JhZ2VPYmplY3RVdGlsaXR5LCB0eXBlIE1heWJlIH0gZnJvbSAnQGRlcmVla2IvdXRpbCc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBtYXAsIHNoYXJlUmVwbGF5IH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyB0eXBlIFN0b3JhZ2VBY2Nlc3NvciB9IGZyb20gJy4vc3RvcmFnZS5hY2Nlc3Nvcic7XG5cbi8qKlxuICogU2ltcGxlIFN0b3JhZ2VBY2Nlc3NvciBpbXBsZW1lbnRhdGlvbiB0aGF0IHdyYXBzIGEgRnVsbFN0b3JhZ2VPYmplY3QuXG4gKi9cbmV4cG9ydCBjbGFzcyBTdHJpbmdTdG9yYWdlQWNjZXNzb3IgaW1wbGVtZW50cyBTdG9yYWdlQWNjZXNzb3I8U3RvcmVkRGF0YVN0cmluZz4ge1xuICBwcml2YXRlIHJlYWRvbmx5IF9zdG9yYWdlOiBGdWxsU3RvcmFnZU9iamVjdDtcblxuICBjb25zdHJ1Y3RvcihzdG9yYWdlOiBGdWxsU3RvcmFnZU9iamVjdCkge1xuICAgIHRoaXMuX3N0b3JhZ2UgPSBzdG9yYWdlO1xuICB9XG5cbiAgZ2V0KGtleTogc3RyaW5nKTogT2JzZXJ2YWJsZTxNYXliZTxTdG9yZWREYXRhU3RyaW5nPj4ge1xuICAgIHJldHVybiBuZXcgT2JzZXJ2YWJsZSgoeCkgPT4ge1xuICAgICAgY29uc3QgdmFsdWUgPSB0aGlzLl9zdG9yYWdlLmdldEl0ZW0oa2V5KTtcbiAgICAgIHgubmV4dCh2YWx1ZSk7XG4gICAgICB4LmNvbXBsZXRlKCk7XG4gICAgfSk7XG4gIH1cblxuICBzZXQoa2V5OiBzdHJpbmcsIHZhbHVlOiBTdG9yZWREYXRhU3RyaW5nKTogT2JzZXJ2YWJsZTx2b2lkPiB7XG4gICAgcmV0dXJuIG5ldyBPYnNlcnZhYmxlPHZvaWQ+KCh4KSA9PiB7XG4gICAgICB0aGlzLl9zdG9yYWdlLnNldEl0ZW0oa2V5LCB2YWx1ZSk7XG4gICAgICB4Lm5leHQoKTtcbiAgICAgIHguY29tcGxldGUoKTtcbiAgICB9KTtcbiAgfVxuXG4gIHJlbW92ZShrZXk6IHN0cmluZyk6IE9ic2VydmFibGU8dm9pZD4ge1xuICAgIHJldHVybiBuZXcgT2JzZXJ2YWJsZTx2b2lkPigoeCkgPT4ge1xuICAgICAgdGhpcy5fc3RvcmFnZS5yZW1vdmVJdGVtKGtleSk7XG4gICAgICB4Lm5leHQoKTtcbiAgICAgIHguY29tcGxldGUoKTtcbiAgICB9KTtcbiAgfVxuXG4gIGNsZWFyKCk6IE9ic2VydmFibGU8U3RvcmVkRGF0YVN0cmluZ1tdPiB7XG4gICAgY29uc3QgcmVtb3ZlZCA9IHRoaXMuX3N0b3JhZ2UucmVtb3ZlQWxsKCk7XG4gICAgcmV0dXJuIG5ldyBPYnNlcnZhYmxlKCh4KSA9PiB7XG4gICAgICB4Lm5leHQocmVtb3ZlZCk7XG4gICAgICB4LmNvbXBsZXRlKCk7XG4gICAgfSk7XG4gIH1cblxuICBhbGwoKTogT2JzZXJ2YWJsZTxTdG9yZWREYXRhU3RyaW5nW10+IHtcbiAgICByZXR1cm4gdGhpcy5hbGxLZXlzKCkucGlwZShcbiAgICAgIG1hcCgoeCkgPT4gZmlsdGVyTWF5YmVBcnJheVZhbHVlcyh4Lm1hcCgoeSkgPT4gdGhpcy5fc3RvcmFnZS5nZXRJdGVtKHkpKSkpLFxuICAgICAgc2hhcmVSZXBsYXkoMSlcbiAgICApO1xuICB9XG5cbiAgYWxsS2V5cygpOiBPYnNlcnZhYmxlPHN0cmluZ1tdPiB7XG4gICAgcmV0dXJuIG5ldyBPYnNlcnZhYmxlKCh4KSA9PiB7XG4gICAgICBjb25zdCByZXN1bHQgPSBTdG9yYWdlT2JqZWN0VXRpbGl0eS5hbGxLZXlzRnJvbVN0b3JhZ2VPYmplY3QodGhpcy5fc3RvcmFnZSk7XG4gICAgICB4Lm5leHQocmVzdWx0KTtcbiAgICAgIHguY29tcGxldGUoKTtcbiAgICB9KTtcbiAgfVxufVxuIl19
|
|
@@ -1,4 +0,0 @@
|
|
|
1
|
-
import { InjectionToken } from '@angular/core';
|
|
2
|
-
export const DEFAULT_STORAGE_OBJECT_TOKEN = new InjectionToken('DBX_CORE_DEFAULT_STORAGE_OBJECT');
|
|
3
|
-
export const DEFAULT_STORAGE_ACCESSOR_FACTORY_TOKEN = new InjectionToken('DBX_CORE_DEFAULT_STORAGE_ACCESSOR_FACTORY');
|
|
4
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RvcmFnZS5kaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2RieC1jb3JlL3NyYy9saWIvc3RvcmFnZS9zdG9yYWdlLmRpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFL0MsTUFBTSxDQUFDLE1BQU0sNEJBQTRCLEdBQUcsSUFBSSxjQUFjLENBQUMsaUNBQWlDLENBQUMsQ0FBQztBQUNsRyxNQUFNLENBQUMsTUFBTSxzQ0FBc0MsR0FBRyxJQUFJLGNBQWMsQ0FBQywyQ0FBMkMsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0aW9uVG9rZW4gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuZXhwb3J0IGNvbnN0IERFRkFVTFRfU1RPUkFHRV9PQkpFQ1RfVE9LRU4gPSBuZXcgSW5qZWN0aW9uVG9rZW4oJ0RCWF9DT1JFX0RFRkFVTFRfU1RPUkFHRV9PQkpFQ1QnKTtcbmV4cG9ydCBjb25zdCBERUZBVUxUX1NUT1JBR0VfQUNDRVNTT1JfRkFDVE9SWV9UT0tFTiA9IG5ldyBJbmplY3Rpb25Ub2tlbignREJYX0NPUkVfREVGQVVMVF9TVE9SQUdFX0FDQ0VTU09SX0ZBQ1RPUlknKTtcbiJdfQ==
|
|
@@ -1,47 +0,0 @@
|
|
|
1
|
-
import { StorageObjectUtility } from '@dereekb/util';
|
|
2
|
-
/**
|
|
3
|
-
* StorageObject using LocalStorage.
|
|
4
|
-
*/
|
|
5
|
-
export class FullLocalStorageObject {
|
|
6
|
-
_localStorage;
|
|
7
|
-
constructor(localStorage) {
|
|
8
|
-
this._localStorage = localStorage;
|
|
9
|
-
}
|
|
10
|
-
get isPersistant() {
|
|
11
|
-
return true;
|
|
12
|
-
}
|
|
13
|
-
get isAvailable() {
|
|
14
|
-
const test = '_T_E_S_T_';
|
|
15
|
-
try {
|
|
16
|
-
// Tests setting and removing an item. These will throw an
|
|
17
|
-
// exception if the localstorage is not available
|
|
18
|
-
this._localStorage.setItem(test, test);
|
|
19
|
-
this._localStorage.removeItem(test);
|
|
20
|
-
return true;
|
|
21
|
-
}
|
|
22
|
-
catch (e) {
|
|
23
|
-
return false;
|
|
24
|
-
}
|
|
25
|
-
}
|
|
26
|
-
get length() {
|
|
27
|
-
return this._localStorage.length;
|
|
28
|
-
}
|
|
29
|
-
getItem(key) {
|
|
30
|
-
return this._localStorage.getItem(key);
|
|
31
|
-
}
|
|
32
|
-
setItem(key, item) {
|
|
33
|
-
this._localStorage.setItem(key, item);
|
|
34
|
-
}
|
|
35
|
-
removeItem(key) {
|
|
36
|
-
this._localStorage.removeItem(key);
|
|
37
|
-
}
|
|
38
|
-
key(index) {
|
|
39
|
-
return this._localStorage.key(index);
|
|
40
|
-
}
|
|
41
|
-
removeAll() {
|
|
42
|
-
const keys = StorageObjectUtility.allKeysFromStorageObject(this);
|
|
43
|
-
keys.forEach((x) => this.removeItem(x));
|
|
44
|
-
return keys;
|
|
45
|
-
}
|
|
46
|
-
}
|
|
47
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RvcmFnZS5vYmplY3QubG9jYWxzdG9yYWdlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZGJ4LWNvcmUvc3JjL2xpYi9zdG9yYWdlL3N0b3JhZ2Uub2JqZWN0LmxvY2Fsc3RvcmFnZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQTBELG9CQUFvQixFQUE2QixNQUFNLGVBQWUsQ0FBQztBQUV4STs7R0FFRztBQUNILE1BQU0sT0FBTyxzQkFBc0I7SUFDaEIsYUFBYSxDQUFnQjtJQUU5QyxZQUFZLFlBQTJCO1FBQ3JDLElBQUksQ0FBQyxhQUFhLEdBQUcsWUFBWSxDQUFDO0lBQ3BDLENBQUM7SUFFRCxJQUFJLFlBQVk7UUFDZCxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFRCxJQUFJLFdBQVc7UUFDYixNQUFNLElBQUksR0FBRyxXQUFXLENBQUM7UUFFekIsSUFBSSxDQUFDO1lBQ0gsMERBQTBEO1lBQzFELGlEQUFpRDtZQUNqRCxJQUFJLENBQUMsYUFBYSxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLENBQUM7WUFDdkMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDcEMsT0FBTyxJQUFJLENBQUM7UUFDZCxDQUFDO1FBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQztZQUNYLE9BQU8sS0FBSyxDQUFDO1FBQ2YsQ0FBQztJQUNILENBQUM7SUFFRCxJQUFJLE1BQU07UUFDUixPQUFPLElBQUksQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDO0lBQ25DLENBQUM7SUFFRCxPQUFPLENBQUMsR0FBeUI7UUFDL0IsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUN6QyxDQUFDO0lBRUQsT0FBTyxDQUFDLEdBQXlCLEVBQUUsSUFBWTtRQUM3QyxJQUFJLENBQUMsYUFBYSxDQUFDLE9BQU8sQ0FBQyxHQUFHLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDeEMsQ0FBQztJQUVELFVBQVUsQ0FBQyxHQUF5QjtRQUNsQyxJQUFJLENBQUMsYUFBYSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUNyQyxDQUFDO0lBRUQsR0FBRyxDQUFDLEtBQWE7UUFDZixPQUFPLElBQUksQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3ZDLENBQUM7SUFFRCxTQUFTO1FBQ1AsTUFBTSxJQUFJLEdBQUcsb0JBQW9CLENBQUMsd0JBQXdCLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDakUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3hDLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgdHlwZSBGdWxsU3RvcmFnZU9iamVjdCwgdHlwZSBNYXliZSwgdHlwZSBTdG9yYWdlT2JqZWN0LCBTdG9yYWdlT2JqZWN0VXRpbGl0eSwgdHlwZSBTdG9yZWREYXRhU3RvcmFnZUtleSB9IGZyb20gJ0BkZXJlZWtiL3V0aWwnO1xuXG4vKipcbiAqIFN0b3JhZ2VPYmplY3QgdXNpbmcgTG9jYWxTdG9yYWdlLlxuICovXG5leHBvcnQgY2xhc3MgRnVsbExvY2FsU3RvcmFnZU9iamVjdCBpbXBsZW1lbnRzIEZ1bGxTdG9yYWdlT2JqZWN0IHtcbiAgcHJpdmF0ZSByZWFkb25seSBfbG9jYWxTdG9yYWdlOiBTdG9yYWdlT2JqZWN0O1xuXG4gIGNvbnN0cnVjdG9yKGxvY2FsU3RvcmFnZTogU3RvcmFnZU9iamVjdCkge1xuICAgIHRoaXMuX2xvY2FsU3RvcmFnZSA9IGxvY2FsU3RvcmFnZTtcbiAgfVxuXG4gIGdldCBpc1BlcnNpc3RhbnQoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRydWU7XG4gIH1cblxuICBnZXQgaXNBdmFpbGFibGUoKTogYm9vbGVhbiB7XG4gICAgY29uc3QgdGVzdCA9ICdfVF9FX1NfVF8nO1xuXG4gICAgdHJ5IHtcbiAgICAgIC8vIFRlc3RzIHNldHRpbmcgYW5kIHJlbW92aW5nIGFuIGl0ZW0uIFRoZXNlIHdpbGwgdGhyb3cgYW5cbiAgICAgIC8vIGV4Y2VwdGlvbiBpZiB0aGUgbG9jYWxzdG9yYWdlIGlzIG5vdCBhdmFpbGFibGVcbiAgICAgIHRoaXMuX2xvY2FsU3RvcmFnZS5zZXRJdGVtKHRlc3QsIHRlc3QpO1xuICAgICAgdGhpcy5fbG9jYWxTdG9yYWdlLnJlbW92ZUl0ZW0odGVzdCk7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9IGNhdGNoIChlKSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICB9XG5cbiAgZ2V0IGxlbmd0aCgpOiBudW1iZXIge1xuICAgIHJldHVybiB0aGlzLl9sb2NhbFN0b3JhZ2UubGVuZ3RoO1xuICB9XG5cbiAgZ2V0SXRlbShrZXk6IFN0b3JlZERhdGFTdG9yYWdlS2V5KTogTWF5YmU8c3RyaW5nPiB7XG4gICAgcmV0dXJuIHRoaXMuX2xvY2FsU3RvcmFnZS5nZXRJdGVtKGtleSk7XG4gIH1cblxuICBzZXRJdGVtKGtleTogU3RvcmVkRGF0YVN0b3JhZ2VLZXksIGl0ZW06IHN0cmluZyk6IHZvaWQge1xuICAgIHRoaXMuX2xvY2FsU3RvcmFnZS5zZXRJdGVtKGtleSwgaXRlbSk7XG4gIH1cblxuICByZW1vdmVJdGVtKGtleTogU3RvcmVkRGF0YVN0b3JhZ2VLZXkpOiB2b2lkIHtcbiAgICB0aGlzLl9sb2NhbFN0b3JhZ2UucmVtb3ZlSXRlbShrZXkpO1xuICB9XG5cbiAga2V5KGluZGV4OiBudW1iZXIpOiBzdHJpbmcgfCBudWxsIHtcbiAgICByZXR1cm4gdGhpcy5fbG9jYWxTdG9yYWdlLmtleShpbmRleCk7XG4gIH1cblxuICByZW1vdmVBbGwoKTogc3RyaW5nW10ge1xuICAgIGNvbnN0IGtleXMgPSBTdG9yYWdlT2JqZWN0VXRpbGl0eS5hbGxLZXlzRnJvbVN0b3JhZ2VPYmplY3QodGhpcyk7XG4gICAga2V5cy5mb3JFYWNoKCh4KSA9PiB0aGlzLnJlbW92ZUl0ZW0oeCkpO1xuICAgIHJldHVybiBrZXlzO1xuICB9XG59XG4iXX0=
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
import { SHARED_MEMORY_STORAGE } from '@dereekb/util';
|
|
2
|
-
import { FullLocalStorageObject } from './storage.object.localstorage';
|
|
3
|
-
/**
|
|
4
|
-
* FullStorageObject implementation that uses a localstorage that entirely resides in memory.
|
|
5
|
-
*/
|
|
6
|
-
export class MemoryStorageObject extends FullLocalStorageObject {
|
|
7
|
-
get isLastingStorage() {
|
|
8
|
-
return false;
|
|
9
|
-
}
|
|
10
|
-
get isAvailable() {
|
|
11
|
-
return true;
|
|
12
|
-
}
|
|
13
|
-
constructor() {
|
|
14
|
-
super(SHARED_MEMORY_STORAGE);
|
|
15
|
-
}
|
|
16
|
-
}
|
|
17
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RvcmFnZS5vYmplY3QubWVtb3J5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZGJ4LWNvcmUvc3JjL2xpYi9zdG9yYWdlL3N0b3JhZ2Uub2JqZWN0Lm1lbW9yeS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDdEQsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFFdkU7O0dBRUc7QUFDSCxNQUFNLE9BQU8sbUJBQW9CLFNBQVEsc0JBQXNCO0lBQzdELElBQUksZ0JBQWdCO1FBQ2xCLE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztJQUVELElBQWEsV0FBVztRQUN0QixPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFRDtRQUNFLEtBQUssQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDO0lBQy9CLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFNIQVJFRF9NRU1PUllfU1RPUkFHRSB9IGZyb20gJ0BkZXJlZWtiL3V0aWwnO1xuaW1wb3J0IHsgRnVsbExvY2FsU3RvcmFnZU9iamVjdCB9IGZyb20gJy4vc3RvcmFnZS5vYmplY3QubG9jYWxzdG9yYWdlJztcblxuLyoqXG4gKiBGdWxsU3RvcmFnZU9iamVjdCBpbXBsZW1lbnRhdGlvbiB0aGF0IHVzZXMgYSBsb2NhbHN0b3JhZ2UgdGhhdCBlbnRpcmVseSByZXNpZGVzIGluIG1lbW9yeS5cbiAqL1xuZXhwb3J0IGNsYXNzIE1lbW9yeVN0b3JhZ2VPYmplY3QgZXh0ZW5kcyBGdWxsTG9jYWxTdG9yYWdlT2JqZWN0IHtcbiAgZ2V0IGlzTGFzdGluZ1N0b3JhZ2UoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgb3ZlcnJpZGUgZ2V0IGlzQXZhaWxhYmxlKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0cnVlO1xuICB9XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgc3VwZXIoU0hBUkVEX01FTU9SWV9TVE9SQUdFKTtcbiAgfVxufVxuIl19
|
|
@@ -1,41 +0,0 @@
|
|
|
1
|
-
import { makeEnvironmentProviders } from '@angular/core';
|
|
2
|
-
import { SimpleStorageAccessorFactory } from './storage.accessor.simple.factory';
|
|
3
|
-
import { DEFAULT_STORAGE_OBJECT_TOKEN, DEFAULT_STORAGE_ACCESSOR_FACTORY_TOKEN } from './storage.di';
|
|
4
|
-
import { FullLocalStorageObject } from './storage.object.localstorage';
|
|
5
|
-
import { MemoryStorageObject } from './storage.object.memory';
|
|
6
|
-
/**
|
|
7
|
-
* Default storage object factory function that creates a FullLocalStorageObject,
|
|
8
|
-
* falling back to MemoryStorageObject if localStorage is not available.
|
|
9
|
-
*/
|
|
10
|
-
export function defaultStorageObjectFactory() {
|
|
11
|
-
let storageObject = new FullLocalStorageObject(localStorage);
|
|
12
|
-
if (!storageObject.isAvailable) {
|
|
13
|
-
storageObject = new MemoryStorageObject();
|
|
14
|
-
}
|
|
15
|
-
return storageObject;
|
|
16
|
-
}
|
|
17
|
-
/**
|
|
18
|
-
* Creates EnvironmentProviders for providing a default storage object and SimpleStorageAccessorFactory.
|
|
19
|
-
*
|
|
20
|
-
* @returns EnvironmentProviders
|
|
21
|
-
*/
|
|
22
|
-
export function provideDbxStorage() {
|
|
23
|
-
const providers = [
|
|
24
|
-
// Storage object
|
|
25
|
-
{
|
|
26
|
-
provide: DEFAULT_STORAGE_OBJECT_TOKEN,
|
|
27
|
-
useFactory: defaultStorageObjectFactory
|
|
28
|
-
},
|
|
29
|
-
// Storage accessor factory
|
|
30
|
-
{
|
|
31
|
-
provide: SimpleStorageAccessorFactory,
|
|
32
|
-
useClass: SimpleStorageAccessorFactory
|
|
33
|
-
},
|
|
34
|
-
{
|
|
35
|
-
provide: DEFAULT_STORAGE_ACCESSOR_FACTORY_TOKEN,
|
|
36
|
-
useExisting: SimpleStorageAccessorFactory
|
|
37
|
-
}
|
|
38
|
-
];
|
|
39
|
-
return makeEnvironmentProviders(providers);
|
|
40
|
-
}
|
|
41
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RvcmFnZS5wcm92aWRlcnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9kYngtY29yZS9zcmMvbGliL3N0b3JhZ2Uvc3RvcmFnZS5wcm92aWRlcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUE0Qyx3QkFBd0IsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVuRyxPQUFPLEVBQUUsNEJBQTRCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUNqRixPQUFPLEVBQUUsNEJBQTRCLEVBQUUsc0NBQXNDLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDcEcsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDdkUsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFFOUQ7OztHQUdHO0FBQ0gsTUFBTSxVQUFVLDJCQUEyQjtJQUN6QyxJQUFJLGFBQWEsR0FBc0IsSUFBSSxzQkFBc0IsQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUVoRixJQUFJLENBQUMsYUFBYSxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQy9CLGFBQWEsR0FBRyxJQUFJLG1CQUFtQixFQUFFLENBQUM7SUFDNUMsQ0FBQztJQUVELE9BQU8sYUFBYSxDQUFDO0FBQ3ZCLENBQUM7QUFFRDs7OztHQUlHO0FBQ0gsTUFBTSxVQUFVLGlCQUFpQjtJQUMvQixNQUFNLFNBQVMsR0FBZTtRQUM1QixpQkFBaUI7UUFDakI7WUFDRSxPQUFPLEVBQUUsNEJBQTRCO1lBQ3JDLFVBQVUsRUFBRSwyQkFBMkI7U0FDeEM7UUFDRCwyQkFBMkI7UUFDM0I7WUFDRSxPQUFPLEVBQUUsNEJBQTRCO1lBQ3JDLFFBQVEsRUFBRSw0QkFBNEI7U0FDdkM7UUFDRDtZQUNFLE9BQU8sRUFBRSxzQ0FBc0M7WUFDL0MsV0FBVyxFQUFFLDRCQUE0QjtTQUMxQztLQUNGLENBQUM7SUFFRixPQUFPLHdCQUF3QixDQUFDLFNBQVMsQ0FBQyxDQUFDO0FBQzdDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyB0eXBlIEVudmlyb25tZW50UHJvdmlkZXJzLCB0eXBlIFByb3ZpZGVyLCBtYWtlRW52aXJvbm1lbnRQcm92aWRlcnMgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IHR5cGUgRnVsbFN0b3JhZ2VPYmplY3QgfSBmcm9tICdAZGVyZWVrYi91dGlsJztcbmltcG9ydCB7IFNpbXBsZVN0b3JhZ2VBY2Nlc3NvckZhY3RvcnkgfSBmcm9tICcuL3N0b3JhZ2UuYWNjZXNzb3Iuc2ltcGxlLmZhY3RvcnknO1xuaW1wb3J0IHsgREVGQVVMVF9TVE9SQUdFX09CSkVDVF9UT0tFTiwgREVGQVVMVF9TVE9SQUdFX0FDQ0VTU09SX0ZBQ1RPUllfVE9LRU4gfSBmcm9tICcuL3N0b3JhZ2UuZGknO1xuaW1wb3J0IHsgRnVsbExvY2FsU3RvcmFnZU9iamVjdCB9IGZyb20gJy4vc3RvcmFnZS5vYmplY3QubG9jYWxzdG9yYWdlJztcbmltcG9ydCB7IE1lbW9yeVN0b3JhZ2VPYmplY3QgfSBmcm9tICcuL3N0b3JhZ2Uub2JqZWN0Lm1lbW9yeSc7XG5cbi8qKlxuICogRGVmYXVsdCBzdG9yYWdlIG9iamVjdCBmYWN0b3J5IGZ1bmN0aW9uIHRoYXQgY3JlYXRlcyBhIEZ1bGxMb2NhbFN0b3JhZ2VPYmplY3QsXG4gKiBmYWxsaW5nIGJhY2sgdG8gTWVtb3J5U3RvcmFnZU9iamVjdCBpZiBsb2NhbFN0b3JhZ2UgaXMgbm90IGF2YWlsYWJsZS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGRlZmF1bHRTdG9yYWdlT2JqZWN0RmFjdG9yeSgpOiBGdWxsU3RvcmFnZU9iamVjdCB7XG4gIGxldCBzdG9yYWdlT2JqZWN0OiBGdWxsU3RvcmFnZU9iamVjdCA9IG5ldyBGdWxsTG9jYWxTdG9yYWdlT2JqZWN0KGxvY2FsU3RvcmFnZSk7XG5cbiAgaWYgKCFzdG9yYWdlT2JqZWN0LmlzQXZhaWxhYmxlKSB7XG4gICAgc3RvcmFnZU9iamVjdCA9IG5ldyBNZW1vcnlTdG9yYWdlT2JqZWN0KCk7XG4gIH1cblxuICByZXR1cm4gc3RvcmFnZU9iamVjdDtcbn1cblxuLyoqXG4gKiBDcmVhdGVzIEVudmlyb25tZW50UHJvdmlkZXJzIGZvciBwcm92aWRpbmcgYSBkZWZhdWx0IHN0b3JhZ2Ugb2JqZWN0IGFuZCBTaW1wbGVTdG9yYWdlQWNjZXNzb3JGYWN0b3J5LlxuICpcbiAqIEByZXR1cm5zIEVudmlyb25tZW50UHJvdmlkZXJzXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBwcm92aWRlRGJ4U3RvcmFnZSgpOiBFbnZpcm9ubWVudFByb3ZpZGVycyB7XG4gIGNvbnN0IHByb3ZpZGVyczogUHJvdmlkZXJbXSA9IFtcbiAgICAvLyBTdG9yYWdlIG9iamVjdFxuICAgIHtcbiAgICAgIHByb3ZpZGU6IERFRkFVTFRfU1RPUkFHRV9PQkpFQ1RfVE9LRU4sXG4gICAgICB1c2VGYWN0b3J5OiBkZWZhdWx0U3RvcmFnZU9iamVjdEZhY3RvcnlcbiAgICB9LFxuICAgIC8vIFN0b3JhZ2UgYWNjZXNzb3IgZmFjdG9yeVxuICAgIHtcbiAgICAgIHByb3ZpZGU6IFNpbXBsZVN0b3JhZ2VBY2Nlc3NvckZhY3RvcnksXG4gICAgICB1c2VDbGFzczogU2ltcGxlU3RvcmFnZUFjY2Vzc29yRmFjdG9yeVxuICAgIH0sXG4gICAge1xuICAgICAgcHJvdmlkZTogREVGQVVMVF9TVE9SQUdFX0FDQ0VTU09SX0ZBQ1RPUllfVE9LRU4sXG4gICAgICB1c2VFeGlzdGluZzogU2ltcGxlU3RvcmFnZUFjY2Vzc29yRmFjdG9yeVxuICAgIH1cbiAgXTtcblxuICByZXR1cm4gbWFrZUVudmlyb25tZW50UHJvdmlkZXJzKHByb3ZpZGVycyk7XG59XG4iXX0=
|