UNPKG

@imajin/rx-otp

Version:

HMAC-based (HOTP) and Time-based (TOTP) One-Time Password manager. Works with Google Authenticator for Two-Factor Authentication.

9 lines (8 loc) 433 B
import { mergeMap, of, throwError } from 'rxjs'; import { defaultIfEmpty, filter } from 'rxjs/operators'; import { ajv } from './ajv'; export class Validator { } Validator.validateDataWithSchemaReference = (keyRef, data) => of(ajv.getSchema(keyRef)) .pipe(mergeMap(validator => of(validator(data)) .pipe(filter(_ => !_), mergeMap(() => throwError(() => new Error(ajv.errorsText(validator.errors)))), defaultIfEmpty(data))));