mirror of
https://github.com/zhigang1992/DefinitelyTyped.git
synced 2026-05-22 20:37:58 +08:00
24
socketty/socketty-tests.ts
Normal file
24
socketty/socketty-tests.ts
Normal file
@@ -0,0 +1,24 @@
|
||||
/// <reference path="socketty.d.ts" />
|
||||
|
||||
/* Server */
|
||||
|
||||
var httpServer = {}; // Assume it's a real HTTP server object
|
||||
|
||||
var webSocketServer = socketty.createServer(httpServer);
|
||||
|
||||
webSocketServer.connection((socket: SockettySocket) => {
|
||||
console.log('Client connected');
|
||||
socket.on('msg', (message?: any) => {
|
||||
console.log('Client said' + message);
|
||||
});
|
||||
socket.disconnect(() => {
|
||||
console.log('Goodbye, client!');
|
||||
});
|
||||
});
|
||||
|
||||
/* Client */
|
||||
|
||||
socketty.connect('ws://localhost:8080', (socket: SockettySocket) => {
|
||||
console.log('Connected !');
|
||||
socket.send('msg', 'Hello server!');
|
||||
});
|
||||
57
socketty/socketty.d.ts
vendored
Normal file
57
socketty/socketty.d.ts
vendored
Normal file
@@ -0,0 +1,57 @@
|
||||
// Type definitions for Socketty v0.2.2
|
||||
// Project: https://www.npmjs.com/package/socketty
|
||||
// Definitions by: Nax <https://github.com/Nax>
|
||||
// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped
|
||||
|
||||
declare var socketty: Socketty;
|
||||
|
||||
declare module 'socketty' {
|
||||
export = socketty;
|
||||
}
|
||||
|
||||
interface Socketty {
|
||||
/**
|
||||
* Connect to a socketty server.
|
||||
* @param url The server url
|
||||
* @param callback The callback to be run when the connection is open
|
||||
* @return A Socket
|
||||
*/
|
||||
connect(url: string, callback: (socket: SockettySocket) => void): SockettySocket;
|
||||
|
||||
/**
|
||||
* Create a socketty server.
|
||||
* @param httpServer The HTTP server to use
|
||||
* @return A socketty server
|
||||
*/
|
||||
createServer(httpServer: any): SockettyServer;
|
||||
}
|
||||
|
||||
interface SockettySocket {
|
||||
/**
|
||||
* Listen for an action.
|
||||
* @param action The action to listen to
|
||||
* @param callback A callback to be run when the action is fired
|
||||
*/
|
||||
on(action: string, callback: (message?: any) => void): void;
|
||||
|
||||
/**
|
||||
* Send an action, as well as an optional message.
|
||||
* @param action The action to send
|
||||
* @param message The message to send
|
||||
*/
|
||||
send(action: string, message?: any): void;
|
||||
|
||||
/**
|
||||
* Specify a callback to be run when the socket is disconnected.
|
||||
* @param callback The disconnect callback
|
||||
*/
|
||||
disconnect(callback: () => void): void;
|
||||
}
|
||||
|
||||
interface SockettyServer {
|
||||
/**
|
||||
* Specify a callback to be run when a new socket connects to the server.
|
||||
* @param callback The callback
|
||||
*/
|
||||
connection(callback: (socket: SockettySocket) => void): void;
|
||||
}
|
||||
Reference in New Issue
Block a user