.
This commit is contained in:
+44
@@ -0,0 +1,44 @@
|
||||
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
|
||||
Reference in New Issue
Block a user