mirror of
https://codeberg.org/emersion/gamja.git
synced 2025-02-17 19:40:15 -05:00
Switch to ES6 imports
This commit is contained in:
parent
94a4563a45
commit
a1582dcc62
3 changed files with 39 additions and 36 deletions
|
@ -1,3 +1,5 @@
|
||||||
|
import * as irc from "./irc.js";
|
||||||
|
|
||||||
var server = {
|
var server = {
|
||||||
name: "server",
|
name: "server",
|
||||||
username: null,
|
username: null,
|
||||||
|
@ -77,8 +79,8 @@ function createMessageElement(msg) {
|
||||||
case "PRIVMSG":
|
case "PRIVMSG":
|
||||||
var text = msg.params[1];
|
var text = msg.params[1];
|
||||||
|
|
||||||
var actionPrefix = "\001ACTION ";
|
var actionPrefix = "\x01ACTION ";
|
||||||
if (text.startsWith(actionPrefix) && text.endsWith("\001")) {
|
if (text.startsWith(actionPrefix) && text.endsWith("\x01")) {
|
||||||
var action = text.slice(actionPrefix.length, -1);
|
var action = text.slice(actionPrefix.length, -1);
|
||||||
|
|
||||||
line.className += " me-tell";
|
line.className += " me-tell";
|
||||||
|
@ -314,11 +316,11 @@ function connect() {
|
||||||
};
|
};
|
||||||
|
|
||||||
ws.onmessage = function(event) {
|
ws.onmessage = function(event) {
|
||||||
var msg = parseMessage(event.data);
|
var msg = irc.parseMessage(event.data);
|
||||||
console.log("Received:", msg);
|
console.log("Received:", msg);
|
||||||
|
|
||||||
switch (msg.command) {
|
switch (msg.command) {
|
||||||
case RPL_WELCOME:
|
case irc.RPL_WELCOME:
|
||||||
if (server.saslPlain && availableCaps["sasl"] === undefined) {
|
if (server.saslPlain && availableCaps["sasl"] === undefined) {
|
||||||
console.error("Server doesn't support SASL PLAIN");
|
console.error("Server doesn't support SASL PLAIN");
|
||||||
disconnect();
|
disconnect();
|
||||||
|
@ -336,7 +338,7 @@ function connect() {
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case RPL_TOPIC:
|
case irc.RPL_TOPIC:
|
||||||
var channel = msg.params[1];
|
var channel = msg.params[1];
|
||||||
var topic = msg.params[2];
|
var topic = msg.params[2];
|
||||||
|
|
||||||
|
@ -346,7 +348,7 @@ function connect() {
|
||||||
}
|
}
|
||||||
buf.topic = topic;
|
buf.topic = topic;
|
||||||
break;
|
break;
|
||||||
case RPL_NAMREPLY:
|
case irc.RPL_NAMREPLY:
|
||||||
var channel = msg.params[2];
|
var channel = msg.params[2];
|
||||||
var members = msg.params.slice(3);
|
var members = msg.params.slice(3);
|
||||||
|
|
||||||
|
@ -356,13 +358,13 @@ function connect() {
|
||||||
}
|
}
|
||||||
|
|
||||||
members.forEach(function(s) {
|
members.forEach(function(s) {
|
||||||
var member = parseMembership(s);
|
var member = irc.parseMembership(s);
|
||||||
buf.members[member.nick] = member.prefix;
|
buf.members[member.nick] = member.prefix;
|
||||||
});
|
});
|
||||||
break;
|
break;
|
||||||
case RPL_ENDOFNAMES:
|
case irc.RPL_ENDOFNAMES:
|
||||||
break;
|
break;
|
||||||
case ERR_PASSWDMISMATCH:
|
case irc.ERR_PASSWDMISMATCH:
|
||||||
console.error("Password mismatch");
|
console.error("Password mismatch");
|
||||||
disconnect();
|
disconnect();
|
||||||
break;
|
break;
|
||||||
|
@ -372,23 +374,23 @@ function connect() {
|
||||||
case "AUTHENTICATE":
|
case "AUTHENTICATE":
|
||||||
handleAuthenticate(msg);
|
handleAuthenticate(msg);
|
||||||
break;
|
break;
|
||||||
case RPL_LOGGEDIN:
|
case irc.RPL_LOGGEDIN:
|
||||||
console.log("Logged in");
|
console.log("Logged in");
|
||||||
break;
|
break;
|
||||||
case RPL_LOGGEDOUT:
|
case irc.RPL_LOGGEDOUT:
|
||||||
console.log("Logged out");
|
console.log("Logged out");
|
||||||
break;
|
break;
|
||||||
case RPL_SASLSUCCESS:
|
case irc.RPL_SASLSUCCESS:
|
||||||
console.log("SASL authentication success");
|
console.log("SASL authentication success");
|
||||||
if (!registered) {
|
if (!registered) {
|
||||||
sendMessage({ command: "CAP", params: ["END"] });
|
sendMessage({ command: "CAP", params: ["END"] });
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case ERR_NICKLOCKED:
|
case irc.ERR_NICKLOCKED:
|
||||||
case ERR_SASLFAIL:
|
case irc.ERR_SASLFAIL:
|
||||||
case ERR_SASLTOOLONG:
|
case irc.ERR_SASLTOOLONG:
|
||||||
case ERR_SASLABORTED:
|
case irc.ERR_SASLABORTED:
|
||||||
case ERR_SASLALREADY:
|
case irc.ERR_SASLALREADY:
|
||||||
console.error("SASL error:", msg);
|
console.error("SASL error:", msg);
|
||||||
disconnect();
|
disconnect();
|
||||||
break;
|
break;
|
||||||
|
@ -473,7 +475,7 @@ function disconnect() {
|
||||||
}
|
}
|
||||||
|
|
||||||
function sendMessage(msg) {
|
function sendMessage(msg) {
|
||||||
ws.send(formatMessage(msg));
|
ws.send(irc.formatMessage(msg));
|
||||||
console.log("Sent:", msg);
|
console.log("Sent:", msg);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,17 +1,17 @@
|
||||||
const RPL_WELCOME = "001";
|
export const RPL_WELCOME = "001";
|
||||||
const RPL_TOPIC = "332";
|
export const RPL_TOPIC = "332";
|
||||||
const RPL_NAMREPLY = "353";
|
export const RPL_NAMREPLY = "353";
|
||||||
const RPL_ENDOFNAMES = "366";
|
export const RPL_ENDOFNAMES = "366";
|
||||||
const ERR_PASSWDMISMATCH = "464";
|
export const ERR_PASSWDMISMATCH = "464";
|
||||||
// https://ircv3.net/specs/extensions/sasl-3.1
|
// https://ircv3.net/specs/extensions/sasl-3.1
|
||||||
const RPL_LOGGEDIN = "900";
|
export const RPL_LOGGEDIN = "900";
|
||||||
const RPL_LOGGEDOUT = "901";
|
export const RPL_LOGGEDOUT = "901";
|
||||||
const ERR_NICKLOCKED = "902";
|
export const ERR_NICKLOCKED = "902";
|
||||||
const RPL_SASLSUCCESS = "903";
|
export const RPL_SASLSUCCESS = "903";
|
||||||
const ERR_SASLFAIL = "904";
|
export const ERR_SASLFAIL = "904";
|
||||||
const ERR_SASLTOOLONG = "905";
|
export const ERR_SASLTOOLONG = "905";
|
||||||
const ERR_SASLABORTED = "906";
|
export const ERR_SASLABORTED = "906";
|
||||||
const ERR_SASLALREADY = "907";
|
export const ERR_SASLALREADY = "907";
|
||||||
|
|
||||||
var tagsEscape = {
|
var tagsEscape = {
|
||||||
";": "\\:",
|
";": "\\:",
|
||||||
|
@ -88,7 +88,7 @@ function formatPrefix(prefix) {
|
||||||
return prefix.name + "!" + prefix.user + "@" + prefix.host;
|
return prefix.name + "!" + prefix.user + "@" + prefix.host;
|
||||||
}
|
}
|
||||||
|
|
||||||
function parseMessage(s) {
|
export function parseMessage(s) {
|
||||||
if (s.endsWith("\r\n")) {
|
if (s.endsWith("\r\n")) {
|
||||||
s = s.slice(0, s.length - 2);
|
s = s.slice(0, s.length - 2);
|
||||||
}
|
}
|
||||||
|
@ -145,7 +145,7 @@ function parseMessage(s) {
|
||||||
return msg;
|
return msg;
|
||||||
}
|
}
|
||||||
|
|
||||||
function formatMessage(msg) {
|
export function formatMessage(msg) {
|
||||||
var s = "";
|
var s = "";
|
||||||
// TODO: format tags
|
// TODO: format tags
|
||||||
if (msg.tags && Object.keys(msg.tags).length > 0) {
|
if (msg.tags && Object.keys(msg.tags).length > 0) {
|
||||||
|
@ -166,7 +166,7 @@ function formatMessage(msg) {
|
||||||
return s;
|
return s;
|
||||||
}
|
}
|
||||||
|
|
||||||
function parseMembership(s) {
|
export function parseMembership(s) {
|
||||||
// TODO: use the PREFIX token from RPL_ISUPPORT
|
// TODO: use the PREFIX token from RPL_ISUPPORT
|
||||||
const STD_MEMBERSHIPS = "~&@%+";
|
const STD_MEMBERSHIPS = "~&@%+";
|
||||||
|
|
||||||
|
|
|
@ -70,7 +70,8 @@
|
||||||
</form>
|
</form>
|
||||||
</section>
|
</section>
|
||||||
|
|
||||||
<script src="assets/irc.js"></script>
|
<script type="module">
|
||||||
<script src="assets/client.js"></script>
|
import "./assets/client.js";
|
||||||
|
</script>
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
|
|
Loading…
Reference in a new issue