@naturalcycles/db-lib
Version:
Lowest Common Denominator API to supported Databases
57 lines (56 loc) • 1.46 kB
TypeScript
import type { CommonLogger } from '@naturalcycles/js-lib/log';
import type { ObjectWithId } from '@naturalcycles/js-lib/types';
import type { CommonDB } from '../../commondb/common.db.js';
import type { CommonDBCreateOptions, CommonDBOptions, CommonDBSaveOptions, CommonDBStreamOptions } from '../../db.model.js';
export interface CacheDBCfg {
name: string;
cacheDB: CommonDB;
downstreamDB: CommonDB;
/**
* If true - cache SAVING operations will await to be completed,
* otherwise will be executed async
*
* @default false
*/
awaitCache?: boolean;
/**
* Global default.
*
* @default false
*/
skipCache?: boolean;
/**
* Global default.
*
* @default false
*/
onlyCache?: boolean;
/**
* @default false
*/
logCached?: boolean;
/**
* @default false
*/
logDownstream?: boolean;
/**
* Defaults to `console`.
*/
logger?: CommonLogger;
}
export interface CacheDBOptions extends CommonDBOptions {
/**
* @default false
*/
skipCache?: boolean;
/**
* @default false
*/
onlyCache?: boolean;
}
export interface CacheDBSaveOptions<ROW extends ObjectWithId> extends CacheDBOptions, CommonDBSaveOptions<ROW> {
}
export interface CacheDBStreamOptions extends CacheDBOptions, CommonDBStreamOptions {
}
export interface CacheDBCreateOptions extends CacheDBOptions, CommonDBCreateOptions {
}