UNPKG

@singleton-i18n/angular-client

Version:

Singleton client code for Angular 10.

58 lines 8.41 kB
/* * Copyright 2019-2021 VMware, Inc. * SPDX-License-Identifier: EPL-2.0 */ import { InjectionToken } from '@angular/core'; import { isDefined } from './util'; export const VIP_CONFIG = new InjectionToken('VIP_CONFIG'); export var PatternCategories; (function (PatternCategories) { PatternCategories["DATE"] = "dates"; PatternCategories["NUMBER"] = "numbers"; PatternCategories["PLURAL"] = "plurals"; PatternCategories["CURRENCIES"] = "currencies"; PatternCategories["DATEFIELDS"] = "dateFields"; })(PatternCategories || (PatternCategories = {})); export function getNameSpace(config) { if (!config) { return undefined; } return [config.productID, config.component, config.version] .join('-').toString().toLowerCase() .replace(/\s+/g, '-') .replace(/[^\w\-]+/g, '') .replace(/\-\-+/g, '-') .replace(/^-+/, '') .replace(/-+$/, ''); } /** * Check and set default value. i18n context will override some environmental parameters. * @param vipConfig */ export function VIPConfigFactory(vipConfig, i18nContext) { // The isPseudo default value is false, // isPseudo config in i18nContext has the highest priority, // and will override other configurations. const isPseudo = isDefined(i18nContext.pseudoEnabled) ? i18nContext.pseudoEnabled : vipConfig.isPseudo || false; return { productID: vipConfig.productID || undefined, component: vipConfig.component || undefined, version: vipConfig.version || undefined, host: vipConfig.host || undefined, isPseudo, locale: vipConfig.locale || undefined, region: vipConfig.region || undefined, language: vipConfig.language || 'en', i18nScope: vipConfig.i18nScope || [], sourceBundle: vipConfig.sourceBundle || undefined, sourceBundles: vipConfig.sourceBundles || undefined, translationBundles: vipConfig.translationBundles || undefined, i18nAssets: vipConfig.i18nAssets || undefined, collectSource: vipConfig.collectSource || false, timeout: vipConfig.timeout || 3000 }; } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLmpzIiwic291cmNlUm9vdCI6Ii9ob21lL3JsaWdlbmcvUHJvamVjdHMvRGV2b3BzL0NsaWVudF9Bbmd1bGFyX0dpdEh1Yl9OcG1qcy92aXAvY2kvcHViMm9yZy9DbGllbnRfQW5ndWxhcl9HaXRIdWJfTnBtanMvc2luZ2xldG9uL3Byb2plY3RzL2FuZ3VsYXItY2xpZW50LyIsInNvdXJjZXMiOlsic3JjL2NvbmZpZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7O0dBR0c7QUFDSCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRS9DLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxRQUFRLENBQUM7QUFFbkMsTUFBTSxDQUFDLE1BQU0sVUFBVSxHQUFpQyxJQUFJLGNBQWMsQ0FBZSxZQUFZLENBQUMsQ0FBQztBQUV2RyxNQUFNLENBQU4sSUFBWSxpQkFNWDtBQU5ELFdBQVksaUJBQWlCO0lBQ3pCLG1DQUFjLENBQUE7SUFDZCx1Q0FBa0IsQ0FBQTtJQUNsQix1Q0FBa0IsQ0FBQTtJQUNsQiw4Q0FBeUIsQ0FBQTtJQUN6Qiw4Q0FBeUIsQ0FBQTtBQUM3QixDQUFDLEVBTlcsaUJBQWlCLEtBQWpCLGlCQUFpQixRQU01QjtBQXlCRCxNQUFNLFVBQVUsWUFBWSxDQUFDLE1BQWlCO0lBQzFDLElBQUksQ0FBQyxNQUFNLEVBQUU7UUFBRSxPQUFPLFNBQVMsQ0FBQztLQUFFO0lBQ2xDLE9BQU8sQ0FBQyxNQUFNLENBQUMsU0FBUztRQUN4QixNQUFNLENBQUMsU0FBUztRQUNoQixNQUFNLENBQUMsT0FBTyxDQUFDO1NBQ1YsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDLFdBQVcsRUFBRTtTQUNsQyxPQUFPLENBQUMsTUFBTSxFQUFFLEdBQUcsQ0FBQztTQUNwQixPQUFPLENBQUMsV0FBVyxFQUFFLEVBQUUsQ0FBQztTQUN4QixPQUFPLENBQUMsUUFBUSxFQUFFLEdBQUcsQ0FBQztTQUN0QixPQUFPLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQztTQUNsQixPQUFPLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDO0FBQzVCLENBQUM7QUFFRDs7O0dBR0c7QUFDSCxNQUFNLFVBQVUsZ0JBQWdCLENBQUMsU0FBb0IsRUFBRSxXQUF3QjtJQUMzRSx1Q0FBdUM7SUFDdkMsMkRBQTJEO0lBQzNELDBDQUEwQztJQUMxQyxNQUFNLFFBQVEsR0FBRyxTQUFTLENBQUMsV0FBVyxDQUFDLGFBQWEsQ0FBQztRQUNyQyxDQUFDLENBQUMsV0FBVyxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLFFBQVEsSUFBSSxLQUFLLENBQUM7SUFDMUUsT0FBTztRQUNILFNBQVMsRUFBRSxTQUFTLENBQUMsU0FBUyxJQUFJLFNBQVM7UUFDM0MsU0FBUyxFQUFFLFNBQVMsQ0FBQyxTQUFTLElBQUksU0FBUztRQUMzQyxPQUFPLEVBQUUsU0FBUyxDQUFDLE9BQU8sSUFBSSxTQUFTO1FBQ3ZDLElBQUksRUFBRSxTQUFTLENBQUMsSUFBSSxJQUFJLFNBQVM7UUFDakMsUUFBUTtRQUNSLE1BQU0sRUFBRSxTQUFTLENBQUMsTUFBTSxJQUFJLFNBQVM7UUFDckMsTUFBTSxFQUFFLFNBQVMsQ0FBQyxNQUFNLElBQUksU0FBUztRQUNyQyxRQUFRLEVBQUUsU0FBUyxDQUFDLFFBQVEsSUFBSSxJQUFJO1FBQ3BDLFNBQVMsRUFBRSxTQUFTLENBQUMsU0FBUyxJQUFJLEVBQUU7UUFDcEMsWUFBWSxFQUFFLFNBQVMsQ0FBQyxZQUFZLElBQUksU0FBUztRQUNqRCxhQUFhLEVBQUUsU0FBUyxDQUFDLGFBQWEsSUFBSSxTQUFTO1FBQ25ELGtCQUFrQixFQUFFLFNBQVMsQ0FBQyxrQkFBa0IsSUFBSSxTQUFTO1FBQzdELFVBQVUsRUFBRSxTQUFTLENBQUMsVUFBVSxJQUFJLFNBQVM7UUFDN0MsYUFBYSxFQUFFLFNBQVMsQ0FBQyxhQUFhLElBQUksS0FBSztRQUMvQyxPQUFPLEVBQUUsU0FBUyxDQUFDLE9BQU8sSUFBSSxJQUFJO0tBQ3JDLENBQUM7QUFDTixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAyMDE5LTIwMjEgVk13YXJlLCBJbmMuXG4gKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMFxuICovXG5pbXBvcnQgeyBJbmplY3Rpb25Ub2tlbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSTE4bkNvbnRleHQgfSBmcm9tICcuL3NlcnZpY2VzL2kxOG4uY29udGV4dCc7XG5pbXBvcnQgeyBpc0RlZmluZWQgfSBmcm9tICcuL3V0aWwnO1xuXG5leHBvcnQgY29uc3QgVklQX0NPTkZJRzogSW5qZWN0aW9uVG9rZW48VklQQ29uZmlnUmVmPiA9IG5ldyBJbmplY3Rpb25Ub2tlbjxWSVBDb25maWdSZWY+KCdWSVBfQ09ORklHJyk7XG5leHBvcnQgdHlwZSBWSVBDb25maWdSZWYgPSBSZXF1aXJlZDxWSVBDb25maWc+O1xuZXhwb3J0IGVudW0gUGF0dGVybkNhdGVnb3JpZXMge1xuICAgIERBVEUgPSAnZGF0ZXMnLFxuICAgIE5VTUJFUiA9ICdudW1iZXJzJyxcbiAgICBQTFVSQUwgPSAncGx1cmFscycsXG4gICAgQ1VSUkVOQ0lFUyA9ICdjdXJyZW5jaWVzJyxcbiAgICBEQVRFRklFTERTID0gJ2RhdGVGaWVsZHMnXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVklQQ29uZmlnIHtcbiAgICBwcm9kdWN0SUQ6IHN0cmluZztcbiAgICBjb21wb25lbnQ6IHN0cmluZztcbiAgICB2ZXJzaW9uOiBzdHJpbmc7XG4gICAgaG9zdD86IHN0cmluZztcbiAgICBpc1BzZXVkbz86IGJvb2xlYW47XG4gICAgLy8gZGVwcmVjYXRlZFxuICAgIGxhbmd1YWdlPzogc3RyaW5nO1xuICAgIC8vIGRlcHJlY2F0ZWRcbiAgICByZWdpb24/OiBzdHJpbmc7XG4gICAgLy8gZGVwcmVjYXRlZFxuICAgIGxvY2FsZT86IHN0cmluZztcbiAgICBpMThuU2NvcGU/OiBQYXR0ZXJuQ2F0ZWdvcmllc1tdO1xuICAgIHNvdXJjZUJ1bmRsZT86IHsgW2tleTogc3RyaW5nXTogYW55IH07XG4gICAgc291cmNlQnVuZGxlcz86IHsgW2tleTogc3RyaW5nXTogYW55IH1bXTtcbiAgICB0cmFuc2xhdGlvbkJ1bmRsZXM/OiB7IFtrZXk6IHN0cmluZ106IGFueSB9O1xuICAgIC8vIGRlcHJlY2F0ZWRcbiAgICBpMThuQXNzZXRzPzogc3RyaW5nO1xuICAgIC8vIGRlcHJlY2F0ZWRcbiAgICBjb2xsZWN0U291cmNlPzogYm9vbGVhbjtcbiAgICB0aW1lb3V0PzogbnVtYmVyO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0TmFtZVNwYWNlKGNvbmZpZzogVklQQ29uZmlnKSB7XG4gICAgaWYgKCFjb25maWcpIHsgcmV0dXJuIHVuZGVmaW5lZDsgfVxuICAgIHJldHVybiBbY29uZmlnLnByb2R1Y3RJRCxcbiAgICBjb25maWcuY29tcG9uZW50LFxuICAgIGNvbmZpZy52ZXJzaW9uXVxuICAgICAgICAuam9pbignLScpLnRvU3RyaW5nKCkudG9Mb3dlckNhc2UoKVxuICAgICAgICAucmVwbGFjZSgvXFxzKy9nLCAnLScpXG4gICAgICAgIC5yZXBsYWNlKC9bXlxcd1xcLV0rL2csICcnKVxuICAgICAgICAucmVwbGFjZSgvXFwtXFwtKy9nLCAnLScpXG4gICAgICAgIC5yZXBsYWNlKC9eLSsvLCAnJylcbiAgICAgICAgLnJlcGxhY2UoLy0rJC8sICcnKTtcbn1cblxuLyoqXG4gKiBDaGVjayBhbmQgc2V0IGRlZmF1bHQgdmFsdWUuIGkxOG4gY29udGV4dCB3aWxsIG92ZXJyaWRlIHNvbWUgZW52aXJvbm1lbnRhbCBwYXJhbWV0ZXJzLlxuICogQHBhcmFtIHZpcENvbmZpZ1xuICovXG5leHBvcnQgZnVuY3Rpb24gVklQQ29uZmlnRmFjdG9yeSh2aXBDb25maWc6IFZJUENvbmZpZywgaTE4bkNvbnRleHQ6IEkxOG5Db250ZXh0KTogVklQQ29uZmlnUmVmIHtcbiAgICAvLyBUaGUgaXNQc2V1ZG8gZGVmYXVsdCB2YWx1ZSBpcyBmYWxzZSxcbiAgICAvLyBpc1BzZXVkbyBjb25maWcgaW4gaTE4bkNvbnRleHQgaGFzIHRoZSBoaWdoZXN0IHByaW9yaXR5LFxuICAgIC8vIGFuZCB3aWxsIG92ZXJyaWRlIG90aGVyIGNvbmZpZ3VyYXRpb25zLlxuICAgIGNvbnN0IGlzUHNldWRvID0gaXNEZWZpbmVkKGkxOG5Db250ZXh0LnBzZXVkb0VuYWJsZWQpXG4gICAgICAgICAgICAgICAgICAgID8gaTE4bkNvbnRleHQucHNldWRvRW5hYmxlZCA6IHZpcENvbmZpZy5pc1BzZXVkbyB8fCBmYWxzZTtcbiAgICByZXR1cm4ge1xuICAgICAgICBwcm9kdWN0SUQ6IHZpcENvbmZpZy5wcm9kdWN0SUQgfHwgdW5kZWZpbmVkLFxuICAgICAgICBjb21wb25lbnQ6IHZpcENvbmZpZy5jb21wb25lbnQgfHwgdW5kZWZpbmVkLFxuICAgICAgICB2ZXJzaW9uOiB2aXBDb25maWcudmVyc2lvbiB8fCB1bmRlZmluZWQsXG4gICAgICAgIGhvc3Q6IHZpcENvbmZpZy5ob3N0IHx8IHVuZGVmaW5lZCxcbiAgICAgICAgaXNQc2V1ZG8sXG4gICAgICAgIGxvY2FsZTogdmlwQ29uZmlnLmxvY2FsZSB8fCB1bmRlZmluZWQsXG4gICAgICAgIHJlZ2lvbjogdmlwQ29uZmlnLnJlZ2lvbiB8fCB1bmRlZmluZWQsXG4gICAgICAgIGxhbmd1YWdlOiB2aXBDb25maWcubGFuZ3VhZ2UgfHwgJ2VuJyxcbiAgICAgICAgaTE4blNjb3BlOiB2aXBDb25maWcuaTE4blNjb3BlIHx8IFtdLFxuICAgICAgICBzb3VyY2VCdW5kbGU6IHZpcENvbmZpZy5zb3VyY2VCdW5kbGUgfHwgdW5kZWZpbmVkLFxuICAgICAgICBzb3VyY2VCdW5kbGVzOiB2aXBDb25maWcuc291cmNlQnVuZGxlcyB8fCB1bmRlZmluZWQsXG4gICAgICAgIHRyYW5zbGF0aW9uQnVuZGxlczogdmlwQ29uZmlnLnRyYW5zbGF0aW9uQnVuZGxlcyB8fCB1bmRlZmluZWQsXG4gICAgICAgIGkxOG5Bc3NldHM6IHZpcENvbmZpZy5pMThuQXNzZXRzIHx8IHVuZGVmaW5lZCxcbiAgICAgICAgY29sbGVjdFNvdXJjZTogdmlwQ29uZmlnLmNvbGxlY3RTb3VyY2UgfHwgZmFsc2UsXG4gICAgICAgIHRpbWVvdXQ6IHZpcENvbmZpZy50aW1lb3V0IHx8IDMwMDBcbiAgICB9O1xufVxuIl19