@fortawesome/angular-fontawesome
Version:
Angular Fontawesome, an Angular library
40 lines • 5.21 kB
JavaScript
import { Injectable } from '@angular/core';
import * as i0 from "@angular/core";
class FaIconLibrary {
constructor() {
this.definitions = {};
}
addIcons(...icons) {
for (const icon of icons) {
if (!(icon.prefix in this.definitions)) {
this.definitions[icon.prefix] = {};
}
this.definitions[icon.prefix][icon.iconName] = icon;
for (const alias of icon.icon[2]) {
if (typeof alias === 'string') {
this.definitions[icon.prefix][alias] = icon;
}
}
}
}
addIconPacks(...packs) {
for (const pack of packs) {
const icons = Object.keys(pack).map((key) => pack[key]);
this.addIcons(...icons);
}
}
getIconDefinition(prefix, name) {
if (prefix in this.definitions && name in this.definitions[prefix]) {
return this.definitions[prefix][name];
}
return null;
}
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: FaIconLibrary, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: FaIconLibrary, providedIn: 'root' }); }
}
export { FaIconLibrary };
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: FaIconLibrary, decorators: [{
type: Injectable,
args: [{ providedIn: 'root' }]
}] });
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWNvbi1saWJyYXJ5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2xpYi9pY29uLWxpYnJhcnkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFTM0MsTUFDYSxhQUFhO0lBRDFCO1FBRVUsZ0JBQVcsR0FBNkQsRUFBRSxDQUFDO0tBNkJwRjtJQTNCQyxRQUFRLENBQUMsR0FBRyxLQUF1QjtRQUNqQyxLQUFLLE1BQU0sSUFBSSxJQUFJLEtBQUssRUFBRTtZQUN4QixJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxJQUFJLElBQUksQ0FBQyxXQUFXLENBQUMsRUFBRTtnQkFDdEMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsRUFBRSxDQUFDO2FBQ3BDO1lBQ0QsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLElBQUksQ0FBQztZQUNwRCxLQUFLLE1BQU0sS0FBSyxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUU7Z0JBQ2hDLElBQUksT0FBTyxLQUFLLEtBQUssUUFBUSxFQUFFO29CQUM3QixJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxLQUFLLENBQUMsR0FBRyxJQUFJLENBQUM7aUJBQzdDO2FBQ0Y7U0FDRjtJQUNILENBQUM7SUFFRCxZQUFZLENBQUMsR0FBRyxLQUFpQjtRQUMvQixLQUFLLE1BQU0sSUFBSSxJQUFJLEtBQUssRUFBRTtZQUN4QixNQUFNLEtBQUssR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7WUFDeEQsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLEtBQUssQ0FBQyxDQUFDO1NBQ3pCO0lBQ0gsQ0FBQztJQUVELGlCQUFpQixDQUFDLE1BQWtCLEVBQUUsSUFBYztRQUNsRCxJQUFJLE1BQU0sSUFBSSxJQUFJLENBQUMsV0FBVyxJQUFJLElBQUksSUFBSSxJQUFJLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxFQUFFO1lBQ2xFLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQztTQUN2QztRQUNELE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQzs4R0E3QlUsYUFBYTtrSEFBYixhQUFhLGNBREEsTUFBTTs7U0FDbkIsYUFBYTsyRkFBYixhQUFhO2tCQUR6QixVQUFVO21CQUFDLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEljb25EZWZpbml0aW9uLCBJY29uTmFtZSwgSWNvblBhY2ssIEljb25QcmVmaXggfSBmcm9tICdAZm9ydGF3ZXNvbWUvZm9udGF3ZXNvbWUtc3ZnLWNvcmUnO1xuXG5leHBvcnQgaW50ZXJmYWNlIEZhSWNvbkxpYnJhcnlJbnRlcmZhY2Uge1xuICBhZGRJY29ucyguLi5pY29uczogSWNvbkRlZmluaXRpb25bXSk6IHZvaWQ7XG4gIGFkZEljb25QYWNrcyguLi5wYWNrczogSWNvblBhY2tbXSk6IHZvaWQ7XG4gIGdldEljb25EZWZpbml0aW9uKHByZWZpeDogSWNvblByZWZpeCwgbmFtZTogSWNvbk5hbWUpOiBJY29uRGVmaW5pdGlvbiB8IG51bGw7XG59XG5cbkBJbmplY3RhYmxlKHsgcHJvdmlkZWRJbjogJ3Jvb3QnIH0pXG5leHBvcnQgY2xhc3MgRmFJY29uTGlicmFyeSBpbXBsZW1lbnRzIEZhSWNvbkxpYnJhcnlJbnRlcmZhY2Uge1xuICBwcml2YXRlIGRlZmluaXRpb25zOiB7IFtwcmVmaXg6IHN0cmluZ106IHsgW25hbWU6IHN0cmluZ106IEljb25EZWZpbml0aW9uIH0gfSA9IHt9O1xuXG4gIGFkZEljb25zKC4uLmljb25zOiBJY29uRGVmaW5pdGlvbltdKSB7XG4gICAgZm9yIChjb25zdCBpY29uIG9mIGljb25zKSB7XG4gICAgICBpZiAoIShpY29uLnByZWZpeCBpbiB0aGlzLmRlZmluaXRpb25zKSkge1xuICAgICAgICB0aGlzLmRlZmluaXRpb25zW2ljb24ucHJlZml4XSA9IHt9O1xuICAgICAgfVxuICAgICAgdGhpcy5kZWZpbml0aW9uc1tpY29uLnByZWZpeF1baWNvbi5pY29uTmFtZV0gPSBpY29uO1xuICAgICAgZm9yIChjb25zdCBhbGlhcyBvZiBpY29uLmljb25bMl0pIHtcbiAgICAgICAgaWYgKHR5cGVvZiBhbGlhcyA9PT0gJ3N0cmluZycpIHtcbiAgICAgICAgICB0aGlzLmRlZmluaXRpb25zW2ljb24ucHJlZml4XVthbGlhc10gPSBpY29uO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgYWRkSWNvblBhY2tzKC4uLnBhY2tzOiBJY29uUGFja1tdKSB7XG4gICAgZm9yIChjb25zdCBwYWNrIG9mIHBhY2tzKSB7XG4gICAgICBjb25zdCBpY29ucyA9IE9iamVjdC5rZXlzKHBhY2spLm1hcCgoa2V5KSA9PiBwYWNrW2tleV0pO1xuICAgICAgdGhpcy5hZGRJY29ucyguLi5pY29ucyk7XG4gICAgfVxuICB9XG5cbiAgZ2V0SWNvbkRlZmluaXRpb24ocHJlZml4OiBJY29uUHJlZml4LCBuYW1lOiBJY29uTmFtZSk6IEljb25EZWZpbml0aW9uIHwgbnVsbCB7XG4gICAgaWYgKHByZWZpeCBpbiB0aGlzLmRlZmluaXRpb25zICYmIG5hbWUgaW4gdGhpcy5kZWZpbml0aW9uc1twcmVmaXhdKSB7XG4gICAgICByZXR1cm4gdGhpcy5kZWZpbml0aW9uc1twcmVmaXhdW25hbWVdO1xuICAgIH1cbiAgICByZXR1cm4gbnVsbDtcbiAgfVxufVxuIl19