What value does this add, when you can already do `function
safeEval(...args) { return Function(...args)(); }`, or similar?On Tue, Jun 19, 2018 at 7:29 PM, doodad-js Admin <[email protected]> wrote: > Hi, > > > > I take a chance to valorize “eval” again by proposing “safeEval”. > > > > function safeEval(expression, [locals], [options]) { > > ...... > > }; > > > > So that you can: > > > > safeEval(“1 + a”, {a: 2}); // returns “3” > > safeEval(“1 + a()”, {a: function() {return 2}}, {allowFunctions: > true}); // also returns “3” > > > > but: > > > > safeEval(“1 + a()”, {a: function() { return 2}}); // throws whatever > you want because “allowFunctions” is denied > > > > etc. > > > > Note that local variables are specified in argument. Also note that > “options” mainly gives/denies permissions. I’m not sure if we should be > whitelisting or blacklisting features there though, or a mix of default > enabled and disabled ones... > > > > Very incomplete, but as for inspiration (and very useful to me): > https://www.npmjs.com/package/@doodad-js/safeeval > > > > > > Claude > > > > > <http://www.avg.com/email-signature?utm_medium=email&utm_source=link&utm_campaign=sig-email&utm_content=emailclient> > Virus-free. > www.avg.com > <http://www.avg.com/email-signature?utm_medium=email&utm_source=link&utm_campaign=sig-email&utm_content=emailclient> > <#m_4614795417341250604_DAB4FAD8-2DD7-40BB-A1B8-4E2AA1F9FDF2> > > _______________________________________________ > es-discuss mailing list > [email protected] > https://mail.mozilla.org/listinfo/es-discuss > >
_______________________________________________ es-discuss mailing list [email protected] https://mail.mozilla.org/listinfo/es-discuss

