diff --git a/packages/preact/src/types/path.ts b/packages/preact/src/types/path.ts index 9e964b3..b11a786 100644 --- a/packages/preact/src/types/path.ts +++ b/packages/preact/src/types/path.ts @@ -38,13 +38,17 @@ type PathValue = TPath extends `${infer TKey1}.${infer TKey2}` ? PathValue : never : TKey1 extends `${ArrayKey}` - ? TValue extends Array - ? PathValue | ArrayPaths)> + ? TValue extends Array + ? PathValue | ArrayPaths)> + : never : never - : never : TPath extends keyof TValue - ? TValue[TPath] - : never; + ? TValue[TPath] + : TPath extends `${ArrayKey}` + ? TValue extends Array + ? TChild + : never + : never; /** * See {@link PathValue} diff --git a/packages/qwik/src/types/path.ts b/packages/qwik/src/types/path.ts index 47d0640..ed9ce74 100644 --- a/packages/qwik/src/types/path.ts +++ b/packages/qwik/src/types/path.ts @@ -38,13 +38,17 @@ type PathValue = TPath extends `${infer TKey1}.${infer TKey2}` ? PathValue : never : TKey1 extends `${ArrayKey}` - ? TValue extends Array - ? PathValue | ArrayPaths)> + ? TValue extends Array + ? PathValue | ArrayPaths)> + : never : never - : never : TPath extends keyof TValue - ? TValue[TPath] - : never; + ? TValue[TPath] + : TPath extends `${ArrayKey}` + ? TValue extends Array + ? TChild + : never + : never; /** * See {@link PathValue} diff --git a/packages/react/src/types/path.ts b/packages/react/src/types/path.ts index 9e964b3..b11a786 100644 --- a/packages/react/src/types/path.ts +++ b/packages/react/src/types/path.ts @@ -38,13 +38,17 @@ type PathValue = TPath extends `${infer TKey1}.${infer TKey2}` ? PathValue : never : TKey1 extends `${ArrayKey}` - ? TValue extends Array - ? PathValue | ArrayPaths)> + ? TValue extends Array + ? PathValue | ArrayPaths)> + : never : never - : never : TPath extends keyof TValue - ? TValue[TPath] - : never; + ? TValue[TPath] + : TPath extends `${ArrayKey}` + ? TValue extends Array + ? TChild + : never + : never; /** * See {@link PathValue} diff --git a/packages/solid/src/types/path.ts b/packages/solid/src/types/path.ts index 9e964b3..b11a786 100644 --- a/packages/solid/src/types/path.ts +++ b/packages/solid/src/types/path.ts @@ -38,13 +38,17 @@ type PathValue = TPath extends `${infer TKey1}.${infer TKey2}` ? PathValue : never : TKey1 extends `${ArrayKey}` - ? TValue extends Array - ? PathValue | ArrayPaths)> + ? TValue extends Array + ? PathValue | ArrayPaths)> + : never : never - : never : TPath extends keyof TValue - ? TValue[TPath] - : never; + ? TValue[TPath] + : TPath extends `${ArrayKey}` + ? TValue extends Array + ? TChild + : never + : never; /** * See {@link PathValue}