@extremejs/utils - v1.0.0-beta.22

@extremejs/utils

Modern TypeScript utilities inspired by lodash, aiming to be high performance while having minimal size impact.

Test CodeCov Security License NPM Version NPM Monthly Downloads NPM Total Downloads NPM Bundle Size (Minified + GZip) NPM Bundle Size (Minified) Built with TypeScript Tested With Jest Open GitHub Issues Open GitHub Pull Requests Github Stars Github Forks

Table of Content

Installation

NPM

npm i @extremejs/utils

PNPM

pnpm add @extremejs/utils

Yarn

yarn add @extremejs/utils

Usage

import { sumByFn, sumByProperty, sumBy } from "@extremejs/utils";
// or
import { sumByFn, sumByProperty, sumBy } from "@extremejs/utils/sum-by-fn";

const sum1 = sumByFn([{ a: 1 }, { a: 2 }, { a: 3 }], ({ a }) => a); // => 6
// or
const sum2 = sumByProperty([{ a: 1 }, { a: 2 }, { a: 3 }], "a"); // => 6
// or
const sum3 = sumBy([{ a: 1 }, { a: 2 }, { a: 3 }], ({ a }) => a); // => 6
// or
const sum4 = sumBy([{ a: 1 }, { a: 2 }, { a: 3 }], "a"); // => 6

API usage documents are available here.

Notes

  1. Although this package is inspired by lodash, the method names might not be exactly the same or have different usage API, so make sure to read the docs first before using it.
  2. The methods do not type check at runtime (e.g. The Array chunk method assumes the size parameter is always a valid positive integer) so make sure you pass the correct values based on the documents/typescript types.

Versioning

We use SemVer for versioning. For the versions available, see the releases on this repository.

Authors

See also the list of contributors who participated in this project.

License

This project is licensed under the MIT License - see the LICENSE file for details.