package gojay

import 

// EncodeSQLNullString encodes a string to
func ( *Encoder) ( *sql.NullString) error {
	if .isPooled == 1 {
		panic(InvalidUsagePooledEncoderError("Invalid usage of pooled encoder"))
	}
	_, _ = .encodeString(.String)
	,  := .Write()
	if  != nil {
		.err = 
		return 
	}
	return nil
}

// AddSQLNullString adds a string to be encoded, must be used inside a slice or array encoding (does not encode a key)
func ( *Encoder) ( *sql.NullString) {
	.String(.String)
}

// AddSQLNullStringOmitEmpty adds a string to be encoded or skips it if it is zero value.
// Must be used inside a slice or array encoding (does not encode a key)
func ( *Encoder) ( *sql.NullString) {
	if  != nil && .Valid && .String != "" {
		.StringOmitEmpty(.String)
	}
}

// AddSQLNullStringNullEmpty adds a string to be encoded or skips it if it is zero value.
// Must be used inside a slice or array encoding (does not encode a key)
func ( *Encoder) ( *sql.NullString) {
	if  != nil && .Valid {
		.StringNullEmpty(.String)
	}
}

// AddSQLNullStringKey adds a string to be encoded, must be used inside an object as it will encode a key
func ( *Encoder) ( string,  *sql.NullString) {
	.StringKey(, .String)
}

// AddSQLNullStringKeyOmitEmpty adds a string to be encoded or skips it if it is zero value.
// Must be used inside an object as it will encode a key
func ( *Encoder) ( string,  *sql.NullString) {
	if  != nil && .Valid && .String != "" {
		.StringKeyOmitEmpty(, .String)
	}
}

// SQLNullString adds a string to be encoded, must be used inside an object as it will encode a key
func ( *Encoder) ( *sql.NullString) {
	.String(.String)
}

// SQLNullStringOmitEmpty adds a string to be encoded, must be used inside an object as it will encode a key
func ( *Encoder) ( *sql.NullString) {
	if  != nil && .Valid && .String != "" {
		.String(.String)
	}
}

// SQLNullStringNullEmpty adds a string to be encoded, must be used inside an object as it will encode a key
func ( *Encoder) ( *sql.NullString) {
	if  != nil && .Valid {
		.StringNullEmpty(.String)
	}
}

// SQLNullStringKey adds a string to be encoded, must be used inside an object as it will encode a key
func ( *Encoder) ( string,  *sql.NullString) {
	.StringKey(, .String)
}

// SQLNullStringKeyOmitEmpty adds a string to be encoded or skips it if it is zero value.
// Must be used inside an object as it will encode a key
func ( *Encoder) ( string,  *sql.NullString) {
	if  != nil && .Valid && .String != "" {
		.StringKeyOmitEmpty(, .String)
	}
}

// SQLNullStringKeyNullEmpty adds a string to be encoded or skips it if it is zero value.
// Must be used inside an object as it will encode a key
func ( *Encoder) ( string,  *sql.NullString) {
	if  != nil && .Valid {
		.StringKeyNullEmpty(, .String)
	}
}

// NullInt64

// EncodeSQLNullInt64 encodes a string to
func ( *Encoder) ( *sql.NullInt64) error {
	if .isPooled == 1 {
		panic(InvalidUsagePooledEncoderError("Invalid usage of pooled encoder"))
	}
	_, _ = .encodeInt64(.Int64)
	,  := .Write()
	if  != nil {
		.err = 
		return 
	}
	return nil
}

// AddSQLNullInt64 adds a string to be encoded, must be used inside a slice or array encoding (does not encode a key)
func ( *Encoder) ( *sql.NullInt64) {
	.Int64(.Int64)
}

// AddSQLNullInt64OmitEmpty adds a string to be encoded or skips it if it is zero value.
// Must be used inside a slice or array encoding (does not encode a key)
func ( *Encoder) ( *sql.NullInt64) {
	if  != nil && .Valid && .Int64 != 0 {
		.Int64OmitEmpty(.Int64)
	}
}

// AddSQLNullInt64NullEmpty adds a string to be encoded or skips it if it is zero value.
// Must be used inside a slice or array encoding (does not encode a key)
func ( *Encoder) ( *sql.NullInt64) {
	if  != nil && .Valid {
		.Int64NullEmpty(.Int64)
	}
}

// AddSQLNullInt64Key adds a string to be encoded, must be used inside an object as it will encode a key
func ( *Encoder) ( string,  *sql.NullInt64) {
	.Int64Key(, .Int64)
}

