Skip to main content

decodeStream

Pipes a generic stream of data into a granular stream of decoded data. The data...

Import

You can import the entire package and access the function:


_10
import * as sdk from "@onflow/sdk"
_10
_10
sdk.decodeStream(stream, decodeResponse, customDecoders)

Or import directly the specific function:


_10
import { decodeStream } from "@onflow/sdk"
_10
_10
decodeStream(stream, decodeResponse, customDecoders)

Usage


_31
import * as fcl from "@onflow/fcl";
_31
_31
// Create a subscription stream
_31
const rawStream = await fcl.send([
_31
fcl.subscribeEvents({
_31
eventTypes: ["flow.AccountCreated"],
_31
startHeight: 0
_31
})
_31
]);
_31
_31
// Decode the stream data
_31
const decodedStream = fcl.decodeStream(
_31
rawStream,
_31
fcl.decodeResponse,
_31
{}
_31
);
_31
_31
// Listen for decoded events
_31
decodedStream.on("events", (events) => {
_31
events.forEach(event => {
_31
console.log("Decoded event:", event);
_31
});
_31
});
_31
_31
decodedStream.on("error", (error) => {
_31
console.error("Stream error:", error);
_31
});
_31
_31
decodedStream.on("close", () => {
_31
console.log("Stream closed");
_31
});

Parameters

stream

decodeResponse

  • Type: DecodeResponseFn
  • Description: Function to decode response data

_10
type DecodeResponseFn = (
_10
response: Record<string, any>,
_10
customDecoders?: Record<string, any>
_10
) => Promise<any>

customDecoders (optional)

  • Type: Record<string, any>
  • Description: Optional custom decoders for specific data types

Returns

StreamConnection