@clr/angular
Version:
Angular components for Clarity
47 lines • 4.79 kB
JavaScript
/*
* Copyright (c) 2016-2023 VMware, Inc. All Rights Reserved.
* This software is released under MIT license.
* The full license information can be found in LICENSE in the root directory of this project.
*/
import { Injectable } from '@angular/core';
import { commonStringsDefault } from '../../utils/i18n/common-strings.default';
import * as i0 from "@angular/core";
export class ClrCommonStringsService {
constructor() {
this._strings = commonStringsDefault;
}
/**
* Access to all of the keys as strings
*/
get keys() {
return this._strings;
}
/**
* Allows you to pass in new overrides for localization
*/
localize(overrides) {
this._strings = { ...this._strings, ...overrides };
}
/**
* Parse a string with a set of tokens to replace
*/
parse(source, tokens = {}) {
const names = Object.keys(tokens);
let output = source;
if (names.length) {
names.forEach(name => {
output = output.replace(`{${name}}`, tokens[name]);
});
}
return output;
}
}
ClrCommonStringsService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: ClrCommonStringsService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
ClrCommonStringsService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: ClrCommonStringsService, providedIn: 'root' });
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: ClrCommonStringsService, decorators: [{
type: Injectable,
args: [{
providedIn: 'root',
}]
}] });
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbW9uLXN0cmluZ3Muc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FuZ3VsYXIvc3JjL3V0aWxzL2kxOG4vY29tbW9uLXN0cmluZ3Muc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7OztHQUlHO0FBRUgsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUzQyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQzs7QUFNL0UsTUFBTSxPQUFPLHVCQUF1QjtJQUhwQztRQUlVLGFBQVEsR0FBRyxvQkFBb0IsQ0FBQztLQTZCekM7SUEzQkM7O09BRUc7SUFDSCxJQUFJLElBQUk7UUFDTixPQUFPLElBQUksQ0FBQyxRQUFRLENBQUM7SUFDdkIsQ0FBQztJQUVEOztPQUVHO0lBQ0gsUUFBUSxDQUFDLFNBQW9DO1FBQzNDLElBQUksQ0FBQyxRQUFRLEdBQUcsRUFBRSxHQUFHLElBQUksQ0FBQyxRQUFRLEVBQUUsR0FBRyxTQUFTLEVBQUUsQ0FBQztJQUNyRCxDQUFDO0lBRUQ7O09BRUc7SUFDSCxLQUFLLENBQUMsTUFBYyxFQUFFLFNBQW9DLEVBQUU7UUFDMUQsTUFBTSxLQUFLLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNsQyxJQUFJLE1BQU0sR0FBRyxNQUFNLENBQUM7UUFDcEIsSUFBSSxLQUFLLENBQUMsTUFBTSxFQUFFO1lBQ2hCLEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLEVBQUU7Z0JBQ25CLE1BQU0sR0FBRyxNQUFNLENBQUMsT0FBTyxDQUFDLElBQUksSUFBSSxHQUFHLEVBQUUsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7WUFDckQsQ0FBQyxDQUFDLENBQUM7U0FDSjtRQUNELE9BQU8sTUFBTSxDQUFDO0lBQ2hCLENBQUM7O29IQTdCVSx1QkFBdUI7d0hBQXZCLHVCQUF1QixjQUZ0QixNQUFNOzJGQUVQLHVCQUF1QjtrQkFIbkMsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IChjKSAyMDE2LTIwMjMgVk13YXJlLCBJbmMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKiBUaGlzIHNvZnR3YXJlIGlzIHJlbGVhc2VkIHVuZGVyIE1JVCBsaWNlbnNlLlxuICogVGhlIGZ1bGwgbGljZW5zZSBpbmZvcm1hdGlvbiBjYW4gYmUgZm91bmQgaW4gTElDRU5TRSBpbiB0aGUgcm9vdCBkaXJlY3Rvcnkgb2YgdGhpcyBwcm9qZWN0LlxuICovXG5cbmltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgY29tbW9uU3RyaW5nc0RlZmF1bHQgfSBmcm9tICcuLi8uLi91dGlscy9pMThuL2NvbW1vbi1zdHJpbmdzLmRlZmF1bHQnO1xuaW1wb3J0IHsgQ2xyQ29tbW9uU3RyaW5ncyB9IGZyb20gJy4uLy4uL3V0aWxzL2kxOG4vY29tbW9uLXN0cmluZ3MuaW50ZXJmYWNlJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIENsckNvbW1vblN0cmluZ3NTZXJ2aWNlIHtcbiAgcHJpdmF0ZSBfc3RyaW5ncyA9IGNvbW1vblN0cmluZ3NEZWZhdWx0O1xuXG4gIC8qKlxuICAgKiBBY2Nlc3MgdG8gYWxsIG9mIHRoZSBrZXlzIGFzIHN0cmluZ3NcbiAgICovXG4gIGdldCBrZXlzKCk6IFJlYWRvbmx5PENsckNvbW1vblN0cmluZ3M+IHtcbiAgICByZXR1cm4gdGhpcy5fc3RyaW5ncztcbiAgfVxuXG4gIC8qKlxuICAgKiBBbGxvd3MgeW91IHRvIHBhc3MgaW4gbmV3IG92ZXJyaWRlcyBmb3IgbG9jYWxpemF0aW9uXG4gICAqL1xuICBsb2NhbGl6ZShvdmVycmlkZXM6IFBhcnRpYWw8Q2xyQ29tbW9uU3RyaW5ncz4pIHtcbiAgICB0aGlzLl9zdHJpbmdzID0geyAuLi50aGlzLl9zdHJpbmdzLCAuLi5vdmVycmlkZXMgfTtcbiAgfVxuXG4gIC8qKlxuICAgKiBQYXJzZSBhIHN0cmluZyB3aXRoIGEgc2V0IG9mIHRva2VucyB0byByZXBsYWNlXG4gICAqL1xuICBwYXJzZShzb3VyY2U6IHN0cmluZywgdG9rZW5zOiB7IFtrZXk6IHN0cmluZ106IHN0cmluZyB9ID0ge30pIHtcbiAgICBjb25zdCBuYW1lcyA9IE9iamVjdC5rZXlzKHRva2Vucyk7XG4gICAgbGV0IG91dHB1dCA9IHNvdXJjZTtcbiAgICBpZiAobmFtZXMubGVuZ3RoKSB7XG4gICAgICBuYW1lcy5mb3JFYWNoKG5hbWUgPT4ge1xuICAgICAgICBvdXRwdXQgPSBvdXRwdXQucmVwbGFjZShgeyR7bmFtZX19YCwgdG9rZW5zW25hbWVdKTtcbiAgICAgIH0pO1xuICAgIH1cbiAgICByZXR1cm4gb3V0cHV0O1xuICB9XG59XG4iXX0=