UNPKG

5.17 kBJavaScriptView Raw
1import { Injectable } from '@angular/core';
2import * as i0 from "@angular/core";
3export class FaIconLibrary {
4 constructor() {
5 this.definitions = {};
6 }
7 addIcons(...icons) {
8 for (const icon of icons) {
9 if (!(icon.prefix in this.definitions)) {
10 this.definitions[icon.prefix] = {};
11 }
12 this.definitions[icon.prefix][icon.iconName] = icon;
13 for (const alias of icon.icon[2]) {
14 if (typeof alias === 'string') {
15 this.definitions[icon.prefix][alias] = icon;
16 }
17 }
18 }
19 }
20 addIconPacks(...packs) {
21 for (const pack of packs) {
22 const icons = Object.keys(pack).map((key) => pack[key]);
23 this.addIcons(...icons);
24 }
25 }
26 getIconDefinition(prefix, name) {
27 if (prefix in this.definitions && name in this.definitions[prefix]) {
28 return this.definitions[prefix][name];
29 }
30 return null;
31 }
32}
33FaIconLibrary.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.0", ngImport: i0, type: FaIconLibrary, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
34FaIconLibrary.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.0.0", ngImport: i0, type: FaIconLibrary, providedIn: 'root' });
35i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.0", ngImport: i0, type: FaIconLibrary, decorators: [{
36 type: Injectable,
37 args: [{ providedIn: 'root' }]
38 }] });
39//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWNvbi1saWJyYXJ5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2xpYi9pY29uLWxpYnJhcnkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFVM0MsTUFBTSxPQUFPLGFBQWE7SUFEMUI7UUFFVSxnQkFBVyxHQUE2RCxFQUFFLENBQUM7S0E2QnBGO0lBM0JDLFFBQVEsQ0FBQyxHQUFHLEtBQXVCO1FBQ2pDLEtBQUssTUFBTSxJQUFJLElBQUksS0FBSyxFQUFFO1lBQ3hCLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxNQUFNLElBQUksSUFBSSxDQUFDLFdBQVcsQ0FBQyxFQUFFO2dCQUN0QyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxFQUFFLENBQUM7YUFDcEM7WUFDRCxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsSUFBSSxDQUFDO1lBQ3BELEtBQUssTUFBTSxLQUFLLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRTtnQkFDaEMsSUFBSSxPQUFPLEtBQUssS0FBSyxRQUFRLEVBQUU7b0JBQzdCLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEtBQUssQ0FBQyxHQUFHLElBQUksQ0FBQztpQkFDN0M7YUFDRjtTQUNGO0lBQ0gsQ0FBQztJQUVELFlBQVksQ0FBQyxHQUFHLEtBQWlCO1FBQy9CLEtBQUssTUFBTSxJQUFJLElBQUksS0FBSyxFQUFFO1lBQ3hCLE1BQU0sS0FBSyxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztZQUN4RCxJQUFJLENBQUMsUUFBUSxDQUFDLEdBQUcsS0FBSyxDQUFDLENBQUM7U0FDekI7SUFDSCxDQUFDO0lBRUQsaUJBQWlCLENBQUMsTUFBa0IsRUFBRSxJQUFjO1FBQ2xELElBQUksTUFBTSxJQUFJLElBQUksQ0FBQyxXQUFXLElBQUksSUFBSSxJQUFJLElBQUksQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLEVBQUU7WUFDbEUsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLE1BQU0sQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDO1NBQ3ZDO1FBQ0QsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDOzswR0E3QlUsYUFBYTs4R0FBYixhQUFhLGNBREEsTUFBTTsyRkFDbkIsYUFBYTtrQkFEekIsVUFBVTttQkFBQyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBJY29uRGVmaW5pdGlvbiwgSWNvbk5hbWUsIEljb25QYWNrLCBJY29uUHJlZml4IH0gZnJvbSAnQGZvcnRhd2Vzb21lL2ZvbnRhd2Vzb21lLXN2Zy1jb3JlJztcblxuZXhwb3J0IGludGVyZmFjZSBGYUljb25MaWJyYXJ5SW50ZXJmYWNlIHtcbiAgYWRkSWNvbnMoLi4uaWNvbnM6IEljb25EZWZpbml0aW9uW10pOiB2b2lkO1xuICBhZGRJY29uUGFja3MoLi4ucGFja3M6IEljb25QYWNrW10pOiB2b2lkO1xuICBnZXRJY29uRGVmaW5pdGlvbihwcmVmaXg6IEljb25QcmVmaXgsIG5hbWU6IEljb25OYW1lKTogSWNvbkRlZmluaXRpb24gfCBudWxsO1xufVxuXG5ASW5qZWN0YWJsZSh7IHByb3ZpZGVkSW46ICdyb290JyB9KVxuZXhwb3J0IGNsYXNzIEZhSWNvbkxpYnJhcnkgaW1wbGVtZW50cyBGYUljb25MaWJyYXJ5SW50ZXJmYWNlIHtcbiAgcHJpdmF0ZSBkZWZpbml0aW9uczogeyBbcHJlZml4OiBzdHJpbmddOiB7IFtuYW1lOiBzdHJpbmddOiBJY29uRGVmaW5pdGlvbiB9IH0gPSB7fTtcblxuICBhZGRJY29ucyguLi5pY29uczogSWNvbkRlZmluaXRpb25bXSkge1xuICAgIGZvciAoY29uc3QgaWNvbiBvZiBpY29ucykge1xuICAgICAgaWYgKCEoaWNvbi5wcmVmaXggaW4gdGhpcy5kZWZpbml0aW9ucykpIHtcbiAgICAgICAgdGhpcy5kZWZpbml0aW9uc1tpY29uLnByZWZpeF0gPSB7fTtcbiAgICAgIH1cbiAgICAgIHRoaXMuZGVmaW5pdGlvbnNbaWNvbi5wcmVmaXhdW2ljb24uaWNvbk5hbWVdID0gaWNvbjtcbiAgICAgIGZvciAoY29uc3QgYWxpYXMgb2YgaWNvbi5pY29uWzJdKSB7XG4gICAgICAgIGlmICh0eXBlb2YgYWxpYXMgPT09ICdzdHJpbmcnKSB7XG4gICAgICAgICAgdGhpcy5kZWZpbml0aW9uc1tpY29uLnByZWZpeF1bYWxpYXNdID0gaWNvbjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGFkZEljb25QYWNrcyguLi5wYWNrczogSWNvblBhY2tbXSkge1xuICAgIGZvciAoY29uc3QgcGFjayBvZiBwYWNrcykge1xuICAgICAgY29uc3QgaWNvbnMgPSBPYmplY3Qua2V5cyhwYWNrKS5tYXAoKGtleSkgPT4gcGFja1trZXldKTtcbiAgICAgIHRoaXMuYWRkSWNvbnMoLi4uaWNvbnMpO1xuICAgIH1cbiAgfVxuXG4gIGdldEljb25EZWZpbml0aW9uKHByZWZpeDogSWNvblByZWZpeCwgbmFtZTogSWNvbk5hbWUpOiBJY29uRGVmaW5pdGlvbiB8IG51bGwge1xuICAgIGlmIChwcmVmaXggaW4gdGhpcy5kZWZpbml0aW9ucyAmJiBuYW1lIGluIHRoaXMuZGVmaW5pdGlvbnNbcHJlZml4XSkge1xuICAgICAgcmV0dXJuIHRoaXMuZGVmaW5pdGlvbnNbcHJlZml4XVtuYW1lXTtcbiAgICB9XG4gICAgcmV0dXJuIG51bGw7XG4gIH1cbn1cbiJdfQ==
\No newline at end of file