Skip to content

Nikoro/emoji_extension

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

19 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

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

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


Features

  • Contains over 5,000 emojis from Unicode 17.0 ๐Ÿ’ช
  • 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

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, ...]

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: [...]
                )
               ...
               ] */

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

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

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

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:

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:

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:

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:

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:

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

Emojis.all.values

Emojis.all.values // [๐Ÿ˜€, ๐Ÿ˜ƒ, ๐Ÿ˜„, ๐Ÿ˜, ๐Ÿ˜†, ๐Ÿ˜…, ๐Ÿคฃ, ๐Ÿ˜‚, ๐Ÿ™‚, ๐Ÿ™ƒ, ๐Ÿซ , ๐Ÿ˜‰, ๐Ÿ˜Š, ๐Ÿ˜‡, ๐Ÿฅฐ, ๐Ÿ˜, ...]
                 .first // ๐Ÿ˜€
                 .second // ๐Ÿ˜ƒ
                 .third // ๐Ÿ˜„
                 .fourth // ๐Ÿ˜
                 .fifth // ๐Ÿ˜†
                 .sixth // ๐Ÿ˜…
                 .penultimate // ๐Ÿด๓ ง๓ ข๓ ณ๓ ฃ๓ ด๓ ฟ
                 .last // ๐Ÿด๓ ง๓ ข๓ ท๓ ฌ๓ ณ๓ ฟ

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]
                                            )]
                                     )] */

Emojis.getOneOrNull()

Equivalent of getOne() with null safety:

Emojis.getOneOrNull('๐Ÿ˜€')?.name; // Grinning face
Emojis.getOneOrNull('some unknown value')?.name; // null

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: ๐Ÿˆโ€โฌ›, ...), ...]

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: ๐Ÿ‘จ๐Ÿปโ€๐Ÿฆฐ, ...), ...]

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: ๐Ÿคš๐Ÿฟ, ...), ...]

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: ๐Ÿˆ, ...), ...]

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: ๐Ÿ”, ...), ...]

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: ๐Ÿฉท, ...), ...]

Emojis.byStatus()

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

//or use convenient getters:
Emojis.fullyQualified; // [Emoji(value: ๐Ÿ˜ƒ, ...), Emoji(value: ๐Ÿ˜„, ...), ...]

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

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

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

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

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

Emojis.groupsWithSubgroups

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

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

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

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.v16_0
               .last // Version.v17_0
               .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 // 16.0
                      .last // 17.0

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

Emoji.name

Emoji('๐Ÿ˜€').name; // Grinning Face
Emoji('๐ŸฆŠ').name; // Fox

Emoji.appleName

Emoji('๐Ÿ˜€').appleName; // Grinning Face
Emoji('๐ŸฆŠ').appleName; // Fox Face

Emoji.alsoKnownAs

Emoji('๐Ÿ˜€').alsoKnownAs; // [Happy Face, Smiley Face]
Emoji('๐ŸฆŠ').alsoKnownAs; // [Fox]

Emoji.color

Emoji('๐Ÿ”ด').color; // Color.red
Emoji('๐Ÿ˜€').color; // null

Emoji.shortcode

Emoji('๐Ÿ˜€').shortcode; // :grinning_face:
Emoji('๐ŸฆŠ').shortcode; // :fox:

Emoji.cldrShortcode

Emoji('๐Ÿ˜€').cldrShortcode; // :grinning_face:
Emoji('๐ŸฆŠ').cldrShortcode; // :fox:

Emoji.discordShortcode

Emoji('๐Ÿ˜€').discordShortcode; // :grinning:
Emoji('๐ŸฆŠ').discordShortcode; // :fox:

Emoji.githubShortcode

Emoji('๐Ÿ˜€').githubShortcode; // :grinning:
Emoji('๐ŸฆŠ').githubShortcode; // :fox_face:

Emoji.slackShortcode

Emoji('๐Ÿ˜€').slackShortcode; // :grinning:
Emoji('๐ŸฆŠ').slackShortcode; // :fox_face:

Emoji.unicode

Emoji('๐Ÿ˜€').unicode; // 1F600
Emoji('๐ŸฆŠ').unicode; // 1F98A

Emoji.version

Emoji('๐Ÿ˜€').version; // Version.v8_0
Emoji('๐ŸฆŠ').version; // Version.v9_0

Emoji.isAnimal

Emoji('๐ŸฆŠ').isAnimal; // true
Emoji('๐Ÿ˜€').isAnimal; // false

Emoji.isFlag

Emoji('๐Ÿ').isFlag; // true
Emoji('๐Ÿ˜€').isFlag; // false

Emoji.isFlower

Emoji('๐Ÿ’').isFlower; // true
Emoji('๐Ÿ˜€').isFlower; // false

Emoji.isFruit

Emoji('๐Ÿ‡').isFruit; // true
Emoji('๐Ÿ˜€').isFruit; // false

Emoji.isVegetable

Emoji('๐Ÿ†').isVegetable; // true
Emoji('๐Ÿ˜€').isVegetable; // false

Emoji.isGeometric

Emoji('๐Ÿ”ด').isGeometric; // true
Emoji('๐Ÿ˜€').isGeometric; // false

Emoji.isMan

Emoji('๐Ÿ‘จ').isMan; // true
Emoji('๐Ÿ‘ฉ').isMan; // false
Emoji('๐Ÿ”ด').isMan; // false

Emoji.isWoman

Emoji('๐Ÿ‘ฉ').isWoman; // true
Emoji('๐Ÿ‘จ').isWoman; // false
Emoji('๐Ÿ”ด').isWoman; // false

Emoji.isPerson

Emoji('๐Ÿ™').isPerson; // true
Emoji('๐Ÿ”ด').isPerson; // false

