Home / Function/ generate() — drizzle-orm Function Reference

generate() — drizzle-orm Function Reference

Architecture documentation for the generate() function in Generators.ts from the drizzle-orm codebase.

Entity Profile

Dependency Diagram

graph TD
  86fb88c9_2a66_2c82_d020_863198e16aa0["generate()"]
  ebde298b_d6a3_4062_c1b1_f4cfa069de7b["GenerateValuesFromArray"]
  86fb88c9_2a66_2c82_d020_863198e16aa0 -->|defined in| ebde298b_d6a3_4062_c1b1_f4cfa069de7b
  style 86fb88c9_2a66_2c82_d020_863198e16aa0 fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

drizzle-seed/src/services/Generators.ts lines 362–403

	generate() {
		const t0 = new Date();

		if (this.state === undefined) {
			throw new Error('state is not defined.');
		}

		let idx: number,
			value: string | number | boolean | undefined;
		let valueIdx: number;

		if (this.state.valuesWeightedIndices === undefined) {
			if (this.state.genIndicesObj === undefined) {
				[idx, this.state.rng] = prand.uniformIntDistribution(0, this.state.values.length - 1, this.state.rng);
			} else {
				idx = this.state.genIndicesObj.generate() as number;
			}

			value = (this.state.values as (number | string | boolean | undefined)[])[idx];
		} else {
			// weighted values
			[idx, this.state.rng] = prand.uniformIntDistribution(
				0,
				this.state.valuesWeightedIndices.length - 1,
				this.state.rng,
			);
			valueIdx = this.state.valuesWeightedIndices[idx] as number;
			const currValues =
				(this.state.values![valueIdx] as { weight: number; values: (number | string | boolean | undefined)[] }).values;
			if (this.state.genIndicesObjList === undefined) {
				// isUnique !== true
				[idx, this.state.rng] = prand.uniformIntDistribution(0, currValues.length - 1, this.state.rng);
			} else {
				// isUnique === true
				idx = this.state.genIndicesObjList[valueIdx]!.generate() as number;
			}
			value = currValues[idx];
		}

		this.timeSpent += (Date.now() - t0.getTime()) / 1000;
		return value;
	}

Domain

Subdomains

Frequently Asked Questions

What does generate() do?
generate() is a function in the drizzle-orm codebase, defined in drizzle-seed/src/services/Generators.ts.
Where is generate() defined?
generate() is defined in drizzle-seed/src/services/Generators.ts at line 362.

Analyze Your Own Codebase

Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.

Try Supermodel Free