GenerateState Class — drizzle-orm Architecture
Architecture documentation for the GenerateState class in Generators.ts from the drizzle-orm codebase.
Entity Profile
Dependency Diagram
graph TD 7d607215_ca79_3d42_cf47_e3abe64e575d["GenerateState"] e5cee001_0354_7e76_ef0a_06dca71dc8ce["Generators.ts"] 7d607215_ca79_3d42_cf47_e3abe64e575d -->|defined in| e5cee001_0354_7e76_ef0a_06dca71dc8ce efc7aa55_d94f_df25_6684_ae9476e9c0e7["init()"] 7d607215_ca79_3d42_cf47_e3abe64e575d -->|method| efc7aa55_d94f_df25_6684_ae9476e9c0e7 41cd1eac_296f_a4b2_312b_f4f32c7e3744["generate()"] 7d607215_ca79_3d42_cf47_e3abe64e575d -->|method| 41cd1eac_296f_a4b2_312b_f4f32c7e3744
Relationship Graph
Source Code
drizzle-seed/src/services/Generators.ts lines 2553–2586
export class GenerateState extends AbstractGenerator<{
arraySize?: number;
}> {
static override readonly entityKind: string = 'GenerateState';
private state: {
rng: prand.RandomGenerator;
} | undefined;
override init({ count, seed }: { count: number; seed: number }) {
super.init({ count, seed });
const rng = prand.xoroshiro128plus(seed);
if (this.stringLength !== undefined && this.stringLength < maxStateLength) {
throw new Error(
`You can't use state generator with a db column length restriction of ${this.stringLength}. Set the maximum string length to at least ${maxStateLength}.`,
);
}
this.state = { rng };
}
generate() {
if (this.state === undefined) {
throw new Error('state is not defined.');
}
let idx;
[idx, this.state.rng] = prand.uniformIntDistribution(0, states.length - 1, this.state.rng);
return states[idx];
}
}
Domain
Defined In
Source
Frequently Asked Questions
What is the GenerateState class?
GenerateState is a class in the drizzle-orm codebase, defined in drizzle-seed/src/services/Generators.ts.
Where is GenerateState defined?
GenerateState is defined in drizzle-seed/src/services/Generators.ts at line 2553.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free