generateNamespaceId function
int
generateNamespaceId(
- dynamic name, [
- 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;
}