UNPKG

@discord-card/core

Version:
56 lines 2.31 kB
"use strict"; var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } return new (P || (P = Promise))(function (resolve, reject) { function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } step((generator = generator.apply(thisArg, _arguments || [])).next()); }); }; Object.defineProperty(exports, "__esModule", { value: true }); exports.toImage = exports.loadImage = exports.getFontSize = void 0; const canvas_1 = require("canvas"); const axios_1 = require("axios"); function getFontSize(str) { if (str.length < 18) return 30; return (600 * Math.pow(str.length, -1.05)).toFixed(0); } exports.getFontSize = getFontSize; /** Load a image from a URL */ function loadImage(url) { return __awaiter(this, void 0, void 0, function* () { const response = yield axios_1.default.get(url, { responseType: 'arraybuffer', }); const buffer = Buffer.from(response.data, 'binary'); let img = new canvas_1.Image(); img.src = buffer; return img; }); } exports.loadImage = loadImage; function toImage(image, name) { var _a; return __awaiter(this, void 0, void 0, function* () { if (image instanceof canvas_1.Canvas) { let img = new canvas_1.Image(); img.src = image.toBuffer(); return img; } else if (image instanceof canvas_1.Image) return image; else if (image instanceof Buffer) { let img = new canvas_1.Image(); img.src = image; return img; } else if (typeof image === 'string') return yield loadImage(image); else throw new Error((_a = 'Invalid Image Format for: ' + name) !== null && _a !== void 0 ? _a : 'Image'); }); } exports.toImage = toImage; //# sourceMappingURL=image.js.map