Home / Class/ GenerateTime Class — drizzle-orm Architecture

GenerateTime Class — drizzle-orm Architecture

Architecture documentation for the GenerateTime class in Generators.ts from the drizzle-orm codebase.

Entity Profile

Dependency Diagram

graph TD
  75664d9b_4bcd_ac81_49ff_103a6117d024["GenerateTime"]
  e5cee001_0354_7e76_ef0a_06dca71dc8ce["Generators.ts"]
  75664d9b_4bcd_ac81_49ff_103a6117d024 -->|defined in| e5cee001_0354_7e76_ef0a_06dca71dc8ce
  402d018b_c4c2_3b68_a792_429272643fe3["init()"]
  75664d9b_4bcd_ac81_49ff_103a6117d024 -->|method| 402d018b_c4c2_3b68_a792_429272643fe3
  78d60b06_8075_885e_3119_393908410b63["generate()"]
  75664d9b_4bcd_ac81_49ff_103a6117d024 -->|method| 78d60b06_8075_885e_3119_393908410b63

Relationship Graph

Source Code

drizzle-seed/src/services/Generators.ts lines 908–943

export class GenerateTime extends AbstractGenerator<{ arraySize?: number }> {
	static override readonly entityKind: string = 'GenerateTime';

	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 anchorDateTime = new Date('2024-05-08T12:00:00.000Z');
		const oneDayInMilliseconds = 86400000;

		let date = new Date();
		let milliseconds: number;

		[milliseconds, this.state.rng] = prand.uniformIntDistribution(
			-oneDayInMilliseconds,
			oneDayInMilliseconds,
			this.state.rng,
		);
		date = new Date(date.setTime(anchorDateTime.getTime() + milliseconds));

		return date.toISOString().replace(/(\d{4}-\d{2}-\d{2}T)|(\.\d{3}Z)/g, '');
	}
}

Domain

Frequently Asked Questions

What is the GenerateTime class?
GenerateTime is a class in the drizzle-orm codebase, defined in drizzle-seed/src/services/Generators.ts.
Where is GenerateTime defined?
GenerateTime is defined in drizzle-seed/src/services/Generators.ts at line 908.

Analyze Your Own Codebase

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

Try Supermodel Free