easy-api.ts
Version:
A powerful library to create your own API with ease.
1 lines • 1.3 kB
JavaScript
Object.defineProperty(exports,"__esModule",{value:!0});let tslib_1=require("tslib"),APIFunction_1=require("../../classes/structures/APIFunction"),RouteDataManager_1=require("../../classes/managers/RouteDataManager"),Error_1=require("../../classes/structures/Error"),lodash_1=tslib_1.__importDefault(require("lodash"));class RouteData extends APIFunction_1.APIFunction{name="$routeData";description="Returns a route additional property.";parameters=[{name:"Route",description:"The name of the route to extract information from.",type:APIFunction_1.ParamType.String,required:!0,rest:!1,defaultValue:null},{name:"Property",description:"The name of the property to be extracted from the route.",type:APIFunction_1.ParamType.String,required:!1,rest:!1,defaultValue:"%default%"}];usage="$routeData[route;property?]";returns=APIFunction_1.ParamType.String;compile=!0;aliases=[];async run(e,[t,r="%default%"]){if("hasdata"===r.toLowerCase())return String(RouteDataManager_1.RouteDataManager.hasData(t));if(t=RouteDataManager_1.RouteDataManager.getData(t))return/%default%/i.test(r)?JSON.stringify(t):"object"==typeof(t=lodash_1.default.get(t,r))?Array.isArray(t)?t.join("%SEP%"):JSON.stringify(t,null,4):String(t);throw new Error_1.EATS_Error("Invalid route name at: "+e.function.name)}}exports.default=RouteData;