lz

package module
v0.0.0-...-a06e95e Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: May 2, 2022 License: MIT Imports: 4 Imported by: 0

README

lz

lz is a Lazy Call Go library based on Go 1.18+ Generics.

You can define a function and parameters and call-by-need later.

Example

import (
    "github.com/jopbrown/lz"
)

func Download(url string) error {
	// download file from url
}

lazyCall1 := lz.CE1(Download, "http://example.com/mirror1/file.zip")
lazyCall2 := lz.CE1(Download, "http://example.com/mirror2/file.zip")
lazyCall3 := lz.CE1(Download, "http://example.com/mirror3/file.zip")

// call in order
err := lz.Call(lazyCall1, lazyCall2, lazyCall3)
if err != nil {
	// handle  error
}

// call in parallel
err = lz.CallInParallel(lazyCall1, lazyCall2, lazyCall3)
if err != nil {
	// handle  error
}

Usage

Create lazy call object
  • lz.CE{0~9}

    Create a lazy call object with a function return an error.

    func DoSomething() error {
    	...
    }
    func DoSomethingWith1Param(v1 string) error {
    	...
    }
    func DoSomethingWith2Param(v1 int, v2 float64) error {
    	...
    }
    
    lzc1 := lz.CE0(DoSomething)
    lzc2 := lz.CE1(DoSomethingWith1Param, v1)
    lzc3 := lz.CE2(DoSomethingWith2Param, v1, v2)
    
  • lz.CP{0~9}

    Create a lazy call object with a function has no return but may panic.

    When called later, panic will be catched and return as error.

    func DoSomething() {
    	...
    	panic("something wrong")
    }
    func DoSomethingWith1Param(v1 string) {
    	...
    	panic("something wrong")
    }
    func DoSomethingWith2Param(v1 int, v2 float64) {
    	...
    	panic("something wrong")
    }
    
    lzc1 := lz.CP0(DoSomething)
    lzc2 := lz.CP1(DoSomethingWith1Param, v1)
    lzc3 := lz.CP2(DoSomethingWith2Param, v1, v2)
    
  • lz.CEP{0~9}

    Create a lazy call object with a function return an error and may panic.

    When called later, panic will be catched and return as error.

    func DoSomething() error {
    	...
    	panic("something wrong")
    }
    func DoSomethingWith1Param(v1 string) error {
    	...
    	panic("something wrong")
    }
    func DoSomethingWith2Param(v1 int, v2 float64) error {
    	...
    	panic("something wrong")
    }
    
    
    lzc1 := lz.CPE0(DoSomething)
    lzc2 := lz.CPE1(DoSomethingWith1Param, v1)
    lzc3 := lz.CPE2(DoSomethingWith2Param, v1, v2)
    
