Merge pull request #2042 from PavelPZ/master

New definiton for Hello.js
This commit is contained in:
Basarat Ali Syed
2014-04-15 22:40:35 +10:00
3 changed files with 100 additions and 0 deletions
+1
View File
@@ -116,6 +116,7 @@ List of Definitions
* [Handlebars](http://handlebarsjs.com/) (by [Boris Yankov](https://github.com/borisyankov))
* [HashSet](http://www.timdown.co.uk/jshashtable/jshashset.html) (by [Sergey Gerasimov](https://github.com/gerich-home))
* [Hashtable](http://www.timdown.co.uk/jshashtable/) (by [Sergey Gerasimov](https://github.com/gerich-home))
* [HelloJS](http://adodson.com/hello.js) (by [Pavel Zika](https://github.com/PavelPZ))
* [Highcharts](http://www.highcharts.com/) (by [damianog](https://github.com/damianog))
* [Highland](http://highlandjs.org/) (by [Bart van der Schoor](https://github.com/Bartvds/))
* [highlight.js](https://github.com/isagalaev/highlight.js) (by [Niklas Mollenhauer](https://github.com/nikeee))
+32
View File
@@ -0,0 +1,32 @@
/// <reference path="hellojs.d.ts" />
hello.init(
{
'facebook': '<app key>',
},
{
redirect_uri: 'hello.html',
display: 'page',
}
);
hello('facebook').login();
hello('facebook').logout();
hello.on('auth.login', auth => {
alert('log to ' + auth.network)
}).on('auth.logout', auth => {
alert('unlog from ' + auth.network)
});
hello.getAuthResponse('facebook');
hello.login('facebook', null, () => {
var req = hello.getAuthResponse('facebook');
});
hello.logout('facebook');
var serviceInfo = hello.service('facebook');
+67
View File
@@ -0,0 +1,67 @@
// Type definitions for hello.js 0.2.1
// Project: http://adodson.com/hello.js/
// Definitions by: Pavel Zika <https://github.com/PavelPZ>
// Definitions: https://github.com/borisyankov/DefinitelyTyped
interface HelloJSLoginOptions {
redirect_uri?: string;
display?: string;
scope?: string;
response_type?: string;
force?: boolean;
oauth_proxy?: string;
timeout?: number;
default_service?: string;
}
interface HelloJSEventArgument {
network: string;
authResponse?: any;
}
interface HelloJSStatic {
init(serviceAppIds: { [id: string]: string; }, defaultOptions?: HelloJSLoginOptions):void;
login(network: string, option?: HelloJSLoginOptions, callback?: () => void): void;
logout(network: string, callback?: () => void): void;
on(eventName: string, event: (auth: HelloJSEventArgument) => void): HelloJSStatic;
off(eventName: string, event: (auth: HelloJSEventArgument) => void): HelloJSStatic;
getAuthResponse(network: string): any;
service(network: string): HelloJSServiceDef;
settings: HelloJSLoginOptions;
(network: string): HelloJSStaticNamed;
init(servicesDef: { [id: string]: HelloJSServiceDef; }): void;
}
interface HelloJSStaticNamed {
login(option?: HelloJSLoginOptions, callback?: () => void): void;
logout(callback?: () => void): void;
getAuthResponse(): any;
}
interface HelloJSOAuthDef {
version: number;
auth: string;
request: string;
token: string;
}
interface HelloJSServiceDef {
name: string;
oauth: HelloJSOAuthDef;
scope?: { [id: string]: string; };
scope_delim?: string;
autorefresh?: boolean;
base?: string;
root?: string;
get?: { [id: string]: any; }
post?: { [id: string]: any; }
del?: { [id: string]: string; }
put?: { [id: string]: any; }
wrap?: { [id: string]: (par: any) => void; }
xhr?: (par: any) => void;
jsonp?: (par: any) => void;
form?: (par: any) => void;
api?: (...par: any[]) => void;
}
declare var hello: HelloJSStatic;