Home / Class/ GenerateYear Class — drizzle-orm Architecture

GenerateYear Class — drizzle-orm Architecture

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

Entity Profile

Dependency Diagram

graph TD
  953b0a20_f99c_96e4_8db4_47e5318b4458["GenerateYear"]
  e5cee001_0354_7e76_ef0a_06dca71dc8ce["Generators.ts"]
  953b0a20_f99c_96e4_8db4_47e5318b4458 -->|defined in| e5cee001_0354_7e76_ef0a_06dca71dc8ce
  81ebe930_8d11_160b_a9ce_d0882e2df7f6["init()"]
  953b0a20_f99c_96e4_8db4_47e5318b4458 -->|method| 81ebe930_8d11_160b_a9ce_d0882e2df7f6
  f1ec6808_66f0_66d8_ca4b_92e48d79b4a2["generate()"]
  953b0a20_f99c_96e4_8db4_47e5318b4458 -->|method| f1ec6808_66f0_66d8_ca4b_92e48d79b4a2

Relationship Graph

Source Code

drizzle-seed/src/services/Generators.ts lines 1065–1098

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

	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 anchorDate = new Date('2024-05-08');
		const tenYears = 10;

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

		[years, this.state.rng] = prand.uniformIntDistribution(-tenYears, tenYears, this.state.rng);
		date = new Date(date.setFullYear(anchorDate.getFullYear() + years));

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

Domain

Frequently Asked Questions

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

Analyze Your Own Codebase

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

Try Supermodel Free