{"version":3,"sources":["jsdelivr-header.js","/npm/node_spreadsheet@1.0.0/index.js"],"names":[],"mappings":"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","file":"/npm/node_spreadsheet@1.0.0/index.js","sourceRoot":"","sourcesContent":["/**\n * Minified by jsDelivr using Terser v5.39.0.\n * Original file: /npm/node_spreadsheet@1.0.0/index.js\n *\n * Do NOT use SRI with dynamically generated files! More information: https://www.jsdelivr.com/using-sri-with-dynamic-files\n */\n","var fs = require('fs');\r\nvar exec = require('child_process').exec;\r\n\r\nvar isoDateReviver_re = /^(\\d{4})-(\\d{2})-(\\d{2})T(\\d{2}):(\\d{2}):(\\d{2}(?:\\.\\d*)?)(?:([\\+-])(\\d{2})\\:(\\d{2}))?Z?$/;\r\n\r\nfunction isoDateReviver(key, value) {\r\n\tif (typeof value === 'string') {\r\n\t\tvar a = isoDateReviver_re.exec(value);\r\n\t\tif (a) {\r\n\t\t\tvar utcMilliseconds = Date.UTC(+a[1], +a[2] - 1, +a[3], +a[4], +a[5], +a[6]);\r\n\t\t\treturn new Date(utcMilliseconds);\r\n\t\t}\r\n\t}\r\n\treturn value;\r\n}\r\n\r\nfunction show_error(error, stdout, stderr) {\r\n\tif (stdout) console.log('node_spreadsheet_stdout: ' + stdout);\r\n\tif (stderr) console.log('node_spreadsheet_stderr: ' + stderr);\r\n\tif (error !== null) {\r\n\t\tconsole.log('node-spreadsheet last command: ' + lastcommand);\r\n\t\tconsole.log('node-spreadsheet error: ' + error);\r\n\t}\r\n}\r\n\r\nvar exec_option = {\r\n\ttimeout: 1500\r\n};\r\n\r\nexports.read = function read(inputfile, callback) {\r\n\tvar tempdir = process.platform === 'win32' ? process.env.TEMP + '\\\\' : '/tmp/';\r\n\tvar file = tempdir + Date.now() + '.json';\r\n\r\n\tvar args_str = '';\r\n\tvar args = [];\r\n\r\n\targs.push('-f');\r\n\targs.push(__dirname + '/convert.php');\r\n\targs.push(inputfile);\r\n\targs.push(file);\r\n\r\n\tfor (var i = 0; i < args.length; i++) {\r\n\t\targs_str += \" \" + args[i].replace(/[^\\\\]'/g, function(m) {\r\n\t\t\treturn m.slice(0, 1) + '\\\\\\'';\r\n\t\t}) + \"\";\r\n\t}\r\n\r\n\tvar cmd = process.platform === 'win32' ? 'SET ' : 'export ';\r\n\r\n\tcmd += 'LANG=en_US.UTF-8 && php ' + args_str, exec_option;\r\n\r\n\tlastcommand = cmd;\r\n\tvar child = exec(cmd, show_error);\r\n\r\n\t//var child = exec('export LANG=en_US.UTF-8;env ',  show_error );\r\n\tchild.on('exit', function(code, signal) {\r\n\t\tif (code == 0) {\r\n\t\t\tfs.readFile(file, 'utf-8', function(err, data) {\r\n\t\t\t\tif (err) {\r\n\t\t\t\t\tcallback(err);\r\n\t\t\t\t}\r\n\t\t\t\telse {\r\n\t\t\t\t\tfs.unlink(file, function(err2) {\r\n\t\t\t\t\t\tif (err2) {\r\n\t\t\t\t\t\t\tcallback(err2);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\telse {\r\n\t\t\t\t\t\t\tcallback(null, JSON.parse(data, isoDateReviver));\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t});\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t} \r\n\t\telse {\r\n\t\t\tcallback(new Error(\"inputfile not found\"));\r\n\t\t}\r\n\t});\r\n};\r\n\r\nexports.readAndConvertToObject = function readAndConvertToObject(inputfile, callback) {\r\n\tvar processData = function(data) {\r\n\t\tvar headerRow = data.shift();\r\n\t\tvar formattedData = [];\r\n\t\t\r\n\t\t// replace blank header fields with actual column names to create valid objects later.\r\n\t\theaderRow.forEach(function(val, index) {\r\n\t\t\tif (!val && val !== 0) {\r\n\t\t\t\theaderRow[index] = 'untitled_' + index;\r\n\t\t\t};\r\n\t\t\theaderRow[index] = APP.formatters.trim(headerRow[index]).replace(/ /g, '_').toLowerCase();\r\n\t\t});\r\n\t\t\r\n\t\tdata.forEach(function(row) {\r\n\t\t\tvar blankRow = true;\r\n\t\t\tvar formattedRow = {};\r\n\t\t\trow.forEach(function(cellValue, index) {\r\n\t\t\t\tif (cellValue) {\r\n\t\t\t\t\tblankRow = false;\r\n\t\t\t\t};\r\n\t\t\t\tformattedRow[headerRow[index]] = (cellValue && typeof cellValue == 'string') ? APP.formatters.trim(cellValue) : cellValue;\r\n\t\t\t});\r\n\t\t\t\r\n\t\t\tvar pushVal = blankRow ? '' : formattedRow;\r\n\t\t\tformattedData.push(pushVal);\r\n\t\t});\r\n\t\t\r\n\t\tcallback(data);\r\n\t};\r\n\r\n\texports.read(inputfile, processData);\r\n};\r\n\r\nexports.write = function write(inputData, outputfile, callback) {\r\n\tvar str = '';\r\n\tvar tempdir = process.platform === 'win32' ? process.env.TEMP + '\\\\' : '/tmp/';\r\n\tvar file = tempdir + Date.now() + '.csv';\r\n\t\r\n\tif(inputData instanceof Array) {\r\n\t\tif(inputData[0] instanceof Array) {\r\n\t\t\tinputData.forEach(function(val) {\r\n\t\t\t\tstr += val.join(',') + '\\r\\n';\r\n\t\t\t});\r\n\t\t\t\r\n\t\t\tinputData = str;\r\n\t\t}\r\n\t\telse {\r\n\t\t\tinputData.join('\\r\\n');\r\n\t\t}\r\n\t\r\n\t\tfs.writeFile(file, str, function(err) {\r\n\t\t\tif(err) {\r\n\t\t\t\tcallback(err);\r\n\t\t\t}\r\n\t\t\telse {\r\n\t\t\t\texports.convert(file, outputfile, function(err, fn) {\r\n\t\t\t\t\tfs.unlink(file);\r\n\t\t\t\t\tcallback(err, fn);\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t});\r\n\t}\r\n\telse {\r\n\t\tcallback(new Error('Invalid inputData'));\r\n\t}\r\n};\r\n\r\nexports.convert = function convert(inputfile, outputfile, callback) {\r\n\tvar args_str = '';\r\n\tvar args = [];\r\n\r\n\targs.push('-f'); // add text\r\n\targs.push(__dirname + '/convert.php'); // add text  \r\n\targs.push(inputfile); // add text\r\n\targs.push(outputfile); // add text\r\n\r\n\tfor (var i = 0; i < args.length; i++) {\r\n\t\targs_str += \" \" + args[i].replace(/[^\\\\]'/g, function(m) {\r\n\t\t\treturn m.slice(0, 1) + '\\\\\\'';\r\n\t\t}) + \"\";\r\n\t}\r\n\r\n\tvar cmd = process.platform === 'win32' ? 'SET ' : 'export ';\r\n\r\n\tcmd += 'LANG=en_US.UTF-8 && php ' + args_str, exec_option;\r\n\r\n\t//var cmd='export \r\n\tlastcommand = cmd;\r\n\tvar child = exec(cmd, show_error);\r\n\t\r\n\t//var child = exec('export LANG=en_US.UTF-8;env ',  show_error );\r\n\tchild.on('exit', function(code, signal) {\r\n\t\tif (callback) {\r\n\t\t\tif (code == 0) {\r\n\t\t\t\tcallback(null, outputfile);\r\n\t\t\t} \r\n\t\t\telse {\r\n\t\t\t\tcallback(code, undefined);\r\n\t\t\t}\r\n\t\t}\r\n\t});\r\n};"]}