@tinkoff/utils

    2.2.1 • Public • Published

    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

    Install

    npm i @tinkoff/utils

    DownloadsWeekly Downloads

    1,080

    Version

    2.2.1

    License

    Apache-2.0

    Unpacked Size

    283 kB

    Total Files

    362

    Last publish

    Collaborators

    • tinkoffbank
    • tom910
    • dmitry-korolev
    • rouland
    • ishivan
    • ytsareva
    • shoom3301
    • waterplea
    • meskill
    • marsibarsi
    • zig-green
    • defenderbass
    • super_oleg
    • dersizes
    • alexkvak