UNPKG

easy-api.ts

Version:

A powerful library to create your own API with ease.

1 lines 1.39 kB
Object.defineProperty(exports,"__esModule",{value:!0});let tslib_1=require("tslib"),APIFunction_1=require("../../classes/structures/APIFunction"),canvas_1=require("@napi-rs/canvas"),Error_1=require("../../classes/structures/Error"),createCanvas_1=tslib_1.__importDefault(require("./createCanvas")),Util_1=require("../../classes/internal/Util"),MEASURING_TYPES=["object","width","height"];class MeasureText extends APIFunction_1.APIFunction{name="$measureText";description="Measure all dimensions of a text.";parameters=[{name:"Text",description:"The text to be placed in the canvas.",type:APIFunction_1.ParamType.String,required:!0,rest:!1,defaultValue:null},{name:"Type",description:"Return data style.",type:APIFunction_1.ParamType.String,required:!0,rest:!1,defaultValue:null,allowedValues:MEASURING_TYPES}];usage="$measureText[text;type]";returns=APIFunction_1.ParamType.Unknown;aliases=[];compile=!0;parent=new createCanvas_1.default;async run(e,[t,a]){if(e.parent.getInternalVar("NodeJS.Canvas")instanceof canvas_1.Canvas)return t={width:(e=e.parent.getInternalVar("NodeJS.CanvasContext")).measureText(t).width,height:Util_1.Util.getTextHeight(e,t,e.font)},"object"===a?JSON.stringify(t):("width"===a?t.width:t.height).toString();throw new Error_1.EATS_Error("Unable to find a valid Canvas instance, you must start it using $setDimensions[...args]!")}}exports.default=MeasureText;