Skip to content

Repository files navigation

tiny-variant - tiny utility for dealing with variants in typescript

Usage

typeMyVariant=Variant<{Sum: number[];Product: number[];Str: string;Empty: void;}>;const{ Sum, Product, Str, Empty }=variant<VariantMap<MyVariant>>();constsomeOption=Sum([1,2,7,8]);constreduced=match<MyVariant>(someOption,{Sum: arr=>arr.reduce((a,b)=>a+b),Product: arr=>arr.reduce((a,b)=>a*b),Str: s=>s.length,Empty: ()=>0,});// reduced == 18

Warning

Implementation of variant function depends on Proxy

About

Tiny typescript utility for dealing with discriminated unions

Resources

Stars

1 star

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages