{
  "classes": [
    {
      "constants": [
        {
          "name": "STANDARD_ALPHABET",
          "value": "\"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/\"",
          "owner": "base64",
          "group_title": "The standard Base64 alphabet (RFC 4648 §4).",
          "desc": ""
        },
        {
          "name": "URL_SAFE_ALPHABET",
          "value": "\"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_\"",
          "owner": "base64",
          "group_title": "The URL-safe Base64 alphabet (RFC 4648 §5), using `-` and `_` instead of `+` and `/`.",
          "desc": ""
        },
        {
          "name": "IMAP_ALPHABET",
          "value": "\"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789,/\"",
          "owner": "base64",
          "group_title": "The IMAP mailbox Base64 alphabet (RFC 3501), using `,` instead of `/`.",
          "desc": ""
        }
      ],
      "types": [],
      "name": "@eryx/encoding/base64",
      "tags": [],
      "functions": [
        {
          "source": {
            "path": "",
            "line": 35
          },
          "is_method": false,
          "signature": "base64.encode(\n    data: buffer,  -- The binary data to encode.\n    alphabet: string?  -- A custom 64-character alphabet string.\n) → (\n    string  -- The Base64-encoded string. \n)",
          "owner": "base64",
          "desc": "Encodes a buffer into a Base64 string.\n\nUses the standard Base64 alphabet by default. Pass a custom 64-character\nalphabet string to use a different encoding (e.g. URL-safe Base64 with\n`\"-_\"` instead of `\"+/\"`).\n",
          "tags": [],
          "name": "encode",
          "return_str": "string",
          "function_type": "Function",
          "returns": [
            {
              "lua_type": "string",
              "desc": "The Base64-encoded string. "
            }
          ],
          "params": [
            {
              "lua_type": "buffer",
              "name": "data",
              "desc": "The binary data to encode."
            },
            {
              "lua_type": "string?",
              "name": "alphabet",
              "desc": "A custom 64-character alphabet string."
            }
          ]
        },
        {
          "source": {
            "path": "",
            "line": 92
          },
          "is_method": false,
          "signature": "base64.decode(\n    str: string,  -- The Base64-encoded string.\n    alphabet: string?  -- A custom 64-character alphabet string.\n) → (\n    buffer  -- The decoded binary data. \n)",
          "owner": "base64",
          "desc": "Decodes a Base64 string back into a buffer.\n\nUses the standard Base64 alphabet by default. Pass the same custom\nalphabet that was used for encoding to decode URL-safe or other\nvariants.\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 Base64-encoded string."
            },
            {
              "lua_type": "string?",
              "name": "alphabet",
              "desc": "A custom 64-character alphabet string."
            }
          ]
        }
      ],
      "properties": [],
      "source": {
        "path": "",
        "line": 0
      },
      "desc": "Base64 encoding utilities.\n\nEncodes binary `buffer` data into the standard Base64 alphabet\n(RFC 4648). A custom alphabet may be supplied for URL-safe or\nother variants.\n\n```luau\nlocal base64 = require(\"@eryx/base64\")\nlocal encoded = base64.encode(buffer.fromstring(\"Hello, world!\"))\nprint(encoded) -- \"SGVsbG8sIHdvcmxkIQ==\"\n```\n"
    }
  ]
}