mirror of
https://github.com/zhigang1992/DefinitelyTyped.git
synced 2026-04-23 12:56:46 +08:00
Encapsulated interfaces, made typings more precise according to documentation, removed 'ParseDefaultOptions' in 'parse'.
This commit is contained in:
294
parse/parse.d.ts
vendored
294
parse/parse.d.ts
vendored
@@ -15,53 +15,37 @@ declare module Parse {
|
||||
var serverURL: string;
|
||||
var VERSION: string;
|
||||
|
||||
interface ParseDefaultOptions {
|
||||
wait?: boolean;
|
||||
silent?: boolean;
|
||||
interface SuccessOption {
|
||||
success?: Function;
|
||||
}
|
||||
|
||||
interface ErrorOption {
|
||||
error?: Function;
|
||||
}
|
||||
|
||||
interface BackboneStyleOptions extends SuccessOption, ErrorOption {
|
||||
}
|
||||
|
||||
interface WaitOption {
|
||||
/**
|
||||
* Set to true to wait for the server to confirm success
|
||||
* before triggering an event.
|
||||
*/
|
||||
wait?: boolean;
|
||||
}
|
||||
|
||||
interface UseMasterKeyOption {
|
||||
/**
|
||||
* In Cloud Code and Node only, causes the Master Key to be used for this request.
|
||||
*/
|
||||
useMasterKey?: boolean;
|
||||
}
|
||||
|
||||
interface CollectionOptions {
|
||||
model?: Object;
|
||||
query?: Query;
|
||||
comparator?: string;
|
||||
}
|
||||
|
||||
interface CollectionAddOptions {
|
||||
at?: number;
|
||||
}
|
||||
|
||||
interface RouterOptions {
|
||||
routes: any;
|
||||
}
|
||||
|
||||
interface NavigateOptions {
|
||||
trigger?: boolean;
|
||||
}
|
||||
|
||||
interface ViewOptions {
|
||||
model?: any;
|
||||
collection?: any;
|
||||
el?: any;
|
||||
id?: string;
|
||||
className?: string;
|
||||
tagName?: string;
|
||||
attributes?: any[];
|
||||
}
|
||||
|
||||
interface PushData {
|
||||
channels?: string[];
|
||||
push_time?: Date;
|
||||
expiration_time?: Date;
|
||||
expiration_interval?: number;
|
||||
where?: Query;
|
||||
data?: any;
|
||||
alert?: string;
|
||||
badge?: string;
|
||||
sound?: string;
|
||||
title?: string;
|
||||
interface SilentOption {
|
||||
/**
|
||||
* Set to true to avoid firing the event.
|
||||
*/
|
||||
silent?: boolean;
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -199,7 +183,7 @@ declare module Parse {
|
||||
constructor(name: string, data: any, type?: string);
|
||||
name(): string;
|
||||
url(): string;
|
||||
save<T>(options?: ParseDefaultOptions): Promise<T>;
|
||||
save<T>(options?: BackboneStyleOptions): Promise<T>;
|
||||
|
||||
}
|
||||
|
||||
@@ -233,7 +217,7 @@ declare module Parse {
|
||||
|
||||
constructor(arg1?: any, arg2?: any);
|
||||
|
||||
current(options?: ParseDefaultOptions): GeoPoint;
|
||||
current(options?: BackboneStyleOptions): GeoPoint;
|
||||
radiansTo(point: GeoPoint): number;
|
||||
kilometersTo(point: GeoPoint): number;
|
||||
milesTo(point: GeoPoint): number;
|
||||
@@ -332,10 +316,10 @@ declare module Parse {
|
||||
constructor(attributes?: string[], options?: any);
|
||||
|
||||
static extend(className: string, protoProps?: any, classProps?: any): any;
|
||||
static fetchAll<T>(list: Object[], options: ParseDefaultOptions): Promise<T>;
|
||||
static fetchAllIfNeeded<T>(list: Object[], options: ParseDefaultOptions): Promise<T>;
|
||||
static destroyAll<T>(list: Object[], options?: ParseDefaultOptions): Promise<T>;
|
||||
static saveAll<T>(list: Object[], options?: ParseDefaultOptions): Promise<T>;
|
||||
static fetchAll<T>(list: Object[], options: BackboneStyleOptions): Promise<T>;
|
||||
static fetchAllIfNeeded<T>(list: Object[], options: BackboneStyleOptions): Promise<T>;
|
||||
static destroyAll<T>(list: Object[], options?: Object.DestroyAllOptions): Promise<T>;
|
||||
static saveAll<T>(list: Object[], options?: Object.SaveAllOptions): Promise<T>;
|
||||
|
||||
initialize(): void;
|
||||
add(attr: string, item: any): Object;
|
||||
@@ -344,12 +328,12 @@ declare module Parse {
|
||||
changedAttributes(diff: any): boolean;
|
||||
clear(options: any): any;
|
||||
clone(): Object;
|
||||
destroy<T>(options?: ParseDefaultOptions): Promise<T>;
|
||||
destroy<T>(options?: Object.DestroyOptions): Promise<T>;
|
||||
dirty(attr: String): boolean;
|
||||
dirtyKeys(): string[];
|
||||
escape(attr: string): string;
|
||||
existed(): boolean;
|
||||
fetch<T>(options?: ParseDefaultOptions): Promise<T>;
|
||||
fetch<T>(options?: Object.FetchOptions): Promise<T>;
|
||||
get(attr: string): any;
|
||||
getACL(): ACL;
|
||||
has(attr: string): boolean;
|
||||
@@ -361,12 +345,27 @@ declare module Parse {
|
||||
previousAttributes(): any;
|
||||
relation(attr: string): Relation;
|
||||
remove(attr: string, item: any): any;
|
||||
save<T>(options?: ParseDefaultOptions, arg2?: any, arg3?: any): Promise<T>;
|
||||
set(key: string, value: any, options?: ParseDefaultOptions): boolean;
|
||||
setACL(acl: ACL, options?: ParseDefaultOptions): boolean;
|
||||
save<T>(options?: Object.SaveOptions, arg2?: any, arg3?: any): Promise<T>;
|
||||
set(key: string, value: any, options?: Object.SetOptions): boolean;
|
||||
setACL(acl: ACL, options?: BackboneStyleOptions): boolean;
|
||||
unset(attr: string, options?: any): any;
|
||||
validate(attrs: any, options?: ParseDefaultOptions): boolean;
|
||||
validate(attrs: any, options?: BackboneStyleOptions): boolean;
|
||||
}
|
||||
|
||||
namespace Object {
|
||||
interface DestroyOptions extends BackboneStyleOptions, WaitOption, UseMasterKeyOption { }
|
||||
|
||||
interface DestroyAllOptions extends BackboneStyleOptions, UseMasterKeyOption { }
|
||||
|
||||
interface FetchOptions extends BackboneStyleOptions, UseMasterKeyOption { }
|
||||
|
||||
interface SaveOptions extends BackboneStyleOptions, SilentOption, UseMasterKeyOption, WaitOption { }
|
||||
|
||||
interface SaveAllOptions extends BackboneStyleOptions, UseMasterKeyOption { }
|
||||
|
||||
interface SetOptions extends ErrorOption, SilentOption {
|
||||
promise?: any;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -420,24 +419,49 @@ declare module Parse {
|
||||
query: Query;
|
||||
comparator: (object: Object) => any;
|
||||
|
||||
constructor(models?: Object[], options?: CollectionOptions);
|
||||
constructor(models?: Object[], options?: Collection.Options);
|
||||
static extend(instanceProps: any, classProps: any): any;
|
||||
|
||||
initialize(): void;
|
||||
add(models: any[], options?: CollectionAddOptions): Collection<T>;
|
||||
add(models: any[], options?: Collection.AddOptions): Collection<T>;
|
||||
at(index: number): Object;
|
||||
chain(): _Chain<Collection<T>>;
|
||||
fetch(options?: ParseDefaultOptions): Promise<T>;
|
||||
create(model: Object, options?: ParseDefaultOptions): Object;
|
||||
fetch(options?: Collection.FetchOptions): Promise<T>;
|
||||
create(model: Object, options?: Collection.CreateOptions): Object;
|
||||
get(id: string): Object;
|
||||
getByCid(cid: any): any;
|
||||
pluck(attr: string): any[];
|
||||
remove(model: any, options?: ParseDefaultOptions): Collection<T>;
|
||||
remove(models: any[], options?: ParseDefaultOptions): Collection<T>;
|
||||
reset(models: any[], options?: ParseDefaultOptions): Collection<T>;
|
||||
sort(options?: ParseDefaultOptions): Collection<T>;
|
||||
remove(model: any, options?: Collection.RemoveOptions): Collection<T>;
|
||||
remove(models: any[], options?: Collection.RemoveOptions): Collection<T>;
|
||||
reset(models: any[], options?: Collection.ResetOptions): Collection<T>;
|
||||
sort(options?: Collection.SortOptions): Collection<T>;
|
||||
toJSON(): any;
|
||||
}
|
||||
|
||||
namespace Collection {
|
||||
interface Options {
|
||||
model?: Object;
|
||||
query?: Query;
|
||||
comparator?: string;
|
||||
}
|
||||
|
||||
interface AddOptions extends SilentOption {
|
||||
/**
|
||||
* The index at which to add the models.
|
||||
*/
|
||||
at?: number;
|
||||
}
|
||||
|
||||
interface CreateOptions extends BackboneStyleOptions, WaitOption, SilentOption, UseMasterKeyOption {
|
||||
}
|
||||
|
||||
interface FetchOptions extends BackboneStyleOptions, SilentOption, UseMasterKeyOption { }
|
||||
|
||||
interface RemoveOptions extends SilentOption { }
|
||||
|
||||
interface ResetOptions extends SilentOption { }
|
||||
|
||||
interface SortOptions extends SilentOption { }
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -549,23 +573,23 @@ declare module Parse {
|
||||
addDescending(key: string[]): Query;
|
||||
ascending(key: string): Query;
|
||||
ascending(key: string[]): Query;
|
||||
collection(items?: Object[], options?: ParseDefaultOptions): Collection<Object>;
|
||||
collection(items?: Object[], options?: Collection.Options): Collection<Object>;
|
||||
containedIn(key: string, values: any[]): Query;
|
||||
contains(key: string, substring: string): Query;
|
||||
containsAll(key: string, values: any[]): Query;
|
||||
count<T>(options?: ParseDefaultOptions): Promise<T>;
|
||||
count<T>(options?: Query.CountOptions): Promise<T>;
|
||||
descending(key: string): Query;
|
||||
descending(key: string[]): Query;
|
||||
doesNotExist(key: string): Query;
|
||||
doesNotMatchKeyInQuery(key: string, queryKey: string, query: Query): Query;
|
||||
doesNotMatchQuery(key: string, query: Query): Query;
|
||||
each<T>(callback: Function, options?: ParseDefaultOptions): Promise<T>;
|
||||
each<T>(callback: Function, options?: BackboneStyleOptions): Promise<T>;
|
||||
endsWith(key: string, suffix: string): Query;
|
||||
equalTo(key: string, value: any): Query;
|
||||
exists(key: string): Query;
|
||||
find<T>(options?: ParseDefaultOptions): Promise<T>;
|
||||
first<T>(options?: ParseDefaultOptions): Promise<T>;
|
||||
get(objectId: string, options?: ParseDefaultOptions): Promise<any>;
|
||||
find<T>(options?: Query.FindOptions): Promise<T>;
|
||||
first<T>(options?: Query.FirstOptions): Promise<T>;
|
||||
get(objectId: string, options?: Query.GetOptions): Promise<any>;
|
||||
greaterThan(key: string, value: any): Query;
|
||||
greaterThanOrEqualTo(key: string, value: any): Query;
|
||||
include(key: string): Query;
|
||||
@@ -588,6 +612,13 @@ declare module Parse {
|
||||
withinRadians(key: string, point: GeoPoint, maxDistance: number): Query;
|
||||
}
|
||||
|
||||
namespace Query {
|
||||
interface CountOptions extends BackboneStyleOptions, UseMasterKeyOption { }
|
||||
interface FindOptions extends BackboneStyleOptions, UseMasterKeyOption { }
|
||||
interface FirstOptions extends BackboneStyleOptions, UseMasterKeyOption { }
|
||||
interface GetOptions extends BackboneStyleOptions, UseMasterKeyOption { }
|
||||
}
|
||||
|
||||
/**
|
||||
* Represents a Role on the Parse server. Roles represent groupings of
|
||||
* Users for the purposes of granting permissions (e.g. specifying an ACL
|
||||
@@ -608,7 +639,7 @@ declare module Parse {
|
||||
getRoles(): Relation;
|
||||
getUsers(): Relation;
|
||||
getName(): string;
|
||||
setName(name: string, options?: ParseDefaultOptions): any;
|
||||
setName(name: string, options?: BackboneStyleOptions): any;
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -624,17 +655,31 @@ declare module Parse {
|
||||
*/
|
||||
class Router extends Events {
|
||||
|
||||
routes: any[];
|
||||
routes: Router.RouteMap;
|
||||
|
||||
constructor(options?: RouterOptions);
|
||||
constructor(options?: Router.Options);
|
||||
static extend(instanceProps: any, classProps: any): any;
|
||||
|
||||
initialize(): void;
|
||||
navigate(fragment: string, options?: NavigateOptions): Router;
|
||||
navigate(fragment: string, options?: Router.NavigateOptions): Router;
|
||||
navigate(fragment: string, trigger?: boolean): Router;
|
||||
route(route: string, name: string, callback: Function): Router;
|
||||
}
|
||||
|
||||
namespace Router {
|
||||
interface Options {
|
||||
routes: RouteMap;
|
||||
}
|
||||
|
||||
interface RouteMap {
|
||||
[url: string]: string;
|
||||
}
|
||||
|
||||
interface NavigateOptions {
|
||||
trigger?: boolean;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @class
|
||||
*
|
||||
@@ -647,27 +692,27 @@ declare module Parse {
|
||||
class User extends Object {
|
||||
|
||||
static current(): User;
|
||||
static signUp<T>(username: string, password: string, attrs: any, options?: ParseDefaultOptions): Promise<T>;
|
||||
static logIn<T>(username: string, password: string, options?: ParseDefaultOptions): Promise<T>;
|
||||
static signUp<T>(username: string, password: string, attrs: any, options?: BackboneStyleOptions): Promise<T>;
|
||||
static logIn<T>(username: string, password: string, options?: BackboneStyleOptions): Promise<T>;
|
||||
static logOut<T>(): Promise<T>;
|
||||
static allowCustomUserClass(isAllowed: boolean): void;
|
||||
static become<T>(sessionToken: string, options?: ParseDefaultOptions): Promise<T>;
|
||||
static requestPasswordReset<T>(email: string, options?: ParseDefaultOptions): Promise<T>;
|
||||
static become<T>(sessionToken: string, options?: BackboneStyleOptions): Promise<T>;
|
||||
static requestPasswordReset<T>(email: string, options?: BackboneStyleOptions): Promise<T>;
|
||||
|
||||
signUp<T>(attrs: any, options?: ParseDefaultOptions): Promise<T>;
|
||||
logIn<T>(options?: ParseDefaultOptions): Promise<T>;
|
||||
fetch<T>(options?: ParseDefaultOptions): Promise<T>;
|
||||
signUp<T>(attrs: any, options?: BackboneStyleOptions): Promise<T>;
|
||||
logIn<T>(options?: BackboneStyleOptions): Promise<T>;
|
||||
fetch<T>(options?: BackboneStyleOptions): Promise<T>;
|
||||
save<T>(arg1: any, arg2: any, arg3: any): Promise<T>;
|
||||
authenticated(): boolean;
|
||||
isCurrent(): boolean;
|
||||
|
||||
getEmail(): string;
|
||||
setEmail(email: string, options: ParseDefaultOptions): boolean;
|
||||
setEmail(email: string, options: BackboneStyleOptions): boolean;
|
||||
|
||||
getUsername(): string;
|
||||
setUsername(username: string, options?: ParseDefaultOptions): boolean;
|
||||
setUsername(username: string, options?: BackboneStyleOptions): boolean;
|
||||
|
||||
setPassword(password: string, options?: ParseDefaultOptions): boolean;
|
||||
setPassword(password: string, options?: BackboneStyleOptions): boolean;
|
||||
getSessionToken(): string;
|
||||
}
|
||||
|
||||
@@ -695,7 +740,7 @@ declare module Parse {
|
||||
$el: JQuery;
|
||||
attributes: any;
|
||||
|
||||
constructor(options?: ViewOptions);
|
||||
constructor(options?: View.Options);
|
||||
|
||||
static extend(properties: any, classProperties?: any): any;
|
||||
|
||||
@@ -704,12 +749,28 @@ declare module Parse {
|
||||
setElement(element: JQuery, delegate?: boolean): View<T>;
|
||||
render(): View<T>;
|
||||
remove(): View<T>;
|
||||
make(tagName: any, attributes?: any, content?: any): any;
|
||||
make(tagName: any, attributes?: View.Attribute[], content?: any): any;
|
||||
delegateEvents(events?: any): any;
|
||||
undelegateEvents(): any;
|
||||
|
||||
}
|
||||
|
||||
namespace View {
|
||||
interface Options {
|
||||
model?: any;
|
||||
collection?: any;
|
||||
el?: any;
|
||||
id?: string;
|
||||
className?: string;
|
||||
tagName?: string;
|
||||
attributes?: Attribute[];
|
||||
}
|
||||
|
||||
interface Attribute {
|
||||
[attributeName: string]: string | number | boolean;
|
||||
}
|
||||
}
|
||||
|
||||
module Analytics {
|
||||
|
||||
function track<T>(name: string, dimensions: any):Promise<T>;
|
||||
@@ -724,9 +785,9 @@ declare module Parse {
|
||||
|
||||
function init(options?: any): void;
|
||||
function isLinked(user: User): boolean;
|
||||
function link(user: User, permissions: any, options?: ParseDefaultOptions): void;
|
||||
function logIn(permissions: any, options?: ParseDefaultOptions): void;
|
||||
function unlink(user: User, options?: ParseDefaultOptions): void;
|
||||
function link(user: User, permissions: any, options?: BackboneStyleOptions): void;
|
||||
function logIn(permissions: any, options?: BackboneStyleOptions): void;
|
||||
function unlink(user: User, options?: BackboneStyleOptions): void;
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -796,10 +857,46 @@ declare module Parse {
|
||||
function beforeDelete(arg1: any, func?: (request: BeforeDeleteRequest, response: BeforeDeleteResponse) => void): void;
|
||||
function beforeSave(arg1: any, func?: (request: BeforeSaveRequest, response: BeforeSaveResponse) => void): void;
|
||||
function define(name: string, func?: (request: FunctionRequest, response: FunctionResponse) => void): void;
|
||||
function httpRequest<T>(options: ParseDefaultOptions): Promise<HttpResponse>;
|
||||
function httpRequest<T>(options: HTTPOptions): Promise<HttpResponse>;
|
||||
function job(name: string, func?: (request: JobRequest, status: JobStatus) => void): HttpResponse;
|
||||
function run<T>(name: string, data?: any, options?: ParseDefaultOptions): Promise<T>;
|
||||
function run<T>(name: string, data?: any, options?: BackboneStyleOptions): Promise<T>;
|
||||
function useMasterKey(): void;
|
||||
|
||||
/**
|
||||
* To use this Cloud Module in Cloud Code, you must require 'buffer' in your JavaScript file.
|
||||
*
|
||||
* import Buffer = require("buffer").Buffer;
|
||||
*/
|
||||
let HTTPOptions: {
|
||||
new (): HTTPOptions;
|
||||
};
|
||||
interface HTTPOptions extends FunctionResponse {
|
||||
/**
|
||||
* The body of the request.
|
||||
* If it is a JSON object, then the Content-Type set in the headers must be application/x-www-form-urlencoded or application/json.
|
||||
* You can also set this to a Buffer object to send raw bytes.
|
||||
* If you use a Buffer, you should also set the Content-Type header explicitly to describe what these bytes represent.
|
||||
*/
|
||||
body?: string | Buffer | Object;
|
||||
/**
|
||||
* Defaults to 'false'.
|
||||
*/
|
||||
followRedirects?: boolean;
|
||||
/**
|
||||
* The headers for the request.
|
||||
*/
|
||||
headers?: {
|
||||
[headerName: string]: string | number | boolean;
|
||||
};
|
||||
/**
|
||||
*The method of the request (i.e GET, POST, etc).
|
||||
*/
|
||||
method?: string;
|
||||
/**
|
||||
* The url to send the request to.
|
||||
*/
|
||||
url: string;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -919,8 +1016,25 @@ declare module Parse {
|
||||
* @namespace
|
||||
*/
|
||||
module Push {
|
||||
function send<T>(data: PushData, options?: SendOptions): Promise<T>;
|
||||
|
||||
function send<T>(data: PushData, options?: ParseDefaultOptions):Promise<T>;
|
||||
interface PushData {
|
||||
channels?: string[];
|
||||
push_time?: Date;
|
||||
expiration_time?: Date;
|
||||
expiration_interval?: number;
|
||||
where?: Query;
|
||||
data?: any;
|
||||
alert?: string;
|
||||
badge?: string;
|
||||
sound?: string;
|
||||
title?: string;
|
||||
}
|
||||
|
||||
interface SendOptions {
|
||||
success?: () => void;
|
||||
error?: (error: Error) => void;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
Reference in New Issue
Block a user