UNPKG

@artmate/chat

Version:

借鉴字节开源react库AntX,通过vue实现的版本

35 lines (34 loc) 1.28 kB
/** * @link https://developer.mozilla.org/en-US/docs/Web/API/Server-sent_events/Using_server-sent_events#fields */ export type SSEFields = 'data' | 'event' | 'id' | 'retry'; /** * @example * const sseObject = { * event: 'delta', * data: '{ key: "world!" }', * }; */ export type SSEOutput = Partial<Record<SSEFields, any>>; export interface ArtStreamOptions<Output> { /** * @description 可读的二进制数据流 * @link https://developer.mozilla.org/en-US/docs/Web/API/ReadableStream */ readableStream: ReadableStream<Uint8Array>; /** * @description 支持可定制的transformStream来转换流 * @default sseTransformStream * @link https://developer.mozilla.org/en-US/docs/Web/API/TransformStream */ transformStream?: TransformStream<string, Output>; } interface ArtReadableStream<R = any> extends ReadableStream<R> { [Symbol.asyncIterator](): AsyncGenerator<R, void, unknown>; } /** * @description 默认情况下,将 Uint8Array 二进制流转换为 {@link SSEOutput} * @warning "ArtStream" 仅支持 "utf-8" 编码。将来可能会有更多的编码支持。 */ declare function ArtStream<Output = SSEOutput>(options: ArtStreamOptions<Output>): ArtReadableStream<Output>; export default ArtStream;