]>
Commit | Line | Data |
---|---|---|
3acc5084 C |
1 | import { Model } from 'sequelize-typescript' |
2 | ||
3 | // Thanks to sequelize-typescript: https://github.com/RobinBuschmann/sequelize-typescript | |
4 | ||
5 | export type Diff<T extends string | symbol | number, U extends string | symbol | number> = | |
6 | ({ [P in T]: P } & { [P in U]: never } & { [ x: string ]: never })[T] | |
7 | ||
8 | export type Omit<T, K extends keyof T> = { [P in Diff<keyof T, K>]: T[P] } | |
9 | ||
10 | export type RecursivePartial<T> = { [P in keyof T]?: RecursivePartial<T[P]> } | |
11 | ||
12 | export type FilteredModelAttributes<T extends Model<T>> = RecursivePartial<Omit<T, keyof Model<any>>> & { | |
13 | id?: number | any | |
14 | createdAt?: Date | any | |
15 | updatedAt?: Date | any | |
16 | deletedAt?: Date | any | |
17 | version?: number | any | |
18 | } |