func SetInputAttrs(args ...NewInputAttrs) error {
	if attrsSet == nil {
		attrsSet = &inputAttrsSet{data: map[string]NewInputAttrs{}}
	}
	if attrsSet.data == nil {
		attrsSet.data = map[string]NewInputAttrs{}
	}
	for _, f := range args {
		a := f()
		if reflect.TypeOf(a).Kind() != reflect.Ptr {
			return fmt.Errorf("NewInputAttrs must return pointer")
		}
		attrsSet.data[a.InputType()] = f
	}
	return nil
}
// SetInputAttrs sets InputAttrs.
// You can add the custom InputAttrs and override existing InputAttrs.
SetInputAttrs sets InputAttrs.
You can add the custom InputAttrs and override existing InputAttrs.
// SetInputAttrs sets InputAttrs . // You can add the custom InputAttrs and override existing InputAttrs .
func SetInputAttrs(args ...NewInputAttrs) error {
	if attrsSet == nil {
		attrsSet = &inputAttrsSet{data: map[string]NewInputAttrs{}}
	}
	if attrsSet.data == nil {
		attrsSet.data = map[string]NewInputAttrs{}
	}
	for _, f := range args {
		a := f()
		if reflect.TypeOf(a).Kind() != reflect.Ptr {
			return fmt.Errorf("NewInputAttrs must return pointer")
		}
		attrsSet.data[a.InputType()] = f
	}
	return nil
}
func SetInputAttrs ( args ... NewInputAttrs ) error { if attrsSet == nil { attrsSet = & inputAttrsSet { data : map [ string ] NewInputAttrs { } } } if attrsSet . data == nil { attrsSet . data = map [ string ] NewInputAttrs { } } for _ , f := range args { a := f ( ) if reflect . TypeOf ( a ) . Kind ( ) != reflect . Ptr { return fmt . Errorf ( " " ) } attrsSet . data [ a . InputType ( ) ] = f } return nil }
SetInputAttrs sets InputAttrs.
SetInputAttrs sets InputAttrs .