import { decodeMetadata } from '@/stream/metadata'; import { StreamEventType, StreamStatus } from '@/stream/types'; export class StreamHelper { static decodeMetadata(metaStr: string) { return decodeMetadata(metaStr); } static parseStreamStatus(rawStatus: number) { switch (rawStatus) { case 0: return StreamStatus.Streaming; case 1: return StreamStatus.Completed; case 16: return StreamStatus.Canceled; case 17: return StreamStatus.Settled; default: throw new Error(`Unknown Stream Status: ${rawStatus}`); } } static fullStreamEventType(packageId: string, eventType: StreamEventType) { switch (eventType) { case StreamEventType.Create: return `${packageId}::stream::CreateEvent`; case StreamEventType.Claim: return `${packageId}::stream::ClaimEvent`; case StreamEventType.Cancel: return `${packageId}::stream::CancelEvent`; case StreamEventType.SetAutoClaim: return `${packageId}::stream::SetAutoClaimEvent`; default: throw new Error(`Unknown StreamEventType: ${eventType}`); } } }