parent
7b37dba1ef
commit
3e16d7e976
@ -1,61 +1,24 @@ |
||||
const moduleID = require('./module-id.js') |
||||
const remixLib = require('remix-lib') |
||||
const EventManager = remixLib.EventManager |
||||
// const moduleID = require('./module-id.js')
|
||||
|
||||
module.exports = class registry { |
||||
constructor () { |
||||
this.state = {} |
||||
} |
||||
put ({ api, events, name }) { |
||||
const serveruid = moduleID() + '.' + (name || '') |
||||
console.log('registering ', serveruid) |
||||
if (this.state[serveruid]) return this.state[serveruid] |
||||
put ({ api, name }) { |
||||
// const serveruid = moduleID() + '.' + (name || '')
|
||||
if (this.state[name]) return this.state[name] |
||||
const server = { |
||||
uid: serveruid, |
||||
// api: new ApiManager(api),
|
||||
events: makeEvents(events), |
||||
legacyEvents: api.event ? api.event : new EventManager() |
||||
} |
||||
this.state[serveruid] = { |
||||
_name: name, |
||||
_api: api, |
||||
_events: events, |
||||
server: server, |
||||
clients: [] |
||||
// uid: serveruid,
|
||||
api |
||||
} |
||||
this.state[name] = { server } |
||||
return server |
||||
} |
||||
get (uid) { |
||||
const clientuid = moduleID() |
||||
const state = this.state[uid] |
||||
get (name) { |
||||
// const clientuid = moduleID()
|
||||
const state = this.state[name] |
||||
if (!state) return |
||||
const server = state.server |
||||
const client = { |
||||
uid: clientuid, |
||||
api: state._api, |
||||
events: server.events, |
||||
legacyEvents: server.legacyEvents |
||||
} |
||||
server.clients.push(client) |
||||
return client |
||||
} |
||||
} |
||||
|
||||
function makeEvents (events) { |
||||
if (!events) return [] |
||||
function update (name) { update[name] = new EventManager() } |
||||
return events.reduce((fn, x) => { |
||||
fn[x] = new EventManager() |
||||
var oldTrigger = fn[x].trigger |
||||
fn[x].trigger = (name, args) => { |
||||
console.log(name) |
||||
oldTrigger.call(fn[x], name, args) |
||||
} |
||||
var oldRegister = fn[x].register |
||||
fn[x].register = (name, obj, fn) => { |
||||
console.log(name) |
||||
oldRegister.call(fn[x], obj, fn) |
||||
return server |
||||
} |
||||
return fn |
||||
}, update) |
||||
} |
||||
|
Loading…
Reference in new issue