UNPKG

6.35 kBPlain TextView Raw
1{"code":"function defineName$__(cls,name){\n\tObject.defineProperty(cls,\"name\",{value:name,configurable:true});\n};;\nfunction inheritClass$__(cls){\n\tObject.getPrototypeOf(cls.prototype).constructor?.inherited?.(cls);\n};\nconst $__init__$ = Symbol.for('#__init__'), $__patch__$ = Symbol.for('#__patch__'), $__initor__$ = Symbol.for('#__initor__'), $__inited__$ = Symbol.for('#__inited__'), $__hooks__$ = Symbol.for('#__hooks__'), $getRenderContext$ = Symbol.for('#getRenderContext'), $getDynamicContext$ = Symbol.for('#getDynamicContext');\nvar $1 = Symbol();\n\n/*body*/\n\nexport const renderContext = {\n\tcontext: null\n};\n\nclass Renderer {\n\t[$__patch__$]($$ = {},fields = true){\n\t\tvar $2;\n\t\t($2 = $$.stack) !== undefined && (this.stack = $2);\n\t\t\n\t}\n\tconstructor($$ = null){\n\t\tthis[$__init__$]($$);\n\t}\n\t[$__init__$]($$ = null,deep = true,fields = true){\n\t\tvar $3;\n\t\tthis.stack = ($$ && ($3 = $$.stack) !== undefined) ? ($3) : [];\n\t\t\n\t}\n\tpush(el){\n\t\t\n\t\treturn this.stack.push(el);\n\t}\n\t\n\tpop(el){\n\t\t\n\t\treturn this.stack.pop();\n\t}\n\tstatic {\n\t\tdefineName$__(this,'Renderer');}\n};\n\nexport const renderer = new Renderer;\n\nexport class RenderContext extends Map {\n\t\n\tconstructor(parent,sym = null){\n\t\t\n\t\tsuper();\n\t\tthis._ = parent;\n\t\tthis.sym = sym;\n\t\tthis[$__initor__$]===$1 && (this[$__hooks__$]&&this[$__hooks__$].inited(this),this[$__inited__$] && this[$__inited__$]());\n\t}\n\t\n\tpop(){\n\t\t\n\t\treturn renderContext.context = null;\n\t}\n\t\n\t[$getRenderContext$](sym){\n\t\t\n\t\tlet out = this.get(sym);\n\t\tout || this.set(sym,out = new RenderContext(this._,sym));\n\t\treturn renderContext.context = out;\n\t\t\n\t\t// createRenderContext(self,sym)\n\t}\n\t[$getDynamicContext$](sym,key){\n\t\t\n\t\treturn this[$getRenderContext$](sym)[$getRenderContext$](key);\n\t}\n\t\n\trun(value){\n\t\t\n\t\tthis.value = value;\n\t\tif (renderContext.context == this) { renderContext.context = null };\n\t\treturn this.get(value);\n\t}\n\t\n\tcache(val){\n\t\t\n\t\tthis.set(this.value,val);\n\t\treturn val;\n\t}\n\tstatic {\n\t\tthis.prototype[$__initor__$] = $1;defineName$__(this,'RenderContext');inheritClass$__(this);}\n};\n\nexport function createRenderContext(cache,key = Symbol(),up = cache){\n\t\n\treturn renderContext.context = cache[key] ||= new RenderContext(up,key);\n};\n\nexport function getRenderContext(){\n\t\n\tlet ctx = renderContext.context;\n\tlet res = ctx || new RenderContext(null);\n\tif (globalThis.DEBUG_IMBA) {\n\t\t\n\t\tif (!(ctx) && renderer.stack.length > 0) {\n\t\t\t\n\t\t\tconsole.warn(\"detected unmemoized nodes in\",renderer.stack.slice(0),\"see https://imba.io\",res);\n\t\t};\n\t};\n\t\n\tif (ctx) { renderContext.context = null };\n\treturn res;\n\t// {map:new Map}\n};\n","map":{"version":3,"file":"context.js","sourceRoot":"","sources":["/Users/abdellah/workspace/scrimba/imba/packages/imba/src/imba/dom/context.imba"],"sourcesContent":["\nexport const renderContext = {\n\tcontext: null\n\n}\n\nclass Renderer\n\n\tstack = []\n\n\tdef push el\n\t\tstack.push(el)\n\n\tdef pop el\n\t\tstack.pop!\n\nexport const renderer = new Renderer\n\nexport class RenderContext < Map\n\tdef constructor parent,sym = null\n\t\tsuper()\n\t\tself._ = parent\n\t\tself.sym = sym\n\n\tdef pop\n\t\trenderContext.context = null\n\n\tdef #getRenderContext sym\n\t\tlet out = self.get(sym)\n\t\tout || self.set(sym,out = new RenderContext(self._,sym))\n\t\treturn renderContext.context = out\n\n\t\t# createRenderContext(self,sym)\n\tdef #getDynamicContext sym, key\n\t\t#getRenderContext(sym).#getRenderContext(key)\n\n\tdef run value\n\t\tself.value = value\n\t\trenderContext.context = null if renderContext.context == self\n\t\treturn self.get(value)\n\n\tdef cache val\n\t\tself.set(self.value,val)\n\t\treturn val\n\nexport def createRenderContext cache,key = Symbol!,up = cache\n\treturn renderContext.context = cache[key] ||= new RenderContext(up,key)\n\nexport def getRenderContext\n\tlet ctx = renderContext.context\n\tlet res = ctx or new RenderContext(null)\n\tif global.DEBUG_IMBA\n\t\tif !ctx and renderer.stack.length > 0\n\t\t\tconsole.warn \"detected unmemoized nodes in\",renderer.stack.slice(0),\"see https://imba.io\",res\n\n\trenderContext.context = null if ctx\n\treturn res\n\t# {map:new Map}"],"names":[],"mappings":";;;;;;;;;;;AACA,MAAM,OAAO,aAAa,GAAG;CAC5B,OAAO,EAAE,IAAI;CAEb;;AAED,KAAK,CAAC,QAAQ,EAAA;qCANd;;WAQC,KAAK,CAAA,wBAAL,KAAK;;EARN;uBAAA;;EAAA;kDAAA;;OAQC,KAAK,mBAAL,KAAK,CAAA,qBAAA,IAAG,EAAE;;EARX;CAUK,IAAI,CAAC,EAAE,CAAA;;EACV,OAAA,KAAA,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;EAAA;;CAEX,GAAG,CAAC,EAAE,CAAA;;EACT,OAAA,KAAA,KAAK,CAAC,GAAG,EAAC;EAAA;;;AAAA,CAAA;;AAEZ,MAAM,OAAO,QAAQ,GAAG,GAAG,CAAC,QAAQ;;AAEpC,MAAM,CAAC,KAAK,CAAC,aAAa,SAAG,GAAG,EAAA;;CAC3B,WAAW,CAAC,MAAM,CAAC,GAAG,GAAG,IAAI,CAAA;;EAChC,KAAK,EAAE;EACP,IAAI,CAAC,CAAC,GAAG,MAAM;EACf,IAAI,CAAC,GAAG,GAAG,GAAG;;EAAA;;CAEX,GAAG,EAAA;;EACN,OAAA,aAAa,CAAC,OAAO,GAAG,IAAI;EAAA;;sBAEP,GAAG,CAAA;;MACpB,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC;EACvB,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,GAAG,GAAG,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;EACxD,MAAM,CAAC,aAAa,CAAC,OAAO,GAAG,GAAG;;;EAEH;uBACT,GAAG,CAAE,GAAG,CAAA;;iCACb,CAAC,GAAG,CAAC,oBAAkB,CAAC,GAAG,CAAC;EAAA;;CAE1C,GAAG,CAAC,KAAK,CAAA;;EACZ,IAAI,CAAC,KAAK,GAAG,KAAK;EACW,EAAE,EAAC,aAAa,CAAC,OAAO,CAAC,EAAE,CAAC,IAAI,EAA7D,EAAA,aAAa,CAAC,OAAO,GAAG,IAAI,EAAA;EAC5B,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC;EAAA;;CAEnB,KAAK,CAAC,GAAG,CAAA;;EACZ,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC;EACxB,MAAM,CAAC,GAAG;EAAA;;;AAAA,CAAA;;AAEZ,MAAM,CAAC,QAAG,CAAC,mBAAmB,CAAC,KAAK,CAAC,GAAG,GAAG,MAAM,EAAC,CAAC,EAAE,GAAG,KAAK,CAAA;;CAC5D,MAAM,CAAC,aAAa,CAAC,OAAO,GAAG,KAAK,CAAA,GAAI,CAAC,KAAK,GAAG,CAAC,aAAa,CAAC,EAAE,CAAC,GAAG,CAAC;CAAA;;AAExE,MAAM,CAAC,QAAG,CAAC,gBAAgB,EAAA;;KACtB,GAAG,GAAG,aAAa,CAAC,OAAO;KAC3B,GAAG,GAAG,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,aAAa,CAAC,IAAI,CAAC;CACxC,EAAE,EAAC,UAAM,CAAC,UAAU,EAAA;;EACnB,EAAE,EAAC,EAAC,GAAG,CAAA,CAAC,EAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAA;;GACpC,OAAO,CAAC,IAAI,CAAC,8BAA8B,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,qBAAqB,CAAC,GAAG,CAAA;GAAA;EAAA;;CAElE,EAAE,EAAC,GAAG,EAAnC,EAAA,aAAa,CAAC,OAAO,GAAG,IAAI,EAAA;CAC5B,MAAM,CAAC,GAAG;;CACK;AAAA;"},"dependencies":[],"meta":{"vite":{"lang":"js"}}}
\No newline at end of file