@smithy/eventstream-serde-browser 4.2.13 → 4.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist-cjs/index.js CHANGED
@@ -1,58 +1,9 @@
1
- 'use strict';
2
-
3
- var eventstreamSerdeUniversal = require('@smithy/eventstream-serde-universal');
4
-
5
- const readableStreamtoIterable = (readableStream) => ({
6
- [Symbol.asyncIterator]: async function* () {
7
- const reader = readableStream.getReader();
8
- try {
9
- while (true) {
10
- const { done, value } = await reader.read();
11
- if (done)
12
- return;
13
- yield value;
14
- }
15
- }
16
- finally {
17
- reader.releaseLock();
18
- }
19
- },
20
- });
21
- const iterableToReadableStream = (asyncIterable) => {
22
- const iterator = asyncIterable[Symbol.asyncIterator]();
23
- return new ReadableStream({
24
- async pull(controller) {
25
- const { done, value } = await iterator.next();
26
- if (done) {
27
- return controller.close();
28
- }
29
- controller.enqueue(value);
30
- },
31
- });
32
- };
33
-
34
- class EventStreamMarshaller {
35
- universalMarshaller;
36
- constructor({ utf8Encoder, utf8Decoder }) {
37
- this.universalMarshaller = new eventstreamSerdeUniversal.EventStreamMarshaller({
38
- utf8Decoder,
39
- utf8Encoder,
40
- });
41
- }
42
- deserialize(body, deserializer) {
43
- const bodyIterable = isReadableStream(body) ? readableStreamtoIterable(body) : body;
44
- return this.universalMarshaller.deserialize(bodyIterable, deserializer);
45
- }
46
- serialize(input, serializer) {
47
- const serialziedIterable = this.universalMarshaller.serialize(input, serializer);
48
- return typeof ReadableStream === "function" ? iterableToReadableStream(serialziedIterable) : serialziedIterable;
49
- }
50
- }
51
- const isReadableStream = (body) => typeof ReadableStream === "function" && body instanceof ReadableStream;
52
-
53
- const eventStreamSerdeProvider = (options) => new EventStreamMarshaller(options);
54
-
55
- exports.EventStreamMarshaller = EventStreamMarshaller;
56
- exports.eventStreamSerdeProvider = eventStreamSerdeProvider;
57
- exports.iterableToReadableStream = iterableToReadableStream;
58
- exports.readableStreamtoIterable = readableStreamtoIterable;
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.readableStreamtoIterable = exports.iterableToReadableStream = exports.eventStreamSerdeProvider = exports.EventStreamMarshaller = void 0;
4
+ const event_streams_1 = require("@smithy/core/event-streams");
5
+ var event_streams_2 = require("@smithy/core/event-streams");
6
+ Object.defineProperty(exports, "EventStreamMarshaller", { enumerable: true, get: function () { return event_streams_2.EventStreamMarshaller; } });
7
+ Object.defineProperty(exports, "eventStreamSerdeProvider", { enumerable: true, get: function () { return event_streams_2.eventStreamSerdeProvider; } });
8
+ Object.defineProperty(exports, "iterableToReadableStream", { enumerable: true, get: function () { return event_streams_2.iterableToReadableStream; } });
9
+ exports.readableStreamtoIterable = event_streams_1.readableStreamToIterable;
package/dist-es/index.js CHANGED
@@ -1,3 +1,3 @@
1
- export * from "./EventStreamMarshaller";
2
- export * from "./provider";
3
- export * from "./utils";
1
+ import { readableStreamToIterable } from "@smithy/core/event-streams";
2
+ export { EventStreamMarshaller, eventStreamSerdeProvider, iterableToReadableStream } from "@smithy/core/event-streams";
3
+ export const readableStreamtoIterable = readableStreamToIterable;
@@ -1,12 +1,7 @@
1
+ /** @deprecated Use @smithy/core/event-streams instead. */
2
+ export { EventStreamMarshaller, eventStreamSerdeProvider, iterableToReadableStream } from "@smithy/core/event-streams";
3
+ export type { EventStreamMarshallerOptions } from "@smithy/core/event-streams";
1
4
  /**
2
- * @internal
5
+ * @deprecated capitalization typo.
3
6
  */
