@koober/database-client
TypeScript icon, indicating that this package has built-in type declarations

1.0.0-rc.54 • Public • Published

Generic Database client (@koober/database-client)

NPM Version License

Database client library

Installation

npm install @koober/database-client

Usage

import { SQL, executeQuery, DatabaseClient } from '@koober/database-client';
import { runTask, Task } from '@koober/std';

interface User {
  id: number;
  name: string;
}

export function getUserById(client: DatabaseClient, id: User['id']) {
  const sqlStatement = SQL`SELECT id, name FROM user WHERE id=${id}`;
  const task = executeQuery(client, sqlStatement);

  return Task.map(task, (rows) => {
    return Array.isArray(rows) ? (rows[0] as User) : undefined;
  });
}

export async function main(): Promise<void> {
  const client: DatabaseClient = {
    databaseType: 'mysql',
    database: '',
    user: '',
  };

  const response = getUserById(client, 123);
  console.log(await runTask(response));
}

License

MIT © Julien Polo julien.polo@koober.com

Package Sidebar

Install

npm i @koober/database-client

Weekly Downloads

14

Version

1.0.0-rc.54

License

MIT

Unpacked Size

71.6 kB

Total Files

47

Last publish

Collaborators

  • jpolo
  • alexandrech
  • avatar-koober
  • alexwf.koober
  • jarvis_koober