@@ -42,16 +42,40 @@ class DatabaseRef {
4242 this . remove = this . removeAt ;
4343 }
4444
45- setAt ( value ) {
46- return promisify ( 'set' , FirestackDatabase ) ( this . path , value )
45+ getAt ( key ) {
46+ let path = this . path ;
47+ if ( key && typeof ( key ) == 'string' ) {
48+ path = `${ path } /${ key } `
49+ }
50+ return promisify ( 'onOnce' , FirestackDatabase ) ( path ) ;
51+ }
52+
53+ setAt ( key , value ) {
54+ let path = this . path ;
55+ if ( key && typeof ( key ) == 'string' && value ) {
56+ path = `${ path } /${ key } `
57+ } else {
58+ value = key ;
59+ }
60+ return promisify ( 'set' , FirestackDatabase ) ( path , value )
4761 }
4862
49- updateAt ( value ) {
50- return promisify ( 'update' , FirestackDatabase ) ( this . path , value )
63+ updateAt ( key , value ) {
64+ let path = this . path ;
65+ if ( key && typeof ( key ) == 'string' && value ) {
66+ path = `${ path } /${ key } `
67+ } else {
68+ value = key ;
69+ }
70+ return promisify ( 'update' , FirestackDatabase ) ( path , value )
5171 }
5272
53- removeAt ( ) {
54- return promisify ( 'remove' , FirestackDatabase ) ( this . path )
73+ removeAt ( key ) {
74+ let path = this . path ;
75+ if ( key && typeof ( key ) == 'string' ) {
76+ path = `${ path } /${ key } `
77+ }
78+ return promisify ( 'remove' , FirestackDatabase ) ( path )
5579 }
5680
5781 on ( evt , cb ) {
@@ -70,6 +94,10 @@ class DatabaseRef {
7094 } ) ;
7195 }
7296
97+ once ( evt , cb ) {
98+ return promisify ( 'onOnce' , FirestackDatabase ) ( this . path , evt ) ;
99+ }
100+
73101 off ( evt ) {
74102 let promises = [ ] ;
75103 this . handles . forEach ( handle => {
0 commit comments