reactjs – evaluate a user provdied logic statement in React

I have a JS object. I need to validate that object against a condition / logic statement that was provided via a CMS.

let logicFromCMS = "user.properties.phone.length != 10"
if (evaluateLogic(originalObject, logicFromCMS) {
   // sorry, this object is not valid
} else {
   // didn't match logic.
}

How can I do this safely in JS. This is part of a React application that will run on client side so I don’t want the evaluateLogic function to have access to cookies or window or anything else. I obviously don’t want to use eval();

Read more here: Source link