1
1
import 'dart:typed_data' ;
2
+
2
3
import 'package:uuid_type/uuid_type.dart' ;
3
4
4
5
void main () {
5
6
//
6
7
// UUID type
7
8
//
8
9
9
- // create UUID from canonical string
10
- Uuid u1 = Uuid ( " 6ba7b811-9dad-11d1-80b4-00c04fd430c8" );
10
+ // create UUID from string
11
+ var u1 = Uuid . parse ( ' 6ba7b811-9dad-11d1-80b4-00c04fd430c8' );
11
12
12
13
// print version & variant
13
- print (" $u1 (ver : ${u1 .version } var : ${u1 .variant })" );
14
- // -> ver : = 1 var : Variant.rfc4122
14
+ print (' $u1 (version : ${u1 .version } variant : ${u1 .variant })' );
15
+ // -> version : = 1 variant : Variant.rfc4122
15
16
16
17
// create UUID from byte array
17
- Uuid u2 = Uuid .fromBytes (Uint8List .fromList (< int > [
18
+ var u2 = Uuid .fromBytes (Uint8List .fromList (< int > [
18
19
0x6b , 0xa7 , 0xb8 , 0x11 , //
19
20
0x9d , 0xad ,
20
21
0x11 , 0xd1 ,
@@ -28,65 +29,72 @@ void main() {
28
29
print (u2); // -> 6ba7b811-9dad-11d1-80b4-00c04fd430c8
29
30
30
31
// parse URN
31
- Uuid u3 = Uuid .parse (" urn:uuid:6ba7b811-9dad-11d1-80b4-00c04fd430c8" );
32
+ var u3 = Uuid .parse (' urn:uuid:6ba7b811-9dad-11d1-80b4-00c04fd430c8' );
32
33
33
34
// UUIDs are equal
34
35
print (u3 == u1); // -> true
35
36
36
37
// parse GUID
37
- Uuid u4 = Uuid .parse (" {6BA7B811-9DAD-11D1-80B4-00C04FD430C8}" );
38
+ var u4 = Uuid .parse (' {6BA7B811-9DAD-11D1-80B4-00C04FD430C8}' );
38
39
39
40
// UUIDs are equal
40
41
print (u4 == u1); // -> true
41
42
42
43
// create old NCS UUID (example from AIX docs )
43
- Uuid u5 = Uuid .fromBytes (Uint8List .fromList (< int > [
44
+ var u5 = Uuid .fromBytes (Uint8List .fromList (const < int > [
44
45
0x34 , 0xdc , 0x23 , 0xaf , //
45
46
0xf0 , 0x00 ,
46
47
0x00 , 0x00 ,
47
48
0x0d ,
48
49
0x00 , 0x00 , 0x7c , 0x5f , 0x00 , 0x00 , 0x00
49
50
]));
50
- print ("$u5 (ver: ${u5 .version } var: ${u5 .variant })" );
51
- // -> 34dc23af-f000-0000-0d00-007c5f000000 (ver: 0 var: Variant.ncs)
51
+ print ('$u5 (version: ${u5 .version } variant: ${u5 .variant })' );
52
+ // -> 34dc23af-f000-0000-0d00-007c5f000000 (version: 0 variant: Variant.ncs)
53
+
54
+ // compare time-based UUIDs
55
+ u1 = Uuid .parse ('846f6b72-8c28-11eb-8b99-9b0e27e8a471' );
56
+ u2 = Uuid .parse ('846f7338-8c28-11eb-8ba2-9769eccf7efc' );
57
+ print (u2 >= u1);
58
+ // -> true
52
59
53
60
//
54
61
// Generators
55
62
//
56
63
57
64
Uuid u;
58
65
59
- // generate time-based UUID (with random node ID and clock sequence )
60
- u = TimeBasedUuidGenerator ().generate ();
61
- print (" $u (ver : ${u .version } var : ${u .variant })" );
62
- // -> ... (ver : 1 var : Variant.rfc4122)
66
+ // generate time-based UUID (with random node ID)
67
+ u = TimeUuidGenerator ().generate ();
68
+ print (' $u (version : ${u .version } variant : ${u .variant })' );
69
+ // -> ... (version : 1 variant : Variant.rfc4122)
63
70
64
71
// generate name + namespace based UUID
65
- var nsUrl = Uuid ( "6ba7b811-9dad-11d1-80b4-00c04fd430c8" );
66
- u = NameBasedUuidGenerator (nsUrl). generate ( " https://dart.dev/" );
67
- print (" $u (ver : ${u .version } var : ${u .variant })" );
68
- // -> 51aa5a34-f12a-5843-89aa-2e687a910904 (ver : 5 var : Variant.rfc4122)
72
+ u = NameUuidGenerator ( NameUuidGenerator .urlNamespace)
73
+ . generateFromString ( ' https://dart.dev/' );
74
+ print (' $u (version : ${u .version } variant : ${u .variant })' );
75
+ // -> 51aa5a34-f12a-5843-89aa-2e687a910904 (version : 5 variant : Variant.rfc4122)
69
76
70
77
// generate random-based UUID
71
- u = RandomBasedUuidGenerator ().generate ();
72
- print (" $u (ver : ${u .version } var : ${u .variant })" );
73
- // -> ... (ver : 4 var : Variant.rfc4122)
78
+ u = RandomUuidGenerator ().generate ();
79
+ print (' $u (version : ${u .version } variant : ${u .variant })' );
80
+ // -> ... (version : 4 variant : Variant.rfc4122)
74
81
75
82
//
76
83
// Utility
77
84
//
78
85
79
- // generate time-based UUID
86
+ // generate time-based UUID string
80
87
print (uuid.v1 ());
81
88
82
- // generate random-based UUID
89
+ // generate random-based UUID string
83
90
print (uuid.v4 ());
84
91
85
- // generate name-based (SHA1) UUID
86
- print (uuid.v5 ("6ba7b811-9dad-11d1-80b4-00c04fd430c8" , "https://dart.dev/" ));
92
+ // generate name-based (SHA1) UUID string
93
+ print (uuid.v5 ('6ba7b811-9dad-11d1-80b4-00c04fd430c8' , 'https://dart.dev/' ));
94
+ // -> 51aa5a34-f12a-5843-89aa-2e687a910904
87
95
88
- // compre UUIDs
89
- print (uuid.compare (" 6ba7b811-9dad-11d1-80b4-00c04fd430c8" ,
90
- " 6ba7b811-9dad-11d1-80b4-00c04fd430c8" ));
91
- // -> 0
96
+ // compare UUIDs
97
+ print (uuid.compare (' 6ba7b811-9dad-11d1-80b4-00c04fd430c8' ,
98
+ ' 6ba7b811-9dad-11d1-80b4-00c04fd430c8' ));
99
+ // -> 0
92
100
}
0 commit comments