@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
JavaScript
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))));