JSFiddle - React, Tailwind, and code Playground

JavaScript

function toBoolean(str) {
    // Previously used equalsIgnoreCase, which was fast for interned 'true'.
    // Non interned 'true' matched 15 times slower.
    //
    // Optimisation provides same performance as before for interned 'true'.
    // Similar performance for null, 'false', and other strings not length 2/3/4.
    // 'true'/'TRUE' match 4 times slower, 'tRUE'/'True' 7 times slower.
    if (str == "true") {
        return true;
    }
    if (!str) {
        return false;
    }
    switch (str.length) {
        case 1: {
            var ch0 = str.charAt(0);
            if (ch0 == 'y' || ch0 == 'Y' ||
                ch0 == 't' || ch0 == 'T' ||
                ch0 == '1') {
                return true;
            }
            if (ch0 == 'n' || ch0 == 'N' ||
                ch0 == 'f' || ch0 == 'F' ||
                ch0 == '0') {
                return false;
            }
            break;
        }
        case 2: {
            var ch0 = str.charAt(0);
            var ch1 = str.charAt(1);
            if ((ch0 == 'o' || ch0 == 'O') &&
                (ch1 == 'n' || ch1 == 'N') ) {
                return true;
            }
            if ((ch0 == 'n' || ch0 == 'N') &&
                (ch1 == 'o' || ch1 == 'O') ) {
                return false;
            }
            break;
        }
        case 3: {
            var ch0 = str.charAt(0);
            var ch1 = str.charAt(1);
            var ch2 = str.charAt(2);
            if ((ch0 == 'y' || ch0 == 'Y') &&
                (ch1 == 'e' || ch1 == 'E') &&
                (ch2 == 's' || ch2 == 'S') ) {
                return true;
            }
            if ((ch0 == 'o' || ch0 == 'O') &&
                (ch1 == 'f' || ch1 == 'F') &&
                (ch2 == 'f' || ch2 == 'F') ) {
                return false;
            }
            break;
        }
        case 4: {
            var ch0 = str.charAt(0);
            var ch1 = str.charAt(1);
            var ch2 = str.charAt(2);
            var ch3 =...