Code cleanup for remote module

This commit is contained in:
Cheng Zhao 2015-11-02 20:28:01 +08:00
parent 88fc4e9d05
commit 647a0c4e2b
2 changed files with 14 additions and 21 deletions

View file

@ -46,7 +46,7 @@ metaToValue = (meta) ->
when 'array' then (metaToValue(el) for el in meta.members)
when 'buffer' then new Buffer(meta.value)
when 'promise' then Promise.resolve(then: metaToValue(meta.then))
when 'error' then metaToError(meta)
when 'error' then metaToPlainObject meta
when 'date' then new Date(meta.value)
when 'exception'
throw new Error("#{meta.message}\n#{meta.stack}")
@ -110,16 +110,13 @@ metaToValue = (meta) ->
ret
# Convert meta data from browser into Error.
metaToError = (meta) ->
Object.getOwnPropertyNames(meta).reduce((error, prop) ->
Object.defineProperty(error, prop, {
get: -> meta[prop],
enumerable: false,
configurable: false
})
error
, new Error())
# Construct a plain object from the meta.
metaToPlainObject = (meta) ->
obj = switch meta.type
when 'error' then new Error
else {}
obj[name] = value for {name, value} in meta.members
obj
# Browser calls a callback in renderer.
ipc.on 'ATOM_RENDERER_CALLBACK', (id, args) ->