@sequelize/core
Version:
Sequelize is a promise-based Node.js ORM tool for Postgres, MySQL, MariaDB, SQLite, Microsoft SQL Server, Amazon Redshift, Snowflake’s Data Cloud, Db2, and IBM i. It features solid transaction support, relations, eager and lazy loading, read replication a
35 lines (34 loc) • 1.95 kB
TypeScript
import type { PartialOrUndefined, StrictRequiredBy } from '@sequelize/utils';
import type { Connection } from './abstract-dialect/connection-manager.js';
import type { AbstractDialect, ConnectionOptions, DialectOptions } from './abstract-dialect/dialect.js';
import type { ReplicationPoolOptions } from './abstract-dialect/replication-pool.js';
import type { EphemeralSequelizeOptions, PersistedSequelizeOptions } from './sequelize.internals.js';
import type { NormalizedReplicationOptions } from './sequelize.js';
/**
* Connection Pool options.
*
* Used in {@link SequelizeCoreOptions.pool}
*/
export interface PoolOptions<Dialect extends AbstractDialect> extends PartialOrUndefined<ReplicationPoolOptions> {
/**
* A function that validates a connection.
*
* If provided, this overrides the default connection validation built in to sequelize.
*/
validate?: ((connection?: Connection<Dialect>) => boolean) | undefined;
}
/**
* Options of the {@link Sequelize} constructor used by the core library.
*
* See {@link Options} for the full list of options, including those dialect-specific.
*/
interface SequelizeCoreOptions<Dialect extends AbstractDialect> extends PersistedSequelizeOptions<Dialect>, EphemeralSequelizeOptions<Dialect> {
}
/**
* Options for the constructor of the {@link Sequelize} main class.
*/
export type Options<Dialect extends AbstractDialect> = SequelizeCoreOptions<Dialect> & Omit<DialectOptions<Dialect>, keyof SequelizeCoreOptions<AbstractDialect>> & Omit<ConnectionOptions<Dialect>, keyof SequelizeCoreOptions<AbstractDialect>>;
export type NormalizedOptions<Dialect extends AbstractDialect> = StrictRequiredBy<Omit<PersistedSequelizeOptions<Dialect>, 'replication'>, 'transactionType' | 'noTypeValidation' | 'timezone' | 'disableClsTransactions' | 'defaultTransactionNestMode' | 'defaultTimestampPrecision'> & {
replication: NormalizedReplicationOptions<Dialect>;
};
export {};