www/indexeddbshim.min.js
function(key) {
                var key32 = Math.abs(key).toString(32);
                // Get the index of the decimal.
                var decimalIndex = key32.indexOf(".");
                // Remove the decimal.
                key32 = (decimalIndex !== -1) ? key32.replace(".", "") : key32;
                // Get the index of the first significant digit.
                var significantDigitIndex = key32.search(/[^0]/);
                // Truncate leading zeros.
                key32 = key32.slice(significantDigitIndex);
                var sign, exponent = zeros(2), mantissa = zeros(11);

                // Finite cases:
                if (isFinite(key)) {
                    // Negative cases:
                    if (key < 0) {
                        // Negative exponent case:
                        if (key > -1) {
                            sign = signValues.indexOf("smallNegative");
                            exponent = padBase32Exponent(significantDigitIndex);
                            mantissa = flipBase32(padBase32Mantissa(key32));
                        }
                        // Non-negative exponent case:
                        else {
                            sign = signValues.indexOf("bigNegative");
                            exponent = flipBase32(padBase32Exponent(
                                (decimalIndex !== -1) ? decimalIndex : key32.length
                            ));
                            mantissa = flipBase32(padBase32Mantissa(key32));
                        }
                    }
                    // Non-negative cases:
                    else {
                        // Negative exponent case:
                        if (key < 1) {
                            sign = signValues.indexOf("smallPositive");
                            exponent = flipBase32(padBase32Exponent(significantDigitIndex));
                            mantissa = padBase32Mantissa(key32);
                        }
                        // Non-negative exponent case:
                        else {
                            sign = signValues.indexOf("bigPositive");
                            exponent = padBase32Exponent(
                                (decimalIndex !== -1) ? decimalIndex : key32.length
                            );
                            mantissa = padBase32Mantissa(key32);
                        }
                    }
                }
                // Infinite cases:
                else {
                    sign = signValues.indexOf(
                        key > 0 ? "positiveInfinity" : "negativeInfinity"
                    );
                }

                return collations.indexOf("number") + "-" + sign + exponent + mantissa;
            }
function(key) {
                var key32 = Math.abs(key).toString(32);
                // Get the index of the decimal.
                var decimalIndex = key32.indexOf(".");
                // Remove the decimal.
                key32 = (decimalIndex !== -1) ? key32.replace(".", "") : key32;
                // Get the index of the first significant digit.
                var significantDigitIndex = key32.search(/[^0]/);
                // Truncate leading zeros.
                key32 = key32.slice(significantDigitIndex);
                var sign, exponent = zeros(2), mantissa = zeros(11);

                // Finite cases:
                if (isFinite(key)) {
                    // Negative cases:
                    if (key < 0) {
                        // Negative exponent case:
                        if (key > -1) {
                            sign = signValues.indexOf("smallNegative");
                            exponent = padBase32Exponent(significantDigitIndex);
                            mantissa = flipBase32(padBase32Mantissa(key32));
                        }
                        // Non-negative exponent case:
                        else {
                            sign = signValues.indexOf("bigNegative");
                            exponent = flipBase32(padBase32Exponent(
                                (decimalIndex !== -1) ? decimalIndex : key32.length
                            ));
                            mantissa = flipBase32(padBase32Mantissa(key32));
                        }
                    }
                    // Non-negative cases:
                    else {
                        // Negative exponent case:
                        if (key < 1) {
                            sign = signValues.indexOf("smallPositive");
                            exponent = flipBase32(padBase32Exponent(significantDigitIndex));
                            mantissa = padBase32Mantissa(key32);
                        }
                        // Non-negative exponent case:
                        else {
                            sign = signValues.indexOf("bigPositive");
                            exponent = padBase32Exponent(
                                (decimalIndex !== -1) ? decimalIndex : key32.length
                            );
                            mantissa = padBase32Mantissa(key32);
                        }
                    }
                }
                // Infinite cases:
                else {
                    sign = signValues.indexOf(
                        key > 0 ? "positiveInfinity" : "negativeInfinity"
                    );
                }

                return collations.indexOf("number") + "-" + sign + exponent + mantissa;
            }
function ( key ) { var key32 = Math . abs ( key ) . toString ( 32 ) ; // Get the index of the decimal.
 var decimalIndex = key32 . indexOf ( "." ) ; // Remove the decimal.
 key32 = ( decimalIndex !== - 1 ) ? key32 . replace ( "." , "" ) : key32 ; // Get the index of the first significant digit.
 var significantDigitIndex = key32 . search ( / [^0] / ) ; // Truncate leading zeros.
 key32 = key32 . slice ( significantDigitIndex ) ; var sign , exponent = zeros ( 2 ) , mantissa = zeros ( 11 ) ; // Finite cases:
 if ( isFinite ( key ) ) { // Negative cases:
 if ( key < 0 ) { // Negative exponent case:
 if ( key > - 1 ) { sign = signValues . indexOf ( "smallNegative" ) ; exponent = padBase32Exponent ( significantDigitIndex ) ; mantissa = flipBase32 ( padBase32Mantissa ( key32 ) ) ; } // Non-negative exponent case:
 else { sign = signValues . indexOf ( "bigNegative" ) ; exponent = flipBase32 ( padBase32Exponent ( ( decimalIndex !== - 1 ) ? decimalIndex : key32 . length ) ) ; mantissa = flipBase32 ( padBase32Mantissa ( key32 ) ) ; } } // Non-negative cases:
 else { // Negative exponent case:
 if ( key < 1 ) { sign = signValues . indexOf ( "smallPositive" ) ; exponent = flipBase32 ( padBase32Exponent ( significantDigitIndex ) ) ; mantissa = padBase32Mantissa ( key32 ) ; } // Non-negative exponent case:
 else { sign = signValues . indexOf ( "bigPositive" ) ; exponent = padBase32Exponent ( ( decimalIndex !== - 1 ) ? decimalIndex : key32 . length ) ; mantissa = padBase32Mantissa ( key32 ) ; } } } // Infinite cases:
 else { sign = signValues . indexOf ( key > 0 ? "positiveInfinity" : "negativeInfinity" ) ; } return collations . indexOf ( "number" ) + "-" + sign + exponent + mantissa ; }
The encode step checks for six numeric cases and generates 14-digit encoded sign-exponent-mantissa strings.
The encode step checks for six numeric cases and generates 14 - digit encoded sign - exponent - mantissa strings .