From f7abc175aabe40b20be0a713d3e04065972aa83d Mon Sep 17 00:00:00 2001 From: Phil Kunz Date: Tue, 8 Jan 2019 18:22:48 +0100 Subject: [PATCH] fix(core): update --- ts/smartdata.classes.collection.ts | 2 +- ts/smartdata.classes.doc.ts | 12 +++++++++--- 2 files changed, 10 insertions(+), 4 deletions(-) diff --git a/ts/smartdata.classes.collection.ts b/ts/smartdata.classes.collection.ts index 6cd8beb..2dadd4f 100644 --- a/ts/smartdata.classes.collection.ts +++ b/ts/smartdata.classes.collection.ts @@ -25,7 +25,7 @@ export function Collection(dbArg: SmartdataDb | TDelayedDbCreation) { // tslint:disable-next-line: no-string-literal constructor['smartdataCollection'] = new SmartdataCollection(constructor, dbArg); } else { - constructor['smartdataDelayedDatabase'] = () => { + constructor['smartdataDelayedCollection'] = () => { return new SmartdataCollection(constructor, dbArg()); }; } diff --git a/ts/smartdata.classes.doc.ts b/ts/smartdata.classes.doc.ts index 74e9803..e13648d 100644 --- a/ts/smartdata.classes.doc.ts +++ b/ts/smartdata.classes.doc.ts @@ -81,9 +81,9 @@ export class SmartDataDbDoc { // tslint:disable-next-line: no-string-literal this.collection = this.constructor['smartdataCollection']; // tslint:disable-next-line: no-string-literal - } else if (typeof this.constructor['smartdataDelayedDatabase'] === 'function') { + } else if (typeof this.constructor['smartdataDelayedCollection'] === 'function') { // tslint:disable-next-line: no-string-literal - this.collection = this.constructor['smartdataDelayedDatabase'](); + this.collection = this.constructor['smartdataDelayedCollection'](); } else { console.error('Could not determine collection for DbDoc'); } @@ -91,7 +91,13 @@ export class SmartDataDbDoc { static async getInstances(filterArg): Promise { let self: any = this; // fool typesystem - let referenceMongoDBCollection: SmartdataCollection = self.smartdataCollection; + let referenceMongoDBCollection: SmartdataCollection; + + if (self.smartdataCollection) { + referenceMongoDBCollection = self.smartdataCollection; + } else if (self.smartdataDelayedCollection) { + referenceMongoDBCollection = self.smartdataDelayedCollection(); + }; const foundDocs = await referenceMongoDBCollection.find(filterArg); const returnArray = []; for (let item of foundDocs) {