easy-api.ts
Version:
A powerful library to create your own API with ease.
1 lines • 1.32 kB
JavaScript
Object.defineProperty(exports,"__esModule",{value:!0});let APIFunction_1=require("../../classes/structures/APIFunction"),Condition_1=require("../../classes/core/Condition"),Util_1=require("../../classes/internal/Util"),STATEMENTS_DIR=__dirname.replace(/core/g,"statement"),conditionParser=new Condition_1.Condition;class Statement extends APIFunction_1.APIFunction{name="$stmt";description="Executes an statement.";parameters=[{name:"Code",description:"Statement code to be executed.",type:APIFunction_1.ParamType.String,required:!0,rest:!1,defaultValue:null}];usage="$stmt[code]";returns=APIFunction_1.ParamType.Unknown;compile=!1;aliases=["$statement","$ifx"];async run(e,[t]){(r=e.extend()).functions.clear();var n=[];r.setInternalVar("eats:if_statement",n);let i=this;r.functions.load(STATEMENTS_DIR,function(e){return void 0!==e.parent&&e.parent.name===i.name}),await Util_1.Util.resolveCode(r,t);var o,r="$else"===n.at(-1)?.name&&n.pop();if(void 0!==(t=n.shift())){var a=await Util_1.Util.resolveCode(e,t.condition);if(conditionParser.solve(a))return Util_1.Util.resolveCode(e,t.code)}for(o of n){var s=await Util_1.Util.resolveCode(e,o.condition);if(conditionParser.solve(s))return Util_1.Util.resolveCode(e,o.code)}if("boolean"!=typeof r)return a=r,Util_1.Util.resolveCode(e,a.code)}}exports.default=Statement;