github.com/bingoohuang/gg@v0.0.0-20240325092523-45da7dee9335/pkg/fp/err.go (about) 1 package fp 2 3 import "log" 4 5 func Must[T any](t T, err error) T { 6 if err != nil { 7 log.Fatalf("failed: %v", err) 8 } 9 10 return t 11 } 12 13 func Must2[T, T2 any](t T, t2 T2, err error) (T, T2) { 14 if err != nil { 15 log.Fatalf("failed: %v", err) 16 } 17 18 return t, t2 19 } 20 21 func Must3[T, T2, T3 any](t T, t2 T2, t3 T3, err error) (T, T2, T3) { 22 if err != nil { 23 log.Fatalf("failed: %v", err) 24 } 25 26 return t, t2, t3 27 } 28 29 func Must4[T, T2, T3, T4 any](t T, t2 T2, t3 T3, t4 T4, err error) (T, T2, T3, T4) { 30 if err != nil { 31 log.Fatalf("failed: %v", err) 32 } 33 34 return t, t2, t3, t4 35 } 36 37 func Must5[T, T2, T3, T4, T5 any](t T, t2 T2, t3 T3, t4 T4, t5 T5, err error) (T, T2, T3, T4, T5) { 38 if err != nil { 39 log.Fatalf("failed: %v", err) 40 } 41 42 return t, t2, t3, t4, t5 43 }