UNPKG

is-minified-code

Version:
41 lines (35 loc) 921 B
(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; } });