Emoji.isMultiPerson

Emoji('๐Ÿ‘ช').isMultiPerson; // true
Emoji('๐Ÿ‘จ').isMultiPerson; // false
Emoji('๐Ÿ”ด').isMultiPerson; // false

Emoji.isSymbol

Emoji('๐Ÿง').isSymbol; // true
Emoji('๐Ÿ˜€').isSymbol; // false

Emoji.hasBeard

Emoji('๐Ÿง”').hasBeard; // true
Emoji('๐Ÿง‘').hasBeard; // false
Emoji('๐Ÿ˜€').hasBeard; // false

Emoji.hasFace

Emoji('๐Ÿ˜€').hasFace; // true
Emoji('๐ŸŒš').hasFace; // true
Emoji('๐Ÿ”ด').hasFace; // false

Emoji.hasColor

Emoji('๐Ÿ”ด').hasColor; // true
Emoji('๐ŸŸฉ').hasColor; // true
Emoji('๐Ÿ˜€').hasColor; // false

Emoji.hasHairStyle

Emoji('๐Ÿ‘จโ€๐Ÿฆฐ').hasHairStyle; // true
Emoji('๐Ÿ‘จ').hasHairStyle; // false
Emoji('๐Ÿ”ด').hasHairStyle; // false

Emoji.hairStyle

Emoji('๐Ÿ‘จโ€๐Ÿฆณ').hairStyle; // HairStyle.white
Emoji('๐Ÿ‘จ').hairStyle; // null
Emoji('๐Ÿ”ด').hasHairStyle; // null

Emoji.hasSkinTone

Emoji('๐Ÿ‘ฉ๐Ÿป').hasSkinTone; // true
Emoji('๐Ÿ‘ฉ').hasSkinTone; // false
Emoji('๐Ÿ”ด').hasSkinTone; // false

Emoji.skinTone

Emoji('๐Ÿ‘ฉ๐Ÿป').skinTone; // SkinTone.light
Emoji('๐Ÿ‘ฉ').skinTone; // null
Emoji('๐Ÿ”ด').skinTone; // null

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:

emojis.contains

'๐Ÿ˜€text๐Ÿคฆ๐Ÿพโ€โ™€๏ธ'.emojis.contains; // true
'text'.emojis.contains; // false

emojis.count

'๐Ÿ˜€text๐Ÿคฆ๐Ÿพโ€โ™€๏ธ'.emojis.count; // 2

emojis.extract

'๐Ÿ”บ๏ธte๐ŸŸกxt๐ŸŸฉte๐Ÿ”ทxt'.emojis.extract // [๐Ÿ”บ, ๐ŸŸก, ๐ŸŸฉ, ๐Ÿ”ท]
                                  .first // ๐Ÿ”บ
                                  .second // ๐ŸŸก
                                  .third // ๐ŸŸฉ
                                  .fourth // ๐Ÿ”ท
                                  .fifthOrNull // null
                                  .sixthOrNull // null
                                  .penultimate // ๐ŸŸฉ
                                  .last // ๐Ÿ”ท

emojis.first

'๐Ÿ”ดte๐Ÿ‘๐Ÿปxt๐Ÿ‘๐Ÿผte๐Ÿ‘๐Ÿฝxt๐Ÿ‘๐Ÿพte๐Ÿ‘๐Ÿฟxt'.emojis.first // Emoji(value: ๐Ÿ”ด, ...)
                                        .value // ๐Ÿ”ด
                                        .name // Red Circle
                                        ...

emojis.firstOrNull

'๐Ÿ”ดte๐Ÿ‘๐Ÿปxt๐Ÿ‘๐Ÿผte๐Ÿ‘๐Ÿฝxt๐Ÿ‘๐Ÿพte๐Ÿ‘๐Ÿฟxt'.emojis.firstOrNull // Emoji(value: ๐Ÿ”ด, ...)

'text'.emojis.firstOrNull; // null

emojis.second

'๐Ÿ‘๏ธte๐Ÿ”ดxt๐Ÿ‘๐Ÿผte๐Ÿ‘๐Ÿฝxt๐Ÿ‘๐Ÿพte๐Ÿ‘๐Ÿฟxt'.emojis.second // Emoji(value: ๐Ÿ”ด, ...)
                                         .value // ๐Ÿ”ด
                                         .name // Red Circle
                                         ...

emojis.secondOrNull

'๐Ÿ‘๏ธte๐Ÿ”ดxt๐Ÿ‘๐Ÿผte๐Ÿ‘๐Ÿฝxt๐Ÿ‘๐Ÿพte๐Ÿ‘๐Ÿฟxt'.emojis.secondOrNull // Emoji(value: ๐Ÿ”ด, ...)

'text'.emojis.secondOrNull; // null

emojis.third

'๐Ÿ‘๏ธte๐Ÿ”ดxt๐Ÿ‘๐Ÿผte๐Ÿ‘๐Ÿฝxt๐Ÿ‘๐Ÿพte๐Ÿ‘๐Ÿฟxt'.emojis.third // Emoji(value: ๐Ÿ”ด, ...)
                                        .value // ๐Ÿ”ด
                                        .name // Red Circle
                                        ...

emojis.thirdOrNull

'๐Ÿ‘๏ธte๐Ÿ‘๐Ÿปxt๐Ÿ”ดte๐Ÿ‘๐Ÿฝxt๐Ÿ‘๐Ÿพte๐Ÿ‘๐Ÿฟxt'.emojis.thirdOrNull // Emoji(value: ๐Ÿ”ด, ...)

'text'.emojis.thirdOrNull; // null

emojis.fourth

