UNPKG

@nevis-security/nevis-mobile-authentication-sdk-react

Version:

React Native plugin for Nevis Mobile Authentication SDK. Supports only mobile.

68 lines (64 loc) 2.23 kB
"use strict"; /** * Copyright © 2024 Nevis Security AG. All rights reserved. */ import uuid from 'react-native-uuid'; import NevisMobileAuthenticationSdkReact from '../MobileAuthenticationSdk'; import { MetaDataInMessage } from '../model/messages/in/MetaDataInMessage'; import { OperationIdMessage } from '../model/messages/out/OperationIdMessage'; /** * The object containing information about the Nevis Mobile Authentication SDK. * * Usage example: * ```ts * import { Platform } from 'react-native'; * * async function getSdkVersion(): Promise<string> { * return Platform.select({ * android: async () => { * const metaData = await MetaData.androidMetaData(); * return formatted(metaData?.mobileAuthenticationVersion); * }, * ios: async () => { * const metaData = await MetaData.iosMetaData(); * return formatted(metaData?.mobileAuthenticationVersion); * }, * default: () => { * return Promise.any('Unknown'); * }, * })(); * } * * function formatted(version?: Version): string { * if (version === undefined) { * return 'Unknown'; * } * return `${version.major}.${version.minor}.${version.patch}.${version.buildNumber}`; * } * ``` */ export class MetaData { /** * The object containing information about Nevis Mobile Authentication SDK for Android. */ static async androidMetaData() { const operationId = uuid.v4(); const message = new OperationIdMessage(operationId); return NevisMobileAuthenticationSdkReact.metaData(message).then(json => { const resultMessage = MetaDataInMessage.fromJson(json); return resultMessage.androidMetaData; }); } /** * The object containing information about Nevis Mobile Authentication SDK for iOS. */ static async iosMetaData() { const operationId = uuid.v4(); const message = new OperationIdMessage(operationId); return NevisMobileAuthenticationSdkReact.metaData(message).then(json => { const resultMessage = MetaDataInMessage.fromJson(json); return resultMessage.iosMetaData; }); } } //# sourceMappingURL=MetaData.js.map