Files
SnowLuma/.pnpm-store/v11/files/3d/5798966b88acbeb41d1cded000b9e8ae15d13ab502cbc3cab1d523e8e40da82b13ade144524484a701b0ecf2d79d54cc2484c8092f19f9f149ffb82c263012
TanTan 2a69b23b47
Dev Build / cleanup (push) Canceled after 0s
Dev Build / typecheck (push) Canceled after 0s
Dev Build / build (linux-arm64, ubuntu-24.04-arm, linux-arm64) (push) Canceled after 0s
Dev Build / build (linux-x64, ubuntu-latest, linux-x64) (push) Canceled after 0s
Dev Build / build (win-x64, windows-latest, win32-x64) (push) Canceled after 0s
Dev Build / dispatch-dev-docker (push) Skipped
docs: 仓库链接指向本镜像仓库
2026-11-13 09:27:07 +08:00

28 lines
771 B
Plaintext

var sequenceMatcher = ({
token,
ascending
}) => {
const firstChr = token.charAt(0);
let baseGuesses;
const startingPoints = ['a', 'A', 'z', 'Z', '0', '1', '9'];
// lower guesses for obvious starting points
if (startingPoints.includes(firstChr)) {
baseGuesses = 4;
} else if (/\d/.exec(firstChr)) {
baseGuesses = 10; // digits
} else {
// could give a higher base for uppercase,
// assigning 26 to both upper and lower sequences is more conservative.
baseGuesses = 26;
}
// need to try a descending sequence in addition to every ascending sequence ->
// 2x guesses
if (!ascending) {
baseGuesses *= 2;
}
return baseGuesses * token.length;
};
export { sequenceMatcher as default };
//# sourceMappingURL=scoring.mjs.map