UNPKG

@nevis-security/nevis-mobile-authentication-sdk-react

Version:

React Native plugin for Nevis Mobile Authentication SDK. Supports only mobile.

56 lines (50 loc) 2.36 kB
/** * Copyright © 2023-2024 Nevis Security AG. All rights reserved. */ import { BiometricUserVerificationContext } from '../../operations/userverification/BiometricUserVerificationContext'; import { DevicePasscodeUserVerificationContext } from '../../operations/userverification/DevicePasscodeUserVerificationContext'; import { FingerprintUserVerificationContext } from '../../operations/userverification/FingerprintUserVerificationContext'; import { PasswordUserVerificationContext } from '../../operations/userverification/PasswordUserVerificationContext'; import { PinUserVerificationContext } from '../../operations/userverification/PinUserVerificationContext'; import { UserVerificationContext } from '../../operations/userverification/UserVerificationContext'; enum UserVerificationContextType { PinUserVerificationContext, PasswordUserVerificationContext, BiometricUserVerificationContext, DevicePasscodeUserVerificationContext, FingerprintUserVerificationContext, } export class TypedUserVerificationContext { wrapped: UserVerificationContext; constructor(userVerificationContext: UserVerificationContext) { this.wrapped = userVerificationContext; } static fromJson(json: any): TypedUserVerificationContext { const subtype = UserVerificationContextType[json.type as keyof typeof UserVerificationContextType]; switch (subtype) { case UserVerificationContextType.PinUserVerificationContext: return new TypedUserVerificationContext( PinUserVerificationContext.fromJson(json.data) ); case UserVerificationContextType.PasswordUserVerificationContext: return new TypedUserVerificationContext( PasswordUserVerificationContext.fromJson(json.data) ); case UserVerificationContextType.BiometricUserVerificationContext: return new TypedUserVerificationContext( BiometricUserVerificationContext.fromJson(json.data) ); case UserVerificationContextType.DevicePasscodeUserVerificationContext: return new TypedUserVerificationContext( DevicePasscodeUserVerificationContext.fromJson(json.data) ); case UserVerificationContextType.FingerprintUserVerificationContext: return new TypedUserVerificationContext( FingerprintUserVerificationContext.fromJson(json.data) ); default: throw new Error(`Unknown user verification context (${json.type}).`); } } }