{"version":3,"sources":["https://lively-kernel.org/lively4/swt1-debugging/src/client/vivide/scripts/saving.js"],"names":["scriptFolder","stepFolder","applicationFolder","getName","saveTarget","type","noNameProvided","name","description","lively","prompt","undefined","url","exists","files","confirm","writeFile","content","res","saveFile","ok","success","error","text"],"mappings":";;;;;;AAASA,kB,2BAAAA,Y;AAAcC,gB,2BAAAA,U;AAAYC,uB,2BAAAA,iB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAE5B,qBAAeC,OAAf,CAAuBC,UAAvB,EAAmCC,IAAnC,EAAyCC,cAAzC,EAAwD;AAC3D,YAAIC,IAAJ,EAAUC,WAAV;AACA,YAAGF,kBAAkB,CAACF,WAAY,GAAEC,IAAK,MAAnB,CAAtB,EAAgD;AAC9CE,iBAAO,MAAME,OAAOC,MAAP,CAAc,sBAAd,EAAuC,UAASL,IAAK,OAArD,CAAb;;AAEA;AACAG,wBAAc,EAAd,CAJ8C,CAI7B;AAClB,SALD,MAKO;AACLD,iBAAOH,WAAY,GAAEC,IAAK,MAAnB,CAAP;AACAG,wBAAcJ,WAAY,GAAEC,IAAK,aAAnB,CAAd;AACD;AACDD,mBAAY,GAAEC,IAAK,MAAnB,IAA4BE,IAA5B;AACAH,mBAAY,GAAEC,IAAK,aAAnB,IAAmCG,WAAnC;AACA,YAAID,SAASI,SAAb,EAAwB,OAAO,EAACJ,IAAD,EAAP;AACxB,cAAMK,MAAO,GAAEP,SAAS,QAAT,GAAmBL,YAAnB,GAAkCE,iBAAkB,GAAEK,IAAK,OAA1E;AACA,cAAMM,SAAS,MAAMJ,OAAOK,KAAP,CAAaD,MAAb,CAAoBD,GAApB,CAArB;AACA,YAAGC,MAAH,EAAU;AACR,gBAAME,UAAU,MAAMN,OAAOM,OAAP,CAAgB,sCAAqCR,IAAK,GAA1D,CAAtB;AACA,cAAG,CAACQ,OAAJ,EAAY;AACV,mBAAOZ,QAAQC,UAAR,EAAoBC,IAApB,EAA0B,IAA1B,CAAP;AACD;AACF;AACD,eAAO,EAACE,IAAD,EAAOC,WAAP,EAAoBI,GAApB,EAAP;AACD;;;;AAGI,qBAAeI,SAAf,CAAyBJ,GAAzB,EAA8BK,OAA9B,EAAsC;AAC3C,cAAMC,MAAM,MAAMT,OAAOK,KAAP,CAAaK,QAAb,CAAsBP,GAAtB,EAA2BK,OAA3B,CAAlB;AACA,YAAGC,IAAIE,EAAP,EAAU;AACRX,iBAAOY,OAAP,CAAe,OAAf;AACD,SAFD,MAEK;AACHZ,iBAAOa,KAAP,EAAa,MAAMJ,IAAIK,IAAJ,EAAnB;AACD;AACF","file":"saving.js","sourcesContent":["import { scriptFolder, stepFolder, applicationFolder } from 'src/client/vivide/utils.js';\n\nexport async function getName(saveTarget, type, noNameProvided){\n    let name, description;\n    if(noNameProvided || !saveTarget[`${type}Name`]){\n      name = await lively.prompt(\"Please attach a name\", `vivide-${type}-name`);\n      \n      // bad UI\n      description = \"\" // await lively.prompt(\"You may add a short description\", \"\");\n    } else {\n      name = saveTarget[`${type}Name`];\n      description = saveTarget[`${type}Description`];\n    }\n    saveTarget[`${type}Name`] = name;\n    saveTarget[`${type}Description`] = description;\n    if (name === undefined) return {name};\n    const url = `${type === \"script\"? scriptFolder : applicationFolder}${name}.json`;\n    const exists = await lively.files.exists(url);\n    if(exists){   \n      const confirm = await lively.confirm(`Are you sure you want to overwrite ${name}?`);\n      if(!confirm){\n        return getName(saveTarget, type, true);\n      }\n    }\n    return {name, description, url};\n  }\n\n\nexport async function writeFile(url, content){\n  const res = await lively.files.saveFile(url, content);\n  if(res.ok){\n    lively.success(\"Saved\");\n  }else{\n    lively.error(await res.text())\n  }\n}"]}