{"version":3,"sources":["src/common/RawWebsocketMessage.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAIrD,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;IAmBtE,IAAW,WAAW,IAAI,WAAW,CAEpC;IAED,IAAW,OAAO,IAAI,GAAG,CAGxB;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":["/* eslint-disable @typescript-eslint/no-unsafe-assignment */\r\n// Copyright (c) Microsoft Corporation. All rights reserved.\r\n// Licensed under the MIT license.\r\n\r\nimport { MessageType } from \"./ConnectionMessage.js\";\r\nimport { ArgumentNullError, InvalidOperationError } from \"./Error.js\";\r\nimport { createNoDashGuid } from \"./Guid.js\";\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        // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access\r\n        if (messageType === MessageType.Binary && Object.getPrototypeOf(payload).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        // eslint-disable-next-line @typescript-eslint/no-unsafe-return\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 as ArrayBuffer;\r\n    }\r\n\r\n    public get id(): string {\r\n        return this.privId;\r\n    }\r\n}\r\n"]}