{
  "classes": [
    {
      "constants": [
        {
          "name": "BLOCK_FAST",
          "value": "1",
          "owner": "bzip2",
          "group_title": "Block size constants",
          "desc": "fastest, least memory"
        },
        {
          "name": "BLOCK_BEST",
          "value": "9",
          "owner": "bzip2",
          "desc": "best compression, most memory"
        }
      ],
      "types": [],
      "name": "@eryx/compression/bzip2",
      "tags": [],
      "functions": [
        {
          "source": {
            "path": "",
            "line": 17
          },
          "is_method": false,
          "signature": "bzip2.compress(\n    data: buffer,  -- input bytes to compress\n    blockSize: number?  -- block size 1..9 (higher=better compression)\n) → (\n    buffer  -- compressed bzip2 stream  blockSize: 1 (BLOCK_FAST, least memory) - 9 (BLOCK_BEST, best compression). Default 9. Controls the Burrows-Wheeler block size; higher = better ratio but ~100 KB more memory per level during compression. \n)",
          "owner": "bzip2",
          "desc": "Compress data with bzip2.",
          "tags": [],
          "name": "compress",
          "return_str": "buffer",
          "function_type": "Function",
          "returns": [
            {
              "lua_type": "buffer",
              "desc": "compressed bzip2 stream  blockSize: 1 (BLOCK_FAST, least memory) - 9 (BLOCK_BEST, best compression). Default 9. Controls the Burrows-Wheeler block size; higher = better ratio but ~100 KB more memory per level during compression. "
            }
          ],
          "params": [
            {
              "lua_type": "buffer",
              "name": "data",
              "desc": "input bytes to compress"
            },
            {
              "lua_type": "number?",
              "name": "blockSize",
              "desc": "block size 1..9 (higher=better compression)"
            }
          ]
        },
        {
          "source": {
            "path": "",
            "line": 30
          },
          "is_method": false,
          "signature": "bzip2.decompress(\n    data: buffer,  -- compressed bzip2 stream\n    small: boolean?  -- use small-memory decoder when true\n) → (\n    buffer  -- decompressed bytes  small: if true, uses an alternative algorithm (~2 MB vs ~3.5 MB RAM) at roughly half the speed. Useful in memory-constrained environments. \n)",
          "owner": "bzip2",
          "desc": "Decompress bzip2 data.",
          "tags": [],
          "name": "decompress",
          "return_str": "buffer",
          "function_type": "Function",
          "returns": [
            {
              "lua_type": "buffer",
              "desc": "decompressed bytes  small: if true, uses an alternative algorithm (~2 MB vs ~3.5 MB RAM) at roughly half the speed. Useful in memory-constrained environments. "
            }
          ],
          "params": [
            {
              "lua_type": "buffer",
              "name": "data",
              "desc": "compressed bzip2 stream"
            },
            {
              "lua_type": "boolean?",
              "name": "small",
              "desc": "use small-memory decoder when true"
            }
          ]
        },
        {
          "source": {
            "path": "",
            "line": 41
          },
          "is_method": false,
          "signature": "bzip2.compressBound(\n    len: number  -- input length in bytes\n) → (\n    number  -- upper bound on compressed size  The exact formula is approximately len * 1.01 + 600. \n)",
          "owner": "bzip2",
          "desc": "Conservative upper bound on compressed output size for `len` input bytes.",
          "tags": [],
          "name": "compressBound",
          "return_str": "number",
          "function_type": "Function",
          "returns": [
            {
              "lua_type": "number",
              "desc": "upper bound on compressed size  The exact formula is approximately len * 1.01 + 600. "
            }
          ],
          "params": [
            {
              "lua_type": "number",
              "name": "len",
              "desc": "input length in bytes"
            }
          ]
        },
        {
          "source": {
            "path": "",
            "line": 72
          },
          "is_method": false,
          "signature": "bzip2.createCompressor(\n    blockSize: number?  -- block size 1..9\n) → (\n    Compressor  -- the streaming compressor \n)",
          "owner": "bzip2",
          "desc": "Creates a streaming bzip2 compressor.",
          "tags": [],
          "name": "createCompressor",
          "return_str": "Compressor",
          "function_type": "Function",
          "returns": [
            {
              "lua_type": "Compressor",
              "desc": "the streaming compressor "
            }
          ],
          "params": [
            {
              "lua_type": "number?",
              "name": "blockSize",
              "desc": "block size 1..9"
            }
          ]
        },
        {
          "source": {
            "path": "",
            "line": 81
          },
          "is_method": false,
          "signature": "bzip2.createDecompressor(\n    small: boolean?  -- use small-memory decoder\n) → (\n    Decompressor  -- the streaming decompressor \n)",
          "owner": "bzip2",
          "desc": "Creates a streaming bzip2 decompressor.",
          "tags": [],
          "name": "createDecompressor",
          "return_str": "Decompressor",
          "function_type": "Function",
          "returns": [
            {
              "lua_type": "Decompressor",
              "desc": "the streaming decompressor "
            }
          ],
          "params": [
            {
              "lua_type": "boolean?",
              "name": "small",
              "desc": "use small-memory decoder"
            }
          ]
        }
      ],
      "properties": [],
      "source": {
        "path": "",
        "line": 0
      },
      "desc": "Bzip2 compression utilities.\n"
    },
    {
      "is_primary_export": false,
      "source": {
        "path": "",
        "line": 50
      },
      "tags": [],
      "properties": [],
      "desc": "A streaming bzip2 compressor.\n\n@class Compressor\n",
      "name": "Compressor",
      "functions": [
        {
          "source": {
            "path": "",
            "line": 51
          },
          "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": 52
          },
          "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": 53
          },
          "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": 54
          },
          "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": 62
      },
      "tags": [],
      "properties": [],
      "desc": "A streaming bzip2 decompressor.\n\n@class Decompressor\n",
      "name": "Decompressor",
      "functions": [
        {
          "source": {
            "path": "",
            "line": 63
          },
          "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": 64
          },
          "is_method": true,
          "signature": "Decompressor:close() → ()",
          "desc": "",
          "tags": [],
          "name": "close",
          "return_str": "()",
          "function_type": "Method",
          "returns": [],
          "params": []
        }
      ],
      "metamethods": [],
      "types": []
    }
  ]
}