{"version":3,"names":["createView","content","createEditor","createDependents","name","componentWindow","lively","openComponentInWindow","input","JSON","parse","inputs","script","Script","fromJSON","myCurrentScript","widget","create","setView","scriptGotUpdated","scriptEditor","createScriptEditor","setScript","applicationName","Promise","all","inputSources","map","i","forEach","connectTo","outputs","o","length","newDataFromUpstream","url","view","config","fetch","then","f","json","openFile","file","filepath","split","files","loadFile","replace","obj","key","rep","undefined","getDetails","r","j","scheme","description","calcScore","toFit","score","Object","keys","getMatches","search","allFiles","details","d","filter","includes","sort","a","b","_","scriptFolder","stepFolder","applicationFolder","autoGenerated","folders","folderURL","statFile","contents","type","test"],"sources":["loading.js"],"sourcesContent":["import Script from 'src/client/vivide/vividescript.js';\nimport { scriptFolder, stepFolder, applicationFolder } from 'src/client/vivide/utils.js';\n\nlet autoGenerated = /(.*-template\\.js(on)?$)|(.md?$)/;\nconst folders = [scriptFolder, stepFolder, applicationFolder];\n\nexport let allFiles = () => Promise.all(folders.map(folderURL => \n     lively.files.statFile(folderURL).then(j => \n      JSON.parse(j).contents\n       .filter(({ type }) => type === 'file')\n       .filter(({name}) => !autoGenerated.test(name))\n       .map(({name}) => folderURL+name))\n));\n\nexport async function createView(content, createEditor = false, createDependents = false, name){\n  const componentWindow = await lively.openComponentInWindow('vivide-view');\n  if (!createDependents) componentWindow.input = JSON.parse(content.inputs);\n  const script = await Script.fromJSON(content.script,componentWindow);\n  componentWindow.myCurrentScript = script;\n  const widget = await lively.create(content.widget);\n  widget.setView(componentWindow);\n  await componentWindow.scriptGotUpdated();\n  if(createEditor){\n    const scriptEditor = await componentWindow.createScriptEditor();\n    scriptEditor.setView(componentWindow);\n    await scriptEditor.setScript(script);\n  }\n  if(createDependents){\n    componentWindow.applicationName = name;\n    const inputs = await Promise.all(content.inputSources.map(i => createView(i, false, true, name)));\n    inputs.forEach(i => i.connectTo(componentWindow));\n    const outputs = await Promise.all(content.outputs.map(o => createView(o, false, true, name)));\n    outputs.forEach(o => componentWindow.connectTo(o));\n    if(content.inputs && content.inputs && content.inputs.length !== 0){\n      componentWindow.newDataFromUpstream(content.inputs);\n    }\n  }\n  return componentWindow;\n}\n\nexport async function setScript(url, view){\n  const config = await fetch(url).then(f => f.json());\n  const widget = await lively.create(config.widget);\n  widget.setView(view)\n  const script = await Script.fromJSON(config.script, view);\n  view.myCurrentScript = script;\n  const scriptEditor = await view.createScriptEditor();\n  scriptEditor.setView(view);\n  await scriptEditor.setScript(script);\n  await view.scriptGotUpdated();\n}\n\nexport async function openFile(file, createEditor, createDependents){\n  const filepath = file.split('/');\n  const content = JSON.parse(await lively.files.loadFile(file));\n  const name = filepath[filepath.length-1].split('.')[0];\n  await createView(content, createEditor, createDependents, name);\n}\n\nfunction replace(obj, key, rep = true){\n   return typeof obj[key] === \"undefined\" ? rep ? `No ${key} provided` : undefined : obj[key]\n}\n\nexport function getDetails(file, rep = false) {\n  return fetch(file)\n    .then(r => r.json())\n    .then(j => ({\n      scheme: replace(j, \"inScheme\", true),\n      description: replace(j, \"description\", rep)\n    }))\n}\n\nfunction calcScore(scheme, toFit){\n  if(!(scheme && toFit)) return 0;\n  if(scheme === toFit) return 100;\n  let score = 0;\n  Object.keys(toFit).forEach(key => {\n    if(scheme[key]){\n      score++;\n      if(toFit[key]===scheme[key]){\n        score++;\n      }\n    }\n  });\n  return score/Object.keys(toFit).length\n}\n\nexport async function getMatches(scheme, search){\n  const all = await allFiles();\n  const details  = await Promise.all(all[0].map(f => getDetails(f).then(d => ({name: f, details: d}))));\n  return details\n          .filter(f => search ? f.name.includes(search) : true)\n          .sort((a, b) => calcScore(\n              JSON.parse(scheme),\n              b.details.scheme\n            )-calcScore(\n              JSON.parse(scheme),\n              a.details.scheme\n          ))\n          .filter((_, i) => i<3)\n          .map(f => ({\n            name: f.name.split('/')[f.name.split('/').length-1].split('.')[0],\n            url: f.name\n          }))\n    \n}"],"mappings":";;;;EAcO,eAAeA,UAAU,CAACC,OAAO,EAAEC,YAAY,GAAG,KAAK,EAAEC,gBAAgB,GAAG,KAAK,EAAEC,IAAI,EAAC;IAC7F,MAAMC,eAAe,GAAG,MAAMC,MAAM,CAACC,qBAAqB,CAAC,aAAa,CAAC;IACzE,IAAI,CAACJ,gBAAgB,EAAEE,eAAe,CAACG,KAAK,GAAGC,IAAI,CAACC,KAAK,CAACT,OAAO,CAACU,MAAM,CAAC;IACzE,MAAMC,MAAM,GAAG,MAAMC,MAAM,CAACC,QAAQ,CAACb,OAAO,CAACW,MAAM,EAACP,eAAe,CAAC;IACpEA,eAAe,CAACU,eAAe,GAAGH,MAAM;IACxC,MAAMI,MAAM,GAAG,yBAAMV,MAAM,CAACW,MAAM,CAAChB,OAAO,CAACe,MAAM,CAAC;MAAA;MAAA;QAAA;QAAA;MAAA;MAAA;QAAA;QAAA;MAAA;IAAA;IAClDA,MAAM,CAACE,OAAO,CAACb,eAAe,CAAC;IAC/B,MAAMA,eAAe,CAACc,gBAAgB,EAAE;IACxC,IAAGjB,YAAY,EAAC;MACd,MAAMkB,YAAY,GAAG,MAAMf,eAAe,CAACgB,kBAAkB,EAAE;MAC/DD,YAAY,CAACF,OAAO,CAACb,eAAe,CAAC;MACrC,MAAMe,YAAY,CAACE,SAAS,CAACV,MAAM,CAAC;IACtC;IACA,IAAGT,gBAAgB,EAAC;MAClBE,eAAe,CAACkB,eAAe,GAAGnB,IAAI;MACtC,MAAMO,MAAM,GAAG,MAAMa,OAAO,CAACC,GAAG,CAACxB,OAAO,CAACyB,YAAY,CAACC,GAAG,CAACC,CAAC,IAAI5B,UAAU,CAAC4B,CAAC,EAAE,KAAK,EAAE,IAAI,EAAExB,IAAI,CAAC,CAAC,CAAC;MACjGO,MAAM,CAACkB,OAAO,CAACD,CAAC,IAAIA,CAAC,CAACE,SAAS,CAACzB,eAAe,CAAC,CAAC;MACjD,MAAM0B,OAAO,GAAG,MAAMP,OAAO,CAACC,GAAG,CAACxB,OAAO,CAAC8B,OAAO,CAACJ,GAAG,CAACK,CAAC,IAAIhC,UAAU,CAACgC,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE5B,IAAI,CAAC,CAAC,CAAC;MAC7F2B,OAAO,CAACF,OAAO,CAACG,CAAC,IAAI3B,eAAe,CAACyB,SAAS,CAACE,CAAC,CAAC,CAAC;MAClD,IAAG/B,OAAO,CAACU,MAAM,IAAIV,OAAO,CAACU,MAAM,IAAIV,OAAO,CAACU,MAAM,CAACsB,MAAM,KAAK,CAAC,EAAC;QACjE5B,eAAe,CAAC6B,mBAAmB,CAACjC,OAAO,CAACU,MAAM,CAAC;MACrD;IACF;IACA,OAAON,eAAe;EACxB;EAEO,eAAeiB,SAAS,CAACa,GAAG,EAAEC,IAAI,EAAC;IACxC,MAAMC,MAAM,GAAG,MAAMC,KAAK,CAACH,GAAG,CAAC,CAACI,IAAI,CAACC,CAAC,IAAIA,CAAC,CAACC,IAAI,EAAE,CAAC;IACnD,MAAMzB,MAAM,GAAG,yBAAMV,MAAM,CAACW,MAAM,CAACoB,MAAM,CAACrB,MAAM,CAAC;MAAA;MAAA;QAAA;QAAA;MAAA;MAAA;QAAA;QAAA;MAAA;IAAA;IACjDA,MAAM,CAACE,OAAO,CAACkB,IAAI,CAAC;IACpB,MAAMxB,MAAM,GAAG,MAAMC,MAAM,CAACC,QAAQ,CAACuB,MAAM,CAACzB,MAAM,EAAEwB,IAAI,CAAC;IACzDA,IAAI,CAACrB,eAAe,GAAGH,MAAM;IAC7B,MAAMQ,YAAY,GAAG,MAAMgB,IAAI,CAACf,kBAAkB,EAAE;IACpDD,YAAY,CAACF,OAAO,CAACkB,IAAI,CAAC;IAC1B,MAAMhB,YAAY,CAACE,SAAS,CAACV,MAAM,CAAC;IACpC,MAAMwB,IAAI,CAACjB,gBAAgB,EAAE;EAC/B;EAEO,eAAeuB,QAAQ,CAACC,IAAI,EAAEzC,YAAY,EAAEC,gBAAgB,EAAC;IAClE,MAAMyC,QAAQ,GAAGD,IAAI,CAACE,KAAK,CAAC,GAAG,CAAC;IAChC,MAAM5C,OAAO,GAAGQ,IAAI,CAACC,KAAK,CAAC,MAAMJ,MAAM,CAACwC,KAAK,CAACC,QAAQ,CAACJ,IAAI,CAAC,CAAC;IAC7D,MAAMvC,IAAI,GAAGwC,QAAQ,CAACA,QAAQ,CAACX,MAAM,GAAC,CAAC,CAAC,CAACY,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;IACtD,MAAM7C,UAAU,CAACC,OAAO,EAAEC,YAAY,EAAEC,gBAAgB,EAAEC,IAAI,CAAC;EACjE;EAEA,SAAS4C,OAAO,CAACC,GAAG,EAAEC,GAAG,EAAEC,GAAG,GAAG,IAAI,EAAC;IACnC,OAAO,OAAOF,GAAG,CAACC,GAAG,CAAC,KAAK,WAAW,GAAGC,GAAG,GAAI,MAAKD,GAAI,WAAU,GAAGE,SAAS,GAAGH,GAAG,CAACC,GAAG,CAAC;EAC7F;EAEO,SAASG,UAAU,CAACV,IAAI,EAAEQ,GAAG,GAAG,KAAK,EAAE;IAC5C,OAAOb,KAAK,CAACK,IAAI,CAAC,CACfJ,IAAI,CAACe,CAAC,IAAIA,CAAC,CAACb,IAAI,EAAE,CAAC,CACnBF,IAAI,CAACgB,CAAC,KAAK;MACVC,MAAM,EAAER,OAAO,CAACO,CAAC,EAAE,UAAU,EAAE,IAAI,CAAC;MACpCE,WAAW,EAAET,OAAO,CAACO,CAAC,EAAE,aAAa,EAAEJ,GAAG;IAC5C,CAAC,CAAC,CAAC;EACP;EAEA,SAASO,SAAS,CAACF,MAAM,EAAEG,KAAK,EAAC;IAC/B,IAAG,EAAEH,MAAM,IAAIG,KAAK,CAAC,EAAE,OAAO,CAAC;IAC/B,IAAGH,MAAM,KAAKG,KAAK,EAAE,OAAO,GAAG;IAC/B,IAAIC,KAAK,GAAG,CAAC;IACbC,MAAM,CAACC,IAAI,CAACH,KAAK,CAAC,CAAC9B,OAAO,CAACqB,GAAG,IAAI;MAChC,IAAGM,MAAM,CAACN,GAAG,CAAC,EAAC;QACbU,KAAK,EAAE;QACP,IAAGD,KAAK,CAACT,GAAG,CAAC,KAAGM,MAAM,CAACN,GAAG,CAAC,EAAC;UAC1BU,KAAK,EAAE;QACT;MACF;IACF,CAAC,CAAC;IACF,OAAOA,KAAK,GAACC,MAAM,CAACC,IAAI,CAACH,KAAK,CAAC,CAAC1B,MAAM;EACxC;EAEO,eAAe8B,UAAU,CAACP,MAAM,EAAEQ,MAAM,EAAC;IAC9C,MAAMvC,GAAG,GAAG,MAAMwC,QAAQ,EAAE;IAC5B,MAAMC,OAAO,GAAI,MAAM1C,OAAO,CAACC,GAAG,CAACA,GAAG,CAAC,CAAC,CAAC,CAACE,GAAG,CAACa,CAAC,IAAIa,UAAU,CAACb,CAAC,CAAC,CAACD,IAAI,CAAC4B,CAAC,KAAK;MAAC/D,IAAI,EAAEoC,CAAC;MAAE0B,OAAO,EAAEC;IAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACrG,OAAOD,OAAO,CACLE,MAAM,CAAC5B,CAAC,IAAIwB,MAAM,GAAGxB,CAAC,CAACpC,IAAI,CAACiE,QAAQ,CAACL,MAAM,CAAC,GAAG,IAAI,CAAC,CACpDM,IAAI,CAAC,CAACC,CAAC,EAAEC,CAAC,KAAKd,SAAS,CACrBjD,IAAI,CAACC,KAAK,CAAC8C,MAAM,CAAC,EAClBgB,CAAC,CAACN,OAAO,CAACV,MAAM,CACjB,GAACE,SAAS,CACTjD,IAAI,CAACC,KAAK,CAAC8C,MAAM,CAAC,EAClBe,CAAC,CAACL,OAAO,CAACV,MAAM,CACnB,CAAC,CACDY,MAAM,CAAC,CAACK,CAAC,EAAE7C,CAAC,KAAKA,CAAC,GAAC,CAAC,CAAC,CACrBD,GAAG,CAACa,CAAC,KAAK;MACTpC,IAAI,EAAEoC,CAAC,CAACpC,IAAI,CAACyC,KAAK,CAAC,GAAG,CAAC,CAACL,CAAC,CAACpC,IAAI,CAACyC,KAAK,CAAC,GAAG,CAAC,CAACZ,MAAM,GAAC,CAAC,CAAC,CAACY,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;MACjEV,GAAG,EAAEK,CAAC,CAACpC;IACT,CAAC,CAAC,CAAC;EAEb;EAAC;IAAA,YA3FqBJ,UAAU;IAAA,WA0BVsB,SAAS;IAAA,UAYToB,QAAQ;IAAA,YAWdW,UAAU;IAAA,YAwBJU;EAAU;EAAA;IAAA;MAAA;IAAA;MAvFzBlD,MAAM;IAAA;MACJ6D,YAAY,2BAAZA,YAAY;MAAEC,UAAU,2BAAVA,UAAU;MAAEC,iBAAiB,2BAAjBA,iBAAiB;IAAA;IAAA;MAAA;MAAA;MAAA;QAAA;UAAA;QAAA;QAAA;UAAA,sBAsF9Bb,2CAAU;UAAA;QAAA;QAAA;QAAA;MAAA;MAAA;QAAA;UAAA;QAAA;QAAA;UAfvBL,0CAAS;UAAA;QAAA;QAAA;QAAA;MAAA;MAAA;QAAA;UAAA;QAAA;QAAA;UAAA,sBATFL,2CAAU;UAAA;QAAA;QAAA;QAAA;MAAA;MAAA;QAAA;UAAA;QAAA;QAAA;UAJjBL,wCAAO;UAAA;QAAA;QAAA;QAAA;MAAA;MAAA;QAAA;UAAA;QAAA;QAAA;UAAA,oBAPMN,yCAAQ;UAAA;QAAA;QAAA;QAAA;MAAA;MAAA;QAAA;UAAA;QAAA;QAAA;UAAA,qBAZRpB,0CAAS;UAAA;QAAA;QAAA;QAAA;MAAA;MAAA;QAAA;UAAA;QAAA;QAAA;UAAA,sBA1BTtB,2CAAU;UAAA;QAAA;QAAA;QAAA;MAAA;MAAA;QAAA;UAAA;QAAA;QAAA;UAdzBa,uCAAM;UAAA;QAAA;QAAA;QAAA;MAAA;MAAA;QAAA;UAAA;QAAA;QAAA;UACsB+D,kDAAiB;UAAA;QAAA;QAAA;QAAA;MAAA;MAAA;QAAA;UAAA;QAAA;QAAA;UAA7BD,2CAAU;UAAA;QAAA;QAAA;QAAA;MAAA;MAAA;QAAA;UAAA;QAAA;QAAA;UAAxBD,6CAAY;UAAA;QAAA;QAAA;QAAA;MAAA;MAEjBG,aAAa,GAAG,iCAAiC;MAAA;QAAA;UAAA;QAAA;QAAA;UAAjDA,8CAAa;UAAA;QAAA;QAAA;QAAA;MAAA;MACXC,OAAO,GAAG,CAACJ,YAAY,EAAEC,UAAU,EAAEC,iBAAiB,CAAC;MAAA;QAAA;UAAA;QAAA;QAAA;UAAvDE,wCAAO;UAAA;QAAA;QAAA;QAAA;MAAA;MAAA,oBAEFb,QAAQ,GAAG,MAAMzC,OAAO,CAACC,GAAG,CAACqD,OAAO,CAACnD,GAAG,CAACoD,SAAS,IACxDzE,MAAM,CAACwC,KAAK,CAACkC,QAAQ,CAACD,SAAS,CAAC,CAACxC,IAAI,CAACgB,CAAC,IACtC9C,IAAI,CAACC,KAAK,CAAC6C,CAAC,CAAC,CAAC0B,QAAQ,CACpBb,MAAM,CAAC,CAAC;QAAEc;MAAK,CAAC,KAAKA,IAAI,KAAK,MAAM,CAAC,CACrCd,MAAM,CAAC,CAAC;QAAChE;MAAI,CAAC,KAAK,CAACyE,aAAa,CAACM,IAAI,CAAC/E,IAAI,CAAC,CAAC,CAC7CuB,GAAG,CAAC,CAAC;QAACvB;MAAI,CAAC,KAAK2E,SAAS,GAAC3E,IAAI,CAAC,CAAC,CACvC,CAAC;MAAA;QAAA;UAAA;QAAA;QAAA;UAAA,oBANS6D,yCAAQ;UAAA;QAAA;QAAA;QAAA;MAAA;IAAA;EAAA;AAAA"}