@nevis-security/nevis-mobile-authentication-sdk-react
Version:
React Native plugin for Nevis Mobile Authentication SDK. Supports only mobile.
52 lines (48 loc) • 1.96 kB
text/typescript
/**
* Copyright © 2024 Nevis Security AG. All rights reserved.
*/
import { PasswordChangeDeviceProtectionError } from './PasswordChangeDeviceProtectionError';
import { PasswordChangeError } from './PasswordChangeError';
import { PasswordChangeNoDeviceLockError } from './PasswordChangeNoDeviceLockError';
import { PasswordChangePasswordLocked } from './PasswordChangePasswordLocked';
import { PasswordChangePasswordNotEnrolled } from './PasswordChangePasswordNotEnrolled';
import { PasswordChangeUnknownError } from './PasswordChangeUnknownError';
import { PasswordChangeUserCanceled } from './PasswordChangeUserCanceled';
import { ErrorConverter } from '../../ErrorConverter';
enum PasswordChangeErrorType {
DeviceProtectionError,
NoDeviceLockError,
PasswordLocked,
PasswordNotEnrolled,
Unknown,
UserCanceled,
}
export class PasswordChangeErrorConverter extends ErrorConverter<PasswordChangeError> {
convert(): PasswordChangeError {
const subtype =
PasswordChangeErrorType[this.error.type as keyof typeof PasswordChangeErrorType];
switch (subtype) {
case PasswordChangeErrorType.DeviceProtectionError:
return new PasswordChangeDeviceProtectionError(
this.error.description,
this.error.cause
);
case PasswordChangeErrorType.NoDeviceLockError:
return new PasswordChangeNoDeviceLockError(
this.error.description,
this.error.cause
);
case PasswordChangeErrorType.PasswordLocked:
return new PasswordChangePasswordLocked(this.error.description, this.error.cause);
case PasswordChangeErrorType.PasswordNotEnrolled:
return new PasswordChangePasswordNotEnrolled(
this.error.description,
this.error.cause
);
case PasswordChangeErrorType.Unknown:
return new PasswordChangeUnknownError(this.error.description, this.error.cause);
case PasswordChangeErrorType.UserCanceled:
return new PasswordChangeUserCanceled(this.error.description, this.error.cause);
}
}
}