encoding

package
v1.0.0-beta.1 Latest Latest
Warning

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

Go to latest
Published: Oct 6, 2025 License: MIT Imports: 15 Imported by: 35

Documentation

Overview

The `types` package is reference from :

https://jackieli.dev/posts/pointers-in-go-used-in-sql-scanner/

This package is a helper library to prevent the value being fallback using reflection in `database/sql`.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func BoolScanner

func BoolScanner[T ~bool, Ptr addrOrPtr[T]](addr Ptr, strict ...bool) sql.Scanner

func ByteArrayScanner

func ByteArrayScanner[T ~byte](v []T, size int) sql.Scanner

func Float32Scanner

func Float32Scanner[T ~float32, Addr addrOrPtr[T]](addr Addr, strict ...bool) sql.Scanner

Float returns a sql.Scanner

func Float64Scanner

func Float64Scanner[T ~float64, Addr addrOrPtr[T]](addr Addr, strict ...bool) sql.Scanner

Float returns a sql.Scanner

func Int8Scanner

func Int8Scanner[T ~int8, Addr addrOrPtr[T]](addr Addr) sql.Scanner

func Int16Scanner

func Int16Scanner[T ~int16, Addr addrOrPtr[T]](addr Addr) sql.Scanner

func Int32Scanner

func Int32Scanner[T ~int32, Addr addrOrPtr[T]](addr Addr) sql.Scanner

func Int64Scanner

func Int64Scanner[T ~int64, Addr addrOrPtr[T]](addr Addr) sql.Scanner

func IntScanner

func IntScanner[T ~int, Addr addrOrPtr[T]](addr Addr) sql.Scanner

func JSONScanner

func JSONScanner[T any, Addr interface{ *T }](addr Addr) sql.Scanner

func JSONValue

func JSONValue[T any](addr T) driver.Valuer

func MarshalBoolSlice

func MarshalBoolSlice[V ~bool](list []V) string

func MarshalFloat64List

func MarshalFloat64List[V ~float64](list []V, prec ...int) string

func MarshalIntSlice

func MarshalIntSlice[V ~int | ~int8 | ~int16 | ~int32 | ~int64](list []V) string

func MarshalStringSlice

func MarshalStringSlice[V ~[]byte | ~string](list []V) string

func MarshalTimeList

func MarshalTimeList[V time.Time](list []V) string

func MarshalUintSlice

func MarshalUintSlice[V ~uint | ~uint8 | ~uint16 | ~uint32 | ~uint64 | ~uintptr](list []V) string

func PtrScanner

func PtrScanner[T any, Ptr interface {
	*T
	sql.Scanner
}, Addr *Ptr](addr Addr) sql.Scanner

func RuneArrayScanner

func RuneArrayScanner[T ~rune](v []T, size int) sql.Scanner

func StringScanner

func StringScanner[T stringType, Ptr addrOrPtr[T]](addr Ptr, strict ...bool) sql.Scanner

func TextScanner

func TextScanner[T any, Ptr interface {
	*T
	encoding.TextUnmarshaler
}, Addr interface{ *T | **T }](addr Addr) sql.Scanner

func TextValue

func TextValue[T encoding.TextMarshaler](addr T) driver.Valuer

func TimeScanner

func TimeScanner[T addrOrPtr[time.Time]](addr T) sql.Scanner

Time is a function return a SQL valuer nor scanner, it support pointer or pointer of value

func Uint8Scanner

func Uint8Scanner[T ~uint8, Addr addrOrPtr[T]](addr Addr) sql.Scanner

func Uint16Scanner

func Uint16Scanner[T ~uint16, Addr addrOrPtr[T]](addr Addr) sql.Scanner

func Uint32Scanner

func Uint32Scanner[T ~uint32, Addr addrOrPtr[T]](addr Addr) sql.Scanner

func Uint64Scanner

func Uint64Scanner[T ~uint64, Addr addrOrPtr[T]](addr Addr) sql.Scanner

func UintScanner

func UintScanner[T ~uint, Addr addrOrPtr[T]](addr Addr) sql.Scanner

Types

This section is empty.

Jump to

Keyboard shortcuts

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