import { Evt, Ctx } from "../lib/index"; type T = string; let evt = new Evt(); //evt.enableTrace("evt"); let evtProxy = new Evt(); //evtProxy.enableTrace("evtProxy"); { const map = new Map(); evt.attach(data => { if (!map.has(data)) { map.set(data, Evt.newCtx()); } if (!evtProxy.getEvtAttach().postCount) { evtProxy.getEvtAttach().attachOnce(map.get(data)!, () => evtProxy.post(data)); } else { evtProxy.post(data); } }); } for (let char of ["a", "b", "c", "d", "e"]) evt.post(char); let alphabet = ""; evtProxy.attach(data => { alphabet += data; }); for (let char of ["f", "g", "h"]) evt.post(char); //cSpell: disable console.assert(alphabet === "abcdefgh"); //cSpell: enable console.log("PASS".green);