Initial
This commit is contained in:
18
resources/app/node_modules/@smithy/eventstream-serde-node/dist-es/EventStreamMarshaller.js
generated
vendored
Normal file
18
resources/app/node_modules/@smithy/eventstream-serde-node/dist-es/EventStreamMarshaller.js
generated
vendored
Normal file
@@ -0,0 +1,18 @@
|
||||
import { EventStreamMarshaller as UniversalEventStreamMarshaller } from "@smithy/eventstream-serde-universal";
|
||||
import { Readable } from "stream";
|
||||
import { readabletoIterable } from "./utils";
|
||||
export class EventStreamMarshaller {
|
||||
constructor({ utf8Encoder, utf8Decoder }) {
|
||||
this.universalMarshaller = new UniversalEventStreamMarshaller({
|
||||
utf8Decoder,
|
||||
utf8Encoder,
|
||||
});
|
||||
}
|
||||
deserialize(body, deserializer) {
|
||||
const bodyIterable = typeof body[Symbol.asyncIterator] === "function" ? body : readabletoIterable(body);
|
||||
return this.universalMarshaller.deserialize(bodyIterable, deserializer);
|
||||
}
|
||||
serialize(input, serializer) {
|
||||
return Readable.from(this.universalMarshaller.serialize(input, serializer));
|
||||
}
|
||||
}
|
||||
2
resources/app/node_modules/@smithy/eventstream-serde-node/dist-es/index.js
generated
vendored
Normal file
2
resources/app/node_modules/@smithy/eventstream-serde-node/dist-es/index.js
generated
vendored
Normal file
@@ -0,0 +1,2 @@
|
||||
export * from "./EventStreamMarshaller";
|
||||
export * from "./provider";
|
||||
2
resources/app/node_modules/@smithy/eventstream-serde-node/dist-es/provider.js
generated
vendored
Normal file
2
resources/app/node_modules/@smithy/eventstream-serde-node/dist-es/provider.js
generated
vendored
Normal file
@@ -0,0 +1,2 @@
|
||||
import { EventStreamMarshaller } from "./EventStreamMarshaller";
|
||||
export const eventStreamSerdeProvider = (options) => new EventStreamMarshaller(options);
|
||||
26
resources/app/node_modules/@smithy/eventstream-serde-node/dist-es/utils.js
generated
vendored
Normal file
26
resources/app/node_modules/@smithy/eventstream-serde-node/dist-es/utils.js
generated
vendored
Normal file
@@ -0,0 +1,26 @@
|
||||
export async function* readabletoIterable(readStream) {
|
||||
let streamEnded = false;
|
||||
let generationEnded = false;
|
||||
const records = new Array();
|
||||
readStream.on("error", (err) => {
|
||||
if (!streamEnded) {
|
||||
streamEnded = true;
|
||||
}
|
||||
if (err) {
|
||||
throw err;
|
||||
}
|
||||
});
|
||||
readStream.on("data", (data) => {
|
||||
records.push(data);
|
||||
});
|
||||
readStream.on("end", () => {
|
||||
streamEnded = true;
|
||||
});
|
||||
while (!generationEnded) {
|
||||
const value = await new Promise((resolve) => setTimeout(() => resolve(records.shift()), 0));
|
||||
if (value) {
|
||||
yield value;
|
||||
}
|
||||
generationEnded = streamEnded && records.length === 0;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user