mobily/ts-belt

Add A.flatMap

Closed this issue ยท 1 comments

This crucial function is missing. I guess, accidentally because other namespaces expose it.
For example: https://mobily.github.io/ts-belt/api/option#flatmap
I've double checked it's not exposed under a different name like chain or concatMap.

mobily commented

@ivan-kleshnin added in v4.0.0-rc.5 ๐Ÿš€ 14a5c15

benchmarks:

flatMap (single function call)

โœ”  @mobily/ts-belt  27,383,074.99  ops/sec  ยฑ0.33%  (99 runs)  fastest
โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆ


โœ”  remeda            1,759,670.66  ops/sec  ยฑ1.36%  (97 runs)  -93.57%
โ–ˆโ–ˆโ–ˆโ–ˆ


โœ”  ramda             1,392,700.93  ops/sec  ยฑ0.52%  (91 runs)  -94.91%
โ–ˆโ–ˆโ–ˆ


โœ”  rambda            4,870,498.47  ops/sec  ยฑ0.92%  (98 runs)  -82.21%
โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆ


โœ”  lodash/fp         5,749,906.26  ops/sec  ยฑ0.78%  (87 runs)  -79.00%
โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆ

โ†’ Fastest is @mobily/ts-belt

flatMap (function call inside pipe)

โœ”  @mobily/ts-belt  21,116,789.82  ops/sec  ยฑ2.48%  (94 runs)  fastest
โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆ


โœ”  remeda            2,500,686.11  ops/sec  ยฑ1.44%  (98 runs)  -88.16%
โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆ


โœ”  ramda               872,490.77  ops/sec  ยฑ0.77%  (92 runs)  -95.87%
โ–ˆโ–ˆ


โœ”  rambda            4,248,478.35  ops/sec  ยฑ0.54%  (93 runs)  -79.88%
โ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆโ–ˆ


โœ”  lodash/fp           896,410.20  ops/sec  ยฑ1.63%  (93 runs)  -95.75%
โ–ˆโ–ˆ

โ†’ Fastest is @mobily/ts-belt