From 967db8dd4cfe66faa06f08a4ad6a396ccbf081ec Mon Sep 17 00:00:00 2001 From: Konstantin Burkalev Date: Mon, 28 Mar 2016 16:55:11 +0300 Subject: [PATCH] Added definitions for Wampy object --- wampy/wampy-tests.d.ts | 0 wampy/wampy.d.ts | 87 ++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 87 insertions(+) create mode 100644 wampy/wampy-tests.d.ts create mode 100644 wampy/wampy.d.ts diff --git a/wampy/wampy-tests.d.ts b/wampy/wampy-tests.d.ts new file mode 100644 index 0000000000..e69de29bb2 diff --git a/wampy/wampy.d.ts b/wampy/wampy.d.ts new file mode 100644 index 0000000000..245c2f8342 --- /dev/null +++ b/wampy/wampy.d.ts @@ -0,0 +1,87 @@ +// Type definitions for wampy.js v2.0.1 +// Project: https://github.com/KSDaemon/wampy.js +// Definitions by: Konstantin Burkalev +// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped + +interface WampyOptions { + autoReconnect?: boolean; + reconnectInterval?: number; + maxRetries?: number; + transportEncoding?: string; + realm?: string; + helloCustomDetails?: any; + onConnect?: () => void; + onClose?: () => void; + onError?: () => void; + onReconnect?: () => void; + ws?: any; + msgpackCoder?: any; +} + +interface WampyOpStatus { + code: number; + description: string; + reqId?: number; +} + +interface SuccessErrorCallbacksHash { + onSuccess?: () => void; + onError?: (err: string) => void; +} + +interface SubscribeCallbacksHash extends SuccessErrorCallbacksHash { + onEvent: (data: any) => void; +} + +interface RegisterCallbacksHash extends SuccessErrorCallbacksHash { + rpc: (data: any) => any; +} + +interface AdvancedOptions { + exclude?: number | number[]; + eligible?: number | number[]; + exclude_me?: boolean; + disclose_me?: boolean; +} + +interface CallAdvancedOptions extends AdvancedOptions { + receive_progress?: boolean; +} + +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: (() => void | SubscribeCallbacksHash)): Wampy; + unsubscribe(topicURI: string, callbacks: (() => void | SubscribeCallbacksHash)): Wampy; + publish(topicURI: string, + payload?: any, + callbacks?: SuccessErrorCallbacksHash, + advancedOptions?: AdvancedOptions): Wampy; + call(topicURI: string, + payload?: any, + callbacks?: (() => void | SuccessErrorCallbacksHash), + advancedOptions?: CallAdvancedOptions): Wampy; + cancel(reqId: number, + callbacks?: (() => void | SuccessErrorCallbacksHash), + advancedOptions?: CancelAdvancedOptions): Wampy; + register(topicURI: string, callbacks: ((data: any) => any | RegisterCallbacksHash)): Wampy; + unregister(topicURI: string, callbacks?: (() => void | SuccessErrorCallbacksHash)): Wampy; +} + +interface WampyInstance { + new(url?: string, options?: WampyOptions): Wampy; +} + +declare var wampy: WampyInstance; + +declare module "wampy" { + export = wampy; +}