Show raw api
{
    "functions": [],
    "properties": [
        {
            "name": "ServerComm",
            "desc": "",
            "lua_type": "ServerComm",
            "source": {
                "line": 12,
                "path": "modules/comm/Server/init.luau"
            }
        },
        {
            "name": "ClientComm",
            "desc": "",
            "lua_type": "ClientComm",
            "source": {
                "line": 16,
                "path": "modules/comm/Server/init.luau"
            }
        }
    ],
    "types": [
        {
            "name": "Server",
            "desc": "Server Comm",
            "fields": [
                {
                    "name": "BindFunction",
                    "lua_type": "(parent: Instance, name: string, fn: FnBind, inboundMiddleware: ServerMiddleware?, outboundMiddleware: ServerMiddleware?): RemoteFunction",
                    "desc": ""
                },
                {
                    "name": "WrapMethod",
                    "lua_type": "(parent: Instance, tbl: table, name: string, inboundMiddleware: ServerMiddleware?, outboundMiddleware: ServerMiddleware?): RemoteFunction",
                    "desc": ""
                },
                {
                    "name": "CreateSignal",
                    "lua_type": "(parent: Instance, name: string, inboundMiddleware: ServerMiddleware?, outboundMiddleware: ServerMiddleware?): RemoteSignal",
                    "desc": ""
                },
                {
                    "name": "CreateProperty",
                    "lua_type": "(parent: Instance, name: string, value: any, inboundMiddleware: ServerMiddleware?, outboundMiddleware: ServerMiddleware?): RemoteProperty",
                    "desc": ""
                }
            ],
            "private": true,
            "source": {
                "line": 27,
                "path": "modules/comm/Server/init.luau"
            }
        },
        {
            "name": "Client",
            "desc": "Client Comm",
            "fields": [
                {
                    "name": "GetFunction",
                    "lua_type": "(parent: Instance, name: string, usePromise: boolean, inboundMiddleware: ClientMiddleware?, outboundMiddleware: ClientMiddleware?): (...: any) -> any",
                    "desc": ""
                },
                {
                    "name": "GetSignal",
                    "lua_type": "(parent: Instance, name: string, inboundMiddleware: ClientMiddleware?, outboundMiddleware: ClientMiddleware?): ClientRemoteSignal",
                    "desc": ""
                },
                {
                    "name": "GetProperty",
                    "lua_type": "(parent: Instance, name: string, inboundMiddleware: ClientMiddleware?, outboundMiddleware: ClientMiddleware?): ClientRemoteProperty",
                    "desc": ""
                }
            ],
            "private": true,
            "source": {
                "line": 36,
                "path": "modules/comm/Server/init.luau"
            }
        }
    ],
    "name": "Comm",
    "desc": "Remote communication library.\n\nThis exposes the raw functions that are used by the `ServerComm` and `ClientComm` classes.\nThose two classes should be preferred over accessing the functions directly through this\nComm library.\n\n```lua\n-- Server\nlocal ServerComm = require(ReplicatedStorage.Packages.Comm).ServerComm\nlocal serverComm = ServerComm.new(somewhere, \"MyComm\")\nserverComm:BindFunction(\"Hello\", function(player: Player)\n\treturn \"Hi\"\nend)\n\n-- Client\nlocal ClientComm = require(ReplicatedStorage.Packages.Comm).ClientComm\nlocal clientComm = ClientComm.new(somewhere, false, \"MyComm\")\nlocal comm = clientComm:BuildObject()\nprint(comm:Hello()) --> Hi\n```",
    "source": {
        "line": 28,
        "path": "modules/comm/init.luau"
    }
}