nodester 0.4.4 → 0.4.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -293,6 +293,7 @@ module.exports = class QueryLexer {
293
293
  tree.use(previousActive);
294
294
  tree.node.activeParam = PARAM_TOKENS.INCLUDES;
295
295
  token = '';
296
+ previousActive = null;
296
297
  continue;
297
298
  }
298
299
 
@@ -397,9 +397,9 @@ function _traverseIncludedOrders(resultQuery, rootModel) {
397
397
  continue;
398
398
  }
399
399
 
400
- if (!resultQuery.order) {
401
- resultQuery.order = [];
402
- }
400
+ // if (!resultQuery.order) {
401
+ // resultQuery.order = [];
402
+ // }
403
403
 
404
404
  const { association } = include;
405
405
  const {
@@ -409,11 +409,12 @@ function _traverseIncludedOrders(resultQuery, rootModel) {
409
409
 
410
410
  switch(associationType) {
411
411
  case 'HasMany': {
412
- resultQuery.order.push([
413
- { association },
414
- ...include.order[0]
415
- ]);
416
- delete resultQuery.include[i].order;
412
+ include.separate = true;
413
+ // resultQuery.order.push([
414
+ // path,
415
+ // ...include.order[0]
416
+ // ]);
417
+ // delete resultQuery.include[i].order;
417
418
  break;
418
419
  }
419
420
  default:
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "nodester",
3
- "version": "0.4.4",
3
+ "version": "0.4.6",
4
4
  "description": "A versatile REST framework for Node.js",
5
5
  "directories": {
6
6
  "docs": "docs",
package/tests/nql.test.js CHANGED
@@ -76,9 +76,9 @@ describe('nodester Query Language', () => {
76
76
  // Horizontals queried.
77
77
  'includes=comments(order=desc),users,likes(order=rand),reposts&id=1000',
78
78
  // Horizontals queried №2.
79
+ 'in=comments(order_by=index&order=asc).users.karma',
80
+ // Horizontals queried №3.
79
81
  'in=reactions,comments(user_id=gte(4)&skip=10&limit=2).users,likes,reposts',
80
-
81
- // Separated includes.
82
82
  'includes=comments(order=rand)&id=7&limit=3&includes=users(a=id,content)',
83
83
  ];
84
84
 
@@ -150,6 +150,24 @@ describe('nodester Query Language', () => {
150
150
  const lexer = new QueryLexer( queryStrings[4] );
151
151
  const result = lexer.query;
152
152
 
153
+ const tree = new ModelsTree();
154
+ tree.include('comments').use('comments');
155
+
156
+ tree.node.order_by = 'index';
157
+ tree.node.order = 'asc';
158
+
159
+ tree.include('users') && tree.use('users');
160
+ tree.include('karma');
161
+
162
+ const expected = tree.root.toObject();
163
+
164
+ expect(result).toMatchObject(expected);
165
+ });
166
+
167
+ test('Horizontals queried №3', () => {
168
+ const lexer = new QueryLexer( queryStrings[5] );
169
+ const result = lexer.query;
170
+
153
171
  const tree = new ModelsTree();
154
172
  tree.include('reactions');
155
173
 
@@ -174,7 +192,7 @@ describe('nodester Query Language', () => {
174
192
  });
175
193
 
176
194
  test('Separated includes"', () => {
177
- const lexer = new QueryLexer( queryStrings[5] );
195
+ const lexer = new QueryLexer( queryStrings[6] );
178
196
  const result = lexer.query;
179
197
 
180
198
  const tree = new ModelsTree();