Created
August 5, 2019 22:40
-
-
Save brussell98/b934475fd06d3ac9b642ae0931ae4092 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
newline: a.default.defaultRules.newline, | |
paragraph: a.default.defaultRules.paragraph, | |
escape: a.default.defaultRules.escape, | |
blockQuote: E({}, a.default.defaultRules.blockQuote, { | |
match: function(e, t, n, r) { | |
return !T.test(r) || t.inQuote ? null : v.exec(e) | |
}, | |
parse: function(e, t, n) { | |
var r = e[0], | |
i = Boolean(y.exec(r)), | |
a = i ? y : S, | |
o = r.replace(a, ""), | |
s = n.inQuote || !1, | |
u = n.inline || !1; | |
n.inQuote = !0, i || (n.inline = !0); | |
var l = t(o, n); | |
return n.inQuote = s, n.inline = u, { | |
content: l, | |
type: "blockQuote" | |
} | |
} | |
}), | |
link: E({}, a.default.defaultRules.link, { | |
parse: function(e, t, n) { | |
var r = a.default.unescapeUrl(e[2]); | |
if (!/^https?:\/\//i.test(r)) return t(e[1], n); | |
var i = b(r); | |
if (null == i) return { | |
type: "text", | |
content: r | |
}; | |
var o = i.target; | |
return { | |
content: t(e[1], n), | |
target: o, | |
title: e[3] | |
} | |
} | |
}), | |
autolink: E({}, a.default.defaultRules.autolink, { | |
parse: I | |
}), | |
url: E({}, a.default.defaultRules.url, { | |
match: function(e, t) { | |
if (!t.inline) return null; | |
var n = /^((?:https?|steam):\/\/[^\s<]+[^<.,:;"'\]\s])/.exec(e); | |
if (null != n) { | |
for (var r = 0, i = n[0], a = i.length - 1; a >= 0 && ")" === i[a]; a--) { | |
var o = i.indexOf("(", r); | |
if (-1 === o) { | |
i = i.slice(0, i.length - 1); | |
break | |
} | |
r = o + 1 | |
} | |
n[0] = n[1] = i | |
} | |
return n | |
}, | |
parse: I | |
}), | |
strong: a.default.defaultRules.strong, | |
em: a.default.defaultRules.em, | |
u: a.default.defaultRules.u, | |
br: a.default.defaultRules.br, | |
text: a.default.defaultRules.text, | |
inlineCode: a.default.defaultRules.inlineCode, | |
emoticon: { | |
order: a.default.defaultRules.text.order, | |
match: function(e) { | |
return /^(¯\\_\(ツ\)_\/¯)/.exec(e) | |
}, | |
parse: function(e) { | |
return { | |
type: "text", | |
content: e[1] | |
} | |
} | |
}, | |
codeBlock: { | |
order: a.default.defaultRules.codeBlock.order, | |
match: function(e) { | |
return /^```(([a-z0-9-]+?)\n+)?\n*([^]+?)\n*```/i.exec(e) | |
}, | |
parse: function(e, t, n) { | |
return { | |
lang: (e[2] || "").trim(), | |
content: e[3] || "", | |
inQuote: n.inQuote || !1 | |
} | |
} | |
}, | |
roleMention: { | |
order: a.default.defaultRules.text.order, | |
match: function(e) { | |
return /^<@&(\d+)>/.exec(e) | |
}, | |
parse: function(e, t, n) { | |
e[0]; | |
var r = e[1], | |
i = l.default.getChannel(n.channelId), | |
a = i ? i.getGuildId() : null, | |
o = a ? c.default.getGuild(a) : null, | |
s = o ? o.roles[r] : null; | |
return null == s ? { | |
type: "text", | |
content: "@deleted-role" | |
} : { | |
type: "mention", | |
color: s.color, | |
colorString: s.colorString, | |
content: [{ | |
type: "text", | |
content: "@" + s.name | |
}] | |
} | |
} | |
}, | |
mention: { | |
order: a.default.defaultRules.text.order, | |
match: function(e) { | |
return /^<@!?(\d+)>|^(@(?:everyone|here))/.exec(e) | |
}, | |
parse: function(e, t, n) { | |
var r, i, a = d.default.getUser(e[1]); | |
if (null != a) { | |
i = a.id, r = a.toString(); | |
var o = l.default.getChannel(n.channelId); | |
null != o && (r = f.default.getNickname(o.getGuildId(), n.channelId, a) || r) | |
} | |
return { | |
userId: i, | |
channelId: n.channelId, | |
content: [{ | |
type: "text", | |
content: null != r ? "@" + r : e[0] | |
}] | |
} | |
} | |
}, | |
channel: { | |
order: a.default.defaultRules.text.order, | |
match: function(e) { | |
return /^<#(\d+)>/.exec(e) | |
}, | |
parse: function(e) { | |
var t = l.default.getChannel(e[1]), | |
n = d.default.getCurrentUser(); | |
return null != t && (0, u.isGuildSelectableChannelType)(t.type) && p.default.can(_.Permissions.VIEW_CHANNEL, n, t) ? { | |
channelId: null != t ? t.id : null, | |
guildId: null != t ? t.guild_id : null, | |
content: [{ | |
type: "text", | |
content: null != t ? "#" + t.toString() : "#deleted-channel" | |
}] | |
} : { | |
type: "text", | |
content: null != t ? "#" + t.toString() : "#deleted-channel" | |
} | |
} | |
}, | |
emoji: { | |
order: a.default.defaultRules.text.order, | |
match: function(e) { | |
var t = s.default.EMOJI_NAME_RE.exec(e); | |
if (null != t && "" !== s.default.convertNameToSurrogate(t[1])) return t | |
}, | |
parse: function(e) { | |
var t = s.default.convertNameToSurrogate(e[1]); | |
return { | |
type: "text", | |
content: t || ":" + e[1] + ":" | |
} | |
} | |
}, | |
customEmoji: { | |
order: a.default.defaultRules.text.order, | |
match: function(e) { | |
return /^<a?:(\w+):(\d+)>/.exec(e) | |
}, | |
parse: function(e) { | |
return { | |
type: "text", | |
content: ":" + e[1] + ":" | |
} | |
} | |
}, | |
s: { | |
order: a.default.defaultRules.u.order, | |
match: a.default.inlineRegex(/^~~([\s\S]+?)~~(?!_)/), | |
parse: a.default.defaultRules.u.parse | |
}, | |
spoiler: { | |
order: a.default.defaultRules.text.order, | |
match: function(e) { | |
return _.MARKDOWN_SPOILER_REGEXP.exec(e) | |
}, | |
parse: function(e, t, n) { | |
return { | |
content: t(e[1], n), | |
channelId: n.channelId | |
} | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment