mirror of
https://github.com/zhigang1992/DefinitelyTyped.git
synced 2026-05-20 16:14:57 +08:00
add types for sails.io.js 1.0.1
This commit is contained in:
101
sails.io.js/index.d.ts
vendored
Normal file
101
sails.io.js/index.d.ts
vendored
Normal file
@@ -0,0 +1,101 @@
|
||||
// Type definitions for sails.io.js 1.0.1
|
||||
// Project: http://sailsjs.org/documentation/reference/web-sockets/socket-client
|
||||
// Definitions by: Arvitaly <https://github.com/arvitaly/>
|
||||
// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped
|
||||
|
||||
/// <reference path="./../socket.io-client/index.d.ts"/>
|
||||
declare namespace SailsIOJS {
|
||||
export interface SDKInfo {
|
||||
version?: string;
|
||||
language?: string;
|
||||
platform?: "browser" | "node";
|
||||
versionString?: string;
|
||||
}
|
||||
export interface ClientSails {
|
||||
url?: string;
|
||||
autoConnect?: boolean;
|
||||
headers?: { [index: string]: string };
|
||||
transports?: Array<"websocket" | "polling">;
|
||||
rejectUnauthorized?: boolean;
|
||||
reconnection?: boolean;
|
||||
reconnectionAttempts?: number;
|
||||
reconnectionDelay?: number;
|
||||
reconnectionDelayMax?: number;
|
||||
useCORSRouteToGetCookie?: boolean;
|
||||
query?: string;
|
||||
path?: string;
|
||||
// All logs are disabled when `io.sails.environment = 'production'`
|
||||
environment?: "production" | string;
|
||||
connect(url?: string, config?: ConnectConfig): Socket;
|
||||
initialConnectionHeaders?: InitialConnectionHeaders;
|
||||
strict?: boolean;
|
||||
sdk?: SDKInfo;
|
||||
}
|
||||
export interface ConnectConfig {
|
||||
initialConnectionHeaders?: InitialConnectionHeaders
|
||||
}
|
||||
export interface InitialConnectionHeaders {
|
||||
nosession?: boolean;
|
||||
}
|
||||
export interface Client {
|
||||
socket: Socket;
|
||||
sails: ClientSails;
|
||||
}
|
||||
export interface Headers { [index: string]: string }
|
||||
export interface RequestOptions {
|
||||
url: string;
|
||||
method?: string;
|
||||
headers?: Headers;
|
||||
params?: any;
|
||||
data?: any;
|
||||
}
|
||||
export interface JWR {
|
||||
headers: Headers;
|
||||
statusCode: number;
|
||||
body: any;
|
||||
error?: Error;
|
||||
toString: () => string;
|
||||
toPOJO: () => {
|
||||
body: any;
|
||||
headers: Headers;
|
||||
statusCode: number;
|
||||
}
|
||||
pipe: () => Error;
|
||||
}
|
||||
export type RequestCallback = {
|
||||
(body: any, jwr: JWR): any;
|
||||
}
|
||||
export type Data = Object;
|
||||
export interface Socket {
|
||||
get(url: string, data?: Data): void;
|
||||
get(url: string, cb?: RequestCallback): void;
|
||||
get(url: string, data: Data, cb: RequestCallback): void;
|
||||
post(url: string, data?: Data): void;
|
||||
post(url: string, cb?: RequestCallback): void;
|
||||
post(url: string, data: Data, cb: RequestCallback): void;
|
||||
put(url: string, data?: Data): void;
|
||||
put(url: string, cb?: RequestCallback): void;
|
||||
put(url: string, data: Data, cb: RequestCallback): void;
|
||||
delete(url: string, data?: Data): void;
|
||||
delete(url: string, cb?: RequestCallback): void;
|
||||
delete(url: string, data: Data, cb: RequestCallback): void;
|
||||
request(options: RequestOptions, cb?: RequestCallback): void;
|
||||
on(event: string, cb: (...args: Array<any>) => any): Socket;
|
||||
on(event: "connect", cb: () => any): Socket;
|
||||
on(event: "disconnect", cb: () => any): Socket;
|
||||
on(event: "reconnecting", cb: (numAttempts: number) => any): Socket;
|
||||
on(event: "reconnect", cb: (transport: string, numAttempts: number) => any): Socket;
|
||||
on(event: "error", cb: (err: any) => any): Socket;
|
||||
off(event: string, cb: () => any): Socket
|
||||
removeAllListeners(): Socket;
|
||||
isConnecting(): boolean;
|
||||
isConnected(): boolean;
|
||||
reconnect(): Socket;
|
||||
mightBeAboutToAutoConnect(): boolean;
|
||||
replay(): Socket;
|
||||
}
|
||||
}
|
||||
declare function SailsIOJS(client: SocketIOClientStatic): SailsIOJS.Client;
|
||||
declare module 'sails.io.js' {
|
||||
export = SailsIOJS;
|
||||
}
|
||||
89
sails.io.js/sails.io.js-tests.ts
Normal file
89
sails.io.js/sails.io.js-tests.ts
Normal file
@@ -0,0 +1,89 @@
|
||||
/// <reference path="./index.d.ts"/>
|
||||
import * as SocketIO from 'socket.io-client';
|
||||
import * as SailsIOJS from 'sails.io.js';
|
||||
const io = SailsIOJS(SocketIO);
|
||||
io.sails.autoConnect = true;
|
||||
io.sails.connect();
|
||||
io.sails.connect("url");
|
||||
io.sails.connect("url", {});
|
||||
io.sails.connect("url", {
|
||||
initialConnectionHeaders: {
|
||||
nosession: true
|
||||
}
|
||||
});
|
||||
io.sails.environment = "production";
|
||||
io.sails.headers = { "test": "1" };
|
||||
io.sails.initialConnectionHeaders = { nosession: false };
|
||||
io.sails.path = "path";
|
||||
io.sails.query = "query";
|
||||
io.sails.reconnection = true;
|
||||
io.sails.reconnectionAttempts = 5;
|
||||
io.sails.reconnectionDelay = 1;
|
||||
io.sails.reconnectionDelayMax = 5;
|
||||
io.sails.rejectUnauthorized = true;
|
||||
io.sails.sdk = {
|
||||
language: "lang",
|
||||
platform: "node",
|
||||
version: "1.0",
|
||||
versionString: "1.0"
|
||||
}
|
||||
io.sails.strict = true;
|
||||
io.sails.transports = ["websocket", "polling"];
|
||||
io.sails.url = "url1";
|
||||
io.sails.useCORSRouteToGetCookie = true;
|
||||
io.socket.get("p");
|
||||
io.socket.get("p", {});
|
||||
io.socket.get("p", "test", (data: Date, jwr: any) => {
|
||||
data.getDate();
|
||||
const a: SailsIOJS.JWR = jwr;
|
||||
});
|
||||
io.socket.post("p");
|
||||
io.socket.post("p", { val: 1 });
|
||||
io.socket.put("p", "test", (data: number, jwr: any) => {
|
||||
data.toFixed();
|
||||
const a: SailsIOJS.JWR = jwr;
|
||||
});
|
||||
io.socket.put("p");
|
||||
io.socket.put("p", {});
|
||||
io.socket.post("p", "test", (data, jwr) => {
|
||||
const a: SailsIOJS.JWR = jwr;
|
||||
});
|
||||
io.socket.delete("p");
|
||||
io.socket.delete("p", {});
|
||||
io.socket.delete("p", "test", (data, jwr) => {
|
||||
const a: SailsIOJS.JWR = jwr;
|
||||
});
|
||||
io.socket.request({ url: "url" });
|
||||
io.socket.request({ url: "url" }, (data: number, jwr: any) => {
|
||||
data.toExponential();
|
||||
jwr.body.toExponential();
|
||||
jwr.error.message;
|
||||
jwr.pipe.apply(this);
|
||||
jwr.statusCode.toFixed();
|
||||
const podo = jwr.toPOJO();
|
||||
podo.body.toExponential();
|
||||
podo.headers["test"] = "15";
|
||||
podo.statusCode = 200;
|
||||
jwr.toString().charAt(0);
|
||||
})
|
||||
io.socket.isConnected() === true;
|
||||
io.socket.isConnecting() === true;
|
||||
io.socket.mightBeAboutToAutoConnect() === false;
|
||||
io.socket.on("connect", () => { })
|
||||
.on("disconnect", () => {
|
||||
|
||||
})
|
||||
.on("reconnecting", (num) => {
|
||||
num = 15;
|
||||
})
|
||||
.on("reconnect", (transport, num) => {
|
||||
transport.toLowerCase();
|
||||
num = 16;
|
||||
})
|
||||
.on("error", (err) => { })
|
||||
.on("any", (a, b, c) => {
|
||||
|
||||
})
|
||||
.removeAllListeners()
|
||||
.off("error", () => { })
|
||||
.replay();
|
||||
19
sails.io.js/tsconfig.json
Normal file
19
sails.io.js/tsconfig.json
Normal file
@@ -0,0 +1,19 @@
|
||||
{
|
||||
"compilerOptions": {
|
||||
"module": "commonjs",
|
||||
"target": "es6",
|
||||
"noImplicitAny": true,
|
||||
"strictNullChecks": true,
|
||||
"baseUrl": "../",
|
||||
"typeRoots": [
|
||||
"../"
|
||||
],
|
||||
"types": [],
|
||||
"noEmit": true,
|
||||
"forceConsistentCasingInFileNames": true
|
||||
},
|
||||
"files": [
|
||||
"index.d.ts",
|
||||
"sails.io.js-tests.ts"
|
||||
]
|
||||
}
|
||||
Reference in New Issue
Block a user