UNPKG

easy-api.ts

Version:

A powerful library to create your own API with ease.

7 lines 1.63 kB
Object.defineProperty(exports,"__esModule",{value:!0});let tslib_1=require("tslib"),APIFunction_1=require("../../classes/structures/APIFunction"),Error_1=require("../../classes/structures/Error"),canvas_1=require("@napi-rs/canvas"),createCanvas_1=tslib_1.__importDefault(require("./createCanvas"));function getDominantColor(e,a){return e.drawImage(a,0,0,1,1),"#"+((1<<24)+((a=e.getImageData(0,0,1,1).data)[0]<<16)+(a[1]<<8)+a[2]).toString(16).slice(1)}class ImageAccentColor extends APIFunction_1.APIFunction{name="$imageAccentColor";description="Returns the accent color of a loaded image.";parameters=[{name:"Image ID",description:"Cached image ID to get the accent color from.",type:APIFunction_1.ParamType.String,required:!0,rest:!1,defaultValue:null}];usage="$imageAccentColor[id]";example=` $loadImage[avatar;link;$getQuery[avatar]] $drawImage[avatar;0;0;512;512] $let[accent;$imageAccentColor[avatar;0;0;512;512]] $color[$get[accent]] $drawRect[0;0;1024;1024] `.split("\n").map(e=>e.trim()).join("\n");returns=APIFunction_1.ParamType.String;aliases=[];compile=!0;parent=new createCanvas_1.default;async run(e,[a]){if(!e.parent.internalVarExists("NodeJS.Images:"+a))throw new Error_1.InvalidField("Image ID",e.function);if(!(e.parent.getInternalVar("NodeJS.Canvas")instanceof canvas_1.Canvas))throw new Error_1.EATS_Error(`Environment#canvas is not a instance of Canvas: "${e.function?.name}"`);var r=e.parent.getInternalVar("NodeJS.CanvasContext"),e=e.parent.getInternalVar("NodeJS.Images:"+a);try{return getDominantColor(r,e)}catch{return"null"}}}exports.default=ImageAccentColor;