mirror of
https://github.com/wassname/DefinitelyTyped.git
synced 2026-09-09 11:13:57 +08:00
Merge pull request #2552 from Steve-Fenton/master
Dropbox-JS Definition.
This commit is contained in:
@@ -0,0 +1,54 @@
|
||||
/// <reference path="dropboxjs.d.ts" />
|
||||
|
||||
var browserClient = new Dropbox.Client({ key: "your-key-here" });
|
||||
|
||||
browserClient.authenticate(function (error, client) {
|
||||
if (error) {
|
||||
alert(error);
|
||||
}
|
||||
|
||||
client.onError.addListener(function (error) {
|
||||
if (window.console) { // Skip the "if" in node.js code.
|
||||
console.error(error);
|
||||
}
|
||||
});
|
||||
|
||||
client.getAccountInfo(function (error, accountInfo) {
|
||||
if (error) {
|
||||
alert(error); // Something went wrong.
|
||||
}
|
||||
|
||||
alert("Hello, " + accountInfo.name + "!");
|
||||
});
|
||||
|
||||
client.writeFile("hello_world.txt", "Hello, world!\n", function (error, stat) {
|
||||
if (error) {
|
||||
alert(error); // Something went wrong.
|
||||
}
|
||||
|
||||
alert("File saved as revision " + stat.versionTag);
|
||||
});
|
||||
|
||||
client.readFile("hello_world.txt", function (error, data) {
|
||||
if (error) {
|
||||
alert(error); // Something went wrong.
|
||||
}
|
||||
|
||||
alert(data); // data has the file's contents
|
||||
});
|
||||
|
||||
client.readdir("/", function (error, entries) {
|
||||
if (error) {
|
||||
alert(error); // Something went wrong.
|
||||
}
|
||||
|
||||
alert("Your Dropbox contains " + entries.join(", "));
|
||||
});
|
||||
});
|
||||
|
||||
var serverClient = new Dropbox.Client({
|
||||
key: "your-key-here",
|
||||
secret: "your-secret-here"
|
||||
});
|
||||
|
||||
serverClient.authDriver(new Dropbox.AuthDriver.NodeServer(8191));
|
||||
Vendored
+101
@@ -0,0 +1,101 @@
|
||||
// Type definitions for dropbox-js
|
||||
// Project: https://github.com/dropbox/dropbox-js
|
||||
// Definitions by: Steve Fenton <https://github.com/Steve-Fenton>
|
||||
// Definitions: https://github.com/borisyankov/DefinitelyTyped
|
||||
|
||||
declare module Dropbox {
|
||||
export interface DropboxConfig {
|
||||
key: string;
|
||||
secret?: string;
|
||||
}
|
||||
|
||||
export interface AccountInfoData {
|
||||
name: string;
|
||||
email: string;
|
||||
countryCode: string;
|
||||
uid: string;
|
||||
referralUrl: string;
|
||||
publicAppUrl: string;
|
||||
quota: number;
|
||||
usedQuota: number;
|
||||
privateBytes: number;
|
||||
sharedBytes: number;
|
||||
}
|
||||
|
||||
export interface AccountInfo extends AccountInfoData {
|
||||
parse(accountInfo: string): AccountInfo;
|
||||
json(): AccountInfoData;
|
||||
}
|
||||
|
||||
export interface ApiError {
|
||||
INVALID_TOKEN: number;
|
||||
NOT_FOUND: number;
|
||||
OVER_QUOTA: number;
|
||||
RATE_LIMITED: number;
|
||||
NETWORK_ERROR: number;
|
||||
INVALID_PARAM: number;
|
||||
OAUTH_ERROR: number;
|
||||
INVALID_METHOD: number;
|
||||
}
|
||||
|
||||
export interface FileStatisticsData {
|
||||
path: string;
|
||||
name: string;
|
||||
inAppFolder: boolean;
|
||||
isFolder: boolean;
|
||||
isFile: boolean;
|
||||
isRemoved: boolean;
|
||||
typeIcon: string;
|
||||
versionTag: string;
|
||||
contentHash: string;
|
||||
mimeType: string;
|
||||
size: number;
|
||||
humanSize: string;
|
||||
hasThumbnail: boolean;
|
||||
modifiedAt: Date;
|
||||
clientModifiedAt: Date;
|
||||
}
|
||||
|
||||
export interface FileStatistics extends FileStatisticsData {
|
||||
parse(stats: string): FileStatistics;
|
||||
json(): FileStatisticsData;
|
||||
}
|
||||
|
||||
export interface ClientOnError {
|
||||
addListener(callback: (error: number) => any): void;
|
||||
}
|
||||
|
||||
export interface Client {
|
||||
new (config: DropboxConfig): Client;
|
||||
authDriver(authDriver: any): Client;
|
||||
authenticate(callback: (error: number, client: Client) => any): Client;
|
||||
credentials(): string;
|
||||
dropboxUid(): string;
|
||||
isAuthenticated(): boolean;
|
||||
onError: ClientOnError;
|
||||
getAccountInfo(callback: (error: number, accountInfo: AccountInfo) => any): XMLHttpRequest;
|
||||
getUserInfo(callback: (error: number, accountInfo: AccountInfo) => any): XMLHttpRequest;
|
||||
signOut(options: {}, callback: (error: number) => any): XMLHttpRequest;
|
||||
signOff(options: {}, callback: (error: number) => any): XMLHttpRequest;
|
||||
writeFile(fileName: string, contents: string, options: {}, callback: (error: number, stats: FileStatistics) => any): XMLHttpRequest;
|
||||
writeFile(fileName: string, contents: string, callback: (error: number, stats: FileStatistics) => any): XMLHttpRequest;
|
||||
readFile(fileName: string, options: {}, callback: (error: number, contents: string, stats: FileStatistics) => any): XMLHttpRequest;
|
||||
readFile(fileName: string, callback: (error: number, contents: string, stats: FileStatistics) => any): XMLHttpRequest;
|
||||
stat(path: string, options: {}, callback: (error: number, stats: FileStatistics) => any): XMLHttpRequest;
|
||||
stat(path: string, callback: (error: number, stats: FileStatistics) => any): XMLHttpRequest;
|
||||
metadata(path: string, options: {}, callback: (error: number, stats: FileStatistics) => any): XMLHttpRequest;
|
||||
metadata(path: string, callback: (error: number, stats: FileStatistics) => any): XMLHttpRequest;
|
||||
readdir(path: string, options: {}, callback: (error: number, entries: any[]) => any): XMLHttpRequest;
|
||||
readdir(path: string, callback: (error: number, entries: any[]) => any): XMLHttpRequest;
|
||||
}
|
||||
|
||||
export module AuthDriver {
|
||||
export interface NodeServer {
|
||||
new (port: number): any;
|
||||
}
|
||||
|
||||
export var NodeServer: NodeServer;
|
||||
}
|
||||
|
||||
export var Client: Client;
|
||||
}
|
||||
Reference in New Issue
Block a user