PNG  IHDR;IDATxܻn0K )(pA 7LeG{ §㻢|ذaÆ 6lذaÆ 6lذaÆ 6lom$^yذag5bÆ 6lذaÆ 6lذa{ 6lذaÆ `}HFkm,mӪôô! x|'ܢ˟;E:9&ᶒ}{v]n&6 h_tڠ͵-ҫZ;Z$.Pkž)!o>}leQfJTu іچ\X=8Rن4`Vwl>nG^is"ms$ui?wbs[m6K4O.4%/bC%t Mז -lG6mrz2s%9s@-k9=)kB5\+͂Zsٲ Rn~GRC wIcIn7jJhۛNCS|j08yiHKֶۛkɈ+;SzL/F*\Ԕ#"5m2[S=gnaPeғL lذaÆ 6l^ḵaÆ 6lذaÆ 6lذa; _ذaÆ 6lذaÆ 6lذaÆ RIENDB` 'use strict' var consoleControl = require('console-control-strings') var renderTemplate = require('./render-template.js') var validate = require('aproba') var Plumbing = module.exports = function (theme, template, width) { if (!width) { width = 80 } validate('OAN', [theme, template, width]) this.showing = false this.theme = theme this.width = width this.template = template } Plumbing.prototype = {} Plumbing.prototype.setTheme = function (theme) { validate('O', [theme]) this.theme = theme } Plumbing.prototype.setTemplate = function (template) { validate('A', [template]) this.template = template } Plumbing.prototype.setWidth = function (width) { validate('N', [width]) this.width = width } Plumbing.prototype.hide = function () { return consoleControl.gotoSOL() + consoleControl.eraseLine() } Plumbing.prototype.hideCursor = consoleControl.hideCursor Plumbing.prototype.showCursor = consoleControl.showCursor Plumbing.prototype.show = function (status) { var values = Object.create(this.theme) for (var key in status) { values[key] = status[key] } return renderTemplate(this.width, this.template, values).trim() + consoleControl.color('reset') + consoleControl.eraseLine() + consoleControl.gotoSOL() }