From 3eb36c97b6a438a44709d7c06ad0f98abb63cc2c Mon Sep 17 00:00:00 2001 From: Frank Bille Date: Tue, 26 May 2015 16:04:25 +0200 Subject: [PATCH 1/2] Return Firebase as type from $ref This is what really happens in the source code for AngularFire 1.1.1 (and always has), for both AngularFireObject and AngularFireArray. See https://github.com/firebase/angularfire/blob/1aa81906cdfb3e35e7c31fc6dee8a4922b1470ae/src/FirebaseObject.js#L125 --- angularfire/angularfire.d.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/angularfire/angularfire.d.ts b/angularfire/angularfire.d.ts index 46d95750c..04af445d9 100644 --- a/angularfire/angularfire.d.ts +++ b/angularfire/angularfire.d.ts @@ -33,7 +33,7 @@ interface AngularFireObject extends AngularFireSimpleObject { $loaded(resolve?: (x: AngularFireObject) => ng.IHttpPromise<{}>, reject?: (err: any) => any): ng.IPromise; $loaded(resolve?: (x: AngularFireObject) => ng.IPromise<{}>, reject?: (err: any) => any): ng.IPromise; $loaded(resolve?: (x: AngularFireObject) => void, reject?: (err: any) => any): ng.IPromise; - $ref(): AngularFire; + $ref(): Firebase; $bindTo(scope: ng.IScope, varName: string): ng.IPromise; $watch(callback: Function, context?: any): Function; $destroy(): void; @@ -53,7 +53,7 @@ interface AngularFireArray extends Array { $loaded(resolve?: (x: AngularFireArray) => ng.IHttpPromise<{}>, reject?: (err: any) => any): ng.IPromise; $loaded(resolve?: (x: AngularFireArray) => ng.IPromise<{}>, reject?: (err: any) => any): ng.IPromise; $loaded(resolve?: (x: AngularFireArray) => void, reject?: (err: any) => any): ng.IPromise; - $ref(): AngularFire; + $ref(): Firebase; $watch(cb: (event: string, key: string, prevChild: string) => void, context?: any): Function; $destroy(): void; } From b67ca7586142caf806555e3bc17ed3586fe22b04 Mon Sep 17 00:00:00 2001 From: Frank Bille Date: Tue, 26 May 2015 16:21:44 +0200 Subject: [PATCH 2/2] Fix tests to expect correct return type. Also stop using deprecated methods and use $firebase(Object|Array) directly instead. --- angularfire/angularfire-tests.ts | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/angularfire/angularfire-tests.ts b/angularfire/angularfire-tests.ts index d636c88e6..c649301e3 100644 --- a/angularfire/angularfire-tests.ts +++ b/angularfire/angularfire-tests.ts @@ -46,7 +46,7 @@ myapp.controller("MyController", ["$scope", "$firebase", '$FirebaseObject', '$Fi // AngularFireObject { - var obj = sync.$asObject(); + var obj = $FirebaseObject(ref); // $id if (obj.$id !== ref.name()) throw "error"; @@ -63,7 +63,7 @@ myapp.controller("MyController", ["$scope", "$firebase", '$FirebaseObject', '$Fi }); // $ref() - if (obj.$ref() !== sync) throw "error"; + if (obj.$ref() !== ref) throw "error"; // $bindTo() obj.$bindTo($scope, "data").then(function () { @@ -92,10 +92,10 @@ myapp.controller("MyController", ["$scope", "$firebase", '$FirebaseObject', '$Fi // AngularFireArray { - var list = sync.$asArray(); + var list = $FirebaseArray(ref); // $ref() - if (list.$ref() !== sync) throw "error"; + if (list.$ref() !== ref) throw "error"; // $add() list.$add({ foo: "foo value" });