Skip to main content

Getting Started

Install

npm install @csdb/typescript

Create A Database In Memory

import { CSDBDatabase } from "@csdb/typescript";

const db = CSDBDatabase.parse(`--- csdb
format: CSDB
version: 1
name: demo
tables:
- notes

--- table:notes:schema
name: notes
columns:
id: text
body: text
required:
- id
primary_key:
columns: [id]

--- table:notes:data
id,body
n_001,hello
`);

Insert And Query Rows

db.table("notes").insert({ id: "n_002", body: "from the fluent API" });
db.table("notes").insert({ id: "n_003", body: null });

const notes = db.table("notes")
.where("body", "!=", null)
.orderBy("id")
.all();

Optional non-primary-key columns accept null. In CSV, unquoted empty fields represent null, while quoted empty strings remain empty strings.

Save A File

import { saveCSDB } from "@csdb/typescript";

await saveCSDB(db, "demo.csdb", { machineIndexes: "omit" });