# @my-jimp/utils

> Utils for hekerman extensions.

Latest version **0.16.11** (published 2022-08-22) · MIT license · 0 weekly downloads

## Install

```sh
npm install @my-jimp/utils
pnpm add @my-jimp/utils
yarn add @my-jimp/utils
bun add @my-jimp/utils
```

## Health

**Score 25/100 (F)** — status: abandoned.

Positive: has types; esm support; no vulnerabilities.

Warnings: low downloads; pre 1.0.

Negative: abandoned; low maintenance score.

## Facts

| | |
|---|---|
| Version | 0.16.11 |
| Published | 2022-08-22 |
| First published | 2022-08-22 |
| Weekly downloads | 0 |
| License | MIT |
| TypeScript types | bundled |
| Module format | ESM + CommonJS |
| Dependencies | 2 |
| Unpacked size | 17.5 KB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| Maintainers | aleksey28 |

## Links

- npm: https://www.npmjs.com/package/@my-jimp/utils
- npm.io page: https://npm.io/package/@my-jimp/utils

## Dependencies (2)

- [@babel/runtime](https://npm.io/package/@babel/runtime.md) ^7.7.2
- [regenerator-runtime](https://npm.io/package/regenerator-runtime.md) ^0.13.3

## Recent versions

- 0.16.11 (latest) — 2022-08-22
- 0.16.10 — 2022-08-22
- 0.16.9 — 2022-08-22
- 0.16.8 — 2022-08-22
- 0.16.7 — 2022-08-22

## README

<div align="center">
  <img width="200" height="200"
    src="https://s3.amazonaws.com/pix.iemoji.com/images/emoji/apple/ios-11/256/crayon.png">
  <h1>@jimp/utils</h1>
  <p>Utils for jimp extensions.</p>
</div>

## Available Methods

### isNodePattern

Determines if function was passed an node callback.

```js
if (isNodePattern(cb)) {
  cb.call(this, null, this);
}
```

### throwError

Either throws the error or calls the callback with the error.

```js
if (/* check for error */) {
  return throwError.call(this, 'someError', cb);
}
```

### scan

Scans through a region of the bitmap, calling a function for each pixel.

```js
function removeRed(image) {
  return scan(image, 0, 0, image.bitmap.width, image.bitmap.height, function(
    x,
    y,
    index
  ) {
    const red = this.bitmap.data[index + 0];
    const green = this.bitmap.data[index + 1];
    const blue = this.bitmap.data[index + 2];
    const alpha = this.bitmap.data[index + 3];

    this.bitmap.data[index + 0] = 0;
    this.bitmap.data[index + 1] = green;
    this.bitmap.data[index + 2] = blue;
    this.bitmap.data[index + 3] = alpha;
  });
}
```

### scanIterator

It's possible to make an iterator scan with a `for ... of`, if you want to `break` the scan before it reaches the end, but note, that this iterator has a huge performance implication:

```js
for (const { x, y, idx, image } of scanIterator(
  image,
  0,
  0,
  image.bitmap.width,
  image.bitmap.height
)) {
}
```

---
_Source: https://npm.io/package/@my-jimp/utils · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
