Compare commits

..

4 Commits

Author SHA1 Message Date
b3d8dd1573 3.0.10 2024-02-23 15:48:32 +01:00
0fb36ea928 fix(core): update 2024-02-23 15:48:31 +01:00
10148f7c50 3.0.9 2024-02-22 15:15:45 +01:00
274bf30973 fix(core): update 2024-02-22 15:15:44 +01:00
3 changed files with 53 additions and 21 deletions

View File

@ -1,6 +1,6 @@
{
"name": "@api.global/typedrequest-interfaces",
"version": "3.0.8",
"version": "3.0.10",
"private": false,
"description": "interfaces for making typed requests",
"main": "dist_ts/index.js",

View File

@ -3,6 +3,6 @@
*/
export const commitinfo = {
name: '@api.global/typedrequest-interfaces',
version: '3.0.8',
version: '3.0.10',
description: 'interfaces for making typed requests'
}

View File

@ -17,7 +17,7 @@ export interface ITypedRequest {
*/
localData?: {
firstTypedrouter?: any;
}
};
/**
* server data that is added for dealing with the request server side. Will be omitted when sending the response
@ -76,23 +76,55 @@ export interface ITag {
export type implementsTag<T, U extends T> = {};
export interface IStreamRequest extends implementsTR<
ITypedRequest,
IStreamRequest
> {
method: '##VirtualStream##';
request: {
streamId: string;
type: 'start' | 'binaryChunk' | 'object' | 'end' | 'keepAlive';
streamChunk?: any;
keepAlive?: boolean;
next?: boolean;
};
response: {
streamId: string;
type: 'start' | 'binaryChunk' | 'object' | 'end' | 'keepAlive';
streamChunk?: any;
keepAlive?: boolean;
next?: boolean;
export interface IUnifiedStreamDataPackage {
/**
* the stream id, so Virtual Streams can talk to each other
*/
streamId: string;
/**
* stream data is sent in cycles. This id is used to match the request and response
*/
cycleId: string;
cycle: 'request' | 'response';
/**
* the main purpose of the data package
* start: indicates the start of a stream
* binaryChunk: indicates a binary chunk of data
* object: indicates a json object
* end: indicates the end of a stream
* feedback: indicates a feedback message
*/
mainPurpose: 'start' | 'binaryChunk' | 'object' | 'end' | 'feedback' | 'keepAlive';
/**
* the data package
*/
chunkData?: any;
/**
* feedback message
*/
feedback: {
message?: string;
data?: any;
sha265?: string;
};
/**
* keepAlive boolean
*/
keepAlive?: boolean;
/**
* is there more data scheduled to be sent?
*/
next?: boolean;
}
export interface IStreamRequest extends implementsTR<ITypedRequest, IStreamRequest> {
method: '##VirtualStream##';
request: IUnifiedStreamDataPackage;
response: IUnifiedStreamDataPackage;
}