Skip to content

Commit 957d0c6

Browse files
AllanZhengYPkuhe
authored andcommitted
feat(types): add sdk stream mixin injector type
1 parent d8f6fda commit 957d0c6

File tree

2 files changed

+25
-0
lines changed

2 files changed

+25
-0
lines changed

packages/types/src/serde.ts

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -85,3 +85,20 @@ export interface SdkStreamMixin {
8585
* utility functions.
8686
*/
8787
export type SdkStream<BaseStream> = BaseStream & SdkStreamMixin;
88+
89+
/**
90+
* Interface for internal function to inject stream utility functions
91+
* implementation
92+
*
93+
* @internal
94+
*/
95+
export interface SdkStreamMixinInjector {
96+
(stream: unknown): SdkStreamMixin;
97+
}
98+
99+
/**
100+
* @internal
101+
*/
102+
export interface SdkStreamSerdeContext {
103+
sdkStreamMixin: SdkStreamMixinInjector;
104+
}

packages/util-stream-browser/src/sdk-stream-mixin.ts

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -64,7 +64,11 @@ export const sdkStreamMixin = (stream: unknown): SdkStream<ReadableStream | Blob
6464
if (isBlobInstance(stream)) {
6565
// ReadableStream is undefined in React Native
6666
return blobToWebStream(stream);
67+
<<<<<<< HEAD
6768
} else if (isReadableStreamInstance(stream)) {
69+
=======
70+
} else if (isReadableStreamIntance(stream)) {
71+
>>>>>>> a214cc92ce (feat(types): add sdk stream mixin injector type)
6872
return stream;
6973
} else {
7074
throw new Error(`Cannot transform payload to web stream, got ${stream}`);
@@ -75,5 +79,9 @@ export const sdkStreamMixin = (stream: unknown): SdkStream<ReadableStream | Blob
7579

7680
const isBlobInstance = (stream: unknown): stream is Blob => typeof Blob === "function" && stream instanceof Blob;
7781

82+
<<<<<<< HEAD
7883
const isReadableStreamInstance = (stream: unknown): stream is ReadableStream =>
84+
=======
85+
const isReadableStreamIntance = (stream: unknown): stream is ReadableStream =>
86+
>>>>>>> a214cc92ce (feat(types): add sdk stream mixin injector type)
7987
typeof ReadableStream === "function" && stream instanceof ReadableStream;

0 commit comments

Comments
 (0)