Ulid.parse constructor

Ulid.parse(
  1. String value
)

Parse the canonical or the UUID format.

Implementation

factory Ulid.parse(String value) {
  if (value.length == 26) {
    return Ulid._parseBase32(value);
  } else if (value.length == 32) {
    return Ulid._parseHex16(value);
  } else if (value.length == 36) {
    // TODO: assert dash positions
    final withoutSlashes = value.replaceAll('-', '');
    if (withoutSlashes.length == 32) return Ulid._parseHex16(withoutSlashes);
  }
  throw ArgumentError('Unable to recognize format: $value');
}