in src/scala/config/src/main/scala/com/twitter/emoji/config/Item.scala [119:147]
def apply(item: Item, emojiSpritePositions: Map[String, (Int, Int)]): Item = {
val defaultSpritePosition = emojiSpritePositions
.get(item.key)
.map(spritePos => SpritePosition(spritePos._1, spritePos._2))
val skinToneVariants = item.diversitySequences
.slice(1, item.diversitySequences.length)
.filter(_.includeInPicker)
.map { diversityCodepoints =>
val spritePosition =
emojiSpritePositions.getOrElse(diversityCodepoints.key, (0, 0))
val skintoneSeq = diversityCodepoints.cp
.filter(SkinTones.contains)
.map(Integer.toHexString)
val text =
getFullyQualifiedEmojiText(item.emojiType, diversityCodepoints)
SkinToneVariant(text,
skintoneSeq,
SpritePosition(spritePosition._1, spritePosition._2))
}
new Item(item.codepoints,
item.description,
item.emojiType,
item.excludeFromPicker,
item.keywords,
defaultSpritePosition,
skinToneVariants,
item.multiDiversityConfig)
}