1.0.3 • Published 5 years ago

@arecalde/nnmap v1.0.3

Weekly downloads
-
License
ISC
Repository
github
Last release
5 years ago

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

NametypeDescription
currentItemanyThe 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

NametypeDescription
currentItemany[]The current array item to map to a new value
currentIndexnumberThe current index being mapped
// quit based on the current value
(item) => item.quit === true;

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

5 years ago

1.0.2

5 years ago

1.0.1

5 years ago

1.0.0

5 years ago