uint8clampedarray-utils

1.0.3 • Public • Published

Utility Library for Comparing Uint8ClampedArrays

Build Status Coverage Status npm version

Installation

npm install uint8clampedarray-utils
yarn add uint8clampedarray-utils

Usage

isEqual

Check if two values are equal Uint8ClampedArrays.
=> Promise

  // Promise is resolved if equal
  const a = new Uint8ClampedArray([1, 2, 3]);
  const b = new Uint8ClampedArray([1, 2, 3]);
  await isEqual(a, b) // => true;
 
  // Promise is rejected on difference
  const a = new Uint8ClampedArray([1, 2, 3]);
  const b = new Uint8ClampedArray([3, 2, 1]);
  await isEqual(a, b) // => throws Error;
 
  // Promise is rejected when called with non Uint8ClampedArray value
  const a = [1, 2, 3];
  const b = new Uint8ClampedArray([1, 2, 3]);;
  await isEqual(a, b) // => throws Error;

isEqualSync

Check if two values are equal Uint8ClampedArrays.
=> Boolean

  // Returns true/false
  const a = new Uint8ClampedArray([1, 2, 3]);
  const b = new Uint8ClampedArray([1, 2, 3]);
  isEqualSync(a, b) // => true
 
  // Pass flag to throw error on invalid arguments/difference
  const a = new Uint8ClampedArray([1, 2, 3]);
  const b = new Uint8ClampedArray([1, 2, 3, 4]);
  const throwError = true;
  isEqualSync(a, b, throwError) // => throws Error  

diff

Calculate difference between two Uint8ClampedArray.
=> Promise

  // Promise is resolved with statistics object
  const a = new Uint8ClampedArray([1, 2, 3, 4]);
  const b = new Uint8ClampedArray([1, 2, 3, 5]);
  await diff(a, b) // => { diffCount: 1, diffPercentage: 25 }
 
  // Set the step size to 4 if you want to check for pixel differences in RGBA array
  const a = new Uint8ClampedArray([0, 0, 0, 0, 255, 36, 17, 50]);
  const b = new Uint8ClampedArray([0, 0, 0, 0, 0, 0, 0, 0]);
  const stepSize = 4;
  await diff(a, b, stepSize) // => { diffCount: 1, diffPercentage: 50 }
 
  // Promise is rejected on difference in length
  const a = new Uint8ClampedArray([1, 2, 3]);
  const b = new Uint8ClampedArray([1, 2, 3, 4]);
  await diff(a, b) // => throws Error;
 
  // Promise is rejected when called with non Uint8ClampedArray value
  const a = [1, 2, 3];
  const b = new Uint8ClampedArray([1, 2, 3]);;
  await diff(a, b) // => throws Error;

diffSync

Calculate difference between two Uint8ClampedArray.
=> Object

  // Returns statistics object
  const a = new Uint8ClampedArray([1, 2, 3, 4]);
  const b = new Uint8ClampedArray([1, 2, 3, 5]);
  diffSync(a, b) // => { diffCount: 1, diffPercentage: 25 }
 
  // Set the step size to 4 if you want to check for pixel differences in RGBA array
  const a = new Uint8ClampedArray([0, 0, 0, 0, 255, 36, 17, 50]);
  const b = new Uint8ClampedArray([0, 0, 0, 0, 0, 0, 0, 0]);
  const stepSize = 4;
  diffSync(a, b, stepSize) // => { diffCount: 1, diffPercentage: 50 }
 
  // Throws Error on difference in length
  const a = new Uint8ClampedArray([1, 2, 3]);
  const b = new Uint8ClampedArray([1, 2, 3, 4]);
  diffSync(a, b) // => throws Error;
 
  // Throws Error when called with non Uint8ClampedArray value
  const a = [1, 2, 3];
  const b = new Uint8ClampedArray([1, 2, 3]);;
  diffSync(a, b) // => throws Error;

isUint8ClampedArray

Check if value is Uint8ClampedArray. Basically a wrapper for value instanceof Uint8ClampedArray.
=> Boolean

  // Returns true/false
  const arr = [1, 2, 3];
  const uArr = new Uint8ClampedArray([1, 2, 3]);
  isUint8ClampedArray(arr) // => false
  isUint8ClampedArray(uArr) // => true

hasSameLength

Check if two Uint8ClampedArrays have the same length. Basically a wrapper for a.length === b.length.
=> Boolean

  // Returns true/false
  const a = new Uint8ClampedArray([1, 2, 3]);
  const b = new Uint8ClampedArray([1, 2, 3]);
  hasSameLength(a, b) // => true
 
  // Returns false when called with non Uint8ClampedArray value
  const a = [1, 2, 3];
  const b = new Uint8ClampedArray([1, 2, 3]);
  hasSameLength(a, b) // => false
 
  // Pass flag to throw error when called with non Uint8ClampedArray value
  const a = [1, 2, 3];
  const b = new Uint8ClampedArray([1, 2, 3]);
  const throwError = true;
  hasSameLength(a, b, throwError) // => throws Error

Running the tests

yarn test
yarn coverage
yarn lint

Support

Please open an issue for support.

License

MIT

Package Sidebar

Install

npm i uint8clampedarray-utils

Weekly Downloads

2

Version

1.0.3

License

MIT

Unpacked Size

173 kB

Total Files

8

Last publish

Collaborators

  • ollelauribostrom