@singleton-i18n/angular-client
Version:
Singleton client code for Angular 10.
58 lines • 8.41 kB
JavaScript
/*
* 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