import { Pool } from '@neondatabase/serverless'
import { drizzle } from 'drizzle-orm/neon-serverless'
import type { NeonDatabase } from 'drizzle-orm/neon-serverless'
import type { Schema } from '../index.js'

export function createNeonServerlessClient<S extends Schema>(opts: {
  connectionString: string
  schema?: S
}): NeonDatabase<S> {
  const pool = new Pool({ connectionString: opts.connectionString })
  return drizzle(pool, { schema: opts.schema })
}
