First upload version 0.0.1

This commit is contained in:
Neyra
2026-02-05 15:27:49 +08:00
commit 8e9b7201ed
4182 changed files with 593136 additions and 0 deletions

View File

@@ -0,0 +1,7 @@
/**
* Makes all the properties of an object optional, including nested objects,
* and strips all keys that their value is not of the specified allowed value types.
*/
export type OverridesObject<T, AllowedValueTypes> = T extends object ? {
[P in keyof T]?: OverridesObject<T[P], AllowedValueTypes>;
} : T extends Array<infer I> ? AllowedValueTypes extends Array<any> ? Array<OverridesObject<I, AllowedValueTypes>> : never : T extends ReadonlyArray<infer I> ? AllowedValueTypes extends ReadonlyArray<any> ? ReadonlyArray<OverridesObject<I, AllowedValueTypes>> : never : AllowedValueTypes extends T ? T : never;