-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathindex.js
59 lines (54 loc) · 1.26 KB
/
index.js
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
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
const { replicate } = require('./replicate')
const { Network } = require('./network')
const { Receive } = require('./receive')
const { Client } = require('./client')
const { Reader } = require('./reader')
const { Server } = require('./server')
const { Source } = require('./source')
const { Origin } = require('./origin')
const { Sink } = require('./sink')
const { Send } = require('./send')
const { Edge } = require('./edge')
const { Box } = require('./box')
const storage = require('./storage')
const codecs = require('./codecs')
const hooks = require('./hooks')
/**
* The top level module exports for the 'little-network-box' module.
* @public
* @namespace little-network-box
* @type {Object}
*/
module.exports = Object.assign(factory(Box), {
// factories
network: factory(Network),
receive: factory(Receive),
client: factory(Client),
reader: factory(Reader),
server: factory(Server),
source: factory(Source),
origin: factory(Origin),
send: factory(Send),
sink: factory(Sink),
edge: factory(Edge),
box: factory(Box),
// utilities
replicate,
storage,
codecs,
hooks,
// classes
Receive,
Client,
Reader,
Server,
Source,
Origin,
Send,
Sink,
Edge,
Box,
})
function factory(Class) {
return (...args) => new Class(...args)
}