ts-events
Version:
Various EventEmitter event replacements with synchronous, a-synchronous, and queued events. Made in TypeScript so usable with JavaScript and TypeScript.
1 lines • 201 kB
JSON
{"/home/rogier/github/ts-events/dist/lib/any-event.js":{"path":"/home/rogier/github/ts-events/dist/lib/any-event.js","statementMap":{"0":{"start":{"line":4,"column":16},"end":{"line":16,"column":4}},"1":{"start":{"line":5,"column":24},"end":{"line":10,"column":5}},"2":{"start":{"line":6,"column":8},"end":{"line":8,"column":87}},"3":{"start":{"line":7,"column":69},"end":{"line":7,"column":85}},"4":{"start":{"line":8,"column":30},"end":{"line":8,"column":84}},"5":{"start":{"line":8,"column":47},"end":{"line":8,"column":84}},"6":{"start":{"line":8,"column":72},"end":{"line":8,"column":84}},"7":{"start":{"line":9,"column":8},"end":{"line":9,"column":35}},"8":{"start":{"line":11,"column":4},"end":{"line":15,"column":6}},"9":{"start":{"line":12,"column":8},"end":{"line":12,"column":28}},"10":{"start":{"line":13,"column":24},"end":{"line":13,"column":45}},"11":{"start":{"line":14,"column":8},"end":{"line":14,"column":93}},"12":{"start":{"line":17,"column":0},"end":{"line":17,"column":62}},"13":{"start":{"line":18,"column":0},"end":{"line":18,"column":93}},"14":{"start":{"line":19,"column":16},"end":{"line":19,"column":36}},"15":{"start":{"line":20,"column":19},"end":{"line":20,"column":42}},"16":{"start":{"line":21,"column":20},"end":{"line":21,"column":44}},"17":{"start":{"line":22,"column":21},"end":{"line":22,"column":46}},"18":{"start":{"line":24,"column":0},"end":{"line":28,"column":62}},"19":{"start":{"line":25,"column":4},"end":{"line":25,"column":46}},"20":{"start":{"line":26,"column":4},"end":{"line":26,"column":48}},"21":{"start":{"line":27,"column":4},"end":{"line":27,"column":50}},"22":{"start":{"line":33,"column":30},"end":{"line":292,"column":3}},"23":{"start":{"line":38,"column":8},"end":{"line":38,"column":26}},"24":{"start":{"line":39,"column":8},"end":{"line":42,"column":9}},"25":{"start":{"line":40,"column":12},"end":{"line":40,"column":55}},"26":{"start":{"line":41,"column":12},"end":{"line":41,"column":54}},"27":{"start":{"line":44,"column":4},"end":{"line":57,"column":7}},"28":{"start":{"line":49,"column":12},"end":{"line":52,"column":13}},"29":{"start":{"line":51,"column":16},"end":{"line":51,"column":74}},"30":{"start":{"line":53,"column":12},"end":{"line":53,"column":42}},"31":{"start":{"line":58,"column":4},"end":{"line":86,"column":6}},"32":{"start":{"line":59,"column":19},"end":{"line":59,"column":21}},"33":{"start":{"line":60,"column":8},"end":{"line":62,"column":9}},"34":{"start":{"line":60,"column":22},"end":{"line":60,"column":23}},"35":{"start":{"line":61,"column":12},"end":{"line":61,"column":37}},"36":{"start":{"line":63,"column":19},"end":{"line":63,"column":33}},"37":{"start":{"line":64,"column":8},"end":{"line":66,"column":9}},"38":{"start":{"line":65,"column":12},"end":{"line":65,"column":32}},"39":{"start":{"line":67,"column":22},"end":{"line":67,"column":26}},"40":{"start":{"line":71,"column":8},"end":{"line":84,"column":9}},"41":{"start":{"line":72,"column":12},"end":{"line":77,"column":13}},"42":{"start":{"line":73,"column":16},"end":{"line":73,"column":34}},"43":{"start":{"line":76,"column":16},"end":{"line":76,"column":35}},"44":{"start":{"line":78,"column":12},"end":{"line":78,"column":27}},"45":{"start":{"line":81,"column":12},"end":{"line":81,"column":30}},"46":{"start":{"line":82,"column":12},"end":{"line":82,"column":30}},"47":{"start":{"line":83,"column":12},"end":{"line":83,"column":27}},"48":{"start":{"line":85,"column":8},"end":{"line":85,"column":75}},"49":{"start":{"line":87,"column":4},"end":{"line":115,"column":6}},"50":{"start":{"line":88,"column":19},"end":{"line":88,"column":21}},"51":{"start":{"line":89,"column":8},"end":{"line":91,"column":9}},"52":{"start":{"line":89,"column":22},"end":{"line":89,"column":23}},"53":{"start":{"line":90,"column":12},"end":{"line":90,"column":37}},"54":{"start":{"line":92,"column":19},"end":{"line":92,"column":33}},"55":{"start":{"line":93,"column":8},"end":{"line":95,"column":9}},"56":{"start":{"line":94,"column":12},"end":{"line":94,"column":32}},"57":{"start":{"line":96,"column":22},"end":{"line":96,"column":26}},"58":{"start":{"line":100,"column":8},"end":{"line":113,"column":9}},"59":{"start":{"line":101,"column":12},"end":{"line":106,"column":13}},"60":{"start":{"line":102,"column":16},"end":{"line":102,"column":34}},"61":{"start":{"line":105,"column":16},"end":{"line":105,"column":35}},"62":{"start":{"line":107,"column":12},"end":{"line":107,"column":27}},"63":{"start":{"line":110,"column":12},"end":{"line":110,"column":30}},"64":{"start":{"line":111,"column":12},"end":{"line":111,"column":30}},"65":{"start":{"line":112,"column":12},"end":{"line":112,"column":27}},"66":{"start":{"line":114,"column":8},"end":{"line":114,"column":74}},"67":{"start":{"line":116,"column":4},"end":{"line":199,"column":6}},"68":{"start":{"line":117,"column":20},"end":{"line":117,"column":24}},"69":{"start":{"line":118,"column":25},"end":{"line":118,"column":75}},"70":{"start":{"line":120,"column":8},"end":{"line":165,"column":9}},"71":{"start":{"line":123,"column":20},"end":{"line":128,"column":21}},"72":{"start":{"line":123,"column":34},"end":{"line":123,"column":35}},"73":{"start":{"line":123,"column":42},"end":{"line":123,"column":54}},"74":{"start":{"line":124,"column":34},"end":{"line":124,"column":40}},"75":{"start":{"line":125,"column":24},"end":{"line":127,"column":25}},"76":{"start":{"line":126,"column":28},"end":{"line":126,"column":40}},"77":{"start":{"line":129,"column":20},"end":{"line":132,"column":21}},"78":{"start":{"line":130,"column":24},"end":{"line":130,"column":61}},"79":{"start":{"line":131,"column":24},"end":{"line":131,"column":49}},"80":{"start":{"line":134,"column":16},"end":{"line":134,"column":22}},"81":{"start":{"line":137,"column":20},"end":{"line":142,"column":21}},"82":{"start":{"line":137,"column":34},"end":{"line":137,"column":35}},"83":{"start":{"line":137,"column":42},"end":{"line":137,"column":54}},"84":{"start":{"line":138,"column":34},"end":{"line":138,"column":40}},"85":{"start":{"line":139,"column":24},"end":{"line":141,"column":25}},"86":{"start":{"line":140,"column":28},"end":{"line":140,"column":40}},"87":{"start":{"line":143,"column":20},"end":{"line":146,"column":21}},"88":{"start":{"line":144,"column":24},"end":{"line":144,"column":67}},"89":{"start":{"line":145,"column":24},"end":{"line":145,"column":49}},"90":{"start":{"line":148,"column":16},"end":{"line":148,"column":22}},"91":{"start":{"line":151,"column":20},"end":{"line":156,"column":21}},"92":{"start":{"line":151,"column":34},"end":{"line":151,"column":35}},"93":{"start":{"line":151,"column":42},"end":{"line":151,"column":54}},"94":{"start":{"line":152,"column":34},"end":{"line":152,"column":40}},"95":{"start":{"line":153,"column":24},"end":{"line":155,"column":25}},"96":{"start":{"line":154,"column":28},"end":{"line":154,"column":40}},"97":{"start":{"line":157,"column":20},"end":{"line":160,"column":21}},"98":{"start":{"line":158,"column":24},"end":{"line":158,"column":69}},"99":{"start":{"line":159,"column":24},"end":{"line":159,"column":49}},"100":{"start":{"line":162,"column":16},"end":{"line":162,"column":22}},"101":{"start":{"line":164,"column":16},"end":{"line":164,"column":53}},"102":{"start":{"line":167,"column":8},"end":{"line":182,"column":9}},"103":{"start":{"line":168,"column":12},"end":{"line":173,"column":13}},"104":{"start":{"line":169,"column":16},"end":{"line":169,"column":48}},"105":{"start":{"line":172,"column":16},"end":{"line":172,"column":56}},"106":{"start":{"line":176,"column":12},"end":{"line":181,"column":13}},"107":{"start":{"line":177,"column":16},"end":{"line":177,"column":50}},"108":{"start":{"line":180,"column":16},"end":{"line":180,"column":58}},"109":{"start":{"line":183,"column":8},"end":{"line":185,"column":9}},"110":{"start":{"line":184,"column":12},"end":{"line":184,"column":41}},"111":{"start":{"line":186,"column":8},"end":{"line":188,"column":9}},"112":{"start":{"line":187,"column":12},"end":{"line":187,"column":44}},"113":{"start":{"line":189,"column":8},"end":{"line":198,"column":10}},"114":{"start":{"line":190,"column":29},"end":{"line":190,"column":80}},"115":{"start":{"line":191,"column":12},"end":{"line":191,"column":23}},"116":{"start":{"line":192,"column":12},"end":{"line":194,"column":13}},"117":{"start":{"line":193,"column":16},"end":{"line":193,"column":45}},"118":{"start":{"line":195,"column":12},"end":{"line":197,"column":13}},"119":{"start":{"line":196,"column":16},"end":{"line":196,"column":49}},"120":{"start":{"line":200,"column":4},"end":{"line":207,"column":6}},"121":{"start":{"line":201,"column":19},"end":{"line":201,"column":21}},"122":{"start":{"line":202,"column":8},"end":{"line":204,"column":9}},"123":{"start":{"line":202,"column":22},"end":{"line":202,"column":23}},"124":{"start":{"line":203,"column":12},"end":{"line":203,"column":37}},"125":{"start":{"line":205,"column":8},"end":{"line":205,"column":37}},"126":{"start":{"line":206,"column":8},"end":{"line":206,"column":45}},"127":{"start":{"line":208,"column":4},"end":{"line":215,"column":6}},"128":{"start":{"line":209,"column":19},"end":{"line":209,"column":21}},"129":{"start":{"line":210,"column":8},"end":{"line":212,"column":9}},"130":{"start":{"line":210,"column":22},"end":{"line":210,"column":23}},"131":{"start":{"line":211,"column":12},"end":{"line":211,"column":37}},"132":{"start":{"line":213,"column":8},"end":{"line":213,"column":37}},"133":{"start":{"line":214,"column":8},"end":{"line":214,"column":43}},"134":{"start":{"line":216,"column":4},"end":{"line":223,"column":6}},"135":{"start":{"line":217,"column":19},"end":{"line":217,"column":21}},"136":{"start":{"line":218,"column":8},"end":{"line":220,"column":9}},"137":{"start":{"line":218,"column":22},"end":{"line":218,"column":23}},"138":{"start":{"line":219,"column":12},"end":{"line":219,"column":37}},"139":{"start":{"line":221,"column":8},"end":{"line":221,"column":38}},"140":{"start":{"line":222,"column":8},"end":{"line":222,"column":45}},"141":{"start":{"line":224,"column":4},"end":{"line":231,"column":6}},"142":{"start":{"line":225,"column":19},"end":{"line":225,"column":21}},"143":{"start":{"line":226,"column":8},"end":{"line":228,"column":9}},"144":{"start":{"line":226,"column":22},"end":{"line":226,"column":23}},"145":{"start":{"line":227,"column":12},"end":{"line":227,"column":37}},"146":{"start":{"line":229,"column":8},"end":{"line":229,"column":38}},"147":{"start":{"line":230,"column":8},"end":{"line":230,"column":43}},"148":{"start":{"line":232,"column":4},"end":{"line":239,"column":6}},"149":{"start":{"line":233,"column":19},"end":{"line":233,"column":21}},"150":{"start":{"line":234,"column":8},"end":{"line":236,"column":9}},"151":{"start":{"line":234,"column":22},"end":{"line":234,"column":23}},"152":{"start":{"line":235,"column":12},"end":{"line":235,"column":37}},"153":{"start":{"line":237,"column":8},"end":{"line":237,"column":39}},"154":{"start":{"line":238,"column":8},"end":{"line":238,"column":45}},"155":{"start":{"line":240,"column":4},"end":{"line":247,"column":6}},"156":{"start":{"line":241,"column":19},"end":{"line":241,"column":21}},"157":{"start":{"line":242,"column":8},"end":{"line":244,"column":9}},"158":{"start":{"line":242,"column":22},"end":{"line":242,"column":23}},"159":{"start":{"line":243,"column":12},"end":{"line":243,"column":37}},"160":{"start":{"line":245,"column":8},"end":{"line":245,"column":39}},"161":{"start":{"line":246,"column":8},"end":{"line":246,"column":43}},"162":{"start":{"line":251,"column":4},"end":{"line":266,"column":6}},"163":{"start":{"line":252,"column":19},"end":{"line":252,"column":21}},"164":{"start":{"line":253,"column":8},"end":{"line":255,"column":9}},"165":{"start":{"line":253,"column":22},"end":{"line":253,"column":23}},"166":{"start":{"line":254,"column":12},"end":{"line":254,"column":37}},"167":{"start":{"line":256,"column":24},"end":{"line":256,"column":44}},"168":{"start":{"line":257,"column":8},"end":{"line":259,"column":9}},"169":{"start":{"line":257,"column":21},"end":{"line":257,"column":22}},"170":{"start":{"line":258,"column":12},"end":{"line":258,"column":64}},"171":{"start":{"line":260,"column":8},"end":{"line":262,"column":9}},"172":{"start":{"line":261,"column":12},"end":{"line":261,"column":44}},"173":{"start":{"line":263,"column":8},"end":{"line":265,"column":9}},"174":{"start":{"line":264,"column":12},"end":{"line":264,"column":40}},"175":{"start":{"line":270,"column":4},"end":{"line":280,"column":6}},"176":{"start":{"line":273,"column":21},"end":{"line":273,"column":23}},"177":{"start":{"line":274,"column":8},"end":{"line":276,"column":9}},"178":{"start":{"line":274,"column":21},"end":{"line":274,"column":22}},"179":{"start":{"line":275,"column":12},"end":{"line":275,"column":41}},"180":{"start":{"line":277,"column":8},"end":{"line":279,"column":9}},"181":{"start":{"line":277,"column":21},"end":{"line":277,"column":22}},"182":{"start":{"line":278,"column":12},"end":{"line":278,"column":33}},"183":{"start":{"line":284,"column":4},"end":{"line":290,"column":6}},"184":{"start":{"line":285,"column":21},"end":{"line":285,"column":22}},"185":{"start":{"line":286,"column":8},"end":{"line":288,"column":9}},"186":{"start":{"line":286,"column":21},"end":{"line":286,"column":22}},"187":{"start":{"line":287,"column":12},"end":{"line":287,"column":54}},"188":{"start":{"line":289,"column":8},"end":{"line":289,"column":22}},"189":{"start":{"line":291,"column":4},"end":{"line":291,"column":20}},"190":{"start":{"line":293,"column":0},"end":{"line":293,"column":28}},"191":{"start":{"line":297,"column":34},"end":{"line":309,"column":11}},"192":{"start":{"line":298,"column":4},"end":{"line":298,"column":36}},"193":{"start":{"line":300,"column":8},"end":{"line":300,"column":72}},"194":{"start":{"line":305,"column":4},"end":{"line":307,"column":6}},"195":{"start":{"line":306,"column":8},"end":{"line":306,"column":52}},"196":{"start":{"line":308,"column":4},"end":{"line":308,"column":24}},"197":{"start":{"line":310,"column":0},"end":{"line":310,"column":36}},"198":{"start":{"line":314,"column":35},"end":{"line":326,"column":11}},"199":{"start":{"line":315,"column":4},"end":{"line":315,"column":37}},"200":{"start":{"line":317,"column":8},"end":{"line":317,"column":72}},"201":{"start":{"line":319,"column":4},"end":{"line":324,"column":6}},"202":{"start":{"line":320,"column":8},"end":{"line":322,"column":9}},"203":{"start":{"line":321,"column":12},"end":{"line":321,"column":102}},"204":{"start":{"line":323,"column":8},"end":{"line":323,"column":47}},"205":{"start":{"line":325,"column":4},"end":{"line":325,"column":25}},"206":{"start":{"line":327,"column":0},"end":{"line":327,"column":38}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":4,"column":45},"end":{"line":4,"column":46}},"loc":{"start":{"line":4,"column":57},"end":{"line":16,"column":1}},"line":4},"1":{"name":"(anonymous_1)","decl":{"start":{"line":5,"column":24},"end":{"line":5,"column":25}},"loc":{"start":{"line":5,"column":40},"end":{"line":10,"column":5}},"line":5},"2":{"name":"(anonymous_2)","decl":{"start":{"line":7,"column":51},"end":{"line":7,"column":52}},"loc":{"start":{"line":7,"column":67},"end":{"line":7,"column":87}},"line":7},"3":{"name":"(anonymous_3)","decl":{"start":{"line":8,"column":12},"end":{"line":8,"column":13}},"loc":{"start":{"line":8,"column":28},"end":{"line":8,"column":86}},"line":8},"4":{"name":"(anonymous_4)","decl":{"start":{"line":11,"column":11},"end":{"line":11,"column":12}},"loc":{"start":{"line":11,"column":27},"end":{"line":15,"column":5}},"line":11},"5":{"name":"__","decl":{"start":{"line":13,"column":17},"end":{"line":13,"column":19}},"loc":{"start":{"line":13,"column":22},"end":{"line":13,"column":47}},"line":13},"6":{"name":"(anonymous_6)","decl":{"start":{"line":24,"column":1},"end":{"line":24,"column":2}},"loc":{"start":{"line":24,"column":22},"end":{"line":28,"column":1}},"line":24},"7":{"name":"(anonymous_7)","decl":{"start":{"line":33,"column":30},"end":{"line":33,"column":31}},"loc":{"start":{"line":33,"column":42},"end":{"line":292,"column":1}},"line":33},"8":{"name":"AnyEvent","decl":{"start":{"line":34,"column":13},"end":{"line":34,"column":21}},"loc":{"start":{"line":34,"column":28},"end":{"line":43,"column":5}},"line":34},"9":{"name":"(anonymous_9)","decl":{"start":{"line":48,"column":13},"end":{"line":48,"column":14}},"loc":{"start":{"line":48,"column":25},"end":{"line":54,"column":9}},"line":48},"10":{"name":"(anonymous_10)","decl":{"start":{"line":58,"column":32},"end":{"line":58,"column":33}},"loc":{"start":{"line":58,"column":44},"end":{"line":86,"column":5}},"line":58},"11":{"name":"(anonymous_11)","decl":{"start":{"line":87,"column":30},"end":{"line":87,"column":31}},"loc":{"start":{"line":87,"column":42},"end":{"line":115,"column":5}},"line":87},"12":{"name":"(anonymous_12)","decl":{"start":{"line":116,"column":33},"end":{"line":116,"column":34}},"loc":{"start":{"line":116,"column":89},"end":{"line":199,"column":5}},"line":116},"13":{"name":"(anonymous_13)","decl":{"start":{"line":189,"column":15},"end":{"line":189,"column":16}},"loc":{"start":{"line":189,"column":27},"end":{"line":198,"column":9}},"line":189},"14":{"name":"(anonymous_14)","decl":{"start":{"line":200,"column":36},"end":{"line":200,"column":37}},"loc":{"start":{"line":200,"column":48},"end":{"line":207,"column":5}},"line":200},"15":{"name":"(anonymous_15)","decl":{"start":{"line":208,"column":34},"end":{"line":208,"column":35}},"loc":{"start":{"line":208,"column":46},"end":{"line":215,"column":5}},"line":208},"16":{"name":"(anonymous_16)","decl":{"start":{"line":216,"column":37},"end":{"line":216,"column":38}},"loc":{"start":{"line":216,"column":49},"end":{"line":223,"column":5}},"line":216},"17":{"name":"(anonymous_17)","decl":{"start":{"line":224,"column":35},"end":{"line":224,"column":36}},"loc":{"start":{"line":224,"column":47},"end":{"line":231,"column":5}},"line":224},"18":{"name":"(anonymous_18)","decl":{"start":{"line":232,"column":38},"end":{"line":232,"column":39}},"loc":{"start":{"line":232,"column":50},"end":{"line":239,"column":5}},"line":232},"19":{"name":"(anonymous_19)","decl":{"start":{"line":240,"column":36},"end":{"line":240,"column":37}},"loc":{"start":{"line":240,"column":48},"end":{"line":247,"column":5}},"line":240},"20":{"name":"(anonymous_20)","decl":{"start":{"line":251,"column":32},"end":{"line":251,"column":33}},"loc":{"start":{"line":251,"column":44},"end":{"line":266,"column":5}},"line":251},"21":{"name":"(anonymous_21)","decl":{"start":{"line":270,"column":30},"end":{"line":270,"column":31}},"loc":{"start":{"line":270,"column":46},"end":{"line":280,"column":5}},"line":270},"22":{"name":"(anonymous_22)","decl":{"start":{"line":284,"column":39},"end":{"line":284,"column":40}},"loc":{"start":{"line":284,"column":51},"end":{"line":290,"column":5}},"line":284},"23":{"name":"(anonymous_23)","decl":{"start":{"line":297,"column":34},"end":{"line":297,"column":35}},"loc":{"start":{"line":297,"column":52},"end":{"line":309,"column":1}},"line":297},"24":{"name":"VoidAnyEvent","decl":{"start":{"line":299,"column":13},"end":{"line":299,"column":25}},"loc":{"start":{"line":299,"column":28},"end":{"line":301,"column":5}},"line":299},"25":{"name":"(anonymous_25)","decl":{"start":{"line":305,"column":34},"end":{"line":305,"column":35}},"loc":{"start":{"line":305,"column":46},"end":{"line":307,"column":5}},"line":305},"26":{"name":"(anonymous_26)","decl":{"start":{"line":314,"column":35},"end":{"line":314,"column":36}},"loc":{"start":{"line":314,"column":53},"end":{"line":326,"column":1}},"line":314},"27":{"name":"ErrorAnyEvent","decl":{"start":{"line":316,"column":13},"end":{"line":316,"column":26}},"loc":{"start":{"line":316,"column":29},"end":{"line":318,"column":5}},"line":316},"28":{"name":"(anonymous_28)","decl":{"start":{"line":319,"column":35},"end":{"line":319,"column":36}},"loc":{"start":{"line":319,"column":51},"end":{"line":324,"column":5}},"line":319}},"branchMap":{"0":{"loc":{"start":{"line":4,"column":16},"end":{"line":16,"column":4}},"type":"binary-expr","locations":[{"start":{"line":4,"column":17},"end":{"line":4,"column":21}},{"start":{"line":4,"column":25},"end":{"line":4,"column":39}},{"start":{"line":4,"column":44},"end":{"line":16,"column":4}}],"line":4},"1":{"loc":{"start":{"line":6,"column":24},"end":{"line":8,"column":86}},"type":"binary-expr","locations":[{"start":{"line":6,"column":24},"end":{"line":6,"column":45}},{"start":{"line":7,"column":13},"end":{"line":7,"column":47}},{"start":{"line":7,"column":51},"end":{"line":7,"column":87}},{"start":{"line":8,"column":12},"end":{"line":8,"column":86}}],"line":6},"2":{"loc":{"start":{"line":8,"column":47},"end":{"line":8,"column":84}},"type":"if","locations":[{"start":{"line":8,"column":47},"end":{"line":8,"column":84}},{"start":{"line":8,"column":47},"end":{"line":8,"column":84}}],"line":8},"3":{"loc":{"start":{"line":14,"column":22},"end":{"line":14,"column":92}},"type":"cond-expr","locations":[{"start":{"line":14,"column":35},"end":{"line":14,"column":51}},{"start":{"line":14,"column":55},"end":{"line":14,"column":91}}],"line":14},"4":{"loc":{"start":{"line":28,"column":15},"end":{"line":28,"column":60}},"type":"binary-expr","locations":[{"start":{"line":28,"column":15},"end":{"line":28,"column":32}},{"start":{"line":28,"column":37},"end":{"line":28,"column":59}}],"line":28},"5":{"loc":{"start":{"line":39,"column":8},"end":{"line":42,"column":9}},"type":"if","locations":[{"start":{"line":39,"column":8},"end":{"line":42,"column":9}},{"start":{"line":39,"column":8},"end":{"line":42,"column":9}}],"line":39},"6":{"loc":{"start":{"line":39,"column":12},"end":{"line":39,"column":38}},"type":"binary-expr","locations":[{"start":{"line":39,"column":12},"end":{"line":39,"column":16}},{"start":{"line":39,"column":20},"end":{"line":39,"column":38}}],"line":39},"7":{"loc":{"start":{"line":49,"column":12},"end":{"line":52,"column":13}},"type":"if","locations":[{"start":{"line":49,"column":12},"end":{"line":52,"column":13}},{"start":{"line":49,"column":12},"end":{"line":52,"column":13}}],"line":49},"8":{"loc":{"start":{"line":64,"column":8},"end":{"line":66,"column":9}},"type":"if","locations":[{"start":{"line":64,"column":8},"end":{"line":66,"column":9}},{"start":{"line":64,"column":8},"end":{"line":66,"column":9}}],"line":64},"9":{"loc":{"start":{"line":64,"column":12},"end":{"line":64,"column":58}},"type":"binary-expr","locations":[{"start":{"line":64,"column":12},"end":{"line":64,"column":27}},{"start":{"line":64,"column":31},"end":{"line":64,"column":58}}],"line":64},"10":{"loc":{"start":{"line":71,"column":8},"end":{"line":84,"column":9}},"type":"if","locations":[{"start":{"line":71,"column":8},"end":{"line":84,"column":9}},{"start":{"line":71,"column":8},"end":{"line":84,"column":9}}],"line":71},"11":{"loc":{"start":{"line":71,"column":12},"end":{"line":71,"column":123}},"type":"binary-expr","locations":[{"start":{"line":71,"column":12},"end":{"line":71,"column":41}},{"start":{"line":71,"column":46},"end":{"line":71,"column":53}},{"start":{"line":71,"column":57},"end":{"line":71,"column":84}},{"start":{"line":71,"column":88},"end":{"line":71,"column":122}}],"line":71},"12":{"loc":{"start":{"line":72,"column":12},"end":{"line":77,"column":13}},"type":"if","locations":[{"start":{"line":72,"column":12},"end":{"line":77,"column":13}},{"start":{"line":72,"column":12},"end":{"line":77,"column":13}}],"line":72},"13":{"loc":{"start":{"line":93,"column":8},"end":{"line":95,"column":9}},"type":"if","locations":[{"start":{"line":93,"column":8},"end":{"line":95,"column":9}},{"start":{"line":93,"column":8},"end":{"line":95,"column":9}}],"line":93},"14":{"loc":{"start":{"line":93,"column":12},"end":{"line":93,"column":58}},"type":"binary-expr","locations":[{"start":{"line":93,"column":12},"end":{"line":93,"column":27}},{"start":{"line":93,"column":31},"end":{"line":93,"column":58}}],"line":93},"15":{"loc":{"start":{"line":100,"column":8},"end":{"line":113,"column":9}},"type":"if","locations":[{"start":{"line":100,"column":8},"end":{"line":113,"column":9}},{"start":{"line":100,"column":8},"end":{"line":113,"column":9}}],"line":100},"16":{"loc":{"start":{"line":100,"column":12},"end":{"line":100,"column":123}},"type":"binary-expr","locations":[{"start":{"line":100,"column":12},"end":{"line":100,"column":41}},{"start":{"line":100,"column":46},"end":{"line":100,"column":53}},{"start":{"line":100,"column":57},"end":{"line":100,"column":84}},{"start":{"line":100,"column":88},"end":{"line":100,"column":122}}],"line":100},"17":{"loc":{"start":{"line":101,"column":12},"end":{"line":106,"column":13}},"type":"if","locations":[{"start":{"line":101,"column":12},"end":{"line":106,"column":13}},{"start":{"line":101,"column":12},"end":{"line":106,"column":13}}],"line":101},"18":{"loc":{"start":{"line":118,"column":25},"end":{"line":118,"column":75}},"type":"cond-expr","locations":[{"start":{"line":118,"column":51},"end":{"line":118,"column":71}},{"start":{"line":118,"column":74},"end":{"line":118,"column":75}}],"line":118},"19":{"loc":{"start":{"line":120,"column":8},"end":{"line":165,"column":9}},"type":"switch","locations":[{"start":{"line":121,"column":12},"end":{"line":134,"column":22}},{"start":{"line":135,"column":12},"end":{"line":148,"column":22}},{"start":{"line":149,"column":12},"end":{"line":162,"column":22}},{"start":{"line":163,"column":12},"end":{"line":164,"column":53}}],"line":120},"20":{"loc":{"start":{"line":125,"column":24},"end":{"line":127,"column":25}},"type":"if","locations":[{"start":{"line":125,"column":24},"end":{"line":127,"column":25}},{"start":{"line":125,"column":24},"end":{"line":127,"column":25}}],"line":125},"21":{"loc":{"start":{"line":129,"column":20},"end":{"line":132,"column":21}},"type":"if","locations":[{"start":{"line":129,"column":20},"end":{"line":132,"column":21}},{"start":{"line":129,"column":20},"end":{"line":132,"column":21}}],"line":129},"22":{"loc":{"start":{"line":139,"column":24},"end":{"line":141,"column":25}},"type":"if","locations":[{"start":{"line":139,"column":24},"end":{"line":141,"column":25}},{"start":{"line":139,"column":24},"end":{"line":141,"column":25}}],"line":139},"23":{"loc":{"start":{"line":139,"column":28},"end":{"line":139,"column":113}},"type":"binary-expr","locations":[{"start":{"line":139,"column":28},"end":{"line":139,"column":67}},{"start":{"line":139,"column":71},"end":{"line":139,"column":113}}],"line":139},"24":{"loc":{"start":{"line":143,"column":20},"end":{"line":146,"column":21}},"type":"if","locations":[{"start":{"line":143,"column":20},"end":{"line":146,"column":21}},{"start":{"line":143,"column":20},"end":{"line":146,"column":21}}],"line":143},"25":{"loc":{"start":{"line":153,"column":24},"end":{"line":155,"column":25}},"type":"if","locations":[{"start":{"line":153,"column":24},"end":{"line":155,"column":25}},{"start":{"line":153,"column":24},"end":{"line":155,"column":25}}],"line":153},"26":{"loc":{"start":{"line":153,"column":28},"end":{"line":153,"column":115}},"type":"binary-expr","locations":[{"start":{"line":153,"column":28},"end":{"line":153,"column":69}},{"start":{"line":153,"column":73},"end":{"line":153,"column":115}}],"line":153},"27":{"loc":{"start":{"line":157,"column":20},"end":{"line":160,"column":21}},"type":"if","locations":[{"start":{"line":157,"column":20},"end":{"line":160,"column":21}},{"start":{"line":157,"column":20},"end":{"line":160,"column":21}}],"line":157},"28":{"loc":{"start":{"line":167,"column":8},"end":{"line":182,"column":9}},"type":"if","locations":[{"start":{"line":167,"column":8},"end":{"line":182,"column":9}},{"start":{"line":167,"column":8},"end":{"line":182,"column":9}}],"line":167},"29":{"loc":{"start":{"line":168,"column":12},"end":{"line":173,"column":13}},"type":"if","locations":[{"start":{"line":168,"column":12},"end":{"line":173,"column":13}},{"start":{"line":168,"column":12},"end":{"line":173,"column":13}}],"line":168},"30":{"loc":{"start":{"line":176,"column":12},"end":{"line":181,"column":13}},"type":"if","locations":[{"start":{"line":176,"column":12},"end":{"line":181,"column":13}},{"start":{"line":176,"column":12},"end":{"line":181,"column":13}}],"line":176},"31":{"loc":{"start":{"line":183,"column":8},"end":{"line":185,"column":9}},"type":"if","locations":[{"start":{"line":183,"column":8},"end":{"line":185,"column":9}},{"start":{"line":183,"column":8},"end":{"line":185,"column":9}}],"line":183},"32":{"loc":{"start":{"line":183,"column":12},"end":{"line":183,"column":52}},"type":"binary-expr","locations":[{"start":{"line":183,"column":12},"end":{"line":183,"column":33}},{"start":{"line":183,"column":37},"end":{"line":183,"column":52}}],"line":183},"33":{"loc":{"start":{"line":186,"column":8},"end":{"line":188,"column":9}},"type":"if","locations":[{"start":{"line":186,"column":8},"end":{"line":188,"column":9}},{"start":{"line":186,"column":8},"end":{"line":188,"column":9}}],"line":186},"34":{"loc":{"start":{"line":186,"column":12},"end":{"line":186,"column":74}},"type":"binary-expr","locations":[{"start":{"line":186,"column":12},"end":{"line":186,"column":36}},{"start":{"line":186,"column":40},"end":{"line":186,"column":74}}],"line":186},"35":{"loc":{"start":{"line":190,"column":29},"end":{"line":190,"column":80}},"type":"cond-expr","locations":[{"start":{"line":190,"column":55},"end":{"line":190,"column":76}},{"start":{"line":190,"column":79},"end":{"line":190,"column":80}}],"line":190},"36":{"loc":{"start":{"line":192,"column":12},"end":{"line":194,"column":13}},"type":"if","locations":[{"start":{"line":192,"column":12},"end":{"line":194,"column":13}},{"start":{"line":192,"column":12},"end":{"line":194,"column":13}}],"line":192},"37":{"loc":{"start":{"line":192,"column":16},"end":{"line":192,"column":87}},"type":"binary-expr","locations":[{"start":{"line":192,"column":16},"end":{"line":192,"column":39}},{"start":{"line":192,"column":43},"end":{"line":192,"column":56}},{"start":{"line":192,"column":60},"end":{"line":192,"column":87}}],"line":192},"38":{"loc":{"start":{"line":195,"column":12},"end":{"line":197,"column":13}},"type":"if","locations":[{"start":{"line":195,"column":12},"end":{"line":197,"column":13}},{"start":{"line":195,"column":12},"end":{"line":197,"column":13}}],"line":195},"39":{"loc":{"start":{"line":195,"column":16},"end":{"line":195,"column":80}},"type":"binary-expr","locations":[{"start":{"line":195,"column":16},"end":{"line":195,"column":41}},{"start":{"line":195,"column":45},"end":{"line":195,"column":80}}],"line":195},"40":{"loc":{"start":{"line":260,"column":8},"end":{"line":262,"column":9}},"type":"if","locations":[{"start":{"line":260,"column":8},"end":{"line":262,"column":9}},{"start":{"line":260,"column":8},"end":{"line":262,"column":9}}],"line":260},"41":{"loc":{"start":{"line":260,"column":12},"end":{"line":260,"column":74}},"type":"binary-expr","locations":[{"start":{"line":260,"column":12},"end":{"line":260,"column":36}},{"start":{"line":260,"column":40},"end":{"line":260,"column":74}}],"line":260},"42":{"loc":{"start":{"line":263,"column":8},"end":{"line":265,"column":9}},"type":"if","locations":[{"start":{"line":263,"column":8},"end":{"line":265,"column":9}},{"start":{"line":263,"column":8},"end":{"line":265,"column":9}}],"line":263},"43":{"loc":{"start":{"line":263,"column":12},"end":{"line":263,"column":81}},"type":"binary-expr","locations":[{"start":{"line":263,"column":12},"end":{"line":263,"column":34}},{"start":{"line":263,"column":38},"end":{"line":263,"column":51}},{"start":{"line":263,"column":55},"end":{"line":263,"column":81}}],"line":263},"44":{"loc":{"start":{"line":300,"column":15},"end":{"line":300,"column":71}},"type":"binary-expr","locations":[{"start":{"line":300,"column":15},"end":{"line":300,"column":30}},{"start":{"line":300,"column":34},"end":{"line":300,"column":63}},{"start":{"line":300,"column":67},"end":{"line":300,"column":71}}],"line":300},"45":{"loc":{"start":{"line":317,"column":15},"end":{"line":317,"column":71}},"type":"binary-expr","locations":[{"start":{"line":317,"column":15},"end":{"line":317,"column":30}},{"start":{"line":317,"column":34},"end":{"line":317,"column":63}},{"start":{"line":317,"column":67},"end":{"line":317,"column":71}}],"line":317},"46":{"loc":{"start":{"line":320,"column":8},"end":{"line":322,"column":9}},"type":"if","locations":[{"start":{"line":320,"column":8},"end":{"line":322,"column":9}},{"start":{"line":320,"column":8},"end":{"line":322,"column":9}}],"line":320}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0,"71":0,"72":0,"73":0,"74":0,"75":0,"76":0,"77":0,"78":0,"79":0,"80":0,"81":0,"82":0,"83":0,"84":0,"85":0,"86":0,"87":0,"88":0,"89":0,"90":0,"91":0,"92":0,"93":0,"94":0,"95":0,"96":0,"97":0,"98":0,"99":0,"100":0,"101":0,"102":0,"103":0,"104":0,"105":0,"106":0,"107":0,"108":0,"109":0,"110":0,"111":0,"112":0,"113":0,"114":0,"115":0,"116":0,"117":0,"118":0,"119":0,"120":0,"121":0,"122":0,"123":0,"124":0,"125":0,"126":0,"127":0,"128":0,"129":0,"130":0,"131":0,"132":0,"133":0,"134":0,"135":0,"136":0,"137":0,"138":0,"139":0,"140":0,"141":0,"142":0,"143":0,"144":0,"145":0,"146":0,"147":0,"148":0,"149":0,"150":0,"151":0,"152":0,"153":0,"154":0,"155":0,"156":0,"157":0,"158":0,"159":0,"160":0,"161":0,"162":0,"163":0,"164":0,"165":0,"166":0,"167":0,"168":0,"169":0,"170":0,"171":0,"172":0,"173":0,"174":0,"175":0,"176":0,"177":0,"178":0,"179":0,"180":0,"181":0,"182":0,"183":0,"184":0,"185":0,"186":0,"187":0,"188":0,"189":0,"190":0,"191":0,"192":0,"193":0,"194":0,"195":0,"196":0,"197":0,"198":0,"199":0,"200":0,"201":0,"202":0,"203":0,"204":0,"205":0,"206":0},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0},"b":{"0":[0,0,0],"1":[0,0,0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0],"6":[0,0],"7":[0,0],"8":[0,0],"9":[0,0],"10":[0,0],"11":[0,0,0,0],"12":[0,0],"13":[0,0],"14":[0,0],"15":[0,0],"16":[0,0,0,0],"17":[0,0],"18":[0,0],"19":[0,0,0,0],"20":[0,0],"21":[0,0],"22":[0,0],"23":[0,0],"24":[0,0],"25":[0,0],"26":[0,0],"27":[0,0],"28":[0,0],"29":[0,0],"30":[0,0],"31":[0,0],"32":[0,0],"33":[0,0],"34":[0,0],"35":[0,0],"36":[0,0],"37":[0,0,0],"38":[0,0],"39":[0,0],"40":[0,0],"41":[0,0],"42":[0,0],"43":[0,0,0],"44":[0,0,0],"45":[0,0,0],"46":[0,0]},"inputSourceMap":{"version":3,"file":"any-event.js","sourceRoot":"","sources":["../../src/lib/any-event.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright © 2015 Rogier Schouten<github@workingcode.ninja>\n// License: ISC\n\n'use strict';\n\nimport {shallowEquals} from './objects';\n\nimport {BaseEvent, Postable} from './base-event';\nimport {SyncEvent, VoidSyncEvent} from './sync-event';\nimport {AsyncEvent, AsyncEventOpts} from './async-event';\nimport {QueuedEvent, QueuedEventOpts} from './queued-event';\n\nexport enum EventType {\n Sync,\n Async,\n Queued\n}\n\nexport interface AnyEventOpts {\n /**\n * Create evtFirstAttached and evtLastDetached so you can monitor when someone is subscribed\n */\n monitorAttach?: boolean;\n}\n\n/**\n * An event that behaves like a Sync/Async/Queued event depending on how\n * you subscribe.\n */\nexport class AnyEvent<T> implements Postable<T> {\n /**\n * Sent when someone attaches or detaches\n */\n public get evtListenersChanged(): VoidSyncEvent {\n if (!this._listenersChanged) {\n // need to delay-load to avoid stack overflow in constructor\n this._listenersChanged = new VoidSyncEvent();\n }\n return this._listenersChanged;\n }\n\n /**\n * Event for listening to listener count\n */\n private _listenersChanged?: VoidSyncEvent;\n\n /**\n * Triggered whenever someone attaches and nobody was attached.\n * Note: you must call the constructor with monitorAttach set to true to create this event!\n */\n public evtFirstAttached: VoidAnyEvent;\n /**\n * Triggered whenever someone detaches and nobody is attached anymore\n * Note: you must call the constructor with monitorAttach set to true to create this event!\n */\n public evtLastDetached: VoidAnyEvent;\n\n /**\n * Underlying event implementations; one for every attach type + opts combination\n */\n private _events: BaseEvent<T>[] = [];\n\n constructor(opts?: AnyEventOpts) {\n if (opts && opts.monitorAttach) {\n this.evtFirstAttached = new VoidAnyEvent();\n this.evtLastDetached = new VoidAnyEvent();\n }\n }\n\n /**\n * Legacy method\n * same as attachSync/attachAsync/attachQueued; based on the given enum\n * @param mode determines whether to attach sync/async/queued\n */\n public attach(handler: (data: T) => void, opts?: AsyncEventOpts | QueuedEventOpts): () => void;\n public attach(boundTo: Object, handler: (data: T) => void, opts?: AsyncEventOpts | QueuedEventOpts): () => void;\n public attach(event: Postable<T>, opts?: AsyncEventOpts | QueuedEventOpts): () => void;\n public attach(mode: EventType, handler: (data: T) => void, opts?: AsyncEventOpts | QueuedEventOpts): () => void;\n public attach(mode: EventType, boundTo: Object, handler: (data: T) => void, opts?: AsyncEventOpts | QueuedEventOpts): () => void;\n public attach(mode: EventType, event: Postable<T>, opts?: AsyncEventOpts | QueuedEventOpts): () => void;\n public attach(...args: any[]): () => void {\n let mode = EventType.Sync;\n if (args.length > 0 && typeof args[0] === 'number') {\n mode = args.shift() as EventType;\n }\n let boundTo: Object = this; // add ourselves as default 'boundTo' argument\n let handler: ((data: T) => void) | undefined;\n let opts: AsyncEventOpts | QueuedEventOpts;\n let postable: Postable<T> | undefined;\n if (typeof args[0] === 'function' || (args[0] && typeof args[0] === 'object' && typeof args[0].post === 'function')) {\n if (typeof args[0] === 'function') {\n handler = args[0];\n } else {\n postable = args[0];\n }\n opts = args[1];\n } else {\n boundTo = args[0];\n handler = args[1];\n opts = args[2];\n }\n return this._attach(mode, boundTo, handler, postable, opts, false);\n }\n\n /**\n * Legacy method\n * same as onceSync/onceAsync/onceQueued; based on the given enum\n * @param mode determines whether to once sync/async/queued\n */\n public once(handler: (data: T) => void, opts?: AsyncEventOpts | QueuedEventOpts): () => void;\n public once(boundTo: Object, handler: (data: T) => void, opts?: AsyncEventOpts | QueuedEventOpts): () => void;\n public once(event: Postable<T>, opts?: AsyncEventOpts | QueuedEventOpts): () => void;\n public once(mode: EventType, handler: (data: T) => void, opts?: AsyncEventOpts | QueuedEventOpts): () => void;\n public once(mode: EventType, boundTo: Object, handler: (data: T) => void, opts?: AsyncEventOpts | QueuedEventOpts): () => void;\n public once(mode: EventType, event: Postable<T>, opts?: AsyncEventOpts | QueuedEventOpts): () => void;\n public once(...args: any[]): () => void {\n let mode = EventType.Sync;\n if (args.length > 0 && typeof args[0] === 'number') {\n mode = args.shift() as EventType;\n }\n let boundTo: object = this; // add ourselves as default 'boundTo' argument\n let handler: ((data: T) => void) | undefined;\n let opts: AsyncEventOpts | QueuedEventOpts;\n let postable: Postable<T> | undefined;\n if (typeof args[0] === 'function' || (args[0] && typeof args[0] === 'object' && typeof args[0].post === 'function')) {\n if (typeof args[0] === 'function') {\n handler = args[0];\n } else {\n postable = args[0];\n }\n opts = args[1];\n } else {\n boundTo = args[0];\n handler = args[1];\n opts = args[2];\n }\n return this._attach(mode, boundTo, handler, postable, opts, true);\n }\n\n private _attach(\n mode: EventType,\n boundTo: Object | undefined,\n handler: ((data: T) => void) | undefined,\n postable: Postable<T> | undefined,\n opts: AsyncEventOpts | QueuedEventOpts | undefined,\n once: boolean\n ): () => void {\n const prevCount = (!!this.evtFirstAttached ? this.listenerCount() : 0);\n let event: BaseEvent<T> | undefined;\n switch (mode) {\n case EventType.Sync: {\n for (const evt of this._events) {\n if (evt instanceof SyncEvent) {\n event = evt;\n }\n }\n if (!event) {\n event = new SyncEvent<T>();\n this._events.push(event);\n }\n } break;\n case EventType.Async: {\n for (const evt of this._events) {\n if (evt instanceof AsyncEvent && shallowEquals((<AsyncEvent<T>>evt).options, opts)) {\n event = evt;\n }\n }\n if (!event) {\n event = new AsyncEvent<T>(opts);\n this._events.push(event);\n }\n } break;\n case EventType.Queued: {\n for (const evt of this._events) {\n if (evt instanceof QueuedEvent && shallowEquals((<QueuedEvent<T>>evt).options, opts)) {\n event = evt;\n }\n }\n if (!event) {\n event = new QueuedEvent<T>(opts);\n this._events.push(event);\n }\n } break;\n default:\n throw new Error('unknown EventType');\n }\n let detacher: () => void;\n if (once) {\n if (postable) {\n detacher = event.once(postable);\n } else {\n detacher = event.once(boundTo!, handler!);\n }\n } else {\n if (postable) {\n detacher = event.attach(postable);\n } else {\n detacher = event.attach(boundTo!, handler!);\n }\n }\n if (this.evtFirstAttached && prevCount === 0) {\n this.evtFirstAttached.post();\n }\n if (this.evtListenersChanged && prevCount !== this.listenerCount()) {\n this.evtListenersChanged.post();\n }\n return (): void => {\n const prevCount = (!!this.evtLastDetached ? this.listenerCount() : 0);\n detacher();\n if (!!this.evtLastDetached && prevCount > 0 && this.listenerCount() === 0) {\n this.evtLastDetached.post();\n }\n if (this.evtListenersChanged && prevCount !== this.listenerCount()) {\n this.evtListenersChanged.post();\n }\n };\n }\n\n public attachSync(handler: (data: T) => void): () => void;\n public attachSync(boundTo: Object, handler: (data: T) => void): () => void;\n public attachSync(event: Postable<T>): () => void;\n public attachSync(...args: any[]): () => void {\n args.unshift(EventType.Sync);\n return this.attach.apply(this, args);\n }\n\n public onceSync(handler: (data: T) => void): () => void;\n public onceSync(boundTo: Object, handler: (data: T) => void): () => void;\n public onceSync(event: Postable<T>): () => void;\n public onceSync(...args: any[]): () => void {\n args.unshift(EventType.Sync);\n return this.once.apply(this, args);\n }\n\n public attachAsync(handler: (data: T) => void, opts?: AsyncEventOpts): () => void;\n public attachAsync(boundTo: Object, handler: (data: T) => void, opts?: AsyncEventOpts): () => void;\n public attachAsync(event: Postable<T>, opts?: AsyncEventOpts): () => void;\n public attachAsync(...args: any[]): () => void {\n args.unshift(EventType.Async);\n return this.attach.apply(this, args);\n }\n\n public onceAsync(handler: (data: T) => void, opts?: AsyncEventOpts): () => void;\n public onceAsync(boundTo: Object, handler: (data: T) => void, opts?: AsyncEventOpts): () => void;\n public onceAsync(event: Postable<T>, opts?: AsyncEventOpts): () => void;\n public onceAsync(...args: any[]): () => void {\n args.unshift(EventType.Async);\n return this.once.apply(this, args);\n }\n\n public attachQueued(handler: (data: T) => void, opts?: QueuedEventOpts): () => void;\n public attachQueued(boundTo: Object, handler: (data: T) => void, opts?: QueuedEventOpts): () => void;\n public attachQueued(event: Postable<T>, opts?: QueuedEventOpts): () => void;\n public attachQueued(...args: any[]): () => void {\n args.unshift(EventType.Queued);\n return this.attach.apply(this, args);\n }\n\n public onceQueued(handler: (data: T) => void, opts?: QueuedEventOpts): () => void;\n public onceQueued(boundTo: Object, handler: (data: T) => void, opts?: QueuedEventOpts): () => void;\n public onceQueued(event: Postable<T>, opts?: QueuedEventOpts): () => void;\n public onceQueued(...args: any[]): () => void {\n args.unshift(EventType.Queued);\n return this.once.apply(this, args);\n }\n\n public detach(handler: (data: T) => void): void;\n public detach(boundTo: Object, handler: (data: T) => void): void;\n public detach(boundTo: Object): void;\n public detach(event: Postable<T>): void;\n public detach(): void;\n /**\n * Detach event handlers regardless of type\n */\n public detach(...args: any[]): void {\n const prevCount = this.listenerCount();\n for (let i = 0; i < this._events.length; ++i) {\n this._events[i].detach.apply(this._events[i], args);\n }\n if (this.evtListenersChanged && prevCount !== this.listenerCount()) {\n this.evtListenersChanged.post();\n }\n if (!!this.evtLastDetached && prevCount > 0 && this.listenerCount() === 0) {\n this.evtLastDetached.post();\n }\n }\n\n /**\n * Post an event to all current listeners\n */\n public post(data: T): void {\n // make a copy of the array first to cover the case where event handlers\n // are attached during the post\n const events: BaseEvent<T>[] = [];\n for (let i = 0; i < this._events.length; ++i) {\n events.push(this._events[i]);\n }\n for (let i = 0; i < events.length; ++i) {\n events[i].post(data);\n }\n }\n\n /**\n * The number of attached listeners\n */\n public listenerCount(): number {\n let result = 0;\n for (let i = 0; i < this._events.length; ++i) {\n result += this._events[i].listenerCount();\n }\n return result;\n }\n}\n\n/**\n * Convenience class for AnyEvents without data\n */\nexport class VoidAnyEvent extends AnyEvent<void> {\n\n /**\n * Send the AsyncEvent.\n */\n public post(): void {\n super.post(undefined);\n }\n}\n\n/**\n * Similar to 'error' event on EventEmitter: throws when a post() occurs while no handlers set.\n */\nexport class ErrorAnyEvent extends AnyEvent<Error> {\n\n public post(data: Error): void {\n if (this.listenerCount() === 0) {\n throw new Error(`error event posted while no listeners attached. Error: ${data.message}`);\n }\n super.post(data);\n }\n}\n"]},"all":true},"/home/rogier/github/ts-events/dist/lib/async-event.js":{"path":"/home/rogier/github/ts-events/dist/lib/async-event.js","statementMap":{"0":{"start":{"line":4,"column":16},"end":{"line":16,"column":4}},"1":{"start":{"line":5,"column":24},"end":{"line":10,"column":5}},"2":{"start":{"line":6,"column":8},"end":{"line":8,"column":87}},"3":{"start":{"line":7,"column":69},"end":{"line":7,"column":85}},"4":{"start":{"line":8,"column":30},"end":{"line":8,"column":84}},"5":{"start":{"line":8,"column":47},"end":{"line":8,"column":84}},"6":{"start":{"line":8,"column":72},"end":{"line":8,"column":84}},"7":{"start":{"line":9,"column":8},"end":{"line":9,"column":35}},"8":{"start":{"line":11,"column":4},"end":{"line":15,"column":6}},"9":{"start":{"line":12,"column":8},"end":{"line":12,"column":28}},"10":{"start":{"line":13,"column":24},"end":{"line":13,"column":45}},"11":{"start":{"line":14,"column":8},"end":{"line":14,"column":93}},"12":{"start":{"line":17,"column":0},"end":{"line":17,"column":62}},"13":{"start":{"line":18,"column":0},"end":{"line":18,"column":79}},"14":{"start":{"line":19,"column":19},"end":{"line":19,"column":42}},"15":{"start":{"line":20,"column":19},"end":{"line":20,"column":42}},"16":{"start":{"line":27,"column":32},"end":{"line":181,"column":25}},"17":{"start":{"line":28,"column":4},"end":{"line":28,"column":34}},"18":{"start":{"line":35,"column":8},"end":{"line":35,"column":43}},"19":{"start":{"line":35,"column":31},"end":{"line":35,"column":41}},"20":{"start":{"line":36,"column":20},"end":{"line":36,"column":45}},"21":{"start":{"line":37,"column":8},"end":{"line":37,"column":30}},"22":{"start":{"line":38,"column":8},"end":{"line":38,"column":29}},"23":{"start":{"line":39,"column":8},"end":{"line":44,"column":9}},"24":{"start":{"line":40,"column":12},"end":{"line":40,"column":46}},"25":{"start":{"line":43,"column":12},"end":{"line":43,"column":37}},"26":{"start":{"line":45,"column":8},"end":{"line":45,"column":21}},"27":{"start":{"line":47,"column":4},"end":{"line":60,"column":7}},"28":{"start":{"line":52,"column":12},"end":{"line":55,"column":13}},"29":{"start":{"line":54,"column":16},"end":{"line":54,"column":74}},"30":{"start":{"line":56,"column":12},"end":{"line":56,"column":42}},"31":{"start":{"line":64,"column":4},"end":{"line":74,"column":6}},"32":{"start":{"line":66,"column":8},"end":{"line":73,"column":9}},"33":{"start":{"line":68,"column":12},"end":{"line":68,"column":36}},"34":{"start":{"line":80,"column":4},"end":{"line":82,"column":6}},"35":{"start":{"line":81,"column":8},"end":{"line":81,"column":42}},"36":{"start":{"line":83,"column":4},"end":{"line":123,"column":6}},"37":{"start":{"line":84,"column":20},"end":{"line":84,"column":24}},"38":{"start":{"line":85,"column":19},"end":{"line":85,"column":21}},"39":{"start":{"line":86,"column":8},"end":{"line":88,"column":9}},"40":{"start":{"line":86,"column":22},"end":{"line":86,"column":23}},"41":{"start":{"line":87,"column":12},"end":{"line":87,"column":37}},"42":{"start":{"line":89,"column":8},"end":{"line":91,"column":9}},"43":{"start":{"line":90,"column":12},"end":{"line":90,"column":19}},"44":{"start":{"line":92,"column":8},"end":{"line":122,"column":9}},"45":{"start":{"line":93,"column":12},"end":{"line":93,"column":36}},"46":{"start":{"line":94,"column":12},"end":{"line":94,"column":52}},"47":{"start":{"line":95,"column":12},"end":{"line":112,"column":13}},"48":{"start":{"line":96,"column":16},"end":{"line":96,"column":23}},"49":{"start":{"line":99,"column":16},"end":{"line":99,"column":36}},"50":{"start":{"line":100,"column":16},"end":{"line":111,"column":19}},"51":{"start":{"line":103,"column":20},"end":{"line":103,"column":42}},"52":{"start":{"line":105,"column":31},"end":{"line":105,"column":48}},"53":{"start":{"line":106,"column":36},"end":{"line":106,"column":58}},"54":{"start":{"line":107,"column":20},"end":{"line":110,"column":21}},"55":{"start":{"line":107,"column":33},"end":{"line":107,"column":34}},"56":{"start":{"line":108,"column":39},"end":{"line":108,"column":51}},"57":{"start":{"line":109,"column":24},"end":{"line":109,"column":52}},"58":{"start":{"line":115,"column":30},"end":{"line":115,"column":45}},"59":{"start":{"line":116,"column":12},"end":{"line":121,"column":15}},"60":{"start":{"line":117,"column":16},"end":{"line":120,"column":17}},"61":{"start":{"line":117,"column":29},"end":{"line":117,"column":30}},"62":{"start":{"line":118,"column":35},"end":{"line":118,"column":49}},"63":{"start":{"line":119,"column":20},"end":{"line":119,"column":48}},"64":{"start":{"line":125,"column":4},"end":{"line":134,"column":6}},"65":{"start":{"line":128,"column":8},"end":{"line":133,"column":9}},"66":{"start":{"line":129,"column":12},"end":{"line":129,"column":45}},"67":{"start":{"line":132,"column":12},"end":{"line":132,"column":62}},"68":{"start":{"line":140,"column":4},"end":{"line":151,"column":6}},"69":{"start":{"line":141,"column":8},"end":{"line":143,"column":9}},"70":{"start":{"line":142,"column":12},"end":{"line":142,"column":19}},"71":{"start":{"line":146,"column":24},"end":{"line":146,"column":39}},"72":{"start":{"line":147,"column":8},"end":{"line":150,"column":9}},"73":{"start":{"line":147,"column":21},"end":{"line":147,"column":22}},"74":{"start":{"line":148,"column":27},"end":{"line":148,"column":39}},"75":{"start":{"line":149,"column":12},"end":{"line":149,"column":39}},"76":{"start":{"line":153,"column":4},"end":{"line":161,"column":6}},"77":{"start":{"line":155,"column":20},"end":{"line":155,"column":131}},"78":{"start":{"line":156,"column":21},"end":{"line":156,"column":68}},"79":{"start":{"line":157,"column":8},"end":{"line":159,"column":9}},"80":{"start":{"line":158,"column":12},"end":{"line":158,"column":44}},"81":{"start":{"line":160,"column":8},"end":{"line":160,"column":22}},"82":{"start":{"line":163,"column":4},"end":{"line":175,"column":6}},"83":{"start":{"line":165,"column":19},"end":{"line":165,"column":21}},"84":{"start":{"line":166,"column":8},"end":{"line":168,"column":9}},"85":{"start":{"line":166,"column":22},"end":{"line":166,"column":23}},"86":{"start":{"line":167,"column":12},"end":{"line":167,"column":37}},"87":{"start":{"line":169,"column":20},"end":{"line":169,"column":131}},"88":{"start":{"line":170,"column":21},"end":{"line":170,"column":63}},"89":{"start":{"line":171,"column":8},"end":{"line":173,"column":9}},"90":{"start":{"line":172,"column":12},"end":{"line":172,"column":44}},"91":{"start":{"line":174,"column":8},"end":{"line":174,"column":22}},"92":{"start":{"line":179,"column":4},"end":{"line":179,"column":56}},"93":{"start":{"line":180,"column":4},"end":{"line":180,"column":22}},"94":{"start":{"line":182,"column":0},"end":{"line":182,"column":32}},"95":{"start":{"line":186,"column":36},"end":{"line":198,"column":13}},"96":{"start":{"line":187,"column":4},"end":{"line":187,"column":38}},"97":{"start":{"line":189,"column":8},"end":{"line":189,"column":72}},"98":{"start":{"line":194,"column":4},"end":{"line":196,"column":6}},"99":{"start":{"line":195,"column":8},"end":{"line":195,"column":52}},"100":{"start":{"line":197,"column":4},"end":{"line":197,"column":26}},"101":{"start":{"line":199,"column":0},"end":{"line":199,"column":40}},"102":{"start":{"line":203,"column":37},"end":{"line":215,"column":13}},"103":{"start":{"line":204,"column":4},"end":{"line":204,"column":39}},"104":{"start":{"line":206,"column":8},"end":{"line":206,"column":72}},"105":{"start":{"line":208,"column":4},"end":{"line":213,"column":6}},"106":{"start":{"line":209,"column":8},"end":{"line":211,"column":9}},"107":{"start":{"line":210,"column":12},"end":{"line":210,"column":102}},"108":{"start":{"line":212,"column":8},"end":{"line":212,"column":47}},"109":{"start":{"line":214,"column":4},"end":{"line":214,"column":27}},"110":{"start":{"line":216,"column":0},"end":{"line":216,"column":42}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":4,"column":45},"end":{"line":4,"column":46}},"loc":{"start":{"line":4,"column":57},"end":{"line":16,"column":1}},"line":4},"1":{"name":"(anonymous_1)","decl":{"start":{"line":5,"column":24},"end":{"line":5,"column":25}},"loc":{"start":{"line":5,"column":40},"end":{"line":10,"column":5}},"line":5},"2":{"name":"(anonymous_2)","decl":{"start":{"line":7,"column":51},"end":{"line":7,"column":52}},"loc":{"start":{"line":7,"column":67},"end":{"line":7,"column":87}},"line":7},"3":{"name":"(anonymous_3)","decl":{"start":{"line":8,"column":12},"end":{"line":8,"column":13}},"loc":{"start":{"line":8,"column":28},"end":{"line":8,"column":86}},"line":8},"4":{"name":"(anonymous_4)","decl":{"start":{"line":11,"column":11},"end":{"line":11,"column":12}},"loc":{"start":{"line":11,"column":27},"end":{"line":15,"column":5}},"line":11},"5":{"name":"__","decl":{"start":{"line":13,"column":17},"end":{"line":13,"column":19}},"loc":{"start":{"line":13,"column":22},"end":{"line":13,"column":47}},"line":13},"6":{"name":"(anonymous_6)","decl":{"start":{"line":27,"column":32},"end":{"line":27,"column":33}},"loc":{"start":{"line":27,"column":50},"end":{"line":181,"column":1}},"line":27},"7":{"name":"AsyncEvent","decl":{"start":{"line":34,"column":13},"end":{"line":34,"column":23}},"loc":{"start":{"line":34,"column":30},"end":{"line":46,"column":5}},"line":34},"8":{"name":"(anonymous_8)","decl":{"start":{"line":51,"column":13},"end":{"line":51,"column":14}},"loc":{"start":{"line":51,"column":25},"end":{"line":57,"column":9}},"line":51},"9":{"name":"(anonymous_9)","decl":{"start":{"line":64,"column":34},"end":{"line":64,"column":35}},"loc":{"start":{"line":64,"column":54},"end":{"line":74,"column":5}},"line":64},"10":{"name":"(anonymous_10)","decl":{"start":{"line":80,"column":30},"end":{"line":80,"column":31}},"loc":{"start":{"line":80,"column":51},"end":{"line":82,"column":5}},"line":80},"11":{"name":"(anonymous_11)","decl":{"start":{"line":83,"column":32},"end":{"line":83,"column":33}},"loc":{"start":{"line":83,"column":44},"end":{"line":123,"column":5}},"line":83},"12":{"name":"(anonymous_12)","decl":{"start":{"line":100,"column":38},"end":{"line":100,"column":39}},"loc":{"start":{"line":100,"column":50},"end":{"line":111,"column":17}},"line":100},"13":{"name":"(anonymous_13)","decl":{"start":{"line":116,"column":34},"end":{"line":116,"column":35}},"loc":{"start":{"line":116,"column":46},"end":{"line":121,"column":13}},"line":116},"14":{"name":"(anonymous_14)","decl":{"start":{"line":125,"column":33},"end":{"line":125,"column":34}},"loc":{"start":{"line":125,"column":59},"end":{"line":134,"column":5}},"line":125},"15":{"name":"(anonymous_15)","decl":{"start":{"line":140,"column":39},"end":{"line":140,"column":40}},"loc":{"start":{"line":140,"column":55},"end":{"line":151,"column":5}},"line":140},"16":{"name":"(anonymous_16)","decl":{"start":{"line":153,"column":35},"end":{"line":153,"column":36}},"loc":{"start":{"line":153,"column":57},"end":{"line":161,"column":5}},"line":153},"17":{"name":"(anonymous_17)","decl":{"start":{"line":163,"column":35},"end":{"line":163,"column":36}},"loc":{"start":{"line":163,"column":47},"end":{"line":175,"column":5}},"line":163},"18":{"name":"(anonymous_18)","decl":{"start":{"line":186,"column":36},"end":{"line":186,"column":37}},"loc":{"start":{"line":186,"column":54},"end":{"line":198,"column":1}},"line":186},"19":{"name":"VoidAsyncEvent","decl":{"start":{"line":188,"column":13},"end":{"line":188,"column":27}},"loc":{"start":{"line":188,"column":30},"end":{"line":190,"column":5}},"line":188},"20":{"name":"(anonymous_20)","decl":{"start":{"line":194,"column":36},"end":{"line":194,"column":37}},"loc":{"start":{"line":194,"column":48},"end":{"line":196,"column":5}},"line":194},"21":{"name":"(anonymous_21)","decl":{"start":{"line":203,"column":37},"end":{"line":203,"column":38}},"loc":{"start":{"line":203,"column":55},"end":{"line":215,"column":1}},"line":203},"22":{"name":"ErrorAsyncEvent","decl":{"start":{"line":205,"column":13},"end":{"line":205,"column":28}},"loc":{"start":{"line":205,"column":31},"end":{"line":207,"column":5}},"line":205},"23":{"name":"(anonymous_23)","decl":{"start":{"line":208,"column":37},"end":{"line":208,"column":38}},"loc":{"start":{"line":208,"column":53},"end":{"line":213,"column":5}},"line":208}},"branchMap":{"0":{"loc":{"start":{"line":4,"column":16},"end":{"line":16,"column":4}},"type":"binary-expr","locations":[{"start":{"line":4,"column":17},"end":{"line":4,"column":21}},{"start":{"line":4,"column":25},"end":{"line":4,"column":39}},{"start":{"line":4,"column":44},"end":{"line":16,"column":4}}],"line":4},"1":{"loc":{"start":{"line":6,"column":24},"end":{"line":8,"column":86}},"type":"binary-expr","locations":[{"start":{"line":6,"column":24},"end":{"line":6,"column":45}},{"start":{"line":7,"column":13},"end":{"line":7,"column":47}},{"start":{"line":7,"column":51},"end":{"line":7,"column":87}},{"start":{"line":8,"column":12},"end":{"line":8,"column":86}}],"line":6},"2":{"loc":{"start":{"line":8,"column":47},"end":{"line":8,"column":84}},"type":"if","locations":[{"start":{"line":8,"column":47},"end":{"line":8,"column":84}},{"start":{"line":8,"column":47},"end":{"line":8,"column":84}}],"line":8},"3":{"loc":{"start":{"line":14,"column":22},"end":{"line":14,"column":92}},"type":"cond-expr","locations":[{"start":{"line":14,"column":35},"end":{"line":14,"column":51}},{"start":{"line":14,"column":55},"end":{"line":14,"column":91}}],"line":14},"4":{"loc":{"start":{"line":35,"column":8},"end":{"line":35,"column":43}},"type":"if","locations":[{"start":{"line":35,"column":8},"end":{"line":35,"column":43}},{"start":{"line":35,"column":8},"end":{"line":35,"column":43}}],"line":35},"5":{"loc":{"start":{"line":36,"column":20},"end":{"line":36,"column":45}},"type":"binary-expr","locations":[{"start":{"line":36,"column":20},"end":{"line":36,"column":37}},{"start":{"line":36,"column":41},"end":{"line":36,"column":45}}],"line":36},"6":{"loc":{"start":{"line":39,"column":8},"end":{"line":44,"column":9}},"type":"if","locations":[{"start":{"line":39,"column":8},"end":{"line":44,"column":9}},{"start":{"line":39,"column":8},"end":{"line":44,"column":9}}],"line":39},"7":{"loc":{"start":{"line":52,"column":12},"end":{"line":55,"column":13}},"type":"if","locations":[{"start":{"line":52,"column":12},"end":{"line":55,"column":13}},{"start":{"line":52,"column":12},"end":{"line":55,"column":13}}],"line":52},"8":{"loc":{"start":{"line":66,"column":8},"end":{"line":73,"column":9}},"type":"if","locations":[{"start":{"line":66,"column":8},"end":{"line":73,"column":9}}],"line":66},"9":{"loc":{"start":{"line":89,"column":8},"end":{"line":91,"column":9}},"type":"if","locations":[{"start":{"line":89,"column":8},"end":{"line":91,"column":9}},{"start":{"line":89,"column":8},"end":{"line":91,"column":9}}],"line":89},"10":{"loc":{"start":{"line":89,"column":12},"end":{"line":89,"column":60}},"type":"binary-expr","locations":[{"start":{"line":89,"column":12},"end":{"line":89,"column":28}},{"start":{"line":89,"column":32},"end":{"line":89,"column":60}}],"line":89},"11":{"loc":{"start":{"line":92,"column":8},"end":{"line":122,"column":9}},"type":"if","locations":[{"start":{"line":92,"column":8},"end":{"line":122,"column":9}},{"start":{"line":92,"column":8},"end":{"line":122,"column":9}}],"line":92},"12":{"loc":{"start":{"line":95,"column":12},"end":{"line":112,"column":13}},"type":"if","locations":[{"start":{"line":95,"column":12},"end":{"line":112,"column":13}},{"start":{"line":95,"column":12},"end":{"line":112,"column":13}}],"line":95},"13":{"loc":{"start":{"line":128,"column":8},"end":{"line":133,"column":9}},"type":"if","locations":[{"start":{"line":128,"column":8},"end":{"line":133,"column":9}},{"start":{"line":128,"column":8},"end":{"line":133,"column":9}}],"line":128},"14":{"loc":{"start":{"line":128,"column":12},"end":{"line":128,"column":66}},"type":"binary-expr","locations":[{"start":{"line":128,"column":12},"end":{"line":128,"column":26}},{"start":{"line":128,"column":30},"end":{"line":128,"column":66}}],"line":128},"15":{"loc":{"start":{"line":141,"column":8},"end":{"line":143,"column":9}},"type":"if","locations":[{"start":{"line":141,"column":8},"end":{"line":143,"column":9}},{"start":{"line":141,"column":8},"end":{"line":143,"column":9}}],"line":141},"16":{"loc":{"start":{"line":141,"column":12},"end":{"line":141,"column":60}},"type":"binary-expr","locations":[{"start":{"line":141,"column":12},"end":{"line":141,"column":28}},{"start":{"line":141,"column":32},"end":{"line":141,"column":60}}],"line":141},"17":{"loc":{"start":{"line":155,"column":20},"end":{"line":155,"column":131}},"type":"cond-expr","locations":[{"start":{"line":155,"column":125},"end":{"line":155,"column":127}},{"start":{"line":155,"column":130},"end":{"line":155,"column":131}}],"line":155},"18":{"loc":{"start":{"line":155,"column":20},"end":{"line":155,"column":122}},"type":"binary-expr","locations":[{"start":{"line":155,"column":20},"end":{"line":155,"column":105}},{"start":{"line":155,"column":109},"end":{"line":155,"column":122}}],"line":155},"19":{"loc":{"start":{"line":155,"column":26},"end":{"line":155,"column":95}},"type":"cond-expr","locations":[{"start":{"line":155,"column":77},"end":{"line":155,"column":83}},{"start":{"line":155,"column":86},"end":{"line":155,"column":95}}],"line":155},"20":{"loc":{"start":{"line":155,"column":26},"end":{"line":155,"column":74}},"type":"binary-expr","locations":[{"start":{"line":155,"column":26},"end":{"line":155,"column":57}},{"start":{"line":155,"column":61},"end":{"line":155,"column":74}}],"line":155},"21":{"loc":{"start":{"line":157,"column":8},"end":{"line":159,"column":9}},"type":"if","locations":[{"start":{"line":157,"column":8},"end":{"line":159,"column":9}},{"start":{"line":157,"column":8},"end":{"line":159,"column":9}}],"line":157},"22":{"loc":{"start":{"line":157,"column":12},"end":{"line":157,"column":163}},"type":"binary-expr","locations":[{"start":{"line":157,"column":12},"end":{"line":157,"column":36}},{"start":{"line":157,"column":40},"end":{"line":157,"column":163}}],"line":157},"23":{"loc":{"start":{"line":157,"column":51},"end":{"line":157,"column":162}},"type":"cond-expr","locations":[{"start":{"line":157,"column":156},"end":{"line":157,"column":158}},{"start":{"line":157,"column":161},"end":{"line":157,"column":162}}],"line":157},"24":{"loc":{"start":{"line":157,"column":51},"end":{"line":157,"column":153}},"type":"binary-expr","locations":[{"start":{"line":157,"column":51},"end":{"line":157,"column":136}},{"start":{"line":157,"column":140},"end":{"line":157,"column":153}}],"line":157},"25":{"loc":{"start":{"line":157,"column":57},"end":{"line":157,"column":126}},"type":"cond-expr","locations":[{"start":{"line":157,"column":108},"end":{"line":157,"column":114}},{"start":{"line":157,"column":117},"end":{"line":157,"column":126}}],"line":157},"26":{"loc":{"start":{"line":157,"column":57},"end":{"line":157,"column":105}},"type":"binary-expr","locations":[{"start":{"line":157,"column":57},"end":{"line":157,"column":88}},{"start":{"line":157,"column":92},"end":{"line":157,"column":105}}],"line":157},"27":{"loc":{"start":{"line":169,"column":20},"end":{"line":169,"column":131}},"type":"cond-expr","locations":[{"start":{"line":169,"column":125},"end":{"line":169,"column":127}},{"start":{"line":169,"column":130},"end":{"line":169,"column":131}}],"line":169},"28":{"loc":{"start":{"line":169,"column":20},"end":{"line":169,"column":122}},"type":"binary-expr","locations":[{"start":{"line":169,"column":20},"end":{"line":169,"column":105}},{"start":{"line":169,"column":109},"end":{"line":169,"column":122}}],"line":169},"29":{"loc":{"start":{"line":169,"column":26},"end":{"line":169,"column":95}},"type":"cond-expr","locations":[{"start":{"line":169,"column":77},"end":{"line":169,"column":83}},{"start":{"line":169,"column":86},"end":{"line":169,"column":95}}],"line":169},"30":{"loc":{"start":{"line":169,"column":26},"end":{"line":169,"column":74}},"type":"binary-expr","locations":[{"start":{"line":169,"column":26},"end":{"line":169,"column":57}},{"start":{"line":169,"column":61},"end":{"line":169,"column":74}}],"line":169},"31":{"loc":{"start":{"line":171,"column":8},"end":{"line":173,"column":9}},"type":"if","locations":[{"start":{"line":171,"column":8},"end":{"line":173,"column":9}},{"start":{"line":171,"column":8},"end":{"line":173,"column":9}}],"line":171},"32":{"loc":{"start":{"line":171,"column":12},"end":{"line":171,"column":163}},"type":"binary-expr","locations":[{"start":{"line":171,"column":12},"end":{"line":171,"column":36}},{"start":{"line":171,"column":40},"end":{"line":171,"column":163}}],"line":171},"33":{"loc":{"start":{"line":171,"column":51},"end":{"line":171,"column":162}},"type":"cond-expr","locations":[{"start":{"line":171,"column":156},"end":{"line":171,"column":158}},{"start":{"line":171,"column":161},"end":{"line":171,"column":162}}],"line":171},"34":{"loc":{"start":{"line":171,"column":51},"end":{"line":171,"column":153}},"type":"binary-expr","locations":[{"start":{"line":171,"column":51},"end":{"line":171,"column":136}},{"start":{"line":171,"column":140},"end":{"line":171,"column":153}}],"line":171},"35":{"loc":{"start":{"line":171,"column":57},"end":{"line":171,"column":126}},"type":"cond-expr","locations":[{"start":{"line":171,"column":108},"end":{"line":171,"column":114}},{"start":{"line":171,"column":117},"end":{"line":171,"column":126}}],"line":171},"36":{"loc":{"start":{"line":171,"column":57},"end":{"line":171,"column":105}},"type":"binary-expr","locations":[{"start":{"line":171,"column":57},"end":{"line":171,"column":88}},{"start":{"line":171,"column":92},"end":{"line":171,"column":105}}],"line":171},"37":{"loc":{"start":{"line":189,"column":15},"end":{"line":189,"column":71}},"type":"binary-expr","locations":[{"start":{"line":189,"column":15},"end":{"line":189,"column":30}},{"start":{"line":189,"column":34},"end":{"line":189,"column":63}},{"start":{"line":189,"column":67},"end":{"line":189,"column":71}}],"line":189},"38":{"loc":{"start":{"line":206,"column":15},"end":{"line":206,"column":71}},"type":"binary-expr","locations":[{"start":{"line":206,"column":15},"end":{"line":206,"column":30}},{"start":{"line":206,"column":34},"end":{"line":206,"column":63}},{"start":{"line":206,"column":67},"end":{"line":206,"column":71}}],"line":206},"39":{"loc":{"start":{"line":209,"column":8},"end":{"line":211,"column":9}},"type":"if","locations":[{"start":{"line":209,"column":8},"end":{"line":211,"column":9}},{"start":{"line":209,"column":8},"end":{"line":211,"column":9}}],"line":209}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0,"71":0,"72":0,"73":0,"74":0,"75":0,"76":0,"77":0,"78":0,"79":0,"80":0,"81":0,"82":0,"83":0,"84":0,"85":0,"86":0,"87":0,"88":0,"89":0,"90":0,"91":0,"92":0,"93":0,"94":0,"95":0,"96":0,"97":0,"98":0,"99":0,"100":0,"101":0,"102":0,"103":0,"104":0,"105":0,"106":0,"107":0,"108":0,"109":0,"110":0},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0},"b":{"0":[0,0,0],"1":[0,0,0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0],"6":[0,0],"7":[0,0],"8":[0],"9":[0,0],"10":[0,0],"11":[0,0],"12":[0,0],"13":[0,0],"14":[0,0],"15":[0,0],"16":[0,0],"17":[0,0],"18":[0,0],"19":[0,0],"20":[0,0],"21":[0,0],"22":[0,0],"23":[0,0],"24":[0,0],"25":[0,0],"26":[0,0],"27":[0,0],"28":[0,0],"29":[0,0],"30":[0,0],"31":[0,0],"32":[0,0],"33":[0,0],"34":[0,0],"35":[0,0],"36":[0,0],"37":[0,0,0],"38":[0,0,0],"39":[0,0]},"inputSourceMap":{"version":3,"file":"async-event.js","sourceRoot":"","sources":["../../src/lib/async-event.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright © 2015 Rogier Schouten<github@workingcode.ninja>\n// License: ISC\n\n'use strict';\n\nimport {BaseEvent, Postable, Listener} from './base-event';\nimport {VoidSyncEvent} from './sync-event';\n\n/**\n * Options for the AsyncEvent constructor\n */\nexport interface AsyncEventOpts {\n /**\n * Condense multiple calls to post() into one while the previous one\n * has not been handled yet.\n */\n condensed?: boolean;\n}\n\n/**\n * A-synchronous event. Handlers are called in the next Node.JS cycle.\n * - Optionally condenses multiple post() calls into one (the last post() gets through)\n * - Handlers are called only for events posted after they were attached.\n * - Handlers are not called anymore when they are detached, even if a post() is in progress\n */\nexport class AsyncEvent<T> extends BaseEvent<T> implements Postable<T> {\n /**\n * Sent when someone attaches or detaches\n */\n public get evtListenersChanged(): VoidSyncEvent {\n if (!this._listenersChanged) {\n // need to delay-load to avoid stack overflow in constructor\n this._listenersChanged = new VoidSyncEvent();\n }\n return this._listenersChanged;\n }\n\n /**\n * Event for listening to listener count\n */\n private _listenersChanged?: VoidSyncEvent;\n\n /**\n * Used internally - the exact options object given to constructor\n */\n public options: AsyncEventOpts;\n\n private _condensed: boolean;\n private _queued: boolean = false;\n private _queuedListeners: Listener<T>[];\n private _queuedData: any[];\n\n /**\n * The default scheduler uses setImmediate() or setTimeout(..., 0) if setImmediate is not available.\n */\n public static defaultScheduler(callback: () => void): void {\n /* istanbul ignore else */\n if (typeof window !== 'undefined') {\n // browsers don't always support setImmediate()\n setTimeout(callback, 0);\n } else {\n // node.js\n setImmediate(callback);\n }\n }\n\n /**\n * The current scheduler\n */\n private static _scheduler: (callback: () => void) => void = AsyncEvent.defaultScheduler;\n\n /**\n * By default, AsyncEvent uses setImmediate() to schedule event handler invocation.\n * You can change this for e.g. setTimeout(..., 0) by calling this static method once.\n * @param scheduler A function that takes a callback and executes it in the next Node.JS cycle.\n */\n public static setScheduler(scheduler: (callback: () => void) => void): void {\n AsyncEvent._scheduler = scheduler;\n }\n\n /**\n * Constructor\n * @param opts Optional. Various settings:\n * - condensed: a Boolean indicating whether to condense multiple post() calls within the same cycle.\n */\n constructor(opts: AsyncEventOpts = {}) {\n super();\n this.options = opts;\n if (typeof opts.condensed === 'boolean') {\n this._condensed = opts.condensed;\n } else {\n this._condensed = false;\n }\n }\n\n /**\n * Send the AsyncEvent. Handlers are called in the next Node.JS cycle.\n */\n public post(data: T): void;\n public post(...args: any[]): void {\n if (!this._listeners || this._listeners.length === 0) {\n return;\n }\n if (this._condensed) {\n this._queuedData = args;\n this._queuedListeners = this._listeners;\n if (this._queued) {\n return;\n } else {\n this._queued = true;\n AsyncEvent._scheduler((): void => {\n // immediately mark non-queued to allow new AsyncEvent to happen as result\n // of calling handlers\n this._queued = false;\n // cache listeners and data because they might change while calling event handlers\n const data = this._queuedData;\n const listeners = this._queuedListeners;\n for (let i = 0; i < listeners.length; ++i) {\n const listener = listeners[i];\n this._call(listener, data);\n }\n });\n }\n } else { // not condensed\n const listeners = this._listeners;\n AsyncEvent._scheduler((): void => {\n for (let i = 0; i < listeners.length; ++i) {\n const listener = listeners[i];\n this._call(listener, args);\n }\n });\n }\n }\n\n // inherited\n protected _call(listener: Listener<T>, args: any[]): void {\n // performance optimization: don't use consecutive nodejs cycles\n // for asyncevents attached to asyncevents\n if (listener.event && listener.event instanceof AsyncEvent) {\n (<AsyncEvent<T>>listener.event)._postDirect(args);\n } else {\n super._call(listener, args);\n }\n }\n\n /**\n * Performance optimization: if this async signal is attached to another\n * async signal, we're already a the next cycle and we can call listeners\n * directly\n */\n protected _postDirect(args: any[]): void {\n if (!this._listeners || this._listeners.length === 0) {\n return;\n }\n // copy a reference to the array because this._listeners might be replaced during\n // the handler calls\n const listeners = this._listeners;\n for (let i = 0; i < listeners.length; ++i) {\n const listener = listeners[i];\n this._call(listener, args);\n }\n }\n\n /** @inheritdoc */\n protected _attach(a: ((data: T) => void) | Object | Postable<T>, b: ((data: T) => void) | undefined, once: boolean): () => void {\n const count = this._listeners?.length ?? 0;\n const result = super._attach(a, b, once);\n if (this.evtListenersChanged && count !== (this._listeners?.length ?? 0)) {\n this.evtListenersChanged.post();\n }\n return result;\n }\n\n /** @inheritdoc */\n protected _detach(...args: any[]): void {\n const count = this._listeners?.length ?? 0;\n const result = super._detach(...args);\n if (this.evtListenersChanged && count !== (this._listeners?.length ?? 0)) {\n this.evtListenersChanged.post();\n }\n return result;\n }\n}\n\n/**\n * Convenience class for AsyncEvents without data\n */\nexport class VoidAsyncEvent extends AsyncEvent<void> {\n\n /**\n * Send the AsyncEvent.\n */\n public post(): void {\n super.post(undefined);\n }\n}\n\n/**\n * Similar to 'error' event on EventEmitter: throws when a post() occurs while no handlers set.\n */\nexport class ErrorAsyncEvent extends AsyncEvent<Error> {\n\n public post(data: Error): void {\n if (this.listenerCount() === 0) {\n throw new Error(`error event posted while no listeners attached. Error: ${data.message}`);\n }\n super.post(data);\n }\n}\n"]},"all":true},"/home/rogier/github/ts-events/dist/lib/base-event.js":{"path":"/home/rogier/github/ts-events/dist/lib/base-event.js","statementMap":{"0":{"start":{"line":4,"column":0},"end":{"line":4,"column":62}},"1":{"start":{"line":5,"column":0},"end":{"line":5,"column":27}},"2":{"start":{"line":10,"column":31},"end":{"line":167,"column":3}},"3":{"start":{"line":16,"column":4},"end":{"line":18,"column":6}},"4":{"start":{"line":17,"column":8},"end":{"line":17,"column":41}},"5":{"start":{"line":22,"column":4},"end":{"line":24,"column":6}},"6":{"start":{"line":23,"column":8},"end":{"line":23,"column":40}},"7":{"start":{"line":32,"column":4},"end":{"line":73,"column":6}},"8":{"start":{"line":33,"column":20},"end":{"line":33,"column":24}},"9":{"start":{"line":38,"column":8},"end":{"line":56,"column":9}},"10":{"start":{"line":39,"column":12},"end":{"line":39,"column":24}},"11":{"start":{"line":40,"column":12},"end":{"line":40,"column":67}},"12":{"start":{"line":40,"column":35},"end":{"line":40,"column":64}},"13":{"start":{"line":42,"column":13},"end":{"line":56,"column":9}},"14":{"start":{"line":43,"column":12},"end":{"line":43,"column":22}},"15":{"start":{"line":44,"column":12},"end":{"line":44,"column":65}},"16":{"start":{"line":44,"column":35},"end":{"line":44,"column":62}},"17":{"start":{"line":47,"column":12},"end":{"line":49,"column":13}},"18":{"start":{"line":48,"column":16},"end":{"line":48,"column":81}},"19":{"start":{"line":50,"column":12},"end":{"line":52,"column":13}},"20":{"start":{"line":51,"column":16},"end":{"line":51,"column":72}},"21":{"start":{"line":53,"column":12},"end":{"line":53,"column":24}},"22":{"start":{"line":54,"column":12},"end":{"line":54,"column":24}},"23":{"start":{"line":55,"column":12},"end":{"line":55,"column":76}},"24":{"start":{"line":55,"column":35},"end":{"line":55,"column":73}},"25":{"start":{"line":57,"column":8},"end":{"line":64,"column":9}},"26":{"start":{"line":58,"column":12},"end":{"line":58,"column":33}},"27":{"start":{"line":63,"column":12},"end":{"line":63,"column":54}},"28":{"start":{"line":65,"column":8},"end":{"line":71,"column":11}},"29":{"start":{"line":72,"column":8},"end":{"line":72,"column":22}},"30":{"start":{"line":77,"column":4},"end":{"line":83,"column":6}},"31":{"start":{"line":78,"column":19},"end":{"line":78,"column":21}},"32":{"start":{"line":79,"column":8},"end":{"line":81,"column":9}},"33":{"start":{"line":79,"column":22},"end":{"line":79,"column":23}},"34":{"start":{"line":80,"column":12},"end":{"line":80,"column":37}},"35":{"start":{"line":82,"column":8},"end":{"line":82,"column":39}},"36":{"start":{"line":88,"column":4},"end":{"line":126,"column":6}},"37":{"start":{"line":89,"column":19},"end":{"line":89,"column":21}},"38":{"start":{"line":90,"column":8},"end":{"line":92,"column":9}},"39":{"start":{"line":90,"column":22},"end":{"line":90,"column":23}},"40":{"start":{"line":91,"column":12},"end":{"line":91,"column":37}},"41":{"start":{"line":93,"column":8},"end":{"line":95,"column":9}},"42":{"start":{"line":94,"column":12},"end":{"line":94,"column":19}},"43":{"start":{"line":99,"column":8},"end":{"line":109,"column":9}},"44":{"start":{"line":100,"column":12},"end":{"line":108,"column":13}},"45":{"start":{"line":101,"column":16},"end":{"line":101,"column":34}},"46":{"start":{"line":103,"column":17},"end":{"line":108,"column":13}},"47":{"start":{"line":104,"column":16},"end":{"line":104,"column":32}},"48":{"start":{"line":107,"column":16},"end":{"line":107,"column":34}},"49":{"start":{"line":110,"column":8},"end":{"line":112,"column":9}},"50":{"start":{"line":111,"column":12},"end":{"line":111,"column":30}},"51":{"start":{"line":114,"column":8},"end":{"line":122,"column":11}},"52":{"start":{"line":115,"column":12},"end":{"line":120,"column":13}},"53":{"start":{"line":118,"column":16},"end":{"line":118,"column":40}},"54":{"start":{"line":119,"column":16},"end":{"line":119,"column":29}},"55":{"start":{"line":121,"column":12},"end":{"line":121,"column":24}},"56":{"start":{"line":123,"column":8},"end":{"line":125,"column":9}},"57":{"start":{"line":124,"column":12},"end":{"line":124,"column":35}},"58":{"start":{"line":131,"column":4},"end":{"line":133,"column":6}},"59":{"start":{"line":132,"column":8},"end":{"line":132,"column":36}},"60":{"start":{"line":137,"column":4},"end":{"line":139,"column":6}},"61":{"start":{"line":138,"column":8},"end":{"line":138,"column":62}},"62":{"start":{"line":145,"column":4},"end":{"line":165,"column":6}},"63":{"start":{"line":146,"column":8},"end":{"line":148,"column":9}},"64":{"start":{"line":147,"column":12},"end":{"line":147,"column":19}},"65":{"start":{"line":149,"column":8},"end":{"line":164,"column":9}},"66":{"start":{"line":150,"column":12},"end":{"line":157,"column":13}},"67":{"start":{"line":152,"column":16},"end":{"line":152,"column":40}},"68":{"start":{"line":153,"column":16},"end":{"line":153,"column":98}},"69":{"start":{"line":153,"column":72},"end":{"line":153,"column":94}},"70":{"start":{"line":154,"column":16},"end":{"line":156,"column":17}},"71":{"start":{"line":155,"column":20},"end":{"line":155,"column":43}},"72":{"start":{"line":158,"column":12},"end":{"line":163,"column":13}},"73":{"start":{"line":159,"column":16},"end":{"line":159,"column":64}},"74":{"start":{"line":161,"column":17},"end":{"line":163,"column":13}},"75":{"start":{"line":162,"column":16},"end":{"line":162,"column":111}},"76":{"start":{"line":166,"column":4},"end":{"line":166,"column":21}},"77":{"start":{"line":168,"column":0},"end":{"line":168,"column":30}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":10,"column":31},"end":{"line":10,"column":32}},"loc":{"start":{"line":10,"column":43},"end":{"line":167,"column":1}},"line":10},"1":{"name":"BaseEvent","decl":{"start":{"line":11,"column":13},"end":{"line":11,"column":22}},"loc":{"start":{"line":11,"column":25},"end":{"line":12,"column":5}},"line":11},"2":{"name":"(anonymous_2)","decl":{"start":{"line":16,"column":33},"end":{"line":16,"column":34}},"loc":{"start":{"line":16,"column":49},"end":{"line":18,"column":5}},"line":16},"3":{"name":"(anonymous_3)","decl":{"start":{"line":22,"column":31},"end":{"line":22,"column":32}},"loc":{"start":{"line":22,"column":47},"end":{"line":24,"column":5}},"line":22},"4":{"name":"(anonymous_4)","decl":{"start":{"line":32,"column":34},"end":{"line":32,"column":35}},"loc":{"start":{"line":32,"column":56},"end":{"line":73,"column":5}},"line":32},"5":{"name":"(anonymous_5)","decl":{"start":{"line":40,"column":21},"end":{"line":40,"column":22}},"loc":{"start":{"line":40,"column":33},"end":{"line":40,"column":66}},"line":40},"6":{"name":"(anonymous_6)","decl":{"start":{"line":44,"column":21},"end":{"line":44,"column":22}},"loc":{"start":{"line":44,"column":33},"end":{"line":44,"column":64}},"line":44},"7":{"name":"(anonymous_7)","decl":{"start":{"line":55,"column":21},"end":{"line":55,"column":22}},"loc":{"start":{"line":55,"column":33},"end":{"line":55,"column":75}},"line":55},"8":{"name":"(anonymous_8)","decl":{"start":{"line":77,"column":33},"end":{"line":77,"column":34}},"loc":{"start":{"line":77,"column":45},"end":{"line":83,"column":5}},"line":77},"9":{"name":"(anonymous_9)","decl":{"start":{"line":88,"column":34},"end":{"line":88,"column":35}},"loc":{"start":{"line":88,"column":46},"end":{"line":126,"column":5}},"line":88},"10":{"name":"(anonymous_10)","decl":{"start":{"line":114,"column":49},"end":{"line":114,"column":50}},"loc":{"start":{"line":114,"column":69},"end":{"line":122,"column":9}},"line":114},"11":{"name":"(anonymous_11)","decl":{"start":{"line":131,"column":31},"end":{"line":131,"column":32}},"loc":{"start":{"line":131,"column":47},"end":{"line":133,"column":5}},"line":131},"12":{"name":"(anonymous_12)","decl":{"start":{"line":137,"column":40},"end":{"line":137,"column":41}},"loc":{"start":{"line":137,"column":52},"end":{"line":139,"column":5}},"line":137},"13":{"name":"(anonymous_13)","decl":{"start":{"line":145,"column":32},"end":{"line":145,"column":33}},"loc":{"start":{"line":145,"column":58},"end":{"line":165,"column":5}},"line":145},"14":{"name":"(anonymous_14)","decl":{"start":{"line":153,"column":57},"end":{"line":153,"column":58}},"loc":{"start":{"line":153,"column":70},"end":{"line":153,"column":96}},"line":153}},"branchMap":{"0":{"loc":{"start":{"line":38,"column":8},"end":{"line":56,"column":9}},"type":"if","locations":[{"start":{"line":38,"column":8},"end":{"line":56,"column":9}},{"start":{"line":38,"column":8},"end":{"line":56,"column":9}}],"line":38},"1":{"loc":{"start":{"line":42,"column":13},"end":{"line":56,"column":9}},"type":"if","locations":[{"start":{"line":42,"column":13},"end":{"line":56,"column":9}},{"start":{"line":42,"column":13},"end":{"line":56,"column":9}}],"line":42},"2":{"loc":{"start":{"line":42,"column":17},"end":{"line":42,"column":51}},"type":"binary-expr","locations":[{"start":{"line":42,"column":17},"end":{"line":42,"column":19}},{"start":{"line":42,"column":23},"end":{"line":42,"column":51}}],"line":42},"3":{"loc":{"start":{"line":47,"column":12},"end":{"line":49,"column":13}},"type":"if","locations":[{"start":{"line":47,"column":12},"end":{"line":49,"column":13}},{"start":{"line":47,"column":12},"end":{"line":49,"column":13}}],"line":47},"4":{"loc":{"start":{"line":47,"column":16},"end":{"line":47,"column":56}},"type":"binary-expr","locations":[{"start":{"line":47,"column":16},"end":{"line":47,"column":37}},{"start":{"line":47,"column":41},"end":{"line":47,"column":56}}],"line":47},"5":{"loc":{"start":{"line":50,"column":12},"end":{"line":52,"column":13}},"type":"if","locations":[{"start":{"line":50,"column":12},"end":{"line":52,"column":13}},{"start":{"line":50,"column":12},"end":{"line":52,"column":13}}],"line":50},"6":{"loc":{"start":{"line":57,"column":8},"end":{"line":64,"column":9}},"type":"if","locations":[{"start":{"line":57,"column":8},"end":{"line":64,"column":9}},{"start":{"line":57,"column":8},"end":{"line":64,"column":9}}],"line":57},"7":{"loc":{"start":{"line":93,"column":8},"end":{"line":95,"column":9}},"type":"if","locations":[{"start":{"line":93,"column":8},"end":{"line":95,"column":9}},{"start":{"line":93,"column":8},"end":{"line":95,"column":9}}],"line":93},"8":{"loc":{"start":{"line":93,"column":12},"end":{"line":93,"column":60}},"type":"binary-expr","locations":[{"start":{"line":93,"column":12},"end":{"line":93,"column":28}},{"start":{"line":93,"column":32},"end":{"line":93,"column":60}}],"line":93},"9":{"loc":{"start":{"line":99,"column":8},"end":{"line":109,"column":9}},"type":"if","locations":[{"start":{"line":99,"column":8},"end":{"line":109,"column":9}},{"start":{"line":99,"column":8},"end":{"line":109,"column":9}}],"line":99},"10":{"loc":{"start":{"line":100,"column":12},"end":{"line":108,"column":13}},"type":"if","locations":[{"start":{"line":100,"column":12},"end":{"line":108,"column":13}},{"start":{"line":100,"column":12},"end":{"line":108,"column":13}}],"line":100},"11":{"loc":{"start":{"line":103,"column":17},"end":{"line":108,"column":13}},"type":"if","locations":[{"start":{"line":103,"column":17},"end":{"line":108,"column":13}},{"start":{"line":103,"column":17},"end":{"line":108,"column":13}}],"line":103},"12":{"loc":{"start":{"line":103,"column":21},"end":{"line":103,"column":76}},"type":"binary-expr","locations":[{"start":{"line":103,"column":21},"end":{"line":103,"column":38}},{"start":{"line":103,"column":42},"end":{"line":103,"column":76}}],"line":103},"13":{"loc":{"start":{"line":110,"column":8},"end":{"line":112,"column":9}},"type":"if","locations":[{"start":{"line":110,"column":8},"end":{"line":112,"column":9}},{"start":{"line":110,"column":8},"end":{"line":112,"column":9}}],"line":110},"14":{"loc":{"start":{"line":115,"column":12},"end":{"line":120,"column":13}},"type":"if","locations":[{"start":{"line":115,"column":12},"end":{"line":120,"column":13}},{"start":{"line":115,"column":12},"end":{"line":120,"column":13}}],"line":115},"15":{"loc":{"start":{"line":115,"column":16},"end":{"line":117,"column":83}},"type":"binary-expr","locations":[{"start":{"line":115,"column":17},"end":{"line":115,"column":47}},{"start":{"line":115,"column":51},"end":{"line":115,"column":79}},{"start":{"line":116,"column":20},"end":{"line":116,"column":48}},{"start":{"line":116,"column":52},"end":{"line":116,"column":76}},{"start":{"line":117,"column":20},"end":{"line":117,"column":50}},{"start":{"line":117,"column":54},"end":{"line":117,"column":82}}],"line":115},"16":{"loc":{"start":{"line":123,"column":8},"end":{"line":125,"column":9}},"type":"if","locations":[{"start":{"line":123,"column":8},"end":{"line":125,"column":9}},{"start":{"line":123,"column":8},"end":{"line":125,"column":9}}],"line":123},"17":{"loc":{"start":{"line":138,"column":16},"end":{"line":138,"column":60}},"type":"cond-expr","locations":[{"start":{"line":138,"column":34},"end":{"line":138,"column":56}},{"start":{"line":138,"column":59},"end":{"line":138,"column":60}}],"line":138},"18":{"loc":{"start":{"line":146,"column":8},"end":{"line":148,"column":9}},"type":"if","locations":[{"start":{"line":146,"column":8},"end":{"line":148,"column":9}},{"start":{"line":146,"column":8},"end":{"line":148,"column":9}}],"line":146},"19":{"loc":{"start":{"line":149,"column":8},"end":{"line":164,"column":9}},"type":"if","locations":[{"start":{"line":149,"column":8},"end":{"line":164,"column":9}},{"start":{"line":149,"column":8},"end":{"line":164,"column":9}}],"line":149},"20":{"loc":{"start":{"line":150,"column":12},"end":{"line":157,"column":13}},"type":"if","locations":[{"start":{"line":150,"column":12},"end":{"line":157,"column":13}},{"start":{"line":150,"column":12},"end":{"line":157,"column":13}}],"line":150},"21":{"loc":{"start":{"line":154,"column":16},"end":{"line":156,"column":17}},"type":"if","locations":[{"start":{"line":154,"column":16},"end":{"line":156,"column":17}},{"start":{"line":154,"column":16},"end":{"line":156,"column":17}}],"line":154},"22":{"loc":{"start":{"line":158,"column":12},"end":{"line":163,"column":13}},"type":"if","locations":[{"start":{"line":158,"column":12},"end":{"line":163,"column":13}},{"start":{"line":158,"column":12},"end":{"line":163,"column":13}}],"line":158},"23":{"loc":{"start":{"line":161,"column":17},"end":{"line":163,"column":13}},"type":"if","locations":[{"start":{"line":161,"column":17},"end":{"line":163,"column":13}},{"start":{"line":161,"column":17},"end":{"line":163,"column":13}}],"line":161},"24":{"loc":{"start":{"line":162,"column":40},"end":{"line":162,"column":102}},"type":"cond-expr","locations":[{"start":{"line":162,"column":79},"end":{"line":162,"column":95}},{"start":{"line":162,"column":98},"end":{"line":162,"column":102}}],"line":162}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0,"71":0,"72":0,"73":0,"74":0,"75":0,"76":0,"77":0},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0],"6":[0,0],"7":[0,0],"8":[0,0],"9":[0,0],"10":[0,0],"11":[0,0],"12":[0,0],"13":[0,0],"14":[0,0],"15":[0,0,0,0,0,0],"16":[0,0],"17":[0,0],"18":[0,0],"19":[0,0],"20":[0,0],"21":[0,0],"22":[0,0],"23":[0,0],"24":[0,0]},"inputSourceMap":{"version":3,"file":"base-event.js","sourceRoot":"","sources":["../../src/lib/base-event.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright © 2015 Rogier Schouten<github@workingcode.ninja>\n// License: ISC\n\n'use strict';\n\nimport { timingSafeEqual } from 'crypto';\n\nexport interface Postable<T> {\n post(data: T): void;\n}\n\n/**\n * Internal interface between BaseEvent and its subclasses\n */\nexport interface Listener<T> {\n /**\n * Indicates that the listener was detached\n */\n deleted: boolean;\n /**\n * The handler\n */\n handler?: (data: T) => void;\n /**\n * The this pointer for the handler\n */\n boundTo?: Object;\n /**\n * Instead of a handler, an attached event\n */\n event?: Postable<T>;\n /**\n * Remove after first call?\n */\n once: boolean;\n}\n\n/**\n * Base class for events.\n * Handles attaching and detaching listeners\n */\nexport class BaseEvent<T> implements Postable<T> {\n\n /**\n * Attached listeners. NOTE: do not modify.\n * Instead, replace with a new array with possibly the same elements. This ensures\n * that any references to the array by events that are underway remain the same.\n */\n protected _listeners?: Listener<T>[];\n\n /**\n * Attach an event handler\n * @param handler The function to call. The this argument of the function will be this object.\n * @returns function you can use for detaching from the event, instead of calling detach()\n */\n public attach(handler: (data: T) => void): () => void;\n /**\n * Attach an event handler\n * @param boundTo The this argument of the handler\n * @param handler The function to call.\n * @returns function you can use for detaching from the event, instead of calling detach()\n */\n public attach(boundTo: Object, handler: (data: T) => void): () => void;\n /**\n * Attach an event directly\n * @param event The event to be posted\n * @returns function you can use for detaching from the event, instead of calling detach()\n */\n public attach(event: Postable<T>): () => void;\n /**\n * Attach implementation\n */\n public attach(a: ((data: T) => void) | Object | Postable<T>, b?: (data: T) => void): () => void {\n return this._attach(a, b, false);\n }\n\n /**\n * Attach an event handler which automatically gets removed after the first call\n * @param handler The function to call. The this argument of the function will be this object.\n * @returns function you can use for detaching from the event, instead of calling detach()\n */\n public once(handler: (data: T) => void): () => void;\n /**\n * Attach an event handler which automatically gets removed after the first call\n * @param boundTo The this argument of the handler\n * @param handler The function to call.\n * @returns function you can use for detaching from the event, instead of calling detach()\n */\n public once(boundTo: Object, handler: (data: T) => void): () => void;\n /**\n * Attach an event directly and de-attach after the first call\n * @param event The event to be posted\n * @returns function you can use for detaching from the event, instead of calling detach()\n */\n public once(event: Postable<T>): () => void;\n /**\n * Once implementation\n */\n public once(a: ((data: T) => void) | Object | Postable<T>, b?: (data: T) => void): () => void {\n return this._attach(a, b, true);\n }\n\n /**\n * Attach / once implementation\n * @param a\n * @param b\n * @param once\n * @returns function you can use for detaching from the event, instead of calling detach()\n */\n protected _attach(a: ((data: T) => void) | Object | Postable<T>, b: ((data: T) => void) | undefined, once: boolean): () => void {\n let boundTo: Object | undefined;\n let handler: ((data: T) => void) | undefined;\n let event: Postable<T> | undefined;\n let result: () => void;\n if (typeof a === 'function') {\n handler = a as ((data: T) => void);\n result = () => this.detach(handler!);\n } else if (!b && typeof (a as Postable<T>).post === 'function') {\n event = a as Postable<T>;\n result = () => this.detach(event!);\n } else {\n if (typeof a !== 'object' || a === undefined) {\n throw new Error('Expect a function or object as first argument');\n }\n if (typeof b !== 'function') {\n throw new Error('Expect a function as second argument');\n }\n boundTo = a;\n handler = b;\n result = () => this.detach(boundTo!, handler!);\n }\n if (!this._listeners) {\n this._listeners = [];\n } else {\n // make a copy of the array so events that are underway have a stable local copy\n // of the listeners array at the time of post()\n this._listeners = this._listeners.slice();\n }\n this._listeners.push({\n deleted: false,\n boundTo,\n handler,\n event,\n once\n });\n return result;\n }\n\n /**\n * Detach all listeners with the given handler function\n */\n public detach(handler: (data: T) => void): void;\n /**\n * Detach all listeners with the given handler function and boundTo object.\n */\n public detach(boundTo: Object, handler: (data: T) => void): void;\n /**\n * Detach all listeners that were attached with the given boundTo object.\n */\n public detach(boundTo: Object): void;\n /**\n * Detach the given event.\n */\n public detach(event: Postable<T>): void;\n /**\n * Detach all listeners\n */\n public detach(): void;\n /**\n * Detach implementation. See the overloads for description.\n */\n public detach(...args: any[]): void {\n this._detach(...args);\n }\n\n /**\n * Detach implementation\n * @param args\n */\n protected _detach(...args: any[]): void {\n if (!this._listeners || this._listeners.length === 0) {\n return;\n }\n let boundTo: Object;\n let handler: (data: T) => void;\n let event: Postable<T>;\n if (args.length >= 1) {\n if (typeof (args[0]) === 'function') {\n handler = args[0];\n } else if (args.length === 1 && typeof args[0].post === 'function') {\n event = args[0];\n } else {\n boundTo = args[0];\n }\n }\n if (args.length >= 2) {\n handler = args[1];\n }\n\n // remove listeners AND mark them as deleted so subclasses don't send any more events to them\n this._listeners = this._listeners.filter((listener: Listener<T>): boolean => {\n if ((typeof handler === 'undefined' || listener.handler === handler)\n && (typeof event === 'undefined' || listener.event === event)\n && (typeof boundTo === 'undefined' || listener.boundTo === boundTo)) {\n listener.deleted = true;\n return false;\n }\n return true;\n });\n\n if (this._listeners.length === 0) {\n delete this._listeners;\n }\n }\n\n /**\n * Abstract post() method to be able to connect any type of event to any other directly\n * @abstract\n */\n public post(data: T): void {\n throw new Error('abstract');\n }\n\n /**\n * The number of attached listeners\n */\n public listenerCount(): number {\n return (this._listeners ? this._listeners.length : 0);\n }\n\n /**\n * Call the given listener, if it is not marked as 'deleted'\n * @param listener The listener to call\n * @param args The arguments to the handler\n */\n protected _call(listener: Listener<T>, args: any[]): void {\n if (!this._listeners) {\n return;\n }\n if (!listener.deleted) {\n if (listener.once) {\n // remove listeners AND mark as deleted so subclasses don't send any more events to them\n listener.deleted = true;\n this._listeners = this._listeners.filter((l: Listener<T>): boolean => l !== listener);\n if (this._listeners.length === 0) {\n delete this._listeners;\n }\n }\n if (listener.event) {\n listener.event.post.apply(listener.event, args);\n } else if (listener.handler) {\n listener.handler.apply((typeof listener.boundTo === 'object' ? listener.boundTo : this), args);\n }\n }\n }\n\n}\n"]},"all":true},"/home/rogier/github/ts-events/dist/lib/EventQueue.js":{"path":"/home/rogier/github/ts-events/dist/lib/EventQueue.js","statementMap":{"0":{"start":{"line":4,"column":0},"end":{"line":4,"column":62}},"1":{"start":{"line":5,"column":19},"end":{"line":5,"column":42}},"2":{"start":{"line":9,"column":32},"end":{"line":113,"column":3}},"3":{"start":{"line":15,"column":8},"end":{"line":15,"column":54}},"4":{"start":{"line":20,"column":8},"end":{"line":20,"column":55}},"5":{"start":{"line":24,"column":8},"end":{"line":24,"column":25}},"6":{"start":{"line":28,"column":8},"end":{"line":28,"column":31}},"7":{"start":{"line":33,"column":4},"end":{"line":38,"column":6}},"8":{"start":{"line":34,"column":8},"end":{"line":36,"column":9}},"9":{"start":{"line":35,"column":12},"end":{"line":35,"column":37}},"10":{"start":{"line":37,"column":8},"end":{"line":37,"column":36}},"11":{"start":{"line":42,"column":4},"end":{"line":44,"column":6}},"12":{"start":{"line":43,"column":8},"end":{"line":43,"column":48}},"13":{"start":{"line":48,"column":4},"end":{"line":50,"column":6}},"14":{"start":{"line":49,"column":8},"end":{"line":49,"column":40}},"15":{"start":{"line":55,"column":4},"end":{"line":60,"column":6}},"16":{"start":{"line":56,"column":8},"end":{"line":56,"column":34}},"17":{"start":{"line":57,"column":8},"end":{"line":59,"column":9}},"18":{"start":{"line":58,"column":12},"end":{"line":58,"column":38}},"19":{"start":{"line":65,"column":4},"end":{"line":82,"column":6}},"20":{"start":{"line":66,"column":21},"end":{"line":66,"column":45}},"21":{"start":{"line":67,"column":23},"end":{"line":67,"column":37}},"22":{"start":{"line":68,"column":8},"end":{"line":68,"column":30}},"23":{"start":{"line":69,"column":8},"end":{"line":81,"column":9}},"24":{"start":{"line":70,"column":24},"end":{"line":70,"column":35}},"25":{"start":{"line":71,"column":12},"end":{"line":71,"column":29}},"26":{"start":{"line":72,"column":12},"end":{"line":74,"column":13}},"27":{"start":{"line":72,"column":25},"end":{"line":72,"column":26}},"28":{"start":{"line":73,"column":16},"end":{"line":73,"column":27}},"29":{"start":{"line":77,"column":12},"end":{"line":77,"column":38}},"30":{"start":{"line":78,"column":12},"end":{"line":80,"column":13}},"31":{"start":{"line":79,"column":16},"end":{"line":79,"column":43}},"32":{"start":{"line":89,"column":4},"end":{"line":111,"column":6}},"33":{"start":{"line":90,"column":8},"end":{"line":90,"column":53}},"34":{"start":{"line":90,"column":36},"end":{"line":90,"column":51}},"35":{"start":{"line":91,"column":21},"end":{"line":91,"column":45}},"36":{"start":{"line":92,"column":23},"end":{"line":92,"column":37}},"37":{"start":{"line":93,"column":8},"end":{"line":93,"column":30}},"38":{"start":{"line":94,"column":8},"end":{"line":110,"column":9}},"39":{"start":{"line":95,"column":20},"end":{"line":95,"column":21}},"40":{"start":{"line":96,"column":12},"end":{"line":103,"column":13}},"41":{"start":{"line":97,"column":16},"end":{"line":100,"column":17}},"42":{"start":{"line":98,"column":20},"end":{"line":98,"column":37}},"43":{"start":{"line":99,"column":20},"end":{"line":99,"column":116}},"44":{"start":{"line":101,"column":16},"end":{"line":101,"column":33}},"45":{"start":{"line":102,"column":16},"end":{"line":102,"column":20}},"46":{"start":{"line":106,"column":12},"end":{"line":106,"column":38}},"47":{"start":{"line":107,"column":12},"end":{"line":109,"column":13}},"48":{"start":{"line":108,"column":16},"end":{"line":108,"column":43}},"49":{"start":{"line":112,"column":4},"end":{"line":112,"column":22}},"50":{"start":{"line":114,"column":0},"end":{"line":114,"column":29}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":9,"column":32},"end":{"line":9,"column":33}},"loc":{"start":{"line":9,"column":44},"end":{"line":113,"column":1}},"line":9},"1":{"name":"EventQueue","decl":{"start":{"line":10,"column":13},"end":{"line":10,"column":23}},"loc":{"start":{"line":10,"column":26},"end":{"line":29,"column":5}},"line":10},"2":{"name":"(anonymous_2)","decl":{"start":{"line":33,"column":24},"end":{"line":33,"column":25}},"loc":{"start":{"line":33,"column":36},"end":{"line":38,"column":5}},"line":33},"3":{"name":"(anonymous_3)","decl":{"start":{"line":42,"column":29},"end":{"line":42,"column":30}},"loc":{"start":{"line":42,"column":41},"end":{"line":44,"column":5}},"line":42},"4":{"name":"(anonymous_4)","decl":{"start":{"line":48,"column":33},"end":{"line":48,"column":34}},"loc":{"start":{"line":48,"column":45},"end":{"line":50,"column":5}},"line":48},"5":{"name":"(anonymous_5)","decl":{"start":{"line":55,"column":31},"end":{"line":55,"column":32}},"loc":{"start":{"line":55,"column":50},"end":{"line":60,"column":5}},"line":55},"6":{"name":"(anonymous_6)","decl":{"start":{"line":65,"column":37},"end":{"line":65,"column":38}},"loc":{"start":{"line":65,"column":49},"end":{"line":82,"column":5}},"line":65},"7":{"name":"(anonymous_7)","decl":{"start":{"line":89,"column":33},"end":{"line":89,"column":34}},"loc":{"start":{"line":89,"column":54},"end":{"line":111,"column":5}},"line":89}},"branchMap":{"0":{"loc":{"start":{"line":34,"column":8},"end":{"line":36,"column":9}},"type":"if","locations":[{"start":{"line":34,"column":8},"end":{"line":36,"column":9}},{"start":{"line":34,"column":8},"end":{"line":36,"column":9}}],"line":34},"1":{"loc":{"start":{"line":57,"column":8},"end":{"line":59,"column":9}},"type":"if","locations":[{"start":{"line":57,"column":8},"end":{"line":59,"column":9}},{"start":{"line":57,"column":8},"end":{"line":59,"column":9}}],"line":57},"2":{"loc":{"start":{"line":57,"column":12},"end":{"line":57,"column":55}},"type":"binary-expr","locations":[{"start":{"line":57,"column":12},"end":{"line":57,"column":36}},{"start":{"line":57,"column":40},"end":{"line":57,"column":55}}],"line":57},"3":{"loc":{"start":{"line":78,"column":12},"end":{"line":80,"column":13}},"type":"if","locations":[{"start":{"line":78,"column":12},"end":{"line":80,"column":13}},{"start":{"line":78,"column":12},"end":{"line":80,"column":13}}],"line":78},"4":{"loc":{"start":{"line":78,"column":16},"end":{"line":78,"column":63}},"type":"binary-expr","locations":[{"start":{"line":78,"column":16},"end":{"line":78,"column":22}},{"start":{"line":78,"column":26},"end":{"line":78,"column":35}},{"start":{"line":78,"column":39},"end":{"line":78,"column":63}}],"line":78},"5":{"loc":{"start":{"line":90,"column":8},"end":{"line":90,"column":53}},"type":"if","locations":[{"start":{"line":90,"column":8},"end":{"line":90,"column":53}},{"start":{"line":90,"column":8},"end":{"line":90,"column":53}}],"line":90},"6":{"loc":{"start":{"line":97,"column":16},"end":{"line":100,"column":17}},"type":"if","locations":[{"start":{"line":97,"column":16},"end":{"line":100,"column":17}},{"start":{"line":97,"column":16},"end":{"line":100,"column":17}}],"line":97},"7":{"loc":{"start":{"line":97,"column":20},"end":{"line":97,"column":67}},"type":"binary-expr","locations":[{"start":{"line":97,"column":20},"end":{"line":97,"column":49}},{"start":{"line":97,"column":53},"end":{"line":97,"column":67}}],"line":97},"8":{"loc":{"start":{"line":107,"column":12},"end":{"line":109,"column":13}},"type":"if","locations":[{"start":{"line":107,"column":12},"end":{"line":109,"column":13}},{"start":{"line":107,"column":12},"end":{"line":109,"column":13}}],"line":107},"9":{"loc":{"start":{"line":107,"column":16},"end":{"line":107,"column":63}},"type":"binary-expr","locations":[{"start":{"line":107,"column":16},"end":{"line":107,"column":22}},{"start":{"line":107,"column":26},"end":{"line":107,"column":35}},{"start":{"line":107,"column":39},"end":{"line":107,"column":63}}],"line":107}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0],"3":[0,0],"4":[0,0,0],"5":[0,0],"6":[0,0],"7":[0,0],"8":[0,0],"9":[0,0,0]},"inputSourceMap":{"version":3,"file":"EventQueue.js","sourceRoot":"","sources":["../../src/lib/EventQueue.ts"],"names":[],"mappings":"AAAA,6DAA6D;AAC7D,eAAe;AAEf,YAAY,CAAC;;AAEb,2CAAuC;AAEvC;;GAEG;AACH;IAAA;QAEI;;;WAGG;QACI,cAAS,GAA0B,IAAI,sBAAS,EAAc,CAAC;QACtE;;;WAGG;QACI,eAAU,GAA0B,IAAI,sBAAS,EAAc,CAAC;QAwBvE;;WAEG;QACK,WAAM,GAAmB,EAAE,CAAC;QAEpC;;WAEG;QACK,cAAS,GAAY,KAAK,CAAC;IAqEvC,CAAC;IA9FG;;OAEG;IACW,iBAAM,GAApB;QACI,IAAI,CAAC,UAAU,CAAC,SAAS,EAAE;YACvB,UAAU,CAAC,WAAW,EAAE,CAAC;SAC5B;QACD,OAAO,UAAU,CAAC,SAAS,CAAC;IAChC,CAAC;IAED;;OAEG;IACW,sBAAW,GAAzB;QACI,UAAU,CAAC,SAAS,GAAG,IAAI,UAAU,EAAE,CAAC;IAC5C,CAAC;IAYD;;OAEG;IACI,0BAAK,GAAZ;QACI,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,CAAC;IACpC,CAAC;IAED;;;OAGG;IACI,wBAAG,GAAV,UAAW,OAAmB;QAC1B,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC1B,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE;YAC7C,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;SAC7B;IACL,CAAC;IAED;;;OAGG;IACI,8BAAS,GAAhB;QACI,IAAM,KAAK,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC;QACzC,IAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC;QAChC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;QACtB,IAAI;YACA,IAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC;YAC1B,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC;YACjB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE;gBACnC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;aACd;SACJ;gBAAS;YACN,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC;YAC1B,IAAI,CAAC,KAAK,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE;gBACjD,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;aAC9B;SACJ;IACL,CAAC;IAED;;;;;OAKG;IACI,0BAAK,GAAZ,UAAa,SAA6B;QAA7B,0BAAA,EAAA,cAA6B;QACtC,IAAM,KAAK,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC;QACzC,IAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC;QAChC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;QACtB,IAAI;YACA,IAAI,CAAC,GAAG,CAAC,CAAC;YACV,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE;gBAC3B,IAAI,OAAO,SAAS,KAAK,QAAQ,IAAI,CAAC,IAAI,SAAS,EAAE;oBACjD,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC;oBACjB,MAAM,IAAI,KAAK,CAAC,8EAA8E,CAAC,CAAC;iBACnG;gBACD,IAAI,CAAC,SAAS,EAAE,CAAC;gBACjB,EAAE,CAAC,CAAC;aACP;SACJ;gBAAS;YACN,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC;YAC1B,IAAI,CAAC,KAAK,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE;gBACjD,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;aAC9B;SACJ;IACL,CAAC;IACL,iBAAC;AAAD,CAAC,AAhHD,IAgHC;AAED,kBAAe,UAAU,CAAC","sourcesContent":["// Copyright © 2015 Rogier Schouten<github@workingcode.ninja>\n// License: ISC\n\n'use strict';\n\nimport {SyncEvent} from './sync-event';\n\n/**\n * Simple synchronous event queue that needs to be drained manually.\n */\nclass EventQueue {\n\n /**\n * SyncEvent triggered after an event is added outside of a flush operation.\n * @param queue The event queue itself\n */\n public evtFilled: SyncEvent<EventQueue> = new SyncEvent<EventQueue>();\n /**\n * SyncEvent triggered after the queue is flushed empty\n * @param queue The event queue itself\n */\n public evtDrained: SyncEvent<EventQueue> = new SyncEvent<EventQueue>();\n\n /**\n * The module-global event queue\n */\n private static _instance: EventQueue;\n\n /**\n * The module-global event queue\n */\n public static global(): EventQueue {\n if (!EventQueue._instance) {\n EventQueue.resetGlobal();\n }\n return EventQueue._instance;\n }\n\n /**\n * Testing purposes\n */\n public static resetGlobal(): void {\n EventQueue._instance = new EventQueue();\n }\n\n /**\n * Queued elements\n */\n private _queue: (() => void)[] = [];\n\n /**\n * True while flush() or flushOnce() is running\n */\n private _flushing: boolean = false;\n\n /**\n * Returns true iff the queue is empty\n */\n public empty(): boolean {\n return this._queue.length === 0;\n }\n\n /**\n * Add an element to the queue. The handler is called when one of the flush\n * methods is called.\n */\n public add(handler: () => void): void {\n this._queue.push(handler);\n if (this._queue.length === 1 && !this._flushing) {\n this.evtFilled.post(this);\n }\n }\n\n /**\n * Calls all handlers currently in the queue. Does not call any handlers added\n * as a result of the flush\n */\n public flushOnce(): void {\n const empty = (this._queue.length === 0);\n const flushing = this._flushing;\n this._flushing = true;\n try {\n const queue = this._queue;\n this._queue = [];\n for (let i = 0; i < queue.length; ++i) {\n queue[i]();\n }\n } finally {\n this._flushing = flushing;\n if (!empty && !flushing && this._queue.length === 0) {\n this.evtDrained.post(this);\n }\n }\n }\n\n /**\n * Flushes the QueuedEvents, calling all events currently in the queue and those\n * put into the queue as a result of the flush.\n * @param maxRounds Optional, default 10. Number of iterations after which to throw an error because\n * the queue keeps filling up. Set to null to disable this.\n */\n public flush(maxRounds: number | null = 10): void {\n const empty = (this._queue.length === 0);\n const flushing = this._flushing;\n this._flushing = true;\n try {\n let i = 0;\n while (this._queue.length > 0) {\n if (typeof maxRounds === 'number' && i >= maxRounds) {\n this._queue = [];\n throw new Error('unable to flush the queue due to recursively added event. Clearing queue now');\n }\n this.flushOnce();\n ++i;\n }\n } finally {\n this._flushing = flushing;\n if (!empty && !flushing && this._queue.length === 0) {\n this.evtDrained.post(this);\n }\n }\n }\n}\n\nexport default EventQueue;\n"]},"all":true},"/home/rogier/github/ts-events/dist/lib/objects.js":{"path":"/home/rogier/github/ts-events/dist/lib/objects.js","statementMap":{"0":{"start":{"line":4,"column":0},"end":{"line":4,"column":62}},"1":{"start":{"line":5,"column":0},"end":{"line":5,"column":31}},"2":{"start":{"line":7,"column":4},"end":{"line":9,"column":5}},"3":{"start":{"line":8,"column":8},"end":{"line":8,"column":20}},"4":{"start":{"line":10,"column":4},"end":{"line":12,"column":5}},"5":{"start":{"line":11,"column":8},"end":{"line":11,"column":21}},"6":{"start":{"line":13,"column":4},"end":{"line":65,"column":5}},"7":{"start":{"line":21,"column":12},"end":{"line":21,"column":25}},"8":{"start":{"line":23,"column":12},"end":{"line":25,"column":13}},"9":{"start":{"line":24,"column":16},"end":{"line":24,"column":29}},"10":{"start":{"line":26,"column":12},"end":{"line":39,"column":13}},"11":{"start":{"line":27,"column":16},"end":{"line":29,"column":17}},"12":{"start":{"line":28,"column":20},"end":{"line":28,"column":33}},"13":{"start":{"line":30,"column":16},"end":{"line":32,"column":17}},"14":{"start":{"line":31,"column":20},"end":{"line":31,"column":33}},"15":{"start":{"line":33,"column":16},"end":{"line":37,"column":17}},"16":{"start":{"line":33,"column":29},"end":{"line":33,"column":30}},"17":{"start":{"line":34,"column":20},"end":{"line":36,"column":21}},"18":{"start":{"line":35,"column":24},"end":{"line":35,"column":37}},"19":{"start":{"line":38,"column":16},"end":{"line":38,"column":28}},"20":{"start":{"line":40,"column":25},"end":{"line":40,"column":27}},"21":{"start":{"line":41,"column":25},"end":{"line":41,"column":27}},"22":{"start":{"line":42,"column":12},"end":{"line":46,"column":13}},"23":{"start":{"line":43,"column":16},"end":{"line":45,"column":17}},"24":{"start":{"line":44,"column":20},"end":{"line":44,"column":40}},"25":{"start":{"line":47,"column":12},"end":{"line":51,"column":13}},"26":{"start":{"line":48,"column":16},"end":{"line":50,"column":17}},"27":{"start":{"line":49,"column":20},"end":{"line":49,"column":40}},"28":{"start":{"line":52,"column":12},"end":{"line":52,"column":26}},"29":{"start":{"line":53,"column":12},"end":{"line":53,"column":26}},"30":{"start":{"line":54,"column":12},"end":{"line":56,"column":13}},"31":{"start":{"line":55,"column":16},"end":{"line":55,"column":29}},"32":{"start":{"line":57,"column":12},"end":{"line":61,"column":13}},"33":{"start":{"line":57,"column":25},"end":{"line":57,"column":26}},"34":{"start":{"line":58,"column":16},"end":{"line":60,"column":17}},"35":{"start":{"line":59,"column":20},"end":{"line":59,"column":33}},"36":{"start":{"line":62,"column":12},"end":{"line":62,"column":24}},"37":{"start":{"line":64,"column":12},"end":{"line":64,"column":25}},"38":{"start":{"line":67,"column":0},"end":{"line":67,"column":38}}},"fnMap":{"0":{"name":"shallowEquals","decl":{"start":{"line":6,"column":9},"end":{"line":6,"column":22}},"loc":{"start":{"line":6,"column":29},"end":{"line":66,"column":1}},"line":6}},"branchMap":{"0":{"loc":{"start":{"line":7,"column":4},"end":{"line":9,"column":5}},"type":"if","locations":[{"start":{"line":7,"column":4},"end":{"line":9,"column":5}},{"start":{"line":7,"column":4},"end":{"line":9,"column":5}}],"line":7},"1":{"loc":{"start":{"line":10,"column":4},"end":{"line":12,"column":5}},"type":"if","locations":[{"start":{"line":10,"column":4},"end":{"line":12,"column":5}},{"start":{"line":10,"column":4},"end":{"line":12,"column":5}}],"line":10},"2":{"loc":{"start":{"line":13,"column":4},"end":{"line":65,"column":5}},"type":"switch","locations":[{"start":{"line":14,"column":8},"end":{"line":14,"column":23}},{"start":{"line":15,"column":8},"end":{"line":15,"column":22}},{"start":{"line":16,"column":8},"end":{"line":16,"column":22}},{"start":{"line":17,"column":8},"end":{"line":17,"column":24}},{"start":{"line":18,"column":8},"end":{"line":18,"column":22}},{"start":{"line":19,"column":8},"end":{"line":21,"column":25}},{"start":{"line":22,"column":8},"end":{"line":62,"column":24}},{"start":{"line":63,"column":8},"end":{"line":64,"column":25}}],"line":13},"3":{"loc":{"start":{"line":23,"column":12},"end":{"line":25,"column":13}},"type":"if","locations":[{"start":{"line":23,"column":12},"end":{"line":25,"column":13}},{"start":{"line":23,"column":12},"end":{"line":25,"column":13}}],"line":23},"4":{"loc":{"start":{"line":23,"column":16},"end":{"line":23,"column":40}},"type":"binary-expr","locations":[{"start":{"line":23,"column":16},"end":{"line":23,"column":26}},{"start":{"line":23,"column":30},"end":{"line":23,"column":40}}],"line":23},"5":{"loc":{"start":{"line":26,"column":12},"end":{"line":39,"column":13}},"type":"if","locations":[{"start":{"line":26,"column":12},"end":{"line":39,"column":13}},{"start":{"line":26,"column":12},"end":{"line":39,"column":13}}],"line":26},"6":{"loc":{"start":{"line":26,"column":16},"end":{"line":26,"column":52}},"type":"binary-expr","locations":[{"start":{"line":26,"column":16},"end":{"line":26,"column":32}},{"start":{"line":26,"column":36},"end":{"line":26,"column":52}}],"line":26},"7":{"loc":{"start":{"line":27,"column":16},"end":{"line":29,"column":17}},"type":"if","locations":[{"start":{"line":27,"column":16},"end":{"line":29,"column":17}},{"start":{"line":27,"column":16},"end":{"line":29,"column":17}}],"line":27},"8":{"loc":{"start":{"line":27,"column":20},"end":{"line":27,"column":58}},"type":"binary-expr","locations":[{"start":{"line":27,"column":20},"end":{"line":27,"column":37}},{"start":{"line":27,"column":41},"end":{"line":27,"column":58}}],"line":27},"9":{"loc":{"start":{"line":30,"column":16},"end":{"line":32,"column":17}},"type":"if","locations":[{"start":{"line":30,"column":16},"end":{"line":32,"column":17}},{"start":{"line":30,"column":16},"end":{"line":32,"column":17}}],"line":30},"10":{"loc":{"start":{"line":34,"column":20},"end":{"line":36,"column":21}},"type":"if","locations":[{"start":{"line":34,"column":20},"end":{"line":36,"column":21}},{"start":{"line":34,"column":20},"end":{"line":36,"column":21}}],"line":34},"11":{"loc":{"start":{"line":43,"column":16},"end":{"line":45,"column":17}},"type":"if","locations":[{"start":{"line":43,"column":16},"end":{"line":45,"column":17}},{"start":{"line":43,"column":16},"end":{"line":45,"column":17}}],"line":43},"12":{"loc":{"start":{"line":48,"column":16},"end":{"line":50,"column":17}},"type":"if","locations":[{"start":{"line":48,"column":16},"end":{"line":50,"column":17}},{"start":{"line":48,"column":16},"end":{"line":50,"column":17}}],"line":48},"13":{"loc":{"start":{"line":54,"column":12},"end":{"line":56,"column":13}},"type":"if","locations":[{"start":{"line":54,"column":12},"end":{"line":56,"column":13}},{"start":{"line":54,"column":12},"end":{"line":56,"column":13}}],"line":54},"14":{"loc":{"start":{"line":58,"column":16},"end":{"line":60,"column":17}},"type":"if","locations":[{"start":{"line":58,"column":16},"end":{"line":60,"column":17}},{"start":{"line":58,"column":16},"end":{"line":60,"column":17}}],"line":58}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0},"f":{"0":0},"b":{"0":[0,0],"1":[0,0],"2":[0,0,0,0,0,0,0,0],"3":[0,0],"4":[0,0],"5":[0,0],"6":[0,0],"7":[0,0],"8":[0,0],"9":[0,0],"10":[0,0],"11":[0,0],"12":[0,0],"13":[0,0],"14":[0,0]},"inputSourceMap":{"version":3,"file":"objects.js","sourceRoot":"","sources":["../../src/lib/objects.ts"],"names":[],"mappings":"AAAA,6DAA6D;AAC7D,eAAe;AAEf,YAAY,CAAC;;;AAEb,SAAgB,aAAa,CAAC,CAAM,EAAE,CAAM;IACxC,IAAI,CAAC,KAAK,CAAC,EAAE;QACT,OAAO,IAAI,CAAC;KACf;IACD,IAAI,OAAO,CAAC,KAAK,OAAO,CAAC,EAAE;QACvB,OAAO,KAAK,CAAC;KAChB;IACD,QAAQ,OAAO,CAAC,EAAE;QACd,KAAK,SAAS,CAAC;QACf,KAAK,QAAQ,CAAC;QACd,KAAK,QAAQ,CAAC;QACd,KAAK,UAAU,CAAC;QAChB,KAAK,QAAQ,CAAC;QACd,KAAK,WAAW;YACZ,0BAA0B;YAC1B,OAAO,KAAK,CAAC;QACjB,KAAK,QAAQ;YACT,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,IAAI,EAAE;gBAC1B,OAAO,KAAK,CAAC,CAAC,uBAAuB;aACxC;YACD,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;gBACtC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;oBACxC,OAAO,KAAK,CAAC;iBAChB;gBACD,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,MAAM,EAAE;oBACvB,OAAO,KAAK,CAAC;iBAChB;gBACD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE;oBAC/B,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE;wBACf,OAAO,KAAK,CAAC;qBAChB;iBACJ;gBACD,OAAO,IAAI,CAAC;aACf;YACD,IAAM,MAAM,GAAa,EAAE,CAAC;YAC5B,IAAM,MAAM,GAAa,EAAE,CAAC;YAC5B,KAAK,IAAM,MAAI,IAAI,CAAC,EAAE;gBAClB,IAAI,CAAC,CAAC,cAAc,CAAC,MAAI,CAAC,EAAE;oBACxB,MAAM,CAAC,IAAI,CAAC,MAAI,CAAC,CAAC;iBACrB;aACJ;YACD,KAAK,IAAM,MAAI,IAAI,CAAC,EAAE;gBAClB,IAAI,CAAC,CAAC,cAAc,CAAC,MAAI,CAAC,EAAE;oBACxB,MAAM,CAAC,IAAI,CAAC,MAAI,CAAC,CAAC;iBACrB;aACJ;YACD,MAAM,CAAC,IAAI,EAAE,CAAC;YACd,MAAM,CAAC,IAAI,EAAE,CAAC;YACd,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE;gBACvC,OAAO,KAAK,CAAC;aAChB;YACD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,EAAE,CAAC,EAAE;gBACpC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE;oBAC/B,OAAO,KAAK,CAAC;iBAChB;aACJ;YACD,OAAO,IAAI,CAAC;QAChB;YACI,OAAO,KAAK,CAAC;KACpB;AACL,CAAC;AA5DD,sCA4DC","sourcesContent":["// Copyright © 2015 Rogier Schouten<github@workingcode.ninja>\n// License: ISC\n\n'use strict';\n\nexport function shallowEquals(a: any, b: any): boolean {\n if (a === b) {\n return true;\n }\n if (typeof a !== typeof b) {\n return false;\n }\n switch (typeof a) {\n case 'boolean':\n case 'number':\n case 'string':\n case 'function':\n case 'symbol':\n case 'undefined':\n // already did === compare\n return false;\n case 'object':\n if (a === null || b === null) {\n return false; // already compared ===\n }\n if (Array.isArray(a) || Array.isArray(b)) {\n if (!Array.isArray(a) || !Array.isArray(b)) {\n return false;\n }\n if (a.length !== b.length) {\n return false;\n }\n for (let i = 0; i < a.length; ++i) {\n if (a[i] !== b[i]) {\n return false;\n }\n }\n return true;\n }\n const namesA: string[] = [];\n const namesB: string[] = [];\n for (const name in a) {\n if (a.hasOwnProperty(name)) {\n namesA.push(name);\n }\n }\n for (const name in b) {\n if (b.hasOwnProperty(name)) {\n namesB.push(name);\n }\n }\n namesA.sort();\n namesB.sort();\n if (namesA.join(',') !== namesB.join(',')) {\n return false;\n }\n for (let i = 0; i < namesA.length; ++i) {\n if (a[namesA[i]] !== b[namesA[i]]) {\n return false;\n }\n }\n return true;\n default:\n return false;\n }\n}\n"]},"all":true},"/home/rogier/github/ts-events/dist/lib/queued-event.js":{"path":"/home/rogier/github/ts-events/dist/lib/queued-event.js","statementMap":{"0":{"start":{"line":4,"column":16},"end":{"line":16,"column":4}},"1":{"start":{"line":5,"column":24},"end":{"line":10,"column":5}},"2":{"start":{"line":6,"column":8},"end":{"line":8,"column":87}},"3":{"start":{"line":7,"column":69},"end":{"line":7,"column":85}},"4":{"start":{"line":8,"column":30},"end":{"line":8,"column":84}},"5":{"start":{"line":8,"column":47},"end":{"line":8,"column":84}},"6":{"start":{"line":8,"column":72},"end":{"line":8,"column":84}},"7":{"start":{"line":9,"column":8},"end":{"line":9,"column":35}},"8":{"start":{"line":11,"column":4},"end":{"line":15,"column":6}},"9":{"start":{"line":12,"column":8},"end":{"line":12,"column":28}},"10":{"start":{"line":13,"column":24},"end":{"line":13,"column":45}},"11":{"start":{"line":14,"column":8},"end":{"line":14,"column":93}},"12":{"start":{"line":17,"column":0},"end":{"line":17,"column":62}},"13":{"start":{"line":18,"column":0},"end":{"line":18,"column":82}},"14":{"start":{"line":19,"column":19},"end":{"line":19,"column":42}},"15":{"start":{"line":20,"column":19},"end":{"line":20,"column":42}},"16":{"start":{"line":21,"column":19},"end":{"line":21,"column":42}},"17":{"start":{"line":29,"column":33},"end":{"line":134,"column":25}},"18":{"start":{"line":30,"column":4},"end":{"line":30,"column":35}},"19":{"start":{"line":38,"column":8},"end":{"line":38,"column":43}},"20":{"start":{"line":38,"column":31},"end":{"line":38,"column":41}},"21":{"start":{"line":39,"column":20},"end":{"line":39,"column":45}},"22":{"start":{"line":40,"column":8},"end":{"line":40,"column":30}},"23":{"start":{"line":41,"column":8},"end":{"line":41,"column":29}},"24":{"start":{"line":42,"column":8},"end":{"line":47,"column":9}},"25":{"start":{"line":43,"column":12},"end":{"line":43,"column":46}},"26":{"start":{"line":46,"column":12},"end":{"line":46,"column":37}},"27":{"start":{"line":48,"column":8},"end":{"line":50,"column":9}},"28":{"start":{"line":49,"column":12},"end":{"line":49,"column":38}},"29":{"start":{"line":51,"column":8},"end":{"line":51,"column":21}},"30":{"start":{"line":53,"column":4},"end":{"line":66,"column":7}},"31":{"start":{"line":58,"column":12},"end":{"line":61,"column":13}},"32":{"start":{"line":60,"column":16},"end":{"line":60,"column":74}},"33":{"start":{"line":62,"column":12},"end":{"line":62,"column":42}},"34":{"start":{"line":67,"column":4},"end":{"line":108,"column":6}},"35":{"start":{"line":68,"column":20},"end":{"line":68,"column":24}},"36":{"start":{"line":69,"column":19},"end":{"line":69,"column":21}},"37":{"start":{"line":70,"column":8},"end":{"line":72,"column":9}},"38":{"start":{"line":70,"column":22},"end":{"line":70,"column":23}},"39":{"start":{"line":71,"column":12},"end":{"line":71,"column":37}},"40":{"start":{"line":73,"column":8},"end":{"line":75,"column":9}},"41":{"start":{"line":74,"column":12},"end":{"line":74,"column":19}},"42":{"start":{"line":76,"column":21},"end":{"line":76,"column":78}},"43":{"start":{"line":77,"column":8},"end":{"line":107,"column":9}},"44":{"start":{"line":78,"column":12},"end":{"line":78,"column":36}},"45":{"start":{"line":79,"column":12},"end":{"line":79,"column":52}},"46":{"start":{"line":80,"column":12},"end":{"line":97,"column":13}},"47":{"start":{"line":81,"column":16},"end":{"line":81,"column":23}},"48":{"start":{"line":84,"column":16},"end":{"line":84,"column":36}},"49":{"start":{"line":85,"column":16},"end":{"line":96,"column":19}},"50":{"start":{"line":88,"column":20},"end":{"line":88,"column":42}},"51":{"start":{"line":90,"column":31},"end":{"line":90,"column":48}},"52":{"start":{"line":91,"column":36},"end":{"line":91,"column":58}},"53":{"start":{"line":92,"column":20},"end":{"line":95,"column":21}},"54":{"start":{"line":92,"column":33},"end":{"line":92,"column":34}},"55":{"start":{"line":93,"column":39},"end":{"line":93,"column":51}},"56":{"start":{"line":94,"column":24},"end":{"line":94,"column":52}},"57":{"start":{"line":100,"column":30},"end":{"line":100,"column":45}},"58":{"start":{"line":101,"column":12},"end":{"line":106,"column":15}},"59":{"start":{"line":102,"column":16},"end":{"line":105,"column":17}},"60":{"start":{"line":102,"column":29},"end":{"line":102,"column":30}},"61":{"start":{"line":103,"column":35},"end":{"line":103,"column":49}},"62":{"start":{"line":104,"column":20},"end":{"line":104,"column":48}},"63":{"start":{"line":110,"column":4},"end":{"line":118,"column":6}},"64":{"start":{"line":112,"column":20},"end":{"line":112,"column":131}},"65":{"start":{"line":113,"column":21},"end":{"line":113,"column":68}},"66":{"start":{"line":114,"column":8},"end":{"line":116,"column":9}},"67":{"start":{"line":115,"column":12},"end":{"line":115,"column":44}},"68":{"start":{"line":117,"column":8},"end":{"line":117,"column":22}},"69":{"start":{"line":120,"column":4},"end":{"line":132,"column":6}},"70":{"start":{"line":122,"column":19},"end":{"line":122,"column":21}},"71":{"start":{"line":123,"column":8},"end":{"line":125,"column":9}},"72":{"start":{"line":123,"column":22},"end":{"line":123,"column":23}},"73":{"start":{"line":124,"column":12},"end":{"line":124,"column":37}},"74":{"start":{"line":126,"column":20},"end":{"line":126,"column":131}},"75":{"start":{"line":127,"column":21},"end":{"line":127,"column":63}},"76":{"start":{"line":128,"column":8},"end":{"line":130,"column":9}},"77":{"start":{"line":129,"column":12},"end":{"line":129,"column":44}},"78":{"start":{"line":131,"column":8},"end":{"line":131,"column":22}},"79":{"start":{"line":133,"column":4},"end":{"line":133,"column":23}},"80":{"start":{"line":135,"column":0},"end":{"line":135,"column":34}},"81":{"start":{"line":139,"column":37},"end":{"line":151,"column":14}},"82":{"start":{"line":140,"column":4},"end":{"line":140,"column":39}},"83":{"start":{"line":142,"column":8},"end":{"line":142,"column":72}},"84":{"start":{"line":147,"column":4},"end":{"line":149,"column":6}},"85":{"start":{"line":148,"column":8},"end":{"line":148,"column":52}},"86":{"start":{"line":150,"column":4},"end":{"line":150,"column":27}},"87":{"start":{"line":152,"column":0},"end":{"line":152,"column":42}},"88":{"start":{"line":156,"column":38},"end":{"line":168,"column":14}},"89":{"start":{"line":157,"column":4},"end":{"line":157,"column":40}},"90":{"start":{"line":159,"column":8},"end":{"line":159,"column":72}},"91":{"start":{"line":161,"column":4},"end":{"line":166,"column":6}},"92":{"start":{"line":162,"column":8},"end":{"line":164,"column":9}},"93":{"start":{"line":163,"column":12},"end":{"line":163,"column":102}},"94":{"start":{"line":165,"column":8},"end":{"line":165,"column":47}},"95":{"start":{"line":167,"column":4},"end":{"line":167,"column":28}},"96":{"start":{"line":169,"column":0},"end":{"line":169,"column":44}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":4,"column":45},"end":{"line":4,"column":46}},"loc":{"start":{"line":4,"column":57},"end":{"line":16,"column":1}},"line":4},"1":{"name":"(anonymous_1)","decl":{"start":{"line":5,"column":24},"end":{"line":5,"column":25}},"loc":{"start":{"line":5,"column":40},"end":{"line":10,"column":5}},"line":5},"2":{"name":"(anonymous_2)","decl":{"start":{"line":7,"column":51},"end":{"line":7,"column":52}},"loc":{"start":{"line":7,"column":67},"end":{"line":7,"column":87}},"line":7},"3":{"name":"(anonymous_3)","decl":{"start":{"line":8,"column":12},"end":{"line":8,"column":13}},"loc":{"start":{"line":8,"column":28},"end":{"line":8,"column":86}},"line":8},"4":{"name":"(anonymous_4)","decl":{"start":{"line":11,"column":11},"end":{"line":11,"column":12}},"loc":{"start":{"line":11,"column":27},"end":{"line":15,"column":5}},"line":11},"5":{"name":"__","decl":{"start":{"line":13,"column":17},"end":{"line":13,"column":19}},"loc":{"start":{"line":13,"column":22},"end":{"line":13,"column":47}},"line":13},"6":{"name":"(anonymous_6)","decl":{"start":{"line":29,"column":33},"end":{"line":29,"column":34}},"loc":{"start":{"line":29,"column":51},"end":{"line":134,"column":1}},"line":29},"7":{"name":"QueuedEvent","decl":{"start":{"line":37,"column":13},"end":{"line":37,"column":24}},"loc":{"start":{"line":37,"column":31},"end":{"line":52,"column":5}},"line":37},"8":{"name":"(anonymous_8)","decl":{"start":{"line":57,"column":13},"end":{"line":57,"column":14}},"loc":{"start":{"line":57,"column":25},"end":{"line":63,"column":9}},"line":57},"9":{"name":"(anonymous_9)","decl":{"start":{"line":67,"column":33},"end":{"line":67,"column":34}},"loc":{"start":{"line":67,"column":45},"end":{"line":108,"column":5}},"line":67},"10":{"name":"(anonymous_10)","decl":{"start":{"line":85,"column":26},"end":{"line":85,"column":27}},"loc":{"start":{"line":85,"column":38},"end":{"line":96,"column":17}},"line":85},"11":{"name":"(anonymous_11)","decl":{"start":{"line":101,"column":22},"end":{"line":101,"column":23}},"loc":{"start":{"line":101,"column":34},"end":{"line":106,"column":13}},"line":101},"12":{"name":"(anonymous_12)","decl":{"start":{"line":110,"column":36},"end":{"line":110,"column":37}},"loc":{"start":{"line":110,"column":58},"end":{"line":118,"column":5}},"line":110},"13":{"name":"(anonymous_13)","decl":{"start":{"line":120,"column":36},"end":{"line":120,"column":37}},"loc":{"start":{"line":120,"column":48},"end":{"line":132,"column":5}},"line":120},"14":{"name":"(anonymous_14)","decl":{"start":{"line":139,"column":37},"end":{"line":139,"column":38}},"loc":{"start":{"line":139,"column":55},"end":{"line":151,"column":1}},"line":139},"15":{"name":"VoidQueuedEvent","decl":{"start":{"line":141,"column":13},"end":{"line":141,"column":28}},"loc":{"start":{"line":141,"column":31},"end":{"line":143,"column":5}},"line":141},"16":{"name":"(anonymous_16)","decl":{"start":{"line":147,"column":37},"end":{"line":147,"column":38}},"loc":{"start":{"line":147,"column":49},"end":{"line":149,"column":5}},"line":147},"17":{"name":"(anonymous_17)","decl":{"start":{"line":156,"column":38},"end":{"line":156,"column":39}},"loc":{"start":{"line":156,"column":56},"end":{"line":168,"column":1}},"line":156},"18":{"name":"ErrorQueuedEvent","decl":{"start":{"line":158,"column":13},"end":{"line":158,"column":29}},"loc":{"start":{"line":158,"column":32},"end":{"line":160,"column":5}},"line":158},"19":{"name":"(anonymous_19)","decl":{"start":{"line":161,"column":38},"end":{"line":161,"column":39}},"loc":{"start":{"line":161,"column":54},"end":{"line":166,"column":5}},"line":161}},"branchMap":{"0":{"loc":{"start":{"line":4,"column":16},"end":{"line":16,"column":4}},"type":"binary-expr","locations":[{"start":{"line":4,"column":17},"end":{"line":4,"column":21}},{"start":{"line":4,"column":25},"end":{"line":4,"column":39}},{"start":{"line":4,"column":44},"end":{"line":16,"column":4}}],"line":4},"1":{"loc":{"start":{"line":6,"column":24},"end":{"line":8,"column":86}},"type":"binary-expr","locations":[{"start":{"line":6,"column":24},"end":{"line":6,"column":45}},{"start":{"line":7,"column":13},"end":{"line":7,"column":47}},{"start":{"line":7,"column":51},"end":{"line":7,"column":87}},{"start":{"line":8,"column":12},"end":{"line":8,"column":86}}],"line":6},"2":{"loc":{"start":{"line":8,"column":47},"end":{"line":8,"column":84}},"type":"if","locations":[{"start":{"line":8,"column":47},"end":{"line":8,"column":84}},{"start":{"line":8,"column":47},"end":{"line":8,"column":84}}],"line":8},"3":{"loc":{"start":{"line":14,"column":22},"end":{"line":14,"column":92}},"type":"cond-expr","locations":[{"start":{"line":14,"column":35},"end":{"line":14,"column":51}},{"start":{"line":14,"column":55},"end":{"line":14,"column":91}}],"line":14},"4":{"loc":{"start":{"line":38,"column":8},"end":{"line":38,"column":43}},"type":"if","locations":[{"start":{"line":38,"column":8},"end":{"line":38,"column":43}},{"start":{"line":38,"column":8},"end":{"line":38,"column":43}}],"line":38},"5":{"loc":{"start":{"line":39,"column":20},"end":{"line":39,"column":45}},"type":"binary-expr","locations":[{"start":{"line":39,"column":20},"end":{"line":39,"column":37}},{"start":{"line":39,"column":41},"end":{"line":39,"column":45}}],"line":39},"6":{"loc":{"start":{"line":42,"column":8},"end":{"line":47,"column":9}},"type":"if","locations":[{"start":{"line":42,"column":8},"end":{"line":47,"column":9}},{"start":{"line":42,"column":8},"end":{"line":47,"column":9}}],"line":42},"7":{"loc":{"start":{"line":48,"column":8},"end":{"line":50,"column":9}},"type":"if","locations":[{"start":{"line":48,"column":8},"end":{"line":50,"column":9}},{"start":{"line":48,"column":8},"end":{"line":50,"column":9}}],"line":48},"8":{"loc":{"start":{"line":48,"column":12},"end":{"line":48,"column":65}},"type":"binary-expr","locations":[{"start":{"line":48,"column":12},"end":{"line":48,"column":42}},{"start":{"line":48,"column":46},"end":{"line":48,"column":65}}],"line":48},"9":{"loc":{"start":{"line":58,"column":12},"end":{"line":61,"column":13}},"type":"if","locations":[{"start":{"line":58,"column":12},"end":{"line":61,"column":13}},{"start":{"line":58,"column":12},"end":{"line":61,"column":13}}],"line":58},"10":{"loc":{"start":{"line":73,"column":8},"end":{"line":75,"column":9}},"type":"if","locations":[{"start":{"line":73,"column":8},"end":{"line":75,"column":9}},{"start":{"line":73,"column":8},"end":{"line":75,"column":9}}],"line":73},"11":{"loc":{"start":{"line":73,"column":12},"end":{"line":73,"column":60}},"type":"binary-expr","locations":[{"start":{"line":73,"column":12},"end":{"line":73,"column":28}},{"start":{"line":73,"column":32},"end":{"line":73,"column":60}}],"line":73},"12":{"loc":{"start":{"line":76,"column":21},"end":{"line":76,"column":78}},"type":"cond-expr","locations":[{"start":{"line":76,"column":35},"end":{"line":76,"column":46}},{"start":{"line":76,"column":49},"end":{"line":76,"column":78}}],"line":76},"13":{"loc":{"start":{"line":77,"column":8},"end":{"line":107,"column":9}},"type":"if","locations":[{"start":{"line":77,"column":8},"end":{"line":107,"column":9}},{"start":{"line":77,"column":8},"end":{"line":107,"column":9}}],"line":77},"14":{"loc":{"start":{"line":80,"column":12},"end":{"line":97,"column":13}},"type":"if","locations":[{"start":{"line":80,"column":12},"end":{"line":97,"column":13}},{"start":{"line":80,"column":12},"end":{"line":97,"column":13}}],"line":80},"15":{"loc":{"start":{"line":112,"column":20},"end":{"line":112,"column":131}},"type":"cond-expr","locations":[{"start":{"line":112,"column":125},"end":{"line":112,"column":127}},{"start":{"line":112,"column":130},"end":{"line":112,"column":131}}],"line":112},"16":{"loc":{"start":{"line":112,"column":20},"end":{"line":112,"column":122}},"type":"binary-expr","locations":[{"start":{"line":112,"column":20},"end":{"line":112,"column":105}},{"start":{"line":112,"column":109},"end":{"line":112,"column":122}}],"line":112},"17":{"loc":{"start":{"line":112,"column":26},"end":{"line":112,"column":95}},"type":"cond-expr","locations":[{"start":{"line":112,"column":77},"end":{"line":112,"column":83}},{"start":{"line":112,"column":86},"end":{"line":112,"column":95}}],"line":112},"18":{"loc":{"start":{"line":112,"column":26},"end":{"line":112,"column":74}},"type":"binary-expr","locations":[{"start":{"line":112,"column":26},"end":{"line":112,"column":57}},{"start":{"line":112,"column":61},"end":{"line":112,"column":74}}],"line":112},"19":{"loc":{"start":{"line":114,"column":8},"end":{"line":116,"column":9}},"type":"if","locations":[{"start":{"line":114,"column":8},"end":{"line":116,"column":9}},{"start":{"line":114,"column":8},"end":{"line":116,"column":9}}],"line":114},"20":{"loc":{"start":{"line":114,"column":12},"end":{"line":114,"column":163}},"type":"binary-expr","locations":[{"start":{"line":114,"column":12},"end":{"line":114,"column":36}},{"start":{"line":114,"column":40},"end":{"line":114,"column":163}}],"line":114},"21":{"loc":{"start":{"line":114,"column":51},"end":{"line":114,"column":162}},"type":"cond-expr","locations":[{"start":{"line":114,"column":156},"end":{"line":114,"column":158}},{"start":{"line":114,"column":161},"end":{"line":114,"column":162}}],"line":114},"22":{"loc":{"start":{"line":114,"column":51},"end":{"line":114,"column":153}},"type":"binary-expr","locations":[{"start":{"line":114,"column":51},"end":{"line":114,"column":136}},{"start":{"line":114,"column":140},"end":{"line":114,"column":153}}],"line":114},"23":{"loc":{"start":{"line":114,"column":57},"end":{"line":114,"column":126}},"type":"cond-expr","locations":[{"start":{"line":114,"column":108},"end":{"line":114,"column":114}},{"start":{"line":114,"column":117},"end":{"line":114,"column":126}}],"line":114},"24":{"loc":{"start":{"line":114,"column":57},"end":{"line":114,"column":105}},"type":"binary-expr","locations":[{"start":{"line":114,"column":57},"end":{"line":114,"column":88}},{"start":{"line":114,"column":92},"end":{"line":114,"column":105}}],"line":114},"25":{"loc":{"start":{"line":126,"column":20},"end":{"line":126,"column":131}},"type":"cond-expr","locations":[{"start":{"line":126,"column":125},"end":{"line":126,"column":127}},{"start":{"line":126,"column":130},"end":{"line":126,"column":131}}],"line":126},"26":{"loc":{"start":{"line":126,"column":20},"end":{"line":126,"column":122}},"type":"binary-expr","locations":[{"start":{"line":126,"column":20},"end":{"line":126,"column":105}},{"start":{"line":126,"column":109},"end":{"line":126,"column":122}}],"line":126},"27":{"loc":{"start":{"line":126,"column":26},"end":{"line":126,"column":95}},"type":"cond-expr","locations":[{"start":{"line":126,"column":77},"end":{"line":126,"column":83}},{"start":{"line":126,"column":86},"end":{"line":126,"column":95}}],"line":126},"28":{"loc":{"start":{"line":126,"column":26},"end":{"line":126,"column":74}},"type":"binary-expr","locations":[{"start":{"line":126,"column":26},"end":{"line":126,"column":57}},{"start":{"line":126,"column":61},"end":{"line":126,"column":74}}],"line":126},"29":{"loc":{"start":{"line":128,"column":8},"end":{"line":130,"column":9}},"type":"if","locations":[{"start":{"line":128,"column":8},"end":{"line":130,"column":9}},{"start":{"line":128,"column":8},"end":{"line":130,"column":9}}],"line":128},"30":{"loc":{"start":{"line":128,"column":12},"end":{"line":128,"column":163}},"type":"binary-expr","locations":[{"start":{"line":128,"column":12},"end":{"line":128,"column":36}},{"start":{"line":128,"column":40},"end":{"line":128,"column":163}}],"line":128},"31":{"loc":{"start":{"line":128,"column":51},"end":{"line":128,"column":162}},"type":"cond-expr","locations":[{"start":{"line":128,"column":156},"end":{"line":128,"column":158}},{"start":{"line":128,"column":161},"end":{"line":128,"column":162}}],"line":128},"32":{"loc":{"start":{"line":128,"column":51},"end":{"line":128,"column":153}},"type":"binary-expr","locations":[{"start":{"line":128,"column":51},"end":{"line":128,"column":136}},{"start":{"line":128,"column":140},"end":{"line":128,"column":153}}],"line":128},"33":{"loc":{"start":{"line":128,"column":57},"end":{"line":128,"column":126}},"type":"cond-expr","locations":[{"start":{"line":128,"column":108},"end":{"line":128,"column":114}},{"start":{"line":128,"column":117},"end":{"line":128,"column":126}}],"line":128},"34":{"loc":{"start":{"line":128,"column":57},"end":{"line":128,"column":105}},"type":"binary-expr","locations":[{"start":{"line":128,"column":57},"end":{"line":128,"column":88}},{"start":{"line":128,"column":92},"end":{"line":128,"column":105}}],"line":128},"35":{"loc":{"start":{"line":142,"column":15},"end":{"line":142,"column":71}},"type":"binary-expr","locations":[{"start":{"line":142,"column":15},"end":{"line":142,"column":30}},{"start":{"line":142,"column":34},"end":{"line":142,"column":63}},{"start":{"line":142,"column":67},"end":{"line":142,"column":71}}],"line":142},"36":{"loc":{"start":{"line":159,"column":15},"end":{"line":159,"column":71}},"type":"binary-expr","locations":[{"start":{"line":159,"column":15},"end":{"line":159,"column":30}},{"start":{"line":159,"column":34},"end":{"line":159,"column":63}},{"start":{"line":159,"column":67},"end":{"line":159,"column":71}}],"line":159},"37":{"loc":{"start":{"line":162,"column":8},"end":{"line":164,"column":9}},"type":"if","locations":[{"start":{"line":162,"column":8},"end":{"line":164,"column":9}},{"start":{"line":162,"column":8},"end":{"line":164,"column":9}}],"line":162},"38":{"loc":{"start":{"line":162,"column":12},"end":{"line":162,"column":60}},"type":"binary-expr","locations":[{"start":{"line":162,"column":12},"end":{"line":162,"column":28}},{"start":{"line":162,"column":32},"end":{"line":162,"column":60}}],"line":162}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0,"71":0,"72":0,"73":0,"74":0,"75":0,"76":0,"77":0,"78":0,"79":0,"80":0,"81":0,"82":0,"83":0,"84":0,"85":0,"86":0,"87":0,"88":0,"89":0,"90":0,"91":0,"92":0,"93":0,"94":0,"95":0,"96":0},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0},"b":{"0":[0,0,0],"1":[0,0,0,0],"2":[0,0],"3":[0,0],"4":[0,0],"5":[0,0],"6":[0,0],"7":[0,0],"8":[0,0],"9":[0,0],"10":[0,0],"11":[0,0],"12":[0,0],"13":[0,0],"14":[0,0],"15":[0,0],"16":[0,0],"17":[0,0],"18":[0,0],"19":[0,0],"20":[0,0],"21":[0,0],"22":[0,0],"23":[0,0],"24":[0,0],"25":[0,0],"26":[0,0],"27":[0,0],"28":[0,0],"29":[0,0],"30":[0,0],"31":[0,0],"32":[0,0],"33":[0,0],"34":[0,0],"35":[0,0,0],"36":[0,0,0],"37":[0,0],"38":[0,0]},"inputSourceMap":{"version":3,"file":"queued-event.js","sourceRoot":"","sources":["../../src/lib/queued-event.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright © 2015 Rogier Schouten<github@workingcode.ninja>\n// License: ISC\n\n'use strict';\n\nimport {BaseEvent, Postable, Listener} from './base-event';\nimport {default as EventQueue} from './EventQueue';\nimport {VoidSyncEvent} from './sync-event';\n\n/**\n * Options for the QueuedEvent constructor\n */\nexport interface QueuedEventOpts {\n /**\n * Condense multiple calls to post() into one.\n */\n condensed?: boolean;\n /**\n * Specific event queue to use. If not provided, the global instance is used.\n */\n queue?: EventQueue;\n}\n\n/**\n * Event that stays in a queue until you process the queue. Allows fine-grained\n * control over when events happen.\n * - Optionally condenses multiple post() calls into one.\n * - Handlers are called only for events posted after they were attached.\n * - Handlers are not called anymore when they are detached, even if a post() is in progress\n */\nexport class QueuedEvent<T> extends BaseEvent<T> implements Postable<T> {\n /**\n * Sent when someone attaches or detaches\n */\n public get evtListenersChanged(): VoidSyncEvent {\n if (!this._listenersChanged) {\n // need to delay-load to avoid stack overflow in constructor\n this._listenersChanged = new VoidSyncEvent();\n }\n return this._listenersChanged;\n }\n\n /**\n * Event for listening to listener count\n */\n private _listenersChanged?: VoidSyncEvent;\n\n /**\n * Used internally - the exact options object given to constructor\n */\n public options: QueuedEventOpts;\n\n private _condensed: boolean;\n private _queue: EventQueue;\n private _queued: boolean = false;\n private _queuedListeners: Listener<T>[];\n private _queuedData: any[];\n\n /**\n * Constructor\n * @param opts Optional, an object with the following members:\n * - condensed: a Boolean indicating whether to condense multiple calls to post() into one (default false)\n * - queue: a specific event queue to use. The global EventQueue instance is used if not given.\n */\n constructor(opts: QueuedEventOpts = {}) {\n super();\n this.options = opts;\n if (typeof opts.condensed === 'boolean') {\n this._condensed = opts.condensed;\n } else {\n this._condensed = false;\n }\n if (typeof opts.queue === 'object' && opts.queue !== null) {\n this._queue = opts.queue;\n }\n }\n\n /**\n * Send the event. Events are queued in the event queue until flushed out.\n * If the 'condensed' option was given in the constructor, multiple posts()\n * between queue flushes are condensed into one call with the data from the\n * last post() call.\n */\n public post(data: T): void;\n public post(...args: any[]): void {\n if (!this._listeners || this._listeners.length === 0) {\n return;\n }\n const queue = (this._queue ? this._queue : EventQueue.global());\n if (this._condensed) {\n this._queuedData = args;\n this._queuedListeners = this._listeners;\n if (this._queued) {\n return;\n } else {\n this._queued = true;\n queue.add((): void => {\n // immediately mark non-queued to allow new AsyncEvent to happen as result\n // of calling handlers\n this._queued = false;\n // cache listeners and data because they might change while calling event handlers\n const data = this._queuedData;\n const listeners = this._queuedListeners;\n for (let i = 0; i < listeners.length; ++i) {\n const listener = listeners[i];\n this._call(listener, data);\n }\n });\n }\n } else { // not condensed\n const listeners = this._listeners;\n queue.add((): void => {\n for (let i = 0; i < listeners.length; ++i) {\n const listener = listeners[i];\n this._call(listener, args);\n }\n });\n }\n }\n\n /** @inheritdoc */\n protected _attach(a: ((data: T) => void) | Object | Postable<T>, b: ((data: T) => void) | undefined, once: boolean): () => void {\n const count = this._listeners?.length ?? 0;\n const result = super._attach(a, b, once);\n if (this.evtListenersChanged && count !== (this._listeners?.length ?? 0)) {\n this.evtListenersChanged.post();\n }\n return result;\n }\n\n /** @inheritdoc */\n protected _detach(...args: any[]): void {\n const count = this._listeners?.length ?? 0;\n const result = super._detach(...args);\n if (this.evtListenersChanged && count !== (this._listeners?.length ?? 0)) {\n this.evtListenersChanged.post();\n }\n return result;\n }\n}\n\n/**\n * Convenience class for events without data\n */\nexport class VoidQueuedEvent extends QueuedEvent<void> {\n\n /**\n * Send the event.\n */\n public post(): void {\n super.post(undefined);\n }\n}\n\n\n/**\n * Similar to 'error' event on EventEmitter: throws when a post() occurs while no handlers set.\n */\nexport class ErrorQueuedEvent extends QueuedEvent<Error> {\n\n public post(data: Error): void {\n if (!this._listeners || this._listeners.length === 0) {\n throw new Error(`error event posted while no listeners attached. Error: ${data.message}`);\n }\n super.post(data);\n }\n}\n"]},"all":true},"/home/rogier/github/ts-events/dist/lib/sync-event.js":{"path":"/home/rogier/github/ts-events/dist/lib/sync-event.js","statementMap":{"0":{"start":{"line":4,"column":16},"end":{"line":16,"column":4}},"1":{"start":{"line":5,"column":24},"end":{"line":10,"column":5}},"2":{"start":{"line":6,"column":8},"end":{"line":8,"column":87}},"3":{"start":{"line":7,"column":69},"end":{"line":7,"column":85}},"4":{"start":{"line":8,"column":30},"end":{"line":8,"column":84}},"5":{"start":{"line":8,"column":47},"end":{"line":8,"column":84}},"6":{"start":{"line":8,"column":72},"end":{"line":8,"column":84}},"7":{"start":{"line":9,"column":8},"end":{"line":9,"column":35}},"8":{"start":{"line":11,"column":4},"end":{"line":15,"column":6}},"9":{"start":{"line":12,"column":8},"end":{"line":12,"column":28}},"10":{"start":{"line":13,"column":24},"end":{"line":13,"column":45}},"11":{"start":{"line":14,"column":8},"end":{"line":14,"column":93}},"12":{"start":{"line":17,"column":0},"end":{"line":17,"column":62}},"13":{"start":{"line":18,"column":0},"end":{"line":18,"column":76}},"14":{"start":{"line":19,"column":19},"end":{"line":19,"column":42}},"15":{"start":{"line":28,"column":31},"end":{"line":106,"column":25}},"16":{"start":{"line":29,"column":4},"end":{"line":29,"column":33}},"17":{"start":{"line":31,"column":20},"end":{"line":31,"column":76}},"18":{"start":{"line":35,"column":8},"end":{"line":35,"column":29}},"19":{"start":{"line":36,"column":8},"end":{"line":36,"column":21}},"20":{"start":{"line":38,"column":4},"end":{"line":51,"column":7}},"21":{"start":{"line":43,"column":12},"end":{"line":46,"column":13}},"22":{"start":{"line":45,"column":16},"end":{"line":45,"column":61}},"23":{"start":{"line":47,"column":12},"end":{"line":47,"column":42}},"24":{"start":{"line":52,"column":4},"end":{"line":75,"column":6}},"25":{"start":{"line":53,"column":19},"end":{"line":53,"column":21}},"26":{"start":{"line":54,"column":8},"end":{"line":56,"column":9}},"27":{"start":{"line":54,"column":22},"end":{"line":54,"column":23}},"28":{"start":{"line":55,"column":12},"end":{"line":55,"column":37}},"29":{"start":{"line":57,"column":8},"end":{"line":59,"column":9}},"30":{"start":{"line":58,"column":12},"end":{"line":58,"column":19}},"31":{"start":{"line":60,"column":8},"end":{"line":60,"column":26}},"32":{"start":{"line":61,"column":8},"end":{"line":66,"column":9}},"33":{"start":{"line":65,"column":12},"end":{"line":65,"column":55}},"34":{"start":{"line":69,"column":24},"end":{"line":69,"column":39}},"35":{"start":{"line":70,"column":8},"end":{"line":73,"column":9}},"36":{"start":{"line":70,"column":21},"end":{"line":70,"column":22}},"37":{"start":{"line":71,"column":27},"end":{"line":71,"column":39}},"38":{"start":{"line":72,"column":12},"end":{"line":72,"column":39}},"39":{"start":{"line":74,"column":8},"end":{"line":74,"column":26}},"40":{"start":{"line":77,"column":4},"end":{"line":85,"column":6}},"41":{"start":{"line":79,"column":20},"end":{"line":79,"column":131}},"42":{"start":{"line":80,"column":21},"end":{"line":80,"column":68}},"43":{"start":{"line":81,"column":8},"end":{"line":83,"column":9}},"44":{"start":{"line":82,"column":12},"end":{"line":82,"column":44}},"45":{"start":{"line":84,"column":8},"end":{"line":84,"column":22}},"46":{"start":{"line":87,"column":4},"end":{"line":99,"column":6}},"47":{"start":{"line":89,"column":19},"end":{"line":89,"column":21}},"48":{"start":{"line":90,"column":8},"end":{"line":92,"column":9}},"49":{"start":{"line":90,"column":22},"end":{"line":90,"column":23}},"50":{"start":{"line":91,"column":12},"end":{"line":91,"column":37}},"51":{"start":{"line":93,"column":20},"end":{"line":93,"column":131}},"52":{"start":{"line":94,"column":21},"end":{"line":94,"column":63}},"53":{"start":{"line":95,"column":8},"end":{"line":97,"column":9}},"54":{"start":{"line":96,"column":12},"end":{"line":96,"column":44}},"55":{"start":{"line":98,"column":8},"end":{"line":98,"column":22}},"56":{"start":{"line":104,"column":4},"end":{"line":104,"column":39}},"57":{"start":{"line":105,"column":4},"end":{"line":105,"column":21}},"58":{"start":{"line":107,"column":0},"end":{"line":107,"column":30}},"59":{"start":{"line":111,"column":35},"end":{"line":123,"column":12}},"60":{"start":{"line":112,"column":4},"end":{"line":112,"column":37}},"61":{"start":{"line":114,"column":8},"end":{"line":114,"column":72}},"62":{"start":{"line":119,"column":4},"end":{"line":121,"column":6}},"63":{"start":{"line":120,"column":8},"end":{"line":120,"column":52}},"64":{"start":{"line":122,"column":4},"end":{"line":122,"column":25}},"65":{"start":{"line":124,"column":0},"end":{"line":124,"column":38}},"66":{"start":{"line":128,"column":36},"end":{"line":140,"column":12}},"67":{"start":{"line":129,"column":4},"end":{"line":129,"column":38}},"68":{"start":{"line":131,"column":8},"end":{"line":131,"column":72}},"69":{"start":{"line":133,"column":4},"end":{"line":138,"column":6}},"70":{"start":{"line":134,"column":8},"end":{"line":136,"column":9}},"71":{"start":{"line":135,"column":12},"end":{"line":135,"column":102}},"72":{"start":{"line":137,"column":8},"end":{"line":137,"column":47}},"73":{"start":{"line":139,"column":4},"end":{"line":139,"column":26}},"74":{"start":{"line":141,"column":0},"end":{"line":141,"column":40}}},"fnMap":{"0":{"name":"(anonymous_0)","decl":{"start":{"line":4,"column":45},"end":{"line":4,"column":46}},"loc":{"start":{"line":4,"column":57},"end":{"line":16,"column":1}},"line":4},"1":{"name":"(anonymous_1)","decl":{"start":{"line":5,"column":24},"end":{"line":5,"column":25}},"loc":{"start":{"line":5,"column":40},"end":{"line":10,"column":5}},"line":5},"2":{"name":"(anonymous_2)","decl":{"start":{"line":7,"column":51},"end":{"line":7,"column":52}},"loc":{"start":{"line":7,"column":67},"end":{"line":7,"column":87}},"line":7},"3":{"name":"(anonymous_3)","decl":{"start":{"line":8,"column":12},"end":{"line":8,"column":13}},"loc":{"start":{"line":8,"column":28},"end":{"line":8,"column":86}},"line":8},"4":{"name":"(anonymous_4)","decl":{"start":{"line":11,"column":11},"end":{"line":11,"column":12}},"loc":{"start":{"line":11,"column":27},"end":{"line":15,"column":5}},"line":11},"5":{"name":"__","decl":{"start":{"line":13,"column":17},"end":{"line":13,"column":19}},"loc":{"start":{"line":13,"column":22},"end":{"line":13,"column":47}},"line":13},"6":{"name":"(anonymous_6)","decl":{"start":{"line":28,"column":31},"end":{"line":28,"column":32}},"loc":{"start":{"line":28,"column":49},"end":{"line":106,"column":1}},"line":28},"7":{"name":"SyncEvent","decl":{"start":{"line":30,"column":13},"end":{"line":30,"column":22}},"loc":{"start":{"line":30,"column":25},"end":{"line":37,"column":5}},"line":30},"8":{"name":"(anonymous_8)","decl":{"start":{"line":42,"column":13},"end":{"line":42,"column":14}},"loc":{"start":{"line":42,"column":25},"end":{"line":48,"column":9}},"line":42},"9":{"name":"(anonymous_9)","decl":{"start":{"line":52,"column":31},"end":{"line":52,"column":32}},"loc":{"start":{"line":52,"column":43},"end":{"line":75,"column":5}},"line":52},"10":{"name":"(anonymous_10)","decl":{"start":{"line":77,"column":34},"end":{"line":77,"column":35}},"loc":{"start":{"line":77,"column":56},"end":{"line":85,"column":5}},"line":77},"11":{"name":"(anonymous_11)","decl":{"start":{"line":87,"column":34},"end":{"line":87,"column":35}},"loc":{"start":{"line":87,"column":46},"end":{"line":99,"column":5}},"line":87},"12":{"name":"(anonymous_12)","decl":{"start":{"line":111,"column":35},"end":{"line":111,"column":36}},"loc":{"start":{"line":111,"column":53},"end":{"line":123,"column":1}},"line":111},"13":{"name":"VoidSyncEvent","decl":{"start":{"line":113,"column":13},"end":{"line":113,"column":26}},"loc":{"start":{"line":113,"column":29},"end":{"line":115,"column":5}},"line":113},"14":{"name":"(anonymous_14)","decl":{"start":{"line":119,"column":35},"end":{"line":119,"column":36}},"loc":{"start":{"line":119,"column":47},"end":{"line":121,"column":5}},"line":119},"15":{"name":"(anonymous_15)","decl":{"start":{"line":128,"column":36},"end":{"line":128,"column":37}},"loc":{"start":{"line":128,"column":54},"end":{"line":140,"column":1}},"line":128},"16":{"name":"ErrorSyncEvent","decl":{"start":{"line":130,"column":13},"end":{"line":130,"column":27}},"loc":{"start":{"line":130,"column":30},"end":{"line":132,"column":5}},"line":130},"17":{"name":"(anonymous_17)","decl":{"start":{"line":133,"column":36},"end":{"line":133,"column":37}},"loc":{"start":{"line":133,"column":52},"end":{"line":138,"column":5}},"line":133}},"branchMap":{"0":{"loc":{"start":{"line":4,"column":16},"end":{"line":16,"column":4}},"type":"binary-expr","locations":[{"start":{"line":4,"column":17},"end":{"line":4,"column":21}},{"start":{"line":4,"column":25},"end":{"line":4,"column":39}},{"start":{"line":4,"column":44},"end":{"line":16,"column":4}}],"line":4},"1":{"loc":{"start":{"line":6,"column":24},"end":{"line":8,"column":86}},"type":"binary-expr","locations":[{"start":{"line":6,"column":24},"end":{"line":6,"column":45}},{"start":{"line":7,"column":13},"end":{"line":7,"column":47}},{"start":{"line":7,"column":51},"end":{"line":7,"column":87}},{"start":{"line":8,"column":12},"end":{"line":8,"column":86}}],"line":6},"2":{"loc":{"start":{"line":8,"column":47},"end":{"line":8,"column":84}},"type":"if","locations":[{"start":{"line":8,"column":47},"end":{"line":8,"column":84}},{"start":{"line":8,"column":47},"end":{"line":8,"column":84}}],"line":8},"3":{"loc":{"start":{"line":14,"column":22},"end":{"line":14,"column":92}},"type":"cond-expr","locations":[{"start":{"line":14,"column":35},"end":{"line":14,"column":51}},{"start":{"line":14,"column":55},"end":{"line":14,"column":91}}],"line":14},"4":{"loc":{"start":{"line":31,"column":20},"end":{"line":31,"column":76}},"type":"binary-expr","locations":[{"start":{"line":31,"column":20},"end":{"line":31,"column":35}},{"start":{"line":31,"column":39},"end":{"line":31,"column":68}},{"start":{"line":31,"column":72},"end":{"line":31,"column":76}}],"line":31},"5":{"loc":{"start":{"line":43,"column":12},"end":{"line":46,"column":13}},"type":"if","locations":[{"start":{"line":43,"column":12},"end":{"line":46,"column":13}},{"start":{"line":43,"column":12},"end":{"line":46,"column":13}}],"line":43},"6":{"loc":{"start":{"line":57,"column":8},"end":{"line":59,"column":9}},"type":"if","locations":[{"start":{"line":57,"column":8},"end":{"line":59,"column":9}},{"start":{"line":57,"column":8},"end":{"line":59,"column":9}}],"line":57},"7":{"loc":{"start":{"line":57,"column":12},"end":{"line":57,"column":60}},"type":"binary-expr","locations":[{"start":{"line":57,"column":12},"end":{"line":57,"column":28}},{"start":{"line":57,"column":32},"end":{"line":57,"column":60}}],"line":57},"8":{"loc":{"start":{"line":61,"column":8},"end":{"line":66,"column":9}},"type":"if","locations":[{"start":{"line":61,"column":8},"end":{"line":66,"column":9}},{"start":{"line":61,"column":8},"end":{"line":66,"column":9}}],"line":61},"9":{"loc":{"start":{"line":61,"column":12},"end":{"line":64,"column":62}},"type":"binary-expr","locations":[{"start":{"line":61,"column":12},"end":{"line":61,"column":61}},{"start":{"line":62,"column":15},"end":{"line":62,"column":62}},{"start":{"line":63,"column":15},"end":{"line":63,"column":48}},{"start":{"line":64,"column":15},"end":{"line":64,"column":62}}],"line":61},"10":{"loc":{"start":{"line":79,"column":20},"end":{"line":79,"column":131}},"type":"cond-expr","locations":[{"start":{"line":79,"column":125},"end":{"line":79,"column":127}},{"start":{"line":79,"column":130},"end":{"line":79,"column":131}}],"line":79},"11":{"loc":{"start":{"line":79,"column":20},"end":{"line":79,"column":122}},"type":"binary-expr","locations":[{"start":{"line":79,"column":20},"end":{"line":79,"column":105}},{"start":{"line":79,"column":109},"end":{"line":79,"column":122}}],"line":79},"12":{"loc":{"start":{"line":79,"column":26},"end":{"line":79,"column":95}},"type":"cond-expr","locations":[{"start":{"line":79,"column":77},"end":{"line":79,"column":83}},{"start":{"line":79,"column":86},"end":{"line":79,"column":95}}],"line":79},"13":{"loc":{"start":{"line":79,"column":26},"end":{"line":79,"column":74}},"type":"binary-expr","locations":[{"start":{"line":79,"column":26},"end":{"line":79,"column":57}},{"start":{"line":79,"column":61},"end":{"line":79,"column":74}}],"line":79},"14":{"loc":{"start":{"line":81,"column":8},"end":{"line":83,"column":9}},"type":"if","locations":[{"start":{"line":81,"column":8},"end":{"line":83,"column":9}},{"start":{"line":81,"column":8},"end":{"line":83,"column":9}}],"line":81},"15":{"loc":{"start":{"line":81,"column":12},"end":{"line":81,"column":163}},"type":"binary-expr","locations":[{"start":{"line":81,"column":12},"end":{"line":81,"column":36}},{"start":{"line":81,"column":40},"end":{"line":81,"column":163}}],"line":81},"16":{"loc":{"start":{"line":81,"column":51},"end":{"line":81,"column":162}},"type":"cond-expr","locations":[{"start":{"line":81,"column":156},"end":{"line":81,"column":158}},{"start":{"line":81,"column":161},"end":{"line":81,"column":162}}],"line":81},"17":{"loc":{"start":{"line":81,"column":51},"end":{"line":81,"column":153}},"type":"binary-expr","locations":[{"start":{"line":81,"column":51},"end":{"line":81,"column":136}},{"start":{"line":81,"column":140},"end":{"line":81,"column":153}}],"line":81},"18":{"loc":{"start":{"line":81,"column":57},"end":{"line":81,"column":126}},"type":"cond-expr","locations":[{"start":{"line":81,"column":108},"end":{"line":81,"column":114}},{"start":{"line":81,"column":117},"end":{"line":81,"column":126}}],"line":81},"19":{"loc":{"start":{"line":81,"column":57},"end":{"line":81,"column":105}},"type":"binary-expr","locations":[{"start":{"line":81,"column":57},"end":{"line":81,"column":88}},{"start":{"line":81,"column":92},"end":{"line":81,"column":105}}],"line":81},"20":{"loc":{"start":{"line":93,"column":20},"end":{"line":93,"column":131}},"type":"cond-expr","locations":[{"start":{"line":93,"column":125},"end":{"line":93,"column":127}},{"start":{"line":93,"column":130},"end":{"line":93,"column":131}}],"line":93},"21":{"loc":{"start":{"line":93,"column":20},"end":{"line":93,"column":122}},"type":"binary-expr","locations":[{"start":{"line":93,"column":20},"end":{"line":93,"column":105}},{"start":{"line":93,"column":109},"end":{"line":93,"column":122}}],"line":93},"22":{"loc":{"start":{"line":93,"column":26},"end":{"line":93,"column":95}},"type":"cond-expr","locations":[{"start":{"line":93,"column":77},"end":{"line":93,"column":83}},{"start":{"line":93,"column":86},"end":{"line":93,"column":95}}],"line":93},"23":{"loc":{"start":{"line":93,"column":26},"end":{"line":93,"column":74}},"type":"binary-expr","locations":[{"start":{"line":93,"column":26},"end":{"line":93,"column":57}},{"start":{"line":93,"column":61},"end":{"line":93,"column":74}}],"line":93},"24":{"loc":{"start":{"line":95,"column":8},"end":{"line":97,"column":9}},"type":"if","locations":[{"start":{"line":95,"column":8},"end":{"line":97,"column":9}},{"start":{"line":95,"column":8},"end":{"line":97,"column":9}}],"line":95},"25":{"loc":{"start":{"line":95,"column":12},"end":{"line":95,"column":163}},"type":"binary-expr","locations":[{"start":{"line":95,"column":12},"end":{"line":95,"column":36}},{"start":{"line":95,"column":40},"end":{"line":95,"column":163}}],"line":95},"26":{"loc":{"start":{"line":95,"column":51},"end":{"line":95,"column":162}},"type":"cond-expr","locations":[{"start":{"line":95,"column":156},"end":{"line":95,"column":158}},{"start":{"line":95,"column":161},"end":{"line":95,"column":162}}],"line":95},"27":{"loc":{"start":{"line":95,"column":51},"end":{"line":95,"column":153}},"type":"binary-expr","locations":[{"start":{"line":95,"column":51},"end":{"line":95,"column":136}},{"start":{"line":95,"column":140},"end":{"line":95,"column":153}}],"line":95},"28":{"loc":{"start":{"line":95,"column":57},"end":{"line":95,"column":126}},"type":"cond-expr","locations":[{"start":{"line":95,"column":108},"end":{"line":95,"column":114}},{"start":{"line":95,"column":117},"end":{"line":95,"column":126}}],"line":95},"29":{"loc":{"start":{"line":95,"column":57},"end":{"line":95,"column":105}},"type":"binary-expr","locations":[{"start":{"line":95,"column":57},"end":{"line":95,"column":88}},{"start":{"line":95,"column":92},"end":{"line":95,"column":105}}],"line":95},"30":{"loc":{"start":{"line":114,"column":15},"end":{"line":114,"column":71}},"type":"binary-expr","locations":[{"start":{"line":114,"column":15},"end":{"line":114,"column":30}},{"start":{"line":114,"column":34},"end":{"line":114,"column":63}},{"start":{"line":114,"column":67},"end":{"line":114,"column":71}}],"line":114},"31":{"loc":{"start":{"line":131,"column":15},"end":{"line":131,"column":71}},"type":"binary-expr","locations":[{"start":{"line":131,"column":15},"end":{"line":131,"column":30}},{"start":{"line":131,"column":34},"end":{"line":131,"column":63}},{"start":{"line":131,"column":67},"end":{"line":131,"column":71}}],"line":131},"32":{"loc":{"start":{"line":134,"column":8},"end":{"line":136,"column":9}},"type":"if","locations":[{"start":{"line":134,"column":8},"end":{"line":136,"column":9}},{"start":{"line":134,"column":8},"end":{"line":136,"column":9}}],"line":134}},"s":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0,"18":0,"19":0,"20":0,"21":0,"22":0,"23":0,"24":0,"25":0,"26":0,"27":0,"28":0,"29":0,"30":0,"31":0,"32":0,"33":0,"34":0,"35":0,"36":0,"37":0,"38":0,"39":0,"40":0,"41":0,"42":0,"43":0,"44":0,"45":0,"46":0,"47":0,"48":0,"49":0,"50":0,"51":0,"52":0,"53":0,"54":0,"55":0,"56":0,"57":0,"58":0,"59":0,"60":0,"61":0,"62":0,"63":0,"64":0,"65":0,"66":0,"67":0,"68":0,"69":0,"70":0,"71":0,"72":0,"73":0,"74":0},"f":{"0":0,"1":0,"2":0,"3":0,"4":0,"5":0,"6":0,"7":0,"8":0,"9":0,"10":0,"11":0,"12":0,"13":0,"14":0,"15":0,"16":0,"17":0},"b":{"0":[0,0,0],"1":[0,0,0,0],"2":[0,0],"3":[0,0],"4":[0,0,0],"5":[0,0],"6":[0,0],"7":[0,0],"8":[0,0],"9":[0,0,0,0],"10":[0,0],"11":[0,0],"12":[0,0],"13":[0,0],"14":[0,0],"15":[0,0],"16":[0,0],"17":[0,0],"18":[0,0],"19":[0,0],"20":[0,0],"21":[0,0],"22":[0,0],"23":[0,0],"24":[0,0],"25":[0,0],"26":[0,0],"27":[0,0],"28":[0,0],"29":[0,0],"30":[0,0,0],"31":[0,0,0],"32":[0,0]},"inputSourceMap":{"version":3,"file":"sync-event.js","sourceRoot":"","sources":["../../src/lib/sync-event.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright © 2015 Rogier Schouten<github@workingcode.ninja>\n// License: ISC\n\n'use strict';\n\nimport {BaseEvent, Postable} from './base-event';\n\n/**\n * This is a true EventEmitter replacement: the handlers are called synchronously when\n * you post the event.\n * - Allows better error handling by aggregating any errors thrown by handlers.\n * - Prevents livelock by throwing an error when recursion depth is above a maximum.\n * - Handlers are called only for events posted after they were attached.\n * - Handlers are not called anymore when they are detached, even if a post() is in progress\n */\nexport class SyncEvent<T> extends BaseEvent<T> implements Postable<T> {\n /**\n * Sent when someone attaches or detaches\n */\n public get evtListenersChanged(): VoidSyncEvent {\n if (!this._listenersChanged) {\n // need to delay-load to avoid stack overflow in constructor\n this._listenersChanged = new VoidSyncEvent();\n }\n return this._listenersChanged;\n }\n\n /**\n * Event for listening to listener count\n */\n private _listenersChanged?: VoidSyncEvent;\n\n /**\n * Maximum number of times that an event handler may cause the same event\n * recursively.\n */\n public static MAX_RECURSION_DEPTH?: number | null = 10;\n\n /**\n * Recursive post() invocations\n */\n private _recursion: number = 0;\n\n /**\n * Send the event. Handlers are called immediately and synchronously.\n * If an error is thrown by a handler, the remaining handlers are still called.\n * Afterward, an AggregateError is thrown with the original error(s) in its 'causes' property.\n */\n public post(data: T): void;\n public post(...args: any[]): void {\n if (!this._listeners || this._listeners.length === 0) {\n return;\n }\n this._recursion++;\n if (\n typeof SyncEvent.MAX_RECURSION_DEPTH === 'number'\n && Number.isInteger(SyncEvent.MAX_RECURSION_DEPTH)\n && SyncEvent.MAX_RECURSION_DEPTH > 0\n && this._recursion > SyncEvent.MAX_RECURSION_DEPTH\n ) {\n throw new Error('event fired recursively');\n }\n // copy a reference to the array because this._listeners might be replaced during\n // the handler calls\n const listeners = this._listeners;\n for (let i = 0; i < listeners.length; ++i) {\n const listener = listeners[i];\n this._call(listener, args);\n }\n this._recursion--;\n }\n\n /** @inheritdoc */\n protected _attach(a: ((data: T) => void) | Object | Postable<T>, b: ((data: T) => void) | undefined, once: boolean): () => void {\n const count = this._listeners?.length ?? 0;\n const result = super._attach(a, b, once);\n if (this.evtListenersChanged && count !== (this._listeners?.length ?? 0)) {\n this.evtListenersChanged.post();\n }\n return result;\n }\n\n /** @inheritdoc */\n protected _detach(...args: any[]): void {\n const count = this._listeners?.length ?? 0;\n const result = super._detach(...args);\n if (this.evtListenersChanged && count !== (this._listeners?.length ?? 0)) {\n this.evtListenersChanged.post();\n }\n return result;\n }\n}\n\n/**\n * Convenience class for events without data\n */\nexport class VoidSyncEvent extends SyncEvent<void> {\n\n /**\n * Send the event.\n */\n public post(): void {\n super.post(undefined);\n }\n}\n\n/**\n * Similar to 'error' event on EventEmitter: throws when a post() occurs while no handlers set.\n */\nexport class ErrorSyncEvent extends SyncEvent<Error> {\n\n public post(data: Error): void {\n if (this.listenerCount() === 0) {\n throw new Error(`error event posted while no listeners attached. Error: ${data.message}`);\n }\n super.post(data);\n }\n}\n"]},"all":true}}