{"version":3,"sources":["jsdelivr-header.js","/npm/json-chart@1.1.0/src/index.js"],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA,ACNA,aAEA,SAAS,MAAM,EAAO,QACF,IAAZ,IAAuB,EAAU,CAAC,GAItC,IAuBI,EAvBA,EAAO,EAAQ,KAyBnB,OAvBK,IACG,MAAM,QAAQ,GACV,EAAM,KAGE,EAFJ,MAAM,QAAQ,EAAM,IACA,GAAhB,EAAM,OACC,SAEA,SAGJ,OAGO,iBAAR,IACV,EAAM,GAAK,EAAM,KACjB,EAAO,OAQX,GACJ,IAAK,MACD,EAAQ,CACJ,KAAM,CACF,EAAG,IAGX,MACJ,IAAK,KACD,EAAQ,CACJ,KAAM,GAEV,MACJ,IAAK,OAGD,IAFA,IAAI,EAAI,IAAI,MAAM,EAAM,OAAS,GAC7B,EAAI,IAAI,MAAM,EAAM,OAAS,GACxB,EAAI,EAAG,EAAI,EAAM,OAAQ,GAAQ,EACtC,EAAE,EAAI,GAAK,EAAM,GACjB,EAAE,EAAI,GAAK,EAAM,EAAI,GAEzB,EAAQ,CACJ,KAAM,CACF,EAAG,EACH,EAAG,IAGX,MACJ,IAAK,SAGD,IAFI,EAAI,IAAI,MAAM,EAAM,QACpB,EAAI,IAAI,MAAM,EAAM,QACf,EAAI,EAAG,EAAI,EAAM,OAAQ,IAC9B,EAAE,GAAK,EAAM,GAAG,GAChB,EAAE,GAAK,EAAM,GAAG,GAEpB,EAAQ,CACJ,KAAM,CACF,EAAG,EACH,EAAG,IAGX,MACJ,IAAK,SACD,EAAQ,CACJ,KAAM,CACF,EAAG,EAAM,GACT,EAAG,EAAM,KAGjB,MACJ,QACI,EAAQ,EAKX,EAAM,OACP,EAAM,KAAO,IAEZ,MAAM,QAAQ,EAAM,QACrB,EAAM,KAAO,CAAC,EAAM,OAExB,IAAS,EAAI,EAAG,EAAI,EAAM,KAAK,OAAQ,IAAK,CACxC,IAAI,EAAO,EAAM,KAAK,GAEtB,GADK,EAAK,GAAM,MAAM,QAAQ,EAAK,KAAI,EAAK,EAAI,IAC5C,EAAK,EAAE,OAAS,KACX,EAAK,IAAM,MAAM,QAAQ,EAAK,IAAM,EAAK,EAAE,QAAU,EAAK,EAAE,QAAQ,CACrE,IAAI,EAAO,EAAQ,MAAQ,EAEvB,IADO,EAAQ,MAAS,EAAK,EAAE,OAAS,GACzB,IAAS,EAAK,EAAE,OAAS,GAC5C,EAAK,EAAI,IAAI,MAAM,EAAK,EAAE,QAC1B,IAAK,IAAI,EAAI,EAAG,EAAI,EAAK,EAAE,OAAQ,IAC/B,EAAK,EAAE,GAAK,EAAO,EAAO,CAElC,CAER,CAEA,OAAO,CACX,CAEA,QAAQ,MAAQ,QAAQ,SAAW","file":"/npm/json-chart@1.1.0/src/index.js","sourceRoot":"","sourcesContent":["/**\n * Minified by jsDelivr using Terser v5.39.0.\n * Original file: /npm/json-chart@1.1.0/src/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","'use strict';\n\nfunction check(value, options) {\n    if (options === undefined) options = {};\n    // we will try to determine the type of the value\n    // type could be:\n    // 1DY, 1DXY, 2DXYXY, 2DXXYY\n    var type = options.type;\n\n    if (!type) { // auto determination of type\n        if (Array.isArray(value)) { //\n            if (value[0]) {\n                if (Array.isArray(value[0])) {\n                    if (value.length == 2) {\n                        type = '2DXXYY';\n                    } else {\n                        type = '2DXYXY';\n                    }\n                } else { // 1D\n                    type = '1DY'; // by default we say it is just Y points ... dangerous !\n                }\n            }\n        } else if (typeof value==='object') {\n            if (value.x || value.y) {\n                type = 'XY';\n            }\n        }\n    }\n    \n    \n    var chart;\n\n    switch (type) {\n        case '1DY':\n            chart = {\n                data: {\n                    y: value\n                }\n            };\n            break;\n        case 'XY':\n            chart = {\n                data: value\n            };\n            break;\n        case '1DXY':\n            var x = new Array(value.length / 2);\n            var y = new Array(value.length / 2);\n            for (var i = 0; i < value.length; i = i + 2) {\n                x[i / 2] = value[i];\n                y[i / 2] = value[i + 1];\n            }\n            chart = {\n                data: {\n                    x: x,\n                    y: y\n                }\n            };\n            break;\n        case '2DXYXY':\n            var x = new Array(value.length);\n            var y = new Array(value.length);\n            for (var i = 0; i < value.length; i++) {\n                x[i] = value[i][0];\n                y[i] = value[i][1];\n            }\n            chart = {\n                data: {\n                    x: x,\n                    y: y\n                }\n            };\n            break;\n        case '2DXXYY':\n            chart = {\n                data: {\n                    x: value[0],\n                    y: value[1]\n                }\n            };\n            break;\n        default:\n            chart = value;\n    }\n\n    // We will now check the chart\n    // Is there always some x data ????\n    if (!chart.data) {\n        chart.data = [];\n    }\n    if (!Array.isArray(chart.data)) {\n        chart.data = [chart.data]\n    }\n    for (var i = 0; i < chart.data.length; i++) {\n        var data = chart.data[i];\n        if (!data.y || !Array.isArray(data.y)) data.y = [];\n        if (data.y.length > 1) {\n            if (!data.x || !Array.isArray(data.x) || data.x.length != data.y.length) {\n                var minX = options.minX || 0;\n                var maxX = options.maxX || (data.y.length - 1);\n                var step = (maxX - minX) / (data.y.length - 1);\n                data.x = new Array(data.y.length);\n                for (var j = 0; j < data.y.length; j++) {\n                    data.x[j] = minX + step * j;\n                }\n            }\n        }\n    }\n\n    return chart;\n}\n\nexports.check = exports.validate = check;\n"]}