{ "version": 3, "sources": ["../javascripts/helpers/settings.ts", "../javascripts/helpers/urls.ts"], "sourcesContent": ["import type { WakeSettingsKeytype } from '../@types/WaykeSettings';\n\nconst settingKeys = {\n DealerUiUri: 'dui',\n CdnHost: 'cdn',\n CdnPrefix: 'prefixcdn',\n WaykeAnalyticsUri: 'wauri',\n IfInsuranceUri: 'isuri',\n IfBrandingUri: 'iburi',\n GoogleApiKey: 'gapikey',\n GoogleTagManagerID: 'gtmid',\n GoogleTagManagerQuery: 'gtmQ',\n FreespeeId: 'fsaid',\n RemoveAccountUri: 'rmAcc',\n GoogleCaptchaKey: 'grckey',\n EcomUri: 'ecuri',\n mediaServiceUri: 'mediaServiceUri',\n partnerSiteUri: 'partnerSiteUri',\n};\n\ntype Keys = keyof typeof settingKeys;\n\nexport const get = (keyName: Keys) => {\n const settingsKey = settingKeys[keyName] as WakeSettingsKeytype;\n if (process.env.SSR) {\n if (settingsKey && (globalThis as any).wstngs) {\n return (globalThis as any).wstngs[settingsKey];\n }\n return null;\n }\n return window?.wstngs?.[settingsKey];\n};\n", "import type { Article } from '../@types/ArticleV2';\nimport { resolveArticlesRoute } from '../routes/utils';\nimport * as settings from './settings';\n\nexport const slugify = (str: string) => {\n str = str.replace(/^\\s+|\\s+$/g, '');\n str = str.toLowerCase();\n\n const from = '\u00E0\u00E1\u00E4\u00E5\u00E2\u00E8\u00E9\u00EB\u00EA\u00EC\u00ED\u00EF\u00EE\u00F2\u00F3\u00F6\u00F4\u0161\u00F9\u00FA\u00FC\u00FB\u00F1\u00E7\u00B7/_,:;';\n const to = 'aaaaaeeeeiiiioooosuuuunc------';\n for (let i = 0, l = from.length; i < l; i++) {\n str = str.replace(new RegExp(from.charAt(i), 'g'), to.charAt(i));\n }\n\n str = str\n .replace(/[^a-z0-9 -]/g, '')\n .replace(/\\s+/g, '-')\n .replace(/-+/g, '-');\n\n return str;\n};\n\ninterface VehicleDocument {\n id: string;\n title: string;\n shortDescription?: string | null;\n gearboxType?: string;\n}\n\nexport const createItemUrl = (document?: VehicleDocument | null) => {\n if (!document) return '/objekt/-/-';\n\n const parts = [];\n if (document.title) parts.push(document.title);\n\n if (document.shortDescription) parts.push(document.shortDescription);\n\n if (document.gearboxType) parts.push(document.gearboxType);\n\n return parts.length\n ? `/objekt/${document.id}/${slugify(parts.join('-'))}`\n : `/objekt/${document.id}/-`;\n};\n\nexport const createArticleUrl = (article: Article) =>\n `/${resolveArticlesRoute()}/${article.categories[0].slug}/${article.slug}`;\n\ninterface ExtractedQueryVar {\n key: string;\n value: string;\n}\n\nexport const extractQueryVars = (url: string) => {\n const variables = url.split('&');\n const buffer: ExtractedQueryVar[] = [];\n\n variables.forEach((token) => {\n const parts = token.split('=');\n if (parts.length === 2 && parts[1]) {\n buffer.push({\n key: parts[0],\n value: parts[1],\n });\n }\n });\n\n return buffer;\n};\n\nexport const cleanup = (url: string, patterns: string[]) => {\n const queryStringStart = url.indexOf('?');\n if (queryStringStart < 0 || !patterns || patterns.length === 0) {\n return url.replace(/\\/+$/, '');\n }\n\n const queryString = url.substr(queryStringStart + 1);\n const params = extractQueryVars(queryString).filter(\n (param) => patterns.filter((pattern) => param.key.indexOf(pattern) >= 0).length === 0,\n );\n const nextQueryString =\n params.length === 0 ? '' : `?${params.map((p) => `${p.key}=${p.value}`).join('&')}`;\n return `${url.substr(0, queryStringStart)}`.replace(/\\/+$/, '') + nextQueryString;\n};\n\nconst prefix = (url: string) => {\n if (url[0] === '/') {\n return `${settings.get('CdnHost')}${settings.get('CdnPrefix')}${url}`;\n }\n return `${settings.get('CdnHost')}${url.substring(url.indexOf('/media'))}`;\n};\n\nconst appendDimensions = (url: string, dimensions: string) => {\n const onlyWidth = dimensions.match(/x$/);\n const onlyHeight = dimensions.match(/^x/);\n const format = dimensions\n .toLowerCase()\n .split('x')\n .filter((f) => !!f);\n const separator = url.indexOf('?') >= 0 ? '&' : '?';\n\n if (onlyWidth) return `${url}${separator}w=${format[0]}`;\n if (onlyHeight) return `${url}${separator}h=${format[0]}`;\n\n return `${url}${separator}w=${format[0]}&h=${format[1]}`;\n};\n\nexport const cdn = (url: string, dimensions: string | null = null) => {\n let result = url;\n\n if (url && settings.get('CdnHost')) {\n result = prefix(url);\n }\n\n if (dimensions) return appendDimensions(result, dimensions);\n\n return result;\n};\n"], "mappings": "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", "names": ["settings_exports", "__export", "get", "settingKeys", "keyName", "settingsKey", "urls_exports", "__export", "cdn", "cleanup", "createArticleUrl", "createItemUrl", "extractQueryVars", "slugify", "slugify", "str", "from", "to", "i", "l", "createItemUrl", "document", "parts", "createArticleUrl", "article", "resolveArticlesRoute", "extractQueryVars", "url", "variables", "buffer", "token", "cleanup", "patterns", "queryStringStart", "queryString", "params", "param", "pattern", "nextQueryString", "p", "prefix", "get", "appendDimensions", "dimensions", "onlyWidth", "onlyHeight", "format", "f", "separator", "cdn", "result"] }