4
- export * from "./EventStreamMarshaller";
5
- /**
6
- * @internal
7
- */
8
- export * from "./provider";
9
- /**
10
- * @internal
11
- */
12
- export * from "./utils";
7
+ export declare const readableStreamtoIterable: <T>(readableStream: ReadableStream<T>) => AsyncIterable<T>;
package/package.json CHANGED
@@ -1,16 +1,10 @@
1
1
  {
2
2
  "name": "@smithy/eventstream-serde-browser",
3
- "version": "4.2.13",
3
+ "version": "4.3.0",
4
4
  "scripts": {
5
- "build": "concurrently 'yarn:build:types' 'yarn:build:es:cjs'",
6
- "build:es:cjs": "yarn g:tsc -p tsconfig.es.json && node ../../scripts/inline eventstream-serde-browser",
7
- "build:types": "yarn g:tsc -p tsconfig.types.json",
8
- "build:types:downlevel": "premove dist-types/ts3.4 && downlevel-dts dist-types dist-types/ts3.4",
5
+ "build": "yarn g:tsc -p tsconfig.cjs.json && yarn g:tsc -p tsconfig.es.json && yarn g:tsc -p tsconfig.types.json",
9
6
  "clean": "premove dist-cjs dist-es dist-types tsconfig.cjs.tsbuildinfo tsconfig.es.tsbuildinfo tsconfig.types.tsbuildinfo",
10
- "format": "prettier --config ../../prettier.config.js --ignore-path ../../.prettierignore --write \"**/*.{ts,md,json}\"",
11
- "lint": "eslint -c ../../.eslintrc.js \"src/**/*.ts\"",
12
- "stage-release": "premove .release && yarn pack && mkdir ./.release && tar zxvf ./package.tgz --directory ./.release && rm ./package.tgz",
13
- "test": "exit 0"
7
+ "stage-release": "premove .release && yarn pack && mkdir ./.release && tar zxvf ./package.tgz --directory ./.release && rm ./package.tgz"
14
8
  },
15
9
  "main": "./dist-cjs/index.js",
16
10
  "module": "./dist-es/index.js",
@@ -22,20 +16,15 @@
22
16
  "license": "Apache-2.0",
23
17
  "sideEffects": false,
24
18
  "dependencies": {
25
- "@smithy/eventstream-serde-universal": "^4.2.13",
26
- "@smithy/types": "^4.14.0",
19
+ "@smithy/core": "^3.24.0",
27
20
  "tslib": "^2.6.2"
28
21
  },
22
+ "devDependencies": {
23
+ "premove": "4.0.0"
24
+ },
29
25
  "engines": {
30
26
  "node": ">=18.0.0"
31
27
  },
32
- "typesVersions": {
33
- "<4.5": {
34
- "dist-types/*": [
35
- "dist-types/ts3.4/*"
36
- ]
37
- }
38
- },
39
28
  "files": [
40
29
  "dist-*/**"
41
30
  ],
@@ -45,12 +34,6 @@
45
34
  "url": "https://github.com/smithy-lang/smithy-typescript.git",
46
35
  "directory": "packages/eventstream-serde-browser"
47
36
  },
48
- "devDependencies": {
49
- "concurrently": "7.0.0",
50
- "downlevel-dts": "0.10.1",
51
- "premove": "4.0.0",
52
- "typedoc": "0.23.23"
53
- },
54
37
  "typedoc": {
55
38
  "entryPoint": "src/index.ts"
56
39
  },
