Skip to content

ts-query-model

API documentation

Types for database queries with minimum fuss. Supports MySQL, PostgreSQL and SQLite.

Quick overview

1. Connect to your database

ts
import { 
Database
,
MySQLConnection
} from "ts-query-model";
const
db
= new
Database
(
new
MySQLConnection
({
uri
: "mysql://your-database-connection-string",
}) );

2. Build your model

ts
const 
myAwesomeModel
= {
getUsers
:
db
.
getMany
({
name
: "get-all-users",
columns
: {
id
:
columns
.
numberColumnAutoIncrement
(),
name
:
columns
.
stringColumn
(),
dateCreated
:
columns
.
dateColumn
(),
isAwesome
:
columns
.
booleanIntColumn
(),
},
query
: ({
limit
}: {
limit
: number }) =>
SQL
`SELECT id, name, dateCreated, isAwesome FROM users LIMIT ${
limit
}`,
}), };

3. Easy, correctly typed queries

ts
const 
awesomeUsers
= await
myAwesomeModel
.
getUsers
({
limit
: 10 });