0.1.2 #3

Merged
Thilawyn merged 136 commits from next into master 2024-03-11 19:44:21 +01:00
2 changed files with 8 additions and 7 deletions
Showing only changes of commit 73ce4e11ff - Show all commits

View File

@@ -0,0 +1 @@
export { ExtendableZodSchemaObject } from "./traits/ExtendableZodSchemaObject"

View File

@@ -5,12 +5,12 @@
*/ */
export type CommonKeys<A, B> = Extract<keyof A, keyof B> export type CommonKeys<A, B> = Extract<keyof A, keyof B>
/** export type Extend<T extends readonly object[]> = (
* Merges an inheritance tree defined by an array of types, considering overrides. T extends [
* @template T - An array of types representing the inheritance tree. infer Super,
*/ infer Self,
export type Extend<T extends readonly any[]> = ( ...infer Rest extends object[],
T extends [infer Super, infer Self, ...infer Rest] ]
? Pick<Self, CommonKeys<Self, Super>> extends Pick<Super, CommonKeys<Self, Super>> ? Pick<Self, CommonKeys<Self, Super>> extends Pick<Super, CommonKeys<Self, Super>>
? Extend<[ ? Extend<[
Omit<Super, CommonKeys<Self, Super>> & Self, Omit<Super, CommonKeys<Self, Super>> & Self,
@@ -19,7 +19,7 @@ export type Extend<T extends readonly any[]> = (
: never : never
: T extends [infer Self] : T extends [infer Self]
? Self ? Self
: void : {}
) )
/** /**