INNER CODE UNIT · TypeScript
level
josefjadrny/js-chess-engine · src/index.ts:275
const level = Math.max(1, Math.min(5, requestedLevel));
const play = options.play ?? true;
const analysis = options.analysis ?? false;
// Allow 0 to disable TT, or >= 0.25 MB
// Default: auto-scaled by AI level (lower levels use less memory, higher levels use more)
const defaultSize = getRecommendedTTSize(level);
const ttSizeMB = options.ttSizeMB === 0 ? 0 : Math.max(0.25, options.ttSizeMB ?? defaultSize);
// Validate level (requested value)
if (requestedLevel < 1 || requestedLevel > 5) {
throw new Error('AI level must be between 1 and 5');
}
// Validate depth overrides
if (options.depth) {
const d = options.depth;
if (d.base !== undefined && (!Number.isInteger(d.base) || d.base < 1)) {
throw new Error('depth.base must be an integer > 0');