Home / Function/ generate() — drizzle-orm Function Reference

generate() — drizzle-orm Function Reference

Architecture documentation for the generate() function in Generators.ts from the drizzle-orm codebase.

Entity Profile

Dependency Diagram

graph TD
  55b4a788_d2f7_de51_fa94_c8ef1823444e["generate()"]
  06b964e7_b23f_279e_aab9_e842d84085a5["GeneratePhoneNumber"]
  55b4a788_d2f7_de51_fa94_c8ef1823444e -->|defined in| 06b964e7_b23f_279e_aab9_e842d84085a5
  b796adef_dfbc_ebaa_ea14_31e6339b630a["fillTemplate()"]
  55b4a788_d2f7_de51_fa94_c8ef1823444e -->|calls| b796adef_dfbc_ebaa_ea14_31e6339b630a
  style 55b4a788_d2f7_de51_fa94_c8ef1823444e fill:#6366f1,stroke:#818cf8,color:#fff

Relationship Graph

Source Code

drizzle-seed/src/services/Generators.ts lines 2026–2080

	generate() {
		if (this.state === undefined) {
			throw new Error('state is not defined.');
		}

		let prefix: string, generatedDigitsNumber: number, numberBody: string, phoneNumber: string, idx: number;

		if (this.params.template === undefined) {
			for (;;) {
				[idx, this.state.rng] = prand.uniformIntDistribution(
					0,
					this.state.prefixesArray.length - 1,
					this.state.rng,
				);
				prefix = this.state.prefixesArray[idx] as string;
				generatedDigitsNumber = this.state.generatedDigitsNumbers[idx] as number;

				numberBody = String(this.state.generatorsMap.get(prefix)?.generate());
				if (numberBody === 'undefined') {
					this.state.prefixesArray!.splice(idx, 1);
					this.state.generatedDigitsNumbers.splice(idx, 1);

					this.state.generatorsMap.delete(prefix);

					continue;
				}

				if (this.state.phoneNumbersSet.has(numberBody)) {
					continue;
				}
				this.state.phoneNumbersSet.add(numberBody);

				break;
			}

			const digitsNumberDiff = generatedDigitsNumber - numberBody.length;
			if (digitsNumberDiff > 0) {
				numberBody = '0'.repeat(digitsNumberDiff) + numberBody;
			}

			phoneNumber = prefix + '' + numberBody;

			return phoneNumber;
		} else {
			numberBody = String(this.state.generatorsMap.get(this.params.template)?.generate());
			phoneNumber = fillTemplate({
				template: this.params.template,
				values: [...numberBody],
				defaultValue: '0',
				placeholdersCount: this.state.placeholdersCount,
			});

			return phoneNumber;
		}
	}

Domain

Subdomains

Frequently Asked Questions

What does generate() do?
generate() is a function in the drizzle-orm codebase, defined in drizzle-seed/src/services/Generators.ts.
Where is generate() defined?
generate() is defined in drizzle-seed/src/services/Generators.ts at line 2026.
What does generate() call?
generate() calls 1 function(s): fillTemplate.

Analyze Your Own Codebase

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

Try Supermodel Free