{
  "classes": [
    {
      "constants": [],
      "types": [
        {
          "lua_type": "type BuildOptions = {\n    outputExe: string,\n    root: string,\n    entrypoint: string,\n    files: { string },\n    sourceExe: string?,\n}",
          "name": "BuildOptions",
          "tags": [],
          "source": {
            "path": "",
            "line": 3
          },
          "fields": [
            {
              "lua_type": "outputExe: string",
              "name": "outputExe",
              "desc": "Path to the output executable."
            },
            {
              "lua_type": "root: string",
              "name": "root",
              "desc": "Project root directory. All file paths in the bundle are relative to this."
            },
            {
              "lua_type": "entrypoint: string",
              "name": "entrypoint",
              "desc": "Entrypoint script path (relative to root)."
            },
            {
              "lua_type": "files: { string }",
              "name": "files",
              "desc": "Array of file or directory paths to include in the bundle.\nDirectories are expanded recursively."
            },
            {
              "lua_type": "sourceExe: string?",
              "name": "sourceExe",
              "desc": "Source executable to clone. Defaults to the currently running executable."
            }
          ],
          "desc": ""
        }
      ],
      "name": "@eryx/vfs",
      "tags": [],
      "functions": [
        {
          "source": {
            "path": "",
            "line": 18
          },
          "is_method": false,
          "signature": "vfs.isOpen() → boolean",
          "owner": "vfs",
          "desc": "Returns `true` if a VFS bundle is currently loaded.",
          "tags": [],
          "name": "isOpen",
          "return_str": "boolean",
          "function_type": "Function",
          "returns": [
            {
              "lua_type": "boolean",
              "desc": ""
            }
          ],
          "params": []
        },
        {
          "source": {
            "path": "",
            "line": 22
          },
          "is_method": false,
          "signature": "vfs.entrypoint() → string?",
          "owner": "vfs",
          "desc": "Returns the entrypoint path of the loaded bundle, or `nil` if no bundle is open.",
          "tags": [],
          "name": "entrypoint",
          "return_str": "string?",
          "function_type": "Function",
          "returns": [
            {
              "lua_type": "string?",
              "desc": ""
            }
          ],
          "params": []
        },
        {
          "source": {
            "path": "",
            "line": 27
          },
          "is_method": false,
          "signature": "vfs.readFile(path: string) → string",
          "owner": "vfs",
          "desc": "Reads the entire contents of a VFS file as a string.\nErrors if no bundle is open or the file doesn't exist.",
          "tags": [],
          "name": "readFile",
          "return_str": "string",
          "function_type": "Function",
          "returns": [
            {
              "lua_type": "string",
              "desc": ""
            }
          ],
          "params": [
            {
              "lua_type": "string",
              "name": "path",
              "desc": ""
            }
          ]
        },
        {
          "source": {
            "path": "",
            "line": 32
          },
          "is_method": false,
          "signature": "vfs.exists(path: string) → boolean",
          "owner": "vfs",
          "desc": "Returns `true` if the given path exists in the VFS bundle.\nReturns `false` if no bundle is open.",
          "tags": [],
          "name": "exists",
          "return_str": "boolean",
          "function_type": "Function",
          "returns": [
            {
              "lua_type": "boolean",
              "desc": ""
            }
          ],
          "params": [
            {
              "lua_type": "string",
              "name": "path",
              "desc": ""
            }
          ]
        },
        {
          "source": {
            "path": "",
            "line": 37
          },
          "is_method": false,
          "signature": "vfs.listDir(dir: string) → { string }",
          "owner": "vfs",
          "desc": "Returns an array of direct children (files and directories) in the given VFS directory.\nReturns an empty table if no bundle is open.",
          "tags": [],
          "name": "listDir",
          "return_str": "{ string }",
          "function_type": "Function",
          "returns": [
            {
              "lua_type": "{ string }",
              "desc": ""
            }
          ],
          "params": [
            {
              "lua_type": "string",
              "name": "dir",
              "desc": ""
            }
          ]
        },
        {
          "source": {
            "path": "",
            "line": 42
          },
          "is_method": false,
          "signature": "vfs.isFile(path: string) → boolean",
          "owner": "vfs",
          "desc": "Returns `true` if the given path is a file in the VFS bundle.\nReturns `false` if no bundle is open or the path is a directory / doesn't exist.",
          "tags": [],
          "name": "isFile",
          "return_str": "boolean",
          "function_type": "Function",
          "returns": [
            {
              "lua_type": "boolean",
              "desc": ""
            }
          ],
          "params": [
            {
              "lua_type": "string",
              "name": "path",
              "desc": ""
            }
          ]
        },
        {
          "source": {
            "path": "",
            "line": 48
          },
          "is_method": false,
          "signature": "vfs.isDir(path: string) → boolean",
          "owner": "vfs",
          "desc": "Returns `true` if the given path is a directory in the VFS bundle.\nA path is a directory if any file exists under it.\nReturns `false` if no bundle is open.",
          "tags": [],
          "name": "isDir",
          "return_str": "boolean",
          "function_type": "Function",
          "returns": [
            {
              "lua_type": "boolean",
              "desc": ""
            }
          ],
          "params": [
            {
              "lua_type": "string",
              "name": "path",
              "desc": ""
            }
          ]
        },
        {
          "source": {
            "path": "",
            "line": 53
          },
          "is_method": false,
          "signature": "vfs.mtime(path: string) → number",
          "owner": "vfs",
          "desc": "Returns the modification time of a VFS file (as stored at bundle time).\nErrors if no bundle is open or the file doesn't exist.",
          "tags": [],
          "name": "mtime",
          "return_str": "number",
          "function_type": "Function",
          "returns": [
            {
              "lua_type": "number",
              "desc": ""
            }
          ],
          "params": [
            {
              "lua_type": "string",
              "name": "path",
              "desc": ""
            }
          ]
        },
        {
          "source": {
            "path": "",
            "line": 57
          },
          "is_method": false,
          "signature": "vfs.build(options: BuildOptions) → boolean",
          "owner": "vfs",
          "desc": "Builds a new VFS bundle by cloning an executable and appending a file archive.",
          "tags": [],
          "name": "build",
          "return_str": "boolean",
          "function_type": "Function",
          "returns": [
            {
              "lua_type": "boolean",
              "desc": ""
            }
          ],
          "params": [
            {
              "lua_type": "BuildOptions",
              "name": "options",
              "desc": ""
            }
          ]
        },
        {
          "source": {
            "path": "",
            "line": 63
          },
          "is_method": false,
          "signature": "vfs.isIsolated() → boolean",
          "owner": "vfs",
          "desc": "Returns `true` if VFS isolation is enabled (the default).\nWhen isolated, VFS scripts cannot fall through to the real filesystem\nfor requires or config resolution.",
          "tags": [],
          "name": "isIsolated",
          "return_str": "boolean",
          "function_type": "Function",
          "returns": [
            {
              "lua_type": "boolean",
              "desc": ""
            }
          ],
          "params": []
        },
        {
          "source": {
            "path": "",
            "line": 69
          },
          "is_method": false,
          "signature": "vfs.setIsolated(isolated: boolean) → ()",
          "owner": "vfs",
          "desc": "Sets VFS isolation mode. When disabled, VFS scripts can fall through\nto the real filesystem (relative to the exe directory) for requires\nand config resolution.",
          "tags": [],
          "name": "setIsolated",
          "return_str": "",
          "function_type": "Function",
          "returns": [],
          "params": [
            {
              "lua_type": "boolean",
              "name": "isolated",
              "desc": ""
            }
          ]
        }
      ],
      "properties": [],
      "source": {
        "path": "",
        "line": 0
      },
      "desc": ""
    }
  ]
}