anchor.diff:  })();
   
   
  +/// A interop class for an anonymous JavaScript object, with no properties.
  +///
  +/// For use when dealing with dynamic properties via [getProperty]/[setProperty].
   @JS()
   @anonymous
   class EmptyObject {
     external factory EmptyObject();
   }
   
  +/// Returns [map] converted to a JavaScript object, similar to
  +/// `new JsObject.jsify` in `dart:js`.
  +///
  +/// Recursively converts nested [Map]s, and wraps [Function]s with [allowInterop].
   EmptyObject jsify(Map map) {
     var jsMap = new EmptyObject();
   
  
positive.code: typedef dynamic _GetPropertyFn(jsObj, String key);
  typedef dynamic _SetPropertyFn(jsObj, String key, value);
  
  // Necessary because `external operator[]` isn't allowed on JS interop classes https://github.com/dart-lang/sdk/issues/25053
  final _GetPropertyFn getProperty = (() {
    _eval(r'''
      function _getProperty(obj, key) {
  
negative.code: /// Utilities for reading/modifying dynamic keys on JavaScript objects
  /// and converting Dart [Map]s to JavaScript objects.
  library react_client.js_interop_helpers;
  
  import "package:js/js.dart";
  