'๐Ÿ‘๏ธte๐Ÿ‘๐Ÿปxt๐Ÿ‘๐Ÿผte๐Ÿ”ดxt๐Ÿ‘๐Ÿพte๐Ÿ‘๐Ÿฟxt'.emojis.fourth // Emoji(value: ๐Ÿ”ด, ...)
                                         .value // ๐Ÿ”ด
                                         .name // Red Circle
                                         ...

emojis.fourthOrNull

'๐Ÿ‘๏ธte๐Ÿ‘๐Ÿปxt๐Ÿ‘๐Ÿผte๐Ÿ”ดxt๐Ÿ‘๐Ÿพte๐Ÿ‘๐Ÿฟxt'.emojis.fourthOrNull // Emoji(value: ๐Ÿ”ด, ...)

'text'.emojis.fourthOrNull; // null

emojis.fifth

'๐Ÿ‘๏ธte๐Ÿ‘๐Ÿปxt๐Ÿ‘๐Ÿผte๐Ÿ‘๐Ÿฝxt๐Ÿ”ดte๐Ÿ‘๐Ÿฟxt'.emojis.fifth // Emoji(value: ๐Ÿ”ด, ...)
                                        .value // ๐Ÿ”ด
                                        .name // Red Circle
                                        ...

emojis.fifthOrNull

'๐Ÿ‘๏ธte๐Ÿ‘๐Ÿปxt๐Ÿ‘๐Ÿผte๐Ÿ‘๐Ÿฝxt๐Ÿ”ดte๐Ÿ‘๐Ÿฟxt'.emojis.fifthOrNull // Emoji(value: ๐Ÿ”ด, ...)

'text'.emojis.fifthOrNull; // null

emojis.sixth

'๐Ÿ‘๏ธte๐Ÿ‘๐Ÿปxt๐Ÿ‘๐Ÿผte๐Ÿ‘๐Ÿฝxt๐Ÿ‘๐Ÿพte๐Ÿ”ดxt'.emojis.sixth // Emoji(value: ๐Ÿ”ด, ...)
                                        .value // ๐Ÿ”ด
                                        .name // Red Circle
                                        ...

emojis.sixthOrNull

'๐Ÿ‘๏ธte๐Ÿ‘๐Ÿปxt๐Ÿ‘๐Ÿผte๐Ÿ‘๐Ÿฝxt๐Ÿ‘๐Ÿพte๐Ÿ”ดxt'.emojis.sixthOrNull // Emoji(value: ๐Ÿ”ด, ...)

'text'.emojis.sixthOrNull; // null

emojis.penultimate

'๐Ÿ‘๏ธte๐Ÿ‘๐Ÿปxt๐Ÿ‘๐Ÿผte๐Ÿ‘๐Ÿฝxt๐Ÿ”ดte๐Ÿ‘๐Ÿฟxt'.emojis.penultimate // Emoji(value: ๐Ÿ”ด, ...)
                                              .value // ๐Ÿ”ด
                                              .name // Red Circle
                                              ...

emojis.penultimateOrNull

'๐Ÿ‘๏ธte๐Ÿ‘๐Ÿปxt๐Ÿ‘๐Ÿผte๐Ÿ‘๐Ÿฝxt๐Ÿ”ดte๐Ÿ‘๐Ÿฟxt'.emojis.penultimateOrNull // Emoji(value: ๐Ÿ”ด, ...)

'text'.emojis.penultimateOrNull; // null

emojis.last

'๐Ÿ‘๏ธte๐Ÿ‘๐Ÿปxt๐Ÿ‘๐Ÿผte๐Ÿ‘๐Ÿฝxt๐Ÿ‘๐Ÿพte๐Ÿ”ดxt'.emojis.last // Emoji(value: ๐Ÿ”ด, ...)
                                       .value // ๐Ÿ”ด
                                       .name // Red Circle
                                       ...

emojis.lastOrNull

'๐Ÿ‘๏ธte๐Ÿ‘๐Ÿปxt๐Ÿ‘๐Ÿผte๐Ÿ‘๐Ÿฝxt๐Ÿ‘๐Ÿพte๐Ÿ”ดxt'.emojis.lastOrNull // Emoji(value: ๐Ÿ”ด, ...)

'text'.emojis.lastOrNull; // null

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]
                              )]
                        )] */

emojis.get.alsoKnownAs

'๐Ÿ˜€text'.emojis.get.alsoKnownAs // [Happy Face, Smiley Face]
                               .first // Happy Face
                               .penultimate // Happy Face
                               .second // Smiley Face
                               .last // Smiley Face

emojis.get.appleNames

'๐Ÿ˜€text๐Ÿคฆ๐Ÿพโ€โ™€๏ธ'.emojis.get.appleNames // [Grinning Face]
                                .first // Grinning Face
                                .penultimate // Grinning Face
                                .secondOrNull // null
                                .lastOrNull // null

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

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 

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

emojis.get.shortcodes

// Default (emoji name in snake_case)
'๐Ÿ˜€text๐Ÿคฆ๐Ÿพโ€โ™€๏ธ'.emojis.get.shortcodes; // [:grinning_face:, :woman_facepalming_medium_dark_skin_tone:]

emojis.get.cldrShortcodes

// CLDR
'๐Ÿ˜€text๐Ÿคฆ๐Ÿพโ€โ™€๏ธ'.emojis.get.cldrShortcodes; // [:grinning_face:, :woman_facepalming_tone4:]

emojis.get.discordShortcodes

// Discord
'๐Ÿ˜€text๐Ÿคฆ๐Ÿพโ€โ™€๏ธ'.emojis.get.discordShortcodes; // [:grinning:, :woman_facepalming_tone4:]

emojis.get.githubShortcodes

