{"version":3,"file":"Connection.mjs","sources":["../../src/Connection.ts"],"sourcesContent":["import { H3TransportTransport } from \"./transport/H3Transport\";\nimport { ITransport, ITransportEventMap } from \"./transport/ITransport\";\nimport { WebSocketTransport } from \"./transport/WebSocketTransport\";\n\nexport class Connection implements ITransport {\n    transport: ITransport;\n    events: ITransportEventMap = {};\n\n    constructor(protocol?: string) {\n        switch (protocol) {\n            case \"h3\":\n                this.transport = new H3TransportTransport(this.events);\n                break;\n\n            default:\n                this.transport = new WebSocketTransport(this.events);\n                break;\n        }\n    }\n\n    connect(url: string, options?: any): void {\n        this.transport.connect.call(this.transport, url, options);\n    }\n\n    send(data: Buffer | Uint8Array): void {\n        this.transport.send(data);\n    }\n\n    sendUnreliable(data: Buffer | Uint8Array): void {\n        this.transport.sendUnreliable(data);\n    }\n\n    close(code?: number, reason?: string): void {\n        this.transport.close(code, reason);\n    }\n\n    get isOpen() {\n        return this.transport.isOpen;\n    }\n\n}\n"],"names":[],"mappings":";;;;MAIa,UAAU,CAAA;AACnB,IAAA,SAAS;IACT,MAAM,GAAuB,EAAE;AAE/B,IAAA,WAAA,CAAY,QAAiB,EAAA;QACzB,QAAQ,QAAQ;AACZ,YAAA,KAAK,IAAI;gBACL,IAAI,CAAC,SAAS,GAAG,IAAI,oBAAoB,CAAC,IAAI,CAAC,MAAM,CAAC;gBACtD;AAEJ,YAAA;gBACI,IAAI,CAAC,SAAS,GAAG,IAAI,kBAAkB,CAAC,IAAI,CAAC,MAAM,CAAC;gBACpD;;;IAIZ,OAAO,CAAC,GAAW,EAAE,OAAa,EAAA;AAC9B,QAAA,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,GAAG,EAAE,OAAO,CAAC;;AAG7D,IAAA,IAAI,CAAC,IAAyB,EAAA;AAC1B,QAAA,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC;;AAG7B,IAAA,cAAc,CAAC,IAAyB,EAAA;AACpC,QAAA,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC;;IAGvC,KAAK,CAAC,IAAa,EAAE,MAAe,EAAA;QAChC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,EAAE,MAAM,CAAC;;AAGtC,IAAA,IAAI,MAAM,GAAA;AACN,QAAA,OAAO,IAAI,CAAC,SAAS,CAAC,MAAM;;AAGnC;;;;"}