// Module ID: 5512 // Function ID: 5513 // Name: MarkupAttachmentLinkRule // Dependencies: [5513, 1930, 2] // Exports: matchAttachmentUrl // Module 5512 (MarkupAttachmentLinkRule) import _modDef1930 from "module_1930" /* 1930 */; import AttachmentUrlConstants from "AttachmentUrlConstants" /* 5513 */; import size from "module_2" /* 2 */; const mapped = Array.from(AttachmentUrlConstants.ATTACHMENT_PATH_PREFIXES).map((item) => item.replaceAll("/", "")); const regExp = new RegExp("^https://(?:[A-Za-z0-9-]+\\.)*(?:(?:media|images)" + "(?:-[A-Za-z0-9]+)?" + "\\.discordapp\\.net|(?:cdn" + "(?:-[A-Za-z0-9]+)?" + "\\.discordapp\\.com))/(?:" + mapped.join("|") + ")/\\d+/\\d+/([A-Za-z0-9._-]*[A-Za-z0-9_-])(?:[?][a-zA-Z0-9?&=_-]*)?"); let obj = { attachmentLink: null }; const arr = Array.from(AttachmentUrlConstants.ATTACHMENT_PATH_PREFIXES); obj.attachmentLink = { order: _modDef1930.defaultRules.url.order - 0.5, requiredFirstCharacters: ["h"], match(arg0) { return regExp.exec(arg0); }, parse(attachmentUrl) { const obj = { type: "attachmentLink", content: null, attachmentUrl: attachmentUrl[0], attachmentName: attachmentUrl[1] }; const items = [{ type: "text", content: attachmentUrl[1] }]; obj.content = items; return obj; } }; const result = size.fileFinishedImporting("modules/markup/MarkupAttachmentLinkRule.tsx"); export default obj; export const matchAttachmentUrl = function matchAttachmentUrl(url) { const match = regExp.exec(url); let tmp2 = null; if (null != match) { tmp2 = null; if (match[0] === url) { const obj = { name: match[1] }; tmp2 = obj; } } return tmp2; };