UNPKG

rollun-ts-rql

Version:

RQL query object and serializer written in TypeScript

1 lines 3.15 kB
"use strict";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 locutus=_interopRequireWildcard(require("locutus"));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 _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 Glob=function(){function Glob(glob){_classCallCheck(this,Glob);_defineProperty(this,"glob",void 0);this.glob=glob}_createClass(Glob,[{key:"toString",value:function toString(){return this.glob}},{key:"decoder",value:function decoder(many,one,escaper){return this.glob.replace(/\\\\.|\*|\?|./,function(match){if(match[0]==="*"){return many}if(match[0]==="?"){return one}return escaper(locutus.php.strings.stripslashes(match[0]))})}},{key:"toRql",value:function toRql(){return this.decoder("*","?",function(_char){return locutus.php.strings.strtr(encodeURIComponent(_char),{"-":"%2D","_":"%5F",".":"%2E","~":"%7E"})})}},{key:"toRegex",value:function toRegex(){var regex=this.decoder(".*",".",function(_char2){return locutus.php.pcre.preg_quote(_char2,"/")});return"^"+regex+"$"}},{key:"toLike",value:function toLike(){return this.decoder("%","_",function($char){return locutus.php.strings.addcslashes($char,"\\%_")})}}],[{key:"encode",value:function encode(value){return value}}]);return Glob}();exports["default"]=Glob;