Emojis for Dart Unicode 15.1
+
One, yet powerful emojis String extension

Pub Package Build Status Code Coverage MIT License Unicode 15.1 YouTube Tutorial


Features

  • Contains over 5,000 emojis from Unicode 15.1 πŸ’ͺ
  • Supports:
    • shorcodes: Discord, Github, Slack 🫑
    • skin tone variations: πŸ‘ πŸ‘πŸ» πŸ‘πŸΌ πŸ‘πŸ½ πŸ‘πŸΎ πŸ‘πŸΏ
    • hair style variations: 🦰 🦱 🦳 🦲
    • multi-person: πŸ‘¨β€πŸ‘©β€πŸ‘§β€πŸ‘¦
  • Provides Emojis collection that has all the info about each emoji:
    • value: πŸ˜†
    • unicode: 1F606
    • name: Grinning Squinting Face
    • apple name: Grinning Face with Squinting Eyes
    • also known as: ><, Closed-Eyes Smile, Big Grin, Laughing, XD
    • group: Smileys & Emotion
    • subgroup: face-smiling
    • version: 6.0
    • status: fully-qualified
    • shortcodes:
      • CLDR: grinning_squinting_face
      • Discord: laughing, satisfied
      • Github: laughing, satisfied
      • Slack: laughing, satisfied
  • Provides emojis extension to interact with emojis within any text. Quick overview of just a few possibilities:
'textπŸ˜€textπŸ€¦πŸΎβ€β™€οΈtext'.emojis 
                         .contains // true
                         .only // false
                         .onlyOne // false
                         .count // 2
                         .split // [text, text, text]
                         .remove // texttexttext
                         .extract // [πŸ˜€, πŸ€¦πŸΎβ€β™€οΈ]
                         .replace('-') // text-text-text
                         .first
                               .value // πŸ˜€
                               .unicode // 1F600
                               .name // Grinning Face
                         ... // and many more
                          
// to Slack shortcodes:
'πŸ˜€textπŸ€¦πŸΎβ€β™€οΈ'.emojis.toSlackShortcodes(); // :grinning:text:woman-facepalming::skin-tone-5:

// from Slack shortcodes:
':grinning:text:woman-facepalming::skin-tone-5:'.emojis.fromShortcodes(); // πŸ˜€textπŸ€¦πŸΎβ€β™€οΈ
  • Provides Emoji class equipped with numerous properties and getters for your convenience:
Emoji('❀️').shortcode; // :red_heart:

Emoji('🦊').isAnimal; // true

Emoji('πŸ‘ͺ').isMultiPerson; // true

Emoji('πŸ‘πŸ»').hasSkinTone; // true

Emoji('πŸ˜ƒ').hasFace; // true

... // and many more

YouTube Video Tutorial

Table of contents

Import import 'package:emoji_extension/emoji_extension.dart'; and you've got 2 benefits:

1️⃣ Emojis collection

______________________________________

______________________________________

2️⃣ Emojis extension

______________________________________________________

Emojis collection

Full Emojis collection with unicodes, names, apple names, "also known as", groups, subgroups, shortcodes:

Emojis
      .all // [Emoji(value: πŸ˜€, ...), Emoji(value: πŸ˜ƒ, ...), ...]
          .values // [πŸ˜€, πŸ˜ƒ, πŸ˜„, 😁, πŸ˜†, πŸ˜…, 🀣, πŸ˜‚, πŸ™‚, πŸ™ƒ, 🫠, πŸ˜‰, 😊, πŸ˜‡, πŸ₯°, 😍, ...]
          .unicodes // [1F600, 1F603, 1F604, 1F601, 1F606, 1F605, 1F923, 1F602, 1F642, ...]
          .names // [Grinning Face, Grinning Face with Big Eyes, ...]
          .appleNames // [Grinning Face, Grinning Face with Big Eyes, ...]
          .alsoKnownAs // [Happy Face, Smiley Face, Grinning Face, ...]
          .shortcodes // [:grinning_face:, :grinning_face_with_big_eyes:, ...]
      .groups // [Group.smileysAndEmotion, Group.peopleAndBody, Group.component, ...]
             .values // [Smileys & Emotion, People & Body, Component, Animals & Nature, ...]
      .subgroups // [Subgroup.faceSmiling, Subgroup.faceAffection, Subgroup.faceTongue, ...]
                .values // [face-smiling, face-affection, face-tongue, face-hand, ...]
      .groupsWithSubgroups // {Group.smileysAndEmotion: [Subgroup.faceSmiling, ...], ...}
                          .values // {Smileys & Emotion: [face-smiling, ...], ...}
      .shortcodePlatforms // [Default, CLDR, Discord, Github, Slack]
      .versions // [Version.v6_0, Version.v7_0, Version.v8_0, Version.v9_0, ...]
               .values // [6.0, 7.0, 8.0, 9.0, 10.0, 11.0, 12.0, 12.1, 13.0, ...]
      .statuses // [Status.fullyQualified, Status.minimallyQualified, ...]
               .values // [fully-qualified, minimally-qualified, unqualified, ...]
↑ Table of contents ↑

Emojis.all

Emojis.all  /* [
                Emoji(
                 value: πŸ˜€,
                 unicode: 1F600,
                 name: Grinning Face,
                 appleName: Grinning Face,
                 alsoKnownAs: [Happy Face, Smiley Face],
                 group: Smileys & Emotion,
                 subgroup: face-smiling,
                 version: 8.0,
                 status: fully-qualified,
                 shortcodes: [
                          Shortcode(
                          platform: Default,
                          values: [grinning_face]
                        ),
                          Shortcode(
                          platform: CLDR,
                          values: [grinning_face]
                        ),
                          Shortcode(
                          platform: Discord,
                          values: [grinning]
                        ),
                          Shortcode(
                          platform: Github,
                          values: [grinning]
                        ),
                          Shortcode(
                          platform: Slack,
                          values: [grinning]
                        )]
                ), 
                Emoji(
                 value: πŸ˜ƒ,
                 unicode: 1F603,
                 name: Grinning Face with Big Eyes,
                 appleName: Grinning Face with Big Eyes,
                 alsoKnownAs: [Grinning Face, Happy Face, Happy, Smiley Face]
                 group: Smileys & Emotion,
                 subgroup: face-smiling,
                 version: 6.0,
                 status: fully-qualified
                 shortcodes: [...]
                )
               ...
               ] */
↑ Table of contents ↑

Emojis.all.names

Emojis.all.names // [Grinning Face, Grinning Face with Big Eyes, ...]
                .first // Grinning Face
                .second // Grinning Face with Big Eyes
                .third // Grinning Face with Smiling Eyes
                .fourth // Beaming Face with Smiling Eyes
                .fifth // Grinning Squinting Face
                .sixth // Grinning Face with Sweat
                .penultimate // Flag: Scotland
                .last // Flag: Wales
↑ Table of contents ↑

Emojis.all.appleNames

Emojis.all.appleNames // [Grinning Face, Grinning Face with Big Eyes, ...]
                     .first // Grinning Face
                     .second // Grinning Face with Big Eyes
                     .third // Grinning Face with Smiling Eyes
                     .fourth // Beaming Face with Smiling Eyes
                     .fifth // Grinning Face with Squinting Eyes
                     .sixth // Grinning Face with Sweat
                     .penultimate // Flag of Scotland
                     .last // Flag of Wales
↑ Table of contents ↑

Emojis.all.alsoKnownAs

Emojis.all.alsoKnownAs // [Happy Face, Smiley Face, Grinning Face, ...]
                      .first // Happy Face
                      .second // Smiley Face
                      .third // Grinning Face
                      .fourth // Happy Face
                      .fifth // Happy
                      .sixth // Smiley Face
                      .penultimate // Welsh Flag
                      .last // Y Ddraig Goch
↑ Table of contents ↑

Emojis.all.shortcodes

// Default (emoji name in snake_case)
Emojis.all.shortcodes // [:grinning_face:, :grinning_face_with_big_eyes:, ...]
                     .first // :grinning_face:
                     .second // :grinning_face_with_big_eyes:
                     .third // :grinning_face_with_smiling_eyes:
                     .fourth // :beaming_face_with_smiling_eyes:
                     .fifth // :grinning_squinting_face:
                     .sixth // :grinning_face_with_sweat:
                     .penultimate // :flag_scotland:
                     .last // :flag_wales:
↑ Table of contents ↑

Emojis.all.cldrShortcodes

// CLDR
Emojis.all.cldrShortcodes // [:grinning_face:, :grinning_face_with_big_eyes:, ...]
                         .first // :grinning_face:
                         .second // :grinning_face_with_big_eyes:
                         .third // :grinning_face_with_smiling_eyes:
                         .fourth // :beaming_face_with_smiling_eyes:
                         .fifth // :grinning_squinting_face:
                         .sixth // :grinning_face_with_sweat:
                         .penultimate // :flag_scotland:
                         .last // :flag_wales:
↑ Table of contents ↑

Emojis.all.discordShortcodes

// Discord
Emojis.all.discordShortcodes // [:grinning:, :smiley:, :smile:, :grin:, :laughing:, ...]
                            .first // :grinning:
                            .second // :smiley:
                            .third // :smile:
                            .fourth // :grin:
                            .fifth // :laughing:
                            .sixth // :sweat_smile:
                            .penultimate // :scotland:
                            .last // :wales:
↑ Table of contents ↑

Emojis.all.githubShortcodes

