@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

/@koober/database-client/

    Package Sidebar

    Install

    npm i @koober/database-client

    Weekly Downloads

    3

    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