{"ast":null,"code":"'use strict';\n\nmodule.exports = balanced;\n\nfunction balanced(a, b, str) {\n if (a instanceof RegExp) a = maybeMatch(a, str);\n if (b instanceof RegExp) b = maybeMatch(b, str);\n var r = range(a, b, str);\n return r && {\n start: r[0],\n end: r[1],\n pre: str.slice(0, r[0]),\n body: str.slice(r[0] + a.length, r[1]),\n post: str.slice(r[1] + b.length)\n };\n}\n\nfunction maybeMatch(reg, str) {\n var m = str.match(reg);\n return m ? m[0] : null;\n}\n\nbalanced.range = range;\n\nfunction range(a, b, str) {\n var begs, beg, left, right, result;\n var ai = str.indexOf(a);\n var bi = str.indexOf(b, ai + 1);\n var i = ai;\n\n if (ai >= 0 && bi > 0) {\n if (a === b) {\n return [ai, bi];\n }\n\n begs = [];\n left = str.length;\n\n while (i >= 0 && !result) {\n if (i == ai) {\n begs.push(i);\n ai = str.indexOf(a, i + 1);\n } else if (begs.length == 1) {\n result = [begs.pop(), bi];\n } else {\n beg = begs.pop();\n\n if (beg < left) {\n left = beg;\n right = bi;\n }\n\n bi = str.indexOf(b, i + 1);\n }\n\n i = ai < bi && ai >= 0 ? ai : bi;\n }\n\n if (begs.length) {\n result = [left, right];\n }\n }\n\n return result;\n}","map":{"version":3,"sources":["/Users/tylerkoenig/Code/personal/react-scss2/node_modules/balanced-match/index.js"],"names":["module","exports","balanced","a","b","str","RegExp","maybeMatch","r","range","start","end","pre","slice","body","length","post","reg","m","match","begs","beg","left","right","result","ai","indexOf","bi","i","push","pop"],"mappings":"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","sourcesContent":["'use strict';\nmodule.exports = balanced;\nfunction balanced(a, b, str) {\n if (a instanceof RegExp) a = maybeMatch(a, str);\n if (b instanceof RegExp) b = maybeMatch(b, str);\n\n var r = range(a, b, str);\n\n return r && {\n start: r[0],\n end: r[1],\n pre: str.slice(0, r[0]),\n body: str.slice(r[0] + a.length, r[1]),\n post: str.slice(r[1] + b.length)\n };\n}\n\nfunction maybeMatch(reg, str) {\n var m = str.match(reg);\n return m ? m[0] : null;\n}\n\nbalanced.range = range;\nfunction range(a, b, str) {\n var begs, beg, left, right, result;\n var ai = str.indexOf(a);\n var bi = str.indexOf(b, ai + 1);\n var i = ai;\n\n if (ai >= 0 && bi > 0) {\n if(a===b) {\n return [ai, bi];\n }\n begs = [];\n left = str.length;\n\n while (i >= 0 && !result) {\n if (i == ai) {\n begs.push(i);\n ai = str.indexOf(a, i + 1);\n } else if (begs.length == 1) {\n result = [ begs.pop(), bi ];\n } else {\n beg = begs.pop();\n if (beg < left) {\n left = beg;\n right = bi;\n }\n\n bi = str.indexOf(b, i + 1);\n }\n\n i = ai < bi && ai >= 0 ? ai : bi;\n }\n\n if (begs.length) {\n result = [ left, right ];\n }\n }\n\n return result;\n}\n"]},"metadata":{},"sourceType":"script"}