Path 1: 1737 calls (1.0)

'' (233) 'foo' (151) 'bar' (80) 'Averlongwordgoeshere' (68) 'baz' (58) 'banana pancakes' (54) 'Coffee' (48) '\n✓ ' (36) 'COL1' (24) 'FOO' (22)

None (1737)

builtin_method (1737)

'' (233) 'foo' (151) 'bar' (80) 'Averlongwordgoeshere' (68) 'baz' (58) 'banana pancakes' (54) 'Coffee' (48) '\n✓ ' (36) 'COL1' (24) 'FOO' (22)

1def _emoji_replace(
2    text: str,
3    default_variant: Optional[str] = None,
4    _emoji_sub: _EmojiSubMethod = re.compile(r"(:(\S*?)(?:(?:\-)(emoji|text))?:)").sub,
5) -> str:
6    """Replace emoji code in text."""
7    get_emoji = EMOJI.__getitem__
8    variants = {"text": "\uFE0E", "emoji": "\uFE0F"}
9    get_variant = variants.get
10    default_variant_code = variants.get(default_variant, "") if default_variant else ""
11
12    def do_replace(match: Match[str]) -> str:
13        emoji_code, emoji_name, variant = match.groups()
14        try:
15            return get_emoji(emoji_name.lower()) + get_variant(
16                variant, default_variant_code
17            )
18        except KeyError:
19            return emoji_code
20
21    return _emoji_sub(do_replace, text)