@nevis-security/nevis-mobile-authentication-sdk-react
Version:
React Native plugin for Nevis Mobile Authentication SDK. Supports only mobile.
58 lines (52 loc) • 1.77 kB
JavaScript
/**
* Copyright © 2024 Nevis Security AG. All rights reserved.
*/
import { AndroidMetaData } from './AndroidMetaData';
import { IOSMetaData } from './IOSMetaData';
/**
* The object containing information about the Nevis Mobile Authentication SDK.
*/
export class MetaData {
/**
* The object containing information about the native iOS SDK.
*/
/**
* The object containing information about the native Android SDK.
*/
/**
* Default constructor for {@link MetaData}.
*
* @param iosMetaData the object containing information about the native iOS SDK.
* @param androidMetaData The object containing information about the native Android SDK.
* @returns a {@link MetaData} instance.
*/
static create(iosMetaData, androidMetaData) {
return new MetaDataImpl(iosMetaData, androidMetaData);
}
/**
* Alternate constructor that creates a {@link MetaData} from a json.
*
* @param json contains the source for instance creation.
* @returns a {@link MetaData} instance.
*/
static fromJson(json) {
return MetaDataImpl.fromJson(json);
}
}
export class MetaDataImpl extends MetaData {
constructor(iosMetaData, androidMetaData) {
super();
this.iosMetaData = iosMetaData;
this.androidMetaData = androidMetaData;
}
static fromJson(json) {
const iosMetaData = json.iosMetaData && IOSMetaData.fromJson(json.iosMetaData);
const androidMetaData = json.androidMetaData && AndroidMetaData.fromJson(json.androidMetaData);
if (iosMetaData === undefined && androidMetaData === undefined) {
throw new Error('Unknown MetaData; No iOS and Android metaData present');
}
return new MetaDataImpl(iosMetaData, androidMetaData);
}
}
//# sourceMappingURL=MetaData.js.map
;