{
  "classes": [
    {
      "constants": [],
      "types": [],
      "name": "@eryx/_fs_watch",
      "tags": [],
      "functions": [
        {
          "source": {
            "path": "",
            "line": 18
          },
          "is_method": false,
          "signature": "_fs_watch.create(path: string, recursive: boolean, callback: ((eventType: string, filename: string?) → ())) → WatchHandle",
          "owner": "_fs_watch",
          "desc": "Creates a low-level filesystem watcher.\nThe callback is invoked with (eventType, filename?) each time the watched\npath changes.  `eventType` is `\"change\"` or `\"rename\"`.\n`filename` is the name of the changed file (may be nil on some platforms).\nSet `recursive` to `true` to watch subdirectories (supported on Windows\nand macOS; on Linux each subdirectory needs its own watcher).",
          "tags": [],
          "name": "create",
          "return_str": "WatchHandle",
          "function_type": "Function",
          "returns": [
            {
              "lua_type": "WatchHandle",
              "desc": ""
            }
          ],
          "params": [
            {
              "lua_type": "string",
              "name": "path",
              "desc": ""
            },
            {
              "lua_type": "boolean",
              "name": "recursive",
              "desc": ""
            },
            {
              "lua_type": "((eventType: string, filename: string?) → ())",
              "name": "callback",
              "desc": ""
            }
          ]
        }
      ],
      "properties": [],
      "source": {
        "path": "",
        "line": 0
      },
      "desc": ""
    },
    {
      "is_primary_export": false,
      "source": {
        "path": "",
        "line": 3
      },
      "tags": [],
      "properties": [],
      "desc": "",
      "name": "WatchHandle",
      "functions": [
        {
          "source": {
            "path": "",
            "line": 5
          },
          "is_method": true,
          "signature": "WatchHandle:stop() → ()",
          "desc": "Stops the filesystem watcher and releases its resources.",
          "tags": [],
          "name": "stop",
          "return_str": "()",
          "function_type": "Method",
          "returns": [],
          "params": []
        },
        {
          "source": {
            "path": "",
            "line": 7
          },
          "is_method": true,
          "signature": "WatchHandle:ref() → ()",
          "desc": "Makes this handle keep the event loop alive (it is unref'd by default).",
          "tags": [],
          "name": "ref",
          "return_str": "()",
          "function_type": "Method",
          "returns": [],
          "params": []
        },
        {
          "source": {
            "path": "",
            "line": 9
          },
          "is_method": true,
          "signature": "WatchHandle:unref() → ()",
          "desc": "Allows the event loop to exit even while this handle is active (the default).",
          "tags": [],
          "name": "unref",
          "return_str": "()",
          "function_type": "Method",
          "returns": [],
          "params": []
        }
      ],
      "metamethods": [],
      "types": []
    }
  ]
}