// Github (no skin-tone shortcodes)
'๐Ÿ˜€text๐Ÿคฆ๐Ÿพโ€โ™€๏ธ'.emojis.get.githubShortcodes; // [:grinning:]

emojis.get.slackShortcodes

// Slack
'๐Ÿ˜€text๐Ÿคฆ๐Ÿพโ€โ™€๏ธ'.emojis.get.slackShortcodes; // [:grinning:, :woman-facepalming::skin-tone-5:]

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

emojis.only

'๐Ÿ˜€'.emojis.only; // true
'๐Ÿ˜€ ๐Ÿ˜€ ๐Ÿ˜€'.emojis.only; // true
'text ๐Ÿ˜€ ๐Ÿ˜€ ๐Ÿ˜€ text'.emojis.only; // false
'text'.emojis.only; // false

emojis.onlyOne

'๐Ÿ˜€'.emojis.onlyOne; // true
'๐Ÿ˜€ ๐Ÿ˜€ ๐Ÿ˜€'.emojis.onlyOne; // false
'text ๐Ÿ˜€ ๐Ÿ˜€ ๐Ÿ˜€ text'.emojis.onlyOne; // false
'text'.emojis.onlyOne; // false

emojis.remove

'๐Ÿ˜€text ๐Ÿคฆ๐Ÿพโ€โ™€๏ธ'.emojis.remove; // text

emojis.removeFirst

'๐Ÿ”ดte๐Ÿ‘๐Ÿปxt๐Ÿ‘๐Ÿผte๐Ÿ‘๐Ÿฝxt๐Ÿ‘๐Ÿพte๐Ÿ‘๐Ÿฟxt'.emojis.removeFirst; // te๐Ÿ‘๐Ÿปxt๐Ÿ‘๐Ÿผte๐Ÿ‘๐Ÿฝxt๐Ÿ‘๐Ÿพte๐Ÿ‘๐Ÿฟxt

emojis.removeSecond

'๐Ÿ‘๏ธte๐Ÿ”ดxt๐Ÿ‘๐Ÿผte๐Ÿ‘๐Ÿฝxt๐Ÿ‘๐Ÿพte๐Ÿ‘๐Ÿฟxt'.emojis.removeSecond; // ๐Ÿ‘๏ธtext๐Ÿ‘๐Ÿผte๐Ÿ‘๐Ÿฝxt๐Ÿ‘๐Ÿพte๐Ÿ‘๐Ÿฟxt

emojis.removeThird

'๐Ÿ‘๏ธte๐Ÿ‘๐Ÿปxt๐Ÿ”ดte๐Ÿ‘๐Ÿฝxt๐Ÿ‘๐Ÿพte๐Ÿ‘๐Ÿฟxt'.emojis.removeThird; // ๐Ÿ‘๏ธte๐Ÿ‘๐Ÿปxtte๐Ÿ‘๐Ÿฝxt๐Ÿ‘๐Ÿพte๐Ÿ‘๐Ÿฟxt

emojis.removeFourth

'๐Ÿ‘๏ธte๐Ÿ‘๐Ÿปxt๐Ÿ‘๐Ÿผte๐Ÿ”ดxt๐Ÿ‘๐Ÿพte๐Ÿ‘๐Ÿฟxt'.emojis.removeFourth; // ๐Ÿ‘๏ธte๐Ÿ‘๐Ÿปxt๐Ÿ‘๐Ÿผtext๐Ÿ‘๐Ÿพte๐Ÿ‘๐Ÿฟxt

emojis.removeFifth

'๐Ÿ‘๏ธte๐Ÿ‘๐Ÿปxt๐Ÿ‘๐Ÿผte๐Ÿ‘๐Ÿฝxt๐Ÿ”ดte๐Ÿ‘๐Ÿฟxt'.emojis.removeFifth; // ๐Ÿ‘๏ธte๐Ÿ‘๐Ÿปxt๐Ÿ‘๐Ÿผte๐Ÿ‘๐Ÿฝxtte๐Ÿ‘๐Ÿฟxt

emojis.removeSixth

'๐Ÿ‘๏ธte๐Ÿ‘๐Ÿปxt๐Ÿ‘๐Ÿผte๐Ÿ‘๐Ÿฝxt๐Ÿ‘๐Ÿพte๐Ÿ”ดxt'.emojis.removeSixth; // ๐Ÿ‘๏ธte๐Ÿ‘๐Ÿปxt๐Ÿ‘๐Ÿผte๐Ÿ‘๐Ÿฝxt๐Ÿ‘๐Ÿพtext

emojis.removePenultimate

'๐Ÿ‘๏ธte๐Ÿ‘๐Ÿปxt๐Ÿ‘๐Ÿผte๐Ÿ‘๐Ÿฝxt๐Ÿ”ดte๐Ÿ‘๐Ÿฟxt'.emojis.removePenultimate; // ๐Ÿ‘๏ธte๐Ÿ‘๐Ÿปxt๐Ÿ‘๐Ÿผte๐Ÿ‘๐Ÿฝxtte๐Ÿ‘๐Ÿฟxt

emojis.removeLast

'๐Ÿ‘๏ธte๐Ÿ‘๐Ÿปxt๐Ÿ‘๐Ÿผte๐Ÿ‘๐Ÿฝxt๐Ÿ‘๐Ÿพte๐Ÿ”ดxt'.emojis.removeLast; // ๐Ÿ‘๏ธte๐Ÿ‘๐Ÿปxt๐Ÿ‘๐Ÿผte๐Ÿ‘๐Ÿฝxt๐Ÿ‘๐Ÿพtext

emojis.split

'text๐Ÿ˜€text'.emojis.split; // [text, text]

emojis.any()

