diff --git a/marketplace.js b/marketplace.js index 991daf8..f47a60d 100644 --- a/marketplace.js +++ b/marketplace.js @@ -361,14 +361,14 @@ DemandMatcher.prototype.handleEvent = function (e) { }; DemandMatcher.prototype.handleGestalt = function (gestalt) { - var newDemandMatcher = gestalt.project(this.metaLevel, - this.demandLevel, + var newDemandMatcher = gestalt.project(this.projectionSpec, !this.demandSideIsSubscription, - this.projectionSpec); - var newSupplyMatcher = gestalt.project(this.metaLevel, - this.supplyLevel, + this.metaLevel, + this.demandLevel); + var newSupplyMatcher = gestalt.project(this.projectionSpec, this.demandSideIsSubscription, - this.projectionSpec) + this.metaLevel, + this.supplyLevel); var newDemand = route.arrayToSet(route.matcherKeys(newDemandMatcher)); var newSupply = route.arrayToSet(route.matcherKeys(newSupplyMatcher)); var demandDelta = route.setSubtract(newDemand, this.currentDemand); diff --git a/route.js b/route.js index 7a4f033..8ef9391 100644 --- a/route.js +++ b/route.js @@ -1176,8 +1176,8 @@ function Routing(exports) { return setToArray(pids); }; - Gestalt.prototype.project = function (metaLevel, level, getAdvertisements, spec) { - var l = this.getLevel(metaLevel, level); + Gestalt.prototype.project = function (spec, getAdvertisements, metaLevel, level) { + var l = this.getLevel(metaLevel | 0, level | 0); var matcher = (getAdvertisements ? l.advertisements : l.subscriptions); return project(matcher, spec); };