diff --git a/packages/isar_generator/lib/src/object_info.dart b/packages/isar_generator/lib/src/object_info.dart index 566c4b6dc..e8d58909a 100644 --- a/packages/isar_generator/lib/src/object_info.dart +++ b/packages/isar_generator/lib/src/object_info.dart @@ -1,4 +1,3 @@ -import 'package:flutter/foundation.dart' show kIsWeb; import 'dart:convert'; import 'dart:typed_data'; @@ -178,18 +177,16 @@ class ObjectIndex { final bool unique; final bool replace; - late final id = kIsWeb ? _generateSafeId(name) : _generateStandardId(name); + late final id = _generateSafeId(name); - int _generateStandardId(String name) { - return xxh3(utf8.encode(name) as Uint8List); - } - - // Safe ID generation for web int _generateSafeId(String name) { final hash = xxh3(utf8.encode(name) as Uint8List); - final safeMaxInt = BigInt.parse('9007199254740991'); - final safeId = BigInt.from(hash).abs() % safeMaxInt; - return safeId.toInt(); + if (identical(0, 0.0)) { + final safeMaxInt = BigInt.parse('9007199254740991'); + final safeId = BigInt.from(hash).abs() % safeMaxInt; + return safeId.toInt(); + } + return hash; } }