// Github (no skin-tone shortcodes)
Emojis.all.githubShortcodes // [:grinning:, :smiley:, :smile:, :grin:, :laughing:, ...]
                           .first // :grinning:
                           .second // :smiley:
                           .third // :smile:
                           .fourth // :grin:
                           .fifth // :laughing:
                           .sixth // :sweat_smile:
                           .penultimate // :scotland:
                           .last // :wales:
↑ Table of contents ↑

Emojis.all.slackShortcodes

// Slack
Emojis.all.slackShortcodes // [:grinning:, :smiley:, :smile:, :grin:, :laughing:, ...]
                          .first // :grinning:
                          .second // :smiley:
                          .third // :smile:
                          .fourth // :grin:
                          .fifth // :laughing:
                          .sixth // :sweat_smile:
                          .penultimate // :flag-scotland:
                          .last // :flag-wales:
↑ Table of contents ↑

Emojis.all.unicodes

Emojis.all.unicodes // [1F600, 1F603, 1F604, 1F601, 1F606, 1F605, 1F923, 1F602, 1F642, ...]
                   .first // 1F600
                   .second // 1F603
                   .third // 1F604
                   .fourth // 1F601
                   .fifth // 1F606
                   .sixth // 1F605
                   .penultimate // 1F3F4 E0067 E0062 E0073 E0063 E0074 E007F
                   .last // 1F3F4 E0067 E0062 E0077 E006C E0073 E007F
↑ Table of contents ↑

Emojis.all.values

Emojis.all.values // [πŸ˜€, πŸ˜ƒ, πŸ˜„, 😁, πŸ˜†, πŸ˜…, 🀣, πŸ˜‚, πŸ™‚, πŸ™ƒ, 🫠, πŸ˜‰, 😊, πŸ˜‡, πŸ₯°, 😍, ...]
                 .first // πŸ˜€
                 .second // πŸ˜ƒ
                 .third // πŸ˜„
                 .fourth // 😁
                 .fifth // πŸ˜†
                 .sixth // πŸ˜…
                 .penultimate // 🏴󠁧󠁒󠁳󠁣󠁴󠁿
                 .last // 🏴󠁧󠁒󠁷󠁬󠁳󠁿
↑ Table of contents ↑

Emojis.getOne()

// By value
Emojis.getOne('πŸ˜€'); // or

// By unicode
Emojis.getOne('1F600'); // or

// By name or apple name (ignore-case)
Emojis.getOne('Grinning Face'); // or
Emojis.getOne('grinning face'); // or

// By also known as (ignore-case)
Emojis.getOne('Happy Face'); // or
Emojis.getOne('happy face'); // or
Emojis.getOne('Smiley Face'); // or
Emojis.getOne('smiley face'); // or

// By shortcode (ignore-colons)
Emojis.getOne(':grinning:'); // or
Emojis.getOne('grinning'); // or
Emojis.getOne('grinning_face'); /* [Emoji(
                                       value: πŸ˜€,
                                       unicode: 1F600,
                                       name: Grinning Face,
                                       appleName: Grinning Face,
                                       alsoKnownAs: [Happy Face, Smiley Face],
                                       group: Smileys & Emotion,
                                       subgroup: face-smiling,
                                       version: 8.0,
                                       status: fully-qualified,
                                       shortcodes: [
                                              Shortcode(
                                              platform: Default,
                                              values: [grinning_face]
                                            ),
                                              Shortcode(
                                              platform: CLDR,
                                              values: [grinning_face]
                                            ),
                                              Shortcode(
                                              platform: Discord,
                                              values: [grinning]
                                            ),
                                              Shortcode(
                                              platform: Github,
                                              values: [grinning]
                                            ),
                                              Shortcode(
                                              platform: Slack,
                                              values: [grinning]
                                            )]
                                     )] */
↑ Table of contents ↑

Emojis.getOneOrNull()

Equivalent of getOne() with null safety:

Emojis.getOneOrNull('πŸ˜€')?.name; // Grinning face
Emojis.getOneOrNull('some unknown value')?.name; // null
↑ Table of contents ↑

Emojis.byColor()

Emojis.byColor(Color.blue); // [Emoji(value: 😰, ...), Emoji(value: πŸ’™, ...), ...]
Emojis.byColor(Color.black); // [Emoji(value: πŸ–€, ...), Emoji(value: πŸˆβ€β¬›, ...), ...]

//or use convenient getters:
Emojis.blue; // [Emoji(value: 😰, ...), Emoji(value: πŸ’™, ...), ...]
Emojis.black; // [Emoji(value: πŸ–€, ...), Emoji(value: πŸˆβ€β¬›, ...), ...]
↑ Table of contents ↑

Emojis.byHairStyle()

Emojis.byHairStyle(HairStyle.white); // [Emoji(value: πŸ‘¨β€πŸ¦³, ...), Emoji(value: πŸ‘¨πŸ»β€πŸ¦³, ...), ...]
Emojis.byHairStyle(HairStyle.red); // [Emoji(value: πŸ‘¨β€πŸ¦°, ...), Emoji(value: πŸ‘¨πŸ»β€πŸ¦°, ...), ...]

//or use convenient getters:
Emojis.whiteHairStyle; // [Emoji(value: πŸ‘¨β€πŸ¦³, ...), Emoji(value: πŸ‘¨πŸ»β€πŸ¦³, ...), ...]
Emojis.redHairStyle; // [Emoji(value: πŸ‘¨β€πŸ¦°, ...), Emoji(value: πŸ‘¨πŸ»β€πŸ¦°, ...), ...]
↑ Table of contents ↑

Emojis.bySkinTone()

Emojis.bySkinTone(SkinTone.light); // [Emoji(value: πŸ‘‹πŸ», ...), Emoji(value: 🀚🏻, ...), ...]
Emojis.bySkinTone(SkinTone.dark); // [Emoji(value: πŸ‘‹πŸΏ, ...), Emoji(value: 🀚🏿, ...), ...]

//or use convenient getters:
Emojis.lightSkinTone; // [Emoji(value: πŸ‘‹πŸ», ...), Emoji(value: 🀚🏻, ...), ...]
Emojis.darkSkinTone; // [Emoji(value: πŸ‘‹πŸΏ, ...), Emoji(value: 🀚🏿, ...), ...]
↑ Table of contents ↑

Emojis.byGroup()

Emojis.byGroup(Group.smileysAndEmotion); // [Emoji(value: πŸ˜€, ...), Emoji(value: πŸ˜ƒ, ...), ...]
Emojis.byGroup(Group.foodAndDrink); // [Emoji(value: πŸ‡, ...), Emoji(value: 🍈, ...), ...]

//or use convenient getters:
Emojis.smileysAndEmotion; // [Emoji(value: πŸ˜€, ...), Emoji(value: πŸ˜ƒ, ...), ...]
Emojis.foodAndDrink; // [Emoji(value: πŸ‡, ...), Emoji(value: 🍈, ...), ...]
↑ Table of contents ↑

Emojis.bySubgroup()

Emojis.bySubgroup(Subgroup.faceSmiling); // [Emoji(value: πŸ˜€, ...), Emoji(value: πŸ˜ƒ, ...), ...]
Emojis.bySubgroup(Subgroup.animalBird); // [Emoji(value: πŸ¦ƒ, ...), Emoji(value: πŸ”, ...), ...]

//or use convenient getters:
Emojis.faceSmiling; // [Emoji(value: πŸ˜€, ...), Emoji(value: πŸ˜ƒ, ...), ...]
Emojis.animalBird; // [Emoji(value: πŸ¦ƒ, ...), Emoji(value: πŸ”, ...), ...]
↑ Table of contents ↑

Emojis.byVersion()

Emojis.byVersion(Version.v6_0); // [Emoji(value: πŸ˜ƒ, ...), Emoji(value: πŸ˜„, ...), ...]
Emojis.byVersion(Version.v15_0); // [Emoji(value: 🫨, ...), Emoji(value: 🩷, ...), ...]

//or use convenient getters:
Emojis.v6_0; // [Emoji(value: πŸ˜ƒ, ...), Emoji(value: πŸ˜„, ...), ...]
Emojis.v15_0; // [Emoji(value: 🫨, ...), Emoji(value: 🩷, ...), ...]
↑ Table of contents ↑

Emojis.byStatus()

Emojis.byStatus(Status.fullyQualified); // [Emoji(value: πŸ˜ƒ, ...), Emoji(value: πŸ˜„, ...), ...]

//or use convenient getters:
Emojis.fullyQualified; // [Emoji(value: πŸ˜ƒ, ...), Emoji(value: πŸ˜„, ...), ...]
↑ Table of contents ↑

Emojis.colors

Emojis.colors // [Color.red, Color.pink, Color.orange, Color.yellow, ...]
             .first // Color.red
             .second // Color.pink
             .third // Color.orange
             .fourth // Color.yellow
             .fifth // Color.green
             .sixth // Color.blue
             .penultimate // Color.grey
             .last // Color.white
             .values // [red, pink, orange, yellow, green, blue, light blue, ...]
                    .first // red
                    .second // pink
                    .third // orange
                    .fourth // yellow
                    .fifth // green
                    .sixth // blue
                    .penultimate // grey
                    .last // white
↑ Table of contents ↑

Emojis.hairStyles

Emojis.hairStyles // [HairStyle.blond, HairStyle.red, HairStyle.curly, ...]
                 .first // HairStyle.blond
                 .second // HairStyle.red
                 .third // HairStyle.curly
                 .fourth // HairStyle.white
                 .fifth // HairStyle.bald
                 .sixthOrNull // null
                 .penultimate // HairStyle.white
                 .last // HairStyle.bald
                 .values // [1F471, 1F9B0, 1F9B1, 1F9B3, 1F9B2]
                        .first // 1F471
                        .second // 1F9B0
                        .third // 1F9B1
                        .fourth // 1F9B3
                        .fifth // 1F9B2
                        .sixthOrNull // null
                        .penultimate // 1F9B3
                        .last // 1F9B2
