{"version":3,"file":"index.cjs","names":["traktHistoryToCsv","userName","fileName","watchListFileName","tFileName","tWatchListFileName","movieList","getData","outFile","endsWith","stream","createWriteStream","builder","createReadStream","pipe","watchList","wlOutFile","wlStream","error","console","message"],"sources":["../../src/main/index.ts"],"sourcesContent":["import { createWriteStream } from 'node:fs';\nimport getData from './fetcher.js';\nimport builder from './exporter.js';\n\nexport type PropsType = {\n  userName: string;\n  fileName?: string;\n  watchListFileName?: string;\n};\n\n/**\n * Export a trakt user's history to csv to be uploaded to letterboxd\n * @param {Object}  props           Properties passed from argv\n * @param {string}  props.userName  The user whose data you want to export\n * @param {string}  props.fileName  The name of the file to output the history to\n * @param {string}  props.fileName  The name of the file to output the watchlist to\n * @return {Promise<void>}          We dont return anything\n */\n\nexport const traktHistoryToCsv = async ({\n  userName,\n  fileName,\n  watchListFileName,\n}: PropsType) => {\n  try {\n    let tFileName = fileName;\n    let tWatchListFileName = watchListFileName;\n\n    if (userName && !fileName && !watchListFileName) {\n      tFileName = 'history.csv';\n      tWatchListFileName = 'watchlist.csv';\n    }\n\n    if (tFileName) {\n      const movieList = await getData(userName);\n      const outFile = tFileName.endsWith('.csv')\n        ? tFileName\n        : `${tFileName}.csv`;\n      const stream = createWriteStream(outFile);\n      builder.createReadStream(movieList).pipe(stream);\n    }\n\n    if (tWatchListFileName) {\n      const watchList = await getData(userName, true);\n      const wlOutFile = tWatchListFileName.endsWith('.csv')\n        ? tWatchListFileName\n        : `${tWatchListFileName}.csv`;\n      const wlStream = createWriteStream(wlOutFile);\n      builder.createReadStream(watchList).pipe(wlStream);\n    }\n  } catch (error) {\n    console.error('Bang!', error.message, error);\n  }\n};\n"],"mappings":";;;;;;AAAA;AACA;AACA;AAAoC;AAQpC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEO,MAAMA,iBAAiB,GAAG,OAAO;EACtCC,QAAQ;EACRC,QAAQ;EACRC;AACS,CAAC,KAAK;EACf,IAAI;IACF,IAAIC,SAAS,GAAGF,QAAQ;IACxB,IAAIG,kBAAkB,GAAGF,iBAAiB;IAE1C,IAAIF,QAAQ,IAAI,CAACC,QAAQ,IAAI,CAACC,iBAAiB,EAAE;MAC/CC,SAAS,GAAG,aAAa;MACzBC,kBAAkB,GAAG,eAAe;IACtC;IAEA,IAAID,SAAS,EAAE;MACb,MAAME,SAAS,GAAG,MAAM,IAAAC,gBAAO,EAACN,QAAQ,CAAC;MACzC,MAAMO,OAAO,GAAGJ,SAAS,CAACK,QAAQ,CAAC,MAAM,CAAC,GACtCL,SAAS,GACR,GAAEA,SAAU,MAAK;MACtB,MAAMM,MAAM,GAAG,IAAAC,yBAAiB,EAACH,OAAO,CAAC;MACzCI,iBAAO,CAACC,gBAAgB,CAACP,SAAS,CAAC,CAACQ,IAAI,CAACJ,MAAM,CAAC;IAClD;IAEA,IAAIL,kBAAkB,EAAE;MACtB,MAAMU,SAAS,GAAG,MAAM,IAAAR,gBAAO,EAACN,QAAQ,EAAE,IAAI,CAAC;MAC/C,MAAMe,SAAS,GAAGX,kBAAkB,CAACI,QAAQ,CAAC,MAAM,CAAC,GACjDJ,kBAAkB,GACjB,GAAEA,kBAAmB,MAAK;MAC/B,MAAMY,QAAQ,GAAG,IAAAN,yBAAiB,EAACK,SAAS,CAAC;MAC7CJ,iBAAO,CAACC,gBAAgB,CAACE,SAAS,CAAC,CAACD,IAAI,CAACG,QAAQ,CAAC;IACpD;EACF,CAAC,CAAC,OAAOC,KAAK,EAAE;IACdC,OAAO,CAACD,KAAK,CAAC,OAAO,EAAEA,KAAK,CAACE,OAAO,EAAEF,KAAK,CAAC;EAC9C;AACF,CAAC;AAAC"}