UNPKG

react-native-biometry

Version:
90 lines (89 loc) 3 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.SecurityLevel = exports.Biometry = void 0; var _reactNative = require("react-native"); var _unavailableError = require("./unavailableError"); const { Biometry: RNBiometry } = _reactNative.NativeModules; const defaultPromptOptions = { title: 'Authentication required', subtitle: '', description: '', cancelText: 'Cancel' }; let SecurityLevel = /*#__PURE__*/function (SecurityLevel) { SecurityLevel[SecurityLevel["NONE"] = 0] = "NONE"; SecurityLevel[SecurityLevel["SECRET"] = 1] = "SECRET"; SecurityLevel[SecurityLevel["BIOMETRIC"] = 2] = "BIOMETRIC"; return SecurityLevel; }({}); /** @public */ exports.SecurityLevel = SecurityLevel; class Biometry { static async isAvailable() { if (!(RNBiometry !== null && RNBiometry !== void 0 && RNBiometry.isAvailable)) { throw new _unavailableError.UnavailableError(); } return RNBiometry.isAvailable(); } static async isEnrolled() { if (!(RNBiometry !== null && RNBiometry !== void 0 && RNBiometry.isEnrolled)) { throw new _unavailableError.UnavailableError(); } return RNBiometry.isEnrolled(); } static async getEnrolledLevel() { if (!(RNBiometry !== null && RNBiometry !== void 0 && RNBiometry.isEnrolled)) { throw new _unavailableError.UnavailableError(); } return RNBiometry.getEnrolledLevel(); } static async encryptData(params) { if (!(RNBiometry !== null && RNBiometry !== void 0 && RNBiometry.encryptData)) { throw new _unavailableError.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.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.UnavailableError(); } return RNBiometry.cancel(); } } exports.Biometry = Biometry; //# sourceMappingURL=biometry.js.map