UNPKG

rxdb

Version:

A local-first realtime NoSQL Database for JavaScript applications - https://rxdb.info/

43 lines (36 loc) 1.24 kB
import type { RxStorage, RxStorageInstanceCreationParams } from '../../types/index.d.ts'; import { RX_STORAGE_NAME_DEXIE } from './dexie-helper.ts'; import type { DexieSettings, DexieStorageInternals } from '../../types/plugins/dexie.d.ts'; import { createDexieStorageInstance, RxStorageInstanceDexie } from './rx-storage-instance-dexie.ts'; import { ensureRxStorageInstanceParamsAreCorrect } from '../../rx-storage-helper.ts'; import { RXDB_VERSION } from '../utils/utils-rxdb-version.ts'; export class RxStorageDexie implements RxStorage<DexieStorageInternals, DexieSettings> { public name = RX_STORAGE_NAME_DEXIE; public readonly rxdbVersion = RXDB_VERSION; constructor( public settings: DexieSettings ) { } public createStorageInstance<RxDocType>( params: RxStorageInstanceCreationParams<RxDocType, DexieSettings> ): Promise<RxStorageInstanceDexie<RxDocType>> { ensureRxStorageInstanceParamsAreCorrect(params); return createDexieStorageInstance(this, params, this.settings); } } export function getRxStorageDexie( settings: DexieSettings = {} ): RxStorageDexie { const storage = new RxStorageDexie(settings); return storage; }