drizzle-seed 0.4.0-f0d7da2 → 0.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (56) hide show
  1. package/SeedService.d.cts +1 -0
  2. package/SeedService.d.mts +1 -0
  3. package/SeedService.d.ts +1 -0
  4. package/cockroach-core/index.d.cts +6 -2
  5. package/cockroach-core/index.d.mts +6 -2
  6. package/cockroach-core/index.d.ts +6 -2
  7. package/common.d.cts +23 -0
  8. package/common.d.mts +23 -0
  9. package/common.d.ts +23 -0
  10. package/generators/GeneratorFuncs.d.cts +888 -28
  11. package/generators/GeneratorFuncs.d.mts +888 -28
  12. package/generators/GeneratorFuncs.d.ts +888 -28
  13. package/generators/Generators.d.cts +149 -44
  14. package/generators/Generators.d.mts +149 -44
  15. package/generators/Generators.d.ts +149 -44
  16. package/generators/apiVersion.d.cts +1 -1
  17. package/generators/apiVersion.d.mts +1 -1
  18. package/generators/apiVersion.d.ts +1 -1
  19. package/generators/versioning/v2.d.cts +13 -6
  20. package/generators/versioning/v2.d.mts +13 -6
  21. package/generators/versioning/v2.d.ts +13 -6
  22. package/generators/versioning/v3.d.cts +10 -0
  23. package/generators/versioning/v3.d.mts +10 -0
  24. package/generators/versioning/v3.d.ts +10 -0
  25. package/index.cjs +1122 -1186
  26. package/index.cjs.map +1 -1
  27. package/index.d.cts +13 -99
  28. package/index.d.mts +13 -99
  29. package/index.d.ts +13 -99
  30. package/index.mjs +1127 -1191
  31. package/index.mjs.map +1 -1
  32. package/mssql-core/index.d.cts +2 -2
  33. package/mssql-core/index.d.mts +2 -2
  34. package/mssql-core/index.d.ts +2 -2
  35. package/mysql-core/index.d.cts +6 -2
  36. package/mysql-core/index.d.mts +6 -2
  37. package/mysql-core/index.d.ts +6 -2
  38. package/package.json +5 -4
  39. package/pg-core/index.d.cts +6 -2
  40. package/pg-core/index.d.mts +6 -2
  41. package/pg-core/index.d.ts +6 -2
  42. package/singlestore-core/index.d.cts +6 -2
  43. package/singlestore-core/index.d.mts +6 -2
  44. package/singlestore-core/index.d.ts +6 -2
  45. package/sqlite-core/index.d.cts +6 -2
  46. package/sqlite-core/index.d.mts +6 -2
  47. package/sqlite-core/index.d.ts +6 -2
  48. package/types/seedService.d.cts +2 -2
  49. package/types/seedService.d.mts +2 -2
  50. package/types/seedService.d.ts +2 -2
  51. package/types/tables.d.cts +18 -0
  52. package/types/tables.d.mts +18 -0
  53. package/types/tables.d.ts +18 -0
  54. package/utils.d.cts +0 -1
  55. package/utils.d.mts +0 -1
  56. package/utils.d.ts +0 -1
package/index.d.cts CHANGED
@@ -1,4 +1,4 @@
1
- import type { Relations } from 'drizzle-orm';
1
+ import type { Relations } from 'drizzle-orm/_relations';
2
2
  import type { MySqlColumn, MySqlSchema, MySqlTable } from 'drizzle-orm/mysql-core';
3
3
  import { MySqlDatabase } from 'drizzle-orm/mysql-core';
4
4
  import type { PgColumn, PgSchema, PgTable } from 'drizzle-orm/pg-core';
@@ -11,104 +11,30 @@ import type { CockroachColumn, CockroachSchema, CockroachTable } from 'drizzle-o
11
11
  import { CockroachDatabase } from 'drizzle-orm/cockroach-core';
12
12
  import type { SingleStoreColumn, SingleStoreSchema, SingleStoreTable } from 'drizzle-orm/singlestore-core';
13
13
  import { SingleStoreDatabase } from 'drizzle-orm/singlestore-core';
14
- import { generatorsFuncs, generatorsFuncsV2 } from './generators/GeneratorFuncs.js';
14
+ import { generatorsFuncs, generatorsFuncsV2, generatorsFuncsV3 } from './generators/GeneratorFuncs.js';
15
15
  import type { AbstractGenerator } from './generators/Generators.js';
16
16
  import type { DrizzleStudioObjectType, DrizzleStudioRelationType } from './types/drizzleStudio.js';
17
17
  import type { DbType, RefinementsType } from './types/seedService.js';
