@coko/client
Version:
Client side common code for coko apps
36 lines (35 loc) • 1.48 kB
JavaScript
"use strict";
var _window$env, _window$env2, _window$env3;
var mapper = {
client: {
protocol: process.env.CLIENT_PROTOCOL,
host: process.env.CLIENT_HOST,
port: process.env.CLIENT_PORT
}
};
var removeTrailingSlashes = function removeTrailingSlashes(url) {
return url.replace(/\/+$/, '');
};
var sanitizeUrl = function sanitizeUrl(url) {
if (!url) return null;
return removeTrailingSlashes(url);
};
var makeUrl = function makeUrl(type) {
var _mapper$type = mapper[type],
protocol = _mapper$type.protocol,
host = _mapper$type.host,
port = _mapper$type.port;
if (!protocol || !host || !port) return null;
var url = "".concat(protocol, "://").concat(host).concat(port ? ":".concat(port) : '');
return sanitizeUrl(url);
};
var clientUrl = makeUrl('client');
var serverUrl = sanitizeUrl(((_window$env = window.env) === null || _window$env === void 0 ? void 0 : _window$env.serverUrl) || process.env.SERVER_URL);
var webSocketServerUrl = sanitizeUrl(((_window$env2 = window.env) === null || _window$env2 === void 0 ? void 0 : _window$env2.websocketServerUrl) || process.env.WEBSOCKET_SERVER_URL);
var yjsWebSocketServerUrl = sanitizeUrl(((_window$env3 = window.env) === null || _window$env3 === void 0 ? void 0 : _window$env3.yjsWebsocketServerUrl) || process.env.YJS_WEBSOCKET_SERVER_URL);
module.exports = {
clientUrl: clientUrl,
serverUrl: serverUrl,
webSocketServerUrl: webSocketServerUrl,
yjsWebSocketServerUrl: yjsWebSocketServerUrl
};