@hey-api/types
Advanced tools
+1
-1
| { | ||
| "name": "@hey-api/types", | ||
| "version": "0.1.1", | ||
| "version": "0.1.2", | ||
| "description": "Shared utility types.", | ||
@@ -5,0 +5,0 @@ "type": "module", |
+18
-2
| /** | ||
| * An object with string keys and unknown values. | ||
| */ | ||
| export type AnyObject = Record<string, unknown>; | ||
| /** | ||
| * Converts all top-level ReadonlyArray properties to Array (shallow). | ||
| */ | ||
| export type ArrayOnly<T> = { | ||
| [K in keyof T]: T[K] extends ReadonlyArray<infer U> ? Array<U> : T[K]; | ||
| [K in keyof T]: ToArray<T[K]>; | ||
| }; | ||
@@ -45,3 +50,14 @@ | ||
| export type ReadonlyArrayOnly<T> = { | ||
| [K in keyof T]: T[K] extends Array<infer U> ? ReadonlyArray<U> : T[K]; | ||
| [K in keyof T]: ToReadonlyArray<T[K]>; | ||
| }; | ||
| /** | ||
| * Converts ReadonlyArray<T> to Array<T>, preserving unions. | ||
| */ | ||
| export type ToArray<T> = T extends ReadonlyArray<infer U> ? Array<U> : T; | ||
| /** | ||
| * Converts Array<T> to ReadonlyArray<T>, preserving unions. | ||
| */ | ||
| export type ToReadonlyArray<T> = | ||
| T extends ReadonlyArray<infer U> ? ReadonlyArray<U> : T; |
2953
13.1%53
32.5%