pkg.re/essentialkaos/ek@v12.36.0+incompatible/events/examples_test.go (about) 1 package events 2 3 // ////////////////////////////////////////////////////////////////////////////////// // 4 // // 5 // Copyright (c) 2021 ESSENTIAL KAOS // 6 // Apache License, Version 2.0 <https://www.apache.org/licenses/LICENSE-2.0> // 7 // // 8 // ////////////////////////////////////////////////////////////////////////////////// // 9 10 import ( 11 "fmt" 12 ) 13 14 // ////////////////////////////////////////////////////////////////////////////////// // 15 16 func ExampleNewDispatcher() { 17 d := NewDispatcher() 18 19 d.AddHandler("myEvent", testHandler) 20 21 d.Dispatch("myEvent", "Hello!") 22 } 23 24 func ExampleDispatcher_AddHandler() { 25 d := NewDispatcher() 26 27 d.AddHandler("myEvent", testHandler) 28 d.AddHandler("unknownEvent", testHandler) 29 30 err := d.Dispatch("myEvent", "Hello!") 31 32 fmt.Println(err) // nil 33 } 34 35 func ExampleDispatcher_RemoveHandler() { 36 d := NewDispatcher() 37 38 d.AddHandler("myEvent", testHandler) 39 d.RemoveHandler("myEvent", testHandler) 40 41 err := d.Dispatch("myEvent", "Hello!") 42 43 fmt.Println(err) // not nil 44 } 45 46 func ExampleDispatcher_HasHandler() { 47 d := NewDispatcher() 48 49 d.AddHandler("myEvent", testHandler) 50 51 fmt.Println("myEvent:", d.HasHandler("myEvent", testHandler)) 52 fmt.Println("unknownEvent:", d.HasHandler("unknownEvent", testHandler)) 53 54 // Output: 55 // myEvent: true 56 // unknownEvent: false 57 } 58 59 func ExampleDispatcher_Dispatch() { 60 d := NewDispatcher() 61 62 d.AddHandler("myEvent", testHandler) 63 64 err := d.Dispatch("myEvent", "Hello!") 65 66 fmt.Println(err) // nil 67 } 68 69 func ExampleDispatcher_DispatchAndWait() { 70 d := NewDispatcher() 71 72 d.AddHandler("myEvent", testHandler) 73 74 err := d.DispatchAndWait("myEvent", "Hello!") 75 76 fmt.Println(err) // nil 77 } 78 79 // ////////////////////////////////////////////////////////////////////////////////// // 80 81 func testHandler(payload interface{}) { 82 fmt.Printf("Got payload: %v\n", payload) 83 }