Files
bun.sh/src/fallback.ts
Jarred Sumner 9388b3f825 Add a zig fmt action (#2277)
* Add a zig fmt action

* add failing file

* Setup prettier better

* Update prettier-fmt.yml

* Fail on error

* Update prettier-fmt.yml

* boop

* boop2

* tar.gz

* Update zig-fmt.yml

* Update zig-fmt.yml

* Update zig-fmt.yml

* Update zig-fmt.yml

* Update zig-fmt.yml

* boop

* Update prettier-fmt.yml

* tag

* newlines

* multiline

* fixup

* Update zig-fmt.yml

* update it

* fixup

* both

* w

* Update prettier-fmt.yml

* prettier all the things

* Update package.json

* zig fmt

*  

* bump

* .

* quotes

* fix prettier ignore

* once more

* Update prettier-fmt.yml

* Update fallback.ts

* consistentcy

---------

Co-authored-by: Jarred Sumner <709451+Jarred-Sumner@users.noreply.github.com>
2023-03-02 19:02:10 -08:00

26 lines
922 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();
});
}