// AddSQLNullInt64KeyOmitEmpty adds a string to be encoded or skips it if it is zero value.
// Must be used inside an object as it will encode a key
func ( *Encoder) ( string,  *sql.NullInt64) {
	if  != nil && .Valid && .Int64 != 0 {
		.Int64KeyOmitEmpty(, .Int64)
	}
}

// AddSQLNullInt64KeyNullEmpty adds a string to be encoded or skips it if it is zero value.
// Must be used inside an object as it will encode a key
func ( *Encoder) ( string,  *sql.NullInt64) {
	if  != nil && .Valid {
		.Int64KeyNullEmpty(, .Int64)
	}
}

// SQLNullInt64 adds a string to be encoded, must be used inside an object as it will encode a key
func ( *Encoder) ( *sql.NullInt64) {
	.Int64(.Int64)
}

// SQLNullInt64OmitEmpty adds a string to be encoded, must be used inside an object as it will encode a key
func ( *Encoder) ( *sql.NullInt64) {
	if  != nil && .Valid && .Int64 != 0 {
		.Int64(.Int64)
	}
}

// SQLNullInt64NullEmpty adds a string to be encoded, must be used inside an object as it will encode a key
func ( *Encoder) ( *sql.NullInt64) {
	if  != nil && .Valid {
		.Int64NullEmpty(.Int64)
	}
}

// SQLNullInt64Key adds a string to be encoded, must be used inside an object as it will encode a key
func ( *Encoder) ( string,  *sql.NullInt64) {
	.Int64Key(, .Int64)
}

// SQLNullInt64KeyOmitEmpty adds a string to be encoded or skips it if it is zero value.
// Must be used inside an object as it will encode a key
func ( *Encoder) ( string,  *sql.NullInt64) {
	if  != nil && .Valid && .Int64 != 0 {
		.Int64KeyOmitEmpty(, .Int64)
	}
}

// SQLNullInt64KeyNullEmpty adds a string to be encoded or skips it if it is zero value.
// Must be used inside an object as it will encode a key
func ( *Encoder) ( string,  *sql.NullInt64) {
	if  != nil && .Valid {
		.Int64KeyNullEmpty(, .Int64)
	}
}

// NullFloat64

// EncodeSQLNullFloat64 encodes a string to
func ( *Encoder) ( *sql.NullFloat64) error {
	if .isPooled == 1 {
		panic(InvalidUsagePooledEncoderError("Invalid usage of pooled encoder"))
	}
	_, _ = .encodeFloat(.Float64)
	,  := .Write()
	if  != nil {
		.err = 
		return 
	}
	return nil
}

// AddSQLNullFloat64 adds a string to be encoded, must be used inside a slice or array encoding (does not encode a key)
func ( *Encoder) ( *sql.NullFloat64) {
	.Float64(.Float64)
}

// AddSQLNullFloat64OmitEmpty adds a string to be encoded or skips it if it is zero value.
// Must be used inside a slice or array encoding (does not encode a key)
func ( *Encoder) ( *sql.NullFloat64) {
	if  != nil && .Valid && .Float64 != 0 {
		.Float64OmitEmpty(.Float64)
	}
}

// AddSQLNullFloat64NullEmpty adds a string to be encoded or skips it if it is zero value.
// Must be used inside a slice or array encoding (does not encode a key)
func ( *Encoder) ( *sql.NullFloat64) {
	if  != nil && .Valid {
		.Float64NullEmpty(.Float64)
	}
}

// AddSQLNullFloat64Key adds a string to be encoded, must be used inside an object as it will encode a key
func ( *Encoder) ( string,  *sql.NullFloat64) {
	.Float64Key(, .Float64)
}

// AddSQLNullFloat64KeyOmitEmpty adds a string to be encoded or skips it if it is zero value.
// Must be used inside an object as it will encode a key
func ( *Encoder) ( string,  *sql.NullFloat64) {
	if  != nil && .Valid && .Float64 != 0 {
		.Float64KeyOmitEmpty(, .Float64)
	}
}

// AddSQLNullFloat64KeyNullEmpty adds a string to be encoded or skips it if it is zero value.
// Must be used inside an object as it will encode a key
func ( *Encoder) ( string,  *sql.NullFloat64) {
	if  != nil && .Valid {
		.Float64KeyNullEmpty(, .Float64)
	}
}

// SQLNullFloat64 adds a string to be encoded, must be used inside an object as it will encode a key
func ( *Encoder) ( *sql.NullFloat64) {
	.Float64(.Float64)
}

