diff --git a/rails-actioncable/rails-actioncable-tests.ts b/rails-actioncable/rails-actioncable-tests.ts new file mode 100644 index 000000000..e7a04f338 --- /dev/null +++ b/rails-actioncable/rails-actioncable-tests.ts @@ -0,0 +1,4 @@ +/// +App = {}; +App.cable = ActionCable.createConsumer(); +App.cable.subscriptions.create("NetworkChannel", {}); diff --git a/rails-actioncable/rails-actioncable.d.ts b/rails-actioncable/rails-actioncable.d.ts new file mode 100644 index 000000000..497583a77 --- /dev/null +++ b/rails-actioncable/rails-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; + + + + +