Skip to content
/ mince Public

Mince is a browser utility to reduce image sizes before sending them through HTTP requests using WASM and Rust

License

Notifications You must be signed in to change notification settings

whizzes/mince

Repository files navigation

mince

Mince comes from "mincing" which means taking something that is roughly chopped and then chopping it finely

Warning This package is under heavy development

Usage

  1. Install package
npm install @whizzes/mince
  1. Initialize WASM Module
import init from "@whizzes/mince";
  1. Then use the Mince class
import { Mince } from "@whizzes/mince";

const resizeImage = (file: File): Promise<File> => {
    const mince: Mince = await Mince.fromFile(file);
    const resized: Mince = mince.resize(100, 100);
    const file: File = resized.toFile();

    // The resulting file is an instance of the Browser's native `File` object
    const url = URL.createObjectURL(file);

    document.getElementById('image').src = url;

    return file;
}

Development

  1. Install wasm-pack
cargo install wasm-pack

Geckodriver

https://github.com/rustwasm/wasm-pack/blob/master/src/test/webdriver/geckodriver.rs