angular-line-awesome
Version:
Angular Line Awesome is an Angular component to manage Line Awesome icons.
28 lines • 3.48 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: "18.0.3", ngImport: i0, type: LaIconLibrary, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: LaIconLibrary, providedIn: 'root' }); }
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.3", ngImport: i0, type: LaIconLibrary, decorators: [{
type: Injectable,
args: [{
providedIn: 'root'
}]
}] });
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGEtaWNvbi1saWJyYXJ5LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hbmd1bGFyLWxpbmUtYXdlc29tZS9zcmMvbGliL3NlcnZpY2VzL2xhLWljb24tbGlicmFyeS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBTTNDLE1BQU0sT0FBTyxhQUFhO0lBSDFCO1FBSVUsYUFBUSxHQUFHLElBQUksR0FBRyxFQUFrQixDQUFDO0tBa0I5QztJQWhCUSxRQUFRLENBQUMsS0FBd0I7UUFDdEMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQXFCLEVBQUUsRUFBRTtZQUN0QyxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUMxQyxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFTSxPQUFPLENBQUMsSUFBVTtRQUN2QixNQUFNLFFBQVEsR0FBRyxHQUFHLElBQUksQ0FBQyxNQUFNLElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBRW5ELElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDO1lBQ2pDLE1BQU0sSUFBSSxLQUFLLENBQ2IsbUNBQW1DLElBQUksQ0FBQyxNQUFNLGlCQUFpQixJQUFJLENBQUMsUUFBUSx1QkFBdUIsQ0FDcEcsQ0FBQztRQUNKLENBQUM7UUFDRCxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ3JDLENBQUM7OEdBbEJVLGFBQWE7a0hBQWIsYUFBYSxjQUZaLE1BQU07OzJGQUVQLGFBQWE7a0JBSHpCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgSWNvbiwgTGluZUF3ZXNvbWVJY29uIH0gZnJvbSAnLi4vbGluZS1hd2Vzb21lLmNvcmUnO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290J1xufSlcbmV4cG9ydCBjbGFzcyBMYUljb25MaWJyYXJ5IHtcbiAgcHJpdmF0ZSByZWdpc3RyeSA9IG5ldyBNYXA8c3RyaW5nLCBzdHJpbmc+KCk7XG5cbiAgcHVibGljIGFkZEljb25zKGljb25zOiBMaW5lQXdlc29tZUljb25bXSk6IHZvaWQge1xuICAgIGljb25zLmZvckVhY2goKGljb246IExpbmVBd2Vzb21lSWNvbikgPT4ge1xuICAgICAgdGhpcy5yZWdpc3RyeS5zZXQoaWNvbi5uYW1lLCBpY29uLmRhdGEpO1xuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIGdldEljb24oaWNvbjogSWNvbik6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gICAgY29uc3QgaWNvbk5hbWUgPSBgJHtpY29uLnByZWZpeH0tJHtpY29uLmljb25OYW1lfWA7XG5cbiAgICBpZiAoIXRoaXMucmVnaXN0cnkuaGFzKGljb25OYW1lKSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICBgQ291bGQgbm90IGZpbmQgaWNvbiB3aXRoIHByZWZpeD0ke2ljb24ucHJlZml4fSBhbmQgaWNvbk5hbWU9JHtpY29uLmljb25OYW1lfSBpbiB0aGUgaWNvbiBsaWJyYXJ5LmBcbiAgICAgICk7XG4gICAgfVxuICAgIHJldHVybiB0aGlzLnJlZ2lzdHJ5LmdldChpY29uTmFtZSk7XG4gIH1cbn1cbiJdfQ==