Skip to content

Commit

Permalink
Changed opertation types from strings to an "enum".
Browse files Browse the repository at this point in the history
Easier to optimize/minimize and doesn't brake anything because we have
public api using the values directly.
  • Loading branch information
Kanaye authored and Joscha Rohmann committed Oct 14, 2016
1 parent 05f57d2 commit 9fe340d
Show file tree
Hide file tree
Showing 2 changed files with 19 additions and 12 deletions.
21 changes: 14 additions & 7 deletions src/query/ExtenderHelper.js
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,13 @@ define([
], function (blocks, Events, Observer) {
var ExtenderHelper = {
waiting: {},
operations: {
FILTER: 1,
STEP: 2,
SKTIP: 3,
TAKE: 4,
SORT: 5
},

initExpressionExtender: function (observable) {
var newObservable = observable.clone();
Expand Down Expand Up @@ -61,7 +68,7 @@ define([
Observer.startObserving();

blocks.each(observable._operations, function (operation) {
if (operation.type == 'step') {
if (operation.type == ExtenderHelper.operations.STEP) {
var view = observable.view;
observable.view = blocks.observable([]);
observable.view._connections = {};
Expand Down Expand Up @@ -115,19 +122,19 @@ define([
view.update = blocks.noop;

blocks.each(operations, function (operation) {
if (operation.type == 'skip') {
if (operation.type == ExtenderHelper.operations.SKIP) {
skip = operation.skip;
if (blocks.isFunction(skip)) {
skip = skip.call(observable.__context__);
}
skip = blocks.unwrap(skip);
} else if (operation.type == 'take') {
} else if (operation.type == ExtenderHelper.operations.TAKE) {
take = operation.take;
if (blocks.isFunction(take)) {
take = take.call(observable.__context__);
}
take = blocks.unwrap(take);
} else if (operation.type == 'sort') {
} else if (operation.type == ExtenderHelper.operations.SORT) {
if (blocks.isString(operation.sort)) {
collection = blocks.clone(collection).sort(function (valueA, valueB) {
valueA = blocks.unwrap(valueA[operation.sort]);
Expand All @@ -146,7 +153,7 @@ define([
collection = blocks.clone(collection).sort();
}
if (operations.length == 1) {
operations.push({ type: 'filter', filter: function () { return true; }});
operations.push({ type: ExtenderHelper.operations.FILTER, filter: function () { return true; }});
}
}
});
Expand Down Expand Up @@ -177,7 +184,7 @@ define([
}
return false;
}
} else if (operation.type == 'skip') {
} else if (operation.type == ExtenderHelper.operations.SKIP) {
action = EXISTS;
skip -= 1;
if (skip >= 0) {
Expand All @@ -186,7 +193,7 @@ define([
} else if (skip < 0 && connections[index] === undefined) {
action = ADD;
}
} else if (operation.type == 'take') {
} else if (operation.type == ExtenderHelper.operations.TAKE) {
if (take <= 0) {
action = REMOVE;
return false;
Expand Down
10 changes: 5 additions & 5 deletions src/query/extenders.js
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ define([
}

observable._operations.push({
type: 'filter',
type: ExtenderHelper.operations.FILTER,
filter: callback
});

Expand All @@ -45,7 +45,7 @@ define([
var observable = ExtenderHelper.initExpressionExtender(this);

observable._operations.push({
type: 'step',
type: ExtenderHelper.operations.STEP,
step: options
});

Expand All @@ -65,7 +65,7 @@ define([
var observable = ExtenderHelper.initExpressionExtender(this);

observable._operations.push({
type: 'skip',
type: ExtenderHelper.operations.SKIP,
skip: value
});

Expand All @@ -85,7 +85,7 @@ define([
var observable = ExtenderHelper.initExpressionExtender(this);

observable._operations.push({
type: 'take',
type: ExtenderHelper.operations.TAKE,
take: value
});

Expand All @@ -105,7 +105,7 @@ define([
var observable = ExtenderHelper.initExpressionExtender(this);

observable._operations.push({
type: 'sort',
type: ExtenderHelper.operations.SORT,
sort: options
});

Expand Down

0 comments on commit 9fe340d

Please sign in to comment.