Wondering what’s next for npm?Check out our public roadmap! »

    emoji-hash-gen
    TypeScript icon, indicating that this package has built-in type declarations

    1.0.2 • Public • Published


    EmojiHash

    Lightweight, zero-dependency library for hash-generation in emoji style 🍌

    Version npm License: MIT PRs Welcome Minsize CodeQL Node.js CI codecov

    Table of Contents

    Installation

    You can install emoji-hash-gen using standard tools:

    $> npm install emoji-hash-gen
    # or
    $> yarn add emoji-hash-gen

    Usage

    import { getHash } from 'emoji-hash-gen';
    
    getHash('Hello, world'); // "🥳🤫🦁"
    getHash('https://github.com/opa-oz/emoji-hash'); // "💥3️⃣🕕🕠🔇🈺"
    getHash('@gahara'); // "✨🎸🍭❔🕕"
    
    // You can restrct an amount of emojies in the hash
    const longText = 'Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industrys standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book';
    getHash(longText, { length: 5 }) // "💥🔻🈲🈵😺"

    Hash-function is fully deterministic - you will get the same result with the same set of input data:

    import { getHash } from 'emoji-hash-gen';
    
    getHash('@gahara') === getHash('@gahara'); // true
    getHash('@gahara') === getHash('gahara'); // false

    API

    getHash

    Description: Generates random hash from input string.

    Interface:

    getHash(input: string, options?: Options): string;

    getBitwise

    Description: Generates random integer, based on input string. Source

    Interface:

    getBitwise(str: string): number;

    transformBinary

    Description: A function used by getHash. Requires integer as input and generates an emoji-hash based on it

    Interface:

    transformBinary(input: number, options?: Options): string;

    useTable

    Description: Original library uses pre-generated table [number]: emoji, which used for hash-generation. useTable provides possibility to override the default table.

    Interface:

    useTable(newTable: EmojiTable): void;

    Table

    Description: Default table contains 62 literals, generated from:

    Symbols Count
    a-z 26
    A-Z 26
    0-9 10

    Re-generate:

    $> yarn generate-table

    Current table:

    // 0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ
    {  
      0: '💥',  
      1: '❔',  
      2: '⛔️',  
      3: '👹',  
      4: '👌',  
      5: '🐞',  
      6: '🛄',  
      7: '👾',  
      8: '🈶',  
      9: '🈲',  
      10: '🐗',  
      11: '🔝',  
      12: '👝',  
      13: '🍖',  
      14: '🌍',  
      15: '😜',  
      16: '😍',  
      17: '🍭',  
      18: '🔇',  
      19: '✨',  
      20: '📌',  
      21: '👆',  
      22: '🎬',  
      23: '👵',  
      24: '🔻',  
      25: '🈵',  
      26: '🍘',  
      27: '🌂',  
      28: '💭',  
      29: '🎸',  
      30: '😺',  
      31: '🚎',  
      32: '🚛',  
      33: '🐥',  
      34: '🈺',  
      35: '🐂',  
      36: '🚴',  
      37: '✔️',  
      38: '🈹',  
      39: '📗',  
      40: '🕠',  
      41: '👯',  
      42: '3️⃣',  
      43: '💶',  
      44: '🐫',  
      45: '🇯🇵',  
      46: '👮',  
      47: '🏯',  
      48: '👏',  
      49: '📍',  
      50: '🔅',  
      51: '🐯',  
      52: '🕕',  
      53: '😁',  
      54: '🏬',  
      55: '🔍',  
      56: '🚺',  
      57: '🗾',  
      58: '🎯',  
      59: '4️⃣',  
      60: '🕘',  
      61: '🎅'  
    }

    Contributing

    Please, use PRs for your proposals.

    Setting up local development

    For start, just clone repo and install dependencies via npm/yarn:

    $> git clone https://github.com/opa-oz/emoji-hash.git
    $> yarn install
    # or
    $> npm install

    Tests

    To run test, simply use command:

    $> yarn test
    #or
    $> npm run test

    Lint & Prettier

    Easy to check code style and formatting:

    $> yarn lint && yarn prettier-format

    License

    emoji-hash-gen is copyright © 2020 opa_oz. It is free software and may be redistributed under the terms specified in the license.

    Install

    npm i emoji-hash-gen

    DownloadsWeekly Downloads

    5

    Version

    1.0.2

    License

    MIT

    Unpacked Size

    16 kB

    Total Files

    7

    Last publish

    Collaborators

    • avatar