Events
Events describe asynchronous messages for pub/sub or event-driven flows.
Basic Syntax
Use event followed by the event identifier and a property block.
contractor
event SignUpEvent {
name: "auth.sign-up"
payload: UserCreatedPayload
}Properties
Events support:
name(required): string literalpayload(required): type reference
Type checker rules:
nameis required and must be a string literal.payloadis required and must be a valid type.- Unknown event properties are rejected.
Full Example
contractor
model UserCreatedPayload {
id: String
email: String
}
event UserCreated {
name: "user.created"
payload: UserCreatedPayload
}Common Mistakes
- Treating
nameas optional. - Using non-string value for
name. - Missing
payload.