@nevis-security/nevis-mobile-authentication-sdk-react
Version:
React Native plugin for Nevis Mobile Authentication SDK. Supports only mobile.
30 lines (26 loc) • 983 B
text/typescript
/**
* Copyright © 2023 Nevis Security AG. All rights reserved.
*/
import { PinEnrollmentCustomValidationError } from './PinEnrollmentCustomValidationError';
import { PinEnrollmentError } from './PinEnrollmentError';
import { PinEnrollmentInvalidPinFormat } from './PinEnrollmentInvalidPinFormat';
import { ErrorConverter } from '../../ErrorConverter';
enum PinEnrollmentErrorType {
CustomValidationError,
InvalidPinFormat,
}
export class PinEnrollmentErrorConverter extends ErrorConverter<PinEnrollmentError> {
convert(): PinEnrollmentError {
const subtype =
PinEnrollmentErrorType[this.error.type as keyof typeof PinEnrollmentErrorType];
switch (subtype) {
case PinEnrollmentErrorType.CustomValidationError:
return new PinEnrollmentCustomValidationError(
this.error.description,
this.error.cause
);
case PinEnrollmentErrorType.InvalidPinFormat:
return new PinEnrollmentInvalidPinFormat(this.error.description, this.error.cause);
}
}
}