cosmotype
TypeScript icon, indicating that this package has built-in type declarations

1.0.10 • Public • Published

cosmotype

Codecov downloads npm GitHub

Type Driven Database Framework.

Features

  • Compatibility. Complete driver-independent. Supports many drivers with a unified API.
  • Powerful. It can do everything that SQL can do, even though you are not using SQL drivers.
  • Well-typed. Cosmotype is written with TypeScript, and it provides top-level typing support.
  • Extensible. Simultaneous accesss to different databases based on your needs.
  • Modern. Perform all the operations with a JavaScript API or even in the brower with low code.

Driver Supports

Driver Version Notes
MySQL npm MySQL 5.7, MySQL 8.0, MariaDB 10.5
MongoDB npm
SQLite npm
LevelDB npm
Memory npm In-memory driver support

Basic Usage

import { Database } from 'cosmotype'

const database = new Database()

await database.connect('mysql', {
  host: 'localhost',
  port: 3306,
  user: 'root',
  password: '',
  database: 'cosmotype',
})

Data Definition

database.extend('user', {
  id: 'number',
  name: 'string',
  age: 'number',
  money: { type: 'number', initial: 100 },
}, {
  primary: 'id',
  autoInc: true,
})

Simple API

create

const user = await driver.create('user', {
  name: 'John',
  age: 20,
}) // { id: 1, name: 'John', age: 20, money: 100 }

get

remove

set

upsert

Selection API

Using TypeScript

Using Multiple Drivers

Readme

Keywords

Package Sidebar

Install

npm i cosmotype

Weekly Downloads

4

Version

1.0.10

License

MIT

Unpacked Size

105 kB

Total Files

16

Last publish

Collaborators

  • shigma