Call single lazy object directly
var err := lzc1.Call()
if err != nil {
	// handle  error
}
Call multiple lazy objects
  • Call in order and stop on the first occur error.

    func sleepAndError(d time.Duration, err error) error {
    	time.Sleep(d)
    	return err
    }
    
    err := lz.Call(
    	lz.CE2(sleepAndError, 1*time.Microsecond, nil),
    	lz.CE2(sleepAndError, 2*time.Microsecond, nil),
    	lz.CE2(sleepAndError, 2*time.Microsecond, errGolden),
    	lz.CE2(sleepAndError, 1*time.Microsecond, errWrong1),
    	lz.CE2(sleepAndError, 1*time.Microsecond, errWrong2),
    )
    
    errors.Is(err, errGolden) // true
    
  • Call in parallel and stop on the first occur error.

    err := lz.CallInParallel(
    	lz.CE2(sleepAndError, 3*time.Microsecond, errWrong1),
    	lz.CP2(sleepAndPanic, 3*time.Microsecond, errWrong2),
    	lz.CP2(sleepAndPanic, 1*time.Microsecond, errWrong3),
    	lz.CE2(sleepAndError, 2*time.Microsecond, errWrong4),
    	lz.CE2(sleepAndError, 2*time.Microsecond, errWrong5),
    )
    
    // which error is unpredictable
    if err != nil {
    	// handle  error
    }
    
  • Call in parallel with limited goroutines and stop on the first occur error.

    err := lz.CallInParallelLimit(2, // limit to 2 goroutines
    		lz.CE2(sleepAndError, 3*time.Microsecond, errGolden),
    		lz.CE2(sleepAndError, 3*time.Microsecond, errWrong1),
    		lz.CE2(sleepAndError, 1*time.Microsecond, errWrong2),
    		lz.CE2(sleepAndError, 2*time.Microsecond, errWrong3),
    		lz.CE2(sleepAndError, 2*time.Microsecond, errWrong4),
    	)
    
    // which error is unpredictable
    if err != nil {
    	// handle  error
    }
    
  • Call all lazy objects in order and return multierror if any.

    err := lz.CallAll(
    		lz.CE2(sleepAndError, 1*time.Microsecond, errWrong1),
    		lz.CE2(sleepAndError, 2*time.Microsecond, nil),
    		lz.CE3(sleepAndError, 2*time.Microsecond, nil),
    		lz.CP2(sleepAndPanic, 1*time.Microsecond, errWrong2),
    		lz.CP2(sleepAndPanic, 1*time.Microsecond, errWrong3),
    	)
    
    errors.Is(err, errWrong1) // true
    errors.Is(err, errWrong2) // true
    errors.Is(err, errWrong3) // true
    
  • Call all lazy objects in parallel and return multierror if any.

    err := lz.CallAllInParallel(
    		lz.CE2(sleepAndError, 1*time.Microsecond, errWrong1),
    		lz.CE2(sleepAndError, 2*time.Microsecond, nil),
    		lz.CE3(sleepAndError, 2*time.Microsecond, nil),
    		lz.CP2(sleepAndPanic, 1*time.Microsecond, errWrong2),
    		lz.CP2(sleepAndPanic, 1*time.Microsecond, errWrong3),
    	)
    
    errors.Is(err, errWrong1) // true
    errors.Is(err, errWrong2) // true
    errors.Is(err, errWrong3) // true
    
  • Call all lazy objects in parallel with limited goroutines and return multierror if any.

    err := lz.CallAllInParallelLimit(2, // limit to 2 goroutines
    		lz.CE2(sleepAndError, 1*time.Microsecond, errWrong1),
    		lz.CE2(sleepAndError, 2*time.Microsecond, nil),
    		lz.CE3(sleepAndError, 2*time.Microsecond, nil),
    		lz.CP2(sleepAndPanic, 1*time.Microsecond, errWrong2),
    		lz.CP2(sleepAndPanic, 1*time.Microsecond, errWrong3),
    	)
    
    errors.Is(err, errWrong1) // true
    errors.Is(err, errWrong2) // true
    errors.Is(err, errWrong3) // true
    

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func Call

func Call(cs ...Caller) error

Call multiple lazy objects

func CallAll

func CallAll(cs ...Caller) error

CallAll call all lazy objects in order and return multierror if any.

func CallAllInParallel

func CallAllInParallel(cs ...Caller) error

CallAllInParallel call all lazy objects in parallel and return multierror if any.

func CallAllInParallelLimit

func CallAllInParallelLimit(goroutines int, cs ...Caller) error

CallAllInParallelLimit call all lazy objects in parallel with limited goroutines and return multierror if any.

func CallInParallel

func CallInParallel(cs ...Caller) error

CallInParallel call multiple lazy objects in parallel and stop on the first occur error.

func CallInParallelLimit

func CallInParallelLimit(goroutines int, cs ...Caller) error

CallInParallelLimit call multiple lazy objects in parallel with limited goroutines and stop on the first occur error.

Types

type Caller

type Caller interface {
	Call() error
}

type Func0

type Func0 func()

type Func0Err

type Func0Err func() error

type Func1

type Func1[T1 any] func(v T1)

type Func1Err

type Func1Err[T1 any] func(v T1) error

type Func2

type Func2[T1, T2 any] func(v1 T1, v2 T2)

type Func2Err

type Func2Err[T1, T2 any] func(v1 T1, v2 T2) error

type Func3

type Func3[T1, T2, T3 any] func(v1 T1, v2 T2, v3 T3)

type Func3Err

type Func3Err[T1, T2, T3 any] func(v1 T1, v2 T2, v3 T3) error

type Func4

type Func4[T1, T2, T3, T4 any] func(v1 T1, v2 T2, v3 T3, v4 T4)

type Func4Err

type Func4Err[T1, T2, T3, T4 any] func(v1 T1, v2 T2, v3 T3, v4 T4) error

type Func5

type Func5[T1, T2, T3, T4, T5 any] func(v1 T1, v2 T2, v3 T3, v4 T4, v5 T5)

type Func5Err

type Func5Err[T1, T2, T3, T4, T5 any] func(v1 T1, v2 T2, v3 T3, v4 T4, v5 T5) error

type Func6

type Func6[T1, T2, T3, T4, T5, T6 any] func(v1 T1, v2 T2, v3 T3, v4 T4, v5 T5, v6 T6)

type Func6Err

type Func6Err[T1, T2, T3, T4, T5, T6 any] func(v1 T1, v2 T2, v3 T3, v4 T4, v5 T5, v6 T6) error

type Func7

type Func7[T1, T2, T3, T4, T5, T6, T7 any] func(v1 T1, v2 T2, v3 T3, v4 T4, v5 T5, v6 T6, v7 T7)

type Func7Err

type Func7Err[T1, T2, T3, T4, T5, T6, T7 any] func(v1 T1, v2 T2, v3 T3, v4 T4, v5 T5, v6 T6, v7 T7) error

type Func8

type Func8[T1, T2, T3, T4, T5, T6, T7, T8 any] func(v1 T1, v2 T2, v3 T3, v4 T4, v5 T5, v6 T6, v7 T7, v8 T8)

type Func8Err

type Func8Err[T1, T2, T3, T4, T5, T6, T7, T8 any] func(v1 T1, v2 T2, v3 T3, v4 T4, v5 T5, v6 T6, v7 T7, v8 T8) error

type Func9

type Func9[T1, T2, T3, T4, T5, T6, T7, T8, T9 any] func(v1 T1, v2 T2, v3 T3, v4 T4, v5 T5, v6 T6, v7 T7, v8 T8, v9 T9)

type Func9Err

type Func9Err[T1, T2, T3, T4, T5, T6, T7, T8, T9 any] func(v1 T1, v2 T2, v3 T3, v4 T4, v5 T5, v6 T6, v7 T7, v8 T8, v9 T9) error

type LazyCall0

type LazyCall0 struct {
	// contains filtered or unexported fields
}

func CE0

func CE0(fn Func0Err) *LazyCall0

func (*LazyCall0) Call

func (lc *LazyCall0) Call() error

type LazyCall1

type LazyCall1[T1 any] struct {
	// contains filtered or unexported fields
}

func CE1

func CE1[T1 any](fn Func1Err[T1], v1 T1) *LazyCall1[T1]

func (*LazyCall1[T1]) Call

func (lc *LazyCall1[T1]) Call() error

type LazyCall2

type LazyCall2[T1, T2 any] struct {
	// contains filtered or unexported fields
}

func CE2

func CE2[T1, T2 any](fn Func2Err[T1, T2], v1 T1, v2 T2) *LazyCall2[T1, T2]

func (*LazyCall2[T1, T2]) Call

func (lc *LazyCall2[T1, T2]) Call() error

type LazyCall3

type LazyCall3[T1 any, T2 any, T3 any] struct {
	// contains filtered or unexported fields
}

func CE3

func CE3[T1, T2, T3 any](fn Func3Err[T1, T2, T3], v1 T1, v2 T2, v3 T3) *LazyCall3[T1, T2, T3]

func (*LazyCall3[T1, T2, T3]) Call

func (lc *LazyCall3[T1, T2, T3]) Call() error

type LazyCall4

type LazyCall4[T1, T2, T3, T4 any] struct {
	// contains filtered or unexported fields
}

func CE4

func CE4[T1, T2, T3, T4 any](fn Func4Err[T1, T2, T3, T4], v1 T1, v2 T2, v3 T3, v4 T4) *LazyCall4[T1, T2, T3, T4]

func (*LazyCall4[T1, T2, T3, T4]) Call

func (lc *LazyCall4[T1, T2, T3, T4]) Call() error

type LazyCall5

type LazyCall5[T1, T2, T3, T4, T5 any] struct {
	// contains filtered or unexported fields
}

func CE5

func CE5[T1, T2, T3, T4, T5 any](fn Func5Err[T1, T2, T3, T4, T5], v1 T1, v2 T2, v3 T3, v4 T4, v5 T5) *LazyCall5[T1, T2, T3, T4, T5]

func (*LazyCall5[T1, T2, T3, T4, T5]) Call

func (lc *LazyCall5[T1, T2, T3, T4, T5]) Call() error

type LazyCall6

type LazyCall6[T1, T2, T3, T4, T5, T6 any] struct {
	// contains filtered or unexported fields
}

func CE6

func CE6[T1, T2, T3, T4, T5, T6 any](fn Func6Err[T1, T2, T3, T4, T5, T6], v1 T1, v2 T2, v3 T3, v4 T4, v5 T5, v6 T6) *LazyCall6[T1, T2, T3, T4, T5, T6]

func (*LazyCall6[T1, T2, T3, T4, T5, T6]) Call

func (lc *LazyCall6[T1, T2, T3, T4, T5, T6]) Call() error

type LazyCall7

type LazyCall7[T1, T2, T3, T4, T5, T6, T7 any] struct {
	// contains filtered or unexported fields
}

func CE7

func CE7[T1, T2, T3, T4, T5, T6, T7 any](fn Func7Err[T1, T2, T3, T4, T5, T6, T7], v1 T1, v2 T2, v3 T3, v4 T4, v5 T5, v6 T6, v7 T7) *LazyCall7[T1, T2, T3, T4, T5, T6, T7]

func (*LazyCall7[T1, T2, T3, T4, T5, T6, T7]) Call

func (lc *LazyCall7[T1, T2, T3, T4, T5, T6, T7]) Call() error

type LazyCall8

type LazyCall8[T1, T2, T3, T4, T5, T6, T7, T8 any] struct {
	// contains filtered or unexported fields
}

func CE8

func CE8[T1, T2, T3, T4, T5, T6, T7, T8 any](fn Func8Err[T1, T2, T3, T4, T5, T6, T7, T8], v1 T1, v2 T2, v3 T3, v4 T4, v5 T5, v6 T6, v7 T7, v8 T8) *LazyCall8[T1, T2, T3, T4, T5, T6, T7, T8]

func (*LazyCall8[T1, T2, T3, T4, T5, T6, T7, T8]) Call

func (lc *LazyCall8[T1, T2, T3, T4, T5, T6, T7, T8]) Call() error

type LazyCall9

type LazyCall9[T1, T2, T3, T4, T5, T6, T7, T8, T9 any] struct {
	// contains filtered or unexported fields
}

func CE9

func CE9[T1, T2, T3, T4, T5, T6, T7, T8, T9 any](fn Func9Err[T1, T2, T3, T4, T5, T6, T7, T8, T9], v1 T1, v2 T2, v3 T3, v4 T4, v5 T5, v6 T6, v7 T7, v8 T8, v9 T9) *LazyCall9[T1, T2, T3, T4, T5, T6, T7, T8, T9]

