UNPKG

@fortawesome/angular-fontawesome

Version:
40 lines 5.21 kB
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