AbdulElahGwaith's picture
Upload folder using huggingface_hub
b91e262 verified
import { InvariantError } from '../../shared/lib/invariant-error'
import {
HMR_MESSAGE_SENT_TO_BROWSER,
type BinaryHmrMessageSentToBrowser,
} from './hot-reloader-types'
export const FAST_REFRESH_RUNTIME_RELOAD =
'Fast Refresh had to perform a full reload due to a runtime error.'
const textEncoder = new TextEncoder()
export function createBinaryHmrMessageData(
message: BinaryHmrMessageSentToBrowser
): Uint8Array {
switch (message.type) {
case HMR_MESSAGE_SENT_TO_BROWSER.ERRORS_TO_SHOW_IN_BROWSER: {
const { serializedErrors } = message
const totalLength = 1 + serializedErrors.length
const data = new Uint8Array(totalLength)
const view = new DataView(data.buffer)
view.setUint8(0, HMR_MESSAGE_SENT_TO_BROWSER.ERRORS_TO_SHOW_IN_BROWSER)
data.set(serializedErrors, 1)
return data
}
case HMR_MESSAGE_SENT_TO_BROWSER.REACT_DEBUG_CHUNK: {
const { requestId, chunk } = message
const requestIdBytes = textEncoder.encode(requestId)
const requestIdLength = requestIdBytes.length
if (requestIdLength > 255) {
throw new InvariantError(
'Request ID is too long for the binary HMR message.'
)
}
const chunkLength = chunk ? chunk.length : 0
const totalLength = 2 + requestIdLength + chunkLength
const data = new Uint8Array(totalLength)
const view = new DataView(data.buffer)
view.setUint8(0, HMR_MESSAGE_SENT_TO_BROWSER.REACT_DEBUG_CHUNK)
view.setUint8(1, requestIdLength)
textEncoder.encodeInto(requestId, data.subarray(2, 2 + requestIdLength))
if (chunk) {
data.set(chunk, 2 + requestIdLength)
}
return data
}
default: {
throw new InvariantError(
`Invalid binary HMR message of type ${(message as any).type}`
)
}
}
}