Giter Club home page Giter Club logo

emoji-mixer's Introduction

Installation

npm install emoji-mixer

Current version: 1.1.12

Emoji Mix URL Generator

This module is designed to generate URLs for mixed emoji images using Google's Android Emoji Kitchen. It consists of several helper functions, an emoji data object and a list of supported emojis.

Key Components

Supported Emojis

This is an array of Unicode code point strings. Each string in the array represents an emoji that is supported by the module. For instance, '1fa84' represents the ๐Ÿช„ emoji, '1f600' represents the ๐Ÿ˜€ emoji, and so on. To see a full list of supported emojis, visit the index.js file.

Emoji Data

This is a JavaScript object where each key is a Unicode representation of an emoji and the value is an array of objects. Each object represents a pair of emojis that can be combined. To see a list of emoji compatibility, visit the index.js file. Alternatively, use the checkSupported() function on an emoji.

Functions

  • toUnicode(input: string, oldToNew: boolean = false)Validates and transforms an input into a Unicode representation.
  • googleRequestUrlEmojiPart(emoji: string)Transforms an emoji Unicode representation for inclusion in a URL.
  • googleRequestUrl(emojiMixData{})Generates a URL for fetching an emoji combination image from Google's Android Emoji Kitchen.
  • getEmojiCombo(leftEmoji: string, rightEmoji: string)Finds a matching emoji combination from the global emojiCompatibilityData object.
  • getEmojiMixUrl(leftEmoji: string, rightEmoji: string, detailedErrors: boolean = false, oldToNew: boolean = false)Generates a URL for an emoji mix image from Google's Android Emoji Kitchen based on the unicode representation of two input emojis.
  • checkSupported(emoji:string, oldToNew: boolean = false) Checks if a given emoji is supported by looking it up in the emojiCompatibilityData object. Returns an array of emoji data associated with this emoji if supported; otherwise, it returns null.

Usage

Import the main function from the module using ES syntax:

// getEmojiMixUrl is the main function,
// while the other helper functions are imported through {}
import getEmojiMixUrl, {
  toUnicode, 
  getEmojiCombo, 
  checkSupported, 
  googleRequestUrl, 
  googleRequestUrlEmojiPart 
} from 'emoji-mixer';

// Example usage.
console.log(getEmojiMixUrl('๐Ÿ”ฅ', '๐Ÿ˜ƒ'));

Alternatively you can use the CommonJS syntax:

// Code enclosed in an asynchronous IIFE 
// as await's needed to import ES modules into CommonJS
(async () => {
    // Main function is found in emojiMix.default.
    const emojiMix = await import('emoji-mixer');
    // Helper functions can be imported this way.
    const { 
      toUnicode, 
      getEmojiCombo, 
      checkSupported, 
      googleRequestUrl, 
      googleRequestUrlEmojiPart 
    } = emojiMixer;

    // Example usage.
    console.log(emojiMix.default('๐Ÿ”ฅ', '๐Ÿ˜ƒ'));
})();

Attributions

emoji-mixer's People

Contributors

mattfor avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar

Forkers

cyfrow

emoji-mixer's Issues

Not working for certain emojis

I'm trying to mix the ๐Ÿ”‘ emoji, but it does not appear to work.

The emoji is represented as 1f5dd-fe0f which does appear in the list of supported emojis (i.e. index.js), however when it goes through toUnicode the regex does not pass.

If I try to pass the emoji directly into checkSupported, it strips the -fe0f part, and 1f5dd is not present in the aforementioned list.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.