angular-line-awesome
Version:
Angular Line Awesome is an Angular component to manage Line Awesome icons.
28 lines • 3.46 kB
JavaScript
import { Injectable } from '@angular/core';
import * as i0 from "@angular/core";
export class LaIconLibrary {
constructor() {
this.registry = new Map();
}
addIcons(icons) {
icons.forEach((icon) => {
this.registry.set(icon.name, icon.data);
});
}
getIcon(icon) {
const iconName = `${icon.prefix}-${icon.iconName}`;
if (!this.registry.has(iconName)) {
throw new Error(`Could not find icon with prefix=${icon.prefix} and iconName=${icon.iconName} in the icon library.`);
}
return this.registry.get(iconName);
}
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.3", ngImport: i0, type: LaIconLibrary, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.0.3", ngImport: i0, type: LaIconLibrary, providedIn: 'root' }); }
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.3", ngImport: i0, type: LaIconLibrary, decorators: [{
type: Injectable,
args: [{
providedIn: 'root'
}]
}] });
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGEtaWNvbi1saWJyYXJ5LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLWxpbmUtYXdlc29tZS9zcmMvbGliL3NlcnZpY2VzL2xhLWljb24tbGlicmFyeS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBTTNDLE1BQU0sT0FBTyxhQUFhO0lBSDFCO1FBSVUsYUFBUSxHQUFHLElBQUksR0FBRyxFQUFrQixDQUFDO0tBa0I5QztJQWhCUSxRQUFRLENBQUMsS0FBd0I7UUFDdEMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQXFCLEVBQUUsRUFBRTtZQUN0QyxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUMxQyxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFTSxPQUFPLENBQUMsSUFBVTtRQUN2QixNQUFNLFFBQVEsR0FBRyxHQUFHLElBQUksQ0FBQyxNQUFNLElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBRW5ELElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsRUFBRTtZQUNoQyxNQUFNLElBQUksS0FBSyxDQUNiLG1DQUFtQyxJQUFJLENBQUMsTUFBTSxpQkFBaUIsSUFBSSxDQUFDLFFBQVEsdUJBQXVCLENBQ3BHLENBQUM7U0FDSDtRQUNELE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDckMsQ0FBQzs4R0FsQlUsYUFBYTtrSEFBYixhQUFhLGNBRlosTUFBTTs7MkZBRVAsYUFBYTtrQkFIekIsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBJY29uLCBMaW5lQXdlc29tZUljb24gfSBmcm9tICcuLi9saW5lLWF3ZXNvbWUuY29yZSc7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXG59KVxuZXhwb3J0IGNsYXNzIExhSWNvbkxpYnJhcnkge1xuICBwcml2YXRlIHJlZ2lzdHJ5ID0gbmV3IE1hcDxzdHJpbmcsIHN0cmluZz4oKTtcblxuICBwdWJsaWMgYWRkSWNvbnMoaWNvbnM6IExpbmVBd2Vzb21lSWNvbltdKTogdm9pZCB7XG4gICAgaWNvbnMuZm9yRWFjaCgoaWNvbjogTGluZUF3ZXNvbWVJY29uKSA9PiB7XG4gICAgICB0aGlzLnJlZ2lzdHJ5LnNldChpY29uLm5hbWUsIGljb24uZGF0YSk7XG4gICAgfSk7XG4gIH1cblxuICBwdWJsaWMgZ2V0SWNvbihpY29uOiBJY29uKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgICBjb25zdCBpY29uTmFtZSA9IGAke2ljb24ucHJlZml4fS0ke2ljb24uaWNvbk5hbWV9YDtcblxuICAgIGlmICghdGhpcy5yZWdpc3RyeS5oYXMoaWNvbk5hbWUpKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgIGBDb3VsZCBub3QgZmluZCBpY29uIHdpdGggcHJlZml4PSR7aWNvbi5wcmVmaXh9IGFuZCBpY29uTmFtZT0ke2ljb24uaWNvbk5hbWV9IGluIHRoZSBpY29uIGxpYnJhcnkuYFxuICAgICAgKTtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMucmVnaXN0cnkuZ2V0KGljb25OYW1lKTtcbiAgfVxufVxuIl19