41 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
			
		
		
	
	
			41 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
| import { EmojiComponentType } from "../data.js";
 | |
| import { EmojiTestData, EmojiTestDataItem } from "./parse.js";
 | |
| interface EmojiTestDataComponentsMap {
 | |
|   converted: Map<number, string>;
 | |
|   items: Map<string | number, EmojiTestDataItem>;
 | |
|   names: Map<string | number, string>;
 | |
|   types: Record<string, EmojiComponentType>;
 | |
|   keywords: Record<string, string>;
 | |
| }
 | |
| /**
 | |
|  * Map components from test data
 | |
|  */
 | |
| declare function mapEmojiTestDataComponents(testSequences: EmojiTestData): EmojiTestDataComponentsMap;
 | |
| /**
 | |
|  * Sequence with components
 | |
|  */
 | |
| type EmojiSequenceWithComponents = (EmojiComponentType | number)[];
 | |
| /**
 | |
|  * Convert to string
 | |
|  */
 | |
| declare function emojiSequenceWithComponentsToString(sequence: EmojiSequenceWithComponents): string;
 | |
| /**
 | |
|  * Entry in sequence
 | |
|  */
 | |
| interface EmojiSequenceComponentEntry {
 | |
|   index: number;
 | |
|   type: EmojiComponentType;
 | |
| }
 | |
| /**
 | |
|  * Find variations in sequence
 | |
|  */
 | |
| declare function findEmojiComponentsInSequence(sequence: number[]): EmojiSequenceComponentEntry[];
 | |
| /**
 | |
|  * Component values
 | |
|  */
 | |
| type EmojiSequenceComponentValues = Partial<Record<EmojiComponentType, number[]>>;
 | |
| /**
 | |
|  * Replace components in sequence
 | |
|  */
 | |
| declare function replaceEmojiComponentsInCombinedSequence(sequence: EmojiSequenceWithComponents, values: EmojiSequenceComponentValues): number[];
 | |
| export { EmojiSequenceComponentEntry, EmojiSequenceComponentValues, EmojiSequenceWithComponents, EmojiTestDataComponentsMap, emojiSequenceWithComponentsToString, findEmojiComponentsInSequence, mapEmojiTestDataComponents, replaceEmojiComponentsInCombinedSequence }; | 
