@miniflare/web-sockets
Advanced tools
Comparing version 2.0.0-rc.1 to 2.0.0-rc.2
@@ -12,5 +12,9 @@ import { InputGatedEventTarget } from '@miniflare/shared'; | ||
readonly code: number; | ||
readonly reason?: string | undefined; | ||
readonly reason: string; | ||
readonly wasClean: boolean; | ||
constructor(code?: number, reason?: string | undefined, wasClean?: boolean); | ||
constructor(type: "close", init?: { | ||
code?: number; | ||
reason?: string; | ||
wasClean?: boolean; | ||
}); | ||
} | ||
@@ -22,4 +26,6 @@ export { CloseEvent_2 as CloseEvent } | ||
declare class ErrorEvent_2 extends Event { | ||
readonly error?: Error | undefined; | ||
constructor(error?: Error | undefined); | ||
readonly error: Error | null; | ||
constructor(type: "error", init?: { | ||
error?: Error; | ||
}); | ||
} | ||
@@ -40,3 +46,5 @@ export { ErrorEvent_2 as ErrorEvent } | ||
readonly data: ArrayBuffer | string; | ||
constructor(data: ArrayBuffer | string); | ||
constructor(type: "message", init: { | ||
data: ArrayBuffer | string; | ||
}); | ||
} | ||
@@ -43,0 +51,0 @@ export { MessageEvent_2 as MessageEvent } |
@@ -21,19 +21,24 @@ // packages/web-sockets/src/fetch.ts | ||
var MessageEvent = class extends Event { | ||
constructor(data) { | ||
super("message"); | ||
this.data = data; | ||
data; | ||
constructor(type, init) { | ||
super(type); | ||
this.data = init.data; | ||
} | ||
}; | ||
var CloseEvent = class extends Event { | ||
constructor(code = 1005, reason, wasClean = false) { | ||
super("close"); | ||
this.code = code; | ||
this.reason = reason; | ||
this.wasClean = wasClean; | ||
code; | ||
reason; | ||
wasClean; | ||
constructor(type, init) { | ||
super(type); | ||
this.code = init?.code ?? 1005; | ||
this.reason = init?.reason ?? ""; | ||
this.wasClean = init?.wasClean ?? false; | ||
} | ||
}; | ||
var ErrorEvent = class extends Event { | ||
constructor(error) { | ||
super("error"); | ||
this.error = error; | ||
error; | ||
constructor(type, init) { | ||
super(type); | ||
this.error = init?.error ?? null; | ||
} | ||
@@ -73,3 +78,3 @@ }; | ||
} | ||
const event = new MessageEvent(message); | ||
const event = new MessageEvent("message", { data: message }); | ||
void this.#dispatchMessageEvent(event); | ||
@@ -111,4 +116,4 @@ } | ||
await waitForOpenOutputGate(); | ||
this.dispatchEvent(new CloseEvent(code, reason)); | ||
this[kPair].dispatchEvent(new CloseEvent(code, reason)); | ||
this.dispatchEvent(new CloseEvent("close", { code, reason })); | ||
this[kPair].dispatchEvent(new CloseEvent("close", { code, reason })); | ||
} | ||
@@ -146,3 +151,3 @@ }; | ||
ws.on("error", (error) => { | ||
pair.dispatchEvent(new ErrorEvent(error)); | ||
pair.dispatchEvent(new ErrorEvent("error", { error })); | ||
}); | ||
@@ -149,0 +154,0 @@ pair.addEventListener("message", (e) => { |
{ | ||
"name": "@miniflare/web-sockets", | ||
"version": "2.0.0-rc.1", | ||
"version": "2.0.0-rc.2", | ||
"description": "WebSocket module for Miniflare: a fun, full-featured, fully-local simulator for Cloudflare Workers", | ||
@@ -39,11 +39,11 @@ "keywords": [ | ||
"dependencies": { | ||
"@miniflare/core": "2.0.0-rc.1", | ||
"@miniflare/shared": "2.0.0-rc.1", | ||
"@miniflare/core": "2.0.0-rc.2", | ||
"@miniflare/shared": "2.0.0-rc.2", | ||
"ws": "^8.2.2", | ||
"undici": "^4.9.3" | ||
"undici": "^4.10.2" | ||
}, | ||
"devDependencies": { | ||
"@miniflare/shared-test": "2.0.0-rc.1", | ||
"@miniflare/shared-test": "2.0.0-rc.2", | ||
"@types/ws": "^8.2.0" | ||
} | ||
} |
# `@miniflare/web-sockets` | ||
WebSocket module for [Miniflare](https://github.com/cloudflare/miniflare): a | ||
fun, full-featured, fully-local simulator for Cloudflare Workers | ||
fun, full-featured, fully-local simulator for Cloudflare Workers. See | ||
[✉️ WebSockets](https://miniflare.dev/web-sockets.html) for more details. | ||
## Example | ||
```js | ||
import StandardWebSocket from "ws"; | ||
import { WebSocketPair, coupleWebSocket } from "@miniflare/web-sockets"; | ||
const [webSocket1, webSocket2] = Object.values(new WebSocketPair()); | ||
// Manually accept the first WebSocket | ||
webSocket1.accept(); | ||
webSocket1.addEventListener("message", (event) => { | ||
console.log(event.data); | ||
}); | ||
webSocket1.send("hello"); | ||
// Couple (forward messages from/to) the second WebSocket with a real WebSocket | ||
const ws = new StandardWebSocket("ws://..."); | ||
coupleWebSocket(ws, webSocket2); | ||
``` |
Sorry, the diff of this file is not supported yet
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
16154
333
26
+ Added@miniflare/core@2.0.0-rc.2(transitive)
+ Added@miniflare/shared@2.0.0-rc.2(transitive)
- Removed@miniflare/core@2.0.0-rc.1(transitive)
- Removed@miniflare/shared@2.0.0-rc.1(transitive)
Updated@miniflare/core@2.0.0-rc.2
Updated@miniflare/shared@2.0.0-rc.2
Updatedundici@^4.10.2