thumbo-core
TypeScript icon, indicating that this package has built-in type declarations

1.0.10 • Public • Published

thumbo-core

😱 Dead fast thumbnail library for browser and NodeJs

Build & Test

Built with Rust 🦀 & WebAssembly 🕸

📖 About

thumbo-core is a thubnail library for browsers and NodeJs, built with Rust and WebAssembly in other to achieve closer to native speed!

It supports thumbnail generation for Png, Jpeg, Gif, Ico, Webp and Svg! Webp support is a work in progress.

📣 If you plan to use thumbo-core, it should be used with a Webworker so you don't block the main thread! If you don't want to go through this hassle, use thumbo, it provides a worker pool to handle thumbnail generation using thumbo-core out of the box.

🚴 Usage

🧪 Sample usage

import * as thumbo from "thumbo-core";

const img = await fetch("/path/to/img.png");

const thumbnail = thumbo.thumbnail(
  new Uint8Array(await img.arrayBuffer()),
  thumbo.ImageFormat.Png,
  20,
  20
);

const thumbnail_blob = new Blob([thumbnail], { type: "image/png" });
const url = URL.createObjectURL(thumbnail_blob);

document.getElementById("img").src = url;

⚙️ API Reference

thumbo.ImageFormat

An enum of image formats supported by thumbo-core.

thumbo.thumbnail(image_buffer: Uint8Array, format: thumbo.ImageFormat, width, height)

Creates a thumbnail from the provided image buffer.

👷🏽 Development

🛠️ Build with wasm-pack build

wasm-pack build

🔬 Test in Headless Browsers with wasm-pack test

wasm-pack test --headless --chrome

🎁 Publish to NPM with wasm-pack publish

wasm-pack publish

Package Sidebar

Install

npm i thumbo-core

Weekly Downloads

65

Version

1.0.10

License

MIT

Unpacked Size

1.98 MB

Total Files

8

Last publish

Collaborators

  • ahkohd