UNPKG

rollun-ts-rql

Version:

RQL query object and serializer written in TypeScript

1 lines 11.7 kB
"use strict";Object.defineProperty(exports,"__esModule",{value:true});exports["default"]=void 0;var _NodeParserChain=_interopRequireDefault(require("./parser/NodeParserChain"));var _GroupNodeParser=_interopRequireDefault(require("./parser/nodeParsers/query/GroupNodeParser"));var _ScalarParser=_interopRequireDefault(require("./parser/valueParsers/ScalarParser"));var _StringTypeCaster=_interopRequireDefault(require("./parser/typeCasters/StringTypeCaster"));var _IntegerTypeCaster=require("./parser/typeCasters/IntegerTypeCaster");var _FloatTypeCaster=_interopRequireDefault(require("./parser/typeCasters/FloatTypeCaster"));var _BooleanTypeCaster=_interopRequireDefault(require("./parser/typeCasters/BooleanTypeCaster"));var _ArrayParser=_interopRequireDefault(require("./parser/valueParsers/ArrayParser"));var _FieldParser=_interopRequireDefault(require("./parser/valueParsers/FieldParser"));var _IntegerParser=_interopRequireDefault(require("./parser/valueParsers/IntegerParser"));var _GlobParser=_interopRequireDefault(require("./parser/valueParsers/GlobParser "));var _AndNodeParser=_interopRequireDefault(require("./parser/nodeParsers/query/logicalOperators/AndNodeParser"));var _OrNodeParser=_interopRequireDefault(require("./parser/nodeParsers/query/logicalOperators/OrNodeParser"));var _NotNodeParser=_interopRequireDefault(require("./parser/nodeParsers/query/logicalOperators/NotNodeParser"));var _InNodeParser=_interopRequireDefault(require("./parser/nodeParsers/query/comparisonOperators/rql/InNodeParser"));var _OutNodeParser=_interopRequireDefault(require("./parser/nodeParsers/query/comparisonOperators/rql/OutNodeParser"));var _EqNodeParser=_interopRequireDefault(require("./parser/nodeParsers/query/comparisonOperators/rql/EqNodeParser"));var _NeNodeParser=_interopRequireDefault(require("./parser/nodeParsers/query/comparisonOperators/rql/NeNodeParser"));var _LtNodeParser=_interopRequireDefault(require("./parser/nodeParsers/query/comparisonOperators/rql/LtNodeParser"));var _GtNodeParser=_interopRequireDefault(require("./parser/nodeParsers/query/comparisonOperators/rql/GtNodeParser"));var _LeNodeParser=_interopRequireDefault(require("./parser/nodeParsers/query/comparisonOperators/rql/LeNodeParser"));var _GeNodeParser=_interopRequireDefault(require("./parser/nodeParsers/query/comparisonOperators/rql/GeNodeParser"));var _LikeNodeParser=_interopRequireDefault(require("./parser/nodeParsers/query/comparisonOperators/rql/LikeNodeParser"));var _FiqlInNodeParser=_interopRequireDefault(require("./parser/nodeParsers/query/comparisonOperators/fiql/FiqlInNodeParser"));var _FiqlOutNodeParser=_interopRequireDefault(require("./parser/nodeParsers/query/comparisonOperators/fiql/FiqlOutNodeParser"));var _FiqlEqNodeParser=_interopRequireDefault(require("./parser/nodeParsers/query/comparisonOperators/fiql/FiqlEqNodeParser"));var _FiqlNeNodeParser=_interopRequireDefault(require("./parser/nodeParsers/query/comparisonOperators/fiql/FiqlNeNodeParser"));var _FiqlLtNodeParser=_interopRequireDefault(require("./parser/nodeParsers/query/comparisonOperators/fiql/FiqlLtNodeParser"));var _FiqlGtNodeParser=_interopRequireDefault(require("./parser/nodeParsers/query/comparisonOperators/fiql/FiqlGtNodeParser"));var _FiqlLeNodeParser=_interopRequireDefault(require("./parser/nodeParsers/query/comparisonOperators/fiql/FiqlLeNodeParser"));var _FiqlGeNodeParser=_interopRequireDefault(require("./parser/nodeParsers/query/comparisonOperators/fiql/FiqlGeNodeParser"));var _FiqlLikeNodeParser=_interopRequireDefault(require("./parser/nodeParsers/query/comparisonOperators/fiql/FiqlLikeNodeParser"));var _SortNodeParser=_interopRequireDefault(require("./parser/nodeParsers/SortNodeParser"));var _LimitNodeParser=_interopRequireDefault(require("./parser/nodeParsers/LimitNodeParser"));var _Lexer=_interopRequireDefault(require("./parser/Lexer"));var _Parser=_interopRequireDefault(require("./parser/Parser"));var _AggregateSelectNodeParser=_interopRequireDefault(require("./parser/nodeParsers/query/AggregateSelectNodeParser"));var _FiqlLikeGlobNodeParser=_interopRequireDefault(require("./parser/nodeParsers/query/comparisonOperators/fiql/FiqlLikeGlobNodeParser"));var _AlikeGlobNodeParser=_interopRequireDefault(require("./parser/nodeParsers/query/comparisonOperators/rql/AlikeGlobNodeParser"));var _ContainsNodeParser=_interopRequireDefault(require("./parser/nodeParsers/query/comparisonOperators/rql/ContainsNodeParser"));var _EqtNodeParser=_interopRequireDefault(require("./parser/nodeParsers/query/binaryOperator/rql/EqtNodeParser "));var _EqnNodeParser=_interopRequireDefault(require("./parser/nodeParsers/query/binaryOperator/rql/EqnNodeParser"));var _EqfNodeParser=_interopRequireDefault(require("./parser/nodeParsers/query/binaryOperator/rql/EqfNodeParser"));var _IeNodeParser=_interopRequireDefault(require("./parser/nodeParsers/query/binaryOperator/rql/IeNodeParser"));var _MatchNodeParser=_interopRequireDefault(require("./parser/nodeParsers/query/comparisonOperators/rql/MatchNodeParser"));var _FiqlEqnNodeParser=_interopRequireDefault(require("./parser/nodeParsers/query/binaryOperator/fiql/FiqlEqnNodeParser"));var _FiqlEqfNodeParser=_interopRequireDefault(require("./parser/nodeParsers/query/binaryOperator/fiql/FiqlEqfNodeParser"));var _FiqlIeNodeParser=_interopRequireDefault(require("./parser/nodeParsers/query/binaryOperator/fiql/FiqlIeNodeParser"));var _FiqlMatchNodeParser=_interopRequireDefault(require("./parser/nodeParsers/query/comparisonOperators/fiql/FiqlMatchNodeParser"));var _FiqlEqtNodeParser=_interopRequireDefault(require("./parser/nodeParsers/query/binaryOperator/fiql/FiqlEqtNodeParser"));var _FiqlAlikeGlobNodeParser=_interopRequireDefault(require("./parser/nodeParsers/query/comparisonOperators/fiql/FiqlAlikeGlobNodeParser"));var _FiqlContainsNodeParser=_interopRequireDefault(require("./parser/nodeParsers/query/comparisonOperators/fiql/FiqlContainsNodeParser"));var _LikeGlobNodeParser=_interopRequireDefault(require("./parser/nodeParsers/query/comparisonOperators/rql/LikeGlobNodeParser"));var _GroupbyNodeParser=_interopRequireDefault(require("./parser/nodeParsers/GroupbyNodeParser"));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 RqlParser=function(){function RqlParser(allowedAggregateFunctions=["count","max","min","sum","avg"]){_classCallCheck(this,RqlParser)}_createClass(RqlParser,[{key:"parse",value:function parse(rql){var processedRql=this.prepareRqlString(rql);var parser=this.createParser();var lexer=new _Lexer["default"];var tokens=lexer.tokenize(processedRql);return parser.parse(tokens)}},{key:"prepareRqlString",value:function prepareRqlString(rql){var fixedRql=rql.replace("_","%5F").replace(" ","%20");var sortNodeRegexp=/sort\(([^()&]+)\)/;var matches=fixedRql.match(sortNodeRegexp);if(matches){var sortNodeString="sort(";var sortFields=matches[1].split(",");sortFields.forEach(function(sortField){var finalSortField=sortField;if(!sortField.match(/^[+|-]([\W\w])/)){finalSortField="+"+sortField}sortNodeString+=finalSortField+","});sortNodeString=sortNodeString.slice(0,sortNodeString.length-1)+")";return fixedRql.replace(sortNodeRegexp,sortNodeString)}return fixedRql}},{key:"createParser",value:function createParser(){var scalarParser=new _ScalarParser["default"]().registerTypeCaster("string",new _StringTypeCaster["default"]).registerTypeCaster("integer",new _IntegerTypeCaster.IntegerTypeCaster).registerTypeCaster("float",new _FloatTypeCaster["default"]).registerTypeCaster("boolean",new _BooleanTypeCaster["default"]);var arrayParser=new _ArrayParser["default"](scalarParser);var globParser=new _GlobParser["default"];var fieldParser=new _FieldParser["default"];var integerParser=new _IntegerParser["default"];var queryNodeParser=new _NodeParserChain["default"];queryNodeParser.addNodeParser(new _GroupNodeParser["default"](queryNodeParser)).addNodeParser(new _AndNodeParser["default"](queryNodeParser)).addNodeParser(new _OrNodeParser["default"](queryNodeParser)).addNodeParser(new _NotNodeParser["default"](queryNodeParser)).addNodeParser(new _InNodeParser["default"](fieldParser,arrayParser)).addNodeParser(new _OutNodeParser["default"](fieldParser,arrayParser)).addNodeParser(new _EqNodeParser["default"](fieldParser,scalarParser)).addNodeParser(new _NeNodeParser["default"](fieldParser,scalarParser)).addNodeParser(new _LtNodeParser["default"](fieldParser,scalarParser)).addNodeParser(new _GtNodeParser["default"](fieldParser,scalarParser)).addNodeParser(new _LeNodeParser["default"](fieldParser,scalarParser)).addNodeParser(new _GeNodeParser["default"](fieldParser,scalarParser)).addNodeParser(new _LikeNodeParser["default"](fieldParser,globParser)).addNodeParser(new _LikeGlobNodeParser["default"](fieldParser,globParser)).addNodeParser(new _AlikeGlobNodeParser["default"](fieldParser,globParser)).addNodeParser(new _ContainsNodeParser["default"](fieldParser,globParser)).addNodeParser(new _EqtNodeParser["default"]).addNodeParser(new _EqnNodeParser["default"]).addNodeParser(new _EqfNodeParser["default"]).addNodeParser(new _IeNodeParser["default"]).addNodeParser(new _MatchNodeParser["default"](fieldParser,globParser)).addNodeParser(new _FiqlInNodeParser["default"](fieldParser,arrayParser)).addNodeParser(new _FiqlOutNodeParser["default"](fieldParser,arrayParser)).addNodeParser(new _FiqlEqNodeParser["default"](fieldParser,scalarParser)).addNodeParser(new _FiqlNeNodeParser["default"](fieldParser,scalarParser)).addNodeParser(new _FiqlLtNodeParser["default"](fieldParser,scalarParser)).addNodeParser(new _FiqlGtNodeParser["default"](fieldParser,scalarParser)).addNodeParser(new _FiqlLeNodeParser["default"](fieldParser,scalarParser)).addNodeParser(new _FiqlGeNodeParser["default"](fieldParser,scalarParser)).addNodeParser(new _FiqlLikeNodeParser["default"](fieldParser,globParser)).addNodeParser(new _FiqlLikeGlobNodeParser["default"](fieldParser,globParser)).addNodeParser(new _FiqlAlikeGlobNodeParser["default"](fieldParser,globParser)).addNodeParser(new _FiqlEqtNodeParser["default"]).addNodeParser(new _FiqlEqnNodeParser["default"]).addNodeParser(new _FiqlEqfNodeParser["default"]).addNodeParser(new _FiqlIeNodeParser["default"]).addNodeParser(new _FiqlMatchNodeParser["default"](fieldParser,globParser)).addNodeParser(new _FiqlContainsNodeParser["default"](fieldParser,globParser));return new _Parser["default"](new _NodeParserChain["default"]().addNodeParser(queryNodeParser).addNodeParser(new _AggregateSelectNodeParser["default"](this.allowedAggregateFunctions)).addNodeParser(new _SortNodeParser["default"](fieldParser)).addNodeParser(new _LimitNodeParser["default"](integerParser)).addNodeParser(new _GroupbyNodeParser["default"]))}},{key:"createLexer",value:function createLexer(){return new _Lexer["default"]}}],[{key:"staticParse",value:function staticParse(rql){var allowedAggregateFunctions=arguments.length>1&&arguments[1]!==undefined?arguments[1]:["count","max","min","sum","avg"];return new RqlParser(allowedAggregateFunctions).parse(rql)}}]);return RqlParser}();exports["default"]=RqlParser;