ObjectId.fromBytes constructor

ObjectId.fromBytes(
  1. List<int?>? bytes
)

Creates a new instance from the given byte list.

Throws an ArgumentError if bytes is null or its length is not 12.

Implementation

factory ObjectId.fromBytes(List<int?>? bytes) {
  if (bytes == null) {
    throw ArgumentError.notNull('bytes');
  }
  if (bytes.length != 12) {
    throw ArgumentError.value(bytes, 'need 12 bytes');
  }

  int timestamp = _makeInt(bytes[0]!, bytes[1]!, bytes[2]!, bytes[3]!);
  int machineId = _makeInt(0, bytes[4]!, bytes[5]!, bytes[6]!);
  int processId = _makeInt(0, 0, bytes[7]!, bytes[8]!);
  int counter = _makeInt(0, bytes[9]!, bytes[10]!, bytes[11]!);

  return ObjectId._internal(timestamp, machineId, processId, counter);
}