UNPKG

7.17 kBPlain TextView Raw
1{"code":"function defineName$__(cls,name){\n\tObject.defineProperty(cls,\"name\",{value:name,configurable:true});\n};\nimport {emit as imba_emit, listen as imba_listen, once as imba_once, unlisten as imba_unlisten} from 'imba';\nconst $__init__$ = Symbol.for('#__init__'), $__patch__$ = Symbol.for('#__patch__'), $__initor__$ = Symbol.for('#__initor__'), $__inited__$ = Symbol.for('#__inited__'), $__hooks__$ = Symbol.for('#__hooks__'), $op$ = Symbol.for('#op');\n\n/*body*/\nimport {now} from './utils';\n\nconst profiling = process.env.OP_PROFILE;\n\nexport class Component {\n\t[$__patch__$]($$ = {},fields = true){\n\t\tvar $1;\n\t\t($1 = $$.symbol) !== undefined && (this.symbol = $1);\n\t\t\n\t}\n\t[$__init__$]($$ = null,deep = true,fields = true){\n\t\tvar $2;\n\t\tthis.symbol = ($$ && ($2 = $$.symbol) !== undefined) ? ($2) : Symbol();\n\t\t\n\t}\n\tstatic primitive(value){\n\t\t\n\t\treturn true;\n\t}\n\t\n\t// WARN Callbacks can never return the component itself\n\tthenable(cb,immediate = true){\n\t\tvar self = this;\n\t\t\n\t\tlet promise = new Promise(async function(resolve,reject) {\n\t\t\t\n\t\t\tawait cb.call(self);\n\t\t\tself.then = null;\n\t\t\treturn resolve(self);\n\t\t});\n\t\t\n\t\t/**@type {null}*/ this.then = function(ok,err) {\n\t\t\t\n\t\t\treturn promise.then(ok,err);\n\t\t};\n\t\t\n\t\treturn this;\n\t}\n\t\n\t// WARN Callbacks can never return the component itself\n\tresolvable(cb,immediate = true){\n\t\tvar self = this;\n\t\t\n\t\tlet fn = async function(resolve,reject) {\n\t\t\t\n\t\t\tawait cb.call(self);\n\t\t\tself.then = null;\n\t\t\treturn resolve(self);\n\t\t};\n\t\t\n\t\tlet promise;\n\t\t\n\t\t/**@type {null}*/ this.then = function(ok,err) {\n\t\t\t\n\t\t\tpromise ||= new Promise(fn);\n\t\t\treturn promise.then(ok,err);\n\t\t};\n\t\t\n\t\treturn this;\n\t}\n\t\n\tconstructor(owner,data){\n\t\t\n\t\t// hmm?\n\t\tthis.owner = owner;\n\t\tthis[$__init__$](data);\n\t\tif (this.awaited instanceof Function) {\n\t\t\t\n\t\t\tthis.resolvable(this.awaited);\n\t\t};\n\t\tthis;\n\t}\n\t\n\tp(...params){\n\t\t\n\t\treturn console.log(...params);\n\t}\n\t\n\tget gop(){\n\t\t\n\t\treturn globalThis[$op$] ??= {subs: {}};\n\t}\n\t\n\tget now(){\n\t\t\n\t\treturn now();\n\t}\n\t\n\temit(name,...params){\n\t\treturn imba_emit(this,name,params);\n\t}\n\ton(name,...params){\n\t\treturn imba_listen(this,name,...params);\n\t}\n\tonce(name,...params){\n\t\treturn imba_once(this,name,...params);\n\t}\n\tun(name,...params){\n\t\treturn imba_unlisten(this,name,...params);\n\t}\n\t\n\tget pfn(){\n\t\t\n\t\treturn globalThis.performance.now();\n\t}\n\t\n\tprofile(name){\n\t\t\n\t\tlet t0 = globalThis.performance.now();\n\t\tif (profiling) { console.profile(name) };\n\t\treturn function() {\n\t\t\t\n\t\t\tif (profiling) {\n\t\t\t\t\n\t\t\t\tlet time = globalThis.performance.now() - t0;\n\t\t\t\tconsole.log((`profile ` + name + ` took ` + time));\n\t\t\t\treturn console.profileEnd(name);\n\t\t\t};\n\t\t};\n\t}\n\tstatic {\n\t\tdefineName$__(this,'Component');}\n};\n","map":{"version":3,"file":"component.js","sourceRoot":"","sources":["/Users/abdellah/workspace/scrimba/op/src/component.imba"],"sourcesContent":["import { now } from './utils'\n\nconst profiling = process.env.OP_PROFILE\n\nexport class Component\n\tsymbol = Symbol!\n\n\tdeclare awaited\\any\n\n\tstatic def primitive value\n\t\tyes\n\n\t# WARN Callbacks can never return the component itself\n\tdef thenable cb, immediate = yes\n\t\tlet promise = new Promise do(resolve,reject)\n\t\t\tawait cb.call(self)\n\t\t\tself.then = null\n\t\t\tresolve(self)\n\n\t\tself.then\\null = do(ok,err)\n\t\t\tpromise.then(ok,err)\n\n\t\treturn self\n\n\t# WARN Callbacks can never return the component itself\n\tdef resolvable cb, immediate = yes\n\t\tlet fn = do(resolve,reject)\n\t\t\tawait cb.call(self)\n\t\t\tself.then = null\n\t\t\tresolve(self)\n\n\t\tlet promise\n\n\t\tself.then\\null = do(ok,err)\n\t\t\tpromise ||= new Promise(fn)\n\t\t\tpromise.then(ok,err)\n\n\t\treturn self\n\n\tdef constructor owner,data\n\t\t# hmm?\n\t\tself.owner = owner\n\t\tsuper(data)\n\t\tif awaited isa Function\n\t\t\tresolvable(awaited)\n\t\tself\n\n\tdef p ...params\n\t\tconsole.log(...params)\n\n\tget gop\n\t\tglobal.#op ??= {subs: {}}\n\n\tget now\n\t\tnow!\n\n\tdef emit name, ...params do imba.emit(self,name,params)\n\tdef on name, ...params do imba.listen(self,name,...params)\n\tdef once name, ...params do imba.once(self,name,...params)\n\tdef un name, ...params do imba.unlisten(self,name,...params)\n\n\tget pfn\n\t\tglobal.performance.now!\n\n\tdef profile name\n\t\tlet t0 = global.performance.now!\n\t\tconsole.profile(name) if profiling\n\t\treturn do\n\t\t\tif profiling\n\t\t\t\tlet time = global.performance.now! - t0\n\t\t\t\tconsole.log `profile {name} took {time}`\n\t\t\t\tconsole.profileEnd(name)\n"],"names":[],"mappings":"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"},"dependencies":[],"meta":{"vite":{"lang":"js"}}}
\No newline at end of file