const listItems = (state = INITIAL_STATE, action) => { const allItems = action.nextPageToken ? [...state.allItems, ...action.allData.items] : action.allData.items; return { ...state, ...{ allItems: allItems, keywords: [ action.keyword, ...state.keywords.filter((t) => t !== action.keyword), ], extraInfo: { loading: false, nextPageToken: action.allData.nextPageToken, resultsPerPage: action.allData.pageInfo.resultsPerPage, totalResults: action.allData.pageInfo.totalResults, errorMsg: null, etag: action.allData.etag, }, }, }; }
function SortExpression(prev, args) { if (!args || !Array.isArray(args)) { throw new AqlError('Expected sort list to be an array: ' + args); } if (!args.length) { throw new AqlError('Expected sort list not to be empty: ' + args); } this._prev = prev; this._args = []; var allowKeyword = false; this._args = args.map(function (arg, i) { if (!allowKeyword && arg) { if (arg instanceof Keyword || typeof arg === 'string' && SortExpression.keywords.indexOf(arg.toUpperCase()) !== -1) { throw new AqlError('Unexpected keyword ' + arg.toString() + ' at offset ' + i); } } if (typeof arg === 'string' && SortExpression.keywords.indexOf(arg.toUpperCase()) !== -1) { allowKeyword = false; return new Keyword(arg); } else { allowKeyword = true; return autoCastToken(arg); } }); }