{"version":3,"file":"fingerprintjs-fingerprintjs-pro-angular.mjs","sources":["../../../projects/fingerprintjs-pro-angular/src/lib/tokens/fingerprintjs-pro-angular-settings-token.ts","../../../projects/fingerprintjs-pro-angular/src/lib/version.ts","../../../projects/fingerprintjs-pro-angular/src/lib/fingerprintjs-pro-angular.service.ts","../../../projects/fingerprintjs-pro-angular/src/lib/fingerprintjs-pro-angular.module.ts","../../../projects/fingerprintjs-pro-angular/src/public-api.ts","../../../projects/fingerprintjs-pro-angular/src/fingerprintjs-fingerprintjs-pro-angular.ts"],"sourcesContent":["import { InjectionToken } from '@angular/core'\nimport { IFingerprintjsProSettings } from '../interfaces/i-fingerprintjs-pro-settings'\n\nexport const FINGERPRINT_PRO_ANGULAR_SETTINGS_TOKEN = new InjectionToken<IFingerprintjsProSettings>(\n  'ng-fingerprintjspro-settings-token',\n  {\n    factory: () => ({ clientOptions: { loadOptions: { apiKey: '' } } }),\n  }\n)\n","export const packageVersion = '2.1.0'\n","import { Inject, Injectable } from '@angular/core'\nimport { FpjsClient, FingerprintJSPro } from '@fingerprintjs/fingerprintjs-pro-spa'\nimport { FINGERPRINT_PRO_ANGULAR_SETTINGS_TOKEN } from './tokens/fingerprintjs-pro-angular-settings-token'\nimport { IFingerprintjsProSettings } from './interfaces/i-fingerprintjs-pro-settings'\nimport { packageVersion } from './version'\n\n/**\n * Inject FingerprintjsProAngularService and use it to make identification requests.\n *\n * @example ```typescript\n * import { Component, OnInit } from '@angular/core';\n * import { FingerprintjsProAngularService } from 'fingerprintjs-pro-angular';\n *\n * @Component({\n *   selector: 'app-home',\n *   templateUrl: './home.component.html',\n *   styleUrls: ['./home.component.css']\n * })\n * export class HomeComponent implements OnInit {\n *\n *   constructor(private fingerprintjsProAngularService: FingerprintjsProAngularService) { }\n * //^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n *   visitorId = 'Press \"Identify\" button to get visitorId';\n *\n *   async onIdentifyButtonClick() : Promise<void> {\n *     const data = await this.fingerprintjsProAngularService.getVisitorData();\n * //  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n *     this.visitorId = data.visitorId;\n *     this.extendedResult = data;\n *   }\n * }\n * ```\n */\n@Injectable({\n  providedIn: 'root',\n})\nexport class FingerprintjsProAngularService {\n  private fingerprintJsClient: FpjsClient\n  private readonly fingerprintJsClientInitPromise: Promise<Object>\n\n  constructor(\n    @Inject(FINGERPRINT_PRO_ANGULAR_SETTINGS_TOKEN)\n    settings: IFingerprintjsProSettings\n  ) {\n    const { loadOptions } = settings.clientOptions\n    const clientOptions = {\n      ...settings.clientOptions,\n      loadOptions: {\n        ...loadOptions,\n        integrationInfo: [...(loadOptions.integrationInfo || []), `fingerprintjs-pro-angular/${packageVersion}`],\n      },\n    }\n    this.fingerprintJsClient = new FpjsClient(clientOptions)\n    this.fingerprintJsClientInitPromise = this.fingerprintJsClient.init()\n  }\n  async getVisitorData<TExtended extends boolean>(\n    options?: FingerprintJSPro.GetOptions<TExtended>,\n    ignoreCache?: boolean\n  ) {\n    await this.fingerprintJsClientInitPromise\n    return this.fingerprintJsClient.getVisitorData(options, ignoreCache)\n  }\n  clearCache() {\n    return this.fingerprintJsClient.clearCache()\n  }\n}\n","import { ModuleWithProviders, NgModule } from '@angular/core'\nimport { FINGERPRINT_PRO_ANGULAR_SETTINGS_TOKEN } from './tokens/fingerprintjs-pro-angular-settings-token'\nimport { IFingerprintjsProSettings } from './interfaces/i-fingerprintjs-pro-settings'\nimport { FingerprintjsProAngularService } from './fingerprintjs-pro-angular.service'\nimport { FpjsClientOptions } from '@fingerprintjs/fingerprintjs-pro-spa'\n\n/**\n * Include FingerprintjsProAngularModule using `forRoot` method.\n *\n * @example ```typescript\n * import { NgModule } from '@angular/core';\n * import { FingerprintjsProAngularModule } from 'fingerprintjs-pro-angular';\n * // ...\n *\n * @NgModule({\n *   declarations: [AppComponent],\n *   imports: [\n *     BrowserModule,\n *     FingerprintjsProAngularModule.forRoot({loadOptions: {apiKey: 'your-fpjs-public-api-key'}})\n * //  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n *   ],\n *   providers: [],\n *   bootstrap: [AppComponent]\n * })\n * export class AppModule { }\n * ```\n */\n@NgModule()\nexport class FingerprintjsProAngularModule {\n  static forRoot(clientOptions: FpjsClientOptions): ModuleWithProviders<FingerprintjsProAngularModule> {\n    return {\n      ngModule: FingerprintjsProAngularModule,\n      providers: [\n        {\n          provide: FINGERPRINT_PRO_ANGULAR_SETTINGS_TOKEN,\n          useValue: {\n            clientOptions,\n          } as IFingerprintjsProSettings,\n        },\n        FingerprintjsProAngularService,\n      ],\n    }\n  }\n}\n","/*\n * Public API Surface of fingerprintjs-pro-angular\n */\n\nexport * from './lib/fingerprintjs-pro-angular.service'\nexport * from './lib/fingerprintjs-pro-angular.module'\nexport * from './lib/interfaces/i-fingerprintjs-pro-settings'\nexport * from './lib/tokens/fingerprintjs-pro-angular-settings-token'\n\nexport {\n  CacheLocation,\n  Cacheable,\n  ICache,\n  LocalStorageCache,\n  SessionStorageCache,\n  InMemoryCache,\n  GetOptions,\n  LoadOptions,\n  GetResult,\n  ExtendedGetResult,\n  defaultEndpoint,\n  defaultScriptUrlPattern,\n  defaultTlsEndpoint,\n  FpjsClientOptions,\n  FingerprintJSPro,\n} from '@fingerprintjs/fingerprintjs-pro-spa'\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;;;;MAGa,sCAAsC,GAAG,IAAI,cAAc,CACtE,oCAAoC,EACpC;AACE,IAAA,OAAO,EAAE,OAAO,EAAE,aAAa,EAAE,EAAE,WAAW,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;AACpE,CAAA;;ACPI,MAAM,cAAc,GAAG,OAAO;;ACMrC;;;;;;;;;;;;;;;;;;;;;;;;;;AA0BG;MAIU,8BAA8B,CAAA;AAIzC,IAAA,WAAA,CAEE,QAAmC,EAAA;AAEnC,QAAA,MAAM,EAAE,WAAW,EAAE,GAAG,QAAQ,CAAC,aAAa,CAAA;QAC9C,MAAM,aAAa,GACd,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,QAAQ,CAAC,aAAa,CACzB,EAAA,EAAA,WAAW,EACN,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,MAAA,CAAA,EAAA,EAAA,WAAW,CACd,EAAA,EAAA,eAAe,EAAE,CAAC,IAAI,WAAW,CAAC,eAAe,IAAI,EAAE,CAAC,EAAE,CAAA,0BAAA,EAA6B,cAAc,CAAA,CAAE,CAAC,EAAA,CAAA,EAAA,CAE3G,CAAA;QACD,IAAI,CAAC,mBAAmB,GAAG,IAAI,UAAU,CAAC,aAAa,CAAC,CAAA;QACxD,IAAI,CAAC,8BAA8B,GAAG,IAAI,CAAC,mBAAmB,CAAC,IAAI,EAAE,CAAA;KACtE;IACK,cAAc,CAClB,OAAgD,EAChD,WAAqB,EAAA;;YAErB,MAAM,IAAI,CAAC,8BAA8B,CAAA;YACzC,OAAO,IAAI,CAAC,mBAAmB,CAAC,cAAc,CAAC,OAAO,EAAE,WAAW,CAAC,CAAA;SACrE,CAAA,CAAA;AAAA,KAAA;IACD,UAAU,GAAA;AACR,QAAA,OAAO,IAAI,CAAC,mBAAmB,CAAC,UAAU,EAAE,CAAA;KAC7C;;AA5BU,8BAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,8BAA8B,kBAK/B,sCAAsC,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AALrC,8BAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,8BAA8B,cAF7B,MAAM,EAAA,CAAA,CAAA;4FAEP,8BAA8B,EAAA,UAAA,EAAA,CAAA;kBAH1C,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,UAAU,EAAE,MAAM;iBACnB,CAAA;;;8BAMI,MAAM;+BAAC,sCAAsC,CAAA;;;;ACnClD;;;;;;;;;;;;;;;;;;;;AAoBG;MAEU,6BAA6B,CAAA;IACxC,OAAO,OAAO,CAAC,aAAgC,EAAA;QAC7C,OAAO;AACL,YAAA,QAAQ,EAAE,6BAA6B;AACvC,YAAA,SAAS,EAAE;AACT,gBAAA;AACE,oBAAA,OAAO,EAAE,sCAAsC;AAC/C,oBAAA,QAAQ,EAAE;wBACR,aAAa;AACe,qBAAA;AAC/B,iBAAA;gBACD,8BAA8B;AAC/B,aAAA;SACF,CAAA;KACF;;2HAdU,6BAA6B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;4HAA7B,6BAA6B,EAAA,CAAA,CAAA;4HAA7B,6BAA6B,EAAA,CAAA,CAAA;4FAA7B,6BAA6B,EAAA,UAAA,EAAA,CAAA;kBADzC,QAAQ;;;AC3BT;;AAEG;;ACFH;;AAEG;;;;"}