Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/twbs/mq4-hover-shim.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorChris Rebert <code@rebertia.com>2015-01-19 04:10:51 +0300
committerChris Rebert <code@rebertia.com>2015-01-19 04:12:56 +0300
commit5b3cac92b9abb5a150c6afc9efbba0da324186a6 (patch)
tree38485ce475b0d095aeed20e1b113661e3a21a708 /src
parent9d035dd8ce8301982f3f28b6017625c29f0f59da (diff)
postprocessor => postprocessorFor()
Don't use postcss options because they can't be passed along when using grunt-postcss.
Diffstat (limited to 'src')
-rw-r--r--src/nodejs/index.js2
-rw-r--r--src/nodejs/postprocessor.js76
2 files changed, 40 insertions, 38 deletions
diff --git a/src/nodejs/index.js b/src/nodejs/index.js
index 96f0772..7bfa81f 100644
--- a/src/nodejs/index.js
+++ b/src/nodejs/index.js
@@ -6,7 +6,7 @@ var CLIENT_SIDE_FEATURE_DETECTOR_FILENAME = 'mq4-hover-hover-shim.js';
module.exports = {
- postprocessor: require('./postprocessor'),
+ postprocessorFor: require('./postprocessor'),
featureDetector: {
es6: path.join(__dirname, '../browser', CLIENT_SIDE_FEATURE_DETECTOR_FILENAME),
cjs: path.join(__dirname, '../../dist/cjs', CLIENT_SIDE_FEATURE_DETECTOR_FILENAME),
diff --git a/src/nodejs/postprocessor.js b/src/nodejs/postprocessor.js
index c0c5163..9597ee7 100644
--- a/src/nodejs/postprocessor.js
+++ b/src/nodejs/postprocessor.js
@@ -68,46 +68,48 @@ function prefixSelectorsWith(rule, selectorPrefix) {
}
-module.exports = postcss(function process(css, opts) {
- var hoverSelectorPrefix = opts.hoverSelectorPrefix;
- if ((typeof hoverSelectorPrefix) !== 'string') {
- throw new Error('hoverSelectorPrefix option must be a string');
- }
+module.exports = function (opts) {
+ return postcss(function process(css) {
+ var hoverSelectorPrefix = opts.hoverSelectorPrefix;
+ if ((typeof hoverSelectorPrefix) !== 'string') {
+ throw new Error('hoverSelectorPrefix option must be a string');
+ }
- css.eachAtRule('media', function (atRule) {
- var mediaType = mediaTypeIfSimpleHoverHover(atRule);
- switch (mediaType) {
- case 'all':
- /* falls through */
- case 'screen': {
- atRule.eachRule(function (rule) {
- prefixSelectorsWith(rule, hoverSelectorPrefix);
- });
- if (mediaType === 'screen') {
- atRule.params = 'screen';
- }
- else {
- // Remove tautological @media all {...} wrapper
- replaceWithItsChildren(atRule);
+ css.eachAtRule('media', function (atRule) {
+ var mediaType = mediaTypeIfSimpleHoverHover(atRule);
+ switch (mediaType) {
+ case 'all':
+ /* falls through */
+ case 'screen': {
+ atRule.eachRule(function (rule) {
+ prefixSelectorsWith(rule, hoverSelectorPrefix);
+ });
+ if (mediaType === 'screen') {
+ atRule.params = 'screen';
+ }
+ else {
+ // Remove tautological @media all {...} wrapper
+ replaceWithItsChildren(atRule);
+ }
+ return;
}
- return;
- }
- case 'print':
- /* falls through */
- case 'speech': {
- // These media types never support hovering
- // Delete always-false media query
- atRule.removeSelf();
- return;
- }
+ case 'print':
+ /* falls through */
+ case 'speech': {
+ // These media types never support hovering
+ // Delete always-false media query
+ atRule.removeSelf();
+ return;
+ }
- case undefined: {
- return; // Media query irrelevant or too complicated
- }
- default: {
- return; // Deprecated media type; take no action.
+ case undefined: {
+ return; // Media query irrelevant or too complicated
+ }
+ default: {
+ return; // Deprecated media type; take no action.
+ }
}
- }
+ });
});
-});
+};