{"version":3,"names":["VivideObject","__SystemJSRewritingHack","_export","setters","_srcClientReactiveUtilsAnnotationsJs","Annotations","default","execute","_recorder_","_src_client_vivide_vivideobject_js","Object","defineProperty","get","set","thisIsVererySecretVariableName","enumerable","configurable","forestToData","forest","map","model","object","dataToForest","data","d","constructor","_data","_properties","_descentStep","properties","descentStep","hasChildren","children","getChildren","length","computeChildren","descentObject","_children"],"sources":["vivideobject.js"],"sourcesContent":["import Annotations from 'src/client/reactive/utils/annotations.js';\n\nexport default class VivideObject {\n  static forestToData(forest) {\n    return forest.map(model => model.object);\n  }\n\n  static dataToForest(data) {\n    return data.map(d => new VivideObject(d));\n  }\n\n  constructor(data) {\n    this._data = data;\n    this._properties = new Annotations();\n    this._descentStep = null;\n  }\n\n  get object() { return this._data; }\n  get data() { return this._data; }\n\n  get properties() {\n    return this._properties;\n  }\n\n  get descentStep() { return this._descentStep; }\n  set descentStep(descentStep) { return this._descentStep = descentStep; }\n\n  async hasChildren() {\n    const children = await this.getChildren();\n\n    return children && children.length > 0;\n  }\n\n  async computeChildren() {\n    if(!this.descentStep) {\n      // #TODO: better: undefined? (to signal the absense of a descent script)\n      return [];\n    }\n\n    const forest = await this.descentStep.descentObject(this.object);\n    return forest;\n  }\n\n  async getChildren() {\n    return this._children = this._children || await this.computeChildren();\n  }\n}\n"],"mappings":";;;mBAEqBA,YAAY,EAAAC,uBAAA;EAAAC,OAAA;EAAA;IAAAC,OAAA,aAAAC,oCAAA;MAF1BC,WAAW,GAAAD,oCAAA,CAAAE,OAAA;IAAA;IAAAC,OAAA,WAAAA,CAAA;MAAAN,uBAAA;MAAAO,UAAA,CAAAC,kCAAA,GAAAD,UAAA,CAAAC,kCAAA;MAAAC,MAAA,CAAAC,cAAA,CAAAH,UAAA,CAAAC,kCAAA;QAAAG,IAAA;UAAA,OAAAP,WAAA;QAAA;QAAAQ,IAAAC,8BAAA;UAAXT,WAAA,CAAAA,CAAA,CAAAA,8BAAW;UAAA;QAAA;QAAAU,UAAA;QAAAC,YAAA;MAAA;MAAAd,OAAA,YAEGF,YAAY,GAAlB,MAAMA,YAAY,CAAC;QAChC,OAAOiB,YAAYA,CAACC,MAAM,EAAE;UAC1B,OAAOA,MAAM,CAACC,GAAG,CAACC,KAAK,IAAIA,KAAK,CAACC,MAAM,CAAC;QAC1C;QAEA,OAAOC,YAAYA,CAACC,IAAI,EAAE;UACxB,OAAOA,IAAI,CAACJ,GAAG,CAACK,CAAC,IAAI,IAAIxB,YAAY,CAACwB,CAAC,CAAC,CAAC;QAC3C;QAEAC,WAAWA,CAACF,IAAI,EAAE;UAChB,IAAI,CAACG,KAAK,GAAGH,IAAI;UACjB,IAAI,CAACI,WAAW,GAAG,IAAItB,WAAW,CAAC,CAAC;UACpC,IAAI,CAACuB,YAAY,GAAG,IAAI;QAC1B;QAEA,IAAIP,MAAMA,CAAA,EAAG;UAAE,OAAO,IAAI,CAACK,KAAK;QAAE;QAClC,IAAIH,IAAIA,CAAA,EAAG;UAAE,OAAO,IAAI,CAACG,KAAK;QAAE;QAEhC,IAAIG,UAAUA,CAAA,EAAG;UACf,OAAO,IAAI,CAACF,WAAW;QACzB;QAEA,IAAIG,WAAWA,CAAA,EAAG;UAAE,OAAO,IAAI,CAACF,YAAY;QAAE;QAC9C,IAAIE,WAAWA,CAACA,WAAW,EAAE;UAAE,OAAO,IAAI,CAACF,YAAY,GAAGE,WAAW;QAAE;QAEvE,MAAMC,WAAWA,CAAA,EAAG;UAClB,MAAMC,QAAQ,GAAG,MAAM,IAAI,CAACC,WAAW,CAAC,CAAC;UAEzC,OAAOD,QAAQ,IAAIA,QAAQ,CAACE,MAAM,GAAG,CAAC;QACxC;QAEA,MAAMC,eAAeA,CAAA,EAAG;UACtB,IAAG,CAAC,IAAI,CAACL,WAAW,EAAE;YACpB;YACA,OAAO,EAAE;UACX;UAEA,MAAMZ,MAAM,GAAG,MAAM,IAAI,CAACY,WAAW,CAACM,aAAa,CAAC,IAAI,CAACf,MAAM,CAAC;UAChE,OAAOH,MAAM;QACf;QAEA,MAAMe,WAAWA,CAAA,EAAG;UAClB,OAAO,IAAI,CAACI,SAAS,GAAG,IAAI,CAACA,SAAS,KAAI,MAAM,IAAI,CAACF,eAAe,CAAC,CAAC;QACxE;MACF,CAAC;MAAAzB,MAAA,CAAAC,cAAA,CAAAH,UAAA,CAAAC,kCAAA;QAAAG,IAAA;UAAA,OAAAZ,YAAA;QAAA;QAAAa,IAAAC,8BAAA;UAAAZ,OAAA,YA5CoBF,YAAA,CAAAA,CAAA,CAAAA,8BAAY;UAAA;QAAA;QAAAe,UAAA;QAAAC,YAAA;MAAA;IAAA;EAAA;AAAA"}