From a47e8bbef25e6b75aa4503e9a9c5dfde468ca345 Mon Sep 17 00:00:00 2001 From: Benjamin Pannell Date: Mon, 27 Apr 2015 21:54:41 +0200 Subject: [PATCH] Hooks and caches are now not waited on for performance reasons --- lib/Cache.ts | 4 ++-- lib/Hooks.ts | 8 ++++---- lib/Model.js | 7 ++++--- lib/Model.js.map | 2 +- lib/Model.ts | 13 +++++++------ lib/ModelCache.js | 9 +++++---- lib/ModelCache.js.map | 2 +- lib/ModelCache.ts | 12 ++++++------ lib/ModelHandlers.js | 17 +++++++---------- lib/ModelHandlers.js.map | 2 +- lib/ModelHandlers.ts | 19 +++++++++---------- 11 files changed, 47 insertions(+), 48 deletions(-) diff --git a/lib/Cache.ts b/lib/Cache.ts index 3c7b5ce..890da80 100644 --- a/lib/Cache.ts +++ b/lib/Cache.ts @@ -4,7 +4,7 @@ import Bluebird = require('bluebird'); export = ICache; interface ICache { - set(key: string, value: T): Bluebird; + set(key: string, value: T): void; get(key: string): Bluebird; - clear(key: string): Bluebird + clear(key: string): void } \ No newline at end of file diff --git a/lib/Hooks.ts b/lib/Hooks.ts index eb5fe54..27f872c 100644 --- a/lib/Hooks.ts +++ b/lib/Hooks.ts @@ -4,8 +4,8 @@ import instance = require('./Instance'); export = IHooks; interface IHooks { - creating? (document: TDocument); - retrieved? (document: TDocument); - ready? (instance: TInstance); - saving? (instance: TInstance, changes: any); + creating? (document: TDocument): void; + retrieved? (document: TDocument): void; + ready? (instance: TInstance): void; + saving? (instance: TInstance, changes: any): void; } \ No newline at end of file diff --git a/lib/Model.js b/lib/Model.js index e958e9c..839fd82 100644 --- a/lib/Model.js +++ b/lib/Model.js @@ -335,6 +335,7 @@ var Model = (function () { callback = options; options = {}; } + options = options || {}; if (!_.isPlainObject(conditions)) conditions = { _id: conditions @@ -401,7 +402,7 @@ var Model = (function () { }); }).then(function (count) { if (count === 1) - return _this._cache.clear(conditions).then(function () { return count; }); + _this._cache.clear(conditions); return Bluebird.resolve(count); }).nodeify(callback); }; @@ -439,10 +440,10 @@ var Model = (function () { index = _(specification).map(function (direction, key) { return key + '_' + direction; }).reduce(function (x, y) { return x + '_' + y; }); } return new Bluebird(function (resolve, reject) { - _this.collection.dropIndex(index, function (err, count) { + _this.collection.dropIndex(index, function (err, result) { if (err) return reject(err); - return resolve(count); + return resolve(!!result.ok); }); }).nodeify(callback); }; diff --git a/lib/Model.js.map b/lib/Model.js.map index 2144365..f9c5cda 100644 --- a/lib/Model.js.map +++ b/lib/Model.js.map @@ -1 +1 @@ -{"version":3,"file":"Model.js","sourceRoot":"","sources":["Model.ts"],"names":["Model","Model.constructor","Model.options","Model.helpers","Model.handlers","Model.schema","Model.core","Model.collection","Model.collectionName","Model.cacheDirector","Model.cache","Model.Instance","Model.find","Model.get","Model.findOne","Model.create","Model.insert","Model.update","Model.count","Model.remove","Model.ensureIndex","Model.ensureIndexes","Model.dropIndex","Model.dropIndexes"],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"Model.js","sourceRoot":"","sources":["Model.ts"],"names":["Model","Model.constructor","Model.options","Model.helpers","Model.handlers","Model.schema","Model.core","Model.collection","Model.collectionName","Model.cacheDirector","Model.cache","Model.Instance","Model.find","Model.get","Model.findOne","Model.create","Model.insert","Model.update","Model.count","Model.remove","Model.ensureIndex","Model.ensureIndexes","Model.dropIndex","Model.dropIndexes"],"mappings":"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"} \ No newline at end of file diff --git a/lib/Model.ts b/lib/Model.ts index 22a2b34..4af9328 100644 --- a/lib/Model.ts +++ b/lib/Model.ts @@ -222,7 +222,7 @@ class Model implements ModelInterfac if (conditions.hasOwnProperty('_id')) conditions['_id'] = this.options.identifier.reverse(conditions['_id']); - + var cursor = this.collection.find(conditions, { fields: fields }); @@ -488,6 +488,8 @@ class Model implements ModelInterfac options = {}; } + options = options || {}; + if (!_.isPlainObject(conditions)) conditions = { _id: conditions }; @@ -584,8 +586,7 @@ class Model implements ModelInterfac }); }); }).then((count) => { - if (count === 1) - return this._cache.clear(conditions).then(() => count); + if (count === 1) this._cache.clear(conditions); return Bluebird.resolve(count); }).nodeify(callback); } @@ -652,10 +653,10 @@ class Model implements ModelInterfac index = _(specification).map((direction, key) => key + '_' + direction).reduce((x, y) => x + '_' + y); } - return new Bluebird((resolve, reject) => { - this.collection.dropIndex(index,(err, count) => { + return new Bluebird((resolve, reject) => { + this.collection.dropIndex(index,(err, result: { ok: number }) => { if (err) return reject(err); - return resolve(count); + return resolve(!!result.ok); }); }).nodeify(callback); } diff --git a/lib/ModelCache.js b/lib/ModelCache.js index 91da52e..3f344a6 100644 --- a/lib/ModelCache.js +++ b/lib/ModelCache.js @@ -5,8 +5,9 @@ var ModelCache = (function () { } ModelCache.prototype.set = function (value) { if (!this.model.cacheDirector || !this.model.cacheDirector.valid(value)) - return Bluebird.resolve(value); - return this.model.core.cache.set(this.model.cacheDirector.buildKey(value), value); + return; + ; + this.model.core.cache.set(this.model.cacheDirector.buildKey(value), value); }; ModelCache.prototype.get = function (conditions) { if (!this.model.cacheDirector || !this.model.cacheDirector.validQuery(conditions)) @@ -15,8 +16,8 @@ var ModelCache = (function () { }; ModelCache.prototype.clear = function (conditions) { if (!this.model.cacheDirector || !this.model.cacheDirector.validQuery(conditions)) - return Bluebird.resolve(false); - return this.model.core.cache.clear(this.model.cacheDirector.buildQueryKey(conditions)); + return; + this.model.core.cache.clear(this.model.cacheDirector.buildQueryKey(conditions)); }; return ModelCache; })(); diff --git a/lib/ModelCache.js.map b/lib/ModelCache.js.map index f54475b..5f02f2e 100644 --- a/lib/ModelCache.js.map +++ b/lib/ModelCache.js.map @@ -1 +1 @@ -{"version":3,"file":"ModelCache.js","sourceRoot":"","sources":["ModelCache.ts"],"names":["ModelCache","ModelCache.constructor","ModelCache.set","ModelCache.get","ModelCache.clear"],"mappings":"AAEA,IAAO,QAAQ,WAAW,UAAU,CAAC,CAAC;AAItC,IAAM,UAAU;IACZA,SADEA,UAAUA,CACOA,KAAiCA;QAAjCC,UAAKA,GAALA,KAAKA,CAA4BA;IAEpDA,CAACA;IAEDD,wBAAGA,GAAHA,UAAOA,KAAQA;QACXE,EAAEA,CAACA,CAACA,CAACA,IAAIA,CAACA,KAAKA,CAACA,aAAaA,IAAIA,CAACA,IAAIA,CAACA,KAAKA,CAACA,aAAaA,CAACA,KAAKA,CAACA,KAAKA,CAACA,CAACA;YAACA,MAAMA,CAACA,QAAQA,CAACA,OAAOA,CAACA,KAAKA,CAACA,CAACA;QACxGA,MAAMA,CAACA,IAAIA,CAACA,KAAKA,CAACA,IAAIA,CAACA,KAAKA,CAACA,GAAGA,CAACA,IAAIA,CAACA,KAAKA,CAACA,aAAaA,CAACA,QAAQA,CAACA,KAAKA,CAACA,EAAEA,KAAKA,CAACA,CAACA;IACtFA,CAACA;IAEDF,wBAAGA,GAAHA,UAAOA,UAAeA;QAClBG,EAAEA,CAACA,CAACA,CAACA,IAAIA,CAACA,KAAKA,CAACA,aAAaA,IAAIA,CAACA,IAAIA,CAACA,KAAKA,CAACA,aAAaA,CAACA,UAAUA,CAACA,UAAUA,CAACA,CAACA;YAACA,MAAMA,CAACA,QAAQA,CAACA,OAAOA,CAAIA,IAAIA,CAACA,CAACA;QACpHA,MAAMA,CAACA,IAAIA,CAACA,KAAKA,CAACA,IAAIA,CAACA,KAAKA,CAACA,GAAGA,CAAIA,IAAIA,CAACA,KAAKA,CAACA,aAAaA,CAACA,aAAaA,CAACA,UAAUA,CAACA,CAACA,CAACA;IAC5FA,CAACA;IAEDH,0BAAKA,GAALA,UAAMA,UAAeA;QACjBI,EAAEA,CAACA,CAACA,CAACA,IAAIA,CAACA,KAAKA,CAACA,aAAaA,IAAIA,CAACA,IAAIA,CAACA,KAAKA,CAACA,aAAaA,CAACA,UAAUA,CAACA,UAAUA,CAACA,CAACA;YAACA,MAAMA,CAACA,QAAQA,CAACA,OAAOA,CAACA,KAAKA,CAACA,CAACA;QAClHA,MAAMA,CAACA,IAAIA,CAACA,KAAKA,CAACA,IAAIA,CAACA,KAAKA,CAACA,KAAKA,CAACA,IAAIA,CAACA,KAAKA,CAACA,aAAaA,CAACA,aAAaA,CAACA,UAAUA,CAACA,CAACA,CAACA;IAC3FA,CAACA;IACLJ,iBAACA;AAADA,CAACA,AAnBD,IAmBC;AArBD,iBAAS,UAAU,CAAC"} \ No newline at end of file +{"version":3,"file":"ModelCache.js","sourceRoot":"","sources":["ModelCache.ts"],"names":["ModelCache","ModelCache.constructor","ModelCache.set","ModelCache.get","ModelCache.clear"],"mappings":"AAEA,IAAO,QAAQ,WAAW,UAAU,CAAC,CAAC;AAItC,IAAM,UAAU;IACZA,SADEA,UAAUA,CACOA,KAAiCA;QAAjCC,UAAKA,GAALA,KAAKA,CAA4BA;IAEpDA,CAACA;IAEDD,wBAAGA,GAAHA,UAAOA,KAAQA;QACXE,EAAEA,CAACA,CAACA,CAACA,IAAIA,CAACA,KAAKA,CAACA,aAAaA,IAAIA,CAACA,IAAIA,CAACA,KAAKA,CAACA,aAAaA,CAACA,KAAKA,CAACA,KAAKA,CAACA,CAACA;YAACA,MAAMA,CAACA;QAAAA,CAACA;QACjFA,IAAIA,CAACA,KAAKA,CAACA,IAAIA,CAACA,KAAKA,CAACA,GAAGA,CAACA,IAAIA,CAACA,KAAKA,CAACA,aAAaA,CAACA,QAAQA,CAACA,KAAKA,CAACA,EAAEA,KAAKA,CAACA,CAACA;IAC/EA,CAACA;IAEDF,wBAAGA,GAAHA,UAAOA,UAAeA;QAClBG,EAAEA,CAACA,CAACA,CAACA,IAAIA,CAACA,KAAKA,CAACA,aAAaA,IAAIA,CAACA,IAAIA,CAACA,KAAKA,CAACA,aAAaA,CAACA,UAAUA,CAACA,UAAUA,CAACA,CAACA;YAACA,MAAMA,CAACA,QAAQA,CAACA,OAAOA,CAAIA,IAAIA,CAACA,CAACA;QACpHA,MAAMA,CAACA,IAAIA,CAACA,KAAKA,CAACA,IAAIA,CAACA,KAAKA,CAACA,GAAGA,CAAIA,IAAIA,CAACA,KAAKA,CAACA,aAAaA,CAACA,aAAaA,CAACA,UAAUA,CAACA,CAACA,CAACA;IAC5FA,CAACA;IAEDH,0BAAKA,GAALA,UAAMA,UAAeA;QACjBI,EAAEA,CAACA,CAACA,CAACA,IAAIA,CAACA,KAAKA,CAACA,aAAaA,IAAIA,CAACA,IAAIA,CAACA,KAAKA,CAACA,aAAaA,CAACA,UAAUA,CAACA,UAAUA,CAACA,CAACA;YAACA,MAAMA,CAACA;QAC1FA,IAAIA,CAACA,KAAKA,CAACA,IAAIA,CAACA,KAAKA,CAACA,KAAKA,CAACA,IAAIA,CAACA,KAAKA,CAACA,aAAaA,CAACA,aAAaA,CAACA,UAAUA,CAACA,CAACA,CAACA;IACpFA,CAACA;IACLJ,iBAACA;AAADA,CAACA,AAnBD,IAmBC;AArBD,iBAAS,UAAU,CAAC"} \ No newline at end of file diff --git a/lib/ModelCache.ts b/lib/ModelCache.ts index 582b426..ccbcdfb 100644 --- a/lib/ModelCache.ts +++ b/lib/ModelCache.ts @@ -9,9 +9,9 @@ class ModelCache { } - set(value: T): Bluebird { - if (!this.model.cacheDirector || !this.model.cacheDirector.valid(value)) return Bluebird.resolve(value); - return this.model.core.cache.set(this.model.cacheDirector.buildKey(value), value); + set(value: T): void { + if (!this.model.cacheDirector || !this.model.cacheDirector.valid(value)) return;; + this.model.core.cache.set(this.model.cacheDirector.buildKey(value), value); } get(conditions: any): Bluebird { @@ -19,8 +19,8 @@ class ModelCache { return this.model.core.cache.get(this.model.cacheDirector.buildQueryKey(conditions)); } - clear(conditions: any): Bluebird { - if (!this.model.cacheDirector || !this.model.cacheDirector.validQuery(conditions)) return Bluebird.resolve(false); - return this.model.core.cache.clear(this.model.cacheDirector.buildQueryKey(conditions)); + clear(conditions: any): void { + if (!this.model.cacheDirector || !this.model.cacheDirector.validQuery(conditions)) return; + this.model.core.cache.clear(this.model.cacheDirector.buildQueryKey(conditions)); } } diff --git a/lib/ModelHandlers.js b/lib/ModelHandlers.js index 3dbd763..0f777ce 100644 --- a/lib/ModelHandlers.js +++ b/lib/ModelHandlers.js @@ -15,18 +15,15 @@ var ModelHandlers = (function () { return Bluebird.resolve().then(function () { // Trigger the received hook if (_this.model.options.hooks.retrieved) - return _this.model.options.hooks.retrieved(target); - }).then(function () { + _this.model.options.hooks.retrieved(target); // Cache the document if caching is enabled if (_this.model.core.cache && options.cache && !options.fields) { - var cacheDoc = _.cloneDeep(target); - return _this.model.cache.set(cacheDoc); + _this.model.cache.set(target); // Does not block execution pipeline - fire and forget } - }).then(function () { // Wrap the document and trigger the ready hook var wrapped = wrapper(target, false, !!options.fields); if (_this.model.options.hooks.ready && wrapped instanceof _this.model.Instance) - return Bluebird.resolve(_this.model.options.hooks.ready(wrapped)).then(function () { return wrapped; }); + _this.model.options.hooks.ready(wrapped); return wrapped; }); }); @@ -36,8 +33,7 @@ var ModelHandlers = (function () { return Bluebird.all(documents.map(function (document) { return Bluebird.resolve().then(function () { if (_this.model.options.hooks.retrieved) - return _this.model.options.hooks.creating(document); - }).then(function () { + _this.model.options.hooks.creating(document); var validation = _this.model.helpers.validate(document); if (validation.failed) return Bluebird.reject(validation.error); @@ -49,8 +45,9 @@ var ModelHandlers = (function () { var _this = this; return Bluebird.resolve().then(function () { if (_this.model.options.hooks.saving) - return _this.model.options.hooks.saving(instance, changes); - }).then(function () { return instance; }); + _this.model.options.hooks.saving(instance, changes); + return instance; + }); }; return ModelHandlers; })(); diff --git a/lib/ModelHandlers.js.map b/lib/ModelHandlers.js.map index 4ce5101..917416d 100644 --- a/lib/ModelHandlers.js.map +++ b/lib/ModelHandlers.js.map @@ -1 +1 @@ -{"version":3,"file":"ModelHandlers.js","sourceRoot":"","sources":["ModelHandlers.ts"],"names":["ModelHandlers","ModelHandlers.constructor","ModelHandlers.documentReceived","ModelHandlers.creatingDocuments","ModelHandlers.savingDocument"],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"ModelHandlers.js","sourceRoot":"","sources":["ModelHandlers.ts"],"names":["ModelHandlers","ModelHandlers.constructor","ModelHandlers.documentReceived","ModelHandlers.creatingDocuments","ModelHandlers.savingDocument"],"mappings":"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"} \ No newline at end of file diff --git a/lib/ModelHandlers.ts b/lib/ModelHandlers.ts index b10cf7d..bbf0128 100644 --- a/lib/ModelHandlers.ts +++ b/lib/ModelHandlers.ts @@ -27,18 +27,17 @@ class ModelHandlers { return Bluebird.resolve(result).then((target: any) => { return >Bluebird.resolve().then(() => { // Trigger the received hook - if (this.model.options.hooks.retrieved) return this.model.options.hooks.retrieved(target); - }).then(() => { + if (this.model.options.hooks.retrieved) this.model.options.hooks.retrieved(target); + // Cache the document if caching is enabled if (this.model.core.cache && options.cache && !options.fields) { - var cacheDoc = _.cloneDeep(target); - return this.model.cache.set(cacheDoc); + this.model.cache.set(target); // Does not block execution pipeline - fire and forget } - }).then(() => { + // Wrap the document and trigger the ready hook var wrapped: TResult = wrapper(target, false, !!options.fields); - if (this.model.options.hooks.ready && wrapped instanceof this.model.Instance) return Bluebird.resolve(this.model.options.hooks.ready(wrapped)).then(() => wrapped); + if (this.model.options.hooks.ready && wrapped instanceof this.model.Instance) this.model.options.hooks.ready(wrapped); return wrapped; }); }); @@ -47,8 +46,7 @@ class ModelHandlers { creatingDocuments(documents: TDocument[]): Bluebird { return Bluebird.all(documents.map((document: any) => { return Bluebird.resolve().then(() => { - if (this.model.options.hooks.retrieved) return this.model.options.hooks.creating(document); - }).then(() => { + if (this.model.options.hooks.retrieved) this.model.options.hooks.creating(document); var validation: SkmatcCore.IResult = this.model.helpers.validate(document); if (validation.failed) return Bluebird.reject(validation.error); return document; @@ -58,7 +56,8 @@ class ModelHandlers { savingDocument(instance: TInstance, changes: any): Bluebird { return Bluebird.resolve().then(() => { - if (this.model.options.hooks.saving) return this.model.options.hooks.saving(instance, changes); - }).then(() => instance); + if (this.model.options.hooks.saving) this.model.options.hooks.saving(instance, changes); + return instance; + }); } }