mirror of
https://github.com/gosticks/DefinitelyTyped.git
synced 2026-08-13 05:20:25 +00:00
Merge pull request #9879 from lionelB/angular-websocket-definition
add missing properties of $websocket instance
This commit is contained in:
@@ -1,6 +1,7 @@
|
||||
/// <reference path="angular-websocket.d.ts" />
|
||||
|
||||
let dummySocket: ng.websocket.IWebSocket;
|
||||
let dummyPromise: ng.IPromise<void>;
|
||||
|
||||
let provider: ng.websocket.IWebSocketProvider = (url: string) => {
|
||||
return dummySocket;
|
||||
@@ -23,3 +24,24 @@ socket.close();
|
||||
|
||||
socket.send("Some great data here!").finally(() => {});
|
||||
socket.send({ list: [1, 2, 3, 4] });
|
||||
|
||||
socket.socket.send("data");
|
||||
socket.socket.close();
|
||||
socket.socket.close(1);
|
||||
socket.socket.close(1, "reason");
|
||||
|
||||
socket.sendQueue.push({ message: "msg", defered: dummyPromise });
|
||||
|
||||
socket.onOpenCallbacks.push((event: Event) => {});
|
||||
socket.onCloseCallbacks.push((event: CloseEvent) => {});
|
||||
socket.onErrorCallbacks.push((event: Event) => {});
|
||||
socket.onMessageCallbacks.push({ fn: (event: MessageEvent) => {}, pattern: 'Some Filter', autoApply: true });
|
||||
socket.onMessageCallbacks.push({ fn: (event: MessageEvent) => {}, pattern: /Some Filter/, autoApply: true });
|
||||
socket.onMessageCallbacks.push({ fn: (event: MessageEvent) => {}, pattern: undefined, autoApply: true });
|
||||
|
||||
socket.readyState = 0;
|
||||
|
||||
socket.initialTimeout = 10;
|
||||
|
||||
socket.maxTimeout = 5000;
|
||||
|
||||
|
||||
+60
-1
@@ -30,6 +30,19 @@ declare namespace angular.websocket {
|
||||
autoApply?: boolean;
|
||||
}
|
||||
|
||||
/** Type corresponding to onMessage callbaks stored in $Websocket#onMessageCallbacks instance. */
|
||||
type IWebSocketMessageHandler = {
|
||||
fn: (evt: MessageEvent) => void;
|
||||
pattern: string | RegExp;
|
||||
autoApply: boolean;
|
||||
}
|
||||
|
||||
/** Type corresponding to items stored in $WebSocket#sendQueue instance. */
|
||||
type IWebSocketQueueItem = {
|
||||
message: any;
|
||||
defered: ng.IPromise<void>;
|
||||
}
|
||||
|
||||
interface IWebSocket {
|
||||
|
||||
/**
|
||||
@@ -81,6 +94,52 @@ declare namespace angular.websocket {
|
||||
*
|
||||
* @param data data to send, if this is an object, it will be stringified before sending
|
||||
*/
|
||||
send(data: string | {}): ng.IPromise<any>;
|
||||
send(data: string | {}): ng.IPromise<any>;
|
||||
|
||||
/**
|
||||
* WebSocket instance.
|
||||
*/
|
||||
socket: WebSocket;
|
||||
|
||||
/**
|
||||
* Queue of send calls to be made on socket when socket is able to receive data.
|
||||
*/
|
||||
sendQueue: IWebSocketQueueItem[];
|
||||
|
||||
/**
|
||||
* List of callbacks to be executed when the socket is opened.
|
||||
*/
|
||||
onOpenCallbacks: ((evt: Event) => void)[];
|
||||
|
||||
/**
|
||||
* List of callbacks to be executed when a message is received from the socket.
|
||||
*/
|
||||
onMessageCallbacks: IWebSocketMessageHandler[];
|
||||
|
||||
/**
|
||||
* List of callbacks to be executed when an error is received from the socket.
|
||||
*/
|
||||
onErrorCallbacks: ((evt: Event) => void)[];
|
||||
|
||||
/**
|
||||
* List of callbacks to be executed when the socket is closed.
|
||||
*/
|
||||
onCloseCallbacks: ((evt: CloseEvent) => void)[];
|
||||
|
||||
/**
|
||||
* Returns either the readyState value from the underlying WebSocket instance
|
||||
* or a proprietary value representing the internal state
|
||||
*/
|
||||
readyState: number;
|
||||
|
||||
/**
|
||||
* The initial timeout.
|
||||
*/
|
||||
initialTimeout: number;
|
||||
|
||||
/**
|
||||
* Maximun timeout used to determine reconnection delay.
|
||||
*/
|
||||
maxTimeout: number;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user