solutions/typescript/2023/16/src/internal/beam.ts
Function energizeMap
has 40 lines of code (exceeds 25 allowed). Consider refactoring. Open
Open
export const energizeMap = (gg: GridGraph, startingBeam: Beam): number => {
let beams: Beam[] = [startingBeam];
const beamPathHistory = new Map<string, Set<string>>();
while (beams.length > 0) {
const spawnedBeams: Beam[] = [];
Avoid deeply nested control flow statements. Open
Open
if (mirroredTo) {
beam.direction = mirroredTo;
beam.position = beam.position.add(mirroredTo);
} else if (splitter) {
const [dirA, dirB] = splitter;