From 1bf1befd6d557693ca4a908a788fc38f107828da Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Julien=20Valverd=C3=A9?= Date: Wed, 21 Aug 2024 03:23:11 +0200 Subject: [PATCH] 0.1.13 (#14) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Julien Valverdé Reviewed-on: https://git.valverde.cloud/Thilawyn/thilalib/pulls/14 --- package.json | 2 +- src/Types/UnionToTuple.ts | 10 ++++++++++ src/Types/index.ts | 1 + 3 files changed, 12 insertions(+), 1 deletion(-) create mode 100644 src/Types/UnionToTuple.ts diff --git a/package.json b/package.json index ff8ff21..9e53189 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@thilawyn/thilalib", - "version": "0.1.12", + "version": "0.1.13", "type": "module", "files": [ "./dist" diff --git a/src/Types/UnionToTuple.ts b/src/Types/UnionToTuple.ts new file mode 100644 index 0000000..35cfdc1 --- /dev/null +++ b/src/Types/UnionToTuple.ts @@ -0,0 +1,10 @@ +import type { UnionToIntersection } from "type-fest" + + +type LastOf = UnionToIntersection void : never> extends (x: infer Last) => void + ? Last + : never + +export type UnionToTuple> = [T] extends [never] + ? [] + : [...UnionToTuple>, Last] diff --git a/src/Types/index.ts b/src/Types/index.ts index e6b8475..6cbef90 100644 --- a/src/Types/index.ts +++ b/src/Types/index.ts @@ -3,3 +3,4 @@ export * from "./Extend" export * from "./Merge" export * as PrismaJson from "./PrismaJson" export * from "./StaticType" +export * from "./UnionToTuple"