forked from rmosolgo/graphql-ruby
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathcreateHandler.js
More file actions
29 lines (28 loc) · 1.04 KB
/
Copy pathcreateHandler.js
File metadata and controls
29 lines (28 loc) · 1.04 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
var createActionCableHandler = require("./createActionCableHandler")
var createPusherHandler = require("./createPusherHandler")
/**
* Transport-agnostic wrapper for Relay Modern subscription handlers.
* @example Add ActionCable subscriptions
* var subscriptionHandler = createHandler({
* cable: cable,
* operations: OperationStoreClient,
* })
* var network = Network.create(fetchQuery, subscriptionHandler)
* @param {ActionCable.Consumer} options.cable - A consumer from `.createConsumer`
* @param {Pusher} options.pusher - A Pusher client
* @param {OperationStoreClient} options.operations - A generated `OperationStoreClient` for graphql-pro's OperationStore
* @return {Function} A handler for a Relay Modern network
*/
function createHandler(options) {
if (!options) {
options = {}
}
var handler
if (options.cable) {
handler = createActionCableHandler(options.cable, options.operations)
} else if (options.pusher) {
handler = createPusherHandler(options)
}
return handler
}
module.exports = createHandler