UNPKG

typescript-closure-tools

Version:

Command-line tools to convert closure-style JSDoc annotations to typescript, and to convert typescript sources to closure externs files

208 lines (199 loc) 8 kB
// Type definitions for Google API Client // Project: https://code.google.com/p/google-api-javascript-client/ // Definitions by: Frank M <https://github.com/sgtfrankieboy> // Definitions: https://github.com/borisyankov/DefinitelyTyped /** * The OAuth 2.0 token object represents the OAuth 2.0 token and any associated data. */ interface GoogleApiOAuth2TokenObject { /** * The OAuth 2.0 token. Only present in successful responses */ access_token: string; /** * Details about the error. Only present in error responses */ error: string; /** * The duration, in seconds, the token is valid for. Only present in successful responses */ expires_in: string; /** * The Google API scopes related to this token */ state: string; } declare module gapi.auth { /** * Initiates the OAuth 2.0 authorization process. The browser displays a popup window prompting the user authenticate and authorize. After the user authorizes, the popup closes and the callback function fires. * @param params A key/value map of parameters for the request. If the key is not one of the expected OAuth 2.0 parameters, it is added to the URI as a query parameter. * @param callback The function to call once the login process is complete. The function takes an OAuth 2.0 token object as its only parameter. */ export function authorize(params: { /** * The application's client ID. */ client_id?: string; /** * If true, then login uses "immediate mode", which means that the token is refreshed behind the scenes, and no UI is shown to the user. */ immediate?: boolean; /** * The OAuth 2.0 response type property. Default: token */ response_type?: string; /** * The auth scope or scopes to authorize. Auth scopes for individual APIs can be found in their documentation. */ scope?: any[] }, callback: (token: GoogleApiOAuth2TokenObject) => any): void; /** * Initializes the authorization feature. Call this when the client loads to prevent popup blockers from blocking the auth window on gapi.auth.authorize calls. * @param callback A callback to execute when the auth feature is ready to make authorization calls. */ export function init(callback: () => any): void; /** * Retrieves the OAuth 2.0 token for the application. * @return The OAuth 2.0 token. */ export function getToken(): GoogleApiOAuth2TokenObject; /** * Sets the OAuth 2.0 token for the application. * @param token The token to set. */ export function setToken(token: GoogleApiOAuth2TokenObject): void; } declare module gapi.client { /** * Loads the client library interface to a particular API. The new API interface will be in the form gapi.client.api.collection.method. * @param name The name of the API to load. * @param version The version of the API to load * @param callback the function that is called once the API interface is loaded */ export function load(name: string, version: string, callback?: () => any): void; /** * Creates a HTTP request for making RESTful requests. * An object encapsulating the various arguments for this method. */ export function request(args: { /** * The URL to handle the request */ path: string; /** * The HTTP request method to use. Default is GET */ method?: string; /** * URL params in key-value pair form */ params?: any; /** * Additional HTTP request headers */ headers?: any; /** * The HTTP request body (applies to PUT or POST). */ body?: string; /** * If supplied, the request is executed immediately and no gapi.client.HttpRequest object is returned */ callback?: () => any; }): HttpRequest<any>; /** * Creates an RPC Request directly. The method name and version identify the method to be executed and the RPC params are provided upon RPC creation. * @param method The method to be executed. * @param version The version of the API which defines the method to be executed. Defaults to v1 * @param rpcParams A key-value pair of the params to supply to this RPC */ export function rpcRequest(method: string, version?: string, rpcParams?: any): RpcRequest; /** * Sets the API key for the application. * @param apiKey The API key to set */ export function setApiKey(apiKey: string): void; /** * An object encapsulating an HTTP request. This object is not instantiated directly, rather it is returned by gapi.client.request. */ export class HttpRequest<T> { /** * Executes the request and runs the supplied callback on response. * @param callback The callback function which executes when the request succeeds or fails. */ execute(callback: ( /** * contains the response parsed as JSON. If the response is not JSON, this field will be false. */ jsonResp: T, /** * is the HTTP response. It is JSON, and can be parsed to an object */ rawResp: { body: string; headers: any[]; status: number; statusText: string; } ) => any):void; } /** * Represents an HTTP Batch operation. Individual HTTP requests are added with the add method and the batch is executed using execute. */ export class HttpBatch { /** * Adds a gapi.client.HttpRequest to the batch. * @param httpRequest The HTTP request to add to this batch. * @param opt_params extra parameters for this batch entry. */ add(httpRequest: HttpRequest<any>, opt_params?: { /** * Identifies the response for this request in the map of batch responses. If one is not provided, the system generates a random ID. */ id: string; callback: ( /** * is the response for this request only. Its format is defined by the API method being called. */ individualResponse: any, /** * is the raw batch ID-response map as a string. It contains all responses to all requests in the batch. */ rawBatchResponse: any ) => any }):void; /** * Executes all requests in the batch. The supplied callback is executed on success or failure. * @param callback The callback to execute when the batch returns. */ execute(callback: ( /** * is an ID-response map of each requests response. */ responseMap: any, /** * is the same response, but as an unparsed JSON-string. */ rawBatchResponse: string ) => any):void; } /** * Similar to gapi.client.HttpRequest except this object encapsulates requests generated by registered methods. */ export class RpcRequest { /** * Executes the request and runs the supplied callback with the response. * @param callback The callback function which executes when the request succeeds or fails. */ callback(callback: ( /** * contains the response parsed as JSON. If the response is not JSON, this field will be false. */ jsonResp: any, /** * is the same as jsonResp, except it is a raw string that has not been parsed. It is typically used when the response is not JSON. */ rawResp: string ) => void ):void; } }