Commit Graph

7 Commits

Author SHA1 Message Date
Josh Carroll
c983f12458 Changed reject to be 'any' per angular docs 2013-03-21 12:01:28 -04:00
Anton Zolotkov
26d0c8a757 AngularJS: fixed typing of the ng.IPromise.then function
The type definition for ng.IPromise.then was, in my opinion, incorrect
semantically, and breaking on practical examples in my codebase.

An `IPromise`' `then` function takes a callback which is called with the
value of the promise once it's fulfilled. This could be a number, a
string, some object, an array of strings, anything really. Yet the
typing in angular.d.ts specified `then` as taking a `successCallback` of
type `(response: PromiseCallbackArg) => any`.

The definition of `PromiseCallbackArg` seems very permissive at first
glance, as it is defined to be an object with a bunch of fields, all
optional. Any object, a number, and a string all type check correctly
with such a type, but an array of strings, for example, does not
(`cPromise` in the provided list of test).

Furthermore, it seems to me that the `PromiseCallbackArg` definition was
added specifically to support the response type for promises returned by
the Angular `$http` service, the `ng.IHttpPromise`.

So instead of having an incorrect type on the `ng.IPromise.then` function,
I propose we return it to its generic form, and instead override the
type of the inherited `then` function in the `ng.IHttpPromise` interface.
This would also warrant renaming `PromiseCallbackArg` to
`IHttpPromiseCallbackArg`.
2013-03-20 11:48:15 +09:00
JakubMrozek
e9dfb35006 Rename IRouteProviderProvider to IRouteProvider for angular.d.ts 2013-03-07 18:28:52 +01:00
Diullei Gomes
aed0b8aecd bug fix #369 - status property on angularjs response object 2013-03-06 22:47:53 -03:00
Jason Swearingen
a46ab6bb93 minor fixes+typings, mostly adding documentation
angularjs: docs around first page tutorials
jquery: fix for known lib.d.ts big
knockback: add typing for observable based on tutorial, add docs around
observable.
2013-02-14 18:34:00 +07:00
Boris Yankov
209d95071a Update reference paths 2013-01-17 20:03:30 +02:00
Boris Yankov
c98eebb137 Rename all definition files, remove versions 2013-01-17 17:17:27 +02:00