Files
SnowLuma/.pnpm-store/v11/files/bf/afcffd0b574ef56e4bfcac8bf6d505718eb5443385ed0b662c34a59002ea42a0de5901068786ef0d45f9557178574ef6be701e60a388a78488b285e9942bde
T
TanTan 2a69b23b47
Dev Build / cleanup (push) Waiting to run
Dev Build / typecheck (push) Waiting to run
docs: 仓库链接指向本镜像仓库
2026-11-13 09:27:07 +08:00

33 lines
837 B
Plaintext

'use strict';
var _const = require('../../data/const.cjs');
var regexMatcher = ({
regexName,
regexMatch,
token
}) => {
const charClassBases = {
alphaLower: 26,
alphaUpper: 26,
alpha: 52,
alphanumeric: 62,
digits: 10,
symbols: 33
};
if (regexName in charClassBases) {
return charClassBases[regexName] ** token.length;
}
// TODO add more regex types for example special dates like 09.11
switch (regexName) {
case 'recentYear':
// conservative estimate of year space: num years from REFERENCE_YEAR.
// if year is close to REFERENCE_YEAR, estimate a year space of MIN_YEAR_SPACE.
return Math.max(Math.abs(parseInt(regexMatch[0], 10) - _const.REFERENCE_YEAR), _const.MIN_YEAR_SPACE);
}
return 0;
};
module.exports = regexMatcher;
//# sourceMappingURL=scoring.cjs.map