def apply()

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)
  }