12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758 |
- // 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'));
|