API reference › @evolu/common › WebSocket › WebSocketUrlFromString
const WebSocketUrlFromString: transform(
"WebSocketUrlFromString",
String,
WebSocketUrl,
{
from: (value: string): Result<string, WebSocketUrlFromStringError> => {
const url = UrlFromString.fromUnknown(value);
return url.ok && isWebSocketUrl(url.value)
? ok(url.value)
: err({ type: "WebSocketUrlFromString", value });
},
to: (value: WebSocketUrl) => value,
},
formatWebSocketUrlFromStringError,
);
Defined in: packages/common/src/WebSocket.ts:716
Transforms a WebSocket URL into its canonical WebSocketUrl.
Accepts what UrlFromString accepts when the result is a WebSocketUrl. Encoding returns the canonical spelling, not the original one.
Example
import {
assertEqual,
assertErr,
assertOk,
WebSocketUrlFromString,
} from "@evolu/common";
assertOk(
WebSocketUrlFromString.fromUnknown("WSS://Free.EvoluHQ.com:443"),
"wss://free.evoluhq.com/",
);
const invalid = WebSocketUrlFromString.fromUnknown("https://evolu.dev");
assertErr(invalid, {
type: "WebSocketUrlFromString",
value: "https://evolu.dev",
});
assertEqual(
WebSocketUrlFromString.formatError(invalid.error),
'The value "https://evolu.dev" is not a valid WebSocket URL.',
);