JSFiddle - React, Tailwind, and code Playground
by James Allardice
JavaScript
/*function rfr(key, patterns) {
this.node = key;
this.branches = [];
if (patterns.length === 0) {
return;
}
if (patterns.length === 1) {
pattern = patterns[0];
if (pattern) {
root = pattern[0];
if (pattern.slice(1).length) {
//this.branches =
}
}
}
}*/
function rjust(s, w, p) {
if (s.length < w) {
return new Array(w + 1).join(p);
}
return s;
}
function fixPair(pair) {
var s = pair[0] + "",
e = pair[1] + "";
return [rjust(s, e.length, "0"), e];
}
function strBp(breakpoint) {
return fixPair([breakpoint + "", (breakpoint + 1) + ""]);
}
function b1(s, e) {
var breakpoint;
s = s + "";
e = e + "";
if (s.length === e.length) {
return [[s, e]];
}
breakpoint = Math.pow(10, s.length) - 1;
return [[s, breakpoint + ""]].concat(b(breakpoint + 1, e));
}
function b2(s, e) {
var breakpoint,
breakdigit,
digit,
bir2,
p,
a = [];
if (s.length === 1) {
return [[s, e]];
}
if (new Array(s.length + 1).join("0") === "0" + s.substring(1)) {
if (new Array(e.length + 1).join("9") === "9" + e.substring(1)) {
return [[s, e]];
}
if (+s[0] < +e[0]) {
breakpoint = parseInt(e[0] + (new Array(e.length).join("0")), 10) - 1;
p = strBp(breakpoint);
return [[s, p[0]]].concat(b2(p[1], e));
}
}
if (new Array(s.length + 1).join("9") === "9" + e.substring(1)) {
if (+s[0] < +e[0]) {
breakdigit = (1 + (+s[0])) + "";
breakpoint = parseInt(breakdigit + (new Array(e.length).join("0")), 10) - 1;
p = strBp(breakpoint);
return b2(s, p[0]).concat([[p[1], e]]);
}
}
if (+s[0] < +e[0]) {
breakdigit = (1 + (+s[0])) + "";
breakpoint = parseInt(breakdigit + (new...