meshblu-google-vision
Version:
[](https://travis-ci.org/octoblu/meshblu-google-vision) [](https://codeclimat
77 lines (62 loc) • 2.09 kB
text/coffeescript
_ = require 'lodash'
meshblu = require 'meshblu'
MeshbluConfig = require('meshblu-config');
packageJSON = require './package.json'
{EventEmitter} = require 'events'
{Plugin} = require './index.coffee'
class Connector extends EventEmitter
constructor: (={}) ->
= new MeshbluConfig({filename: 'meshblu.json'})
process?.on 'uncaughtException', (error) =>
error
process?.exit 1
createConnection: =>
= meshblu.createConnection(.toJSON())
.on 'notReady',
.on 'error',
.on 'ready',
.on 'message',
.on 'config',
onConfig: (device) =>
'config', device
try
.onConfig arguments...
catch error
error
onMessage: (message) =>
'message.recieve', message
try
.onMessage arguments...
catch error
error
onReady: =>
.whoami uuid: .uuid, (device) =>
.setOptions device.options
oldRecentVersions = device.recentVersions || [];
recentVersions = _.union oldRecentVersions, [packageJSON.version]
.update
uuid: .uuid
token: .token
messageSchema: .messageSchema
messageFormSchema: .messageFormSchema
optionsSchema: .optionsSchema
options: .options
initializing: false
currentVersion: packageJSON.version
recentVersions: recentVersions
run: =>
= new Plugin();
()
.on 'data', (data) =>
'data.send', data
.data data
.on 'error',
.on 'update', (properties) =>
'update', properties
.update properties
.on 'message', (message) =>
'message.send', message
.message message
emitError: (error) =>
'error', error
module.exports = Connector;