UNPKG

12.2 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};\nimport {accessor as imba_accessor} from 'imba';\nvar $1 = Symbol('id'), $2 = Symbol(), $3 = Symbol('pid'), $4 = Symbol(), $5 = Symbol('rss'), $6 = Symbol(), $7 = Symbol('heap'), $8 = Symbol(), $9 = Symbol('sockets'), $10 = Symbol(), $11 = Symbol('logout'), $12 = Symbol(), $13 = Symbol('upd'), $14 = Symbol(), $15 = Symbol('commit'), $16 = Symbol(), $17 = Symbol('cre'), $18 = Symbol(), $19 = Symbol('lookup'), $20 = Symbol(), $21 = Symbol(), $23, $24, $25, $26, $27, $28, $29, $30, $31, $33;\nconst $__init__$ = Symbol.for('#__init__'), $__patch__$ = Symbol.for('#__patch__'), $__initor__$ = Symbol.for('#__initor__'), $__inited__$ = Symbol.for('#__inited__'), $__hooks__$ = Symbol.for('#__hooks__');\n\n/*body*/\nexport class OPServer extends OPObject {\n\t[$__patch__$]($$ = {},fields = true){\n\t\tvar $22;\n\t\tsuper[$__patch__$] && super[$__patch__$]($$,fields);\n\t\tfields && ($22 = $$.id) !== undefined && this.ααid.$init($22,this,$1,'id',$$);\n\t\tfields && ($22 = $$.pid) !== undefined && this.ααpid.$init($22,this,$3,'pid',$$);\n\t\tfields && ($22 = $$.rss) !== undefined && this.ααrss.$init($22,this,$5,'rss',$$);\n\t\tfields && ($22 = $$.heap) !== undefined && this.ααheap.$init($22,this,$7,'heap',$$);\n\t\tfields && ($22 = $$.sockets) !== undefined && this.ααsockets.$init($22,this,$9,'sockets',$$);\n\t\tfields && ($22 = $$.logout) !== undefined && this.ααlogout.$init($22,this,$11,'logout',$$);\n\t\tfields && ($22 = $$.upd) !== undefined && this.ααupd.$init($22,this,$13,'upd',$$);\n\t\tfields && ($22 = $$.commit) !== undefined && this.ααcommit.$init($22,this,$15,'commit',$$);\n\t\tfields && ($22 = $$.cre) !== undefined && this.ααcre.$init($22,this,$17,'cre',$$);\n\t\tfields && ($22 = $$.lookup) !== undefined && this.ααlookup.$init($22,this,$19,'lookup',$$);\n\t\t\n\t}\n\tconstructor(){\n\t\tsuper(...arguments);\n\t\tsuper[$__init__$] || this[$__init__$]();this[$__initor__$]===$21 && (this[$__hooks__$]&&this[$__hooks__$].inited(this),this[$__inited__$] && this[$__inited__$]());\n\t}\n\t[$__init__$]($$ = null,deep = true,fields = true){\n\t\tdeep && super[$__init__$] && super[$__init__$](...arguments);\n\t\tfields && this.ααid.$init($$ ? $$.id : undefined,this,$1,'id',$$);\n\t\tfields && this.ααpid.$init($$ ? $$.pid : undefined,this,$3,'pid',$$);\n\t\tfields && this.ααrss.$init($$ ? $$.rss : undefined,this,$5,'rss',$$);\n\t\tfields && this.ααheap.$init($$ ? $$.heap : undefined,this,$7,'heap',$$);\n\t\tfields && this.ααsockets.$init($$ ? $$.sockets : undefined,this,$9,'sockets',$$);\n\t\tfields && this.ααlogout.$init($$ ? $$.logout : undefined,this,$11,'logout',$$);\n\t\tfields && this.ααupd.$init($$ ? $$.upd : undefined,this,$13,'upd',$$);\n\t\tfields && this.ααcommit.$init($$ ? $$.commit : undefined,this,$15,'commit',$$);\n\t\tfields && this.ααcre.$init($$ ? $$.cre : undefined,this,$17,'cre',$$);\n\t\tfields && this.ααlookup.$init($$ ? $$.lookup : undefined,this,$19,'lookup',$$);\n\t\t\n\t}\n\tset id(val){ this.ααid.$set(val,this,$1,'id') }\n\tget id(){ return this.ααid.$get(this,$1,'id') }\n\tget ααid(){ return this[$2] || imba_accessor(($23 = this.αkey(),($23.system instanceof Function) ? $23.system() : ($23.system = true),($23.c instanceof Function) ? $23.c(OP.SRV) : ($23.c = OP.SRV),$23),this,$1,'id',$2,OPServer.prototype) }\n\t\n\t$handle(msg,via){\n\t\t\n\t\tif (this.$socket) {\n\t\t\t\n\t\t\treturn this.$deliver(msg,via);\n\t\t\t// $socket.send(OP.$pack(msg),yes)\n\t\t} else {\n\t\t\t\n\t\t\treturn this.log(`Endpoint cannot $handle`,msg,via);\n\t\t};\n\t}\n\t\n\t$deliver(msg,via){\n\t\t\n\t\tif (this.$socket) {\n\t\t\t\n\t\t\t// TODO set msg.$dst = self?\n\t\t\tlet raw = OP.$pack(msg);\n\t\t\tthis.log(`deliver message to socket`,msg);\n\t\t\treturn this.$socket.send(raw,true);\n\t\t} else {\n\t\t\t\n\t\t\treturn this.log(`could not deliver message to`,this);\n\t\t};\n\t}\n\t\n\tset pid(val){ this.ααpid.$set(val,this,$3,'pid') }\n\tget pid(){ return this.ααpid.$get(this,$3,'pid') }\n\tget ααpid(){ return this[$4] || imba_accessor(($24 = this.αnumber(),$24),this,$3,'pid',$4,OPServer.prototype) }\n\tset rss(val){ this.ααrss.$set(val,this,$5,'rss') }\n\tget rss(){ return this.ααrss.$get(this,$5,'rss') }\n\tget ααrss(){ return this[$6] || imba_accessor(($25 = this.αnumber(),$25),this,$5,'rss',$6,OPServer.prototype) }\n\tset heap(val){ this.ααheap.$set(val,this,$7,'heap') }\n\tget heap(){ return this.ααheap.$get(this,$7,'heap') }\n\tget ααheap(){ return this[$8] || imba_accessor(($26 = this.αnumber(),$26),this,$7,'heap',$8,OPServer.prototype) }\n\tset sockets(val){ this.ααsockets.$set(val,this,$9,'sockets') }\n\tget sockets(){ return this.ααsockets.$get(this,$9,'sockets') }\n\tget ααsockets(){ return this[$10] || imba_accessor(($27 = this.αnumber(),$27),this,$9,'sockets',$10,OPServer.prototype) }\n\t\n\tset logout(val){ this.ααlogout.$set(val,this,$11,'logout') }\n\tget logout(){ return this.ααlogout.$get(this,$11,'logout') }\n\tget ααlogout(){ return this[$12] || imba_accessor(($28 = this.αaction(),($28.rpc instanceof Function) ? $28.rpc() : ($28.rpc = true),($28.callback instanceof Function) ? $28.callback(function(data) {\n\t\t\n\t\treturn true;\n\t}) : ($28.callback = function(data) {\n\t\t\n\t\treturn true;\n\t}),$28),this,$11,'logout',$12,OPServer.prototype) }\n\t\n\tset upd(val){ this.ααupd.$set(val,this,$13,'upd') }\n\tget upd(){ return this.ααupd.$get(this,$13,'upd') }\n\tget ααupd(){ return this[$14] || imba_accessor(($29 = this.αrpc(),$29.callback = async function(id,values) {\n\t\t\n\t\tlet res = await OP.db.upsert(id,values);\n\t\treturn res;\n\t},$29),this,$13,'upd',$14,OPServer.prototype) }\n\t\n\tset commit(val){ this.ααcommit.$set(val,this,$15,'commit') }\n\tget commit(){ return this.ααcommit.$get(this,$15,'commit') }\n\tget ααcommit(){ return this[$16] || imba_accessor(($30 = this.αrpc(),$30.callback = async function(/**@type {OPMutation}*/mut) {\n\t\t\n\t\t// set some OP.agent context?\n\t\tlet res = await mut.persist();\n\t\t// let res = for mut of muts\n\t\t// await mut.commit!\n\t\treturn res;\n\t},$30),this,$15,'commit',$16,OPServer.prototype) }\n\t\n\tset cre(val){ this.ααcre.$set(val,this,$17,'cre') }\n\tget cre(){ return this.ααcre.$get(this,$17,'cre') }\n\tget ααcre(){ return this[$18] || imba_accessor(($31 = this.αrpc(),$31.callback = async function(data) {\n\t\tvar $32;\n\t\t\n\t\tlet id = data.id;\n\t\tlet type = OP.getType(id);\n\t\t// spawn the object? Want to be careful about this\n\t\t((($32 = data._rev),delete data._rev, $32));\n\t\t\n\t\t// TODO permission checks\n\t\tconst item = type.build(data);\n\t\tif (item?.beforePersist) {\n\t\t\t\n\t\t\tawait item.beforePersist();\n\t\t\tdata = item.$plain;\n\t\t};\n\t\t\n\t\tlet res = await OP.db.insert(id,data);\n\t\t// return serialized item\n\t\tif (res) {\n\t\t\t\n\t\t\tlet rich = OP.$patch(res);\n\t\t\treturn rich.$serialize();\n\t\t};\n\t\treturn 1;\n\t},$31),this,$17,'cre',$18,OPServer.prototype) }\n\t\n\tset lookup(val){ this.ααlookup.$set(val,this,$19,'lookup') }\n\tget lookup(){ return this.ααlookup.$get(this,$19,'lookup') }\n\tget ααlookup(){ return this[$20] || imba_accessor(($33 = this.αrpc(),$33.callback = async function(id) {\n\t\t\n\t\tif (!(true)) {};\n\t\tLL(`looking up item!`,id);\n\t\tlet item = await OP.get(id);\n\t\treturn item;\n\t},$33),this,$19,'lookup',$20,OPServer.prototype) }\n\tstatic {\n\t\tthis.prototype[$__initor__$] = $21;defineName$__(this,'OPServer');this.alias = 'SRV';\n\t\tinheritClass$__(this);}\n}; globalThis.OPServer = OPServer;\n","map":{"version":3,"file":"server.js","sourceRoot":"","sources":["/Users/abdellah/workspace/scrimba/op/src/types/server.imba"],"sourcesContent":["export global class OPServer < OPObject\n\tstatic alias = 'SRV'\n\n\tid @key.system.c(OP.SRV)\n\n\tdef $handle msg, via\n\t\tif $socket\n\t\t\t$deliver(msg,via)\n\t\t\t# $socket.send(OP.$pack(msg),yes)\n\t\telse\n\t\t\tlog `Endpoint cannot $handle`,msg,via\n\n\tdef $deliver msg, via\n\t\tif $socket\n\t\t\t# TODO set msg.$dst = self?\n\t\t\tlet raw = OP.$pack(msg)\n\t\t\tlog `deliver message to socket`,msg\n\t\t\t$socket.send(raw,yes)\n\t\telse\n\t\t\tlog `could not deliver message to`,self\n\n\tpid @number\n\trss @number\n\theap @number\n\tsockets @number\n\n\tlogout @action.rpc do(data)\n\t\tyes\n\n\tupd @rpc do(id,values)\n\t\tlet res = await OP.db.upsert(id,values)\n\t\treturn res\n\n\tcommit @rpc do(mut\\OPMutation)\n\t\t# set some OP.agent context?\n\t\tlet res = await mut.persist!\n\t\t# let res = for mut of muts\n\t\t#\tawait mut.commit!\n\t\treturn res\n\n\tcre @rpc do(data)\n\t\tlet id = data.id\n\t\tlet type = OP.getType(id)\n\t\t# spawn the object? Want to be careful about this\n\t\tdelete data._rev\n\n\t\t# TODO permission checks\n\t\tconst item = type.build(data)\n\t\tif item..beforePersist\n\t\t\tawait item.beforePersist!\n\t\t\tdata = item.$plain\n\n\t\tlet res = await OP.db.insert(id,data)\n\t\t# return serialized item\n\t\tif res\n\t\t\tlet rich = OP.$patch(res)\n\t\t\treturn rich.$serialize!\n\t\treturn 1\n\n\tlookup @rpc do(id)\n\t\treturn unless $node$\n\t\tLL `looking up item!`,id\n\t\tlet item = await OP.get(id)\n\t\treturn item\n"],"names":[],"mappings":"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"},"dependencies":[],"meta":{"vite":{"lang":"js"}}}
\No newline at end of file