(chunk: Uint8Array | string | CloseEvent)
| 736 | ) |
| 737 | |
| 738 | const write = (chunk: Uint8Array | string | CloseEvent) => |
| 739 | latch.whenOpen( |
| 740 | Effect.suspend(() => { |
| 741 | try { |
| 742 | const ws = currentWS! |
| 743 | if (isCloseEvent(chunk)) { |
| 744 | ws.close(chunk.code, chunk.reason) |
| 745 | } else { |
| 746 | ws.send(chunk as string | Uint8Array<ArrayBuffer>) |
| 747 | } |
| 748 | return Effect.void |
| 749 | } catch (cause) { |
| 750 | return Effect.fail(new SocketError({ reason: new SocketWriteError({ cause }) })) |
| 751 | } |
| 752 | }) |
| 753 | ) |
| 754 | const writer = Effect.succeed(write) |
| 755 | |
| 756 | return Effect.succeed(make({ |
no test coverage detected