{"version":3,"sources":["https://lively-kernel.org/lively4/lively4-synctool/src/components/widgets/lively-error.js"],"names":["Morph","Files","LivelyError","initialize","update","stack","s","setAttribute","getAttribute","split","forEach","line","lineSpan","document","createElement","m","match","call","ref","parseSourceReference","textContent","link","url","replace","lively4url","href","addEventListener","evt","preventDefault","lively","openBrowser","appendChild","get","livelyExample","foo","bar","e"],"mappings":";;;;;;;;;AAAOA,W;;AACAC,W;;;;;;;;;;;AADAD,gD;;;;;;;;;;;;;AACAC,gD;;;;;;;AAEQ,YAAMC,WAAN,SAA0BF,KAA1B,CAAgC;;AAE7CG,qBAAa;AACX,eAAKC,MAAL;AACD;;AAED,YAAIC,KAAJ,CAAUC,CAAV,EAAa;AACX,eAAKC,YAAL,CAAkB,OAAlB,EAA2BD,CAA3B;AACA,eAAKF,MAAL;AACD;;AAED,YAAIC,KAAJ,GAAY;AACV,iBAAO,KAAKG,YAAL,CAAkB,OAAlB,CAAP;AACD;;AAEDJ,iBAAS;AACP,cAAIC,QAAQ,KAAKG,YAAL,CAAkB,OAAlB,CAAZ;AACA,cAAI,CAACH,KAAL,EAAY;;AAEZA,gBAAMI,KAAN,CAAY,IAAZ,EAAkBC,OAAlB,CAA0BC,QAAQ;AAChC,gBAAIC,8BAAWC,SAASC,aAAT,CAAuB,MAAvB,CAAX;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,cAAJ;AACA,gBAAIC,IAAIJ,KAAKK,KAAL,CAAW,uCAAX,CAAR;AACA,gBAAID,CAAJ,EAAO;AACL,kBAAIE,OAAOF,EAAE,CAAF,CAAX;AACA,kBAAIG,MAAMjB,MAAMkB,oBAAN,CAA2BJ,EAAE,CAAF,CAA3B,CAAV;AACAH,uBAASQ,WAAT,GAAuBH,IAAvB;AACA,kBAAII,0BAAOR,SAASC,aAAT,CAAuB,GAAvB,CAAP;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,gBAAJ;AACAO,mBAAKD,WAAL,GAAmBF,IAAII,GAAJ,CAAQC,OAAR,CAAgBC,UAAhB,EAA4B,EAA5B,IAAkC,IAArD;AACAH,mBAAKI,IAAL,GAAYP,IAAII,GAAhB;AACAD,mBAAKK,gBAAL,CAAsB,OAAtB,EAAgCC,GAAD,IAAS;AACtCA,oBAAIC,cAAJ;AACAC,uBAAOC,WAAP,CAAmBZ,IAAII,GAAvB,EAA4B,IAA5B,EAAkCJ,GAAlC;AACA,uBAAO,IAAP;AACD,eAJD;;AAMAN,uBAASmB,WAAT,CAAqBV,IAArB;AACD,aAdD,MAcO;AACLT,uBAASQ,WAAT,GAAuB,KAAKT,IAAL,GAAY,IAAnC;AACD;AACD,iBAAKqB,GAAL,CAAS,QAAT,EAAmBD,WAAnB,CAA+BnB,QAA/B;AACD,WArBD;AAsBD;;AAEDqB,wBAAgB;AACd,cAAI;AACF,gBAAIC,MAAO,EAAX;AACAA,gBAAIC,GAAJ;AACD,WAHD,CAGE,OAAMC,CAAN,EAAS;AACT,iBAAK/B,KAAL,GAAa+B,EAAE/B,KAAf;AACD;AACF;AAlD4C;;yBAA1BH,W;;;;;;;;6BAAAA,4C","file":"lively-error.js","sourcesContent":["import Morph from 'src/components/widgets/lively-morph.js';\nimport Files from 'src/client/files.js'\n\nexport default class LivelyError extends Morph {\n\n  initialize() {\n    this.update()\n  }\n\n  set stack(s) {\n    this.setAttribute(\"stack\", s)\n    this.update()\n  }\n\n  get stack() {\n    return this.getAttribute(\"stack\")\n  }\n\n  update() {\n    var stack = this.getAttribute(\"stack\")\n    if (!stack) return;\n\n    stack.split(\"\\n\").forEach(line => {\n      let lineSpan = document.createElement(\"span\")\n      var m = line.match(/(.*?)\\(?(https?:\\/\\/.*:[0-9]+:[0-9]+)/)\n      if (m) {\n        var call = m[1]\n        var ref = Files.parseSourceReference(m[2])\n        lineSpan.textContent = call\n        var link = document.createElement(\"a\")\n        link.textContent = ref.url.replace(lively4url, \"\") + \"\\n\"\n        link.href = ref.url\n        link.addEventListener(\"click\", (evt) => {\n          evt.preventDefault()\n          lively.openBrowser(ref.url, true, ref)\n          return true\n        })\n\n        lineSpan.appendChild(link)\n      } else {\n        lineSpan.textContent = \"\" + line + \"\\n\"\n      }\n      this.get(\"#stack\").appendChild(lineSpan)\n    })\n  }\n  \n  livelyExample() {\n    try {\n      var foo  = {}\n      foo.bar()\n    } catch(e) {\n      this.stack = e.stack\n    } \n  }\n}\n"]}