generateNamespaceId function

int generateNamespaceId(
  1. dynamic name, [
  2. int parentNamespaceId = 0
])

Implementation

int generateNamespaceId(dynamic name, [int parentNamespaceId = 0]) {
  if (name is String) {
    name = Uint8List.fromList(name.codeUnits);
  }
  final hasher = SHA3Digest(256);
  hasher.update(intToBytes((parentNamespaceId & 0xFFFFFFFF).toInt(), 4), 0, 4);
  hasher.update(
      intToBytes(((parentNamespaceId >> 32) & 0xFFFFFFFF).toInt(), 4), 0, 4);
  hasher.update(name, 0, name.length);
  var digest = Uint8List(32);
  hasher.doFinal(digest, 0);

  final result = bytesToInt(digest, 8);
  return result | NAMESPACE_FLAG;
}