tools.aw_id

Yohn Y. 2025-05-06 Parent:223ba01da43a Child:74721178aed9

13:5ba13dd7ef05 Go to Latest

tools.aw_id/src/main.go

.. v1.r202505.1 + UUIDv7

History
     1.1 --- a/src/main.go	Thu Apr 10 13:10:33 2025 +0300
     1.2 +++ b/src/main.go	Tue May 06 20:53:46 2025 +0300
     1.3 @@ -1,4 +1,4 @@
     1.4 -// devel.a0fs.ru -- aw_id -- v1.r202504.2 //
     1.5 +// devel.a0fs.ru -- aw_id -- v1.r202505.1 //
     1.6  /*
     1.7    Утилиты генерирования полезных в работе ID
     1.8  */
     1.9 @@ -12,6 +12,7 @@
    1.10  	"strconv"
    1.11  
    1.12  	"github.com/google/uuid"
    1.13 +	"github.com/oleg-vasiliev/uuid7"
    1.14  )
    1.15  
    1.16  const (
    1.17 @@ -53,6 +54,18 @@
    1.18  	return res.String()
    1.19  }
    1.20  
    1.21 +func get_uuid7() string {
    1.22 +	res, err := uuid7.New()
    1.23 +
    1.24 +	if err != nil {
    1.25 +		return "00000000-0000-0000-0000-000000000000"
    1.26 +
    1.27 +	} else {
    1.28 +		return res.String()
    1.29 +
    1.30 +	}
    1.31 +}
    1.32 +
    1.33  func get_ver_id() string {
    1.34  	return fmt.Sprintf("v0.r%s.1", get_time_id(TIME_ID_SHORT2))
    1.35  }
    1.36 @@ -117,6 +130,7 @@
    1.37  
    1.38  func make_all_ids() {
    1.39  	prnt_out("uuid", get_uuid())
    1.40 +	prnt_out("uuid7", get_uuid7())
    1.41  	prnt_out("ts", get_time_id(TIME_ID))
    1.42  	prnt_out("tss", get_time_id(TIME_ID_SHORT))
    1.43  	prnt_out("tss2", get_time_id(TIME_ID_SHORT2))
    1.44 @@ -136,6 +150,8 @@
    1.45  		switch os.Args[1] {
    1.46  		case "uuid":
    1.47  			fmt.Println(get_uuid())
    1.48 +		case "uuid7":
    1.49 +			fmt.Println(get_uuid7())
    1.50  		case "ts":
    1.51  			fmt.Println(get_time_id(TIME_ID))
    1.52  		case "hr":
    1.53 @@ -160,7 +176,7 @@
    1.54  			fmt.Println(get_ver_id4())
    1.55  		default:
    1.56  			fmt.Println("Need one of: ")
    1.57 -			fmt.Println("  uuid, ts, tss, tss2, hr, hrr, hrs, hrs2,")
    1.58 +			fmt.Println("  uuid, uuid7, ts, tss, tss2, hr, hrr, hrs, hrs2,")
    1.59  			fmt.Println("  v, va, vs, vsa")
    1.60  		}
    1.61  		fmt.Println("")