{"version":3,"sources":["Query.ts","QueryCollection.ts","QueryElement.ts","QueryEvent.ts","QueryJSON.ts","QueryRequest.ts","QueryTs.ts"],"names":[],"mappings":";AAAA,IAAI,YAAY,GAA+B,EAAE,CAAC;AAElD,MAAM,KAAK;IAIP,YAAY,QAAgB,EAAE,OAA2B,QAAQ;QAC7D,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;QAClB,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC;IAC9B,CAAC;IAED,KAAK,CAA0B,IAAwB;QACnD,IAAI,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAEnD,IAAG,GAAG,KAAK,IAAI;YACX,OAAO,IAAI,CAAC;QAEhB,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;IAC/B,CAAC;IACD,GAAG,CAAmC,IAA0B;QAC5D,IAAI,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAEvD,IAAI,QAAQ,GAAG,EAAE,CAAC;QAClB,KAAI,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACjC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,GAAG,CAAI,IAAI,CAAC,CAAC,CAAC,CAAM,CAAC,CAAC,CAAC;SAC1D;QACD,OAAO,QAAQ,CAAC;IACpB,CAAC;IACD,IAAI,CAA0B,IAAwB;QAClD,IAAI,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAEtD,IAAG,GAAG,CAAC,MAAM,KAAK,CAAC;YACf,OAAO,IAAI,CAAC;QAEhB,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,GAAE,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;IAC9C,CAAC;IACD,MAAM,CAAoD,CAA+B;QACrF,IAAI,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACnD,OAAO,GAAG,IAAI,CAAC,CAAC,GAAe,CAAC,CAAC;IACrC,CAAC;IACD,SAAS,CAAoD,CAA+B;QACxF,IAAI,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAEvD,IAAI,QAAQ,GAAG,EAAE,CAAC;QAClB,KAAI,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACjC,IAAI,OAAO,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAa,CAAC,CAAC;YACrC,OAAO,IAAI,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;SACrC;QAED,OAAO,QAAQ,CAAC;IACpB,CAAC;IAEO,GAAG,CAA0B,GAAY,EAAE,IAAwB;QACvE,IAAG,IAAI,KAAK,SAAS;YACjB,OAAO,YAAY,CAAC,GAAG,CAAC,GAAG,CAAM,CAAC;QAEtC,IAAI,CAAC,YAAY,CAAC,GAAG,CAAI,GAAG,CAAM,CAAC,CAAC;QACpC,OAAO,IAAI,CAAC;IAChB,CAAC;CACJ;AC3DD,MAAM,eAAe;IAIjB,MAAM,CAAC,GAAG,CAAC,IAAmB;QAC1B,IAAI,KAAK,GAAG,CAAC,eAAe,CAAC,KAAK,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC;QACjD,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC;QACnC,OAAO,KAAK,CAAC;IACjB,CAAC;IACD,MAAM,CAAC,GAAG,CAA0B,KAAa;QAC7C,OAAU,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC1C,CAAC;IACD,MAAM,CAAC,MAAM,CAAC,KAAoB;QAC9B,IAAG,KAAK,KAAK,IAAI;YACb,OAAO;QAEX,OAAO,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACvC,CAAC;;AAhBM,oBAAI,GAAQ,EAAE,CAAC;AACf,qBAAK,GAAW,CAAC,CAAC;ACgD7B,MAAM,YAAY;IAMd,YAAY,GAAM,EAAE,gBAAgB,GAAG,IAAI;QAFnC,YAAO,GAA+C,EAAE,CAAC;QAG7D,IAAI,CAAC,IAAI,GAAG,GAAQ,CAAC;QAErB,0EAA0E;QAC1E,IAAG,gBAAgB,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,eAAe,CAAC;YACrD,IAAI,CAAC,OAAO,CAAC,eAAe,EAAE,eAAe,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAA;IAChE,CAAC;IAED,MAAM,CAAC,YAAY,CAAC,IAAY;QAC3B,OAAO,IAAI,YAAY,CAAC,QAAQ,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,KAAK,CAAC,CAAC;IAClE,CAAC;IAED,MAAM,CAAC,GAAG,CAA0B,IAAa;QAC7C,IAAI,QAAQ,GAAG,IAAI,CAAC,YAAY,CAAC,eAAe,CAAC,CAAC;QAClD,IAAG,QAAQ,KAAK,IAAI,EAAE;YAClB,aAAa;YACb,OAAO,IAAI,YAAY,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;SACxC;QAED,OAAO,eAAe,CAAC,GAAG,CAAI,QAAQ,CAAC,CAAC;IAC5C,CAAC;IAED,GAAG;QACC,OAAO,IAAI,CAAC,IAAI,CAAC;IACrB,CAAC;IACD,WAAW;QACP,OAAO,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;IACzC,CAAC;IACD,MAAM;QACF,IAAG,IAAI,CAAC,IAAI,YAAY,gBAAgB;eAChC,IAAI,CAAC,IAAI,YAAY,mBAAmB;YAC5C,OAAO,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC;QAE3B,OAAO,SAAS,CAAC;IACrB,CAAC;IACD,MAAM,CAAC,GAAkB;QACrB,IAAI,KAAK,GAAG,GAAG,IAAI,EAAE,CAAC;QACtB,IAAG,IAAI,CAAC,IAAI,YAAY,gBAAgB,EAAG;YACvC,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;YAC7B,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;SAC3B;aAAM,IAAI,IAAI,CAAC,IAAI,YAAY,mBAAmB,EAAE;YACjD,IAAI,CAAC,IAAI,CAAC,SAAS,GAAG,KAAK,CAAC;YAC5B,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;SAC3B;QAED,OAAO,IAAI,CAAC;IAChB,CAAC;IAGD,oBAAoB;IACpB,OAAO,CAAC,GAAkB;QACtB,IAAI,QAAQ,GAAG,GAAG,CAAC,GAAG,EAAE,CAAC;QAEzB,IAAI,CAAC,IAAI;YACL,QAAQ;YACR,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAE3D,OAAO,IAAI,CAAC;IAChB,CAAC;IACD,OAAO,CAAC,MAAqB,EAAE,MAAqB;QAChD,IAAI,WAAW,GAAG,MAAM,CAAC,GAAG,EAAE,CAAC;QAC/B,IAAI,WAAW,GAAG,MAAM,CAAC,GAAG,EAAE,CAAC;QAE/B,WAAW;eACJ,WAAW;eACX,IAAI,CAAC,IAAI;eACT,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;QAExD,OAAO,IAAI,CAAC;IAChB,CAAC;IACD,MAAM,CAAC,GAAkB;QACrB,IAAI,QAAQ,GAAG,GAAG,CAAC,GAAG,EAAE,CAAC;QAEzB,IAAI,CAAC,IAAI;YACL,QAAQ;YACR,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;QAEpC,OAAO,IAAI,CAAC;IAChB,CAAC;IACD,YAAY,CAAC,GAAkB,EAAE,SAAwB;QACrD,IAAI,QAAQ,GAAG,GAAG,CAAC,GAAG,EAAE,CAAC;QAEzB,IAAI,CAAC,IAAI;YACL,QAAQ;YACR,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,QAAQ,EAAE,SAAS,CAAC,GAAG,EAAE,CAAC,CAAC;QAEtD,OAAO,IAAI,CAAC;IAChB,CAAC;IACD,QAAQ,CAAC,GAAkB;QACvB,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACjB,OAAO,IAAI,CAAC;IAChB,CAAC;IACD,SAAS,CAAC,GAAkB;QACxB,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAClB,OAAO,IAAI,CAAC;IAChB,CAAC;IACD,KAAK,CAAC,MAAM,CAAC,WAAW,GAAG,IAAI;QAC3B,IAAG,IAAI,CAAC,IAAI,KAAK,IAAI;YACjB,OAAO;QAEX,4BAA4B;QAC5B,IAAG,WAAW;YACV,MAAM,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC;iBAC1C,GAAG,CAA2C,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAE9E,6BAA6B;QAC7B,IAAI,QAAQ,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;QAClC,IAAG,QAAQ,KAAK,IAAI;YAChB,eAAe,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QAErC,gBAAgB;QAChB,KAAI,IAAI,CAAC,IAAI,IAAI,CAAC,OAAO,EAAE;YACvB,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;SACrB;QAED,2BAA2B;QAC3B,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;QAEnB,gBAAgB;QAChB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC;IACtB,CAAC;IACD,SAAS;QACL,OAAO,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC;IAC9B,CAAC;IAED,SAAS;IACT,EAAE,CAAuB,GAAW,EAAE,IAAwB;QAC1D,IAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,SAAS;YAC9B,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC;QAE3B,oEAAoE;QACpE,IAAG,IAAI,CAAC,IAAI,KAAK,IAAI;YACjB,IAAI,CAAC,IAAI,CAAC,gBAAgB,CACtB,GAAG,EACiB,IAAI,EACxB,KAAK,CAAC,gCAAgC;aACzC,CAAC;QAEN,mBAAmB;QACnB,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,IAAI,CAAqB,IAAI,CAAC,CAAC;QAEjD,OAAO,IAAI,CAAC;IAChB,CAAC;IACD,OAAO,CAAC,KAAa,EAAE,MAAe,EAAE,IAAU;QAC9C,OAAO,CAAC,GAAG,CAAC,UAAU,IAAI,CAAC,WAAW,CAAC,IAAI,KAAK,KAAK,YAAY,IAAI,EAAE,CAAC,CAAC;QACzE,IAAG,IAAI,CAAC,IAAI,KAAK,IAAI;YACjB,OAAO,IAAI,CAAC;QAEhB,QAAQ,KAAK,EAAE;YACX;gBACI,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,WAAW,CAAC,KAAK,EAAE,EAAC,MAAM,EAAE,IAAI,EAAC,OAAO,EAAC,MAAM,EAAC,CAAC,CAAC,CAAC;gBAC/E,MAAM;YACV,KAAK,OAAO;gBACR,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,UAAU,CAAC,KAAK,EAAE,EAAC,OAAO,EAAE,MAAM,EAAC,CAAC,CAAC,CAAC;gBAClE,MAAM;SACb;QACD,OAAO,IAAI,CAAC;IAChB,CAAC;IACD,GAAG,CAAuB,GAAW,EAAE,IAAiC;QACpE,IAAG,IAAI,CAAC,IAAI,KAAK,IAAI;YACjB,OAAO,IAAI,CAAC;QAEhB,IAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,SAAS;YAC9B,OAAO,IAAI,CAAC;QAEhB,IAAG,IAAI,KAAK,IAAI,EAAE;YACd,mDAAmD;YACnD,KAAI,IAAI,KAAK,IAAI,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;gBAChC,IAAI,CAAC,IAAI,CAAC,mBAAmB,CACzB,GAAG,EACH,KAAK,EACL,KAAK,CAAC,iBAAiB;iBAC1B,CAAC;aACL;YAED,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;SAC5B;aAAM;YACH,8BAA8B;YAC9B,IAAI,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,OAAO,CAAqB,IAAI,CAAC,CAAC;YAChE,IAAI,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;YAClD,IAAI,CAAC,IAAI,CAAC,mBAAmB,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;SAC1D;IACL,CAAC;IACD,OAAO,CAAC,IAAY;QAChB,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,CAAC;QAC1C,OAAO,IAAI,CAAC;IAChB,CAAC;IACD,OAAO;QACH,OAAO,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC;IAC5C,CAAC;IACD,OAAO,CAAC,IAAY;QAChB,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACpE,OAAO,IAAI,CAAC;IAChB,CAAC;IACD,YAAY;QACR,OAAO,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC;IAC5C,CAAC;IACD,SAAS;QACL,IAAI,IAAI,CAAC,IAAI,KAAK,IAAI,IAAI,IAAI,CAAC,IAAI,YAAY,WAAW;YACtD,OAAO,IAAI,CAAC,IAAI,CAAC,YAAY,KAAK,IAAI,CAAC;QAE3C,OAAO,KAAK,CAAC;IACjB,CAAC;IACD,oBAAoB;IACpB,OAAO,CAAC,IAAY,EAAE,OAAe;QACjC,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QACnD,OAAO,IAAI,CAAC;IAChB,CAAC;IACD,OAAO,CAAC,IAAY;QAChB,OAAO,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;IACrD,CAAC;IAID,sBAAsB;IACtB,QAAQ,CAAC,SAAiB;QACtB,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QAChD,OAAO,IAAI,CAAC;IAChB,CAAC;IACD,aAAa,CAAC,SAAiB;QAC3B,OAAO,IAAI,CAAC,IAAI;eACT,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC;eACvC,KAAK,CAAC;IACjB,CAAC;IACD,WAAW,CAAC,SAAiB;QACzB,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QACnD,OAAO,IAAI,CAAC;IAChB,CAAC;IACD,WAAW,CAAC,SAAiB;QACzB,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QACnD,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,KAAK;QACD,IAAG,IAAI,CAAC,IAAI,YAAY,WAAW;YAC/B,OAAO,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC;QAE3B,OAAO,SAAS,CAAC;IACrB,CAAC;IAED,gBAAgB;IAChB,KAAK,CAAC,QAAgB;QAClB,OAAO,IAAI,KAAK,CAAC,QAAQ,EAAE,IAAI,CAAC,IAAI,IAAI,SAAS,CAAC,CAAC;IACvD,CAAC;IACD,MAAM;QACF,IAAI,MAAM,GAAG,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC;QAClD,IAAG,MAAM,KAAK,IAAI;YACd,OAAO,IAAI,CAAC;QAEhB,OAAO,YAAY,CAAC,GAAG,CAAI,MAAM,CAAC,CAAC;IACvC,CAAC;IACD,QAAQ;QACJ,IAAG,IAAI,CAAC,IAAI,KAAK,IAAI;YACjB,OAAO,EAAE,CAAC;QAEd,IAAI,MAAM,GAAG,EAAE,CAAC;QAChB,KAAK,IAAI,KAAK,IAAI,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;YAClC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,GAAG,CAAI,KAAK,CAAC,CAAC,CAAC;SAC3C;QACD,OAAO,MAAM,CAAC;IAClB,CAAC;IACD,IAAI;QACA,IAAG,IAAI,CAAC,IAAI,KAAK,IAAI;YACjB,OAAO,IAAI,CAAC;QAEhB,IAAI,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,kBAAkB,CAAC;QACxC,IAAG,IAAI,KAAK,IAAI;YACZ,OAAO,IAAI,CAAC;QAEhB,OAAO,YAAY,CAAC,GAAG,CAAI,IAAI,CAAC,CAAC;IACrC,CAAC;IACD,IAAI;QACA,IAAG,IAAI,CAAC,IAAI,KAAK,IAAI;YACjB,OAAO,IAAI,CAAC;QAEhB,IAAI,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,sBAAsB,CAAC;QAC5C,IAAG,IAAI,KAAK,IAAI;YACZ,OAAO,IAAI,CAAC;QAEhB,OAAO,YAAY,CAAC,GAAG,CAAI,IAAI,CAAC,CAAC;IACrC,CAAC;IACD,SAAS,CAA0B,IAAiC;QAChE,IAAG,IAAI,CAAC,IAAI,KAAK,IAAI;YACjB,OAAO,IAAI,CAAC;QAEhB,IAAI,CAAI,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,aAAa,EAAE,IAAI,CAAC,CAAC;QAC/C,OAAO,IAAI,CAAC;IAChB,CAAC;IACD,OAAO,CAA0B,IAAiC;QAC9D,IAAG,IAAI,CAAC,IAAI,KAAK,IAAI;YACjB,OAAO,IAAI,CAAC;QAEhB,IAAI,CAAI,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,kBAAkB,EAAE,IAAI,CAAC,CAAC;QACpD,OAAO,IAAI,CAAC;IAChB,CAAC;IACD,OAAO,CAA0B,IAAiC;QAC9D,IAAG,IAAI,CAAC,IAAI,KAAK,IAAI;YACjB,OAAO,IAAI,CAAC;QAEhB,IAAI,CAAI,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,sBAAsB,EAAE,IAAI,CAAC,CAAC;QACxD,OAAO,IAAI,CAAC;IAChB,CAAC;IACD,UAAU;QACN,IAAG,IAAI,CAAC,IAAI,KAAK,IAAI;YACjB,OAAO,IAAI,CAAC;QAEhB,IAAG,IAAI,CAAC,IAAI,CAAC,iBAAiB,KAAK,IAAI;YACnC,OAAO,IAAI,CAAC;QAEhB,OAAO,YAAY,CAAC,GAAG,CAAI,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;IAC5D,CAAC;IACD,SAAS;QACL,IAAG,IAAI,CAAC,IAAI,KAAK,IAAI;YACjB,OAAO,IAAI,CAAC;QAEhB,IAAG,IAAI,CAAC,IAAI,CAAC,gBAAgB,KAAK,IAAI;YAClC,OAAO,IAAI,CAAC;QAEhB,OAAO,YAAY,CAAC,GAAG,CAAI,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;IAC3D,CAAC;IACD,KAAK;QACD,IAAG,IAAI,CAAC,IAAI,KAAK,IAAI;YACjB,OAAO,IAAI,CAAC;QAEhB,KAAI,IAAI,KAAK,IAAI,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;YACjC,YAAY,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,MAAM,EAAE,CAAC;SACpC;QACD,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,cAAc;IACd,KAAK;QACD,IAAG,IAAI,CAAC,IAAI,YAAY,WAAW;YAC/B,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC;QAEtB,OAAO,IAAI,CAAC;IAChB,CAAC;IACD,MAAM;QACF,IAAG,IAAI,CAAC,IAAI,YAAY,gBAAgB,IAAI,IAAI,CAAC,IAAI,YAAY,mBAAmB,EAAE;YAClF,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;SACtB;QACD,OAAO,IAAI,CAAC;IAChB,CAAC;IACD,QAAQ;QACJ,IAAG,IAAI,CAAC,IAAI,KAAK,IAAI;YACjB,OAAO,IAAI,CAAC;QAEhB,OAAO,IAAI,CAAC,IAAI,CAAC,qBAAqB,EAAE,CAAC;IAC7C,CAAC;CACJ;AAED,SAAS,IAAI,CAA0B,GAAY,EACnC,QAA2C,EAC3C,IAAiC;IAC7C,IAAI,IAAoB,CAAC;IACzB,OAAM,CAAC,IAAI,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,KAAK,IAAI,EAAE;QACnC,IAAI,CAAC,GAAG,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC;QAErC,IAAG,CAAC,KAAK,KAAK;YACV,OAAO;QAEX,GAAG,GAAG,IAAI,CAAC;KACd;AACL,CAAC;ACpaD,MAAM,iBAAiB;IAInB,YAAY,KAAQ,EAAE,KAAY;QAE9B,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACvB,CAAC;CACJ;AAUD,MAAM,UAAU;IAAhB;QAGY,aAAQ,GAA2B,EAAE,CAAC;IAwBlD,CAAC;IAtBU,EAAE,CAAC,OAA4B;QAClC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC5B,OAAO,OAAO,CAAC;IACnB,CAAC;IAEM,GAAG,CAAC,OAA4B;QACnC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,OAAO,CAAC,CAAC;QACzD,OAAO,OAAO,CAAC;IACnB,CAAC;IAEM,OAAO,CAAC,IAAO;QAClB,KAAI,IAAI,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE;YACjC,CAAC,CAAC,IAAI,CAAC,CAAC;SACX;IACL,CAAC;IAEM,aAAa;QAChB,OAAO,IAAI,CAAC;IAChB,CAAC;IACM,MAAM;QACT,OAAO,IAAI,CAAC;IAChB,CAAC;CACJ;AAUD,MAAM,eAAe;IAArB;QAGY,aAAQ,GAAoC,EAAE,CAAC;IAwB3D,CAAC;IAtBU,EAAE,CAAC,OAAqC;QAC3C,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC5B,OAAO,OAAO,CAAC;IACnB,CAAC;IAEM,GAAG,CAAC,OAAqC;QAC5C,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,OAAO,CAAC,CAAC;QACzD,OAAO,OAAO,CAAC;IACnB,CAAC;IAEM,KAAK,CAAC,OAAO,CAAC,IAAO;QACxB,KAAI,IAAI,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE;YACjC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC;SACjB;IACL,CAAC;IAEM,aAAa;QAChB,OAAO,IAAI,CAAC;IAChB,CAAC;IACM,MAAM;QACT,OAAO,IAAI,CAAC;IAChB,CAAC;CACJ;ACnFD,MAAM,SAAS;IACX,MAAM,CAAC,eAAe,CAAI,CAAe,EAAE,IAAY;QACnD,IAAI;YACA,IAAI,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAC3B,OAAO,SAAS,CAAC,IAAI,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;SACjC;QAAC,OAAM,CAAC,EAAE;SAEV;QAED,OAAO,IAAI,CAAC;IAChB,CAAC;IACD,MAAM,CAAC,WAAW,CAAI,IAAY;QAC9B,IAAI,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC3B,OAAU,GAAG,CAAC;IAClB,CAAC;IACD,MAAM,CAAC,SAAS,CAAC,GAAQ;QACrB,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;IAC/B,CAAC;IAED,MAAM,CAAC,IAAI,CAAI,CAAe,EAAE,GAAQ;QACpC,IAAI,EAAE,GAAG,IAAI,CAAC,EAAE,CAAC;QAEjB,GAAG,CAAC,SAAS,GAAG,EAAE,CAAC;QACnB,OAAU,GAAG,CAAC;IAClB,CAAC;IAED,MAAM,CAAC,WAAW,CAAC,MAAc;QAC7B,OAAO,MAAM,CAAC,OAAO,CAAC,mBAAmB,EAAE,UAAU,KAAa,EAAE,OAAe;YAC/E,IAAI,OAAO,CAAC,MAAM,IAAI,CAAC;gBACnB,OAAO,KAAK,CAAC,WAAW,EAAE,CAAC;YAE/B,OAAO,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,WAAW,EAAE,GAAG,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;QACxG,CAAC,CAAC,CAAA;IACN,CAAC;CACJ;ACxBD,MAAM,YAAY;IAKd,YAAY,GAAW,EAAE,OAA8B;QACnD,IAAI,CAAC,IAAI,GAAG,GAAG,CAAC;QAChB,IAAI,CAAC,QAAQ,GAAG,OAAO,IAA0B,EAAE,CAAC;IACxD,CAAC;IACD,KAAK,CAAC,OAAO;QACT,IAAI,OAAO,GAAG,IAAI,OAAO,EAAE,CAAC;QAC5B,IAAI,WAAW,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC;QACxC,IAAG,WAAW;YACV,OAAO,CAAC,MAAM,CAAC,cAAc,EAAE,WAAW,CAAC,CAAC;QAEhD,IAAI,OAAO,GAAgB;YACvB,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI;YACxB,WAAW,EAAE,aAAa;YAC1B,OAAO,EAAE,OAAO;YAChB,MAAM,EAAE,IAAI,CAAC,gBAAgB,EAAE;SAClC,CAAC;QAEF,IAAI,IAAI,CAAC,QAAQ,CAAC,QAAQ,IAAI,IAAI,EAAE;YAChC,OAAO,CAAC,KAAK,GAAG,UAAU,CAAA;SAC7B;QAED,OAAO,MAAM,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IAC3C,CAAC;IAED,MAAM,CAAC,YAAY,CAAC,IAAU;QAC1B,OAAO,IAAI,OAAO,CAAS,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YAC3C,IAAI,MAAM,GAAG,IAAI,UAAU,EAAE,CAAC;YAC9B,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;YAC3B,MAAM,CAAC,SAAS,GAAG,GAAG,EAAE;gBACpB,OAAO,CAAC,MAAM,CAAC,MAAgB,CAAC,CAAC;YACrC,CAAC,CAAA;YACD,MAAM,CAAC,OAAO,GAAG,GAAG,EAAE;gBAClB,MAAM,EAAE,CAAC;YACb,CAAC,CAAA;QACL,CAAC,CAAC,CAAC;IAEP,CAAC;IAEO,gBAAgB;QACpB,IAAI,MAA2B,CAAC;QAEhC,IAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,KAAK,SAAS,EAAE;YACnC,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC;SACjC;aAAM;YACH,QAAO,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE;gBAC9B;oBACI,MAAM,GAAG,KAAK,CAAC;oBACf,MAAM;gBACV,KAAK,MAAM;oBACP,MAAM,GAAG,MAAM,CAAC;oBAChB,MAAM;gBACV,KAAK,MAAM;oBACP,MAAM,GAAG,KAAK,CAAC;oBACf,MAAM;gBACV,KAAK,MAAM;oBACP,MAAM,GAAG,MAAM,CAAC;oBAChB,MAAM;aACb;SACJ;QAED,OAAO,MAAM,CAAC;IAClB,CAAC;IAEO,cAAc;QAClB,IAAI,IAAY,CAAC;QAEjB,QAAO,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE;YAC9B,KAAK,OAAO;gBACR,OAAO,YAAY,CAAC;YACxB,KAAK,MAAM;gBACP,OAAO,iCAAiC,CAAC;YAC7C,KAAK,MAAM;gBACP,OAAO,mCAAmC,CAAC;SAClD;IACL,CAAC;CACJ;ACjFD,SAAS,QAAQ,CACT,QAA4C,EAC5C,IAAY;IAEhB,IAAI,KAAa,CAAC;IAElB,OAAO,CAAC,GAAG,IAAO,EAAc,EAAE;QAC9B,YAAY,CAAC,KAAK,CAAC,CAAC;QACpB,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;YAC3B,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;QAC/D,CAAC,CAAC,CAAC;IACP,CAAC,CAAC;AACN,CAAC;AACD,SAAS,QAAQ,CACb,QAA4C,EAC5C,IAAY;IAEZ,IAAI,GAAG,GAAY,IAAI,CAAC;IACxB,IAAI,KAAa,CAAC;IAElB,OAAO,CAAC,GAAG,IAAO,EAAc,EAAE;QAC9B,YAAY,CAAC,KAAK,CAAC,CAAC;QAEpB,IAAI,GAAG,IAAI,IAAI,EAAE;YACb,GAAG,GAAG,KAAK,CAAC;YACZ,UAAU,CAAC,GAAG,EAAE,CAAC,GAAG,GAAG,IAAI,EAAE,IAAI,CAAC,CAAC;YACnC,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;SAC/D;QAED,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;YAC3B,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;QAC/D,CAAC,CAAC,CAAC;IACP,CAAC,CAAC;AACN,CAAC;AAED,cAAc,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;AAC7E,QAAQ,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;AACvE,SAAS,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC","file":"../QueryTs.js","sourcesContent":["var TRANSLATIONS : { [name: string]: string }= {};\n\nclass Query {\n private _selector: string;\n private _base: Element | Document;\n \n constructor(selector: string, base: Element | Document = document) {\n this._base = base;\n this._selector = selector;\n }\n \n first(func?: (arg1: T) => void): T | null {\n let obj = this._base.querySelector(this._selector);\n \n if(obj === null)\n return null;\n \n return this.get(obj, func);\n }\n all(func: (arg1: T) => TResult) {\n let objs = this._base.querySelectorAll(this._selector);\n\n let toReturn = [];\n for(let x = 0; x < objs.length; x++) {\n toReturn.push(func(QueryElement.get(objs[x]) as T));\n }\n return toReturn;\n }\n last(func?: (arg1: T) => void): T | null {\n let obj = this._base.querySelectorAll(this._selector);\n\n if(obj.length === 0)\n return null;\n \n return this.get(obj[obj.length -1], func);\n }\n create(c: (arg1: TElement) => T | null) {\n let obj = this._base.querySelector(this._selector);\n return obj && c(obj as TElement);\n }\n createAll(c: (arg1: TElement) => T | null) {\n let objs = this._base.querySelectorAll(this._selector);\n\n let toReturn = [];\n for(let x = 0; x < objs.length; x++) {\n let element = c(objs[x] as TElement);\n element && toReturn.push(element);\n }\n\n return toReturn;\n }\n\n private get(obj: Element, func?: (arg1: T) => void) {\n if(func === undefined)\n return QueryElement.get(obj) as T;\n \n func(QueryElement.get(obj) as T);\n return null;\n }\n}","class QueryCollection {\n static test: any = {};\n static index: number = 0;\n\n static add(elem: IQueryElement) {\n var index = (QueryCollection.index++).toString();\n QueryCollection.test[index] = elem;\n return index;\n }\n static get(index: string) {\n return QueryCollection.test[index];\n }\n static delete(index: string | null) {\n if(index === null)\n return;\n \n delete QueryCollection.test[index];\n }\n}\n","interface IQueryElement {\n get(): Element | null;\n getInstance(): string | null;\n\n on(val: string, func: (e: TEvent) => any): (e: TEvent) => any;\n trigger(val: string, bubble: boolean): this;\n off(val: string, func: ((e: TEvent) => any) | null): void;\n\n setHtml(html: string): this;\n getHtml(): string | null;\n setText(text: string): this;\n getOuterHtml(): string | null;\n\n getAttr(attr: string): string | null;\n setAttr(attr: string, content: string): this;\n getVal(): string | undefined;\n setVal(val: string | null) : void;\n prepend(obj: IQueryElement): this;\n append(obj: IQueryElement): this;\n insertBefore(obj: IQueryElement, objBefore: IQueryElement): this;\n replace(objOld: IQueryElement, objNew: IQueryElement): this;\n appendTo(obj: IQueryElement): this;\n prependTo(obj: IQueryElement): this;\n remove(): void;\n isRemoved(): boolean;\n\n addClass(className: string): this;\n containsClass(className: string): boolean;\n removeClass(className: string): this;\n toggleClass(className: string): this;\n style(): CSSStyleDeclaration | undefined;\n isVisible(): boolean;\n\n query(selector: string): Query;\n parent(): T | null;\n children(): T[];\n next() : T | null;\n prev(): T | null;\n nextAll(func: (item: T) => boolean | void): this;\n prevAll(func: (item: T) => boolean | void): this;\n parentAll(func: (item: T) => boolean | void): this;\n firstChild(): T | null;\n lastChild(): T | null;\n clear(): this;\n\n focus(): this;\n select(): this;\n position(): ClientRect | null;\n}\n\nclass QueryElement\n implements IQueryElement {\n \n private _obj: T | null;\n private _events: { [event: string]: ((e: Event) => any)[] } = {};\n\n constructor(obj: T, registerInstance = true) {\n this._obj = obj as T;\n\n // Register only if registerInstance is true, and isn't already registered\n if(registerInstance && !obj.getAttribute(\"data-instance\"))\n this.setAttr(\"data-instance\", QueryCollection.add(this))\n }\n \n static QueryElement(elem: string) {\n return new QueryElement(document.createElement(elem), false);\n }\n\n static get(elem: Element): T {\n let instance = elem.getAttribute(\"data-instance\");\n if(instance === null) {\n // @ts-ignore\n return new QueryElement(elem, false);\n }\n\n return QueryCollection.get(instance);\n }\n\n get() {\n return this._obj;\n }\n getInstance() {\n return this.getAttr(\"data-instance\");\n }\n getVal() {\n if(this._obj instanceof HTMLInputElement\n || this._obj instanceof HTMLTextAreaElement)\n return this._obj.value;\n \n return undefined;\n }\n setVal(val: string | null) {\n let value = val || \"\";\n if(this._obj instanceof HTMLInputElement ) {\n this.setAttr(\"value\", value);\n this._obj.value = value;\n } else if (this._obj instanceof HTMLTextAreaElement) {\n this._obj.innerHTML = value;\n this._obj.value = value;\n }\n \n return this;\n }\n\n\n // DOM Manipulations\n prepend(obj: IQueryElement) {\n let toInsert = obj.get();\n\n this._obj && \n toInsert && \n this._obj.insertBefore(toInsert, this._obj.firstChild);\n \n return this;\n }\n replace(objOld: IQueryElement, objNew: IQueryElement) {\n let currElement = objOld.get();\n let replaceWith = objNew.get();\n\n replaceWith \n && currElement \n && this._obj \n && this._obj.replaceChild(replaceWith, currElement);\n\n return this;\n }\n append(obj: IQueryElement) {\n let toInsert = obj.get();\n\n this._obj && \n toInsert && \n this._obj.appendChild(toInsert);\n \n return this;\n }\n insertBefore(obj: IQueryElement, objBefore: IQueryElement) {\n let toInsert = obj.get();\n\n this._obj && \n toInsert && \n this._obj.insertBefore(toInsert, objBefore.get());\n \n return this;\n }\n appendTo(obj: IQueryElement) {\n obj.append(this);\n return this;\n }\n prependTo(obj: IQueryElement) {\n obj.prepend(this);\n return this;\n }\n async remove(removeInner = true) {\n if(this._obj === null)\n return;\n\n // Remove all data instances\n if(removeInner)\n await Promise.all(this.query(\"[data-instance]\")\n .all, Promise>(a => a.remove(false)));\n \n // And ofcourse this instance\n let instance = this.getInstance();\n if(instance !== null)\n QueryCollection.delete(instance);\n \n // Remove events\n for(let x in this._events) {\n this.off(x, null);\n }\n\n // Remove obj from DOM tree\n this._obj.remove();\n\n // Delete it all\n this._obj = null;\n this._events = {};\n }\n isRemoved() {\n return this._obj === null;\n }\n\n // Events\n on(val: string, func: (e: TEvent) => any) {\n if(this._events[val] === undefined)\n this._events[val] = [];\n\n // TODO: Bug in TS 2.6.1 <(ev: Event) => any> should be removed here\n if(this._obj !== null)\n this._obj.addEventListener(\n val, \n <(ev: Event) => any>func, \n false //{passive: true}{passive: true}\n );\n\n // Keep track of it\n this._events[val].push(<(ev: Event) => any>func);\n\n return func;\n }\n trigger(event: string, bubble: boolean, data?: any) {\n console.log(`Event: ${this.constructor.name}: ${event} - data: ${data}`);\n if(this._obj === null)\n return this;\n \n switch (event) {\n default:\n this._obj.dispatchEvent(new CustomEvent(event, {detail: data,bubbles:bubble}));\n break;\n case \"click\":\n this._obj.dispatchEvent(new MouseEvent(event, {bubbles: bubble}));\n break;\n }\n return this;\n }\n off(val: string, func: ((e: TEvent) => any) | null) {\n if(this._obj === null)\n return this;\n \n if(this._events[val] === undefined)\n return this;\n \n if(func === null) {\n // if func === null, remove all events of this type\n for(let event of this._events[val]) {\n this._obj.removeEventListener(\n val, \n event, \n false //{passive: true}\n );\n }\n\n delete this._events[val];\n } else {\n // Else only remove this event\n let index = this._events[val].indexOf(<(ev: Event) => any>func);\n let toRemove = this._events[val].splice(index, 1);\n this._obj.removeEventListener(val, toRemove[0], false);\n }\n }\n setHtml(html: string) {\n this._obj && (this._obj.innerHTML = html);\n return this;\n }\n getHtml() {\n return this._obj && this._obj.innerHTML;\n }\n setText(text: string) {\n this._obj && (this._obj.appendChild(document.createTextNode(text)));\n return this;\n }\n getOuterHtml() {\n return this._obj && this._obj.outerHTML;\n }\n isVisible() {\n if (this._obj !== null && this._obj instanceof HTMLElement)\n return this._obj.offsetParent !== null;\n\n return false;\n }\n // Attribute changes\n setAttr(attr: string, content: string) {\n this._obj && this._obj.setAttribute(attr, content);\n return this;\n }\n getAttr(attr: string) {\n return this._obj && this._obj.getAttribute(attr);\n }\n\n\n\n // Class Manipulations\n addClass(className: string) {\n this._obj && this._obj.classList.add(className);\n return this;\n }\n containsClass(className: string) {\n return this._obj \n && this._obj.classList.contains(className) \n || false;\n }\n removeClass(className: string) {\n this._obj && this._obj.classList.remove(className);\n return this;\n }\n toggleClass(className: string) {\n this._obj && this._obj.classList.toggle(className);\n return this;\n }\n\n style() {\n if(this._obj instanceof HTMLElement)\n return this._obj.style;\n \n return undefined;\n }\n\n // DOM Traversal\n query(selector: string) {\n return new Query(selector, this._obj || undefined);\n }\n parent() {\n let parent = this._obj && this._obj.parentElement;\n if(parent === null)\n return null;\n\n return QueryElement.get(parent);\n }\n children() : T[] {\n if(this._obj === null)\n return [];\n \n let childs = [];\n for (let child of this._obj.children) {\n childs.push(QueryElement.get(child));\n }\n return childs;\n }\n next() {\n if(this._obj === null)\n return null;\n\n let next = this._obj.nextElementSibling;\n if(next === null)\n return null;\n\n return QueryElement.get(next);\n }\n prev() {\n if(this._obj === null)\n return null;\n\n let prev = this._obj.previousElementSibling;\n if(prev === null)\n return null;\n\n return QueryElement.get(prev);\n }\n parentAll(func: (item: T) => boolean | void) {\n if(this._obj === null)\n return this;\n\n loop(this._obj, a => a.parentElement, func);\n return this;\n }\n nextAll(func: (item: T) => boolean | void) {\n if(this._obj === null)\n return this;\n\n loop(this._obj, a => a.nextElementSibling, func);\n return this;\n }\n prevAll(func: (item: T) => boolean | void) {\n if(this._obj === null)\n return this;\n\n loop(this._obj, a => a.previousElementSibling, func);\n return this;\n }\n firstChild() {\n if(this._obj === null)\n return null;\n\n if(this._obj.firstElementChild === null)\n return null;\n \n return QueryElement.get(this._obj.firstElementChild);\n }\n lastChild() {\n if(this._obj === null)\n return null;\n\n if(this._obj.lastElementChild === null)\n return null;\n \n return QueryElement.get(this._obj.lastElementChild);\n }\n clear() {\n if(this._obj === null)\n return this;\n \n for(let child of this._obj.children) {\n QueryElement.get(child).remove();\n }\n return this;\n }\n\n // Fast access\n focus() {\n if(this._obj instanceof HTMLElement)\n this._obj.focus();\n \n return this;\n }\n select() {\n if(this._obj instanceof HTMLInputElement || this._obj instanceof HTMLTextAreaElement) {\n this._obj.select();\n }\n return this;\n }\n position() {\n if(this._obj === null)\n return null;\n\n return this._obj.getBoundingClientRect();\n }\n}\n\nfunction loop(obj: Element, \n property: (item: Element) => Element | null, \n func: (item: T) => boolean | void) {\n let elem: Element | null;\n while((elem = property(obj)) !== null) {\n let r = func(QueryElement.get(elem));\n\n if(r === false)\n return;\n \n obj = elem;\n }\n}","class QueryEventedModel {\n public model: T;\n public event: Event;\n\n constructor(model: T, event: Event)\n {\n this.model = model;\n this.event = event;\n }\n}\n\ninterface IQueryEvent {\n on(handler: { (data: T): void }): { (data: T): void };\n off(handler: { (data: T): void }): { (data: T): void };\n}\ninterface IQueryTriggerEvent {\n trigger(data: T): void;\n}\n\nclass QueryEvent\n implements IQueryEvent, IQueryTriggerEvent {\n \n private handlers: { (data: T): void; }[] = [];\n\n public on(handler: { (data: T): void }) {\n this.handlers.push(handler);\n return handler;\n }\n\n public off(handler: { (data: T): void }) {\n this.handlers = this.handlers.filter(h => h !== handler);\n return handler;\n }\n\n public trigger(data: T) {\n for(let x of this.handlers.slice(0)) {\n x(data);\n }\n }\n\n public exposeTrigger(): IQueryTriggerEvent {\n return this;\n }\n public expose() : IQueryEvent {\n return this;\n }\n}\n\ninterface IQueryEventAsync {\n on(handler: { (data: T): Promise }): { (data: T): Promise };\n off(handler: { (data: T): Promise }): { (data: T): Promise };\n}\ninterface IQueryTriggerEventAsync {\n trigger(data: T): Promise;\n}\n\nclass QueryEventAsync\n implements IQueryEventAsync, IQueryTriggerEventAsync {\n \n private handlers: { (data: T): Promise; }[] = [];\n\n public on(handler: { (data: T): Promise }) {\n this.handlers.push(handler);\n return handler;\n }\n\n public off(handler: { (data: T): Promise }) {\n this.handlers = this.handlers.filter(h => h !== handler);\n return handler;\n }\n\n public async trigger(data: T) {\n for(let x of this.handlers.slice(0)) {\n await x(data);\n }\n }\n\n public exposeTrigger(): IQueryTriggerEventAsync {\n return this;\n }\n public expose() : IQueryEventAsync {\n return this;\n }\n}","class QueryJSON {\n static deserializeCast(c: {new(): T; }, json: string) : T | null {\n try {\n let obj = JSON.parse(json);\n return QueryJSON.cast(c, obj);\n } catch(e) {\n\n }\n\n return null;\n }\n static deserialize(json: string): T {\n let obj = JSON.parse(json);\n return obj;\n }\n static serialize(obj: any) {\n return JSON.stringify(obj);\n }\n\n static cast(c: {new(): T; }, obj: any) {\n let ts = new c();\n\n obj.__proto__ = ts;\n return obj;\n }\n\n static toCamelCase(string: string) {\n return string.replace(/(?:^|\\.)([A-Z]+)/g, function (value: string, toCamel: string) {\n if (toCamel.length == 1)\n return value.toLowerCase();\n\n return value.slice(0, value.length - 1).toLowerCase() + value.slice(value.length - 1, value.length);\n })\n }\n}","type QueryRequestMethods = 'post' | 'put' | 'get' | 'delete' | 'head';\ntype QueryRequestContentTypes = 'json' | 'plain' | 'form' | 'file';\n\ninterface IQueryRequestOptions {\n contentType?: QueryRequestContentTypes,\n method?: QueryRequestMethods,\n data?: string | Blob | FormData,\n useCache?: boolean\n}\n\nclass QueryRequest\n{\n private readonly _url: string;\n private readonly _options: IQueryRequestOptions;\n\n constructor(url: string, options?: IQueryRequestOptions) {\n this._url = url;\n this._options = options || {};\n }\n async request() {\n let headers = new Headers();\n let contentType = this.getContentType();\n if(contentType)\n headers.append('Content-Type', contentType);\n \n let request: RequestInit = {\n body: this._options.data,\n credentials: \"same-origin\",\n headers: headers,\n method: this.getRequestMethod()\n };\n\n if (this._options.useCache != true) {\n request.cache = \"no-cache\"\n }\n \n return await fetch(this._url, request);\n }\n\n static blobToBase64(blob: Blob) {\n return new Promise((resolve, reject) => {\n let reader = new FileReader();\n reader.readAsDataURL(blob);\n reader.onloadend = () => {\n resolve(reader.result as string);\n }\n reader.onerror = () => {\n reject();\n }\n });\n\n }\n\n private getRequestMethod() {\n let method: QueryRequestMethods;\n\n if(this._options.method !== undefined) {\n method = this._options.method;\n } else {\n switch(this._options.contentType) {\n default:\n method = 'get';\n break;\n case 'form':\n method = 'post';\n break;\n case 'json':\n method = 'put';\n break;\n case 'file':\n method = 'post';\n break;\n }\n }\n\n return method;\n }\n\n private getContentType() {\n let type: string;\n\n switch(this._options.contentType) {\n case 'plain':\n return 'text/plain';\n case 'json':\n return 'application/json; charset=utf-8';\n case 'form':\n return 'application/x-www-form-urlencoded';\n }\n }\n}","interface TouchList {\n [Symbol.iterator](): IterableIterator;\n}\ninterface FileList {\n [Symbol.iterator](): IterableIterator;\n}\ninterface HTMLCollection {\n [Symbol.iterator](): IterableIterator;\n}\nfunction debounce(\n callback: (...args: T) => PromiseLike | U,\n wait: number\n ) {\n let timer: number;\n \n return (...args: T): Promise => {\n clearTimeout(timer);\n return new Promise((resolve) => {\n timer = setTimeout(() => resolve(callback(...args)), wait);\n });\n };\n}\nfunction throttle(\n callback: (...args: T) => PromiseLike | U,\n wait: number\n) {\n let run: boolean = true;\n let timer: number;\n\n return (...args: T): Promise => {\n clearTimeout(timer);\n\n if (run == true) {\n run = false;\n setTimeout(() => run = true, wait);\n return new Promise((resolve) => resolve(callback(...args)));\n }\n\n return new Promise((resolve) => {\n timer = setTimeout(() => resolve(callback(...args)), wait);\n });\n };\n}\n\nHTMLCollection.prototype[Symbol.iterator] = Array.prototype[Symbol.iterator];\nFileList.prototype[Symbol.iterator] = Array.prototype[Symbol.iterator];\nTouchList.prototype[Symbol.iterator] = Array.prototype[Symbol.iterator];"],"sourceRoot":"../../src/ts/QueryTs/"}