{"version":3,"file":"fortawesome-angular-fontawesome-testing.mjs","sources":["../../../testing/src/config.ts","../../../testing/src/icon/mock-icon-library.service.ts","../../../testing/src/testing.module.ts","../../../testing/src/fortawesome-angular-fontawesome-testing.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\n\n@Injectable({\n  providedIn: 'root',\n})\nexport class FaTestingConfig {\n  /**\n   * What to do when `addIcons()` or `addIconPacks()` is invoked on\n   * the FaIconLibrary provided by the FontAwesomeTestingModule.\n   *\n   * Possible values are:\n   * - `'throwError'` -  Throw an error.\n   * - `'logWarning'` - Write a warning to the console.\n   * - `'noop'` - Do nothing.\n   *\n   * Note that in any case the icon will not be added to the library.\n   *\n   * @default 'throwError'\n   */\n  whenAddingIcons: 'throwError' | 'logWarning' | 'noop' = 'throwError';\n}\n","import { inject, Injectable } from '@angular/core';\nimport { FaIconLibraryInterface, IconDefinition, IconName, IconPrefix } from '@fortawesome/angular-fontawesome';\nimport { FaTestingConfig } from '../config';\n\nexport const dummyIcon: IconDefinition = {\n  prefix: 'fad',\n  iconName: 'dummy',\n  icon: [512, 512, [], '', 'M50 50 H462 V462 H50 Z'],\n};\n\nexport const ADD_ICON_MESSAGE = 'Attempt to add an icon to the MockFaIconLibrary.';\n\n@Injectable({\n  providedIn: 'root',\n})\nexport class MockFaIconLibrary implements FaIconLibraryInterface {\n  private config = inject(FaTestingConfig);\n\n  addIcons() {\n    if (this.config.whenAddingIcons === 'throwError') {\n      throw new Error(ADD_ICON_MESSAGE);\n    }\n    if (this.config.whenAddingIcons === 'logWarning') {\n      console.warn(ADD_ICON_MESSAGE);\n    }\n  }\n\n  addIconPacks() {\n    if (this.config.whenAddingIcons === 'throwError') {\n      throw new Error(ADD_ICON_MESSAGE);\n    }\n    if (this.config.whenAddingIcons === 'logWarning') {\n      console.warn(ADD_ICON_MESSAGE);\n    }\n  }\n\n  getIconDefinition(prefix: IconPrefix, name: IconName): IconDefinition {\n    return dummyIcon;\n  }\n}\n","import { ModuleWithProviders, NgModule } from '@angular/core';\nimport { FaIconLibrary, FontAwesomeModule } from '@fortawesome/angular-fontawesome';\nimport { FaTestingConfig } from './config';\nimport { MockFaIconLibrary } from './icon/mock-icon-library.service';\n\n@NgModule({\n  exports: [FontAwesomeModule],\n  providers: [{ provide: FaIconLibrary, useExisting: MockFaIconLibrary }],\n})\nexport class FontAwesomeTestingModule {\n  /**\n   * Use this method to configure the module’s behaviour when trying to add icons\n   * and icon packs to the mock icon library.\n   */\n  static forRoot(config: Partial<FaTestingConfig> = {}): ModuleWithProviders<FontAwesomeTestingModule> {\n    return {\n      ngModule: FontAwesomeTestingModule,\n      providers: [\n        {\n          provide: FaIconLibrary,\n          useExisting: MockFaIconLibrary,\n        },\n        {\n          provide: FaTestingConfig,\n          useFactory: () => Object.assign(new FaTestingConfig(), config),\n        },\n      ],\n    };\n  }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}