Source code

Revision control

Copy as Markdown

Other Tools

var typedSwitch0 = function (a) {
switch (a) {
case null:
return 0;
case 1.1:
return 1;
case "2":
return 2;
case 3:
return 3;
}
return 4;
};
// reuse the same function for testing with different inputs & type.
var typedSwitch1 = eval(`(${typedSwitch0})`);
var typedSwitch2 = eval(`(${typedSwitch0})`);
var typedSwitch3 = eval(`(${typedSwitch0})`);
var typedSwitch4 = eval(`(${typedSwitch0})`);
for (var i = 0; i < 100; i++) {
assertEq(typedSwitch0(null), 0);
assertEq(typedSwitch1(1.1), 1);
assertEq(typedSwitch2("2"), 2);
assertEq(typedSwitch3(3), 3);
assertEq(typedSwitch4(undefined), 4);
}