1.0.2 • Published 2 years ago

codecraft v1.0.2

Weekly downloads
-
License
ISC
Repository
-
Last release
2 years ago

HandyJS

HandyJS is an npm package that provides a series of useful JavaScript utility functions.

Installation

Install via npm:

$ npm install handyjs

Usage

const handy = require("handyjs");

Or if you prefer to use ES6 import:

import handy from "handyjs";

After importing handy, you can use any of the utility functions provided by it.

List of functions

  • chunk - Splits an array into arrays of specified size.
  • compact - Removes falsey elements from an array.
  • difference - Returns a new array with elements that are not present in the other arrays.
  • flatten - Flattens multiple nested arrays.
  • groupBy - Groups an array of objects by a specified key.
  • max - Returns the largest element in an array.
  • min - Returns the smallest element in an array.
  • sum - Returns the sum of all the elements in an array.
  • countBy - Groups the elements in an array by a specific rule and returns the count of each group.
  • unique - Returns a new array containing only unique elements.
  • zip - Creates a new array by merging multiple arrays at corresponding indexes.

Usage guide

chunk

handy.chunk([1, 2, 3, 4, 5], 2);
// => [[1, 2], [3, 4], [5]]

compact

handy.compact([1, null, 2, false, 3, undefined, 0]);
// => [1, 2, 3, 0]

difference

handy.difference([1, 2, 3], [3, 4, 5]);
// => [1, 2, 4, 5]

flatten

handy.flatten([1, [2, [3, [4]], 5]]);
// => [1, 2, 3, 4, 5]

groupBy

handy.groupBy(
  [
    { name: "Alice", age: 25 },
    { name: "Bob", age: 30 },
    { name: "Charlie", age: 25 },
  ],
  "age"
);
// => { '25': [{ name: 'Alice', age: 25 }, { name: 'Charlie', age: 25 }], '30': [{ name: 'Bob', age: 30 }] }

max

handy.max([1, 2, 3, 4, 5]);
// => 5

min

handy.min([1, 2, 3, 4, 5]);
// => 1

sum

handy.sum([1, 2, 3, 4, 5]);
// => 15

countBy

handy.countBy([1, 2, 3, 4, 5], isOdd);
// => { 'true': 3, 'false': 2 }

function isOdd(n) {
  return n % 2 !== 0;
}

unique

handy.unique([1, 2, 2, 3, 3, 3, 4, 4, 4, 4, 5, 5, 5, 5, 5]);
// => [1, 2, 3, 4, 5]

zip

handy.zip(["one", "two"], [1, 2], [true, false]);
// => [['one', 1, true], ['two', 2, false]]

License

MIT

1.0.2

2 years ago

1.0.1

2 years ago

1.0.0

2 years ago