GenerateTimestamp Class — drizzle-orm Architecture
Architecture documentation for the GenerateTimestamp class in Generators.ts from the drizzle-orm codebase.
Entity Profile
Dependency Diagram
graph TD 2b9767de_2ad4_e5f4_cda6_c3b0f950bfb2["GenerateTimestamp"] e5cee001_0354_7e76_ef0a_06dca71dc8ce["Generators.ts"] 2b9767de_2ad4_e5f4_cda6_c3b0f950bfb2 -->|defined in| e5cee001_0354_7e76_ef0a_06dca71dc8ce 75e9a8a5_7190_adbc_8585_2e82fe00f48d["init()"] 2b9767de_2ad4_e5f4_cda6_c3b0f950bfb2 -->|method| 75e9a8a5_7190_adbc_8585_2e82fe00f48d 273c7454_c6f6_3f2e_89f6_885815c26847["generate()"] 2b9767de_2ad4_e5f4_cda6_c3b0f950bfb2 -->|method| 273c7454_c6f6_3f2e_89f6_885815c26847
Relationship Graph
Source Code
drizzle-seed/src/services/Generators.ts lines 977–1019
export class GenerateTimestamp extends AbstractGenerator<{ arraySize?: number }> {
static override readonly entityKind: string = 'GenerateTimestamp';
private state: {
rng: prand.RandomGenerator;
} | undefined;
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 anchorTimestamp = new Date('2024-05-08');
const twoYearsInMilliseconds = 2 * 31536000000;
let date = new Date();
let milliseconds: number;
[milliseconds, this.state.rng] = prand.uniformIntDistribution(
-twoYearsInMilliseconds,
twoYearsInMilliseconds,
this.state.rng,
);
date = new Date(date.setTime(anchorTimestamp.getTime() + milliseconds));
if (this.dataType === 'string') {
return date
.toISOString()
.replace('T', ' ')
.replace(/\.\d{3}Z/, '');
}
return date;
}
}
Domain
Defined In
Source
Frequently Asked Questions
What is the GenerateTimestamp class?
GenerateTimestamp is a class in the drizzle-orm codebase, defined in drizzle-seed/src/services/Generators.ts.
Where is GenerateTimestamp defined?
GenerateTimestamp is defined in drizzle-seed/src/services/Generators.ts at line 977.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free