Published 2026-06-02
Shared code between serverpod client, flutter and server modules.

JsonBlob.getNumber() which used non-existent .toNum() method causing 100% crash rate. Now properly handles int, num, double, and string values.JsonBlob.getInteger() and JsonBlob.getDouble() that would throw NoSuchMethodError on non-numeric types. Added proper type checking and string parsing.TypeHelper.safeTypes() for metadata field. Now safely filters SerializableModel instances using whereType<>.JsonBlob equality implementation that used string comparison (O(n), order-sensitive). Now uses proper map entry comparison. ⚠️ Breaking: hashCode implementation changed to entry-based hashing.BiggerInt.fromJson() for ~90% performance improvement.JsonBlob.copyWith(). Now creates proper deep copy when no data parameter provided.TypeHelper.unstringify() default case for List/Map types.JsonBlob.getBoolean() to use proper type casting instead of non-existent .toBool() method.TypeHelper.safeTypes() documentation now explicitly states the method mutates the input map in place.JsonBlob.fromMap() documentation to clarify deep copy isolation behavior.dart:convert import from bigger_int.dart.TypeHelper (switch/case patterns vs if-is checks).test/bigger_int_test.dart (307 lines, 55 tests), test/json_blob_test.dart (1017 lines, 104 tests).JsonBlob.getNumber() test group.JsonBlob::getStrings.TypeHelper::safeType refactored.TypeHelper.realValue now maps to TypeHelper.unstringify (now a convenience method).serverpod: 2.0.0.TypeExtension.JsonBlob constructor.JsonBlob::setField.BiggerInt.JsonBlob.