TinkoffCreditSystems / Utils.js
Licence: apache-2.0
Fast, small and purely functional utility library
Stars: ✭ 102
Programming Languages
typescript
32286 projects
Projects that are alternatives of or similar to Utils.js
Rambda
Faster and smaller alternative to Ramda
Stars: ✭ 1,066 (+945.1%)
Mutual labels: utils, lodash, ramda
utils.js
Fast, small and purely functional utility library
Stars: ✭ 132 (+29.41%)
Mutual labels: utils, ramda, lodash
Ramda Extension
🤘Utility library for functional JavaScript. With ❤️ to Ramda.
Stars: ✭ 139 (+36.27%)
Mutual labels: utils, ramda
lancet
A comprehensive, efficient, and reusable util function library of go.
Stars: ✭ 2,228 (+2084.31%)
Mutual labels: utils, lodash
Dash
Functional programming library for PHP. Inspired by Underscore, Lodash, and Ramda.
Stars: ✭ 84 (-17.65%)
Mutual labels: lodash, ramda
Nspl
Non-Standard PHP Library - functional primitives toolbox and more
Stars: ✭ 365 (+257.84%)
Mutual labels: lodash, ramda
Rationale
Ramda inspired library of helper functions for ReasonML
Stars: ✭ 275 (+169.61%)
Mutual labels: lodash, ramda
eslint-config-adjunct
A reasonable collection of plugins to use alongside your main esLint configuration
Stars: ✭ 39 (-61.76%)
Mutual labels: ramda, lodash
Performance Analysis Js
Map/Reduce/Filter/Find Vs For loop Vs For each Vs Lodash vs Ramda
Stars: ✭ 532 (+421.57%)
Mutual labels: lodash, ramda
Ramda Adjunct
Ramda Adjunct is the most popular and most comprehensive set of functional utilities for use with Ramda, providing a variety of useful, well tested functions with excellent documentation.
Stars: ✭ 550 (+439.22%)
Mutual labels: utils, ramda
Placeline Nextjs
HyperTrack Placeline web application sample using NextJS, Ant-Design, Styled-Components, and Heroku
Stars: ✭ 88 (-13.73%)
Mutual labels: lodash
Statusbarutil
A util for setting status bar style on Android App.
Stars: ✭ 8,726 (+8454.9%)
Mutual labels: utils
Torchelie
Torchélie is a set of utility functions, layers, losses, models, trainers and other things for PyTorch.
Stars: ✭ 98 (-3.92%)
Mutual labels: utils
Typed Path
Type safe object field string paths for typescript.
Stars: ✭ 73 (-28.43%)
Mutual labels: lodash
Tinkoff Utils
Fast, small and purely functional utility library
Install
$ npm install @tinkoff/utils
Features
- Fast
- Small
- Fully tested
- Documented
- Purely functional
- Modern codebase
Structure of the library
-
/object
– for objects -
/string
– for strings -
/promise
– for promises -
/array
– for arrays or array-like objects -
/function
– for functions – composition, currying and so on, also a set of simple functions (noop, T, F) -
/is
– set of type checking methods -
/
– root contains utilities which don't satisfy any of the above categories or are universal
Usage
import pathOr from '@tinkoff/utils/object/pathOr';
import compose from '@tinkoff/utils/function/compose';
import toLower from '@tinkoff/utils/string/toLower';
import map from '@tinkoff/utils/array/map'
const toLowerName = compose(
toLower,
pathOr(['name'], '')
);
const result = map(toLowerName)([{name: 'testA'}, {name: 'testb'}])
Benchmarks
$ npm run benchmark
Utility | Lodash | Ramda | Utils |
---|---|---|---|
clone | 120,807 ops/sec | 112,053 ops/sec | 293,572 ops/sec |
array/filter | 2,080,728 ops/sec | 1,849,633 ops/sec | 2,046,113 ops/sec |
is/empty | 1,506,963 ops/sec | 474,177 ops/sec | 3,731,564 ops/sec |
function/flip | 7,528,745 ops/sec | 3,735,143 ops/sec | 3,490,207 ops/sec |
object/path | 12,023,128 ops/sec | 8,894,639 ops/sec | 7,587,076 ops/sec |
string/trim | 4,215,928 ops/sec | 1,034,655 ops/sec | 6,029,794 ops/sec |
Browser support
- Chrome >= 40
- Firefox >= 52
- Edge >= 14
- IE >= 11
- Safari >= 10
- iOS >= 10
- Android >= 4.4
Node support
- 6.4.0 and higher
Bundle size
Library | Bundle size |
---|---|
import _ from 'lodash' | 70.1 kb |
import ... from 'lodash/...' | 21.8 kb |
import R from 'ramda' | 41.3 kb |
import ... from 'ramda/src/...' | 10 kb |
import ... from '@tinkoff/utils/...' | 2.32 kb |
For detailed comparison with specific libraries see COMPARE.md
Note that the project description data, including the texts, logos, images, and/or trademarks,
for each open source project belongs to its rightful owner.
If you wish to add or remove any projects, please contact us at [email protected].