@event_handler [
type:
{:spark_function_behaviour, ChannelHandler.Plugs.Handler,
{ChannelHandler.Plugs.Handler.Function, 2}},
required: true
]
@event %Spark.Dsl.Entity{
name: :event,
target: Event,
args: [:name],
describe: """
Handles an event matching exactly `name`.
## Examples
event "create_post" do
handler fn {payload, bindings}, socket ->
# ...
end
end
""",
entities: [plugs: [@plug]],
schema: [
name: [
type: :string,
required: true,
doc: """
The event to match.
"""
],
handler: @event_handler
]
}
@event_handler [
type:
{:spark_function_behaviour, ChannelHandler.Plugs.Handler,
{ChannelHandler.Plugs.Handler.Function, 2}},
required: true
]
@event %Spark.Dsl.Entity{
name: :event,
target: Event,
args: [:name],
describe: """
Handles an event matching exactly `name`.
## Examples
event "create_post" do
handler fn {payload, bindings}, socket ->
# ...
end
end
""",
entities: [plugs: [@plug]],
schema: [
name: [
type: :string,
required: true,
doc: """
The event to match.
"""
],
handler: @event_handler
]
}