...
1 package zeronull
2
3 import (
4 "database/sql/driver"
5
6 "github.com/jackc/pgx/v5/pgtype"
7 )
8
9 type Text string
10
11 func (Text) SkipUnderlyingTypePlan() {}
12
13
14 func (dst *Text) ScanText(v pgtype.Text) error {
15 if !v.Valid {
16 *dst = ""
17 return nil
18 }
19
20 *dst = Text(v.String)
21
22 return nil
23 }
24
25
26 func (dst *Text) Scan(src any) error {
27 if src == nil {
28 *dst = ""
29 return nil
30 }
31
32 var nullable pgtype.Text
33 err := nullable.Scan(src)
34 if err != nil {
35 return err
36 }
37
38 *dst = Text(nullable.String)
39
40 return nil
41 }
42
43
44 func (src Text) Value() (driver.Value, error) {
45 if src == "" {
46 return nil, nil
47 }
48 return string(src), nil
49 }
50
View as plain text