{ "version": 3, "sources": ["../../node/Common/Environment.ts", "../../node/Common/TypeGuards.ts", "../../node/Common/ErrorReporting.ts", "../app/Framework/Environment.ts", "../app/Site.ts"], "sourcesContent": ["export interface IHostEnvironment {\n\tenvironment: string;\n}\n\nexport function getHostEnvironment() {\n\tconst element = document.getElementById(\"host-environment\");\n\n\treturn element?.textContent != null ?\n\t\tJSON.parse(element.textContent) as IHostEnvironment\n\t\t: null;\n}\n\nexport function isDevelopment() {\n\tconst hostEnvironment = getHostEnvironment();\n\n\treturn hostEnvironment?.environment === \"Development\"\n\t\t|| document.cookie.includes(\"development=1\");\n}\n", "export function isError(instance: unknown): instance is Error {\n\tif (instance instanceof Error) {\n\t\treturn true;\n\t}\n\n\tconst obj = instance as Unknown;\n\n\t// For errors thrown via iframes\n\treturn obj != null\n\t\t&& typeof obj === \"object\"\n\t\t&& typeof obj.name === \"string\"\n\t\t&& typeof obj.message === \"string\";\n}\n\nexport function isNotNull(value: T | null): value is T {\n\treturn value !== null;\n}\n", "\uFEFFimport { isDevelopment } from \"./Environment\";\nimport { isError } from \"./TypeGuards\";\n\nconst headers = new Headers();\nheaders.append(\"Content-Type\", \"application/json\");\n\nconst reportedErrors: string[] = [];\nconst reportEndpoint = \"https://log.steamcore.se/js\";\n\ninterface IScriptError extends Error {\n\tcolumnNumber: number;\n\tfileName: string;\n\tlineNumber: number;\n}\n\nfunction isScriptError(instance: unknown): instance is IScriptError {\n\tif (isError(instance)) {\n\t\tconst obj = instance as IScriptError;\n\n\t\treturn typeof obj.columnNumber === \"number\"\n\t\t\t&& typeof obj.fileName === \"string\"\n\t\t\t&& typeof obj.lineNumber === \"number\";\n\t}\n\n\treturn false;\n}\n\nasync function getUserAgentData() {\n\tif (!navigator.userAgentData) {\n\t\treturn undefined;\n\t}\n\n\tlet platform: string | undefined = undefined;\n\tlet uaFullVersion: string | undefined = undefined;\n\n\ttry {\n\t\tconst data = await navigator.userAgentData.getHighEntropyValues([\"platform\", \"uaFullVersion\"]);\n\n\t\tplatform = data.platform;\n\t\tuaFullVersion = data.uaFullVersion;\n\t} catch {\n\t\t/* do nothing */\n\t}\n\n\treturn {\n\t\tbrands: navigator.userAgentData.brands,\n\t\tmobile: navigator.userAgentData.mobile,\n\t\tplatform,\n\t\tuaFullVersion\n\t};\n}\n\nexport async function reportError(error: Error | string, src?: string, line?: number, column?: number, stack?: string) {\n\tconst content = {\n\t\tcolumn,\n\t\terror,\n\t\tline,\n\t\tsrc,\n\t\tstack,\n\t\turl: window.location.href,\n\t\tuserAgent: navigator.userAgent,\n\t\tuserAgentData: await getUserAgentData()\n\t};\n\n\tconst body = JSON.stringify(content);\n\tconsole.debug(\"reportError\", content);\n\n\tif (isDevelopment()) {\n\t\treturn;\n\t}\n\n\tif (reportedErrors.findIndex(err => err === body) === -1) {\n\t\treportedErrors.push(body);\n\t\tawait fetch(reportEndpoint, { body, headers, method: \"POST\", mode: \"cors\" });\n\t}\n}\n\nwindow.addEventListener(\"error\", e => {\n\tvoid reportError(e.message, e.filename, e.lineno, e.colno, isError(e.error) ? e.error.stack : undefined);\n});\n\nwindow.addEventListener(\"unhandledrejection\", e => {\n\tif (isError(e.reason)) {\n\t\tconst error = e.reason;\n\t\tif (isScriptError(error)) {\n\t\t\tvoid reportError(error.message, error.fileName, error.lineNumber, error.columnNumber, error.stack);\n\t\t} else {\n\t\t\tvoid reportError(error.message, undefined, undefined, undefined, error.stack);\n\t\t}\n\t} else if (typeof e.reason === \"string\") {\n\t\tvoid reportError(e.reason);\n\t}\n});\n", "declare const debugging: boolean | undefined;\n\nexport function isDebugging() {\n\treturn typeof debugging !== \"undefined\" && debugging\n\t\t|| document.cookie.includes(\"debugging\");\n}\n\nif (!isDebugging()) {\n\tconsole.debug = function () { /* noop */ };\n}\n", "\uFEFFconsole.log(\"Starduck\");\n\nimport \"Common/ErrorReporting\";\nimport \"./Framework/Environment\";\n"], "mappings": "gOAIO,SAASA,GAAqB,CACpC,IAAMC,EAAU,SAAS,eAAe,kBAAkB,EAE1D,OAAOA,GAAA,YAAAA,EAAS,cAAe,KAC9B,KAAK,MAAMA,EAAQ,WAAW,EAC5B,IACJ,CAEO,SAASC,GAAgB,CAC/B,IAAMC,EAAkBH,EAAmB,EAE3C,OAAOG,GAAA,YAAAA,EAAiB,eAAgB,eACpC,SAAS,OAAO,SAAS,eAAe,CAC7C,CCjBO,SAASC,EAAQC,EAAsC,CAC7D,GAAIA,aAAoB,MACvB,MAAO,GAGR,IAAMC,EAAMD,EAGZ,OAAOC,GAAO,MACV,OAAOA,GAAQ,UACf,OAAOA,EAAI,MAAS,UACpB,OAAOA,EAAI,SAAY,QAC5B,CCTA,IAAMC,EAAU,IAAI,QACpBA,EAAQ,OAAO,eAAgB,kBAAkB,EAEjD,IAAMC,EAA2B,CAAC,EAC5BC,EAAiB,8BAQvB,SAASC,EAAcC,EAA6C,CACnE,GAAIC,EAAQD,CAAQ,EAAG,CACtB,IAAME,EAAMF,EAEZ,OAAO,OAAOE,EAAI,cAAiB,UAC/B,OAAOA,EAAI,UAAa,UACxB,OAAOA,EAAI,YAAe,QAC/B,CAEA,MAAO,EACR,CAEA,SAAeC,GAAmB,QAAAC,EAAA,sBACjC,GAAI,CAAC,UAAU,cACd,OAGD,IAAIC,EACAC,EAEJ,GAAI,CACH,IAAMC,EAAO,MAAM,UAAU,cAAc,qBAAqB,CAAC,WAAY,eAAe,CAAC,EAE7FF,EAAWE,EAAK,SAChBD,EAAgBC,EAAK,aACtB,OAAQC,EAAA,CAER,CAEA,MAAO,CACN,OAAQ,UAAU,cAAc,OAChC,OAAQ,UAAU,cAAc,OAChC,SAAAH,EACA,cAAAC,CACD,CACD,GAEA,SAAsBG,EAAYC,EAAuBC,EAAcC,EAAeC,EAAiBC,EAAgB,QAAAV,EAAA,sBACtH,IAAMW,EAAU,CACf,OAAAF,EACA,MAAAH,EACA,KAAAE,EACA,IAAAD,EACA,MAAAG,EACA,IAAK,OAAO,SAAS,KACrB,UAAW,UAAU,UACrB,cAAe,MAAMX,EAAiB,CACvC,EAEMa,EAAO,KAAK,UAAUD,CAAO,EACnC,QAAQ,MAAM,cAAeA,CAAO,EAEhC,CAAAE,EAAc,GAIdpB,EAAe,UAAUqB,GAAOA,IAAQF,CAAI,IAAM,KACrDnB,EAAe,KAAKmB,CAAI,EACxB,MAAM,MAAMlB,EAAgB,CAAE,KAAAkB,EAAM,QAAApB,EAAS,OAAQ,OAAQ,KAAM,MAAO,CAAC,EAE7E,GAEA,OAAO,iBAAiB,QAAS,GAAK,CAChCa,EAAY,EAAE,QAAS,EAAE,SAAU,EAAE,OAAQ,EAAE,MAAOR,EAAQ,EAAE,KAAK,EAAI,EAAE,MAAM,MAAQ,MAAS,CACxG,CAAC,EAED,OAAO,iBAAiB,qBAAsB,GAAK,CAClD,GAAIA,EAAQ,EAAE,MAAM,EAAG,CACtB,IAAMS,EAAQ,EAAE,OACZX,EAAcW,CAAK,EACjBD,EAAYC,EAAM,QAASA,EAAM,SAAUA,EAAM,WAAYA,EAAM,aAAcA,EAAM,KAAK,EAE5FD,EAAYC,EAAM,QAAS,OAAW,OAAW,OAAWA,EAAM,KAAK,CAE9E,MAAW,OAAO,EAAE,QAAW,UACzBD,EAAY,EAAE,MAAM,CAE3B,CAAC,EC1FM,SAASU,GAAc,CAC7B,OAAO,OAAO,WAAc,aAAe,WACvC,SAAS,OAAO,SAAS,WAAW,CACzC,CAEKA,EAAY,IAChB,QAAQ,MAAQ,UAAY,CAAa,GCRzC,QAAQ,IAAI,UAAU", "names": ["getHostEnvironment", "element", "isDevelopment", "hostEnvironment", "isError", "instance", "obj", "headers", "reportedErrors", "reportEndpoint", "isScriptError", "instance", "isError", "obj", "getUserAgentData", "__async", "platform", "uaFullVersion", "data", "e", "reportError", "error", "src", "line", "column", "stack", "content", "body", "isDevelopment", "err", "isDebugging"] }