{"version":3,"sources":["https://lively-kernel.org/lively4/lively4-eventsourcing/src/client/protocols/tmp.js"],"names":["Scheme","PolymorphicIdentifier","focalStorage","parseQuery","getDeepProperty","TmpScheme","scheme","tmpFiles","window","lively4tmpFiles","Map","resolve","path","url","replace","GET","options","content","get","Response","status","PUT","set","body","DELETE","OPTIONS","JSON","stringify","error","name","register"],"mappings":";;;;;;AAAQA,Y,oBAAAA,M;AACDC,2B;;AACAC,kB;;AACCC,gB,UAAAA,U;AAAYC,qB,UAAAA,e;;;;;;;;;;;AAHZJ,iD;;;;;;;;;;;;;AACDC,gE;;;;;;;;;;;;;AACAC,uD;;;;;;;;;;;;;AACaE,0D;;;;;;;;;;;;;AAAZD,qD;;;;;;;AAGD,YAAME,SAAN,SAAwBL,MAAxB,CAA+B;;AAEpC,YAAIM,MAAJ,GAAa;AACX,iBAAO,KAAP;AACD;;AAEDC,mBAAW;AACT,cAAI,CAACC,OAAOC,eAAZ,EAA6B;AAC3BD,mBAAOC,eAAP,GAAyB,IAAIC,GAAJ,EAAzB;AACD;AACD,iBAAOF,OAAOC,eAAd;AACD;;AAGDE,kBAAU;AACR,iBAAO,IAAP;AACD;;AAED,YAAIC,IAAJ,GAAW;AACT,iBAAO,KAAKC,GAAL,CAASC,OAAT,CAAiB,WAAjB,EAA6B,GAA7B,CAAP;AACD;;AAGD,cAAMC,GAAN,CAAUC,OAAV,EAAmB;AACjB,cAAIJ,OAAO,KAAKA,IAAhB;;AAGA,cAAIK,UAAU,KAAKV,QAAL,GAAgBW,GAAhB,CAAoBN,IAApB,CAAd;AACA,cAAI,CAACK,OAAL,EAAc;AACX,mBAAO,IAAIE,QAAJ,CAAaP,OAAO,YAApB,EAAkC,EAACQ,QAAQ,GAAT,EAAlC,CAAP;AACF;;AAED,iBAAO,IAAID,QAAJ,CAAaF,OAAb,EAAsB,EAACG,QAAQ,GAAT,EAAtB,CAAP;AACD;;AAED,cAAMC,GAAN,CAAUL,OAAV,EAAmB;AACjB,cAAIJ,OAAO,KAAKA,IAAhB;;AAEA,eAAKL,QAAL,GAAgBe,GAAhB,CAAoBV,IAApB,EAA0BI,QAAQO,IAAlC;AACA,iBAAO,IAAIJ,QAAJ,CAAa,WAAWP,IAAxB,EAA8B,EAACQ,QAAQ,GAAT,EAA9B,CAAP;AACD;;AAED,cAAMI,MAAN,CAAaR,OAAb,EAAsB;AACpB,cAAIJ,OAAO,KAAKA,IAAhB;;AAEA,eAAKL,QAAL,GAAgBe,GAAhB,CAAoBV,IAApB,EAA0B,IAA1B;AACA,iBAAO,IAAIO,QAAJ,CAAa,aAAaP,IAA1B,EAAgC,EAACQ,QAAQ,GAAT,EAAhC,CAAP;AACD;;AAGD,cAAMK,OAAN,CAAcT,OAAd,EAAuB;AACrB,cAAIJ,OAAO,KAAKA,IAAL,EAAX;AACA,cAAIK,UAAU,KAAKV,QAAL,GAAgBW,GAAhB,CAAoBN,IAApB,CAAd;AACA,cAAI,CAACK,OAAL,EAAc;AACZ,mBAAO,IAAIE,QAAJ,CAAaO,KAAKC,SAAL,CAAe,EAACC,OAAO,iBAAR,EAAf,CAAb,EAAyD,EAACR,QAAQ,GAAT,EAAzD,CAAP;AACD;AACD,iBAAO,IAAID,QAAJ,CAAaO,KAAKC,SAAL,CAAe,EAACE,MAAMjB,IAAP,EAAf,CAAb,EAA2C,EAACQ,QAAQ,GAAT,EAA3C,CAAP;AACD;;AAzDmC;;;;;;;;;;+BAAzBf,0C;;;;;;;;AA+DbJ,4BAAsB6B,QAAtB,CAA+BzB,SAA/B","file":"tmp.js","sourcesContent":["import {Scheme}  from \"src/client/poid.js\"\nimport PolymorphicIdentifier  from \"src/client/poid.js\"\nimport focalStorage from \"src/external/focalStorage.js\"\nimport {parseQuery, getDeepProperty} from 'utils'\n\n\nexport class TmpScheme extends Scheme {\n  \n  get scheme() {\n    return \"tmp\"\n  }\n\n  tmpFiles() {\n    if (!window.lively4tmpFiles) {\n      window.lively4tmpFiles = new Map()\n    }\n    return window.lively4tmpFiles\n  }\n  \n  \n  resolve() {\n    return true\n  }  \n  \n  get path() {\n    return this.url.replace(/tmp\\:\\/\\//,\"/\")\n  }\n  \n  \n  async GET(options) {\n    var path = this.path\n    \n    \n    var content = this.tmpFiles().get(path)\n    if (!content) {\n       return new Response(path + \" not found\", {status: 404})\n    }\n    \n    return new Response(content, {status: 200})\n  }\n\n  async PUT(options) {\n    var path = this.path\n    \n    this.tmpFiles().set(path, options.body)\n    return new Response(\"wrote \" + path, {status: 200})\n  }\n\n  async DELETE(options) {\n    var path = this.path\n    \n    this.tmpFiles().set(path, null)\n    return new Response(\"deleted \" + path, {status: 200})\n  }\n\n  \n  async OPTIONS(options) {\n    var path = this.path()\n    var content = this.tmpFiles().get(path)\n    if (!content) {\n      return new Response(JSON.stringify({error: \"File not found!\"}), {status: 200})\n    }\n    return new Response(JSON.stringify({name: path}), {status: 200})\n  }\n  \n}\n\n\n\nPolymorphicIdentifier.register(TmpScheme)"]}