Current section

Files

Jump to
gossamer src gossamer web_socket.ffi.mjs
Raw

src/gossamer/web_socket.ffi.mjs

// src/gossamer/web_socket.ffi.ts
import * as $webSocket from "./web_socket.mjs";
import { fromBinaryType, toBinaryType } from "./binary_type.ffi.mjs";
import { toReadyState } from "./ready_state.ffi.mjs";
import { toArray } from "../utils/list.ffi.mjs";
import { toResult } from "../utils/result.ffi.mjs";
function toCloseEvent(event) {
return $webSocket.CloseEvent$CloseEvent(
event.code,
event.reason,
event.wasClean
);
}
var from_url_string = (url2) => {
return toResult.fromThrows(() => new WebSocket(url2));
};
var from_url_string_with_protocols = (url2, protocols) => {
return toResult.fromThrows(() => new WebSocket(url2, toArray(protocols)));
};
var from_url = (url2) => {
return toResult.fromThrows(() => new WebSocket(url2.toString()));
};
var from_url_with_protocols = (url2, protocols) => {
return toResult.fromThrows(
() => new WebSocket(url2.toString(), toArray(protocols))
);
};
var binary_type = (socket) => {
return toBinaryType(socket.binaryType);
};
var set_binary_type = (socket, value) => {
socket.binaryType = fromBinaryType(value);
};
var buffered_amount = (socket) => {
return socket.bufferedAmount;
};
var extensions = (socket) => {
return socket.extensions;
};
var protocol = (socket) => {
return socket.protocol;
};
var ready_state = (socket) => {
return toReadyState(socket.readyState);
};
var url = (socket) => {
return socket.url;
};
var close = (socket) => {
socket.close();
};
var close_with = (socket, code, reason) => {
return toResult.fromThrows(() => {
socket.close(code, reason);
});
};
var send_string = (socket, data) => {
return toResult.fromThrows(() => {
socket.send(data);
});
};
var send_bytes = (socket, data) => {
return toResult.fromThrows(() => {
socket.send(data);
});
};
var send_blob = (socket, data) => {
return toResult.fromThrows(() => {
socket.send(data);
});
};
var send_buffer = (socket, data) => {
return toResult.fromThrows(() => {
socket.send(data);
});
};
var on_open = (socket, handler) => {
socket.onopen = () => handler();
};
var on_message = (socket, handler) => {
socket.onmessage = (event) => handler(event);
};
var on_error = (socket, handler) => {
socket.onerror = () => handler();
};
var on_close = (socket, handler) => {
socket.onclose = (event) => handler(toCloseEvent(event));
};
export {
binary_type,
buffered_amount,
close,
close_with,
extensions,
from_url,
from_url_string,
from_url_string_with_protocols,
from_url_with_protocols,
on_close,
on_error,
on_message,
on_open,
protocol,
ready_state,
send_blob,
send_buffer,
send_bytes,
send_string,
set_binary_type,
url
};