summaryrefslogtreecommitdiff
path: root/src/misc/extract-emojis.ts
blob: ba810b5f514386fd9bcde4fd0a4e06cfa4cc877c (plain)
1
2
3
4
5
6
7
8
9
import { EmojiNode, MfmForest } from '../mfm/types';
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);
}