Implementation
factory UuidV1({Map<String, dynamic>? options}) {
options ??= {};
var v1PositionalArgs = (options['v1rngPositionalArgs'] != null) ? options['v1rngPositionalArgs'] : [];
var v1NamedArgs = (options['v1rngNamedArgs'] != null)
? options['v1rngNamedArgs'] as Map<Symbol, dynamic>
: const <Symbol, dynamic>{};
var seedBytes = (options['v1rng'] != null)
? Function.apply(options['v1rng'], v1PositionalArgs, v1NamedArgs)
: UuidUtil.mathRNG();
// Per 4.5, create a 48-bit node id (47 random bits + multicast bit = 1)
List<int> nodeId = [seedBytes[0] | 0x01, seedBytes[1], seedBytes[2], seedBytes[3], seedBytes[4], seedBytes[5]];
// Per 4.2.2, randomize (14 bit) clockseq
var clockSeq = (seedBytes[6] << 8 | seedBytes[7]) & 0x3ffff;
return UuidV1._(seedBytes, nodeId, clockSeq, 0, 0, options);
}