@abw/badger-database
Version:
Javascript database abstraction layer
79 lines • 2.4 kB
TypeScript
import { ConnectConfig, DatabaseConnection, DatabaseConnectionConfig } from '../types';
/**
* Function to create and sanitize a database configuration.
* @example
* const config = databaseConfig({
* database: 'sqlite://dbfile.db'
* })
* @example
* const config = databaseConfig({
* database: 'mysql://user:password@hostname:port/database'
* })
* @example
* const config = databaseConfig({
* database: 'postgres://user:password@hostname:port/database'
* })
* @example
* const config = databaseConfig({
* database: {
* engine: 'sqlite',
* filename: 'dbfile.db'
* }
* })
* @example
* const config = databaseConfig({
* database: {
* engine: 'postgres',
* database: 'musicdb',
* user: 'bobby',
* password: 'secret',
* host: 'mydbhost.com',
* port: '5150',
* options: {
* lock_timeout: 2000,
* }
* }
* })
* @example
* const config = databaseConfig({
* database: 'postgres://user:password@hostname:port/database',
* engineOptions: {
* lock_timeout: 2000,
* },
* pool: {
* min: 10,
* max: 20
* }
* })
*/
export declare const databaseConfig: (config: ConnectConfig) => DatabaseConnection;
/**
* Function to extract any valid database connection options from `config`,
* including any specified using aliases.
*/
export declare const extractDatabaseConfig: (config: DatabaseConnectionConfig) => DatabaseConnection;
/**
* Function to extract any environment variables that match a particular prefix
* (default: `DATABASE`), including any optional underscore, e.g. `DATABASE_USER`.
* @example
* const config = configEnv(process.env)
* @example
* const config = configEnv(process.env, { prefix: 'MY_DB' })
*/
export declare const configEnv: (env: Record<string, string>, options?: {
prefix?: string;
}) => object;
/**
* Function to parse a database configuration string and return an object of
* configuration options.
* @example
* const config = parseDatabaseString('postgresql://user:password@host:port/database')
* @example
* const config = parseDatabaseString('sqlite://filename.db')
* @example
* const config = parseDatabaseString('sqlite://:memory:')
* @example
* const config = parseDatabaseString('sqlite:memory')
*/
export declare const parseDatabaseString: (string: string) => DatabaseConnection;
//# sourceMappingURL=Database.d.ts.map