webDebugPut function

void webDebugPut(
  1. String key,
  2. dynamic value
)

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);
}