virtual.ts — astro Source File
Architecture documentation for virtual.ts, a typescript file in the astro codebase. 2 imports, 0 dependents.
Entity Profile
Dependency Diagram
graph LR 22ba0d9c_1871_6daf_b8e8_856593fa07f3["virtual.ts"] 97fa73a6_cf67_73a5_b60d_d52bfb00c7d8["./core/types.js"] 22ba0d9c_1871_6daf_b8e8_856593fa07f3 --> 97fa73a6_cf67_73a5_b60d_d52bfb00c7d8 5e5ea2f4_4ff1_f558_0bea_0b3ded79b0ac["drizzle-orm"] 22ba0d9c_1871_6daf_b8e8_856593fa07f3 --> 5e5ea2f4_4ff1_f558_0bea_0b3ded79b0ac style 22ba0d9c_1871_6daf_b8e8_856593fa07f3 fill:#6366f1,stroke:#818cf8,color:#fff
Relationship Graph
Source Code
import { sql as _sql } from 'drizzle-orm';
import type {
BooleanColumnInput,
ColumnsConfig,
DateColumnInput,
DBConfigInput,
JsonColumnInput,
NumberColumnOpts,
TableConfig,
TextColumnOpts,
} from '../core/types.js';
function createColumn<S extends string, T extends Record<string, unknown>>(type: S, schema: T) {
return {
type,
/**
* @internal
*/
schema,
};
}
export const column = {
number: <T extends NumberColumnOpts>(opts: T = {} as T) => {
return createColumn('number', opts) satisfies { type: 'number' };
},
boolean: <T extends BooleanColumnInput['schema']>(opts: T = {} as T) => {
return createColumn('boolean', opts) satisfies { type: 'boolean' };
},
text: <
T extends TextColumnOpts,
const E extends T['enum'] extends readonly [string, ...string[]]
? Omit<T, 'enum'> & T['enum']
: T,
>(
opts: E = {} as E,
) => {
return createColumn('text', opts) satisfies { type: 'text' };
},
date<T extends DateColumnInput['schema']>(opts: T = {} as T) {
return createColumn('date', opts) satisfies { type: 'date' };
},
json<T extends JsonColumnInput['schema']>(opts: T = {} as T) {
return createColumn('json', opts) satisfies { type: 'json' };
},
};
export function defineTable<TColumns extends ColumnsConfig>(userConfig: TableConfig<TColumns>) {
return userConfig;
}
export function defineDb(userConfig: DBConfigInput) {
return userConfig;
}
// Exports a few common expressions
export const NOW = _sql`CURRENT_TIMESTAMP`;
export const TRUE = _sql`TRUE`;
export const FALSE = _sql`FALSE`;
export {
and,
asc,
avg,
avgDistinct,
between,
count,
countDistinct,
desc,
eq,
exists,
gt,
gte,
ilike,
inArray,
isNotNull,
isNull,
like,
lt,
lte,
max,
min,
ne,
not,
notBetween,
notExists,
notIlike,
notInArray,
or,
sql,
sum,
sumDistinct,
} from 'drizzle-orm';
export { alias } from 'drizzle-orm/sqlite-core';
export { isDbError } from './utils.js';
Domain
Subdomains
Functions
Dependencies
- ./core/types.js
- drizzle-orm
Source
Frequently Asked Questions
What does virtual.ts do?
virtual.ts is a source file in the astro codebase, written in typescript. It belongs to the CoreAstro domain, RoutingSystem subdomain.
What functions are defined in virtual.ts?
virtual.ts defines 8 function(s): column.boolean, column.date, column.json, column.number, column.text, createColumn, defineDb, defineTable.
What does virtual.ts depend on?
virtual.ts imports 2 module(s): ./core/types.js, drizzle-orm.
Where is virtual.ts in the architecture?
virtual.ts is located at packages/db/src/runtime/virtual.ts (domain: CoreAstro, subdomain: RoutingSystem, directory: packages/db/src/runtime).
Analyze Your Own Codebase
Get architecture documentation, dependency graphs, and domain analysis for your codebase in minutes.
Try Supermodel Free