{
  "classes": [
    {
      "constants": [],
      "types": [],
      "name": "@eryx/crypto/random",
      "tags": [],
      "functions": [
        {
          "source": {
            "path": "",
            "line": 9
          },
          "is_method": false,
          "signature": "random.integer(\n    limit: number  -- The upper bound for the random number \n) → ()",
          "owner": "random",
          "desc": "Generate a random number from 0 to `limit` using a secure RNG.",
          "tags": [],
          "name": "integer",
          "return_str": "",
          "function_type": "Function",
          "returns": [],
          "params": [
            {
              "lua_type": "number",
              "name": "limit",
              "desc": "The upper bound for the random number "
            }
          ]
        },
        {
          "source": {
            "path": "",
            "line": 21
          },
          "is_method": false,
          "signature": "random.choice<T>(\n    options: { T }  -- The options to chose from \n) → T",
          "owner": "random",
          "desc": "Securely select at random a single item from `options`",
          "tags": [],
          "name": "choice",
          "return_str": "T",
          "function_type": "Function",
          "returns": [
            {
              "lua_type": "T",
              "desc": ""
            }
          ],
          "params": [
            {
              "lua_type": "{ T }",
              "name": "options",
              "desc": "The options to chose from "
            }
          ]
        },
        {
          "source": {
            "path": "",
            "line": 29
          },
          "is_method": false,
          "signature": "random.bits(\n    k: number  -- The number of bits the returned number should be. Integer from 1 to 53 \n) → number",
          "owner": "random",
          "desc": "Generate a random number of size `k` bits",
          "tags": [],
          "name": "bits",
          "return_str": "number",
          "function_type": "Function",
          "returns": [
            {
              "lua_type": "number",
              "desc": ""
            }
          ],
          "params": [
            {
              "lua_type": "number",
              "name": "k",
              "desc": "The number of bits the returned number should be. Integer from 1 to 53 "
            }
          ]
        },
        {
          "source": {
            "path": "",
            "line": 43
          },
          "is_method": false,
          "signature": "random.bytes(\n    k: number  -- The number of bytes long the returned buffer should be \n) → buffer",
          "owner": "random",
          "desc": "Generate a buffer of `k` random bytes",
          "tags": [],
          "name": "bytes",
          "return_str": "buffer",
          "function_type": "Function",
          "returns": [
            {
              "lua_type": "buffer",
              "desc": ""
            }
          ],
          "params": [
            {
              "lua_type": "number",
              "name": "k",
              "desc": "The number of bytes long the returned buffer should be "
            }
          ]
        },
        {
          "source": {
            "path": "",
            "line": 57
          },
          "is_method": false,
          "signature": "random.hex(\n    k: number  -- The number of bytes long the returned buffer should be \n) → string",
          "owner": "random",
          "desc": "Generate a buffer of `k` random bytes, returned as a hex string",
          "tags": [],
          "name": "hex",
          "return_str": "string",
          "function_type": "Function",
          "returns": [
            {
              "lua_type": "string",
              "desc": ""
            }
          ],
          "params": [
            {
              "lua_type": "number",
              "name": "k",
              "desc": "The number of bytes long the returned buffer should be "
            }
          ]
        }
      ],
      "properties": [],
      "source": {
        "path": "",
        "line": 0
      },
      "desc": ""
    }
  ]
}