easy-api.ts
Version:
A powerful library to create your own API with ease.
1 lines • 1.19 kB
JavaScript
Object.defineProperty(exports,"__esModule",{value:!0});let APIFunction_1=require("../../classes/structures/APIFunction"),Util_1=require("../../classes/internal/Util"),util_1=require("util");class JSEval extends APIFunction_1.APIFunction{name="$jsEval";description="Evaluates JavaScript code.";parameters=[{name:"Return Code",description:"Whether return evaluation result. (boolean value)",type:APIFunction_1.ParamType.Boolean,required:!0,rest:!1,defaultValue:null},{name:"Code",description:"JavaScript code to be evaluated.",type:APIFunction_1.ParamType.String,required:!0,rest:!0,defaultValue:null}];usage="$jsEval[return;code]";returns=APIFunction_1.ParamType.Unknown;aliases=["$js"];compile=!1;async run(d,[retrieve="false",...code]){let packages=d.getInternalVar("ADD_PKGS")??[],resolved=(0<packages.length&&code.unshift(packages.map(e=>`const ${null===e.property?e.name:"{ "+e.property+" }"} = require("${e.name}")`).join("\n")),await Util_1.Util.resolveCode(d,code.join(";"))),result="";try{result=eval(resolved)}catch(e){result=e.message}if(Util_1.Util.booleanify(retrieve))return"object"==typeof result?(0,util_1.inspect)(result,{depth:2}):result.toString()}}exports.default=JSEval;