Skip to content

hipstersmoothie/compose-tiny

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

52 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

compose-tiny

A very tiny and fast compose function.

CircleCI Codecov npm bundle size code style: prettier

Function composition is an act or mechanism to combine simple functions to build more complicated ones.

compose-tiny aims to provide a simple function for composition at the smallest possible size and the fasted possible speed. It's TypeScript friendly too!

Installation

npm install compose-tiny

Usage

const compose = require('compose-tiny');

const add = x => x + 2;
const sqr = x => x ** 2;

const blastOff = compose(
  x => `🚀 ${x} 🚀`
  sqr,
  add
);

blastOff(2);

Output:

🚀 16 🚀

Multiple Arguments

The first function in the composition can take multiple arguments.

const compose = require('compose-tiny');

const add = x => x + 2;
const sqr = x => x ** 2;

const blastOff = compose(
  sqr,
  add,
  (x, y, z) => (x + y) * z
);

blastOff(1, 2, 4);

Performance

NOTE: bundlephobia measures all package files

NAME OPS/SEC RELATIVE MARGIN OF ERROR SAMPLE SIZE BUNDLE SIZE
compose-tiny 1108,413 ± 0.72% 187 112 B
squad 105,070 ± 0.62% 185 517 B
just-compose 46,964 ± 1.88% 181 334 B
chain-function 22,556 ± 0.50% 187 341 B
compose-function 20,817 ± 0.49% 186 1.2 kB
fj-compose 8,581 ± 0.61% 184 334 B
compose-funcs 356 ± 1.58% 176 594 B

To rerun this benchmark

node benchmark

About

A very tiny and fast compose function.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •