{ "version": 3, "file": "utils.js", "sourceRoot": "../src/coffee/", "sources": [ "utils.coffee" ], "names": [], "mappings": "AAAA;EAAA;AAAA,MAAA,UAAA;IAAA;;EAEA,MAAM,CAAC,QAAP,GAAkB,QAAA,CAAC,CAAD,CAAA;WAAO,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,IAAtB,CAA2B,CAA3B;EAAP;;EAElB,MAAM,CAAC,WAAP,GAAqB,QAAA,CAAC,OAAD,EAAU,IAAV,CAAA;WACpB,IAAI,CAAC,UAAU,CAAC,YAAhB,CAA6B,OAA7B,EAAsC,IAAI,CAAC,WAA3C;EADoB;;EAGrB,MAAM,CAAC,SAAP,GAAmB,QAAA,CAAC,GAAD,CAAA;AAClB,QAAA;IAAA,GAAA,GAAM,GAAG,CAAC,OAAJ,CAAY,QAAZ;IACC,IAAG,GAAA,GAAM,CAAT;aAAgB,IAAhB;KAAA,MAAA;aAAyB,GAAG,CAAC,SAAJ,CAAc,CAAd,EAAiB,GAAjB,EAAzB;;EAFW;;EAInB,MAAM,CAAC,UAAP,GAAoB,QAAA,CAAC,GAAD,CAAA;AACnB,WAAO,GACN,CAAC,OADK,CACG,IADH,EACS,OADT,CAEN,CAAC,OAFK,CAEG,KAFH,EAEU,OAFV,CAGN,CAAC,OAHK,CAGG,IAHH,EAGS,MAHT,CAIN,CAAC,OAJK,CAIG,IAJH,EAIS,MAJT,CAKN,CAAC,OALK,CAKG,IALH,EAKS,QALT,CAMN,CAAC,OANK,CAMG,IANH,EAMS,QANT;EADY;;EASpB,MAAM,CAAC,WAAP,GAAqB,QAAA,CAAA,CAAA;AACpB,QAAA,CAAA,EAAA;IAAA,CAAA,GAAI;IACJ,CAAA,GAAI;IACJ,IAAO,aAAgB,MAAhB,EAAA,YAAA,KAAP;MACC,CAAA,GAAI;MACJ,CAAA,GAAI,QAAQ,CAAC,eAAT,IAA4B,QAAQ,CAAC,KAF1C;;AAGA,WAAO;MAAE,KAAA,EAAO,CAAE,CAAA,CAAA,CAAA,CAAG,CAAH,CAAK,KAAL,CAAA,CAAX;MAAyB,MAAA,EAAQ,CAAE,CAAA,CAAA,CAAA,CAAG,CAAH,CAAK,MAAL,CAAA;IAAnC;EANa;;EAQrB,UAAA,GAAa,QAAA,CAAC,CAAD,EAAI,CAAJ,CAAA;AACZ,QAAA,GAAA,EAAA,IAAA,EAAA,GAAA,EAAA;IAAA,KAAA,QAAA;mBAAA;;MAEC,IAAG,GAAA,KAAO,OAAV;QACuB,KAAA,WAAA;;UAAtB,CAAC,CAAC,KAAM,CAAA,IAAA,CAAR,GAAgB;QAAM,CADvB;OAAA,MAEK,IAAG,OAAO,GAAP,KAAc,QAAd,IAA2B,gBAA9B;QACJ,CAAE,CAAA,GAAA,CAAF,GAAS,UAAA,CAAW,CAAE,CAAA,GAAA,CAAb,EAAmB,GAAnB,EADL;OAAA,MAAA;QAGJ,CAAE,CAAA,GAAA,CAAF,GAAS,IAHL;;IAJN;AAQA,WAAO;EATK;;EAWb,MAAM,CAAC,eAAP,GAAyB,QAAA,CAAC,QAAD,EAAW,SAAX,CAAA;AACxB,QAAA;IAAA,OAAA,GAAU,QAAQ,CAAC,aAAT,CAAuB,QAAvB;IACV,IAAG,iBAAH;MACC,OAAA,GAAU,UAAA,CAAW,OAAX,EAAoB,SAApB,EADX;;AAEA,WAAO;EAJiB;AAvCzB", "sourcesContent": [ "'use strict'\n\nwindow.fromList = (x) -> Array.prototype.slice.call x\n\nwindow.insertAfter = (newNode, node) ->\n\tnode.parentNode.insertBefore(newNode, node.nextSibling)\n\nwindow.stripPage = (url) ->\n\tidx = url.indexOf \"/page/\"\n\treturn if idx < 0 then url else url.substring 0, idx\n\nwindow.escapeHTML = (str) ->\n\treturn str\n\t\t.replace(/&/g, \"&\")\n\t\t.replace(/\\//g, \"/\")\n\t\t.replace(//g, \">\")\n\t\t.replace(/\"/g, \""\")\n\t\t.replace(/'/g, \"'\")\n\nwindow.getViewport = ->\n\te = window\n\ta = 'inner'\n\tunless 'innerWidth' in window\n\t\ta = 'client'\n\t\te = document.documentElement || document.body\n\treturn { width: e[\"#{a}Width\"], height: e[\"#{a}Height\"] }\n\nmergeProps = (a, b) ->\n\tfor key, val of b\n\t\t# Style is picky, can't recurse\n\t\tif key is \"style\"\n\t\t\ta.style[prop] = value for prop, value of val\n\t\telse if typeof val is \"object\" and a[key]?\n\t\t\ta[key] = mergeProps a[key], val\n\t\telse\n\t\t\ta[key] = val\n\treturn a\n\nwindow.createElementEx = (elemName, elemProps) ->\n\telement = document.createElement elemName\n\tif elemProps?\n\t\telement = mergeProps element, elemProps\n\treturn element\n" ] }