chore: code cleanup

This commit is contained in:
Percs 2024-12-13 22:54:13 -06:00
parent 8fe0d895f0
commit 530439bdfe
4 changed files with 9 additions and 62 deletions

View file

@ -25,7 +25,7 @@ export default function (client: ScramjetClient, _self: Self) {
> = new WeakMap(); > = new WeakMap();
client.Proxy("EventTarget.prototype.addEventListener", { client.Proxy("EventTarget.prototype.addEventListener", {
apply(ctx) { apply(ctx) {
if (registration === ctx.this) { if (registrationmap.get(ctx.this)) {
// do nothing // do nothing
ctx.return(undefined); ctx.return(undefined);
} }
@ -34,7 +34,7 @@ export default function (client: ScramjetClient, _self: Self) {
client.Proxy("EventTarget.prototype.removeEventListener", { client.Proxy("EventTarget.prototype.removeEventListener", {
apply(ctx) { apply(ctx) {
if (registration === ctx.this) { if (registrationmap.get(ctx.this)) {
// do nothing // do nothing
ctx.return(undefined); ctx.return(undefined);
} }

View file

@ -7,10 +7,7 @@ type FakeWebSocketState = {
url: string; url: string;
binaryType: string; binaryType: string;
barews: BareWebSocket; barews: BareWebSocket;
/*
captureListeners: Record<string, EventListener[]>;
listeners: Record<string, EventListener[]>;
*/
onclose?: (ev: CloseEvent) => any; onclose?: (ev: CloseEvent) => any;
onerror?: (ev: Event) => any; onerror?: (ev: Event) => any;
onmessage?: (ev: MessageEvent) => any; onmessage?: (ev: MessageEvent) => any;
@ -49,10 +46,7 @@ export default function (client: ScramjetClient, self: typeof globalThis) {
url: ctx.args[0], url: ctx.args[0],
binaryType: "blob", binaryType: "blob",
barews, barews,
/*
captureListeners: {},
listeners: {},
*/
onclose: null, onclose: null,
onerror: null, onerror: null,
onmessage: null, onmessage: null,
@ -107,58 +101,6 @@ export default function (client: ScramjetClient, self: typeof globalThis) {
ctx.return(fakeWebSocket); ctx.return(fakeWebSocket);
}, },
}); });
// i have no clue why this is here but it prevents the real event listener from ever happening so im commenting it out for now
/*
client.Proxy("EventTarget.prototype.addEventListener", {
apply(ctx) {
const ws = socketmap.get(ctx.this);
if (!ws) return; // it's not a websocket ignore it
const [type, listener, opts] = ctx.args;
if (
(typeof opts === "object" && opts.capture) ||
(typeof opts === "boolean" && opts)
) {
const listeners = (ws.captureListeners[type] ??= []);
listeners.push(listener);
ws.captureListeners[type] = listeners;
} else {
const listeners = (ws.listeners[type] ??= []);
listeners.push(listener);
ws.listeners[type] = listeners;
}
ctx.return(undefined);
},
});
client.Proxy("EventTarget.prototype.removeEventListener", {
apply(ctx) {
const ws = socketmap.get(ctx.this);
if (!ws) return;
const [type, listener, opts] = ctx.args;
if (
(typeof opts === "object" && opts.capture) ||
(typeof opts === "boolean" && opts)
) {
const listeners = (ws.captureListeners[type] ??= []);
const idx = listeners.indexOf(listener);
if (idx !== -1) listeners.splice(idx, 1);
ws.captureListeners[type] = listeners;
} else {
const listeners = (ws.listeners[type] ??= []);
const idx = listeners.indexOf(listener);
if (idx !== -1) listeners.splice(idx, 1);
ws.listeners[type] = listeners;
}
ctx.return(undefined);
},
});
*/
client.Trap("WebSocket.prototype.binaryType", { client.Trap("WebSocket.prototype.binaryType", {
get(ctx) { get(ctx) {
const ws = socketmap.get(ctx.this); const ws = socketmap.get(ctx.this);

View file

@ -74,6 +74,10 @@ export default function (client: ScramjetClient, self: typeof globalThis) {
debugger; debugger;
} }
if (v === self && v.$scramjet) {
debugger;
}
if (iswindow && v instanceof Document && v.defaultView.$scramjet) { if (iswindow && v instanceof Document && v.defaultView.$scramjet) {
debugger; debugger;
} }

View file

@ -9,6 +9,7 @@ const scramjet = new ScramjetController({
flags: { flags: {
serviceworkers: true, serviceworkers: true,
syncxhr: true, syncxhr: true,
scramitize: true,
}, },
}); });