rollun-ts-rql
Version:
RQL query object and serializer written in TypeScript
1 lines • 1.68 kB
JavaScript
;Object.defineProperty(exports,"__esModule",{value:true});exports["default"]=void 0;var _Token=require("../Token");var _GroupBy=_interopRequireDefault(require("../../nodes/GroupBy"));function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{"default":obj}}function _classCallCheck(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function")}}function _defineProperties(target,props){for(var i=0;i<props.length;i++){var descriptor=props[i];descriptor.enumerable=descriptor.enumerable||false;descriptor.configurable=true;if("value"in descriptor)descriptor.writable=true;Object.defineProperty(target,descriptor.key,descriptor)}}function _createClass(Constructor,protoProps,staticProps){if(protoProps)_defineProperties(Constructor.prototype,protoProps);if(staticProps)_defineProperties(Constructor,staticProps);return Constructor}var GroupbyNodeParser=function(){function GroupbyNodeParser(){_classCallCheck(this,GroupbyNodeParser)}_createClass(GroupbyNodeParser,[{key:"parse",value:function parse(tokenStream){var fields=[];tokenStream.expect(_Token.TokenTypeNameMap.T_OPERATOR,"groupby");tokenStream.expect(_Token.TokenTypeNameMap.T_OPEN_PARENTHESIS);do{fields.push(tokenStream.expect(_Token.TokenTypeNameMap.T_STRING).value);if(!tokenStream.nextIf(_Token.TokenTypeNameMap.T_COMMA)){break}}while(true);tokenStream.expect(_Token.TokenTypeNameMap.T_CLOSE_PARENTHESIS);return new _GroupBy["default"](fields)}},{key:"supports",value:function supports(tokenStream){return tokenStream.test(_Token.TokenTypeNameMap.T_OPERATOR,"groupby")}}]);return GroupbyNodeParser}();exports["default"]=GroupbyNodeParser;