import { IKvDefineIndexesOptions, IKvIndex } from "./lib/defineIndexes" import { IKvliteOptions, useKvlite } from "./lib/Kvlite" type IKvArrayOptions = { /** 合集名称 */ collectionName?: string /** 索引 */ indexes: { [field: string]: IKvIndex } /** 索引选项 */ indexesOptions?: IKvDefineIndexesOptions } & IKvliteOptions /** * 获取一个 sqlite kv 数组实例,相当于 useKvlite() 和 useKvliteArray() 的封装 */ export async function useKvArray(dbFile: string | ":memory:", options?: IKvArrayOptions) { let kvlite = await useKvlite(dbFile, options) let collectionName = options?.collectionName || "KvArray0" let kvArray = kvlite.useArray(collectionName, options) if (options?.indexes) { kvArray.defineIndexes(options.indexes, options.indexesOptions) } return kvArray }