All Projects → Tinkoff → utils.js

Tinkoff / utils.js

Licence: Apache-2.0 license
Fast, small and purely functional utility library

Programming Languages

typescript
32286 projects
javascript
184084 projects - #8 most used programming language
HTML
75241 projects

Projects that are alternatives of or similar to utils.js

Rambda
Faster and smaller alternative to Ramda
Stars: ✭ 1,066 (+707.58%)
Mutual labels:  utils, ramda, lodash
Rambdax
Extended version of Rambda
Stars: ✭ 148 (+12.12%)
Mutual labels:  utils, ramda, lodash
Utils.js
Fast, small and purely functional utility library
Stars: ✭ 102 (-22.73%)
Mutual labels:  utils, ramda, lodash
Nspl
Non-Standard PHP Library - functional primitives toolbox and more
Stars: ✭ 365 (+176.52%)
Mutual labels:  ramda, lodash
Performance Analysis Js
Map/Reduce/Filter/Find Vs For loop Vs For each Vs Lodash vs Ramda
Stars: ✭ 532 (+303.03%)
Mutual labels:  ramda, lodash
Rationale
Ramda inspired library of helper functions for ReasonML
Stars: ✭ 275 (+108.33%)
Mutual labels:  ramda, lodash
eslint-config-adjunct
A reasonable collection of plugins to use alongside your main esLint configuration
Stars: ✭ 39 (-70.45%)
Mutual labels:  ramda, lodash
Dash
Functional programming library for PHP. Inspired by Underscore, Lodash, and Ramda.
Stars: ✭ 84 (-36.36%)
Mutual labels:  ramda, lodash
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 (+316.67%)
Mutual labels:  utils, ramda
Ramda Extension
🤘Utility library for functional JavaScript. With ❤️ to Ramda.
Stars: ✭ 139 (+5.3%)
Mutual labels:  utils, ramda
lancet
A comprehensive, efficient, and reusable util function library of go.
Stars: ✭ 2,228 (+1587.88%)
Mutual labels:  utils, lodash
ramdu
Small utils set built around Ramda
Stars: ✭ 18 (-86.36%)
Mutual labels:  utils, ramda
ramda.py
Python clone of Ramda.js
Stars: ✭ 64 (-51.52%)
Mutual labels:  ramda, curry
R.apex
Functional utility library for Apex
Stars: ✭ 80 (-39.39%)
Mutual labels:  ramda, lodash
fp-ts-ramda
Ramda functions reimplemented in fp-ts
Stars: ✭ 129 (-2.27%)
Mutual labels:  ramda
php-lodash
php-lodash is a PHP utility library, similar to Underscore/Lodash.
Stars: ✭ 35 (-73.48%)
Mutual labels:  lodash
packetevents
PacketEvents is a powerful packet library. Our packet wrappers are efficient and easy to use. We support many protocol versions. (1.8+)
Stars: ✭ 235 (+78.03%)
Mutual labels:  utils
api
_api is an autogenerated CRUD API built on LowDB and ExpressJS.
Stars: ✭ 73 (-44.7%)
Mutual labels:  lodash
csa-misc-utils
Miscellaneous samples, documents, how-tos, utilities, scripts, and other CSA tidbits
Stars: ✭ 79 (-40.15%)
Mutual labels:  utils
ramdasauce
Ramda smothered in saucy helpers.
Stars: ✭ 69 (-47.73%)
Mutual labels:  ramda

Tinkoff Utils Build Coverage Status

Fast, small and purely functional utility library

Install

$ npm install @tinkoff/utils

Features

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].