From 03d98dd350a95832f30d2e1f334609ac205c39e4 Mon Sep 17 00:00:00 2001 From: Vincent Zhu Date: Thu, 17 Mar 2016 17:06:10 +0800 Subject: [PATCH] add rails actioncable definition files --- actioncable/actioncable-tests.ts | 4 ++++ actioncable/actioncable.d.ts | 31 +++++++++++++++++++++++++++++++ 2 files changed, 35 insertions(+) create mode 100644 actioncable/actioncable-tests.ts create mode 100644 actioncable/actioncable.d.ts diff --git a/actioncable/actioncable-tests.ts b/actioncable/actioncable-tests.ts new file mode 100644 index 000000000..c32bbb2a8 --- /dev/null +++ b/actioncable/actioncable-tests.ts @@ -0,0 +1,4 @@ +/// +App = {}; +App.cable = ActionCable.createConsumer(); +App.cable.subscriptions.create("NetworkChannel", {}); diff --git a/actioncable/actioncable.d.ts b/actioncable/actioncable.d.ts new file mode 100644 index 000000000..2b1dda258 --- /dev/null +++ b/actioncable/actioncable.d.ts @@ -0,0 +1,31 @@ +// Type definitions for ActionCable +// Project: https://github.com/rails/rails/tree/master/actioncable +// Definitions by: [Vincent Zhu] +// Definitions: https://github.com/zhu1230/DefinitelyTyped + +declare module ActionCable { + interface Channel { + unsubscribe(): void; + perform(action: string, data: {}): void; + } + interface Subscriptions { + create(chan_name: string, obj: {}): Channel; + } + interface Cable { + subscriptions: Subscriptions; + } + function createConsumer(): Cable; + function createConsumer(url: string): Cable; +} + +declare interface AppInterface { + cable?: ActionCable.Cable; + network?: ActionCable.Channel; +} + +declare var App: AppInterface; + + + + +