From f67ae7991fabc2c9eb06d37da7284e5a0d3790dd Mon Sep 17 00:00:00 2001 From: DemonHa Date: Mon, 1 Sep 2025 23:38:46 -0400 Subject: [PATCH] fix: module imports optional types --- src/type/module/infer.ts | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/src/type/module/infer.ts b/src/type/module/infer.ts index 8c8708d20..aa0bca46a 100644 --- a/src/type/module/infer.ts +++ b/src/type/module/infer.ts @@ -92,9 +92,15 @@ type TInferIntersect = { [Key in keyof Properties]: Properties[Key] extends TReadonly ? (Properties[Key] extends TOptional ? Key : never) : never }[keyof Properties] -type ReadonlyPropertyKeys = { [Key in keyof Source]: Source[Key] extends TReadonly ? (Source[Key] extends TOptional ? never : Key) : never }[keyof Source] -type OptionalPropertyKeys = { [Key in keyof Source]: Source[Key] extends TOptional ? (Source[Key] extends TReadonly ? never : Key) : never }[keyof Source] +type ReadonlyOptionalPropertyKeys = { + [Key in keyof Properties]: Properties[Key] extends TReadonly ? (Properties[Key] extends TOptional ? Key : never) : never +}[keyof Properties] +type ReadonlyPropertyKeys = { + [Key in keyof Source]: Source[Key] extends TReadonly ? (Source[Key] extends TOptional ? never : Key) : never +}[keyof Source] +type OptionalPropertyKeys = { + [Key in keyof Source]: Source[Key] extends TOptional ? (Source[Key] extends TReadonly ? never : Key) : never +}[keyof Source] type RequiredPropertyKeys = keyof Omit | ReadonlyPropertyKeys | OptionalPropertyKeys> // prettier-ignore type InferPropertiesWithModifiers> = Evaluate<( @@ -149,6 +155,7 @@ type TInferUnion = ( + Type extends TOptional ? TInfer | undefined : Type extends TArray ? TInferArray : Type extends TAsyncIterator ? TInferAsyncIterator : Type extends TConstructor ? TInferConstructor :