@@ -50,7 +50,7 @@ external void forceWebSockets();
5050
5151@JS ()
5252@staticInterop
53- external JSPromise /* DataSnapshotJsImpl*/ get (QueryJsImpl query);
53+ external JSPromise < DataSnapshotJsImpl > get (QueryJsImpl query);
5454
5555@JS ()
5656@staticInterop
@@ -164,13 +164,13 @@ external ReferenceJsImpl refFromURL(
164164
165165@JS ()
166166@staticInterop
167- external JSPromise remove (
167+ external JSPromise < ReferenceJsImpl > remove (
168168 ReferenceJsImpl ref,
169169);
170170
171171@JS ()
172172@staticInterop
173- external JSPromise /* <TransactionResultJsImpl>*/ runTransaction (
173+ external JSPromise <TransactionResultJsImpl > runTransaction (
174174 ReferenceJsImpl ref,
175175 JSFunction transactionUpdate,
176176 // Function(JSAny currentData) transactionUpdate,
@@ -183,16 +183,16 @@ external JSAny serverTimestamp();
183183
184184@JS ()
185185@staticInterop
186- external JSPromise set (ReferenceJsImpl ref, JSAny ? value);
186+ external JSPromise < ReferenceJsImpl > set (ReferenceJsImpl ref, JSAny ? value);
187187
188188@JS ()
189189@staticInterop
190- external JSPromise setPriority (
190+ external JSPromise < ReferenceJsImpl > setPriority (
191191 ReferenceJsImpl ref, /* JSString | JSNumber | null */ JSAny ? priority);
192192
193193@JS ()
194194@staticInterop
195- external JSPromise setWithPriority (ReferenceJsImpl ref, JSAny ? value,
195+ external JSPromise < ReferenceJsImpl > setWithPriority (ReferenceJsImpl ref, JSAny ? value,
196196 /* JSString | JSNumber | null */ JSAny ? priority);
197197
198198@JS ()
@@ -220,60 +220,44 @@ abstract class ServerValue {
220220 external static JSAny get TIMESTAMP ;
221221}
222222
223- @JS ('Database' )
224- @staticInterop
225- abstract class DatabaseJsImpl {}
226-
227- extension DatabaseJsImplExtension on DatabaseJsImpl {
223+ extension type DatabaseJsImpl ._(JSObject _) implements JSObject {
228224 external AppJsImpl get app;
229225 external set app (AppJsImpl a);
230226 external JSString get type;
231227}
232228
233- @JS ('QueryConstraint' )
234- @staticInterop
235- abstract class QueryConstraintJsImpl {}
236-
237- extension QueryConstraintJsImplExtension on QueryConstraintJsImpl {
229+ extension type QueryConstraintJsImpl ._(JSObject _) implements JSObject {
238230 external JSString get type;
239231}
240232
241- @JS ('OnDisconnect' )
242- @staticInterop
243- abstract class OnDisconnectJsImpl {}
244-
245- extension OnDisconnectJsImplExtension on OnDisconnectJsImpl {
246- external JSPromise cancel ([
233+ extension type OnDisconnectJsImpl ._(JSObject _) implements JSObject {
234+ external JSPromise <ReferenceJsImpl > cancel ([
247235 JSFunction onComplete,
248236 //void Function(JSAny) onComplete
249237 ]);
250238
251- external JSPromise remove ([
239+ external JSPromise < ReferenceJsImpl > remove ([
252240 JSFunction onComplete,
253241 //void Function(JSAny) onComplete
254242 ]);
255243
256- external JSPromise set (
244+ external JSPromise < ReferenceJsImpl > set (
257245 JSAny ? value, [
258246 JSFunction onComplete,
259247 //void Function(JSAny) onComplete
260248 ]);
261249
262- external JSPromise setWithPriority (
250+ external JSPromise < ReferenceJsImpl > setWithPriority (
263251 JSAny ? value,
264252 JSAny ? priority,
265253 );
266254
267- external JSPromise update (
255+ external JSPromise < ReferenceJsImpl > update (
268256 JSAny ? values,
269257 );
270258}
271259
272- @JS ('ThenableReference' )
273- @staticInterop
274- abstract class ThenableReferenceJsImpl extends ReferenceJsImpl {}
275-
276- extension ThenableReferenceJsImplExtension on ThenableReferenceJsImpl {
260+ extension type ThenableReferenceJsImpl ._(JSObject _) implements JSObject {
277261 external JSPromise then ([JSFunction ? onResolve, JSFunction ? onReject]);
278262}
279263
@@ -302,12 +286,7 @@ abstract class ListenOptions {
302286 external static JSBoolean get onlyOnce;
303287}
304288
305- @JS ()
306- @staticInterop
307- @anonymous
308- abstract class FirebaseError {}
309-
310- extension FirebaseErrorExtension on FirebaseError {
289+ extension type FirebaseError ._(JSObject _) implements JSObject {
311290 external JSString get code;
312291 external JSString get message;
313292 external JSString get name;
0 commit comments