Files
bun.sh/src/fallback.ts
Colin McDonnell f7f1b60444 Add bun-types, add typechecking, add child_process types (#1475)
* Add bun-types to packages

* Improve typing

* Fix types in tests

* Fix dts tests

* Run formatter

* Fix all type errors

* Add strict mode, fix type errors

* Add ffi changes

* Move workflows to root

* Add workflows

* Remove labeler

* Add child_process types

* Fix synthetic defaults issue

* Remove docs

* Move scripts

* Run prettier

* Include examples in typechecking

* captureStackTrace types

* moved captureStackTrace types to globals

* Address reviews

Co-authored-by: Colin McDonnell <colinmcd@alum.mit.edu>
Co-authored-by: Dylan Conway <dylan.conway567@gmail.com>
2022-11-09 15:40:40 -08:00

31 lines
936 B
TypeScript

declare var document: any;
import { ByteBuffer } from "peechy";
import { FallbackStep } from "./api/schema";
import {
decodeFallbackMessageContainer,
FallbackMessageContainer,
} from "./api/schema";
function getFallbackInfo(): FallbackMessageContainer {
const binary_string = globalThis.atob(
document.getElementById("__bunfallback").textContent.trim(),
);
var len = binary_string.length;
var bytes = new Uint8Array(len);
for (var i = 0; i < len; i++) {
bytes[i] = binary_string.charCodeAt(i);
}
return decodeFallbackMessageContainer(new ByteBuffer(bytes));
}
globalThis.__BUN_DATA__ = getFallbackInfo();
// It's probably better to remove potentially large content from the DOM when not in use
if ("requestIdleCallback" in globalThis) {
globalThis.requestIdleCallback(() => {
document.getElementById("__bunfallback")?.remove();
document.getElementById("__bun_fallback_script")?.remove();
});
}