generate static method

String generate({
  1. int length = 11,
  2. GrockUniqIdType type = GrockUniqIdType.numbers,
})

Implementation

static String generate(
    {int length = 11,
    GrockUniqIdType type = GrockUniqIdType.numbers}) {
  int unixTimestamp = DateTime.now().millisecondsSinceEpoch ~/ 1000;
  final valueLength = unixTimestamp.toString().length;
  if (type == GrockUniqIdType.numbers) {
    if (length == valueLength) {
      return unixTimestamp.toString();
    } else if (length < valueLength) {
      return unixTimestamp.toString().padLeft(length, randomNumber(1));
    } else {
      return unixTimestamp.toString().substring(0, length);
    }
  } else {
    return switch (type) {
      GrockUniqIdType.string => randomString(length),
      GrockUniqIdType.stringAndNumbers =>
        randomStringAndNumbers(length),
      GrockUniqIdType.stringAndNumbersWithSpecialCharacters =>
        randomStringAndNumbersWithSpecialCharacters(length),
      _ => randomString(length)
    };
  }
}