youverify-passive-liveness-web
Version:
> Software Development Kit for [Youverify](https://youverify.co)'s Liveness Check
94 lines (80 loc) • 2.17 kB
TypeScript
declare interface Branding {
logo?: string;
color?: string;
name?: string;
logoAlt?: string;
hideLogoOnMobile?: boolean;
showPoweredBy?: boolean;
poweredByText?: string;
poweredByLogo?: string;
}
declare interface LivenessData {
faceImage: string;
passed: boolean;
metadata?: Metadata;
error?: {
key: string;
message: string;
statusCode?: number;
name?: string;
success?: boolean;
data?: Record<string, any>;
};
}
declare interface LivenessWebSdkProps {
publicKey?: string;
entityId?: string;
isEmbedded?: boolean;
presentation?: Presentation;
tasks?: Array<Task>;
user?: User;
branding?: Branding;
isMobileAppWebView?: boolean;
allowAudio?: boolean;
onClose?: () => void;
onSuccess?: (data: LivenessData) => void;
onFailure?: (data: LivenessData) => void;
metadata?: Metadata;
sandboxEnvironment?: boolean;
sessionId: string;
sessionToken: string;
forceDevUrl?: boolean;
mediaDeviceValidation?: MediaDeviceValidationOptions;
}
declare interface MediaDeviceValidationOptions {
enabled?: boolean;
blockedPatterns?: string[];
}
declare type Metadata = Record<string, any>;
declare interface PassiveTask extends TaskBase<"passive"> {
id: "passive";
}
declare type Presentation = "modal" | "page";
declare type Task = PassiveTask;
declare interface TaskBase<T extends TaskId> {
id: T;
difficulty?: TaskDifficulty;
timeout?: number;
}
declare type TaskDifficulty = "easy" | "medium" | "hard";
declare type TaskId = "passive";
declare interface User {
firstName: string;
lastName?: string;
email?: string;
}
declare class WebSDK {
private tasks;
private container;
private namespace;
private props;
private presentation;
private loadedScripts;
constructor(props: LivenessWebSdkProps);
private validateOptions;
start(tasks?: Array<Task>): Promise<void>;
private unmount;
close(): void;
}
export default WebSDK;
export { }