// SQLNullFloat64OmitEmpty adds a string to be encoded, must be used inside an object as it will encode a key
func ( *Encoder) ( *sql.NullFloat64) {
	if  != nil && .Valid && .Float64 != 0 {
		.Float64(.Float64)
	}
}

// SQLNullFloat64NullEmpty adds a string to be encoded, must be used inside an object as it will encode a key
func ( *Encoder) ( *sql.NullFloat64) {
	if  != nil && .Valid {
		.Float64NullEmpty(.Float64)
	}
}

// SQLNullFloat64Key adds a string to be encoded, must be used inside an object as it will encode a key
func ( *Encoder) ( string,  *sql.NullFloat64) {
	.Float64Key(, .Float64)
}

// SQLNullFloat64KeyOmitEmpty adds a string to be encoded or skips it if it is zero value.
// Must be used inside an object as it will encode a key
func ( *Encoder) ( string,  *sql.NullFloat64) {
	if  != nil && .Valid && .Float64 != 0 {
		.Float64KeyOmitEmpty(, .Float64)
	}
}

// SQLNullFloat64KeyNullEmpty adds a string to be encoded or skips it if it is zero value.
// Must be used inside an object as it will encode a key
func ( *Encoder) ( string,  *sql.NullFloat64) {
	if  != nil && .Valid {
		.Float64KeyNullEmpty(, .Float64)
	}
}

// NullBool

// EncodeSQLNullBool encodes a string to
func ( *Encoder) ( *sql.NullBool) error {
	if .isPooled == 1 {
		panic(InvalidUsagePooledEncoderError("Invalid usage of pooled encoder"))
	}
	_, _ = .encodeBool(.Bool)
	,  := .Write()
	if  != nil {
		.err = 
		return 
	}
	return nil
}

// AddSQLNullBool adds a string to be encoded, must be used inside a slice or array encoding (does not encode a key)
func ( *Encoder) ( *sql.NullBool) {
	.Bool(.Bool)
}

// AddSQLNullBoolOmitEmpty adds a string to be encoded or skips it if it is zero value.
// Must be used inside a slice or array encoding (does not encode a key)
func ( *Encoder) ( *sql.NullBool) {
	if  != nil && .Valid && .Bool != false {
		.BoolOmitEmpty(.Bool)
	}
}

// AddSQLNullBoolKey adds a string to be encoded, must be used inside an object as it will encode a key
func ( *Encoder) ( string,  *sql.NullBool) {
	.BoolKey(, .Bool)
}

// AddSQLNullBoolKeyOmitEmpty adds a string to be encoded or skips it if it is zero value.
// Must be used inside an object as it will encode a key
func ( *Encoder) ( string,  *sql.NullBool) {
	if  != nil && .Valid && .Bool != false {
		.BoolKeyOmitEmpty(, .Bool)
	}
}

// AddSQLNullBoolKeyNullEmpty adds a string to be encoded or skips it if it is zero value.
// Must be used inside an object as it will encode a key
func ( *Encoder) ( string,  *sql.NullBool) {
	if  != nil && .Valid {
		.BoolKeyNullEmpty(, .Bool)
	}
}

// SQLNullBool adds a string to be encoded, must be used inside an object as it will encode a key
func ( *Encoder) ( *sql.NullBool) {
	.Bool(.Bool)
}

// SQLNullBoolOmitEmpty adds a string to be encoded, must be used inside an object as it will encode a key
func ( *Encoder) ( *sql.NullBool) {
	if  != nil && .Valid && .Bool != false {
		.Bool(.Bool)
	}
}

// SQLNullBoolNullEmpty adds a string to be encoded, must be used inside an object as it will encode a key
func ( *Encoder) ( *sql.NullBool) {
	if  != nil && .Valid {
		.BoolNullEmpty(.Bool)
	}
}

// SQLNullBoolKey adds a string to be encoded, must be used inside an object as it will encode a key
func ( *Encoder) ( string,  *sql.NullBool) {
	.BoolKey(, .Bool)
}

// SQLNullBoolKeyOmitEmpty adds a string to be encoded or skips it if it is zero value.
// Must be used inside an object as it will encode a key
func ( *Encoder) ( string,  *sql.NullBool) {
	if  != nil && .Valid && .Bool != false {
		.BoolKeyOmitEmpty(, .Bool)
	}
}

// SQLNullBoolKeyNullEmpty adds a string to be encoded or skips it if it is zero value.
// Must be used inside an object as it will encode a key
func ( *Encoder) ( string,  *sql.NullBool) {
	if  != nil && .Valid {
		.BoolKeyNullEmpty(, .Bool)
	}
}