@nevis-security/nevis-mobile-authentication-sdk-react
Version:
React Native plugin for Nevis Mobile Authentication SDK. Supports only mobile.
61 lines (53 loc) • 1.9 kB
text/typescript
/**
* Copyright © 2024 Nevis Security AG. All rights reserved.
*/
import { AndroidMetaData } from '../../../metaData/AndroidMetaData';
import { IosMetaData } from '../../../metaData/IosMetaData';
import { ChannelMessage } from '../ChannelMessage';
/**
* Holds the parameters of the metaData native event.
*/
export class MetaDataInMessage extends ChannelMessage {
/**
* The identifier of the operation.
*/
operationId: string;
/**
* The object containing information about Nevis Mobile Authentication SDK for Android.
*/
androidMetaData: AndroidMetaData | undefined;
/**
* The object containing information about Nevis Mobile Authentication SDK for iOS.
*/
iosMetaData: IosMetaData | undefined;
/**
* Default constructor for {@link MetaDataInMessage}.
*
* @param operationId the identifier of the operation.
* @param androidMetaData the object containing information about Nevis Mobile Authentication SDK for Android.
* @param iosMetaData the object containing information about Nevis Mobile Authentication SDK for iOS.
*/
private constructor(
operationId: string,
androidMetaData: AndroidMetaData | undefined,
iosMetaData: IosMetaData | undefined
) {
super();
this.operationId = operationId;
this.androidMetaData = androidMetaData;
this.iosMetaData = iosMetaData;
}
/**
* Alternate constructor that creates a {@link MetaDataInMessage} from a json.
*
* @param json contains the source for instance creation.
* @returns the created instance.
*/
static fromJson(json: any): MetaDataInMessage {
const operationId = json.operationId;
const androidMetaData: AndroidMetaData =
json.androidMetaData && AndroidMetaData.fromJson(json.androidMetaData);
const iosMetaData: IosMetaData = json.iosMetaData && IosMetaData.fromJson(json.iosMetaData);
return new MetaDataInMessage(operationId, androidMetaData, iosMetaData);
}
}