Skip to content

Commit

Permalink
Merge pull request #3 from FreeAllMedia/feature/weakmaps
Browse files Browse the repository at this point in the history
weakmaps implementation
  • Loading branch information
nicosommi committed Aug 11, 2015
2 parents e4a5109 + 234ec32 commit 110472e
Show file tree
Hide file tree
Showing 3 changed files with 31 additions and 34 deletions.
31 changes: 16 additions & 15 deletions es5/lib/forbin.js
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,10 @@ var _flowsync = require("flowsync");

var _flowsync2 = _interopRequireDefault(_flowsync);

var _incognito = require("incognito");

var _incognito2 = _interopRequireDefault(_incognito);

var setupFilters = Symbol("setupFilters"),
setupDynamicProperties = Symbol("setupDynamicProperties"),
actionNames = Symbol("actionNames"),
Expand Down Expand Up @@ -64,7 +68,7 @@ var Controller = (function () {
options[_key2] = arguments[_key2];
}

this[addFilter].apply(this, [this._filters.before].concat(options));
this[addFilter].apply(this, [(0, _incognito2["default"])(this)._filters.before].concat(options));
}
}, {
key: "after",
Expand All @@ -77,7 +81,7 @@ var Controller = (function () {
options[_key3] = arguments[_key3];
}

this[addFilter].apply(this, [this._filters.after].concat(options));
this[addFilter].apply(this, [(0, _incognito2["default"])(this)._filters.after].concat(options));
}
}, {
key: "skip",
Expand Down Expand Up @@ -107,7 +111,9 @@ var Controller = (function () {
break;
}

this._filters.after.concat(this._filters.before).forEach(function (filterDetails) {
var _ = (0, _incognito2["default"])(this);

_._filters.after.concat(_._filters.before).forEach(function (filterDetails) {
if (filterDetails.filter === filterToAvoid && actionsToAvoid.length === 0) {
filterDetails.skip = true;
} else {
Expand Down Expand Up @@ -192,16 +198,11 @@ var Controller = (function () {
}, {
key: setupFilters,
value: function () {
Object.defineProperties(this, {
"_filters": {
writable: true,
enumerable: false,
value: {
before: [],
after: []
}
}
});
var _ = (0, _incognito2["default"])(this);
_._filters = {
before: [],
after: []
};

this.actionNames.forEach(this[setupFilterProcessor], this);
}
Expand Down Expand Up @@ -258,12 +259,12 @@ var Controller = (function () {
}, {
key: processBeforeFilters,
value: function (action, request, response, callback) {
this[processFilters](this[getFilters](action, this._filters.before), request, response, callback);
this[processFilters](this[getFilters](action, (0, _incognito2["default"])(this)._filters.before), request, response, callback);
}
}, {
key: processAfterFilters,
value: function (action, request, response, callback) {
this[processFilters](this[getFilters](action, this._filters.after), request, response, callback);
this[processFilters](this[getFilters](action, (0, _incognito2["default"])(this)._filters.after), request, response, callback);
}
}, {
key: actionNames,
Expand Down
31 changes: 13 additions & 18 deletions es6/lib/forbin.js
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
import flowsync from "flowsync";
import privateData from "incognito";

const setupFilters = Symbol("setupFilters"),
setupDynamicProperties = Symbol("setupDynamicProperties"),
Expand Down Expand Up @@ -35,14 +36,14 @@ export default class Controller {
* @method before
*/
before(...options) {
this[addFilter](this._filters.before, ...options);
this[addFilter](privateData(this)._filters.before, ...options);
}

/**
* Set a function to be called after the specified action.
*/
after(...options) {
this[addFilter](this._filters.after, ...options);
this[addFilter](privateData(this)._filters.after, ...options);
}

skip(...options) {
Expand All @@ -65,7 +66,9 @@ export default class Controller {
break;
}

this._filters.after.concat(this._filters.before).forEach(
const _ = privateData(this);

_._filters.after.concat(_._filters.before).forEach(
(filterDetails) => {
if(filterDetails.filter === filterToAvoid && actionsToAvoid.length === 0) {
filterDetails.skip = true;
Expand Down Expand Up @@ -142,19 +145,11 @@ export default class Controller {
}

[setupFilters]() {
Object.defineProperties(
this,
{
"_filters": {
writable: true,
enumerable: false,
value: {
before: [],
after: []
}
}
}
);
const _ = privateData(this);
_._filters = {
before: [],
after: []
};

this.actionNames.forEach(this[setupFilterProcessor], this);
}
Expand Down Expand Up @@ -218,11 +213,11 @@ export default class Controller {
}

[processBeforeFilters](action, request, response, callback) {
this[processFilters](this[getFilters](action, this._filters.before), request, response, callback);
this[processFilters](this[getFilters](action, privateData(this)._filters.before), request, response, callback);
}

[processAfterFilters](action, request, response, callback) {
this[processFilters](this[getFilters](action, this._filters.after), request, response, callback);
this[processFilters](this[getFilters](action, privateData(this)._filters.after), request, response, callback);
}

[actionNames]() {
Expand Down
3 changes: 2 additions & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,8 @@
},
"homepage": "https://github.com/FreeAllMedia/forbin",
"dependencies": {
"flowsync": "^0.1.0"
"flowsync": "^0.1.0",
"incognito": "^0.1.2"
},
"devDependencies": {
"babel": "^5.5.6",
Expand Down

0 comments on commit 110472e

Please sign in to comment.