{"version":3,"names":["WikipediaScheme","__SystemJSRewritingHack","_export","setters","_srcClientPoidJs","Scheme","PolymorphicIdentifier","default","_srcExternalFocalStorageJs","focalStorage","_utils","parseQuery","getDeepProperty","execute","_recorder_","_src_client_protocols_wikipedia_js","Object","defineProperty","get","set","thisIsVererySecretVariableName","enumerable","configurable","scheme","resolve","getContent","urlObj","URL","url","entry","pathname","replace","lang","split","query","mode","content","fetch","then","r","text","GET","options","Response","status","headers","OPTIONS","roots","lively","html","parseHTML","children","name","href","type","navboxes","allQuerySelectorAll","links","forEach","ea","push","textContent","getAttribute","JSON","stringify","parent","contents","register"],"sources":["wikipedia.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// #TODO conflict with src/client/poid.js#LivelyWikipedia\nexport class WikipediaScheme extends Scheme {\n  \n  get scheme() {\n    return \"wikipedia\"\n  }\n  \n  resolve() {\n    return true\n  } \n  \n  \n  async getContent() {\n    let urlObj = new URL(this.url)\n    var entry = urlObj.pathname.replace(/^\\/*/,\"\")\n    // window.open(\"https://www.wikiwand.com/\" + entry)\n    \n    this.lang = entry.split(\"/\")[0]\n    var query = entry.split(\"/\")[1]\n    \n    this.mode = \"html\" \n    var content = await fetch(`https://${this.lang}.wikipedia.org/api/rest_v1/page/${this.mode}/${query}`).then(r => r.text())\n    return content\n      .replace(/rel=\"mw:WikiLink\" href=\"\\.\\//g, `rel=\"mw:WikiLink\" href=\"wikipedia://${this.lang}/`)\n  }\n  \n  async GET(options) {\n\n   \n    var content = (await this.getContent())\n    \n    return new Response(content, {\n      status: 200,\n      headers: {\n        'content-type': \"text/html\"\n      }\n    })\n    // var content = await fetch(`https://${lang}.wikipedia.org/api/rest_v1/page/${mode}/${query}`).then(r => r.text())\n    /// return new Response(content, {status: 200})\n  }\n\n  \n  async OPTIONS(options) {\n    let urlObj = new URL(this.url)\n    var content = await this.getContent()\n    var roots = lively.html.parseHTML(content)\n    \n    \n    var children = [\n      {\n        name: urlObj.pathname.replace(/.*\\//,\"\"),\n        href: this.url,\n        type: \"file\",\n      }, \n    ]\n    \n    debugger\n    var navboxes = lively.html.allQuerySelectorAll(roots, \".navbox\")\n    var links = lively.html.allQuerySelectorAll(navboxes, \"a\")\n    links.forEach(ea => {\n      children.push({\n        name: ea.textContent,\n        href: ea.getAttribute(\"href\")\n      })\n    })\n    \n    \n    return new Response(JSON.stringify({\n      name: urlObj.pathname,\n      parent: this.url, // I am my own parent\n      type: \"file\",\n      contents: children\n    }), {status: 200})\n  }\n  \n}\n\n\n\nPolymorphicIdentifier.register(WikipediaScheme)"],"mappings":"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"}