@bravobit/bb-foundation 0.14.2 → 0.15.1
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/README.md +47 -47
- package/auth/bravobit-bb-foundation-auth.d.ts +5 -5
- package/auth/lib/auth.interceptor.d.ts +21 -21
- package/auth/lib/auth.module.d.ts +15 -15
- package/auth/lib/auth.service.d.ts +59 -59
- package/auth/lib/auth.session.d.ts +34 -34
- package/auth/lib/directives/authenticated.directive.d.ts +14 -14
- package/auth/lib/directives/permission.directive.d.ts +24 -24
- package/auth/lib/directives/role.directive.d.ts +16 -16
- package/auth/lib/guards/anonymous.guard.d.ts +11 -11
- package/auth/lib/guards/authenticated.guard.d.ts +11 -11
- package/auth/lib/helpers/jwt.helper.d.ts +8 -8
- package/auth/lib/helpers/mapper.helper.d.ts +23 -23
- package/auth/lib/interfaces/config.interface.d.ts +12 -12
- package/auth/lib/interfaces/mapper.interface.d.ts +19 -19
- package/auth/lib/interfaces/provider.interface.d.ts +16 -16
- package/auth/lib/interfaces/token.interface.d.ts +11 -11
- package/auth/lib/permissions.service.d.ts +14 -14
- package/auth/lib/providers/email.provider.d.ts +15 -15
- package/auth/lib/providers/verify.provider.d.ts +13 -13
- package/auth/lib/tokens/use-authorization.token.d.ts +2 -2
- package/auth/public_api.d.ts +18 -18
- package/bravobit-bb-foundation.d.ts +5 -5
- package/bundles/bravobit-bb-foundation-auth.umd.js +1400 -1402
- package/bundles/bravobit-bb-foundation-auth.umd.js.map +1 -1
- package/bundles/bravobit-bb-foundation-collections.umd.js +851 -0
- package/bundles/bravobit-bb-foundation-collections.umd.js.map +1 -0
- package/bundles/bravobit-bb-foundation-dashboard.umd.js +817 -819
- package/bundles/bravobit-bb-foundation-dashboard.umd.js.map +1 -1
- package/bundles/bravobit-bb-foundation-dialog.umd.js +649 -651
- package/bundles/bravobit-bb-foundation-dialog.umd.js.map +1 -1
- package/bundles/bravobit-bb-foundation-elements.umd.js +2651 -2653
- package/bundles/bravobit-bb-foundation-elements.umd.js.map +1 -1
- package/bundles/bravobit-bb-foundation-http.umd.js +488 -490
- package/bundles/bravobit-bb-foundation-http.umd.js.map +1 -1
- package/bundles/bravobit-bb-foundation-localize.umd.js +1208 -1210
- package/bundles/bravobit-bb-foundation-localize.umd.js.map +1 -1
- package/bundles/bravobit-bb-foundation-notifications.umd.js +743 -745
- package/bundles/bravobit-bb-foundation-notifications.umd.js.map +1 -1
- package/bundles/bravobit-bb-foundation-recaptcha.umd.js +640 -642
- package/bundles/bravobit-bb-foundation-recaptcha.umd.js.map +1 -1
- package/bundles/bravobit-bb-foundation-rxjs.umd.js +13 -13
- package/bundles/bravobit-bb-foundation-rxjs.umd.js.map +1 -1
- package/bundles/bravobit-bb-foundation-storage.umd.js +756 -758
- package/bundles/bravobit-bb-foundation-storage.umd.js.map +1 -1
- package/bundles/bravobit-bb-foundation-table.umd.js +993 -995
- package/bundles/bravobit-bb-foundation-table.umd.js.map +1 -1
- package/bundles/bravobit-bb-foundation.umd.js +1336 -1263
- package/bundles/bravobit-bb-foundation.umd.js.map +1 -1
- package/collections/bravobit-bb-foundation-collections.d.ts +5 -0
- package/collections/lib/collection.d.ts +40 -0
- package/collections/lib/collections.module.d.ts +10 -0
- package/collections/lib/components/collections-pager/collections-pager.component.d.ts +34 -0
- package/collections/lib/components/collections-viewer/collections-viewer.component.d.ts +12 -0
- package/collections/lib/components/collections.directive.d.ts +17 -0
- package/collections/lib/interfaces/collection.interface.d.ts +26 -0
- package/collections/lib/providers/api-collection.provider.d.ts +15 -0
- package/collections/lib/providers/collection.provider.d.ts +6 -0
- package/collections/lib/providers/local-collection.provider.d.ts +8 -0
- package/collections/package.json +10 -0
- package/collections/public_api.d.ts +9 -0
- package/dashboard/bravobit-bb-foundation-dashboard.d.ts +5 -5
- package/dashboard/lib/dashboard/dashboard.component.d.ts +19 -19
- package/dashboard/lib/dashboard-header/dashboard-header.component.d.ts +11 -11
- package/dashboard/lib/dashboard-menu/dashboard-menu.component.d.ts +9 -9
- package/dashboard/lib/dashboard-menu-item/dashboard-menu-item.component.d.ts +11 -11
- package/dashboard/lib/dashboard-sidebar/dashboard-sidebar.component.d.ts +21 -21
- package/dashboard/lib/dashboard-sidebar-group/dashboard-sidebar-group.component.d.ts +27 -27
- package/dashboard/lib/dashboard-sidebar-item/dashboard-sidebar-item.component.d.ts +16 -16
- package/dashboard/lib/dashboard.module.d.ts +16 -16
- package/dashboard/public_api.d.ts +8 -8
- package/dialog/bravobit-bb-foundation-dialog.d.ts +5 -5
- package/dialog/lib/dialog-actions/dialog-actions.component.d.ts +5 -5
- package/dialog/lib/dialog-confirm/dialog-confirm.component.d.ts +16 -16
- package/dialog/lib/dialog-container/dialog-container.component.d.ts +24 -24
- package/dialog/lib/dialog-header/dialog-header.component.d.ts +9 -9
- package/dialog/lib/dialog-link/dialog-link.component.d.ts +5 -5
- package/dialog/lib/dialog-modal/dialog-modal.component.d.ts +12 -12
- package/dialog/lib/dialog-overlay/dialog-overlay.component.d.ts +22 -22
- package/dialog/lib/dialog.injector.d.ts +8 -8
- package/dialog/lib/dialog.insertion.d.ts +8 -8
- package/dialog/lib/dialog.interfaces.d.ts +3 -3
- package/dialog/lib/dialog.module.d.ts +19 -19
- package/dialog/lib/dialog.ref.d.ts +8 -8
- package/dialog/lib/dialog.service.d.ts +19 -19
- package/dialog/public_api.d.ts +9 -9
- package/elements/bravobit-bb-foundation-elements.d.ts +5 -5
- package/elements/lib/avatar/avatar.component.d.ts +25 -25
- package/elements/lib/button/button.component.d.ts +23 -23
- package/elements/lib/checkbox/checkbox.component.d.ts +27 -27
- package/elements/lib/date-picker/date-picker.component.d.ts +69 -69
- package/elements/lib/directives/addon.directive.d.ts +9 -9
- package/elements/lib/directives/autosize.directive.d.ts +18 -18
- package/elements/lib/directives/focus-trap.directive.d.ts +17 -17
- package/elements/lib/directives/focus.directive.d.ts +14 -14
- package/elements/lib/directives/form-submit.directive.d.ts +17 -17
- package/elements/lib/directives/input.directive.d.ts +38 -38
- package/elements/lib/directives/template.directive.d.ts +10 -10
- package/elements/lib/dropdown/dropdown.component.d.ts +21 -21
- package/elements/lib/elements.interfaces.d.ts +25 -25
- package/elements/lib/elements.module.d.ts +116 -116
- package/elements/lib/file-picker/file-picker.component.d.ts +49 -49
- package/elements/lib/form-control/form-control.component.d.ts +21 -21
- package/elements/lib/form-error/form-error.component.d.ts +29 -29
- package/elements/lib/form-group/form-group.component.d.ts +10 -10
- package/elements/lib/icon/icon.component.d.ts +22 -22
- package/elements/lib/image-picker/image-picker.component.d.ts +38 -38
- package/elements/lib/pipes/file-image.pipe.d.ts +13 -13
- package/elements/lib/pipes/file-size.pipe.d.ts +8 -8
- package/elements/lib/pipes/relative-time.pipe.d.ts +19 -19
- package/elements/lib/spinner/spinner.component.d.ts +12 -12
- package/elements/lib/tag/tag.component.d.ts +7 -7
- package/elements/public_api.d.ts +25 -25
- package/esm2015/auth/bravobit-bb-foundation-auth.js +4 -4
- package/esm2015/auth/lib/auth.interceptor.js +95 -95
- package/esm2015/auth/lib/auth.module.js +54 -54
- package/esm2015/auth/lib/auth.service.js +299 -299
- package/esm2015/auth/lib/auth.session.js +136 -136
- package/esm2015/auth/lib/directives/authenticated.directive.js +32 -32
- package/esm2015/auth/lib/directives/permission.directive.js +81 -81
- package/esm2015/auth/lib/directives/role.directive.js +38 -38
- package/esm2015/auth/lib/guards/anonymous.guard.js +35 -35
- package/esm2015/auth/lib/guards/authenticated.guard.js +36 -36
- package/esm2015/auth/lib/helpers/jwt.helper.js +69 -69
- package/esm2015/auth/lib/helpers/mapper.helper.js +35 -35
- package/esm2015/auth/lib/interfaces/config.interface.js +3 -3
- package/esm2015/auth/lib/interfaces/mapper.interface.js +2 -2
- package/esm2015/auth/lib/interfaces/provider.interface.js +2 -2
- package/esm2015/auth/lib/interfaces/token.interface.js +2 -2
- package/esm2015/auth/lib/permissions.service.js +58 -58
- package/esm2015/auth/lib/providers/email.provider.js +26 -26
- package/esm2015/auth/lib/providers/verify.provider.js +20 -20
- package/esm2015/auth/lib/tokens/use-authorization.token.js +3 -3
- package/esm2015/auth/public_api.js +19 -19
- package/esm2015/bravobit-bb-foundation.js +4 -4
- package/esm2015/collections/bravobit-bb-foundation-collections.js +5 -0
- package/esm2015/collections/lib/collection.js +88 -0
- package/esm2015/collections/lib/collections.module.js +54 -0
- package/esm2015/collections/lib/components/collections-pager/collections-pager.component.js +136 -0
- package/esm2015/collections/lib/components/collections-viewer/collections-viewer.component.js +39 -0
- package/esm2015/collections/lib/components/collections.directive.js +43 -0
- package/esm2015/collections/lib/interfaces/collection.interface.js +2 -0
- package/esm2015/collections/lib/providers/api-collection.provider.js +69 -0
- package/esm2015/collections/lib/providers/collection.provider.js +14 -0
- package/esm2015/collections/lib/providers/local-collection.provider.js +16 -0
- package/esm2015/collections/public_api.js +10 -0
- package/esm2015/dashboard/bravobit-bb-foundation-dashboard.js +4 -4
- package/esm2015/dashboard/lib/dashboard/dashboard.component.js +64 -64
- package/esm2015/dashboard/lib/dashboard-header/dashboard-header.component.js +41 -41
- package/esm2015/dashboard/lib/dashboard-menu/dashboard-menu.component.js +39 -39
- package/esm2015/dashboard/lib/dashboard-menu-item/dashboard-menu-item.component.js +38 -38
- package/esm2015/dashboard/lib/dashboard-sidebar/dashboard-sidebar.component.js +83 -83
- package/esm2015/dashboard/lib/dashboard-sidebar-group/dashboard-sidebar-group.component.js +110 -110
- package/esm2015/dashboard/lib/dashboard-sidebar-item/dashboard-sidebar-item.component.js +71 -71
- package/esm2015/dashboard/lib/dashboard.module.js +47 -47
- package/esm2015/dashboard/public_api.js +9 -9
- package/esm2015/dialog/bravobit-bb-foundation-dialog.js +4 -4
- package/esm2015/dialog/lib/dialog-actions/dialog-actions.component.js +20 -20
- package/esm2015/dialog/lib/dialog-confirm/dialog-confirm.component.js +45 -45
- package/esm2015/dialog/lib/dialog-container/dialog-container.component.js +162 -162
- package/esm2015/dialog/lib/dialog-header/dialog-header.component.js +33 -33
- package/esm2015/dialog/lib/dialog-link/dialog-link.component.js +19 -19
- package/esm2015/dialog/lib/dialog-modal/dialog-modal.component.js +54 -54
- package/esm2015/dialog/lib/dialog-overlay/dialog-overlay.component.js +143 -143
- package/esm2015/dialog/lib/dialog.injector.js +18 -18
- package/esm2015/dialog/lib/dialog.insertion.js +16 -16
- package/esm2015/dialog/lib/dialog.interfaces.js +3 -3
- package/esm2015/dialog/lib/dialog.module.js +74 -74
- package/esm2015/dialog/lib/dialog.ref.js +22 -22
- package/esm2015/dialog/lib/dialog.service.js +77 -77
- package/esm2015/dialog/public_api.js +10 -10
- package/esm2015/elements/bravobit-bb-foundation-elements.js +4 -4
- package/esm2015/elements/lib/avatar/avatar.component.js +151 -151
- package/esm2015/elements/lib/button/button.component.js +79 -79
- package/esm2015/elements/lib/checkbox/checkbox.component.js +83 -83
- package/esm2015/elements/lib/date-picker/date-picker.component.js +322 -322
- package/esm2015/elements/lib/directives/addon.directive.js +29 -29
- package/esm2015/elements/lib/directives/autosize.directive.js +74 -74
- package/esm2015/elements/lib/directives/focus-trap.directive.js +77 -77
- package/esm2015/elements/lib/directives/focus.directive.js +39 -39
- package/esm2015/elements/lib/directives/form-submit.directive.js +53 -53
- package/esm2015/elements/lib/directives/input.directive.js +139 -139
- package/esm2015/elements/lib/directives/template.directive.js +28 -28
- package/esm2015/elements/lib/dropdown/dropdown.component.js +111 -111
- package/esm2015/elements/lib/elements.interfaces.js +4 -4
- package/esm2015/elements/lib/elements.module.js +177 -177
- package/esm2015/elements/lib/file-picker/file-picker.component.js +247 -247
- package/esm2015/elements/lib/form-control/form-control.component.js +58 -58
- package/esm2015/elements/lib/form-error/form-error.component.js +116 -116
- package/esm2015/elements/lib/form-group/form-group.component.js +27 -27
- package/esm2015/elements/lib/icon/icon.component.js +110 -110
- package/esm2015/elements/lib/image-picker/image-picker.component.js +119 -119
- package/esm2015/elements/lib/pipes/file-image.pipe.js +45 -45
- package/esm2015/elements/lib/pipes/file-size.pipe.js +28 -28
- package/esm2015/elements/lib/pipes/relative-time.pipe.js +96 -96
- package/esm2015/elements/lib/spinner/spinner.component.js +34 -34
- package/esm2015/elements/lib/tag/tag.component.js +26 -26
- package/esm2015/elements/public_api.js +26 -26
- package/esm2015/http/bravobit-bb-foundation-http.js +4 -4
- package/esm2015/http/lib/classes/http.config.js +31 -31
- package/esm2015/http/lib/classes/http.error.js +21 -21
- package/esm2015/http/lib/http.interfaces.js +2 -2
- package/esm2015/http/lib/http.module.js +43 -43
- package/esm2015/http/lib/interceptors/base-url.interceptor.js +52 -52
- package/esm2015/http/lib/interceptors/error.interceptor.js +33 -33
- package/esm2015/http/public_api.js +7 -7
- package/esm2015/lib/core/coercions/boolean-coercion.js +4 -4
- package/esm2015/lib/core/miscellaneous/regex.js +5 -5
- package/esm2015/lib/core/miscellaneous/validator.js +86 -86
- package/esm2015/lib/core/mixins/can-disable.js +16 -16
- package/esm2015/lib/core/mixins/can-hide-errors.js +16 -16
- package/esm2015/lib/core/mixins/can-load.js +16 -16
- package/esm2015/lib/core/mixins/constructor.js +2 -2
- package/esm2015/lib/core/mixins/has-error.js +16 -16
- package/esm2015/lib/core/mixins/is-focused.js +16 -16
- package/esm2015/lib/core/mixins/is-grouped.js +16 -16
- package/esm2015/lib/core/mixins/is-readonly.js +16 -16
- package/esm2015/lib/core/mixins/is-required.js +16 -16
- package/esm2015/lib/core/services/clipboard.service.js +72 -0
- package/esm2015/lib/core/services/exif.service.js +168 -168
- package/esm2015/lib/core/services/file-loader.service.js +90 -90
- package/esm2015/lib/core/services/image-converter.service.js +130 -130
- package/esm2015/lib/core/services/languages.service.js +74 -74
- package/esm2015/lib/core/services/network.service.js +56 -56
- package/esm2015/lib/core/services/patch.service.js +65 -65
- package/esm2015/lib/core/services/platform.service.js +42 -42
- package/esm2015/lib/core/tokens/accept-language.token.js +3 -3
- package/esm2015/lib/core/tokens/base-url.token.js +3 -3
- package/esm2015/lib/core/tokens/cookie.token.js +3 -3
- package/esm2015/lib/core/tokens/location.token.js +6 -6
- package/esm2015/lib/core/tokens/navigator.token.js +6 -6
- package/esm2015/lib/core/tokens/window.token.js +12 -12
- package/esm2015/localize/bravobit-bb-foundation-localize.js +4 -4
- package/esm2015/localize/lib/functions/date.function.js +18 -18
- package/esm2015/localize/lib/functions/lowercase.function.js +13 -13
- package/esm2015/localize/lib/functions/uppercase.function.js +13 -13
- package/esm2015/localize/lib/handlers/missing.handler.js +17 -17
- package/esm2015/localize/lib/interfaces/config.interfaces.js +10 -10
- package/esm2015/localize/lib/interfaces/dictionary.interfaces.js +8 -8
- package/esm2015/localize/lib/interfaces/functions.interfaces.js +8 -8
- package/esm2015/localize/lib/interfaces/handlers.interfaces.js +2 -2
- package/esm2015/localize/lib/interfaces/options.interfaces.js +6 -6
- package/esm2015/localize/lib/localizations/dutch.localization.js +53 -53
- package/esm2015/localize/lib/localizations/english.localization.js +53 -53
- package/esm2015/localize/lib/localize.dictionary.js +137 -137
- package/esm2015/localize/lib/localize.module.js +69 -69
- package/esm2015/localize/lib/localize.pipe.js +49 -49
- package/esm2015/localize/lib/localize.service.js +282 -282
- package/esm2015/localize/lib/views/localize-string/localize-string.component.js +99 -99
- package/esm2015/localize/lib/views/localize-template-or-string.directive.js +28 -28
- package/esm2015/localize/lib/views/localize-template.directive.js +21 -21
- package/esm2015/localize/public_api.js +18 -18
- package/esm2015/notifications/bravobit-bb-foundation-notifications.js +4 -4
- package/esm2015/notifications/lib/notifications-item/notifications-item.component.js +108 -108
- package/esm2015/notifications/lib/notifications-list/notifications-list.component.js +56 -56
- package/esm2015/notifications/lib/notifications.animations.js +28 -28
- package/esm2015/notifications/lib/notifications.injector.js +18 -18
- package/esm2015/notifications/lib/notifications.interfaces.js +20 -20
- package/esm2015/notifications/lib/notifications.module.js +31 -31
- package/esm2015/notifications/lib/notifications.service.js +145 -145
- package/esm2015/notifications/public_api.js +4 -4
- package/esm2015/public_api.js +30 -29
- package/esm2015/recaptcha/bravobit-bb-foundation-recaptcha.js +4 -4
- package/esm2015/recaptcha/lib/recaptcha/recaptcha.component.js +199 -199
- package/esm2015/recaptcha/lib/recaptcha-loader.service.js +93 -93
- package/esm2015/recaptcha/lib/recaptcha.interface.js +3 -3
- package/esm2015/recaptcha/lib/recaptcha.module.js +27 -27
- package/esm2015/recaptcha/public_api.js +5 -5
- package/esm2015/rxjs/bravobit-bb-foundation-rxjs.js +4 -4
- package/esm2015/rxjs/lib/operators/combine-latest-map.operator.js +7 -7
- package/esm2015/rxjs/lib/operators/filter-nil.operator.js +5 -5
- package/esm2015/rxjs/public_api.js +3 -3
- package/esm2015/storage/bravobit-bb-foundation-storage.js +4 -4
- package/esm2015/storage/lib/interfaces/attributes.interface.js +2 -2
- package/esm2015/storage/lib/interfaces/memory.interface.js +2 -2
- package/esm2015/storage/lib/interfaces/strategy.interface.js +2 -2
- package/esm2015/storage/lib/storage.service.js +111 -111
- package/esm2015/storage/lib/strategies/cookie-storage.strategy.js +143 -143
- package/esm2015/storage/lib/strategies/memory-storage.strategy.js +56 -56
- package/esm2015/storage/lib/strategies/polyfill-storage.strategy.js +102 -102
- package/esm2015/storage/public_api.js +8 -8
- package/esm2015/table/bravobit-bb-foundation-table.js +4 -4
- package/esm2015/table/lib/components/table/table.component.js +183 -183
- package/esm2015/table/lib/components/table-cell/table-cell.component.js +19 -19
- package/esm2015/table/lib/components/table-header-cell/table-header-cell.component.js +141 -141
- package/esm2015/table/lib/components/table-pager/table-pager.component.js +146 -146
- package/esm2015/table/lib/data/datasource.data.js +32 -32
- package/esm2015/table/lib/data/generic.data.js +73 -73
- package/esm2015/table/lib/interfaces/datasource.interface.js +2 -2
- package/esm2015/table/lib/interfaces/table.interfaces.js +2 -2
- package/esm2015/table/lib/table.module.js +39 -39
- package/esm2015/table/public_api.js +10 -10
- package/fesm2015/bravobit-bb-foundation-auth.js +915 -915
- package/fesm2015/bravobit-bb-foundation-auth.js.map +1 -1
- package/fesm2015/bravobit-bb-foundation-collections.js +447 -0
- package/fesm2015/bravobit-bb-foundation-collections.js.map +1 -0
- package/fesm2015/bravobit-bb-foundation-dashboard.js +434 -434
- package/fesm2015/bravobit-bb-foundation-dashboard.js.map +1 -1
- package/fesm2015/bravobit-bb-foundation-dialog.js +603 -603
- package/fesm2015/bravobit-bb-foundation-dialog.js.map +1 -1
- package/fesm2015/bravobit-bb-foundation-elements.js +2076 -2076
- package/fesm2015/bravobit-bb-foundation-elements.js.map +1 -1
- package/fesm2015/bravobit-bb-foundation-http.js +154 -154
- package/fesm2015/bravobit-bb-foundation-http.js.map +1 -1
- package/fesm2015/bravobit-bb-foundation-localize.js +796 -796
- package/fesm2015/bravobit-bb-foundation-localize.js.map +1 -1
- package/fesm2015/bravobit-bb-foundation-notifications.js +364 -364
- package/fesm2015/bravobit-bb-foundation-notifications.js.map +1 -1
- package/fesm2015/bravobit-bb-foundation-recaptcha.js +297 -297
- package/fesm2015/bravobit-bb-foundation-recaptcha.js.map +1 -1
- package/fesm2015/bravobit-bb-foundation-rxjs.js +7 -7
- package/fesm2015/bravobit-bb-foundation-rxjs.js.map +1 -1
- package/fesm2015/bravobit-bb-foundation-storage.js +399 -399
- package/fesm2015/bravobit-bb-foundation-storage.js.map +1 -1
- package/fesm2015/bravobit-bb-foundation-table.js +578 -578
- package/fesm2015/bravobit-bb-foundation-table.js.map +1 -1
- package/fesm2015/bravobit-bb-foundation.js +854 -785
- package/fesm2015/bravobit-bb-foundation.js.map +1 -1
- package/http/bravobit-bb-foundation-http.d.ts +5 -5
- package/http/lib/classes/http.config.d.ts +9 -9
- package/http/lib/classes/http.error.d.ts +7 -7
- package/http/lib/http.interfaces.d.ts +12 -12
- package/http/lib/http.module.d.ts +15 -15
- package/http/lib/interceptors/base-url.interceptor.d.ts +15 -15
- package/http/lib/interceptors/error.interceptor.d.ts +11 -11
- package/http/public_api.d.ts +6 -6
- package/lib/core/coercions/boolean-coercion.d.ts +1 -1
- package/lib/core/miscellaneous/regex.d.ts +4 -4
- package/lib/core/miscellaneous/validator.d.ts +13 -13
- package/lib/core/mixins/can-disable.d.ts +6 -6
- package/lib/core/mixins/can-hide-errors.d.ts +6 -6
- package/lib/core/mixins/can-load.d.ts +6 -6
- package/lib/core/mixins/constructor.d.ts +1 -1
- package/lib/core/mixins/has-error.d.ts +6 -6
- package/lib/core/mixins/is-focused.d.ts +6 -6
- package/lib/core/mixins/is-grouped.d.ts +6 -6
- package/lib/core/mixins/is-readonly.d.ts +6 -6
- package/lib/core/mixins/is-required.d.ts +6 -6
- package/lib/core/services/clipboard.service.d.ts +18 -0
- package/lib/core/services/exif.service.d.ts +15 -15
- package/lib/core/services/file-loader.service.d.ts +13 -13
- package/lib/core/services/image-converter.service.d.ts +21 -21
- package/lib/core/services/languages.service.d.ts +16 -16
- package/lib/core/services/network.service.d.ts +14 -14
- package/lib/core/services/patch.service.d.ts +16 -16
- package/lib/core/services/platform.service.d.ts +18 -18
- package/lib/core/tokens/accept-language.token.d.ts +2 -2
- package/lib/core/tokens/base-url.token.d.ts +2 -2
- package/lib/core/tokens/cookie.token.d.ts +2 -2
- package/lib/core/tokens/location.token.d.ts +2 -2
- package/lib/core/tokens/navigator.token.d.ts +2 -2
- package/lib/core/tokens/window.token.d.ts +2 -2
- package/localize/bravobit-bb-foundation-localize.d.ts +5 -5
- package/localize/lib/functions/date.function.d.ts +5 -5
- package/localize/lib/functions/lowercase.function.d.ts +5 -5
- package/localize/lib/functions/uppercase.function.d.ts +5 -5
- package/localize/lib/handlers/missing.handler.d.ts +6 -6
- package/localize/lib/interfaces/config.interfaces.d.ts +8 -8
- package/localize/lib/interfaces/dictionary.interfaces.d.ts +12 -12
- package/localize/lib/interfaces/functions.interfaces.d.ts +9 -9
- package/localize/lib/interfaces/handlers.interfaces.d.ts +6 -6
- package/localize/lib/interfaces/options.interfaces.d.ts +10 -10
- package/localize/lib/localizations/dutch.localization.d.ts +51 -51
- package/localize/lib/localizations/english.localization.d.ts +51 -51
- package/localize/lib/localize.dictionary.d.ts +24 -24
- package/localize/lib/localize.module.d.ts +18 -18
- package/localize/lib/localize.pipe.d.ts +12 -12
- package/localize/lib/localize.service.d.ts +51 -51
- package/localize/lib/views/localize-string/localize-string.component.d.ts +23 -23
- package/localize/lib/views/localize-template-or-string.directive.d.ts +10 -10
- package/localize/lib/views/localize-template.directive.d.ts +9 -9
- package/localize/public_api.d.ts +17 -17
- package/notifications/bravobit-bb-foundation-notifications.d.ts +5 -5
- package/notifications/lib/notifications-item/notifications-item.component.d.ts +34 -34
- package/notifications/lib/notifications-list/notifications-list.component.d.ts +16 -16
- package/notifications/lib/notifications.animations.d.ts +1 -1
- package/notifications/lib/notifications.injector.d.ts +8 -8
- package/notifications/lib/notifications.interfaces.d.ts +49 -49
- package/notifications/lib/notifications.module.d.ts +13 -13
- package/notifications/lib/notifications.service.d.ts +34 -34
- package/notifications/public_api.d.ts +3 -3
- package/package.json +5 -5
- package/public_api.d.ts +26 -25
- package/recaptcha/bravobit-bb-foundation-recaptcha.d.ts +5 -5
- package/recaptcha/lib/recaptcha/recaptcha.component.d.ts +47 -47
- package/recaptcha/lib/recaptcha-loader.service.d.ts +22 -22
- package/recaptcha/lib/recaptcha.interface.d.ts +14 -14
- package/recaptcha/lib/recaptcha.module.d.ts +10 -10
- package/recaptcha/public_api.d.ts +4 -4
- package/rxjs/bravobit-bb-foundation-rxjs.d.ts +5 -5
- package/rxjs/lib/operators/combine-latest-map.operator.d.ts +8 -8
- package/rxjs/lib/operators/filter-nil.operator.d.ts +1 -1
- package/rxjs/public_api.d.ts +2 -2
- package/storage/bravobit-bb-foundation-storage.d.ts +5 -5
- package/storage/lib/interfaces/attributes.interface.d.ts +13 -13
- package/storage/lib/interfaces/memory.interface.d.ts +7 -7
- package/storage/lib/interfaces/strategy.interface.d.ts +17 -17
- package/storage/lib/storage.service.d.ts +26 -26
- package/storage/lib/strategies/cookie-storage.strategy.d.ts +20 -20
- package/storage/lib/strategies/memory-storage.strategy.d.ts +11 -11
- package/storage/lib/strategies/polyfill-storage.strategy.d.ts +15 -15
- package/storage/public_api.d.ts +7 -7
- package/table/bravobit-bb-foundation-table.d.ts +5 -5
- package/table/lib/components/table/table.component.d.ts +48 -48
- package/table/lib/components/table-cell/table-cell.component.d.ts +5 -5
- package/table/lib/components/table-header-cell/table-header-cell.component.d.ts +29 -29
- package/table/lib/components/table-pager/table-pager.component.d.ts +41 -41
- package/table/lib/data/datasource.data.d.ts +14 -14
- package/table/lib/data/generic.data.d.ts +23 -23
- package/table/lib/interfaces/datasource.interface.d.ts +17 -17
- package/table/lib/interfaces/table.interfaces.d.ts +1 -1
- package/table/lib/table.module.d.ts +14 -14
- package/table/public_api.d.ts +9 -9
|
@@ -4,170 +4,170 @@ import { HttpErrorResponse, HTTP_INTERCEPTORS, HttpClientModule } from '@angular
|
|
|
4
4
|
import { catchError } from 'rxjs/operators';
|
|
5
5
|
import { throwError } from 'rxjs';
|
|
6
6
|
|
|
7
|
-
class HttpConfig {
|
|
8
|
-
constructor(data) {
|
|
9
|
-
var _a, _b, _c, _d, _e, _f, _g;
|
|
10
|
-
this.parseAliases = (value, standardAlias) => {
|
|
11
|
-
var _a;
|
|
12
|
-
if (typeof value === 'string') {
|
|
13
|
-
value = { [standardAlias]: value };
|
|
14
|
-
}
|
|
15
|
-
if (isDevMode()) {
|
|
16
|
-
const stringRegex = /^[a-zA-Z]+$/;
|
|
17
|
-
for (const alias in value) {
|
|
18
|
-
if (value.hasOwnProperty(alias) && !stringRegex.test(alias)) {
|
|
19
|
-
(_a = console === null || console === void 0 ? void 0 : console.warn) === null || _a === void 0 ? void 0 : _a.call(console, `[HttpModule]: Invalid HTTP-alias in HttpConfig named "${alias}"; only latin characters should be used.`);
|
|
20
|
-
}
|
|
21
|
-
}
|
|
22
|
-
}
|
|
23
|
-
return value;
|
|
24
|
-
};
|
|
25
|
-
// Get the data from the config.
|
|
26
|
-
this.prefix = (_b = (_a = data === null || data === void 0 ? void 0 : data.alias) === null || _a === void 0 ? void 0 : _a.prefix) !== null && _b !== void 0 ? _b : '$';
|
|
27
|
-
this.disableErrorParsing = (_c = data === null || data === void 0 ? void 0 : data.disableErrorParsing) !== null && _c !== void 0 ? _c : false;
|
|
28
|
-
// Parse the aliases.
|
|
29
|
-
const standardAlias = (_e = (_d = data === null || data === void 0 ? void 0 : data.alias) === null || _d === void 0 ? void 0 : _d.standard) !== null && _e !== void 0 ? _e : 'api';
|
|
30
|
-
this.aliases = this.parseAliases(data === null || data === void 0 ? void 0 : data.url, standardAlias);
|
|
31
|
-
// Get the default alias.
|
|
32
|
-
const firstAvailableAlias = (_g = Object.keys((_f = this.aliases) !== null && _f !== void 0 ? _f : {})) === null || _g === void 0 ? void 0 : _g[0];
|
|
33
|
-
this.defaultAlias = `${this.prefix}${firstAvailableAlias}`;
|
|
34
|
-
}
|
|
7
|
+
class HttpConfig {
|
|
8
|
+
constructor(data) {
|
|
9
|
+
var _a, _b, _c, _d, _e, _f, _g;
|
|
10
|
+
this.parseAliases = (value, standardAlias) => {
|
|
11
|
+
var _a;
|
|
12
|
+
if (typeof value === 'string') {
|
|
13
|
+
value = { [standardAlias]: value };
|
|
14
|
+
}
|
|
15
|
+
if (isDevMode()) {
|
|
16
|
+
const stringRegex = /^[a-zA-Z]+$/;
|
|
17
|
+
for (const alias in value) {
|
|
18
|
+
if (value.hasOwnProperty(alias) && !stringRegex.test(alias)) {
|
|
19
|
+
(_a = console === null || console === void 0 ? void 0 : console.warn) === null || _a === void 0 ? void 0 : _a.call(console, `[HttpModule]: Invalid HTTP-alias in HttpConfig named "${alias}"; only latin characters should be used.`);
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
return value;
|
|
24
|
+
};
|
|
25
|
+
// Get the data from the config.
|
|
26
|
+
this.prefix = (_b = (_a = data === null || data === void 0 ? void 0 : data.alias) === null || _a === void 0 ? void 0 : _a.prefix) !== null && _b !== void 0 ? _b : '$';
|
|
27
|
+
this.disableErrorParsing = (_c = data === null || data === void 0 ? void 0 : data.disableErrorParsing) !== null && _c !== void 0 ? _c : false;
|
|
28
|
+
// Parse the aliases.
|
|
29
|
+
const standardAlias = (_e = (_d = data === null || data === void 0 ? void 0 : data.alias) === null || _d === void 0 ? void 0 : _d.standard) !== null && _e !== void 0 ? _e : 'api';
|
|
30
|
+
this.aliases = this.parseAliases(data === null || data === void 0 ? void 0 : data.url, standardAlias);
|
|
31
|
+
// Get the default alias.
|
|
32
|
+
const firstAvailableAlias = (_g = Object.keys((_f = this.aliases) !== null && _f !== void 0 ? _f : {})) === null || _g === void 0 ? void 0 : _g[0];
|
|
33
|
+
this.defaultAlias = `${this.prefix}${firstAvailableAlias}`;
|
|
34
|
+
}
|
|
35
35
|
}
|
|
36
36
|
|
|
37
|
-
class HttpError extends HttpErrorResponse {
|
|
38
|
-
constructor(error) {
|
|
39
|
-
super(error);
|
|
40
|
-
}
|
|
41
|
-
get(token, delimiter = '.') {
|
|
42
|
-
var _a;
|
|
43
|
-
const error = (_a = this.error) !== null && _a !== void 0 ? _a : {};
|
|
44
|
-
return (token !== null && token !== void 0 ? token : '')
|
|
45
|
-
.split(delimiter)
|
|
46
|
-
.reduce((previous, current) => (previous === null || previous === void 0 ? void 0 : previous[current]) ? previous === null || previous === void 0 ? void 0 : previous[current] : null, error);
|
|
47
|
-
}
|
|
48
|
-
has(token, delimiter = '.') {
|
|
49
|
-
return !!this.get(token, delimiter);
|
|
50
|
-
}
|
|
51
|
-
includes(token, value) {
|
|
52
|
-
const array = this.get(token);
|
|
53
|
-
return (array !== null && array !== void 0 ? array : []).includes(value);
|
|
54
|
-
}
|
|
37
|
+
class HttpError extends HttpErrorResponse {
|
|
38
|
+
constructor(error) {
|
|
39
|
+
super(error);
|
|
40
|
+
}
|
|
41
|
+
get(token, delimiter = '.') {
|
|
42
|
+
var _a;
|
|
43
|
+
const error = (_a = this.error) !== null && _a !== void 0 ? _a : {};
|
|
44
|
+
return (token !== null && token !== void 0 ? token : '')
|
|
45
|
+
.split(delimiter)
|
|
46
|
+
.reduce((previous, current) => (previous === null || previous === void 0 ? void 0 : previous[current]) ? previous === null || previous === void 0 ? void 0 : previous[current] : null, error);
|
|
47
|
+
}
|
|
48
|
+
has(token, delimiter = '.') {
|
|
49
|
+
return !!this.get(token, delimiter);
|
|
50
|
+
}
|
|
51
|
+
includes(token, value) {
|
|
52
|
+
const array = this.get(token);
|
|
53
|
+
return (array !== null && array !== void 0 ? array : []).includes(value);
|
|
54
|
+
}
|
|
55
55
|
}
|
|
56
56
|
|
|
57
|
-
class BaseUrlInterceptor {
|
|
58
|
-
constructor(_config) {
|
|
59
|
-
var _a, _b;
|
|
60
|
-
this._config = _config;
|
|
61
|
-
// Aliases.
|
|
62
|
-
this._aliases = (_a = this._config) === null || _a === void 0 ? void 0 : _a.aliases;
|
|
63
|
-
this._prefix = (_b = this._config) === null || _b === void 0 ? void 0 : _b.prefix;
|
|
64
|
-
this._extractRegex = new RegExp(`\\${this._prefix}[a-zA-Z]+`);
|
|
65
|
-
}
|
|
66
|
-
intercept(request, next) {
|
|
67
|
-
const url = this.getUrlBasedOnAlias(request.url);
|
|
68
|
-
const modified = request.clone({ url });
|
|
69
|
-
return next.handle(modified);
|
|
70
|
-
}
|
|
71
|
-
getUrlBasedOnAlias(url) {
|
|
72
|
-
const matches = this._extractRegex.exec(url);
|
|
73
|
-
if (!matches) {
|
|
74
|
-
return url;
|
|
75
|
-
}
|
|
76
|
-
return matches.reduce((previous, current) => {
|
|
77
|
-
const alias = this.getAlias(current);
|
|
78
|
-
if (!alias) {
|
|
79
|
-
return previous;
|
|
80
|
-
}
|
|
81
|
-
return previous.replace(current, alias);
|
|
82
|
-
}, url);
|
|
83
|
-
}
|
|
84
|
-
getAlias(value) {
|
|
85
|
-
var _a, _b, _c;
|
|
86
|
-
const alias = value.replace(this._prefix, '');
|
|
87
|
-
const fetched = (_b = (_a = this._aliases) === null || _a === void 0 ? void 0 : _a[alias]) !== null && _b !== void 0 ? _b : null;
|
|
88
|
-
if (fetched) {
|
|
89
|
-
return fetched;
|
|
90
|
-
}
|
|
91
|
-
if (isDevMode()) {
|
|
92
|
-
const available = Object.keys(this._aliases)
|
|
93
|
-
.map(item => `\$${item}`)
|
|
94
|
-
.join(', ');
|
|
95
|
-
(_c = console === null || console === void 0 ? void 0 : console.warn) === null || _c === void 0 ? void 0 : _c.call(console, `[HttpModule]: Used an invalid HTTP-alias named "${value}", skipped parsing; Available aliases is one of (${available}).`);
|
|
96
|
-
}
|
|
97
|
-
return null;
|
|
98
|
-
}
|
|
99
|
-
}
|
|
100
|
-
BaseUrlInterceptor.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.
|
|
101
|
-
BaseUrlInterceptor.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.
|
|
102
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.
|
|
103
|
-
type: Injectable
|
|
57
|
+
class BaseUrlInterceptor {
|
|
58
|
+
constructor(_config) {
|
|
59
|
+
var _a, _b;
|
|
60
|
+
this._config = _config;
|
|
61
|
+
// Aliases.
|
|
62
|
+
this._aliases = (_a = this._config) === null || _a === void 0 ? void 0 : _a.aliases;
|
|
63
|
+
this._prefix = (_b = this._config) === null || _b === void 0 ? void 0 : _b.prefix;
|
|
64
|
+
this._extractRegex = new RegExp(`\\${this._prefix}[a-zA-Z]+`);
|
|
65
|
+
}
|
|
66
|
+
intercept(request, next) {
|
|
67
|
+
const url = this.getUrlBasedOnAlias(request.url);
|
|
68
|
+
const modified = request.clone({ url });
|
|
69
|
+
return next.handle(modified);
|
|
70
|
+
}
|
|
71
|
+
getUrlBasedOnAlias(url) {
|
|
72
|
+
const matches = this._extractRegex.exec(url);
|
|
73
|
+
if (!matches) {
|
|
74
|
+
return url;
|
|
75
|
+
}
|
|
76
|
+
return matches.reduce((previous, current) => {
|
|
77
|
+
const alias = this.getAlias(current);
|
|
78
|
+
if (!alias) {
|
|
79
|
+
return previous;
|
|
80
|
+
}
|
|
81
|
+
return previous.replace(current, alias);
|
|
82
|
+
}, url);
|
|
83
|
+
}
|
|
84
|
+
getAlias(value) {
|
|
85
|
+
var _a, _b, _c;
|
|
86
|
+
const alias = value.replace(this._prefix, '');
|
|
87
|
+
const fetched = (_b = (_a = this._aliases) === null || _a === void 0 ? void 0 : _a[alias]) !== null && _b !== void 0 ? _b : null;
|
|
88
|
+
if (fetched) {
|
|
89
|
+
return fetched;
|
|
90
|
+
}
|
|
91
|
+
if (isDevMode()) {
|
|
92
|
+
const available = Object.keys(this._aliases)
|
|
93
|
+
.map(item => `\$${item}`)
|
|
94
|
+
.join(', ');
|
|
95
|
+
(_c = console === null || console === void 0 ? void 0 : console.warn) === null || _c === void 0 ? void 0 : _c.call(console, `[HttpModule]: Used an invalid HTTP-alias named "${value}", skipped parsing; Available aliases is one of (${available}).`);
|
|
96
|
+
}
|
|
97
|
+
return null;
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
BaseUrlInterceptor.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.10", ngImport: i0, type: BaseUrlInterceptor, deps: [{ token: HttpConfig }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
101
|
+
BaseUrlInterceptor.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.10", ngImport: i0, type: BaseUrlInterceptor });
|
|
102
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.10", ngImport: i0, type: BaseUrlInterceptor, decorators: [{
|
|
103
|
+
type: Injectable
|
|
104
104
|
}], ctorParameters: function () { return [{ type: HttpConfig }]; } });
|
|
105
105
|
|
|
106
|
-
class ErrorInterceptor {
|
|
107
|
-
constructor(_config) {
|
|
108
|
-
var _a, _b;
|
|
109
|
-
this._config = _config;
|
|
110
|
-
// State.
|
|
111
|
-
this._disabled = (_b = (_a = this._config) === null || _a === void 0 ? void 0 : _a.disableErrorParsing) !== null && _b !== void 0 ? _b : false;
|
|
112
|
-
}
|
|
113
|
-
intercept(request, next) {
|
|
114
|
-
return next.handle(request).pipe(catchError(error => {
|
|
115
|
-
// If we have a matching http error response
|
|
116
|
-
// re-map it with our custom class (if not disabled).
|
|
117
|
-
if (!this._disabled && error instanceof HttpErrorResponse) {
|
|
118
|
-
const parsed = new HttpError(error);
|
|
119
|
-
return throwError(parsed);
|
|
120
|
-
}
|
|
121
|
-
// We did not match anything, just re-trow the error.
|
|
122
|
-
return throwError(error);
|
|
123
|
-
}));
|
|
124
|
-
}
|
|
125
|
-
}
|
|
126
|
-
ErrorInterceptor.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.
|
|
127
|
-
ErrorInterceptor.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.
|
|
128
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.
|
|
129
|
-
type: Injectable
|
|
106
|
+
class ErrorInterceptor {
|
|
107
|
+
constructor(_config) {
|
|
108
|
+
var _a, _b;
|
|
109
|
+
this._config = _config;
|
|
110
|
+
// State.
|
|
111
|
+
this._disabled = (_b = (_a = this._config) === null || _a === void 0 ? void 0 : _a.disableErrorParsing) !== null && _b !== void 0 ? _b : false;
|
|
112
|
+
}
|
|
113
|
+
intercept(request, next) {
|
|
114
|
+
return next.handle(request).pipe(catchError(error => {
|
|
115
|
+
// If we have a matching http error response
|
|
116
|
+
// re-map it with our custom class (if not disabled).
|
|
117
|
+
if (!this._disabled && error instanceof HttpErrorResponse) {
|
|
118
|
+
const parsed = new HttpError(error);
|
|
119
|
+
return throwError(parsed);
|
|
120
|
+
}
|
|
121
|
+
// We did not match anything, just re-trow the error.
|
|
122
|
+
return throwError(error);
|
|
123
|
+
}));
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
ErrorInterceptor.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.10", ngImport: i0, type: ErrorInterceptor, deps: [{ token: HttpConfig }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
127
|
+
ErrorInterceptor.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.10", ngImport: i0, type: ErrorInterceptor });
|
|
128
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.10", ngImport: i0, type: ErrorInterceptor, decorators: [{
|
|
129
|
+
type: Injectable
|
|
130
130
|
}], ctorParameters: function () { return [{ type: HttpConfig }]; } });
|
|
131
131
|
|
|
132
|
-
class HttpModule {
|
|
133
|
-
constructor(_parent) {
|
|
134
|
-
this._parent = _parent;
|
|
135
|
-
if (this._parent) {
|
|
136
|
-
throw new Error('HttpModule is already loaded; Import it in the core module only.');
|
|
137
|
-
}
|
|
138
|
-
}
|
|
139
|
-
static forRoot(config) {
|
|
140
|
-
return {
|
|
141
|
-
ngModule: HttpModule,
|
|
142
|
-
providers: [
|
|
143
|
-
{ provide: HTTP_CONFIGURATION_DATA, useValue: config },
|
|
144
|
-
{ provide: HttpConfig, useFactory: createHttpConfig, deps: [HTTP_CONFIGURATION_DATA] },
|
|
145
|
-
{ provide: HTTP_INTERCEPTORS, useClass: BaseUrlInterceptor, multi: true },
|
|
146
|
-
{ provide: HTTP_INTERCEPTORS, useClass: ErrorInterceptor, multi: true }
|
|
147
|
-
]
|
|
148
|
-
};
|
|
149
|
-
}
|
|
150
|
-
}
|
|
151
|
-
HttpModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.
|
|
152
|
-
HttpModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.
|
|
153
|
-
HttpModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.
|
|
154
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.
|
|
155
|
-
type: NgModule,
|
|
156
|
-
args: [{
|
|
157
|
-
imports: [HttpClientModule]
|
|
158
|
-
}]
|
|
159
|
-
}], ctorParameters: function () { return [{ type: HttpModule, decorators: [{
|
|
160
|
-
type: Optional
|
|
161
|
-
}, {
|
|
162
|
-
type: SkipSelf
|
|
163
|
-
}] }]; } });
|
|
164
|
-
const HTTP_CONFIGURATION_DATA = new InjectionToken('HTTP_CONFIGURATION_DATA');
|
|
165
|
-
function createHttpConfig(data) {
|
|
166
|
-
return new HttpConfig(data);
|
|
132
|
+
class HttpModule {
|
|
133
|
+
constructor(_parent) {
|
|
134
|
+
this._parent = _parent;
|
|
135
|
+
if (this._parent) {
|
|
136
|
+
throw new Error('HttpModule is already loaded; Import it in the core module only.');
|
|
137
|
+
}
|
|
138
|
+
}
|
|
139
|
+
static forRoot(config) {
|
|
140
|
+
return {
|
|
141
|
+
ngModule: HttpModule,
|
|
142
|
+
providers: [
|
|
143
|
+
{ provide: HTTP_CONFIGURATION_DATA, useValue: config },
|
|
144
|
+
{ provide: HttpConfig, useFactory: createHttpConfig, deps: [HTTP_CONFIGURATION_DATA] },
|
|
145
|
+
{ provide: HTTP_INTERCEPTORS, useClass: BaseUrlInterceptor, multi: true },
|
|
146
|
+
{ provide: HTTP_INTERCEPTORS, useClass: ErrorInterceptor, multi: true }
|
|
147
|
+
]
|
|
148
|
+
};
|
|
149
|
+
}
|
|
150
|
+
}
|
|
151
|
+
HttpModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.10", ngImport: i0, type: HttpModule, deps: [{ token: HttpModule, optional: true, skipSelf: true }], target: i0.ɵɵFactoryTarget.NgModule });
|
|
152
|
+
HttpModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.10", ngImport: i0, type: HttpModule, imports: [HttpClientModule] });
|
|
153
|
+
HttpModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.10", ngImport: i0, type: HttpModule, imports: [[HttpClientModule]] });
|
|
154
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.10", ngImport: i0, type: HttpModule, decorators: [{
|
|
155
|
+
type: NgModule,
|
|
156
|
+
args: [{
|
|
157
|
+
imports: [HttpClientModule]
|
|
158
|
+
}]
|
|
159
|
+
}], ctorParameters: function () { return [{ type: HttpModule, decorators: [{
|
|
160
|
+
type: Optional
|
|
161
|
+
}, {
|
|
162
|
+
type: SkipSelf
|
|
163
|
+
}] }]; } });
|
|
164
|
+
const HTTP_CONFIGURATION_DATA = new InjectionToken('HTTP_CONFIGURATION_DATA');
|
|
165
|
+
function createHttpConfig(data) {
|
|
166
|
+
return new HttpConfig(data);
|
|
167
167
|
}
|
|
168
168
|
|
|
169
|
-
/**
|
|
170
|
-
* Generated bundle index. Do not edit.
|
|
169
|
+
/**
|
|
170
|
+
* Generated bundle index. Do not edit.
|
|
171
171
|
*/
|
|
172
172
|
|
|
173
173
|
export { BaseUrlInterceptor, ErrorInterceptor, HTTP_CONFIGURATION_DATA, HttpConfig, HttpError, HttpModule, createHttpConfig };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bravobit-bb-foundation-http.js","sources":["../../../projects/bb-foundation/http/src/lib/classes/http.config.ts","../../../projects/bb-foundation/http/src/lib/classes/http.error.ts","../../../projects/bb-foundation/http/src/lib/interceptors/base-url.interceptor.ts","../../../projects/bb-foundation/http/src/lib/interceptors/error.interceptor.ts","../../../projects/bb-foundation/http/src/lib/http.module.ts","../../../projects/bb-foundation/http/src/bravobit-bb-foundation-http.ts"],"sourcesContent":["import {HttpConfigAliases, HttpConfigData, HttpConfigUrl} from '../http.interfaces';\r\nimport {isDevMode} from '@angular/core';\r\n\r\nexport class HttpConfig {\r\n\r\n readonly aliases: HttpConfigAliases;\r\n readonly prefix: string;\r\n readonly defaultAlias: string;\r\n readonly disableErrorParsing: boolean;\r\n\r\n constructor(data: HttpConfigData) {\r\n // Get the data from the config.\r\n this.prefix = data?.alias?.prefix ?? '$';\r\n this.disableErrorParsing = data?.disableErrorParsing ?? false;\r\n\r\n // Parse the aliases.\r\n const standardAlias = data?.alias?.standard ?? 'api';\r\n this.aliases = this.parseAliases(data?.url, standardAlias);\r\n\r\n // Get the default alias.\r\n const firstAvailableAlias = Object.keys(this.aliases ?? {})?.[0];\r\n this.defaultAlias = `${this.prefix}${firstAvailableAlias}`;\r\n }\r\n\r\n private parseAliases = (value: HttpConfigUrl, standardAlias: string) => {\r\n if (typeof value === 'string') {\r\n value = {[standardAlias]: value};\r\n }\r\n\r\n if (isDevMode()) {\r\n const stringRegex = /^[a-zA-Z]+$/;\r\n for (const alias in value) {\r\n if (value.hasOwnProperty(alias) && !stringRegex.test(alias)) {\r\n console?.warn?.(`[HttpModule]: Invalid HTTP-alias in HttpConfig named \"${alias}\"; only latin characters should be used.`);\r\n }\r\n }\r\n }\r\n\r\n return value;\r\n };\r\n\r\n}","import {HttpErrorResponse} from '@angular/common/http';\r\n\r\nexport class HttpError extends HttpErrorResponse {\r\n\r\n constructor(error: HttpErrorResponse) {\r\n super(error);\r\n }\r\n\r\n get<T = any>(token: string, delimiter: string = '.') {\r\n const error = this.error ?? {};\r\n return (token ?? '')\r\n .split(delimiter)\r\n .reduce((previous, current) => previous?.[current] ? previous?.[current] : null, error) as T;\r\n }\r\n\r\n has(token: string, delimiter: string = '.') {\r\n return !!this.get(token, delimiter);\r\n }\r\n\r\n includes<T = any>(token: string, value: T) {\r\n const array = this.get<T[]>(token);\r\n return (array ?? []).includes(value);\r\n }\r\n\r\n}\r\n","import {HttpHandler, HttpInterceptor, HttpRequest} from '@angular/common/http';\r\nimport {HttpConfigAliases} from '../http.interfaces';\r\nimport {Injectable, isDevMode} from '@angular/core';\r\nimport {HttpConfig} from '../classes/http.config';\r\n\r\n@Injectable()\r\nexport class BaseUrlInterceptor implements HttpInterceptor {\r\n\r\n // Aliases.\r\n private readonly _aliases: HttpConfigAliases = this._config?.aliases;\r\n private readonly _prefix: string = this._config?.prefix;\r\n private readonly _extractRegex: RegExp = new RegExp(`\\\\${this._prefix}[a-zA-Z]+`);\r\n\r\n constructor(private _config: HttpConfig) {\r\n }\r\n\r\n intercept(request: HttpRequest<unknown>, next: HttpHandler) {\r\n const url = this.getUrlBasedOnAlias(request.url);\r\n const modified = request.clone({url});\r\n\r\n return next.handle(modified);\r\n }\r\n\r\n private getUrlBasedOnAlias(url: string) {\r\n const matches = this._extractRegex.exec(url);\r\n if (!matches) {\r\n return url;\r\n }\r\n\r\n return matches.reduce((previous, current) => {\r\n const alias = this.getAlias(current);\r\n if (!alias) {\r\n return previous;\r\n }\r\n\r\n return previous.replace(current, alias);\r\n }, url);\r\n }\r\n\r\n private getAlias(value: string) {\r\n const alias = value.replace(this._prefix, '');\r\n const fetched = this._aliases?.[alias] ?? null;\r\n if (fetched) {\r\n return fetched;\r\n }\r\n\r\n if (isDevMode()) {\r\n const available = Object.keys(this._aliases)\r\n .map(item => `\\$${item}`)\r\n .join(', ');\r\n console?.warn?.(`[HttpModule]: Used an invalid HTTP-alias named \"${value}\", skipped parsing; Available aliases is one of (${available}).`);\r\n }\r\n\r\n return null;\r\n }\r\n\r\n}\r\n","import {HttpErrorResponse, HttpHandler, HttpInterceptor, HttpRequest} from '@angular/common/http';\r\nimport {HttpConfig} from '../classes/http.config';\r\nimport {HttpError} from '../classes/http.error';\r\nimport {catchError} from 'rxjs/operators';\r\nimport {Injectable} from '@angular/core';\r\nimport {throwError} from 'rxjs';\r\n\r\n@Injectable()\r\nexport class ErrorInterceptor implements HttpInterceptor {\r\n\r\n // State.\r\n private readonly _disabled = this._config?.disableErrorParsing ?? false;\r\n\r\n constructor(private _config: HttpConfig) {\r\n }\r\n\r\n intercept(request: HttpRequest<unknown>, next: HttpHandler) {\r\n return next.handle(request).pipe(\r\n catchError(error => {\r\n // If we have a matching http error response\r\n // re-map it with our custom class (if not disabled).\r\n if (!this._disabled && error instanceof HttpErrorResponse) {\r\n const parsed = new HttpError(error);\r\n return throwError(parsed);\r\n }\r\n\r\n // We did not match anything, just re-trow the error.\r\n return throwError(error);\r\n })\r\n );\r\n }\r\n\r\n}\r\n","import {InjectionToken, ModuleWithProviders, NgModule, Optional, SkipSelf} from '@angular/core';\r\nimport {HTTP_INTERCEPTORS, HttpClientModule} from '@angular/common/http';\r\nimport {BaseUrlInterceptor} from './interceptors/base-url.interceptor';\r\nimport {ErrorInterceptor} from './interceptors/error.interceptor';\r\nimport {HttpConfigData} from './http.interfaces';\r\nimport {HttpConfig} from './classes/http.config';\r\n\r\n@NgModule({\r\n imports: [HttpClientModule]\r\n})\r\nexport class HttpModule {\r\n\r\n constructor(@Optional() @SkipSelf() private _parent?: HttpModule) {\r\n if (this._parent) {\r\n throw new Error('HttpModule is already loaded; Import it in the core module only.');\r\n }\r\n }\r\n\r\n static forRoot(config: HttpConfigData): ModuleWithProviders<HttpModule> {\r\n return {\r\n ngModule: HttpModule,\r\n providers: [\r\n {provide: HTTP_CONFIGURATION_DATA, useValue: config},\r\n {provide: HttpConfig, useFactory: createHttpConfig, deps: [HTTP_CONFIGURATION_DATA]},\r\n {provide: HTTP_INTERCEPTORS, useClass: BaseUrlInterceptor, multi: true},\r\n {provide: HTTP_INTERCEPTORS, useClass: ErrorInterceptor, multi: true}\r\n ]\r\n };\r\n }\r\n\r\n}\r\n\r\nexport const HTTP_CONFIGURATION_DATA = new InjectionToken<HttpConfigData>('HTTP_CONFIGURATION_DATA');\r\n\r\nexport function createHttpConfig(data: HttpConfigData) {\r\n return new HttpConfig(data);\r\n}","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":";;;;;;MAGa,UAAU;IAOnB,YAAY,IAAoB;;QAcxB,iBAAY,GAAG,CAAC,KAAoB,EAAE,aAAqB;;YAC/D,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;gBAC3B,KAAK,GAAG,EAAC,CAAC,aAAa,GAAG,KAAK,EAAC,CAAC;aACpC;YAED,IAAI,SAAS,EAAE,EAAE;gBACb,MAAM,WAAW,GAAG,aAAa,CAAC;gBAClC,KAAK,MAAM,KAAK,IAAI,KAAK,EAAE;oBACvB,IAAI,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE;wBACzD,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,IAAI,+CAAb,OAAO,EAAS,yDAAyD,KAAK,0CAA0C,CAAC,CAAC;qBAC7H;iBACJ;aACJ;YAED,OAAO,KAAK,CAAC;SAChB,CAAC;;QA3BE,IAAI,CAAC,MAAM,GAAG,MAAA,MAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,KAAK,0CAAE,MAAM,mCAAI,GAAG,CAAC;QACzC,IAAI,CAAC,mBAAmB,GAAG,MAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,mBAAmB,mCAAI,KAAK,CAAC;;QAG9D,MAAM,aAAa,GAAG,MAAA,MAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,KAAK,0CAAE,QAAQ,mCAAI,KAAK,CAAC;QACrD,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,GAAG,EAAE,aAAa,CAAC,CAAC;;QAG3D,MAAM,mBAAmB,GAAG,MAAA,MAAM,CAAC,IAAI,CAAC,MAAA,IAAI,CAAC,OAAO,mCAAI,EAAE,CAAC,0CAAG,CAAC,CAAC,CAAC;QACjE,IAAI,CAAC,YAAY,GAAG,GAAG,IAAI,CAAC,MAAM,GAAG,mBAAmB,EAAE,CAAC;KAC9D;;;MCpBQ,SAAU,SAAQ,iBAAiB;IAE5C,YAAY,KAAwB;QAChC,KAAK,CAAC,KAAK,CAAC,CAAC;KAChB;IAED,GAAG,CAAU,KAAa,EAAE,YAAoB,GAAG;;QAC/C,MAAM,KAAK,GAAG,MAAA,IAAI,CAAC,KAAK,mCAAI,EAAE,CAAC;QAC/B,OAAO,CAAC,KAAK,aAAL,KAAK,cAAL,KAAK,GAAI,EAAE;aACd,KAAK,CAAC,SAAS,CAAC;aAChB,MAAM,CAAC,CAAC,QAAQ,EAAE,OAAO,KAAK,CAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAG,OAAO,CAAC,IAAG,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAG,OAAO,CAAC,GAAG,IAAI,EAAE,KAAK,CAAM,CAAC;KACpG;IAED,GAAG,CAAC,KAAa,EAAE,YAAoB,GAAG;QACtC,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;KACvC;IAED,QAAQ,CAAU,KAAa,EAAE,KAAQ;QACrC,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAM,KAAK,CAAC,CAAC;QACnC,OAAO,CAAC,KAAK,aAAL,KAAK,cAAL,KAAK,GAAI,EAAE,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC;KACxC;;;MChBQ,kBAAkB;IAO3B,YAAoB,OAAmB;;QAAnB,YAAO,GAAP,OAAO,CAAY;;QAJtB,aAAQ,GAAsB,MAAA,IAAI,CAAC,OAAO,0CAAE,OAAO,CAAC;QACpD,YAAO,GAAW,MAAA,IAAI,CAAC,OAAO,0CAAE,MAAM,CAAC;QACvC,kBAAa,GAAW,IAAI,MAAM,CAAC,KAAK,IAAI,CAAC,OAAO,WAAW,CAAC,CAAC;KAGjF;IAED,SAAS,CAAC,OAA6B,EAAE,IAAiB;QACtD,MAAM,GAAG,GAAG,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACjD,MAAM,QAAQ,GAAG,OAAO,CAAC,KAAK,CAAC,EAAC,GAAG,EAAC,CAAC,CAAC;QAEtC,OAAO,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;KAChC;IAEO,kBAAkB,CAAC,GAAW;QAClC,MAAM,OAAO,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC7C,IAAI,CAAC,OAAO,EAAE;YACV,OAAO,GAAG,CAAC;SACd;QAED,OAAO,OAAO,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE,OAAO;YACpC,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;YACrC,IAAI,CAAC,KAAK,EAAE;gBACR,OAAO,QAAQ,CAAC;aACnB;YAED,OAAO,QAAQ,CAAC,OAAO,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;SAC3C,EAAE,GAAG,CAAC,CAAC;KACX;IAEO,QAAQ,CAAC,KAAa;;QAC1B,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QAC9C,MAAM,OAAO,GAAG,MAAA,MAAA,IAAI,CAAC,QAAQ,0CAAG,KAAK,CAAC,mCAAI,IAAI,CAAC;QAC/C,IAAI,OAAO,EAAE;YACT,OAAO,OAAO,CAAC;SAClB;QAED,IAAI,SAAS,EAAE,EAAE;YACb,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC;iBACvC,GAAG,CAAC,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;iBACxB,IAAI,CAAC,IAAI,CAAC,CAAC;YAChB,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,IAAI,+CAAb,OAAO,EAAS,mDAAmD,KAAK,oDAAoD,SAAS,IAAI,CAAC,CAAC;SAC9I;QAED,OAAO,IAAI,CAAC;KACf;;+GAhDQ,kBAAkB;mHAAlB,kBAAkB;2FAAlB,kBAAkB;kBAD9B,UAAU;;;MCGE,gBAAgB;IAKzB,YAAoB,OAAmB;;QAAnB,YAAO,GAAP,OAAO,CAAY;;QAFtB,cAAS,GAAG,MAAA,MAAA,IAAI,CAAC,OAAO,0CAAE,mBAAmB,mCAAI,KAAK,CAAC;KAGvE;IAED,SAAS,CAAC,OAA6B,EAAE,IAAiB;QACtD,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAC5B,UAAU,CAAC,KAAK;;;YAGZ,IAAI,CAAC,IAAI,CAAC,SAAS,IAAI,KAAK,YAAY,iBAAiB,EAAE;gBACvD,MAAM,MAAM,GAAG,IAAI,SAAS,CAAC,KAAK,CAAC,CAAC;gBACpC,OAAO,UAAU,CAAC,MAAM,CAAC,CAAC;aAC7B;;YAGD,OAAO,UAAU,CAAC,KAAK,CAAC,CAAC;SAC5B,CAAC,CACL,CAAC;KACL;;6GAtBQ,gBAAgB;iHAAhB,gBAAgB;2FAAhB,gBAAgB;kBAD5B,UAAU;;;MCGE,UAAU;IAEnB,YAA4C,OAAoB;QAApB,YAAO,GAAP,OAAO,CAAa;QAC5D,IAAI,IAAI,CAAC,OAAO,EAAE;YACd,MAAM,IAAI,KAAK,CAAC,kEAAkE,CAAC,CAAC;SACvF;KACJ;IAED,OAAO,OAAO,CAAC,MAAsB;QACjC,OAAO;YACH,QAAQ,EAAE,UAAU;YACpB,SAAS,EAAE;gBACP,EAAC,OAAO,EAAE,uBAAuB,EAAE,QAAQ,EAAE,MAAM,EAAC;gBACpD,EAAC,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,gBAAgB,EAAE,IAAI,EAAE,CAAC,uBAAuB,CAAC,EAAC;gBACpF,EAAC,OAAO,EAAE,iBAAiB,EAAE,QAAQ,EAAE,kBAAkB,EAAE,KAAK,EAAE,IAAI,EAAC;gBACvE,EAAC,OAAO,EAAE,iBAAiB,EAAE,QAAQ,EAAE,gBAAgB,EAAE,KAAK,EAAE,IAAI,EAAC;aACxE;SACJ,CAAC;KACL;;uGAlBQ,UAAU,kBAEmC,UAAU;wGAFvD,UAAU,YAFT,gBAAgB;wGAEjB,UAAU,YAFV,CAAC,gBAAgB,CAAC;2FAElB,UAAU;kBAHtB,QAAQ;mBAAC;oBACN,OAAO,EAAE,CAAC,gBAAgB,CAAC;iBAC9B;0DAGyD,UAAU;0BAAnD,QAAQ;;0BAAI,QAAQ;;MAoBxB,uBAAuB,GAAG,IAAI,cAAc,CAAiB,yBAAyB,EAAE;SAErF,gBAAgB,CAAC,IAAoB;IACjD,OAAO,IAAI,UAAU,CAAC,IAAI,CAAC,CAAC;AAChC;;ACpCA;;;;;;"}
|
|
1
|
+
{"version":3,"file":"bravobit-bb-foundation-http.js","sources":["../../../projects/bb-foundation/http/src/lib/classes/http.config.ts","../../../projects/bb-foundation/http/src/lib/classes/http.error.ts","../../../projects/bb-foundation/http/src/lib/interceptors/base-url.interceptor.ts","../../../projects/bb-foundation/http/src/lib/interceptors/error.interceptor.ts","../../../projects/bb-foundation/http/src/lib/http.module.ts","../../../projects/bb-foundation/http/src/bravobit-bb-foundation-http.ts"],"sourcesContent":["import {HttpConfigAliases, HttpConfigData, HttpConfigUrl} from '../http.interfaces';\nimport {isDevMode} from '@angular/core';\n\nexport class HttpConfig {\n\n readonly aliases: HttpConfigAliases;\n readonly prefix: string;\n readonly defaultAlias: string;\n readonly disableErrorParsing: boolean;\n\n constructor(data: HttpConfigData) {\n // Get the data from the config.\n this.prefix = data?.alias?.prefix ?? '$';\n this.disableErrorParsing = data?.disableErrorParsing ?? false;\n\n // Parse the aliases.\n const standardAlias = data?.alias?.standard ?? 'api';\n this.aliases = this.parseAliases(data?.url, standardAlias);\n\n // Get the default alias.\n const firstAvailableAlias = Object.keys(this.aliases ?? {})?.[0];\n this.defaultAlias = `${this.prefix}${firstAvailableAlias}`;\n }\n\n private parseAliases = (value: HttpConfigUrl, standardAlias: string) => {\n if (typeof value === 'string') {\n value = {[standardAlias]: value};\n }\n\n if (isDevMode()) {\n const stringRegex = /^[a-zA-Z]+$/;\n for (const alias in value) {\n if (value.hasOwnProperty(alias) && !stringRegex.test(alias)) {\n console?.warn?.(`[HttpModule]: Invalid HTTP-alias in HttpConfig named \"${alias}\"; only latin characters should be used.`);\n }\n }\n }\n\n return value;\n };\n\n}","import {HttpErrorResponse} from '@angular/common/http';\n\nexport class HttpError extends HttpErrorResponse {\n\n constructor(error: HttpErrorResponse) {\n super(error);\n }\n\n get<T = any>(token: string, delimiter: string = '.') {\n const error = this.error ?? {};\n return (token ?? '')\n .split(delimiter)\n .reduce((previous, current) => previous?.[current] ? previous?.[current] : null, error) as T;\n }\n\n has(token: string, delimiter: string = '.') {\n return !!this.get(token, delimiter);\n }\n\n includes<T = any>(token: string, value: T) {\n const array = this.get<T[]>(token);\n return (array ?? []).includes(value);\n }\n\n}\n","import {HttpHandler, HttpInterceptor, HttpRequest} from '@angular/common/http';\nimport {HttpConfigAliases} from '../http.interfaces';\nimport {Injectable, isDevMode} from '@angular/core';\nimport {HttpConfig} from '../classes/http.config';\n\n@Injectable()\nexport class BaseUrlInterceptor implements HttpInterceptor {\n\n // Aliases.\n private readonly _aliases: HttpConfigAliases = this._config?.aliases;\n private readonly _prefix: string = this._config?.prefix;\n private readonly _extractRegex: RegExp = new RegExp(`\\\\${this._prefix}[a-zA-Z]+`);\n\n constructor(private _config: HttpConfig) {\n }\n\n intercept(request: HttpRequest<unknown>, next: HttpHandler) {\n const url = this.getUrlBasedOnAlias(request.url);\n const modified = request.clone({url});\n\n return next.handle(modified);\n }\n\n private getUrlBasedOnAlias(url: string) {\n const matches = this._extractRegex.exec(url);\n if (!matches) {\n return url;\n }\n\n return matches.reduce((previous, current) => {\n const alias = this.getAlias(current);\n if (!alias) {\n return previous;\n }\n\n return previous.replace(current, alias);\n }, url);\n }\n\n private getAlias(value: string) {\n const alias = value.replace(this._prefix, '');\n const fetched = this._aliases?.[alias] ?? null;\n if (fetched) {\n return fetched;\n }\n\n if (isDevMode()) {\n const available = Object.keys(this._aliases)\n .map(item => `\\$${item}`)\n .join(', ');\n console?.warn?.(`[HttpModule]: Used an invalid HTTP-alias named \"${value}\", skipped parsing; Available aliases is one of (${available}).`);\n }\n\n return null;\n }\n\n}\n","import {HttpErrorResponse, HttpHandler, HttpInterceptor, HttpRequest} from '@angular/common/http';\nimport {HttpConfig} from '../classes/http.config';\nimport {HttpError} from '../classes/http.error';\nimport {catchError} from 'rxjs/operators';\nimport {Injectable} from '@angular/core';\nimport {throwError} from 'rxjs';\n\n@Injectable()\nexport class ErrorInterceptor implements HttpInterceptor {\n\n // State.\n private readonly _disabled = this._config?.disableErrorParsing ?? false;\n\n constructor(private _config: HttpConfig) {\n }\n\n intercept(request: HttpRequest<unknown>, next: HttpHandler) {\n return next.handle(request).pipe(\n catchError(error => {\n // If we have a matching http error response\n // re-map it with our custom class (if not disabled).\n if (!this._disabled && error instanceof HttpErrorResponse) {\n const parsed = new HttpError(error);\n return throwError(parsed);\n }\n\n // We did not match anything, just re-trow the error.\n return throwError(error);\n })\n );\n }\n\n}\n","import {InjectionToken, ModuleWithProviders, NgModule, Optional, SkipSelf} from '@angular/core';\nimport {HTTP_INTERCEPTORS, HttpClientModule} from '@angular/common/http';\nimport {BaseUrlInterceptor} from './interceptors/base-url.interceptor';\nimport {ErrorInterceptor} from './interceptors/error.interceptor';\nimport {HttpConfigData} from './http.interfaces';\nimport {HttpConfig} from './classes/http.config';\n\n@NgModule({\n imports: [HttpClientModule]\n})\nexport class HttpModule {\n\n constructor(@Optional() @SkipSelf() private _parent?: HttpModule) {\n if (this._parent) {\n throw new Error('HttpModule is already loaded; Import it in the core module only.');\n }\n }\n\n static forRoot(config: HttpConfigData): ModuleWithProviders<HttpModule> {\n return {\n ngModule: HttpModule,\n providers: [\n {provide: HTTP_CONFIGURATION_DATA, useValue: config},\n {provide: HttpConfig, useFactory: createHttpConfig, deps: [HTTP_CONFIGURATION_DATA]},\n {provide: HTTP_INTERCEPTORS, useClass: BaseUrlInterceptor, multi: true},\n {provide: HTTP_INTERCEPTORS, useClass: ErrorInterceptor, multi: true}\n ]\n };\n }\n\n}\n\nexport const HTTP_CONFIGURATION_DATA = new InjectionToken<HttpConfigData>('HTTP_CONFIGURATION_DATA');\n\nexport function createHttpConfig(data: HttpConfigData) {\n return new HttpConfig(data);\n}","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
|