diff --git a/packages/pl-fe/src/features/emoji/data.ts b/packages/pl-fe/src/features/emoji/data.ts index 6a560ff9c..db8db115b 100644 --- a/packages/pl-fe/src/features/emoji/data.ts +++ b/packages/pl-fe/src/features/emoji/data.ts @@ -1,11 +1,61 @@ import data from '@emoji-mart/data/sets/14/twitter.json'; -import type { EmojiData } from './types'; +interface NativeEmoji { + unified: string; + native: string; + x: number; + y: number; +} + +interface CustomEmoji { + src: string; +} + +interface Emoji { + id: string; + name: string; + keywords: string[]; + skins: T[]; + version?: number; +} + +interface EmojiCategory { + id: string; + emojis: string[]; +} + +interface EmojiMap { + [s: string]: Emoji; +} + +interface EmojiAlias { + [s: string]: string; +} + +interface EmojiSheet { + cols: number; + rows: number; +} + +interface EmojiData { + categories: EmojiCategory[]; + emojis: EmojiMap; + aliases: EmojiAlias; + sheet: EmojiSheet; +} const emojiData = data as EmojiData; const { categories, emojis, aliases, sheet } = emojiData; export { + type NativeEmoji, + type CustomEmoji, + type Emoji, + type EmojiCategory, + type EmojiMap, + type EmojiAlias, + type EmojiSheet, + type EmojiData, categories, emojis, aliases, diff --git a/packages/pl-fe/src/features/emoji/index.ts b/packages/pl-fe/src/features/emoji/index.ts index 2527d1cb1..aafe331d6 100644 --- a/packages/pl-fe/src/features/emoji/index.ts +++ b/packages/pl-fe/src/features/emoji/index.ts @@ -2,7 +2,7 @@ import split from 'graphemesplit'; import unicodeMapping from './mapping'; -import type { Emoji as EmojiMart, CustomEmoji as EmojiMartCustom } from './types'; +import type { Emoji as EmojiMart, CustomEmoji as EmojiMartCustom } from './data'; import type { CustomEmoji as BaseCustomEmoji } from 'pl-api'; /* diff --git a/packages/pl-fe/src/features/emoji/mapping-compiletime.ts b/packages/pl-fe/src/features/emoji/mapping-compiletime.ts index 67d094e9a..f5ef8cdf0 100644 --- a/packages/pl-fe/src/features/emoji/mapping-compiletime.ts +++ b/packages/pl-fe/src/features/emoji/mapping-compiletime.ts @@ -1,6 +1,7 @@ import { createRequire } from 'node:module'; -import type { EmojiData, UnicodeMap } from './types'; +import type { EmojiData } from './data'; +import type { UnicodeMap } from './mapping'; const require = createRequire(import.meta.url); const data = require('@emoji-mart/data/sets/14/twitter.json'); diff --git a/packages/pl-fe/src/features/emoji/mapping.ts b/packages/pl-fe/src/features/emoji/mapping.ts index d7fb32c52..a76d52245 100644 --- a/packages/pl-fe/src/features/emoji/mapping.ts +++ b/packages/pl-fe/src/features/emoji/mapping.ts @@ -1,3 +1,10 @@ -import type { UnicodeMap } from './types'; +interface UnicodeMap { + [s: string]: { + unified: string; + shortcode: string; + }; +} export default import.meta.compileTime('./mapping-compiletime.ts'); + +export type { UnicodeMap }; diff --git a/packages/pl-fe/src/features/emoji/search.ts b/packages/pl-fe/src/features/emoji/search.ts index c13f8ddb7..286873ca7 100644 --- a/packages/pl-fe/src/features/emoji/search.ts +++ b/packages/pl-fe/src/features/emoji/search.ts @@ -1,7 +1,7 @@ import FlexSearch from 'flexsearch'; +import type { EmojiData } from './data'; import type { Emoji } from './index'; -import type { EmojiData } from './types'; import type { CustomEmoji } from 'pl-api'; let emojis: EmojiData['emojis'] = {}; diff --git a/packages/pl-fe/src/features/emoji/types.ts b/packages/pl-fe/src/features/emoji/types.ts deleted file mode 100644 index d1cbbf450..000000000 --- a/packages/pl-fe/src/features/emoji/types.ts +++ /dev/null @@ -1,62 +0,0 @@ -interface UnicodeMap { - [s: string]: { - unified: string; - shortcode: string; - }; -} - -interface NativeEmoji { - unified: string; - native: string; - x: number; - y: number; -} - -interface CustomEmoji { - src: string; -} - -interface Emoji { - id: string; - name: string; - keywords: string[]; - skins: T[]; - version?: number; -} - -interface EmojiCategory { - id: string; - emojis: string[]; -} - -interface EmojiMap { - [s: string]: Emoji; -} - -interface EmojiAlias { - [s: string]: string; -} - -interface EmojiSheet { - cols: number; - rows: number; -} - -interface EmojiData { - categories: EmojiCategory[]; - emojis: EmojiMap; - aliases: EmojiAlias; - sheet: EmojiSheet; -} - -export type { - UnicodeMap, - NativeEmoji, - CustomEmoji, - Emoji, - EmojiCategory, - EmojiMap, - EmojiAlias, - EmojiSheet, - EmojiData, -};