{
  "classes": [
    {
      "constants": [
        {
          "name": "OS_FAT",
          "value": "0",
          "owner": "gzip",
          "group_title": "OS identifier constants (from the gzip spec RFC 1952)",
          "desc": "MS-DOS / FAT"
        },
        {
          "name": "OS_AMIGA",
          "value": "1",
          "owner": "gzip",
          "desc": ""
        },
        {
          "name": "OS_VMS",
          "value": "2",
          "owner": "gzip",
          "desc": ""
        },
        {
          "name": "OS_UNIX",
          "value": "3",
          "owner": "gzip",
          "desc": ""
        },
        {
          "name": "OS_HPFS",
          "value": "6",
          "owner": "gzip",
          "desc": "OS/2 / NT"
        },
        {
          "name": "OS_MAC",
          "value": "7",
          "owner": "gzip",
          "desc": ""
        },
        {
          "name": "OS_NTFS",
          "value": "11",
          "owner": "gzip",
          "desc": ""
        },
        {
          "name": "OS_UNKNOWN",
          "value": "255",
          "owner": "gzip",
          "desc": ""
        },
        {
          "name": "NO_COMPRESSION",
          "value": "0",
          "owner": "gzip",
          "group_title": "Compression levels",
          "desc": ""
        },
        {
          "name": "BEST_SPEED",
          "value": "1",
          "owner": "gzip",
          "desc": ""
        },
        {
          "name": "BEST_COMPRESSION",
          "value": "9",
          "owner": "gzip",
          "desc": ""
        }
      ],
      "types": [
        {
          "lua_type": "type GzipHeader = {\n    method: number,\n    flags: number,\n    mtime: number,\n    xfl: number,\n    os: number,\n    name: string?,\n    comment: string?,\n    extra: buffer?,\n    headerCrc16: number?,\n    dataOffset: number,\n}",
          "name": "GzipHeader",
          "tags": [],
          "source": {
            "path": "",
            "line": 5
          },
          "fields": [
            {
              "lua_type": "method: number",
              "name": "method",
              "desc": ""
            },
            {
              "lua_type": "flags: number",
              "name": "flags",
              "desc": ""
            },
            {
              "lua_type": "mtime: number",
              "name": "mtime",
              "desc": ""
            },
            {
              "lua_type": "xfl: number",
              "name": "xfl",
              "desc": ""
            },
            {
              "lua_type": "os: number",
              "name": "os",
              "desc": ""
            },
            {
              "lua_type": "name: string?",
              "name": "name",
              "desc": ""
            },
            {
              "lua_type": "comment: string?",
              "name": "comment",
              "desc": ""
            },
            {
              "lua_type": "extra: buffer?",
              "name": "extra",
              "desc": ""
            },
            {
              "lua_type": "headerCrc16: number?",
              "name": "headerCrc16",
              "desc": ""
            },
            {
              "lua_type": "dataOffset: number",
              "name": "dataOffset",
              "desc": ""
            }
          ],
          "desc": ""
        },
        {
          "lua_type": "type CompressExOptions = {\n    level: number?,\n    name: string?,\n    comment: string?,\n    mtime: number?,\n    os: number?,\n}",
          "name": "CompressExOptions",
          "tags": [],
          "source": {
            "path": "",
            "line": 18
          },
          "fields": [
            {
              "lua_type": "level: number?",
              "name": "level",
              "desc": ""
            },
            {
              "lua_type": "name: string?",
              "name": "name",
              "desc": ""
            },
            {
              "lua_type": "comment: string?",
              "name": "comment",
              "desc": ""
            },
            {
              "lua_type": "mtime: number?",
              "name": "mtime",
              "desc": ""
            },
            {
              "lua_type": "os: number?",
              "name": "os",
              "desc": ""
            }
          ],
          "desc": ""
        }
      ],
      "name": "@eryx/compression/gzip",
      "tags": [],
      "functions": [
        {
          "source": {
            "path": "",
            "line": 34
          },
          "is_method": false,
          "signature": "gzip.compress(\n    data: buffer,  -- input bytes to compress\n    level: number?  -- compression level (NO_COMPRESSION..BEST_COMPRESSION)\n) → (\n    buffer  -- gzip-wrapped compressed bytes \n)",
          "owner": "gzip",
          "desc": "Standard gzip compress.",
          "tags": [],
          "name": "compress",
          "return_str": "buffer",
          "function_type": "Function",
          "returns": [
            {
              "lua_type": "buffer",
              "desc": "gzip-wrapped compressed bytes "
            }
          ],
          "params": [
            {
              "lua_type": "buffer",
              "name": "data",
              "desc": "input bytes to compress"
            },
            {
              "lua_type": "number?",
              "name": "level",
              "desc": "compression level (NO_COMPRESSION..BEST_COMPRESSION)"
            }
          ]
        },
        {
          "source": {
            "path": "",
            "line": 44
          },
          "is_method": false,
          "signature": "gzip.compressEx(\n    data: buffer,  -- input bytes to compress\n    options: CompressExOptions  -- header and compression options\n) → (\n    buffer  -- gzip-wrapped compressed bytes \n)",
          "owner": "gzip",
          "desc": "Gzip compress with a custom header (filename, timestamp, OS, comment).",
          "tags": [],
          "name": "compressEx",
          "return_str": "buffer",
          "function_type": "Function",
          "returns": [
            {
              "lua_type": "buffer",
              "desc": "gzip-wrapped compressed bytes "
            }
          ],
          "params": [
            {
              "lua_type": "buffer",
              "name": "data",
              "desc": "input bytes to compress"
            },
            {
              "lua_type": "CompressExOptions",
              "name": "options",
              "desc": "header and compression options"
            }
          ]
        },
        {
          "source": {
            "path": "",
            "line": 53
          },
          "is_method": false,
          "signature": "gzip.decompress(\n    data: buffer  -- gzip stream to decompress\n) → (\n    buffer  -- decompressed bytes \n)",
          "owner": "gzip",
          "desc": "Gzip decompress.",
          "tags": [],
          "name": "decompress",
          "return_str": "buffer",
          "function_type": "Function",
          "returns": [
            {
              "lua_type": "buffer",
              "desc": "decompressed bytes "
            }
          ],
          "params": [
            {
              "lua_type": "buffer",
              "name": "data",
              "desc": "gzip stream to decompress"
            }
          ]
        },
        {
          "source": {
            "path": "",
            "line": 62
          },
          "is_method": false,
          "signature": "gzip.isGzip(\n    data: buffer  -- data to inspect\n) → (\n    boolean  -- true when buffer looks like gzip \n)",
          "owner": "gzip",
          "desc": "Returns true if the buffer starts with the gzip magic bytes (0x1F 0x8B).",
          "tags": [],
          "name": "isGzip",
          "return_str": "boolean",
          "function_type": "Function",
          "returns": [
            {
              "lua_type": "boolean",
              "desc": "true when buffer looks like gzip "
            }
          ],
          "params": [
            {
              "lua_type": "buffer",
              "name": "data",
              "desc": "data to inspect"
            }
          ]
        },
        {
          "source": {
            "path": "",
            "line": 71
          },
          "is_method": false,
          "signature": "gzip.readHeader(\n    data: buffer  -- gzip stream\n) → (\n    GzipHeader  -- parsed header fields \n)",
          "owner": "gzip",
          "desc": "Parses the gzip header fields without decompressing the payload.",
          "tags": [],
          "name": "readHeader",
          "return_str": "GzipHeader",
          "function_type": "Function",
          "returns": [
            {
              "lua_type": "GzipHeader",
              "desc": "parsed header fields "
            }
          ],
          "params": [
            {
              "lua_type": "buffer",
              "name": "data",
              "desc": "gzip stream"
            }
          ]
        },
        {
          "source": {
            "path": "",
            "line": 113
          },
          "is_method": false,
          "signature": "gzip.createCompressor(\n    level: number?  -- compression level\n) → (\n    Compressor  -- the streaming compressor \n)",
          "owner": "gzip",
          "desc": "Creates a streaming gzip compressor.",
          "tags": [],
          "name": "createCompressor",
          "return_str": "Compressor",
          "function_type": "Function",
          "returns": [
            {
              "lua_type": "Compressor",
              "desc": "the streaming compressor "
            }
          ],
          "params": [
            {
              "lua_type": "number?",
              "name": "level",
              "desc": "compression level"
            }
          ]
        },
        {
          "source": {
            "path": "",
            "line": 121
          },
          "is_method": false,
          "signature": "gzip.createDecompressor() → (\n    Decompressor  -- the streaming decompressor \n)",
          "owner": "gzip",
          "desc": "Creates a streaming gzip 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": "Gzip helpers: compress/decompress and header inspection utilities.\n"
    },
    {
      "is_primary_export": false,
      "source": {
        "path": "",
        "line": 91
      },
      "tags": [],
      "properties": [],
      "desc": "A streaming gzip compressor. Feed data incrementally with `write`,\nthen call `finish` to produce the final gzip output.\n\n@class Compressor\n",
      "name": "Compressor",
      "functions": [
        {
          "source": {
            "path": "",
            "line": 92
          },
          "is_method": true,
          "signature": "Compressor:write(data: buffer, flush: number?) → buffer",
          "desc": "",
          "tags": [],
          "name": "write",
          "return_str": "buffer",
          "function_type": "Method",
          "returns": [
            {
              "lua_type": "buffer",
              "desc": ""
            }
          ],
          "params": [
            {
              "lua_type": "buffer",
              "name": "data",
              "desc": ""
            },
            {
              "lua_type": "number?",
              "name": "flush",
              "desc": ""
            }
          ]
        },
        {
          "source": {
            "path": "",
            "line": 93
          },
          "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": 94
          },
          "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": 103
      },
      "tags": [],
      "properties": [],
      "desc": "A streaming gzip decompressor. Feed compressed chunks with `write`;\nthe second return value indicates when the stream is complete.\n\n@class Decompressor\n",
      "name": "Decompressor",
      "functions": [
        {
          "source": {
            "path": "",
            "line": 104
          },
          "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": 105
          },
          "is_method": true,
          "signature": "Decompressor:close() → ()",
          "desc": "",
          "tags": [],
          "name": "close",
          "return_str": "()",
          "function_type": "Method",
          "returns": [],
          "params": []
        }
      ],
      "metamethods": [],
      "types": []
    }
  ]
}