ResolveColumnSelect Class — drizzle-orm Architecture
Architecture documentation for the ResolveColumnSelect class in views.ts from the drizzle-orm codebase.
Entity Profile
Dependency Diagram
graph TD 497651e7_a4ec_6d4f_032c_3bf464b8bb74["ResolveColumnSelect"] 217e2cbd_4fb7_ceab_251c_5733ece08a8f["views.ts"] 497651e7_a4ec_6d4f_032c_3bf464b8bb74 -->|defined in| 217e2cbd_4fb7_ceab_251c_5733ece08a8f 7c37dee7_56b6_09e8_d699_5d969f6aa4e0["constructor()"] 497651e7_a4ec_6d4f_032c_3bf464b8bb74 -->|method| 7c37dee7_56b6_09e8_d699_5d969f6aa4e0 aa0983f7_dd2d_c6aa_7bec_88cafb214e9c["render()"] 497651e7_a4ec_6d4f_032c_3bf464b8bb74 -->|method| aa0983f7_dd2d_c6aa_7bec_88cafb214e9c f80e1813_ae7f_9847_c524_87b9676337b2["result()"] 497651e7_a4ec_6d4f_032c_3bf464b8bb74 -->|method| f80e1813_ae7f_9847_c524_87b9676337b2
Relationship Graph
Source Code
drizzle-kit/src/cli/views.ts lines 89–159
export class ResolveColumnSelect<T extends Named> extends Prompt<
RenamePropmtItem<T> | T
> {
private readonly data: SelectState<RenamePropmtItem<T> | T>;
constructor(
private readonly tableName: string,
private readonly base: Named,
data: (RenamePropmtItem<T> | T)[],
) {
super();
this.on('attach', (terminal) => terminal.toggleCursor('hide'));
this.data = new SelectState(data);
this.data.bind(this);
}
render(status: 'idle' | 'submitted' | 'aborted'): string {
if (status === 'submitted' || status === 'aborted') {
return '\n';
}
let text = `\nIs ${
chalk.bold.blue(
this.base.name,
)
} column in ${
chalk.bold.blue(
this.tableName,
)
} table created or renamed from another column?\n`;
const isSelectedRenamed = isRenamePromptItem(
this.data.items[this.data.selectedIdx],
);
const selectedPrefix = isSelectedRenamed
? chalk.yellow('❯ ')
: chalk.green('❯ ');
const labelLength: number = this.data.items
.filter((it) => isRenamePromptItem(it))
.map((it: RenamePropmtItem<T>) => {
return this.base.name.length + 3 + it['from'].name.length;
})
.reduce((a, b) => {
if (a > b) {
return a;
}
return b;
}, 0);
this.data.items.forEach((it, idx) => {
const isSelected = idx === this.data.selectedIdx;
const isRenamed = isRenamePromptItem(it);
const title = isRenamed
? `${it.from.name} › ${it.to.name}`.padEnd(labelLength, ' ')
: it.name.padEnd(labelLength, ' ');
const label = isRenamed
? `${chalk.yellow('~')} ${title} ${chalk.gray('rename column')}`
: `${chalk.green('+')} ${title} ${chalk.gray('create column')}`;
text += isSelected ? `${selectedPrefix}${label}` : ` ${label}`;
text += idx != this.data.items.length - 1 ? '\n' : '';
});
return text;
}
result(): RenamePropmtItem<T> | T {
return this.data.items[this.data.selectedIdx]!;
}
}
Domain
Defined In
Source
Frequently Asked Questions
What is the ResolveColumnSelect class?
ResolveColumnSelect is a class in the drizzle-orm codebase, defined in drizzle-kit/src/cli/views.ts.
Where is ResolveColumnSelect defined?
ResolveColumnSelect is defined in drizzle-kit/src/cli/views.ts at line 89.
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free