chore: import upstream snapshot with attribution
This commit is contained in:
@@ -0,0 +1,33 @@
|
||||
// Polyfill worker_threads.markAsUncloneable for Node.js < 21 compatibility (specifically Node 20.20.2)
|
||||
import worker_threads from "node:worker_threads";
|
||||
import { WebSocket } from "ws";
|
||||
|
||||
if (worker_threads && !worker_threads.markAsUncloneable) {
|
||||
(worker_threads as any).markAsUncloneable = function (obj: any) {
|
||||
if (worker_threads.markAsUntransferable) {
|
||||
try {
|
||||
worker_threads.markAsUntransferable(obj);
|
||||
} catch {
|
||||
// no-op
|
||||
}
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
// Polyfill Promise.withResolvers for Node.js < 22 compatibility (specifically Node 20.20.2)
|
||||
if (typeof Promise.withResolvers === "undefined") {
|
||||
Promise.withResolvers = function <T>() {
|
||||
let resolve!: (value: T | PromiseLike<T>) => void;
|
||||
let reject!: (reason?: any) => void;
|
||||
const promise = new Promise<T>((res, rej) => {
|
||||
resolve = res;
|
||||
reject = rej;
|
||||
});
|
||||
return { promise, resolve, reject };
|
||||
} as any;
|
||||
}
|
||||
|
||||
// Polyfill WebSocket for Node.js < 22 compatibility (specifically Node 20.20.2)
|
||||
if (typeof globalThis.WebSocket === "undefined") {
|
||||
(globalThis as any).WebSocket = WebSocket;
|
||||
}
|
||||
Reference in New Issue
Block a user