{"version":3,"sources":["../../../javascripts/tools/csv_to_json.es6"],"names":["$","$input","tmpInput","val","$output","StringToReplace","RegExFnStringifyWorkaround","RegExp","parseCsvIntoJSON","sInput","arrRowSplit","arrTmp","col","headers","i","j","k","len","len1","output","ref","tmp","split","shift","length","RegBoolean","fParsed","parseFloat","isNaN","test","match","toLowerCase","Object","keys","push","click","numRegex","aParsedOut","JSON","stringify","replace","call"],"mappings":"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","file":"csv_to_json.js","sourcesContent":["(function () {\r\n $(function () {\r\n var $input, tmpInput;\r\n $input = $('#input');\r\n tmpInput = \"a\\tb\\tc\\n1\\t2\\t3\\n4\\t5\\t6\\n\";\r\n $input.val(tmpInput);\r\n let $output = $('#output');\r\n const StringToReplace = \"zFNz\";\r\n const RegExFnStringifyWorkaround = new RegExp('\"?' + StringToReplace + '\"?', \"g\");\r\n\r\n function parseCsvIntoJSON(sInput) {\r\n var arrRowSplit,\r\n arrTmp,\r\n col,\r\n headers,\r\n i,\r\n j,\r\n k,\r\n len,\r\n len1,\r\n output,\r\n ref,\r\n tmp,\r\n val;\r\n arrTmp = sInput.split(\"\\n\");\r\n headers = arrTmp.shift();\r\n output = [];\r\n for (j = 0, len = arrTmp.length; j < len; j++) {\r\n val = arrTmp[j];\r\n if (val === \"\") {\r\n continue;\r\n }\r\n tmp = {};\r\n arrRowSplit = val.split(\"\\t\");\r\n ref = headers.split(\"\\t\");\r\n var RegBoolean = /^(true|false)$/i;\r\n for (i = k = 0, len1 = ref.length; k < len1; i = ++k) {\r\n col = ref[i];\r\n if (typeof arrRowSplit[i] === \"undefined\") {\r\n continue;\r\n }\r\n var fParsed = parseFloat(arrRowSplit[i]);\r\n if (!isNaN(fParsed)) {\r\n tmp[col] = fParsed;\r\n } else if (RegBoolean.test(arrRowSplit[i])) {\r\n tmp[col] = arrRowSplit[i].match(RegBoolean)[1].toLowerCase() === \"true\";\r\n } else if (/^fn/.test(arrRowSplit[i])) {\r\n tmp[col] = StringToReplace + arrRowSplit[i] + StringToReplace;\r\n } else if (arrRowSplit[i].length === 0) {\r\n continue;\r\n } else {\r\n tmp[col] = arrRowSplit[i];\r\n }\r\n }\r\n if (Object.keys(tmp).length > 0) {\r\n output.push(tmp);\r\n }\r\n }\r\n return output;\r\n }\r\n\r\n\r\n return $('#convert').click(function () {\r\n var arrRowSplit, arrTmp, col, headers, i, j, k, len, len1, numRegex, output, ref, tmp, val;\r\n tmp = $('#input').val();\r\n // arrTmp = tmp.split('\\n');\r\n // headers = arrTmp.shift();\r\n // output = [];\r\n // for (j = 0, len = arrTmp.length; j < len; j++) {\r\n // val = arrTmp[j];\r\n // // ignore blanks\r\n // if (val === '') {\r\n // continue;\r\n // }\r\n // tmp = {};\r\n // arrRowSplit = val.split('\\t');\r\n // ref = headers.split('\\t');\r\n // for (i = k = 0, len1 = ref.length; k < len1; i = ++k) {\r\n // col = ref[i];\r\n // numRegex = /^(?:-?\\d+|-?\\d{1,3}(?:,\\d{3})+)?(?:\\.\\d+)?$/;\r\n // if (numRegex.test(arrRowSplit[i])) {\r\n // tmp[col] = parseFloat(arrRowSplit[i]);\r\n // } else {\r\n // tmp[col] = arrRowSplit[i];\r\n // }\r\n // }\r\n // output.push(tmp);\r\n // }\r\n // return $('#output').val(JSON.stringify(output));\r\n\r\n let aParsedOut = parseCsvIntoJSON(tmp);\r\n $output.val(JSON.stringify(aParsedOut).replace(RegExFnStringifyWorkaround, \"\"));\r\n });\r\n });\r\n\r\n}).call(this);\r\n"]}