react-native-malwarelytics
Version:
Malwarelytics for React Native protects your banking or fintech app from a broad range of mobile security threats with an industry-leading mobile threat intelligence solution.
59 lines (54 loc) • 1.96 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.MalwarelyticsModule = void 0;
exports.wrapNativeCall = wrapNativeCall;
var _reactNative = require("react-native");
var _MalwarelyticsError = require("../MalwarelyticsError");
//
// Copyright 2023 Wultra s.r.o.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions
// and limitations under the License.
//
/**
* Simple object containing module's state and the result.
*/
/**
* Native interface, implemented in Swift / Kotlin.
*/
/**
* Instance of Native interface
*/
const MalwarelyticsModule = exports.MalwarelyticsModule = _reactNative.NativeModules.Malwarelytics;
/**
* Wrap call to native interface and handle all possible exceptions.
* @param module Module to use.
* @param action Action to execute with module.
* @returns Promise returned from the action.
*/
async function wrapNativeCall(module, action) {
if (module === undefined) {
const message = `The package 'react-native-malwarelytics' doesn't seem to be linked. Make sure: \n\n` + _reactNative.Platform.select({
ios: "- You have run 'pod install'\n",
default: ''
}) + '- You rebuilt the app after installing the package\n' + '- You are not using Expo Go\n';
throw new _MalwarelyticsError.MalwarelyticsError("LINKING_ERROR", message);
}
try {
return await action(module);
} catch (e) {
throw _MalwarelyticsError.MalwarelyticsError.wrap(e);
}
}
//# sourceMappingURL=MalwarelyticsModule.js.map