0.2.0 • Published 13 years ago
apparat v0.2.0
Apparat
a simple yet powerful way to organize async code
Install
npm install apparatUsage Example
read domain from file domain.txt.
in parallel
write resolved IPV4 addresses to addresses4.txt and
write resolved IPV6 addresses to addresses6.txt.
remove domain.txt when both files have been written successfully.
fs = require 'fs'
dns = require 'dns'
Apparat = require 'apparat'
{receive, send, onError, debug} = new Apparat
debug console.log
onError (err) -> throw err
fs.readFile 'domain.txt', send 'contents'
receive 'contents', (contents) ->
domain = contents.toString().trim()
# parallel
dns.resolve4 domain, send 'addresses4'
dns.resolve6 domain, send 'addresses6'
receive 'addresses4', (addresses) ->
fs.writeFile 'adresses4.txt', addresses.join('\n'), send 'addresses4 written'
receive 'addresses6', (addresses) ->
fs.writeFile 'adresses6.txt', addresses.join('\n'), send 'addresses6 written'
receive 'addresses4 written', 'addresses6 written', ->
fs.unlink 'domain.txt', send 'deleted'
receive 'deleted', ->
console.log 'OK'