genish.js
Version:
52 lines (38 loc) • 969 B
JavaScript
let gen = require('./gen.js')
const proto = {
basename:'div',
gen() {
let inputs = gen.getInputs( this ),
out=` var ${this.name} = `,
diff = 0,
numCount = 0,
lastNumber = inputs[ 0 ],
lastNumberIsUgen = isNaN( lastNumber ),
divAtEnd = false
inputs.forEach( (v,i) => {
if( i === 0 ) return
let isNumberUgen = isNaN( v ),
isFinalIdx = i === inputs.length - 1
if( !lastNumberIsUgen && !isNumberUgen ) {
lastNumber = lastNumber / v
out += lastNumber
}else{
out += `${lastNumber} / ${v}`
}
if( !isFinalIdx ) out += ' / '
})
out += '\n'
gen.memo[ this.name ] = this.name
return [ this.name, out ]
}
}
module.exports = (...args) => {
const div = Object.create( proto )
Object.assign( div, {
id: gen.getUID(),
inputs: args,
})
div.name = div.basename + div.id
return div
}