↑ Table of contents ↑

Emojis.skinTones

Emojis.skinTones // [SkinTone.light, SkinTone.mediumLight, ...]
                .first // SkinTone.blond
                .second // SkinTone.mediumLight
                .third // SkinTone.medium
                .fourth // SkinTone.mediumDark
                .fifth // SkinTone.dark
                .sixthOrNull // null
                .penultimate // SkinTone.mediumDark
                .last // SkinTone.dark
                .values // [1F3FB, 1F3FC, 1F3FD, 1F3FE, 1F3FF]
                       .first // 1F3FB
                       .second // 1F3FC
                       .third // 1F3FD
                       .fourth // 1F3FE
                       .fifth // 1F3FF
                       .sixthOrNull // null
                       .penultimate // 1F3FE
                       .last // 1F3FF
↑ Table of contents ↑

Emojis.groups

Emojis.groups // [Group.smileysAndEmotion, Group.peopleAndBody, Group.component, ...]
             .first // Group.smileysAndEmotion
             .second // Group.peopleAndBody
             .third // Group.component
             .fourth // Group.animalsAndNature
             .fifth // Group.foodAndDrink
             .sixth // Group.travelAndPlaces
             .penultimate // Group.symbols
             .last // Group.flags
             .values // [Smileys & Emotion, People & Body, Component, Animals & Nature, ...]
                    .first // Smileys & Emotion
                    .second // People & Body
                    .third // Component
                    .fourth // Animals & Nature
                    .fifth // Food & Drink
                    .sixth // Travel & Places
                    .penultimate // Symbols
                    .last // Flags
↑ Table of contents ↑

Emojis.subgroups

Emojis.subgroups // [Subgroup.faceSmiling, Subgroup.faceAffection, Subgroup.faceTongue, ...]
                .first // Subgroup.faceSmiling
                .second // Subgroup.faceAffection
                .third // Subgroup.faceTongue
                .fourth // Subgroup.faceHand
                .fifth // Subgroup.faceNeutralSkeptical
                .sixth // Subgroup.faceSleepy
                .penultimate // Subgroup.countryFlag
                .last // Subgroup.subdivisionFlag
                .values // [face-smiling, face-affection, face-tongue, face-hand, ...]
                       .first // face-smiling
                       .second // face-affection
                       .third // face-tongue
                       .fourth // face-hand
                       .fifth // face-neutral-skeptical
                       .sixth // face-sleepy
                       .penultimate // country-flag
                       .last // subdivision-flag
↑ Table of contents ↑

Emojis.groupsWithSubgroups

Emojis.groupsWithSubgroups; // {Group.smileysAndEmotion: [Subgroup.faceSmiling, ...], ...}
Emojis.groupsWithSubgroupsValues; // {Smileys & Emotion: [face-smiling, ...], ...}
↑ Table of contents ↑

Emojis.shortcodePlatforms

Emojis.shortcodePlatforms // [Default, CLDR, Discord, Github, Slack]
                         .first // Default
                         .second // CLDR
                         .third // Discord
                         .fourth // Github
                         .fifth // Slack
                         .sixthOrNull // null
                         .penultimate // Github
                         .last // Slack
↑ Table of contents ↑

Emojis.statuses

Emojis.statuses // [Status.fullyQualified, Status.minimallyQualified, ...]
               .first // Status.fullyQualified
               .second // Status.minimallyQualified
               .third // Status.unqualified
               .fourth // Status.component
               .fifthOrNull // null
               .sixthOrNull // null
               .penultimate // Status.unqualified
               .last // Status.component
               .values // [fully-qualified, minimally-qualified, unqualified, ...]
                      .first // fully-qualified
                      .second // minimally-qualified
                      .third // unqualified
                      .fourth // component
                      .fifthOrNull // null
                      .sixthOrNull // null
                      .penultimate // unqualified
                      .last // component
↑ Table of contents ↑

Emojis.versions

Emojis.versions // [Version.v6_0, Version.v7_0, Version.v8_0, Version.v9_0, ...]
               .first // Version.v6_0
               .second // Version.v7_0
               .third // Version.v8_0
               .fourth // Version.v9_0
               .fifth // Version.v10_0
               .sixth // Version.v11_0
               .penultimate // Version.v15_0
               .last // Version.v15_1
               .values // [6.0, 7.0, 8.0, 9.0, 10.0, 11.0, 12.0, 12.1, 13.0, ...]
                      .first // 6.0
                      .second // 7.0
                      .third // 8.0
                      .fourth // 9.0
                      .fifth // 10.0
                      .sixth // 11.0
                      .penultimate // 15.0
                      .last // 15.1
↑ Table of contents ↑

Emoji class

Emoji class equipped with numerous properties and getters for your convenience:

Emoji('🦊')
           .name // Fox
           .appleName // Fox Face
           .unicode // 1F98A
           .shortcode // :fox:
           .discordShortcode // :fox:
           .discordShortcodes // [:fox:, :fox_face:]
                             .first // :fox:
                             .second // :fox_face:
           .version // Version.v9_0
           .value // 9.0
           .isAnimal // true
           .isFlag // false
           .isFlower // false
           .isFruit // false
           .isGeometric // false
           .isMan // false
           .isWoman // false
           .isVegetable // false
           .isPerson // false
           .isMultiPerson // false
           .isSymbol // false
           .isV9_0 // true
           .hasBeard // false
           .hasFace // true
           .hasHairStyle // false
           .hasSkinTone // false
           .hasColor // false
           .color // null
           .skinTone // null
           .hairStyle // null
↑ Table of contents ↑

Emoji.name

Emoji('πŸ˜€').name; // Grinning Face
Emoji('🦊').name; // Fox
↑ Table of contents ↑

Emoji.appleName

Emoji('πŸ˜€').appleName; // Grinning Face
Emoji('🦊').appleName; // Fox Face
↑ Table of contents ↑

Emoji.alsoKnownAs

Emoji('πŸ˜€').alsoKnownAs; // [Happy Face, Smiley Face]
Emoji('🦊').alsoKnownAs; // [Fox]
↑ Table of contents ↑

Emoji.color

Emoji('πŸ”΄').color; // Color.red
Emoji('πŸ˜€').color; // null
↑ Table of contents ↑

Emoji.shortcode

Emoji('πŸ˜€').shortcode; // :grinning_face:
Emoji('🦊').shortcode; // :fox:
↑ Table of contents ↑

Emoji.cldrShortcode

Emoji('πŸ˜€').cldrShortcode; // :grinning_face:
Emoji('🦊').cldrShortcode; // :fox:
↑ Table of contents ↑

Emoji.discordShortcode

Emoji('πŸ˜€').discordShortcode; // :grinning:
Emoji('🦊').discordShortcode; // :fox:
↑ Table of contents ↑

Emoji.githubShortcode

Emoji('πŸ˜€').githubShortcode; // :grinning:
Emoji('🦊').githubShortcode; // :fox_face:
↑ Table of contents ↑

Emoji.slackShortcode

Emoji('πŸ˜€').slackShortcode; // :grinning:
Emoji('🦊').slackShortcode; // :fox_face:
↑ Table of contents ↑

Emoji.unicode

Emoji('πŸ˜€').unicode; // 1F600
Emoji('🦊').unicode; // 1F98A
↑ Table of contents ↑

Emoji.version

Emoji('πŸ˜€').version; // Version.v8_0
Emoji('🦊').version; // Version.v9_0
↑ Table of contents ↑

Emoji.isAnimal

Emoji('🦊').isAnimal; // true
Emoji('πŸ˜€').isAnimal; // false
↑ Table of contents ↑

Emoji.isFlag

Emoji('🏁').isFlag; // true
Emoji('πŸ˜€').isFlag; // false
↑ Table of contents ↑

Emoji.isFlower

Emoji('πŸ’').isFlower; // true
Emoji('πŸ˜€').isFlower; // false
↑ Table of contents ↑

Emoji.isFruit

Emoji('πŸ‡').isFruit; // true
Emoji('πŸ˜€').isFruit; // false
↑ Table of contents ↑

Emoji.isVegetable

Emoji('πŸ†').isVegetable; // true
Emoji('πŸ˜€').isVegetable; // false
↑ Table of contents ↑

Emoji.isGeometric

Emoji('πŸ”΄').isGeometric; // true
Emoji('πŸ˜€').isGeometric; // false
↑ Table of contents ↑

Emoji.isMan

Emoji('πŸ‘¨').isMan; // true
Emoji('πŸ‘©').isMan; // false
Emoji('πŸ”΄').isMan; // false
↑ Table of contents ↑

Emoji.isWoman

Emoji('πŸ‘©').isWoman; // true
Emoji('πŸ‘¨').isWoman; // false
Emoji('πŸ”΄').isWoman; // false
↑ Table of contents ↑

Emoji.isPerson

Emoji('πŸ™').isPerson; // true
Emoji('πŸ”΄').isPerson; // false
↑ Table of contents ↑

Emoji.isMultiPerson

Emoji('πŸ‘ͺ').isMultiPerson; // true
Emoji('πŸ‘¨').isMultiPerson; // false
Emoji('πŸ”΄').isMultiPerson; // false
↑ Table of contents ↑

Emoji.isSymbol

Emoji('🏧').isSymbol; // true
Emoji('πŸ˜€').isSymbol; // false
↑ Table of contents ↑

