{"version":3,"names":["createView","content","createEditor","createDependents","name","componentWindow","lively","openComponentInWindow","input","JSON","parse","inputs","script","Script","fromJSON","myCurrentScript","widget","_addSourceLocation","create","file","end","column","line","start","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","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","_","_export","setters","_reactiveJsx","addSourceLocation","_srcClientVivideVividescriptJs","default","_srcClientVivideUtilsJs","scriptFolder","stepFolder","applicationFolder","execute","__SystemJSRewritingHack","_recorder_","_src_client_vivide_scripts_loading_js","defineProperty","get","set","thisIsVererySecretVariableName","enumerable","configurable","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":"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"}