Skip to content

Invalid operand to 'in': Object expected #912

@krnjn

Description

@krnjn

It seems like this change made in v3.15.0 broke some functionality on IE 10 and lower. Downgrading to v3.14.2 resolved the issue.

This may have something to do with the caveat listed on Babel about the use of __proto__ on IE 10 and below:

If you’re inheriting from a class then static properties are inherited from it via proto, this is widely supported but you may run into problems with much older browsers. NOTE: proto is not supported on IE <= 10 so static properties will not be inherited. See the protoToAssign for a possible work around. For classes that have supers, the super class won’t resolve correctly. You can get around this by enabling the loose option in the es2015-classes plugin.

The specific error we received (in the title) and full stack trace we received via Honeybadger is available here:

Invalid operand to 'in': Object expected
 customs.js  100  0  unknown(...)
webpack:///./node_modules/mathjs/lib/utils/customs.js:100:0:in `unknown'
 98  */
 99 function isSafeMethod (object, method) {
100   if (!object || typeof object[method] !== 'function') {
101     return false;
102   }
 OperatorNode.js  77  0  unknown(...)
webpack:///./node_modules/mathjs/lib/expression/node/OperatorNode.js:77:0:in `unknown'
 compile.js  43  0  unknown(...)
webpack:///./node_modules/mathjs/lib/expression/node/compile.js:43:0:in `unknown'
 Node.js  57  0  code(...)
webpack:///./node_modules/mathjs/lib/expression/node/Node.js:57:0:in `code'
 eval.js  47  0  unknown(...)
webpack:///./node_modules/mathjs/lib/expression/function/eval.js:47:0:in `unknown'
 calculator.js  56  6  result(...)
webpack:///./app/javascript/src/form_filler/calculator.js:56:6:in `result'
 calculator.js  33  10  result(...)
webpack:///./app/javascript/src/form_filler/calculator.js:33:10:in `result'
 calculator.js  26  8  unknown(...)
webpack:///./app/javascript/src/form_filler/calculator.js:26:8:in `unknown'
 calculator.js  28  6  unknown(...)
webpack:///./app/javascript/src/form_filler/calculator.js:28:6:in `unknown'

Metadata

Metadata

Assignees

No one assigned

    Labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions