UNPKG

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.

55 lines (49 loc) 1.75 kB
"use strict"; // // 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. // import { NativeModules, Platform } from 'react-native'; import { MalwarelyticsError } from '../MalwarelyticsError'; /** * Simple object containing module's state and the result. */ /** * Native interface, implemented in Swift / Kotlin. */ /** * Instance of Native interface */ export const MalwarelyticsModule = 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. */ export 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` + 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("LINKING_ERROR", message); } try { return await action(module); } catch (e) { throw MalwarelyticsError.wrap(e); } } //# sourceMappingURL=MalwarelyticsModule.js.map