{"version":3,"file":"HttpClient.js","sourceRoot":"","sources":["../../TS/HttpClient.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAEzC,MAAM,OAAO,UAAU;IACZ,MAAM,CAAC,KAAK,CAAC,gBAAgB,CAAC,OAAe;QAChD,IAAI;YACA,IAAI,QAAQ,GAAG,MAAM,KAAK,CAAC,OAAO,CAAC,CAAC;YACpC,IAAI,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;YAEjC,OAAO,QAAQ,CAAC,EAAE,CAAS,IAAI,CAAC,CAAC;SACpC;QAAC,OAAO,CAAC,EAAE;YACR,OAAO,QAAQ,CAAC,KAAK,CAAS,CAAC,CAAC,CAAC;SACpC;IACL,CAAC;IAEM,MAAM,CAAC,KAAK,CAAC,UAAU,CAAI,OAAe;QAC7C,IAAI;YACA,IAAI,QAAQ,GAAG,MAAM,KAAK,CAAC,OAAO,CAAC,CAAC;YACpC,IAAI,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;YACjC,IAAI,QAAQ,GAAM,IAAI,CAAC;YAEvB,OAAO,QAAQ,CAAC,EAAE,CAAI,QAAQ,CAAC,CAAC;SACnC;QAAC,OAAO,CAAC,EAAE;YACR,OAAO,QAAQ,CAAC,KAAK,CAAI,CAAC,CAAC,CAAC;SAC/B;IACL,CAAC;IAEM,MAAM,CAAC,KAAK,CAAC,aAAa,CAAC,GAAW;QACzC,IAAI;YACA,IAAI,EAAE,GAAG,MAAM,UAAU,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC;YAEhD,IAAI,EAAE,CAAC,OAAO,EAAE;gBACZ,OAAO,EAAE,CAAC,UAAU,EAAc,CAAC;aACtC;YAED,IAAI,MAAM,GAAG,IAAI,SAAS,EAAE,CAAC,eAAe,CAAC,EAAE,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;YAEzE,IAAI,WAAW,GAAG,MAAM,CAAC,sBAAsB,CAAC,4BAA4B,EAAE,KAAK,CAAC,CAAC;YAErF,IAAI,WAAW,CAAC,MAAM,IAAI,CAAC,EAAE;gBACzB,OAAO,QAAQ,CAAC,IAAI,CAAa,0BAA0B,CAAC,CAAC;aAChE;YAED,IAAI,GAAG,GAAe,WAAW,CAAC,CAAC,CAAC,CAAC;YAErC,OAAO,QAAQ,CAAC,EAAE,CAAa,GAAG,CAAC,CAAC,CAAC,yBAAyB;SAEjE;QAAC,OAAO,CAAC,EAAE;YACR,OAAO,QAAQ,CAAC,KAAK,CAAa,CAAC,CAAC,CAAC;SACxC;IACL,CAAC;CACJ","sourcesContent":["import { OpResult } from \"./OpResult.js\";\r\n\r\nexport class HttpClient {\r\n public static async fetchStringAsync(request: string): Promise> {\r\n try {\r\n var response = await fetch(request);\r\n var body = await response.text();\r\n\r\n return OpResult.OK(body);\r\n } catch (e) {\r\n return OpResult.Error(e);\r\n }\r\n }\r\n\r\n public static async fetchAsync(request: string): Promise> {\r\n try {\r\n var response = await fetch(request);\r\n var body = await response.json();\r\n var instance: T = body;\r\n\r\n return OpResult.OK(instance);\r\n } catch (e) {\r\n return OpResult.Error(e);\r\n }\r\n }\r\n\r\n public static async fetchSVGAsync(url: string): Promise> {\r\n try {\r\n var sr = await HttpClient.fetchStringAsync(url);\r\n\r\n if (sr.IsNotOK) {\r\n return sr.AsOpResult();\r\n }\r\n\r\n var svgDoc = new DOMParser().parseFromString(sr.Result, \"image/svg+xml\");\r\n\r\n var svgElements = svgDoc.getElementsByTagNameNS(\"http://www.w3.org/2000/svg\", \"svg\");\r\n\r\n if (svgElements.length == 0) {\r\n return OpResult.Fail(\"Item image is not an SVG\");\r\n }\r\n\r\n var svg: SVGElement = svgElements[0];\r\n\r\n return OpResult.OK(svg); // Extensions.OK(svgDoc);\r\n\r\n } catch (e) {\r\n return OpResult.Error(e);\r\n }\r\n }\r\n}\r\n"]}