anchor.diff:  
   import 'package:js/js.dart';
   import 'dart:async';
  +import 'dart:js';
  +import 'dart:convert';
   
   class Facebook {
  -	static Future login(List<String> perms) {
  +	static Future<Map> login(List<String> perms) {
   		Completer c = new Completer();
   		FacebookApi.login(perms, allowInterop((var result){
  -			c.complete(result);
  +			var obj = JSON.decode(context['JSON'].callMethod('stringify', [result]));
  +
  +			c.complete(obj['o']);
   		}), allowInterop((var result){
   			c.completeError(result);
   		}));
  
positive.code: 		return c.future;
  	}
  
  	static Future getLoginStatus() {
  		Completer c = new Completer();
  		FacebookApi.getLoginStatus(allowInterop((var result){
  			c.complete(result);
  		}), allowInterop((var result){
  			c.completeError(result);
  		}));
  
negative.code: 		return c.future;
  	}
  
  	static Future<Map> api(String requestPath, List<String> perms) {
  		Completer c = new Completer();
  		FacebookApi.api(requestPath, perms, allowInterop((var result){
  			var obj = JSON.decode(context['JSON'].callMethod('stringify', [result]));
  
  			c.complete(obj['o']);
  		}), allowInterop((var result){
  			c.completeError(result);
  		}));
  