@nd0ut/ubiquitous-guacamole

1.0.9 • Public • Published

Ubiquitous Guacamole

Build Status npm version

Perhaps the best image preloader on Earth.

Demo

Edit ubiquitous-guacamole-demo

Installation

Just run

npm i @nd0ut/ubiquitous-guacamole --save

or

yarn add @nd0ut/ubiquitous-guacamole

Usage

import loadImages from '@nd0ut/ubiquitous-guacamole';

loadImages(['urls', 'or', 'HTMLImageElements'])
  .then(images => {
    // all images are successfully loaded
    const [img, state] = images[0];
    console.log(state); // prints 'completely_available'
    state === loadImages.State.COMPLETELY_AVAILABLE
  }
  .catch(images => {
    // at least one image is failed
    const [img, state] = images[0];
    console.log(state); // prints 'completely_available' or 'broken'
    state === loadImages.State.COMPLETELY_AVAILABLE || state === loadImages.State.BROKEN
  });

HTMLImageElement can be in any state (according to w3c spec), but keep in mind that if you never set the src property then the promise will never be resolved or rejected. There is no any timeout on this.

API

loadImages (default export)

Parameters

Returns Promise<Array<[HTMLImageElement, loadImages.State]>>

loadImages.State

  • COMPLETELY_AVAILABLE string('completely_available') Image loading success (w3c)
  • BROKEN string('broken') Image loading failed (w3c)

Readme

Keywords

none

Package Sidebar

Install

npm i @nd0ut/ubiquitous-guacamole

Weekly Downloads

8

Version

1.0.9

License

ISC

Unpacked Size

10.1 kB

Total Files

4

Last publish

Collaborators

  • nd0ut