{"version":3,"sources":["src/common/RawWebsocketMessage.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAIlD,qBAAa,mBAAmB;IAC5B,OAAO,CAAC,eAAe,CAAc;IACrC,OAAO,CAAC,WAAW,CAAa;IAChC,OAAO,CAAC,MAAM,CAAS;gBAEJ,WAAW,EAAE,WAAW,EAAE,OAAO,EAAE,GAAG,EAAE,EAAE,CAAC,EAAE,MAAM;IAkBtE,IAAW,WAAW,IAAI,WAAW,CAEpC;IAED,IAAW,OAAO,IAAI,GAAG,CAExB;IAED,IAAW,WAAW,IAAI,MAAM,CAM/B;IAED,IAAW,aAAa,IAAI,WAAW,CAMtC;IAED,IAAW,EAAE,IAAI,MAAM,CAEtB;CACJ","file":"RawWebsocketMessage.d.ts","sourcesContent":["// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT license.\r\n\r\nimport { MessageType } from \"./ConnectionMessage\";\r\nimport { ArgumentNullError, InvalidOperationError } from \"./Error\";\r\nimport { createNoDashGuid } from \"./Guid\";\r\n\r\nexport class RawWebsocketMessage {\r\n    private privMessageType: MessageType;\r\n    private privPayload: any = null;\r\n    private privId: string;\r\n\r\n    public constructor(messageType: MessageType, payload: any, id?: string) {\r\n        if (!payload) {\r\n            throw new ArgumentNullError(\"payload\");\r\n        }\r\n\r\n        if (messageType === MessageType.Binary && payload.__proto__.constructor.name !== \"ArrayBuffer\") {\r\n            throw new InvalidOperationError(\"Payload must be ArrayBuffer\");\r\n        }\r\n\r\n        if (messageType === MessageType.Text && !(typeof (payload) === \"string\")) {\r\n            throw new InvalidOperationError(\"Payload must be a string\");\r\n        }\r\n\r\n        this.privMessageType = messageType;\r\n        this.privPayload = payload;\r\n        this.privId = id ? id : createNoDashGuid();\r\n    }\r\n\r\n    public get messageType(): MessageType {\r\n        return this.privMessageType;\r\n    }\r\n\r\n    public get payload(): any {\r\n        return this.privPayload;\r\n    }\r\n\r\n    public get textContent(): string {\r\n        if (this.privMessageType === MessageType.Binary) {\r\n            throw new InvalidOperationError(\"Not supported for binary message\");\r\n        }\r\n\r\n        return this.privPayload as string;\r\n    }\r\n\r\n    public get binaryContent(): ArrayBuffer {\r\n        if (this.privMessageType === MessageType.Text) {\r\n            throw new InvalidOperationError(\"Not supported for text message\");\r\n        }\r\n\r\n        return this.privPayload;\r\n    }\r\n\r\n    public get id(): string {\r\n        return this.privId;\r\n    }\r\n}\r\n"]}