cleanup.d.mts 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. /**
  2. * Get emoji sequence from string
  3. *
  4. * Examples (shows same emoji sequence formatted differently):
  5. * '1F441 FE0F 200D 1F5E8 FE0F' => [0x1f441, 0xfe0f, 0x200d, 0x1f5e8, 0xfe0f]
  6. * '1f441-fe0f-200d-1f5e8-fe0f' => [0x1f441, 0xfe0f, 0x200d, 0x1f5e8, 0xfe0f]
  7. * '\\uD83D\\uDC41\\uFE0F\\u200D\\uD83D\\uDDE8\\uFE0F' => [0x1f441, 0xfe0f, 0x200d, 0x1f5e8, 0xfe0f]
  8. */
  9. declare function getEmojiSequenceFromString(value: string): number[];
  10. /**
  11. * Convert emoji sequence or keyword
  12. *
  13. * If sequence is characters list, like '1f441-fe0f', it will be converted to [0x1f441, 0xfe0f]
  14. * If sequence contains anything other than [0-9A-F-\s], it will be converted character by character
  15. *
  16. * This is used to treat keywords, like ':cat:' differently when converting strings to sequences
  17. */
  18. declare function getSequenceFromEmojiStringOrKeyword(value: string): number[];
  19. /**
  20. * Split emoji sequence by joiner
  21. *
  22. * Result represents one emoji, split in smaller sequences separated by 0x200D
  23. *
  24. * Example:
  25. * [0x1FAF1, 0x1F3FB, 0x200D, 0x1FAF2, 0x1F3FC] => [[0x1FAF1, 0x1F3FB], [0x1FAF2, 0x1F3FC]]
  26. */
  27. declare function splitEmojiSequences(sequence: number[], separator?: number): number[][];
  28. /**
  29. * Join emoji sequences
  30. *
  31. * Parameter represents one emoji, split in smaller sequences
  32. *
  33. * Example:
  34. * [[0x1FAF1, 0x1F3FB], [0x1FAF2, 0x1F3FC]] => [0x1FAF1, 0x1F3FB, 0x200D, 0x1FAF2, 0x1F3FC]
  35. */
  36. declare function joinEmojiSequences(sequences: number[][], separator?: number): number[];
  37. /**
  38. * Get unqualified sequence
  39. */
  40. declare function getUnqualifiedEmojiSequence(sequence: number[]): number[];
  41. export { getEmojiSequenceFromString, getSequenceFromEmojiStringOrKeyword, getUnqualifiedEmojiSequence, joinEmojiSequences, splitEmojiSequences };