aboutsummaryrefslogtreecommitdiff
path: root/packages/bun-framework-next/server-polyfills.tsx
diff options
context:
space:
mode:
authorGravatar Jack Hanford <jackhanford@gmail.com> 2021-11-08 13:58:25 -0800
committerGravatar Jack Hanford <jackhanford@gmail.com> 2021-11-08 13:58:25 -0800
commit4bceb57ad19b9d76f89519d624be59ea6ed797c8 (patch)
tree35310fead6251b378ad3b9476ea684a19ff69e21 /packages/bun-framework-next/server-polyfills.tsx
parentc7705a6325143aee71b351d5701ba46373704ff6 (diff)
downloadbun-4bceb57ad19b9d76f89519d624be59ea6ed797c8.tar.gz
bun-4bceb57ad19b9d76f89519d624be59ea6ed797c8.tar.zst
bun-4bceb57ad19b9d76f89519d624be59ea6ed797c8.zip
rename polyfills, polyfill Object.feeze
Diffstat (limited to 'packages/bun-framework-next/server-polyfills.tsx')
-rw-r--r--packages/bun-framework-next/server-polyfills.tsx28
1 files changed, 28 insertions, 0 deletions
diff --git a/packages/bun-framework-next/server-polyfills.tsx b/packages/bun-framework-next/server-polyfills.tsx
new file mode 100644
index 000000000..474ee6ec9
--- /dev/null
+++ b/packages/bun-framework-next/server-polyfills.tsx
@@ -0,0 +1,28 @@
+globalThis.global = globalThis;
+
+import { Buffer } from "buffer";
+
+globalThis.Buffer = Buffer;
+
+import * as React from "react";
+
+class URL {
+ constructor(base, source) {
+ this.pathname = source;
+ this.href = base + source;
+ }
+}
+var onlyChildPolyfill = React.Children.only;
+React.Children.only = function (children) {
+ if (children && typeof children === "object" && children.length == 1) {
+ return onlyChildPolyfill(children[0]);
+ }
+
+ return onlyChildPolyfill(children);
+};
+globalThis.URL = URL;
+
+import { TextEncoder, TextDecoder } from "./text-encoder-polyfill";
+
+globalThis.TextEncoder ||= TextEncoder;
+globalThis.TextDecoder ||= TextDecoder;