var path = require('path') var ProtoBuf = require('protobufjs') var wire = ProtoBuf.loadProtoFile(path.join(__dirname, 'wire.proto')).build() wire.ReverseMessageType = Object.keys(wire.MessageType) .reduce( function(acc, type) { var code = wire.MessageType[type] if (!wire[type]) { throw new Error('wire.MessageType has unknown value "' + type + '"') } wire[type].$code = wire[type].prototype.$code = code acc[code] = type return acc } , Object.create(null) ) module.exports = wire