Skip to content

Instantly share code, notes, and snippets.

@markwithers
Created February 20, 2018 10:05
Show Gist options
  • Save markwithers/881d69375836eca356de15c7d302bbe0 to your computer and use it in GitHub Desktop.
Save markwithers/881d69375836eca356de15c7d302bbe0 to your computer and use it in GitHub Desktop.
var Future = require('fluture')
var fs = require('fs')
var readFile = filename => {
return new Future((reject, resolve) =>
fs.readFile(filename, 'utf-8', (err, data) =>
err ? reject(err) : resolve(data)
)
)
}
var writeFile = (filename, content) => {
return new Future((reject, resolve) =>
fs.writeFile(filename, content, 'utf-8', err =>
err ? reject(err) : resolve(content)
)
)
}
readFile('./version.txt')
.map(x => parseInt(x, 10))
.map(x => x + 1)
.chain(newVersion => writeFile('./version.txt', newVersion))
.fork(
err => console.error('could not save - ' + err),
number => console.log('saved new version - ' + number)
)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment