@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.
27 lines (26 loc) • 1.44 kB
JavaScript
import { EventStreamMarshaller as EventMarshaller } from "@aws-sdk/eventstream-marshaller";
import { EventStreamMarshaller as UniversalEventStreamMarshaller } from "@aws-sdk/eventstream-serde-universal";
import { iterableToReadableStream, readableStreamtoIterable } from "./utils";
var EventStreamMarshaller = (function () {
function EventStreamMarshaller(_a) {
var utf8Encoder = _a.utf8Encoder, utf8Decoder = _a.utf8Decoder;
this.eventMarshaller = new EventMarshaller(utf8Encoder, utf8Decoder);
this.universalMarshaller = new UniversalEventStreamMarshaller({
utf8Decoder: utf8Decoder,
utf8Encoder: utf8Encoder,
});
}
EventStreamMarshaller.prototype.deserialize = function (body, deserializer) {
var bodyIterable = isReadableStream(body) ? readableStreamtoIterable(body) : body;
return this.universalMarshaller.deserialize(bodyIterable, deserializer);
};
EventStreamMarshaller.prototype.serialize = function (input, serializer) {
var serialziedIterable = this.universalMarshaller.serialize(input, serializer);
return typeof ReadableStream === "function" ? iterableToReadableStream(serialziedIterable) : serialziedIterable;
};
return EventStreamMarshaller;
}());
export { EventStreamMarshaller };
var isReadableStream = function (body) {
return typeof ReadableStream === "function" && body instanceof ReadableStream;
};