Stop shipping code built for browsers from 2015.
You may prefer this library because:
📖 Available at atomic-fns
This library is available as an npm package.
To install the package you need to have npm (or yarn) installed and then run:
npm install atomic-fns
Just import any function or class you need.
import { sorted, times, uniqueId } from 'atomic-fns'
times(5, (i) => i)
// -> [0, 1, 2, 3, 4]
sorted([4, 3, 2, 1])
// -> [1, 2, 3, 4]
uniqueId('user_')
// -> 'user_101225005'
...
See the full list of modules.
This library features a data model similar to Python but not always. Only the missing parts have been implemented, while respecting the JS standards.
For example, in Python collections, size()
is a method, while in JS it's just a property. So this library uses size
property instead of method. Similarly, the len
function implementation checks for both length
and size
since many JS objects have a length
property.
This library adds support for operators using object methods such as:
obj.eq(other)
adds custom obj == other
.obj.lt(other)
adds custom obj < other
.obj.lte(other)
adds custom obj <= other
.obj.gt(other)
adds custom obj > other
.obj.gte(other)
adds custom obj >= other
.obj.compare(other)
overloads sorting operations.When working with objects, functions in this library use these custom operators for equality and sorting. You can also apply operators to values like eq(x, y)
, lte(x, y)
, compare(x, y)
, etc.
Decimal
provides support for correct rounded floating point arithmetic, with arbitrary precision.
This fixes precision issues with float arithmetic, for example:
0.1 + 0.1 + 0.1
// 0.30000000000000004
decimal('0.1').add('0.1').add('0.1').toNumber()
// 0.3
Some common base interfaces and typing patterns you may have seen like Optional
, Result
, Comparable
, Iterator
, and others.
If you want to contribute to the project and make it better, your help is very welcome. Contributing is also a great way to learn more about social coding on Github, new technologies and and their ecosystems and how to make constructive, helpful bug reports, feature requests and the noblest of all contributions: a good, clean pull request. You will be listed as a Champion on the official site as well.
Generated using TypeDoc