import * as plugins from './smartdata.plugins.js'; import { SmartdataCollection } from './smartdata.classes.collection.js'; import { SmartdataDb } from './smartdata.classes.db.js'; export class CollectionFactory { public collections: { [key: string]: SmartdataCollection } = {}; public getCollection = (nameArg: string, dbArg: SmartdataDb): SmartdataCollection => { if (!this.collections[nameArg]) { this.collections[nameArg] = (() => { if (dbArg instanceof SmartdataDb) { // tslint:disable-next-line: no-string-literal return new SmartdataCollection(nameArg, dbArg); } })(); } return this.collections[nameArg]; }; }