vision-embedded-web
Version:
Cubic Vision methods for embedded web content.
32 lines (31 loc) • 1.38 kB
TypeScript
export declare type CubicPlayerRequestsSchema = {
'download-urls': {
data: {
urls: string[];
};
result: {
notDownloadedUrls: string[];
};
};
};
declare type ValueOf<T> = T[keyof T];
export declare type CubicPlayerRequestType = keyof CubicPlayerRequestsSchema;
export declare type CubicPlayerRequestData<TypeT extends CubicPlayerRequestType> = CubicPlayerRequestsSchema[TypeT]['data'];
export declare type CubicPlayerRequestResult<TypeT extends CubicPlayerRequestType> = CubicPlayerRequestsSchema[TypeT]['result'];
export declare type CubicPlayerRequest<TypeT extends CubicPlayerRequestType> = {
type: TypeT;
payload: CubicPlayerRequestData<TypeT>;
};
export declare type CubicPlayerRequests = ValueOf<{
[TypeT in CubicPlayerRequestType]: CubicPlayerRequest<TypeT>;
}>;
export declare type RequestStatus = 'processing' | 'not implemented';
export declare type CubicPlayerRequestHandler<TypeT extends CubicPlayerRequestType> = (payload: CubicPlayerRequestData<TypeT>) => Promise<RequestStatus>;
export declare type WebContentResponse<TypeT extends CubicPlayerRequestType> = {
type: TypeT;
payload: CubicPlayerRequestResult<TypeT>;
};
export declare type WebContentResponses = ValueOf<{
[TypeT in CubicPlayerRequestType]: WebContentResponse<TypeT>;
}>;
export {};