complex-matcher
Advanced tools
Comparing version 0.0.0 to 0.1.0
@@ -1,2 +0,2 @@ | ||
"use strict";exports.__esModule=true;exports.ast=exports.pattern=void 0;var _=require("./");var pattern='foo !"\\\\ \\"" name:|(wonderwoman batman) hasCape?';exports.pattern=pattern;var ast=new _.And([new _.StringNode('foo'),new _.Not(new _.StringNode('\\ "')),new _.Property('name',new _.Or([new _.StringNode('wonderwoman'),new _.StringNode('batman')])),new _.TruthyProperty('hasCape')]);exports.ast=ast; | ||
"use strict";exports.__esModule=true;exports.ast=exports.pattern=void 0;var CM=_interopRequireWildcard(require("./"));function _interopRequireWildcard(obj){if(obj&&obj.__esModule){return obj;}else{var newObj={};if(obj!=null){for(var key in obj){if(Object.prototype.hasOwnProperty.call(obj,key)){var desc=Object.defineProperty&&Object.getOwnPropertyDescriptor?Object.getOwnPropertyDescriptor(obj,key):{};if(desc.get||desc.set){Object.defineProperty(newObj,key,desc);}else{newObj[key]=obj[key];}}}}newObj.default=obj;return newObj;}}var pattern='foo !"\\\\ \\"" name:|(wonderwoman batman) hasCape?';exports.pattern=pattern;var ast=new CM.And([new CM.String('foo'),new CM.Not(new CM.String('\\ "')),new CM.Property('name',new CM.Or([new CM.String('wonderwoman'),new CM.String('batman')])),new CM.TruthyProperty('hasCape')]);exports.ast=ast; | ||
//# sourceMappingURL=index.fixtures.js.map |
@@ -1,2 +0,2 @@ | ||
"use strict";exports.__esModule=true;exports.setPropertyClause=exports.removePropertyClause=exports.getPropertyClausesStrings=exports.parse=exports.TruthyProperty=exports.StringNode=exports.Property=exports.Not=exports.Or=exports.And=void 0;require("core-js/modules/es6.regexp.split");require("core-js/modules/es6.regexp.replace");require("core-js/modules/es6.function.name");require("core-js/modules/es6.regexp.match");var _some2=_interopRequireDefault(require("lodash/some"));var _isPlainObject2=_interopRequireDefault(require("lodash/isPlainObject"));function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj};}function _assertThisInitialized(self){if(self===void 0){throw new ReferenceError("this hasn't been initialised - super() hasn't been called");}return self;}function _inheritsLoose(subClass,superClass){subClass.prototype=Object.create(superClass.prototype);subClass.prototype.constructor=subClass;subClass.__proto__=superClass;}function invoke(fn){var n=arguments.length-1;if(!n){return fn();}fn=arguments[n];var args=new Array(n);for(var i=0;i<n;++i){args[i]=arguments[i];}return fn.apply(undefined,args);}var RAW_STRING_CHARS=invoke(function(){var chars={__proto__:null};var add=function add(a,b){if(b===void 0){b=a;}var i=a.charCodeAt(0);var j=b.charCodeAt(0);while(i<=j){chars[String.fromCharCode(i++)]=true;}};add('$');add('-');add('.');add('0','9');add('_');add('A','Z');add('a','z');return chars;});var isRawString=function isRawString(string){var length=string.length;for(var i=0;i<length;++i){if(!RAW_STRING_CHARS[string[i]]){return false;}}return true;};var Node=function(){function Node(){}var _proto=Node.prototype;_proto.createPredicate=function createPredicate(){var _this=this;return function(value){return _this.match(value);};};return Node;}();var formatTerms=function formatTerms(terms){return terms.map(function(term){return term.toString(true);}).join(' ');};var And=function(_Node){_inheritsLoose(And,_Node);function And(children){var _this2;_this2=_Node.call(this)||this;if(children.length===1){return children[0]||_assertThisInitialized(_this2);}_this2.children=children;return _this2;}var _proto2=And.prototype;_proto2.match=function match(value){return this.children.every(function(child){return child.match(value);});};_proto2.toString=function toString(isNested){var terms=formatTerms(this.children);return isNested?"("+terms+")":terms;};return And;}(Node);exports.And=And;var Or=function(_Node2){_inheritsLoose(Or,_Node2);function Or(children){var _this3;_this3=_Node2.call(this)||this;if(children.length===1){return children[0]||_assertThisInitialized(_this3);}_this3.children=children;return _this3;}var _proto3=Or.prototype;_proto3.match=function match(value){return this.children.some(function(child){return child.match(value);});};_proto3.toString=function toString(){return"|("+formatTerms(this.children)+")";};return Or;}(Node);exports.Or=Or;var Not=function(_Node3){_inheritsLoose(Not,_Node3);function Not(child){var _this4;_this4=_Node3.call(this)||this;_this4.child=child;return _this4;}var _proto4=Not.prototype;_proto4.match=function match(value){return!this.child.match(value);};_proto4.toString=function toString(){return'!'+this.child.toString(true);};return Not;}(Node);exports.Not=Not;var Property=function(_Node4){_inheritsLoose(Property,_Node4);function Property(name,child){var _this5;_this5=_Node4.call(this)||this;_this5.name=name;_this5.child=child;return _this5;}var _proto5=Property.prototype;_proto5.match=function match(value){return value!=null&&this.child.match(value[this.name]);};_proto5.toString=function toString(){return formatString(this.name)+":"+this.child.toString(true);};return Property;}(Node);exports.Property=Property;var escapeChar=function escapeChar(char){return'\\'+char;};var formatString=function formatString(value){return isRawString(value)?value:"\""+value.replace(/\\|"/g,escapeChar)+"\"";};var StringNode=function(_Node5){_inheritsLoose(StringNode,_Node5);function StringNode(value){var _this6;_this6=_Node5.call(this)||this;_this6.lcValue=value.toLowerCase();_this6.value=value;Object.defineProperty(_assertThisInitialized(_this6),'match',{value:_this6.match.bind(_assertThisInitialized(_this6))});return _this6;}var _proto6=StringNode.prototype;_proto6.match=function match(value){if(typeof value==='string'){return value.toLowerCase().indexOf(this.lcValue)!==-1;}if(Array.isArray(value)||(0,_isPlainObject2.default)(value)){return(0,_some2.default)(value,this.match);}return false;};_proto6.toString=function toString(){return formatString(this.value);};return StringNode;}(Node);exports.StringNode=StringNode;var TruthyProperty=function(_Node6){_inheritsLoose(TruthyProperty,_Node6);function TruthyProperty(name){var _this7;_this7=_Node6.call(this)||this;_this7.name=name;return _this7;}var _proto7=TruthyProperty.prototype;_proto7.match=function match(value){return value!=null&&!!value[this.name];};_proto7.toString=function toString(){return formatString(this.name)+'?';};return TruthyProperty;}(Node);exports.TruthyProperty=TruthyProperty;var parse=invoke(function(){var i;var n;var input;var backtrace=function backtrace(parser){return function(){var pos=i;var node=parser();if(node!==undefined){return node;}i=pos;};};var parseTerms=function parseTerms(Node){var term=parseTerm();if(!term){return;}var terms=[term];while(term=parseTerm()){terms.push(term);}return new Node(terms);};var parseTerm=function parseTerm(){parseWs();var child=parseAnd()||parseOr()||parseNot()||parseProperty()||parseTruthyProperty()||parseString();if(child){parseWs();return child;}};var parseWs=function parseWs(){while(input[i]===' '){++i;}return true;};var parseAnd=backtrace(function(){var and;if(input[i++]==='('&&(and=parseTerm(And))&&input[i++]===')'){return and;}});var parseOr=backtrace(function(){var or;if(input[i++]==='|'&&parseWs()&&input[i++]==='('&&(or=parseTerms(Or))&&input[i++]===')'){return or;}});var parseNot=backtrace(function(){var child;if(input[i++]==='!'&&(child=parseTerm())){return new Not(child);}});var parseProperty=backtrace(function(){var name,child;if((name=parseString())&&parseWs()&&input[i++]===':'&&(child=parseTerm())){return new Property(name.value,child);}});var parseString=function parseString(){var value;if((value=parseQuotedString())!==undefined||(value=parseRawString())!==undefined){return new StringNode(value);}};var parseQuotedString=backtrace(function(){if(input[i++]!=='"'){return;}var value=[];var char;while(i<n&&(char=input[i++])!=='"'){if(char==='\\'){char=input[i++];}value.push(char);}return value.join('');});var parseRawString=function parseRawString(){var value='';var c;while((c=input[i])&&RAW_STRING_CHARS[c]){++i;value+=c;}if(value.length){return value;}};var parseTruthyProperty=backtrace(function(){var name;if((name=parseString())&&parseWs()&&input[i++]==='?'){return new TruthyProperty(name.value);}});return function(input_){i=0;input=input_.split('');n=input.length;try{return parseTerms(And);}finally{input=undefined;}};});exports.parse=parse;var _getPropertyClauseStrings=function _getPropertyClauseStrings(_ref){var child=_ref.child;if(child instanceof Or){var strings=[];child.children.forEach(function(child){if(child instanceof StringNode){strings.push(child.value);}});return strings;}if(child instanceof StringNode){return[child.value];}return[];};var getPropertyClausesStrings=function getPropertyClausesStrings(node){if(!node){return{};}if(node instanceof Property){var _ref2;return _ref2={},_ref2[node.name]=_getPropertyClauseStrings(node),_ref2;}if(node instanceof And){var strings={};node.children.forEach(function(node){if(node instanceof Property){var name=node.name;var values=strings[name];if(values){values.push.apply(values,_getPropertyClauseStrings(node));}else{strings[name]=_getPropertyClauseStrings(node);}}});return strings;}return{};};exports.getPropertyClausesStrings=getPropertyClausesStrings;var removePropertyClause=function removePropertyClause(node,name){if(node===undefined||node instanceof Property&&node.name===name){return;}if(node instanceof And){return new And(node.children.filter(function(child){return!(child instanceof Property&&child.name===name);}));}return node;};exports.removePropertyClause=removePropertyClause;var setPropertyClause=function setPropertyClause(node,name,child){var property=new Property(name,typeof child==='string'?new StringNode(child):child);if(node===undefined){return property;}var children=(node instanceof And?node.children:[node]).filter(function(child){return!(child instanceof Property&&child.name===name);});children.push(property);return new And(children);};exports.setPropertyClause=setPropertyClause; | ||
"use strict";exports.__esModule=true;exports.setPropertyClause=exports.getPropertyClausesStrings=exports.parse=exports.TruthyProperty=exports.String=exports.StringNode=exports.Property=exports.Not=exports.Or=exports.And=void 0;require("core-js/modules/es6.regexp.split");require("core-js/modules/es6.regexp.replace");require("core-js/modules/es6.function.name");require("core-js/modules/es6.regexp.match");var _some2=_interopRequireDefault(require("lodash/some"));var _isPlainObject2=_interopRequireDefault(require("lodash/isPlainObject"));function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj};}function _assertThisInitialized(self){if(self===void 0){throw new ReferenceError("this hasn't been initialised - super() hasn't been called");}return self;}function _inheritsLoose(subClass,superClass){subClass.prototype=Object.create(superClass.prototype);subClass.prototype.constructor=subClass;subClass.__proto__=superClass;}function invoke(fn){var n=arguments.length-1;if(!n){return fn();}fn=arguments[n];var args=new Array(n);for(var i=0;i<n;++i){args[i]=arguments[i];}return fn.apply(undefined,args);}var RAW_STRING_CHARS=invoke(function(){var chars={__proto__:null};var add=function add(a,b){if(b===void 0){b=a;}var i=a.charCodeAt(0);var j=b.charCodeAt(0);while(i<=j){chars[String.fromCharCode(i++)]=true;}};add('$');add('-');add('.');add('0','9');add('_');add('A','Z');add('a','z');return chars;});var isRawString=function isRawString(string){var length=string.length;for(var i=0;i<length;++i){if(!(string[i]in RAW_STRING_CHARS)){return false;}}return true;};var Node=function(){function Node(){}var _proto=Node.prototype;_proto.createPredicate=function createPredicate(){var _this=this;return function(value){return _this.match(value);};};return Node;}();var formatTerms=function formatTerms(terms){return terms.map(function(term){return term.toString(true);}).join(' ');};var And=function(_Node){_inheritsLoose(And,_Node);function And(children){var _this2;_this2=_Node.call(this)||this;if(children.length===1){return children[0]||_assertThisInitialized(_this2);}_this2.children=children;return _this2;}var _proto2=And.prototype;_proto2.match=function match(value){return this.children.every(function(child){return child.match(value);});};_proto2.toString=function toString(isNested){var terms=formatTerms(this.children);return isNested?"("+terms+")":terms;};return And;}(Node);exports.And=And;var Or=function(_Node2){_inheritsLoose(Or,_Node2);function Or(children){var _this3;_this3=_Node2.call(this)||this;if(children.length===1){return children[0]||_assertThisInitialized(_this3);}_this3.children=children;return _this3;}var _proto3=Or.prototype;_proto3.match=function match(value){return this.children.some(function(child){return child.match(value);});};_proto3.toString=function toString(){return"|("+formatTerms(this.children)+")";};return Or;}(Node);exports.Or=Or;var Not=function(_Node3){_inheritsLoose(Not,_Node3);function Not(child){var _this4;_this4=_Node3.call(this)||this;_this4.child=child;return _this4;}var _proto4=Not.prototype;_proto4.match=function match(value){return!this.child.match(value);};_proto4.toString=function toString(){return'!'+this.child.toString(true);};return Not;}(Node);exports.Not=Not;var Property=function(_Node4){_inheritsLoose(Property,_Node4);function Property(name,child){var _this5;_this5=_Node4.call(this)||this;_this5.name=name;_this5.child=child;return _this5;}var _proto5=Property.prototype;_proto5.match=function match(value){return value!=null&&this.child.match(value[this.name]);};_proto5.toString=function toString(){return formatString(this.name)+":"+this.child.toString(true);};return Property;}(Node);exports.Property=Property;var escapeChar=function escapeChar(char){return'\\'+char;};var formatString=function formatString(value){return isRawString(value)?value:"\""+value.replace(/\\|"/g,escapeChar)+"\"";};var StringNode=function(_Node5){_inheritsLoose(StringNode,_Node5);function StringNode(value){var _this6;_this6=_Node5.call(this)||this;_this6.lcValue=value.toLowerCase();_this6.value=value;Object.defineProperty(_assertThisInitialized(_this6),'match',{value:_this6.match.bind(_assertThisInitialized(_this6))});return _this6;}var _proto6=StringNode.prototype;_proto6.match=function match(value){if(typeof value==='string'){return value.toLowerCase().indexOf(this.lcValue)!==-1;}if(Array.isArray(value)||(0,_isPlainObject2.default)(value)){return(0,_some2.default)(value,this.match);}return false;};_proto6.toString=function toString(){return formatString(this.value);};return StringNode;}(Node);exports.String=exports.StringNode=StringNode;var TruthyProperty=function(_Node6){_inheritsLoose(TruthyProperty,_Node6);function TruthyProperty(name){var _this7;_this7=_Node6.call(this)||this;_this7.name=name;return _this7;}var _proto7=TruthyProperty.prototype;_proto7.match=function match(value){return value!=null&&!!value[this.name];};_proto7.toString=function toString(){return formatString(this.name)+'?';};return TruthyProperty;}(Node);exports.TruthyProperty=TruthyProperty;var parse=invoke(function(){var i;var n;var input;var backtrace=function backtrace(parser){return function(){var pos=i;var node=parser();if(node!==undefined){return node;}i=pos;};};var parseTerms=function parseTerms(Node){var term=parseTerm();if(!term){return;}var terms=[term];while(term=parseTerm()){terms.push(term);}return new Node(terms);};var parseTerm=function parseTerm(){parseWs();var child=parseAnd()||parseOr()||parseNot()||parseProperty()||parseTruthyProperty()||parseString();if(child){parseWs();return child;}};var parseWs=function parseWs(){while(input[i]===' '){++i;}return true;};var parseAnd=backtrace(function(){var and;if(input[i++]==='('&&(and=parseTerm(And))&&input[i++]===')'){return and;}});var parseOr=backtrace(function(){var or;if(input[i++]==='|'&&parseWs()&&input[i++]==='('&&(or=parseTerms(Or))&&input[i++]===')'){return or;}});var parseNot=backtrace(function(){var child;if(input[i++]==='!'&&(child=parseTerm())){return new Not(child);}});var parseProperty=backtrace(function(){var name,child;if((name=parseString())&&parseWs()&&input[i++]===':'&&(child=parseTerm())){return new Property(name.value,child);}});var parseString=function parseString(){var value;if((value=parseQuotedString())!==undefined||(value=parseRawString())!==undefined){return new StringNode(value);}};var parseQuotedString=backtrace(function(){if(input[i++]!=='"'){return;}var value=[];var char;while(i<n&&(char=input[i++])!=='"'){if(char==='\\'){char=input[i++];}value.push(char);}return value.join('');});var parseRawString=function parseRawString(){var value='';var c;while((c=input[i])&&RAW_STRING_CHARS[c]){++i;value+=c;}if(value.length){return value;}};var parseTruthyProperty=backtrace(function(){var name;if((name=parseString())&&parseWs()&&input[i++]==='?'){return new TruthyProperty(name.value);}});return function(input_){i=0;input=input_.split('');n=input.length;try{return parseTerms(And);}finally{input=undefined;}};});exports.parse=parse;var _getPropertyClauseStrings=function _getPropertyClauseStrings(_ref){var child=_ref.child;if(child instanceof Or){var strings=[];child.children.forEach(function(child){if(child instanceof StringNode){strings.push(child.value);}});return strings;}if(child instanceof StringNode){return[child.value];}return[];};var getPropertyClausesStrings=function getPropertyClausesStrings(node){if(!node){return{};}if(node instanceof Property){var _ref2;return _ref2={},_ref2[node.name]=_getPropertyClauseStrings(node),_ref2;}if(node instanceof And){var strings={};node.children.forEach(function(node){if(node instanceof Property){var name=node.name;var values=strings[name];if(values){values.push.apply(values,_getPropertyClauseStrings(node));}else{strings[name]=_getPropertyClauseStrings(node);}}});return strings;}return{};};exports.getPropertyClausesStrings=getPropertyClausesStrings;var setPropertyClause=function setPropertyClause(node,name,child){var property=child&&new Property(name,typeof child==='string'?new StringNode(child):child);if(node===undefined){return property;}var children=(node instanceof And?node.children:[node]).filter(function(child){return!(child instanceof Property&&child.name===name);});if(property!==undefined){children.push(property);}return new And(children);};exports.setPropertyClause=setPropertyClause; | ||
//# sourceMappingURL=index.js.map |
{ | ||
"name": "complex-matcher", | ||
"version": "0.0.0", | ||
"version": "0.1.0", | ||
"license": "ISC", | ||
@@ -5,0 +5,0 @@ "description": "", |
@@ -16,3 +16,3 @@ # complex-matcher [![Build Status](https://travis-ci.org/vatesfr/xen-orchestra.png?branch=master)](https://travis-ci.org/vatesfr/xen-orchestra) | ||
```js | ||
import { parse, createStringNode } from 'complex-matcher' | ||
import * as CM from 'complex-matcher' | ||
@@ -25,3 +25,3 @@ const characters = [ | ||
const predicate = parse('costumeColor:blue hasCape?').createPredicate() | ||
const predicate = CM.parse('costumeColor:blue hasCape?').createPredicate() | ||
@@ -33,3 +33,3 @@ characters.filter(predicate) | ||
createStringNode('foo').createPredicate() | ||
new CM.String('foo').createPredicate() | ||
``` | ||
@@ -36,0 +36,0 @@ |
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Minified code
QualityThis package contains minified code. This may be harmless in some cases where minified code is included in packaged libraries, however packages on npm should not minify code.
Found 1 instance in 1 package
Minified code
QualityThis package contains minified code. This may be harmless in some cases where minified code is included in packaged libraries, however packages on npm should not minify code.
Found 1 instance in 1 package
38
31728