// Generated by CoffeeScript 1.9.3 var DefaultLinePrependor, SpecialString, tools, extend = function(child, parent) { for (var key in parent) { if (hasProp.call(parent, key)) child[key] = parent[key]; } function ctor() { this.constructor = child; } ctor.prototype = parent.prototype; child.prototype = new ctor(); child.__super__ = parent.prototype; return child; }, hasProp = {}.hasOwnProperty; tools = require('../../../tools'); SpecialString = require('../../SpecialString'); module.exports = DefaultLinePrependor = (function(superClass) { var self; extend(DefaultLinePrependor, superClass); function DefaultLinePrependor() { return DefaultLinePrependor.__super__.constructor.apply(this, arguments); } self = DefaultLinePrependor; DefaultLinePrependor.pad = function(howMuch) { return tools.repeatString(" ", howMuch); }; DefaultLinePrependor.prototype._render = function(inherited, options) { var addToLeft, addToRight, alignment, bullet, char, charLen, diff, left, output, space, toWrite; if (this._lineNo === 0 && (bullet = this._config.bullet)) { char = bullet.char; charLen = SpecialString(char).length; alignment = bullet.alignment; space = this._config.amount; toWrite = char; addToLeft = ''; addToRight = ''; if (space > charLen) { diff = space - charLen; if (alignment === 'right') { addToLeft = self.pad(diff); } else if (alignment === 'left') { addToRight = self.pad(diff); } else if (alignment === 'center') { left = Math.round(diff / 2); addToLeft = self.pad(left); addToRight = self.pad(diff - left); } else { throw Error("Unkown alignment `" + alignment + "`"); } } output = addToLeft + char + addToRight; } else { output = self.pad(this._config.amount); } return inherited + output; }; return DefaultLinePrependor; })(require('./_LinePrependor'));