webDebugPut function
Store a debug object directly in window.hiveDebugkey.
Enforces maxDebugKeys limit with FIFO eviction.
Implementation
void webDebugPut(String key, dynamic value) {
if (_hiveDebug == null) initWebDebug();
// If key already exists, remove from order tracking (will re-add at end)
_keyOrder.remove(key);
// Evict oldest keys if at capacity
while (_keyOrder.length >= maxDebugKeys) {
final oldestKey = _keyOrder.removeAt(0);
_jsDeleteProperty(_hiveDebug!, oldestKey.toJS);
}
// Convert Dart object to JS-compatible format
final jsValue = _dartToJs(value);
_hiveDebug!.setProperty(key.toJS, jsValue);
_keyOrder.add(key);
}