'๐Ÿ˜€text๐Ÿคฆ๐Ÿพโ€โ™€๏ธ'.emojis.any((e) => e.value == '๐Ÿ˜€'); // true
'๐Ÿ˜€text๐Ÿคฆ๐Ÿพโ€โ™€๏ธ'.emojis.any((e) => e.value == '๐Ÿ‘๐Ÿป'); // false

Same as: emojis.some()

emojis.anyOf()

'๐Ÿ˜€text๐Ÿคฆ๐Ÿพโ€โ™€๏ธ'.emojis.anyOf(['๐Ÿ˜€']); // true
'๐Ÿ˜€text๐Ÿคฆ๐Ÿพโ€โ™€๏ธ'.emojis.anyOf(['๐Ÿ˜€', '๐Ÿ‘๐Ÿป']); // true
'๐Ÿ˜€text๐Ÿคฆ๐Ÿพโ€โ™€๏ธ'.emojis.anyOf(['๐Ÿ‘๐Ÿป']); // false

Same as: emojis.someOf()

emojis.containsOf()

'๐Ÿ˜€text๐Ÿคฆ๐Ÿพโ€โ™€๏ธ'.emojis.containsOf(['๐Ÿ˜€']); // true
'๐Ÿ˜€text๐Ÿคฆ๐Ÿพโ€โ™€๏ธ'.emojis.containsOf(['๐Ÿ˜€', '๐Ÿคฆ๐Ÿพโ€โ™€๏ธ']); // true
'๐Ÿ˜€text๐Ÿคฆ๐Ÿพโ€โ™€๏ธ'.emojis.containsOf(['๐Ÿ˜€', '๐Ÿ‘๐Ÿป']); // false
'๐Ÿ˜€text๐Ÿคฆ๐Ÿพโ€โ™€๏ธ'.emojis.containsOf(['๐Ÿ‘๐Ÿป']); // false

emojis.containsExactlyOf()

'๐Ÿ˜€text๐Ÿคฆ๐Ÿพโ€โ™€๏ธ'.emojis.containsExactlyOf(['๐Ÿ˜€']); // false
'๐Ÿ˜€text๐Ÿคฆ๐Ÿพโ€โ™€๏ธ'.emojis.containsExactlyOf(['๐Ÿ˜€', '๐Ÿคฆ๐Ÿพโ€โ™€๏ธ']); // true
'๐Ÿ˜€text๐Ÿคฆ๐Ÿพโ€โ™€๏ธtext๐Ÿ˜€'.emojis.containsExactlyOf(['๐Ÿ˜€', '๐Ÿคฆ๐Ÿพโ€โ™€๏ธ']); // true
'๐Ÿ˜€text๐Ÿคฆ๐Ÿพโ€โ™€๏ธ'.emojis.containsExactlyOf(['๐Ÿ‘๐Ÿป']); // false

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

emojis.containsOneOf()

'๐Ÿ˜€text๐Ÿคฆ๐Ÿพโ€โ™€๏ธ'.emojis.containsOneOf({'๐Ÿคฆ๐Ÿพโ€โ™€๏ธ'}); // true
'๐Ÿ˜€text๐Ÿคฆ๐Ÿพโ€โ™€๏ธ'.emojis.containsOneOf({'๐Ÿ˜€', '๐Ÿคฆ๐Ÿพโ€โ™€๏ธ'}); // true
'๐Ÿ˜€text๐Ÿคฆ๐Ÿพโ€โ™€๏ธ'.emojis.containsOneOf('๐Ÿ˜€', '๐Ÿคฆ๐Ÿพโ€โ™€๏ธ', '๐Ÿ‘๐Ÿป'}); // false
'๐Ÿ˜€text๐Ÿคฆ๐Ÿพโ€โ™€๏ธtext๐Ÿ˜€'.emojis.containsOneOf({'๐Ÿ˜€'}); // false

emojis.containsExactlyOne()

'๐Ÿ˜€text'.emojis.containsExactlyOne((e) => e.value == '๐Ÿ˜€'); // true
'๐Ÿ˜€text๐Ÿคฆ๐Ÿพโ€โ™€๏ธ'.emojis.containsExactlyOne((e) => e.value == '๐Ÿ˜€'); // false
'text'.emojis.containsExactlyOne((e) => e.value == '๐Ÿ˜€'); // false

emojis.containsExactlyOneOf()

'๐Ÿ˜€text๐Ÿคฆ๐Ÿพโ€โ™€๏ธ'.emojis.containsExactlyOneOf({'๐Ÿ˜€', '๐Ÿคฆ๐Ÿพโ€โ™€๏ธ'}); // true
'๐Ÿ˜€text๐Ÿคฆ๐Ÿพโ€โ™€๏ธtext๐Ÿ˜€'.emojis.containsExactlyOneOf({'๐Ÿ˜€', '๐Ÿคฆ๐Ÿพโ€โ™€๏ธ'}); // false
'๐Ÿ˜€text๐Ÿคฆ๐Ÿพโ€โ™€๏ธ'.emojis.containsExactlyOneOf({'๐Ÿ˜€'}); // false
'๐Ÿ˜€text๐Ÿคฆ๐Ÿพโ€โ™€๏ธ'.emojis.containsExactlyOneOf({'๐Ÿ˜€', '๐Ÿ‘๐Ÿป'}); // false

emojis.countWhere()

'๐Ÿ˜€text๐Ÿคฆ๐Ÿพโ€โ™€๏ธtext๐Ÿ˜€'.emojis.countWhere((e) => e.value == '๐Ÿ˜€'); // 2

emojis.countWhereIndexed()

