{
  "classes": [
    {
      "constants": [
        {
          "name": "CLEVEL_MAX",
          "value": "22",
          "owner": "zstd",
          "desc": ""
        },
        {
          "name": "CLEVEL_DEFAULT",
          "value": "3",
          "owner": "zstd",
          "desc": ""
        }
      ],
      "types": [],
      "name": "@eryx/compression/zstd",
      "tags": [],
      "functions": [
        {
          "source": {
            "path": "",
            "line": 16
          },
          "is_method": false,
          "signature": "zstd.compress(\n    data: buffer,  -- input bytes to compress\n    level: number?  -- compression level (CLEVEL_MIN..CLEVEL_MAX)\n) → (\n    buffer  -- compressed zstd frame  level: CLEVEL_MIN (negative, ultra-fast) - CLEVEL_MAX (22, best). Default CLEVEL_DEFAULT (3). Negative levels trade ratio for extreme speed. \n)",
          "owner": "zstd",
          "desc": "Compress data with Zstandard.",
          "tags": [],
          "name": "compress",
          "return_str": "buffer",
          "function_type": "Function",
          "returns": [
            {
              "lua_type": "buffer",
              "desc": "compressed zstd frame  level: CLEVEL_MIN (negative, ultra-fast) - CLEVEL_MAX (22, best). Default CLEVEL_DEFAULT (3). Negative levels trade ratio for extreme speed. "
            }
          ],
          "params": [
            {
              "lua_type": "buffer",
              "name": "data",
              "desc": "input bytes to compress"
            },
            {
              "lua_type": "number?",
              "name": "level",
              "desc": "compression level (CLEVEL_MIN..CLEVEL_MAX)"
            }
          ]
        },
        {
          "source": {
            "path": "",
            "line": 27
          },
          "is_method": false,
          "signature": "zstd.decompress(\n    data: buffer  -- zstd frame to decompress\n) → (\n    buffer  -- decompressed bytes  Uses the content size embedded in the frame header when available (fast path). \n)",
          "owner": "zstd",
          "desc": "Decompress a Zstandard frame.",
          "tags": [],
          "name": "decompress",
          "return_str": "buffer",
          "function_type": "Function",
          "returns": [
            {
              "lua_type": "buffer",
              "desc": "decompressed bytes  Uses the content size embedded in the frame header when available (fast path). "
            }
          ],
          "params": [
            {
              "lua_type": "buffer",
              "name": "data",
              "desc": "zstd frame to decompress"
            }
          ]
        },
        {
          "source": {
            "path": "",
            "line": 36
          },
          "is_method": false,
          "signature": "zstd.compressBound(\n    len: number  -- input length in bytes\n) → (\n    number  -- upper bound on compressed size \n)",
          "owner": "zstd",
          "desc": "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 "
            }
          ],
          "params": [
            {
              "lua_type": "number",
              "name": "len",
              "desc": "input length in bytes"
            }
          ]
        },
        {
          "source": {
            "path": "",
            "line": 46
          },
          "is_method": false,
          "signature": "zstd.frameContentSize(\n    data: buffer  -- zstd frame\n) → (\n    number?  -- decompressed size or nil \n)",
          "owner": "zstd",
          "desc": "Returns the decompressed size stored in the frame header, or nil if it\nwas not stored (compressed with contentSize=0) or the frame is invalid.",
          "tags": [],
          "name": "frameContentSize",
          "return_str": "number?",
          "function_type": "Function",
          "returns": [
            {
              "lua_type": "number?",
              "desc": "decompressed size or nil "
            }
          ],
          "params": [
            {
              "lua_type": "buffer",
              "name": "data",
              "desc": "zstd frame"
            }
          ]
        },
        {
          "source": {
            "path": "",
            "line": 58
          },
          "is_method": false,
          "signature": "zstd.compressWithDict(\n    data: buffer,  -- input bytes\n    dict: buffer,  -- dictionary data\n    level: number?  -- compression level\n) → (\n    buffer  -- compressed frame \n)",
          "owner": "zstd",
          "desc": "Compress using a pre-trained dictionary. The same dictionary must be\nsupplied to decompressWithDict.",
          "tags": [],
          "name": "compressWithDict",
          "return_str": "buffer",
          "function_type": "Function",
          "returns": [
            {
              "lua_type": "buffer",
              "desc": "compressed frame "
            }
          ],
          "params": [
            {
              "lua_type": "buffer",
              "name": "data",
              "desc": "input bytes"
            },
            {
              "lua_type": "buffer",
              "name": "dict",
              "desc": "dictionary data"
            },
            {
              "lua_type": "number?",
              "name": "level",
              "desc": "compression level"
            }
          ]
        },
        {
          "source": {
            "path": "",
            "line": 68
          },
          "is_method": false,
          "signature": "zstd.decompressWithDict(\n    data: buffer,  -- compressed frame\n    dict: buffer  -- dictionary data used for compression\n) → (\n    buffer  -- decompressed bytes \n)",
          "owner": "zstd",
          "desc": "Decompress using a pre-trained dictionary.",
          "tags": [],
          "name": "decompressWithDict",
          "return_str": "buffer",
          "function_type": "Function",
          "returns": [
            {
              "lua_type": "buffer",
              "desc": "decompressed bytes "
            }
          ],
          "params": [
            {
              "lua_type": "buffer",
              "name": "data",
              "desc": "compressed frame"
            },
            {
              "lua_type": "buffer",
              "name": "dict",
              "desc": "dictionary data used for compression"
            }
          ]
        },
        {
          "source": {
            "path": "",
            "line": 82
          },
          "is_method": false,
          "signature": "zstd.trainDictionary(\n    samples: { buffer },  -- representative examples of data\n    capacity: number  -- desired dictionary size in bytes\n) → (\n    buffer  -- trained dictionary  samples: { buffer } - representative examples of data you plan to compress. capacity: desired dictionary size in bytes (e.g. 112640 = 110 KB). Returns a dictionary buffer ready to pass to compress/decompressWithDict. \n)",
          "owner": "zstd",
          "desc": "Train a Zstandard dictionary from an array of sample buffers.",
          "tags": [],
          "name": "trainDictionary",
          "return_str": "buffer",
          "function_type": "Function",
          "returns": [
            {
              "lua_type": "buffer",
              "desc": "trained dictionary  samples: { buffer } - representative examples of data you plan to compress. capacity: desired dictionary size in bytes (e.g. 112640 = 110 KB). Returns a dictionary buffer ready to pass to compress/decompressWithDict. "
            }
          ],
          "params": [
            {
              "lua_type": "{ buffer }",
              "name": "samples",
              "desc": "representative examples of data"
            },
            {
              "lua_type": "number",
              "name": "capacity",
              "desc": "desired dictionary size in bytes"
            }
          ]
        },
        {
          "source": {
            "path": "",
            "line": 113
          },
          "is_method": false,
          "signature": "zstd.createCompressor(\n    level: number?  -- compression level (CLEVEL_MIN..CLEVEL_MAX)\n) → (\n    Compressor  -- the streaming compressor \n)",
          "owner": "zstd",
          "desc": "Creates a streaming Zstandard 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 (CLEVEL_MIN..CLEVEL_MAX)"
            }
          ]
        },
        {
          "source": {
            "path": "",
            "line": 121
          },
          "is_method": false,
          "signature": "zstd.createDecompressor() → (\n    Decompressor  -- the streaming decompressor \n)",
          "owner": "zstd",
          "desc": "Creates a streaming Zstandard 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": "Zstandard compression helpers: compress/decompress and dictionary support.\n"
    },
    {
      "is_primary_export": false,
      "source": {
        "path": "",
        "line": 91
      },
      "tags": [],
      "properties": [],
      "desc": "A streaming Zstandard compressor.\n\n@class Compressor\n",
      "name": "Compressor",
      "functions": [
        {
          "source": {
            "path": "",
            "line": 92
          },
          "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": 93
          },
          "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": 94
          },
          "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": 95
          },
          "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 Zstandard decompressor.\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": []
    }
  ]
}