@arecalde/nnmap
TypeScript icon, indicating that this package has built-in type declarations

1.0.3 • Public • Published

nnmap (No nulls map)

A function for selectively mapping through arrays

  • Just return null to exclude values from map
  • Quit from map at any time

No dependencies

Usage:

function returnIfEven(n: any): any | null {
  return (n % 2 === 0) ? n : null;
}

function quitIfThree(n: any): boolean {
  if (n === 3) return true;
  return false;
}

function quitOnThirdItem(n: any, index: number): boolean {
  if (index >= 3) return true;
  return false;
}

// skip nulls
const evenValues = nnmap([1, 2, 3, 4, 5, 6], returnIfEven); // [2, 4, 6]

// quit when value is 3
const quitWhenThree = nnmap([1, 2, 3, 4, 5]), (n) => n, quitIfThree); // [1, 2]

// map until the third index (maps indexes 0, 1, 2)
const firstThreeMappedItems = nnmap([1, 2, 3, 4, 5]), (n) => n, quitOnThirdItem); // [1, 2, 3]

API

  • nnmap

Parameters

Name type Description
arr any[] The array to be mapped
cb Callback The mapping callback function
qcb? QuitCallback If this callback returns true, nnmap quits immediately
// example
const mappedArray = nnmap([]), (n) => n, (n, i) => null); 

cb: Callback

Whatever this callback returns is inserted in the resulting array

Parameters

Name type Description
currentItem any The current array item to map to a new value
(item) => item.foo

qcb?: QuitCallback

When this callback returns true, nnmap quits immediately and returns an array with the values mapped up to this point

Name type Description
currentItem any[] The current array item to map to a new value
currentIndex number The current index being mapped
// quit based on the current value
(item) => item.quit === true;

// quit based on the current index
(item, index) => index > 10;

Readme

Keywords

none

Package Sidebar

Install

npm i @arecalde/nnmap

Weekly Downloads

2

Version

1.0.3

License

ISC

Unpacked Size

5.16 kB

Total Files

7

Last publish

Collaborators

  • arecalde