Emoji.hasBeard

Emoji('πŸ§”').hasBeard; // true
Emoji('πŸ§‘').hasBeard; // false
Emoji('πŸ˜€').hasBeard; // false
↑ Table of contents ↑

Emoji.hasFace

Emoji('πŸ˜€').hasFace; // true
Emoji('🌚').hasFace; // true
Emoji('πŸ”΄').hasFace; // false
↑ Table of contents ↑

Emoji.hasColor

Emoji('πŸ”΄').hasColor; // true
Emoji('🟩').hasColor; // true
Emoji('πŸ˜€').hasColor; // false
↑ Table of contents ↑

Emoji.hasHairStyle

Emoji('πŸ‘¨β€πŸ¦°').hasHairStyle; // true
Emoji('πŸ‘¨').hasHairStyle; // false
Emoji('πŸ”΄').hasHairStyle; // false
↑ Table of contents ↑

Emoji.hairStyle

Emoji('πŸ‘¨β€πŸ¦³').hairStyle; // HairStyle.white
Emoji('πŸ‘¨').hairStyle; // null
Emoji('πŸ”΄').hasHairStyle; // null
↑ Table of contents ↑

Emoji.hasSkinTone

Emoji('πŸ‘©πŸ»').hasSkinTone; // true
Emoji('πŸ‘©').hasSkinTone; // false
Emoji('πŸ”΄').hasSkinTone; // false
↑ Table of contents ↑

Emoji.skinTone

Emoji('πŸ‘©πŸ»').skinTone; // SkinTone.light
Emoji('πŸ‘©').skinTone; // null
Emoji('πŸ”΄').skinTone; // null
↑ Table of contents ↑

emojis extension

One emojis extension that you can use to interact with emojis within any text:

'textπŸ˜€textπŸ€¦πŸΎβ€β™€οΈtext'.emojis 
                         .contains // true
                         .only // false
                         .onlyOne // false
                         .count // 2
                         .split // [text, text, text]
                         .remove // texttexttext
                         .removeFirst // texttextπŸ€¦πŸΎβ€β™€οΈtext
                         .removeSecond // textπŸ˜€texttext
                         .removePenultimate // texttextπŸ€¦πŸΎβ€β™€οΈtext
                         .removeLast // textπŸ˜€texttext
                         .extract // [πŸ˜€, πŸ€¦πŸΎβ€β™€οΈ]
                                 .first // πŸ˜€
                                 .second // πŸ€¦πŸΎβ€β™€οΈ
                                 .thirdOrNull // null
                                 .penultimate // πŸ˜€
                                 .last // πŸ€¦πŸΎβ€β™€οΈ
                         .any((e) => e.value == 'πŸ˜€') // true
                         // or
                         .some((e) => e.value == 'πŸ˜€') // true
                         .anyOf(['πŸ˜€', 'πŸ‘πŸ»']) // true
                         // or
                         .someOf(['πŸ˜€', 'πŸ‘πŸ»']) // true
                         .every((e) => e.value == 'πŸ˜€') // false
                         .containsOf(['πŸ˜€', 'πŸ‘πŸ»']) // false
                         .containsOne((e) => e.value == 'πŸ˜€') // true
                         .none((e) => e.value == 'πŸ‘πŸ»') // true
                         .noneOf(['πŸ˜€', 'πŸ‘πŸ»']) // false
                         .countWhere((e) => e.value == 'πŸ€¦πŸΎβ€β™€οΈ') // 1
                         .removeAt(0) // texttextπŸ€¦πŸΎβ€β™€οΈtext
                         .removeFromEnd(0) // textπŸ˜€texttext
                         .removeEveryOf(['πŸ˜€', 'πŸ€¦πŸΎβ€β™€οΈ']) // texttexttext
                         .removeWhere((e) => e.value == 'πŸ€¦πŸΎβ€β™€οΈ') // textπŸ˜€texttext
                         .replace('-') // text-text-text
                         .replaceWith({'πŸ˜€':'ABC' , 'πŸ€¦πŸΎβ€β™€οΈ':'123'}) // textABCtext123text
                         .replaceWhere((e) => e.value == 'πŸ€¦πŸΎβ€β™€οΈ' ? '123' : null) // textπŸ˜€text123text
                         .splitWhere((e) => e.value == 'πŸ˜€'); // [text, textπŸ€¦πŸΎβ€β™€οΈtext]
                         .splitMapJoin(
                                       onMatch: (_) => '_emoji_',
                                       onNonMatch: (s) => s.toUpperCase(),
                                      ) // TEXT_emoji_TEXT_emoji_TEXT
                         .forEach((e) => print(e.value)) // πŸ˜€ πŸ€¦πŸΎβ€β™€οΈ
                         .map((e) => e.value) // [πŸ˜€, πŸ€¦πŸΎβ€β™€οΈ]
                         .where((e) => e.value == 'πŸ˜€') // Emoji(value: πŸ˜€, ...)
                         .take(1) // [Emoji(value: πŸ˜€, ...)]
                         .takeLast(1) // [Emoji(value: πŸ€¦πŸΎβ€β™€οΈ, ...)]
                         .skip(1) // [Emoji(value: πŸ€¦πŸΎβ€β™€οΈ, ...)]
                         .skipLast(1) // [Emoji(value: πŸ˜€, ...)]
                         .join((e) => e.value, separator: '.', prefix: 'prefix', suffix: 'suffix') // prefixπŸ˜€.πŸ€¦πŸΎβ€β™€οΈsuffix
                         .get // [Emoji(value: πŸ˜€, ...), Emoji(value: πŸ€¦πŸΎβ€β™€οΈ, ...)]
                             .values // [πŸ˜€, πŸ€¦πŸΎβ€β™€οΈ]
                             .unicodes // [1F600, 1F926 1F3FE 200D 2640 FE0F]
                                      .first // 1F600
                                      .second // 1F926 1F3FE 200D 2640 FE0F
                             .names // [Grinning Face, Woman Facepalming: Medium-Dark Skin Tone]
                             .appleNames // [Grinning Face]
                             .alsoKnownAs // [Happy Face, Smiley Face]
                             .groups // [Group.smileysAndEmotion, Group.peopleAndBody]
                                    .values // [Smileys & Emotion, People & Body]
                             .subgroups // [Subgroup.faceSmiling, Subgroup.personGesture]
                                       .values // [face-smiling, person-gesture]
                             .shortcodes // [:grinning_face:, :woman_facepalming_medium_dark_skin_tone:]
                             .cldrShortcodes // [:grinning_face:, :woman_facepalming_tone4:]
                             .discordShortcodes // [:grinning:, :woman_facepalming_tone4:]
                             .githubShortcodes // [:grinning:]
                             .slackShortcodes // [:grinning:, :woman-facepalming::skin-tone-5:]
                         .first // Emoji(value: πŸ˜€, ...)
                             .value // πŸ˜€
                             .unicode // 1F600
                             .name // Grinning Face
                             .appleName // Grinning Face
                             .alsoKnownAs // [Happy Face, Smiley Face]
                             .group // Group.smileysAndEmotion
                                   .value // Smileys & Emotion
                             .subgroup // Subgroup.faceSmiling
                                      .value // face-smiling
                             .shortcode // :grinning_face:
                             .cldrShortcode // :grinning_face:
                             .discordShortcode // :grinning:
                             .githubShortcode // :grinning:
                             .slackShortcode // :grinning:
↑ Table of contents ↑

emojis.contains

'πŸ˜€textπŸ€¦πŸΎβ€β™€οΈ'.emojis.contains; // true
'text'.emojis.contains; // false
↑ Table of contents ↑

emojis.count

'πŸ˜€textπŸ€¦πŸΎβ€β™€οΈ'.emojis.count; // 2
↑ Table of contents ↑

emojis.extract

'πŸ”ΊοΈte🟑xt🟩teπŸ”·xt'.emojis.extract // [πŸ”Ί, 🟑, 🟩, πŸ”·]
                                  .first // πŸ”Ί
                                  .second // 🟑
                                  .third // 🟩
                                  .fourth // πŸ”·
                                  .fifthOrNull // null
                                  .sixthOrNull // null
                                  .penultimate // 🟩
                                  .last // πŸ”·
↑ Table of contents ↑

emojis.first

'πŸ”΄teπŸ‘πŸ»xtπŸ‘πŸΌteπŸ‘πŸ½xtπŸ‘πŸΎteπŸ‘πŸΏxt'.emojis.first // Emoji(value: πŸ”΄, ...)
                                        .value // πŸ”΄
                                        .name // Red Circle
                                        ...
↑ Table of contents ↑

emojis.firstOrNull

'πŸ”΄teπŸ‘πŸ»xtπŸ‘πŸΌteπŸ‘πŸ½xtπŸ‘πŸΎteπŸ‘πŸΏxt'.emojis.firstOrNull // Emoji(value: πŸ”΄, ...)

'text'.emojis.firstOrNull; // null
↑ Table of contents ↑

emojis.second

'πŸ‘οΈteπŸ”΄xtπŸ‘πŸΌteπŸ‘πŸ½xtπŸ‘πŸΎteπŸ‘πŸΏxt'.emojis.second // Emoji(value: πŸ”΄, ...)
                                         .value // πŸ”΄
                                         .name // Red Circle
                                         ...
↑ Table of contents ↑

emojis.secondOrNull

'πŸ‘οΈteπŸ”΄xtπŸ‘πŸΌteπŸ‘πŸ½xtπŸ‘πŸΎteπŸ‘πŸΏxt'.emojis.secondOrNull // Emoji(value: πŸ”΄, ...)

