{"version":3,"names":["InjectiveMap","__SystemJSRewritingHack","_export","setters","execute","_recorder_","_src_client_reactive_active_expression_rewriting_injective_map_js","constructor","leftToRight","Map","rightToLeft","associate","left","right","set","getRightFor","get","hasLeft","has","getOrCreateRightFor","constructorCallback","removeRight","delete","getLeftFor","hasRight","getOrCreateLeftFor","removeLeft","clear","Object","defineProperty","thisIsVererySecretVariableName","enumerable","configurable"],"sources":["injective-map.js"],"sourcesContent":["export default class InjectiveMap {\n\n  constructor() {\n    this.leftToRight = new Map();\n    this.rightToLeft = new Map();\n  }\n  \n  associate(left, right) {\n    this.leftToRight.set(left, right);\n    this.rightToLeft.set(right, left);\n  }\n  \n  getRightFor(left) {\n    return this.leftToRight.get(left);\n  }\n\n  hasLeft(left) {\n    return this.leftToRight.has(left);\n  }\n\n  getOrCreateRightFor(left, constructorCallback) {\n    if (!this.hasLeft(left)) {\n      this.associate(left, constructorCallback(left));\n    }\n    return this.leftToRight.get(left);\n  }\n  \n  removeRight(right) {\n    const left = this.rightToLeft.get(right);\n    if(left) {\n      this.leftToRight.delete(left);\n    }\n    this.rightToLeft.delete(right);\n  }\n\n  getLeftFor(right) {\n    return this.rightToLeft.get(right);\n  }\n\n  hasRight(right) {\n    return this.rightToLeft.has(right);\n  }\n\n  getOrCreateLeftFor(right, constructorCallback) {\n    if (!this.hasRight(right)) {\n      this.associate(constructorCallback(right), right);\n    }\n    return this.rightToLeft.get(right);\n  }\n  \n  removeLeft(left) {\n    const right = this.leftToRight.get(left);\n    if(right) {\n      this.rightToLeft.delete(right);\n    }\n    this.leftToRight.delete(left);\n  }\n\n  clear() {\n    this.leftToRight.clear();\n    this.rightToLeft.clear();\n  }\n\n}\n"],"mappings":";;;MAAqBA,YAAY,EAAAC,uBAAA;EAAAC,OAAA;EAAA;IAAAC,OAAA;IAAAC,OAAA,WAAAA,CAAA;MAAAH,uBAAA;MAAAI,UAAA,CAAAC,iEAAA,GAAAD,UAAA,CAAAC,iEAAA;MAAAJ,OAAA,YAAZF,YAAY,GAAlB,MAAMA,YAAY,CAAC;QAEhCO,WAAWA,CAAA,EAAG;UACZ,IAAI,CAACC,WAAW,GAAG,IAAIC,GAAG,CAAC,CAAC;UAC5B,IAAI,CAACC,WAAW,GAAG,IAAID,GAAG,CAAC,CAAC;QAC9B;QAEAE,SAASA,CAACC,IAAI,EAAEC,KAAK,EAAE;UACrB,IAAI,CAACL,WAAW,CAACM,GAAG,CAACF,IAAI,EAAEC,KAAK,CAAC;UACjC,IAAI,CAACH,WAAW,CAACI,GAAG,CAACD,KAAK,EAAED,IAAI,CAAC;QACnC;QAEAG,WAAWA,CAACH,IAAI,EAAE;UAChB,OAAO,IAAI,CAACJ,WAAW,CAACQ,GAAG,CAACJ,IAAI,CAAC;QACnC;QAEAK,OAAOA,CAACL,IAAI,EAAE;UACZ,OAAO,IAAI,CAACJ,WAAW,CAACU,GAAG,CAACN,IAAI,CAAC;QACnC;QAEAO,mBAAmBA,CAACP,IAAI,EAAEQ,mBAAmB,EAAE;UAC7C,IAAI,CAAC,IAAI,CAACH,OAAO,CAACL,IAAI,CAAC,EAAE;YACvB,IAAI,CAACD,SAAS,CAACC,IAAI,EAAEQ,mBAAmB,CAACR,IAAI,CAAC,CAAC;UACjD;UACA,OAAO,IAAI,CAACJ,WAAW,CAACQ,GAAG,CAACJ,IAAI,CAAC;QACnC;QAEAS,WAAWA,CAACR,KAAK,EAAE;UACjB,MAAMD,IAAI,GAAG,IAAI,CAACF,WAAW,CAACM,GAAG,CAACH,KAAK,CAAC;UACxC,IAAGD,IAAI,EAAE;YACP,IAAI,CAACJ,WAAW,CAACc,MAAM,CAACV,IAAI,CAAC;UAC/B;UACA,IAAI,CAACF,WAAW,CAACY,MAAM,CAACT,KAAK,CAAC;QAChC;QAEAU,UAAUA,CAACV,KAAK,EAAE;UAChB,OAAO,IAAI,CAACH,WAAW,CAACM,GAAG,CAACH,KAAK,CAAC;QACpC;QAEAW,QAAQA,CAACX,KAAK,EAAE;UACd,OAAO,IAAI,CAACH,WAAW,CAACQ,GAAG,CAACL,KAAK,CAAC;QACpC;QAEAY,kBAAkBA,CAACZ,KAAK,EAAEO,mBAAmB,EAAE;UAC7C,IAAI,CAAC,IAAI,CAACI,QAAQ,CAACX,KAAK,CAAC,EAAE;YACzB,IAAI,CAACF,SAAS,CAACS,mBAAmB,CAACP,KAAK,CAAC,EAAEA,KAAK,CAAC;UACnD;UACA,OAAO,IAAI,CAACH,WAAW,CAACM,GAAG,CAACH,KAAK,CAAC;QACpC;QAEAa,UAAUA,CAACd,IAAI,EAAE;UACf,MAAMC,KAAK,GAAG,IAAI,CAACL,WAAW,CAACQ,GAAG,CAACJ,IAAI,CAAC;UACxC,IAAGC,KAAK,EAAE;YACR,IAAI,CAACH,WAAW,CAACY,MAAM,CAACT,KAAK,CAAC;UAChC;UACA,IAAI,CAACL,WAAW,CAACc,MAAM,CAACV,IAAI,CAAC;QAC/B;QAEAe,KAAKA,CAAA,EAAG;UACN,IAAI,CAACnB,WAAW,CAACmB,KAAK,CAAC,CAAC;UACxB,IAAI,CAACjB,WAAW,CAACiB,KAAK,CAAC,CAAC;QAC1B;MAEF,CAAC;MAAAC,MAAA,CAAAC,cAAA,CAAAxB,UAAA,CAAAC,iEAAA;QAAAU,IAAA;UAAA,OAAAhB,YAAA;QAAA;QAAAc,IAAAgB,8BAAA;UAAA5B,OAAA,YA/DoBF,YAAA,CAAAA,CAAA,CAAAA,8BAAY;UAAA;QAAA;QAAA+B,UAAA;QAAAC,YAAA;MAAA;IAAA;EAAA;AAAA"}