18
18
  type SchemaValuesType = PgTable | PgSchema | MySqlTable | MySqlSchema | SQLiteTable | MsSqlTable | MsSqlSchema | CockroachTable | CockroachSchema | SingleStoreTable | SingleStoreSchema | Relations | any;
19
- type InferCallbackType<DB extends DbType, SCHEMA extends {
20
- [key: string]: SchemaValuesType;
21
- }> = DB extends PgDatabase<any, any> ? SCHEMA extends {
22
- [key: string]: SchemaValuesType;
23
- } ? {
24
- [table in keyof SCHEMA as SCHEMA[table] extends PgTable ? table : never]?: {
25
- count?: number;
26
- columns?: {
27
- [column in keyof SCHEMA[table] as SCHEMA[table][column] extends PgColumn ? column : never]?: AbstractGenerator<any>;
28
- };
29
- with?: {
30
- [refTable in keyof SCHEMA as SCHEMA[refTable] extends PgTable ? refTable : never]?: number | {
31
- weight: number;
32
- count: number | number[];
33
- }[];
34
- };
35
- };
36
- } : {} : DB extends MySqlDatabase<any, any> ? SCHEMA extends {
37
- [key: string]: SchemaValuesType;
38
- } ? {
39
- [table in keyof SCHEMA as SCHEMA[table] extends MySqlTable ? table : never]?: {
40
- count?: number;
41
- columns?: {
42
- [column in keyof SCHEMA[table] as SCHEMA[table][column] extends MySqlColumn ? column : never]?: AbstractGenerator<any>;
43
- };
44
- with?: {
45
- [refTable in keyof SCHEMA as SCHEMA[refTable] extends MySqlTable ? refTable : never]?: number | {
46
- weight: number;
47
- count: number | number[];
48
- }[];
49
- };
50
- };
51
- } : {} : DB extends BaseSQLiteDatabase<any, any> ? SCHEMA extends {
19
+ export type RefineTypes<SCHEMA, TableT, ColumnT> = SCHEMA extends {
52
20
  [key: string]: SchemaValuesType;
53
21
  } ? {
54
- [table in keyof SCHEMA as SCHEMA[table] extends SQLiteTable ? table : never]?: {
22
+ [fieldName in keyof SCHEMA as SCHEMA[fieldName] extends TableT ? fieldName : never]?: {
55
23
  count?: number;
56
24
  columns?: {
57
- [column in keyof SCHEMA[table] as SCHEMA[table][column] extends SQLiteColumn ? column : never]?: AbstractGenerator<any>;
25
+ [column in keyof SCHEMA[fieldName] as SCHEMA[fieldName][column] extends ColumnT ? column : never]?: AbstractGenerator<any> | false;
58
26
  };
59
27
  with?: {
60
- [refTable in keyof SCHEMA as SCHEMA[refTable] extends SQLiteTable ? refTable : never]?: number | {
28
+ [refTable in keyof SCHEMA as SCHEMA[refTable] extends TableT ? refTable : never]?: number | {
61
29
  weight: number;
62
30
  count: number | number[];
63
31
  }[];
64
32
  };
65
33
  };
66
- } : {} : DB extends MsSqlDatabase<any, any> ? SCHEMA extends {
34
+ } : {};
35
+ export type InferCallbackType<DB extends DbType, SCHEMA extends {
67
36
  [key: string]: SchemaValuesType;
68
- } ? {
69
- [table in keyof SCHEMA as SCHEMA[table] extends MsSqlTable ? table : never]?: {
70
- count?: number;
71
- columns?: {
72
- [column in keyof SCHEMA[table] as SCHEMA[table][column] extends MsSqlColumn ? column : never]?: AbstractGenerator<any>;
73
- };
74
- with?: {
75
- [refTable in keyof SCHEMA as SCHEMA[refTable] extends MsSqlTable ? refTable : never]?: number | {
76
- weight: number;
77
- count: number | number[];
78
- }[];
79
- };
80
- };
81
- } : {} : DB extends CockroachDatabase<any, any> ? SCHEMA extends {
82
- [key: string]: SchemaValuesType;
83
- } ? {
84
- [table in keyof SCHEMA as SCHEMA[table] extends CockroachTable ? table : never]?: {
85
- count?: number;
86
- columns?: {
87
- [column in keyof SCHEMA[table] as SCHEMA[table][column] extends CockroachColumn ? column : never]?: AbstractGenerator<any>;
88
- };
89
- with?: {
90
- [refTable in keyof SCHEMA as SCHEMA[refTable] extends CockroachTable ? refTable : never]?: number | {
91
- weight: number;
92
- count: number | number[];
93
- }[];
94
- };
95
- };
96
- } : {} : DB extends SingleStoreDatabase<any, any> ? SCHEMA extends {
97
- [key: string]: SchemaValuesType;
98
- } ? {
99
- [table in keyof SCHEMA as SCHEMA[table] extends SingleStoreTable ? table : never]?: {
100
- count?: number;
101
- columns?: {
102
- [column in keyof SCHEMA[table] as SCHEMA[table][column] extends SingleStoreColumn ? column : never]?: AbstractGenerator<any>;
103
- };
104
- with?: {
105
- [refTable in keyof SCHEMA as SCHEMA[refTable] extends SingleStoreTable ? refTable : never]?: number | {
106
- weight: number;
107
- count: number | number[];
108
- }[];
109
- };
110
- };
111
- } : {} : {};
37
+ }> = DB extends PgDatabase<any, any> ? RefineTypes<SCHEMA, PgTable, PgColumn> : DB extends MySqlDatabase<any, any> ? RefineTypes<SCHEMA, MySqlTable, MySqlColumn> : DB extends BaseSQLiteDatabase<any, any> ? RefineTypes<SCHEMA, SQLiteTable, SQLiteColumn> : DB extends MsSqlDatabase<any, any> ? RefineTypes<SCHEMA, MsSqlTable, MsSqlColumn> : DB extends CockroachDatabase<any, any> ? RefineTypes<SCHEMA, CockroachTable, CockroachColumn> : DB extends SingleStoreDatabase<any, any> ? RefineTypes<SCHEMA, SingleStoreTable, SingleStoreColumn> : {};
112
38
  declare class SeedPromise<DB extends DbType, SCHEMA extends {
113
39
  [key: string]: SchemaValuesType;
114
40
  }, VERSION extends string | undefined> implements Promise<void> {
@@ -127,20 +53,13 @@ declare class SeedPromise<DB extends DbType, SCHEMA extends {
127
53
  finally(onfinally?: (() => void) | null | undefined): Promise<void>;
128
54
  refine(callback: (funcs: FunctionsVersioning<VERSION>) => InferCallbackType<DB, SCHEMA>): Promise<void>;
129
55
  }
130
- type FunctionsVersioning<VERSION extends string | undefined> = VERSION extends `1` ? typeof generatorsFuncs : VERSION extends `2` ? typeof generatorsFuncsV2 : typeof generatorsFuncsV2;
56
+ export type FunctionsVersioning<VERSION extends string | undefined = undefined> = VERSION extends `1` ? typeof generatorsFuncs : VERSION extends `2` ? typeof generatorsFuncsV2 : VERSION extends `3` ? typeof generatorsFuncsV3 : typeof generatorsFuncsV3;
131
57
  export declare function getGeneratorsFunctions(): {
132
58
  default: (args_0: {
133
59
  defaultValue: unknown;
134
60
  arraySize?: number;
135
61
  }) => import("./generators/Generators.js").GenerateDefault;
136
- valuesFromArray: (args_0: {
137
- values: import("./types/seedService.js").GeneratedValueType[] | {
138
- weight: number;
139
- values: import("./types/seedService.js").GeneratedValueType[];
140
- }[];
141
- isUnique?: boolean;
142
- arraySize?: number;
143
- }) => import("./generators/Generators.js").GenerateValuesFromArray;
62
+ valuesFromArray: (args_0: import("./generators/Generators.js").GenerateValuesFromArrayT) => import("./generators/Generators.js").GenerateValuesFromArray;
144
63
  intPrimaryKey: (...args: [] | [{}]) => import("./generators/Generators.js").GenerateIntPrimaryKey;
145
64
  number: (...args: [] | [{
146
65
  minValue?: number;
@@ -205,12 +124,7 @@ export declare function getGeneratorsFunctions(): {
205
124
  email: (...args: [] | [{
206
125
  arraySize?: number;
207
126
  }]) => import("./generators/Generators.js").GenerateEmail;
208
- phoneNumber: (...args: [] | [{
209
- template?: string;
210
- prefixes?: string[];
211
- generatedDigitsNumbers?: number | number[];
212
- arraySize?: number;
213
- }]) => import("./generators/Generators.js").GeneratePhoneNumber;
127
+ phoneNumber: (...args: [] | [import("./generators/Generators.js").GeneratePhoneNumberT]) => import("./generators/Generators.js").GeneratePhoneNumber;
214
128
  country: (...args: [] | [{
215
129
  isUnique?: boolean;
216
130
  arraySize?: number;
@@ -358,7 +272,7 @@ export declare function seedForDrizzleStudio({ sqlDialect, drizzleStudioObject,
358
272
  */
359
273
  export declare function seed<DB extends DbType, SCHEMA extends {
360
274
  [key: string]: SchemaValuesType;
361
- }, VERSION extends '2' | '1' | undefined>(db: DB, schema: SCHEMA, options?: {
275
+ }, VERSION extends '3' | '2' | '1' | undefined>(db: DB, schema: SCHEMA, options?: {
362
276
  count?: number;
363
277
  seed?: number;
364
278
  version?: VERSION;
package/index.d.mts CHANGED
@@ -1,4 +1,4 @@
1
- import type { Relations } from 'drizzle-orm';
1
+ import type { Relations } from 'drizzle-orm/_relations';
2
2
  import type { MySqlColumn, MySqlSchema, MySqlTable } from 'drizzle-orm/mysql-core';
3
3
  import { MySqlDatabase } from 'drizzle-orm/mysql-core';
4
4
  import type { PgColumn, PgSchema, PgTable } from 'drizzle-orm/pg-core';
@@ -11,104 +11,30 @@ import type { CockroachColumn, CockroachSchema, CockroachTable } from 'drizzle-o
11
11
  import { CockroachDatabase } from 'drizzle-orm/cockroach-core';
12
12
  import type { SingleStoreColumn, SingleStoreSchema, SingleStoreTable } from 'drizzle-orm/singlestore-core';
13
13
  import { SingleStoreDatabase } from 'drizzle-orm/singlestore-core';
14
- import { generatorsFuncs, generatorsFuncsV2 } from './generators/GeneratorFuncs.js';
14
+ import { generatorsFuncs, generatorsFuncsV2, generatorsFuncsV3 } from './generators/GeneratorFuncs.js';
15
15
  import type { AbstractGenerator } from './generators/Generators.js';
16
16
  import type { DrizzleStudioObjectType, DrizzleStudioRelationType } from './types/drizzleStudio.js';
17
17
  import type { DbType, RefinementsType } from './types/seedService.js';
18
18
  type SchemaValuesType = PgTable | PgSchema | MySqlTable | MySqlSchema | SQLiteTable | MsSqlTable | MsSqlSchema | CockroachTable | CockroachSchema | SingleStoreTable | SingleStoreSchema | Relations | any;
19
- type InferCallbackType<DB extends DbType, SCHEMA extends {
20
- [key: string]: SchemaValuesType;
21
- }> = DB extends PgDatabase<any, any> ? SCHEMA extends {
22
- [key: string]: SchemaValuesType;
23
- } ? {
24
- [table in keyof SCHEMA as SCHEMA[table] extends PgTable ? table : never]?: {
25
- count?: number;
26
- columns?: {
27
- [column in keyof SCHEMA[table] as SCHEMA[table][column] extends PgColumn ? column : never]?: AbstractGenerator<any>;
28
- };
29
- with?: {
30
- [refTable in keyof SCHEMA as SCHEMA[refTable] extends PgTable ? refTable : never]?: number | {
31
- weight: number;
32
- count: number | number[];
33
- }[];
34
- };
35
- };
36
- } : {} : DB extends MySqlDatabase<any, any> ? SCHEMA extends {
37
- [key: string]: SchemaValuesType;
38
- } ? {
39
- [table in keyof SCHEMA as SCHEMA[table] extends MySqlTable ? table : never]?: {
40
- count?: number;
41
- columns?: {
42
- [column in keyof SCHEMA[table] as SCHEMA[table][column] extends MySqlColumn ? column : never]?: AbstractGenerator<any>;
43
- };
44
- with?: {
45
- [refTable in keyof SCHEMA as SCHEMA[refTable] extends MySqlTable ? refTable : never]?: number | {
46
- weight: number;
47
- count: number | number[];
48
- }[];
49
- };
50
- };
51
- } : {} : DB extends BaseSQLiteDatabase<any, any> ? SCHEMA extends {
19
+ export type RefineTypes<SCHEMA, TableT, ColumnT> = SCHEMA extends {
52
20
  [key: string]: SchemaValuesType;
53
21
  } ? {
54
- [table in keyof SCHEMA as SCHEMA[table] extends SQLiteTable ? table : never]?: {
22
+ [fieldName in keyof SCHEMA as SCHEMA[fieldName] extends TableT ? fieldName : never]?: {
55
23
  count?: number;
56
24
  columns?: {
57
- [column in keyof SCHEMA[table] as SCHEMA[table][column] extends SQLiteColumn ? column : never]?: AbstractGenerator<any>;
25
+ [column in keyof SCHEMA[fieldName] as SCHEMA[fieldName][column] extends ColumnT ? column : never]?: AbstractGenerator<any> | false;
58
26
  };
59
27
  with?: {
60
- [refTable in keyof SCHEMA as SCHEMA[refTable] extends SQLiteTable ? refTable : never]?: number | {
28
+ [refTable in keyof SCHEMA as SCHEMA[refTable] extends TableT ? refTable : never]?: number | {
61
29
  weight: number;
62
30
  count: number | number[];
63
31
  }[];
64
32
  };
65
33
  };
66
- } : {} : DB extends MsSqlDatabase<any, any> ? SCHEMA extends {
34
+ } : {};
35
+ export type InferCallbackType<DB extends DbType, SCHEMA extends {
67
36
  [key: string]: SchemaValuesType;
68
- } ? {
69
- [table in keyof SCHEMA as SCHEMA[table] extends MsSqlTable ? table : never]?: {
70
- count?: number;
71
- columns?: {
72
- [column in keyof SCHEMA[table] as SCHEMA[table][column] extends MsSqlColumn ? column : never]?: AbstractGenerator<any>;
73
- };
74
- with?: {
75
- [refTable in keyof SCHEMA as SCHEMA[refTable] extends MsSqlTable ? refTable : never]?: number | {
76
- weight: number;
77
- count: number | number[];
78
- }[];
79
- };
80
- };
81
- } : {} : DB extends CockroachDatabase<any, any> ? SCHEMA extends {
82
- [key: string]: SchemaValuesType;
83
- } ? {
84
- [table in keyof SCHEMA as SCHEMA[table] extends CockroachTable ? table : never]?: {
85
- count?: number;
86
- columns?: {
87
- [column in keyof SCHEMA[table] as SCHEMA[table][column] extends CockroachColumn ? column : never]?: AbstractGenerator<any>;
88
- };
89
- with?: {
90
- [refTable in keyof SCHEMA as SCHEMA[refTable] extends CockroachTable ? refTable : never]?: number | {
91
- weight: number;
92
- count: number | number[];
93
- }[];
94
- };
95
- };
96
- } : {} : DB extends SingleStoreDatabase<any, any> ? SCHEMA extends {
97
- [key: string]: SchemaValuesType;
98
- } ? {
99
- [table in keyof SCHEMA as SCHEMA[table] extends SingleStoreTable ? table : never]?: {
100
- count?: number;
101
- columns?: {
102
- [column in keyof SCHEMA[table] as SCHEMA[table][column] extends SingleStoreColumn ? column : never]?: AbstractGenerator<any>;
103
- };
104
- with?: {
105
- [refTable in keyof SCHEMA as SCHEMA[refTable] extends SingleStoreTable ? refTable : never]?: number | {
106
- weight: number;
107
- count: number | number[];
108
- }[];
109
- };
110
- };
111
- } : {} : {};
37
+ }> = DB extends PgDatabase<any, any> ? RefineTypes<SCHEMA, PgTable, PgColumn> : DB extends MySqlDatabase<any, any> ? RefineTypes<SCHEMA, MySqlTable, MySqlColumn> : DB extends BaseSQLiteDatabase<any, any> ? RefineTypes<SCHEMA, SQLiteTable, SQLiteColumn> : DB extends MsSqlDatabase<any, any> ? RefineTypes<SCHEMA, MsSqlTable, MsSqlColumn> : DB extends CockroachDatabase<any, any> ? RefineTypes<SCHEMA, CockroachTable, CockroachColumn> : DB extends SingleStoreDatabase<any, any> ? RefineTypes<SCHEMA, SingleStoreTable, SingleStoreColumn> : {};
112
38
  declare class SeedPromise<DB extends DbType, SCHEMA extends {
113
39
  [key: string]: SchemaValuesType;
114
40
  }, VERSION extends string | undefined> implements Promise<void> {
@@ -127,20 +53,13 @@ declare class SeedPromise<DB extends DbType, SCHEMA extends {
127
53
  finally(onfinally?: (() => void) | null | undefined): Promise<void>;
128
54
  refine(callback: (funcs: FunctionsVersioning<VERSION>) => InferCallbackType<DB, SCHEMA>): Promise<void>;
129
55
  }
130
- type FunctionsVersioning<VERSION extends string | undefined> = VERSION extends `1` ? typeof generatorsFuncs : VERSION extends `2` ? typeof generatorsFuncsV2 : typeof generatorsFuncsV2;
56
+ export type FunctionsVersioning<VERSION extends string | undefined = undefined> = VERSION extends `1` ? typeof generatorsFuncs : VERSION extends `2` ? typeof generatorsFuncsV2 : VERSION extends `3` ? typeof generatorsFuncsV3 : typeof generatorsFuncsV3;
131
57
  export declare function getGeneratorsFunctions(): {
132
58
  default: (args_0: {
133
59
  defaultValue: unknown;
134
60
  arraySize?: number;
135
61
  }) => import("./generators/Generators.js").GenerateDefault;
136
- valuesFromArray: (args_0: {
137
- values: import("./types/seedService.js").GeneratedValueType[] | {
138
- weight: number;
139
- values: import("./types/seedService.js").GeneratedValueType[];
140
- }[];
141
- isUnique?: boolean;
142
- arraySize?: number;
143
- }) => import("./generators/Generators.js").GenerateValuesFromArray;
62
+ valuesFromArray: (args_0: import("./generators/Generators.js").GenerateValuesFromArrayT) => import("./generators/Generators.js").GenerateValuesFromArray;
144
63
  intPrimaryKey: (...args: [] | [{}]) => import("./generators/Generators.js").GenerateIntPrimaryKey;
145
64
  number: (...args: [] | [{
146
65
  minValue?: number;
@@ -205,12 +124,7 @@ export declare function getGeneratorsFunctions(): {
205
124
  email: (...args: [] | [{
206
125
  arraySize?: number;
207
126
  }]) => import("./generators/Generators.js").GenerateEmail;
208
- phoneNumber: (...args: [] | [{
209
- template?: string;
210
- prefixes?: string[];
211
- generatedDigitsNumbers?: number | number[];
212
- arraySize?: number;
213
- }]) => import("./generators/Generators.js").GeneratePhoneNumber;
127
+ phoneNumber: (...args: [] | [import("./generators/Generators.js").GeneratePhoneNumberT]) => import("./generators/Generators.js").GeneratePhoneNumber;
214
128
  country: (...args: [] | [{
215
129
  isUnique?: boolean;
216
130
  arraySize?: number;
@@ -358,7 +272,7 @@ export declare function seedForDrizzleStudio({ sqlDialect, drizzleStudioObject,
358
272
  */
359
273
  export declare function seed<DB extends DbType, SCHEMA extends {
360
274
  [key: string]: SchemaValuesType;
361
- }, VERSION extends '2' | '1' | undefined>(db: DB, schema: SCHEMA, options?: {
275
+ }, VERSION extends '3' | '2' | '1' | undefined>(db: DB, schema: SCHEMA, options?: {
362
276
  count?: number;
363
277
  seed?: number;
364
278
  version?: VERSION;
package/index.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import type { Relations } from 'drizzle-orm';
1
+ import type { Relations } from 'drizzle-orm/_relations';
2
2
  import type { MySqlColumn, MySqlSchema, MySqlTable } from 'drizzle-orm/mysql-core';
3
3
  import { MySqlDatabase } from 'drizzle-orm/mysql-core';
4
4
  import type { PgColumn, PgSchema, PgTable } from 'drizzle-orm/pg-core';
@@ -11,104 +11,30 @@ import type { CockroachColumn, CockroachSchema, CockroachTable } from 'drizzle-o
11
11
  import { CockroachDatabase } from 'drizzle-orm/cockroach-core';
12
12
  import type { SingleStoreColumn, SingleStoreSchema, SingleStoreTable } from 'drizzle-orm/singlestore-core';
13
13
  import { SingleStoreDatabase } from 'drizzle-orm/singlestore-core';
14
- import { generatorsFuncs, generatorsFuncsV2 } from './generators/GeneratorFuncs.js';
14
+ import { generatorsFuncs, generatorsFuncsV2, generatorsFuncsV3 } from './generators/GeneratorFuncs.js';
15
15
  import type { AbstractGenerator } from './generators/Generators.js';
16
16
  import type { DrizzleStudioObjectType, DrizzleStudioRelationType } from './types/drizzleStudio.js';
17
17
  import type { DbType, RefinementsType } from './types/seedService.js';
18
18
  type SchemaValuesType = PgTable | PgSchema | MySqlTable | MySqlSchema | SQLiteTable | MsSqlTable | MsSqlSchema | CockroachTable | CockroachSchema | SingleStoreTable | SingleStoreSchema | Relations | any;
19
- type InferCallbackType<DB extends DbType, SCHEMA extends {
20
- [key: string]: SchemaValuesType;
21
- }> = DB extends PgDatabase<any, any> ? SCHEMA extends {
22
- [key: string]: SchemaValuesType;
23
- } ? {
24
- [table in keyof SCHEMA as SCHEMA[table] extends PgTable ? table : never]?: {
25
- count?: number;
26
- columns?: {
27
- [column in keyof SCHEMA[table] as SCHEMA[table][column] extends PgColumn ? column : never]?: AbstractGenerator<any>;
28
- };
29
- with?: {
30
- [refTable in keyof SCHEMA as SCHEMA[refTable] extends PgTable ? refTable : never]?: number | {
31
- weight: number;
32
- count: number | number[];
33
- }[];
34
- };
35
- };
36
- } : {} : DB extends MySqlDatabase<any, any> ? SCHEMA extends {
37
- [key: string]: SchemaValuesType;
38
- } ? {
39
- [table in keyof SCHEMA as SCHEMA[table] extends MySqlTable ? table : never]?: {
40
- count?: number;
41
- columns?: {
42
- [column in keyof SCHEMA[table] as SCHEMA[table][column] extends MySqlColumn ? column : never]?: AbstractGenerator<any>;
43
- };
44
- with?: {
45
- [refTable in keyof SCHEMA as SCHEMA[refTable] extends MySqlTable ? refTable : never]?: number | {
46
- weight: number;
47
- count: number | number[];
48
- }[];
49
- };
50
- };
51
- } : {} : DB extends BaseSQLiteDatabase<any, any> ? SCHEMA extends {
19
+ export type RefineTypes<SCHEMA, TableT, ColumnT> = SCHEMA extends {
52
20
  [key: string]: SchemaValuesType;
53
21
  } ? {
54
- [table in keyof SCHEMA as SCHEMA[table] extends SQLiteTable ? table : never]?: {
22
+ [fieldName in keyof SCHEMA as SCHEMA[fieldName] extends TableT ? fieldName : never]?: {
55
23
  count?: number;
56
24
  columns?: {
57
- [column in keyof SCHEMA[table] as SCHEMA[table][column] extends SQLiteColumn ? column : never]?: AbstractGenerator<any>;
25
+ [column in keyof SCHEMA[fieldName] as SCHEMA[fieldName][column] extends ColumnT ? column : never]?: AbstractGenerator<any> | false;
58
26
  };
59
27
  with?: {
60
- [refTable in keyof SCHEMA as SCHEMA[refTable] extends SQLiteTable ? refTable : never]?: number | {
28
+ [refTable in keyof SCHEMA as SCHEMA[refTable] extends TableT ? refTable : never]?: number | {
61
29
  weight: number;
62
30
  count: number | number[];
63
31
  }[];
64
32
  };
65
33
  };
66
- } : {} : DB extends MsSqlDatabase<any, any> ? SCHEMA extends {
34
+ } : {};
35
+ export type InferCallbackType<DB extends DbType, SCHEMA extends {
67
36
  [key: string]: SchemaValuesType;
68
- } ? {
69
- [table in keyof SCHEMA as SCHEMA[table] extends MsSqlTable ? table : never]?: {
70
- count?: number;
71
- columns?: {
72
- [column in keyof SCHEMA[table] as SCHEMA[table][column] extends MsSqlColumn ? column : never]?: AbstractGenerator<any>;
73
- };
74
- with?: {
75
- [refTable in keyof SCHEMA as SCHEMA[refTable] extends MsSqlTable ? refTable : never]?: number | {
76
- weight: number;
77
- count: number | number[];
78
- }[];
79
- };
80
- };
81
- } : {} : DB extends CockroachDatabase<any, any> ? SCHEMA extends {
82
- [key: string]: SchemaValuesType;
83
- } ? {
84
- [table in keyof SCHEMA as SCHEMA[table] extends CockroachTable ? table : never]?: {
85
- count?: number;
86
- columns?: {
87
- [column in keyof SCHEMA[table] as SCHEMA[table][column] extends CockroachColumn ? column : never]?: AbstractGenerator<any>;
88
- };
89
- with?: {
90
- [refTable in keyof SCHEMA as SCHEMA[refTable] extends CockroachTable ? refTable : never]?: number | {
91
- weight: number;
92
- count: number | number[];
93
- }[];
94
- };
95
- };
96
- } : {} : DB extends SingleStoreDatabase<any, any> ? SCHEMA extends {
97
- [key: string]: SchemaValuesType;
98
- } ? {
99
- [table in keyof SCHEMA as SCHEMA[table] extends SingleStoreTable ? table : never]?: {
100
- count?: number;
101
- columns?: {
102
- [column in keyof SCHEMA[table] as SCHEMA[table][column] extends SingleStoreColumn ? column : never]?: AbstractGenerator<any>;
103
- };
104
- with?: {
105
- [refTable in keyof SCHEMA as SCHEMA[refTable] extends SingleStoreTable ? refTable : never]?: number | {
106
- weight: number;
107
- count: number | number[];
108
- }[];
109
- };
110
- };
111
- } : {} : {};
37
+ }> = DB extends PgDatabase<any, any> ? RefineTypes<SCHEMA, PgTable, PgColumn> : DB extends MySqlDatabase<any, any> ? RefineTypes<SCHEMA, MySqlTable, MySqlColumn> : DB extends BaseSQLiteDatabase<any, any> ? RefineTypes<SCHEMA, SQLiteTable, SQLiteColumn> : DB extends MsSqlDatabase<any, any> ? RefineTypes<SCHEMA, MsSqlTable, MsSqlColumn> : DB extends CockroachDatabase<any, any> ? RefineTypes<SCHEMA, CockroachTable, CockroachColumn> : DB extends SingleStoreDatabase<any, any> ? RefineTypes<SCHEMA, SingleStoreTable, SingleStoreColumn> : {};
112
38
  declare class SeedPromise<DB extends DbType, SCHEMA extends {
113
39
  [key: string]: SchemaValuesType;
114
40
  }, VERSION extends string | undefined> implements Promise<void> {
@@ -127,20 +53,13 @@ declare class SeedPromise<DB extends DbType, SCHEMA extends {
127
53
  finally(onfinally?: (() => void) | null | undefined): Promise<void>;
128
54
  refine(callback: (funcs: FunctionsVersioning<VERSION>) => InferCallbackType<DB, SCHEMA>): Promise<void>;
129
55
  }
130
- type FunctionsVersioning<VERSION extends string | undefined> = VERSION extends `1` ? typeof generatorsFuncs : VERSION extends `2` ? typeof generatorsFuncsV2 : typeof generatorsFuncsV2;
56
+ export type FunctionsVersioning<VERSION extends string | undefined = undefined> = VERSION extends `1` ? typeof generatorsFuncs : VERSION extends `2` ? typeof generatorsFuncsV2 : VERSION extends `3` ? typeof generatorsFuncsV3 : typeof generatorsFuncsV3;
131
57
  export declare function getGeneratorsFunctions(): {
132
58
  default: (args_0: {
133
59
  defaultValue: unknown;
134
60
  arraySize?: number;
135
61
  }) => import("./generators/Generators.js").GenerateDefault;
136
- valuesFromArray: (args_0: {
137
- values: import("./types/seedService.js").GeneratedValueType[] | {
138
- weight: number;
139
- values: import("./types/seedService.js").GeneratedValueType[];
140
- }[];
141
- isUnique?: boolean;
142
- arraySize?: number;
143
- }) => import("./generators/Generators.js").GenerateValuesFromArray;
62
+ valuesFromArray: (args_0: import("./generators/Generators.js").GenerateValuesFromArrayT) => import("./generators/Generators.js").GenerateValuesFromArray;
144
63
  intPrimaryKey: (...args: [] | [{}]) => import("./generators/Generators.js").GenerateIntPrimaryKey;
145
64
  number: (...args: [] | [{
146
65
  minValue?: number;
@@ -205,12 +124,7 @@ export declare function getGeneratorsFunctions(): {
205
124
  email: (...args: [] | [{
206
125
  arraySize?: number;
207
126
  }]) => import("./generators/Generators.js").GenerateEmail;
208
- phoneNumber: (...args: [] | [{
209
- template?: string;
210
- prefixes?: string[];
211
- generatedDigitsNumbers?: number | number[];
212
- arraySize?: number;
213
- }]) => import("./generators/Generators.js").GeneratePhoneNumber;
127
+ phoneNumber: (...args: [] | [import("./generators/Generators.js").GeneratePhoneNumberT]) => import("./generators/Generators.js").GeneratePhoneNumber;
214
128
  country: (...args: [] | [{
215
129
  isUnique?: boolean;
216
130
  arraySize?: number;
@@ -358,7 +272,7 @@ export declare function seedForDrizzleStudio({ sqlDialect, drizzleStudioObject,
358
272
  */
359
273
  export declare function seed<DB extends DbType, SCHEMA extends {
360
274
  [key: string]: SchemaValuesType;
361
- }, VERSION extends '2' | '1' | undefined>(db: DB, schema: SCHEMA, options?: {
275
+ }, VERSION extends '3' | '2' | '1' | undefined>(db: DB, schema: SCHEMA, options?: {
362
276
  count?: number;
363
277
  seed?: number;
364
278
  version?: VERSION;