NOTE
本页由仓库元数据、API reports 或示例目录生成;包名、export subpaths、TypeScript 声明和源码链接保留原文,便于与发布产物逐项核对。
声明内容来自仓库 API report,保留英文注释和 TypeScript 原文,便于与发布产物逐项核对。
@loggerjs/database API
Generated from packages/database/dist/**/*.d.ts. 源报告:api-reports/loggerjs-database.api.md.
index.d.ts
ts
export * from "./transport.js";
export * from "./sqlite.js";
export * from "./postgres.js";postgres.d.ts
ts
import type { Transport } from "@loggerjs/core";
import { type DatabaseTransportAdapter, type DatabaseTransportOptions } from "./transport.js";
export type PostgresConflictMode = "error" | "ignore";
export interface PostgresClientLike {
query: (sql: string, values?: readonly unknown[]) => unknown | Promise<unknown>;
}
export interface PostgresTransportOptions extends Omit<DatabaseTransportOptions, "adapter"> {
client: PostgresClientLike;
table?: string;
createTable?: boolean;
conflict?: PostgresConflictMode;
payloadColumnType?: string;
}
export declare function createPostgresDatabaseAdapter(options: Pick<PostgresTransportOptions, "client" | "conflict" | "createTable" | "payloadColumnType" | "table">): DatabaseTransportAdapter;
export declare function postgresTransport(options: PostgresTransportOptions): Transport;sqlite.d.ts
ts
import type { Transport } from "@loggerjs/core";
import { type DatabaseLogRow, type DatabaseTransportAdapter, type DatabaseTransportOptions } from "./transport.js";
export type SQLiteConflictMode = "error" | "ignore" | "replace";
export type SQLiteDriverMode = "auto" | "prepared" | "callback" | "promise";
export interface SQLiteStatementLike {
run: (...values: unknown[]) => unknown;
}
export interface SQLiteDatabaseLike {
exec?: (sql: string) => unknown;
prepare?: (sql: string) => SQLiteStatementLike;
run?: (sql: string, values?: readonly unknown[], callback?: (error: Error | null | undefined) => void) => unknown;
transaction?: (fn: (rows: readonly DatabaseLogRow[]) => void) => (rows: readonly DatabaseLogRow[]) => void;
}
export interface SQLiteTransportOptions extends Omit<DatabaseTransportOptions, "adapter"> {
database: SQLiteDatabaseLike;
table?: string;
createTable?: boolean;
conflict?: SQLiteConflictMode;
driverMode?: SQLiteDriverMode;
payloadColumnType?: string;
}
export declare function createSQLiteDatabaseAdapter(options: Pick<SQLiteTransportOptions, "conflict" | "createTable" | "database" | "driverMode" | "payloadColumnType" | "table">): DatabaseTransportAdapter;
export declare function sqliteTransport(options: SQLiteTransportOptions): Transport;transport.d.ts
ts
import { type BatchTransportOptions, type Codec, type LogEvent, type LoggerLevel, type Transport } from "@loggerjs/core";
export type DatabaseLogValue = string | number | Uint8Array | null;
export interface DatabaseLogRow {
id: string;
time: number;
seq: number;
level: number;
levelName: string;
logger: string;
type: string | null;
message: string;
tags: string | null;
data: string | null;
error: string | null;
context: string | null;
trace: string | null;
source: string | null;
payload: string | Uint8Array;
}
export interface DatabaseTransportAdapter {
insert: (rows: readonly DatabaseLogRow[]) => void | Promise<void>;
flush?: () => void | Promise<void>;
close?: () => void | Promise<void>;
}
export interface DatabaseLogRowOptions {
codec?: Codec<string | Uint8Array>;
serialize?: (value: unknown) => string;
}
export interface DatabaseTransportOptions extends BatchTransportOptions, DatabaseLogRowOptions {
adapter: DatabaseTransportAdapter;
minLevel?: LoggerLevel;
mapEvent?: (event: LogEvent, context: DatabaseLogRowOptions) => DatabaseLogRow | null | undefined;
onError?: (error: unknown, detail: {
operation: string;
}) => void;
}
export declare function createDatabaseLogRow(event: LogEvent, options?: DatabaseLogRowOptions): DatabaseLogRow;
export declare function databaseTransport(options: DatabaseTransportOptions): Transport;