GenerateString Class — drizzle-orm Architecture
Architecture documentation for the GenerateString class in Generators.ts from the drizzle-orm codebase.
Entity Profile
Dependency Diagram
graph TD de2619a7_b9ff_16cc_097d_ee6555efeb5e["GenerateString"] e5cee001_0354_7e76_ef0a_06dca71dc8ce["Generators.ts"] de2619a7_b9ff_16cc_097d_ee6555efeb5e -->|defined in| e5cee001_0354_7e76_ef0a_06dca71dc8ce d8b3d81e_db2d_edd8_3be2_5ed478604eb3["init()"] de2619a7_b9ff_16cc_097d_ee6555efeb5e -->|method| d8b3d81e_db2d_edd8_3be2_5ed478604eb3 e1c8402a_c68f_51c0_0696_f7cd12055919["generate()"] de2619a7_b9ff_16cc_097d_ee6555efeb5e -->|method| e1c8402a_c68f_51c0_0696_f7cd12055919
Relationship Graph
Source Code
drizzle-seed/src/services/Generators.ts lines 1423–1467
export class GenerateString extends AbstractGenerator<{
isUnique?: boolean;
arraySize?: number;
}> {
static override readonly entityKind: string = 'GenerateString';
private state: { rng: prand.RandomGenerator } | undefined;
override uniqueVersionOfGen = GenerateUniqueString;
override init({ count, seed }: { count: number; seed: number }) {
super.init({ count, seed });
const rng = prand.xoroshiro128plus(seed);
this.state = { rng };
}
generate() {
if (this.state === undefined) {
throw new Error('state is not defined.');
}
const minStringLength = 7;
const maxStringLength = 20;
const stringChars = '1234567890abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';
let idx: number,
strLength: number,
currStr: string;
currStr = '';
[strLength, this.state.rng] = prand.uniformIntDistribution(
minStringLength,
maxStringLength,
this.state.rng,
);
for (let j = 0; j < strLength; j++) {
[idx, this.state.rng] = prand.uniformIntDistribution(
0,
stringChars.length - 1,
this.state.rng,
);
currStr += stringChars[idx];
}
return currStr;
}
}
Domain
Defined In
Source
Frequently Asked Questions
What is the GenerateString class?
GenerateString is a class in the drizzle-orm codebase, defined in drizzle-seed/src/services/Generators.ts.
Where is GenerateString defined?
GenerateString is defined in drizzle-seed/src/services/Generators.ts at line 1423.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free