'f'
mh-two-thousand-and-two
2024-04-12 26f2711ef9461961fb953e2b497bd314ef95e345
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
30
31
32
33
34
35
import EventChannel from './EventChannel'
 
const eventChannels = {}
 
let id = 0
 
export function initEventChannel (events, cache = true) {
  id++
  const eventChannel = new EventChannel(id, events)
  if (cache) {
    eventChannels[id] = eventChannel
  }
  return eventChannel
}
 
export function getEventChannel (id) {
  const eventChannel = eventChannels[id]
  delete eventChannels[id]
  return eventChannel
}
 
export default function () {
  let eventChannel
  return {
    args (fromArgs, toArgs) {
      eventChannel = initEventChannel(fromArgs.events)
      if (fromArgs.url) {
        fromArgs.url = fromArgs.url + (fromArgs.url.indexOf('?') === -1 ? '?' : '&') + '__id__=' + eventChannel.id
      }
    },
    returnValue (fromRes, toRes) {
      fromRes.eventChannel = eventChannel
    }
  }
}