'text'.emojis.secondOrNull; // null
↑ Table of contents ↑

emojis.third

'πŸ‘οΈteπŸ”΄xtπŸ‘πŸΌteπŸ‘πŸ½xtπŸ‘πŸΎteπŸ‘πŸΏxt'.emojis.third // Emoji(value: πŸ”΄, ...)
                                        .value // πŸ”΄
                                        .name // Red Circle
                                        ...
↑ Table of contents ↑

emojis.thirdOrNull

'πŸ‘οΈteπŸ‘πŸ»xtπŸ”΄teπŸ‘πŸ½xtπŸ‘πŸΎteπŸ‘πŸΏxt'.emojis.thirdOrNull // Emoji(value: πŸ”΄, ...)

'text'.emojis.thirdOrNull; // null
↑ Table of contents ↑

emojis.fourth

'πŸ‘οΈteπŸ‘πŸ»xtπŸ‘πŸΌteπŸ”΄xtπŸ‘πŸΎteπŸ‘πŸΏxt'.emojis.fourth // Emoji(value: πŸ”΄, ...)
                                         .value // πŸ”΄
                                         .name // Red Circle
                                         ...
↑ Table of contents ↑

emojis.fourthOrNull

'πŸ‘οΈteπŸ‘πŸ»xtπŸ‘πŸΌteπŸ”΄xtπŸ‘πŸΎteπŸ‘πŸΏxt'.emojis.fourthOrNull // Emoji(value: πŸ”΄, ...)

'text'.emojis.fourthOrNull; // null
↑ Table of contents ↑

emojis.fifth

'πŸ‘οΈteπŸ‘πŸ»xtπŸ‘πŸΌteπŸ‘πŸ½xtπŸ”΄teπŸ‘πŸΏxt'.emojis.fifth // Emoji(value: πŸ”΄, ...)
                                        .value // πŸ”΄
                                        .name // Red Circle
                                        ...
↑ Table of contents ↑

emojis.fifthOrNull

'πŸ‘οΈteπŸ‘πŸ»xtπŸ‘πŸΌteπŸ‘πŸ½xtπŸ”΄teπŸ‘πŸΏxt'.emojis.fifthOrNull // Emoji(value: πŸ”΄, ...)

'text'.emojis.fifthOrNull; // null
↑ Table of contents ↑

emojis.sixth

'πŸ‘οΈteπŸ‘πŸ»xtπŸ‘πŸΌteπŸ‘πŸ½xtπŸ‘πŸΎteπŸ”΄xt'.emojis.sixth // Emoji(value: πŸ”΄, ...)
                                        .value // πŸ”΄
                                        .name // Red Circle
                                        ...
↑ Table of contents ↑

emojis.sixthOrNull

'πŸ‘οΈteπŸ‘πŸ»xtπŸ‘πŸΌteπŸ‘πŸ½xtπŸ‘πŸΎteπŸ”΄xt'.emojis.sixthOrNull // Emoji(value: πŸ”΄, ...)

'text'.emojis.sixthOrNull; // null
↑ Table of contents ↑

emojis.penultimate

'πŸ‘οΈteπŸ‘πŸ»xtπŸ‘πŸΌteπŸ‘πŸ½xtπŸ”΄teπŸ‘πŸΏxt'.emojis.penultimate // Emoji(value: πŸ”΄, ...)
                                              .value // πŸ”΄
                                              .name // Red Circle
                                              ...
↑ Table of contents ↑

emojis.penultimateOrNull

'πŸ‘οΈteπŸ‘πŸ»xtπŸ‘πŸΌteπŸ‘πŸ½xtπŸ”΄teπŸ‘πŸΏxt'.emojis.penultimateOrNull // Emoji(value: πŸ”΄, ...)

'text'.emojis.penultimateOrNull; // null
↑ Table of contents ↑

emojis.last

'πŸ‘οΈteπŸ‘πŸ»xtπŸ‘πŸΌteπŸ‘πŸ½xtπŸ‘πŸΎteπŸ”΄xt'.emojis.last // Emoji(value: πŸ”΄, ...)
                                       .value // πŸ”΄
                                       .name // Red Circle
                                       ...
↑ Table of contents ↑

emojis.lastOrNull

'πŸ‘οΈteπŸ‘πŸ»xtπŸ‘πŸΌteπŸ‘πŸ½xtπŸ‘πŸΎteπŸ”΄xt'.emojis.lastOrNull // Emoji(value: πŸ”΄, ...)

'text'.emojis.lastOrNull; // null
↑ Table of contents ↑

emojis.get

'πŸ˜€text'.emojis.get; /* [Emoji(
                          value: πŸ˜€,
                          unicode: 1F600,
                          name: Grinning Face,
                          appleName: Grinning Face,
                          alsoKnownAs: [Happy Face, Smiley Face],
                          group: Smileys & Emotion,
                          subgroup: face-smiling,
                          version: 8.0,
                          status: fully-qualified,
                          shortcodes: [
                                Shortcode(
                                platform: Default,
                                values: [grinning_face]
                              ),
                                Shortcode(
                                platform: CLDR,
                                values: [grinning_face]
                              ),
                                Shortcode(
                                platform: Discord,
                                values: [grinning]
                              ),
                                Shortcode(
                                platform: Github,
                                values: [grinning]
                              ),
                                Shortcode(
                                platform: Slack,
                                values: [grinning]
                              )]
                        )] */
↑ Table of contents ↑

emojis.get.alsoKnownAs

'πŸ˜€text'.emojis.get.alsoKnownAs // [Happy Face, Smiley Face]
                               .first // Happy Face
                               .penultimate // Happy Face
                               .second // Smiley Face
                               .last // Smiley Face
↑ Table of contents ↑

emojis.get.appleNames

'πŸ˜€textπŸ€¦πŸΎβ€β™€οΈ'.emojis.get.appleNames // [Grinning Face]
                                .first // Grinning Face
                                .penultimate // Grinning Face
                                .secondOrNull // null
                                .lastOrNull // null
↑ Table of contents ↑

emojis.get.names

'πŸ˜€textπŸ€¦πŸΎβ€β™€οΈ'.emojis.get.names // [Grinning Face, Woman Facepalming: Medium-Dark Skin Tone]
                           .first // Grinning Face
                           .penultimate // Grinning Face
                           .second // Woman Facepalming: Medium-Dark Skin Tone
                           .last // Woman Facepalming: Medium-Dark Skin Tone
↑ Table of contents ↑

emojis.get.groups

'πŸ˜€textπŸ€¦πŸΎβ€β™€οΈ'.emojis.get.groups // [Group.smileysAndEmotion, Group.peopleAndBody]
                            .first // Group.smileysAndEmotion
                            .penultimate // Group.smileysAndEmotion
                            .second // Group.peopleAndBody
                            .last // Group.peopleAndBody
                            .values // [Smileys & Emotion, People & Body]
                                   .first // Smileys & Emotion
                                   .penultimate // Smileys & Emotion
                                   .second // People & Body
                                   .last // People & Body 
↑ Table of contents ↑

emojis.get.subgroups

'πŸ˜€textπŸ€¦πŸΎβ€β™€οΈ'.emojis.get.subgroups // [Subgroup.faceSmiling, Subgroup.personGesture]
                               .first // Subgroup.faceSmiling
                               .penultimate // Subgroup.faceSmiling
                               .second // Subgroup.personGesture
                               .last // Subgroup.personGesture
                               .values // [face-smiling, person-gesture]
                                      .first // face-smiling
                                      .penultimate // face-smiling
                                      .second // person-gesture
                                      .last // person-gesture
↑ Table of contents ↑

emojis.get.shortcodes

// Default (emoji name in snake_case)
'πŸ˜€textπŸ€¦πŸΎβ€β™€οΈ'.emojis.get.shortcodes; // [:grinning_face:, :woman_facepalming_medium_dark_skin_tone:]
↑ Table of contents ↑

emojis.get.cldrShortcodes

// CLDR
'πŸ˜€textπŸ€¦πŸΎβ€β™€οΈ'.emojis.get.cldrShortcodes; // [:grinning_face:, :woman_facepalming_tone4:]
↑ Table of contents ↑

emojis.get.discordShortcodes

// Discord
'πŸ˜€textπŸ€¦πŸΎβ€β™€οΈ'.emojis.get.discordShortcodes; // [:grinning:, :woman_facepalming_tone4:]
↑ Table of contents ↑

emojis.get.githubShortcodes

// Github (no skin-tone shortcodes)
'πŸ˜€textπŸ€¦πŸΎβ€β™€οΈ'.emojis.get.githubShortcodes; // [:grinning:]
↑ Table of contents ↑

emojis.get.slackShortcodes

// Slack
'πŸ˜€textπŸ€¦πŸΎβ€β™€οΈ'.emojis.get.slackShortcodes; // [:grinning:, :woman-facepalming::skin-tone-5:]
↑ Table of contents ↑

emojis.get.unicodes

'πŸ˜€textπŸ€¦πŸΎβ€β™€οΈ'.emojis.get.unicodes // [1F600, 1F926 1F3FE 200D 2640 FE0F]
                              .first // 1F600
                              .penultimate // 1F600
                              .second // 1F926 1F3FE 200D 2640 FE0F
                              .last // 1F926 1F3FE 200D 2640 FE0F
↑ Table of contents ↑

emojis.only

'πŸ˜€'.emojis.only; // true
'πŸ˜€ πŸ˜€ πŸ˜€'.emojis.only; // true
'text πŸ˜€ πŸ˜€ πŸ˜€ text'.emojis.only; // false
'text'.emojis.only; // false
↑ Table of contents ↑

