UNPKG

next

Version:

The React Framework

44 lines (43 loc) 1.57 kB
import { NEXT_REQUEST_ID_HEADER } from '../components/app-router-headers'; import { InvariantError } from '../../shared/lib/invariant-error'; const pairs = new Map(); export function getOrCreateDebugChannelReadableWriterPair(requestId) { let pair = pairs.get(requestId); if (!pair) { const { readable, writable } = new TransformStream(); pair = { readable, writer: writable.getWriter() }; pairs.set(requestId, pair); pair.writer.closed.finally(()=>pairs.delete(requestId)); } return pair; } export function createDebugChannel(requestHeaders) { let requestId; if (requestHeaders) { requestId = requestHeaders[NEXT_REQUEST_ID_HEADER] ?? undefined; if (!requestId) { throw Object.defineProperty(new InvariantError(`Expected a ${JSON.stringify(NEXT_REQUEST_ID_HEADER)} request header.`), "__NEXT_ERROR_CODE", { value: "E854", enumerable: false, configurable: true }); } } else { requestId = self.__next_r; if (!requestId) { throw Object.defineProperty(new InvariantError(`Expected a request ID to be defined for the document via self.__next_r.`), "__NEXT_ERROR_CODE", { value: "E806", enumerable: false, configurable: true }); } } const { readable } = getOrCreateDebugChannelReadableWriterPair(requestId); return { readable }; } //# sourceMappingURL=debug-channel.js.map