react-native-biometry
Version:
90 lines (89 loc) • 3 kB
JavaScript
;
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