@nevis-security/nevis-mobile-authentication-sdk-react
Version:
React Native plugin for Nevis Mobile Authentication SDK. Supports only mobile.
73 lines (70 loc) • 2.6 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.MetaData = void 0;
var _reactNativeUuid = _interopRequireDefault(require("react-native-uuid"));
var _MobileAuthenticationSdk = _interopRequireDefault(require("../MobileAuthenticationSdk"));
var _MetaDataInMessage = require("../model/messages/in/MetaDataInMessage");
var _OperationIdMessage = require("../model/messages/out/OperationIdMessage");
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
/**
* Copyright © 2024 Nevis Security AG. All rights reserved.
*/
/**
* 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}`;
* }
* ```
*/
class MetaData {
/**
* The object containing information about Nevis Mobile Authentication SDK for Android.
*/
static async androidMetaData() {
const operationId = _reactNativeUuid.default.v4();
const message = new _OperationIdMessage.OperationIdMessage(operationId);
return _MobileAuthenticationSdk.default.metaData(message).then(json => {
const resultMessage = _MetaDataInMessage.MetaDataInMessage.fromJson(json);
return resultMessage.androidMetaData;
});
}
/**
* The object containing information about Nevis Mobile Authentication SDK for iOS.
*/
static async iosMetaData() {
const operationId = _reactNativeUuid.default.v4();
const message = new _OperationIdMessage.OperationIdMessage(operationId);
return _MobileAuthenticationSdk.default.metaData(message).then(json => {
const resultMessage = _MetaDataInMessage.MetaDataInMessage.fromJson(json);
return resultMessage.iosMetaData;
});
}
}
exports.MetaData = MetaData;
//# sourceMappingURL=MetaData.js.map