aboutsummaryrefslogtreecommitdiff
path: root/src/fallback.ts
diff options
context:
space:
mode:
authorGravatar Jarred Sumner <jarred@jarredsumner.com> 2021-08-31 15:03:40 -0700
committerGravatar Jarred Sumner <jarred@jarredsumner.com> 2021-08-31 15:03:40 -0700
commit6a5f34a6bc0546a8f17b8fc0af7688a831a797ad (patch)
tree8ed040425ccac8a7e4b04a9f12c2d1174b4cb5b5 /src/fallback.ts
parentbd9f137b1bfb5bc3b215515ff9305e70a638daf9 (diff)
downloadbun-6a5f34a6bc0546a8f17b8fc0af7688a831a797ad.tar.gz
bun-6a5f34a6bc0546a8f17b8fc0af7688a831a797ad.tar.zst
bun-6a5f34a6bc0546a8f17b8fc0af7688a831a797ad.zip
Fallback, fragments, printer compat, better errors
Former-commit-id: 486e8c9d460eeebea024e96dbabcb7f2bfaffafb
Diffstat (limited to 'src/fallback.ts')
-rw-r--r--src/fallback.ts24
1 files changed, 24 insertions, 0 deletions
diff --git a/src/fallback.ts b/src/fallback.ts
new file mode 100644
index 000000000..cf4195c4d
--- /dev/null
+++ b/src/fallback.ts
@@ -0,0 +1,24 @@
+import { ByteBuffer } from "peechy";
+import { FallbackStep } from "./api/schema";
+import {
+ decodeFallbackMessageContainer,
+ FallbackMessageContainer,
+} from "./api/schema";
+
+function getFallbackInfo(): FallbackMessageContainer {
+ var binary_string = window.atob(
+ document.querySelector("#__bunfallback").textContent.trim()
+ );
+ document.querySelector("#__bunfallback").remove();
+
+ 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();
+document.getElementById("__bun_fallback_script")?.remove();