0.1.7 • Published 19 days ago

nestjs-kysely v0.1.7

Weekly downloads
-
License
MIT
Repository
github
Last release
19 days ago

nestjs-kysely

npm version check codecov

nestjs-kysely implements a module that provides the client of Kysely, which is a type-safe query builder.

install

yarn add nestjs-kysely kysely

Example

yarn add nestjs-kysely kysely mysql2

Register KyselyModule for your app.

import { Module } from "@nestjs/common";
import { MysqlDialect } from "kysely";
import { createPool } from "mysql2";
import { KyselyModule } from "nestjs-kysely";
import { AppController } from "./app.controller";

@Module({
  imports: [
    KyselyModule.forRoot({
      dialect: new MysqlDialect({
        pool: createPool({
          host: "127.0.0.1",
          user: "root",
          password: "password",
          database: "kysely_test",
        }),
      }),
    }),
  ],
  controllers: [AppController],
})
export class AppModule {}

You can then inject the Kysely client into any of your injectables by using a custom decorator.

import { Controller, Get } from "@nestjs/common";
import { InjectKysely } from "nestjs-kysely";
import { DB } from "./@types";

@Controller()
export class AppController {
  constructor(@InjectKysely() private readonly db: DB) {}

  @Get()
  async getHello(): Promise<string> {
    const result = await this.db
      .selectFrom("person")
      .innerJoin("pet", "pet.owner_id", "person.id")
      .selectAll()
      .execute();

    return JSON.stringify(result);
  }
}

License

MIT

0.1.7

19 days ago

0.1.6

8 months ago

0.1.5

10 months ago

0.1.4

1 year ago

0.1.3

1 year ago

0.1.2

2 years ago

0.1.1

2 years ago

0.1.0

2 years ago