{"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;aAkB3D,WAAW,EAAI,WAAW;aAI1B,OAAO,EAAI,GAAG;aAId,WAAW,EAAI,MAAM;aAQrB,aAAa,EAAI,WAAW;aAQ5B,EAAE,EAAI,MAAM;CAG1B","file":"RawWebsocketMessage.d.ts","sourcesContent":["// Copyright (c) Microsoft Corporation. All rights reserved.\n// Licensed under the MIT license.\n\nimport { MessageType } from \"./ConnectionMessage\";\nimport { ArgumentNullError, InvalidOperationError } from \"./Error\";\nimport { createNoDashGuid } from \"./Guid\";\n\nexport class RawWebsocketMessage {\n    private privMessageType: MessageType;\n    private privPayload: any = null;\n    private privId: string;\n\n    public constructor(messageType: MessageType, payload: any, id?: string) {\n        if (!payload) {\n            throw new ArgumentNullError(\"payload\");\n        }\n\n        if (messageType === MessageType.Binary && !(payload instanceof ArrayBuffer)) {\n            throw new InvalidOperationError(\"Payload must be ArrayBuffer\");\n        }\n\n        if (messageType === MessageType.Text && !(typeof (payload) === \"string\")) {\n            throw new InvalidOperationError(\"Payload must be a string\");\n        }\n\n        this.privMessageType = messageType;\n        this.privPayload = payload;\n        this.privId = id ? id : createNoDashGuid();\n    }\n\n    public get messageType(): MessageType {\n        return this.privMessageType;\n    }\n\n    public get payload(): any {\n        return this.privPayload;\n    }\n\n    public get textContent(): string {\n        if (this.privMessageType === MessageType.Binary) {\n            throw new InvalidOperationError(\"Not supported for binary message\");\n        }\n\n        return this.privPayload as string;\n    }\n\n    public get binaryContent(): ArrayBuffer {\n        if (this.privMessageType === MessageType.Text) {\n            throw new InvalidOperationError(\"Not supported for text message\");\n        }\n\n        return this.privPayload;\n    }\n\n    public get id(): string {\n        return this.privId;\n    }\n}\n"]}