emojis.onlyOne

'πŸ˜€'.emojis.onlyOne; // true
'πŸ˜€ πŸ˜€ πŸ˜€'.emojis.onlyOne; // false
'text πŸ˜€ πŸ˜€ πŸ˜€ text'.emojis.onlyOne; // false
'text'.emojis.onlyOne; // false
↑ Table of contents ↑

emojis.remove

'πŸ˜€text πŸ€¦πŸΎβ€β™€οΈ'.emojis.remove; // text
↑ Table of contents ↑

emojis.removeFirst

'πŸ”΄teπŸ‘πŸ»xtπŸ‘πŸΌteπŸ‘πŸ½xtπŸ‘πŸΎteπŸ‘πŸΏxt'.emojis.removeFirst; // teπŸ‘πŸ»xtπŸ‘πŸΌteπŸ‘πŸ½xtπŸ‘πŸΎteπŸ‘πŸΏxt
↑ Table of contents ↑

emojis.removeSecond

'πŸ‘οΈteπŸ”΄xtπŸ‘πŸΌteπŸ‘πŸ½xtπŸ‘πŸΎteπŸ‘πŸΏxt'.emojis.removeSecond; // πŸ‘οΈtextπŸ‘πŸΌteπŸ‘πŸ½xtπŸ‘πŸΎteπŸ‘πŸΏxt
↑ Table of contents ↑

emojis.removeThird

'πŸ‘οΈteπŸ‘πŸ»xtπŸ”΄teπŸ‘πŸ½xtπŸ‘πŸΎteπŸ‘πŸΏxt'.emojis.removeThird; // πŸ‘οΈteπŸ‘πŸ»xtteπŸ‘πŸ½xtπŸ‘πŸΎteπŸ‘πŸΏxt
↑ Table of contents ↑

emojis.removeFourth

'πŸ‘οΈteπŸ‘πŸ»xtπŸ‘πŸΌteπŸ”΄xtπŸ‘πŸΎteπŸ‘πŸΏxt'.emojis.removeFourth; // πŸ‘οΈteπŸ‘πŸ»xtπŸ‘πŸΌtextπŸ‘πŸΎteπŸ‘πŸΏxt
↑ Table of contents ↑

emojis.removeFifth

'πŸ‘οΈteπŸ‘πŸ»xtπŸ‘πŸΌteπŸ‘πŸ½xtπŸ”΄teπŸ‘πŸΏxt'.emojis.removeFifth; // πŸ‘οΈteπŸ‘πŸ»xtπŸ‘πŸΌteπŸ‘πŸ½xtteπŸ‘πŸΏxt
↑ Table of contents ↑

emojis.removeSixth

'πŸ‘οΈteπŸ‘πŸ»xtπŸ‘πŸΌteπŸ‘πŸ½xtπŸ‘πŸΎteπŸ”΄xt'.emojis.removeSixth; // πŸ‘οΈteπŸ‘πŸ»xtπŸ‘πŸΌteπŸ‘πŸ½xtπŸ‘πŸΎtext
↑ Table of contents ↑

emojis.removePenultimate

'πŸ‘οΈteπŸ‘πŸ»xtπŸ‘πŸΌteπŸ‘πŸ½xtπŸ”΄teπŸ‘πŸΏxt'.emojis.removePenultimate; // πŸ‘οΈteπŸ‘πŸ»xtπŸ‘πŸΌteπŸ‘πŸ½xtteπŸ‘πŸΏxt
↑ Table of contents ↑

emojis.removeLast

'πŸ‘οΈteπŸ‘πŸ»xtπŸ‘πŸΌteπŸ‘πŸ½xtπŸ‘πŸΎteπŸ”΄xt'.emojis.removeLast; // πŸ‘οΈteπŸ‘πŸ»xtπŸ‘πŸΌteπŸ‘πŸ½xtπŸ‘πŸΎtext
↑ Table of contents ↑

emojis.split

'textπŸ˜€text'.emojis.split; // [text, text]
↑ Table of contents ↑

emojis.any()

'πŸ˜€textπŸ€¦πŸΎβ€β™€οΈ'.emojis.any((e) => e.value == 'πŸ˜€'); // true
'πŸ˜€textπŸ€¦πŸΎβ€β™€οΈ'.emojis.any((e) => e.value == 'πŸ‘πŸ»'); // false

Same as: emojis.some()

↑ Table of contents ↑

emojis.anyOf()

'πŸ˜€textπŸ€¦πŸΎβ€β™€οΈ'.emojis.anyOf(['πŸ˜€']); // true
'πŸ˜€textπŸ€¦πŸΎβ€β™€οΈ'.emojis.anyOf(['πŸ˜€', 'πŸ‘πŸ»']); // true
'πŸ˜€textπŸ€¦πŸΎβ€β™€οΈ'.emojis.anyOf(['πŸ‘πŸ»']); // false

Same as: emojis.someOf()

↑ Table of contents ↑

emojis.containsOf()

'πŸ˜€textπŸ€¦πŸΎβ€β™€οΈ'.emojis.containsOf(['πŸ˜€']); // true
'πŸ˜€textπŸ€¦πŸΎβ€β™€οΈ'.emojis.containsOf(['πŸ˜€', 'πŸ€¦πŸΎβ€β™€οΈ']); // true
'πŸ˜€textπŸ€¦πŸΎβ€β™€οΈ'.emojis.containsOf(['πŸ˜€', 'πŸ‘πŸ»']); // false
'πŸ˜€textπŸ€¦πŸΎβ€β™€οΈ'.emojis.containsOf(['πŸ‘πŸ»']); // false
↑ Table of contents ↑

emojis.containsExactlyOf()

'πŸ˜€textπŸ€¦πŸΎβ€β™€οΈ'.emojis.containsExactlyOf(['πŸ˜€']); // false
'πŸ˜€textπŸ€¦πŸΎβ€β™€οΈ'.emojis.containsExactlyOf(['πŸ˜€', 'πŸ€¦πŸΎβ€β™€οΈ']); // true
'πŸ˜€textπŸ€¦πŸΎβ€β™€οΈtextπŸ˜€'.emojis.containsExactlyOf(['πŸ˜€', 'πŸ€¦πŸΎβ€β™€οΈ']); // true
'πŸ˜€textπŸ€¦πŸΎβ€β™€οΈ'.emojis.containsExactlyOf(['πŸ‘πŸ»']); // false
↑ Table of contents ↑

emojis.containsOne()

'πŸ˜€textπŸ€¦πŸΎβ€β™€οΈtextπŸ˜€'.emojis.containsOne((e) => e.value == 'πŸ€¦πŸΎβ€β™€οΈ'); // true
'πŸ˜€textπŸ€¦πŸΎβ€β™€οΈtextπŸ˜€'.emojis.containsOne((e) => e.value == 'πŸ‘πŸ»'); // false
'πŸ˜€textπŸ€¦πŸΎβ€β™€οΈtextπŸ˜€'.emojis.containsOne((e) => e.value == 'πŸ˜€'); // false
↑ Table of contents ↑

emojis.containsOneOf()

'πŸ˜€textπŸ€¦πŸΎβ€β™€οΈ'.emojis.containsOneOf({'πŸ€¦πŸΎβ€β™€οΈ'}); // true
'πŸ˜€textπŸ€¦πŸΎβ€β™€οΈ'.emojis.containsOneOf({'πŸ˜€', 'πŸ€¦πŸΎβ€β™€οΈ'}); // true
'πŸ˜€textπŸ€¦πŸΎβ€β™€οΈ'.emojis.containsOneOf('πŸ˜€', 'πŸ€¦πŸΎβ€β™€οΈ', 'πŸ‘πŸ»'}); // false
'πŸ˜€textπŸ€¦πŸΎβ€β™€οΈtextπŸ˜€'.emojis.containsOneOf({'πŸ˜€'}); // false
↑ Table of contents ↑

emojis.containsExactlyOne()

'πŸ˜€text'.emojis.containsExactlyOne((e) => e.value == 'πŸ˜€'); // true
'πŸ˜€textπŸ€¦πŸΎβ€β™€οΈ'.emojis.containsExactlyOne((e) => e.value == 'πŸ˜€'); // false
'text'.emojis.containsExactlyOne((e) => e.value == 'πŸ˜€'); // false
↑ Table of contents ↑

emojis.containsExactlyOneOf()

'πŸ˜€textπŸ€¦πŸΎβ€β™€οΈ'.emojis.containsExactlyOneOf({'πŸ˜€', 'πŸ€¦πŸΎβ€β™€οΈ'}); // true
'πŸ˜€textπŸ€¦πŸΎβ€β™€οΈtextπŸ˜€'.emojis.containsExactlyOneOf({'πŸ˜€', 'πŸ€¦πŸΎβ€β™€οΈ'}); // false
'πŸ˜€textπŸ€¦πŸΎβ€β™€οΈ'.emojis.containsExactlyOneOf({'πŸ˜€'}); // false
'πŸ˜€textπŸ€¦πŸΎβ€β™€οΈ'.emojis.containsExactlyOneOf({'πŸ˜€', 'πŸ‘πŸ»'}); // false
↑ Table of contents ↑

emojis.countWhere()

'πŸ˜€textπŸ€¦πŸΎβ€β™€οΈtextπŸ˜€'.emojis.countWhere((e) => e.value == 'πŸ˜€'); // 2
↑ Table of contents ↑

emojis.countWhereIndexed()

