vike
Version:
The Framework *You* Control - Next.js & Nuxt alternative for unprecedented flexibility and dependability.
35 lines (34 loc) • 1.22 kB
JavaScript
// Zero-config support for https://www.npmjs.com/package/react-streaming
export { isStreamFromReactStreamingPackage };
export { streamFromReactStreamingPackageToString };
export { getStreamOfReactStreamingPackage };
import { assert, assertUsage, hasProp, isVikeReactApp } from '../../utils.js';
import { streamPipeNodeToString, streamReadableWebToString } from '../stream.js';
function streamFromReactStreamingPackageToString(stream) {
if (stream.pipe) {
return streamPipeNodeToString(stream.pipe);
}
if (stream.readable) {
return streamReadableWebToString(stream.readable);
}
assert(false);
}
function isStreamFromReactStreamingPackage(thing) {
if (hasProp(thing, 'injectToStream', 'function')) {
assertUsage(hasProp(thing, 'hasStreamEnded', 'function'), isVikeReactApp()
? //
'Update vike-react to its latest version'
: 'Update react-streaming to its latest version');
return true;
}
return false;
}
function getStreamOfReactStreamingPackage(stream) {
if (stream.pipe) {
return { __streamPipeNode: stream.pipe };
}
if (stream.readable) {
return stream.readable;
}
assert(false);
}