{
  "classes": [
    {
      "constants": [
        {
          "name": "MODE_GENERIC",
          "value": "0",
          "owner": "brotli",
          "group_title": "Mode constants",
          "desc": "general data"
        },
        {
          "name": "MODE_TEXT",
          "value": "1",
          "owner": "brotli",
          "desc": "UTF-8 text (enables context modelling)"
        },
        {
          "name": "MODE_FONT",
          "value": "2",
          "owner": "brotli",
          "desc": "WOFF2 font data"
        },
        {
          "name": "QUALITY_MIN",
          "value": "0",
          "owner": "brotli",
          "group_title": "Quality constants",
          "desc": ""
        },
        {
          "name": "QUALITY_MAX",
          "value": "11",
          "owner": "brotli",
          "desc": ""
        },
        {
          "name": "QUALITY_DEFAULT",
          "value": "11",
          "owner": "brotli",
          "desc": ""
        },
        {
          "name": "WINDOW_MIN",
          "value": "10",
          "owner": "brotli",
          "group_title": "Window size constants (log2 of bytes, so WINDOW_MAX=24 means 16 MB window)",
          "desc": ""
        },
        {
          "name": "WINDOW_MAX",
          "value": "24",
          "owner": "brotli",
          "desc": ""
        },
        {
          "name": "WINDOW_DEFAULT",
          "value": "22",
          "owner": "brotli",
          "desc": ""
        }
      ],
      "types": [],
      "name": "@eryx/compression/brotli",
      "tags": [],
      "functions": [
        {
          "source": {
            "path": "",
            "line": 15
          },
          "is_method": false,
          "signature": "brotli.compress(\n    data: buffer,  -- input bytes to compress\n    quality: number?,  -- 0..11 (QUALITY_MIN..QUALITY_MAX). Default 11.\n    lgwin: number?,  -- log2 window size in bytes (WINDOW_MIN..WINDOW_MAX). Default 22.\n    mode: number?  -- MODE_GENERIC/MODE_TEXT/MODE_FONT\n) → (\n    buffer  -- compressed brotli frame \n)",
          "owner": "brotli",
          "desc": "Compress data with Brotli.",
          "tags": [],
          "name": "compress",
          "return_str": "buffer",
          "function_type": "Function",
          "returns": [
            {
              "lua_type": "buffer",
              "desc": "compressed brotli frame "
            }
          ],
          "params": [
            {
              "lua_type": "buffer",
              "name": "data",
              "desc": "input bytes to compress"
            },
            {
              "lua_type": "number?",
              "name": "quality",
              "desc": "0..11 (QUALITY_MIN..QUALITY_MAX). Default 11."
            },
            {
              "lua_type": "number?",
              "name": "lgwin",
              "desc": "log2 window size in bytes (WINDOW_MIN..WINDOW_MAX). Default 22."
            },
            {
              "lua_type": "number?",
              "name": "mode",
              "desc": "MODE_GENERIC/MODE_TEXT/MODE_FONT"
            }
          ]
        },
        {
          "source": {
            "path": "",
            "line": 24
          },
          "is_method": false,
          "signature": "brotli.decompress(\n    data: buffer  -- brotli frame to decompress\n) → (\n    buffer  -- decompressed bytes \n)",
          "owner": "brotli",
          "desc": "Decompress Brotli data.",
          "tags": [],
          "name": "decompress",
          "return_str": "buffer",
          "function_type": "Function",
          "returns": [
            {
              "lua_type": "buffer",
              "desc": "decompressed bytes "
            }
          ],
          "params": [
            {
              "lua_type": "buffer",
              "name": "data",
              "desc": "brotli frame to decompress"
            }
          ]
        },
        {
          "source": {
            "path": "",
            "line": 35
          },
          "is_method": false,
          "signature": "brotli.maxCompressedSize(\n    len: number  -- input length in bytes\n) → (\n    number  -- upper bound in bytes (0 if too large)  Returns 0 if len is too large for Brotli to handle in one call. \n)",
          "owner": "brotli",
          "desc": "Upper bound on compressed output size for `len` input bytes.",
          "tags": [],
          "name": "maxCompressedSize",
          "return_str": "number",
          "function_type": "Function",
          "returns": [
            {
              "lua_type": "number",
              "desc": "upper bound in bytes (0 if too large)  Returns 0 if len is too large for Brotli to handle in one call. "
            }
          ],
          "params": [
            {
              "lua_type": "number",
              "name": "len",
              "desc": "input length in bytes"
            }
          ]
        },
        {
          "source": {
            "path": "",
            "line": 78
          },
          "is_method": false,
          "signature": "brotli.createCompressor(\n    quality: number?,  -- 0..11\n    lgwin: number?,  -- log2 window size\n    mode: number?  -- MODE_GENERIC/MODE_TEXT/MODE_FONT\n) → (\n    Compressor  -- the streaming compressor \n)",
          "owner": "brotli",
          "desc": "Creates a streaming Brotli compressor.",
          "tags": [],
          "name": "createCompressor",
          "return_str": "Compressor",
          "function_type": "Function",
          "returns": [
            {
              "lua_type": "Compressor",
              "desc": "the streaming compressor "
            }
          ],
          "params": [
            {
              "lua_type": "number?",
              "name": "quality",
              "desc": "0..11"
            },
            {
              "lua_type": "number?",
              "name": "lgwin",
              "desc": "log2 window size"
            },
            {
              "lua_type": "number?",
              "name": "mode",
              "desc": "MODE_GENERIC/MODE_TEXT/MODE_FONT"
            }
          ]
        },
        {
          "source": {
            "path": "",
            "line": 86
          },
          "is_method": false,
          "signature": "brotli.createDecompressor() → (\n    Decompressor  -- the streaming decompressor \n)",
          "owner": "brotli",
          "desc": "Creates a streaming Brotli decompressor.",
          "tags": [],
          "name": "createDecompressor",
          "return_str": "Decompressor",
          "function_type": "Function",
          "returns": [
            {
              "lua_type": "Decompressor",
              "desc": "the streaming decompressor "
            }
          ],
          "params": []
        }
      ],
      "properties": [],
      "source": {
        "path": "",
        "line": 0
      },
      "desc": "Brotli compression helpers.\n"
    },
    {
      "is_primary_export": false,
      "source": {
        "path": "",
        "line": 54
      },
      "tags": [],
      "properties": [],
      "desc": "A streaming Brotli compressor.\n\n@class Compressor\n",
      "name": "Compressor",
      "functions": [
        {
          "source": {
            "path": "",
            "line": 55
          },
          "is_method": true,
          "signature": "Compressor:write(data: buffer) → buffer",
          "desc": "",
          "tags": [],
          "name": "write",
          "return_str": "buffer",
          "function_type": "Method",
          "returns": [
            {
              "lua_type": "buffer",
              "desc": ""
            }
          ],
          "params": [
            {
              "lua_type": "buffer",
              "name": "data",
              "desc": ""
            }
          ]
        },
        {
          "source": {
            "path": "",
            "line": 56
          },
          "is_method": true,
          "signature": "Compressor:flush() → buffer",
          "desc": "",
          "tags": [],
          "name": "flush",
          "return_str": "buffer",
          "function_type": "Method",
          "returns": [
            {
              "lua_type": "buffer",
              "desc": ""
            }
          ],
          "params": []
        },
        {
          "source": {
            "path": "",
            "line": 57
          },
          "is_method": true,
          "signature": "Compressor:finish() → buffer",
          "desc": "",
          "tags": [],
          "name": "finish",
          "return_str": "buffer",
          "function_type": "Method",
          "returns": [
            {
              "lua_type": "buffer",
              "desc": ""
            }
          ],
          "params": []
        },
        {
          "source": {
            "path": "",
            "line": 58
          },
          "is_method": true,
          "signature": "Compressor:close() → ()",
          "desc": "",
          "tags": [],
          "name": "close",
          "return_str": "()",
          "function_type": "Method",
          "returns": [],
          "params": []
        }
      ],
      "metamethods": [],
      "types": []
    },
    {
      "is_primary_export": false,
      "source": {
        "path": "",
        "line": 66
      },
      "tags": [],
      "properties": [],
      "desc": "A streaming Brotli decompressor.\n\n@class Decompressor\n",
      "name": "Decompressor",
      "functions": [
        {
          "source": {
            "path": "",
            "line": 67
          },
          "is_method": true,
          "signature": "Decompressor:write(data: buffer) → (buffer, boolean)",
          "desc": "",
          "tags": [],
          "name": "write",
          "return_str": "(buffer, boolean)",
          "function_type": "Method",
          "returns": [
            {
              "lua_type": "buffer",
              "desc": ""
            },
            {
              "lua_type": "boolean",
              "desc": ""
            }
          ],
          "params": [
            {
              "lua_type": "buffer",
              "name": "data",
              "desc": ""
            }
          ]
        },
        {
          "source": {
            "path": "",
            "line": 68
          },
          "is_method": true,
          "signature": "Decompressor:close() → ()",
          "desc": "",
          "tags": [],
          "name": "close",
          "return_str": "()",
          "function_type": "Method",
          "returns": [],
          "params": []
        }
      ],
      "metamethods": [],
      "types": []
    }
  ]
}