UNPKG

e2ed

Version:

E2E testing framework over Playwright

35 lines (34 loc) 1.13 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.isIdentifier = void 0; const getBorderCount_1 = require("./getBorderCount"); const maxBorderCountOfNonIdentifier = 6; const minIdentifierLength = 6; const minProportionOfLetters = 0.4; const maxIdentifierLengthForMaxBorder = 12; /** * Returns `true`, is `value` is identifier, like `67ca3bc9fa30bbcd46dd6f40`. * @internal */ const isIdentifier = (value) => { if (value.length < minIdentifierLength) { return false; } const { borderCount, letterCount } = (0, getBorderCount_1.getBorderCount)(value); if (letterCount / value.length < minProportionOfLetters) { return true; } if (borderCount > maxBorderCountOfNonIdentifier) { return true; } if (borderCount === maxBorderCountOfNonIdentifier && value.length <= maxIdentifierLengthForMaxBorder) { return true; } if (borderCount === maxBorderCountOfNonIdentifier - 1 && value.length <= maxIdentifierLengthForMaxBorder - 2) { return true; } return false; }; exports.isIdentifier = isIdentifier;