summaryrefslogtreecommitdiff
path: root/src/lang/ts-lang/util/utils.ts
diff options
context:
space:
mode:
Diffstat (limited to 'src/lang/ts-lang/util/utils.ts')
-rw-r--r--src/lang/ts-lang/util/utils.ts8
1 files changed, 8 insertions, 0 deletions
diff --git a/src/lang/ts-lang/util/utils.ts b/src/lang/ts-lang/util/utils.ts
new file mode 100644
index 0000000..ac36ca1
--- /dev/null
+++ b/src/lang/ts-lang/util/utils.ts
@@ -0,0 +1,8 @@
+export type UnarrayIfOnlyHead<T extends readonly any[]> = T extends [
+ infer Head,
+ infer Next
+]
+ ? T
+ : T extends [infer Head]
+ ? Head
+ : T;