summaryrefslogtreecommitdiff
path: root/src/misc/extract-emojis.ts
blob: 2c57e9a8aa6a39f123749fcaf64f4ba68d2ff481 (plain)
1
2
3
4
5
6
7
8
9
import { EmojiNode, MfmForest } from '../mfm/prelude';
import { preorderF } from '../prelude/tree';
import { unique } from '../prelude/array';

export default function(mfmForest: MfmForest): string[] {
	const emojiNodes = preorderF(mfmForest).filter(x => x.type === 'emoji') as EmojiNode[];
	const emojis = emojiNodes.filter(x => x.props.name && x.props.name.length <= 100).map(x => x.props.name);
	return unique(emojis);
}