{"version":3,"names":["HfUtil","validateUrl","url","regex","map","r","source","join","allowedUrlRegex","RegExp","test","formatParameter","params","key","uniqueKey","prefix","Date","getTime","overwriteConfig","config","Object","keys","filter","this","customConfigSchema","warnUser","forEach","isParameterValid","value","type","message","_a","console","warn","customLanguages","langs","i","length","href","splice"],"sources":["src/components/bahf-header/utils/HfUtil.ts"],"sourcesContent":["import { IConfiguration, IPublicConfiguration } from '../../../../config/IConfiguration';\nimport { Language } from '../../../utils/model/Language';\n\nexport class HfUtil {\n private static customConfigSchema = {\n customLanguages: (langs: Array) => {\n let i = langs.length;\n while (i--) {\n if (!HfUtil.validateUrl(langs[i].href)) {\n langs.splice(i, 1);\n }\n }\n return true;\n },\n };\n\n public static validateUrl(url: string) {\n /**\n * Für Beispiele, siehe Test\n */\n const regex = [\n /^https:\\/\\/([a-zA-Z0-9]*)((\\.[a-zA-Z0-9]*)?)\\.arbeitsagentur\\.de/, // Prod und Preprod\n /^http(s?):\\/\\/(([a-zA-Z0-9]*\\.){0,4})([a-zA-Z]?)dst\\.([a-zA-Z]?)baintern\\.de/, // Dev-Umgebungen\n /^http:\\/\\/localhost:(\\d+)/, // Lokal-Umgebungen\n /^#[a-zA-Z0-9]+$/, // Fragments\n ]\n .map((r) => r.source)\n .join('|');\n\n const allowedUrlRegex = new RegExp(regex);\n\n return allowedUrlRegex.test(url);\n }\n\n private static formatParameter(params: IPublicConfiguration, key) {\n return params[key];\n }\n\n public static uniqueKey(prefix: string): string {\n return prefix + '_' + new Date().getTime();\n }\n\n public static overwriteConfig(params: IPublicConfiguration, config: IConfiguration) {\n Object.keys(params)\n .filter((key) => {\n if (this.customConfigSchema[key]) {\n return true;\n } else {\n this.warnUser({ key });\n return false;\n }\n })\n .forEach((key) => {\n if (this.isParameterValid(params, key)) {\n params[key] = this.formatParameter(params, key);\n config[key] = params[key];\n } else {\n this.warnUser({ key, value: params[key] });\n }\n });\n }\n\n private static isParameterValid(params: IPublicConfiguration, key) {\n return this.customConfigSchema[key](params[key]);\n }\n\n private static warnUser(type: { key?: string; value?: string; message?: string }) {\n const message =\n type.message ??\n `Ungültige Parameter ${type.key && 'key: ' + type.key}${\n type.value && ', value: ' + type.value\n }`;\n console.warn(message);\n }\n}\n"],"mappings":"MAGaA,EAaJ,kBAAOC,CAAYC,GAIxB,MAAMC,EAAQ,CACZ,mEACA,+EACA,4BACA,mBAECC,KAAKC,GAAMA,EAAEC,SACbC,KAAK,KAER,MAAMC,EAAkB,IAAIC,OAAON,GAEnC,OAAOK,EAAgBE,KAAKR,E,CAGtB,sBAAOS,CAAgBC,EAA8BC,GAC3D,OAAOD,EAAOC,E,CAGT,gBAAOC,CAAUC,GACtB,OAAOA,EAAS,KAAM,IAAIC,MAAOC,S,CAG5B,sBAAOC,CAAgBN,EAA8BO,GAC1DC,OAAOC,KAAKT,GACTU,QAAQT,IACP,GAAIU,KAAKC,mBAAmBX,GAAM,CAChC,OAAO,I,KACF,CACLU,KAAKE,SAAS,CAAEZ,QAChB,OAAO,K,KAGVa,SAASb,IACR,GAAIU,KAAKI,iBAAiBf,EAAQC,GAAM,CACtCD,EAAOC,GAAOU,KAAKZ,gBAAgBC,EAAQC,GAC3CM,EAAON,GAAOD,EAAOC,E,KAChB,CACLU,KAAKE,SAAS,CAAEZ,MAAKe,MAAOhB,EAAOC,I,KAKnC,uBAAOc,CAAiBf,EAA8BC,GAC5D,OAAOU,KAAKC,mBAAmBX,GAAKD,EAAOC,G,CAGrC,eAAOY,CAASI,G,MACtB,MAAMC,GACJC,EAAAF,EAAKC,WAAO,MAAAC,SAAA,EAAAA,EACZ,uBAAuBF,EAAKhB,KAAO,QAAUgB,EAAKhB,MAChDgB,EAAKD,OAAS,YAAcC,EAAKD,QAErCI,QAAQC,KAAKH,E,EApEA9B,EAAAwB,mBAAqB,CAClCU,gBAAkBC,IAChB,IAAIC,EAAID,EAAME,OACd,MAAOD,IAAK,CACV,IAAKpC,EAAOC,YAAYkC,EAAMC,GAAGE,MAAO,CACtCH,EAAMI,OAAOH,EAAG,E,EAGpB,OAAO,IAAI,U","ignoreList":[]}