'๐Ÿ˜€text๐Ÿคฆ๐Ÿพโ€โ™€๏ธtext๐Ÿ˜€'.emojis.countWhereIndexed((i, e) => i == 0 && e.value == '๐Ÿ˜€'); // 1

emojis.every()

'๐Ÿ˜€text๐Ÿ˜€'.emojis.every((e) => e.value == '๐Ÿ˜€'); // true
'๐Ÿ˜€text๐Ÿคฆ๐Ÿพโ€โ™€๏ธ'.emojis.every((e) => e.value == '๐Ÿ˜€'); // false
'๐Ÿ˜€text๐Ÿคฆ๐Ÿพโ€โ™€๏ธ'.emojis.every((e) => e.value == '๐Ÿ‘๐Ÿป'); // false

emojis.firstWhere()

'๐Ÿคฆ๐Ÿพโ€โ™€๏ธtext๐Ÿ˜€text๐Ÿคฆ๐Ÿปโ€โ™€๏ธ'.emojis.firstWhere((e) => e.name.contains('Woman')); // Emoji(value: ๐Ÿคฆ๐Ÿพโ€โ™€๏ธ, ...)

emojis.firstWhereIndexed()

'๐Ÿคฆ๐Ÿพโ€โ™€๏ธtext๐Ÿ˜€text๐Ÿคฆ๐Ÿปโ€โ™€๏ธ'.emojis.firstWhereIndexed((i, e) => i > 0 && e.name.contains('Woman')); // Emoji(value: ๐Ÿคฆ๐Ÿปโ€โ™€๏ธ, ...)

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

emojis.fold()

'๐Ÿ˜€text๐Ÿคฆ๐Ÿพโ€โ™€๏ธ'.emojis.fold('start', (p, c) => p + c.value); // start๐Ÿ˜€๐Ÿคฆ๐Ÿพโ€โ™€๏ธ

emojis.foldIndexed()

'๐Ÿ˜€text๐Ÿคฆ๐Ÿพโ€โ™€๏ธ'.emojis.foldIndexed('start', (i, p ,c) => '$p${c.value}$i'); // start๐Ÿ˜€0๐Ÿคฆ๐Ÿพโ€โ™€๏ธ1

emojis.forEach()

'๐Ÿ˜€text๐Ÿคฆ๐Ÿพโ€โ™€๏ธ'.emojis.forEach((e) => print(e.value)); // ๐Ÿ˜€ ๐Ÿคฆ๐Ÿพโ€โ™€๏ธ

emojis.forEachIndexed()

'๐Ÿ˜€text๐Ÿคฆ๐Ÿพโ€โ™€๏ธ'.emojis.forEachIndexed(i,e) => print('$i:${e.value}')); // 0:๐Ÿ˜€ 1:๐Ÿคฆ๐Ÿพโ€โ™€๏ธ

emojis.forEachWhile()

'๐Ÿ˜€text๐Ÿคฆ๐Ÿพโ€โ™€๏ธtext๐Ÿ˜€'.emojis.forEachWhile((e) {
                                          print(e.value);
                                          return e.value == '๐Ÿ˜€';
                                          }); // ๐Ÿ˜€ ๐Ÿคฆ๐Ÿพโ€โ™€๏ธ

emojis.forEachIndexedWhile()

'๐Ÿ˜€text๐Ÿคฆ๐Ÿพโ€โ™€๏ธtext๐Ÿ˜€'.emojis.forEachIndexedWhile((i, e) {
                                                    print('$i:${e.value}');
                                                    return e.value == '๐Ÿ˜€';
                                                    }); // 0:๐Ÿ˜€ 1:๐Ÿคฆ๐Ÿพโ€โ™€๏ธ

emojis.join()

'๐Ÿ˜€text๐Ÿคฆ๐Ÿพโ€โ™€๏ธ'.emojis.join((e) => e.value, 
                              separator: '.', 
                              prefix: 'prefix', 
                              suffix: 'suffix'); // 'prefix๐Ÿ˜€.๐Ÿคฆ๐Ÿพโ€โ™€๏ธsuffix'

emojis.map()

'๐Ÿ˜€text๐Ÿคฆ๐Ÿพโ€โ™€๏ธ'.emojis.map((e) => 'Emoji: ${e.name}'); // [Emoji: Grinning Face, Emoji: Woman Facepalming: Medium-Dark Skin Tone]

emojis.mapIndexed()

'๐Ÿ˜€text๐Ÿคฆ๐Ÿพโ€โ™€๏ธ'.emojis.mapIndexed((i, e) => '$i: ${e.name}'); // [0: Grinning Face, 1: Woman Facepalming: Medium-Dark Skin Tone]

emojis.none()

'๐Ÿ˜€text๐Ÿคฆ๐Ÿพโ€โ™€๏ธ'.emojis.none((e) => e.value == '๐Ÿ‘๐Ÿป'); // true
'๐Ÿ˜€text๐Ÿคฆ๐Ÿพโ€โ™€๏ธ'.emojis.none((e) => e.value == '๐Ÿ˜€'); // false

emojis.noneOf()

'๐Ÿ˜€text๐Ÿคฆ๐Ÿพโ€โ™€๏ธ'.emojis.noneOf(['๐Ÿ‘๐Ÿป']); // true
'๐Ÿ˜€text๐Ÿคฆ๐Ÿพโ€โ™€๏ธ'.emojis.noneOf(['๐Ÿ‘๐Ÿป', '๐Ÿคฆ๐Ÿพโ€โ™€๏ธ']); // false
'๐Ÿ˜€text๐Ÿคฆ๐Ÿพโ€โ™€๏ธ'.emojis.noneOf(['๐Ÿ˜€', '๐Ÿคฆ๐Ÿพโ€โ™€๏ธ']); // false

emojis.removeAt()

