dyna-count
TypeScript icon, indicating that this package has built-in type declarations

1.1.2 • Public • Published

About dyna-count

Simplifies the for loop.

It also offers a map.

for

Instead of

for (let i = 0; i < 1000; i++) console.log(i);

you can

count(1000).for(i => console.log(i))

or simpler

count(1000).for(console.log)

You can for with step

count(10, 2).for(index => console.log(index)) // consoles: 0, 2, 4, 6, 8

You can break a for, calling the 2nd argument of the for's callback

let collected = [];
count(20).for((index, breakIt) => {
    collected.push(index);
    if (index === 9) breakIt();
});
// 0..9 items are only collected

map

You can map also the iteration, useful for data generation.

let items = [];
count(3).map(i => items.push(i));
// items is now [0, 1, 2]

In Typescript, map supports types, for example:

let items: string[] = [];
count(3).map<string>(i => items.push(i.toString()));
// items is now ['0', '1', '2']

You can map with step in the same way as with for.

You can break in the same way as with for.

countFromTo

Similarly, we have and the countFromTo

  • for

countFromTo(100, 200).for(i => console.log(i))

  • map
let items = [];
countFromTo(10, 13).map(i => items.push(i));
// items is now [10, 11, 12]

reduce

reduced = count(3).reduce>((acc, index) => {
  acc[`key-${index}`] = `Key is ${index}`;
  return acc;
}, {});
// reduced is equal to {"key-0": "Key is 0", "key-1": "Key is 1", "key-2": "Key is 2" }

Import

import {count, countFromTo} from "dyna-count";

Signatures

count/countFromTo(countTo: number).for: (cb: (index: number, cbBreak: () => void) => void): void

count/countFromTo(countTo: number).map: <T>(cb: (index: number, cbBreak: () => void) => T): T[]

count/countFromTo(countTo: number).reduce: <T = any>(cb: (acc: T, index: number) => T, initialValue: T): T

Readme

Keywords

none

Package Sidebar

Install

npm i dyna-count

Weekly Downloads

8

Version

1.1.2

License

MIT

Unpacked Size

36.3 kB

Total Files

61

Last publish

Collaborators

  • dennisat