@@ -10,103 +10,104 @@ import {
10
10
} from "../core/util/validation" ;
11
11
import { warn } from "../core/util/util" ;
12
12
import { Deferred } from "../../utils/promise" ;
13
+ import { Repo } from '../core/Repo' ;
14
+ import { Path } from '../core/util/Path' ;
13
15
14
16
/**
15
17
* @constructor
16
- * @param {!Repo } repo
17
- * @param {!Path } path
18
18
*/
19
- export const OnDisconnect = function ( repo , path ) {
20
- /** @private */
21
- this . repo_ = repo ;
22
-
23
- /** @private */
24
- this . path_ = path ;
25
- } ;
26
-
19
+ export class OnDisconnect {
20
+ /**
21
+ * @param { !Repo } repo_
22
+ * @param { !Path } path_
23
+ */
24
+ constructor ( private repo_ : Repo ,
25
+ private path_ : Path ) {
26
+ }
27
27
28
- /**
29
- * @param {function(?Error)= } opt_onComplete
30
- * @return {!firebase.Promise }
31
- */
32
- OnDisconnect . prototype . cancel = function ( opt_onComplete ) {
33
- validateArgCount ( 'Firebase .onDisconnect().cancel' , 0 , 1 , arguments . length ) ;
34
- validateCallback ( 'Firebase .onDisconnect().cancel' , 1 , opt_onComplete , true ) ;
35
- var deferred = new Deferred ( ) ;
36
- this . repo_ . onDisconnectCancel ( this . path_ , deferred . wrapCallback ( opt_onComplete ) ) ;
37
- return deferred . promise ;
38
- } ;
28
+ /**
29
+ * @param {function(?Error)= } opt_onComplete
30
+ * @return {!firebase.Promise }
31
+ */
32
+ cancel ( opt_onComplete ) {
33
+ validateArgCount ( 'firebase.database .onDisconnect().cancel' , 0 , 1 , arguments . length ) ;
34
+ validateCallback ( 'firebase.database .onDisconnect().cancel' , 1 , opt_onComplete , true ) ;
35
+ const deferred = new Deferred ( ) ;
36
+ this . repo_ . onDisconnectCancel ( this . path_ , deferred . wrapCallback ( opt_onComplete ) ) ;
37
+ return deferred . promise ;
38
+ }
39
39
40
- /**
41
- * @param {function(?Error)= } opt_onComplete
42
- * @return {!firebase.Promise }
43
- */
44
- OnDisconnect . prototype . remove = function ( opt_onComplete ) {
45
- validateArgCount ( 'Firebase .onDisconnect().remove' , 0 , 1 , arguments . length ) ;
46
- validateWritablePath ( 'Firebase .onDisconnect().remove' , this . path_ ) ;
47
- validateCallback ( 'Firebase .onDisconnect().remove' , 1 , opt_onComplete , true ) ;
48
- var deferred = new Deferred ( ) ;
49
- this . repo_ . onDisconnectSet ( this . path_ , null , deferred . wrapCallback ( opt_onComplete ) ) ;
50
- return deferred . promise ;
51
- } ;
40
+ /**
41
+ * @param {function(?Error)= } opt_onComplete
42
+ * @return {!firebase.Promise }
43
+ */
44
+ remove ( opt_onComplete ) {
45
+ validateArgCount ( 'firebase.database .onDisconnect().remove' , 0 , 1 , arguments . length ) ;
46
+ validateWritablePath ( 'firebase.database .onDisconnect().remove' , this . path_ ) ;
47
+ validateCallback ( 'firebase.database .onDisconnect().remove' , 1 , opt_onComplete , true ) ;
48
+ const deferred = new Deferred ( ) ;
49
+ this . repo_ . onDisconnectSet ( this . path_ , null , deferred . wrapCallback ( opt_onComplete ) ) ;
50
+ return deferred . promise ;
51
+ }
52
52
53
- /**
54
- * @param {* } value
55
- * @param {function(?Error)= } opt_onComplete
56
- * @return {!firebase.Promise }
57
- */
58
- OnDisconnect . prototype . set = function ( value , opt_onComplete ) {
59
- validateArgCount ( 'Firebase .onDisconnect().set' , 1 , 2 , arguments . length ) ;
60
- validateWritablePath ( 'Firebase .onDisconnect().set' , this . path_ ) ;
61
- validateFirebaseDataArg ( 'Firebase .onDisconnect().set' , 1 , value , this . path_ , false ) ;
62
- validateCallback ( 'Firebase .onDisconnect().set' , 2 , opt_onComplete , true ) ;
63
- var deferred = new Deferred ( ) ;
64
- this . repo_ . onDisconnectSet ( this . path_ , value , deferred . wrapCallback ( opt_onComplete ) ) ;
65
- return deferred . promise ;
66
- } ;
53
+ /**
54
+ * @param {* } value
55
+ * @param {function(?Error)= } opt_onComplete
56
+ * @return {!firebase.Promise }
57
+ */
58
+ set ( value , opt_onComplete ) {
59
+ validateArgCount ( 'firebase.database .onDisconnect().set' , 1 , 2 , arguments . length ) ;
60
+ validateWritablePath ( 'firebase.database .onDisconnect().set' , this . path_ ) ;
61
+ validateFirebaseDataArg ( 'firebase.database .onDisconnect().set' , 1 , value , this . path_ , false ) ;
62
+ validateCallback ( 'firebase.database .onDisconnect().set' , 2 , opt_onComplete , true ) ;
63
+ const deferred = new Deferred ( ) ;
64
+ this . repo_ . onDisconnectSet ( this . path_ , value , deferred . wrapCallback ( opt_onComplete ) ) ;
65
+ return deferred . promise ;
66
+ }
67
67
68
- /**
69
- * @param {* } value
70
- * @param {number|string|null } priority
71
- * @param {function(?Error)= } opt_onComplete
72
- * @return {!firebase.Promise }
73
- */
74
- OnDisconnect . prototype . setWithPriority = function ( value , priority , opt_onComplete ) {
75
- validateArgCount ( 'Firebase .onDisconnect().setWithPriority' , 2 , 3 , arguments . length ) ;
76
- validateWritablePath ( 'Firebase .onDisconnect().setWithPriority' , this . path_ ) ;
77
- validateFirebaseDataArg ( 'Firebase .onDisconnect().setWithPriority' ,
78
- 1 , value , this . path_ , false ) ;
79
- validatePriority ( 'Firebase .onDisconnect().setWithPriority' , 2 , priority , false ) ;
80
- validateCallback ( 'Firebase .onDisconnect().setWithPriority' , 3 , opt_onComplete , true ) ;
68
+ /**
69
+ * @param {* } value
70
+ * @param {number|string|null } priority
71
+ * @param {function(?Error)= } opt_onComplete
72
+ * @return {!firebase.Promise }
73
+ */
74
+ setWithPriority ( value , priority , opt_onComplete ) {
75
+ validateArgCount ( 'firebase.database .onDisconnect().setWithPriority' , 2 , 3 , arguments . length ) ;
76
+ validateWritablePath ( 'firebase.database .onDisconnect().setWithPriority' , this . path_ ) ;
77
+ validateFirebaseDataArg ( 'firebase.database .onDisconnect().setWithPriority' ,
78
+ 1 , value , this . path_ , false ) ;
79
+ validatePriority ( 'firebase.database .onDisconnect().setWithPriority' , 2 , priority , false ) ;
80
+ validateCallback ( 'firebase.database .onDisconnect().setWithPriority' , 3 , opt_onComplete , true ) ;
81
81
82
- var deferred = new Deferred ( ) ;
83
- this . repo_ . onDisconnectSetWithPriority ( this . path_ , value , priority , deferred . wrapCallback ( opt_onComplete ) ) ;
84
- return deferred . promise ;
85
- } ;
82
+ const deferred = new Deferred ( ) ;
83
+ this . repo_ . onDisconnectSetWithPriority ( this . path_ , value , priority , deferred . wrapCallback ( opt_onComplete ) ) ;
84
+ return deferred . promise ;
85
+ }
86
86
87
- /**
88
- * @param {!Object } objectToMerge
89
- * @param {function(?Error)= } opt_onComplete
90
- * @return {!firebase.Promise }
91
- */
92
- OnDisconnect . prototype . update = function ( objectToMerge , opt_onComplete ) {
93
- validateArgCount ( 'Firebase .onDisconnect().update' , 1 , 2 , arguments . length ) ;
94
- validateWritablePath ( 'Firebase .onDisconnect().update' , this . path_ ) ;
95
- if ( Array . isArray ( objectToMerge ) ) {
96
- var newObjectToMerge = { } ;
97
- for ( var i = 0 ; i < objectToMerge . length ; ++ i ) {
98
- newObjectToMerge [ '' + i ] = objectToMerge [ i ] ;
99
- }
100
- objectToMerge = newObjectToMerge ;
101
- warn (
102
- 'Passing an Array to Firebase .onDisconnect().update() is deprecated. Use set() if you want to overwrite the ' +
87
+ /**
88
+ * @param {!Object } objectToMerge
89
+ * @param {function(?Error)= } opt_onComplete
90
+ * @return {!firebase.Promise }
91
+ */
92
+ update ( objectToMerge , opt_onComplete ) {
93
+ validateArgCount ( 'firebase.database .onDisconnect().update' , 1 , 2 , arguments . length ) ;
94
+ validateWritablePath ( 'firebase.database .onDisconnect().update' , this . path_ ) ;
95
+ if ( Array . isArray ( objectToMerge ) ) {
96
+ const newObjectToMerge = { } ;
97
+ for ( let i = 0 ; i < objectToMerge . length ; ++ i ) {
98
+ newObjectToMerge [ '' + i ] = objectToMerge [ i ] ;
99
+ }
100
+ objectToMerge = newObjectToMerge ;
101
+ warn (
102
+ 'Passing an Array to firebase.database .onDisconnect().update() is deprecated. Use set() if you want to overwrite the ' +
103
103
'existing data, or an Object with integer keys if you really do want to only update some of the children.'
104
- ) ;
105
- }
106
- validateFirebaseMergeDataArg ( 'Firebase .onDisconnect().update' , 1 , objectToMerge ,
104
+ ) ;
105
+ }
106
+ validateFirebaseMergeDataArg ( 'firebase.database .onDisconnect().update' , 1 , objectToMerge ,
107
107
this . path_ , false ) ;
108
- validateCallback ( 'Firebase.onDisconnect().update' , 2 , opt_onComplete , true ) ;
109
- var deferred = new Deferred ( ) ;
110
- this . repo_ . onDisconnectUpdate ( this . path_ , objectToMerge , deferred . wrapCallback ( opt_onComplete ) ) ;
111
- return deferred . promise ;
112
- } ;
108
+ validateCallback ( 'firebase.database.onDisconnect().update' , 2 , opt_onComplete , true ) ;
109
+ const deferred = new Deferred ( ) ;
110
+ this . repo_ . onDisconnectUpdate ( this . path_ , objectToMerge , deferred . wrapCallback ( opt_onComplete ) ) ;
111
+ return deferred . promise ;
112
+ }
113
+ }
0 commit comments