Skip to content

Instantly share code, notes, and snippets.

@pixelkritzel
Created May 17, 2019 12:13
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save pixelkritzel/aaf0234e153aab0d7f24211dec78db26 to your computer and use it in GitHub Desktop.
Save pixelkritzel/aaf0234e153aab0d7f24211dec78db26 to your computer and use it in GitHub Desktop.
function ready(payload) {
const fns = []
let lastReturnValue = payload;
function steady(fn) {
fns.push(fn)
return {
steady, go
}
}
function go() {
fns.forEach(fn =>(lastReturnValue = fn(lastReturnValue)))
return lastReturnValue
}
return {
steady
}
}
console.log(
ready('Hello, I am ready steady go')
.steady(text => Array.from(text))
.steady(arr => arr.reverse())
.steady(arr => arr.map(c => c.toUpperCase()))
.steady(arr => arr.join(' '))
.go()
)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment