uint8clampedarray-utils
v1.0.3
Published
Utils for working with Uint8ClampedArray
Downloads
21
Maintainers
Readme
Utility Library for Comparing Uint8ClampedArrays
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