Initial
This commit is contained in:
19
resources/app/node_modules/@smithy/eventstream-serde-browser/dist-es/EventStreamMarshaller.js
generated
vendored
Normal file
19
resources/app/node_modules/@smithy/eventstream-serde-browser/dist-es/EventStreamMarshaller.js
generated
vendored
Normal file
@@ -0,0 +1,19 @@
|
||||
import { EventStreamMarshaller as UniversalEventStreamMarshaller } from "@smithy/eventstream-serde-universal";
|
||||
import { iterableToReadableStream, readableStreamtoIterable } from "./utils";
|
||||
export class EventStreamMarshaller {
|
||||
constructor({ utf8Encoder, utf8Decoder }) {
|
||||
this.universalMarshaller = new UniversalEventStreamMarshaller({
|
||||
utf8Decoder,
|
||||
utf8Encoder,
|
||||
});
|
||||
}
|
||||
deserialize(body, deserializer) {
|
||||
const bodyIterable = isReadableStream(body) ? readableStreamtoIterable(body) : body;
|
||||
return this.universalMarshaller.deserialize(bodyIterable, deserializer);
|
||||
}
|
||||
serialize(input, serializer) {
|
||||
const serialziedIterable = this.universalMarshaller.serialize(input, serializer);
|
||||
return typeof ReadableStream === "function" ? iterableToReadableStream(serialziedIterable) : serialziedIterable;
|
||||
}
|
||||
}
|
||||
const isReadableStream = (body) => typeof ReadableStream === "function" && body instanceof ReadableStream;
|
||||
3
resources/app/node_modules/@smithy/eventstream-serde-browser/dist-es/index.js
generated
vendored
Normal file
3
resources/app/node_modules/@smithy/eventstream-serde-browser/dist-es/index.js
generated
vendored
Normal file
@@ -0,0 +1,3 @@
|
||||
export * from "./EventStreamMarshaller";
|
||||
export * from "./provider";
|
||||
export * from "./utils";
|
||||
2
resources/app/node_modules/@smithy/eventstream-serde-browser/dist-es/provider.js
generated
vendored
Normal file
2
resources/app/node_modules/@smithy/eventstream-serde-browser/dist-es/provider.js
generated
vendored
Normal file
@@ -0,0 +1,2 @@
|
||||
import { EventStreamMarshaller } from "./EventStreamMarshaller";
|
||||
export const eventStreamSerdeProvider = (options) => new EventStreamMarshaller(options);
|
||||
28
resources/app/node_modules/@smithy/eventstream-serde-browser/dist-es/utils.js
generated
vendored
Normal file
28
resources/app/node_modules/@smithy/eventstream-serde-browser/dist-es/utils.js
generated
vendored
Normal file
@@ -0,0 +1,28 @@
|
||||
export const readableStreamtoIterable = (readableStream) => ({
|
||||
[Symbol.asyncIterator]: async function* () {
|
||||
const reader = readableStream.getReader();
|
||||
try {
|
||||
while (true) {
|
||||
const { done, value } = await reader.read();
|
||||
if (done)
|
||||
return;
|
||||
yield value;
|
||||
}
|
||||
}
|
||||
finally {
|
||||
reader.releaseLock();
|
||||
}
|
||||
},
|
||||
});
|
||||
export const iterableToReadableStream = (asyncIterable) => {
|
||||
const iterator = asyncIterable[Symbol.asyncIterator]();
|
||||
return new ReadableStream({
|
||||
async pull(controller) {
|
||||
const { done, value } = await iterator.next();
|
||||
if (done) {
|
||||
return controller.close();
|
||||
}
|
||||
controller.enqueue(value);
|
||||
},
|
||||
});
|
||||
};
|
||||
Reference in New Issue
Block a user