emoji_extension 1.2.0
emoji_extension: ^1.2.0 copied to clipboard
Emojis for Flutter & Dart (Unicode 16.0) + one, yet powerful emojis String extension
Emojis for Dart Unicode 16.0
+
One, yet powerful emojis String extension
Features #
- Contains over 5,000 emojis from Unicode 16.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
YouTube Video Tutorial
Table of contents #
Import import 'package:emoji_extension/emoji_extension.dart';
and you've got 2 benefits:
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.v15_1
.last // Version.v16_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 // 15.1
.last // 16.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: 🤦🏻♀️, ...)]
Example Flutter Apps
Emoji Overview App Example |
Emoji Chat App Example |