UNPKG

@singleton-i18n/angular-client

Version:

Singleton client code for Angular 10.

94 lines 9.51 kB
/* * Copyright 2019-2021 VMware, Inc. * SPDX-License-Identifier: EPL-2.0 */ import { NgModule } from '@angular/core'; import { VIPLoader, I18nLoader } from './src/loader'; import { VIPService } from './src/services/vip.service'; import { L10nDirective } from './src/l10n.directive'; import { L10nPipe, L10nPipePlus } from './src/l10n.pipe'; import { DateFormatter } from './src/formatters/date.formatter'; import { MessageFormat } from './src/formatters/message.formatter'; import { DateFormatPipe, CurrencyFormatPipe, NumberFormatPipe, PercentFormatPipe, I18nPipe } from './src/i18n.pipe'; import { L10nService } from './src/services/l10n.service'; import { I18nService } from './src/services/i18n.service'; import { LocaleService } from './src/services/locale.service'; import { ResponseParser, VIPResponseParser } from './src/response.parser'; import { DefaultI18nContext, I18nContext } from './src/services/i18n.context'; export function provideRoot(config = {}) { return [ { provide: ResponseParser, useClass: VIPResponseParser }, config.coreLoader || { provide: I18nLoader, useClass: VIPLoader }, config.i18nContext || { provide: I18nContext, useClass: DefaultI18nContext }, VIPService, LocaleService, L10nService, I18nService, DateFormatter, MessageFormat ]; } export function provideChild(config = {}) { return [ config.coreLoader || { provide: I18nLoader, useClass: VIPLoader }, VIPService, L10nService, I18nService, MessageFormat ]; } export class VIPModule { /** * Use this method in your root module to provide the VIP Service * @returns Module instance * @memberof VipModule */ static forRoot(config = {}) { return { ngModule: VIPModule, providers: provideRoot(config) }; } static forChild(config = {}) { return { ngModule: VIPModule, providers: provideChild(config) }; } } VIPModule.decorators = [ { type: NgModule, args: [{ declarations: [ I18nPipe, L10nPipe, L10nPipePlus, L10nDirective, DateFormatPipe, CurrencyFormatPipe, NumberFormatPipe, PercentFormatPipe ], exports: [ L10nPipe, L10nPipePlus, L10nDirective, DateFormatPipe, CurrencyFormatPipe, NumberFormatPipe, PercentFormatPipe ] },] } ]; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmlwLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIvaG9tZS9ybGlnZW5nL1Byb2plY3RzL0Rldm9wcy9DbGllbnRfQW5ndWxhcl9HaXRIdWJfTnBtanMvdmlwL2NpL3B1YjJvcmcvQ2xpZW50X0FuZ3VsYXJfR2l0SHViX05wbWpzL3NpbmdsZXRvbi9wcm9qZWN0cy9hbmd1bGFyLWNsaWVudC8iLCJzb3VyY2VzIjpbInZpcC5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7OztHQUdHO0FBQ0gsT0FBTyxFQUFFLFFBQVEsRUFBaUMsTUFBTSxlQUFlLENBQUM7QUFFeEUsT0FBTyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDckQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ3hELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNyRCxPQUFPLEVBQUUsUUFBUSxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3pELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUNoRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDbkUsT0FBTyxFQUNILGNBQWMsRUFDZCxrQkFBa0IsRUFDbEIsZ0JBQWdCLEVBQ2hCLGlCQUFpQixFQUNqQixRQUFRLEVBQ1gsTUFBTSxpQkFBaUIsQ0FBQztBQUN6QixPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDMUQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQzFELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUM5RCxPQUFPLEVBQUUsY0FBYyxFQUFFLGlCQUFpQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDMUUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLFdBQVcsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBTzlFLE1BQU0sVUFBVSxXQUFXLENBQUMsU0FBdUIsRUFBRTtJQUNqRCxPQUFPO1FBQ0g7WUFDSSxPQUFPLEVBQUUsY0FBYztZQUN2QixRQUFRLEVBQUUsaUJBQWlCO1NBQzlCO1FBQ0QsTUFBTSxDQUFDLFVBQVUsSUFBSTtZQUNqQixPQUFPLEVBQUUsVUFBVTtZQUNuQixRQUFRLEVBQUUsU0FBUztTQUN0QjtRQUNELE1BQU0sQ0FBQyxXQUFXLElBQUk7WUFDbEIsT0FBTyxFQUFFLFdBQVc7WUFDcEIsUUFBUSxFQUFFLGtCQUFrQjtTQUMvQjtRQUNELFVBQVU7UUFDVixhQUFhO1FBQ2IsV0FBVztRQUNYLFdBQVc7UUFDWCxhQUFhO1FBQ2IsYUFBYTtLQUNoQixDQUFDO0FBQ04sQ0FBQztBQUVELE1BQU0sVUFBVSxZQUFZLENBQUMsU0FBdUIsRUFBRTtJQUNsRCxPQUFPO1FBQ0gsTUFBTSxDQUFDLFVBQVUsSUFBSTtZQUNqQixPQUFPLEVBQUUsVUFBVTtZQUNuQixRQUFRLEVBQUUsU0FBUztTQUN0QjtRQUNELFVBQVU7UUFDVixXQUFXO1FBQ1gsV0FBVztRQUNYLGFBQWE7S0FDaEIsQ0FBQztBQUNOLENBQUM7QUF3QkQsTUFBTSxPQUFPLFNBQVM7SUFDbEI7Ozs7T0FJRztJQUNILE1BQU0sQ0FBQyxPQUFPLENBQUMsU0FBdUIsRUFBRTtRQUNwQyxPQUFPO1lBQ0gsUUFBUSxFQUFFLFNBQVM7WUFDbkIsU0FBUyxFQUFFLFdBQVcsQ0FBQyxNQUFNLENBQUM7U0FDakMsQ0FBQztJQUNOLENBQUM7SUFFRCxNQUFNLENBQUMsUUFBUSxDQUFDLFNBQXVCLEVBQUU7UUFDckMsT0FBTztZQUNILFFBQVEsRUFBRSxTQUFTO1lBQ25CLFNBQVMsRUFBRSxZQUFZLENBQUMsTUFBTSxDQUFDO1NBQ2xDLENBQUM7SUFDTixDQUFDOzs7WUF2Q0osUUFBUSxTQUFDO2dCQUNOLFlBQVksRUFBRTtvQkFDVixRQUFRO29CQUNSLFFBQVE7b0JBQ1IsWUFBWTtvQkFDWixhQUFhO29CQUNiLGNBQWM7b0JBQ2Qsa0JBQWtCO29CQUNsQixnQkFBZ0I7b0JBQ2hCLGlCQUFpQjtpQkFDcEI7Z0JBQ0QsT0FBTyxFQUFFO29CQUNMLFFBQVE7b0JBQ1IsWUFBWTtvQkFDWixhQUFhO29CQUNiLGNBQWM7b0JBQ2Qsa0JBQWtCO29CQUNsQixnQkFBZ0I7b0JBQ2hCLGlCQUFpQjtpQkFDcEI7YUFDSiIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgMjAxOS0yMDIxIFZNd2FyZSwgSW5jLlxuICogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjBcbiAqL1xuaW1wb3J0IHsgTmdNb2R1bGUsIE1vZHVsZVdpdGhQcm92aWRlcnMsIFByb3ZpZGVyIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmltcG9ydCB7IFZJUExvYWRlciwgSTE4bkxvYWRlciB9IGZyb20gJy4vc3JjL2xvYWRlcic7XG5pbXBvcnQgeyBWSVBTZXJ2aWNlIH0gZnJvbSAnLi9zcmMvc2VydmljZXMvdmlwLnNlcnZpY2UnO1xuaW1wb3J0IHsgTDEwbkRpcmVjdGl2ZSB9IGZyb20gJy4vc3JjL2wxMG4uZGlyZWN0aXZlJztcbmltcG9ydCB7IEwxMG5QaXBlLCBMMTBuUGlwZVBsdXMgfSBmcm9tICcuL3NyYy9sMTBuLnBpcGUnO1xuaW1wb3J0IHsgRGF0ZUZvcm1hdHRlciB9IGZyb20gJy4vc3JjL2Zvcm1hdHRlcnMvZGF0ZS5mb3JtYXR0ZXInO1xuaW1wb3J0IHsgTWVzc2FnZUZvcm1hdCB9IGZyb20gJy4vc3JjL2Zvcm1hdHRlcnMvbWVzc2FnZS5mb3JtYXR0ZXInO1xuaW1wb3J0IHtcbiAgICBEYXRlRm9ybWF0UGlwZSxcbiAgICBDdXJyZW5jeUZvcm1hdFBpcGUsXG4gICAgTnVtYmVyRm9ybWF0UGlwZSxcbiAgICBQZXJjZW50Rm9ybWF0UGlwZSxcbiAgICBJMThuUGlwZVxufSBmcm9tICcuL3NyYy9pMThuLnBpcGUnO1xuaW1wb3J0IHsgTDEwblNlcnZpY2UgfSBmcm9tICcuL3NyYy9zZXJ2aWNlcy9sMTBuLnNlcnZpY2UnO1xuaW1wb3J0IHsgSTE4blNlcnZpY2UgfSBmcm9tICcuL3NyYy9zZXJ2aWNlcy9pMThuLnNlcnZpY2UnO1xuaW1wb3J0IHsgTG9jYWxlU2VydmljZSB9IGZyb20gJy4vc3JjL3NlcnZpY2VzL2xvY2FsZS5zZXJ2aWNlJztcbmltcG9ydCB7IFJlc3BvbnNlUGFyc2VyLCBWSVBSZXNwb25zZVBhcnNlciB9IGZyb20gJy4vc3JjL3Jlc3BvbnNlLnBhcnNlcic7XG5pbXBvcnQgeyBEZWZhdWx0STE4bkNvbnRleHQsIEkxOG5Db250ZXh0IH0gZnJvbSAnLi9zcmMvc2VydmljZXMvaTE4bi5jb250ZXh0JztcblxuZXhwb3J0IGludGVyZmFjZSBNb2R1bGVDb25maWcge1xuICAgIGNvcmVMb2FkZXI/OiBQcm92aWRlcjtcbiAgICBpMThuQ29udGV4dD86IFByb3ZpZGVyO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gcHJvdmlkZVJvb3QoY29uZmlnOiBNb2R1bGVDb25maWcgPSB7fSk6IGFueVtdIHtcbiAgICByZXR1cm4gW1xuICAgICAgICB7XG4gICAgICAgICAgICBwcm92aWRlOiBSZXNwb25zZVBhcnNlcixcbiAgICAgICAgICAgIHVzZUNsYXNzOiBWSVBSZXNwb25zZVBhcnNlclxuICAgICAgICB9LFxuICAgICAgICBjb25maWcuY29yZUxvYWRlciB8fCB7XG4gICAgICAgICAgICBwcm92aWRlOiBJMThuTG9hZGVyLFxuICAgICAgICAgICAgdXNlQ2xhc3M6IFZJUExvYWRlclxuICAgICAgICB9LFxuICAgICAgICBjb25maWcuaTE4bkNvbnRleHQgfHwge1xuICAgICAgICAgICAgcHJvdmlkZTogSTE4bkNvbnRleHQsXG4gICAgICAgICAgICB1c2VDbGFzczogRGVmYXVsdEkxOG5Db250ZXh0XG4gICAgICAgIH0sXG4gICAgICAgIFZJUFNlcnZpY2UsXG4gICAgICAgIExvY2FsZVNlcnZpY2UsXG4gICAgICAgIEwxMG5TZXJ2aWNlLFxuICAgICAgICBJMThuU2VydmljZSxcbiAgICAgICAgRGF0ZUZvcm1hdHRlcixcbiAgICAgICAgTWVzc2FnZUZvcm1hdFxuICAgIF07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBwcm92aWRlQ2hpbGQoY29uZmlnOiBNb2R1bGVDb25maWcgPSB7fSk6IGFueVtdIHtcbiAgICByZXR1cm4gW1xuICAgICAgICBjb25maWcuY29yZUxvYWRlciB8fCB7XG4gICAgICAgICAgICBwcm92aWRlOiBJMThuTG9hZGVyLFxuICAgICAgICAgICAgdXNlQ2xhc3M6IFZJUExvYWRlclxuICAgICAgICB9LFxuICAgICAgICBWSVBTZXJ2aWNlLFxuICAgICAgICBMMTBuU2VydmljZSxcbiAgICAgICAgSTE4blNlcnZpY2UsXG4gICAgICAgIE1lc3NhZ2VGb3JtYXRcbiAgICBdO1xufVxuXG5cbkBOZ01vZHVsZSh7XG4gICAgZGVjbGFyYXRpb25zOiBbXG4gICAgICAgIEkxOG5QaXBlLFxuICAgICAgICBMMTBuUGlwZSxcbiAgICAgICAgTDEwblBpcGVQbHVzLFxuICAgICAgICBMMTBuRGlyZWN0aXZlLFxuICAgICAgICBEYXRlRm9ybWF0UGlwZSxcbiAgICAgICAgQ3VycmVuY3lGb3JtYXRQaXBlLFxuICAgICAgICBOdW1iZXJGb3JtYXRQaXBlLFxuICAgICAgICBQZXJjZW50Rm9ybWF0UGlwZVxuICAgIF0sXG4gICAgZXhwb3J0czogW1xuICAgICAgICBMMTBuUGlwZSxcbiAgICAgICAgTDEwblBpcGVQbHVzLFxuICAgICAgICBMMTBuRGlyZWN0aXZlLFxuICAgICAgICBEYXRlRm9ybWF0UGlwZSxcbiAgICAgICAgQ3VycmVuY3lGb3JtYXRQaXBlLFxuICAgICAgICBOdW1iZXJGb3JtYXRQaXBlLFxuICAgICAgICBQZXJjZW50Rm9ybWF0UGlwZVxuICAgIF1cbn0pXG5leHBvcnQgY2xhc3MgVklQTW9kdWxlIHtcbiAgICAvKipcbiAgICAgKiBVc2UgdGhpcyBtZXRob2QgaW4geW91ciByb290IG1vZHVsZSB0byBwcm92aWRlIHRoZSBWSVAgU2VydmljZVxuICAgICAqIEByZXR1cm5zIE1vZHVsZSBpbnN0YW5jZVxuICAgICAqIEBtZW1iZXJvZiBWaXBNb2R1bGVcbiAgICAgKi9cbiAgICBzdGF0aWMgZm9yUm9vdChjb25maWc6IE1vZHVsZUNvbmZpZyA9IHt9KTogTW9kdWxlV2l0aFByb3ZpZGVyczxWSVBNb2R1bGU+IHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIG5nTW9kdWxlOiBWSVBNb2R1bGUsXG4gICAgICAgICAgICBwcm92aWRlcnM6IHByb3ZpZGVSb290KGNvbmZpZylcbiAgICAgICAgfTtcbiAgICB9XG5cbiAgICBzdGF0aWMgZm9yQ2hpbGQoY29uZmlnOiBNb2R1bGVDb25maWcgPSB7fSk6IE1vZHVsZVdpdGhQcm92aWRlcnM8VklQTW9kdWxlPiB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBuZ01vZHVsZTogVklQTW9kdWxlLFxuICAgICAgICAgICAgcHJvdmlkZXJzOiBwcm92aWRlQ2hpbGQoY29uZmlnKVxuICAgICAgICB9O1xuICAgIH1cbn1cbiJdfQ==