Update ss-utils.d.ts

This commit is contained in:
Demis Bellot
2016-02-05 22:47:59 -05:00
parent 5fd34b988f
commit 97f1f12a68
2 changed files with 53 additions and 15 deletions
+5 -13
View File
@@ -1,18 +1,7 @@
/// <reference path="../jquery/jquery.d.ts" />
/// <reference path="ss-utils.d.ts" />
declare var EventSource : sse.IEventSourceStatic;
declare module sse {
interface IEventSourceStatic extends EventTarget {
new (url: string, eventSourceInitDict?: IEventSourceInit):IEventSourceStatic;
url: string;
}
interface IEventSourceInit {
withCredentials?: boolean;
}
}
declare var EventSource : ssutils.IEventSourceStatic;
function test_ssutils() {
$.ss.eventReceivers = { "document": document };
@@ -23,7 +12,8 @@ function test_ssutils() {
onConnect: function(connect:ssutils.SSEConnect) {},
onHeartbeat: function(msg:ssutils.SSEHeartbeat, e:MessageEvent){},
onJoin: function(msg:ssutils.SSEJoin) {},
onLeave: function(msg:ssutils.SSELeave) {}
onLeave: function(msg:ssutils.SSELeave) {},
onUpdate: function(msg:ssutils.SSEUpdate) {}
},
receivers: {
tv: {
@@ -74,6 +64,8 @@ function test_ssutils_Static(){
var qs:{ [index: string]: string } = $.ss.queryString("http://google.com?a=b&c=d");
var relativePath = $.ss.createUrl("/path/to/{File}", {File:"file.js"});
var readableText = $.ss.humanize("TheVariableName");
$.ss.parseResponseStatus('{"message":"test"}');
$.ss.postJSON("/path/to/url", {json:"data"}, function(r:any) {});
$.ss.listenOn = "click onmousedown";
$.ss.eventReceivers = { "document": document };
+48 -2
View File
@@ -23,9 +23,18 @@ declare namespace ssutils {
queryString: (url: string) => { [index: string]: string };
createUrl: (route: string, args?: any) => string;
humanize: (s: string) => string;
parseResponseStatus: (json: string, defaultMsg?: string) => any;
postJSON: (url: string, data: Object | String, success?: Function, error?: Function) => any;
listenOn: string;
eventReceivers: any;
eventChannels: string[];
eventSourceUrl: string;
updateSubscriberUrl: string;
updateChannels: (channels: string[]) => void;
updateSubscriber: (data: UpdateSubscriberOptions, cb?: (user: SSEUpdate) => void, cbError?: Function) => any;
subscribeToChannels: (channels: string[], cb?: (user: SSEUpdate) => void, cbError?: Function) => any;
unsubscribeFromChannels: (channels: string[], cb?: (user: SSEUpdate) => void, cbError?: Function) => any;
reconnectServerEvents: (opt: ReconnectServerEventsOptions) => any;
}
@@ -62,6 +71,11 @@ declare namespace ssutils {
success?: (selector: string, msg: string, e: any) => void;
}
interface UpdateSubscriberOptions {
SubscribeChannels?: string;
UnsubscribeChannels?: string;
}
interface ResponseStatus {
errorCode: string;
message: string;
@@ -84,11 +98,13 @@ declare namespace ssutils {
interface SSEHeartbeat extends SSECommand { }
interface SSEJoin extends SSECommand { }
interface SSELeave extends SSECommand { }
interface SSEUpdate extends SSECommand { }
interface SSEConnect extends SSECommand {
id: string;
unRegisterUrl: string;
heartbeatUrl: string;
updateSubscriberUrl: string;
heartbeatIntervalMs: number;
idleTimeoutMs: number;
}
@@ -97,10 +113,40 @@ declare namespace ssutils {
url?: string;
onerror?: (...args: any[]) => void;
onmessage?: (...args: any[]) => void;
errorArgs: any[];
errorArgs?: any[];
}
/**
* EventSource
*/
enum ReadyState { CONNECTING = 0, OPEN = 1, CLOSED = 2 }
interface IEventSourceStatic extends EventTarget {
new (url: string, eventSourceInitDict?: IEventSourceInit): IEventSourceStatic;
url: string;
withCredentials: boolean;
CONNECTING: ReadyState; // constant, always 0
OPEN: ReadyState; // constant, always 1
CLOSED: ReadyState; // constant, always 2
readyState: ReadyState;
onopen: Function;
onmessage: (event: IOnMessageEvent) => void;
onerror: Function;
close: () => void;
}
interface IEventSourceInit {
withCredentials?: boolean;
}
interface IOnMessageEvent {
data: string;
}
}
//Needs to be declared locally
//declare var EventSource: ssutils.IEventSourceStatic;
interface JQuery {
setFieldError: (name: string, msg: string) => void;
serializeMap: () => { [index: string]: any };
@@ -119,4 +165,4 @@ interface JQueryStatic {
declare module "ss-utils" {
export = ssutils;
}
}