All files / src/app/core/services captcha.service.ts

86.66% Statements 13/15
100% Branches 2/2
100% Functions 6/6
100% Lines 9/9

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 2329x 29x 29x         29x   4x   4x     1x   1x 1x          
import { Injectable } from '@angular/core';
import { ScScoreReCaptcha } from '@semantic-components/re-captcha';
import { BehaviorSubject, from, Observable, of, switchMap } from 'rxjs';
 
@Injectable({
  providedIn: 'root'
})
export class CaptchaService {
 
  private tokenSubject: BehaviorSubject<string | null | false> = new BehaviorSubject<string | null | false>(null);
 
  constructor(private scScoreReCaptcha: ScScoreReCaptcha) {}
 
  getCaptchaToken() :Observable<string> {
    return from(this.scScoreReCaptcha.execute('captcha')).pipe(
      switchMap((token: string) =>  {
          this.tokenSubject.next(token);
          return of(token);
      }
    ));
  }
}