{"version":3,"names":["Event","__SystemJSRewritingHack","eventCounter","EventTypes","fileNameString","file","substring","lastIndexOf","humanizePosition","line","_element","_attributes","_children","_childText","_childElement","_attributeStringLiteral","_childExpression","end","column","start","_export","setters","_reactiveJsx","_childSpread","childSpread","childExpression","attributeStringLiteral","childElement","childText","children","attributes","element","_srcClientReactiveActiveExpressionAeRegistryJs","AExprRegistry","_srcClientReactiveComponentsBasicAexprDebuggingUtilsJs","toValueString","_utils","pluralize","execute","_recorder_","_src_client_reactive_active_expression_events_event_js","Object","defineProperty","get","set","thisIsVererySecretVariableName","enumerable","configurable","CREATED","DISPOSED","CHANGED","EVALFAIL","CBADDED","CBREMOVED","DEPCHANGED","REFINE","UNREFINE","LAYERCREATED","CUSTOM","constructor","ae","value","type","overrideTimestamp","undefined","timestamp","Date","overallID","valuePromise","Promise","resolve","then","resolvedValue","setAE","eventIDInAE","addEvent","id","meta","eventListeners","forEach","listener","callback","ensureResolved","typeName","isILA","getColor","valueString","extractLayererdFunctions","result","Map","event","events","functionMap","getOrCreate","obj","keys","functions","key","function","debugInfo","layeredFunctionsString","layeredFunctions","values","reduce","p","c","size","humanizedData","triggers","map","location","lastValue","hook","informationString","error","name","message","added","length","removed","matching","toString","e"],"sources":["event.js"],"sourcesContent":["import { AExprRegistry } from 'src/client/reactive/active-expression/ae-registry.js';\nimport { toValueString } from 'src/client/reactive/components/basic/aexpr-debugging-utils.js';\nimport { pluralize } from 'utils'\n\nlet eventCounter = 0;\n\nexport const EventTypes = {\n  //AE\n  CREATED: \"created\",\n  DISPOSED: \"disposed\",\n  CHANGED: \"changed value\",\n  EVALFAIL: \"evaluation failed\",\n  CBADDED: \"callback added\",\n  CBREMOVED: \"callback removed\",\n  DEPCHANGED: \"dependencies changed\",\n  //ILA\n  REFINE: \"refine function\",\n  UNREFINE: \"unrefine function\",\n  LAYERCREATED: \"layer created\",\n  //CUSTON\n  CUSTOM: \"custom mark\",\n}\n\nfunction fileNameString(file) {\n  return file.substring(file.lastIndexOf('/') + 1);\n}\n\nfunction humanizePosition(file, line) {\n  return <div>in <span style=\"color:#0000FF\">{fileNameString(file)}</span> line <span style=\"color:#0000FF\">{line}</span></div>;\n}\n\nexport default class Event {\n  constructor(ae, value, type, overrideTimestamp = undefined) {\n    this.timestamp = overrideTimestamp || new Date();\n    this.overallID = eventCounter;\n    eventCounter++;\n        \n    this.type = type;\n    this.valuePromise = Promise.resolve(value).then(resolvedValue => {\n      this.value = resolvedValue;\n    });\n    this.setAE(ae);\n  }\n  \n  setAE(ae) {\n    if(!ae) return;\n    const eventIDInAE = ae.addEvent(this);\n    \n    this.id = ae.meta().get('id') + \"-\" + eventIDInAE;\n    this.ae = ae;\n    \n    this.valuePromise.then(() => {\n      AExprRegistry.eventListeners().forEach(listener => listener.callback(this.ae, this));\n    });\n  }\n  \n  async ensureResolved() {\n    await this.valuePromise;\n    return this;\n  }\n  \n  typeName() {\n    if(this.ae.isILA() && this.type === EventTypes.CHANGED) {\n      return this.value && this.value.value ? \"layer enabled\" : \"layer disabled\"\n    }\n    return this.type;\n  }\n  \n  getColor() {\n    switch(this.type) {\n      case EventTypes.CREATED:\n        return 'green';\n      case EventTypes.LAYERCREATED:\n        return 'lightgreen';\n      case EventTypes.DISPOSED:\n      case EventTypes.EVALFAIL:\n        return 'red';\n      case EventTypes.CHANGED:\n        return 'blue';\n      case EventTypes.CBADDED:\n      case EventTypes.REFINE:\n        return 'yellow';\n      case EventTypes.CBREMOVED:\n      case EventTypes.UNREFINE:\n        return 'purple';\n      case EventTypes.DEPCHANGED:\n        return 'orange';\n      case EventTypes.CUSTOM:\n        return 'gray';\n      default:\n        return 'black';\n    }\n  }\n  \n  valueString(value) {\n    if (value === undefined) {\n      if (this.value === undefined) {\n        value = undefined\n      } else {\n        value = this.value.value\n      }\n    }\n    if(this.ae.isILA()) return value ? \"on\" : \"off\";\n    return toValueString(value);\n  }\n  \n  extractLayererdFunctions() {\n    if(this.ae.isILA()) {\n      const result = new Map();\n      for(const event of this.ae.events) {\n        if(event === this) break;\n        if(event.type === EventTypes.REFINE) {\n          const functionMap = result.getOrCreate(event.value.obj, () => new Map());\n          Object.keys(event.value.functions).forEach(key => {\n            functionMap.set(key, {function: event.value.functions[key], debugInfo: event.value.debugInfo[key]});\n            \n          })\n        } else if(event.type === EventTypes.UNREFINE) {\n          result.set(event.value.obj, new Map());\n        }\n      }\n      //const layer = this.ae.getLayer();\n      return result;\n    }\n    return undefined;\n  }\n  \n  layeredFunctionsString() {\n    const layeredFunctions = this.extractLayererdFunctions();\n    if(!layeredFunctions) return \"\";\n    return <div><span style=\"color:#AA00AA\">{pluralize([...layeredFunctions.values()].reduce((p, c) => p += c.size, 0), \"active method\")}</span> in <span style=\"color:#AA00AA\">{pluralize(layeredFunctions.size, \"object\")}</span><br/></div>\n  }\n  \n  async humanizedData() {\n    try {\n      \n    switch (this.type) {\n      case EventTypes.CHANGED:\n        return <div>\n          {... this.value.triggers.map(({ location }) => humanizePosition(location.file, location.start.line))} \n          <br /> \n          <span style=\"color:#00AAAA\">{this.valueString(this.value.lastValue)}</span> → <span style=\"color:#00AAAA\">{this.valueString(this.value && this.value.value)}</span>\n          <br /> \n          {this.layeredFunctionsString()}\n          {this.value.triggers[0].hook.informationString()}\n        </div>;\n      //Todo: Join trigger hook informationString\n      case EventTypes.EVALFAIL:\n        return <div>\n          {this.value.triggers ? this.value.triggers.map(({ location }) => humanizePosition(location.file, location.start.line)) : \"\"} \n          <br /> \n          {this.value.error.name + \": \" + this.value.error.message}\n        </div>;\n      case EventTypes.CREATED:\n        {\n          const ae = this.ae;\n          /*const stack = this.value.stack;\n          const locations = await Promise.all(stack.frames.map(frame => frame.getSourceLoc()));\n          return locations.map(location => this.humanizePosition(location.source, location.line));*/\n          const location = ae.meta().get(\"location\");\n          return <div>\n            <span style=\"color:#00AAAA\">{this.valueString(this.value.lastValue)}</span>\n            {this.layeredFunctionsString()}\n            {humanizePosition(location.file, location.start.line)}\n          </div>\n        }\n      case EventTypes.DISPOSED:\n        {\n          const ae = this.value;\n          const location = ae.meta().get(\"location\");\n          return humanizePosition(location.file, location.start.line);\n        }\n      case EventTypes.DEPCHANGED:\n        {\n          return <div>\n              Added: {this.value.added.length}\n              Removed: {this.value.removed.length}\n              Matching: {this.value.matching.length}\n            </div>;\n        }\n      case EventTypes.CBADDED:\n      case EventTypes.CBREMOVED:\n      case EventTypes.REFINE:\n      case EventTypes.UNREFINE:\n      case EventTypes.LAYERCREATED:\n      case EventTypes.CUSTOM:\n      default:\n        return (this.value || \"\").toString();\n    }\n      \n      \n    } catch(e) {\n      // #TODO better guard against undefined this.value than this\n      debugger\n      return \"\"\n    }\n\n  }\n  \n  \n\n}"],"mappings":"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"}