From 81ddf9b700bc48a1f8e472209f080f9c1d9a9b09 Mon Sep 17 00:00:00 2001 From: Piotr Russ Date: Wed, 18 Nov 2020 23:26:45 +0100 Subject: rm node_modules --- node_modules/detect-indent/index.js | 120 ------------------------------------ 1 file changed, 120 deletions(-) delete mode 100644 node_modules/detect-indent/index.js (limited to 'node_modules/detect-indent/index.js') diff --git a/node_modules/detect-indent/index.js b/node_modules/detect-indent/index.js deleted file mode 100644 index c2da337..0000000 --- a/node_modules/detect-indent/index.js +++ /dev/null @@ -1,120 +0,0 @@ -/* eslint-disable guard-for-in */ -'use strict'; -var repeating = require('repeating'); - -// detect either spaces or tabs but not both to properly handle tabs -// for indentation and spaces for alignment -var INDENT_RE = /^(?:( )+|\t+)/; - -function getMostUsed(indents) { - var result = 0; - var maxUsed = 0; - var maxWeight = 0; - - for (var n in indents) { - var indent = indents[n]; - var u = indent[0]; - var w = indent[1]; - - if (u > maxUsed || u === maxUsed && w > maxWeight) { - maxUsed = u; - maxWeight = w; - result = Number(n); - } - } - - return result; -} - -module.exports = function (str) { - if (typeof str !== 'string') { - throw new TypeError('Expected a string'); - } - - // used to see if tabs or spaces are the most used - var tabs = 0; - var spaces = 0; - - // remember the size of previous line's indentation - var prev = 0; - - // remember how many indents/unindents as occurred for a given size - // and how much lines follow a given indentation - // - // indents = { - // 3: [1, 0], - // 4: [1, 5], - // 5: [1, 0], - // 12: [1, 0], - // } - var indents = {}; - - // pointer to the array of last used indent - var current; - - // whether the last action was an indent (opposed to an unindent) - var isIndent; - - str.split(/\n/g).forEach(function (line) { - if (!line) { - // ignore empty lines - return; - } - - var indent; - var matches = line.match(INDENT_RE); - - if (!matches) { - indent = 0; - } else { - indent = matches[0].length; - - if (matches[1]) { - spaces++; - } else { - tabs++; - } - } - - var diff = indent - prev; - prev = indent; - - if (diff) { - // an indent or unindent has been detected - - isIndent = diff > 0; - - current = indents[isIndent ? diff : -diff]; - - if (current) { - current[0]++; - } else { - current = indents[diff] = [1, 0]; - } - } else if (current) { - // if the last action was an indent, increment the weight - current[1] += Number(isIndent); - } - }); - - var amount = getMostUsed(indents); - - var type; - var actual; - if (!amount) { - type = null; - actual = ''; - } else if (spaces >= tabs) { - type = 'space'; - actual = repeating(' ', amount); - } else { - type = 'tab'; - actual = repeating('\t', amount); - } - - return { - amount: amount, - type: type, - indent: actual - }; -}; -- cgit v1.2.3