@nevis-security/nevis-mobile-authentication-sdk-react
Version:
React Native plugin for Nevis Mobile Authentication SDK. Supports only mobile.
42 lines (38 loc) • 1.56 kB
text/typescript
/**
* Copyright © 2024 Nevis Security AG. All rights reserved.
*/
import { PasswordChangeRecoverableCustomValidationError } from './PasswordChangeRecoverableCustomValidationError';
import type { PasswordChangeRecoverableError } from './PasswordChangeRecoverableError';
import { PasswordChangeRecoverableInvalidPassword } from './PasswordChangeRecoverableInvalidPassword';
import { PasswordChangeRecoverableOldPasswordEqualsNewPassword } from './PasswordChangeRecoverableOldPasswordEqualsNewPassword';
import { ErrorConverter } from '../../ErrorConverter';
enum PasswordChangeRecoverableErrorType {
CustomValidationError,
InvalidPassword,
OldPasswordEqualsNewPassword,
}
export class PasswordChangeRecoverableErrorConverter extends ErrorConverter<PasswordChangeRecoverableError> {
convert(): PasswordChangeRecoverableError {
const subtype =
PasswordChangeRecoverableErrorType[
this.error.type as keyof typeof PasswordChangeRecoverableErrorType
];
switch (subtype) {
case PasswordChangeRecoverableErrorType.CustomValidationError:
return new PasswordChangeRecoverableCustomValidationError(
this.error.description,
this.error.cause
);
case PasswordChangeRecoverableErrorType.InvalidPassword:
return new PasswordChangeRecoverableInvalidPassword(
this.error.description,
this.error.cause
);
case PasswordChangeRecoverableErrorType.OldPasswordEqualsNewPassword:
return new PasswordChangeRecoverableOldPasswordEqualsNewPassword(
this.error.description,
this.error.cause
);
}
}
}