UNPKG

botframework-streaming

Version:

Streaming library for the Microsoft Bot Framework

59 lines 2.62 kB
"use strict"; var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } return new (P || (P = Promise))(function (resolve, reject) { function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } step((generator = generator.apply(thisArg, _arguments || [])).next()); }); }; Object.defineProperty(exports, "__esModule", { value: true }); exports.ResponseDisassembler = void 0; /** * @module botframework-streaming */ /** * Copyright (c) Microsoft Corporation. All rights reserved. * Licensed under the MIT License. */ const payloadTypes_1 = require("../payloads/payloadTypes"); const payloadDisassembler_1 = require("./payloadDisassembler"); /** * Streaming response disassembler. */ class ResponseDisassembler extends payloadDisassembler_1.PayloadDisassembler { /** * Initializes a new instance of the [ResponseDisassembler](xref:botframework-streaming.ResponseDisassembler) class. * * @param sender The [PayloadSender](xref:botframework-streaming.PayloadSender) to send the disassembled data to. * @param id The ID of this disassembler. * @param response The response to be disassembled. */ constructor(sender, id, response) { super(sender, id); this.payloadType = payloadTypes_1.PayloadTypes.response; this.response = response; } /** * Gets the stream this disassembler is operating on. * * @returns An [IStreamWrapper](xref:botframework-streaming.IStreamWrapper) with a Subscribable Stream. */ getStream() { var _a; return __awaiter(this, void 0, void 0, function* () { const payload = { statusCode: this.response.statusCode, streams: [] }; (_a = this.response.streams) === null || _a === void 0 ? void 0 : _a.forEach(({ description }) => { payload.streams.push({ id: description.id, contentType: description.type, length: description.length, }); }); return payloadDisassembler_1.PayloadDisassembler.serialize(payload); }); } } exports.ResponseDisassembler = ResponseDisassembler; //# sourceMappingURL=responseDisassembler.js.map