2026-02-18 01:29:02 +00:00
|
|
|
import { Buffer } from "node:buffer";
|
2026-02-18 01:34:35 +00:00
|
|
|
import type WebSocket from "ws";
|
2025-12-23 00:28:40 +00:00
|
|
|
|
|
|
|
|
export function rawDataToString(
|
|
|
|
|
data: WebSocket.RawData,
|
|
|
|
|
encoding: BufferEncoding = "utf8",
|
|
|
|
|
): string {
|
2026-01-31 16:19:20 +09:00
|
|
|
if (typeof data === "string") {
|
|
|
|
|
return data;
|
|
|
|
|
}
|
|
|
|
|
if (Buffer.isBuffer(data)) {
|
|
|
|
|
return data.toString(encoding);
|
|
|
|
|
}
|
|
|
|
|
if (Array.isArray(data)) {
|
|
|
|
|
return Buffer.concat(data).toString(encoding);
|
|
|
|
|
}
|
2025-12-23 03:00:04 +01:00
|
|
|
if (data instanceof ArrayBuffer) {
|
|
|
|
|
return Buffer.from(data).toString(encoding);
|
|
|
|
|
}
|
|
|
|
|
return Buffer.from(String(data)).toString(encoding);
|
2025-12-23 00:28:40 +00:00
|
|
|
}
|