UNPKG

react-native-biometry

Version:
83 lines (82 loc) 2.7 kB
import { NativeModules } from 'react-native'; import { UnavailableError } from './unavailableError'; const { Biometry: RNBiometry } = NativeModules; const defaultPromptOptions = { title: 'Authentication required', subtitle: '', description: '', cancelText: 'Cancel' }; export let SecurityLevel = /*#__PURE__*/function (SecurityLevel) { SecurityLevel[SecurityLevel["NONE"] = 0] = "NONE"; SecurityLevel[SecurityLevel["SECRET"] = 1] = "SECRET"; SecurityLevel[SecurityLevel["BIOMETRIC"] = 2] = "BIOMETRIC"; return SecurityLevel; }({}); /** @public */ export class Biometry { static async isAvailable() { if (!(RNBiometry !== null && RNBiometry !== void 0 && RNBiometry.isAvailable)) { throw new UnavailableError(); } return RNBiometry.isAvailable(); } static async isEnrolled() { if (!(RNBiometry !== null && RNBiometry !== void 0 && RNBiometry.isEnrolled)) { throw new UnavailableError(); } return RNBiometry.isEnrolled(); } static async getEnrolledLevel() { if (!(RNBiometry !== null && RNBiometry !== void 0 && RNBiometry.isEnrolled)) { throw new UnavailableError(); } return RNBiometry.getEnrolledLevel(); } static async encryptData(params) { if (!(RNBiometry !== null && RNBiometry !== void 0 && RNBiometry.encryptData)) { throw new UnavailableError(); } try { return await RNBiometry.encryptData(params); } catch (e) { return { data: null, success: false }; } } static async authenticate() { let options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {}; if (!(RNBiometry !== null && RNBiometry !== void 0 && RNBiometry.authenticate)) { throw new UnavailableError(); } try { var _options$encryptedDat, _options$securityKeyN; const prompt = { ...defaultPromptOptions, ...(options.prompt || {}) }; return RNBiometry.authenticate({ prompt, encryptedData: (_options$encryptedDat = options.encryptedData) !== null && _options$encryptedDat !== void 0 && _options$encryptedDat.length ? options.encryptedData : null, securityKeyName: (_options$securityKeyN = options.securityKeyName) !== null && _options$securityKeyN !== void 0 && _options$securityKeyN.length ? options.securityKeyName : null }); } catch (e) { return { success: false, data: null, error: e.message }; } } static async cancel() { if (!(RNBiometry !== null && RNBiometry !== void 0 && RNBiometry.cancel)) { throw new UnavailableError(); } return RNBiometry.cancel(); } } //# sourceMappingURL=biometry.js.map