import { createCodec, CODEC_TYPES } from '../codec.ts' import type { EncodeFunction, DecodeFunction, Codec, StreamFunction } from '../codec.ts' export interface Factory { new (obj: A): T } export function message (encode: EncodeFunction, decode: DecodeFunction, stream: StreamFunction): Codec { return createCodec('message', CODEC_TYPES.LENGTH_DELIMITED, encode, decode, stream) }