UNPKG

test-rxdb

Version:

A local realtime NoSQL Database for JavaScript applications -

55 lines (54 loc) 1.83 kB
export function setFlutterRxDatabaseConnector(createDB) { process.init = async databaseName => { var db = await createDB(databaseName); db.eventBulks$.subscribe(eventBulk => { // eslint-disable-next-line @typescript-eslint/ban-ts-comment // @ts-ignore sendRxDBEvent(JSON.stringify(eventBulk)); }); process.db = db; var collections = []; Object.entries(db.collections).forEach(([collectionName, collection]) => { collections.push({ name: collectionName, primaryKey: collection.schema.primaryPath }); }); return { databaseName, collections }; }; } /** * Create a simple lokijs adapter so that we can persist string via flutter * @link https://github.com/techfort/LokiJS/blob/master/tutorials/Persistence%20Adapters.md#creating-your-own-basic-persistence-adapter */ export function getLokijsAdapterFlutter() { var ret = { async loadDatabase(databaseName, callback) { // eslint-disable-next-line @typescript-eslint/ban-ts-comment // @ts-ignore var serializedDb = await readKeyValue(databaseName); var success = true; if (success) { callback(serializedDb); } else { callback(new Error('There was a problem loading the database')); } }, async saveDatabase(databaseName, dbstring, callback) { // eslint-disable-next-line @typescript-eslint/ban-ts-comment // @ts-ignore await persistKeyValue(databaseName, dbstring); var success = true; // make your own determinations if (success) { callback(null); } else { callback(new Error('An error was encountered loading " + dbname + " database.')); } } }; return ret; } //# sourceMappingURL=index.js.map