UNPKG

easy-api.ts

Version:

A powerful library to create your own API with ease.

1 lines 1.16 kB
Object.defineProperty(exports,"__esModule",{value:!0});let APIFunction_1=require("../../classes/structures/APIFunction"),Error_1=require("../../classes/structures/Error"),Util_1=require("../../classes/internal/Util");class Switch extends APIFunction_1.APIFunction{name="$switch";description="Executes a switch statement.";parameters=[{name:"Value",description:"Value to be evaluated.",type:APIFunction_1.ParamType.String,required:!0,rest:!1,defaultValue:null},{name:"Cases",description:"Cases to be executed.",type:APIFunction_1.ParamType.String,required:!0,rest:!1,defaultValue:null}];usage="$switch[value;cases]";returns=APIFunction_1.ParamType.Unknown;aliases=[];compile=!1;async run(e,[t,a]){t=await Util_1.Util.resolveCode(e,t);var r=new Map,s=e.extend(e._,e.__);if(s.setInternalVar("NodeJS.SwitchCases",r),s.functions.load(__dirname,e=>void 0!==e.parent&&e.parent.name===this.name),await Util_1.Util.resolveCode(s,a),r.has("default"))return r.has(t)?(a=r.get(t),await Util_1.Util.resolveCode(s,a)):(e=r.get("default"),await Util_1.Util.resolveCode(s,e));throw new Error_1.EATS_Error("Missing default case in: "+e.function?.name)}}exports.default=Switch;