aboutsummaryrefslogtreecommitdiff
path: root/node_modules/renderkid/lib/layout/block/linePrependor/Default.js
diff options
context:
space:
mode:
Diffstat (limited to 'node_modules/renderkid/lib/layout/block/linePrependor/Default.js')
-rw-r--r--node_modules/renderkid/lib/layout/block/linePrependor/Default.js58
1 files changed, 58 insertions, 0 deletions
diff --git a/node_modules/renderkid/lib/layout/block/linePrependor/Default.js b/node_modules/renderkid/lib/layout/block/linePrependor/Default.js
new file mode 100644
index 000000000..891ffcb8f
--- /dev/null
+++ b/node_modules/renderkid/lib/layout/block/linePrependor/Default.js
@@ -0,0 +1,58 @@
+// 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'));