var through = require('through2')
var debug = require('debug')('bionode-template')
module.exports = exports = template = new Template()
function Template() {
this.CONSTANT = 'Hello'
return this
}
Template module to use as a base for quickly creating bionode modules.
doi: ? author: Bruno Vieira email: mail@bmpvieira.com license: MIT
This module can be used in Node.js/browsers, as described further below, or as a command line tool. Examples:
$ npm install -g bionode-template
# bionode-template [command] [arguments]
$ bionode-template greet World
$ echo World | bionode-template greet
$ echo World | bionode-template greet |dat import --json
var through = require('through2')
var debug = require('debug')('bionode-template')
module.exports = exports = template = new Template()
function Template() {
this.CONSTANT = 'Hello'
return this
}
Returns a stream that transforms name strings into greeting messages:
template.greet('World').on('data', console.log)
=> {"greeting":"Hello World"}
The name can also be passed with write:
var greet = template.greet()
greet.on('data', console.log)
greet.write('World')
greet.write('Foo')
=> {"greeting":"Hello World"}
=> {"greeting":"Hello Foo"}
Or piped, for example, from a file:
var split = require('split')
fs.createReadStream('names.txt')
.pipe(split())
.pipe(greet)
.on('data', console.log)
Template.prototype.greet = function(name) {
var stream = through.obj(transform)
if (name) { stream.write(name); stream.end() }
return stream
function transform(obj, enc, next) {
var self = this
var name = obj.toString().replace('\n', '')
var message = [
template.CONSTANT,
name
].join(' ')
debug('greet message', message)
this.push({greeting: message})
next()
}
}