@@ -14,6 +14,8 @@ firebase._facebookAccessToken = null;
1414var fbCallbackManager = null ;
1515var GOOGLE_SIGNIN_INTENT_ID = 123 ;
1616
17+ var gson = new com . google . gson . Gson ( ) ;
18+
1719( function ( ) {
1820 if ( typeof ( com . google . firebase . messaging ) === "undefined" ) {
1921 return ;
@@ -107,35 +109,7 @@ firebase.toValue = function(val){
107109} ;
108110
109111firebase . toJsObject = function ( javaObj ) {
110- if ( javaObj === null || typeof javaObj != "object" ) {
111- return javaObj ;
112- }
113-
114- var node ;
115- switch ( javaObj . getClass ( ) . getName ( ) ) {
116- case 'java.lang.Boolean' :
117- var str = String ( javaObj ) ;
118- return Boolean ( ! ! ( str == "True" || str == "true" ) ) ;
119- case 'java.lang.String' :
120- return String ( javaObj ) ;
121- case 'java.lang.Long' :
122- case 'java.lang.Double' :
123- return Number ( String ( javaObj ) ) ;
124- case 'java.util.ArrayList' :
125- node = [ ] ;
126- for ( var i = 0 ; i < javaObj . size ( ) ; i ++ ) {
127- node [ i ] = firebase . toJsObject ( javaObj . get ( i ) ) ;
128- }
129- break ;
130- default :
131- node = { } ;
132- var iterator = javaObj . entrySet ( ) . iterator ( ) ;
133- while ( iterator . hasNext ( ) ) {
134- var item = iterator . next ( ) ;
135- node [ item . getKey ( ) ] = firebase . toJsObject ( item . getValue ( ) ) ;
136- }
137- }
138- return node ;
112+ return JSON . parse ( gson . toJson ( javaObj ) ) ;
139113} ;
140114
141115firebase . getCallbackData = function ( type , snapshot ) {
@@ -1401,9 +1375,10 @@ firebase.query = function (updateCallback, path, options) {
14011375 if ( options . singleEvent ) {
14021376 var listener = new com . google . firebase . database . ValueEventListener ( {
14031377 onDataChange : function ( snapshot ) {
1404- updateCallback ( firebase . getCallbackData ( 'ValueChanged' , snapshot ) ) ;
1378+ var data = firebase . getCallbackData ( 'ValueChanged' , snapshot ) ;
1379+ updateCallback ( data ) ;
14051380 // resolve promise with data in case of single event, see https://github.com/EddyVerbruggen/nativescript-plugin-firebase/issues/126
1406- resolve ( firebase . getCallbackData ( 'ValueChanged' , snapshot ) ) ;
1381+ resolve ( data ) ;
14071382 } ,
14081383 onCancelled : function ( databaseError ) {
14091384 updateCallback ( {
0 commit comments