// @flow import emojiRegex from "emoji-regex"; import unescape from "./unescape"; export default function parseTitle(text: string = "") { const regex = emojiRegex(); // find and extract title const firstLine = text.trim().split(/\r?\n/)[0]; const trimmedTitle = firstLine.replace(/^#/, "").trim(); // remove any escape characters const title = unescape(trimmedTitle); // find and extract first emoji const matches = regex.exec(title); const firstEmoji = matches ? matches[0] : null; const startsWithEmoji = firstEmoji && title.startsWith(firstEmoji); const emoji = startsWithEmoji ? firstEmoji : undefined; return { title, emoji }; }