UNPKG

easy-api.ts

Version:

A powerful library to create your own API with ease.

1 lines 1.6 kB
Object.defineProperty(exports,"__esModule",{value:!0});let tslib_1=require("tslib"),APIFunction_1=require("../../classes/structures/APIFunction"),Error_1=require("../../classes/structures/Error"),reply_1=tslib_1.__importDefault(require("./reply")),mime_types_1=require("mime-types"),path_1=require("path"),fs_1=require("fs"),canvas_1=require("@napi-rs/canvas");class SetBody extends APIFunction_1.APIFunction{name="$setBody";description="Set the response body.";parameters=[{name:"Body",description:"Body for the response to be set.",type:APIFunction_1.ParamType.String,required:!0,rest:!1,defaultValue:null}];usage="$setBody[body]";returns=APIFunction_1.ParamType.Unknown;compile=!0;aliases=[];parent=new reply_1.default;async run(e,[r]){var t=e.parent.getInternalVar("NodeJS.ReplyType");if(!t)throw new Error_1.EATS_Error("Invalid reply type at: "+e.function.name);if("json"===t){var a=JSON.parse(r);e.parent.setInternalVar("NodeJS.ReplyData",a)}else if("file"===t){var a=(0,mime_types_1.contentType)((0,path_1.extname)(r)),n=(0,fs_1.createReadStream)(r);e.parent.setInternalVar("NodeJS.MIMEType",a),e.parent.setInternalVar("NodeJS.ReplyData",n)}else if("redirect"===t)e.parent.setInternalVar("NodeJS.ReplyData",r);else if("other"===t)e.parent.setInternalVar("NodeJS.ReplyData",r);else if("canvas"===t){if(!((a=e.parent.getInternalVar("NodeJS.Canvas"))instanceof canvas_1.Canvas))throw new Error_1.EATS_Error("Unable to find a valid Canvas instance, you must start it using $setDimensions[...args]!");e.parent.setInternalVar("NodeJS.ReplyData",a.toBuffer("image/png"))}}}exports.default=SetBody;