From e220b7930cea8fb8777469e859b8a6a3d258d1b7 Mon Sep 17 00:00:00 2001 From: Eric Rumsey Date: Thu, 29 May 2025 11:39:33 -0500 Subject: [PATCH] Add Tag type and hasTag function --- src/lib/util/basic/utility.ts | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/lib/util/basic/utility.ts b/src/lib/util/basic/utility.ts index 4cdee12..309f373 100644 --- a/src/lib/util/basic/utility.ts +++ b/src/lib/util/basic/utility.ts @@ -174,5 +174,11 @@ export const tryCatch = (f: () => A): Either => { } } +export interface Tag { + readonly _tag: T +} + +export const hasTag = (x: string) => (y: Tag) => x === y._tag + export const fromNullable = (a: A | null | undefined): Option => a == null ? none : some(a)