UNPKG

15 kBPlain TextView Raw
1{"code":"function iter$__(a){ let v; return a ? ((v=a.toIterable) ? v.call(a) : a) : a; };;\nfunction 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};;\nfunction extend$__(target,ext){\n\t// @ts-ignore\n\tconst descriptors = Object.getOwnPropertyDescriptors(ext);\n\tdelete descriptors.constructor;\n\tif(target.extend__ instanceof Function){\n\t\ttarget.extend__(descriptors,ext);\n\t} else {\n\t\t// @ts-ignore\n\t\tObject.defineProperties(target,descriptors);\n\t}\n\treturn target;\n};\nimport {commit as imba_commit} from 'imba';\nconst $setup$ = Symbol.for('#setup'), $__init__$ = Symbol.for('#__init__'), $__patch__$ = Symbol.for('#__patch__'), $__initor__$ = Symbol.for('#__initor__'), $__inited__$ = Symbol.for('#__inited__'), $__hooks__$ = Symbol.for('#__hooks__'), $label$ = Symbol.for('#label'), $icon$ = Symbol.for('#icon');\nvar $1 = Symbol();\n\n/*body*/\nimport './any.imba';\nimport {Message,MessageRequest} from '../protocol';\n\nexport class OPActionField extends OPField {\n\t[$__patch__$]($$ = {},fields = true){\n\t\tvar $2;\n\t\tsuper[$__patch__$] && super[$__patch__$]($$,fields);\n\t\t($2 = $$.pgtype) !== undefined && (this.pgtype = $2);\n\t\t($2 = $$.timeout) !== undefined && (this.timeout = $2);\n\t\t($2 = $$.isolate) !== undefined && (this.isolate = $2);\n\t\t($2 = $$.virtual) !== undefined && (this.virtual = $2);\n\t\t($2 = $$.confirm) !== undefined && (this.confirm = $2);\n\t\t($2 = $$.rpc) !== undefined && (this.rpc = $2);\n\t\t\n\t}\n\tconstructor(){\n\t\tsuper(...arguments);\n\t\tsuper[$__init__$] || this[$__init__$]();this[$__initor__$]===$1 && (this[$__hooks__$]&&this[$__hooks__$].inited(this),this[$__inited__$] && this[$__inited__$]());\n\t}\n\t[$__init__$]($$ = null,deep = true,fields = true){\n\t\tvar $3;\n\t\tdeep && super[$__init__$] && super[$__init__$](...arguments);\n\t\tthis.pgtype = ($$ && ($3 = $$.pgtype) !== undefined) ? ($3) : null;\n\t\tthis.timeout = ($$ && ($3 = $$.timeout) !== undefined) ? ($3) : null;\n\t\tthis.isolate = ($$ && ($3 = $$.isolate) !== undefined) ? ($3) : false;\n\t\tthis.virtual = ($$ && ($3 = $$.virtual) !== undefined) ? ($3) : true;\n\t\tthis.confirm = ($$ && ($3 = $$.confirm) !== undefined) ? ($3) : false;\n\t\tthis.rpc = ($$ && ($3 = $$.rpc) !== undefined) ? ($3) : false;\n\t\t\n\t}\n\t\n\t\n\t// should the call timeout?\n\t\n\t\n\t// should we create a temporary nested store for this?\n\t\n\t\n\t\n\t\n\t// should we expect a response?\n\t\n\t// should it throttle?\n\t\n\t// should it spam / try multiple routes?\n\t\n\t// unordered - deliver via udp if peer connection established?\n\t\n\t// comma separated list of element roles this would appear in?\n\t// menuitem = yes\n\t\n\t// request user confirmation before executing the action\n\t\n\t\n\t$init(value,target){\n\t\t\n\t\treturn this;\n\t}\n\t\n\t/**\n\t@returns { Function }\n\t*/\n\t$get(target){\n\t\t\n\t\t// unless target[key]\n\t\t// target[key] ||= $bound(target)\n\t\treturn this.callback;\n\t}\n\t\n\tget actionΦ(){\n\t\t\n\t\treturn true;\n\t}\n\t\n\tget fileΦ(){\n\t\t\n\t\treturn this.imageΦ || this.args.some(function(_0) { return (_0 == File) || _0 == OPFile || _0 == OPFiles; });\n\t}\n\t\n\tget imageΦ(){\n\t\t\n\t\treturn this.args.some(function(_0) { return _0 == OPImage; });\n\t}\n\t\n\t$set(value,target){\n\t\t\n\t\treturn true;\n\t}\n\t\n\tget label(){\n\t\t\n\t\tlet label = this[$label$] || this.name.humanize();\n\t\tif (this.$target) {\n\t\t\t\n\t\t\tlabel = label.replace(/Item\\b/,this.$target.typeName || 'Item');\n\t\t};\n\t\treturn label;\n\t\t// .replace(/\\bItem\\b/,this.typeName)\n\t}\n\t\n\tset icon(val){\n\t\t\n\t\tthis[$icon$] = val;\n\t}\n\t\n\tget icon(){\n\t\t\n\t\treturn this[$icon$] || this.name;\n\t}\n\t\n\t// def $bound target,...params\n\t// \tlet fn = $wrapper.bind(target,...params)\n\t// \tfn.$field = $wrapper.$field\n\t// \treturn fn\n\t\n\tasync run(ctx = {}){\n\t\t\n\t\tif (this.confirm && !(ctx.confirmed)) {\n\t\t\t\n\t\t\tlet msg = (typeof this.confirm == 'string') ? this.confirm : `Are you sure?`;\n\t\t\tif (!(OP.confirm(msg))) { return null };\n\t\t};\n\t\t\n\t\tlet params = [];\n\t\tfor (let i = 0, $4 = iter$__(this.args), $5 = $4.length; i < $5; i++) {\n\t\t\tlet arg = $4[i];\n\t\t\tlet val = undefined;\n\t\t\tif (arg == globalThis.Event) {\n\t\t\t\t\n\t\t\t\tval = ctx.event;\n\t\t\t};\n\t\t\tif (arg == OPFiles) {\n\t\t\t\t\n\t\t\t\tval = ctx.files || (ctx.file && [ctx.file]) || null;\n\t\t\t\tif (!(val)) {\n\t\t\t\t\t\n\t\t\t\t\tval = await OP.pickfiles({multiple: true,folders: false});\n\t\t\t\t};\n\t\t\t};\n\t\t\t\n\t\t\tif (arg == OPRect) {\n\t\t\t\t\n\t\t\t\tval = ctx.rect || ctx.opener || ctx.event;\n\t\t\t\tif (val instanceof Event) {\n\t\t\t\t\t\n\t\t\t\t\tval = {x: val.x,y: val.y};\n\t\t\t\t};\n\t\t\t};\n\t\t\t\n\t\t\tif (arg == OPImage) {\n\t\t\t\t\n\t\t\t\tval = ctx.image || ctx.file || ctx.files?.[0];\n\t\t\t\tif (val) {\n\t\t\t\t\t\n\t\t\t\t\tval = await OPImage.for(val);\n\t\t\t\t};\n\t\t\t\t\n\t\t\t\tif (!(val)) {\n\t\t\t\t\t\n\t\t\t\t\tval = await OP.pickimage();\n\t\t\t\t};\n\t\t\t\t\n\t\t\t\t// activate picker\n\t\t\t\ttrue;\n\t\t\t};\n\t\t\t\n\t\t\tif (val != undefined) {\n\t\t\t\t\n\t\t\t\tparams[i] = val;\n\t\t\t};\n\t\t};\n\t\t\n\t\treturn this.call(...params);\n\t}\n\t\n\tcall(...params){\n\t\t\n\t\t// target = $target unless target\n\t\tconsole.log('calling',params);\n\t\tif (!(this.$target)) {\n\t\t\t\n\t\t\tconsole.warn(`cannot call an @action field directly - first use field.$bind(target,...params)`);\n\t\t};\n\t\t\n\t\tlet fn = (this.$wrapper || this.callback);\n\t\treturn fn.apply(this.$target,params);\n\t}\n\t\n\t[$setup$](){\n\t\tvar self = this;\n\t\t\n\t\tlet method = this.callback;\n\t\t\n\t\tlet wrapper = async function(...params) {\n\t\t\t\n\t\t\t// check security\n\t\t\tlet perms = OP.rights(this,self);\n\t\t\t\n\t\t\tif ((perms & OP.WRITE)==0) {\n\t\t\t\t\n\t\t\t\tthrow \"Not allowed to execute function!!\";\n\t\t\t};\n\t\t\t\n\t\t\t// rpc?\n\t\t\tif (self.rpc && !(true)) {\n\t\t\t\t\n\t\t\t\tlet msg = new MessageRequest({action: self.name,params: params});\n\t\t\t\tmsg.now = Date.now();\n\t\t\t\tOP.$send(msg,this);\n\t\t\t\treturn msg;\n\t\t\t};\n\t\t\t\n\t\t\tlet res = await method.apply(this,params);\n\t\t\timba_commit();\n\t\t\treturn res;\n\t\t};\n\t\t\n\t\twrapper.$field = this;\n\t\twrapper.label = this.label;\n\t\tthis.$wrapper = wrapper;\n\t\t\n\t\tObject.defineProperty(this.model.prototype,this.name,{\n\t\t\tvalue: wrapper\n\t\t});\n\t\treturn this;\n\t}\n\tstatic {\n\t\tthis.prototype[$__initor__$] = $1;defineName$__(this,'OPActionField');inheritClass$__(this);}\n}; globalThis.OPActionField = OPActionField;\n\nclass ΩOPObject {\n\t\n\t\n\t/**\n\t@returns { OPActionField }\n\t*/\n\tαaction(...params){\n\t\t\n\t\tlet field = new OPActionField(...params);\n\t\treturn field;\n\t}\n\tstatic {\n\t\tdefineName$__(this,'OPObject');}\n};\nextend$__(OPObject.prototype,ΩOPObject.prototype);\n;\n","map":{"version":3,"file":"action.js","sourceRoot":"","sources":["/Users/abdellah/workspace/scrimba/op/src/fields/action.imba"],"sourcesContent":["import './any.imba'\nimport {Message,MessageRequest} from '../protocol'\n\nexport global class OPActionField < OPField\n\tpgtype = null\n\n\t# should the call timeout?\n\ttimeout = null\n\n\t# should we create a temporary nested store for this?\n\tisolate = no\n\n\tvirtual = yes\n\n\t# should we expect a response?\n\n\t# should it throttle?\n\n\t# should it spam / try multiple routes?\n\n\t# unordered - deliver via udp if peer connection established?\n\n\t# comma separated list of element roles this would appear in?\n\t# menuitem = yes\n\n\t# request user confirmation before executing the action\n\tconfirm = no\n\n\trpc = no\n\n\tdef $init value, target\n\t\tself\n\n\tdef $get\\Function target\n\t\t# unless target[key]\n\t\t# target[key] ||= $bound(target)\n\t\tcallback\n\n\tget action?\n\t\tyes\n\n\tget file?\n\t\timage? or args.some do ($1 == File) or $1 == OPFile or $1 == OPFiles\n\n\tget image?\n\t\targs.some do ($1 == OPImage)\n\n\tdef $set value, target\n\t\tyes\n\n\tget label\n\t\tlet label = #label or name.humanize!\n\t\tif $target\n\t\t\tlabel = label.replace(/Item\\b/,$target.typeName or 'Item')\n\t\treturn label\n\t\t# .replace(/\\bItem\\b/,this.typeName)\n\n\tset icon val\n\t\t#icon = val\n\n\tget icon\n\t\t#icon or name\n\n\t# def $bound target,...params\n\t# \tlet fn = $wrapper.bind(target,...params)\n\t# \tfn.$field = $wrapper.$field\n\t# \treturn fn\n\n\tdef run ctx = {}\n\t\tif confirm and !ctx.confirmed\n\t\t\tlet msg = typeof confirm == 'string' ? confirm : `Are you sure?`\n\t\t\treturn null unless OP.confirm(msg)\n\n\t\tlet params = []\n\t\tfor arg,i in args\n\t\t\tlet val = undefined\n\t\t\tif arg == global.Event\n\t\t\t\tval = ctx.event\n\t\t\tif arg == OPFiles\n\t\t\t\tval = ctx.files or (ctx.file and [ctx.file]) or null\n\t\t\t\tunless val\n\t\t\t\t\tval = await OP.pickfiles({multiple: yes, folders: no})\n\n\t\t\tif arg == OPRect\n\t\t\t\tval = ctx.rect or ctx.opener or ctx.event\n\t\t\t\tif val isa Event\n\t\t\t\t\tval = {x:val.x, y:val.y}\n\n\t\t\tif arg == OPImage\n\t\t\t\tval = ctx.image or ctx.file or ctx.files..[0]\n\t\t\t\tif val\n\t\t\t\t\tval = await OPImage.for(val)\n\n\t\t\t\tunless val\n\t\t\t\t\tval = await OP.pickimage!\n\n\t\t\t\t# activate picker\n\t\t\t\tyes\n\n\t\t\tif val != undefined\n\t\t\t\tparams[i] = val\n\n\t\tcall(...params)\n\n\tdef call ...params\n\t\t# target = $target unless target\n\t\tconsole.log 'calling',params\n\t\tunless $target\n\t\t\tconsole.warn `cannot call an @action field directly - first use field.$bind(target,...params)`\n\n\t\tlet fn = ($wrapper or callback)\n\t\treturn fn.apply($target,params)\n\n\tdef #setup\n\t\tlet method = callback\n\n\t\tlet wrapper = do(...params)\n\t\t\t# check security\n\t\t\tlet perms = OP.rights(this,self)\n\n\t\t\tif perms !& OP.WRITE\n\t\t\t\tthrow \"Not allowed to execute function!!\"\n\n\t\t\t# rpc?\n\t\t\tif rpc and !$node$\n\t\t\t\tlet msg = new MessageRequest(action: name,params: params)\n\t\t\t\tmsg.now = Date.now!\n\t\t\t\tOP.$send(msg,this)\n\t\t\t\treturn msg\n\n\t\t\tlet res = await method.apply(this,params)\n\t\t\timba.commit!\n\t\t\treturn res\n\n\t\twrapper.$field = self\n\t\twrapper.label = self.label\n\t\t$wrapper = wrapper\n\n\t\tObject.defineProperty(model.prototype,name,{\n\t\t\tvalue: wrapper\n\t\t})\n\t\tself\n\nextend class OPObject\n\t\n\tdef @action\\OPActionField ...params\n\t\tlet field = new OPActionField(...params)\n\t\treturn field"],"names":[],"mappings":"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"},"dependencies":[],"meta":{"vite":{"lang":"js"}}}
\No newline at end of file