From 690bbfcfd85ac63749c69eb6e29a7cc734b38d2c Mon Sep 17 00:00:00 2001 From: Florian Dold Date: Sat, 14 Dec 2019 18:00:03 +0100 Subject: nicer unions --- src/util/codec.ts | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) (limited to 'src/util/codec.ts') diff --git a/src/util/codec.ts b/src/util/codec.ts index 78516183c..a6fe74905 100644 --- a/src/util/codec.ts +++ b/src/util/codec.ts @@ -233,6 +233,12 @@ export function mapCodec(innerCodec: Codec): Codec<{ [x: string]: T }> { }; } +export class UnionCodecPreBuilder { + discriminateOn(discriminator: D): UnionCodecBuilder { + return new UnionCodecBuilder(discriminator); + } +} + /** * Return a builder for a codec that decodes an object with properties. */ @@ -240,8 +246,6 @@ export function objectCodec(): ObjectCodecBuilder { return new ObjectCodecBuilder(); } -export function unionCodec( - discriminator: D, -): UnionCodecBuilder { - return new UnionCodecBuilder(discriminator); +export function unionCodec(): UnionCodecPreBuilder { + return new UnionCodecPreBuilder(); } -- cgit v1.2.3