UNPKG

20.5 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};;\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};\nconst $__init__$ = Symbol.for('#__init__'), $__patch__$ = Symbol.for('#__patch__'), $__initor__$ = Symbol.for('#__initor__'), $__inited__$ = Symbol.for('#__inited__'), $__hooks__$ = Symbol.for('#__hooks__'), $changed$ = Symbol.for('#changed');\nvar $1 = Symbol(), $2 = Symbol(), $3 = Symbol();\n\n/*body*/\nimport './any';\n\nimport {Iterable} from '../core/iterable';\nimport {isPlainObject} from '../utils';\nconst OWNREF = Symbol.for(\"~\");\n\n// @template [Type=any]\nexport class OPEmbedField extends OPField {\n\t[$__patch__$]($$ = {},fields = true){\n\t\tvar $4;\n\t\tsuper[$__patch__$] && super[$__patch__$]($$,fields);\n\t\t($4 = $$.pgtype) !== undefined && (this.pgtype = $4);\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 $5;\n\t\tdeep && super[$__init__$] && super[$__init__$](...arguments);\n\t\tthis.pgtype = ($$ && ($5 = $$.pgtype) !== undefined) ? ($5) : 'jsonb';\n\t\t\n\t}\n\tget valuetype(){\n\t\t\n\t\treturn this.type;\n\t}\n\t\n\tget complexΦ(){\n\t\t\n\t\treturn true;\n\t}\n\t\n\tget embeddedΦ(){\n\t\t\n\t\treturn true;\n\t}\n\t\n\tdeserialize(value,target){\n\t\t\n\t\t// FIXME Does not make sense here?\n\t\tif (typeof value == 'string' && this.enum) {\n\t\t\t\n\t\t\tvalue = this.type.id + '9' + value;\n\t\t};\n\t\treturn this.type.get(value,target,this);\n\t}\n\t\n\tserialize(value,target){\n\t\t\n\t\t// FIXME makes no sense for embeds?\n\t\treturn value ? String(this.enum ? value.oid : value.id) : undefined;\n\t}\n\t\n\t$load(value,target){\n\t\t\n\t\tif (value !== undefined) {\n\t\t\t\n\t\t\tthis.$get(target).$patch(value);\n\t\t};\n\t\treturn;\n\t}\n\t\n\t/**\n\t@returns { Type }\n\t*/\n\t$get(target){\n\t\t\n\t\treturn target.$rich[this.name] ??= this.valuetype.embed(target,this,Object.assign(target.$plain[this.name] || {},this.args[1] || {}));\n\t}\n\t\n\t$set(value,target){\n\t\t\n\t\treturn this.$load(value,target);\n\t}\n\t\n\t$wake(target){\n\t\t\n\t\treturn true;\n\t}\n\tstatic {\n\t\tthis.prototype[$__initor__$] = $1;defineName$__(this,'OPEmbedField');inheritClass$__(this);}\n}; globalThis.OPEmbedField = OPEmbedField;\n\n// @template [Type=any]\nexport class OPEmbedsField extends OPField {\n\t[$__patch__$]($$ = {},fields = true){\n\t\tvar $6;\n\t\tsuper[$__patch__$] && super[$__patch__$]($$,fields);\n\t\t($6 = $$.pgtype) !== undefined && (this.pgtype = $6);\n\t\t\n\t}\n\tconstructor(){\n\t\tsuper(...arguments);\n\t\tsuper[$__init__$] || this[$__init__$]();this[$__initor__$]===$2 && (this[$__hooks__$]&&this[$__hooks__$].inited(this),this[$__inited__$] && this[$__inited__$]());\n\t}\n\t[$__init__$]($$ = null,deep = true,fields = true){\n\t\tvar $7;\n\t\tdeep && super[$__init__$] && super[$__init__$](...arguments);\n\t\tthis.pgtype = ($$ && ($7 = $$.pgtype) !== undefined) ? ($7) : 'jsonb';\n\t\t\n\t}\n\tget embeddedΦ(){\n\t\t\n\t\treturn true;\n\t}\n\t\n\tget richΦ(){\n\t\t\n\t\treturn true;\n\t}\n\t\n\tget valuetype(){\n\t\t\n\t\treturn this.args[0];\n\t}\n\t\n\t/**\n\t@returns { OPEmbeds<Type> }\n\t*/\n\t$get(target){\n\t\t\n\t\treturn target.$rich[this.name] ||= new OPEmbeds(target,this,{});\n\t}\n\t\n\t$patch(plain,target){\n\t\t\n\t\treturn this.$get(target).$patch(plain);\n\t}\n\tstatic {\n\t\tthis.prototype[$__initor__$] = $2;defineName$__(this,'OPEmbedsField');inheritClass$__(this);}\n}; globalThis.OPEmbedsField = OPEmbedsField;\n\nclass ΩOPObject {\n\t\n\t// @template [T=any]\n\t/**\n\t@param {T} type\n\t@returns { OPEmbedField<T> }\n\t*/\n\tαembed(type,...rest){\n\t\t\n\t\tlet field = new OPEmbedField(type,...rest);\n\t\tif (!((type?.prototype instanceof OPObject))) { // depends on the type, no?\n\t\t\t\n\t\t\t\n\t\t\tfield.pgtype = '';\n\t\t\tfield.virtual = true;\n\t\t};\n\t\treturn field;\n\t}\n\t\n\t// @template [T=any]\n\t/**\n\t@param {T} type\n\t@returns { OPEmbedsField<T> }\n\t*/\n\tαembeds(type,...rest){\n\t\t\n\t\tlet field = new OPEmbedsField(type,...rest);\n\t\treturn field;\n\t}\n\tstatic {\n\t\tdefineName$__(this,'OPObject');}\n};\nextend$__(OPObject.prototype,ΩOPObject.prototype);\n;\n\n// @template [Type=any]\n// @extends {Array<InstanceType<Type>>}\nexport class OPEmbeds extends Iterable {\n\t\n\t\n\tconstructor(up,field,options){\n\t\t\n\t\tsuper();\n\t\tthis.$embed(up,field);\n\t\tif (this.$cloud) { this.$wake(this.$cloud) };\n\t\tthis[$__initor__$]===$3 && (this[$__hooks__$]&&this[$__hooks__$].inited(this),this[$__inited__$] && this[$__inited__$]());\n\t}\n\t\n\tthen(ok,err){\n\t\t\n\t\treturn Promise.all(this.slice(0)).then(ok,err);\n\t}\n\t\n\tget $plain(){\n\t\t\n\t\treturn this.$cloud;\n\t}\n\t\n\tget valuetype(){\n\t\t\n\t\treturn this.$field.valuetype;\n\t}\n\t\n\tget(id){\n\t\t\n\t\treturn this.$sub(id);\n\t}\n\t\n\tadd(item){\n\t\tvar $8, $9;\n\t\t\n\t\t\n\t\tif (isPlainObject(item)) {\n\t\t\t\n\t\t\t// why not use much simpler ids for these?\n\t\t\titem = this.valuetype.new(item);\n\t\t};\n\t\tif (!(this.writableΦ)) {\n\t\t\t\n\t\t\tthrow new PermissionDeniedError(`Cannot add item to SortedSet`);\n\t\t};\n\t\t\n\t\tif (!((item instanceof this.valuetype))) {\n\t\t\t\n\t\t\tthrow new PermissionDeniedError(`Cannot add item of type`);\n\t\t};\n\t\t\n\t\t// if item is already embedded somewhere else - throw or clone\n\t\tif (item.$up && item.$up != this) {\n\t\t\t\n\t\t\t// TODO Should item be moved from old location or duplicated?\n\t\t\titem = this.valuetype.new(item.$plain);\n\t\t\t// throw new OPError(`Item already embedded elsewhere`)\n\t\t};\n\t\t\n\t\tlet key = item.id;\n\t\t// item.$embed(self,item.id)\n\t\tthis[key] = item;\n\t\titem.$up = this;\n\t\titem.$key = key;\n\t\t((($8 = item.$plain.id),delete item.$plain.id, $8));\n\t\t((($9 = item.$plain._rev),delete item.$plain._rev, $9));\n\t\t// return item\n\t\t// return item\n\t\titem.id = (\"\" + this.id + `.` + (item.id));\n\t\t// potentially deregister it from rich map?\n\t\tlet mut = OPSET.for(this.id,key,item.$plain,null).applied();\n\t\tthis.push(item);\n\t\tthis.$up.$mutated(mut);\n\t\treturn item;\n\t}\n\t\n\t/**\n\t@returns { InstanceType<Type> }\n\t*/\n\tcreate(params = {}){\n\t\t\n\t\tlet item = this.valuetype.new(params);\n\t\treturn this.add(item);\n\t}\n\t\n\tget options(){\n\t\t\n\t\treturn this.field.options;\n\t}\n\t\n\t$sub(key){\n\t\t\n\t\tif (this[key]) { return this[key] };\n\t\tlet typ = OP.getType(key);\n\t\treturn this[key] = typ.embed(this,key);\n\t}\n\t\n\t// waking up with the exact data\n\t$wake(data){\n\t\t\n\t\t// some default sorting here?\n\t\tfor (let $10 = 0, $11 = Object.keys(data), $12 = $11.length, k, v; $10 < $12; $10++){\n\t\t\tk = $11[$10];v = data[k];\n\t\t\tlet typ = OP.getType(k);\n\t\t\tlet existing = this[k];\n\t\t\tlet item = existing || typ.embed(this,k,v);\n\t\t\tthis.push(this[k] = item);\n\t\t};\n\t\treturn this;\n\t}\n\t\n\t$patch(data){\n\t\t\n\t\t// potentially remove items?\n\t\t// if we got lazy data or something, should not the nested items rather take care of updating here?\n\t\tfor (let $13 = 0, $14 = Object.keys(data), $15 = $14.length, k, v; $13 < $15; $13++){\n\t\t\tk = $14[$13];v = data[k];\n\t\t\tlet item = this[k];\n\t\t\tif (item) {\n\t\t\t\t\n\t\t\t\t// always?\n\t\t\t\titem.$patch(v);\n\t\t\t\t// need to ensure that it is added as well?\n\t\t\t} else {\n\t\t\t\t\n\t\t\t\tthis.$cloud[k] = v;\n\t\t\t\tthis.push(this[k] = this.$sub(k));\n\t\t\t};\n\t\t};\n\t\t\n\t\t// Return value of $patch could decide if the parent $patch should also update the underlying data?\n\t\treturn this;\n\t}\n\t\n\t[$changed$](){\n\t\t\n\t\tthis[OWNREF].invalidated(0);\n\t\treturn this.$up.$changed(this,this.$field);\n\t}\n\t\n\t// general a\n\t$consume(item){\n\t\t\n\t\treturn this.add(item);\n\t}\n\t\n\tbuild(o = {}){\n\t\t\n\t\tlet id = this.$field.type.key.generate();\n\t\tthis.log('build with id',id);\n\t\tlet item = this.$field.type;\n\t\treturn this.$field.type.embed(this,id,o);\n\t}\n\t\n\tpersist(){\n\t\t\n\t\treturn this[$changed$]();\n\t}\n\t\n\tserialize(depth = 0){\n\t\t\n\t\treturn this.scores || undefined;\n\t}\n\t\n\t$change(value){\n\t\t\n\t\tconsole.log('embeds $change',value);\n\t\treturn this.patch(value,true);\n\t}\n\t\n\t// Difference between patching and setting.\n\t// When we're setting we want to retain the changes\n\tpatch(data,track = false){\n\t\t\n\t\tif (data == null) { return };\n\t}\n\t\n\tget id(){\n\t\t\n\t\treturn (\"\" + (this.$up.id) + `.` + this.$key);\n\t}\n\t\n\ttoString(){\n\t\t\n\t\treturn this.id;\n\t}\n\tstatic {\n\t\tthis.prototype[$__initor__$] = $3;defineName$__(this,'OPEmbeds');inheritClass$__(this);}\n}; globalThis.OPEmbeds = OPEmbeds;\n\nOPValue.extend(OPEmbeds);\n","map":{"version":3,"file":"embed.js","sourceRoot":"","sources":["/Users/abdellah/workspace/scrimba/op/src/fields/embed.imba"],"sourcesContent":["import './any'\n\nimport {Iterable} from '../core/iterable'\nimport {isPlainObject} from '../utils'\nconst OWNREF = Symbol.for(\"~\")\n\n# @template [Type=any]\nexport global class OPEmbedField < OPField\n\tpgtype = 'jsonb'\n\n\tget valuetype\n\t\ttype\n\n\tget complex?\n\t\tyes\n\n\tget embedded?\n\t\tyes\n\n\tdef deserialize value, target\n\t\t# FIXME Does not make sense here?\n\t\tif typeof value == 'string' and self.enum\n\t\t\tvalue = type.id + '9' + value\n\t\ttype.get(value,target,self)\n\n\tdef serialize value, target\n\t\t# FIXME makes no sense for embeds?\n\t\tvalue ? String(self.enum ? value.oid : value.id) : undefined\n\n\tdef $load value, target\n\t\tunless value === undefined\n\t\t\t$get(target).$patch(value)\n\t\treturn\n\n\tdef $get\\Type target\n\t\ttarget.$rich[name] ??= valuetype.embed(target,self,Object.assign(target.$plain[name] or {},args[1] or {}))\n\n\tdef $set value, target\n\t\t$load(value,target)\n\n\tdef $wake target\n\t\tyes\n\n# @template [Type=any]\nexport global class OPEmbedsField < OPField\n\tpgtype = 'jsonb'\n\n\tget embedded?\n\t\tyes\n\n\tget rich?\n\t\tyes\n\n\tget valuetype\n\t\targs[0]\n\n\tdef $get\\OPEmbeds<Type> target\n\t\ttarget.$rich[name] ||= new OPEmbeds(target,self,{})\n\n\tdef $patch plain, target\n\t\t$get(target).$patch(plain)\n\nextend class OPObject\n\t# @template [T=any]\n\tdef @embed\\OPEmbedField<T> type\\T, ...rest\n\t\tlet field = new OPEmbedField(type,...rest)\n\t\tunless type..prototype isa OPObject # depends on the type, no?\n\n\t\t\tfield.pgtype = ''\n\t\t\tfield.virtual = yes\n\t\treturn field\n\n\t# @template [T=any]\n\tdef @embeds\\OPEmbedsField<T> type\\T, ...rest\n\t\tlet field = new OPEmbedsField(type,...rest)\n\t\treturn field\n\n# @template [Type=any]\n# @extends {Array<InstanceType<Type>>}\nexport global class OPEmbeds < Iterable\n\n\tdef constructor up,field,options\n\t\tsuper()\n\t\t$embed(up,field)\n\t\t$wake($cloud) if $cloud\n\n\tdef then ok,err\n\t\tPromise.all(slice(0)).then(ok,err)\n\n\tget $plain\n\t\t$cloud\n\n\tget valuetype\n\t\t$field.valuetype\n\n\tdef get id\n\t\t$sub(id)\n\n\tdef add item\n\n\t\tif isPlainObject(item)\n\t\t\t# why not use much simpler ids for these?\n\t\t\titem = valuetype.new(item)\n\t\tif !writable?\n\t\t\tthrow new PermissionDeniedError(`Cannot add item to SortedSet`)\n\n\t\tunless item isa valuetype\n\t\t\tthrow new PermissionDeniedError(`Cannot add item of type`)\n\n\t\t# if item is already embedded somewhere else - throw or clone\n\t\tif item.$up and item.$up != self\n\t\t\t# TODO Should item be moved from old location or duplicated?\n\t\t\titem = valuetype.new(item.$plain)\n\t\t\t# throw new OPError(`Item already embedded elsewhere`)\n\n\t\tlet key = item.id\n\t\t# item.$embed(self,item.id)\n\t\tself[key] = item\n\t\titem.$up = self\n\t\titem.$key = key\n\t\tdelete item.$plain.id\n\t\tdelete item.$plain._rev\n\t\t# return item\n\t\t# return item\n\t\titem.id = `{id}.{item.id}`\n\t\t# potentially deregister it from rich map?\n\t\tlet mut = OPSET.for(id,key,item.$plain,null).applied!\n\t\tpush(item)\n\t\t$up.$mutated(mut)\n\t\treturn item\n\n\tdef create\\InstanceType<Type> params = {}\n\t\tlet item = valuetype.new(params)\n\t\tadd(item)\n\n\tget options\n\t\tfield.options\n\n\tdef $sub key\n\t\treturn self[key] if self[key]\n\t\tlet typ = OP.getType(key)\n\t\tself[key] = typ.embed(self,key)\n\n\t# waking up with the exact data\n\tdef $wake data\n\t\t# some default sorting here?\n\t\tfor own k,v of data\n\t\t\tlet typ = OP.getType(k)\n\t\t\tlet existing = self[k]\n\t\t\tlet item = existing or typ.embed(self,k,v)\n\t\t\tpush(self[k] = item)\n\t\tself\n\n\tdef $patch data\n\t\t# potentially remove items?\n\t\t# if we got lazy data or something, should not the nested items rather take care of updating here?\n\t\tfor own k,v of data\n\t\t\tlet item = self[k]\n\t\t\tif item\n\t\t\t\t# always?\n\t\t\t\titem.$patch(v)\n\t\t\t\t# need to ensure that it is added as well?\n\t\t\telse\n\t\t\t\t$cloud[k] = v\n\t\t\t\tpush(self[k] = $sub(k))\n\n\t\t# Return value of $patch could decide if the parent $patch should also update the underlying data?\n\t\tself\n\n\tdef #changed\n\t\tself[OWNREF].invalidated(0)\n\t\t$up.$changed(self,$field)\n\n\t# general a\n\tdef $consume item\n\t\tadd(item)\n\n\tdef build o = {}\n\t\tlet id = $field.type.key.generate!\n\t\tlog 'build with id',id\n\t\tlet item = $field.type\n\t\t$field.type.embed(self,id,o)\n\n\tdef persist\n\t\t#changed!\n\n\tdef serialize depth = 0\n\t\treturn scores or undefined\n\n\tdef $change value\n\t\tconsole.log 'embeds $change',value\n\t\tpatch(value,yes)\n\n\t# Difference between patching and setting.\n\t# When we're setting we want to retain the changes\n\tdef patch data, track = no\n\t\treturn if data == null\n\n\tget id\n\t\t`{$up.id}.{$key}`\n\n\tdef toString\n\t\tid\n\nOPValue.extend(OPEmbeds)"],"names":[],"mappings":"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"},"dependencies":[],"meta":{"vite":{"lang":"js"}}}
\No newline at end of file