{
  "classes": [
    {
      "constants": [],
      "types": [],
      "name": "@eryx/encoding/base85",
      "tags": [],
      "functions": [
        {
          "source": {
            "path": "",
            "line": 33
          },
          "is_method": false,
          "signature": "base85.encode(\n    buf: buffer  -- The binary data to encode.\n) → (\n    string  -- The Z85-encoded string. \n)",
          "owner": "base85",
          "desc": "Encodes a buffer into a Z85 string.\n\nThe buffer length **must** be a multiple of 4.\n",
          "tags": [],
          "name": "encode",
          "return_str": "string",
          "function_type": "Function",
          "returns": [
            {
              "lua_type": "string",
              "desc": "The Z85-encoded string. "
            }
          ],
          "params": [
            {
              "lua_type": "buffer",
              "name": "buf",
              "desc": "The binary data to encode."
            }
          ]
        },
        {
          "source": {
            "path": "",
            "line": 73
          },
          "is_method": false,
          "signature": "base85.decode(\n    str: string  -- The Z85-encoded string.\n) → (\n    buffer  -- The decoded binary data. \n)",
          "owner": "base85",
          "desc": "Decodes a Z85 string back into a buffer.\n\nThe string length **must** be a multiple of 5.\n",
          "tags": [],
          "name": "decode",
          "return_str": "buffer",
          "function_type": "Function",
          "returns": [
            {
              "lua_type": "buffer",
              "desc": "The decoded binary data. "
            }
          ],
          "params": [
            {
              "lua_type": "string",
              "name": "str",
              "desc": "The Z85-encoded string."
            }
          ]
        }
      ],
      "properties": [],
      "source": {
        "path": "",
        "line": 0
      },
      "desc": "Z85 (ZeroMQ Base85) encoding utilities.\n\nEncodes and decodes binary `buffer` data using the Z85 alphabet,\na compact base-85 representation designed for use in source code\nand XML. Input length must be a multiple of 4 bytes.\n\n```luau\nlocal base85 = require(\"@eryx/encoding/base85\")\nlocal data = buffer.fromstring(\"\\x86\\x4f\\xd2\\x6f\")\nprint(base85.encode(data)) -- \"HelloWorld\" (example)\n```\n\n:::caution\nZ85 requires the input buffer length to be a multiple of **4 bytes**\nfor encoding and the string length to be a multiple of **5 characters**\nfor decoding. Inputs that don’t meet this constraint will raise an error.\n:::\n"
    }
  ]
}