function testForCorruption(line) {
let stack = []
for (let [idx, char] of line.split("").entries()) {
switch(char) {
case "(":
case "{":
case "[":
case "<":
stack.push(char)
break
case ")":
if (stack[stack.length - 1] !== "(")
return [stack, ")", idx]
else
stack.pop()
break
case "]":
if (stack[stack.length - 1] !== "[")
return [stack, "]", idx]
else
stack.pop()
break
case "}":
if (stack[stack.length - 1] !== "{")
return [stack, "}", idx]
else
stack.pop()
break
case ">":
if (stack[stack.length - 1] !== "<")
return [stack, ">", idx]
else
stack.pop()
break
default:
return "error"
}
}
return [stack, null, null]
}