{"version":3,"file":"MPTransport.mjs","sources":["../../../../src/transport/MPTransport.ts"],"sourcesContent":["import NodeWebSocket from \"ws\";\r\nimport { ITransport, ITransportEventMap } from \"./ITransport\";\r\n\r\n// const WebSocket = globalThis.WebSocket || NodeWebSocket;\r\n\r\nexport class MPSocketTransport implements ITransport {\r\n    ws: WebSocket | NodeWebSocket;\r\n    protocols?: string | string[];\r\n\r\n    constructor(public events: ITransportEventMap) {}\r\n\r\n    public send(data: ArrayBuffer | Array<number>): void {\r\n        if (data instanceof ArrayBuffer) {\r\n            this.ws.send(data);\r\n        } else if (Array.isArray(data)) {\r\n            this.ws.send(new Uint8Array(data).buffer);\r\n        }\r\n    }\r\n\r\n    public connect(url: string) {\r\n        // this.ws = new WebSocket(url, this.protocols);\r\n\r\n        const socket = wx.connectSocket({\r\n            url,\r\n            // header: {\r\n            //     'content-type': 'application/json'\r\n            // },\r\n            protocols: this.protocols,\r\n            // method: 'GET'\r\n            success: (res) => {},\r\n        });\r\n\r\n        socket.onMessage((msg) => {\r\n            console.log(\"msg\", msg);\r\n            this.events.onmessage(msg);\r\n        });\r\n\r\n        socket.onClose((msg) => {\r\n            console.log(\"close\", msg);\r\n            this.events.onclose(msg);\r\n        });\r\n\r\n        // socket.onOpen((msg) => {\r\n        //     console.log(\"open\", msg);\r\n        //     this.events.onopen(msg);\r\n        // });\r\n\r\n        socket.onError((msg) => {\r\n            console.log(\"error\", msg);\r\n            this.events.onerror(msg);\r\n        });\r\n\r\n        console.log(this.ws);\r\n\r\n        // this.ws.binaryType = \"arraybuffer\";\r\n        // this.ws.onopen = this.events.onopen;\r\n        // this.ws.onmessage = this.events.onmessage;\r\n        // this.ws.onclose = this.events.onclose;\r\n        // this.ws.onerror = this.events.onerror;\r\n    }\r\n\r\n    public close(code?: number, reason?: string) {\r\n        console.log(\"关闭连接\");\r\n\r\n        this.ws.close(code, reason);\r\n    }\r\n}\r\n"],"names":[],"mappings":";AAGA;MAEa,iBAAiB,CAAA;AAIP,IAAA,MAAA,CAAA;AAHnB,IAAA,EAAE,CAA4B;AAC9B,IAAA,SAAS,CAAqB;AAE9B,IAAA,WAAA,CAAmB,MAA0B,EAAA;QAA1B,IAAM,CAAA,MAAA,GAAN,MAAM,CAAoB;KAAI;AAE1C,IAAA,IAAI,CAAC,IAAiC,EAAA;QACzC,IAAI,IAAI,YAAY,WAAW,EAAE;AAC7B,YAAA,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACtB,SAAA;AAAM,aAAA,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;AAC5B,YAAA,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,UAAU,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC;AAC7C,SAAA;KACJ;AAEM,IAAA,OAAO,CAAC,GAAW,EAAA;;AAGtB,QAAA,MAAM,MAAM,GAAG,EAAE,CAAC,aAAa,CAAC;YAC5B,GAAG;;;;YAIH,SAAS,EAAE,IAAI,CAAC,SAAS;;AAEzB,YAAA,OAAO,EAAE,CAAC,GAAG,QAAO;AACvB,SAAA,CAAC,CAAC;AAEH,QAAA,MAAM,CAAC,SAAS,CAAC,CAAC,GAAG,KAAI;AACrB,YAAA,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;AACxB,YAAA,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;AAC/B,SAAC,CAAC,CAAC;AAEH,QAAA,MAAM,CAAC,OAAO,CAAC,CAAC,GAAG,KAAI;AACnB,YAAA,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;AAC1B,YAAA,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;AAC7B,SAAC,CAAC,CAAC;;;;;AAOH,QAAA,MAAM,CAAC,OAAO,CAAC,CAAC,GAAG,KAAI;AACnB,YAAA,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;AAC1B,YAAA,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;AAC7B,SAAC,CAAC,CAAC;AAEH,QAAA,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;;;;;;KAOxB;IAEM,KAAK,CAAC,IAAa,EAAE,MAAe,EAAA;AACvC,QAAA,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QAEpB,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;KAC/B;AACJ;;;;"}