Warp/docs/api/1.0/middleware.md
EternityDev 064075fbd9 v1.0.12
2024-05-29 16:58:20 +07:00

64 lines
No EOL
1.7 KiB
Markdown

# Middleware <Badge type="tip" text="feature" />
::: code-group
```lua [Server]
local Event1 = Warp.Server("Remote1")
local storeC = Event1:Connect(function(player: Player, arg1: string, arg2: number, arg3: boolean)
print(player, arg1, arg2, arg3)
end):middleware(function(player: Player, arg1: string, arg2: number, arg3: boolean)
assert(type(player) == "userdata" and player:IsA("Player"), "player must be a Player.")
assert(typeof(arg1) == "string", "arg1 must be a string.")
assert(typeof(arg2) == "number", "arg2 must be a number.")
assert(typeof(arg3) == "boolean", "arg3 must be a boolean.")
end)
print(storeC:key())
task.delay(15, function()
Event1:Disconnect(storeC:key())
end)
for _=1,5 do
print("send incorrect values")
Event1:Fires(true, 1e9, "hello world!")
task.wait(0.5)
end
for _=1,5 do
print("send correct values")
Event1:Fires(true, "hello world!", 1e9)
task.wait(0.5)
end
```
```lua [Client]
local Event1 = Warp.Client("Remote1")
local storeC = Event1:Connect(function(arg1: boolean, arg2: string, arg3: number)
print(arg1, arg2, arg3)
end):middleware(function(arg1: boolean, arg2: string, arg3: number)
assert(typeof(arg1) == "boolean", "arg1 must be a boolean.")
assert(typeof(arg2) == "string", "arg2 must be a string.")
assert(typeof(arg3) == "number", "arg3 must be a number.")
end)
print(storeC:key())
task.delay(15, function()
Event1:Disconnect(storeC:key())
end)
for _=1,5 do
print("send incorrect values")
Event1:Fires("hello world!", false, 1e9)
task.wait(0.5)
end
for _=1,5 do
print("send correct values")
Event1:Fires("hello world!", 1e9, false)
task.wait(0.5)
end
```
:::