All files / src/lib fingerprint.module.ts

100% Statements 6/6
100% Branches 0/0
100% Functions 1/1
100% Lines 4/4

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 391x 1x                                               1x   6x                      
import { ModuleWithProviders, NgModule } from '@angular/core'
import { FINGERPRINT_ANGULAR_SETTINGS_TOKEN } from './tokens/fingerprint-angular-settings-token'
import { FingerprintSettings } from './interfaces/fingerprint-settings'
 
/**
 * Include FingerprintModule using `forRoot` method.
 *
 * @example ```typescript
 * import { NgModule } from '@angular/core';
 * import { FingerprintModule } from '@fingerprintjs/fingerprintjs-pro-angular';
 * // ...
 *
 * @NgModule({
 *   declarations: [AppComponent],
 *   imports: [
 *     BrowserModule,
 *     FingerprintModule.forRoot({startOptions: {apiKey: 'your-fp-public-api-key'}})
 *   ],
 *   providers: [],
 *   bootstrap: [AppComponent]
 * })
 * export class AppModule { }
 * ```
 */
@NgModule()
export class FingerprintModule {
  static forRoot(settings: FingerprintSettings): ModuleWithProviders<FingerprintModule> {
    return {
      ngModule: FingerprintModule,
      providers: [
        {
          provide: FINGERPRINT_ANGULAR_SETTINGS_TOKEN,
          useValue: settings,
        },
      ],
    }
  }
}