From 4238c803afcb92b1a17fb3c6b9bf0de6fb7ec1c1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?De=CC=81nes=20Harmath?= Date: Sat, 15 Feb 2014 23:53:59 +0100 Subject: [PATCH] Fix compile errors --- angularfire/angularfire-tests.ts | 44 +++++++++++++++++--------------- angularfire/angularfire.d.ts | 12 ++++++--- firebase/firebase.d.ts | 2 +- 3 files changed, 34 insertions(+), 24 deletions(-) diff --git a/angularfire/angularfire-tests.ts b/angularfire/angularfire-tests.ts index 672252729..e3a04712c 100644 --- a/angularfire/angularfire-tests.ts +++ b/angularfire/angularfire-tests.ts @@ -1,58 +1,62 @@ /// -// Based on https://www.firebase.com/docs/angular/index.html - var myapp = angular.module("myapp", ["firebase"]); -interface AngularFireScope { +interface AngularFireScope extends ng.IScope { items: AngularFire; + remoteItems: RemoteItems; } +interface RemoteItems { + bar: string; +} + +var url = "https://myapp.firebaseio.com"; + myapp.controller("MyController", ["$scope", "$firebase", function($scope: AngularFireScope, $firebase: AngularFireService) { - $scope.items = $firebase(new Firebase(URL)); + $scope.items = $firebase(new Firebase(url)); $scope.items.$add({ foo: "bar" }); - $scope.items.$remove("foo"); // Removes child named "foo". - $scope.items.$remove(); // Removes the entire object. - $scope.items.foo = "baz"; - $scope.items.$save("foo"); // new Firebase(URL + "/foo") now contains "baz". + $scope.items.$remove("foo"); + $scope.items.$remove(); + $scope.items.$save(); var child = $scope.items.$child("foo"); - child.$remove(); // Same as calling $scope.items.$remove("foo"); - $scope.items.$set({ bar: "baz" }); // new Firebase(URL + "/foo") is now null. + child.$remove(); + $scope.items.$set({ bar: "baz" }); var keys = $scope.items.$getIndex(); keys.forEach(function(key, i) { - console.log(i, $scope.items[key]); // prints items in order they appear in Firebase + console.log(i, $scope.items[key]); }); - $scope.items.foo.$priority = 20; - $scope.items.$save("foo"); // new Firebase(URL + "foo")'s priority is now 20. $scope.items.$on("loaded", function() { console.log("Initial data received!"); }); $scope.items.$on("change", function() { console.log("A remote change was applied locally!"); }); - // Detaches all `loaded` event handlers. $scope.items.$off('loaded'); - // Stops synchronization on `$scope.items` completely. function stopSync() { $scope.items.$off(); } $scope.items.$bind($scope, "remoteItems"); - $scope.remoteItems.bar = "foo"; // new Firebase(URL + "/bar") is now "foo". + $scope.remoteItems.bar = "foo"; $scope.items.$bind($scope, "remote").then(function(unbind) { unbind(); - $scope.remote.bar = "foo"; // No changes have been made to the remote data. + $scope.remoteItems.bar = "foo"; }); } ]); -interface AngularFireAuthScope { +var foo: AngularFireObject = { + $priority: 0 +}; + +interface AngularFireAuthScope extends ng.IScope { loginObj: AngularFireAuth; } myapp.controller("MyAuthController", ["$scope", "$firebaseSimpleLogin", - function($scope: AngularFireAuthScope, $firebaseSimpleLogin) { - var dataRef = new Firebase("https://myapp.firebaseio.com"); + function($scope: AngularFireAuthScope, $firebaseSimpleLogin: AngularFireAuthService) { + var dataRef = new Firebase(url); $scope.loginObj = $firebaseSimpleLogin(dataRef); $scope.loginObj.$getCurrentUser().then(_ => { }); diff --git a/angularfire/angularfire.d.ts b/angularfire/angularfire.d.ts index 25f44332c..3f2b0aa10 100644 --- a/angularfire/angularfire.d.ts +++ b/angularfire/angularfire.d.ts @@ -3,6 +3,9 @@ // Definitions by: Dénes Harmath // Definitions: https://github.com/borisyankov/DefinitelyTyped +/// +/// + interface AngularFireService { (firebase: Firebase): AngularFire; } @@ -13,13 +16,16 @@ interface AngularFire { $save(key?: string): void; $child(key: string): AngularFire; $set(value: any): void; - $getIndex(): number; - $priority: number; + $getIndex(): string[]; $on(eventType: string, callback: (dataSnapshot: IFirebaseDataSnapshot, prevChildName?: string) => void, cancelCallback?: ()=> void, context?: Object): (dataSnapshot: IFirebaseDataSnapshot, prevChildName?: string) => void; - $off(eventType: string, callback: (dataSnapshot: IFirebaseDataSnapshot, prevChildName?: string) => void, cancelCallback?: ()=> void, context?: Object): (dataSnapshot: IFirebaseDataSnapshot, prevChildName?: string) => void; + $off(eventType?: string, callback?: (dataSnapshot: IFirebaseDataSnapshot, prevChildName?: string) => void, cancelCallback?: ()=> void, context?: Object): (dataSnapshot: IFirebaseDataSnapshot, prevChildName?: string) => void; $bind($scope: ng.IScope, modelName: string): ng.IPromise; } +interface AngularFireObject { + $priority: number; +} + interface AngularFireAuthService { (firebase: Firebase): AngularFireAuth; } diff --git a/firebase/firebase.d.ts b/firebase/firebase.d.ts index 83f9ca84b..bac32fbc6 100644 --- a/firebase/firebase.d.ts +++ b/firebase/firebase.d.ts @@ -53,7 +53,7 @@ declare class Firebase implements IFirebaseQuery { toString(): string; set(value: any, onComplete?: (error: any) => void): void; update(value: any, onComplete?: (error: any) => void): void; - remove(onComplete?: (error: any) => void); + remove(onComplete?: (error: any) => void): void; push(value: any, onComplete?: (error: any) => void): Firebase; setWithPriority(value: any, priority: string, onComplete?: (error: any) => void): void; setWithPriority(value: any, priority: number, onComplete?: (error: any) => void): void;