full site update

This commit is contained in:
2025-07-24 18:46:24 +02:00
parent bfe2b90d8d
commit 37a6e0ab31
6912 changed files with 540482 additions and 361712 deletions

69
node_modules/crossws/dist/adapters/deno.mjs generated vendored Normal file
View File

@@ -0,0 +1,69 @@
import { M as Message, P as Peer, t as toBufferLike } from '../shared/crossws.DfCzGthR.mjs';
import { a as adapterUtils, A as AdapterHookable } from '../shared/crossws.D9ehKjSh.mjs';
import { W as WSError } from '../shared/crossws.By9qWDAI.mjs';
import 'uncrypto';
const denoAdapter = (options = {}) => {
const hooks = new AdapterHookable(options);
const peers = /* @__PURE__ */ new Set();
return {
...adapterUtils(peers),
handleUpgrade: async (request, info) => {
const { upgradeHeaders, endResponse, context } = await hooks.upgrade(request);
if (endResponse) {
return endResponse;
}
const upgrade = Deno.upgradeWebSocket(request, {
// @ts-expect-error https://github.com/denoland/deno/pull/22242
headers: upgradeHeaders
});
const peer = new DenoPeer({
ws: upgrade.socket,
request,
peers,
denoInfo: info,
context
});
peers.add(peer);
upgrade.socket.addEventListener("open", () => {
hooks.callHook("open", peer);
});
upgrade.socket.addEventListener("message", (event) => {
hooks.callHook("message", peer, new Message(event.data, peer, event));
});
upgrade.socket.addEventListener("close", () => {
peers.delete(peer);
hooks.callHook("close", peer, {});
});
upgrade.socket.addEventListener("error", (error) => {
peers.delete(peer);
hooks.callHook("error", peer, new WSError(error));
});
return upgrade.response;
}
};
};
class DenoPeer extends Peer {
get remoteAddress() {
return this._internal.denoInfo.remoteAddr?.hostname;
}
send(data) {
return this._internal.ws.send(toBufferLike(data));
}
publish(topic, data) {
const dataBuff = toBufferLike(data);
for (const peer of this._internal.peers) {
if (peer !== this && peer._topics.has(topic)) {
peer._internal.ws.send(dataBuff);
}
}
}
close(code, reason) {
this._internal.ws.close(code, reason);
}
terminate() {
this._internal.ws.terminate();
}
}
export { denoAdapter as default };