mirror of
https://github.com/gosticks/DefinitelyTyped.git
synced 2026-06-30 23:30:06 +00:00
Added definitions for the Facebook Cordova/Phonegap plugin
This commit is contained in:
114
phonegap-facebook-plugin/phonegap-facebook-plugin-tests.ts
Normal file
114
phonegap-facebook-plugin/phonegap-facebook-plugin-tests.ts
Normal file
@@ -0,0 +1,114 @@
|
||||
/// <reference path="phonegap-facebook-plugin.d.ts" />
|
||||
|
||||
facebookConnectPlugin.api("a", ["b", "c"]);
|
||||
facebookConnectPlugin.api("a", ["b", "c"], (result: any) => {});
|
||||
facebookConnectPlugin.api("a", ["b", "c"], (result: any) => {}, (error: string) => {});
|
||||
|
||||
facebookConnectPlugin.getAccessToken((token: string) => {});
|
||||
facebookConnectPlugin.getAccessToken((token: string) => {}, (error: string) => {});
|
||||
|
||||
facebookConnectPlugin.getLoginStatus();
|
||||
facebookConnectPlugin.getLoginStatus((status: PhonegapFacebookPlugin.LoginResult) => {
|
||||
var accessToken: string = status.authResponse.accessToken;
|
||||
var expiresIn: string = status.authResponse.expiresIn;
|
||||
var secret: string = status.authResponse.secret;
|
||||
var session_key: boolean = status.authResponse.session_key;
|
||||
var sig: string = status.authResponse.sig;
|
||||
var userID: string = status.authResponse.userID;
|
||||
var status1: string = status.status;
|
||||
}, (error: string) => {});
|
||||
|
||||
facebookConnectPlugin.logEvent("a");
|
||||
facebookConnectPlugin.logEvent("a", {});
|
||||
facebookConnectPlugin.logEvent("a", {}, 42);
|
||||
facebookConnectPlugin.logEvent("a", {}, 42, () => {});
|
||||
facebookConnectPlugin.logEvent("a", {}, 42, () => {}, (error: string) => {});
|
||||
|
||||
facebookConnectPlugin.logPurchase(42, "a");
|
||||
facebookConnectPlugin.logPurchase(42, "a", () => {});
|
||||
facebookConnectPlugin.logPurchase(42, "a", () => {}, (error: string) => {});
|
||||
|
||||
facebookConnectPlugin.login(["a", "b"], (result: PhonegapFacebookPlugin.LoginResult) => {
|
||||
var accessToken: string = result.authResponse.accessToken;
|
||||
var expiresIn: string = result.authResponse.expiresIn;
|
||||
var secret: string = result.authResponse.secret;
|
||||
var session_key: boolean = result.authResponse.session_key;
|
||||
var sig: string = result.authResponse.sig;
|
||||
var userID: string = result.authResponse.userID;
|
||||
var status: string = result.status;
|
||||
}, (error: string) => {});
|
||||
|
||||
facebookConnectPlugin.logout();
|
||||
facebookConnectPlugin.logout(() => {});
|
||||
facebookConnectPlugin.logout(() => {}, (error: string) => {});
|
||||
|
||||
//#region BaseDialog
|
||||
|
||||
var baseDialogOptions: PhonegapFacebookPlugin.BaseDialogOptions = {
|
||||
method: "a"
|
||||
};
|
||||
|
||||
facebookConnectPlugin.showDialog(baseDialogOptions, (status: PhonegapFacebookPlugin.BaseDialogResult) => {}, (error: string) => {});
|
||||
|
||||
//#endregion
|
||||
|
||||
//#region Feed Dialog
|
||||
|
||||
var feedDialogOptions: PhonegapFacebookPlugin.FeedDialogOptions = {
|
||||
method: "feed",
|
||||
from: "a",
|
||||
to: "b",
|
||||
link: "c",
|
||||
picture: "d",
|
||||
source: "e",
|
||||
name: "f",
|
||||
caption: "g",
|
||||
description: "h",
|
||||
ref: "i"
|
||||
};
|
||||
|
||||
facebookConnectPlugin.showDialog(feedDialogOptions, (status: PhonegapFacebookPlugin.FeedDialogResult) => {
|
||||
var post_id: string = status.post_id;
|
||||
}, (error: string) => {});
|
||||
|
||||
//#endregion
|
||||
|
||||
//#region Send Dialog
|
||||
|
||||
var sendDialogOptions: PhonegapFacebookPlugin.SendDialogOptions = {
|
||||
method: "send",
|
||||
to: "a",
|
||||
link: "b"
|
||||
};
|
||||
|
||||
facebookConnectPlugin.showDialog(sendDialogOptions, (status: PhonegapFacebookPlugin.SendDialogResult) => {
|
||||
}, (error: string) => {});
|
||||
|
||||
//#endregion
|
||||
|
||||
//#region Share Dialog
|
||||
|
||||
var shareDialogOptions: PhonegapFacebookPlugin.ShareDialogOptions = {
|
||||
method: "share",
|
||||
href: "a"
|
||||
};
|
||||
|
||||
facebookConnectPlugin.showDialog(shareDialogOptions, (status: PhonegapFacebookPlugin.ShareDialogResult) => {
|
||||
var post_id: string = status.post_id;
|
||||
}, (error: string) => {});
|
||||
|
||||
//#endregion
|
||||
|
||||
//#region Share Open Graph Dialog
|
||||
|
||||
var shareOpenGraphDialogOptions: PhonegapFacebookPlugin.ShareOpenGraphDialogOptions = {
|
||||
method: "share_open_graph",
|
||||
action_type: "a",
|
||||
action_properties: "b"
|
||||
};
|
||||
|
||||
facebookConnectPlugin.showDialog(shareOpenGraphDialogOptions, (status: PhonegapFacebookPlugin.ShareDialogResult) => {
|
||||
var post_id: string = status.post_id;
|
||||
}, (error: string) => {});
|
||||
|
||||
//#endregion
|
||||
292
phonegap-facebook-plugin/phonegap-facebook-plugin.d.ts
vendored
Normal file
292
phonegap-facebook-plugin/phonegap-facebook-plugin.d.ts
vendored
Normal file
@@ -0,0 +1,292 @@
|
||||
// Type definitions for phonegap-facebook-plugin 0.11.0
|
||||
// Project: https://github.com/Wizcorp/phonegap-facebook-plugin
|
||||
// Definitions by: Justin Unterreiner <https://github.com/Justin-Credible>
|
||||
// Definitions: https://github.com/borisyankov/DefinitelyTyped
|
||||
|
||||
declare module PhonegapFacebookPlugin {
|
||||
|
||||
//#region API Methods
|
||||
|
||||
interface FacebookConnectPluginStatic {
|
||||
|
||||
/**
|
||||
* Allows access to the Facebook Graph API. This API allows for additional permission because, unlike login, the Graph API can
|
||||
* accept multiple permissions. In order to make calls to the Graph API on behalf of a user, the user has to be logged into your
|
||||
* app using Facebook login.
|
||||
*
|
||||
* @param graphPath The graph API path to use for the query.
|
||||
* @param permissions The permissions to request.
|
||||
* @param successCallback The callback to be executed when the call completes successfully.
|
||||
* @param failureCallback The callback to be executed when the call fails.
|
||||
*/
|
||||
api: (graphPath: string, permissions: string[], successCallback?: (result: any) => void, failureCallback?: (error: string) => void) => void;
|
||||
|
||||
/**
|
||||
* Used to retreive the access token for the current user.
|
||||
*
|
||||
* @param successCallback The callback to be executed when the call completes successfully.
|
||||
* @param failureCallback The callback to be executed when the call fails.
|
||||
*/
|
||||
getAccessToken: (successCallback?: (token: string) => void, failureCallback?: (error: string) => void) => void;
|
||||
|
||||
/**
|
||||
* Used to get the login status for the current user.
|
||||
*
|
||||
* @param successCallback The callback to be executed when the call completes successfully.
|
||||
* @param failureCallback The callback to be executed when the call fails.
|
||||
*/
|
||||
getLoginStatus: (successCallback?: (status: LoginResult) => void, failureCallback?: (error: string) => void) => void;
|
||||
|
||||
/**
|
||||
* Used to log an event.
|
||||
*
|
||||
* @param name Name of the event.
|
||||
* @param params Extra data to log with the event (optional).
|
||||
* @param valueToSum a property which is an arbitrary number that can represent any value (e.g., a price or a quantity).
|
||||
* When reported, all of the valueToSum properties will be summed together. For example, if 10 people each purchased
|
||||
* one item that cost $10 (and passed in valueToSum) then they would be summed to report a number of $100. (optional)
|
||||
* @param successCallback The callback to be executed when the call completes successfully.
|
||||
* @param failureCallback The callback to be executed when the call fails.
|
||||
*/
|
||||
logEvent: (name: string, params?: any, valueToSum?: number, successCallback?: () => void, failureCallback?: (error: string) => void) => void;
|
||||
|
||||
/**
|
||||
* Used to log a purchase.
|
||||
*
|
||||
* @param value The value of the purchase.
|
||||
* @param currency An ISO-4217 currency code.
|
||||
* @param successCallback The callback to be executed when the call completes successfully.
|
||||
* @param failureCallback The callback to be executed when the call fails.
|
||||
*/
|
||||
logPurchase: (value: number, currency: string, successCallback?: () => void, failureCallback?: (error: string) => void) => void;
|
||||
|
||||
/**
|
||||
* Used to log the user in via Facebook. Calling this will result in a Facebook login dialog (or external
|
||||
* webpage) launching. Once the user completes the flow, one of the two callbacks will be executed.
|
||||
*
|
||||
* @param permissions The permissions to request during login.
|
||||
* @param successCallback The callback to be executed when the call completes successfully.
|
||||
* @param failureCallback The callback to be executed when the call fails.
|
||||
*/
|
||||
login: (permissions: string[], successCallback?: (result: LoginResult) => void, failureCallback?: (error: string) => void) => void;
|
||||
|
||||
/**
|
||||
* Used to log the user out of Facebook. This will invalidate their access token.
|
||||
*
|
||||
* @param successCallback The callback to be executed when the call completes successfully.
|
||||
* @param failureCallback The callback to be executed when the call fails.
|
||||
*/
|
||||
logout: (successCallback?: () => void, failureCallback?: (error: string) => void) => void;
|
||||
|
||||
/**
|
||||
* Used to open a Facebook dialog.
|
||||
*
|
||||
* @param options The options that control the dialog and it's behavior.
|
||||
* @param successCallback The callback to be executed when the call completes successfully.
|
||||
* @param failureCallback The callback to be executed when the call fails.
|
||||
*/
|
||||
showDialog: (options: BaseDialogOptions, successCallback?: (status: BaseDialogResult) => void, failureCallback?: (error: string) => void) => void;
|
||||
}
|
||||
|
||||
//#endregion
|
||||
|
||||
//#region Method Parameters
|
||||
|
||||
interface BaseDialogOptions {
|
||||
|
||||
/**
|
||||
* The type of dialog to show, can be one of the following.
|
||||
*
|
||||
* Depeneding on the type, a different options object will be used:
|
||||
*
|
||||
* Method Options Type
|
||||
* feed FeedDialogOptions
|
||||
* send SendDialogOptions
|
||||
* share ShareDialogOptions
|
||||
* share_open_graph ShareOpenGraphDialogOptions
|
||||
*/
|
||||
method: string;
|
||||
}
|
||||
|
||||
/**
|
||||
* You can add the Feed Dialog to your app so people can publish individual stories to their timeline. This
|
||||
* includes captions that your app manages and a personal comment from the person sharing the content.
|
||||
*
|
||||
* For use with showDialog() of method type 'feed'.
|
||||
*/
|
||||
interface FeedDialogOptions extends BaseDialogOptions {
|
||||
|
||||
/**
|
||||
* The ID of the person posting the message. If this is unspecified, it defaults to the current person.
|
||||
* If specified, it must be the ID of the person or of a page that the person administers.
|
||||
*/
|
||||
from?: string;
|
||||
|
||||
/**
|
||||
* The ID of the profile that this story will be published to. If this is unspecified, it defaults to
|
||||
* the value of from. The ID must be a friend who also uses your app.
|
||||
*/
|
||||
to?: string;
|
||||
|
||||
/**
|
||||
* The link attached to this post.
|
||||
*/
|
||||
link?: string;
|
||||
|
||||
/**
|
||||
* The URL of a picture attached to this post. The picture must be at least 200px by 200px.
|
||||
*/
|
||||
picture?: string;
|
||||
|
||||
/**
|
||||
* The URL of a media file (either SWF or MP3) attached to this post. If SWF, you must also specify
|
||||
* 'picture' to provide a thumbnail for the video.
|
||||
*/
|
||||
source?: string;
|
||||
|
||||
/**
|
||||
* The name of the link attachment.
|
||||
*/
|
||||
name?: string;
|
||||
|
||||
/**
|
||||
* The caption of the link (appears beneath the link name). If not specified, this field is automatically
|
||||
* populated with the URL of the link.
|
||||
*/
|
||||
caption?: string;
|
||||
|
||||
/**
|
||||
* The description of the link (appears beneath the link caption). If not specified, this field is
|
||||
* automatically populated by information scraped from the link, typically the title of the page.
|
||||
*/
|
||||
description?: string;
|
||||
|
||||
/**
|
||||
* This argument is a comma-separated list, consisting of at most 5 distinct items, each of length at
|
||||
* least 1 and at most 15 characters drawn from the set
|
||||
* '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz_'.
|
||||
* Each category is used in Facebook Insights to help you measure the performance of different types
|
||||
* of post.
|
||||
*/
|
||||
ref?: string;
|
||||
}
|
||||
|
||||
/**
|
||||
* The Send Dialog lets people privately send content to specific friends. They'll have the option to privately
|
||||
* share a link as a Facebook message or group post. The Send Dialog does not require any extended permissions.
|
||||
*
|
||||
* For use with showDialog() of method type 'send'.
|
||||
*/
|
||||
interface SendDialogOptions extends BaseDialogOptions {
|
||||
|
||||
/**
|
||||
* A user ID of a recipient. Once the dialog comes up, the sender can specify additional people, and groups
|
||||
* addresses as recipients. Sending content to a Facebook group will post it to the group's wall.
|
||||
*/
|
||||
to: string;
|
||||
|
||||
/**
|
||||
* Required parameter. The URL that is being sent in the message.
|
||||
*/
|
||||
link: string;
|
||||
}
|
||||
|
||||
/**
|
||||
* The Share dialog prompts a person to publish an individual story or an Open Graph story to their timeline.
|
||||
* This does not require Facebook Login or any extended permissions, so it is the easiest way to enable
|
||||
* sharing on web.
|
||||
*
|
||||
* For use with showDialog() of method type 'share'.
|
||||
*/
|
||||
interface ShareDialogOptions extends BaseDialogOptions {
|
||||
|
||||
/**
|
||||
* The link attached to this post. Required when using method share. Include open graph meta tags in the
|
||||
* page at this URL to customize the story that is shared.
|
||||
*/
|
||||
href: string;
|
||||
}
|
||||
|
||||
/**
|
||||
* The Share dialog prompts a person to publish an individual story or an Open Graph story to their timeline.
|
||||
* This does not require Facebook Login or any extended permissions, so it is the easiest way to enable
|
||||
* sharing on web.
|
||||
*
|
||||
* For use with showDialog() of method type 'share_open_graph'.
|
||||
*/
|
||||
interface ShareOpenGraphDialogOptions extends BaseDialogOptions {
|
||||
|
||||
/**
|
||||
* A string specifying which Open Graph action type to publish, e.g., og.likes for the built in like type.
|
||||
* The dialog also supports approved custom types.
|
||||
*/
|
||||
action_type: string;
|
||||
|
||||
/**
|
||||
* A JSON object of key/value pairs specifying parameters which correspond to the action_type being used.
|
||||
* Valid key/value pairs are the same parameters that can be used when publishing Open Graph Actions using
|
||||
* the API.
|
||||
*/
|
||||
action_properties: string;
|
||||
}
|
||||
|
||||
//#endregion
|
||||
|
||||
//#region Callback Results
|
||||
|
||||
/**
|
||||
* Result for the login() and getLoginStatus() success callbacks.
|
||||
*/
|
||||
interface LoginResult {
|
||||
authResponse: {
|
||||
accessToken: string;
|
||||
expiresIn: string;
|
||||
secret: string;
|
||||
session_key: boolean;
|
||||
sig: string;
|
||||
userID: string;
|
||||
},
|
||||
status: string;
|
||||
}
|
||||
|
||||
/**
|
||||
* The base result type for all showDialog() success callbacks.
|
||||
*/
|
||||
interface BaseDialogResult {
|
||||
error_code: string;
|
||||
error_message: string;
|
||||
}
|
||||
|
||||
/**
|
||||
* The response object returned from a success callback for showDialog() of type 'feed'.
|
||||
*/
|
||||
interface FeedDialogResult extends BaseDialogResult {
|
||||
|
||||
/**
|
||||
* The ID of the posted story, if the person chose to publish.
|
||||
*/
|
||||
post_id: string;
|
||||
}
|
||||
|
||||
/**
|
||||
* The response object returned from a success callback for showDialog() of type 'send'.
|
||||
*/
|
||||
interface SendDialogResult extends BaseDialogResult {
|
||||
}
|
||||
|
||||
/**
|
||||
* The response object returned from a success callback for showDialog() of type 'share' or 'share_open_graph'.
|
||||
*/
|
||||
interface ShareDialogResult extends BaseDialogResult {
|
||||
|
||||
/**
|
||||
* Only available if the user is logged into your app using Facebook and has granted publish_actions.
|
||||
* If present, this is the ID of the published Open Graph story.
|
||||
*/
|
||||
post_id: string;
|
||||
}
|
||||
|
||||
//#endregion
|
||||
}
|
||||
|
||||
declare var facebookConnectPlugin: PhonegapFacebookPlugin.FacebookConnectPluginStatic;
|
||||
Reference in New Issue
Block a user