New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

bemquery-selector-engine

Package Overview
Dependencies
Maintainers
1
Versions
10
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

bemquery-selector-engine - npm Package Compare versions

Comparing version 0.0.1 to 0.0.2

README.md

5

CHANGELOG.md
# bemquery-selector-engine Changelog
---
## 0.0.2
* Fixed typos in API docs.
* Small tweaks in `README.md`.
* Added [Tonic](https://tonicdev.com/) example.
## 0.0.1
First public version. Yay!

2

dist/bemquery-selector-engine.es5.js

@@ -1,3 +0,3 @@

/*! BEMQuery v0.0.1 | (c) 2016 BEMQuery | MIT license (see LICENSE) */
/*! BEMQuery v0.0.2 | (c) 2016 BEMQuery | MIT license (see LICENSE) */
(function(global,factory){typeof exports==="object"&&typeof module!=="undefined"?factory(exports):typeof define==="function"&&define.amd?define(["exports"],factory):factory(global.bemquerySelectorEngine=global.bemquerySelectorEngine||{})})(this,function(exports){"use strict";var babelHelpers={};babelHelpers.classCallCheck=function(instance,Constructor){if(!(instance instanceof Constructor)){throw new TypeError("Cannot call a class as a function")}};babelHelpers.createClass=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)}}return function(Constructor,protoProps,staticProps){if(protoProps)defineProperties(Constructor.prototype,protoProps);if(staticProps)defineProperties(Constructor,staticProps);return Constructor}}();babelHelpers;var Selector=function Selector(BEM,CSS){babelHelpers.classCallCheck(this,Selector);this.BEM=BEM;this.CSS=CSS;Object.freeze(this)};function endsWithModifier(selector,bemConfig){var regex=new RegExp("[^"+bemConfig.elemSeparator+bemConfig.modifierSeparator+"]+"+bemConfig.modifierSeparator+"[^"+bemConfig.elemSeparator+bemConfig.modifierSeparator+"]+$","g");return!!selector.match(regex)}function getSelectorWithoutModifier(selector,modifierSeparator){return" "+selector.substring(selector.lastIndexOf("."),selector.lastIndexOf(modifierSeparator))}var defaultConfig={bem:{elemSeparator:"__",modifierSeparator:"_"},rules:{"default":function _default(token){return"."+token}," > ":function _(token,config){return" "+config.rules.default(token)}," ":function _(token,config,selector){if(endsWithModifier(selector,config.bem)){return""+getSelectorWithoutModifier(selector,config.bem.modifierSeparator)+config.bem.elemSeparator+token}return""+config.bem.elemSeparator+token},":":function _(token,config){return""+config.bem.modifierSeparator+token}}};function convertToken(tokens,config){var selector=arguments.length<=2||arguments[2]===undefined?"":arguments[2];var rules=config.rules;var delimeter=tokens.shift();var rule=void 0;var token=void 0;if(!delimeter){return selector}else if(!selector){token=delimeter;rule=rules.default}else{token=tokens.shift();rule=rules[delimeter]}if(typeof rule!=="function"){throw new SyntaxError("Malformed BEM rule")}selector+=rule(token,config,selector);return convertToken(tokens,config,selector)}function _convert(selector,config){var rules=Object.keys(config.rules).filter(function(rule){return rule!=="default"});var splitRule=new RegExp("("+rules.join("|")+")","g");var splittedSelector=selector.split(splitRule);selector=convertToken(splittedSelector,config);return selector}var Converter=function(){function Converter(){var config=arguments.length<=0||arguments[0]===undefined?defaultConfig:arguments[0];babelHelpers.classCallCheck(this,Converter);this.config=config}babelHelpers.createClass(Converter,[{key:"convert",value:function convert(selector){var convertedSelector=_convert(selector,this.config);return new Selector(selector,convertedSelector)}}]);return Converter}();var SelectorEngine=function(){function SelectorEngine(converter){babelHelpers.classCallCheck(this,SelectorEngine);this.converter=converter}babelHelpers.createClass(SelectorEngine,[{key:"find",value:function find(selector){var context=arguments.length<=1||arguments[1]===undefined?document:arguments[1];var convertedSelector=this.converter.convert(selector);var result={selector:convertedSelector};var cssSelector=convertedSelector.CSS;var tmpId=false;if(context!==document){if(!context.id){tmpId=true;context.id="BEMQueryTMP_"+Date.now()}cssSelector="#"+context.id+" "+cssSelector}var elements=context.querySelectorAll(cssSelector);result.elements=Array.from(elements);if(tmpId){context.removeAttribute("id")}return result}}]);return SelectorEngine}();function factory(){var converterConfig=arguments.length<=0||arguments[0]===undefined?defaultConfig:arguments[0];var converter=new Converter(converterConfig);var selectorEngine=new SelectorEngine(converter);return selectorEngine}exports.Converter=Converter;exports.SelectorEngine=SelectorEngine;exports.factory=factory});
//# sourceMappingURL=./dist/bemquery-selector-engine.es5.js.map

@@ -1,2 +0,2 @@

/*! BEMQuery v0.0.1 | (c) 2016 BEMQuery | MIT license (see LICENSE) */
/*! BEMQuery v0.0.2 | (c) 2016 BEMQuery | MIT license (see LICENSE) */
/** Simple class representing selector */

@@ -187,3 +187,3 @@ class Selector {

/**
* BEM selectors engine factory.
* BEM selector engine factory.
*

@@ -190,0 +190,0 @@ * @param {Object} [converterConfig=defaultConverterConfig] Configuration object that

@@ -1,2 +0,2 @@

/*! BEMQuery v0.0.1 | (c) 2016 BEMQuery | MIT license (see LICENSE) */
/*! BEMQuery v0.0.2 | (c) 2016 BEMQuery | MIT license (see LICENSE) */
(function (global, factory) {

@@ -193,3 +193,3 @@ typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports) :

/**
* BEM selectors engine factory.
* BEM selector engine factory.
*

@@ -196,0 +196,0 @@ * @param {Object} [converterConfig=defaultConverterConfig] Configuration object that

{
"name": "bemquery-selector-engine",
"version": "0.0.1",
"version": "0.0.2",
"description": "BEM selector engine",

@@ -33,3 +33,4 @@ "main": "dist/bemquery-selector-engine.umd.js",

"files": [
"dist"
"dist",
"tonic-example.js"
],

@@ -42,2 +43,3 @@ "author": "Comandeer",

"homepage": "https://github.com/BEMQuery/bemquery-selector-engine#readme",
"tonicExampleFilename": "tonic-example.js",
"devDependencies": {

@@ -44,0 +46,0 @@ "babel-preset-es2015-rollup": "^1.1.1",

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc