func WithViewCall(f func(Context) (interface{}, error)) RunViewOption {
	return func(o *RunViewOptions) error {
		o.Call = f
		return nil
	}
}
WithViewCall sets the Call function to invoke. When specified, it overrides all options and arguments passing a view
package view
import "context"
type RunViewOptions struct {
	Session     Session
	AsInitiator bool
	Call        func(Context) (interface{}, error)
}
func CompileRunViewOptions(opts ...RunViewOption) (*RunViewOptions, error) {
	txOptions := &RunViewOptions{}
	for _, opt := range opts {
		if err := opt(txOptions); err != nil {
			return nil, err
		}
	}
	return txOptions, nil
}
type RunViewOption func(*RunViewOptions) error
func AsResponder(session Session) RunViewOption {
	return func(o *RunViewOptions) error {
		o.Session = session
		return nil
	}
}
func AsInitiator() RunViewOption {
	return func(o *RunViewOptions) error {
		o.AsInitiator = true
		return nil
	}
}