-- Compiled with roblox-ts v3.0.0 local TS = _G[script] local _event = TS.import(script, script, "event") local SharedRemoteEventServerToClient = _event.SharedRemoteEventServerToClient local SharedRemoteEventClientToServer = _event.SharedRemoteEventClientToServer local SharedRemoteAction = TS.import(script, script, "action").SharedRemoteAction local logAssert = TS.import(script, script.Parent.Parent, "utilities").logAssert --* @hidden local SharedComponentNetwork = {} do local _container = SharedComponentNetwork --* @metadata macro local event = function(mode, validator) logAssert(validator, "Guard must be provided") logAssert(mode, "Mode must be provided") return if mode == "ServerToClient" then SharedRemoteEventServerToClient.new(validator) else SharedRemoteEventClientToServer.new(validator) end _container.event = event --* @metadata macro local action = function(validator) logAssert(validator, "Guard must be provided") return SharedRemoteAction.new(validator) end _container.action = action end return { SharedComponentNetwork = SharedComponentNetwork, }