const defineModelFactory = <T,>() => <D extends Partial<T>>(defaults?: D) => {
const factory = (
required: Omit<T, keyof D>,
changed?: Partial<T>
): T => {
return {
...defaults,
...required,
...changed
} as T
}
return factory
}
const catsFactory = defineModelFactory<Animal>()({
kind: 'cat',
})
Да ещё и с риском нарваться на нарушение трудового законодательства.