UNPKG

552 BJavaScriptView Raw
1
2
3
4function copy(from, to) {
5 (from || []).forEach(function (e) {
6 to.forEach(function (to) { to.push(e) })
7 })
8}
9
10
11function combine(args) {
12 var plugs = {}
13 var sockets = {}
14 args.forEach(function (mod) {
15 for(var k in mod) {
16 if(Array.isArray(mod[k]))
17 (sockets[k] = sockets[k] || []).push(mod[k])
18 else if('function' == typeof mod[k])
19 (plugs[k] = plugs[k] || []).push(mod[k])
20 }
21 })
22
23 for(var k in sockets) copy(plugs[k], sockets[k])
24
25 return {plugs: plugs, sockets: sockets}
26}
27
28
29module.exports = combine
30
31