12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697 |
- /**
- * If given to parse, this callback will be invoked per each found emoji.
- *
- * If this callback returns a falsy value instead of a valid `src` to use for the image, nothing will actually change for that specific emoji.
- *
- * @param icon the lower case HEX code point i.e. "1f4a9"
- * @param options all info for this parsing operation
- * @param variant the optional \uFE0F ("as image") variant, in case this info is anyhow meaningful. By default this is ignored.
- */
- export type ParseCallback = (icon: string, options: object, variant: string) => string | false;
- export type ReplacerFunction = (substring: string, ...args: any[]) => string;
- export type TwemojiOptions = {
- /**
- * Default: Cloudflare
- */
- base?: string;
- /**
- * Default: .png
- */
- ext?: string;
- /**
- * Default: emoji
- */
- className?: string;
- /**
- * Default: 72x72
- */
- size?: string | number;
- /**
- * To render with SVG use `folder: svg, ext: .svg`
- */
- folder?: string;
- /**
- * The function to invoke in order to generate image src(s).
- */
- callback?: ParseCallback
- /**
- * The function to invoke in order to generate additional, custom attributes for the image tag.
- * Default () => ({})
- * @param icon the lower case HEX code point i.e. "1f4a9"
- * @param variant variant the optional \uFE0F ("as image") variant, in case this info is anyhow meaningful. By default this is ignored.
- *
- */
- attributes?(icon: string, variant: string): object;
- }
- export type Twemoji = {
- base: string;
- ext: string;
- className: string;
- size: string;
- convert: {
- /**
- * Given an HEX codepoint, returns UTF16 surrogate pairs.
- *
- * @param codepoint string generic codepoint, i.e. '1F4A9'
- * @return string codepoint transformed into utf16 surrogates pair,
- * i.e. \uD83D\uDCA9
- *
- * @example
- * twemoji.convert.fromCodePoint('1f1e8');
- * // "\ud83c\udde8"
- *
- * '1f1e8-1f1f3'.split('-').map(twemoji.convert.fromCodePoint).join('')
- * // "\ud83c\udde8\ud83c\uddf3"
- */
- fromCodePoint(hexCodePoint: string): string;
- /**
- * Given UTF16 surrogate pairs, returns the equivalent HEX codepoint.
- *
- * @param utf16surrogatePairs string generic utf16 surrogates pair, i.e. \uD83D\uDCA9
- * @param sep string optional separator for double code points, default='-'
- * @return string utf16 transformed into codepoint, i.e. '1F4A9'
- *
- * @example
- * twemoji.convert.toCodePoint('\ud83c\udde8\ud83c\uddf3');
- * // "1f1e8-1f1f3"
- *
- * twemoji.convert.toCodePoint('\ud83c\udde8\ud83c\uddf3', '~');
- * // "1f1e8~1f1f3"
- */
- toCodePoint(utf16surrogatePairs: string, sep?: string): string;
- };
- parse<T extends string | HTMLElement>(node: T, options?: TwemojiOptions | ParseCallback): T;
- replace(text: string, replacer: string | ReplacerFunction): string;
- test(text: string): boolean;
- onerror(): void;
- };
- declare module 'twemoji' {
- const twemoji: Twemoji;
- export default twemoji;
- }
|