rollun-ts-rql
Version:
RQL query object and serializer written in TypeScript
1 lines • 4.61 kB
JavaScript
;function _typeof(obj){"@babel/helpers - typeof";if(typeof Symbol==="function"&&typeof Symbol.iterator==="symbol"){_typeof=function _typeof(obj){return typeof obj}}else{_typeof=function _typeof(obj){return obj&&typeof Symbol==="function"&&obj.constructor===Symbol&&obj!==Symbol.prototype?"symbol":typeof obj}}return _typeof(obj)}Object.defineProperty(exports,"__esModule",{value:true});exports["default"]=void 0;var _ConstantSubLexer=_interopRequireDefault(require("./subLexers/ConstantSubLexer"));var _PunctuationSubLexer=_interopRequireDefault(require("./subLexers/PunctuationSubLexer"));var _SubLexerChain=_interopRequireDefault(require("./subLexers/SubLexerChain"));var _FiqlOperatorSubLexer=_interopRequireDefault(require("./subLexers/FiqlOperatorSubLexer"));var _RqlOperatorSubLexer=_interopRequireDefault(require("./subLexers/RqlOperatorSubLexer"));var _TypeSubLexer=_interopRequireDefault(require("./subLexers/TypeSubLexer"));var _GlobSubLexer=_interopRequireDefault(require("./subLexers/GlobSubLexer"));var _StringSubLexer=_interopRequireDefault(require("./subLexers/StringSubLexer"));var _DatetimeSubLexer=_interopRequireDefault(require("./subLexers/DatetimeSubLexer"));var _SortSubLexer=_interopRequireDefault(require("./subLexers/SortSubLexer"));var _NumberSubLexer=_interopRequireDefault(require("./subLexers/NumberSubLexer"));var _Token=_interopRequireWildcard(require("./Token"));var _TokenStream=_interopRequireDefault(require("./TokenStream"));function _getRequireWildcardCache(){if(typeof WeakMap!=="function")return null;var cache=new WeakMap;_getRequireWildcardCache=function _getRequireWildcardCache(){return cache};return cache}function _interopRequireWildcard(obj){if(obj&&obj.__esModule){return obj}if(obj===null||_typeof(obj)!=="object"&&typeof obj!=="function"){return{"default":obj}}var cache=_getRequireWildcardCache();if(cache&&cache.has(obj)){return cache.get(obj)}var newObj={};var hasPropertyDescriptor=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var key in obj){if(Object.prototype.hasOwnProperty.call(obj,key)){var desc=hasPropertyDescriptor?Object.getOwnPropertyDescriptor(obj,key):null;if(desc&&(desc.get||desc.set)){Object.defineProperty(newObj,key,desc)}else{newObj[key]=obj[key]}}}newObj["default"]=obj;if(cache){cache.set(obj,newObj)}return newObj}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 Lexer=function(){function Lexer(subLexer){_classCallCheck(this,Lexer);_defineProperty(this,"subLexer",void 0);this.subLexer=subLexer?subLexer:this.createDefaultSubLexer()}_createClass(Lexer,[{key:"setSubLexer",value:function setSubLexer(subLexer){this.subLexer=subLexer;return this}},{key:"getSubLexer",value:function getSubLexer(){return this.subLexer}},{key:"createDefaultSubLexer",value:function createDefaultSubLexer(){return new _SubLexerChain["default"]().addSubLexer(new _ConstantSubLexer["default"]).addSubLexer(new _PunctuationSubLexer["default"]).addSubLexer(new _FiqlOperatorSubLexer["default"]).addSubLexer(new _RqlOperatorSubLexer["default"]).addSubLexer(new _TypeSubLexer["default"]).addSubLexer(new _GlobSubLexer["default"]).addSubLexer(new _StringSubLexer["default"]).addSubLexer(new _DatetimeSubLexer["default"]).addSubLexer(new _NumberSubLexer["default"]).addSubLexer(new _SortSubLexer["default"])}},{key:"tokenize",value:function tokenize(code){var end=code.length;var cursor=0;var tokens=[];while(cursor<end){var token=this.subLexer.getTokenAt(code,cursor);if(token===null){throw new SyntaxError("Invalid character \"".concat(code[cursor],"\" at position ").concat(cursor))}tokens.push(token);cursor=token.end}tokens.push(new _Token["default"](_Token.TokenTypeNameMap.T_END,"",cursor,cursor));return new _TokenStream["default"](tokens)}}]);return Lexer}();exports["default"]=Lexer;