modularize util.repeat

https://github.com/sindresorhus/repeating
This commit is contained in:
Sindre Sorhus 2015-02-17 09:24:50 +07:00
parent 407ff1e4a0
commit eb17568c94
6 changed files with 15 additions and 24 deletions

View File

@ -2,6 +2,7 @@
module.exports = Buffer;
var repeating = require("repeating");
var isBoolean = require("lodash/lang/isBoolean");
var includes = require("lodash/collection/includes");
var isNumber = require("lodash/lang/isNumber");
@ -22,7 +23,7 @@ Buffer.prototype.getIndent = function () {
if (this.format.compact || this.format.concise) {
return "";
} else {
return util.repeat(this._indent, this.format.indent.style);
return repeating(this.format.indent.style, this._indent);
}
};
@ -81,7 +82,7 @@ Buffer.prototype.newline = function (i, removeLast) {
if (isNumber(i)) {
if (this.endsWith("{\n")) i--;
if (this.endsWith(util.repeat(i, "\n"))) return;
if (this.endsWith(repeating("\n", i > 0 ? i : 0))) return;
while (i--) {
this._newline(removeLast);

View File

@ -1,7 +1,7 @@
"use strict";
var util = require("../../util");
var t = require("../../types");
var repeating = require("repeating");
var t = require("../../types");
exports.WithStatement = function (node, print) {
this.keyword("with");
@ -190,7 +190,7 @@ exports.VariableDeclaration = function (node, print, parent) {
var sep = ",";
if (hasInits) {
sep += "\n" + util.repeat(node.kind.length + 1);
sep += "\n" + repeating(" ", node.kind.length + 1);
} else {
sep += " ";
}

View File

@ -9,13 +9,13 @@ module.exports.CodeGenerator = CodeGenerator;
var detectIndent = require("detect-indent");
var Whitespace = require("./whitespace");
var repeating = require("repeating");
var SourceMap = require("./source-map");
var Position = require("./position");
var Buffer = require("./buffer");
var extend = require("lodash/object/extend");
var merge = require("lodash/object/merge");
var each = require("lodash/collection/each");
var util = require("../util");
var n = require("./node");
var t = require("../types");
@ -344,7 +344,7 @@ CodeGenerator.prototype._printComments = function (comments) {
}
var indent = Math.max(self.indentSize(), column);
val = val.replace(/\n/g, "\n" + util.repeat(indent));
val = val.replace(/\n/g, "\n" + repeating(" ", indent));
}
if (column === 0) {

View File

@ -1,8 +1,8 @@
// syntax highlighting based on https://github.com/dominictarr/ansi-highlight by the fantastic Dominic Tarr
var tokenize = require("js-tokenizer");
var chalk = require("chalk");
var util = require("../util");
var repeating = require("repeating");
var tokenize = require("js-tokenizer");
var chalk = require("chalk");
var defs = {
string1: "red",
@ -62,15 +62,15 @@ module.exports = function (lines, lineNumber, colNumber) {
var gutter = curr === lineNumber ? "> " : " ";
var sep = curr + util.repeat(width + 1);
var sep = curr + repeating(" ", width + 1);
gutter += sep + "| ";
var str = gutter + line;
if (colNumber && curr === lineNumber) {
str += "\n";
str += util.repeat(gutter.length - 2);
str += "|" + util.repeat(colNumber) + "^";
str += repeating(" ", gutter.length - 2);
str += "|" + repeating(" ", colNumber) + "^";
}
return str;

View File

@ -114,17 +114,6 @@ exports.template = function (name, nodes, keepExpression) {
}
};
exports.repeat = function (width, cha) {
cha = cha || " ";
var result = "";
for (var i = 0; i < width; i++) {
result += cha;
}
return result;
};
exports.parseTemplate = function (loc, code) {
var ast = parse({ filename: loc }, code).program;
return traverse.removeProperties(ast);

View File

@ -57,6 +57,7 @@
"private": "^0.1.6",
"regenerator-babel": "0.8.10-2",
"regexpu": "^1.1.1",
"repeating": "^1.1.2",
"source-map": "^0.1.43",
"source-map-support": "^0.2.9",
"source-map-to-comment": "^1.0.0"