@@ -20,6 +20,13 @@ Object.defineProperty(fb, 'database', {
20
20
const NSOnDisconnect = lazy ( ( ) => org . nativescript . firebase . database . FirebaseDatabase . OnDisconnect ) ;
21
21
const NSDatabaseReference = lazy ( ( ) => org . nativescript . firebase . database . FirebaseDatabase . DatabaseReference ) ;
22
22
23
+ function serializeItems ( data , wrapPrimitives = false ) {
24
+ if ( data instanceof ServerValue ) {
25
+ return data . native ;
26
+ }
27
+ return serialize ( data , wrapPrimitives ) ;
28
+ }
29
+
23
30
export class OnDisconnect implements IOnDisconnect {
24
31
#native: com . google . firebase . database . OnDisconnect ;
25
32
static fromNative ( disconnect : com . google . firebase . database . OnDisconnect ) {
@@ -79,7 +86,7 @@ export class OnDisconnect implements IOnDisconnect {
79
86
return new Promise ( ( resolve , reject ) => {
80
87
NSOnDisconnect ( ) . set (
81
88
this . native ,
82
- serialize ( value , true ) ,
89
+ serializeItems ( value , true ) ,
83
90
new org . nativescript . firebase . database . FirebaseDatabase . Callback < java . lang . Void > ( {
84
91
onError ( error ) {
85
92
const err = FirebaseError . fromNative ( error ) ;
@@ -98,7 +105,7 @@ export class OnDisconnect implements IOnDisconnect {
98
105
return new Promise ( ( resolve , reject ) => {
99
106
NSOnDisconnect ( ) . setWithPriority (
100
107
this . native ,
101
- serialize ( value , true ) ,
108
+ serializeItems ( value , true ) ,
102
109
priority as any ,
103
110
new org . nativescript . firebase . database . FirebaseDatabase . Callback < java . lang . Void > ( {
104
111
onError ( error ) {
@@ -443,7 +450,7 @@ export class Reference extends Query implements IReference {
443
450
return new Promise ( ( resolve , reject ) => {
444
451
NSDatabaseReference ( ) . set (
445
452
this . native ,
446
- serialize ( value , true ) ,
453
+ serializeItems ( value , true ) ,
447
454
new org . nativescript . firebase . database . FirebaseDatabase . Callback ( {
448
455
onSuccess ( param0 ) {
449
456
onComplete ?.( null ) ;
@@ -481,7 +488,7 @@ export class Reference extends Query implements IReference {
481
488
return new Promise ( ( resolve , reject ) => {
482
489
NSDatabaseReference ( ) . setWithPriority (
483
490
this . native ,
484
- serialize ( newVal , true ) ,
491
+ serializeItems ( newVal , true ) ,
485
492
newPriority as any ,
486
493
new org . nativescript . firebase . database . FirebaseDatabase . Callback ( {
487
494
onSuccess ( param0 ) {
@@ -506,7 +513,7 @@ export class Reference extends Query implements IReference {
506
513
doTransaction ( data : any ) : any {
507
514
const newData = transactionUpdate ( deserialize ( data ) ) ;
508
515
// TODO improve
509
- return serialize ( newData , true ) ;
516
+ return serializeItems ( newData , true ) ;
510
517
} ,
511
518
onComplete ( error : com . google . firebase . database . DatabaseError , commited : boolean , snapshot : com . google . firebase . database . DataSnapshot ) : void {
512
519
const ss = DataSnapshot . fromNative ( snapshot ) ;
@@ -530,7 +537,7 @@ export class Reference extends Query implements IReference {
530
537
return new Promise ( ( resolve , reject ) => {
531
538
NSDatabaseReference ( ) . update (
532
539
this . native ,
533
- serialize ( values , true ) ,
540
+ serializeItems ( values , true ) ,
534
541
new org . nativescript . firebase . database . FirebaseDatabase . Callback ( {
535
542
onSuccess ( param0 ) {
536
543
onComplete ?.( null ) ;
@@ -631,21 +638,19 @@ export class Database implements IDatabase {
631
638
if ( app ?. native ) {
632
639
this . #native = com . google . firebase . database . FirebaseDatabase . getInstance ( app . native ) ;
633
640
} else {
634
- if ( defaultDatabase ) {
641
+ if ( defaultDatabase ) {
635
642
return defaultDatabase ;
636
643
}
637
644
defaultDatabase = this ;
638
645
this . #native = com . google . firebase . database . FirebaseDatabase . getInstance ( ) ;
639
646
}
640
647
}
641
648
649
+ useEmulator ( host : string , port : number ) {
650
+ this . native . useEmulator ( host === 'localhost' ? '10.0.2.2' : host , port ) ;
651
+ }
642
652
643
- useEmulator ( host : string , port : number ) {
644
- this . native . useEmulator ( host === 'localhost' ? '10.0.2.2' : host , port ) ;
645
- }
646
-
647
-
648
- #persistenceCacheSizeBytes = 10 * 1024 * 1024 ;
653
+ #persistenceCacheSizeBytes = 10 * 1024 * 1024 ;
649
654
get persistenceCacheSizeBytes ( ) : number {
650
655
return this . #persistenceCacheSizeBytes;
651
656
}
0 commit comments