rollun-ts-rql
Version:
RQL query object and serializer written in TypeScript
1 lines • 2.96 kB
JavaScript
"use strict";Object.defineProperty(exports,"__esModule",{value:true});exports["default"]=void 0;var _Limit=_interopRequireDefault(require("./nodes/Limit"));var _index=require("./index");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}function _defineProperty(obj,key,value){if(key in obj){Object.defineProperty(obj,key,{value:value,enumerable:true,configurable:true,writable:true})}else{obj[key]=value}return obj}var Query=function(){function Query(){var props=arguments.length>0&&arguments[0]!==undefined?arguments[0]:{};_classCallCheck(this,Query);_defineProperty(this,"_selectNode",void 0);_defineProperty(this,"_sortNode",void 0);_defineProperty(this,"_limitNode",void 0);_defineProperty(this,"_queryNode",void 0);_defineProperty(this,"_groupNode",void 0);this._groupNode=props.group;this._selectNode=props.select;this._sortNode=props.sort;this._limitNode=props.limit;this._queryNode=props.query}_createClass(Query,[{key:"setQuery",value:function setQuery(q){this._queryNode=q;return this}},{key:"setSelect",value:function setSelect(s){this._selectNode=s;return this}},{key:"setSort",value:function setSort(s){this._sortNode=s;return this}},{key:"setLimit",value:function setLimit(l){this._limitNode=l;return this}},{key:"setGroupBy",value:function setGroupBy(g){this._groupNode=g;return this}},{key:"getNextLimit",value:function getNextLimit(){var initLimit=arguments.length>0&&arguments[0]!==undefined?arguments[0]:100;var initOffset=arguments.length>1&&arguments[1]!==undefined?arguments[1]:0;if(!this._limitNode){return this.setLimit(new _Limit["default"](initLimit,initOffset))}this._limitNode.next();return this}},{key:"toString",value:function toString(){return _index.QueryStringifier.stringify(this)}},{key:"selectNode",get:function get(){return this._selectNode},set:function set(value){this._selectNode=value}},{key:"sortNode",get:function get(){return this._sortNode},set:function set(value){this._sortNode=value}},{key:"limitNode",get:function get(){return this._limitNode},set:function set(value){this._limitNode=value}},{key:"queryNode",get:function get(){return this._queryNode},set:function set(value){this._queryNode=value}},{key:"groupNode",get:function get(){return this._groupNode},set:function set(value){this._groupNode=value}}]);return Query}();exports["default"]=Query;