{"version":3,"file":"mapper.cjs","names":["defaults","LetterboxdURI","tmdbID","imdbID","Title","Year","Directors","WatchedDate","Rating","Rating10","Tags","Review","mapTraktToLetterboxd","movie","isWatchlist","ids","tmdb","imdb","title","year","rating","format","Date","last_watched_at","mapper","movieList","map","value"],"sources":["../../src/main/mapper.ts"],"sourcesContent":["import { format } from 'fecha';\nimport type {\n  TraktRatingMergedHistoryType,\n  TraktRatingMergedHistoryEntityType,\n  LetterboxdHistoryEntityType,\n} from './types.js';\n\n/**\n * Default values for letterboxd object shape\n */\nconst defaults = {\n  LetterboxdURI: null,\n  tmdbID: null,\n  imdbID: null,\n  Title: '',\n  Year: null,\n  Directors: null,\n  WatchedDate: null,\n  Rating: null,\n  Rating10: null,\n  Tags: null,\n  Review: null,\n};\n\n/**\n * Maps a trakt history entry to a letterboxd history entry\n * @param   {TraktRatingMergedHistoryEntityType}  movie   A trackt movie history entity\n * @param   {boolean}  isWatchlist  Whether to map the history or the watchlist, defaults to the history\n * @return  {LetterboxdHistoryEntityType}       A letterboxd movie history entity\n */\nconst mapTraktToLetterboxd = (\n  movie: TraktRatingMergedHistoryEntityType,\n  isWatchlist?: boolean,\n): LetterboxdHistoryEntityType => ({\n  ...defaults,\n  tmdbID: movie.movie.ids.tmdb,\n  imdbID: movie.movie.ids.imdb,\n  Title: movie.movie.title,\n  Year: movie.movie.year,\n  Rating10: movie.rating,\n  WatchedDate: isWatchlist\n    ? null\n    : format(new Date(movie.last_watched_at), 'YYYY-MM-DD'),\n});\n\n/**\n * Maps an array of trakt history entries to an array of letterboxd history entities\n * @param   {Array<TraktRatingMergedHistoryEntityType>}   movieList   Trakt History\n * @param   {boolean}  isWatchlist  Whether to map the history or the watchlist, defaults to the history\n * @return  {Array<LetterboxdHistoryEntityType>}            letterboxd history\n */\nconst mapper = (\n  movieList: TraktRatingMergedHistoryType,\n  isWatchlist = false,\n): LetterboxdHistoryEntityType[] =>\n  movieList.map((value: TraktRatingMergedHistoryEntityType) =>\n    mapTraktToLetterboxd(value, isWatchlist),\n  );\n\nexport default mapper;\n"],"mappings":";;;;;;AAAA;AAOA;AACA;AACA;AACA,MAAMA,QAAQ,GAAG;EACfC,aAAa,EAAE,IAAI;EACnBC,MAAM,EAAE,IAAI;EACZC,MAAM,EAAE,IAAI;EACZC,KAAK,EAAE,EAAE;EACTC,IAAI,EAAE,IAAI;EACVC,SAAS,EAAE,IAAI;EACfC,WAAW,EAAE,IAAI;EACjBC,MAAM,EAAE,IAAI;EACZC,QAAQ,EAAE,IAAI;EACdC,IAAI,EAAE,IAAI;EACVC,MAAM,EAAE;AACV,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA;AACA,MAAMC,oBAAoB,GAAG,CAC3BC,KAAyC,EACzCC,WAAqB,MACY;EACjC,GAAGd,QAAQ;EACXE,MAAM,EAAEW,KAAK,CAACA,KAAK,CAACE,GAAG,CAACC,IAAI;EAC5Bb,MAAM,EAAEU,KAAK,CAACA,KAAK,CAACE,GAAG,CAACE,IAAI;EAC5Bb,KAAK,EAAES,KAAK,CAACA,KAAK,CAACK,KAAK;EACxBb,IAAI,EAAEQ,KAAK,CAACA,KAAK,CAACM,IAAI;EACtBV,QAAQ,EAAEI,KAAK,CAACO,MAAM;EACtBb,WAAW,EAAEO,WAAW,GACpB,IAAI,GACJ,IAAAO,aAAM,EAAC,IAAIC,IAAI,CAACT,KAAK,CAACU,eAAe,CAAC,EAAE,YAAY;AAC1D,CAAC,CAAC;;AAEF;AACA;AACA;AACA;AACA;AACA;AACA,MAAMC,MAAM,GAAG,CACbC,SAAuC,EACvCX,WAAW,GAAG,KAAK,KAEnBW,SAAS,CAACC,GAAG,CAAEC,KAAyC,IACtDf,oBAAoB,CAACe,KAAK,EAAEb,WAAW,CAAC,CACzC;AAAC,eAEWU,MAAM;AAAA"}