From 26105034da4fcce7ac883c899d781f016559310d Mon Sep 17 00:00:00 2001 From: ruki Date: Thu, 8 Nov 2018 00:38:48 +0800 Subject: switch to vuepress --- node_modules/de-indent/.npmignore | 2 ++ node_modules/de-indent/index.js | 45 +++++++++++++++++++++++++++++++++++++ node_modules/de-indent/package.json | 25 +++++++++++++++++++++ node_modules/de-indent/test.js | 30 +++++++++++++++++++++++++ 4 files changed, 102 insertions(+) create mode 100644 node_modules/de-indent/.npmignore create mode 100644 node_modules/de-indent/index.js create mode 100644 node_modules/de-indent/package.json create mode 100644 node_modules/de-indent/test.js (limited to 'node_modules/de-indent') diff --git a/node_modules/de-indent/.npmignore b/node_modules/de-indent/.npmignore new file mode 100644 index 00000000..fd4f2b06 --- /dev/null +++ b/node_modules/de-indent/.npmignore @@ -0,0 +1,2 @@ +node_modules +.DS_Store diff --git a/node_modules/de-indent/index.js b/node_modules/de-indent/index.js new file mode 100644 index 00000000..87123e8f --- /dev/null +++ b/node_modules/de-indent/index.js @@ -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 +} diff --git a/node_modules/de-indent/package.json b/node_modules/de-indent/package.json new file mode 100644 index 00000000..4c97e522 --- /dev/null +++ b/node_modules/de-indent/package.json @@ -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" + } +} diff --git a/node_modules/de-indent/test.js b/node_modules/de-indent/test.js new file mode 100644 index 00000000..68b6036c --- /dev/null +++ b/node_modules/de-indent/test.js @@ -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

{{msg}}

\n' + var res = deindent(str) + assert.equal(res, '\n

{{msg}}

\n') + }) + +}) -- cgit v1.2.3