func (*LazyCall9[T1, T2, T3, T4, T5, T6, T7, T8, T9]) Call

func (lc *LazyCall9[T1, T2, T3, T4, T5, T6, T7, T8, T9]) Call() error

type LazyCallPanic0

type LazyCallPanic0 struct {
	// contains filtered or unexported fields
}

func CP0

func CP0(fn Func0) *LazyCallPanic0

func (*LazyCallPanic0) Call

func (lc *LazyCallPanic0) Call() (err error)

type LazyCallPanic1

type LazyCallPanic1[T1 any] struct {
	// contains filtered or unexported fields
}

func CP1

func CP1[T1 any](fn Func1[T1], v1 T1) *LazyCallPanic1[T1]

func (*LazyCallPanic1[T1]) Call

func (lc *LazyCallPanic1[T1]) Call() (err error)

type LazyCallPanic2

type LazyCallPanic2[T1, T2 any] struct {
	// contains filtered or unexported fields
}

func CP2

func CP2[T1, T2 any](fn Func2[T1, T2], v1 T1, v2 T2) *LazyCallPanic2[T1, T2]

func (*LazyCallPanic2[T1, T2]) Call

func (lc *LazyCallPanic2[T1, T2]) Call() (err error)

type LazyCallPanic3

type LazyCallPanic3[T1, T2, T3 any] struct {
	// contains filtered or unexported fields
}

func CP3

func CP3[T1, T2, T3 any](fn Func3[T1, T2, T3], v1 T1, v2 T2, v3 T3) *LazyCallPanic3[T1, T2, T3]

func (*LazyCallPanic3[T1, T2, T3]) Call

func (lc *LazyCallPanic3[T1, T2, T3]) Call() (err error)

type LazyCallPanic4

type LazyCallPanic4[T1, T2, T3, T4 any] struct {
	// contains filtered or unexported fields
}

func CP4

func CP4[T1, T2, T3, T4 any](fn Func4[T1, T2, T3, T4], v1 T1, v2 T2, v3 T3, v4 T4) *LazyCallPanic4[T1, T2, T3, T4]

func (*LazyCallPanic4[T1, T2, T3, T4]) Call

func (lc *LazyCallPanic4[T1, T2, T3, T4]) Call() (err error)

type LazyCallPanic5

type LazyCallPanic5[T1, T2, T3, T4, T5 any] struct {
	// contains filtered or unexported fields
}

func CP5

func CP5[T1, T2, T3, T4, T5 any](fn Func5[T1, T2, T3, T4, T5], v1 T1, v2 T2, v3 T3, v4 T4, v5 T5) *LazyCallPanic5[T1, T2, T3, T4, T5]

func (*LazyCallPanic5[T1, T2, T3, T4, T5]) Call

func (lc *LazyCallPanic5[T1, T2, T3, T4, T5]) Call() (err error)

type LazyCallPanic6

type LazyCallPanic6[T1, T2, T3, T4, T5, T6 any] struct {
	// contains filtered or unexported fields
}

func CP6

func CP6[T1, T2, T3, T4, T5, T6 any](fn Func6[T1, T2, T3, T4, T5, T6], v1 T1, v2 T2, v3 T3, v4 T4, v5 T5, v6 T6) *LazyCallPanic6[T1, T2, T3, T4, T5, T6]

func (*LazyCallPanic6[T1, T2, T3, T4, T5, T6]) Call

func (lc *LazyCallPanic6[T1, T2, T3, T4, T5, T6]) Call() (err error)

type LazyCallPanic7

type LazyCallPanic7[T1, T2, T3, T4, T5, T6, T7 any] struct {
	// contains filtered or unexported fields
}

func CP7

func CP7[T1, T2, T3, T4, T5, T6, T7 any](fn Func7[T1, T2, T3, T4, T5, T6, T7], v1 T1, v2 T2, v3 T3, v4 T4, v5 T5, v6 T6, v7 T7) *LazyCallPanic7[T1, T2, T3, T4, T5, T6, T7]

