anchor.diff:    /// The e-mail address of the user.
     external String getEmail();
   }
  +
  +@JS()
  +@anonymous
  +abstract class GrantOptions {
  +  external String get scope;
  +
  +  external factory GrantOptions({
  +    String scope,
  +  });
  +}
  
positive.code: @JS('gapi.auth2')
  library google_auth_js;
  
  import 'package:js/js.dart';
  
  /// Initializes the GoogleAuth object. You must call this method before calling
  /// gapi.auth2.GoogleAuth's methods.
  
negative.code:   /// The auth response.
    external AuthResponse getAuthResponse(bool includeAuthorizationData);
  
    /// Returns true if the user granted the specified scopes.
    ///
    /// The [scopes] is a space-delemited list of scopes.
    external bool hasGrantedScopes(String scopes);
  
    /// Request additional scopes to the user.
    ///
    /// **Example**
    /// ```dart
    /// GoogleUser currentUser = getAuthInstance()?.currentUser?.get();
    ///
    /// final extraScope = 'https://www.googleapis.com/auth/webmasters.readonly';
    ///
    /// if (!currentUser.hasGrantedScopes(extraScope)) {
    ///   // We don't have the extract scope, so let's ask for it
    ///   currentUser = await promiseAsFuture(currentUser.grant(GrantOptions(
    ///     scope: extraScope,
    ///   )));
    /// }
    /// ```
    external Promise<GoogleUser> grant(GrantOptions options);
  
    /// The basic profile info.
    external BasicProfile getBasicProfile();
  }
  