diff --git a/lib/browser/rpc-server.js b/lib/browser/rpc-server.js index d512cbabf1cb..ca193b4115e8 100644 --- a/lib/browser/rpc-server.js +++ b/lib/browser/rpc-server.js @@ -53,19 +53,19 @@ let getObjectPrototype = function (object) { let valueToMeta = function (sender, value, optimizeSimpleObject = false) { // Determine the type of value. let meta = { type: typeof value } - if (Buffer.isBuffer(value)) { - meta.type = 'buffer' - } else if (value === null) { - meta.type = 'value' - } else if (Array.isArray(value)) { - meta.type = 'array' - } else if (value instanceof Error) { - meta.type = 'error' - } else if (value instanceof Date) { - meta.type = 'date' - } else if (meta.type === 'object') { + if (meta.type === 'object') { // Recognize certain types of objects. - if (value.constructor != null && value.constructor.name === 'Promise') { + if (value === null) { + meta.type = 'value' + } else if (Buffer.isBuffer(value)) { + meta.type = 'buffer' + } else if (Array.isArray(value)) { + meta.type = 'array' + } else if (value instanceof Error) { + meta.type = 'error' + } else if (value instanceof Date) { + meta.type = 'date' + } else if (value.constructor != null && value.constructor.name === 'Promise') { meta.type = 'promise' } else if (value.hasOwnProperty('callee') && value.length != null) { // Treat the arguments object as array.