e2ed
Version:
E2E testing framework over Playwright
35 lines (34 loc) • 1.13 kB
JavaScript
;
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;