'πŸ˜€textπŸ€¦πŸΎβ€β™€οΈtextπŸ˜€'.emojis.countWhereIndexed((i, e) => i == 0 && e.value == 'πŸ˜€'); // 1
↑ Table of contents ↑

emojis.every()

'πŸ˜€textπŸ˜€'.emojis.every((e) => e.value == 'πŸ˜€'); // true
'πŸ˜€textπŸ€¦πŸΎβ€β™€οΈ'.emojis.every((e) => e.value == 'πŸ˜€'); // false
'πŸ˜€textπŸ€¦πŸΎβ€β™€οΈ'.emojis.every((e) => e.value == 'πŸ‘πŸ»'); // false
↑ Table of contents ↑

emojis.firstWhere()

'πŸ€¦πŸΎβ€β™€οΈtextπŸ˜€textπŸ€¦πŸ»β€β™€οΈ'.emojis.firstWhere((e) => e.name.contains('Woman')); // Emoji(value: πŸ€¦πŸΎβ€β™€οΈ, ...)
↑ Table of contents ↑

emojis.firstWhereIndexed()

'πŸ€¦πŸΎβ€β™€οΈtextπŸ˜€textπŸ€¦πŸ»β€β™€οΈ'.emojis.firstWhereIndexed((i, e) => i > 0 && e.name.contains('Woman')); // Emoji(value: πŸ€¦πŸ»β€β™€οΈ, ...)
↑ Table of contents ↑

emojis.firstWhereOrNull()

'πŸ€¦πŸΎβ€β™€οΈtextπŸ˜€textπŸ€¦πŸ»β€β™€οΈ'.emojis.firstWhereOrNull((e) => e.name.contains('Woman')); // Emoji(value: πŸ€¦πŸΎβ€β™€οΈ, ...)

'πŸ€¦πŸΎβ€β™€οΈtextπŸ˜€textπŸ€¦πŸ»β€β™€οΈ'.emojis.firstWhereOrNull((e) => e.value == 'πŸ‘πŸ»'); // null

emojis.firstWhereIndexedOrNull()

'πŸ€¦πŸΎβ€β™€οΈtextπŸ˜€textπŸ€¦πŸ»β€β™€οΈ'.emojis.firstWhereIndexedOrNull((i, e) => i == 0 && e.name.contains('Woman')); // Emoji(value: πŸ€¦πŸΎβ€β™€οΈ, ...)

'πŸ€¦πŸΎβ€β™€οΈtextπŸ˜€textπŸ€¦πŸ»β€β™€οΈ'.emojis.firstWhereIndexedOrNull((i, e) => i == 0 && e.value == 'πŸ˜€'); // null
↑ Table of contents ↑

emojis.fold()

'πŸ˜€textπŸ€¦πŸΎβ€β™€οΈ'.emojis.fold('start', (p, c) => p + c.value); // startπŸ˜€πŸ€¦πŸΎβ€β™€οΈ
↑ Table of contents ↑

emojis.foldIndexed()

'πŸ˜€textπŸ€¦πŸΎβ€β™€οΈ'.emojis.foldIndexed('start', (i, p ,c) => '$p${c.value}$i'); // startπŸ˜€0πŸ€¦πŸΎβ€β™€οΈ1
↑ Table of contents ↑

emojis.forEach()

'πŸ˜€textπŸ€¦πŸΎβ€β™€οΈ'.emojis.forEach((e) => print(e.value)); // πŸ˜€ πŸ€¦πŸΎβ€β™€οΈ
↑ Table of contents ↑

emojis.forEachIndexed()

'πŸ˜€textπŸ€¦πŸΎβ€β™€οΈ'.emojis.forEachIndexed(i,e) => print('$i:${e.value}')); // 0:πŸ˜€ 1:πŸ€¦πŸΎβ€β™€οΈ
↑ Table of contents ↑

emojis.forEachWhile()

'πŸ˜€textπŸ€¦πŸΎβ€β™€οΈtextπŸ˜€'.emojis.forEachWhile((e) {
                                          print(e.value);
                                          return e.value == 'πŸ˜€';
                                          }); // πŸ˜€ πŸ€¦πŸΎβ€β™€οΈ
↑ Table of contents ↑

emojis.forEachIndexedWhile()

'πŸ˜€textπŸ€¦πŸΎβ€β™€οΈtextπŸ˜€'.emojis.forEachIndexedWhile((i, e) {
                                                    print('$i:${e.value}');
                                                    return e.value == 'πŸ˜€';
                                                    }); // 0:πŸ˜€ 1:πŸ€¦πŸΎβ€β™€οΈ
↑ Table of contents ↑

emojis.join()

'πŸ˜€textπŸ€¦πŸΎβ€β™€οΈ'.emojis.join((e) => e.value, 
                              separator: '.', 
                              prefix: 'prefix', 
                              suffix: 'suffix'); // 'prefixπŸ˜€.πŸ€¦πŸΎβ€β™€οΈsuffix'
↑ Table of contents ↑

emojis.map()

'πŸ˜€textπŸ€¦πŸΎβ€β™€οΈ'.emojis.map((e) => 'Emoji: ${e.name}'); // [Emoji: Grinning Face, Emoji: Woman Facepalming: Medium-Dark Skin Tone]
↑ Table of contents ↑

emojis.mapIndexed()

'πŸ˜€textπŸ€¦πŸΎβ€β™€οΈ'.emojis.mapIndexed((i, e) => '$i: ${e.name}'); // [0: Grinning Face, 1: Woman Facepalming: Medium-Dark Skin Tone]
↑ Table of contents ↑

emojis.none()

'πŸ˜€textπŸ€¦πŸΎβ€β™€οΈ'.emojis.none((e) => e.value == 'πŸ‘πŸ»'); // true
'πŸ˜€textπŸ€¦πŸΎβ€β™€οΈ'.emojis.none((e) => e.value == 'πŸ˜€'); // false
↑ Table of contents ↑

emojis.noneOf()

'πŸ˜€textπŸ€¦πŸΎβ€β™€οΈ'.emojis.noneOf(['πŸ‘πŸ»']); // true
'πŸ˜€textπŸ€¦πŸΎβ€β™€οΈ'.emojis.noneOf(['πŸ‘πŸ»', 'πŸ€¦πŸΎβ€β™€οΈ']); // false
'πŸ˜€textπŸ€¦πŸΎβ€β™€οΈ'.emojis.noneOf(['πŸ˜€', 'πŸ€¦πŸΎβ€β™€οΈ']); // false
↑ Table of contents ↑

emojis.removeAt()

'πŸ˜€textπŸ€¦πŸΎβ€β™€οΈ'.emojis.removeAt(0); // textπŸ€¦πŸΎβ€β™€οΈ
'πŸ˜€textπŸ€¦πŸΎβ€β™€οΈ'.emojis.removeAt(10); // πŸ˜€textπŸ€¦πŸΎβ€β™€οΈ
↑ Table of contents ↑

emojis.removeFromEnd()

'πŸ˜€textπŸ€¦πŸΎβ€β™€οΈ'.emojis.removeFromEnd(0); // πŸ˜€text
'πŸ˜€textπŸ€¦πŸΎβ€β™€οΈ'.emojis.removeFromEnd(10); // πŸ˜€textπŸ€¦πŸΎβ€β™€οΈ
↑ Table of contents ↑

emojis.removeEveryOf()

'πŸ˜€textπŸ€¦πŸΎβ€β™€οΈtextπŸ‘πŸ»textπŸ˜€'.emojis.removeEveryOf(['πŸ˜€', 'πŸ‘πŸ»']); // textπŸ€¦πŸΎβ€β™€οΈtexttext
↑ Table of contents ↑

emojis.removeWhere()

'πŸ˜€textπŸ€¦πŸΎβ€β™€οΈtextπŸ˜€'.emojis.removeWhere((e) => e.value == 'πŸ˜€'); // textπŸ€¦πŸΎβ€β™€οΈtext
↑ Table of contents ↑

emojis.removeWhereIndexed()

'πŸ˜€textπŸ€¦πŸΎβ€β™€οΈtextπŸ˜€'.emojis.removeWhereIndexed((i, e) => i == 0 && e.value == 'πŸ˜€'); // textπŸ€¦πŸΎβ€β™€οΈtextπŸ˜€
↑ Table of contents ↑

emojis.replace()

'πŸ˜€textπŸ€¦πŸΎβ€β™€οΈ'.emojis.replace('_'); // _️text_
↑ Table of contents ↑

emojis.replaceWith()

'πŸ˜€textπŸ€¦πŸΎβ€β™€οΈ'.emojis.replaceWith({'πŸ˜€':'ABC', 'πŸ€¦πŸΎβ€β™€οΈ':'123'}); // ABCtext123
↑ Table of contents ↑

emojis.replaceWhere()

'πŸ˜€textπŸ€¦πŸΎβ€β™€οΈ'.emojis.replaceWhere((e) => e.value == 'πŸ€¦πŸΎβ€β™€οΈ' ? '123' : null); // πŸ˜€text123

'πŸ˜€textπŸ€¦πŸΎβ€β™€οΈ'.emojis.replaceWhere((e) => {'πŸ˜€':'ABC', 'πŸ€¦πŸΎβ€β™€οΈ':'123'}[e.value]); // ABCtext123
↑ Table of contents ↑

emojis.replaceWhereIndexed()

'πŸ˜€textπŸ€¦πŸΎβ€β™€οΈtextπŸ˜€'.emojis.replaceWhereIndexed((i, e) => i == 1 ? '_123_' : null); // πŸ˜€text_123_textπŸ˜€
↑ Table of contents ↑

emojis.skip()