'๐Ÿ˜€text๐Ÿคฆ๐Ÿพโ€โ™€๏ธ'.emojis.removeAt(0); // text๐Ÿคฆ๐Ÿพโ€โ™€๏ธ
'๐Ÿ˜€text๐Ÿคฆ๐Ÿพโ€โ™€๏ธ'.emojis.removeAt(10); // ๐Ÿ˜€text๐Ÿคฆ๐Ÿพโ€โ™€๏ธ

emojis.removeFromEnd()

'๐Ÿ˜€text๐Ÿคฆ๐Ÿพโ€โ™€๏ธ'.emojis.removeFromEnd(0); // ๐Ÿ˜€text
'๐Ÿ˜€text๐Ÿคฆ๐Ÿพโ€โ™€๏ธ'.emojis.removeFromEnd(10); // ๐Ÿ˜€text๐Ÿคฆ๐Ÿพโ€โ™€๏ธ

emojis.removeEveryOf()

'๐Ÿ˜€text๐Ÿคฆ๐Ÿพโ€โ™€๏ธtext๐Ÿ‘๐Ÿปtext๐Ÿ˜€'.emojis.removeEveryOf(['๐Ÿ˜€', '๐Ÿ‘๐Ÿป']); // text๐Ÿคฆ๐Ÿพโ€โ™€๏ธtexttext

emojis.removeWhere()

'๐Ÿ˜€text๐Ÿคฆ๐Ÿพโ€โ™€๏ธtext๐Ÿ˜€'.emojis.removeWhere((e) => e.value == '๐Ÿ˜€'); // text๐Ÿคฆ๐Ÿพโ€โ™€๏ธtext

emojis.removeWhereIndexed()

'๐Ÿ˜€text๐Ÿคฆ๐Ÿพโ€โ™€๏ธtext๐Ÿ˜€'.emojis.removeWhereIndexed((i, e) => i == 0 && e.value == '๐Ÿ˜€'); // text๐Ÿคฆ๐Ÿพโ€โ™€๏ธtext๐Ÿ˜€

emojis.replace()

'๐Ÿ˜€text๐Ÿคฆ๐Ÿพโ€โ™€๏ธ'.emojis.replace('_'); // _๏ธtext_

emojis.replaceWith()

'๐Ÿ˜€text๐Ÿคฆ๐Ÿพโ€โ™€๏ธ'.emojis.replaceWith({'๐Ÿ˜€':'ABC', '๐Ÿคฆ๐Ÿพโ€โ™€๏ธ':'123'}); // ABCtext123

emojis.replaceWhere()

'๐Ÿ˜€text๐Ÿคฆ๐Ÿพโ€โ™€๏ธ'.emojis.replaceWhere((e) => e.value == '๐Ÿคฆ๐Ÿพโ€โ™€๏ธ' ? '123' : null); // ๐Ÿ˜€text123

'๐Ÿ˜€text๐Ÿคฆ๐Ÿพโ€โ™€๏ธ'.emojis.replaceWhere((e) => {'๐Ÿ˜€':'ABC', '๐Ÿคฆ๐Ÿพโ€โ™€๏ธ':'123'}[e.value]); // ABCtext123

emojis.replaceWhereIndexed()

'๐Ÿ˜€text๐Ÿคฆ๐Ÿพโ€โ™€๏ธtext๐Ÿ˜€'.emojis.replaceWhereIndexed((i, e) => i == 1 ? '_123_' : null); // ๐Ÿ˜€text_123_text๐Ÿ˜€

emojis.skip()

'๐Ÿ˜€text๐Ÿคฆ๐Ÿพโ€โ™€๏ธtext๐Ÿ‘๐Ÿป'.emojis.skip(1); // [Emoji(value: ๐Ÿคฆ๐Ÿพโ€โ™€๏ธ, ...), Emoji(value: ๐Ÿ‘๐Ÿป, ...)]

emojis.skipLast()

'๐Ÿ˜€text๐Ÿคฆ๐Ÿพโ€โ™€๏ธtext๐Ÿ‘๐Ÿป'.emojis.skipLast(1); // [Emoji(value: ๐Ÿ˜€, ...), Emoji(value: ๐Ÿคฆ๐Ÿพโ€โ™€๏ธ, ...)]

emojis.skipWhile()

'๐Ÿ˜€text๐Ÿคฆ๐Ÿพโ€โ™€๏ธtext๐Ÿ‘๐Ÿป'.emojis.skipWhile((e) => e.value == '๐Ÿ˜€'); // [Emoji(value: ๐Ÿคฆ๐Ÿพโ€โ™€๏ธ, ...), Emoji(value: ๐Ÿ‘๐Ÿป, ...)]

emojis.some()

'๐Ÿ˜€text๐Ÿคฆ๐Ÿพโ€โ™€๏ธ'.emojis.some((e) => e.value == '๐Ÿ˜€'); // true
'๐Ÿ˜€text๐Ÿคฆ๐Ÿพโ€โ™€๏ธ'.emojis.some((e) => e.value == '๐Ÿ‘๐Ÿป'); // false

Same as: emojis.any()

emojis.someOf()

'๐Ÿ˜€text๐Ÿคฆ๐Ÿพโ€โ™€๏ธ'.emojis.someOf(['๐Ÿ˜€']); // true
'๐Ÿ˜€text๐Ÿคฆ๐Ÿพโ€โ™€๏ธ'.emojis.someOf(['๐Ÿ˜€', '๐Ÿ‘๐Ÿป']); // true
'๐Ÿ˜€text๐Ÿคฆ๐Ÿพโ€โ™€๏ธ'.emojis.someOf(['๐Ÿ‘๐Ÿป']); // false

Same as: emojis.anyOf()

