npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

imagebindb

v1.0.6

Published

convert images to binary data, store them in IndexedDB, and retrieve and convert them back to images

Downloads

14

Readme

ImageBinDB ✶

bin

Introduction

A a NPM module designed for converting images to binary data, storing them in IndexedDB, and retrieving and converting them back to images. It's an ideal solution for web applications that require efficient image handling and storage using browser technologies.

Transform Your Web App's Image Management

ImageBinDB is a cutting-edge TypeScript NPM module, uniquely designed to revolutionize the way web applications and Progressive Web Apps (PWAs) handle images locally. It's the perfect solution for scenarios where traditional methods fall short.

Why ImageBinDB?

In the landscape of web development, efficiently managing and processing images locally in a browser or PWA has always been challenging. ImageBinDB steps in as a game-changer, offering unparalleled functionalities:

🌟 Key Features

  • Effortless Image to Binary Conversion: Seamlessly convert images to binary data, bypassing the usual complexities of local image handling.
  • Robust IndexedDB Storage: Leverage the power of IndexedDB for reliable and efficient storage and retrieval of your binary image data.
  • Smooth Binary to Image Conversion: Transform binary data back into images effortlessly, maintaining the integrity and quality of your visuals.

Installation

npm install imagebindb

Importing the Module

import {
  imageToBinary,
  storeImage,
  retrieveImage,
  binaryToImageURL,
} from "imagebindb";

Converting an Image to Binary

const imageFile = document.getElementById("input").files[0];
imageToBinary(imageFile).then((binaryData) => {
  // Handle the binary data
});

Storing Binary Data in IndexedDB

storeImage("myDatabase", "myImageKey", binaryData).then(() =>
  console.log("Image stored successfully")
);

Retrieving Binary Data from IndexedDB

retrieveImage("myDatabase", "myImageKey").then((binaryData) => {
  if (binaryData) {
    // Handle the retrieved binary data
  }
});

Converting Binary Data Back to an Image URL

const imageUrl = binaryToImageURL(binaryData);
// Use the image URL (e.g., as the src of an img element)

API Reference

This section details the functions available in the ImageBinDB module, along with their descriptions and usage.

imageToBinary(image: File): Promise<ArrayBuffer>

Converts an image file to binary data.

Parameters:

  • image: File - The image file to convert.

Returns:

  • Promise<ArrayBuffer> - A promise that resolves with the binary data.

storeImage(dbName: string, key: string, data: ArrayBuffer): Promise<void>

Stores binary data in IndexedDB.

Parameters:

  • dbName: string - The name of the IndexedDB database.
  • key: string - The key under which to store the data.
  • data: ArrayBuffer - The binary data to be stored.

Returns:

  • Promise<void>

retrieveImage(dbName: string, key: string): Promise<ArrayBuffer | undefined>

Retrieves binary data from IndexedDB.

Parameters:

  • dbName: string - The name of the IndexedDB database.
  • key: string - The key under which the data is stored.

Returns:

  • Promise<ArrayBuffer | undefined> - A promise that resolves with the retrieved binary data or undefined if the key is not found.

binaryToImageURL(binaryData: ArrayBuffer): string

Converts binary data to an image URL.

Parameters:

  • binaryData: ArrayBuffer - The binary data to be converted.

Returns:

  • string - The image URL created from the binary data.

Contributing

Contributions are welcome! Please open an issue or submit a pull request for any features or fixes.

License

This project is licensed under the MIT License - see the LICENSE file for details.