'πŸ˜€textπŸ€¦πŸΎβ€β™€οΈtextπŸ‘πŸ»'.emojis.skip(1); // [Emoji(value: πŸ€¦πŸΎβ€β™€οΈ, ...), Emoji(value: πŸ‘πŸ», ...)]
↑ Table of contents ↑

emojis.skipLast()

'πŸ˜€textπŸ€¦πŸΎβ€β™€οΈtextπŸ‘πŸ»'.emojis.skipLast(1); // [Emoji(value: πŸ˜€, ...), Emoji(value: πŸ€¦πŸΎβ€β™€οΈ, ...)]
↑ Table of contents ↑

emojis.skipWhile()

'πŸ˜€textπŸ€¦πŸΎβ€β™€οΈtextπŸ‘πŸ»'.emojis.skipWhile((e) => e.value == 'πŸ˜€'); // [Emoji(value: πŸ€¦πŸΎβ€β™€οΈ, ...), Emoji(value: πŸ‘πŸ», ...)]
↑ Table of contents ↑

emojis.some()

'πŸ˜€textπŸ€¦πŸΎβ€β™€οΈ'.emojis.some((e) => e.value == 'πŸ˜€'); // true
'πŸ˜€textπŸ€¦πŸΎβ€β™€οΈ'.emojis.some((e) => e.value == 'πŸ‘πŸ»'); // false

Same as: emojis.any()

↑ Table of contents ↑

emojis.someOf()

'πŸ˜€textπŸ€¦πŸΎβ€β™€οΈ'.emojis.someOf(['πŸ˜€']); // true
'πŸ˜€textπŸ€¦πŸΎβ€β™€οΈ'.emojis.someOf(['πŸ˜€', 'πŸ‘πŸ»']); // true
'πŸ˜€textπŸ€¦πŸΎβ€β™€οΈ'.emojis.someOf(['πŸ‘πŸ»']); // false

Same as: emojis.anyOf()

↑ Table of contents ↑

emojis.splitMapJoin()

'πŸ˜€textπŸ€¦πŸΎβ€β™€οΈ'.emojis.splitMapJoin(
onMatch: (_) => '_emoji_',
onNonMatch: (s) => s.toUpperCase(),
); // _emoji_TEXT_emoji_                                
↑ Table of contents ↑

emojis.splitWhere()

'πŸ˜€textπŸ€¦πŸΎβ€β™€οΈtextπŸ˜€'.emojis.splitWhere((e) => e.value == 'πŸ€¦πŸΎβ€β™€οΈ'); // [πŸ˜€text, textπŸ˜€]
↑ Table of contents ↑

emojis.splitWhereIndexed()

'πŸ˜€textπŸ€¦πŸΎβ€β™€οΈtextπŸ˜€'.emojis.splitWhereIndexed((i, e) => i == 1 && e.value == 'πŸ€¦πŸΎβ€β™€οΈ'); // [πŸ˜€text, textπŸ˜€]
↑ Table of contents ↑

emojis.toShortcodes()

// Default (emoji name in snake_case)
'πŸ˜€textπŸ€¦πŸΎβ€β™€οΈ'.emojis.toShortcodes(); // :grinning_face:text:woman_facepalming_medium_dark_skin_tone:

// CLDR
'πŸ˜€textπŸ€¦πŸΎβ€β™€οΈ'.emojis.toCLDRShortcodes(); // :grinning_face:text:woman_facepalming_tone4:

// Discord
'πŸ˜€textπŸ€¦πŸΎβ€β™€οΈ'.emojis.toDiscordShortcodes(); // :grinning:text:woman_facepalming_tone4:

// Github (no skin-tone shortcodes)
'πŸ˜€textπŸ€¦πŸΎβ€β™€οΈ'.emojis.toGithubShortcodes(); // :grinning:textπŸ€¦πŸΎβ€β™€οΈ

// Slack
'πŸ˜€textπŸ€¦πŸΎβ€β™€οΈ'.emojis.toSlackShortcodes(); // :grinning:text:woman-facepalming::skin-tone-5:
↑ Table of contents ↑

emojis.fromShortcodes()

// Default 
':grinning_face:text:woman_facepalming_medium_dark_skin_tone:'.emojis.fromShortcodes(); // πŸ˜€textπŸ€¦πŸΎβ€β™€οΈ

// CLDR
':grinning_face:text:woman_facepalming_tone4:'.emojis.fromShortcodes(); // πŸ˜€textπŸ€¦πŸΎβ€β™€οΈ

// Discord
':grinning:text:woman_facepalming_tone4:'.emojis.fromShortcodes(); // πŸ˜€textπŸ€¦πŸΎβ€β™€οΈ

// Github (no skin-tone shortcodes)
':grinning:text:woman_facepalming:'.emojis.fromShortcodes(); // πŸ˜€textπŸ€¦β€β™€

// Slack
':grinning:text:woman-facepalming::skin-tone-5:'.emojis.fromShortcodes(); // πŸ˜€textπŸ€¦πŸΎβ€β™€οΈ
↑ Table of contents ↑

emojis.lastWhere()

'πŸ€¦πŸΎβ€β™€οΈtextπŸ˜€textπŸ€¦πŸ»β€β™€οΈ'.emojis.lastWhere((e) => e.name.contains('Woman')); // Emoji(value: πŸ€¦πŸ»β€β™€οΈ, ...)
↑ Table of contents ↑

emojis.lastWhereIndexed()

'πŸ€¦πŸΎβ€β™€οΈtextπŸ˜€textπŸ€¦πŸ»β€β™€οΈ'.emojis.lastWhereIndexed((i, e) => i == 0 && e.name.contains('Woman')); // Emoji(value: πŸ€¦πŸΎβ€β™€οΈ, ...)
↑ Table of contents ↑

emojis.lastWhereOrNull()

'πŸ€¦πŸΎβ€β™€οΈtextπŸ˜€textπŸ€¦πŸ»β€β™€οΈ'.emojis.lastWhereOrNull((e) => e.name.contains('Woman')); // Emoji(value: πŸ€¦πŸ»β€β™€οΈ, ...)

'πŸ€¦πŸΎβ€β™€οΈtextπŸ˜€textπŸ€¦πŸ»β€β™€οΈ'.emojis.lastWhereOrNull((e) => e.value == 'πŸ‘πŸ»'); // null
↑ Table of contents ↑

emojis.lastWhereIndexedOrNull()

'πŸ€¦πŸΎβ€β™€οΈtextπŸ˜€textπŸ€¦πŸ»β€β™€οΈ'.emojis.lastWhereIndexedOrNull((i, e) => i == 0 && e.name.contains('Woman')); // Emoji(value: πŸ€¦πŸΎβ€β™€οΈ, ...)

'πŸ€¦πŸΎβ€β™€οΈtextπŸ˜€textπŸ€¦πŸ»β€β™€οΈ'.emojis.lastWhereIndexedOrNull((i, e) => i == 0 && e.value == 'πŸ˜€'); // null
↑ Table of contents ↑

emojis.take()

'πŸ˜€textπŸ€¦πŸΎβ€β™€οΈtextπŸ‘πŸ»'.emojis.take(2); // [Emoji(value: πŸ˜€, ...), Emoji(value: πŸ€¦πŸΎβ€β™€οΈ, ...)]
↑ Table of contents ↑

emojis.takeLast()

'πŸ˜€textπŸ€¦πŸΎβ€β™€οΈtextπŸ‘πŸ»'.emojis.takeLast(2); // [Emoji(value: πŸ€¦πŸΎβ€β™€οΈ, ...), Emoji(value: πŸ‘πŸ», ...)]
↑ Table of contents ↑

emojis.takeWhile()

'πŸ˜€textπŸ€¦πŸΎβ€β™€οΈtextπŸ‘πŸ»'.emojis.takeWhile((e) => e.value == 'πŸ˜€'); // [Emoji(value: πŸ˜€, ...)]
↑ Table of contents ↑

emojis.where()

'πŸ€¦πŸΎβ€β™€οΈtextπŸ˜€textπŸ€¦πŸ»β€β™€οΈ'.emojis.where((e) => e.name.contains('Woman')); // [Emoji(value: πŸ€¦πŸΎβ€β™€οΈ, ...), Emoji(value: πŸ€¦πŸ»β€β™€οΈ, ...)]
↑ Table of contents ↑

emojis.whereIndexed()

'πŸ€¦πŸΎβ€β™€οΈtextπŸ˜€textπŸ€¦πŸ»β€β™€οΈ'.emojis.whereIndexed((i, e) => i == 0 && e.name.contains('Woman')); // [Emoji(value: πŸ€¦πŸΎβ€β™€οΈ, ...)]
↑ Table of contents ↑

emojis.whereNot()

'πŸ€¦πŸΎβ€β™€οΈtextπŸ˜€textπŸ€¦πŸ»β€β™€οΈ'.emojis.whereNot((e) => e.name.contains('Woman')); // [Emoji(value: πŸ˜€, ...)]
↑ Table of contents ↑

emojis.whereNotIndexed()

'πŸ€¦πŸΎβ€β™€οΈtextπŸ˜€textπŸ€¦πŸ»β€β™€οΈ'.emojis.whereNotIndexed((i, e) => i == 0 && e.name.contains('Woman')); // [Emoji(value: πŸ˜€, ...), Emoji(value: πŸ€¦πŸ»β€β™€οΈ, ...)]
↑ Table of contents ↑

Example Flutter Apps

Emoji Overview App Example

Emoji overview app demo GIF
Emoji Chat App Example

Emoji chat app demo GIF
↑ Table of contents ↑

Libraries

emoji_extension