is-minified-code
Version:
Check if a piece of code is minified.
41 lines (35 loc) • 921 B
JavaScript
(function (global, factory) {
if (typeof define === "function" && define.amd) {
define(['module'], factory);
} else if (typeof exports !== "undefined") {
factory(module);
} else {
var mod = {
exports: {}
};
factory(mod);
}
})(this, function (module) {
'use strict';
var COMMENT_PATTERN = /\/\*[\s\S]*?\*\/\r?\n?|\/\/.{0,200}?(?:\r?\n|$)/g;
var TRAILING_LF_PATTERN = /\r?\n$/;
module.exports = function (code) {
code = code.replace(COMMENT_PATTERN, '').replace(TRAILING_LF_PATTERN, '');
var lines = code.split('\n').map(function (l) {
return l.length;
}).filter(function (l) {
return l;
});
return lines.length <= 1 || median(lines) > 200;
};
function median(values) {
values.sort(function (a, b) {
return a - b;
});
var half = Math.floor(values.length / 2);
if (values.length % 2) {
return values[half];
}
return (values[half - 1] + values[half]) / 2;
}
});