uuid function

String uuid({
  1. DateTime? baseTime,
  2. bool reverse = false,
})

Generate and retrieve the UUID for Version 7.

The strings can be sorted in chronological order of generation.

Returned as a string with 32 hyphenated characters removed.

If baseTime is specified, the date and time to be generated can be adjusted. If reverse is specified, the elapsed time from baseTime is reversed.

Version7のUUIDを生成し取得します。

文字列を生成した時系列順にソート可能です。

32文字のハイフンが取り除かれた文字列として返されます。

baseTimeを指定した場合、生成する日時を調節できます。reverseを指定した場合は、baseTimeからの経過時間を反転させた値を使用します。

Implementation

String uuid({DateTime? baseTime, bool reverse = false}) {
  const uuid = Uuid();
  baseTime ??= DateTime.now();
  if (reverse) {
    return uuid
        .v7(
          config: V7Options(
            _kIntMaxValue - baseTime.toUtc().millisecondsSinceEpoch,
            _randomData(),
          ),
        )
        .replaceAll("-", "");
  } else {
    return uuid
        .v7(
          config: V7Options(
            baseTime.toUtc().millisecondsSinceEpoch,
            _randomData(),
          ),
        )
        .replaceAll("-", "");
  }
}