summaryrefslogtreecommitdiff
path: root/src/mfm/parse/elements/url.ts
blob: 78b9b1f2f10579814000e83799d45f3acd662d3c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
/**
 * URL
 */

export type TextElementUrl = {
	type: 'url'
	content: string
	url: string
};

export default function(text: string) {
	const match = text.match(/^https?:\/\/[\w\/:%#@\$&\?!\(\)\[\]~\.=\+\-]+/);
	if (!match) return null;
	const url = match[0];
	return {
		type: 'url',
		content: url,
		url: url
	} as TextElementUrl;
}