[
    {
        "name": "Hashids",
        "comment": " This is an Elm port of the Hashids library by Ivan Akimov.\n   This is *not* a cryptographic hashing algorithm. Hashids is typically\n   used to encode numbers to a format suitable for appearance in places\n   like urls.\n\nSee the official Hashids home page: [http://hashids.org](http://hashids.org)\n\nHashids is a small open-source library that generates short, unique,\nnon-sequential ids from numbers. It converts numbers like 347 into\nstrings like @yr8@, or a list of numbers like [27, 986] into @3kTMd@.\nYou can also decode those ids back. This is useful in bundling several\nparameters into one or simply using them as short UIDs.\n\n# Types\n\n@docs Context\n\n# Context object constructors \n@docs createHashidsContext, hashidsSimple, hashidsMinimum\n\n\n# Encoding and decoding\n@docs encodeHex, decodeHex, encode, encodeList, decode\n\n# Convenience wrappers\n@docs encodeUsingSalt, encodeListUsingSalt, decodeUsingSalt, encodeHexUsingSalt, decodeHexUsingSalt\n\n",
        "unions": [],
        "aliases": [
            {
                "name": "Context",
                "comment": " A record with various internals required for encoding and decoding.\n",
                "args": [],
                "type": "{ guards : String, seps : String, salt : String, minHashLength : Int, alphabet : String }"
            }
        ],
        "values": [
            {
                "name": "createHashidsContext",
                "comment": " Create a context object using the given salt, a minimum hash length, and\na custom alphabet. If you only need to supply the salt, or the first two\narguments, use 'hashidsSimple' or 'hashidsMinimum' instead.\n\nChanging the alphabet is useful if you want to make your hashes unique,\ni.e., create hashes different from those generated by other applications\nrelying on the same algorithm.\n",
                "type": "String -> Int -> String -> Context"
            },
            {
                "name": "decode",
                "comment": " Decode a hash.\n\n  Example use:\n\n    hash = \n      let \n        context = hashidsSimple \"this is my salt\"\n      in \n        decode context \"rD\"        -- == [5]\n",
                "type": "Context -> String -> List Int"
            },
            {
                "name": "decodeHex",
                "comment": " Decode a hash generated with 'encodeHex'.\n\n  Example use: \n\n    decodeHex context \"yzgwD\"\n",
                "type": "Context -> String -> String"
            },
            {
                "name": "decodeHexUsingSalt",
                "comment": " Shortcut for 'decodeHex'.\n",
                "type": "String -> String -> String"
            },
            {
                "name": "decodeUsingSalt",
                "comment": " Decode a hash using the provided salt.\n\nThis convenience function creates a context with the default alphabet.\nIf the same context is used repeatedly, use 'decode' with one of the\nconstructors instead.\n",
                "type": "String -> String -> List Int"
            },
            {
                "name": "encode",
                "comment": " Encode a single number.\n\n  Example use:\n\n    hash = \n      let \n        context = hashidsSimple \"this is my salt\"\n      in \n        encode context 5          -- == \"rD\"\n",
                "type": "Context -> Int -> String"
            },
            {
                "name": "encodeHex",
                "comment": " Encode a hexadecimal number.\n\n  Example use: \n\n    encodeHex context \"ff83\"\n",
                "type": "Context -> String -> String"
            },
            {
                "name": "encodeHexUsingSalt",
                "comment": " Shortcut for 'encodeHex'.\n",
                "type": "String -> String -> String"
            },
            {
                "name": "encodeList",
                "comment": " Encode a list of numbers.\n\n  Example use:\n\n    hash = \n      let \n        context = hashidsSimple \"this is my salt\"\n      in \n        encodeList context [2, 3, 5, 7, 11]          -- == \"EOurh6cbTD\"\n",
                "type": "Context -> List Int -> String"
            },
            {
                "name": "encodeListUsingSalt",
                "comment": " Encode a list of numbers using the provided salt.\n\nThis function wrapper creates a context with the default alphabet.\nIf the same context is used repeatedly, use 'encodeList' with one of the\nconstructors instead.\n",
                "type": "String -> List Int -> String"
            },
            {
                "name": "encodeUsingSalt",
                "comment": " Encode a number using the provided salt.\n\nThis convenience function creates a context with the default alphabet.\nIf the same context is used repeatedly, use 'encode' with one of the\nconstructors instead.\n",
                "type": "String -> Int -> String"
            },
            {
                "name": "hashidsMinimum",
                "comment": " Create a context object using the default alphabet and the provided salt.\nThe generated hashes will have a minimum length as specified by the second\nargument.\n",
                "type": "String -> Int -> Context"
            },
            {
                "name": "hashidsSimple",
                "comment": " Create a context object using the default alphabet and the provided salt,\nwithout any minimum required length.\n",
                "type": "String -> Context"
            }
        ],
        "binops": []
    }
]