Skip to content

Commit 6f7856e

Browse files
authored
Merge pull request #320 from mertushka/patch-1
fix: buffer expected throws in bun environment
2 parents d5b82ef + 135f252 commit 6f7856e

File tree

2 files changed

+12
-4
lines changed

2 files changed

+12
-4
lines changed

src/lib/index.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -96,7 +96,7 @@ export interface DataChannel extends Channel {
9696
// Channel implementation
9797
close(): void;
9898
sendMessage(msg: string): boolean;
99-
sendMessageBinary(buffer: Uint8Array): boolean;
99+
sendMessageBinary(buffer: Buffer | Uint8Array): boolean;
100100
isOpen(): boolean;
101101
bufferedAmount(): number;
102102
maxMessageSize(): number;

src/polyfill/RTCDataChannel.ts

+11-3
Original file line numberDiff line numberDiff line change
@@ -172,12 +172,20 @@ export default class RTCDataChannel extends EventTarget implements globalThis.RT
172172
// Needs network error, type error implemented
173173
if (typeof data === 'string') {
174174
this.#dataChannel.sendMessage(data);
175-
} else if (data instanceof Blob) {
175+
} else if (data instanceof Blob) {
176176
data.arrayBuffer().then((ab) => {
177+
if (process?.versions?.bun) {
178+
this.#dataChannel.sendMessageBinary(Buffer.from(ab));
179+
} else {
177180
this.#dataChannel.sendMessageBinary(new Uint8Array(ab));
181+
}
178182
});
179-
} else {
180-
this.#dataChannel.sendMessageBinary(new Uint8Array(data));
183+
} else {
184+
if (process?.versions?.bun) {
185+
this.#dataChannel.sendMessageBinary(Buffer.from(data));
186+
} else {
187+
this.#dataChannel.sendMessageBinary(new Uint8Array(data));
188+
}
181189
}
182190
}
183191

0 commit comments

Comments
 (0)