{"version":3,"file":"catrx-ui-utils-csv.mjs","sources":["../../../../projects/catrx/ui/utils/csv/cat-csv.service.ts","../../../../projects/catrx/ui/utils/csv/catrx-ui-utils-csv.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\nimport { Papa } from 'ngx-papaparse';\nimport { UnparseData } from 'ngx-papaparse/lib/interfaces/unparse-data';\nimport { CatFileInterface, CatFileService } from '@catrx/ui/utils';\n\n@Injectable({ providedIn: 'root' })\nexport class CatCsvService {\n  constructor(private papa: Papa, private fileService: CatFileService) {}\n\n  public convertCsvToJson(file: CatFileInterface) {\n    const csvContent = this.fileService.getContentOnFile(file);\n    return this.papa.parse(csvContent, {\n      header: true,\n      delimiter: ';',\n      newline: '\\r\\n',\n      skipEmptyLines: true,\n    }).data;\n  }\n\n  public convertJsonToCsv(json: UnparseData, filename = 'export') {\n    this.downloadCsv(\n      new Blob(\n        [\n          this.papa.unparse(json, {\n            header: true,\n            delimiter: ';',\n            newline: '\\r\\n',\n          }),\n        ],\n        {\n          type: 'text/csv;charset=utf8;',\n        }\n      ),\n      filename\n    );\n  }\n\n  private downloadCsv(blob: Blob, filename = 'export') {\n    const link = document.createElement('a');\n    const url = URL.createObjectURL(blob);\n    link.setAttribute('href', url);\n    link.setAttribute('download', filename + '.csv');\n    link.style.visibility = 'hidden';\n    document.body.appendChild(link);\n    link.click();\n    document.body.removeChild(link);\n  }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;;;MAMa,aAAa,CAAA;IACxB,WAAoB,CAAA,IAAU,EAAU,WAA2B,EAAA;QAA/C,IAAI,CAAA,IAAA,GAAJ,IAAI,CAAM;QAAU,IAAW,CAAA,WAAA,GAAX,WAAW,CAAgB;KAAI;AAEhE,IAAA,gBAAgB,CAAC,IAAsB,EAAA;QAC5C,MAAM,UAAU,GAAG,IAAI,CAAC,WAAW,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC;AAC3D,QAAA,OAAO,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE;AACjC,YAAA,MAAM,EAAE,IAAI;AACZ,YAAA,SAAS,EAAE,GAAG;AACd,YAAA,OAAO,EAAE,MAAM;AACf,YAAA,cAAc,EAAE,IAAI;SACrB,CAAC,CAAC,IAAI,CAAC;KACT;AAEM,IAAA,gBAAgB,CAAC,IAAiB,EAAE,QAAQ,GAAG,QAAQ,EAAA;AAC5D,QAAA,IAAI,CAAC,WAAW,CACd,IAAI,IAAI,CACN;AACE,YAAA,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE;AACtB,gBAAA,MAAM,EAAE,IAAI;AACZ,gBAAA,SAAS,EAAE,GAAG;AACd,gBAAA,OAAO,EAAE,MAAM;aAChB,CAAC;SACH,EACD;AACE,YAAA,IAAI,EAAE,wBAAwB;SAC/B,CACF,EACD,QAAQ,CACT,CAAC;KACH;AAEO,IAAA,WAAW,CAAC,IAAU,EAAE,QAAQ,GAAG,QAAQ,EAAA;QACjD,MAAM,IAAI,GAAG,QAAQ,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;QACzC,MAAM,GAAG,GAAG,GAAG,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;AACtC,QAAA,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QAC/B,IAAI,CAAC,YAAY,CAAC,UAAU,EAAE,QAAQ,GAAG,MAAM,CAAC,CAAC;AACjD,QAAA,IAAI,CAAC,KAAK,CAAC,UAAU,GAAG,QAAQ,CAAC;AACjC,QAAA,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QAChC,IAAI,CAAC,KAAK,EAAE,CAAC;AACb,QAAA,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;KACjC;8GAxCU,aAAa,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,IAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,cAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA,EAAA;AAAb,IAAA,SAAA,IAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,aAAa,cADA,MAAM,EAAA,CAAA,CAAA,EAAA;;2FACnB,aAAa,EAAA,UAAA,EAAA,CAAA;kBADzB,UAAU;mBAAC,EAAE,UAAU,EAAE,MAAM,EAAE,CAAA;;;ACLlC;;AAEG;;;;"}