func (*LazyCallPanic7[T1, T2, T3, T4, T5, T6, T7]) Call

func (lc *LazyCallPanic7[T1, T2, T3, T4, T5, T6, T7]) Call() (err error)

type LazyCallPanic8

type LazyCallPanic8[T1, T2, T3, T4, T5, T6, T7, T8 any] struct {
	// contains filtered or unexported fields
}

func CP8

func CP8[T1, T2, T3, T4, T5, T6, T7, T8 any](fn Func8[T1, T2, T3, T4, T5, T6, T7, T8], v1 T1, v2 T2, v3 T3, v4 T4, v5 T5, v6 T6, v7 T7, v8 T8) *LazyCallPanic8[T1, T2, T3, T4, T5, T6, T7, T8]

func (*LazyCallPanic8[T1, T2, T3, T4, T5, T6, T7, T8]) Call

func (lc *LazyCallPanic8[T1, T2, T3, T4, T5, T6, T7, T8]) Call() (err error)

type LazyCallPanic9

type LazyCallPanic9[T1, T2, T3, T4, T5, T6, T7, T8, T9 any] struct {
	// contains filtered or unexported fields
}

func CP9

func CP9[T1, T2, T3, T4, T5, T6, T7, T8, T9 any](fn Func9[T1, T2, T3, T4, T5, T6, T7, T8, T9], v1 T1, v2 T2, v3 T3, v4 T4, v5 T5, v6 T6, v7 T7, v8 T8, v9 T9) *LazyCallPanic9[T1, T2, T3, T4, T5, T6, T7, T8, T9]

func (*LazyCallPanic9[T1, T2, T3, T4, T5, T6, T7, T8, T9]) Call

func (lc *LazyCallPanic9[T1, T2, T3, T4, T5, T6, T7, T8, T9]) Call() (err error)

type LazyCallPanicOrError0

type LazyCallPanicOrError0 struct {
	// contains filtered or unexported fields
}

func CPE0

func (*LazyCallPanicOrError0) Call

func (lc *LazyCallPanicOrError0) Call() (err error)

type LazyCallPanicOrError1

type LazyCallPanicOrError1[T1 any] struct {
	// contains filtered or unexported fields
}

func CPE1

func CPE1[T1 any](fn Func1Err[T1], v1 T1) *LazyCallPanicOrError1[T1]

func (*LazyCallPanicOrError1[T1]) Call

func (lc *LazyCallPanicOrError1[T1]) Call() (err error)

type LazyCallPanicOrError2

type LazyCallPanicOrError2[T1, T2 any] struct {
	// contains filtered or unexported fields
}

func CPE2

func CPE2[T1, T2 any](fn Func2Err[T1, T2], v1 T1, v2 T2) *LazyCallPanicOrError2[T1, T2]

func (*LazyCallPanicOrError2[T1, T2]) Call

func (lc *LazyCallPanicOrError2[T1, T2]) Call() (err error)

type LazyCallPanicOrError3

type LazyCallPanicOrError3[T1 any, T2 any, T3 any] struct {
	// contains filtered or unexported fields
}

func CPE3

func CPE3[T1, T2, T3 any](fn Func3Err[T1, T2, T3], v1 T1, v2 T2, v3 T3) *LazyCallPanicOrError3[T1, T2, T3]

func (*LazyCallPanicOrError3[T1, T2, T3]) Call

func (lc *LazyCallPanicOrError3[T1, T2, T3]) Call() (err error)

type LazyCallPanicOrError4

type LazyCallPanicOrError4[T1, T2, T3, T4 any] struct {
	// contains filtered or unexported fields
}

func CPE4

func CPE4[T1, T2, T3, T4 any](fn Func4Err[T1, T2, T3, T4], v1 T1, v2 T2, v3 T3, v4 T4) *LazyCallPanicOrError4[T1, T2, T3, T4]

func (*LazyCallPanicOrError4[T1, T2, T3, T4]) Call

