{"version":3,"sources":["https://lively-kernel.org/lively4/lively4-function-completion/src/babylonian-programming-editor/annotations/instance.js"],"names":["InstanceWidget","InputAnnotation","Instance","constructor","editor","location","changeCallback","deleteCallback","instances","customInstances","_widget","kind","_changeCallback","_deleteCallback","id","_id","name","keys","serializeForWorker","Object","assign","values","valuesArray","serializeForSave","load","serialized"],"mappings":";;;;;;AAAOA,oB;;AACAC,qB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAGQ,YAAMC,QAAN,SAAuBD,eAAvB,CAAuC;AACpDE,oBAAYC,MAAZ,EAAoBC,QAApB,EAA8BC,cAA9B,EAA8CC,cAA9C,EAA8DC,SAA9D,EAAyEC,eAAzE,EAA0F;AACxF,gBAAML,MAAN,EAAcC,QAAd,EAAwBC,cAAxB,EAAwCC,cAAxC;AACA,eAAKG,OAAL,GAAe,IAAIV,cAAJ,CAAmBI,MAAnB,EAA2BC,QAA3B,EAAqC,KAAKM,IAA1C,EAAgDH,SAAhD,EAA2DC,eAA3D,EAA4E,KAAKG,eAAjF,EAAkG,KAAKC,eAAvG,CAAf;AACD;;AAED,YAAIC,EAAJ,GAAS;AACP,iBAAO,KAAKJ,OAAL,CAAaK,GAApB;AACD;;AAED,YAAIC,IAAJ,GAAW;AACT,iBAAO,KAAKN,OAAL,CAAaM,IAApB;AACD;;AAED,YAAIC,IAAJ,CAASA,IAAT,EAAe;AACb,eAAKP,OAAL,CAAaO,IAAb,GAAoBA,IAApB;AACD;;AAEDC,6BAAqB;AACnB,iBAAOC,OAAOC,MAAP,CAAc,MAAMF,kBAAN,EAAd,EAA0C;AAC/CJ,gBAAI,KAAKA,EADsC;AAE/CE,kBAAM,KAAKA,IAFoC;AAG/CK,oBAAQ,KAAKX,OAAL,CAAaY;AAH0B,WAA1C,CAAP;AAKD;;AAEDC,2BAAmB;AACjB,iBAAOJ,OAAOC,MAAP,CAAc,MAAMG,gBAAN,EAAd,EAAwC;AAC7CT,gBAAI,KAAKA,EADoC;AAE7CE,kBAAM,KAAKA,IAFkC;AAG7CK,oBAAQ,KAAKX,OAAL,CAAaW;AAHwB,WAAxC,CAAP;AAKD;;AAEDG,aAAKC,UAAL,EAAiB;AACf,eAAKf,OAAL,CAAaI,EAAb,GAAkBW,WAAWX,EAA7B;AACA,eAAKJ,OAAL,CAAaW,MAAb,GAAsBI,WAAWJ,MAAjC;AACA,eAAKX,OAAL,CAAaM,IAAb,GAAoBS,WAAWT,IAA/B;AACD;AAtCmD;;yBAAjCd,Q","file":"instance.js","sourcesContent":["import InstanceWidget from \"../ui/instance-widget.js\";\nimport InputAnnotation from \"./input-annotation.js\";\n\n\nexport default class Instance extends InputAnnotation {\n  constructor(editor, location, changeCallback, deleteCallback, instances, customInstances) {\n    super(editor, location, changeCallback, deleteCallback);\n    this._widget = new InstanceWidget(editor, location, this.kind, instances, customInstances, this._changeCallback, this._deleteCallback);\n  }\n  \n  get id() {\n    return this._widget._id;\n  }\n  \n  get name() {\n    return this._widget.name;\n  }\n  \n  set keys(keys) {\n    this._widget.keys = keys;\n  }\n  \n  serializeForWorker() {\n    return Object.assign(super.serializeForWorker(), {\n      id: this.id,\n      name: this.name,\n      values: this._widget.valuesArray\n    });\n  }\n  \n  serializeForSave() {\n    return Object.assign(super.serializeForSave(), {\n      id: this.id,\n      name: this.name,\n      values: this._widget.values\n    });\n  }\n  \n  load(serialized) {\n    this._widget.id = serialized.id;\n    this._widget.values = serialized.values;\n    this._widget.name = serialized.name;\n  }\n}"]}