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

generateBigint() — drizzle-orm Function Reference

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

Entity Profile

Dependency Diagram

graph TD
  72c3e623_159f_0722_0f85_3d39045d8852["generateBigint()"]
  e2c413a5_f1cc_23b4_acd7_ab626330b0d7["GenerateUniqueInt"]
  72c3e623_159f_0722_0f85_3d39045d8852 -->|defined in| e2c413a5_f1cc_23b4_acd7_ab626330b0d7
  cf7d0536_2315_3048_f863_848c58a61729["generate()"]
  cf7d0536_2315_3048_f863_848c58a61729 -->|calls| 72c3e623_159f_0722_0f85_3d39045d8852
  style 72c3e623_159f_0722_0f85_3d39045d8852 fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

drizzle-seed/src/services/Generators.ts lines 784–812

	generateBigint(currMinNumb: bigint, currMaxNumb: bigint, intervalsToAdd: bigint[][], intervalIdx: number) {
		let numb: bigint;
		[numb, this.state!.rng] = prand.uniformBigIntDistribution(currMinNumb, currMaxNumb, this.state!.rng);
		if (this.genMaxRepeatedValuesCount !== undefined) {
			if (this.state!.integersCount.get(numb) === undefined) {
				this.state!.integersCount.set(numb, this.genMaxRepeatedValuesCount.generate() as number);
			}
			this.state!.integersCount.set(numb, this.state!.integersCount.get(numb)! - 1);
		}

		if (this.state!.integersCount.get(numb) === undefined || this.state!.integersCount.get(numb) === 0) {
			if (numb === currMinNumb) {
				intervalsToAdd = numb + BigInt(1) <= currMaxNumb ? [[numb + BigInt(1), currMaxNumb]] : [];
			} else if (numb === currMaxNumb) {
				intervalsToAdd = [[currMinNumb, numb - BigInt(1)]];
			} else {
				intervalsToAdd = [
					[currMinNumb, numb - BigInt(1)],
					[numb + BigInt(1), currMaxNumb],
				];
			}

			this.state!.intervals[intervalIdx] = this.state!.intervals[this.state!.intervals.length - 1]!;
			this.state?.intervals.pop();
			this.state!.intervals.push(...intervalsToAdd);
		}

		return numb;
	}

Domain

Subdomains

Called By

Frequently Asked Questions

What does generateBigint() do?
generateBigint() is a function in the drizzle-orm codebase, defined in drizzle-seed/src/services/Generators.ts.
Where is generateBigint() defined?
generateBigint() is defined in drizzle-seed/src/services/Generators.ts at line 784.
What calls generateBigint()?
generateBigint() is called by 1 function(s): generate.

Analyze Your Own Codebase

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

Try Supermodel Free