{
  "classes": [
    {
      "constants": [],
      "types": [
        {
          "lua_type": "type LogRecord = LoggingTypes.LogRecord",
          "name": "LogRecord",
          "tags": [],
          "source": {
            "path": "",
            "line": 14
          },
          "fields": [],
          "desc": ""
        },
        {
          "lua_type": "type LevelInput = LoggingTypes.LevelInput",
          "name": "LevelInput",
          "tags": [],
          "source": {
            "path": "",
            "line": 15
          },
          "fields": [],
          "desc": ""
        },
        {
          "lua_type": "type Handler = LoggingTypes.Handler",
          "name": "Handler",
          "tags": [],
          "source": {
            "path": "",
            "line": 16
          },
          "fields": [],
          "desc": ""
        },
        {
          "lua_type": "type Options = { level: LevelInput?, filter: (((record: LogRecord) → boolean))?, flushEachWrite: boolean?, asJson: boolean?, includeSource: boolean? }",
          "name": "Options",
          "tags": [],
          "source": {
            "path": "",
            "line": 18
          },
          "fields": [
            {
              "lua_type": "level: LevelInput?",
              "name": "level",
              "desc": ""
            },
            {
              "lua_type": "filter: (((record: LogRecord) → boolean))?",
              "name": "filter",
              "desc": ""
            },
            {
              "lua_type": "flushEachWrite: boolean?",
              "name": "flushEachWrite",
              "desc": ""
            },
            {
              "lua_type": "asJson: boolean?",
              "name": "asJson",
              "desc": ""
            },
            {
              "lua_type": "includeSource: boolean?",
              "name": "includeSource",
              "desc": ""
            }
          ],
          "desc": ""
        }
      ],
      "name": "@eryx/logging/FileHandler",
      "tags": [],
      "functions": [
        {
          "source": {
            "path": "",
            "line": 96
          },
          "is_method": false,
          "signature": "FileHandler.new(\n    path: string,  -- Destination file path.\n    options: Options?  -- Optional handler behavior (json mode, flush policy, filter, ...).\n) → (\n    Handler  -- A logging handler with an optional `close()` method. \n)",
          "owner": "FileHandler",
          "desc": "Creates a file-backed logging handler.\n\nThe returned handler writes one line per log record to `path`.\n",
          "tags": [],
          "name": "new",
          "return_str": "Handler",
          "function_type": "Function",
          "returns": [
            {
              "lua_type": "Handler",
              "desc": "A logging handler with an optional `close()` method. "
            }
          ],
          "params": [
            {
              "lua_type": "string",
              "name": "path",
              "desc": "Destination file path."
            },
            {
              "lua_type": "Options?",
              "name": "options",
              "desc": "Optional handler behavior (json mode, flush policy, filter, ...)."
            }
          ]
        }
      ],
      "properties": [],
      "source": {
        "path": "",
        "line": 0
      },
      "desc": "File log handler.\n\nWrites log records to a file opened in append mode. Output can be\nhuman-readable text or JSON lines (`asJson = true`).\n"
    }
  ]
}