* Rename to clarify that it's client-only * Rename FizzStreamer to FizzServer for consistency * Rename react-flight to react-client/flight For consistency with react-server. Currently this just includes flight but it could be expanded to include the whole reconciler. * Add Relay Flight Build * Rename ReactServerHostConfig to ReactServerStreamConfig This will be the config specifically for streaming purposes. There will be other configs for other purposes.
35 lines
774 B
JavaScript
35 lines
774 B
JavaScript
/**
|
|
* Copyright (c) Facebook, Inc. and its affiliates.
|
|
*
|
|
* This source code is licensed under the MIT license found in the
|
|
* LICENSE file in the root directory of this source tree.
|
|
*
|
|
* @flow
|
|
*/
|
|
|
|
export type Source = Promise<Response> | ReadableStream | XMLHttpRequest;
|
|
|
|
export type StringDecoder = TextDecoder;
|
|
|
|
export const supportsBinaryStreams = true;
|
|
|
|
export function createStringDecoder(): StringDecoder {
|
|
return new TextDecoder();
|
|
}
|
|
|
|
const decoderOptions = {stream: true};
|
|
|
|
export function readPartialStringChunk(
|
|
decoder: StringDecoder,
|
|
buffer: Uint8Array,
|
|
): string {
|
|
return decoder.decode(buffer, decoderOptions);
|
|
}
|
|
|
|
export function readFinalStringChunk(
|
|
decoder: StringDecoder,
|
|
buffer: Uint8Array,
|
|
): string {
|
|
return decoder.decode(buffer);
|
|
}
|