From 1e4a86c5fdad1113793811a9ade0864ea1cdab44 Mon Sep 17 00:00:00 2001 From: Adam Burmister Date: Mon, 11 Jan 2016 15:25:33 -0800 Subject: [PATCH] Pinterest JS SDK definitions --- pinterest-sdk/pinterest-sdk.d.ts | 130 +++++++++++++++++++++++++++++++ 1 file changed, 130 insertions(+) create mode 100644 pinterest-sdk/pinterest-sdk.d.ts diff --git a/pinterest-sdk/pinterest-sdk.d.ts b/pinterest-sdk/pinterest-sdk.d.ts new file mode 100644 index 000000000..2c7b32b0d --- /dev/null +++ b/pinterest-sdk/pinterest-sdk.d.ts @@ -0,0 +1,130 @@ +// Type definitions for pinterest-sdk +// Project: +// Definitions by: Adam Burmister +// Definitions: https://github.com/adamburmister/DefinitelyTyped +declare module PDK { + + type OauthSession = { + accessToken?: string; + scope?: string; + error?: string; + } + + interface LoginOptions { + method?: string; + appId?: string; + cookie?: boolean; + logging?: boolean; + session?: OauthSession; + } + + interface OAuthRequestParams { + accessToken?: string; + data?: any; + } + + interface InitOptions { + /** Your application ID from developer.pinterest.com */ + appId?: string; + cookie?: boolean; + logging?: boolean; + session?: OauthSession; + } + + enum HttpMethod { 'get', 'put', 'post', 'delete' } + + /** + * Get information on the currently authenticated user + * @param path the url path + * @param params the parameters for the request + * @param cb the callback export function to handle the response + */ + export function me(path?: string, params?: Object, callback?: Function): void; + + /** + * Make an API call to the server + * + * The path is the only required argument. + * + * @param path URL path + * @param httpMethod HTTP verb + */ + export function request(path: string, httpMethod?: string|HttpMethod, params?: OAuthRequestParams, callback?: Function): void; + + /** + * Show user login dialog, and save access token + */ + export function login(options: LoginOptions, callback: Function): void; + + /** + * Remove the session of the current user. + * + * Need to call login to re-connect, unless session is saved on server. + */ + export function logout(callback: (session: OauthSession) => any): void; + + /** + * Get the active session for the current user + */ + export function getSession(): OauthSession; + + /** + * Save the user specified session + */ + export function setSession(session: OauthSession, callback?: (session: OauthSession) => any): void; + + /** + * Initialize the library. + * + * Typical initialization enabling all optional features: + * ``` + * + * + * ``` + * The best place to put this code is right before the closing + * `` tag. + * + * - Asynchronous Loading - + * + * The library makes non-blocking loading of the script easy to use by + * providing the `pAsyncInit` hook. If this global export function is defined, it + * will be executed when the library is loaded: + * ``` + *
+ * + * ``` + */ + export function init(options: InitOptions): void; + + /** + * Allow an unauthenticated user to pin using a popup + * + * @param imageUrl URL for image being pinned + * @param note description for pin + * @param url url where pin is from + */ + export function pin(imageUrl: string, note: string, url: string, callback: Function): void; +} + +declare module 'pinterest-sdk' { + export = PDK; +}