-
Notifications
You must be signed in to change notification settings - Fork 14
/
Copy pathtypes.ts
25 lines (22 loc) · 910 Bytes
/
types.ts
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
export type ScalarFieldGenerateOptions = {
readonly modelName: string;
readonly fieldName: string;
readonly isUnique: boolean;
readonly isId: boolean;
readonly seq: number;
};
type Stricten<T extends {}> = {
[K in keyof T]-?: T[K];
};
export interface ScalarFieldValueGenerator {
Boolean?: (options: ScalarFieldGenerateOptions) => boolean;
String?: (options: ScalarFieldGenerateOptions) => string;
Int?: (options: ScalarFieldGenerateOptions) => number;
Float?: (options: ScalarFieldGenerateOptions) => number;
BigInt?: (options: ScalarFieldGenerateOptions) => bigint;
Decimal?: (options: ScalarFieldGenerateOptions) => any;
DateTime?: (options: ScalarFieldGenerateOptions) => Date;
Bytes?: (options: ScalarFieldGenerateOptions) => Buffer;
Json?: (options: ScalarFieldGenerateOptions) => any;
}
export type StrictScalarFieldValueGenerator = Stricten<ScalarFieldValueGenerator>;