/
index.js
46 lines (39 loc) · 946 Bytes
/
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
var obj = require('./core/engine-common'),
db, users, Model;
obj.CanvasEngine.requireExtend = function(name) {
return require('./extends/' + name).Class;
};
function requireCore(name, params) {
params = params || [];
params = [obj.Class, obj.CanvasEngine].concat(params);
var _class = require('./core/' + name).Class;
if (typeof _class == "object") {
return _class;
}
else {
return _class.apply(_class, params);
}
}
exports.listen = function(app, port) {
if (app) {
var io = require('socket.io').listen(app);
io.configure( function() {
io.set('heartbeat timeout', 60);
});
obj.CanvasEngine.io = io;
if (typeof app != "number") {
obj.CanvasEngine.app = app;
app.listen(port);
}
db = requireCore("DB");
users = requireCore("Users", [db]);
Model = requireCore("ModelServer", [users]);
}
return {
Class: obj.Class,
Core: obj.CanvasEngine,
DB: db,
Users: users,
Model: Model
};
};