UNPKG

eslint-plugin-no-credentials

Version:
32 lines (23 loc) 778 B
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); Object.defineProperty(exports, "__esModule", { value: true }); exports["default"] = void 0; var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray")); var log2 = function log2(x) { return Math.log(x) / Math.log(2); }; function calculateEntropy(string) { var entropy = 0; var charset = (0, _toConsumableArray2["default"])(new Set(string.split(''))); for (var i = 0; i < charset.length; i++) { var ratio = (string.split(charset[i]).length - 1) / string.length; if (ratio > 0) { entropy -= ratio * log2(ratio); } } return entropy; } var _default = calculateEntropy; exports["default"] = _default;