func (lc *LazyCallPanicOrError4[T1, T2, T3, T4]) Call() (err error)

type LazyCallPanicOrError5

type LazyCallPanicOrError5[T1, T2, T3, T4, T5 any] struct {
	// contains filtered or unexported fields
}

func CPE5

func CPE5[T1, T2, T3, T4, T5 any](fn Func5Err[T1, T2, T3, T4, T5], v1 T1, v2 T2, v3 T3, v4 T4, v5 T5) *LazyCallPanicOrError5[T1, T2, T3, T4, T5]

func (*LazyCallPanicOrError5[T1, T2, T3, T4, T5]) Call

func (lc *LazyCallPanicOrError5[T1, T2, T3, T4, T5]) Call() (err error)

type LazyCallPanicOrError6

type LazyCallPanicOrError6[T1, T2, T3, T4, T5, T6 any] struct {
	// contains filtered or unexported fields
}

func CPE6

func CPE6[T1, T2, T3, T4, T5, T6 any](fn Func6Err[T1, T2, T3, T4, T5, T6], v1 T1, v2 T2, v3 T3, v4 T4, v5 T5, v6 T6) *LazyCallPanicOrError6[T1, T2, T3, T4, T5, T6]

func (*LazyCallPanicOrError6[T1, T2, T3, T4, T5, T6]) Call

func (lc *LazyCallPanicOrError6[T1, T2, T3, T4, T5, T6]) Call() (err error)

type LazyCallPanicOrError7

type LazyCallPanicOrError7[T1, T2, T3, T4, T5, T6, T7 any] struct {
	// contains filtered or unexported fields
}

func CPE7

func CPE7[T1, T2, T3, T4, T5, T6, T7 any](fn Func7Err[T1, T2, T3, T4, T5, T6, T7], v1 T1, v2 T2, v3 T3, v4 T4, v5 T5, v6 T6, v7 T7) *LazyCallPanicOrError7[T1, T2, T3, T4, T5, T6, T7]

func (*LazyCallPanicOrError7[T1, T2, T3, T4, T5, T6, T7]) Call

func (lc *LazyCallPanicOrError7[T1, T2, T3, T4, T5, T6, T7]) Call() (err error)

type LazyCallPanicOrError8

type LazyCallPanicOrError8[T1, T2, T3, T4, T5, T6, T7, T8 any] struct {
	// contains filtered or unexported fields
}

func CPE8

func CPE8[T1, T2, T3, T4, T5, T6, T7, T8 any](fn Func8Err[T1, T2, T3, T4, T5, T6, T7, T8], v1 T1, v2 T2, v3 T3, v4 T4, v5 T5, v6 T6, v7 T7, v8 T8) *LazyCallPanicOrError8[T1, T2, T3, T4, T5, T6, T7, T8]

func (*LazyCallPanicOrError8[T1, T2, T3, T4, T5, T6, T7, T8]) Call

func (lc *LazyCallPanicOrError8[T1, T2, T3, T4, T5, T6, T7, T8]) Call() (err error)

type LazyCallPanicOrError9

type LazyCallPanicOrError9[T1, T2, T3, T4, T5, T6, T7, T8, T9 any] struct {
	// contains filtered or unexported fields
}

func CPE9

func CPE9[T1, T2, T3, T4, T5, T6, T7, T8, T9 any](fn Func9Err[T1, T2, T3, T4, T5, T6, T7, T8, T9], v1 T1, v2 T2, v3 T3, v4 T4, v5 T5, v6 T6, v7 T7, v8 T8, v9 T9) *LazyCallPanicOrError9[T1, T2, T3, T4, T5, T6, T7, T8, T9]

func (*LazyCallPanicOrError9[T1, T2, T3, T4, T5, T6, T7, T8, T9]) Call

func (lc *LazyCallPanicOrError9[T1, T2, T3, T4, T5, T6, T7, T8, T9]) Call() (err error)

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL