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