{"version":3,"sources":["jsdelivr-header.js","/npm/json-csv-transformer@3.0.2/lib/index.js"],"names":[],"mappings":"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","file":"/npm/json-csv-transformer@3.0.2/lib/index.js","sourceRoot":"","sourcesContent":["/**\n * Minified by jsDelivr using Terser v5.37.0.\n * Original file: /npm/json-csv-transformer@3.0.2/lib/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\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports[\"default\"] = void 0;\n\nvar _classCallCheck2 = _interopRequireDefault(require(\"@babel/runtime/helpers/classCallCheck\"));\n\nvar _defineProperty2 = _interopRequireDefault(require(\"@babel/runtime/helpers/defineProperty\"));\n\nvar _jschardet = _interopRequireDefault(require(\"jschardet\"));\n\nvar _iconvLite = _interopRequireDefault(require(\"iconv-lite\"));\n\n// skip iconv warning\n_iconvLite[\"default\"].skipDecodeWarning = true;\n/**\n * @desc CSV\n * @export\n * @class CSV\n */\n\nvar CSV =\n/**\n * @desc schema\n * @type {Array<Schema>}\n * @memberof CSV\n */\n\n/**\n * @desc data buffer\n * @type {?Buffer}\n * @memberof CSV\n */\n\n/**\n * @desc encoding\n * @type {string}\n * @memberof CSV\n */\n\n/**\n * @desc csv data string\n * @type {?string}\n * @memberof CSV\n */\n\n/**\n * @desc generate csv with header\n * @type {boolean}\n * @memberof CSV\n */\n\n/**\n * @desc Creates an instance of CSV.\n * @param {CSVOption} option option\n * @param {Array<Schema>} option.schema schema\n * @param {string} [option.encoding=utf8] encoding\n * @param {boolean} [option.widthHeader=true] with header\n * @memberof CSV\n */\nfunction CSV(_option) {\n  var _this = this;\n\n  (0, _classCallCheck2[\"default\"])(this, CSV);\n  (0, _defineProperty2[\"default\"])(this, \"schema\", void 0);\n  (0, _defineProperty2[\"default\"])(this, \"buffer\", void 0);\n  (0, _defineProperty2[\"default\"])(this, \"encoding\", void 0);\n  (0, _defineProperty2[\"default\"])(this, \"data\", void 0);\n  (0, _defineProperty2[\"default\"])(this, \"withHeader\", void 0);\n  (0, _defineProperty2[\"default\"])(this, \"checkSchema\", function (schema) {\n    var validSchema = schema.every(function (item) {\n      return item.key;\n    });\n\n    if (!validSchema) {\n      throw new TypeError('Invalid schema presented');\n    }\n  });\n  (0, _defineProperty2[\"default\"])(this, \"checkEncoding\", function (encoding) {\n    var validEncoding = _iconvLite[\"default\"].encodingExists(encoding);\n\n    if (!validEncoding) {\n      throw new TypeError(\"Encoding Error: \".concat(encoding, \" is not supported\"));\n    }\n  });\n  (0, _defineProperty2[\"default\"])(this, \"findSchemaByKey\", function (key) {\n    return _this.schema.find(function (item) {\n      return item.key === key;\n    }) || {\n      key: key,\n      type: 'string',\n      label: key\n    };\n  });\n  (0, _defineProperty2[\"default\"])(this, \"format\", function (value, key, item) {\n    var schema = _this.findSchemaByKey(key);\n\n    var _schema$formatter = schema.formatter,\n        formatter = _schema$formatter === void 0 ? {} : _schema$formatter,\n        type = schema.type;\n    var csv = formatter.csv;\n\n    if (csv && typeof csv === 'function') {\n      return csv(value, key, item);\n    } else {\n      switch (type) {\n        case 'number':\n          return parseFloat(value);\n\n        case 'date':\n          return new Date(value).toDateString();\n\n        case 'boolean':\n          return (!!value).toString();\n\n        case 'string':\n        default:\n          return value;\n      }\n    }\n  });\n  (0, _defineProperty2[\"default\"])(this, \"encode\", function (str) {\n    _this.checkEncoding(_this.encoding);\n\n    return _iconvLite[\"default\"].encode(str, _this.encoding);\n  });\n  (0, _defineProperty2[\"default\"])(this, \"decode\", function (buf) {\n    _this.checkEncoding(_this.encoding);\n\n    return _iconvLite[\"default\"].decode(buf, _this.encoding);\n  });\n  (0, _defineProperty2[\"default\"])(this, \"convert\", function (items) {\n    var option = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n    _this.encoding = option.encoding || 'utf8';\n    var columns = _this.schema;\n    var csvArray = [];\n    var header = [];\n    var keys = [];\n    columns.forEach(function (column) {\n      keys.push(column.key);\n      header.push('\"' + (column.label || column.key) + '\"');\n    });\n\n    if (_this.withHeader) {\n      csvArray.push(header);\n    }\n\n    items.forEach(function (item) {\n      csvArray.push(keys.map(function (key) {\n        return '\"' + _this.format(item[key], key, item) + '\"';\n      }).join(','));\n    });\n    var str = csvArray.join('\\n');\n    _this.buffer = _this.encode(str);\n    _this.data = _this.decode(_this.buffer);\n    return _this.data;\n  });\n  (0, _defineProperty2[\"default\"])(this, \"parse\", function (buf) {\n    var option = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n    if (Array.isArray(buf)) {\n      _this.data = _this.convert(buf, option);\n    } else {\n      try {\n        var res = _jschardet[\"default\"].detect(buf);\n\n        _this.encoding = res.encoding;\n        _this.data = _this.decode(buf);\n      } catch (error) {\n        throw new Error('Parse failed, please check input data');\n      }\n    }\n\n    return _this.data;\n  });\n  (0, _defineProperty2[\"default\"])(this, \"getDataURL\", function () {\n    return _this.buffer ? \"data:text/csv;base64,\".concat(_this.buffer.toString('base64')) : '';\n  });\n  (0, _defineProperty2[\"default\"])(this, \"toJSON\", function () {\n    var columns = _this.schema;\n\n    if (!_this.data) {\n      return [];\n    } else {\n      var data = _this.data.replace(/\\\\r\\\\n|\\\\r/g, '\\n').replace(/;|\\\\t|\\|\\^/g, ',');\n\n      var temp = data.split('\\n');\n\n      if (_this.withHeader) {\n        temp.shift();\n      } // remove empty line\n\n\n      temp = temp.filter(function (temp) {\n        return temp;\n      });\n      temp = temp.map(function (str) {\n        var item = {};\n        var arr = str.split(',');\n        var val;\n        arr.map(function (s, index) {\n          s = s.substring(1, s.length - 1);\n          var schema = columns[index];\n          var _schema$formatter2 = schema.formatter,\n              formatter = _schema$formatter2 === void 0 ? {} : _schema$formatter2,\n              type = schema.type,\n              key = schema.key;\n          var json = formatter.json;\n\n          if (json && typeof json === 'function') {\n            item[key] = json(s, key, arr);\n          } else {\n            switch (type) {\n              case 'number':\n                item[key] = parseFloat(s);\n                break;\n\n              case 'boolean':\n                if (s === 'true') {\n                  val = true;\n                } else if (s === 'false') {\n                  val = false;\n                } else {\n                  val = !!s;\n                }\n\n                item[key] = val;\n                break;\n\n              case 'date':\n                item[key] = new Date(s);\n                break;\n\n              case 'string':\n              default:\n                item[key] = s;\n            }\n          }\n        });\n        return item;\n      });\n      return temp;\n    }\n  });\n  (0, _defineProperty2[\"default\"])(this, \"toString\", function () {\n    return _this.data;\n  });\n\n  var _schema = _option.schema,\n      _option$encoding = _option.encoding,\n      _encoding = _option$encoding === void 0 ? 'utf8' : _option$encoding,\n      _option$withHeader = _option.withHeader,\n      withHeader = _option$withHeader === void 0 ? true : _option$withHeader;\n\n  this.checkSchema(_schema);\n  this.checkEncoding(_encoding);\n  this.schema = _schema;\n  this.encoding = _encoding;\n  this.data = '';\n  this.buffer = null;\n  this.withHeader = !!withHeader;\n}\n/**\n * @desc check schema\n * @throws {TypeError} Invalid schema presented\n * @memberof CSV\n */\n;\n\nexports[\"default\"] = CSV;"]}