package/README.md DELETED
@@ -1,17 +0,0 @@
1
- # @smithy/eventstream-serde-browser
2
-
3
- [![NPM version](https://img.shields.io/npm/v/@smithy/eventstream-serde-browser/latest.svg)](https://www.npmjs.com/package/@smithy/eventstream-serde-browser)
4
- [![NPM downloads](https://img.shields.io/npm/dm/@smithy/eventstream-serde-browser.svg)](https://www.npmjs.com/package/@smithy/eventstream-serde-browser)
5
-
6
- ### :warning: Internal API :warning:
7
-
8
- > This is an internal package.
9
- > That means this is used as a dependency for other, public packages, but
10
- > should not be taken directly as a dependency in your application's `package.json`.
11
-
12
- > If you are updating the version of this package, for example to bring in a
13
- > bug-fix, you should do so by updating your application lockfile with
14
- > e.g. `npm up @scope/package` or equivalent command in another
15
- > package manager, rather than taking a direct dependency.
16
-
17
- ---
@@ -1,20 +0,0 @@
1
- import { EventStreamMarshaller as UniversalEventStreamMarshaller } from "@smithy/eventstream-serde-universal";
2
- import { iterableToReadableStream, readableStreamtoIterable } from "./utils";
3
- export class EventStreamMarshaller {
4
- universalMarshaller;
5
- constructor({ utf8Encoder, utf8Decoder }) {
6
- this.universalMarshaller = new UniversalEventStreamMarshaller({
7
- utf8Decoder,
8
- utf8Encoder,
9
- });
10
- }
11
- deserialize(body, deserializer) {
12
- const bodyIterable = isReadableStream(body) ? readableStreamtoIterable(body) : body;
13
- return this.universalMarshaller.deserialize(bodyIterable, deserializer);
14
- }
15
- serialize(input, serializer) {
16
- const serialziedIterable = this.universalMarshaller.serialize(input, serializer);
17
- return typeof ReadableStream === "function" ? iterableToReadableStream(serialziedIterable) : serialziedIterable;
18
- }
19
- }
20
- const isReadableStream = (body) => typeof ReadableStream === "function" && body instanceof ReadableStream;
@@ -1,2 +0,0 @@
1
- import { EventStreamMarshaller } from "./EventStreamMarshaller";
2
- export const eventStreamSerdeProvider = (options) => new EventStreamMarshaller(options);
package/dist-es/utils.js DELETED
@@ -1,28 +0,0 @@
1
- export const readableStreamtoIterable = (readableStream) => ({
2
- [Symbol.asyncIterator]: async function* () {
3
- const reader = readableStream.getReader();
4
- try {
5
- while (true) {
6
- const { done, value } = await reader.read();
7
- if (done)
8
- return;
9
- yield value;
10
- }
11
- }
12
- finally {
13
- reader.releaseLock();
14
- }
15
- },
16
- });
17
- export const iterableToReadableStream = (asyncIterable) => {
18
- const iterator = asyncIterable[Symbol.asyncIterator]();
19
- return new ReadableStream({
20
- async pull(controller) {
21
- const { done, value } = await iterator.next();
22
- if (done) {
23
- return controller.close();
24
- }
25
- controller.enqueue(value);
26
- },
27
- });
28
- };
@@ -1,47 +0,0 @@
1
- import type { Decoder, Encoder, EventStreamMarshaller as IEventStreamMarshaller, Message } from "@smithy/types";
2
- /**
3
- * @internal
4
- */
5
- export interface EventStreamMarshaller extends IEventStreamMarshaller {
6
- }
7
- /**
8
- * @internal
9
- */
10
- export interface EventStreamMarshallerOptions {
11
- utf8Encoder: Encoder;
12
- utf8Decoder: Decoder;
13
- }
14
- /**
15
- * @internal
16
- *
17
- * Utility class used to serialize and deserialize event streams in
18
- * browsers and ReactNative.
19
- *
20
- * In browsers where ReadableStream API is available:
21
- * * deserialize from ReadableStream to an async iterable of output structure
22
- * * serialize from async iterable of input structure to ReadableStream
23
- * In ReactNative where only async iterable API is available:
24
- * * deserialize from async iterable of binaries to async iterable of output structure
25
- * * serialize from async iterable of input structure to async iterable of binaries
26
- *
27
- * We use ReadableStream API in browsers because of the consistency with other
28
- * streaming operations, where ReadableStream API is used to denote streaming data.
29
- * Whereas in ReactNative, ReadableStream API is not available, we use async iterable
30
- * for streaming data although it has lower throughput.
31
- */
32
- export declare class EventStreamMarshaller {
33
- private readonly universalMarshaller;
34
- constructor({ utf8Encoder, utf8Decoder }: EventStreamMarshallerOptions);
35
- deserialize<T>(body: ReadableStream<Uint8Array> | AsyncIterable<Uint8Array>, deserializer: (input: Record<string, Message>) => Promise<T>): AsyncIterable<T>;
36
- /**
37
- * Generate a stream that serialize events into stream of binary chunks;
38
- *
39
- * Caveat is that streaming request payload doesn't work on browser with native
40
- * xhr or fetch handler currently because they don't support upload streaming.
41
- * reference:
42
- * * https://bugs.chromium.org/p/chromium/issues/detail?id=688906
43
- * * https://bugzilla.mozilla.org/show_bug.cgi?id=1387483
44
- *
45
- */
46
- serialize<T>(input: AsyncIterable<T>, serializer: (event: T) => Message): ReadableStream | AsyncIterable<Uint8Array>;
47
- }
@@ -1,3 +0,0 @@
1
- import type { EventStreamSerdeProvider } from "@smithy/types";
2
- /** browser event stream serde utils provider */
3
- export declare const eventStreamSerdeProvider: EventStreamSerdeProvider;
@@ -1,13 +0,0 @@
1
- /**
2
- * @internal
3
- *
4
- * A util function converting ReadableStream into an async iterable.
5
- * Reference: https://jakearchibald.com/2017/async-iterators-and-generators/#making-streams-iterate
6
- */
7
- export declare const readableStreamtoIterable: <T>(readableStream: ReadableStream<T>) => AsyncIterable<T>;
8
- /**
9
- * @internal
10
- *
11
- * A util function converting async iterable to a ReadableStream.
12
- */
13
- export declare const iterableToReadableStream: <T>(asyncIterable: AsyncIterable<T>) => ReadableStream<T>;