{ "version": 3, "sources": ["../javascripts/models/retailer.ts", "../javascripts/shared/resolve-routes.ts", "../javascripts/selectors/retailer.ts"], "sourcesContent": ["import type { Retailer as RetailerType } from '../@types/Retailer';\nimport { getMarket } from '../i18n';\n\nconst resolveRoute = () => {\n const { marketCode } = getMarket();\n switch (marketCode) {\n case 'NO':\n return '/forhandler';\n default:\n return '/aterforsaljare';\n }\n};\n\ninterface ParsedRetailer {\n distance: string | null;\n id: string;\n logo: string;\n name: string;\n url: string;\n}\n\nexport const parseRetailer = (document: RetailerType): ParsedRetailer => {\n let distance = null;\n if (document.distance) {\n distance = `${document.distance.toFixed(1)} ${document.distanceunit}`;\n }\n\n return {\n distance,\n id: document.id,\n logo: document.logo,\n name: document.name,\n url: `${resolveRoute()}/${document.slug}`,\n };\n};\n\n/*\nclass Retailer {\n static parse = (document: RetailerType) => {\n let distance = null;\n if (document.distance) {\n distance = `${document.distance.toFixed(1)} ${document.distanceunit}`;\n }\n\n return {\n distance,\n id: document.id,\n logo: document.logo,\n name: document.name,\n url: `${resolveRoute()}/${document.slug}`,\n };\n };\n}\n\nexport default Retailer;\n*/\n", "import { getMarket } from '../i18n';\n\nexport const resolveRouteRetailer = () => {\n const { marketCode } = getMarket();\n switch (marketCode) {\n case 'NO':\n return '/forhandler';\n default:\n return '/aterforsaljare';\n }\n};\n", "import { createSelector } from '@reduxjs/toolkit';\nimport type Item from '../@types/item';\nimport { parseRetailer } from '../models/retailer';\nimport type { RootState } from '../reducers';\nimport { resolveRouteRetailer } from '../shared/resolve-routes';\n\nexport const getRetailers = createSelector(\n (state: RootState) => state.retailers.documentList,\n (documentList) => {\n if (!documentList) {\n return [];\n }\n\n return documentList.documents.filter((d) => !!d).map(parseRetailer);\n },\n);\n\nexport const getSearchRetailers = createSelector(\n (state: RootState) => state.retailers.documentList,\n (documentList) => {\n if (!documentList) {\n return [];\n }\n\n return documentList.documents.filter((d) => !!d);\n },\n);\n\nexport const getRetailerDocument = createSelector(\n (state: RootState) => state.retailers.single,\n (documentList) =>\n documentList && documentList.documents && documentList.documents.length === 1\n ? documentList.documents[0]\n : null,\n);\n\nexport const getRetailerId = createSelector(getRetailerDocument, (retailer) =>\n retailer && retailer.id ? retailer.id : null,\n);\n\nexport const getRetailerPromos = createSelector(getRetailerDocument, (retailer) =>\n retailer && retailer.promos ? retailer.promos : [],\n);\n\nexport const getRetailerName = createSelector(getRetailerDocument, (retailer) =>\n retailer && retailer.name ? retailer.name : null,\n);\n\nexport const getRetailerLocaiton = createSelector(\n getRetailerDocument,\n (_state: RootState, item?: Item | null) => item,\n (retailer, item) => {\n if (retailer && retailer.position && retailer.position.location) {\n return {\n lat: retailer.position.location.lat,\n lng: retailer.position.location.lon,\n };\n } else if (item && item.position && item.position.location) {\n return {\n ...item.position.location,\n };\n }\n\n return null;\n },\n);\n\nexport const getRetailerOpeningHours = createSelector(getRetailerDocument, (retailer) =>\n retailer && retailer.openingHours ? retailer.openingHours : null,\n);\n\nexport const getRetailerTelephone = createSelector(getRetailerDocument, (retailer) =>\n retailer && retailer.telephoneNumber ? retailer.telephoneNumber : null,\n);\n\nexport const getRetailerAddress = createSelector(getRetailerDocument, (retailer) =>\n retailer && retailer.position && retailer.position.street && retailer.position.city\n ? `${retailer.position.street}, ${retailer.position.city}`\n : null,\n);\n\nexport const getRetailerAbout = createSelector(getRetailerDocument, (retailer) =>\n retailer\n ? {\n name: retailer.name,\n logo: retailer.logo,\n city: retailer.position && retailer.position.city ? retailer.position.city : null,\n description: retailer.description,\n link: `${resolveRouteRetailer()}/${retailer.slug}`,\n }\n : null,\n);\n\nexport const isRetailerUsingFreespee = createSelector(\n getRetailerDocument,\n (retailer) =>\n !!retailer &&\n retailer.telephoneNumberGenerationSettings &&\n retailer.telephoneNumberGenerationSettings.active,\n);\n"], "mappings": "8FAGA,IAAMA,EAAe,IAAM,CACzB,GAAM,CAAE,WAAAC,CAAW,EAAIC,EAAU,EACjC,OAAQD,EAAY,CAClB,IAAK,KACH,MAAO,cACT,QACE,MAAO,iBACX,CACF,EAUaE,EAAiBC,GAA2C,CACvE,IAAIC,EAAW,KACf,OAAID,EAAS,WACXC,EAAW,GAAGD,EAAS,SAAS,QAAQ,CAAC,CAAC,IAAIA,EAAS,YAAY,IAG9D,CACL,SAAAC,EACA,GAAID,EAAS,GACb,KAAMA,EAAS,KACf,KAAMA,EAAS,KACf,IAAK,GAAGJ,EAAa,CAAC,IAAII,EAAS,IAAI,EACzC,CACF,EChCO,IAAME,EAAuB,IAAM,CACxC,GAAM,CAAE,WAAAC,CAAW,EAAIC,EAAU,EACjC,OAAQD,EAAY,CAClB,IAAK,KACH,MAAO,cACT,QACE,MAAO,iBACX,CACF,ECJO,IAAME,EAAeC,EACzBC,GAAqBA,EAAM,UAAU,aACrCC,GACMA,EAIEA,EAAa,UAAU,OAAQC,GAAM,CAAC,CAACA,CAAC,EAAE,IAAIC,CAAa,EAHzD,CAAC,CAKd,EAEaC,EAAqBL,EAC/BC,GAAqBA,EAAM,UAAU,aACrCC,GACMA,EAIEA,EAAa,UAAU,OAAQC,GAAM,CAAC,CAACA,CAAC,EAHtC,CAAC,CAKd,EAEaG,EAAsBN,EAChCC,GAAqBA,EAAM,UAAU,OACrCC,GACCA,GAAgBA,EAAa,WAAaA,EAAa,UAAU,SAAW,EACxEA,EAAa,UAAU,CAAC,EACxB,IACR,EAEaK,EAAgBP,EAAeM,EAAsBE,GAChEA,GAAYA,EAAS,GAAKA,EAAS,GAAK,IAC1C,EAEaC,EAAoBT,EAAeM,EAAsBE,GACpEA,GAAYA,EAAS,OAASA,EAAS,OAAS,CAAC,CACnD,EAEaE,EAAkBV,EAAeM,EAAsBE,GAClEA,GAAYA,EAAS,KAAOA,EAAS,KAAO,IAC9C,EAEaG,EAAsBX,EACjCM,EACA,CAACM,EAAmBC,IAAuBA,EAC3C,CAACL,EAAUK,IACLL,GAAYA,EAAS,UAAYA,EAAS,SAAS,SAC9C,CACL,IAAKA,EAAS,SAAS,SAAS,IAChC,IAAKA,EAAS,SAAS,SAAS,GAClC,EACSK,GAAQA,EAAK,UAAYA,EAAK,SAAS,SACzC,CACL,GAAGA,EAAK,SAAS,QACnB,EAGK,IAEX,EAEaC,EAA0Bd,EAAeM,EAAsBE,GAC1EA,GAAYA,EAAS,aAAeA,EAAS,aAAe,IAC9D,EAEaO,EAAuBf,EAAeM,EAAsBE,GACvEA,GAAYA,EAAS,gBAAkBA,EAAS,gBAAkB,IACpE,EAEaQ,EAAqBhB,EAAeM,EAAsBE,GACrEA,GAAYA,EAAS,UAAYA,EAAS,SAAS,QAAUA,EAAS,SAAS,KAC3E,GAAGA,EAAS,SAAS,MAAM,KAAKA,EAAS,SAAS,IAAI,GACtD,IACN,EAEaS,EAAmBjB,EAAeM,EAAsBE,GACnEA,EACI,CACE,KAAMA,EAAS,KACf,KAAMA,EAAS,KACf,KAAMA,EAAS,UAAYA,EAAS,SAAS,KAAOA,EAAS,SAAS,KAAO,KAC7E,YAAaA,EAAS,YACtB,KAAM,GAAGU,EAAqB,CAAC,IAAIV,EAAS,IAAI,EAClD,EACA,IACN,EAEaW,EAA0BnB,EACrCM,EACCE,GACC,CAAC,CAACA,GACFA,EAAS,mCACTA,EAAS,kCAAkC,MAC/C", "names": ["resolveRoute", "marketCode", "getMarket", "parseRetailer", "document", "distance", "resolveRouteRetailer", "marketCode", "getMarket", "getRetailers", "createSelector", "state", "documentList", "d", "parseRetailer", "getSearchRetailers", "getRetailerDocument", "getRetailerId", "retailer", "getRetailerPromos", "getRetailerName", "getRetailerLocaiton", "_state", "item", "getRetailerOpeningHours", "getRetailerTelephone", "getRetailerAddress", "getRetailerAbout", "resolveRouteRetailer", "isRetailerUsingFreespee"] }