module.exports = function call_user_func(cb, parameters) { // discuss at: https://locutus.io/php/call_user_func/ // original by: Brett Zamir (https://brett-zamir.me) // improved by: Diplom@t (https://difane.com/) // improved by: Brett Zamir (https://brett-zamir.me) // note 1: Depends on call_user_func_array which in turn depends on the `cb` that is passed, // note 1: this function can use `eval`. // note 1: The `eval` input is however checked to only allow valid function names, // note 1: So it should not be unsafer than uses without eval (seeing as you can) // note 1: already pass any function to be executed here. // example 1: call_user_func('isNaN', 'a') // returns 1: true const callUserFuncArray = require('../funchand/call_user_func_array') parameters = Array.prototype.slice.call(arguments, 1) return callUserFuncArray(cb, parameters) }