init
This commit is contained in:
2
node_modules/de-indent/.npmignore
generated
vendored
Normal file
2
node_modules/de-indent/.npmignore
generated
vendored
Normal file
@ -0,0 +1,2 @@
|
||||
node_modules
|
||||
.DS_Store
|
45
node_modules/de-indent/index.js
generated
vendored
Normal file
45
node_modules/de-indent/index.js
generated
vendored
Normal file
@ -0,0 +1,45 @@
|
||||
var splitRE = /\r?\n/g
|
||||
var emptyRE = /^\s*$/
|
||||
var needFixRE = /^(\r?\n)*[\t\s]/
|
||||
|
||||
module.exports = function deindent (str) {
|
||||
if (!needFixRE.test(str)) {
|
||||
return str
|
||||
}
|
||||
var lines = str.split(splitRE)
|
||||
var min = Infinity
|
||||
var type, cur, c
|
||||
for (var i = 0; i < lines.length; i++) {
|
||||
var line = lines[i]
|
||||
if (!emptyRE.test(line)) {
|
||||
if (!type) {
|
||||
c = line.charAt(0)
|
||||
if (c === ' ' || c === '\t') {
|
||||
type = c
|
||||
cur = count(line, type)
|
||||
if (cur < min) {
|
||||
min = cur
|
||||
}
|
||||
} else {
|
||||
return str
|
||||
}
|
||||
} else {
|
||||
cur = count(line, type)
|
||||
if (cur < min) {
|
||||
min = cur
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
return lines.map(function (line) {
|
||||
return line.slice(min)
|
||||
}).join('\n')
|
||||
}
|
||||
|
||||
function count (line, type) {
|
||||
var i = 0
|
||||
while (line.charAt(i) === type) {
|
||||
i++
|
||||
}
|
||||
return i
|
||||
}
|
25
node_modules/de-indent/package.json
generated
vendored
Normal file
25
node_modules/de-indent/package.json
generated
vendored
Normal file
@ -0,0 +1,25 @@
|
||||
{
|
||||
"name": "de-indent",
|
||||
"version": "1.0.2",
|
||||
"description": "remove extra indent from a block of code",
|
||||
"main": "index.js",
|
||||
"scripts": {
|
||||
"test": "mocha"
|
||||
},
|
||||
"repository": {
|
||||
"type": "git",
|
||||
"url": "git+https://github.com/yyx990803/de-indent.git"
|
||||
},
|
||||
"keywords": [
|
||||
"deindent"
|
||||
],
|
||||
"author": "Evan You",
|
||||
"license": "MIT",
|
||||
"bugs": {
|
||||
"url": "https://github.com/yyx990803/de-indent/issues"
|
||||
},
|
||||
"homepage": "https://github.com/yyx990803/de-indent#readme",
|
||||
"devDependencies": {
|
||||
"mocha": "^2.3.4"
|
||||
}
|
||||
}
|
30
node_modules/de-indent/test.js
generated
vendored
Normal file
30
node_modules/de-indent/test.js
generated
vendored
Normal file
@ -0,0 +1,30 @@
|
||||
var assert = require('assert')
|
||||
var deindent = require('./index')
|
||||
|
||||
describe('de-indent', function () {
|
||||
|
||||
it('0 indent', function () {
|
||||
var str = '\nabc\n bcd\n cde\nefg'
|
||||
var res = deindent(str)
|
||||
assert.equal(str, res)
|
||||
})
|
||||
|
||||
it('non-0 indent', function () {
|
||||
var str = ' abc\n bcd\n cde\n efg'
|
||||
var res = deindent(str)
|
||||
assert.equal(res, 'abc\n bcd\ncde\n efg')
|
||||
})
|
||||
|
||||
it('tabs', function () {
|
||||
var str = '\tabc\n\t\tbcd\n\tcde\n\t\tefg'
|
||||
var res = deindent(str)
|
||||
assert.equal(res, 'abc\n\tbcd\ncde\n\tefg')
|
||||
})
|
||||
|
||||
it('single line', function () {
|
||||
var str = '\n <h2 class="red">{{msg}}</h2>\n'
|
||||
var res = deindent(str)
|
||||
assert.equal(res, '\n<h2 class="red">{{msg}}</h2>\n')
|
||||
})
|
||||
|
||||
})
|
Reference in New Issue
Block a user