emojis.splitMapJoin()

'๐Ÿ˜€text๐Ÿคฆ๐Ÿพโ€โ™€๏ธ'.emojis.splitMapJoin(
onMatch: (_) => '_emoji_',
onNonMatch: (s) => s.toUpperCase(),
); // _emoji_TEXT_emoji_                                

emojis.splitWhere()

'๐Ÿ˜€text๐Ÿคฆ๐Ÿพโ€โ™€๏ธtext๐Ÿ˜€'.emojis.splitWhere((e) => e.value == '๐Ÿคฆ๐Ÿพโ€โ™€๏ธ'); // [๐Ÿ˜€text, text๐Ÿ˜€]

emojis.splitWhereIndexed()

'๐Ÿ˜€text๐Ÿคฆ๐Ÿพโ€โ™€๏ธtext๐Ÿ˜€'.emojis.splitWhereIndexed((i, e) => i == 1 && e.value == '๐Ÿคฆ๐Ÿพโ€โ™€๏ธ'); // [๐Ÿ˜€text, text๐Ÿ˜€]

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:

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๐Ÿคฆ๐Ÿพโ€โ™€๏ธ

emojis.lastWhere()

'๐Ÿคฆ๐Ÿพโ€โ™€๏ธtext๐Ÿ˜€text๐Ÿคฆ๐Ÿปโ€โ™€๏ธ'.emojis.lastWhere((e) => e.name.contains('Woman')); // Emoji(value: ๐Ÿคฆ๐Ÿปโ€โ™€๏ธ, ...)

emojis.lastWhereIndexed()

'๐Ÿคฆ๐Ÿพโ€โ™€๏ธtext๐Ÿ˜€text๐Ÿคฆ๐Ÿปโ€โ™€๏ธ'.emojis.lastWhereIndexed((i, e) => i == 0 && e.name.contains('Woman')); // Emoji(value: ๐Ÿคฆ๐Ÿพโ€โ™€๏ธ, ...)

emojis.lastWhereOrNull()

'๐Ÿคฆ๐Ÿพโ€โ™€๏ธtext๐Ÿ˜€text๐Ÿคฆ๐Ÿปโ€โ™€๏ธ'.emojis.lastWhereOrNull((e) => e.name.contains('Woman')); // Emoji(value: ๐Ÿคฆ๐Ÿปโ€โ™€๏ธ, ...)

'๐Ÿคฆ๐Ÿพโ€โ™€๏ธtext๐Ÿ˜€text๐Ÿคฆ๐Ÿปโ€โ™€๏ธ'.emojis.lastWhereOrNull((e) => e.value == '๐Ÿ‘๐Ÿป'); // null

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

emojis.take()

'๐Ÿ˜€text๐Ÿคฆ๐Ÿพโ€โ™€๏ธtext๐Ÿ‘๐Ÿป'.emojis.take(2); // [Emoji(value: ๐Ÿ˜€, ...), Emoji(value: ๐Ÿคฆ๐Ÿพโ€โ™€๏ธ, ...)]

emojis.takeLast()

'๐Ÿ˜€text๐Ÿคฆ๐Ÿพโ€โ™€๏ธtext๐Ÿ‘๐Ÿป'.emojis.takeLast(2); // [Emoji(value: ๐Ÿคฆ๐Ÿพโ€โ™€๏ธ, ...), Emoji(value: ๐Ÿ‘๐Ÿป, ...)]

emojis.takeWhile()

'๐Ÿ˜€text๐Ÿคฆ๐Ÿพโ€โ™€๏ธtext๐Ÿ‘๐Ÿป'.emojis.takeWhile((e) => e.value == '๐Ÿ˜€'); // [Emoji(value: ๐Ÿ˜€, ...)]

emojis.where()

'๐Ÿคฆ๐Ÿพโ€โ™€๏ธtext๐Ÿ˜€text๐Ÿคฆ๐Ÿปโ€โ™€๏ธ'.emojis.where((e) => e.name.contains('Woman')); // [Emoji(value: ๐Ÿคฆ๐Ÿพโ€โ™€๏ธ, ...), Emoji(value: ๐Ÿคฆ๐Ÿปโ€โ™€๏ธ, ...)]

emojis.whereIndexed()

'๐Ÿคฆ๐Ÿพโ€โ™€๏ธtext๐Ÿ˜€text๐Ÿคฆ๐Ÿปโ€โ™€๏ธ'.emojis.whereIndexed((i, e) => i == 0 && e.name.contains('Woman')); // [Emoji(value: ๐Ÿคฆ๐Ÿพโ€โ™€๏ธ, ...)]

emojis.whereNot()

'๐Ÿคฆ๐Ÿพโ€โ™€๏ธtext๐Ÿ˜€text๐Ÿคฆ๐Ÿปโ€โ™€๏ธ'.emojis.whereNot((e) => e.name.contains('Woman')); // [Emoji(value: ๐Ÿ˜€, ...)]

emojis.whereNotIndexed()

'๐Ÿคฆ๐Ÿพโ€โ™€๏ธtext๐Ÿ˜€text๐Ÿคฆ๐Ÿปโ€โ™€๏ธ'.emojis.whereNotIndexed((i, e) => i == 0 && e.name.contains('Woman')); // [Emoji(value: ๐Ÿ˜€, ...), Emoji(value: ๐Ÿคฆ๐Ÿปโ€โ™€๏ธ, ...)]
Emoji Overview App Example

Emoji overview app demo GIF
Emoji Chat App Example

Emoji chat app demo GIF

About

Emojis for Flutter & Dart (Unicode 17.0) + one, yet powerful emojis String extension

Topics

Resources

License

Stars

Watchers

Forks

Contributors