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  }