UNPKG

@clr/angular

Version:

Angular components for Clarity

47 lines 4.79 kB
/* * 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=