1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 package strfmt
16
17 import (
18 "database/sql/driver"
19 "encoding/base64"
20 "encoding/json"
21 "errors"
22 "fmt"
23 "net/mail"
24 "regexp"
25 "strings"
26
27 "github.com/asaskevich/govalidator"
28 "github.com/google/uuid"
29 "go.mongodb.org/mongo-driver/bson"
30 )
31
32 const (
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60 HostnamePattern = `^([a-zA-Z0-9\p{S}\p{L}]((-?[a-zA-Z0-9\p{S}\p{L}]{0,62})?)|([a-zA-Z0-9\p{S}\p{L}](([a-zA-Z0-9-\p{S}\p{L}]{0,61}[a-zA-Z0-9\p{S}\p{L}])?)(\.)){1,}([a-zA-Z\p{L}]){2,63})$`
61
62
63 jsonNull = "null"
64 )
65
66 const (
67
68
69
70 UUIDPattern = `(?i)(^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$)|(^[0-9a-f]{32}$)`
71
72
73
74
75 UUID3Pattern = `(?i)(^[0-9a-f]{8}-[0-9a-f]{4}-3[0-9a-f]{3}-[0-9a-f]{4}-[0-9a-f]{12}$)|(^[0-9a-f]{12}3[0-9a-f]{3}?[0-9a-f]{16}$)`
76
77
78
79
80 UUID4Pattern = `(?i)(^[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$)|(^[0-9a-f]{12}4[0-9a-f]{3}[89ab][0-9a-f]{15}$)`
81
82
83
84
85 UUID5Pattern = `(?i)(^[0-9a-f]{8}-[0-9a-f]{4}-5[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$)|(^[0-9a-f]{12}5[0-9a-f]{3}[89ab][0-9a-f]{15}$)`
86 )
87
88 var (
89 rxHostname = regexp.MustCompile(HostnamePattern)
90 )
91
92
93 func IsHostname(str string) bool {
94 if !rxHostname.MatchString(str) {
95 return false
96 }
97
98
99 if len(str) > 255 {
100 return false
101 }
102
103
104 parts := strings.Split(str, ".")
105 valid := true
106 for _, p := range parts {
107 if len(p) > 63 {
108 valid = false
109 }
110 }
111 return valid
112 }
113
114
115 func IsUUID(str string) bool {
116 _, err := uuid.Parse(str)
117 return err == nil
118 }
119
120
121 func IsUUID3(str string) bool {
122 id, err := uuid.Parse(str)
123 return err == nil && id.Version() == uuid.Version(3)
124 }
125
126
127 func IsUUID4(str string) bool {
128 id, err := uuid.Parse(str)
129 return err == nil && id.Version() == uuid.Version(4)
130 }
131
132
133 func IsUUID5(str string) bool {
134 id, err := uuid.Parse(str)
135 return err == nil && id.Version() == uuid.Version(5)
136 }
137
138
139 func IsEmail(str string) bool {
140 addr, e := mail.ParseAddress(str)
141 return e == nil && addr.Address != ""
142 }
143
144 func init() {
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166 u := URI("")
167 Default.Add("uri", &u, govalidator.IsRequestURI)
168
169 eml := Email("")
170 Default.Add("email", &eml, IsEmail)
171
172 hn := Hostname("")
173 Default.Add("hostname", &hn, IsHostname)
174
175 ip4 := IPv4("")
176 Default.Add("ipv4", &ip4, govalidator.IsIPv4)
177
178 ip6 := IPv6("")
179 Default.Add("ipv6", &ip6, govalidator.IsIPv6)
180
181 cidr := CIDR("")
182 Default.Add("cidr", &cidr, govalidator.IsCIDR)
183
184 mac := MAC("")
185 Default.Add("mac", &mac, govalidator.IsMAC)
186
187 uid := UUID("")
188 Default.Add("uuid", &uid, IsUUID)
189
190 uid3 := UUID3("")
191 Default.Add("uuid3", &uid3, IsUUID3)
192
193 uid4 := UUID4("")
194 Default.Add("uuid4", &uid4, IsUUID4)
195
196 uid5 := UUID5("")
197 Default.Add("uuid5", &uid5, IsUUID5)
198
199 isbn := ISBN("")
200 Default.Add("isbn", &isbn, func(str string) bool { return govalidator.IsISBN10(str) || govalidator.IsISBN13(str) })
201
202 isbn10 := ISBN10("")
203 Default.Add("isbn10", &isbn10, govalidator.IsISBN10)
204
205 isbn13 := ISBN13("")
206 Default.Add("isbn13", &isbn13, govalidator.IsISBN13)
207
208 cc := CreditCard("")
209 Default.Add("creditcard", &cc, govalidator.IsCreditCard)
210
211 ssn := SSN("")
212 Default.Add("ssn", &ssn, govalidator.IsSSN)
213
214 hc := HexColor("")
215 Default.Add("hexcolor", &hc, govalidator.IsHexcolor)
216
217 rc := RGBColor("")
218 Default.Add("rgbcolor", &rc, govalidator.IsRGBcolor)
219
220 b64 := Base64([]byte(nil))
221 Default.Add("byte", &b64, govalidator.IsBase64)
222
223 pw := Password("")
224 Default.Add("password", &pw, func(_ string) bool { return true })
225 }
226
227
228
229
230 type Base64 []byte
231
232
233 func (b Base64) MarshalText() ([]byte, error) {
234 enc := base64.URLEncoding
235 src := []byte(b)
236 buf := make([]byte, enc.EncodedLen(len(src)))
237 enc.Encode(buf, src)
238 return buf, nil
239 }
240
241
242 func (b *Base64) UnmarshalText(data []byte) error {
243 enc := base64.URLEncoding
244 dbuf := make([]byte, enc.DecodedLen(len(data)))
245
246 n, err := enc.Decode(dbuf, data)
247 if err != nil {
248 return err
249 }
250
251 *b = dbuf[:n]
252 return nil
253 }
254
255
256 func (b *Base64) Scan(raw interface{}) error {
257 switch v := raw.(type) {
258 case []byte:
259 dbuf := make([]byte, base64.StdEncoding.DecodedLen(len(v)))
260 n, err := base64.StdEncoding.Decode(dbuf, v)
261 if err != nil {
262 return err
263 }
264 *b = dbuf[:n]
265 case string:
266 vv, err := base64.StdEncoding.DecodeString(v)
267 if err != nil {
268 return err
269 }
270 *b = Base64(vv)
271 default:
272 return fmt.Errorf("cannot sql.Scan() strfmt.Base64 from: %#v", v)
273 }
274
275 return nil
276 }
277
278
279 func (b Base64) Value() (driver.Value, error) {
280 return driver.Value(b.String()), nil
281 }
282
283 func (b Base64) String() string {
284 return base64.StdEncoding.EncodeToString([]byte(b))
285 }
286
287
288 func (b Base64) MarshalJSON() ([]byte, error) {
289 return json.Marshal(b.String())
290 }
291
292
293 func (b *Base64) UnmarshalJSON(data []byte) error {
294 var b64str string
295 if err := json.Unmarshal(data, &b64str); err != nil {
296 return err
297 }
298 vb, err := base64.StdEncoding.DecodeString(b64str)
299 if err != nil {
300 return err
301 }
302 *b = Base64(vb)
303 return nil
304 }
305
306
307 func (b Base64) MarshalBSON() ([]byte, error) {
308 return bson.Marshal(bson.M{"data": b.String()})
309 }
310
311
312 func (b *Base64) UnmarshalBSON(data []byte) error {
313 var m bson.M
314 if err := bson.Unmarshal(data, &m); err != nil {
315 return err
316 }
317
318 if bd, ok := m["data"].(string); ok {
319 vb, err := base64.StdEncoding.DecodeString(bd)
320 if err != nil {
321 return err
322 }
323 *b = Base64(vb)
324 return nil
325 }
326 return errors.New("couldn't unmarshal bson bytes as base64")
327 }
328
329
330 func (b *Base64) DeepCopyInto(out *Base64) {
331 *out = *b
332 }
333
334
335 func (b *Base64) DeepCopy() *Base64 {
336 if b == nil {
337 return nil
338 }
339 out := new(Base64)
340 b.DeepCopyInto(out)
341 return out
342 }
343
344
345
346
347 type URI string
348
349
350 func (u URI) MarshalText() ([]byte, error) {
351 return []byte(string(u)), nil
352 }
353
354
355 func (u *URI) UnmarshalText(data []byte) error {
356 *u = URI(string(data))
357 return nil
358 }
359
360
361 func (u *URI) Scan(raw interface{}) error {
362 switch v := raw.(type) {
363 case []byte:
364 *u = URI(string(v))
365 case string:
366 *u = URI(v)
367 default:
368 return fmt.Errorf("cannot sql.Scan() strfmt.URI from: %#v", v)
369 }
370
371 return nil
372 }
373
374
375 func (u URI) Value() (driver.Value, error) {
376 return driver.Value(string(u)), nil
377 }
378
379 func (u URI) String() string {
380 return string(u)
381 }
382
383
384 func (u URI) MarshalJSON() ([]byte, error) {
385 return json.Marshal(string(u))
386 }
387
388
389 func (u *URI) UnmarshalJSON(data []byte) error {
390 var uristr string
391 if err := json.Unmarshal(data, &uristr); err != nil {
392 return err
393 }
394 *u = URI(uristr)
395 return nil
396 }
397
398
399 func (u URI) MarshalBSON() ([]byte, error) {
400 return bson.Marshal(bson.M{"data": u.String()})
401 }
402
403
404 func (u *URI) UnmarshalBSON(data []byte) error {
405 var m bson.M
406 if err := bson.Unmarshal(data, &m); err != nil {
407 return err
408 }
409
410 if ud, ok := m["data"].(string); ok {
411 *u = URI(ud)
412 return nil
413 }
414 return errors.New("couldn't unmarshal bson bytes as uri")
415 }
416
417
418 func (u *URI) DeepCopyInto(out *URI) {
419 *out = *u
420 }
421
422
423 func (u *URI) DeepCopy() *URI {
424 if u == nil {
425 return nil
426 }
427 out := new(URI)
428 u.DeepCopyInto(out)
429 return out
430 }
431
432
433
434
435 type Email string
436
437
438 func (e Email) MarshalText() ([]byte, error) {
439 return []byte(string(e)), nil
440 }
441
442
443 func (e *Email) UnmarshalText(data []byte) error {
444 *e = Email(string(data))
445 return nil
446 }
447
448
449 func (e *Email) Scan(raw interface{}) error {
450 switch v := raw.(type) {
451 case []byte:
452 *e = Email(string(v))
453 case string:
454 *e = Email(v)
455 default:
456 return fmt.Errorf("cannot sql.Scan() strfmt.Email from: %#v", v)
457 }
458
459 return nil
460 }
461
462
463 func (e Email) Value() (driver.Value, error) {
464 return driver.Value(string(e)), nil
465 }
466
467 func (e Email) String() string {
468 return string(e)
469 }
470
471
472 func (e Email) MarshalJSON() ([]byte, error) {
473 return json.Marshal(string(e))
474 }
475
476
477 func (e *Email) UnmarshalJSON(data []byte) error {
478 var estr string
479 if err := json.Unmarshal(data, &estr); err != nil {
480 return err
481 }
482 *e = Email(estr)
483 return nil
484 }
485
486
487 func (e Email) MarshalBSON() ([]byte, error) {
488 return bson.Marshal(bson.M{"data": e.String()})
489 }
490
491
492 func (e *Email) UnmarshalBSON(data []byte) error {
493 var m bson.M
494 if err := bson.Unmarshal(data, &m); err != nil {
495 return err
496 }
497
498 if ud, ok := m["data"].(string); ok {
499 *e = Email(ud)
500 return nil
501 }
502 return errors.New("couldn't unmarshal bson bytes as email")
503 }
504
505
506 func (e *Email) DeepCopyInto(out *Email) {
507 *out = *e
508 }
509
510
511 func (e *Email) DeepCopy() *Email {
512 if e == nil {
513 return nil
514 }
515 out := new(Email)
516 e.DeepCopyInto(out)
517 return out
518 }
519
520
521
522
523 type Hostname string
524
525
526 func (h Hostname) MarshalText() ([]byte, error) {
527 return []byte(string(h)), nil
528 }
529
530
531 func (h *Hostname) UnmarshalText(data []byte) error {
532 *h = Hostname(string(data))
533 return nil
534 }
535
536
537 func (h *Hostname) Scan(raw interface{}) error {
538 switch v := raw.(type) {
539 case []byte:
540 *h = Hostname(string(v))
541 case string:
542 *h = Hostname(v)
543 default:
544 return fmt.Errorf("cannot sql.Scan() strfmt.Hostname from: %#v", v)
545 }
546
547 return nil
548 }
549
550
551 func (h Hostname) Value() (driver.Value, error) {
552 return driver.Value(string(h)), nil
553 }
554
555 func (h Hostname) String() string {
556 return string(h)
557 }
558
559
560 func (h Hostname) MarshalJSON() ([]byte, error) {
561 return json.Marshal(string(h))
562 }
563
564
565 func (h *Hostname) UnmarshalJSON(data []byte) error {
566 var hstr string
567 if err := json.Unmarshal(data, &hstr); err != nil {
568 return err
569 }
570 *h = Hostname(hstr)
571 return nil
572 }
573
574
575 func (h Hostname) MarshalBSON() ([]byte, error) {
576 return bson.Marshal(bson.M{"data": h.String()})
577 }
578
579
580 func (h *Hostname) UnmarshalBSON(data []byte) error {
581 var m bson.M
582 if err := bson.Unmarshal(data, &m); err != nil {
583 return err
584 }
585
586 if ud, ok := m["data"].(string); ok {
587 *h = Hostname(ud)
588 return nil
589 }
590 return errors.New("couldn't unmarshal bson bytes as hostname")
591 }
592
593
594 func (h *Hostname) DeepCopyInto(out *Hostname) {
595 *out = *h
596 }
597
598
599 func (h *Hostname) DeepCopy() *Hostname {
600 if h == nil {
601 return nil
602 }
603 out := new(Hostname)
604 h.DeepCopyInto(out)
605 return out
606 }
607
608
609
610
611 type IPv4 string
612
613
614 func (u IPv4) MarshalText() ([]byte, error) {
615 return []byte(string(u)), nil
616 }
617
618
619 func (u *IPv4) UnmarshalText(data []byte) error {
620 *u = IPv4(string(data))
621 return nil
622 }
623
624
625 func (u *IPv4) Scan(raw interface{}) error {
626 switch v := raw.(type) {
627 case []byte:
628 *u = IPv4(string(v))
629 case string:
630 *u = IPv4(v)
631 default:
632 return fmt.Errorf("cannot sql.Scan() strfmt.IPv4 from: %#v", v)
633 }
634
635 return nil
636 }
637
638
639 func (u IPv4) Value() (driver.Value, error) {
640 return driver.Value(string(u)), nil
641 }
642
643 func (u IPv4) String() string {
644 return string(u)
645 }
646
647
648 func (u IPv4) MarshalJSON() ([]byte, error) {
649 return json.Marshal(string(u))
650 }
651
652
653 func (u *IPv4) UnmarshalJSON(data []byte) error {
654 var ustr string
655 if err := json.Unmarshal(data, &ustr); err != nil {
656 return err
657 }
658 *u = IPv4(ustr)
659 return nil
660 }
661
662
663 func (u IPv4) MarshalBSON() ([]byte, error) {
664 return bson.Marshal(bson.M{"data": u.String()})
665 }
666
667
668 func (u *IPv4) UnmarshalBSON(data []byte) error {
669 var m bson.M
670 if err := bson.Unmarshal(data, &m); err != nil {
671 return err
672 }
673
674 if ud, ok := m["data"].(string); ok {
675 *u = IPv4(ud)
676 return nil
677 }
678 return errors.New("couldn't unmarshal bson bytes as ipv4")
679 }
680
681
682 func (u *IPv4) DeepCopyInto(out *IPv4) {
683 *out = *u
684 }
685
686
687 func (u *IPv4) DeepCopy() *IPv4 {
688 if u == nil {
689 return nil
690 }
691 out := new(IPv4)
692 u.DeepCopyInto(out)
693 return out
694 }
695
696
697
698
699 type IPv6 string
700
701
702 func (u IPv6) MarshalText() ([]byte, error) {
703 return []byte(string(u)), nil
704 }
705
706
707 func (u *IPv6) UnmarshalText(data []byte) error {
708 *u = IPv6(string(data))
709 return nil
710 }
711
712
713 func (u *IPv6) Scan(raw interface{}) error {
714 switch v := raw.(type) {
715 case []byte:
716 *u = IPv6(string(v))
717 case string:
718 *u = IPv6(v)
719 default:
720 return fmt.Errorf("cannot sql.Scan() strfmt.IPv6 from: %#v", v)
721 }
722
723 return nil
724 }
725
726
727 func (u IPv6) Value() (driver.Value, error) {
728 return driver.Value(string(u)), nil
729 }
730
731 func (u IPv6) String() string {
732 return string(u)
733 }
734
735
736 func (u IPv6) MarshalJSON() ([]byte, error) {
737 return json.Marshal(string(u))
738 }
739
740
741 func (u *IPv6) UnmarshalJSON(data []byte) error {
742 var ustr string
743 if err := json.Unmarshal(data, &ustr); err != nil {
744 return err
745 }
746 *u = IPv6(ustr)
747 return nil
748 }
749
750
751 func (u IPv6) MarshalBSON() ([]byte, error) {
752 return bson.Marshal(bson.M{"data": u.String()})
753 }
754
755
756 func (u *IPv6) UnmarshalBSON(data []byte) error {
757 var m bson.M
758 if err := bson.Unmarshal(data, &m); err != nil {
759 return err
760 }
761
762 if ud, ok := m["data"].(string); ok {
763 *u = IPv6(ud)
764 return nil
765 }
766 return errors.New("couldn't unmarshal bson bytes as ipv6")
767 }
768
769
770 func (u *IPv6) DeepCopyInto(out *IPv6) {
771 *out = *u
772 }
773
774
775 func (u *IPv6) DeepCopy() *IPv6 {
776 if u == nil {
777 return nil
778 }
779 out := new(IPv6)
780 u.DeepCopyInto(out)
781 return out
782 }
783
784
785
786
787 type CIDR string
788
789
790 func (u CIDR) MarshalText() ([]byte, error) {
791 return []byte(string(u)), nil
792 }
793
794
795 func (u *CIDR) UnmarshalText(data []byte) error {
796 *u = CIDR(string(data))
797 return nil
798 }
799
800
801 func (u *CIDR) Scan(raw interface{}) error {
802 switch v := raw.(type) {
803 case []byte:
804 *u = CIDR(string(v))
805 case string:
806 *u = CIDR(v)
807 default:
808 return fmt.Errorf("cannot sql.Scan() strfmt.CIDR from: %#v", v)
809 }
810
811 return nil
812 }
813
814
815 func (u CIDR) Value() (driver.Value, error) {
816 return driver.Value(string(u)), nil
817 }
818
819 func (u CIDR) String() string {
820 return string(u)
821 }
822
823
824 func (u CIDR) MarshalJSON() ([]byte, error) {
825 return json.Marshal(string(u))
826 }
827
828
829 func (u *CIDR) UnmarshalJSON(data []byte) error {
830 var ustr string
831 if err := json.Unmarshal(data, &ustr); err != nil {
832 return err
833 }
834 *u = CIDR(ustr)
835 return nil
836 }
837
838
839 func (u CIDR) MarshalBSON() ([]byte, error) {
840 return bson.Marshal(bson.M{"data": u.String()})
841 }
842
843
844 func (u *CIDR) UnmarshalBSON(data []byte) error {
845 var m bson.M
846 if err := bson.Unmarshal(data, &m); err != nil {
847 return err
848 }
849
850 if ud, ok := m["data"].(string); ok {
851 *u = CIDR(ud)
852 return nil
853 }
854 return errors.New("couldn't unmarshal bson bytes as CIDR")
855 }
856
857
858 func (u *CIDR) DeepCopyInto(out *CIDR) {
859 *out = *u
860 }
861
862
863 func (u *CIDR) DeepCopy() *CIDR {
864 if u == nil {
865 return nil
866 }
867 out := new(CIDR)
868 u.DeepCopyInto(out)
869 return out
870 }
871
872
873
874
875 type MAC string
876
877
878 func (u MAC) MarshalText() ([]byte, error) {
879 return []byte(string(u)), nil
880 }
881
882
883 func (u *MAC) UnmarshalText(data []byte) error {
884 *u = MAC(string(data))
885 return nil
886 }
887
888
889 func (u *MAC) Scan(raw interface{}) error {
890 switch v := raw.(type) {
891 case []byte:
892 *u = MAC(string(v))
893 case string:
894 *u = MAC(v)
895 default:
896 return fmt.Errorf("cannot sql.Scan() strfmt.IPv4 from: %#v", v)
897 }
898
899 return nil
900 }
901
902
903 func (u MAC) Value() (driver.Value, error) {
904 return driver.Value(string(u)), nil
905 }
906
907 func (u MAC) String() string {
908 return string(u)
909 }
910
911
912 func (u MAC) MarshalJSON() ([]byte, error) {
913 return json.Marshal(string(u))
914 }
915
916
917 func (u *MAC) UnmarshalJSON(data []byte) error {
918 var ustr string
919 if err := json.Unmarshal(data, &ustr); err != nil {
920 return err
921 }
922 *u = MAC(ustr)
923 return nil
924 }
925
926
927 func (u MAC) MarshalBSON() ([]byte, error) {
928 return bson.Marshal(bson.M{"data": u.String()})
929 }
930
931
932 func (u *MAC) UnmarshalBSON(data []byte) error {
933 var m bson.M
934 if err := bson.Unmarshal(data, &m); err != nil {
935 return err
936 }
937
938 if ud, ok := m["data"].(string); ok {
939 *u = MAC(ud)
940 return nil
941 }
942 return errors.New("couldn't unmarshal bson bytes as MAC")
943 }
944
945
946 func (u *MAC) DeepCopyInto(out *MAC) {
947 *out = *u
948 }
949
950
951 func (u *MAC) DeepCopy() *MAC {
952 if u == nil {
953 return nil
954 }
955 out := new(MAC)
956 u.DeepCopyInto(out)
957 return out
958 }
959
960
961
962
963 type UUID string
964
965
966 func (u UUID) MarshalText() ([]byte, error) {
967 return []byte(string(u)), nil
968 }
969
970
971 func (u *UUID) UnmarshalText(data []byte) error {
972 *u = UUID(string(data))
973 return nil
974 }
975
976
977 func (u *UUID) Scan(raw interface{}) error {
978 switch v := raw.(type) {
979 case []byte:
980 *u = UUID(string(v))
981 case string:
982 *u = UUID(v)
983 default:
984 return fmt.Errorf("cannot sql.Scan() strfmt.UUID from: %#v", v)
985 }
986
987 return nil
988 }
989
990
991 func (u UUID) Value() (driver.Value, error) {
992 return driver.Value(string(u)), nil
993 }
994
995 func (u UUID) String() string {
996 return string(u)
997 }
998
999
1000 func (u UUID) MarshalJSON() ([]byte, error) {
1001 return json.Marshal(string(u))
1002 }
1003
1004
1005 func (u *UUID) UnmarshalJSON(data []byte) error {
1006 if string(data) == jsonNull {
1007 return nil
1008 }
1009 var ustr string
1010 if err := json.Unmarshal(data, &ustr); err != nil {
1011 return err
1012 }
1013 *u = UUID(ustr)
1014 return nil
1015 }
1016
1017
1018 func (u UUID) MarshalBSON() ([]byte, error) {
1019 return bson.Marshal(bson.M{"data": u.String()})
1020 }
1021
1022
1023 func (u *UUID) UnmarshalBSON(data []byte) error {
1024 var m bson.M
1025 if err := bson.Unmarshal(data, &m); err != nil {
1026 return err
1027 }
1028
1029 if ud, ok := m["data"].(string); ok {
1030 *u = UUID(ud)
1031 return nil
1032 }
1033 return errors.New("couldn't unmarshal bson bytes as UUID")
1034 }
1035
1036
1037 func (u *UUID) DeepCopyInto(out *UUID) {
1038 *out = *u
1039 }
1040
1041
1042 func (u *UUID) DeepCopy() *UUID {
1043 if u == nil {
1044 return nil
1045 }
1046 out := new(UUID)
1047 u.DeepCopyInto(out)
1048 return out
1049 }
1050
1051
1052
1053
1054 type UUID3 string
1055
1056
1057 func (u UUID3) MarshalText() ([]byte, error) {
1058 return []byte(string(u)), nil
1059 }
1060
1061
1062 func (u *UUID3) UnmarshalText(data []byte) error {
1063 *u = UUID3(string(data))
1064 return nil
1065 }
1066
1067
1068 func (u *UUID3) Scan(raw interface{}) error {
1069 switch v := raw.(type) {
1070 case []byte:
1071 *u = UUID3(string(v))
1072 case string:
1073 *u = UUID3(v)
1074 default:
1075 return fmt.Errorf("cannot sql.Scan() strfmt.UUID3 from: %#v", v)
1076 }
1077
1078 return nil
1079 }
1080
1081
1082 func (u UUID3) Value() (driver.Value, error) {
1083 return driver.Value(string(u)), nil
1084 }
1085
1086 func (u UUID3) String() string {
1087 return string(u)
1088 }
1089
1090
1091 func (u UUID3) MarshalJSON() ([]byte, error) {
1092 return json.Marshal(string(u))
1093 }
1094
1095
1096 func (u *UUID3) UnmarshalJSON(data []byte) error {
1097 if string(data) == jsonNull {
1098 return nil
1099 }
1100 var ustr string
1101 if err := json.Unmarshal(data, &ustr); err != nil {
1102 return err
1103 }
1104 *u = UUID3(ustr)
1105 return nil
1106 }
1107
1108
1109 func (u UUID3) MarshalBSON() ([]byte, error) {
1110 return bson.Marshal(bson.M{"data": u.String()})
1111 }
1112
1113
1114 func (u *UUID3) UnmarshalBSON(data []byte) error {
1115 var m bson.M
1116 if err := bson.Unmarshal(data, &m); err != nil {
1117 return err
1118 }
1119
1120 if ud, ok := m["data"].(string); ok {
1121 *u = UUID3(ud)
1122 return nil
1123 }
1124 return errors.New("couldn't unmarshal bson bytes as UUID3")
1125 }
1126
1127
1128 func (u *UUID3) DeepCopyInto(out *UUID3) {
1129 *out = *u
1130 }
1131
1132
1133 func (u *UUID3) DeepCopy() *UUID3 {
1134 if u == nil {
1135 return nil
1136 }
1137 out := new(UUID3)
1138 u.DeepCopyInto(out)
1139 return out
1140 }
1141
1142
1143
1144
1145 type UUID4 string
1146
1147
1148 func (u UUID4) MarshalText() ([]byte, error) {
1149 return []byte(string(u)), nil
1150 }
1151
1152
1153 func (u *UUID4) UnmarshalText(data []byte) error {
1154 *u = UUID4(string(data))
1155 return nil
1156 }
1157
1158
1159 func (u *UUID4) Scan(raw interface{}) error {
1160 switch v := raw.(type) {
1161 case []byte:
1162 *u = UUID4(string(v))
1163 case string:
1164 *u = UUID4(v)
1165 default:
1166 return fmt.Errorf("cannot sql.Scan() strfmt.UUID4 from: %#v", v)
1167 }
1168
1169 return nil
1170 }
1171
1172
1173 func (u UUID4) Value() (driver.Value, error) {
1174 return driver.Value(string(u)), nil
1175 }
1176
1177 func (u UUID4) String() string {
1178 return string(u)
1179 }
1180
1181
1182 func (u UUID4) MarshalJSON() ([]byte, error) {
1183 return json.Marshal(string(u))
1184 }
1185
1186
1187 func (u *UUID4) UnmarshalJSON(data []byte) error {
1188 if string(data) == jsonNull {
1189 return nil
1190 }
1191 var ustr string
1192 if err := json.Unmarshal(data, &ustr); err != nil {
1193 return err
1194 }
1195 *u = UUID4(ustr)
1196 return nil
1197 }
1198
1199
1200 func (u UUID4) MarshalBSON() ([]byte, error) {
1201 return bson.Marshal(bson.M{"data": u.String()})
1202 }
1203
1204
1205 func (u *UUID4) UnmarshalBSON(data []byte) error {
1206 var m bson.M
1207 if err := bson.Unmarshal(data, &m); err != nil {
1208 return err
1209 }
1210
1211 if ud, ok := m["data"].(string); ok {
1212 *u = UUID4(ud)
1213 return nil
1214 }
1215 return errors.New("couldn't unmarshal bson bytes as UUID4")
1216 }
1217
1218
1219 func (u *UUID4) DeepCopyInto(out *UUID4) {
1220 *out = *u
1221 }
1222
1223
1224 func (u *UUID4) DeepCopy() *UUID4 {
1225 if u == nil {
1226 return nil
1227 }
1228 out := new(UUID4)
1229 u.DeepCopyInto(out)
1230 return out
1231 }
1232
1233
1234
1235
1236 type UUID5 string
1237
1238
1239 func (u UUID5) MarshalText() ([]byte, error) {
1240 return []byte(string(u)), nil
1241 }
1242
1243
1244 func (u *UUID5) UnmarshalText(data []byte) error {
1245 *u = UUID5(string(data))
1246 return nil
1247 }
1248
1249
1250 func (u *UUID5) Scan(raw interface{}) error {
1251 switch v := raw.(type) {
1252 case []byte:
1253 *u = UUID5(string(v))
1254 case string:
1255 *u = UUID5(v)
1256 default:
1257 return fmt.Errorf("cannot sql.Scan() strfmt.UUID5 from: %#v", v)
1258 }
1259
1260 return nil
1261 }
1262
1263
1264 func (u UUID5) Value() (driver.Value, error) {
1265 return driver.Value(string(u)), nil
1266 }
1267
1268 func (u UUID5) String() string {
1269 return string(u)
1270 }
1271
1272
1273 func (u UUID5) MarshalJSON() ([]byte, error) {
1274 return json.Marshal(string(u))
1275 }
1276
1277
1278 func (u *UUID5) UnmarshalJSON(data []byte) error {
1279 if string(data) == jsonNull {
1280 return nil
1281 }
1282 var ustr string
1283 if err := json.Unmarshal(data, &ustr); err != nil {
1284 return err
1285 }
1286 *u = UUID5(ustr)
1287 return nil
1288 }
1289
1290
1291 func (u UUID5) MarshalBSON() ([]byte, error) {
1292 return bson.Marshal(bson.M{"data": u.String()})
1293 }
1294
1295
1296 func (u *UUID5) UnmarshalBSON(data []byte) error {
1297 var m bson.M
1298 if err := bson.Unmarshal(data, &m); err != nil {
1299 return err
1300 }
1301
1302 if ud, ok := m["data"].(string); ok {
1303 *u = UUID5(ud)
1304 return nil
1305 }
1306 return errors.New("couldn't unmarshal bson bytes as UUID5")
1307 }
1308
1309
1310 func (u *UUID5) DeepCopyInto(out *UUID5) {
1311 *out = *u
1312 }
1313
1314
1315 func (u *UUID5) DeepCopy() *UUID5 {
1316 if u == nil {
1317 return nil
1318 }
1319 out := new(UUID5)
1320 u.DeepCopyInto(out)
1321 return out
1322 }
1323
1324
1325
1326
1327 type ISBN string
1328
1329
1330 func (u ISBN) MarshalText() ([]byte, error) {
1331 return []byte(string(u)), nil
1332 }
1333
1334
1335 func (u *ISBN) UnmarshalText(data []byte) error {
1336 *u = ISBN(string(data))
1337 return nil
1338 }
1339
1340
1341 func (u *ISBN) Scan(raw interface{}) error {
1342 switch v := raw.(type) {
1343 case []byte:
1344 *u = ISBN(string(v))
1345 case string:
1346 *u = ISBN(v)
1347 default:
1348 return fmt.Errorf("cannot sql.Scan() strfmt.ISBN from: %#v", v)
1349 }
1350
1351 return nil
1352 }
1353
1354
1355 func (u ISBN) Value() (driver.Value, error) {
1356 return driver.Value(string(u)), nil
1357 }
1358
1359 func (u ISBN) String() string {
1360 return string(u)
1361 }
1362
1363
1364 func (u ISBN) MarshalJSON() ([]byte, error) {
1365 return json.Marshal(string(u))
1366 }
1367
1368
1369 func (u *ISBN) UnmarshalJSON(data []byte) error {
1370 if string(data) == jsonNull {
1371 return nil
1372 }
1373 var ustr string
1374 if err := json.Unmarshal(data, &ustr); err != nil {
1375 return err
1376 }
1377 *u = ISBN(ustr)
1378 return nil
1379 }
1380
1381
1382 func (u ISBN) MarshalBSON() ([]byte, error) {
1383 return bson.Marshal(bson.M{"data": u.String()})
1384 }
1385
1386
1387 func (u *ISBN) UnmarshalBSON(data []byte) error {
1388 var m bson.M
1389 if err := bson.Unmarshal(data, &m); err != nil {
1390 return err
1391 }
1392
1393 if ud, ok := m["data"].(string); ok {
1394 *u = ISBN(ud)
1395 return nil
1396 }
1397 return errors.New("couldn't unmarshal bson bytes as ISBN")
1398 }
1399
1400
1401 func (u *ISBN) DeepCopyInto(out *ISBN) {
1402 *out = *u
1403 }
1404
1405
1406 func (u *ISBN) DeepCopy() *ISBN {
1407 if u == nil {
1408 return nil
1409 }
1410 out := new(ISBN)
1411 u.DeepCopyInto(out)
1412 return out
1413 }
1414
1415
1416
1417
1418 type ISBN10 string
1419
1420
1421 func (u ISBN10) MarshalText() ([]byte, error) {
1422 return []byte(string(u)), nil
1423 }
1424
1425
1426 func (u *ISBN10) UnmarshalText(data []byte) error {
1427 *u = ISBN10(string(data))
1428 return nil
1429 }
1430
1431
1432 func (u *ISBN10) Scan(raw interface{}) error {
1433 switch v := raw.(type) {
1434 case []byte:
1435 *u = ISBN10(string(v))
1436 case string:
1437 *u = ISBN10(v)
1438 default:
1439 return fmt.Errorf("cannot sql.Scan() strfmt.ISBN10 from: %#v", v)
1440 }
1441
1442 return nil
1443 }
1444
1445
1446 func (u ISBN10) Value() (driver.Value, error) {
1447 return driver.Value(string(u)), nil
1448 }
1449
1450 func (u ISBN10) String() string {
1451 return string(u)
1452 }
1453
1454
1455 func (u ISBN10) MarshalJSON() ([]byte, error) {
1456 return json.Marshal(string(u))
1457 }
1458
1459
1460 func (u *ISBN10) UnmarshalJSON(data []byte) error {
1461 if string(data) == jsonNull {
1462 return nil
1463 }
1464 var ustr string
1465 if err := json.Unmarshal(data, &ustr); err != nil {
1466 return err
1467 }
1468 *u = ISBN10(ustr)
1469 return nil
1470 }
1471
1472
1473 func (u ISBN10) MarshalBSON() ([]byte, error) {
1474 return bson.Marshal(bson.M{"data": u.String()})
1475 }
1476
1477
1478 func (u *ISBN10) UnmarshalBSON(data []byte) error {
1479 var m bson.M
1480 if err := bson.Unmarshal(data, &m); err != nil {
1481 return err
1482 }
1483
1484 if ud, ok := m["data"].(string); ok {
1485 *u = ISBN10(ud)
1486 return nil
1487 }
1488 return errors.New("couldn't unmarshal bson bytes as ISBN10")
1489 }
1490
1491
1492 func (u *ISBN10) DeepCopyInto(out *ISBN10) {
1493 *out = *u
1494 }
1495
1496
1497 func (u *ISBN10) DeepCopy() *ISBN10 {
1498 if u == nil {
1499 return nil
1500 }
1501 out := new(ISBN10)
1502 u.DeepCopyInto(out)
1503 return out
1504 }
1505
1506
1507
1508
1509 type ISBN13 string
1510
1511
1512 func (u ISBN13) MarshalText() ([]byte, error) {
1513 return []byte(string(u)), nil
1514 }
1515
1516
1517 func (u *ISBN13) UnmarshalText(data []byte) error {
1518 *u = ISBN13(string(data))
1519 return nil
1520 }
1521
1522
1523 func (u *ISBN13) Scan(raw interface{}) error {
1524 switch v := raw.(type) {
1525 case []byte:
1526 *u = ISBN13(string(v))
1527 case string:
1528 *u = ISBN13(v)
1529 default:
1530 return fmt.Errorf("cannot sql.Scan() strfmt.ISBN13 from: %#v", v)
1531 }
1532
1533 return nil
1534 }
1535
1536
1537 func (u ISBN13) Value() (driver.Value, error) {
1538 return driver.Value(string(u)), nil
1539 }
1540
1541 func (u ISBN13) String() string {
1542 return string(u)
1543 }
1544
1545
1546 func (u ISBN13) MarshalJSON() ([]byte, error) {
1547 return json.Marshal(string(u))
1548 }
1549
1550
1551 func (u *ISBN13) UnmarshalJSON(data []byte) error {
1552 if string(data) == jsonNull {
1553 return nil
1554 }
1555 var ustr string
1556 if err := json.Unmarshal(data, &ustr); err != nil {
1557 return err
1558 }
1559 *u = ISBN13(ustr)
1560 return nil
1561 }
1562
1563
1564 func (u ISBN13) MarshalBSON() ([]byte, error) {
1565 return bson.Marshal(bson.M{"data": u.String()})
1566 }
1567
1568
1569 func (u *ISBN13) UnmarshalBSON(data []byte) error {
1570 var m bson.M
1571 if err := bson.Unmarshal(data, &m); err != nil {
1572 return err
1573 }
1574
1575 if ud, ok := m["data"].(string); ok {
1576 *u = ISBN13(ud)
1577 return nil
1578 }
1579 return errors.New("couldn't unmarshal bson bytes as ISBN13")
1580 }
1581
1582
1583 func (u *ISBN13) DeepCopyInto(out *ISBN13) {
1584 *out = *u
1585 }
1586
1587
1588 func (u *ISBN13) DeepCopy() *ISBN13 {
1589 if u == nil {
1590 return nil
1591 }
1592 out := new(ISBN13)
1593 u.DeepCopyInto(out)
1594 return out
1595 }
1596
1597
1598
1599
1600 type CreditCard string
1601
1602
1603 func (u CreditCard) MarshalText() ([]byte, error) {
1604 return []byte(string(u)), nil
1605 }
1606
1607
1608 func (u *CreditCard) UnmarshalText(data []byte) error {
1609 *u = CreditCard(string(data))
1610 return nil
1611 }
1612
1613
1614 func (u *CreditCard) Scan(raw interface{}) error {
1615 switch v := raw.(type) {
1616 case []byte:
1617 *u = CreditCard(string(v))
1618 case string:
1619 *u = CreditCard(v)
1620 default:
1621 return fmt.Errorf("cannot sql.Scan() strfmt.CreditCard from: %#v", v)
1622 }
1623
1624 return nil
1625 }
1626
1627
1628 func (u CreditCard) Value() (driver.Value, error) {
1629 return driver.Value(string(u)), nil
1630 }
1631
1632 func (u CreditCard) String() string {
1633 return string(u)
1634 }
1635
1636
1637 func (u CreditCard) MarshalJSON() ([]byte, error) {
1638 return json.Marshal(string(u))
1639 }
1640
1641
1642 func (u *CreditCard) UnmarshalJSON(data []byte) error {
1643 if string(data) == jsonNull {
1644 return nil
1645 }
1646 var ustr string
1647 if err := json.Unmarshal(data, &ustr); err != nil {
1648 return err
1649 }
1650 *u = CreditCard(ustr)
1651 return nil
1652 }
1653
1654
1655 func (u CreditCard) MarshalBSON() ([]byte, error) {
1656 return bson.Marshal(bson.M{"data": u.String()})
1657 }
1658
1659
1660 func (u *CreditCard) UnmarshalBSON(data []byte) error {
1661 var m bson.M
1662 if err := bson.Unmarshal(data, &m); err != nil {
1663 return err
1664 }
1665
1666 if ud, ok := m["data"].(string); ok {
1667 *u = CreditCard(ud)
1668 return nil
1669 }
1670 return errors.New("couldn't unmarshal bson bytes as CreditCard")
1671 }
1672
1673
1674 func (u *CreditCard) DeepCopyInto(out *CreditCard) {
1675 *out = *u
1676 }
1677
1678
1679 func (u *CreditCard) DeepCopy() *CreditCard {
1680 if u == nil {
1681 return nil
1682 }
1683 out := new(CreditCard)
1684 u.DeepCopyInto(out)
1685 return out
1686 }
1687
1688
1689
1690
1691 type SSN string
1692
1693
1694 func (u SSN) MarshalText() ([]byte, error) {
1695 return []byte(string(u)), nil
1696 }
1697
1698
1699 func (u *SSN) UnmarshalText(data []byte) error {
1700 *u = SSN(string(data))
1701 return nil
1702 }
1703
1704
1705 func (u *SSN) Scan(raw interface{}) error {
1706 switch v := raw.(type) {
1707 case []byte:
1708 *u = SSN(string(v))
1709 case string:
1710 *u = SSN(v)
1711 default:
1712 return fmt.Errorf("cannot sql.Scan() strfmt.SSN from: %#v", v)
1713 }
1714
1715 return nil
1716 }
1717
1718
1719 func (u SSN) Value() (driver.Value, error) {
1720 return driver.Value(string(u)), nil
1721 }
1722
1723 func (u SSN) String() string {
1724 return string(u)
1725 }
1726
1727
1728 func (u SSN) MarshalJSON() ([]byte, error) {
1729 return json.Marshal(string(u))
1730 }
1731
1732
1733 func (u *SSN) UnmarshalJSON(data []byte) error {
1734 if string(data) == jsonNull {
1735 return nil
1736 }
1737 var ustr string
1738 if err := json.Unmarshal(data, &ustr); err != nil {
1739 return err
1740 }
1741 *u = SSN(ustr)
1742 return nil
1743 }
1744
1745
1746 func (u SSN) MarshalBSON() ([]byte, error) {
1747 return bson.Marshal(bson.M{"data": u.String()})
1748 }
1749
1750
1751 func (u *SSN) UnmarshalBSON(data []byte) error {
1752 var m bson.M
1753 if err := bson.Unmarshal(data, &m); err != nil {
1754 return err
1755 }
1756
1757 if ud, ok := m["data"].(string); ok {
1758 *u = SSN(ud)
1759 return nil
1760 }
1761 return errors.New("couldn't unmarshal bson bytes as SSN")
1762 }
1763
1764
1765 func (u *SSN) DeepCopyInto(out *SSN) {
1766 *out = *u
1767 }
1768
1769
1770 func (u *SSN) DeepCopy() *SSN {
1771 if u == nil {
1772 return nil
1773 }
1774 out := new(SSN)
1775 u.DeepCopyInto(out)
1776 return out
1777 }
1778
1779
1780
1781
1782 type HexColor string
1783
1784
1785 func (h HexColor) MarshalText() ([]byte, error) {
1786 return []byte(string(h)), nil
1787 }
1788
1789
1790 func (h *HexColor) UnmarshalText(data []byte) error {
1791 *h = HexColor(string(data))
1792 return nil
1793 }
1794
1795
1796 func (h *HexColor) Scan(raw interface{}) error {
1797 switch v := raw.(type) {
1798 case []byte:
1799 *h = HexColor(string(v))
1800 case string:
1801 *h = HexColor(v)
1802 default:
1803 return fmt.Errorf("cannot sql.Scan() strfmt.HexColor from: %#v", v)
1804 }
1805
1806 return nil
1807 }
1808
1809
1810 func (h HexColor) Value() (driver.Value, error) {
1811 return driver.Value(string(h)), nil
1812 }
1813
1814 func (h HexColor) String() string {
1815 return string(h)
1816 }
1817
1818
1819 func (h HexColor) MarshalJSON() ([]byte, error) {
1820 return json.Marshal(string(h))
1821 }
1822
1823
1824 func (h *HexColor) UnmarshalJSON(data []byte) error {
1825 if string(data) == jsonNull {
1826 return nil
1827 }
1828 var ustr string
1829 if err := json.Unmarshal(data, &ustr); err != nil {
1830 return err
1831 }
1832 *h = HexColor(ustr)
1833 return nil
1834 }
1835
1836
1837 func (h HexColor) MarshalBSON() ([]byte, error) {
1838 return bson.Marshal(bson.M{"data": h.String()})
1839 }
1840
1841
1842 func (h *HexColor) UnmarshalBSON(data []byte) error {
1843 var m bson.M
1844 if err := bson.Unmarshal(data, &m); err != nil {
1845 return err
1846 }
1847
1848 if ud, ok := m["data"].(string); ok {
1849 *h = HexColor(ud)
1850 return nil
1851 }
1852 return errors.New("couldn't unmarshal bson bytes as HexColor")
1853 }
1854
1855
1856 func (h *HexColor) DeepCopyInto(out *HexColor) {
1857 *out = *h
1858 }
1859
1860
1861 func (h *HexColor) DeepCopy() *HexColor {
1862 if h == nil {
1863 return nil
1864 }
1865 out := new(HexColor)
1866 h.DeepCopyInto(out)
1867 return out
1868 }
1869
1870
1871
1872
1873 type RGBColor string
1874
1875
1876 func (r RGBColor) MarshalText() ([]byte, error) {
1877 return []byte(string(r)), nil
1878 }
1879
1880
1881 func (r *RGBColor) UnmarshalText(data []byte) error {
1882 *r = RGBColor(string(data))
1883 return nil
1884 }
1885
1886
1887 func (r *RGBColor) Scan(raw interface{}) error {
1888 switch v := raw.(type) {
1889 case []byte:
1890 *r = RGBColor(string(v))
1891 case string:
1892 *r = RGBColor(v)
1893 default:
1894 return fmt.Errorf("cannot sql.Scan() strfmt.RGBColor from: %#v", v)
1895 }
1896
1897 return nil
1898 }
1899
1900
1901 func (r RGBColor) Value() (driver.Value, error) {
1902 return driver.Value(string(r)), nil
1903 }
1904
1905 func (r RGBColor) String() string {
1906 return string(r)
1907 }
1908
1909
1910 func (r RGBColor) MarshalJSON() ([]byte, error) {
1911 return json.Marshal(string(r))
1912 }
1913
1914
1915 func (r *RGBColor) UnmarshalJSON(data []byte) error {
1916 if string(data) == jsonNull {
1917 return nil
1918 }
1919 var ustr string
1920 if err := json.Unmarshal(data, &ustr); err != nil {
1921 return err
1922 }
1923 *r = RGBColor(ustr)
1924 return nil
1925 }
1926
1927
1928 func (r RGBColor) MarshalBSON() ([]byte, error) {
1929 return bson.Marshal(bson.M{"data": r.String()})
1930 }
1931
1932
1933 func (r *RGBColor) UnmarshalBSON(data []byte) error {
1934 var m bson.M
1935 if err := bson.Unmarshal(data, &m); err != nil {
1936 return err
1937 }
1938
1939 if ud, ok := m["data"].(string); ok {
1940 *r = RGBColor(ud)
1941 return nil
1942 }
1943 return errors.New("couldn't unmarshal bson bytes as RGBColor")
1944 }
1945
1946
1947 func (r *RGBColor) DeepCopyInto(out *RGBColor) {
1948 *out = *r
1949 }
1950
1951
1952 func (r *RGBColor) DeepCopy() *RGBColor {
1953 if r == nil {
1954 return nil
1955 }
1956 out := new(RGBColor)
1957 r.DeepCopyInto(out)
1958 return out
1959 }
1960
1961
1962
1963
1964
1965 type Password string
1966
1967
1968 func (r Password) MarshalText() ([]byte, error) {
1969 return []byte(string(r)), nil
1970 }
1971
1972
1973 func (r *Password) UnmarshalText(data []byte) error {
1974 *r = Password(string(data))
1975 return nil
1976 }
1977
1978
1979 func (r *Password) Scan(raw interface{}) error {
1980 switch v := raw.(type) {
1981 case []byte:
1982 *r = Password(string(v))
1983 case string:
1984 *r = Password(v)
1985 default:
1986 return fmt.Errorf("cannot sql.Scan() strfmt.Password from: %#v", v)
1987 }
1988
1989 return nil
1990 }
1991
1992
1993 func (r Password) Value() (driver.Value, error) {
1994 return driver.Value(string(r)), nil
1995 }
1996
1997 func (r Password) String() string {
1998 return string(r)
1999 }
2000
2001
2002 func (r Password) MarshalJSON() ([]byte, error) {
2003 return json.Marshal(string(r))
2004 }
2005
2006
2007 func (r *Password) UnmarshalJSON(data []byte) error {
2008 if string(data) == jsonNull {
2009 return nil
2010 }
2011 var ustr string
2012 if err := json.Unmarshal(data, &ustr); err != nil {
2013 return err
2014 }
2015 *r = Password(ustr)
2016 return nil
2017 }
2018
2019
2020 func (r Password) MarshalBSON() ([]byte, error) {
2021 return bson.Marshal(bson.M{"data": r.String()})
2022 }
2023
2024
2025 func (r *Password) UnmarshalBSON(data []byte) error {
2026 var m bson.M
2027 if err := bson.Unmarshal(data, &m); err != nil {
2028 return err
2029 }
2030
2031 if ud, ok := m["data"].(string); ok {
2032 *r = Password(ud)
2033 return nil
2034 }
2035 return errors.New("couldn't unmarshal bson bytes as Password")
2036 }
2037
2038
2039 func (r *Password) DeepCopyInto(out *Password) {
2040 *out = *r
2041 }
2042
2043
2044 func (r *Password) DeepCopy() *Password {
2045 if r == nil {
2046 return nil
2047 }
2048 out := new(Password)
2049 r.DeepCopyInto(out)
2050 return out
2051 }
2052
View as plain text