MCPcopy Create free account
hub / github.com/ChatLab/ChatLab / wrapAsDatabaseAdapter

Function wrapAsDatabaseAdapter

apps/desktop/main/worker/core/dbCore.ts:148–180  ·  view source on GitHub ↗
(db: Database.Database)

Source from the content-addressed store, hash-verified

146 * 将 better-sqlite3.Database 实例包装为 DatabaseAdapter 接口
147 */
148export function wrapAsDatabaseAdapter(db: Database.Database): DatabaseAdapter {
149 return {
150 readonly: db.readonly,
151 exec(sql: string) {
152 db.exec(sql)
153 },
154 prepare(sql: string): PreparedStatement {
155 const stmt = db.prepare(sql)
156 return {
157 readonly: stmt.readonly,
158 get(...params: unknown[]) {
159 return stmt.get(...params) as Record<string, unknown> | undefined
160 },
161 all(...params: unknown[]) {
162 return stmt.all(...params) as Record<string, unknown>[]
163 },
164 run(...params: unknown[]): RunResult {
165 const result = stmt.run(...params)
166 return { changes: result.changes, lastInsertRowid: result.lastInsertRowid }
167 },
168 }
169 },
170 transaction<T>(fn: () => T): T {
171 return db.transaction(fn)()
172 },
173 pragma(pragma: string) {
174 return db.pragma(pragma)
175 },
176 close() {
177 db.close()
178 },
179 }
180}
181
182/**
183 * 打开数据库并返回 DatabaseAdapter(用于调用 @openchatlab/core 查询函数)

Callers 7

withReadonlyAdapterFunction · 0.90
withWritableAdapterFunction · 0.90
getSegmentMessagesFunction · 0.90
loadMessagesFunction · 0.90
saveSummaryFunction · 0.90
getSummaryFunction · 0.90
openDatabaseAdapterFunction · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected