GenerateNumber Class — drizzle-orm Architecture
Architecture documentation for the GenerateNumber class in Generators.ts from the drizzle-orm codebase.
Entity Profile
Dependency Diagram
graph TD 5043a731_a89f_e117_34c8_0f660eefd9d6["GenerateNumber"] e5cee001_0354_7e76_ef0a_06dca71dc8ce["Generators.ts"] 5043a731_a89f_e117_34c8_0f660eefd9d6 -->|defined in| e5cee001_0354_7e76_ef0a_06dca71dc8ce 36efee29_bea2_da6e_974e_e77e924fb9b3["init()"] 5043a731_a89f_e117_34c8_0f660eefd9d6 -->|method| 36efee29_bea2_da6e_974e_e77e924fb9b3 78a15eb1_20f1_e00f_c86f_1be649b8afc3["generate()"] 5043a731_a89f_e117_34c8_0f660eefd9d6 -->|method| 78a15eb1_20f1_e00f_c86f_1be649b8afc3
Relationship Graph
Source Code
drizzle-seed/src/services/Generators.ts lines 464–518
export class GenerateNumber extends AbstractGenerator<
{
minValue?: number;
maxValue?: number;
precision?: number;
isUnique?: boolean;
arraySize?: number;
}
> {
static override readonly entityKind: string = 'GenerateNumber';
private state: {
rng: prand.RandomGenerator;
minValue: number;
maxValue: number;
precision: number;
} | undefined;
override uniqueVersionOfGen = GenerateUniqueNumber;
override init({ count, seed }: { seed: number; count: number }) {
super.init({ count, seed });
let { minValue, maxValue, precision } = this.params;
if (precision === undefined) {
precision = 100;
}
if (maxValue === undefined) {
maxValue = precision * 1000;
} else {
maxValue *= precision;
}
if (minValue === undefined) {
minValue = -maxValue;
} else {
minValue *= precision;
}
const rng = prand.xoroshiro128plus(seed);
this.state = { rng, minValue, maxValue, precision };
}
generate() {
if (this.state === undefined) {
throw new Error('state is not defined.');
}
let value: number;
[value, this.state.rng] = prand.uniformIntDistribution(this.state.minValue, this.state.maxValue, this.state.rng);
return value / this.state.precision;
}
}
Domain
Defined In
Source
Frequently Asked Questions
What is the GenerateNumber class?
GenerateNumber is a class in the drizzle-orm codebase, defined in drizzle-seed/src/services/Generators.ts.
Where is GenerateNumber defined?
GenerateNumber is defined in drizzle-seed/src/services/Generators.ts at line 464.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free