UNPKG

@softchef/cdk-iot-device-management

Version:

IoT device management is composed of things, thing types, thing groups, jobs, files API services. The constructs can be used independently, that are based on full-managed service to create an API Gateway & Lambda function.

77 lines (76 loc) 3.5 kB
import { __asyncGenerator, __asyncValues, __await, __generator } from "tslib"; import { EventStreamMarshaller as EventMarshaller } from "@aws-sdk/eventstream-marshaller"; import { getChunkedStream } from "./getChunkedStream"; import { getUnmarshalledStream } from "./getUnmarshalledStream"; var EventStreamMarshaller = (function () { function EventStreamMarshaller(_a) { var utf8Encoder = _a.utf8Encoder, utf8Decoder = _a.utf8Decoder; this.eventMarshaller = new EventMarshaller(utf8Encoder, utf8Decoder); this.utfEncoder = utf8Encoder; } EventStreamMarshaller.prototype.deserialize = function (body, deserializer) { var chunkedStream = getChunkedStream(body); var unmarshalledStream = getUnmarshalledStream(chunkedStream, { eventMarshaller: this.eventMarshaller, deserializer: deserializer, toUtf8: this.utfEncoder, }); return unmarshalledStream; }; EventStreamMarshaller.prototype.serialize = function (input, serializer) { var _a; var self = this; var serializedIterator = function () { return __asyncGenerator(this, arguments, function () { var input_1, input_1_1, chunk, payloadBuf, e_1_1; var e_1, _a; return __generator(this, function (_b) { switch (_b.label) { case 0: _b.trys.push([0, 7, 8, 13]); input_1 = __asyncValues(input); _b.label = 1; case 1: return [4, __await(input_1.next())]; case 2: if (!(input_1_1 = _b.sent(), !input_1_1.done)) return [3, 6]; chunk = input_1_1.value; payloadBuf = self.eventMarshaller.marshall(serializer(chunk)); return [4, __await(payloadBuf)]; case 3: return [4, _b.sent()]; case 4: _b.sent(); _b.label = 5; case 5: return [3, 1]; case 6: return [3, 13]; case 7: e_1_1 = _b.sent(); e_1 = { error: e_1_1 }; return [3, 13]; case 8: _b.trys.push([8, , 11, 12]); if (!(input_1_1 && !input_1_1.done && (_a = input_1.return))) return [3, 10]; return [4, __await(_a.call(input_1))]; case 9: _b.sent(); _b.label = 10; case 10: return [3, 12]; case 11: if (e_1) throw e_1.error; return [7]; case 12: return [7]; case 13: return [4, __await(new Uint8Array(0))]; case 14: return [4, _b.sent()]; case 15: _b.sent(); return [2]; } }); }); }; return _a = {}, _a[Symbol.asyncIterator] = serializedIterator, _a; }; return EventStreamMarshaller; }()); export { EventStreamMarshaller };