diff --git a/wampy/wampy-tests.ts b/wampy/wampy-tests.ts
index c0ac8d6656..bd414f8c85 100644
--- a/wampy/wampy-tests.ts
+++ b/wampy/wampy-tests.ts
@@ -1,47 +1,50 @@
///
///
-import Wampy from 'wampy';
+import * as Wampy from 'wampy';
-var ws = new Wampy('http://wamp.router.url', {realm: 'WAMPRealm'});
+let ws = new Wampy('http://wamp.router.url', {realm: 'WAMPRealm'});
ws.options();
ws.options({
reconnectInterval: 1000,
maxRetries: 999,
- onConnect: function () { console.log('Yahoo! We are online!'); },
- onClose: function () { console.log('See you next time!'); },
- onError: function () { console.log('Breakdown happened'); },
- onReconnect: function () { console.log('Reconnecting...'); },
- onReconnectSuccess: function () { console.log('Successfully reconnected!'); }
+ onConnect: () => console.log('Yahoo! We are online!'),
+ onClose: () => console.log('See you next time!'),
+ onError: () => console.log('Breakdown happened'),
+ onReconnect: () => console.log('Reconnecting...'),
+ onReconnectSuccess: () => console.log('Successfully reconnected!')
});
ws.connect();
ws.connect('/my-socket-path');
ws.connect('wss://socket.server.com:5000/ws');
-var id: number = ws.getSessionId();
+
+let id: number = ws.getSessionId();
+
ws.disconnect();
ws.abort();
-ws.subscribe('system.monitor.update', function (data) {
+ws.subscribe('system.monitor.update', (args: any[], kwargs: any) => {
console.log('Received system.monitor.update event!');
})
- .subscribe('client.message', function (data) {
+ .subscribe('client.message', function (args: any[], kwargs: any) {
console.log('Received client.message event!');
});
-var f1 = function () { console.log('Subscribe processing!'); };
+let f1 = () => console.log('Subscribe processing!');
+
ws.unsubscribe('subscribed.topic', f1);
ws.unsubscribe('chat.message.received');
ws.call('get.server.time', null, {
- onSuccess: function (stime) {
+ onSuccess: (args: any[], kwargs: any) => {
console.log('RPC successfully called');
- console.log('Server time is ' + stime);
+ console.log('Server time is ' + kwargs);
},
- onError: function (err) {
+ onError: (err: string, details: any, args: any[], kwargs: any) => {
console.log('RPC call failed with error ' + err);
}
});
@@ -54,67 +57,48 @@ ws.publish('chat.message.received', 'user message');
ws.publish('chat.message.received', ['user message1', 'user message2']);
ws.publish('user.modified', { field1: 'field1', field2: true, field3: 123 });
ws.publish('user.modified', { field1: 'field1', field2: true, field3: 123 }, {
- onSuccess: function () { console.log('User successfully modified'); }
+ onSuccess: () => console.log('User successfully modified')
});
ws.publish('user.modified', { field1: 'field1', field2: true, field3: 123 }, {
- onSuccess: function () { console.log('User successfully modified'); },
- onError: function (err) { console.log('User modification failed', err); }
+ onSuccess: () => console.log('User successfully modified'),
+ onError: (err: string, details: any) => console.log('User modification failed', err)
});
ws.publish('chat.message.received', ['Private message'], null, { eligible: 123456789 });
-ws.call('server.time', null, function (data) { console.log('Server time is ' + data[0]); });
+ws.call('server.time', null, (args: any[], kwargs: any) => console.log('Server time is ' + args[0]));
ws.call('start.migration', null, {
- onSuccess: function (data) {
- console.log('RPC successfully called');
- },
- onError: function (err) {
- console.log('RPC call failed!',err);
- }
+ onSuccess: (args: any[], kwargs: any) => console.log('RPC successfully called'),
+ onError: (err: string, details: any, args: any[], kwargs: any) => console.log('RPC call failed!',err)
});
ws.call('restore.backup', { backupFile: 'backup.zip' }, {
- onSuccess: function (data) {
- console.log('Backup successfully restored');
- },
- onError: function (err) {
- console.log('Restore failed!',err);
- }
+ onSuccess: (args: any[], kwargs: any) => console.log('Backup successfully restored'),
+ onError: (err: string, details: any, args: any[], kwargs: any) => console.log('Restore failed!',err)
});
ws.call('start.migration', null, {
- onSuccess: function (data) {
- console.log('RPC successfully called');
- },
- onError: function (err) {
- console.log('RPC call failed!',err);
- }
+ onSuccess: (args: any[], kwargs: any) => console.log('RPC successfully called'),
+ onError: (err: string, details: any, args: any[], kwargs: any) => console.log('RPC call failed!',err)
});
-var status = ws.getOpStatus();
+
+let status = ws.getOpStatus();
ws.cancel(status.reqId);
-var sqrt_f = function (x: number, y: any) { return [{}, x*x]; };
+let sqrt_f = (x: number, y: any) => [{}, x*x];
ws.register('sqrt.value', sqrt_f);
ws.register('sqrt.value', {
rpc: sqrt_f,
- onSuccess: function (data) {
- console.log('RPC successfully registered');
- },
- onError: function (err) {
- console.log('RPC registration failed!',err);
- }
+ onSuccess: (data: any) => console.log('RPC successfully registered'),
+ onError: (err: string, details: any) => console.log('RPC registration failed!',err)
});
ws.unregister('sqrt.value');
ws.unregister('sqrt.value', {
- onSuccess: function (data) {
- console.log('RPC successfully unregistered');
- },
- onError: function (err) {
- console.log('RPC unregistration failed!',err);
- }
+ onSuccess: (data: any) => console.log('RPC successfully unregistered'),
+ onError: (err: string, details: any) => console.log('RPC unregistration failed!', err)
});
diff --git a/wampy/wampy.d.ts b/wampy/wampy.d.ts
index e068b97a25..f74695503a 100644
--- a/wampy/wampy.d.ts
+++ b/wampy/wampy.d.ts
@@ -3,103 +3,114 @@
// Definitions by: Konstantin Burkalev
// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped
-declare module "wampy" {
-
- interface WampyOptions {
- autoReconnect?: boolean;
- reconnectInterval?: number;
- maxRetries?: number;
- transportEncoding?: string;
- realm?: string;
- helloCustomDetails?: any;
- onChallenge?: (auth_method: string, challenge_details: string) => string;
- authid?: string;
- onConnect?: () => void;
- onClose?: () => void;
- onError?: () => void;
- onReconnect?: () => void;
- onReconnectSuccess?: () => void;
- ws?: any;
- msgpackCoder?: any;
- }
-
- interface WampyOpStatus {
- code: number;
- description: string;
- reqId?: number;
- }
-
- interface SuccessErrorCallbacksHash {
- onSuccess?: (data: any) => void;
- onError?: (err: string) => void;
- }
-
- interface SubscribeCallbacksHash extends SuccessErrorCallbacksHash {
- onEvent: (data: any) => void;
- }
-
- interface RegisterCallbacksHash extends SuccessErrorCallbacksHash {
- rpc: (data: any, options: any) => any[];
- }
-
- interface CallSuccessErrorCallbacksHash {
- onSuccess: (data: any) => any;
- onError?: (err: string) => void;
- }
-
- interface AdvancedOptions {
- exclude?: number | number[];
- eligible?: number | number[];
- exclude_me?: boolean;
- disclose_me?: boolean;
- }
-
- interface PublishAdvancedOptions extends AdvancedOptions {
- exclude_authid?: string | string[];
- exclude_authrole?: string | string[];
- eligible_authid?: string | string[];
- eligible_authrole?: string | string[];
- }
-
- interface CallAdvancedOptions {
- disclose_me?: boolean;
- receive_progress?: boolean;
- timeout?: number;
- }
-
- interface CancelAdvancedOptions {
- mode?: "skip" | "kill" | "killnowait";
- }
-
- interface Wampy {
- options(opts?: WampyOptions): WampyOptions | Wampy;
- getOpStatus(): WampyOpStatus;
- getSessionId(): number;
- connect(url?: string): Wampy;
- disconnect(): Wampy;
- abort(): Wampy;
- subscribe(topicURI: string, callbacks: (((data: any) => void) | SubscribeCallbacksHash)): Wampy;
- unsubscribe(topicURI: string, callbacks?: (((data: any) => void) | SubscribeCallbacksHash)): Wampy;
- publish(topicURI: string,
- payload?: any,
- callbacks?: SuccessErrorCallbacksHash,
- advancedOptions?: PublishAdvancedOptions): Wampy;
- call(topicURI: string,
- payload?: any,
- callbacks?: (((data: any) => void) | CallSuccessErrorCallbacksHash),
- advancedOptions?: CallAdvancedOptions): Wampy;
- cancel(reqId: number,
- callbacks?: ((() => void) | SuccessErrorCallbacksHash),
- advancedOptions?: CancelAdvancedOptions): Wampy;
- register(topicURI: string, callbacks: (((data: any, options: any) => any[]) | RegisterCallbacksHash)): Wampy;
- unregister(topicURI: string, callbacks?: ((() => void) | SuccessErrorCallbacksHash)): Wampy;
- }
-
- interface WampyInstance {
- new(url?: string, options?: WampyOptions): Wampy;
- }
-
- var wampy: WampyInstance;
-
- export default wampy;
+interface WampyOptions
+{
+ autoReconnect?: boolean;
+ reconnectInterval?: number;
+ maxRetries?: number;
+ transportEncoding?: string;
+ realm?: string;
+ helloCustomDetails?: any;
+ onChallenge?: (auth_method: string, challenge_details: string) => string;
+ authid?: string;
+ onConnect?: () => void;
+ onClose?: () => void;
+ onError?: () => void;
+ onReconnect?: () => void;
+ onReconnectSuccess?: () => void;
+ ws?: any;
+ msgpackCoder?: any;
}
+
+interface WampyOpStatus
+{
+ code: number;
+ description: string;
+ reqId?: number;
+}
+
+interface SuccessErrorCallbacksHash
+{
+ onSuccess?: (data: any) => void;
+ onError?: (err: string, details: any) => void;
+}
+
+interface SubscribeCallbacksHash extends SuccessErrorCallbacksHash
+{
+ onEvent: (args: any[], kwargs: any) => void;
+}
+
+interface RegisterCallbacksHash extends SuccessErrorCallbacksHash
+{
+ rpc: (data: any, options: any) => any[];
+}
+
+interface CallSuccessErrorCallbacksHash
+{
+ onSuccess: (args: any[], kwargs: any) => any;
+ onError?: (err: string, details: any, args: any[], kwargs: any) => void;
+}
+
+interface AdvancedOptions
+{
+ exclude?: number | number[];
+ eligible?: number | number[];
+ exclude_me?: boolean;
+ disclose_me?: boolean;
+}
+
+interface PublishAdvancedOptions extends AdvancedOptions
+{
+ exclude_authid?: string | string[];
+ exclude_authrole?: string | string[];
+ eligible_authid?: string | string[];
+ eligible_authrole?: string | string[];
+}
+
+interface CallAdvancedOptions
+{
+ disclose_me?: boolean;
+ receive_progress?: boolean;
+ timeout?: number;
+}
+
+interface CancelAdvancedOptions
+{
+ mode?: "skip" | "kill" | "killnowait";
+}
+
+interface Wampy
+{
+ new (url?: string, options?: WampyOptions): Wampy;
+ options(opts?: WampyOptions): WampyOptions | Wampy;
+ getOpStatus(): WampyOpStatus;
+ getSessionId(): number;
+ connect(url?: string): Wampy;
+ disconnect(): Wampy;
+ abort(): Wampy;
+ subscribe(topicURI: string, callbacks: (((args: any[], kwargs: any) => void) | SubscribeCallbacksHash)): Wampy;
+ unsubscribe(topicURI: string, callbacks?: (((args: any[], kwargs: any) => void) | SubscribeCallbacksHash)): Wampy;
+ publish(topicURI: string,
+ payload?: any,
+ callbacks?: SuccessErrorCallbacksHash,
+ advancedOptions?: PublishAdvancedOptions): Wampy;
+ call(topicURI: string,
+ payload?: any,
+ callbacks?: (((args: any[], kwargs: any) => void) | CallSuccessErrorCallbacksHash),
+ advancedOptions?: CallAdvancedOptions): Wampy;
+ cancel(reqId: number,
+ callbacks?: ((() => void) | SuccessErrorCallbacksHash),
+ advancedOptions?: CancelAdvancedOptions): Wampy;
+ register(topicURI: string, callbacks: (((data: any, options: any) => any[]) | RegisterCallbacksHash)): Wampy;
+ unregister(topicURI: string, callbacks?: ((() => void) | SuccessErrorCallbacksHash)): Wampy;
+}
+
+declare var wampy: Wampy;
+
+declare module 'wampy'
+{
+ export = wampy;
+}
+
+
+