Skip to content

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;

基于 MIT License 发布。